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

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 (1048) hide show
  1. package/CHANGELOG.md +130 -0
  2. package/README.md +35 -17
  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 +19 -0
  10. package/dist/builtin/intercom/README.md +25 -4
  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/index-heavy.ts +38 -5
  21. package/dist/builtin/intercom/index.ts +7 -3
  22. package/dist/builtin/intercom/intercom-tool.ts +82 -5
  23. package/dist/builtin/intercom/lazy-subagent-ack.ts +11 -6
  24. package/dist/builtin/intercom/package.json +2 -3
  25. package/dist/builtin/intercom/runtime-group.ts +13 -0
  26. package/dist/builtin/intercom/skills/intercom/SKILL.md +30 -2
  27. package/dist/builtin/intercom/subagent-relay.ts +32 -16
  28. package/dist/builtin/intercom/terminal-ordering-barrier.ts +21 -4
  29. package/dist/builtin/intercom/types.ts +3 -1
  30. package/dist/builtin/intercom/ui/compose.ts +8 -6
  31. package/dist/builtin/intercom/ui/session-list.ts +7 -5
  32. package/dist/builtin/mcp/CHANGELOG.md +13 -0
  33. package/dist/builtin/mcp/glimpse-ui.ts +2 -1
  34. package/dist/builtin/mcp/index.ts +1 -11
  35. package/dist/builtin/mcp/mcp-panel.ts +35 -34
  36. package/dist/builtin/mcp/mcp-setup-panel.ts +35 -33
  37. package/dist/builtin/mcp/npx-resolver.ts +3 -2
  38. package/dist/builtin/mcp/package.json +3 -3
  39. package/dist/builtin/mcp/sampling-handler.ts +5 -1
  40. package/dist/builtin/mcp/server-manager.ts +4 -7
  41. package/dist/builtin/subagents/CHANGELOG.md +33 -0
  42. package/dist/builtin/subagents/README.md +124 -323
  43. package/dist/builtin/subagents/agents/worker.md +1 -1
  44. package/dist/builtin/subagents/package.json +5 -5
  45. package/dist/builtin/subagents/prompts/parallel-context-build.md +2 -2
  46. package/dist/builtin/subagents/prompts/parallel-handoff-plan.md +4 -4
  47. package/dist/builtin/subagents/prompts/review-loop.md +1 -1
  48. package/dist/builtin/subagents/skills/subagent/SKILL.md +39 -102
  49. package/dist/builtin/subagents/src/agents/agent-discovery.ts +1 -29
  50. package/dist/builtin/subagents/src/agents/agent-loaders.ts +1 -40
  51. package/dist/builtin/subagents/src/agents/agent-management-helpers.ts +6 -135
  52. package/dist/builtin/subagents/src/agents/agent-management.ts +52 -282
  53. package/dist/builtin/subagents/src/agents/agent-paths.ts +0 -22
  54. package/dist/builtin/subagents/src/agents/agent-types.ts +0 -40
  55. package/dist/builtin/subagents/src/agents/agents.ts +0 -3
  56. package/dist/builtin/subagents/src/agents/identity.ts +2 -4
  57. package/dist/builtin/subagents/src/agents/skills-paths.ts +8 -1
  58. package/dist/builtin/subagents/src/extension/doctor.ts +3 -23
  59. package/dist/builtin/subagents/src/extension/index.ts +9 -7
  60. package/dist/builtin/subagents/src/extension/prompt-guidance.ts +2 -2
  61. package/dist/builtin/subagents/src/extension/schemas.ts +1 -157
  62. package/dist/builtin/subagents/src/extension/startup-maintenance.ts +0 -2
  63. package/dist/builtin/subagents/src/extension/tool-description.ts +4 -13
  64. package/dist/builtin/subagents/src/intercom/intercom-bridge.ts +6 -2
  65. package/dist/builtin/subagents/src/intercom/result-intercom.ts +20 -22
  66. package/dist/builtin/subagents/src/intercom/supervisor-authorization.ts +9 -2
  67. package/dist/builtin/subagents/src/runs/background/async-job-tracker.ts +97 -16
  68. package/dist/builtin/subagents/src/runs/background/completion-notification.ts +8 -3
  69. package/dist/builtin/subagents/src/runs/background/notify.ts +54 -18
  70. package/dist/builtin/subagents/src/runs/foreground/execution-updates.ts +0 -5
  71. package/dist/builtin/subagents/src/runs/foreground/execution.ts +1 -4
  72. package/dist/builtin/subagents/src/runs/foreground/inprocess-run-sync.ts +117 -15
  73. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-async.ts +11 -40
  74. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-context.ts +11 -22
  75. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-input.ts +10 -173
  76. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel-task.ts +6 -4
  77. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel.ts +9 -2
  78. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-single.ts +9 -2
  79. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-status.ts +32 -12
  80. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-types.ts +2 -6
  81. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-worktree.ts +1 -14
  82. package/dist/builtin/subagents/src/runs/foreground/subagent-executor.ts +56 -31
  83. package/dist/builtin/subagents/src/runs/inprocess/background-single.ts +46 -30
  84. package/dist/builtin/subagents/src/runs/inprocess/background.ts +2 -1
  85. package/dist/builtin/subagents/src/runs/inprocess/runner.ts +343 -89
  86. package/dist/builtin/subagents/src/runs/inprocess/runtime-support/nested-projection.ts +0 -2
  87. package/dist/builtin/subagents/src/runs/inprocess/runtime-support/nested-sanitize.ts +1 -3
  88. package/dist/builtin/subagents/src/runs/shared/intercom-group.ts +23 -7
  89. package/dist/builtin/subagents/src/runs/shared/parallel-utils.ts +0 -86
  90. package/dist/builtin/subagents/src/runs/shared/worktree.ts +7 -2
  91. package/dist/builtin/subagents/src/shared/formatters.ts +2 -56
  92. package/dist/builtin/subagents/src/shared/settings.ts +14 -350
  93. package/dist/builtin/subagents/src/shared/types-async.ts +8 -31
  94. package/dist/builtin/subagents/src/shared/types-config.ts +20 -22
  95. package/dist/builtin/subagents/src/shared/types-depth.ts +30 -56
  96. package/dist/builtin/subagents/src/shared/types-results.ts +9 -58
  97. package/dist/builtin/subagents/src/shared/types-runtime.ts +0 -1
  98. package/dist/builtin/subagents/src/shared/utils.ts +5 -0
  99. package/dist/builtin/subagents/src/slash/bridge-settlement.ts +87 -0
  100. package/dist/builtin/subagents/src/slash/prompt-template-bridge.ts +47 -7
  101. package/dist/builtin/subagents/src/slash/slash-bridge.ts +27 -7
  102. package/dist/builtin/subagents/src/slash/slash-commands.ts +37 -82
  103. package/dist/builtin/subagents/src/slash/slash-live-state.ts +1 -92
  104. package/dist/builtin/subagents/src/tui/render-event-formatting.ts +2 -35
  105. package/dist/builtin/subagents/src/tui/render-progress.ts +89 -0
  106. package/dist/builtin/subagents/src/tui/render-result-compact.ts +43 -71
  107. package/dist/builtin/subagents/src/tui/render-result.ts +41 -90
  108. package/dist/builtin/subagents/src/tui/render-stable-output.ts +0 -5
  109. package/dist/builtin/subagents/src/tui/render-widget-graph.ts +6 -55
  110. package/dist/builtin/web-access/CHANGELOG.md +14 -0
  111. package/dist/builtin/web-access/chrome-cookies.ts +3 -2
  112. package/dist/builtin/web-access/github-api.ts +7 -6
  113. package/dist/builtin/web-access/github-extract.ts +2 -1
  114. package/dist/builtin/web-access/package.json +3 -3
  115. package/dist/builtin/web-access/subprocess.ts +3 -1
  116. package/dist/builtin/web-access/summary-review.ts +2 -2
  117. package/dist/builtin/web-access/web-search-features.ts +38 -22
  118. package/dist/builtin/web-access/web-search-summary.ts +2 -2
  119. package/dist/builtin/workflows/CHANGELOG.md +45 -0
  120. package/dist/builtin/workflows/README.md +41 -1
  121. package/dist/builtin/workflows/builtin/open-claude-design-utils.ts +3 -0
  122. package/dist/builtin/workflows/builtin/ralph-models.ts +25 -20
  123. package/dist/builtin/workflows/builtin/shared-prompts.ts +5 -2
  124. package/dist/builtin/workflows/package.json +2 -2
  125. package/dist/builtin/workflows/src/durable/backend.ts +18 -1
  126. package/dist/builtin/workflows/src/durable/completed-catalog-stage-groups.ts +60 -3
  127. package/dist/builtin/workflows/src/durable/completed-catalog.ts +67 -1
  128. package/dist/builtin/workflows/src/durable/completed-subtree.ts +22 -7
  129. package/dist/builtin/workflows/src/durable/dbos-metadata.ts +4 -0
  130. package/dist/builtin/workflows/src/durable/local-command.ts +2 -1
  131. package/dist/builtin/workflows/src/durable/types.ts +17 -1
  132. package/dist/builtin/workflows/src/durable/workflow-child-result.ts +3 -1
  133. package/dist/builtin/workflows/src/engine/primitives/workflow.ts +1 -1
  134. package/dist/builtin/workflows/src/engine/run-durable-finalize.ts +10 -2
  135. package/dist/builtin/workflows/src/engine/run-durable-topology.ts +9 -2
  136. package/dist/builtin/workflows/src/extension/atomic-stage-session.ts +7 -1
  137. package/dist/builtin/workflows/src/extension/companions.ts +1 -1
  138. package/dist/builtin/workflows/src/extension/index.bundle.mjs +947 -447
  139. package/dist/builtin/workflows/src/extension/lifecycle-notifications.ts +31 -3
  140. package/dist/builtin/workflows/src/extension/mcp.ts +13 -2
  141. package/dist/builtin/workflows/src/extension/render-result.ts +1 -0
  142. package/dist/builtin/workflows/src/extension/ui-surface.ts +7 -20
  143. package/dist/builtin/workflows/src/extension/wiring.ts +33 -6
  144. package/dist/builtin/workflows/src/extension/workflow-ports.ts +14 -6
  145. package/dist/builtin/workflows/src/extension/workflow-prompts.ts +11 -6
  146. package/dist/builtin/workflows/src/extension/workflow-run-control-command.ts +8 -0
  147. package/dist/builtin/workflows/src/extension/workflow-tool-control.ts +2 -0
  148. package/dist/builtin/workflows/src/intercom/intercom-routing.ts +12 -6
  149. package/dist/builtin/workflows/src/intercom/result-intercom.ts +35 -4
  150. package/dist/builtin/workflows/src/runs/background/status.ts +15 -0
  151. package/dist/builtin/workflows/src/runs/foreground/executor-abort.ts +11 -3
  152. package/dist/builtin/workflows/src/runs/foreground/executor-child-boundary.ts +2 -1
  153. package/dist/builtin/workflows/src/runs/foreground/executor-exit-manager.ts +26 -2
  154. package/dist/builtin/workflows/src/runs/foreground/executor-run-finalizers.ts +3 -2
  155. package/dist/builtin/workflows/src/runs/shared/worktree-git-runner.ts +5 -2
  156. package/dist/builtin/workflows/src/runs/shared/worktree-setup.ts +2 -0
  157. package/dist/builtin/workflows/src/shared/authoring-contract-stage.d.ts +5 -3
  158. package/dist/builtin/workflows/src/shared/authoring-contract-stage.ts +5 -3
  159. package/dist/builtin/workflows/src/shared/graph-store-snapshot.ts +34 -2
  160. package/dist/builtin/workflows/src/shared/persistence-restore-helpers.ts +23 -6
  161. package/dist/builtin/workflows/src/shared/stage-ui-broker.ts +10 -4
  162. package/dist/builtin/workflows/src/shared/store-public-types.ts +4 -2
  163. package/dist/builtin/workflows/src/shared/store-types.ts +1 -1
  164. package/dist/builtin/workflows/src/shared/workflow-artifact-env.ts +21 -0
  165. package/dist/builtin/workflows/src/shared/workflow-artifacts.ts +2 -5
  166. package/dist/builtin/workflows/src/tui/dispatch-confirm.ts +37 -2
  167. package/dist/builtin/workflows/src/tui/graph-view-constants.ts +0 -15
  168. package/dist/builtin/workflows/src/tui/graph-view-graph-render.ts +38 -47
  169. package/dist/builtin/workflows/src/tui/graph-view-input.ts +48 -45
  170. package/dist/builtin/workflows/src/tui/graph-view-layout.ts +266 -0
  171. package/dist/builtin/workflows/src/tui/graph-view-render-helpers.ts +1 -86
  172. package/dist/builtin/workflows/src/tui/graph-view-render.ts +209 -91
  173. package/dist/builtin/workflows/src/tui/graph-view-state.ts +5 -7
  174. package/dist/builtin/workflows/src/tui/graph-view-types.ts +13 -7
  175. package/dist/builtin/workflows/src/tui/inline-form-editor.ts +8 -6
  176. package/dist/builtin/workflows/src/tui/inline-form-overlay.ts +2 -1
  177. package/dist/builtin/workflows/src/tui/inputs-overlay.ts +7 -4
  178. package/dist/builtin/workflows/src/tui/inputs-picker-input.ts +66 -0
  179. package/dist/builtin/workflows/src/tui/keybindings-adapter.ts +1 -0
  180. package/dist/builtin/workflows/src/tui/node-card.ts +1 -1
  181. package/dist/builtin/workflows/src/tui/overlay-adapter.ts +18 -46
  182. package/dist/builtin/workflows/src/tui/overlay-terminal-modes.ts +15 -26
  183. package/dist/builtin/workflows/src/tui/session-overlays.ts +5 -2
  184. package/dist/builtin/workflows/src/tui/session-picker.ts +27 -0
  185. package/dist/builtin/workflows/src/tui/stage-chat-view-footer-status.ts +5 -14
  186. package/dist/builtin/workflows/src/tui/stage-chat-view-input.ts +8 -7
  187. package/dist/builtin/workflows/src/tui/stage-chat-view-state.ts +12 -3
  188. package/dist/builtin/workflows/src/tui/stage-chat-view-types.ts +1 -11
  189. package/dist/builtin/workflows/src/tui/stage-chat-view.ts +0 -8
  190. package/dist/builtin/workflows/src/tui/status-list.ts +1 -0
  191. package/dist/builtin/workflows/src/tui/store-widget-installer.ts +2 -6
  192. package/dist/builtin/workflows/src/tui/workflow-attach-pane-types.ts +0 -15
  193. package/dist/builtin/workflows/src/tui/workflow-attach-pane.ts +2 -26
  194. package/dist/builtin/workflows/src/tui/workflow-status.ts +3 -3
  195. package/dist/bun/split-loader.js +2 -0
  196. package/dist/bun/split-loader.js.map +1 -1
  197. package/dist/cli/args.d.ts.map +1 -1
  198. package/dist/cli/args.js +6 -2
  199. package/dist/cli/args.js.map +1 -1
  200. package/dist/cli/auth-check.d.ts +35 -0
  201. package/dist/cli/auth-check.d.ts.map +1 -0
  202. package/dist/cli/auth-check.js +100 -0
  203. package/dist/cli/auth-check.js.map +1 -0
  204. package/dist/cli/auth-command.d.ts +27 -0
  205. package/dist/cli/auth-command.d.ts.map +1 -0
  206. package/dist/cli/auth-command.js +150 -0
  207. package/dist/cli/auth-command.js.map +1 -0
  208. package/dist/cli/config-selector.js +2 -2
  209. package/dist/cli/config-selector.js.map +1 -1
  210. package/dist/cli/credential-print.d.ts +18 -23
  211. package/dist/cli/credential-print.d.ts.map +1 -1
  212. package/dist/cli/credential-print.js +42 -88
  213. package/dist/cli/credential-print.js.map +1 -1
  214. package/dist/cli/experimental/auth.d.ts +16 -0
  215. package/dist/cli/experimental/auth.d.ts.map +1 -0
  216. package/dist/cli/experimental/auth.js +13 -0
  217. package/dist/cli/experimental/auth.js.map +1 -0
  218. package/dist/cli/experimental/cli.d.ts +6 -0
  219. package/dist/cli/experimental/cli.d.ts.map +1 -0
  220. package/dist/cli/experimental/cli.js +5 -0
  221. package/dist/cli/experimental/cli.js.map +1 -0
  222. package/dist/cli/experimental/command-options.d.ts +17 -0
  223. package/dist/cli/experimental/command-options.d.ts.map +1 -0
  224. package/dist/cli/experimental/command-options.js +35 -0
  225. package/dist/cli/experimental/command-options.js.map +1 -0
  226. package/dist/cli/experimental/command.d.ts +63 -0
  227. package/dist/cli/experimental/command.d.ts.map +1 -0
  228. package/dist/cli/experimental/command.js +127 -0
  229. package/dist/cli/experimental/command.js.map +1 -0
  230. package/dist/cli/experimental/commands/client.d.ts +13 -0
  231. package/dist/cli/experimental/commands/client.d.ts.map +1 -0
  232. package/dist/cli/experimental/commands/client.js +25 -0
  233. package/dist/cli/experimental/commands/client.js.map +1 -0
  234. package/dist/cli/experimental/commands/pi.d.ts +15 -0
  235. package/dist/cli/experimental/commands/pi.d.ts.map +1 -0
  236. package/dist/cli/experimental/commands/pi.js +28 -0
  237. package/dist/cli/experimental/commands/pi.js.map +1 -0
  238. package/dist/cli/experimental/commands/server.d.ts +13 -0
  239. package/dist/cli/experimental/commands/server.d.ts.map +1 -0
  240. package/dist/cli/experimental/commands/server.js +25 -0
  241. package/dist/cli/experimental/commands/server.js.map +1 -0
  242. package/dist/cli/experimental/transport-address.d.ts +10 -0
  243. package/dist/cli/experimental/transport-address.d.ts.map +1 -0
  244. package/dist/cli/experimental/transport-address.js +38 -0
  245. package/dist/cli/experimental/transport-address.js.map +1 -0
  246. package/dist/cli/session-picker.js +2 -2
  247. package/dist/cli/session-picker.js.map +1 -1
  248. package/dist/cli/startup-ui.d.ts.map +1 -1
  249. package/dist/cli/startup-ui.js +4 -10
  250. package/dist/cli/startup-ui.js.map +1 -1
  251. package/dist/cli.js +2 -0
  252. package/dist/cli.js.map +1 -1
  253. package/dist/client/index.d.ts +3 -0
  254. package/dist/client/index.d.ts.map +1 -0
  255. package/dist/client/index.js +3 -0
  256. package/dist/client/index.js.map +1 -0
  257. package/dist/client/remote-session.d.ts +64 -0
  258. package/dist/client/remote-session.d.ts.map +1 -0
  259. package/dist/client/remote-session.js +351 -0
  260. package/dist/client/remote-session.js.map +1 -0
  261. package/dist/client/transcript.d.ts +12 -0
  262. package/dist/client/transcript.d.ts.map +1 -0
  263. package/dist/client/transcript.js +98 -0
  264. package/dist/client/transcript.js.map +1 -0
  265. package/dist/core/agent-session-auto-compaction.d.ts +17 -13
  266. package/dist/core/agent-session-auto-compaction.d.ts.map +1 -1
  267. package/dist/core/agent-session-auto-compaction.js +146 -64
  268. package/dist/core/agent-session-auto-compaction.js.map +1 -1
  269. package/dist/core/agent-session-bash.d.ts.map +1 -1
  270. package/dist/core/agent-session-bash.js +2 -0
  271. package/dist/core/agent-session-bash.js.map +1 -1
  272. package/dist/core/agent-session-compaction.d.ts +3 -6
  273. package/dist/core/agent-session-compaction.d.ts.map +1 -1
  274. package/dist/core/agent-session-compaction.js +64 -28
  275. package/dist/core/agent-session-compaction.js.map +1 -1
  276. package/dist/core/agent-session-events.d.ts +1 -11
  277. package/dist/core/agent-session-events.d.ts.map +1 -1
  278. package/dist/core/agent-session-events.js +15 -23
  279. package/dist/core/agent-session-events.js.map +1 -1
  280. package/dist/core/agent-session-extension-bindings.d.ts.map +1 -1
  281. package/dist/core/agent-session-extension-bindings.js +4 -2
  282. package/dist/core/agent-session-extension-bindings.js.map +1 -1
  283. package/dist/core/agent-session-methods.d.ts +6 -2
  284. package/dist/core/agent-session-methods.d.ts.map +1 -1
  285. package/dist/core/agent-session-methods.js.map +1 -1
  286. package/dist/core/agent-session-models.d.ts +1 -0
  287. package/dist/core/agent-session-models.d.ts.map +1 -1
  288. package/dist/core/agent-session-models.js +11 -4
  289. package/dist/core/agent-session-models.js.map +1 -1
  290. package/dist/core/agent-session-post-tool-compaction.d.ts.map +1 -1
  291. package/dist/core/agent-session-post-tool-compaction.js +22 -6
  292. package/dist/core/agent-session-post-tool-compaction.js.map +1 -1
  293. package/dist/core/agent-session-runtime-auth.d.ts.map +1 -1
  294. package/dist/core/agent-session-runtime-auth.js +3 -0
  295. package/dist/core/agent-session-runtime-auth.js.map +1 -1
  296. package/dist/core/agent-session-tool-hooks.d.ts.map +1 -1
  297. package/dist/core/agent-session-tool-hooks.js +25 -14
  298. package/dist/core/agent-session-tool-hooks.js.map +1 -1
  299. package/dist/core/agent-session-tool-registry.d.ts.map +1 -1
  300. package/dist/core/agent-session-tool-registry.js +4 -0
  301. package/dist/core/agent-session-tool-registry.js.map +1 -1
  302. package/dist/core/agent-session-types.d.ts +2 -0
  303. package/dist/core/agent-session-types.d.ts.map +1 -1
  304. package/dist/core/agent-session-types.js.map +1 -1
  305. package/dist/core/agent-session.d.ts +6 -0
  306. package/dist/core/agent-session.d.ts.map +1 -1
  307. package/dist/core/agent-session.js +30 -0
  308. package/dist/core/agent-session.js.map +1 -1
  309. package/dist/core/atomic-guide-command.d.ts.map +1 -1
  310. package/dist/core/atomic-guide-command.js +2 -3
  311. package/dist/core/atomic-guide-command.js.map +1 -1
  312. package/dist/core/auth-storage.d.ts +18 -1
  313. package/dist/core/auth-storage.d.ts.map +1 -1
  314. package/dist/core/auth-storage.js +83 -0
  315. package/dist/core/auth-storage.js.map +1 -1
  316. package/dist/core/bash-executor.d.ts +5 -0
  317. package/dist/core/bash-executor.d.ts.map +1 -1
  318. package/dist/core/bash-executor.js +43 -19
  319. package/dist/core/bash-executor.js.map +1 -1
  320. package/dist/core/builtin-packages.d.ts.map +1 -1
  321. package/dist/core/builtin-packages.js +6 -0
  322. package/dist/core/builtin-packages.js.map +1 -1
  323. package/dist/core/codex-fast-mode.d.ts.map +1 -1
  324. package/dist/core/codex-fast-mode.js +8 -3
  325. package/dist/core/codex-fast-mode.js.map +1 -1
  326. package/dist/core/exec.d.ts.map +1 -1
  327. package/dist/core/exec.js +4 -3
  328. package/dist/core/exec.js.map +1 -1
  329. package/dist/core/extensions/agent-events.d.ts +0 -1
  330. package/dist/core/extensions/agent-events.d.ts.map +1 -1
  331. package/dist/core/extensions/agent-events.js.map +1 -1
  332. package/dist/core/extensions/api-types.d.ts +5 -3
  333. package/dist/core/extensions/api-types.d.ts.map +1 -1
  334. package/dist/core/extensions/api-types.js.map +1 -1
  335. package/dist/core/extensions/context-types.d.ts +15 -0
  336. package/dist/core/extensions/context-types.d.ts.map +1 -1
  337. package/dist/core/extensions/context-types.js.map +1 -1
  338. package/dist/core/extensions/event-results.d.ts +5 -0
  339. package/dist/core/extensions/event-results.d.ts.map +1 -1
  340. package/dist/core/extensions/event-results.js.map +1 -1
  341. package/dist/core/extensions/index.d.ts +2 -1
  342. package/dist/core/extensions/index.d.ts.map +1 -1
  343. package/dist/core/extensions/index.js +1 -0
  344. package/dist/core/extensions/index.js.map +1 -1
  345. package/dist/core/extensions/loader-api.d.ts.map +1 -1
  346. package/dist/core/extensions/loader-api.js +14 -1
  347. package/dist/core/extensions/loader-api.js.map +1 -1
  348. package/dist/core/extensions/loader-discovery.d.ts.map +1 -1
  349. package/dist/core/extensions/loader-discovery.js +3 -23
  350. package/dist/core/extensions/loader-discovery.js.map +1 -1
  351. package/dist/core/extensions/loader-runtime.d.ts.map +1 -1
  352. package/dist/core/extensions/loader-runtime.js +20 -3
  353. package/dist/core/extensions/loader-runtime.js.map +1 -1
  354. package/dist/core/extensions/loader-virtual-modules.d.ts.map +1 -1
  355. package/dist/core/extensions/loader-virtual-modules.js +7 -1
  356. package/dist/core/extensions/loader-virtual-modules.js.map +1 -1
  357. package/dist/core/extensions/message-types.d.ts +6 -0
  358. package/dist/core/extensions/message-types.d.ts.map +1 -1
  359. package/dist/core/extensions/message-types.js.map +1 -1
  360. package/dist/core/extensions/provider-types.d.ts +9 -3
  361. package/dist/core/extensions/provider-types.d.ts.map +1 -1
  362. package/dist/core/extensions/provider-types.js.map +1 -1
  363. package/dist/core/extensions/runner-registries.d.ts +2 -1
  364. package/dist/core/extensions/runner-registries.d.ts.map +1 -1
  365. package/dist/core/extensions/runner-registries.js +3 -0
  366. package/dist/core/extensions/runner-registries.js.map +1 -1
  367. package/dist/core/extensions/runner-ui.d.ts.map +1 -1
  368. package/dist/core/extensions/runner-ui.js +1 -0
  369. package/dist/core/extensions/runner-ui.js.map +1 -1
  370. package/dist/core/extensions/runner.d.ts +2 -1
  371. package/dist/core/extensions/runner.d.ts.map +1 -1
  372. package/dist/core/extensions/runner.js +6 -2
  373. package/dist/core/extensions/runner.js.map +1 -1
  374. package/dist/core/extensions/runtime-types.d.ts +4 -1
  375. package/dist/core/extensions/runtime-types.d.ts.map +1 -1
  376. package/dist/core/extensions/runtime-types.js.map +1 -1
  377. package/dist/core/extensions/stale-context.d.ts +5 -0
  378. package/dist/core/extensions/stale-context.d.ts.map +1 -0
  379. package/dist/core/extensions/stale-context.js +11 -0
  380. package/dist/core/extensions/stale-context.js.map +1 -0
  381. package/dist/core/extensions/ui-types.d.ts +14 -11
  382. package/dist/core/extensions/ui-types.d.ts.map +1 -1
  383. package/dist/core/extensions/ui-types.js.map +1 -1
  384. package/dist/core/footer-data-provider.d.ts.map +1 -1
  385. package/dist/core/footer-data-provider.js +3 -2
  386. package/dist/core/footer-data-provider.js.map +1 -1
  387. package/dist/core/index.d.ts +1 -1
  388. package/dist/core/index.d.ts.map +1 -1
  389. package/dist/core/index.js.map +1 -1
  390. package/dist/core/intercom-runtime-group.d.ts +13 -0
  391. package/dist/core/intercom-runtime-group.d.ts.map +1 -0
  392. package/dist/core/intercom-runtime-group.js +23 -0
  393. package/dist/core/intercom-runtime-group.js.map +1 -0
  394. package/dist/core/keybindings.d.ts +44 -4
  395. package/dist/core/keybindings.d.ts.map +1 -1
  396. package/dist/core/model-config.d.ts +39 -5
  397. package/dist/core/model-config.d.ts.map +1 -1
  398. package/dist/core/model-config.js +6 -0
  399. package/dist/core/model-config.js.map +1 -1
  400. package/dist/core/model-registry.d.ts +12 -5
  401. package/dist/core/model-registry.d.ts.map +1 -1
  402. package/dist/core/model-registry.js +20 -12
  403. package/dist/core/model-registry.js.map +1 -1
  404. package/dist/core/model-resolver-cli.d.ts.map +1 -1
  405. package/dist/core/model-resolver-cli.js +46 -14
  406. package/dist/core/model-resolver-cli.js.map +1 -1
  407. package/dist/core/model-resolver-defaults.d.ts.map +1 -1
  408. package/dist/core/model-resolver-defaults.js +2 -0
  409. package/dist/core/model-resolver-defaults.js.map +1 -1
  410. package/dist/core/model-resolver-scope.d.ts +2 -0
  411. package/dist/core/model-resolver-scope.d.ts.map +1 -1
  412. package/dist/core/model-resolver-scope.js +12 -9
  413. package/dist/core/model-resolver-scope.js.map +1 -1
  414. package/dist/core/model-resolver.d.ts +1 -1
  415. package/dist/core/model-resolver.d.ts.map +1 -1
  416. package/dist/core/model-resolver.js +1 -1
  417. package/dist/core/model-resolver.js.map +1 -1
  418. package/dist/core/model-runtime-snapshot.d.ts +10 -0
  419. package/dist/core/model-runtime-snapshot.d.ts.map +1 -1
  420. package/dist/core/model-runtime-snapshot.js +14 -1
  421. package/dist/core/model-runtime-snapshot.js.map +1 -1
  422. package/dist/core/model-runtime-streaming.d.ts +3 -1
  423. package/dist/core/model-runtime-streaming.d.ts.map +1 -1
  424. package/dist/core/model-runtime-streaming.js +16 -0
  425. package/dist/core/model-runtime-streaming.js.map +1 -1
  426. package/dist/core/model-runtime-types.d.ts +2 -0
  427. package/dist/core/model-runtime-types.d.ts.map +1 -1
  428. package/dist/core/model-runtime-types.js.map +1 -1
  429. package/dist/core/model-runtime.d.ts +37 -10
  430. package/dist/core/model-runtime.d.ts.map +1 -1
  431. package/dist/core/model-runtime.js +312 -113
  432. package/dist/core/model-runtime.js.map +1 -1
  433. package/dist/core/oauth-login.d.ts.map +1 -1
  434. package/dist/core/oauth-login.js +2 -1
  435. package/dist/core/oauth-login.js.map +1 -1
  436. package/dist/core/openai-responses-payload-sanitizer.d.ts.map +1 -1
  437. package/dist/core/openai-responses-payload-sanitizer.js +18 -2
  438. package/dist/core/openai-responses-payload-sanitizer.js.map +1 -1
  439. package/dist/core/package-manager-git.d.ts.map +1 -1
  440. package/dist/core/package-manager-git.js +56 -10
  441. package/dist/core/package-manager-git.js.map +1 -1
  442. package/dist/core/package-manager-manifest.d.ts +1 -1
  443. package/dist/core/package-manager-manifest.d.ts.map +1 -1
  444. package/dist/core/package-manager-manifest.js +19 -9
  445. package/dist/core/package-manager-manifest.js.map +1 -1
  446. package/dist/core/package-manager-resource-collector.js.map +1 -1
  447. package/dist/core/package-manager-resource-files.d.ts.map +1 -1
  448. package/dist/core/package-manager-resource-files.js +1 -2
  449. package/dist/core/package-manager-resource-files.js.map +1 -1
  450. package/dist/core/provider-composer-internal.d.ts +10 -2
  451. package/dist/core/provider-composer-internal.d.ts.map +1 -1
  452. package/dist/core/provider-composer-internal.js +7 -3
  453. package/dist/core/provider-composer-internal.js.map +1 -1
  454. package/dist/core/provider-composer.d.ts.map +1 -1
  455. package/dist/core/provider-composer.js +19 -12
  456. package/dist/core/provider-composer.js.map +1 -1
  457. package/dist/core/provider-display-names.d.ts.map +1 -1
  458. package/dist/core/provider-display-names.js +2 -0
  459. package/dist/core/provider-display-names.js.map +1 -1
  460. package/dist/core/remote-catalog-provider.d.ts.map +1 -1
  461. package/dist/core/remote-catalog-provider.js +77 -67
  462. package/dist/core/remote-catalog-provider.js.map +1 -1
  463. package/dist/core/resolve-config-value.d.ts.map +1 -1
  464. package/dist/core/resolve-config-value.js +3 -0
  465. package/dist/core/resolve-config-value.js.map +1 -1
  466. package/dist/core/resource-loader-context-files.d.ts.map +1 -1
  467. package/dist/core/resource-loader-context-files.js +13 -5
  468. package/dist/core/resource-loader-context-files.js.map +1 -1
  469. package/dist/core/runtime-credentials.d.ts +5 -5
  470. package/dist/core/runtime-credentials.d.ts.map +1 -1
  471. package/dist/core/runtime-credentials.js +8 -8
  472. package/dist/core/runtime-credentials.js.map +1 -1
  473. package/dist/core/session-manager-list.d.ts.map +1 -1
  474. package/dist/core/session-manager-list.js +3 -1
  475. package/dist/core/session-manager-list.js.map +1 -1
  476. package/dist/core/settings-manager-ui-accessors.d.ts +8 -1
  477. package/dist/core/settings-manager-ui-accessors.d.ts.map +1 -1
  478. package/dist/core/settings-manager-ui-accessors.js +31 -0
  479. package/dist/core/settings-manager-ui-accessors.js.map +1 -1
  480. package/dist/core/settings-manager.d.ts +2 -1
  481. package/dist/core/settings-manager.d.ts.map +1 -1
  482. package/dist/core/settings-manager.js.map +1 -1
  483. package/dist/core/settings-merge.d.ts.map +1 -1
  484. package/dist/core/settings-merge.js +13 -16
  485. package/dist/core/settings-merge.js.map +1 -1
  486. package/dist/core/settings-types.d.ts +5 -0
  487. package/dist/core/settings-types.d.ts.map +1 -1
  488. package/dist/core/settings-types.js.map +1 -1
  489. package/dist/core/slash-commands.d.ts.map +1 -1
  490. package/dist/core/slash-commands.js +0 -2
  491. package/dist/core/slash-commands.js.map +1 -1
  492. package/dist/core/tools/ask-user-question/state/questionnaire-session.d.ts +2 -2
  493. package/dist/core/tools/ask-user-question/state/questionnaire-session.d.ts.map +1 -1
  494. package/dist/core/tools/ask-user-question/state/questionnaire-session.js +39 -2
  495. package/dist/core/tools/ask-user-question/state/questionnaire-session.js.map +1 -1
  496. package/dist/core/tools/bash-async-execution.d.ts +2 -0
  497. package/dist/core/tools/bash-async-execution.d.ts.map +1 -1
  498. package/dist/core/tools/bash-async-execution.js +4 -1
  499. package/dist/core/tools/bash-async-execution.js.map +1 -1
  500. package/dist/core/tools/bash-async-output.d.ts +1 -0
  501. package/dist/core/tools/bash-async-output.d.ts.map +1 -1
  502. package/dist/core/tools/bash-async-output.js +62 -27
  503. package/dist/core/tools/bash-async-output.js.map +1 -1
  504. package/dist/core/tools/bash-pty-native.d.ts.map +1 -1
  505. package/dist/core/tools/bash-pty-native.js +2 -1
  506. package/dist/core/tools/bash-pty-native.js.map +1 -1
  507. package/dist/core/tools/bash.d.ts +9 -0
  508. package/dist/core/tools/bash.d.ts.map +1 -1
  509. package/dist/core/tools/bash.js +34 -16
  510. package/dist/core/tools/bash.js.map +1 -1
  511. package/dist/core/tools/directory-tree.d.ts +11 -0
  512. package/dist/core/tools/directory-tree.d.ts.map +1 -1
  513. package/dist/core/tools/directory-tree.js +26 -0
  514. package/dist/core/tools/directory-tree.js.map +1 -1
  515. package/dist/core/tools/edit.d.ts +4 -0
  516. package/dist/core/tools/edit.d.ts.map +1 -1
  517. package/dist/core/tools/edit.js +12 -8
  518. package/dist/core/tools/edit.js.map +1 -1
  519. package/dist/core/tools/errno.d.ts +25 -0
  520. package/dist/core/tools/errno.d.ts.map +1 -0
  521. package/dist/core/tools/errno.js +29 -0
  522. package/dist/core/tools/errno.js.map +1 -0
  523. package/dist/core/tools/find.d.ts +8 -1
  524. package/dist/core/tools/find.d.ts.map +1 -1
  525. package/dist/core/tools/find.js +20 -15
  526. package/dist/core/tools/find.js.map +1 -1
  527. package/dist/core/tools/grep.d.ts.map +1 -1
  528. package/dist/core/tools/grep.js +5 -1
  529. package/dist/core/tools/grep.js.map +1 -1
  530. package/dist/core/tools/index.d.ts +7 -7
  531. package/dist/core/tools/index.d.ts.map +1 -1
  532. package/dist/core/tools/index.js +7 -7
  533. package/dist/core/tools/index.js.map +1 -1
  534. package/dist/core/tools/ls.d.ts +4 -0
  535. package/dist/core/tools/ls.d.ts.map +1 -1
  536. package/dist/core/tools/ls.js +5 -1
  537. package/dist/core/tools/ls.js.map +1 -1
  538. package/dist/core/tools/output-accumulator.d.ts +8 -1
  539. package/dist/core/tools/output-accumulator.d.ts.map +1 -1
  540. package/dist/core/tools/output-accumulator.js +50 -28
  541. package/dist/core/tools/output-accumulator.js.map +1 -1
  542. package/dist/core/tools/oversized-tool-result.d.ts.map +1 -1
  543. package/dist/core/tools/oversized-tool-result.js +129 -22
  544. package/dist/core/tools/oversized-tool-result.js.map +1 -1
  545. package/dist/core/tools/persisted-output-file.d.ts +80 -0
  546. package/dist/core/tools/persisted-output-file.d.ts.map +1 -0
  547. package/dist/core/tools/persisted-output-file.js +284 -0
  548. package/dist/core/tools/persisted-output-file.js.map +1 -0
  549. package/dist/core/tools/read.d.ts +10 -0
  550. package/dist/core/tools/read.d.ts.map +1 -1
  551. package/dist/core/tools/read.js +20 -8
  552. package/dist/core/tools/read.js.map +1 -1
  553. package/dist/core/tools/search.d.ts +4 -0
  554. package/dist/core/tools/search.d.ts.map +1 -1
  555. package/dist/core/tools/search.js +5 -1
  556. package/dist/core/tools/search.js.map +1 -1
  557. package/dist/core/tools/session-temp-cleanup.d.ts +133 -0
  558. package/dist/core/tools/session-temp-cleanup.d.ts.map +1 -0
  559. package/dist/core/tools/session-temp-cleanup.js +669 -0
  560. package/dist/core/tools/session-temp-cleanup.js.map +1 -0
  561. package/dist/core/tools/session-temp-dir.d.ts +116 -0
  562. package/dist/core/tools/session-temp-dir.d.ts.map +1 -0
  563. package/dist/core/tools/session-temp-dir.js +409 -0
  564. package/dist/core/tools/session-temp-dir.js.map +1 -0
  565. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
  566. package/dist/core/tools/tool-definition-wrapper.js +2 -0
  567. package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
  568. package/dist/core/tools/tool-limits.d.ts +11 -0
  569. package/dist/core/tools/tool-limits.d.ts.map +1 -1
  570. package/dist/core/tools/tool-limits.js +11 -0
  571. package/dist/core/tools/tool-limits.js.map +1 -1
  572. package/dist/core/tools/windows-directory-security.d.ts +82 -0
  573. package/dist/core/tools/windows-directory-security.d.ts.map +1 -0
  574. package/dist/core/tools/windows-directory-security.js +238 -0
  575. package/dist/core/tools/windows-directory-security.js.map +1 -0
  576. package/dist/core/tools/write.d.ts +4 -0
  577. package/dist/core/tools/write.d.ts.map +1 -1
  578. package/dist/core/tools/write.js +8 -4
  579. package/dist/core/tools/write.js.map +1 -1
  580. package/dist/core/trust-manager.js +1 -1
  581. package/dist/core/trust-manager.js.map +1 -1
  582. package/dist/extensions/llama/huggingface-ui.d.ts +1 -1
  583. package/dist/extensions/llama/huggingface-ui.d.ts.map +1 -1
  584. package/dist/extensions/llama/huggingface-ui.js +6 -5
  585. package/dist/extensions/llama/huggingface-ui.js.map +1 -1
  586. package/dist/extensions/llama/index.d.ts.map +1 -1
  587. package/dist/extensions/llama/index.js +11 -2
  588. package/dist/extensions/llama/index.js.map +1 -1
  589. package/dist/extensions/llama/provider.d.ts.map +1 -1
  590. package/dist/extensions/llama/provider.js +24 -8
  591. package/dist/extensions/llama/provider.js.map +1 -1
  592. package/dist/extensions/llama/ui.d.ts.map +1 -1
  593. package/dist/extensions/llama/ui.js +5 -2
  594. package/dist/extensions/llama/ui.js.map +1 -1
  595. package/dist/index-extensions.d.ts +2 -2
  596. package/dist/index-extensions.d.ts.map +1 -1
  597. package/dist/index-extensions.js +1 -1
  598. package/dist/index-extensions.js.map +1 -1
  599. package/dist/index.d.ts +5 -2
  600. package/dist/index.d.ts.map +1 -1
  601. package/dist/index.js +6 -2
  602. package/dist/index.js.map +1 -1
  603. package/dist/main-runtime-api-key.d.ts +2 -2
  604. package/dist/main-runtime-api-key.d.ts.map +1 -1
  605. package/dist/main-runtime-api-key.js +7 -2
  606. package/dist/main-runtime-api-key.js.map +1 -1
  607. package/dist/main-session.js +2 -2
  608. package/dist/main-session.js.map +1 -1
  609. package/dist/main.d.ts.map +1 -1
  610. package/dist/main.js +130 -26
  611. package/dist/main.js.map +1 -1
  612. package/dist/modes/index.d.ts +1 -0
  613. package/dist/modes/index.d.ts.map +1 -1
  614. package/dist/modes/index.js.map +1 -1
  615. package/dist/modes/interactive/components/assistant-message.d.ts +6 -2
  616. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  617. package/dist/modes/interactive/components/assistant-message.js +18 -5
  618. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  619. package/dist/modes/interactive/components/bordered-loader.d.ts +1 -1
  620. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
  621. package/dist/modes/interactive/components/bordered-loader.js +5 -4
  622. package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
  623. package/dist/modes/interactive/components/branch-summary-message.d.ts +2 -1
  624. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
  625. package/dist/modes/interactive/components/branch-summary-message.js +3 -2
  626. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
  627. package/dist/modes/interactive/components/chat-message-renderer.d.ts +17 -7
  628. package/dist/modes/interactive/components/chat-message-renderer.d.ts.map +1 -1
  629. package/dist/modes/interactive/components/chat-message-renderer.js +35 -69
  630. package/dist/modes/interactive/components/chat-message-renderer.js.map +1 -1
  631. package/dist/modes/interactive/components/chat-session-host-actions.d.ts.map +1 -1
  632. package/dist/modes/interactive/components/chat-session-host-actions.js +11 -3
  633. package/dist/modes/interactive/components/chat-session-host-actions.js.map +1 -1
  634. package/dist/modes/interactive/components/chat-session-host-events.d.ts.map +1 -1
  635. package/dist/modes/interactive/components/chat-session-host-events.js +25 -15
  636. package/dist/modes/interactive/components/chat-session-host-events.js.map +1 -1
  637. package/dist/modes/interactive/components/chat-session-host-rendering.d.ts.map +1 -1
  638. package/dist/modes/interactive/components/chat-session-host-rendering.js +9 -4
  639. package/dist/modes/interactive/components/chat-session-host-rendering.js.map +1 -1
  640. package/dist/modes/interactive/components/chat-session-host-state.d.ts +2 -0
  641. package/dist/modes/interactive/components/chat-session-host-state.d.ts.map +1 -1
  642. package/dist/modes/interactive/components/chat-session-host-state.js +2 -0
  643. package/dist/modes/interactive/components/chat-session-host-state.js.map +1 -1
  644. package/dist/modes/interactive/components/chat-session-host.d.ts +9 -0
  645. package/dist/modes/interactive/components/chat-session-host.d.ts.map +1 -1
  646. package/dist/modes/interactive/components/chat-session-host.js +14 -0
  647. package/dist/modes/interactive/components/chat-session-host.js.map +1 -1
  648. package/dist/modes/interactive/components/chat-transcript.d.ts +32 -0
  649. package/dist/modes/interactive/components/chat-transcript.d.ts.map +1 -1
  650. package/dist/modes/interactive/components/chat-transcript.js +173 -5
  651. package/dist/modes/interactive/components/chat-transcript.js.map +1 -1
  652. package/dist/modes/interactive/components/config-selector-list.d.ts +1 -1
  653. package/dist/modes/interactive/components/config-selector-list.d.ts.map +1 -1
  654. package/dist/modes/interactive/components/config-selector-list.js +9 -8
  655. package/dist/modes/interactive/components/config-selector-list.js.map +1 -1
  656. package/dist/modes/interactive/components/custom-editor.d.ts +1 -1
  657. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
  658. package/dist/modes/interactive/components/custom-editor.js +32 -10
  659. package/dist/modes/interactive/components/custom-editor.js.map +1 -1
  660. package/dist/modes/interactive/components/custom-message.d.ts +2 -1
  661. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
  662. package/dist/modes/interactive/components/custom-message.js +3 -2
  663. package/dist/modes/interactive/components/custom-message.js.map +1 -1
  664. package/dist/modes/interactive/components/extension-editor.d.ts +1 -1
  665. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
  666. package/dist/modes/interactive/components/extension-editor.js +3 -2
  667. package/dist/modes/interactive/components/extension-editor.js.map +1 -1
  668. package/dist/modes/interactive/components/extension-input.d.ts +1 -1
  669. package/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
  670. package/dist/modes/interactive/components/extension-input.js +1 -0
  671. package/dist/modes/interactive/components/extension-input.js.map +1 -1
  672. package/dist/modes/interactive/components/extension-selector.d.ts +1 -1
  673. package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
  674. package/dist/modes/interactive/components/extension-selector.js +4 -0
  675. package/dist/modes/interactive/components/extension-selector.js.map +1 -1
  676. package/dist/modes/interactive/components/fast-mode-selector.d.ts +1 -1
  677. package/dist/modes/interactive/components/fast-mode-selector.d.ts.map +1 -1
  678. package/dist/modes/interactive/components/fast-mode-selector.js +7 -5
  679. package/dist/modes/interactive/components/fast-mode-selector.js.map +1 -1
  680. package/dist/modes/interactive/components/first-time-setup.d.ts +1 -1
  681. package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -1
  682. package/dist/modes/interactive/components/first-time-setup.js +3 -0
  683. package/dist/modes/interactive/components/first-time-setup.js.map +1 -1
  684. package/dist/modes/interactive/components/footer.js +1 -1
  685. package/dist/modes/interactive/components/footer.js.map +1 -1
  686. package/dist/modes/interactive/components/host-input-form.d.ts +1 -1
  687. package/dist/modes/interactive/components/host-input-form.d.ts.map +1 -1
  688. package/dist/modes/interactive/components/host-input-form.js +6 -5
  689. package/dist/modes/interactive/components/host-input-form.js.map +1 -1
  690. package/dist/modes/interactive/components/index.d.ts +1 -1
  691. package/dist/modes/interactive/components/index.d.ts.map +1 -1
  692. package/dist/modes/interactive/components/index.js.map +1 -1
  693. package/dist/modes/interactive/components/login-dialog.d.ts +1 -1
  694. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  695. package/dist/modes/interactive/components/login-dialog.js +2 -1
  696. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  697. package/dist/modes/interactive/components/markdown-transform.d.ts +3 -0
  698. package/dist/modes/interactive/components/markdown-transform.d.ts.map +1 -0
  699. package/dist/modes/interactive/components/markdown-transform.js +19 -0
  700. package/dist/modes/interactive/components/markdown-transform.js.map +1 -0
  701. package/dist/modes/interactive/components/mermaid.d.ts +11 -0
  702. package/dist/modes/interactive/components/mermaid.d.ts.map +1 -0
  703. package/dist/modes/interactive/components/mermaid.js +81 -0
  704. package/dist/modes/interactive/components/mermaid.js.map +1 -0
  705. package/dist/modes/interactive/components/model-selector.d.ts +2 -2
  706. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  707. package/dist/modes/interactive/components/model-selector.js +9 -6
  708. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  709. package/dist/modes/interactive/components/oauth-selector.d.ts +1 -1
  710. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
  711. package/dist/modes/interactive/components/oauth-selector.js +3 -2
  712. package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
  713. package/dist/modes/interactive/components/scoped-models-selector.d.ts +6 -2
  714. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
  715. package/dist/modes/interactive/components/scoped-models-selector.js +39 -13
  716. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  717. package/dist/modes/interactive/components/session-selector-delete.d.ts.map +1 -1
  718. package/dist/modes/interactive/components/session-selector-delete.js +2 -1
  719. package/dist/modes/interactive/components/session-selector-delete.js.map +1 -1
  720. package/dist/modes/interactive/components/session-selector-list.d.ts +1 -1
  721. package/dist/modes/interactive/components/session-selector-list.d.ts.map +1 -1
  722. package/dist/modes/interactive/components/session-selector-list.js +12 -11
  723. package/dist/modes/interactive/components/session-selector-list.js.map +1 -1
  724. package/dist/modes/interactive/components/session-selector.d.ts +1 -1
  725. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  726. package/dist/modes/interactive/components/session-selector.js +3 -3
  727. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  728. package/dist/modes/interactive/components/settings-selector-handlers.d.ts.map +1 -1
  729. package/dist/modes/interactive/components/settings-selector-handlers.js +9 -0
  730. package/dist/modes/interactive/components/settings-selector-handlers.js.map +1 -1
  731. package/dist/modes/interactive/components/settings-selector-items.d.ts.map +1 -1
  732. package/dist/modes/interactive/components/settings-selector-items.js +21 -0
  733. package/dist/modes/interactive/components/settings-selector-items.js.map +1 -1
  734. package/dist/modes/interactive/components/settings-selector-submenus.d.ts +3 -3
  735. package/dist/modes/interactive/components/settings-selector-submenus.d.ts.map +1 -1
  736. package/dist/modes/interactive/components/settings-selector-submenus.js +6 -1
  737. package/dist/modes/interactive/components/settings-selector-submenus.js.map +1 -1
  738. package/dist/modes/interactive/components/settings-selector-types.d.ts +8 -1
  739. package/dist/modes/interactive/components/settings-selector-types.d.ts.map +1 -1
  740. package/dist/modes/interactive/components/settings-selector-types.js.map +1 -1
  741. package/dist/modes/interactive/components/skill-invocation-message.d.ts +2 -1
  742. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
  743. package/dist/modes/interactive/components/skill-invocation-message.js +3 -2
  744. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
  745. package/dist/modes/interactive/components/tool-execution.d.ts +2 -0
  746. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  747. package/dist/modes/interactive/components/tool-execution.js +50 -27
  748. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  749. package/dist/modes/interactive/components/tree-selector-component.d.ts +1 -1
  750. package/dist/modes/interactive/components/tree-selector-component.d.ts.map +1 -1
  751. package/dist/modes/interactive/components/tree-selector-component.js +2 -3
  752. package/dist/modes/interactive/components/tree-selector-component.js.map +1 -1
  753. package/dist/modes/interactive/components/tree-selector-help.d.ts +1 -1
  754. package/dist/modes/interactive/components/tree-selector-help.d.ts.map +1 -1
  755. package/dist/modes/interactive/components/tree-selector-help.js +3 -1
  756. package/dist/modes/interactive/components/tree-selector-help.js.map +1 -1
  757. package/dist/modes/interactive/components/tree-selector-label-input.d.ts +1 -1
  758. package/dist/modes/interactive/components/tree-selector-label-input.d.ts.map +1 -1
  759. package/dist/modes/interactive/components/tree-selector-label-input.js +1 -0
  760. package/dist/modes/interactive/components/tree-selector-label-input.js.map +1 -1
  761. package/dist/modes/interactive/components/tree-selector-list.d.ts +1 -1
  762. package/dist/modes/interactive/components/tree-selector-list.d.ts.map +1 -1
  763. package/dist/modes/interactive/components/tree-selector-list.js +3 -0
  764. package/dist/modes/interactive/components/tree-selector-list.js.map +1 -1
  765. package/dist/modes/interactive/components/trust-selector.d.ts +1 -1
  766. package/dist/modes/interactive/components/trust-selector.d.ts.map +1 -1
  767. package/dist/modes/interactive/components/trust-selector.js +4 -0
  768. package/dist/modes/interactive/components/trust-selector.js.map +1 -1
  769. package/dist/modes/interactive/components/user-message-selector.d.ts +1 -1
  770. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
  771. package/dist/modes/interactive/components/user-message-selector.js +4 -0
  772. package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
  773. package/dist/modes/interactive/components/user-message.d.ts +4 -1
  774. package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
  775. package/dist/modes/interactive/components/user-message.js +10 -2
  776. package/dist/modes/interactive/components/user-message.js.map +1 -1
  777. package/dist/modes/interactive/external-editor.d.ts.map +1 -1
  778. package/dist/modes/interactive/external-editor.js +2 -1
  779. package/dist/modes/interactive/external-editor.js.map +1 -1
  780. package/dist/modes/interactive/interactive-agent-events.js +36 -18
  781. package/dist/modes/interactive/interactive-agent-events.js.map +1 -1
  782. package/dist/modes/interactive/interactive-auth-login.js +9 -2
  783. package/dist/modes/interactive/interactive-auth-login.js.map +1 -1
  784. package/dist/modes/interactive/interactive-auth-routing.d.ts.map +1 -1
  785. package/dist/modes/interactive/interactive-auth-routing.js +5 -1
  786. package/dist/modes/interactive/interactive-auth-routing.js.map +1 -1
  787. package/dist/modes/interactive/interactive-bash-compact.js +16 -4
  788. package/dist/modes/interactive/interactive-bash-compact.js.map +1 -1
  789. package/dist/modes/interactive/interactive-deferred-startup.d.ts.map +1 -1
  790. package/dist/modes/interactive/interactive-deferred-startup.js +3 -0
  791. package/dist/modes/interactive/interactive-deferred-startup.js.map +1 -1
  792. package/dist/modes/interactive/interactive-editor-actions.js +2 -0
  793. package/dist/modes/interactive/interactive-editor-actions.js.map +1 -1
  794. package/dist/modes/interactive/interactive-extension-context.js +12 -7
  795. package/dist/modes/interactive/interactive-extension-context.js.map +1 -1
  796. package/dist/modes/interactive/interactive-extension-custom-ui.js +1 -0
  797. package/dist/modes/interactive/interactive-extension-custom-ui.js.map +1 -1
  798. package/dist/modes/interactive/interactive-extension-dialogs.js +7 -0
  799. package/dist/modes/interactive/interactive-extension-dialogs.js.map +1 -1
  800. package/dist/modes/interactive/interactive-extension-widgets.js +7 -24
  801. package/dist/modes/interactive/interactive-extension-widgets.js.map +1 -1
  802. package/dist/modes/interactive/interactive-input-handling.d.ts.map +1 -1
  803. package/dist/modes/interactive/interactive-input-handling.js +9 -8
  804. package/dist/modes/interactive/interactive-input-handling.js.map +1 -1
  805. package/dist/modes/interactive/interactive-mode-base.d.ts +52 -3
  806. package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -1
  807. package/dist/modes/interactive/interactive-mode-base.js +143 -5
  808. package/dist/modes/interactive/interactive-mode-base.js.map +1 -1
  809. package/dist/modes/interactive/interactive-mode-deps.d.ts +2 -2
  810. package/dist/modes/interactive/interactive-mode-deps.d.ts.map +1 -1
  811. package/dist/modes/interactive/interactive-mode-deps.js +2 -2
  812. package/dist/modes/interactive/interactive-mode-deps.js.map +1 -1
  813. package/dist/modes/interactive/interactive-mode-surface.d.ts +9 -3
  814. package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -1
  815. package/dist/modes/interactive/interactive-mode-surface.js.map +1 -1
  816. package/dist/modes/interactive/interactive-mode.d.ts +1 -0
  817. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  818. package/dist/modes/interactive/interactive-mode.js +1 -0
  819. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  820. package/dist/modes/interactive/interactive-model-routing.js +107 -41
  821. package/dist/modes/interactive/interactive-model-routing.js.map +1 -1
  822. package/dist/modes/interactive/interactive-process-lifecycle.js +1 -1
  823. package/dist/modes/interactive/interactive-process-lifecycle.js.map +1 -1
  824. package/dist/modes/interactive/interactive-render-chat.js +24 -6
  825. package/dist/modes/interactive/interactive-render-chat.js.map +1 -1
  826. package/dist/modes/interactive/interactive-selectors.js +44 -5
  827. package/dist/modes/interactive/interactive-selectors.js.map +1 -1
  828. package/dist/modes/interactive/interactive-session-runtime.js +1 -0
  829. package/dist/modes/interactive/interactive-session-runtime.js.map +1 -1
  830. package/dist/modes/interactive/interactive-slash-commands.js +9 -4
  831. package/dist/modes/interactive/interactive-slash-commands.js.map +1 -1
  832. package/dist/modes/interactive/interactive-startup.d.ts.map +1 -1
  833. package/dist/modes/interactive/interactive-startup.js +37 -18
  834. package/dist/modes/interactive/interactive-startup.js.map +1 -1
  835. package/dist/modes/interactive/interactive-tui.d.ts +21 -0
  836. package/dist/modes/interactive/interactive-tui.d.ts.map +1 -0
  837. package/dist/modes/interactive/interactive-tui.js +279 -0
  838. package/dist/modes/interactive/interactive-tui.js.map +1 -0
  839. package/dist/modes/interactive/streaming-assistant-message.d.ts +34 -0
  840. package/dist/modes/interactive/streaming-assistant-message.d.ts.map +1 -0
  841. package/dist/modes/interactive/streaming-assistant-message.js +76 -0
  842. package/dist/modes/interactive/streaming-assistant-message.js.map +1 -0
  843. package/dist/modes/interactive/theme/catppuccin-frappe.json +1 -0
  844. package/dist/modes/interactive/theme/catppuccin-latte.json +1 -0
  845. package/dist/modes/interactive/theme/catppuccin-macchiato.json +1 -0
  846. package/dist/modes/interactive/theme/catppuccin-mocha.json +1 -0
  847. package/dist/modes/interactive/theme/dark.json +1 -0
  848. package/dist/modes/interactive/theme/light.json +1 -0
  849. package/dist/modes/interactive/theme/terminal-detection.d.ts +10 -0
  850. package/dist/modes/interactive/theme/terminal-detection.d.ts.map +1 -1
  851. package/dist/modes/interactive/theme/terminal-detection.js +19 -0
  852. package/dist/modes/interactive/theme/terminal-detection.js.map +1 -1
  853. package/dist/modes/interactive/theme/theme-class.d.ts +2 -2
  854. package/dist/modes/interactive/theme/theme-class.d.ts.map +1 -1
  855. package/dist/modes/interactive/theme/theme-class.js +5 -1
  856. package/dist/modes/interactive/theme/theme-class.js.map +1 -1
  857. package/dist/modes/interactive/theme/theme-controller.d.ts +3 -1
  858. package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
  859. package/dist/modes/interactive/theme/theme-controller.js +10 -13
  860. package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
  861. package/dist/modes/interactive/theme/theme-loading.d.ts.map +1 -1
  862. package/dist/modes/interactive/theme/theme-loading.js +1 -0
  863. package/dist/modes/interactive/theme/theme-loading.js.map +1 -1
  864. package/dist/modes/interactive/theme/theme-schema.d.ts +4 -0
  865. package/dist/modes/interactive/theme/theme-schema.d.ts.map +1 -1
  866. package/dist/modes/interactive/theme/theme-schema.js +2 -1
  867. package/dist/modes/interactive/theme/theme-schema.js.map +1 -1
  868. package/dist/modes/interactive/theme/theme-schema.json +5 -1
  869. package/dist/modes/interactive/theme/theme.d.ts +1 -1
  870. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  871. package/dist/modes/interactive/theme/theme.js +1 -1
  872. package/dist/modes/interactive/theme/theme.js.map +1 -1
  873. package/dist/modes/interactive-engine/engine-custom-ui.d.ts +1 -1
  874. package/dist/modes/interactive-engine/engine-custom-ui.d.ts.map +1 -1
  875. package/dist/modes/interactive-engine/engine-custom-ui.js +28 -11
  876. package/dist/modes/interactive-engine/engine-custom-ui.js.map +1 -1
  877. package/dist/modes/interactive-engine/engine-render-service.js +3 -3
  878. package/dist/modes/interactive-engine/engine-render-service.js.map +1 -1
  879. package/dist/modes/interactive-engine/extension-ui-bridge.d.ts +2 -1
  880. package/dist/modes/interactive-engine/extension-ui-bridge.d.ts.map +1 -1
  881. package/dist/modes/interactive-engine/extension-ui-bridge.js +2 -2
  882. package/dist/modes/interactive-engine/extension-ui-bridge.js.map +1 -1
  883. package/dist/modes/interactive-engine/isolated-runtime.d.ts +7 -0
  884. package/dist/modes/interactive-engine/isolated-runtime.d.ts.map +1 -1
  885. package/dist/modes/interactive-engine/isolated-runtime.js +7 -0
  886. package/dist/modes/interactive-engine/isolated-runtime.js.map +1 -1
  887. package/dist/modes/interactive-engine/protocol.d.ts +12 -10
  888. package/dist/modes/interactive-engine/protocol.d.ts.map +1 -1
  889. package/dist/modes/interactive-engine/protocol.js +14 -11
  890. package/dist/modes/interactive-engine/protocol.js.map +1 -1
  891. package/dist/modes/interactive-engine/remote-component.d.ts +11 -1
  892. package/dist/modes/interactive-engine/remote-component.d.ts.map +1 -1
  893. package/dist/modes/interactive-engine/remote-component.js +48 -8
  894. package/dist/modes/interactive-engine/remote-component.js.map +1 -1
  895. package/dist/modes/interactive-engine/terminal-mode-controller.d.ts +19 -12
  896. package/dist/modes/interactive-engine/terminal-mode-controller.d.ts.map +1 -1
  897. package/dist/modes/interactive-engine/terminal-mode-controller.js +54 -35
  898. package/dist/modes/interactive-engine/terminal-mode-controller.js.map +1 -1
  899. package/dist/modes/json-event.d.ts +28 -0
  900. package/dist/modes/json-event.d.ts.map +1 -0
  901. package/dist/modes/json-event.js +12 -0
  902. package/dist/modes/json-event.js.map +1 -0
  903. package/dist/modes/print-mode.d.ts.map +1 -1
  904. package/dist/modes/print-mode.js +2 -1
  905. package/dist/modes/print-mode.js.map +1 -1
  906. package/dist/modes/rpc/rpc-client-process.d.ts +1 -0
  907. package/dist/modes/rpc/rpc-client-process.d.ts.map +1 -1
  908. package/dist/modes/rpc/rpc-client-process.js +5 -1
  909. package/dist/modes/rpc/rpc-client-process.js.map +1 -1
  910. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  911. package/dist/modes/rpc/rpc-client.js +7 -2
  912. package/dist/modes/rpc/rpc-client.js.map +1 -1
  913. package/dist/modes/rpc/rpc-command-handler.js +1 -1
  914. package/dist/modes/rpc/rpc-command-handler.js.map +1 -1
  915. package/dist/modes/rpc/rpc-event-buffer.d.ts +9 -0
  916. package/dist/modes/rpc/rpc-event-buffer.d.ts.map +1 -1
  917. package/dist/modes/rpc/rpc-event-buffer.js +10 -5
  918. package/dist/modes/rpc/rpc-event-buffer.js.map +1 -1
  919. package/dist/modes/rpc/rpc-extension-ui.d.ts.map +1 -1
  920. package/dist/modes/rpc/rpc-extension-ui.js +3 -0
  921. package/dist/modes/rpc/rpc-extension-ui.js.map +1 -1
  922. package/dist/modes/rpc/rpc-input.js +1 -1
  923. package/dist/modes/rpc/rpc-input.js.map +1 -1
  924. package/dist/modes/rpc/rpc-output-buffer.d.ts +9 -0
  925. package/dist/modes/rpc/rpc-output-buffer.d.ts.map +1 -1
  926. package/dist/modes/rpc/rpc-output-buffer.js +10 -5
  927. package/dist/modes/rpc/rpc-output-buffer.js.map +1 -1
  928. package/dist/modes/rpc/rpc-provider-auth.d.ts.map +1 -1
  929. package/dist/modes/rpc/rpc-provider-auth.js +3 -0
  930. package/dist/modes/rpc/rpc-provider-auth.js.map +1 -1
  931. package/dist/modes/rpc/rpc-responses.d.ts +1 -1
  932. package/dist/modes/rpc/rpc-responses.d.ts.map +1 -1
  933. package/dist/modes/rpc/rpc-responses.js +13 -1
  934. package/dist/modes/rpc/rpc-responses.js.map +1 -1
  935. package/dist/modes/rpc/rpc-session-binding.d.ts.map +1 -1
  936. package/dist/modes/rpc/rpc-session-binding.js +2 -1
  937. package/dist/modes/rpc/rpc-session-binding.js.map +1 -1
  938. package/dist/modes/rpc/rpc-types.d.ts +9 -2
  939. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  940. package/dist/modes/rpc/rpc-types.js.map +1 -1
  941. package/dist/rpc-entry.js +2 -0
  942. package/dist/rpc-entry.js.map +1 -1
  943. package/dist/self-update-plan.d.ts.map +1 -1
  944. package/dist/self-update-plan.js +5 -4
  945. package/dist/self-update-plan.js.map +1 -1
  946. package/dist/server/create-harness.d.ts +53 -0
  947. package/dist/server/create-harness.d.ts.map +1 -0
  948. package/dist/server/create-harness.js +349 -0
  949. package/dist/server/create-harness.js.map +1 -0
  950. package/dist/utils/agent-attribution.d.ts +2 -0
  951. package/dist/utils/agent-attribution.d.ts.map +1 -0
  952. package/dist/utils/agent-attribution.js +2 -0
  953. package/dist/utils/agent-attribution.js.map +1 -0
  954. package/dist/utils/child-process.d.ts +3 -1
  955. package/dist/utils/child-process.d.ts.map +1 -1
  956. package/dist/utils/child-process.js +24 -4
  957. package/dist/utils/child-process.js.map +1 -1
  958. package/dist/utils/clipboard-image.d.ts.map +1 -1
  959. package/dist/utils/clipboard-image.js +2 -1
  960. package/dist/utils/clipboard-image.js.map +1 -1
  961. package/dist/utils/clipboard.d.ts.map +1 -1
  962. package/dist/utils/clipboard.js +12 -3
  963. package/dist/utils/clipboard.js.map +1 -1
  964. package/dist/utils/management-http.d.ts +23 -0
  965. package/dist/utils/management-http.d.ts.map +1 -0
  966. package/dist/utils/management-http.js +50 -0
  967. package/dist/utils/management-http.js.map +1 -0
  968. package/dist/utils/open-browser.d.ts.map +1 -1
  969. package/dist/utils/open-browser.js +2 -1
  970. package/dist/utils/open-browser.js.map +1 -1
  971. package/dist/utils/paths.d.ts +2 -0
  972. package/dist/utils/paths.d.ts.map +1 -1
  973. package/dist/utils/paths.js +13 -0
  974. package/dist/utils/paths.js.map +1 -1
  975. package/dist/utils/shell.d.ts.map +1 -1
  976. package/dist/utils/shell.js +17 -4
  977. package/dist/utils/shell.js.map +1 -1
  978. package/dist/utils/tool-result-images.d.ts +17 -0
  979. package/dist/utils/tool-result-images.d.ts.map +1 -0
  980. package/dist/utils/tool-result-images.js +41 -0
  981. package/dist/utils/tool-result-images.js.map +1 -0
  982. package/dist/utils/tools-manager.d.ts.map +1 -1
  983. package/dist/utils/tools-manager.js +7 -8
  984. package/dist/utils/tools-manager.js.map +1 -1
  985. package/dist/utils/version-check.d.ts +4 -0
  986. package/dist/utils/version-check.d.ts.map +1 -1
  987. package/dist/utils/version-check.js +20 -2
  988. package/dist/utils/version-check.js.map +1 -1
  989. package/docs/compaction.md +2 -1
  990. package/docs/custom-provider.md +15 -7
  991. package/docs/development.md +1 -0
  992. package/docs/docs.json +1 -0
  993. package/docs/environment-variables.md +4 -0
  994. package/docs/extensions.md +102 -18
  995. package/docs/i-have-adhd.md +36 -0
  996. package/docs/intercom.md +26 -6
  997. package/docs/json.md +2 -2
  998. package/docs/keybindings.md +55 -12
  999. package/docs/models/model-selection.md +34 -8
  1000. package/docs/models.md +28 -3
  1001. package/docs/providers.md +20 -2
  1002. package/docs/quickstart.md +5 -5
  1003. package/docs/rpc.md +18 -12
  1004. package/docs/sdk.md +43 -7
  1005. package/docs/security.md +10 -10
  1006. package/docs/sessions.md +2 -0
  1007. package/docs/settings.md +25 -5
  1008. package/docs/subagents.md +15 -30
  1009. package/docs/themes.md +5 -3
  1010. package/docs/tools.md +21 -1
  1011. package/docs/tui.md +41 -24
  1012. package/docs/usage.md +40 -14
  1013. package/docs/windows.md +2 -0
  1014. package/docs/workflows.md +216 -20
  1015. package/examples/extensions/custom-provider-anthropic/index.ts +9 -2
  1016. package/examples/extensions/custom-provider-gitlab-duo/index.ts +9 -2
  1017. package/examples/extensions/modal-editor.ts +8 -10
  1018. package/examples/extensions/rainbow-editor.ts +3 -2
  1019. package/examples/extensions/subagent/README.md +16 -45
  1020. package/examples/extensions/subagent/index.ts +6 -96
  1021. package/examples/extensions/subagent/render.ts +0 -78
  1022. package/examples/extensions/subagent/runner.ts +0 -3
  1023. package/examples/extensions/subagent/schemas.ts +0 -13
  1024. package/examples/extensions/subagent/types.ts +1 -2
  1025. package/examples/sdk/09-api-keys-and-oauth.ts +6 -2
  1026. package/examples/sdk/12-full-control.ts +8 -2
  1027. package/examples/sdk/README.md +4 -1
  1028. package/npm-shrinkwrap.json +191 -634
  1029. package/package.json +14 -7
  1030. package/dist/builtin/subagents/src/agents/chain-serializer.ts +0 -257
  1031. package/dist/builtin/subagents/src/runs/foreground/chain-execution-details.ts +0 -38
  1032. package/dist/builtin/subagents/src/runs/foreground/chain-execution-dynamic-step.ts +0 -280
  1033. package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-runner.ts +0 -217
  1034. package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-step.ts +0 -271
  1035. package/dist/builtin/subagents/src/runs/foreground/chain-execution-sequential-step.ts +0 -271
  1036. package/dist/builtin/subagents/src/runs/foreground/chain-execution-types.ts +0 -200
  1037. package/dist/builtin/subagents/src/runs/foreground/chain-execution.ts +0 -184
  1038. package/dist/builtin/subagents/src/runs/foreground/execution-structured-retries.ts +0 -19
  1039. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-chain.ts +0 -109
  1040. package/dist/builtin/subagents/src/runs/shared/chain-outputs.ts +0 -126
  1041. package/dist/builtin/subagents/src/runs/shared/dynamic-fanout.ts +0 -393
  1042. package/dist/builtin/subagents/src/runs/shared/structured-output.ts +0 -150
  1043. package/dist/builtin/subagents/src/runs/shared/workflow-graph.ts +0 -232
  1044. package/dist/builtin/subagents/src/slash/saved-chain-mapping.ts +0 -60
  1045. package/dist/builtin/subagents/src/tui/render-chain-graph.ts +0 -341
  1046. package/examples/extensions/subagent/prompts/implement-and-review.md +0 -10
  1047. package/examples/extensions/subagent/prompts/implement.md +0 -10
  1048. 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, background jobs, 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 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.
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.
@@ -50,10 +50,10 @@ Pi is the parent session. A subagent is a focused child Pi session with its own
50
50
 
