@finityno/claude-code-acp 0.13.6 → 0.13.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/acp-agent.d.ts.map +1 -1
- package/dist/acp-agent.js +5 -0
- package/dist/lib.d.ts +1 -1
- package/dist/lib.d.ts.map +1 -1
- package/dist/lib.js +1 -1
- package/dist/tools.d.ts +10 -0
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +115 -67
- package/package.json +1 -1
package/dist/acp-agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acp-agent.d.ts","sourceRoot":"","sources":["../src/acp-agent.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"acp-agent.d.ts","sourceRoot":"","sources":["../src/acp-agent.ts"],"names":[],"mappings":"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"}
|
package/dist/acp-agent.js
CHANGED
|
@@ -872,10 +872,13 @@ sdkParentToolUseId) {
|
|
|
872
872
|
// ignore if we can't turn it to JSON
|
|
873
873
|
}
|
|
874
874
|
// Send tool_call notification with subagent metadata
|
|
875
|
+
// Include parentToolUseId for nested subagents (Task called from within another Task)
|
|
875
876
|
update = {
|
|
876
877
|
_meta: {
|
|
877
878
|
claudeCode: {
|
|
878
879
|
toolName: chunk.name,
|
|
880
|
+
// For nested subagents, include parent reference
|
|
881
|
+
...(parentSubagentId && { parentToolUseId: parentSubagentId }),
|
|
879
882
|
subagent: {
|
|
880
883
|
id: chunk.id,
|
|
881
884
|
eventType: "subagent_started",
|
|
@@ -883,6 +886,8 @@ sdkParentToolUseId) {
|
|
|
883
886
|
description: input.description,
|
|
884
887
|
status: "running",
|
|
885
888
|
parentSessionId: sessionId,
|
|
889
|
+
// Include parent for nested subagents
|
|
890
|
+
...(parentSubagentId && { parentToolUseId: parentSubagentId }),
|
|
886
891
|
model: input.model,
|
|
887
892
|
runInBackground: input.run_in_background ?? false,
|
|
888
893
|
},
|
package/dist/lib.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { ClaudeAcpAgent, runAcp, toAcpNotifications, streamEventToAcpNotifications, type ToolUpdateMeta, type NewSessionMeta, } from "./acp-agent.js";
|
|
2
2
|
export { loadManagedSettings, applyEnvironmentSettings, nodeToWebReadable, nodeToWebWritable, Pushable, unreachable, } from "./utils.js";
|
|
3
3
|
export { createMcpServer } from "./mcp-server.js";
|
|
4
|
-
export { toolInfoFromToolUse, planEntries, toolUpdateFromToolResult, createPreToolUseHook, acpToolNames as toolNames, } from "./tools.js";
|
|
4
|
+
export { toolInfoFromToolUse, planEntries, toolUpdateFromToolResult, createPreToolUseHook, acpToolNames as toolNames, normalizeToolName, getCanonicalToolName, } from "./tools.js";
|
|
5
5
|
export { SettingsManager, type ClaudeCodeSettings, type PermissionSettings, type PermissionDecision, type PermissionCheckResult, type SettingsManagerOptions, } from "./settings.js";
|
|
6
6
|
export { SubagentTracker, isTaskToolInput, extractSubagentMeta, type TrackedSubagent, type SubagentStatus, type SubagentType, type SubagentEventType, type SubagentUpdateMeta, type SubagentEventListener, type SubagentStats, type TaskToolInput, } from "./subagent-tracker.js";
|
|
7
7
|
export type { ClaudePlanEntry } from "./tools.js";
|
package/dist/lib.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,MAAM,EACN,kBAAkB,EAClB,6BAA6B,EAC7B,KAAK,cAAc,EACnB,KAAK,cAAc,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,EACR,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,wBAAwB,EACxB,oBAAoB,EACpB,YAAY,IAAI,SAAS,
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,MAAM,EACN,kBAAkB,EAClB,6BAA6B,EAC7B,KAAK,cAAc,EACnB,KAAK,cAAc,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,EACR,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,wBAAwB,EACxB,oBAAoB,EACpB,YAAY,IAAI,SAAS,EACzB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,eAAe,EACf,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,GAC5B,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,aAAa,GACnB,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/lib.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
export { ClaudeAcpAgent, runAcp, toAcpNotifications, streamEventToAcpNotifications, } from "./acp-agent.js";
|
|
3
3
|
export { loadManagedSettings, applyEnvironmentSettings, nodeToWebReadable, nodeToWebWritable, Pushable, unreachable, } from "./utils.js";
|
|
4
4
|
export { createMcpServer } from "./mcp-server.js";
|
|
5
|
-
export { toolInfoFromToolUse, planEntries, toolUpdateFromToolResult, createPreToolUseHook, acpToolNames as toolNames, } from "./tools.js";
|
|
5
|
+
export { toolInfoFromToolUse, planEntries, toolUpdateFromToolResult, createPreToolUseHook, acpToolNames as toolNames, normalizeToolName, getCanonicalToolName, } from "./tools.js";
|
|
6
6
|
export { SettingsManager, } from "./settings.js";
|
|
7
7
|
// Export subagent tracking
|
|
8
8
|
export { SubagentTracker, isTaskToolInput, extractSubagentMeta, } from "./subagent-tracker.js";
|
package/dist/tools.d.ts
CHANGED
|
@@ -25,6 +25,16 @@ interface ToolUpdate {
|
|
|
25
25
|
content?: ToolCallContent[];
|
|
26
26
|
locations?: ToolCallLocation[];
|
|
27
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Normalize a tool name by stripping MCP prefixes.
|
|
30
|
+
* e.g., "mcp__acp__Read" -> "Read", "mcp__context7__query-docs" -> "query-docs"
|
|
31
|
+
*/
|
|
32
|
+
export declare function normalizeToolName(name: string): string;
|
|
33
|
+
/**
|
|
34
|
+
* Get the canonical tool name for categorization purposes.
|
|
35
|
+
* This maps tool names to their canonical form for icon/kind matching.
|
|
36
|
+
*/
|
|
37
|
+
export declare function getCanonicalToolName(name: string): string;
|
|
28
38
|
export declare function toolInfoFromToolUse(toolUse: any): ToolInfo;
|
|
29
39
|
export declare function toolUpdateFromToolResult(toolResult: ToolResultBlockParam | BetaWebSearchToolResultBlockParam | BetaWebFetchToolResultBlockParam | WebSearchToolResultBlockParam | BetaCodeExecutionToolResultBlockParam | BetaBashCodeExecutionToolResultBlockParam | BetaTextEditorCodeExecutionToolResultBlockParam | BetaRequestMCPToolResultBlockParam | BetaToolSearchToolResultBlockParam, toolUse: any | undefined): ToolUpdate;
|
|
30
40
|
export type ClaudePlanEntry = {
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGlG,OAAO,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAWlG,eAAO,MAAM,oBAAoB,eAAe,CAAC;AACjD,eAAO,MAAM,YAAY;;;;;;;CAOxB,CAAC;AAEF,eAAO,MAAM,eAAe,UAA0C,CAAC;AAEvE,OAAO,EACL,yCAAyC,EACzC,qCAAqC,EACrC,kCAAkC,EAClC,+CAA+C,EAC/C,kCAAkC,EAClC,gCAAgC,EAChC,iCAAiC,EAClC,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,UAAU,QAAQ;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAChC;AAED,UAAU,UAAU;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAChC;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,GAAG,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGlG,OAAO,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAWlG,eAAO,MAAM,oBAAoB,eAAe,CAAC;AACjD,eAAO,MAAM,YAAY;;;;;;;CAOxB,CAAC;AAEF,eAAO,MAAM,eAAe,UAA0C,CAAC;AAEvE,OAAO,EACL,yCAAyC,EACzC,qCAAqC,EACrC,kCAAkC,EAClC,+CAA+C,EAC/C,kCAAkC,EAClC,gCAAgC,EAChC,iCAAiC,EAClC,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,UAAU,QAAQ;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAChC;AAED,UAAU,UAAU;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOtD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAqCzD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,GAAG,GAAG,QAAQ,CAgX1D;AAED,wBAAgB,wBAAwB,CACtC,UAAU,EACN,oBAAoB,GACpB,iCAAiC,GACjC,gCAAgC,GAChC,6BAA6B,GAC7B,qCAAqC,GACrC,yCAAyC,GACzC,+CAA+C,GAC/C,kCAAkC,GAClC,kCAAkC,EACtC,OAAO,EAAE,GAAG,GAAG,SAAS,GACvB,UAAU,CA8GZ;AAmCD,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,CAAC;IAChD,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,WAAW,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,eAAe,EAAE,CAAA;CAAE,GAAG,SAAS,EAAE,CAM5E;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQnD;AAcD,eAAO,MAAM,oBAAoB,GAC/B,WAAW,MAAM,EACjB,wBAEG;IACD,iBAAiB,CAAC,EAAE,CAClB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,OAAO,EAClB,YAAY,EAAE,OAAO,KAClB,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB,SAKF,CAAC;AAGF,eAAO,MAAM,qBAAqB,GAC/B,SAAQ,MAAgB,KAAG,YAa3B,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC9B,iBAAiB,eAAe,EAAE,SAAQ,MAAgB,KAAG,YA2C7D,CAAC"}
|
package/dist/tools.js
CHANGED
|
@@ -18,9 +18,59 @@ export const acpToolNames = {
|
|
|
18
18
|
bashOutput: ACP_TOOL_NAME_PREFIX + acpUnqualifiedToolNames.bashOutput,
|
|
19
19
|
};
|
|
20
20
|
export const EDIT_TOOL_NAMES = [acpToolNames.edit, acpToolNames.write];
|
|
21
|
+
/**
|
|
22
|
+
* Normalize a tool name by stripping MCP prefixes.
|
|
23
|
+
* e.g., "mcp__acp__Read" -> "Read", "mcp__context7__query-docs" -> "query-docs"
|
|
24
|
+
*/
|
|
25
|
+
export function normalizeToolName(name) {
|
|
26
|
+
// Strip mcp__<server>__ prefix
|
|
27
|
+
const mcpMatch = name.match(/^mcp__[^_]+__(.+)$/);
|
|
28
|
+
if (mcpMatch) {
|
|
29
|
+
return mcpMatch[1];
|
|
30
|
+
}
|
|
31
|
+
return name;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Get the canonical tool name for categorization purposes.
|
|
35
|
+
* This maps tool names to their canonical form for icon/kind matching.
|
|
36
|
+
*/
|
|
37
|
+
export function getCanonicalToolName(name) {
|
|
38
|
+
const normalized = normalizeToolName(name);
|
|
39
|
+
// Map common variations to canonical names
|
|
40
|
+
const canonicalMap = {
|
|
41
|
+
// ACP tools
|
|
42
|
+
"Read": "Read",
|
|
43
|
+
"Edit": "Edit",
|
|
44
|
+
"Write": "Write",
|
|
45
|
+
"Bash": "Bash",
|
|
46
|
+
"BashOutput": "BashOutput",
|
|
47
|
+
"KillShell": "KillShell",
|
|
48
|
+
"TaskOutput": "TaskOutput",
|
|
49
|
+
// Search tools
|
|
50
|
+
"Glob": "Glob",
|
|
51
|
+
"Grep": "Grep",
|
|
52
|
+
"LS": "LS",
|
|
53
|
+
// Web tools
|
|
54
|
+
"WebFetch": "WebFetch",
|
|
55
|
+
"WebSearch": "WebSearch",
|
|
56
|
+
// Agent/planning tools
|
|
57
|
+
"Task": "Task",
|
|
58
|
+
"TodoWrite": "TodoWrite",
|
|
59
|
+
"ExitPlanMode": "ExitPlanMode",
|
|
60
|
+
"EnterPlanMode": "EnterPlanMode",
|
|
61
|
+
"AskUserQuestion": "AskUserQuestion",
|
|
62
|
+
"Skill": "Skill",
|
|
63
|
+
// Notebook tools
|
|
64
|
+
"NotebookRead": "NotebookRead",
|
|
65
|
+
"NotebookEdit": "NotebookEdit",
|
|
66
|
+
};
|
|
67
|
+
return canonicalMap[normalized] ?? normalized;
|
|
68
|
+
}
|
|
21
69
|
export function toolInfoFromToolUse(toolUse) {
|
|
22
|
-
const
|
|
70
|
+
const rawName = toolUse.name;
|
|
23
71
|
const input = toolUse.input;
|
|
72
|
+
// Get canonical name for matching
|
|
73
|
+
const name = getCanonicalToolName(rawName);
|
|
24
74
|
switch (name) {
|
|
25
75
|
case "Task":
|
|
26
76
|
return {
|
|
@@ -57,7 +107,6 @@ export function toolInfoFromToolUse(toolUse) {
|
|
|
57
107
|
locations: input?.notebook_path ? [{ path: input.notebook_path }] : [],
|
|
58
108
|
};
|
|
59
109
|
case "Bash":
|
|
60
|
-
case acpToolNames.bash:
|
|
61
110
|
return {
|
|
62
111
|
title: input?.command ? "`" + input.command.replaceAll("`", "\\`") + "`" : "Terminal",
|
|
63
112
|
kind: "execute",
|
|
@@ -71,32 +120,36 @@ export function toolInfoFromToolUse(toolUse) {
|
|
|
71
120
|
: [],
|
|
72
121
|
};
|
|
73
122
|
case "BashOutput":
|
|
74
|
-
case acpToolNames.bashOutput:
|
|
75
123
|
return {
|
|
76
124
|
title: "Tail Logs",
|
|
77
125
|
kind: "execute",
|
|
78
126
|
content: [],
|
|
79
127
|
};
|
|
80
128
|
case "KillShell":
|
|
81
|
-
case acpToolNames.killShell:
|
|
82
129
|
return {
|
|
83
130
|
title: "Kill Process",
|
|
84
131
|
kind: "execute",
|
|
85
132
|
content: [],
|
|
86
133
|
};
|
|
87
|
-
case
|
|
134
|
+
case "TaskOutput":
|
|
135
|
+
return {
|
|
136
|
+
title: input?.task_id ? `Task Output (${input.task_id})` : "Task Output",
|
|
137
|
+
kind: "read",
|
|
138
|
+
content: [],
|
|
139
|
+
};
|
|
140
|
+
case "Read": {
|
|
88
141
|
let limit = "";
|
|
89
|
-
if (input
|
|
142
|
+
if (input?.limit) {
|
|
90
143
|
limit =
|
|
91
144
|
" (" + ((input.offset ?? 0) + 1) + " - " + ((input.offset ?? 0) + input.limit) + ")";
|
|
92
145
|
}
|
|
93
|
-
else if (input
|
|
146
|
+
else if (input?.offset) {
|
|
94
147
|
limit = " (from line " + (input.offset + 1) + ")";
|
|
95
148
|
}
|
|
96
149
|
return {
|
|
97
|
-
title: "Read " + (input
|
|
150
|
+
title: "Read " + (input?.file_path ?? "File") + limit,
|
|
98
151
|
kind: "read",
|
|
99
|
-
locations: input
|
|
152
|
+
locations: input?.file_path
|
|
100
153
|
? [
|
|
101
154
|
{
|
|
102
155
|
path: input.file_path,
|
|
@@ -107,20 +160,6 @@ export function toolInfoFromToolUse(toolUse) {
|
|
|
107
160
|
content: [],
|
|
108
161
|
};
|
|
109
162
|
}
|
|
110
|
-
case "Read":
|
|
111
|
-
return {
|
|
112
|
-
title: "Read File",
|
|
113
|
-
kind: "read",
|
|
114
|
-
content: [],
|
|
115
|
-
locations: input.file_path
|
|
116
|
-
? [
|
|
117
|
-
{
|
|
118
|
-
path: input.file_path,
|
|
119
|
-
line: input.offset ?? 0,
|
|
120
|
-
},
|
|
121
|
-
]
|
|
122
|
-
: [],
|
|
123
|
-
};
|
|
124
163
|
case "LS":
|
|
125
164
|
return {
|
|
126
165
|
title: `List the ${input?.path ? "`" + input.path + "`" : "current"} directory's contents`,
|
|
@@ -128,9 +167,8 @@ export function toolInfoFromToolUse(toolUse) {
|
|
|
128
167
|
content: [],
|
|
129
168
|
locations: [],
|
|
130
169
|
};
|
|
131
|
-
case acpToolNames.edit:
|
|
132
170
|
case "Edit": {
|
|
133
|
-
const path = input?.file_path
|
|
171
|
+
const path = input?.file_path;
|
|
134
172
|
return {
|
|
135
173
|
title: path ? `Edit \`${path}\`` : "Edit",
|
|
136
174
|
kind: "edit",
|
|
@@ -147,7 +185,7 @@ export function toolInfoFromToolUse(toolUse) {
|
|
|
147
185
|
locations: path ? [{ path }] : undefined,
|
|
148
186
|
};
|
|
149
187
|
}
|
|
150
|
-
case
|
|
188
|
+
case "Write": {
|
|
151
189
|
let content = [];
|
|
152
190
|
if (input && input.file_path) {
|
|
153
191
|
content = [
|
|
@@ -174,22 +212,6 @@ export function toolInfoFromToolUse(toolUse) {
|
|
|
174
212
|
locations: input?.file_path ? [{ path: input.file_path }] : [],
|
|
175
213
|
};
|
|
176
214
|
}
|
|
177
|
-
case "Write":
|
|
178
|
-
return {
|
|
179
|
-
title: input?.file_path ? `Write ${input.file_path}` : "Write",
|
|
180
|
-
kind: "edit",
|
|
181
|
-
content: input && input.file_path
|
|
182
|
-
? [
|
|
183
|
-
{
|
|
184
|
-
type: "diff",
|
|
185
|
-
path: input.file_path,
|
|
186
|
-
oldText: null,
|
|
187
|
-
newText: input.content,
|
|
188
|
-
},
|
|
189
|
-
]
|
|
190
|
-
: [],
|
|
191
|
-
locations: input?.file_path ? [{ path: input.file_path }] : [],
|
|
192
|
-
};
|
|
193
215
|
case "Glob": {
|
|
194
216
|
let label = "Find";
|
|
195
217
|
if (input.path) {
|
|
@@ -302,6 +324,36 @@ export function toolInfoFromToolUse(toolUse) {
|
|
|
302
324
|
? [{ type: "content", content: { type: "text", text: input.plan } }]
|
|
303
325
|
: [],
|
|
304
326
|
};
|
|
327
|
+
case "AskUserQuestion":
|
|
328
|
+
return {
|
|
329
|
+
title: "Question",
|
|
330
|
+
kind: "think",
|
|
331
|
+
content: input?.questions
|
|
332
|
+
? [
|
|
333
|
+
{
|
|
334
|
+
type: "content",
|
|
335
|
+
content: {
|
|
336
|
+
type: "text",
|
|
337
|
+
text: Array.isArray(input.questions)
|
|
338
|
+
? input.questions.map((q) => q.question).join("\n")
|
|
339
|
+
: String(input.questions),
|
|
340
|
+
},
|
|
341
|
+
},
|
|
342
|
+
]
|
|
343
|
+
: [],
|
|
344
|
+
};
|
|
345
|
+
case "EnterPlanMode":
|
|
346
|
+
return {
|
|
347
|
+
title: "Enter Plan Mode",
|
|
348
|
+
kind: "switch_mode",
|
|
349
|
+
content: [],
|
|
350
|
+
};
|
|
351
|
+
case "Skill":
|
|
352
|
+
return {
|
|
353
|
+
title: input?.skill ? `/${input.skill}` : "Skill",
|
|
354
|
+
kind: "execute",
|
|
355
|
+
content: [],
|
|
356
|
+
};
|
|
305
357
|
case "Other": {
|
|
306
358
|
let output;
|
|
307
359
|
try {
|
|
@@ -311,7 +363,7 @@ export function toolInfoFromToolUse(toolUse) {
|
|
|
311
363
|
output = typeof input === "string" ? input : "{}";
|
|
312
364
|
}
|
|
313
365
|
return {
|
|
314
|
-
title:
|
|
366
|
+
title: rawName || "Unknown Tool",
|
|
315
367
|
kind: "other",
|
|
316
368
|
content: [
|
|
317
369
|
{
|
|
@@ -324,12 +376,23 @@ export function toolInfoFromToolUse(toolUse) {
|
|
|
324
376
|
],
|
|
325
377
|
};
|
|
326
378
|
}
|
|
327
|
-
default:
|
|
379
|
+
default: {
|
|
380
|
+
// For MCP tools from other servers, try to provide a reasonable title
|
|
381
|
+
const isMcpTool = rawName.startsWith("mcp__");
|
|
382
|
+
let title = rawName;
|
|
383
|
+
if (isMcpTool) {
|
|
384
|
+
// Extract server and tool name: mcp__server__toolName -> server: toolName
|
|
385
|
+
const parts = rawName.match(/^mcp__([^_]+)__(.+)$/);
|
|
386
|
+
if (parts) {
|
|
387
|
+
title = `${parts[1]}: ${parts[2]}`;
|
|
388
|
+
}
|
|
389
|
+
}
|
|
328
390
|
return {
|
|
329
|
-
title:
|
|
330
|
-
kind: "other",
|
|
391
|
+
title: title || "Unknown Tool",
|
|
392
|
+
kind: isMcpTool ? "other" : "other",
|
|
331
393
|
content: [],
|
|
332
394
|
};
|
|
395
|
+
}
|
|
333
396
|
}
|
|
334
397
|
}
|
|
335
398
|
export function toolUpdateFromToolResult(toolResult, toolUse) {
|
|
@@ -340,9 +403,10 @@ export function toolUpdateFromToolResult(toolResult, toolUse) {
|
|
|
340
403
|
// Only return errors
|
|
341
404
|
return toAcpContentUpdate(toolResult.content, true);
|
|
342
405
|
}
|
|
343
|
-
|
|
406
|
+
// Use canonical name for matching
|
|
407
|
+
const canonicalName = toolUse?.name ? getCanonicalToolName(toolUse.name) : undefined;
|
|
408
|
+
switch (canonicalName) {
|
|
344
409
|
case "Read":
|
|
345
|
-
case acpToolNames.read:
|
|
346
410
|
if (Array.isArray(toolResult.content) && toolResult.content.length > 0) {
|
|
347
411
|
return {
|
|
348
412
|
content: toolResult.content.map((content) => ({
|
|
@@ -370,7 +434,7 @@ export function toolUpdateFromToolResult(toolResult, toolUse) {
|
|
|
370
434
|
};
|
|
371
435
|
}
|
|
372
436
|
return {};
|
|
373
|
-
case
|
|
437
|
+
case "Edit": {
|
|
374
438
|
const content = [];
|
|
375
439
|
const locations = [];
|
|
376
440
|
if (Array.isArray(toolResult.content) &&
|
|
@@ -416,30 +480,14 @@ export function toolUpdateFromToolResult(toolResult, toolUse) {
|
|
|
416
480
|
}
|
|
417
481
|
return result;
|
|
418
482
|
}
|
|
419
|
-
case
|
|
420
|
-
case "edit":
|
|
421
|
-
case "Edit":
|
|
422
|
-
case acpToolNames.write:
|
|
483
|
+
case "Bash":
|
|
423
484
|
case "Write": {
|
|
424
485
|
return {};
|
|
425
486
|
}
|
|
426
487
|
case "ExitPlanMode": {
|
|
427
488
|
return { title: "Exited Plan Mode" };
|
|
428
489
|
}
|
|
429
|
-
|
|
430
|
-
case "NotebookEdit":
|
|
431
|
-
case "NotebookRead":
|
|
432
|
-
case "TodoWrite":
|
|
433
|
-
case "exit_plan_mode":
|
|
434
|
-
case "Bash":
|
|
435
|
-
case "BashOutput":
|
|
436
|
-
case "KillBash":
|
|
437
|
-
case "LS":
|
|
438
|
-
case "Glob":
|
|
439
|
-
case "Grep":
|
|
440
|
-
case "WebFetch":
|
|
441
|
-
case "WebSearch":
|
|
442
|
-
case "Other":
|
|
490
|
+
// All other tools: return content as-is
|
|
443
491
|
default: {
|
|
444
492
|
return toAcpContentUpdate(toolResult.content, "is_error" in toolResult ? toolResult.is_error : false);
|
|
445
493
|
}
|
package/package.json
CHANGED