@personaai/sdkv0.9.0

knowledge — @personaai/sdk

Generated field tables for knowledge — do not edit

Generated from sdk/typescript/dist/typedoc.json — do not edit. Regenerate with node platform/scripts/typedoc-resources.mjs.

knowledge

Auth: Requires Authorization: Bearer <keyId>.<secret> (server-side). For per-user calls add x-persona-external-user-id. See .

Knowledge bases are RAG collections backed by Qdrant. Upload documents, search, and attach to agents.

Example

TypeScript

ts
const kb = await persona.knowledge.create({ name: 'Docs', description: 'Product docs' });await persona.knowledge.uploadDocuments(kb._id, [{ filename: 'guide.pdf', content: buf }]);const { results } = await persona.knowledge.search(kb._id, 'pricing', { topK: 5 });

cURL

bash
curl https://api.persona.hasanraiyan.me/api/v1/developer/knowledge/KB_ID/documents \  -H "Authorization: Bearer $PERSONA_CREDENTIAL" -F files=@guide.pdf

Response

json
{  "success": true,  "data": { "results": [{ "sourceName": "guide.pdf", "score": 0.92 }] }}

KnowledgeBase

Like Skill/Agent, this mirrors the real wire shape (_id, raw domain/ownerType fields).

Source: types/knowledge.ts:11

Interface

FieldTypeDescription
_idstring— _ types/knowledge.ts:12_
domainstring— _ types/knowledge.ts:13_
ownerType"PersonaUser" | "Project" | "ExternalUser"— _ types/knowledge.ts:14_
ownerId?string— _ types/knowledge.ts:15_
externalOwnerId?string— _ types/knowledge.ts:16_
namestring— _ types/knowledge.ts:17_
description?string— _ types/knowledge.ts:18_
isPublicboolean— _ types/knowledge.ts:19_
documentCountnumber— _ types/knowledge.ts:20_
chunkCountnumber— _ types/knowledge.ts:21_
qdrantCollectionNamestringInternal Qdrant collection name backing this Knowledge base — informational only. — _ types/knowledge.ts:23_
documentsKnowledgeDocument[]— _ types/knowledge.ts:24_
embeddingModelstring— _ types/knowledge.ts:25_
providerId?string— _ types/knowledge.ts:26_
chunkSizenumberCharacters per chunk, used when splitting uploaded documents. — _ types/knowledge.ts:28_
chunkOverlapnumberCharacter overlap between adjacent chunks. — _ types/knowledge.ts:30_
topKnumberDefault number of chunks returned per search() call when the caller doesn't override topK. — _ types/knowledge.ts:32_
createdAtstring— _ types/knowledge.ts:33_
updatedAtstring— _ types/knowledge.ts:34_

KnowledgeDocument

One uploaded source document's chunking summary (not the chunks themselves).

Source: types/knowledge.ts:2

Interface

FieldTypeDescription
fileNamestring— _ types/knowledge.ts:3_
fileSizenumber— _ types/knowledge.ts:4_
mimeTypestring— _ types/knowledge.ts:5_
chunkCountnumber— _ types/knowledge.ts:6_
uploadedAtstring— _ types/knowledge.ts:7_

CreateKnowledgeBaseInput

Source: types/knowledge.ts:37

Interface

FieldTypeDescription
namestring— _ types/knowledge.ts:38_
description?string— _ types/knowledge.ts:39_
isPublic?boolean— _ types/knowledge.ts:41_
embeddingModel?string— _ types/knowledge.ts:43_
providerIdstringRequired on the Developer API — unlike the Persona route, there's no "my default provider" concept for a Project or ExternalUser caller. — _ types/knowledge.ts:48_
chunkSize?number— _ types/knowledge.ts:50_
chunkOverlap?number— _ types/knowledge.ts:52_
topK?number— _ types/knowledge.ts:54_

UpdateKnowledgeBaseInput

All fields optional — only what you pass is changed. Does not retroactively re-embed existing documents.

Source: types/knowledge.ts:58

Interface

FieldTypeDescription
name?string— _ types/knowledge.ts:59_
description?string— _ types/knowledge.ts:60_
isPublic?boolean— _ types/knowledge.ts:61_
embeddingModel?string— _ types/knowledge.ts:62_
providerId?string— _ types/knowledge.ts:63_
chunkSize?number— _ types/knowledge.ts:64_
chunkOverlap?number— _ types/knowledge.ts:65_
topK?number— _ types/knowledge.ts:66_

DiscoverKnowledgeBasesParams

Source: types/knowledge.ts:69

Interface

FieldTypeDescription
page?number— _ types/knowledge.ts:71_
limit?number— _ types/knowledge.ts:73_
search?stringFree-text match against name/description. — _ types/knowledge.ts:75_
scope?"mine"Restricts to the asserted external user's own Knowledge Bases (ProjectRuntimeContext only). — _ types/knowledge.ts:77_

UploadFileInput

Source: types/knowledge.ts:80

Interface

FieldTypeDescription
filenamestring— _ types/knowledge.ts:81_
contentUint8Array<ArrayBufferLike> | BlobNode Buffer/Uint8Array, or an already-constructed Blob. — _ types/knowledge.ts:83_
contentType?stringe.g. 'application/pdf'. Required when content isn't already a Blob with its own type. — _ types/knowledge.ts:85_

UploadDocumentsResult

Source: types/knowledge.ts:88

Interface

FieldTypeDescription
documentCountnumberTotal document count for the Knowledge base after this upload (not just this call's files). — _ types/knowledge.ts:90_
chunkCountnumberTotal chunk count for the Knowledge base after this upload. — _ types/knowledge.ts:92_
files{ fileName: string; fileSize: number; mimeType: string; chunkCount: number }[]— _ types/knowledge.ts:93_

DeleteDocumentResult

Source: types/knowledge.ts:96

Interface

FieldTypeDescription
removedChunksnumber— _ types/knowledge.ts:97_
remainingDocumentsnumber— _ types/knowledge.ts:98_
remainingChunksnumber— _ types/knowledge.ts:99_

KnowledgeSearchResult

Source: types/knowledge.ts:102

Interface

FieldTypeDescription
textstring— _ types/knowledge.ts:103_
sourcestringThe fileName of the source document this chunk came from. — _ types/knowledge.ts:105_
scorenumber | nullSimilarity score (higher is more relevant); null if the underlying store didn't return one. — _ types/knowledge.ts:107_