51
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.
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 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:
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,26 +81,27 @@ 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
+ | 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.” |
101
103
  | Run in the background | “Run this in the background.” |
102
104
  | Browse agents | “Show me the available subagents.” |
103
- | Use a saved workflow | “Run the review chain on this branch.” |
104
105
  | See running work | “Show active async runs.” |
105
106
  | Check setup | “Check whether subagents are configured correctly.” |
106
107
 
@@ -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,7 +157,7 @@ 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, 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
161
 
161
162
  ## Where running subagents show up
162
163
 
@@ -164,7 +165,7 @@ Foreground runs stream progress in the conversation while they run.
164
165
 
165
166
  `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
 
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
+ The jobs widget shows the live status-watch state and sends one terminal completion notification. Parallel background runs show per-agent progress and retain their grouped task shape in progress and results. There is no detached runner process or PID polling loop.
168
169
 
169
170
  You can also ask naturally:
170
171
 
@@ -189,14 +190,14 @@ Check whether subagents and intercom are set up correctly.
189
190
  Use orchestration as parent-agent guidance, not as a runtime workflow mode. For implementation work, the recommended loop is:
190
191
 
191
192
  ```text
192
- clarify → planner → worker → fresh reviewers → worker
193
+ clarify → gather context → worker → fresh reviewers → worker
193
194
  ```
194
195
 
195
196
  Use the optional prompt shortcuts below when you want the pattern to be repeatable.
196
197
 
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.
198
+ 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
199
 
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.
200
+ 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
201
 
201
202
  ## Optional shortcuts
202
203
 
@@ -205,11 +206,11 @@ The package includes reusable prompt templates for common workflows. You do not
205
206
  | Prompt | Use it for |
206
207
  |--------|------------|
207
208
  | `/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. |
