fix(engine): register grep/find/ls alongside read/bash/edit/write for coding sessions
pi-coding-agent 0.70's createCodingTools preset only includes read/bash/edit/write, but pi-claude-cli's tool-mapping translates Claude's Glob→find and Grep→grep. Triage sessions running through Claude CLI hit "Tool find not found" the moment the model called Glob and looped on the error. Compose the built-in set explicitly so every tool referenced by tool-mapping.ts is registered. Read-only sessions also gain ls (was silently dropped earlier when readonly was redefined upstream). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -75,9 +75,16 @@ vi.mock("@mariozechner/pi-coding-agent", () => ({
|
||||
}),
|
||||
},
|
||||
createAgentSession: createAgentSessionMock,
|
||||
createBashTool: () => ({ name: "bash" }),
|
||||
createCodingTools: createCodingToolsMock,
|
||||
createEditTool: () => ({ name: "edit" }),
|
||||
createExtensionRuntime: createExtensionRuntimeMock,
|
||||
createFindTool: () => ({ name: "find" }),
|
||||
createGrepTool: () => ({ name: "grep" }),
|
||||
createLsTool: () => ({ name: "ls" }),
|
||||
createReadOnlyTools: createReadOnlyToolsMock,
|
||||
createReadTool: () => ({ name: "read" }),
|
||||
createWriteTool: () => ({ name: "write" }),
|
||||
DefaultResourceLoader: class {
|
||||
async reload() {
|
||||
await reloadMock();
|
||||
@@ -815,9 +822,16 @@ describe("createFnAgent", () => {
|
||||
}),
|
||||
},
|
||||
createAgentSession: createAgentSessionMock,
|
||||
createBashTool: () => ({ name: "bash" }),
|
||||
createCodingTools: createCodingToolsMock,
|
||||
createEditTool: () => ({ name: "edit" }),
|
||||
createExtensionRuntime: createExtensionRuntimeMock,
|
||||
createFindTool: () => ({ name: "find" }),
|
||||
createGrepTool: () => ({ name: "grep" }),
|
||||
createLsTool: () => ({ name: "ls" }),
|
||||
createReadOnlyTools: createReadOnlyToolsMock,
|
||||
createReadTool: () => ({ name: "read" }),
|
||||
createWriteTool: () => ({ name: "write" }),
|
||||
DefaultResourceLoader: class {
|
||||
constructor(options: any) {
|
||||
capturedResourceLoaderOptions = options;
|
||||
@@ -893,9 +907,16 @@ describe("createFnAgent", () => {
|
||||
}),
|
||||
},
|
||||
createAgentSession: createAgentSessionMock,
|
||||
createBashTool: () => ({ name: "bash" }),
|
||||
createCodingTools: createCodingToolsMock,
|
||||
createEditTool: () => ({ name: "edit" }),
|
||||
createExtensionRuntime: createExtensionRuntimeMock,
|
||||
createFindTool: () => ({ name: "find" }),
|
||||
createGrepTool: () => ({ name: "grep" }),
|
||||
createLsTool: () => ({ name: "ls" }),
|
||||
createReadOnlyTools: createReadOnlyToolsMock,
|
||||
createReadTool: () => ({ name: "read" }),
|
||||
createWriteTool: () => ({ name: "write" }),
|
||||
DefaultResourceLoader: class {
|
||||
constructor(options: any) {
|
||||
capturedResourceLoaderOptions = options;
|
||||
@@ -968,9 +989,16 @@ describe("createFnAgent", () => {
|
||||
}),
|
||||
},
|
||||
createAgentSession: createAgentSessionMock,
|
||||
createBashTool: () => ({ name: "bash" }),
|
||||
createCodingTools: createCodingToolsMock,
|
||||
createEditTool: () => ({ name: "edit" }),
|
||||
createExtensionRuntime: createExtensionRuntimeMock,
|
||||
createFindTool: () => ({ name: "find" }),
|
||||
createGrepTool: () => ({ name: "grep" }),
|
||||
createLsTool: () => ({ name: "ls" }),
|
||||
createReadOnlyTools: createReadOnlyToolsMock,
|
||||
createReadTool: () => ({ name: "read" }),
|
||||
createWriteTool: () => ({ name: "write" }),
|
||||
DefaultResourceLoader: class {
|
||||
constructor(options: any) {
|
||||
capturedResourceLoaderOptions = options;
|
||||
|
||||
Reference in New Issue
Block a user