[bot] Mistral Batch API (`client.batch.jobs`) is not instrumented
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- javascript, typescript
- Área
- observability, tooling
Línea de trabajo
Start by reading js/src/instrumentation/plugins/mistral-interceptors.ts to see how existing Mistral channels are declared, then mistral-plugin.ts to see how they are subscribed. Compare js/src/wrappers/mistral.ts and js/src/vendor-sdk-types/mistral.ts to understand how the batch namespace is currently unwrapped and typed. Done means client.batch.jobs.create/get/list and result download produce spans consistent with the existing chat and embeddings instrumentation, with tests covering the batch lifecycle.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
Mistral's official TypeScript SDK exposes a documented Batch API (client.batch.jobs.create()/.get()/.list(), plus client.files.download() for results) for submitting large-scale async chat, embeddings, FIM, moderation, classification, OCR, and conversation jobs. This repo instruments every one of Mistral's synchronous execution surfaces but has zero coverage of the batch lifecycle — no channel, no plugin logic, no vendor type.
What's missing
js/src/instrumentation/plugins/mistral-plugin.ts—MistralPlugin.onEnable()/subscribeToMistralChannels()(lines 24-277) subscribes to exactly ten channels:chatComplete,chatStream,embeddingsCreate,classifiersModerate,classifiersModerateChat,classifiersClassify,classifiersClassifyChat,fimComplete,fimStream,agentsComplete,agentsStream. There is nobatch-related channel anywhere in the file.js/src/instrumentation/plugins/mistral-interceptors.ts— grepped forbatch/Batch(case-insensitive): zero matches. NomistralChannels.batch*exists for the plugin to subscribe to in the first place.js/src/vendor-sdk-types/mistral.ts—MistralClient(lines 222-229) is typed as{ chat?, fim?, agents?, embeddings?, classifiers?, [key: string]: unknown }. There is nobatchnamespace type at all (noMistralBatch,MistralBatchJob, etc.), so even an untyped passthrough isn't modeled.js/src/wrappers/mistral.ts—wrapMistral()/mistralProxy()(lines 85-108) proxies onlychat,fim,agents,embeddings,classifiers. A client'sbatchproperty is returned as-is via the proxy'sdefaultbranch (Reflect.get, line 104) — fully unwrapped, soclient.batch.jobs.create(...)produces no span of any kind: no submission span, no status/polling span, no per-request result spans.
This means a customer submitting client.batch.jobs.create({ endpoint: "/v1/chat/completions", inputFiles: [...] }) — a fully supported, documented Mistral API call — gets no trace in Braintrust whatsoever, while the same customer's synchronous chat.complete/embeddings.create calls are fully traced with input, output, and token metrics.
Braintrust docs status
not_found. https://www.braintrust.dev/docs/providers/mistral documents only synchronous spans: "Chat completion spans (mistral.chat.complete...)", "Embedding spans (mistral.embeddings.create)", "Fill-in-the-middle completion spans", "Audio transcription spans." The page's "All call types support sync and async variants" line refers to Python's asyncio client variants, not batch jobs. No batch/async-job tracing is mentioned anywhere on the page.
Upstream sources
- https://docs.mistral.ai/capabilities/batch/ — Batch API guide:
client.batch.jobs.create()acceptsinput_files(file-based, up to 1,000,000 requests) or inlinerequests(up to 10,000); supportsendpointvalues/v1/embeddings,/v1/chat/completions,/v1/fim/completions,/v1/moderations,/v1/chat/moderations,/v1/ocr,/v1/classifications,/v1/conversations,/v1/audio/transcriptions; status viaclient.batch.jobs.get()/.list(); results retrieved viaclient.files.download().
Braintrust docs sources checked
- https://www.braintrust.dev/docs/providers/mistral
- https://www.braintrust.dev/docs/guides/tracing/integrations
Local repo files inspected
js/src/instrumentation/plugins/mistral-plugin.ts—subscribeToMistralChannels()(lines 24-277), full enumerated channel listjs/src/instrumentation/plugins/mistral-interceptors.ts— grepped forbatch/Batch, zero matchesjs/src/vendor-sdk-types/mistral.ts—MistralClienttype (lines 222-229)js/src/wrappers/mistral.ts—mistralProxy()(lines 85-108), proxy coverage limited tochat/fim/agents/embeddings/classifiers
- Lenguaje dominante
- TypeScript
- Estrellas
- 29
- Forks
- 21
- Merge medio
- 1 d 15 h
- PR fusionados (30 d)
- 76
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de braintrustdata/braintrust-sdk-javascript
-
typescript
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
braintrustdata/braintrust-sdk-javascript#2686 ·
Los mantenedores suelen responder en 1 día
-
[bot] Cloudflare Workers AI `queueRequest` (batch) inference is explicitly excluded from tracingAbiertocloudflare typescript
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
braintrustdata/braintrust-sdk-javascript#2684 ·
Los mantenedores suelen responder en 1 día
-
High TypeScript checking cost from generated Zod 3 schemasPosiblemente ocupada @lforst la tomó hace 14 días. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 22/100
braintrustdata/braintrust-sdk-javascript#2624 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
[bot] Instrument Luma AI (17,324 weekly downloads)Quizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abiertotypescript
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
braintrustdata/braintrust-sdk-javascript#2578 ·
Los mantenedores suelen responder en 1 día
-
[bot] Instrument Letta Agent SDK (87,205 weekly downloads)Quizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abiertotypescript
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
braintrustdata/braintrust-sdk-javascript#2577 ·
Los mantenedores suelen responder en 1 día
Todos los issues de braintrustdata/braintrust-sdk-javascript
Issues similares
-
Shell: serve the home app's Cookie Policy on a hard reloadPosiblemente ocupada @2001anshkaushik la tomó hoy. Abiertofeature module:ai
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
rocketride-org/rocketride-server#2899 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
wazuh/wazuh-dashboard-plugins#9551 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
gofish-graphics/gofish-graphics#1252 ·
Los mantenedores suelen responder en 1 día
-
optimization P3 size:XS
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
josephfung/curia#2366 ·
Los mantenedores suelen responder en 1 día
-
stranded-follow-up sweep trusts any issue whose body carries the marker as the tracking issueAbiertotype:bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
nightgauge/nightgauge#2688 ·
Los mantenedores suelen responder en 1 día