Skip to main content

KnowledgeApi

@codebolt/client-sdk


Class: KnowledgeApi

Defined in: CodeBolt/packages/clientsdk/src/api/knowledge.api.ts:25

Manages knowledge collections, documents, chunks, and chunking strategies.

The knowledge system provides a RAG (Retrieval-Augmented Generation) pipeline for agents. Collections group related documents, which are automatically split into chunks for efficient retrieval. This API covers the full lifecycle of knowledge management.

Constructors​

Constructor​

new KnowledgeApi(http: HttpClient): KnowledgeApi;

Defined in: CodeBolt/packages/clientsdk/src/api/knowledge.api.ts:26

Parameters​

ParameterType
httpHttpClient

Returns​

KnowledgeApi

Methods​

addDocumentFromUrl()​

addDocumentFromUrl(id: string, data: AddKnowledgeDocumentFromUrlRequest): Promise<unknown>;

Defined in: CodeBolt/packages/clientsdk/src/api/knowledge.api.ts:169

Adds a document to a collection by fetching it from a URL.

Downloads the content at the specified URL and adds it as a document to the collection. The content is automatically parsed and chunked.

Parameters​

ParameterTypeDescription
idstringThe unique identifier of the target collection
dataAddKnowledgeDocumentFromUrlRequestRequest specifying the URL and optional metadata

Returns​

Promise<unknown>

A promise that resolves when the document has been fetched and added

Example​

await client.knowledge.addDocumentFromUrl('col-123', {
url: 'https://example.com/docs/guide.md',
});

addDocuments()​

addDocuments(id: string, data: AddKnowledgeDocumentsRequest): Promise<unknown>;

Defined in: CodeBolt/packages/clientsdk/src/api/knowledge.api.ts:148

Adds one or more documents to a knowledge collection.

Uploads documents that will be automatically processed, chunked, and indexed for retrieval. Supports multiple documents in a single request.

Parameters​

ParameterTypeDescription
idstringThe unique identifier of the target collection
dataAddKnowledgeDocumentsRequestThe documents to add, including their content and metadata

Returns​

Promise<unknown>

A promise that resolves when the documents have been added and processing has begun

Example​

await client.knowledge.addDocuments('col-123', {
documents: [
{ title: 'API Guide', content: 'Full API documentation...' },
],
});

createCollection()​

createCollection(data: CreateKnowledgeCollectionRequest): Promise<KnowledgeCollection>;

Defined in: CodeBolt/packages/clientsdk/src/api/knowledge.api.ts:48

Creates a new knowledge collection.

A collection is a named container for related documents. Documents added to a collection are automatically chunked and indexed for retrieval by agents.

Parameters​

ParameterTypeDescription
dataCreateKnowledgeCollectionRequestCollection creation payload including name and configuration

Returns​

Promise<KnowledgeCollection>

A promise that resolves to the newly created KnowledgeCollection

Example​

const collection = await client.knowledge.createCollection({
name: 'project-docs',
description: 'Documentation for the main project',
});

deleteCollection()​

deleteCollection(id: string): Promise<unknown>;

Defined in: CodeBolt/packages/clientsdk/src/api/knowledge.api.ts:123

Deletes a knowledge collection and all its documents.

Permanently removes the collection, its documents, and all associated chunks. This action cannot be undone.

Parameters​

ParameterTypeDescription
idstringThe unique identifier of the collection to delete

Returns​

Promise<unknown>

A promise that resolves when deletion is complete

Example​

await client.knowledge.deleteCollection('col-123');

deleteDocument()​

deleteDocument(documentId: string): Promise<unknown>;

Defined in: CodeBolt/packages/clientsdk/src/api/knowledge.api.ts:225

Deletes a document and all its associated chunks.

Permanently removes the document from its collection. The collection itself is not affected.

Parameters​

ParameterTypeDescription
documentIdstringThe unique identifier of the document to delete

Returns​

Promise<unknown>

A promise that resolves when deletion is complete

Example​

await client.knowledge.deleteDocument('doc-456');

getCollection()​

getCollection(id: string): Promise<KnowledgeCollection>;

Defined in: CodeBolt/packages/clientsdk/src/api/knowledge.api.ts:84

Retrieves a specific knowledge collection by its ID.

Returns the full details of a collection including its metadata, document count, and configuration.

Parameters​

ParameterTypeDescription
idstringThe unique identifier of the knowledge collection

Returns​

Promise<KnowledgeCollection>

A promise that resolves to the KnowledgeCollection

Example​

const collection = await client.knowledge.getCollection('col-123');

getDocument()​

getDocument(documentId: string): Promise<KnowledgeDocument>;

Defined in: CodeBolt/packages/clientsdk/src/api/knowledge.api.ts:207

Retrieves a specific document by its ID.

Returns the full details of a document including its metadata, processing status, and chunk count.

Parameters​

ParameterTypeDescription
documentIdstringThe unique identifier of the document

Returns​

Promise<KnowledgeDocument>

A promise that resolves to the KnowledgeDocument

Example​

const doc = await client.knowledge.getDocument('doc-456');

getSettings()​

getSettings(id: string): Promise<KnowledgeCollectionSettings>;

Defined in: CodeBolt/packages/clientsdk/src/api/knowledge.api.ts:289

Retrieves the settings for a knowledge collection.

Returns the collection's chunking configuration, embedding settings, and other processing parameters.

Parameters​

ParameterTypeDescription
idstringThe unique identifier of the collection

Returns​

Promise<KnowledgeCollectionSettings>

A promise that resolves to the KnowledgeCollectionSettings

Example​

