/** Pooling strategy for local transformer models */ export type PoolingStrategy = "mean" | "cls" | "last_token"; export declare const VALID_POOLING_STRATEGIES: readonly PoolingStrategy[]; /** Optional prefix formatter for query/document embedding asymmetry */ export interface PrefixFormatter { query: string; document: string; } /** * Named embedder profile that bundles model + pooling + prefix + dimensions. * Can be referenced by name in config or selected via env var. */ export interface EmbedderProfile { model: string; dimensions?: number; pooling?: PoolingStrategy; prefix?: PrefixFormatter; } /** Raw config from .wtfoc.json — all fields optional */ export interface ProjectConfig { embedder?: EmbedderConfig; extractor?: ExtractorConfig; ignore?: string[]; } export interface EmbedderConfig { url?: string; model?: string; key?: string; profile?: string; profiles?: Record; dimensions?: number; pooling?: PoolingStrategy; prefix?: PrefixFormatter; } export interface ExtractorConfig { enabled?: boolean; url?: string; model?: string; apiKey?: string; timeout?: number; concurrency?: number; } /** Resolved config after precedence merge — filled with defaults */ export interface ResolvedEmbedderConfig { url: string | undefined; model: string | undefined; key: string | undefined; profile: string | undefined; profiles: Record; dimensions: number | undefined; pooling: PoolingStrategy | undefined; prefix: PrefixFormatter | undefined; } export interface ResolvedExtractorConfig { enabled: boolean; url: string | undefined; model: string | undefined; apiKey: string | undefined; timeout: number; concurrency: number; } export interface ResolvedConfig { embedder: ResolvedEmbedderConfig; extractor: ResolvedExtractorConfig; ignore: string[]; } export declare const URL_SHORTCUTS: Readonly>; export declare const BUILTIN_IGNORE_PATTERNS: readonly string[]; //# sourceMappingURL=config-types.d.ts.map