/** * agentfootprint/embedders — ready-made {@link Embedder} implementations for the * embedding-backed scorers (memory retrieval, toolChoiceRecorder / scoreMargin). * * The core deliberately ships only `mockEmbedder` (bring-your-own). These are * OPTIONAL and never pulled into the core: each heavy backend is an OPTIONAL * PEER DEPENDENCY, imported LAZILY on first embed, so you install ONLY the one * you use and agentfootprint stays dependency-free. * * openaiEmbedder() — hosted; needs OPENAI_API_KEY; no extra install (fetch). * localEmbedder() — on-device sentence-transformer; no key; offline after a * one-time model fetch. peer dep: @huggingface/transformers. * staticEmbedder() — pure-JS Model2Vec static vectors; no key, no network * (weights bundled). peer dep: @yarflam/potion-base-8m. * * All three satisfy the same `Embedder` shape, so they drop into * `toolChoiceRecorder({ embedder })` / `semanticPipeline({ embedder })` etc. * unchanged. Dimensions differ per model — never mix two in one store. */ import type { Embedder } from '../memory/embedding/types.js'; export interface OpenAIEmbedderOptions { /** Default: process.env.OPENAI_API_KEY. */ readonly apiKey?: string; /** Default: 'text-embedding-3-small'. */ readonly model?: string; /** Vector length the model returns. Default 1536 (text-embedding-3-small). */ readonly dimensions?: number; /** Override the API base (Azure/OpenAI-compatible gateways). */ readonly baseURL?: string; } export declare function openaiEmbedder(options?: OpenAIEmbedderOptions): Embedder; export interface LocalEmbedderOptions { /** ONNX model id. Default 'Xenova/all-MiniLM-L6-v2' (384-dim). */ readonly model?: string; /** Vector length of the model. Default 384. */ readonly dimensions?: number; /** Quantization. Default 'q8' (smallest); use 'fp32' for max fidelity. */ readonly dtype?: string; /** On-disk model cache directory. */ readonly cacheDir?: string; } export declare function localEmbedder(options?: LocalEmbedderOptions): Embedder; export interface StaticEmbedderOptions { /** Vector length of the bundled model. Default 256 (potion-base-8m). */ readonly dimensions?: number; /** Override the package specifier for a different Model2Vec build. */ readonly module?: string; } export declare function staticEmbedder(options?: StaticEmbedderOptions): Embedder; //# sourceMappingURL=index.d.ts.map