209
+ | `/review-loop` | Run parent-controlled write, review, and fix cycles until clean or capped. `debugger` writes fixes for bugs, `code-simplifier` for cleanup. |
210
+ | `/parallel-research` | Combine `codebase-online-researcher` with local code specialists for external evidence, local context, and practical tradeoffs. |
211
+ | `/parallel-context-build` | Run local code and research specialists in parallel to produce handoff context and meta-prompts. |
212
+ | `/parallel-handoff-plan` | Combine external research with local context passes into an implementation handoff plan and meta-prompt. |
213
+ | `/gather-context-and-clarify` | Locate and analyze first, then ask the user the clarification questions that matter. |
213
214
  | `/parallel-cleanup` | Run review-only cleanup passes after implementation. |
214
215
 
215
216
  Add `autofix` to `/parallel-review` or `/parallel-cleanup` to apply only the synthesized fixes worth doing now after reviewers return.
@@ -231,7 +232,7 @@ Run this implementation in the background. If the worker gets blocked or needs a
231
232
  ```
232
233
 
233
234
  ```text
234
- Ask oracle to review this plan. If it sees a decision I need to make, have it ask me instead of assuming.
235
+ Ask codebase-analyzer to review this plan. If it sees a decision I need to make, have it ask me instead of assuming.
235
236
  ```
236
237
 
237
238
  The child can use one dedicated coordination tool:
@@ -253,7 +254,7 @@ If messages do not show up, run:
253
254
 
254
255
  For normal use, you do not need to configure anything. Advanced users can tune the bridge with `intercomBridge` in the configuration section below.
255
256
 
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.
257
+ 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
258
 
258
259
  ## Direct commands
259
260
 
@@ -262,55 +263,39 @@ Skip this section until you want exact syntax.
262
263
  | Command | Description |
263
264
  |---------|-------------|
264
265
  | `/run <agent> [task]` | Run one agent; omit the task for self-contained agents |
265
- | `/chain agent1 "task1" -> agent2 "task2"` | Run agents in sequence |
266
266
  | `/parallel agent1 "task1" -> agent2 "task2"` | Run agents in parallel |
267
- | `/run-chain <chainName> -- <task>` | Launch a saved `.chain.md` or `.chain.json` workflow |
268
267
  | `/subagents-doctor` | Show read-only setup diagnostics |
269
268
 
270
269
  Commands validate agent names locally, support tab completion, and send results back into the conversation.
271
270
 
272
- ### Per-step tasks
271
+ ### Parallel tasks
273
272
 
274
- Use `->` to separate steps and give each step its own task:
273
+ Use `->` to separate tasks and give each task its own prompt:
275
274
 
276
275
  ```text
