@qduc/term2 0.10.1 → 0.11.0

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 (169) hide show
  1. package/dist/agent.d.ts +7 -0
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +20 -14
  4. package/dist/agent.js.map +1 -1
  5. package/dist/app.d.ts.map +1 -1
  6. package/dist/app.js +10 -11
  7. package/dist/app.js.map +1 -1
  8. package/dist/components/layout/BackgroundTasksPanel.d.ts +10 -0
  9. package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -0
  10. package/dist/components/layout/BackgroundTasksPanel.js +60 -0
  11. package/dist/components/layout/BackgroundTasksPanel.js.map +1 -0
  12. package/dist/components/layout/BottomArea.d.ts +3 -0
  13. package/dist/components/layout/BottomArea.d.ts.map +1 -1
  14. package/dist/components/layout/BottomArea.js +3 -1
  15. package/dist/components/layout/BottomArea.js.map +1 -1
  16. package/dist/components/message/CommandMessage.js +21 -1
  17. package/dist/components/message/CommandMessage.js.map +1 -1
  18. package/dist/components/message/SubagentActivityMessage.d.ts +1 -0
  19. package/dist/components/message/SubagentActivityMessage.d.ts.map +1 -1
  20. package/dist/components/message/SubagentActivityMessage.js +3 -3
  21. package/dist/components/message/SubagentActivityMessage.js.map +1 -1
  22. package/dist/components/message/command-message-helpers.d.ts.map +1 -1
  23. package/dist/components/message/command-message-helpers.js +10 -0
  24. package/dist/components/message/command-message-helpers.js.map +1 -1
  25. package/dist/components/prompt/ApprovalPrompt.d.ts.map +1 -1
  26. package/dist/components/prompt/ApprovalPrompt.js +28 -3
  27. package/dist/components/prompt/ApprovalPrompt.js.map +1 -1
  28. package/dist/hooks/settings-completion-config.d.ts.map +1 -1
  29. package/dist/hooks/settings-completion-config.js +4 -0
  30. package/dist/hooks/settings-completion-config.js.map +1 -1
  31. package/dist/hooks/use-conversation.d.ts +3 -0
  32. package/dist/hooks/use-conversation.d.ts.map +1 -1
  33. package/dist/hooks/use-conversation.js +23 -1
  34. package/dist/hooks/use-conversation.js.map +1 -1
  35. package/dist/lib/agent-client.d.ts +16 -1
  36. package/dist/lib/agent-client.d.ts.map +1 -1
  37. package/dist/lib/agent-client.js +22 -1
  38. package/dist/lib/agent-client.js.map +1 -1
  39. package/dist/lib/agent-configuration.d.ts.map +1 -1
  40. package/dist/lib/agent-configuration.js +2 -0
  41. package/dist/lib/agent-configuration.js.map +1 -1
  42. package/dist/lib/agent-factory.d.ts +7 -0
  43. package/dist/lib/agent-factory.d.ts.map +1 -1
  44. package/dist/lib/agent-factory.js +2 -0
  45. package/dist/lib/agent-factory.js.map +1 -1
  46. package/dist/lib/subagent-bridge.d.ts +37 -3
  47. package/dist/lib/subagent-bridge.d.ts.map +1 -1
  48. package/dist/lib/subagent-bridge.js +115 -8
  49. package/dist/lib/subagent-bridge.js.map +1 -1
  50. package/dist/prompts/async-subagent-delegation.d.ts +9 -0
  51. package/dist/prompts/async-subagent-delegation.d.ts.map +1 -0
  52. package/dist/prompts/async-subagent-delegation.js +36 -0
  53. package/dist/prompts/async-subagent-delegation.js.map +1 -0
  54. package/dist/prompts/async-subagent-delegation.ts +45 -0
  55. package/dist/prompts/orchestrator.md +16 -3
  56. package/dist/prompts/prompt-constructor.d.ts +1 -0
  57. package/dist/prompts/prompt-constructor.d.ts.map +1 -1
  58. package/dist/prompts/prompt-constructor.js +5 -1
  59. package/dist/prompts/prompt-constructor.js.map +1 -1
  60. package/dist/prompts/prompt-constructor.test.ts +51 -0
  61. package/dist/prompts/prompt-constructor.ts +7 -0
  62. package/dist/prompts/subagent-delegation.d.ts.map +1 -1
  63. package/dist/prompts/subagent-delegation.js +2 -1
  64. package/dist/prompts/subagent-delegation.js.map +1 -1
  65. package/dist/prompts/subagent-delegation.ts +2 -1
  66. package/dist/services/agent-runtime/execution-budget.d.ts +6 -0
  67. package/dist/services/agent-runtime/execution-budget.d.ts.map +1 -1
  68. package/dist/services/agent-runtime/execution-budget.js +32 -24
  69. package/dist/services/agent-runtime/execution-budget.js.map +1 -1
  70. package/dist/services/agent-runtime/permission-resolver.js +1 -1
  71. package/dist/services/agent-runtime/permission-resolver.js.map +1 -1
  72. package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
  73. package/dist/services/conversation/conversation-adapter.js +2 -0
  74. package/dist/services/conversation/conversation-adapter.js.map +1 -1
  75. package/dist/services/conversation/conversation-events.d.ts +12 -1
  76. package/dist/services/conversation/conversation-events.d.ts.map +1 -1
  77. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
  78. package/dist/services/conversation/conversation-orchestrator.js +138 -22
  79. package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
  80. package/dist/services/conversation/conversation-replay.d.ts.map +1 -1
  81. package/dist/services/conversation/conversation-replay.js +1 -0
  82. package/dist/services/conversation/conversation-replay.js.map +1 -1
  83. package/dist/services/conversation/conversation-service.d.ts +22 -0
  84. package/dist/services/conversation/conversation-service.d.ts.map +1 -1
  85. package/dist/services/conversation/conversation-service.js +40 -0
  86. package/dist/services/conversation/conversation-service.js.map +1 -1
  87. package/dist/services/conversation/conversation-store.d.ts +6 -0
  88. package/dist/services/conversation/conversation-store.d.ts.map +1 -1
  89. package/dist/services/conversation/conversation-store.js +17 -0
  90. package/dist/services/conversation/conversation-store.js.map +1 -1
  91. package/dist/services/conversation-agent-client.d.ts +13 -0
  92. package/dist/services/conversation-agent-client.d.ts.map +1 -1
  93. package/dist/services/logging/conversation-log-events.d.ts +1 -0
  94. package/dist/services/logging/conversation-log-events.d.ts.map +1 -1
  95. package/dist/services/logging/conversation-log-events.js.map +1 -1
  96. package/dist/services/logging/conversation-logger.d.ts.map +1 -1
  97. package/dist/services/logging/conversation-logger.js +1 -0
  98. package/dist/services/logging/conversation-logger.js.map +1 -1
  99. package/dist/services/plan-mode-interceptor.js +2 -2
  100. package/dist/services/plan-mode-interceptor.js.map +1 -1
  101. package/dist/services/session/session-composition.d.ts +23 -0
  102. package/dist/services/session/session-composition.d.ts.map +1 -1
  103. package/dist/services/session/session-composition.js +65 -1
  104. package/dist/services/session/session-composition.js.map +1 -1
  105. package/dist/services/settings/settings-merger.d.ts.map +1 -1
  106. package/dist/services/settings/settings-merger.js +2 -0
  107. package/dist/services/settings/settings-merger.js.map +1 -1
  108. package/dist/services/settings/settings-schema.d.ts +15 -0
  109. package/dist/services/settings/settings-schema.d.ts.map +1 -1
  110. package/dist/services/settings/settings-schema.js +23 -0
  111. package/dist/services/settings/settings-schema.js.map +1 -1
  112. package/dist/services/subagents/execution-runner.d.ts +3 -0
  113. package/dist/services/subagents/execution-runner.d.ts.map +1 -1
  114. package/dist/services/subagents/execution-runner.js +33 -7
  115. package/dist/services/subagents/execution-runner.js.map +1 -1
  116. package/dist/services/subagents/mentor-runner.d.ts +5 -1
  117. package/dist/services/subagents/mentor-runner.d.ts.map +1 -1
  118. package/dist/services/subagents/mentor-runner.js +40 -2
  119. package/dist/services/subagents/mentor-runner.js.map +1 -1
  120. package/dist/services/subagents/runtime.d.ts +2 -0
  121. package/dist/services/subagents/runtime.d.ts.map +1 -1
  122. package/dist/services/subagents/runtime.js +20 -0
  123. package/dist/services/subagents/runtime.js.map +1 -1
  124. package/dist/services/subagents/subagent-async-registry.d.ts +39 -0
  125. package/dist/services/subagents/subagent-async-registry.d.ts.map +1 -0
  126. package/dist/services/subagents/subagent-async-registry.js +233 -0
  127. package/dist/services/subagents/subagent-async-registry.js.map +1 -0
  128. package/dist/services/subagents/subagent-manager.d.ts +17 -0
  129. package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
  130. package/dist/services/subagents/subagent-manager.js +45 -1
  131. package/dist/services/subagents/subagent-manager.js.map +1 -1
  132. package/dist/services/subagents/subagent-notification-store.d.ts +89 -0
  133. package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -0
  134. package/dist/services/subagents/subagent-notification-store.js +167 -0
  135. package/dist/services/subagents/subagent-notification-store.js.map +1 -0
  136. package/dist/services/subagents/subagent-session.d.ts +12 -1
  137. package/dist/services/subagents/subagent-session.d.ts.map +1 -1
  138. package/dist/services/subagents/subagent-session.js +29 -6
  139. package/dist/services/subagents/subagent-session.js.map +1 -1
  140. package/dist/services/subagents/types.d.ts +11 -0
  141. package/dist/services/subagents/types.d.ts.map +1 -1
  142. package/dist/services/subagents/types.js +1 -0
  143. package/dist/services/subagents/types.js.map +1 -1
  144. package/dist/services/subagents/utils.d.ts +6 -0
  145. package/dist/services/subagents/utils.d.ts.map +1 -1
  146. package/dist/services/subagents/utils.js +21 -0
  147. package/dist/services/subagents/utils.js.map +1 -1
  148. package/dist/tools/agent/run-subagent-async.d.ts +25 -0
  149. package/dist/tools/agent/run-subagent-async.d.ts.map +1 -0
  150. package/dist/tools/agent/run-subagent-async.js +178 -0
  151. package/dist/tools/agent/run-subagent-async.js.map +1 -0
  152. package/dist/types/message.d.ts +1 -0
  153. package/dist/types/message.d.ts.map +1 -1
  154. package/dist/types/message.js.map +1 -1
  155. package/dist/utils/conversation/conversation-event-handler.d.ts.map +1 -1
  156. package/dist/utils/conversation/conversation-event-handler.js +1 -0
  157. package/dist/utils/conversation/conversation-event-handler.js.map +1 -1
  158. package/dist/utils/settings-command.d.ts.map +1 -1
  159. package/dist/utils/settings-command.js +10 -0
  160. package/dist/utils/settings-command.js.map +1 -1
  161. package/dist/utils/shell/sandbox/sandbox-network-approval.d.ts +2 -1
  162. package/dist/utils/shell/sandbox/sandbox-network-approval.d.ts.map +1 -1
  163. package/dist/utils/shell/sandbox/sandbox-network-approval.js +17 -1
  164. package/dist/utils/shell/sandbox/sandbox-network-approval.js.map +1 -1
  165. package/dist/utils/shell/sandbox/sandbox-network-store.d.ts +20 -0
  166. package/dist/utils/shell/sandbox/sandbox-network-store.d.ts.map +1 -0
  167. package/dist/utils/shell/sandbox/sandbox-network-store.js +99 -0
  168. package/dist/utils/shell/sandbox/sandbox-network-store.js.map +1 -0
  169. package/package.json +1 -1
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Guidance for the asynchronous subagent tools (`run_subagent_async` and
3
+ * `get_subagent_result`). Injected when both tools are available.
4
+ */
5
+ export declare function getAsyncSubagentDelegationAddendum({ memoryEnabled, orchestratorMode, }?: {
6
+ memoryEnabled?: boolean;
7
+ orchestratorMode?: boolean;
8
+ }): string;
9
+ //# sourceMappingURL=async-subagent-delegation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-subagent-delegation.d.ts","sourceRoot":"","sources":["../../source/prompts/async-subagent-delegation.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,kCAAkC,CAAC,EACjD,aAAoB,EACpB,gBAAwB,GACzB,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,CAmCvE"}
@@ -0,0 +1,36 @@
1
+ import { getSubagentsRolesSection } from '../tools/agent/run-subagent.js';
2
+ /**
3
+ * Guidance for the asynchronous subagent tools (`run_subagent_async` and
4
+ * `get_subagent_result`). Injected when both tools are available.
5
+ */
6
+ export function getAsyncSubagentDelegationAddendum({ memoryEnabled = true, orchestratorMode = false, } = {}) {
7
+ const header = `### Asynchronous subagents
8
+
9
+ You have two tools for running subagents in the background:
10
+
11
+ - \`run_subagent_async\`: starts a subagent and returns a \`runId\` immediately.
12
+ - \`get_subagent_result\`: blocks until the started subagent finishes and returns the final \`SubagentResult\`.
13
+
14
+ Use these when you want to start a background investigation, return control while it runs, and collect the result after the automatic completion notification.`;
15
+ const rules = `**Rules for async subagents:**
16
+ - Fresh async runs support explorer, worker, researcher, mentor, and librarian.
17
+ - Runs persist across parent turns in process memory until their 30-minute sliding TTL expires or the 50-session cap evicts them. Ordinary turn completion does not cancel them.
18
+ - A returned handle with \`status: "running"\` means delegation succeeded.
19
+ - Use \`get_subagent_result\` with the exact \`runId\` returned by \`run_subagent_async\`.
20
+ - Mentor and librarian fresh calls reuse their default session. Explorer and researcher fresh calls start a new session; pass \`continue_run_id\` to explicitly continue a completed explorer or researcher run. Worker runs are always fresh and cannot be continued.
21
+ - Only completed runs can be continued. A continuation uses the same runId; do not invent runIds or continue an active, failed, cancelled, missing, or evicted run.
22
+ - The result uses the structured \`SubagentResult\` shape: status, final text, tools used, and files changed.`;
23
+ const triggers = `**When to use async subagents:**
24
+ - A codebase exploration or web research task can run in parallel with other reasoning.
25
+ - You want to keep your context focused while a mentor pressure-tests a plan in the background.
26
+ - The result is needed later, not immediately, and you have other useful work to do first.${orchestratorMode
27
+ ? `
28
+
29
+ In Orchestrator mode, use \`run_subagent_async\` for delegable work. A returned handle with \`status: "running"\` means delegation succeeded. Do not duplicate or independently perform the delegated unit. After a successful launch, end the current turn and wait for the automatic completion notification. Use \`get_subagent_result\` from that notification turn, or call it earlier only when the result is explicitly needed immediately.`
30
+ : ''}`;
31
+ const framing = `**Task framing:** Describe the goal, relevant context, and constraints—not implementation steps. Do not repeat automatically supplied context: role instructions, generic tool guidance, worktree hygiene, environment metadata, root \`AGENTS.md\`, or skills catalog.`;
32
+ return `${header}\n\n${rules}\n\n${triggers}\n\n${framing}\n\n${getSubagentsRolesSection({
33
+ includeLibrarian: memoryEnabled,
34
+ })}`;
35
+ }
36
+ //# sourceMappingURL=async-subagent-delegation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-subagent-delegation.js","sourceRoot":"","sources":["../../source/prompts/async-subagent-delegation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E;;;GAGG;AACH,MAAM,UAAU,kCAAkC,CAAC,EACjD,aAAa,GAAG,IAAI,EACpB,gBAAgB,GAAG,KAAK,GACzB,GAA4D,EAAE;IAC7D,MAAM,MAAM,GAAG;;;;;;;+JAO8I,CAAC;IAE9J,MAAM,KAAK,GAAG;;;;;;;8GAO8F,CAAC;IAE7G,MAAM,QAAQ,GAAG;;;4FAIf,gBAAgB;QACd,CAAC,CAAC;;mbAE2a;QAC7a,CAAC,CAAC,EACN,EAAE,CAAC;IAEH,MAAM,OAAO,GAAG,yQAAyQ,CAAC;IAE1R,OAAO,GAAG,MAAM,OAAO,KAAK,OAAO,QAAQ,OAAO,OAAO,OAAO,wBAAwB,CAAC;QACvF,gBAAgB,EAAE,aAAa;KAChC,CAAC,EAAE,CAAC;AACP,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { getSubagentsRolesSection } from '../tools/agent/run-subagent.js';
2
+
3
+ /**
4
+ * Guidance for the asynchronous subagent tools (`run_subagent_async` and
5
+ * `get_subagent_result`). Injected when both tools are available.
6
+ */
7
+ export function getAsyncSubagentDelegationAddendum({
8
+ memoryEnabled = true,
9
+ orchestratorMode = false,
10
+ }: { memoryEnabled?: boolean; orchestratorMode?: boolean } = {}): string {
11
+ const header = `### Asynchronous subagents
12
+
13
+ You have two tools for running subagents in the background:
14
+
15
+ - \`run_subagent_async\`: starts a subagent and returns a \`runId\` immediately.
16
+ - \`get_subagent_result\`: blocks until the started subagent finishes and returns the final \`SubagentResult\`.
17
+
18
+ Use these when you want to start a background investigation, return control while it runs, and collect the result after the automatic completion notification.`;
19
+
20
+ const rules = `**Rules for async subagents:**
21
+ - Fresh async runs support explorer, worker, researcher, mentor, and librarian.
22
+ - Runs persist across parent turns in process memory until their 30-minute sliding TTL expires or the 50-session cap evicts them. Ordinary turn completion does not cancel them.
23
+ - A returned handle with \`status: "running"\` means delegation succeeded.
24
+ - Use \`get_subagent_result\` with the exact \`runId\` returned by \`run_subagent_async\`.
25
+ - Mentor and librarian fresh calls reuse their default session. Explorer and researcher fresh calls start a new session; pass \`continue_run_id\` to explicitly continue a completed explorer or researcher run. Worker runs are always fresh and cannot be continued.
26
+ - Only completed runs can be continued. A continuation uses the same runId; do not invent runIds or continue an active, failed, cancelled, missing, or evicted run.
27
+ - The result uses the structured \`SubagentResult\` shape: status, final text, tools used, and files changed.`;
28
+
29
+ const triggers = `**When to use async subagents:**
30
+ - A codebase exploration or web research task can run in parallel with other reasoning.
31
+ - You want to keep your context focused while a mentor pressure-tests a plan in the background.
32
+ - The result is needed later, not immediately, and you have other useful work to do first.${
33
+ orchestratorMode
34
+ ? `
35
+
36
+ In Orchestrator mode, use \`run_subagent_async\` for delegable work. A returned handle with \`status: "running"\` means delegation succeeded. Do not duplicate or independently perform the delegated unit. After a successful launch, end the current turn and wait for the automatic completion notification. Use \`get_subagent_result\` from that notification turn, or call it earlier only when the result is explicitly needed immediately.`
37
+ : ''
38
+ }`;
39
+
40
+ const framing = `**Task framing:** Describe the goal, relevant context, and constraints—not implementation steps. Do not repeat automatically supplied context: role instructions, generic tool guidance, worktree hygiene, environment metadata, root \`AGENTS.md\`, or skills catalog.`;
41
+
42
+ return `${header}\n\n${rules}\n\n${triggers}\n\n${framing}\n\n${getSubagentsRolesSection({
43
+ includeLibrarian: memoryEnabled,
44
+ })}`;
45
+ }
@@ -1,16 +1,25 @@
1
- You are in Orchestrator mode. You own the user-requested outcome end to end: investigate, decide, act, integrate results, correct mistakes, validate, and report. Continue through obvious necessary next steps without waiting for another user prompt.
1
+ You are in Orchestrator mode. You own the user-requested outcome end to end: investigate, decide, act, integrate results, correct mistakes, validate, and report. Continue through obvious necessary next steps without waiting for another user prompt. Remain the single point of contact for the user.
2
2
 
