@lssm/integration.provider-llm
v2.1.1
Published
LLM provider implementations for ContractSpec.
Readme
@lssm/integration.provider-llm
Website: https://contractspec.io
LLM provider implementations for ContractSpec.
Mistral chat requests forward the declared LLMChatOptions.signal and
timeoutMs to the underlying SDK, so bounded meeting generation can cancel its
actual HTTP request.
Usage
Import the root entrypoint for the domain surface, or import a concrete implementation from the ./impls/* subpaths.
Compatibility
This package owns the llm implementation slice split out of @lssm/integration.providers-impls. The legacy package continues to re-export these subpaths for existing consumers.
Mistral accepts an optional fetchImpl for host-owned HTTP policy via the installed
SDK's HTTPClient. serverURL is the server origin (the SDK adds /v1 paths).
Existing callers retain their default transport. Regional consumers must select
and verify their own approved endpoint and block redirects or global fallback.
Vercel AI Gateway
GatewayLLMProvider is available from ./impls/gateway-llm. It implements the
existing LLMProvider chat/stream interface with a required pinned defaultModel,
modelAuthor (openai, anthropic, or gemini) and non-empty only inference
provider allowlist. Models use Gateway-qualified identifiers; Gemini models use
the google/ namespace. Direct Mistral models/providers are excluded from this
adapter. Existing Mistral exports remain compatible and are not silently rerouted.
The native Gateway SDK preserves request-level inferenceRegion EU-zone,
zeroDataRetention: true, disallowPromptTraining: true, and the provider
allowlist. No per-call model change, direct-provider fallback, tool execution or
application retry is performed. Calls reject invalid origins and redirects;
abort/deadline protection covers chat and streaming. Missing token counts remain
unknown. Unsupported preflight token counting throws explicitly.
Use apiKey only for a Gateway credential, or omit it for the SDK's
AI_GATEWAY_API_KEY / Vercel OIDC authentication. No direct provider credential
is read. The only endpoint is https://ai-gateway.vercel.sh/v4/ai for the installed
SDK protocol. Model/provider availability and processing approval remain host
responsibilities; an adapter instance is not a successful qualification receipt.
Residency boundary: EU inference does not mean EU-only gateway transit. Vercel regional inference documentation states that the Gateway may process requests globally before forwarding to the regional provider. Hosts must explicitly approve that boundary before sending private content. Request controls follow Vercel's ZDR and no-training documentation. Tests use synthetic content and mocked HTTP; they do not prove live residency, commercial terms, model quality or provider availability.
Chat and final stream responses expose only a bounded routing projection at
raw.providerMetadata.gateway.routing: finalProvider, modelAttempts,
providerAttempts, and inferenceEndpoint slug/scope/geoRegion. Transport headers,
response bodies and unrelated provider metadata are discarded. Missing or malformed
metadata stays absent; global/non-EU endpoints are never rewritten as EU.
readVercelGatewayRoutingMetadata and its return type are re-exported from
./impls/gateway-llm for hosts to reuse. Hosts must verify the served provider and
resolved region against their pinned binding before accepting or persisting
intelligence; request options alone are insufficient. Streaming deltas are
provisional until final routing evidence has passed the host's acceptance check.
