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:
| Parameter | Type | Required | Description |
|---|---|---|---|
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 | No |
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:
| Parameter | Type | Required | Description |
|---|---|---|---|
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 | No |
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:
| Parameter | Type | Required | Description |
|---|---|---|---|
config | LocalDatabaseConfig | Yes | - Database configuration |
Returns:
Promise<any> - Initialized RxDB database