[bot] Mistral OCR API (`client.ocr.process()`) 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
- 58/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bien especificado
- Estado de actividad
- Tranquilo
- Stack tecnológico
- typescript
- Área
- devtools, observability-sre
Línea de trabajo
Empieza leyendo las implementaciones existentes de Mistral en js/src/wrappers/mistral.ts, js/src/auto-instrumentations/configs/mistral.ts, js/src/instrumentation/plugins/mistral-channels.ts, js/src/instrumentation/plugins/mistral-plugin.ts y js/src/vendor-sdk-types/mistral.ts. Compara los patrones de los métodos de modelo existentes e inspecciona e2e/scenarios/mistral-instrumentation/. El trabajo estará terminado cuando client.ocr.process() esté cubierto en el wrapper, la configuración, el canal, el plugin, los tipos del proveedor y el escenario de instrumentación end-to-end.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
The @mistralai/mistralai TypeScript SDK provides a stable client.ocr.process() method for document understanding using the Mistral OCR model. This repo has zero instrumentation for the OCR API surface — no channels, no plugin handler, no wrapper proxy, and no auto-instrumentation config. Users calling client.ocr.process() get no Braintrust spans.
What instrumentation is missing
- Wrapper (
js/src/wrappers/mistral.ts): Only proxieschat,embeddings,fim, andagentsproperties (lines 78–95). No proxy forocr. - Auto-instrumentation config (
js/src/auto-instrumentations/configs/mistral.ts): Only defines configs for chat, embeddings, FIM, and agents methods. No config forocr.process. - Channels (
js/src/instrumentation/plugins/mistral-channels.ts): No channel definition for OCR. - Plugin (
js/src/instrumentation/plugins/mistral-plugin.ts): No handler for OCR calls. - Vendor types (
js/src/vendor-sdk-types/mistral.ts):MistralClientonly declareschat,fim,agents, andembeddingsproperties. Noocrproperty.
A grep for ocr (case-insensitive) across js/src/ returns zero matches.
Why this is a concrete gap
Mistral OCR is a dedicated model execution API — it sends document/image input to a model and receives generated structured text output (markdown with bounding boxes, extracted images, and page metadata). This is directly comparable to how generateContent works for Google GenAI. It uses a specific model (mistral-ocr-2503-completion) and returns token-like processing results. It is not a CRUD or management endpoint.
Braintrust docs status
not_found — The Braintrust Mistral integration page at https://www.braintrust.dev/docs/integrations/ai-providers/mistral documents chat completions only. OCR is not mentioned.
Upstream references
- Mistral OCR API endpoint: https://docs.mistral.ai/api/endpoint/ocr
- Mistral OCR capability docs: https://docs.mistral.ai/capabilities/document_ai/basic_ocr
- Mistral TypeScript SDK OCR docs: https://github.com/mistralai/client-ts/blob/main/docs/sdks/ocr/README.md
- SDK method:
client.ocr.process({ model, document, ... })— returnsPromise<OCRResponse> - Parameters include:
model,document(URL or file),pages,table_format,include_image_base64,image_limit, and annotation format options.
Precedent in this repo
This repo instruments 8 other Mistral SDK methods across 4 API categories (chat, embeddings, FIM, agents). OCR is a comparable model execution surface. Additionally, Google GenAI's generateContent (which processes multimodal input and returns structured text) is instrumented with the same depth.
Local files inspected
js/src/wrappers/mistral.tsjs/src/auto-instrumentations/configs/mistral.tsjs/src/instrumentation/plugins/mistral-channels.tsjs/src/instrumentation/plugins/mistral-plugin.tsjs/src/vendor-sdk-types/mistral.tse2e/scenarios/mistral-instrumentation/
- Lenguaje dominante
- TypeScript
- Estrellas
- 29
- Forks
- 16
- Merge medio
- 1 d 20 h
- PR fusionados (30 d)
- 70
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 4/5 3-5 días Aptitud para principiantes 55/100
braintrustdata/braintrust-sdk-javascript#2578 ·
Los mantenedores suelen responder en 1 día
-
typescript
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
-
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
braintrustdata/braintrust-sdk-javascript#2527 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 65/100
braintrustdata/braintrust-sdk-javascript#2526 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 56/100
braintrustdata/braintrust-sdk-javascript#2482 ·
Los mantenedores suelen responder en 1 día
Todos los issues de braintrustdata/braintrust-sdk-javascript
Issues similares
-
submodule-pointer-regression
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
smith-horn/skillsmith#3061 ·
Los mantenedores suelen responder en 1 día
-
area: ops type: test
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
accensa/x402-facilitator-stellar#559 ·
Los mantenedores suelen responder en 1 día
-
Fix the no-pin ruling in line-drawings: pin a below-the-record stage at the record's chapterAbiertodocumentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
cosimochellini/one-piece-zero-spoiler#551 ·
Los mantenedores suelen responder en 1 día
-
getWatched() omits __proto__ directories when cwd is setPosiblemente ocupada @maxazure la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
-
area:web enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día