@lssm/integration.provider-embedding
v2.0.2
Published
Embedding provider implementations for ContractSpec.
Readme
@lssm/integration.provider-embedding
Website: https://contractspec.io
Embedding provider implementations for ContractSpec with deterministic batch ordering and fail-closed vector validation.
MistralEmbeddingProvideruses the Mistral SDK and rejects empty inputs, over-budget batches, incomplete or index-invalid responses, missing usage, non-finite vectors, and requested dimension drift. It forwards explicit output dimensions and abort signals and performs bounded transient retries.OpenAIEmbeddingProviderimplements the officialPOST /v1/embeddingsREST contract, defaults totext-embedding-3-small, and supports optional dimensions, abort signals, bounded transient retries, organization/project headers, and injected fetch. Its default limits track the API contract: 2,048 inputs, 8,192 tokens per input, and 300,000 tokens per request.
Both adapters attach one provider-reported EmbeddingUsageReceipt to every result in a request. Cost is unavailable until the caller injects a calculator backed by a pinned pricing reference; adapters never guess current prices. The default UTF-8 byte counter is deliberately conservative. Inject a model-aware tokenizer when maximum batch utilization matters. Mistral's configurable default limits are local platform guardrails because its public endpoint contract does not publish equivalent batch ceilings.
API keys remain constructor-only secret material and never appear in result metadata or error messages. Callers should pin model, dimension, chunker, normalizer, and policy revisions in their index-generation fingerprint.
Usage
Import the root entrypoint for the domain surface, or import a concrete implementation from the ./impls/* subpaths.
Compatibility
This package owns the embedding implementation slice split out of @lssm/integration.providers-impls. The legacy package continues to re-export these subpaths for existing consumers.
