pi-subagents 0.70.1 → 0.72.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 (275) hide show
  1. package/CHANGELOG.md +87 -0
  2. package/README.md +4 -2
  3. package/agents/worker.md +2 -2
  4. package/docs/agents.md +1 -1
  5. package/docs/configuration.md +18 -2
  6. package/docs/extension-api.md +67 -3
  7. package/docs/models.md +1 -1
  8. package/docs/observability.md +17 -13
  9. package/docs/tool-reference.md +14 -10
  10. package/docs/workflows.md +3 -1
  11. package/package.json +11 -4
  12. package/prompts/council.md +6 -3
  13. package/skills/pi-subagents/references/constraints-and-recipes.md +5 -2
  14. package/skills/pi-subagents/references/execution-controls.md +3 -3
  15. package/skills/pi-subagents/references/management-authoring-rpc.md +2 -2
  16. package/src/agents/agent-management.d.ts +2 -1
  17. package/src/agents/agent-management.d.ts.map +1 -1
  18. package/src/agents/agent-management.js +32 -29
  19. package/src/agents/agent-management.js.map +1 -1
  20. package/src/agents/agents.d.ts +7 -3
  21. package/src/agents/agents.d.ts.map +1 -1
  22. package/src/agents/agents.js +16 -15
  23. package/src/agents/agents.js.map +1 -1
  24. package/src/agents/global-npm-root.d.ts +7 -0
  25. package/src/agents/global-npm-root.d.ts.map +1 -0
  26. package/src/agents/global-npm-root.js +58 -0
  27. package/src/agents/global-npm-root.js.map +1 -0
  28. package/src/agents/proactive-skills.d.ts +1 -0
  29. package/src/agents/proactive-skills.d.ts.map +1 -1
  30. package/src/agents/proactive-skills.js +3 -1
  31. package/src/agents/proactive-skills.js.map +1 -1
  32. package/src/agents/skills.d.ts +2 -0
  33. package/src/agents/skills.d.ts.map +1 -1
  34. package/src/agents/skills.js +41 -8
  35. package/src/agents/skills.js.map +1 -1
  36. package/src/api/delegation.d.ts +14 -0
  37. package/src/api/delegation.d.ts.map +1 -1
  38. package/src/api/inspectors.d.ts +21 -0
  39. package/src/api/inspectors.d.ts.map +1 -0
  40. package/src/api/inspectors.js +12 -0
  41. package/src/api/inspectors.js.map +1 -0
  42. package/src/extension/fanout-child.d.ts.map +1 -1
  43. package/src/extension/fanout-child.js +9 -0
  44. package/src/extension/fanout-child.js.map +1 -1
  45. package/src/extension/index.d.ts.map +1 -1
  46. package/src/extension/index.js +76 -29
  47. package/src/extension/index.js.map +1 -1
  48. package/src/extension/rpc.d.ts +1 -1
  49. package/src/extension/rpc.d.ts.map +1 -1
  50. package/src/extension/rpc.js +11 -1
  51. package/src/extension/rpc.js.map +1 -1
  52. package/src/extension/schemas.js +5 -5
  53. package/src/extension/schemas.js.map +1 -1
  54. package/src/extension/subagent-guide.d.ts +1 -1
  55. package/src/extension/subagent-guide.d.ts.map +1 -1
  56. package/src/extension/subagent-guide.js +11 -4
  57. package/src/extension/subagent-guide.js.map +1 -1
  58. package/src/extension/tool-activation.d.ts +9 -0
  59. package/src/extension/tool-activation.d.ts.map +1 -0
  60. package/src/extension/tool-activation.js +182 -0
  61. package/src/extension/tool-activation.js.map +1 -0
  62. package/src/extension/tool-description.d.ts +4 -4
  63. package/src/extension/tool-description.d.ts.map +1 -1
  64. package/src/extension/tool-description.js +1 -1
  65. package/src/inspectors/plugins.d.ts +7 -2
  66. package/src/inspectors/plugins.d.ts.map +1 -1
  67. package/src/inspectors/plugins.js +78 -3
  68. package/src/inspectors/plugins.js.map +1 -1
  69. package/src/intercom/intercom-bridge.d.ts.map +1 -1
  70. package/src/intercom/intercom-bridge.js +2 -0
  71. package/src/intercom/intercom-bridge.js.map +1 -1
  72. package/src/intercom/native-supervisor-channel.d.ts.map +1 -1
  73. package/src/intercom/native-supervisor-channel.js +3 -1
  74. package/src/intercom/native-supervisor-channel.js.map +1 -1
  75. package/src/runs/background/active-async-capacity.d.ts.map +1 -1
  76. package/src/runs/background/active-async-capacity.js +4 -33
  77. package/src/runs/background/active-async-capacity.js.map +1 -1
  78. package/src/runs/background/async-execution.d.ts.map +1 -1
  79. package/src/runs/background/async-execution.js +7 -33
  80. package/src/runs/background/async-execution.js.map +1 -1
  81. package/src/runs/background/async-job-tracker.d.ts.map +1 -1
  82. package/src/runs/background/async-job-tracker.js +26 -39
  83. package/src/runs/background/async-job-tracker.js.map +1 -1
  84. package/src/runs/background/async-resume.d.ts +1 -1
  85. package/src/runs/background/async-resume.d.ts.map +1 -1
  86. package/src/runs/background/async-resume.js +7 -2
  87. package/src/runs/background/async-resume.js.map +1 -1
  88. package/src/runs/background/async-status.d.ts +1 -0
  89. package/src/runs/background/async-status.d.ts.map +1 -1
  90. package/src/runs/background/async-status.js +1 -0
  91. package/src/runs/background/async-status.js.map +1 -1
  92. package/src/runs/background/binary-bootstrap.d.ts.map +1 -1
  93. package/src/runs/background/binary-bootstrap.js +34 -6
  94. package/src/runs/background/binary-bootstrap.js.map +1 -1
  95. package/src/runs/background/fleet-view.d.ts.map +1 -1
  96. package/src/runs/background/fleet-view.js +26 -7
  97. package/src/runs/background/fleet-view.js.map +1 -1
  98. package/src/runs/background/notify.d.ts +11 -0
  99. package/src/runs/background/notify.d.ts.map +1 -1
  100. package/src/runs/background/notify.js +73 -3
  101. package/src/runs/background/notify.js.map +1 -1
  102. package/src/runs/background/pid-namespace.d.ts +3 -0
  103. package/src/runs/background/pid-namespace.d.ts.map +1 -0
  104. package/src/runs/background/pid-namespace.js +20 -0
  105. package/src/runs/background/pid-namespace.js.map +1 -0
  106. package/src/runs/background/process-terminal-candidate.d.ts +18 -0
  107. package/src/runs/background/process-terminal-candidate.d.ts.map +1 -0
  108. package/src/runs/background/process-terminal-candidate.js +97 -0
  109. package/src/runs/background/process-terminal-candidate.js.map +1 -0
  110. package/src/runs/background/process-terminal.d.ts +3 -15
  111. package/src/runs/background/process-terminal.d.ts.map +1 -1
  112. package/src/runs/background/process-terminal.js +19 -96
  113. package/src/runs/background/process-terminal.js.map +1 -1
  114. package/src/runs/background/retained-children.d.ts.map +1 -1
  115. package/src/runs/background/retained-children.js +3 -2
  116. package/src/runs/background/retained-children.js.map +1 -1
  117. package/src/runs/background/run-child-session.d.ts +2 -0
  118. package/src/runs/background/run-child-session.d.ts.map +1 -1
  119. package/src/runs/background/run-child-session.js +2 -0
  120. package/src/runs/background/run-child-session.js.map +1 -1
  121. package/src/runs/background/run-status.d.ts.map +1 -1
  122. package/src/runs/background/run-status.js +5 -1
  123. package/src/runs/background/run-status.js.map +1 -1
  124. package/src/runs/background/runner-aliases.d.ts.map +1 -1
  125. package/src/runs/background/runner-aliases.js +2 -1
  126. package/src/runs/background/runner-aliases.js.map +1 -1
  127. package/src/runs/background/runner-startup-failure.d.ts +14 -0
  128. package/src/runs/background/runner-startup-failure.d.ts.map +1 -0
  129. package/src/runs/background/runner-startup-failure.js +47 -0
  130. package/src/runs/background/runner-startup-failure.js.map +1 -0
  131. package/src/runs/background/stale-run-reconciler.d.ts +1 -0
  132. package/src/runs/background/stale-run-reconciler.d.ts.map +1 -1
  133. package/src/runs/background/stale-run-reconciler.js +18 -3
  134. package/src/runs/background/stale-run-reconciler.js.map +1 -1
  135. package/src/runs/background/subagent-runner-bootstrap.d.ts +14 -0
  136. package/src/runs/background/subagent-runner-bootstrap.d.ts.map +1 -0
  137. package/src/runs/background/subagent-runner-bootstrap.js +277 -0
  138. package/src/runs/background/subagent-runner-bootstrap.js.map +1 -0
  139. package/src/runs/background/subagent-runner.d.ts +4 -2
  140. package/src/runs/background/subagent-runner.d.ts.map +1 -1
  141. package/src/runs/background/subagent-runner.js +58 -180
  142. package/src/runs/background/subagent-runner.js.map +1 -1
  143. package/src/runs/background/workflow-terminal-proof.d.ts +18 -0
  144. package/src/runs/background/workflow-terminal-proof.d.ts.map +1 -0
  145. package/src/runs/background/workflow-terminal-proof.js +68 -0
  146. package/src/runs/background/workflow-terminal-proof.js.map +1 -0
  147. package/src/runs/foreground/execution.d.ts.map +1 -1
  148. package/src/runs/foreground/execution.js +43 -14
  149. package/src/runs/foreground/execution.js.map +1 -1
  150. package/src/runs/foreground/prompt-audit.d.ts.map +1 -1
  151. package/src/runs/foreground/prompt-audit.js +2 -6
  152. package/src/runs/foreground/prompt-audit.js.map +1 -1
  153. package/src/runs/foreground/subagent-executor.d.ts +2 -1
  154. package/src/runs/foreground/subagent-executor.d.ts.map +1 -1
  155. package/src/runs/foreground/subagent-executor.js +228 -24
  156. package/src/runs/foreground/subagent-executor.js.map +1 -1
  157. package/src/runs/shared/child-launch.d.ts.map +1 -1
  158. package/src/runs/shared/child-launch.js +3 -0
  159. package/src/runs/shared/child-launch.js.map +1 -1
  160. package/src/runs/shared/child-runtime-config.d.ts +4 -0
  161. package/src/runs/shared/child-runtime-config.d.ts.map +1 -1
  162. package/src/runs/shared/child-runtime-config.js.map +1 -1
  163. package/src/runs/shared/child-session.d.ts +1 -0
  164. package/src/runs/shared/child-session.d.ts.map +1 -1
  165. package/src/runs/shared/child-session.js +1 -0
  166. package/src/runs/shared/child-session.js.map +1 -1
  167. package/src/runs/shared/child-tool-plan.d.ts.map +1 -1
  168. package/src/runs/shared/child-tool-plan.js +4 -6
  169. package/src/runs/shared/child-tool-plan.js.map +1 -1
  170. package/src/runs/shared/external-cli-runner.d.ts.map +1 -1
  171. package/src/runs/shared/external-cli-runner.js +3 -1
  172. package/src/runs/shared/external-cli-runner.js.map +1 -1
  173. package/src/runs/shared/external-job-bridge.d.ts +7 -0
  174. package/src/runs/shared/external-job-bridge.d.ts.map +1 -1
  175. package/src/runs/shared/external-job-bridge.js +63 -0
  176. package/src/runs/shared/external-job-bridge.js.map +1 -1
  177. package/src/runs/shared/git-environment.d.ts +3 -0
  178. package/src/runs/shared/git-environment.d.ts.map +1 -0
  179. package/src/runs/shared/git-environment.js +28 -0
  180. package/src/runs/shared/git-environment.js.map +1 -0
  181. package/src/runs/shared/mcp-config-sources.d.ts +3 -0
  182. package/src/runs/shared/mcp-config-sources.d.ts.map +1 -1
  183. package/src/runs/shared/mcp-config-sources.js.map +1 -1
  184. package/src/runs/shared/mcp-direct-tool-allowlist.js +1 -1
  185. package/src/runs/shared/mcp-direct-tool-allowlist.js.map +1 -1
  186. package/src/runs/shared/mcp-direct-tool-grant.d.ts +3 -1
  187. package/src/runs/shared/mcp-direct-tool-grant.d.ts.map +1 -1
  188. package/src/runs/shared/mcp-direct-tool-grant.js +19 -5
  189. package/src/runs/shared/mcp-direct-tool-grant.js.map +1 -1
  190. package/src/runs/shared/model-resolution.d.ts.map +1 -1
  191. package/src/runs/shared/model-resolution.js +7 -1
  192. package/src/runs/shared/model-resolution.js.map +1 -1
  193. package/src/runs/shared/pi-spawn.d.ts +10 -1
  194. package/src/runs/shared/pi-spawn.d.ts.map +1 -1
  195. package/src/runs/shared/pi-spawn.js +86 -7
  196. package/src/runs/shared/pi-spawn.js.map +1 -1
  197. package/src/runs/shared/single-output.js +1 -1
  198. package/src/runs/shared/single-output.js.map +1 -1
  199. package/src/runs/shared/structured-output.d.ts +7 -0
  200. package/src/runs/shared/structured-output.d.ts.map +1 -1
  201. package/src/runs/shared/structured-output.js +74 -0
  202. package/src/runs/shared/structured-output.js.map +1 -1
  203. package/src/runs/shared/subagent-prompt-runtime.d.ts.map +1 -1
  204. package/src/runs/shared/subagent-prompt-runtime.js +23 -7
  205. package/src/runs/shared/subagent-prompt-runtime.js.map +1 -1
  206. package/src/runs/shared/tool-availability.js +2 -2
  207. package/src/runs/shared/tool-availability.js.map +1 -1
  208. package/src/runs/shared/worktree.d.ts.map +1 -1
  209. package/src/runs/shared/worktree.js +9 -3
  210. package/src/runs/shared/worktree.js.map +1 -1
  211. package/src/shared/child-session-name.d.ts.map +1 -1
  212. package/src/shared/child-session-name.js +4 -2
  213. package/src/shared/child-session-name.js.map +1 -1
  214. package/src/shared/fork-context.d.ts +4 -0
  215. package/src/shared/fork-context.d.ts.map +1 -1
  216. package/src/shared/fork-context.js +9 -4
  217. package/src/shared/fork-context.js.map +1 -1
  218. package/src/shared/pruned-fork.d.ts.map +1 -1
  219. package/src/shared/pruned-fork.js +68 -56
  220. package/src/shared/pruned-fork.js.map +1 -1
  221. package/src/shared/types.d.ts +31 -3
  222. package/src/shared/types.d.ts.map +1 -1
  223. package/src/shared/types.js +2 -0
  224. package/src/shared/types.js.map +1 -1
  225. package/src/slash/delegation-adapters.d.ts +7 -1
  226. package/src/slash/delegation-adapters.d.ts.map +1 -1
  227. package/src/slash/delegation-adapters.js +17 -0
  228. package/src/slash/delegation-adapters.js.map +1 -1
  229. package/src/slash/prompt-template-bridge.d.ts.map +1 -1
  230. package/src/slash/prompt-template-bridge.js +14 -1
  231. package/src/slash/prompt-template-bridge.js.map +1 -1
  232. package/src/slash/prompt-workflows.d.ts.map +1 -1
  233. package/src/slash/prompt-workflows.js +16 -2
  234. package/src/slash/prompt-workflows.js.map +1 -1
  235. package/src/slash/slash-commands.d.ts.map +1 -1
  236. package/src/slash/slash-commands.js +7 -253
  237. package/src/slash/slash-commands.js.map +1 -1
  238. package/src/slash/subagent-cost.d.ts +30 -0
  239. package/src/slash/subagent-cost.d.ts.map +1 -0
  240. package/src/slash/subagent-cost.js +307 -0
  241. package/src/slash/subagent-cost.js.map +1 -0
  242. package/src/tui/fleet-status.d.ts +2 -0
  243. package/src/tui/fleet-status.d.ts.map +1 -1
  244. package/src/tui/fleet-status.js +25 -2
  245. package/src/tui/fleet-status.js.map +1 -1
  246. package/src/tui/fleet.d.ts +1 -1
  247. package/src/tui/fleet.d.ts.map +1 -1
  248. package/src/tui/fleet.js +5 -1
  249. package/src/tui/fleet.js.map +1 -1
  250. package/src/tui/render.d.ts.map +1 -1
  251. package/src/tui/render.js +8 -4
  252. package/src/tui/render.js.map +1 -1
  253. package/src/watchdog/diff-tool.d.ts +2 -1
  254. package/src/watchdog/diff-tool.d.ts.map +1 -1
  255. package/src/watchdog/diff-tool.js +9 -3
  256. package/src/watchdog/diff-tool.js.map +1 -1
  257. package/src/watchdog/permission-arbiter.d.ts.map +1 -1
  258. package/src/watchdog/permission-arbiter.js +2 -7
  259. package/src/watchdog/permission-arbiter.js.map +1 -1
  260. package/src/watchdog/register-child.d.ts +3 -1
  261. package/src/watchdog/register-child.d.ts.map +1 -1
  262. package/src/watchdog/register-child.js +12 -3
  263. package/src/watchdog/register-child.js.map +1 -1
  264. package/src/watchdog/review.d.ts +1 -1
  265. package/src/watchdog/review.d.ts.map +1 -1
  266. package/src/watchdog/review.js +2 -7
  267. package/src/watchdog/review.js.map +1 -1
  268. package/src/watchdog/runtime.d.ts +1 -1
  269. package/src/watchdog/runtime.d.ts.map +1 -1
  270. package/src/watchdog/runtime.js +2 -1
  271. package/src/watchdog/runtime.js.map +1 -1
  272. package/src/watchdog/turn-delta.d.ts +5 -1
  273. package/src/watchdog/turn-delta.d.ts.map +1 -1
  274. package/src/watchdog/turn-delta.js +9 -5
  275. package/src/watchdog/turn-delta.js.map +1 -1
