/**
 * 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;
}
