@markusylisiurunen/tau 0.3.39 → 0.3.41

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 (138) hide show
  1. package/README.md +34 -38
  2. package/dist/core/agent/agent_runtime.js +0 -22
  3. package/dist/core/agent/agent_runtime.js.map +1 -1
  4. package/dist/core/cli.js +2 -2
  5. package/dist/core/cli.js.map +1 -1
  6. package/dist/core/commands/registry.js +22 -20
  7. package/dist/core/commands/registry.js.map +1 -1
  8. package/dist/core/config/builtin_themes.js +936 -998
  9. package/dist/core/config/builtin_themes.js.map +1 -1
  10. package/dist/core/history/migrations.js +57 -0
  11. package/dist/core/history/migrations.js.map +1 -0
  12. package/dist/core/history/setup.js +18 -0
  13. package/dist/core/history/setup.js.map +1 -1
  14. package/dist/core/personas.js +8 -53
  15. package/dist/core/personas.js.map +1 -1
  16. package/dist/core/runtime/chat_runtime.js +0 -6
  17. package/dist/core/runtime/chat_runtime.js.map +1 -1
  18. package/dist/core/session/direct_bash.js +8 -8
  19. package/dist/core/session/direct_bash.js.map +1 -1
  20. package/dist/core/session/runner.js +6 -1
  21. package/dist/core/session/runner.js.map +1 -1
  22. package/dist/core/static/code_mode/history/documentation.md +3 -3
  23. package/dist/core/static/code_mode/nook/documentation.md +6 -4
  24. package/dist/core/static/code_mode/web/documentation.md +3 -3
  25. package/dist/core/tools/bash.js +80 -63
  26. package/dist/core/tools/bash.js.map +1 -1
  27. package/dist/core/tools/code_mode.js +45 -12
  28. package/dist/core/tools/code_mode.js.map +1 -1
  29. package/dist/core/tools/edit.js +72 -84
  30. package/dist/core/tools/edit.js.map +1 -1
  31. package/dist/core/tools/goal.js +97 -16
  32. package/dist/core/tools/goal.js.map +1 -1
  33. package/dist/core/tools/history.js +13 -15
  34. package/dist/core/tools/history.js.map +1 -1
  35. package/dist/core/tools/interrupt_agent.js +56 -37
  36. package/dist/core/tools/interrupt_agent.js.map +1 -1
  37. package/dist/core/tools/list_agents.js +28 -13
  38. package/dist/core/tools/list_agents.js.map +1 -1
  39. package/dist/core/tools/nook.js +15 -15
  40. package/dist/core/tools/nook.js.map +1 -1
  41. package/dist/core/tools/presentation.js +226 -0
  42. package/dist/core/tools/presentation.js.map +1 -0
  43. package/dist/core/tools/registry.js.map +1 -1
  44. package/dist/core/tools/send_input_to_agent.js +57 -47
  45. package/dist/core/tools/send_input_to_agent.js.map +1 -1
  46. package/dist/core/tools/spawn_agent.js +81 -52
  47. package/dist/core/tools/spawn_agent.js.map +1 -1
  48. package/dist/core/tools/subagent_ui.js +14 -38
  49. package/dist/core/tools/subagent_ui.js.map +1 -1
  50. package/dist/core/tools/view_image.js +45 -45
  51. package/dist/core/tools/view_image.js.map +1 -1
  52. package/dist/core/tools/wait_for_agents.js +94 -56
  53. package/dist/core/tools/wait_for_agents.js.map +1 -1
  54. package/dist/core/tools/web.js +11 -13
  55. package/dist/core/tools/web.js.map +1 -1
  56. package/dist/core/tools/write.js +41 -39
  57. package/dist/core/tools/write.js.map +1 -1
  58. package/dist/core/utils/gemini_speech.js +1 -1
  59. package/dist/core/utils/gemini_speech.js.map +1 -1
  60. package/dist/core/utils/subagent_utils.js +3 -3
  61. package/dist/core/utils/subagent_utils.js.map +1 -1
  62. package/dist/core/version.js +1 -1
  63. package/dist/execution/cloudflare_sandbox_execution_environment.js +1 -1
  64. package/dist/execution/cloudflare_sandbox_execution_environment.js.map +1 -1
  65. package/dist/history/worker/index.js +149 -192
  66. package/dist/history/worker/index.js.map +1 -1
  67. package/dist/host/client_tool_broker.js +29 -31
  68. package/dist/host/client_tool_broker.js.map +1 -1
  69. package/dist/host/local_session_host.js +11 -5
  70. package/dist/host/local_session_host.js.map +1 -1
  71. package/dist/main.js +6 -6
  72. package/dist/main.js.map +1 -1
  73. package/dist/tui/chat_controller/diff_review_service.js +1 -1
  74. package/dist/tui/chat_controller/diff_review_service.js.map +1 -1
  75. package/dist/tui/chat_controller/history_labels.js +13 -0
  76. package/dist/tui/chat_controller/history_labels.js.map +1 -1
  77. package/dist/tui/chat_view.js +24 -50
  78. package/dist/tui/chat_view.js.map +1 -1
  79. package/dist/tui/session_chat_app.js +3 -4
  80. package/dist/tui/session_chat_app.js.map +1 -1
  81. package/dist/tui/session_chat_controller.js +80 -111
  82. package/dist/tui/session_chat_controller.js.map +1 -1
  83. package/dist/tui/terminal_appearance.js +44 -25
  84. package/dist/tui/terminal_appearance.js.map +1 -1
  85. package/dist/tui/ui/autocomplete_item.js +2 -0
  86. package/dist/tui/ui/autocomplete_item.js.map +1 -0
  87. package/dist/tui/ui/chat_container.js +1 -14
  88. package/dist/tui/ui/chat_container.js.map +1 -1
  89. package/dist/tui/ui/chat_message_model.js +4 -12
  90. package/dist/tui/ui/chat_message_model.js.map +1 -1
  91. package/dist/tui/ui/components/autocomplete_list.js +138 -0
  92. package/dist/tui/ui/components/autocomplete_list.js.map +1 -0
  93. package/dist/tui/ui/components/editor.js +33 -40
  94. package/dist/tui/ui/components/editor.js.map +1 -1
  95. package/dist/tui/ui/components/one_line_segments.js +0 -67
  96. package/dist/tui/ui/components/one_line_segments.js.map +1 -1
  97. package/dist/tui/ui/custom_editor.js +15 -11
  98. package/dist/tui/ui/custom_editor.js.map +1 -1
  99. package/dist/tui/ui/diff_review_message.js +1 -11
  100. package/dist/tui/ui/diff_review_message.js.map +1 -1
  101. package/dist/tui/ui/footer.js +63 -13
  102. package/dist/tui/ui/footer.js.map +1 -1
  103. package/dist/tui/ui/rewind_picker.js +17 -47
  104. package/dist/tui/ui/rewind_picker.js.map +1 -1
  105. package/dist/tui/ui/slash_autocomplete.js +43 -64
  106. package/dist/tui/ui/slash_autocomplete.js.map +1 -1
  107. package/dist/tui/ui/subagent_editor_pane.js +3 -3
  108. package/dist/tui/ui/theme/index.js +1 -1
  109. package/dist/tui/ui/theme/index.js.map +1 -1
  110. package/dist/tui/ui/theme/palette.js +245 -8
  111. package/dist/tui/ui/theme/palette.js.map +1 -1
  112. package/dist/tui/ui/theme/theme.js +3 -30
  113. package/dist/tui/ui/theme/theme.js.map +1 -1
  114. package/dist/tui/ui/tool_card.js +137 -0
  115. package/dist/tui/ui/tool_card.js.map +1 -0
  116. package/dist/tui/ui/user_message.js +3 -6
  117. package/dist/tui/ui/user_message.js.map +1 -1
  118. package/package.json +2 -2
  119. package/dist/core/utils/tool_preview.js +0 -73
  120. package/dist/core/utils/tool_preview.js.map +0 -1
  121. package/dist/tui/chat_controller/command_hints.js +0 -35
  122. package/dist/tui/chat_controller/command_hints.js.map +0 -1
  123. package/dist/tui/ui/bash_execution.js +0 -129
  124. package/dist/tui/ui/bash_execution.js.map +0 -1
  125. package/dist/tui/ui/components/dynamic_border.js +0 -11
  126. package/dist/tui/ui/components/dynamic_border.js.map +0 -1
  127. package/dist/tui/ui/components/header_box.js +0 -107
  128. package/dist/tui/ui/components/header_box.js.map +0 -1
  129. package/dist/tui/ui/components/header_line.js +0 -60
  130. package/dist/tui/ui/components/header_line.js.map +0 -1
  131. package/dist/tui/ui/components/padded_container.js +0 -24
  132. package/dist/tui/ui/components/padded_container.js.map +0 -1
  133. package/dist/tui/ui/file_execution.js +0 -176
  134. package/dist/tui/ui/file_execution.js.map +0 -1
  135. package/dist/tui/ui/tool_output.js +0 -163
  136. package/dist/tui/ui/tool_output.js.map +0 -1
  137. package/dist/tui/ui/tool_ui_registry.js +0 -786
  138. package/dist/tui/ui/tool_ui_registry.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation.js","sourceRoot":"","sources":["../../../src/core/tools/presentation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/core/tools/registry.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,qBAAqB,CACnC,IAAY,EACZ,OAAwC;IAExC,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACjC,OAAO;KACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAA6B,EAC7B,GAE0E,EAC1E,cAA6B;IAE7B,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;AAC9D,CAAC;AAqBD,MAAM,OAAO,YAAY;IACN,MAAM,GAAG,IAAI,GAAG,EAAqB,CAAC;IAEvD,YAAY,WAAwB;QAClC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;YACpC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,GAAG,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1E,CAAC;IAED,GAAG,CAAC,QAAgB;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,eAAe,CAAC,SAAoB;QAClC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAChC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,qBAAqB,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB,CAAC,SAAoB;QACxC,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAChF,CAAC;CACF"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/core/tools/registry.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,qBAAqB,CACnC,IAAY,EACZ,OAAwC;IAExC,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACjC,OAAO;KACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAA6B,EAC7B,GAE0E,EAC1E,cAA6B;IAE7B,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;AAC9D,CAAC;AAoBD,MAAM,OAAO,YAAY;IACN,MAAM,GAAG,IAAI,GAAG,EAAqB,CAAC;IAEvD,YAAY,WAAwB;QAClC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;YACpC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,GAAG,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1E,CAAC;IAED,GAAG,CAAC,QAAgB;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,eAAe,CAAC,SAAoB;QAClC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAChC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,qBAAqB,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB,CAAC,SAAoB;QACxC,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAChF,CAAC;CACF"}
