Skip to content

[bot] Mistral Conversations API (beta.conversations.start/append/restart) not instrumented #1954

@braintrust-bot

Description

@braintrust-bot

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.tsMistralClient missing beta/conversations
  • e2e/scenarios/mistral-instrumentation/scenario.impl.mjs — no conversations test scenarios

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions