@bastani/atomic 0.9.11-alpha.4 → 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 (1032) hide show
  1. package/CHANGELOG.md +55 -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 +19 -0
  11. package/dist/builtin/subagents/README.md +10 -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 +29 -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/skills/subagent/SKILL.md +6 -6
  30. package/dist/builtin/subagents/src/extension/prompt-guidance.ts +4 -1
  31. package/dist/builtin/subagents/src/runs/background/async-execution-chain.ts +23 -4
  32. package/dist/builtin/subagents/src/runs/background/async-execution-single.ts +2 -0
  33. package/dist/builtin/subagents/src/runs/background/async-execution-types.ts +10 -0
  34. package/dist/builtin/subagents/src/runs/background/subagent-runner-step.ts +1 -0
  35. package/dist/builtin/subagents/src/runs/foreground/chain-execution-dynamic-step.ts +2 -0
  36. package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-runner.ts +8 -0
  37. package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-step.ts +1 -0
  38. package/dist/builtin/subagents/src/runs/foreground/chain-execution-sequential-step.ts +6 -0
  39. package/dist/builtin/subagents/src/runs/foreground/chain-execution-types.ts +2 -0
  40. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-async.ts +7 -0
  41. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-chain.ts +1 -0
  42. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-resume.ts +3 -0
  43. package/dist/builtin/subagents/src/runs/shared/mcp-direct-tool-allowlist.ts +1 -2
  44. package/dist/builtin/subagents/src/runs/shared/parallel-utils.ts +1 -0
  45. package/dist/builtin/subagents/src/runs/shared/pi-args.ts +5 -3
  46. package/dist/builtin/subagents/src/shared/settings.ts +4 -0
  47. package/dist/builtin/web-access/package.json +2 -2
  48. package/dist/builtin/workflows/CHANGELOG.md +53 -0
  49. package/dist/builtin/workflows/README.md +72 -70
  50. package/dist/builtin/workflows/ambient.d.ts +0 -5
  51. package/dist/builtin/workflows/builtin/adversarial-verification-prompts.ts +7 -4
  52. package/dist/builtin/workflows/builtin/adversarial-verification-runner.ts +1 -1
  53. package/dist/builtin/workflows/builtin/adversarial-verification.ts +2 -1
  54. package/dist/builtin/workflows/builtin/classify-and-act-prompts.ts +5 -2
  55. package/dist/builtin/workflows/builtin/classify-and-act-runner.ts +5 -7
  56. package/dist/builtin/workflows/builtin/classify-and-act.ts +3 -2
  57. package/dist/builtin/workflows/builtin/fan-out-and-synthesize-prompts.ts +6 -3
  58. package/dist/builtin/workflows/builtin/fan-out-and-synthesize-runner.ts +5 -5
  59. package/dist/builtin/workflows/builtin/fan-out-and-synthesize.ts +3 -2
  60. package/dist/builtin/workflows/builtin/generate-and-filter-prompts.ts +7 -4
  61. package/dist/builtin/workflows/builtin/generate-and-filter-runner.ts +6 -3
  62. package/dist/builtin/workflows/builtin/generate-and-filter.ts +3 -2
  63. package/dist/builtin/workflows/builtin/goal-artifacts.ts +1 -1
  64. package/dist/builtin/workflows/builtin/goal-models.ts +39 -39
  65. package/dist/builtin/workflows/builtin/goal-orchestrator-prompts.ts +94 -0
  66. package/dist/builtin/workflows/builtin/goal-prompts.ts +66 -286
  67. package/dist/builtin/workflows/builtin/goal-reducer.ts +1 -1
  68. package/dist/builtin/workflows/builtin/goal-runner.ts +72 -116
  69. package/dist/builtin/workflows/builtin/goal.ts +9 -8
  70. package/dist/builtin/workflows/builtin/index.d.ts +17 -112
  71. package/dist/builtin/workflows/builtin/index.ts +1 -2
  72. package/dist/builtin/workflows/builtin/loop-until-done-prompts.ts +20 -12
  73. package/dist/builtin/workflows/builtin/loop-until-done-runner.ts +3 -0
  74. package/dist/builtin/workflows/builtin/loop-until-done.ts +3 -2
  75. package/dist/builtin/workflows/builtin/open-claude-design-phases.ts +52 -55
  76. package/dist/builtin/workflows/builtin/open-claude-design-runner.ts +45 -52
  77. package/dist/builtin/workflows/builtin/open-claude-design-setup.ts +41 -46
  78. package/dist/builtin/workflows/builtin/open-claude-design-utils.ts +16 -21
  79. package/dist/builtin/workflows/builtin/open-claude-design.ts +2 -1
  80. package/dist/builtin/workflows/builtin/ralph-core.ts +61 -57
  81. package/dist/builtin/workflows/builtin/ralph-forked-prompts.ts +41 -45
  82. package/dist/builtin/workflows/builtin/ralph-models.ts +33 -43
  83. package/dist/builtin/workflows/builtin/ralph-reviewer-prompt.ts +35 -117
  84. package/dist/builtin/workflows/builtin/ralph-runner.ts +81 -108
  85. package/dist/builtin/workflows/builtin/ralph.ts +2 -1
  86. package/dist/builtin/workflows/builtin/shared-prompts.ts +111 -80
  87. package/dist/builtin/workflows/builtin/steering-context.ts +51 -0
  88. package/dist/builtin/workflows/builtin/tournament-prompts.ts +21 -12
  89. package/dist/builtin/workflows/builtin/tournament-runner.ts +3 -0
  90. package/dist/builtin/workflows/builtin/tournament.ts +3 -2
  91. package/dist/builtin/workflows/package.json +2 -2
  92. package/dist/builtin/workflows/skills/create-spec/SKILL.md +1 -1
  93. package/dist/builtin/workflows/skills/impeccable/reference/hooks.md +6 -8
  94. package/dist/builtin/workflows/skills/impeccable/reference/live.md +3 -4
  95. package/dist/builtin/workflows/skills/impeccable/scripts/hook-admin.mjs +2 -20
  96. package/dist/builtin/workflows/skills/impeccable/scripts/hook-lib.mjs +4 -42
  97. package/dist/builtin/workflows/skills/impeccable/scripts/hook.mjs +3 -3
  98. package/dist/builtin/workflows/skills/impeccable/scripts/live-browser.js +2 -3
  99. package/dist/builtin/workflows/skills/impeccable/scripts/live-inject.mjs +0 -1
  100. package/dist/builtin/workflows/skills/impeccable/scripts/live-poll.mjs +2 -2
  101. package/dist/builtin/workflows/skills/impeccable/scripts/pin.mjs +4 -4
  102. package/dist/builtin/workflows/skills/prompt-engineer/SKILL.md +57 -252
  103. package/dist/builtin/workflows/skills/prompt-engineer/references/advanced_patterns.md +70 -226
  104. package/dist/builtin/workflows/skills/prompt-engineer/references/core_prompting.md +64 -103
  105. package/dist/builtin/workflows/skills/prompt-engineer/references/quality_improvement.md +81 -155
  106. package/dist/builtin/workflows/src/authoring.d.ts +5 -1
  107. package/dist/builtin/workflows/src/durable/backend.ts +68 -9
  108. package/dist/builtin/workflows/src/durable/boundary-lifecycle.ts +148 -0
  109. package/dist/builtin/workflows/src/durable/boundary-topology.ts +420 -0
  110. package/dist/builtin/workflows/src/durable/child-invocation.ts +14 -0
  111. package/dist/builtin/workflows/src/durable/child-primitive.ts +74 -44
  112. package/dist/builtin/workflows/src/durable/completed-catalog-stage-groups.ts +250 -0
  113. package/dist/builtin/workflows/src/durable/completed-catalog.ts +205 -131
  114. package/dist/builtin/workflows/src/durable/completed-inspection.ts +8 -2
  115. package/dist/builtin/workflows/src/durable/completed-subtree.ts +31 -0
  116. package/dist/builtin/workflows/src/durable/dbos-backend.ts +28 -24
  117. package/dist/builtin/workflows/src/durable/dbos-envelope.ts +130 -3
  118. package/dist/builtin/workflows/src/durable/dbos-metadata.ts +18 -0
  119. package/dist/builtin/workflows/src/durable/scoped-backend.ts +64 -17
  120. package/dist/builtin/workflows/src/durable/stage-primitive.ts +60 -60
  121. package/dist/builtin/workflows/src/durable/stage-topology-validation.ts +234 -0
  122. package/dist/builtin/workflows/src/durable/stage-topology.ts +53 -0
  123. package/dist/builtin/workflows/src/durable/tool-failure-checkpoint.ts +49 -0
  124. package/dist/builtin/workflows/src/durable/tool-outcome.ts +120 -0
  125. package/dist/builtin/workflows/src/durable/tool-primitive.ts +367 -58
  126. package/dist/builtin/workflows/src/durable/types.ts +97 -0
  127. package/dist/builtin/workflows/src/durable/ui-primitive.ts +46 -0
  128. package/dist/builtin/workflows/src/durable/workflow-child-result.ts +58 -0
  129. package/dist/builtin/workflows/src/engine/options.ts +1 -0
  130. package/dist/builtin/workflows/src/engine/primitives/workflow.ts +19 -10
  131. package/dist/builtin/workflows/src/engine/run-durable-finalize.ts +11 -1
  132. package/dist/builtin/workflows/src/engine/run-durable-topology.ts +190 -18
  133. package/dist/builtin/workflows/src/engine/run-terminal-event.ts +37 -0
  134. package/dist/builtin/workflows/src/engine/run-terminal-failure.ts +50 -0
  135. package/dist/builtin/workflows/src/engine/run-tool-execution-tracker.ts +152 -0
  136. package/dist/builtin/workflows/src/engine/run-tool-node-lifecycle.ts +87 -0
  137. package/dist/builtin/workflows/src/engine/run.ts +111 -110
  138. package/dist/builtin/workflows/src/engine/runtime.ts +15 -2
  139. package/dist/builtin/workflows/src/extension/extension-factory.ts +1 -0
  140. package/dist/builtin/workflows/src/extension/extension-runtime-state.ts +11 -0
  141. package/dist/builtin/workflows/src/extension/index.bundle.mjs +6599 -4776
  142. package/dist/builtin/workflows/src/extension/lifecycle-notifications.ts +16 -5
  143. package/dist/builtin/workflows/src/extension/render-result.ts +16 -2
  144. package/dist/builtin/workflows/src/extension/runtime-durable-resume.ts +3 -0
  145. package/dist/builtin/workflows/src/extension/runtime.ts +4 -0
  146. package/dist/builtin/workflows/src/extension/wiring.ts +3 -1
  147. package/dist/builtin/workflows/src/extension/workflow-command-surfaces.ts +1 -0
  148. package/dist/builtin/workflows/src/extension/workflow-durable-resume-command.ts +9 -3
  149. package/dist/builtin/workflows/src/extension/workflow-module-loader.ts +18 -3
  150. package/dist/builtin/workflows/src/extension/workflow-prompts.ts +27 -9
  151. package/dist/builtin/workflows/src/extension/workflow-status-summary.ts +43 -0
  152. package/dist/builtin/workflows/src/extension/workflow-targets.ts +34 -30
  153. package/dist/builtin/workflows/src/extension/workflow-tool-content.ts +12 -5
  154. package/dist/builtin/workflows/src/extension/workflow-tool-send.ts +162 -63
  155. package/dist/builtin/workflows/src/runs/background/run-inspect.ts +7 -1
  156. package/dist/builtin/workflows/src/runs/background/status.ts +18 -8
  157. package/dist/builtin/workflows/src/runs/background/workflow-lifecycle-aggregate.ts +3 -11
  158. package/dist/builtin/workflows/src/runs/foreground/executor-child-boundary.ts +24 -21
  159. package/dist/builtin/workflows/src/runs/foreground/executor-hil.ts +1 -1
  160. package/dist/builtin/workflows/src/runs/foreground/executor-lifecycle.ts +30 -13
  161. package/dist/builtin/workflows/src/runs/foreground/executor-prompt-nodes.ts +102 -53
  162. package/dist/builtin/workflows/src/runs/foreground/executor-stage-call.ts +13 -5
  163. package/dist/builtin/workflows/src/runs/foreground/executor-stage-control.ts +26 -8
  164. package/dist/builtin/workflows/src/runs/foreground/executor-stage-factory.ts +11 -4
  165. package/dist/builtin/workflows/src/runs/foreground/executor-stage-types.ts +4 -1
  166. package/dist/builtin/workflows/src/runs/foreground/executor-types.ts +7 -1
  167. package/dist/builtin/workflows/src/runs/foreground/postmortem-stage-chat.ts +35 -1
  168. package/dist/builtin/workflows/src/runs/foreground/stage-control-registry.ts +136 -17
  169. package/dist/builtin/workflows/src/runs/foreground/stage-runner-context.ts +12 -4
  170. package/dist/builtin/workflows/src/runs/foreground/stage-runner-controller.ts +35 -42
  171. package/dist/builtin/workflows/src/runs/foreground/stage-runner-options.ts +5 -1
  172. package/dist/builtin/workflows/src/runs/foreground/stage-runner-pause.ts +195 -0
  173. package/dist/builtin/workflows/src/runs/foreground/stage-runner-session-options.ts +0 -13
  174. package/dist/builtin/workflows/src/runs/foreground/stage-runner-types.ts +14 -2
  175. package/dist/builtin/workflows/src/runs/shared/model-fallback-candidates.ts +3 -143
  176. package/dist/builtin/workflows/src/sdk-surface.ts +1 -1
  177. package/dist/builtin/workflows/src/shared/authoring-contract-stage.d.ts +6 -11
  178. package/dist/builtin/workflows/src/shared/authoring-contract-stage.ts +6 -11
  179. package/dist/builtin/workflows/src/shared/authoring-contract-ui.d.ts +57 -6
  180. package/dist/builtin/workflows/src/shared/authoring-contract-ui.ts +76 -11
  181. package/dist/builtin/workflows/src/shared/expanded-workflow-graph.ts +206 -116
  182. package/dist/builtin/workflows/src/shared/intercom-group.ts +17 -10
  183. package/dist/builtin/workflows/src/shared/persistence-restore-helpers.ts +30 -0
  184. package/dist/builtin/workflows/src/shared/persistence-session-entries.ts +5 -0
  185. package/dist/builtin/workflows/src/shared/render-inputs-schema.ts +3 -3
  186. package/dist/builtin/workflows/src/shared/store-factory.ts +2 -0
  187. package/dist/builtin/workflows/src/shared/store-internal.ts +8 -0
  188. package/dist/builtin/workflows/src/shared/store-public-types.ts +8 -0
  189. package/dist/builtin/workflows/src/shared/store-run-methods.ts +9 -0
  190. package/dist/builtin/workflows/src/shared/store-stage-methods.ts +2 -0
  191. package/dist/builtin/workflows/src/shared/store-tool-node-methods.ts +46 -0
  192. package/dist/builtin/workflows/src/shared/store-types.ts +34 -0
  193. package/dist/builtin/workflows/src/shared/types.ts +14 -24
  194. package/dist/builtin/workflows/src/shared/workflow-failures-classifier.ts +11 -5
  195. package/dist/builtin/workflows/src/shared/workflow-failures-signals.ts +58 -0
  196. package/dist/builtin/workflows/src/shared/workflow-run-ownership.ts +53 -0
  197. package/dist/builtin/workflows/src/tui/graph-view-input.ts +2 -8
  198. package/dist/builtin/workflows/src/tui/graph-view-render-helpers.ts +11 -4
  199. package/dist/builtin/workflows/src/tui/graph-view-render.ts +1 -0
  200. package/dist/builtin/workflows/src/tui/graph-view-state.ts +27 -9
  201. package/dist/builtin/workflows/src/tui/graph-view-types.ts +4 -3
  202. package/dist/builtin/workflows/src/tui/node-card.ts +4 -3
  203. package/dist/builtin/workflows/src/tui/overlay-adapter.ts +0 -4
  204. package/dist/builtin/workflows/src/tui/run-detail.ts +53 -17
  205. package/dist/builtin/workflows/src/tui/session-list.ts +8 -4
  206. package/dist/builtin/workflows/src/tui/stage-chat-view-render-helpers.ts +12 -0
  207. package/dist/builtin/workflows/src/tui/stage-chat-view-render-settings.ts +21 -1
  208. package/dist/builtin/workflows/src/tui/stage-chat-view-state.ts +3 -19
  209. package/dist/builtin/workflows/src/tui/stage-chat-view.ts +4 -2
  210. package/dist/builtin/workflows/src/tui/switcher.ts +13 -3
  211. package/dist/builtin/workflows/src/tui/workflow-attach-pane-handle.ts +1 -1
  212. package/dist/builtin/workflows/src/tui/workflow-attach-pane-types.ts +0 -9
  213. package/dist/builtin/workflows/src/tui/workflow-attach-pane.ts +16 -49
  214. package/dist/builtin/workflows/src/tui/workflow-status.ts +7 -0
  215. package/dist/builtin/workflows/src/workflows/identity.ts +1 -1
  216. package/dist/cli/args.d.ts +0 -1
  217. package/dist/cli/args.d.ts.map +1 -1
  218. package/dist/cli/args.js +1 -20
  219. package/dist/cli/args.js.map +1 -1
  220. package/dist/cli/config-selector.js +1 -1
  221. package/dist/cli/config-selector.js.map +1 -1
  222. package/dist/cli/list-models.d.ts.map +1 -1
  223. package/dist/cli/list-models.js +1 -2
  224. package/dist/cli/list-models.js.map +1 -1
  225. package/dist/cli/session-picker.d.ts.map +1 -1
  226. package/dist/cli/session-picker.js +2 -1
  227. package/dist/cli/session-picker.js.map +1 -1
  228. package/dist/cli/startup-ui.js +2 -2
  229. package/dist/cli/startup-ui.js.map +1 -1
  230. package/dist/config-self-update.js +1 -1
  231. package/dist/config-self-update.js.map +1 -1
  232. package/dist/config.d.ts +2 -0
  233. package/dist/config.d.ts.map +1 -1
  234. package/dist/config.js +34 -10
  235. package/dist/config.js.map +1 -1
  236. package/dist/core/agent-session-accessors.d.ts.map +1 -1
  237. package/dist/core/agent-session-accessors.js +2 -1
  238. package/dist/core/agent-session-accessors.js.map +1 -1
  239. package/dist/core/agent-session-auto-compaction.d.ts +4 -3
  240. package/dist/core/agent-session-auto-compaction.d.ts.map +1 -1
  241. package/dist/core/agent-session-auto-compaction.js +55 -59
  242. package/dist/core/agent-session-auto-compaction.js.map +1 -1
  243. package/dist/core/agent-session-bash.d.ts +9 -6
  244. package/dist/core/agent-session-bash.d.ts.map +1 -1
  245. package/dist/core/agent-session-bash.js +32 -13
  246. package/dist/core/agent-session-bash.js.map +1 -1
  247. package/dist/core/agent-session-compaction.d.ts +11 -1
  248. package/dist/core/agent-session-compaction.d.ts.map +1 -1
  249. package/dist/core/agent-session-compaction.js +87 -19
  250. package/dist/core/agent-session-compaction.js.map +1 -1
  251. package/dist/core/agent-session-custom-message-commit.d.ts +14 -0
  252. package/dist/core/agent-session-custom-message-commit.d.ts.map +1 -0
  253. package/dist/core/agent-session-custom-message-commit.js +141 -0
  254. package/dist/core/agent-session-custom-message-commit.js.map +1 -0
  255. package/dist/core/agent-session-delivery-forwarding.d.ts +9 -0
  256. package/dist/core/agent-session-delivery-forwarding.d.ts.map +1 -0
  257. package/dist/core/agent-session-delivery-forwarding.js +36 -0
  258. package/dist/core/agent-session-delivery-forwarding.js.map +1 -0
  259. package/dist/core/agent-session-events.d.ts +1 -1
  260. package/dist/core/agent-session-events.d.ts.map +1 -1
  261. package/dist/core/agent-session-events.js +45 -14
  262. package/dist/core/agent-session-events.js.map +1 -1
  263. package/dist/core/agent-session-extension-bindings.d.ts +2 -6
  264. package/dist/core/agent-session-extension-bindings.d.ts.map +1 -1
  265. package/dist/core/agent-session-extension-bindings.js +18 -11
  266. package/dist/core/agent-session-extension-bindings.js.map +1 -1
  267. package/dist/core/agent-session-message-queue.d.ts +5 -2
  268. package/dist/core/agent-session-message-queue.d.ts.map +1 -1
  269. package/dist/core/agent-session-message-queue.js +91 -97
  270. package/dist/core/agent-session-message-queue.js.map +1 -1
  271. package/dist/core/agent-session-methods.d.ts +47 -39
  272. package/dist/core/agent-session-methods.d.ts.map +1 -1
  273. package/dist/core/agent-session-methods.js.map +1 -1
  274. package/dist/core/agent-session-models.d.ts +2 -38
  275. package/dist/core/agent-session-models.d.ts.map +1 -1
  276. package/dist/core/agent-session-models.js +5 -147
  277. package/dist/core/agent-session-models.js.map +1 -1
  278. package/dist/core/agent-session-persistent-custom-messages.d.ts +47 -0
  279. package/dist/core/agent-session-persistent-custom-messages.d.ts.map +1 -0
  280. package/dist/core/agent-session-persistent-custom-messages.js +267 -0
  281. package/dist/core/agent-session-persistent-custom-messages.js.map +1 -0
  282. package/dist/core/agent-session-post-tool-compaction.d.ts.map +1 -1
  283. package/dist/core/agent-session-post-tool-compaction.js +34 -9
  284. package/dist/core/agent-session-post-tool-compaction.js.map +1 -1
  285. package/dist/core/agent-session-prompt.d.ts +2 -0
  286. package/dist/core/agent-session-prompt.d.ts.map +1 -1
  287. package/dist/core/agent-session-prompt.js +42 -16
  288. package/dist/core/agent-session-prompt.js.map +1 -1
  289. package/dist/core/agent-session-queue-pause.d.ts +10 -0
  290. package/dist/core/agent-session-queue-pause.d.ts.map +1 -0
  291. package/dist/core/agent-session-queue-pause.js +86 -0
  292. package/dist/core/agent-session-queue-pause.js.map +1 -0
  293. package/dist/core/agent-session-retry.d.ts +0 -11
  294. package/dist/core/agent-session-retry.d.ts.map +1 -1
  295. package/dist/core/agent-session-retry.js +8 -57
  296. package/dist/core/agent-session-retry.js.map +1 -1
  297. package/dist/core/agent-session-runtime-auth.d.ts +6 -0
  298. package/dist/core/agent-session-runtime-auth.d.ts.map +1 -0
  299. package/dist/core/agent-session-runtime-auth.js +26 -0
  300. package/dist/core/agent-session-runtime-auth.js.map +1 -0
  301. package/dist/core/agent-session-runtime.d.ts +13 -2
  302. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  303. package/dist/core/agent-session-runtime.js +32 -6
  304. package/dist/core/agent-session-runtime.js.map +1 -1
  305. package/dist/core/agent-session-services.d.ts +0 -2
  306. package/dist/core/agent-session-services.d.ts.map +1 -1
  307. package/dist/core/agent-session-services.js +6 -7
  308. package/dist/core/agent-session-services.js.map +1 -1
  309. package/dist/core/agent-session-state.d.ts.map +1 -1
  310. package/dist/core/agent-session-state.js +3 -0
  311. package/dist/core/agent-session-state.js.map +1 -1
  312. package/dist/core/agent-session-tool-hooks.d.ts.map +1 -1
  313. package/dist/core/agent-session-tool-hooks.js +6 -1
  314. package/dist/core/agent-session-tool-hooks.js.map +1 -1
  315. package/dist/core/agent-session-tool-registry.d.ts.map +1 -1
  316. package/dist/core/agent-session-tool-registry.js +2 -18
  317. package/dist/core/agent-session-tool-registry.js.map +1 -1
  318. package/dist/core/agent-session-transfer.d.ts +4 -0
  319. package/dist/core/agent-session-transfer.d.ts.map +1 -0
  320. package/dist/core/agent-session-transfer.js +71 -0
  321. package/dist/core/agent-session-transfer.js.map +1 -0
  322. package/dist/core/agent-session-tree.js +1 -1
  323. package/dist/core/agent-session-tree.js.map +1 -1
  324. package/dist/core/agent-session-types.d.ts +5 -11
  325. package/dist/core/agent-session-types.d.ts.map +1 -1
  326. package/dist/core/agent-session-types.js +0 -3
  327. package/dist/core/agent-session-types.js.map +1 -1
  328. package/dist/core/agent-session.d.ts +12 -2
  329. package/dist/core/agent-session.d.ts.map +1 -1
  330. package/dist/core/agent-session.js +8 -2
  331. package/dist/core/agent-session.js.map +1 -1
  332. package/dist/core/atomic-guide-command.d.ts.map +1 -1
  333. package/dist/core/atomic-guide-command.js +31 -33
  334. package/dist/core/atomic-guide-command.js.map +1 -1
  335. package/dist/core/auth-storage.js +2 -2
  336. package/dist/core/auth-storage.js.map +1 -1
  337. package/dist/core/bash-executor.d.ts +5 -3
  338. package/dist/core/bash-executor.d.ts.map +1 -1
  339. package/dist/core/bash-executor.js +5 -4
  340. package/dist/core/bash-executor.js.map +1 -1
  341. package/dist/core/builtin-packages.d.ts.map +1 -1
  342. package/dist/core/builtin-packages.js +0 -6
  343. package/dist/core/builtin-packages.js.map +1 -1
  344. package/dist/core/compaction/branch-summarization.d.ts +8 -3
  345. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  346. package/dist/core/compaction/branch-summarization.js +17 -6
  347. package/dist/core/compaction/branch-summarization.js.map +1 -1
  348. package/dist/core/compaction/compaction-boundary.d.ts +18 -1
  349. package/dist/core/compaction/compaction-boundary.d.ts.map +1 -1
  350. package/dist/core/compaction/compaction-boundary.js +2 -2
  351. package/dist/core/compaction/compaction-boundary.js.map +1 -1
  352. package/dist/core/compaction/compaction-runner.d.ts +61 -6
  353. package/dist/core/compaction/compaction-runner.d.ts.map +1 -1
  354. package/dist/core/compaction/compaction-runner.js +242 -18
  355. package/dist/core/compaction/compaction-runner.js.map +1 -1
  356. package/dist/core/compaction/compaction-types.d.ts +53 -2
  357. package/dist/core/compaction/compaction-types.d.ts.map +1 -1
  358. package/dist/core/compaction/compaction-types.js.map +1 -1
  359. package/dist/core/compaction/fallback-planner.d.ts +64 -0
  360. package/dist/core/compaction/fallback-planner.d.ts.map +1 -0
  361. package/dist/core/compaction/fallback-planner.js +75 -0
  362. package/dist/core/compaction/fallback-planner.js.map +1 -0
  363. package/dist/core/compaction/index.d.ts +3 -0
  364. package/dist/core/compaction/index.d.ts.map +1 -1
  365. package/dist/core/compaction/index.js +3 -0
  366. package/dist/core/compaction/index.js.map +1 -1
  367. package/dist/core/compaction/planner-outcome.d.ts +86 -0
  368. package/dist/core/compaction/planner-outcome.d.ts.map +1 -0
  369. package/dist/core/compaction/planner-outcome.js +122 -0
  370. package/dist/core/compaction/planner-outcome.js.map +1 -0
  371. package/dist/core/compaction/range-planner-diagnostics.d.ts +58 -6
  372. package/dist/core/compaction/range-planner-diagnostics.d.ts.map +1 -1
  373. package/dist/core/compaction/range-planner-diagnostics.js +69 -31
  374. package/dist/core/compaction/range-planner-diagnostics.js.map +1 -1
  375. package/dist/core/compaction/range-planner.d.ts +36 -8
  376. package/dist/core/compaction/range-planner.d.ts.map +1 -1
  377. package/dist/core/compaction/range-planner.js +136 -51
  378. package/dist/core/compaction/range-planner.js.map +1 -1
  379. package/dist/core/compaction/region-trimming.d.ts +34 -0
  380. package/dist/core/compaction/region-trimming.d.ts.map +1 -0
  381. package/dist/core/compaction/region-trimming.js +73 -0
  382. package/dist/core/compaction/region-trimming.js.map +1 -0
  383. package/dist/core/compaction/transcript-serialization.d.ts +8 -1
  384. package/dist/core/compaction/transcript-serialization.d.ts.map +1 -1
  385. package/dist/core/compaction/transcript-serialization.js +78 -27
  386. package/dist/core/compaction/transcript-serialization.js.map +1 -1
  387. package/dist/core/context-tool-pairing.d.ts +19 -0
  388. package/dist/core/context-tool-pairing.d.ts.map +1 -0
  389. package/dist/core/context-tool-pairing.js +50 -0
  390. package/dist/core/context-tool-pairing.js.map +1 -0
  391. package/dist/core/diagnostics.d.ts +8 -0
  392. package/dist/core/diagnostics.d.ts.map +1 -1
  393. package/dist/core/diagnostics.js.map +1 -1
  394. package/dist/core/extensions/context-types.d.ts +3 -0
  395. package/dist/core/extensions/context-types.d.ts.map +1 -1
  396. package/dist/core/extensions/context-types.js.map +1 -1
  397. package/dist/core/extensions/index.d.ts +2 -0
  398. package/dist/core/extensions/index.d.ts.map +1 -1
  399. package/dist/core/extensions/index.js.map +1 -1
  400. package/dist/core/extensions/loader-api.d.ts.map +1 -1
  401. package/dist/core/extensions/loader-api.js +48 -27
  402. package/dist/core/extensions/loader-api.js.map +1 -1
  403. package/dist/core/extensions/loader-runtime.d.ts +2 -4
  404. package/dist/core/extensions/loader-runtime.d.ts.map +1 -1
  405. package/dist/core/extensions/loader-runtime.js +199 -18
  406. package/dist/core/extensions/loader-runtime.js.map +1 -1
  407. package/dist/core/extensions/message-types.d.ts +7 -4
  408. package/dist/core/extensions/message-types.d.ts.map +1 -1
  409. package/dist/core/extensions/message-types.js.map +1 -1
  410. package/dist/core/extensions/provider-types.d.ts +9 -4
  411. package/dist/core/extensions/provider-types.d.ts.map +1 -1
  412. package/dist/core/extensions/provider-types.js.map +1 -1
  413. package/dist/core/extensions/runner-context.d.ts +2 -0
  414. package/dist/core/extensions/runner-context.d.ts.map +1 -1
  415. package/dist/core/extensions/runner-context.js +4 -0
  416. package/dist/core/extensions/runner-context.js.map +1 -1
  417. package/dist/core/extensions/runner.d.ts +1 -0
  418. package/dist/core/extensions/runner.d.ts.map +1 -1
  419. package/dist/core/extensions/runner.js +28 -20
  420. package/dist/core/extensions/runner.js.map +1 -1
  421. package/dist/core/extensions/runtime-types.d.ts +25 -0
  422. package/dist/core/extensions/runtime-types.d.ts.map +1 -1
  423. package/dist/core/extensions/runtime-types.js.map +1 -1
  424. package/dist/core/extensions/tool-types.d.ts +7 -3
  425. package/dist/core/extensions/tool-types.d.ts.map +1 -1
  426. package/dist/core/extensions/tool-types.js.map +1 -1
  427. package/dist/core/extensions/ui-types.d.ts +14 -4
  428. package/dist/core/extensions/ui-types.d.ts.map +1 -1
  429. package/dist/core/extensions/ui-types.js.map +1 -1
  430. package/dist/core/fallback-models.d.ts +37 -0
  431. package/dist/core/fallback-models.d.ts.map +1 -0
  432. package/dist/core/fallback-models.js +48 -0
  433. package/dist/core/fallback-models.js.map +1 -0
  434. package/dist/core/flattened-tool-arguments.d.ts +4 -7
  435. package/dist/core/flattened-tool-arguments.d.ts.map +1 -1
  436. package/dist/core/flattened-tool-arguments.js +4 -7
  437. package/dist/core/flattened-tool-arguments.js.map +1 -1
  438. package/dist/core/http-dispatcher.d.ts.map +1 -1
  439. package/dist/core/http-dispatcher.js +0 -5
  440. package/dist/core/http-dispatcher.js.map +1 -1
  441. package/dist/core/messages.d.ts +14 -2
  442. package/dist/core/messages.d.ts.map +1 -1
  443. package/dist/core/messages.js +28 -4
  444. package/dist/core/messages.js.map +1 -1
  445. package/dist/core/model-capabilities.d.ts +18 -0
  446. package/dist/core/model-capabilities.d.ts.map +1 -0
  447. package/dist/core/model-capabilities.js +23 -0
  448. package/dist/core/model-capabilities.js.map +1 -0
  449. package/dist/core/model-registry-auth.d.ts.map +1 -1
  450. package/dist/core/model-registry-auth.js +0 -2
  451. package/dist/core/model-registry-auth.js.map +1 -1
  452. package/dist/core/model-registry-builtins.d.ts +0 -2
  453. package/dist/core/model-registry-builtins.d.ts.map +1 -1
  454. package/dist/core/model-registry-builtins.js +9 -76
  455. package/dist/core/model-registry-builtins.js.map +1 -1
  456. package/dist/core/model-registry-custom-loader.d.ts.map +1 -1
  457. package/dist/core/model-registry-custom-loader.js +1 -12
  458. package/dist/core/model-registry-custom-loader.js.map +1 -1
  459. package/dist/core/model-registry-dynamic.d.ts.map +1 -1
  460. package/dist/core/model-registry-dynamic.js +3 -15
  461. package/dist/core/model-registry-dynamic.js.map +1 -1
  462. package/dist/core/model-registry-extension-refresh.d.ts +23 -0
  463. package/dist/core/model-registry-extension-refresh.d.ts.map +1 -0
  464. package/dist/core/model-registry-extension-refresh.js +32 -0
  465. package/dist/core/model-registry-extension-refresh.js.map +1 -0
  466. package/dist/core/model-registry-schemas.d.ts +118 -9
  467. package/dist/core/model-registry-schemas.d.ts.map +1 -1
  468. package/dist/core/model-registry-schemas.js +10 -3
  469. package/dist/core/model-registry-schemas.js.map +1 -1
  470. package/dist/core/model-registry-types.d.ts +5 -5
  471. package/dist/core/model-registry-types.d.ts.map +1 -1
  472. package/dist/core/model-registry-types.js.map +1 -1
  473. package/dist/core/model-registry-validation.d.ts +7 -0
  474. package/dist/core/model-registry-validation.d.ts.map +1 -0
  475. package/dist/core/model-registry-validation.js +12 -0
  476. package/dist/core/model-registry-validation.js.map +1 -0
  477. package/dist/core/model-registry.d.ts +5 -3
  478. package/dist/core/model-registry.d.ts.map +1 -1
  479. package/dist/core/model-registry.js +34 -33
  480. package/dist/core/model-registry.js.map +1 -1
  481. package/dist/core/model-resolver-defaults.d.ts.map +1 -1
  482. package/dist/core/model-resolver-defaults.js +0 -1
  483. package/dist/core/model-resolver-defaults.js.map +1 -1
  484. package/dist/core/model-resolver-initial.d.ts.map +1 -1
  485. package/dist/core/model-resolver-initial.js +9 -0
  486. package/dist/core/model-resolver-initial.js.map +1 -1
  487. package/dist/core/model-resolver-patterns.d.ts.map +1 -1
  488. package/dist/core/model-resolver-patterns.js +0 -2
  489. package/dist/core/model-resolver-patterns.js.map +1 -1
  490. package/dist/core/model-resolver-scope.d.ts +2 -0
  491. package/dist/core/model-resolver-scope.d.ts.map +1 -1
  492. package/dist/core/model-resolver-scope.js +18 -4
  493. package/dist/core/model-resolver-scope.js.map +1 -1
  494. package/dist/core/model-resolver-types.d.ts +2 -0
  495. package/dist/core/model-resolver-types.d.ts.map +1 -1
  496. package/dist/core/model-resolver-types.js.map +1 -1
  497. package/dist/core/oauth-provider-bridge.d.ts +21 -0
  498. package/dist/core/oauth-provider-bridge.d.ts.map +1 -1
  499. package/dist/core/oauth-provider-bridge.js +68 -7
  500. package/dist/core/oauth-provider-bridge.js.map +1 -1
  501. package/dist/core/package-manager-auto-resources.d.ts.map +1 -1
  502. package/dist/core/package-manager-auto-resources.js +12 -4
  503. package/dist/core/package-manager-auto-resources.js.map +1 -1
  504. package/dist/core/package-manager-resolver.d.ts.map +1 -1
  505. package/dist/core/package-manager-resolver.js +42 -11
  506. package/dist/core/package-manager-resolver.js.map +1 -1
  507. package/dist/core/package-manager-types.d.ts +2 -0
  508. package/dist/core/package-manager-types.d.ts.map +1 -1
  509. package/dist/core/package-manager-types.js.map +1 -1
  510. package/dist/core/package-manager.d.ts +1 -1
  511. package/dist/core/package-manager.d.ts.map +1 -1
  512. package/dist/core/package-manager.js.map +1 -1
  513. package/dist/core/remote-catalog-provider.d.ts +1 -1
  514. package/dist/core/remote-catalog-provider.d.ts.map +1 -1
  515. package/dist/core/remote-catalog-provider.js +17 -11
  516. package/dist/core/remote-catalog-provider.js.map +1 -1
  517. package/dist/core/resource-loader-assets.d.ts.map +1 -1
  518. package/dist/core/resource-loader-assets.js +30 -4
  519. package/dist/core/resource-loader-assets.js.map +1 -1
  520. package/dist/core/resource-loader-context-files.d.ts.map +1 -1
  521. package/dist/core/resource-loader-context-files.js +3 -1
  522. package/dist/core/resource-loader-context-files.js.map +1 -1
  523. package/dist/core/resource-loader-core.d.ts +2 -1
  524. package/dist/core/resource-loader-core.d.ts.map +1 -1
  525. package/dist/core/resource-loader-core.js +3 -0
  526. package/dist/core/resource-loader-core.js.map +1 -1
  527. package/dist/core/resource-loader-extensions.d.ts +1 -0
  528. package/dist/core/resource-loader-extensions.d.ts.map +1 -1
  529. package/dist/core/resource-loader-extensions.js +120 -7
  530. package/dist/core/resource-loader-extensions.js.map +1 -1
  531. package/dist/core/resource-loader-package-resources.d.ts.map +1 -1
  532. package/dist/core/resource-loader-package-resources.js +14 -1
  533. package/dist/core/resource-loader-package-resources.js.map +1 -1
  534. package/dist/core/resource-loader-reload.d.ts.map +1 -1
  535. package/dist/core/resource-loader-reload.js +2 -1
  536. package/dist/core/resource-loader-reload.js.map +1 -1
  537. package/dist/core/resource-loader-source-info.d.ts.map +1 -1
  538. package/dist/core/resource-loader-source-info.js +6 -3
  539. package/dist/core/resource-loader-source-info.js.map +1 -1
  540. package/dist/core/sdk-types.d.ts +11 -10
  541. package/dist/core/sdk-types.d.ts.map +1 -1
  542. package/dist/core/sdk-types.js.map +1 -1
  543. package/dist/core/sdk.d.ts +1 -0
  544. package/dist/core/sdk.d.ts.map +1 -1
  545. package/dist/core/sdk.js +13 -84
  546. package/dist/core/sdk.js.map +1 -1
  547. package/dist/core/session-manager-core.d.ts +3 -3
  548. package/dist/core/session-manager-core.d.ts.map +1 -1
  549. package/dist/core/session-manager-core.js +18 -25
  550. package/dist/core/session-manager-core.js.map +1 -1
  551. package/dist/core/session-manager-entries.d.ts +2 -5
  552. package/dist/core/session-manager-entries.d.ts.map +1 -1
  553. package/dist/core/session-manager-entries.js +2 -8
  554. package/dist/core/session-manager-entries.js.map +1 -1
  555. package/dist/core/session-manager-history.d.ts +3 -3
  556. package/dist/core/session-manager-history.d.ts.map +1 -1
  557. package/dist/core/session-manager-history.js +49 -27
  558. package/dist/core/session-manager-history.js.map +1 -1
  559. package/dist/core/session-manager-storage.d.ts +6 -0
  560. package/dist/core/session-manager-storage.d.ts.map +1 -1
  561. package/dist/core/session-manager-storage.js +38 -5
  562. package/dist/core/session-manager-storage.js.map +1 -1
  563. package/dist/core/session-manager-types.d.ts +6 -6
  564. package/dist/core/session-manager-types.d.ts.map +1 -1
  565. package/dist/core/session-manager-types.js.map +1 -1
  566. package/dist/core/session-manager.d.ts +1 -1
  567. package/dist/core/session-manager.d.ts.map +1 -1
  568. package/dist/core/session-manager.js.map +1 -1
  569. package/dist/core/settings-manager-basic-accessors.d.ts +0 -4
  570. package/dist/core/settings-manager-basic-accessors.d.ts.map +1 -1
  571. package/dist/core/settings-manager-basic-accessors.js +0 -50
  572. package/dist/core/settings-manager-basic-accessors.js.map +1 -1
  573. package/dist/core/settings-manager-core.d.ts +2 -4
  574. package/dist/core/settings-manager-core.d.ts.map +1 -1
  575. package/dist/core/settings-manager-core.js +5 -51
  576. package/dist/core/settings-manager-core.js.map +1 -1
  577. package/dist/core/settings-manager.d.ts +1 -1
  578. package/dist/core/settings-manager.d.ts.map +1 -1
  579. package/dist/core/settings-manager.js.map +1 -1
  580. package/dist/core/settings-storage.d.ts +3 -1
  581. package/dist/core/settings-storage.d.ts.map +1 -1
  582. package/dist/core/settings-storage.js +22 -0
  583. package/dist/core/settings-storage.js.map +1 -1
  584. package/dist/core/settings-types.d.ts +2 -4
  585. package/dist/core/settings-types.d.ts.map +1 -1
  586. package/dist/core/settings-types.js.map +1 -1
  587. package/dist/core/slash-commands.d.ts.map +1 -1
  588. package/dist/core/slash-commands.js +69 -23
  589. package/dist/core/slash-commands.js.map +1 -1
  590. package/dist/core/source-info.d.ts +3 -1
  591. package/dist/core/source-info.d.ts.map +1 -1
  592. package/dist/core/source-info.js +2 -0
  593. package/dist/core/source-info.js.map +1 -1
  594. package/dist/core/system-prompt.d.ts.map +1 -1
  595. package/dist/core/system-prompt.js +11 -0
  596. package/dist/core/system-prompt.js.map +1 -1
  597. package/dist/core/tools/ask-user-question/ask-user-question.js +1 -1
  598. package/dist/core/tools/ask-user-question/ask-user-question.js.map +1 -1
  599. package/dist/core/tools/bash-session-environment.d.ts +13 -0
  600. package/dist/core/tools/bash-session-environment.d.ts.map +1 -0
  601. package/dist/core/tools/bash-session-environment.js +35 -0
  602. package/dist/core/tools/bash-session-environment.js.map +1 -0
  603. package/dist/core/tools/bash.d.ts +4 -1
  604. package/dist/core/tools/bash.d.ts.map +1 -1
  605. package/dist/core/tools/bash.js +16 -8
  606. package/dist/core/tools/bash.js.map +1 -1
  607. package/dist/core/tools/tool-definition-wrapper.d.ts +3 -0
  608. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
  609. package/dist/core/tools/tool-definition-wrapper.js +10 -2
  610. package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
  611. package/dist/extensions/index.js +1 -1
  612. package/dist/extensions/index.js.map +1 -1
  613. package/dist/extensions/llama/provider.d.ts +3 -2
  614. package/dist/extensions/llama/provider.d.ts.map +1 -1
  615. package/dist/extensions/llama/provider.js +9 -3
  616. package/dist/extensions/llama/provider.js.map +1 -1
  617. package/dist/index-extensions.d.ts +1 -1
  618. package/dist/index-extensions.d.ts.map +1 -1
  619. package/dist/index-extensions.js.map +1 -1
  620. package/dist/index.d.ts +2 -3
  621. package/dist/index.d.ts.map +1 -1
  622. package/dist/index.js +1 -2
  623. package/dist/index.js.map +1 -1
  624. package/dist/main-session-options.d.ts.map +1 -1
  625. package/dist/main-session-options.js +0 -4
  626. package/dist/main-session-options.js.map +1 -1
  627. package/dist/main-session.d.ts.map +1 -1
  628. package/dist/main-session.js +2 -1
  629. package/dist/main-session.js.map +1 -1
  630. package/dist/main.d.ts.map +1 -1
  631. package/dist/main.js +1 -17
  632. package/dist/main.js.map +1 -1
  633. package/dist/modes/index.d.ts +1 -1
  634. package/dist/modes/index.d.ts.map +1 -1
  635. package/dist/modes/index.js.map +1 -1
  636. package/dist/modes/interactive/chat-input-actions.d.ts +1 -1
  637. package/dist/modes/interactive/chat-input-actions.d.ts.map +1 -1
  638. package/dist/modes/interactive/chat-input-actions.js +14 -96
  639. package/dist/modes/interactive/chat-input-actions.js.map +1 -1
  640. package/dist/modes/interactive/components/atomic-banner.d.ts +9 -8
  641. package/dist/modes/interactive/components/atomic-banner.d.ts.map +1 -1
  642. package/dist/modes/interactive/components/atomic-banner.js +68 -24
  643. package/dist/modes/interactive/components/atomic-banner.js.map +1 -1
  644. package/dist/modes/interactive/components/atomic-working-status.d.ts +52 -0
  645. package/dist/modes/interactive/components/atomic-working-status.d.ts.map +1 -0
  646. package/dist/modes/interactive/components/atomic-working-status.js +202 -0
  647. package/dist/modes/interactive/components/atomic-working-status.js.map +1 -0
  648. package/dist/modes/interactive/components/chat-message-renderer.js +1 -1
  649. package/dist/modes/interactive/components/chat-message-renderer.js.map +1 -1
  650. package/dist/modes/interactive/components/chat-session-host-actions.d.ts.map +1 -1
  651. package/dist/modes/interactive/components/chat-session-host-actions.js +99 -7
  652. package/dist/modes/interactive/components/chat-session-host-actions.js.map +1 -1
  653. package/dist/modes/interactive/components/chat-session-host-editor.js +3 -3
  654. package/dist/modes/interactive/components/chat-session-host-editor.js.map +1 -1
  655. package/dist/modes/interactive/components/chat-session-host-events.d.ts.map +1 -1
  656. package/dist/modes/interactive/components/chat-session-host-events.js +52 -9
  657. package/dist/modes/interactive/components/chat-session-host-events.js.map +1 -1
  658. package/dist/modes/interactive/components/chat-session-host-rendering.d.ts.map +1 -1
  659. package/dist/modes/interactive/components/chat-session-host-rendering.js +23 -7
  660. package/dist/modes/interactive/components/chat-session-host-rendering.js.map +1 -1
  661. package/dist/modes/interactive/components/chat-session-host-runtime.d.ts +2 -0
  662. package/dist/modes/interactive/components/chat-session-host-runtime.d.ts.map +1 -1
  663. package/dist/modes/interactive/components/chat-session-host-runtime.js +67 -18
  664. package/dist/modes/interactive/components/chat-session-host-runtime.js.map +1 -1
  665. package/dist/modes/interactive/components/chat-session-host-state.d.ts +9 -0
  666. package/dist/modes/interactive/components/chat-session-host-state.d.ts.map +1 -1
  667. package/dist/modes/interactive/components/chat-session-host-state.js +5 -0
  668. package/dist/modes/interactive/components/chat-session-host-state.js.map +1 -1
  669. package/dist/modes/interactive/components/chat-session-host-types.d.ts +10 -0
  670. package/dist/modes/interactive/components/chat-session-host-types.d.ts.map +1 -1
  671. package/dist/modes/interactive/components/chat-session-host-types.js.map +1 -1
  672. package/dist/modes/interactive/components/compaction-boundary-message.d.ts.map +1 -1
  673. package/dist/modes/interactive/components/compaction-boundary-message.js +2 -1
  674. package/dist/modes/interactive/components/compaction-boundary-message.js.map +1 -1
  675. package/dist/modes/interactive/components/custom-message.d.ts +3 -1
  676. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
  677. package/dist/modes/interactive/components/custom-message.js +9 -2
  678. package/dist/modes/interactive/components/custom-message.js.map +1 -1
  679. package/dist/modes/interactive/components/extension-editor.d.ts +3 -2
  680. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
  681. package/dist/modes/interactive/components/extension-editor.js +14 -43
  682. package/dist/modes/interactive/components/extension-editor.js.map +1 -1
  683. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
  684. package/dist/modes/interactive/components/scoped-models-selector.js +18 -13
  685. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  686. package/dist/modes/interactive/components/startup-identity.d.ts +22 -0
  687. package/dist/modes/interactive/components/startup-identity.d.ts.map +1 -0
  688. package/dist/modes/interactive/components/startup-identity.js +58 -0
  689. package/dist/modes/interactive/components/startup-identity.js.map +1 -0
  690. package/dist/modes/interactive/components/tree-selector-content.d.ts.map +1 -1
  691. package/dist/modes/interactive/components/tree-selector-content.js +0 -6
  692. package/dist/modes/interactive/components/tree-selector-content.js.map +1 -1
  693. package/dist/modes/interactive/components/tree-selector-model.d.ts.map +1 -1
  694. package/dist/modes/interactive/components/tree-selector-model.js +0 -1
  695. package/dist/modes/interactive/components/tree-selector-model.js.map +1 -1
  696. package/dist/modes/interactive/components/working-status.d.ts +5 -11
  697. package/dist/modes/interactive/components/working-status.d.ts.map +1 -1
  698. package/dist/modes/interactive/components/working-status.js +14 -15
  699. package/dist/modes/interactive/components/working-status.js.map +1 -1
  700. package/dist/modes/interactive/external-editor.d.ts +23 -0
  701. package/dist/modes/interactive/external-editor.d.ts.map +1 -0
  702. package/dist/modes/interactive/external-editor.js +120 -0
  703. package/dist/modes/interactive/external-editor.js.map +1 -0
  704. package/dist/modes/interactive/interactive-agent-events.js +25 -20
  705. package/dist/modes/interactive/interactive-agent-events.js.map +1 -1
  706. package/dist/modes/interactive/interactive-auth-login.js +16 -6
  707. package/dist/modes/interactive/interactive-auth-login.js.map +1 -1
  708. package/dist/modes/interactive/interactive-auth-routing.js +3 -0
  709. package/dist/modes/interactive/interactive-auth-routing.js.map +1 -1
  710. package/dist/modes/interactive/interactive-bash-compact.d.ts +2 -1
  711. package/dist/modes/interactive/interactive-bash-compact.d.ts.map +1 -1
  712. package/dist/modes/interactive/interactive-bash-compact.js +8 -0
  713. package/dist/modes/interactive/interactive-bash-compact.js.map +1 -1
  714. package/dist/modes/interactive/interactive-deferred-startup.d.ts.map +1 -1
  715. package/dist/modes/interactive/interactive-deferred-startup.js +49 -19
  716. package/dist/modes/interactive/interactive-deferred-startup.js.map +1 -1
  717. package/dist/modes/interactive/interactive-editor-actions.js +4 -3
  718. package/dist/modes/interactive/interactive-editor-actions.js.map +1 -1
  719. package/dist/modes/interactive/interactive-extension-dialogs.js +1 -1
  720. package/dist/modes/interactive/interactive-extension-dialogs.js.map +1 -1
  721. package/dist/modes/interactive/interactive-extension-runtime.js +3 -2
  722. package/dist/modes/interactive/interactive-extension-runtime.js.map +1 -1
  723. package/dist/modes/interactive/interactive-initial-session-binding.d.ts +4 -0
  724. package/dist/modes/interactive/interactive-initial-session-binding.d.ts.map +1 -0
  725. package/dist/modes/interactive/interactive-initial-session-binding.js +23 -0
  726. package/dist/modes/interactive/interactive-initial-session-binding.js.map +1 -0
  727. package/dist/modes/interactive/interactive-input-handling.d.ts +2 -1
  728. package/dist/modes/interactive/interactive-input-handling.d.ts.map +1 -1
  729. package/dist/modes/interactive/interactive-input-handling.js +27 -51
  730. package/dist/modes/interactive/interactive-input-handling.js.map +1 -1
  731. package/dist/modes/interactive/interactive-mode-base.d.ts +11 -7
  732. package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -1
  733. package/dist/modes/interactive/interactive-mode-base.js +14 -6
  734. package/dist/modes/interactive/interactive-mode-base.js.map +1 -1
  735. package/dist/modes/interactive/interactive-mode-deps.d.ts +2 -4
  736. package/dist/modes/interactive/interactive-mode-deps.d.ts.map +1 -1
  737. package/dist/modes/interactive/interactive-mode-deps.js +2 -4
  738. package/dist/modes/interactive/interactive-mode-deps.js.map +1 -1
  739. package/dist/modes/interactive/interactive-mode-surface.d.ts +9 -8
  740. package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -1
  741. package/dist/modes/interactive/interactive-mode-surface.js.map +1 -1
  742. package/dist/modes/interactive/interactive-mode.d.ts +1 -0
  743. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  744. package/dist/modes/interactive/interactive-mode.js +1 -0
  745. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  746. package/dist/modes/interactive/interactive-model-catalog-startup.d.ts +2 -3
  747. package/dist/modes/interactive/interactive-model-catalog-startup.d.ts.map +1 -1
  748. package/dist/modes/interactive/interactive-model-catalog-startup.js +3 -6
  749. package/dist/modes/interactive/interactive-model-catalog-startup.js.map +1 -1
  750. package/dist/modes/interactive/interactive-model-routing.js +26 -97
  751. package/dist/modes/interactive/interactive-model-routing.js.map +1 -1
  752. package/dist/modes/interactive/interactive-pause.d.ts +4 -0
  753. package/dist/modes/interactive/interactive-pause.d.ts.map +1 -0
  754. package/dist/modes/interactive/interactive-pause.js +8 -0
  755. package/dist/modes/interactive/interactive-pause.js.map +1 -0
  756. package/dist/modes/interactive/interactive-process-lifecycle.js +5 -4
  757. package/dist/modes/interactive/interactive-process-lifecycle.js.map +1 -1
  758. package/dist/modes/interactive/interactive-prompt-turn.d.ts +2 -0
  759. package/dist/modes/interactive/interactive-prompt-turn.d.ts.map +1 -0
  760. package/dist/modes/interactive/interactive-prompt-turn.js +41 -0
  761. package/dist/modes/interactive/interactive-prompt-turn.js.map +1 -0
  762. package/dist/modes/interactive/interactive-render-chat.js +20 -8
  763. package/dist/modes/interactive/interactive-render-chat.js.map +1 -1
  764. package/dist/modes/interactive/interactive-resource-paths.js +11 -2
  765. package/dist/modes/interactive/interactive-resource-paths.js.map +1 -1
  766. package/dist/modes/interactive/interactive-resource-rendering.js +99 -0
  767. package/dist/modes/interactive/interactive-resource-rendering.js.map +1 -1
  768. package/dist/modes/interactive/interactive-session-runtime.js +1 -1
  769. package/dist/modes/interactive/interactive-session-runtime.js.map +1 -1
  770. package/dist/modes/interactive/interactive-slash-commands.js +1 -1
  771. package/dist/modes/interactive/interactive-slash-commands.js.map +1 -1
  772. package/dist/modes/interactive/interactive-startup-chat-container.d.ts +20 -0
  773. package/dist/modes/interactive/interactive-startup-chat-container.d.ts.map +1 -0
  774. package/dist/modes/interactive/interactive-startup-chat-container.js +26 -0
  775. package/dist/modes/interactive/interactive-startup-chat-container.js.map +1 -0
  776. package/dist/modes/interactive/interactive-startup.d.ts +1 -1
  777. package/dist/modes/interactive/interactive-startup.d.ts.map +1 -1
  778. package/dist/modes/interactive/interactive-startup.js +30 -25
  779. package/dist/modes/interactive/interactive-startup.js.map +1 -1
  780. package/dist/modes/interactive/interactive-summarization-retry-events.d.ts.map +1 -1
  781. package/dist/modes/interactive/interactive-summarization-retry-events.js +9 -3
  782. package/dist/modes/interactive/interactive-summarization-retry-events.js.map +1 -1
  783. package/dist/modes/interactive/theme/catppuccin-frappe.json +1 -1
  784. package/dist/modes/interactive/theme/catppuccin-latte.json +1 -1
  785. package/dist/modes/interactive/theme/catppuccin-macchiato.json +1 -1
  786. package/dist/modes/interactive/theme/catppuccin-mocha.json +9 -1
  787. package/dist/modes/interactive/theme/dark.json +1 -1
  788. package/dist/modes/interactive/theme/light.json +1 -1
  789. package/dist/modes/interactive/theme/theme-class.d.ts +4 -0
  790. package/dist/modes/interactive/theme/theme-class.d.ts.map +1 -1
  791. package/dist/modes/interactive/theme/theme-class.js +7 -0
  792. package/dist/modes/interactive/theme/theme-class.js.map +1 -1
  793. package/dist/modes/interactive/theme/theme-loading.d.ts.map +1 -1
  794. package/dist/modes/interactive/theme/theme-loading.js +4 -0
  795. package/dist/modes/interactive/theme/theme-loading.js.map +1 -1
  796. package/dist/modes/interactive/theme/theme-schema.d.ts +32 -0
  797. package/dist/modes/interactive/theme/theme-schema.d.ts.map +1 -1
  798. package/dist/modes/interactive/theme/theme-schema.js +8 -0
  799. package/dist/modes/interactive/theme/theme-schema.js.map +1 -1
  800. package/dist/modes/interactive/theme/theme-schema.json +15 -2
  801. package/dist/modes/interactive/whimsical-messages.d.ts +1 -0
  802. package/dist/modes/interactive/whimsical-messages.d.ts.map +1 -1
  803. package/dist/modes/interactive/whimsical-messages.js +2 -2
  804. package/dist/modes/interactive/whimsical-messages.js.map +1 -1
  805. package/dist/modes/interactive-engine/create-isolated-runtime.d.ts.map +1 -1
  806. package/dist/modes/interactive-engine/create-isolated-runtime.js +3 -1
  807. package/dist/modes/interactive-engine/create-isolated-runtime.js.map +1 -1
  808. package/dist/modes/interactive-engine/engine-args.d.ts.map +1 -1
  809. package/dist/modes/interactive-engine/engine-args.js +0 -1
  810. package/dist/modes/interactive-engine/engine-args.js.map +1 -1
  811. package/dist/modes/interactive-engine/engine-custom-ui.d.ts.map +1 -1
  812. package/dist/modes/interactive-engine/engine-custom-ui.js +5 -17
  813. package/dist/modes/interactive-engine/engine-custom-ui.js.map +1 -1
  814. package/dist/modes/interactive-engine/engine-render-service.d.ts.map +1 -1
  815. package/dist/modes/interactive-engine/engine-render-service.js +8 -19
  816. package/dist/modes/interactive-engine/engine-render-service.js.map +1 -1
  817. package/dist/modes/interactive-engine/extension-ui-bridge.d.ts +2 -0
  818. package/dist/modes/interactive-engine/extension-ui-bridge.d.ts.map +1 -1
  819. package/dist/modes/interactive-engine/extension-ui-bridge.js +3 -0
  820. package/dist/modes/interactive-engine/extension-ui-bridge.js.map +1 -1
  821. package/dist/modes/interactive-engine/isolated-auth.d.ts +10 -0
  822. package/dist/modes/interactive-engine/isolated-auth.d.ts.map +1 -0
  823. package/dist/modes/interactive-engine/isolated-auth.js +14 -0
  824. package/dist/modes/interactive-engine/isolated-auth.js.map +1 -0
  825. package/dist/modes/interactive-engine/isolated-runtime.d.ts +9 -1
  826. package/dist/modes/interactive-engine/isolated-runtime.d.ts.map +1 -1
  827. package/dist/modes/interactive-engine/isolated-runtime.js +46 -34
  828. package/dist/modes/interactive-engine/isolated-runtime.js.map +1 -1
  829. package/dist/modes/interactive-engine/protocol.d.ts +1 -1
  830. package/dist/modes/interactive-engine/protocol.d.ts.map +1 -1
  831. package/dist/modes/interactive-engine/protocol.js +3 -10
  832. package/dist/modes/interactive-engine/protocol.js.map +1 -1
  833. package/dist/modes/interactive-engine/remote-model-catalog.d.ts +1 -0
  834. package/dist/modes/interactive-engine/remote-model-catalog.d.ts.map +1 -1
  835. package/dist/modes/interactive-engine/remote-model-catalog.js +10 -1
  836. package/dist/modes/interactive-engine/remote-model-catalog.js.map +1 -1
  837. package/dist/modes/interactive-engine/remote-queue-pause.d.ts +13 -0
  838. package/dist/modes/interactive-engine/remote-queue-pause.d.ts.map +1 -0
  839. package/dist/modes/interactive-engine/remote-queue-pause.js +38 -0
  840. package/dist/modes/interactive-engine/remote-queue-pause.js.map +1 -0
  841. package/dist/modes/interactive-engine/remote-renderer.d.ts +3 -1
  842. package/dist/modes/interactive-engine/remote-renderer.d.ts.map +1 -1
  843. package/dist/modes/interactive-engine/remote-renderer.js +4 -1
  844. package/dist/modes/interactive-engine/remote-renderer.js.map +1 -1
  845. package/dist/modes/print-mode.d.ts.map +1 -1
  846. package/dist/modes/print-mode.js +5 -0
  847. package/dist/modes/print-mode.js.map +1 -1
  848. package/dist/modes/rpc/jsonl.d.ts +2 -7
  849. package/dist/modes/rpc/jsonl.d.ts.map +1 -1
  850. package/dist/modes/rpc/jsonl.js +7 -24
  851. package/dist/modes/rpc/jsonl.js.map +1 -1
  852. package/dist/modes/rpc/queued-writer.d.ts +19 -0
  853. package/dist/modes/rpc/queued-writer.d.ts.map +1 -0
  854. package/dist/modes/rpc/{bounded-writer.js → queued-writer.js} +7 -30
  855. package/dist/modes/rpc/queued-writer.js.map +1 -0
  856. package/dist/modes/rpc/rpc-bash-request-owners.d.ts +24 -0
  857. package/dist/modes/rpc/rpc-bash-request-owners.d.ts.map +1 -0
  858. package/dist/modes/rpc/rpc-bash-request-owners.js +45 -0
  859. package/dist/modes/rpc/rpc-bash-request-owners.js.map +1 -0
  860. package/dist/modes/rpc/rpc-client-api.d.ts +8 -5
  861. package/dist/modes/rpc/rpc-client-api.d.ts.map +1 -1
  862. package/dist/modes/rpc/rpc-client-api.js +10 -11
  863. package/dist/modes/rpc/rpc-client-api.js.map +1 -1
  864. package/dist/modes/rpc/rpc-client-process.d.ts +1 -4
  865. package/dist/modes/rpc/rpc-client-process.d.ts.map +1 -1
  866. package/dist/modes/rpc/rpc-client-process.js +2 -14
  867. package/dist/modes/rpc/rpc-client-process.js.map +1 -1
  868. package/dist/modes/rpc/rpc-client.d.ts +8 -4
  869. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  870. package/dist/modes/rpc/rpc-client.js +21 -30
  871. package/dist/modes/rpc/rpc-client.js.map +1 -1
  872. package/dist/modes/rpc/rpc-command-handler.d.ts +7 -4
  873. package/dist/modes/rpc/rpc-command-handler.d.ts.map +1 -1
  874. package/dist/modes/rpc/rpc-command-handler.js +76 -93
  875. package/dist/modes/rpc/rpc-command-handler.js.map +1 -1
  876. package/dist/modes/rpc/rpc-input-scheduler.d.ts +3 -3
  877. package/dist/modes/rpc/rpc-input-scheduler.d.ts.map +1 -1
  878. package/dist/modes/rpc/rpc-input-scheduler.js +7 -4
  879. package/dist/modes/rpc/rpc-input-scheduler.js.map +1 -1
  880. package/dist/modes/rpc/rpc-mode.d.ts +1 -1
  881. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  882. package/dist/modes/rpc/rpc-mode.js +5 -5
  883. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  884. package/dist/modes/rpc/rpc-model-fallback-prompt.d.ts +4 -0
  885. package/dist/modes/rpc/rpc-model-fallback-prompt.d.ts.map +1 -0
  886. package/dist/modes/rpc/rpc-model-fallback-prompt.js +11 -0
  887. package/dist/modes/rpc/rpc-model-fallback-prompt.js.map +1 -0
  888. package/dist/modes/rpc/rpc-oauth-client.d.ts +22 -0
  889. package/dist/modes/rpc/rpc-oauth-client.d.ts.map +1 -0
  890. package/dist/modes/rpc/rpc-oauth-client.js +74 -0
  891. package/dist/modes/rpc/rpc-oauth-client.js.map +1 -0
  892. package/dist/modes/rpc/rpc-oauth-interaction.d.ts +9 -0
  893. package/dist/modes/rpc/rpc-oauth-interaction.d.ts.map +1 -0
  894. package/dist/modes/rpc/rpc-oauth-interaction.js +49 -0
  895. package/dist/modes/rpc/rpc-oauth-interaction.js.map +1 -0
  896. package/dist/modes/rpc/rpc-output-buffer.d.ts +2 -1
  897. package/dist/modes/rpc/rpc-output-buffer.d.ts.map +1 -1
  898. package/dist/modes/rpc/rpc-output-buffer.js +4 -39
  899. package/dist/modes/rpc/rpc-output-buffer.js.map +1 -1
  900. package/dist/modes/rpc/rpc-provider-auth.d.ts +23 -0
  901. package/dist/modes/rpc/rpc-provider-auth.d.ts.map +1 -0
  902. package/dist/modes/rpc/rpc-provider-auth.js +145 -0
  903. package/dist/modes/rpc/rpc-provider-auth.js.map +1 -0
  904. package/dist/modes/rpc/rpc-responses.d.ts +0 -1
  905. package/dist/modes/rpc/rpc-responses.d.ts.map +1 -1
  906. package/dist/modes/rpc/rpc-responses.js +0 -14
  907. package/dist/modes/rpc/rpc-responses.js.map +1 -1
  908. package/dist/modes/rpc/rpc-types.d.ts +83 -27
  909. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  910. package/dist/modes/rpc/rpc-types.js.map +1 -1
  911. package/dist/utils/clipboard.d.ts.map +1 -1
  912. package/dist/utils/clipboard.js +21 -8
  913. package/dist/utils/clipboard.js.map +1 -1
  914. package/dist/utils/version-check.d.ts.map +1 -1
  915. package/dist/utils/version-check.js +3 -1
  916. package/dist/utils/version-check.js.map +1 -1
  917. package/docs/changelog.mdx +12 -1
  918. package/docs/compaction.md +101 -18
  919. package/docs/custom-provider.md +13 -4
  920. package/docs/docs.json +1 -0
  921. package/docs/environment-variables.md +37 -0
  922. package/docs/extensions.md +45 -9
  923. package/docs/index.md +1 -0
  924. package/docs/intercom.md +1 -1
  925. package/docs/json.md +4 -4
  926. package/docs/keybindings.md +4 -2
  927. package/docs/llama-cpp.md +3 -1
  928. package/docs/models.md +29 -43
  929. package/docs/providers.md +18 -24
  930. package/docs/quickstart.md +19 -16
  931. package/docs/rpc.md +38 -85
  932. package/docs/sdk.md +15 -22
  933. package/docs/session-format.md +2 -15
  934. package/docs/sessions.md +1 -1
  935. package/docs/settings.md +10 -15
  936. package/docs/skills.md +8 -0
  937. package/docs/subagents.md +24 -8
  938. package/docs/themes.md +10 -1
  939. package/docs/tui.md +3 -3
  940. package/docs/usage.md +30 -2
  941. package/docs/windows.md +1 -1
  942. package/docs/workflows.md +1128 -522
  943. package/examples/extensions/README.md +1 -1
  944. package/examples/extensions/handoff.ts +8 -1
  945. package/examples/extensions/message-renderer.ts +2 -2
  946. package/examples/extensions/summarize.ts +3 -0
  947. package/examples/extensions/working-indicator.ts +2 -2
  948. package/npm-shrinkwrap.json +40 -46
  949. package/package.json +9 -7
  950. package/dist/builtin/cursor/CHANGELOG.md +0 -281
  951. package/dist/builtin/cursor/LICENSE +0 -26
  952. package/dist/builtin/cursor/README.md +0 -24
  953. package/dist/builtin/cursor/index.ts +0 -9
  954. package/dist/builtin/cursor/package.json +0 -47
  955. package/dist/builtin/cursor/src/auth.ts +0 -352
  956. package/dist/builtin/cursor/src/catalog-cache.ts +0 -155
  957. package/dist/builtin/cursor/src/config.ts +0 -123
  958. package/dist/builtin/cursor/src/conversation-state.ts +0 -135
  959. package/dist/builtin/cursor/src/cursor-models-raw.json +0 -412
  960. package/dist/builtin/cursor/src/model-mapper.ts +0 -369
  961. package/dist/builtin/cursor/src/model-reference.ts +0 -282
  962. package/dist/builtin/cursor/src/models.ts +0 -54
  963. package/dist/builtin/cursor/src/native-loader.ts +0 -71
  964. package/dist/builtin/cursor/src/proto/README.md +0 -34
  965. package/dist/builtin/cursor/src/proto/agent_pb.ts +0 -15294
  966. package/dist/builtin/cursor/src/proto/protobuf-codec-base64.ts +0 -22
  967. package/dist/builtin/cursor/src/proto/protobuf-codec-json.ts +0 -44
  968. package/dist/builtin/cursor/src/proto/protobuf-codec-request.ts +0 -311
  969. package/dist/builtin/cursor/src/proto/protobuf-codec-wire.ts +0 -248
  970. package/dist/builtin/cursor/src/proto/protobuf-codec.ts +0 -200
  971. package/dist/builtin/cursor/src/provider.ts +0 -301
  972. package/dist/builtin/cursor/src/stream.ts +0 -494
  973. package/dist/builtin/cursor/src/transport-errors.ts +0 -74
  974. package/dist/builtin/cursor/src/transport-frame.ts +0 -56
  975. package/dist/builtin/cursor/src/transport-http2.ts +0 -122
  976. package/dist/builtin/cursor/src/transport-native-client.ts +0 -161
  977. package/dist/builtin/cursor/src/transport-run-stream.ts +0 -188
  978. package/dist/builtin/cursor/src/transport-timeouts.ts +0 -87
  979. package/dist/builtin/cursor/src/transport-types.ts +0 -143
  980. package/dist/builtin/cursor/src/transport.ts +0 -26
  981. package/dist/builtin/workflows/builtin/deep-research-codebase-runner.ts +0 -492
  982. package/dist/builtin/workflows/builtin/deep-research-codebase-utils.ts +0 -383
  983. package/dist/builtin/workflows/builtin/deep-research-codebase.d.ts +0 -35
  984. package/dist/builtin/workflows/builtin/deep-research-codebase.ts +0 -47
  985. package/dist/builtin/workflows/skills/impeccable/scripts/hook-before-edit.mjs +0 -516
  986. package/dist/core/context-window.d.ts +0 -54
  987. package/dist/core/context-window.d.ts.map +0 -1
  988. package/dist/core/context-window.js +0 -110
  989. package/dist/core/context-window.js.map +0 -1
  990. package/dist/core/copilot-anthropic-sse-repair.d.ts +0 -23
  991. package/dist/core/copilot-anthropic-sse-repair.d.ts.map +0 -1
  992. package/dist/core/copilot-anthropic-sse-repair.js +0 -340
  993. package/dist/core/copilot-anthropic-sse-repair.js.map +0 -1
  994. package/dist/core/copilot-errors.d.ts +0 -9
  995. package/dist/core/copilot-errors.d.ts.map +0 -1
  996. package/dist/core/copilot-errors.js +0 -32
  997. package/dist/core/copilot-errors.js.map +0 -1
  998. package/dist/core/copilot-gemini-payload-sanitizer.d.ts +0 -72
  999. package/dist/core/copilot-gemini-payload-sanitizer.d.ts.map +0 -1
  1000. package/dist/core/copilot-gemini-payload-sanitizer.js +0 -296
  1001. package/dist/core/copilot-gemini-payload-sanitizer.js.map +0 -1
  1002. package/dist/core/copilot-gemini-reasoning.d.ts +0 -126
  1003. package/dist/core/copilot-gemini-reasoning.d.ts.map +0 -1
  1004. package/dist/core/copilot-gemini-reasoning.js +0 -265
  1005. package/dist/core/copilot-gemini-reasoning.js.map +0 -1
  1006. package/dist/core/copilot-gemini-tool-arguments.d.ts +0 -42
  1007. package/dist/core/copilot-gemini-tool-arguments.d.ts.map +0 -1
  1008. package/dist/core/copilot-gemini-tool-arguments.js +0 -159
  1009. package/dist/core/copilot-gemini-tool-arguments.js.map +0 -1
  1010. package/dist/core/copilot-hosts.d.ts +0 -12
  1011. package/dist/core/copilot-hosts.d.ts.map +0 -1
  1012. package/dist/core/copilot-hosts.js +0 -33
  1013. package/dist/core/copilot-hosts.js.map +0 -1
  1014. package/dist/core/copilot-model-catalog.d.ts +0 -114
  1015. package/dist/core/copilot-model-catalog.d.ts.map +0 -1
  1016. package/dist/core/copilot-model-catalog.js +0 -392
  1017. package/dist/core/copilot-model-catalog.js.map +0 -1
  1018. package/dist/core/copilot-model-static-fallbacks.d.ts +0 -43
  1019. package/dist/core/copilot-model-static-fallbacks.d.ts.map +0 -1
  1020. package/dist/core/copilot-model-static-fallbacks.js +0 -50
  1021. package/dist/core/copilot-model-static-fallbacks.js.map +0 -1
  1022. package/dist/core/copilot-model-synthesis.d.ts +0 -10
  1023. package/dist/core/copilot-model-synthesis.d.ts.map +0 -1
  1024. package/dist/core/copilot-model-synthesis.js +0 -91
  1025. package/dist/core/copilot-model-synthesis.js.map +0 -1
  1026. package/dist/modes/interactive/components/context-window-selector.d.ts +0 -53
  1027. package/dist/modes/interactive/components/context-window-selector.d.ts.map +0 -1
  1028. package/dist/modes/interactive/components/context-window-selector.js +0 -136
  1029. package/dist/modes/interactive/components/context-window-selector.js.map +0 -1
  1030. package/dist/modes/rpc/bounded-writer.d.ts +0 -27
  1031. package/dist/modes/rpc/bounded-writer.d.ts.map +0 -1
  1032. package/dist/modes/rpc/bounded-writer.js.map +0 -1