@@ -17,7 +17,8 @@ import * as os from "node:os";
17
17
  import * as path from "node:path";
18
18
  import { keyText } from "@earendil-works/pi-coding-agent";
19
19
  import { Box, Container, Spacer, Text, truncateToWidth, visibleWidth, wrapTextWithAnsi } from "@earendil-works/pi-tui";
20
- import { clearAgentDiscoveryCache, discoverAgentSnapshot, discoverAgents } from "../agents/agents.js";
20
+ import { clearAgentDiscoveryCache, discoverAgentSnapshot, discoverAgents, discoverAgentsAll } from "../agents/agents.js";
21
+ import { resolveGlobalNpmRoot } from "../agents/global-npm-root.js";
21
22
  import { appendAdvertisedAgentPrompt, buildAdvertisedAgentPrompt } from "../agents/advertised-agent-prompt.js";
22
23
  import { clearRuntimeAgentsForPi, listRuntimeAgentConfigs, mergeRuntimeAgents } from "../agents/runtime-agent-registry.js";
23
24
  import { registerRuntimeAgentEventListener } from "../agents/runtime-agent-events.js";
@@ -29,11 +30,9 @@ import { isStaleExtensionContextError, withCachedUiContext } from "../shared/ext
29
30
  import { currentCompletionOwnerId } from "../shared/completion-owner.js";
