@bastani/atomic 0.9.13-alpha.1 → 0.9.13-alpha.3

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 (1174) hide show
  1. package/CHANGELOG.md +144 -0
  2. package/README.md +36 -18
  3. package/dist/builtin/i-have-adhd/CHANGELOG.md +17 -0
  4. package/dist/builtin/i-have-adhd/LICENSE +21 -0
  5. package/dist/builtin/i-have-adhd/README.md +18 -0
  6. package/dist/builtin/i-have-adhd/index.ts +238 -0
  7. package/dist/builtin/i-have-adhd/package.json +56 -0
  8. package/dist/builtin/i-have-adhd/skills/i-have-adhd/SKILL.md +140 -0
  9. package/dist/builtin/intercom/CHANGELOG.md +33 -0
  10. package/dist/builtin/intercom/README.md +36 -15
  11. package/dist/builtin/intercom/broker/bounded-stderr-install.ts +18 -0
  12. package/dist/builtin/intercom/broker/bounded-stderr.ts +132 -0
  13. package/dist/builtin/intercom/broker/broker.ts +12 -23
  14. package/dist/builtin/intercom/broker/client.ts +70 -3
  15. package/dist/builtin/intercom/broker/paths.ts +9 -0
  16. package/dist/builtin/intercom/broker/presence-handler.ts +103 -0
  17. package/dist/builtin/intercom/broker/spawn.ts +128 -29
  18. package/dist/builtin/intercom/foreground-detach-handoff.ts +30 -14
  19. package/dist/builtin/intercom/group.ts +64 -25
  20. package/dist/builtin/intercom/incoming-message-delivery.ts +1 -1
  21. package/dist/builtin/intercom/index-heavy.ts +38 -5
  22. package/dist/builtin/intercom/index.ts +8 -4
  23. package/dist/builtin/intercom/intercom-tool.ts +83 -6
  24. package/dist/builtin/intercom/intercom-utils.ts +3 -6
  25. package/dist/builtin/intercom/lazy-subagent-ack.ts +11 -6
  26. package/dist/builtin/intercom/package.json +2 -3
  27. package/dist/builtin/intercom/result-renderers.ts +1 -1
  28. package/dist/builtin/intercom/runtime-group.ts +13 -0
  29. package/dist/builtin/intercom/session-target.ts +1 -15
  30. package/dist/builtin/intercom/skills/intercom/SKILL.md +35 -7
  31. package/dist/builtin/intercom/subagent-relay.ts +32 -16
  32. package/dist/builtin/intercom/terminal-ordering-barrier.ts +23 -6
  33. package/dist/builtin/intercom/types.ts +3 -1
  34. package/dist/builtin/intercom/ui/compose.ts +8 -6
  35. package/dist/builtin/intercom/ui/inline-message.ts +7 -5
  36. package/dist/builtin/intercom/ui/session-list.ts +30 -15
  37. package/dist/builtin/mcp/CHANGELOG.md +13 -0
  38. package/dist/builtin/mcp/glimpse-ui.ts +2 -1
  39. package/dist/builtin/mcp/index.ts +1 -11
  40. package/dist/builtin/mcp/mcp-panel.ts +35 -34
  41. package/dist/builtin/mcp/mcp-setup-panel.ts +35 -33
  42. package/dist/builtin/mcp/npx-resolver.ts +3 -2
  43. package/dist/builtin/mcp/package.json +3 -3
  44. package/dist/builtin/mcp/sampling-handler.ts +5 -1
  45. package/dist/builtin/mcp/server-manager.ts +4 -7
  46. package/dist/builtin/subagents/CHANGELOG.md +52 -0
  47. package/dist/builtin/subagents/README.md +140 -383
  48. package/dist/builtin/subagents/agents/worker.md +1 -1
  49. package/dist/builtin/subagents/package.json +5 -5
  50. package/dist/builtin/subagents/prompts/parallel-cleanup.md +1 -1
  51. package/dist/builtin/subagents/prompts/parallel-context-build.md +2 -2
  52. package/dist/builtin/subagents/prompts/parallel-handoff-plan.md +4 -4
  53. package/dist/builtin/subagents/prompts/parallel-review.md +1 -1
  54. package/dist/builtin/subagents/prompts/review-loop.md +2 -2
  55. package/dist/builtin/subagents/skills/subagent/SKILL.md +55 -154
  56. package/dist/builtin/subagents/skills/tmux/SKILL.md +1 -1
  57. package/dist/builtin/subagents/src/agents/agent-discovery.ts +1 -29
  58. package/dist/builtin/subagents/src/agents/agent-loaders.ts +1 -40
  59. package/dist/builtin/subagents/src/agents/agent-management-helpers.ts +6 -135
  60. package/dist/builtin/subagents/src/agents/agent-management.ts +52 -282
  61. package/dist/builtin/subagents/src/agents/agent-paths.ts +0 -22
  62. package/dist/builtin/subagents/src/agents/agent-types.ts +0 -40
  63. package/dist/builtin/subagents/src/agents/agents.ts +0 -3
  64. package/dist/builtin/subagents/src/agents/identity.ts +2 -4
  65. package/dist/builtin/subagents/src/agents/skills-paths.ts +8 -1
  66. package/dist/builtin/subagents/src/extension/control-notices.ts +2 -3
  67. package/dist/builtin/subagents/src/extension/doctor.ts +4 -36
  68. package/dist/builtin/subagents/src/extension/fanout-child.ts +1 -17
  69. package/dist/builtin/subagents/src/extension/index.ts +18 -77
  70. package/dist/builtin/subagents/src/extension/notification-content.ts +1 -1
  71. package/dist/builtin/subagents/src/extension/prompt-guidance.ts +3 -3
  72. package/dist/builtin/subagents/src/extension/schemas.ts +3 -165
  73. package/dist/builtin/subagents/src/extension/startup-maintenance.ts +0 -2
  74. package/dist/builtin/subagents/src/extension/tool-description.ts +6 -16
  75. package/dist/builtin/subagents/src/intercom/intercom-bridge.ts +7 -3
  76. package/dist/builtin/subagents/src/intercom/result-intercom.ts +25 -68
  77. package/dist/builtin/subagents/src/intercom/supervisor-authorization.ts +9 -2
  78. package/dist/builtin/subagents/src/runs/{background → foreground}/completion-notification.ts +10 -5
  79. package/dist/builtin/subagents/src/runs/foreground/execution-updates.ts +0 -5
  80. package/dist/builtin/subagents/src/runs/foreground/execution.ts +1 -4
  81. package/dist/builtin/subagents/src/runs/foreground/inprocess-run-sync.ts +119 -80
  82. package/dist/builtin/subagents/src/runs/{background → foreground}/notify.ts +58 -22
  83. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-context.ts +22 -50
  84. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-input.ts +10 -173
  85. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel-task.ts +9 -4
  86. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel.ts +11 -2
  87. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-runtime.ts +0 -5
  88. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-single.ts +39 -22
  89. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-status.ts +36 -16
  90. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-types.ts +2 -19
  91. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-worktree.ts +1 -14
  92. package/dist/builtin/subagents/src/runs/foreground/subagent-executor.ts +150 -69
  93. package/dist/builtin/subagents/src/runs/inprocess/index.ts +1 -1
  94. package/dist/builtin/subagents/src/runs/inprocess/runner.ts +348 -94
  95. package/dist/builtin/subagents/src/runs/inprocess/runtime-support/nested-api.ts +0 -7
  96. package/dist/builtin/subagents/src/runs/inprocess/runtime-support/nested-core.ts +0 -10
  97. package/dist/builtin/subagents/src/runs/inprocess/runtime-support/nested-projection.ts +3 -110
  98. package/dist/builtin/subagents/src/runs/inprocess/runtime-support/nested-sanitize.ts +1 -7
  99. package/dist/builtin/subagents/src/runs/shared/intercom-group.ts +23 -7
  100. package/dist/builtin/subagents/src/runs/shared/parallel-utils.ts +0 -86
  101. package/dist/builtin/subagents/src/runs/shared/subagent-control.ts +1 -1
  102. package/dist/builtin/subagents/src/runs/shared/worktree.ts +7 -2
  103. package/dist/builtin/subagents/src/shared/formatters.ts +5 -61
  104. package/dist/builtin/subagents/src/shared/model-resolution.ts +78 -0
  105. package/dist/builtin/subagents/src/shared/settings.ts +14 -350
  106. package/dist/builtin/subagents/src/shared/status-format.ts +4 -11
  107. package/dist/builtin/subagents/src/shared/types-config.ts +30 -31
  108. package/dist/builtin/subagents/src/shared/types-depth.ts +30 -56
  109. package/dist/builtin/subagents/src/shared/types-nested.ts +127 -0
  110. package/dist/builtin/subagents/src/shared/types-results.ts +11 -66
  111. package/dist/builtin/subagents/src/shared/types-runtime.ts +0 -10
  112. package/dist/builtin/subagents/src/shared/types.ts +1 -1
  113. package/dist/builtin/subagents/src/shared/utils.ts +6 -109
  114. package/dist/builtin/subagents/src/slash/bridge-settlement.ts +87 -0
  115. package/dist/builtin/subagents/src/slash/prompt-template-bridge.ts +47 -7
  116. package/dist/builtin/subagents/src/slash/slash-bridge.ts +27 -7
  117. package/dist/builtin/subagents/src/slash/slash-commands.ts +44 -99
  118. package/dist/builtin/subagents/src/slash/slash-live-state.ts +1 -92
  119. package/dist/builtin/subagents/src/tui/render-event-formatting.ts +2 -285
  120. package/dist/builtin/subagents/src/tui/render-layout.ts +4 -4
  121. package/dist/builtin/subagents/src/tui/render-progress.ts +89 -0
  122. package/dist/builtin/subagents/src/tui/render-result-compact.ts +43 -71
  123. package/dist/builtin/subagents/src/tui/render-result.ts +41 -99
  124. package/dist/builtin/subagents/src/tui/render-stable-output.ts +1 -39
  125. package/dist/builtin/subagents/src/tui/render.ts +0 -2
  126. package/dist/builtin/web-access/CHANGELOG.md +14 -0
  127. package/dist/builtin/web-access/chrome-cookies.ts +3 -2
  128. package/dist/builtin/web-access/github-api.ts +7 -6
  129. package/dist/builtin/web-access/github-extract.ts +2 -1
  130. package/dist/builtin/web-access/package.json +3 -3
  131. package/dist/builtin/web-access/subprocess.ts +3 -1
  132. package/dist/builtin/web-access/summary-review.ts +2 -2
  133. package/dist/builtin/web-access/web-search-features.ts +38 -22
  134. package/dist/builtin/web-access/web-search-summary.ts +2 -2
  135. package/dist/builtin/workflows/CHANGELOG.md +57 -0
  136. package/dist/builtin/workflows/README.md +44 -4
  137. package/dist/builtin/workflows/builtin/open-claude-design-utils.ts +3 -0
  138. package/dist/builtin/workflows/builtin/ralph-models.ts +25 -20
  139. package/dist/builtin/workflows/builtin/shared-prompts.ts +5 -2
  140. package/dist/builtin/workflows/package.json +2 -2
  141. package/dist/builtin/workflows/src/durable/backend.ts +29 -1
  142. package/dist/builtin/workflows/src/durable/completed-catalog-stage-groups.ts +123 -28
  143. package/dist/builtin/workflows/src/durable/completed-catalog.ts +230 -23
  144. package/dist/builtin/workflows/src/durable/completed-subtree.ts +22 -7
  145. package/dist/builtin/workflows/src/durable/dbos-backend.ts +42 -24
  146. package/dist/builtin/workflows/src/durable/dbos-envelope.ts +2 -1
  147. package/dist/builtin/workflows/src/durable/dbos-metadata.ts +4 -0
  148. package/dist/builtin/workflows/src/durable/local-command.ts +2 -1
  149. package/dist/builtin/workflows/src/durable/run-timing.ts +28 -7
  150. package/dist/builtin/workflows/src/durable/scoped-backend.ts +4 -0
  151. package/dist/builtin/workflows/src/durable/targeted-inspection.ts +110 -0
  152. package/dist/builtin/workflows/src/durable/types.ts +17 -1
  153. package/dist/builtin/workflows/src/durable/workflow-child-result.ts +3 -1
  154. package/dist/builtin/workflows/src/engine/primitives/workflow.ts +1 -1
  155. package/dist/builtin/workflows/src/engine/run-durable-finalize.ts +10 -2
  156. package/dist/builtin/workflows/src/engine/run-durable-stage-session.ts +2 -2
  157. package/dist/builtin/workflows/src/engine/run-durable-topology.ts +9 -2
  158. package/dist/builtin/workflows/src/engine/runtime.ts +19 -2
  159. package/dist/builtin/workflows/src/extension/atomic-stage-session.ts +7 -1
  160. package/dist/builtin/workflows/src/extension/companions.ts +1 -1
  161. package/dist/builtin/workflows/src/extension/extension-runtime-state.ts +3 -0
  162. package/dist/builtin/workflows/src/extension/index.bundle.mjs +1624 -596
  163. package/dist/builtin/workflows/src/extension/lifecycle-notifications.ts +31 -3
  164. package/dist/builtin/workflows/src/extension/mcp.ts +13 -2
  165. package/dist/builtin/workflows/src/extension/render-result.ts +1 -0
  166. package/dist/builtin/workflows/src/extension/runtime-durable-resume.ts +6 -0
  167. package/dist/builtin/workflows/src/extension/ui-surface.ts +9 -20
  168. package/dist/builtin/workflows/src/extension/wiring.ts +33 -6
  169. package/dist/builtin/workflows/src/extension/workflow-command-registration.ts +6 -1
  170. package/dist/builtin/workflows/src/extension/workflow-ports.ts +14 -6
  171. package/dist/builtin/workflows/src/extension/workflow-prompts.ts +11 -6
  172. package/dist/builtin/workflows/src/extension/workflow-run-control-command.ts +8 -0
  173. package/dist/builtin/workflows/src/extension/workflow-targets.ts +18 -10
  174. package/dist/builtin/workflows/src/extension/workflow-tool-control.ts +2 -0
  175. package/dist/builtin/workflows/src/extension/workflow-tool-inspection.ts +31 -16
  176. package/dist/builtin/workflows/src/extension/workflow-tool-send.ts +75 -3
  177. package/dist/builtin/workflows/src/extension/workflow-tool.ts +53 -6
  178. package/dist/builtin/workflows/src/intercom/intercom-routing.ts +12 -6
  179. package/dist/builtin/workflows/src/intercom/result-intercom.ts +35 -4
  180. package/dist/builtin/workflows/src/runs/background/run-inspect.ts +5 -1
  181. package/dist/builtin/workflows/src/runs/background/status.ts +15 -0
  182. package/dist/builtin/workflows/src/runs/foreground/executor-abort.ts +11 -3
  183. package/dist/builtin/workflows/src/runs/foreground/executor-child-boundary.ts +2 -1
  184. package/dist/builtin/workflows/src/runs/foreground/executor-exit-manager.ts +26 -2
  185. package/dist/builtin/workflows/src/runs/foreground/executor-run-finalizers.ts +3 -2
  186. package/dist/builtin/workflows/src/runs/foreground/executor-stage-call.ts +94 -60
  187. package/dist/builtin/workflows/src/runs/foreground/executor-stage-context.ts +1 -1
  188. package/dist/builtin/workflows/src/runs/foreground/executor-stage-control.ts +7 -7
  189. package/dist/builtin/workflows/src/runs/foreground/executor-stage-factory.ts +25 -4
  190. package/dist/builtin/workflows/src/runs/foreground/executor-stage-types.ts +4 -1
  191. package/dist/builtin/workflows/src/runs/foreground/executor-types.ts +2 -0
  192. package/dist/builtin/workflows/src/runs/foreground/stage-runner-controller.ts +142 -4
  193. package/dist/builtin/workflows/src/runs/foreground/stage-runner-types.ts +2 -0
  194. package/dist/builtin/workflows/src/runs/foreground/stage-session-heartbeat.ts +88 -0
  195. package/dist/builtin/workflows/src/runs/shared/worktree-git-runner.ts +5 -2
  196. package/dist/builtin/workflows/src/runs/shared/worktree-setup.ts +2 -0
  197. package/dist/builtin/workflows/src/shared/authoring-contract-stage.d.ts +5 -3
  198. package/dist/builtin/workflows/src/shared/authoring-contract-stage.ts +5 -3
  199. package/dist/builtin/workflows/src/shared/graph-store-snapshot.ts +34 -2
  200. package/dist/builtin/workflows/src/shared/persistence-restore-helpers.ts +23 -6
  201. package/dist/builtin/workflows/src/shared/stage-ui-broker.ts +10 -4
  202. package/dist/builtin/workflows/src/shared/store-public-types.ts +4 -2
  203. package/dist/builtin/workflows/src/shared/store-types.ts +1 -1
  204. package/dist/builtin/workflows/src/shared/workflow-artifact-env.ts +21 -0
  205. package/dist/builtin/workflows/src/shared/workflow-artifacts.ts +2 -5
  206. package/dist/builtin/workflows/src/tui/dispatch-confirm.ts +37 -2
  207. package/dist/builtin/workflows/src/tui/graph-view-constants.ts +0 -15
  208. package/dist/builtin/workflows/src/tui/graph-view-graph-render.ts +38 -47
  209. package/dist/builtin/workflows/src/tui/graph-view-input.ts +48 -45
  210. package/dist/builtin/workflows/src/tui/graph-view-layout.ts +266 -0
  211. package/dist/builtin/workflows/src/tui/graph-view-render-helpers.ts +1 -86
  212. package/dist/builtin/workflows/src/tui/graph-view-render.ts +209 -91
  213. package/dist/builtin/workflows/src/tui/graph-view-state.ts +5 -7
  214. package/dist/builtin/workflows/src/tui/graph-view-types.ts +13 -7
  215. package/dist/builtin/workflows/src/tui/inline-form-editor.ts +8 -6
  216. package/dist/builtin/workflows/src/tui/inline-form-overlay.ts +2 -1
  217. package/dist/builtin/workflows/src/tui/inputs-overlay.ts +7 -4
  218. package/dist/builtin/workflows/src/tui/inputs-picker-input.ts +66 -0
  219. package/dist/builtin/workflows/src/tui/keybindings-adapter.ts +1 -0
  220. package/dist/builtin/workflows/src/tui/node-card.ts +1 -1
  221. package/dist/builtin/workflows/src/tui/overlay-adapter.ts +18 -46
  222. package/dist/builtin/workflows/src/tui/overlay-terminal-modes.ts +15 -26
  223. package/dist/builtin/workflows/src/tui/run-detail.ts +25 -12
  224. package/dist/builtin/workflows/src/tui/session-overlays.ts +5 -2
  225. package/dist/builtin/workflows/src/tui/session-picker.ts +27 -0
  226. package/dist/builtin/workflows/src/tui/stage-chat-view-footer-status.ts +5 -14
  227. package/dist/builtin/workflows/src/tui/stage-chat-view-input.ts +8 -7
  228. package/dist/builtin/workflows/src/tui/stage-chat-view-state.ts +12 -3
  229. package/dist/builtin/workflows/src/tui/stage-chat-view-types.ts +1 -11
  230. package/dist/builtin/workflows/src/tui/stage-chat-view.ts +0 -8
  231. package/dist/builtin/workflows/src/tui/status-list.ts +1 -0
  232. package/dist/builtin/workflows/src/tui/store-widget-installer.ts +2 -6
  233. package/dist/builtin/workflows/src/tui/workflow-attach-pane-types.ts +0 -15
  234. package/dist/builtin/workflows/src/tui/workflow-attach-pane.ts +2 -26
  235. package/dist/builtin/workflows/src/tui/workflow-resume-selector.ts +1 -0
  236. package/dist/builtin/workflows/src/tui/workflow-status.ts +3 -3
  237. package/dist/bun/split-loader.js +2 -0
  238. package/dist/bun/split-loader.js.map +1 -1
  239. package/dist/cli/args.d.ts.map +1 -1
  240. package/dist/cli/args.js +6 -2
  241. package/dist/cli/args.js.map +1 -1
  242. package/dist/cli/auth-check.d.ts +35 -0
  243. package/dist/cli/auth-check.d.ts.map +1 -0
  244. package/dist/cli/auth-check.js +100 -0
  245. package/dist/cli/auth-check.js.map +1 -0
  246. package/dist/cli/auth-command.d.ts +27 -0
  247. package/dist/cli/auth-command.d.ts.map +1 -0
  248. package/dist/cli/auth-command.js +150 -0
  249. package/dist/cli/auth-command.js.map +1 -0
  250. package/dist/cli/config-selector.js +2 -2
  251. package/dist/cli/config-selector.js.map +1 -1
  252. package/dist/cli/credential-print.d.ts +18 -23
  253. package/dist/cli/credential-print.d.ts.map +1 -1
  254. package/dist/cli/credential-print.js +42 -88
  255. package/dist/cli/credential-print.js.map +1 -1
  256. package/dist/cli/experimental/auth.d.ts +16 -0
  257. package/dist/cli/experimental/auth.d.ts.map +1 -0
  258. package/dist/cli/experimental/auth.js +13 -0
  259. package/dist/cli/experimental/auth.js.map +1 -0
  260. package/dist/cli/experimental/cli.d.ts +6 -0
  261. package/dist/cli/experimental/cli.d.ts.map +1 -0
  262. package/dist/cli/experimental/cli.js +5 -0
  263. package/dist/cli/experimental/cli.js.map +1 -0
  264. package/dist/cli/experimental/command-options.d.ts +17 -0
  265. package/dist/cli/experimental/command-options.d.ts.map +1 -0
  266. package/dist/cli/experimental/command-options.js +35 -0
  267. package/dist/cli/experimental/command-options.js.map +1 -0
  268. package/dist/cli/experimental/command.d.ts +63 -0
  269. package/dist/cli/experimental/command.d.ts.map +1 -0
  270. package/dist/cli/experimental/command.js +127 -0
  271. package/dist/cli/experimental/command.js.map +1 -0
  272. package/dist/cli/experimental/commands/client.d.ts +13 -0
  273. package/dist/cli/experimental/commands/client.d.ts.map +1 -0
  274. package/dist/cli/experimental/commands/client.js +25 -0
  275. package/dist/cli/experimental/commands/client.js.map +1 -0
  276. package/dist/cli/experimental/commands/pi.d.ts +15 -0
  277. package/dist/cli/experimental/commands/pi.d.ts.map +1 -0
  278. package/dist/cli/experimental/commands/pi.js +28 -0
  279. package/dist/cli/experimental/commands/pi.js.map +1 -0
  280. package/dist/cli/experimental/commands/server.d.ts +13 -0
  281. package/dist/cli/experimental/commands/server.d.ts.map +1 -0
  282. package/dist/cli/experimental/commands/server.js +25 -0
  283. package/dist/cli/experimental/commands/server.js.map +1 -0
  284. package/dist/cli/experimental/transport-address.d.ts +10 -0
  285. package/dist/cli/experimental/transport-address.d.ts.map +1 -0
  286. package/dist/cli/experimental/transport-address.js +38 -0
  287. package/dist/cli/experimental/transport-address.js.map +1 -0
  288. package/dist/cli/session-picker.js +2 -2
  289. package/dist/cli/session-picker.js.map +1 -1
  290. package/dist/cli/startup-ui.d.ts.map +1 -1
  291. package/dist/cli/startup-ui.js +4 -10
  292. package/dist/cli/startup-ui.js.map +1 -1
  293. package/dist/cli.js +2 -0
  294. package/dist/cli.js.map +1 -1
  295. package/dist/client/index.d.ts +3 -0
  296. package/dist/client/index.d.ts.map +1 -0
  297. package/dist/client/index.js +3 -0
  298. package/dist/client/index.js.map +1 -0
  299. package/dist/client/remote-session.d.ts +64 -0
  300. package/dist/client/remote-session.d.ts.map +1 -0
  301. package/dist/client/remote-session.js +351 -0
  302. package/dist/client/remote-session.js.map +1 -0
  303. package/dist/client/transcript.d.ts +12 -0
  304. package/dist/client/transcript.d.ts.map +1 -0
  305. package/dist/client/transcript.js +98 -0
  306. package/dist/client/transcript.js.map +1 -0
  307. package/dist/core/agent-session-auto-compaction.d.ts +17 -13
  308. package/dist/core/agent-session-auto-compaction.d.ts.map +1 -1
  309. package/dist/core/agent-session-auto-compaction.js +146 -64
  310. package/dist/core/agent-session-auto-compaction.js.map +1 -1
  311. package/dist/core/agent-session-bash.d.ts.map +1 -1
  312. package/dist/core/agent-session-bash.js +2 -0
  313. package/dist/core/agent-session-bash.js.map +1 -1
  314. package/dist/core/agent-session-compaction.d.ts +3 -6
  315. package/dist/core/agent-session-compaction.d.ts.map +1 -1
  316. package/dist/core/agent-session-compaction.js +64 -28
  317. package/dist/core/agent-session-compaction.js.map +1 -1
  318. package/dist/core/agent-session-events.d.ts +1 -11
  319. package/dist/core/agent-session-events.d.ts.map +1 -1
  320. package/dist/core/agent-session-events.js +28 -25
  321. package/dist/core/agent-session-events.js.map +1 -1
  322. package/dist/core/agent-session-export.d.ts.map +1 -1
  323. package/dist/core/agent-session-export.js +2 -1
  324. package/dist/core/agent-session-export.js.map +1 -1
  325. package/dist/core/agent-session-extension-bindings.d.ts.map +1 -1
  326. package/dist/core/agent-session-extension-bindings.js +4 -2
  327. package/dist/core/agent-session-extension-bindings.js.map +1 -1
  328. package/dist/core/agent-session-methods.d.ts +14 -6
  329. package/dist/core/agent-session-methods.d.ts.map +1 -1
  330. package/dist/core/agent-session-methods.js.map +1 -1
  331. package/dist/core/agent-session-models.d.ts +1 -0
  332. package/dist/core/agent-session-models.d.ts.map +1 -1
  333. package/dist/core/agent-session-models.js +11 -4
  334. package/dist/core/agent-session-models.js.map +1 -1
  335. package/dist/core/agent-session-post-tool-compaction.d.ts.map +1 -1
  336. package/dist/core/agent-session-post-tool-compaction.js +22 -6
  337. package/dist/core/agent-session-post-tool-compaction.js.map +1 -1
  338. package/dist/core/agent-session-prompt.d.ts.map +1 -1
  339. package/dist/core/agent-session-prompt.js +5 -0
  340. package/dist/core/agent-session-prompt.js.map +1 -1
  341. package/dist/core/agent-session-runtime-auth.d.ts.map +1 -1
  342. package/dist/core/agent-session-runtime-auth.js +3 -0
  343. package/dist/core/agent-session-runtime-auth.js.map +1 -1
  344. package/dist/core/agent-session-summary.d.ts +21 -0
  345. package/dist/core/agent-session-summary.d.ts.map +1 -0
  346. package/dist/core/agent-session-summary.js +156 -0
  347. package/dist/core/agent-session-summary.js.map +1 -0
  348. package/dist/core/agent-session-tool-hooks.d.ts.map +1 -1
  349. package/dist/core/agent-session-tool-hooks.js +25 -14
  350. package/dist/core/agent-session-tool-hooks.js.map +1 -1
  351. package/dist/core/agent-session-tool-registry.d.ts.map +1 -1
  352. package/dist/core/agent-session-tool-registry.js +4 -4
  353. package/dist/core/agent-session-tool-registry.js.map +1 -1
  354. package/dist/core/agent-session-transfer.d.ts.map +1 -1
  355. package/dist/core/agent-session-transfer.js +0 -2
  356. package/dist/core/agent-session-transfer.js.map +1 -1
  357. package/dist/core/agent-session-tree.d.ts.map +1 -1
  358. package/dist/core/agent-session-tree.js +6 -0
  359. package/dist/core/agent-session-tree.js.map +1 -1
  360. package/dist/core/agent-session-types.d.ts +2 -0
  361. package/dist/core/agent-session-types.d.ts.map +1 -1
  362. package/dist/core/agent-session-types.js.map +1 -1
  363. package/dist/core/agent-session.d.ts +13 -3
  364. package/dist/core/agent-session.d.ts.map +1 -1
  365. package/dist/core/agent-session.js +38 -5
  366. package/dist/core/agent-session.js.map +1 -1
  367. package/dist/core/atomic-guide-command.d.ts.map +1 -1
  368. package/dist/core/atomic-guide-command.js +4 -5
  369. package/dist/core/atomic-guide-command.js.map +1 -1
  370. package/dist/core/auth-storage.d.ts +18 -1
  371. package/dist/core/auth-storage.d.ts.map +1 -1
  372. package/dist/core/auth-storage.js +83 -0
  373. package/dist/core/auth-storage.js.map +1 -1
  374. package/dist/core/bash-executor.d.ts +5 -0
  375. package/dist/core/bash-executor.d.ts.map +1 -1
  376. package/dist/core/bash-executor.js +43 -19
  377. package/dist/core/bash-executor.js.map +1 -1
  378. package/dist/core/builtin-packages.d.ts.map +1 -1
  379. package/dist/core/builtin-packages.js +6 -0
  380. package/dist/core/builtin-packages.js.map +1 -1
  381. package/dist/core/codex-fast-mode.d.ts.map +1 -1
  382. package/dist/core/codex-fast-mode.js +8 -3
  383. package/dist/core/codex-fast-mode.js.map +1 -1
  384. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  385. package/dist/core/compaction/branch-summarization.js +1 -0
  386. package/dist/core/compaction/branch-summarization.js.map +1 -1
  387. package/dist/core/compaction/index.d.ts +1 -0
  388. package/dist/core/compaction/index.d.ts.map +1 -1
  389. package/dist/core/compaction/index.js +1 -0
  390. package/dist/core/compaction/index.js.map +1 -1
  391. package/dist/core/compaction/session-summarization.d.ts +41 -0
  392. package/dist/core/compaction/session-summarization.d.ts.map +1 -0
  393. package/dist/core/compaction/session-summarization.js +97 -0
  394. package/dist/core/compaction/session-summarization.js.map +1 -0
  395. package/dist/core/exec.d.ts.map +1 -1
  396. package/dist/core/exec.js +4 -3
  397. package/dist/core/exec.js.map +1 -1
  398. package/dist/core/extensions/agent-events.d.ts +0 -1
  399. package/dist/core/extensions/agent-events.d.ts.map +1 -1
  400. package/dist/core/extensions/agent-events.js.map +1 -1
  401. package/dist/core/extensions/api-types.d.ts +5 -3
  402. package/dist/core/extensions/api-types.d.ts.map +1 -1
  403. package/dist/core/extensions/api-types.js.map +1 -1
  404. package/dist/core/extensions/context-types.d.ts +15 -0
  405. package/dist/core/extensions/context-types.d.ts.map +1 -1
  406. package/dist/core/extensions/context-types.js.map +1 -1
  407. package/dist/core/extensions/event-results.d.ts +5 -0
  408. package/dist/core/extensions/event-results.d.ts.map +1 -1
  409. package/dist/core/extensions/event-results.js.map +1 -1
  410. package/dist/core/extensions/index.d.ts +2 -1
  411. package/dist/core/extensions/index.d.ts.map +1 -1
  412. package/dist/core/extensions/index.js +1 -0
  413. package/dist/core/extensions/index.js.map +1 -1
  414. package/dist/core/extensions/loader-api.d.ts.map +1 -1
  415. package/dist/core/extensions/loader-api.js +14 -1
  416. package/dist/core/extensions/loader-api.js.map +1 -1
  417. package/dist/core/extensions/loader-discovery.d.ts.map +1 -1
  418. package/dist/core/extensions/loader-discovery.js +3 -23
  419. package/dist/core/extensions/loader-discovery.js.map +1 -1
  420. package/dist/core/extensions/loader-runtime.d.ts.map +1 -1
  421. package/dist/core/extensions/loader-runtime.js +20 -3
  422. package/dist/core/extensions/loader-runtime.js.map +1 -1
  423. package/dist/core/extensions/loader-virtual-modules.d.ts.map +1 -1
  424. package/dist/core/extensions/loader-virtual-modules.js +7 -1
  425. package/dist/core/extensions/loader-virtual-modules.js.map +1 -1
  426. package/dist/core/extensions/message-types.d.ts +6 -0
  427. package/dist/core/extensions/message-types.d.ts.map +1 -1
  428. package/dist/core/extensions/message-types.js.map +1 -1
  429. package/dist/core/extensions/provider-types.d.ts +9 -3
  430. package/dist/core/extensions/provider-types.d.ts.map +1 -1
  431. package/dist/core/extensions/provider-types.js.map +1 -1
  432. package/dist/core/extensions/runner-registries.d.ts +2 -1
  433. package/dist/core/extensions/runner-registries.d.ts.map +1 -1
  434. package/dist/core/extensions/runner-registries.js +3 -0
  435. package/dist/core/extensions/runner-registries.js.map +1 -1
  436. package/dist/core/extensions/runner-ui.d.ts.map +1 -1
  437. package/dist/core/extensions/runner-ui.js +1 -0
  438. package/dist/core/extensions/runner-ui.js.map +1 -1
  439. package/dist/core/extensions/runner.d.ts +2 -1
  440. package/dist/core/extensions/runner.d.ts.map +1 -1
  441. package/dist/core/extensions/runner.js +6 -2
  442. package/dist/core/extensions/runner.js.map +1 -1
  443. package/dist/core/extensions/runtime-types.d.ts +4 -1
  444. package/dist/core/extensions/runtime-types.d.ts.map +1 -1
  445. package/dist/core/extensions/runtime-types.js.map +1 -1
  446. package/dist/core/extensions/stale-context.d.ts +5 -0
  447. package/dist/core/extensions/stale-context.d.ts.map +1 -0
  448. package/dist/core/extensions/stale-context.js +11 -0
  449. package/dist/core/extensions/stale-context.js.map +1 -0
  450. package/dist/core/extensions/ui-types.d.ts +16 -11
  451. package/dist/core/extensions/ui-types.d.ts.map +1 -1
  452. package/dist/core/extensions/ui-types.js.map +1 -1
  453. package/dist/core/footer-data-provider.d.ts.map +1 -1
  454. package/dist/core/footer-data-provider.js +3 -2
  455. package/dist/core/footer-data-provider.js.map +1 -1
  456. package/dist/core/index.d.ts +1 -1
  457. package/dist/core/index.d.ts.map +1 -1
  458. package/dist/core/index.js.map +1 -1
  459. package/dist/core/intercom-runtime-group.d.ts +13 -0
  460. package/dist/core/intercom-runtime-group.d.ts.map +1 -0
  461. package/dist/core/intercom-runtime-group.js +23 -0
  462. package/dist/core/intercom-runtime-group.js.map +1 -0
  463. package/dist/core/keybindings.d.ts +44 -4
  464. package/dist/core/keybindings.d.ts.map +1 -1
  465. package/dist/core/model-config.d.ts +39 -5
  466. package/dist/core/model-config.d.ts.map +1 -1
  467. package/dist/core/model-config.js +6 -0
  468. package/dist/core/model-config.js.map +1 -1
  469. package/dist/core/model-registry.d.ts +12 -5
  470. package/dist/core/model-registry.d.ts.map +1 -1
  471. package/dist/core/model-registry.js +20 -12
  472. package/dist/core/model-registry.js.map +1 -1
  473. package/dist/core/model-resolver-cli.d.ts.map +1 -1
  474. package/dist/core/model-resolver-cli.js +46 -14
  475. package/dist/core/model-resolver-cli.js.map +1 -1
  476. package/dist/core/model-resolver-defaults.d.ts.map +1 -1
  477. package/dist/core/model-resolver-defaults.js +2 -0
  478. package/dist/core/model-resolver-defaults.js.map +1 -1
  479. package/dist/core/model-resolver-scope.d.ts +2 -0
  480. package/dist/core/model-resolver-scope.d.ts.map +1 -1
  481. package/dist/core/model-resolver-scope.js +12 -9
  482. package/dist/core/model-resolver-scope.js.map +1 -1
  483. package/dist/core/model-resolver.d.ts +1 -1
  484. package/dist/core/model-resolver.d.ts.map +1 -1
  485. package/dist/core/model-resolver.js +1 -1
  486. package/dist/core/model-resolver.js.map +1 -1
  487. package/dist/core/model-runtime-snapshot.d.ts +10 -0
  488. package/dist/core/model-runtime-snapshot.d.ts.map +1 -1
  489. package/dist/core/model-runtime-snapshot.js +14 -1
  490. package/dist/core/model-runtime-snapshot.js.map +1 -1
  491. package/dist/core/model-runtime-streaming.d.ts +3 -1
  492. package/dist/core/model-runtime-streaming.d.ts.map +1 -1
  493. package/dist/core/model-runtime-streaming.js +16 -0
  494. package/dist/core/model-runtime-streaming.js.map +1 -1
  495. package/dist/core/model-runtime-types.d.ts +2 -0
  496. package/dist/core/model-runtime-types.d.ts.map +1 -1
  497. package/dist/core/model-runtime-types.js.map +1 -1
  498. package/dist/core/model-runtime.d.ts +37 -10
  499. package/dist/core/model-runtime.d.ts.map +1 -1
  500. package/dist/core/model-runtime.js +312 -113
  501. package/dist/core/model-runtime.js.map +1 -1
  502. package/dist/core/oauth-login.d.ts.map +1 -1
  503. package/dist/core/oauth-login.js +2 -1
  504. package/dist/core/oauth-login.js.map +1 -1
  505. package/dist/core/openai-responses-payload-sanitizer.d.ts.map +1 -1
  506. package/dist/core/openai-responses-payload-sanitizer.js +18 -2
  507. package/dist/core/openai-responses-payload-sanitizer.js.map +1 -1
  508. package/dist/core/package-manager-git.d.ts.map +1 -1
  509. package/dist/core/package-manager-git.js +56 -10
  510. package/dist/core/package-manager-git.js.map +1 -1
  511. package/dist/core/package-manager-manifest.d.ts +1 -1
  512. package/dist/core/package-manager-manifest.d.ts.map +1 -1
  513. package/dist/core/package-manager-manifest.js +19 -9
  514. package/dist/core/package-manager-manifest.js.map +1 -1
  515. package/dist/core/package-manager-resource-collector.js.map +1 -1
  516. package/dist/core/package-manager-resource-files.d.ts.map +1 -1
  517. package/dist/core/package-manager-resource-files.js +1 -2
  518. package/dist/core/package-manager-resource-files.js.map +1 -1
  519. package/dist/core/provider-composer-internal.d.ts +10 -2
  520. package/dist/core/provider-composer-internal.d.ts.map +1 -1
  521. package/dist/core/provider-composer-internal.js +7 -3
  522. package/dist/core/provider-composer-internal.js.map +1 -1
  523. package/dist/core/provider-composer.d.ts.map +1 -1
  524. package/dist/core/provider-composer.js +19 -12
  525. package/dist/core/provider-composer.js.map +1 -1
  526. package/dist/core/provider-display-names.d.ts.map +1 -1
  527. package/dist/core/provider-display-names.js +2 -0
  528. package/dist/core/provider-display-names.js.map +1 -1
  529. package/dist/core/remote-catalog-provider.d.ts.map +1 -1
  530. package/dist/core/remote-catalog-provider.js +77 -67
  531. package/dist/core/remote-catalog-provider.js.map +1 -1
  532. package/dist/core/resolve-config-value.d.ts.map +1 -1
  533. package/dist/core/resolve-config-value.js +3 -0
  534. package/dist/core/resolve-config-value.js.map +1 -1
  535. package/dist/core/resource-loader-context-files.d.ts.map +1 -1
  536. package/dist/core/resource-loader-context-files.js +13 -5
  537. package/dist/core/resource-loader-context-files.js.map +1 -1
  538. package/dist/core/runtime-credentials.d.ts +5 -5
  539. package/dist/core/runtime-credentials.d.ts.map +1 -1
  540. package/dist/core/runtime-credentials.js +8 -8
  541. package/dist/core/runtime-credentials.js.map +1 -1
  542. package/dist/core/session-manager-core.d.ts +3 -1
  543. package/dist/core/session-manager-core.d.ts.map +1 -1
  544. package/dist/core/session-manager-core.js +9 -1
  545. package/dist/core/session-manager-core.js.map +1 -1
  546. package/dist/core/session-manager-entries.d.ts +24 -1
  547. package/dist/core/session-manager-entries.d.ts.map +1 -1
  548. package/dist/core/session-manager-entries.js +48 -0
  549. package/dist/core/session-manager-entries.js.map +1 -1
  550. package/dist/core/session-manager-list.d.ts.map +1 -1
  551. package/dist/core/session-manager-list.js +13 -1
  552. package/dist/core/session-manager-list.js.map +1 -1
  553. package/dist/core/session-manager-types.d.ts +10 -1
  554. package/dist/core/session-manager-types.d.ts.map +1 -1
  555. package/dist/core/session-manager-types.js.map +1 -1
  556. package/dist/core/settings-manager-basic-accessors.d.ts +3 -0
  557. package/dist/core/settings-manager-basic-accessors.d.ts.map +1 -1
  558. package/dist/core/settings-manager-basic-accessors.js +5 -0
  559. package/dist/core/settings-manager-basic-accessors.js.map +1 -1
  560. package/dist/core/settings-manager-ui-accessors.d.ts +8 -1
  561. package/dist/core/settings-manager-ui-accessors.d.ts.map +1 -1
  562. package/dist/core/settings-manager-ui-accessors.js +31 -0
  563. package/dist/core/settings-manager-ui-accessors.js.map +1 -1
  564. package/dist/core/settings-manager.d.ts +2 -1
  565. package/dist/core/settings-manager.d.ts.map +1 -1
  566. package/dist/core/settings-manager.js.map +1 -1
  567. package/dist/core/settings-merge.d.ts.map +1 -1
  568. package/dist/core/settings-merge.js +13 -16
  569. package/dist/core/settings-merge.js.map +1 -1
  570. package/dist/core/settings-types.d.ts +9 -0
  571. package/dist/core/settings-types.d.ts.map +1 -1
  572. package/dist/core/settings-types.js.map +1 -1
  573. package/dist/core/slash-commands.d.ts.map +1 -1
  574. package/dist/core/slash-commands.js +2 -4
  575. package/dist/core/slash-commands.js.map +1 -1
  576. package/dist/core/tools/ask-user-question/state/questionnaire-session.d.ts +2 -2
  577. package/dist/core/tools/ask-user-question/state/questionnaire-session.d.ts.map +1 -1
  578. package/dist/core/tools/ask-user-question/state/questionnaire-session.js +39 -2
  579. package/dist/core/tools/ask-user-question/state/questionnaire-session.js.map +1 -1
  580. package/dist/core/tools/bash-pty-native.d.ts.map +1 -1
  581. package/dist/core/tools/bash-pty-native.js +2 -1
  582. package/dist/core/tools/bash-pty-native.js.map +1 -1
  583. package/dist/core/tools/bash.d.ts +9 -15
  584. package/dist/core/tools/bash.d.ts.map +1 -1
  585. package/dist/core/tools/bash.js +36 -96
  586. package/dist/core/tools/bash.js.map +1 -1
  587. package/dist/core/tools/directory-tree.d.ts +11 -0
  588. package/dist/core/tools/directory-tree.d.ts.map +1 -1
  589. package/dist/core/tools/directory-tree.js +26 -0
  590. package/dist/core/tools/directory-tree.js.map +1 -1
  591. package/dist/core/tools/edit.d.ts +4 -0
  592. package/dist/core/tools/edit.d.ts.map +1 -1
  593. package/dist/core/tools/edit.js +12 -8
  594. package/dist/core/tools/edit.js.map +1 -1
  595. package/dist/core/tools/errno.d.ts +25 -0
  596. package/dist/core/tools/errno.d.ts.map +1 -0
  597. package/dist/core/tools/errno.js +29 -0
  598. package/dist/core/tools/errno.js.map +1 -0
  599. package/dist/core/tools/fetch-url.d.ts +12 -0
  600. package/dist/core/tools/fetch-url.d.ts.map +1 -1
  601. package/dist/core/tools/fetch-url.js +76 -10
  602. package/dist/core/tools/fetch-url.js.map +1 -1
  603. package/dist/core/tools/find.d.ts +8 -1
  604. package/dist/core/tools/find.d.ts.map +1 -1
  605. package/dist/core/tools/find.js +20 -15
  606. package/dist/core/tools/find.js.map +1 -1
  607. package/dist/core/tools/grep.d.ts.map +1 -1
  608. package/dist/core/tools/grep.js +5 -1
  609. package/dist/core/tools/grep.js.map +1 -1
  610. package/dist/core/tools/index.d.ts +7 -7
  611. package/dist/core/tools/index.d.ts.map +1 -1
  612. package/dist/core/tools/index.js +11 -11
  613. package/dist/core/tools/index.js.map +1 -1
  614. package/dist/core/tools/ls.d.ts +4 -0
  615. package/dist/core/tools/ls.d.ts.map +1 -1
  616. package/dist/core/tools/ls.js +5 -1
  617. package/dist/core/tools/ls.js.map +1 -1
  618. package/dist/core/tools/output-accumulator.d.ts +8 -1
  619. package/dist/core/tools/output-accumulator.d.ts.map +1 -1
  620. package/dist/core/tools/output-accumulator.js +50 -28
  621. package/dist/core/tools/output-accumulator.js.map +1 -1
  622. package/dist/core/tools/oversized-tool-result.d.ts.map +1 -1
  623. package/dist/core/tools/oversized-tool-result.js +129 -22
  624. package/dist/core/tools/oversized-tool-result.js.map +1 -1
  625. package/dist/core/tools/persisted-output-file.d.ts +80 -0
  626. package/dist/core/tools/persisted-output-file.d.ts.map +1 -0
  627. package/dist/core/tools/persisted-output-file.js +284 -0
  628. package/dist/core/tools/persisted-output-file.js.map +1 -0
  629. package/dist/core/tools/read.d.ts +10 -0
  630. package/dist/core/tools/read.d.ts.map +1 -1
  631. package/dist/core/tools/read.js +20 -8
  632. package/dist/core/tools/read.js.map +1 -1
  633. package/dist/core/tools/search.d.ts +4 -0
  634. package/dist/core/tools/search.d.ts.map +1 -1
  635. package/dist/core/tools/search.js +5 -1
  636. package/dist/core/tools/search.js.map +1 -1
  637. package/dist/core/tools/session-temp-cleanup.d.ts +133 -0
  638. package/dist/core/tools/session-temp-cleanup.d.ts.map +1 -0
  639. package/dist/core/tools/session-temp-cleanup.js +669 -0
  640. package/dist/core/tools/session-temp-cleanup.js.map +1 -0
  641. package/dist/core/tools/session-temp-dir.d.ts +116 -0
  642. package/dist/core/tools/session-temp-dir.d.ts.map +1 -0
  643. package/dist/core/tools/session-temp-dir.js +408 -0
  644. package/dist/core/tools/session-temp-dir.js.map +1 -0
  645. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
  646. package/dist/core/tools/tool-definition-wrapper.js +2 -0
  647. package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
  648. package/dist/core/tools/tool-limits.d.ts +11 -0
  649. package/dist/core/tools/tool-limits.d.ts.map +1 -1
  650. package/dist/core/tools/tool-limits.js +11 -0
  651. package/dist/core/tools/tool-limits.js.map +1 -1
  652. package/dist/core/tools/windows-directory-security.d.ts +82 -0
  653. package/dist/core/tools/windows-directory-security.d.ts.map +1 -0
  654. package/dist/core/tools/windows-directory-security.js +238 -0
  655. package/dist/core/tools/windows-directory-security.js.map +1 -0
  656. package/dist/core/tools/write.d.ts +4 -0
  657. package/dist/core/tools/write.d.ts.map +1 -1
  658. package/dist/core/tools/write.js +8 -4
  659. package/dist/core/tools/write.js.map +1 -1
  660. package/dist/core/trust-manager.js +1 -1
  661. package/dist/core/trust-manager.js.map +1 -1
  662. package/dist/core/usage-totals.js +1 -1
  663. package/dist/core/usage-totals.js.map +1 -1
  664. package/dist/extensions/llama/huggingface-ui.d.ts +1 -1
  665. package/dist/extensions/llama/huggingface-ui.d.ts.map +1 -1
  666. package/dist/extensions/llama/huggingface-ui.js +6 -5
  667. package/dist/extensions/llama/huggingface-ui.js.map +1 -1
  668. package/dist/extensions/llama/index.d.ts.map +1 -1
  669. package/dist/extensions/llama/index.js +11 -2
  670. package/dist/extensions/llama/index.js.map +1 -1
  671. package/dist/extensions/llama/provider.d.ts.map +1 -1
  672. package/dist/extensions/llama/provider.js +24 -8
  673. package/dist/extensions/llama/provider.js.map +1 -1
  674. package/dist/extensions/llama/ui.d.ts.map +1 -1
  675. package/dist/extensions/llama/ui.js +5 -2
  676. package/dist/extensions/llama/ui.js.map +1 -1
  677. package/dist/index-extensions.d.ts +2 -2
  678. package/dist/index-extensions.d.ts.map +1 -1
  679. package/dist/index-extensions.js +1 -1
  680. package/dist/index-extensions.js.map +1 -1
  681. package/dist/index.d.ts +5 -2
  682. package/dist/index.d.ts.map +1 -1
  683. package/dist/index.js +6 -2
  684. package/dist/index.js.map +1 -1
  685. package/dist/main-runtime-api-key.d.ts +2 -2
  686. package/dist/main-runtime-api-key.d.ts.map +1 -1
  687. package/dist/main-runtime-api-key.js +7 -2
  688. package/dist/main-runtime-api-key.js.map +1 -1
  689. package/dist/main-session.js +2 -2
  690. package/dist/main-session.js.map +1 -1
  691. package/dist/main.d.ts.map +1 -1
  692. package/dist/main.js +130 -26
  693. package/dist/main.js.map +1 -1
  694. package/dist/modes/index.d.ts +1 -0
  695. package/dist/modes/index.d.ts.map +1 -1
  696. package/dist/modes/index.js.map +1 -1
  697. package/dist/modes/interactive/components/assistant-message.d.ts +6 -2
  698. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  699. package/dist/modes/interactive/components/assistant-message.js +18 -5
  700. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  701. package/dist/modes/interactive/components/bordered-loader.d.ts +1 -1
  702. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
  703. package/dist/modes/interactive/components/bordered-loader.js +5 -4
  704. package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
  705. package/dist/modes/interactive/components/branch-summary-message.d.ts +2 -1
  706. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
  707. package/dist/modes/interactive/components/branch-summary-message.js +3 -2
  708. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
  709. package/dist/modes/interactive/components/chat-message-renderer.d.ts +17 -7
  710. package/dist/modes/interactive/components/chat-message-renderer.d.ts.map +1 -1
  711. package/dist/modes/interactive/components/chat-message-renderer.js +35 -69
  712. package/dist/modes/interactive/components/chat-message-renderer.js.map +1 -1
  713. package/dist/modes/interactive/components/chat-session-host-actions.d.ts.map +1 -1
  714. package/dist/modes/interactive/components/chat-session-host-actions.js +11 -3
  715. package/dist/modes/interactive/components/chat-session-host-actions.js.map +1 -1
  716. package/dist/modes/interactive/components/chat-session-host-events.d.ts.map +1 -1
  717. package/dist/modes/interactive/components/chat-session-host-events.js +25 -15
  718. package/dist/modes/interactive/components/chat-session-host-events.js.map +1 -1
  719. package/dist/modes/interactive/components/chat-session-host-rendering.d.ts.map +1 -1
  720. package/dist/modes/interactive/components/chat-session-host-rendering.js +9 -4
  721. package/dist/modes/interactive/components/chat-session-host-rendering.js.map +1 -1
  722. package/dist/modes/interactive/components/chat-session-host-state.d.ts +2 -0
  723. package/dist/modes/interactive/components/chat-session-host-state.d.ts.map +1 -1
  724. package/dist/modes/interactive/components/chat-session-host-state.js +2 -0
  725. package/dist/modes/interactive/components/chat-session-host-state.js.map +1 -1
  726. package/dist/modes/interactive/components/chat-session-host.d.ts +9 -0
  727. package/dist/modes/interactive/components/chat-session-host.d.ts.map +1 -1
  728. package/dist/modes/interactive/components/chat-session-host.js +14 -0
  729. package/dist/modes/interactive/components/chat-session-host.js.map +1 -1
  730. package/dist/modes/interactive/components/chat-transcript.d.ts +32 -0
  731. package/dist/modes/interactive/components/chat-transcript.d.ts.map +1 -1
  732. package/dist/modes/interactive/components/chat-transcript.js +173 -5
  733. package/dist/modes/interactive/components/chat-transcript.js.map +1 -1
  734. package/dist/modes/interactive/components/config-selector-list.d.ts +1 -1
  735. package/dist/modes/interactive/components/config-selector-list.d.ts.map +1 -1
  736. package/dist/modes/interactive/components/config-selector-list.js +9 -8
  737. package/dist/modes/interactive/components/config-selector-list.js.map +1 -1
  738. package/dist/modes/interactive/components/custom-editor.d.ts +1 -1
  739. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
  740. package/dist/modes/interactive/components/custom-editor.js +32 -10
  741. package/dist/modes/interactive/components/custom-editor.js.map +1 -1
  742. package/dist/modes/interactive/components/custom-message.d.ts +2 -1
  743. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
  744. package/dist/modes/interactive/components/custom-message.js +3 -2
  745. package/dist/modes/interactive/components/custom-message.js.map +1 -1
  746. package/dist/modes/interactive/components/extension-editor.d.ts +1 -1
  747. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
  748. package/dist/modes/interactive/components/extension-editor.js +3 -2
  749. package/dist/modes/interactive/components/extension-editor.js.map +1 -1
  750. package/dist/modes/interactive/components/extension-input.d.ts +1 -1
  751. package/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
  752. package/dist/modes/interactive/components/extension-input.js +1 -0
  753. package/dist/modes/interactive/components/extension-input.js.map +1 -1
  754. package/dist/modes/interactive/components/extension-selector.d.ts +1 -1
  755. package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
  756. package/dist/modes/interactive/components/extension-selector.js +4 -0
  757. package/dist/modes/interactive/components/extension-selector.js.map +1 -1
  758. package/dist/modes/interactive/components/fast-mode-selector.d.ts +1 -1
  759. package/dist/modes/interactive/components/fast-mode-selector.d.ts.map +1 -1
  760. package/dist/modes/interactive/components/fast-mode-selector.js +7 -5
  761. package/dist/modes/interactive/components/fast-mode-selector.js.map +1 -1
  762. package/dist/modes/interactive/components/first-time-setup.d.ts +1 -1
  763. package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -1
  764. package/dist/modes/interactive/components/first-time-setup.js +3 -0
  765. package/dist/modes/interactive/components/first-time-setup.js.map +1 -1
  766. package/dist/modes/interactive/components/footer.js +2 -2
  767. package/dist/modes/interactive/components/footer.js.map +1 -1
  768. package/dist/modes/interactive/components/host-input-form.d.ts +1 -1
  769. package/dist/modes/interactive/components/host-input-form.d.ts.map +1 -1
  770. package/dist/modes/interactive/components/host-input-form.js +6 -5
  771. package/dist/modes/interactive/components/host-input-form.js.map +1 -1
  772. package/dist/modes/interactive/components/host-session-picker.d.ts.map +1 -1
  773. package/dist/modes/interactive/components/host-session-picker.js +1 -0
  774. package/dist/modes/interactive/components/host-session-picker.js.map +1 -1
  775. package/dist/modes/interactive/components/index.d.ts +1 -1
  776. package/dist/modes/interactive/components/index.d.ts.map +1 -1
  777. package/dist/modes/interactive/components/index.js.map +1 -1
  778. package/dist/modes/interactive/components/login-dialog.d.ts +1 -1
  779. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  780. package/dist/modes/interactive/components/login-dialog.js +2 -1
  781. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  782. package/dist/modes/interactive/components/markdown-transform.d.ts +3 -0
  783. package/dist/modes/interactive/components/markdown-transform.d.ts.map +1 -0
  784. package/dist/modes/interactive/components/markdown-transform.js +19 -0
  785. package/dist/modes/interactive/components/markdown-transform.js.map +1 -0
  786. package/dist/modes/interactive/components/mermaid.d.ts +11 -0
  787. package/dist/modes/interactive/components/mermaid.d.ts.map +1 -0
  788. package/dist/modes/interactive/components/mermaid.js +81 -0
  789. package/dist/modes/interactive/components/mermaid.js.map +1 -0
  790. package/dist/modes/interactive/components/model-selector.d.ts +2 -2
  791. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  792. package/dist/modes/interactive/components/model-selector.js +9 -6
  793. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  794. package/dist/modes/interactive/components/oauth-selector.d.ts +1 -1
  795. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
  796. package/dist/modes/interactive/components/oauth-selector.js +3 -2
  797. package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
  798. package/dist/modes/interactive/components/scoped-models-selector.d.ts +6 -2
  799. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
  800. package/dist/modes/interactive/components/scoped-models-selector.js +39 -13
  801. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  802. package/dist/modes/interactive/components/session-selector-delete.d.ts.map +1 -1
  803. package/dist/modes/interactive/components/session-selector-delete.js +2 -1
  804. package/dist/modes/interactive/components/session-selector-delete.js.map +1 -1
  805. package/dist/modes/interactive/components/session-selector-list.d.ts +1 -1
  806. package/dist/modes/interactive/components/session-selector-list.d.ts.map +1 -1
  807. package/dist/modes/interactive/components/session-selector-list.js +41 -15
  808. package/dist/modes/interactive/components/session-selector-list.js.map +1 -1
  809. package/dist/modes/interactive/components/session-selector-search.js +1 -1
  810. package/dist/modes/interactive/components/session-selector-search.js.map +1 -1
  811. package/dist/modes/interactive/components/session-selector.d.ts +1 -1
  812. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  813. package/dist/modes/interactive/components/session-selector.js +3 -3
  814. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  815. package/dist/modes/interactive/components/settings-selector-handlers.d.ts.map +1 -1
  816. package/dist/modes/interactive/components/settings-selector-handlers.js +9 -0
  817. package/dist/modes/interactive/components/settings-selector-handlers.js.map +1 -1
  818. package/dist/modes/interactive/components/settings-selector-items.d.ts.map +1 -1
  819. package/dist/modes/interactive/components/settings-selector-items.js +21 -0
  820. package/dist/modes/interactive/components/settings-selector-items.js.map +1 -1
  821. package/dist/modes/interactive/components/settings-selector-submenus.d.ts +3 -3
  822. package/dist/modes/interactive/components/settings-selector-submenus.d.ts.map +1 -1
  823. package/dist/modes/interactive/components/settings-selector-submenus.js +6 -1
  824. package/dist/modes/interactive/components/settings-selector-submenus.js.map +1 -1
  825. package/dist/modes/interactive/components/settings-selector-types.d.ts +8 -1
  826. package/dist/modes/interactive/components/settings-selector-types.d.ts.map +1 -1
  827. package/dist/modes/interactive/components/settings-selector-types.js.map +1 -1
  828. package/dist/modes/interactive/components/skill-invocation-message.d.ts +2 -1
  829. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
  830. package/dist/modes/interactive/components/skill-invocation-message.js +3 -2
  831. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
  832. package/dist/modes/interactive/components/tool-execution.d.ts +2 -0
  833. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  834. package/dist/modes/interactive/components/tool-execution.js +50 -27
  835. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  836. package/dist/modes/interactive/components/tree-selector-component.d.ts +1 -1
  837. package/dist/modes/interactive/components/tree-selector-component.d.ts.map +1 -1
  838. package/dist/modes/interactive/components/tree-selector-component.js +2 -3
  839. package/dist/modes/interactive/components/tree-selector-component.js.map +1 -1
  840. package/dist/modes/interactive/components/tree-selector-content.d.ts.map +1 -1
  841. package/dist/modes/interactive/components/tree-selector-content.js +6 -0
  842. package/dist/modes/interactive/components/tree-selector-content.js.map +1 -1
  843. package/dist/modes/interactive/components/tree-selector-help.d.ts +1 -1
  844. package/dist/modes/interactive/components/tree-selector-help.d.ts.map +1 -1
  845. package/dist/modes/interactive/components/tree-selector-help.js +3 -1
  846. package/dist/modes/interactive/components/tree-selector-help.js.map +1 -1
  847. package/dist/modes/interactive/components/tree-selector-label-input.d.ts +1 -1
  848. package/dist/modes/interactive/components/tree-selector-label-input.d.ts.map +1 -1
  849. package/dist/modes/interactive/components/tree-selector-label-input.js +1 -0
  850. package/dist/modes/interactive/components/tree-selector-label-input.js.map +1 -1
  851. package/dist/modes/interactive/components/tree-selector-list.d.ts +1 -1
  852. package/dist/modes/interactive/components/tree-selector-list.d.ts.map +1 -1
  853. package/dist/modes/interactive/components/tree-selector-list.js +3 -0
  854. package/dist/modes/interactive/components/tree-selector-list.js.map +1 -1
  855. package/dist/modes/interactive/components/trust-selector.d.ts +1 -1
  856. package/dist/modes/interactive/components/trust-selector.d.ts.map +1 -1
  857. package/dist/modes/interactive/components/trust-selector.js +4 -0
  858. package/dist/modes/interactive/components/trust-selector.js.map +1 -1
  859. package/dist/modes/interactive/components/user-message-selector.d.ts +1 -1
  860. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
  861. package/dist/modes/interactive/components/user-message-selector.js +4 -0
  862. package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
  863. package/dist/modes/interactive/components/user-message.d.ts +4 -1
  864. package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
  865. package/dist/modes/interactive/components/user-message.js +10 -2
  866. package/dist/modes/interactive/components/user-message.js.map +1 -1
  867. package/dist/modes/interactive/external-editor.d.ts.map +1 -1
  868. package/dist/modes/interactive/external-editor.js +2 -1
  869. package/dist/modes/interactive/external-editor.js.map +1 -1
  870. package/dist/modes/interactive/interactive-agent-events.js +36 -18
  871. package/dist/modes/interactive/interactive-agent-events.js.map +1 -1
  872. package/dist/modes/interactive/interactive-auth-login.js +9 -2
  873. package/dist/modes/interactive/interactive-auth-login.js.map +1 -1
  874. package/dist/modes/interactive/interactive-auth-routing.d.ts.map +1 -1
  875. package/dist/modes/interactive/interactive-auth-routing.js +5 -1
  876. package/dist/modes/interactive/interactive-auth-routing.js.map +1 -1
  877. package/dist/modes/interactive/interactive-bash-compact.js +16 -4
  878. package/dist/modes/interactive/interactive-bash-compact.js.map +1 -1
  879. package/dist/modes/interactive/interactive-deferred-startup.d.ts.map +1 -1
  880. package/dist/modes/interactive/interactive-deferred-startup.js +3 -0
  881. package/dist/modes/interactive/interactive-deferred-startup.js.map +1 -1
  882. package/dist/modes/interactive/interactive-editor-actions.js +2 -0
  883. package/dist/modes/interactive/interactive-editor-actions.js.map +1 -1
  884. package/dist/modes/interactive/interactive-extension-context.js +12 -7
  885. package/dist/modes/interactive/interactive-extension-context.js.map +1 -1
  886. package/dist/modes/interactive/interactive-extension-custom-ui.js +1 -0
  887. package/dist/modes/interactive/interactive-extension-custom-ui.js.map +1 -1
  888. package/dist/modes/interactive/interactive-extension-dialogs.js +7 -0
  889. package/dist/modes/interactive/interactive-extension-dialogs.js.map +1 -1
  890. package/dist/modes/interactive/interactive-extension-widgets.js +7 -24
  891. package/dist/modes/interactive/interactive-extension-widgets.js.map +1 -1
  892. package/dist/modes/interactive/interactive-input-handling.d.ts.map +1 -1
  893. package/dist/modes/interactive/interactive-input-handling.js +9 -8
  894. package/dist/modes/interactive/interactive-input-handling.js.map +1 -1
  895. package/dist/modes/interactive/interactive-mode-base.d.ts +52 -3
  896. package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -1
  897. package/dist/modes/interactive/interactive-mode-base.js +143 -5
  898. package/dist/modes/interactive/interactive-mode-base.js.map +1 -1
  899. package/dist/modes/interactive/interactive-mode-deps.d.ts +2 -2
  900. package/dist/modes/interactive/interactive-mode-deps.d.ts.map +1 -1
  901. package/dist/modes/interactive/interactive-mode-deps.js +2 -2
  902. package/dist/modes/interactive/interactive-mode-deps.js.map +1 -1
  903. package/dist/modes/interactive/interactive-mode-surface.d.ts +9 -3
  904. package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -1
  905. package/dist/modes/interactive/interactive-mode-surface.js.map +1 -1
  906. package/dist/modes/interactive/interactive-mode.d.ts +1 -0
  907. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  908. package/dist/modes/interactive/interactive-mode.js +1 -0
  909. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  910. package/dist/modes/interactive/interactive-model-routing.js +107 -41
  911. package/dist/modes/interactive/interactive-model-routing.js.map +1 -1
  912. package/dist/modes/interactive/interactive-process-lifecycle.js +1 -1
  913. package/dist/modes/interactive/interactive-process-lifecycle.js.map +1 -1
  914. package/dist/modes/interactive/interactive-render-chat.js +24 -6
  915. package/dist/modes/interactive/interactive-render-chat.js.map +1 -1
  916. package/dist/modes/interactive/interactive-selectors.js +44 -5
  917. package/dist/modes/interactive/interactive-selectors.js.map +1 -1
  918. package/dist/modes/interactive/interactive-session-runtime.js +1 -0
  919. package/dist/modes/interactive/interactive-session-runtime.js.map +1 -1
  920. package/dist/modes/interactive/interactive-slash-commands.js +9 -4
  921. package/dist/modes/interactive/interactive-slash-commands.js.map +1 -1
  922. package/dist/modes/interactive/interactive-startup.d.ts.map +1 -1
  923. package/dist/modes/interactive/interactive-startup.js +37 -18
  924. package/dist/modes/interactive/interactive-startup.js.map +1 -1
  925. package/dist/modes/interactive/interactive-tui.d.ts +21 -0
  926. package/dist/modes/interactive/interactive-tui.d.ts.map +1 -0
  927. package/dist/modes/interactive/interactive-tui.js +279 -0
  928. package/dist/modes/interactive/interactive-tui.js.map +1 -0
  929. package/dist/modes/interactive/streaming-assistant-message.d.ts +34 -0
  930. package/dist/modes/interactive/streaming-assistant-message.d.ts.map +1 -0
  931. package/dist/modes/interactive/streaming-assistant-message.js +76 -0
  932. package/dist/modes/interactive/streaming-assistant-message.js.map +1 -0
  933. package/dist/modes/interactive/theme/catppuccin-frappe.json +1 -0
  934. package/dist/modes/interactive/theme/catppuccin-latte.json +1 -0
  935. package/dist/modes/interactive/theme/catppuccin-macchiato.json +1 -0
  936. package/dist/modes/interactive/theme/catppuccin-mocha.json +1 -0
  937. package/dist/modes/interactive/theme/dark.json +1 -0
  938. package/dist/modes/interactive/theme/light.json +1 -0
  939. package/dist/modes/interactive/theme/terminal-detection.d.ts +10 -0
  940. package/dist/modes/interactive/theme/terminal-detection.d.ts.map +1 -1
  941. package/dist/modes/interactive/theme/terminal-detection.js +19 -0
  942. package/dist/modes/interactive/theme/terminal-detection.js.map +1 -1
  943. package/dist/modes/interactive/theme/theme-class.d.ts +2 -2
  944. package/dist/modes/interactive/theme/theme-class.d.ts.map +1 -1
  945. package/dist/modes/interactive/theme/theme-class.js +5 -1
  946. package/dist/modes/interactive/theme/theme-class.js.map +1 -1
  947. package/dist/modes/interactive/theme/theme-controller.d.ts +3 -1
  948. package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
  949. package/dist/modes/interactive/theme/theme-controller.js +10 -13
  950. package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
  951. package/dist/modes/interactive/theme/theme-loading.d.ts.map +1 -1
  952. package/dist/modes/interactive/theme/theme-loading.js +1 -0
  953. package/dist/modes/interactive/theme/theme-loading.js.map +1 -1
  954. package/dist/modes/interactive/theme/theme-schema.d.ts +4 -0
  955. package/dist/modes/interactive/theme/theme-schema.d.ts.map +1 -1
  956. package/dist/modes/interactive/theme/theme-schema.js +2 -1
  957. package/dist/modes/interactive/theme/theme-schema.js.map +1 -1
  958. package/dist/modes/interactive/theme/theme-schema.json +5 -1
  959. package/dist/modes/interactive/theme/theme.d.ts +1 -1
  960. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  961. package/dist/modes/interactive/theme/theme.js +1 -1
  962. package/dist/modes/interactive/theme/theme.js.map +1 -1
  963. package/dist/modes/interactive-engine/engine-custom-ui.d.ts +1 -1
  964. package/dist/modes/interactive-engine/engine-custom-ui.d.ts.map +1 -1
  965. package/dist/modes/interactive-engine/engine-custom-ui.js +28 -11
  966. package/dist/modes/interactive-engine/engine-custom-ui.js.map +1 -1
  967. package/dist/modes/interactive-engine/engine-render-service.js +3 -3
  968. package/dist/modes/interactive-engine/engine-render-service.js.map +1 -1
  969. package/dist/modes/interactive-engine/extension-ui-bridge.d.ts +2 -1
  970. package/dist/modes/interactive-engine/extension-ui-bridge.d.ts.map +1 -1
  971. package/dist/modes/interactive-engine/extension-ui-bridge.js +2 -2
  972. package/dist/modes/interactive-engine/extension-ui-bridge.js.map +1 -1
  973. package/dist/modes/interactive-engine/isolated-runtime.d.ts +7 -0
  974. package/dist/modes/interactive-engine/isolated-runtime.d.ts.map +1 -1
  975. package/dist/modes/interactive-engine/isolated-runtime.js +7 -0
  976. package/dist/modes/interactive-engine/isolated-runtime.js.map +1 -1
  977. package/dist/modes/interactive-engine/protocol.d.ts +12 -10
  978. package/dist/modes/interactive-engine/protocol.d.ts.map +1 -1
  979. package/dist/modes/interactive-engine/protocol.js +18 -12
  980. package/dist/modes/interactive-engine/protocol.js.map +1 -1
  981. package/dist/modes/interactive-engine/remote-component.d.ts +11 -1
  982. package/dist/modes/interactive-engine/remote-component.d.ts.map +1 -1
  983. package/dist/modes/interactive-engine/remote-component.js +48 -8
  984. package/dist/modes/interactive-engine/remote-component.js.map +1 -1
  985. package/dist/modes/interactive-engine/terminal-mode-controller.d.ts +19 -12
  986. package/dist/modes/interactive-engine/terminal-mode-controller.d.ts.map +1 -1
  987. package/dist/modes/interactive-engine/terminal-mode-controller.js +54 -35
  988. package/dist/modes/interactive-engine/terminal-mode-controller.js.map +1 -1
  989. package/dist/modes/json-event.d.ts +28 -0
  990. package/dist/modes/json-event.d.ts.map +1 -0
  991. package/dist/modes/json-event.js +12 -0
  992. package/dist/modes/json-event.js.map +1 -0
  993. package/dist/modes/print-mode.d.ts.map +1 -1
  994. package/dist/modes/print-mode.js +2 -1
  995. package/dist/modes/print-mode.js.map +1 -1
  996. package/dist/modes/rpc/rpc-client-process.d.ts +1 -0
  997. package/dist/modes/rpc/rpc-client-process.d.ts.map +1 -1
  998. package/dist/modes/rpc/rpc-client-process.js +5 -1
  999. package/dist/modes/rpc/rpc-client-process.js.map +1 -1
  1000. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  1001. package/dist/modes/rpc/rpc-client.js +7 -2
  1002. package/dist/modes/rpc/rpc-client.js.map +1 -1
  1003. package/dist/modes/rpc/rpc-command-handler.js +1 -1
  1004. package/dist/modes/rpc/rpc-command-handler.js.map +1 -1
  1005. package/dist/modes/rpc/rpc-event-buffer.d.ts +9 -0
  1006. package/dist/modes/rpc/rpc-event-buffer.d.ts.map +1 -1
  1007. package/dist/modes/rpc/rpc-event-buffer.js +10 -5
  1008. package/dist/modes/rpc/rpc-event-buffer.js.map +1 -1
  1009. package/dist/modes/rpc/rpc-extension-ui.d.ts.map +1 -1
  1010. package/dist/modes/rpc/rpc-extension-ui.js +3 -0
  1011. package/dist/modes/rpc/rpc-extension-ui.js.map +1 -1
  1012. package/dist/modes/rpc/rpc-input.js +1 -1
  1013. package/dist/modes/rpc/rpc-input.js.map +1 -1
  1014. package/dist/modes/rpc/rpc-output-buffer.d.ts +9 -0
  1015. package/dist/modes/rpc/rpc-output-buffer.d.ts.map +1 -1
  1016. package/dist/modes/rpc/rpc-output-buffer.js +10 -5
  1017. package/dist/modes/rpc/rpc-output-buffer.js.map +1 -1
  1018. package/dist/modes/rpc/rpc-provider-auth.d.ts.map +1 -1
  1019. package/dist/modes/rpc/rpc-provider-auth.js +3 -0
  1020. package/dist/modes/rpc/rpc-provider-auth.js.map +1 -1
  1021. package/dist/modes/rpc/rpc-responses.d.ts +1 -1
  1022. package/dist/modes/rpc/rpc-responses.d.ts.map +1 -1
  1023. package/dist/modes/rpc/rpc-responses.js +13 -1
  1024. package/dist/modes/rpc/rpc-responses.js.map +1 -1
  1025. package/dist/modes/rpc/rpc-session-binding.d.ts.map +1 -1
  1026. package/dist/modes/rpc/rpc-session-binding.js +2 -1
  1027. package/dist/modes/rpc/rpc-session-binding.js.map +1 -1
  1028. package/dist/modes/rpc/rpc-types.d.ts +9 -2
  1029. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  1030. package/dist/modes/rpc/rpc-types.js.map +1 -1
  1031. package/dist/rpc-entry.js +2 -0
  1032. package/dist/rpc-entry.js.map +1 -1
  1033. package/dist/self-update-plan.d.ts.map +1 -1
  1034. package/dist/self-update-plan.js +5 -4
  1035. package/dist/self-update-plan.js.map +1 -1
  1036. package/dist/server/create-harness.d.ts +53 -0
  1037. package/dist/server/create-harness.d.ts.map +1 -0
  1038. package/dist/server/create-harness.js +349 -0
  1039. package/dist/server/create-harness.js.map +1 -0
  1040. package/dist/utils/agent-attribution.d.ts +2 -0
  1041. package/dist/utils/agent-attribution.d.ts.map +1 -0
  1042. package/dist/utils/agent-attribution.js +2 -0
  1043. package/dist/utils/agent-attribution.js.map +1 -0
  1044. package/dist/utils/child-process.d.ts +3 -1
  1045. package/dist/utils/child-process.d.ts.map +1 -1
  1046. package/dist/utils/child-process.js +24 -4
  1047. package/dist/utils/child-process.js.map +1 -1
  1048. package/dist/utils/clipboard-image.d.ts.map +1 -1
  1049. package/dist/utils/clipboard-image.js +2 -1
  1050. package/dist/utils/clipboard-image.js.map +1 -1
  1051. package/dist/utils/clipboard.d.ts.map +1 -1
  1052. package/dist/utils/clipboard.js +12 -3
  1053. package/dist/utils/clipboard.js.map +1 -1
  1054. package/dist/utils/management-http.d.ts +23 -0
  1055. package/dist/utils/management-http.d.ts.map +1 -0
  1056. package/dist/utils/management-http.js +50 -0
  1057. package/dist/utils/management-http.js.map +1 -0
  1058. package/dist/utils/open-browser.d.ts.map +1 -1
  1059. package/dist/utils/open-browser.js +2 -1
  1060. package/dist/utils/open-browser.js.map +1 -1
  1061. package/dist/utils/paths.d.ts +2 -0
  1062. package/dist/utils/paths.d.ts.map +1 -1
  1063. package/dist/utils/paths.js +13 -0
  1064. package/dist/utils/paths.js.map +1 -1
  1065. package/dist/utils/shell.d.ts.map +1 -1
  1066. package/dist/utils/shell.js +17 -4
  1067. package/dist/utils/shell.js.map +1 -1
  1068. package/dist/utils/tool-result-images.d.ts +17 -0
  1069. package/dist/utils/tool-result-images.d.ts.map +1 -0
  1070. package/dist/utils/tool-result-images.js +41 -0
  1071. package/dist/utils/tool-result-images.js.map +1 -0
  1072. package/dist/utils/tools-manager.d.ts.map +1 -1
  1073. package/dist/utils/tools-manager.js +7 -8
  1074. package/dist/utils/tools-manager.js.map +1 -1
  1075. package/dist/utils/version-check.d.ts +4 -0
  1076. package/dist/utils/version-check.d.ts.map +1 -1
  1077. package/dist/utils/version-check.js +20 -2
  1078. package/dist/utils/version-check.js.map +1 -1
  1079. package/docs/compaction.md +2 -1
  1080. package/docs/custom-provider.md +15 -7
  1081. package/docs/development.md +1 -0
  1082. package/docs/docs.json +1 -0
  1083. package/docs/environment-variables.md +5 -1
  1084. package/docs/extensions.md +102 -18
  1085. package/docs/i-have-adhd.md +36 -0
  1086. package/docs/intercom.md +45 -26
  1087. package/docs/json.md +2 -2
  1088. package/docs/keybindings.md +55 -12
  1089. package/docs/models/model-selection.md +34 -8
  1090. package/docs/models.md +28 -3
  1091. package/docs/providers.md +20 -2
  1092. package/docs/quickstart.md +10 -6
  1093. package/docs/rpc.md +18 -12
  1094. package/docs/sdk.md +44 -8
  1095. package/docs/security.md +10 -10
  1096. package/docs/session-format.md +15 -0
  1097. package/docs/sessions.md +10 -0
  1098. package/docs/settings.md +31 -5
  1099. package/docs/subagents.md +27 -54
  1100. package/docs/themes.md +5 -3
  1101. package/docs/tools.md +23 -5
  1102. package/docs/tui.md +41 -24
  1103. package/docs/usage.md +41 -15
  1104. package/docs/windows.md +3 -1
  1105. package/docs/workflows.md +262 -38
  1106. package/examples/extensions/custom-provider-anthropic/index.ts +9 -2
  1107. package/examples/extensions/custom-provider-gitlab-duo/index.ts +9 -2
  1108. package/examples/extensions/modal-editor.ts +8 -10
  1109. package/examples/extensions/rainbow-editor.ts +3 -2
  1110. package/examples/extensions/subagent/README.md +16 -45
  1111. package/examples/extensions/subagent/index.ts +6 -96
  1112. package/examples/extensions/subagent/render.ts +0 -78
  1113. package/examples/extensions/subagent/runner.ts +0 -3
  1114. package/examples/extensions/subagent/schemas.ts +0 -13
  1115. package/examples/extensions/subagent/types.ts +1 -2
  1116. package/examples/sdk/09-api-keys-and-oauth.ts +6 -2
  1117. package/examples/sdk/12-full-control.ts +8 -2
  1118. package/examples/sdk/README.md +4 -1
  1119. package/npm-shrinkwrap.json +191 -634
  1120. package/package.json +14 -7
  1121. package/dist/builtin/subagents/src/agents/chain-serializer.ts +0 -257
  1122. package/dist/builtin/subagents/src/runs/background/async-job-tracker.ts +0 -250
  1123. package/dist/builtin/subagents/src/runs/foreground/chain-execution-details.ts +0 -38
  1124. package/dist/builtin/subagents/src/runs/foreground/chain-execution-dynamic-step.ts +0 -280
  1125. package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-runner.ts +0 -217
  1126. package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-step.ts +0 -271
  1127. package/dist/builtin/subagents/src/runs/foreground/chain-execution-sequential-step.ts +0 -271
  1128. package/dist/builtin/subagents/src/runs/foreground/chain-execution-types.ts +0 -200
  1129. package/dist/builtin/subagents/src/runs/foreground/chain-execution.ts +0 -184
  1130. package/dist/builtin/subagents/src/runs/foreground/execution-structured-retries.ts +0 -19
  1131. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-async.ts +0 -190
  1132. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-chain.ts +0 -109
  1133. package/dist/builtin/subagents/src/runs/inprocess/background-single.ts +0 -179
  1134. package/dist/builtin/subagents/src/runs/inprocess/background.ts +0 -89
  1135. package/dist/builtin/subagents/src/runs/shared/chain-outputs.ts +0 -126
  1136. package/dist/builtin/subagents/src/runs/shared/dynamic-fanout.ts +0 -393
  1137. package/dist/builtin/subagents/src/runs/shared/structured-output.ts +0 -150
  1138. package/dist/builtin/subagents/src/runs/shared/workflow-graph.ts +0 -232
  1139. package/dist/builtin/subagents/src/shared/types-async.ts +0 -270
  1140. package/dist/builtin/subagents/src/slash/saved-chain-mapping.ts +0 -60
  1141. package/dist/builtin/subagents/src/tui/render-chain-graph.ts +0 -341
  1142. package/dist/builtin/subagents/src/tui/render-widget-graph.ts +0 -266
  1143. package/dist/builtin/subagents/src/tui/render-widget.ts +0 -366
  1144. package/dist/core/async/format.d.ts +0 -3
  1145. package/dist/core/async/format.d.ts.map +0 -1
  1146. package/dist/core/async/format.js +0 -52
  1147. package/dist/core/async/format.js.map +0 -1
  1148. package/dist/core/async/job-manager.d.ts +0 -40
  1149. package/dist/core/async/job-manager.d.ts.map +0 -1
  1150. package/dist/core/async/job-manager.js +0 -293
  1151. package/dist/core/async/job-manager.js.map +0 -1
  1152. package/dist/core/async/session-manager.d.ts +0 -16
  1153. package/dist/core/async/session-manager.d.ts.map +0 -1
  1154. package/dist/core/async/session-manager.js +0 -34
  1155. package/dist/core/async/session-manager.js.map +0 -1
  1156. package/dist/core/async/types.d.ts +0 -23
  1157. package/dist/core/async/types.d.ts.map +0 -1
  1158. package/dist/core/async/types.js +0 -2
  1159. package/dist/core/async/types.js.map +0 -1
  1160. package/dist/core/tools/bash-async-execution.d.ts +0 -25
  1161. package/dist/core/tools/bash-async-execution.d.ts.map +0 -1
  1162. package/dist/core/tools/bash-async-execution.js +0 -78
  1163. package/dist/core/tools/bash-async-execution.js.map +0 -1
  1164. package/dist/core/tools/bash-async-jobs.d.ts +0 -30
  1165. package/dist/core/tools/bash-async-jobs.d.ts.map +0 -1
  1166. package/dist/core/tools/bash-async-jobs.js +0 -87
  1167. package/dist/core/tools/bash-async-jobs.js.map +0 -1
  1168. package/dist/core/tools/bash-async-output.d.ts +0 -12
  1169. package/dist/core/tools/bash-async-output.d.ts.map +0 -1
  1170. package/dist/core/tools/bash-async-output.js +0 -87
  1171. package/dist/core/tools/bash-async-output.js.map +0 -1
  1172. package/examples/extensions/subagent/prompts/implement-and-review.md +0 -10
  1173. package/examples/extensions/subagent/prompts/implement.md +0 -10
  1174. package/examples/extensions/subagent/prompts/scout-and-plan.md +0 -9