@@ -12,14 +12,20 @@
12
12
  */
13
13
 
14
14
  import type { WorkflowSerializableObject, WorkflowSerializableValue } from "../shared/types.js";
15
+ import { workflowToolOutcomeFromValue } from "./tool-outcome.js";
15
16
  import {
17
+ DURABLE_BOUNDARY_TOPOLOGY_VERSION,
16
18
  DURABLE_STAGE_TOPOLOGY_VERSION,
19
+ DURABLE_TOOL_TOPOLOGY_VERSION,
17
20
  type DurableCheckpoint,
18
21
  type DurableCheckpointKind,
19
22
  type DurableStageCheckpoint,
23
+ type DurableStageLifecycleStatus,
20
24
  type DurableStageTopology,
21
25
  type DurableToolCheckpoint,
26
+ type DurableToolTopology,
22
27
  type DurableUiCheckpoint,
28
+ type DurableWorkflowBoundaryTopology,
23
29
  type UiPromptKind,
24
30
  } from "./types.js";
25
31
  import { isCurrentDurableFormat, DURABLE_FORMAT_VERSION } from "./format-version.js";
@@ -43,6 +49,8 @@ export interface DbosCheckpointEnvelope extends WorkflowSerializableObject {
43
49
  readonly name?: string;
44
50
  readonly argsHash?: string;
45
51
  readonly promptKind?: UiPromptKind;
52
+ readonly outcomeKind?: "return_success" | "return_failure";
53
+ readonly throwingFailureError?: string;
46
54
  readonly message?: string;
47
55
  readonly promptHash?: string;
48
56
  readonly replayKey?: string;
@@ -88,7 +96,23 @@ export function encodeCheckpoint(checkpoint: DurableCheckpoint): DbosCheckpointE
88
96
  };