30
31
  import { cleanupOldChainDirs } from "../shared/settings.js";
31
32
  import { clearLegacyResultAnimationTimer, renderSubagentResult, renderSubagentSummary, setInlineWorkflowCoverage } from "../tui/render.js";
32
- import { openSubagentFleet } from "../tui/fleet.js";
33
- import { createBuiltinInspectorPlugins } from "../inspectors/plugins.js";
33
+ import { getInspectorPlugins, registerInspectorEventListener } from "../inspectors/plugins.js";
34
34
  import { SubagentFleetStatus, resolveFleetViewPlacement } from "../tui/fleet-status.js";
35
35
  import { createSubagentParamsSchema } from "./schemas.js";
36
- import { createSubagentExecutor } from "../runs/foreground/subagent-executor.js";
37
36
  import { createAsyncJobTracker } from "../runs/background/async-job-tracker.js";
38
37
  import { getActiveAsyncCapacitySnapshot, resolveAbandonedSlotReleaseAfterMs, resolveMaxActiveAsyncRunsPerSession } from "../runs/background/active-async-capacity.js";
39
38
  import { cleanupResultIndexes, missionObserverResultCandidateFiles } from "../runs/background/result-files.js";
@@ -55,6 +54,7 @@ import { registerSubagentRpcBridge } from "./rpc.js";
55
54
  import { clearSlashSnapshots, getSlashRenderableSnapshot, resolveSlashMessageDetails, restoreSlashFinalSnapshots } from "../slash/slash-live-state.js";
