@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
@@ -0,0 +1,513 @@
1
+ /**
2
+ * `atomic auth print-api-key` / `atomic auth print-bearer-token`.
3
+ *
4
+ * The only door in Atomic whose purpose is emitting a secret. Everything here
5
+ * exists to keep that egress narrow:
6
+ *
7
+ * - the secret leaves as a `Secret`, which cannot be interpolated, serialized,
8
+ * or inspected, and is consumed exactly once by the stdout writer;
9
+ * - `--model` is required, so no ambient "current model" can emit a credential
10
+ * the caller did not name;
11
+ * - there is no `--output <file>` and no clipboard path — stdout only;
12
+ * - every failure is a distinct exit code, and stdout stays empty on all of
13
+ * them but one — `CredentialTruncated` (exit 9) exists to report the case
14
+ * where it cannot be, because bytes already left and cannot be recalled;
15
+ * - a failed OAuth refresh never mutates the stored credential.
16
+ *
17
+ * One residual, and it is upstream: when a model infers several eligible
18
+ * providers, each is asked for its credential before the ambiguity is known, so
19
+ * a *successful* refresh can rotate and persist a credential this command then
20
+ * declines to emit (exit 3). See the note on the `getAuth()` call in the
21
+ * candidate loop.
22
+ */
23
+ import { inspect } from "node:util";
24
+ import { ModelsError } from "@earendil-works/pi-ai";
25
+ import { APP_NAME } from "../config.js";
26
+ import { resolveCliModel } from "../core/model-resolver.js";
27
+ import { flushRawStdout, RawStdoutWriteError, writeRawStdoutOnce } from "../core/output-guard.js";
28
+ /** Bearer tokens are refreshed unless they still have this much life left. */
29
+ export const DEFAULT_BEARER_TOKEN_MIN_EXPIRY_MS = 30 * 60_000;
30
+ /**
31
+ * Exported so a test can walk the whole taxonomy: every declared code has to
32
+ * name an exercised path, and the record type makes a new member without an
33
+ * exit code a compile error rather than a review miss.
34
+ *
35
+ * Every one of these leaves stdout empty except `CredentialTruncated`, which
36
+ * exists to report the one case where it cannot be: bytes already went out and
37
+ * cannot be recalled. `STDOUT_EMPTY_ON_EXIT` names that split so the taxonomy
38
+ * test asserts it rather than assuming it.
39
+ */
40
+ export const EXIT_CODES = {
41
+ Usage: 1,
42
+ NoCredentialConfigured: 2,
43
+ ProviderAmbiguous: 3,
44
+ KindUnsupportedForProvider: 4,
45
+ RefreshFailed: 5,
46
+ MinValidityUnreachable: 6,
47
+ OAuthUnavailable: 7,
48
+ CredentialNotEmitted: 8,
49
+ CredentialTruncated: 9,
50
+ };
51
+ /** The codes whose contract is an empty stdout. See `EXIT_CODES`. */
52
+ export const STDOUT_EMPTY_ON_EXIT = new Set(Object.keys(EXIT_CODES).filter((code) => code !== "CredentialTruncated"));
53
+ export class CredentialPrintError extends Error {
54
+ constructor(code, message, options) {
55
+ super(message, options);
56
+ this.name = "CredentialPrintError";
57
+ this.code = code;
58
+ this.exitCode = EXIT_CODES[code];
59
+ }
60
+ }
61
+ /**
62
+ * A credential in transit.
63
+ *
64
+ * Every path that would copy the value into a string is closed: `toString`,
65
+ * `toJSON`, and `Symbol.toPrimitive` throw rather than return, so a template
66
+ * literal, `JSON.stringify`, or string concatenation fails loudly instead of
67
+ * leaking into a log line, a transcript, or an error message. `inspect` — which
68
+ * `console.log` and Node's error formatting use — renders a placeholder.
69
+ *
70
+ * `take()` is the single exit, and it works once.
71
+ */
72
+ export class Secret {
73
+ #value;
74
+ constructor(value) {
75
+ this.#value = value;
76
+ }
77
+ /** Consume the secret. A second call is a bug, not a second read. */
78
+ take() {
79
+ const value = this.#value;
80
+ if (value === undefined) {
81
+ throw new Error("Secret has already been consumed");
82
+ }
83
+ this.#value = undefined;
84
+ return value;
85
+ }
86
+ toString() {
87
+ throw new Error("A Secret cannot be converted to a string; use take()");
88
+ }
89
+ toJSON() {
90
+ throw new Error("A Secret cannot be serialized; use take()");
91
+ }
92
+ [Symbol.toPrimitive]() {
93
+ throw new Error("A Secret cannot be interpolated; use take()");
94
+ }
95
+ [inspect.custom]() {
96
+ return "[Secret]";
97
+ }
98
+ }
99
+ /**
100
+ * The single credential egress in `src`.
101
+ *
102
+ * `Secret.take()` is called here and nowhere else in the source tree, so this
103
+ * is the one statement that can turn a configured credential back into a string
104
+ * and the one that hands it to the real stdout. A caller — `main.ts` included —
105
+ * receives a `Secret` it cannot read, print, or serialize, so a second export
106
+ * path cannot be grafted on without moving this function.
107
+ *
108
+ * A failed payload write is answered from the stream rather than from the shape
109
+ * of the error, because `bytesWritten` says how much of the credential actually
110
+ * left and the right report differs for each amount.
111
+ *
112
+ * Nothing left — the write call threw, or the callback failed with the counter
113
+ * unmoved — is `CredentialNotEmitted` (exit 8) with stdout provably empty,
114
+ * which is what that exit promises. It must not fall through to the caller's
115
+ * credential-resolution catch, which would report exit 2.
116
+ *
117
+ * All of it left and the failure came after: the caller holds the credential it
118
+ * asked for, so this is reported on stderr with the exit code left at 0, for
119
+ * the same reason the trailing drain is. A non-zero exit over a stream carrying
120
+ * a whole credential is the thing this door never produces.
121
+ *
122
+ * Part of it left is neither. Those bytes cannot be recalled, so stdout is not
123
+ * empty and cannot be made empty; but they are a fragment, not a credential,
124
+ * and reporting success over them would hand a caller a truncated secret it
125
+ * cannot tell from a whole one. That case gets `CredentialTruncated` (exit 9),
126
+ * the one code in this taxonomy whose contract is *not* an empty stdout —
127
+ * stated as such in `EXIT_CODES` and asserted through `STDOUT_EMPTY_ON_EXIT`,
128
+ * rather than left for a caller to discover.
129
+ *
130
+ * `test/credential-print.test.ts` asserts that chokepoint against the whole of
131
+ * `packages/coding-agent/src`.
132
+ */
133
+ export async function emitCredential(secret) {
134
+ // take() returns a plain string; the Secret itself is never interpolated.
135
+ const payload = `${secret.take()}\n`;
136
+ try {
137
+ await writeRawStdoutOnce(payload);
138
+ }
139
+ catch (error) {
140
+ if (error instanceof RawStdoutWriteError && error.emitted === "all") {
141
+ // The caller holds the whole credential. Exiting non-zero here would be
142
+ // a non-zero exit over a stream carrying it, which this door never does.
143
+ console.error(`Warning: the credential reached stdout but the write did not complete cleanly: ${error.message}`);
144
+ return;
145
+ }
146
+ if (error instanceof RawStdoutWriteError && error.emitted === "partial") {
147
+ throw new CredentialPrintError("CredentialTruncated", "Only part of the credential reached stdout; discard the output, it is not a usable credential", { cause: error });
148
+ }
149
+ throw new CredentialPrintError("CredentialNotEmitted", "Failed to write the credential to stdout; nothing was emitted", { cause: error });
150
+ }
151
+ try {
152
+ await flushRawStdout();
153
+ }
154
+ catch (error) {
155
+ console.error(`Warning: the credential was written to stdout but the stream did not drain cleanly: ${error instanceof Error ? error.message : String(error)}`);
156
+ }
157
+ }
158
+ /**
159
+ * The single place a thrown value becomes an exit code for this door.
160
+ *
161
+ * `main.ts` routes every failure through here. Every code it can produce leaves
162
+ * stdout empty, so an exit code from this door never contradicts the stream.
163
+ */
164
+ export function toCredentialPrintError(error) {
165
+ if (error instanceof CredentialPrintError)
166
+ return error;
167
+ return new CredentialPrintError("NoCredentialConfigured", error instanceof Error ? error.message : "Failed to resolve credential", { cause: error });
168
+ }
169
+ export function isCredentialPrintHelp(args) {
170
+ return (args[0] === "auth" && (args[1] === undefined || args[1] === "help" || args[1] === "--help" || args[1] === "-h"));
171
+ }
172
+ export function printCredentialPrintHelp() {
173
+ // Branded through APP_NAME: Atomic's binary is `atomic`, and help output must
174
+ // never render upstream's `pi`.
175
+ console.error(`Usage:
176
+ ${APP_NAME} auth print-api-key --model <model> [--provider <provider>]
177
+ ${APP_NAME} auth print-bearer-token --model <model> [--provider <provider>] [--min-expiry <duration>]
178
+
179
+ Prints one configured credential alone on stdout. Everything else — warnings,
180
+ provider selection, refresh notices — goes to stderr, and stdout stays empty on
181
+ every failure but exit 9, which reports that it could not be.
182
+
183
+ --model is required: there is no ambient "current model". Provider inference
184
+ uses configured credentials; pass --provider to select one explicitly.
185
+
186
+ --min-expiry accepts ms, s, m, or h (for example 30m) and applies only to
187
+ print-bearer-token, where it defaults to 30m. A token with less than that
188
+ remaining is refreshed first.
189
+
190
+ Exit codes:
191
+ 0 credential written to stdout
192
+ 1 usage error
193
+ 2 no credential configured
194
+ 3 provider ambiguous
195
+ 4 credential kind unsupported for that provider
196
+ 5 refresh failed (the stored credential is left untouched)
197
+ 6 provider cannot mint a token that lives long enough
198
+ 7 the provider's OAuth credential could not be used
199
+ 8 the credential could not be written (nothing was emitted)
200
+ 9 the credential was written only in part; stdout holds an unusable
201
+ fragment, which the caller must discard rather than use`);
202
+ }
203
+ function parseDuration(value) {
204
+ const match = value ? /^(\d+)(ms|s|m|h)$/iu.exec(value) : undefined;
205
+ if (!match) {
206
+ throw new CredentialPrintError("Usage", "--min-expiry must use a duration such as 30m or 1h");
207
+ }
208
+ const unit = match[2].toLowerCase();
209
+ const scale = unit === "ms" ? 1 : unit === "s" ? 1_000 : unit === "m" ? 60_000 : 3_600_000;
210
+ return Number(match[1]) * scale;
211
+ }
212
+ /** Parse the `auth` command surface before normal startup. */
213
+ export function parseCredentialPrintCommand(args) {
214
+ if (args[0] !== "auth")
215
+ return undefined;
216
+ const kind = args[1] === "print-api-key" ? "api_key" : args[1] === "print-bearer-token" ? "bearer_token" : undefined;
217
+ if (!kind) {
218
+ throw new CredentialPrintError("Usage", `Unknown auth command "${args[1] ?? ""}". Use "${APP_NAME} auth print-api-key" or "${APP_NAME} auth print-bearer-token".`);
219
+ }
220
+ const INLINE_MIN_EXPIRY = "--min-expiry=";
221
+ const commandArgs = [];
222
+ let minExpiryMs;
223
+ for (let index = 2; index < args.length; index++) {
224
+ const arg = args[index];
225
+ const inline = arg.startsWith(INLINE_MIN_EXPIRY) ? arg.slice(INLINE_MIN_EXPIRY.length) : undefined;
226
+ if (arg !== "--min-expiry" && inline === undefined) {
227
+ commandArgs.push(arg);
228
+ continue;
229
+ }
230
+ // An API key has no expiry, so the option is an error rather than a
231
+ // silently ignored no-op that would imply a guarantee it cannot give.
232
+ // Both spellings are refused: `--min-expiry=30m` reaching the ordinary
233
+ // parser as an unknown flag would report the wrong cause.
234
+ if (kind !== "bearer_token") {
235
+ throw new CredentialPrintError("Usage", "--min-expiry is only supported by print-bearer-token");
236
+ }
237
+ minExpiryMs = parseDuration(inline ?? args[++index]);
238
+ }
239
+ return minExpiryMs === undefined ? { kind, args: commandArgs } : { kind, args: commandArgs, minExpiryMs };
240
+ }
241
+ /**
242
+ * The only two fields of `Args` this door accepts.
243
+ *
244
+ * Validation is an allowlist rather than a list of refusals, because the
245
+ * refusal list only held while the dispatcher happened to ignore every other
246
+ * flag. `--export <path>`, `--session-dir <path>`, `--print`, and `--help` are
247
+ * all parsed by `parseArgs`; under an exclusion check they passed silently and
248
+ * the door's "no file sink" guarantee rested on a downstream accident.
249
+ */
250
+ const ACCEPTED_ARG_FIELDS = new Set(["model", "provider"]);
251
+ /** Names every field of a parsed `Args` that the caller actually set. */
252
+ function populatedArgFields(args) {
253
+ const populated = [];
254
+ for (const [field, value] of Object.entries(args)) {
255
+ if (ACCEPTED_ARG_FIELDS.has(field) || value === undefined)
256
+ continue;
257
+ if (Array.isArray(value)) {
258
+ if (value.length > 0)
259
+ populated.push(field);
260
+ }
261
+ else if (value instanceof Map) {
262
+ if (value.size > 0)
263
+ populated.push(field);
264
+ }
265
+ else {
266
+ populated.push(field);
267
+ }
268
+ }
269
+ return populated;
270
+ }
271
+ export function validateCredentialPrintArgs(args) {
272
+ if (!args.model?.trim()) {
273
+ throw new CredentialPrintError("Usage", "Credential printing requires --model <model>");
274
+ }
275
+ if (args.apiKey !== undefined) {
276
+ throw new CredentialPrintError("Usage", "Credential printing reads configured credentials; --api-key is not supported");
277
+ }
278
+ const refused = populatedArgFields(args);
279
+ if (refused.length > 0) {
280
+ throw new CredentialPrintError("Usage", `Credential printing only accepts --provider and --model (refused: ${refused.join(", ")})`);
281
+ }
282
+ }
283
+ /**
284
+ * Provider-supplied text with anything credential-bearing masked.
285
+ *
286
+ * A failed refresh is reported on stderr, and the provider composes that
287
+ * message. Most describe the failure; some quote the request they sent or the
288
+ * body they got back, either of which can carry the very value this door exists
289
+ * to keep off every stream except stdout. Masking keeps the diagnosis — which
290
+ * is what makes the exit code actionable — without putting the secret in a log,
291
+ * a terminal scrollback, or a CI transcript.
292
+ *
293
+ * Two passes, because either alone leaves a gap. Shape catches a value wherever
294
+ * it appears, but only for the formats that announce themselves. Context
295
+ * catches an opaque value — an `x-api-key`, which is just bytes — by the name it
296
+ * is filed under, in the header, JSON, and query spellings a quoted request or
297
+ * response body uses.
298
+ */
299
+ const CREDENTIAL_SHAPES = [
300
+ // `Authorization: Bearer <token>`, the form an echoed request header takes.
301
+ /\bBearer\s+[\w.~+/-]+=*/giu,
302
+ // JWTs, which several providers return verbatim in an error body.
303
+ /\beyJ[\w-]{8,}\.[\w-]{8,}\.[\w-]+/gu,
304
+ // Prefixed API keys: sk-…, sk_live_…, api-key-…, and the same shapes again.
305
+ /\b(?:sk|pk|rk|api|key|tok|token|secret)[-_][\w-]{12,}/giu,
306
+ ];
307
+ /**
308
+ * Field names whose value is the credential, however opaque that value looks.
309
+ * `x-api-key` is the case shape-matching cannot reach: the value is just bytes.
310
+ */
311
+ const CREDENTIAL_FIELD_NAME = "(?:x-)?(?:api[-_]?key|apikey|auth(?:orization)?|access[-_]?token|refresh[-_]?token|id[-_]?token|client[-_]?secret|secret[-_]?key|private[-_]?key|session[-_]?key|password|passwd|token|secret|key)";
312
+ /**
313
+ * Auth schemes that stand between the field name and the value it introduces.
314
+ *
315
+ * Without them the header matcher stops at the space after `Bearer`: it redacts
316
+ * the scheme and leaves the token, and having consumed the `Bearer` the shape
317
+ * pass depends on, that pass can no longer reach the token either. An opaque
318
+ * `Authorization: Bearer <token>` then survives both passes.
319
+ */
320
+ const CREDENTIAL_AUTH_SCHEME = "(?:Bearer|Basic|Digest|Token|ApiKey|OAuth)";
321
+ const CREDENTIAL_CONTEXTS = [
322
+ // Header or YAML-ish: `x-api-key: abc123`, to end of line, and the scheme
323
+ // form `Authorization: Bearer abc123` with it.
324
+ new RegExp(String.raw `\b${CREDENTIAL_FIELD_NAME}\s*:\s*(?:${CREDENTIAL_AUTH_SCHEME}\s+)?[^\s,;}"']+`, "giu"),
325
+ // JSON: `"api_key": "abc123"` / `'token':'abc123'`, quoted value.
326
+ new RegExp(String.raw `(["']?)${CREDENTIAL_FIELD_NAME}\1\s*:\s*(["'])(?:(?!\2).)*\2`, "giu"),
327
+ // Query string or form body: `?api_key=abc123&…`.
328
+ new RegExp(String.raw `\b${CREDENTIAL_FIELD_NAME}\s*=\s*[^\s&,;}"']+`, "giu"),
329
+ ];
330
+ export function redactCredentialShapes(text) {
331
+ const byContext = CREDENTIAL_CONTEXTS.reduce((masked, context) => masked.replace(context, (match) => {
332
+ // Keep the field name so the diagnosis still says which one failed;
333
+ // replace only what follows the separator.
334
+ const separator = /[:=]/u.exec(match);
335
+ return separator ? `${match.slice(0, separator.index + 1)} [redacted]` : "[redacted]";
336
+ }), text);
337
+ return CREDENTIAL_SHAPES.reduce((masked, shape) => masked.replace(shape, "[redacted]"), byContext);
338
+ }
339
+ /**
340
+ * The literal phrase pi-ai throws when a refresh itself failed, from inside
341
+ * `credentials.modify` and therefore before anything is persisted. This is the
342
+ * only oauth-coded error that can claim the stored credential was left alone.
343
+ */
344
+ export const OAUTH_REFRESH_FAILED_PHRASE = "OAuth refresh failed for";
345
+ /**
346
+ * The literal phrase pi-ai throws when a refresh succeeded but the rotated
347
+ * token still expires inside the requested window. It is the only signal that
348
+ * separates exit 6 from exit 5.
349
+ */
350
+ export const OAUTH_EXPIRES_TOO_SOON_PHRASE = "expires too soon";
351
+ /**
352
+ * pi-ai raises three different `oauth`-coded failures from
353
+ * `dist/auth/resolve.js`, and only one of them is a failed refresh.
354
+ *
355
+ * `OAuth auth derivation failed for <provider>` is thrown after
356
+ * `credentials.modify` has already persisted a rotated credential, and also on
357
+ * the branch where no refresh was attempted at all — so it gets its own code
358
+ * and a message that makes no claim about the stored credential. Treating it as
359
+ * `RefreshFailed` asserted a rollback the command never verified.
360
+ *
361
+ * Classification reads the raw message, because redaction could rewrite the
362
+ * phrase it matches on; only the text that becomes a user-facing message is
363
+ * redacted. The unredacted error stays reachable as `cause`, which this door
364
+ * never logs.
365
+ *
366
+ * `test/credential-print.test.ts` pins both phrases against the installed
367
+ * pi-ai build, so an upstream rewording fails the suite rather than silently
368
+ * collapsing exit 6 into exit 5.
369
+ */
370
+ export function classifyOAuthFailure(error) {
371
+ const detail = redactCredentialShapes(error.message);
372
+ if (error.message.includes(OAUTH_EXPIRES_TOO_SOON_PHRASE)) {
373
+ return new CredentialPrintError("MinValidityUnreachable", `The provider refreshed the token but it still expires sooner than requested: ${detail}`, { cause: error });
374
+ }
375
+ if (error.message.startsWith(OAUTH_REFRESH_FAILED_PHRASE)) {
376
+ return new CredentialPrintError("RefreshFailed", `${detail} (the stored credential was left untouched)`, {
377
+ cause: error,
378
+ });
379
+ }
380
+ return new CredentialPrintError("OAuthUnavailable", detail, { cause: error });
381
+ }
382
+ /**
383
+ * Providers whose credential the caller could have meant.
384
+ *
385
+ * With `--provider` the caller named one, so failing to resolve it is an error.
386
+ * Without it, eligibility is *not* narrowed to providers holding a persisted
387
+ * credential: a provider authenticated by an environment variable or a custom
388
+ * resolver has nothing in `auth.json`, and filtering on that list dropped it
389
+ * before `getAuth()` could produce its working key. Candidacy is therefore
390
+ * "offers the named model", and `getAuth()` — the same call a real request
391
+ * makes — decides which candidate actually authenticates.
392
+ */
393
+ function candidateModels(args, modelRuntime) {
394
+ if (args.provider) {
395
+ const resolved = resolveCliModel({ cliProvider: args.provider, cliModel: args.model, modelRuntime });
396
+ if (resolved.error || !resolved.model) {
397
+ throw new CredentialPrintError("NoCredentialConfigured", resolved.error ?? "Unable to resolve the requested provider/model");
398
+ }
399
+ return [resolved.model];
400
+ }
401
+ const models = [];
402
+ for (const provider of modelRuntime.getProviders()) {
403
+ const resolved = resolveCliModel({ cliProvider: provider.id, cliModel: args.model, modelRuntime });
404
+ if (resolved.model && !resolved.error && !resolved.warning?.includes("Using custom model id")) {
405
+ models.push(resolved.model);
406
+ }
407
+ }
408
+ if (models.length === 0) {
409
+ throw new CredentialPrintError("NoCredentialConfigured", `Model "${args.model}" not found among the available providers. Use --list-models to see available models.`);
410
+ }
411
+ return models;
412
+ }
413
+ function bearerFromHeaders(headers) {
414
+ const authorization = Object.entries(headers ?? {}).find(([name]) => name.toLowerCase() === "authorization")?.[1];
415
+ return typeof authorization === "string" ? /^Bearer\s+(.+)$/iu.exec(authorization)?.[1] : undefined;
416
+ }
417
+ /**
418
+ * Resolve exactly one credential for a named provider/model pair.
419
+ *
420
+ * Goes through `ModelRuntime.getAuth()`, the same request-auth path a real
421
+ * model call uses, so an OAuth credential is refreshed and persisted by the one
422
+ * implementation that already handles concurrent refresh under a lock.
423
+ */
424
+ export async function resolveCredentialForPrint(args, modelRuntime, kind, minExpiryMs) {
425
+ validateCredentialPrintArgs(args);
426
+ // The effective auth type per candidate provider, taken from the runtime
427
+ // rather than from auth.json.
428
+ //
429
+ // `checkAuth` reports what a provider would actually authenticate with,
430
+ // including a credential supplied by an environment variable or a custom
431
+ // resolver that persists nothing, and it answers without refreshing OAuth.
432
+ // `listCredentials()` sees only what was stored, which both hid working
433
+ // credentials and — for a provider offering an API key *and* OAuth — could not
434
+ // say which of the two a request would use. Provider capability cannot say
435
+ // either: several providers send an API key as `Authorization: Bearer`, so
436
+ // neither that header nor `apiKey` identifies the credential's kind on its own.
437
+ const wantedAuthType = kind === "api_key" ? "api_key" : "oauth";
438
+ const resolvedAuthTypes = new Map();
439
+ const models = candidateModels(args, modelRuntime);
440
+ for (const { provider } of models) {
441
+ if (resolvedAuthTypes.has(provider))
442
+ continue;
443
+ resolvedAuthTypes.set(provider, (await modelRuntime.checkAuth(provider))?.type);
444
+ }
445
+ // A named provider, or a single candidate, is the one the caller meant, so its
446
+ // authentication failure is reported with its own exit code. Among several
447
+ // inferred candidates a failure only means "not this one" — reporting it would
448
+ // let an unrelated provider that happens to offer the model decide the exit
449
+ // code for a request another candidate can satisfy.
450
+ const authFailureIsFatal = args.provider !== undefined || models.length === 1;
451
+ const credentials = [];
452
+ // The classified diagnosis from a candidate that could not authenticate.
453
+ // Skipping a candidate must not discard why it failed: a refresh that failed,
454
+ // or a token that cannot reach the requested validity, is the real answer if
455
+ // nothing else produces a credential, and keeping it is what leaves exits 5
456
+ // and 6 reachable instead of collapsing every inferred failure into exit 2.
457
+ // It holds a `CredentialPrintError`, never a credential — the provider's text
458
+ // is redacted on the way in.
459
+ let deferredDiagnosis;
460
+ for (const model of models) {
461
+ const type = resolvedAuthTypes.get(model.provider);
462
+ if (type !== wantedAuthType)
463
+ continue;
464
+ // Every eligible candidate is asked here, before `ProviderAmbiguous` is
465
+ // known, so an ambiguous export can refresh and persist credentials it
466
+ // emits nothing for. Deciding eligibility earlier is not available:
467
+ // `checkAuth()` is the only non-mutating probe and cannot tell a candidate
468
+ // that will authenticate from one that will fail, which is what keeps
469
+ // exits 5 and 6 reachable. Nor does resolving without refreshing exist —
470
+ // `resolveStoredOAuth` in `@earendil-works/pi-ai` refreshes whenever the
471
+ // token falls inside `max(DEFAULT_OAUTH_MINIMUM_VALIDITY_MS,
472
+ // minOAuthValidityMs ?? 0)`, so omitting `minOAuthValidityMs` only lowers
473
+ // that window to five minutes and drops the post-refresh check exit 6 is
474
+ // decided by. Bounded: the refresh rotates a valid credential, it does not
475
+ // invalidate one. Closing it needs a non-mutating probe upstream.
476
+ let auth;
477
+ try {
478
+ auth = await modelRuntime.getAuth(model, kind === "bearer_token" ? { minOAuthValidityMs: minExpiryMs ?? DEFAULT_BEARER_TOKEN_MIN_EXPIRY_MS } : {});
479
+ }
480
+ catch (error) {
481
+ const diagnosis = error instanceof ModelsError && error.code === "oauth" ? classifyOAuthFailure(error) : undefined;
482
+ if (!authFailureIsFatal) {
483
+ deferredDiagnosis ??= diagnosis;
484
+ continue;
485
+ }
486
+ if (diagnosis)
487
+ throw diagnosis;
488
+ throw new CredentialPrintError("NoCredentialConfigured", redactCredentialShapes(error instanceof Error ? error.message : String(error)), { cause: error });
489
+ }
490
+ const value = kind === "bearer_token" ? (auth?.auth.apiKey ?? bearerFromHeaders(auth?.auth.headers)) : auth?.auth.apiKey;
491
+ if (value)
492
+ credentials.push({ providerId: model.provider, value });
493
+ }
494
+ if (credentials.length === 1)
495
+ return new Secret(credentials[0].value);
496
+ if (credentials.length === 0) {
497
+ if (deferredDiagnosis)
498
+ throw deferredDiagnosis;
499
+ const providerId = models[0]?.provider;
500
+ const type = providerId ? resolvedAuthTypes.get(providerId) : undefined;
501
+ if (args.provider && kind === "api_key" && type === "oauth") {
502
+ throw new CredentialPrintError("KindUnsupportedForProvider", `Provider "${providerId}" is configured with OAuth, not an API key`);
503
+ }
504
+ if (args.provider && kind === "bearer_token" && type === "api_key") {
505
+ throw new CredentialPrintError("KindUnsupportedForProvider", `Provider "${providerId}" is not configured with an OAuth bearer token`);
506
+ }
507
+ throw new CredentialPrintError("NoCredentialConfigured", `No usable ${kind === "api_key" ? "API key" : "OAuth bearer token"} is configured`);
508
+ }
509
+ throw new CredentialPrintError("ProviderAmbiguous", `Model "${args.model}" has multiple configured providers (${credentials
510
+ .map(({ providerId }) => providerId)
511
+ .join(", ")}). Specify --provider.`);
512
+ }
513
+ //# sourceMappingURL=credential-print.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-print.js","sourceRoot":"","sources":["../../src/cli/credential-print.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * `atomic auth print-api-key` / `atomic auth print-bearer-token`.\n *\n * The only door in Atomic whose purpose is emitting a secret. Everything here\n * exists to keep that egress narrow:\n *\n * - the secret leaves as a `Secret`, which cannot be interpolated, serialized,\n * or inspected, and is consumed exactly once by the stdout writer;\n * - `--model` is required, so no ambient \"current model\" can emit a credential\n * the caller did not name;\n * - there is no `--output <file>` and no clipboard path — stdout only;\n * - every failure is a distinct exit code, and stdout stays empty on all of\n * them but one — `CredentialTruncated` (exit 9) exists to report the case\n * where it cannot be, because bytes already left and cannot be recalled;\n * - a failed OAuth refresh never mutates the stored credential.\n *\n * One residual, and it is upstream: when a model infers several eligible\n * providers, each is asked for its credential before the ambiguity is known, so\n * a *successful* refresh can rotate and persist a credential this command then\n * declines to emit (exit 3). See the note on the `getAuth()` call in the\n * candidate loop.\n */\n\nimport { inspect } from \"node:util\";\nimport type { Api, AuthType, Model } from \"@earendil-works/pi-ai\";\nimport { ModelsError } from \"@earendil-works/pi-ai\";\nimport { APP_NAME } from \"../config.ts\";\nimport { resolveCliModel } from \"../core/model-resolver.ts\";\nimport type { ModelRuntime } from \"../core/model-runtime.ts\";\nimport { flushRawStdout, RawStdoutWriteError, writeRawStdoutOnce } from \"../core/output-guard.ts\";\nimport type { Args } from \"./args.ts\";\n\nexport type CredentialPrintKind = \"api_key\" | \"bearer_token\";\n\n/** Bearer tokens are refreshed unless they still have this much life left. */\nexport const DEFAULT_BEARER_TOKEN_MIN_EXPIRY_MS = 30 * 60_000;\n\n/**\n * Failure taxonomy. Each member owns one exit code, so a caller can branch on\n * the status without parsing stderr.\n */\nexport type CredentialPrintErrorCode =\n\t| \"Usage\"\n\t| \"NoCredentialConfigured\"\n\t| \"ProviderAmbiguous\"\n\t| \"KindUnsupportedForProvider\"\n\t| \"RefreshFailed\"\n\t| \"MinValidityUnreachable\"\n\t| \"OAuthUnavailable\"\n\t| \"CredentialNotEmitted\"\n\t| \"CredentialTruncated\";\n\n/**\n * Exported so a test can walk the whole taxonomy: every declared code has to\n * name an exercised path, and the record type makes a new member without an\n * exit code a compile error rather than a review miss.\n *\n * Every one of these leaves stdout empty except `CredentialTruncated`, which\n * exists to report the one case where it cannot be: bytes already went out and\n * cannot be recalled. `STDOUT_EMPTY_ON_EXIT` names that split so the taxonomy\n * test asserts it rather than assuming it.\n */\nexport const EXIT_CODES: Record<CredentialPrintErrorCode, number> = {\n\tUsage: 1,\n\tNoCredentialConfigured: 2,\n\tProviderAmbiguous: 3,\n\tKindUnsupportedForProvider: 4,\n\tRefreshFailed: 5,\n\tMinValidityUnreachable: 6,\n\tOAuthUnavailable: 7,\n\tCredentialNotEmitted: 8,\n\tCredentialTruncated: 9,\n};\n\n/** The codes whose contract is an empty stdout. See `EXIT_CODES`. */\nexport const STDOUT_EMPTY_ON_EXIT: ReadonlySet<CredentialPrintErrorCode> = new Set(\n\t(Object.keys(EXIT_CODES) as CredentialPrintErrorCode[]).filter((code) => code !== \"CredentialTruncated\"),\n);\n\nexport class CredentialPrintError extends Error {\n\treadonly code: CredentialPrintErrorCode;\n\treadonly exitCode: number;\n\n\tconstructor(code: CredentialPrintErrorCode, message: string, options?: { cause?: unknown }) {\n\t\tsuper(message, options);\n\t\tthis.name = \"CredentialPrintError\";\n\t\tthis.code = code;\n\t\tthis.exitCode = EXIT_CODES[code];\n\t}\n}\n\n/**\n * A credential in transit.\n *\n * Every path that would copy the value into a string is closed: `toString`,\n * `toJSON`, and `Symbol.toPrimitive` throw rather than return, so a template\n * literal, `JSON.stringify`, or string concatenation fails loudly instead of\n * leaking into a log line, a transcript, or an error message. `inspect` — which\n * `console.log` and Node's error formatting use — renders a placeholder.\n *\n * `take()` is the single exit, and it works once.\n */\nexport class Secret {\n\t#value: string | undefined;\n\n\tconstructor(value: string) {\n\t\tthis.#value = value;\n\t}\n\n\t/** Consume the secret. A second call is a bug, not a second read. */\n\ttake(): string {\n\t\tconst value = this.#value;\n\t\tif (value === undefined) {\n\t\t\tthrow new Error(\"Secret has already been consumed\");\n\t\t}\n\t\tthis.#value = undefined;\n\t\treturn value;\n\t}\n\n\ttoString(): never {\n\t\tthrow new Error(\"A Secret cannot be converted to a string; use take()\");\n\t}\n\n\ttoJSON(): never {\n\t\tthrow new Error(\"A Secret cannot be serialized; use take()\");\n\t}\n\n\t[Symbol.toPrimitive](): never {\n\t\tthrow new Error(\"A Secret cannot be interpolated; use take()\");\n\t}\n\n\t[inspect.custom](): string {\n\t\treturn \"[Secret]\";\n\t}\n}\n\n/**\n * The single credential egress in `src`.\n *\n * `Secret.take()` is called here and nowhere else in the source tree, so this\n * is the one statement that can turn a configured credential back into a string\n * and the one that hands it to the real stdout. A caller — `main.ts` included —\n * receives a `Secret` it cannot read, print, or serialize, so a second export\n * path cannot be grafted on without moving this function.\n *\n * A failed payload write is answered from the stream rather than from the shape\n * of the error, because `bytesWritten` says how much of the credential actually\n * left and the right report differs for each amount.\n *\n * Nothing left — the write call threw, or the callback failed with the counter\n * unmoved — is `CredentialNotEmitted` (exit 8) with stdout provably empty,\n * which is what that exit promises. It must not fall through to the caller's\n * credential-resolution catch, which would report exit 2.\n *\n * All of it left and the failure came after: the caller holds the credential it\n * asked for, so this is reported on stderr with the exit code left at 0, for\n * the same reason the trailing drain is. A non-zero exit over a stream carrying\n * a whole credential is the thing this door never produces.\n *\n * Part of it left is neither. Those bytes cannot be recalled, so stdout is not\n * empty and cannot be made empty; but they are a fragment, not a credential,\n * and reporting success over them would hand a caller a truncated secret it\n * cannot tell from a whole one. That case gets `CredentialTruncated` (exit 9),\n * the one code in this taxonomy whose contract is *not* an empty stdout —\n * stated as such in `EXIT_CODES` and asserted through `STDOUT_EMPTY_ON_EXIT`,\n * rather than left for a caller to discover.\n *\n * `test/credential-print.test.ts` asserts that chokepoint against the whole of\n * `packages/coding-agent/src`.\n */\nexport async function emitCredential(secret: Secret): Promise<void> {\n\t// take() returns a plain string; the Secret itself is never interpolated.\n\tconst payload = `${secret.take()}\\n`;\n\ttry {\n\t\tawait writeRawStdoutOnce(payload);\n\t} catch (error) {\n\t\tif (error instanceof RawStdoutWriteError && error.emitted === \"all\") {\n\t\t\t// The caller holds the whole credential. Exiting non-zero here would be\n\t\t\t// a non-zero exit over a stream carrying it, which this door never does.\n\t\t\tconsole.error(\n\t\t\t\t`Warning: the credential reached stdout but the write did not complete cleanly: ${error.message}`,\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tif (error instanceof RawStdoutWriteError && error.emitted === \"partial\") {\n\t\t\tthrow new CredentialPrintError(\n\t\t\t\t\"CredentialTruncated\",\n\t\t\t\t\"Only part of the credential reached stdout; discard the output, it is not a usable credential\",\n\t\t\t\t{ cause: error },\n\t\t\t);\n\t\t}\n\t\tthrow new CredentialPrintError(\n\t\t\t\"CredentialNotEmitted\",\n\t\t\t\"Failed to write the credential to stdout; nothing was emitted\",\n\t\t\t{ cause: error },\n\t\t);\n\t}\n\ttry {\n\t\tawait flushRawStdout();\n\t} catch (error) {\n\t\tconsole.error(\n\t\t\t`Warning: the credential was written to stdout but the stream did not drain cleanly: ${\n\t\t\t\terror instanceof Error ? error.message : String(error)\n\t\t\t}`,\n\t\t);\n\t}\n}\n\n/**\n * The single place a thrown value becomes an exit code for this door.\n *\n * `main.ts` routes every failure through here. Every code it can produce leaves\n * stdout empty, so an exit code from this door never contradicts the stream.\n */\nexport function toCredentialPrintError(error: unknown): CredentialPrintError {\n\tif (error instanceof CredentialPrintError) return error;\n\treturn new CredentialPrintError(\n\t\t\"NoCredentialConfigured\",\n\t\terror instanceof Error ? error.message : \"Failed to resolve credential\",\n\t\t{ cause: error },\n\t);\n}\n\nexport interface CredentialPrintCommand {\n\tkind: CredentialPrintKind;\n\t/** Remaining argv for the normal parser (`--model`, `--provider`). */\n\targs: string[];\n\tminExpiryMs?: number;\n}\n\nexport function isCredentialPrintHelp(args: string[]): boolean {\n\treturn (\n\t\targs[0] === \"auth\" && (args[1] === undefined || args[1] === \"help\" || args[1] === \"--help\" || args[1] === \"-h\")\n\t);\n}\n\nexport function printCredentialPrintHelp(): void {\n\t// Branded through APP_NAME: Atomic's binary is `atomic`, and help output must\n\t// never render upstream's `pi`.\n\tconsole.error(`Usage:\n ${APP_NAME} auth print-api-key --model <model> [--provider <provider>]\n ${APP_NAME} auth print-bearer-token --model <model> [--provider <provider>] [--min-expiry <duration>]\n\nPrints one configured credential alone on stdout. Everything else — warnings,\nprovider selection, refresh notices — goes to stderr, and stdout stays empty on\nevery failure but exit 9, which reports that it could not be.\n\n--model is required: there is no ambient \"current model\". Provider inference\nuses configured credentials; pass --provider to select one explicitly.\n\n--min-expiry accepts ms, s, m, or h (for example 30m) and applies only to\nprint-bearer-token, where it defaults to 30m. A token with less than that\nremaining is refreshed first.\n\nExit codes:\n 0 credential written to stdout\n 1 usage error\n 2 no credential configured\n 3 provider ambiguous\n 4 credential kind unsupported for that provider\n 5 refresh failed (the stored credential is left untouched)\n 6 provider cannot mint a token that lives long enough\n 7 the provider's OAuth credential could not be used\n 8 the credential could not be written (nothing was emitted)\n 9 the credential was written only in part; stdout holds an unusable\n fragment, which the caller must discard rather than use`);\n}\n\nfunction parseDuration(value: string | undefined): number {\n\tconst match = value ? /^(\\d+)(ms|s|m|h)$/iu.exec(value) : undefined;\n\tif (!match) {\n\t\tthrow new CredentialPrintError(\"Usage\", \"--min-expiry must use a duration such as 30m or 1h\");\n\t}\n\tconst unit = match[2].toLowerCase();\n\tconst scale = unit === \"ms\" ? 1 : unit === \"s\" ? 1_000 : unit === \"m\" ? 60_000 : 3_600_000;\n\treturn Number(match[1]) * scale;\n}\n\n/** Parse the `auth` command surface before normal startup. */\nexport function parseCredentialPrintCommand(args: string[]): CredentialPrintCommand | undefined {\n\tif (args[0] !== \"auth\") return undefined;\n\n\tconst kind: CredentialPrintKind | undefined =\n\t\targs[1] === \"print-api-key\" ? \"api_key\" : args[1] === \"print-bearer-token\" ? \"bearer_token\" : undefined;\n\tif (!kind) {\n\t\tthrow new CredentialPrintError(\n\t\t\t\"Usage\",\n\t\t\t`Unknown auth command \"${args[1] ?? \"\"}\". Use \"${APP_NAME} auth print-api-key\" or \"${APP_NAME} auth print-bearer-token\".`,\n\t\t);\n\t}\n\n\tconst INLINE_MIN_EXPIRY = \"--min-expiry=\";\n\tconst commandArgs: string[] = [];\n\tlet minExpiryMs: number | undefined;\n\tfor (let index = 2; index < args.length; index++) {\n\t\tconst arg = args[index];\n\t\tconst inline = arg.startsWith(INLINE_MIN_EXPIRY) ? arg.slice(INLINE_MIN_EXPIRY.length) : undefined;\n\t\tif (arg !== \"--min-expiry\" && inline === undefined) {\n\t\t\tcommandArgs.push(arg);\n\t\t\tcontinue;\n\t\t}\n\t\t// An API key has no expiry, so the option is an error rather than a\n\t\t// silently ignored no-op that would imply a guarantee it cannot give.\n\t\t// Both spellings are refused: `--min-expiry=30m` reaching the ordinary\n\t\t// parser as an unknown flag would report the wrong cause.\n\t\tif (kind !== \"bearer_token\") {\n\t\t\tthrow new CredentialPrintError(\"Usage\", \"--min-expiry is only supported by print-bearer-token\");\n\t\t}\n\t\tminExpiryMs = parseDuration(inline ?? args[++index]);\n\t}\n\n\treturn minExpiryMs === undefined ? { kind, args: commandArgs } : { kind, args: commandArgs, minExpiryMs };\n}\n\n/**\n * The only two fields of `Args` this door accepts.\n *\n * Validation is an allowlist rather than a list of refusals, because the\n * refusal list only held while the dispatcher happened to ignore every other\n * flag. `--export <path>`, `--session-dir <path>`, `--print`, and `--help` are\n * all parsed by `parseArgs`; under an exclusion check they passed silently and\n * the door's \"no file sink\" guarantee rested on a downstream accident.\n */\nconst ACCEPTED_ARG_FIELDS: ReadonlySet<string> = new Set([\"model\", \"provider\"]);\n\n/** Names every field of a parsed `Args` that the caller actually set. */\nfunction populatedArgFields(args: Args): string[] {\n\tconst populated: string[] = [];\n\tfor (const [field, value] of Object.entries(args)) {\n\t\tif (ACCEPTED_ARG_FIELDS.has(field) || value === undefined) continue;\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length > 0) populated.push(field);\n\t\t} else if (value instanceof Map) {\n\t\t\tif (value.size > 0) populated.push(field);\n\t\t} else {\n\t\t\tpopulated.push(field);\n\t\t}\n\t}\n\treturn populated;\n}\n\nexport function validateCredentialPrintArgs(args: Args): void {\n\tif (!args.model?.trim()) {\n\t\tthrow new CredentialPrintError(\"Usage\", \"Credential printing requires --model <model>\");\n\t}\n\tif (args.apiKey !== undefined) {\n\t\tthrow new CredentialPrintError(\n\t\t\t\"Usage\",\n\t\t\t\"Credential printing reads configured credentials; --api-key is not supported\",\n\t\t);\n\t}\n\tconst refused = populatedArgFields(args);\n\tif (refused.length > 0) {\n\t\tthrow new CredentialPrintError(\n\t\t\t\"Usage\",\n\t\t\t`Credential printing only accepts --provider and --model (refused: ${refused.join(\", \")})`,\n\t\t);\n\t}\n}\n\n/**\n * Provider-supplied text with anything credential-bearing masked.\n *\n * A failed refresh is reported on stderr, and the provider composes that\n * message. Most describe the failure; some quote the request they sent or the\n * body they got back, either of which can carry the very value this door exists\n * to keep off every stream except stdout. Masking keeps the diagnosis — which\n * is what makes the exit code actionable — without putting the secret in a log,\n * a terminal scrollback, or a CI transcript.\n *\n * Two passes, because either alone leaves a gap. Shape catches a value wherever\n * it appears, but only for the formats that announce themselves. Context\n * catches an opaque value — an `x-api-key`, which is just bytes — by the name it\n * is filed under, in the header, JSON, and query spellings a quoted request or\n * response body uses.\n */\nconst CREDENTIAL_SHAPES: readonly RegExp[] = [\n\t// `Authorization: Bearer <token>`, the form an echoed request header takes.\n\t/\\bBearer\\s+[\\w.~+/-]+=*/giu,\n\t// JWTs, which several providers return verbatim in an error body.\n\t/\\beyJ[\\w-]{8,}\\.[\\w-]{8,}\\.[\\w-]+/gu,\n\t// Prefixed API keys: sk-…, sk_live_…, api-key-…, and the same shapes again.\n\t/\\b(?:sk|pk|rk|api|key|tok|token|secret)[-_][\\w-]{12,}/giu,\n];\n\n/**\n * Field names whose value is the credential, however opaque that value looks.\n * `x-api-key` is the case shape-matching cannot reach: the value is just bytes.\n */\nconst CREDENTIAL_FIELD_NAME =\n\t\"(?:x-)?(?:api[-_]?key|apikey|auth(?:orization)?|access[-_]?token|refresh[-_]?token|id[-_]?token|client[-_]?secret|secret[-_]?key|private[-_]?key|session[-_]?key|password|passwd|token|secret|key)\";\n\n/**\n * Auth schemes that stand between the field name and the value it introduces.\n *\n * Without them the header matcher stops at the space after `Bearer`: it redacts\n * the scheme and leaves the token, and having consumed the `Bearer` the shape\n * pass depends on, that pass can no longer reach the token either. An opaque\n * `Authorization: Bearer <token>` then survives both passes.\n */\nconst CREDENTIAL_AUTH_SCHEME = \"(?:Bearer|Basic|Digest|Token|ApiKey|OAuth)\";\n\nconst CREDENTIAL_CONTEXTS: readonly RegExp[] = [\n\t// Header or YAML-ish: `x-api-key: abc123`, to end of line, and the scheme\n\t// form `Authorization: Bearer abc123` with it.\n\tnew RegExp(String.raw`\\b${CREDENTIAL_FIELD_NAME}\\s*:\\s*(?:${CREDENTIAL_AUTH_SCHEME}\\s+)?[^\\s,;}\"']+`, \"giu\"),\n\t// JSON: `\"api_key\": \"abc123\"` / `'token':'abc123'`, quoted value.\n\tnew RegExp(String.raw`([\"']?)${CREDENTIAL_FIELD_NAME}\\1\\s*:\\s*([\"'])(?:(?!\\2).)*\\2`, \"giu\"),\n\t// Query string or form body: `?api_key=abc123&…`.\n\tnew RegExp(String.raw`\\b${CREDENTIAL_FIELD_NAME}\\s*=\\s*[^\\s&,;}\"']+`, \"giu\"),\n];\n\nexport function redactCredentialShapes(text: string): string {\n\tconst byContext = CREDENTIAL_CONTEXTS.reduce(\n\t\t(masked, context) =>\n\t\t\tmasked.replace(context, (match) => {\n\t\t\t\t// Keep the field name so the diagnosis still says which one failed;\n\t\t\t\t// replace only what follows the separator.\n\t\t\t\tconst separator = /[:=]/u.exec(match);\n\t\t\t\treturn separator ? `${match.slice(0, separator.index + 1)} [redacted]` : \"[redacted]\";\n\t\t\t}),\n\t\ttext,\n\t);\n\treturn CREDENTIAL_SHAPES.reduce((masked, shape) => masked.replace(shape, \"[redacted]\"), byContext);\n}\n\n/**\n * The literal phrase pi-ai throws when a refresh itself failed, from inside\n * `credentials.modify` and therefore before anything is persisted. This is the\n * only oauth-coded error that can claim the stored credential was left alone.\n */\nexport const OAUTH_REFRESH_FAILED_PHRASE = \"OAuth refresh failed for\";\n\n/**\n * The literal phrase pi-ai throws when a refresh succeeded but the rotated\n * token still expires inside the requested window. It is the only signal that\n * separates exit 6 from exit 5.\n */\nexport const OAUTH_EXPIRES_TOO_SOON_PHRASE = \"expires too soon\";\n\n/**\n * pi-ai raises three different `oauth`-coded failures from\n * `dist/auth/resolve.js`, and only one of them is a failed refresh.\n *\n * `OAuth auth derivation failed for <provider>` is thrown after\n * `credentials.modify` has already persisted a rotated credential, and also on\n * the branch where no refresh was attempted at all — so it gets its own code\n * and a message that makes no claim about the stored credential. Treating it as\n * `RefreshFailed` asserted a rollback the command never verified.\n *\n * Classification reads the raw message, because redaction could rewrite the\n * phrase it matches on; only the text that becomes a user-facing message is\n * redacted. The unredacted error stays reachable as `cause`, which this door\n * never logs.\n *\n * `test/credential-print.test.ts` pins both phrases against the installed\n * pi-ai build, so an upstream rewording fails the suite rather than silently\n * collapsing exit 6 into exit 5.\n */\nexport function classifyOAuthFailure(error: ModelsError): CredentialPrintError {\n\tconst detail = redactCredentialShapes(error.message);\n\tif (error.message.includes(OAUTH_EXPIRES_TOO_SOON_PHRASE)) {\n\t\treturn new CredentialPrintError(\n\t\t\t\"MinValidityUnreachable\",\n\t\t\t`The provider refreshed the token but it still expires sooner than requested: ${detail}`,\n\t\t\t{ cause: error },\n\t\t);\n\t}\n\tif (error.message.startsWith(OAUTH_REFRESH_FAILED_PHRASE)) {\n\t\treturn new CredentialPrintError(\"RefreshFailed\", `${detail} (the stored credential was left untouched)`, {\n\t\t\tcause: error,\n\t\t});\n\t}\n\treturn new CredentialPrintError(\"OAuthUnavailable\", detail, { cause: error });\n}\n\n/**\n * Providers whose credential the caller could have meant.\n *\n * With `--provider` the caller named one, so failing to resolve it is an error.\n * Without it, eligibility is *not* narrowed to providers holding a persisted\n * credential: a provider authenticated by an environment variable or a custom\n * resolver has nothing in `auth.json`, and filtering on that list dropped it\n * before `getAuth()` could produce its working key. Candidacy is therefore\n * \"offers the named model\", and `getAuth()` — the same call a real request\n * makes — decides which candidate actually authenticates.\n */\nfunction candidateModels(args: Args, modelRuntime: ModelRuntime): Model<Api>[] {\n\tif (args.provider) {\n\t\tconst resolved = resolveCliModel({ cliProvider: args.provider, cliModel: args.model, modelRuntime });\n\t\tif (resolved.error || !resolved.model) {\n\t\t\tthrow new CredentialPrintError(\n\t\t\t\t\"NoCredentialConfigured\",\n\t\t\t\tresolved.error ?? \"Unable to resolve the requested provider/model\",\n\t\t\t);\n\t\t}\n\t\treturn [resolved.model];\n\t}\n\n\tconst models: Model<Api>[] = [];\n\tfor (const provider of modelRuntime.getProviders()) {\n\t\tconst resolved = resolveCliModel({ cliProvider: provider.id, cliModel: args.model, modelRuntime });\n\t\tif (resolved.model && !resolved.error && !resolved.warning?.includes(\"Using custom model id\")) {\n\t\t\tmodels.push(resolved.model);\n\t\t}\n\t}\n\tif (models.length === 0) {\n\t\tthrow new CredentialPrintError(\n\t\t\t\"NoCredentialConfigured\",\n\t\t\t`Model \"${args.model}\" not found among the available providers. Use --list-models to see available models.`,\n\t\t);\n\t}\n\treturn models;\n}\n\nfunction bearerFromHeaders(headers: Record<string, unknown> | undefined): string | undefined {\n\tconst authorization = Object.entries(headers ?? {}).find(([name]) => name.toLowerCase() === \"authorization\")?.[1];\n\treturn typeof authorization === \"string\" ? /^Bearer\\s+(.+)$/iu.exec(authorization)?.[1] : undefined;\n}\n\n/**\n * Resolve exactly one credential for a named provider/model pair.\n *\n * Goes through `ModelRuntime.getAuth()`, the same request-auth path a real\n * model call uses, so an OAuth credential is refreshed and persisted by the one\n * implementation that already handles concurrent refresh under a lock.\n */\nexport async function resolveCredentialForPrint(\n\targs: Args,\n\tmodelRuntime: ModelRuntime,\n\tkind: CredentialPrintKind,\n\tminExpiryMs?: number,\n): Promise<Secret> {\n\tvalidateCredentialPrintArgs(args);\n\n\t// The effective auth type per candidate provider, taken from the runtime\n\t// rather than from auth.json.\n\t//\n\t// `checkAuth` reports what a provider would actually authenticate with,\n\t// including a credential supplied by an environment variable or a custom\n\t// resolver that persists nothing, and it answers without refreshing OAuth.\n\t// `listCredentials()` sees only what was stored, which both hid working\n\t// credentials and — for a provider offering an API key *and* OAuth — could not\n\t// say which of the two a request would use. Provider capability cannot say\n\t// either: several providers send an API key as `Authorization: Bearer`, so\n\t// neither that header nor `apiKey` identifies the credential's kind on its own.\n\tconst wantedAuthType: AuthType = kind === \"api_key\" ? \"api_key\" : \"oauth\";\n\tconst resolvedAuthTypes = new Map<string, AuthType | undefined>();\n\tconst models = candidateModels(args, modelRuntime);\n\tfor (const { provider } of models) {\n\t\tif (resolvedAuthTypes.has(provider)) continue;\n\t\tresolvedAuthTypes.set(provider, (await modelRuntime.checkAuth(provider))?.type);\n\t}\n\t// A named provider, or a single candidate, is the one the caller meant, so its\n\t// authentication failure is reported with its own exit code. Among several\n\t// inferred candidates a failure only means \"not this one\" — reporting it would\n\t// let an unrelated provider that happens to offer the model decide the exit\n\t// code for a request another candidate can satisfy.\n\tconst authFailureIsFatal = args.provider !== undefined || models.length === 1;\n\n\tconst credentials: Array<{ providerId: string; value: string }> = [];\n\t// The classified diagnosis from a candidate that could not authenticate.\n\t// Skipping a candidate must not discard why it failed: a refresh that failed,\n\t// or a token that cannot reach the requested validity, is the real answer if\n\t// nothing else produces a credential, and keeping it is what leaves exits 5\n\t// and 6 reachable instead of collapsing every inferred failure into exit 2.\n\t// It holds a `CredentialPrintError`, never a credential — the provider's text\n\t// is redacted on the way in.\n\tlet deferredDiagnosis: CredentialPrintError | undefined;\n\tfor (const model of models) {\n\t\tconst type = resolvedAuthTypes.get(model.provider);\n\t\tif (type !== wantedAuthType) continue;\n\n\t\t// Every eligible candidate is asked here, before `ProviderAmbiguous` is\n\t\t// known, so an ambiguous export can refresh and persist credentials it\n\t\t// emits nothing for. Deciding eligibility earlier is not available:\n\t\t// `checkAuth()` is the only non-mutating probe and cannot tell a candidate\n\t\t// that will authenticate from one that will fail, which is what keeps\n\t\t// exits 5 and 6 reachable. Nor does resolving without refreshing exist —\n\t\t// `resolveStoredOAuth` in `@earendil-works/pi-ai` refreshes whenever the\n\t\t// token falls inside `max(DEFAULT_OAUTH_MINIMUM_VALIDITY_MS,\n\t\t// minOAuthValidityMs ?? 0)`, so omitting `minOAuthValidityMs` only lowers\n\t\t// that window to five minutes and drops the post-refresh check exit 6 is\n\t\t// decided by. Bounded: the refresh rotates a valid credential, it does not\n\t\t// invalidate one. Closing it needs a non-mutating probe upstream.\n\t\tlet auth: Awaited<ReturnType<ModelRuntime[\"getAuth\"]>>;\n\t\ttry {\n\t\t\tauth = await modelRuntime.getAuth(\n\t\t\t\tmodel,\n\t\t\t\tkind === \"bearer_token\" ? { minOAuthValidityMs: minExpiryMs ?? DEFAULT_BEARER_TOKEN_MIN_EXPIRY_MS } : {},\n\t\t\t);\n\t\t} catch (error) {\n\t\t\tconst diagnosis =\n\t\t\t\terror instanceof ModelsError && error.code === \"oauth\" ? classifyOAuthFailure(error) : undefined;\n\t\t\tif (!authFailureIsFatal) {\n\t\t\t\tdeferredDiagnosis ??= diagnosis;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (diagnosis) throw diagnosis;\n\t\t\tthrow new CredentialPrintError(\n\t\t\t\t\"NoCredentialConfigured\",\n\t\t\t\tredactCredentialShapes(error instanceof Error ? error.message : String(error)),\n\t\t\t\t{ cause: error },\n\t\t\t);\n\t\t}\n\n\t\tconst value =\n\t\t\tkind === \"bearer_token\" ? (auth?.auth.apiKey ?? bearerFromHeaders(auth?.auth.headers)) : auth?.auth.apiKey;\n\t\tif (value) credentials.push({ providerId: model.provider, value });\n\t}\n\n\tif (credentials.length === 1) return new Secret(credentials[0].value);\n\n\tif (credentials.length === 0) {\n\t\tif (deferredDiagnosis) throw deferredDiagnosis;\n\t\tconst providerId = models[0]?.provider;\n\t\tconst type = providerId ? resolvedAuthTypes.get(providerId) : undefined;\n\t\tif (args.provider && kind === \"api_key\" && type === \"oauth\") {\n\t\t\tthrow new CredentialPrintError(\n\t\t\t\t\"KindUnsupportedForProvider\",\n\t\t\t\t`Provider \"${providerId}\" is configured with OAuth, not an API key`,\n\t\t\t);\n\t\t}\n\t\tif (args.provider && kind === \"bearer_token\" && type === \"api_key\") {\n\t\t\tthrow new CredentialPrintError(\n\t\t\t\t\"KindUnsupportedForProvider\",\n\t\t\t\t`Provider \"${providerId}\" is not configured with an OAuth bearer token`,\n\t\t\t);\n\t\t}\n\t\tthrow new CredentialPrintError(\n\t\t\t\"NoCredentialConfigured\",\n\t\t\t`No usable ${kind === \"api_key\" ? \"API key\" : \"OAuth bearer token\"} is configured`,\n\t\t);\n\t}\n\n\tthrow new CredentialPrintError(\n\t\t\"ProviderAmbiguous\",\n\t\t`Model \"${args.model}\" has multiple configured providers (${credentials\n\t\t\t.map(({ providerId }) => providerId)\n\t\t\t.join(\", \")}). Specify --provider.`,\n\t);\n}\n"]}
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * List available models with optional fuzzy search
3
3
  */
4
- import type { ModelRegistry } from "../core/model-registry.ts";
4
+ import type { ModelRuntime } from "../core/model-runtime.ts";
5
5
  /**
6
6
  * List available models, optionally filtered by search pattern
7
7
  */
8
- export declare function listModels(modelRegistry: ModelRegistry, searchPattern?: string): Promise<void>;
8
+ export declare function listModels(modelRuntime: ModelRuntime, searchPattern?: string): Promise<void>;
9
9
  //# sourceMappingURL=list-models.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-models.d.ts","sourceRoot":"","sources":["../../src/cli/list-models.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAiB/D;;GAEG;AACH,wBAAsB,UAAU,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkFpG"}
1
+ {"version":3,"file":"list-models.d.ts","sourceRoot":"","sources":["../../src/cli/list-models.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAiB7D;;GAEG;AACH,wBAAsB,UAAU,CAAC,YAAY,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkFlG"}