@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
@@ -1,8 +1,7 @@
1
1
  import { buildBashAbortedView, buildBashBlockedView, buildBashExecutionView, buildBashRunningView, } from "./bash_execution.js";
2
2
  import { buildEditBlockedView, buildEditSuccessView, buildWriteBlockedView, buildWriteSuccessView, } from "./file_execution.js";
3
- import { buildTaskBlockedView, buildTaskFinishedView, buildTaskRunningView, } from "./task_execution.js";
4
- import { buildHeaderLine, inlineText } from "./tool_output.js";
5
- function buildWebToolRunningView(theme, label, target) {
3
+ import { buildHeaderLine, buildSection, inlineText, renderToolUiTextLines, } from "./tool_output.js";
4
+ function buildSimpleToolRunningView(theme, label, target) {
6
5
  const { palette, text } = theme;
7
6
  const runningColor = (s) => palette.actionRunning(s);
8
7
  const header = buildHeaderLine({
@@ -23,7 +22,8 @@ function buildWebToolRunningView(theme, label, target) {
23
22
  compact: { header },
24
23
  };
25
24
  }
26
- function buildWebToolFinishedView(theme, label, target, status) {
25
+ function buildSimpleToolFinishedView(args) {
26
+ const { theme, label, target, status, message } = args;
27
27
  const { palette, text } = theme;
28
28
  const successColor = (s) => palette.actionSuccess(s);
29
29
  const errorColor = (s) => palette.actionError(s);
@@ -37,12 +37,104 @@ function buildWebToolFinishedView(theme, label, target, status) {
37
37
  accent: inlineText(target),
38
38
  accentStyle: palette.brandAccent,
39
39
  });
40
+ const messageLine = message
41
+ ? isSuccess
42
+ ? palette.textMuted(message)
43
+ : errorColor(message)
44
+ : undefined;
45
+ const section = buildSection(messageLine ? [messageLine] : []);
40
46
  return {
41
47
  borderColor,
42
- expanded: { title: borderColor(text.bold(`${label} ${target}`)) },
48
+ expanded: {
49
+ title: borderColor(text.bold(`${label} ${target}`)),
50
+ sections: section ? [section] : [],
51
+ },
52
+ compact: {
53
+ header,
54
+ extraText: messageLine ? ` ${messageLine}` : undefined,
55
+ },
56
+ };
57
+ }
58
+ function formatSubagentTitle(title) {
59
+ const trimmed = title?.trim() ?? "";
60
+ return trimmed || "(subagent)";
61
+ }
62
+ function formatAgentIdList(ids) {
63
+ const cleaned = ids.map((id) => id.trim()).filter(Boolean);
64
+ if (cleaned.length === 0)
65
+ return "(no ids)";
66
+ return cleaned.join(", ");
67
+ }
68
+ function buildSubagentRunningView(args) {
69
+ const { theme, label, title } = args;
70
+ const { palette, text } = theme;
71
+ const runningColor = (s) => palette.actionRunning(s);
72
+ const target = formatSubagentTitle(title);
73
+ const header = buildHeaderLine({
74
+ bulletStyle: runningColor,
75
+ bullet: "⏵",
76
+ label,
77
+ labelStyle: palette.textMuted,
78
+ accent: inlineText(target),
79
+ accentStyle: palette.brandAccent,
80
+ wrapIndex: 5,
81
+ });
82
+ return {
83
+ borderColor: runningColor,
84
+ expanded: { title: runningColor(text.bold(target)) },
43
85
  compact: { header },
44
86
  };
45
87
  }
88
+ function buildSubagentFinishedView(args) {
89
+ const { theme, label, failureLabel, title, status, uiText } = args;
90
+ const { palette, text } = theme;
91
+ const successColor = (s) => palette.actionSuccess(s);
92
+ const errorColor = (s) => palette.actionError(s);
93
+ const isSuccess = status === "success";
94
+ const borderColor = isSuccess ? successColor : errorColor;
95
+ const headerLabel = isSuccess ? label : failureLabel;
96
+ const target = formatSubagentTitle(title);
97
+ const header = buildHeaderLine({
98
+ bulletStyle: borderColor,
99
+ bullet: isSuccess ? "✓" : "✗",
100
+ label: headerLabel,
101
+ labelStyle: palette.textMuted,
102
+ accent: inlineText(target),
103
+ accentStyle: palette.brandAccent,
104
+ wrapIndex: 5,
105
+ });
106
+ const compactParts = [];
107
+ const previewText = renderToolUiTextLines({
108
+ uiText,
109
+ kind: "preview",
110
+ theme,
111
+ baseStyle: palette.textDim,
112
+ });
113
+ if (previewText) {
114
+ compactParts.push(previewText);
115
+ }
116
+ if (uiText.statusLine?.trim()) {
117
+ compactParts.push(palette.textMuted(uiText.statusLine));
118
+ }
119
+ const compactText = compactParts.length > 0 ? compactParts.join("\n") : undefined;
120
+ const fullText = renderToolUiTextLines({
121
+ uiText,
122
+ kind: "full",
123
+ theme,
124
+ baseStyle: palette.actionOutput,
125
+ });
126
+ return {
127
+ borderColor,
128
+ expanded: {
129
+ title: borderColor(text.bold(target)),
130
+ sections: fullText ? [fullText] : [],
131
+ },
132
+ compact: {
133
+ header,
134
+ extraText: compactText,
135
+ },
136
+ };
137
+ }
46
138
  export class ToolUiRegistry {
47
139
  renderers = new Map();
48
140
  register(type, renderer) {
@@ -73,62 +165,155 @@ export function createToolUiRegistry() {
73
165
  const uiEvent = event;
74
166
  return buildBashBlockedView(context.theme, uiEvent.command, uiEvent.reason);
75
167
  });
76
- registry.register("task_started", (event, context) => {
77
- const uiEvent = event;
78
- const taskState = context.taskState ?? {
79
- events: [],
80
- costTotal: 0,
81
- turns: 0,
82
- toolCalls: 0,
83
- kind: uiEvent.kind,
84
- name: uiEvent.name,
85
- };
86
- return buildTaskRunningView(context.theme, uiEvent.title, taskState.events, taskState.costTotal, taskState.turns, taskState.toolCalls, {
87
- kind: taskState.kind ?? uiEvent.kind ?? "task",
88
- subagentName: uiEvent.name.trim() || undefined,
168
+ registry.register("spawn_agent_started", (event, context) => {
169
+ const uiEvent = event;
170
+ return buildSubagentRunningView({
171
+ theme: context.theme,
172
+ label: "spawning",
173
+ title: uiEvent.title,
174
+ });
175
+ });
176
+ registry.register("spawn_agent_finished", (event, context) => {
177
+ const uiEvent = event;
178
+ const title = formatSubagentTitle(uiEvent.title);
179
+ if (!uiEvent.uiText) {
180
+ return buildSimpleToolFinishedView({
181
+ theme: context.theme,
182
+ label: "spawn",
183
+ target: title,
184
+ status: uiEvent.status,
185
+ message: uiEvent.message,
186
+ });
187
+ }
188
+ return buildSubagentFinishedView({
189
+ theme: context.theme,
190
+ label: "spawned",
191
+ failureLabel: "spawn failed",
192
+ title,
193
+ status: uiEvent.status,
194
+ uiText: uiEvent.uiText,
195
+ });
196
+ });
197
+ registry.register("spawn_agent_blocked", (event, context) => {
198
+ const uiEvent = event;
199
+ const title = formatSubagentTitle(uiEvent.title ?? uiEvent.name);
200
+ return buildSimpleToolFinishedView({
201
+ theme: context.theme,
202
+ label: "spawn",
203
+ target: title,
204
+ status: "error",
205
+ message: uiEvent.reason,
206
+ });
207
+ });
208
+ registry.register("wait_for_agent_started", (event, context) => {
209
+ const uiEvent = event;
210
+ const title = formatAgentIdList(uiEvent.agentIds);
211
+ return buildSubagentRunningView({
212
+ theme: context.theme,
213
+ label: "waiting",
214
+ title,
215
+ });
216
+ });
217
+ registry.register("wait_for_agent_finished", (event, context) => {
218
+ const uiEvent = event;
219
+ const title = formatAgentIdList(uiEvent.agentIds);
220
+ if (!uiEvent.uiText) {
221
+ return buildSimpleToolFinishedView({
222
+ theme: context.theme,
223
+ label: "wait",
224
+ target: title,
225
+ status: uiEvent.status,
226
+ message: uiEvent.message,
227
+ });
228
+ }
229
+ return buildSubagentFinishedView({
230
+ theme: context.theme,
231
+ label: "waited",
232
+ failureLabel: "waited",
233
+ title,
234
+ status: uiEvent.status,
235
+ uiText: uiEvent.uiText,
89
236
  });
90
237
  });
91
- registry.register("task_progress", (event, context) => {
92
- const uiEvent = event;
93
- const taskState = context.taskState ?? {
94
- events: [uiEvent.event],
95
- costTotal: uiEvent.costTotal,
96
- turns: uiEvent.turns,
97
- toolCalls: uiEvent.toolCalls,
98
- kind: uiEvent.kind,
99
- name: uiEvent.name,
100
- };
101
- return buildTaskRunningView(context.theme, uiEvent.title, taskState.events, taskState.costTotal, taskState.turns, taskState.toolCalls, {
102
- kind: taskState.kind ?? uiEvent.kind ?? "task",
103
- subagentName: uiEvent.name.trim() || undefined,
238
+ registry.register("wait_for_agent_blocked", (event, context) => {
239
+ const uiEvent = event;
240
+ const title = formatAgentIdList(uiEvent.agentIds ?? []);
241
+ return buildSimpleToolFinishedView({
242
+ theme: context.theme,
243
+ label: "wait",
244
+ target: title,
245
+ status: "error",
246
+ message: uiEvent.reason,
104
247
  });
105
248
  });
106
- registry.register("task_finished", (event, context) => {
249
+ registry.register("terminate_agent_started", (event, context) => {
107
250
  const uiEvent = event;
108
- return buildTaskFinishedView(context.theme, uiEvent.title, uiEvent.costTotal, uiEvent.turns, uiEvent.toolCalls, uiEvent.status, uiEvent.finalOutput, { kind: uiEvent.kind ?? "task", subagentName: uiEvent.name.trim() || undefined });
251
+ return buildSubagentRunningView({
252
+ theme: context.theme,
253
+ label: "terminating",
254
+ title: uiEvent.agentId,
255
+ });
109
256
  });
110
- registry.register("task_blocked", (event, context) => {
257
+ registry.register("terminate_agent_finished", (event, context) => {
111
258
  const uiEvent = event;
112
- return buildTaskBlockedView(context.theme, uiEvent.title, uiEvent.reason, {
113
- kind: uiEvent.kind ?? "task",
114
- subagentName: uiEvent.name?.trim() || undefined,
259
+ const title = formatSubagentTitle(uiEvent.agentId);
260
+ if (!uiEvent.uiText) {
261
+ const message = uiEvent.finalStatus && uiEvent.finalStatus !== "success"
262
+ ? `final status: ${uiEvent.finalStatus}`
263
+ : uiEvent.message;
264
+ return buildSimpleToolFinishedView({
265
+ theme: context.theme,
266
+ label: "terminate",
267
+ target: title,
268
+ status: uiEvent.status,
269
+ message,
270
+ });
271
+ }
272
+ return buildSubagentFinishedView({
273
+ theme: context.theme,
274
+ label: "terminated",
275
+ failureLabel: "terminated",
276
+ title,
277
+ status: uiEvent.status,
278
+ uiText: uiEvent.uiText,
279
+ });
280
+ });
281
+ registry.register("terminate_agent_blocked", (event, context) => {
282
+ const uiEvent = event;
283
+ const title = formatSubagentTitle(uiEvent.agentId);
284
+ return buildSimpleToolFinishedView({
285
+ theme: context.theme,
286
+ label: "terminate",
287
+ target: title,
288
+ status: "error",
289
+ message: uiEvent.reason,
115
290
  });
116
291
  });
117
292
  registry.register("web_search_started", (event, context) => {
118
293
  const uiEvent = event;
119
- return buildWebToolRunningView(context.theme, "web search", uiEvent.objective);
294
+ return buildSimpleToolRunningView(context.theme, "web search", uiEvent.objective);
120
295
  });
121
296
  registry.register("web_search_finished", (event, context) => {
122
297
  const uiEvent = event;
123
- return buildWebToolFinishedView(context.theme, "web search", uiEvent.objective, uiEvent.status);
298
+ return buildSimpleToolFinishedView({
299
+ theme: context.theme,
300
+ label: "web search",
301
+ target: uiEvent.objective,
302
+ status: uiEvent.status,
303
+ });
124
304
  });
125
305
  registry.register("web_fetch_started", (event, context) => {
126
306
  const uiEvent = event;
127
- return buildWebToolRunningView(context.theme, "web fetch", uiEvent.url);
307
+ return buildSimpleToolRunningView(context.theme, "web fetch", uiEvent.url);
128
308
  });
129
309
  registry.register("web_fetch_finished", (event, context) => {
130
310
  const uiEvent = event;
131
- return buildWebToolFinishedView(context.theme, "web fetch", uiEvent.url, uiEvent.status);
311
+ return buildSimpleToolFinishedView({
312
+ theme: context.theme,
313
+ label: "web fetch",
314
+ target: uiEvent.url,
315
+ status: uiEvent.status,
316
+ });
132
317
  });
133
318
  registry.register("write_success", (event, context) => {
134
319
  const uiEvent = event;
@@ -1 +1 @@
1
- {"version":3,"file":"tool_ui_registry.js","sourceRoot":"","sources":["../../../src/tui/ui/tool_ui_registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool_ui_registry.js","sourceRoot":"","sources":["../../../src/tui/ui/tool_ui_registry.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@markusylisiurunen/tau",
3
- "version": "0.2.7",
3
+ "version": "0.2.9",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "tau": "./dist/main.js"
@@ -1,239 +0,0 @@
1
- import { Type } from "@sinclair/typebox";
2
- import { z } from "zod";
3
- import { CoreSession } from "../session/core_session.js";
4
- import { createToolError, createToolResult, extractAssistantText } from "../utils/messages.js";
5
- import { AsyncUiEventQueue, extractAssistantTextForProgress, formatToolUiEventForProgress, getToolResultFirstLine, } from "../utils/subagent_utils.js";
6
- const FORK_DESCRIPTION = [
7
- "Fork the current session and run autonomously until it produces a final assistant response.",
8
- "The fork receives the full main thread history, appends the provided prompt as the next user message,",
9
- "and returns the final assistant text output from the fork.",
10
- "Only use this tool when the user specifically requests that the session be forked.",
11
- ].join(" ");
12
- const FORK_TITLE_DESCRIPTION = [
13
- "A short human-friendly UI title shown while the fork runs.",
14
- "Do not use title case; all lower-case is preferred except for proper nouns.",
15
- ].join(" ");
16
- const FORK_PROMPT_DESCRIPTION = [
17
- "The prompt to append as the next user message in the forked session.",
18
- "The fork will then run autonomously until completion.",
19
- "Format this as a direct instruction to the assistant.",
20
- "Be precise rather than loose in your phrasing.",
21
- "Include any instructions specifying what the assistant should return in its final response.",
22
- ].join(" ");
23
- export const FORK_TOOL = {
24
- name: "fork",
25
- description: FORK_DESCRIPTION,
26
- parameters: Type.Object({
27
- title: Type.String({ description: FORK_TITLE_DESCRIPTION }),
28
- prompt: Type.String({ description: FORK_PROMPT_DESCRIPTION }),
29
- }, { additionalProperties: false }),
30
- };
31
- const forkArgsSchema = z.object({
32
- title: z.string().trim().catch(""),
33
- prompt: z.string().trim().catch(""),
34
- });
35
- function parseForkArgs(raw) {
36
- const parsed = forkArgsSchema.safeParse(raw);
37
- return parsed.success ? parsed.data : { title: "", prompt: "" };
38
- }
39
- function stripToolCallFromHistory(history, toolCallId) {
40
- const copied = [...history];
41
- for (let i = copied.length - 1; i >= 0; i--) {
42
- const msg = copied[i];
43
- if (!msg || msg.role !== "assistant") {
44
- continue;
45
- }
46
- const assistant = msg;
47
- const hasCall = assistant.content.some((b) => b.type === "toolCall" && b.id === toolCallId);
48
- if (!hasCall) {
49
- continue;
50
- }
51
- const nextContent = assistant.content.filter((b) => b.type !== "toolCall");
52
- if (nextContent.length === 0) {
53
- copied.splice(i, 1);
54
- }
55
- else {
56
- copied[i] = { ...assistant, content: nextContent };
57
- }
58
- break;
59
- }
60
- return copied;
61
- }
62
- export function createForkToolDefinition() {
63
- return {
64
- schema: FORK_TOOL,
65
- async dispatch(toolCall, riskLevel, signal, context) {
66
- const { title, prompt } = parseForkArgs(toolCall.arguments);
67
- const blocked = (reason, details) => {
68
- const toolResult = createToolError(toolCall, reason);
69
- const uiEvent = {
70
- type: "task_blocked",
71
- toolCallId: toolCall.id,
72
- kind: "fork",
73
- title: details?.title ?? (title || "(fork)"),
74
- reason,
75
- };
76
- return { kind: "single", toolResult, uiEvent };
77
- };
78
- if (!title || !prompt) {
79
- const missing = [!title ? "title" : undefined, !prompt ? "prompt" : undefined].filter(Boolean);
80
- return blocked(`missing required parameter(s): ${missing.join(", ")}.`, {
81
- title: title || "(fork)",
82
- });
83
- }
84
- if (!context) {
85
- return blocked("missing session context.", { title });
86
- }
87
- const uiQueue = new AsyncUiEventQueue();
88
- let costTotal = 0;
89
- let turns = 0;
90
- let toolCalls = 0;
91
- const pushProgress = (eventText, nextCostTotal, nextTurns, nextToolCalls) => {
92
- costTotal = nextCostTotal;
93
- turns = nextTurns;
94
- toolCalls = nextToolCalls;
95
- uiQueue.push({
96
- type: "task_progress",
97
- toolCallId: toolCall.id,
98
- kind: "fork",
99
- name: "",
100
- title,
101
- event: eventText,
102
- costTotal,
103
- turns,
104
- toolCalls,
105
- });
106
- };
107
- const run = (async () => {
108
- let status = "success";
109
- let finalText = "";
110
- try {
111
- pushProgress("fork started", 0, 0, 0);
112
- const runSignal = signal ?? new AbortController().signal;
113
- const enabledTools = context.persona.tools ?? context.toolRegistry.schemas;
114
- const forkTools = enabledTools.filter((t) => t.name !== "task" && t.name !== "fork");
115
- const forkPersona = { ...context.persona, tools: forkTools };
116
- const forkHistory = stripToolCallFromHistory(context.history, toolCall.id);
117
- const forkEngine = new CoreSession({
118
- persona: forkPersona,
119
- systemPrompt: context.systemPrompt,
120
- riskLevel,
121
- toolRegistry: context.toolRegistry,
122
- config: context.config,
123
- });
124
- for (const msg of forkHistory) {
125
- forkEngine.addMessage(msg);
126
- }
127
- forkEngine.addUserText([
128
- "<system>",
129
- [
130
- "You are running in a forked session with access to the same tools and capabilities as the main session.",
131
- "Execute the following instruction autonomously until you have a complete answer.",
132
- "Your final message will be returned to the user, so ensure it is complete and self-contained,",
133
- "describing what you did and providing any requested information.",
134
- "Do not stop until you have a final answer ready to return.",
135
- ].join(" "),
136
- "</system>",
137
- prompt,
138
- ].join("\n"));
139
- let lastAssistantFinal;
140
- for await (const event of forkEngine.events(runSignal)) {
141
- if (runSignal.aborted) {
142
- break;
143
- }
144
- if (event.type === "assistant_final") {
145
- lastAssistantFinal = event.message;
146
- turns += 1;
147
- costTotal += event.message.usage?.cost?.total ?? 0;
148
- toolCalls += event.message.content.filter((c) => c.type === "toolCall").length;
149
- const agentLine = extractAssistantTextForProgress(event.message);
150
- if (agentLine) {
151
- pushProgress(agentLine, costTotal, turns, toolCalls);
152
- }
153
- }
154
- else if (event.type === "tool_ui") {
155
- const uiEvent = event.uiEvent;
156
- const text = formatToolUiEventForProgress(uiEvent);
157
- if (text) {
158
- pushProgress(text, costTotal, turns, toolCalls);
159
- }
160
- }
161
- else if (event.type === "tool_result") {
162
- if (event.message.isError) {
163
- const firstLine = getToolResultFirstLine(event.message);
164
- const issue = firstLine
165
- ? `${event.message.toolName}: ${firstLine}`
166
- : `${event.message.toolName}: tool returned an error`;
167
- pushProgress(`tool error: ${issue}`, costTotal, turns, toolCalls);
168
- }
169
- }
170
- else if (event.type === "notice") {
171
- if (event.severity === "error") {
172
- pushProgress(`tool error: ${event.text}`, costTotal, turns, toolCalls);
173
- }
174
- }
175
- }
176
- if (runSignal.aborted) {
177
- status = "aborted";
178
- finalText = "fork aborted";
179
- }
180
- else if (!lastAssistantFinal) {
181
- throw new Error("fork did not produce a final response");
182
- }
183
- else if (lastAssistantFinal.stopReason === "toolUse") {
184
- throw new Error("fork stopped without producing a final non-tool response");
185
- }
186
- else {
187
- const text = extractAssistantText(lastAssistantFinal).trim();
188
- if (!text) {
189
- throw new Error(`fork produced an empty response (stopReason: ${lastAssistantFinal.stopReason ?? "unknown"})`);
190
- }
191
- finalText = text;
192
- }
193
- }
194
- catch (err) {
195
- if (signal?.aborted) {
196
- status = "aborted";
197
- finalText = "fork aborted";
198
- }
199
- else {
200
- status = "error";
201
- finalText = `fork failed: ${err instanceof Error ? err.message : String(err)}`;
202
- }
203
- }
204
- finally {
205
- uiQueue.close();
206
- }
207
- const toolResult = status === "success"
208
- ? createToolResult(toolCall, finalText, false)
209
- : createToolResult(toolCall, finalText, true);
210
- const uiEvent = {
211
- type: "task_finished",
212
- toolCallId: toolCall.id,
213
- kind: "fork",
214
- name: "",
215
- title,
216
- costTotal,
217
- turns,
218
- toolCalls,
219
- status,
220
- finalOutput: finalText,
221
- };
222
- return { kind: "single", toolResult, uiEvent };
223
- })();
224
- return {
225
- kind: "phased",
226
- startedUiEvent: {
227
- type: "task_started",
228
- toolCallId: toolCall.id,
229
- kind: "fork",
230
- name: "",
231
- title,
232
- },
233
- uiEvents: uiQueue,
234
- run,
235
- };
236
- },
237
- };
238
- }
239
- //# sourceMappingURL=fork.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fork.js","sourceRoot":"","sources":["../../../src/core/tools/fork.ts"],"names":[],"mappings":"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"}