89
97
  if (cp.kind === "tool") {
90
98
  const t = cp as DurableToolCheckpoint;
91
- return { ...base, name: t.name, argsHash: t.argsHash };
99
+ return {
100
+ ...base,
101
+ name: t.name,
102
+ argsHash: t.argsHash,
103
+ ...(t.outcomeKind !== undefined ? { outcomeKind: t.outcomeKind } : {}),
104
+ ...(t.throwingFailureError !== undefined ? { throwingFailureError: t.throwingFailureError } : {}),
105
+ ...(t.topology !== undefined ? { topology: {
106
+ version: t.topology.version,
107
+ nodeId: t.topology.nodeId,
108
+ ordinal: t.topology.ordinal,
109
+ order: t.topology.order,
110
+ parentIds: [...t.topology.parentIds],
111
+ ...(t.topology.startedAt !== undefined ? { startedAt: t.topology.startedAt } : {}),
112
+ ...(t.topology.endedAt !== undefined ? { endedAt: t.topology.endedAt } : {}),
113
+ ...(t.topology.run !== undefined ? { run: { ...t.topology.run } } : {}),
114
+ } } : {}),
115
+ };
92
116
  }
93
117
  if (cp.kind === "ui") {
94
118
  const u = cp as DurableUiCheckpoint;
@@ -103,7 +127,15 @@ export function encodeCheckpoint(checkpoint: DurableCheckpoint): DbosCheckpointE
103
127
  version: s.topology.version,
104
128
  stageId: s.topology.stageId,
105
129
  parentIds: [...s.topology.parentIds],
130
+ ...(s.topology.sourceOrder !== undefined ? { sourceOrder: s.topology.sourceOrder } : {}),
131
+ ...(s.topology.occurrenceKey !== undefined ? { occurrenceKey: s.topology.occurrenceKey } : {}),
132
+ ...(s.topology.status !== undefined ? { status: s.topology.status } : {}),
133
+ ...(s.topology.order !== undefined ? { order: s.topology.order } : {}),
106
134
  ...(s.topology.run !== undefined ? { run: { ...s.topology.run } } : {}),
135
+ ...(s.topology.boundary !== undefined ? { boundary: {
136
+ ...s.topology.boundary,
137
+ child: { ...s.topology.boundary.child },
138
+ } } : {}),
107
139
  } } : {}),