3
3
  ## How to work
4
+
4
5
  Choose investigation, planning, delegation, implementation, review, and validation adaptively. Let uncertainty, impact, reversibility, and coordination risk determine the next useful action; there is no universal task pipeline.
5
6
 
6
- Directly inspect, edit, run commands, and test small or clear work when delegation has no meaningful leverage. Delegate for specialization, context compression, safe parallelism, or cohesive separable work—not merely because workspace access is involved. Avoid concurrent overlapping edits; sequence work that shares files, contracts, schemas, state flows, or dependencies.
7
+ Get the work done with the least delegation that fully and safely covers it. Directly inspect, edit, run commands, and test small or clear work when delegation has no meaningful leverage. Delegate for specialization, context compression, safe parallelism, or cohesive separable work not merely because workspace access or tools are involved. Decompose only when a task genuinely spans multiple concerns; one bounded agent is correct for a one-step task, and do not split a small task across roles merely because roles exist.
7
8
 
8
- Delegation transfers execution, never outcome ownership. Treat subagent results as internal checkpoints: integrate them, follow up on gaps, correct errors, and complete the task yourself. Use proportionate validation rather than redundant verification delegation.
9
+ Delegation transfers execution, never outcome ownership. Treat subagent results as internal checkpoints: integrate them, follow up on gaps, correct errors, and complete the task yourself. Do not quietly take over worker work, and do not treat a subagent summary as completion without evidence. Avoid concurrent overlapping edits; sequence work that shares files, contracts, schemas, state flows, or dependencies.
9
10
 
