@bastani/atomic 0.9.5-alpha.1 → 0.9.5-alpha.10

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 (754) hide show
  1. package/CHANGELOG.md +124 -2
  2. package/README.md +2 -2
  3. package/dist/builtin/cursor/CHANGELOG.md +6 -0
  4. package/dist/builtin/cursor/package.json +3 -3
  5. package/dist/builtin/cursor/src/model-mapper.ts +6 -3
  6. package/dist/builtin/intercom/CHANGELOG.md +31 -0
  7. package/dist/builtin/intercom/README.md +29 -21
  8. package/dist/builtin/intercom/broker/broker.ts +9 -120
  9. package/dist/builtin/intercom/broker/client.ts +29 -54
  10. package/dist/builtin/intercom/broker/delivered-message-cache.ts +44 -0
  11. package/dist/builtin/intercom/broker/paths.ts +42 -5
  12. package/dist/builtin/intercom/broker/pending-send-registry.ts +142 -0
  13. package/dist/builtin/intercom/broker/send-handler.ts +106 -0
  14. package/dist/builtin/intercom/broker/send-signature.ts +37 -0
  15. package/dist/builtin/intercom/broker/spawn.ts +78 -10
  16. package/dist/builtin/intercom/config.ts +6 -3
  17. package/dist/builtin/intercom/contact-supervisor-tool.ts +6 -4
  18. package/dist/builtin/intercom/foreground-detach-handoff.ts +136 -0
  19. package/dist/builtin/intercom/index-heavy.ts +50 -54
  20. package/dist/builtin/intercom/index.ts +320 -272
  21. package/dist/builtin/intercom/intercom-tool.ts +9 -3
  22. package/dist/builtin/intercom/lazy-heavy-proxy.ts +114 -0
  23. package/dist/builtin/intercom/lazy-subagent-ack.ts +20 -0
  24. package/dist/builtin/intercom/lazy-tool-execution.ts +39 -0
  25. package/dist/builtin/intercom/lifecycle-lease.ts +51 -0
  26. package/dist/builtin/intercom/lifecycle.ts +37 -20
  27. package/dist/builtin/intercom/package.json +12 -6
  28. package/dist/builtin/intercom/reply-routing.ts +17 -0
  29. package/dist/builtin/intercom/result-renderers.ts +1 -1
  30. package/dist/builtin/intercom/subagent-relay.ts +58 -12
  31. package/dist/builtin/intercom/types.ts +3 -3
  32. package/dist/builtin/intercom/ui/compose.ts +2 -2
  33. package/dist/builtin/intercom/ui/inline-message.ts +2 -2
  34. package/dist/builtin/intercom/ui/session-list.ts +2 -2
  35. package/dist/builtin/mcp/CHANGELOG.md +23 -0
  36. package/dist/builtin/mcp/OAUTH.md +1 -0
  37. package/dist/builtin/mcp/README.md +10 -6
  38. package/dist/builtin/mcp/apps-cancellation.ts +32 -0
  39. package/dist/builtin/mcp/call-tool-result.ts +9 -0
  40. package/dist/builtin/mcp/caller-wait.ts +50 -0
  41. package/dist/builtin/mcp/command-registration.ts +82 -0
  42. package/dist/builtin/mcp/direct-tool-executor.ts +279 -0
  43. package/dist/builtin/mcp/direct-tools.ts +40 -255
  44. package/dist/builtin/mcp/host-html-template.ts +4 -2
  45. package/dist/builtin/mcp/index.ts +274 -239
  46. package/dist/builtin/mcp/init.ts +96 -126
  47. package/dist/builtin/mcp/mcp-auth-flow.ts +247 -237
  48. package/dist/builtin/mcp/mcp-callback-server.ts +89 -68
  49. package/dist/builtin/mcp/mcp-oauth-provider.ts +23 -1
  50. package/dist/builtin/mcp/metadata-hydration.ts +52 -0
  51. package/dist/builtin/mcp/package.json +3 -3
  52. package/dist/builtin/mcp/proxy-auth.ts +4 -4
  53. package/dist/builtin/mcp/proxy-call.ts +111 -40
  54. package/dist/builtin/mcp/proxy-connect.ts +35 -15
  55. package/dist/builtin/mcp/proxy-info-modes.ts +106 -23
  56. package/dist/builtin/mcp/proxy-modes.ts +3 -3
  57. package/dist/builtin/mcp/session-cleanup-barrier.ts +43 -0
  58. package/dist/builtin/mcp/startup-warmup.ts +98 -0
  59. package/dist/builtin/mcp/state-lease.ts +12 -0
  60. package/dist/builtin/mcp/tool-result-renderer.ts +3 -3
  61. package/dist/builtin/mcp/ui-server.ts +8 -8
  62. package/dist/builtin/mcp/ui-session.ts +9 -18
  63. package/dist/builtin/subagents/CHANGELOG.md +60 -0
  64. package/dist/builtin/subagents/README.md +30 -29
  65. package/dist/builtin/subagents/agents/code-simplifier.md +2 -2
  66. package/dist/builtin/subagents/agents/codebase-analyzer.md +2 -2
  67. package/dist/builtin/subagents/agents/codebase-locator.md +2 -2
  68. package/dist/builtin/subagents/agents/codebase-online-researcher.md +2 -2
  69. package/dist/builtin/subagents/agents/codebase-pattern-finder.md +2 -2
  70. package/dist/builtin/subagents/agents/codebase-research-analyzer.md +2 -2
  71. package/dist/builtin/subagents/agents/codebase-research-locator.md +2 -2
  72. package/dist/builtin/subagents/agents/debugger.md +2 -2
  73. package/dist/builtin/subagents/agents/worker.md +2 -2
  74. package/dist/builtin/subagents/package.json +5 -5
  75. package/dist/builtin/subagents/prompts/review-loop.md +1 -1
  76. package/dist/builtin/subagents/skills/subagent/SKILL.md +37 -36
  77. package/dist/builtin/subagents/src/extension/api-lifecycle.ts +64 -0
  78. package/dist/builtin/subagents/src/extension/fanout-child.ts +44 -51
  79. package/dist/builtin/subagents/src/extension/index.ts +289 -320
  80. package/dist/builtin/subagents/src/extension/prompt-guidance.ts +7 -10
  81. package/dist/builtin/subagents/src/extension/schemas.ts +22 -5
  82. package/dist/builtin/subagents/src/extension/startup-maintenance.ts +89 -0
  83. package/dist/builtin/subagents/src/extension/tool-description.ts +29 -0
  84. package/dist/builtin/subagents/src/intercom/intercom-bridge.ts +13 -2
  85. package/dist/builtin/subagents/src/intercom/result-intercom.ts +4 -4
  86. package/dist/builtin/subagents/src/runs/background/async-event-journal.ts +106 -0
  87. package/dist/builtin/subagents/src/runs/background/async-execution-common.ts +26 -20
  88. package/dist/builtin/subagents/src/runs/background/async-execution-single.ts +13 -2
  89. package/dist/builtin/subagents/src/runs/background/async-execution-types.ts +3 -0
  90. package/dist/builtin/subagents/src/runs/background/async-job-tracker.ts +1 -1
  91. package/dist/builtin/subagents/src/runs/background/completion-claims.ts +189 -0
  92. package/dist/builtin/subagents/src/runs/background/completion-dedupe.ts +44 -7
  93. package/dist/builtin/subagents/src/runs/background/completion-notification.ts +34 -0
  94. package/dist/builtin/subagents/src/runs/background/notify.ts +72 -22
  95. package/dist/builtin/subagents/src/runs/background/result-delivery-processor.ts +232 -0
  96. package/dist/builtin/subagents/src/runs/background/result-file-claims.ts +151 -0
  97. package/dist/builtin/subagents/src/runs/background/result-quarantine.ts +72 -0
  98. package/dist/builtin/subagents/src/runs/background/result-retry-scheduler.ts +48 -0
  99. package/dist/builtin/subagents/src/runs/background/result-status.ts +81 -0
  100. package/dist/builtin/subagents/src/runs/background/result-watcher-data.ts +59 -0
  101. package/dist/builtin/subagents/src/runs/background/result-watcher.ts +177 -233
  102. package/dist/builtin/subagents/src/runs/background/run-id-resolver.ts +3 -2
  103. package/dist/builtin/subagents/src/runs/background/stale-run-reconciler.ts +73 -14
  104. package/dist/builtin/subagents/src/runs/background/subagent-runner-streaming.ts +29 -15
  105. package/dist/builtin/subagents/src/runs/background/top-level-async.ts +1 -2
  106. package/dist/builtin/subagents/src/runs/foreground/chain-execution-dynamic-step.ts +1 -0
  107. package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-runner.ts +1 -0
  108. package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-step.ts +1 -0
  109. package/dist/builtin/subagents/src/runs/foreground/chain-execution-sequential-step.ts +7 -9
  110. package/dist/builtin/subagents/src/runs/foreground/chain-execution-types.ts +3 -13
  111. package/dist/builtin/subagents/src/runs/foreground/chain-execution.ts +2 -15
  112. package/dist/builtin/subagents/src/runs/foreground/execution-attempt-finalize.ts +2 -2
  113. package/dist/builtin/subagents/src/runs/foreground/execution-attempt.ts +63 -46
  114. package/dist/builtin/subagents/src/runs/foreground/execution-detach-reservations.ts +48 -0
  115. package/dist/builtin/subagents/src/runs/foreground/execution-detach-route.ts +17 -0
  116. package/dist/builtin/subagents/src/runs/foreground/execution-run-sync.ts +39 -26
  117. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-async.ts +3 -1
  118. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-chain.ts +3 -51
  119. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-context.ts +6 -11
  120. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-input.ts +11 -2
  121. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel-task.ts +2 -0
  122. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel.ts +5 -112
  123. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-resume.ts +2 -0
  124. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-single.ts +68 -118
  125. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-status.ts +79 -7
  126. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-types.ts +2 -2
  127. package/dist/builtin/subagents/src/runs/foreground/subagent-executor.ts +3 -0
  128. package/dist/builtin/subagents/src/runs/shared/pi-args.ts +2 -2
  129. package/dist/builtin/subagents/src/runs/shared/pi-spawn.ts +55 -12
  130. package/dist/builtin/subagents/src/shared/artifacts.ts +22 -11
  131. package/dist/builtin/subagents/src/shared/event-jsonl-writer.ts +294 -0
  132. package/dist/builtin/subagents/src/shared/exclusive-file-publication.ts +44 -0
  133. package/dist/builtin/subagents/src/shared/jsonl-writer.ts +1 -0
  134. package/dist/builtin/subagents/src/shared/model-info.ts +2 -2
  135. package/dist/builtin/subagents/src/shared/settings.ts +20 -10
  136. package/dist/builtin/subagents/src/shared/types-async.ts +3 -1
  137. package/dist/builtin/subagents/src/shared/types-config.ts +2 -0
  138. package/dist/builtin/subagents/src/shared/types-runtime.ts +3 -2
  139. package/dist/builtin/subagents/src/slash/slash-commands.ts +9 -12
  140. package/dist/builtin/subagents/src/slash/slash-live-state.ts +63 -32
  141. package/dist/builtin/subagents/src/tui/render-event-formatting.ts +15 -48
  142. package/dist/builtin/subagents/src/tui/render-layout.ts +9 -0
  143. package/dist/builtin/subagents/src/tui/render-result.ts +7 -0
  144. package/dist/builtin/subagents/src/tui/render-stable-output.ts +1 -0
  145. package/dist/builtin/subagents/src/tui/render-widget-graph.ts +27 -25
  146. package/dist/builtin/subagents/src/tui/render-widget.ts +177 -132
  147. package/dist/builtin/subagents/src/tui/render.ts +1 -1
  148. package/dist/builtin/web-access/CHANGELOG.md +14 -0
  149. package/dist/builtin/web-access/README.md +4 -0
  150. package/dist/builtin/web-access/content-tools.ts +8 -3
  151. package/dist/builtin/web-access/index-heavy.ts +1 -1
  152. package/dist/builtin/web-access/index.ts +190 -46
  153. package/dist/builtin/web-access/lifecycle-lease.ts +38 -0
  154. package/dist/builtin/web-access/package.json +2 -2
  155. package/dist/builtin/web-access/result-renderers.ts +1 -1
  156. package/dist/builtin/web-access/summary-review.ts +1 -1
  157. package/dist/builtin/web-access/web-search-activity.ts +1 -1
  158. package/dist/builtin/web-access/web-search-return.ts +7 -0
  159. package/dist/builtin/web-access/web-search-summary.ts +1 -1
  160. package/dist/builtin/web-access/web-search-tool.ts +4 -2
  161. package/dist/builtin/workflows/CHANGELOG.md +86 -0
  162. package/dist/builtin/workflows/README.md +8 -6
  163. package/dist/builtin/workflows/builtin/deep-research-codebase-utils.ts +33 -9
  164. package/dist/builtin/workflows/builtin/goal-artifacts.ts +3 -1
  165. package/dist/builtin/workflows/builtin/goal-prompts.ts +25 -2
  166. package/dist/builtin/workflows/builtin/goal-reducer.ts +21 -0
  167. package/dist/builtin/workflows/builtin/goal-review.ts +60 -6
  168. package/dist/builtin/workflows/builtin/goal-runner.ts +119 -48
  169. package/dist/builtin/workflows/builtin/goal-types.ts +8 -1
  170. package/dist/builtin/workflows/builtin/goal.d.ts +2 -0
  171. package/dist/builtin/workflows/builtin/goal.ts +9 -0
  172. package/dist/builtin/workflows/builtin/index.d.ts +2 -0
  173. package/dist/builtin/workflows/builtin/open-claude-design-runner.ts +16 -5
  174. package/dist/builtin/workflows/builtin/ralph-core.ts +61 -13
  175. package/dist/builtin/workflows/builtin/ralph-models.ts +98 -66
  176. package/dist/builtin/workflows/builtin/ralph-review-gate.ts +10 -3
  177. package/dist/builtin/workflows/builtin/ralph-reviewer-prompt.ts +159 -0
  178. package/dist/builtin/workflows/builtin/ralph-runner.ts +67 -164
  179. package/dist/builtin/workflows/builtin/review-convergence.ts +111 -0
  180. package/dist/builtin/workflows/builtin/shared-prompts.ts +5 -0
  181. package/dist/builtin/workflows/package.json +2 -2
  182. package/dist/builtin/workflows/skills/create-spec/SKILL.md +2 -0
  183. package/dist/builtin/workflows/skills/impeccable/SKILL.md +16 -13
  184. package/dist/builtin/workflows/skills/impeccable/reference/adapt.md +1 -0
  185. package/dist/builtin/workflows/skills/impeccable/reference/adapt.native.md +58 -0
  186. package/dist/builtin/workflows/skills/impeccable/reference/android.md +40 -0
  187. package/dist/builtin/workflows/skills/impeccable/reference/animate.md +2 -0
  188. package/dist/builtin/workflows/skills/impeccable/reference/audit.md +2 -0
  189. package/dist/builtin/workflows/skills/impeccable/reference/audit.native.md +139 -0
  190. package/dist/builtin/workflows/skills/impeccable/reference/bolder.md +69 -62
  191. package/dist/builtin/workflows/skills/impeccable/reference/critique.md +21 -7
  192. package/dist/builtin/workflows/skills/impeccable/reference/document.md +1 -1
  193. package/dist/builtin/workflows/skills/impeccable/reference/hooks.md +92 -0
  194. package/dist/builtin/workflows/skills/impeccable/reference/init.md +29 -7
  195. package/dist/builtin/workflows/skills/impeccable/reference/ios.md +45 -0
  196. package/dist/builtin/workflows/skills/impeccable/reference/layout.md +25 -1
  197. package/dist/builtin/workflows/skills/impeccable/reference/typeset.md +23 -1
  198. package/dist/builtin/workflows/skills/impeccable/scripts/context-signals.mjs +2 -1
  199. package/dist/builtin/workflows/skills/impeccable/scripts/context.mjs +75 -14
  200. package/dist/builtin/workflows/skills/impeccable/scripts/detector/browser/injected/index.mjs +1 -1
  201. package/dist/builtin/workflows/skills/impeccable/scripts/detector/cli/main.mjs +31 -0
  202. package/dist/builtin/workflows/skills/impeccable/scripts/detector/design-system.mjs +64 -0
  203. package/dist/builtin/workflows/skills/impeccable/scripts/detector/detect-antipatterns-browser.js +118 -11
  204. package/dist/builtin/workflows/skills/impeccable/scripts/detector/engines/regex/detect-text.mjs +16 -11
  205. package/dist/builtin/workflows/skills/impeccable/scripts/detector/registry/antipatterns.mjs +66 -0
  206. package/dist/builtin/workflows/skills/impeccable/scripts/detector/rules/checks.mjs +42 -10
  207. package/dist/builtin/workflows/skills/impeccable/scripts/detector/shared/fonts.mjs +30 -0
  208. package/dist/builtin/workflows/skills/impeccable/scripts/detector/shared/page.mjs +4 -6
  209. package/dist/builtin/workflows/skills/impeccable/scripts/hook-admin.mjs +660 -0
  210. package/dist/builtin/workflows/skills/impeccable/scripts/hook-before-edit.mjs +516 -0
  211. package/dist/builtin/workflows/skills/impeccable/scripts/hook-lib.mjs +1764 -0
  212. package/dist/builtin/workflows/skills/impeccable/scripts/hook.mjs +61 -0
  213. package/dist/builtin/workflows/skills/impeccable/scripts/lib/impeccable-config.mjs +4 -2
  214. package/dist/builtin/workflows/skills/impeccable/scripts/lib/is-generated.mjs +2 -2
  215. package/dist/builtin/workflows/skills/impeccable/scripts/live/svelte-component.mjs +13 -16
  216. package/dist/builtin/workflows/skills/impeccable/scripts/live-accept.mjs +17 -11
  217. package/dist/builtin/workflows/skills/impeccable/scripts/live-browser.js +104 -37
  218. package/dist/builtin/workflows/skills/impeccable/scripts/live-wrap.mjs +9 -0
  219. package/dist/builtin/workflows/src/durable/backend.ts +12 -0
  220. package/dist/builtin/workflows/src/durable/child-primitive.ts +12 -8
  221. package/dist/builtin/workflows/src/durable/dbos-backend.ts +63 -2
  222. package/dist/builtin/workflows/src/durable/dbos-envelope.ts +28 -0
  223. package/dist/builtin/workflows/src/durable/resume-catalog.ts +12 -0
  224. package/dist/builtin/workflows/src/durable/resume-runtime.ts +5 -2
  225. package/dist/builtin/workflows/src/durable/stage-primitive.ts +167 -28
  226. package/dist/builtin/workflows/src/durable/types.ts +30 -1
  227. package/dist/builtin/workflows/src/engine/primitives/task.ts +3 -1
  228. package/dist/builtin/workflows/src/engine/run-durable-finalize.ts +1 -2
  229. package/dist/builtin/workflows/src/engine/run-returned-status.ts +50 -16
  230. package/dist/builtin/workflows/src/engine/run.ts +32 -32
  231. package/dist/builtin/workflows/src/engine/runtime.ts +5 -0
  232. package/dist/builtin/workflows/src/extension/extension-factory.ts +3 -0
  233. package/dist/builtin/workflows/src/extension/extension-lifecycle.ts +9 -2
  234. package/dist/builtin/workflows/src/extension/extension-runtime-state.ts +137 -27
  235. package/dist/builtin/workflows/src/extension/lifecycle-notifications.ts +22 -6
  236. package/dist/builtin/workflows/src/extension/public-types.ts +1 -1
  237. package/dist/builtin/workflows/src/extension/workflow-command-completions.ts +13 -1
  238. package/dist/builtin/workflows/src/extension/workflow-command-registration.ts +19 -4
  239. package/dist/builtin/workflows/src/extension/workflow-command-surfaces.ts +9 -0
  240. package/dist/builtin/workflows/src/extension/workflow-prompts.ts +17 -17
  241. package/dist/builtin/workflows/src/extension/workflow-run-control-command.ts +48 -23
  242. package/dist/builtin/workflows/src/extension/workflow-schema.ts +15 -2
  243. package/dist/builtin/workflows/src/extension/workflow-tool-control.ts +20 -8
  244. package/dist/builtin/workflows/src/extension/workflow-tool.ts +24 -8
  245. package/dist/builtin/workflows/src/runs/background/status.ts +4 -3
  246. package/dist/builtin/workflows/src/runs/foreground/executor-continuation.ts +13 -3
  247. package/dist/builtin/workflows/src/runs/foreground/executor-direct-helpers.ts +29 -8
  248. package/dist/builtin/workflows/src/runs/foreground/executor-hil.ts +1 -1
  249. package/dist/builtin/workflows/src/runs/foreground/executor-stage-control.ts +8 -0
  250. package/dist/builtin/workflows/src/runs/foreground/executor-stage-factory.ts +4 -3
  251. package/dist/builtin/workflows/src/runs/foreground/stage-control-registry.ts +2 -0
  252. package/dist/builtin/workflows/src/runs/foreground/stage-runner-controller.ts +18 -19
  253. package/dist/builtin/workflows/src/runs/foreground/stage-runner-unresolved-overflow.ts +38 -0
  254. package/dist/builtin/workflows/src/runs/foreground/stage-tool-execution-buffer.ts +47 -0
  255. package/dist/builtin/workflows/src/runs/shared/model-fallback-candidates.ts +1 -1
  256. package/dist/builtin/workflows/src/runs/shared/worktree-git.ts +155 -20
  257. package/dist/builtin/workflows/src/runs/shared/worktree-types.ts +6 -0
  258. package/dist/builtin/workflows/src/runs/shared/worktree.ts +2 -1
  259. package/dist/builtin/workflows/src/shared/authoring-contract-stage.d.ts +2 -2
  260. package/dist/builtin/workflows/src/shared/authoring-contract-stage.ts +2 -2
  261. package/dist/builtin/workflows/src/shared/persistence-restore-helpers.ts +18 -1
  262. package/dist/builtin/workflows/src/shared/persistence-restore.ts +23 -5
  263. package/dist/builtin/workflows/src/shared/persistence-session-entries.ts +4 -0
  264. package/dist/builtin/workflows/src/shared/resume-continuation.ts +2 -0
  265. package/dist/builtin/workflows/src/shared/returned-run-status.ts +116 -0
  266. package/dist/builtin/workflows/src/shared/workflow-failures-decisions.ts +2 -0
  267. package/dist/builtin/workflows/src/tui/graph-view-render-helpers.ts +21 -3
  268. package/dist/builtin/workflows/src/tui/graph-view-state.ts +3 -0
  269. package/dist/builtin/workflows/src/tui/graph-view-types.ts +3 -0
  270. package/dist/builtin/workflows/src/tui/stage-chat-view-archive-history.ts +1 -23
  271. package/dist/builtin/workflows/src/tui/stage-chat-view-footer-status.ts +54 -9
  272. package/dist/builtin/workflows/src/tui/stage-chat-view-pending-tools.ts +9 -0
  273. package/dist/builtin/workflows/src/tui/stage-chat-view-render-settings.ts +27 -0
  274. package/dist/builtin/workflows/src/tui/stage-chat-view-state.ts +5 -6
  275. package/dist/builtin/workflows/src/tui/stage-chat-view.ts +5 -2
  276. package/dist/builtin/workflows/src/tui/status-list.ts +22 -15
  277. package/dist/builtin/workflows/src/tui/workflow-attach-pane.ts +4 -4
  278. package/dist/bun/internal-intercom-broker.d.ts +6 -0
  279. package/dist/bun/internal-intercom-broker.d.ts.map +1 -0
  280. package/dist/bun/internal-intercom-broker.js +39 -0
  281. package/dist/bun/internal-intercom-broker.js.map +1 -0
  282. package/dist/bun/split-loader.d.ts +2 -0
  283. package/dist/bun/split-loader.d.ts.map +1 -0
  284. package/dist/bun/split-loader.js +50 -0
  285. package/dist/bun/split-loader.js.map +1 -0
  286. package/dist/cli/args.d.ts.map +1 -1
  287. package/dist/cli/args.js +2 -2
  288. package/dist/cli/args.js.map +1 -1
  289. package/dist/config.d.ts.map +1 -1
  290. package/dist/config.js +6 -4
  291. package/dist/config.js.map +1 -1
  292. package/dist/core/agent-session-auto-compaction.d.ts +26 -6
  293. package/dist/core/agent-session-auto-compaction.d.ts.map +1 -1
  294. package/dist/core/agent-session-auto-compaction.js +178 -19
  295. package/dist/core/agent-session-auto-compaction.js.map +1 -1
  296. package/dist/core/agent-session-compaction.d.ts.map +1 -1
  297. package/dist/core/agent-session-compaction.js +25 -4
  298. package/dist/core/agent-session-compaction.js.map +1 -1
  299. package/dist/core/agent-session-events.d.ts.map +1 -1
  300. package/dist/core/agent-session-events.js +12 -2
  301. package/dist/core/agent-session-events.js.map +1 -1
  302. package/dist/core/agent-session-extension-bindings.d.ts.map +1 -1
  303. package/dist/core/agent-session-extension-bindings.js +1 -1
  304. package/dist/core/agent-session-extension-bindings.js.map +1 -1
  305. package/dist/core/agent-session-message-queue.d.ts.map +1 -1
  306. package/dist/core/agent-session-message-queue.js +1 -1
  307. package/dist/core/agent-session-message-queue.js.map +1 -1
  308. package/dist/core/agent-session-methods.d.ts +13 -4
  309. package/dist/core/agent-session-methods.d.ts.map +1 -1
  310. package/dist/core/agent-session-methods.js.map +1 -1
  311. package/dist/core/agent-session-models.d.ts +2 -2
  312. package/dist/core/agent-session-models.d.ts.map +1 -1
  313. package/dist/core/agent-session-models.js.map +1 -1
  314. package/dist/core/agent-session-prompt.d.ts.map +1 -1
  315. package/dist/core/agent-session-prompt.js +2 -1
  316. package/dist/core/agent-session-prompt.js.map +1 -1
  317. package/dist/core/agent-session-retry.d.ts +2 -0
  318. package/dist/core/agent-session-retry.d.ts.map +1 -1
  319. package/dist/core/agent-session-retry.js +152 -4
  320. package/dist/core/agent-session-retry.js.map +1 -1
  321. package/dist/core/agent-session-services.d.ts +1 -0
  322. package/dist/core/agent-session-services.d.ts.map +1 -1
  323. package/dist/core/agent-session-services.js +4 -2
  324. package/dist/core/agent-session-services.js.map +1 -1
  325. package/dist/core/agent-session-types.d.ts +15 -1
  326. package/dist/core/agent-session-types.d.ts.map +1 -1
  327. package/dist/core/agent-session-types.js +1 -1
  328. package/dist/core/agent-session-types.js.map +1 -1
  329. package/dist/core/agent-session.d.ts +6 -0
  330. package/dist/core/agent-session.d.ts.map +1 -1
  331. package/dist/core/agent-session.js +6 -0
  332. package/dist/core/agent-session.js.map +1 -1
  333. package/dist/core/anthropic-thinking-guard.d.ts +5 -5
  334. package/dist/core/anthropic-thinking-guard.d.ts.map +1 -1
  335. package/dist/core/anthropic-thinking-guard.js +42 -32
  336. package/dist/core/anthropic-thinking-guard.js.map +1 -1
  337. package/dist/core/atomic-guide-command.d.ts.map +1 -1
  338. package/dist/core/atomic-guide-command.js +15 -15
  339. package/dist/core/atomic-guide-command.js.map +1 -1
  340. package/dist/core/auth-storage.d.ts.map +1 -1
  341. package/dist/core/auth-storage.js +14 -9
  342. package/dist/core/auth-storage.js.map +1 -1
  343. package/dist/core/builtin-packages.d.ts.map +1 -1
  344. package/dist/core/builtin-packages.js +8 -4
  345. package/dist/core/builtin-packages.js.map +1 -1
  346. package/dist/core/compaction/compaction.d.ts +2 -0
  347. package/dist/core/compaction/compaction.d.ts.map +1 -1
  348. package/dist/core/compaction/compaction.js +79 -46
  349. package/dist/core/compaction/compaction.js.map +1 -1
  350. package/dist/core/compaction/context-assistant-turns.d.ts +42 -0
  351. package/dist/core/compaction/context-assistant-turns.d.ts.map +1 -0
  352. package/dist/core/compaction/context-assistant-turns.js +87 -0
  353. package/dist/core/compaction/context-assistant-turns.js.map +1 -0
  354. package/dist/core/compaction/context-compaction-critical.d.ts +15 -0
  355. package/dist/core/compaction/context-compaction-critical.d.ts.map +1 -0
  356. package/dist/core/compaction/context-compaction-critical.js +57 -0
  357. package/dist/core/compaction/context-compaction-critical.js.map +1 -0
  358. package/dist/core/compaction/context-compaction-eviction-alternates.d.ts +18 -0
  359. package/dist/core/compaction/context-compaction-eviction-alternates.d.ts.map +1 -0
  360. package/dist/core/compaction/context-compaction-eviction-alternates.js +186 -0
  361. package/dist/core/compaction/context-compaction-eviction-alternates.js.map +1 -0
  362. package/dist/core/compaction/context-compaction-eviction.d.ts +12 -0
  363. package/dist/core/compaction/context-compaction-eviction.d.ts.map +1 -0
  364. package/dist/core/compaction/context-compaction-eviction.js +222 -0
  365. package/dist/core/compaction/context-compaction-eviction.js.map +1 -0
  366. package/dist/core/compaction/context-compaction-prompt.d.ts.map +1 -1
  367. package/dist/core/compaction/context-compaction-prompt.js +1 -1
  368. package/dist/core/compaction/context-compaction-prompt.js.map +1 -1
  369. package/dist/core/compaction/context-compaction-runner.d.ts +7 -1
  370. package/dist/core/compaction/context-compaction-runner.d.ts.map +1 -1
  371. package/dist/core/compaction/context-compaction-runner.js +113 -21
  372. package/dist/core/compaction/context-compaction-runner.js.map +1 -1
  373. package/dist/core/compaction/context-compaction-types.d.ts +2 -0
  374. package/dist/core/compaction/context-compaction-types.d.ts.map +1 -1
  375. package/dist/core/compaction/context-compaction-types.js.map +1 -1
  376. package/dist/core/compaction/context-deletion-application.d.ts +5 -4
  377. package/dist/core/compaction/context-deletion-application.d.ts.map +1 -1
  378. package/dist/core/compaction/context-deletion-application.js +17 -15
  379. package/dist/core/compaction/context-deletion-application.js.map +1 -1
  380. package/dist/core/compaction/context-deletion-store.d.ts.map +1 -1
  381. package/dist/core/compaction/context-deletion-store.js +1 -1
  382. package/dist/core/compaction/context-deletion-store.js.map +1 -1
  383. package/dist/core/compaction/context-deletion-targets.d.ts +2 -1
  384. package/dist/core/compaction/context-deletion-targets.d.ts.map +1 -1
  385. package/dist/core/compaction/context-deletion-targets.js +36 -31
  386. package/dist/core/compaction/context-deletion-targets.js.map +1 -1
  387. package/dist/core/compaction/context-deletion-tool-helpers.d.ts.map +1 -1
  388. package/dist/core/compaction/context-deletion-tool-helpers.js +116 -43
  389. package/dist/core/compaction/context-deletion-tool-helpers.js.map +1 -1
  390. package/dist/core/compaction/context-transcript-analysis.d.ts +4 -2
  391. package/dist/core/compaction/context-transcript-analysis.d.ts.map +1 -1
  392. package/dist/core/compaction/context-transcript-analysis.js +36 -40
  393. package/dist/core/compaction/context-transcript-analysis.js.map +1 -1
  394. package/dist/core/copilot-anthropic-sse-repair.d.ts +23 -0
  395. package/dist/core/copilot-anthropic-sse-repair.d.ts.map +1 -0
  396. package/dist/core/copilot-anthropic-sse-repair.js +340 -0
  397. package/dist/core/copilot-anthropic-sse-repair.js.map +1 -0
  398. package/dist/core/copilot-gemini-reasoning.d.ts +16 -8
  399. package/dist/core/copilot-gemini-reasoning.d.ts.map +1 -1
  400. package/dist/core/copilot-gemini-reasoning.js +27 -22
  401. package/dist/core/copilot-gemini-reasoning.js.map +1 -1
  402. package/dist/core/copilot-hosts.d.ts +12 -0
  403. package/dist/core/copilot-hosts.d.ts.map +1 -0
  404. package/dist/core/copilot-hosts.js +33 -0
  405. package/dist/core/copilot-hosts.js.map +1 -0
  406. package/dist/core/copilot-model-catalog.d.ts.map +1 -1
  407. package/dist/core/copilot-model-catalog.js +3 -2
  408. package/dist/core/copilot-model-catalog.js.map +1 -1
  409. package/dist/core/copilot-model-synthesis.d.ts.map +1 -1
  410. package/dist/core/copilot-model-synthesis.js +3 -1
  411. package/dist/core/copilot-model-synthesis.js.map +1 -1
  412. package/dist/core/extensions/agent-events.d.ts +1 -1
  413. package/dist/core/extensions/agent-events.d.ts.map +1 -1
  414. package/dist/core/extensions/agent-events.js.map +1 -1
  415. package/dist/core/extensions/loader-core.d.ts.map +1 -1
  416. package/dist/core/extensions/loader-core.js +6 -0
  417. package/dist/core/extensions/loader-core.js.map +1 -1
  418. package/dist/core/extensions/loader-virtual-modules.d.ts +8 -1
  419. package/dist/core/extensions/loader-virtual-modules.d.ts.map +1 -1
  420. package/dist/core/extensions/loader-virtual-modules.js +10 -4
  421. package/dist/core/extensions/loader-virtual-modules.js.map +1 -1
  422. package/dist/core/extensions/provider-types.d.ts +2 -7
  423. package/dist/core/extensions/provider-types.d.ts.map +1 -1
  424. package/dist/core/extensions/provider-types.js.map +1 -1
  425. package/dist/core/footer-data-provider.d.ts +6 -0
  426. package/dist/core/footer-data-provider.d.ts.map +1 -1
  427. package/dist/core/footer-data-provider.js +72 -29
  428. package/dist/core/footer-data-provider.js.map +1 -1
  429. package/dist/core/http-dispatcher.d.ts.map +1 -1
  430. package/dist/core/http-dispatcher.js +5 -5
  431. package/dist/core/http-dispatcher.js.map +1 -1
  432. package/dist/core/messages.d.ts +9 -0
  433. package/dist/core/messages.d.ts.map +1 -1
  434. package/dist/core/messages.js +100 -18
  435. package/dist/core/messages.js.map +1 -1
  436. package/dist/core/model-registry-builtins.d.ts.map +1 -1
  437. package/dist/core/model-registry-builtins.js +5 -0
  438. package/dist/core/model-registry-builtins.js.map +1 -1
  439. package/dist/core/model-registry-custom-loader.d.ts.map +1 -1
  440. package/dist/core/model-registry-custom-loader.js +49 -8
  441. package/dist/core/model-registry-custom-loader.js.map +1 -1
  442. package/dist/core/model-registry-dynamic.d.ts.map +1 -1
  443. package/dist/core/model-registry-dynamic.js +11 -5
  444. package/dist/core/model-registry-dynamic.js.map +1 -1
  445. package/dist/core/model-registry-loader.d.ts.map +1 -1
  446. package/dist/core/model-registry-loader.js +8 -0
  447. package/dist/core/model-registry-loader.js.map +1 -1
  448. package/dist/core/model-registry-schemas.d.ts +93 -8
  449. package/dist/core/model-registry-schemas.d.ts.map +1 -1
  450. package/dist/core/model-registry-schemas.js +24 -12
  451. package/dist/core/model-registry-schemas.js.map +1 -1
  452. package/dist/core/model-registry-types.d.ts +7 -6
  453. package/dist/core/model-registry-types.d.ts.map +1 -1
  454. package/dist/core/model-registry-types.js.map +1 -1
  455. package/dist/core/model-registry.d.ts +5 -0
  456. package/dist/core/model-registry.d.ts.map +1 -1
  457. package/dist/core/model-registry.js +23 -0
  458. package/dist/core/model-registry.js.map +1 -1
  459. package/dist/core/model-resolver-cli.d.ts.map +1 -1
  460. package/dist/core/model-resolver-cli.js +33 -5
  461. package/dist/core/model-resolver-cli.js.map +1 -1
  462. package/dist/core/model-resolver-initial.d.ts +6 -1
  463. package/dist/core/model-resolver-initial.d.ts.map +1 -1
  464. package/dist/core/model-resolver-initial.js +12 -7
  465. package/dist/core/model-resolver-initial.js.map +1 -1
  466. package/dist/core/model-resolver-scope.d.ts +9 -0
  467. package/dist/core/model-resolver-scope.d.ts.map +1 -1
  468. package/dist/core/model-resolver-scope.js +12 -4
  469. package/dist/core/model-resolver-scope.js.map +1 -1
  470. package/dist/core/model-resolver.d.ts +4 -3
  471. package/dist/core/model-resolver.d.ts.map +1 -1
  472. package/dist/core/model-resolver.js +2 -2
  473. package/dist/core/model-resolver.js.map +1 -1
  474. package/dist/core/openai-responses-payload-sanitizer.d.ts +7 -0
  475. package/dist/core/openai-responses-payload-sanitizer.d.ts.map +1 -0
  476. package/dist/core/openai-responses-payload-sanitizer.js +74 -0
  477. package/dist/core/openai-responses-payload-sanitizer.js.map +1 -0
  478. package/dist/core/package-manager-auto-resources.d.ts +2 -2
  479. package/dist/core/package-manager-auto-resources.d.ts.map +1 -1
  480. package/dist/core/package-manager-auto-resources.js +32 -52
  481. package/dist/core/package-manager-auto-resources.js.map +1 -1
  482. package/dist/core/package-manager-resolver.d.ts.map +1 -1
  483. package/dist/core/package-manager-resolver.js +23 -14
  484. package/dist/core/package-manager-resolver.js.map +1 -1
  485. package/dist/core/package-manager-resource-collector.d.ts +3 -3
  486. package/dist/core/package-manager-resource-collector.d.ts.map +1 -1
  487. package/dist/core/package-manager-resource-collector.js +76 -73
  488. package/dist/core/package-manager-resource-collector.js.map +1 -1
  489. package/dist/core/package-manager-resource-files.d.ts +9 -8
  490. package/dist/core/package-manager-resource-files.d.ts.map +1 -1
  491. package/dist/core/package-manager-resource-files.js +92 -81
  492. package/dist/core/package-manager-resource-files.js.map +1 -1
  493. package/dist/core/prompt-templates-async.d.ts +3 -0
  494. package/dist/core/prompt-templates-async.d.ts.map +1 -0
  495. package/dist/core/prompt-templates-async.js +118 -0
  496. package/dist/core/prompt-templates-async.js.map +1 -0
  497. package/dist/core/provider-context-usage.d.ts +11 -0
  498. package/dist/core/provider-context-usage.d.ts.map +1 -0
  499. package/dist/core/provider-context-usage.js +58 -0
  500. package/dist/core/provider-context-usage.js.map +1 -0
  501. package/dist/core/resource-loader-assets.d.ts +3 -3
  502. package/dist/core/resource-loader-assets.d.ts.map +1 -1
  503. package/dist/core/resource-loader-assets.js +66 -83
  504. package/dist/core/resource-loader-assets.js.map +1 -1
  505. package/dist/core/resource-loader-context-files.d.ts +1 -0
  506. package/dist/core/resource-loader-context-files.d.ts.map +1 -1
  507. package/dist/core/resource-loader-context-files.js +13 -10
  508. package/dist/core/resource-loader-context-files.js.map +1 -1
  509. package/dist/core/resource-loader-core.d.ts +1 -1
  510. package/dist/core/resource-loader-core.d.ts.map +1 -1
  511. package/dist/core/resource-loader-core.js +5 -5
  512. package/dist/core/resource-loader-core.js.map +1 -1
  513. package/dist/core/resource-loader-extensions.d.ts.map +1 -1
  514. package/dist/core/resource-loader-extensions.js +4 -0
  515. package/dist/core/resource-loader-extensions.js.map +1 -1
  516. package/dist/core/resource-loader-reload.d.ts.map +1 -1
  517. package/dist/core/resource-loader-reload.js +54 -7
  518. package/dist/core/resource-loader-reload.js.map +1 -1
  519. package/dist/core/resource-loader-types.d.ts +7 -1
  520. package/dist/core/resource-loader-types.d.ts.map +1 -1
  521. package/dist/core/resource-loader-types.js.map +1 -1
  522. package/dist/core/sdk-types.d.ts +2 -0
  523. package/dist/core/sdk-types.d.ts.map +1 -1
  524. package/dist/core/sdk-types.js.map +1 -1
  525. package/dist/core/sdk.d.ts.map +1 -1
  526. package/dist/core/sdk.js +9 -6
  527. package/dist/core/sdk.js.map +1 -1
  528. package/dist/core/session-entry-normalization.d.ts +7 -0
  529. package/dist/core/session-entry-normalization.d.ts.map +1 -0
  530. package/dist/core/session-entry-normalization.js +14 -0
  531. package/dist/core/session-entry-normalization.js.map +1 -0
  532. package/dist/core/session-manager-core.d.ts.map +1 -1
  533. package/dist/core/session-manager-core.js +1 -0
  534. package/dist/core/session-manager-core.js.map +1 -1
  535. package/dist/core/session-manager-history.d.ts +2 -2
  536. package/dist/core/session-manager-history.d.ts.map +1 -1
  537. package/dist/core/session-manager-history.js +127 -108
  538. package/dist/core/session-manager-history.js.map +1 -1
  539. package/dist/core/settings-manager-basic-accessors.d.ts +3 -2
  540. package/dist/core/settings-manager-basic-accessors.d.ts.map +1 -1
  541. package/dist/core/settings-manager-basic-accessors.js +6 -0
  542. package/dist/core/settings-manager-basic-accessors.js.map +1 -1
  543. package/dist/core/settings-manager-core.d.ts.map +1 -1
  544. package/dist/core/settings-manager-core.js +3 -2
  545. package/dist/core/settings-manager-core.js.map +1 -1
  546. package/dist/core/settings-storage.d.ts.map +1 -1
  547. package/dist/core/settings-storage.js +2 -1
  548. package/dist/core/settings-storage.js.map +1 -1
  549. package/dist/core/settings-types.d.ts +2 -1
  550. package/dist/core/settings-types.d.ts.map +1 -1
  551. package/dist/core/settings-types.js.map +1 -1
  552. package/dist/core/skills-async.d.ts +3 -0
  553. package/dist/core/skills-async.d.ts.map +1 -0
  554. package/dist/core/skills-async.js +269 -0
  555. package/dist/core/skills-async.js.map +1 -0
  556. package/dist/core/slash-commands.d.ts +2 -0
  557. package/dist/core/slash-commands.d.ts.map +1 -1
  558. package/dist/core/slash-commands.js +141 -0
  559. package/dist/core/slash-commands.js.map +1 -1
  560. package/dist/core/tools/bash.d.ts.map +1 -1
  561. package/dist/core/tools/bash.js +11 -8
  562. package/dist/core/tools/bash.js.map +1 -1
  563. package/dist/core/trust-manager.d.ts +9 -0
  564. package/dist/core/trust-manager.d.ts.map +1 -1
  565. package/dist/core/trust-manager.js +44 -2
  566. package/dist/core/trust-manager.js.map +1 -1
  567. package/dist/index-extensions.d.ts +1 -1
  568. package/dist/index-extensions.d.ts.map +1 -1
  569. package/dist/index-extensions.js.map +1 -1
  570. package/dist/index.d.ts +2 -1
  571. package/dist/index.d.ts.map +1 -1
  572. package/dist/index.js +2 -1
  573. package/dist/index.js.map +1 -1
  574. package/dist/main-deferred-startup.d.ts +33 -0
  575. package/dist/main-deferred-startup.d.ts.map +1 -0
  576. package/dist/main-deferred-startup.js +44 -0
  577. package/dist/main-deferred-startup.js.map +1 -0
  578. package/dist/main-early-input.d.ts +41 -0
  579. package/dist/main-early-input.d.ts.map +1 -0
  580. package/dist/main-early-input.js +154 -0
  581. package/dist/main-early-input.js.map +1 -0
  582. package/dist/main-session.d.ts.map +1 -1
  583. package/dist/main-session.js +1 -0
  584. package/dist/main-session.js.map +1 -1
  585. package/dist/main.d.ts +0 -6
  586. package/dist/main.d.ts.map +1 -1
  587. package/dist/main.js +47 -39
  588. package/dist/main.js.map +1 -1
  589. package/dist/modes/interactive/components/chat-session-host-actions.d.ts.map +1 -1
  590. package/dist/modes/interactive/components/chat-session-host-actions.js +0 -1
  591. package/dist/modes/interactive/components/chat-session-host-actions.js.map +1 -1
  592. package/dist/modes/interactive/components/chat-session-host-events.d.ts.map +1 -1
  593. package/dist/modes/interactive/components/chat-session-host-events.js +15 -0
  594. package/dist/modes/interactive/components/chat-session-host-events.js.map +1 -1
  595. package/dist/modes/interactive/components/settings-selector-options.d.ts.map +1 -1
  596. package/dist/modes/interactive/components/settings-selector-options.js +3 -1
  597. package/dist/modes/interactive/components/settings-selector-options.js.map +1 -1
  598. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  599. package/dist/modes/interactive/components/thinking-selector.js +2 -1
  600. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  601. package/dist/modes/interactive/interactive-agent-events.d.ts.map +1 -1
  602. package/dist/modes/interactive/interactive-agent-events.js +37 -2
  603. package/dist/modes/interactive/interactive-agent-events.js.map +1 -1
  604. package/dist/modes/interactive/interactive-auth-login.d.ts.map +1 -1
  605. package/dist/modes/interactive/interactive-auth-login.js +0 -1
  606. package/dist/modes/interactive/interactive-auth-login.js.map +1 -1
  607. package/dist/modes/interactive/interactive-autocomplete.d.ts.map +1 -1
  608. package/dist/modes/interactive/interactive-autocomplete.js +21 -9
  609. package/dist/modes/interactive/interactive-autocomplete.js.map +1 -1
  610. package/dist/modes/interactive/interactive-child-ordering.d.ts +7 -0
  611. package/dist/modes/interactive/interactive-child-ordering.d.ts.map +1 -0
  612. package/dist/modes/interactive/interactive-child-ordering.js +26 -0
  613. package/dist/modes/interactive/interactive-child-ordering.js.map +1 -0
  614. package/dist/modes/interactive/interactive-deferred-startup.d.ts +8 -1
  615. package/dist/modes/interactive/interactive-deferred-startup.d.ts.map +1 -1
  616. package/dist/modes/interactive/interactive-deferred-startup.js +86 -26
  617. package/dist/modes/interactive/interactive-deferred-startup.js.map +1 -1
  618. package/dist/modes/interactive/interactive-editor-actions.d.ts.map +1 -1
  619. package/dist/modes/interactive/interactive-editor-actions.js +13 -13
  620. package/dist/modes/interactive/interactive-editor-actions.js.map +1 -1
  621. package/dist/modes/interactive/interactive-extension-runtime.d.ts.map +1 -1
  622. package/dist/modes/interactive/interactive-extension-runtime.js +16 -0
  623. package/dist/modes/interactive/interactive-extension-runtime.js.map +1 -1
  624. package/dist/modes/interactive/interactive-hotkeys-debug.d.ts.map +1 -1
  625. package/dist/modes/interactive/interactive-hotkeys-debug.js +4 -3
  626. package/dist/modes/interactive/interactive-hotkeys-debug.js.map +1 -1
  627. package/dist/modes/interactive/interactive-input-handling.d.ts.map +1 -1
  628. package/dist/modes/interactive/interactive-input-handling.js +360 -230
  629. package/dist/modes/interactive/interactive-input-handling.js.map +1 -1
  630. package/dist/modes/interactive/interactive-mode-base.d.ts +19 -4
  631. package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -1
  632. package/dist/modes/interactive/interactive-mode-base.js +46 -4
  633. package/dist/modes/interactive/interactive-mode-base.js.map +1 -1
  634. package/dist/modes/interactive/interactive-mode-deps.d.ts +3 -3
  635. package/dist/modes/interactive/interactive-mode-deps.d.ts.map +1 -1
  636. package/dist/modes/interactive/interactive-mode-deps.js +3 -3
  637. package/dist/modes/interactive/interactive-mode-deps.js.map +1 -1
  638. package/dist/modes/interactive/interactive-mode-surface.d.ts +27 -17
  639. package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -1
  640. package/dist/modes/interactive/interactive-mode-surface.js.map +1 -1
  641. package/dist/modes/interactive/interactive-mode-types.d.ts +8 -1
  642. package/dist/modes/interactive/interactive-mode-types.d.ts.map +1 -1
  643. package/dist/modes/interactive/interactive-mode-types.js.map +1 -1
  644. package/dist/modes/interactive/interactive-model-routing.d.ts.map +1 -1
  645. package/dist/modes/interactive/interactive-model-routing.js +14 -10
  646. package/dist/modes/interactive/interactive-model-routing.js.map +1 -1
  647. package/dist/modes/interactive/interactive-onboarding.d.ts +0 -9
  648. package/dist/modes/interactive/interactive-onboarding.d.ts.map +1 -1
  649. package/dist/modes/interactive/interactive-onboarding.js +24 -201
  650. package/dist/modes/interactive/interactive-onboarding.js.map +1 -1
  651. package/dist/modes/interactive/interactive-process-lifecycle.d.ts.map +1 -1
  652. package/dist/modes/interactive/interactive-process-lifecycle.js +43 -9
  653. package/dist/modes/interactive/interactive-process-lifecycle.js.map +1 -1
  654. package/dist/modes/interactive/interactive-render-chat.d.ts.map +1 -1
  655. package/dist/modes/interactive/interactive-render-chat.js +93 -10
  656. package/dist/modes/interactive/interactive-render-chat.js.map +1 -1
  657. package/dist/modes/interactive/interactive-resource-disclosure.d.ts.map +1 -1
  658. package/dist/modes/interactive/interactive-resource-disclosure.js +3 -2
  659. package/dist/modes/interactive/interactive-resource-disclosure.js.map +1 -1
  660. package/dist/modes/interactive/interactive-resource-rendering.d.ts.map +1 -1
  661. package/dist/modes/interactive/interactive-resource-rendering.js +10 -8
  662. package/dist/modes/interactive/interactive-resource-rendering.js.map +1 -1
  663. package/dist/modes/interactive/interactive-session-routing.d.ts.map +1 -1
  664. package/dist/modes/interactive/interactive-session-routing.js +9 -5
  665. package/dist/modes/interactive/interactive-session-routing.js.map +1 -1
  666. package/dist/modes/interactive/interactive-session-runtime.d.ts.map +1 -1
  667. package/dist/modes/interactive/interactive-session-runtime.js +1 -1
  668. package/dist/modes/interactive/interactive-session-runtime.js.map +1 -1
  669. package/dist/modes/interactive/interactive-slash-commands.d.ts.map +1 -1
  670. package/dist/modes/interactive/interactive-slash-commands.js +1 -1
  671. package/dist/modes/interactive/interactive-slash-commands.js.map +1 -1
  672. package/dist/modes/interactive/interactive-startup.d.ts.map +1 -1
  673. package/dist/modes/interactive/interactive-startup.js +102 -98
  674. package/dist/modes/interactive/interactive-startup.js.map +1 -1
  675. package/dist/modes/interactive/theme/global-theme.d.ts.map +1 -1
  676. package/dist/modes/interactive/theme/global-theme.js +26 -2
  677. package/dist/modes/interactive/theme/global-theme.js.map +1 -1
  678. package/dist/modes/interactive/theme/theme-class.d.ts +1 -1
  679. package/dist/modes/interactive/theme/theme-class.d.ts.map +1 -1
  680. package/dist/modes/interactive/theme/theme-class.js +2 -0
  681. package/dist/modes/interactive/theme/theme-class.js.map +1 -1
  682. package/dist/modes/interactive/theme/theme-loading.d.ts +1 -0
  683. package/dist/modes/interactive/theme/theme-loading.d.ts.map +1 -1
  684. package/dist/modes/interactive/theme/theme-loading.js +3 -0
  685. package/dist/modes/interactive/theme/theme-loading.js.map +1 -1
  686. package/dist/modes/interactive/theme/theme.d.ts +1 -1
  687. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  688. package/dist/modes/interactive/theme/theme.js +1 -1
  689. package/dist/modes/interactive/theme/theme.js.map +1 -1
  690. package/dist/utils/child-process.d.ts +8 -1
  691. package/dist/utils/child-process.d.ts.map +1 -1
  692. package/dist/utils/child-process.js +39 -6
  693. package/dist/utils/child-process.js.map +1 -1
  694. package/dist/utils/clipboard-image.d.ts.map +1 -1
  695. package/dist/utils/clipboard-image.js +3 -0
  696. package/dist/utils/clipboard-image.js.map +1 -1
  697. package/dist/utils/event-loop.d.ts +7 -0
  698. package/dist/utils/event-loop.d.ts.map +1 -0
  699. package/dist/utils/event-loop.js +14 -0
  700. package/dist/utils/event-loop.js.map +1 -0
  701. package/dist/utils/fs-watch.d.ts +24 -1
  702. package/dist/utils/fs-watch.d.ts.map +1 -1
  703. package/dist/utils/fs-watch.js +60 -5
  704. package/dist/utils/fs-watch.js.map +1 -1
  705. package/dist/utils/json.d.ts +4 -0
  706. package/dist/utils/json.d.ts.map +1 -1
  707. package/dist/utils/json.js +8 -0
  708. package/dist/utils/json.js.map +1 -1
  709. package/dist/utils/module-require.d.ts +11 -0
  710. package/dist/utils/module-require.d.ts.map +1 -1
  711. package/dist/utils/module-require.js +14 -1
  712. package/dist/utils/module-require.js.map +1 -1
  713. package/dist/utils/split-launcher.d.ts +38 -0
  714. package/dist/utils/split-launcher.d.ts.map +1 -0
  715. package/dist/utils/split-launcher.js +63 -0
  716. package/dist/utils/split-launcher.js.map +1 -0
  717. package/docs/changelog.mdx +19 -0
  718. package/docs/compaction.md +100 -64
  719. package/docs/custom-provider.md +18 -5
  720. package/docs/development.md +4 -0
  721. package/docs/extensions.md +11 -2
  722. package/docs/json.md +3 -1
  723. package/docs/keybindings.md +2 -2
  724. package/docs/models.md +69 -10
  725. package/docs/providers.md +3 -2
  726. package/docs/quickstart.md +15 -11
  727. package/docs/rpc.md +5 -3
  728. package/docs/sdk.md +1 -1
  729. package/docs/settings.md +33 -3
  730. package/docs/subagents.md +40 -5
  731. package/docs/terminal-setup.md +4 -0
  732. package/docs/tools.md +1 -1
  733. package/docs/usage.md +8 -6
  734. package/docs/windows.md +4 -0
  735. package/docs/workflows.md +52 -34
  736. package/examples/extensions/preset.ts +2 -2
  737. package/examples/extensions/subagent/README.md +2 -2
  738. package/examples/extensions/subagent/index.ts +1 -2
  739. package/examples/extensions/subagent/schemas.ts +4 -1
  740. package/examples/sdk/12-full-control.ts +1 -1
  741. package/npm-shrinkwrap.json +538 -51
  742. package/package.json +10 -9
  743. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-behavior.ts +0 -75
  744. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-component.ts +0 -202
  745. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-edit.ts +0 -97
  746. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-editor.ts +0 -160
  747. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-frame.ts +0 -72
  748. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-render-modes.ts +0 -161
  749. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-render-selectors.ts +0 -203
  750. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-selectors.ts +0 -234
  751. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-state.ts +0 -103
  752. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-types.ts +0 -29
  753. package/dist/builtin/subagents/src/runs/foreground/chain-clarify.ts +0 -9
  754. package/dist/builtin/subagents/src/runs/foreground/chain-execution-clarify.ts +0 -117
