@bastani/atomic 0.9.11-alpha.5 → 0.9.11-alpha.6

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 (1026) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +12 -5
  3. package/dist/builtin/intercom/package.json +2 -2
  4. package/dist/builtin/mcp/CHANGELOG.md +6 -0
  5. package/dist/builtin/mcp/README.md +3 -3
  6. package/dist/builtin/mcp/cli.js +0 -1
  7. package/dist/builtin/mcp/config.ts +0 -2
  8. package/dist/builtin/mcp/package.json +3 -3
  9. package/dist/builtin/mcp/types.ts +0 -1
  10. package/dist/builtin/subagents/CHANGELOG.md +12 -0
  11. package/dist/builtin/subagents/README.md +1 -1
  12. package/dist/builtin/subagents/agents/code-simplifier.md +47 -102
  13. package/dist/builtin/subagents/agents/codebase-analyzer.md +27 -130
  14. package/dist/builtin/subagents/agents/codebase-locator.md +24 -83
  15. package/dist/builtin/subagents/agents/codebase-online-researcher.md +60 -259
  16. package/dist/builtin/subagents/agents/codebase-pattern-finder.md +29 -207
  17. package/dist/builtin/subagents/agents/codebase-research-analyzer.md +28 -150
  18. package/dist/builtin/subagents/agents/codebase-research-locator.md +21 -118
  19. package/dist/builtin/subagents/agents/debugger.md +27 -65
  20. package/dist/builtin/subagents/agents/worker.md +23 -30
  21. package/dist/builtin/subagents/package.json +4 -4
  22. package/dist/builtin/subagents/prompts/gather-context-and-clarify.md +18 -11
  23. package/dist/builtin/subagents/prompts/parallel-cleanup.md +34 -33
  24. package/dist/builtin/subagents/prompts/parallel-context-build.md +22 -36
  25. package/dist/builtin/subagents/prompts/parallel-handoff-plan.md +20 -52
  26. package/dist/builtin/subagents/prompts/parallel-research.md +17 -41
  27. package/dist/builtin/subagents/prompts/parallel-review.md +23 -28
  28. package/dist/builtin/subagents/prompts/review-loop.md +18 -27
  29. package/dist/builtin/subagents/src/extension/prompt-guidance.ts +1 -1
  30. package/dist/builtin/subagents/src/runs/background/async-execution-chain.ts +23 -4
  31. package/dist/builtin/subagents/src/runs/background/async-execution-single.ts +2 -0
  32. package/dist/builtin/subagents/src/runs/background/async-execution-types.ts +10 -0
  33. package/dist/builtin/subagents/src/runs/background/subagent-runner-step.ts +1 -0
  34. package/dist/builtin/subagents/src/runs/foreground/chain-execution-dynamic-step.ts +2 -0
  35. package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-runner.ts +8 -0
  36. package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-step.ts +1 -0
  37. package/dist/builtin/subagents/src/runs/foreground/chain-execution-sequential-step.ts +6 -0
  38. package/dist/builtin/subagents/src/runs/foreground/chain-execution-types.ts +2 -0
  39. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-async.ts +7 -0
  40. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-chain.ts +1 -0
  41. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-resume.ts +3 -0
  42. package/dist/builtin/subagents/src/runs/shared/mcp-direct-tool-allowlist.ts +1 -2
  43. package/dist/builtin/subagents/src/runs/shared/parallel-utils.ts +1 -0
  44. package/dist/builtin/subagents/src/runs/shared/pi-args.ts +5 -3
  45. package/dist/builtin/subagents/src/shared/settings.ts +4 -0
  46. package/dist/builtin/web-access/package.json +2 -2
  47. package/dist/builtin/workflows/CHANGELOG.md +44 -0
  48. package/dist/builtin/workflows/README.md +72 -70
  49. package/dist/builtin/workflows/ambient.d.ts +0 -5
  50. package/dist/builtin/workflows/builtin/adversarial-verification-prompts.ts +7 -4
  51. package/dist/builtin/workflows/builtin/adversarial-verification-runner.ts +1 -1
  52. package/dist/builtin/workflows/builtin/adversarial-verification.ts +2 -1
  53. package/dist/builtin/workflows/builtin/classify-and-act-prompts.ts +5 -2
  54. package/dist/builtin/workflows/builtin/classify-and-act-runner.ts +5 -7
  55. package/dist/builtin/workflows/builtin/classify-and-act.ts +3 -2
  56. package/dist/builtin/workflows/builtin/fan-out-and-synthesize-prompts.ts +6 -3
  57. package/dist/builtin/workflows/builtin/fan-out-and-synthesize-runner.ts +5 -5
  58. package/dist/builtin/workflows/builtin/fan-out-and-synthesize.ts +3 -2
  59. package/dist/builtin/workflows/builtin/generate-and-filter-prompts.ts +7 -4
  60. package/dist/builtin/workflows/builtin/generate-and-filter-runner.ts +6 -3
  61. package/dist/builtin/workflows/builtin/generate-and-filter.ts +3 -2
  62. package/dist/builtin/workflows/builtin/goal-models.ts +14 -18
  63. package/dist/builtin/workflows/builtin/goal-orchestrator-prompts.ts +39 -78
  64. package/dist/builtin/workflows/builtin/goal-prompts.ts +64 -244
  65. package/dist/builtin/workflows/builtin/goal-runner.ts +32 -64
  66. package/dist/builtin/workflows/builtin/goal.ts +2 -1
  67. package/dist/builtin/workflows/builtin/index.d.ts +17 -112
  68. package/dist/builtin/workflows/builtin/index.ts +1 -2
  69. package/dist/builtin/workflows/builtin/loop-until-done-prompts.ts +20 -12
  70. package/dist/builtin/workflows/builtin/loop-until-done-runner.ts +3 -0
  71. package/dist/builtin/workflows/builtin/loop-until-done.ts +3 -2
  72. package/dist/builtin/workflows/builtin/open-claude-design-phases.ts +52 -55
  73. package/dist/builtin/workflows/builtin/open-claude-design-runner.ts +45 -52
  74. package/dist/builtin/workflows/builtin/open-claude-design-setup.ts +41 -46
  75. package/dist/builtin/workflows/builtin/open-claude-design-utils.ts +16 -21
  76. package/dist/builtin/workflows/builtin/open-claude-design.ts +2 -1
  77. package/dist/builtin/workflows/builtin/ralph-core.ts +61 -57
  78. package/dist/builtin/workflows/builtin/ralph-forked-prompts.ts +41 -45
  79. package/dist/builtin/workflows/builtin/ralph-models.ts +33 -43
  80. package/dist/builtin/workflows/builtin/ralph-reviewer-prompt.ts +35 -120
  81. package/dist/builtin/workflows/builtin/ralph-runner.ts +81 -108
  82. package/dist/builtin/workflows/builtin/ralph.ts +2 -1
  83. package/dist/builtin/workflows/builtin/shared-prompts.ts +110 -93
  84. package/dist/builtin/workflows/builtin/steering-context.ts +51 -0
  85. package/dist/builtin/workflows/builtin/tournament-prompts.ts +21 -12
  86. package/dist/builtin/workflows/builtin/tournament-runner.ts +3 -0
  87. package/dist/builtin/workflows/builtin/tournament.ts +3 -2
  88. package/dist/builtin/workflows/package.json +2 -2
  89. package/dist/builtin/workflows/skills/create-spec/SKILL.md +1 -1
  90. package/dist/builtin/workflows/skills/impeccable/reference/hooks.md +6 -8
  91. package/dist/builtin/workflows/skills/impeccable/reference/live.md +3 -4
  92. package/dist/builtin/workflows/skills/impeccable/scripts/hook-admin.mjs +2 -20
  93. package/dist/builtin/workflows/skills/impeccable/scripts/hook-lib.mjs +4 -42
  94. package/dist/builtin/workflows/skills/impeccable/scripts/hook.mjs +3 -3
  95. package/dist/builtin/workflows/skills/impeccable/scripts/live-browser.js +2 -3
  96. package/dist/builtin/workflows/skills/impeccable/scripts/live-inject.mjs +0 -1
  97. package/dist/builtin/workflows/skills/impeccable/scripts/live-poll.mjs +2 -2
  98. package/dist/builtin/workflows/skills/impeccable/scripts/pin.mjs +4 -4
  99. package/dist/builtin/workflows/skills/prompt-engineer/SKILL.md +57 -252
  100. package/dist/builtin/workflows/skills/prompt-engineer/references/advanced_patterns.md +70 -226
  101. package/dist/builtin/workflows/skills/prompt-engineer/references/core_prompting.md +64 -103
  102. package/dist/builtin/workflows/skills/prompt-engineer/references/quality_improvement.md +81 -155
  103. package/dist/builtin/workflows/src/authoring.d.ts +5 -1
  104. package/dist/builtin/workflows/src/durable/backend.ts +68 -9
  105. package/dist/builtin/workflows/src/durable/boundary-lifecycle.ts +148 -0
  106. package/dist/builtin/workflows/src/durable/boundary-topology.ts +420 -0
  107. package/dist/builtin/workflows/src/durable/child-invocation.ts +14 -0
  108. package/dist/builtin/workflows/src/durable/child-primitive.ts +74 -44
  109. package/dist/builtin/workflows/src/durable/completed-catalog-stage-groups.ts +250 -0
  110. package/dist/builtin/workflows/src/durable/completed-catalog.ts +205 -131
  111. package/dist/builtin/workflows/src/durable/completed-inspection.ts +8 -2
  112. package/dist/builtin/workflows/src/durable/completed-subtree.ts +31 -0
  113. package/dist/builtin/workflows/src/durable/dbos-backend.ts +28 -24
  114. package/dist/builtin/workflows/src/durable/dbos-envelope.ts +130 -3
  115. package/dist/builtin/workflows/src/durable/dbos-metadata.ts +18 -0
  116. package/dist/builtin/workflows/src/durable/scoped-backend.ts +64 -17
  117. package/dist/builtin/workflows/src/durable/stage-primitive.ts +60 -60
  118. package/dist/builtin/workflows/src/durable/stage-topology-validation.ts +234 -0
  119. package/dist/builtin/workflows/src/durable/stage-topology.ts +53 -0
  120. package/dist/builtin/workflows/src/durable/tool-failure-checkpoint.ts +49 -0
  121. package/dist/builtin/workflows/src/durable/tool-outcome.ts +120 -0
  122. package/dist/builtin/workflows/src/durable/tool-primitive.ts +367 -58
  123. package/dist/builtin/workflows/src/durable/types.ts +97 -0
  124. package/dist/builtin/workflows/src/durable/ui-primitive.ts +46 -0
  125. package/dist/builtin/workflows/src/durable/workflow-child-result.ts +58 -0
  126. package/dist/builtin/workflows/src/engine/options.ts +1 -0
  127. package/dist/builtin/workflows/src/engine/primitives/workflow.ts +19 -10
  128. package/dist/builtin/workflows/src/engine/run-durable-finalize.ts +11 -1
  129. package/dist/builtin/workflows/src/engine/run-durable-topology.ts +190 -18
  130. package/dist/builtin/workflows/src/engine/run-terminal-event.ts +37 -0
  131. package/dist/builtin/workflows/src/engine/run-terminal-failure.ts +50 -0
  132. package/dist/builtin/workflows/src/engine/run-tool-execution-tracker.ts +152 -0
  133. package/dist/builtin/workflows/src/engine/run-tool-node-lifecycle.ts +87 -0
  134. package/dist/builtin/workflows/src/engine/run.ts +111 -110
  135. package/dist/builtin/workflows/src/engine/runtime.ts +15 -2
  136. package/dist/builtin/workflows/src/extension/extension-factory.ts +1 -0
  137. package/dist/builtin/workflows/src/extension/extension-runtime-state.ts +11 -0
  138. package/dist/builtin/workflows/src/extension/index.bundle.mjs +6514 -4793
  139. package/dist/builtin/workflows/src/extension/lifecycle-notifications.ts +16 -5
  140. package/dist/builtin/workflows/src/extension/render-result.ts +16 -2
  141. package/dist/builtin/workflows/src/extension/runtime-durable-resume.ts +3 -0
  142. package/dist/builtin/workflows/src/extension/runtime.ts +4 -0
  143. package/dist/builtin/workflows/src/extension/wiring.ts +3 -1
  144. package/dist/builtin/workflows/src/extension/workflow-command-surfaces.ts +1 -0
  145. package/dist/builtin/workflows/src/extension/workflow-durable-resume-command.ts +9 -3
  146. package/dist/builtin/workflows/src/extension/workflow-module-loader.ts +18 -3
  147. package/dist/builtin/workflows/src/extension/workflow-prompts.ts +22 -11
  148. package/dist/builtin/workflows/src/extension/workflow-status-summary.ts +43 -0
  149. package/dist/builtin/workflows/src/extension/workflow-targets.ts +34 -30
  150. package/dist/builtin/workflows/src/extension/workflow-tool-content.ts +12 -5
  151. package/dist/builtin/workflows/src/extension/workflow-tool-send.ts +162 -63
  152. package/dist/builtin/workflows/src/runs/background/run-inspect.ts +7 -1
  153. package/dist/builtin/workflows/src/runs/background/status.ts +18 -8
  154. package/dist/builtin/workflows/src/runs/background/workflow-lifecycle-aggregate.ts +3 -11
  155. package/dist/builtin/workflows/src/runs/foreground/executor-child-boundary.ts +24 -21
  156. package/dist/builtin/workflows/src/runs/foreground/executor-hil.ts +1 -1
  157. package/dist/builtin/workflows/src/runs/foreground/executor-lifecycle.ts +30 -13
  158. package/dist/builtin/workflows/src/runs/foreground/executor-prompt-nodes.ts +102 -53
  159. package/dist/builtin/workflows/src/runs/foreground/executor-stage-call.ts +13 -5
  160. package/dist/builtin/workflows/src/runs/foreground/executor-stage-control.ts +26 -8
  161. package/dist/builtin/workflows/src/runs/foreground/executor-stage-factory.ts +11 -4
  162. package/dist/builtin/workflows/src/runs/foreground/executor-stage-types.ts +4 -1
  163. package/dist/builtin/workflows/src/runs/foreground/executor-types.ts +7 -1
  164. package/dist/builtin/workflows/src/runs/foreground/postmortem-stage-chat.ts +35 -1
  165. package/dist/builtin/workflows/src/runs/foreground/stage-control-registry.ts +136 -17
  166. package/dist/builtin/workflows/src/runs/foreground/stage-runner-context.ts +12 -4
  167. package/dist/builtin/workflows/src/runs/foreground/stage-runner-controller.ts +35 -42
  168. package/dist/builtin/workflows/src/runs/foreground/stage-runner-options.ts +5 -1
  169. package/dist/builtin/workflows/src/runs/foreground/stage-runner-pause.ts +195 -0
  170. package/dist/builtin/workflows/src/runs/foreground/stage-runner-session-options.ts +0 -13
  171. package/dist/builtin/workflows/src/runs/foreground/stage-runner-types.ts +14 -2
  172. package/dist/builtin/workflows/src/runs/shared/model-fallback-candidates.ts +3 -143
  173. package/dist/builtin/workflows/src/sdk-surface.ts +1 -1
  174. package/dist/builtin/workflows/src/shared/authoring-contract-stage.d.ts +6 -11
  175. package/dist/builtin/workflows/src/shared/authoring-contract-stage.ts +6 -11
  176. package/dist/builtin/workflows/src/shared/authoring-contract-ui.d.ts +57 -6
  177. package/dist/builtin/workflows/src/shared/authoring-contract-ui.ts +76 -11
  178. package/dist/builtin/workflows/src/shared/expanded-workflow-graph.ts +206 -116
  179. package/dist/builtin/workflows/src/shared/intercom-group.ts +17 -10
  180. package/dist/builtin/workflows/src/shared/persistence-restore-helpers.ts +30 -0
  181. package/dist/builtin/workflows/src/shared/persistence-session-entries.ts +5 -0
  182. package/dist/builtin/workflows/src/shared/render-inputs-schema.ts +3 -3
  183. package/dist/builtin/workflows/src/shared/store-factory.ts +2 -0
  184. package/dist/builtin/workflows/src/shared/store-internal.ts +8 -0
  185. package/dist/builtin/workflows/src/shared/store-public-types.ts +8 -0
  186. package/dist/builtin/workflows/src/shared/store-run-methods.ts +9 -0
  187. package/dist/builtin/workflows/src/shared/store-stage-methods.ts +2 -0
  188. package/dist/builtin/workflows/src/shared/store-tool-node-methods.ts +46 -0
  189. package/dist/builtin/workflows/src/shared/store-types.ts +34 -0
  190. package/dist/builtin/workflows/src/shared/types.ts +14 -24
  191. package/dist/builtin/workflows/src/shared/workflow-failures-classifier.ts +11 -5
  192. package/dist/builtin/workflows/src/shared/workflow-failures-signals.ts +58 -0
  193. package/dist/builtin/workflows/src/shared/workflow-run-ownership.ts +53 -0
  194. package/dist/builtin/workflows/src/tui/graph-view-input.ts +2 -8
  195. package/dist/builtin/workflows/src/tui/graph-view-render-helpers.ts +11 -4
  196. package/dist/builtin/workflows/src/tui/graph-view-render.ts +1 -0
  197. package/dist/builtin/workflows/src/tui/graph-view-state.ts +27 -9
  198. package/dist/builtin/workflows/src/tui/graph-view-types.ts +4 -3
  199. package/dist/builtin/workflows/src/tui/node-card.ts +4 -3
  200. package/dist/builtin/workflows/src/tui/overlay-adapter.ts +0 -4
  201. package/dist/builtin/workflows/src/tui/run-detail.ts +53 -17
  202. package/dist/builtin/workflows/src/tui/session-list.ts +8 -4
  203. package/dist/builtin/workflows/src/tui/stage-chat-view-render-helpers.ts +12 -0
  204. package/dist/builtin/workflows/src/tui/stage-chat-view-render-settings.ts +21 -1
  205. package/dist/builtin/workflows/src/tui/stage-chat-view-state.ts +3 -19
  206. package/dist/builtin/workflows/src/tui/stage-chat-view.ts +4 -2
  207. package/dist/builtin/workflows/src/tui/switcher.ts +13 -3
  208. package/dist/builtin/workflows/src/tui/workflow-attach-pane-handle.ts +1 -1
  209. package/dist/builtin/workflows/src/tui/workflow-attach-pane-types.ts +0 -9
  210. package/dist/builtin/workflows/src/tui/workflow-attach-pane.ts +16 -49
  211. package/dist/builtin/workflows/src/tui/workflow-status.ts +7 -0
  212. package/dist/builtin/workflows/src/workflows/identity.ts +1 -1
  213. package/dist/cli/args.d.ts +0 -1
  214. package/dist/cli/args.d.ts.map +1 -1
  215. package/dist/cli/args.js +1 -20
  216. package/dist/cli/args.js.map +1 -1
  217. package/dist/cli/config-selector.js +1 -1
  218. package/dist/cli/config-selector.js.map +1 -1
  219. package/dist/cli/list-models.d.ts.map +1 -1
  220. package/dist/cli/list-models.js +1 -2
  221. package/dist/cli/list-models.js.map +1 -1
  222. package/dist/cli/session-picker.d.ts.map +1 -1
  223. package/dist/cli/session-picker.js +2 -1
  224. package/dist/cli/session-picker.js.map +1 -1
  225. package/dist/cli/startup-ui.js +2 -2
  226. package/dist/cli/startup-ui.js.map +1 -1
  227. package/dist/config-self-update.js +1 -1
  228. package/dist/config-self-update.js.map +1 -1
  229. package/dist/config.d.ts +2 -0
  230. package/dist/config.d.ts.map +1 -1
  231. package/dist/config.js +34 -10
  232. package/dist/config.js.map +1 -1
  233. package/dist/core/agent-session-accessors.d.ts.map +1 -1
  234. package/dist/core/agent-session-accessors.js +2 -1
  235. package/dist/core/agent-session-accessors.js.map +1 -1
  236. package/dist/core/agent-session-auto-compaction.d.ts +4 -3
  237. package/dist/core/agent-session-auto-compaction.d.ts.map +1 -1
  238. package/dist/core/agent-session-auto-compaction.js +55 -59
  239. package/dist/core/agent-session-auto-compaction.js.map +1 -1
  240. package/dist/core/agent-session-bash.d.ts +9 -6
  241. package/dist/core/agent-session-bash.d.ts.map +1 -1
  242. package/dist/core/agent-session-bash.js +32 -13
  243. package/dist/core/agent-session-bash.js.map +1 -1
  244. package/dist/core/agent-session-compaction.d.ts +11 -1
  245. package/dist/core/agent-session-compaction.d.ts.map +1 -1
  246. package/dist/core/agent-session-compaction.js +87 -19
  247. package/dist/core/agent-session-compaction.js.map +1 -1
  248. package/dist/core/agent-session-custom-message-commit.d.ts +14 -0
  249. package/dist/core/agent-session-custom-message-commit.d.ts.map +1 -0
  250. package/dist/core/agent-session-custom-message-commit.js +141 -0
  251. package/dist/core/agent-session-custom-message-commit.js.map +1 -0
  252. package/dist/core/agent-session-delivery-forwarding.d.ts +9 -0
  253. package/dist/core/agent-session-delivery-forwarding.d.ts.map +1 -0
  254. package/dist/core/agent-session-delivery-forwarding.js +36 -0
  255. package/dist/core/agent-session-delivery-forwarding.js.map +1 -0
  256. package/dist/core/agent-session-events.d.ts +1 -1
  257. package/dist/core/agent-session-events.d.ts.map +1 -1
  258. package/dist/core/agent-session-events.js +45 -14
  259. package/dist/core/agent-session-events.js.map +1 -1
  260. package/dist/core/agent-session-extension-bindings.d.ts +2 -6
  261. package/dist/core/agent-session-extension-bindings.d.ts.map +1 -1
  262. package/dist/core/agent-session-extension-bindings.js +18 -11
  263. package/dist/core/agent-session-extension-bindings.js.map +1 -1
  264. package/dist/core/agent-session-message-queue.d.ts +5 -2
  265. package/dist/core/agent-session-message-queue.d.ts.map +1 -1
  266. package/dist/core/agent-session-message-queue.js +91 -97
  267. package/dist/core/agent-session-message-queue.js.map +1 -1
  268. package/dist/core/agent-session-methods.d.ts +47 -39
  269. package/dist/core/agent-session-methods.d.ts.map +1 -1
  270. package/dist/core/agent-session-methods.js.map +1 -1
  271. package/dist/core/agent-session-models.d.ts +2 -38
  272. package/dist/core/agent-session-models.d.ts.map +1 -1
  273. package/dist/core/agent-session-models.js +5 -147
  274. package/dist/core/agent-session-models.js.map +1 -1
  275. package/dist/core/agent-session-persistent-custom-messages.d.ts +47 -0
  276. package/dist/core/agent-session-persistent-custom-messages.d.ts.map +1 -0
  277. package/dist/core/agent-session-persistent-custom-messages.js +267 -0
  278. package/dist/core/agent-session-persistent-custom-messages.js.map +1 -0
  279. package/dist/core/agent-session-post-tool-compaction.d.ts.map +1 -1
  280. package/dist/core/agent-session-post-tool-compaction.js +34 -9
  281. package/dist/core/agent-session-post-tool-compaction.js.map +1 -1
  282. package/dist/core/agent-session-prompt.d.ts +2 -0
  283. package/dist/core/agent-session-prompt.d.ts.map +1 -1
  284. package/dist/core/agent-session-prompt.js +42 -16
  285. package/dist/core/agent-session-prompt.js.map +1 -1
  286. package/dist/core/agent-session-queue-pause.d.ts +10 -0
  287. package/dist/core/agent-session-queue-pause.d.ts.map +1 -0
  288. package/dist/core/agent-session-queue-pause.js +86 -0
  289. package/dist/core/agent-session-queue-pause.js.map +1 -0
  290. package/dist/core/agent-session-retry.d.ts +0 -11
  291. package/dist/core/agent-session-retry.d.ts.map +1 -1
  292. package/dist/core/agent-session-retry.js +8 -57
  293. package/dist/core/agent-session-retry.js.map +1 -1
  294. package/dist/core/agent-session-runtime-auth.d.ts +6 -0
  295. package/dist/core/agent-session-runtime-auth.d.ts.map +1 -0
  296. package/dist/core/agent-session-runtime-auth.js +26 -0
  297. package/dist/core/agent-session-runtime-auth.js.map +1 -0
  298. package/dist/core/agent-session-runtime.d.ts +13 -2
  299. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  300. package/dist/core/agent-session-runtime.js +32 -6
  301. package/dist/core/agent-session-runtime.js.map +1 -1
  302. package/dist/core/agent-session-services.d.ts +0 -2
  303. package/dist/core/agent-session-services.d.ts.map +1 -1
  304. package/dist/core/agent-session-services.js +6 -7
  305. package/dist/core/agent-session-services.js.map +1 -1
  306. package/dist/core/agent-session-state.d.ts.map +1 -1
  307. package/dist/core/agent-session-state.js +3 -0
  308. package/dist/core/agent-session-state.js.map +1 -1
  309. package/dist/core/agent-session-tool-hooks.d.ts.map +1 -1
  310. package/dist/core/agent-session-tool-hooks.js +6 -1
  311. package/dist/core/agent-session-tool-hooks.js.map +1 -1
  312. package/dist/core/agent-session-tool-registry.d.ts.map +1 -1
  313. package/dist/core/agent-session-tool-registry.js +2 -18
  314. package/dist/core/agent-session-tool-registry.js.map +1 -1
  315. package/dist/core/agent-session-transfer.d.ts +4 -0
  316. package/dist/core/agent-session-transfer.d.ts.map +1 -0
  317. package/dist/core/agent-session-transfer.js +71 -0
  318. package/dist/core/agent-session-transfer.js.map +1 -0
  319. package/dist/core/agent-session-tree.js +1 -1
  320. package/dist/core/agent-session-tree.js.map +1 -1
  321. package/dist/core/agent-session-types.d.ts +5 -11
  322. package/dist/core/agent-session-types.d.ts.map +1 -1
  323. package/dist/core/agent-session-types.js +0 -3
  324. package/dist/core/agent-session-types.js.map +1 -1
  325. package/dist/core/agent-session.d.ts +12 -2
  326. package/dist/core/agent-session.d.ts.map +1 -1
  327. package/dist/core/agent-session.js +8 -2
  328. package/dist/core/agent-session.js.map +1 -1
  329. package/dist/core/atomic-guide-command.d.ts.map +1 -1
  330. package/dist/core/atomic-guide-command.js +31 -33
  331. package/dist/core/atomic-guide-command.js.map +1 -1
  332. package/dist/core/auth-storage.js +2 -2
  333. package/dist/core/auth-storage.js.map +1 -1
  334. package/dist/core/bash-executor.d.ts +5 -3
  335. package/dist/core/bash-executor.d.ts.map +1 -1
  336. package/dist/core/bash-executor.js +5 -4
  337. package/dist/core/bash-executor.js.map +1 -1
  338. package/dist/core/builtin-packages.d.ts.map +1 -1
  339. package/dist/core/builtin-packages.js +0 -6
  340. package/dist/core/builtin-packages.js.map +1 -1
  341. package/dist/core/compaction/branch-summarization.d.ts +8 -3
  342. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  343. package/dist/core/compaction/branch-summarization.js +17 -6
  344. package/dist/core/compaction/branch-summarization.js.map +1 -1
  345. package/dist/core/compaction/compaction-boundary.d.ts +18 -1
  346. package/dist/core/compaction/compaction-boundary.d.ts.map +1 -1
  347. package/dist/core/compaction/compaction-boundary.js +2 -2
  348. package/dist/core/compaction/compaction-boundary.js.map +1 -1
  349. package/dist/core/compaction/compaction-runner.d.ts +61 -6
  350. package/dist/core/compaction/compaction-runner.d.ts.map +1 -1
  351. package/dist/core/compaction/compaction-runner.js +242 -18
  352. package/dist/core/compaction/compaction-runner.js.map +1 -1
  353. package/dist/core/compaction/compaction-types.d.ts +53 -2
  354. package/dist/core/compaction/compaction-types.d.ts.map +1 -1
  355. package/dist/core/compaction/compaction-types.js.map +1 -1
  356. package/dist/core/compaction/fallback-planner.d.ts +64 -0
  357. package/dist/core/compaction/fallback-planner.d.ts.map +1 -0
  358. package/dist/core/compaction/fallback-planner.js +75 -0
  359. package/dist/core/compaction/fallback-planner.js.map +1 -0
  360. package/dist/core/compaction/index.d.ts +3 -0
  361. package/dist/core/compaction/index.d.ts.map +1 -1
  362. package/dist/core/compaction/index.js +3 -0
  363. package/dist/core/compaction/index.js.map +1 -1
  364. package/dist/core/compaction/planner-outcome.d.ts +86 -0
  365. package/dist/core/compaction/planner-outcome.d.ts.map +1 -0
  366. package/dist/core/compaction/planner-outcome.js +122 -0
  367. package/dist/core/compaction/planner-outcome.js.map +1 -0
  368. package/dist/core/compaction/range-planner-diagnostics.d.ts +58 -6
  369. package/dist/core/compaction/range-planner-diagnostics.d.ts.map +1 -1
  370. package/dist/core/compaction/range-planner-diagnostics.js +69 -31
  371. package/dist/core/compaction/range-planner-diagnostics.js.map +1 -1
  372. package/dist/core/compaction/range-planner.d.ts +36 -8
  373. package/dist/core/compaction/range-planner.d.ts.map +1 -1
  374. package/dist/core/compaction/range-planner.js +136 -51
  375. package/dist/core/compaction/range-planner.js.map +1 -1
  376. package/dist/core/compaction/region-trimming.d.ts +34 -0
  377. package/dist/core/compaction/region-trimming.d.ts.map +1 -0
  378. package/dist/core/compaction/region-trimming.js +73 -0
  379. package/dist/core/compaction/region-trimming.js.map +1 -0
  380. package/dist/core/compaction/transcript-serialization.d.ts +8 -1
  381. package/dist/core/compaction/transcript-serialization.d.ts.map +1 -1
  382. package/dist/core/compaction/transcript-serialization.js +78 -27
  383. package/dist/core/compaction/transcript-serialization.js.map +1 -1
  384. package/dist/core/context-tool-pairing.d.ts +19 -0
  385. package/dist/core/context-tool-pairing.d.ts.map +1 -0
  386. package/dist/core/context-tool-pairing.js +50 -0
  387. package/dist/core/context-tool-pairing.js.map +1 -0
  388. package/dist/core/diagnostics.d.ts +8 -0
  389. package/dist/core/diagnostics.d.ts.map +1 -1
  390. package/dist/core/diagnostics.js.map +1 -1
  391. package/dist/core/extensions/context-types.d.ts +3 -0
  392. package/dist/core/extensions/context-types.d.ts.map +1 -1
  393. package/dist/core/extensions/context-types.js.map +1 -1
  394. package/dist/core/extensions/index.d.ts +2 -0
  395. package/dist/core/extensions/index.d.ts.map +1 -1
  396. package/dist/core/extensions/index.js.map +1 -1
  397. package/dist/core/extensions/loader-api.d.ts.map +1 -1
  398. package/dist/core/extensions/loader-api.js +48 -27
  399. package/dist/core/extensions/loader-api.js.map +1 -1
  400. package/dist/core/extensions/loader-runtime.d.ts +2 -4
  401. package/dist/core/extensions/loader-runtime.d.ts.map +1 -1
  402. package/dist/core/extensions/loader-runtime.js +199 -18
  403. package/dist/core/extensions/loader-runtime.js.map +1 -1
  404. package/dist/core/extensions/message-types.d.ts +7 -4
  405. package/dist/core/extensions/message-types.d.ts.map +1 -1
  406. package/dist/core/extensions/message-types.js.map +1 -1
  407. package/dist/core/extensions/provider-types.d.ts +9 -4
  408. package/dist/core/extensions/provider-types.d.ts.map +1 -1
  409. package/dist/core/extensions/provider-types.js.map +1 -1
  410. package/dist/core/extensions/runner-context.d.ts +2 -0
  411. package/dist/core/extensions/runner-context.d.ts.map +1 -1
  412. package/dist/core/extensions/runner-context.js +4 -0
  413. package/dist/core/extensions/runner-context.js.map +1 -1
  414. package/dist/core/extensions/runner.d.ts +1 -0
  415. package/dist/core/extensions/runner.d.ts.map +1 -1
  416. package/dist/core/extensions/runner.js +28 -20
  417. package/dist/core/extensions/runner.js.map +1 -1
  418. package/dist/core/extensions/runtime-types.d.ts +25 -0
  419. package/dist/core/extensions/runtime-types.d.ts.map +1 -1
  420. package/dist/core/extensions/runtime-types.js.map +1 -1
  421. package/dist/core/extensions/tool-types.d.ts +7 -3
  422. package/dist/core/extensions/tool-types.d.ts.map +1 -1
  423. package/dist/core/extensions/tool-types.js.map +1 -1
  424. package/dist/core/extensions/ui-types.d.ts +14 -4
  425. package/dist/core/extensions/ui-types.d.ts.map +1 -1
  426. package/dist/core/extensions/ui-types.js.map +1 -1
  427. package/dist/core/fallback-models.d.ts +37 -0
  428. package/dist/core/fallback-models.d.ts.map +1 -0
  429. package/dist/core/fallback-models.js +48 -0
  430. package/dist/core/fallback-models.js.map +1 -0
  431. package/dist/core/flattened-tool-arguments.d.ts +4 -7
  432. package/dist/core/flattened-tool-arguments.d.ts.map +1 -1
  433. package/dist/core/flattened-tool-arguments.js +4 -7
  434. package/dist/core/flattened-tool-arguments.js.map +1 -1
  435. package/dist/core/http-dispatcher.d.ts.map +1 -1
  436. package/dist/core/http-dispatcher.js +0 -5
  437. package/dist/core/http-dispatcher.js.map +1 -1
  438. package/dist/core/messages.d.ts +14 -2
  439. package/dist/core/messages.d.ts.map +1 -1
  440. package/dist/core/messages.js +28 -4
  441. package/dist/core/messages.js.map +1 -1
  442. package/dist/core/model-capabilities.d.ts +18 -0
  443. package/dist/core/model-capabilities.d.ts.map +1 -0
  444. package/dist/core/model-capabilities.js +23 -0
  445. package/dist/core/model-capabilities.js.map +1 -0
  446. package/dist/core/model-registry-auth.d.ts.map +1 -1
  447. package/dist/core/model-registry-auth.js +0 -2
  448. package/dist/core/model-registry-auth.js.map +1 -1
  449. package/dist/core/model-registry-builtins.d.ts +0 -2
  450. package/dist/core/model-registry-builtins.d.ts.map +1 -1
  451. package/dist/core/model-registry-builtins.js +9 -76
  452. package/dist/core/model-registry-builtins.js.map +1 -1
  453. package/dist/core/model-registry-custom-loader.d.ts.map +1 -1
  454. package/dist/core/model-registry-custom-loader.js +1 -12
  455. package/dist/core/model-registry-custom-loader.js.map +1 -1
  456. package/dist/core/model-registry-dynamic.d.ts.map +1 -1
  457. package/dist/core/model-registry-dynamic.js +3 -15
  458. package/dist/core/model-registry-dynamic.js.map +1 -1
  459. package/dist/core/model-registry-extension-refresh.d.ts +23 -0
  460. package/dist/core/model-registry-extension-refresh.d.ts.map +1 -0
  461. package/dist/core/model-registry-extension-refresh.js +32 -0
  462. package/dist/core/model-registry-extension-refresh.js.map +1 -0
  463. package/dist/core/model-registry-schemas.d.ts +118 -9
  464. package/dist/core/model-registry-schemas.d.ts.map +1 -1
  465. package/dist/core/model-registry-schemas.js +10 -3
  466. package/dist/core/model-registry-schemas.js.map +1 -1
  467. package/dist/core/model-registry-types.d.ts +5 -5
  468. package/dist/core/model-registry-types.d.ts.map +1 -1
  469. package/dist/core/model-registry-types.js.map +1 -1
  470. package/dist/core/model-registry-validation.d.ts +7 -0
  471. package/dist/core/model-registry-validation.d.ts.map +1 -0
  472. package/dist/core/model-registry-validation.js +12 -0
  473. package/dist/core/model-registry-validation.js.map +1 -0
  474. package/dist/core/model-registry.d.ts +5 -3
  475. package/dist/core/model-registry.d.ts.map +1 -1
  476. package/dist/core/model-registry.js +34 -33
  477. package/dist/core/model-registry.js.map +1 -1
  478. package/dist/core/model-resolver-defaults.d.ts.map +1 -1
  479. package/dist/core/model-resolver-defaults.js +0 -1
  480. package/dist/core/model-resolver-defaults.js.map +1 -1
  481. package/dist/core/model-resolver-initial.d.ts.map +1 -1
  482. package/dist/core/model-resolver-initial.js +9 -0
  483. package/dist/core/model-resolver-initial.js.map +1 -1
  484. package/dist/core/model-resolver-patterns.d.ts.map +1 -1
  485. package/dist/core/model-resolver-patterns.js +0 -2
  486. package/dist/core/model-resolver-patterns.js.map +1 -1
  487. package/dist/core/model-resolver-scope.d.ts +2 -0
  488. package/dist/core/model-resolver-scope.d.ts.map +1 -1
  489. package/dist/core/model-resolver-scope.js +18 -4
  490. package/dist/core/model-resolver-scope.js.map +1 -1
  491. package/dist/core/model-resolver-types.d.ts +2 -0
  492. package/dist/core/model-resolver-types.d.ts.map +1 -1
  493. package/dist/core/model-resolver-types.js.map +1 -1
  494. package/dist/core/oauth-provider-bridge.d.ts +21 -0
  495. package/dist/core/oauth-provider-bridge.d.ts.map +1 -1
  496. package/dist/core/oauth-provider-bridge.js +68 -7
  497. package/dist/core/oauth-provider-bridge.js.map +1 -1
  498. package/dist/core/package-manager-auto-resources.d.ts.map +1 -1
  499. package/dist/core/package-manager-auto-resources.js +12 -4
  500. package/dist/core/package-manager-auto-resources.js.map +1 -1
  501. package/dist/core/package-manager-resolver.d.ts.map +1 -1
  502. package/dist/core/package-manager-resolver.js +42 -11
  503. package/dist/core/package-manager-resolver.js.map +1 -1
  504. package/dist/core/package-manager-types.d.ts +2 -0
  505. package/dist/core/package-manager-types.d.ts.map +1 -1
  506. package/dist/core/package-manager-types.js.map +1 -1
  507. package/dist/core/package-manager.d.ts +1 -1
  508. package/dist/core/package-manager.d.ts.map +1 -1
  509. package/dist/core/package-manager.js.map +1 -1
  510. package/dist/core/remote-catalog-provider.d.ts +1 -1
  511. package/dist/core/remote-catalog-provider.d.ts.map +1 -1
  512. package/dist/core/remote-catalog-provider.js +17 -11
  513. package/dist/core/remote-catalog-provider.js.map +1 -1
  514. package/dist/core/resource-loader-assets.d.ts.map +1 -1
  515. package/dist/core/resource-loader-assets.js +30 -4
  516. package/dist/core/resource-loader-assets.js.map +1 -1
  517. package/dist/core/resource-loader-context-files.d.ts.map +1 -1
  518. package/dist/core/resource-loader-context-files.js +3 -1
  519. package/dist/core/resource-loader-context-files.js.map +1 -1
  520. package/dist/core/resource-loader-core.d.ts +2 -1
  521. package/dist/core/resource-loader-core.d.ts.map +1 -1
  522. package/dist/core/resource-loader-core.js +3 -0
  523. package/dist/core/resource-loader-core.js.map +1 -1
  524. package/dist/core/resource-loader-extensions.d.ts +1 -0
  525. package/dist/core/resource-loader-extensions.d.ts.map +1 -1
  526. package/dist/core/resource-loader-extensions.js +120 -7
  527. package/dist/core/resource-loader-extensions.js.map +1 -1
  528. package/dist/core/resource-loader-package-resources.d.ts.map +1 -1
  529. package/dist/core/resource-loader-package-resources.js +14 -1
  530. package/dist/core/resource-loader-package-resources.js.map +1 -1
  531. package/dist/core/resource-loader-reload.d.ts.map +1 -1
  532. package/dist/core/resource-loader-reload.js +2 -1
  533. package/dist/core/resource-loader-reload.js.map +1 -1
  534. package/dist/core/resource-loader-source-info.d.ts.map +1 -1
  535. package/dist/core/resource-loader-source-info.js +6 -3
  536. package/dist/core/resource-loader-source-info.js.map +1 -1
  537. package/dist/core/sdk-types.d.ts +11 -10
  538. package/dist/core/sdk-types.d.ts.map +1 -1
  539. package/dist/core/sdk-types.js.map +1 -1
  540. package/dist/core/sdk.d.ts +1 -0
  541. package/dist/core/sdk.d.ts.map +1 -1
  542. package/dist/core/sdk.js +13 -84
  543. package/dist/core/sdk.js.map +1 -1
  544. package/dist/core/session-manager-core.d.ts +3 -3
  545. package/dist/core/session-manager-core.d.ts.map +1 -1
  546. package/dist/core/session-manager-core.js +18 -25
  547. package/dist/core/session-manager-core.js.map +1 -1
  548. package/dist/core/session-manager-entries.d.ts +2 -5
  549. package/dist/core/session-manager-entries.d.ts.map +1 -1
  550. package/dist/core/session-manager-entries.js +2 -8
  551. package/dist/core/session-manager-entries.js.map +1 -1
  552. package/dist/core/session-manager-history.d.ts +3 -3
  553. package/dist/core/session-manager-history.d.ts.map +1 -1
  554. package/dist/core/session-manager-history.js +49 -27
  555. package/dist/core/session-manager-history.js.map +1 -1
  556. package/dist/core/session-manager-storage.d.ts +6 -0
  557. package/dist/core/session-manager-storage.d.ts.map +1 -1
  558. package/dist/core/session-manager-storage.js +38 -5
  559. package/dist/core/session-manager-storage.js.map +1 -1
  560. package/dist/core/session-manager-types.d.ts +6 -6
  561. package/dist/core/session-manager-types.d.ts.map +1 -1
  562. package/dist/core/session-manager-types.js.map +1 -1
  563. package/dist/core/session-manager.d.ts +1 -1
  564. package/dist/core/session-manager.d.ts.map +1 -1
  565. package/dist/core/session-manager.js.map +1 -1
  566. package/dist/core/settings-manager-basic-accessors.d.ts +0 -4
  567. package/dist/core/settings-manager-basic-accessors.d.ts.map +1 -1
  568. package/dist/core/settings-manager-basic-accessors.js +0 -50
  569. package/dist/core/settings-manager-basic-accessors.js.map +1 -1
  570. package/dist/core/settings-manager-core.d.ts +2 -4
  571. package/dist/core/settings-manager-core.d.ts.map +1 -1
  572. package/dist/core/settings-manager-core.js +5 -51
  573. package/dist/core/settings-manager-core.js.map +1 -1
  574. package/dist/core/settings-manager.d.ts +1 -1
  575. package/dist/core/settings-manager.d.ts.map +1 -1
  576. package/dist/core/settings-manager.js.map +1 -1
  577. package/dist/core/settings-storage.d.ts +3 -1
  578. package/dist/core/settings-storage.d.ts.map +1 -1
  579. package/dist/core/settings-storage.js +22 -0
  580. package/dist/core/settings-storage.js.map +1 -1
  581. package/dist/core/settings-types.d.ts +2 -4
  582. package/dist/core/settings-types.d.ts.map +1 -1
  583. package/dist/core/settings-types.js.map +1 -1
  584. package/dist/core/slash-commands.d.ts.map +1 -1
  585. package/dist/core/slash-commands.js +68 -22
  586. package/dist/core/slash-commands.js.map +1 -1
  587. package/dist/core/source-info.d.ts +3 -1
  588. package/dist/core/source-info.d.ts.map +1 -1
  589. package/dist/core/source-info.js +2 -0
  590. package/dist/core/source-info.js.map +1 -1
  591. package/dist/core/tools/ask-user-question/ask-user-question.js +1 -1
  592. package/dist/core/tools/ask-user-question/ask-user-question.js.map +1 -1
  593. package/dist/core/tools/bash-session-environment.d.ts +13 -0
  594. package/dist/core/tools/bash-session-environment.d.ts.map +1 -0
  595. package/dist/core/tools/bash-session-environment.js +35 -0
  596. package/dist/core/tools/bash-session-environment.js.map +1 -0
  597. package/dist/core/tools/bash.d.ts +4 -1
  598. package/dist/core/tools/bash.d.ts.map +1 -1
  599. package/dist/core/tools/bash.js +16 -8
  600. package/dist/core/tools/bash.js.map +1 -1
  601. package/dist/core/tools/tool-definition-wrapper.d.ts +3 -0
  602. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
  603. package/dist/core/tools/tool-definition-wrapper.js +10 -2
  604. package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
  605. package/dist/extensions/index.js +1 -1
  606. package/dist/extensions/index.js.map +1 -1
  607. package/dist/extensions/llama/provider.d.ts +3 -2
  608. package/dist/extensions/llama/provider.d.ts.map +1 -1
  609. package/dist/extensions/llama/provider.js +9 -3
  610. package/dist/extensions/llama/provider.js.map +1 -1
  611. package/dist/index-extensions.d.ts +1 -1
  612. package/dist/index-extensions.d.ts.map +1 -1
  613. package/dist/index-extensions.js.map +1 -1
  614. package/dist/index.d.ts +2 -3
  615. package/dist/index.d.ts.map +1 -1
  616. package/dist/index.js +1 -2
  617. package/dist/index.js.map +1 -1
  618. package/dist/main-session-options.d.ts.map +1 -1
  619. package/dist/main-session-options.js +0 -4
  620. package/dist/main-session-options.js.map +1 -1
  621. package/dist/main-session.d.ts.map +1 -1
  622. package/dist/main-session.js +2 -1
  623. package/dist/main-session.js.map +1 -1
  624. package/dist/main.d.ts.map +1 -1
  625. package/dist/main.js +1 -17
  626. package/dist/main.js.map +1 -1
  627. package/dist/modes/index.d.ts +1 -1
  628. package/dist/modes/index.d.ts.map +1 -1
  629. package/dist/modes/index.js.map +1 -1
  630. package/dist/modes/interactive/chat-input-actions.d.ts +1 -1
  631. package/dist/modes/interactive/chat-input-actions.d.ts.map +1 -1
  632. package/dist/modes/interactive/chat-input-actions.js +14 -96
  633. package/dist/modes/interactive/chat-input-actions.js.map +1 -1
  634. package/dist/modes/interactive/components/atomic-banner.d.ts +9 -8
  635. package/dist/modes/interactive/components/atomic-banner.d.ts.map +1 -1
  636. package/dist/modes/interactive/components/atomic-banner.js +68 -24
  637. package/dist/modes/interactive/components/atomic-banner.js.map +1 -1
  638. package/dist/modes/interactive/components/atomic-working-status.d.ts +52 -0
  639. package/dist/modes/interactive/components/atomic-working-status.d.ts.map +1 -0
  640. package/dist/modes/interactive/components/atomic-working-status.js +202 -0
  641. package/dist/modes/interactive/components/atomic-working-status.js.map +1 -0
  642. package/dist/modes/interactive/components/chat-message-renderer.js +1 -1
  643. package/dist/modes/interactive/components/chat-message-renderer.js.map +1 -1
  644. package/dist/modes/interactive/components/chat-session-host-actions.d.ts.map +1 -1
  645. package/dist/modes/interactive/components/chat-session-host-actions.js +99 -7
  646. package/dist/modes/interactive/components/chat-session-host-actions.js.map +1 -1
  647. package/dist/modes/interactive/components/chat-session-host-editor.js +3 -3
  648. package/dist/modes/interactive/components/chat-session-host-editor.js.map +1 -1
  649. package/dist/modes/interactive/components/chat-session-host-events.d.ts.map +1 -1
  650. package/dist/modes/interactive/components/chat-session-host-events.js +52 -9
  651. package/dist/modes/interactive/components/chat-session-host-events.js.map +1 -1
  652. package/dist/modes/interactive/components/chat-session-host-rendering.d.ts.map +1 -1
  653. package/dist/modes/interactive/components/chat-session-host-rendering.js +23 -7
  654. package/dist/modes/interactive/components/chat-session-host-rendering.js.map +1 -1
  655. package/dist/modes/interactive/components/chat-session-host-runtime.d.ts +2 -0
  656. package/dist/modes/interactive/components/chat-session-host-runtime.d.ts.map +1 -1
  657. package/dist/modes/interactive/components/chat-session-host-runtime.js +67 -18
  658. package/dist/modes/interactive/components/chat-session-host-runtime.js.map +1 -1
  659. package/dist/modes/interactive/components/chat-session-host-state.d.ts +9 -0
  660. package/dist/modes/interactive/components/chat-session-host-state.d.ts.map +1 -1
  661. package/dist/modes/interactive/components/chat-session-host-state.js +5 -0
  662. package/dist/modes/interactive/components/chat-session-host-state.js.map +1 -1
  663. package/dist/modes/interactive/components/chat-session-host-types.d.ts +10 -0
  664. package/dist/modes/interactive/components/chat-session-host-types.d.ts.map +1 -1
  665. package/dist/modes/interactive/components/chat-session-host-types.js.map +1 -1
  666. package/dist/modes/interactive/components/compaction-boundary-message.d.ts.map +1 -1
  667. package/dist/modes/interactive/components/compaction-boundary-message.js +2 -1
  668. package/dist/modes/interactive/components/compaction-boundary-message.js.map +1 -1
  669. package/dist/modes/interactive/components/custom-message.d.ts +3 -1
  670. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
  671. package/dist/modes/interactive/components/custom-message.js +9 -2
  672. package/dist/modes/interactive/components/custom-message.js.map +1 -1
  673. package/dist/modes/interactive/components/extension-editor.d.ts +3 -2
  674. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
  675. package/dist/modes/interactive/components/extension-editor.js +14 -43
  676. package/dist/modes/interactive/components/extension-editor.js.map +1 -1
  677. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
  678. package/dist/modes/interactive/components/scoped-models-selector.js +18 -13
  679. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  680. package/dist/modes/interactive/components/startup-identity.d.ts +22 -0
  681. package/dist/modes/interactive/components/startup-identity.d.ts.map +1 -0
  682. package/dist/modes/interactive/components/startup-identity.js +58 -0
  683. package/dist/modes/interactive/components/startup-identity.js.map +1 -0
  684. package/dist/modes/interactive/components/tree-selector-content.d.ts.map +1 -1
  685. package/dist/modes/interactive/components/tree-selector-content.js +0 -6
  686. package/dist/modes/interactive/components/tree-selector-content.js.map +1 -1
  687. package/dist/modes/interactive/components/tree-selector-model.d.ts.map +1 -1
  688. package/dist/modes/interactive/components/tree-selector-model.js +0 -1
  689. package/dist/modes/interactive/components/tree-selector-model.js.map +1 -1
  690. package/dist/modes/interactive/components/working-status.d.ts +5 -11
  691. package/dist/modes/interactive/components/working-status.d.ts.map +1 -1
  692. package/dist/modes/interactive/components/working-status.js +14 -15
  693. package/dist/modes/interactive/components/working-status.js.map +1 -1
  694. package/dist/modes/interactive/external-editor.d.ts +23 -0
  695. package/dist/modes/interactive/external-editor.d.ts.map +1 -0
  696. package/dist/modes/interactive/external-editor.js +120 -0
  697. package/dist/modes/interactive/external-editor.js.map +1 -0
  698. package/dist/modes/interactive/interactive-agent-events.js +25 -20
  699. package/dist/modes/interactive/interactive-agent-events.js.map +1 -1
  700. package/dist/modes/interactive/interactive-auth-login.js +16 -6
  701. package/dist/modes/interactive/interactive-auth-login.js.map +1 -1
  702. package/dist/modes/interactive/interactive-auth-routing.js +3 -0
  703. package/dist/modes/interactive/interactive-auth-routing.js.map +1 -1
  704. package/dist/modes/interactive/interactive-bash-compact.d.ts +2 -1
  705. package/dist/modes/interactive/interactive-bash-compact.d.ts.map +1 -1
  706. package/dist/modes/interactive/interactive-bash-compact.js +8 -0
  707. package/dist/modes/interactive/interactive-bash-compact.js.map +1 -1
  708. package/dist/modes/interactive/interactive-deferred-startup.d.ts.map +1 -1
  709. package/dist/modes/interactive/interactive-deferred-startup.js +49 -19
  710. package/dist/modes/interactive/interactive-deferred-startup.js.map +1 -1
  711. package/dist/modes/interactive/interactive-editor-actions.js +4 -3
  712. package/dist/modes/interactive/interactive-editor-actions.js.map +1 -1
  713. package/dist/modes/interactive/interactive-extension-dialogs.js +1 -1
  714. package/dist/modes/interactive/interactive-extension-dialogs.js.map +1 -1
  715. package/dist/modes/interactive/interactive-extension-runtime.js +3 -2
  716. package/dist/modes/interactive/interactive-extension-runtime.js.map +1 -1
  717. package/dist/modes/interactive/interactive-initial-session-binding.d.ts +4 -0
  718. package/dist/modes/interactive/interactive-initial-session-binding.d.ts.map +1 -0
  719. package/dist/modes/interactive/interactive-initial-session-binding.js +23 -0
  720. package/dist/modes/interactive/interactive-initial-session-binding.js.map +1 -0
  721. package/dist/modes/interactive/interactive-input-handling.d.ts +2 -1
  722. package/dist/modes/interactive/interactive-input-handling.d.ts.map +1 -1
  723. package/dist/modes/interactive/interactive-input-handling.js +27 -51
  724. package/dist/modes/interactive/interactive-input-handling.js.map +1 -1
  725. package/dist/modes/interactive/interactive-mode-base.d.ts +11 -7
  726. package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -1
  727. package/dist/modes/interactive/interactive-mode-base.js +14 -6
  728. package/dist/modes/interactive/interactive-mode-base.js.map +1 -1
  729. package/dist/modes/interactive/interactive-mode-deps.d.ts +2 -4
  730. package/dist/modes/interactive/interactive-mode-deps.d.ts.map +1 -1
  731. package/dist/modes/interactive/interactive-mode-deps.js +2 -4
  732. package/dist/modes/interactive/interactive-mode-deps.js.map +1 -1
  733. package/dist/modes/interactive/interactive-mode-surface.d.ts +9 -8
  734. package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -1
  735. package/dist/modes/interactive/interactive-mode-surface.js.map +1 -1
  736. package/dist/modes/interactive/interactive-mode.d.ts +1 -0
  737. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  738. package/dist/modes/interactive/interactive-mode.js +1 -0
  739. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  740. package/dist/modes/interactive/interactive-model-catalog-startup.d.ts +2 -3
  741. package/dist/modes/interactive/interactive-model-catalog-startup.d.ts.map +1 -1
  742. package/dist/modes/interactive/interactive-model-catalog-startup.js +3 -6
  743. package/dist/modes/interactive/interactive-model-catalog-startup.js.map +1 -1
  744. package/dist/modes/interactive/interactive-model-routing.js +26 -97
  745. package/dist/modes/interactive/interactive-model-routing.js.map +1 -1
  746. package/dist/modes/interactive/interactive-pause.d.ts +4 -0
  747. package/dist/modes/interactive/interactive-pause.d.ts.map +1 -0
  748. package/dist/modes/interactive/interactive-pause.js +8 -0
  749. package/dist/modes/interactive/interactive-pause.js.map +1 -0
  750. package/dist/modes/interactive/interactive-process-lifecycle.js +5 -4
  751. package/dist/modes/interactive/interactive-process-lifecycle.js.map +1 -1
  752. package/dist/modes/interactive/interactive-prompt-turn.d.ts +2 -0
  753. package/dist/modes/interactive/interactive-prompt-turn.d.ts.map +1 -0
  754. package/dist/modes/interactive/interactive-prompt-turn.js +41 -0
  755. package/dist/modes/interactive/interactive-prompt-turn.js.map +1 -0
  756. package/dist/modes/interactive/interactive-render-chat.js +20 -8
  757. package/dist/modes/interactive/interactive-render-chat.js.map +1 -1
  758. package/dist/modes/interactive/interactive-resource-paths.js +11 -2
  759. package/dist/modes/interactive/interactive-resource-paths.js.map +1 -1
  760. package/dist/modes/interactive/interactive-resource-rendering.js +99 -0
  761. package/dist/modes/interactive/interactive-resource-rendering.js.map +1 -1
  762. package/dist/modes/interactive/interactive-session-runtime.js +1 -1
  763. package/dist/modes/interactive/interactive-session-runtime.js.map +1 -1
  764. package/dist/modes/interactive/interactive-slash-commands.js +1 -1
  765. package/dist/modes/interactive/interactive-slash-commands.js.map +1 -1
  766. package/dist/modes/interactive/interactive-startup-chat-container.d.ts +20 -0
  767. package/dist/modes/interactive/interactive-startup-chat-container.d.ts.map +1 -0
  768. package/dist/modes/interactive/interactive-startup-chat-container.js +26 -0
  769. package/dist/modes/interactive/interactive-startup-chat-container.js.map +1 -0
  770. package/dist/modes/interactive/interactive-startup.d.ts +1 -1
  771. package/dist/modes/interactive/interactive-startup.d.ts.map +1 -1
  772. package/dist/modes/interactive/interactive-startup.js +30 -25
  773. package/dist/modes/interactive/interactive-startup.js.map +1 -1
  774. package/dist/modes/interactive/interactive-summarization-retry-events.d.ts.map +1 -1
  775. package/dist/modes/interactive/interactive-summarization-retry-events.js +9 -3
  776. package/dist/modes/interactive/interactive-summarization-retry-events.js.map +1 -1
  777. package/dist/modes/interactive/theme/catppuccin-frappe.json +1 -1
  778. package/dist/modes/interactive/theme/catppuccin-latte.json +1 -1
  779. package/dist/modes/interactive/theme/catppuccin-macchiato.json +1 -1
  780. package/dist/modes/interactive/theme/catppuccin-mocha.json +9 -1
  781. package/dist/modes/interactive/theme/dark.json +1 -1
  782. package/dist/modes/interactive/theme/light.json +1 -1
  783. package/dist/modes/interactive/theme/theme-class.d.ts +4 -0
  784. package/dist/modes/interactive/theme/theme-class.d.ts.map +1 -1
  785. package/dist/modes/interactive/theme/theme-class.js +7 -0
  786. package/dist/modes/interactive/theme/theme-class.js.map +1 -1
  787. package/dist/modes/interactive/theme/theme-loading.d.ts.map +1 -1
  788. package/dist/modes/interactive/theme/theme-loading.js +4 -0
  789. package/dist/modes/interactive/theme/theme-loading.js.map +1 -1
  790. package/dist/modes/interactive/theme/theme-schema.d.ts +32 -0
  791. package/dist/modes/interactive/theme/theme-schema.d.ts.map +1 -1
  792. package/dist/modes/interactive/theme/theme-schema.js +8 -0
  793. package/dist/modes/interactive/theme/theme-schema.js.map +1 -1
  794. package/dist/modes/interactive/theme/theme-schema.json +15 -2
  795. package/dist/modes/interactive/whimsical-messages.d.ts +1 -0
  796. package/dist/modes/interactive/whimsical-messages.d.ts.map +1 -1
  797. package/dist/modes/interactive/whimsical-messages.js +2 -2
  798. package/dist/modes/interactive/whimsical-messages.js.map +1 -1
  799. package/dist/modes/interactive-engine/create-isolated-runtime.d.ts.map +1 -1
  800. package/dist/modes/interactive-engine/create-isolated-runtime.js +3 -1
  801. package/dist/modes/interactive-engine/create-isolated-runtime.js.map +1 -1
  802. package/dist/modes/interactive-engine/engine-args.d.ts.map +1 -1
  803. package/dist/modes/interactive-engine/engine-args.js +0 -1
  804. package/dist/modes/interactive-engine/engine-args.js.map +1 -1
  805. package/dist/modes/interactive-engine/engine-custom-ui.d.ts.map +1 -1
  806. package/dist/modes/interactive-engine/engine-custom-ui.js +5 -17
  807. package/dist/modes/interactive-engine/engine-custom-ui.js.map +1 -1
  808. package/dist/modes/interactive-engine/engine-render-service.d.ts.map +1 -1
  809. package/dist/modes/interactive-engine/engine-render-service.js +8 -19
  810. package/dist/modes/interactive-engine/engine-render-service.js.map +1 -1
  811. package/dist/modes/interactive-engine/extension-ui-bridge.d.ts +2 -0
  812. package/dist/modes/interactive-engine/extension-ui-bridge.d.ts.map +1 -1
  813. package/dist/modes/interactive-engine/extension-ui-bridge.js +3 -0
  814. package/dist/modes/interactive-engine/extension-ui-bridge.js.map +1 -1
  815. package/dist/modes/interactive-engine/isolated-auth.d.ts +10 -0
  816. package/dist/modes/interactive-engine/isolated-auth.d.ts.map +1 -0
  817. package/dist/modes/interactive-engine/isolated-auth.js +14 -0
  818. package/dist/modes/interactive-engine/isolated-auth.js.map +1 -0
  819. package/dist/modes/interactive-engine/isolated-runtime.d.ts +9 -1
  820. package/dist/modes/interactive-engine/isolated-runtime.d.ts.map +1 -1
  821. package/dist/modes/interactive-engine/isolated-runtime.js +46 -34
  822. package/dist/modes/interactive-engine/isolated-runtime.js.map +1 -1
  823. package/dist/modes/interactive-engine/protocol.d.ts +1 -1
  824. package/dist/modes/interactive-engine/protocol.d.ts.map +1 -1
  825. package/dist/modes/interactive-engine/protocol.js +3 -10
  826. package/dist/modes/interactive-engine/protocol.js.map +1 -1
  827. package/dist/modes/interactive-engine/remote-model-catalog.d.ts +1 -0
  828. package/dist/modes/interactive-engine/remote-model-catalog.d.ts.map +1 -1
  829. package/dist/modes/interactive-engine/remote-model-catalog.js +10 -1
  830. package/dist/modes/interactive-engine/remote-model-catalog.js.map +1 -1
  831. package/dist/modes/interactive-engine/remote-queue-pause.d.ts +13 -0
  832. package/dist/modes/interactive-engine/remote-queue-pause.d.ts.map +1 -0
  833. package/dist/modes/interactive-engine/remote-queue-pause.js +38 -0
  834. package/dist/modes/interactive-engine/remote-queue-pause.js.map +1 -0
  835. package/dist/modes/interactive-engine/remote-renderer.d.ts +3 -1
  836. package/dist/modes/interactive-engine/remote-renderer.d.ts.map +1 -1
  837. package/dist/modes/interactive-engine/remote-renderer.js +4 -1
  838. package/dist/modes/interactive-engine/remote-renderer.js.map +1 -1
  839. package/dist/modes/print-mode.d.ts.map +1 -1
  840. package/dist/modes/print-mode.js +5 -0
  841. package/dist/modes/print-mode.js.map +1 -1
  842. package/dist/modes/rpc/jsonl.d.ts +2 -7
  843. package/dist/modes/rpc/jsonl.d.ts.map +1 -1
  844. package/dist/modes/rpc/jsonl.js +7 -24
  845. package/dist/modes/rpc/jsonl.js.map +1 -1
  846. package/dist/modes/rpc/queued-writer.d.ts +19 -0
  847. package/dist/modes/rpc/queued-writer.d.ts.map +1 -0
  848. package/dist/modes/rpc/{bounded-writer.js → queued-writer.js} +7 -30
  849. package/dist/modes/rpc/queued-writer.js.map +1 -0
  850. package/dist/modes/rpc/rpc-bash-request-owners.d.ts +24 -0
  851. package/dist/modes/rpc/rpc-bash-request-owners.d.ts.map +1 -0
  852. package/dist/modes/rpc/rpc-bash-request-owners.js +45 -0
  853. package/dist/modes/rpc/rpc-bash-request-owners.js.map +1 -0
  854. package/dist/modes/rpc/rpc-client-api.d.ts +8 -5
  855. package/dist/modes/rpc/rpc-client-api.d.ts.map +1 -1
  856. package/dist/modes/rpc/rpc-client-api.js +10 -11
  857. package/dist/modes/rpc/rpc-client-api.js.map +1 -1
  858. package/dist/modes/rpc/rpc-client-process.d.ts +1 -4
  859. package/dist/modes/rpc/rpc-client-process.d.ts.map +1 -1
  860. package/dist/modes/rpc/rpc-client-process.js +2 -14
  861. package/dist/modes/rpc/rpc-client-process.js.map +1 -1
  862. package/dist/modes/rpc/rpc-client.d.ts +8 -4
  863. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  864. package/dist/modes/rpc/rpc-client.js +21 -30
  865. package/dist/modes/rpc/rpc-client.js.map +1 -1
  866. package/dist/modes/rpc/rpc-command-handler.d.ts +7 -4
  867. package/dist/modes/rpc/rpc-command-handler.d.ts.map +1 -1
  868. package/dist/modes/rpc/rpc-command-handler.js +76 -93
  869. package/dist/modes/rpc/rpc-command-handler.js.map +1 -1
  870. package/dist/modes/rpc/rpc-input-scheduler.d.ts +3 -3
  871. package/dist/modes/rpc/rpc-input-scheduler.d.ts.map +1 -1
  872. package/dist/modes/rpc/rpc-input-scheduler.js +7 -4
  873. package/dist/modes/rpc/rpc-input-scheduler.js.map +1 -1
  874. package/dist/modes/rpc/rpc-mode.d.ts +1 -1
  875. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  876. package/dist/modes/rpc/rpc-mode.js +5 -5
  877. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  878. package/dist/modes/rpc/rpc-model-fallback-prompt.d.ts +4 -0
  879. package/dist/modes/rpc/rpc-model-fallback-prompt.d.ts.map +1 -0
  880. package/dist/modes/rpc/rpc-model-fallback-prompt.js +11 -0
  881. package/dist/modes/rpc/rpc-model-fallback-prompt.js.map +1 -0
  882. package/dist/modes/rpc/rpc-oauth-client.d.ts +22 -0
  883. package/dist/modes/rpc/rpc-oauth-client.d.ts.map +1 -0
  884. package/dist/modes/rpc/rpc-oauth-client.js +74 -0
  885. package/dist/modes/rpc/rpc-oauth-client.js.map +1 -0
  886. package/dist/modes/rpc/rpc-oauth-interaction.d.ts +9 -0
  887. package/dist/modes/rpc/rpc-oauth-interaction.d.ts.map +1 -0
  888. package/dist/modes/rpc/rpc-oauth-interaction.js +49 -0
  889. package/dist/modes/rpc/rpc-oauth-interaction.js.map +1 -0
  890. package/dist/modes/rpc/rpc-output-buffer.d.ts +2 -1
  891. package/dist/modes/rpc/rpc-output-buffer.d.ts.map +1 -1
  892. package/dist/modes/rpc/rpc-output-buffer.js +4 -39
  893. package/dist/modes/rpc/rpc-output-buffer.js.map +1 -1
  894. package/dist/modes/rpc/rpc-provider-auth.d.ts +23 -0
  895. package/dist/modes/rpc/rpc-provider-auth.d.ts.map +1 -0
  896. package/dist/modes/rpc/rpc-provider-auth.js +145 -0
  897. package/dist/modes/rpc/rpc-provider-auth.js.map +1 -0
  898. package/dist/modes/rpc/rpc-responses.d.ts +0 -1
  899. package/dist/modes/rpc/rpc-responses.d.ts.map +1 -1
  900. package/dist/modes/rpc/rpc-responses.js +0 -14
  901. package/dist/modes/rpc/rpc-responses.js.map +1 -1
  902. package/dist/modes/rpc/rpc-types.d.ts +83 -27
  903. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  904. package/dist/modes/rpc/rpc-types.js.map +1 -1
  905. package/dist/utils/clipboard.d.ts.map +1 -1
  906. package/dist/utils/clipboard.js +21 -8
  907. package/dist/utils/clipboard.js.map +1 -1
  908. package/dist/utils/version-check.d.ts.map +1 -1
  909. package/dist/utils/version-check.js +3 -1
  910. package/dist/utils/version-check.js.map +1 -1
  911. package/docs/changelog.mdx +12 -1
  912. package/docs/compaction.md +101 -18
  913. package/docs/custom-provider.md +13 -4
  914. package/docs/docs.json +1 -0
  915. package/docs/environment-variables.md +37 -0
  916. package/docs/extensions.md +45 -9
  917. package/docs/index.md +1 -0
  918. package/docs/intercom.md +1 -1
  919. package/docs/json.md +4 -4
  920. package/docs/keybindings.md +4 -2
  921. package/docs/llama-cpp.md +3 -1
  922. package/docs/models.md +29 -43
  923. package/docs/providers.md +18 -24
  924. package/docs/quickstart.md +19 -16
  925. package/docs/rpc.md +38 -85
  926. package/docs/sdk.md +15 -22
  927. package/docs/session-format.md +2 -15
  928. package/docs/sessions.md +1 -1
  929. package/docs/settings.md +10 -15
  930. package/docs/skills.md +8 -0
  931. package/docs/subagents.md +17 -9
  932. package/docs/themes.md +10 -1
  933. package/docs/tui.md +3 -3
  934. package/docs/usage.md +21 -2
  935. package/docs/windows.md +1 -1
  936. package/docs/workflows.md +1096 -518
  937. package/examples/extensions/README.md +1 -1
  938. package/examples/extensions/handoff.ts +8 -1
  939. package/examples/extensions/message-renderer.ts +2 -2
  940. package/examples/extensions/summarize.ts +3 -0
  941. package/examples/extensions/working-indicator.ts +2 -2
  942. package/npm-shrinkwrap.json +40 -46
  943. package/package.json +9 -7
  944. package/dist/builtin/cursor/CHANGELOG.md +0 -281
  945. package/dist/builtin/cursor/LICENSE +0 -26
  946. package/dist/builtin/cursor/README.md +0 -24
  947. package/dist/builtin/cursor/index.ts +0 -9
  948. package/dist/builtin/cursor/package.json +0 -47
  949. package/dist/builtin/cursor/src/auth.ts +0 -352
  950. package/dist/builtin/cursor/src/catalog-cache.ts +0 -155
  951. package/dist/builtin/cursor/src/config.ts +0 -123
  952. package/dist/builtin/cursor/src/conversation-state.ts +0 -135
  953. package/dist/builtin/cursor/src/cursor-models-raw.json +0 -412
  954. package/dist/builtin/cursor/src/model-mapper.ts +0 -369
  955. package/dist/builtin/cursor/src/model-reference.ts +0 -282
  956. package/dist/builtin/cursor/src/models.ts +0 -54
  957. package/dist/builtin/cursor/src/native-loader.ts +0 -71
  958. package/dist/builtin/cursor/src/proto/README.md +0 -34
  959. package/dist/builtin/cursor/src/proto/agent_pb.ts +0 -15294
  960. package/dist/builtin/cursor/src/proto/protobuf-codec-base64.ts +0 -22
  961. package/dist/builtin/cursor/src/proto/protobuf-codec-json.ts +0 -44
  962. package/dist/builtin/cursor/src/proto/protobuf-codec-request.ts +0 -311
  963. package/dist/builtin/cursor/src/proto/protobuf-codec-wire.ts +0 -248
  964. package/dist/builtin/cursor/src/proto/protobuf-codec.ts +0 -200
  965. package/dist/builtin/cursor/src/provider.ts +0 -301
  966. package/dist/builtin/cursor/src/stream.ts +0 -494
  967. package/dist/builtin/cursor/src/transport-errors.ts +0 -74
  968. package/dist/builtin/cursor/src/transport-frame.ts +0 -56
  969. package/dist/builtin/cursor/src/transport-http2.ts +0 -122
  970. package/dist/builtin/cursor/src/transport-native-client.ts +0 -161
  971. package/dist/builtin/cursor/src/transport-run-stream.ts +0 -188
  972. package/dist/builtin/cursor/src/transport-timeouts.ts +0 -87
  973. package/dist/builtin/cursor/src/transport-types.ts +0 -143
  974. package/dist/builtin/cursor/src/transport.ts +0 -26
  975. package/dist/builtin/workflows/builtin/deep-research-codebase-runner.ts +0 -492
  976. package/dist/builtin/workflows/builtin/deep-research-codebase-utils.ts +0 -383
  977. package/dist/builtin/workflows/builtin/deep-research-codebase.d.ts +0 -35
  978. package/dist/builtin/workflows/builtin/deep-research-codebase.ts +0 -47
  979. package/dist/builtin/workflows/skills/impeccable/scripts/hook-before-edit.mjs +0 -516
  980. package/dist/core/context-window.d.ts +0 -54
  981. package/dist/core/context-window.d.ts.map +0 -1
  982. package/dist/core/context-window.js +0 -110
  983. package/dist/core/context-window.js.map +0 -1
  984. package/dist/core/copilot-anthropic-sse-repair.d.ts +0 -23
  985. package/dist/core/copilot-anthropic-sse-repair.d.ts.map +0 -1
  986. package/dist/core/copilot-anthropic-sse-repair.js +0 -340
  987. package/dist/core/copilot-anthropic-sse-repair.js.map +0 -1
  988. package/dist/core/copilot-errors.d.ts +0 -9
  989. package/dist/core/copilot-errors.d.ts.map +0 -1
  990. package/dist/core/copilot-errors.js +0 -32
  991. package/dist/core/copilot-errors.js.map +0 -1
  992. package/dist/core/copilot-gemini-payload-sanitizer.d.ts +0 -72
  993. package/dist/core/copilot-gemini-payload-sanitizer.d.ts.map +0 -1
  994. package/dist/core/copilot-gemini-payload-sanitizer.js +0 -296
  995. package/dist/core/copilot-gemini-payload-sanitizer.js.map +0 -1
  996. package/dist/core/copilot-gemini-reasoning.d.ts +0 -126
  997. package/dist/core/copilot-gemini-reasoning.d.ts.map +0 -1
  998. package/dist/core/copilot-gemini-reasoning.js +0 -265
  999. package/dist/core/copilot-gemini-reasoning.js.map +0 -1
  1000. package/dist/core/copilot-gemini-tool-arguments.d.ts +0 -42
  1001. package/dist/core/copilot-gemini-tool-arguments.d.ts.map +0 -1
  1002. package/dist/core/copilot-gemini-tool-arguments.js +0 -159
  1003. package/dist/core/copilot-gemini-tool-arguments.js.map +0 -1
  1004. package/dist/core/copilot-hosts.d.ts +0 -12
  1005. package/dist/core/copilot-hosts.d.ts.map +0 -1
  1006. package/dist/core/copilot-hosts.js +0 -33
  1007. package/dist/core/copilot-hosts.js.map +0 -1
  1008. package/dist/core/copilot-model-catalog.d.ts +0 -114
  1009. package/dist/core/copilot-model-catalog.d.ts.map +0 -1
  1010. package/dist/core/copilot-model-catalog.js +0 -392
  1011. package/dist/core/copilot-model-catalog.js.map +0 -1
  1012. package/dist/core/copilot-model-static-fallbacks.d.ts +0 -43
  1013. package/dist/core/copilot-model-static-fallbacks.d.ts.map +0 -1
  1014. package/dist/core/copilot-model-static-fallbacks.js +0 -50
  1015. package/dist/core/copilot-model-static-fallbacks.js.map +0 -1
  1016. package/dist/core/copilot-model-synthesis.d.ts +0 -10
  1017. package/dist/core/copilot-model-synthesis.d.ts.map +0 -1
  1018. package/dist/core/copilot-model-synthesis.js +0 -91
  1019. package/dist/core/copilot-model-synthesis.js.map +0 -1
  1020. package/dist/modes/interactive/components/context-window-selector.d.ts +0 -53
  1021. package/dist/modes/interactive/components/context-window-selector.d.ts.map +0 -1
  1022. package/dist/modes/interactive/components/context-window-selector.js +0 -136
  1023. package/dist/modes/interactive/components/context-window-selector.js.map +0 -1
  1024. package/dist/modes/rpc/bounded-writer.d.ts +0 -27
  1025. package/dist/modes/rpc/bounded-writer.d.ts.map +0 -1
  1026. package/dist/modes/rpc/bounded-writer.js.map +0 -1
