@effect/ai-anthropic: text_editor_20250728 insert decodes `new_str`, but the API sends `insert_text`
Los mantenedores suelen responder en 1 día
Ya se ha fusionado un pull request relacionado.
- #10117 de @Marve10s — fusionado
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 75/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- ai
Línea de trabajo
Lee packages/ai/anthropic/src/AnthropicTool.ts en torno a TextEditorInsertCommand y compáralo con el esquema de inserción anterior del mismo archivo. Confirma la discrepancia usando la reproducción proporcionada de Schema.decodeUnknownExit; se considera terminado cuando una llamada de inserción con forma de API se decodifica correctamente y el controlador de la herramienta puede recibirla.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What happens
TextEditorInsertCommand in packages/ai/anthropic/src/AnthropicTool.ts (line 1881 on main), which TextEditor_20250728's parameters use, declares the inserted text as new_str:
export const TextEditorInsertCommand = Schema.Struct({
command: Schema.Literal("insert"),
path: Schema.String,
insert_line: Schema.Int,
/**
* The text to insert.
*/
new_str: Schema.String
})
The Messages API sends an insert call as path, insert_line and insert_text. So every insert the model makes fails to decode as the tool's parameters, and the handler never runs. The model gets a parameter error back instead. The older insert schema in the same file (line 1553) already uses insert_text.
Repro
With @effect/[email protected] and [email protected]:
import { Schema } from "effect"
import { TextEditorInsertCommand } from "@effect/ai-anthropic/AnthropicTool"
// The arguments the Messages API sends for an insert with text_editor_20250728
const call = { command: "insert", path: "a.md", insert_line: 0, insert_text: "x" }
console.log(String(Schema.decodeUnknownExit(TextEditorInsertCommand)(call)))
// Failure(Cause([Fail(SchemaError(Missing key
// at ["new_str"]))]))
We hit it in a real run with Claude Opus: each insert came back to the model as a validation error until we patched the field.
Fix
Rename the field to insert_text in src/AnthropicTool.ts. We've run that patch (the src, dist .js and .d.ts) against the live API, and inserts apply.
Versions: 4.0.0 through 4.1.0, and main.
- Lenguaje dominante
- TypeScript
- Estrellas
- 16.7k
- Forks
- 808
- Merge medio
- 10 h 17 min
- PR fusionados (30 d)
- 850
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
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 Effect-TS/effect
-
[email protected]: crypto declarations require a global CryptoKey type, breaking Node-only type-checks with @types/node 22 and 24Posiblemente ocupada @effect-bot la tomó hoy. Abiertobug
Effect-TS/effect#10196 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
OpenApi.fromApi (4.1.0) emits duplicate component schemas with a _1 suffix when the encoded side differsQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
Los mantenedores suelen responder en 1 día
-
cluster: a runner that lost its shard lock can still write replies and messages for that shardAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 47/100
Los mantenedores suelen responder en 1 día
-
`fromJsonSchemaDocument`: import open `patternProperties`Posiblemente ocupada @effect-bot la tomó hace 2 días. Abierto
Effect-TS/effect#10048 · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de Effect-TS/effect
Issues similares
-
bug triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
Export the Hemi Earn Router address and the Router and Agent ABIs from `@vetro-protocol/earn`Abiertohemi-earn
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
vetro-protocol/vetro-monorepo#1043 ·
Los mantenedores suelen responder en 1 día
-
stage 2: bare names resolve against PATH differently from the shell (empty and relative entries)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
STRML/omp-classifier#206 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
atlassian-labs/mermaid-diagrams-viewer#188 ·
Los mantenedores suelen responder en 1 día
-
dashboard enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Olanetsoft/agent-lookout#225 ·
Los mantenedores suelen responder en 1 día