@@ -4,9 +4,9 @@
4
4
 
5
5
  # @bastani/subagents
6
6
 
7
- `@bastani/subagents` lets Atomic delegate work to focused child agents. It is Atomic's bundled adaptation of upstream `pi-subagents`; use it for code review, scouting, implementation, parallel audits, saved workflows, background jobs, and anything else that benefits from a second or third set of model eyes.
7
+ `@bastani/subagents` lets Atomic delegate work to focused child agents. It is Atomic's bundled adaptation of upstream `pi-subagents`; use it for code review, scouting, implementation, parallel audits, and anything else that benefits from a second or third set of model eyes.
8
8
 
9
- Use subagents selectively for bounded specialist delegation while the parent remains in control: one focused agent, a sequential chain, or parallel independent tasks. Keep interactive, exploratory, conceptual, and conversation-led work inline. Multiple steps, files, tests, validation, or parallelism alone do not require a workflow. For a clearly delegated, well-defined autonomous job that is likely long-running/background-oriented or materially needs durable stages, checkpoints, resumability, HIL, gates, retries, or bounded loops, use an appropriate workflow instead. Choose async subagents only when background execution is genuinely useful; foreground is appropriate when the parent needs the result before proceeding.
9
+ Use subagents selectively for bounded specialist delegation while the parent remains in control: one focused agent or parallel independent tasks. Keep interactive, exploratory, conceptual, and conversation-led work inline. Multiple steps, files, tests, validation, or parallelism alone do not require a workflow. For clearly delegated autonomous jobs that need durable stages, checkpoints, resumability, HIL, gates, retries, or bounded loops, use an appropriate workflow instead. Subagent calls always run in the foreground and return their results to the parent.
10
10
 
