Herramienta apply_patch
Aplica cambios en archivos usando un formato de parche estructurado. Es ideal para ediciones
multi-archivo o multi-hunk donde una sola llamada a edit sería frágil.
La herramienta acepta una única cadena input que envuelve una o más operaciones de archivo:
*** Begin Patch
*** Add File: path/to/file.txt
+line 1
+line 2
*** Update File: src/app.ts
@@
-old line
+new line
*** Delete File: obsolete.txt
*** End Patch
Parámetros
input(requerido): Contenido completo del parche incluyendo*** Begin Patchy*** End Patch.
Notas
- Las rutas del parche soportan rutas relativas (desde el directorio del workspace) y rutas absolutas.
tools.exec.applyPatch.workspaceOnlytiene por defectotrue(contenido dentro del workspace). Establécelo afalsesolo si intencionalmente quieres queapply_patchescriba/elimine fuera del directorio del workspace.- Usa
*** Move to:dentro de un hunk*** Update File:para renombrar archivos. *** End of Filemarca una inserción solo al final del archivo cuando sea necesario.- Experimental y deshabilitado por defecto. Habilita con
tools.exec.applyPatch.enabled. - Solo OpenAI (incluyendo OpenAI Codex). Opcionalmente restringe por modelo vía
tools.exec.applyPatch.allowModels. - La configuración está solo bajo
tools.exec.
Ejemplo
{
"tool": "apply_patch",
"input": "*** Begin Patch\n*** Update File: src/index.ts\n@@\n-const foo = 1\n+const foo = 2\n*** End Patch"
}