/** * JSON-serializable source configuration for tool configs. * * This can override existing sources or define entirely new ones. * For new sources, collection_name is required. */ export interface SourceConfigJson { /** Source name (can be existing or new) */ name: string; /** MongoDB database name. Default: eleven_customer_support */ dbName?: string; /** MongoDB collection name. Required for new sources. */ collectionName?: string; /** Number of chunks from vector search */ kDense?: number; /** Number of chunks from BM25 search */ kKeyword?: number; /** Weight for vector results */ denseWeight?: number; /** Weight for BM25 results */ keywordWeight?: number; /** Weight for cross-source merging */ sourceWeight?: number; /** Vector search index name. Default: 'default' */ vectorIndexName?: string; /** Field containing embeddings. Default: 'embedding' */ embeddingField?: string; /** Field containing text content. Default: 'content' */ contentField?: string; /** Whether this source is active */ enabled?: boolean; }