@lssm-tech/integration.provider-embedding
Website: https://contractspec.io
Embedding provider implementations for ContractSpec with deterministic batch ordering and fail-closed vector validation.
MistralEmbeddingProvider uses 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.
OpenAIEmbeddingProvider implements the official POST /v1/embeddings REST contract, defaults to text-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-tech/integration.providers-impls. The legacy package continues to re-export these subpaths for existing consumers.
Vercel AI Gateway embeddings
GatewayEmbeddingProvider from @lssm-tech/integration.provider-embedding/impls/gateway-embedding
calls the Gateway's OpenAI-compatible POST https://ai-gateway.vercel.sh/v1/embeddings
with the host-resolved AI_GATEWAY_API_KEY or Vercel OIDC token. Each request carries providerOptions.gateway (only, inference region — EU by default —,
zeroDataRetention, disallowPromptTraining: true). The model is fixed at construction (exact <author>/<model>, no latest/auto), requests are never retried because a lost response may already be billed, and a response whose reported final provider is outside only is rejected. Usage receipts report provider vercel-ai-gateway.