diff options
| author | Aiden Cline <[email protected]> | 2026-01-12 20:39:57 -0600 |
|---|---|---|
| committer | Aiden Cline <[email protected]> | 2026-01-12 20:40:10 -0600 |
| commit | 66f9bdab32b21110c0dd9ce0aaa8d928aea8eba2 (patch) | |
| tree | 61e09077cd43825ebbb9376b9432c4ac16d6a77a | |
| parent | efaa9166fbb3fca1034035f4e9e36f6da68c567b (diff) | |
| download | opencode-66f9bdab32b21110c0dd9ce0aaa8d928aea8eba2.tar.gz opencode-66f9bdab32b21110c0dd9ce0aaa8d928aea8eba2.zip | |
core: tweak edit and write tool outputs to prevent agent from thinking edit didn't apply
| -rw-r--r-- | packages/opencode/src/tool/edit.ts | 4 | ||||
| -rw-r--r-- | packages/opencode/src/tool/write.ts | 6 |
2 files changed, 5 insertions, 5 deletions
diff --git a/packages/opencode/src/tool/edit.ts b/packages/opencode/src/tool/edit.ts index b68078f14..7ace4e4a2 100644 --- a/packages/opencode/src/tool/edit.ts +++ b/packages/opencode/src/tool/edit.ts @@ -119,7 +119,7 @@ export const EditTool = Tool.define("edit", { }, }) - let output = "" + let output = "Edit applied successfully." await LSP.touchFile(filePath, true) const diagnostics = await LSP.diagnostics() const normalizedFilePath = Filesystem.normalizePath(filePath) @@ -129,7 +129,7 @@ export const EditTool = Tool.define("edit", { const limited = errors.slice(0, MAX_DIAGNOSTICS_PER_FILE) const suffix = errors.length > MAX_DIAGNOSTICS_PER_FILE ? `\n... and ${errors.length - MAX_DIAGNOSTICS_PER_FILE} more` : "" - output += `\nThis file has errors, please fix\n<file_diagnostics>\n${limited.map(LSP.Diagnostic.pretty).join("\n")}${suffix}\n</file_diagnostics>\n` + output += `\n\nLSP errors detected in this file:\n<diagnostics file="${filePath}">\n${limited.map(LSP.Diagnostic.pretty).join("\n")}${suffix}\n</diagnostics>` } return { diff --git a/packages/opencode/src/tool/write.ts b/packages/opencode/src/tool/write.ts index 222bac3f8..d621a6e26 100644 --- a/packages/opencode/src/tool/write.ts +++ b/packages/opencode/src/tool/write.ts @@ -47,7 +47,7 @@ export const WriteTool = Tool.define("write", { }) FileTime.read(ctx.sessionID, filepath) - let output = "" + let output = "Wrote file successfully." await LSP.touchFile(filepath, true) const diagnostics = await LSP.diagnostics() const normalizedFilepath = Filesystem.normalizePath(filepath) @@ -59,12 +59,12 @@ export const WriteTool = Tool.define("write", { const suffix = errors.length > MAX_DIAGNOSTICS_PER_FILE ? `\n... and ${errors.length - MAX_DIAGNOSTICS_PER_FILE} more` : "" if (file === normalizedFilepath) { - output += `\nThis file has errors, please fix\n<file_diagnostics>\n${limited.map(LSP.Diagnostic.pretty).join("\n")}${suffix}\n</file_diagnostics>\n` + output += `\n\nLSP errors detected in this file:\n<diagnostics file="${filepath}">\n${limited.map(LSP.Diagnostic.pretty).join("\n")}${suffix}\n</diagnostics>` continue } if (projectDiagnosticsCount >= MAX_PROJECT_DIAGNOSTICS_FILES) continue projectDiagnosticsCount++ - output += `\n<project_diagnostics>\n${file}\n${limited.map(LSP.Diagnostic.pretty).join("\n")}${suffix}\n</project_diagnostics>\n` + output += `\n\nLSP errors detected in other files:\n<diagnostics file="${file}">\n${limited.map(LSP.Diagnostic.pretty).join("\n")}${suffix}\n</diagnostics>` } return { |
