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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (736) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/README.md +3 -3
  3. package/dist/builtin/intercom/package.json +2 -2
  4. package/dist/builtin/mcp/CHANGELOG.md +6 -0
  5. package/dist/builtin/mcp/package.json +4 -4
  6. package/dist/builtin/subagents/CHANGELOG.md +20 -0
  7. package/dist/builtin/subagents/README.md +6 -4
  8. package/dist/builtin/subagents/agents/code-simplifier.md +1 -1
  9. package/dist/builtin/subagents/agents/codebase-analyzer.md +1 -1
  10. package/dist/builtin/subagents/agents/codebase-locator.md +1 -1
  11. package/dist/builtin/subagents/agents/codebase-online-researcher.md +1 -1
  12. package/dist/builtin/subagents/agents/codebase-pattern-finder.md +1 -1
  13. package/dist/builtin/subagents/agents/codebase-research-analyzer.md +1 -1
  14. package/dist/builtin/subagents/agents/codebase-research-locator.md +1 -1
  15. package/dist/builtin/subagents/agents/debugger.md +1 -1
  16. package/dist/builtin/subagents/agents/worker.md +1 -1
  17. package/dist/builtin/subagents/package.json +6 -5
  18. package/dist/builtin/subagents/src/agents/agent-discovery.ts +17 -11
  19. package/dist/builtin/subagents/src/agents/agent-loaders.ts +115 -43
  20. package/dist/builtin/subagents/src/agents/agent-management-helpers.ts +10 -8
  21. package/dist/builtin/subagents/src/agents/agent-management.ts +8 -7
  22. package/dist/builtin/subagents/src/agents/agent-overrides.ts +2 -2
  23. package/dist/builtin/subagents/src/agents/agent-scope.ts +1 -1
  24. package/dist/builtin/subagents/src/agents/agent-selection.ts +1 -1
  25. package/dist/builtin/subagents/src/agents/agent-serializer.ts +24 -3
  26. package/dist/builtin/subagents/src/agents/agent-types.ts +3 -1
  27. package/dist/builtin/subagents/src/agents/agents.ts +7 -5
  28. package/dist/builtin/subagents/src/agents/frontmatter.ts +67 -22
  29. package/dist/builtin/subagents/src/agents/identity.ts +1 -1
  30. package/dist/builtin/subagents/src/agents/skills-paths.ts +1 -1
  31. package/dist/builtin/subagents/src/agents/skills.ts +64 -6
  32. package/dist/builtin/subagents/src/extension/config.ts +1 -1
  33. package/dist/builtin/subagents/src/extension/control-notices.ts +2 -2
  34. package/dist/builtin/subagents/src/extension/doctor.ts +15 -5
  35. package/dist/builtin/subagents/src/extension/fanout-child.ts +12 -12
  36. package/dist/builtin/subagents/src/extension/index.ts +23 -23
  37. package/dist/builtin/subagents/src/extension/notification-content.ts +1 -1
  38. package/dist/builtin/subagents/src/extension/schemas.ts +1 -1
  39. package/dist/builtin/subagents/src/extension/startup-maintenance.ts +3 -3
  40. package/dist/builtin/subagents/src/intercom/intercom-bridge.ts +3 -3
  41. package/dist/builtin/subagents/src/intercom/result-intercom.ts +1 -1
  42. package/dist/builtin/subagents/src/intercom/supervisor-authorization.ts +1 -1
  43. package/dist/builtin/subagents/src/runs/foreground/completion-notification.ts +2 -2
  44. package/dist/builtin/subagents/src/runs/foreground/execution-detach-reservations.ts +1 -1
  45. package/dist/builtin/subagents/src/runs/foreground/execution-intercom-detach.ts +3 -3
  46. package/dist/builtin/subagents/src/runs/foreground/execution-run-sync.ts +1 -1
  47. package/dist/builtin/subagents/src/runs/foreground/execution-updates.ts +2 -2
  48. package/dist/builtin/subagents/src/runs/foreground/execution-utils.ts +1 -1
  49. package/dist/builtin/subagents/src/runs/foreground/execution.ts +2 -2
  50. package/dist/builtin/subagents/src/runs/foreground/inprocess-run-sync.ts +27 -11
  51. package/dist/builtin/subagents/src/runs/foreground/notify.ts +3 -3
  52. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-context.ts +11 -11
  53. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-input.ts +3 -3
  54. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel-task.ts +15 -14
  55. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel.ts +19 -19
  56. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-runtime.ts +2 -2
  57. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-single.ts +14 -13
  58. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-status.ts +9 -9
  59. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-types.ts +7 -7
  60. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-worktree.ts +6 -6
  61. package/dist/builtin/subagents/src/runs/foreground/subagent-executor.ts +24 -23
  62. package/dist/builtin/subagents/src/runs/inprocess/control-registry.ts +1 -1
  63. package/dist/builtin/subagents/src/runs/inprocess/control-status.ts +3 -3
  64. package/dist/builtin/subagents/src/runs/inprocess/index.ts +3 -3
  65. package/dist/builtin/subagents/src/runs/inprocess/prompt-behavior.ts +17 -8
  66. package/dist/builtin/subagents/src/runs/inprocess/runner.ts +60 -12
  67. package/dist/builtin/subagents/src/runs/inprocess/runtime-support/nested-api.ts +8 -8
  68. package/dist/builtin/subagents/src/runs/inprocess/runtime-support/nested-control.ts +3 -3
  69. package/dist/builtin/subagents/src/runs/inprocess/runtime-support/nested-core.ts +4 -4
  70. package/dist/builtin/subagents/src/runs/inprocess/runtime-support/nested-projection.ts +4 -4
  71. package/dist/builtin/subagents/src/runs/inprocess/runtime-support/nested-registry.ts +5 -5
  72. package/dist/builtin/subagents/src/runs/inprocess/runtime-support/nested-rendering.ts +3 -3
  73. package/dist/builtin/subagents/src/runs/inprocess/runtime-support/nested-sanitize.ts +3 -3
  74. package/dist/builtin/subagents/src/runs/inprocess.ts +1 -1
  75. package/dist/builtin/subagents/src/runs/shared/long-running-guard.ts +1 -1
  76. package/dist/builtin/subagents/src/runs/shared/mcp-direct-tool-allowlist.ts +1 -1
  77. package/dist/builtin/subagents/src/runs/shared/model-candidate-filter.ts +3 -3
  78. package/dist/builtin/subagents/src/runs/shared/model-fallback.ts +2 -2
  79. package/dist/builtin/subagents/src/runs/shared/parallel-utils.ts +1 -1
  80. package/dist/builtin/subagents/src/runs/shared/single-output.ts +1 -1
  81. package/dist/builtin/subagents/src/runs/shared/subagent-control.ts +1 -1
  82. package/dist/builtin/subagents/src/shared/artifacts.ts +2 -2
  83. package/dist/builtin/subagents/src/shared/event-jsonl-writer.ts +1 -1
  84. package/dist/builtin/subagents/src/shared/fast-mode.ts +1 -1
  85. package/dist/builtin/subagents/src/shared/formatters.ts +2 -2
  86. package/dist/builtin/subagents/src/shared/jsonl-writer.ts +1 -1
  87. package/dist/builtin/subagents/src/shared/model-resolution.ts +1 -1
  88. package/dist/builtin/subagents/src/shared/session-tokens.ts +1 -1
  89. package/dist/builtin/subagents/src/shared/settings.ts +4 -4
  90. package/dist/builtin/subagents/src/shared/status-format.ts +1 -1
  91. package/dist/builtin/subagents/src/shared/types-config.ts +16 -4
  92. package/dist/builtin/subagents/src/shared/types-depth.ts +1 -1
  93. package/dist/builtin/subagents/src/shared/types-nested.ts +1 -1
  94. package/dist/builtin/subagents/src/shared/types-output.ts +1 -1
  95. package/dist/builtin/subagents/src/shared/types-results.ts +1 -1
  96. package/dist/builtin/subagents/src/shared/types-runtime.ts +1 -1
  97. package/dist/builtin/subagents/src/shared/types.ts +6 -6
  98. package/dist/builtin/subagents/src/shared/utils.ts +3 -3
  99. package/dist/builtin/subagents/src/slash/prompt-template-bridge.ts +1 -1
  100. package/dist/builtin/subagents/src/slash/slash-bridge.ts +3 -3
  101. package/dist/builtin/subagents/src/slash/slash-commands.ts +6 -6
  102. package/dist/builtin/subagents/src/slash/slash-live-state.ts +3 -3
  103. package/dist/builtin/subagents/src/tui/render-event-formatting.ts +2 -2
  104. package/dist/builtin/subagents/src/tui/render-layout.ts +1 -1
  105. package/dist/builtin/subagents/src/tui/render-progress.ts +2 -2
  106. package/dist/builtin/subagents/src/tui/render-result-compact.ts +7 -7
  107. package/dist/builtin/subagents/src/tui/render-result.ts +10 -10
  108. package/dist/builtin/subagents/src/tui/render-stable-output.ts +1 -1
  109. package/dist/builtin/subagents/src/tui/render-status-progress.ts +5 -5
  110. package/dist/builtin/subagents/src/tui/render.ts +4 -4
  111. package/dist/builtin/web-access/CHANGELOG.md +6 -0
  112. package/dist/builtin/web-access/package.json +3 -3
  113. package/dist/builtin/workflows/CHANGELOG.md +57 -0
  114. package/dist/builtin/workflows/README.md +31 -9
  115. package/dist/builtin/workflows/builtin/adversarial-verification-runner.ts +16 -5
  116. package/dist/builtin/workflows/builtin/generate-and-filter-runner.ts +12 -4
  117. package/dist/builtin/workflows/builtin/goal-models.ts +10 -10
  118. package/dist/builtin/workflows/builtin/index.d.ts +0 -4
  119. package/dist/builtin/workflows/builtin/loop-until-done-runner.ts +4 -2
  120. package/dist/builtin/workflows/builtin/open-claude-design-live-protocol.ts +305 -0
  121. package/dist/builtin/workflows/builtin/open-claude-design-phases.ts +115 -171
  122. package/dist/builtin/workflows/builtin/open-claude-design-runner.ts +10 -25
  123. package/dist/builtin/workflows/builtin/open-claude-design-setup.ts +19 -86
  124. package/dist/builtin/workflows/builtin/open-claude-design-utils.ts +0 -6
  125. package/dist/builtin/workflows/builtin/open-claude-design.d.ts +0 -5
  126. package/dist/builtin/workflows/builtin/open-claude-design.ts +7 -15
  127. package/dist/builtin/workflows/builtin/ralph-models.ts +29 -29
  128. package/dist/builtin/workflows/builtin/tournament-runner.ts +6 -3
  129. package/dist/builtin/workflows/package.json +2 -2
  130. package/dist/builtin/workflows/skills/impeccable/SKILL.md +3 -3
  131. package/dist/builtin/workflows/skills/impeccable/agents/impeccable_asset_producer.toml +25 -31
  132. package/dist/builtin/workflows/skills/impeccable/agents/impeccable_documenter.toml +1 -0
  133. package/dist/builtin/workflows/skills/impeccable/agents/impeccable_finish_reviewer.toml +16 -10
  134. package/dist/builtin/workflows/skills/impeccable/agents/impeccable_manual_edit_applier.toml +2 -2
  135. package/dist/builtin/workflows/skills/impeccable/reference/android.md +6 -0
  136. package/dist/builtin/workflows/skills/impeccable/reference/animate.md +3 -0
  137. package/dist/builtin/workflows/skills/impeccable/reference/bolder.md +3 -1
  138. package/dist/builtin/workflows/skills/impeccable/reference/craft-floor.md +6 -1
  139. package/dist/builtin/workflows/skills/impeccable/reference/critique.md +18 -2
  140. package/dist/builtin/workflows/skills/impeccable/reference/degraded/asset-producer.md +24 -30
  141. package/dist/builtin/workflows/skills/impeccable/reference/degraded/documenter.md +1 -0
  142. package/dist/builtin/workflows/skills/impeccable/reference/degraded/finish-reviewer.md +16 -10
  143. package/dist/builtin/workflows/skills/impeccable/reference/degraded/manual-edit-applier.md +2 -2
  144. package/dist/builtin/workflows/skills/impeccable/reference/distill.md +1 -1
  145. package/dist/builtin/workflows/skills/impeccable/reference/doctor.md +1 -0
  146. package/dist/builtin/workflows/skills/impeccable/reference/document.md +1 -1
  147. package/dist/builtin/workflows/skills/impeccable/reference/extract.md +1 -1
  148. package/dist/builtin/workflows/skills/impeccable/reference/hooks.md +12 -6
  149. package/dist/builtin/workflows/skills/impeccable/reference/init.md +12 -3
  150. package/dist/builtin/workflows/skills/impeccable/reference/ios.md +6 -0
  151. package/dist/builtin/workflows/skills/impeccable/reference/live-setup.md +102 -0
  152. package/dist/builtin/workflows/skills/impeccable/reference/live.md +113 -521
  153. package/dist/builtin/workflows/skills/impeccable/reference/new-work.md +39 -26
  154. package/dist/builtin/workflows/skills/impeccable/reference/overdrive.md +1 -1
  155. package/dist/builtin/workflows/skills/impeccable/reference/polish.md +3 -3
  156. package/dist/builtin/workflows/skills/impeccable/reference/quieter.md +1 -1
  157. package/dist/builtin/workflows/skills/impeccable/reference/visualize.md +25 -11
  158. package/dist/builtin/workflows/skills/impeccable/scripts/concept-seed.mjs +332 -221
  159. package/dist/builtin/workflows/skills/impeccable/scripts/context-signals.mjs +10 -19
  160. package/dist/builtin/workflows/skills/impeccable/scripts/context.mjs +91 -38
  161. package/dist/builtin/workflows/skills/impeccable/scripts/critique-storage.mjs +19 -10
  162. package/dist/builtin/workflows/skills/impeccable/scripts/detector/browser/injected/index.mjs +56 -6
  163. package/dist/builtin/workflows/skills/impeccable/scripts/detector/cli/main.mjs +10 -16
  164. package/dist/builtin/workflows/skills/impeccable/scripts/detector/design-system.mjs +140 -2
  165. package/dist/builtin/workflows/skills/impeccable/scripts/detector/detect-antipatterns-browser.js +1174 -694
  166. package/dist/builtin/workflows/skills/impeccable/scripts/detector/detect-antipatterns.mjs +1 -0
  167. package/dist/builtin/workflows/skills/impeccable/scripts/detector/engines/browser/detect-url.mjs +5 -1
  168. package/dist/builtin/workflows/skills/impeccable/scripts/detector/engines/regex/detect-text.mjs +431 -45
  169. package/dist/builtin/workflows/skills/impeccable/scripts/detector/engines/static-html/css-cascade.mjs +10 -1
  170. package/dist/builtin/workflows/skills/impeccable/scripts/detector/engines/static-html/detect-html.mjs +47 -6
  171. package/dist/builtin/workflows/skills/impeccable/scripts/detector/node/file-system.mjs +23 -22
  172. package/dist/builtin/workflows/skills/impeccable/scripts/detector/registry/antipatterns.mjs +0 -10
  173. package/dist/builtin/workflows/skills/impeccable/scripts/detector/rules/checks.mjs +384 -384
  174. package/dist/builtin/workflows/skills/impeccable/scripts/detector/shared/color.mjs +466 -2
  175. package/dist/builtin/workflows/skills/impeccable/scripts/doctor.mjs +2 -0
  176. package/dist/builtin/workflows/skills/impeccable/scripts/embed-prompt.mjs +270 -0
  177. package/dist/builtin/workflows/skills/impeccable/scripts/generate-image.mjs +51 -6
  178. package/dist/builtin/workflows/skills/impeccable/scripts/hook-admin.mjs +70 -10
  179. package/dist/builtin/workflows/skills/impeccable/scripts/hook-lib.mjs +336 -90
  180. package/dist/builtin/workflows/skills/impeccable/scripts/lib/composition-catalog.mjs +38 -3
  181. package/dist/builtin/workflows/skills/impeccable/scripts/lib/concept-catalog.mjs +77 -11
  182. package/dist/builtin/workflows/skills/impeccable/scripts/lib/design-parser.mjs +102 -19
  183. package/dist/builtin/workflows/skills/impeccable/scripts/lib/impeccable-config.mjs +44 -59
  184. package/dist/builtin/workflows/skills/impeccable/scripts/lib/is-generated.mjs +3 -0
  185. package/dist/builtin/workflows/skills/impeccable/scripts/lib/open-system-browser.mjs +57 -0
  186. package/dist/builtin/workflows/skills/impeccable/scripts/lib/roll-selection.mjs +369 -0
  187. package/dist/builtin/workflows/skills/impeccable/scripts/lib/staleness-deep.mjs +31 -3
  188. package/dist/builtin/workflows/skills/impeccable/scripts/lib/staleness.mjs +73 -2
  189. package/dist/builtin/workflows/skills/impeccable/scripts/live/accept-css.mjs +617 -0
  190. package/dist/builtin/workflows/skills/impeccable/scripts/live/accept-verify.mjs +71 -0
  191. package/dist/builtin/workflows/skills/impeccable/scripts/live/browser-script-parts.mjs +29 -2
  192. package/dist/builtin/workflows/skills/impeccable/scripts/live/event-validation.mjs +54 -7
  193. package/dist/builtin/workflows/skills/impeccable/scripts/live/frameworks/astro.mjs +47 -0
  194. package/dist/builtin/workflows/skills/impeccable/scripts/live/frameworks/detect-utils.mjs +157 -0
  195. package/dist/builtin/workflows/skills/impeccable/scripts/live/frameworks/index.mjs +143 -0
  196. package/dist/builtin/workflows/skills/impeccable/scripts/live/frameworks/journal.mjs +205 -0
  197. package/dist/builtin/workflows/skills/impeccable/scripts/live/frameworks/nextjs.mjs +49 -0
  198. package/dist/builtin/workflows/skills/impeccable/scripts/live/frameworks/nuxt.mjs +170 -0
  199. package/dist/builtin/workflows/skills/impeccable/scripts/live/frameworks/script-src.mjs +26 -0
  200. package/dist/builtin/workflows/skills/impeccable/scripts/live/frameworks/static-html.mjs +26 -0
  201. package/dist/builtin/workflows/skills/impeccable/scripts/live/frameworks/sveltekit.mjs +71 -0
  202. package/dist/builtin/workflows/skills/impeccable/scripts/live/frameworks/tag-strategy.mjs +247 -0
  203. package/dist/builtin/workflows/skills/impeccable/scripts/live/frameworks/tanstack-start.mjs +70 -0
  204. package/dist/builtin/workflows/skills/impeccable/scripts/live/frameworks/vite-generic.mjs +42 -0
  205. package/dist/builtin/workflows/skills/impeccable/scripts/live/instructions.mjs +169 -0
  206. package/dist/builtin/workflows/skills/impeccable/scripts/live/roots.mjs +670 -0
  207. package/dist/builtin/workflows/skills/impeccable/scripts/live/session-store.mjs +232 -35
  208. package/dist/builtin/workflows/skills/impeccable/scripts/live/svelte-ast.mjs +969 -0
  209. package/dist/builtin/workflows/skills/impeccable/scripts/live/svelte-component.mjs +621 -74
  210. package/dist/builtin/workflows/skills/impeccable/scripts/live/sveltekit-adapter.mjs +66 -28
  211. package/dist/builtin/workflows/skills/impeccable/scripts/live/tanstack-adapter.mjs +12 -12
  212. package/dist/builtin/workflows/skills/impeccable/scripts/live/ui-surfaces.mjs +75 -0
  213. package/dist/builtin/workflows/skills/impeccable/scripts/live/vocabulary.mjs +135 -0
  214. package/dist/builtin/workflows/skills/impeccable/scripts/live-accept.mjs +23 -37
  215. package/dist/builtin/workflows/skills/impeccable/scripts/live-browser.js +945 -115
  216. package/dist/builtin/workflows/skills/impeccable/scripts/live-complete.mjs +33 -1
  217. package/dist/builtin/workflows/skills/impeccable/scripts/live-copy-edit-agent.mjs +132 -15
  218. package/dist/builtin/workflows/skills/impeccable/scripts/live-inject.mjs +173 -425
  219. package/dist/builtin/workflows/skills/impeccable/scripts/live-insert.mjs +2 -0
  220. package/dist/builtin/workflows/skills/impeccable/scripts/live-poll.mjs +16 -3
  221. package/dist/builtin/workflows/skills/impeccable/scripts/live-resume.mjs +39 -10
  222. package/dist/builtin/workflows/skills/impeccable/scripts/live-server.mjs +194 -27
  223. package/dist/builtin/workflows/skills/impeccable/scripts/live-status.mjs +10 -4
  224. package/dist/builtin/workflows/skills/impeccable/scripts/live-wrap.mjs +50 -31
  225. package/dist/builtin/workflows/skills/impeccable/scripts/live.mjs +91 -28
  226. package/dist/builtin/workflows/skills/impeccable/scripts/pin.mjs +8 -5
  227. package/dist/builtin/workflows/skills/impeccable/scripts/serve-question.mjs +759 -109
  228. package/dist/builtin/workflows/src/durable/completed-catalog.ts +10 -0
  229. package/dist/builtin/workflows/src/durable/dbos-backend.ts +30 -17
  230. package/dist/builtin/workflows/src/durable/dbos-envelope.ts +14 -0
  231. package/dist/builtin/workflows/src/durable/dbos-lifecycle.ts +60 -57
  232. package/dist/builtin/workflows/src/durable/dbos-process-owner.ts +87 -0
  233. package/dist/builtin/workflows/src/durable/dbos-registration-diagnostics.ts +113 -0
  234. package/dist/builtin/workflows/src/durable/factory.ts +11 -8
  235. package/dist/builtin/workflows/src/durable/tool-failure-checkpoint.ts +5 -0
  236. package/dist/builtin/workflows/src/durable/tool-primitive.ts +186 -20
  237. package/dist/builtin/workflows/src/durable/types.ts +4 -0
  238. package/dist/builtin/workflows/src/engine/run-tool-control-registry.ts +9 -1
  239. package/dist/builtin/workflows/src/extension/adopt-session-run-state.ts +20 -0
  240. package/dist/builtin/workflows/src/extension/background-ui-adapter.ts +9 -30
  241. package/dist/builtin/workflows/src/extension/extension-factory.ts +3 -0
  242. package/dist/builtin/workflows/src/extension/extension-lifecycle.ts +28 -10
  243. package/dist/builtin/workflows/src/extension/index.bundle.mjs +2736 -1444
  244. package/dist/builtin/workflows/src/extension/workflow-prompts.ts +4 -1
  245. package/dist/builtin/workflows/src/extension/workflow-schema.ts +29 -5
  246. package/dist/builtin/workflows/src/extension/workflow-tool-send.ts +32 -1
  247. package/dist/builtin/workflows/src/runs/background/cancellation-registry.ts +10 -1
  248. package/dist/builtin/workflows/src/runs/background/job-tracker.ts +10 -1
  249. package/dist/builtin/workflows/src/runs/foreground/executor-hil.ts +32 -4
  250. package/dist/builtin/workflows/src/runs/foreground/executor-prompt-nodes.ts +19 -20
  251. package/dist/builtin/workflows/src/runs/foreground/executor-stage-call.ts +27 -20
  252. package/dist/builtin/workflows/src/runs/foreground/executor.ts +4 -0
  253. package/dist/builtin/workflows/src/runs/foreground/stage-control-registry.ts +31 -1
  254. package/dist/builtin/workflows/src/runs/foreground/stage-runner-context.ts +41 -10
  255. package/dist/builtin/workflows/src/runs/foreground/stage-runner-messages.ts +48 -0
  256. package/dist/builtin/workflows/src/runs/foreground/stage-runner-output.ts +4 -1
  257. package/dist/builtin/workflows/src/runs/foreground/stage-runner-structured-output.ts +45 -12
  258. package/dist/builtin/workflows/src/shared/authoring-contract-ui.d.ts +15 -1
  259. package/dist/builtin/workflows/src/shared/authoring-contract-ui.ts +15 -1
  260. package/dist/builtin/workflows/src/shared/graph-store-snapshot.ts +14 -2
  261. package/dist/builtin/workflows/src/shared/prompt-answer.ts +130 -0
  262. package/dist/builtin/workflows/src/shared/session-scoped-singleton.ts +98 -0
  263. package/dist/builtin/workflows/src/shared/stage-ui-broker.ts +9 -1
  264. package/dist/builtin/workflows/src/shared/store-factory.ts +9 -1
  265. package/dist/builtin/workflows/src/shared/store-public-types.ts +2 -1
  266. package/dist/builtin/workflows/src/shared/store-tool-node-methods.ts +7 -0
  267. package/dist/builtin/workflows/src/shared/store-types.ts +18 -1
  268. package/dist/builtin/workflows/src/shared/tool-payload-bounds.ts +576 -0
  269. package/dist/builtin/workflows/src/tui/graph-theme.ts +8 -1
  270. package/dist/builtin/workflows/src/tui/graph-view-constants.ts +11 -0
  271. package/dist/builtin/workflows/src/tui/graph-view-input.ts +100 -5
  272. package/dist/builtin/workflows/src/tui/graph-view-layout.ts +42 -11
  273. package/dist/builtin/workflows/src/tui/graph-view-render-helpers.ts +55 -6
  274. package/dist/builtin/workflows/src/tui/graph-view-render.ts +71 -6
  275. package/dist/builtin/workflows/src/tui/graph-view-state.ts +43 -0
  276. package/dist/builtin/workflows/src/tui/keybindings-adapter.ts +2 -0
  277. package/dist/builtin/workflows/src/tui/node-card.ts +5 -1
  278. package/dist/builtin/workflows/src/tui/stage-chat-view-archive-history.ts +11 -2
  279. package/dist/builtin/workflows/src/tui/stage-chat-view-custom-ui.ts +7 -8
  280. package/dist/builtin/workflows/src/tui/stage-chat-view.ts +36 -10
  281. package/dist/builtin/workflows/src/tui/switcher.ts +11 -4
  282. package/dist/builtin/workflows/src/tui/tool-detail.ts +348 -0
  283. package/dist/builtin/workflows/src/tui/workflow-status.ts +5 -2
  284. package/dist/cli/args.d.ts +1 -0
  285. package/dist/cli/args.d.ts.map +1 -1
  286. package/dist/cli/args.js +11 -0
  287. package/dist/cli/args.js.map +1 -1
  288. package/dist/cli/auth-check.d.ts +1 -1
  289. package/dist/cli/auth-check.js.map +1 -1
  290. package/dist/cli/credential-print.d.ts +1 -1
  291. package/dist/cli/credential-print.js.map +1 -1
  292. package/dist/cli/list-models.d.ts +1 -1
  293. package/dist/cli/list-models.js.map +1 -1
  294. package/dist/cli/startup-ui.d.ts +9 -0
  295. package/dist/cli/startup-ui.d.ts.map +1 -1
  296. package/dist/cli/startup-ui.js +7 -1
  297. package/dist/cli/startup-ui.js.map +1 -1
  298. package/dist/core/agent-session-custom-message-commit.js +2 -2
  299. package/dist/core/agent-session-custom-message-commit.js.map +1 -1
  300. package/dist/core/agent-session-export.d.ts +6 -1
  301. package/dist/core/agent-session-export.d.ts.map +1 -1
  302. package/dist/core/agent-session-export.js +6 -3
  303. package/dist/core/agent-session-export.js.map +1 -1
  304. package/dist/core/agent-session-extension-bindings.d.ts.map +1 -1
  305. package/dist/core/agent-session-extension-bindings.js +6 -4
  306. package/dist/core/agent-session-extension-bindings.js.map +1 -1
  307. package/dist/core/agent-session-methods.d.ts +5 -2
  308. package/dist/core/agent-session-methods.d.ts.map +1 -1
  309. package/dist/core/agent-session-methods.js.map +1 -1
  310. package/dist/core/agent-session-prompt.d.ts +12 -1
  311. package/dist/core/agent-session-prompt.d.ts.map +1 -1
  312. package/dist/core/agent-session-prompt.js +31 -10
  313. package/dist/core/agent-session-prompt.js.map +1 -1
  314. package/dist/core/agent-session-runtime-auth.js.map +1 -1
  315. package/dist/core/agent-session-services.d.ts +1 -1
  316. package/dist/core/agent-session-services.js.map +1 -1
  317. package/dist/core/agent-session-skill-block.d.ts +1 -0
  318. package/dist/core/agent-session-skill-block.d.ts.map +1 -1
  319. package/dist/core/agent-session-skill-block.js +18 -2
  320. package/dist/core/agent-session-skill-block.js.map +1 -1
  321. package/dist/core/agent-session-state.d.ts.map +1 -1
  322. package/dist/core/agent-session-state.js +2 -1
  323. package/dist/core/agent-session-state.js.map +1 -1
  324. package/dist/core/agent-session-types.d.ts +2 -1
  325. package/dist/core/agent-session-types.d.ts.map +1 -1
  326. package/dist/core/agent-session-types.js.map +1 -1
  327. package/dist/core/agent-session.d.ts +1 -1
  328. package/dist/core/agent-session.js.map +1 -1
  329. package/dist/core/atomic-guide-command.js +2 -2
  330. package/dist/core/atomic-guide-command.js.map +1 -1
  331. package/dist/core/builtin-packages.d.ts.map +1 -1
  332. package/dist/core/builtin-packages.js +0 -6
  333. package/dist/core/builtin-packages.js.map +1 -1
  334. package/dist/core/cloudflare-gateway-binding.d.ts +11 -0
  335. package/dist/core/cloudflare-gateway-binding.d.ts.map +1 -0
  336. package/dist/core/cloudflare-gateway-binding.js +11 -0
  337. package/dist/core/cloudflare-gateway-binding.js.map +1 -0
  338. package/dist/core/codex-fast-mode-transport.d.ts +12 -0
  339. package/dist/core/codex-fast-mode-transport.d.ts.map +1 -0
  340. package/dist/core/codex-fast-mode-transport.js +130 -0
  341. package/dist/core/codex-fast-mode-transport.js.map +1 -0
  342. package/dist/core/codex-fast-mode.d.ts +20 -6
  343. package/dist/core/codex-fast-mode.d.ts.map +1 -1
  344. package/dist/core/codex-fast-mode.js +111 -3
  345. package/dist/core/codex-fast-mode.js.map +1 -1
  346. package/dist/core/diagnostics.d.ts +4 -0
  347. package/dist/core/diagnostics.d.ts.map +1 -1
  348. package/dist/core/diagnostics.js.map +1 -1
  349. package/dist/core/event-bus.d.ts +12 -0
  350. package/dist/core/event-bus.d.ts.map +1 -1
  351. package/dist/core/event-bus.js +22 -0
  352. package/dist/core/event-bus.js.map +1 -1
  353. package/dist/core/experimental.d.ts +25 -0
  354. package/dist/core/experimental.d.ts.map +1 -1
  355. package/dist/core/experimental.js +24 -0
  356. package/dist/core/experimental.js.map +1 -1
  357. package/dist/core/export-html/template-js/tree-filter-render.js +4 -3
  358. package/dist/core/export-html/template.js +4 -3
  359. package/dist/core/extension-session-state.d.ts +28 -0
  360. package/dist/core/extension-session-state.d.ts.map +1 -0
  361. package/dist/core/extension-session-state.js +55 -0
  362. package/dist/core/extension-session-state.js.map +1 -0
  363. package/dist/core/extensions/api-types.d.ts +6 -0
  364. package/dist/core/extensions/api-types.d.ts.map +1 -1
  365. package/dist/core/extensions/api-types.js.map +1 -1
  366. package/dist/core/extensions/context-types.d.ts +4 -0
  367. package/dist/core/extensions/context-types.d.ts.map +1 -1
  368. package/dist/core/extensions/context-types.js.map +1 -1
  369. package/dist/core/extensions/loader-api.d.ts +1 -1
  370. package/dist/core/extensions/loader-api.d.ts.map +1 -1
  371. package/dist/core/extensions/loader-api.js +16 -10
  372. package/dist/core/extensions/loader-api.js.map +1 -1
  373. package/dist/core/extensions/loader-virtual-modules.d.ts.map +1 -1
  374. package/dist/core/extensions/loader-virtual-modules.js +12 -1
  375. package/dist/core/extensions/loader-virtual-modules.js.map +1 -1
  376. package/dist/core/extensions/runner-context.d.ts +2 -0
  377. package/dist/core/extensions/runner-context.d.ts.map +1 -1
  378. package/dist/core/extensions/runner-context.js +8 -0
  379. package/dist/core/extensions/runner-context.js.map +1 -1
  380. package/dist/core/extensions/runner.d.ts +1 -0
  381. package/dist/core/extensions/runner.d.ts.map +1 -1
  382. package/dist/core/extensions/runner.js +3 -0
  383. package/dist/core/extensions/runner.js.map +1 -1
  384. package/dist/core/extensions/runtime-types.d.ts +3 -0
  385. package/dist/core/extensions/runtime-types.d.ts.map +1 -1
  386. package/dist/core/extensions/runtime-types.js.map +1 -1
  387. package/dist/core/http-dispatcher.d.ts.map +1 -1
  388. package/dist/core/http-dispatcher.js +5 -0
  389. package/dist/core/http-dispatcher.js.map +1 -1
  390. package/dist/core/keybindings.d.ts +24 -0
  391. package/dist/core/keybindings.d.ts.map +1 -1
  392. package/dist/core/keybindings.js +6 -0
  393. package/dist/core/keybindings.js.map +1 -1
  394. package/dist/core/model-config.d.ts +5 -0
  395. package/dist/core/model-config.d.ts.map +1 -1
  396. package/dist/core/model-config.js +1 -0
  397. package/dist/core/model-config.js.map +1 -1
  398. package/dist/core/model-registry.d.ts +1 -1
  399. package/dist/core/model-registry.js.map +1 -1
  400. package/dist/core/model-resolver-cli.d.ts +1 -1
  401. package/dist/core/model-resolver-cli.js.map +1 -1
  402. package/dist/core/model-resolver-defaults.js +3 -3
  403. package/dist/core/model-resolver-defaults.js.map +1 -1
  404. package/dist/core/model-resolver-initial.d.ts +1 -1
  405. package/dist/core/model-resolver-initial.js.map +1 -1
  406. package/dist/core/model-resolver-scope.d.ts +1 -1
  407. package/dist/core/model-resolver-scope.js.map +1 -1
  408. package/dist/core/model-runtime.d.ts +54 -0
  409. package/dist/core/model-runtime.d.ts.map +1 -1
  410. package/dist/core/model-runtime.js +96 -13
  411. package/dist/core/model-runtime.js.map +1 -1
  412. package/dist/core/oauth-login.js.map +1 -1
  413. package/dist/core/project-trust.d.ts +10 -0
  414. package/dist/core/project-trust.d.ts.map +1 -1
  415. package/dist/core/project-trust.js +12 -0
  416. package/dist/core/project-trust.js.map +1 -1
  417. package/dist/core/resource-loader-assets.d.ts.map +1 -1
  418. package/dist/core/resource-loader-assets.js +14 -5
  419. package/dist/core/resource-loader-assets.js.map +1 -1
  420. package/dist/core/resource-loader-core.d.ts +3 -0
  421. package/dist/core/resource-loader-core.d.ts.map +1 -1
  422. package/dist/core/resource-loader-core.js +5 -0
  423. package/dist/core/resource-loader-core.js.map +1 -1
  424. package/dist/core/resource-loader-internals.d.ts +2 -0
  425. package/dist/core/resource-loader-internals.d.ts.map +1 -1
  426. package/dist/core/resource-loader-internals.js.map +1 -1
  427. package/dist/core/resource-loader-reload.d.ts.map +1 -1
  428. package/dist/core/resource-loader-reload.js +2 -0
  429. package/dist/core/resource-loader-reload.js.map +1 -1
  430. package/dist/core/resource-loader-types.d.ts +2 -0
  431. package/dist/core/resource-loader-types.d.ts.map +1 -1
  432. package/dist/core/resource-loader-types.js.map +1 -1
  433. package/dist/core/resource-loader.d.ts +2 -0
  434. package/dist/core/resource-loader.d.ts.map +1 -1
  435. package/dist/core/resource-loader.js +1 -0
  436. package/dist/core/resource-loader.js.map +1 -1
  437. package/dist/core/sdk-types.d.ts +7 -6
  438. package/dist/core/sdk-types.d.ts.map +1 -1
  439. package/dist/core/sdk-types.js.map +1 -1
  440. package/dist/core/sdk.d.ts.map +1 -1
  441. package/dist/core/sdk.js +17 -6
  442. package/dist/core/sdk.js.map +1 -1
  443. package/dist/core/session-manager-core.d.ts +7 -1
  444. package/dist/core/session-manager-core.d.ts.map +1 -1
  445. package/dist/core/session-manager-core.js +11 -2
  446. package/dist/core/session-manager-core.js.map +1 -1
  447. package/dist/core/session-manager-entries.d.ts +2 -2
  448. package/dist/core/session-manager-entries.d.ts.map +1 -1
  449. package/dist/core/session-manager-entries.js +6 -4
  450. package/dist/core/session-manager-entries.js.map +1 -1
  451. package/dist/core/session-manager-list.d.ts.map +1 -1
  452. package/dist/core/session-manager-list.js +5 -1
  453. package/dist/core/session-manager-list.js.map +1 -1
  454. package/dist/core/session-manager-types.d.ts +25 -2
  455. package/dist/core/session-manager-types.d.ts.map +1 -1
  456. package/dist/core/session-manager-types.js.map +1 -1
  457. package/dist/core/session-manager.d.ts +1 -1
  458. package/dist/core/session-manager.d.ts.map +1 -1
  459. package/dist/core/session-manager.js.map +1 -1
  460. package/dist/core/settings-manager-basic-accessors.d.ts +1 -0
  461. package/dist/core/settings-manager-basic-accessors.d.ts.map +1 -1
  462. package/dist/core/settings-manager-basic-accessors.js +8 -0
  463. package/dist/core/settings-manager-basic-accessors.js.map +1 -1
  464. package/dist/core/settings-manager-ui-accessors.d.ts +3 -1
  465. package/dist/core/settings-manager-ui-accessors.d.ts.map +1 -1
  466. package/dist/core/settings-manager-ui-accessors.js +9 -0
  467. package/dist/core/settings-manager-ui-accessors.js.map +1 -1
  468. package/dist/core/settings-manager.d.ts +1 -1
  469. package/dist/core/settings-manager.d.ts.map +1 -1
  470. package/dist/core/settings-manager.js.map +1 -1
  471. package/dist/core/settings-types.d.ts +4 -0
  472. package/dist/core/settings-types.d.ts.map +1 -1
  473. package/dist/core/settings-types.js.map +1 -1
  474. package/dist/core/skill-catalog.d.ts +35 -0
  475. package/dist/core/skill-catalog.d.ts.map +1 -0
  476. package/dist/core/skill-catalog.js +264 -0
  477. package/dist/core/skill-catalog.js.map +1 -0
  478. package/dist/core/skills-async.d.ts.map +1 -1
  479. package/dist/core/skills-async.js +12 -6
  480. package/dist/core/skills-async.js.map +1 -1
  481. package/dist/core/skills.d.ts +2 -0
  482. package/dist/core/skills.d.ts.map +1 -1
  483. package/dist/core/skills.js +8 -5
  484. package/dist/core/skills.js.map +1 -1
  485. package/dist/core/slash-commands.d.ts.map +1 -1
  486. package/dist/core/slash-commands.js +1 -5
  487. package/dist/core/slash-commands.js.map +1 -1
  488. package/dist/core/system-prompt.js +2 -2
  489. package/dist/core/system-prompt.js.map +1 -1
  490. package/dist/core/tools/ask-user-question/ask-user-question.d.ts +7 -3
  491. package/dist/core/tools/ask-user-question/ask-user-question.d.ts.map +1 -1
  492. package/dist/core/tools/ask-user-question/ask-user-question.js +15 -10
  493. package/dist/core/tools/ask-user-question/ask-user-question.js.map +1 -1
  494. package/dist/core/tools/ask-user-question/state/build-questionnaire.d.ts +1 -0
  495. package/dist/core/tools/ask-user-question/state/build-questionnaire.d.ts.map +1 -1
  496. package/dist/core/tools/ask-user-question/state/build-questionnaire.js +1 -0
  497. package/dist/core/tools/ask-user-question/state/build-questionnaire.js.map +1 -1
  498. package/dist/core/tools/ask-user-question/state/key-router.d.ts.map +1 -1
  499. package/dist/core/tools/ask-user-question/state/key-router.js +3 -1
  500. package/dist/core/tools/ask-user-question/state/key-router.js.map +1 -1
  501. package/dist/core/tools/ask-user-question/state/questionnaire-session.d.ts +3 -0
  502. package/dist/core/tools/ask-user-question/state/questionnaire-session.d.ts.map +1 -1
  503. package/dist/core/tools/ask-user-question/state/questionnaire-session.js +3 -0
  504. package/dist/core/tools/ask-user-question/state/questionnaire-session.js.map +1 -1
  505. package/dist/core/tools/ask-user-question/state/state-reducer.d.ts +1 -0
  506. package/dist/core/tools/ask-user-question/state/state-reducer.d.ts.map +1 -1
  507. package/dist/core/tools/ask-user-question/state/state-reducer.js +3 -1
  508. package/dist/core/tools/ask-user-question/state/state-reducer.js.map +1 -1
  509. package/dist/core/tools/ask-user-question/view/components/chat-row-view.d.ts +2 -0
  510. package/dist/core/tools/ask-user-question/view/components/chat-row-view.d.ts.map +1 -1
  511. package/dist/core/tools/ask-user-question/view/components/chat-row-view.js +1 -0
  512. package/dist/core/tools/ask-user-question/view/components/chat-row-view.js.map +1 -1
  513. package/dist/core/tools/ask-user-question/view/components/wrapping-select.d.ts +3 -0
  514. package/dist/core/tools/ask-user-question/view/components/wrapping-select.d.ts.map +1 -1
  515. package/dist/core/tools/ask-user-question/view/components/wrapping-select.js +2 -1
  516. package/dist/core/tools/ask-user-question/view/components/wrapping-select.js.map +1 -1
  517. package/dist/core/tools/bash.d.ts.map +1 -1
  518. package/dist/core/tools/bash.js +2 -0
  519. package/dist/core/tools/bash.js.map +1 -1
  520. package/dist/core/tools/edit-batch.d.ts +33 -0
  521. package/dist/core/tools/edit-batch.d.ts.map +1 -0
  522. package/dist/core/tools/edit-batch.js +89 -0
  523. package/dist/core/tools/edit-batch.js.map +1 -0
  524. package/dist/core/tools/edit.d.ts +1 -1
  525. package/dist/core/tools/edit.d.ts.map +1 -1
  526. package/dist/core/tools/edit.js +100 -42
  527. package/dist/core/tools/edit.js.map +1 -1
  528. package/dist/core/tools/find.d.ts.map +1 -1
  529. package/dist/core/tools/find.js +3 -1
  530. package/dist/core/tools/find.js.map +1 -1
  531. package/dist/core/tools/grep.js +1 -1
  532. package/dist/core/tools/grep.js.map +1 -1
  533. package/dist/core/tools/hashline-engine/format.d.ts +2 -0
  534. package/dist/core/tools/hashline-engine/format.d.ts.map +1 -1
  535. package/dist/core/tools/hashline-engine/format.js +4 -2
  536. package/dist/core/tools/hashline-engine/format.js.map +1 -1
  537. package/dist/core/tools/hashline-engine/messages.d.ts +2 -0
  538. package/dist/core/tools/hashline-engine/messages.d.ts.map +1 -1
  539. package/dist/core/tools/hashline-engine/messages.js +4 -2
  540. package/dist/core/tools/hashline-engine/messages.js.map +1 -1
  541. package/dist/core/tools/hashline-engine/parser.d.ts.map +1 -1
  542. package/dist/core/tools/hashline-engine/parser.js +16 -4
  543. package/dist/core/tools/hashline-engine/parser.js.map +1 -1
  544. package/dist/core/tools/hashline-engine/tokenizer.d.ts.map +1 -1
  545. package/dist/core/tools/hashline-engine/tokenizer.js +37 -27
  546. package/dist/core/tools/hashline-engine/tokenizer.js.map +1 -1
  547. package/dist/core/tools/hashline.d.ts.map +1 -1
  548. package/dist/core/tools/hashline.js +8 -2
  549. package/dist/core/tools/hashline.js.map +1 -1
  550. package/dist/core/tools/ls.d.ts.map +1 -1
  551. package/dist/core/tools/ls.js +2 -0
  552. package/dist/core/tools/ls.js.map +1 -1
  553. package/dist/core/tools/read.d.ts.map +1 -1
  554. package/dist/core/tools/read.js +8 -1
  555. package/dist/core/tools/read.js.map +1 -1
  556. package/dist/core/tools/search.d.ts.map +1 -1
  557. package/dist/core/tools/search.js +2 -0
  558. package/dist/core/tools/search.js.map +1 -1
  559. package/dist/core/tools/todos.d.ts +3 -12
  560. package/dist/core/tools/todos.d.ts.map +1 -1
  561. package/dist/core/tools/todos.js +19 -4
  562. package/dist/core/tools/todos.js.map +1 -1
  563. package/dist/core/tools/write.d.ts.map +1 -1
  564. package/dist/core/tools/write.js +2 -0
  565. package/dist/core/tools/write.js.map +1 -1
  566. package/dist/index.d.ts +8 -5
  567. package/dist/index.d.ts.map +1 -1
  568. package/dist/index.js +6 -2
  569. package/dist/index.js.map +1 -1
  570. package/dist/main-runtime-api-key.d.ts +1 -1
  571. package/dist/main-runtime-api-key.js.map +1 -1
  572. package/dist/main-session-options.d.ts +1 -1
  573. package/dist/main-session-options.js.map +1 -1
  574. package/dist/main.d.ts.map +1 -1
  575. package/dist/main.js +10 -2
  576. package/dist/main.js.map +1 -1
  577. package/dist/modes/interactive/components/chat-session-host-rendering.js +1 -1
  578. package/dist/modes/interactive/components/chat-session-host-rendering.js.map +1 -1
  579. package/dist/modes/interactive/components/chat-session-host-state.d.ts +8 -0
  580. package/dist/modes/interactive/components/chat-session-host-state.d.ts.map +1 -1
  581. package/dist/modes/interactive/components/chat-session-host-state.js +8 -0
  582. package/dist/modes/interactive/components/chat-session-host-state.js.map +1 -1
  583. package/dist/modes/interactive/components/chat-session-host.d.ts +26 -0
  584. package/dist/modes/interactive/components/chat-session-host.d.ts.map +1 -1
  585. package/dist/modes/interactive/components/chat-session-host.js +38 -0
  586. package/dist/modes/interactive/components/chat-session-host.js.map +1 -1
  587. package/dist/modes/interactive/components/chat-transcript.d.ts +37 -0
  588. package/dist/modes/interactive/components/chat-transcript.d.ts.map +1 -1
  589. package/dist/modes/interactive/components/chat-transcript.js +54 -1
  590. package/dist/modes/interactive/components/chat-transcript.js.map +1 -1
  591. package/dist/modes/interactive/components/fast-mode-selector.js +1 -1
  592. package/dist/modes/interactive/components/fast-mode-selector.js.map +1 -1
  593. package/dist/modes/interactive/components/model-selector.d.ts +1 -1
  594. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  595. package/dist/modes/interactive/components/model-selector.js +2 -1
  596. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  597. package/dist/modes/interactive/components/oauth-selector.d.ts +1 -1
  598. package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
  599. package/dist/modes/interactive/components/session-selector-search.d.ts +4 -0
  600. package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -1
  601. package/dist/modes/interactive/components/session-selector-search.js +4 -0
  602. package/dist/modes/interactive/components/session-selector-search.js.map +1 -1
  603. package/dist/modes/interactive/components/settings-selector-handlers.d.ts.map +1 -1
  604. package/dist/modes/interactive/components/settings-selector-handlers.js +3 -0
  605. package/dist/modes/interactive/components/settings-selector-handlers.js.map +1 -1
  606. package/dist/modes/interactive/components/settings-selector-items.d.ts.map +1 -1
  607. package/dist/modes/interactive/components/settings-selector-items.js +7 -0
  608. package/dist/modes/interactive/components/settings-selector-items.js.map +1 -1
  609. package/dist/modes/interactive/components/settings-selector-types.d.ts +3 -1
  610. package/dist/modes/interactive/components/settings-selector-types.d.ts.map +1 -1
  611. package/dist/modes/interactive/components/settings-selector-types.js.map +1 -1
  612. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  613. package/dist/modes/interactive/components/tool-execution.js +12 -1
  614. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  615. package/dist/modes/interactive/interactive-auth-login.js.map +1 -1
  616. package/dist/modes/interactive/interactive-auth-routing.js.map +1 -1
  617. package/dist/modes/interactive/interactive-autocomplete.js +5 -4
  618. package/dist/modes/interactive/interactive-autocomplete.js.map +1 -1
  619. package/dist/modes/interactive/interactive-bash-compact.d.ts.map +1 -1
  620. package/dist/modes/interactive/interactive-bash-compact.js +2 -2
  621. package/dist/modes/interactive/interactive-bash-compact.js.map +1 -1
  622. package/dist/modes/interactive/interactive-extension-custom-ui.js +2 -2
  623. package/dist/modes/interactive/interactive-extension-custom-ui.js.map +1 -1
  624. package/dist/modes/interactive/interactive-mode-base.d.ts +38 -3
  625. package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -1
  626. package/dist/modes/interactive/interactive-mode-base.js +75 -10
  627. package/dist/modes/interactive/interactive-mode-base.js.map +1 -1
  628. package/dist/modes/interactive/interactive-mode-surface.d.ts +7 -1
  629. package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -1
  630. package/dist/modes/interactive/interactive-mode-surface.js.map +1 -1
  631. package/dist/modes/interactive/interactive-mode-types.d.ts +2 -0
  632. package/dist/modes/interactive/interactive-mode-types.d.ts.map +1 -1
  633. package/dist/modes/interactive/interactive-mode-types.js.map +1 -1
  634. package/dist/modes/interactive/interactive-model-catalog-startup.d.ts +8 -1
  635. package/dist/modes/interactive/interactive-model-catalog-startup.d.ts.map +1 -1
  636. package/dist/modes/interactive/interactive-model-catalog-startup.js +13 -3
  637. package/dist/modes/interactive/interactive-model-catalog-startup.js.map +1 -1
  638. package/dist/modes/interactive/interactive-model-routing.js +3 -4
  639. package/dist/modes/interactive/interactive-model-routing.js.map +1 -1
  640. package/dist/modes/interactive/interactive-render-chat.js +6 -0
  641. package/dist/modes/interactive/interactive-render-chat.js.map +1 -1
  642. package/dist/modes/interactive/interactive-resource-disclosure.js +2 -2
  643. package/dist/modes/interactive/interactive-resource-disclosure.js.map +1 -1
  644. package/dist/modes/interactive/interactive-selectors.js +7 -3
  645. package/dist/modes/interactive/interactive-selectors.js.map +1 -1
  646. package/dist/modes/interactive/interactive-session-runtime.js +7 -1
  647. package/dist/modes/interactive/interactive-session-runtime.js.map +1 -1
  648. package/dist/modes/interactive/interactive-slash-commands.js +2 -2
  649. package/dist/modes/interactive/interactive-slash-commands.js.map +1 -1
  650. package/dist/modes/interactive/interactive-startup.d.ts.map +1 -1
  651. package/dist/modes/interactive/interactive-startup.js +34 -9
  652. package/dist/modes/interactive/interactive-startup.js.map +1 -1
  653. package/dist/modes/interactive/interactive-tui.d.ts +18 -1
  654. package/dist/modes/interactive/interactive-tui.d.ts.map +1 -1
  655. package/dist/modes/interactive/interactive-tui.js +126 -38
  656. package/dist/modes/interactive/interactive-tui.js.map +1 -1
  657. package/dist/modes/interactive/model-catalog-refresh.d.ts +17 -0
  658. package/dist/modes/interactive/model-catalog-refresh.d.ts.map +1 -0
  659. package/dist/modes/interactive/model-catalog-refresh.js +84 -0
  660. package/dist/modes/interactive/model-catalog-refresh.js.map +1 -0
  661. package/dist/modes/interactive/theme/dark.json +2 -0
  662. package/dist/modes/interactive/theme/light.json +2 -0
  663. package/dist/modes/interactive/theme/theme-class.d.ts +12 -3
  664. package/dist/modes/interactive/theme/theme-class.d.ts.map +1 -1
  665. package/dist/modes/interactive/theme/theme-class.js +6 -1
  666. package/dist/modes/interactive/theme/theme-class.js.map +1 -1
  667. package/dist/modes/interactive/theme/theme-controller.d.ts +10 -2
  668. package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
  669. package/dist/modes/interactive/theme/theme-controller.js +23 -10
  670. package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
  671. package/dist/modes/interactive/theme/theme-loading.d.ts.map +1 -1
  672. package/dist/modes/interactive/theme/theme-loading.js +1 -0
  673. package/dist/modes/interactive/theme/theme-loading.js.map +1 -1
  674. package/dist/modes/interactive/theme/theme-schema.d.ts +8 -0
  675. package/dist/modes/interactive/theme/theme-schema.d.ts.map +1 -1
  676. package/dist/modes/interactive/theme/theme-schema.js +3 -1
  677. package/dist/modes/interactive/theme/theme-schema.js.map +1 -1
  678. package/dist/modes/interactive/theme/theme-schema.json +9 -1
  679. package/dist/modes/json-event.d.ts +6 -1
  680. package/dist/modes/json-event.d.ts.map +1 -1
  681. package/dist/modes/json-event.js +17 -2
  682. package/dist/modes/json-event.js.map +1 -1
  683. package/dist/modes/rpc/rpc-client.js.map +1 -1
  684. package/dist/modes/rpc/rpc-command-handler.d.ts.map +1 -1
  685. package/dist/modes/rpc/rpc-command-handler.js +5 -4
  686. package/dist/modes/rpc/rpc-command-handler.js.map +1 -1
  687. package/dist/modes/rpc/rpc-provider-auth.js.map +1 -1
  688. package/dist/modes/rpc/rpc-responses.js.map +1 -1
  689. package/dist/modes/rpc/rpc-types.d.ts +1 -1
  690. package/dist/modes/rpc/rpc-types.js.map +1 -1
  691. package/dist/package-manager-cli.js.map +1 -1
  692. package/dist/server/create-harness.d.ts.map +1 -1
  693. package/dist/server/create-harness.js +11 -0
  694. package/dist/server/create-harness.js.map +1 -1
  695. package/dist/utils/abort.d.ts +9 -0
  696. package/dist/utils/abort.d.ts.map +1 -0
  697. package/dist/utils/abort.js +19 -0
  698. package/dist/utils/abort.js.map +1 -0
  699. package/dist/utils/tools-manager.d.ts +16 -1
  700. package/dist/utils/tools-manager.d.ts.map +1 -1
  701. package/dist/utils/tools-manager.js +19 -19
  702. package/dist/utils/tools-manager.js.map +1 -1
  703. package/docs/custom-provider.md +9 -8
  704. package/docs/development.md +0 -1
  705. package/docs/docs.json +0 -1
  706. package/docs/environment-variables.md +3 -0
  707. package/docs/extensions.md +73 -2
  708. package/docs/json.md +3 -1
  709. package/docs/keybindings.md +7 -3
  710. package/docs/models/artificial-analysis-index.md +2 -2
  711. package/docs/models/model-selection.md +32 -23
  712. package/docs/models/pareto-efficiency.md +25 -24
  713. package/docs/providers.md +95 -2
  714. package/docs/quickstart.md +4 -2
  715. package/docs/rpc.md +21 -7
  716. package/docs/sdk.md +26 -1
  717. package/docs/session-format.md +5 -2
  718. package/docs/settings.md +34 -3
  719. package/docs/skills.md +16 -1
  720. package/docs/terminal-setup.md +15 -2
  721. package/docs/themes.md +22 -4
  722. package/docs/tools.md +4 -2
  723. package/docs/tui.md +2 -0
  724. package/docs/usage.md +5 -4
  725. package/docs/workflows.md +65 -22
  726. package/npm-shrinkwrap.json +247 -253
  727. package/package.json +11 -11
  728. package/dist/builtin/i-have-adhd/CHANGELOG.md +0 -30
  729. package/dist/builtin/i-have-adhd/LICENSE +0 -21
  730. package/dist/builtin/i-have-adhd/README.md +0 -18
  731. package/dist/builtin/i-have-adhd/index.ts +0 -238
  732. package/dist/builtin/i-have-adhd/package.json +0 -56
  733. package/dist/builtin/i-have-adhd/skills/i-have-adhd/SKILL.md +0 -140
  734. package/dist/builtin/workflows/builtin/open-claude-design-feedback.ts +0 -359
  735. package/dist/builtin/workflows/skills/impeccable/scripts/live/ui-core.mjs +0 -180
  736. package/docs/i-have-adhd.md +0 -36
