@markusylisiurunen/tau 0.3.20 → 0.3.21
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/core/session/runner.js +104 -122
- package/dist/core/session/runner.js.map +1 -1
- package/dist/core/session/session_engine.js +9 -1
- package/dist/core/session/session_engine.js.map +1 -1
- package/dist/core/tools/bash.js +5 -6
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/edit.js +88 -81
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/emit_output.js +19 -17
- package/dist/core/tools/emit_output.js.map +1 -1
- package/dist/core/tools/grep.js +5 -5
- package/dist/core/tools/grep.js.map +1 -1
- package/dist/core/tools/list.js +60 -57
- package/dist/core/tools/list.js.map +1 -1
- package/dist/core/tools/nook.js +114 -114
- package/dist/core/tools/nook.js.map +1 -1
- package/dist/core/tools/read.js +82 -79
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/registry.js +6 -0
- package/dist/core/tools/registry.js.map +1 -1
- package/dist/core/tools/send_input_to_agent.js +9 -10
- package/dist/core/tools/send_input_to_agent.js.map +1 -1
- package/dist/core/tools/spawn_agent.js +23 -24
- package/dist/core/tools/spawn_agent.js.map +1 -1
- package/dist/core/tools/terminate_agent.js +7 -8
- package/dist/core/tools/terminate_agent.js.map +1 -1
- package/dist/core/tools/view_image.js +60 -57
- package/dist/core/tools/view_image.js.map +1 -1
- package/dist/core/tools/wait_for_agents.js +6 -7
- package/dist/core/tools/wait_for_agents.js.map +1 -1
- package/dist/core/tools/web_fetch.js +6 -6
- package/dist/core/tools/web_fetch.js.map +1 -1
- package/dist/core/tools/web_search.js +6 -6
- package/dist/core/tools/web_search.js.map +1 -1
- package/dist/core/tools/write.js +41 -38
- package/dist/core/tools/write.js.map +1 -1
- package/dist/core/version.js +1 -1
- package/dist/host/client_tool_broker.js +5 -2
- package/dist/host/client_tool_broker.js.map +1 -1
- package/dist/tui/session_chat_controller.js +13 -0
- package/dist/tui/session_chat_controller.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,7 +2,7 @@ import { Type } from "typebox";
|
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { createToolError, createToolResult } from "../utils/messages.js";
|
|
4
4
|
import { parseToolArgs } from "../utils/zod.js";
|
|
5
|
-
import { isMainToolDispatchContext, } from "./registry.js";
|
|
5
|
+
import { createToolDispatch, isMainToolDispatchContext, } from "./registry.js";
|
|
6
6
|
import { buildSubagentUiText } from "./subagent_ui.js";
|
|
7
7
|
import { TOOL_NAME_SEND_INPUT_TO_AGENT } from "./tool_names.js";
|
|
8
8
|
const SEND_INPUT_TO_AGENT_DESCRIPTION = [
|
|
@@ -50,28 +50,27 @@ export function createSendInputToAgentToolDefinition(backend) {
|
|
|
50
50
|
headerTarget: details?.title ?? headerTarget,
|
|
51
51
|
reason,
|
|
52
52
|
};
|
|
53
|
-
return {
|
|
53
|
+
return { toolResult, uiEvent };
|
|
54
54
|
};
|
|
55
55
|
const parsedArgs = parseToolArgs(sendInputArgsSchema, toolCall.arguments);
|
|
56
56
|
if (!parsedArgs.ok) {
|
|
57
|
-
return blocked(`Invalid arguments: ${parsedArgs.error}`);
|
|
57
|
+
return createToolDispatch(() => blocked(`Invalid arguments: ${parsedArgs.error}`));
|
|
58
58
|
}
|
|
59
59
|
({ id, prompt } = parsedArgs.data);
|
|
60
60
|
headerTarget = id;
|
|
61
61
|
if (!isMainToolDispatchContext(context)) {
|
|
62
|
-
return blocked("The send_input_to_agent tool is only available in the main session.", {
|
|
62
|
+
return createToolDispatch(() => blocked("The send_input_to_agent tool is only available in the main session.", {
|
|
63
63
|
id,
|
|
64
|
-
});
|
|
64
|
+
}));
|
|
65
65
|
}
|
|
66
66
|
const controlPlane = context.subagentControlPlane;
|
|
67
67
|
const snapshot = controlPlane.getSnapshot(id);
|
|
68
68
|
if (!snapshot) {
|
|
69
|
-
return blocked(`Unknown subagent ID: ${id}`, { id, title: id });
|
|
69
|
+
return createToolDispatch(() => blocked(`Unknown subagent ID: ${id}`, { id, title: id }));
|
|
70
70
|
}
|
|
71
71
|
const config = context.config;
|
|
72
72
|
const target = resolveSnapshotTarget(snapshot);
|
|
73
73
|
return {
|
|
74
|
-
kind: "phased",
|
|
75
74
|
startedUiEvent: {
|
|
76
75
|
type: "send_input_to_agent_started",
|
|
77
76
|
toolCallId: toolCall.id,
|
|
@@ -101,7 +100,7 @@ export function createSendInputToAgentToolDefinition(backend) {
|
|
|
101
100
|
message: reason,
|
|
102
101
|
uiText,
|
|
103
102
|
};
|
|
104
|
-
return {
|
|
103
|
+
return { toolResult, uiEvent };
|
|
105
104
|
}
|
|
106
105
|
const sendResult = controlPlane.sendInput({
|
|
107
106
|
id,
|
|
@@ -123,7 +122,7 @@ export function createSendInputToAgentToolDefinition(backend) {
|
|
|
123
122
|
headerTarget: target.title,
|
|
124
123
|
reason: sendResult.reason,
|
|
125
124
|
};
|
|
126
|
-
return {
|
|
125
|
+
return { toolResult, uiEvent };
|
|
127
126
|
}
|
|
128
127
|
const resultText = formatSendInputToolResult(sendResult);
|
|
129
128
|
const toolResult = createToolResult(toolCall, resultText, false);
|
|
@@ -143,7 +142,7 @@ export function createSendInputToAgentToolDefinition(backend) {
|
|
|
143
142
|
status: "success",
|
|
144
143
|
uiText,
|
|
145
144
|
};
|
|
146
|
-
return {
|
|
145
|
+
return { toolResult, uiEvent };
|
|
147
146
|
})(),
|
|
148
147
|
};
|
|
149
148
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send_input_to_agent.js","sourceRoot":"","sources":["../../../src/core/tools/send_input_to_agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EACL,yBAAyB,GAM1B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAEhE,MAAM,+BAA+B,GAAG;IACtC,kDAAkD;IAClD,8DAA8D;CAC/D,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ,MAAM,kCAAkC,GAAG,+BAA+B,CAAC;AAE3E,MAAM,sCAAsC,GAAG;IAC7C,qCAAqC;IACrC,kEAAkE;CACnE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ,MAAM,CAAC,MAAM,wBAAwB,GAAS;IAC5C,IAAI,EAAE,6BAA6B;IACnC,WAAW,EAAE,+BAA+B;IAC5C,UAAU,EAAE,IAAI,CAAC,MAAM,CACrB;QACE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,kCAAkC,EAAE,CAAC;QACpE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,sCAAsC,EAAE,CAAC;KAC7E,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAChC;CACF,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACjC,CAAC,CAAC;AAEH,SAAS,yBAAyB,CAAC,IAAiD;IAClF,OAAO,CAAC,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE,EAAE,iBAAiB,CAAC,CAAC,IAAI,CAC7F,IAAI,CACL,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,QAA+B;IAC5D,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,oCAAoC,CAClD,OAA6B;IAE7B,OAAO;QACL,MAAM,EAAE,wBAAwB;QAChC,KAAK,CAAC,QAAQ,CACZ,QAAkB,EAClB,MAAmB,EACnB,OAA4B;YAE5B,IAAI,EAAE,GAAG,EAAE,CAAC;YACZ,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,YAAY,GAAG,qBAAqB,CAAC;YAEzC,MAAM,OAAO,GAAG,CACd,MAAc,EACd,OAAwD,EACxD,EAAE;gBACF,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACrD,MAAM,OAAO,GAAgB;oBAC3B,IAAI,EAAE,6BAA6B;oBACnC,UAAU,EAAE,QAAQ,CAAC,EAAE;oBACvB,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,SAAS,CAAC;oBACzC,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,SAAS;oBAChC,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,YAAY;oBACrC,YAAY,EAAE,OAAO,EAAE,KAAK,IAAI,YAAY;oBAC5C,MAAM;iBACP,CAAC;gBACF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"send_input_to_agent.js","sourceRoot":"","sources":["../../../src/core/tools/send_input_to_agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { getSubagentDescription, resolveSubagentEffectiveSettings } from "../sub
|
|
|
6
6
|
import { formatCwd } from "../utils/format.js";
|
|
7
7
|
import { createToolError, createToolResult } from "../utils/messages.js";
|
|
8
8
|
import { parseToolArgs } from "../utils/zod.js";
|
|
9
|
-
import { isMainToolDispatchContext, } from "./registry.js";
|
|
9
|
+
import { createToolDispatch, isMainToolDispatchContext, } from "./registry.js";
|
|
10
10
|
import { buildSubagentUiText } from "./subagent_ui.js";
|
|
11
11
|
import { TOOL_NAME_SPAWN_AGENT } from "./tool_names.js";
|
|
12
12
|
const SPAWN_AGENT_DESCRIPTION = [
|
|
@@ -86,21 +86,21 @@ export function createSpawnAgentToolDefinition(backend) {
|
|
|
86
86
|
headerTarget: details?.title ?? headerTarget,
|
|
87
87
|
reason,
|
|
88
88
|
};
|
|
89
|
-
return {
|
|
89
|
+
return { toolResult, uiEvent };
|
|
90
90
|
};
|
|
91
91
|
const parsedArgs = parseToolArgs(spawnArgsSchema, toolCall.arguments);
|
|
92
92
|
if (!parsedArgs.ok) {
|
|
93
|
-
return blocked(`Invalid arguments: ${parsedArgs.error}`);
|
|
93
|
+
return createToolDispatch(() => blocked(`Invalid arguments: ${parsedArgs.error}`));
|
|
94
94
|
}
|
|
95
95
|
const { prompt, model, workingDirectory } = parsedArgs.data;
|
|
96
96
|
name = parsedArgs.data.name;
|
|
97
97
|
title = parsedArgs.data.title;
|
|
98
98
|
headerTarget = title;
|
|
99
99
|
if (!isMainToolDispatchContext(context)) {
|
|
100
|
-
return blocked("The spawn_agent tool is only available in the main session.", {
|
|
100
|
+
return createToolDispatch(() => blocked("The spawn_agent tool is only available in the main session.", {
|
|
101
101
|
name,
|
|
102
102
|
title,
|
|
103
|
-
});
|
|
103
|
+
}));
|
|
104
104
|
}
|
|
105
105
|
const { persona, cwd: baseCwd, subagentPrompts } = context;
|
|
106
106
|
const cwd = workingDirectory ? resolve(baseCwd, workingDirectory) : baseCwd;
|
|
@@ -110,7 +110,7 @@ export function createSpawnAgentToolDefinition(backend) {
|
|
|
110
110
|
let effectiveSubagentPrompts = subagentPrompts;
|
|
111
111
|
if (workingDirectory) {
|
|
112
112
|
if (!context.resolveSubagentRuntime) {
|
|
113
|
-
return blocked("Working-directory context resolution is unavailable.", { name, title });
|
|
113
|
+
return createToolDispatch(() => blocked("Working-directory context resolution is unavailable.", { name, title }));
|
|
114
114
|
}
|
|
115
115
|
try {
|
|
116
116
|
const runtime = await context.resolveSubagentRuntime({ cwd, persona });
|
|
@@ -120,53 +120,53 @@ export function createSpawnAgentToolDefinition(backend) {
|
|
|
120
120
|
effectiveSubagentPrompts = runtime.subagentPrompts;
|
|
121
121
|
}
|
|
122
122
|
catch (error) {
|
|
123
|
-
return blocked(`Failed to build the subagent prompt for workingDirectory '${cwd}': ${error.message}`, {
|
|
123
|
+
return createToolDispatch(() => blocked(`Failed to build the subagent prompt for workingDirectory '${cwd}': ${error.message}`, {
|
|
124
124
|
name,
|
|
125
125
|
title,
|
|
126
|
-
});
|
|
126
|
+
}));
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
if (!effectivePersona.subagents || Object.keys(effectivePersona.subagents).length === 0) {
|
|
130
|
-
return blocked("The spawn_agent tool is not enabled for the resolved persona.", {
|
|
130
|
+
return createToolDispatch(() => blocked("The spawn_agent tool is not enabled for the resolved persona.", {
|
|
131
131
|
name,
|
|
132
132
|
title,
|
|
133
|
-
});
|
|
133
|
+
}));
|
|
134
134
|
}
|
|
135
135
|
const personaConfig = effectivePersona.subagents[name];
|
|
136
136
|
if (!personaConfig) {
|
|
137
|
-
return blocked(`Subagent '${name}' is not enabled for the resolved persona.`, {
|
|
137
|
+
return createToolDispatch(() => blocked(`Subagent '${name}' is not enabled for the resolved persona.`, {
|
|
138
138
|
name,
|
|
139
139
|
title,
|
|
140
|
-
});
|
|
140
|
+
}));
|
|
141
141
|
}
|
|
142
142
|
const systemPrompt = effectiveSubagentPrompts[name];
|
|
143
143
|
if (!systemPrompt) {
|
|
144
|
-
return blocked(`Subagent '${name}' is missing its system prompt.`, {
|
|
144
|
+
return createToolDispatch(() => blocked(`Subagent '${name}' is missing its system prompt.`, {
|
|
145
145
|
name,
|
|
146
146
|
title,
|
|
147
|
-
});
|
|
147
|
+
}));
|
|
148
148
|
}
|
|
149
149
|
let launchModelOverride;
|
|
150
150
|
if (model) {
|
|
151
151
|
const parsedLaunchModel = parseSubagentLaunchModel(model, { resolveModel: modelResolver });
|
|
152
152
|
if (parsedLaunchModel.error || !parsedLaunchModel.launchModel) {
|
|
153
|
-
return blocked(`Invalid model parameter: ${parsedLaunchModel.error}.`, {
|
|
153
|
+
return createToolDispatch(() => blocked(`Invalid model parameter: ${parsedLaunchModel.error}.`, {
|
|
154
154
|
name,
|
|
155
155
|
title,
|
|
156
|
-
});
|
|
156
|
+
}));
|
|
157
157
|
}
|
|
158
158
|
const launchModels = personaConfig.launchModels ?? [];
|
|
159
159
|
if (launchModels.length === 0) {
|
|
160
|
-
return blocked(`Subagent '${name}' does not allow launch model overrides. Allowed values: ${formatAllowedLaunchModels(launchModels)}.`, {
|
|
160
|
+
return createToolDispatch(() => blocked(`Subagent '${name}' does not allow launch model overrides. Allowed values: ${formatAllowedLaunchModels(launchModels)}.`, {
|
|
161
161
|
name,
|
|
162
162
|
title,
|
|
163
|
-
});
|
|
163
|
+
}));
|
|
164
164
|
}
|
|
165
165
|
if (!launchModels.includes(parsedLaunchModel.launchModel.normalized)) {
|
|
166
|
-
return blocked(`Model '${parsedLaunchModel.launchModel.normalized}' is not allowed for subagent '${name}'. Allowed values: ${formatAllowedLaunchModels(launchModels)}.`, {
|
|
166
|
+
return createToolDispatch(blocked(`Model '${parsedLaunchModel.launchModel.normalized}' is not allowed for subagent '${name}'. Allowed values: ${formatAllowedLaunchModels(launchModels)}.`, {
|
|
167
167
|
name,
|
|
168
168
|
title,
|
|
169
|
-
});
|
|
169
|
+
}));
|
|
170
170
|
}
|
|
171
171
|
launchModelOverride = parsedLaunchModel.launchModel;
|
|
172
172
|
}
|
|
@@ -189,7 +189,6 @@ export function createSpawnAgentToolDefinition(backend) {
|
|
|
189
189
|
: undefined;
|
|
190
190
|
const statusPrefixParts = [name, modelLabel, statusWorkingDirectory].filter(Boolean);
|
|
191
191
|
return {
|
|
192
|
-
kind: "phased",
|
|
193
192
|
startedUiEvent: {
|
|
194
193
|
type: "spawn_agent_started",
|
|
195
194
|
toolCallId: toolCall.id,
|
|
@@ -217,7 +216,7 @@ export function createSpawnAgentToolDefinition(backend) {
|
|
|
217
216
|
message: reason,
|
|
218
217
|
uiText,
|
|
219
218
|
};
|
|
220
|
-
return {
|
|
219
|
+
return { toolResult, uiEvent };
|
|
221
220
|
}
|
|
222
221
|
const spawnResult = controlPlane.spawn({
|
|
223
222
|
runtimeConfig,
|
|
@@ -241,7 +240,7 @@ export function createSpawnAgentToolDefinition(backend) {
|
|
|
241
240
|
headerTarget,
|
|
242
241
|
reason: spawnResult.reason,
|
|
243
242
|
};
|
|
244
|
-
return {
|
|
243
|
+
return { toolResult, uiEvent };
|
|
245
244
|
}
|
|
246
245
|
const resultText = formatSpawnToolResult({
|
|
247
246
|
id: spawnResult.id,
|
|
@@ -267,7 +266,7 @@ export function createSpawnAgentToolDefinition(backend) {
|
|
|
267
266
|
agentId: spawnResult.id,
|
|
268
267
|
uiText,
|
|
269
268
|
};
|
|
270
|
-
return {
|
|
269
|
+
return { toolResult, uiEvent };
|
|
271
270
|
})(),
|
|
272
271
|
};
|
|
273
272
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn_agent.js","sourceRoot":"","sources":["../../../src/core/tools/spawn_agent.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"spawn_agent.js","sourceRoot":"","sources":["../../../src/core/tools/spawn_agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { Type } from "typebox";
|
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { createToolError, createToolResult } from "../utils/messages.js";
|
|
4
4
|
import { parseToolArgs } from "../utils/zod.js";
|
|
5
|
-
import { isMainToolDispatchContext, } from "./registry.js";
|
|
5
|
+
import { createToolDispatch, isMainToolDispatchContext, } from "./registry.js";
|
|
6
6
|
import { buildSubagentUiText, formatSubagentStatusLine } from "./subagent_ui.js";
|
|
7
7
|
import { TOOL_NAME_TERMINATE_AGENT } from "./tool_names.js";
|
|
8
8
|
const TERMINATE_AGENT_DESCRIPTION = [
|
|
@@ -65,20 +65,19 @@ export function createTerminateAgentToolDefinition() {
|
|
|
65
65
|
headerTarget,
|
|
66
66
|
reason,
|
|
67
67
|
};
|
|
68
|
-
return {
|
|
68
|
+
return { toolResult, uiEvent };
|
|
69
69
|
};
|
|
70
70
|
const parsedArgs = parseToolArgs(terminateArgsSchema, toolCall.arguments);
|
|
71
71
|
if (!parsedArgs.ok) {
|
|
72
|
-
return blocked(`Invalid arguments: ${parsedArgs.error}`);
|
|
72
|
+
return createToolDispatch(() => blocked(`Invalid arguments: ${parsedArgs.error}`));
|
|
73
73
|
}
|
|
74
74
|
({ id } = parsedArgs.data);
|
|
75
75
|
headerTarget = id;
|
|
76
76
|
if (!isMainToolDispatchContext(context)) {
|
|
77
|
-
return blocked("The terminate_agent tool is only available in the main session.");
|
|
77
|
+
return createToolDispatch(() => blocked("The terminate_agent tool is only available in the main session."));
|
|
78
78
|
}
|
|
79
79
|
const controlPlane = context.subagentControlPlane;
|
|
80
80
|
return {
|
|
81
|
-
kind: "phased",
|
|
82
81
|
startedUiEvent: {
|
|
83
82
|
type: "terminate_agent_started",
|
|
84
83
|
toolCallId: toolCall.id,
|
|
@@ -106,7 +105,7 @@ export function createTerminateAgentToolDefinition() {
|
|
|
106
105
|
uiText,
|
|
107
106
|
};
|
|
108
107
|
const toolResult = createToolError(toolCall, message);
|
|
109
|
-
return {
|
|
108
|
+
return { toolResult, uiEvent };
|
|
110
109
|
}
|
|
111
110
|
const resultText = formatTerminateResult(result);
|
|
112
111
|
const succeeded = result.status === "success";
|
|
@@ -134,7 +133,7 @@ export function createTerminateAgentToolDefinition() {
|
|
|
134
133
|
uiText,
|
|
135
134
|
};
|
|
136
135
|
const toolResult = createToolResult(toolCall, resultText, !succeeded);
|
|
137
|
-
return {
|
|
136
|
+
return { toolResult, uiEvent };
|
|
138
137
|
}
|
|
139
138
|
catch (error) {
|
|
140
139
|
const message = error instanceof Error ? error.message : String(error);
|
|
@@ -155,7 +154,7 @@ export function createTerminateAgentToolDefinition() {
|
|
|
155
154
|
uiText,
|
|
156
155
|
};
|
|
157
156
|
const toolResult = createToolError(toolCall, reason);
|
|
158
|
-
return {
|
|
157
|
+
return { toolResult, uiEvent };
|
|
159
158
|
}
|
|
160
159
|
})(),
|
|
161
160
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminate_agent.js","sourceRoot":"","sources":["../../../src/core/tools/terminate_agent.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"terminate_agent.js","sourceRoot":"","sources":["../../../src/core/tools/terminate_agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { z } from "zod";
|
|
|
5
5
|
import { createToolError } from "../utils/messages.js";
|
|
6
6
|
import { formatBytes } from "../utils/truncate.js";
|
|
7
7
|
import { formatZodError } from "../utils/zod.js";
|
|
8
|
+
import { createToolDispatch } from "./registry.js";
|
|
8
9
|
import { TOOL_NAME_VIEW_IMAGE } from "./tool_names.js";
|
|
9
10
|
const VIEW_IMAGE_DESCRIPTION = [
|
|
10
11
|
"View an image file and return it to the model.",
|
|
@@ -155,65 +156,67 @@ export function createViewImageToolDefinition(backend) {
|
|
|
155
156
|
return {
|
|
156
157
|
schema: VIEW_IMAGE_TOOL,
|
|
157
158
|
async dispatch(toolCall) {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
const
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
159
|
+
return createToolDispatch(async () => {
|
|
160
|
+
const parsedArgs = parseViewImageArgs(toolCall.arguments);
|
|
161
|
+
const path = parsedArgs.ok ? parsedArgs.data.path : "";
|
|
162
|
+
const headerTarget = path || "(invalid arguments)";
|
|
163
|
+
const blocked = (reason) => {
|
|
164
|
+
const toolResult = createToolError(toolCall, reason);
|
|
165
|
+
const uiEvent = {
|
|
166
|
+
type: "view_image_blocked",
|
|
167
|
+
toolCallId: toolCall.id,
|
|
168
|
+
path: path || "(invalid path)",
|
|
169
|
+
headerTarget,
|
|
170
|
+
reason,
|
|
171
|
+
};
|
|
172
|
+
return { toolResult, uiEvent };
|
|
169
173
|
};
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
if (!parsedArgs.ok) {
|
|
173
|
-
return blocked(`Invalid arguments: ${parsedArgs.error}`);
|
|
174
|
-
}
|
|
175
|
-
try {
|
|
176
|
-
const { path: resolvedPath, content } = await backend.readFileBinary(path, {
|
|
177
|
-
maxBytes: VIEW_IMAGE_READ_MAX_BYTES,
|
|
178
|
-
});
|
|
179
|
-
const detected = await fileTypeFromBuffer(content);
|
|
180
|
-
const mimeType = detected?.mime;
|
|
181
|
-
if (!isSupportedImageType(mimeType)) {
|
|
182
|
-
return blocked(`Unsupported image format. Supported formats: ${SUPPORTED_IMAGE_TYPES.join(", ")}.`);
|
|
174
|
+
if (!parsedArgs.ok) {
|
|
175
|
+
return blocked(`Invalid arguments: ${parsedArgs.error}`);
|
|
183
176
|
}
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
177
|
+
try {
|
|
178
|
+
const { path: resolvedPath, content } = await backend.readFileBinary(path, {
|
|
179
|
+
maxBytes: VIEW_IMAGE_READ_MAX_BYTES,
|
|
180
|
+
});
|
|
181
|
+
const detected = await fileTypeFromBuffer(content);
|
|
182
|
+
const mimeType = detected?.mime;
|
|
183
|
+
if (!isSupportedImageType(mimeType)) {
|
|
184
|
+
return blocked(`Unsupported image format. Supported formats: ${SUPPORTED_IMAGE_TYPES.join(", ")}.`);
|
|
185
|
+
}
|
|
186
|
+
const encodedImage = await prepareImageForModel(content, mimeType);
|
|
187
|
+
const data = encodedImage.content.toString("base64");
|
|
188
|
+
const resultText = `Viewed ${resolvedPath} (${encodedImage.mimeType})`;
|
|
189
|
+
const toolResult = {
|
|
190
|
+
role: "toolResult",
|
|
191
|
+
toolCallId: toolCall.id,
|
|
192
|
+
toolName: toolCall.name,
|
|
193
|
+
content: [
|
|
194
|
+
{ type: "text", text: resultText },
|
|
195
|
+
{ type: "image", data, mimeType: encodedImage.mimeType },
|
|
196
|
+
],
|
|
197
|
+
isError: false,
|
|
198
|
+
timestamp: Date.now(),
|
|
199
|
+
};
|
|
200
|
+
const uiText = buildViewImageUiText({
|
|
201
|
+
mimeType: encodedImage.mimeType,
|
|
202
|
+
fullText: resultText,
|
|
203
|
+
});
|
|
204
|
+
const uiEvent = {
|
|
205
|
+
type: "view_image_success",
|
|
206
|
+
toolCallId: toolCall.id,
|
|
207
|
+
path: resolvedPath,
|
|
208
|
+
headerTarget: resolvedPath,
|
|
209
|
+
mimeType: encodedImage.mimeType,
|
|
210
|
+
bytes: encodedImage.content.byteLength,
|
|
211
|
+
uiText,
|
|
212
|
+
};
|
|
213
|
+
return { toolResult, uiEvent };
|
|
214
|
+
}
|
|
215
|
+
catch (e) {
|
|
216
|
+
const errorMessage = e instanceof Error ? e.message : String(e);
|
|
217
|
+
return blocked(`Tool view_image failed: ${errorMessage}`);
|
|
218
|
+
}
|
|
219
|
+
});
|
|
217
220
|
},
|
|
218
221
|
};
|
|
219
222
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view_image.js","sourceRoot":"","sources":["../../../src/core/tools/view_image.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"view_image.js","sourceRoot":"","sources":["../../../src/core/tools/view_image.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { z } from "zod";
|
|
|
3
3
|
import { createToolError, createToolResult } from "../utils/messages.js";
|
|
4
4
|
import { truncateForTokens } from "../utils/truncate.js";
|
|
5
5
|
import { parseToolArgs } from "../utils/zod.js";
|
|
6
|
-
import { isMainToolDispatchContext, } from "./registry.js";
|
|
6
|
+
import { createToolDispatch, isMainToolDispatchContext, } from "./registry.js";
|
|
7
7
|
import { buildSubagentUiText, formatSubagentStatusLine } from "./subagent_ui.js";
|
|
8
8
|
import { TOOL_NAME_WAIT_FOR_AGENTS } from "./tool_names.js";
|
|
9
9
|
const WAIT_FOR_AGENTS_DESCRIPTION = [
|
|
@@ -115,11 +115,11 @@ export function createWaitForAgentsToolDefinition() {
|
|
|
115
115
|
headerTarget,
|
|
116
116
|
reason,
|
|
117
117
|
};
|
|
118
|
-
return {
|
|
118
|
+
return { toolResult, uiEvent };
|
|
119
119
|
};
|
|
120
120
|
const parsedArgs = parseToolArgs(waitArgsSchema, toolCall.arguments);
|
|
121
121
|
if (!parsedArgs.ok) {
|
|
122
|
-
return blocked(`Invalid arguments: ${parsedArgs.error}`);
|
|
122
|
+
return createToolDispatch(() => blocked(`Invalid arguments: ${parsedArgs.error}`));
|
|
123
123
|
}
|
|
124
124
|
({ ids } = parsedArgs.data);
|
|
125
125
|
headerTarget = formatHeaderTarget(ids);
|
|
@@ -133,11 +133,10 @@ export function createWaitForAgentsToolDefinition() {
|
|
|
133
133
|
}
|
|
134
134
|
const dedupedTarget = formatHeaderTarget(deduped);
|
|
135
135
|
if (!isMainToolDispatchContext(context)) {
|
|
136
|
-
return blocked("The wait_for_agents tool is only available in the main session.");
|
|
136
|
+
return createToolDispatch(() => blocked("The wait_for_agents tool is only available in the main session."));
|
|
137
137
|
}
|
|
138
138
|
const controlPlane = context.subagentControlPlane;
|
|
139
139
|
return {
|
|
140
|
-
kind: "phased",
|
|
141
140
|
startedUiEvent: {
|
|
142
141
|
type: "wait_for_agents_started",
|
|
143
142
|
toolCallId: toolCall.id,
|
|
@@ -169,7 +168,7 @@ export function createWaitForAgentsToolDefinition() {
|
|
|
169
168
|
uiText,
|
|
170
169
|
};
|
|
171
170
|
const toolResult = createToolResult(toolCall, resultText, hasFailures);
|
|
172
|
-
return {
|
|
171
|
+
return { toolResult, uiEvent };
|
|
173
172
|
}
|
|
174
173
|
catch (error) {
|
|
175
174
|
const message = error instanceof Error ? error.message : String(error);
|
|
@@ -189,7 +188,7 @@ export function createWaitForAgentsToolDefinition() {
|
|
|
189
188
|
uiText,
|
|
190
189
|
};
|
|
191
190
|
const toolResult = createToolError(toolCall, reason);
|
|
192
|
-
return {
|
|
191
|
+
return { toolResult, uiEvent };
|
|
193
192
|
}
|
|
194
193
|
})(),
|
|
195
194
|
};
|