108
140
  ...(s.sessionId !== undefined ? { sessionId: s.sessionId } : {}),
109
141
  ...(s.sessionFile !== undefined ? { sessionFile: s.sessionFile } : {}),
@@ -167,13 +199,23 @@ function decodeEnvelope(workflowId: string, env: DbosCheckpointEnvelope): Durabl
167
199
  || (env.hasOutput !== undefined && typeof env.hasOutput !== "boolean")) return undefined;
168
200
  const common = { workflowId, checkpointId: env.checkpointId, completedAt: env.completedAt };
169
201
  if (env.kind === "tool") {
170
- if (typeof env.argsHash !== "string" || env.output === undefined) return undefined;
202
+ if (typeof env.argsHash !== "string" || env.output === undefined
203
+ || (env.outcomeKind !== undefined && env.outcomeKind !== "return_success" && env.outcomeKind !== "return_failure")
204
+ || (env.throwingFailureError !== undefined && typeof env.throwingFailureError !== "string")) return undefined;
205
+ const outcome = env.outcomeKind === undefined ? undefined : workflowToolOutcomeFromValue(env.output);
206
+ if ((env.outcomeKind === "return_success" && outcome?.ok !== true)
207
+ || (env.outcomeKind === "return_failure" && outcome?.ok !== false)) return undefined;
208
+ const topology = env.topology === undefined ? undefined : toolTopology(env.topology);
209
+ if (env.topology !== undefined && topology === undefined) return undefined;
171
210
  return {
172
211
  kind: "tool",
173
212
  ...common,
174
213
  name: env.name ?? "tool",
175
214
  argsHash: env.argsHash,
176
215
  output: env.output,
216
+ ...(env.outcomeKind !== undefined ? { outcomeKind: env.outcomeKind } : {}),
217
+ ...(env.throwingFailureError !== undefined ? { throwingFailureError: env.throwingFailureError } : {}),
218
+ ...(topology !== undefined ? { topology } : {}),
177
219
  } as DurableToolCheckpoint;
178
220
  }