package/CHANGELOG.md CHANGED
@@ -2,6 +2,66 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.9.14-alpha.3] - 2026-08-17
6
+
7
+ ### Changed
8
+
9
+ - Documented built-in workflow and subagent Grok 4.6 fallbacks as `xai/grok-4.6:xhigh` and `github-copilot/grok-4.6:xhigh`.
10
+ - Optional DBOS durable execution now makes `/workflow resume` recovery idempotent, re-stamps `executor_id` on a successful step checkpoint, and keeps the SDK's internal admin server off by default.
11
+ - MCP OAuth browser launch now succeeds from WSL when the Linux working directory is not reachable from Windows.
12
+ - `ask_user_question` no longer submits an empty or whitespace-only **Type something.** answer. The readiness-gate tool can treat **Chat about this** as a plain option via `createAskUserQuestionToolDefinition({ chatAsOption: true })`.
13
+
14
+ ### Fixed
15
+
16
+ - Parallel `edit` calls that share a `[path#TAG]` are now applied as one snapshot-anchored batch, so later siblings no longer fail with `file content changed before write` after the first write mints a new tag.
17
+ - PDF extraction no longer throws `TypeError: Math.sumPrecise is not a function` on Node runtimes without that builtin.
18
+
19
+ ## [0.9.14-alpha.2] - 2026-08-17
20
+
21
+ ### Added
22
+
23
+ - Two new unbound viewport actions, `tui.altScreen.lineUp` and `tui.altScreen.lineDown`, scroll the transcript by a single line ([#2385](https://github.com/bastani-inc/atomic/issues/2385)).
24
+ - Added the `fullscreenExitOutput` setting with a `/settings` row beside **Fullscreen scrollbar**. `"transcript"` (the default) prints the final transcript and session resume hint when an interactive session exits; `"resume-hint"` restores the terminal's previous screen and prints only the resume hint.
25
+ - Added the `defaultTools` setting, which selects the built-in tools a session starts with — an empty array starts with none — while extension and SDK custom tools stay registered and active, so `workflow`, `subagent`, `intercom`, `mcp`, and `web_search` survive a narrow selection. Explicit `--tools`, `--no-tools`, `--no-builtin-tools`, and `--exclude-tools` keep their precedence, a project array replaces the global array, and an unreadable value reads as unset.
26
+ - Added `--use-theme <name[/name]>`, which selects the interactive theme for one run without writing settings. `atomic --use-theme light/dark` follows terminal appearance; choosing another theme later in `/settings` applies immediately and saves normally, and `/export`/`/share` render with the run's theme. A missing or flag-shaped value reports `--use-theme requires a theme name`, and an unknown theme surfaces through the ordinary theme error.
27
+ - Added `expandPromptTemplates` to `sendUserMessage()`. The default stays `false`, so extension-authored messages keep their literal-send meaning; `true` dispatches registered extension commands and expands skill commands and prompt templates, and an unknown command falls through to a literal send.
28
+ - Added opt-in strict JSON-schema constrained sampling for built-in tool definitions behind the existing experimental gate (`ATOMIC_EXPERIMENTAL=1` or legacy `PI_EXPERIMENTAL=1`). `read`, `bash`, `edit`, `write`, `find`, `search`, `ls`, `ask_user_question`, `todo`, and the harness tool wrapper declare `{ type: "json_schema", strict: "prefer" }` only while the gate is on, and a definition carrying its own constraint — including `structured-output`'s caller-supplied schema or an explicit `false` opt-out — keeps it rather than being re-wrapped.
29
+ - Added the Cloudflare AI Gateway Workers AI binding transport to the public surface: `createGatewayBindingFetch`, the `CLOUDFLARE_GATEWAY_BINDING_AUTH_SENTINEL` placeholder credential, and the binding types are re-exported from `@bastani/atomic`, and [Providers](docs/providers.md) documents the no-API-token path with a working provider-extension example.
30
+ - Added the `SessionNameState` type and `getSessionNameState()` to the public SDK surface. `getSessionNameState()` reports whether a session was never named, named and then cleared, or currently holds a name — the distinction the session file already records — where `getLatestSessionName` returns only the name.
31
+ - Same-name skills stay independently selectable. `/skill:name` still uses the current project/user-over-package winner, and Atomic now keeps every distinct file as a source-qualified command such as `/skill:tdd@user` and `/skill:tdd@builtin`. Autocomplete, `pi.getCommands()`, RPC `get_commands`, the model-visible skill list, collision diagnostics, and in-process child `skills` selectors share those identities. A qualified selector is exact: unknown or ambiguous aliases error instead of falling back to the winner ([#2328](https://github.com/bastani-inc/atomic/issues/2328)).
32
+ - Added `sessionScopedExtensionState()` to the public surface: a host primitive for extension state that must survive `/reload`. Reloading file extensions re-evaluates their module graph, so module-scoped singletons are recreated while the session keeps running; the primitive resolves an extension's `events` facade back to the canonical session event bus it forwards to and returns the state already registered for that bus under a caller-chosen key, creating it on first use. Every load generation of one session re-binds to the same state object while two in-process sessions with distinct event buses stay isolated, and entries live exactly as long as the bus they serve. The key namespace is session-wide: callers must prefix keys with a stable extension identity and a version suffix (e.g. `"my-extension:state:v1"`) so two extensions cannot collide and an extension whose state shape changes can decline an incompatible predecessor. [Extensions](docs/extensions.md#session-scoped-in-memory-state) documents the required scope, versioning, reload behavior, and namespace. No host or extension code path calls it yet ([#2462](https://github.com/bastani-inc/atomic/issues/2462) by [@makgunay](https://github.com/makgunay)).
33
+
34
+ ### Changed
35
+
36
+ - Adopted the pi 0.84.2 runtime across all six `@earendil-works/pi-*` dependencies ([#2385](https://github.com/bastani-inc/atomic/issues/2385)). Provider fixes arrive with `pi-ai`: OpenAI Responses namespace handling, DeepSeek `max_tokens` and case-insensitive base URLs, Bedrock empty tool-argument keys, Google length stops alongside tool calls, Codex `end_turn`, upstream buffer retry, Cloudflare strict-tools gating, and DeepSeek V4 Flash low effort. Renderer fixes arrive with `pi-tui`: full-width row painting, repaint after an idle focus loss, LaTeX control-space handling across line endings, focused-overlay wheel/viewport-key deferral, and generic SGR mouse release. Mistral models now stream over a native HTTP transport — the Mistral SDK is no longer installed — and `PI_TUI_ESC_TIMEOUT` (default `100` ms over SSH, `10` ms otherwise) tunes how long the renderer waits after a lone `ESC` before treating it as Escape.
37
+ - The exported `Theme` constructor's color maps now accept the optional `scrollbarThumb` token, with the same fallback encoded in the typebox and JSON theme schemas, so every user-authored theme keeps validating and rendering. Unused leftover `searchMatchBg` / `searchMatchText` keys remain accepted so older theme files still load.
38
+ - Automatic theme detection starts its colour-scheme and background probes concurrently instead of sequentially, halving the worst-case per-startup detection delay from 200 ms to 100 ms.
39
+ - Concurrent interactive model-catalog refreshes share one in-flight pass per runtime and effective network policy — keyed also on credential state and catalog content — so startup's refresh and the `/model` selector's refresh no longer start overlapping passes for the same catalog, and cancellation stays synchronous.
40
+ - Changed the built-in xAI default and the shipped xAI and OpenRouter workflow and subagent fallback chains from Grok 4.5 to Grok 4.6, and refreshed model-selection guidance from the latest DeepSWE v1.1 and Artificial Analysis v4.1.1 results.
41
+
42
+ ### Fixed
43
+
44
+ - Updated the Z.AI and Z.AI Coding Plan defaults to the catalog-valid `glm-5.3` model; direct GLM-5.3 chains use `:high`, while OpenRouter and Baseten remain documented provider-specific exceptions because their catalogs do not expose GLM-5.3 ([#2459](https://github.com/bastani-inc/atomic/issues/2459)).
45
+
46
+ - Hardened hashline edits against unsafe integer anchors and oversized numeric ranges (inclusive ranges are capped at 100,000 lines before expansion), preserved hunk-looking `+TEXT` rows as literal payloads with a parser warning, omitted the synthetic terminal-newline row consistently across whole-file, truncated, and selector reads for LF and CRLF text while retaining genuine blank lines, and kept copied read output's original terminal-newline state when writing it back. Bare CR line-ending compatibility behavior is unchanged.
47
+ - Codex fast mode now sends the real ChatGPT routing contract only when the final request body uses `service_tier: priority`. The shared Codex transport applies `originator: codex_cli_rs` and `x-codex-routing-hint: model=<model>;tier=priority` across HTTP/SSE, WebSocket, fallback, reconnect, retry, compaction-planner, and branch-summary requests. Transport detection also supports renamed providers, credential-resolved endpoints, and monitoring proxies that retain `api: "openai-codex-responses"`. Final non-priority requests keep `originator: pi` with no routing hint, and routing changes close cached sockets before reuse.
48
+ - `message_update` events on the JSON and RPC wire now carry the cumulative provider-reported `usage` on every streaming update (upstream #7982) and — only when the provider reports one — `endTurn`, the provider's explicit end-of-turn signal such as OpenAI Codex `end_turn`. A non-assistant message on this event throws instead of emitting an invented zeroed usage, and an unreported `endTurn` leaves the key absent rather than present-but-`undefined`.
49
+ - `triggerTurn: false` no longer steers an active run (upstream #8022). A custom message queued with the turn trigger disabled is appended and reaches the model on a later turn instead of being delivered into the running one.
50
+ - The system prompt ends with a newline after the working-directory line, in both the default and custom-prompt branches (upstream #7887).
51
+ - Extension tool output with no registered renderer collapses to a ten-line preview with Atomic's expand hint instead of printing the whole result (upstream #7979).
52
+ - Fullscreen drag-selection copy reports honest failure (upstream #8110). The copy routes through Atomic's clipboard path, so a host clipboard that never received the text flashes "Copy failed" instead of a false "Copied!".
53
+ - A mouse release reported with the generic SGR button code — the form some terminals send (upstream #7963) — ends a fullscreen drag selection. Previously the release was dropped, which left the drag open, copied nothing, and never activated the OSC 8 link under the press, including Atomic's jump-to-end link.
54
+ - Fullscreen viewport keys keep their Atomic routing on pi-tui 0.84.2. A focused overlay is still offered viewport keys first and the transcript still receives what it declines — including behind the `ask_user_question` dialog — and every settled overlay answer other than `true` — an async handler resolving `undefined`, a rejection, or an overlay with no input handler at all — is treated as a decline and replayed to the transcript.
55
+ - Managed-tool startup status (`fd`/`rg` readiness) reports through the transcript instead of writing to the console, whose output previously landed in and corrupted the fullscreen alternate screen; readiness from a superseded session is ignored after a transcript rebuild so it cannot appear in the replacement session.
56
+ - The `-e`/`--extension` source trust prompt names the product through its branding constant, so a rebranded distribution asks users to trust its own name rather than a hardcoded one.
57
+ - A session that was named and then cleared now reads as cleared rather than never-named. `getLatestSessionName` and the session-list reducer preserve the distinction the session file already records.
58
+ - Corrected the [custom provider](docs/custom-provider.md) reference list: the streaming implementations live in `dist/api/` (two of the six named files did not exist at the documented location), `dist/providers/` holds per-vendor configuration, and `mistral-conversations` is documented as native Mistral Chat Completions streaming now that the Mistral SDK is gone. Documented the previously undocumented `ModelRuntime` model-catalog options — `allowModelNetwork`, `modelRefreshTimeoutMs`, `modelsStorePath`, `modelsStore`, and `refresh({ allowNetwork, force, signal })` — with their implementation-verified defaults in the [SDK](docs/sdk.md) guide.
59
+
60
+ ### Removed
61
+
62
+ - Removed fullscreen transcript search. `Ctrl+Shift+F` no longer opens a find box over the main transcript or an attached workflow stage chat; the four `tui.altScreen.search*` actions stay unbound and do nothing.
63
+ - Removed the bundled `@bastani/i-have-adhd` package and its default-on ADHD-friendly response mode. The `/i-have-adhd` command, `--no-adhd` flag, `.i-have-adhd-off` marker, the "ADHD Mode" status badge, and the `stop adhd mode` / `normal mode` control phrases no longer exist; responses now use Atomic's default style.
64
+
5
65
  ## [0.9.14-alpha.1] - 2026-08-14
6
66
 
7
67
  ### Fixed
package/README.md CHANGED
@@ -15,7 +15,7 @@
15
15
 
16
16
  Atomic is a minimal terminal coding harness. Adapt Atomic to your workflows, not the other way around, without having to fork and modify Atomic internals. Extend it with TypeScript [Extensions](#extensions), [Skills](#skills), [Prompt Templates](#prompt-templates), and [Themes](#themes). Put your extensions, skills, prompt templates, and themes in [Atomic Packages](#atomic-packages) and share them with others via npm or git.
17
17
 
18
- Atomic ships with powerful defaults plus first-party bundled extensions for workflows, subagents, MCP, web access, intercom, and ADHD-friendly response style. You can still adapt or replace any workflow by writing extensions, skills, prompt templates, themes, or Atomic packages that match how you work.
18
+ Atomic ships with powerful defaults plus first-party bundled extensions for workflows, subagents, MCP, web access, and intercom. You can still adapt or replace any workflow by writing extensions, skills, prompt templates, themes, or Atomic packages that match how you work.
19
19
 
20
20
  Atomic runs in four modes: interactive, print or JSON, RPC for process integration, and an SDK for embedding in your own apps. See [openclaw/openclaw](https://github.com/openclaw/openclaw) for a real-world SDK integration.
21
21
 
@@ -473,11 +473,11 @@ See [docs/rpc.md](docs/rpc.md) for the protocol.
473
473
 
474
474
  ## Philosophy
475
475
 
476
- Atomic is aggressively extensible so it does not have to dictate your workflow. The distribution bundles first-party extensions for workflows, subagents, MCP, web access, intercom, and ADHD-friendly response style, while still letting you build or install alternative [extensions](#extensions), [skills](#skills), and [Atomic packages](#atomic-packages). This keeps Atomic adaptable without forcing every workflow into the core CLI.
476
+ Atomic is aggressively extensible so it does not have to dictate your workflow. The distribution bundles first-party extensions for workflows, subagents, MCP, web access, and intercom, while still letting you build or install alternative [extensions](#extensions), [skills](#skills), and [Atomic packages](#atomic-packages). This keeps Atomic adaptable without forcing every workflow into the core CLI.
477
477
 
478
478
  **Bundled subagents and workflows.** Atomic includes the first-party subagents and workflows packages. Use them as shipped, customize them, or replace them with your own extensions if your workflow needs a different orchestration model.
479
479
 
480
- **Bundled MCP, web access, intercom, and ADHD-friendly output.** Atomic ships first-party integrations for MCP tools, web/repository/document/video extraction, cross-session coordination, and concise action-first responses. These are packaged extensions rather than hard-coded agent behavior, so they remain configurable and replaceable.
480
+ **Bundled MCP, web access, and intercom.** Atomic ships first-party integrations for MCP tools, web/repository/document/video extraction, and cross-session coordination. These are packaged extensions rather than hard-coded agent behavior, so they remain configurable and replaceable.
481
481
 
482
482
  **Security stays explicit.** Run in a container, use project trust controls, or build confirmation flows with [extensions](#extensions) inline with your environment and security requirements.
483
483
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bastani/intercom",
3
- "version": "0.9.14-alpha.1",
3
+ "version": "0.9.14-alpha.3",
4
4
  "private": true,
5
5
  "description": "Atomic extension providing a private coordination channel between parent and child agent sessions. Fork of: https://github.com/nicobailon/pi-intercom",
6
6
  "contributors": [
@@ -44,7 +44,7 @@
44
44
  },
45
45
  "peerDependencies": {
46
46
  "@bastani/atomic": "*",
47
- "@earendil-works/pi-tui": "^0.84.1"
47
+ "@earendil-works/pi-tui": "^0.84.2"
48
48
  },
49
49
  "peerDependenciesMeta": {
50
50
  "@bastani/atomic": {
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.9.14-alpha.3] - 2026-08-17
11
+
12
+ ### Changed
13
+
14
+ - MCP OAuth now opens the authorization URL from WSL when the Linux working directory is not reachable from Windows.
15
+
10
16
  ## [0.9.13] - 2026-08-13
11
17
 
12
18
  Cumulative release of the `0.9.13-alpha.1` – `0.9.13-alpha.2` prereleases. The summary below covers the user-visible outcome of that work; the per-change detail remains in the prerelease sections below.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bastani/mcp",
3
- "version": "0.9.14-alpha.1",
3
+ "version": "0.9.14-alpha.3",
4
4
  "private": true,
5
5
  "description": "Atomic extension that adapts MCP (Model Context Protocol) servers into the coding agent. Fork of: https://github.com/nicobailon/pi-mcp-adapter",
6
6
  "contributors": [
@@ -32,8 +32,8 @@
32
32
  },
33
33
  "peerDependencies": {
34
34
  "@bastani/atomic": "*",
35
- "@earendil-works/pi-ai": "^0.84.1",
36
- "@earendil-works/pi-tui": "^0.84.1",
35
+ "@earendil-works/pi-ai": "^0.84.2",
36
+ "@earendil-works/pi-tui": "^0.84.2",
37
37
  "zod": "^3.25.0 || ^4.0.0"
38
38
  },
39
39
  "peerDependenciesMeta": {
@@ -50,7 +50,7 @@
50
50
  "dependencies": {
51
51
  "@modelcontextprotocol/ext-apps": "^1.7.5",
52
52
  "@modelcontextprotocol/sdk": "^1.30.0",
53
- "open": "^11.0.0",
53
+ "open": "^11.0.1",
54
54
  "typebox": "^1.3.7",
55
55
  "zod": "^3.25.0 || ^4.0.0"
56
56
  }
@@ -2,6 +2,26 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.9.14-alpha.3] - 2026-08-17
6
+
7
+ ### Changed
8
+
9
+ - Raised every built-in subagent Grok 4.6 fallback from `xai/grok-4.6:high` to `xai/grok-4.6:xhigh` and added the matching `github-copilot/grok-4.6:xhigh` twin immediately after each xAI id.
10
+
11
+ ## [0.9.14-alpha.2] - 2026-08-17
12
+
13
+ ### Added
14
+
15
+ - Agent frontmatter accepts YAML array-form `tools` — flow sequences (`tools: [read, bash]`) and block sequences (`tools:` followed by `- read` lines) — as well as the comma-separated string form, and both spellings produce the same tool set. Frontmatter parses through the same YAML-backed parser Atomic exports, so legal multi-line flow sequences and zero-indent block lists work, and sequence values where a scalar belongs are ignored rather than stringified.
16
+ - Extra frontmatter fields round-trip losslessly through the YAML emitter when agent files are rewritten. Hand-joined flow sequences previously corrupted items containing `#`, commas, brackets, colons, quotes, or boolean-like strings, and a rewritten file could fail YAML parsing so the agent silently disappeared from later scans; sequences now serialize as block collections with hostile keys quoted.
17
+ - In-process children resolve `skills` through the live loader catalog, so source-qualified selectors such as `tdd@builtin` inject the shadowed candidate instead of the precedence winner. Missing or ambiguous selectors are reported on the child result. The parent-only `subagent` orchestration skill remains unavailable, including qualified aliases such as `subagent@builtin` ([#2328](https://github.com/bastani-inc/atomic/issues/2328)).
18
+
19
+ ### Fixed
20
+
21
+ - A subagent that pins no model of its own now inherits the dispatching session's thinking level alongside its model, matching the parent's tool configuration inheritance. The agent's declared `thinking` and any candidate `:level` suffix still take precedence.
22
+ - In-process JSONL event artifacts now honor `includeJsonl: false` and enforce the existing 50 MiB cap when enabled, preventing unbounded artifact growth ([#2445](https://github.com/bastani-inc/atomic/issues/2445)).
23
+ - Migrated all built-in subagent GLM fallbacks to direct Z.AI `glm-5.3:high` entries, omitting unavailable OpenRouter GLM-5.3 fallbacks. Baseten's separate GLM-5.2 exception is not part of these subagent chains ([#2459](https://github.com/bastani-inc/atomic/issues/2459)).
24
+
5
25
  ## [0.9.13] - 2026-08-13
6
26
 
7
27
  Cumulative release of the `0.9.13-alpha.1` – `0.9.13-alpha.3` prereleases. The summary below covers the user-visible outcome of that work; the per-change detail remains in the prerelease sections below.
@@ -406,14 +406,16 @@ maxSubagentDepth: 1
406
406
  Your system prompt goes here.
407
407
  ```
408
408
 
409
+ Frontmatter is parsed with a real YAML parser, so it must be valid YAML: a file whose frontmatter does not parse (for example a colon-space inside an unquoted scalar like `description: Deploy: fast`, duplicate keys, or tab-indented block lists) is skipped during discovery. `subagent({ action: "doctor" })` lists every skipped file with the parser's message, so a bad file never disappears silently.
410
+
409
411
  Important fields:
410
412
 
411
413
  | Field | Notes |
412
414
  |-------|-------|
413
415
  | `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. |
414
- | `tools` | Builtin tool allowlist. `mcp:` entries select direct MCP tools when `pi-mcp-adapter` is installed. |
416
+ | `tools` | Builtin tool allowlist, comma-separated (`tools: read, bash`) or YAML array-form (`tools: [read, bash]`, or a `tools:` block list) — both spellings produce the same tool set. `mcp:` entries select direct MCP tools when `pi-mcp-adapter` is installed. |
415
417
  | `extensions` | Omitted means normal extensions; empty means no extensions; comma-separated values allowlist specific extensions. |
416
- | `model` | Default model. Bare ids prefer the current provider when possible, then unique registry matches. |
418
+ | `model` | Default model. Bare ids prefer the current provider when possible, then unique registry matches. When omitted — with no `fallbackModels` and no per-call model override — the subagent inherits the dispatching session's active model and thinking level; a declared `thinking` still takes precedence over the inherited level. |
417
419
  | `fallbackModels` | Ordered backup models for provider/model failures such as quota, auth, timeout, or unavailable model. The current user-selected model is automatically appended as the last fallback and de-duplicated. Ordinary task failures do not trigger fallback. |
418
420
  | `thinking` | Appended as a `:level` suffix at runtime unless a suffix is already present. |
419
421
  | `systemPromptMode` | `replace` by default; `append` keeps Pi’s base prompt. |
@@ -725,7 +727,7 @@ Debug artifacts live under `{sessionDir}/subagent-artifacts/` or a user-scoped t
725
727
 
726
728
  - `{runId}_{agent}_input.md`
727
729
  - `{runId}_{agent}_output.md`
728
- - `{runId}_{agent}.jsonl`
730
+ - `{runId}_{agent}.jsonl` when `includeJsonl: true` (capped at 50 MiB)
729
731
  - `{runId}_{agent}_meta.json`
730
732
 
731
733
  Metadata records timing, usage, typed status, termination cause, final model, attempted models, and fallback attempt outcomes.
@@ -740,7 +742,7 @@ Foreground runs persist their session and user-facing artifacts beside the paren
740
742
  {parent-session-dir}/subagent-artifacts/
741
743
  {runId}_{agent}_input.md
742
744
  {runId}_{agent}_output.md
743
- {runId}_{agent}.jsonl
745
+ {runId}_{agent}.jsonl # only when includeJsonl: true; max 50 MiB
744
746
  {runId}_{agent}_meta.json
745
747
  run-history.jsonl
746
748
  ```
@@ -9,7 +9,7 @@ description: |
9
9
  - Code that has gotten messy after several iterations.
10
10
  tools: read, edit, write, search, find, ls, bash, todo
11
11
  model: openai-codex/gpt-5.6-luna:max
12
- fallbackModels: github-copilot/gpt-5.6-luna:max, openai/gpt-5.6-luna:max, anthropic/claude-opus-5:low, github-copilot/claude-opus-5:low, openai-codex/gpt-5.5:medium, github-copilot/gpt-5.5:medium, openai/gpt-5.5:medium, anthropic/claude-fable-5:low, github-copilot/claude-fable-5:low, anthropic/claude-opus-4-8:medium, github-copilot/claude-opus-4.8:medium, xai/grok-4.5:high, zai/glm-5.2:high, zai-coding-cn/glm-5.2:high, openrouter/openai/gpt-5.6-luna:max, openrouter/anthropic/claude-opus-5:low, openrouter/openai/gpt-5.5:medium, openrouter/anthropic/claude-fable-5:low, openrouter/anthropic/claude-opus-4-8:medium, openrouter/x-ai/grok-4.5, openrouter/z-ai/glm-5.2:xhigh
12
+ fallbackModels: github-copilot/gpt-5.6-luna:max, openai/gpt-5.6-luna:max, anthropic/claude-opus-5:low, github-copilot/claude-opus-5:low, openai-codex/gpt-5.5:medium, github-copilot/gpt-5.5:medium, openai/gpt-5.5:medium, anthropic/claude-fable-5:low, github-copilot/claude-fable-5:low, anthropic/claude-opus-4-8:medium, github-copilot/claude-opus-4.8:medium, xai/grok-4.6:xhigh, github-copilot/grok-4.6:xhigh, zai/glm-5.3:high, zai-coding-cn/glm-5.3:high, openrouter/openai/gpt-5.6-luna:max, openrouter/anthropic/claude-opus-5:low, openrouter/openai/gpt-5.5:medium, openrouter/anthropic/claude-fable-5:low, openrouter/anthropic/claude-opus-4-8:medium, openrouter/x-ai/grok-4.6
13
13
  skills: tdd, playwright-cli, tmux
14
14
  ---
15
15
 
@@ -3,7 +3,7 @@ name: codebase-analyzer
3
3
  description: Analyzes codebase implementation details. Call the codebase-analyzer agent when you need to find detailed information about specific components.
4
4
  tools: read, search, find, ls, todo
5
5
  model: openai-codex/gpt-5.6-luna:max
6
- fallbackModels: github-copilot/gpt-5.6-luna:max, openai/gpt-5.6-luna:max, anthropic/claude-opus-5:low, github-copilot/claude-opus-5:low, openai-codex/gpt-5.5:medium, github-copilot/gpt-5.5:medium, openai/gpt-5.5:medium, anthropic/claude-fable-5:low, github-copilot/claude-fable-5:low, anthropic/claude-opus-4-8:medium, github-copilot/claude-opus-4.8:medium, xai/grok-4.5:high, zai/glm-5.2:high, zai-coding-cn/glm-5.2:high, openrouter/openai/gpt-5.6-luna:max, openrouter/anthropic/claude-opus-5:low, openrouter/openai/gpt-5.5:medium, openrouter/anthropic/claude-fable-5:low, openrouter/anthropic/claude-opus-4-8:medium, openrouter/x-ai/grok-4.5, openrouter/z-ai/glm-5.2:xhigh
6
+ fallbackModels: github-copilot/gpt-5.6-luna:max, openai/gpt-5.6-luna:max, anthropic/claude-opus-5:low, github-copilot/claude-opus-5:low, openai-codex/gpt-5.5:medium, github-copilot/gpt-5.5:medium, openai/gpt-5.5:medium, anthropic/claude-fable-5:low, github-copilot/claude-fable-5:low, anthropic/claude-opus-4-8:medium, github-copilot/claude-opus-4.8:medium, xai/grok-4.6:xhigh, github-copilot/grok-4.6:xhigh, zai/glm-5.3:high, zai-coding-cn/glm-5.3:high, openrouter/openai/gpt-5.6-luna:max, openrouter/anthropic/claude-opus-5:low, openrouter/openai/gpt-5.5:medium, openrouter/anthropic/claude-fable-5:low, openrouter/anthropic/claude-opus-4-8:medium, openrouter/x-ai/grok-4.6
7
7
  skills: tdd, playwright-cli, tmux
8
8
  ---
9
9
 
@@ -3,7 +3,7 @@ name: codebase-locator
3
3
  description: Locates files, directories, and components relevant to a feature or task. Basically a "super search/find/ls tool."
4
4
  tools: read, search, find, ls
5
5
  model: openai-codex/gpt-5.6-luna:max
6
- fallbackModels: github-copilot/gpt-5.6-luna:max, openai/gpt-5.6-luna:max, anthropic/claude-opus-5:low, github-copilot/claude-opus-5:low, openai-codex/gpt-5.5:low, github-copilot/gpt-5.5:low, openai/gpt-5.5:low, anthropic/claude-opus-4-8:low, github-copilot/claude-opus-4.8:low, xai/grok-4.5:high, zai/glm-5.2:high, zai-coding-cn/glm-5.2:high, openrouter/openai/gpt-5.6-luna:max, openrouter/anthropic/claude-opus-5:low, openrouter/openai/gpt-5.5:low, openrouter/anthropic/claude-opus-4-8:low, openrouter/x-ai/grok-4.5, openrouter/z-ai/glm-5.2:xhigh
6
+ fallbackModels: github-copilot/gpt-5.6-luna:max, openai/gpt-5.6-luna:max, anthropic/claude-opus-5:low, github-copilot/claude-opus-5:low, openai-codex/gpt-5.5:low, github-copilot/gpt-5.5:low, openai/gpt-5.5:low, anthropic/claude-opus-4-8:low, github-copilot/claude-opus-4.8:low, xai/grok-4.6:xhigh, github-copilot/grok-4.6:xhigh, zai/glm-5.3:high, zai-coding-cn/glm-5.3:high, openrouter/openai/gpt-5.6-luna:max, openrouter/anthropic/claude-opus-5:low, openrouter/openai/gpt-5.5:low, openrouter/anthropic/claude-opus-4-8:low, openrouter/x-ai/grok-4.6
7
7
  ---
8
8
 
9
9
  ## Role and goal
@@ -3,7 +3,7 @@ name: codebase-online-researcher
3
3
  description: Online research for up-to-date documentation and library-source knowledge. Use when you need authoritative external information — official docs, ecosystem context, version-specific behavior, GitHub permalinks into open-source libraries, or video tutorials.
4
4
  tools: read, search, find, ls, bash, web_search, fetch_content, get_search_content, todo
5
5
  model: openai-codex/gpt-5.6-luna:max
6
- fallbackModels: github-copilot/gpt-5.6-luna:max, openai/gpt-5.6-luna:max, anthropic/claude-opus-5:low, github-copilot/claude-opus-5:low, openai-codex/gpt-5.5:medium, github-copilot/gpt-5.5:medium, openai/gpt-5.5:medium, anthropic/claude-fable-5:low, github-copilot/claude-fable-5:low, anthropic/claude-opus-4-8:medium, github-copilot/claude-opus-4.8:medium, xai/grok-4.5:high, zai/glm-5.2:high, zai-coding-cn/glm-5.2:high, openrouter/openai/gpt-5.6-luna:max, openrouter/anthropic/claude-opus-5:low, openrouter/openai/gpt-5.5:medium, openrouter/anthropic/claude-fable-5:low, openrouter/anthropic/claude-opus-4-8:medium, openrouter/x-ai/grok-4.5, openrouter/z-ai/glm-5.2:xhigh
6
+ fallbackModels: github-copilot/gpt-5.6-luna:max, openai/gpt-5.6-luna:max, anthropic/claude-opus-5:low, github-copilot/claude-opus-5:low, openai-codex/gpt-5.5:medium, github-copilot/gpt-5.5:medium, openai/gpt-5.5:medium, anthropic/claude-fable-5:low, github-copilot/claude-fable-5:low, anthropic/claude-opus-4-8:medium, github-copilot/claude-opus-4.8:medium, xai/grok-4.6:xhigh, github-copilot/grok-4.6:xhigh, zai/glm-5.3:high, zai-coding-cn/glm-5.3:high, openrouter/openai/gpt-5.6-luna:max, openrouter/anthropic/claude-opus-5:low, openrouter/openai/gpt-5.5:medium, openrouter/anthropic/claude-fable-5:low, openrouter/anthropic/claude-opus-4-8:medium, openrouter/x-ai/grok-4.6
7
7
  skills: playwright-cli
8
8
  ---
9
9
 
@@ -3,7 +3,7 @@ name: codebase-pattern-finder
3
3
  description: Find similar implementations, usage examples, or existing patterns in the codebase that can be modeled after.
4
4
  tools: read, search, find, ls
5
5
  model: openai-codex/gpt-5.6-luna:max
6
- fallbackModels: github-copilot/gpt-5.6-luna:max, openai/gpt-5.6-luna:max, anthropic/claude-opus-5:low, github-copilot/claude-opus-5:low, openai-codex/gpt-5.5:low, github-copilot/gpt-5.5:low, openai/gpt-5.5:low, anthropic/claude-opus-4-8:low, github-copilot/claude-opus-4.8:low, xai/grok-4.5:high, zai/glm-5.2:high, zai-coding-cn/glm-5.2:high, openrouter/openai/gpt-5.6-luna:max, openrouter/anthropic/claude-opus-5:low, openrouter/openai/gpt-5.5:low, openrouter/anthropic/claude-opus-4-8:low, openrouter/x-ai/grok-4.5, openrouter/z-ai/glm-5.2:xhigh
6
+ fallbackModels: github-copilot/gpt-5.6-luna:max, openai/gpt-5.6-luna:max, anthropic/claude-opus-5:low, github-copilot/claude-opus-5:low, openai-codex/gpt-5.5:low, github-copilot/gpt-5.5:low, openai/gpt-5.5:low, anthropic/claude-opus-4-8:low, github-copilot/claude-opus-4.8:low, xai/grok-4.6:xhigh, github-copilot/grok-4.6:xhigh, zai/glm-5.3:high, zai-coding-cn/glm-5.3:high, openrouter/openai/gpt-5.6-luna:max, openrouter/anthropic/claude-opus-5:low, openrouter/openai/gpt-5.5:low, openrouter/anthropic/claude-opus-4-8:low, openrouter/x-ai/grok-4.6
7
7
  ---
8
8
 
9
9
  ## Role and goal
@@ -3,7 +3,7 @@ name: codebase-research-analyzer
3
3
  description: Analyzes local research documents to extract high-value insights, decisions, and technical details while filtering out noise. Use this when you want to deep dive on a research topic or understand the rationale behind decisions.
4
4
  tools: read, search, find, ls, todo
5
5
  model: openai-codex/gpt-5.6-luna:max
6
- fallbackModels: github-copilot/gpt-5.6-luna:max, openai/gpt-5.6-luna:max, anthropic/claude-opus-5:low, github-copilot/claude-opus-5:low, openai-codex/gpt-5.5:medium, github-copilot/gpt-5.5:medium, openai/gpt-5.5:medium, anthropic/claude-fable-5:low, github-copilot/claude-fable-5:low, anthropic/claude-opus-4-8:medium, github-copilot/claude-opus-4.8:medium, xai/grok-4.5:high, zai/glm-5.2:high, zai-coding-cn/glm-5.2:high, openrouter/openai/gpt-5.6-luna:max, openrouter/anthropic/claude-opus-5:low, openrouter/openai/gpt-5.5:medium, openrouter/anthropic/claude-fable-5:low, openrouter/anthropic/claude-opus-4-8:medium, openrouter/x-ai/grok-4.5, openrouter/z-ai/glm-5.2:xhigh
6
+ fallbackModels: github-copilot/gpt-5.6-luna:max, openai/gpt-5.6-luna:max, anthropic/claude-opus-5:low, github-copilot/claude-opus-5:low, openai-codex/gpt-5.5:medium, github-copilot/gpt-5.5:medium, openai/gpt-5.5:medium, anthropic/claude-fable-5:low, github-copilot/claude-fable-5:low, anthropic/claude-opus-4-8:medium, github-copilot/claude-opus-4.8:medium, xai/grok-4.6:xhigh, github-copilot/grok-4.6:xhigh, zai/glm-5.3:high, zai-coding-cn/glm-5.3:high, openrouter/openai/gpt-5.6-luna:max, openrouter/anthropic/claude-opus-5:low, openrouter/openai/gpt-5.5:medium, openrouter/anthropic/claude-fable-5:low, openrouter/anthropic/claude-opus-4-8:medium, openrouter/x-ai/grok-4.6
7
7
  ---
8
8
 
9
9
  ## Role and goal
@@ -3,7 +3,7 @@ name: codebase-research-locator
3
3
  description: Discovers local research documents that are relevant to the current research task.
4
4
  tools: read, search, find, ls
5
5
  model: openai-codex/gpt-5.6-luna:max
6
- fallbackModels: github-copilot/gpt-5.6-luna:max, openai/gpt-5.6-luna:max, anthropic/claude-opus-5:low, github-copilot/claude-opus-5:low, openai-codex/gpt-5.5:low, github-copilot/gpt-5.5:low, openai/gpt-5.5:low, anthropic/claude-opus-4-8:low, github-copilot/claude-opus-4.8:low, xai/grok-4.5:high, zai/glm-5.2:high, zai-coding-cn/glm-5.2:high, openrouter/openai/gpt-5.6-luna:max, openrouter/anthropic/claude-opus-5:low, openrouter/openai/gpt-5.5:low, openrouter/anthropic/claude-opus-4-8:low, openrouter/x-ai/grok-4.5, openrouter/z-ai/glm-5.2:xhigh
6
+ fallbackModels: github-copilot/gpt-5.6-luna:max, openai/gpt-5.6-luna:max, anthropic/claude-opus-5:low, github-copilot/claude-opus-5:low, openai-codex/gpt-5.5:low, github-copilot/gpt-5.5:low, openai/gpt-5.5:low, anthropic/claude-opus-4-8:low, github-copilot/claude-opus-4.8:low, xai/grok-4.6:xhigh, github-copilot/grok-4.6:xhigh, zai/glm-5.3:high, zai-coding-cn/glm-5.3:high, openrouter/openai/gpt-5.6-luna:max, openrouter/anthropic/claude-opus-5:low, openrouter/openai/gpt-5.5:low, openrouter/anthropic/claude-opus-4-8:low, openrouter/x-ai/grok-4.6
7
7
  ---
8
8
 
9
9
  ## Role and goal
@@ -3,7 +3,7 @@ name: debugger
3
3
  description: Debug and fix errors, test failures, and unexpected behavior. Use PROACTIVELY when encountering issues, analyzing stack traces, or investigating system problems.
4
4
  tools: read, edit, write, search, find, ls, bash, web_search, fetch_content, get_search_content, intercom, contact_supervisor, todo
5
5
  model: openai-codex/gpt-5.6-sol:xhigh
6
- fallbackModels: github-copilot/gpt-5.6-sol:xhigh, openai/gpt-5.6-sol:xhigh, anthropic/claude-opus-5:high, github-copilot/claude-opus-5:high, anthropic/claude-fable-5:high, github-copilot/claude-fable-5:high, kimi-coding/k3:max, moonshotai/kimi-k3:max, moonshotai-cn/kimi-k3:max, openai-codex/gpt-5.5:xhigh, github-copilot/gpt-5.5:xhigh, openai/gpt-5.5:xhigh, anthropic/claude-opus-4-8:high, github-copilot/claude-opus-4.8:high, xai/grok-4.5:high, zai/glm-5.2:xhigh, zai-coding-cn/glm-5.2:xhigh, openrouter/openai/gpt-5.6-sol:xhigh, openrouter/anthropic/claude-opus-5:high, openrouter/anthropic/claude-fable-5:high, openrouter/moonshotai/kimi-k3:max, openrouter/sakana/fugu-ultra:high, openrouter/openai/gpt-5.5:xhigh, openrouter/anthropic/claude-opus-4-8:high, openrouter/x-ai/grok-4.5, openrouter/z-ai/glm-5.2:xhigh
6
+ fallbackModels: github-copilot/gpt-5.6-sol:xhigh, openai/gpt-5.6-sol:xhigh, anthropic/claude-opus-5:high, github-copilot/claude-opus-5:high, anthropic/claude-fable-5:high, github-copilot/claude-fable-5:high, kimi-coding/k3:max, moonshotai/kimi-k3:max, moonshotai-cn/kimi-k3:max, openai-codex/gpt-5.5:xhigh, github-copilot/gpt-5.5:xhigh, openai/gpt-5.5:xhigh, anthropic/claude-opus-4-8:high, github-copilot/claude-opus-4.8:high, xai/grok-4.6:xhigh, github-copilot/grok-4.6:xhigh, zai/glm-5.3:high, zai-coding-cn/glm-5.3:high, openrouter/openai/gpt-5.6-sol:xhigh, openrouter/anthropic/claude-opus-5:high, openrouter/anthropic/claude-fable-5:high, openrouter/moonshotai/kimi-k3:max, openrouter/sakana/fugu-ultra:high, openrouter/openai/gpt-5.5:xhigh, openrouter/anthropic/claude-opus-4-8:high, openrouter/x-ai/grok-4.6
7
7
  skills: tdd, playwright-cli, tmux
8
8
  ---
9
9
 
@@ -6,7 +6,7 @@ inheritProjectContext: true
6
6
  inheritSkills: false
7
7
  tools: read, edit, write, search, find, ls, bash, web_search, fetch_content, get_search_content, intercom, contact_supervisor, todo
8
8
  model: openai-codex/gpt-5.6-luna:max
9
- fallbackModels: github-copilot/gpt-5.6-luna:max, openai/gpt-5.6-luna:max, anthropic/claude-opus-5:low, github-copilot/claude-opus-5:low, openai-codex/gpt-5.5:medium, github-copilot/gpt-5.5:medium, openai/gpt-5.5:medium, anthropic/claude-fable-5:low, github-copilot/claude-fable-5:low, anthropic/claude-opus-4-8:medium, github-copilot/claude-opus-4.8:medium, xai/grok-4.5:high, zai/glm-5.2:high, zai-coding-cn/glm-5.2:high, openrouter/openai/gpt-5.6-luna:max, openrouter/anthropic/claude-opus-5:low, openrouter/openai/gpt-5.5:medium, openrouter/anthropic/claude-fable-5:low, openrouter/anthropic/claude-opus-4-8:medium, openrouter/x-ai/grok-4.5, openrouter/z-ai/glm-5.2:xhigh
9
+ fallbackModels: github-copilot/gpt-5.6-luna:max, openai/gpt-5.6-luna:max, anthropic/claude-opus-5:low, github-copilot/claude-opus-5:low, openai-codex/gpt-5.5:medium, github-copilot/gpt-5.5:medium, openai/gpt-5.5:medium, anthropic/claude-fable-5:low, github-copilot/claude-fable-5:low, anthropic/claude-opus-4-8:medium, github-copilot/claude-opus-4.8:medium, xai/grok-4.6:xhigh, github-copilot/grok-4.6:xhigh, zai/glm-5.3:high, zai-coding-cn/glm-5.3:high, openrouter/openai/gpt-5.6-luna:max, openrouter/anthropic/claude-opus-5:low, openrouter/openai/gpt-5.5:medium, openrouter/anthropic/claude-fable-5:low, openrouter/anthropic/claude-opus-4-8:medium, openrouter/x-ai/grok-4.6
10
10
  skills: tdd, playwright-cli, tmux
11
11
  defaultContext: fork
12
12
  defaultProgress: true
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bastani/subagents",
3
- "version": "0.9.14-alpha.1",
3
+ "version": "0.9.14-alpha.3",
4
4
  "private": true,
5
5
  "description": "Atomic extension for delegating tasks to subagents with parallel execution. Fork of: https://github.com/nicobailon/pi-subagents",
6
6
  "contributors": [
@@ -38,9 +38,9 @@
38
38
  },
39
39
  "peerDependencies": {
40
40
  "@bastani/atomic": "*",
41
- "@earendil-works/pi-agent-core": "^0.84.1",
42
- "@earendil-works/pi-ai": "^0.84.1",
43
- "@earendil-works/pi-tui": "^0.84.1"
41
+ "@earendil-works/pi-agent-core": "^0.84.2",
42
+ "@earendil-works/pi-ai": "^0.84.2",
43
+ "@earendil-works/pi-tui": "^0.84.2"
44
44
  },
45
45
  "peerDependenciesMeta": {
46
46
  "@bastani/atomic": {
@@ -58,6 +58,7 @@
58
58
  },
59
59
  "dependencies": {
60
60
  "jiti": "^2.7.0",
61
- "typebox": "^1.3.7"
61
+ "typebox": "^1.3.7",
62
+ "yaml": "2.9.0"
62
63
  }
63
64
  }
@@ -2,8 +2,8 @@ import * as fs from "node:fs";
2
2
  import * as os from "node:os";
3
3
  import * as path from "node:path";
4
4
  import { getEnvValue } from "@bastani/atomic";
5
- import { loadAgentsFromDir } from "./agent-loaders.ts";
6
- import { applyBuiltinOverrides, readMergedSubagentSettings } from "./agent-overrides.ts";
5
+ import { type AgentLoadDiagnostic, loadAgentsFromDir, loadAgentsFromDirWithDiagnostics } from "./agent-loaders.js";
6
+ import { applyBuiltinOverrides, readMergedSubagentSettings } from "./agent-overrides.js";
7
7
  import {
8
8
  BUILTIN_AGENTS_DIR,
9
9
  getProjectAgentSettingsPath,
@@ -12,14 +12,14 @@ import {
12
12
  getUserAgentSettingsPath,
13
13
  getUserAgentSettingsPaths,
14
14
  resolveNearestProjectAgentDirs,
15
- } from "./agent-paths.ts";
16
- import { mergeAgentsForScope } from "./agent-selection.ts";
15
+ } from "./agent-paths.js";
16
+ import { mergeAgentsForScope } from "./agent-selection.js";
17
17
  import {
18
18
  type AgentConfig,
19
19
  type AgentDiscoveryResult,
20
20
  type AgentScope,
21
21
  EMPTY_SUBAGENT_SETTINGS,
22
- } from "./agent-types.ts";
22
+ } from "./agent-types.js";
23
23
 
24
24
  export function discoverAgents(cwd: string, scope: AgentScope): AgentDiscoveryResult {
25
25
  const userDirOld = getUserAgentDirs();
@@ -60,6 +60,7 @@ export function discoverAgentsAll(cwd: string): {
60
60
  projectDir: string | null;
61
61
  userSettingsPath: string;
62
62
  projectSettingsPath: string | null;
63
+ diagnostics: AgentLoadDiagnostic[];
63
64
  } {
64
65
  const userDirOld = getUserAgentDirs();
65
66
  const userDirNew = path.join(os.homedir(), ".agents");
@@ -71,20 +72,24 @@ export function discoverAgentsAll(cwd: string): {
71
72
  const userSettings = userSettingsLoad.settings;
72
73
  const projectSettings = projectSettingsLoad.settings;
73
74
 
75
+ const diagnostics: AgentLoadDiagnostic[] = [];
76
+ const loadDir = (dir: string, source: "builtin" | "user" | "project"): AgentConfig[] => {
77
+ const result = loadAgentsFromDirWithDiagnostics(dir, source);
78
+ diagnostics.push(...result.diagnostics);
79
+ return result.agents;
80
+ };
81
+
74
82
  const builtin = applyBuiltinOverrides(
75
- loadAgentsFromDir(BUILTIN_AGENTS_DIR, "builtin"),
83
+ loadDir(BUILTIN_AGENTS_DIR, "builtin"),
76
84
  userSettings,
77
85
  projectSettings,
78
86
  userSettingsPath,
79
87
  projectSettingsPath,
80
88
  );
81
- const user = [
82
- ...userDirOld.flatMap((dir) => loadAgentsFromDir(dir, "user")),
83
- ...loadAgentsFromDir(userDirNew, "user"),
84
- ];
89
+ const user = [...userDirOld.flatMap((dir) => loadDir(dir, "user")), ...loadDir(userDirNew, "user")];
85
90
  const projectMap = new Map<string, AgentConfig>();
86
91
  for (const dir of projectDirs) {
87
- for (const agent of loadAgentsFromDir(dir, "project")) {
92
+ for (const agent of loadDir(dir, "project")) {
88
93
  projectMap.set(agent.name, agent);
89
94
  }
90
95
  }
@@ -106,5 +111,6 @@ export function discoverAgentsAll(cwd: string): {
106
111
  projectDir,
107
112
  userSettingsPath,
108
113
  projectSettingsPath,
114
+ diagnostics,
109
115
  };
110
116
  }