@@ -2,15 +2,16 @@ import { Type } from "typebox";
2
2
  import { z } from "zod";
3
3
  import { formatSendInputToAgentResult } from "../subagents/format.js";
4
4
  import { parseToolArgs } from "../utils/zod.js";
5
+ import { buildToolRunPresentation } from "./presentation.js";
5
6
  import { createTextToolOutcome, executeTool, } from "./registry.js";
6
- import { buildSubagentUiText } from "./subagent_ui.js";
7
+ import { buildSubagentPresentation } from "./subagent_ui.js";
7
8
  import { TOOL_NAME_SEND_INPUT_TO_AGENT } from "./tool_names.js";
8
9
  const SEND_INPUT_TO_AGENT_DESCRIPTION = [
9
10
  "Send a follow-up prompt to an existing subagent.",
10
11
  "The subagent must be idle before you can send another input.",
11
12
  "Starting a new run replaces the previously retained response.",
12
13
  ].join(" ");
13
- const SEND_INPUT_TO_AGENT_ID_DESCRIPTION = "Subagent id to send input to.";
14
+ const SEND_INPUT_TO_AGENT_ID_DESCRIPTION = "Single-line subagent id to send input to.";
14
15
  const SEND_INPUT_TO_AGENT_PROMPT_DESCRIPTION = [
15
16
  "The prompt to send to the subagent.",
16
17
  "Include all necessary context and instructions for the next run.",
@@ -19,18 +20,25 @@ export const SEND_INPUT_TO_AGENT_TOOL = {
19
20
  name: TOOL_NAME_SEND_INPUT_TO_AGENT,
20
21
  description: SEND_INPUT_TO_AGENT_DESCRIPTION,
21
22
  parameters: Type.Object({
22
- id: Type.String({ description: SEND_INPUT_TO_AGENT_ID_DESCRIPTION }),
23
+ id: Type.String({
24
+ description: SEND_INPUT_TO_AGENT_ID_DESCRIPTION,
25
+ pattern: "^[^\\r\\n]+$",
26
+ }),
23
27
  prompt: Type.String({ description: SEND_INPUT_TO_AGENT_PROMPT_DESCRIPTION }),
24
28
  }, { additionalProperties: false }),
25
29
  };
26
30
  const sendInputArgsSchema = z.object({
27
- id: z.string().trim().min(1),
31
+ id: z
32
+ .string()
33
+ .trim()
34
+ .min(1)
35
+ .refine((id) => !/[\r\n]/.test(id), "Subagent ID must be a single line."),
28
36
  prompt: z.string().trim().min(1),
29
37
  });
30
38
  function resolveSnapshotTarget(snapshot) {
31
39
  return { name: snapshot.name, title: snapshot.title };
32
40
  }
33
- function getSendInputDisplayTarget(raw, supervisor) {
41
+ function getSendInputSubject(raw, supervisor) {
34
42
  const parsedArgs = parseToolArgs(sendInputArgsSchema, raw);
35
43
  if (!parsedArgs.ok) {
36
44
  return "(invalid arguments)";
@@ -41,23 +49,31 @@ function getSendInputDisplayTarget(raw, supervisor) {
41
49
  export function createSendInputToAgentToolDefinition(supervisor) {
42
50
  return {
43
51
  schema: SEND_INPUT_TO_AGENT_TOOL,
44
- describe: (toolCall) => ({
45
- headerTarget: getSendInputDisplayTarget(toolCall.arguments, supervisor),
46
- }),
52
+ describe: (toolCall) => {
53
+ const subject = getSendInputSubject(toolCall.arguments, supervisor);
54
+ return {
55
+ presentation: buildToolRunPresentation({
56
+ toolName: TOOL_NAME_SEND_INPUT_TO_AGENT,
57
+ subject,
58
+ }),
59
+ };
60
+ },
47
61
  async execute(toolCall, context) {
48
62
  const { signal } = context;
49
63
  let id = "";
50
64
  let prompt = "";
51
- const headerTarget = getSendInputDisplayTarget(toolCall.arguments, supervisor);
65
+ const subject = getSendInputSubject(toolCall.arguments, supervisor);
52
66
  const blocked = (reason, details) => {
53
67
  const outcome = createTextToolOutcome(reason, "blocked");
54
68
  const uiEvent = {
55
- type: "send_input_to_agent_blocked",
69
+ type: "tool_call_blocked",
56
70
  toolCallId: toolCall.id,
57
- agentId: details?.id ?? (id || undefined),
58
- name: details?.name ?? undefined,
59
- title: details?.title ?? headerTarget,
60
- headerTarget: details?.title ?? headerTarget,
71
+ toolName: TOOL_NAME_SEND_INPUT_TO_AGENT,
72
+ presentation: buildToolRunPresentation({
73
+ toolName: TOOL_NAME_SEND_INPUT_TO_AGENT,
74
+ subject: details?.title ?? subject,
75
+ details: [{ text: reason }],
76
+ }),
61
77
  reason,
62
78
  };
63
79
  return {
@@ -73,29 +89,23 @@ export function createSendInputToAgentToolDefinition(supervisor) {
73
89
  ({ id, prompt } = parsedArgs.data);
74
90
  const snapshot = supervisor.getSnapshot(id);
75
91
  if (!snapshot) {
76
- return executeTool(context, () => blocked(`Unknown subagent ID: ${id}`, { id, title: id }));
92
+ return executeTool(context, () => blocked(`Unknown subagent ID: ${id}`, { title: id }));
77
93
  }
78
94
  const target = resolveSnapshotTarget(snapshot);
79
95
  return executeTool(context, async () => {
80
96
  if (signal?.aborted) {
81
97
  const reason = "Aborted.";
82
98
  const outcome = createTextToolOutcome(reason, "cancelled");
83
- const uiText = buildSubagentUiText({
84
- output: reason,
85
- statusText: `${target.name} · ${id}`,
86
- maxOutputLines: 16,
87
- fullText: reason,
99
+ const presentation = buildToolRunPresentation({
100
+ toolName: TOOL_NAME_SEND_INPUT_TO_AGENT,
101
+ subject: target.title,
88
102
  });
89
103
  const uiEvent = {
90
- type: "send_input_to_agent_finished",
104
+ type: "tool_call_finished",
91
105
  toolCallId: toolCall.id,
92
- agentId: id,
93
- name: target.name,
94
- title: target.title,
95
- headerTarget: target.title,
106
+ toolName: TOOL_NAME_SEND_INPUT_TO_AGENT,
107
+ presentation,
96
108
  status: "error",
97
- message: reason,
98
- uiText,
99
109
  };
100
110
  return { content: outcome.content, outcome: outcome.outcome, uiEvent };
101
111
  }
@@ -103,42 +113,42 @@ export function createSendInputToAgentToolDefinition(supervisor) {
103
113
  if (!sendResult.ok) {
104
114
  const outcome = createTextToolOutcome(sendResult.reason, "blocked");
105
115
  const uiEvent = {
106
- type: "send_input_to_agent_blocked",
116
+ type: "tool_call_blocked",
107
117
  toolCallId: toolCall.id,
108
- agentId: id,
109
- name: target.name,
110
- title: target.title,
111
- headerTarget: target.title,
118
+ toolName: TOOL_NAME_SEND_INPUT_TO_AGENT,
119
+ presentation: buildToolRunPresentation({
120
+ toolName: TOOL_NAME_SEND_INPUT_TO_AGENT,
121
+ subject: target.title,
122
+ details: [{ text: sendResult.reason }],
123
+ }),
112
124
  reason: sendResult.reason,
113
125
  };
114
126
  return { content: outcome.content, outcome: outcome.outcome, uiEvent };
115
127
  }
116
128
  const resultText = formatSendInputToAgentResult(sendResult.state, sendResult.capacity);
117
129
  const outcome = createTextToolOutcome(resultText, "succeeded");
118
- const uiText = buildSubagentUiText({
130
+ const presentation = buildSubagentPresentation({
131
+ toolName: TOOL_NAME_SEND_INPUT_TO_AGENT,
132
+ subject: sendResult.state.title,
119
133
  output: prompt,
120
- statusText: `${sendResult.state.name} · ${sendResult.state.id}`,
121
- maxOutputLines: 16,
122
- fullText: resultText,
134
+ detailTruncation: { maxLines: 17, strategy: "middle" },
123
135
  });
124
136
  const uiEvent = {
125
- type: "send_input_to_agent_finished",
137
+ type: "tool_call_finished",
126
138
  toolCallId: toolCall.id,
127
- agentId: sendResult.state.id,
128
- name: sendResult.state.name,
129
- title: sendResult.state.title,
130
- headerTarget: sendResult.state.title,
139
+ toolName: TOOL_NAME_SEND_INPUT_TO_AGENT,
140
+ presentation,
131
141
  status: "success",
132
- uiText,
133
142
  };
134
143
  return { content: outcome.content, outcome: outcome.outcome, uiEvent };
135
144
  }, {
136
- type: "send_input_to_agent_started",
145
+ type: "tool_call_started",
137
146
  toolCallId: toolCall.id,
138
- agentId: id,
139
- name: target.name,
140
- title: target.title,
141
- headerTarget: target.title,
147
+ toolName: TOOL_NAME_SEND_INPUT_TO_AGENT,
148
+ presentation: buildToolRunPresentation({
149
+ toolName: TOOL_NAME_SEND_INPUT_TO_AGENT,
150
+ subject: target.title,
151
+ }),
142
152
  });
143
153
  },
144
154
  };
@@ -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,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAEtE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAEL,qBAAqB,EACrB,WAAW,GAIZ,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;IAC9D,+DAA+D;CAChE,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,qBAAqB,CAAC,QAA+B;IAC5D,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;AACxD,CAAC;AAED,SAAS,yBAAyB,CAAC,GAAY,EAAE,UAA2B;IAC1E,MAAM,UAAU,GAAG,aAAa,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;IAC3D,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACnB,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IACD,MAAM,EAAE,EAAE,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC;IAC/B,OAAO,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,UAA2B;IAC9E,OAAO;QACL,MAAM,EAAE,wBAAwB;QAChC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACvB,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;SACxE,CAAC;QACF,KAAK,CAAC,OAAO,CACX,QAAkB,EAClB,OAA6B;YAE7B,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;YAC3B,IAAI,EAAE,GAAG,EAAE,CAAC;YACZ,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,MAAM,YAAY,GAAG,yBAAyB,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAE/E,MAAM,OAAO,GAAG,CACd,MAAc,EACd,OAAwD,EACxD,EAAE;gBACF,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBACzD,MAAM,OAAO,GAAiB;oBAC5B,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;oBACL,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,OAAO;iBAC4B,CAAC;YACxC,CAAC,CAAC;YAEF,MAAM,UAAU,GAAG,aAAa,CAAC,mBAAmB,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC1E,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;gBACnB,OAAO,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,sBAAsB,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACvF,CAAC;YAED,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;YAEnC,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC9F,CAAC;YAED,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YAE/C,OAAO,WAAW,CAChB,OAAO,EACP,KAAK,IAAwC,EAAE;gBAC7C,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;oBACpB,MAAM,MAAM,GAAG,UAAU,CAAC;oBAC1B,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;oBAC3D,MAAM,MAAM,GAAG,mBAAmB,CAAC;wBACjC,MAAM,EAAE,MAAM;wBACd,UAAU,EAAE,GAAG,MAAM,CAAC,IAAI,MAAM,EAAE,EAAE;wBACpC,cAAc,EAAE,EAAE;wBAClB,QAAQ,EAAE,MAAM;qBACjB,CAAC,CAAC;oBACH,MAAM,OAAO,GAAiB;wBAC5B,IAAI,EAAE,8BAA8B;wBACpC,UAAU,EAAE,QAAQ,CAAC,EAAE;wBACvB,OAAO,EAAE,EAAE;wBACX,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,YAAY,EAAE,MAAM,CAAC,KAAK;wBAC1B,MAAM,EAAE,OAAO;wBACf,OAAO,EAAE,MAAM;wBACf,MAAM;qBACP,CAAC;oBACF,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;gBACzE,CAAC;gBAED,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;gBAExD,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;oBACnB,MAAM,OAAO,GAAG,qBAAqB,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;oBACpE,MAAM,OAAO,GAAiB;wBAC5B,IAAI,EAAE,6BAA6B;wBACnC,UAAU,EAAE,QAAQ,CAAC,EAAE;wBACvB,OAAO,EAAE,EAAE;wBACX,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,YAAY,EAAE,MAAM,CAAC,KAAK;wBAC1B,MAAM,EAAE,UAAU,CAAC,MAAM;qBAC1B,CAAC;oBACF,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;gBACzE,CAAC;gBAED,MAAM,UAAU,GAAG,4BAA4B,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACvF,MAAM,OAAO,GAAG,qBAAqB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;gBAC/D,MAAM,MAAM,GAAG,mBAAmB,CAAC;oBACjC,MAAM,EAAE,MAAM;oBACd,UAAU,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE;oBAC/D,cAAc,EAAE,EAAE;oBAClB,QAAQ,EAAE,UAAU;iBACrB,CAAC,CAAC;gBACH,MAAM,OAAO,GAAiB;oBAC5B,IAAI,EAAE,8BAA8B;oBACpC,UAAU,EAAE,QAAQ,CAAC,EAAE;oBACvB,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE;oBAC5B,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI;oBAC3B,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK;oBAC7B,YAAY,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK;oBACpC,MAAM,EAAE,SAAS;oBACjB,MAAM;iBACP,CAAC;gBACF,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YACzE,CAAC,EACD;gBACE,IAAI,EAAE,6BAA6B;gBACnC,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,OAAO,EAAE,EAAE;gBACX,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,YAAY,EAAE,MAAM,CAAC,KAAK;aAC3B,CACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
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,8 +6,9 @@ import { parseSubagentLaunchModel } from "../subagents/launch_model.js";
6
6
  import { getSubagentDescription, resolveSubagentEffectiveSettings } from "../subagents/registry.js";
7
7
  import { formatCwd } from "../utils/format.js";
8
8
  import { parseToolArgs } from "../utils/zod.js";
9
+ import { buildToolRunPresentation } from "./presentation.js";
9
10
  import { createTextToolOutcome, executeTool, } from "./registry.js";
10
- import { buildSubagentUiText } from "./subagent_ui.js";
11
+ import { buildSubagentPresentation } from "./subagent_ui.js";
11
12
  import { TOOL_NAME_SPAWN_AGENT } from "./tool_names.js";
12
13
  const SPAWN_AGENT_DESCRIPTION = [
13
14
  "Spawn a subagent to run in the background and return its id.",
@@ -19,7 +20,7 @@ const SPAWN_AGENT_NAME_DESCRIPTION = [
19
20
  "Available subagents depend on the current persona configuration.",
20
21
  ].join(" ");
21
22
  const SPAWN_AGENT_TITLE_DESCRIPTION = [
22
- "A short human-friendly UI title shown while the subagent runs.",
23
+ "A short single-line human-friendly UI title shown while the subagent runs.",
23
24
  "Do not use title case; all lower-case is preferred except for proper nouns.",
24
25
  ].join(" ");
25
26
  const SPAWN_AGENT_PROMPT_DESCRIPTION = [
@@ -34,7 +35,7 @@ const SPAWN_AGENT_MODEL_DESCRIPTION = [
34
35
  "When provided, the value must match one of the selected subagent's configured launch models.",
35
36
  ].join(" ");
36
37
  const SPAWN_AGENT_WORKING_DIRECTORY_DESCRIPTION = [
37
- "Optional working directory for the subagent.",
38
+ "Optional single-line working directory for the subagent.",
38
39
  "When set, subagent runs as if it was started in this directory.",
39
40
  ].join(" ");
40
41
  export const SPAWN_AGENT_TOOL = {
@@ -42,19 +43,34 @@ export const SPAWN_AGENT_TOOL = {
42
43
  description: SPAWN_AGENT_DESCRIPTION,
43
44
  parameters: Type.Object({
44
45
  name: Type.String({ description: SPAWN_AGENT_NAME_DESCRIPTION }),
45
- title: Type.String({ description: SPAWN_AGENT_TITLE_DESCRIPTION }),
46
+ title: Type.String({
47
+ description: SPAWN_AGENT_TITLE_DESCRIPTION,
48
+ pattern: "^[^\\r\\n]+$",
49
+ }),
46
50
  prompt: Type.String({ description: SPAWN_AGENT_PROMPT_DESCRIPTION }),
47
51
  model: Type.Optional(Type.String({ description: SPAWN_AGENT_MODEL_DESCRIPTION })),
48
- workingDirectory: Type.Optional(Type.String({ description: SPAWN_AGENT_WORKING_DIRECTORY_DESCRIPTION })),
52
+ workingDirectory: Type.Optional(Type.String({
53
+ description: SPAWN_AGENT_WORKING_DIRECTORY_DESCRIPTION,
54
+ pattern: "^[^\\r\\n]+$",
55
+ })),
49
56
  }, { additionalProperties: false }),
50
57
  };
51
58
  const spawnArgsSchema = z
52
59
  .object({
53
60
  name: z.string().trim().min(1),
54
- title: z.string().trim().min(1),
61
+ title: z
62
+ .string()
63
+ .trim()
64
+ .min(1)
65
+ .refine((title) => !/[\r\n]/.test(title), "Title must be a single line."),
55
66
  prompt: z.string().trim().min(1),
56
67
  model: z.string().trim().min(1).optional(),
57
- workingDirectory: z.string().trim().min(1).optional(),
68
+ workingDirectory: z
69
+ .string()
70
+ .trim()
71
+ .min(1)
72
+ .refine((path) => !/[\r\n]/.test(path), "Working directory must be a single line.")
73
+ .optional(),
58
74
  })
59
75
  .strict();
60
76
  function formatAllowedLaunchModels(launchModels) {
@@ -63,28 +79,48 @@ function formatAllowedLaunchModels(launchModels) {
63
79
  }
64
80
  return launchModels.map((entry) => `'${entry}'`).join(", ");
65
81
  }
66
- function getSpawnAgentDisplayTarget(raw) {
82
+ function getSpawnAgentSubject(raw) {
67
83
  const parsedArgs = parseToolArgs(spawnArgsSchema, raw);
68
84
  return parsedArgs.ok ? parsedArgs.data.title : "(invalid arguments)";
69
85
  }
86
+ function getSpawnAgentWorkingDirectory(raw, baseCwd) {
87
+ const parsedArgs = parseToolArgs(spawnArgsSchema, raw);
88
+ const workingDirectory = parsedArgs.ok ? parsedArgs.data.workingDirectory : undefined;
89
+ return workingDirectory ? resolve(baseCwd, workingDirectory) : baseCwd;
90
+ }
70
91
  export function createSpawnAgentToolDefinition(options) {
71
92
  const { backend, supervisor } = options;
72
93
  return {
73
94
  schema: SPAWN_AGENT_TOOL,
74
- describe: (toolCall) => ({ headerTarget: getSpawnAgentDisplayTarget(toolCall.arguments) }),
95
+ describe: (toolCall) => {
96
+ const subject = getSpawnAgentSubject(toolCall.arguments);
97
+ const workingDirectory = getSpawnAgentWorkingDirectory(toolCall.arguments, options.cwd);
98
+ return {
99
+ presentation: buildToolRunPresentation({
100
+ toolName: TOOL_NAME_SPAWN_AGENT,
101
+ subject,
102
+ metadata: [formatCwd(workingDirectory)],
103
+ }),
104
+ };
105
+ },
75
106
  async execute(toolCall, context) {
76
107
  const { signal } = context;
77
108
  let name = "";
78
109
  let title = "";
79
- const headerTarget = getSpawnAgentDisplayTarget(toolCall.arguments);
110
+ const subject = getSpawnAgentSubject(toolCall.arguments);
111
+ const presentationWorkingDirectory = formatCwd(getSpawnAgentWorkingDirectory(toolCall.arguments, options.cwd));
80
112
  const blocked = (reason, details) => {
81
113
  const outcome = createTextToolOutcome(reason, "blocked");
82
114
  const uiEvent = {
83
- type: "spawn_agent_blocked",
115
+ type: "tool_call_blocked",
84
116
  toolCallId: toolCall.id,
85
- name: details?.name ?? (name || undefined),
86
- title: details?.title ?? headerTarget,
87
- headerTarget: details?.title ?? headerTarget,
117
+ toolName: TOOL_NAME_SPAWN_AGENT,
118
+ presentation: buildToolRunPresentation({
119
+ toolName: TOOL_NAME_SPAWN_AGENT,
120
+ subject: details?.title ?? subject,
121
+ details: [{ text: reason }],
122
+ metadata: [presentationWorkingDirectory],
123
+ }),
88
124
  reason,
89
125
  };
90
126
  return {
@@ -108,7 +144,7 @@ export function createSpawnAgentToolDefinition(options) {
108
144
  let effectiveSubagentPrompts = subagentPrompts;
109
145
  if (workingDirectory) {
110
146
  if (!options.resolveSubagentRuntime) {
111
- return executeTool(context, () => blocked("Working-directory context resolution is unavailable.", { name, title }));
147
+ return executeTool(context, () => blocked("Working-directory context resolution is unavailable.", { title }));
112
148
  }
113
149
  try {
114
150
  const runtime = await options.resolveSubagentRuntime({ cwd, persona });
@@ -119,28 +155,24 @@ export function createSpawnAgentToolDefinition(options) {
119
155
  }
120
156
  catch (error) {
121
157
  return executeTool(context, () => blocked(`Failed to build the subagent prompt for workingDirectory '${cwd}': ${error.message}`, {
122
- name,
123
158
  title,
124
159
  }));
125
160
  }
126
161
  }
127
162
  if (!effectivePersona.subagents || Object.keys(effectivePersona.subagents).length === 0) {
128
163
  return executeTool(context, () => blocked("The spawn_agent tool is not enabled for the resolved persona.", {
129
- name,
130
164
  title,
131
165
  }));
132
166
  }
133
167
  const personaConfig = effectivePersona.subagents[name];
134
168
  if (!personaConfig) {
135
169
  return executeTool(context, () => blocked(`Subagent '${name}' is not enabled for the resolved persona.`, {
136
- name,
137
170
  title,
138
171
  }));
139
172
  }
140
173
  const systemPrompt = effectiveSubagentPrompts[name];
141
174
  if (!systemPrompt) {
142
175
  return executeTool(context, () => blocked(`Subagent '${name}' is missing its system prompt.`, {
143
- name,
144
176
  title,
145
177
  }));
146
178
  }
@@ -149,20 +181,17 @@ export function createSpawnAgentToolDefinition(options) {
149
181
  const parsedLaunchModel = parseSubagentLaunchModel(model, { resolveModel: modelResolver });
150
182
  if (parsedLaunchModel.error || !parsedLaunchModel.launchModel) {
151
183
  return executeTool(context, () => blocked(`Invalid model parameter: ${parsedLaunchModel.error}.`, {
152
- name,
153
184
  title,
154
185
  }));
155
186
  }
156
187
  const launchModels = personaConfig.launchModels ?? [];
157
188
  if (launchModels.length === 0) {
158
189
  return executeTool(context, () => blocked(`Subagent '${name}' does not allow launch model overrides. Allowed values: ${formatAllowedLaunchModels(launchModels)}.`, {
159
- name,
160
190
  title,
161
191
  }));
162
192
  }
163
193
  if (!launchModels.includes(parsedLaunchModel.launchModel.normalized)) {
164
194
  return executeTool(context, blocked(`Model '${parsedLaunchModel.launchModel.normalized}' is not allowed for subagent '${name}'. Allowed values: ${formatAllowedLaunchModels(launchModels)}.`, {
165
- name,
166
195
  title,
167
196
  }));
168
197
  }
@@ -187,21 +216,17 @@ export function createSpawnAgentToolDefinition(options) {
187
216
  if (signal?.aborted) {
188
217
  const reason = "Aborted.";
189
218
  const outcome = createTextToolOutcome(reason, "cancelled");
190
- const uiText = buildSubagentUiText({
191
- output: reason,
192
- statusText: [...statusPrefixParts, reason].join(" · "),
193
- maxOutputLines: 16,
194
- fullText: reason,
219
+ const presentation = buildToolRunPresentation({
220
+ toolName: TOOL_NAME_SPAWN_AGENT,
221
+ subject,
222
+ metadata: statusPrefixParts,
195
223
  });
196
224
  const uiEvent = {
197
- type: "spawn_agent_finished",
225
+ type: "tool_call_finished",
198
226
  toolCallId: toolCall.id,
199
- name,
200
- title,
201
- headerTarget,
227
+ toolName: TOOL_NAME_SPAWN_AGENT,
228
+ presentation,
202
229
  status: "error",
203
- message: reason,
204
- uiText,
205
230
  };
206
231
  return { content: outcome.content, outcome: outcome.outcome, uiEvent };
207
232
  }
@@ -218,41 +243,45 @@ export function createSpawnAgentToolDefinition(options) {
218
243
  if (!spawnResult.ok) {
219
244
  const outcome = createTextToolOutcome(spawnResult.reason, "blocked");
220
245
  const uiEvent = {
221
- type: "spawn_agent_blocked",
246
+ type: "tool_call_blocked",
222
247
  toolCallId: toolCall.id,
223
- name,
224
- title,
225
- headerTarget,
248
+ toolName: TOOL_NAME_SPAWN_AGENT,
249
+ presentation: buildToolRunPresentation({
250
+ toolName: TOOL_NAME_SPAWN_AGENT,
251
+ subject: subject,
252
+ details: [{ text: spawnResult.reason }],
253
+ metadata: [statusWorkingDirectory],
254
+ }),
226
255
  reason: spawnResult.reason,
227
256
  };
228
257
  return { content: outcome.content, outcome: outcome.outcome, uiEvent };
229
258
  }
230
259
  const resultText = formatSpawnAgentResult(spawnResult.state, spawnResult.capacity);
231
- const statusParts = [...statusPrefixParts, spawnResult.state.id];
232
260
  const outcome = createTextToolOutcome(resultText, "succeeded");
233
- const uiText = buildSubagentUiText({
261
+ const presentation = buildSubagentPresentation({
262
+ toolName: TOOL_NAME_SPAWN_AGENT,
263
+ subject: subject,
234
264
  output: prompt,
235
- statusText: statusParts.join(" · "),
236
- maxOutputLines: 16,
237
- fullText: resultText,
265
+ detailTruncation: { maxLines: 17, strategy: "middle" },
266
+ metadata: [...statusPrefixParts, spawnResult.state.id],
238
267
  });
239
268
  const uiEvent = {
240
- type: "spawn_agent_finished",
269
+ type: "tool_call_finished",
241
270
  toolCallId: toolCall.id,
242
- name,
243
- title,
244
- headerTarget,
271
+ toolName: TOOL_NAME_SPAWN_AGENT,
272
+ presentation,
245
273
  status: "success",
246
- agentId: spawnResult.state.id,
247
- uiText,
248
274
  };
249
275
  return { content: outcome.content, outcome: outcome.outcome, uiEvent };
250
276
  }, {
251
- type: "spawn_agent_started",
277
+ type: "tool_call_started",
252
278
  toolCallId: toolCall.id,
253
- name,
254
- title,
255
- headerTarget,
279
+ toolName: TOOL_NAME_SPAWN_AGENT,
280
+ presentation: buildToolRunPresentation({
281
+ toolName: TOOL_NAME_SPAWN_AGENT,
282
+ subject: subject,
283
+ metadata: [statusWorkingDirectory],
284
+ }),
256
285
  });
257
286
  },
258
287
  };
@@ -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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"}
@@ -1,43 +1,19 @@
1
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, fullText, }) {
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
- indent: 0,
2
+ import { buildToolRunPresentation } from "./presentation.js";
3
+ export function buildSubagentPresentation(args) {
4
+ const output = args.output.trimEnd();
5
+ return buildToolRunPresentation({
6
+ toolName: args.toolName,
7
+ subject: args.subject,
8
+ details: output ? output.split("\n").map((text) => ({ text })) : [],
9
+ ...(args.detailTruncation !== undefined ? { detailTruncation: args.detailTruncation } : {}),
10
+ metadata: args.metadata ?? [],
25
11
  });
26
- const previewLines = preview ? preview.split("\n").map((text) => ({ text })) : [];
27
- const trimmedFullText = fullText?.trimEnd();
28
- const fullLines = trimmedFullText
29
- ? trimmedFullText.split("\n").map((text) => ({ text }))
30
- : truncatedLines.map((text) => ({ text }));
31
- const statusLine = statusText || undefined;
32
- return {
33
- previewLines,
34
- statusLine,
35
- fullLines,
36
- };
37
12
  }
38
- export function formatSubagentStatusLine({ costTotal, durationMs }) {
39
- const cost = `$${formatAdaptiveNumber(costTotal, 2, 5)}`;
40
- const duration = formatDurationMs(durationMs);
41
- return `cost ${cost} · duration ${duration}`;
13
+ export function formatSubagentMetadata(args) {
14
+ return [
15
+ `cost $${formatAdaptiveNumber(args.costTotal, 2, 5)}`,
16
+ `duration ${formatDurationMs(args.durationMs)}`,
17
+ ];
42
18
  }
43
19
  //# sourceMappingURL=subagent_ui.js.map