@markusylisiurunen/tau 0.2.7 → 0.2.9

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.
Files changed (81) hide show
  1. package/README.md +39 -34
  2. package/dist/core/commands/registry.js +2 -0
  3. package/dist/core/commands/registry.js.map +1 -1
  4. package/dist/core/config/content_loader.js +75 -12
  5. package/dist/core/config/content_loader.js.map +1 -1
  6. package/dist/core/events/index.js.map +1 -1
  7. package/dist/core/events/types.js.map +1 -1
  8. package/dist/core/index.js +4 -2
  9. package/dist/core/index.js.map +1 -1
  10. package/dist/core/personas.js +9 -3
  11. package/dist/core/personas.js.map +1 -1
  12. package/dist/core/session/core_session.js +6 -0
  13. package/dist/core/session/core_session.js.map +1 -1
  14. package/dist/core/session/runner.js +53 -189
  15. package/dist/core/session/runner.js.map +1 -1
  16. package/dist/core/session/session_engine.js +26 -1
  17. package/dist/core/session/session_engine.js.map +1 -1
  18. package/dist/core/subagents/control_plane.js +256 -0
  19. package/dist/core/subagents/control_plane.js.map +1 -0
  20. package/dist/core/subagents/explore.js +6 -4
  21. package/dist/core/subagents/explore.js.map +1 -1
  22. package/dist/core/subagents/subagent_engine.js +31 -19
  23. package/dist/core/subagents/subagent_engine.js.map +1 -1
  24. package/dist/core/subagents/web.js +7 -4
  25. package/dist/core/subagents/web.js.map +1 -1
  26. package/dist/core/tools/catalog.js +24 -6
  27. package/dist/core/tools/catalog.js.map +1 -1
  28. package/dist/core/tools/communicate.js +45 -0
  29. package/dist/core/tools/communicate.js.map +1 -0
  30. package/dist/core/tools/edit.js +1 -1
  31. package/dist/core/tools/edit.js.map +1 -1
  32. package/dist/core/tools/execution_backend.js +2 -2
  33. package/dist/core/tools/execution_backend.js.map +1 -1
  34. package/dist/core/tools/registry.js.map +1 -1
  35. package/dist/core/tools/spawn_agent.js +173 -0
  36. package/dist/core/tools/spawn_agent.js.map +1 -0
  37. package/dist/core/tools/subagent_ui.js +39 -0
  38. package/dist/core/tools/subagent_ui.js.map +1 -0
  39. package/dist/core/tools/terminate_agent.js +141 -0
  40. package/dist/core/tools/terminate_agent.js.map +1 -0
  41. package/dist/core/tools/wait_for_agent.js +178 -0
  42. package/dist/core/tools/wait_for_agent.js.map +1 -0
  43. package/dist/core/utils/auto_retry.js +27 -2
  44. package/dist/core/utils/auto_retry.js.map +1 -1
  45. package/dist/core/utils/{fork.js → compact.js} +2 -2
  46. package/dist/core/utils/compact.js.map +1 -0
  47. package/dist/core/utils/format.js +17 -0
  48. package/dist/core/utils/format.js.map +1 -1
  49. package/dist/core/utils/project_files.js +31 -5
  50. package/dist/core/utils/project_files.js.map +1 -1
  51. package/dist/core/utils/subagent_utils.js +4 -0
  52. package/dist/core/utils/subagent_utils.js.map +1 -1
  53. package/dist/core/version.js +1 -1
  54. package/dist/tui/chat_controller.js +65 -16
  55. package/dist/tui/chat_controller.js.map +1 -1
  56. package/dist/tui/chat_view.js +29 -5
  57. package/dist/tui/chat_view.js.map +1 -1
  58. package/dist/tui/tool_ui_router.js +89 -77
  59. package/dist/tui/tool_ui_router.js.map +1 -1
  60. package/dist/tui/ui/chat_message_model.js +0 -2
  61. package/dist/tui/ui/chat_message_model.js.map +1 -1
  62. package/dist/tui/ui/custom_editor.js +42 -6
  63. package/dist/tui/ui/custom_editor.js.map +1 -1
  64. package/dist/tui/ui/subagent_editor_pane.js +67 -0
  65. package/dist/tui/ui/subagent_editor_pane.js.map +1 -0
  66. package/dist/tui/ui/subagent_panel.js +249 -0
  67. package/dist/tui/ui/subagent_panel.js.map +1 -0
  68. package/dist/tui/ui/theme/theme.js +1 -0
  69. package/dist/tui/ui/theme/theme.js.map +1 -1
  70. package/dist/tui/ui/tool_ui_registry.js +226 -41
  71. package/dist/tui/ui/tool_ui_registry.js.map +1 -1
  72. package/package.json +1 -1
  73. package/dist/core/tools/fork.js +0 -239
  74. package/dist/core/tools/fork.js.map +0 -1
  75. package/dist/core/tools/task.js +0 -151
  76. package/dist/core/tools/task.js.map +0 -1
  77. package/dist/core/tools/task_schema.js +0 -29
  78. package/dist/core/tools/task_schema.js.map +0 -1
  79. package/dist/core/utils/fork.js.map +0 -1
  80. package/dist/tui/ui/task_execution.js +0 -256
  81. package/dist/tui/ui/task_execution.js.map +0 -1
