Summary
The @mistralai/mistralai TypeScript SDK exposes a beta.conversations resource with six generative execution methods for stateful, multi-turn agent conversations with handoffs. None are instrumented — no channels, no plugin handler, no wrapper proxy, and no auto-instrumentation config. Calls to any beta.conversations.* method produce no Braintrust spans.
The Conversations API is Mistral's new agentic execution surface for server-side managed multi-turn conversations. Unlike the existing agents.complete/agents.stream methods (which are stateless, single-turn agent calls already instrumented in this repo), the Conversations API maintains conversation state server-side and supports multi-agent orchestration with handoffs.
What instrumentation is missing
| SDK Method |
Description |
client.beta.conversations.start() |
Create a conversation and run initial completion |
client.beta.conversations.append() |
Append entries to an existing conversation and run completion |
client.beta.conversations.restart() |
Restart a conversation from a given entry |
client.beta.conversations.startStream() |
Create a conversation with streaming response |
client.beta.conversations.appendStream() |
Append entries with streaming response |
client.beta.conversations.restartStream() |
Restart a conversation with streaming response |
All six are generative execution endpoints — each triggers model inference, runs tool executions server-side, and returns generated responses (or streams of events). They are not CRUD endpoints (the list/get/delete/getHistory/getMessages endpoints are excluded here).
No coverage in any instrumentation layer:
- Wrapper (
js/src/wrappers/mistral.ts, lines 76–94): The mistralProxy switch only handles chat, fim, agents, and embeddings. No beta or conversations case.
- Auto-instrumentation config (
js/src/auto-instrumentations/configs/mistral.ts): Only defines configs for Chat, Fim, Agents, and Embeddings classes. No config for any Conversations methods.
- Channels (
js/src/instrumentation/plugins/mistral-channels.ts): No channel definitions for conversation endpoints.
- Plugin (
js/src/instrumentation/plugins/mistral-plugin.ts): No handler for conversation calls.
- Vendor types (
js/src/vendor-sdk-types/mistral.ts): MistralClient only declares chat, fim, agents, embeddings. No beta or conversations property.
A grep for conversation across js/src/wrappers/mistral.ts and js/src/instrumentation/plugins/mistral-plugin.ts returns zero matches.
Braintrust docs status
not_found — The Braintrust Mistral integration page at https://www.braintrust.dev/docs/integrations/ai-providers/mistral documents chat completions, FIM, embeddings, agents, audio, and OCR. Conversations are not mentioned.
Upstream references
Precedent in this repo
- Mistral
agents.complete and agents.stream are instrumented (stateless single-turn agent calls)
- The Conversations API is the natural evolution providing stateful multi-turn agent orchestration
- Comparable agentic execution surfaces are instrumented for other providers:
- Claude Agent SDK:
agent.query() instrumented
- Google ADK:
Runner.runAsync, BaseAgent.runAsync instrumented
- Anthropic:
beta.messages.toolRunner instrumented
Local files inspected
js/src/wrappers/mistral.ts — lines 76–94: proxy switch (no beta or conversations case)
js/src/auto-instrumentations/configs/mistral.ts — full file: no conversations configs
js/src/instrumentation/plugins/mistral-channels.ts — no conversations channels
js/src/instrumentation/plugins/mistral-plugin.ts — no conversations handlers
js/src/vendor-sdk-types/mistral.ts — MistralClient missing beta/conversations
e2e/scenarios/mistral-instrumentation/scenario.impl.mjs — no conversations test scenarios
Summary
The
@mistralai/mistralaiTypeScript SDK exposes abeta.conversationsresource with six generative execution methods for stateful, multi-turn agent conversations with handoffs. None are instrumented — no channels, no plugin handler, no wrapper proxy, and no auto-instrumentation config. Calls to anybeta.conversations.*method produce no Braintrust spans.The Conversations API is Mistral's new agentic execution surface for server-side managed multi-turn conversations. Unlike the existing
agents.complete/agents.streammethods (which are stateless, single-turn agent calls already instrumented in this repo), the Conversations API maintains conversation state server-side and supports multi-agent orchestration with handoffs.What instrumentation is missing
client.beta.conversations.start()client.beta.conversations.append()client.beta.conversations.restart()client.beta.conversations.startStream()client.beta.conversations.appendStream()client.beta.conversations.restartStream()All six are generative execution endpoints — each triggers model inference, runs tool executions server-side, and returns generated responses (or streams of events). They are not CRUD endpoints (the list/get/delete/getHistory/getMessages endpoints are excluded here).
No coverage in any instrumentation layer:
js/src/wrappers/mistral.ts, lines 76–94): ThemistralProxyswitch only handleschat,fim,agents, andembeddings. Nobetaorconversationscase.js/src/auto-instrumentations/configs/mistral.ts): Only defines configs forChat,Fim,Agents, andEmbeddingsclasses. No config for any Conversations methods.js/src/instrumentation/plugins/mistral-channels.ts): No channel definitions for conversation endpoints.js/src/instrumentation/plugins/mistral-plugin.ts): No handler for conversation calls.js/src/vendor-sdk-types/mistral.ts):MistralClientonly declareschat,fim,agents,embeddings. Nobetaorconversationsproperty.A grep for
conversationacrossjs/src/wrappers/mistral.tsandjs/src/instrumentation/plugins/mistral-plugin.tsreturns zero matches.Braintrust docs status
not_found— The Braintrust Mistral integration page at https://www.braintrust.dev/docs/integrations/ai-providers/mistral documents chat completions, FIM, embeddings, agents, audio, and OCR. Conversations are not mentioned.Upstream references
client.beta.conversationsresource withstart(),append(),restart(),startStream(),appendStream(),restartStream()methodsPOST /v1/conversations(start),POST /v1/conversations/{id}(append),POST /v1/conversations/{id}/restartPrecedent in this repo
agents.completeandagents.streamare instrumented (stateless single-turn agent calls)agent.query()instrumentedRunner.runAsync,BaseAgent.runAsyncinstrumentedbeta.messages.toolRunnerinstrumentedLocal files inspected
js/src/wrappers/mistral.ts— lines 76–94: proxy switch (nobetaorconversationscase)js/src/auto-instrumentations/configs/mistral.ts— full file: no conversations configsjs/src/instrumentation/plugins/mistral-channels.ts— no conversations channelsjs/src/instrumentation/plugins/mistral-plugin.ts— no conversations handlersjs/src/vendor-sdk-types/mistral.ts—MistralClientmissingbeta/conversationse2e/scenarios/mistral-instrumentation/scenario.impl.mjs— no conversations test scenarios