pi-subagents 0.76.0 → 0.77.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 (347) hide show
  1. package/CHANGELOG.md +92 -0
  2. package/README.md +1 -1
  3. package/agents/oracle.md +8 -19
  4. package/agents/researcher.md +0 -3
  5. package/agents/reviewer.md +17 -61
  6. package/agents/scout.md +1 -4
  7. package/agents/worker.md +8 -25
  8. package/docs/agents.md +70 -3
  9. package/docs/configuration.md +55 -6
  10. package/docs/extension-api.md +36 -11
  11. package/docs/missions.md +24 -17
  12. package/docs/models.md +1 -1
  13. package/docs/observability.md +10 -5
  14. package/docs/tool-reference.md +101 -83
  15. package/docs/watchdog.md +8 -6
  16. package/docs/workflows.md +15 -6
  17. package/index.d.ts.map +1 -1
  18. package/index.js +5 -0
  19. package/index.js.map +1 -1
  20. package/package.json +2 -1
  21. package/prompts/council.md +1 -1
  22. package/skills/pi-subagents/SKILL.md +1 -1
  23. package/skills/pi-subagents/references/constraints-and-recipes.md +1 -1
  24. package/skills/pi-subagents/references/execution-controls.md +16 -16
  25. package/skills/pi-subagents/references/management-authoring-rpc.md +16 -12
  26. package/skills/pi-subagents/references/prompting-and-roles.md +3 -3
  27. package/src/agents/advertised-agent-prompt.d.ts +5 -1
  28. package/src/agents/advertised-agent-prompt.d.ts.map +1 -1
  29. package/src/agents/advertised-agent-prompt.js +8 -2
  30. package/src/agents/advertised-agent-prompt.js.map +1 -1
  31. package/src/agents/agent-management.d.ts.map +1 -1
  32. package/src/agents/agent-management.js +5 -0
  33. package/src/agents/agent-management.js.map +1 -1
  34. package/src/agents/agent-scope.d.ts +1 -0
  35. package/src/agents/agent-scope.d.ts.map +1 -1
  36. package/src/agents/agent-scope.js +3 -0
  37. package/src/agents/agent-scope.js.map +1 -1
  38. package/src/agents/agent-serializer.d.ts.map +1 -1
  39. package/src/agents/agent-serializer.js +3 -0
  40. package/src/agents/agent-serializer.js.map +1 -1
  41. package/src/agents/agents.d.ts +14 -2
  42. package/src/agents/agents.d.ts.map +1 -1
  43. package/src/agents/agents.js +94 -36
  44. package/src/agents/agents.js.map +1 -1
  45. package/src/api/preflight.d.ts +2 -0
  46. package/src/api/preflight.d.ts.map +1 -1
  47. package/src/api/preflight.js +6 -2
  48. package/src/api/preflight.js.map +1 -1
  49. package/src/extension/config.d.ts.map +1 -1
  50. package/src/extension/config.js +23 -2
  51. package/src/extension/config.js.map +1 -1
  52. package/src/extension/control-notices.d.ts +0 -2
  53. package/src/extension/control-notices.d.ts.map +1 -1
  54. package/src/extension/control-notices.js +1 -7
  55. package/src/extension/control-notices.js.map +1 -1
  56. package/src/extension/declaration-pinning.d.ts +14 -0
  57. package/src/extension/declaration-pinning.d.ts.map +1 -0
  58. package/src/extension/declaration-pinning.js +147 -0
  59. package/src/extension/declaration-pinning.js.map +1 -0
  60. package/src/extension/doctor.d.ts +3 -1
  61. package/src/extension/doctor.d.ts.map +1 -1
  62. package/src/extension/doctor.js +3 -9
  63. package/src/extension/doctor.js.map +1 -1
  64. package/src/extension/fanout-child.d.ts.map +1 -1
  65. package/src/extension/fanout-child.js +6 -8
  66. package/src/extension/fanout-child.js.map +1 -1
  67. package/src/extension/index.d.ts +1 -1
  68. package/src/extension/index.d.ts.map +1 -1
  69. package/src/extension/index.js +68 -116
  70. package/src/extension/index.js.map +1 -1
  71. package/src/extension/rpc.d.ts.map +1 -1
  72. package/src/extension/rpc.js +12 -6
  73. package/src/extension/rpc.js.map +1 -1
  74. package/src/extension/schemas.d.ts +137 -1
  75. package/src/extension/schemas.d.ts.map +1 -1
  76. package/src/extension/schemas.js +22 -22
  77. package/src/extension/schemas.js.map +1 -1
  78. package/src/extension/subagent-guide.d.ts +1 -0
  79. package/src/extension/subagent-guide.d.ts.map +1 -1
  80. package/src/extension/subagent-guide.js +80 -6
  81. package/src/extension/subagent-guide.js.map +1 -1
  82. package/src/extension/subagent-options.d.ts +8 -0
  83. package/src/extension/subagent-options.d.ts.map +1 -0
  84. package/src/extension/subagent-options.js +52 -0
  85. package/src/extension/subagent-options.js.map +1 -0
  86. package/src/extension/tool-activation.d.ts.map +1 -1
  87. package/src/extension/tool-activation.js +3 -2
  88. package/src/extension/tool-activation.js.map +1 -1
  89. package/src/extension/tool-description.d.ts +4 -7
  90. package/src/extension/tool-description.d.ts.map +1 -1
  91. package/src/extension/tool-description.js +45 -59
  92. package/src/extension/tool-description.js.map +1 -1
  93. package/src/inspectors/actions.d.ts +2 -0
  94. package/src/inspectors/actions.d.ts.map +1 -1
  95. package/src/inspectors/actions.js +41 -13
  96. package/src/inspectors/actions.js.map +1 -1
  97. package/src/inspectors/plugins.d.ts.map +1 -1
  98. package/src/inspectors/plugins.js +3 -2
  99. package/src/inspectors/plugins.js.map +1 -1
  100. package/src/inspectors/tmux/actions.d.ts +26 -0
  101. package/src/inspectors/tmux/actions.d.ts.map +1 -0
  102. package/src/inspectors/tmux/actions.js +182 -0
  103. package/src/inspectors/tmux/actions.js.map +1 -0
  104. package/src/inspectors/tmux/client.d.ts +28 -0
  105. package/src/inspectors/tmux/client.d.ts.map +1 -0
  106. package/src/inspectors/tmux/client.js +65 -0
  107. package/src/inspectors/tmux/client.js.map +1 -0
  108. package/src/inspectors/tmux/plugin.d.ts +8 -0
  109. package/src/inspectors/tmux/plugin.d.ts.map +1 -0
  110. package/src/inspectors/tmux/plugin.js +15 -0
  111. package/src/inspectors/tmux/plugin.js.map +1 -0
  112. package/src/integrations/herdr-status.d.ts +0 -1
  113. package/src/integrations/herdr-status.d.ts.map +1 -1
  114. package/src/integrations/herdr-status.js +18 -52
  115. package/src/integrations/herdr-status.js.map +1 -1
  116. package/src/integrations/program-status.d.ts +31 -0
  117. package/src/integrations/program-status.d.ts.map +1 -0
  118. package/src/integrations/program-status.js +189 -0
  119. package/src/integrations/program-status.js.map +1 -0
  120. package/src/intercom/native-supervisor-channel.d.ts +1 -0
  121. package/src/intercom/native-supervisor-channel.d.ts.map +1 -1
  122. package/src/intercom/native-supervisor-channel.js +77 -3
  123. package/src/intercom/native-supervisor-channel.js.map +1 -1
  124. package/src/intercom/result-intercom.js +1 -1
  125. package/src/intercom/result-intercom.js.map +1 -1
  126. package/src/intercom/supervisor-ui.d.ts +2 -12
  127. package/src/intercom/supervisor-ui.d.ts.map +1 -1
  128. package/src/intercom/supervisor-ui.js +2 -154
  129. package/src/intercom/supervisor-ui.js.map +1 -1
  130. package/src/missions/store.d.ts.map +1 -1
  131. package/src/missions/store.js +27 -5
  132. package/src/missions/store.js.map +1 -1
  133. package/src/runs/background/async-execution.d.ts +9 -1
  134. package/src/runs/background/async-execution.d.ts.map +1 -1
  135. package/src/runs/background/async-execution.js +250 -141
  136. package/src/runs/background/async-execution.js.map +1 -1
  137. package/src/runs/background/async-job-tracker.d.ts +4 -1
  138. package/src/runs/background/async-job-tracker.d.ts.map +1 -1
  139. package/src/runs/background/async-job-tracker.js +3 -2
  140. package/src/runs/background/async-job-tracker.js.map +1 -1
  141. package/src/runs/background/async-resume.d.ts.map +1 -1
  142. package/src/runs/background/async-resume.js +6 -2
  143. package/src/runs/background/async-resume.js.map +1 -1
  144. package/src/runs/background/await-async-run.d.ts +8 -4
  145. package/src/runs/background/await-async-run.d.ts.map +1 -1
  146. package/src/runs/background/await-async-run.js +14 -8
  147. package/src/runs/background/await-async-run.js.map +1 -1
  148. package/src/runs/background/binary-bootstrap.d.ts.map +1 -1
  149. package/src/runs/background/binary-bootstrap.js +2 -1
  150. package/src/runs/background/binary-bootstrap.js.map +1 -1
  151. package/src/runs/background/chain-root-attachment.d.ts +2 -0
  152. package/src/runs/background/chain-root-attachment.d.ts.map +1 -1
  153. package/src/runs/background/chain-root-attachment.js +5 -2
  154. package/src/runs/background/chain-root-attachment.js.map +1 -1
  155. package/src/runs/background/fleet-view.js +5 -5
  156. package/src/runs/background/fleet-view.js.map +1 -1
  157. package/src/runs/background/notify.d.ts +12 -2
  158. package/src/runs/background/notify.d.ts.map +1 -1
  159. package/src/runs/background/notify.js +148 -13
  160. package/src/runs/background/notify.js.map +1 -1
  161. package/src/runs/background/result-files.d.ts +29 -0
  162. package/src/runs/background/result-files.d.ts.map +1 -1
  163. package/src/runs/background/result-files.js +104 -6
  164. package/src/runs/background/result-files.js.map +1 -1
  165. package/src/runs/background/result-watcher.d.ts.map +1 -1
  166. package/src/runs/background/result-watcher.js +60 -64
  167. package/src/runs/background/result-watcher.js.map +1 -1
  168. package/src/runs/background/resume-guidance.js +2 -2
  169. package/src/runs/background/resume-guidance.js.map +1 -1
  170. package/src/runs/background/run-child-session.d.ts.map +1 -1
  171. package/src/runs/background/run-child-session.js +2 -1
  172. package/src/runs/background/run-child-session.js.map +1 -1
  173. package/src/runs/background/run-id-resolver.d.ts.map +1 -1
  174. package/src/runs/background/run-id-resolver.js +9 -6
  175. package/src/runs/background/run-id-resolver.js.map +1 -1
  176. package/src/runs/background/run-status.d.ts.map +1 -1
  177. package/src/runs/background/run-status.js +19 -15
  178. package/src/runs/background/run-status.js.map +1 -1
  179. package/src/runs/background/runner-child-launch.d.ts.map +1 -1
  180. package/src/runs/background/runner-child-launch.js +1 -0
  181. package/src/runs/background/runner-child-launch.js.map +1 -1
  182. package/src/runs/background/runner-http-dispatcher.d.ts +3 -0
  183. package/src/runs/background/runner-http-dispatcher.d.ts.map +1 -1
  184. package/src/runs/background/runner-http-dispatcher.js +2 -0
  185. package/src/runs/background/runner-http-dispatcher.js.map +1 -1
  186. package/src/runs/background/scheduled-runs.d.ts +9 -0
  187. package/src/runs/background/scheduled-runs.d.ts.map +1 -1
  188. package/src/runs/background/scheduled-runs.js +124 -36
  189. package/src/runs/background/scheduled-runs.js.map +1 -1
  190. package/src/runs/background/subagent-runner-bootstrap.d.ts.map +1 -1
  191. package/src/runs/background/subagent-runner-bootstrap.js +5 -1
  192. package/src/runs/background/subagent-runner-bootstrap.js.map +1 -1
  193. package/src/runs/background/subagent-runner.d.ts +3 -1
  194. package/src/runs/background/subagent-runner.d.ts.map +1 -1
  195. package/src/runs/background/subagent-runner.js +15 -6
  196. package/src/runs/background/subagent-runner.js.map +1 -1
  197. package/src/runs/background/subagent-wait.d.ts +2 -0
  198. package/src/runs/background/subagent-wait.d.ts.map +1 -1
  199. package/src/runs/background/subagent-wait.js +34 -20
  200. package/src/runs/background/subagent-wait.js.map +1 -1
  201. package/src/runs/background/terminal-run-index.d.ts +1 -0
  202. package/src/runs/background/terminal-run-index.d.ts.map +1 -1
  203. package/src/runs/background/terminal-run-index.js +47 -1
  204. package/src/runs/background/terminal-run-index.js.map +1 -1
  205. package/src/runs/background/wait-tool.d.ts.map +1 -1
  206. package/src/runs/background/wait-tool.js +36 -23
  207. package/src/runs/background/wait-tool.js.map +1 -1
  208. package/src/runs/foreground/async-stop-action.d.ts +7 -1
  209. package/src/runs/foreground/async-stop-action.d.ts.map +1 -1
  210. package/src/runs/foreground/async-stop-action.js +49 -25
  211. package/src/runs/foreground/async-stop-action.js.map +1 -1
  212. package/src/runs/foreground/execution.d.ts.map +1 -1
  213. package/src/runs/foreground/execution.js +50 -24
  214. package/src/runs/foreground/execution.js.map +1 -1
  215. package/src/runs/foreground/subagent-executor.d.ts +5 -1
  216. package/src/runs/foreground/subagent-executor.d.ts.map +1 -1
  217. package/src/runs/foreground/subagent-executor.js +174 -65
  218. package/src/runs/foreground/subagent-executor.js.map +1 -1
  219. package/src/runs/shared/child-hooks.js +6 -5
  220. package/src/runs/shared/child-hooks.js.map +1 -1
  221. package/src/runs/shared/child-launch.d.ts +2 -0
  222. package/src/runs/shared/child-launch.d.ts.map +1 -1
  223. package/src/runs/shared/child-launch.js +1 -0
  224. package/src/runs/shared/child-launch.js.map +1 -1
  225. package/src/runs/shared/child-session.d.ts +4 -0
  226. package/src/runs/shared/child-session.d.ts.map +1 -1
  227. package/src/runs/shared/child-session.js +28 -23
  228. package/src/runs/shared/child-session.js.map +1 -1
  229. package/src/runs/shared/child-tool-plan.d.ts.map +1 -1
  230. package/src/runs/shared/child-tool-plan.js +11 -10
  231. package/src/runs/shared/child-tool-plan.js.map +1 -1
  232. package/src/runs/shared/dynamic-fanout.js +1 -1
  233. package/src/runs/shared/dynamic-fanout.js.map +1 -1
  234. package/src/runs/shared/herdr-placed-run.d.ts +1 -0
  235. package/src/runs/shared/herdr-placed-run.d.ts.map +1 -1
  236. package/src/runs/shared/herdr-placed-run.js +10 -6
  237. package/src/runs/shared/herdr-placed-run.js.map +1 -1
  238. package/src/runs/shared/model-resolution-diagnostic.d.ts +10 -0
  239. package/src/runs/shared/model-resolution-diagnostic.d.ts.map +1 -1
  240. package/src/runs/shared/model-resolution-diagnostic.js +24 -0
  241. package/src/runs/shared/model-resolution-diagnostic.js.map +1 -1
  242. package/src/runs/shared/model-resolution.d.ts.map +1 -1
  243. package/src/runs/shared/model-resolution.js +29 -1
  244. package/src/runs/shared/model-resolution.js.map +1 -1
  245. package/src/runs/shared/nested-events.d.ts +2 -0
  246. package/src/runs/shared/nested-events.d.ts.map +1 -1
  247. package/src/runs/shared/nested-events.js +4 -0
  248. package/src/runs/shared/nested-events.js.map +1 -1
  249. package/src/runs/shared/parallel-handoff.js +2 -2
  250. package/src/runs/shared/parallel-handoff.js.map +1 -1
  251. package/src/runs/shared/parallel-utils.d.ts +2 -0
  252. package/src/runs/shared/parallel-utils.d.ts.map +1 -1
  253. package/src/runs/shared/parallel-utils.js.map +1 -1
  254. package/src/runs/shared/runner-launcher.d.ts +12 -0
  255. package/src/runs/shared/runner-launcher.d.ts.map +1 -0
  256. package/src/runs/shared/runner-launcher.js +25 -0
  257. package/src/runs/shared/runner-launcher.js.map +1 -0
  258. package/src/runs/shared/single-output.d.ts +20 -0
  259. package/src/runs/shared/single-output.d.ts.map +1 -1
  260. package/src/runs/shared/single-output.js +57 -0
  261. package/src/runs/shared/single-output.js.map +1 -1
  262. package/src/runs/shared/structured-output.d.ts.map +1 -1
  263. package/src/runs/shared/structured-output.js +17 -8
  264. package/src/runs/shared/structured-output.js.map +1 -1
  265. package/src/runs/shared/subagent-control.js +3 -3
  266. package/src/runs/shared/subagent-control.js.map +1 -1
  267. package/src/runs/shared/subagent-prompt-runtime.d.ts +8 -2
  268. package/src/runs/shared/subagent-prompt-runtime.d.ts.map +1 -1
  269. package/src/runs/shared/subagent-prompt-runtime.js +43 -20
  270. package/src/runs/shared/subagent-prompt-runtime.js.map +1 -1
  271. package/src/runs/shared/workflow-async-child-guidance.js +1 -1
  272. package/src/runs/shared/workflow-async-child-guidance.js.map +1 -1
  273. package/src/runs/shared/worktree-cleanup-plan.js +1 -1
  274. package/src/runs/shared/worktree-cleanup-plan.js.map +1 -1
  275. package/src/shared/atomic-json.d.ts +4 -3
  276. package/src/shared/atomic-json.d.ts.map +1 -1
  277. package/src/shared/atomic-json.js +3 -1
  278. package/src/shared/atomic-json.js.map +1 -1
  279. package/src/shared/edit-distance.d.ts +5 -0
  280. package/src/shared/edit-distance.d.ts.map +1 -0
  281. package/src/shared/edit-distance.js +33 -0
  282. package/src/shared/edit-distance.js.map +1 -0
  283. package/src/shared/formatters.d.ts.map +1 -1
  284. package/src/shared/formatters.js +1 -6
  285. package/src/shared/formatters.js.map +1 -1
  286. package/src/shared/model-info.d.ts +8 -0
  287. package/src/shared/model-info.d.ts.map +1 -1
  288. package/src/shared/model-info.js +22 -0
  289. package/src/shared/model-info.js.map +1 -1
  290. package/src/shared/package-version.d.ts +3 -0
  291. package/src/shared/package-version.d.ts.map +1 -0
  292. package/src/shared/package-version.js +15 -0
  293. package/src/shared/package-version.js.map +1 -0
  294. package/src/shared/parent-wake.d.ts +18 -0
  295. package/src/shared/parent-wake.d.ts.map +1 -0
  296. package/src/shared/parent-wake.js +60 -0
  297. package/src/shared/parent-wake.js.map +1 -0
  298. package/src/shared/pruned-fork.d.ts +1 -1
  299. package/src/shared/pruned-fork.d.ts.map +1 -1
  300. package/src/shared/pruned-fork.js +6 -0
  301. package/src/shared/pruned-fork.js.map +1 -1
  302. package/src/shared/runtime-module-path.d.ts +11 -0
  303. package/src/shared/runtime-module-path.d.ts.map +1 -0
  304. package/src/shared/runtime-module-path.js +17 -0
  305. package/src/shared/runtime-module-path.js.map +1 -0
  306. package/src/shared/types.d.ts +26 -2
  307. package/src/shared/types.d.ts.map +1 -1
  308. package/src/shared/types.js +3 -0
  309. package/src/shared/types.js.map +1 -1
  310. package/src/shared/utils.d.ts.map +1 -1
  311. package/src/shared/utils.js +8 -7
  312. package/src/shared/utils.js.map +1 -1
  313. package/src/slash/slash-commands.js +3 -3
  314. package/src/slash/slash-commands.js.map +1 -1
  315. package/src/slash/subagents-admin.d.ts.map +1 -1
  316. package/src/slash/subagents-admin.js +2 -1
  317. package/src/slash/subagents-admin.js.map +1 -1
  318. package/src/tui/fleet-transcript.d.ts +2 -0
  319. package/src/tui/fleet-transcript.d.ts.map +1 -1
  320. package/src/tui/fleet-transcript.js +7 -2
  321. package/src/tui/fleet-transcript.js.map +1 -1
  322. package/src/tui/fleet.d.ts.map +1 -1
  323. package/src/tui/fleet.js +9 -4
  324. package/src/tui/fleet.js.map +1 -1
  325. package/src/tui/render.d.ts +2 -2
  326. package/src/tui/render.d.ts.map +1 -1
  327. package/src/tui/render.js +19 -17
  328. package/src/tui/render.js.map +1 -1
  329. package/src/tui/subagent-messages.d.ts +23 -0
  330. package/src/tui/subagent-messages.d.ts.map +1 -0
  331. package/src/tui/subagent-messages.js +270 -0
  332. package/src/tui/subagent-messages.js.map +1 -0
  333. package/src/watchdog/register-main.d.ts.map +1 -1
  334. package/src/watchdog/register-main.js +1 -19
  335. package/src/watchdog/register-main.js.map +1 -1
  336. package/src/watchdog/render.d.ts +2 -10
  337. package/src/watchdog/render.d.ts.map +1 -1
  338. package/src/watchdog/render.js +1 -19
  339. package/src/watchdog/render.js.map +1 -1
  340. package/src/watchdog/tool-actions.js +2 -2
  341. package/src/watchdog/tool-actions.js.map +1 -1
  342. package/src/workflows/scripted-workflow.d.ts.map +1 -1
  343. package/src/workflows/scripted-workflow.js +20 -6
  344. package/src/workflows/scripted-workflow.js.map +1 -1
  345. package/src/workflows/workflow-resources.d.ts.map +1 -1
  346. package/src/workflows/workflow-resources.js +12 -0
  347. package/src/workflows/workflow-resources.js.map +1 -1