@@ -0,0 +1,45 @@
1
+ import { Type } from "@sinclair/typebox";
2
+ import { z } from "zod";
3
+ import { createToolError, createToolSuccess } from "../utils/messages.js";
4
+ const COMMUNICATE_DESCRIPTION = [
5
+ "Send a message from a subagent back to the main agent.",
6
+ "The main agent receives these outputs when it waits for subagents to finish.",
7
+ ].join(" ");
8
+ const COMMUNICATE_TEXT_DESCRIPTION = "Text to send to the main agent.";
9
+ export const COMMUNICATE_TOOL = {
10
+ name: "communicate",
11
+ description: COMMUNICATE_DESCRIPTION,
12
+ parameters: Type.Object({
13
+ text: Type.String({ description: COMMUNICATE_TEXT_DESCRIPTION }),
14
+ }, { additionalProperties: false }),
15
+ };
16
+ const communicateArgsSchema = z.object({
17
+ text: z.string().catch(""),
18
+ });
19
+ function parseCommunicateArgs(raw) {
20
+ const parsed = communicateArgsSchema.safeParse(raw);
21
+ return parsed.success ? parsed.data : { text: "" };
22
+ }
23
+ export function createCommunicateToolDefinition() {
24
+ return {
25
+ schema: COMMUNICATE_TOOL,
26
+ async dispatch(toolCall, _riskLevel, _signal, context) {
27
+ const { text } = parseCommunicateArgs(toolCall.arguments);
28
+ const blocked = (reason) => {
29
+ const toolResult = createToolError(toolCall, reason);
30
+ return { kind: "single", toolResult };
31
+ };
32
+ if (!text.trim()) {
33
+ return blocked("missing 'text' parameter. provide a message to send.");
34
+ }
35
+ const subagentContext = context?.subagentContext;
36
+ if (!subagentContext) {
37
+ return blocked("communicate tool is only available to subagents.");
38
+ }
39
+ subagentContext.controlPlane.recordCommunicate(subagentContext.id, text);
40
+ const toolResult = createToolSuccess(toolCall, "communicated");
41
+ return { kind: "single", toolResult };
42
+ },
43
+ };
44
+ }
45
+ //# sourceMappingURL=communicate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"communicate.js","sourceRoot":"","sources":["../../../src/core/tools/communicate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG1E,MAAM,uBAAuB,GAAG;IAC9B,wDAAwD;IACxD,8EAA8E;CAC/E,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ,MAAM,4BAA4B,GAAG,iCAAiC,CAAC;AAEvE,MAAM,CAAC,MAAM,gBAAgB,GAAS;IACpC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,uBAAuB;IACpC,UAAU,EAAE,IAAI,CAAC,MAAM,CACrB;QACE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;KACjE,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAChC;CACF,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;CAC3B,CAAC,CAAC;AAEH,SAAS,oBAAoB,CAAC,GAAY;IACxC,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACpD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,+BAA+B;IAC7C,OAAO;QACL,MAAM,EAAE,gBAAgB;QACxB,KAAK,CAAC,QAAQ,CACZ,QAAkB,EAClB,UAAqB,EACrB,OAAqB,EACrB,OAA6B;YAE7B,MAAM,EAAE,IAAI,EAAE,GAAG,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAE1D,MAAM,OAAO,GAAG,CAAC,MAAc,EAAsB,EAAE;gBACrD,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACrD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;YACxC,CAAC,CAAC;YAEF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACjB,OAAO,OAAO,CAAC,sDAAsD,CAAC,CAAC;YACzE,CAAC;YAED,MAAM,eAAe,GAAG,OAAO,EAAE,eAAe,CAAC;YACjD,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,OAAO,OAAO,CAAC,kDAAkD,CAAC,CAAC;YACrE,CAAC;YAED,eAAe,CAAC,YAAY,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAEzE,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YAC/D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;QACxC,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -246,7 +246,7 @@ export function createEditToolDefinition(backend) {
246
246
  return blocked(`found ${matchCount} matches for oldText, but exactly 1 is required. make oldText more specific to match only one location.\n\nfirst match context:\n${firstMatchContext}`);