11
11
  https://github.com/user-attachments/assets/702554ec-faaf-4635-80aa-fb5d6e292fd1
12
12
 
@@ -27,19 +27,19 @@ You can add optional pieces later.
27
27
  You do not need to create agents, write config, or learn slash commands. Ask Atomic for delegation in plain language:
28
28
 
29
29
  ```text
30
- Use reviewer to review this diff.
30
+ Use codebase-analyzer to check what this diff actually changes.
31
31
  ```
32
32
 
33
33
  ```text
34
- Ask oracle for a second opinion on my current plan.
34
+ Use codebase-locator to find the files behind the auth flow, then ask me clarification questions.
35
35
  ```
36
36
 
37
37
  ```text
38
- Use scout to understand this code based on our discussion then ask me clarification questions.
38
+ Ask codebase-research-analyzer what we already decided about retries, and why.
39
39
  ```
40
40
 
41
41
  ```text
42
- Run parallel reviewers: one for correctness, one for tests, and one for unnecessary complexity.
42
+ Run parallel reviewers on this diff: codebase-analyzer for correctness, debugger for failure modes, and code-simplifier for unnecessary complexity.
43
43
  ```
44
44
 
45
45
  That is enough to start.
@@ -48,12 +48,12 @@ That is enough to start.
48
48
 
