Mistral SDK Boundary Patterns
Overview
Prevent provider-specific shapes and volatile client behavior from spreading. Centralize configuration, normalize results and errors, and expose cancellation and usage as first-class fields.
Prerequisites
- A locked official client version and matching documentation.
- An application interface for chat, embeddings, and optional streams.
- Defined timeout, retry, observability, and redaction policies.
Current Contract
Mistral documents official Python and TypeScript clients, but signatures can move independently of application code. REST endpoints remain the verification boundary for the pinned client.
Authentication
Inject MISTRAL_API_KEY into one server-side client factory. Return no key or authorization metadata from the adapter.
Instructions
- Inventory imports, transport overrides, model strings, and response shapes.
- Define normalized types including request ID, usage, finish state, and error class.
- Create one factory with explicit host, timeout, user agent, and dependency pin.
- Retry only classified transient failures while honoring deadline, cancellation, and budget.
- Keep stream assembly and tool-call validation in separate tested components.
- Add characterization tests before migrating call sites.
Tool Discipline
Use Read, Glob, and Grep to inspect code, locks, configuration, tests, and evidence. Use Write and Edit only for approved repository changes. Invocation alone does not authorize network calls, paid usage, uploads, stateful resources, admin mutations, deployments, or deletion.
Approval Boundaries
Require approval for dependency, transport, retry, fallback-model, or live characterization changes. Never execute returned tool arguments automatically.
Error Handling
- Retrying every exception can multiply spend and hide invalid requests.
- Import-time client construction makes rotation and tests unsafe.
- Returning raw SDK objects couples the app to undocumented fields.
Output
Return client pin, adapter surface, timeout/retry matrix, normalized fields, affected call sites, tests, and rollback.
Examples
- Wrap chat and embeddings behind explicit adapter methods.
- Map
429 as retryable only within the operation deadline and budget.
Validation
Prove only the adapter imports the SDK, errors remain typed, cancellation propagates, usage survives, and secrets do not.
Resources
- Current first-party evidence map β recheck dated sources before relying on mutable endpoints, models, limits, prices, preview status, or retention.
- Record live account observations as environment-specific evidence, not universal Mistral guarantees.