/** * pi-loom: Embedding Client * * Two-tier embedding strategy: * 1. API (primary): EMBED_API_KEY → OpenAI-compatible API (text-embedding-3-small, 1536d) * 2. Local (fallback): character n-gram TF vector when no API key is set (256d, zero deps) * * Configurable via env: * EMBED_API_KEY / EMBED_API_BASE / EMBED_MODEL * Falls back to DEEPSEEK_API_KEY → OPENAI_API_KEY. * * For production-quality semantic search without an API key: * npm install @xenova/transformers * Set EMBED_LOCAL_MODEL=all-MiniLM-L6-v2 (or any HF sentence-transformers model). */ /** Dimension of the embedding model. API default: 1536, local fallback: 256. */ export declare const EMBED_DIM: number; /** * Generate embeddings for one or more texts via API. */ export declare function embedTextsAPI(texts: string[]): Promise; /** * Generate embeddings for one or more texts. * * Priority: * 1. API (EMBED_API_KEY set) → OpenAI-compatible, 1536d * 2. Local Transformers.js (if installed) → all-MiniLM-L6-v2, 384d * 3. N-gram TF fallback → character trigrams, 256d * * Returns empty array if no embedding method is available. */ export declare function embedTexts(texts: string[]): Promise; /** Shorthand for single text. */ export declare function embedText(text: string): Promise;