@@ -16,42 +16,33 @@
16
16
  */
17
17
 
18
18
  import { runCallback } from "@bastani/atomic";
19
- import type { WorkflowSerializableValue } from "../shared/types.js";
19
+ import { field, hasProcessFailureEvidence, normalizeCode } from "../shared/workflow-failures-signals.js";
20
+ import type { ToolNodeSnapshot } from "../shared/store-types.js";
21
+ import type {
22
+ WorkflowSerializableValue,
23
+ WorkflowToolOptions,
24
+ WorkflowToolOutcome,
25
+ WorkflowToolPrimitive,
26
+ } from "../shared/types.js";
20
27
  import type { DurableWorkflowBackend } from "./backend.js";
21
28
  import { durableHash } from "./backend.js";
22
- import type { DurableCheckpoint, DurableToolCheckpoint } from "./types.js";
29
+ import {
30
+ replayedWorkflowToolOutcome,
31
+ workflowToolFailure,
32
+ workflowToolOutcomeFromValue,
33
+ workflowToolSuccess,
34
+ } from "./tool-outcome.js";
35
+ import { recordThrowingToolFailure } from "./tool-failure-checkpoint.js";
36
+ import { DURABLE_TOOL_TOPOLOGY_VERSION, type DurableCheckpoint, type DurableStageRunTopology, type DurableToolCheckpoint } from "./types.js";
37
+ export type { WorkflowToolOptions, WorkflowToolPrimitive } from "../shared/types.js";
23
38
 