179
221
  if (env.kind === "ui") {
@@ -222,21 +264,106 @@ function decodeEnvelope(workflowId: string, env: DbosCheckpointEnvelope): Durabl
222
264
  }
223
265
 
224
266
 
267
+ function toolTopology(value: WorkflowSerializableValue): DurableToolTopology | undefined {
268
+ if (typeof value !== "object" || value === null || Array.isArray(value)) return undefined;
269
+ const record = value as Record<string, WorkflowSerializableValue>;
270
+ if (record["version"] !== DURABLE_TOOL_TOPOLOGY_VERSION
271
+ || typeof record["nodeId"] !== "string"
272
+ || typeof record["ordinal"] !== "number" || !Number.isInteger(record["ordinal"])
273
+ || typeof record["order"] !== "number" || !Number.isInteger(record["order"])
274
+ || !isStringArray(record["parentIds"])
275
+ || !isOptionalFiniteNumber(record["startedAt"])
276
+ || !isOptionalFiniteNumber(record["endedAt"])) return undefined;
277
+ const run = stageRunTopology(record["run"]);
278
+ if (record["run"] !== undefined && run === undefined) return undefined;
279
+ return {
280
+ version: DURABLE_TOOL_TOPOLOGY_VERSION,
281
+ nodeId: record["nodeId"],
282
+ ordinal: record["ordinal"],
283
+ order: record["order"],
284
+ parentIds: record["parentIds"],
285
+ ...(typeof record["startedAt"] === "number" ? { startedAt: record["startedAt"] } : {}),
286
+ ...(typeof record["endedAt"] === "number" ? { endedAt: record["endedAt"] } : {}),
287
+ ...(run !== undefined ? { run } : {}),
288
+ };
289
+ }
290
+
225
291
  function stageTopology(value: WorkflowSerializableValue | undefined): DurableStageTopology | undefined {
226
292
  if (typeof value !== "object" || value === null || Array.isArray(value)) return undefined;
227
293
  const record = value as Record<string, WorkflowSerializableValue>;
228
294
  if (record["version"] !== DURABLE_STAGE_TOPOLOGY_VERSION
229
- || typeof record["stageId"] !== "string" || !isStringArray(record["parentIds"])) return undefined;
295
+ || typeof record["stageId"] !== "string" || !isStringArray(record["parentIds"])
296
+ || !isOptionalSourceOrder(record["sourceOrder"])
297
+ || (record["occurrenceKey"] !== undefined && typeof record["occurrenceKey"] !== "string")
298
+ || (record["status"] !== undefined && !isStageLifecycleStatus(record["status"]))) return undefined;
230
299
  const run = stageRunTopology(record["run"]);