@@ -4,35 +4,23 @@ import { getAgentDir, getProjectConfigDir } from "../shared/utils.js";
4
4
  import { resolveDisabledFeatureSurface } from "../shared/disabled-features.js";
5
5
  const CUSTOM_TOOL_DESCRIPTION_FILE = "subagent-tool-description.md";
6
6
  const CUSTOM_TOOL_DESCRIPTION_MAX_BYTES = 50 * 1024;
7
- const AGENT_SELECTION_GUIDANCE = 'First call {action:"list",capabilities:true}: executable, non-disabled agents only; external-cli requires runner.available === true. Passive PATH/PATHEXT/X_OK is not authentication/version/launch proof; preflight is authoritative.';
8
- const SUBAGENT_FAILURE_RECOVERY_GUIDANCE = "Workflow, child launch, prompt runtime, extension load or child tooling failure is a lane infrastructure blocker. Stop; report exact failure, run/status and repo/cwd/worktree/branch/ref; verify clean worktree or capture partial diff before same-protocol retry or asking the owner. Never silently switch to interactive_shell, pi -ne, Codex/Claude/Cursor CLI or foreground/external mode: governed-workflow fallback requires explicit owner approval, not Pi core's generic pi -ne hint. Explicit foreground/CLI requests and work outside that protocol remain valid.";
9
7
  function featureText(disabled) {
10
8
  return (feature, text, disabledText = "") => disabled.features.has(feature) ? disabledText : text;
11
9
  }
