Detect Google MAX_TOKENS responses and reject truncated tool calls
- Lenguaje dominante
- Rust
- Estrellas
- 54.2k
- Forks
- 6.2k
- Merge medio
- 3 d 4 h
- PR fusionados (30 d)
- 240
Descripción
**What problem would this solve?**
PR #10831 detects output-token-limit stops for Anthropic and OpenAI-compatible formats. Other providers may expose this condition differently, causing truncated responses to be treated as complete.
**What would a good outcome look like?**
Audit the remaining providers and map their documented output-limit signals to `output_token_limit_reached`. Preserve partial responses and prevent truncated tool calls from executing.
**Possible approaches**
- Audit provider formats not covered by #10831.
- Detect documented output-limit signals.
- Preserve partial responses.
- Reject incomplete tool calls.
- Test streaming and non-streaming paths where applicable.
- Avoid heuristics when no reliable signal exists.
**Additional context**
Follow-up to #10831.
- [x] I have verified this does not duplicate an existing feature request
Do not begin implementation until the issue reaches **Ready** on the [Goose Issues board](https://github.com/orgs/aaif-goose/projects/1).
Guía de contribución
Línea de trabajo
Revisa el PR #10831 para comprender la lógica de detección existente para Anthropic y OpenAI. Audita el código en busca de otras integraciones de proveedores (como MAX_TOKENS de Google) en el código base, probablemente en un módulo providers o clients. Busca señales documentadas de límites de salida en las API de los proveedores. El objetivo es ampliar la detección de `output_token_limit_reached`, conservar las respuestas parciales y evitar la ejecución de llamadas a herramientas truncadas. Prueba tanto las rutas de streaming como las que no usan streaming.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- rust
- Área
- ai-infra-agents
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Activo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 45/100