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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2333) hide show
  1. package/CHANGELOG.md +241 -0
  2. package/README.md +15 -10
  3. package/dist/builtin/intercom/package.json +3 -3
  4. package/dist/builtin/mcp/CHANGELOG.md +12 -0
  5. package/dist/builtin/mcp/README.md +3 -3
  6. package/dist/builtin/mcp/cli.js +0 -1
  7. package/dist/builtin/mcp/commands.ts +7 -3
  8. package/dist/builtin/mcp/config.ts +0 -2
  9. package/dist/builtin/mcp/package.json +6 -6
  10. package/dist/builtin/mcp/sampling-handler.ts +1 -5
  11. package/dist/builtin/mcp/types.ts +0 -1
  12. package/dist/builtin/subagents/CHANGELOG.md +34 -0
  13. package/dist/builtin/subagents/README.md +10 -1
  14. package/dist/builtin/subagents/agents/code-simplifier.md +48 -103
  15. package/dist/builtin/subagents/agents/codebase-analyzer.md +28 -131
  16. package/dist/builtin/subagents/agents/codebase-locator.md +25 -84
  17. package/dist/builtin/subagents/agents/codebase-online-researcher.md +61 -260
  18. package/dist/builtin/subagents/agents/codebase-pattern-finder.md +30 -208
  19. package/dist/builtin/subagents/agents/codebase-research-analyzer.md +29 -151
  20. package/dist/builtin/subagents/agents/codebase-research-locator.md +22 -119
  21. package/dist/builtin/subagents/agents/debugger.md +29 -65
  22. package/dist/builtin/subagents/agents/worker.md +24 -31
  23. package/dist/builtin/subagents/package.json +5 -5
  24. package/dist/builtin/subagents/prompts/gather-context-and-clarify.md +18 -11
  25. package/dist/builtin/subagents/prompts/parallel-cleanup.md +34 -33
  26. package/dist/builtin/subagents/prompts/parallel-context-build.md +22 -36
  27. package/dist/builtin/subagents/prompts/parallel-handoff-plan.md +20 -52
  28. package/dist/builtin/subagents/prompts/parallel-research.md +17 -41
  29. package/dist/builtin/subagents/prompts/parallel-review.md +23 -28
  30. package/dist/builtin/subagents/prompts/review-loop.md +18 -27
  31. package/dist/builtin/subagents/skills/subagent/SKILL.md +6 -6
  32. package/dist/builtin/subagents/src/agents/agent-discovery.ts +26 -15
  33. package/dist/builtin/subagents/src/agents/agent-loaders.ts +48 -34
  34. package/dist/builtin/subagents/src/agents/agent-management-helpers.ts +80 -31
  35. package/dist/builtin/subagents/src/agents/agent-management.ts +194 -55
  36. package/dist/builtin/subagents/src/agents/agent-overrides.ts +85 -32
  37. package/dist/builtin/subagents/src/agents/agent-paths.ts +4 -1
  38. package/dist/builtin/subagents/src/agents/agent-selection.ts +1 -1
  39. package/dist/builtin/subagents/src/agents/agent-serializer.ts +1 -4
  40. package/dist/builtin/subagents/src/agents/agents.ts +9 -9
  41. package/dist/builtin/subagents/src/agents/chain-serializer.ts +9 -5
  42. package/dist/builtin/subagents/src/agents/identity.ts +12 -3
  43. package/dist/builtin/subagents/src/agents/skills-paths.ts +64 -24
  44. package/dist/builtin/subagents/src/agents/skills.ts +29 -26
  45. package/dist/builtin/subagents/src/extension/doctor.ts +31 -20
  46. package/dist/builtin/subagents/src/extension/fanout-child.ts +27 -12
  47. package/dist/builtin/subagents/src/extension/index.ts +119 -43
  48. package/dist/builtin/subagents/src/extension/prompt-guidance.ts +4 -2
  49. package/dist/builtin/subagents/src/extension/schemas.ts +304 -177
  50. package/dist/builtin/subagents/src/extension/startup-maintenance.ts +137 -73
  51. package/dist/builtin/subagents/src/intercom/intercom-bridge.ts +49 -21
  52. package/dist/builtin/subagents/src/intercom/result-intercom.ts +76 -38
  53. package/dist/builtin/subagents/src/runs/background/async-event-journal.ts +12 -6
  54. package/dist/builtin/subagents/src/runs/background/async-execution-chain.ts +183 -57
  55. package/dist/builtin/subagents/src/runs/background/async-execution-common.ts +15 -18
  56. package/dist/builtin/subagents/src/runs/background/async-execution-single.ts +67 -26
  57. package/dist/builtin/subagents/src/runs/background/async-execution-types.ts +8 -8
  58. package/dist/builtin/subagents/src/runs/background/async-execution.ts +1 -1
  59. package/dist/builtin/subagents/src/runs/background/async-job-tracker.ts +86 -32
  60. package/dist/builtin/subagents/src/runs/background/async-resume.ts +93 -36
  61. package/dist/builtin/subagents/src/runs/background/async-status.ts +82 -27
  62. package/dist/builtin/subagents/src/runs/background/completion-claims.ts +12 -5
  63. package/dist/builtin/subagents/src/runs/background/completion-dedupe.ts +3 -1
  64. package/dist/builtin/subagents/src/runs/background/completion-notification.ts +3 -1
  65. package/dist/builtin/subagents/src/runs/background/notify.ts +38 -18
  66. package/dist/builtin/subagents/src/runs/background/parallel-groups.ts +28 -14
  67. package/dist/builtin/subagents/src/runs/background/result-delivery-processor.ts +147 -79
  68. package/dist/builtin/subagents/src/runs/background/result-file-claims.ts +20 -5
  69. package/dist/builtin/subagents/src/runs/background/result-quarantine.ts +7 -2
  70. package/dist/builtin/subagents/src/runs/background/result-status.ts +11 -5
  71. package/dist/builtin/subagents/src/runs/background/result-watcher-data.ts +18 -5
  72. package/dist/builtin/subagents/src/runs/background/result-watcher.ts +104 -35
  73. package/dist/builtin/subagents/src/runs/background/run-id-resolver.ts +28 -7
  74. package/dist/builtin/subagents/src/runs/background/run-status.ts +120 -32
  75. package/dist/builtin/subagents/src/runs/background/stale-run-reconciler.ts +98 -39
  76. package/dist/builtin/subagents/src/runs/background/subagent-runner-dynamic.ts +185 -37
  77. package/dist/builtin/subagents/src/runs/background/subagent-runner-finalize.ts +23 -9
  78. package/dist/builtin/subagents/src/runs/background/subagent-runner-output.ts +6 -2
  79. package/dist/builtin/subagents/src/runs/background/subagent-runner-parallel-helpers.ts +34 -18
  80. package/dist/builtin/subagents/src/runs/background/subagent-runner-parallel.ts +175 -26
  81. package/dist/builtin/subagents/src/runs/background/subagent-runner-sequential.ts +68 -23
  82. package/dist/builtin/subagents/src/runs/background/subagent-runner-state.ts +200 -49
  83. package/dist/builtin/subagents/src/runs/background/subagent-runner-step.ts +82 -49
  84. package/dist/builtin/subagents/src/runs/background/subagent-runner-streaming.ts +33 -11
  85. package/dist/builtin/subagents/src/runs/background/subagent-runner-types.ts +16 -6
  86. package/dist/builtin/subagents/src/runs/background/subagent-runner-utils.ts +2 -3
  87. package/dist/builtin/subagents/src/runs/background/subagent-runner.ts +11 -8
  88. package/dist/builtin/subagents/src/runs/foreground/chain-execution-details.ts +5 -2
  89. package/dist/builtin/subagents/src/runs/foreground/chain-execution-dynamic-step.ts +115 -31
  90. package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-runner.ts +71 -54
  91. package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-step.ts +104 -37
  92. package/dist/builtin/subagents/src/runs/foreground/chain-execution-sequential-step.ts +102 -61
  93. package/dist/builtin/subagents/src/runs/foreground/chain-execution-types.ts +24 -10
  94. package/dist/builtin/subagents/src/runs/foreground/chain-execution.ts +9 -6
  95. package/dist/builtin/subagents/src/runs/foreground/detached-cleanup-barrier.ts +22 -22
  96. package/dist/builtin/subagents/src/runs/foreground/execution-attempt-control.ts +45 -40
  97. package/dist/builtin/subagents/src/runs/foreground/execution-attempt-finalize.ts +6 -5
  98. package/dist/builtin/subagents/src/runs/foreground/execution-attempt.ts +118 -43
  99. package/dist/builtin/subagents/src/runs/foreground/execution-detach-reservations.ts +17 -7
  100. package/dist/builtin/subagents/src/runs/foreground/execution-detach-route.ts +5 -3
  101. package/dist/builtin/subagents/src/runs/foreground/execution-intercom-detach.ts +39 -35
  102. package/dist/builtin/subagents/src/runs/foreground/execution-run-sync.ts +81 -42
  103. package/dist/builtin/subagents/src/runs/foreground/execution-structured-retries.ts +27 -21
  104. package/dist/builtin/subagents/src/runs/foreground/execution-updates.ts +2 -5
  105. package/dist/builtin/subagents/src/runs/foreground/execution-utils.ts +9 -4
  106. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-async.ts +69 -25
  107. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-chain.ts +36 -19
  108. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-context.ts +95 -62
  109. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-input.ts +30 -9
  110. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel-task.ts +106 -96
  111. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel.ts +68 -36
  112. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-resume.ts +262 -83
  113. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-runtime.ts +6 -1
  114. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-single.ts +67 -41
  115. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-status.ts +129 -44
  116. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-types.ts +20 -3
  117. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-worktree.ts +8 -6
  118. package/dist/builtin/subagents/src/runs/foreground/subagent-executor.ts +65 -47
  119. package/dist/builtin/subagents/src/runs/shared/chain-outputs.ts +37 -12
  120. package/dist/builtin/subagents/src/runs/shared/dynamic-fanout.ts +120 -34
  121. package/dist/builtin/subagents/src/runs/shared/final-drain.ts +12 -7
  122. package/dist/builtin/subagents/src/runs/shared/intercom-group.ts +3 -2
  123. package/dist/builtin/subagents/src/runs/shared/long-running-guard.ts +8 -3
  124. package/dist/builtin/subagents/src/runs/shared/mcp-direct-tool-allowlist.ts +42 -20
  125. package/dist/builtin/subagents/src/runs/shared/model-candidate-filter.ts +8 -4
  126. package/dist/builtin/subagents/src/runs/shared/model-fallback.ts +103 -38
  127. package/dist/builtin/subagents/src/runs/shared/nested-events-control.ts +30 -20
  128. package/dist/builtin/subagents/src/runs/shared/nested-events-core.ts +45 -20
  129. package/dist/builtin/subagents/src/runs/shared/nested-events-projection.ts +57 -23
  130. package/dist/builtin/subagents/src/runs/shared/nested-events-registry.ts +77 -29
  131. package/dist/builtin/subagents/src/runs/shared/nested-events-sanitize.ts +99 -42
  132. package/dist/builtin/subagents/src/runs/shared/nested-events.ts +32 -26
  133. package/dist/builtin/subagents/src/runs/shared/nested-path.ts +22 -17
  134. package/dist/builtin/subagents/src/runs/shared/nested-render.ts +31 -10
  135. package/dist/builtin/subagents/src/runs/shared/parallel-utils.ts +10 -8
  136. package/dist/builtin/subagents/src/runs/shared/pi-args.ts +59 -33
  137. package/dist/builtin/subagents/src/runs/shared/pi-spawn.ts +17 -13
  138. package/dist/builtin/subagents/src/runs/shared/run-history.ts +13 -6
  139. package/dist/builtin/subagents/src/runs/shared/single-output.ts +11 -6
  140. package/dist/builtin/subagents/src/runs/shared/spawn-env.ts +21 -0
  141. package/dist/builtin/subagents/src/runs/shared/structured-output.ts +33 -19
  142. package/dist/builtin/subagents/src/runs/shared/subagent-control.ts +59 -48
  143. package/dist/builtin/subagents/src/runs/shared/subagent-prompt-runtime.ts +18 -11
  144. package/dist/builtin/subagents/src/runs/shared/workflow-graph.ts +41 -11
  145. package/dist/builtin/subagents/src/runs/shared/worktree-post-create.ts +46 -10
  146. package/dist/builtin/subagents/src/runs/shared/worktree-root.ts +21 -5
  147. package/dist/builtin/subagents/src/runs/shared/worktree.ts +89 -34
  148. package/dist/builtin/subagents/src/shared/artifacts.ts +137 -7
  149. package/dist/builtin/subagents/src/shared/event-jsonl-writer.ts +49 -13
  150. package/dist/builtin/subagents/src/shared/fast-mode.ts +13 -6
  151. package/dist/builtin/subagents/src/shared/fork-context.ts +7 -4
  152. package/dist/builtin/subagents/src/shared/formatters.ts +14 -9
  153. package/dist/builtin/subagents/src/shared/jsonl-writer.ts +2 -1
  154. package/dist/builtin/subagents/src/shared/model-info.ts +10 -3
  155. package/dist/builtin/subagents/src/shared/post-exit-stdio-guard.ts +7 -6
  156. package/dist/builtin/subagents/src/shared/session-tokens.ts +2 -1
  157. package/dist/builtin/subagents/src/shared/settings.ts +43 -43
  158. package/dist/builtin/subagents/src/shared/status-format.ts +10 -2
  159. package/dist/builtin/subagents/src/shared/types-async.ts +22 -19
  160. package/dist/builtin/subagents/src/shared/types-config.ts +1 -1
  161. package/dist/builtin/subagents/src/shared/types-depth.ts +23 -11
  162. package/dist/builtin/subagents/src/shared/types-results.ts +49 -6
  163. package/dist/builtin/subagents/src/shared/types-runtime.ts +16 -17
  164. package/dist/builtin/subagents/src/shared/types.ts +2 -2
  165. package/dist/builtin/subagents/src/shared/utils.ts +34 -20
  166. package/dist/builtin/subagents/src/slash/prompt-template-bridge.ts +44 -47
  167. package/dist/builtin/subagents/src/slash/saved-chain-mapping.ts +5 -7
  168. package/dist/builtin/subagents/src/slash/slash-bridge.ts +3 -3
  169. package/dist/builtin/subagents/src/slash/slash-commands.ts +78 -52
  170. package/dist/builtin/subagents/src/slash/slash-live-state.ts +59 -32
  171. package/dist/builtin/subagents/src/tui/render-chain-graph.ts +120 -32
  172. package/dist/builtin/subagents/src/tui/render-event-formatting.ts +85 -22
  173. package/dist/builtin/subagents/src/tui/render-helpers.ts +16 -6
  174. package/dist/builtin/subagents/src/tui/render-layout.ts +8 -3
  175. package/dist/builtin/subagents/src/tui/render-result-compact.ts +125 -43
  176. package/dist/builtin/subagents/src/tui/render-result.ts +128 -85
  177. package/dist/builtin/subagents/src/tui/render-stable-output.ts +17 -13
  178. package/dist/builtin/subagents/src/tui/render-status-progress.ts +52 -20
  179. package/dist/builtin/subagents/src/tui/render-widget-graph.ts +130 -28
  180. package/dist/builtin/subagents/src/tui/render-widget.ts +54 -27
  181. package/dist/builtin/subagents/src/tui/render.ts +10 -3
  182. package/dist/builtin/web-access/package.json +2 -2
  183. package/dist/builtin/workflows/CHANGELOG.md +110 -0
  184. package/dist/builtin/workflows/README.md +78 -70
  185. package/dist/builtin/workflows/ambient.d.ts +0 -5
  186. package/dist/builtin/workflows/builtin/adversarial-verification-prompts.ts +7 -4
  187. package/dist/builtin/workflows/builtin/adversarial-verification-runner.ts +1 -1
  188. package/dist/builtin/workflows/builtin/adversarial-verification.ts +2 -1
  189. package/dist/builtin/workflows/builtin/classify-and-act-prompts.ts +5 -2
  190. package/dist/builtin/workflows/builtin/classify-and-act-runner.ts +5 -7
  191. package/dist/builtin/workflows/builtin/classify-and-act.ts +3 -2
  192. package/dist/builtin/workflows/builtin/fan-out-and-synthesize-prompts.ts +6 -3
  193. package/dist/builtin/workflows/builtin/fan-out-and-synthesize-runner.ts +5 -5
  194. package/dist/builtin/workflows/builtin/fan-out-and-synthesize.ts +3 -2
  195. package/dist/builtin/workflows/builtin/generate-and-filter-prompts.ts +7 -4
  196. package/dist/builtin/workflows/builtin/generate-and-filter-runner.ts +6 -3
  197. package/dist/builtin/workflows/builtin/generate-and-filter.ts +3 -2
  198. package/dist/builtin/workflows/builtin/goal-artifacts.ts +1 -1
  199. package/dist/builtin/workflows/builtin/goal-models.ts +39 -39
  200. package/dist/builtin/workflows/builtin/goal-orchestrator-prompts.ts +94 -0
  201. package/dist/builtin/workflows/builtin/goal-prompts.ts +70 -285
  202. package/dist/builtin/workflows/builtin/goal-reducer.ts +1 -1
  203. package/dist/builtin/workflows/builtin/goal-runner.ts +72 -116
  204. package/dist/builtin/workflows/builtin/goal.ts +12 -11
  205. package/dist/builtin/workflows/builtin/index.d.ts +17 -112
  206. package/dist/builtin/workflows/builtin/index.ts +1 -2
  207. package/dist/builtin/workflows/builtin/loop-until-done-prompts.ts +20 -12
  208. package/dist/builtin/workflows/builtin/loop-until-done-runner.ts +3 -0
  209. package/dist/builtin/workflows/builtin/loop-until-done.ts +3 -2
  210. package/dist/builtin/workflows/builtin/open-claude-design-phases.ts +149 -88
  211. package/dist/builtin/workflows/builtin/open-claude-design-runner.ts +102 -78
  212. package/dist/builtin/workflows/builtin/open-claude-design-setup.ts +164 -56
  213. package/dist/builtin/workflows/builtin/open-claude-design-utils.ts +16 -21
  214. package/dist/builtin/workflows/builtin/open-claude-design.ts +2 -1
  215. package/dist/builtin/workflows/builtin/ralph-core.ts +61 -57
  216. package/dist/builtin/workflows/builtin/ralph-forked-prompts.ts +41 -45
  217. package/dist/builtin/workflows/builtin/ralph-models.ts +37 -47
  218. package/dist/builtin/workflows/builtin/ralph-reviewer-prompt.ts +37 -117
  219. package/dist/builtin/workflows/builtin/ralph-runner.ts +83 -108
  220. package/dist/builtin/workflows/builtin/ralph.ts +6 -5
  221. package/dist/builtin/workflows/builtin/shared-prompts.ts +117 -70
  222. package/dist/builtin/workflows/builtin/steering-context.ts +51 -0
  223. package/dist/builtin/workflows/builtin/tournament-prompts.ts +21 -12
  224. package/dist/builtin/workflows/builtin/tournament-runner.ts +3 -0
  225. package/dist/builtin/workflows/builtin/tournament.ts +3 -2
  226. package/dist/builtin/workflows/package.json +4 -4
  227. package/dist/builtin/workflows/skills/create-spec/SKILL.md +1 -1
  228. package/dist/builtin/workflows/skills/impeccable/SKILL.md +33 -129
  229. package/dist/builtin/workflows/skills/impeccable/agents/impeccable_asset_producer.toml +11 -3
  230. package/dist/builtin/workflows/skills/impeccable/agents/impeccable_documenter.toml +26 -0
  231. package/dist/builtin/workflows/skills/impeccable/agents/impeccable_finish_reviewer.toml +35 -0
  232. package/dist/builtin/workflows/skills/impeccable/reference/android.md +1 -1
  233. package/dist/builtin/workflows/skills/impeccable/reference/animate.md +72 -189
  234. package/dist/builtin/workflows/skills/impeccable/reference/audit.md +10 -9
  235. package/dist/builtin/workflows/skills/impeccable/reference/audit.native.md +2 -2
  236. package/dist/builtin/workflows/skills/impeccable/reference/bolder.md +19 -108
  237. package/dist/builtin/workflows/skills/impeccable/reference/clarify.md +59 -253
  238. package/dist/builtin/workflows/skills/impeccable/reference/colorize.md +51 -222
  239. package/dist/builtin/workflows/skills/impeccable/reference/craft-floor.md +45 -0
  240. package/dist/builtin/workflows/skills/impeccable/reference/craft.md +3 -121
  241. package/dist/builtin/workflows/skills/impeccable/reference/critique.md +28 -20
  242. package/dist/builtin/workflows/skills/impeccable/reference/degraded/asset-producer.md +97 -0
  243. package/dist/builtin/workflows/skills/impeccable/reference/degraded/documenter.md +23 -0
  244. package/dist/builtin/workflows/skills/impeccable/reference/degraded/finish-reviewer.md +32 -0
  245. package/dist/builtin/workflows/skills/impeccable/reference/degraded/manual-edit-applier.md +92 -0
  246. package/dist/builtin/workflows/skills/impeccable/reference/delight.md +47 -279
  247. package/dist/builtin/workflows/skills/impeccable/reference/distill.md +2 -2
  248. package/dist/builtin/workflows/skills/impeccable/reference/doctor.md +53 -0
  249. package/dist/builtin/workflows/skills/impeccable/reference/document.md +60 -73
  250. package/dist/builtin/workflows/skills/impeccable/reference/harden.md +1 -12
  251. package/dist/builtin/workflows/skills/impeccable/reference/hooks.md +23 -12
  252. package/dist/builtin/workflows/skills/impeccable/reference/init.md +64 -163
  253. package/dist/builtin/workflows/skills/impeccable/reference/ios.md +1 -1
  254. package/dist/builtin/workflows/skills/impeccable/reference/layout.md +52 -153
  255. package/dist/builtin/workflows/skills/impeccable/reference/live.md +47 -36
  256. package/dist/builtin/workflows/skills/impeccable/reference/new-work.md +105 -0
  257. package/dist/builtin/workflows/skills/impeccable/reference/{product.md → operate.md} +6 -5
  258. package/dist/builtin/workflows/skills/impeccable/reference/optimize.md +4 -4
  259. package/dist/builtin/workflows/skills/impeccable/reference/overdrive.md +1 -4
  260. package/dist/builtin/workflows/skills/impeccable/reference/polish.md +68 -212
  261. package/dist/builtin/workflows/skills/impeccable/reference/quieter.md +3 -3
  262. package/dist/builtin/workflows/skills/impeccable/reference/routing.md +18 -0
  263. package/dist/builtin/workflows/skills/impeccable/reference/shape.md +38 -144
  264. package/dist/builtin/workflows/skills/impeccable/reference/typeset.md +48 -269
  265. package/dist/builtin/workflows/skills/impeccable/reference/visualize.md +38 -0
  266. package/dist/builtin/workflows/skills/impeccable/scripts/command-metadata.json +1 -1
  267. package/dist/builtin/workflows/skills/impeccable/scripts/concept-seed.mjs +584 -0
  268. package/dist/builtin/workflows/skills/impeccable/scripts/context-signals.mjs +117 -9
  269. package/dist/builtin/workflows/skills/impeccable/scripts/context.mjs +486 -59
  270. package/dist/builtin/workflows/skills/impeccable/scripts/critique-storage.mjs +16 -45
  271. package/dist/builtin/workflows/skills/impeccable/scripts/detector/browser/injected/index.mjs +96 -10
  272. package/dist/builtin/workflows/skills/impeccable/scripts/detector/cli/main.mjs +143 -26
  273. package/dist/builtin/workflows/skills/impeccable/scripts/detector/design-system.mjs +181 -12
  274. package/dist/builtin/workflows/skills/impeccable/scripts/detector/detect-antipatterns-browser.js +3187 -182
  275. package/dist/builtin/workflows/skills/impeccable/scripts/detector/engines/browser/detect-url.mjs +102 -7
  276. package/dist/builtin/workflows/skills/impeccable/scripts/detector/engines/regex/detect-text.mjs +282 -70
  277. package/dist/builtin/workflows/skills/impeccable/scripts/detector/engines/static-html/css-cascade.mjs +183 -15
  278. package/dist/builtin/workflows/skills/impeccable/scripts/detector/engines/static-html/detect-html.mjs +22 -7
  279. package/dist/builtin/workflows/skills/impeccable/scripts/detector/findings.mjs +7 -1
  280. package/dist/builtin/workflows/skills/impeccable/scripts/detector/node/file-system.mjs +16 -2
  281. package/dist/builtin/workflows/skills/impeccable/scripts/detector/registry/antipatterns.mjs +155 -42
  282. package/dist/builtin/workflows/skills/impeccable/scripts/detector/rules/checks.mjs +2988 -155
  283. package/dist/builtin/workflows/skills/impeccable/scripts/detector/shared/constants.mjs +11 -0
  284. package/dist/builtin/workflows/skills/impeccable/scripts/doctor.mjs +336 -0
  285. package/dist/builtin/workflows/skills/impeccable/scripts/generate-image.mjs +232 -0
  286. package/dist/builtin/workflows/skills/impeccable/scripts/hook-admin.mjs +92 -30
  287. package/dist/builtin/workflows/skills/impeccable/scripts/hook-lib.mjs +414 -120
  288. package/dist/builtin/workflows/skills/impeccable/scripts/hook.mjs +25 -8
  289. package/dist/builtin/workflows/skills/impeccable/scripts/lib/artifact-schema.mjs +93 -0
  290. package/dist/builtin/workflows/skills/impeccable/scripts/lib/composition-catalog.mjs +165 -0
  291. package/dist/builtin/workflows/skills/impeccable/scripts/lib/concept-catalog.mjs +329 -0
  292. package/dist/builtin/workflows/skills/impeccable/scripts/lib/impeccable-config.mjs +20 -5
  293. package/dist/builtin/workflows/skills/impeccable/scripts/lib/impeccable-paths.mjs +16 -8
  294. package/dist/builtin/workflows/skills/impeccable/scripts/lib/provider.mjs +1 -0
  295. package/dist/builtin/workflows/skills/impeccable/scripts/lib/staleness-deep.mjs +455 -0
  296. package/dist/builtin/workflows/skills/impeccable/scripts/lib/staleness-notice.mjs +169 -0
  297. package/dist/builtin/workflows/skills/impeccable/scripts/lib/staleness.mjs +457 -0
  298. package/dist/builtin/workflows/skills/impeccable/scripts/lib/surface-briefs.mjs +151 -0
  299. package/dist/builtin/workflows/skills/impeccable/scripts/lib/target-slug.mjs +33 -0
  300. package/dist/builtin/workflows/skills/impeccable/scripts/lib/template-extensions.mjs +146 -0
  301. package/dist/builtin/workflows/skills/impeccable/scripts/live/completion.mjs +10 -1
  302. package/dist/builtin/workflows/skills/impeccable/scripts/live/event-validation.mjs +15 -0
  303. package/dist/builtin/workflows/skills/impeccable/scripts/live/generation-preflight.mjs +149 -0
  304. package/dist/builtin/workflows/skills/impeccable/scripts/live/poll-lanes.mjs +14 -0
  305. package/dist/builtin/workflows/skills/impeccable/scripts/live/session-store.mjs +109 -32
  306. package/dist/builtin/workflows/skills/impeccable/scripts/live/source-lock.mjs +105 -0
  307. package/dist/builtin/workflows/skills/impeccable/scripts/live/source-search.mjs +105 -0
  308. package/dist/builtin/workflows/skills/impeccable/scripts/live/sveltekit-adapter.mjs +8 -6
  309. package/dist/builtin/workflows/skills/impeccable/scripts/live/tanstack-adapter.mjs +280 -0
  310. package/dist/builtin/workflows/skills/impeccable/scripts/live-accept.mjs +212 -69
  311. package/dist/builtin/workflows/skills/impeccable/scripts/live-browser-dom.js +5 -1
  312. package/dist/builtin/workflows/skills/impeccable/scripts/live-browser-session.js +7 -1
  313. package/dist/builtin/workflows/skills/impeccable/scripts/live-browser.js +565 -115
  314. package/dist/builtin/workflows/skills/impeccable/scripts/live-commit-manual-edits.mjs +3 -0
  315. package/dist/builtin/workflows/skills/impeccable/scripts/live-inject.mjs +198 -14
  316. package/dist/builtin/workflows/skills/impeccable/scripts/live-insert.mjs +24 -6
  317. package/dist/builtin/workflows/skills/impeccable/scripts/live-manual-edit-evidence.mjs +11 -3
  318. package/dist/builtin/workflows/skills/impeccable/scripts/live-poll.mjs +44 -14
  319. package/dist/builtin/workflows/skills/impeccable/scripts/live-server.mjs +405 -34
  320. package/dist/builtin/workflows/skills/impeccable/scripts/live-status.mjs +9 -5
  321. package/dist/builtin/workflows/skills/impeccable/scripts/live-wrap.mjs +81 -67
  322. package/dist/builtin/workflows/skills/impeccable/scripts/live.mjs +7 -2
  323. package/dist/builtin/workflows/skills/impeccable/scripts/palette.mjs +76 -81
  324. package/dist/builtin/workflows/skills/impeccable/scripts/pin.mjs +4 -4
  325. package/dist/builtin/workflows/skills/impeccable/scripts/serve-question.mjs +890 -0
  326. package/dist/builtin/workflows/skills/impeccable/scripts/surface-brief.mjs +74 -0
  327. package/dist/builtin/workflows/skills/prompt-engineer/SKILL.md +57 -252
  328. package/dist/builtin/workflows/skills/prompt-engineer/references/advanced_patterns.md +70 -226
  329. package/dist/builtin/workflows/skills/prompt-engineer/references/core_prompting.md +64 -103
  330. package/dist/builtin/workflows/skills/prompt-engineer/references/quality_improvement.md +81 -155
  331. package/dist/builtin/workflows/src/authoring/typebox-defaults.d.ts +5 -5
  332. package/dist/builtin/workflows/src/authoring/typebox-defaults.ts +160 -197
  333. package/dist/builtin/workflows/src/authoring/workflow.ts +137 -132
  334. package/dist/builtin/workflows/src/authoring.d.ts +7 -3
  335. package/dist/builtin/workflows/src/durable/backend.ts +510 -383
  336. package/dist/builtin/workflows/src/durable/boundary-lifecycle.ts +172 -0
  337. package/dist/builtin/workflows/src/durable/boundary-topology.ts +475 -0
  338. package/dist/builtin/workflows/src/durable/child-invocation.ts +14 -0
  339. package/dist/builtin/workflows/src/durable/child-primitive.ts +115 -74
  340. package/dist/builtin/workflows/src/durable/completed-catalog-stage-groups.ts +290 -0
  341. package/dist/builtin/workflows/src/durable/completed-catalog.ts +419 -189
  342. package/dist/builtin/workflows/src/durable/completed-inspection.ts +118 -105
  343. package/dist/builtin/workflows/src/durable/completed-subtree.ts +35 -0
  344. package/dist/builtin/workflows/src/durable/dbos-backend.ts +484 -414
  345. package/dist/builtin/workflows/src/durable/dbos-embedded-postgres-root.ts +86 -87
  346. package/dist/builtin/workflows/src/durable/dbos-embedded-postgres.ts +171 -149
  347. package/dist/builtin/workflows/src/durable/dbos-envelope.ts +415 -189
  348. package/dist/builtin/workflows/src/durable/dbos-lifecycle.ts +128 -106
  349. package/dist/builtin/workflows/src/durable/dbos-local-postgres.ts +75 -68
  350. package/dist/builtin/workflows/src/durable/dbos-metadata.ts +138 -101
  351. package/dist/builtin/workflows/src/durable/dbos-prompt-reservations.ts +316 -259
  352. package/dist/builtin/workflows/src/durable/dbos-sdk-handle.ts +138 -117
  353. package/dist/builtin/workflows/src/durable/dbos-status-transition.ts +48 -43
  354. package/dist/builtin/workflows/src/durable/dbos-tombstone.ts +14 -14
  355. package/dist/builtin/workflows/src/durable/durable-hash.ts +9 -11
  356. package/dist/builtin/workflows/src/durable/factory.ts +54 -29
  357. package/dist/builtin/workflows/src/durable/format-version.ts +1 -1
  358. package/dist/builtin/workflows/src/durable/index.ts +69 -68
  359. package/dist/builtin/workflows/src/durable/local-command.ts +47 -43
  360. package/dist/builtin/workflows/src/durable/prompt-reservation-state.ts +156 -149
  361. package/dist/builtin/workflows/src/durable/prompt-reservations.ts +16 -16
  362. package/dist/builtin/workflows/src/durable/resume-catalog.ts +11 -11
  363. package/dist/builtin/workflows/src/durable/resume-eligibility.ts +27 -25
  364. package/dist/builtin/workflows/src/durable/resume-runtime.ts +261 -222
  365. package/dist/builtin/workflows/src/durable/retention-policy.ts +31 -30
  366. package/dist/builtin/workflows/src/durable/run-timing.ts +42 -41
  367. package/dist/builtin/workflows/src/durable/scoped-backend.ts +261 -193
  368. package/dist/builtin/workflows/src/durable/stage-primitive.ts +466 -370
  369. package/dist/builtin/workflows/src/durable/stage-topology-validation.ts +247 -0
  370. package/dist/builtin/workflows/src/durable/stage-topology.ts +53 -0
  371. package/dist/builtin/workflows/src/durable/tool-failure-checkpoint.ts +49 -0
  372. package/dist/builtin/workflows/src/durable/tool-outcome.ts +130 -0
  373. package/dist/builtin/workflows/src/durable/tool-primitive.ts +642 -137
  374. package/dist/builtin/workflows/src/durable/types.ts +243 -132
  375. package/dist/builtin/workflows/src/durable/ui-primitive.ts +243 -164
  376. package/dist/builtin/workflows/src/durable/workflow-child-result.ts +61 -0
  377. package/dist/builtin/workflows/src/durable/workflow-status-transition.ts +16 -15
  378. package/dist/builtin/workflows/src/engine/graph-inference.ts +76 -76
  379. package/dist/builtin/workflows/src/engine/options.ts +35 -35
  380. package/dist/builtin/workflows/src/engine/primitives/chain.ts +27 -22
  381. package/dist/builtin/workflows/src/engine/primitives/exit.ts +1 -1
  382. package/dist/builtin/workflows/src/engine/primitives/parallel.ts +64 -52
  383. package/dist/builtin/workflows/src/engine/primitives/task.ts +110 -95
  384. package/dist/builtin/workflows/src/engine/primitives/ui.ts +46 -50
  385. package/dist/builtin/workflows/src/engine/primitives/workflow.ts +194 -151
  386. package/dist/builtin/workflows/src/engine/replay.ts +6 -6
  387. package/dist/builtin/workflows/src/engine/run-durable-admission.ts +50 -0
  388. package/dist/builtin/workflows/src/engine/run-durable-finalize.ts +64 -37
  389. package/dist/builtin/workflows/src/engine/run-durable-stage-session.ts +30 -24
  390. package/dist/builtin/workflows/src/engine/run-durable-topology.ts +288 -0
  391. package/dist/builtin/workflows/src/engine/run-returned-status.ts +60 -57
  392. package/dist/builtin/workflows/src/engine/run-terminal-event.ts +39 -0
  393. package/dist/builtin/workflows/src/engine/run-terminal-failure.ts +53 -0
  394. package/dist/builtin/workflows/src/engine/run-tool-admission-boundary.ts +99 -0
  395. package/dist/builtin/workflows/src/engine/run-tool-control-registry.ts +179 -0
  396. package/dist/builtin/workflows/src/engine/run-tool-execution-tracker.ts +164 -0
  397. package/dist/builtin/workflows/src/engine/run-tool-node-lifecycle.ts +152 -0
  398. package/dist/builtin/workflows/src/engine/run.ts +680 -477
  399. package/dist/builtin/workflows/src/engine/runtime.ts +160 -140
  400. package/dist/builtin/workflows/src/engine/workflow-activity.ts +7 -3
  401. package/dist/builtin/workflows/src/engine/workflow-tool-abort.ts +92 -0
  402. package/dist/builtin/workflows/src/extension/atomic-stage-session.ts +123 -120
  403. package/dist/builtin/workflows/src/extension/background-ui-adapter.ts +108 -112
  404. package/dist/builtin/workflows/src/extension/companions.ts +116 -116
  405. package/dist/builtin/workflows/src/extension/completed-stage-intercom-ask.ts +123 -111
  406. package/dist/builtin/workflows/src/extension/config-file-loader.ts +153 -148
  407. package/dist/builtin/workflows/src/extension/config-loader.ts +264 -283
  408. package/dist/builtin/workflows/src/extension/discovery-loaders.ts +81 -84
  409. package/dist/builtin/workflows/src/extension/discovery.ts +267 -272
  410. package/dist/builtin/workflows/src/extension/dispatcher.ts +214 -217
  411. package/dist/builtin/workflows/src/extension/extension-factory.ts +103 -93
  412. package/dist/builtin/workflows/src/extension/extension-lifecycle.ts +127 -111
  413. package/dist/builtin/workflows/src/extension/extension-runtime-state.ts +414 -409
  414. package/dist/builtin/workflows/src/extension/hil-answer-notifications.ts +270 -261
  415. package/dist/builtin/workflows/src/extension/index.bundle.mjs +74625 -0
  416. package/dist/builtin/workflows/src/extension/index.ts +37 -37
  417. package/dist/builtin/workflows/src/extension/lifecycle-notification-delivery.ts +64 -64
  418. package/dist/builtin/workflows/src/extension/lifecycle-notifications.ts +386 -369
  419. package/dist/builtin/workflows/src/extension/mcp.ts +35 -35
  420. package/dist/builtin/workflows/src/extension/postmortem-deps.ts +31 -35
  421. package/dist/builtin/workflows/src/extension/public-types.ts +160 -182
  422. package/dist/builtin/workflows/src/extension/render-call.ts +85 -88
  423. package/dist/builtin/workflows/src/extension/render-component.ts +9 -11
  424. package/dist/builtin/workflows/src/extension/render-result.ts +450 -375
  425. package/dist/builtin/workflows/src/extension/renderers.ts +35 -35
  426. package/dist/builtin/workflows/src/extension/runtime-active-block-claim.ts +37 -37
  427. package/dist/builtin/workflows/src/extension/runtime-durable-resume.ts +146 -138
  428. package/dist/builtin/workflows/src/extension/runtime.ts +346 -258
  429. package/dist/builtin/workflows/src/extension/status-writer.ts +95 -95
  430. package/dist/builtin/workflows/src/extension/ui-surface.ts +224 -218
  431. package/dist/builtin/workflows/src/extension/wiring.ts +307 -281
  432. package/dist/builtin/workflows/src/extension/workflow-command-completions.ts +109 -108
  433. package/dist/builtin/workflows/src/extension/workflow-command-registration.ts +257 -224
  434. package/dist/builtin/workflows/src/extension/workflow-command-surfaces.ts +84 -83
  435. package/dist/builtin/workflows/src/extension/workflow-command-utils.ts +126 -132
  436. package/dist/builtin/workflows/src/extension/workflow-durable-resume-command.ts +213 -199
  437. package/dist/builtin/workflows/src/extension/workflow-model-catalog.ts +24 -0
  438. package/dist/builtin/workflows/src/extension/workflow-module-loader.ts +110 -95
  439. package/dist/builtin/workflows/src/extension/workflow-policy.ts +7 -9
  440. package/dist/builtin/workflows/src/extension/workflow-ports.ts +30 -34
  441. package/dist/builtin/workflows/src/extension/workflow-prompts.ts +41 -20
  442. package/dist/builtin/workflows/src/extension/workflow-reload-coordinator.ts +46 -46
  443. package/dist/builtin/workflows/src/extension/workflow-reload-report.ts +28 -25
  444. package/dist/builtin/workflows/src/extension/workflow-resume-picker-rows.ts +48 -45
  445. package/dist/builtin/workflows/src/extension/workflow-resume-shadow.ts +28 -31
  446. package/dist/builtin/workflows/src/extension/workflow-run-control-command.ts +539 -453
  447. package/dist/builtin/workflows/src/extension/workflow-schema.ts +149 -92
  448. package/dist/builtin/workflows/src/extension/workflow-stage-results.ts +182 -194
  449. package/dist/builtin/workflows/src/extension/workflow-status-summary.ts +154 -116
  450. package/dist/builtin/workflows/src/extension/workflow-targets.ts +159 -125
  451. package/dist/builtin/workflows/src/extension/workflow-tool-content.ts +204 -217
  452. package/dist/builtin/workflows/src/extension/workflow-tool-control.ts +512 -372
  453. package/dist/builtin/workflows/src/extension/workflow-tool-inspection.ts +146 -150
  454. package/dist/builtin/workflows/src/extension/workflow-tool-registration.ts +43 -46
  455. package/dist/builtin/workflows/src/extension/workflow-tool-send.ts +354 -206
  456. package/dist/builtin/workflows/src/extension/workflow-tool.ts +122 -129
  457. package/dist/builtin/workflows/src/intercom/intercom-bridge.ts +17 -20
  458. package/dist/builtin/workflows/src/intercom/intercom-routing.ts +62 -62
  459. package/dist/builtin/workflows/src/intercom/result-intercom.ts +123 -123
  460. package/dist/builtin/workflows/src/runs/background/cancellation-registry.ts +72 -59
  461. package/dist/builtin/workflows/src/runs/background/durable-resume-transition.ts +45 -45
  462. package/dist/builtin/workflows/src/runs/background/job-tracker.ts +69 -34
  463. package/dist/builtin/workflows/src/runs/background/quit-tool-node.ts +71 -0
  464. package/dist/builtin/workflows/src/runs/background/quit.ts +359 -138
  465. package/dist/builtin/workflows/src/runs/background/resume-acknowledgements.ts +70 -69
  466. package/dist/builtin/workflows/src/runs/background/run-inspect.ts +85 -74
  467. package/dist/builtin/workflows/src/runs/background/runner.ts +122 -121
  468. package/dist/builtin/workflows/src/runs/background/startup-admission.ts +56 -60
  469. package/dist/builtin/workflows/src/runs/background/status.ts +324 -284
  470. package/dist/builtin/workflows/src/runs/background/workflow-lifecycle-aggregate.ts +24 -26
  471. package/dist/builtin/workflows/src/runs/foreground/executor-abort.ts +311 -309
  472. package/dist/builtin/workflows/src/runs/foreground/executor-child-boundary.ts +229 -199
  473. package/dist/builtin/workflows/src/runs/foreground/executor-child-helpers.ts +56 -51
  474. package/dist/builtin/workflows/src/runs/foreground/executor-continuation.ts +168 -152
  475. package/dist/builtin/workflows/src/runs/foreground/executor-direct-helpers.ts +255 -217
  476. package/dist/builtin/workflows/src/runs/foreground/executor-exit-manager.ts +178 -173
  477. package/dist/builtin/workflows/src/runs/foreground/executor-hil.ts +273 -269
  478. package/dist/builtin/workflows/src/runs/foreground/executor-inputs.ts +59 -56
  479. package/dist/builtin/workflows/src/runs/foreground/executor-lifecycle.ts +375 -351
  480. package/dist/builtin/workflows/src/runs/foreground/executor-outputs.ts +123 -127
  481. package/dist/builtin/workflows/src/runs/foreground/executor-prompt-nodes.ts +360 -295
  482. package/dist/builtin/workflows/src/runs/foreground/executor-queued-user-message.ts +47 -47
  483. package/dist/builtin/workflows/src/runs/foreground/executor-run-finalizers.ts +125 -104
  484. package/dist/builtin/workflows/src/runs/foreground/executor-scheduler.ts +189 -189
  485. package/dist/builtin/workflows/src/runs/foreground/executor-stage-call.ts +294 -242
  486. package/dist/builtin/workflows/src/runs/foreground/executor-stage-context.ts +141 -127
  487. package/dist/builtin/workflows/src/runs/foreground/executor-stage-control.ts +219 -179
  488. package/dist/builtin/workflows/src/runs/foreground/executor-stage-factory.ts +406 -354
  489. package/dist/builtin/workflows/src/runs/foreground/executor-stage-replay.ts +143 -126
  490. package/dist/builtin/workflows/src/runs/foreground/executor-stage-types.ts +50 -47
  491. package/dist/builtin/workflows/src/runs/foreground/executor-task-context.ts +1 -1
  492. package/dist/builtin/workflows/src/runs/foreground/executor-task-prompts.ts +148 -153
  493. package/dist/builtin/workflows/src/runs/foreground/executor-types.ts +157 -110
  494. package/dist/builtin/workflows/src/runs/foreground/executor.ts +10 -10
  495. package/dist/builtin/workflows/src/runs/foreground/postmortem-stage-chat.ts +176 -100
  496. package/dist/builtin/workflows/src/runs/foreground/stage-control-registry.ts +363 -257
  497. package/dist/builtin/workflows/src/runs/foreground/stage-delivery-activity.ts +86 -0
  498. package/dist/builtin/workflows/src/runs/foreground/stage-queued-user-messages.ts +95 -0
  499. package/dist/builtin/workflows/src/runs/foreground/stage-runner-candidate.ts +8 -8
  500. package/dist/builtin/workflows/src/runs/foreground/stage-runner-context.ts +233 -221
  501. package/dist/builtin/workflows/src/runs/foreground/stage-runner-controller.ts +630 -494
  502. package/dist/builtin/workflows/src/runs/foreground/stage-runner-message-admission.ts +182 -181
  503. package/dist/builtin/workflows/src/runs/foreground/stage-runner-messages.ts +80 -80
  504. package/dist/builtin/workflows/src/runs/foreground/stage-runner-options.ts +78 -74
  505. package/dist/builtin/workflows/src/runs/foreground/stage-runner-output.ts +102 -104
  506. package/dist/builtin/workflows/src/runs/foreground/stage-runner-pause.ts +200 -0
  507. package/dist/builtin/workflows/src/runs/foreground/stage-runner-replacement.ts +31 -32
  508. package/dist/builtin/workflows/src/runs/foreground/stage-runner-send-user-message.ts +115 -98
  509. package/dist/builtin/workflows/src/runs/foreground/stage-runner-session-options.ts +29 -42
  510. package/dist/builtin/workflows/src/runs/foreground/stage-runner-session.ts +44 -52
  511. package/dist/builtin/workflows/src/runs/foreground/stage-runner-structured-output.ts +63 -58
  512. package/dist/builtin/workflows/src/runs/foreground/stage-runner-types.ts +161 -124
  513. package/dist/builtin/workflows/src/runs/foreground/stage-runner-unresolved-overflow.ts +27 -23
  514. package/dist/builtin/workflows/src/runs/foreground/stage-runner.ts +10 -10
  515. package/dist/builtin/workflows/src/runs/foreground/stage-tool-execution-buffer.ts +33 -31
  516. package/dist/builtin/workflows/src/runs/shared/concurrency.ts +53 -53
  517. package/dist/builtin/workflows/src/runs/shared/graph-inference.ts +1 -1
  518. package/dist/builtin/workflows/src/runs/shared/model-fallback-candidates.ts +257 -385
  519. package/dist/builtin/workflows/src/runs/shared/model-fallback-failures.ts +378 -363
  520. package/dist/builtin/workflows/src/runs/shared/prompt-callsite.ts +55 -55
  521. package/dist/builtin/workflows/src/runs/shared/validate-inputs.ts +75 -84
  522. package/dist/builtin/workflows/src/runs/shared/worktree-cache-lifecycle.ts +1 -3
  523. package/dist/builtin/workflows/src/runs/shared/worktree-cwd.ts +96 -83
  524. package/dist/builtin/workflows/src/runs/shared/worktree-diff.ts +9 -2
  525. package/dist/builtin/workflows/src/runs/shared/worktree-git-runner.ts +21 -6
  526. package/dist/builtin/workflows/src/runs/shared/worktree-git.ts +60 -30
  527. package/dist/builtin/workflows/src/runs/shared/worktree-post-create.ts +12 -5
  528. package/dist/builtin/workflows/src/runs/shared/worktree-setup.ts +51 -30
  529. package/dist/builtin/workflows/src/runs/shared/worktree.ts +4 -4
  530. package/dist/builtin/workflows/src/sdk-surface.ts +38 -19
  531. package/dist/builtin/workflows/src/shared/authoring-contract-stage.d.ts +17 -16
  532. package/dist/builtin/workflows/src/shared/authoring-contract-stage.ts +299 -280
  533. package/dist/builtin/workflows/src/shared/authoring-contract-ui.d.ts +76 -10
  534. package/dist/builtin/workflows/src/shared/authoring-contract-ui.ts +311 -219
  535. package/dist/builtin/workflows/src/shared/expanded-workflow-graph.ts +255 -156
  536. package/dist/builtin/workflows/src/shared/intercom-group.ts +33 -26
  537. package/dist/builtin/workflows/src/shared/persistence-compaction-policy.ts +30 -30
  538. package/dist/builtin/workflows/src/shared/persistence-restore-helpers.ts +435 -379
  539. package/dist/builtin/workflows/src/shared/persistence-restore.ts +187 -181
  540. package/dist/builtin/workflows/src/shared/persistence-session-entries.ts +211 -207
  541. package/dist/builtin/workflows/src/shared/prompt-callsite-context.ts +3 -3
  542. package/dist/builtin/workflows/src/shared/render-inputs-schema.ts +87 -94
  543. package/dist/builtin/workflows/src/shared/resume-continuation.ts +1 -1
  544. package/dist/builtin/workflows/src/shared/returned-run-status.ts +91 -77
  545. package/dist/builtin/workflows/src/shared/run-visibility.ts +2 -2
  546. package/dist/builtin/workflows/src/shared/schema-introspection.ts +50 -60
  547. package/dist/builtin/workflows/src/shared/serializable.ts +72 -86
  548. package/dist/builtin/workflows/src/shared/session-transcript.ts +44 -39
  549. package/dist/builtin/workflows/src/shared/stage-prompt.ts +183 -202
  550. package/dist/builtin/workflows/src/shared/stage-ui-broker.ts +270 -274
  551. package/dist/builtin/workflows/src/shared/store-factory.ts +9 -7
  552. package/dist/builtin/workflows/src/shared/store-internal.ts +172 -168
  553. package/dist/builtin/workflows/src/shared/store-prompt-methods.ts +196 -200
  554. package/dist/builtin/workflows/src/shared/store-public-types.ts +208 -196
  555. package/dist/builtin/workflows/src/shared/store-run-methods.ts +238 -222
  556. package/dist/builtin/workflows/src/shared/store-stage-methods.ts +284 -283
  557. package/dist/builtin/workflows/src/shared/store-tool-node-methods.ts +53 -0
  558. package/dist/builtin/workflows/src/shared/store-types.ts +269 -235
  559. package/dist/builtin/workflows/src/shared/store.ts +7 -7
  560. package/dist/builtin/workflows/src/shared/timing.ts +36 -34
  561. package/dist/builtin/workflows/src/shared/types.ts +257 -217
  562. package/dist/builtin/workflows/src/shared/workflow-authoring-types.d.ts +11 -4
  563. package/dist/builtin/workflows/src/shared/workflow-authoring-types.ts +81 -58
  564. package/dist/builtin/workflows/src/shared/workflow-failures-classifier.ts +247 -221
  565. package/dist/builtin/workflows/src/shared/workflow-failures-contract.ts +45 -46
  566. package/dist/builtin/workflows/src/shared/workflow-failures-decisions.ts +330 -351
  567. package/dist/builtin/workflows/src/shared/workflow-failures-signals.ts +212 -157
  568. package/dist/builtin/workflows/src/shared/workflow-failures.ts +10 -10
  569. package/dist/builtin/workflows/src/shared/workflow-run-ownership.ts +49 -0
  570. package/dist/builtin/workflows/src/tui/chat-surface-message.ts +157 -184
  571. package/dist/builtin/workflows/src/tui/chat-surface.ts +332 -355
  572. package/dist/builtin/workflows/src/tui/color-utils.ts +21 -30
  573. package/dist/builtin/workflows/src/tui/connectors.ts +57 -61
  574. package/dist/builtin/workflows/src/tui/dispatch-confirm.ts +168 -192
  575. package/dist/builtin/workflows/src/tui/edge.ts +10 -9
  576. package/dist/builtin/workflows/src/tui/graph-canvas.ts +131 -134
  577. package/dist/builtin/workflows/src/tui/graph-theme.ts +139 -148
  578. package/dist/builtin/workflows/src/tui/graph-view-constants.ts +6 -6
  579. package/dist/builtin/workflows/src/tui/graph-view-graph-render.ts +146 -179
  580. package/dist/builtin/workflows/src/tui/graph-view-input.ts +295 -329
  581. package/dist/builtin/workflows/src/tui/graph-view-render-helpers.ts +291 -320
  582. package/dist/builtin/workflows/src/tui/graph-view-render.ts +171 -190
  583. package/dist/builtin/workflows/src/tui/graph-view-state.ts +319 -287
  584. package/dist/builtin/workflows/src/tui/graph-view-types.ts +65 -58
  585. package/dist/builtin/workflows/src/tui/header.ts +140 -156
  586. package/dist/builtin/workflows/src/tui/host-input-form.ts +47 -45
  587. package/dist/builtin/workflows/src/tui/inline-form-card.ts +277 -266
  588. package/dist/builtin/workflows/src/tui/inline-form-editor-text.ts +61 -62
  589. package/dist/builtin/workflows/src/tui/inline-form-editor.ts +407 -412
  590. package/dist/builtin/workflows/src/tui/inline-form-overlay.ts +203 -214
  591. package/dist/builtin/workflows/src/tui/inline-form-store.ts +24 -24
  592. package/dist/builtin/workflows/src/tui/inputs-overlay.ts +116 -129
  593. package/dist/builtin/workflows/src/tui/inputs-picker-editing.ts +111 -115
  594. package/dist/builtin/workflows/src/tui/inputs-picker-input.ts +255 -269
  595. package/dist/builtin/workflows/src/tui/inputs-picker-render.ts +248 -236
  596. package/dist/builtin/workflows/src/tui/inputs-picker-types.ts +111 -140
  597. package/dist/builtin/workflows/src/tui/inputs-picker.ts +12 -12
  598. package/dist/builtin/workflows/src/tui/keybindings-adapter.ts +49 -57
  599. package/dist/builtin/workflows/src/tui/layout.ts +124 -133
  600. package/dist/builtin/workflows/src/tui/mouse-input.ts +45 -47
  601. package/dist/builtin/workflows/src/tui/node-card.ts +230 -218
  602. package/dist/builtin/workflows/src/tui/overlay-adapter.ts +381 -398
  603. package/dist/builtin/workflows/src/tui/overlay-terminal-modes.ts +20 -19
  604. package/dist/builtin/workflows/src/tui/prompt-card-input.ts +183 -194
  605. package/dist/builtin/workflows/src/tui/prompt-card-render.ts +243 -302
  606. package/dist/builtin/workflows/src/tui/prompt-card-select.ts +76 -98
  607. package/dist/builtin/workflows/src/tui/prompt-card-state.ts +40 -40
  608. package/dist/builtin/workflows/src/tui/prompt-card-text.ts +76 -83
  609. package/dist/builtin/workflows/src/tui/prompt-card.ts +3 -3
  610. package/dist/builtin/workflows/src/tui/renderers.ts +6 -6
  611. package/dist/builtin/workflows/src/tui/run-detail.ts +300 -256
  612. package/dist/builtin/workflows/src/tui/session-list.ts +19 -18
  613. package/dist/builtin/workflows/src/tui/session-overlays.ts +82 -87
  614. package/dist/builtin/workflows/src/tui/session-picker.ts +258 -275
  615. package/dist/builtin/workflows/src/tui/stage-chat-composer-drafts.ts +11 -11
  616. package/dist/builtin/workflows/src/tui/stage-chat-layout.ts +55 -62
  617. package/dist/builtin/workflows/src/tui/stage-chat-view-archive-history.ts +220 -263
  618. package/dist/builtin/workflows/src/tui/stage-chat-view-custom-ui.ts +91 -102
  619. package/dist/builtin/workflows/src/tui/stage-chat-view-delivery-activity.ts +113 -0
  620. package/dist/builtin/workflows/src/tui/stage-chat-view-footer-status.ts +154 -208
  621. package/dist/builtin/workflows/src/tui/stage-chat-view-input.ts +174 -208
  622. package/dist/builtin/workflows/src/tui/stage-chat-view-live-events.ts +53 -23
  623. package/dist/builtin/workflows/src/tui/stage-chat-view-pending-tools.ts +2 -4
  624. package/dist/builtin/workflows/src/tui/stage-chat-view-render-helpers.ts +85 -88
  625. package/dist/builtin/workflows/src/tui/stage-chat-view-render-settings.ts +39 -17
  626. package/dist/builtin/workflows/src/tui/stage-chat-view-state.ts +435 -409
  627. package/dist/builtin/workflows/src/tui/stage-chat-view-status.ts +24 -25
  628. package/dist/builtin/workflows/src/tui/stage-chat-view-transcript.ts +181 -197
  629. package/dist/builtin/workflows/src/tui/stage-chat-view-types.ts +125 -128
  630. package/dist/builtin/workflows/src/tui/stage-chat-view.ts +210 -205
  631. package/dist/builtin/workflows/src/tui/status-helpers.ts +65 -69
  632. package/dist/builtin/workflows/src/tui/status-list.ts +316 -294
  633. package/dist/builtin/workflows/src/tui/store-widget-installer.ts +213 -214
  634. package/dist/builtin/workflows/src/tui/submit-pane.ts +114 -130
  635. package/dist/builtin/workflows/src/tui/switcher.ts +120 -128
  636. package/dist/builtin/workflows/src/tui/text-helpers.ts +136 -145
  637. package/dist/builtin/workflows/src/tui/toast.ts +68 -67
  638. package/dist/builtin/workflows/src/tui/widget.ts +265 -285
  639. package/dist/builtin/workflows/src/tui/workflow-attach-pane-handle.ts +12 -17
  640. package/dist/builtin/workflows/src/tui/workflow-attach-pane-types.ts +81 -91
  641. package/dist/builtin/workflows/src/tui/workflow-attach-pane.ts +468 -479
  642. package/dist/builtin/workflows/src/tui/workflow-list.ts +130 -145
  643. package/dist/builtin/workflows/src/tui/workflow-notice-card.ts +127 -144
  644. package/dist/builtin/workflows/src/tui/workflow-resume-selector.ts +217 -217
  645. package/dist/builtin/workflows/src/tui/workflow-status.ts +7 -0
  646. package/dist/builtin/workflows/src/workflows/identity.ts +12 -12
  647. package/dist/builtin/workflows/src/workflows/registry.ts +66 -68
  648. package/dist/bun/cli.js.map +1 -1
  649. package/dist/bun/internal-intercom-broker.d.ts.map +1 -1
  650. package/dist/bun/internal-intercom-broker.js +1 -1
  651. package/dist/bun/internal-intercom-broker.js.map +1 -1
  652. package/dist/bun/register-bedrock.js +1 -1
  653. package/dist/bun/register-bedrock.js.map +1 -1
  654. package/dist/cli/args.d.ts +8 -1
  655. package/dist/cli/args.d.ts.map +1 -1
  656. package/dist/cli/args.js +28 -22
  657. package/dist/cli/args.js.map +1 -1
  658. package/dist/cli/config-selector.d.ts +4 -2
  659. package/dist/cli/config-selector.d.ts.map +1 -1
  660. package/dist/cli/config-selector.js +2 -2
  661. package/dist/cli/config-selector.js.map +1 -1
  662. package/dist/cli/credential-print.d.ts +170 -0
  663. package/dist/cli/credential-print.d.ts.map +1 -0
  664. package/dist/cli/credential-print.js +513 -0
  665. package/dist/cli/credential-print.js.map +1 -0
  666. package/dist/cli/list-models.d.ts +2 -2
  667. package/dist/cli/list-models.d.ts.map +1 -1
  668. package/dist/cli/list-models.js +6 -7
  669. package/dist/cli/list-models.js.map +1 -1
  670. package/dist/cli/project-trust.d.ts +1 -1
  671. package/dist/cli/project-trust.d.ts.map +1 -1
  672. package/dist/cli/project-trust.js.map +1 -1
  673. package/dist/cli/session-picker.d.ts.map +1 -1
  674. package/dist/cli/session-picker.js +2 -1
  675. package/dist/cli/session-picker.js.map +1 -1
  676. package/dist/cli/startup-ui.d.ts +3 -0
  677. package/dist/cli/startup-ui.d.ts.map +1 -1
  678. package/dist/cli/startup-ui.js +58 -2
  679. package/dist/cli/startup-ui.js.map +1 -1
  680. package/dist/cli.js +2 -0
  681. package/dist/cli.js.map +1 -1
  682. package/dist/config-command-parser.d.ts +9 -0
  683. package/dist/config-command-parser.d.ts.map +1 -0
  684. package/dist/config-command-parser.js +22 -0
  685. package/dist/config-command-parser.js.map +1 -0
  686. package/dist/config-self-update.d.ts +6 -2
  687. package/dist/config-self-update.d.ts.map +1 -1
  688. package/dist/config-self-update.js +23 -13
  689. package/dist/config-self-update.js.map +1 -1
  690. package/dist/config.d.ts +5 -3
  691. package/dist/config.d.ts.map +1 -1
  692. package/dist/config.js +36 -14
  693. package/dist/config.js.map +1 -1
  694. package/dist/core/agent-session-accessors.d.ts.map +1 -1
  695. package/dist/core/agent-session-accessors.js +125 -24
  696. package/dist/core/agent-session-accessors.js.map +1 -1
  697. package/dist/core/agent-session-auto-compaction.d.ts +4 -3
  698. package/dist/core/agent-session-auto-compaction.d.ts.map +1 -1
  699. package/dist/core/agent-session-auto-compaction.js +59 -64
  700. package/dist/core/agent-session-auto-compaction.js.map +1 -1
  701. package/dist/core/agent-session-bash.d.ts +10 -7
  702. package/dist/core/agent-session-bash.d.ts.map +1 -1
  703. package/dist/core/agent-session-bash.js +34 -13
  704. package/dist/core/agent-session-bash.js.map +1 -1
  705. package/dist/core/agent-session-compaction.d.ts +11 -1
  706. package/dist/core/agent-session-compaction.d.ts.map +1 -1
  707. package/dist/core/agent-session-compaction.js +138 -27
  708. package/dist/core/agent-session-compaction.js.map +1 -1
  709. package/dist/core/agent-session-custom-message-commit.d.ts +14 -0
  710. package/dist/core/agent-session-custom-message-commit.d.ts.map +1 -0
  711. package/dist/core/agent-session-custom-message-commit.js +145 -0
  712. package/dist/core/agent-session-custom-message-commit.js.map +1 -0
  713. package/dist/core/agent-session-delivery-forwarding.d.ts +9 -0
  714. package/dist/core/agent-session-delivery-forwarding.d.ts.map +1 -0
  715. package/dist/core/agent-session-delivery-forwarding.js +36 -0
  716. package/dist/core/agent-session-delivery-forwarding.js.map +1 -0
  717. package/dist/core/agent-session-events.d.ts +1 -1
  718. package/dist/core/agent-session-events.d.ts.map +1 -1
  719. package/dist/core/agent-session-events.js +57 -19
  720. package/dist/core/agent-session-events.js.map +1 -1
  721. package/dist/core/agent-session-export.d.ts +1 -1
  722. package/dist/core/agent-session-export.d.ts.map +1 -1
  723. package/dist/core/agent-session-export.js +32 -25
  724. package/dist/core/agent-session-export.js.map +1 -1
  725. package/dist/core/agent-session-extension-bindings.d.ts +2 -6
  726. package/dist/core/agent-session-extension-bindings.d.ts.map +1 -1
  727. package/dist/core/agent-session-extension-bindings.js +38 -18
  728. package/dist/core/agent-session-extension-bindings.js.map +1 -1
  729. package/dist/core/agent-session-message-queue.d.ts +7 -4
  730. package/dist/core/agent-session-message-queue.d.ts.map +1 -1
  731. package/dist/core/agent-session-message-queue.js +101 -98
  732. package/dist/core/agent-session-message-queue.js.map +1 -1
  733. package/dist/core/agent-session-methods.d.ts +52 -45
  734. package/dist/core/agent-session-methods.d.ts.map +1 -1
  735. package/dist/core/agent-session-methods.js.map +1 -1
  736. package/dist/core/agent-session-models.d.ts +3 -39
  737. package/dist/core/agent-session-models.d.ts.map +1 -1
  738. package/dist/core/agent-session-models.js +22 -160
  739. package/dist/core/agent-session-models.js.map +1 -1
  740. package/dist/core/agent-session-persistent-custom-messages.d.ts +47 -0
  741. package/dist/core/agent-session-persistent-custom-messages.d.ts.map +1 -0
  742. package/dist/core/agent-session-persistent-custom-messages.js +269 -0
  743. package/dist/core/agent-session-persistent-custom-messages.js.map +1 -0
  744. package/dist/core/agent-session-post-tool-compaction.d.ts +1 -1
  745. package/dist/core/agent-session-post-tool-compaction.d.ts.map +1 -1
  746. package/dist/core/agent-session-post-tool-compaction.js +34 -11
  747. package/dist/core/agent-session-post-tool-compaction.js.map +1 -1
  748. package/dist/core/agent-session-prompt.d.ts +2 -0
  749. package/dist/core/agent-session-prompt.d.ts.map +1 -1
  750. package/dist/core/agent-session-prompt.js +52 -25
  751. package/dist/core/agent-session-prompt.js.map +1 -1
  752. package/dist/core/agent-session-queue-pause.d.ts +10 -0
  753. package/dist/core/agent-session-queue-pause.d.ts.map +1 -0
  754. package/dist/core/agent-session-queue-pause.js +87 -0
  755. package/dist/core/agent-session-queue-pause.js.map +1 -0
  756. package/dist/core/agent-session-retry.d.ts +0 -11
  757. package/dist/core/agent-session-retry.d.ts.map +1 -1
  758. package/dist/core/agent-session-retry.js +38 -64
  759. package/dist/core/agent-session-retry.js.map +1 -1
  760. package/dist/core/agent-session-runtime-auth.d.ts +6 -0
  761. package/dist/core/agent-session-runtime-auth.d.ts.map +1 -0
  762. package/dist/core/agent-session-runtime-auth.js +18 -0
  763. package/dist/core/agent-session-runtime-auth.js.map +1 -0
  764. package/dist/core/agent-session-runtime.d.ts +25 -3
  765. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  766. package/dist/core/agent-session-runtime.js +55 -11
  767. package/dist/core/agent-session-runtime.js.map +1 -1
  768. package/dist/core/agent-session-services.d.ts +4 -9
  769. package/dist/core/agent-session-services.d.ts.map +1 -1
  770. package/dist/core/agent-session-services.js +25 -25
  771. package/dist/core/agent-session-services.js.map +1 -1
  772. package/dist/core/agent-session-state.d.ts +1 -1
  773. package/dist/core/agent-session-state.d.ts.map +1 -1
  774. package/dist/core/agent-session-state.js +3 -0
  775. package/dist/core/agent-session-state.js.map +1 -1
  776. package/dist/core/agent-session-tool-hooks.d.ts.map +1 -1
  777. package/dist/core/agent-session-tool-hooks.js +8 -7
  778. package/dist/core/agent-session-tool-hooks.js.map +1 -1
  779. package/dist/core/agent-session-tool-registry.d.ts.map +1 -1
  780. package/dist/core/agent-session-tool-registry.js +6 -20
  781. package/dist/core/agent-session-tool-registry.js.map +1 -1
  782. package/dist/core/agent-session-transfer.d.ts +4 -0
  783. package/dist/core/agent-session-transfer.d.ts.map +1 -0
  784. package/dist/core/agent-session-transfer.js +67 -0
  785. package/dist/core/agent-session-transfer.js.map +1 -0
  786. package/dist/core/agent-session-tree.d.ts +1 -1
  787. package/dist/core/agent-session-tree.d.ts.map +1 -1
  788. package/dist/core/agent-session-tree.js +13 -3
  789. package/dist/core/agent-session-tree.js.map +1 -1
  790. package/dist/core/agent-session-types.d.ts +28 -14
  791. package/dist/core/agent-session-types.d.ts.map +1 -1
  792. package/dist/core/agent-session-types.js +4 -4
  793. package/dist/core/agent-session-types.js.map +1 -1
  794. package/dist/core/agent-session.d.ts +27 -13
  795. package/dist/core/agent-session.d.ts.map +1 -1
  796. package/dist/core/agent-session.js +17 -12
  797. package/dist/core/agent-session.js.map +1 -1
  798. package/dist/core/anthropic-thinking-guard.d.ts.map +1 -1
  799. package/dist/core/anthropic-thinking-guard.js +4 -2
  800. package/dist/core/anthropic-thinking-guard.js.map +1 -1
  801. package/dist/core/async/format.d.ts +1 -1
  802. package/dist/core/async/format.d.ts.map +1 -1
  803. package/dist/core/async/format.js +3 -1
  804. package/dist/core/async/format.js.map +1 -1
  805. package/dist/core/async/job-manager.d.ts.map +1 -1
  806. package/dist/core/async/job-manager.js +20 -5
  807. package/dist/core/async/job-manager.js.map +1 -1
  808. package/dist/core/async/session-manager.d.ts.map +1 -1
  809. package/dist/core/async/session-manager.js.map +1 -1
  810. package/dist/core/atomic-guide-command.d.ts.map +1 -1
  811. package/dist/core/atomic-guide-command.js +32 -35
  812. package/dist/core/atomic-guide-command.js.map +1 -1
  813. package/dist/core/auth-guidance.d.ts.map +1 -1
  814. package/dist/core/auth-guidance.js.map +1 -1
  815. package/dist/core/auth-storage-backends.d.ts +1 -0
  816. package/dist/core/auth-storage-backends.d.ts.map +1 -1
  817. package/dist/core/auth-storage-backends.js +30 -5
  818. package/dist/core/auth-storage-backends.js.map +1 -1
  819. package/dist/core/auth-storage.d.ts +13 -136
  820. package/dist/core/auth-storage.d.ts.map +1 -1
  821. package/dist/core/auth-storage.js +69 -375
  822. package/dist/core/auth-storage.js.map +1 -1
  823. package/dist/core/bash-executor.d.ts +5 -3
  824. package/dist/core/bash-executor.d.ts.map +1 -1
  825. package/dist/core/bash-executor.js +5 -4
  826. package/dist/core/bash-executor.js.map +1 -1
  827. package/dist/core/builtin-packages.d.ts.map +1 -1
  828. package/dist/core/builtin-packages.js +1 -10
  829. package/dist/core/builtin-packages.js.map +1 -1
  830. package/dist/core/cache-stats.d.ts +25 -0
  831. package/dist/core/cache-stats.d.ts.map +1 -0
  832. package/dist/core/cache-stats.js +70 -0
  833. package/dist/core/cache-stats.js.map +1 -0
  834. package/dist/core/callback-activity.d.ts.map +1 -1
  835. package/dist/core/callback-activity.js.map +1 -1
  836. package/dist/core/codex-errors.d.ts.map +1 -1
  837. package/dist/core/codex-errors.js +1 -1
  838. package/dist/core/codex-errors.js.map +1 -1
  839. package/dist/core/codex-fast-mode.d.ts.map +1 -1
  840. package/dist/core/codex-fast-mode.js.map +1 -1
  841. package/dist/core/compaction/branch-summarization.d.ts +15 -5
  842. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  843. package/dist/core/compaction/branch-summarization.js +23 -12
  844. package/dist/core/compaction/branch-summarization.js.map +1 -1
  845. package/dist/core/compaction/compaction-boundary.d.ts +18 -1
  846. package/dist/core/compaction/compaction-boundary.d.ts.map +1 -1
  847. package/dist/core/compaction/compaction-boundary.js +12 -8
  848. package/dist/core/compaction/compaction-boundary.js.map +1 -1
  849. package/dist/core/compaction/compaction-runner.d.ts +63 -6
  850. package/dist/core/compaction/compaction-runner.d.ts.map +1 -1
  851. package/dist/core/compaction/compaction-runner.js +244 -17
  852. package/dist/core/compaction/compaction-runner.js.map +1 -1
  853. package/dist/core/compaction/compaction-types.d.ts +53 -2
  854. package/dist/core/compaction/compaction-types.d.ts.map +1 -1
  855. package/dist/core/compaction/compaction-types.js.map +1 -1
  856. package/dist/core/compaction/compaction.d.ts.map +1 -1
  857. package/dist/core/compaction/compaction.js +5 -1
  858. package/dist/core/compaction/compaction.js.map +1 -1
  859. package/dist/core/compaction/deleted-ranges.d.ts.map +1 -1
  860. package/dist/core/compaction/deleted-ranges.js.map +1 -1
  861. package/dist/core/compaction/fallback-planner.d.ts +64 -0
  862. package/dist/core/compaction/fallback-planner.d.ts.map +1 -0
  863. package/dist/core/compaction/fallback-planner.js +75 -0
  864. package/dist/core/compaction/fallback-planner.js.map +1 -0
  865. package/dist/core/compaction/index.d.ts +7 -4
  866. package/dist/core/compaction/index.d.ts.map +1 -1
  867. package/dist/core/compaction/index.js +7 -4
  868. package/dist/core/compaction/index.js.map +1 -1
  869. package/dist/core/compaction/planner-outcome.d.ts +86 -0
  870. package/dist/core/compaction/planner-outcome.d.ts.map +1 -0
  871. package/dist/core/compaction/planner-outcome.js +122 -0
  872. package/dist/core/compaction/planner-outcome.js.map +1 -0
  873. package/dist/core/compaction/range-planner-diagnostics.d.ts +58 -6
  874. package/dist/core/compaction/range-planner-diagnostics.d.ts.map +1 -1
  875. package/dist/core/compaction/range-planner-diagnostics.js +71 -31
  876. package/dist/core/compaction/range-planner-diagnostics.js.map +1 -1
  877. package/dist/core/compaction/range-planner.d.ts +39 -8
  878. package/dist/core/compaction/range-planner.d.ts.map +1 -1
  879. package/dist/core/compaction/range-planner.js +140 -51
  880. package/dist/core/compaction/range-planner.js.map +1 -1
  881. package/dist/core/compaction/region-trimming.d.ts +34 -0
  882. package/dist/core/compaction/region-trimming.d.ts.map +1 -0
  883. package/dist/core/compaction/region-trimming.js +73 -0
  884. package/dist/core/compaction/region-trimming.js.map +1 -0
  885. package/dist/core/compaction/transcript-serialization.d.ts +8 -1
  886. package/dist/core/compaction/transcript-serialization.d.ts.map +1 -1
  887. package/dist/core/compaction/transcript-serialization.js +78 -27
  888. package/dist/core/compaction/transcript-serialization.js.map +1 -1
  889. package/dist/core/context-tool-pairing.d.ts +19 -0
  890. package/dist/core/context-tool-pairing.d.ts.map +1 -0
  891. package/dist/core/context-tool-pairing.js +50 -0
  892. package/dist/core/context-tool-pairing.js.map +1 -0
  893. package/dist/core/copilot-env-routing.d.ts +36 -0
  894. package/dist/core/copilot-env-routing.d.ts.map +1 -0
  895. package/dist/core/copilot-env-routing.js +94 -0
  896. package/dist/core/copilot-env-routing.js.map +1 -0
  897. package/dist/core/diagnostics.d.ts +8 -0
  898. package/dist/core/diagnostics.d.ts.map +1 -1
  899. package/dist/core/diagnostics.js.map +1 -1
  900. package/dist/core/exec.d.ts.map +1 -1
  901. package/dist/core/exec.js +5 -0
  902. package/dist/core/exec.js.map +1 -1
  903. package/dist/core/experimental.d.ts.map +1 -1
  904. package/dist/core/experimental.js +2 -1
  905. package/dist/core/experimental.js.map +1 -1
  906. package/dist/core/extensions/agent-events.d.ts +10 -0
  907. package/dist/core/extensions/agent-events.d.ts.map +1 -1
  908. package/dist/core/extensions/agent-events.js.map +1 -1
  909. package/dist/core/extensions/api-types.d.ts +9 -3
  910. package/dist/core/extensions/api-types.d.ts.map +1 -1
  911. package/dist/core/extensions/api-types.js.map +1 -1
  912. package/dist/core/extensions/context-types.d.ts +10 -1
  913. package/dist/core/extensions/context-types.d.ts.map +1 -1
  914. package/dist/core/extensions/context-types.js.map +1 -1
  915. package/dist/core/extensions/event-types.d.ts +2 -2
  916. package/dist/core/extensions/event-types.d.ts.map +1 -1
  917. package/dist/core/extensions/event-types.js.map +1 -1
  918. package/dist/core/extensions/index.d.ts +7 -5
  919. package/dist/core/extensions/index.d.ts.map +1 -1
  920. package/dist/core/extensions/index.js +2 -2
  921. package/dist/core/extensions/index.js.map +1 -1
  922. package/dist/core/extensions/loader-api.d.ts +1 -1
  923. package/dist/core/extensions/loader-api.d.ts.map +1 -1
  924. package/dist/core/extensions/loader-api.js +63 -29
  925. package/dist/core/extensions/loader-api.js.map +1 -1
  926. package/dist/core/extensions/loader-core.d.ts.map +1 -1
  927. package/dist/core/extensions/loader-core.js +3 -2
  928. package/dist/core/extensions/loader-core.js.map +1 -1
  929. package/dist/core/extensions/loader-discovery.d.ts.map +1 -1
  930. package/dist/core/extensions/loader-discovery.js.map +1 -1
  931. package/dist/core/extensions/loader-resources.d.ts.map +1 -1
  932. package/dist/core/extensions/loader-resources.js.map +1 -1
  933. package/dist/core/extensions/loader-runtime.d.ts +2 -4
  934. package/dist/core/extensions/loader-runtime.d.ts.map +1 -1
  935. package/dist/core/extensions/loader-runtime.js +214 -13
  936. package/dist/core/extensions/loader-runtime.js.map +1 -1
  937. package/dist/core/extensions/loader-virtual-modules.d.ts +17 -0
  938. package/dist/core/extensions/loader-virtual-modules.d.ts.map +1 -1
  939. package/dist/core/extensions/loader-virtual-modules.js +288 -19
  940. package/dist/core/extensions/loader-virtual-modules.js.map +1 -1
  941. package/dist/core/extensions/loader.d.ts.map +1 -1
  942. package/dist/core/extensions/loader.js.map +1 -1
  943. package/dist/core/extensions/message-types.d.ts +12 -4
  944. package/dist/core/extensions/message-types.d.ts.map +1 -1
  945. package/dist/core/extensions/message-types.js.map +1 -1
  946. package/dist/core/extensions/provider-types.d.ts +16 -5
  947. package/dist/core/extensions/provider-types.d.ts.map +1 -1
  948. package/dist/core/extensions/provider-types.js.map +1 -1
  949. package/dist/core/extensions/reactive-widget.d.ts.map +1 -1
  950. package/dist/core/extensions/reactive-widget.js.map +1 -1
  951. package/dist/core/extensions/runner-context.d.ts +29 -1
  952. package/dist/core/extensions/runner-context.d.ts.map +1 -1
  953. package/dist/core/extensions/runner-context.js +56 -0
  954. package/dist/core/extensions/runner-context.js.map +1 -1
  955. package/dist/core/extensions/runner-events.d.ts.map +1 -1
  956. package/dist/core/extensions/runner-events.js.map +1 -1
  957. package/dist/core/extensions/runner-registries.d.ts +2 -1
  958. package/dist/core/extensions/runner-registries.d.ts.map +1 -1
  959. package/dist/core/extensions/runner-registries.js +8 -0
  960. package/dist/core/extensions/runner-registries.js.map +1 -1
  961. package/dist/core/extensions/runner.d.ts +7 -2
  962. package/dist/core/extensions/runner.d.ts.map +1 -1
  963. package/dist/core/extensions/runner.js +65 -23
  964. package/dist/core/extensions/runner.js.map +1 -1
  965. package/dist/core/extensions/runtime-types.d.ts +35 -2
  966. package/dist/core/extensions/runtime-types.d.ts.map +1 -1
  967. package/dist/core/extensions/runtime-types.js.map +1 -1
  968. package/dist/core/extensions/session-events.d.ts.map +1 -1
  969. package/dist/core/extensions/session-events.js.map +1 -1
  970. package/dist/core/extensions/tool-types.d.ts +7 -3
  971. package/dist/core/extensions/tool-types.d.ts.map +1 -1
  972. package/dist/core/extensions/tool-types.js.map +1 -1
  973. package/dist/core/extensions/types.d.ts +15 -2
  974. package/dist/core/extensions/types.d.ts.map +1 -1
  975. package/dist/core/extensions/types.js +1 -1
  976. package/dist/core/extensions/types.js.map +1 -1
  977. package/dist/core/extensions/ui-types.d.ts +34 -6
  978. package/dist/core/extensions/ui-types.d.ts.map +1 -1
  979. package/dist/core/extensions/ui-types.js.map +1 -1
  980. package/dist/core/fallback-models.d.ts +37 -0
  981. package/dist/core/fallback-models.d.ts.map +1 -0
  982. package/dist/core/fallback-models.js +57 -0
  983. package/dist/core/fallback-models.js.map +1 -0
  984. package/dist/core/flattened-tool-arguments.d.ts +4 -7
  985. package/dist/core/flattened-tool-arguments.d.ts.map +1 -1
  986. package/dist/core/flattened-tool-arguments.js +4 -7
  987. package/dist/core/flattened-tool-arguments.js.map +1 -1
  988. package/dist/core/footer-data-provider.d.ts +10 -0
  989. package/dist/core/footer-data-provider.d.ts.map +1 -1
  990. package/dist/core/footer-data-provider.js +5 -3
  991. package/dist/core/footer-data-provider.js.map +1 -1
  992. package/dist/core/http-dispatcher.d.ts +1 -0
  993. package/dist/core/http-dispatcher.d.ts.map +1 -1
  994. package/dist/core/http-dispatcher.js +42 -8
  995. package/dist/core/http-dispatcher.js.map +1 -1
  996. package/dist/core/keybindings.d.ts +7 -2
  997. package/dist/core/keybindings.d.ts.map +1 -1
  998. package/dist/core/keybindings.js +3 -1
  999. package/dist/core/keybindings.js.map +1 -1
  1000. package/dist/core/messages.d.ts +24 -4
  1001. package/dist/core/messages.d.ts.map +1 -1
  1002. package/dist/core/messages.js +64 -13
  1003. package/dist/core/messages.js.map +1 -1
  1004. package/dist/core/model-capabilities.d.ts +18 -0
  1005. package/dist/core/model-capabilities.d.ts.map +1 -0
  1006. package/dist/core/model-capabilities.js +22 -0
  1007. package/dist/core/model-capabilities.js.map +1 -0
  1008. package/dist/core/model-config.d.ts +542 -0
  1009. package/dist/core/model-config.d.ts.map +1 -0
  1010. package/dist/core/{model-registry-schemas.js → model-config.js} +92 -32
  1011. package/dist/core/model-config.js.map +1 -0
  1012. package/dist/core/model-refresh-timeout.d.ts +9 -0
  1013. package/dist/core/model-refresh-timeout.d.ts.map +1 -0
  1014. package/dist/core/model-refresh-timeout.js +9 -0
  1015. package/dist/core/model-refresh-timeout.js.map +1 -0
  1016. package/dist/core/model-registry.d.ts +26 -94
  1017. package/dist/core/model-registry.d.ts.map +1 -1
  1018. package/dist/core/model-registry.js +65 -382
  1019. package/dist/core/model-registry.js.map +1 -1
  1020. package/dist/core/model-resolver-cli.d.ts +2 -2
  1021. package/dist/core/model-resolver-cli.d.ts.map +1 -1
  1022. package/dist/core/model-resolver-cli.js +2 -2
  1023. package/dist/core/model-resolver-cli.js.map +1 -1
  1024. package/dist/core/model-resolver-defaults.d.ts.map +1 -1
  1025. package/dist/core/model-resolver-defaults.js +5 -1
  1026. package/dist/core/model-resolver-defaults.js.map +1 -1
  1027. package/dist/core/model-resolver-initial.d.ts +4 -4
  1028. package/dist/core/model-resolver-initial.d.ts.map +1 -1
  1029. package/dist/core/model-resolver-initial.js +26 -17
  1030. package/dist/core/model-resolver-initial.js.map +1 -1
  1031. package/dist/core/model-resolver-patterns.d.ts.map +1 -1
  1032. package/dist/core/model-resolver-patterns.js +0 -2
  1033. package/dist/core/model-resolver-patterns.js.map +1 -1
  1034. package/dist/core/model-resolver-scope.d.ts +5 -3
  1035. package/dist/core/model-resolver-scope.d.ts.map +1 -1
  1036. package/dist/core/model-resolver-scope.js +32 -8
  1037. package/dist/core/model-resolver-scope.js.map +1 -1
  1038. package/dist/core/model-resolver-types.d.ts +2 -0
  1039. package/dist/core/model-resolver-types.d.ts.map +1 -1
  1040. package/dist/core/model-resolver-types.js.map +1 -1
  1041. package/dist/core/model-resolver.d.ts +3 -3
  1042. package/dist/core/model-resolver.d.ts.map +1 -1
  1043. package/dist/core/model-resolver.js +1 -1
  1044. package/dist/core/model-resolver.js.map +1 -1
  1045. package/dist/core/model-runtime-auth.d.ts +7 -0
  1046. package/dist/core/model-runtime-auth.d.ts.map +1 -0
  1047. package/dist/core/model-runtime-auth.js +17 -0
  1048. package/dist/core/model-runtime-auth.js.map +1 -0
  1049. package/dist/core/model-runtime-providers.d.ts +6 -0
  1050. package/dist/core/model-runtime-providers.d.ts.map +1 -0
  1051. package/dist/core/model-runtime-providers.js +22 -0
  1052. package/dist/core/model-runtime-providers.js.map +1 -0
  1053. package/dist/core/model-runtime-restoration.d.ts +6 -0
  1054. package/dist/core/model-runtime-restoration.d.ts.map +1 -0
  1055. package/dist/core/model-runtime-restoration.js +21 -0
  1056. package/dist/core/model-runtime-restoration.js.map +1 -0
  1057. package/dist/core/model-runtime-snapshot.d.ts +19 -0
  1058. package/dist/core/model-runtime-snapshot.d.ts.map +1 -0
  1059. package/dist/core/model-runtime-snapshot.js +111 -0
  1060. package/dist/core/model-runtime-snapshot.js.map +1 -0
  1061. package/dist/core/model-runtime-streaming.d.ts +17 -0
  1062. package/dist/core/model-runtime-streaming.d.ts.map +1 -0
  1063. package/dist/core/model-runtime-streaming.js +66 -0
  1064. package/dist/core/model-runtime-streaming.js.map +1 -0
  1065. package/dist/core/model-runtime-types.d.ts +21 -0
  1066. package/dist/core/model-runtime-types.d.ts.map +1 -0
  1067. package/dist/core/model-runtime-types.js +2 -0
  1068. package/dist/core/model-runtime-types.js.map +1 -0
  1069. package/dist/core/model-runtime.d.ts +79 -0
  1070. package/dist/core/model-runtime.d.ts.map +1 -0
  1071. package/dist/core/model-runtime.js +417 -0
  1072. package/dist/core/model-runtime.js.map +1 -0
  1073. package/dist/core/models-store.d.ts +2 -10
  1074. package/dist/core/models-store.d.ts.map +1 -1
  1075. package/dist/core/models-store.js +2 -29
  1076. package/dist/core/models-store.js.map +1 -1
  1077. package/dist/core/oauth-login.d.ts +24 -0
  1078. package/dist/core/oauth-login.d.ts.map +1 -0
  1079. package/dist/core/oauth-login.js +92 -0
  1080. package/dist/core/oauth-login.js.map +1 -0
  1081. package/dist/core/oauth-provider-metadata.d.ts +5 -0
  1082. package/dist/core/oauth-provider-metadata.d.ts.map +1 -0
  1083. package/dist/core/oauth-provider-metadata.js +33 -0
  1084. package/dist/core/oauth-provider-metadata.js.map +1 -0
  1085. package/dist/core/openai-responses-payload-sanitizer.js.map +1 -1
  1086. package/dist/core/output-guard.d.ts +44 -0
  1087. package/dist/core/output-guard.d.ts.map +1 -1
  1088. package/dist/core/output-guard.js +63 -0
  1089. package/dist/core/output-guard.js.map +1 -1
  1090. package/dist/core/package-manager-auto-resources.d.ts.map +1 -1
  1091. package/dist/core/package-manager-auto-resources.js +18 -5
  1092. package/dist/core/package-manager-auto-resources.js.map +1 -1
  1093. package/dist/core/package-manager-git.d.ts.map +1 -1
  1094. package/dist/core/package-manager-git.js +27 -11
  1095. package/dist/core/package-manager-git.js.map +1 -1
  1096. package/dist/core/package-manager-npm.d.ts.map +1 -1
  1097. package/dist/core/package-manager-npm.js +4 -2
  1098. package/dist/core/package-manager-npm.js.map +1 -1
  1099. package/dist/core/package-manager-operations.d.ts.map +1 -1
  1100. package/dist/core/package-manager-operations.js +2 -2
  1101. package/dist/core/package-manager-operations.js.map +1 -1
  1102. package/dist/core/package-manager-paths.d.ts.map +1 -1
  1103. package/dist/core/package-manager-paths.js.map +1 -1
  1104. package/dist/core/package-manager-resolver.d.ts.map +1 -1
  1105. package/dist/core/package-manager-resolver.js +71 -26
  1106. package/dist/core/package-manager-resolver.js.map +1 -1
  1107. package/dist/core/package-manager-resource-collector.d.ts.map +1 -1
  1108. package/dist/core/package-manager-resource-collector.js +13 -7
  1109. package/dist/core/package-manager-resource-collector.js.map +1 -1
  1110. package/dist/core/package-manager-resource-files.d.ts.map +1 -1
  1111. package/dist/core/package-manager-resource-files.js +4 -3
  1112. package/dist/core/package-manager-resource-files.js.map +1 -1
  1113. package/dist/core/package-manager-resource-patterns.d.ts +1 -0
  1114. package/dist/core/package-manager-resource-patterns.d.ts.map +1 -1
  1115. package/dist/core/package-manager-resource-patterns.js +15 -0
  1116. package/dist/core/package-manager-resource-patterns.js.map +1 -1
  1117. package/dist/core/package-manager-settings.d.ts.map +1 -1
  1118. package/dist/core/package-manager-settings.js +3 -2
  1119. package/dist/core/package-manager-settings.js.map +1 -1
  1120. package/dist/core/package-manager-source.d.ts.map +1 -1
  1121. package/dist/core/package-manager-source.js +16 -9
  1122. package/dist/core/package-manager-source.js.map +1 -1
  1123. package/dist/core/package-manager-types.d.ts +3 -0
  1124. package/dist/core/package-manager-types.d.ts.map +1 -1
  1125. package/dist/core/package-manager-types.js.map +1 -1
  1126. package/dist/core/package-manager.d.ts +1 -1
  1127. package/dist/core/package-manager.d.ts.map +1 -1
  1128. package/dist/core/package-manager.js +2 -3
  1129. package/dist/core/package-manager.js.map +1 -1
  1130. package/dist/core/prompt-templates-async.d.ts.map +1 -1
  1131. package/dist/core/prompt-templates-async.js +15 -7
  1132. package/dist/core/prompt-templates-async.js.map +1 -1
  1133. package/dist/core/prompt-templates.d.ts +1 -0
  1134. package/dist/core/prompt-templates.d.ts.map +1 -1
  1135. package/dist/core/prompt-templates.js +4 -4
  1136. package/dist/core/prompt-templates.js.map +1 -1
  1137. package/dist/core/provider-composer-internal.d.ts +53 -0
  1138. package/dist/core/provider-composer-internal.d.ts.map +1 -0
  1139. package/dist/core/provider-composer-internal.js +273 -0
  1140. package/dist/core/provider-composer-internal.js.map +1 -0
  1141. package/dist/core/provider-composer.d.ts +16 -0
  1142. package/dist/core/provider-composer.d.ts.map +1 -0
  1143. package/dist/core/provider-composer.js +108 -0
  1144. package/dist/core/provider-composer.js.map +1 -0
  1145. package/dist/core/provider-context-usage.d.ts.map +1 -1
  1146. package/dist/core/provider-context-usage.js +2 -1
  1147. package/dist/core/provider-context-usage.js.map +1 -1
  1148. package/dist/core/provider-display-names.d.ts.map +1 -1
  1149. package/dist/core/provider-display-names.js +4 -0
  1150. package/dist/core/provider-display-names.js.map +1 -1
  1151. package/dist/core/remote-catalog-provider.d.ts +1 -1
  1152. package/dist/core/remote-catalog-provider.d.ts.map +1 -1
  1153. package/dist/core/remote-catalog-provider.js +82 -105
  1154. package/dist/core/remote-catalog-provider.js.map +1 -1
  1155. package/dist/core/resolve-config-value.d.ts +8 -7
  1156. package/dist/core/resolve-config-value.d.ts.map +1 -1
  1157. package/dist/core/resolve-config-value.js +26 -23
  1158. package/dist/core/resolve-config-value.js.map +1 -1
  1159. package/dist/core/resource-loader-assets.d.ts.map +1 -1
  1160. package/dist/core/resource-loader-assets.js +58 -8
  1161. package/dist/core/resource-loader-assets.js.map +1 -1
  1162. package/dist/core/resource-loader-context-files.d.ts +6 -0
  1163. package/dist/core/resource-loader-context-files.d.ts.map +1 -1
  1164. package/dist/core/resource-loader-context-files.js +85 -4
  1165. package/dist/core/resource-loader-context-files.js.map +1 -1
  1166. package/dist/core/resource-loader-core.d.ts +13 -3
  1167. package/dist/core/resource-loader-core.d.ts.map +1 -1
  1168. package/dist/core/resource-loader-core.js +39 -19
  1169. package/dist/core/resource-loader-core.js.map +1 -1
  1170. package/dist/core/resource-loader-discovery.d.ts.map +1 -1
  1171. package/dist/core/resource-loader-discovery.js.map +1 -1
  1172. package/dist/core/resource-loader-extensions.d.ts +1 -0
  1173. package/dist/core/resource-loader-extensions.d.ts.map +1 -1
  1174. package/dist/core/resource-loader-extensions.js +140 -12
  1175. package/dist/core/resource-loader-extensions.js.map +1 -1
  1176. package/dist/core/resource-loader-helpers.d.ts.map +1 -1
  1177. package/dist/core/resource-loader-helpers.js +1 -0
  1178. package/dist/core/resource-loader-helpers.js.map +1 -1
  1179. package/dist/core/resource-loader-internals.d.ts +14 -7
  1180. package/dist/core/resource-loader-internals.d.ts.map +1 -1
  1181. package/dist/core/resource-loader-internals.js.map +1 -1
  1182. package/dist/core/resource-loader-package-resources.d.ts.map +1 -1
  1183. package/dist/core/resource-loader-package-resources.js +15 -2
  1184. package/dist/core/resource-loader-package-resources.js.map +1 -1
  1185. package/dist/core/resource-loader-paths.js.map +1 -1
  1186. package/dist/core/resource-loader-reload.d.ts.map +1 -1
  1187. package/dist/core/resource-loader-reload.js +29 -13
  1188. package/dist/core/resource-loader-reload.js.map +1 -1
  1189. package/dist/core/resource-loader-source-info.d.ts +1 -1
  1190. package/dist/core/resource-loader-source-info.d.ts.map +1 -1
  1191. package/dist/core/resource-loader-source-info.js +7 -4
  1192. package/dist/core/resource-loader-source-info.js.map +1 -1
  1193. package/dist/core/resource-loader-types.d.ts +12 -6
  1194. package/dist/core/resource-loader-types.d.ts.map +1 -1
  1195. package/dist/core/resource-loader-types.js.map +1 -1
  1196. package/dist/core/resource-loader.d.ts +1 -1
  1197. package/dist/core/resource-loader.d.ts.map +1 -1
  1198. package/dist/core/resource-loader.js +1 -1
  1199. package/dist/core/resource-loader.js.map +1 -1
  1200. package/dist/core/runtime-credentials.d.ts +16 -0
  1201. package/dist/core/runtime-credentials.d.ts.map +1 -0
  1202. package/dist/core/runtime-credentials.js +42 -0
  1203. package/dist/core/runtime-credentials.js.map +1 -0
  1204. package/dist/core/sdk-exports.d.ts +2 -2
  1205. package/dist/core/sdk-exports.d.ts.map +1 -1
  1206. package/dist/core/sdk-exports.js +2 -2
  1207. package/dist/core/sdk-exports.js.map +1 -1
  1208. package/dist/core/sdk-types.d.ts +16 -18
  1209. package/dist/core/sdk-types.d.ts.map +1 -1
  1210. package/dist/core/sdk-types.js.map +1 -1
  1211. package/dist/core/sdk.d.ts +2 -1
  1212. package/dist/core/sdk.d.ts.map +1 -1
  1213. package/dist/core/sdk.js +61 -132
  1214. package/dist/core/sdk.js.map +1 -1
  1215. package/dist/core/session-manager-archive.d.ts.map +1 -1
  1216. package/dist/core/session-manager-archive.js +5 -2
  1217. package/dist/core/session-manager-archive.js.map +1 -1
  1218. package/dist/core/session-manager-classification.js +3 -3
  1219. package/dist/core/session-manager-classification.js.map +1 -1
  1220. package/dist/core/session-manager-core.d.ts +5 -4
  1221. package/dist/core/session-manager-core.d.ts.map +1 -1
  1222. package/dist/core/session-manager-core.js +29 -33
  1223. package/dist/core/session-manager-core.js.map +1 -1
  1224. package/dist/core/session-manager-entries.d.ts +5 -8
  1225. package/dist/core/session-manager-entries.d.ts.map +1 -1
  1226. package/dist/core/session-manager-entries.js +4 -9
  1227. package/dist/core/session-manager-entries.js.map +1 -1
  1228. package/dist/core/session-manager-history.d.ts +8 -3
  1229. package/dist/core/session-manager-history.d.ts.map +1 -1
  1230. package/dist/core/session-manager-history.js +90 -27
  1231. package/dist/core/session-manager-history.js.map +1 -1
  1232. package/dist/core/session-manager-list.d.ts.map +1 -1
  1233. package/dist/core/session-manager-list.js +1 -1
  1234. package/dist/core/session-manager-list.js.map +1 -1
  1235. package/dist/core/session-manager-migrations.js.map +1 -1
  1236. package/dist/core/session-manager-storage.d.ts +6 -0
  1237. package/dist/core/session-manager-storage.d.ts.map +1 -1
  1238. package/dist/core/session-manager-storage.js +38 -5
  1239. package/dist/core/session-manager-storage.js.map +1 -1
  1240. package/dist/core/session-manager-types.d.ts +10 -8
  1241. package/dist/core/session-manager-types.d.ts.map +1 -1
  1242. package/dist/core/session-manager-types.js.map +1 -1
  1243. package/dist/core/session-manager-validation.d.ts.map +1 -1
  1244. package/dist/core/session-manager-validation.js +3 -16
  1245. package/dist/core/session-manager-validation.js.map +1 -1
  1246. package/dist/core/session-manager.d.ts +4 -4
  1247. package/dist/core/session-manager.d.ts.map +1 -1
  1248. package/dist/core/session-manager.js +2 -2
  1249. package/dist/core/session-manager.js.map +1 -1
  1250. package/dist/core/settings-manager-basic-accessors.d.ts +7 -4
  1251. package/dist/core/settings-manager-basic-accessors.d.ts.map +1 -1
  1252. package/dist/core/settings-manager-basic-accessors.js +35 -50
  1253. package/dist/core/settings-manager-basic-accessors.js.map +1 -1
  1254. package/dist/core/settings-manager-core.d.ts +2 -4
  1255. package/dist/core/settings-manager-core.d.ts.map +1 -1
  1256. package/dist/core/settings-manager-core.js +5 -51
  1257. package/dist/core/settings-manager-core.js.map +1 -1
  1258. package/dist/core/settings-manager-resource-accessors.d.ts +3 -0
  1259. package/dist/core/settings-manager-resource-accessors.d.ts.map +1 -1
  1260. package/dist/core/settings-manager-resource-accessors.js +16 -0
  1261. package/dist/core/settings-manager-resource-accessors.js.map +1 -1
  1262. package/dist/core/settings-manager-ui-accessors.js +2 -1
  1263. package/dist/core/settings-manager-ui-accessors.js.map +1 -1
  1264. package/dist/core/settings-manager.d.ts +1 -1
  1265. package/dist/core/settings-manager.d.ts.map +1 -1
  1266. package/dist/core/settings-manager.js.map +1 -1
  1267. package/dist/core/settings-storage.d.ts +3 -1
  1268. package/dist/core/settings-storage.d.ts.map +1 -1
  1269. package/dist/core/settings-storage.js +23 -1
  1270. package/dist/core/settings-storage.js.map +1 -1
  1271. package/dist/core/settings-types.d.ts +10 -6
  1272. package/dist/core/settings-types.d.ts.map +1 -1
  1273. package/dist/core/settings-types.js.map +1 -1
  1274. package/dist/core/skills-async.d.ts.map +1 -1
  1275. package/dist/core/skills-async.js +18 -8
  1276. package/dist/core/skills-async.js.map +1 -1
  1277. package/dist/core/slash-commands.d.ts +1 -0
  1278. package/dist/core/slash-commands.d.ts.map +1 -1
  1279. package/dist/core/slash-commands.js +127 -24
  1280. package/dist/core/slash-commands.js.map +1 -1
  1281. package/dist/core/source-info.d.ts +3 -1
  1282. package/dist/core/source-info.d.ts.map +1 -1
  1283. package/dist/core/source-info.js +2 -0
  1284. package/dist/core/source-info.js.map +1 -1
  1285. package/dist/core/summarization-retry.d.ts +11 -0
  1286. package/dist/core/summarization-retry.d.ts.map +1 -0
  1287. package/dist/core/summarization-retry.js +21 -0
  1288. package/dist/core/summarization-retry.js.map +1 -0
  1289. package/dist/core/system-prompt.d.ts.map +1 -1
  1290. package/dist/core/system-prompt.js +15 -18
  1291. package/dist/core/system-prompt.js.map +1 -1
  1292. package/dist/core/thinking-blocks.d.ts.map +1 -1
  1293. package/dist/core/thinking-blocks.js +2 -2
  1294. package/dist/core/thinking-blocks.js.map +1 -1
  1295. package/dist/core/tools/artifact-protocol.d.ts.map +1 -1
  1296. package/dist/core/tools/artifact-protocol.js.map +1 -1
  1297. package/dist/core/tools/artifacts.d.ts.map +1 -1
  1298. package/dist/core/tools/artifacts.js.map +1 -1
  1299. package/dist/core/tools/ask-user-question/ask-user-question.d.ts.map +1 -1
  1300. package/dist/core/tools/ask-user-question/ask-user-question.js +1 -1
  1301. package/dist/core/tools/ask-user-question/ask-user-question.js.map +1 -1
  1302. package/dist/core/tools/ask-user-question/state/build-questionnaire.d.ts +1 -1
  1303. package/dist/core/tools/ask-user-question/state/build-questionnaire.d.ts.map +1 -1
  1304. package/dist/core/tools/ask-user-question/state/build-questionnaire.js +1 -1
  1305. package/dist/core/tools/ask-user-question/state/build-questionnaire.js.map +1 -1
  1306. package/dist/core/tools/ask-user-question/state/questionnaire-session.d.ts.map +1 -1
  1307. package/dist/core/tools/ask-user-question/state/questionnaire-session.js +2 -4
  1308. package/dist/core/tools/ask-user-question/state/questionnaire-session.js.map +1 -1
  1309. package/dist/core/tools/ask-user-question/state/state-reducer.d.ts.map +1 -1
  1310. package/dist/core/tools/ask-user-question/state/state-reducer.js.map +1 -1
  1311. package/dist/core/tools/ask-user-question/view/body-residual-spacer.d.ts.map +1 -1
  1312. package/dist/core/tools/ask-user-question/view/body-residual-spacer.js.map +1 -1
  1313. package/dist/core/tools/ask-user-question/view/components/multi-select-view.d.ts.map +1 -1
  1314. package/dist/core/tools/ask-user-question/view/components/multi-select-view.js.map +1 -1
  1315. package/dist/core/tools/ask-user-question/view/components/preview/markdown-content-cache.d.ts +1 -1
  1316. package/dist/core/tools/ask-user-question/view/components/preview/markdown-content-cache.d.ts.map +1 -1
  1317. package/dist/core/tools/ask-user-question/view/components/preview/markdown-content-cache.js.map +1 -1
  1318. package/dist/core/tools/ask-user-question/view/components/preview/preview-block-renderer.d.ts +1 -1
  1319. package/dist/core/tools/ask-user-question/view/components/preview/preview-block-renderer.d.ts.map +1 -1
  1320. package/dist/core/tools/ask-user-question/view/components/preview/preview-block-renderer.js +1 -3
  1321. package/dist/core/tools/ask-user-question/view/components/preview/preview-block-renderer.js.map +1 -1
  1322. package/dist/core/tools/ask-user-question/view/components/submit-picker.d.ts.map +1 -1
  1323. package/dist/core/tools/ask-user-question/view/components/submit-picker.js.map +1 -1
  1324. package/dist/core/tools/ask-user-question/view/components/tab-bar.d.ts.map +1 -1
  1325. package/dist/core/tools/ask-user-question/view/components/tab-bar.js.map +1 -1
  1326. package/dist/core/tools/ask-user-question/view/dialog-builder.d.ts +1 -1
  1327. package/dist/core/tools/ask-user-question/view/dialog-builder.d.ts.map +1 -1
  1328. package/dist/core/tools/ask-user-question/view/dialog-builder.js +1 -1
  1329. package/dist/core/tools/ask-user-question/view/dialog-builder.js.map +1 -1
  1330. package/dist/core/tools/ask-user-question/view/props-adapter.d.ts.map +1 -1
  1331. package/dist/core/tools/ask-user-question/view/props-adapter.js +2 -4
  1332. package/dist/core/tools/ask-user-question/view/props-adapter.js.map +1 -1
  1333. package/dist/core/tools/ask-user-question/view/tab-content-strategy.d.ts +1 -1
  1334. package/dist/core/tools/ask-user-question/view/tab-content-strategy.d.ts.map +1 -1
  1335. package/dist/core/tools/ask-user-question/view/tab-content-strategy.js +2 -9
  1336. package/dist/core/tools/ask-user-question/view/tab-content-strategy.js.map +1 -1
  1337. package/dist/core/tools/bash-async-execution.d.ts.map +1 -1
  1338. package/dist/core/tools/bash-async-execution.js +11 -4
  1339. package/dist/core/tools/bash-async-execution.js.map +1 -1
  1340. package/dist/core/tools/bash-async-jobs.d.ts.map +1 -1
  1341. package/dist/core/tools/bash-async-jobs.js +14 -2
  1342. package/dist/core/tools/bash-async-jobs.js.map +1 -1
  1343. package/dist/core/tools/bash-async-output.d.ts.map +1 -1
  1344. package/dist/core/tools/bash-async-output.js +6 -2
  1345. package/dist/core/tools/bash-async-output.js.map +1 -1
  1346. package/dist/core/tools/bash-interceptor.d.ts.map +1 -1
  1347. package/dist/core/tools/bash-interceptor.js +20 -4
  1348. package/dist/core/tools/bash-interceptor.js.map +1 -1
  1349. package/dist/core/tools/bash-leading-cd.d.ts.map +1 -1
  1350. package/dist/core/tools/bash-leading-cd.js +9 -3
  1351. package/dist/core/tools/bash-leading-cd.js.map +1 -1
  1352. package/dist/core/tools/bash-pty-native.d.ts.map +1 -1
  1353. package/dist/core/tools/bash-pty-native.js.map +1 -1
  1354. package/dist/core/tools/bash-session-environment.d.ts +13 -0
  1355. package/dist/core/tools/bash-session-environment.d.ts.map +1 -0
  1356. package/dist/core/tools/bash-session-environment.js +47 -0
  1357. package/dist/core/tools/bash-session-environment.js.map +1 -0
  1358. package/dist/core/tools/bash.d.ts +4 -1
  1359. package/dist/core/tools/bash.d.ts.map +1 -1
  1360. package/dist/core/tools/bash.js +134 -30
  1361. package/dist/core/tools/bash.js.map +1 -1
  1362. package/dist/core/tools/block-resolver.d.ts.map +1 -1
  1363. package/dist/core/tools/block-resolver.js.map +1 -1
  1364. package/dist/core/tools/conflict-registry.d.ts.map +1 -1
  1365. package/dist/core/tools/conflict-registry.js.map +1 -1
  1366. package/dist/core/tools/directory-tree.d.ts.map +1 -1
  1367. package/dist/core/tools/directory-tree.js +20 -4
  1368. package/dist/core/tools/directory-tree.js.map +1 -1
  1369. package/dist/core/tools/edit.d.ts.map +1 -1
  1370. package/dist/core/tools/edit.js +37 -13
  1371. package/dist/core/tools/edit.js.map +1 -1
  1372. package/dist/core/tools/fetch-url.d.ts.map +1 -1
  1373. package/dist/core/tools/fetch-url.js +127 -41
  1374. package/dist/core/tools/fetch-url.js.map +1 -1
  1375. package/dist/core/tools/find.d.ts.map +1 -1
  1376. package/dist/core/tools/find.js +176 -46
  1377. package/dist/core/tools/find.js.map +1 -1
  1378. package/dist/core/tools/grep.d.ts.map +1 -1
  1379. package/dist/core/tools/grep.js +43 -10
  1380. package/dist/core/tools/grep.js.map +1 -1
  1381. package/dist/core/tools/hashline-engine/apply.d.ts.map +1 -1
  1382. package/dist/core/tools/hashline-engine/apply.js +6 -6
  1383. package/dist/core/tools/hashline-engine/apply.js.map +1 -1
  1384. package/dist/core/tools/hashline-engine/block.js +1 -1
  1385. package/dist/core/tools/hashline-engine/block.js.map +1 -1
  1386. package/dist/core/tools/hashline-engine/format.d.ts.map +1 -1
  1387. package/dist/core/tools/hashline-engine/format.js +1 -1
  1388. package/dist/core/tools/hashline-engine/format.js.map +1 -1
  1389. package/dist/core/tools/hashline-engine/input.d.ts.map +1 -1
  1390. package/dist/core/tools/hashline-engine/input.js +7 -7
  1391. package/dist/core/tools/hashline-engine/input.js.map +1 -1
  1392. package/dist/core/tools/hashline-engine/parser.js +1 -1
  1393. package/dist/core/tools/hashline-engine/parser.js.map +1 -1
  1394. package/dist/core/tools/hashline-engine/patcher.js +5 -5
  1395. package/dist/core/tools/hashline-engine/patcher.js.map +1 -1
  1396. package/dist/core/tools/hashline-engine/prefixes.js +4 -4
  1397. package/dist/core/tools/hashline-engine/prefixes.js.map +1 -1
  1398. package/dist/core/tools/hashline-engine/recovery.d.ts.map +1 -1
  1399. package/dist/core/tools/hashline-engine/recovery.js +4 -2
  1400. package/dist/core/tools/hashline-engine/recovery.js.map +1 -1
  1401. package/dist/core/tools/hashline-engine/snapshots.js +5 -5
  1402. package/dist/core/tools/hashline-engine/snapshots.js.map +1 -1
  1403. package/dist/core/tools/hashline.d.ts.map +1 -1
  1404. package/dist/core/tools/hashline.js +24 -13
  1405. package/dist/core/tools/hashline.js.map +1 -1
  1406. package/dist/core/tools/index.d.ts +6 -6
  1407. package/dist/core/tools/index.d.ts.map +1 -1
  1408. package/dist/core/tools/index.js +6 -6
  1409. package/dist/core/tools/index.js.map +1 -1
  1410. package/dist/core/tools/ls.d.ts.map +1 -1
  1411. package/dist/core/tools/ls.js +2 -1
  1412. package/dist/core/tools/ls.js.map +1 -1
  1413. package/dist/core/tools/notebook.d.ts.map +1 -1
  1414. package/dist/core/tools/notebook.js +13 -3
  1415. package/dist/core/tools/notebook.js.map +1 -1
  1416. package/dist/core/tools/read-document-extract.d.ts.map +1 -1
  1417. package/dist/core/tools/read-document-extract.js +30 -10
  1418. package/dist/core/tools/read-document-extract.js.map +1 -1
  1419. package/dist/core/tools/read-selectors.d.ts.map +1 -1
  1420. package/dist/core/tools/read-selectors.js +59 -15
  1421. package/dist/core/tools/read-selectors.js.map +1 -1
  1422. package/dist/core/tools/read-url.d.ts.map +1 -1
  1423. package/dist/core/tools/read-url.js +41 -7
  1424. package/dist/core/tools/read-url.js.map +1 -1
  1425. package/dist/core/tools/read.d.ts.map +1 -1
  1426. package/dist/core/tools/read.js +307 -72
  1427. package/dist/core/tools/read.js.map +1 -1
  1428. package/dist/core/tools/resource-selectors.d.ts +4 -0
  1429. package/dist/core/tools/resource-selectors.d.ts.map +1 -1
  1430. package/dist/core/tools/resource-selectors.js +324 -84
  1431. package/dist/core/tools/resource-selectors.js.map +1 -1
  1432. package/dist/core/tools/search-details.d.ts.map +1 -1
  1433. package/dist/core/tools/search-details.js +13 -1
  1434. package/dist/core/tools/search-details.js.map +1 -1
  1435. package/dist/core/tools/search-line-ranges.d.ts.map +1 -1
  1436. package/dist/core/tools/search-line-ranges.js +5 -2
  1437. package/dist/core/tools/search-line-ranges.js.map +1 -1
  1438. package/dist/core/tools/search-native.d.ts.map +1 -1
  1439. package/dist/core/tools/search-native.js.map +1 -1
  1440. package/dist/core/tools/search.d.ts.map +1 -1
  1441. package/dist/core/tools/search.js +244 -90
  1442. package/dist/core/tools/search.js.map +1 -1
  1443. package/dist/core/tools/structured-output.d.ts +1 -1
  1444. package/dist/core/tools/structured-output.d.ts.map +1 -1
  1445. package/dist/core/tools/structured-output.js.map +1 -1
  1446. package/dist/core/tools/todos-execute.d.ts.map +1 -1
  1447. package/dist/core/tools/todos-execute.js +4 -4
  1448. package/dist/core/tools/todos-execute.js.map +1 -1
  1449. package/dist/core/tools/todos-locks.d.ts.map +1 -1
  1450. package/dist/core/tools/todos-locks.js.map +1 -1
  1451. package/dist/core/tools/todos-mutations.js +1 -1
  1452. package/dist/core/tools/todos-mutations.js.map +1 -1
  1453. package/dist/core/tools/todos-paths.js +2 -2
  1454. package/dist/core/tools/todos-paths.js.map +1 -1
  1455. package/dist/core/tools/todos-render.d.ts.map +1 -1
  1456. package/dist/core/tools/todos-render.js +2 -2
  1457. package/dist/core/tools/todos-render.js.map +1 -1
  1458. package/dist/core/tools/todos-storage.d.ts.map +1 -1
  1459. package/dist/core/tools/todos-storage.js +1 -2
  1460. package/dist/core/tools/todos-storage.js.map +1 -1
  1461. package/dist/core/tools/todos-types.d.ts.map +1 -1
  1462. package/dist/core/tools/todos-types.js +1 -11
  1463. package/dist/core/tools/todos-types.js.map +1 -1
  1464. package/dist/core/tools/tool-definition-wrapper.d.ts +3 -0
  1465. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
  1466. package/dist/core/tools/tool-definition-wrapper.js +9 -5
  1467. package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
  1468. package/dist/core/tools/url-ip-guards.d.ts.map +1 -1
  1469. package/dist/core/tools/url-ip-guards.js +27 -17
  1470. package/dist/core/tools/url-ip-guards.js.map +1 -1
  1471. package/dist/core/tools/write.d.ts.map +1 -1
  1472. package/dist/core/tools/write.js +88 -29
  1473. package/dist/core/tools/write.js.map +1 -1
  1474. package/dist/core/usage-totals.d.ts +18 -0
  1475. package/dist/core/usage-totals.d.ts.map +1 -0
  1476. package/dist/core/usage-totals.js +43 -0
  1477. package/dist/core/usage-totals.js.map +1 -0
  1478. package/dist/core/workflow-stage-admission.d.ts.map +1 -1
  1479. package/dist/core/workflow-stage-admission.js +8 -2
  1480. package/dist/core/workflow-stage-admission.js.map +1 -1
  1481. package/dist/extensions/index.d.ts +3 -0
  1482. package/dist/extensions/index.d.ts.map +1 -0
  1483. package/dist/extensions/index.js +5 -0
  1484. package/dist/extensions/index.js.map +1 -0
  1485. package/dist/extensions/llama/client.d.ts +61 -0
  1486. package/dist/extensions/llama/client.d.ts.map +1 -0
  1487. package/dist/extensions/llama/client.js +300 -0
  1488. package/dist/extensions/llama/client.js.map +1 -0
  1489. package/dist/extensions/llama/huggingface-ui.d.ts +33 -0
  1490. package/dist/extensions/llama/huggingface-ui.d.ts.map +1 -0
  1491. package/dist/extensions/llama/huggingface-ui.js +166 -0
  1492. package/dist/extensions/llama/huggingface-ui.js.map +1 -0
  1493. package/dist/extensions/llama/huggingface.d.ts +23 -0
  1494. package/dist/extensions/llama/huggingface.d.ts.map +1 -0
  1495. package/dist/extensions/llama/huggingface.js +139 -0
  1496. package/dist/extensions/llama/huggingface.js.map +1 -0
  1497. package/dist/extensions/llama/index.d.ts +3 -0
  1498. package/dist/extensions/llama/index.d.ts.map +1 -0
  1499. package/dist/extensions/llama/index.js +208 -0
  1500. package/dist/extensions/llama/index.js.map +1 -0
  1501. package/dist/extensions/llama/provider.d.ts +10 -0
  1502. package/dist/extensions/llama/provider.d.ts.map +1 -0
  1503. package/dist/extensions/llama/provider.js +107 -0
  1504. package/dist/extensions/llama/provider.js.map +1 -0
  1505. package/dist/extensions/llama/ui.d.ts +42 -0
  1506. package/dist/extensions/llama/ui.d.ts.map +1 -0
  1507. package/dist/extensions/llama/ui.js +237 -0
  1508. package/dist/extensions/llama/ui.js.map +1 -0
  1509. package/dist/index-extensions.d.ts +2 -2
  1510. package/dist/index-extensions.d.ts.map +1 -1
  1511. package/dist/index-extensions.js +1 -1
  1512. package/dist/index-extensions.js.map +1 -1
  1513. package/dist/index.d.ts +22 -23
  1514. package/dist/index.d.ts.map +1 -1
  1515. package/dist/index.js +26 -27
  1516. package/dist/index.js.map +1 -1
  1517. package/dist/main-app-mode.d.ts +1 -0
  1518. package/dist/main-app-mode.d.ts.map +1 -1
  1519. package/dist/main-app-mode.js +3 -0
  1520. package/dist/main-app-mode.js.map +1 -1
  1521. package/dist/main-deferred-startup.d.ts +1 -1
  1522. package/dist/main-deferred-startup.d.ts.map +1 -1
  1523. package/dist/main-deferred-startup.js +16 -15
  1524. package/dist/main-deferred-startup.js.map +1 -1
  1525. package/dist/main-early-input.js.map +1 -1
  1526. package/dist/main-first-time-setup.d.ts +6 -0
  1527. package/dist/main-first-time-setup.d.ts.map +1 -0
  1528. package/dist/main-first-time-setup.js +10 -0
  1529. package/dist/main-first-time-setup.js.map +1 -0
  1530. package/dist/main-runtime-api-key.d.ts +6 -0
  1531. package/dist/main-runtime-api-key.d.ts.map +1 -0
  1532. package/dist/main-runtime-api-key.js +6 -0
  1533. package/dist/main-runtime-api-key.js.map +1 -0
  1534. package/dist/main-session-options.d.ts +2 -2
  1535. package/dist/main-session-options.d.ts.map +1 -1
  1536. package/dist/main-session-options.js +3 -7
  1537. package/dist/main-session-options.js.map +1 -1
  1538. package/dist/main-session.d.ts.map +1 -1
  1539. package/dist/main-session.js +5 -4
  1540. package/dist/main-session.js.map +1 -1
  1541. package/dist/main-types.d.ts +2 -2
  1542. package/dist/main-types.d.ts.map +1 -1
  1543. package/dist/main-types.js.map +1 -1
  1544. package/dist/main.d.ts +1 -1
  1545. package/dist/main.d.ts.map +1 -1
  1546. package/dist/main.js +173 -69
  1547. package/dist/main.js.map +1 -1
  1548. package/dist/migrations-config-values.d.ts.map +1 -1
  1549. package/dist/migrations-config-values.js +3 -1
  1550. package/dist/migrations-config-values.js.map +1 -1
  1551. package/dist/migrations.d.ts.map +1 -1
  1552. package/dist/migrations.js.map +1 -1
  1553. package/dist/modes/index.d.ts +1 -1
  1554. package/dist/modes/index.d.ts.map +1 -1
  1555. package/dist/modes/index.js.map +1 -1
  1556. package/dist/modes/interactive/chat-input-actions.d.ts +1 -1
  1557. package/dist/modes/interactive/chat-input-actions.d.ts.map +1 -1
  1558. package/dist/modes/interactive/chat-input-actions.js +30 -103
  1559. package/dist/modes/interactive/chat-input-actions.js.map +1 -1
  1560. package/dist/modes/interactive/components/atomic-banner.d.ts +9 -8
  1561. package/dist/modes/interactive/components/atomic-banner.d.ts.map +1 -1
  1562. package/dist/modes/interactive/components/atomic-banner.js +68 -22
  1563. package/dist/modes/interactive/components/atomic-banner.js.map +1 -1
  1564. package/dist/modes/interactive/components/atomic-working-status.d.ts +52 -0
  1565. package/dist/modes/interactive/components/atomic-working-status.d.ts.map +1 -0
  1566. package/dist/modes/interactive/components/atomic-working-status.js +215 -0
  1567. package/dist/modes/interactive/components/atomic-working-status.js.map +1 -0
  1568. package/dist/modes/interactive/components/chat-message-renderer.d.ts +1 -1
  1569. package/dist/modes/interactive/components/chat-message-renderer.d.ts.map +1 -1
  1570. package/dist/modes/interactive/components/chat-message-renderer.js +7 -6
  1571. package/dist/modes/interactive/components/chat-message-renderer.js.map +1 -1
  1572. package/dist/modes/interactive/components/chat-session-host-actions.d.ts +3 -2
  1573. package/dist/modes/interactive/components/chat-session-host-actions.d.ts.map +1 -1
  1574. package/dist/modes/interactive/components/chat-session-host-actions.js +93 -17
  1575. package/dist/modes/interactive/components/chat-session-host-actions.js.map +1 -1
  1576. package/dist/modes/interactive/components/chat-session-host-editor.d.ts +4 -4
  1577. package/dist/modes/interactive/components/chat-session-host-editor.d.ts.map +1 -1
  1578. package/dist/modes/interactive/components/chat-session-host-editor.js +12 -7
  1579. package/dist/modes/interactive/components/chat-session-host-editor.js.map +1 -1
  1580. package/dist/modes/interactive/components/chat-session-host-events.d.ts.map +1 -1
  1581. package/dist/modes/interactive/components/chat-session-host-events.js +84 -15
  1582. package/dist/modes/interactive/components/chat-session-host-events.js.map +1 -1
  1583. package/dist/modes/interactive/components/chat-session-host-rendering.d.ts +1 -1
  1584. package/dist/modes/interactive/components/chat-session-host-rendering.d.ts.map +1 -1
  1585. package/dist/modes/interactive/components/chat-session-host-rendering.js +49 -14
  1586. package/dist/modes/interactive/components/chat-session-host-rendering.js.map +1 -1
  1587. package/dist/modes/interactive/components/chat-session-host-runtime.d.ts +36 -2
  1588. package/dist/modes/interactive/components/chat-session-host-runtime.d.ts.map +1 -1
  1589. package/dist/modes/interactive/components/chat-session-host-runtime.js +129 -25
  1590. package/dist/modes/interactive/components/chat-session-host-runtime.js.map +1 -1
  1591. package/dist/modes/interactive/components/chat-session-host-state.d.ts +11 -2
  1592. package/dist/modes/interactive/components/chat-session-host-state.d.ts.map +1 -1
  1593. package/dist/modes/interactive/components/chat-session-host-state.js +5 -0
  1594. package/dist/modes/interactive/components/chat-session-host-state.js.map +1 -1
  1595. package/dist/modes/interactive/components/chat-session-host-terminal-cleanup.d.ts.map +1 -1
  1596. package/dist/modes/interactive/components/chat-session-host-terminal-cleanup.js.map +1 -1
  1597. package/dist/modes/interactive/components/chat-session-host-types.d.ts +19 -2
  1598. package/dist/modes/interactive/components/chat-session-host-types.d.ts.map +1 -1
  1599. package/dist/modes/interactive/components/chat-session-host-types.js.map +1 -1
  1600. package/dist/modes/interactive/components/chat-session-host-utils.d.ts +1 -1
  1601. package/dist/modes/interactive/components/chat-session-host-utils.d.ts.map +1 -1
  1602. package/dist/modes/interactive/components/chat-session-host-utils.js +3 -8
  1603. package/dist/modes/interactive/components/chat-session-host-utils.js.map +1 -1
  1604. package/dist/modes/interactive/components/chat-session-host.d.ts +17 -4
  1605. package/dist/modes/interactive/components/chat-session-host.d.ts.map +1 -1
  1606. package/dist/modes/interactive/components/chat-session-host.js +26 -3
  1607. package/dist/modes/interactive/components/chat-session-host.js.map +1 -1
  1608. package/dist/modes/interactive/components/chat-transcript.d.ts +1 -1
  1609. package/dist/modes/interactive/components/chat-transcript.d.ts.map +1 -1
  1610. package/dist/modes/interactive/components/chat-transcript.js +5 -12
  1611. package/dist/modes/interactive/components/chat-transcript.js.map +1 -1
  1612. package/dist/modes/interactive/components/compaction-boundary-message.d.ts.map +1 -1
  1613. package/dist/modes/interactive/components/compaction-boundary-message.js +20 -8
  1614. package/dist/modes/interactive/components/compaction-boundary-message.js.map +1 -1
  1615. package/dist/modes/interactive/components/config-selector-list.d.ts +6 -6
  1616. package/dist/modes/interactive/components/config-selector-list.d.ts.map +1 -1
  1617. package/dist/modes/interactive/components/config-selector-list.js +66 -125
  1618. package/dist/modes/interactive/components/config-selector-list.js.map +1 -1
  1619. package/dist/modes/interactive/components/config-selector-project-scope.d.ts +4 -0
  1620. package/dist/modes/interactive/components/config-selector-project-scope.d.ts.map +1 -0
  1621. package/dist/modes/interactive/components/config-selector-project-scope.js +59 -0
  1622. package/dist/modes/interactive/components/config-selector-project-scope.js.map +1 -0
  1623. package/dist/modes/interactive/components/config-selector.d.ts +8 -5
  1624. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  1625. package/dist/modes/interactive/components/config-selector.js +46 -13
  1626. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  1627. package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -1
  1628. package/dist/modes/interactive/components/countdown-timer.js.map +1 -1
  1629. package/dist/modes/interactive/components/custom-editor.d.ts +11 -0
  1630. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
  1631. package/dist/modes/interactive/components/custom-editor.js +21 -5
  1632. package/dist/modes/interactive/components/custom-editor.js.map +1 -1
  1633. package/dist/modes/interactive/components/custom-entry.d.ts +16 -0
  1634. package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -0
  1635. package/dist/modes/interactive/components/custom-entry.js +45 -0
  1636. package/dist/modes/interactive/components/custom-entry.js.map +1 -0
  1637. package/dist/modes/interactive/components/custom-message.d.ts +3 -1
  1638. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
  1639. package/dist/modes/interactive/components/custom-message.js +10 -5
  1640. package/dist/modes/interactive/components/custom-message.js.map +1 -1
  1641. package/dist/modes/interactive/components/diff.js +2 -2
  1642. package/dist/modes/interactive/components/diff.js.map +1 -1
  1643. package/dist/modes/interactive/components/extension-editor.d.ts +3 -2
  1644. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
  1645. package/dist/modes/interactive/components/extension-editor.js +14 -43
  1646. package/dist/modes/interactive/components/extension-editor.js.map +1 -1
  1647. package/dist/modes/interactive/components/first-time-setup.d.ts +24 -0
  1648. package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -0
  1649. package/dist/modes/interactive/components/first-time-setup.js +80 -0
  1650. package/dist/modes/interactive/components/first-time-setup.js.map +1 -0
  1651. package/dist/modes/interactive/components/footer.d.ts +7 -1
  1652. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  1653. package/dist/modes/interactive/components/footer.js +68 -39
  1654. package/dist/modes/interactive/components/footer.js.map +1 -1
  1655. package/dist/modes/interactive/components/host-input-form-mount.d.ts.map +1 -1
  1656. package/dist/modes/interactive/components/host-input-form-mount.js +4 -2
  1657. package/dist/modes/interactive/components/host-input-form-mount.js.map +1 -1
  1658. package/dist/modes/interactive/components/host-input-form.d.ts +2 -0
  1659. package/dist/modes/interactive/components/host-input-form.d.ts.map +1 -1
  1660. package/dist/modes/interactive/components/host-input-form.js +61 -24
  1661. package/dist/modes/interactive/components/host-input-form.js.map +1 -1
  1662. package/dist/modes/interactive/components/host-session-picker.d.ts.map +1 -1
  1663. package/dist/modes/interactive/components/host-session-picker.js +8 -3
  1664. package/dist/modes/interactive/components/host-session-picker.js.map +1 -1
  1665. package/dist/modes/interactive/components/idle-status.d.ts +8 -0
  1666. package/dist/modes/interactive/components/idle-status.d.ts.map +1 -0
  1667. package/dist/modes/interactive/components/idle-status.js +13 -0
  1668. package/dist/modes/interactive/components/idle-status.js.map +1 -0
  1669. package/dist/modes/interactive/components/index.d.ts +8 -5
  1670. package/dist/modes/interactive/components/index.d.ts.map +1 -1
  1671. package/dist/modes/interactive/components/index.js +5 -2
  1672. package/dist/modes/interactive/components/index.js.map +1 -1
  1673. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
  1674. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
  1675. package/dist/modes/interactive/components/login-dialog.d.ts +5 -5
  1676. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  1677. package/dist/modes/interactive/components/login-dialog.js +15 -9
  1678. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  1679. package/dist/modes/interactive/components/model-selector.d.ts +4 -3
  1680. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  1681. package/dist/modes/interactive/components/model-selector.js +70 -72
  1682. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  1683. package/dist/modes/interactive/components/oauth-selector.d.ts +4 -3
  1684. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
  1685. package/dist/modes/interactive/components/oauth-selector.js +19 -18
  1686. package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
  1687. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
  1688. package/dist/modes/interactive/components/scoped-models-selector.js +22 -13
  1689. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  1690. package/dist/modes/interactive/components/session-selector-list.d.ts +1 -1
  1691. package/dist/modes/interactive/components/session-selector-list.d.ts.map +1 -1
  1692. package/dist/modes/interactive/components/session-selector-list.js.map +1 -1
  1693. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  1694. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  1695. package/dist/modes/interactive/components/settings-selector-handlers.d.ts.map +1 -1
  1696. package/dist/modes/interactive/components/settings-selector-handlers.js +6 -0
  1697. package/dist/modes/interactive/components/settings-selector-handlers.js.map +1 -1
  1698. package/dist/modes/interactive/components/settings-selector-items.d.ts.map +1 -1
  1699. package/dist/modes/interactive/components/settings-selector-items.js +14 -0
  1700. package/dist/modes/interactive/components/settings-selector-items.js.map +1 -1
  1701. package/dist/modes/interactive/components/settings-selector-submenus.d.ts.map +1 -1
  1702. package/dist/modes/interactive/components/settings-selector-submenus.js.map +1 -1
  1703. package/dist/modes/interactive/components/settings-selector-types.d.ts +4 -0
  1704. package/dist/modes/interactive/components/settings-selector-types.d.ts.map +1 -1
  1705. package/dist/modes/interactive/components/settings-selector-types.js.map +1 -1
  1706. package/dist/modes/interactive/components/startup-identity.d.ts +22 -0
  1707. package/dist/modes/interactive/components/startup-identity.d.ts.map +1 -0
  1708. package/dist/modes/interactive/components/startup-identity.js +58 -0
  1709. package/dist/modes/interactive/components/startup-identity.js.map +1 -0
  1710. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  1711. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  1712. package/dist/modes/interactive/components/tree-selector-content.d.ts.map +1 -1
  1713. package/dist/modes/interactive/components/tree-selector-content.js +0 -6
  1714. package/dist/modes/interactive/components/tree-selector-content.js.map +1 -1
  1715. package/dist/modes/interactive/components/tree-selector-model.d.ts.map +1 -1
  1716. package/dist/modes/interactive/components/tree-selector-model.js +1 -10
  1717. package/dist/modes/interactive/components/tree-selector-model.js.map +1 -1
  1718. package/dist/modes/interactive/components/tree-selector-viewport.d.ts.map +1 -1
  1719. package/dist/modes/interactive/components/tree-selector-viewport.js.map +1 -1
  1720. package/dist/modes/interactive/components/working-status.d.ts +5 -11
  1721. package/dist/modes/interactive/components/working-status.d.ts.map +1 -1
  1722. package/dist/modes/interactive/components/working-status.js +14 -15
  1723. package/dist/modes/interactive/components/working-status.js.map +1 -1
  1724. package/dist/modes/interactive/external-editor.d.ts +23 -0
  1725. package/dist/modes/interactive/external-editor.d.ts.map +1 -0
  1726. package/dist/modes/interactive/external-editor.js +120 -0
  1727. package/dist/modes/interactive/external-editor.js.map +1 -0
  1728. package/dist/modes/interactive/interactive-agent-events.js +73 -28
  1729. package/dist/modes/interactive/interactive-agent-events.js.map +1 -1
  1730. package/dist/modes/interactive/interactive-auth-login.js +36 -28
  1731. package/dist/modes/interactive/interactive-auth-login.js.map +1 -1
  1732. package/dist/modes/interactive/interactive-auth-routing.d.ts +3 -1
  1733. package/dist/modes/interactive/interactive-auth-routing.d.ts.map +1 -1
  1734. package/dist/modes/interactive/interactive-auth-routing.js +86 -64
  1735. package/dist/modes/interactive/interactive-auth-routing.js.map +1 -1
  1736. package/dist/modes/interactive/interactive-autocomplete.js +13 -13
  1737. package/dist/modes/interactive/interactive-autocomplete.js.map +1 -1
  1738. package/dist/modes/interactive/interactive-bash-compact.d.ts +2 -1
  1739. package/dist/modes/interactive/interactive-bash-compact.d.ts.map +1 -1
  1740. package/dist/modes/interactive/interactive-bash-compact.js +26 -8
  1741. package/dist/modes/interactive/interactive-bash-compact.js.map +1 -1
  1742. package/dist/modes/interactive/interactive-deferred-startup.d.ts.map +1 -1
  1743. package/dist/modes/interactive/interactive-deferred-startup.js +61 -27
  1744. package/dist/modes/interactive/interactive-deferred-startup.js.map +1 -1
  1745. package/dist/modes/interactive/interactive-editor-actions.js +9 -13
  1746. package/dist/modes/interactive/interactive-editor-actions.js.map +1 -1
  1747. package/dist/modes/interactive/interactive-extension-context.js +4 -4
  1748. package/dist/modes/interactive/interactive-extension-context.js.map +1 -1
  1749. package/dist/modes/interactive/interactive-extension-custom-ui.js +15 -8
  1750. package/dist/modes/interactive/interactive-extension-custom-ui.js.map +1 -1
  1751. package/dist/modes/interactive/interactive-extension-dialogs.js +51 -25
  1752. package/dist/modes/interactive/interactive-extension-dialogs.js.map +1 -1
  1753. package/dist/modes/interactive/interactive-extension-runtime.js +15 -6
  1754. package/dist/modes/interactive/interactive-extension-runtime.js.map +1 -1
  1755. package/dist/modes/interactive/interactive-extension-widgets.js +1 -1
  1756. package/dist/modes/interactive/interactive-extension-widgets.js.map +1 -1
  1757. package/dist/modes/interactive/interactive-global-clear.d.ts +55 -3
  1758. package/dist/modes/interactive/interactive-global-clear.d.ts.map +1 -1
  1759. package/dist/modes/interactive/interactive-global-clear.js +61 -3
  1760. package/dist/modes/interactive/interactive-global-clear.js.map +1 -1
  1761. package/dist/modes/interactive/interactive-hotkeys-debug.js +2 -3
  1762. package/dist/modes/interactive/interactive-hotkeys-debug.js.map +1 -1
  1763. package/dist/modes/interactive/interactive-initial-session-binding.d.ts +4 -0
  1764. package/dist/modes/interactive/interactive-initial-session-binding.d.ts.map +1 -0
  1765. package/dist/modes/interactive/interactive-initial-session-binding.js +23 -0
  1766. package/dist/modes/interactive/interactive-initial-session-binding.js.map +1 -0
  1767. package/dist/modes/interactive/interactive-input-handling.d.ts +2 -1
  1768. package/dist/modes/interactive/interactive-input-handling.d.ts.map +1 -1
  1769. package/dist/modes/interactive/interactive-input-handling.js +82 -69
  1770. package/dist/modes/interactive/interactive-input-handling.js.map +1 -1
  1771. package/dist/modes/interactive/interactive-key-identity.d.ts +22 -0
  1772. package/dist/modes/interactive/interactive-key-identity.d.ts.map +1 -0
  1773. package/dist/modes/interactive/interactive-key-identity.js +29 -0
  1774. package/dist/modes/interactive/interactive-key-identity.js.map +1 -0
  1775. package/dist/modes/interactive/interactive-mode-base.d.ts +18 -13
  1776. package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -1
  1777. package/dist/modes/interactive/interactive-mode-base.js +26 -18
  1778. package/dist/modes/interactive/interactive-mode-base.js.map +1 -1
  1779. package/dist/modes/interactive/interactive-mode-deps.d.ts +20 -22
  1780. package/dist/modes/interactive/interactive-mode-deps.d.ts.map +1 -1
  1781. package/dist/modes/interactive/interactive-mode-deps.js +16 -18
  1782. package/dist/modes/interactive/interactive-mode-deps.js.map +1 -1
  1783. package/dist/modes/interactive/interactive-mode-helpers.d.ts +3 -2
  1784. package/dist/modes/interactive/interactive-mode-helpers.d.ts.map +1 -1
  1785. package/dist/modes/interactive/interactive-mode-helpers.js +8 -18
  1786. package/dist/modes/interactive/interactive-mode-helpers.js.map +1 -1
  1787. package/dist/modes/interactive/interactive-mode-surface.d.ts +28 -17
  1788. package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -1
  1789. package/dist/modes/interactive/interactive-mode-surface.js +1 -0
  1790. package/dist/modes/interactive/interactive-mode-surface.js.map +1 -1
  1791. package/dist/modes/interactive/interactive-mode-types.d.ts +2 -2
  1792. package/dist/modes/interactive/interactive-mode-types.d.ts.map +1 -1
  1793. package/dist/modes/interactive/interactive-mode-types.js.map +1 -1
  1794. package/dist/modes/interactive/interactive-mode.d.ts +1 -0
  1795. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  1796. package/dist/modes/interactive/interactive-mode.js +1 -0
  1797. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  1798. package/dist/modes/interactive/interactive-model-catalog-startup.d.ts +12 -0
  1799. package/dist/modes/interactive/interactive-model-catalog-startup.d.ts.map +1 -0
  1800. package/dist/modes/interactive/interactive-model-catalog-startup.js +22 -0
  1801. package/dist/modes/interactive/interactive-model-catalog-startup.js.map +1 -0
  1802. package/dist/modes/interactive/interactive-model-routing.js +41 -111
  1803. package/dist/modes/interactive/interactive-model-routing.js.map +1 -1
  1804. package/dist/modes/interactive/interactive-onboarding.js +7 -7
  1805. package/dist/modes/interactive/interactive-onboarding.js.map +1 -1
  1806. package/dist/modes/interactive/interactive-pause.d.ts +4 -0
  1807. package/dist/modes/interactive/interactive-pause.d.ts.map +1 -0
  1808. package/dist/modes/interactive/interactive-pause.js +8 -0
  1809. package/dist/modes/interactive/interactive-pause.js.map +1 -0
  1810. package/dist/modes/interactive/interactive-process-lifecycle.js +43 -12
  1811. package/dist/modes/interactive/interactive-process-lifecycle.js.map +1 -1
  1812. package/dist/modes/interactive/interactive-prompt-restore.d.ts +58 -0
  1813. package/dist/modes/interactive/interactive-prompt-restore.d.ts.map +1 -0
  1814. package/dist/modes/interactive/interactive-prompt-restore.js +87 -0
  1815. package/dist/modes/interactive/interactive-prompt-restore.js.map +1 -0
  1816. package/dist/modes/interactive/interactive-prompt-turn.d.ts +2 -0
  1817. package/dist/modes/interactive/interactive-prompt-turn.d.ts.map +1 -0
  1818. package/dist/modes/interactive/interactive-prompt-turn.js +56 -0
  1819. package/dist/modes/interactive/interactive-prompt-turn.js.map +1 -0
  1820. package/dist/modes/interactive/interactive-queueing.js +6 -9
  1821. package/dist/modes/interactive/interactive-queueing.js.map +1 -1
  1822. package/dist/modes/interactive/interactive-render-chat.js +128 -48
  1823. package/dist/modes/interactive/interactive-render-chat.js.map +1 -1
  1824. package/dist/modes/interactive/interactive-resource-disclosure.js +1 -3
  1825. package/dist/modes/interactive/interactive-resource-disclosure.js.map +1 -1
  1826. package/dist/modes/interactive/interactive-resource-paths.js +17 -21
  1827. package/dist/modes/interactive/interactive-resource-paths.js.map +1 -1
  1828. package/dist/modes/interactive/interactive-resource-rendering.js +110 -12
  1829. package/dist/modes/interactive/interactive-resource-rendering.js.map +1 -1
  1830. package/dist/modes/interactive/interactive-selectors.js +13 -5
  1831. package/dist/modes/interactive/interactive-selectors.js.map +1 -1
  1832. package/dist/modes/interactive/interactive-session-routing.js +19 -4
  1833. package/dist/modes/interactive/interactive-session-routing.js.map +1 -1
  1834. package/dist/modes/interactive/interactive-session-runtime.js +12 -1
  1835. package/dist/modes/interactive/interactive-session-runtime.js.map +1 -1
  1836. package/dist/modes/interactive/interactive-slash-commands.js +23 -4
  1837. package/dist/modes/interactive/interactive-slash-commands.js.map +1 -1
  1838. package/dist/modes/interactive/interactive-startup-chat-container.d.ts +20 -0
  1839. package/dist/modes/interactive/interactive-startup-chat-container.d.ts.map +1 -0
  1840. package/dist/modes/interactive/interactive-startup-chat-container.js +26 -0
  1841. package/dist/modes/interactive/interactive-startup-chat-container.js.map +1 -0
  1842. package/dist/modes/interactive/interactive-startup.d.ts +1 -1
  1843. package/dist/modes/interactive/interactive-startup.d.ts.map +1 -1
  1844. package/dist/modes/interactive/interactive-startup.js +37 -37
  1845. package/dist/modes/interactive/interactive-startup.js.map +1 -1
  1846. package/dist/modes/interactive/interactive-submission.d.ts +24 -0
  1847. package/dist/modes/interactive/interactive-submission.d.ts.map +1 -0
  1848. package/dist/modes/interactive/interactive-submission.js +10 -0
  1849. package/dist/modes/interactive/interactive-submission.js.map +1 -0
  1850. package/dist/modes/interactive/interactive-summarization-retry-events.d.ts +8 -0
  1851. package/dist/modes/interactive/interactive-summarization-retry-events.d.ts.map +1 -0
  1852. package/dist/modes/interactive/interactive-summarization-retry-events.js +48 -0
  1853. package/dist/modes/interactive/interactive-summarization-retry-events.js.map +1 -0
  1854. package/dist/modes/interactive/login-provider-options.d.ts +21 -0
  1855. package/dist/modes/interactive/login-provider-options.d.ts.map +1 -0
  1856. package/dist/modes/interactive/login-provider-options.js +50 -0
  1857. package/dist/modes/interactive/login-provider-options.js.map +1 -0
  1858. package/dist/modes/interactive/theme/catppuccin-frappe.json +1 -1
  1859. package/dist/modes/interactive/theme/catppuccin-latte.json +1 -1
  1860. package/dist/modes/interactive/theme/catppuccin-macchiato.json +1 -1
  1861. package/dist/modes/interactive/theme/catppuccin-mocha.json +9 -1
  1862. package/dist/modes/interactive/theme/dark.json +1 -1
  1863. package/dist/modes/interactive/theme/global-theme.d.ts +1 -1
  1864. package/dist/modes/interactive/theme/global-theme.d.ts.map +1 -1
  1865. package/dist/modes/interactive/theme/global-theme.js.map +1 -1
  1866. package/dist/modes/interactive/theme/light.json +1 -1
  1867. package/dist/modes/interactive/theme/theme-class.d.ts +4 -0
  1868. package/dist/modes/interactive/theme/theme-class.d.ts.map +1 -1
  1869. package/dist/modes/interactive/theme/theme-class.js +7 -0
  1870. package/dist/modes/interactive/theme/theme-class.js.map +1 -1
  1871. package/dist/modes/interactive/theme/theme-loading.d.ts.map +1 -1
  1872. package/dist/modes/interactive/theme/theme-loading.js +5 -1
  1873. package/dist/modes/interactive/theme/theme-loading.js.map +1 -1
  1874. package/dist/modes/interactive/theme/theme-schema.d.ts +32 -0
  1875. package/dist/modes/interactive/theme/theme-schema.d.ts.map +1 -1
  1876. package/dist/modes/interactive/theme/theme-schema.js +8 -0
  1877. package/dist/modes/interactive/theme/theme-schema.js.map +1 -1
  1878. package/dist/modes/interactive/theme/theme-schema.json +15 -2
  1879. package/dist/modes/interactive/theme/theme.d.ts +2 -2
  1880. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  1881. package/dist/modes/interactive/theme/theme.js +2 -2
  1882. package/dist/modes/interactive/theme/theme.js.map +1 -1
  1883. package/dist/modes/interactive/whimsical-messages.d.ts +1 -0
  1884. package/dist/modes/interactive/whimsical-messages.d.ts.map +1 -1
  1885. package/dist/modes/interactive/whimsical-messages.js +2 -2
  1886. package/dist/modes/interactive/whimsical-messages.js.map +1 -1
  1887. package/dist/modes/interactive-engine/activity-watchdog.d.ts +16 -6
  1888. package/dist/modes/interactive-engine/activity-watchdog.d.ts.map +1 -1
  1889. package/dist/modes/interactive-engine/activity-watchdog.js +12 -6
  1890. package/dist/modes/interactive-engine/activity-watchdog.js.map +1 -1
  1891. package/dist/modes/interactive-engine/create-isolated-runtime.d.ts.map +1 -1
  1892. package/dist/modes/interactive-engine/create-isolated-runtime.js +8 -5
  1893. package/dist/modes/interactive-engine/create-isolated-runtime.js.map +1 -1
  1894. package/dist/modes/interactive-engine/engine-args.d.ts.map +1 -1
  1895. package/dist/modes/interactive-engine/engine-args.js +0 -1
  1896. package/dist/modes/interactive-engine/engine-args.js.map +1 -1
  1897. package/dist/modes/interactive-engine/engine-child-liveness.d.ts.map +1 -1
  1898. package/dist/modes/interactive-engine/engine-child-liveness.js +6 -4
  1899. package/dist/modes/interactive-engine/engine-child-liveness.js.map +1 -1
  1900. package/dist/modes/interactive-engine/engine-custom-ui.d.ts +3 -2
  1901. package/dist/modes/interactive-engine/engine-custom-ui.d.ts.map +1 -1
  1902. package/dist/modes/interactive-engine/engine-custom-ui.js +37 -28
  1903. package/dist/modes/interactive-engine/engine-custom-ui.js.map +1 -1
  1904. package/dist/modes/interactive-engine/engine-diagnostic-view.d.ts +16 -0
  1905. package/dist/modes/interactive-engine/engine-diagnostic-view.d.ts.map +1 -0
  1906. package/dist/modes/interactive-engine/engine-diagnostic-view.js +19 -0
  1907. package/dist/modes/interactive-engine/engine-diagnostic-view.js.map +1 -0
  1908. package/dist/modes/interactive-engine/engine-dialog-host.d.ts +33 -0
  1909. package/dist/modes/interactive-engine/engine-dialog-host.d.ts.map +1 -0
  1910. package/dist/modes/interactive-engine/engine-dialog-host.js +129 -0
  1911. package/dist/modes/interactive-engine/engine-dialog-host.js.map +1 -0
  1912. package/dist/modes/interactive-engine/engine-generation.d.ts +29 -0
  1913. package/dist/modes/interactive-engine/engine-generation.d.ts.map +1 -0
  1914. package/dist/modes/interactive-engine/engine-generation.js +11 -0
  1915. package/dist/modes/interactive-engine/engine-generation.js.map +1 -0
  1916. package/dist/modes/interactive-engine/engine-health.d.ts +107 -0
  1917. package/dist/modes/interactive-engine/engine-health.d.ts.map +1 -0
  1918. package/dist/modes/interactive-engine/engine-health.js +250 -0
  1919. package/dist/modes/interactive-engine/engine-health.js.map +1 -0
  1920. package/dist/modes/interactive-engine/engine-input-form.d.ts +1 -1
  1921. package/dist/modes/interactive-engine/engine-input-form.d.ts.map +1 -1
  1922. package/dist/modes/interactive-engine/engine-input-form.js +21 -4
  1923. package/dist/modes/interactive-engine/engine-input-form.js.map +1 -1
  1924. package/dist/modes/interactive-engine/engine-monitor.d.ts +8 -1
  1925. package/dist/modes/interactive-engine/engine-monitor.d.ts.map +1 -1
  1926. package/dist/modes/interactive-engine/engine-monitor.js +19 -16
  1927. package/dist/modes/interactive-engine/engine-monitor.js.map +1 -1
  1928. package/dist/modes/interactive-engine/engine-render-service.d.ts.map +1 -1
  1929. package/dist/modes/interactive-engine/engine-render-service.js +19 -24
  1930. package/dist/modes/interactive-engine/engine-render-service.js.map +1 -1
  1931. package/dist/modes/interactive-engine/engine-session-picker.d.ts.map +1 -1
  1932. package/dist/modes/interactive-engine/engine-session-picker.js +4 -2
  1933. package/dist/modes/interactive-engine/engine-session-picker.js.map +1 -1
  1934. package/dist/modes/interactive-engine/extension-ui-bridge.d.ts +16 -3
  1935. package/dist/modes/interactive-engine/extension-ui-bridge.d.ts.map +1 -1
  1936. package/dist/modes/interactive-engine/extension-ui-bridge.js +35 -45
  1937. package/dist/modes/interactive-engine/extension-ui-bridge.js.map +1 -1
  1938. package/dist/modes/interactive-engine/input-form-host.d.ts +1 -0
  1939. package/dist/modes/interactive-engine/input-form-host.d.ts.map +1 -1
  1940. package/dist/modes/interactive-engine/input-form-host.js +18 -3
  1941. package/dist/modes/interactive-engine/input-form-host.js.map +1 -1
  1942. package/dist/modes/interactive-engine/isolated-auth.d.ts +10 -0
  1943. package/dist/modes/interactive-engine/isolated-auth.d.ts.map +1 -0
  1944. package/dist/modes/interactive-engine/isolated-auth.js +15 -0
  1945. package/dist/modes/interactive-engine/isolated-auth.js.map +1 -0
  1946. package/dist/modes/interactive-engine/isolated-runtime.d.ts +40 -6
  1947. package/dist/modes/interactive-engine/isolated-runtime.d.ts.map +1 -1
  1948. package/dist/modes/interactive-engine/isolated-runtime.js +161 -84
  1949. package/dist/modes/interactive-engine/isolated-runtime.js.map +1 -1
  1950. package/dist/modes/interactive-engine/protocol.d.ts +26 -2
  1951. package/dist/modes/interactive-engine/protocol.d.ts.map +1 -1
  1952. package/dist/modes/interactive-engine/protocol.js +192 -63
  1953. package/dist/modes/interactive-engine/protocol.js.map +1 -1
  1954. package/dist/modes/interactive-engine/remote-component.d.ts +38 -0
  1955. package/dist/modes/interactive-engine/remote-component.d.ts.map +1 -1
  1956. package/dist/modes/interactive-engine/remote-component.js +111 -22
  1957. package/dist/modes/interactive-engine/remote-component.js.map +1 -1
  1958. package/dist/modes/interactive-engine/remote-input-ownership.d.ts +48 -0
  1959. package/dist/modes/interactive-engine/remote-input-ownership.d.ts.map +1 -0
  1960. package/dist/modes/interactive-engine/remote-input-ownership.js +42 -0
  1961. package/dist/modes/interactive-engine/remote-input-ownership.js.map +1 -0
  1962. package/dist/modes/interactive-engine/remote-model-catalog.d.ts +2 -0
  1963. package/dist/modes/interactive-engine/remote-model-catalog.d.ts.map +1 -1
  1964. package/dist/modes/interactive-engine/remote-model-catalog.js +23 -10
  1965. package/dist/modes/interactive-engine/remote-model-catalog.js.map +1 -1
  1966. package/dist/modes/interactive-engine/remote-queue-pause.d.ts +13 -0
  1967. package/dist/modes/interactive-engine/remote-queue-pause.d.ts.map +1 -0
  1968. package/dist/modes/interactive-engine/remote-queue-pause.js +38 -0
  1969. package/dist/modes/interactive-engine/remote-queue-pause.js.map +1 -0
  1970. package/dist/modes/interactive-engine/remote-renderer.d.ts +3 -1
  1971. package/dist/modes/interactive-engine/remote-renderer.d.ts.map +1 -1
  1972. package/dist/modes/interactive-engine/remote-renderer.js +41 -10
  1973. package/dist/modes/interactive-engine/remote-renderer.js.map +1 -1
  1974. package/dist/modes/interactive-engine/session-picker-host.d.ts +1 -0
  1975. package/dist/modes/interactive-engine/session-picker-host.d.ts.map +1 -1
  1976. package/dist/modes/interactive-engine/session-picker-host.js +4 -0
  1977. package/dist/modes/interactive-engine/session-picker-host.js.map +1 -1
  1978. package/dist/modes/print-mode.d.ts.map +1 -1
  1979. package/dist/modes/print-mode.js +5 -0
  1980. package/dist/modes/print-mode.js.map +1 -1
  1981. package/dist/modes/rpc/jsonl.d.ts +9 -7
  1982. package/dist/modes/rpc/jsonl.d.ts.map +1 -1
  1983. package/dist/modes/rpc/jsonl.js +23 -24
  1984. package/dist/modes/rpc/jsonl.js.map +1 -1
  1985. package/dist/modes/rpc/queued-writer.d.ts +33 -0
  1986. package/dist/modes/rpc/queued-writer.d.ts.map +1 -0
  1987. package/dist/modes/rpc/queued-writer.js +104 -0
  1988. package/dist/modes/rpc/queued-writer.js.map +1 -0
  1989. package/dist/modes/rpc/rpc-bash-request-owners.d.ts +24 -0
  1990. package/dist/modes/rpc/rpc-bash-request-owners.d.ts.map +1 -0
  1991. package/dist/modes/rpc/rpc-bash-request-owners.js +45 -0
  1992. package/dist/modes/rpc/rpc-bash-request-owners.js.map +1 -0
  1993. package/dist/modes/rpc/rpc-client-api.d.ts +10 -4
  1994. package/dist/modes/rpc/rpc-client-api.d.ts.map +1 -1
  1995. package/dist/modes/rpc/rpc-client-api.js +83 -25
  1996. package/dist/modes/rpc/rpc-client-api.js.map +1 -1
  1997. package/dist/modes/rpc/rpc-client-process.d.ts +11 -4
  1998. package/dist/modes/rpc/rpc-client-process.d.ts.map +1 -1
  1999. package/dist/modes/rpc/rpc-client-process.js +77 -29
  2000. package/dist/modes/rpc/rpc-client-process.js.map +1 -1
  2001. package/dist/modes/rpc/rpc-client-waits.d.ts +17 -1
  2002. package/dist/modes/rpc/rpc-client-waits.d.ts.map +1 -1
  2003. package/dist/modes/rpc/rpc-client-waits.js +25 -0
  2004. package/dist/modes/rpc/rpc-client-waits.js.map +1 -1
  2005. package/dist/modes/rpc/rpc-client.d.ts +68 -9
  2006. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  2007. package/dist/modes/rpc/rpc-client.js +205 -158
  2008. package/dist/modes/rpc/rpc-client.js.map +1 -1
  2009. package/dist/modes/rpc/rpc-command-handler.d.ts +10 -3
  2010. package/dist/modes/rpc/rpc-command-handler.d.ts.map +1 -1
  2011. package/dist/modes/rpc/rpc-command-handler.js +148 -56
  2012. package/dist/modes/rpc/rpc-command-handler.js.map +1 -1
  2013. package/dist/modes/rpc/rpc-command-timeouts.d.ts +30 -0
  2014. package/dist/modes/rpc/rpc-command-timeouts.d.ts.map +1 -0
  2015. package/dist/modes/rpc/rpc-command-timeouts.js +52 -0
  2016. package/dist/modes/rpc/rpc-command-timeouts.js.map +1 -0
  2017. package/dist/modes/rpc/rpc-event-buffer.d.ts.map +1 -1
  2018. package/dist/modes/rpc/rpc-event-buffer.js +3 -1
  2019. package/dist/modes/rpc/rpc-event-buffer.js.map +1 -1
  2020. package/dist/modes/rpc/rpc-extension-ui.d.ts +4 -2
  2021. package/dist/modes/rpc/rpc-extension-ui.d.ts.map +1 -1
  2022. package/dist/modes/rpc/rpc-extension-ui.js +50 -17
  2023. package/dist/modes/rpc/rpc-extension-ui.js.map +1 -1
  2024. package/dist/modes/rpc/rpc-generation-buffer.d.ts +21 -0
  2025. package/dist/modes/rpc/rpc-generation-buffer.d.ts.map +1 -0
  2026. package/dist/modes/rpc/rpc-generation-buffer.js +35 -0
  2027. package/dist/modes/rpc/rpc-generation-buffer.js.map +1 -0
  2028. package/dist/modes/rpc/rpc-input-scheduler.d.ts +3 -3
  2029. package/dist/modes/rpc/rpc-input-scheduler.d.ts.map +1 -1
  2030. package/dist/modes/rpc/rpc-input-scheduler.js +19 -8
  2031. package/dist/modes/rpc/rpc-input-scheduler.js.map +1 -1
  2032. package/dist/modes/rpc/rpc-input.d.ts +7 -1
  2033. package/dist/modes/rpc/rpc-input.d.ts.map +1 -1
  2034. package/dist/modes/rpc/rpc-input.js +14 -4
  2035. package/dist/modes/rpc/rpc-input.js.map +1 -1
  2036. package/dist/modes/rpc/rpc-keybindings-reload.d.ts.map +1 -1
  2037. package/dist/modes/rpc/rpc-keybindings-reload.js.map +1 -1
  2038. package/dist/modes/rpc/rpc-mode.d.ts +1 -1
  2039. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  2040. package/dist/modes/rpc/rpc-mode.js +23 -23
  2041. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  2042. package/dist/modes/rpc/rpc-model-fallback-prompt.d.ts +4 -0
  2043. package/dist/modes/rpc/rpc-model-fallback-prompt.d.ts.map +1 -0
  2044. package/dist/modes/rpc/rpc-model-fallback-prompt.js +11 -0
  2045. package/dist/modes/rpc/rpc-model-fallback-prompt.js.map +1 -0
  2046. package/dist/modes/rpc/rpc-oauth-client.d.ts +21 -0
  2047. package/dist/modes/rpc/rpc-oauth-client.d.ts.map +1 -0
  2048. package/dist/modes/rpc/rpc-oauth-client.js +81 -0
  2049. package/dist/modes/rpc/rpc-oauth-client.js.map +1 -0
  2050. package/dist/modes/rpc/rpc-oauth-interaction.d.ts +9 -0
  2051. package/dist/modes/rpc/rpc-oauth-interaction.d.ts.map +1 -0
  2052. package/dist/modes/rpc/rpc-oauth-interaction.js +49 -0
  2053. package/dist/modes/rpc/rpc-oauth-interaction.js.map +1 -0
  2054. package/dist/modes/rpc/rpc-output-buffer.d.ts +2 -1
  2055. package/dist/modes/rpc/rpc-output-buffer.d.ts.map +1 -1
  2056. package/dist/modes/rpc/rpc-output-buffer.js +7 -40
  2057. package/dist/modes/rpc/rpc-output-buffer.js.map +1 -1
  2058. package/dist/modes/rpc/rpc-pending-requests.d.ts +37 -0
  2059. package/dist/modes/rpc/rpc-pending-requests.d.ts.map +1 -0
  2060. package/dist/modes/rpc/rpc-pending-requests.js +57 -0
  2061. package/dist/modes/rpc/rpc-pending-requests.js.map +1 -0
  2062. package/dist/modes/rpc/rpc-provider-auth.d.ts +22 -0
  2063. package/dist/modes/rpc/rpc-provider-auth.d.ts.map +1 -0
  2064. package/dist/modes/rpc/rpc-provider-auth.js +117 -0
  2065. package/dist/modes/rpc/rpc-provider-auth.js.map +1 -0
  2066. package/dist/modes/rpc/rpc-responses.d.ts +0 -1
  2067. package/dist/modes/rpc/rpc-responses.d.ts.map +1 -1
  2068. package/dist/modes/rpc/rpc-responses.js +0 -14
  2069. package/dist/modes/rpc/rpc-responses.js.map +1 -1
  2070. package/dist/modes/rpc/rpc-session-binding.d.ts +2 -1
  2071. package/dist/modes/rpc/rpc-session-binding.d.ts.map +1 -1
  2072. package/dist/modes/rpc/rpc-session-binding.js +71 -43
  2073. package/dist/modes/rpc/rpc-session-binding.js.map +1 -1
  2074. package/dist/modes/rpc/rpc-terminal-drain.d.ts +52 -0
  2075. package/dist/modes/rpc/rpc-terminal-drain.d.ts.map +1 -0
  2076. package/dist/modes/rpc/rpc-terminal-drain.js +85 -0
  2077. package/dist/modes/rpc/rpc-terminal-drain.js.map +1 -0
  2078. package/dist/modes/rpc/rpc-transport-error.d.ts +49 -0
  2079. package/dist/modes/rpc/rpc-transport-error.d.ts.map +1 -0
  2080. package/dist/modes/rpc/rpc-transport-error.js +78 -0
  2081. package/dist/modes/rpc/rpc-transport-error.js.map +1 -0
  2082. package/dist/modes/rpc/rpc-types.d.ts +123 -20
  2083. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  2084. package/dist/modes/rpc/rpc-types.js.map +1 -1
  2085. package/dist/package-manager-cli-parser.js.map +1 -1
  2086. package/dist/package-manager-cli.d.ts +3 -3
  2087. package/dist/package-manager-cli.d.ts.map +1 -1
  2088. package/dist/package-manager-cli.js +66 -53
  2089. package/dist/package-manager-cli.js.map +1 -1
  2090. package/dist/rpc-entry.js +6 -2
  2091. package/dist/rpc-entry.js.map +1 -1
  2092. package/dist/self-update-plan.d.ts +12 -0
  2093. package/dist/self-update-plan.d.ts.map +1 -0
  2094. package/dist/self-update-plan.js +42 -0
  2095. package/dist/self-update-plan.js.map +1 -0
  2096. package/dist/utils/child-process.d.ts.map +1 -1
  2097. package/dist/utils/child-process.js.map +1 -1
  2098. package/dist/utils/clipboard-image.js +1 -1
  2099. package/dist/utils/clipboard-image.js.map +1 -1
  2100. package/dist/utils/clipboard-native.d.ts +1 -0
  2101. package/dist/utils/clipboard-native.d.ts.map +1 -1
  2102. package/dist/utils/clipboard-native.js.map +1 -1
  2103. package/dist/utils/clipboard.d.ts +3 -0
  2104. package/dist/utils/clipboard.d.ts.map +1 -1
  2105. package/dist/utils/clipboard.js +31 -8
  2106. package/dist/utils/clipboard.js.map +1 -1
  2107. package/dist/utils/compile-cache.d.ts +8 -0
  2108. package/dist/utils/compile-cache.d.ts.map +1 -0
  2109. package/dist/utils/compile-cache.js +31 -0
  2110. package/dist/utils/compile-cache.js.map +1 -0
  2111. package/dist/utils/fs-watch.d.ts.map +1 -1
  2112. package/dist/utils/fs-watch.js +1 -3
  2113. package/dist/utils/fs-watch.js.map +1 -1
  2114. package/dist/utils/git.js +1 -1
  2115. package/dist/utils/git.js.map +1 -1
  2116. package/dist/utils/interactive-engine-bootstrap.d.ts +67 -0
  2117. package/dist/utils/interactive-engine-bootstrap.d.ts.map +1 -0
  2118. package/dist/utils/interactive-engine-bootstrap.js +117 -0
  2119. package/dist/utils/interactive-engine-bootstrap.js.map +1 -0
  2120. package/dist/utils/interactive-engine-env.d.ts +41 -0
  2121. package/dist/utils/interactive-engine-env.d.ts.map +1 -0
  2122. package/dist/utils/interactive-engine-env.js +67 -0
  2123. package/dist/utils/interactive-engine-env.js.map +1 -0
  2124. package/dist/utils/markit.d.ts.map +1 -1
  2125. package/dist/utils/markit.js +15 -5
  2126. package/dist/utils/markit.js.map +1 -1
  2127. package/dist/utils/shell.js +2 -2
  2128. package/dist/utils/shell.js.map +1 -1
  2129. package/dist/utils/split-launcher.d.ts.map +1 -1
  2130. package/dist/utils/split-launcher.js +1 -2
  2131. package/dist/utils/split-launcher.js.map +1 -1
  2132. package/dist/utils/tools-manager.d.ts.map +1 -1
  2133. package/dist/utils/tools-manager.js +8 -34
  2134. package/dist/utils/tools-manager.js.map +1 -1
  2135. package/dist/utils/version-check.d.ts +1 -0
  2136. package/dist/utils/version-check.d.ts.map +1 -1
  2137. package/dist/utils/version-check.js +7 -5
  2138. package/dist/utils/version-check.js.map +1 -1
  2139. package/docs/changelog.mdx +24 -2
  2140. package/docs/compaction.md +101 -18
  2141. package/docs/custom-provider.md +40 -8
  2142. package/docs/development.md +14 -15
  2143. package/docs/docs.json +3 -1
  2144. package/docs/environment-variables.md +37 -0
  2145. package/docs/extensions.md +166 -18
  2146. package/docs/index.md +1 -0
  2147. package/docs/intercom.md +1 -1
  2148. package/docs/json.md +11 -5
  2149. package/docs/keybindings.md +19 -2
  2150. package/docs/llama-cpp.md +72 -0
  2151. package/docs/models.md +41 -50
  2152. package/docs/packages.md +4 -2
  2153. package/docs/prompt-templates.md +1 -0
  2154. package/docs/providers.md +86 -24
  2155. package/docs/quickstart.md +21 -17
  2156. package/docs/rpc.md +88 -86
  2157. package/docs/sdk.md +68 -71
  2158. package/docs/security.md +15 -0
  2159. package/docs/session-format.md +6 -15
  2160. package/docs/sessions.md +1 -1
  2161. package/docs/settings.md +29 -18
  2162. package/docs/skills.md +8 -0
  2163. package/docs/subagents.md +24 -8
  2164. package/docs/themes.md +10 -1
  2165. package/docs/tui.md +14 -7
  2166. package/docs/usage.md +71 -2
  2167. package/docs/windows.md +1 -1
  2168. package/docs/workflows.md +1235 -529
  2169. package/examples/extensions/README.md +2 -2
  2170. package/examples/extensions/border-status-editor.ts +1 -6
  2171. package/examples/extensions/custom-compaction.ts +7 -2
  2172. package/examples/extensions/custom-footer.ts +1 -1
  2173. package/examples/extensions/custom-provider-anthropic/index.ts +14 -2
  2174. package/examples/extensions/custom-provider-gitlab-duo/index.ts +1 -1
  2175. package/examples/extensions/gondolin/index.ts +1 -1
  2176. package/examples/extensions/handoff.ts +9 -2
  2177. package/examples/extensions/hello.ts +1 -1
  2178. package/examples/extensions/message-renderer.ts +2 -2
  2179. package/examples/extensions/minimal-mode.ts +6 -6
  2180. package/examples/extensions/overlay-qa-focus-components.ts +0 -1
  2181. package/examples/extensions/overlay-qa-streaming-input-components.ts +2 -2
  2182. package/examples/extensions/overlay-qa-tests.ts +16 -14
  2183. package/examples/extensions/overlay-qa-toggle-passive-components.ts +3 -5
  2184. package/examples/extensions/overlay-test.ts +3 -6
  2185. package/examples/extensions/plan-mode/index.ts +1 -1
  2186. package/examples/extensions/preset.ts +1 -1
  2187. package/examples/extensions/qna.ts +1 -1
  2188. package/examples/extensions/sandbox/package-lock.json +3 -3
  2189. package/examples/extensions/structured-output.ts +9 -9
  2190. package/examples/extensions/subagent/display.ts +115 -127
  2191. package/examples/extensions/subagent/index.ts +310 -349
  2192. package/examples/extensions/subagent/render.ts +244 -345
  2193. package/examples/extensions/subagent/runner.ts +223 -230
  2194. package/examples/extensions/subagent/schemas.ts +39 -46
  2195. package/examples/extensions/subagent/types.ts +22 -22
  2196. package/examples/extensions/summarize.ts +4 -1
  2197. package/examples/extensions/tic-tac-toe.ts +4 -4
  2198. package/examples/extensions/todo.ts +1 -1
  2199. package/examples/extensions/tool-override.ts +1 -1
  2200. package/examples/extensions/trigger-compact.ts +4 -1
  2201. package/examples/extensions/working-indicator.ts +3 -2
  2202. package/examples/rpc-extension-ui-components.ts +1 -2
  2203. package/examples/sdk/02-custom-model.ts +8 -10
  2204. package/examples/sdk/03-custom-prompt.ts +1 -6
  2205. package/examples/sdk/06-extensions.ts +1 -6
  2206. package/examples/sdk/07-context-files.ts +1 -6
  2207. package/examples/sdk/09-api-keys-and-oauth.ts +17 -23
  2208. package/examples/sdk/12-full-control.ts +10 -12
  2209. package/examples/sdk/README.md +17 -21
  2210. package/npm-shrinkwrap.json +304 -313
  2211. package/package.json +15 -13
  2212. package/dist/builtin/cursor/CHANGELOG.md +0 -281
  2213. package/dist/builtin/cursor/LICENSE +0 -26
  2214. package/dist/builtin/cursor/README.md +0 -24
  2215. package/dist/builtin/cursor/index.ts +0 -9
  2216. package/dist/builtin/cursor/package.json +0 -47
  2217. package/dist/builtin/cursor/src/auth.ts +0 -352
  2218. package/dist/builtin/cursor/src/catalog-cache.ts +0 -155
  2219. package/dist/builtin/cursor/src/config.ts +0 -123
  2220. package/dist/builtin/cursor/src/conversation-state.ts +0 -135
  2221. package/dist/builtin/cursor/src/cursor-models-raw.json +0 -412
  2222. package/dist/builtin/cursor/src/model-mapper.ts +0 -369
  2223. package/dist/builtin/cursor/src/model-reference.ts +0 -282
  2224. package/dist/builtin/cursor/src/models.ts +0 -54
  2225. package/dist/builtin/cursor/src/native-loader.ts +0 -71
  2226. package/dist/builtin/cursor/src/proto/README.md +0 -34
  2227. package/dist/builtin/cursor/src/proto/agent_pb.ts +0 -15294
  2228. package/dist/builtin/cursor/src/proto/protobuf-codec-base64.ts +0 -22
  2229. package/dist/builtin/cursor/src/proto/protobuf-codec-json.ts +0 -44
  2230. package/dist/builtin/cursor/src/proto/protobuf-codec-request.ts +0 -311
  2231. package/dist/builtin/cursor/src/proto/protobuf-codec-wire.ts +0 -248
  2232. package/dist/builtin/cursor/src/proto/protobuf-codec.ts +0 -200
  2233. package/dist/builtin/cursor/src/provider.ts +0 -301
  2234. package/dist/builtin/cursor/src/stream.ts +0 -494
  2235. package/dist/builtin/cursor/src/transport-errors.ts +0 -74
  2236. package/dist/builtin/cursor/src/transport-frame.ts +0 -56
  2237. package/dist/builtin/cursor/src/transport-http2.ts +0 -122
  2238. package/dist/builtin/cursor/src/transport-native-client.ts +0 -161
  2239. package/dist/builtin/cursor/src/transport-run-stream.ts +0 -188
  2240. package/dist/builtin/cursor/src/transport-timeouts.ts +0 -87
  2241. package/dist/builtin/cursor/src/transport-types.ts +0 -143
  2242. package/dist/builtin/cursor/src/transport.ts +0 -26
  2243. package/dist/builtin/workflows/builtin/deep-research-codebase-runner.ts +0 -492
  2244. package/dist/builtin/workflows/builtin/deep-research-codebase-utils.ts +0 -383
  2245. package/dist/builtin/workflows/builtin/deep-research-codebase.d.ts +0 -35
  2246. package/dist/builtin/workflows/builtin/deep-research-codebase.ts +0 -47
  2247. package/dist/builtin/workflows/skills/impeccable/reference/brand.md +0 -108
  2248. package/dist/builtin/workflows/skills/impeccable/reference/codex.md +0 -105
  2249. package/dist/builtin/workflows/skills/impeccable/reference/interaction-design.md +0 -189
  2250. package/dist/builtin/workflows/skills/impeccable/scripts/hook-before-edit.mjs +0 -516
  2251. package/dist/core/context-window.d.ts +0 -54
  2252. package/dist/core/context-window.d.ts.map +0 -1
  2253. package/dist/core/context-window.js +0 -110
  2254. package/dist/core/context-window.js.map +0 -1
  2255. package/dist/core/copilot-anthropic-sse-repair.d.ts +0 -23
  2256. package/dist/core/copilot-anthropic-sse-repair.d.ts.map +0 -1
  2257. package/dist/core/copilot-anthropic-sse-repair.js +0 -340
  2258. package/dist/core/copilot-anthropic-sse-repair.js.map +0 -1
  2259. package/dist/core/copilot-errors.d.ts +0 -9
  2260. package/dist/core/copilot-errors.d.ts.map +0 -1
  2261. package/dist/core/copilot-errors.js +0 -32
  2262. package/dist/core/copilot-errors.js.map +0 -1
  2263. package/dist/core/copilot-gemini-payload-sanitizer.d.ts +0 -72
  2264. package/dist/core/copilot-gemini-payload-sanitizer.d.ts.map +0 -1
  2265. package/dist/core/copilot-gemini-payload-sanitizer.js +0 -296
  2266. package/dist/core/copilot-gemini-payload-sanitizer.js.map +0 -1
  2267. package/dist/core/copilot-gemini-reasoning.d.ts +0 -126
  2268. package/dist/core/copilot-gemini-reasoning.d.ts.map +0 -1
  2269. package/dist/core/copilot-gemini-reasoning.js +0 -265
  2270. package/dist/core/copilot-gemini-reasoning.js.map +0 -1
  2271. package/dist/core/copilot-gemini-tool-arguments.d.ts +0 -42
  2272. package/dist/core/copilot-gemini-tool-arguments.d.ts.map +0 -1
  2273. package/dist/core/copilot-gemini-tool-arguments.js +0 -159
  2274. package/dist/core/copilot-gemini-tool-arguments.js.map +0 -1
  2275. package/dist/core/copilot-hosts.d.ts +0 -12
  2276. package/dist/core/copilot-hosts.d.ts.map +0 -1
  2277. package/dist/core/copilot-hosts.js +0 -33
  2278. package/dist/core/copilot-hosts.js.map +0 -1
  2279. package/dist/core/copilot-model-catalog.d.ts +0 -114
  2280. package/dist/core/copilot-model-catalog.d.ts.map +0 -1
  2281. package/dist/core/copilot-model-catalog.js +0 -392
  2282. package/dist/core/copilot-model-catalog.js.map +0 -1
  2283. package/dist/core/copilot-model-static-fallbacks.d.ts +0 -43
  2284. package/dist/core/copilot-model-static-fallbacks.d.ts.map +0 -1
  2285. package/dist/core/copilot-model-static-fallbacks.js +0 -50
  2286. package/dist/core/copilot-model-static-fallbacks.js.map +0 -1
  2287. package/dist/core/copilot-model-synthesis.d.ts +0 -10
  2288. package/dist/core/copilot-model-synthesis.d.ts.map +0 -1
  2289. package/dist/core/copilot-model-synthesis.js +0 -91
  2290. package/dist/core/copilot-model-synthesis.js.map +0 -1
  2291. package/dist/core/model-registry-auth.d.ts +0 -8
  2292. package/dist/core/model-registry-auth.d.ts.map +0 -1
  2293. package/dist/core/model-registry-auth.js +0 -83
  2294. package/dist/core/model-registry-auth.js.map +0 -1
  2295. package/dist/core/model-registry-builtins.d.ts +0 -10
  2296. package/dist/core/model-registry-builtins.d.ts.map +0 -1
  2297. package/dist/core/model-registry-builtins.js +0 -171
  2298. package/dist/core/model-registry-builtins.js.map +0 -1
  2299. package/dist/core/model-registry-custom-loader.d.ts +0 -3
  2300. package/dist/core/model-registry-custom-loader.d.ts.map +0 -1
  2301. package/dist/core/model-registry-custom-loader.js +0 -254
  2302. package/dist/core/model-registry-custom-loader.js.map +0 -1
  2303. package/dist/core/model-registry-dynamic.d.ts +0 -7
  2304. package/dist/core/model-registry-dynamic.d.ts.map +0 -1
  2305. package/dist/core/model-registry-dynamic.js +0 -201
  2306. package/dist/core/model-registry-dynamic.js.map +0 -1
  2307. package/dist/core/model-registry-loader.d.ts +0 -5
  2308. package/dist/core/model-registry-loader.d.ts.map +0 -1
  2309. package/dist/core/model-registry-loader.js +0 -28
  2310. package/dist/core/model-registry-loader.js.map +0 -1
  2311. package/dist/core/model-registry-schemas.d.ts +0 -1273
  2312. package/dist/core/model-registry-schemas.d.ts.map +0 -1
  2313. package/dist/core/model-registry-schemas.js.map +0 -1
  2314. package/dist/core/model-registry-types.d.ts +0 -82
  2315. package/dist/core/model-registry-types.d.ts.map +0 -1
  2316. package/dist/core/model-registry-types.js +0 -2
  2317. package/dist/core/model-registry-types.js.map +0 -1
  2318. package/dist/core/oauth-compat.d.ts +0 -17
  2319. package/dist/core/oauth-compat.d.ts.map +0 -1
  2320. package/dist/core/oauth-compat.js +0 -2
  2321. package/dist/core/oauth-compat.js.map +0 -1
  2322. package/dist/core/oauth-provider-bridge.d.ts +0 -40
  2323. package/dist/core/oauth-provider-bridge.d.ts.map +0 -1
  2324. package/dist/core/oauth-provider-bridge.js +0 -169
  2325. package/dist/core/oauth-provider-bridge.js.map +0 -1
  2326. package/dist/modes/interactive/components/context-window-selector.d.ts +0 -53
  2327. package/dist/modes/interactive/components/context-window-selector.d.ts.map +0 -1
  2328. package/dist/modes/interactive/components/context-window-selector.js +0 -136
  2329. package/dist/modes/interactive/components/context-window-selector.js.map +0 -1
  2330. package/dist/modes/rpc/bounded-writer.d.ts +0 -27
  2331. package/dist/modes/rpc/bounded-writer.d.ts.map +0 -1
  2332. package/dist/modes/rpc/bounded-writer.js +0 -103
  2333. package/dist/modes/rpc/bounded-writer.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"branch-summarization.js","sourceRoot":"","sources":["../../../src/core/compaction/branch-summarization.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Branch summarization for tree navigation.\n *\n * When navigating to a different point in the session tree, this generates\n * a summary of the branch being left so context isn't lost.\n */\n\nimport type { AgentMessage, StreamFn } from \"@earendil-works/pi-agent-core\";\nimport type { ProviderHeaders } from \"@earendil-works/pi-ai\";\nimport type { Api, Model, SimpleStreamOptions } from \"@earendil-works/pi-ai/compat\";\nimport { completeSimple } from \"@earendil-works/pi-ai/compat\";\nimport { formatCopilotProviderError } from \"../copilot-errors.ts\";\nimport { convertToLlm, createBranchSummaryMessage, createCustomMessage } from \"../messages.ts\";\nimport type { ReadonlySessionManager, SessionEntry } from \"../session-manager.ts\";\nimport { estimateTokens } from \"./compaction.ts\";\nimport {\n\tcomputeFileLists,\n\tcreateFileOps,\n\textractFileOpsFromMessage,\n\ttype FileOperations,\n\tformatFileOperations,\n\tSUMMARIZATION_SYSTEM_PROMPT,\n\tserializeConversation,\n} from \"./utils.ts\";\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface BranchSummaryResult {\n\tsummary?: string;\n\treadFiles?: string[];\n\tmodifiedFiles?: string[];\n\taborted?: boolean;\n\terror?: string;\n}\n\n/** Details stored in BranchSummaryEntry.details for file tracking */\nexport interface BranchSummaryDetails {\n\treadFiles: string[];\n\tmodifiedFiles: string[];\n}\n\nexport type { FileOperations } from \"./utils.ts\";\n\nexport interface BranchPreparation {\n\t/** Messages extracted for summarization, in chronological order */\n\tmessages: AgentMessage[];\n\t/** File operations extracted from tool calls */\n\tfileOps: FileOperations;\n\t/** Total estimated tokens in messages */\n\ttotalTokens: number;\n}\n\nexport interface CollectEntriesResult {\n\t/** Entries to summarize, in chronological order */\n\tentries: SessionEntry[];\n\t/** Common ancestor between old and new position, if any */\n\tcommonAncestorId: string | null;\n}\n\nexport interface GenerateBranchSummaryOptions {\n\t/** Model to use for summarization */\n\tmodel: Model<Api>;\n\t/** API key for the model */\n\tapiKey: string;\n\t/** Request headers for the model */\n\theaders?: ProviderHeaders;\n\t/** Credential-specific request endpoint for the model */\n\tbaseUrl?: string;\n\t/** Abort signal for cancellation */\n\tsignal: AbortSignal;\n\t/** Optional custom instructions for summarization */\n\tcustomInstructions?: string;\n\t/** If true, customInstructions replaces the default prompt instead of being appended */\n\treplaceInstructions?: boolean;\n\t/** Tokens reserved for prompt + LLM response (default 16384) */\n\treserveTokens?: number;\n\t/** Optional session stream function. Used to preserve SDK request behavior without mutating agent state. */\n\tstreamFn?: StreamFn;\n}\n\n// ============================================================================\n// Entry Collection\n// ============================================================================\n\n/**\n * Collect entries that should be summarized when navigating from one position to another.\n *\n * Walks from oldLeafId back to the common ancestor with targetId, collecting entries\n * along the way. Does NOT stop at legacy compaction entries, but those entries are\n * inert and are not fed into branch summarization prompts.\n *\n * @param session - Session manager (read-only access)\n * @param oldLeafId - Current position (where we're navigating from)\n * @param targetId - Target position (where we're navigating to)\n * @returns Entries to summarize and the common ancestor\n */\nexport function collectEntriesForBranchSummary(\n\tsession: ReadonlySessionManager,\n\toldLeafId: string | null,\n\ttargetId: string,\n): CollectEntriesResult {\n\t// If no old position, nothing to summarize\n\tif (!oldLeafId) {\n\t\treturn { entries: [], commonAncestorId: null };\n\t}\n\n\t// Find common ancestor (deepest node that's on both paths)\n\tconst oldPath = new Set(session.getBranch(oldLeafId).map((e) => e.id));\n\tconst targetPath = session.getBranch(targetId);\n\n\t// targetPath is root-first, so iterate backwards to find deepest common ancestor\n\tlet commonAncestorId: string | null = null;\n\tfor (let i = targetPath.length - 1; i >= 0; i--) {\n\t\tif (oldPath.has(targetPath[i].id)) {\n\t\t\tcommonAncestorId = targetPath[i].id;\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// Collect entries from old leaf back to common ancestor\n\tconst entries: SessionEntry[] = [];\n\tlet current: string | null = oldLeafId;\n\n\twhile (current && current !== commonAncestorId) {\n\t\tconst entry = session.getEntry(current);\n\t\tif (!entry) break;\n\t\tentries.push(entry);\n\t\tcurrent = entry.parentId;\n\t}\n\n\t// Reverse to get chronological order\n\tentries.reverse();\n\n\treturn { entries, commonAncestorId };\n}\n\n// ============================================================================\n// Entry to Message Conversion\n// ============================================================================\n\n/**\n * Extract AgentMessage from a session entry.\n * Similar to getMessageFromEntry in compaction.ts, with legacy compaction entries kept inert.\n */\nfunction getMessageFromEntry(entry: SessionEntry): AgentMessage | undefined {\n\tswitch (entry.type) {\n\t\tcase \"message\":\n\t\t\t// Skip tool results - context is in assistant's tool call\n\t\t\tif (entry.message.role === \"toolResult\") return undefined;\n\t\t\treturn entry.message;\n\n\t\tcase \"custom_message\":\n\t\t\treturn createCustomMessage(\n\t\t\t\tentry.customType,\n\t\t\t\tentry.content,\n\t\t\t\tentry.display,\n\t\t\t\tentry.details,\n\t\t\t\tentry.timestamp,\n\t\t\t\tentry.excludeFromContext,\n\t\t\t);\n\n\t\tcase \"branch_summary\":\n\t\t\treturn createBranchSummaryMessage(entry.summary, entry.fromId, entry.timestamp);\n\n\t\tcase \"compaction\":\n\t\t\treturn undefined;\n\n\t\t// These don't contribute to conversation content\n\t\tcase \"thinking_level_change\":\n\t\tcase \"context_window_change\":\n\t\tcase \"model_change\":\n\t\tcase \"custom\":\n\t\tcase \"label\":\n\t\tcase \"session_info\":\n\t\tcase \"context_compaction\":\n\t\t\treturn undefined;\n\t}\n}\n\n/**\n * Prepare entries for summarization with token budget.\n *\n * Walks entries from NEWEST to OLDEST, adding messages until we hit the token budget.\n * This ensures we keep the most recent context when the branch is too long.\n *\n * Also collects file operations from:\n * - Tool calls in assistant messages\n * - Existing branch_summary entries' details (for cumulative tracking)\n *\n * @param entries - Entries in chronological order\n * @param tokenBudget - Maximum tokens to include (0 = no limit)\n */\nexport function prepareBranchEntries(entries: SessionEntry[], tokenBudget: number = 0): BranchPreparation {\n\tconst messages: AgentMessage[] = [];\n\tconst fileOps = createFileOps();\n\tconst filteredEntries = entries;\n\tlet totalTokens = 0;\n\n\t// First pass: collect file ops from ALL entries (even if they don't fit in token budget)\n\t// This ensures we capture cumulative file tracking from nested branch summaries\n\t// Only extract from pi-generated summaries (fromHook !== true), not extension-generated ones\n\tfor (const entry of filteredEntries) {\n\t\tif (entry.type === \"branch_summary\" && !entry.fromHook && entry.details) {\n\t\t\tconst details = entry.details as BranchSummaryDetails;\n\t\t\tif (Array.isArray(details.readFiles)) {\n\t\t\t\tfor (const f of details.readFiles) fileOps.read.add(f);\n\t\t\t}\n\t\t\tif (Array.isArray(details.modifiedFiles)) {\n\t\t\t\t// Modified files go into both edited and written for proper deduplication\n\t\t\t\tfor (const f of details.modifiedFiles) {\n\t\t\t\t\tfileOps.edited.add(f);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Second pass: walk from newest to oldest, adding messages until token budget\n\tfor (let i = filteredEntries.length - 1; i >= 0; i--) {\n\t\tconst entry = filteredEntries[i];\n\t\tconst message = getMessageFromEntry(entry);\n\t\tif (!message) continue;\n\n\t\t// Extract file ops from assistant messages (tool calls)\n\t\textractFileOpsFromMessage(message, fileOps);\n\n\t\tconst tokens = estimateTokens(message);\n\n\t\t// Check budget before adding\n\t\tif (tokenBudget > 0 && totalTokens + tokens > tokenBudget) {\n\t\t\t// If this is a branch summary entry, try to fit it anyway as it's important context\n\t\t\tif (entry.type === \"branch_summary\") {\n\t\t\t\tif (totalTokens < tokenBudget * 0.9) {\n\t\t\t\t\tmessages.unshift(message);\n\t\t\t\t\ttotalTokens += tokens;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Stop - we've hit the budget\n\t\t\tbreak;\n\t\t}\n\n\t\tmessages.unshift(message);\n\t\ttotalTokens += tokens;\n\t}\n\n\treturn { messages, fileOps, totalTokens };\n}\n\n// ============================================================================\n// Summary Generation\n// ============================================================================\n\nconst BRANCH_SUMMARY_PREAMBLE = `The user explored a different conversation branch before returning here.\nSummary of that exploration:\n\n`;\n\nconst BRANCH_SUMMARY_PROMPT = `Create a structured summary of this conversation branch for context when returning later.\n\nUse this EXACT format:\n\n## Goal\n[What was the user trying to accomplish in this branch?]\n\n## Constraints & Preferences\n- [Any constraints, preferences, or requirements mentioned]\n- [Or \"(none)\" if none were mentioned]\n\n## Progress\n### Done\n- [x] [Completed tasks/changes]\n\n### In Progress\n- [ ] [Work that was started but not finished]\n\n### Blocked\n- [Issues preventing progress, if any]\n\n## Key Decisions\n- **[Decision]**: [Brief rationale]\n\n## Next Steps\n1. [What should happen next to continue this work]\n\nKeep each section concise. Preserve exact file paths, function names, and error messages.`;\n\n/**\n * Generate a summary of abandoned branch entries.\n *\n * @param entries - Session entries to summarize (chronological order)\n * @param options - Generation options\n */\nexport async function generateBranchSummary(\n\tentries: SessionEntry[],\n\toptions: GenerateBranchSummaryOptions,\n): Promise<BranchSummaryResult> {\n\tconst {\n\t\tmodel,\n\t\tapiKey,\n\t\theaders,\n\t\tbaseUrl,\n\t\tsignal,\n\t\tcustomInstructions,\n\t\treplaceInstructions,\n\t\treserveTokens = 16384,\n\t\tstreamFn,\n\t} = options;\n\n\t// Token budget = context window minus reserved space for prompt + response\n\tconst contextWindow = model.contextWindow || 128000;\n\tconst tokenBudget = contextWindow - reserveTokens;\n\n\tconst { messages, fileOps } = prepareBranchEntries(entries, tokenBudget);\n\n\tif (messages.length === 0) {\n\t\treturn { summary: \"No content to summarize\" };\n\t}\n\n\t// Transform to LLM-compatible messages, then serialize to text\n\t// Serialization prevents the model from treating it as a conversation to continue\n\tconst llmMessages = convertToLlm(messages);\n\tconst conversationText = serializeConversation(llmMessages);\n\n\t// Build prompt\n\tlet instructions: string;\n\tif (replaceInstructions && customInstructions) {\n\t\tinstructions = customInstructions;\n\t} else if (customInstructions) {\n\t\tinstructions = `${BRANCH_SUMMARY_PROMPT}\\n\\nAdditional focus: ${customInstructions}`;\n\t} else {\n\t\tinstructions = BRANCH_SUMMARY_PROMPT;\n\t}\n\tconst promptText = `<conversation>\\n${conversationText}\\n</conversation>\\n\\n${instructions}`;\n\n\tconst summarizationMessages = [\n\t\t{\n\t\t\trole: \"user\" as const,\n\t\t\tcontent: [{ type: \"text\" as const, text: promptText }],\n\t\t\ttimestamp: Date.now(),\n\t\t},\n\t];\n\n\t// Call LLM for summarization. Prefer the session stream function so SDK\n\t// request behavior (timeouts, retries, attribution headers) stays consistent\n\t// without running through agent state/events.\n\tconst context = { systemPrompt: SUMMARIZATION_SYSTEM_PROMPT, messages: summarizationMessages };\n\tconst requestOptions: SimpleStreamOptions = { apiKey, headers, signal, maxTokens: 2048 };\n\tconst requestModel = baseUrl === undefined || baseUrl === model.baseUrl ? model : { ...model, baseUrl };\n\tconst response = await (async () => {\n\t\ttry {\n\t\t\treturn streamFn\n\t\t\t\t? await (await streamFn(requestModel, context, requestOptions)).result()\n\t\t\t\t: await completeSimple(requestModel, context, requestOptions);\n\t\t} catch (error) {\n\t\t\tif (signal.aborted) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tstopReason: \"error\" as const,\n\t\t\t\terrorMessage: error instanceof Error ? error.message : String(error),\n\t\t\t};\n\t\t}\n\t})();\n\n\t// Check if aborted or errored\n\tif (!response || response.stopReason === \"aborted\") {\n\t\treturn { aborted: true };\n\t}\n\tif (response.stopReason === \"error\") {\n\t\treturn { error: formatCopilotProviderError(model.provider, response.errorMessage || \"Summarization failed\") };\n\t}\n\n\tlet summary = response.content\n\t\t.filter((c): c is { type: \"text\"; text: string } => c.type === \"text\")\n\t\t.map((c) => c.text)\n\t\t.join(\"\\n\");\n\n\t// Prepend preamble to provide context about the branch summary\n\tsummary = BRANCH_SUMMARY_PREAMBLE + summary;\n\n\t// Compute file lists and append to summary\n\tconst { readFiles, modifiedFiles } = computeFileLists(fileOps);\n\tsummary += formatFileOperations(readFiles, modifiedFiles);\n\n\treturn {\n\t\tsummary: summary || \"No summary generated\",\n\t\treadFiles,\n\t\tmodifiedFiles,\n\t};\n}\n"]}