@@ -8,8 +8,9 @@ import {
8
8
  type GoalWorkflowInputs,
9
9
  type GoalWorkflowOutputs,
10
10
  type ReviewRecord,
11
+ type ReducerDecision,
11
12
  } from "./goal-types.js";
12
- import { writeReviewArtifact, writeReviewRoundArtifact } from "./goal-artifacts.js";
13
+ import { artifactSafeName, writeReviewArtifact, writeReviewRoundArtifact } from "./goal-artifacts.js";
13
14
  import { appendLifecycleEvent, createGoalLedger, writeGoalLedger } from "./goal-ledger.js";
14
15
  import {
15
16
  collectRemainingWork,
@@ -17,14 +18,13 @@ import {
17
18
  } from "./goal-reducer.js";
18
19
  import { formatReviewReport, renderFinalReport } from "./goal-reports.js";
19
20
  import {
20
- reviewDecisionFromResult,
21
- reviewerErrorDecision,
21
+ parsedReviewDecisionFromResult,
22
22
  reviewDecisionToRecord,
23
23
  } from "./goal-review.js";
24
+ import { reviewerFailureText } from "./review-convergence.js";
24
25
  import {
25
26
  WORKER_PREFLIGHT_CONTRACT,
26
27
  WORKER_RECEIPT_CONTRACT,
27
- goalRunnerTools,
28
28
  renderForkedGoalWorkerPrompt,
29
29
  renderGoalContinuationPrompt,
30
30
  renderReviewerPrompt,
@@ -76,6 +76,27 @@ type GoalWorkflowOptions = {
76
76
  readonly workflowStartCwd: string;
77
77
  };
78
78
 
79
+ function reviewerExecutionFailedDecision(input: {
80
+ readonly turn: number;
81
+ readonly reviewQuorum: number;
82
+ readonly reviews: readonly ReviewRecord[];
83
+ readonly reason: string;
84
+ }): ReducerDecision {
85
+ return {
86
+ turn: input.turn,
87
+ decision: "needs_human",
88
+ reason: input.reason,
89
+ complete_votes: input.reviews.filter((review) => review.decision === "complete").length,
90
+ review_quorum: input.reviewQuorum,
91
+ parsed: input.reviews.every((review) => review.parsed),
92
+ approved: false,
93
+ stopReviewLoop: false,
94
+ nextAction: "needs_human",
95
+ finalActionRemaining: false,
96
+ diagnostics: input.reviews.flatMap((review) => review.parse_diagnostics),
97
+ };
98
+ }
99
+
79
100
  export async function runGoalWorkflow(ctx: GoalRunnerContext, options: GoalWorkflowOptions): Promise<GoalWorkflowOutputs> {
80
101
  const inputs = ctx.inputs;
81
102
  const createPr = options.createPr;
@@ -93,42 +114,64 @@ export async function runGoalWorkflow(ctx: GoalRunnerContext, options: GoalWorkf
93
114
  const comparisonBaseBranch = normalizeBranchInput(inputs.base_branch, "origin/main");
94
115
  const { ledger, ledgerPath, artifactDir } = await createGoalLedger(objective, acceptanceCriteria);
95
116
 
96
- // Chains curated from Atomic's agentic-coding benchmark (see
97
- // ralph-models.ts for the frontier data and drop rationale).
117
+ // Chains curated from Atomic's agentic-coding benchmark; see ralph-models.ts for frontier data and drop rationale.
98
118
  const workerModelConfig = {
99
- model: "openai-codex/gpt-5.5:medium",
119
+ model: "openai-codex/gpt-5.6-sol:medium",
100
120
  fallbackModels: [
101
- "github-copilot/gpt-5.5:medium",
102
- "openai/gpt-5.5:medium",
103
- "anthropic/claude-fable-5:low",
104
- "github-copilot/claude-opus-4.8 (1m):medium",
105
- "anthropic/claude-opus-4-8:medium",
106
- "zai/glm-5.2:high",
107
- "zai-coding-cn/glm-5.2:high",
108
- "openrouter/openai/gpt-5.5:medium",
109
- "openrouter/anthropic/claude-fable-5:low",
110
- "openrouter/anthropic/claude-opus-4-8:medium",
111
- "openrouter/z-ai/glm-5.2:xhigh"
121
+ "github-copilot/gpt-5.6-sol:medium",
122
+ "openai/gpt-5.6-sol:medium",
123
+ "openai-codex/gpt-5.5:medium",
124
+ "github-copilot/gpt-5.5:medium",
125
+ "openai/gpt-5.5:medium",
126
+ "anthropic/claude-fable-5:low",
127
+ "github-copilot/claude-opus-4.8 (1m):medium",
128
+ "anthropic/claude-opus-4-8:medium",
129
+ "cursor/gpt-5.6-sol:medium",
130
+ "cursor/gpt-5.5:medium",
131
+ "cursor/claude-fable-5:low",
132
+ "cursor/claude-opus-4-8-thinking:medium",
133
+ "cursor/grok-4.5",
134
+ "zai/glm-5.2:high",
135
+ "zai-coding-cn/glm-5.2:high",
136
+ "cursor/glm-5.2",
137
+ "openrouter/openai/gpt-5.6-sol:medium",
138
+ "openrouter/openai/gpt-5.5:medium",
139
+ "openrouter/anthropic/claude-fable-5:low",
140
+ "openrouter/anthropic/claude-opus-4-8:medium",
141
+ "openrouter/x-ai/grok-4.5",
142
+ "openrouter/z-ai/glm-5.2:xhigh"
112
143
  ],
113
- tools: goalRunnerTools,
144
+ excludedTools: ["ask_user_question"],
114
145
  };
115
146
 
116
147
  const reviewerModelConfig = {
117
- model: "anthropic/claude-fable-5:xhigh",
148
+ model: "anthropic/claude-fable-5:high",
118
149
  fallbackModels: [
119
- "openai-codex/gpt-5.5:xhigh",
120
- "github-copilot/gpt-5.5:xhigh",
121
- "openai/gpt-5.5:xhigh",
122
- "github-copilot/claude-opus-4.8 (1m):high",
123
- "anthropic/claude-opus-4-8:high",
124
- "zai/glm-5.2:xhigh",
125
- "zai-coding-cn/glm-5.2:xhigh",
126
- "openrouter/anthropic/claude-fable-5:xhigh",
127
- "openrouter/openai/gpt-5.5:xhigh",
128
- "openrouter/anthropic/claude-opus-4-8:high",
129
- "openrouter/z-ai/glm-5.2:xhigh"
150
+ "openai-codex/gpt-5.6-sol:max",
151
+ "github-copilot/gpt-5.6-sol:max",
152
+ "openai/gpt-5.6-sol:max",
153
+ "openai-codex/gpt-5.5:xhigh",
154
+ "github-copilot/gpt-5.5:xhigh",
155
+ "openai/gpt-5.5:xhigh",
156
+ "github-copilot/claude-opus-4.8 (1m):high",
157
+ "anthropic/claude-opus-4-8:high",
158
+ "cursor/claude-fable-5:high",
159
+ "cursor/gpt-5.6-sol:max",
160
+ "cursor/gpt-5.5:high",
161
+ "cursor/claude-opus-4-8-thinking:high",
162
+ "cursor/grok-4.5",
163
+ "zai/glm-5.2:xhigh",
164
+ "zai-coding-cn/glm-5.2:xhigh",
165
+ "cursor/glm-5.2",
166
+ "openrouter/anthropic/claude-fable-5:high",
167
+ "openrouter/openai/gpt-5.6-sol:max",
168
+ "openrouter/sakana/fugu-ultra:high",
169
+ "openrouter/openai/gpt-5.5:xhigh",
170
+ "openrouter/anthropic/claude-opus-4-8:high",
171
+ "openrouter/x-ai/grok-4.5",
172
+ "openrouter/z-ai/glm-5.2:xhigh"
130
173
  ],
131
- tools: goalRunnerTools,
174
+ excludedTools: ["ask_user_question"],
132
175
  schema: reviewDecisionSchema,
133
176
  };
134
177
 
@@ -192,6 +235,12 @@ export async function runGoalWorkflow(ctx: GoalRunnerContext, options: GoalWorkf
192
235
  reason: terminalRemainingWork,
193
236
  complete_votes: 0,
194
237
  review_quorum: reviewQuorum,
238
+ parsed: false,
239
+ approved: false,
240
+ stopReviewLoop: false,
241
+ nextAction: "needs_human",
242
+ finalActionRemaining: false,
243
+ diagnostics: [terminalRemainingWork],
195
244
  });
196
245
  appendLifecycleEvent(ledger, "status_decided", terminalRemainingWork, turn);
197
246
  await writeGoalLedger(ledgerPath, ledger);
@@ -224,6 +273,7 @@ export async function runGoalWorkflow(ctx: GoalRunnerContext, options: GoalWorkf
224
273
  comparisonBaseBranch,
225
274
  reviewQuorum,
226
275
  blockerThreshold,
276
+ createPr,
227
277
  }),
228
278
  reads: [ledgerPath, workTurnPath],
229
279
  ...reviewerModelConfig,
@@ -248,42 +298,48 @@ export async function runGoalWorkflow(ctx: GoalRunnerContext, options: GoalWorkf
248
298
  ];
249
299
 
250
300
  let reviewResults: WorkflowTaskResult[];
301
+ let reviewerBatchFailed = false;
251
302
  try {
252
303
  reviewResults = await ctx.parallel(reviewerSteps, {
253
304
  task: objective,
254
- failFast: false,
305
+ failFast: true,
255
306
  });
256
307
  } catch (err) {
257
- const message = err instanceof Error ? err.message : String(err);
258
- const structured = reviewerErrorDecision(message);
308
+ reviewerBatchFailed = true;
259
309
  reviewResults = [
260
310
  {
261
311
  name: "reviewer-error",
262
312
  stageName: "reviewer-error",
263
- text: JSON.stringify(structured, null, 2),
264
- structured,
313
+ text: reviewerFailureText(err),
265
314
  },
266
315
  ];
267
316
  }
268
317
 
269
318
  latestReviews = await Promise.all(reviewResults.map(async (result) => {
270
319
  const reviewerName = result.name ?? result.stageName;
271
- const parsed = reviewDecisionFromResult(result) ??
272
- reviewerErrorDecision(
273
- `Reviewer ${reviewerName} returned no structured decision.`,
274
- );
275
- const reviewArtifactPath = await writeReviewArtifact(
320
+ const normalizedReviewerName = reviewerName.replace(/-\d+$/u, "");
321
+ const parsed = parsedReviewDecisionFromResult(result, reviewerName);
322
+ const reviewArtifactPath = join(
276
323
  artifactDir,
277
- reviewerName.replace(/-\d+$/u, ""),
278
- parsed,
279
- result.text,
324
+ `review-${artifactSafeName(normalizedReviewerName)}.json`,
280
325
  );
281
- return reviewDecisionToRecord({
326
+ const record = reviewDecisionToRecord({
282
327
  turn,
283
- reviewer: reviewerName.replace(/-\d+$/u, ""),
328
+ reviewer: normalizedReviewerName,
284
329
  artifactPath: reviewArtifactPath,
285
- decision: parsed,
330
+ decision: parsed.decision,
331
+ parsed: parsed.parsed,
332
+ diagnostics: parsed.diagnostics,
333
+ allowFinalActionRemaining: createPr,
286
334
  });
335
+ await writeReviewArtifact(
336
+ artifactDir,
337
+ normalizedReviewerName,
338
+ parsed.decision,
339
+ result.text,
340
+ record.convergence_decision,
341
+ );
342
+ return record;
287
343
  }));
288
344
  latestReviewArtifactPaths = latestReviews.map((review) => review.artifact_path);
289
345
  latestReviewReportPath = await writeReviewRoundArtifact(
@@ -297,12 +353,27 @@ export async function runGoalWorkflow(ctx: GoalRunnerContext, options: GoalWorkf
297
353
  `Recorded ${latestReviews.length} reviewer decisions.`,
298
354
  turn,
299
355
  );
356
+ if (reviewerBatchFailed) {
357
+ terminalRemainingWork = collectRemainingWork(latestReviews);
358
+ const reason = `Reviewer execution failed before quorum could be established. Remaining work: ${terminalRemainingWork}`;
359
+ ledger.decisions.push(reviewerExecutionFailedDecision({
360
+ turn,
361
+ reviewQuorum,
362
+ reviews: latestReviews,
363
+ reason,
364
+ }));
365
+ ledger.status = "needs_human";
366
+ appendLifecycleEvent(ledger, "status_decided", reason, turn);
367
+ await writeGoalLedger(ledgerPath, ledger);
368
+ break;
369
+ }
300
370
 
301
371
  const reducerOutcome = reduceGoalDecision(ledger, latestReviews, {
302
372
  turn,
303
373
  maxTurns,
304
374
  reviewQuorum,
305
375
  blockerThreshold,
376
+ nextActionOnComplete: createPr ? "pull-request" : "finish",
306
377
  });
307
378
  if (reducerOutcome.blockerObservation !== undefined) {
308
379
  ledger.blockers.push(reducerOutcome.blockerObservation);
@@ -1,3 +1,5 @@
1
+ import type { ReviewConvergenceSummary } from "./review-convergence.js";
2
+
1
3
  export const DEFAULT_MAX_TURNS = 10;
2
4
  // Goal Runner runs three independent reviewer personas; two approvals form a majority.
3
5
  export const DEFAULT_REVIEW_QUORUM = 2;
@@ -74,6 +76,10 @@ export type ReviewRecord = ReviewDecision & {
74
76
  readonly turn: number;
75
77
  readonly reviewer: string;
76
78
  readonly artifact_path: string;
79
+ readonly parsed: boolean;
80
+ readonly approved: boolean;
81
+ readonly parse_diagnostics: readonly string[];
82
+ readonly convergence_decision: ReviewConvergenceSummary;
77
83
  };
78
84
 
79
85
  export type BlockerObservation = {
@@ -82,7 +88,7 @@ export type BlockerObservation = {
82
88
  readonly reviewers: readonly string[];
83
89
  };
84
90
 
85
- export type ReducerDecision = {
91
+ export type ReducerDecision = ReviewConvergenceSummary & {
86
92
  readonly turn: number;
87
93
  readonly decision: "complete" | "continue" | "blocked" | "needs_human";
88
94
  readonly reason: string;
@@ -130,6 +136,7 @@ export type GoalWorkflowInputs = {
130
136
  readonly acceptance_criteria?: string;
131
137
  readonly max_turns: number;
132
138
  readonly base_branch: string;
139
+ readonly git_worktree_dir: string;
133
140
  readonly create_pr: boolean;
134
141
  };
135
142
 
@@ -14,6 +14,7 @@ export type GoalWorkflowInputs = WorkflowInputValues & {
14
14
  readonly acceptance_criteria?: string;
15
15
  readonly max_turns: number;
16
16
  readonly base_branch: string;
17
+ readonly git_worktree_dir: string;
17
18
  readonly create_pr: boolean;
18
19
  };
19
20
 
@@ -22,6 +23,7 @@ export type GoalWorkflowRunInputs = WorkflowInputValues & {
22
23
  readonly acceptance_criteria?: string;
23
24
  readonly max_turns?: number;
24
25
  readonly base_branch?: string;
26
+ readonly git_worktree_dir?: string;
25
27
  readonly create_pr?: boolean;
26
28
  };
27
29
 
@@ -25,6 +25,11 @@ export default workflow({
25
25
  default: "origin/main",
26
26
  description: "Optional branch reviewers compare the current code delta against (default origin/main).",
27
27
  }),
28
+ git_worktree_dir: Type.String({
29
+ default: "",
30
+ description:
31
+ "Optional Git worktree path. Must start inside a Git repo; absolute paths are used as-is, relative paths resolve from the repo root, existing Git worktrees from the invoking repository are reused/shared as-is, and missing paths are created from base_branch.",
32
+ }),
28
33
  create_pr: Type.Boolean({
29
34
  default: false,
30
35
  description:
@@ -55,6 +60,10 @@ export default workflow({
55
60
  review_report_path: Type.Optional(Type.String({ description: "JSON artifact path for the latest reviewer decision round." })),
56
61
  pr_report: Type.Optional(Type.String({ description: "Pull-request report emitted only when create_pr=true, Goal reaches complete, and the final pull-request stage runs." })),
57
62
  },
63
+ worktreeFromInputs: {
64
+ gitWorktreeDir: "git_worktree_dir",
65
+ baseBranch: "base_branch",
66
+ },
58
67
  run: async (ctx) => {
59
68
  const workflowCtx = ctx;
60
69
  const workflowStartCwd = workflowCtx.cwd ?? process.cwd();
@@ -40,6 +40,7 @@ export type GoalWorkflowInputs = WorkflowInputValues & {
40
40
  readonly acceptance_criteria?: string;
41
41
  readonly max_turns: number;
42
42
  readonly base_branch: string;
43
+ readonly git_worktree_dir: string;
43
44
  readonly create_pr: boolean;
44
45
  };
45
46
  export type GoalWorkflowRunInputs = WorkflowInputValues & {
@@ -47,6 +48,7 @@ export type GoalWorkflowRunInputs = WorkflowInputValues & {
47
48
  readonly acceptance_criteria?: string;
48
49
  readonly max_turns?: number;
49
50
  readonly base_branch?: string;
51
+ readonly git_worktree_dir?: string;
50
52
  readonly create_pr?: boolean;
51
53
  };
52
54
  export type GoalWorkflowOutputs = WorkflowOutputValues & {
@@ -78,14 +78,25 @@ export async function runOpenClaudeDesignWorkflow(ctx: OpenClaudeDesignContext):
78
78
  // strictly dominated in Atomic's benchmark (see ralph-models.ts). Opus stays
79
79
  // at :xhigh here — visual quality, not $/task, is the objective for design.
80
80
  const designModelConfig = {
81
- model: "anthropic/claude-fable-5:xhigh",
81
+ model: "anthropic/claude-fable-5:high",
82
82
  fallbackModels: [
83
- "github-copilot/claude-opus-4.8 (1m):xhigh",
84
- "anthropic/claude-opus-4-8:xhigh",
83
+ "github-copilot/claude-opus-4.8 (1m):high",
84
+ "anthropic/claude-opus-4-8:high",
85
+ "cursor/claude-fable-5:high",
86
+ "cursor/claude-opus-4-8-thinking:high",
87
+ "openai-codex/gpt-5.6-sol:xhigh",
88
+ "github-copilot/gpt-5.6-sol:xhigh",
89
+ "openai/gpt-5.6-sol:xhigh",
90
+ "cursor/gpt-5.6-sol:xhigh",
91
+ "cursor/grok-4.5",
85
92
  "zai/glm-5.2:xhigh",
86
93
  "zai-coding-cn/glm-5.2:xhigh",
87
- "openrouter/anthropic/claude-fable-5:xhigh",
88
- "openrouter/anthropic/claude-opus-4-8:xhigh",
94
+ "cursor/glm-5.2",
95
+ "openrouter/anthropic/claude-fable-5:high",
96
+ "openrouter/anthropic/claude-opus-4-8:high",
97
+ "openrouter/openai/gpt-5.6-sol:xhigh",
98
+ "openrouter/sakana/fugu-ultra:high",
99
+ "openrouter/x-ai/grok-4.5",
89
100
  "openrouter/z-ai/glm-5.2:xhigh"
90
101
  ],
91
102
  };
@@ -5,21 +5,31 @@ import { Type } from "typebox";
5
5
  import type { WorkflowTaskResult } from "../src/shared/types.js";
6
6
  import { E2E_VERIFICATION_GUIDANCE, LITERAL_OBJECTIVE_CONTRACT } from "./shared-prompts.js";
7
7
  import type { ReviewDecision } from "./ralph-review-gate.js";
8
+ import { reviewDecisionApproved } from "./ralph-review-gate.js";
9
+ import {
10
+ parseFailureDiagnostics,
11
+ finalActionRemaining,
12
+ reviewerFailureText,
13
+ summarizeReviewConvergence,
14
+ type ParsedReviewDecision,
15
+ type ReviewConvergenceSummary,
16
+ } from "./review-convergence.js";
17
+
8
18
 
9
19
  export const DEFAULT_MAX_LOOPS = 10;
10
20
  const DEFAULT_RESEARCH_DIR = "research";
11
21
  const IMPLEMENTATION_NOTES_FILENAME = "implementation-notes.md";
12
22
  const QA_E2E_VIDEO_FILENAME = "qa-e2e-evidence.webm";
13
23
  const MAX_RESEARCH_SLUG_LENGTH = 80;
14
- // Reviewer fan-out launches three independent reviewers; the loop stops only when
15
- // all three reviewers independently approve. Approval is severity-aware: a
16
- // reviewer approves when it judged the patch correct, reported no reviewer_error,
17
- // and filed no *blocking* (P0/P1/P2) finding. P3 nice-to-haves no longer keep the
24
+ // Reviewer fan-out launches two independent reviewers; the loop stops only when
25
+ // both reviewers independently approve. Approval is severity-aware: a reviewer
26
+ // approves when it judged the patch correct, reported no reviewer_error, and
27
+ // filed no *blocking* (P0/P1/P2) finding. P3 nice-to-haves no longer keep the
18
28
  // loop iterating, so a single low-priority nit (or a placeholder finding) can no
19
29
  // longer strand an otherwise-approved patch. Requiring unanimous approval still
20
- // means a blocking finding from any one reviewer keeps the loop going. See
30
+ // means a blocking finding from either reviewer keeps the loop going. See
21
31
  // ./ralph-review-gate.ts for the gate types and decision logic.
22
- export const REVIEWER_COUNT = 3;
32
+ export const REVIEWER_COUNT = 2;
23
33
 
24
34
  const reviewFindingSchema = Type.Object(
25
35
  {
@@ -200,6 +210,43 @@ export function reviewDecisionFromResult(result: WorkflowTaskResult): ReviewDeci
200
210
  return result.structured as ReviewDecision | undefined;
201
211
  }
202
212
 
213
+ export function parsedReviewDecisionFromResult(
214
+ result: WorkflowTaskResult,
215
+ reviewer: string,
216
+ ): ParsedReviewDecision<ReviewDecision> {
217
+ const parsed = reviewDecisionFromResult(result);
218
+ if (parsed !== undefined) {
219
+ return { decision: parsed, parsed: true, diagnostics: [] };
220
+ }
221
+ const diagnostics = parseFailureDiagnostics(reviewer, result.text);
222
+ return {
223
+ decision: reviewerErrorDecision(diagnostics.join("\n")),
224
+ parsed: false,
225
+ diagnostics,
226
+ };
227
+ }
228
+
229
+ export function ralphReviewConvergence(args: {
230
+ readonly decision: ReviewDecision;
231
+ readonly parsed: boolean;
232
+ readonly diagnostics: readonly string[];
233
+ readonly allowFinalActionRemaining: boolean;
234
+ }): ReviewConvergenceSummary {
235
+ const approved = reviewDecisionApproved(args.decision, {
236
+ allowFinalActionRemaining: args.allowFinalActionRemaining,
237
+ });
238
+ const hasFinalActionRemaining = args.allowFinalActionRemaining &&
239
+ finalActionRemaining(args.decision.requirements_traceability);
240
+ return summarizeReviewConvergence({
241
+ parsed: args.parsed,
242
+ approved,
243
+ stopReviewLoop: args.decision.stop_review_loop,
244
+ nextAction: approved && hasFinalActionRemaining ? "pull-request" : approved ? "finish" : "implementation",
245
+ finalActionRemaining: approved && hasFinalActionRemaining,
246
+ diagnostics: args.diagnostics,
247
+ });
248
+ }
249
+
203
250
  export function reviewerErrorDecision(error: string): ReviewDecision {
204
251
  return {
205
252
  findings: [],
@@ -219,14 +266,12 @@ export function reviewerErrorDecision(error: string): ReviewDecision {
219
266
  }
220
267
 
221
268
  export function reviewerErrorResult(
222
- error: string,
269
+ error: unknown,
223
270
  ): WorkflowTaskResult {
224
- const structured = reviewerErrorDecision(error);
225
271
  return {
226
272
  name: "reviewer-error",
227
273
  stageName: "reviewer-error",
228
- text: JSON.stringify(structured, null, 2),
229
- structured,
274
+ text: reviewerFailureText(error),
230
275
  };
231
276
  }
232
277
 
@@ -241,14 +286,17 @@ export function artifactSafeName(value: string): string {
241
286
  type ReviewArtifact = {
242
287
  readonly reviewer: string;
243
288
  readonly decision: ReviewDecision;
289
+ readonly convergence_decision: ReviewConvergenceSummary;
244
290
  readonly raw_text: string;
245
291
  };
246
292
 
247
293
  type ReviewRoundArtifact = {
294
+ readonly convergence_decision: ReviewConvergenceSummary;
248
295
  readonly reviews: readonly {
249
296
  readonly reviewer: string;
250
297
  readonly artifact_path: string;
251
298
  readonly decision: ReviewDecision;
299
+ readonly convergence_decision: ReviewConvergenceSummary;
252
300
  }[];
253
301
  };
254
302
 
@@ -386,10 +434,10 @@ export function renderForkedOrchestratorPrompt(args: {
386
434
  [
387
435
  "output_format",
388
436
  [
389
- "After subagents have done the work, return Markdown with headings:",
437
+ "After the implementation work is complete, return Markdown with headings:",
390
438
  "1. Research file — the path you read",
391
- "2. Delegations performed — subagents spawned and what each completed",
392
- "3. Changes made — concrete changes from subagent work, not intentions",
439
+ "2. Delegations performed — subagents used and what each completed, or none when direct work was sufficient",
440
+ "3. Changes made — concrete completed changes, not intentions",
393
441
  "4. Files touched",
394
442
  "5. Validation run / recommended",
395
443
  "6. Deferred work or blockers",