49
49
  Pi is the parent session. A subagent is a focused child Pi session with its own job.
50
50
 
51
- When you ask for a subagent, Pi starts the child, gives it the task, and brings the result back. Foreground runs stream in the conversation. Background runs keep working and can be checked later.
51
+ When you ask for a subagent, Pi starts the child, gives it the task, and brings the result back. Single and parallel runs stream progress in the conversation and return their results before the call completes.
52
52
 
53
- Installing the extension does not start an automatic reviewer in the background. It gives Pi a delegation tool. If you want every implementation reviewed, say that in your prompt or put it in your project instructions:
53
+ Installing the extension does not start an automatic review. It gives Pi a delegation tool. If you want every implementation reviewed, say that in your prompt or put it in your project instructions:
54
54
 
55
55
  ```text
56
- When you finish implementing, run a reviewer subagent before summarizing.
56
+ When you finish implementing, run codebase-analyzer over the diff before summarizing.
57
57
  ```
58
58
 
59
59
  ## Good first prompts
@@ -61,15 +61,15 @@ When you finish implementing, run a reviewer subagent before summarizing.
61
61
  These cover most day-to-day use:
62
62
 
63
63
  ```text
64
- Ask oracle for a second opinion on my current plan. Challenge assumptions and tell me what I might be missing.
64
+ Use codebase-analyzer to explain how this actually behaves before we change it.
65
65
  ```
