Document Store

Interfaces

Interfaces

AppConfig

Properties:

PropertyTypeRequiredDescription
portnumberYes
jwtSecretstringYes
trustProxyAuthbooleanYes
s3S3ConfigYes
redis{ url: string; host: string; port: number; queuePrefix: string; }Yes
surrealSurrealConfigYes
embeddingEmbeddingServiceConfigYes
rag{ enabled: boolean; concurrency: number; }Yes
rxdb{ serverUrl: string; }Yes

ServerOptions

Server options for creating the Express application

Properties:

PropertyTypeRequiredDescription
ragQueueRAGQueue | undefinedNoOptional RAGQueue instance for enqueueing RAG sync jobs

ChunkOptions

Options for chunking documents

Properties:

PropertyTypeRequiredDescription
maxTokensnumberYesMaximum tokens per chunk
overlapTokensnumberYesNumber of tokens to overlap between chunks

DocumentChunk

A single chunk of a document

Properties:

PropertyTypeRequiredDescription
documentIdstringYesDocument identifier
chunkIndexnumberYesIndex of this chunk (0-based)
textstringYesText content of the chunk
tokensnumberYesEstimated token count
startLinenumberYesStarting line number in original document (1-indexed)
endLinenumberYesEnding line number in original document (1-indexed)
contextstring | undefinedNoContextual information (e.g., header name, function name)

ChunkedDocument

Result of chunking a document

Properties:

PropertyTypeRequiredDescription
documentIdstringYesDocument identifier
chunksDocumentChunk[]YesArray of chunks
totalChunksnumberYesTotal number of chunks
totalTokensnumberYesTotal estimated tokens across all chunks

Section

Represents a section within structured content (code or markdown)

Properties:

PropertyTypeRequiredDescription
typestringYesSection type (e.g., 'function', 'class', 'header')
namestringYesSection name/title
startLinenumberYesStarting line number (1-indexed)
endLinenumberYesEnding line number (1-indexed)
textstringYesText content of the section

ContentMetadata

Metadata about extracted content

Properties:

PropertyTypeRequiredDescription
wordCountnumberYesTotal word count
lineCountnumberYesTotal line count
encodingstringYesDetected or provided encoding
languagestring | undefinedNoProgramming language or content type

ExtractedContent

Extracted content with text, structure, and metadata

Properties:

PropertyTypeRequiredDescription
textstringYesRaw text content
contentTypestring | undefinedNoHigh-level content type (e.g., 'code', 'markdown', 'text')
structure{ sections: Section[]; } | undefinedNoStructured sections (for code/markdown)
metadataContentMetadataYesContent metadata

AuthUser

Properties:

PropertyTypeRequiredDescription
workspaceIdstringYes
domainIdstring | undefinedNo
substringYes

AuthMiddlewareOptions

Properties:

PropertyTypeRequiredDescription
jwtSecretstringYes
trustProxyAuthbooleanYes

RedisConfig

Redis connection configuration

Properties:

PropertyTypeRequiredDescription
hoststring | undefinedNo
portnumber | undefinedNo
passwordstring | undefinedNo
dbnumber | undefinedNo

RAGQueueConfig

RAGQueue configuration options

Properties:

PropertyTypeRequiredDescription
queueNamestring | undefinedNoName of the queue (default: 'rag-sync')
redisRedisConfigYesRedis connection configuration
defaultJobOptionsPartial<JobsOptions> | undefinedNoDefault job options

RAGSyncJob

Job payload for RAG sync operations

Properties:

PropertyTypeRequiredDescription
documentIdstringYesUnique document identifier
workspaceIdstringYesWorkspace identifier
codebaseIdstringYesCodebase identifier
s3KeystringYesS3 object key
s3BucketstringYesS3 bucket name
filenamestringYesOriginal filename
mimeTypestringYesMIME type of the document
languagestring | undefinedNoProgramming language (if applicable)
metadataRecord<string, unknown> | undefinedNoAdditional metadata

RAGSyncResult

Result of a RAG sync job

Properties:

PropertyTypeRequiredDescription
documentIdstringYesDocument identifier
successbooleanYesWhether the sync was successful
chunkCountnumber | undefinedNoNumber of chunks created
errorstring | undefinedNoError message if failed

QueueStats

Queue statistics

Properties:

PropertyTypeRequiredDescription
waitingnumberYesNumber of jobs waiting to be processed
activenumberYesNumber of jobs currently being processed
completednumberYesNumber of successfully completed jobs
failednumberYesNumber of failed jobs

EnqueueOptions

Options for enqueueing a job

Properties:

PropertyTypeRequiredDescription
prioritynumber | undefinedNoJob priority (lower number = higher priority)
delaynumber | undefinedNoDelay before job can be processed (milliseconds)
attemptsnumber | undefinedNoNumber of retry attempts

