Skip to content

Commit c76e501

Browse files
ammar-agentroot
andauthored
🤖 feat: add guard-anchored file_edit_insert tool (#579)
## Summary - implement file_edit_insert with optional before/after substring guards plus line_offset fallback, including new runtime tool + unit coverage - wire the tool through type defs, tokenizer accounting, redaction, and UI rendering so agents can call it safely - refresh tool policy + runtime IPC tests to favor file_edit_insert and ensure redactors/tests understand the new tool ## Testing - make typecheck - make test _Generated with `mux`_ --------- Co-authored-by: root <root@ovh-1.tailc2a514.ts.net>
1 parent 6cefc20 commit c76e501

File tree

8 files changed

+256
-442
lines changed

8 files changed

+256
-442
lines changed

src/components/Messages/ToolMessage.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ import type {
1313
BashToolResult,
1414
FileReadToolArgs,
1515
FileReadToolResult,
16+
FileEditReplaceStringToolArgs,
1617
FileEditInsertToolArgs,
1718
FileEditInsertToolResult,
18-
FileEditReplaceStringToolArgs,
1919
FileEditReplaceStringToolResult,
2020
FileEditReplaceLinesToolArgs,
2121
FileEditReplaceLinesToolResult,
@@ -121,26 +121,26 @@ export const ToolMessage: React.FC<ToolMessageProps> = ({ message, className, wo
121121
);
122122
}
123123

124-
if (isFileEditReplaceLinesTool(message.toolName, message.args)) {
124+
if (isFileEditInsertTool(message.toolName, message.args)) {
125125
return (
126126
<div className={className}>
127127
<FileEditToolCall
128-
toolName="file_edit_replace_lines"
128+
toolName="file_edit_insert"
129129
args={message.args}
130-
result={message.result as FileEditReplaceLinesToolResult | undefined}
130+
result={message.result as FileEditInsertToolResult | undefined}
131131
status={message.status}
132132
/>
133133
</div>
134134
);
135135
}
136136

137-
if (isFileEditInsertTool(message.toolName, message.args)) {
137+
if (isFileEditReplaceLinesTool(message.toolName, message.args)) {
138138
return (
139139
<div className={className}>
140140
<FileEditToolCall
141-
toolName="file_edit_insert"
141+
toolName="file_edit_replace_lines"
142142
args={message.args}
143-
result={message.result as FileEditInsertToolResult | undefined}
143+
result={message.result as FileEditReplaceLinesToolResult | undefined}
144144
status={message.status}
145145
/>
146146
</div>

0 commit comments

Comments
 (0)