231
300
  if (record["run"] !== undefined && run === undefined) return undefined;
301
+ const boundary = boundaryTopology(record["boundary"]);
302
+ if (record["boundary"] !== undefined && boundary === undefined) return undefined;
232
303
  return {
233
304
  version: DURABLE_STAGE_TOPOLOGY_VERSION,
234
305
  stageId: record["stageId"],
235
306
  parentIds: record["parentIds"],
307
+ ...(typeof record["sourceOrder"] === "number" ? { sourceOrder: record["sourceOrder"] } : {}),
308
+ ...(typeof record["occurrenceKey"] === "string" ? { occurrenceKey: record["occurrenceKey"] } : {}),
309
+ ...(isStageLifecycleStatus(record["status"]) ? { status: record["status"] } : {}),
310
+ ...(typeof record["order"] === "number" && Number.isInteger(record["order"]) ? { order: record["order"] } : {}),
236
311
  ...(run !== undefined ? { run } : {}),
312
+ ...(boundary !== undefined ? { boundary } : {}),
237
313
  };
238
314
  }
239
315
 
316
+ function boundaryTopology(value: WorkflowSerializableValue | undefined): DurableWorkflowBoundaryTopology | undefined {
317
+ if (typeof value !== "object" || value === null || Array.isArray(value)) return undefined;
318
+ const boundary = value as Record<string, WorkflowSerializableValue>;
319
+ const childValue = boundary["child"];
320
+ const event = boundary["event"];
321
+ const status = boundary["status"];
322
+ const invocationFingerprint = boundary["invocationFingerprint"];
323
+ if (boundary["version"] !== DURABLE_BOUNDARY_TOPOLOGY_VERSION
324
+ || (event !== "start" && event !== "terminal")
325
+ || (event === "start" ? status !== "running"
326
+ : status !== "completed" && status !== "failed" && status !== "skipped")
327
+ || typeof boundary["replayScope"] !== "string"
328
+ || typeof boundary["alias"] !== "string"
329
+ || typeof boundary["workflow"] !== "string"
330
+ || (invocationFingerprint !== undefined && typeof invocationFingerprint !== "string")
331
+ || typeof childValue !== "object" || childValue === null || Array.isArray(childValue)) return undefined;
332
+ const child = childValue as Record<string, WorkflowSerializableValue>;
333
+ if (!["runId", "runName", "parentRunId", "parentStageId", "rootRunId"]
334
+ .every((key) => typeof child[key] === "string")) return undefined;
335
+ const identity = {
336
+ version: DURABLE_BOUNDARY_TOPOLOGY_VERSION,
337
+ replayScope: boundary["replayScope"] as string,
338
+ alias: boundary["alias"] as string,
339
+ workflow: boundary["workflow"] as string,
340
+ ...(typeof invocationFingerprint === "string" ? { invocationFingerprint } : {}),
341
+ child: {
342
+ runId: child["runId"] as string,
343
+ runName: child["runName"] as string,
344
+ parentRunId: child["parentRunId"] as string,
345
+ parentStageId: child["parentStageId"] as string,
346
+ rootRunId: child["rootRunId"] as string,
347
+ },
348
+ };
349
+ if (event === "start") return { ...identity, event, status: "running" };
350
+ return {
351
+ ...identity,
352
+ event,
353
+ status: status as Extract<DurableStageLifecycleStatus, "completed" | "failed" | "skipped">,
354
+ };
355
+ }
356
+
357
+ function isOptionalSourceOrder(value: WorkflowSerializableValue | undefined): boolean {
358
+ return value === undefined || (typeof value === "number" && Number.isInteger(value) && value >= 0);
359
+ }
360
+
361
+ function isStageLifecycleStatus(value: WorkflowSerializableValue | undefined): value is DurableStageLifecycleStatus {
362
+ return value === "pending" || value === "running" || value === "awaiting_input"
363
+ || value === "paused" || value === "blocked" || value === "completed"
364
+ || value === "failed" || value === "skipped";
365
+ }
366
+
240
367
  function stageRunTopology(value: WorkflowSerializableValue | undefined): NonNullable<DurableStageTopology["run"]> | undefined {
241
368
  if (typeof value !== "object" || value === null || Array.isArray(value)) return undefined;
242
369
  const run = value as Record<string, WorkflowSerializableValue>;
@@ -3,6 +3,12 @@ import type { DbosStepRecord } from "./dbos-backend.js";
3
3
  import { isCurrentDurableFormat, DURABLE_FORMAT_VERSION } from "./format-version.js";
4
4
  import type { DurableWorkflowMetadata, DurableWorkflowStatus } from "./types.js";
5
5
  import { isAbsorbingDurableStatus } from "./workflow-status-transition.js";
6
+ import {
7
+ isWorkflowFailureCode,
8
+ isWorkflowFailureDisposition,
9
+ isWorkflowFailureKind,
10
+ isWorkflowFailureRecoverability,
11
+ } from "../shared/workflow-failures.js";
6
12
 
7
13
  const METADATA_STEP_PREFIX = "__atomic_metadata";
8
14
 
@@ -52,6 +58,12 @@ export function encodeMetadata(metadata: DurableWorkflowMetadata): WorkflowSeria
52
58
  ...(metadata.label !== undefined ? { label: metadata.label } : {}),
53
59
  ...(metadata.rootWorkflowId !== undefined ? { rootWorkflowId: metadata.rootWorkflowId } : {}),
54
60
  ...(metadata.resumable !== undefined ? { resumable: metadata.resumable } : {}),
61
+ ...(metadata.error !== undefined ? { error: metadata.error } : {}),
62
+ ...(metadata.failureKind !== undefined ? { failureKind: metadata.failureKind } : {}),
63
+ ...(metadata.failureCode !== undefined ? { failureCode: metadata.failureCode } : {}),
64
+ ...(metadata.failureRecoverability !== undefined ? { failureRecoverability: metadata.failureRecoverability } : {}),
65
+ ...(metadata.failureDisposition !== undefined ? { failureDisposition: metadata.failureDisposition } : {}),
66
+ ...(metadata.failedToolNodeId !== undefined ? { failedToolNodeId: metadata.failedToolNodeId } : {}),
55
67
  ...(metadata.invocationCwd !== undefined ? { invocationCwd: metadata.invocationCwd } : {}),
56
68
  ...(metadata.workflowCwd !== undefined ? { workflowCwd: metadata.workflowCwd } : {}),
57
69
  ...(metadata.repositoryRoot !== undefined ? { repositoryRoot: metadata.repositoryRoot } : {}),
@@ -132,6 +144,12 @@ function parseDurableWorkflowMetadata(
132
144
  || (metadata.label !== undefined && typeof metadata.label !== "string")
133
145
  || (metadata.rootWorkflowId !== undefined && typeof metadata.rootWorkflowId !== "string")
134
146
  || (metadata.resumable !== undefined && typeof metadata.resumable !== "boolean")
147
+ || (metadata.error !== undefined && typeof metadata.error !== "string")
148
+ || (metadata.failureKind !== undefined && !isWorkflowFailureKind(metadata.failureKind))
149
+ || (metadata.failureCode !== undefined && !isWorkflowFailureCode(metadata.failureCode))
150
+ || (metadata.failureRecoverability !== undefined && !isWorkflowFailureRecoverability(metadata.failureRecoverability))
151
+ || (metadata.failureDisposition !== undefined && !isWorkflowFailureDisposition(metadata.failureDisposition))
152
+ || (metadata.failedToolNodeId !== undefined && typeof metadata.failedToolNodeId !== "string")
135
153
  || (metadata.invocationCwd !== undefined && typeof metadata.invocationCwd !== "string")
136
154
  || (metadata.workflowCwd !== undefined && typeof metadata.workflowCwd !== "string")
137
155
  || (metadata.repositoryRoot !== undefined && typeof metadata.repositoryRoot !== "string")
@@ -19,7 +19,7 @@
19
19
  * cross-ref: issue #1498 — child side effects under the root durable workflow.
20
20
  */
21
21
 
22
- import type { DurableCheckpoint, DurableWorkflowStatus, ResumableWorkflowEntry } from "./types.js";
22
+ import type { DurableCheckpoint, DurableStageCheckpoint, DurableWorkflowStatus, ResumableWorkflowEntry } from "./types.js";
23
23
  import type { WorkflowSerializableValue } from "../shared/types.js";
24
24
  import type { DurableInactiveDeleteResult, DurableWorkflowBackend, DurableWorkflowCatalogEntries, WorkflowRegistrationInput } from "./backend.js";
25
25
  import { claimDurablePromptToken, durablePromptScope, releaseDurablePrompt, reserveDurablePrompt, type PromptReservationToken } from "./prompt-reservations.js";
@@ -65,6 +65,10 @@ export class ScopedDurableBackend implements DurableWorkflowBackend {
65
65
  await this.inner.recordCheckpointAsync(this.remap(checkpoint));
66
66
  }
67
67
 
68
+ async recordAdditiveCheckpointBestEffort(checkpoint: DurableCheckpoint): Promise<boolean> {
69
+ return await this.inner.recordAdditiveCheckpointBestEffort(this.remap(checkpoint));
70
+ }
71
+
68
72
  flush(): Promise<void> {
69
73
  return this.inner.flush();
70
74
  }
@@ -73,6 +77,10 @@ export class ScopedDurableBackend implements DurableWorkflowBackend {
73
77
  return this.inner.getToolOutput(this.scope.rootWorkflowId, this.scopeKey(argsHash));
74
78
  }
75
79
 
80
+ getToolCheckpoint(_workflowId: string, argsHash: string) {
81
+ return this.inner.getToolCheckpoint(this.scope.rootWorkflowId, this.scopeKey(argsHash));
82
+ }
83
+
76
84
  getUiResponse(_workflowId: string, promptHash: string): WorkflowSerializableValue | undefined {
77
85
  return this.inner.getUiResponse(this.scope.rootWorkflowId, this.scopeKey(promptHash));
78
86
  }
@@ -90,15 +98,11 @@ export class ScopedDurableBackend implements DurableWorkflowBackend {
90
98
  return this.inner.getStageSession(this.scope.rootWorkflowId, this.scopeKey(replayKey));
91
99
  }
92
100
 
93
- listCheckpoints(_workflowId: string): readonly DurableCheckpoint[] {
94
- const all = this.inner.listCheckpoints(this.scope.rootWorkflowId);
95
- const prefix = `${this.effectivePromptScope().scope}:`;
96
- // Checkpoints are stored with their scope prefix already embedded in their
97
- // ids (see remap()). Filter by the stored id directly — NOT by re-prefixing
98
- // — so sibling scopes (e.g. "workflow:child:1") are excluded when the
99
- // current scope is "workflow:child:2". Re-prefixing would prepend the
100
- // current scope prefix to every id, causing sibling ids to falsely match.
101
- return all.filter((cp) => storedScopeId(cp).startsWith(prefix));
101
+ listCheckpoints(workflowId: string): readonly DurableCheckpoint[] {
102
+ const prefix = `${this.scope.scopePrefix}:`;
103
+ return this.inner.listCheckpoints(this.scope.rootWorkflowId)
104
+ .filter((checkpoint) => checkpointHasPrefix(checkpoint, prefix))
105
+ .map((checkpoint) => localCheckpoint(checkpoint, workflowId, prefix));
102
106
  }
103
107
 
104
108
  getWorkflow(_workflowId: string): undefined {
@@ -222,15 +226,58 @@ export class ScopedDurableBackend implements DurableWorkflowBackend {
222
226
  workflowId,
223
227
  checkpointId: this.scopeKey(checkpoint.checkpointId),
224
228
  replayKey: this.scopeKey(checkpoint.replayKey),
229
+ ...remappedBoundaryScope(checkpoint, this.scopeKey(checkpoint.topology?.boundary?.replayScope ?? "")),
225
230
  };
226
231
  }
227
232
  }
228
233
 
229
- /**
230
- * Return the checkpoint's stored scope-qualified id, which includes any scope
231
- * prefix embedded by {@link ScopedDurableBackend.remap}. This is the raw stored
232
- * value used for prefix filtering in {@link ScopedDurableBackend.listCheckpoints}.
233
- */
234
- function storedScopeId(cp: DurableCheckpoint): string {
235
- return cp.kind === "stage" ? cp.replayKey : cp.checkpointId;
234
+ /** Return true only when every stored identity belongs to this immediate scope. */
235
+ function checkpointHasPrefix(checkpoint: DurableCheckpoint, prefix: string): boolean {
236
+ if (!checkpoint.checkpointId.startsWith(prefix)) return false;
237
+ if (checkpoint.kind === "tool") return checkpoint.argsHash.startsWith(prefix);
238
+ if (checkpoint.kind === "ui") return checkpoint.promptHash.startsWith(prefix);
239
+ return checkpoint.replayKey.startsWith(prefix);
240
+ }
241
+
242
+ /** Strip exactly one wrapper prefix to expose a composable child-local view. */
243
+ function localCheckpoint(
244
+ checkpoint: DurableCheckpoint,
245
+ workflowId: string,
246
+ prefix: string,
247
+ ): DurableCheckpoint {
248
+ const checkpointId = checkpoint.checkpointId.slice(prefix.length);
249
+ if (checkpoint.kind === "tool") {
250
+ return { ...checkpoint, workflowId, checkpointId, argsHash: checkpoint.argsHash.slice(prefix.length) };
251
+ }
252
+ if (checkpoint.kind === "ui") {
253
+ return { ...checkpoint, workflowId, checkpointId, promptHash: checkpoint.promptHash.slice(prefix.length) };
254
+ }
255
+ const replayKey = checkpoint.replayKey.slice(prefix.length);
256
+ const replayScope = stripOnePrefix(checkpoint.topology?.boundary?.replayScope, prefix);
257
+ return {
258
+ ...checkpoint,
259
+ workflowId,
260
+ checkpointId,
261
+ replayKey,
262
+ ...remappedBoundaryScope(checkpoint, replayScope),
263
+ };
264
+ }
265
+
266
+ function remappedBoundaryScope(
267
+ checkpoint: DurableStageCheckpoint,
268
+ replayScope: string | undefined,
269
+ ): Pick<DurableStageCheckpoint, "topology"> | Record<string, never> {
270
+ const topology = checkpoint.topology;
271
+ if (topology?.boundary === undefined || replayScope === undefined) return {};
272
+ return {
273
+ topology: {
274
+ ...topology,
275
+ boundary: { ...topology.boundary, replayScope },
276
+ },
277
+ };
278
+ }
279
+
280
+ function stripOnePrefix(value: string | undefined, prefix: string): string | undefined {
281
+ if (value === undefined || !value.startsWith(prefix)) return value;
282
+ return value.slice(prefix.length);
236
283
  }
@@ -9,7 +9,9 @@ import { durableHash } from "./backend.js";
9
9
  import { recordCheckpointDurably } from "./tool-primitive.js";
10
10
  import { elapsedStageMs } from "../shared/timing.js";
11
11
  import { RESUME_CONTINUATION_PROMPT } from "../shared/resume-continuation.js";
12
- import { DURABLE_STAGE_TOPOLOGY_VERSION, type DurableStageCheckpoint, type DurableStageRunTopology } from "./types.js";
12
+ import { type DurableStageCheckpoint, type DurableStageRunTopology } from "./types.js";
13
+ import { activeStageTopology, durableStageCheckpointMetadata } from "./stage-topology.js";
14
+ import { parseLegacyWorkflowChildResult, parseWorkflowChildResult } from "./workflow-child-result.js";
13
15
  export type DurableCompletedStageCheckpoint = DurableStageCheckpoint & { readonly output: WorkflowSerializableValue };
14
16
 
15
17
  export interface DurableStageDeps {
@@ -19,15 +21,21 @@ export interface DurableStageDeps {
19
21
  readonly nextReplayKey: (stageName: string) => string;
20
22
  readonly replayKeyForCompletedStage?: (stage: StageSnapshot) => string | undefined;
21
23
  readonly runTopology?: DurableStageRunTopology;
24
+ readonly sourceOrderForStage?: (stage: StageSnapshot) => number | undefined;
22
25
  readonly now?: () => number;
23
26
  }
24
27
 
25
- export async function recordStageCheckpoint(deps: DurableStageDeps, stage: StageSnapshot): Promise<boolean> {
26
- if (stage.status !== "completed") return false;
28
+ export async function recordStageCheckpoint(
29
+ deps: DurableStageDeps,
30
+ stage: StageSnapshot,
31
+ options?: { readonly metadataOnly?: boolean },
32
+ ): Promise<boolean> {
33
+ if (stage.status !== "completed" && stage.status !== "failed" && stage.status !== "skipped") return false;
27
34
  const replayKey = deps.replayKeyForCompletedStage?.(stage) ?? stage.replayKey ?? deps.nextReplayKey(stage.name);
28
- const metadata = durableStageCheckpointMetadata(stage, deps.runTopology);
35
+ const metadata = durableStageCheckpointMetadata(stage, deps.runTopology, deps.sourceOrderForStage?.(stage));
29
36
  const hasExistingOutput = deps.backend.getStageOutput(deps.workflowId, replayKey) !== undefined;
30
- const checkpoint: DurableStageCheckpoint = hasExistingOutput
37
+ const metadataOnly = options?.metadataOnly === true || stage.status !== "completed" || hasExistingOutput;
38
+ const checkpoint: DurableStageCheckpoint = metadataOnly
31
39
  ? {
32
40
  kind: "stage",
33
41
  workflowId: deps.workflowId,
@@ -51,12 +59,7 @@ export async function recordStageCheckpoint(deps: DurableStageDeps, stage: Stage
51
59
  return true;
52
60
  }
53
61
 
54
- /**
55
- * Debounce granularity for stage-session duration updates. `durationMs`
56
- * differs on virtually every prompt/steer event, so comparing it exactly
57
- * forced a full durable read-merge-rewrite per event; identity fields
58
- * (session id/file/start) still force an immediate write when they change.
59
- */
62
+ // Duration-only session updates are bucketed; identity changes still persist immediately.
60
63
  const STAGE_SESSION_DURATION_BUCKET_MS = 30_000;
61
64
 
62
65
  function stageSessionDurationBucket(durationMs: number | undefined): number {
@@ -84,7 +87,7 @@ export async function recordStageSessionCheckpoint(
84
87
  checkpointId: stageSessionCheckpointId(replayKey, stage, durationMs),
85
88
  name: stage.name,
86
89
  replayKey,
87
- ...durableStageCheckpointMetadata(stage, deps.runTopology),
90
+ ...durableStageCheckpointMetadata(stage, deps.runTopology, deps.sourceOrderForStage?.(stage)),
88
91
  ...(stage.sessionId !== undefined ? { sessionId: stage.sessionId } : {}),
89
92
  sessionFile: stage.sessionFile,
90
93
  ...(stage.startedAt !== undefined ? { startedAt: stage.startedAt } : {}),
@@ -99,11 +102,7 @@ const MID_SESSION_RESUME_PROMPT = RESUME_CONTINUATION_PROMPT;
99
102
 
100
103
  function withMidSessionResumePrompt<T extends StageContext>(stage: T, enabled: boolean): T {
101
104
  if (!enabled) return stage;
102
- // Do NOT spread `stage` (e.g. `{ ...stage, prompt }`). The live StageContext
103
- // exposes lazy getters for `sessionId`/`sessionFile`/`messages`/`isStreaming`
104
- // that throw until the underlying SDK session has been created, and a spread
105
- // would eagerly read them before the first `prompt()` lands. Override
106
- // `prompt` in place instead — `prompt` is a normal configurable own property.
105
+ // Override in place: spreading would eagerly read lazy session getters before prompt().
107
106
  const originalPrompt = stage.prompt.bind(stage);
108
107
  Object.defineProperty(stage, "prompt", {
109
108
  value: (_text: string, options?: Parameters<StageContext["prompt"]>[1]) =>
@@ -114,8 +113,6 @@ function withMidSessionResumePrompt<T extends StageContext>(stage: T, enabled: b
114
113
  });
115
114
  return stage;
116
115
  }
117
-
118
-
119
116
  export function createDurableStagePrimitive(input: {
120
117
  readonly workflowId: string;
121
118
  readonly backend: DurableWorkflowBackend;
@@ -132,9 +129,14 @@ export function createDurableStagePrimitive(input: {
132
129
  }
133
130
  const session = input.backend.getStageSession(input.workflowId, replayKey);
134
131
  const isMidSessionResume = session?.sessionFile !== undefined;
132
+ const topology = activeStageTopology(input.backend, input.workflowId, replayKey);
135
133
  const liveOptions: StageOptions | undefined = {
136
134
  ...(options ?? {}),
137
135
  durableReplayKey: replayKey,
136
+ ...(topology !== undefined ? {
137
+ durableStageId: topology.stageId,
138
+ durableParentIds: [...topology.parentIds],
139
+ } : {}),
138
140
  ...(isMidSessionResume ? {
139
141
  resumeFromSessionFile: session.sessionFile,
140
142
  durableAccumulatedDurationMs: session.durationMs ?? 0,
@@ -152,6 +154,7 @@ export function createDurableStagePrimitive(input: {
152
154
  };
153
155
  }
154
156
 
157
+
155
158
  export function createDurableTaskPrimitive(input: {
156
159
  readonly workflowId: string;
157
160
  readonly backend: DurableWorkflowBackend;
@@ -167,15 +170,21 @@ export function createDurableTaskPrimitive(input: {
167
170
  return cached.output;
168
171
  }
169
172
  const session = input.backend.getStageSession(input.workflowId, replayKey);
173
+ const topology = activeStageTopology(input.backend, input.workflowId, replayKey);
170
174
  const taskOptions: WorkflowTaskOptions = {
171
175
  ...options,
172
176
  durableReplayKey: replayKey,
177
+ ...(topology !== undefined ? {
178
+ durableStageId: topology.stageId,
179
+ durableParentIds: [...topology.parentIds],
180
+ } : {}),
173
181
  ...(session?.sessionFile !== undefined ? {
174
182
  resumeFromSessionFile: session.sessionFile,
175
183
  durableAccumulatedDurationMs: session.durationMs ?? 0,
176
184
  } : {}),
177
185
  };
178
186
  const result = await input.task(name, taskOptions, stageFailFastScope);
187
+ const completedTopology = activeStageTopology(input.backend, input.workflowId, replayKey);
179
188
  await recordCheckpointDurably(input.backend, {
180
189
  kind: "stage",
181
190
  workflowId: input.workflowId,
@@ -185,6 +194,7 @@ export function createDurableTaskPrimitive(input: {
185
194
  output: result,
186
195
  completedAt: Date.now(),
187
196
  ...taskCheckpointMetadata(result),
197
+ ...(completedTopology !== undefined ? { topology: completedTopology } : {}),
188
198
  });
189
199
  return result;
190
200
  };
@@ -262,29 +272,6 @@ function stageOutput(stage: StageSnapshot): WorkflowSerializableValue {
262
272
  return { status: stage.status, stageId: stage.id };
263
273
  }
264
274
 
265
- export function durableStageCheckpointMetadata(
266
- stage: StageSnapshot,
267
- run?: DurableStageRunTopology,
268
- ): Partial<DurableStageCheckpoint> {
269
- return {
270
- topology: {
271
- version: DURABLE_STAGE_TOPOLOGY_VERSION,
272
- stageId: stage.id,
273
- parentIds: [...stage.parentIds],
274
- ...(run !== undefined ? { run: { ...run } } : {}),
275
- },
276
- ...(stage.startedAt !== undefined ? { startedAt: stage.startedAt } : {}),
277
- ...(stage.endedAt !== undefined ? { endedAt: stage.endedAt } : {}),
278
- ...(stage.durationMs !== undefined ? { durationMs: stage.durationMs } : {}),
279
- ...(stage.result !== undefined ? { result: stage.result } : {}),
280
- ...(stage.sessionId !== undefined ? { sessionId: stage.sessionId } : {}),
281
- ...(stage.sessionFile !== undefined ? { sessionFile: stage.sessionFile } : {}),
282
- ...(stage.model !== undefined ? { model: stage.model } : {}),
283
- ...(stage.fastMode !== undefined ? { fastMode: stage.fastMode } : {}),
284
- ...(stage.attemptedModels !== undefined ? { attemptedModels: [...stage.attemptedModels] } : {}),
285
- ...(stage.modelAttempts !== undefined ? { modelAttempts: [...stage.modelAttempts] } : {}),
286
- };
287
- }
288
275
 
289
276
  function taskCheckpointMetadata(result: WorkflowTaskResult): Partial<DurableStageCheckpoint> {
290
277
  return {
@@ -322,7 +309,9 @@ function mergeCheckpointHydrationMetadata(
322
309
  replayValueCheckpoint: DurableCompletedStageCheckpoint,
323
310
  checkpoints: readonly DurableStageCheckpoint[],
324
311
  ): DurableCompletedStageCheckpoint {
325
- if (checkpoints.length === 0) return replayValueCheckpoint;
312
+ if (checkpoints.length === 0 || replayValueCheckpoint.topology?.boundary?.event === "terminal") {
313
+ return replayValueCheckpoint;
314
+ }
326
315
  return {
327
316
  ...replayValueCheckpoint,
328
317
  ...preferredHydrationTopology(replayValueCheckpoint, checkpoints),
@@ -338,10 +327,15 @@ function mergeCheckpointHydrationMetadata(
338
327
  ...(replayValueCheckpoint.modelAttempts === undefined ? metadataValue(checkpoints, "modelAttempts") : {}),
339
328
  };
340
329
  }
330
+
341
331
  function preferredHydrationTopology(
342
332
  replayValueCheckpoint: DurableCompletedStageCheckpoint,
343
333
  checkpoints: readonly DurableStageCheckpoint[],
344
334
  ): Pick<DurableStageCheckpoint, "topology"> | Record<string, never> {
335
+ for (let index = checkpoints.length - 1; index >= 0; index -= 1) {
336
+ const topology = checkpoints[index]?.topology;
337
+ if (topology?.boundary !== undefined) return { topology };
338
+ }
345
339
  for (let index = checkpoints.length - 1; index >= 0; index -= 1) {
346
340
  const topology = checkpoints[index]?.topology;
347
341
  if (topology?.run !== undefined) return { topology };
@@ -392,6 +386,7 @@ export function cachedStageId(runId: string, replayKey: string): string {
392
386
  function stageMetadataCheckpointId(replayKey: string, stage: StageSnapshot): string {
393
387
  return `${stableCheckpointId("stage-meta", replayKey)}:${durableHash({
394
388
  stageId: stage.id,
389
+ status: stage.status,
395
390
  endedAt: stage.endedAt ?? 0,
396
391
  durationMs: stage.durationMs ?? 0,
397
392
  result: stage.result ?? "",
@@ -410,14 +405,24 @@ export function recordCachedStageIntoStore(
410
405
  checkpoint?: DurableCompletedStageCheckpoint,
411
406
  ): void {
412
407
  const now = Date.now();
413
- const stageId = cachedStageId(runId, replayKey);
408
+ const sourceStageId = checkpoint?.topology?.run?.runId === runId
409
+ ? checkpoint.topology.stageId
410
+ : undefined;
411
+ const stageId = sourceStageId ?? cachedStageId(runId, replayKey);
414
412
  const result = checkpoint?.result ?? (typeof output === "string" ? output : JSON.stringify(output));
415
413
  const endedAt = checkpoint?.endedAt ?? checkpoint?.completedAt ?? now;
416
- const workflowChild = isWorkflowChildResult(output) ? workflowChildSnapshotFromResult(output) : undefined;
414
+ const hasCurrentIdentity = checkpoint?.topology?.sourceOrder !== undefined
415
+ || checkpoint?.topology?.status !== undefined || checkpoint?.topology?.occurrenceKey !== undefined
416
+ || checkpoint?.topology?.boundary !== undefined;
417
+ const childResult = parseWorkflowChildResult(output)
418
+ ?? (hasCurrentIdentity ? undefined : parseLegacyWorkflowChildResult(output));
419
+ const workflowChild = childResult === undefined ? undefined : workflowChildSnapshotFromResult(childResult);
420
+ const executionOrder = checkpoint?.topology?.order ?? checkpoint?.topology?.sourceOrder;
417
421
  const snapshot: StageSnapshot = {
418
422
  id: stageId, name, status: "completed", parentIds: parentIds !== undefined ? Object.freeze([...parentIds]) : [],
419
423
  startedAt: checkpoint?.startedAt ?? endedAt, endedAt, durationMs: checkpoint?.durationMs ?? 0, result,
420
424
  replayKey, replayed: true, skippedReason: "durable checkpoint replay", toolEvents: [], attachable: false,
425
+ ...(executionOrder !== undefined ? { executionOrder } : {}),
421
426
  ...(checkpoint?.topology !== undefined ? { replayedFromStageId: checkpoint.topology.stageId } : {}),
422
427
  ...(workflowChild !== undefined ? { workflowChild } : {}),
423
428
  ...(checkpoint?.sessionId !== undefined ? { sessionId: checkpoint.sessionId } : {}),
@@ -446,15 +451,19 @@ export function recordCachedStageWithTracker(
446
451
  checkpoint: DurableCompletedStageCheckpoint,
447
452
  completedStageReplayKeys: Map<string, string>,
448
453
  stageFailFastScope?: ParallelFailFastScope,
454
+ sourceToReplayedNodeIds?: Map<string, string>,
449
455
  ): void {
450
- const stageId = cachedStageId(runId, replayKey);
451
- let parentIds = tracker.onSpawn(stageId, name);
452
- const sourceParents = checkpoint.topology?.run?.runId === runId
453
- ? checkpoint.topology.parentIds
456
+ const sourceStageId = checkpoint.topology?.run?.runId === runId
457
+ ? checkpoint.topology.stageId
454
458
  : undefined;
459
+ const stageId = sourceStageId ?? cachedStageId(runId, replayKey);
460
+ let parentIds = tracker.onSpawn(stageId, name);
461
+ const sourceParents = sourceStageId === undefined ? undefined : checkpoint.topology?.parentIds;
455
462
  const run = store.runs().find((candidate) => candidate.id === runId);
456
463
  const restored = sourceParents?.map((sourceId) =>
457
- run?.stages.find((stage) => stage.replayedFromStageId === sourceId)?.id
464
+ sourceToReplayedNodeIds?.get(sourceId)
465
+ ?? run?.stages.find((stage) => stage.id === sourceId || stage.replayedFromStageId === sourceId)?.id
466
+
458
467
  );
459
468
  if (restored !== undefined && restored.every((id): id is string => id !== undefined)) {
460
469
  parentIds = restored;
@@ -463,6 +472,7 @@ export function recordCachedStageWithTracker(
463
472
  parentIds = [...(stageFailFastScope.parentIds ?? [])];
464
473
  tracker.replaceParents(stageId, parentIds);
465
474
  }
475
+ if (checkpoint.topology?.run?.runId === runId) sourceToReplayedNodeIds?.set(checkpoint.topology.stageId, stageId);
466
476
  recordCachedStageIntoStore(store, runId, name, replayKey, checkpoint.output, completedStageReplayKeys, parentIds, checkpoint);
467
477
  tracker.onSettle(stageId);
468
478
  }
@@ -471,16 +481,6 @@ function isWorkflowTaskResult(value: WorkflowSerializableValue): value is Workfl
471
481
  return typeof (value as Record<string, WorkflowSerializableValue>)["text"] === "string";
472
482
  }
473
483
 
474
- function isWorkflowChildResult(value: WorkflowSerializableValue): value is WorkflowChildResult<WorkflowOutputValues> {
475
- if (typeof value !== "object" || value === null || Array.isArray(value)) return false;
476
- const objectValue = value as Record<string, WorkflowSerializableValue | undefined>;
477
- return typeof objectValue["workflow"] === "string"
478
- && typeof objectValue["runId"] === "string"
479
- && typeof objectValue["status"] === "string"
480
- && typeof objectValue["outputs"] === "object"
481
- && objectValue["outputs"] !== null
482
- && !Array.isArray(objectValue["outputs"]);
483
- }
484
484
 
485
485
  function workflowChildSnapshotFromResult(result: WorkflowChildResult<WorkflowOutputValues>): StageSnapshot["workflowChild"] {
486
486
  return {