12
- const safetyGuidance = (on) => `SAFETY-CRITICAL SUBAGENT GUIDANCE:
13
- • Direct parent execution is the default. Invoke subagents only when delegation is authorized by the operator's current request or applicable user/project instructions; task size, complexity, risk, tool-call count, or recipe fit do not independently authorize delegation.
14
- • ${AGENT_SELECTION_GUIDANCE}
15
- • ${SUBAGENT_FAILURE_RECOVERY_GUIDANCE}
16
- • Omit action for execution. For an authorized delegated multi-step/parallel workflow: exactly one top-level subagent ${on("workflow-scripts", "workflow call with async:true; children launch only inside it", "chain or tasks call with async:true")}.
17
- • Async follows asyncByDefault (normally true); async:false only to block the parent, not for final reviews/gates. Consume results at dependency barriers. Native async completion wakes this session: return control, no sleep/poll or bg_wait merely for a wake. bg_wait is for provider/detached work without native notification needing a same-turn result.
18
- • Ordinary child subagents are not orchestrators; only configured fanout within depth/session limits. For an authorized delegated workflow, keep one writer per cwd/worktree and isolate concurrent writers. Use fresh-context read-only reviewers when independent review was requested, then parent synthesis/fixes. Oracle/advisor unknowns use supervisor dialogue; one-shot only when requested.
19
- • Bind durable output ${on("workflow-scripts", "on runs.run/runs.all", "with output")}, not task filename prose; return actual outputReference/outputPathMapping/artifactPaths, evidence and residual risks.
20
- • children.list is workflow-only, not an exhaustive list of direct native children: resume only resumable rows. When an intended child's exact run id is known, inspect it with {action:"status",id}; if status identifies the candidate, attempt {action:"resume",id,message}. Resume authoritatively checks eligibility, may reject it, and otherwise detaches a follow-up/challenge with the stored agent/model/tool contract. Use a labeled same-role fallback only when no known candidate exists or resume rejects eligibility.${on("workflow-scripts", " Scripts await runs.run(newKey,{resume:runId,task}); continue from latest returned runId. Each distinct resume pass needs a new stable key; same-key reuse requires identical launch parameters.")}
21
- ${on("workflow-scripts", "• Named resources own authority; raw scripts (workflow:true or a path) cannot use runs.host. Granted commands/relative outputs use workflow cwd, never per-step cwd.\n")}• Inspect asyncId/asyncDir (status.json, events.jsonl, logs) with status/debug.run; control with interrupt/stop/resume/steer. For local Pi children explicitly granted subagent_command, command.status/yield/cancel targets one exact toolCallId without interrupting the child. Read {action:"guide",topic:"tool-reference"} for controls/evidence gates.`;
22
- const scriptExecutionGuidance = (on) => `Delegate one child with {agent,task?}; otherwise set exactly one workflow source, with optional args.
23
- Workflow script: write it as one \`\`\`js workflow block in this reply, then call subagent({workflow:true,...}). workflow:'./path.js' (any value with '/') loads a file from request cwd; other strings name a resource.
24
- agent/task exclude workflow; task excludes action. agent may target management actions. action is management/control; validate accepts workflow:true or a path without launching.
25
- Scripts: JavaScript statement bodies with explicit return, top-level await, plain helpers/Promise chains; nested async function/arrow/method helpers are rejected. Await runs.run('key',{agent,task}) before .output; await runs.all([{key,agent,task},...]) for an ordered array, not a key map. Observe every stored run promise with direct await, Promise.race or Promise.all. Await/return runs.steer(key,message,options?) for a prior key, never raw run ids; queued/delivered/missed/failed receipts are not compliance proof.
26
- Before advanced orchestration (runs.lanes, rolling fanout, mission state, handoffs), read {action:"guide",topic:"workflows"} or the pi-subagents skill. Raw-script sandboxes add deeply frozen args; all sandboxes provide runs, emit, console, JavaScript and enabled mission state, with no filesystem/shell/Pi tools/host globals. External CLI agents support native options only when their runner declares them; read guide tool-reference before passing model, structured output, acceptance/agentContract, ${on("tool-budgets", "tool budget, ")}fast, fork context or skills/tools.
27
- Model override: first call {action:"models"}; copy exact provider/id, not agent names. Thinking uses model suffix${on("watchdog", ", not watchdog-only thinking")}.
28
- Named resources: {workflow:'review',args:{task:'...'}} or {workflow:'run-ci',args:{command:'npm test'}}. Raw scripts also accept bounded plain-data args; raw-script args persist as evidence, so never include secrets. worktree:true requires clean source; baseRef defaults to HEAD at allocation or a supported named ref, never full 40/64-character commit IDs or revision expressions.`;
29
- const structuredExecutionGuidance = (on) => `Delegate one child with {agent,task?}. tasks:[{agent,task},...] runs children in parallel. chain:[{agent,task?,as?} or {parallel:[{agent,task},...]}] runs steps in order; a parallel step waits for all its children and a failed step stops the chain.
30
- Chain task placeholders: {task} is the top-level task (the original request); {previous} is the prior step's output (a parallel step's outputs in order), and the default when task is omitted; {outputs.name} is the output of an earlier step with as:'name'.
31
- agent, chain and tasks exclude each other and action. action is management/control; agent may target management actions.
32
- External CLI agents support native options only when their runner declares them; read guide tool-reference before passing model, structured output, acceptance/agentContract, ${on("tool-budgets", "tool budget, ")}fast, fork context or skills/tools.
33
- Model override: first call {action:"models"}; copy exact provider/id, not agent names. Thinking uses model suffix${on("watchdog", ", not watchdog-only thinking")}.
34
- worktree:true requires clean source; baseRef defaults to HEAD at allocation or a supported named ref, never full 40/64-character commit IDs or revision expressions.`;
35
- const defaultDescription = (on) => `${on("workflow-scripts", scriptExecutionGuidance(on), structuredExecutionGuidance(on))}\n\n${safetyGuidance(on)}`;
10
+ // Part of every built-in description and appended to custom ones, so it is sent on every request.
11
+ export const SUBAGENT_SAFETY_GUIDANCE = `SAFETY-CRITICAL SUBAGENT GUIDANCE:
12
+ - Delegate only when the operator asked, directly or through applicable user/project instructions; size, complexity or risk alone is not authorization.
13
+ - Native async completion wakes this session: return control; do not sleep, poll or call bg_wait for it.
14
+ - One writer per cwd/worktree; isolate concurrent writers.
15
+ - After a launch or runtime failure, stop and report it; never silently switch to interactive_shell, pi -ne or another CLI.`;
16
+ const scriptCalls = "One child: {agent,task}. Independent parallel children: {workflow:\"parallel\",args:{tasks:[{agent,task},...]}}. Dependent multi-step work: exactly one top-level subagent workflow call with async:true; write one ```js workflow block in this reply, then call subagent({workflow:true}); children launch only inside it.";
17
+ const structuredCalls = "One child: {agent,task}. Parallel: tasks:[{agent,task},...]. In order: chain:[{agent,task?,as?} or {parallel:[{agent,task},...]}]; step tasks can use {task}, {previous} and {outputs.name}. Use exactly one top-level subagent chain or tasks call with async:true.";
18
+ const essentials = (on) => `${on("workflow-scripts", scriptCalls, structuredCalls)}
19
+ Management: {action,id?,options:{...}}; fields not in this schema go in options.
20
+ Launch agents by name and pass models as exact provider/id; an unknown agent or model returns the valid choices.
21
+ Details: guide workflows/recommended-orchestration-pattern (async, review, failure recovery), ${on("workflow-scripts", "guide workflows/scripted-workflows, ")}guide tool-reference/retained-children, guide tool-reference/external-cli-agent-profiles.
22
+
23
+ ${SUBAGENT_SAFETY_GUIDANCE}`;
36
24
  const managementDiscovery = (on) => [
37
25
  ["list/get/models/guide"],
38
26
  [on("agent-management", "create/update/delete/eject/disable/enable/reset/refine")],
@@ -40,20 +28,28 @@ const managementDiscovery = (on) => [
40
28
  [on("lane-management", "worktree.discard and reviewed worktree.cleanup")],
41
29
  [`doctor${on("spawn-budget-grants", " and grant-spawn-budget")}`],
42
30
  ].map((group) => group.filter(Boolean).join(", ")).filter(Boolean).join("; ");
43
- const fullDescription = (on) => `${defaultDescription(on)}
44
-
45
- WORKFLOW DETAILS:
46
- ${on("workflow-scripts", "• runs.lanes([{key,stages:[{key,agent,task},{key,resume:'previous',task}]}]) runs first stages together, later stages sequentially per lane. Failures stay lane-local; only explicit structuredOutput.verdict === 'blocked' blocks a successful stage, never reviewer prose.\n")}• ${on("workflow-scripts", "Workflow child controls default onto runs.run/runs.all items; child fields override them.", "Top-level child controls apply to every chain/tasks child.")} worktree:true isolates each child and returns handoff artifacts.${on("usage-budgets", " usageBudget is shared across the workflow; already-running children are not stopped.")}
47
- • Missions auto-attach${on("missions", " unless mission:false")}; ${on("workflow-scripts", "await state.get(key)/state.set(key,JSONValue) requires a mission. ")}See guide topic missions. Omit acceptance for reviewer/read-only calls; acceptance.review.required requests independent writer review.
31
+ const scriptDetails = `• Scripts: JavaScript statement bodies with explicit return, top-level await, plain helpers/Promise chains; nested async function/arrow/method helpers are rejected. Await runs.run('key',{agent,task}) before .output; await runs.all([{key,agent,task},...]) for an ordered array, not a key map. Observe every stored run promise with direct await, Promise.race or Promise.all. Await/return runs.steer(key,message,options?) for a prior key, never raw run ids; queued/delivered/missed/failed receipts are not compliance proof.
32
+ • workflow:'./path.js' (any value with '/') loads a file from request cwd; other strings name a resource, such as {workflow:'review',args:{task:'...'}}. agent/task exclude workflow; task excludes action; validate accepts workflow:true or a path without launching. Raw-script sandboxes add deeply frozen args that persist as evidence, so never include secrets; raw scripts cannot use runs.host. Granted commands/relative outputs use workflow cwd, never per-step cwd.
33
+ • runs.lanes([{key,stages:[{key,agent,task},{key,resume:'previous',task}]}]) runs first stages together, later stages sequentially per lane. Failures stay lane-local; only explicit structuredOutput.verdict === 'blocked' blocks a successful stage, never reviewer prose.
34
+ `;
35
+ // Opt-in through toolDescriptionMode "full": the rarer rules the default leaves to guide sections.
36
+ const fullDetails = (on) => `DETAILS:
37
+ ${on("workflow-scripts", scriptDetails)}• ${on("workflow-scripts", "Workflow child controls default onto runs.run/runs.all items; child fields override them.", "Top-level child controls apply to every chain/tasks child.")} worktree:true requires clean source, isolates each child and returns handoff artifacts; options.baseRef defaults to HEAD at allocation or a supported named ref, never full 40/64-character commit IDs or revision expressions.${on("usage-budgets", " usageBudget is shared across the workflow; already-running children are not stopped.")}
38
+ • Async follows asyncByDefault (normally true); async:false only to block the parent, not for final reviews/gates. Consume results at dependency barriers. bg_wait is for provider/detached work without native notification that needs a same-turn result.
39
+ • Bind durable output ${on("workflow-scripts", "on runs.run/runs.all", "with output")}, not task filename prose; return actual outputReference/outputPathMapping/artifactPaths, evidence and residual risks.
40
+ • Ordinary child subagents are not orchestrators; only configured fanout within depth/session limits. Use fresh-context read-only reviewers when independent review was requested. Oracle/advisor unknowns use supervisor dialogue; one-shot only when requested.
41
+ • children.list is workflow-only, not an exhaustive list of direct native children: resume only resumable rows. When an intended child's exact run id is known, inspect it with {action:"status",id}; if status identifies the candidate, attempt {action:"resume",id,message}. Resume authoritatively checks eligibility and may reject it. Use a labeled same-role fallback only when no known candidate exists or resume rejects eligibility.${on("workflow-scripts", " Scripts await runs.run(newKey,{resume:runId,task}); continue from the latest returned runId. Each distinct resume pass needs a new stable key; same-key reuse requires identical launch parameters.")}
42
+ • External CLI agents need an installed, authenticated CLI; preflight at launch decides, and passive PATH/PATHEXT/X_OK is not authentication/version/launch proof. They support native options only when their runner declares them: model, structured output, acceptance/agentContract, ${on("tool-budgets", "tool budget, ")}fast, fork context or skills/tools.
43
+ • Model override: copy exact provider/id, not agent names. Thinking uses model suffix${on("watchdog", ", not watchdog-only thinking")}.
44
+ • Missions auto-attach${on("missions", " unless options.mission:false")}; ${on("workflow-scripts", "await state.get(key)/state.set(key,JSONValue) requires a mission. ")}See guide topic missions. Omit acceptance for reviewer/read-only calls; acceptance.review.required requests independent writer review.
45
+ • Inspect asyncId/asyncDir (status.json, events.jsonl, logs) with status/debug.run; control with interrupt/stop/resume/steer. For local Pi children explicitly granted subagent_command, command.status/yield/cancel targets one exact toolCallId without interrupting the child.
46
+ • After a failure, report the exact failure, run/status and repo/cwd/worktree/branch/ref, and verify a clean worktree or capture the partial diff before a same-protocol retry. Governed-workflow fallback to foreground/CLI needs explicit owner approval, not Pi core's generic pi -ne hint.
48
47
  • Management discovery: ${managementDiscovery(on)}. Use guide topics agents, ${on("missions", "missions, ")}observability, tool-reference, configuration, models${on("watchdog", ", watchdog")} or extension-api for exact action fields.${on("schedules", on("workflow-scripts", " Schedules take script inputs, not direct children; recipes live in the missions guide."))}`;
48
+ const fullDescription = (on) => `${essentials(on)}\n\n${fullDetails(on)}`;
49
49
  const allEnabled = featureText(resolveDisabledFeatureSurface({}));
50
- export const SUBAGENT_SAFETY_GUIDANCE = safetyGuidance(allEnabled);
51
- export const DEFAULT_SUBAGENT_TOOL_DESCRIPTION = defaultDescription(allEnabled);
52
- export const SUBAGENT_TOOL_PROMPT_SNIPPET = "For operator-requested delegation, use subagents; compose multi-child work in one workflow call.";
53
- const STRUCTURED_SUBAGENT_TOOL_PROMPT_SNIPPET = "For operator-requested delegation, use subagents; compose multi-child work in one chain or tasks call.";
54
- export const SUBAGENT_TOOL_PROMPT_GUIDELINES = [
55
- "Do not invoke subagents unless the operator requested delegation directly or through applicable instructions.",
56
- ];
50
+ export const DEFAULT_SUBAGENT_TOOL_DESCRIPTION = essentials(allEnabled);
51
+ export const SUBAGENT_TOOL_PROMPT_SNIPPET = "Delegate focused work to child agents; compose multi-child work in one workflow call.";
52
+ const STRUCTURED_SUBAGENT_TOOL_PROMPT_SNIPPET = "Delegate focused work to child agents; compose multi-child work in one chain or tasks call.";
57
53
  export const COMPACT_SUBAGENT_TOOL_DESCRIPTION = DEFAULT_SUBAGENT_TOOL_DESCRIPTION;
58
54
  export const FULL_SUBAGENT_TOOL_DESCRIPTION = fullDescription(allEnabled);
59
55
  function isToolDescriptionMode(value) {
@@ -62,13 +58,11 @@ function isToolDescriptionMode(value) {
62
58
  function warn(options, message) {
63
59
  (options?.warn ?? console.warn)(`[pi-subagents] ${message}`);
64
60
  }
61
+ // No promptGuidelines: the description carries the authorization rule, so it is stated once.
65
62
  export function buildSubagentToolPromptMetadata(config = {}, disabledFeatures) {
66
63
  if (config.toolDescriptionMode !== undefined)
67
64
  return {};
68
- return {
69
- promptSnippet: disabledFeatures?.features.has("workflow-scripts") ? STRUCTURED_SUBAGENT_TOOL_PROMPT_SNIPPET : SUBAGENT_TOOL_PROMPT_SNIPPET,
70
- promptGuidelines: SUBAGENT_TOOL_PROMPT_GUIDELINES,
71
- };
65
+ return { promptSnippet: disabledFeatures?.features.has("workflow-scripts") ? STRUCTURED_SUBAGENT_TOOL_PROMPT_SNIPPET : SUBAGENT_TOOL_PROMPT_SNIPPET };
72
66
  }
73
67
  export function resolveToolDescriptionMode(config, options) {
74
68
  const mode = config.toolDescriptionMode;
@@ -148,37 +142,29 @@ function loadCustomToolDescription(options) {
148
142
  }
149
143
  return undefined;
150
144
  }
151
- function withMandatorySafetyGuidance(description, safety) {
145
+ function withMandatorySafetyGuidance(description) {
152
146
  const customDescription = description
153
147
  .split(SUBAGENT_SAFETY_GUIDANCE)
154
- .flatMap((part) => part.split(safety))
155
- .flatMap((part) => part.split(SUBAGENT_FAILURE_RECOVERY_GUIDANCE))
156
148
  .map((part) => part.trim())
157
149
  .filter(Boolean)
158
150
  .join("\n\n");
159
151
  return customDescription
160
- ? `${customDescription}\n\n${safety}`
161
- : safety;
152
+ ? `${customDescription}\n\n${SUBAGENT_SAFETY_GUIDANCE}`
153
+ : SUBAGENT_SAFETY_GUIDANCE;
162
154
  }
163
155
  export function buildSubagentToolDescription(config = {}, options) {
164
156
  const on = options?.disabledFeatures ? featureText(options.disabledFeatures) : allEnabled;
165
157
  if (config.toolDescriptionMode === undefined)
166
- return defaultDescription(on);
158
+ return essentials(on);
167
159
  const mode = resolveToolDescriptionMode(config, options);
168
- let description;
169
160
  if (mode === "compact")
170
- description = defaultDescription(on);
171
- else if (mode === "custom") {
161
+ return essentials(on);
162
+ if (mode === "custom") {
172
163
  const custom = loadCustomToolDescription(options);
173
164
  if (custom)
174
- description = withMandatorySafetyGuidance(custom, safetyGuidance(on));
175
- else {
176
- warn(options, `${CUSTOM_TOOL_DESCRIPTION_FILE} was not found or valid for toolDescriptionMode "custom"; using full description.`);
177
- description = fullDescription(on);
178
- }
165
+ return withMandatorySafetyGuidance(custom);
166
+ warn(options, `${CUSTOM_TOOL_DESCRIPTION_FILE} was not found or valid for toolDescriptionMode "custom"; using full description.`);
179
167
  }
180
- else
181
- description = fullDescription(on);
182
- return description;
168
+ return fullDescription(on);
183
169
  }
184
170
  //# sourceMappingURL=tool-description.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-description.js","sourceRoot":"","sources":["../../../src/extension/tool-description.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-description.js","sourceRoot":"","sources":["../../../src/extension/tool-description.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,8 @@ export interface InspectorDispatcherDeps {
18
18
  runnerPath?: string;
19
19
  env?: NodeJS.ProcessEnv;
20
20
  plugins?: readonly InspectorPlugin[];
21
+ /** How long open and close wait for another open or close of the same target. */
22
+ leaseWaitMs?: number;
21
23
  }
22
24
  export declare function handleInspectorAction(action: InspectorAction, params: InspectorParams, deps: InspectorDispatcherDeps): Promise<AgentToolResult<Details>>;
23
25
  //# sourceMappingURL=actions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/inspectors/actions.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAA4B,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC9F,OAAO,EAAQ,KAAK,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAM5E,OAAO,KAAK,EAAE,eAAe,EAAqC,eAAe,EAAE,eAAe,EAAmB,MAAM,YAAY,CAAC;AAExI,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAwFpF,MAAM,WAAW,uBAAuB;IACvC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;CACrC;AACD,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CA4B9J"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/inspectors/actions.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAA4B,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC9F,OAAO,EAAQ,KAAK,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAO5E,OAAO,KAAK,EAAE,eAAe,EAAqC,eAAe,EAAE,eAAe,EAAmB,MAAM,YAAY,CAAC;AAExI,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA2FpF,MAAM,WAAW,uBAAuB;IACvC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IACrC,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AACD,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAgD9J"}
@@ -5,12 +5,15 @@ import { readMissionBinding } from "../missions/lifecycle.js";
5
5
  import { listMissions, missionRecordPath, resolveMissionStoreLocation } from "../missions/store.js";
6
6
  import { resolveAuthorityDecision } from "../policy/authority.js";
7
7
  import { DIRS } from "../shared/types.js";
8
+ import { tryLease } from "../shared/file-lease.js";
8
9
  import { readStatus } from "../shared/utils.js";
9
10
  import { resolveSubagentRunId } from "../runs/background/run-id-resolver.js";
10
11
  import { resolveNodeExecutable } from "../shared/node-executable.js";
11
12
  import { encodeSessionRoots } from "./session-roots-codec.js";
12
13
  import { formatShellCommand } from "./shell-command.js";
13
14
  export { INSPECTOR_ACTIONS } from "./types.js";
15
+ // Covers a provider's slowest normal open (a 15 s split or launch plus its follow-up commands).
16
+ const INSPECTOR_LEASE_WAIT_MS = 30_000;
14
17
  function result(text, isError = false) {
15
18
  const response = {
16
19
  content: [{ type: "text", text }],
@@ -133,23 +136,48 @@ export async function handleInspectorAction(action, params, deps) {
133
136
  if (action === "inspector.command")
134
137
  return result(launchFor(target, deps).displayCommand);
135
138
  const plugins = deps.plugins ?? [];
136
- if (action === "inspector.open") {
137
- for (const plugin of plugins) {
138
- if (await plugin.available(context))
139
- return plugin.open(context, launchFor(target, deps), params);
140
- }
141
- return result("No inspector plugin is available. Start a supported inspector host, or use inspector.command for a standalone command.", true);
142
- }
143
- const owner = plugins.find((plugin) => plugin.owns(context));
144
- if (!owner)
145
- return result(`No inspector plugin owns this binding for async run ${target.runId}.`);
146
139
  if (action === "inspector.status") {
140
+ const owner = plugins.find((plugin) => plugin.owns(context));
141
+ if (!owner)
142
+ return result(`No inspector plugin owns this binding for async run ${target.runId}.`);
147
143
  return owner.status
148
144
  ? owner.status(context)
149
145
  : result(`Inspector plugin '${owner.name}' does not support status for async run ${target.runId}.`, true);
150
146
  }
151
- return owner.close
152
- ? owner.close(context)
153
- : result(`Inspector plugin '${owner.name}' does not support close for async run ${target.runId}.`, true);
147
+ // Open and close read, create and delete the target's binding. Two callers at once, including another Pi
148
+ // process sharing the run directory, would each open a pane and one binding would overwrite the other.
149
+ const label = target.index === undefined ? "" : ` child ${target.index}`;
150
+ const lockPath = path.join(fs.realpathSync.native(target.asyncDir), `inspector-${target.index ?? "root"}.lock`);
151
+ const deadline = Date.now() + (deps.leaseWaitMs ?? INSPECTOR_LEASE_WAIT_MS);
152
+ let release = tryLease(lockPath);
153
+ while (!release) {
154
+ if (deps.signal?.aborted)
155
+ return result(`Inspector ${action} for async run ${target.runId}${label} was cancelled while waiting for another inspector open or close to finish.`, true);
156
+ if (Date.now() >= deadline)
157
+ return result(`Another inspector open or close for async run ${target.runId}${label} is still in progress. Try again when it finishes.`, true);
158
+ await new Promise((resolve) => setTimeout(resolve, 50));
159
+ release = tryLease(lockPath);
160
+ }
161
+ try {
162
+ // The wait may end with the lease in the same tick the caller cancelled; never act for a cancelled caller.
163
+ if (deps.signal?.aborted)
164
+ return result(`Inspector ${action} for async run ${target.runId}${label} was cancelled while waiting for another inspector open or close to finish.`, true);
165
+ if (action === "inspector.open") {
166
+ for (const plugin of plugins) {
167
+ if (await plugin.available(context))
168
+ return await plugin.open(context, launchFor(target, deps), params);
169
+ }
170
+ return result("No inspector plugin is available. Start a supported inspector host, or use inspector.command for a standalone command.", true);
171
+ }
172
+ const owner = plugins.find((plugin) => plugin.owns(context));
173
+ if (!owner)
174
+ return result(`No inspector plugin owns this binding for async run ${target.runId}.`);
175
+ return owner.close
176
+ ? await owner.close(context)
177
+ : result(`Inspector plugin '${owner.name}' does not support close for async run ${target.runId}.`, true);
178
+ }
179
+ finally {
180
+ release();
181
+ }
154
182
  }
155
183
  //# sourceMappingURL=actions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/inspectors/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/inspectors/actions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../../src/inspectors/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAIpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,KAAK,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AAKnD,sFAAsF;AACtF,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,cAAc,GAAG,SAAS,eAAe,EAAE,CAElF;AAED,wGAAwG;AACxG,wBAAgB,8BAA8B,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,IAAI,CAyD7E"}
1
+ {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../../src/inspectors/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAKpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,KAAK,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AAKnD,sFAAsF;AACtF,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,cAAc,GAAG,SAAS,eAAe,EAAE,CAElF;AAED,wGAAwG;AACxG,wBAAgB,8BAA8B,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,IAAI,CAyD7E"}
@@ -1,12 +1,13 @@
1
1
  import { INSPECTOR_REGISTER_EVENT } from "../api/inspectors.js";
2
2
  import { createHerdrInspectorPlugin } from "./herdr/plugin.js";
3
3
  import { createGhosttyInspectorPlugin } from "./ghostty/plugin.js";
4
+ import { createTmuxInspectorPlugin } from "./tmux/plugin.js";
4
5
  // Keyed by event bus: a runtime that claims a registration can be replaced by a duplicate
5
6
  // pi-subagents runtime on the same bus, and the registration must survive that takeover.
6
7
  const registries = new WeakMap();
7
8
  /** Built-ins retain host preference; external providers follow registration order. */
8
9
  export function getInspectorPlugins(pi) {
9
- return [createHerdrInspectorPlugin(), createGhosttyInspectorPlugin(), ...(registries.get(pi.events)?.plugins.values() ?? [])];
10
+ return [createHerdrInspectorPlugin(), createGhosttyInspectorPlugin(), createTmuxInspectorPlugin(), ...(registries.get(pi.events)?.plugins.values() ?? [])];
10
11
  }
11
12
  /** Registrations live while any owner runtime listens on this bus; child runtimes use their own bus. */
12
13
  export function registerInspectorEventListener(pi) {
@@ -17,7 +18,7 @@ export function registerInspectorEventListener(pi) {
17
18
  }
18
19
  registry.owners += 1;
19
20
  const { plugins } = registry;
20
- const builtinNames = new Set([createHerdrInspectorPlugin().name, createGhosttyInspectorPlugin().name]);
21
+ const builtinNames = new Set([createHerdrInspectorPlugin().name, createGhosttyInspectorPlugin().name, createTmuxInspectorPlugin().name]);
21
22
  /* oxlint-disable anti-slop/no-runtime-typeof -- This listener validates the untyped event-bus boundary, including callable provider methods. */
22
23
  const unsubscribe = pi.events.on(INSPECTOR_REGISTER_EVENT, (rawRequest) => {
23
24
  if (!rawRequest || typeof rawRequest !== "object" || Array.isArray(rawRequest))
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../src/inspectors/plugins.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../src/inspectors/plugins.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { AgentToolResult } from "@earendil-works/pi-agent-core";
2
+ import type { Details } from "../../shared/types.ts";
3
+ import type { InspectorContext, InspectorLaunch, InspectorTarget } from "../types.ts";
4
+ import type { TmuxClient } from "./client.ts";
5
+ export interface TmuxInspectorBinding {
6
+ schemaVersion: 1;
7
+ kind: "tmux-inspector";
8
+ runId: string;
9
+ asyncDir: string;
10
+ childIndex?: number;
11
+ paneId: string;
12
+ serverPid?: string;
13
+ openedAt: string;
14
+ tmuxVersion?: string;
15
+ missionId?: string;
16
+ missionPath?: string;
17
+ command: string;
18
+ }
19
+ export declare function bindingPath(asyncDir: string, index?: number): string;
20
+ export declare function readTmuxInspectorBinding(asyncDir: string, index?: number): TmuxInspectorBinding | undefined;
21
+ /** Read a binding only when it belongs to the requested inspector target. */
22
+ export declare function readTmuxInspectorBindingForTarget(target: InspectorTarget): TmuxInspectorBinding | undefined;
23
+ export declare function openTmuxInspector(context: InspectorContext, launch: InspectorLaunch, focus: boolean, client: TmuxClient): Promise<AgentToolResult<Details>>;
24
+ export declare function statusTmuxInspector(context: InspectorContext, client: TmuxClient): Promise<AgentToolResult<Details>>;
25
+ export declare function closeTmuxInspector(context: InspectorContext, client: TmuxClient): Promise<AgentToolResult<Details>>;
26
+ //# sourceMappingURL=actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../../src/inspectors/tmux/actions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,aAAa,CAAC;AAE7D,MAAM,WAAW,oBAAoB;IACpC,aAAa,EAAE,CAAC,CAAC;IACjB,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAEpE;AAiBD,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAM3G;AAED,6EAA6E;AAC7E,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,eAAe,GAAG,oBAAoB,GAAG,SAAS,CAS3G;AAwCD,wBAAsB,iBAAiB,CACtC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,UAAU,GAChB,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CA8DnC;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAe1H;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAiBzH"}