DocumentsRouterOptions

Properties:

PropertyTypeRequiredDescription
configAppConfigYes
ragQueueRAGQueue | undefinedNo

EmbeddingServiceConfig

Configuration for EmbeddingService

Properties:

PropertyTypeRequiredDescription
ollamaUrlstringYesOllama server URL (e.g., 'http://localhost:11434')
modelstringYesEmbedding model to use (e.g., 'nomic-embed-text')
timeoutnumber | undefinedNoRequest timeout in milliseconds (default: 120000 = 2 minutes)

S3Config

Properties:

PropertyTypeRequiredDescription
provider"minio" | "digitalocean" | "aws"Yes
endpointstringYes
publicEndpointstring | undefinedNoPublic endpoint for presigned URLs (when S3 is behind Docker network)
regionstringYes
accessKeyIdstringYes
secretAccessKeystringYes
bucketstringYes
forcePathStyleboolean | undefinedNo
cdnDomainstring | undefinedNo

PresignedUploadUrl

Properties:

PropertyTypeRequiredDescription
uploadUrlstringYes
fieldsRecord<string, string> | undefinedNo

PresignedDownloadUrl

Properties:

PropertyTypeRequiredDescription
downloadUrlstringYes

GitWatcherConfig

Configuration for a git repository watcher

Properties:

PropertyTypeRequiredDescription
workspaceIdstringYesWorkspace ID for document isolation
codebaseIdstringYesCodebase ID linking to codebase collection
repoPathstringYesLocal file system path to repository root
branchstring | undefinedNoGit branch to watch (default: current branch)
includestring[] | undefinedNoInclude glob patterns (default: all text files)
excludestring[] | undefinedNoExclude glob patterns (default: .gitignore rules)
debounceMsnumber | undefinedNoDebounce milliseconds for batch processing (default: 300000 = 5 min)

GitFileChange

A single file change detected in watched repository

Properties:

PropertyTypeRequiredDescription
filePathstringYesRelative path from repo root
operation"add" | "modify" | "delete"YesOperation type: 'add', 'modify', 'delete'
commitHashstringYesGit commit hash (from 'git log -1' for this file)
branchstringYesGit branch name
authorstringYesCommit author name
committedAtstringYesCommit timestamp ISO string

GitWatcherBatch

Batch of file changes to be processed as one RAG sync job

Properties:

PropertyTypeRequiredDescription
repoPathstringYesLocal repo path
codebaseIdstringYesCodebase ID for workspace isolation
workspaceIdstringYesWorkspace ID
changesGitFileChange[]YesArray of file changes in this batch
triggeredAtstringYesWhen batch was triggered (ISO string)

GitWatcherStatus

Git watcher instance status

Properties:

PropertyTypeRequiredDescription
idstringYes
codebaseIdstringYes
repoPathstringYes
status"active" | "paused" | "error"Yes
lastSyncstring | undefinedNo
filesIndexednumberYes
errorMessagestring | undefinedNo

RedisConfig

Redis connection configuration

Properties:

PropertyTypeRequiredDescription
hoststring | undefinedNo
portnumber | undefinedNo
passwordstring | undefinedNo
dbnumber | undefinedNo

RAGWorkerConfig

Configuration for RAGWorker

Properties:

PropertyTypeRequiredDescription
redisRedisConfigYesRedis connection configuration
s3S3ConfigYesS3 storage configuration
surrealSurrealConfigYesSurrealDB configuration
embeddingEmbeddingServiceConfigYesEmbedding service configuration
chunkingChunkOptionsYesChunking options
queueNamestring | undefinedNoQueue name (default: 'rag-sync')
concurrencynumber | undefinedNoWorker concurrency (default: 5)

SurrealConfig

Configuration for SurrealDB connection

Properties:

PropertyTypeRequiredDescription
endpointstringYesSurrealDB endpoint URL (e.g., 'ws://localhost:8000/rpc')
namespacestringYesNamespace
databasestringYesDatabase name
auth{ username: string; password: string; } | undefinedNoAuthentication credentials

VectorRecord

Vector record to be stored in SurrealDB

Properties:

PropertyTypeRequiredDescription
idstringYesUnique identifier for the vector (format: documentId:chunkIndex)
documentIdstringYesDocument identifier
workspaceIdstringYesWorkspace identifier
codebaseIdstringYesCodebase identifier
chunkIndexnumberYesChunk index
textstringYesText content of the chunk
embeddingnumber[]YesVector embedding (768 dimensions for nomic-embed-text)
tokensnumberYesEstimated token count
startLinenumberYesStarting line number in original document
endLinenumberYesEnding line number in original document
contextstring | undefinedNoContextual information (e.g., header name, function name)
metadataRecord<string, unknown> | undefinedNoAdditional metadata
createdAtDateYesTimestamp when record was created
Previous
API Reference
Next
Types