24
- /**
25
- * Options for `ctx.tool(name, args, fn)`.
26
- */
27
- export interface WorkflowToolOptions {
28
- /**
29
- * When true, the tool function is retried on failure with exponential
30
- * backoff. Defaults to false (matching DBOS step default).
31
- */
32
- readonly retriesAllowed?: boolean;
33
- /** Max retry attempts when retriesAllowed is true. Default 3. */
34
- readonly maxAttempts?: number;
35
- /** Initial retry interval in ms. Default 1000. */
36
- readonly intervalMs?: number;
37
- /** Backoff multiplier. Default 2. */
38
- readonly backoffRate?: number;
39
- }
39
+ type WorkflowToolInvocationResult<TValue extends WorkflowSerializableValue> =
40
+ | TValue
41
+ | WorkflowToolOutcome<TValue>;
40
42
 
41
- /**
42
- * The `ctx.tool` primitive type exposed on {@link WorkflowRunContext}.
43
- *
44
- * @param name Tool name (for display and checkpoint identity).
45
- * @param args Tool arguments (JSON-serializable; included in the content hash).
46
- * @param fn The async function to execute. Its return must be JSON-serializable.
47
- * @param options Retry configuration.
48
- */
49
- export type WorkflowToolPrimitive = <T extends WorkflowSerializableValue>(
50
- name: string,
51
- args: Readonly<Record<string, WorkflowSerializableValue>>,
52
- fn: () => Promise<T>,
53
- options?: WorkflowToolOptions,
54
- ) => Promise<T>;
43
+ export type WorkflowToolExecutionAdmission =
44
+ | { readonly accepted?: true; bindNode(nodeId: string): void }
45
+ | { readonly accepted: false; readonly error: Error; bindNode(nodeId: string): void };
55
46
 