247
247
  }
248
248
  // Exactly one match -> perform the replacement
249
- const newContent = content.replace(oldText, newText);
249
+ const newContent = content.replace(oldText, () => newText);
250
250
  try {
251
251
  await backend.writeFile(path, newContent);
252
252
  const oldLines = oldText.split("\n").length;
@@ -1 +1 @@
1
- {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/core/tools/edit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/core/tools/edit.ts"],"names":[],"mappings":"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"}
@@ -93,7 +93,7 @@ export function createLocalToolExecutionBackend(deps) {
93
93
  },
94
94
  async editFile(path, patch) {
95
95
  const content = readFileSync(path, "utf-8");
96
- const nextContent = content.replace(patch.oldText, patch.newText);
96
+ const nextContent = content.replace(patch.oldText, () => patch.newText);
97
97
  writeFileSync(path, nextContent, "utf-8");
98
98
  },
99
99
  async listDir(path) {
@@ -270,7 +270,7 @@ export async function createSandboxToolExecutionBackend(options) {
270
270
  },
271
271
  async editFile(path, patch) {
272
272
  const content = await backend.readFile(path, { restricted: false });
273
- const nextContent = content.content.replace(patch.oldText, patch.newText);
273
+ const nextContent = content.content.replace(patch.oldText, () => patch.newText);
274
274
  await backend.writeFile(path, nextContent);
275
275
  },
276
276
  async listDir(path) {
@@ -1 +1 @@
1
- {"version":3,"file":"execution_backend.js","sourceRoot":"","sources":["../../../src/core/tools/execution_backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution_backend.js","sourceRoot":"","sources":["../../../src/core/tools/execution_backend.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/core/tools/registry.ts"],"names":[],"mappings":"AA0MA,MAAM,OAAO,YAAY;IACN,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAC;IAE5D,YAAY,WAA6B;QACvC,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,GAAG,CAAC,QAAgB;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,qBAAqB,CAAC,YAAqB;QACzC,OAAO,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC;IACtC,CAAC;CACF"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/core/tools/registry.ts"],"names":[],"mappings":"AA4OA,MAAM,OAAO,YAAY;IACN,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAC;IAE5D,YAAY,WAA6B;QACvC,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,GAAG,CAAC,QAAgB;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,qBAAqB,CAAC,YAAqB;QACzC,OAAO,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC;IACtC,CAAC;CACF"}
@@ -0,0 +1,173 @@
1
+ import { Type } from "@sinclair/typebox";
2
+ import { z } from "zod";
3
+ import { getSubagentDefinitionFromString } from "../subagents/registry.js";
4
+ import { createToolError, createToolResult } from "../utils/messages.js";
5
+ import { buildSubagentUiText } from "./subagent_ui.js";
6
+ const SPAWN_AGENT_DESCRIPTION = [
7
+ "Spawn a subagent to run in the background and return its id.",
8
+ "Use wait_for_agent to collect outputs once it finishes.",
9
+ "See your system instructions for available subagents and their capabilities.",
10
+ ].join(" ");
11
+ const SPAWN_AGENT_NAME_DESCRIPTION = [
12
+ "Subagent name to run.",
13
+ "Available subagents depend on the current persona configuration.",
14
+ ].join(" ");
15
+ const SPAWN_AGENT_TITLE_DESCRIPTION = [
16
+ "A short human-friendly UI title shown while the subagent runs.",
17
+ "Do not use title case; all lower-case is preferred except for proper nouns.",
18
+ ].join(" ");
19
+ const SPAWN_AGENT_PROMPT_DESCRIPTION = [
20
+ "The prompt to send to the subagent.",
21
+ "This is the only input the subagent will receive; it must be self-contained and specific.",
22
+ "Include all necessary context and instructions in the prompt for the subagent to complete " +
23
+ "the request successfully.",
24
+ ].join(" ");
25
+ export const SPAWN_AGENT_TOOL = {
26
+ name: "spawn_agent",
27
+ description: SPAWN_AGENT_DESCRIPTION,
28
+ parameters: Type.Object({
29
+ name: Type.String({ description: SPAWN_AGENT_NAME_DESCRIPTION }),
30
+ title: Type.String({ description: SPAWN_AGENT_TITLE_DESCRIPTION }),
31
+ prompt: Type.String({ description: SPAWN_AGENT_PROMPT_DESCRIPTION }),
32
+ }, { additionalProperties: false }),
33
+ };
34
+ const spawnArgsSchema = z.object({
35
+ name: z.string().trim().catch(""),
36
+ title: z.string().trim().catch(""),
37
+ prompt: z.string().trim().catch(""),
38
+ });
39
+ function parseSpawnArgs(raw) {
40
+ const parsed = spawnArgsSchema.safeParse(raw);
41
+ return parsed.success ? parsed.data : { name: "", title: "", prompt: "" };
42
+ }
43
+ function getEnabledSubagentConfig(context, definition) {
44
+ const persona = context?.persona;
45
+ const config = persona?.subagents;
46
+ return config?.[definition.name];
47
+ }
48
+ function formatSpawnToolResult(args) {
49
+ return [`id: ${args.id}`, `name: ${args.name}`, `title: ${args.title}`, "status: running"].join("\n");
50
+ }
51
+ export function createSpawnAgentToolDefinition(backend) {
52
+ return {
53
+ schema: SPAWN_AGENT_TOOL,
54
+ async dispatch(toolCall, _riskLevel, signal, context) {
55
+ const { name, title, prompt } = parseSpawnArgs(toolCall.arguments);
56
+ const blocked = (reason, details) => {
57
+ const toolResult = createToolError(toolCall, reason);
58
+ const uiEvent = {
59
+ type: "spawn_agent_blocked",
60
+ toolCallId: toolCall.id,
61
+ name: details?.name ?? (name || undefined),
62
+ title: details?.title ?? (title || "(subagent)"),
63
+ reason,
64
+ };
65
+ return { kind: "single", toolResult, uiEvent };
66
+ };
67
+ if (!name || !title || !prompt) {
68
+ const missing = [
69
+ !name ? "name" : undefined,
70
+ !title ? "title" : undefined,
71
+ !prompt ? "prompt" : undefined,
72
+ ]
73
+ .filter(Boolean)
74
+ .join(", ");
75
+ return blocked(`missing required parameter(s): ${missing}.`, {
76
+ title: title || "(subagent)",
77
+ });
78
+ }
79
+ if (!context?.persona?.subagents || Object.keys(context.persona.subagents).length === 0) {
80
+ return blocked("spawn_agent tool is not enabled for the current persona.", {
81
+ name,
82
+ title,
83
+ });
84
+ }
85
+ const definition = getSubagentDefinitionFromString(name);
86
+ if (!definition) {
87
+ return blocked(`unknown subagent '${name}'.`, {
88
+ name,
89
+ title,
90
+ });
91
+ }
92
+ const personaConfig = getEnabledSubagentConfig(context, definition);
93
+ if (!personaConfig) {
94
+ return blocked(`subagent '${definition.name}' is not enabled for the current persona.`, {
95
+ name: definition.name,
96
+ title,
97
+ });
98
+ }
99
+ const controlPlane = context.subagentControlPlane;
100
+ if (!controlPlane) {
101
+ return blocked("subagent control plane is not available.", {
102
+ name: definition.name,
103
+ title,
104
+ });
105
+ }
106
+ return {
107
+ kind: "phased",
108
+ startedUiEvent: {
109
+ type: "spawn_agent_started",
110
+ toolCallId: toolCall.id,
111
+ name: definition.name,
112
+ title,
113
+ },
114
+ run: (async () => {
115
+ if (signal?.aborted) {
116
+ const toolResult = createToolError(toolCall, "spawn_agent aborted");
117
+ const uiEvent = {
118
+ type: "spawn_agent_finished",
119
+ toolCallId: toolCall.id,
120
+ name: definition.name,
121
+ title,
122
+ status: "error",
123
+ message: "aborted",
124
+ };
125
+ return { kind: "single", toolResult, uiEvent };
126
+ }
127
+ const spawnResult = controlPlane.spawn({
128
+ definition,
129
+ personaConfig,
130
+ prompt,
131
+ title,
132
+ config: context.config ?? {},
133
+ authPath: context.authPath,
134
+ backend,
135
+ });
136
+ if (!spawnResult.ok) {
137
+ const toolResult = createToolError(toolCall, spawnResult.reason);
138
+ const uiEvent = {
139
+ type: "spawn_agent_blocked",
140
+ toolCallId: toolCall.id,
141
+ name: definition.name,
142
+ title,
143
+ reason: spawnResult.reason,
144
+ };
145
+ return { kind: "single", toolResult, uiEvent };
146
+ }
147
+ const resultText = formatSpawnToolResult({
148
+ id: spawnResult.id,
149
+ name: definition.name,
150
+ title,
151
+ });
152
+ const toolResult = createToolResult(toolCall, resultText, false);
153
+ const uiText = buildSubagentUiText({
154
+ output: prompt,
155
+ statusText: `${definition.name} · ${spawnResult.id}`,
156
+ maxOutputLines: 16,
157
+ });
158
+ const uiEvent = {
159
+ type: "spawn_agent_finished",
160
+ toolCallId: toolCall.id,
161
+ name: definition.name,
162
+ title,
163
+ status: "success",
164
+ agentId: spawnResult.id,
165
+ uiText,
166
+ };
167
+ return { kind: "single", toolResult, uiEvent };
168
+ })(),
169
+ };
170
+ },
171
+ };
172
+ }
173
+ //# sourceMappingURL=spawn_agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spawn_agent.js","sourceRoot":"","sources":["../../../src/core/tools/spawn_agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { formatAdaptiveNumber, formatDurationMs } from "../utils/format.js";
2
+ import { buildCompactPreviewLines } from "../utils/tool_preview.js";
3
+ export function truncateOutputLines(lines, maxLines) {
4
+ if (maxLines <= 0)
5
+ return [];
6
+ if (lines.length <= maxLines)
7
+ return lines;
8
+ const keptCount = Math.max(0, maxLines - 1);
9
+ const remaining = Math.max(1, lines.length - keptCount);
10
+ const marker = `…${remaining} more lines…`;
11
+ return [...lines.slice(0, keptCount), marker];
12
+ }
13
+ export function buildSubagentUiText({ output, statusText, maxOutputLines, maxPreviewLines, }) {
14
+ const trimmed = output.trimEnd();
15
+ const outputLines = trimmed ? trimmed.split("\n") : [];
16
+ const truncatedLines = typeof maxOutputLines === "number"
17
+ ? truncateOutputLines(outputLines, maxOutputLines)
18
+ : outputLines;
19
+ const previewLimit = maxPreviewLines ?? maxOutputLines ?? truncatedLines.length;
20
+ const preview = buildCompactPreviewLines(truncatedLines, {
21
+ maxLines: previewLimit,
22
+ totalLines: truncatedLines.length,
23
+ unitLabel: "lines",
24
+ });
25
+ const previewLines = preview ? preview.split("\n").map((text) => ({ text })) : [];
26
+ const fullLines = truncatedLines.map((text) => ({ text }));
27
+ const statusLine = statusText ? ` (${statusText})` : undefined;
28
+ return {
29
+ previewLines,
30
+ statusLine,
31
+ fullLines,
32
+ };
33
+ }
34
+ export function formatSubagentStatusLine({ costTotal, durationMs }) {
35
+ const cost = `$${formatAdaptiveNumber(costTotal, 2, 5)}`;
36
+ const duration = formatDurationMs(durationMs);
37
+ return `cost ${cost} · duration ${duration}`;
38
+ }
39
+ //# sourceMappingURL=subagent_ui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent_ui.js","sourceRoot":"","sources":["../../../src/core/tools/subagent_ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAepE,MAAM,UAAU,mBAAmB,CAAC,KAAe,EAAE,QAAgB;IACnE,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAC7B,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,IAAI,SAAS,cAAc,CAAC;IAC3C,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,EAClC,MAAM,EACN,UAAU,EACV,cAAc,EACd,eAAe,GACO;IACtB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IACjC,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,MAAM,cAAc,GAClB,OAAO,cAAc,KAAK,QAAQ;QAChC,CAAC,CAAC,mBAAmB,CAAC,WAAW,EAAE,cAAc,CAAC;QAClD,CAAC,CAAC,WAAW,CAAC;IAClB,MAAM,YAAY,GAAG,eAAe,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,CAAC;IAChF,MAAM,OAAO,GAAG,wBAAwB,CAAC,cAAc,EAAE;QACvD,QAAQ,EAAE,YAAY;QACtB,UAAU,EAAE,cAAc,CAAC,MAAM;QACjC,SAAS,EAAE,OAAO;KACnB,CAAC,CAAC;IACH,MAAM,YAAY,GAAiB,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChG,MAAM,SAAS,GAAiB,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,UAAU,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IAElE,OAAO;QACL,YAAY;QACZ,UAAU;QACV,SAAS;KACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAyB;IACvF,MAAM,IAAI,GAAG,IAAI,oBAAoB,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACzD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC9C,OAAO,QAAQ,IAAI,eAAe,QAAQ,EAAE,CAAC;AAC/C,CAAC"}
@@ -0,0 +1,141 @@
1
+ import { Type } from "@sinclair/typebox";
2
+ import { z } from "zod";
3
+ import { createToolError, createToolResult } from "../utils/messages.js";
4
+ import { buildSubagentUiText, formatSubagentStatusLine } from "./subagent_ui.js";
5
+ const TERMINATE_AGENT_DESCRIPTION = [
6
+ "Terminate a running subagent and return its final status.",
7
+ "If the subagent already finished, this returns its latest status snapshot.",
8
+ ].join(" ");
9
+ const TERMINATE_AGENT_ID_DESCRIPTION = "Subagent id to terminate.";
10
+ export const TERMINATE_AGENT_TOOL = {
11
+ name: "terminate_agent",
12
+ description: TERMINATE_AGENT_DESCRIPTION,
13
+ parameters: Type.Object({
14
+ id: Type.String({ description: TERMINATE_AGENT_ID_DESCRIPTION }),
15
+ }, { additionalProperties: false }),
16
+ };
17
+ const terminateArgsSchema = z.object({
18
+ id: z.string().trim().catch(""),
19
+ });
20
+ function parseTerminateArgs(raw) {
21
+ const parsed = terminateArgsSchema.safeParse(raw);
22
+ return parsed.success ? parsed.data : { id: "" };
23
+ }
24
+ function formatTerminateResult(result) {
25
+ const payload = {
26
+ id: result.id,
27
+ name: result.name,
28
+ title: result.title,
29
+ status: result.status,
30
+ outputs: result.outputs,
31
+ error: result.error,
32
+ };
33
+ return JSON.stringify(payload, null, 2);
34
+ }
35
+ function formatTerminateOutput(result) {
36
+ const cleanedOutputs = result.outputs
37
+ .map((text) => text.trimEnd())
38
+ .filter((text) => text.trim().length > 0);
39
+ let body = cleanedOutputs.join("\n\n");
40
+ if (!body) {
41
+ const finalText = result.finalText?.trimEnd() ?? "";
42
+ body = finalText.trim().length > 0 ? finalText : "";
43
+ }
44
+ if (result.status !== "success") {
45
+ const errorLine = result.error ? `error: ${result.error}` : `status: ${result.status}`;
46
+ return body ? `${errorLine}\n${body}` : errorLine;
47
+ }
48
+ return body;
49
+ }
50
+ function getTerminateDurationMs(result) {
51
+ const finishedAt = result.finishedAt ?? Date.now();
52
+ return Math.max(0, finishedAt - result.startedAt);
53
+ }
54
+ export function createTerminateAgentToolDefinition() {
55
+ return {
56
+ schema: TERMINATE_AGENT_TOOL,
57
+ async dispatch(toolCall, _riskLevel, signal, context) {
58
+ const { id } = parseTerminateArgs(toolCall.arguments);
59
+ const blocked = (reason) => {
60
+ const toolResult = createToolError(toolCall, reason);
61
+ const uiEvent = {
62
+ type: "terminate_agent_blocked",
63
+ toolCallId: toolCall.id,
64
+ agentId: id || undefined,
65
+ reason,
66
+ };
67
+ return { kind: "single", toolResult, uiEvent };
68
+ };
69
+ if (!id) {
70
+ return blocked("missing 'id' parameter. provide a subagent id to terminate.");
71
+ }
72
+ const controlPlane = context?.subagentControlPlane;
73
+ if (!controlPlane) {
74
+ return blocked("subagent control plane is not available.");
75
+ }
76
+ return {
77
+ kind: "phased",
78
+ startedUiEvent: {
79
+ type: "terminate_agent_started",
80
+ toolCallId: toolCall.id,
81
+ agentId: id,
82
+ },
83
+ run: (async () => {
84
+ try {
85
+ const result = await controlPlane.terminate(id, signal);
86
+ if (!result) {
87
+ const message = `unknown subagent id '${id}'.`;
88
+ const uiEvent = {
89
+ type: "terminate_agent_finished",
90
+ toolCallId: toolCall.id,
91
+ agentId: id,
92
+ status: "error",
93
+ message,
94
+ };
95
+ const toolResult = createToolError(toolCall, message);
96
+ return { kind: "single", toolResult, uiEvent };
97
+ }
98
+ const resultText = formatTerminateResult(result);
99
+ const succeeded = result.status === "success";
100
+ const baseStatusText = formatSubagentStatusLine({
101
+ costTotal: result.costTotal,
102
+ durationMs: getTerminateDurationMs(result),
103
+ });
104
+ const statusText = succeeded
105
+ ? baseStatusText
106
+ : `${baseStatusText} · status ${result.status}`;
107
+ const uiText = buildSubagentUiText({
108
+ output: formatTerminateOutput(result),
109
+ statusText,
110
+ maxOutputLines: 16,
111
+ });
112
+ const uiEvent = {
113
+ type: "terminate_agent_finished",
114
+ toolCallId: toolCall.id,
115
+ agentId: id,
116
+ status: succeeded ? "success" : "error",
117
+ finalStatus: result.status,
118
+ message: succeeded ? undefined : `subagent finished with status ${result.status}`,
119
+ uiText,
120
+ };
121
+ const toolResult = createToolResult(toolCall, resultText, !succeeded);
122
+ return { kind: "single", toolResult, uiEvent };
123
+ }
124
+ catch (error) {
125
+ const message = error instanceof Error ? error.message : String(error);
126
+ const uiEvent = {
127
+ type: "terminate_agent_finished",
128
+ toolCallId: toolCall.id,
129
+ agentId: id,
130
+ status: "error",
131
+ message,
132
+ };
133
+ const toolResult = createToolError(toolCall, message);
134
+ return { kind: "single", toolResult, uiEvent };
135
+ }
136
+ })(),
137
+ };
138
+ },
139
+ };
140
+ }
141
+ //# sourceMappingURL=terminate_agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminate_agent.js","sourceRoot":"","sources":["../../../src/core/tools/terminate_agent.ts"],"names":[],"mappings":"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"}