66
66
 
67
67
  ```text
68
- Use oracle to help solve this hard bug. Have it inspect the code and propose the best next move before we edit anything.
68
+ Use debugger to investigate this failure and propose the smallest fix before we edit anything.
69
69
  ```
70
70
 
71
71
  ```text
72
- Run parallel reviewers on this diff. I want one focused on correctness, one on tests, and one on unnecessary complexity.
72
+ Run parallel reviewers on this diff. I want one focused on correctness, one on failure modes, and one on unnecessary complexity.
73
73
  ```
74
74
 
75
75
  ```text
@@ -81,27 +81,28 @@ Run a review loop on this change until reviewers stop finding fixes worth doing,
81
81
  ```
82
82
 
83
83
  ```text
84
- Use scout to understand the auth flow, then have planner turn that into an implementation plan.
84
+ Use codebase-locator to map the auth flow, then codebase-analyzer to explain how it works today.
85
85
  ```
86
86
 
87
- Those are ordinary Pi requests. Pi decides whether to call `subagent`, which agent to use, and whether a chain or parallel run makes sense.
87
+ Those are ordinary Pi requests. Pi decides whether to call `subagent`, which agent to use, and whether a single or parallel run makes sense.
88
88
 
89
89
  ## Common workflows
90
90
 
91
91
  | Want | Ask naturally |
92
92
  |------|---------------|
93
- | Get a second opinion | “Ask oracle to review this plan and challenge assumptions.” |
94
- | Solve a hard problem | “Use oracle to investigate this bug before we edit.” |
95
- | Review a diff | “Use reviewer to review this diff.” |
96
- | Run parallel reviewers | “Run reviewers for correctness, tests, and cleanup.” |
93
+ | Understand unfamiliar code | “Use codebase-locator to find the auth files, then codebase-analyzer to explain them.” |
94
+ | Recover a past decision | “Use codebase-research-analyzer to tell me what we decided about retries.” |
95
+ | Check an external fact | “Use codebase-online-researcher to confirm this API's current contract.” |
96
+ | Review a diff | “Use codebase-analyzer to review this diff for correctness.” |
97
+ | Run parallel reviewers | “Run reviewers for correctness, failure modes, and cleanup.” |
97
98
  | Implement then review | “Implement this, then review it.” |
98
99
  | Review until clean | “Run a review loop on this change with a max of 3 rounds.” |
99
100
  | Execute a plan carefully | “Have worker implement this approved plan, then run reviewers and apply the feedback.” |
100
- | Scout before planning | “Use scout to inspect the auth flow before planning.” |
101
- | Run in the background | “Run this in the background.” |
101
+ | Diagnose a failure | “Use debugger to reproduce this test failure and fix it.” |
102
+ | Simplify after it lands | “Use code-simplifier to clean up the change.” |
103
+ | Run a delegated task | “Have worker implement this plan and return the result.” |
102
104
  | Browse agents | “Show me the available subagents.” |
103
- | Use a saved workflow | “Run the review chain on this branch.” |
104
- | See running work | “Show active async runs.” |
105
+ | See current status | “Show the current subagent status.” |
105
106
  | Check setup | “Check whether subagents are configured correctly.” |
106
107
 
107
108
  The extension ships with builtin agents you can use immediately.
@@ -110,17 +111,17 @@ The extension ships with builtin agents you can use immediately.
110
111
 
111
112
  | Agent | Use it when you want... |
112
113
  |-------|--------------------------|
113
- | `scout` | Fast local codebase recon: relevant files, entry points, data flow, risks, and where another agent should start. |
114
- | `researcher` | Web/docs research with sources: official docs, specs, benchmarks, recent changes, and a concise research brief. |
115
- | `planner` | A concrete implementation plan from existing context. It should read and plan, not edit code. |
116
- | `worker` | Implementation work, including approved oracle handoffs. It edits files, validates, and escalates unapproved decisions instead of guessing. |
117
- | `debugger` | Reproduction, root-cause diagnosis, and the smallest validated fix. It has the same write-capable tool set as `worker`, edits the code or content after diagnosis, and reruns the failing scenario. |
118
- | `reviewer` | Code review and small fixes. It checks the implementation against the task/plan, tests, edge cases, and simplicity. |
119
- | `context-builder` | A stronger setup pass before planning: gathers code context and writes handoff material such as `context.md` and `meta-prompt.md`. |
120
- | `oracle` | A second opinion before acting. It challenges assumptions, catches drift, and recommends the safest next move without editing. |
121
- | `delegate` | A lightweight general delegate when you want a child agent that behaves close to the parent session. |
122
-
123
- A simple rule of thumb: use `scout` before you understand the code, `researcher` before you trust external facts, `planner` before a bigger change, `worker` to implement, `debugger` to diagnose and fix a failure, `reviewer` to check, and `oracle` when the decision itself feels risky.
114
+ | `codebase-locator` | Find the files, directories, and components behind a feature. A fast “super find/ls” pass that tells another agent where to start. |
115
+ | `codebase-analyzer` | Explain how the code behaves today, with `file:line` references. The default choice for a correctness review. |
116
+ | `codebase-pattern-finder` | Find existing implementations, usage examples, and patterns worth modeling a change on. |
117
+ | `codebase-research-locator` | Discover prior docs, tickets, notes, and specs under `research/` and `specs/`. |
118
+ | `codebase-research-analyzer` | Pull the decisions, constraints, and trade-offs back out of those documents. |
119
+ | `codebase-online-researcher` | Authoritative external evidence: official docs, specs, release notes, benchmarks, and library source. |
120
+ | `worker` | Implementation work and approved orchestrator handoffs. It edits files, validates, and escalates unapproved decisions instead of guessing. |
121
+ | `debugger` | Reproduction, root-cause diagnosis, and the smallest validated fix. Write-capable, and it reruns the failing scenario. |
122
+ | `code-simplifier` | Cleanup, refinement, and simplification once behavior is settled. |
123
+
124
+ There is no generic `reviewer` or `planner` agent; pick the specialist whose angle matches the question. Use `codebase-locator` before you know where the code lives, `codebase-analyzer` before you trust how it behaves, `codebase-online-researcher` before you trust an external fact, `worker` to implement, `debugger` to diagnose a failure, and `code-simplifier` to clean up afterward.
124
125
 
125
126
  ## Changing a builtin agent's model
126
127
 
@@ -129,16 +130,16 @@ Builtin agents inherit your current Pi default model by default. This keeps new
129
130
  For one run, put the override in the command:
130
131
 
131
132
  ```text
132
- /run reviewer[model=anthropic/claude-sonnet-4:high] "Review this diff"
133
+ /run codebase-analyzer[model=anthropic/claude-sonnet-4:high] "Review this diff"
133
134
  ```
134
135
 
135
- For a persistent override, edit settings. This example pins the reviewer everywhere, adds a backup model for provider failures, and keeps the other builtins on your normal default model:
136
+ For a persistent override, edit settings. This example pins the codebase-analyzer everywhere, adds a backup model for provider failures, and keeps the other builtins on your normal default model:
136
137
 