56
47
  export interface CreateToolPrimitiveInput {
57
48
  readonly workflowId: string;
@@ -62,6 +53,16 @@ export interface CreateToolPrimitiveInput {
62
53
  readonly throwIfCancelled: () => void;
63
54
  /** Optional signal for aborting retry backoff sleeps. */
64
55
  readonly signal?: AbortSignal;
56
+ /** Track the final logical execution promise and bind it to its graph node. */
57
+ readonly trackExecution?: <T>(execution: Promise<T>) => WorkflowToolExecutionAdmission | void;
58
+ /** Observe a logical throwing-mode failure before graph publication or promise rejection. */
59
+ readonly onFailureObserved?: (error: unknown, nodeId: string) => void;
60
+ /** Admit/update a first-class graph node around the durable call. */
61
+ readonly onNodeStart?: (node: ToolNodeSnapshot) => void;
62
+ readonly onNodeRunning?: (nodeId: string, startedAt: number) => void;
63
+ readonly onNodeEnd?: (nodeId: string, update: Pick<ToolNodeSnapshot, "status"> & Partial<Pick<ToolNodeSnapshot, "endedAt" | "resultSummary" | "error">>) => void;
64
+ readonly onNodeSettle?: (nodeId: string) => void;
65
+ readonly runTopology?: DurableStageRunTopology;
65
66
  }
66
67
 
67
68
  /**
@@ -69,53 +70,360 @@ export interface CreateToolPrimitiveInput {
69
70
  */
70
71
  export function createToolPrimitive(input: CreateToolPrimitiveInput): WorkflowToolPrimitive {
71
72
  const ordinals = new Map<string, number>();
72
- return async <T extends WorkflowSerializableValue>(
73
+ return (<T extends WorkflowSerializableValue>(
73
74
  name: string,
74
75
  args: Readonly<Record<string, WorkflowSerializableValue>>,
75
76
  fn: () => Promise<T>,
76
77
  options?: WorkflowToolOptions,
77
- ): Promise<T> => {
78
- input.throwIfCancelled();
79
- const callKey = durableHash({ name, args });
80
- const ordinal = (ordinals.get(callKey) ?? 0) + 1;
81
- ordinals.set(callKey, ordinal);
82
- const argsHash = durableHash({ name, args, ordinal });
78
+ ): Promise<WorkflowToolInvocationResult<T>> => {
79
+ let resolveExecution!: (value: WorkflowToolInvocationResult<T> | PromiseLike<WorkflowToolInvocationResult<T>>) => void;
80
+ let rejectExecution!: (reason?: unknown) => void;
81
+ const execution = new Promise<WorkflowToolInvocationResult<T>>((resolve, reject) => {
82
+ resolveExecution = resolve;
83
+ rejectExecution = reject;
84
+ });
85
+ const admission = input.trackExecution?.(execution);
86
+ if (admission?.accepted === false) {
87
+ void execution.catch(() => undefined);
88
+ rejectExecution(admission.error);
89
+ return execution;
90
+ }
91
+ void executeToolInvocation(input, ordinals, name, args, fn, options, (nodeId) => admission?.bindNode(nodeId))
92
+ .then(resolveExecution, rejectExecution);
93
+ return execution;
94
+ }) as WorkflowToolPrimitive;
95
+ }
83
96
 
84
- // Check for cached result — completed side effects are not repeated.
85
- const cached = input.backend.getToolOutput(input.workflowId, argsHash);
86
- if (cached !== undefined) return cached as T;
97
+ async function executeToolInvocation<T extends WorkflowSerializableValue>(
98
+ input: CreateToolPrimitiveInput,
99
+ ordinals: Map<string, number>,
100
+ name: string,
101
+ args: Readonly<Record<string, WorkflowSerializableValue>>,
102
+ fn: () => Promise<T>,
103
+ options: WorkflowToolOptions | undefined,
104
+ bindNode: (nodeId: string) => void,
105
+ ): Promise<WorkflowToolInvocationResult<T>> {
106
+ input.throwIfCancelled();
107
+ if (options?.retriesAllowed === true && options.maxAttempts !== undefined
108
+ && (!Number.isInteger(options.maxAttempts) || options.maxAttempts < 1)) {
109
+ throw new RangeError("atomic-workflows: ctx.tool maxAttempts must be a positive integer");
110
+ }
111
+ const returnFailure = options?.failureMode === "return";
112
+ const identityMode = returnFailure ? { failureMode: "return" as const } : {};
113
+ const callKey = durableHash({ name, args, ...identityMode });
114
+ const ordinal = (ordinals.get(callKey) ?? 0) + 1;
115
+ ordinals.set(callKey, ordinal);
116
+ const argsHash = durableHash({ name, args, ordinal, ...identityMode });
87
117
 
88
- // Execute (with optional retries).
118
+ const cached = input.backend.getToolCheckpoint(input.workflowId, argsHash);
119
+ const node: ToolNodeSnapshot = {
120
+ kind: "tool",
121
+ id: cached?.topology?.nodeId ?? `tool:${argsHash}`,
122
+ name,
123
+ argsHash,
124
+ ordinal: cached?.topology?.ordinal ?? ordinal,
125
+ parentIds: Object.freeze(cached?.topology?.parentIds ?? []),
126
+ status: "pending",
127
+ ...(cached !== undefined && cached.topology === undefined ? { topologyState: "unavailable" as const } : {}),
128
+ ...(cached !== undefined ? { replayed: true } : {}),
129
+ ...(cached?.topology?.order !== undefined ? { executionOrder: cached.topology.order } : {}),
130
+ ...(cached?.topology?.startedAt !== undefined ? { startedAt: cached.topology.startedAt } : {}),
131
+ attachable: false,
132
+ };
133
+ bindNode(node.id);
134
+ input.onNodeStart?.(node);
135
+ if (cached !== undefined) {
136
+ const endedAt = cached.topology?.endedAt ?? cached.completedAt;
137
+ try {
138
+ await recordReplayedToolTopology(input, node, cached, argsHash, endedAt);
139
+ const returnedOutcome = cached.outcomeKind === undefined
140
+ ? undefined
141
+ : workflowToolOutcomeFromValue<T>(cached.output);
142
+ if (cached.outcomeKind !== undefined && returnedOutcome === undefined) {
143
+ throw new Error(`atomic-workflows: invalid durable return outcome for ctx.tool ${name}`);
144
+ }
145
+ const output = returnedOutcome === undefined
146
+ ? cached.output as T
147
+ : replayedWorkflowToolOutcome(returnedOutcome);
148
+ const failed = cached.outcomeKind === "return_failure";
149
+ input.onNodeEnd?.(node.id, {
150
+ status: failed ? "failed" : "cached",
151
+ endedAt,
152
+ ...(failed && returnedOutcome?.ok === false
153
+ ? { error: returnedOutcome.error.message }
154
+ : { resultSummary: summarizeToolResult(output) }),
155
+ });
156
+ input.onNodeSettle?.(node.id);
157
+ return output;
158
+ } catch (error) {
159
+ const status = input.signal?.aborted === true ? "cancelled" : "failed";
160
+ if (status === "failed") input.onFailureObserved?.(error, node.id);
161
+ input.onNodeEnd?.(node.id, { status, endedAt: Date.now(), error: error instanceof Error ? error.message : String(error) });
162
+ input.onNodeSettle?.(node.id);
163
+ throw error;
164
+ }
165
+ }
166
+ let callbackError: unknown;
167
+
168
+ const startedAt = Date.now();
169
+ let attempts = 0;
170
+ let callbackCompleted = false;
171
+ input.onNodeRunning?.(node.id, startedAt);
172
+ try {
89
173
  const result = await executeWithRetries(
90
- () => runCallback(
91
- { kind: "workflow.ctx_tool", name, runId: input.workflowId },
92
- fn,
93
- ),
174
+ () => {
175
+ attempts += 1;
176
+ return runCallback(
177
+ { kind: "workflow.ctx_tool", name, runId: input.workflowId },
178
+ fn,
179
+ ).catch((error: unknown) => {
180
+ callbackError = error;
181
+ throw error;
182
+ });
183
+ },
94
184
  options,
95
185
  input.throwIfCancelled,
96
186
  input.signal,
97
187
  );
188
+ callbackCompleted = true;
189
+ const output = returnFailure ? workflowToolSuccess(result, attempts, false) : result;
98
190
 
99
- // Re-check cancellation after the tool function resolves but BEFORE the
100
- // side-effect result is durably checkpointed/returned. A side effect that
101
- // completes concurrently with a cancellation must not be recorded as a
102
- // durable checkpoint that a resume would silently replay.
103
- // cross-ref: issue #1498.
191
+ // Linearization policy: cancellation observed before persistence prevents
192
+ // a checkpoint. Once the durable write begins, a successful commit wins
193
+ // for this node; the root still observes its aborted signal and is killed.
104
194
  input.throwIfCancelled();
105
-
106
- // Record the checkpoint durably.
195
+ const completedAt = Date.now();
107
196
  const checkpoint: DurableToolCheckpoint = {
108
197
  kind: "tool",
109
198
  workflowId: input.workflowId,
110
199
  checkpointId: `tool:${argsHash}`,
111
200
  name,
112
201
  argsHash,
113
- output: result,
114
- completedAt: Date.now(),
202
+ output,
203
+ ...(returnFailure ? { outcomeKind: "return_success" as const } : {}),
204
+ completedAt,
205
+ topology: {
206
+ version: DURABLE_TOOL_TOPOLOGY_VERSION,
207
+ nodeId: node.id,
208
+ ordinal,
209
+ order: node.executionOrder ?? 0,
210
+ parentIds: [...node.parentIds],
211
+ startedAt,
212
+ endedAt: completedAt,
213
+ ...(input.runTopology !== undefined ? { run: { ...input.runTopology } } : {}),
214
+ },
115
215
  };
116
216
  await recordCheckpointDurably(input.backend, checkpoint);
117
- return result;
118
- };
217
+ input.onNodeEnd?.(node.id, { status: "completed", endedAt: completedAt, resultSummary: summarizeToolResult(output) });
218
+ input.onNodeSettle?.(node.id);
219
+ return output;
220
+ } catch (error) {
221
+ try {
222
+ throwIfInvocationCancelled(input);
223
+ } catch (cancelledError) {
224
+ input.onNodeEnd?.(node.id, {
225
+ status: "cancelled",
226
+ endedAt: Date.now(),
227
+ error: cancelledError instanceof Error ? cancelledError.message : String(cancelledError),
228
+ });
229
+ input.onNodeSettle?.(node.id);
230
+ throw cancelledError;
231
+ }
232
+ const callbackFailure = callbackError ?? error;
233
+ if (returnFailure && !callbackCompleted && isExplicitCallbackCancellation(callbackFailure)) {
234
+ input.onFailureObserved?.(callbackFailure, node.id);
235
+ const failure = await recordThrowingToolFailure(
236
+ input,
237
+ node,
238
+ { name, argsHash, ordinal, startedAt },
239
+ callbackFailure,
240
+ attempts,
241
+ );
242
+ input.onNodeEnd?.(node.id, { status: "failed", endedAt: failure.failedAt, error: failure.message });
243
+ input.onNodeSettle?.(node.id);
244
+ throw callbackFailure;
245
+ }
246
+ if (returnFailure && !callbackCompleted) {
247
+ const outcome = workflowToolFailure(callbackFailure, attempts, false);
248
+ const completedAt = Date.now();
249
+ const checkpoint: DurableToolCheckpoint = {
250
+ kind: "tool",
251
+ workflowId: input.workflowId,
252
+ checkpointId: `tool:${argsHash}`,
253
+ name,
254
+ argsHash,
255
+ output: outcome,
256
+ outcomeKind: "return_failure",
257
+ completedAt,
258
+ topology: {
259
+ version: DURABLE_TOOL_TOPOLOGY_VERSION,
260
+ nodeId: node.id,
261
+ ordinal,
262
+ order: node.executionOrder ?? 0,
263
+ parentIds: [...node.parentIds],
264
+ startedAt,
265
+ endedAt: completedAt,
266
+ ...(input.runTopology !== undefined ? { run: { ...input.runTopology } } : {}),
267
+ },
268
+ };
269
+ try {
270
+ await recordCheckpointDurably(input.backend, checkpoint);
271
+ } catch (persistenceError) {
272
+ input.onFailureObserved?.(persistenceError, node.id);
273
+ input.onNodeEnd?.(node.id, {
274
+ status: "failed",
275
+ endedAt: Date.now(),
276
+ error: persistenceError instanceof Error ? persistenceError.message : String(persistenceError),
277
+ });
278
+ input.onNodeSettle?.(node.id);
279
+ throw persistenceError;
280
+ }
281
+ input.onNodeEnd?.(node.id, { status: "failed", endedAt: completedAt, error: outcome.error.message });
282
+ input.onNodeSettle?.(node.id);
283
+ throwIfInvocationCancelled(input);
284
+ return outcome;
285
+ }
286
+ input.onFailureObserved?.(error, node.id);
287
+ const failure = await recordThrowingToolFailure(
288
+ input,
289
+ node,
290
+ { name, argsHash, ordinal, startedAt },
291
+ error,
292
+ attempts,
293
+ );
294
+ input.onNodeEnd?.(node.id, { status: "failed", endedAt: failure.failedAt, error: failure.message });
295
+ input.onNodeSettle?.(node.id);
296
+ throw error;
297
+ }
298
+ }
299
+
300
+ function throwIfInvocationCancelled(input: CreateToolPrimitiveInput): void {
301
+ input.throwIfCancelled();
302
+ if (!input.signal?.aborted) return;
303
+ throw input.signal.reason instanceof Error
304
+ ? input.signal.reason
305
+ : new Error("atomic-workflows: workflow cancelled");
306
+ }
307
+
308
+ const CALLBACK_CANCELLATION_NAMES = new Set([
309
+ "aborterror",
310
+ "aborted",
311
+ "cancelederror",
312
+ "cancellederror",
313
+ "canceled",
314
+ "cancelled",
315
+ ]);
316
+ const CALLBACK_CANCELLATION_CODES = new Set([
317
+ "aborterror",
318
+ "abort_err",
319
+ "aborted",
320
+ "canceled",
321
+ "cancelled",
322
+ "ecanceled",
323
+ "ecancelled",
324
+ "err_canceled",
325
+ "err_cancelled",
326
+ ]);
327
+ const CALLBACK_CANCELLATION_STOP_REASONS = new Set(["aborted", "canceled", "cancelled"]);
328
+
329
+ function safeCancellationField(error: unknown, key: string): unknown {
330
+ try {
331
+ return field(error, key);
332
+ } catch {
333
+ return undefined;
334
+ }
335
+ }
336
+
337
+ function hasCancellationMarker(markers: ReadonlySet<string>, value: unknown): boolean {
338
+ return (typeof value === "string" || typeof value === "number")
339
+ && markers.has(normalizeCode(value) ?? "");
340
+ }
341
+
342
+ function isExplicitCallbackCancellation(error: unknown): boolean {
343
+ const seen = new Set<object>();
344
+ const pending: Array<{ readonly value: unknown; readonly depth: number }> = [{ value: error, depth: 0 }];
345
+ while (pending.length > 0) {
346
+ const current = pending.pop()!;
347
+ if (current.value === undefined || current.value === null || current.depth >= 8) continue;
348
+ if (typeof current.value === "object") {
349
+ if (seen.has(current.value)) continue;
350
+ seen.add(current.value);
351
+ }
352
+ const hasProcessFailure = hasProcessFailureEvidence(current.value);
353
+ if (!hasProcessFailure
354
+ && hasCancellationMarker(CALLBACK_CANCELLATION_NAMES, safeCancellationField(current.value, "name"))) return true;
355
+ if (!hasProcessFailure
356
+ && hasCancellationMarker(CALLBACK_CANCELLATION_STOP_REASONS, safeCancellationField(current.value, "stopReason"))) return true;
357
+ if (!hasProcessFailure
358
+ && hasCancellationMarker(CALLBACK_CANCELLATION_CODES, safeCancellationField(current.value, "code"))) return true;
359
+
360
+ for (const key of ["cause", "error", "response", "body"] as const) {
361
+ pending.push({ value: safeCancellationField(current.value, key), depth: current.depth + 1 });
362
+ }
363
+ for (const key of ["diagnostics", "errors"] as const) {
364
+ const entries = safeCancellationField(current.value, key);
365
+ if (!Array.isArray(entries)) continue;
366
+ for (const entry of entries) {
367
+ pending.push({
368
+ value: key === "diagnostics" ? safeCancellationField(entry, "error") ?? entry : entry,
369
+ depth: current.depth + 1,
370
+ });
371
+ }
372
+ }
373
+ }
374
+ return false;
375
+ }
376
+
377
+ async function recordReplayedToolTopology(
378
+ input: CreateToolPrimitiveInput,
379
+ node: ToolNodeSnapshot,
380
+ cached: DurableToolCheckpoint,
381
+ argsHash: string,
382
+ endedAt: number,
383
+ ): Promise<void> {
384
+ const runTopology = input.runTopology;
385
+ if (runTopology === undefined) return;
386
+ if (cached.topology === undefined && runTopology.parentRunId === undefined) return;
387
+ if (cached.topology?.run?.runId === runTopology.runId) return;
388
+ const topology = cached.topology === undefined
389
+ ? {
390
+ version: DURABLE_TOOL_TOPOLOGY_VERSION,
391
+ nodeId: node.id,
392
+ ordinal: node.ordinal,
393
+ order: node.executionOrder ?? 0,
394
+ parentIds: [...node.parentIds],
395
+ endedAt,
396
+ run: { ...runTopology },
397
+ }
398
+ : {
399
+ ...cached.topology,
400
+ parentIds: [...node.parentIds],
401
+ order: node.executionOrder ?? cached.topology.order,
402
+ endedAt,
403
+ run: { ...runTopology },
404
+ };
405
+ const unchanged = cached.topology !== undefined
406
+ && JSON.stringify(cached.topology.parentIds) === JSON.stringify(topology.parentIds)
407
+ && JSON.stringify(cached.topology.run) === JSON.stringify(topology.run)
408
+ && cached.topology.endedAt === topology.endedAt;
409
+ if (unchanged) return;
410
+ await input.backend.recordAdditiveCheckpointBestEffort({
411
+ kind: "tool",
412
+ workflowId: input.workflowId,
413
+ checkpointId: `tool-replay-meta:${durableHash({ argsHash, topology })}`,
414
+ name: node.name,
415
+ argsHash,
416
+ output: cached.output,
417
+ ...(cached.outcomeKind !== undefined ? { outcomeKind: cached.outcomeKind } : {}),
418
+ completedAt: Date.now(),
419
+ topology,
420
+ });
421
+ input.throwIfCancelled();
422
+ }
423
+ function summarizeToolResult(value: WorkflowSerializableValue): string {
424
+ const serialized = JSON.stringify(value);
425
+ if (serialized === undefined) return String(value).slice(0, 240);
426
+ return serialized.length <= 240 ? serialized : `${serialized.slice(0, 237)}...`;
119
427
  }
120
428
 
121
429
  export async function recordCheckpointDurably(backend: DurableWorkflowBackend, checkpoint: DurableCheckpoint): Promise<void> {
@@ -140,6 +448,7 @@ async function executeWithRetries<T>(
140
448
  try {
141
449
  return await fn();
142
450
  } catch (err) {
451
+ if (isExplicitCallbackCancellation(err)) throw err;
143
452
  lastError = err instanceof Error ? err : new Error(String(err));
144
453
  if (attempt < maxAttempts) {
145
454
  await sleepOrAbort(delay, signal);
@@ -9,6 +9,7 @@
9
9
  * cross-ref: issue #1498
10
10
  */
11
11
 
12
+ import type { WorkflowFailureCode, WorkflowFailureDisposition, WorkflowFailureKind, WorkflowFailureRecoverability } from "../shared/store-types.js";
12
13
  import type { WorkflowModelAttempt, WorkflowSerializableValue } from "../shared/types.js";
13
14
 
14
15
  // ---------------------------------------------------------------------------
@@ -52,6 +53,12 @@ export interface DurableWorkflowHandle {
52
53
  readonly rootWorkflowId?: string;
53
54
  /** Explicit resumability flag for failed/blocked runs. */
54
55
  readonly resumable?: boolean;
56
+ readonly error?: string;
57
+ readonly failureKind?: WorkflowFailureKind;
58
+ readonly failureCode?: WorkflowFailureCode;
59
+ readonly failureRecoverability?: WorkflowFailureRecoverability;
60
+ readonly failureDisposition?: WorkflowFailureDisposition;
61
+ readonly failedToolNodeId?: string;
55
62
  /** Executor id of the Atomic process that last wrote this workflow's metadata. */
56
63
  readonly ownerExecutorId?: string;
57
64
  }
@@ -77,6 +84,20 @@ export type DurableCheckpoint = DurableToolCheckpoint | DurableUiCheckpoint | Du
77
84
 
78
85
  export type DurableCheckpointKind = "tool" | "ui" | "stage";
79
86
 
87
+ export const DURABLE_TOOL_TOPOLOGY_VERSION = 1 as const;
88
+
89
+ export interface DurableToolTopology {
90
+ readonly version: typeof DURABLE_TOOL_TOPOLOGY_VERSION;
91
+ readonly nodeId: string;
92
+ readonly ordinal: number;
93
+ readonly order: number;
94
+ readonly parentIds: readonly string[];
95
+ readonly startedAt?: number;
96
+ /** Original terminal timestamp; replay metadata may be written later. */
97
+ readonly endedAt?: number;
98
+ readonly run?: DurableStageRunTopology;
99
+ }
100
+
80
101
  /** A `ctx.tool(...)` result cached durably. */
81
102
  export interface DurableToolCheckpoint {
82
103
  readonly kind: "tool";
@@ -89,7 +110,13 @@ export interface DurableToolCheckpoint {
89
110
  readonly argsHash: string;
90
111
  /** Cached tool output (JSON-serializable). */
91
112
  readonly output: WorkflowSerializableValue;
113
+ /** Explicit return-mode result kind; absent for legacy/default successful tools. */
114
+ readonly outcomeKind?: "return_success" | "return_failure";
115
+ /** Inspection-only error for a throwing-mode failure; never used as a replay cache hit. */
116
+ readonly throwingFailureError?: string;
92
117
  readonly completedAt: number;
118
+ /** Additive graph topology; omitted by pre-#1991 checkpoints. */
119
+ readonly topology?: DurableToolTopology;
93
120
  }
94
121
 
95
122
  /** A `ctx.ui.*` user response cached durably. */
@@ -110,6 +137,45 @@ export interface DurableUiCheckpoint {
110
137
 
111
138
  export const DURABLE_STAGE_TOPOLOGY_VERSION = 1 as const;
112
139
 
140
+ export const DURABLE_BOUNDARY_TOPOLOGY_VERSION = 1 as const;
141
+
142
+ export type DurableStageLifecycleStatus =
143
+ | "pending"
144
+ | "running"
145
+ | "awaiting_input"
146
+ | "paused"
147
+ | "blocked"
148
+ | "completed"
149
+ | "failed"
150
+ | "skipped";
151
+
152
+ export interface DurableBoundaryChildTopology {
153
+ readonly runId: string;
154
+ readonly runName: string;
155
+ readonly parentRunId: string;
156
+ readonly parentStageId: string;
157
+ readonly rootRunId: string;
158
+ }
159
+
160
+ interface DurableWorkflowBoundaryIdentity {
161
+ readonly version: typeof DURABLE_BOUNDARY_TOPOLOGY_VERSION;
162
+ readonly replayScope: string;
163
+ readonly alias: string;
164
+ readonly workflow: string;
165
+ /** Definition + exact validated inputs; absent only on compatible completed legacy records. */
166
+ readonly invocationFingerprint?: string;
167
+ readonly child: DurableBoundaryChildTopology;
168
+ }
169
+
170
+ /** Additive identity record written before a nested workflow can execute. */
171
+ export type DurableWorkflowBoundaryTopology = DurableWorkflowBoundaryIdentity & (
172
+ | { readonly event: "start"; readonly status: "running" }
173
+ | {
174
+ readonly event: "terminal";
175
+ readonly status: Extract<DurableStageLifecycleStatus, "completed" | "failed" | "skipped">;
176
+ }
177
+ );
178
+
113
179
  /** Durable ownership metadata needed to rebuild nested workflow runs. */
114
180
  export interface DurableStageRunTopology {
115
181
  readonly runId: string;
@@ -124,8 +190,18 @@ export interface DurableStageTopology {
124
190
  readonly version: typeof DURABLE_STAGE_TOPOLOGY_VERSION;
125
191
  readonly stageId: string;
126
192
  readonly parentIds: readonly string[];
193
+ /** Zero-based source/spawn order within the owning run. */
194
+ readonly sourceOrder?: number;
195
+ /** Distinguishes one durable prompt-node occurrence from its logical continuation replay key. */
196
+ readonly occurrenceKey?: string;
197
+ /** Actual stage lifecycle state represented by this checkpoint. */
198
+ readonly status?: DurableStageLifecycleStatus;
199
+ /** Shared admission order with durable tool nodes. */
200
+ readonly order?: number;
127
201
  /** Owning run and boundary linkage for nested workflow graph reconstruction. */
128
202
  readonly run?: DurableStageRunTopology;
203
+ /** Present only for durable nested-workflow boundary records. */
204
+ readonly boundary?: DurableWorkflowBoundaryTopology;
129
205
  }
130
206
 
131
207
  /** A `ctx.stage(...)` / `ctx.task(...)` durable checkpoint or resumable session marker. */
@@ -188,6 +264,12 @@ export interface DurableWorkflowMetadata {
188
264
  readonly transitionClaimId?: string;
189
265
  readonly sessionFile?: string;
190
266
  readonly label?: string;
267
+ readonly error?: string;
268
+ readonly failureKind?: WorkflowFailureKind;
269
+ readonly failureCode?: WorkflowFailureCode;
270
+ readonly failureRecoverability?: WorkflowFailureRecoverability;
271
+ readonly failureDisposition?: WorkflowFailureDisposition;
272
+ readonly failedToolNodeId?: string;
191
273
  readonly rootWorkflowId?: string;
192
274
  readonly resumable?: boolean;
193
275
  readonly invocationCwd?: string;
@@ -207,6 +289,12 @@ export interface ResumableWorkflowEntry {
207
289
  readonly pendingPrompts: number;
208
290
  readonly sessionFile?: string;
209
291
  readonly label?: string;
292
+ readonly error?: string;
293
+ readonly failureKind?: WorkflowFailureKind;
294
+ readonly failureCode?: WorkflowFailureCode;
295
+ readonly failureRecoverability?: WorkflowFailureRecoverability;
296
+ readonly failureDisposition?: WorkflowFailureDisposition;
297
+ readonly failedToolNodeId?: string;
210
298
  readonly rootWorkflowId?: string;
211
299
  readonly resumable?: boolean;
212
300
  readonly invocationCwd?: string;
@@ -216,3 +304,12 @@ export interface ResumableWorkflowEntry {
216
304
  readonly createdAt: number;
217
305
  readonly updatedAt: number;
218
306
  }
307
+
308
+ export interface DurableWorkflowFailureMetadata {
309
+ readonly error: string;
310
+ readonly failureKind?: WorkflowFailureKind;
311
+ readonly failureCode?: WorkflowFailureCode;
312
+ readonly failureRecoverability?: WorkflowFailureRecoverability;
313
+ readonly failureDisposition?: WorkflowFailureDisposition;
314
+ readonly failedToolNodeId?: string;
315
+ }