1
+ {"version":3,"file":"branch-summarization.js","sourceRoot":"","sources":["../../../src/core/compaction/branch-summarization.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAIN,kBAAkB,EAClB,MAAM,GACN,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE/F,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACN,gBAAgB,EAChB,aAAa,EACb,yBAAyB,EAEzB,oBAAoB,EACpB,2BAA2B,EAC3B,qBAAqB,GACrB,MAAM,YAAY,CAAC;AAqEpB,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,8BAA8B,CAC7C,OAA+B,EAC/B,SAAwB,EACxB,QAAgB;IAEhB,2CAA2C;IAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,2DAA2D;IAC3D,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvE,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE/C,iFAAiF;IACjF,IAAI,gBAAgB,GAAkB,IAAI,CAAC;IAC3C,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACnC,gBAAgB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpC,MAAM;QACP,CAAC;IACF,CAAC;IAED,wDAAwD;IACxD,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,IAAI,OAAO,GAAkB,SAAS,CAAC;IAEvC,OAAO,OAAO,IAAI,OAAO,KAAK,gBAAgB,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK;YAAE,MAAM;QAClB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC1B,CAAC;IAED,qCAAqC;IACrC,OAAO,CAAC,OAAO,EAAE,CAAC;IAElB,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;AACtC,CAAC;AAED,+EAA+E;AAC/E,8BAA8B;AAC9B,+EAA+E;AAE/E;;;GAGG;AACH,SAAS,mBAAmB,CAAC,KAAmB;IAC/C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,SAAS;YACb,0DAA0D;YAC1D,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY;gBAAE,OAAO,SAAS,CAAC;YAC1D,OAAO,KAAK,CAAC,OAAO,CAAC;QAEtB,KAAK,gBAAgB;YACpB,OAAO,mBAAmB,CACzB,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,kBAAkB,CACxB,CAAC;QAEH,KAAK,gBAAgB;YACpB,OAAO,0BAA0B,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAEjF,KAAK,YAAY;YAChB,OAAO,SAAS,CAAC;QAElB,iDAAiD;QACjD,KAAK,uBAAuB,CAAC;QAC7B,KAAK,cAAc,CAAC;QACpB,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO,CAAC;QACb,KAAK,cAAc,CAAC;QACpB,KAAK,oBAAoB;YACxB,OAAO,SAAS,CAAC;IACnB,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAuB,EAAE,WAAW,GAAW,CAAC;IACpF,MAAM,QAAQ,GAAmB,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,eAAe,GAAG,OAAO,CAAC;IAChC,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,yFAAyF;IACzF,gFAAgF;IAChF,6FAA6F;IAC7F,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACzE,MAAM,OAAO,GAAG,KAAK,CAAC,OAA+B,CAAC;YACtD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,SAAS;oBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC1C,0EAA0E;gBAC1E,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;oBACvC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAED,8EAA8E;IAC9E,KAAK,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,wDAAwD;QACxD,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAE5C,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QAEvC,6BAA6B;QAC7B,IAAI,WAAW,GAAG,CAAC,IAAI,WAAW,GAAG,MAAM,GAAG,WAAW,EAAE,CAAC;YAC3D,oFAAoF;YACpF,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBACrC,IAAI,WAAW,GAAG,WAAW,GAAG,GAAG,EAAE,CAAC;oBACrC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAC1B,WAAW,IAAI,MAAM,CAAC;gBACvB,CAAC;YACF,CAAC;YACD,8BAA8B;YAC9B,MAAM;QACP,CAAC;QAED,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1B,WAAW,IAAI,MAAM,CAAC;IACvB,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AAC3C,CAAC;AAED,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E,MAAM,uBAAuB,GAAG;;;CAG/B,CAAC;AAEF,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;0FA2B4D,CAAC;AAE3F;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAC1C,OAAuB,EACvB,OAAqC;IAErC,MAAM,EACL,KAAK,EACL,MAAM,EACN,OAAO,EACP,OAAO,EACP,MAAM,EACN,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,GAAG,KAAK,EACrB,aAAa,EACb,QAAQ,EACR,KAAK,EACL,SAAS,GACT,GAAG,OAAO,CAAC;IAEZ,2EAA2E;IAC3E,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,IAAI,MAAM,CAAC;IACpD,MAAM,WAAW,GAAG,aAAa,GAAG,aAAa,CAAC;IAElD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAEzE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;IAC/C,CAAC;IAED,+DAA+D;IAC/D,kFAAkF;IAClF,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAE5D,eAAe;IACf,IAAI,YAAoB,CAAC;IACzB,IAAI,mBAAmB,IAAI,kBAAkB,EAAE,CAAC;QAC/C,YAAY,GAAG,kBAAkB,CAAC;IACnC,CAAC;SAAM,IAAI,kBAAkB,EAAE,CAAC;QAC/B,YAAY,GAAG,GAAG,qBAAqB,yBAAyB,kBAAkB,EAAE,CAAC;IACtF,CAAC;SAAM,CAAC;QACP,YAAY,GAAG,qBAAqB,CAAC;IACtC,CAAC;IACD,MAAM,UAAU,GAAG,mBAAmB,gBAAgB,wBAAwB,YAAY,EAAE,CAAC;IAE7F,MAAM,qBAAqB,GAAG;QAC7B;YACC,IAAI,EAAE,MAAe;YACrB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;YACtD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACrB;KACD,CAAC;IAEF,wEAAwE;IACxE,kEAAkE;IAClE,MAAM,OAAO,GAAG,EAAE,YAAY,EAAE,2BAA2B,EAAE,QAAQ,EAAE,qBAAqB,EAAE,CAAC;IAC/F,MAAM,YAAY,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC;IACxG,wEAAwE;IACxE,4EAA4E;IAC5E,4EAA4E;IAC5E,4BAA4B;IAC5B,MAAM,MAAM,GAAG,qBAAqB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAClE,MAAM,cAAc,GAAwB;QAC3C,MAAM;QACN,OAAO;QACP,MAAM;QACN,cAAc,EAAE,MAAM;QACtB,SAAS,EAAE,MAAM,EAAE;QACnB,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1F,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE;QAClC,IAAI,CAAC;YACJ,OAAO,MAAM,kBAAkB,CAC9B,KAAK,IAAI,EAAE,CACV,QAAQ;gBACP,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,MAAM,EAAE;gBAClE,CAAC,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,EAAE,cAAc,CAAC,EACzD,KAAK,EACL,MAAM,EACN,SAAS,CACT,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,MAAM,CAAC,OAAO;gBAAE,OAAO,SAAS,CAAC;YACrC,OAAO;gBACN,UAAU,EAAE,OAAgB;gBAC5B,YAAY,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aACpE,CAAC;QACH,CAAC;IACF,CAAC,CAAC,EAAE,CAAC;IAEL,8BAA8B;IAC9B,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACpD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC;IACD,IAAI,QAAQ,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;QACrC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,YAAY,IAAI,sBAAsB,EAAE,CAAC;IACnE,CAAC;IAED,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO;SAC5B,MAAM,CAAC,CAAC,CAAC,EAAuC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;SACrE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAClB,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,+DAA+D;IAC/D,OAAO,GAAG,uBAAuB,GAAG,OAAO,CAAC;IAE5C,2CAA2C;IAC3C,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC/D,OAAO,IAAI,oBAAoB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAE1D,OAAO;QACN,OAAO,EAAE,OAAO,IAAI,sBAAsB;QAC1C,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,SAAS;QACT,aAAa;KACb,CAAC;AACH,CAAC","sourcesContent":["/**\n * Branch summarization for tree navigation.\n *\n * When navigating to a different point in the session tree, this generates\n * a summary of the branch being left so context isn't lost.\n */\n\nimport type { AgentMessage, StreamFn, ThinkingLevel } from \"@earendil-works/pi-agent-core\";\nimport {\n\ttype ProviderHeaders,\n\ttype RetryCallbacks,\n\ttype RetryPolicy,\n\tretryAssistantCall,\n\tuuidv7,\n} from \"@earendil-works/pi-ai\";\nimport type { Api, Model, SimpleStreamOptions, Usage } from \"@earendil-works/pi-ai/compat\";\nimport { completeSimple } from \"@earendil-works/pi-ai/compat\";\nimport { convertToLlm, createBranchSummaryMessage, createCustomMessage } from \"../messages.ts\";\nimport type { ReadonlySessionManager, SessionEntry } from \"../session-manager.ts\";\nimport { estimateTokens } from \"./compaction.ts\";\nimport { resolvePlannerRequest } from \"./range-planner.ts\";\nimport {\n\tcomputeFileLists,\n\tcreateFileOps,\n\textractFileOpsFromMessage,\n\ttype FileOperations,\n\tformatFileOperations,\n\tSUMMARIZATION_SYSTEM_PROMPT,\n\tserializeConversation,\n} from \"./utils.ts\";\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface BranchSummaryResult {\n\tsummary?: string;\n\treadFiles?: string[];\n\tmodifiedFiles?: string[];\n\tusage?: Usage;\n\taborted?: boolean;\n\terror?: string;\n}\n\n/** Details stored in BranchSummaryEntry.details for file tracking */\nexport interface BranchSummaryDetails {\n\treadFiles: string[];\n\tmodifiedFiles: string[];\n}\n\nexport type { FileOperations } from \"./utils.ts\";\n\nexport interface BranchPreparation {\n\t/** Messages extracted for summarization, in chronological order */\n\tmessages: AgentMessage[];\n\t/** File operations extracted from tool calls */\n\tfileOps: FileOperations;\n\t/** Total estimated tokens in messages */\n\ttotalTokens: number;\n}\n\nexport interface CollectEntriesResult {\n\t/** Entries to summarize, in chronological order */\n\tentries: SessionEntry[];\n\t/** Common ancestor between old and new position, if any */\n\tcommonAncestorId: string | null;\n}\n\nexport interface GenerateBranchSummaryOptions {\n\t/** Model to use for summarization */\n\tmodel: Model<Api>;\n\t/** API key for the model; omitted for header-only bearer authentication. */\n\tapiKey?: string;\n\t/** Request headers for the model */\n\theaders?: ProviderHeaders;\n\t/** Credential-specific request endpoint for the model */\n\tbaseUrl?: string;\n\t/** Abort signal for cancellation */\n\tsignal: AbortSignal;\n\t/** Optional custom instructions for summarization */\n\tcustomInstructions?: string;\n\t/** If true, customInstructions replaces the default prompt instead of being appended */\n\treplaceInstructions?: boolean;\n\t/** Tokens reserved for prompt + LLM response (default 16384) */\n\treserveTokens?: number;\n\t/**\n\t * Session reasoning level, inherited by the summarization request.\n\t * No output cap is sent, so thinking has no artificial budget to exhaust.\n\t */\n\tthinkingLevel?: ThinkingLevel;\n\t/** Optional session stream function. Used to preserve SDK request behavior without mutating agent state. */\n\tstreamFn?: StreamFn;\n\t/** Retry policy for transient summarization failures. */\n\tretry?: RetryPolicy;\n\t/** Retry lifecycle callbacks. */\n\tcallbacks?: RetryCallbacks;\n}\n\n// ============================================================================\n// Entry Collection\n// ============================================================================\n\n/**\n * Collect entries that should be summarized when navigating from one position to another.\n *\n * Walks from oldLeafId back to the common ancestor with targetId, collecting entries\n * along the way. Does NOT stop at legacy compaction entries, but those entries are\n * inert and are not fed into branch summarization prompts.\n *\n * @param session - Session manager (read-only access)\n * @param oldLeafId - Current position (where we're navigating from)\n * @param targetId - Target position (where we're navigating to)\n * @returns Entries to summarize and the common ancestor\n */\nexport function collectEntriesForBranchSummary(\n\tsession: ReadonlySessionManager,\n\toldLeafId: string | null,\n\ttargetId: string,\n): CollectEntriesResult {\n\t// If no old position, nothing to summarize\n\tif (!oldLeafId) {\n\t\treturn { entries: [], commonAncestorId: null };\n\t}\n\n\t// Find common ancestor (deepest node that's on both paths)\n\tconst oldPath = new Set(session.getBranch(oldLeafId).map((e) => e.id));\n\tconst targetPath = session.getBranch(targetId);\n\n\t// targetPath is root-first, so iterate backwards to find deepest common ancestor\n\tlet commonAncestorId: string | null = null;\n\tfor (let i = targetPath.length - 1; i >= 0; i--) {\n\t\tif (oldPath.has(targetPath[i].id)) {\n\t\t\tcommonAncestorId = targetPath[i].id;\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// Collect entries from old leaf back to common ancestor\n\tconst entries: SessionEntry[] = [];\n\tlet current: string | null = oldLeafId;\n\n\twhile (current && current !== commonAncestorId) {\n\t\tconst entry = session.getEntry(current);\n\t\tif (!entry) break;\n\t\tentries.push(entry);\n\t\tcurrent = entry.parentId;\n\t}\n\n\t// Reverse to get chronological order\n\tentries.reverse();\n\n\treturn { entries, commonAncestorId };\n}\n\n// ============================================================================\n// Entry to Message Conversion\n// ============================================================================\n\n/**\n * Extract AgentMessage from a session entry.\n * Similar to getMessageFromEntry in compaction.ts, with legacy compaction entries kept inert.\n */\nfunction getMessageFromEntry(entry: SessionEntry): AgentMessage | undefined {\n\tswitch (entry.type) {\n\t\tcase \"message\":\n\t\t\t// Skip tool results - context is in assistant's tool call\n\t\t\tif (entry.message.role === \"toolResult\") return undefined;\n\t\t\treturn entry.message;\n\n\t\tcase \"custom_message\":\n\t\t\treturn createCustomMessage(\n\t\t\t\tentry.customType,\n\t\t\t\tentry.content,\n\t\t\t\tentry.display,\n\t\t\t\tentry.details,\n\t\t\t\tentry.timestamp,\n\t\t\t\tentry.excludeFromContext,\n\t\t\t);\n\n\t\tcase \"branch_summary\":\n\t\t\treturn createBranchSummaryMessage(entry.summary, entry.fromId, entry.timestamp);\n\n\t\tcase \"compaction\":\n\t\t\treturn undefined;\n\n\t\t// These don't contribute to conversation content\n\t\tcase \"thinking_level_change\":\n\t\tcase \"model_change\":\n\t\tcase \"custom\":\n\t\tcase \"label\":\n\t\tcase \"session_info\":\n\t\tcase \"context_compaction\":\n\t\t\treturn undefined;\n\t}\n}\n\n/**\n * Prepare entries for summarization with token budget.\n *\n * Walks entries from NEWEST to OLDEST, adding messages until we hit the token budget.\n * This ensures we keep the most recent context when the branch is too long.\n *\n * Also collects file operations from:\n * - Tool calls in assistant messages\n * - Existing branch_summary entries' details (for cumulative tracking)\n *\n * @param entries - Entries in chronological order\n * @param tokenBudget - Maximum tokens to include (0 = no limit)\n */\nexport function prepareBranchEntries(entries: SessionEntry[], tokenBudget: number = 0): BranchPreparation {\n\tconst messages: AgentMessage[] = [];\n\tconst fileOps = createFileOps();\n\tconst filteredEntries = entries;\n\tlet totalTokens = 0;\n\n\t// First pass: collect file ops from ALL entries (even if they don't fit in token budget)\n\t// This ensures we capture cumulative file tracking from nested branch summaries\n\t// Only extract from pi-generated summaries (fromHook !== true), not extension-generated ones\n\tfor (const entry of filteredEntries) {\n\t\tif (entry.type === \"branch_summary\" && !entry.fromHook && entry.details) {\n\t\t\tconst details = entry.details as BranchSummaryDetails;\n\t\t\tif (Array.isArray(details.readFiles)) {\n\t\t\t\tfor (const f of details.readFiles) fileOps.read.add(f);\n\t\t\t}\n\t\t\tif (Array.isArray(details.modifiedFiles)) {\n\t\t\t\t// Modified files go into both edited and written for proper deduplication\n\t\t\t\tfor (const f of details.modifiedFiles) {\n\t\t\t\t\tfileOps.edited.add(f);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Second pass: walk from newest to oldest, adding messages until token budget\n\tfor (let i = filteredEntries.length - 1; i >= 0; i--) {\n\t\tconst entry = filteredEntries[i];\n\t\tconst message = getMessageFromEntry(entry);\n\t\tif (!message) continue;\n\n\t\t// Extract file ops from assistant messages (tool calls)\n\t\textractFileOpsFromMessage(message, fileOps);\n\n\t\tconst tokens = estimateTokens(message);\n\n\t\t// Check budget before adding\n\t\tif (tokenBudget > 0 && totalTokens + tokens > tokenBudget) {\n\t\t\t// If this is a branch summary entry, try to fit it anyway as it's important context\n\t\t\tif (entry.type === \"branch_summary\") {\n\t\t\t\tif (totalTokens < tokenBudget * 0.9) {\n\t\t\t\t\tmessages.unshift(message);\n\t\t\t\t\ttotalTokens += tokens;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Stop - we've hit the budget\n\t\t\tbreak;\n\t\t}\n\n\t\tmessages.unshift(message);\n\t\ttotalTokens += tokens;\n\t}\n\n\treturn { messages, fileOps, totalTokens };\n}\n\n// ============================================================================\n// Summary Generation\n// ============================================================================\n\nconst BRANCH_SUMMARY_PREAMBLE = `The user explored a different conversation branch before returning here.\nSummary of that exploration:\n\n`;\n\nconst BRANCH_SUMMARY_PROMPT = `Create a structured summary of this conversation branch for context when returning later.\n\nUse this EXACT format:\n\n## Goal\n[What was the user trying to accomplish in this branch?]\n\n## Constraints & Preferences\n- [Any constraints, preferences, or requirements mentioned]\n- [Or \"(none)\" if none were mentioned]\n\n## Progress\n### Done\n- [x] [Completed tasks/changes]\n\n### In Progress\n- [ ] [Work that was started but not finished]\n\n### Blocked\n- [Issues preventing progress, if any]\n\n## Key Decisions\n- **[Decision]**: [Brief rationale]\n\n## Next Steps\n1. [What should happen next to continue this work]\n\nKeep each section concise. Preserve exact file paths, function names, and error messages.`;\n\n/**\n * Generate a summary of abandoned branch entries.\n *\n * @param entries - Session entries to summarize (chronological order)\n * @param options - Generation options\n */\nexport async function generateBranchSummary(\n\tentries: SessionEntry[],\n\toptions: GenerateBranchSummaryOptions,\n): Promise<BranchSummaryResult> {\n\tconst {\n\t\tmodel,\n\t\tapiKey,\n\t\theaders,\n\t\tbaseUrl,\n\t\tsignal,\n\t\tcustomInstructions,\n\t\treplaceInstructions,\n\t\treserveTokens = 16384,\n\t\tthinkingLevel,\n\t\tstreamFn,\n\t\tretry,\n\t\tcallbacks,\n\t} = options;\n\n\t// Token budget = context window minus reserved space for prompt + response\n\tconst contextWindow = model.contextWindow || 128000;\n\tconst tokenBudget = contextWindow - reserveTokens;\n\n\tconst { messages, fileOps } = prepareBranchEntries(entries, tokenBudget);\n\n\tif (messages.length === 0) {\n\t\treturn { summary: \"No content to summarize\" };\n\t}\n\n\t// Transform to LLM-compatible messages, then serialize to text\n\t// Serialization prevents the model from treating it as a conversation to continue\n\tconst llmMessages = convertToLlm(messages);\n\tconst conversationText = serializeConversation(llmMessages);\n\n\t// Build prompt\n\tlet instructions: string;\n\tif (replaceInstructions && customInstructions) {\n\t\tinstructions = customInstructions;\n\t} else if (customInstructions) {\n\t\tinstructions = `${BRANCH_SUMMARY_PROMPT}\\n\\nAdditional focus: ${customInstructions}`;\n\t} else {\n\t\tinstructions = BRANCH_SUMMARY_PROMPT;\n\t}\n\tconst promptText = `<conversation>\\n${conversationText}\\n</conversation>\\n\\n${instructions}`;\n\n\tconst summarizationMessages = [\n\t\t{\n\t\t\trole: \"user\" as const,\n\t\t\tcontent: [{ type: \"text\" as const, text: promptText }],\n\t\t\ttimestamp: Date.now(),\n\t\t},\n\t];\n\n\t// Call LLM for summarization. Prefer the session stream function so SDK\n\t// request behavior stays consistent without mutating agent state.\n\tconst context = { systemPrompt: SUMMARIZATION_SYSTEM_PROMPT, messages: summarizationMessages };\n\tconst requestModel = baseUrl === undefined || baseUrl === model.baseUrl ? model : { ...model, baseUrl };\n\t// Same budget rule as the compaction planner: no output cap is sent, so\n\t// pi-ai's context clamp is the only bound and the inherited reasoning level\n\t// has no artificial budget to exhaust. `reserveTokens` keeps its input-side\n\t// meaning above, unchanged.\n\tconst budget = resolvePlannerRequest(requestModel, thinkingLevel);\n\tconst requestOptions: SimpleStreamOptions = {\n\t\tapiKey,\n\t\theaders,\n\t\tsignal,\n\t\tcacheRetention: \"none\",\n\t\tsessionId: uuidv7(),\n\t\t...(budget.reasoning && budget.reasoning !== \"off\" ? { reasoning: budget.reasoning } : {}),\n\t};\n\tconst response = await (async () => {\n\t\ttry {\n\t\t\treturn await retryAssistantCall(\n\t\t\t\tasync () =>\n\t\t\t\t\tstreamFn\n\t\t\t\t\t\t? (await streamFn(requestModel, context, requestOptions)).result()\n\t\t\t\t\t\t: completeSimple(requestModel, context, requestOptions),\n\t\t\t\tretry,\n\t\t\t\tsignal,\n\t\t\t\tcallbacks,\n\t\t\t);\n\t\t} catch (error) {\n\t\t\tif (signal.aborted) return undefined;\n\t\t\treturn {\n\t\t\t\tstopReason: \"error\" as const,\n\t\t\t\terrorMessage: error instanceof Error ? error.message : String(error),\n\t\t\t};\n\t\t}\n\t})();\n\n\t// Check if aborted or errored\n\tif (!response || response.stopReason === \"aborted\") {\n\t\treturn { aborted: true };\n\t}\n\tif (response.stopReason === \"error\") {\n\t\treturn { error: response.errorMessage || \"Summarization failed\" };\n\t}\n\n\tlet summary = response.content\n\t\t.filter((c): c is { type: \"text\"; text: string } => c.type === \"text\")\n\t\t.map((c) => c.text)\n\t\t.join(\"\\n\");\n\n\t// Prepend preamble to provide context about the branch summary\n\tsummary = BRANCH_SUMMARY_PREAMBLE + summary;\n\n\t// Compute file lists and append to summary\n\tconst { readFiles, modifiedFiles } = computeFileLists(fileOps);\n\tsummary += formatFileOperations(readFiles, modifiedFiles);\n\n\treturn {\n\t\tsummary: summary || \"No summary generated\",\n\t\tusage: response.usage,\n\t\treadFiles,\n\t\tmodifiedFiles,\n\t};\n}\n"]}
@@ -4,6 +4,23 @@ import { type VerbatimCompactionParameters, type VerbatimCompactionPreparation }
4
4
  /** Return the independently estimated cost of the protected tail. */
5
5
  export declare function getKeptTailTokenEstimate(preparation: VerbatimCompactionPreparation): number;
6
6
  export declare function autoDetectCompactionQuery(entries: readonly SessionEntry[]): string;
7
+ /**
8
+ * Planner eligibility, kept separate from boundary preparation.
9
+ *
10
+ * `MIN_COMPACTABLE_REGION_LINES` exists to stop repeated pointless *planned*
11
+ * compaction. A load-bearing caller has a different problem: one oversized tool
12
+ * result can blow the context window while producing fewer than 20 compactable
13
+ * lines, and refusing to prepare a boundary there makes the "always completes"
14
+ * guarantee hollow — the fresh rung and its tail-drop rule become unreachable.
15
+ */
16
+ export interface CompactionBoundaryControl {
17
+ /**
18
+ * Prepare a boundary even when the region is below the planner minimum.
19
+ * Only `load_bearing` callers set this; the runner routes such a region
20
+ * straight to the fresh rung without invoking a planner.
21
+ */
22
+ allowSmallRegion?: boolean;
23
+ }
7
24
  /** Prepare the complete compactable transcript and its exact context-visible message tail. */
8
- export declare function prepareCompactionBoundary(pathEntries: SessionEntry[], settings: CompactionSettings, options?: Partial<VerbatimCompactionParameters>): VerbatimCompactionPreparation | undefined;
25
+ export declare function prepareCompactionBoundary(pathEntries: SessionEntry[], settings: CompactionSettings, options?: Partial<VerbatimCompactionParameters>, control?: CompactionBoundaryControl): VerbatimCompactionPreparation | undefined;
9
26
  //# sourceMappingURL=compaction-boundary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compaction-boundary.d.ts","sourceRoot":"","sources":["../../../src/core/compaction/compaction-boundary.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAyC,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEjG,OAAO,EAIN,KAAK,4BAA4B,EACjC,KAAK,6BAA6B,EAClC,MAAM,uBAAuB,CAAC;AAW/B,qEAAqE;AACrE,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,6BAA6B,GAAG,MAAM,CAG3F;AAqCD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,CASlF;AAUD,8FAA8F;AAC9F,wBAAgB,yBAAyB,CACxC,WAAW,EAAE,YAAY,EAAE,EAC3B,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,GAAE,OAAO,CAAC,4BAA4B,CAAM,GACjD,6BAA6B,GAAG,SAAS,CAiC3C"}
1
+ {"version":3,"file":"compaction-boundary.d.ts","sourceRoot":"","sources":["../../../src/core/compaction/compaction-boundary.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAE,KAAK,kBAAkB,EAAyC,MAAM,iBAAiB,CAAC;AAMjG,OAAO,EAIN,KAAK,4BAA4B,EACjC,KAAK,6BAA6B,EAClC,MAAM,uBAAuB,CAAC;AAW/B,qEAAqE;AACrE,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,6BAA6B,GAAG,MAAM,CAK3F;AAgDD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,CASlF;AAYD;;;;;;;;GAQG;AACH,MAAM,WAAW,yBAAyB;IACzC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,8FAA8F;AAC9F,wBAAgB,yBAAyB,CACxC,WAAW,EAAE,YAAY,EAAE,EAC3B,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,GAAE,OAAO,CAAC,4BAA4B,CAAM,EACnD,OAAO,GAAE,yBAA8B,GACrC,6BAA6B,GAAG,SAAS,CAuC3C"}
@@ -1,15 +1,15 @@
1
- import { convertToLlm, createBranchSummaryMessage, createCustomMessage, messageIsLlmVisible, messageStartsLlmUserTurn } from "../messages.js";
1
+ import { convertToLlm, createBranchSummaryMessage, createCustomMessage, messageIsLlmVisible, messageStartsLlmUserTurn, } from "../messages.js";
2
2
  import { normalizeDerivedSessionEntries } from "../session-entry-normalization.js";
3
3
  import { buildSessionContext } from "../session-manager-history.js";
4
4
  import { estimateContextTokens, estimateTokens } from "./compaction.js";
5
- import { normalizeCompactionParameters, normalizeCompactionQuery, COMPACTION_AUTO_QUERY } from "./compaction-parameters.js";
5
+ import { COMPACTION_AUTO_QUERY, normalizeCompactionParameters, normalizeCompactionQuery, } from "./compaction-parameters.js";
6
6
  import { MIN_COMPACTABLE_REGION_LINES, VERBATIM_COMPACTION_STRATEGY, } from "./compaction-types.js";
7
7
  import { createNumberedRegion, serializeConversationForCompaction } from "./transcript-serialization.js";
8
8
  const keptTailTokensByPreparation = new WeakMap();
9
9
  /** Return the independently estimated cost of the protected tail. */
10
10
  export function getKeptTailTokenEstimate(preparation) {
11
- return keptTailTokensByPreparation.get(preparation)
12
- ?? Math.max(0, preparation.tokensBefore - preparation.region.tokenEstimate);
11
+ return (keptTailTokensByPreparation.get(preparation) ??
12
+ Math.max(0, preparation.tokensBefore - preparation.region.tokenEstimate));
13
13
  }
14
14
  function messageFromEntry(entry) {
15
15
  if (entry.type === "message")
@@ -43,7 +43,9 @@ function messageText(message) {
43
43
  if (converted.length === 0)
44
44
  return "";
45
45
  return converted
46
- .flatMap((item) => typeof item.content === "string" ? [item.content] : item.content.filter((block) => block.type === "text").map((block) => block.text))
46
+ .flatMap((item) => typeof item.content === "string"
47
+ ? [item.content]
48
+ : item.content.filter((block) => block.type === "text").map((block) => block.text))
47
49
  .join("\n");
48
50
  }
49
51
  export function autoDetectCompactionQuery(entries) {
@@ -67,7 +69,7 @@ function latestActiveBoundary(entries) {
67
69
  return undefined;
68
70
  }
69
71
  /** Prepare the complete compactable transcript and its exact context-visible message tail. */
70
- export function prepareCompactionBoundary(pathEntries, settings, options = {}) {
72
+ export function prepareCompactionBoundary(pathEntries, settings, options = {}, control = {}) {
71
73
  const entries = normalizeDerivedSessionEntries(pathEntries);
72
74
  const previous = latestActiveBoundary(entries);
73
75
  let regionStart = 0;
@@ -83,9 +85,11 @@ export function prepareCompactionBoundary(pathEntries, settings, options = {}) {
83
85
  const regionMessages = visible.slice(0, tailStart);
84
86
  const tailMessages = visible.slice(tailStart);
85
87
  const serialized = serializeConversationForCompaction(convertToLlm(regionMessages.map((item) => item.message)));
86
- const regionText = [previous?.entry.summary, serialized].filter((text) => typeof text === "string" && text.length > 0).join("\n");
88
+ const regionText = [previous?.entry.summary, serialized]
89
+ .filter((text) => typeof text === "string" && text.length > 0)
90
+ .join("\n");
87
91
  const region = createNumberedRegion(regionText);
88
- if (region.lines.length < MIN_COMPACTABLE_REGION_LINES)
92
+ if (!control.allowSmallRegion && region.lines.length < MIN_COMPACTABLE_REGION_LINES)
89
93
  return undefined;
90
94
  const preparation = {
91
95
  firstKeptEntryId: tailMessages[0]?.entry.id ?? null,
@@ -1 +1 @@
1
- {"version":3,"file":"compaction-boundary.js","sourceRoot":"","sources":["../../../src/core/compaction/compaction-boundary.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AgentMessage } from \"@earendil-works/pi-agent-core\";\nimport { convertToLlm, createBranchSummaryMessage, createCustomMessage, messageIsLlmVisible, messageStartsLlmUserTurn } from \"../messages.js\";\nimport { normalizeDerivedSessionEntries } from \"../session-entry-normalization.js\";\nimport { buildSessionContext } from \"../session-manager-history.js\";\nimport type { CompactionEntry, SessionEntry } from \"../session-manager-types.js\";\nimport { estimateContextTokens, estimateTokens, type CompactionSettings } from \"./compaction.js\";\nimport { normalizeCompactionParameters, normalizeCompactionQuery, COMPACTION_AUTO_QUERY } from \"./compaction-parameters.js\";\nimport {\n\tMIN_COMPACTABLE_REGION_LINES,\n\tVERBATIM_COMPACTION_STRATEGY,\n\ttype VerbatimCompactionDetails,\n\ttype VerbatimCompactionParameters,\n\ttype VerbatimCompactionPreparation,\n} from \"./compaction-types.js\";\nimport { createNumberedRegion, serializeConversationForCompaction } from \"./transcript-serialization.js\";\n\ninterface VisibleEntry {\n\tentry: SessionEntry;\n\tindex: number;\n\tmessage: AgentMessage;\n}\n\nconst keptTailTokensByPreparation = new WeakMap<VerbatimCompactionPreparation, number>();\n\n/** Return the independently estimated cost of the protected tail. */\nexport function getKeptTailTokenEstimate(preparation: VerbatimCompactionPreparation): number {\n\treturn keptTailTokensByPreparation.get(preparation)\n\t\t?? Math.max(0, preparation.tokensBefore - preparation.region.tokenEstimate);\n}\n\nfunction messageFromEntry(entry: SessionEntry): AgentMessage | undefined {\n\tif (entry.type === \"message\") return entry.message;\n\tif (entry.type === \"custom_message\") {\n\t\treturn createCustomMessage(entry.customType, entry.content, entry.display, entry.details, entry.timestamp, entry.excludeFromContext);\n\t}\n\tif (entry.type === \"branch_summary\" && typeof entry.summary === \"string\") {\n\t\treturn createBranchSummaryMessage(entry.summary, entry.fromId, entry.timestamp);\n\t}\n\treturn undefined;\n}\n\nfunction activeBoundary(entry: SessionEntry): entry is CompactionEntry<VerbatimCompactionDetails> {\n\tif (entry.type !== \"compaction\") return false;\n\tconst details = (entry as CompactionEntry<{ strategy?: string }>).details;\n\treturn details?.strategy === VERBATIM_COMPACTION_STRATEGY;\n}\n\nfunction visibleEntries(entries: SessionEntry[], start = 0): VisibleEntry[] {\n\tconst visible: VisibleEntry[] = [];\n\tfor (let index = start; index < entries.length; index++) {\n\t\tconst entry = entries[index];\n\t\tconst message = messageFromEntry(entry);\n\t\tif (message && messageIsLlmVisible(message)) visible.push({ entry, index, message });\n\t}\n\treturn visible;\n}\n\nfunction messageText(message: AgentMessage): string {\n\tconst converted = convertToLlm([message]);\n\tif (converted.length === 0) return \"\";\n\treturn converted\n\t\t.flatMap((item) => typeof item.content === \"string\" ? [item.content] : item.content.filter((block) => block.type === \"text\").map((block) => block.text))\n\t\t.join(\"\\n\");\n}\n\nexport function autoDetectCompactionQuery(entries: readonly SessionEntry[]): string {\n\tconst normalized = normalizeDerivedSessionEntries(entries);\n\tfor (let index = normalized.length - 1; index >= 0; index--) {\n\t\tconst message = messageFromEntry(normalized[index]);\n\t\tif (!message || !messageStartsLlmUserTurn(message)) continue;\n\t\tconst text = messageText(message).trim();\n\t\tif (text) return normalizeCompactionQuery(text, COMPACTION_AUTO_QUERY);\n\t}\n\treturn COMPACTION_AUTO_QUERY;\n}\n\nfunction latestActiveBoundary(entries: SessionEntry[]): { entry: CompactionEntry<VerbatimCompactionDetails>; index: number } | undefined {\n\tfor (let index = entries.length - 1; index >= 0; index--) {\n\t\tconst entry = entries[index];\n\t\tif (activeBoundary(entry)) return { entry, index };\n\t}\n\treturn undefined;\n}\n\n/** Prepare the complete compactable transcript and its exact context-visible message tail. */\nexport function prepareCompactionBoundary(\n\tpathEntries: SessionEntry[],\n\tsettings: CompactionSettings,\n\toptions: Partial<VerbatimCompactionParameters> = {},\n): VerbatimCompactionPreparation | undefined {\n\tconst entries = normalizeDerivedSessionEntries(pathEntries);\n\tconst previous = latestActiveBoundary(entries);\n\tlet regionStart = 0;\n\tif (previous) {\n\t\tconst keptIndex = previous.entry.firstKeptEntryId === null\n\t\t\t? -1\n\t\t\t: entries.findIndex((entry) => entry.id === previous.entry.firstKeptEntryId);\n\t\tregionStart = keptIndex >= 0 ? keptIndex : previous.index + 1;\n\t}\n\n\tconst visible = visibleEntries(entries, regionStart);\n\tconst parameters = normalizeCompactionParameters({ ...settings, ...options }, autoDetectCompactionQuery(entries));\n\tconst tailStart = Math.max(0, visible.length - parameters.preserve_recent);\n\tconst regionMessages = visible.slice(0, tailStart);\n\tconst tailMessages = visible.slice(tailStart);\n\n\tconst serialized = serializeConversationForCompaction(convertToLlm(regionMessages.map((item) => item.message)));\n\tconst regionText = [previous?.entry.summary, serialized].filter((text): text is string => typeof text === \"string\" && text.length > 0).join(\"\\n\");\n\tconst region = createNumberedRegion(regionText);\n\tif (region.lines.length < MIN_COMPACTABLE_REGION_LINES) return undefined;\n\n\tconst preparation: VerbatimCompactionPreparation = {\n\t\tfirstKeptEntryId: tailMessages[0]?.entry.id ?? null,\n\t\tregion,\n\t\tregionEntryIds: regionMessages.map((item) => item.entry.id),\n\t\tkeptTailMessageCount: tailMessages.length,\n\t\ttokensBefore: estimateContextTokens(buildSessionContext(entries).messages).tokens,\n\t\tparameters,\n\t\tsettings,\n\t};\n\tkeptTailTokensByPreparation.set(preparation, tailMessages.reduce((sum, item) => sum + estimateTokens(item.message), 0));\n\treturn preparation;\n}\n"]}
1
+ {"version":3,"file":"compaction-boundary.js","sourceRoot":"","sources":["../../../src/core/compaction/compaction-boundary.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AgentMessage } from \"@earendil-works/pi-agent-core\";\nimport {\n\tconvertToLlm,\n\tcreateBranchSummaryMessage,\n\tcreateCustomMessage,\n\tmessageIsLlmVisible,\n\tmessageStartsLlmUserTurn,\n} from \"../messages.js\";\nimport { normalizeDerivedSessionEntries } from \"../session-entry-normalization.js\";\nimport { buildSessionContext } from \"../session-manager-history.js\";\nimport type { CompactionEntry, SessionEntry } from \"../session-manager-types.js\";\nimport { type CompactionSettings, estimateContextTokens, estimateTokens } from \"./compaction.js\";\nimport {\n\tCOMPACTION_AUTO_QUERY,\n\tnormalizeCompactionParameters,\n\tnormalizeCompactionQuery,\n} from \"./compaction-parameters.js\";\nimport {\n\tMIN_COMPACTABLE_REGION_LINES,\n\tVERBATIM_COMPACTION_STRATEGY,\n\ttype VerbatimCompactionDetails,\n\ttype VerbatimCompactionParameters,\n\ttype VerbatimCompactionPreparation,\n} from \"./compaction-types.js\";\nimport { createNumberedRegion, serializeConversationForCompaction } from \"./transcript-serialization.js\";\n\ninterface VisibleEntry {\n\tentry: SessionEntry;\n\tindex: number;\n\tmessage: AgentMessage;\n}\n\nconst keptTailTokensByPreparation = new WeakMap<VerbatimCompactionPreparation, number>();\n\n/** Return the independently estimated cost of the protected tail. */\nexport function getKeptTailTokenEstimate(preparation: VerbatimCompactionPreparation): number {\n\treturn (\n\t\tkeptTailTokensByPreparation.get(preparation) ??\n\t\tMath.max(0, preparation.tokensBefore - preparation.region.tokenEstimate)\n\t);\n}\n\nfunction messageFromEntry(entry: SessionEntry): AgentMessage | undefined {\n\tif (entry.type === \"message\") return entry.message;\n\tif (entry.type === \"custom_message\") {\n\t\treturn createCustomMessage(\n\t\t\tentry.customType,\n\t\t\tentry.content,\n\t\t\tentry.display,\n\t\t\tentry.details,\n\t\t\tentry.timestamp,\n\t\t\tentry.excludeFromContext,\n\t\t);\n\t}\n\tif (entry.type === \"branch_summary\" && typeof entry.summary === \"string\") {\n\t\treturn createBranchSummaryMessage(entry.summary, entry.fromId, entry.timestamp);\n\t}\n\treturn undefined;\n}\n\nfunction activeBoundary(entry: SessionEntry): entry is CompactionEntry<VerbatimCompactionDetails> {\n\tif (entry.type !== \"compaction\") return false;\n\tconst details = (entry as CompactionEntry<{ strategy?: string }>).details;\n\treturn details?.strategy === VERBATIM_COMPACTION_STRATEGY;\n}\n\nfunction visibleEntries(entries: SessionEntry[], start = 0): VisibleEntry[] {\n\tconst visible: VisibleEntry[] = [];\n\tfor (let index = start; index < entries.length; index++) {\n\t\tconst entry = entries[index];\n\t\tconst message = messageFromEntry(entry);\n\t\tif (message && messageIsLlmVisible(message)) visible.push({ entry, index, message });\n\t}\n\treturn visible;\n}\n\nfunction messageText(message: AgentMessage): string {\n\tconst converted = convertToLlm([message]);\n\tif (converted.length === 0) return \"\";\n\treturn converted\n\t\t.flatMap((item) =>\n\t\t\ttypeof item.content === \"string\"\n\t\t\t\t? [item.content]\n\t\t\t\t: item.content.filter((block) => block.type === \"text\").map((block) => block.text),\n\t\t)\n\t\t.join(\"\\n\");\n}\n\nexport function autoDetectCompactionQuery(entries: readonly SessionEntry[]): string {\n\tconst normalized = normalizeDerivedSessionEntries(entries);\n\tfor (let index = normalized.length - 1; index >= 0; index--) {\n\t\tconst message = messageFromEntry(normalized[index]);\n\t\tif (!message || !messageStartsLlmUserTurn(message)) continue;\n\t\tconst text = messageText(message).trim();\n\t\tif (text) return normalizeCompactionQuery(text, COMPACTION_AUTO_QUERY);\n\t}\n\treturn COMPACTION_AUTO_QUERY;\n}\n\nfunction latestActiveBoundary(\n\tentries: SessionEntry[],\n): { entry: CompactionEntry<VerbatimCompactionDetails>; index: number } | undefined {\n\tfor (let index = entries.length - 1; index >= 0; index--) {\n\t\tconst entry = entries[index];\n\t\tif (activeBoundary(entry)) return { entry, index };\n\t}\n\treturn undefined;\n}\n\n/**\n * Planner eligibility, kept separate from boundary preparation.\n *\n * `MIN_COMPACTABLE_REGION_LINES` exists to stop repeated pointless *planned*\n * compaction. A load-bearing caller has a different problem: one oversized tool\n * result can blow the context window while producing fewer than 20 compactable\n * lines, and refusing to prepare a boundary there makes the \"always completes\"\n * guarantee hollow — the fresh rung and its tail-drop rule become unreachable.\n */\nexport interface CompactionBoundaryControl {\n\t/**\n\t * Prepare a boundary even when the region is below the planner minimum.\n\t * Only `load_bearing` callers set this; the runner routes such a region\n\t * straight to the fresh rung without invoking a planner.\n\t */\n\tallowSmallRegion?: boolean;\n}\n\n/** Prepare the complete compactable transcript and its exact context-visible message tail. */\nexport function prepareCompactionBoundary(\n\tpathEntries: SessionEntry[],\n\tsettings: CompactionSettings,\n\toptions: Partial<VerbatimCompactionParameters> = {},\n\tcontrol: CompactionBoundaryControl = {},\n): VerbatimCompactionPreparation | undefined {\n\tconst entries = normalizeDerivedSessionEntries(pathEntries);\n\tconst previous = latestActiveBoundary(entries);\n\tlet regionStart = 0;\n\tif (previous) {\n\t\tconst keptIndex =\n\t\t\tprevious.entry.firstKeptEntryId === null\n\t\t\t\t? -1\n\t\t\t\t: entries.findIndex((entry) => entry.id === previous.entry.firstKeptEntryId);\n\t\tregionStart = keptIndex >= 0 ? keptIndex : previous.index + 1;\n\t}\n\n\tconst visible = visibleEntries(entries, regionStart);\n\tconst parameters = normalizeCompactionParameters({ ...settings, ...options }, autoDetectCompactionQuery(entries));\n\tconst tailStart = Math.max(0, visible.length - parameters.preserve_recent);\n\tconst regionMessages = visible.slice(0, tailStart);\n\tconst tailMessages = visible.slice(tailStart);\n\n\tconst serialized = serializeConversationForCompaction(convertToLlm(regionMessages.map((item) => item.message)));\n\tconst regionText = [previous?.entry.summary, serialized]\n\t\t.filter((text): text is string => typeof text === \"string\" && text.length > 0)\n\t\t.join(\"\\n\");\n\tconst region = createNumberedRegion(regionText);\n\tif (!control.allowSmallRegion && region.lines.length < MIN_COMPACTABLE_REGION_LINES) return undefined;\n\n\tconst preparation: VerbatimCompactionPreparation = {\n\t\tfirstKeptEntryId: tailMessages[0]?.entry.id ?? null,\n\t\tregion,\n\t\tregionEntryIds: regionMessages.map((item) => item.entry.id),\n\t\tkeptTailMessageCount: tailMessages.length,\n\t\ttokensBefore: estimateContextTokens(buildSessionContext(entries).messages).tokens,\n\t\tparameters,\n\t\tsettings,\n\t};\n\tkeptTailTokensByPreparation.set(\n\t\tpreparation,\n\t\ttailMessages.reduce((sum, item) => sum + estimateTokens(item.message), 0),\n\t);\n\treturn preparation;\n}\n"]}
@@ -1,17 +1,74 @@
1
1
  import type { StreamFn, ThinkingLevel } from "@earendil-works/pi-agent-core";
2
- import type { ProviderHeaders } from "@earendil-works/pi-ai";
2
+ import type { RetryCallbacks, RetryPolicy } from "@earendil-works/pi-ai";
3
3
  import type { Api, Model } from "@earendil-works/pi-ai/compat";
4
- import type { CompactedTranscript, VerbatimCompactionPreparation } from "./compaction-types.js";
4
+ import type { CompactedTranscript, CompactionPlannerModel, CompactionUrgency, PlannerAuth, VerbatimCompactionPreparation } from "./compaction-types.js";
5
+ import { type FallbackPlannerContext } from "./fallback-planner.js";
5
6
  export interface CompactionPlanOptions {
6
7
  streamFn: StreamFn;
7
8
  /** Absolute path of the persisted session file. Undefined for in-memory sessions. */
8
9
  sessionFilePath?: string;
10
+ retry?: RetryPolicy;
11
+ callbacks?: RetryCallbacks;
12
+ }
13
+ /** One compaction run's request. Urgency is required; there is no default. */
14
+ export interface CompactionRunRequest extends CompactionPlanOptions {
15
+ /** Per-model credentials; a borrowed candidate uses its own, never the session model's. */
16
+ resolveAuth: (model: Model<Api>) => Promise<PlannerAuth | undefined>;
17
+ signal?: AbortSignal;
18
+ /** Inherited by the planner and never modified across attempts. */
19
+ thinkingLevel: ThinkingLevel | undefined;
20
+ urgency: CompactionUrgency;
21
+ /** Configured fallback candidates. Omitted means borrowing is impossible. */
22
+ fallback?: FallbackPlannerContext;
9
23
  }
10
24
  export type CompactionRungResult = CompactedTranscript & {
11
- rung: "planned";
25
+ rung: "planned" | "fresh";
26
+ /** Present only when a borrowed fallback model ranked the lines. */
27
+ plannerModel?: CompactionPlannerModel;
28
+ /** False only when the fresh rung had to drop the protected tail. */
29
+ keptTail: boolean;
12
30
  };
13
- /** Calculate the single global line threshold directly from the prepared setting. */
31
+ /**
32
+ * Calculate the single global line threshold from the prepared setting.
33
+ *
34
+ * This is the untrimmed target. Overflow trimming does NOT reuse it:
35
+ * `planWithTrimming` recomputes the threshold against each trimmed view, so the
36
+ * planner is always asked to keep a proportion of the lines it actually
37
+ * received rather than a proportion of a region it never saw.
38
+ *
39
+ * Retained as an exported helper for tests and consumers that need the
40
+ * pre-trim target; production planning goes through `planWithTrimming`.
41
+ */
14
42
  export declare function targetKeepLines(preparation: VerbatimCompactionPreparation): number;
15
- /** Execute one whole-region model plan and mechanically accept its safe deletions. */
16
- export declare function runVerbatimCompaction(preparation: VerbatimCompactionPreparation, model: Model<Api>, apiKey: string, headers: ProviderHeaders | undefined, signal: AbortSignal | undefined, thinkingLevel: ThinkingLevel | undefined, options: CompactionPlanOptions): Promise<CompactionRungResult>;
43
+ /**
44
+ * Discard every compactable line and start a fresh context window.
45
+ *
46
+ * TOTAL. No provider, no credentials, no network, no signal, no failure mode,
47
+ * no `Promise`. Port of codex `compact_token_budget` →
48
+ * `Session::start_new_context_window`. Atomic's system prompt, context files,
49
+ * and skills are rebuilt per request and were never in the transcript, so they
50
+ * survive automatically.
51
+ *
52
+ * The whole region is emitted as one deletion range and handed to the unchanged
53
+ * `validateDeletedRanges` → `reconstructCompactedTranscript` path, which splits
54
+ * around protected spans and folds prior markers.
55
+ *
56
+ * Returns exactly a `CompactedTranscript` — `text`, `ranges`, `stats` and
57
+ * nothing else. Whether the `preserve_recent` tail survives is a persistence
58
+ * concern and travels on `CompactionRungResult.keptTail`, not on this door.
59
+ */
60
+ export declare function startNewContextWindow(preparation: VerbatimCompactionPreparation): CompactedTranscript;
61
+ /**
62
+ * Produce one compacted transcript, tagged with the rung that produced it.
63
+ *
64
+ * The ladder is: the session model, then each configured fallback model
65
+ * borrowed for one planner request, then — only under `load_bearing` urgency —
66
+ * a fresh context window. A manual `/compact` runs at `recoverable` urgency and
67
+ * therefore cannot reach the context-destroying rung; it fails honestly instead.
68
+ *
69
+ * Unavailable credentials are ladder control flow, not an early throw: a
70
+ * borrowed candidate with its own working credentials can still rank the lines,
71
+ * and a load-bearing caller still reaches the credential-free fresh rung.
72
+ */
73
+ export declare function runVerbatimCompaction(preparation: VerbatimCompactionPreparation, model: Model<Api>, request: CompactionRunRequest): Promise<CompactionRungResult>;
17
74
  //# sourceMappingURL=compaction-runner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compaction-runner.d.ts","sourceRoot":"","sources":["../../../src/core/compaction/compaction-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAI/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAEhG,MAAM,WAAW,qBAAqB;IACrC,QAAQ,EAAE,QAAQ,CAAC;IACnB,qFAAqF;IACrF,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,GAAG;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAE7E,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,WAAW,EAAE,6BAA6B,GAAG,MAAM,CAMlF;AAiBD,sFAAsF;AACtF,wBAAsB,qBAAqB,CAC1C,WAAW,EAAE,6BAA6B,EAC1C,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,eAAe,GAAG,SAAS,EACpC,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,aAAa,EAAE,aAAa,GAAG,SAAS,EACxC,OAAO,EAAE,qBAAqB,GAC5B,OAAO,CAAC,oBAAoB,CAAC,CAkB/B"}
1
+ {"version":3,"file":"compaction-runner.d.ts","sourceRoot":"","sources":["../../../src/core/compaction/compaction-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,KAAK,EAEX,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,WAAW,EAEX,6BAA6B,EAC7B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAGN,KAAK,sBAAsB,EAE3B,MAAM,uBAAuB,CAAC;AAY/B,MAAM,WAAW,qBAAqB;IACrC,QAAQ,EAAE,QAAQ,CAAC;IACnB,qFAAqF;IACrF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,SAAS,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,8EAA8E;AAC9E,MAAM,WAAW,oBAAqB,SAAQ,qBAAqB;IAClE,2FAA2F;IAC3F,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IACrE,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,mEAAmE;IACnE,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;IACzC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,sBAAsB,CAAC;CAClC;AAED,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,GAAG;IACxD,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IAC1B,oEAAoE;IACpE,YAAY,CAAC,EAAE,sBAAsB,CAAC;IACtC,qEAAqE;IACrE,QAAQ,EAAE,OAAO,CAAC;CAClB,CAAC;AAQF;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,6BAA6B,GAAG,MAAM,CAMlF;AA4CD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,6BAA6B,GAAG,mBAAmB,CAErG;AAkID;;;;;;;;;;;GAWG;AACH,wBAAsB,qBAAqB,CAC1C,WAAW,EAAE,6BAA6B,EAC1C,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EACjB,OAAO,EAAE,oBAAoB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAmE/B"}
@@ -1,29 +1,256 @@
1
1
  import { getKeptTailTokenEstimate } from "./compaction-boundary.js";
2
+ import { MIN_COMPACTABLE_REGION_LINES } from "./compaction-types.js";
2
3
  import { reconstructCompactedTranscript, validateDeletedRanges } from "./deleted-ranges.js";
3
- import { planDeletedLineRanges } from "./range-planner.js";
4
- /** Calculate the single global line threshold directly from the prepared setting. */
4
+ import { createFallbackPlannerBorrower, plannerAttemptKey, } from "./fallback-planner.js";
5
+ import { MALFORMED_OUTPUT_MESSAGE, NO_USABLE_RANGES_MESSAGE, planDeletedLineRanges, RangePlanError, resolvePlannerRequest, } from "./range-planner.js";
6
+ import { writeSuccessDiagnosticSidecar } from "./range-planner-diagnostics.js";
7
+ import { nextTrimOffset, rebaseTrimmedRanges, trimRegionHead } from "./region-trimming.js";
8
+ /**
9
+ * Calculate the single global line threshold from the prepared setting.
10
+ *
11
+ * This is the untrimmed target. Overflow trimming does NOT reuse it:
12
+ * `planWithTrimming` recomputes the threshold against each trimmed view, so the
13
+ * planner is always asked to keep a proportion of the lines it actually
14
+ * received rather than a proportion of a region it never saw.
15
+ *
16
+ * Retained as an exported helper for tests and consumers that need the
17
+ * pre-trim target; production planning goes through `planWithTrimming`.
18
+ */
5
19
  export function targetKeepLines(preparation) {
6
- const protectedLines = preparation.region.protectedLineNumbers?.size ?? 0;
7
- return Math.max(protectedLines, Math.round(preparation.region.lines.length * preparation.parameters.compression_ratio));
8
- }
9
- function withWholeContextStats(result, preparation) {
10
- const tokensAfter = result.stats.tokensAfter + getKeptTailTokenEstimate(preparation);
11
- const percentReduction = preparation.tokensBefore === 0
12
- ? 0
13
- : Math.round((1 - tokensAfter / preparation.tokensBefore) * 1000) / 10;
20
+ const region = preparation.region;
21
+ return Math.max(region.protectedLineNumbers?.size ?? 0, Math.round(region.lines.length * preparation.parameters.compression_ratio));
22
+ }
23
+ function hardInputLimitFor(model) {
24
+ return model.contextWindow > 0 ? model.contextWindow : Number.POSITIVE_INFINITY;
25
+ }
26
+ function withWholeContextStats(result, preparation, keptTail) {
27
+ const tokensAfter = result.stats.tokensAfter + (keptTail ? getKeptTailTokenEstimate(preparation) : 0);
28
+ const percentReduction = preparation.tokensBefore === 0 ? 0 : Math.round((1 - tokensAfter / preparation.tokensBefore) * 1000) / 10;
14
29
  return {
15
30
  ...result,
16
- rung: "planned",
17
31
  stats: { ...result.stats, tokensBefore: preparation.tokensBefore, tokensAfter, percentReduction },
18
32
  };
19
33
  }
20
- /** Execute one whole-region model plan and mechanically accept its safe deletions. */
21
- export async function runVerbatimCompaction(preparation, model, apiKey, headers, signal, thinkingLevel, options) {
22
- if (signal?.aborted)
23
- throw new Error("Compaction cancelled");
24
- const raw = await planDeletedLineRanges(preparation.region, preparation.parameters, model, { apiKey, headers }, signal, thinkingLevel, preparation.settings.reserveTokens, targetKeepLines(preparation), { streamFn: options.streamFn, sessionFilePath: options.sessionFilePath });
34
+ /**
35
+ * Build a fresh context window and the tail decision that goes with it.
36
+ *
37
+ * Private on purpose: `keptTail` is runner bookkeeping that persistence needs in
38
+ * order to write `firstKeptEntryId: null` when the protected tail is dropped. It
39
+ * is deliberately absent from the public door's return value, which is exactly a
40
+ * `CompactedTranscript`.
41
+ */
42
+ function buildFreshTranscript(preparation) {
43
+ const region = preparation.region;
44
+ const whole = region.lines.length > 0 ? [{ start: 1, end: region.lines.length }] : [];
45
+ return reconstructCompactedTranscript(region, validateDeletedRanges(whole, region));
46
+ }
47
+ function buildFreshContextWindow(preparation, hardInputLimit) {
48
+ const limit = Number.isFinite(hardInputLimit) && hardInputLimit > 0 ? hardInputLimit : Number.POSITIVE_INFINITY;
49
+ // The rule is "tail under the limit ⇒ tail kept", so the comparison is the
50
+ // tail alone. Explicit protected lines are a hard floor that survives either
51
+ // way, and counting the reconstructed protected/marker text here would drop a
52
+ // tail that fits. A rebuilt context that still cannot be sent is the post-tool
53
+ // gate's problem, not a reason for this rung to discard more.
54
+ return { transcript: buildFreshTranscript(preparation), keptTail: getKeptTailTokenEstimate(preparation) <= limit };
55
+ }
56
+ /**
57
+ * Discard every compactable line and start a fresh context window.
58
+ *
59
+ * TOTAL. No provider, no credentials, no network, no signal, no failure mode,
60
+ * no `Promise`. Port of codex `compact_token_budget` →
61
+ * `Session::start_new_context_window`. Atomic's system prompt, context files,
62
+ * and skills are rebuilt per request and were never in the transcript, so they
63
+ * survive automatically.
64
+ *
65
+ * The whole region is emitted as one deletion range and handed to the unchanged
66
+ * `validateDeletedRanges` → `reconstructCompactedTranscript` path, which splits
67
+ * around protected spans and folds prior markers.
68
+ *
69
+ * Returns exactly a `CompactedTranscript` — `text`, `ranges`, `stats` and
70
+ * nothing else. Whether the `preserve_recent` tail survives is a persistence
71
+ * concern and travels on `CompactionRungResult.keptTail`, not on this door.
72
+ */
73
+ export function startNewContextWindow(preparation) {
74
+ return buildFreshTranscript(preparation);
75
+ }
76
+ function plannedResult(preparation, ranges, plannerModel) {
77
+ const reconstructed = reconstructCompactedTranscript(preparation.region, validateDeletedRanges(ranges, preparation.region));
78
+ return {
79
+ ...withWholeContextStats(reconstructed, preparation, true),
80
+ rung: "planned",
81
+ ...(plannerModel ? { plannerModel } : {}),
82
+ keptTail: true,
83
+ };
84
+ }
85
+ function borrowedIdentity(planner) {
86
+ return {
87
+ provider: planner.model.provider,
88
+ id: planner.model.id,
89
+ ...(planner.budget.reasoning ? { thinkingLevel: planner.budget.reasoning } : {}),
90
+ };
91
+ }
92
+ function terminalError(outcome) {
93
+ if (!outcome)
94
+ return new RangePlanError(MALFORMED_OUTPUT_MESSAGE, 1, "", false);
95
+ if (outcome.kind === "rateLimited") {
96
+ return new RangePlanError(outcome.message, 1, "", false, outcome.diagnosticPath, outcome);
97
+ }
98
+ if (outcome.kind === "overflowed") {
99
+ return new RangePlanError("Compaction range planning exceeded the model context window", 1, "", true, outcome.diagnosticPath, outcome);
100
+ }
101
+ if (outcome.kind === "providerError") {
102
+ return new RangePlanError(outcome.message, 1, "", false, outcome.diagnosticPath, outcome);
103
+ }
104
+ const message = outcome.category === "malformed_output" ? MALFORMED_OUTPUT_MESSAGE : NO_USABLE_RANGES_MESSAGE;
105
+ return new RangePlanError(message, 1, outcome.excerpt, false, outcome.diagnosticPath, outcome);
106
+ }
107
+ /**
108
+ * Run one planner model, retrying the same model after oldest-first input
109
+ * trimming when the request itself overflows the context window.
110
+ *
111
+ * Trimming continues until no strictly smaller view exists; `nextTrimOffset`
112
+ * halves the remaining suffix, so the walk is finite. Only then is `overflowed`
113
+ * terminal and the ladder advances.
114
+ *
115
+ * Each view gets its own keep target from `compression_ratio`. Reusing the
116
+ * original whole-preparation target is what asked a halved 20-line region to
117
+ * keep 10 of its 10 visible lines — a request for zero deletions, whose obedient
118
+ * empty answer then hits the non-negotiable zero-range rejection. Extra
119
+ * reduction still comes only from the head the runner withheld.
120
+ */
121
+ async function planWithTrimming(preparation, planner, options) {
122
+ let offset = 0;
123
+ for (;;) {
124
+ const region = offset === 0 ? preparation.region : trimRegionHead(preparation.region, offset);
125
+ if (!region)
126
+ return { kind: "terminal", outcome: { kind: "overflowed" } };
127
+ const keepTarget = Math.max(region.protectedLineNumbers?.size ?? 0, Math.round(region.lines.length * preparation.parameters.compression_ratio));
128
+ const outcome = await planDeletedLineRanges(region, preparation.parameters, planner, keepTarget, options);
129
+ if (outcome.kind === "ranked" || outcome.kind === "recovered") {
130
+ if (offset === 0)
131
+ return { kind: "planned", ranges: outcome.ranges };
132
+ const validated = validateDeletedRanges(outcome.ranges, region);
133
+ return { kind: "planned", ranges: rebaseTrimmedRanges(validated, offset) };
134
+ }
135
+ if (outcome.kind !== "overflowed")
136
+ return { kind: "terminal", outcome };
137
+ if (options.signal?.aborted)
138
+ throw new Error("Compaction cancelled");
139
+ const next = nextTrimOffset(preparation.region, offset);
140
+ if (next === undefined)
141
+ return { kind: "terminal", outcome };
142
+ offset = next;
143
+ }
144
+ }
145
+ const MISSING_AUTH_MESSAGE = "Compaction provider authentication is unavailable";
146
+ /**
147
+ * A runner-local terminal cause with no provider attempt behind it.
148
+ *
149
+ * Missing credentials are not a provider outcome — no request was made — so no
150
+ * synthetic response is fabricated and no diagnostic sidecar is written. It is
151
+ * carried as `providerError` purely so the ladder can advance past it.
152
+ */
153
+ function authFailureOutcome(error) {
154
+ const message = error instanceof Error ? error.message : error === undefined ? MISSING_AUTH_MESSAGE : String(error);
155
+ return { kind: "providerError", message: message || MISSING_AUTH_MESSAGE };
156
+ }
157
+ /** Resolve one model's credentials, normalizing a rejection and `undefined` alike. */
158
+ async function resolvePlannerAuth(resolveAuth, model) {
159
+ try {
160
+ const auth = await resolveAuth(model);
161
+ return auth ? { auth } : { failure: authFailureOutcome(undefined) };
162
+ }
163
+ catch (error) {
164
+ return { failure: authFailureOutcome(error) };
165
+ }
166
+ }
167
+ function freshResult(preparation, hardInputLimit) {
168
+ const fresh = buildFreshContextWindow(preparation, hardInputLimit);
169
+ return {
170
+ ...withWholeContextStats(fresh.transcript, preparation, fresh.keptTail),
171
+ rung: "fresh",
172
+ keptTail: fresh.keptTail,
173
+ };
174
+ }
175
+ /**
176
+ * Produce one compacted transcript, tagged with the rung that produced it.
177
+ *
178
+ * The ladder is: the session model, then each configured fallback model
179
+ * borrowed for one planner request, then — only under `load_bearing` urgency —
180
+ * a fresh context window. A manual `/compact` runs at `recoverable` urgency and
181
+ * therefore cannot reach the context-destroying rung; it fails honestly instead.
182
+ *
183
+ * Unavailable credentials are ladder control flow, not an early throw: a
184
+ * borrowed candidate with its own working credentials can still rank the lines,
185
+ * and a load-bearing caller still reaches the credential-free fresh rung.
186
+ */
187
+ export async function runVerbatimCompaction(preparation, model, request) {
188
+ const signal = request.signal;
25
189
  if (signal?.aborted)
26
190
  throw new Error("Compaction cancelled");
27
- return withWholeContextStats(reconstructCompactedTranscript(preparation.region, validateDeletedRanges(raw, preparation.region)), preparation);
191
+ const plannerOptions = {
192
+ streamFn: request.streamFn,
193
+ sessionFilePath: request.sessionFilePath,
194
+ retry: request.retry,
195
+ callbacks: request.callbacks,
196
+ signal,
197
+ };
198
+ const hardInputLimit = hardInputLimitFor(model);
199
+ // A region below the planner minimum cannot be made rankable by changing
200
+ // models, so no planner is invoked. Only a load-bearing caller can reach a
201
+ // preparation this small; recoverable callers were refused before the runner.
202
+ if (preparation.region.lines.length < MIN_COMPACTABLE_REGION_LINES) {
203
+ if (request.urgency !== "load_bearing")
204
+ throw new RangePlanError(NO_USABLE_RANGES_MESSAGE, 0, "", false);
205
+ return freshResult(preparation, hardInputLimit);
206
+ }
207
+ const attempted = new Set();
208
+ // One borrower per run owns the monotonic cursor, so the configured list is
209
+ // walked exactly once no matter how many terminal outcomes occur.
210
+ const borrow = request.fallback
211
+ ? createFallbackPlannerBorrower(request.fallback)
212
+ : undefined;
213
+ const primaryBudget = resolvePlannerRequest(model, request.thinkingLevel);
214
+ const primaryAuth = await resolvePlannerAuth(request.resolveAuth, model);
215
+ let lastTerminal = "failure" in primaryAuth ? primaryAuth.failure : undefined;
216
+ let borrowed = false;
217
+ let planner;
218
+ if ("auth" in primaryAuth) {
219
+ planner = { model, budget: primaryBudget, auth: primaryAuth.auth };
220
+ }
221
+ else {
222
+ // No request was made, but this candidate must not be retried.
223
+ attempted.add(plannerAttemptKey({ model, budget: primaryBudget, auth: {} }));
224
+ planner = borrow ? await borrow(attempted, request.resolveAuth) : undefined;
225
+ borrowed = planner !== undefined;
226
+ }
227
+ while (planner) {
228
+ const attempt = await planWithTrimming(preparation, planner, plannerOptions);
229
+ if (signal?.aborted)
230
+ throw new Error("Compaction cancelled");
231
+ if (attempt.kind === "planned") {
232
+ const plannerModel = borrowed ? borrowedIdentity(planner) : undefined;
233
+ if (plannerModel) {
234
+ // Best-effort: the durable entry already records the borrowed model;
235
+ // a sidecar write failure never affects compaction success.
236
+ writeSuccessDiagnosticSidecar({
237
+ sessionFilePath: request.sessionFilePath,
238
+ model: planner.model,
239
+ successCategory: "borrowed_planner",
240
+ ...(plannerModel.thinkingLevel === undefined ? {} : { thinkingLevel: plannerModel.thinkingLevel }),
241
+ });
242
+ }
243
+ return plannedResult(preparation, attempt.ranges, plannerModel);
244
+ }
245
+ lastTerminal = attempt.outcome;
246
+ attempted.add(plannerAttemptKey(planner));
247
+ planner = borrow ? await borrow(attempted, request.resolveAuth) : undefined;
248
+ borrowed = planner !== undefined;
249
+ if (signal?.aborted)
250
+ throw new Error("Compaction cancelled");
251
+ }
252
+ if (request.urgency !== "load_bearing")
253
+ throw terminalError(lastTerminal);
254
+ return freshResult(preparation, hardInputLimit);
28
255
  }
29
256
  //# sourceMappingURL=compaction-runner.js.map