RAG Sync

Functions

Functions

loadConfig

Load and validate configuration from environment or config object

Signature:

loadConfig(configInput?: Partial<{ rxdb: { url: string; database: string; collections: string[]; token?: string | undefined; }; surrealdb: { url: string; database: string; namespace: string; auth: { username: string; password: string; }; }; redis: { host: string; port: number; db: number; keyPrefix: string; password?: string | undefined; }; ollama: { baseUrl: string; embeddingModel: string; timeout: number; maxRetries: number; }; ams: { url: string; pollInterval: number; auth?: { token?: string | undefined; } | undefined; }; sync: { batchSize: number; syncInterval: number; embedBatchSize: number; retryAttempts: number; retryDelay: number; }; adminPort: number; logLevel: "debug" | "info" | "warn" | "error"; }> | undefined): { rxdb: { url: string; database: string; collections: string[]; token?: string | undefined; }; surrealdb: { url: string; database: string; namespace: string; auth: { username: string; password: string; }; }; redis: { host: string; port: number; db: number; keyPrefix: string; password?: string | undefined; }; ollama: { baseUrl: string; embeddingModel: string; timeout: number; maxRetries: number; }; ams: { url: string; pollInterval: number; auth?: { token?: string | undefined; } | undefined; }; sync: { batchSize: number; syncInterval: number; embedBatchSize: number; retryAttempts: number; retryDelay: number; }; adminPort: number; logLevel: "debug" | "info" | "warn" | "error"; }

Parameters:

ParameterTypeRequiredDescription
configInputPartial<{ rxdb: { url: string; database: string; collections: string[]; token?: string | undefined; }; surrealdb: { url: string; database: string; namespace: string; auth: { username: string; password: string; }; }; redis: { host: string; port: number; db: number; keyPrefix: string; password?: string | undefined; }; ollama: { baseUrl: string; embeddingModel: string; timeout: number; maxRetries: number; }; ams: { url: string; pollInterval: number; auth?: { token?: string | undefined; } | undefined; }; sync: { batchSize: number; syncInterval: number; embedBatchSize: number; retryAttempts: number; retryDelay: number; }; adminPort: number; logLevel: "debug" | "info" | "warn" | "error"; }> | undefinedNo

Returns:

{ rxdb: { url: string; database: string; collections: string[]; token?: string \| undefined; }; surrealdb: { url: string; database: string; namespace: string; auth: { username: string; password: string; }; }; redis: { host: string; port: number; db: number; keyPrefix: string; password?: string \| undefined; }; ollama: { baseUrl: string; embeddingModel: string; timeout: number; maxRetries: number; }; ams: { url: string; pollInterval: number; auth?: { token?: string \| undefined; } \| undefined; }; sync: { batchSize: number; syncInterval: number; embedBatchSize: number; retryAttempts: number; retryDelay: number; }; adminPort: number; logLevel: "debug" \| "info" \| "warn" \| "error"; } -

main

Main entry point for the RAG sync service

Signature:

main(configInput?: Partial<{ rxdb: { url: string; database: string; collections: string[]; token?: string | undefined; }; surrealdb: { url: string; database: string; namespace: string; auth: { username: string; password: string; }; }; redis: { host: string; port: number; db: number; keyPrefix: string; password?: string | undefined; }; ollama: { baseUrl: string; embeddingModel: string; timeout: number; maxRetries: number; }; ams: { url: string; pollInterval: number; auth?: { token?: string | undefined; } | undefined; }; sync: { batchSize: number; syncInterval: number; embedBatchSize: number; retryAttempts: number; retryDelay: number; }; adminPort: number; logLevel: "debug" | "info" | "warn" | "error"; }> | undefined): Promise<void>

Parameters:

ParameterTypeRequiredDescription
configInputPartial<{ rxdb: { url: string; database: string; collections: string[]; token?: string | undefined; }; surrealdb: { url: string; database: string; namespace: string; auth: { username: string; password: string; }; }; redis: { host: string; port: number; db: number; keyPrefix: string; password?: string | undefined; }; ollama: { baseUrl: string; embeddingModel: string; timeout: number; maxRetries: number; }; ams: { url: string; pollInterval: number; auth?: { token?: string | undefined; } | undefined; }; sync: { batchSize: number; syncInterval: number; embedBatchSize: number; retryAttempts: number; retryDelay: number; }; adminPort: number; logLevel: "debug" | "info" | "warn" | "error"; }> | undefinedNo

Returns:

Promise<void> -

createLocalDatabase

Creates a local in-memory RxDB database for the RAG sync service. This database replicates from the remote rxdb-server and provides change events for document processing.

Uses in-memory storage since this is a sync service - data is sourced from the remote server, not persisted locally.

Signature:

createLocalDatabase(config: LocalDatabaseConfig): Promise<any>

Parameters:

ParameterTypeRequiredDescription
configLocalDatabaseConfigYes- Database configuration

Returns:

Promise<any> - Initialized RxDB database

Previous
Classes