137
138
  ```json
138
139
  {
139
140
  "subagents": {
140
141
  "agentOverrides": {
141
- "reviewer": {
142
+ "codebase-analyzer": {
142
143
  "model": "anthropic/claude-sonnet-4",
143
144
  "thinking": "high",
144
145
  "fallbackModels": ["openai/gpt-5-mini"]
@@ -156,20 +157,16 @@ Any parent chat or workflow stage that orchestrates subagents should omit the ex
156
157
 
157
158
  When an agent declares no model or fallback policy, consult `packages/coding-agent/docs/models/model-selection.md`, then call `workflow({ action: "models" })` when available. Use only a catalog-returned `fullId` and only a thinking level listed for that entry. If the catalog tool is unavailable, returns no models, or has no recommended model for the role, leave the child unpinned and report the limitation instead of inventing a model or inspecting credentials.
158
159
 
159
- Workflow invocations receive a stable, non-`default` Intercom group automatically. Their stages and delegated children inherit it across single, parallel, chain, async, and follow-up calls, so omit `group` unless you intend to create a different coordination subgroup. Outside a workflow, children inherit the launching session's group. `contact_supervisor` remains available across group boundaries.
160
+ Workflow invocations receive a stable, non-`default` Intercom group automatically. Their stages and delegated children inherit it across single, parallel, and follow-up calls, so omit `group` unless you intend to create a different coordination subgroup. Outside a workflow, children inherit the launching session's group. `contact_supervisor` remains available across group boundaries.
160
161
 
161
162
  ## Where running subagents show up
162
163
 
163
- Foreground runs stream progress in the conversation while they run.
164
+ Foreground runs stream progress in the conversation while they run. Parallel calls keep their grouped task shape in progress and results, and status/control actions can inspect or interrupt retained foreground children.
164
165
 
165
- `async: true` means **do not wait**. Atomic admits an in-process child, returns its canonical child path immediately, and tracks the live child through the jobs widget. **Async work does not survive parent exit:** the live child is owned by the parent process and ends when Atomic quits; only its canonical identity and session file remain for a later cold resume.
166
-
167
- The jobs widget shows the live status-watch state and sends one terminal completion notification. Parallel background runs show per-agent progress, and chains with parallel groups keep their grouped shape in progress and results. There is no detached runner process or PID polling loop.
168
-
169
- You can also ask naturally:
166
+ You can ask naturally:
170
167
 
171
168
  ```text
172
- Show me the current async runs.
169
+ Show me the current subagent status.
173
170
  ```
174
171
 
175
172
  If something feels misconfigured, run:
@@ -189,14 +186,14 @@ Check whether subagents and intercom are set up correctly.
189
186
  Use orchestration as parent-agent guidance, not as a runtime workflow mode. For implementation work, the recommended loop is:
190
187
 
191
188
  ```text
192
- clarify → planner → worker → fresh reviewers → worker
189
+ clarify → gather context → worker → fresh reviewers → worker
193
190
  ```
194
191
 
195
192
  Use the optional prompt shortcuts below when you want the pattern to be repeatable.
196
193
 
197
- Packaged `planner`, `worker`, and `oracle` default to forked context when a launch omits `context`; pass `context: "fresh"` when you intentionally want a fresh child run.
194
+ Packaged `worker` defaults to forked context when a launch omits `context`; every other builtin runs fresh. Pass `context: "fresh"` when you intentionally want a fresh `worker` run.
198
195
 
199
- Child-safety boundaries are enforced at runtime. Spawned child sessions do not register the `subagent` tool or receive the bundled `pi-subagents` skill unless the parent intentionally selected an explicit fanout agent whose resolved builtin `tools` includes `subagent`. Non-fanout children receive boundary instructions that they are not the parent orchestrator and must not propose or run subagents; authorized fanout children get a narrower boundary that limits nested delegation to the assigned fanout. Forked child context filtering also removes parent-only subagent artifacts (including old hidden orchestration-instruction messages, slash/status/control messages, and prior parent `subagent` tool-call/tool-result history) while preserving ordinary prose and unrelated tool calls/results.
196
+ Child-safety boundaries are enforced at runtime by typed admission policy. In-process child sessions load bundled extensions through normal discovery. The `subagent` tool may therefore be registered when the child's active tool selection permits it, including the default no-allowlist case; an explicit allowlist may omit it. Tool presence does not grant fanout: fanout is authorized only when the resolved builtin `tools` list includes `subagent`. Typed admission policy lets a non-fanout child use only `list`, `get`, `status`, and `doctor`; delegation, `resume`, and `interrupt` receive the fanout refusal. A management-restricted child is also refused `create`, `update`, and `delete`. The bundled `pi-subagents` skill remains parent-only and is stripped from child prompts, including fanout-authorized children. Non-fanout children receive boundary instructions that they are not the parent orchestrator and must not propose or run subagents; authorized fanout children get a narrower boundary that limits nested delegation to the assigned fanout. Forked child context filtering also removes parent-only subagent artifacts (including old hidden orchestration-instruction messages, slash/status/control messages, and prior parent `subagent` tool-call/tool-result history) while preserving ordinary prose and unrelated tool calls/results.
200
197
 
201
198
  ## Optional shortcuts
202
199
 
@@ -205,11 +202,11 @@ The package includes reusable prompt templates for common workflows. You do not
205
202
  | Prompt | Use it for |
206
203
  |--------|------------|
207
204
  | `/parallel-review` | Launch fresh-context reviewers with distinct angles, then synthesize what to fix. |
208
- | `/review-loop` | Run parent-controlled worker, reviewer, and fix-worker cycles until clean or capped. |
209
- | `/parallel-research` | Combine `researcher` and `scout` for external evidence, local code context, and practical tradeoffs. |
210
- | `/parallel-context-build` | Run `context-builder` agents in parallel to produce planning handoff context and meta-prompts. |
211
- | `/parallel-handoff-plan` | Combine external research and `context-builder` passes into an implementation handoff plan and meta-prompt. |
212
- | `/gather-context-and-clarify` | Scout/research first, then ask the user the clarification questions that matter. |
205
+ | `/review-loop` | Run parent-controlled write, review, and fix cycles until clean or capped. `debugger` writes fixes for bugs, `code-simplifier` for cleanup. |
206
+ | `/parallel-research` | Combine `codebase-online-researcher` with local code specialists for external evidence, local context, and practical tradeoffs. |
207
+ | `/parallel-context-build` | Run local code and research specialists in parallel to produce handoff context and meta-prompts. |
208
+ | `/parallel-handoff-plan` | Combine external research with local context passes into an implementation handoff plan and meta-prompt. |
209
+ | `/gather-context-and-clarify` | Locate and analyze first, then ask the user the clarification questions that matter. |
213
210
  | `/parallel-cleanup` | Run review-only cleanup passes after implementation. |
214
211
 
215
212
  Add `autofix` to `/parallel-review` or `/parallel-cleanup` to apply only the synthesized fixes worth doing now after reviewers return.
@@ -227,21 +224,21 @@ Most users do not call `intercom` directly. When the intercom companion is avail
227
224
  Use it for work where the child might need a decision instead of guessing:
228
225
 
229
226
  ```text
230
- Run this implementation in the background. If the worker gets blocked or needs a product decision, have it ask me through intercom.
227
+ Run this implementation. If the worker gets blocked or needs a product decision, have it ask me through intercom.
231
228
  ```
232
229
 
233
230
  ```text
234
- Ask oracle to review this plan. If it sees a decision I need to make, have it ask me instead of assuming.
231
+ Ask codebase-analyzer to review this plan. If it sees a decision I need to make, have it ask me instead of assuming.
235
232
  ```
236
233
 
237
234
  The child can use one dedicated coordination tool:
238
235
 
239
236
  - `contact_supervisor`: the child contacts the parent/supervisor session that delegated the task. Use `reason: "need_decision"` for blocking decisions or clarification, and `reason: "progress_update"` for short non-blocking updates when a discovery changes the plan. Do not ask for clarification when the only conflict is review-only/no-edit versus progress-writing or artifact-writing instructions; no-edit wins.
240
237
 
241
- Child-side routine completion handoffs are still not expected. With the intercom bridge active, parent-side Atomic sends grouped completion results through `pi-intercom`: one grouped message per foreground parent `subagent` run and one per completed async terminal result. Intercom-confirmed foreground delivery returns a compact receipt with artifact/session paths; without that confirmation, the normal full output is preserved. Grouped messages include child intercom targets and full child summaries.
242
- When the companion is enabled and available, the bridge gives eligible children deterministic Intercom identities and coordination tools without connecting them automatically. Parent and child connections remain tool-driven: if a child may need live coordination, the parent model should invoke `intercom({ action: "status" })` before launch, and the child connects when it invokes `contact_supervisor` or `intercom`. Foreground/background launch and management-only actions do not force Intercom loading or broker startup.
238
+ Child-side routine completion handoffs are still not expected. With the intercom bridge active, parent-side Atomic sends grouped completion results through `pi-intercom`: one grouped message per foreground parent `subagent` run and one per detached child completion. Intercom-confirmed delivery returns a compact receipt with artifact/session paths; without that confirmation, the normal full output is preserved. Grouped messages include child intercom targets and full child summaries.
239
+ When the companion is enabled and available, the bridge gives eligible children deterministic Intercom identities and coordination tools without connecting them automatically. Parent and child connections remain tool-driven: if a child may need live coordination, the parent model should invoke `intercom({ action: "status" })` before launch, and the child connects when it invokes `contact_supervisor` or `intercom`. Foreground launches and management-only actions do not force Intercom loading or broker startup.
243
240
 
244
- For foreground runs, Intercom uses a targeted probe/reservation before delivery: only the exact live child can claim its message. Atomic then commits detach for that child and waits for its acknowledgement before placing claimed asks, sends, decisions, interviews, and progress updates in the parent's model-visible steering queue, so cancellation between phases cannot surface an orphaned request. Blocking calls remain alive for an exact threaded reply and then resume; fire-and-forget calls create no waiter. The retained child later replaces its detached status and artifacts with the real result. Cancellation/replacement invalidates stale handshakes, duplicate delivery cannot recommit, and background or unmatched messages retain queued-until-idle behavior.
241
+ For foreground runs, Intercom uses a targeted probe/reservation before delivery: only the exact live child can claim its message. Atomic then commits detach for that child and waits for its acknowledgement before placing claimed asks, sends, decisions, interviews, and progress updates in the parent's model-visible steering queue, so cancellation between phases cannot surface an orphaned request. Blocking calls remain alive for an exact threaded reply and then resume; fire-and-forget calls create no waiter. The retained child later replaces its detached status and artifacts with the real result. Cancellation/replacement invalidates stale handshakes, duplicate delivery cannot recommit, and unmatched messages retain queued-until-idle behavior.
245
242
 
246
243
  If a child appears stalled, needs-attention notices can show up in the parent session with useful next actions, such as checking `subagent({ action: "status" })`, interrupting the run, or nudging the child.
247
244
 
@@ -253,7 +250,7 @@ If messages do not show up, run:
253
250
 
254
251
  For normal use, you do not need to configure anything. Advanced users can tune the bridge with `intercomBridge` in the configuration section below.
255
252
 
256
- At this point, you know enough to use the plugin. The rest of this README is reference material for exact command syntax, custom agents, saved chains, worktrees, and configuration.
253
+ At this point, you know enough to use the plugin. The rest of this README is reference material for exact command syntax, custom agents, worktrees, and configuration.
257
254
 
258
255
  ## Direct commands
259
256
 
@@ -262,99 +259,63 @@ Skip this section until you want exact syntax.
262
259
  | Command | Description |
263
260
  |---------|-------------|
264
261
  | `/run <agent> [task]` | Run one agent; omit the task for self-contained agents |
265
- | `/chain agent1 "task1" -> agent2 "task2"` | Run agents in sequence |
266
262
  | `/parallel agent1 "task1" -> agent2 "task2"` | Run agents in parallel |
267
- | `/run-chain <chainName> -- <task>` | Launch a saved `.chain.md` or `.chain.json` workflow |
268
263
  | `/subagents-doctor` | Show read-only setup diagnostics |
269
264
 
270
265
  Commands validate agent names locally, support tab completion, and send results back into the conversation.
271
266
 
272
- ### Per-step tasks
267
+ ### Parallel tasks
273
268
 
274
- Use `->` to separate steps and give each step its own task:
269
+ Use `->` to separate tasks and give each task its own prompt:
275
270
 
276
271
  ```text
277
- /chain scout "scan the codebase" -> planner "create an implementation plan"
278
- /parallel scanner "find security issues" -> reviewer "check code style"
272
+ /parallel codebase-pattern-finder "find security issues" -> codebase-analyzer "check code style"
279
273
  ```
280
274
 
281
275
  Both double and single quotes work. You can also use `--` as a delimiter:
282
276
 
283
277
  ```text
284
- /chain scout -- scan code -> planner -- analyze auth
285
- ```
286
-
287
- Steps without a task inherit behavior from the execution mode. Chain steps get `{previous}`, the prior step’s output. Parallel steps use the first available task as a fallback.
288
-
289
- ```text
290
- /chain scout "analyze auth" -> planner -> worker
291
- # scout gets "analyze auth"; planner gets scout output; worker gets planner output
278
+ /parallel codebase-locator codebase-analyzer -- check for security issues
292
279
  ```
293
280
 
294
- For a shared task, list agents and place one `--` before the task:
295
-
296
- ```text
297
- /chain scout planner -- analyze the auth system
298
- /parallel scout reviewer -- check for security issues
299
- ```
281
+ Tasks without a prompt use the first available task as a fallback.
300
282
 
301
283
  ### Inline per-step config
302
284
 
303
285
  Append `[key=value,...]` to an agent name to override defaults for that step:
304
286
 
305
287
  ```text
306
- /chain scout[output=context.md] "scan code" -> planner[reads=context.md] "analyze auth"
307
- /run scout[model=anthropic/claude-sonnet-4] summarize this codebase
308
- /parallel reviewer[skills=code-review+security] "review backend" -> reviewer[model=openai/gpt-5-mini] "review frontend"
288
+ /run codebase-locator[model=anthropic/claude-sonnet-4] summarize this codebase
289
+ /parallel codebase-analyzer[skills=code-review+security] "review backend" -> codebase-analyzer[model=openai/gpt-5-mini] "review frontend"
309
290
  ```
310
291
 
311
292
  | Key | Example | Description |
312
293
  |-----|---------|-------------|
313
- | `output` | `output=context.md` | Write results to a file. For `/chain` and `/parallel`, relative paths live under the chain directory; for `/run`, relative paths resolve against cwd. |
294
+ | `output` | `output=context.md` | Write results to a file. For `/parallel`, relative paths resolve against the child working directory; for `/run`, relative paths resolve against cwd. |
314
295
  | `outputMode` | `outputMode=file-only` | Return only a concise file reference for saved output instead of the full saved content. Requires `output`; default is `inline`. |
315
- | `reads` | `reads=a.md+b.md` | Read files before executing. `+` separates multiple paths. `/run` forwards these through the same resolver as tool-based foreground and background launches, so relative paths use the effective child working directory. |
296
+ | `reads` | `reads=a.md+b.md` | Read files before executing. `+` separates multiple paths. `/run` forwards these through the same resolver as tool-based foreground launches, so relative paths use the effective child working directory. |
316
297
  | `model` | `model=anthropic/claude-sonnet-4` | Override model for this step. |
317
298
  | `skills` | `skills=planning+review` | Override injected skills. `+` separates multiple skills. |
318
299
  | `progress` | `progress` | Enable progress tracking. |
319
300
 
320
301
  Set `output=false`, `reads=false`, or `skills=false` to disable that behavior explicitly. Do not use `output=false` for file-only returns; use `outputMode=file-only` with an `output` path.
321
302
 
322
- ### Background and forked runs
323
-
324
- Add `--bg` to run in the background:
325
-
326
- ```text
327
- /run scout "audit the codebase" --bg
328
- /chain scout "analyze auth" -> planner "design refactor" -> worker --bg
329
- /parallel scout "scan frontend" -> scout "scan backend" --bg
330
- ```
303
+ ### Forked runs
331
304
 
332
305
  Add `--fork` to start each child from a real branched session created from the parent’s current leaf:
333
306
 
334
307
  ```text
335
- /run reviewer "review this diff" --fork
336
- /chain scout "analyze this branch" -> planner "plan next steps" --fork
337
- /parallel scout "audit frontend" -> reviewer "audit backend" --fork
338
- ```
339
-
340
- You can combine them in either order:
341
-
342
- ```text
343
- /run reviewer "review this diff" --fork --bg
344
- /run reviewer "review this diff" --bg --fork
308
+ /run codebase-analyzer "review this diff" --fork
309
+ /parallel codebase-locator "audit frontend" -> codebase-analyzer "audit backend" --fork
345
310
  ```
346
311
 
347
- Background runs use the same in-process continuation as foreground detach. A successful acknowledgement means the canonical child path was returned and completion is pending; the live child remains owned by the parent process and the jobs widget tracks it. **`async: true` does not survive parent exit.** If the parent exits, the in-flight run ends; its persisted identity/session can be listed and resumed later.
348
-
349
- The `oracle` and `worker` builtins are designed for an explicit decision loop. A typical pattern is to ask `oracle` for diagnosis and a recommended execution prompt, then only run `worker` after the main agent approves that direction.
312
+ `worker` is designed for an explicit decision loop. A typical pattern is to ask a read-only specialist such as `codebase-analyzer` or `debugger` for diagnosis and a recommended execution prompt, then only run `worker` after the main agent approves that direction.
350
313
 
351
314
  ## Non-interactive execution
352
315
 
353
- Every supported subagent launch starts immediately without opening a preview/editor prompt or waiting for terminal input. This applies to single, parallel, chain, foreground, background, fanout, prompt-template, and human-entered `/run`, `/chain`, `/parallel`, and `/run-chain` execution. Gather any needed context and ask the user questions in the parent conversation before launching.
354
-
355
- The human slash commands remain on their separate parsing and event-bridge path, including background and fork flags.
316
+ Every supported subagent launch starts immediately without opening a preview/editor prompt or waiting for terminal input. This applies to single, parallel, forked, fanout, prompt-template, and human-entered `/run` and `/parallel` execution. Gather any needed context and ask the user questions in the parent conversation before launching.
356
317
 
357
- ## Agents and chains
318
+ ## Agents
358
319
 
359
320
  Agents are markdown files with YAML frontmatter and a system prompt body. They define the specialist that will run in a child Atomic session.
360
321
 
@@ -366,11 +327,11 @@ Agent locations, lowest to highest priority:
366
327
  | User | `~/.atomic/agent/agents/**/*.md` |
367
328
  | Project | `.atomic/agents/**/*.md` |
368
329
 
369
- Project discovery also reads legacy `.agents/**/*.md` and `.pi/agents/**/*.md` files. Nested subdirectories are discovered recursively. `.chain.md` files do not define agents. If primary Atomic and legacy paths define the same parsed runtime agent name, the primary `.atomic/agents/` definition wins. Use `agentScope: "user" | "project" | "both"` to control discovery; `both` is the default and project definitions win runtime-name collisions.
330
+ Project discovery also reads legacy `.agents/**/*.md` and `.pi/agents/**/*.md` files. Nested subdirectories are discovered recursively. If primary Atomic and legacy paths define the same parsed runtime agent name, the primary `.atomic/agents/` definition wins. Use `agentScope: "user" | "project" | "both"` to control discovery; `both` is the default and project definitions win runtime-name collisions.
370
331
 
371
- Builtin agents load at the lowest priority, so a user or project agent with the same name overrides them. They do not pin a provider model; they inherit your current Atomic default model unless you set `subagents.agentOverrides.<name>.model`. `oracle` is an advisory reviewer that critiques direction and proposes an execution prompt without editing files. `worker` is the implementation agent for normal tasks and approved oracle handoffs.
332
+ Builtin agents load at the lowest priority, so a user or project agent with the same name overrides them. They do not pin a provider model; they inherit your current Atomic default model unless you set `subagents.agentOverrides.<name>.model`. `worker` is the implementation agent for normal tasks and approved orchestrator handoffs.
372
333
 
373
- The `researcher` builtin uses `web_search`, `fetch_content`, and `get_search_content`; those require [pi-web-access](https://github.com/nicobailon/pi-web-access):
334
+ The `codebase-online-researcher` builtin uses `web_search`, `fetch_content`, and `get_search_content`; those require [pi-web-access](https://github.com/nicobailon/pi-web-access):
374
335
 
375
336
  ```bash