277
- /chain scout "scan the codebase" -> planner "create an implementation plan"
278
- /parallel scanner "find security issues" -> reviewer "check code style"
276
+ /parallel codebase-pattern-finder "find security issues" -> codebase-analyzer "check code style"
279
277
  ```
280
278
 
281
279
  Both double and single quotes work. You can also use `--` as a delimiter:
282
280
 
283
281
  ```text
284
- /chain scout -- scan code -> planner -- analyze auth
282
+ /parallel codebase-locator codebase-analyzer -- check for security issues
285
283
  ```
286
284
 
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
292
- ```
293
-
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
- ```
285
+ Tasks without a prompt use the first available task as a fallback.
300
286
 
301
287
  ### Inline per-step config
302
288
 
303
289
  Append `[key=value,...]` to an agent name to override defaults for that step:
304
290
 
305
291
  ```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"
292
+ /run codebase-locator[model=anthropic/claude-sonnet-4] summarize this codebase
293
+ /parallel codebase-analyzer[skills=code-review+security] "review backend" -> codebase-analyzer[model=openai/gpt-5-mini] "review frontend"
309
294
  ```
310
295
 
311
296
  | Key | Example | Description |
312
297
  |-----|---------|-------------|
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. |
298
+ | `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
299
  | `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
300
  | `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. |