const settings = await client.knowledge.getSettings('col-123');
console.log(settings.chunkSize, settings.strategy);

getStrategies()​

getStrategies(): Promise<KnowledgeStrategy[]>;

Defined in: CodeBolt/packages/clientsdk/src/api/knowledge.api.ts:332

Retrieves all available chunking strategies.

Returns the list of chunking algorithms that can be used when processing documents (e.g., fixed-size, sentence-based, semantic).

Returns​

Promise<KnowledgeStrategy[]>

A promise that resolves to an array of KnowledgeStrategy descriptors

Example​

const strategies = await client.knowledge.getStrategies();
strategies.forEach(s => console.log(s.name));

getStrategyOptions()​

getStrategyOptions(strategy: string): Promise<KnowledgeStrategyOptions>;

Defined in: CodeBolt/packages/clientsdk/src/api/knowledge.api.ts:351

Retrieves the configurable options for a specific chunking strategy.

Returns the parameter schema for the strategy, including defaults and valid ranges. Use this to build dynamic configuration UIs.

Parameters​

ParameterTypeDescription
strategystringThe name of the chunking strategy

Returns​

Promise<KnowledgeStrategyOptions>

A promise that resolves to the KnowledgeStrategyOptions for the strategy

Example​

const options = await client.knowledge.getStrategyOptions('sentence');
console.log(options); // available parameters and their defaults

listCollections()​

listCollections(params?: Record<string, unknown>): Promise<KnowledgeCollection[]>;

Defined in: CodeBolt/packages/clientsdk/src/api/knowledge.api.ts:66

Lists all knowledge collections.

Returns every collection in the system. Use optional parameters to filter or paginate the results.

Parameters​

ParameterTypeDescription
params?Record<string, unknown>Optional query parameters for filtering or pagination

Returns​

Promise<KnowledgeCollection[]>

A promise that resolves to an array of KnowledgeCollection objects

Example​

const collections = await client.knowledge.listCollections();

listDocuments()​

listDocuments(id: string, params?: Record<string, unknown>): Promise<KnowledgeDocument[]>;

Defined in: CodeBolt/packages/clientsdk/src/api/knowledge.api.ts:189

Lists all documents in a knowledge collection.

Returns the documents belonging to the specified collection with their metadata. Does not include chunk-level content.

Parameters​

ParameterTypeDescription
idstringThe unique identifier of the collection
params?Record<string, unknown>Optional query parameters for filtering or pagination

Returns​

Promise<KnowledgeDocument[]>

A promise that resolves to an array of KnowledgeDocument objects

Example​

const docs = await client.knowledge.listDocuments('col-123');
docs.forEach(d => console.log(d.title));

rechunkDocument()​

rechunkDocument(documentId: string, data?: RechunkDocumentRequest): Promise<unknown>;

Defined in: CodeBolt/packages/clientsdk/src/api/knowledge.api.ts:245

Re-chunks a document using updated chunking settings.

Discards existing chunks and re-processes the document with the current or specified chunking strategy. Useful after changing collection settings or chunking parameters.

Parameters​

ParameterTypeDescription
documentIdstringThe unique identifier of the document to re-chunk
data?RechunkDocumentRequestOptional parameters specifying the new chunking configuration

Returns​

Promise<unknown>

A promise that resolves when re-chunking is complete

Example​

await client.knowledge.rechunkDocument('doc-456', { chunkSize: 512 });

updateChunk()​

updateChunk(chunkId: string, data: UpdateKnowledgeChunkRequest): Promise<unknown>;

Defined in: CodeBolt/packages/clientsdk/src/api/knowledge.api.ts:268

Updates a specific chunk's content or metadata.

Modifies an individual chunk within a document. Useful for correcting chunking artifacts or adding manual annotations.

Parameters​

ParameterTypeDescription
chunkIdstringThe unique identifier of the chunk to update
dataUpdateKnowledgeChunkRequestThe fields to update on the chunk

Returns​

Promise<unknown>

A promise that resolves when the chunk has been updated

Example​

await client.knowledge.updateChunk('chunk-789', {
content: 'Corrected chunk content...',
});

updateCollection()​

updateCollection(id: string, data: UpdateKnowledgeCollectionRequest): Promise<KnowledgeCollection>;

Defined in: CodeBolt/packages/clientsdk/src/api/knowledge.api.ts:105

Updates a knowledge collection's properties.

Modifies collection settings such as name, description, or chunking configuration.

Parameters​

ParameterTypeDescription
idstringThe unique identifier of the collection to update
dataUpdateKnowledgeCollectionRequestThe fields to update

Returns​

Promise<KnowledgeCollection>

A promise that resolves to the updated KnowledgeCollection

Example​

const updated = await client.knowledge.updateCollection('col-123', {
name: 'updated-docs',
});

updateSettings()​

updateSettings(id: string, data: UpdateKnowledgeSettingsRequest): Promise<KnowledgeCollectionSettings>;

Defined in: CodeBolt/packages/clientsdk/src/api/knowledge.api.ts:312

Updates the settings for a knowledge collection.

Modifies chunking strategy, chunk size, overlap, and other processing parameters. Existing documents are not automatically re-chunked; use rechunkDocument to apply new settings to existing content.

Parameters​

ParameterTypeDescription
idstringThe unique identifier of the collection
dataUpdateKnowledgeSettingsRequestThe settings to update

Returns​

Promise<KnowledgeCollectionSettings>

A promise that resolves to the updated KnowledgeCollectionSettings

Example​

const settings = await client.knowledge.updateSettings('col-123', {
chunkSize: 1024,
overlap: 128,
});