/** * First-boot preset auto-recommendation. * * When neither EMBEDDING_MODEL nor EMBEDDING_PRESET is set AND the DB has no * stored `embedding_model` metadata, this module: * 1. Walks the vault via collectMarkdownFiles. * 2. Samples the first ~2 KB of each note. * 3. Unicode-block classifies: if >5% of sampled chars fall in any non-Latin * block (CJK, Cyrillic, Arabic, Devanagari, Hebrew, Thai) → multilingual. * 4. Picks 'english' (Latin-only) or 'multilingual' (non-Latin/mixed). * 5. Logs the rationale to stderr and returns the chosen preset name. * * The caller (bootstrap or server init) persists the result so subsequent * boots see a stored embedding_model and skip the auto-recommend path. */ import { type EmbeddingPresetName } from './presets.js'; export interface AutoRecommendResult { preset: EmbeddingPresetName; reason: string; skipped: boolean; } /** * Run the first-boot preset auto-recommendation. * * Returns immediately (skipped=true) if: * - EMBEDDING_MODEL or EMBEDDING_PRESET is set in env, OR * - storedEmbeddingModel is truthy (DB already has a model recorded). * * Otherwise walks the vault, classifies, picks a preset, logs to stderr, * and returns the recommendation. */ export declare function autoRecommendPreset(env: NodeJS.ProcessEnv, vaultPath: string, storedEmbeddingModel: string | undefined): Promise;