316
301
  | `model` | `model=anthropic/claude-sonnet-4` | Override model for this step. |
@@ -324,37 +309,35 @@ Set `output=false`, `reads=false`, or `skills=false` to disable that behavior ex
324
309
  Add `--bg` to run in the background:
325
310
 
326
311
  ```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
312
+ /run codebase-locator "audit the codebase" --bg
313
+ /parallel codebase-locator "scan frontend" -> codebase-locator "scan backend" --bg
330
314
  ```
331
315
 
332
316
  Add `--fork` to start each child from a real branched session created from the parent’s current leaf:
333
317
 
334
318
  ```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
319
+ /run codebase-analyzer "review this diff" --fork
320
+ /parallel codebase-locator "audit frontend" -> codebase-analyzer "audit backend" --fork
338
321
  ```
339
322
 
340
323
  You can combine them in either order:
341
324
 
342
325
  ```text
343
- /run reviewer "review this diff" --fork --bg
344
- /run reviewer "review this diff" --bg --fork
326
+ /run codebase-analyzer "review this diff" --fork --bg
327
+ /run codebase-analyzer "review this diff" --bg --fork
345
328
  ```
346
329
 
347
330
  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
331
 
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.
332
+ `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
333
 
351
334
  ## Non-interactive execution
352
335
 
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.
336
+ Every supported subagent launch starts immediately without opening a preview/editor prompt or waiting for terminal input. This applies to single, parallel, foreground, background, 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.
354
337
 
355
338
  The human slash commands remain on their separate parsing and event-bridge path, including background and fork flags.
356
339
 
357
- ## Agents and chains
340
+ ## Agents
358
341
 
359
342
  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
343
 
@@ -366,11 +349,11 @@ Agent locations, lowest to highest priority:
366
349
  | User | `~/.atomic/agent/agents/**/*.md` |
367
350
  | Project | `.atomic/agents/**/*.md` |
368
351
 
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.
352
+ 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
353
 
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.
354
+ 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
355
 
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):
356
+ 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
357
 
375
358
  ```bash