10
11
  Resolve discoverable ambiguity from available evidence and use ordinary engineering judgment. Ask the user only for genuine blockers, unavailable information, consequential product choices, destructive or risky authorization, or materially divergent outcomes that cannot responsibly be inferred.
11
12
 
12
13
  Protect pre-existing user work. Report truthfully. Apply stricter scrutiny to destructive, irreversible, security-sensitive, migration, persistence, concurrency, and broadly coupled work.
13
14
 
15
+ ## Delegation discipline
16
+
17
+ Choose the most fitting available role for the task. Give each task one owner and avoid overlapping edits.
18
+
19
+ For modifying work, ask the worker to use an isolated git worktree when the change is non-trivial or concurrent work is active and the repository and provider support it. Otherwise assign one writer per checkout and escalate conflicts rather than racing edits. Keep scouts and reviewers read-only unless edits are explicitly authorized. Escalate destructive, irreversible, external, production, credential, security-sensitive, or materially scope-changing decisions when the consequence is genuinely material.
20
+
21
+ Do not treat a summary as completion. For modifications, require changed-file or diff/commit evidence and relevant test output when the change plausibly affects behavior; for inert changes such as docs or comments, the diff/commit is sufficient. Report outcomes, evidence, blockers, risks, integration instructions, and needed user decisions concisely.
22
+
14
23
  ## Using memory