56
55
  import { resolveWaitToolConfig } from "../runs/background/subagent-wait.js";
57
56
  import { registerWaitTool } from "../runs/background/wait-tool.js";
57
+ import { registerSubagentToolActivation } from "./tool-activation.js";
58
58
  import { createWaitSubscriptionManager } from "../runs/background/wait-subscriptions.js";
59
59
  import { drainOutstandingWork } from "../runs/background/auto-drain.js";
60
60
  import registerSubagentNotify, { parseSubagentNotifyContent } from "../runs/background/notify.js";
@@ -431,7 +431,8 @@ export default function registerSubagentExtension(pi) {
431
431
  }, run);
432
432
  };
433
433
  const supervisorChannel = createNativeSupervisorChannel(pi, state, {
434
- getCurrentOwnerStates: () => executor.getCurrentSupervisorOwnerStates(),
434
+ // Owner states are created only by scheduled execution, which loads the executor first.
435
+ getCurrentOwnerStates: () => executor?.getCurrentSupervisorOwnerStates() ?? [],
435
436
  });
436
437
  const waitSubscriptionManager = createWaitSubscriptionManager(pi, state);
437
438
  const mainWatchdog = registerMainWatchdog(pi);
@@ -444,7 +445,8 @@ export default function registerSubagentExtension(pi) {
444
445
  if (!ctx)
445
446
  return;
446
447
  try {
447
- await openSubagentFleet(ctx, state, { initialKey: itemKey, asyncDirRoot: DIRS.async, resultsDir: DIRS.results, fleetKeybindings: config.fleetKeybindings, inspectorPlugins: createBuiltinInspectorPlugins() });
448
+ const { openSubagentFleet } = await import("../tui/fleet.js");
449
+ await openSubagentFleet(ctx, state, { initialKey: itemKey, asyncDirRoot: DIRS.async, resultsDir: DIRS.results, fleetKeybindings: config.fleetKeybindings, inspectorPlugins: () => getInspectorPlugins(pi) });
448
450
  }
449
451
  catch (error) {
450
452
  if (isStaleExtensionContextError(error)) {
@@ -456,36 +458,63 @@ export default function registerSubagentExtension(pi) {
456
458
  }
457
459
  }, { placement: fleetViewPlacement, onWorkflowCoverageChange: setInlineWorkflowCoverage })
458
460
  : undefined;
459
- let executorScheduled;
460
461
  let goalTurnId = 0;
461
462
  let releaseHostSessionLiveness = () => { };
462
463
  const scheduledStoreRoot = config.scheduledRuns?.storeRoot === undefined ? undefined : resolveScheduledStoreRoot(config.scheduledRuns.storeRoot);
463
464
  const scheduledRunManager = createScheduledRunManager({
464
465
  config,
465
466
  storeRoot: scheduledStoreRoot,
466
- launch: (params, ctx, signal) => {
467
- if (!executorScheduled) {
468
- return Promise.resolve({
469
- content: [{ type: "text", text: "Scheduled subagent launch is unavailable (executor not ready)." }],
470
- isError: true,
471
- details: { mode: "management", results: [] },
472
- });
473
- }
474
- return executorScheduled(randomUUID(), params, signal, ctx);
467
+ launch: async (params, ctx, signal) => {
468
+ await waitForAdvertisement();
469
+ return (await getExecutor()).executeScheduled(randomUUID(), params, signal, ctx);
475
470
  },
476
471
  resolveCapabilityCeiling: (sessionId) => resolveCurrentSubagentCapabilityCeiling(sessionId),
477
472
  });
478
473
  let refreshResultDelivery = () => { };
479
474
  let advertisedAgents = [];
480
475
  let advertisedContext;
476
+ let advertisementGeneration = 0;
477
+ let globalRoot = null;
478
+ let advertisementReady = Promise.resolve();
479
+ let notifySessionChange = () => { };
480
+ let sessionChanged = Promise.resolve();
481
+ const waitForAdvertisement = async () => {
482
+ let pending;
483
+ do {
484
+ pending = advertisementReady;
485
+ const result = await Promise.race([pending, sessionChanged]);
486
+ if (pending === advertisementReady && result)
487
+ throw result.error;
488
+ } while (pending !== advertisementReady);
489
+ };
481
490
  const refreshAdvertisedAgents = () => {
482
491
  advertisedAgents = [];
483
492
  if (!advertisedContext)
484
493
  return;
485
494
  clearAgentDiscoveryCache();
486
- advertisedAgents = discoverAgents(advertisedContext.cwd, "both", advertisedContext.model?.provider).agents
495
+ advertisedAgents = discoverAgents(advertisedContext.cwd, "both", advertisedContext.model?.provider, { globalNpmRoot: globalRoot }).agents
487
496
  .filter((agent) => agent.advertise === true);
488
497
  };
498
+ const beginAdvertisement = (ctx) => {
499
+ const generation = ++advertisementGeneration;
500
+ notifySessionChange();
501
+ sessionChanged = new Promise((resolve) => { notifySessionChange = resolve; });
502
+ advertisedAgents = [];
503
+ advertisedContext = { cwd: ctx.cwd, model: ctx.model };
504
+ globalRoot = null;
505
+ advertisementReady = resolveGlobalNpmRoot().then((root) => {
506
+ if (generation !== advertisementGeneration)
507
+ return;
508
+ globalRoot = root;
509
+ refreshAdvertisedAgents();
510
+ }).catch((error) => {
511
+ if (generation !== advertisementGeneration)
512
+ return;
513
+ // Settle without an unhandled rejection if no turn follows session_start.
514
+ console.error("Failed to refresh advertised agents:", error);
515
+ return { error };
516
+ });
517
+ };
489
518
  const hasResultDeliveryDemand = () => {
490
519
  if ([...state.asyncJobs.values()].some((job) => job.status === "queued" || job.status === "running"))
491
520
  return true;
@@ -497,8 +526,8 @@ export default function registerSubagentExtension(pi) {
497
526
  };
498
527
  const discoverAgentsForRuntime = (cwd, scope, preferredModelProvider) => {
499
528
  if (listRuntimeAgentConfigs(pi).length === 0)
500
- return discoverAgents(cwd, scope, preferredModelProvider);
501
- const snapshot = discoverAgentSnapshot(cwd, scope, preferredModelProvider, { includeChains: false });
529
+ return discoverAgents(cwd, scope, preferredModelProvider, { globalNpmRoot: globalRoot });
530
+ const snapshot = discoverAgentSnapshot(cwd, scope, preferredModelProvider, { includeChains: false, globalNpmRoot: globalRoot });
502
531
  const discovered = snapshot.effective;
503
532
  const all = snapshot.all;
504
533
  const configuredAgents = [
@@ -580,6 +609,7 @@ export default function registerSubagentExtension(pi) {
580
609
  getSubagentSessionRoot,
581
610
  expandTilde,
582
611
  discoverAgents: discoverAgentsForRuntime,
612
+ discoverAgentsAll: (cwd, provider) => discoverAgentsAll(cwd, provider, { globalNpmRoot: globalRoot }),
583
613
  onAgentsChanged: () => {
584
614
  try {
585
615
  refreshAdvertisedAgents();
@@ -594,8 +624,15 @@ export default function registerSubagentExtension(pi) {
594
624
  refreshResultDelivery: () => refreshResultDelivery(),
595
625
  trackRetainedNestedRoute: undefined,
596
626
  };
597
- const executor = createSubagentExecutor(executorDeps);
598
- executorScheduled = executor.executeScheduled;
627
+ let executor;
628
+ let executorPromise;
629
+ const getExecutor = () => {
630
+ executorPromise ??= import("../runs/foreground/subagent-executor.js").then(({ createSubagentExecutor }) => {
631
+ executor = createSubagentExecutor(executorDeps);
632
+ return executor;
633
+ });
634
+ return executorPromise;
635
+ };
599
636
  pi.registerMessageRenderer(SUPERVISOR_REQUEST_MESSAGE_TYPE, renderSupervisorRequest);
600
637
  const registerEntryRenderer = pi.registerEntryRenderer;
601
638
  if (typeof registerEntryRenderer === "function") {
@@ -672,10 +709,14 @@ export default function registerSubagentExtension(pi) {
672
709
  const content = typeof message.content === "string" ? message.content : undefined;
673
710
  return new SubagentControlNoticeComponent({ ...details, noticeText: formatSubagentControlNotice(details, content) }, theme);
674
711
  });
712
+ const executeSubagentReady = async (id, params, signal, onUpdate, ctx) => {
713
+ await waitForAdvertisement();
714
+ return (await getExecutor()).executePublic(id, params, signal, onUpdate, ctx);
715
+ };
675
716
  const executeSubagentCollapsed = (id, params, signal, onUpdate, ctx) => {
676
717
  if (ctx.hasUI)
677
718
  ctx.ui.setToolsExpanded(false);
678
- return executor.executePublic(id, params, signal, onUpdate, ctx);
719
+ return executeSubagentReady(id, params, signal, onUpdate, ctx);
679
720
  };
680
721
  const slashBridge = registerSlashSubagentBridge({
681
722
  events: pi.events,
@@ -686,16 +727,17 @@ export default function registerSubagentExtension(pi) {
686
727
  events: pi.events,
687
728
  getContext: () => state.lastUiContext,
688
729
  execute: (requestId, params, signal, ctx, onUpdate) => executeSubagentCollapsed(requestId, params, signal, onUpdate, ctx),
689
- executeStructured: (requestId, params, signal, ctx, onUpdate) => {
730
+ executeStructured: async (requestId, params, signal, ctx, onUpdate) => {
690
731
  if (ctx.hasUI)
691
732
  ctx.ui.setToolsExpanded(false);
692
- return executor.executeDelegated(requestId, params, signal, onUpdate, ctx);
733
+ await waitForAdvertisement();
734
+ return (await getExecutor()).executeDelegated(requestId, params, signal, onUpdate, ctx);
693
735
  },
694
736
  });
695
737
  const rpcBridge = registerSubagentRpcBridge({
696
738
  events: pi.events,
697
739
  getContext: () => state.lastUiContext,
698
- execute: (id, params, signal, onUpdate, ctx) => executor.executePublic(id, params, signal, onUpdate, ctx),
740
+ execute: executeSubagentReady,
699
741
  state,
700
742
  });
701
743
  const parameters = createSubagentParamsSchema();
@@ -731,7 +773,8 @@ export default function registerSubagentExtension(pi) {
731
773
  },
732
774
  };
733
775
  pi.registerTool(tool);
734
- pi.on("before_agent_start", (event, ctx) => {
776
+ pi.on("before_agent_start", async (event, ctx) => {
777
+ await waitForAdvertisement();
735
778
  const selectedTools = event.systemPromptOptions?.selectedTools ?? (typeof pi.getActiveTools === "function" ? pi.getActiveTools() : []);
736
779
  const sessionId = state.currentSessionId ?? resolveCurrentSessionId(ctx.sessionManager);
737
780
  const advertisedPrompt = Array.isArray(selectedTools) && selectedTools.includes("subagent")
@@ -805,6 +848,7 @@ export default function registerSubagentExtension(pi) {
805
848
  };
806
849
  const eventUnsubscribes = [
807
850
  registerRuntimeAgentEventListener(pi),
851
+ registerInspectorEventListener(pi),
808
852
  pi.events.on(SUBAGENT_ASYNC_STARTED_EVENT, asyncStartedHandler),
809
853
  pi.events.on(SUBAGENT_ASYNC_COMPLETE_EVENT, asyncCompleteHandler),
810
854
  pi.events.on(SUBAGENT_PROCESS_TERMINAL_EVENT, () => {
@@ -1100,9 +1144,12 @@ export default function registerSubagentExtension(pi) {
1100
1144
  }
1101
1145
  await herdrStatusBridge.flush();
1102
1146
  });
1103
- pi.on("session_start", (_event, ctx) => {
1104
- advertisedContext = { cwd: ctx.cwd, model: ctx.model };
1105
- refreshAdvertisedAgents();
1147
+ pi.on("session_start", (_event, ctx) => beginAdvertisement(ctx));
1148
+ registerSubagentToolActivation(pi, {
1149
+ advertisedPrompt: async () => {
1150
+ await waitForAdvertisement();
1151
+ return buildAdvertisedAgentPrompt(advertisedAgents, resolveCurrentSubagentCapabilityCeiling(state.currentSessionId ?? undefined));
1152
+ },
1106
1153
  });
1107
1154
  }
1108
1155
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extension/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extension/index.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export declare const SUBAGENT_RPC_PROTOCOL_VERSION = 1;
6
6
  export declare const SUBAGENT_RPC_REQUEST_EVENT = "subagents:rpc:v1:request";
7
7
  export declare const SUBAGENT_RPC_READY_EVENT = "subagents:rpc:v1:ready";
8
8
  export declare const SUBAGENT_RPC_REPLY_EVENT_PREFIX = "subagents:rpc:v1:reply:";
9
- export declare const SUBAGENT_RPC_METHODS: readonly ["ping", "status", "manage", "spawn", "steer", "interrupt", "stop", "resume"];
9
+ export declare const SUBAGENT_RPC_METHODS: readonly ["ping", "status", "manage", "spawn", "steer", "interrupt", "stop", "resume", "cost"];
10
10
  export type SubagentRpcMethod = typeof SUBAGENT_RPC_METHODS[number];
11
11
  export interface SubagentRpcRequestEnvelope {
12
12
  version: typeof SUBAGENT_RPC_PROTOCOL_VERSION;
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../../src/extension/rpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../../src/extension/rpc.ts"],"names":[],"mappings":"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"}
@@ -9,13 +9,14 @@ import { sanitizeDisplayText, truncateDisplayText } from "../shared/display-text
9
9
  import { readStatus } from "../shared/utils.js";
10
10
  import { SubagentParams } from "./schemas.js";
11
11
  import { normalizePublicSubagentExecution } from "./public-execution.js";
12
+ import { collectSubagentCost, SUBAGENT_COST_REPORT_VERSION } from "../slash/subagent-cost.js";
12
13
  import { ASYNC_STATUS_SNAPSHOT_KIND, ASYNC_STATUS_SNAPSHOT_VERSION, buildAsyncStatusSnapshotForState } from "../runs/background/async-status-snapshot.js";
13
14
  import { isStoppableAsyncStatusStep, resolveAsyncStatusChild, stopStoppableAsyncStatusChildren } from "../runs/shared/child-identity.js";
14
15
  export const SUBAGENT_RPC_PROTOCOL_VERSION = 1;
15
16
  export const SUBAGENT_RPC_REQUEST_EVENT = "subagents:rpc:v1:request";
16
17
  export const SUBAGENT_RPC_READY_EVENT = "subagents:rpc:v1:ready";
17
18
  export const SUBAGENT_RPC_REPLY_EVENT_PREFIX = "subagents:rpc:v1:reply:";
18
- export const SUBAGENT_RPC_METHODS = ["ping", "status", "manage", "spawn", "steer", "interrupt", "stop", "resume"];
19
+ export const SUBAGENT_RPC_METHODS = ["ping", "status", "manage", "spawn", "steer", "interrupt", "stop", "resume", "cost"];
19
20
  export const SUBAGENT_RPC_MANAGEMENT_ACTIONS = [
20
21
  "schedule.list",
21
22
  "schedule.show",
@@ -322,6 +323,7 @@ function pingData(ctx) {
322
323
  launchResolvedExtensions: { version: 1, source: "launch-resolved" },
323
324
  runtimeAcknowledgedExtensions: { version: 1, source: "child-runtime", event: "subagent:acknowledge-extension" },
324
325
  processTerminalProof: { version: 1, lifecycleArtifactVersion: SUBAGENT_LIFECYCLE_ARTIFACT_VERSION },
326
+ cost: { version: SUBAGENT_COST_REPORT_VERSION },
325
327
  },
326
328
  events: {
327
329
  ready: SUBAGENT_RPC_READY_EVENT,
@@ -607,6 +609,14 @@ async function handleRequest(request, options, fleetKeys) {
607
609
  if (request.method === "resume") {
608
610
  return executeChecked(options, ctx, request.requestId, request.method, resumeParams(request.params));
609
611
  }
612
+ if (request.method === "cost") {
613
+ // The same parent-plus-child accounting `/subagent-cost` renders, as data.
614
+ // Read-only: it walks the current session branch and existing artifacts,
615
+ // so callers should request it on their own turn boundaries, not on a timer.
616
+ if (request.params !== undefined && !isRecord(request.params))
617
+ throw new SubagentRpcError("invalid_params", "RPC cost params must be an object when provided.");
618
+ return collectSubagentCost(ctx, options.state ?? { baseCwd: ctx.cwd });
619
+ }
610
620
  throw new SubagentRpcError("unsupported_method", `Unsupported subagent RPC method: ${String(request.method)}`);
611
621
  }
612
622
  function parseRequest(raw) {