376
359
  pi install npm:pi-web-access
@@ -389,7 +372,7 @@ Example:
389
372
  {
390
373
  "subagents": {
391
374
  "agentOverrides": {
392
- "reviewer": {
375
+ "codebase-analyzer": {
393
376
  "inheritProjectContext": false
394
377
  }
395
378
  }
@@ -414,7 +397,7 @@ Use these fields when an agent should see more:
414
397
  | `inheritSkills: true` | Let the child see Pi’s discovered skills catalog. |
415
398
  | `defaultContext: fork` | Use forked session context when a launch omits `context`; explicit `context: "fresh"` still wins. |
416
399
 
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.
400
+ Builtin agents opt into project instruction inheritance by default so they follow repo-specific rules out of the box.
418
401
 
419
402
  ### Agent frontmatter
420
403
 
@@ -422,8 +405,8 @@ A typical agent looks like this:
422
405
 
423
406
  ```yaml
424
407
  ---
425
- name: scout
426
- # Optional: registers this as code-analysis.scout while preserving name: scout
408
+ name: api-auditor
409
+ # Optional: registers this as code-analysis.api-auditor while preserving name: api-auditor
427
410
  package: code-analysis
428
411
  description: Fast codebase recon
429
412
  tools: read, search, find, ls, bash, mcp:chrome-devtools
@@ -449,7 +432,7 @@ Important fields:
449
432
 
450
433
  | Field | Notes |
451
434
  |-------|-------|
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. |
435
+ | `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
436
  | `tools` | Builtin tool allowlist. `mcp:` entries select direct MCP tools when `pi-mcp-adapter` is installed. |
454
437
  | `extensions` | Omitted means normal extensions; empty means no extensions; comma-separated values allowlist specific extensions. |
455
438
  | `model` | Default model. Bare ids prefer the current provider when possible, then unique registry matches. |
@@ -461,14 +444,14 @@ Important fields:
461
444
  | `defaultContext` | Optional `fresh` or `fork` launch context default for this agent. |
462
445
  | `skills` | Injects specific skills directly, regardless of `inheritSkills`. |
463
446
  | `output` | Default single-agent output file. |
464
- | `defaultReads` | Files to read before running in chain/parallel behavior. |
447
+ | `defaultReads` | Files to read before running in single or parallel behavior. |
465
448
  | `defaultProgress` | Maintain `progress.md`. |
466
449
  | `interactive` | Parsed for compatibility but not enforced in v1. |
467
450
  | `maxSubagentDepth` | Tightens nested delegation for this agent’s children. |
468
451
 
469
452
  ### Tool and extension selection
470
453
 
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.
454
+ 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
455
 
473
456
  Examples:
474
457
 
@@ -492,116 +475,6 @@ extensions: /abs/path/to/ext-a.ts, /abs/path/to/ext-b.ts
492
475
 
493
476
  When `extensions` is present, it takes precedence over extension paths implied by `tools` entries.
494
477
 
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
478
 
606
479
  ## Skills
607
480
 
@@ -622,12 +495,12 @@ Legacy `.pi` and `~/.pi/agent` skill/settings paths are also checked for compati
622
495
  Use agent defaults, override them at runtime, or disable them:
623
496
 
624
497
  ```ts
625
- { agent: "scout", task: "..." }
626
- { agent: "scout", task: "...", skill: "tmux, safe-bash" }
627
- { agent: "scout", task: "...", skill: false }
498
+ { agent: "codebase-locator", task: "..." }
499
+ { agent: "codebase-locator", task: "...", skill: "tmux, safe-bash" }
500
+ { agent: "codebase-locator", task: "...", skill: false }
628
501
  ```
629
502
 
630
- For chains, `skill` at the top level is additive. A step-level `skill` overrides that step; `false` disables skills for that step.
503
+ For subagent calls, `skill` overrides the agent default; `false` disables skills for that call.
631
504
 
632
505
  Injected skills use this shape:
633
506
 
@@ -641,10 +514,10 @@ Missing skills do not fail execution. The result summary shows a warning.
641
514
 
642
515
  ### Bundled skill
643
516
 
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.
517
+ 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
518
 
646
519
  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
520
+ - **Delegation patterns**: when to launch which agent, whether to use single, parallel, or async mode, and whether to use fresh or forked context
648
521
  - **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
522
  - **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
523
  - **Safety boundaries**: child agents must not run subagents, must not invent intercom targets, and must escalate unapproved decisions
@@ -662,11 +535,11 @@ These are the parameters the LLM passes when it calls the `subagent` tool. Most
662
535
  ```ts
663
536
  // Single agent
664
537
  { 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" }
538
+ { agent: "codebase-locator", task: "find todos", maxOutput: { lines: 1000 } }
539
+ { agent: "codebase-locator", task: "investigate", output: false }
540
+ { agent: "codebase-locator", task: "write a large report", output: "reports/codebase-locator.md", outputMode: "file-only" }
668
541
 
669
- { agent: "scout", task: "review the design", cwd: "packages/api", reads: ["docs/design.md", "../shared.md"] }
542
+ { agent: "codebase-locator", task: "review the design", cwd: "packages/api", reads: ["docs/design.md", "../shared.md"] }
670
543
  // Forked context
671
544
  { agent: "worker", task: "continue this thread", context: "fork" }
672
545
  // Maintain a run-scoped progress.md under isolated artifact storage
@@ -674,65 +547,10 @@ These are the parameters the LLM passes when it calls the `subagent` tool. Most
674
547
 
675
548
 
676
549
  // 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
- ] }
550
+ { tasks: [{ agent: "codebase-locator", task: "a" }, { agent: "codebase-analyzer", task: "b" }] }
551
+ { tasks: [{ agent: "codebase-locator", task: "audit auth", count: 3 }] }
552
+ { tasks: [{ agent: "codebase-locator", task: "audit frontend" }, { agent: "codebase-analyzer", task: "audit backend" }], context: "fork" }
553
+
736
554
 
737
555
  // Worktree isolation
738
556
  { tasks: [
@@ -743,21 +561,20 @@ These are the parameters the LLM passes when it calls the `subagent` tool. Most
743
561
 
744
562
  ### Management actions
745
563
 
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.
564
+ Agent definitions are not loaded into context by default. Management actions let the LLM discover, inspect, create, update, and delete agents at runtime.
747
565
 
748
566
  ```ts
749
567
  { action: "list" }
750
568
  { action: "list", agentScope: "project" }
751
- { action: "get", agent: "scout" }
752
- { action: "get", agent: "code-analysis.scout" }
753
- { action: "get", chainName: "review-pipeline" }
569
+ { action: "get", agent: "codebase-locator" }
570
+ { action: "get", agent: "code-analysis.api-auditor" }
754
571
 
755
572
  { action: "create", config: {
756
573
  name: "Code Scout",
757
574
  package: "code-analysis",
758
575
  description: "Scans codebases for patterns and issues",
759
576
  scope: "user",
760
- systemPrompt: "You are a code scout...",
577
+ systemPrompt: "You are a code codebase-locator...",
761
578
  systemPromptMode: "replace",
762
579
  inheritProjectContext: false,
763
580
  inheritSkills: false,
@@ -765,27 +582,16 @@ Agent definitions are not loaded into context by default. Management actions let
765
582
  fallbackModels: ["openai/gpt-5-mini", "anthropic/claude-haiku-4-5"],
766
583
  tools: "read, bash, mcp:github/search_repositories",
767
584
  extensions: "",
768
- skills: "parallel-scout",
585
+ skills: "parallel-codebase-locator",
769
586
  thinking: "high",
770
587
  output: "context.md",
771
588
  reads: "shared-context.md",
772
589
  progress: true
773
590
  }}
774
591
 
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
592
 
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" }
593
+ { action: "update", agent: "code-analysis.api-auditor", config: { model: "openai/gpt-4o" } }
594
+ { action: "delete", agent: "codebase-locator" }
789
595
  ```
790
596
 
791
597
  `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 +603,7 @@ Agent definitions are not loaded into context by default. Management actions let
797
603
  | `agent` | string | - | Agent name for single mode, or target for management actions. |
798
604
  | `task` | string | - | Task string for single mode. |
799
605
  | `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. |
606
+ | `config` | object/string | - | Agent config for create/update. |
802
607
  | `output` | `string \| false` | agent default | Override single-agent output file. |
803
608
  | `outputMode` | `"inline" \| "file-only"` | `inline` | Return saved output inline or as a concise saved-file reference. `file-only` requires an `output` path. |
804
609
  | `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,9 +613,7 @@ Agent definitions are not loaded into context by default. Management actions let
808
613
  | `tasks` | array | - | Top-level parallel tasks. Supports `agent`, `task`, `cwd`, `count`, `output`, `outputMode`, `reads`, `progress`, `skill`, and `model`. |
809
614
  | `concurrency` | number | config or `4` | Top-level parallel concurrency. |
810
615
  | `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. |
616
+ | `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
617
  | `agentScope` | `user \| project \| both` | `both` | Agent discovery scope. Project wins on collisions. |
815
618
  | `async` | boolean | false | Background execution. Programmatic calls start without prompting in either foreground or background mode. |
816
619
  | `cwd` | string | runtime cwd | Override working directory. |
@@ -822,9 +625,8 @@ Agent definitions are not loaded into context by default. Management actions let
822
625
 
823
626
  `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
627
 
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.
628
+ 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
629
 
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
630
 
829
631
  Status and control actions:
830
632
 
@@ -837,7 +639,7 @@ subagent({ action: "resume", id: "<run-id>", index: 1, message: "follow-up for c
837
639
  subagent({ action: "doctor" })
838
640
  ```
839
641
 
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.
642
+ `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 or parallel runs can be revived by passing `index` to choose the child; no new OS process is created.
841
643
 
842
644
  ## Worktree isolation
843
645
 
@@ -849,15 +651,6 @@ Parallel agents can clobber each other if they edit the same checkout. `worktree
849
651
  { agent: "worker", task: "Implement API" }
850
652
  ], worktree: true }
851
653
 
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
654
 
862
655
  Requirements:
863
656
 
@@ -890,7 +683,7 @@ Makes top-level calls use background execution when the request does not explici
890
683
  { "forceTopLevelAsync": true }
891
684
  ```
892
685
 
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.
686
+ Forces depth-0 single and parallel runs into background mode. Calls remain non-interactive in both foreground and background mode; nested calls keep their own inherited settings.
894
687
 
895
688
  ### `parallel`
896
689
 
@@ -964,13 +757,6 @@ stdin is a JSON object with `repoRoot`, `worktreePath`, `agentCwd`, `branch`, `i
964
757
 
965
758
  ## Files, logs, and observability
966
759
 
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
760
 
975
761
  Debug artifacts live under `{sessionDir}/subagent-artifacts/` or a user-scoped temp artifact directory. Per task you may see:
976
762
 
@@ -1004,28 +790,27 @@ Subagent runs no longer inject acceptance gate prompts, infer task policies from
1004
790
 
1005
791
  ### Migration from acceptance gates
1006
792
 
1007
- For existing subagent integrations and saved definitions:
793
+ For existing subagent integrations and agent definitions:
1008
794
 
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.
795
+ - Remove `acceptance` properties from `subagent()` calls, top-level `tasks` items, and parallel task items. The fields are no longer read.
1010
796
  - 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
797
  - Put validation, command, evidence, review, or residual-risk requirements directly in the task text you pass to the parent or child agent.
1012
798
 
1013
799
  ## Live progress
1014
800
 
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.
801
+ 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
802
 
1017
803
  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.
1018
804
 
1019
805
  Press `CTRL+O` to expand the full streaming view with complete output per step.
1020
806
 
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
807
 
1023
808
  ## Session sharing
1024
809
 
1025
810
  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
811
 
1027
812
  ```ts
1028
- { agent: "scout", task: "...", share: true }
813
+ { agent: "codebase-locator", task: "...", share: true }
1029
814
  ```
1030
815
 
1031
816
  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.
@@ -1060,6 +845,23 @@ The in-process status watch emits `subagent:async-complete`; `src/extension/inde
1060
845
  ## Prompt-template integration
1061
846
 
1062
847
  `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.
848
+ 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:
849
+
850
+ ```ts
851
+ import { registerPromptTemplateBridgeRequestSettlement } from "@bastani/subagents";
852
+
853
+ const unregister = registerPromptTemplateBridgeRequestSettlement(request.requestId, reject);
854
+ try {
855
+ pi.events.emit("prompt-template:subagent:request", request);
856
+ } catch (error) {
857
+ unregister();
858
+ reject(error);
859
+ }
860
+ // Call unregister() from the caller's response, cancellation, or abort path.
861
+ ```
862
+
863
+ 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.
864
+
1063
865
 
1064
866
  Example:
1065
867
 
@@ -1075,7 +877,7 @@ Use url in the prompt to take screenshot: $@
1075
877
 
1076
878
  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
879
 
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/`.
880
+ 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
881
 
1080
882
  ## Runtime files
1081
883
 
@@ -1084,14 +886,13 @@ The main runtime files are:
1084
886
  | File | Purpose |
1085
887
  |------|---------|
1086
888
  | `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. |
889
+ | `src/agents/agents.ts` | Agent discovery and frontmatter parsing. |
890
+ | `src/runs/foreground/subagent-executor.ts` | Main execution routing for single, parallel, management, status, interrupt, and doctor actions. |
1089
891
  | `src/runs/foreground/execution.ts` | Core foreground `runSync` handling. |
1090
892
  | `src/runs/background/subagent-runner.ts` | Detached async runner. |
1091
893
  | `src/runs/background/async-execution.ts` | Background launch support. |
1092
894
  | `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. |
895
+ | `src/shared/settings.ts` | Shared task behavior, instructions, and config helpers. |
1095
896
  | `src/runs/shared/worktree.ts` | Git worktree isolation. |
1096
897
  | `src/intercom/intercom-bridge.ts` | Runtime intercom bridge instructions and diagnostics. |
1097
898
  | `src/extension/schemas.ts` / `src/shared/types.ts` | Tool schemas, shared types, and event constants. |