15
24
 
16
25
  The memory index at the bottom of this prompt is a retrieval trigger, not a reference manual. Read each summary as a description of the conditions under which its memory applies.
@@ -21,9 +30,13 @@ The memory index at the bottom of this prompt is a retrieval trigger, not a refe
21
30
  - When delegating, restate any loaded memory that constrains the subagent's work as an explicit instruction — the subagent does not see your conversation or the index.
22
31
 
23
32
  ## Delegating well
33
+
24
34
  Give each subagent the objective, task-specific scope, non-discoverable parent findings or decisions, constraints, deliverable or acceptance criteria, and validation when applicable. Do not repeat automatically supplied context: role instructions, generic tool guidance, worktree hygiene, environment metadata, root `AGENTS.md`, or skills catalog. The subagent does not see your conversation or reasoning. Frame a cohesive unit with a concrete done condition while leaving the worker autonomy over how to execute it.
25
35
 
26
36
  Do not redo completed work without reason. If a result looks wrong, inspect the evidence, then directly fix it or delegate a corrected cohesive scope. If a subagent returns a partial result, use what is sound and finish the remaining work.
27
37
 
28
38
  ## Verifying and reporting
39
+
29
40
  Treat subagent "done" reports as claims, not facts. Before reporting completion, validate against the task's acceptance criteria at a level proportionate to the risk and breadth of the change.