376
337
  pi install npm:pi-web-access
@@ -389,7 +350,7 @@ Example:
389
350
  {
390
351
  "subagents": {
391
352
  "agentOverrides": {
392
- "reviewer": {
353
+ "codebase-analyzer": {
393
354
  "inheritProjectContext": false
394
355
  }
395
356
  }
@@ -414,7 +375,7 @@ Use these fields when an agent should see more:
414
375
  | `inheritSkills: true` | Let the child see Pi’s discovered skills catalog. |
415
376
  | `defaultContext: fork` | Use forked session context when a launch omits `context`; explicit `context: "fresh"` still wins. |
416
377
 
417
- Builtin agents opt into project instruction inheritance by default so they follow repo-specific rules out of the box. `delegate` also uses append mode because its job is orchestration inside the parent workflow.
378
+ Builtin agents opt into project instruction inheritance by default so they follow repo-specific rules out of the box.
418
379
 
419
380
  ### Agent frontmatter
420
381
 
@@ -422,8 +383,8 @@ A typical agent looks like this:
422
383
 
423
384
  ```yaml
424
385
  ---
425
- name: scout
426
- # Optional: registers this as code-analysis.scout while preserving name: scout
386
+ name: api-auditor
387
+ # Optional: registers this as code-analysis.api-auditor while preserving name: api-auditor
427
388
  package: code-analysis
428
389
  description: Fast codebase recon
429
390
  tools: read, search, find, ls, bash, mcp:chrome-devtools
@@ -449,7 +410,7 @@ Important fields:
449
410
 
450
411
  | Field | Notes |
451
412
  |-------|-------|
452
- | `package` | Optional package identifier. A file with `name: scout` and `package: code-analysis` registers as `code-analysis.scout`; serialization keeps `name` and `package` separate. |
413
+ | `package` | Optional package identifier. A file with `name: api-auditor` and `package: code-analysis` registers as `code-analysis.api-auditor`; serialization keeps `name` and `package` separate. |
453
414
  | `tools` | Builtin tool allowlist. `mcp:` entries select direct MCP tools when `pi-mcp-adapter` is installed. |
454
415
  | `extensions` | Omitted means normal extensions; empty means no extensions; comma-separated values allowlist specific extensions. |
455
416
  | `model` | Default model. Bare ids prefer the current provider when possible, then unique registry matches. |
@@ -461,14 +422,14 @@ Important fields:
461
422
  | `defaultContext` | Optional `fresh` or `fork` launch context default for this agent. |
462
423
  | `skills` | Injects specific skills directly, regardless of `inheritSkills`. |
463
424
  | `output` | Default single-agent output file. |
464
- | `defaultReads` | Files to read before running in chain/parallel behavior. |
425
+ | `defaultReads` | Files to read before running in single or parallel behavior. |
465
426
  | `defaultProgress` | Maintain `progress.md`. |
466
427
  | `interactive` | Parsed for compatibility but not enforced in v1. |
467
428
  | `maxSubagentDepth` | Tightens nested delegation for this agent’s children. |
468
429
 
469
430
  ### Tool and extension selection
470
431
 
471
- If `tools` is omitted, `pi-subagents` does not pass `--tools`, so the child gets Pi’s normal builtin tools. If `tools` is present, regular tool names become an explicit allowlist. `mcp:` entries are split out and forwarded as direct MCP selections. Path-like `tools` entries, such as extension paths or `.ts`/`.js` files, are treated as tool-extension paths rather than builtin tool names. When an explicit empty `tools: []` allowlist is combined with `outputSchema`, Atomic passes only `--tools structured_output` so the required final-answer tool is available without restoring default tools; path-only extension entries remain extensions and do not trigger a builtin allowlist by themselves. The child prompt-runtime extension is always listed before user/tool extensions so its schema-backed `structured_output` registration is present when Atomic applies explicit tool allowlists.
432
+ If `tools` is omitted, `pi-subagents` does not pass `--tools`, so the child gets Pi’s normal builtin tools. If `tools` is present, regular tool names become an explicit allowlist. `mcp:` entries are split out and forwarded as direct MCP selections. Path-like `tools` entries, such as extension paths or `.ts`/`.js` files, are treated as tool-extension paths rather than builtin tool names. Path-only extension entries remain extensions and do not trigger a builtin allowlist by themselves. The child prompt-runtime extension is always listed before user/tool extensions.
472
433
 
473
434
  Examples:
474
435
 
@@ -492,116 +453,6 @@ extensions: /abs/path/to/ext-a.ts, /abs/path/to/ext-b.ts
492
453
 
493
454
  When `extensions` is present, it takes precedence over extension paths implied by `tools` entries.
494
455
 
495
- ## Chain files
496
-
497
- Chains are reusable workflows stored separately from agent files. Use `.chain.md` for simple sequential saved chains. Use `.chain.json` when a chain needs dynamic fanout.
498
-
499
- | Scope | Path |
500
- |-------|------|
501
- | User | `~/.atomic/agent/chains/**/*.chain.md`, `~/.atomic/agent/chains/**/*.chain.json` |
502
- | Project | `.atomic/chains/**/*.chain.md`, `.atomic/chains/**/*.chain.json` |
503
-
504
- Nested subdirectories are discovered recursively. If both `.chain.md` and `.chain.json` define the same parsed runtime chain name in the same scope, `.chain.json` wins. If user and project scopes define the same parsed runtime chain name, the project chain wins. Chains support the same optional `package` frontmatter as agents; `name: review-flow` plus `package: code-analysis` runs as `code-analysis.review-flow`.
505
-
506
- Example:
507
-
508
- ```md
509
- ---
510
- name: scout-planner
511
- description: Gather context then plan implementation
512
- ---
513
-
514
- ## scout
515
- phase: Context
516
- label: Map auth flow
517
- as: context
518
- output: context.md
519
-
520
- Analyze the codebase for {task}
521
-
522
- ## planner
523
- phase: Planning
524
- label: Implementation plan
525
- reads: context.md
526
- model: anthropic/claude-sonnet-4-5:high
527
- progress: true
528
-
529
- Create an implementation plan based on {outputs.context}
530
- ```
531
-
532
- Each `.chain.md` `## agent-name` section is a step. Config lines such as `phase`, `label`, `as`, `outputSchema`, `output`, `outputMode`, `reads`, `model`, `skills`, and `progress` go immediately after the header. A blank line separates config from task text. In saved `.chain.md` files, `outputSchema` is a path to a JSON Schema file; direct tool calls and `.chain.json` files can pass the schema object inline.
533
-
534
- When `outputSchema` is present, the child receives a schema-specific `structured_output` tool backed by Atomic's shared factory. The schema is passed directly to the tool. The child writes the tool arguments to `output.json`, and the parent validates that JSON against the schema before reading it back as `structuredOutput`; Atomic no longer adds object-root restrictions, sidecar metadata, transcript-finality checks, or duplicate-call guards. If the child finishes without calling `structured_output`, or the captured JSON fails schema validation, Atomic retries up to three times with a corrective prompt that includes the exact contract/validation error and reminds the child to call `structured_output` rather than returning plain JSON.
535
-
536
- Children without `outputSchema` do not receive `structured_output` from Atomic's default tool registry. They can still use a custom extension-provided terminating tool if you explicitly add one.
537
-
538
- For `output`, `reads`, `skills`, and `progress`, chain behavior is three-state: omitted inherits from the agent, a value overrides, and `false` disables.
539
-
540
- Use `phase` to group related work in status output, `label` for a readable step name, and `as` to store a successful step or parallel task result for later `{outputs.name}` references. Duplicate `as` names, invalid identifiers, and unknown output references fail before child execution.
541
-
542
- Dynamic fanout is available only through direct `subagent({ chain: [...] })` JSON or saved `.chain.json` files. It expands an array from a prior structured named output, runs one child template per item, and stores the ordered collection under `collect.as`. The source must be structured output; prose is never parsed. `expand.maxItems` is required, over-limit arrays fail, nested fanout and arbitrary expressions are not supported, and `.chain.md` has no dynamic syntax in this release. `collect.outputSchema` validates the collected array after child execution.
543
-
544
- ```json
545
- {
546
- "name": "dynamic-review",
547
- "description": "Find review targets, fan out reviewers, then synthesize.",
548
- "chain": [
549
- {
550
- "agent": "scout",
551
- "task": "Return {\"items\":[{\"path\":\"...\",\"reason\":\"...\"}]} via structured_output.",
552
- "as": "targets",
553
- "outputSchema": { "type": "object" }
554
- },
555
- {
556
- "expand": {
557
- "from": { "output": "targets", "path": "/items" },
558
- "item": "target",
559
- "key": "/path",
560
- "maxItems": 12
561
- },
562
- "parallel": {
563
- "agent": "reviewer",
564
- "label": "Review {target.path}",
565
- "task": "Review {target.path}. Reason: {target.reason}",
566
- "outputSchema": { "type": "object" }
567
- },
568
- "collect": { "as": "reviews" },
569
- "concurrency": 4
570
- },
571
- {
572
- "agent": "worker",
573
- "task": "Synthesize fixes from {outputs.reviews}"
574
- }
575
- ]
576
- }
577
- ```
578
-
579
- Create simple `.chain.md` chains by writing files directly or with the `subagent({ action: "create", config: ... })` management action. Create dynamic `.chain.json` chains by writing the JSON file directly. Run saved chains with natural language or:
580
-
581
- ```text
582
- /run-chain scout-planner -- refactor authentication
583
- ```
584
-
585
- ## Chain variables
586
-
587
- Task templates support:
588
-
589
- | Variable | Description |
590
- |----------|-------------|
591
- | `{task}` | Original task from the first step. |
592
- | `{previous}` | Output from the prior step, or aggregated output from a parallel step. |
593
- | `{chain_dir}` | Path to the chain artifact directory. |
594
- | `{outputs.name}` | Text value from a prior step or completed parallel task with `as: "name"`. |
595
-
596
- Parallel outputs are aggregated with clear separators before being passed to the next step:
597
-
598
- ```text
599
- === Parallel Task 1 (worker) ===
600
- ...
601
-
602
- === Parallel Task 2 (worker) ===
603
- ...
604
- ```
605
456
 
606
457
  ## Skills
607
458
 
@@ -622,12 +473,12 @@ Legacy `.pi` and `~/.pi/agent` skill/settings paths are also checked for compati
622
473
  Use agent defaults, override them at runtime, or disable them:
623
474
 
624
475
  ```ts
625
- { agent: "scout", task: "..." }
626
- { agent: "scout", task: "...", skill: "tmux, safe-bash" }
627
- { agent: "scout", task: "...", skill: false }
476
+ { agent: "codebase-locator", task: "..." }
477
+ { agent: "codebase-locator", task: "...", skill: "tmux, safe-bash" }
478
+ { agent: "codebase-locator", task: "...", skill: false }
628
479
  ```
629
480
 
630
- For chains, `skill` at the top level is additive. A step-level `skill` overrides that step; `false` disables skills for that step.
481
+ For subagent calls, `skill` overrides the agent default; `false` disables skills for that call.
631
482
 
632
483
  Injected skills use this shape:
633
484
 
@@ -641,10 +492,10 @@ Missing skills do not fail execution. The result summary shows a warning.
641
492
 
642
493
  ### Bundled skill
643
494
 
644
- The package bundles a `subagent` skill that is automatically available to the parent agent when the extension is installed. It is for the orchestrating parent only: child subagents never receive it unless explicitly authorized for fanout, and their context is filtered to strip parent-only orchestration instructions.
495
+ The package bundles a `subagent` skill that is automatically available to the parent agent when the extension is installed. It is for the orchestrating parent only: it is stripped from every child prompt, including fanout-authorized children, and child context is filtered to strip parent-only orchestration instructions. A child may still have the `subagent` tool registered; typed admission policy, not the skill, decides which of its actions are allowed.
645
496
 
646
497
  What the bundled skill covers:
647
- - **Delegation patterns**: when to launch which agent, whether to use single, parallel, chain, or async mode, and whether to use fresh or forked context
498
+ - **Delegation patterns**: when to launch which agent, whether to use single or parallel mode, and whether to use fresh or forked context
648
499
  - **Prompt workflow recipes**: how to apply the packaged techniques directly with `subagent(...)` when the user describes the workflow in natural language instead of invoking a slash command. This includes parallel review, review-loop, parallel research, parallel context-build, parallel handoff-plan, gather-context-and-clarify, and parallel cleanup
649
500
  - **Role-agent prompting guidance**: compact contract prompts instead of long scripts, what to include in role-specific meta prompts, and retrieval budgets for researchers
650
501
  - **Safety boundaries**: child agents must not run subagents, must not invent intercom targets, and must escalate unapproved decisions
@@ -662,11 +513,11 @@ These are the parameters the LLM passes when it calls the `subagent` tool. Most
662
513
  ```ts
663
514
  // Single agent
664
515
  { agent: "worker", task: "refactor auth" }
665
- { agent: "scout", task: "find todos", maxOutput: { lines: 1000 } }
666
- { agent: "scout", task: "investigate", output: false }
667
- { agent: "scout", task: "write a large report", output: "reports/scout.md", outputMode: "file-only" }
516
+ { agent: "codebase-locator", task: "find todos", maxOutput: { lines: 1000 } }
517
+ { agent: "codebase-locator", task: "investigate", output: false }
518
+ { agent: "codebase-locator", task: "write a large report", output: "reports/codebase-locator.md", outputMode: "file-only" }
668
519
 
669
- { agent: "scout", task: "review the design", cwd: "packages/api", reads: ["docs/design.md", "../shared.md"] }
520
+ { agent: "codebase-locator", task: "review the design", cwd: "packages/api", reads: ["docs/design.md", "../shared.md"] }
670
521
  // Forked context
671
522
  { agent: "worker", task: "continue this thread", context: "fork" }
672
523
  // Maintain a run-scoped progress.md under isolated artifact storage
@@ -674,65 +525,10 @@ These are the parameters the LLM passes when it calls the `subagent` tool. Most
674
525
 
675
526
 
676
527
  // Parallel
677
- { tasks: [{ agent: "scout", task: "a" }, { agent: "reviewer", task: "b" }] }
678
- { tasks: [{ agent: "scout", task: "audit auth", count: 3 }] }
679
- { tasks: [{ agent: "scout", task: "audit frontend" }, { agent: "reviewer", task: "audit backend" }], context: "fork" }
680
-
681
- // Chain
682
- { chain: [
683
- { agent: "scout", task: "Gather context for auth refactor" },
684
- { agent: "planner" },
685
- { agent: "worker" },
686
- { agent: "reviewer" }
687
- ]}
688
-
689
- // Chain in the background, suitable for unblocking the main chat
690
- { chain: [...], async: true }
691
-
692
- // Chain with fan-out/fan-in
693
- { chain: [
694
- { agent: "scout", task: "Gather context", phase: "Context", label: "Map code", as: "context" },
695
- { parallel: [
696
- { agent: "worker", task: "Implement feature A from {outputs.context}", label: "Feature A", as: "featureA" },
697
- { agent: "worker", task: "Implement feature B from {outputs.context}", label: "Feature B", as: "featureB" }
698
- ], concurrency: 2, failFast: true },
699
- { agent: "reviewer", task: "Review {outputs.featureA} and {outputs.featureB}" }
700
- ]}
701
-
702
- // Dynamic fanout from structured output
703
- { chain: [
704
- {
705
- agent: "scout",
706
- task: "Return review targets as structured_output: { items: [{ path, reason }] }",
707
- as: "targets",
708
- outputSchema: { type: "object" }
709
- },
710
- {
711
- expand: { from: { output: "targets", path: "/items" }, item: "target", key: "/path", maxItems: 12 },
712
- parallel: { agent: "reviewer", task: "Review {target.path}. Reason: {target.reason}", outputSchema: { type: "object" } },
713
- collect: { as: "reviews" },
714
- concurrency: 4
715
- },
716
- { agent: "worker", task: "Synthesize fixes from {outputs.reviews}" }
717
- ] }
718
-
719
- // Strict structured output for reliable handoff data
720
- { chain: [
721
- {
722
- agent: "scout",
723
- task: "Return the key files and risks for {task}",
724
- as: "scan",
725
- outputSchema: {
726
- type: "object",
727
- required: ["files", "risks"],
728
- properties: {
729
- files: { type: "array", items: { type: "string" } },
730
- risks: { type: "array", items: { type: "string" } }
731
- }
732
- }
733
- },
734
- { agent: "planner", task: "Plan from this scan: {outputs.scan}" }
735
- ] }
528
+ { tasks: [{ agent: "codebase-locator", task: "a" }, { agent: "codebase-analyzer", task: "b" }] }
529
+ { tasks: [{ agent: "codebase-locator", task: "audit auth", count: 3 }] }
530
+ { tasks: [{ agent: "codebase-locator", task: "audit frontend" }, { agent: "codebase-analyzer", task: "audit backend" }], context: "fork" }
531
+
736
532
 
737
533
  // Worktree isolation
738
534
  { tasks: [
@@ -743,21 +539,20 @@ These are the parameters the LLM passes when it calls the `subagent` tool. Most
743
539
 
744
540
  ### Management actions
745
541
 
746
- Agent definitions are not loaded into context by default. Management actions let the LLM discover, inspect, create, update, and delete agents and chains at runtime.
542
+ Agent definitions are not loaded into context by default. Management actions let the LLM discover, inspect, create, update, and delete agents at runtime.
747
543
 
748
544
  ```ts
749
545
  { action: "list" }
750
546
  { action: "list", agentScope: "project" }
751
- { action: "get", agent: "scout" }
752
- { action: "get", agent: "code-analysis.scout" }
753
- { action: "get", chainName: "review-pipeline" }
547
+ { action: "get", agent: "codebase-locator" }
548
+ { action: "get", agent: "code-analysis.api-auditor" }
754
549
 
755
550
  { action: "create", config: {
756
551
  name: "Code Scout",
757
552
  package: "code-analysis",
758
553
  description: "Scans codebases for patterns and issues",
759
554
  scope: "user",
760
- systemPrompt: "You are a code scout...",
555
+ systemPrompt: "You are a code codebase-locator...",
761
556
  systemPromptMode: "replace",
762
557
  inheritProjectContext: false,
763
558
  inheritSkills: false,
@@ -765,27 +560,16 @@ Agent definitions are not loaded into context by default. Management actions let
765
560
  fallbackModels: ["openai/gpt-5-mini", "anthropic/claude-haiku-4-5"],
766
561
  tools: "read, bash, mcp:github/search_repositories",
767
562
  extensions: "",
768
- skills: "parallel-scout",
563
+ skills: "parallel-codebase-locator",
769
564
  thinking: "high",
770
565
  output: "context.md",
771
566
  reads: "shared-context.md",
772
567
  progress: true
773
568
  }}
774
569
 
775
- { action: "create", config: {
776
- name: "review-pipeline",
777
- description: "Scout then review",
778
- scope: "project",
779
- steps: [
780
- { agent: "scout", task: "Scan {task}", output: "context.md" },
781
- { agent: "reviewer", task: "Review {previous}", reads: ["context.md"] }
782
- ]
783
- }}
784
570
 
785
- { action: "update", agent: "code-analysis.scout", config: { model: "openai/gpt-4o" } }
786
- { action: "update", chainName: "review-pipeline", config: { steps: [...] } }
787
- { action: "delete", agent: "scout" }
788
- { action: "delete", chainName: "review-pipeline" }
571
+ { action: "update", agent: "code-analysis.api-auditor", config: { model: "openai/gpt-4o" } }
572
+ { action: "delete", agent: "codebase-locator" }
789
573
  ```
790
574
 
791
575
  `create` uses `config.scope`, not `agentScope`. `config.name` is the local frontmatter name; optional `config.package` registers the runtime name as `{package}.{name}` and is saved as separate `name` and `package` frontmatter. `update` and `delete` use the runtime name and `agentScope` only when the same runtime name exists in multiple scopes. To clear optional string fields, including `package`, set them to `false` or `""`.
@@ -797,8 +581,7 @@ Agent definitions are not loaded into context by default. Management actions let
797
581
  | `agent` | string | - | Agent name for single mode, or target for management actions. |
798
582
  | `task` | string | - | Task string for single mode. |
799
583
  | `action` | string | - | `list`, `get`, `create`, `update`, `delete`, `status`, `interrupt`, `resume`, or `doctor`. |
800
- | `chainName` | string | - | Chain name for management actions. |
801
- | `config` | object/string | - | Agent or chain config for create/update. |
584
+ | `config` | object/string | - | Agent config for create/update. |
802
585
  | `output` | `string \| false` | agent default | Override single-agent output file. |
803
586
  | `outputMode` | `"inline" \| "file-only"` | `inline` | Return saved output inline or as a concise saved-file reference. `file-only` requires an `output` path. |
804
587
  | `reads` | `string[] \| false` | - | Single-agent files to read before execution, or `false` to disable. Relative paths resolve against the effective child `cwd`; absolute paths pass through. |
@@ -808,11 +591,8 @@ Agent definitions are not loaded into context by default. Management actions let
808
591
  | `tasks` | array | - | Top-level parallel tasks. Supports `agent`, `task`, `cwd`, `count`, `output`, `outputMode`, `reads`, `progress`, `skill`, and `model`. |
809
592
  | `concurrency` | number | config or `4` | Top-level parallel concurrency. |
810
593
  | `worktree` | boolean | false | Create isolated git worktrees for parallel tasks. |
811
- | `chain` | array | - | Sequential, static parallel, and dynamic fanout chain steps. Steps and chain parallel tasks support `phase`, `label`, `as`, and `outputSchema` in addition to the usual execution fields. Dynamic fanout uses `expand`, one child `parallel` template, and `collect`. |
812
- | `context` | `fresh \| fork` | agent default or `fresh` | `fork` creates real branched sessions from the parent leaf. Packaged `planner`, `worker`, and `oracle` default to `fork`. |
813
- | `chainDir` | string | temp chain dir | Persistent directory for chain artifacts. |
594
+ | `context` | `fresh \| fork` | agent default or `fresh` | `fork` creates real branched sessions from the parent leaf. Packaged `worker` defaults to `fork`; every other builtin runs fresh. |
814
595
  | `agentScope` | `user \| project \| both` | `both` | Agent discovery scope. Project wins on collisions. |
815
- | `async` | boolean | false | Background execution. Programmatic calls start without prompting in either foreground or background mode. |
816
596
  | `cwd` | string | runtime cwd | Override working directory. |
817
597
  | `maxOutput` | object | 200KB, 5000 lines | Final output truncation limits. |
818
598
  | `artifacts` | boolean | true | Write debug artifacts. |
@@ -822,9 +602,8 @@ Agent definitions are not loaded into context by default. Management actions let
822
602
 
823
603
  `context: "fork"` fails fast when the parent session is not persisted, the current leaf is missing, or the branched child session cannot be created. It never silently downgrades to `fresh`. In multi-agent runs, if any requested agent has `defaultContext: fork` and the launch omits `context`, the whole invocation uses forked context; pass `context: "fresh"` when you intentionally want a fresh run.
824
604
 
825
- Use `outputMode: "file-only"` when a saved output may be large and the parent only needs a pointer. The returned text is a compact reference like `Output saved to: /abs/report.md (48.2 KB, 2847 lines). Read this file if needed.` Failed runs and save errors still return normal inline output for debugging. In chains, later `{previous}` steps receive the same compact reference when the prior step used file-only mode.
605
+ Use `outputMode: "file-only"` when a saved output may be large and the parent only needs a pointer. The returned text is a compact reference like `Output saved to: /abs/report.md (48.2 KB, 2847 lines). Read this file if needed.` Failed runs and save errors still return normal inline output for debugging.
826
606
 
827
- Sequential and parallel chain tasks accept `agent`, `task`, `phase`, `label`, `as`, `outputSchema`, `cwd`, `output`, `outputMode`, `reads`, `progress`, `skill`, and `model`. Parallel tasks also accept `count`. Parallel step groups accept `parallel`, `concurrency`, `failFast`, and `worktree`. If child `outputSchema` is present, Atomic injects `structured_output`, writes the child tool arguments to `output.json`, and preserves the parsed value on the step result; `as` also exposes a compact text representation through `{outputs.name}`. Without `outputSchema`, Atomic does not inject `structured_output` into the child.
828
607
 
829
608
  Status and control actions:
830
609
 
@@ -837,7 +616,7 @@ subagent({ action: "resume", id: "<run-id>", index: 1, message: "follow-up for c
837
616
  subagent({ action: "doctor" })
838
617
  ```
839
618
 
840
- `resume` sends the follow-up directly when a child is still reachable. After completion or eviction, it cold-reloads the same canonical child identity from the stored session file. Multi-child async runs and remembered foreground single, parallel, or chain runs can be revived by passing `index` to choose the child; no new OS process is created.
619
+ `resume` sends the follow-up directly when a child is still reachable. After completion or eviction, it cold-reloads the same canonical child identity from the stored session file. Remembered foreground single or parallel runs can be revived by passing `index` to choose the child; no new OS process is created.
841
620
 
842
621
  ## Worktree isolation
843
622
 
@@ -849,15 +628,6 @@ Parallel agents can clobber each other if they edit the same checkout. `worktree
849
628
  { agent: "worker", task: "Implement API" }
850
629
  ], worktree: true }
851
630
 
852
- { chain: [
853
- { agent: "scout", task: "Gather context" },
854
- { parallel: [
855
- { agent: "worker", task: "Implement feature A from {previous}" },
856
- { agent: "worker", task: "Implement feature B from {previous}" }
857
- ], worktree: true },
858
- { agent: "reviewer", task: "Review all changes from {previous}" }
859
- ]}
860
- ```
861
631
 
862
632
  Requirements:
863
633
 
@@ -876,21 +646,7 @@ After a worktree parallel step completes, per-agent diff stats are appended to t
876
646
 
877
647
  Atomic subagents read optional JSON config from `~/.atomic/agent/extensions/subagent/config.json` and still check the legacy `~/.pi/agent/extensions/subagent/config.json` path for compatibility.
878
648
 
879
- ### `asyncByDefault`
880
-
881
- ```json
882
- { "asyncByDefault": true }
883
- ```
884
-
885
- Makes top-level calls use background execution when the request does not explicitly set `async`. Callers can still force foreground with `async: false` unless `forceTopLevelAsync` is enabled.
886
-
887
- ### `forceTopLevelAsync`
888
-
889
- ```json
890
- { "forceTopLevelAsync": true }
891
- ```
892
-
893
- Forces depth-0 single, parallel, and chain runs into background mode. Calls remain non-interactive in both foreground and background mode; nested calls keep their own inherited settings.
649
+ Subagent configuration controls discovery, parallel limits, session storage, depth, control notices, and intercom delivery. There are no execution-mode toggles; every execution request is foreground.
894
650
 
895
651
  ### `parallel`
896
652
 
@@ -964,13 +720,6 @@ stdin is a JSON object with `repoRoot`, `worktreePath`, `agentCwd`, `branch`, `i
964
720
 
965
721
  ## Files, logs, and observability
966
722
 
967
- Each chain run creates a user-scoped temp directory like:
968
-
969
- ```text
970
- <tmpdir>/atomic-subagents-<scope>/chain-runs/{runId}/
971
- ```
972
-
973
- It may contain files such as `context.md`, `plan.md`, `progress.md`, and `parallel-{stepIndex}/.../output.md`. Directories older than 24 hours are cleaned up on extension startup.
974
723
 
975
724
  Debug artifacts live under `{sessionDir}/subagent-artifacts/` or a user-scoped temp artifact directory. Per task you may see:
976
725
 
@@ -983,9 +732,9 @@ Metadata records timing, usage, typed status, termination cause, final model, at
983
732
 
984
733
  Session files are stored under a per-run session directory. With `context: "fork"`, each child starts from the parent’s current leaf through the session manager; this is a real session fork, not an injected summary.
985
734
 
986
- Async completions notify only the originating session. The in-process status watch emits live lifecycle updates, and the extension consumes the terminal event to render completion notifications.
735
+ Foreground completions notify the originating session. The in-process status watch emits live lifecycle updates, and the extension consumes the terminal event to render completion notifications.
987
736
 
988
- Async runs persist their durable session and user-facing artifacts beside the parent session:
737
+ Foreground runs persist their session and user-facing artifacts beside the parent session:
989
738
 
990
739
  ```text
991
740
  {parent-session-dir}/subagent-artifacts/
@@ -996,7 +745,7 @@ Async runs persist their durable session and user-facing artifacts beside the pa
996
745
  run-history.jsonl
997
746
  ```
998
747
 
999
- The Rust registry and status watch power the widget and `subagent({ action: "status" })` output. Terminal delivery is an in-memory bounded envelope persisted once with typed `status`, `cause`, and `stats`; there is no `status.json`, `events.jsonl`, PID reconciler, result watcher, or claim pipeline.
748
+ The Rust registry and status watch power `subagent({ action: "status" })` output. Terminal delivery is an in-memory bounded envelope persisted once with typed `status`, `cause`, and `stats`; there is no `status.json`, `events.jsonl`, PID reconciler, result watcher, or claim pipeline.
1000
749
 
1001
750
  ## Completion and output
1002
751
 
@@ -1004,28 +753,27 @@ Subagent runs no longer inject acceptance gate prompts, infer task policies from
1004
753
 
1005
754
  ### Migration from acceptance gates
1006
755
 
1007
- For existing subagent integrations and saved definitions:
756
+ For existing subagent integrations and agent definitions:
1008
757
 
1009
- - Remove `acceptance` properties from `subagent()` calls, top-level `tasks` items, `chain` steps, static parallel task items, and dynamic fanout parallel templates. The fields are no longer read; JSON chain rewrites drop legacy copies.
758
+ - Remove `acceptance` properties from `subagent()` calls, top-level `tasks` items, and parallel task items. The fields are no longer read.
1010
759
  - Remove `completionGuard: false` from agent frontmatter or custom agent definitions. The completion guard no longer exists, so the override has no effect and management rewrites strip it.
1011
760
  - Put validation, command, evidence, review, or residual-risk requirements directly in the task text you pass to the parent or child agent.
1012
761
 
1013
762
  ## Live progress
1014
763
 
1015
- Foreground runs show compact live progress for single, chain, and parallel modes: current tool, recent output, token counts, duration, activity freshness, current-tool duration, and chain graph metadata when available.
764
+ Foreground runs show compact live progress for single and parallel modes: current tool, recent output, token counts, duration, activity freshness, current-tool duration, and artifact paths when available.
1016
765
 
1017
- File-based tracking and returned telemetry are separate. On a single-agent call, `progress: true` creates a run-scoped `progress.md` under isolated subagent artifact storage and asks the child to maintain it in foreground or background mode without writing `progress.md` into the child working directory. `progress: false` disables an agent's `defaultProgress`. `includeProgress: true` only adds detailed runtime progress data to the final foreground tool result; it does not enable the file.
766
+ File-based tracking and returned telemetry are separate. On a single-agent call, `progress: true` creates a run-scoped `progress.md` under isolated subagent artifact storage and asks the child to maintain it without writing `progress.md` into the child working directory. `progress: false` disables an agent's `defaultProgress`. `includeProgress: true` only adds detailed runtime progress data to the final foreground tool result; it does not enable the file.
1018
767
 
1019
768
  Press `CTRL+O` to expand the full streaming view with complete output per step.
1020
769
 
1021
- Sequential chains show a flow line like `done scout → running planner`. Chains with parallel steps show per-step cards instead. Chain status uses `label` and `phase` metadata when present, while falling back to agent names for older chains.
1022
770
 
1023
771
  ## Session sharing
1024
772
 
1025
773
  Pass `share: true` to export a full session to HTML, upload it to a secret GitHub Gist through your `gh` credentials, and return a `https://shittycodingagent.ai/session/?<gistId>` URL.
1026
774
 
1027
775
  ```ts
1028
- { agent: "scout", task: "...", share: true }
776
+ { agent: "codebase-locator", task: "...", share: true }
1029
777
  ```
1030
778
 
1031
779
  This is disabled by default. Session data may contain source code, paths, environment variables, credentials, or other sensitive output. You need `gh` installed and authenticated.
@@ -1043,23 +791,34 @@ Configure a lower or equal limit with:
1043
791
 
1044
792
  The depth policy is typed admission state and is not inherited through an environment variable.
1045
793
 
1046
- ## Events
1047
-
1048
- Async events:
1049
-
1050
- - `subagent:async-started`
1051
- - `subagent:async-complete`
1052
-
1053
- Intercom delivery events:
794
+ Completion and intercom events:
1054
795
 
796
+ - `subagent:complete`
1055
797
  - `subagent:control-intercom`
1056
798
  - `subagent:result-intercom`
1057
799
 
1058
- The in-process status watch emits `subagent:async-complete`; `src/extension/index.ts` registers the notification handler that consumes it. Control/attention events are surfaced as visible parent notices, and typed terminal records carry the canonical path, status, cause, and session statistics. With `pi-intercom`, needs-attention notices and grouped parent-side subagent result deliveries can reach the orchestrator over intercom.
800
+ Foreground status/control events are surfaced as visible parent notices, and typed terminal records carry the canonical path, status, cause, and session statistics. With `pi-intercom`, needs-attention notices and grouped parent-side subagent result deliveries can reach the orchestrator over intercom.
1059
801
 
1060
802
  ## Prompt-template integration
1061
803
 
1062
804
  `pi-subagents` works standalone through natural language, the `subagent` tool, slash commands, and the packaged prompt shortcuts listed near the top of this README. If you use [pi-prompt-template-model](https://github.com/nicobailon/pi-prompt-template-model), you can also wrap subagent delegation in your own reusable prompt templates.
805
+ The request emitter is the separately installed `pi-prompt-template-model` extension (`requestDelegatedRun` in its `subagent-step.ts`), not this package. A caller that keeps a request alive across reloads must register its rejection path before emitting the request:
806
+
807
+ ```ts
808
+ import { registerPromptTemplateBridgeRequestSettlement } from "@bastani/subagents";
809
+
810
+ const unregister = registerPromptTemplateBridgeRequestSettlement(request.requestId, reject);
811
+ try {
812
+ pi.events.emit("prompt-template:subagent:request", request);
813
+ } catch (error) {
814
+ unregister();
815
+ reject(error);
816
+ }
817
+ // Call unregister() from the caller's response, cancellation, or abort path.
818
+ ```
819
+
820
+ The hook rejects only when Atomic drops a bridge emit because the captured extension runtime is stale. Continue listening for `prompt-template:subagent:response` for normal completion. This opt-in is needed because the external emitter and the reloaded bridge do not share the same runtime lifetime; Atomic cannot register it on the caller's behalf.
821
+
1063
822
 
1064
823
  Example:
1065
824
 
@@ -1075,7 +834,7 @@ Use url in the prompt to take screenshot: $@
1075
834
 
1076
835
  Then `/take-screenshot https://example.com` switches to Sonnet, delegates to `browser-screenshoter` with `/tmp/screenshots` as cwd, and restores your model when done. Runtime overrides like `--cwd=<path>` and `--subagent=<name>` work too.
1077
836
 
1078
- For more reusable workflows on top of subagents, including `/chain-prompts` and compare-style prompts such as `/best-of-n`, install `pi-prompt-template-model` separately and copy the examples you want into `~/.pi/agent/prompts/`.
837
+ For more reusable prompt-template workflows on top of subagents, install `pi-prompt-template-model` separately and copy the examples you want into `~/.pi/agent/prompts/`.
1079
838
 
1080
839
  ## Runtime files
1081
840
 
@@ -1084,14 +843,12 @@ The main runtime files are:
1084
843
  | File | Purpose |
1085
844
  |------|---------|
1086
845
  | `src/extension/index.ts` | Extension registration, tool registration, message/render wiring. |
1087
- | `src/agents/agents.ts` | Agent and chain discovery, frontmatter parsing. |
1088
- | `src/runs/foreground/subagent-executor.ts` | Main execution routing for single, parallel, chain, management, status, interrupt, and doctor actions. |
846
+ | `src/agents/agents.ts` | Agent discovery and frontmatter parsing. |
847
+ | `src/runs/foreground/subagent-executor.ts` | Main execution routing for single, parallel, management, status, interrupt, and doctor actions. |
1089
848
  | `src/runs/foreground/execution.ts` | Core foreground `runSync` handling. |
1090
- | `src/runs/background/subagent-runner.ts` | Detached async runner. |
1091
- | `src/runs/background/async-execution.ts` | Background launch support. |
1092
- | `src/runs/background/async-status.ts` | Status discovery and formatting for async runs. |
1093
- | `src/runs/foreground/chain-execution.ts` / `src/agents/chain-serializer.ts` | Chain orchestration and `.chain.md` parsing. |
1094
- | `src/shared/settings.ts` | Chain behavior, instructions, and config helpers. |
849
+ | `src/runs/foreground/notify.ts` | Completion-notification delivery for a detached Intercom child. |
850
+ | `src/runs/foreground/completion-notification.ts` | Local completion acknowledgement and ordering barrier for detached children. |
851
+ | `src/shared/settings.ts` | Shared task behavior, instructions, and config helpers. |
1095
852
  | `src/runs/shared/worktree.ts` | Git worktree isolation. |
1096
853
  | `src/intercom/intercom-bridge.ts` | Runtime intercom bridge instructions and diagnostics. |
1097
854
  | `src/extension/schemas.ts` / `src/shared/types.ts` | Tool schemas, shared types, and event constants. |