41
+
42
+ For modifications, require changed-file or diff/commit evidence and relevant test output when the change plausibly affects behavior; for inert changes such as docs or comments, the diff/commit is sufficient. Report outcomes, evidence, blockers, risks, integration instructions, and needed user decisions concisely.
@@ -8,6 +8,7 @@ export type PromptConstructorOptions = {
8
8
  searchViaShell?: boolean;
9
9
  codeContextEnabled?: boolean;
10
10
  runSubagentEnabled?: boolean;
11
+ runSubagentAsyncEnabled?: boolean;
11
12
  sandboxEnabled?: boolean;
12
13
  memoryEnabled?: boolean;
13
14
  memoryGuidance?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-constructor.d.ts","sourceRoot":"","sources":["../../source/prompts/prompt-constructor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAMzE,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEF,wBAAgB,eAAe,CAAC,OAAO,EAAE,wBAAwB,GAAG,UAAU,CA6D7E"}
1
+ {"version":3,"file":"prompt-constructor.d.ts","sourceRoot":"","sources":["../../source/prompts/prompt-constructor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAOzE,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEF,wBAAgB,eAAe,CAAC,OAAO,EAAE,wBAAwB,GAAG,UAAU,CAkE7E"}
@@ -1,9 +1,10 @@
1
1
  import { selectPromptProfile } from './prompt-profiles.js';
2
2
  import { getSearchViaShellAddendum } from './search-via-shell.js';
3
3
  import { getSubagentDelegationAddendum } from './subagent-delegation.js';
4
+ import { getAsyncSubagentDelegationAddendum } from './async-subagent-delegation.js';
4
5
  import { getShellSandboxAddendum } from './shell-sandbox.js';
5
6
  export function buildPromptSpec(options) {
6
- const { model, liteMode, orchestratorMode = false, mentorMode = false, searchViaShell = false, runSubagentEnabled = false, sandboxEnabled = true, memoryEnabled = false, memoryGuidance = '', executionContext, } = options;
7
+ const { model, liteMode, orchestratorMode = false, mentorMode = false, searchViaShell = false, runSubagentEnabled = false, runSubagentAsyncEnabled = false, sandboxEnabled = true, memoryEnabled = false, memoryGuidance = '', executionContext, } = options;
7
8
  const profile = selectPromptProfile({ model, liteMode, orchestratorMode });
8
9
  const fragmentFiles = [...(profile.fragmentFiles ?? [])];
9
10
  const inlineSections = [];
@@ -27,6 +28,9 @@ export function buildPromptSpec(options) {
27
28
  if (orchestratorMode && runSubagentEnabled) {
28
29
  inlineSections.push(getSubagentDelegationAddendum({ orchestratorMode, memoryEnabled }));
29
30
  }
31
+ if (runSubagentAsyncEnabled && !liteMode) {
32
+ inlineSections.push(getAsyncSubagentDelegationAddendum({ memoryEnabled, orchestratorMode }));
33
+ }
30
34
  if (isRegularMode && isAgentMode) {
31
35
  fragmentFiles.push('plan-mode-info.md');
32
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-constructor.js","sourceRoot":"","sources":["../../source/prompts/prompt-constructor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAuB7D,MAAM,UAAU,eAAe,CAAC,OAAiC;IAC/D,MAAM,EACJ,KAAK,EACL,QAAQ,EACR,gBAAgB,GAAG,KAAK,EACxB,UAAU,GAAG,KAAK,EAClB,cAAc,GAAG,KAAK,EACtB,kBAAkB,GAAG,KAAK,EAC1B,cAAc,GAAG,IAAI,EACrB,aAAa,GAAG,KAAK,EACrB,cAAc,GAAG,EAAE,EACnB,gBAAgB,GACjB,GAAG,OAAO,CAAC;IAEZ,MAAM,OAAO,GAAG,mBAAmB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC3E,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;IACzD,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,MAAM,aAAa,GAAG,CAAC,QAAQ,CAAC;IAChC,MAAM,WAAW,GAAG,CAAC,gBAAgB,CAAC;IACtC,2EAA2E;IAC3E,6DAA6D;IAC7D,MAAM,4BAA4B,GAAG,CAAC,QAAQ,CAAC;IAE/C,IAAI,4BAA4B,EAAE,CAAC;QACjC,aAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACnB,cAAc,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;QAChC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,WAAW,IAAI,cAAc,EAAE,CAAC;QAClC,cAAc,CAAC,IAAI,CAAC,yBAAyB,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,gBAAgB,IAAI,kBAAkB,EAAE,CAAC;QAC3C,cAAc,CAAC,IAAI,CAAC,6BAA6B,CAAC,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,IAAI,aAAa,IAAI,WAAW,EAAE,CAAC;QACjC,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,aAAa,IAAI,WAAW,EAAE,CAAC;QACjC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACnB,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;IAED,OAAO;QACL,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,aAAa;QACb,cAAc;KACf,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"prompt-constructor.js","sourceRoot":"","sources":["../../source/prompts/prompt-constructor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,kCAAkC,EAAE,MAAM,gCAAgC,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAwB7D,MAAM,UAAU,eAAe,CAAC,OAAiC;IAC/D,MAAM,EACJ,KAAK,EACL,QAAQ,EACR,gBAAgB,GAAG,KAAK,EACxB,UAAU,GAAG,KAAK,EAClB,cAAc,GAAG,KAAK,EACtB,kBAAkB,GAAG,KAAK,EAC1B,uBAAuB,GAAG,KAAK,EAC/B,cAAc,GAAG,IAAI,EACrB,aAAa,GAAG,KAAK,EACrB,cAAc,GAAG,EAAE,EACnB,gBAAgB,GACjB,GAAG,OAAO,CAAC;IAEZ,MAAM,OAAO,GAAG,mBAAmB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC3E,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;IACzD,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,MAAM,aAAa,GAAG,CAAC,QAAQ,CAAC;IAChC,MAAM,WAAW,GAAG,CAAC,gBAAgB,CAAC;IACtC,2EAA2E;IAC3E,6DAA6D;IAC7D,MAAM,4BAA4B,GAAG,CAAC,QAAQ,CAAC;IAE/C,IAAI,4BAA4B,EAAE,CAAC;QACjC,aAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACnB,cAAc,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;QAChC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,WAAW,IAAI,cAAc,EAAE,CAAC;QAClC,cAAc,CAAC,IAAI,CAAC,yBAAyB,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,gBAAgB,IAAI,kBAAkB,EAAE,CAAC;QAC3C,cAAc,CAAC,IAAI,CAAC,6BAA6B,CAAC,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,IAAI,uBAAuB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzC,cAAc,CAAC,IAAI,CAAC,kCAAkC,CAAC,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAC/F,CAAC;IAED,IAAI,aAAa,IAAI,WAAW,EAAE,CAAC;QACjC,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,aAAa,IAAI,WAAW,EAAE,CAAC;QACjC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACnB,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;IAED,OAAO;QACL,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,aAAa;QACb,cAAc;KACf,CAAC;AACJ,CAAC"}
@@ -111,3 +111,54 @@ it('adds persistent-memory guidance only when memory tools are enabled', () => {
111
111
  'memory.md',
112
112
  );
113
113
  });
114
+
115
+ it('buildPromptSpec includes async subagent guidance when async tools are enabled', () => {
116
+ const spec = buildPromptSpec({
117
+ model: 'gpt-4o',
118
+ liteMode: false,
119
+ runSubagentAsyncEnabled: true,
120
+ });
121
+ expect(spec.inlineSections.some((s) => s.includes('Asynchronous subagents'))).toBe(true);
122
+ expect(spec.inlineSections.some((s) => s.includes('run_subagent_async'))).toBe(true);
123
+ expect(spec.inlineSections.some((s) => s.includes('get_subagent_result'))).toBe(true);
124
+ expect(spec.inlineSections.some((s) => s.includes('explorer'))).toBe(true);
125
+ expect(spec.inlineSections.some((s) => s.includes('researcher'))).toBe(true);
126
+ expect(spec.inlineSections.some((s) => s.includes('mentor'))).toBe(true);
127
+ });
128
+
129
+ it('buildPromptSpec tells orchestrators to trust successful delegation and wait without duplicating it', () => {
130
+ const spec = buildPromptSpec({
131
+ model: 'gpt-4o',
132
+ liteMode: false,
133
+ orchestratorMode: true,
134
+ runSubagentEnabled: true,
135
+ runSubagentAsyncEnabled: true,
136
+ });
137
+ const guidance = spec.inlineSections.join('\n');
138
+
139
+ expect(guidance).toContain('use `run_subagent_async` for delegable work');
140
+ expect(guidance).toContain('A returned handle with `status: "running"` means delegation succeeded');
141
+ expect(guidance).toContain('Do not duplicate or independently perform the delegated unit');
142
+ expect(guidance).toContain('end the current turn and wait for the automatic completion notification');
143
+ expect(guidance).toContain('Use `get_subagent_result` from that notification turn');
144
+ expect(guidance).toContain('only when the result is explicitly needed immediately');
145
+ expect(guidance).not.toContain('Use `run_subagent` only');
146
+ });
147
+
148
+ it('buildPromptSpec excludes async subagent guidance in lite mode', () => {
149
+ const spec = buildPromptSpec({
150
+ model: 'gpt-4o',
151
+ liteMode: true,
152
+ runSubagentAsyncEnabled: true,
153
+ });
154
+ expect(spec.inlineSections.some((s) => s.includes('Asynchronous subagents'))).toBe(false);
155
+ });
156
+
157
+ it('buildPromptSpec excludes async subagent guidance when disabled', () => {
158
+ const spec = buildPromptSpec({
159
+ model: 'gpt-4o',
160
+ liteMode: false,
161
+ runSubagentAsyncEnabled: false,
162
+ });
163
+ expect(spec.inlineSections.some((s) => s.includes('Asynchronous subagents'))).toBe(false);
164
+ });
@@ -2,6 +2,7 @@ import type { ExecutionContext } from '../services/execution-context.js';
2
2
  import { selectPromptProfile } from './prompt-profiles.js';
3
3
  import { getSearchViaShellAddendum } from './search-via-shell.js';
4
4
  import { getSubagentDelegationAddendum } from './subagent-delegation.js';
5
+ import { getAsyncSubagentDelegationAddendum } from './async-subagent-delegation.js';
5
6
  import { getShellSandboxAddendum } from './shell-sandbox.js';
6
7
 
7
8
  export type PromptConstructorOptions = {
@@ -13,6 +14,7 @@ export type PromptConstructorOptions = {
13
14
  searchViaShell?: boolean;
14
15
  codeContextEnabled?: boolean;
15
16
  runSubagentEnabled?: boolean;
17
+ runSubagentAsyncEnabled?: boolean;
16
18
  sandboxEnabled?: boolean;
17
19
  memoryEnabled?: boolean;
18
20
  memoryGuidance?: string;
@@ -33,6 +35,7 @@ export function buildPromptSpec(options: PromptConstructorOptions): PromptSpec {
33
35
  mentorMode = false,
34
36
  searchViaShell = false,
35
37
  runSubagentEnabled = false,
38
+ runSubagentAsyncEnabled = false,
36
39
  sandboxEnabled = true,
37
40
  memoryEnabled = false,
38
41
  memoryGuidance = '',
@@ -69,6 +72,10 @@ export function buildPromptSpec(options: PromptConstructorOptions): PromptSpec {
69
72
  inlineSections.push(getSubagentDelegationAddendum({ orchestratorMode, memoryEnabled }));
70
73
  }
71
74
 
75
+ if (runSubagentAsyncEnabled && !liteMode) {
76
+ inlineSections.push(getAsyncSubagentDelegationAddendum({ memoryEnabled, orchestratorMode }));
77
+ }
78
+
72
79
  if (isRegularMode && isAgentMode) {
73
80
  fragmentFiles.push('plan-mode-info.md');
74
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-delegation.d.ts","sourceRoot":"","sources":["../../source/prompts/subagent-delegation.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,EAC5C,gBAAwB,EACxB,aAAoB,GACrB,GAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,CA4BvE"}
1
+ {"version":3,"file":"subagent-delegation.d.ts","sourceRoot":"","sources":["../../source/prompts/subagent-delegation.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,EAC5C,gBAAwB,EACxB,aAAoB,GACrB,GAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,CA6BvE"}
@@ -6,9 +6,10 @@ import { getSubagentsRolesSection } from '../tools/agent/run-subagent.js';
6
6
  * The tool description covers mechanics; behavioral guidance lives here.
7
7
  */
8
8
  export function getSubagentDelegationAddendum({ orchestratorMode = false, memoryEnabled = true, } = {}) {
9
+ const delegationTool = orchestratorMode ? 'run_subagent_async' : 'run_subagent';
9
10
  const header = `### Delegating to subagents
10
11
 
11
- You have a \`run_subagent\` tool. A subagent runs in its own context and returns only a summary — use it to keep your own context focused on high-level reasoning.`;
12
+ You have a \`${delegationTool}\` tool. A subagent runs in its own context and returns only a summary — use it to keep your own context focused on high-level reasoning.`;
12
13
  const triggers = `**Delegate when it provides meaningful leverage:**
13
14
  - Need focused codebase investigation or context compression → \`explorer\`.
14
15
  - Needs online info (library docs, current best practices, version-specific behavior) → \`researcher\`.
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-delegation.js","sourceRoot":"","sources":["../../source/prompts/subagent-delegation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAAC,EAC5C,gBAAgB,GAAG,KAAK,EACxB,aAAa,GAAG,IAAI,GACrB,GAA4D,EAAE;IAC7D,MAAM,MAAM,GAAG;;mKAEkJ,CAAC;IAElK,MAAM,QAAQ,GAAG;;;;EAKjB,aAAa,CAAC,CAAC,CAAC,kFAAkF,CAAC,CAAC,CAAC,EACvG,2GACI,gBAAgB;QACd,CAAC,CAAC;;6cAEqc;QACvc,CAAC,CAAC;;6LAGN,EAAE,CAAC;IAEH,MAAM,YAAY,GAAG;;iZAE0X,CAAC;IAEhZ,OAAO,GAAG,MAAM,OAAO,QAAQ,OAAO,YAAY,OAAO,wBAAwB,CAAC;QAChF,gBAAgB,EAAE,aAAa;KAChC,CAAC,EAAE,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"subagent-delegation.js","sourceRoot":"","sources":["../../source/prompts/subagent-delegation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAAC,EAC5C,gBAAgB,GAAG,KAAK,EACxB,aAAa,GAAG,IAAI,GACrB,GAA4D,EAAE;IAC7D,MAAM,cAAc,GAAG,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,cAAc,CAAC;IAChF,MAAM,MAAM,GAAG;;eAEF,cAAc,2IAA2I,CAAC;IAEvK,MAAM,QAAQ,GAAG;;;;EAKjB,aAAa,CAAC,CAAC,CAAC,kFAAkF,CAAC,CAAC,CAAC,EACvG,2GACI,gBAAgB;QACd,CAAC,CAAC;;6cAEqc;QACvc,CAAC,CAAC;;6LAGN,EAAE,CAAC;IAEH,MAAM,YAAY,GAAG;;iZAE0X,CAAC;IAEhZ,OAAO,GAAG,MAAM,OAAO,QAAQ,OAAO,YAAY,OAAO,wBAAwB,CAAC;QAChF,gBAAgB,EAAE,aAAa;KAChC,CAAC,EAAE,CAAC;AACP,CAAC"}
@@ -10,9 +10,10 @@ export function getSubagentDelegationAddendum({
10
10
  orchestratorMode = false,
11
11
  memoryEnabled = true,
12
12
  }: { orchestratorMode?: boolean; memoryEnabled?: boolean } = {}): string {
13
+ const delegationTool = orchestratorMode ? 'run_subagent_async' : 'run_subagent';
13
14
  const header = `### Delegating to subagents
14
15
 
15
- You have a \`run_subagent\` tool. A subagent runs in its own context and returns only a summary — use it to keep your own context focused on high-level reasoning.`;
16
+ You have a \`${delegationTool}\` tool. A subagent runs in its own context and returns only a summary — use it to keep your own context focused on high-level reasoning.`;
16
17
 
17
18
  const triggers = `**Delegate when it provides meaningful leverage:**
18
19
  - Need focused codebase investigation or context compression → \`explorer\`.
@@ -34,6 +34,12 @@ export declare class ExecutionBudget {
34
34
  maxTokens?: number;
35
35
  currentDepth?: number;
36
36
  abortController?: AbortController;
37
+ sharedState?: {
38
+ childCount: number;
39
+ activeChildren: number;
40
+ aggregateTokens: number;
41
+ released: boolean;
42
+ };
37
43
  });
38
44
  /** Shared abort signal for the tree. */
39
45
  get signal(): AbortSignal;
@@ -1 +1 @@
1
- {"version":3,"file":"execution-budget.d.ts","sourceRoot":"","sources":["../../../source/services/agent-runtime/execution-budget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE;;;;;;;;;;;;;GAaG;AACH,qBAAa,eAAe;;IAC1B,iEAAiE;IACjE,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,0DAA0D;IAC1D,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,uEAAuE;IACvE,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAEvC,6DAA6D;IAC7D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B,kDAAkD;IAClD,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAO1C,YAAY,OAAO,EAAE;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,eAAe,CAAC;KACnC,EAOA;IAED,wCAAwC;IACxC,IAAI,MAAM,IAAI,WAAW,CAExB;IAED,4CAA4C;IAC5C,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,6CAA6C;IAC7C,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,6CAA6C;IAC7C,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,mEAAmE;IACnE,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;;;;OAKG;IACH,eAAe,IAAI,iBAAiB,GAAG,qBAAqB,CAsC3D;IASD;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAYxC;IAED,6BAA6B;IAC7B,KAAK,IAAI,IAAI,CAOZ;IAED;;;;OAIG;IACH,iBAAiB,IAAI,eAAe,CAgBnC;IAED,oEAAoE;IACpE,OAAO,IAAI,IAAI,CAOd;CACF;AAED;;;GAGG;AACH,qBAAa,iBAAiB;;IAI5B,YAAY,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,IAAI,EAGzD;IAED,uEAAuE;IACvE,IAAI,MAAM,IAAI,WAAW,CAExB;IAED,4DAA4D;IAC5D,OAAO,IAAI,IAAI,CAEd;IAED;;;;OAIG;IACH,iBAAiB,IAAI,eAAe,CAEnC;CACF;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,KAAK,CAAC;IAChB,MAAM,EACF,iBAAiB,GACjB,WAAW,GACX,uBAAuB,GACvB,0BAA0B,GAC1B,qBAAqB,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,eAAe,CAOlB"}
1
+ {"version":3,"file":"execution-budget.d.ts","sourceRoot":"","sources":["../../../source/services/agent-runtime/execution-budget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE;;;;;;;;;;;;;GAaG;AACH,qBAAa,eAAe;;IAC1B,iEAAiE;IACjE,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,0DAA0D;IAC1D,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,uEAAuE;IACvE,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAEvC,6DAA6D;IAC7D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B,kDAAkD;IAClD,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAG1C,YAAY,OAAO,EAAE;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,eAAe,CAAC;QAClC,WAAW,CAAC,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAC;YAAC,eAAe,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,OAAO,CAAA;SAAE,CAAC;KAC1G,EAQA;IAED,wCAAwC;IACxC,IAAI,MAAM,IAAI,WAAW,CAExB;IAED,4CAA4C;IAC5C,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,6CAA6C;IAC7C,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,6CAA6C;IAC7C,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,mEAAmE;IACnE,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;;;;OAKG;IACH,eAAe,IAAI,iBAAiB,GAAG,qBAAqB,CA2C3D;IASD;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAYxC;IAED,6BAA6B;IAC7B,KAAK,IAAI,IAAI,CAOZ;IAED;;;;OAIG;IACH,iBAAiB,IAAI,eAAe,CAiBnC;IAED,oEAAoE;IACpE,OAAO,IAAI,IAAI,CAOd;CACF;AAED;;;GAGG;AACH,qBAAa,iBAAiB;;IAK5B,YAAY,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,IAAI,EAGzD;IAED,uEAAuE;IACvE,IAAI,MAAM,IAAI,WAAW,CAExB;IAED,4DAA4D;IAC5D,OAAO,IAAI,IAAI,CAId;IAED;;;;OAIG;IACH,iBAAiB,IAAI,eAAe,CAEnC;CACF;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,KAAK,CAAC;IAChB,MAAM,EACF,iBAAiB,GACjB,WAAW,GACX,uBAAuB,GACvB,0BAA0B,GAC1B,qBAAqB,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,eAAe,CAOlB"}
@@ -25,10 +25,7 @@ export class ExecutionBudget {
25
25
  currentDepth;
26
26
  /** Shared AbortController for the entire tree. */
27
27
  abortController;
28
- #childCount = 0;
29
- #activeChildren = 0;
30
- #aggregateTokens = 0;
31
- #released = false;
28
+ #state;
32
29
  constructor(options) {
33
30
  this.maxChildren = options.maxChildren;
34
31
  this.maxDepth = options.maxDepth;
@@ -36,6 +33,7 @@ export class ExecutionBudget {
36
33
  this.maxTokens = options.maxTokens;
37
34
  this.currentDepth = options.currentDepth ?? 0;
38
35
  this.abortController = options.abortController ?? new AbortController();
36
+ this.#state = options.sharedState ?? { childCount: 0, activeChildren: 0, aggregateTokens: 0, released: false };
39
37
  }
40
38
  /** Shared abort signal for the tree. */
41
39
  get signal() {
@@ -43,19 +41,19 @@ export class ExecutionBudget {
43
41
  }
44
42
  /** Current child count (for inspection). */
45
43
  get childCount() {
46
- return this.#childCount;
44
+ return this.#state.childCount;
47
45
  }
48
46
  /** Current active (in-progress) children. */
49
47
  get activeChildren() {
50
- return this.#activeChildren;
48
+ return this.#state.activeChildren;
51
49
  }
52
50
  /** Aggregate token usage across the tree. */
53
51
  get aggregateTokens() {
54
- return this.#aggregateTokens;
52
+ return this.#state.aggregateTokens;
55
53
  }
56
54
  /** Whether any limit has been exceeded or the tree was aborted. */
57
55
  get isExhausted() {
58
- return this.#released || this.abortController.signal.aborted;
56
+ return this.#state.released || this.abortController.signal.aborted;
59
57
  }
60
58
  /**
61
59
  * Try to acquire a child slot. Returns an AcquiredChildSlot or a rejection reason.
@@ -64,42 +62,47 @@ export class ExecutionBudget {
64
62
  * Callers MUST call `release()` on the returned slot in a finally block.
65
63
  */
66
64
  tryAcquireChild() {
67
- if (this.#released) {
65
+ if (this.#state.released) {
68
66
  return { accepted: false, reason: 'budget_released' };
69
67
  }
70
68
  if (this.abortController.signal.aborted) {
71
69
  return { accepted: false, reason: 'cancelled' };
72
70
  }
73
71
  // Check maxChildren
74
- if (this.maxChildren !== undefined && this.#childCount >= this.maxChildren) {
75
- return { accepted: false, reason: 'max_children_exceeded', current: this.#childCount, max: this.maxChildren };
72
+ if (this.maxChildren !== undefined && this.#state.childCount >= this.maxChildren) {
73
+ return {
74
+ accepted: false,
75
+ reason: 'max_children_exceeded',
76
+ current: this.#state.childCount,
77
+ max: this.maxChildren,
78
+ };
76
79
  }
77
80
  // Check maxConcurrency
78
- if (this.maxConcurrency !== undefined && this.#activeChildren >= this.maxConcurrency) {
81
+ if (this.maxConcurrency !== undefined && this.#state.activeChildren >= this.maxConcurrency) {
79
82
  return {
80
83
  accepted: false,
81
84
  reason: 'max_concurrency_exceeded',
82
- current: this.#activeChildren,
85
+ current: this.#state.activeChildren,
83
86
  max: this.maxConcurrency,
84
87
  };
85
88
  }
86
89
  // Check token budget
87
- if (this.maxTokens !== undefined && this.#aggregateTokens >= this.maxTokens) {
90
+ if (this.maxTokens !== undefined && this.#state.aggregateTokens >= this.maxTokens) {
88
91
  return {
89
92
  accepted: false,
90
93
  reason: 'max_tokens_exceeded',
91
- current: this.#aggregateTokens,
94
+ current: this.#state.aggregateTokens,
92
95
  max: this.maxTokens,
93
96
  };
94
97
  }
95
- this.#childCount++;
96
- this.#activeChildren++;
98
+ this.#state.childCount++;
99
+ this.#state.activeChildren++;
97
100
  return new AcquiredChildSlot(this, () => this.#releaseChild());
98
101
  }
99
102
  /** Called by AcquiredChildSlot to release a slot. */
100
103
  #releaseChild() {
101
- if (this.#activeChildren > 0) {
102
- this.#activeChildren--;
104
+ if (this.#state.activeChildren > 0) {
105
+ this.#state.activeChildren--;
103
106
  }
104
107
  }
105
108
  /**
@@ -108,9 +111,9 @@ export class ExecutionBudget {
108
111
  */
109
112
  recordUsage(usage) {
110
113
  const tokens = usage.total_tokens ?? (usage.prompt_tokens ?? 0) + (usage.completion_tokens ?? 0);
111
- this.#aggregateTokens += tokens;
112
- if (this.maxTokens !== undefined && this.#aggregateTokens >= this.maxTokens) {
113
- this.#released = true;
114
+ this.#state.aggregateTokens += tokens;
115
+ if (this.maxTokens !== undefined && this.#state.aggregateTokens >= this.maxTokens) {
116
+ this.#state.released = true;
114
117
  try {
115
118
  this.abortController.abort();
116
119
  }
@@ -121,7 +124,7 @@ export class ExecutionBudget {
121
124
  }
122
125
  /** Abort the entire tree. */
123
126
  abort() {
124
- this.#released = true;
127
+ this.#state.released = true;
125
128
  try {
126
129
  this.abortController.abort();
127
130
  }
@@ -147,11 +150,12 @@ export class ExecutionBudget {
147
150
  maxTokens: this.maxTokens,
148
151
  currentDepth: depth,
149
152
  abortController: this.abortController,
153
+ sharedState: this.#state,
150
154
  });
151
155
  }
152
156
  /** Release all resources (called when root execution completes). */
153
157
  release() {
154
- this.#released = true;
158
+ this.#state.released = true;
155
159
  try {
156
160
  this.abortController.abort();
157
161
  }
@@ -167,6 +171,7 @@ export class ExecutionBudget {
167
171
  export class AcquiredChildSlot {
168
172
  #budget;
169
173
  #releaseFn;
174
+ #released = false;
170
175
  constructor(budget, releaseFn) {
171
176
  this.#budget = budget;
172
177
  this.#releaseFn = releaseFn;
@@ -177,6 +182,9 @@ export class AcquiredChildSlot {
177
182
  }
178
183
  /** Release the slot, decrementing active children count. */
179
184
  release() {
185
+ if (this.#released)
186
+ return;
187
+ this.#released = true;
180
188
  this.#releaseFn();
181
189
  }
182
190
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"execution-budget.js","sourceRoot":"","sources":["../../../source/services/agent-runtime/execution-budget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution-budget.js","sourceRoot":"","sources":["../../../source/services/agent-runtime/execution-budget.ts"],"names":[],"mappings":"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"}
@@ -71,7 +71,7 @@ function deriveCanUseNestedAgents(perms) {
71
71
  // Explicit denial via agents.create: false overrides everything.
72
72
  if (perms.agents?.create === false)
73
73
  return false;
74
- const nestedTools = new Set(['run_subagent', 'ask_mentor']);
74
+ const nestedTools = new Set(['run_subagent', 'run_subagent_async', 'get_subagent_result', 'ask_mentor']);
75
75
  if (perms.tools?.some((t) => nestedTools.has(t)))
76
76
  return true;
77
77
  if (perms.agents?.create === true)
@@ -1 +1 @@
1
- {"version":3,"file":"permission-resolver.js","sourceRoot":"","sources":["../../../source/services/agent-runtime/permission-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permission-resolver.js","sourceRoot":"","sources":["../../../source/services/agent-runtime/permission-resolver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-adapter.d.ts","sourceRoot":"","sources":["../../../source/services/conversation/conversation-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-adapter.d.ts","sourceRoot":"","sources":["../../../source/services/conversation/conversation-adapter.ts"],"names":[],"mappings":"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"}
@@ -293,6 +293,7 @@ export class ConversationAdapter {
293
293
  });
294
294
  }
295
295
  finally {
296
+ this.#subagentEventSinkHost?.cancelSubagentRuns?.();
296
297
  this.#subagentEventSinkHost?.setSubagentEventSink(null);
297
298
  }
298
299
  if (result.type === 'response') {
@@ -363,6 +364,7 @@ export class ConversationAdapter {
363
364
  });
364
365
  }
365
366
  finally {
367
+ this.#subagentEventSinkHost?.cancelSubagentRuns?.();
366
368
  this.#subagentEventSinkHost?.setSubagentEventSink(null);
367
369
  }
368
370
  if (result && result.type === 'response') {