@bastani/atomic 0.8.31-alpha.5 → 0.9.0-alpha.2

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 (1401) hide show
  1. package/CHANGELOG.md +28 -1
  2. package/dist/builtin/cursor/CHANGELOG.md +10 -1
  3. package/dist/builtin/cursor/package.json +2 -2
  4. package/dist/builtin/cursor/src/proto/protobuf-codec-json.ts +44 -0
  5. package/dist/builtin/cursor/src/proto/protobuf-codec-request.ts +271 -0
  6. package/dist/builtin/cursor/src/proto/protobuf-codec-wire.ts +231 -0
  7. package/dist/builtin/cursor/src/proto/protobuf-codec.ts +5 -523
  8. package/dist/builtin/cursor/src/stream.ts +6 -70
  9. package/dist/builtin/cursor/src/transport-errors.ts +74 -0
  10. package/dist/builtin/cursor/src/transport-frame.ts +56 -0
  11. package/dist/builtin/cursor/src/transport-http2.ts +122 -0
  12. package/dist/builtin/cursor/src/transport-native-client.ts +161 -0
  13. package/dist/builtin/cursor/src/transport-run-stream.ts +188 -0
  14. package/dist/builtin/cursor/src/transport-timeouts.ts +87 -0
  15. package/dist/builtin/cursor/src/transport-types.ts +140 -0
  16. package/dist/builtin/cursor/src/transport.ts +24 -790
  17. package/dist/builtin/intercom/CHANGELOG.md +9 -0
  18. package/dist/builtin/intercom/broker/client.ts +0 -35
  19. package/dist/builtin/intercom/contact-supervisor-tool.ts +289 -0
  20. package/dist/builtin/intercom/index-heavy.ts +77 -1336
  21. package/dist/builtin/intercom/intercom-tool.ts +409 -0
  22. package/dist/builtin/intercom/intercom-utils.ts +401 -0
  23. package/dist/builtin/intercom/lifecycle.ts +133 -0
  24. package/dist/builtin/intercom/overlay.ts +96 -0
  25. package/dist/builtin/intercom/package.json +2 -2
  26. package/dist/builtin/intercom/subagent-relay.ts +137 -0
  27. package/dist/builtin/mcp/CHANGELOG.md +9 -0
  28. package/dist/builtin/mcp/config-write-utils.ts +104 -0
  29. package/dist/builtin/mcp/config.ts +4 -180
  30. package/dist/builtin/mcp/mcp-panel-renderer.ts +243 -0
  31. package/dist/builtin/mcp/mcp-panel-state.ts +227 -0
  32. package/dist/builtin/mcp/mcp-panel-types.ts +86 -0
  33. package/dist/builtin/mcp/mcp-panel.ts +145 -579
  34. package/dist/builtin/mcp/mcp-setup-panel.ts +4 -81
  35. package/dist/builtin/mcp/package.json +3 -3
  36. package/dist/builtin/mcp/proxy-auth.ts +61 -0
  37. package/dist/builtin/mcp/proxy-call.ts +373 -0
  38. package/dist/builtin/mcp/proxy-connect.ts +58 -0
  39. package/dist/builtin/mcp/proxy-info-modes.ts +326 -0
  40. package/dist/builtin/mcp/proxy-modes.ts +3 -805
  41. package/dist/builtin/mcp/proxy-types.ts +3 -0
  42. package/dist/builtin/mcp/ui-server-http.ts +81 -0
  43. package/dist/builtin/mcp/ui-server.ts +2 -127
  44. package/dist/builtin/subagents/CHANGELOG.md +9 -0
  45. package/dist/builtin/subagents/package.json +4 -4
  46. package/dist/builtin/subagents/src/agents/agent-discovery.ts +127 -0
  47. package/dist/builtin/subagents/src/agents/agent-loaders.ts +175 -0
  48. package/dist/builtin/subagents/src/agents/agent-management-helpers.ts +310 -0
  49. package/dist/builtin/subagents/src/agents/agent-management.ts +3 -309
  50. package/dist/builtin/subagents/src/agents/agent-overrides.ts +397 -0
  51. package/dist/builtin/subagents/src/agents/agent-paths.ts +88 -0
  52. package/dist/builtin/subagents/src/agents/agent-types.ts +136 -0
  53. package/dist/builtin/subagents/src/agents/agents.ts +22 -895
  54. package/dist/builtin/subagents/src/agents/skills-paths.ts +333 -0
  55. package/dist/builtin/subagents/src/agents/skills.ts +3 -326
  56. package/dist/builtin/subagents/src/extension/index.ts +4 -118
  57. package/dist/builtin/subagents/src/extension/prompt-guidance.ts +13 -0
  58. package/dist/builtin/subagents/src/runs/background/async-execution-chain.ts +401 -0
  59. package/dist/builtin/subagents/src/runs/background/async-execution-common.ts +131 -0
  60. package/dist/builtin/subagents/src/runs/background/async-execution-single.ts +213 -0
  61. package/dist/builtin/subagents/src/runs/background/async-execution-types.ts +84 -0
  62. package/dist/builtin/subagents/src/runs/background/async-execution.ts +13 -795
  63. package/dist/builtin/subagents/src/runs/background/subagent-runner-dynamic.ts +215 -0
  64. package/dist/builtin/subagents/src/runs/background/subagent-runner-finalize.ts +136 -0
  65. package/dist/builtin/subagents/src/runs/background/subagent-runner-output.ts +105 -0
  66. package/dist/builtin/subagents/src/runs/background/subagent-runner-parallel-helpers.ts +112 -0
  67. package/dist/builtin/subagents/src/runs/background/subagent-runner-parallel.ts +159 -0
  68. package/dist/builtin/subagents/src/runs/background/subagent-runner-sequential.ts +127 -0
  69. package/dist/builtin/subagents/src/runs/background/subagent-runner-state.ts +427 -0
  70. package/dist/builtin/subagents/src/runs/background/subagent-runner-step.ts +273 -0
  71. package/dist/builtin/subagents/src/runs/background/subagent-runner-streaming.ts +269 -0
  72. package/dist/builtin/subagents/src/runs/background/subagent-runner-types.ts +196 -0
  73. package/dist/builtin/subagents/src/runs/background/subagent-runner-utils.ts +70 -0
  74. package/dist/builtin/subagents/src/runs/background/subagent-runner.ts +44 -2233
  75. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-behavior.ts +75 -0
  76. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-component.ts +202 -0
  77. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-edit.ts +97 -0
  78. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-editor.ts +160 -0
  79. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-frame.ts +72 -0
  80. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-render-modes.ts +161 -0
  81. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-render-selectors.ts +203 -0
  82. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-selectors.ts +234 -0
  83. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-state.ts +103 -0
  84. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-types.ts +29 -0
  85. package/dist/builtin/subagents/src/runs/foreground/chain-clarify.ts +4 -1328
  86. package/dist/builtin/subagents/src/runs/foreground/chain-execution-clarify.ts +117 -0
  87. package/dist/builtin/subagents/src/runs/foreground/chain-execution-details.ts +35 -0
  88. package/dist/builtin/subagents/src/runs/foreground/chain-execution-dynamic-step.ts +194 -0
  89. package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-runner.ts +183 -0
  90. package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-step.ts +185 -0
  91. package/dist/builtin/subagents/src/runs/foreground/chain-execution-sequential-step.ts +229 -0
  92. package/dist/builtin/subagents/src/runs/foreground/chain-execution-types.ts +194 -0
  93. package/dist/builtin/subagents/src/runs/foreground/chain-execution.ts +94 -1043
  94. package/dist/builtin/subagents/src/runs/foreground/execution-attempt-control.ts +135 -0
  95. package/dist/builtin/subagents/src/runs/foreground/execution-attempt-finalize.ts +107 -0
  96. package/dist/builtin/subagents/src/runs/foreground/execution-attempt-types.ts +17 -0
  97. package/dist/builtin/subagents/src/runs/foreground/execution-attempt.ts +454 -0
  98. package/dist/builtin/subagents/src/runs/foreground/execution-run-sync.ts +219 -0
  99. package/dist/builtin/subagents/src/runs/foreground/execution-structured-retries.ts +77 -0
  100. package/dist/builtin/subagents/src/runs/foreground/execution-updates.ts +34 -0
  101. package/dist/builtin/subagents/src/runs/foreground/execution-utils.ts +56 -0
  102. package/dist/builtin/subagents/src/runs/foreground/execution.ts +6 -1082
  103. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-async.ts +207 -0
  104. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-chain.ts +140 -0
  105. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-context.ts +266 -0
  106. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-input.ts +270 -0
  107. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel-task.ts +157 -0
  108. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel.ts +375 -0
  109. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-resume.ts +463 -0
  110. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-runtime.ts +17 -0
  111. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-single.ts +320 -0
  112. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-status.ts +207 -0
  113. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-types.ts +121 -0
  114. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-worktree.ts +113 -0
  115. package/dist/builtin/subagents/src/runs/foreground/subagent-executor.ts +150 -2522
  116. package/dist/builtin/subagents/src/runs/shared/model-fallback.ts +0 -16
  117. package/dist/builtin/subagents/src/runs/shared/nested-events-control.ts +167 -0
  118. package/dist/builtin/subagents/src/runs/shared/nested-events-core.ts +219 -0
  119. package/dist/builtin/subagents/src/runs/shared/nested-events-projection.ts +121 -0
  120. package/dist/builtin/subagents/src/runs/shared/nested-events-registry.ts +289 -0
  121. package/dist/builtin/subagents/src/runs/shared/nested-events-sanitize.ts +201 -0
  122. package/dist/builtin/subagents/src/runs/shared/nested-events.ts +50 -935
  123. package/dist/builtin/subagents/src/runs/shared/worktree.ts +0 -78
  124. package/dist/builtin/subagents/src/shared/types-async.ts +265 -0
  125. package/dist/builtin/subagents/src/shared/types-config.ts +125 -0
  126. package/dist/builtin/subagents/src/shared/types-depth.ts +121 -0
  127. package/dist/builtin/subagents/src/shared/types-output.ts +63 -0
  128. package/dist/builtin/subagents/src/shared/types-results.ts +318 -0
  129. package/dist/builtin/subagents/src/shared/types-runtime.ts +136 -0
  130. package/dist/builtin/subagents/src/shared/types.ts +10 -975
  131. package/dist/builtin/subagents/src/slash/slash-commands.ts +0 -12
  132. package/dist/builtin/subagents/src/tui/render-chain-graph.ts +247 -0
  133. package/dist/builtin/subagents/src/tui/render-event-formatting.ts +259 -0
  134. package/dist/builtin/subagents/src/tui/render-layout.ts +120 -0
  135. package/dist/builtin/subagents/src/tui/render-result-animation.ts +56 -0
  136. package/dist/builtin/subagents/src/tui/render-result-compact.ts +154 -0
  137. package/dist/builtin/subagents/src/tui/render-result.ts +390 -0
  138. package/dist/builtin/subagents/src/tui/render-stable-output.ts +83 -0
  139. package/dist/builtin/subagents/src/tui/render-status-progress.ts +133 -0
  140. package/dist/builtin/subagents/src/tui/render-widget-graph.ts +166 -0
  141. package/dist/builtin/subagents/src/tui/render-widget.ts +273 -0
  142. package/dist/builtin/subagents/src/tui/render.ts +14 -1801
  143. package/dist/builtin/web-access/CHANGELOG.md +9 -0
  144. package/dist/builtin/web-access/content-tools.ts +348 -0
  145. package/dist/builtin/web-access/curator-page-assets/script-1.ts +400 -0
  146. package/dist/builtin/web-access/curator-page-assets/script-2.ts +400 -0
  147. package/dist/builtin/web-access/curator-page-assets/script-3.ts +400 -0
  148. package/dist/builtin/web-access/curator-page-assets/script-4.ts +400 -0
  149. package/dist/builtin/web-access/curator-page-assets/script-5.ts +398 -0
  150. package/dist/builtin/web-access/curator-page-assets/styles-1.ts +394 -0
  151. package/dist/builtin/web-access/curator-page-assets/styles-2.ts +394 -0
  152. package/dist/builtin/web-access/curator-page-assets/styles-3.ts +393 -0
  153. package/dist/builtin/web-access/curator-page.ts +17 -3180
  154. package/dist/builtin/web-access/curator-server-helpers.ts +115 -0
  155. package/dist/builtin/web-access/curator-server.ts +2 -113
  156. package/dist/builtin/web-access/exa-mcp.ts +218 -0
  157. package/dist/builtin/web-access/exa.ts +2 -207
  158. package/dist/builtin/web-access/extract-frames.ts +228 -0
  159. package/dist/builtin/web-access/extract.ts +13 -214
  160. package/dist/builtin/web-access/github-config.ts +156 -0
  161. package/dist/builtin/web-access/github-extract.ts +3 -154
  162. package/dist/builtin/web-access/index-heavy.ts +8 -1904
  163. package/dist/builtin/web-access/package.json +3 -2
  164. package/dist/builtin/web-access/web-search-activity.ts +102 -0
  165. package/dist/builtin/web-access/web-search-browser.ts +116 -0
  166. package/dist/builtin/web-access/web-search-command.ts +242 -0
  167. package/dist/builtin/web-access/web-search-config.ts +163 -0
  168. package/dist/builtin/web-access/web-search-curator.ts +214 -0
  169. package/dist/builtin/web-access/web-search-features.ts +165 -0
  170. package/dist/builtin/web-access/web-search-formatting.ts +117 -0
  171. package/dist/builtin/web-access/web-search-return.ts +136 -0
  172. package/dist/builtin/web-access/web-search-summary.ts +170 -0
  173. package/dist/builtin/web-access/web-search-tool.ts +290 -0
  174. package/dist/builtin/web-access/web-search-types.ts +50 -0
  175. package/dist/builtin/workflows/CHANGELOG.md +16 -1
  176. package/dist/builtin/workflows/README.md +189 -122
  177. package/dist/builtin/workflows/builtin/deep-research-codebase-runner.ts +492 -0
  178. package/dist/builtin/workflows/builtin/deep-research-codebase-utils.ts +346 -0
  179. package/dist/builtin/workflows/builtin/deep-research-codebase.ts +36 -849
  180. package/dist/builtin/workflows/builtin/goal-artifacts.ts +43 -0
  181. package/dist/builtin/workflows/builtin/goal-ledger.ts +54 -0
  182. package/dist/builtin/workflows/builtin/goal-prompts.ts +360 -0
  183. package/dist/builtin/workflows/builtin/goal-reducer.ts +141 -0
  184. package/dist/builtin/workflows/builtin/goal-reports.ts +56 -0
  185. package/dist/builtin/workflows/builtin/goal-review.ts +84 -0
  186. package/dist/builtin/workflows/builtin/goal-runner.ts +336 -0
  187. package/dist/builtin/workflows/builtin/goal-schemas.ts +60 -0
  188. package/dist/builtin/workflows/builtin/goal-types.ts +132 -0
  189. package/dist/builtin/workflows/builtin/goal.ts +40 -1201
  190. package/dist/builtin/workflows/builtin/index.d.ts +1 -0
  191. package/dist/builtin/workflows/builtin/open-claude-design-phases.ts +432 -0
  192. package/dist/builtin/workflows/builtin/open-claude-design-runner.ts +476 -0
  193. package/dist/builtin/workflows/builtin/open-claude-design-utils.ts +312 -0
  194. package/dist/builtin/workflows/builtin/open-claude-design.d.ts +1 -0
  195. package/dist/builtin/workflows/builtin/open-claude-design.ts +47 -1131
  196. package/dist/builtin/workflows/builtin/ralph-core.ts +408 -0
  197. package/dist/builtin/workflows/builtin/ralph-models.ts +123 -0
  198. package/dist/builtin/workflows/builtin/ralph-runner.ts +499 -0
  199. package/dist/builtin/workflows/builtin/ralph.ts +50 -1019
  200. package/dist/builtin/workflows/package.json +2 -2
  201. package/dist/builtin/workflows/skills/impeccable/scripts/detector/detect-antipatterns-browser.js +2 -2
  202. package/dist/builtin/workflows/skills/impeccable/scripts/detector/engines/regex/detect-text.mjs +2 -2
  203. package/dist/builtin/workflows/skills/impeccable/scripts/detector/rules/checks.mjs +2 -2
  204. package/dist/builtin/workflows/skills/impeccable/scripts/detector/shared/page.mjs +8 -1
  205. package/dist/builtin/workflows/skills/impeccable/scripts/live-accept.mjs +13 -15
  206. package/dist/builtin/workflows/skills/impeccable/scripts/live-manual-edit-evidence.mjs +2 -2
  207. package/dist/builtin/workflows/skills/impeccable/scripts/live-server.mjs +9 -0
  208. package/dist/builtin/workflows/src/authoring/typebox-defaults.d.ts +41 -0
  209. package/dist/builtin/workflows/src/authoring/typebox-defaults.ts +217 -0
  210. package/dist/builtin/workflows/src/authoring/workflow.ts +184 -0
  211. package/dist/builtin/workflows/src/authoring.d.ts +14 -66
  212. package/dist/builtin/workflows/src/engine/graph-inference.ts +100 -0
  213. package/dist/builtin/workflows/src/engine/options.ts +40 -0
  214. package/dist/builtin/workflows/src/engine/primitives/chain.ts +29 -0
  215. package/dist/builtin/workflows/src/engine/primitives/exit.ts +2 -0
  216. package/dist/builtin/workflows/src/engine/primitives/parallel.ts +47 -0
  217. package/dist/builtin/workflows/src/engine/primitives/task.ts +108 -0
  218. package/dist/builtin/workflows/src/engine/primitives/ui.ts +41 -0
  219. package/dist/builtin/workflows/src/engine/primitives/workflow.ts +159 -0
  220. package/dist/builtin/workflows/src/engine/replay.ts +8 -0
  221. package/dist/builtin/workflows/src/engine/run.ts +356 -0
  222. package/dist/builtin/workflows/src/engine/runtime.ts +160 -0
  223. package/dist/builtin/workflows/src/extension/atomic-stage-session.ts +186 -0
  224. package/dist/builtin/workflows/src/extension/config-file-loader.ts +152 -0
  225. package/dist/builtin/workflows/src/extension/config-loader.ts +2 -167
  226. package/dist/builtin/workflows/src/extension/discovery-loaders.ts +115 -0
  227. package/dist/builtin/workflows/src/extension/discovery.ts +3 -117
  228. package/dist/builtin/workflows/src/extension/extension-factory.ts +120 -0
  229. package/dist/builtin/workflows/src/extension/extension-lifecycle.ts +109 -0
  230. package/dist/builtin/workflows/src/extension/extension-runtime-state.ts +270 -0
  231. package/dist/builtin/workflows/src/extension/index.ts +42 -4166
  232. package/dist/builtin/workflows/src/extension/public-types.ts +295 -0
  233. package/dist/builtin/workflows/src/extension/render-component.ts +14 -0
  234. package/dist/builtin/workflows/src/extension/runtime-direct.ts +96 -0
  235. package/dist/builtin/workflows/src/extension/runtime.ts +1 -92
  236. package/dist/builtin/workflows/src/extension/ui-surface.ts +286 -0
  237. package/dist/builtin/workflows/src/extension/wiring.ts +6 -475
  238. package/dist/builtin/workflows/src/extension/workflow-command-completions.ts +111 -0
  239. package/dist/builtin/workflows/src/extension/workflow-command-registration.ts +213 -0
  240. package/dist/builtin/workflows/src/extension/workflow-command-surfaces.ts +81 -0
  241. package/dist/builtin/workflows/src/extension/workflow-command-utils.ts +181 -0
  242. package/dist/builtin/workflows/src/extension/workflow-module-loader.ts +9 -3
  243. package/dist/builtin/workflows/src/extension/workflow-policy.ts +15 -0
  244. package/dist/builtin/workflows/src/extension/workflow-ports.ts +41 -0
  245. package/dist/builtin/workflows/src/extension/workflow-prompts.ts +23 -0
  246. package/dist/builtin/workflows/src/extension/workflow-run-control-command.ts +286 -0
  247. package/dist/builtin/workflows/src/extension/workflow-schema.ts +1 -19
  248. package/dist/builtin/workflows/src/extension/workflow-stage-results.ts +264 -0
  249. package/dist/builtin/workflows/src/extension/workflow-targets.ts +181 -0
  250. package/dist/builtin/workflows/src/extension/workflow-tool-content.ts +175 -0
  251. package/dist/builtin/workflows/src/extension/workflow-tool-control.ts +205 -0
  252. package/dist/builtin/workflows/src/extension/workflow-tool-helpers.ts +66 -0
  253. package/dist/builtin/workflows/src/extension/workflow-tool-inspection.ts +164 -0
  254. package/dist/builtin/workflows/src/extension/workflow-tool-registration.ts +54 -0
  255. package/dist/builtin/workflows/src/extension/workflow-tool-send.ts +164 -0
  256. package/dist/builtin/workflows/src/extension/workflow-tool.ts +102 -0
  257. package/dist/builtin/workflows/src/index.ts +0 -2
  258. package/dist/builtin/workflows/src/runs/background/runner.ts +6 -3
  259. package/dist/builtin/workflows/src/runs/foreground/executor-abort.ts +431 -0
  260. package/dist/builtin/workflows/src/runs/foreground/executor-child-boundary.ts +232 -0
  261. package/dist/builtin/workflows/src/runs/foreground/executor-child-helpers.ts +74 -0
  262. package/dist/builtin/workflows/src/runs/foreground/executor-child-workflow.ts +1 -0
  263. package/dist/builtin/workflows/src/runs/foreground/executor-continuation.ts +167 -0
  264. package/dist/builtin/workflows/src/runs/foreground/executor-direct-helpers.ts +450 -0
  265. package/dist/builtin/workflows/src/runs/foreground/executor-direct.ts +233 -0
  266. package/dist/builtin/workflows/src/runs/foreground/executor-exit-manager.ts +195 -0
  267. package/dist/builtin/workflows/src/runs/foreground/executor-hil.ts +368 -0
  268. package/dist/builtin/workflows/src/runs/foreground/executor-inputs.ts +83 -0
  269. package/dist/builtin/workflows/src/runs/foreground/executor-lifecycle.ts +441 -0
  270. package/dist/builtin/workflows/src/runs/foreground/executor-outputs.ts +160 -0
  271. package/dist/builtin/workflows/src/runs/foreground/executor-prompt-nodes.ts +274 -0
  272. package/dist/builtin/workflows/src/runs/foreground/executor-run-finalizers.ts +122 -0
  273. package/dist/builtin/workflows/src/runs/foreground/executor-run.ts +1 -0
  274. package/dist/builtin/workflows/src/runs/foreground/executor-scheduler.ts +204 -0
  275. package/dist/builtin/workflows/src/runs/foreground/executor-stage-call.ts +194 -0
  276. package/dist/builtin/workflows/src/runs/foreground/executor-stage-context.ts +120 -0
  277. package/dist/builtin/workflows/src/runs/foreground/executor-stage-control.ts +126 -0
  278. package/dist/builtin/workflows/src/runs/foreground/executor-stage-factory.ts +359 -0
  279. package/dist/builtin/workflows/src/runs/foreground/executor-stage-replay.ts +135 -0
  280. package/dist/builtin/workflows/src/runs/foreground/executor-stage-types.ts +61 -0
  281. package/dist/builtin/workflows/src/runs/foreground/executor-task-context.ts +2 -0
  282. package/dist/builtin/workflows/src/runs/foreground/executor-task-prompts.ts +293 -0
  283. package/dist/builtin/workflows/src/runs/foreground/executor-types.ts +109 -0
  284. package/dist/builtin/workflows/src/runs/foreground/executor.ts +19 -5354
  285. package/dist/builtin/workflows/src/runs/foreground/stage-runner-context.ts +219 -0
  286. package/dist/builtin/workflows/src/runs/foreground/stage-runner-controller.ts +500 -0
  287. package/dist/builtin/workflows/src/runs/foreground/stage-runner-messages.ts +129 -0
  288. package/dist/builtin/workflows/src/runs/foreground/stage-runner-options.ts +53 -0
  289. package/dist/builtin/workflows/src/runs/foreground/stage-runner-output.ts +146 -0
  290. package/dist/builtin/workflows/src/runs/foreground/stage-runner-session.ts +55 -0
  291. package/dist/builtin/workflows/src/runs/foreground/stage-runner-structured-output.ts +82 -0
  292. package/dist/builtin/workflows/src/runs/foreground/stage-runner-types.ts +141 -0
  293. package/dist/builtin/workflows/src/runs/foreground/stage-runner.ts +13 -1355
  294. package/dist/builtin/workflows/src/runs/shared/graph-inference.ts +2 -100
  295. package/dist/builtin/workflows/src/runs/shared/model-fallback-candidates.ts +453 -0
  296. package/dist/builtin/workflows/src/runs/shared/model-fallback-failures.ts +442 -0
  297. package/dist/builtin/workflows/src/runs/shared/model-fallback.ts +2 -836
  298. package/dist/builtin/workflows/src/runs/shared/worktree-diff.ts +165 -0
  299. package/dist/builtin/workflows/src/runs/shared/worktree-git.ts +220 -0
  300. package/dist/builtin/workflows/src/runs/shared/worktree-setup.ts +335 -0
  301. package/dist/builtin/workflows/src/runs/shared/worktree-types.ts +92 -0
  302. package/dist/builtin/workflows/src/runs/shared/worktree.ts +18 -791
  303. package/dist/builtin/workflows/src/sdk-surface.ts +6 -9
  304. package/dist/builtin/workflows/src/shared/authoring-contract-stage.d.ts +371 -0
  305. package/dist/builtin/workflows/src/shared/authoring-contract-stage.ts +439 -0
  306. package/dist/builtin/workflows/src/shared/authoring-contract-ui.d.ts +206 -0
  307. package/dist/builtin/workflows/src/shared/authoring-contract-ui.ts +282 -0
  308. package/dist/builtin/workflows/src/shared/authoring-contract.d.ts +5 -598
  309. package/dist/builtin/workflows/src/shared/persistence-restore-helpers.ts +428 -0
  310. package/dist/builtin/workflows/src/shared/persistence-restore.ts +9 -431
  311. package/dist/builtin/workflows/src/shared/store-factory.ts +16 -0
  312. package/dist/builtin/workflows/src/shared/store-internal.ts +219 -0
  313. package/dist/builtin/workflows/src/shared/store-prompt-methods.ts +219 -0
  314. package/dist/builtin/workflows/src/shared/store-public-types.ts +215 -0
  315. package/dist/builtin/workflows/src/shared/store-run-methods.ts +223 -0
  316. package/dist/builtin/workflows/src/shared/store-stage-methods.ts +305 -0
  317. package/dist/builtin/workflows/src/shared/store.ts +11 -1138
  318. package/dist/builtin/workflows/src/shared/types.ts +25 -8
  319. package/dist/builtin/workflows/src/shared/workflow-authoring-types.d.ts +49 -0
  320. package/dist/builtin/workflows/src/shared/workflow-authoring-types.ts +84 -0
  321. package/dist/builtin/workflows/src/shared/workflow-failures-classifier.ts +266 -0
  322. package/dist/builtin/workflows/src/shared/workflow-failures-contract.ts +75 -0
  323. package/dist/builtin/workflows/src/shared/workflow-failures-decisions.ts +477 -0
  324. package/dist/builtin/workflows/src/shared/workflow-failures-signals.ts +248 -0
  325. package/dist/builtin/workflows/src/shared/workflow-failures.ts +13 -1001
  326. package/dist/builtin/workflows/src/tui/chat-surface.ts +0 -66
  327. package/dist/builtin/workflows/src/tui/graph-view-constants.ts +45 -0
  328. package/dist/builtin/workflows/src/tui/graph-view-graph-render.ts +161 -0
  329. package/dist/builtin/workflows/src/tui/graph-view-input.ts +333 -0
  330. package/dist/builtin/workflows/src/tui/graph-view-render-helpers.ts +336 -0
  331. package/dist/builtin/workflows/src/tui/graph-view-render.ts +194 -0
  332. package/dist/builtin/workflows/src/tui/graph-view-state.ts +306 -0
  333. package/dist/builtin/workflows/src/tui/graph-view-types.ts +70 -0
  334. package/dist/builtin/workflows/src/tui/graph-view.ts +4 -1386
  335. package/dist/builtin/workflows/src/tui/inline-form-editor-text.ts +121 -0
  336. package/dist/builtin/workflows/src/tui/inline-form-editor.ts +11 -223
  337. package/dist/builtin/workflows/src/tui/inputs-picker-editing.ts +151 -0
  338. package/dist/builtin/workflows/src/tui/inputs-picker-input.ts +305 -0
  339. package/dist/builtin/workflows/src/tui/inputs-picker-render.ts +300 -0
  340. package/dist/builtin/workflows/src/tui/inputs-picker-types.ts +190 -0
  341. package/dist/builtin/workflows/src/tui/inputs-picker.ts +19 -997
  342. package/dist/builtin/workflows/src/tui/prompt-card-input.ts +226 -0
  343. package/dist/builtin/workflows/src/tui/prompt-card-render.ts +373 -0
  344. package/dist/builtin/workflows/src/tui/prompt-card-select.ts +116 -0
  345. package/dist/builtin/workflows/src/tui/prompt-card-state.ts +61 -0
  346. package/dist/builtin/workflows/src/tui/prompt-card-text.ts +129 -0
  347. package/dist/builtin/workflows/src/tui/prompt-card.ts +8 -910
  348. package/dist/builtin/workflows/src/tui/stage-chat-view-archive-history.ts +315 -0
  349. package/dist/builtin/workflows/src/tui/stage-chat-view-custom-ui.ts +127 -0
  350. package/dist/builtin/workflows/src/tui/stage-chat-view-footer-status.ts +187 -0
  351. package/dist/builtin/workflows/src/tui/stage-chat-view-input.ts +222 -0
  352. package/dist/builtin/workflows/src/tui/stage-chat-view-render-helpers.ts +152 -0
  353. package/dist/builtin/workflows/src/tui/stage-chat-view-state.ts +464 -0
  354. package/dist/builtin/workflows/src/tui/stage-chat-view-transcript.ts +242 -0
  355. package/dist/builtin/workflows/src/tui/stage-chat-view-types.ts +151 -0
  356. package/dist/builtin/workflows/src/tui/stage-chat-view.ts +141 -1777
  357. package/dist/builtin/workflows/src/tui/workflow-attach-pane-types.ts +85 -0
  358. package/dist/builtin/workflows/src/tui/workflow-attach-pane.ts +1 -129
  359. package/dist/builtin/workflows/src/workflows/registry.ts +7 -3
  360. package/dist/config-self-update.d.ts +21 -0
  361. package/dist/config-self-update.d.ts.map +1 -0
  362. package/dist/config-self-update.js +265 -0
  363. package/dist/config-self-update.js.map +1 -0
  364. package/dist/config.d.ts +3 -12
  365. package/dist/config.d.ts.map +1 -1
  366. package/dist/config.js +15 -252
  367. package/dist/config.js.map +1 -1
  368. package/dist/core/agent-session-accessors.d.ts +3 -0
  369. package/dist/core/agent-session-accessors.d.ts.map +1 -0
  370. package/dist/core/agent-session-accessors.js +36 -0
  371. package/dist/core/agent-session-accessors.js.map +1 -0
  372. package/dist/core/agent-session-auto-compaction.d.ts +32 -0
  373. package/dist/core/agent-session-auto-compaction.d.ts.map +1 -0
  374. package/dist/core/agent-session-auto-compaction.js +219 -0
  375. package/dist/core/agent-session-auto-compaction.js.map +1 -0
  376. package/dist/core/agent-session-bash.d.ts +30 -0
  377. package/dist/core/agent-session-bash.d.ts.map +1 -0
  378. package/dist/core/agent-session-bash.js +79 -0
  379. package/dist/core/agent-session-bash.js.map +1 -0
  380. package/dist/core/agent-session-compaction.d.ts +44 -0
  381. package/dist/core/agent-session-compaction.d.ts.map +1 -0
  382. package/dist/core/agent-session-compaction.js +282 -0
  383. package/dist/core/agent-session-compaction.js.map +1 -0
  384. package/dist/core/agent-session-events.d.ts +65 -0
  385. package/dist/core/agent-session-events.d.ts.map +1 -0
  386. package/dist/core/agent-session-events.js +373 -0
  387. package/dist/core/agent-session-events.js.map +1 -0
  388. package/dist/core/agent-session-export.d.ts +42 -0
  389. package/dist/core/agent-session-export.d.ts.map +1 -0
  390. package/dist/core/agent-session-export.js +199 -0
  391. package/dist/core/agent-session-export.js.map +1 -0
  392. package/dist/core/agent-session-extension-bindings.d.ts +37 -0
  393. package/dist/core/agent-session-extension-bindings.d.ts.map +1 -0
  394. package/dist/core/agent-session-extension-bindings.js +231 -0
  395. package/dist/core/agent-session-extension-bindings.js.map +1 -0
  396. package/dist/core/agent-session-message-queue.d.ts +85 -0
  397. package/dist/core/agent-session-message-queue.d.ts.map +1 -0
  398. package/dist/core/agent-session-message-queue.js +264 -0
  399. package/dist/core/agent-session-message-queue.js.map +1 -0
  400. package/dist/core/agent-session-methods.d.ts +300 -0
  401. package/dist/core/agent-session-methods.d.ts.map +1 -0
  402. package/dist/core/agent-session-methods.js +2 -0
  403. package/dist/core/agent-session-methods.js.map +1 -0
  404. package/dist/core/agent-session-models.d.ts +111 -0
  405. package/dist/core/agent-session-models.d.ts.map +1 -0
  406. package/dist/core/agent-session-models.js +368 -0
  407. package/dist/core/agent-session-models.js.map +1 -0
  408. package/dist/core/agent-session-prompt.d.ts +61 -0
  409. package/dist/core/agent-session-prompt.d.ts.map +1 -0
  410. package/dist/core/agent-session-prompt.js +330 -0
  411. package/dist/core/agent-session-prompt.js.map +1 -0
  412. package/dist/core/agent-session-retry.d.ts +62 -0
  413. package/dist/core/agent-session-retry.d.ts.map +1 -0
  414. package/dist/core/agent-session-retry.js +202 -0
  415. package/dist/core/agent-session-retry.js.map +1 -0
  416. package/dist/core/agent-session-services.d.ts +0 -1
  417. package/dist/core/agent-session-services.d.ts.map +1 -1
  418. package/dist/core/agent-session-services.js +0 -1
  419. package/dist/core/agent-session-services.js.map +1 -1
  420. package/dist/core/agent-session-skill-block.d.ts +13 -0
  421. package/dist/core/agent-session-skill-block.d.ts.map +1 -0
  422. package/dist/core/agent-session-skill-block.js +37 -0
  423. package/dist/core/agent-session-skill-block.js.map +1 -0
  424. package/dist/core/agent-session-state.d.ts +48 -0
  425. package/dist/core/agent-session-state.d.ts.map +1 -0
  426. package/dist/core/agent-session-state.js +129 -0
  427. package/dist/core/agent-session-state.js.map +1 -0
  428. package/dist/core/agent-session-tool-hooks.d.ts +7 -0
  429. package/dist/core/agent-session-tool-hooks.d.ts.map +1 -0
  430. package/dist/core/agent-session-tool-hooks.js +72 -0
  431. package/dist/core/agent-session-tool-hooks.js.map +1 -0
  432. package/dist/core/agent-session-tool-registry.d.ts +15 -0
  433. package/dist/core/agent-session-tool-registry.d.ts.map +1 -0
  434. package/dist/core/agent-session-tool-registry.js +149 -0
  435. package/dist/core/agent-session-tool-registry.js.map +1 -0
  436. package/dist/core/agent-session-tree.d.ts +46 -0
  437. package/dist/core/agent-session-tree.d.ts.map +1 -0
  438. package/dist/core/agent-session-tree.js +217 -0
  439. package/dist/core/agent-session-tree.js.map +1 -0
  440. package/dist/core/agent-session-types.d.ts +157 -0
  441. package/dist/core/agent-session-types.d.ts.map +1 -0
  442. package/dist/core/agent-session-types.js +41 -0
  443. package/dist/core/agent-session-types.js.map +1 -0
  444. package/dist/core/agent-session.d.ts +66 -688
  445. package/dist/core/agent-session.d.ts.map +1 -1
  446. package/dist/core/agent-session.js +26 -3153
  447. package/dist/core/agent-session.js.map +1 -1
  448. package/dist/core/atomic-guide-command.d.ts.map +1 -1
  449. package/dist/core/atomic-guide-command.js +1 -1
  450. package/dist/core/atomic-guide-command.js.map +1 -1
  451. package/dist/core/auth-storage-backends.d.ts +49 -0
  452. package/dist/core/auth-storage-backends.d.ts.map +1 -0
  453. package/dist/core/auth-storage-backends.js +185 -0
  454. package/dist/core/auth-storage-backends.js.map +1 -0
  455. package/dist/core/auth-storage.d.ts +2 -49
  456. package/dist/core/auth-storage.d.ts.map +1 -1
  457. package/dist/core/auth-storage.js +3 -183
  458. package/dist/core/auth-storage.js.map +1 -1
  459. package/dist/core/compaction/context-compaction-metrics.d.ts +16 -0
  460. package/dist/core/compaction/context-compaction-metrics.d.ts.map +1 -0
  461. package/dist/core/compaction/context-compaction-metrics.js +58 -0
  462. package/dist/core/compaction/context-compaction-metrics.js.map +1 -0
  463. package/dist/core/compaction/context-compaction-prompt.d.ts +9 -0
  464. package/dist/core/compaction/context-compaction-prompt.d.ts.map +1 -0
  465. package/dist/core/compaction/context-compaction-prompt.js +161 -0
  466. package/dist/core/compaction/context-compaction-prompt.js.map +1 -0
  467. package/dist/core/compaction/context-compaction-runner.d.ts +5 -0
  468. package/dist/core/compaction/context-compaction-runner.d.ts.map +1 -0
  469. package/dist/core/compaction/context-compaction-runner.js +181 -0
  470. package/dist/core/compaction/context-compaction-runner.js.map +1 -0
  471. package/dist/core/compaction/context-compaction-strategy.d.ts +5 -0
  472. package/dist/core/compaction/context-compaction-strategy.d.ts.map +1 -0
  473. package/dist/core/compaction/context-compaction-strategy.js +27 -0
  474. package/dist/core/compaction/context-compaction-strategy.js.map +1 -0
  475. package/dist/core/compaction/context-compaction-types.d.ts +73 -0
  476. package/dist/core/compaction/context-compaction-types.d.ts.map +1 -0
  477. package/dist/core/compaction/context-compaction-types.js +6 -0
  478. package/dist/core/compaction/context-compaction-types.js.map +1 -0
  479. package/dist/core/compaction/context-compaction.d.ts +9 -200
  480. package/dist/core/compaction/context-compaction.d.ts.map +1 -1
  481. package/dist/core/compaction/context-compaction.js +7 -1943
  482. package/dist/core/compaction/context-compaction.js.map +1 -1
  483. package/dist/core/compaction/context-deletion-application.d.ts +13 -0
  484. package/dist/core/compaction/context-deletion-application.d.ts.map +1 -0
  485. package/dist/core/compaction/context-deletion-application.js +259 -0
  486. package/dist/core/compaction/context-deletion-application.js.map +1 -0
  487. package/dist/core/compaction/context-deletion-store.d.ts +78 -0
  488. package/dist/core/compaction/context-deletion-store.d.ts.map +1 -0
  489. package/dist/core/compaction/context-deletion-store.js +162 -0
  490. package/dist/core/compaction/context-deletion-store.js.map +1 -0
  491. package/dist/core/compaction/context-deletion-targets.d.ts +40 -0
  492. package/dist/core/compaction/context-deletion-targets.d.ts.map +1 -0
  493. package/dist/core/compaction/context-deletion-targets.js +267 -0
  494. package/dist/core/compaction/context-deletion-targets.js.map +1 -0
  495. package/dist/core/compaction/context-deletion-tool-definitions.d.ts +187 -0
  496. package/dist/core/compaction/context-deletion-tool-definitions.d.ts.map +1 -0
  497. package/dist/core/compaction/context-deletion-tool-definitions.js +98 -0
  498. package/dist/core/compaction/context-deletion-tool-definitions.js.map +1 -0
  499. package/dist/core/compaction/context-deletion-tool-helpers.d.ts +19 -0
  500. package/dist/core/compaction/context-deletion-tool-helpers.d.ts.map +1 -0
  501. package/dist/core/compaction/context-deletion-tool-helpers.js +137 -0
  502. package/dist/core/compaction/context-deletion-tool-helpers.js.map +1 -0
  503. package/dist/core/compaction/context-deletion-tools.d.ts +4 -0
  504. package/dist/core/compaction/context-deletion-tools.d.ts.map +1 -0
  505. package/dist/core/compaction/context-deletion-tools.js +395 -0
  506. package/dist/core/compaction/context-deletion-tools.js.map +1 -0
  507. package/dist/core/compaction/context-transcript-analysis.d.ts +9 -0
  508. package/dist/core/compaction/context-transcript-analysis.d.ts.map +1 -0
  509. package/dist/core/compaction/context-transcript-analysis.js +234 -0
  510. package/dist/core/compaction/context-transcript-analysis.js.map +1 -0
  511. package/dist/core/export-html/index.d.ts.map +1 -1
  512. package/dist/core/export-html/index.js +2 -1
  513. package/dist/core/export-html/index.js.map +1 -1
  514. package/dist/core/export-html/template-js/data-tree.js +287 -0
  515. package/dist/core/export-html/template-js/entries-navigation.js +424 -0
  516. package/dist/core/export-html/template-js/initialization.js +312 -0
  517. package/dist/core/export-html/template-js/message-tools.js +415 -0
  518. package/dist/core/export-html/template-js/tree-filter-render.js +421 -0
  519. package/dist/core/export-html/template-script.d.ts +3 -0
  520. package/dist/core/export-html/template-script.d.ts.map +1 -0
  521. package/dist/core/export-html/template-script.js +13 -0
  522. package/dist/core/export-html/template-script.js.map +1 -0
  523. package/dist/core/export-html/template.js +3 -1
  524. package/dist/core/extensions/agent-events.d.ts +159 -0
  525. package/dist/core/extensions/agent-events.d.ts.map +1 -0
  526. package/dist/core/extensions/agent-events.js +2 -0
  527. package/dist/core/extensions/agent-events.js.map +1 -0
  528. package/dist/core/extensions/api-types.d.ts +189 -0
  529. package/dist/core/extensions/api-types.d.ts.map +1 -0
  530. package/dist/core/extensions/api-types.js +2 -0
  531. package/dist/core/extensions/api-types.js.map +1 -0
  532. package/dist/core/extensions/command-types.d.ts +14 -0
  533. package/dist/core/extensions/command-types.d.ts.map +1 -0
  534. package/dist/core/extensions/command-types.js +2 -0
  535. package/dist/core/extensions/command-types.js.map +1 -0
  536. package/dist/core/extensions/context-types.d.ts +130 -0
  537. package/dist/core/extensions/context-types.d.ts.map +1 -0
  538. package/dist/core/extensions/context-types.js +2 -0
  539. package/dist/core/extensions/context-types.js.map +1 -0
  540. package/dist/core/extensions/event-results.d.ts +61 -0
  541. package/dist/core/extensions/event-results.d.ts.map +1 -0
  542. package/dist/core/extensions/event-results.js +2 -0
  543. package/dist/core/extensions/event-results.js.map +1 -0
  544. package/dist/core/extensions/event-types.d.ts +6 -0
  545. package/dist/core/extensions/event-types.d.ts.map +1 -0
  546. package/dist/core/extensions/event-types.js +2 -0
  547. package/dist/core/extensions/event-types.js.map +1 -0
  548. package/dist/core/extensions/loader-api.d.ts +10 -0
  549. package/dist/core/extensions/loader-api.d.ts.map +1 -0
  550. package/dist/core/extensions/loader-api.js +143 -0
  551. package/dist/core/extensions/loader-api.js.map +1 -0
  552. package/dist/core/extensions/loader-core.d.ts +10 -0
  553. package/dist/core/extensions/loader-core.d.ts.map +1 -0
  554. package/dist/core/extensions/loader-core.js +98 -0
  555. package/dist/core/extensions/loader-core.js.map +1 -0
  556. package/dist/core/extensions/loader-discovery.d.ts +7 -0
  557. package/dist/core/extensions/loader-discovery.d.ts.map +1 -0
  558. package/dist/core/extensions/loader-discovery.js +139 -0
  559. package/dist/core/extensions/loader-discovery.js.map +1 -0
  560. package/dist/core/extensions/loader-resources.d.ts +11 -0
  561. package/dist/core/extensions/loader-resources.d.ts.map +1 -0
  562. package/dist/core/extensions/loader-resources.js +10 -0
  563. package/dist/core/extensions/loader-resources.js.map +1 -0
  564. package/dist/core/extensions/loader-runtime.d.ts +7 -0
  565. package/dist/core/extensions/loader-runtime.d.ts.map +1 -0
  566. package/dist/core/extensions/loader-runtime.js +51 -0
  567. package/dist/core/extensions/loader-runtime.js.map +1 -0
  568. package/dist/core/extensions/loader-virtual-modules.d.ts +9 -0
  569. package/dist/core/extensions/loader-virtual-modules.d.ts.map +1 -0
  570. package/dist/core/extensions/loader-virtual-modules.js +124 -0
  571. package/dist/core/extensions/loader-virtual-modules.js.map +1 -0
  572. package/dist/core/extensions/loader.d.ts +5 -28
  573. package/dist/core/extensions/loader.d.ts.map +1 -1
  574. package/dist/core/extensions/loader.js +4 -542
  575. package/dist/core/extensions/loader.js.map +1 -1
  576. package/dist/core/extensions/message-types.d.ts +34 -0
  577. package/dist/core/extensions/message-types.d.ts.map +1 -0
  578. package/dist/core/extensions/message-types.js +2 -0
  579. package/dist/core/extensions/message-types.js.map +1 -0
  580. package/dist/core/extensions/provider-types.d.ts +71 -0
  581. package/dist/core/extensions/provider-types.d.ts.map +1 -0
  582. package/dist/core/extensions/provider-types.js +2 -0
  583. package/dist/core/extensions/provider-types.js.map +1 -0
  584. package/dist/core/extensions/runner-context.d.ts +42 -0
  585. package/dist/core/extensions/runner-context.d.ts.map +1 -0
  586. package/dist/core/extensions/runner-context.js +112 -0
  587. package/dist/core/extensions/runner-context.js.map +1 -0
  588. package/dist/core/extensions/runner-events.d.ts +47 -0
  589. package/dist/core/extensions/runner-events.d.ts.map +1 -0
  590. package/dist/core/extensions/runner-events.js +280 -0
  591. package/dist/core/extensions/runner-events.js.map +1 -0
  592. package/dist/core/extensions/runner-handlers.d.ts +32 -0
  593. package/dist/core/extensions/runner-handlers.d.ts.map +1 -0
  594. package/dist/core/extensions/runner-handlers.js +2 -0
  595. package/dist/core/extensions/runner-handlers.js.map +1 -0
  596. package/dist/core/extensions/runner-project-trust.d.ts +6 -0
  597. package/dist/core/extensions/runner-project-trust.d.ts.map +1 -0
  598. package/dist/core/extensions/runner-project-trust.js +27 -0
  599. package/dist/core/extensions/runner-project-trust.js.map +1 -0
  600. package/dist/core/extensions/runner-registries.d.ts +8 -0
  601. package/dist/core/extensions/runner-registries.d.ts.map +1 -0
  602. package/dist/core/extensions/runner-registries.js +76 -0
  603. package/dist/core/extensions/runner-registries.js.map +1 -0
  604. package/dist/core/extensions/runner-shortcuts.d.ts +10 -0
  605. package/dist/core/extensions/runner-shortcuts.d.ts.map +1 -0
  606. package/dist/core/extensions/runner-shortcuts.js +71 -0
  607. package/dist/core/extensions/runner-shortcuts.js.map +1 -0
  608. package/dist/core/extensions/runner-ui.d.ts +3 -0
  609. package/dist/core/extensions/runner-ui.d.ts.map +1 -0
  610. package/dist/core/extensions/runner-ui.js +50 -0
  611. package/dist/core/extensions/runner-ui.js.map +1 -0
  612. package/dist/core/extensions/runner.d.ts +7 -74
  613. package/dist/core/extensions/runner.d.ts.map +1 -1
  614. package/dist/core/extensions/runner.js +67 -673
  615. package/dist/core/extensions/runner.js.map +1 -1
  616. package/dist/core/extensions/runtime-types.d.ts +179 -0
  617. package/dist/core/extensions/runtime-types.d.ts.map +1 -0
  618. package/dist/core/extensions/runtime-types.js +2 -0
  619. package/dist/core/extensions/runtime-types.js.map +1 -0
  620. package/dist/core/extensions/session-events.d.ts +89 -0
  621. package/dist/core/extensions/session-events.d.ts.map +1 -0
  622. package/dist/core/extensions/session-events.js +2 -0
  623. package/dist/core/extensions/session-events.js.map +1 -0
  624. package/dist/core/extensions/tool-events.d.ts +127 -0
  625. package/dist/core/extensions/tool-events.d.ts.map +1 -0
  626. package/dist/core/extensions/tool-events.js +26 -0
  627. package/dist/core/extensions/tool-events.js.map +1 -0
  628. package/dist/core/extensions/tool-types.d.ts +100 -0
  629. package/dist/core/extensions/tool-types.d.ts.map +1 -0
  630. package/dist/core/extensions/tool-types.js +11 -0
  631. package/dist/core/extensions/tool-types.js.map +1 -0
  632. package/dist/core/extensions/types.d.ts +20 -1288
  633. package/dist/core/extensions/types.d.ts.map +1 -1
  634. package/dist/core/extensions/types.js +4 -34
  635. package/dist/core/extensions/types.js.map +1 -1
  636. package/dist/core/extensions/ui-types.d.ts +200 -0
  637. package/dist/core/extensions/ui-types.d.ts.map +1 -0
  638. package/dist/core/extensions/ui-types.js +2 -0
  639. package/dist/core/extensions/ui-types.js.map +1 -0
  640. package/dist/core/index.d.ts +0 -1
  641. package/dist/core/index.d.ts.map +1 -1
  642. package/dist/core/index.js +0 -1
  643. package/dist/core/index.js.map +1 -1
  644. package/dist/core/model-registry-auth.d.ts +7 -0
  645. package/dist/core/model-registry-auth.d.ts.map +1 -0
  646. package/dist/core/model-registry-auth.js +64 -0
  647. package/dist/core/model-registry-auth.js.map +1 -0
  648. package/dist/core/model-registry-builtins.d.ts +9 -0
  649. package/dist/core/model-registry-builtins.d.ts.map +1 -0
  650. package/dist/core/model-registry-builtins.js +126 -0
  651. package/dist/core/model-registry-builtins.js.map +1 -0
  652. package/dist/core/model-registry-custom-loader.d.ts +3 -0
  653. package/dist/core/model-registry-custom-loader.d.ts.map +1 -0
  654. package/dist/core/model-registry-custom-loader.js +213 -0
  655. package/dist/core/model-registry-custom-loader.js.map +1 -0
  656. package/dist/core/model-registry-dynamic.d.ts +6 -0
  657. package/dist/core/model-registry-dynamic.d.ts.map +1 -0
  658. package/dist/core/model-registry-dynamic.js +155 -0
  659. package/dist/core/model-registry-dynamic.js.map +1 -0
  660. package/dist/core/model-registry-loader.d.ts +4 -0
  661. package/dist/core/model-registry-loader.d.ts.map +1 -0
  662. package/dist/core/model-registry-loader.js +20 -0
  663. package/dist/core/model-registry-loader.js.map +1 -0
  664. package/dist/core/model-registry-schemas.d.ts +1136 -0
  665. package/dist/core/model-registry-schemas.d.ts.map +1 -0
  666. package/dist/core/model-registry-schemas.js +171 -0
  667. package/dist/core/model-registry-schemas.js.map +1 -0
  668. package/dist/core/model-registry-types.d.ts +74 -0
  669. package/dist/core/model-registry-types.d.ts.map +1 -0
  670. package/dist/core/model-registry-types.js +2 -0
  671. package/dist/core/model-registry-types.js.map +1 -0
  672. package/dist/core/model-registry.d.ts +3 -76
  673. package/dist/core/model-registry.d.ts.map +1 -1
  674. package/dist/core/model-registry.js +24 -733
  675. package/dist/core/model-registry.js.map +1 -1
  676. package/dist/core/model-resolver-cli.d.ts +19 -0
  677. package/dist/core/model-resolver-cli.d.ts.map +1 -0
  678. package/dist/core/model-resolver-cli.js +118 -0
  679. package/dist/core/model-resolver-cli.js.map +1 -0
  680. package/dist/core/model-resolver-defaults.d.ts +5 -0
  681. package/dist/core/model-resolver-defaults.d.ts.map +1 -0
  682. package/dist/core/model-resolver-defaults.js +47 -0
  683. package/dist/core/model-resolver-defaults.js.map +1 -0
  684. package/dist/core/model-resolver-initial.d.ts +31 -0
  685. package/dist/core/model-resolver-initial.d.ts.map +1 -0
  686. package/dist/core/model-resolver-initial.js +116 -0
  687. package/dist/core/model-resolver-initial.js.map +1 -0
  688. package/dist/core/model-resolver-patterns.d.ts +26 -0
  689. package/dist/core/model-resolver-patterns.d.ts.map +1 -0
  690. package/dist/core/model-resolver-patterns.js +139 -0
  691. package/dist/core/model-resolver-patterns.js.map +1 -0
  692. package/dist/core/model-resolver-scope.d.ts +15 -0
  693. package/dist/core/model-resolver-scope.d.ts.map +1 -0
  694. package/dist/core/model-resolver-scope.js +66 -0
  695. package/dist/core/model-resolver-scope.js.map +1 -0
  696. package/dist/core/model-resolver-types.d.ts +29 -0
  697. package/dist/core/model-resolver-types.d.ts.map +1 -0
  698. package/dist/core/model-resolver-types.js +2 -0
  699. package/dist/core/model-resolver-types.js.map +1 -0
  700. package/dist/core/model-resolver.d.ts +6 -107
  701. package/dist/core/model-resolver.d.ts.map +1 -1
  702. package/dist/core/model-resolver.js +5 -549
  703. package/dist/core/model-resolver.js.map +1 -1
  704. package/dist/core/package-manager-auto-resources.d.ts +5 -0
  705. package/dist/core/package-manager-auto-resources.d.ts.map +1 -0
  706. package/dist/core/package-manager-auto-resources.js +109 -0
  707. package/dist/core/package-manager-auto-resources.js.map +1 -0
  708. package/dist/core/package-manager-command.d.ts +11 -0
  709. package/dist/core/package-manager-command.d.ts.map +1 -0
  710. package/dist/core/package-manager-command.js +102 -0
  711. package/dist/core/package-manager-command.js.map +1 -0
  712. package/dist/core/package-manager-constants.d.ts +4 -0
  713. package/dist/core/package-manager-constants.d.ts.map +1 -0
  714. package/dist/core/package-manager-constants.js +4 -0
  715. package/dist/core/package-manager-constants.js.map +1 -0
  716. package/dist/core/package-manager-env.d.ts +4 -0
  717. package/dist/core/package-manager-env.d.ts.map +1 -0
  718. package/dist/core/package-manager-env.js +40 -0
  719. package/dist/core/package-manager-env.js.map +1 -0
  720. package/dist/core/package-manager-git.d.ts +10 -0
  721. package/dist/core/package-manager-git.d.ts.map +1 -0
  722. package/dist/core/package-manager-git.js +271 -0
  723. package/dist/core/package-manager-git.js.map +1 -0
  724. package/dist/core/package-manager-manifest.d.ts +7 -0
  725. package/dist/core/package-manager-manifest.d.ts.map +1 -0
  726. package/dist/core/package-manager-manifest.js +45 -0
  727. package/dist/core/package-manager-manifest.js.map +1 -0
  728. package/dist/core/package-manager-npm.d.ts +25 -0
  729. package/dist/core/package-manager-npm.d.ts.map +1 -0
  730. package/dist/core/package-manager-npm.js +252 -0
  731. package/dist/core/package-manager-npm.js.map +1 -0
  732. package/dist/core/package-manager-operations.d.ts +11 -0
  733. package/dist/core/package-manager-operations.d.ts.map +1 -0
  734. package/dist/core/package-manager-operations.js +196 -0
  735. package/dist/core/package-manager-operations.js.map +1 -0
  736. package/dist/core/package-manager-paths.d.ts +14 -0
  737. package/dist/core/package-manager-paths.d.ts.map +1 -0
  738. package/dist/core/package-manager-paths.js +61 -0
  739. package/dist/core/package-manager-paths.js.map +1 -0
  740. package/dist/core/package-manager-progress.d.ts +4 -0
  741. package/dist/core/package-manager-progress.d.ts.map +1 -0
  742. package/dist/core/package-manager-progress.js +16 -0
  743. package/dist/core/package-manager-progress.js.map +1 -0
  744. package/dist/core/package-manager-resolver.d.ts +5 -0
  745. package/dist/core/package-manager-resolver.d.ts.map +1 -0
  746. package/dist/core/package-manager-resolver.js +149 -0
  747. package/dist/core/package-manager-resolver.js.map +1 -0
  748. package/dist/core/package-manager-resource-accumulator.d.ts +6 -0
  749. package/dist/core/package-manager-resource-accumulator.d.ts.map +1 -0
  750. package/dist/core/package-manager-resource-accumulator.js +67 -0
  751. package/dist/core/package-manager-resource-accumulator.js.map +1 -0
  752. package/dist/core/package-manager-resource-collector.d.ts +5 -0
  753. package/dist/core/package-manager-resource-collector.d.ts.map +1 -0
  754. package/dist/core/package-manager-resource-collector.js +148 -0
  755. package/dist/core/package-manager-resource-collector.js.map +1 -0
  756. package/dist/core/package-manager-resource-files.d.ts +14 -0
  757. package/dist/core/package-manager-resource-files.d.ts.map +1 -0
  758. package/dist/core/package-manager-resource-files.js +265 -0
  759. package/dist/core/package-manager-resource-files.js.map +1 -0
  760. package/dist/core/package-manager-resource-patterns.d.ts +12 -0
  761. package/dist/core/package-manager-resource-patterns.d.ts.map +1 -0
  762. package/dist/core/package-manager-resource-patterns.js +136 -0
  763. package/dist/core/package-manager-resource-patterns.js.map +1 -0
  764. package/dist/core/package-manager-settings.d.ts +10 -0
  765. package/dist/core/package-manager-settings.d.ts.map +1 -0
  766. package/dist/core/package-manager-settings.js +91 -0
  767. package/dist/core/package-manager-settings.js.map +1 -0
  768. package/dist/core/package-manager-source.d.ts +21 -0
  769. package/dist/core/package-manager-source.d.ts.map +1 -0
  770. package/dist/core/package-manager-source.js +146 -0
  771. package/dist/core/package-manager-source.js.map +1 -0
  772. package/dist/core/package-manager-types.d.ts +169 -0
  773. package/dist/core/package-manager-types.d.ts.map +1 -0
  774. package/dist/core/package-manager-types.js +9 -0
  775. package/dist/core/package-manager-types.js.map +1 -0
  776. package/dist/core/package-manager.d.ts +9 -174
  777. package/dist/core/package-manager.d.ts.map +1 -1
  778. package/dist/core/package-manager.js +56 -2100
  779. package/dist/core/package-manager.js.map +1 -1
  780. package/dist/core/resource-loader-assets.d.ts +6 -0
  781. package/dist/core/resource-loader-assets.d.ts.map +1 -0
  782. package/dist/core/resource-loader-assets.js +209 -0
  783. package/dist/core/resource-loader-assets.js.map +1 -0
  784. package/dist/core/resource-loader-context-files.d.ts +10 -0
  785. package/dist/core/resource-loader-context-files.d.ts.map +1 -0
  786. package/dist/core/resource-loader-context-files.js +74 -0
  787. package/dist/core/resource-loader-context-files.js.map +1 -0
  788. package/dist/core/resource-loader-core.d.ts +83 -0
  789. package/dist/core/resource-loader-core.d.ts.map +1 -0
  790. package/dist/core/resource-loader-core.js +170 -0
  791. package/dist/core/resource-loader-core.js.map +1 -0
  792. package/dist/core/resource-loader-discovery.d.ts +4 -0
  793. package/dist/core/resource-loader-discovery.d.ts.map +1 -0
  794. package/dist/core/resource-loader-discovery.js +28 -0
  795. package/dist/core/resource-loader-discovery.js.map +1 -0
  796. package/dist/core/resource-loader-extensions.d.ts +13 -0
  797. package/dist/core/resource-loader-extensions.d.ts.map +1 -0
  798. package/dist/core/resource-loader-extensions.js +110 -0
  799. package/dist/core/resource-loader-extensions.js.map +1 -0
  800. package/dist/core/resource-loader-helpers.d.ts +4 -0
  801. package/dist/core/resource-loader-helpers.d.ts.map +1 -0
  802. package/dist/core/resource-loader-helpers.js +23 -0
  803. package/dist/core/resource-loader-helpers.js.map +1 -0
  804. package/dist/core/resource-loader-internals.d.ts +97 -0
  805. package/dist/core/resource-loader-internals.d.ts.map +1 -0
  806. package/dist/core/resource-loader-internals.js +4 -0
  807. package/dist/core/resource-loader-internals.js.map +1 -0
  808. package/dist/core/resource-loader-package-resources.d.ts +31 -0
  809. package/dist/core/resource-loader-package-resources.d.ts.map +1 -0
  810. package/dist/core/resource-loader-package-resources.js +112 -0
  811. package/dist/core/resource-loader-package-resources.js.map +1 -0
  812. package/dist/core/resource-loader-paths.d.ts +4 -0
  813. package/dist/core/resource-loader-paths.d.ts.map +1 -0
  814. package/dist/core/resource-loader-paths.js +22 -0
  815. package/dist/core/resource-loader-paths.js.map +1 -0
  816. package/dist/core/resource-loader-reload.d.ts +6 -0
  817. package/dist/core/resource-loader-reload.d.ts.map +1 -0
  818. package/dist/core/resource-loader-reload.js +230 -0
  819. package/dist/core/resource-loader-reload.js.map +1 -0
  820. package/dist/core/resource-loader-source-info.d.ts +9 -0
  821. package/dist/core/resource-loader-source-info.d.ts.map +1 -0
  822. package/dist/core/resource-loader-source-info.js +101 -0
  823. package/dist/core/resource-loader-source-info.js.map +1 -0
  824. package/dist/core/resource-loader-types.d.ts +130 -0
  825. package/dist/core/resource-loader-types.d.ts.map +1 -0
  826. package/dist/core/resource-loader-types.js +2 -0
  827. package/dist/core/resource-loader-types.js.map +1 -0
  828. package/dist/core/resource-loader.d.ts +3 -242
  829. package/dist/core/resource-loader.d.ts.map +1 -1
  830. package/dist/core/resource-loader.js +2 -976
  831. package/dist/core/resource-loader.js.map +1 -1
  832. package/dist/core/sdk-exports.d.ts +7 -0
  833. package/dist/core/sdk-exports.d.ts.map +1 -0
  834. package/dist/core/sdk-exports.js +5 -0
  835. package/dist/core/sdk-exports.js.map +1 -0
  836. package/dist/core/sdk-types.d.ts +83 -0
  837. package/dist/core/sdk-types.d.ts.map +1 -0
  838. package/dist/core/sdk-types.js +2 -0
  839. package/dist/core/sdk-types.js.map +1 -0
  840. package/dist/core/sdk.d.ts +3 -91
  841. package/dist/core/sdk.d.ts.map +1 -1
  842. package/dist/core/sdk.js +2 -7
  843. package/dist/core/sdk.js.map +1 -1
  844. package/dist/core/session-manager-archive.d.ts +27 -0
  845. package/dist/core/session-manager-archive.d.ts.map +1 -0
  846. package/dist/core/session-manager-archive.js +114 -0
  847. package/dist/core/session-manager-archive.js.map +1 -0
  848. package/dist/core/session-manager-core.d.ts +104 -0
  849. package/dist/core/session-manager-core.d.ts.map +1 -0
  850. package/dist/core/session-manager-core.js +346 -0
  851. package/dist/core/session-manager-core.js.map +1 -0
  852. package/dist/core/session-manager-entries.d.ts +38 -0
  853. package/dist/core/session-manager-entries.d.ts.map +1 -0
  854. package/dist/core/session-manager-entries.js +124 -0
  855. package/dist/core/session-manager-entries.js.map +1 -0
  856. package/dist/core/session-manager-history.d.ts +38 -0
  857. package/dist/core/session-manager-history.d.ts.map +1 -0
  858. package/dist/core/session-manager-history.js +379 -0
  859. package/dist/core/session-manager-history.js.map +1 -0
  860. package/dist/core/session-manager-list.d.ts +5 -0
  861. package/dist/core/session-manager-list.d.ts.map +1 -0
  862. package/dist/core/session-manager-list.js +196 -0
  863. package/dist/core/session-manager-list.js.map +1 -0
  864. package/dist/core/session-manager-migrations.d.ts +11 -0
  865. package/dist/core/session-manager-migrations.d.ts.map +1 -0
  866. package/dist/core/session-manager-migrations.js +80 -0
  867. package/dist/core/session-manager-migrations.js.map +1 -0
  868. package/dist/core/session-manager-paths.d.ts +7 -0
  869. package/dist/core/session-manager-paths.d.ts.map +1 -0
  870. package/dist/core/session-manager-paths.js +22 -0
  871. package/dist/core/session-manager-paths.js.map +1 -0
  872. package/dist/core/session-manager-storage.d.ts +15 -0
  873. package/dist/core/session-manager-storage.d.ts.map +1 -0
  874. package/dist/core/session-manager-storage.js +127 -0
  875. package/dist/core/session-manager-storage.js.map +1 -0
  876. package/dist/core/session-manager-types.d.ts +172 -0
  877. package/dist/core/session-manager-types.d.ts.map +1 -0
  878. package/dist/core/session-manager-types.js +2 -0
  879. package/dist/core/session-manager-types.js.map +1 -0
  880. package/dist/core/session-manager-validation.d.ts +7 -0
  881. package/dist/core/session-manager-validation.d.ts.map +1 -0
  882. package/dist/core/session-manager-validation.js +34 -0
  883. package/dist/core/session-manager-validation.js.map +1 -0
  884. package/dist/core/session-manager.d.ts +8 -390
  885. package/dist/core/session-manager.d.ts.map +1 -1
  886. package/dist/core/session-manager.js +7 -1418
  887. package/dist/core/session-manager.js.map +1 -1
  888. package/dist/core/settings-manager-basic-accessors.d.ts +65 -0
  889. package/dist/core/settings-manager-basic-accessors.d.ts.map +1 -0
  890. package/dist/core/settings-manager-basic-accessors.js +253 -0
  891. package/dist/core/settings-manager-basic-accessors.js.map +1 -0
  892. package/dist/core/settings-manager-core.d.ts +57 -0
  893. package/dist/core/settings-manager-core.d.ts.map +1 -0
  894. package/dist/core/settings-manager-core.js +387 -0
  895. package/dist/core/settings-manager-core.js.map +1 -0
  896. package/dist/core/settings-manager-internals.d.ts +13 -0
  897. package/dist/core/settings-manager-internals.d.ts.map +1 -0
  898. package/dist/core/settings-manager-internals.js +4 -0
  899. package/dist/core/settings-manager-internals.js.map +1 -0
  900. package/dist/core/settings-manager-resource-accessors.d.ts +43 -0
  901. package/dist/core/settings-manager-resource-accessors.d.ts.map +1 -0
  902. package/dist/core/settings-manager-resource-accessors.js +172 -0
  903. package/dist/core/settings-manager-resource-accessors.js.map +1 -0
  904. package/dist/core/settings-manager-ui-accessors.d.ts +44 -0
  905. package/dist/core/settings-manager-ui-accessors.d.ts.map +1 -0
  906. package/dist/core/settings-manager-ui-accessors.js +208 -0
  907. package/dist/core/settings-manager-ui-accessors.js.map +1 -0
  908. package/dist/core/settings-manager.d.ts +6 -321
  909. package/dist/core/settings-manager.d.ts.map +1 -1
  910. package/dist/core/settings-manager.js +5 -1060
  911. package/dist/core/settings-manager.js.map +1 -1
  912. package/dist/core/settings-merge.d.ts +4 -0
  913. package/dist/core/settings-merge.d.ts.map +1 -0
  914. package/dist/core/settings-merge.js +26 -0
  915. package/dist/core/settings-merge.js.map +1 -0
  916. package/dist/core/settings-storage.d.ts +20 -0
  917. package/dist/core/settings-storage.d.ts.map +1 -0
  918. package/dist/core/settings-storage.js +100 -0
  919. package/dist/core/settings-storage.js.map +1 -0
  920. package/dist/core/settings-types.d.ts +123 -0
  921. package/dist/core/settings-types.d.ts.map +1 -0
  922. package/dist/core/settings-types.js +2 -0
  923. package/dist/core/settings-types.js.map +1 -0
  924. package/dist/core/system-prompt.d.ts.map +1 -1
  925. package/dist/core/system-prompt.js +7 -0
  926. package/dist/core/system-prompt.js.map +1 -1
  927. package/dist/core/tools/bash.d.ts +0 -5
  928. package/dist/core/tools/bash.d.ts.map +1 -1
  929. package/dist/core/tools/bash.js +10 -11
  930. package/dist/core/tools/bash.js.map +1 -1
  931. package/dist/core/tools/edit-diff-preserve.d.ts +18 -0
  932. package/dist/core/tools/edit-diff-preserve.d.ts.map +1 -0
  933. package/dist/core/tools/edit-diff-preserve.js +85 -0
  934. package/dist/core/tools/edit-diff-preserve.js.map +1 -0
  935. package/dist/core/tools/edit-diff.d.ts +3 -2
  936. package/dist/core/tools/edit-diff.d.ts.map +1 -1
  937. package/dist/core/tools/edit-diff.js +15 -18
  938. package/dist/core/tools/edit-diff.js.map +1 -1
  939. package/dist/core/tools/index.d.ts +0 -1
  940. package/dist/core/tools/index.d.ts.map +1 -1
  941. package/dist/core/tools/index.js +0 -1
  942. package/dist/core/tools/index.js.map +1 -1
  943. package/dist/core/tools/todos-execute.d.ts +5 -0
  944. package/dist/core/tools/todos-execute.d.ts.map +1 -0
  945. package/dist/core/tools/todos-execute.js +200 -0
  946. package/dist/core/tools/todos-execute.js.map +1 -0
  947. package/dist/core/tools/todos-locks.d.ts +4 -0
  948. package/dist/core/tools/todos-locks.d.ts.map +1 -0
  949. package/dist/core/tools/todos-locks.js +80 -0
  950. package/dist/core/tools/todos-locks.js.map +1 -0
  951. package/dist/core/tools/todos-model.d.ts +21 -0
  952. package/dist/core/tools/todos-model.d.ts.map +1 -0
  953. package/dist/core/tools/todos-model.js +71 -0
  954. package/dist/core/tools/todos-model.js.map +1 -0
  955. package/dist/core/tools/todos-mutations.d.ts +6 -0
  956. package/dist/core/tools/todos-mutations.d.ts.map +1 -0
  957. package/dist/core/tools/todos-mutations.js +85 -0
  958. package/dist/core/tools/todos-mutations.js.map +1 -0
  959. package/dist/core/tools/todos-paths.d.ts +5 -0
  960. package/dist/core/tools/todos-paths.d.ts.map +1 -0
  961. package/dist/core/tools/todos-paths.js +25 -0
  962. package/dist/core/tools/todos-paths.js.map +1 -0
  963. package/dist/core/tools/todos-render.d.ts +10 -0
  964. package/dist/core/tools/todos-render.d.ts.map +1 -0
  965. package/dist/core/tools/todos-render.js +159 -0
  966. package/dist/core/tools/todos-render.js.map +1 -0
  967. package/dist/core/tools/todos-storage.d.ts +9 -0
  968. package/dist/core/tools/todos-storage.d.ts.map +1 -0
  969. package/dist/core/tools/todos-storage.js +183 -0
  970. package/dist/core/tools/todos-storage.js.map +1 -0
  971. package/dist/core/tools/todos-types.d.ts +46 -0
  972. package/dist/core/tools/todos-types.d.ts.map +1 -0
  973. package/dist/core/tools/todos-types.js +27 -0
  974. package/dist/core/tools/todos-types.js.map +1 -0
  975. package/dist/core/tools/todos.d.ts +12 -32
  976. package/dist/core/tools/todos.d.ts.map +1 -1
  977. package/dist/core/tools/todos.js +7 -893
  978. package/dist/core/tools/todos.js.map +1 -1
  979. package/dist/index-extensions.d.ts +3 -0
  980. package/dist/index-extensions.d.ts.map +1 -0
  981. package/dist/index-extensions.js +2 -0
  982. package/dist/index-extensions.js.map +1 -0
  983. package/dist/index.d.ts +3 -4
  984. package/dist/index.d.ts.map +1 -1
  985. package/dist/index.js +2 -2
  986. package/dist/index.js.map +1 -1
  987. package/dist/main-app-mode.d.ts +15 -0
  988. package/dist/main-app-mode.d.ts.map +1 -0
  989. package/dist/main-app-mode.js +51 -0
  990. package/dist/main-app-mode.js.map +1 -0
  991. package/dist/main-session-options.d.ts +12 -0
  992. package/dist/main-session-options.d.ts.map +1 -0
  993. package/dist/main-session-options.js +87 -0
  994. package/dist/main-session-options.js.map +1 -0
  995. package/dist/main-session.d.ts +9 -0
  996. package/dist/main-session.d.ts.map +1 -0
  997. package/dist/main-session.js +188 -0
  998. package/dist/main-session.js.map +1 -0
  999. package/dist/main-stdio.d.ts +12 -0
  1000. package/dist/main-stdio.d.ts.map +1 -0
  1001. package/dist/main-stdio.js +68 -0
  1002. package/dist/main-stdio.js.map +1 -0
  1003. package/dist/main.d.ts +2 -3
  1004. package/dist/main.d.ts.map +1 -1
  1005. package/dist/main.js +11 -388
  1006. package/dist/main.js.map +1 -1
  1007. package/dist/migrations-config-values.d.ts +9 -0
  1008. package/dist/migrations-config-values.d.ts.map +1 -0
  1009. package/dist/migrations-config-values.js +298 -0
  1010. package/dist/migrations-config-values.js.map +1 -0
  1011. package/dist/migrations.d.ts.map +1 -1
  1012. package/dist/migrations.js +2 -296
  1013. package/dist/migrations.js.map +1 -1
  1014. package/dist/modes/interactive/components/chat-message-renderer.d.ts.map +1 -1
  1015. package/dist/modes/interactive/components/chat-message-renderer.js +0 -7
  1016. package/dist/modes/interactive/components/chat-message-renderer.js.map +1 -1
  1017. package/dist/modes/interactive/components/chat-session-host-actions.d.ts +9 -0
  1018. package/dist/modes/interactive/components/chat-session-host-actions.d.ts.map +1 -0
  1019. package/dist/modes/interactive/components/chat-session-host-actions.js +244 -0
  1020. package/dist/modes/interactive/components/chat-session-host-actions.js.map +1 -0
  1021. package/dist/modes/interactive/components/chat-session-host-editor.d.ts +18 -0
  1022. package/dist/modes/interactive/components/chat-session-host-editor.d.ts.map +1 -0
  1023. package/dist/modes/interactive/components/chat-session-host-editor.js +165 -0
  1024. package/dist/modes/interactive/components/chat-session-host-editor.js.map +1 -0
  1025. package/dist/modes/interactive/components/chat-session-host-events.d.ts +5 -0
  1026. package/dist/modes/interactive/components/chat-session-host-events.d.ts.map +1 -0
  1027. package/dist/modes/interactive/components/chat-session-host-events.js +200 -0
  1028. package/dist/modes/interactive/components/chat-session-host-events.js.map +1 -0
  1029. package/dist/modes/interactive/components/chat-session-host-rendering.d.ts +13 -0
  1030. package/dist/modes/interactive/components/chat-session-host-rendering.d.ts.map +1 -0
  1031. package/dist/modes/interactive/components/chat-session-host-rendering.js +185 -0
  1032. package/dist/modes/interactive/components/chat-session-host-rendering.js.map +1 -0
  1033. package/dist/modes/interactive/components/chat-session-host-runtime.d.ts +13 -0
  1034. package/dist/modes/interactive/components/chat-session-host-runtime.d.ts.map +1 -0
  1035. package/dist/modes/interactive/components/chat-session-host-runtime.js +101 -0
  1036. package/dist/modes/interactive/components/chat-session-host-runtime.js.map +1 -0
  1037. package/dist/modes/interactive/components/chat-session-host-state.d.ts +53 -0
  1038. package/dist/modes/interactive/components/chat-session-host-state.d.ts.map +1 -0
  1039. package/dist/modes/interactive/components/chat-session-host-state.js +42 -0
  1040. package/dist/modes/interactive/components/chat-session-host-state.js.map +1 -0
  1041. package/dist/modes/interactive/components/chat-session-host-types.d.ts +63 -0
  1042. package/dist/modes/interactive/components/chat-session-host-types.d.ts.map +1 -0
  1043. package/dist/modes/interactive/components/chat-session-host-types.js +2 -0
  1044. package/dist/modes/interactive/components/chat-session-host-types.js.map +1 -0
  1045. package/dist/modes/interactive/components/chat-session-host-utils.d.ts +28 -0
  1046. package/dist/modes/interactive/components/chat-session-host-utils.d.ts.map +1 -0
  1047. package/dist/modes/interactive/components/chat-session-host-utils.js +103 -0
  1048. package/dist/modes/interactive/components/chat-session-host-utils.js.map +1 -0
  1049. package/dist/modes/interactive/components/chat-session-host.d.ts +6 -129
  1050. package/dist/modes/interactive/components/chat-session-host.d.ts.map +1 -1
  1051. package/dist/modes/interactive/components/chat-session-host.js +50 -1022
  1052. package/dist/modes/interactive/components/chat-session-host.js.map +1 -1
  1053. package/dist/modes/interactive/components/config-selector-list.d.ts +65 -0
  1054. package/dist/modes/interactive/components/config-selector-list.d.ts.map +1 -0
  1055. package/dist/modes/interactive/components/config-selector-list.js +458 -0
  1056. package/dist/modes/interactive/components/config-selector-list.js.map +1 -0
  1057. package/dist/modes/interactive/components/config-selector.d.ts +3 -58
  1058. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  1059. package/dist/modes/interactive/components/config-selector.js +2 -457
  1060. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  1061. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  1062. package/dist/modes/interactive/components/model-selector.js +2 -2
  1063. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  1064. package/dist/modes/interactive/components/session-selector-delete.d.ts +10 -0
  1065. package/dist/modes/interactive/components/session-selector-delete.d.ts.map +1 -0
  1066. package/dist/modes/interactive/components/session-selector-delete.js +40 -0
  1067. package/dist/modes/interactive/components/session-selector-delete.js.map +1 -0
  1068. package/dist/modes/interactive/components/session-selector-header.d.ts +33 -0
  1069. package/dist/modes/interactive/components/session-selector-header.d.ts.map +1 -0
  1070. package/dist/modes/interactive/components/session-selector-header.js +117 -0
  1071. package/dist/modes/interactive/components/session-selector-header.js.map +1 -0
  1072. package/dist/modes/interactive/components/session-selector-list.d.ts +49 -0
  1073. package/dist/modes/interactive/components/session-selector-list.d.ts.map +1 -0
  1074. package/dist/modes/interactive/components/session-selector-list.js +307 -0
  1075. package/dist/modes/interactive/components/session-selector-list.js.map +1 -0
  1076. package/dist/modes/interactive/components/session-selector-tree.d.ts +25 -0
  1077. package/dist/modes/interactive/components/session-selector-tree.d.ts.map +1 -0
  1078. package/dist/modes/interactive/components/session-selector-tree.js +53 -0
  1079. package/dist/modes/interactive/components/session-selector-tree.js.map +1 -0
  1080. package/dist/modes/interactive/components/session-selector-types.d.ts +4 -0
  1081. package/dist/modes/interactive/components/session-selector-types.d.ts.map +1 -0
  1082. package/dist/modes/interactive/components/session-selector-types.js +2 -0
  1083. package/dist/modes/interactive/components/session-selector-types.js.map +1 -0
  1084. package/dist/modes/interactive/components/session-selector-utils.d.ts +4 -0
  1085. package/dist/modes/interactive/components/session-selector-utils.d.ts.map +1 -0
  1086. package/dist/modes/interactive/components/session-selector-utils.js +37 -0
  1087. package/dist/modes/interactive/components/session-selector-utils.js.map +1 -0
  1088. package/dist/modes/interactive/components/session-selector.d.ts +3 -49
  1089. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  1090. package/dist/modes/interactive/components/session-selector.js +5 -542
  1091. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  1092. package/dist/modes/interactive/components/settings-selector-handlers.d.ts +3 -0
  1093. package/dist/modes/interactive/components/settings-selector-handlers.d.ts.map +1 -0
  1094. package/dist/modes/interactive/components/settings-selector-handlers.js +84 -0
  1095. package/dist/modes/interactive/components/settings-selector-handlers.js.map +1 -0
  1096. package/dist/modes/interactive/components/settings-selector-items.d.ts +4 -0
  1097. package/dist/modes/interactive/components/settings-selector-items.d.ts.map +1 -0
  1098. package/dist/modes/interactive/components/settings-selector-items.js +211 -0
  1099. package/dist/modes/interactive/components/settings-selector-items.js.map +1 -0
  1100. package/dist/modes/interactive/components/settings-selector-options.d.ts +6 -0
  1101. package/dist/modes/interactive/components/settings-selector-options.d.ts.map +1 -0
  1102. package/dist/modes/interactive/components/settings-selector-options.js +14 -0
  1103. package/dist/modes/interactive/components/settings-selector-options.js.map +1 -0
  1104. package/dist/modes/interactive/components/settings-selector-submenus.d.ts +44 -0
  1105. package/dist/modes/interactive/components/settings-selector-submenus.d.ts.map +1 -0
  1106. package/dist/modes/interactive/components/settings-selector-submenus.js +228 -0
  1107. package/dist/modes/interactive/components/settings-selector-submenus.js.map +1 -0
  1108. package/dist/modes/interactive/components/settings-selector-types.d.ts +67 -0
  1109. package/dist/modes/interactive/components/settings-selector-types.d.ts.map +1 -0
  1110. package/dist/modes/interactive/components/settings-selector-types.js +2 -0
  1111. package/dist/modes/interactive/components/settings-selector-types.js.map +1 -0
  1112. package/dist/modes/interactive/components/settings-selector.d.ts +2 -63
  1113. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  1114. package/dist/modes/interactive/components/settings-selector.js +5 -538
  1115. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  1116. package/dist/modes/interactive/components/tree-selector-component.d.ts +21 -0
  1117. package/dist/modes/interactive/components/tree-selector-component.d.ts.map +1 -0
  1118. package/dist/modes/interactive/components/tree-selector-component.js +80 -0
  1119. package/dist/modes/interactive/components/tree-selector-component.js.map +1 -0
  1120. package/dist/modes/interactive/components/tree-selector-content.d.ts +8 -0
  1121. package/dist/modes/interactive/components/tree-selector-content.d.ts.map +1 -0
  1122. package/dist/modes/interactive/components/tree-selector-content.js +263 -0
  1123. package/dist/modes/interactive/components/tree-selector-content.js.map +1 -0
  1124. package/dist/modes/interactive/components/tree-selector-help.d.ts +16 -0
  1125. package/dist/modes/interactive/components/tree-selector-help.d.ts.map +1 -0
  1126. package/dist/modes/interactive/components/tree-selector-help.js +103 -0
  1127. package/dist/modes/interactive/components/tree-selector-help.js.map +1 -0
  1128. package/dist/modes/interactive/components/tree-selector-label-input.d.ts +16 -0
  1129. package/dist/modes/interactive/components/tree-selector-label-input.d.ts.map +1 -0
  1130. package/dist/modes/interactive/components/tree-selector-label-input.js +46 -0
  1131. package/dist/modes/interactive/components/tree-selector-label-input.js.map +1 -0
  1132. package/dist/modes/interactive/components/tree-selector-list.d.ts +33 -0
  1133. package/dist/modes/interactive/components/tree-selector-list.d.ts.map +1 -0
  1134. package/dist/modes/interactive/components/tree-selector-list.js +336 -0
  1135. package/dist/modes/interactive/components/tree-selector-list.js.map +1 -0
  1136. package/dist/modes/interactive/components/tree-selector-model.d.ts +7 -0
  1137. package/dist/modes/interactive/components/tree-selector-model.d.ts.map +1 -0
  1138. package/dist/modes/interactive/components/tree-selector-model.js +358 -0
  1139. package/dist/modes/interactive/components/tree-selector-model.js.map +1 -0
  1140. package/dist/modes/interactive/components/tree-selector-types.d.ts +57 -0
  1141. package/dist/modes/interactive/components/tree-selector-types.d.ts.map +1 -0
  1142. package/dist/modes/interactive/components/tree-selector-types.js +6 -0
  1143. package/dist/modes/interactive/components/tree-selector-types.js.map +1 -0
  1144. package/dist/modes/interactive/components/tree-selector-viewport.d.ts +10 -0
  1145. package/dist/modes/interactive/components/tree-selector-viewport.d.ts.map +1 -0
  1146. package/dist/modes/interactive/components/tree-selector-viewport.js +32 -0
  1147. package/dist/modes/interactive/components/tree-selector-viewport.js.map +1 -0
  1148. package/dist/modes/interactive/components/tree-selector.d.ts +2 -88
  1149. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
  1150. package/dist/modes/interactive/components/tree-selector.js +1 -1200
  1151. package/dist/modes/interactive/components/tree-selector.js.map +1 -1
  1152. package/dist/modes/interactive/interactive-agent-events.d.ts +2 -0
  1153. package/dist/modes/interactive/interactive-agent-events.d.ts.map +1 -0
  1154. package/dist/modes/interactive/interactive-agent-events.js +370 -0
  1155. package/dist/modes/interactive/interactive-agent-events.js.map +1 -0
  1156. package/dist/modes/interactive/interactive-auth-login.d.ts +2 -0
  1157. package/dist/modes/interactive/interactive-auth-login.d.ts.map +1 -0
  1158. package/dist/modes/interactive/interactive-auth-login.js +214 -0
  1159. package/dist/modes/interactive/interactive-auth-login.js.map +1 -0
  1160. package/dist/modes/interactive/interactive-auth-routing.d.ts +2 -0
  1161. package/dist/modes/interactive/interactive-auth-routing.d.ts.map +1 -0
  1162. package/dist/modes/interactive/interactive-auth-routing.js +128 -0
  1163. package/dist/modes/interactive/interactive-auth-routing.js.map +1 -0
  1164. package/dist/modes/interactive/interactive-autocomplete.d.ts +2 -0
  1165. package/dist/modes/interactive/interactive-autocomplete.d.ts.map +1 -0
  1166. package/dist/modes/interactive/interactive-autocomplete.js +140 -0
  1167. package/dist/modes/interactive/interactive-autocomplete.js.map +1 -0
  1168. package/dist/modes/interactive/interactive-bash-compact.d.ts +2 -0
  1169. package/dist/modes/interactive/interactive-bash-compact.d.ts.map +1 -0
  1170. package/dist/modes/interactive/interactive-bash-compact.js +112 -0
  1171. package/dist/modes/interactive/interactive-bash-compact.js.map +1 -0
  1172. package/dist/modes/interactive/interactive-editor-actions.d.ts +2 -0
  1173. package/dist/modes/interactive/interactive-editor-actions.d.ts.map +1 -0
  1174. package/dist/modes/interactive/interactive-editor-actions.js +131 -0
  1175. package/dist/modes/interactive/interactive-editor-actions.js.map +1 -0
  1176. package/dist/modes/interactive/interactive-extension-context.d.ts +2 -0
  1177. package/dist/modes/interactive/interactive-extension-context.d.ts.map +1 -0
  1178. package/dist/modes/interactive/interactive-extension-context.js +159 -0
  1179. package/dist/modes/interactive/interactive-extension-context.js.map +1 -0
  1180. package/dist/modes/interactive/interactive-extension-custom-ui.d.ts +2 -0
  1181. package/dist/modes/interactive/interactive-extension-custom-ui.d.ts.map +1 -0
  1182. package/dist/modes/interactive/interactive-extension-custom-ui.js +208 -0
  1183. package/dist/modes/interactive/interactive-extension-custom-ui.js.map +1 -0
  1184. package/dist/modes/interactive/interactive-extension-dialogs.d.ts +2 -0
  1185. package/dist/modes/interactive/interactive-extension-dialogs.d.ts.map +1 -0
  1186. package/dist/modes/interactive/interactive-extension-dialogs.js +162 -0
  1187. package/dist/modes/interactive/interactive-extension-dialogs.js.map +1 -0
  1188. package/dist/modes/interactive/interactive-extension-runtime.d.ts +2 -0
  1189. package/dist/modes/interactive/interactive-extension-runtime.d.ts.map +1 -0
  1190. package/dist/modes/interactive/interactive-extension-runtime.js +179 -0
  1191. package/dist/modes/interactive/interactive-extension-runtime.js.map +1 -0
  1192. package/dist/modes/interactive/interactive-extension-widgets.d.ts +2 -0
  1193. package/dist/modes/interactive/interactive-extension-widgets.d.ts.map +1 -0
  1194. package/dist/modes/interactive/interactive-extension-widgets.js +113 -0
  1195. package/dist/modes/interactive/interactive-extension-widgets.js.map +1 -0
  1196. package/dist/modes/interactive/interactive-hotkeys-debug.d.ts +2 -0
  1197. package/dist/modes/interactive/interactive-hotkeys-debug.d.ts.map +1 -0
  1198. package/dist/modes/interactive/interactive-hotkeys-debug.js +186 -0
  1199. package/dist/modes/interactive/interactive-hotkeys-debug.js.map +1 -0
  1200. package/dist/modes/interactive/interactive-input-handling.d.ts +2 -0
  1201. package/dist/modes/interactive/interactive-input-handling.d.ts.map +1 -0
  1202. package/dist/modes/interactive/interactive-input-handling.js +275 -0
  1203. package/dist/modes/interactive/interactive-input-handling.js.map +1 -0
  1204. package/dist/modes/interactive/interactive-mode-base.d.ts +103 -0
  1205. package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -0
  1206. package/dist/modes/interactive/interactive-mode-base.js +130 -0
  1207. package/dist/modes/interactive/interactive-mode-base.js.map +1 -0
  1208. package/dist/modes/interactive/interactive-mode-deps.d.ts +81 -0
  1209. package/dist/modes/interactive/interactive-mode-deps.d.ts.map +1 -0
  1210. package/dist/modes/interactive/interactive-mode-deps.js +74 -0
  1211. package/dist/modes/interactive/interactive-mode-deps.js.map +1 -0
  1212. package/dist/modes/interactive/interactive-mode-helpers.d.ts +21 -0
  1213. package/dist/modes/interactive/interactive-mode-helpers.d.ts.map +1 -0
  1214. package/dist/modes/interactive/interactive-mode-helpers.js +77 -0
  1215. package/dist/modes/interactive/interactive-mode-helpers.js.map +1 -0
  1216. package/dist/modes/interactive/interactive-mode-surface.d.ts +313 -0
  1217. package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -0
  1218. package/dist/modes/interactive/interactive-mode-surface.js +2 -0
  1219. package/dist/modes/interactive/interactive-mode-surface.js.map +1 -0
  1220. package/dist/modes/interactive/interactive-mode-types.d.ts +29 -0
  1221. package/dist/modes/interactive/interactive-mode-types.d.ts.map +1 -0
  1222. package/dist/modes/interactive/interactive-mode-types.js +2 -0
  1223. package/dist/modes/interactive/interactive-mode-types.js.map +1 -0
  1224. package/dist/modes/interactive/interactive-mode.d.ts +30 -404
  1225. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  1226. package/dist/modes/interactive/interactive-mode.js +29 -5260
  1227. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  1228. package/dist/modes/interactive/interactive-model-routing.d.ts +2 -0
  1229. package/dist/modes/interactive/interactive-model-routing.d.ts.map +1 -0
  1230. package/dist/modes/interactive/interactive-model-routing.js +269 -0
  1231. package/dist/modes/interactive/interactive-model-routing.js.map +1 -0
  1232. package/dist/modes/interactive/interactive-process-lifecycle.d.ts +2 -0
  1233. package/dist/modes/interactive/interactive-process-lifecycle.d.ts.map +1 -0
  1234. package/dist/modes/interactive/interactive-process-lifecycle.js +189 -0
  1235. package/dist/modes/interactive/interactive-process-lifecycle.js.map +1 -0
  1236. package/dist/modes/interactive/interactive-queueing.d.ts +2 -0
  1237. package/dist/modes/interactive/interactive-queueing.d.ts.map +1 -0
  1238. package/dist/modes/interactive/interactive-queueing.js +163 -0
  1239. package/dist/modes/interactive/interactive-queueing.js.map +1 -0
  1240. package/dist/modes/interactive/interactive-render-chat.d.ts +2 -0
  1241. package/dist/modes/interactive/interactive-render-chat.d.ts.map +1 -0
  1242. package/dist/modes/interactive/interactive-render-chat.js +170 -0
  1243. package/dist/modes/interactive/interactive-render-chat.js.map +1 -0
  1244. package/dist/modes/interactive/interactive-resource-disclosure.d.ts +2 -0
  1245. package/dist/modes/interactive/interactive-resource-disclosure.d.ts.map +1 -0
  1246. package/dist/modes/interactive/interactive-resource-disclosure.js +101 -0
  1247. package/dist/modes/interactive/interactive-resource-disclosure.js.map +1 -0
  1248. package/dist/modes/interactive/interactive-resource-paths.d.ts +2 -0
  1249. package/dist/modes/interactive/interactive-resource-paths.d.ts.map +1 -0
  1250. package/dist/modes/interactive/interactive-resource-paths.js +228 -0
  1251. package/dist/modes/interactive/interactive-resource-paths.js.map +1 -0
  1252. package/dist/modes/interactive/interactive-resource-rendering.d.ts +2 -0
  1253. package/dist/modes/interactive/interactive-resource-rendering.d.ts.map +1 -0
  1254. package/dist/modes/interactive/interactive-resource-rendering.js +181 -0
  1255. package/dist/modes/interactive/interactive-resource-rendering.js.map +1 -0
  1256. package/dist/modes/interactive/interactive-selectors.d.ts +2 -0
  1257. package/dist/modes/interactive/interactive-selectors.d.ts.map +1 -0
  1258. package/dist/modes/interactive/interactive-selectors.js +198 -0
  1259. package/dist/modes/interactive/interactive-selectors.js.map +1 -0
  1260. package/dist/modes/interactive/interactive-session-routing.d.ts +2 -0
  1261. package/dist/modes/interactive/interactive-session-routing.d.ts.map +1 -0
  1262. package/dist/modes/interactive/interactive-session-routing.js +232 -0
  1263. package/dist/modes/interactive/interactive-session-routing.js.map +1 -0
  1264. package/dist/modes/interactive/interactive-session-runtime.d.ts +2 -0
  1265. package/dist/modes/interactive/interactive-session-runtime.d.ts.map +1 -0
  1266. package/dist/modes/interactive/interactive-session-runtime.js +131 -0
  1267. package/dist/modes/interactive/interactive-session-runtime.js.map +1 -0
  1268. package/dist/modes/interactive/interactive-slash-commands.d.ts +2 -0
  1269. package/dist/modes/interactive/interactive-slash-commands.d.ts.map +1 -0
  1270. package/dist/modes/interactive/interactive-slash-commands.js +338 -0
  1271. package/dist/modes/interactive/interactive-slash-commands.js.map +1 -0
  1272. package/dist/modes/interactive/interactive-startup.d.ts +2 -0
  1273. package/dist/modes/interactive/interactive-startup.d.ts.map +1 -0
  1274. package/dist/modes/interactive/interactive-startup.js +348 -0
  1275. package/dist/modes/interactive/interactive-startup.js.map +1 -0
  1276. package/dist/modes/interactive/model-search.d.ts +5 -0
  1277. package/dist/modes/interactive/model-search.d.ts.map +1 -1
  1278. package/dist/modes/interactive/model-search.js +9 -0
  1279. package/dist/modes/interactive/model-search.js.map +1 -1
  1280. package/dist/modes/interactive/theme/color-utils.d.ts +20 -0
  1281. package/dist/modes/interactive/theme/color-utils.d.ts.map +1 -0
  1282. package/dist/modes/interactive/theme/color-utils.js +204 -0
  1283. package/dist/modes/interactive/theme/color-utils.js.map +1 -0
  1284. package/dist/modes/interactive/theme/export-colors.d.ts +19 -0
  1285. package/dist/modes/interactive/theme/export-colors.d.ts.map +1 -0
  1286. package/dist/modes/interactive/theme/export-colors.js +69 -0
  1287. package/dist/modes/interactive/theme/export-colors.js.map +1 -0
  1288. package/dist/modes/interactive/theme/global-theme.d.ts +12 -0
  1289. package/dist/modes/interactive/theme/global-theme.d.ts.map +1 -0
  1290. package/dist/modes/interactive/theme/global-theme.js +150 -0
  1291. package/dist/modes/interactive/theme/global-theme.js.map +1 -0
  1292. package/dist/modes/interactive/theme/terminal-detection.d.ts +30 -0
  1293. package/dist/modes/interactive/theme/terminal-detection.d.ts.map +1 -0
  1294. package/dist/modes/interactive/theme/terminal-detection.js +89 -0
  1295. package/dist/modes/interactive/theme/terminal-detection.js.map +1 -0
  1296. package/dist/modes/interactive/theme/theme-class.d.ts +30 -0
  1297. package/dist/modes/interactive/theme/theme-class.d.ts.map +1 -0
  1298. package/dist/modes/interactive/theme/theme-class.js +83 -0
  1299. package/dist/modes/interactive/theme/theme-class.js.map +1 -0
  1300. package/dist/modes/interactive/theme/theme-loading.d.ts +17 -0
  1301. package/dist/modes/interactive/theme/theme-loading.d.ts.map +1 -0
  1302. package/dist/modes/interactive/theme/theme-loading.js +155 -0
  1303. package/dist/modes/interactive/theme/theme-loading.js.map +1 -0
  1304. package/dist/modes/interactive/theme/theme-parse.d.ts +5 -0
  1305. package/dist/modes/interactive/theme/theme-parse.d.ts.map +1 -0
  1306. package/dist/modes/interactive/theme/theme-parse.js +52 -0
  1307. package/dist/modes/interactive/theme/theme-parse.js.map +1 -0
  1308. package/dist/modes/interactive/theme/theme-schema.d.ts +255 -0
  1309. package/dist/modes/interactive/theme/theme-schema.d.ts.map +1 -0
  1310. package/dist/modes/interactive/theme/theme-schema.js +78 -0
  1311. package/dist/modes/interactive/theme/theme-schema.js.map +1 -0
  1312. package/dist/modes/interactive/theme/theme.d.ts +6 -108
  1313. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  1314. package/dist/modes/interactive/theme/theme.js +6 -1065
  1315. package/dist/modes/interactive/theme/theme.js.map +1 -1
  1316. package/dist/modes/interactive/theme/tui-theme.d.ts +15 -0
  1317. package/dist/modes/interactive/theme/tui-theme.d.ts.map +1 -0
  1318. package/dist/modes/interactive/theme/tui-theme.js +199 -0
  1319. package/dist/modes/interactive/theme/tui-theme.js.map +1 -0
  1320. package/dist/modes/rpc/rpc-client.d.ts +1 -61
  1321. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  1322. package/dist/modes/rpc/rpc-client.js +1 -72
  1323. package/dist/modes/rpc/rpc-client.js.map +1 -1
  1324. package/dist/modes/rpc/rpc-command-handler.d.ts +14 -0
  1325. package/dist/modes/rpc/rpc-command-handler.d.ts.map +1 -0
  1326. package/dist/modes/rpc/rpc-command-handler.js +226 -0
  1327. package/dist/modes/rpc/rpc-command-handler.js.map +1 -0
  1328. package/dist/modes/rpc/rpc-extension-ui.d.ts +15 -0
  1329. package/dist/modes/rpc/rpc-extension-ui.d.ts.map +1 -0
  1330. package/dist/modes/rpc/rpc-extension-ui.js +196 -0
  1331. package/dist/modes/rpc/rpc-extension-ui.js.map +1 -0
  1332. package/dist/modes/rpc/rpc-input.d.ts +12 -0
  1333. package/dist/modes/rpc/rpc-input.d.ts.map +1 -0
  1334. package/dist/modes/rpc/rpc-input.js +54 -0
  1335. package/dist/modes/rpc/rpc-input.js.map +1 -0
  1336. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  1337. package/dist/modes/rpc/rpc-mode.js +43 -607
  1338. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  1339. package/dist/modes/rpc/rpc-responses.d.ts +8 -0
  1340. package/dist/modes/rpc/rpc-responses.d.ts.map +1 -0
  1341. package/dist/modes/rpc/rpc-responses.js +27 -0
  1342. package/dist/modes/rpc/rpc-responses.js.map +1 -0
  1343. package/dist/modes/rpc/rpc-session-binding.d.ts +25 -0
  1344. package/dist/modes/rpc/rpc-session-binding.d.ts.map +1 -0
  1345. package/dist/modes/rpc/rpc-session-binding.js +70 -0
  1346. package/dist/modes/rpc/rpc-session-binding.js.map +1 -0
  1347. package/dist/package-manager-cli-parser.d.ts +28 -0
  1348. package/dist/package-manager-cli-parser.d.ts.map +1 -0
  1349. package/dist/package-manager-cli-parser.js +269 -0
  1350. package/dist/package-manager-cli-parser.js.map +1 -0
  1351. package/dist/package-manager-cli.d.ts +0 -1
  1352. package/dist/package-manager-cli.d.ts.map +1 -1
  1353. package/dist/package-manager-cli.js +2 -267
  1354. package/dist/package-manager-cli.js.map +1 -1
  1355. package/dist/utils/git.d.ts.map +1 -1
  1356. package/dist/utils/git.js +10 -0
  1357. package/dist/utils/git.js.map +1 -1
  1358. package/dist/utils/shell.d.ts +1 -0
  1359. package/dist/utils/shell.d.ts.map +1 -1
  1360. package/dist/utils/shell.js +12 -5
  1361. package/dist/utils/shell.js.map +1 -1
  1362. package/dist/utils/version-check.d.ts +1 -0
  1363. package/dist/utils/version-check.d.ts.map +1 -1
  1364. package/dist/utils/version-check.js +17 -0
  1365. package/dist/utils/version-check.js.map +1 -1
  1366. package/docs/custom-provider.md +4 -3
  1367. package/docs/development.md +4 -0
  1368. package/docs/models.md +3 -2
  1369. package/docs/packages.md +2 -2
  1370. package/docs/quickstart.md +1 -1
  1371. package/docs/sdk.md +2 -40
  1372. package/docs/security.md +1 -1
  1373. package/docs/workflows.md +246 -179
  1374. package/examples/extensions/custom-provider-anthropic/index.ts +1 -106
  1375. package/examples/extensions/gondolin/index.ts +0 -23
  1376. package/examples/extensions/overlay-qa-animation-components.ts +255 -0
  1377. package/examples/extensions/overlay-qa-focus-components.ts +222 -0
  1378. package/examples/extensions/overlay-qa-position-components.ts +433 -0
  1379. package/examples/extensions/overlay-qa-shared.ts +37 -0
  1380. package/examples/extensions/overlay-qa-streaming-input-components.ts +205 -0
  1381. package/examples/extensions/overlay-qa-tests.ts +17 -1156
  1382. package/examples/extensions/overlay-qa-toggle-passive-components.ts +169 -0
  1383. package/examples/extensions/space-invaders.ts +0 -60
  1384. package/examples/extensions/subagent/display.ts +148 -0
  1385. package/examples/extensions/subagent/index.ts +11 -858
  1386. package/examples/extensions/subagent/render.ts +383 -0
  1387. package/examples/extensions/subagent/runner.ts +252 -0
  1388. package/examples/extensions/subagent/schemas.ts +59 -0
  1389. package/examples/extensions/subagent/types.ts +36 -0
  1390. package/examples/extensions/tic-tac-toe-instructions.ts +65 -0
  1391. package/examples/extensions/tic-tac-toe-rendering.ts +414 -0
  1392. package/examples/extensions/tic-tac-toe-state.ts +158 -0
  1393. package/examples/extensions/tic-tac-toe.ts +92 -754
  1394. package/examples/rpc-extension-ui-components.ts +189 -0
  1395. package/examples/rpc-extension-ui.ts +2 -179
  1396. package/package.json +7 -7
  1397. package/dist/builtin/workflows/src/workflows/define-workflow.ts +0 -277
  1398. package/dist/core/tools/bash-policy.d.ts +0 -62
  1399. package/dist/core/tools/bash-policy.d.ts.map +0 -1
  1400. package/dist/core/tools/bash-policy.js +0 -1069
  1401. package/dist/core/tools/bash-policy.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"model-resolver.d.ts","sourceRoot":"","sources":["../../src/core/model-resolver.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,KAAK,EAAkB,MAAM,uBAAuB,CAAC;AAK7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,gDAAgD;AAChD,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAmC1D,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,kGAAkG;IAClG,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAeD;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,GAC5B,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CA0CxB;AA4CD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAC9B,6EAA6E;IAC7E,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAmCD,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAIjC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,EAC7B,OAAO,CAAC,EAAE;IAAE,iCAAiC,CAAC,EAAE,OAAO,CAAA;CAAE,GACxD,iBAAiB,CAiDnB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAAE,EAClB,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,WAAW,EAAE,CAAC,CAwExB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAC9B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B;;;OAGG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,aAAa,CAAC;CAC9B,GAAG,qBAAqB,CA8JxB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAC9B,aAAa,EAAE,aAAa,CAAC;IAC7B,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,aAAa,CAAC;IACrC,aAAa,EAAE,aAAa,CAAC;CAC9B,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAiG9B;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,EACpC,mBAAmB,EAAE,OAAO,EAC5B,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC;IACT,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAC9B,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC,CAAC,CAkFD","sourcesContent":["/**\n * Model resolution, scoping, and initial selection\n */\n\nimport type { ThinkingLevel } from \"@earendil-works/pi-agent-core\";\nimport { type Api, type Model, modelsAreEqual } from \"@earendil-works/pi-ai\";\nimport chalk from \"chalk\";\nimport { minimatch } from \"minimatch\";\nimport { isValidThinkingLevel } from \"../cli/args.ts\";\nimport { DEFAULT_THINKING_LEVEL } from \"./defaults.ts\";\nimport type { ModelRegistry } from \"./model-registry.ts\";\n\n/** Default model IDs for each known provider */\nexport const defaultModelPerProvider: Record<string, string> = {\n \"amazon-bedrock\": \"us.anthropic.claude-opus-4-6-v1\",\n anthropic: \"claude-opus-4-8\",\n openai: \"gpt-5.4\",\n \"azure-openai-responses\": \"gpt-5.4\",\n \"openai-codex\": \"gpt-5.5\",\n deepseek: \"deepseek-v4-pro\",\n google: \"gemini-3.1-pro-preview\",\n \"google-vertex\": \"gemini-3.1-pro-preview\",\n \"github-copilot\": \"gpt-5.4\",\n cursor: \"composer-2\",\n openrouter: \"moonshotai/kimi-k2.6\",\n \"vercel-ai-gateway\": \"zai/glm-5.1\",\n xai: \"grok-4.20-0309-reasoning\",\n groq: \"openai/gpt-oss-120b\",\n cerebras: \"zai-glm-4.7\",\n \"ant-ling\": \"Ring-2.6-1T\",\n zai: \"glm-5.1\",\n mistral: \"devstral-medium-latest\",\n minimax: \"MiniMax-M2.7\",\n \"minimax-cn\": \"MiniMax-M2.7\",\n moonshotai: \"kimi-k2.6\",\n \"moonshotai-cn\": \"kimi-k2.6\",\n huggingface: \"moonshotai/Kimi-K2.6\",\n fireworks: \"accounts/fireworks/models/kimi-k2p6\",\n together: \"moonshotai/Kimi-K2.6\",\n opencode: \"kimi-k2.6\",\n \"opencode-go\": \"kimi-k2.6\",\n \"kimi-coding\": \"kimi-for-coding\",\n \"cloudflare-workers-ai\": \"@cf/moonshotai/kimi-k2.6\",\n \"cloudflare-ai-gateway\": \"workers-ai/@cf/moonshotai/kimi-k2.6\",\n xiaomi: \"mimo-v2.5-pro\",\n \"xiaomi-token-plan-cn\": \"mimo-v2.5-pro\",\n \"xiaomi-token-plan-ams\": \"mimo-v2.5-pro\",\n \"xiaomi-token-plan-sgp\": \"mimo-v2.5-pro\",\n};\n\nexport interface ScopedModel {\n model: Model<Api>;\n /** Thinking level if explicitly specified in pattern (e.g., \"model:high\"), undefined otherwise */\n thinkingLevel?: ThinkingLevel;\n}\n\n/**\n * Helper to check if a model ID looks like an alias (no date suffix)\n * Dates are typically in format: -20241022 or -20250929\n */\nfunction isAlias(id: string): boolean {\n // Check if ID ends with -latest\n if (id.endsWith(\"-latest\")) return true;\n\n // Check if ID ends with a date pattern (-YYYYMMDD)\n const datePattern = /-\\d{8}$/;\n return !datePattern.test(id);\n}\n\n/**\n * Find an exact model reference match.\n * Supports either a bare model id or a canonical provider/modelId reference.\n * When matching by bare id, ambiguous matches across providers are rejected.\n */\nexport function findExactModelReferenceMatch(\n modelReference: string,\n availableModels: Model<Api>[],\n): Model<Api> | undefined {\n const trimmedReference = modelReference.trim();\n if (!trimmedReference) {\n return undefined;\n }\n\n const normalizedReference = trimmedReference.toLowerCase();\n\n const canonicalMatches = availableModels.filter(\n (model) =>\n `${model.provider}/${model.id}`.toLowerCase() === normalizedReference,\n );\n if (canonicalMatches.length === 1) {\n return canonicalMatches[0];\n }\n if (canonicalMatches.length > 1) {\n return undefined;\n }\n\n const slashIndex = trimmedReference.indexOf(\"/\");\n if (slashIndex !== -1) {\n const provider = trimmedReference.substring(0, slashIndex).trim();\n const modelId = trimmedReference.substring(slashIndex + 1).trim();\n if (provider && modelId) {\n const providerMatches = availableModels.filter(\n (model) =>\n model.provider.toLowerCase() === provider.toLowerCase() &&\n model.id.toLowerCase() === modelId.toLowerCase(),\n );\n if (providerMatches.length === 1) {\n return providerMatches[0];\n }\n if (providerMatches.length > 1) {\n return undefined;\n }\n }\n }\n\n const idMatches = availableModels.filter(\n (model) => model.id.toLowerCase() === normalizedReference,\n );\n return idMatches.length === 1 ? idMatches[0] : undefined;\n}\n\n/**\n * Try to match a pattern to a model from the available models list.\n * Returns the matched model or undefined if no match found.\n */\nfunction tryMatchModel(\n modelPattern: string,\n availableModels: Model<Api>[],\n): Model<Api> | undefined {\n const exactMatch = findExactModelReferenceMatch(\n modelPattern,\n availableModels,\n );\n if (exactMatch) {\n return exactMatch;\n }\n\n // No exact match - fall back to partial matching\n const matches = availableModels.filter(\n (m) =>\n m.id.toLowerCase().includes(modelPattern.toLowerCase()) ||\n m.name?.toLowerCase().includes(modelPattern.toLowerCase()),\n );\n\n if (matches.length === 0) {\n return undefined;\n }\n\n // Separate into aliases and dated versions\n const aliases = matches.filter((m) => isAlias(m.id));\n const datedVersions = matches.filter((m) => !isAlias(m.id));\n\n if (aliases.length > 0) {\n // Prefer alias - if multiple aliases, pick the one that sorts highest\n aliases.sort((a, b) => b.id.localeCompare(a.id));\n return aliases[0];\n } else {\n // No alias found, pick latest dated version\n datedVersions.sort((a, b) => b.id.localeCompare(a.id));\n return datedVersions[0];\n }\n}\n\nexport interface ParsedModelResult {\n model: Model<Api> | undefined;\n /** Thinking level if explicitly specified in pattern, undefined otherwise */\n thinkingLevel?: ThinkingLevel;\n warning: string | undefined;\n}\n\nfunction buildFallbackModel(\n provider: string,\n modelId: string,\n availableModels: Model<Api>[],\n): Model<Api> | undefined {\n const providerModels = availableModels.filter((m) => m.provider === provider);\n if (providerModels.length === 0) return undefined;\n\n const defaultId = defaultModelPerProvider[provider];\n const baseModel = defaultId\n ? (providerModels.find((m) => m.id === defaultId) ?? providerModels[0])\n : providerModels[0];\n\n const fallbackContextWindow = baseModel.contextWindow;\n\n return {\n ...baseModel,\n id: modelId,\n name: modelId,\n contextWindow: fallbackContextWindow,\n defaultContextWindow: fallbackContextWindow,\n contextWindowOptions: undefined,\n };\n}\n\nasync function buildConfiguredProviderFallbackModel(\n provider: string,\n modelId: string,\n modelRegistry: ModelRegistry,\n): Promise<Model<Api> | undefined> {\n return buildFallbackModel(provider, modelId, await modelRegistry.getAvailable());\n}\n\nexport async function resolveSavedModelReference(\n provider: string,\n modelId: string,\n modelRegistry: ModelRegistry,\n): Promise<Model<Api> | undefined> {\n const found = modelRegistry.find(provider, modelId);\n if (found) return found;\n return buildConfiguredProviderFallbackModel(provider, modelId, modelRegistry);\n}\n\n/**\n * Parse a pattern to extract model and thinking level.\n * Handles models with colons in their IDs (e.g., OpenRouter's :exacto suffix).\n *\n * Algorithm:\n * 1. Try to match full pattern as a model\n * 2. If found, return it with \"off\" thinking level\n * 3. If not found and has colons, split on last colon:\n * - If suffix is valid thinking level, use it and recurse on prefix\n * - If suffix is invalid, warn and recurse on prefix with \"off\"\n *\n * @internal Exported for testing\n */\nexport function parseModelPattern(\n pattern: string,\n availableModels: Model<Api>[],\n options?: { allowInvalidThinkingLevelFallback?: boolean },\n): ParsedModelResult {\n // Try exact match first\n const exactMatch = tryMatchModel(pattern, availableModels);\n if (exactMatch) {\n return { model: exactMatch, thinkingLevel: undefined, warning: undefined };\n }\n\n // No match - try splitting on last colon if present\n const lastColonIndex = pattern.lastIndexOf(\":\");\n if (lastColonIndex === -1) {\n // No colons, pattern simply doesn't match any model\n return { model: undefined, thinkingLevel: undefined, warning: undefined };\n }\n\n const prefix = pattern.substring(0, lastColonIndex);\n const suffix = pattern.substring(lastColonIndex + 1);\n\n if (isValidThinkingLevel(suffix)) {\n // Valid thinking level - recurse on prefix and use this level\n const result = parseModelPattern(prefix, availableModels, options);\n if (result.model) {\n // Only use this thinking level if no warning from inner recursion\n return {\n model: result.model,\n thinkingLevel: result.warning ? undefined : suffix,\n warning: result.warning,\n };\n }\n return result;\n } else {\n // Invalid suffix\n const allowFallback = options?.allowInvalidThinkingLevelFallback ?? true;\n if (!allowFallback) {\n // In strict mode (CLI --model parsing), treat it as part of the model id and fail.\n // This avoids accidentally resolving to a different model.\n return { model: undefined, thinkingLevel: undefined, warning: undefined };\n }\n\n // Scope mode: recurse on prefix and warn\n const result = parseModelPattern(prefix, availableModels, options);\n if (result.model) {\n return {\n model: result.model,\n thinkingLevel: undefined,\n warning: `Invalid thinking level \"${suffix}\" in pattern \"${pattern}\". Using default instead.`,\n };\n }\n return result;\n }\n}\n\n/**\n * Resolve model patterns to actual Model objects with optional thinking levels\n * Format: \"pattern:level\" where :level is optional\n * For each pattern, finds all matching models and picks the best version:\n * 1. Prefer alias (e.g., claude-sonnet-4-5) over dated versions (claude-sonnet-4-5-20250929)\n * 2. If no alias, pick the latest dated version\n *\n * Supports models with colons in their IDs (e.g., OpenRouter's model:exacto).\n * The algorithm tries to match the full pattern first, then progressively\n * strips colon-suffixes to find a match.\n */\nexport async function resolveModelScope(\n patterns: string[],\n modelRegistry: ModelRegistry,\n): Promise<ScopedModel[]> {\n const availableModels = await modelRegistry.getAvailable();\n const scopedModels: ScopedModel[] = [];\n\n for (const pattern of patterns) {\n // Check if pattern contains glob characters\n if (\n pattern.includes(\"*\") ||\n pattern.includes(\"?\") ||\n pattern.includes(\"[\")\n ) {\n // Extract optional thinking level suffix (e.g., \"provider/*:high\")\n const colonIdx = pattern.lastIndexOf(\":\");\n let globPattern = pattern;\n let thinkingLevel: ThinkingLevel | undefined;\n\n if (colonIdx !== -1) {\n const suffix = pattern.substring(colonIdx + 1);\n if (isValidThinkingLevel(suffix)) {\n thinkingLevel = suffix;\n globPattern = pattern.substring(0, colonIdx);\n }\n }\n\n // Match against \"provider/modelId\" format OR just model ID\n // This allows \"*sonnet*\" to match without requiring \"anthropic/*sonnet*\"\n const matchingModels = availableModels.filter((m) => {\n const fullId = `${m.provider}/${m.id}`;\n return (\n minimatch(fullId, globPattern, { nocase: true }) ||\n minimatch(m.id, globPattern, { nocase: true })\n );\n });\n\n if (matchingModels.length === 0) {\n console.warn(\n chalk.yellow(`Warning: No models match pattern \"${pattern}\"`),\n );\n continue;\n }\n\n for (const model of matchingModels) {\n if (!scopedModels.find((sm) => modelsAreEqual(sm.model, model))) {\n scopedModels.push({ model, thinkingLevel });\n }\n }\n continue;\n }\n\n const { model, thinkingLevel, warning } = parseModelPattern(\n pattern,\n availableModels,\n );\n\n if (warning) {\n console.warn(chalk.yellow(`Warning: ${warning}`));\n }\n\n if (!model) {\n console.warn(\n chalk.yellow(`Warning: No models match pattern \"${pattern}\"`),\n );\n continue;\n }\n\n // Avoid duplicates\n if (!scopedModels.find((sm) => modelsAreEqual(sm.model, model))) {\n scopedModels.push({ model, thinkingLevel });\n }\n }\n\n return scopedModels;\n}\n\nexport interface ResolveCliModelResult {\n model: Model<Api> | undefined;\n thinkingLevel?: ThinkingLevel;\n warning: string | undefined;\n /**\n * Error message suitable for CLI display.\n * When set, model will be undefined.\n */\n error: string | undefined;\n}\n\n/**\n * Resolve a single model from CLI flags.\n *\n * Supports:\n * - --provider <provider> --model <pattern>\n * - --model <provider>/<pattern>\n * - Fuzzy matching (same rules as model scoping: exact id, then partial id/name)\n *\n * Note: This does not apply the thinking level by itself, but it may *parse* and\n * return a thinking level from \"<pattern>:<thinking>\" so the caller can apply it.\n */\nexport function resolveCliModel(options: {\n cliProvider?: string;\n cliModel?: string;\n modelRegistry: ModelRegistry;\n}): ResolveCliModelResult {\n const { cliProvider, cliModel, modelRegistry } = options;\n\n if (!cliModel) {\n return { model: undefined, warning: undefined, error: undefined };\n }\n\n // Important: use *all* models here, not just models with pre-configured auth.\n // This allows \"--api-key\" to be used for first-time setup.\n const availableModels = modelRegistry.getAll();\n if (availableModels.length === 0) {\n return {\n model: undefined,\n warning: undefined,\n error:\n \"No models available. Check your installation or add models to models.json.\",\n };\n }\n\n // Build canonical provider lookup (case-insensitive)\n const providerMap = new Map<string, string>();\n for (const m of availableModels) {\n providerMap.set(m.provider.toLowerCase(), m.provider);\n }\n\n let provider = cliProvider\n ? providerMap.get(cliProvider.toLowerCase())\n : undefined;\n if (cliProvider && !provider) {\n return {\n model: undefined,\n warning: undefined,\n error: `Unknown provider \"${cliProvider}\". Use --list-models to see available providers/models.`,\n };\n }\n\n // If no explicit --provider, try to interpret \"provider/model\" format first.\n // When the prefix before the first slash matches a known provider, prefer that\n // interpretation over matching models whose IDs literally contain slashes\n // (e.g. \"zai/glm-5\" should resolve to provider=zai, model=glm-5, not to a\n // vercel-ai-gateway model with id \"zai/glm-5\").\n let pattern = cliModel;\n let inferredProvider = false;\n\n if (!provider) {\n const slashIndex = cliModel.indexOf(\"/\");\n if (slashIndex !== -1) {\n const maybeProvider = cliModel.substring(0, slashIndex);\n const canonical = providerMap.get(maybeProvider.toLowerCase());\n if (canonical) {\n provider = canonical;\n pattern = cliModel.substring(slashIndex + 1);\n inferredProvider = true;\n }\n }\n }\n\n // If no provider was inferred from the slash, try exact matches without provider inference.\n // This handles models whose IDs naturally contain slashes (e.g. OpenRouter-style IDs).\n if (!provider) {\n const lower = cliModel.toLowerCase();\n const exact = availableModels.find(\n (m) =>\n m.id.toLowerCase() === lower ||\n `${m.provider}/${m.id}`.toLowerCase() === lower,\n );\n if (exact) {\n return {\n model: exact,\n warning: undefined,\n thinkingLevel: undefined,\n error: undefined,\n };\n }\n }\n\n if (cliProvider && provider) {\n // If both were provided, tolerate --model <provider>/<pattern> by stripping the provider prefix\n const prefix = `${provider}/`;\n if (cliModel.toLowerCase().startsWith(prefix.toLowerCase())) {\n pattern = cliModel.substring(prefix.length);\n }\n }\n\n const candidates = provider\n ? availableModels.filter((m) => m.provider === provider)\n : availableModels;\n const { model, thinkingLevel, warning } = parseModelPattern(\n pattern,\n candidates,\n {\n allowInvalidThinkingLevelFallback: false,\n },\n );\n\n if (model) {\n return { model, thinkingLevel, warning, error: undefined };\n }\n\n // If we inferred a provider from the slash but found no match within that provider,\n // fall back to matching the full input as a raw model id across all models.\n // This handles OpenRouter-style IDs like \"openai/gpt-4o:extended\" where \"openai\"\n // looks like a provider but the full string is actually a model id on openrouter.\n if (inferredProvider) {\n const lower = cliModel.toLowerCase();\n const exact = availableModels.find(\n (m) =>\n m.id.toLowerCase() === lower ||\n `${m.provider}/${m.id}`.toLowerCase() === lower,\n );\n if (exact) {\n return {\n model: exact,\n warning: undefined,\n thinkingLevel: undefined,\n error: undefined,\n };\n }\n // Also try parseModelPattern on the full input against all models\n const fallback = parseModelPattern(cliModel, availableModels, {\n allowInvalidThinkingLevelFallback: false,\n });\n if (fallback.model) {\n return {\n model: fallback.model,\n thinkingLevel: fallback.thinkingLevel,\n warning: fallback.warning,\n error: undefined,\n };\n }\n }\n\n if (provider) {\n const fallbackModel = buildFallbackModel(\n provider,\n pattern,\n availableModels,\n );\n if (fallbackModel) {\n const fallbackWarning = warning\n ? `${warning} Model \"${pattern}\" not found for provider \"${provider}\". Using custom model id.`\n : `Model \"${pattern}\" not found for provider \"${provider}\". Using custom model id.`;\n return {\n model: fallbackModel,\n thinkingLevel: undefined,\n warning: fallbackWarning,\n error: undefined,\n };\n }\n }\n\n const display = provider ? `${provider}/${pattern}` : cliModel;\n return {\n model: undefined,\n thinkingLevel: undefined,\n warning,\n error: `Model \"${display}\" not found. Use --list-models to see available models.`,\n };\n}\n\nexport interface InitialModelResult {\n model: Model<Api> | undefined;\n thinkingLevel: ThinkingLevel;\n fallbackMessage: string | undefined;\n}\n\n/**\n * Find the initial model to use based on priority:\n * 1. CLI args (provider + model)\n * 2. First model from scoped models (if not continuing/resuming)\n * 3. Restored from session (if continuing/resuming)\n * 4. Saved default from settings\n * 5. First available model with valid API key\n */\nexport async function findInitialModel(options: {\n cliProvider?: string;\n cliModel?: string;\n scopedModels: ScopedModel[];\n isContinuing: boolean;\n defaultProvider?: string;\n defaultModelId?: string;\n defaultThinkingLevel?: ThinkingLevel;\n modelRegistry: ModelRegistry;\n}): Promise<InitialModelResult> {\n const {\n cliProvider,\n cliModel,\n scopedModels,\n isContinuing,\n defaultProvider,\n defaultModelId,\n defaultThinkingLevel,\n modelRegistry,\n } = options;\n\n let model: Model<Api> | undefined;\n let thinkingLevel: ThinkingLevel = DEFAULT_THINKING_LEVEL;\n\n // 1. CLI args take priority\n if (cliProvider && cliModel) {\n const resolved = resolveCliModel({\n cliProvider,\n cliModel,\n modelRegistry,\n });\n if (resolved.error) {\n console.error(chalk.red(resolved.error));\n process.exit(1);\n }\n if (resolved.model) {\n return {\n model: resolved.model,\n thinkingLevel: DEFAULT_THINKING_LEVEL,\n fallbackMessage: undefined,\n };\n }\n }\n\n // 2. Use first model from scoped models (skip if continuing/resuming)\n if (scopedModels.length > 0 && !isContinuing) {\n return {\n model: scopedModels[0].model,\n thinkingLevel:\n scopedModels[0].thinkingLevel ??\n defaultThinkingLevel ??\n DEFAULT_THINKING_LEVEL,\n fallbackMessage: undefined,\n };\n }\n\n // 3. Try saved default from settings\n if (defaultProvider && defaultModelId) {\n const found = await resolveSavedModelReference(\n defaultProvider,\n defaultModelId,\n modelRegistry,\n );\n if (found) {\n model = found;\n if (defaultThinkingLevel) {\n thinkingLevel = defaultThinkingLevel;\n }\n return { model, thinkingLevel, fallbackMessage: undefined };\n }\n }\n\n // 4. Try first available model with valid API key\n const availableModels = await modelRegistry.getAvailable();\n\n if (availableModels.length > 0) {\n // Try to find a default model from known providers\n for (const [provider, defaultId] of Object.entries(\n defaultModelPerProvider,\n )) {\n const match = availableModels.find(\n (m) => m.provider === provider && m.id === defaultId,\n );\n if (match) {\n return {\n model: match,\n thinkingLevel: DEFAULT_THINKING_LEVEL,\n fallbackMessage: undefined,\n };\n }\n }\n\n // If no default found, use first available\n return {\n model: availableModels[0],\n thinkingLevel: DEFAULT_THINKING_LEVEL,\n fallbackMessage: undefined,\n };\n }\n\n // 5. No model found\n return {\n model: undefined,\n thinkingLevel: DEFAULT_THINKING_LEVEL,\n fallbackMessage: undefined,\n };\n}\n\n/**\n * Restore model from session, with fallback to available models\n */\nexport async function restoreModelFromSession(\n savedProvider: string,\n savedModelId: string,\n currentModel: Model<Api> | undefined,\n shouldPrintMessages: boolean,\n modelRegistry: ModelRegistry,\n): Promise<{\n model: Model<Api> | undefined;\n fallbackMessage: string | undefined;\n}> {\n const exactRestoredModel = modelRegistry.find(savedProvider, savedModelId);\n const restoredModel = exactRestoredModel && modelRegistry.hasConfiguredAuth(exactRestoredModel)\n ? exactRestoredModel\n : await buildConfiguredProviderFallbackModel(savedProvider, savedModelId, modelRegistry);\n\n if (restoredModel) {\n if (shouldPrintMessages) {\n console.log(\n chalk.dim(`Restored model: ${savedProvider}/${savedModelId}`),\n );\n }\n return { model: restoredModel, fallbackMessage: undefined };\n }\n\n // Model not found or no API key - fall back\n const reason = !exactRestoredModel\n ? \"model no longer exists\"\n : \"no auth configured\";\n\n if (shouldPrintMessages) {\n console.error(\n chalk.yellow(\n `Warning: Could not restore model ${savedProvider}/${savedModelId} (${reason}).`,\n ),\n );\n }\n\n // If we already have a model, use it as fallback\n if (currentModel) {\n if (shouldPrintMessages) {\n console.log(\n chalk.dim(\n `Falling back to: ${currentModel.provider}/${currentModel.id}`,\n ),\n );\n }\n return {\n model: currentModel,\n fallbackMessage: `Could not restore model ${savedProvider}/${savedModelId} (${reason}). Using ${currentModel.provider}/${currentModel.id}.`,\n };\n }\n\n // Try to find any available model\n const availableModels = await modelRegistry.getAvailable();\n\n if (availableModels.length > 0) {\n // Try to find a default model from known providers\n let fallbackModel: Model<Api> | undefined;\n for (const [provider, defaultId] of Object.entries(\n defaultModelPerProvider,\n )) {\n const match = availableModels.find(\n (m) => m.provider === provider && m.id === defaultId,\n );\n if (match) {\n fallbackModel = match;\n break;\n }\n }\n\n // If no default found, use first available\n if (!fallbackModel) {\n fallbackModel = availableModels[0];\n }\n\n if (shouldPrintMessages) {\n console.log(\n chalk.dim(\n `Falling back to: ${fallbackModel.provider}/${fallbackModel.id}`,\n ),\n );\n }\n\n return {\n model: fallbackModel,\n fallbackMessage: `Could not restore model ${savedProvider}/${savedModelId} (${reason}). Using ${fallbackModel.provider}/${fallbackModel.id}.`,\n };\n }\n\n // No models available\n return { model: undefined, fallbackMessage: undefined };\n}\n"]}
1
+ {"version":3,"file":"model-resolver.d.ts","sourceRoot":"","sources":["../../src/core/model-resolver.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACpH,OAAO,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,GACZ,MAAM,2BAA2B,CAAC","sourcesContent":["/**\n * Model resolution, scoping, and initial selection\n */\n\nexport { defaultModelPerProvider } from \"./model-resolver-defaults.ts\";\nexport { resolveCliModel } from \"./model-resolver-cli.ts\";\nexport { findInitialModel, resolveSavedModelReference, restoreModelFromSession } from \"./model-resolver-initial.ts\";\nexport { findExactModelReferenceMatch, parseModelPattern } from \"./model-resolver-patterns.ts\";\nexport { resolveModelScope } from \"./model-resolver-scope.ts\";\nexport type {\n InitialModelResult,\n ParsedModelResult,\n ResolveCliModelResult,\n ScopedModel,\n} from \"./model-resolver-types.ts\";\n"]}
@@ -1,553 +1,9 @@
1
1
  /**
2
2
  * Model resolution, scoping, and initial selection
3
3
  */
4
- import { modelsAreEqual } from "@earendil-works/pi-ai";
5
- import chalk from "chalk";
6
- import { minimatch } from "minimatch";
7
- import { isValidThinkingLevel } from "../cli/args.js";
8
- import { DEFAULT_THINKING_LEVEL } from "./defaults.js";
9
- /** Default model IDs for each known provider */
10
- export const defaultModelPerProvider = {
11
- "amazon-bedrock": "us.anthropic.claude-opus-4-6-v1",
12
- anthropic: "claude-opus-4-8",
13
- openai: "gpt-5.4",
14
- "azure-openai-responses": "gpt-5.4",
15
- "openai-codex": "gpt-5.5",
16
- deepseek: "deepseek-v4-pro",
17
- google: "gemini-3.1-pro-preview",
18
- "google-vertex": "gemini-3.1-pro-preview",
19
- "github-copilot": "gpt-5.4",
20
- cursor: "composer-2",
21
- openrouter: "moonshotai/kimi-k2.6",
22
- "vercel-ai-gateway": "zai/glm-5.1",
23
- xai: "grok-4.20-0309-reasoning",
24
- groq: "openai/gpt-oss-120b",
25
- cerebras: "zai-glm-4.7",
26
- "ant-ling": "Ring-2.6-1T",
27
- zai: "glm-5.1",
28
- mistral: "devstral-medium-latest",
29
- minimax: "MiniMax-M2.7",
30
- "minimax-cn": "MiniMax-M2.7",
31
- moonshotai: "kimi-k2.6",
32
- "moonshotai-cn": "kimi-k2.6",
33
- huggingface: "moonshotai/Kimi-K2.6",
34
- fireworks: "accounts/fireworks/models/kimi-k2p6",
35
- together: "moonshotai/Kimi-K2.6",
36
- opencode: "kimi-k2.6",
37
- "opencode-go": "kimi-k2.6",
38
- "kimi-coding": "kimi-for-coding",
39
- "cloudflare-workers-ai": "@cf/moonshotai/kimi-k2.6",
40
- "cloudflare-ai-gateway": "workers-ai/@cf/moonshotai/kimi-k2.6",
41
- xiaomi: "mimo-v2.5-pro",
42
- "xiaomi-token-plan-cn": "mimo-v2.5-pro",
43
- "xiaomi-token-plan-ams": "mimo-v2.5-pro",
44
- "xiaomi-token-plan-sgp": "mimo-v2.5-pro",
45
- };
46
- /**
47
- * Helper to check if a model ID looks like an alias (no date suffix)
48
- * Dates are typically in format: -20241022 or -20250929
49
- */
50
- function isAlias(id) {
51
- // Check if ID ends with -latest
52
- if (id.endsWith("-latest"))
53
- return true;
54
- // Check if ID ends with a date pattern (-YYYYMMDD)
55
- const datePattern = /-\d{8}$/;
56
- return !datePattern.test(id);
57
- }
58
- /**
59
- * Find an exact model reference match.
60
- * Supports either a bare model id or a canonical provider/modelId reference.
61
- * When matching by bare id, ambiguous matches across providers are rejected.
62
- */
63
- export function findExactModelReferenceMatch(modelReference, availableModels) {
64
- const trimmedReference = modelReference.trim();
65
- if (!trimmedReference) {
66
- return undefined;
67
- }
68
- const normalizedReference = trimmedReference.toLowerCase();
69
- const canonicalMatches = availableModels.filter((model) => `${model.provider}/${model.id}`.toLowerCase() === normalizedReference);
70
- if (canonicalMatches.length === 1) {
71
- return canonicalMatches[0];
72
- }
73
- if (canonicalMatches.length > 1) {
74
- return undefined;
75
- }
76
- const slashIndex = trimmedReference.indexOf("/");
77
- if (slashIndex !== -1) {
78
- const provider = trimmedReference.substring(0, slashIndex).trim();
79
- const modelId = trimmedReference.substring(slashIndex + 1).trim();
80
- if (provider && modelId) {
81
- const providerMatches = availableModels.filter((model) => model.provider.toLowerCase() === provider.toLowerCase() &&
82
- model.id.toLowerCase() === modelId.toLowerCase());
83
- if (providerMatches.length === 1) {
84
- return providerMatches[0];
85
- }
86
- if (providerMatches.length > 1) {
87
- return undefined;
88
- }
89
- }
90
- }
91
- const idMatches = availableModels.filter((model) => model.id.toLowerCase() === normalizedReference);
92
- return idMatches.length === 1 ? idMatches[0] : undefined;
93
- }
94
- /**
95
- * Try to match a pattern to a model from the available models list.
96
- * Returns the matched model or undefined if no match found.
97
- */
98
- function tryMatchModel(modelPattern, availableModels) {
99
- const exactMatch = findExactModelReferenceMatch(modelPattern, availableModels);
100
- if (exactMatch) {
101
- return exactMatch;
102
- }
103
- // No exact match - fall back to partial matching
104
- const matches = availableModels.filter((m) => m.id.toLowerCase().includes(modelPattern.toLowerCase()) ||
105
- m.name?.toLowerCase().includes(modelPattern.toLowerCase()));
106
- if (matches.length === 0) {
107
- return undefined;
108
- }
109
- // Separate into aliases and dated versions
110
- const aliases = matches.filter((m) => isAlias(m.id));
111
- const datedVersions = matches.filter((m) => !isAlias(m.id));
112
- if (aliases.length > 0) {
113
- // Prefer alias - if multiple aliases, pick the one that sorts highest
114
- aliases.sort((a, b) => b.id.localeCompare(a.id));
115
- return aliases[0];
116
- }
117
- else {
118
- // No alias found, pick latest dated version
119
- datedVersions.sort((a, b) => b.id.localeCompare(a.id));
120
- return datedVersions[0];
121
- }
122
- }
123
- function buildFallbackModel(provider, modelId, availableModels) {
124
- const providerModels = availableModels.filter((m) => m.provider === provider);
125
- if (providerModels.length === 0)
126
- return undefined;
127
- const defaultId = defaultModelPerProvider[provider];
128
- const baseModel = defaultId
129
- ? (providerModels.find((m) => m.id === defaultId) ?? providerModels[0])
130
- : providerModels[0];
131
- const fallbackContextWindow = baseModel.contextWindow;
132
- return {
133
- ...baseModel,
134
- id: modelId,
135
- name: modelId,
136
- contextWindow: fallbackContextWindow,
137
- defaultContextWindow: fallbackContextWindow,
138
- contextWindowOptions: undefined,
139
- };
140
- }
141
- async function buildConfiguredProviderFallbackModel(provider, modelId, modelRegistry) {
142
- return buildFallbackModel(provider, modelId, await modelRegistry.getAvailable());
143
- }
144
- export async function resolveSavedModelReference(provider, modelId, modelRegistry) {
145
- const found = modelRegistry.find(provider, modelId);
146
- if (found)
147
- return found;
148
- return buildConfiguredProviderFallbackModel(provider, modelId, modelRegistry);
149
- }
150
- /**
151
- * Parse a pattern to extract model and thinking level.
152
- * Handles models with colons in their IDs (e.g., OpenRouter's :exacto suffix).
153
- *
154
- * Algorithm:
155
- * 1. Try to match full pattern as a model
156
- * 2. If found, return it with "off" thinking level
157
- * 3. If not found and has colons, split on last colon:
158
- * - If suffix is valid thinking level, use it and recurse on prefix
159
- * - If suffix is invalid, warn and recurse on prefix with "off"
160
- *
161
- * @internal Exported for testing
162
- */
163
- export function parseModelPattern(pattern, availableModels, options) {
164
- // Try exact match first
165
- const exactMatch = tryMatchModel(pattern, availableModels);
166
- if (exactMatch) {
167
- return { model: exactMatch, thinkingLevel: undefined, warning: undefined };
168
- }
169
- // No match - try splitting on last colon if present
170
- const lastColonIndex = pattern.lastIndexOf(":");
171
- if (lastColonIndex === -1) {
172
- // No colons, pattern simply doesn't match any model
173
- return { model: undefined, thinkingLevel: undefined, warning: undefined };
174
- }
175
- const prefix = pattern.substring(0, lastColonIndex);
176
- const suffix = pattern.substring(lastColonIndex + 1);
177
- if (isValidThinkingLevel(suffix)) {
178
- // Valid thinking level - recurse on prefix and use this level
179
- const result = parseModelPattern(prefix, availableModels, options);
180
- if (result.model) {
181
- // Only use this thinking level if no warning from inner recursion
182
- return {
183
- model: result.model,
184
- thinkingLevel: result.warning ? undefined : suffix,
185
- warning: result.warning,
186
- };
187
- }
188
- return result;
189
- }
190
- else {
191
- // Invalid suffix
192
- const allowFallback = options?.allowInvalidThinkingLevelFallback ?? true;
193
- if (!allowFallback) {
194
- // In strict mode (CLI --model parsing), treat it as part of the model id and fail.
195
- // This avoids accidentally resolving to a different model.
196
- return { model: undefined, thinkingLevel: undefined, warning: undefined };
197
- }
198
- // Scope mode: recurse on prefix and warn
199
- const result = parseModelPattern(prefix, availableModels, options);
200
- if (result.model) {
201
- return {
202
- model: result.model,
203
- thinkingLevel: undefined,
204
- warning: `Invalid thinking level "${suffix}" in pattern "${pattern}". Using default instead.`,
205
- };
206
- }
207
- return result;
208
- }
209
- }
210
- /**
211
- * Resolve model patterns to actual Model objects with optional thinking levels
212
- * Format: "pattern:level" where :level is optional
213
- * For each pattern, finds all matching models and picks the best version:
214
- * 1. Prefer alias (e.g., claude-sonnet-4-5) over dated versions (claude-sonnet-4-5-20250929)
215
- * 2. If no alias, pick the latest dated version
216
- *
217
- * Supports models with colons in their IDs (e.g., OpenRouter's model:exacto).
218
- * The algorithm tries to match the full pattern first, then progressively
219
- * strips colon-suffixes to find a match.
220
- */
221
- export async function resolveModelScope(patterns, modelRegistry) {
222
- const availableModels = await modelRegistry.getAvailable();
223
- const scopedModels = [];
224
- for (const pattern of patterns) {
225
- // Check if pattern contains glob characters
226
- if (pattern.includes("*") ||
227
- pattern.includes("?") ||
228
- pattern.includes("[")) {
229
- // Extract optional thinking level suffix (e.g., "provider/*:high")
230
- const colonIdx = pattern.lastIndexOf(":");
231
- let globPattern = pattern;
232
- let thinkingLevel;
233
- if (colonIdx !== -1) {
234
- const suffix = pattern.substring(colonIdx + 1);
235
- if (isValidThinkingLevel(suffix)) {
236
- thinkingLevel = suffix;
237
- globPattern = pattern.substring(0, colonIdx);
238
- }
239
- }
240
- // Match against "provider/modelId" format OR just model ID
241
- // This allows "*sonnet*" to match without requiring "anthropic/*sonnet*"
242
- const matchingModels = availableModels.filter((m) => {
243
- const fullId = `${m.provider}/${m.id}`;
244
- return (minimatch(fullId, globPattern, { nocase: true }) ||
245
- minimatch(m.id, globPattern, { nocase: true }));
246
- });
247
- if (matchingModels.length === 0) {
248
- console.warn(chalk.yellow(`Warning: No models match pattern "${pattern}"`));
249
- continue;
250
- }
251
- for (const model of matchingModels) {
252
- if (!scopedModels.find((sm) => modelsAreEqual(sm.model, model))) {
253
- scopedModels.push({ model, thinkingLevel });
254
- }
255
- }
256
- continue;
257
- }
258
- const { model, thinkingLevel, warning } = parseModelPattern(pattern, availableModels);
259
- if (warning) {
260
- console.warn(chalk.yellow(`Warning: ${warning}`));
261
- }
262
- if (!model) {
263
- console.warn(chalk.yellow(`Warning: No models match pattern "${pattern}"`));
264
- continue;
265
- }
266
- // Avoid duplicates
267
- if (!scopedModels.find((sm) => modelsAreEqual(sm.model, model))) {
268
- scopedModels.push({ model, thinkingLevel });
269
- }
270
- }
271
- return scopedModels;
272
- }
273
- /**
274
- * Resolve a single model from CLI flags.
275
- *
276
- * Supports:
277
- * - --provider <provider> --model <pattern>
278
- * - --model <provider>/<pattern>
279
- * - Fuzzy matching (same rules as model scoping: exact id, then partial id/name)
280
- *
281
- * Note: This does not apply the thinking level by itself, but it may *parse* and
282
- * return a thinking level from "<pattern>:<thinking>" so the caller can apply it.
283
- */
284
- export function resolveCliModel(options) {
285
- const { cliProvider, cliModel, modelRegistry } = options;
286
- if (!cliModel) {
287
- return { model: undefined, warning: undefined, error: undefined };
288
- }
289
- // Important: use *all* models here, not just models with pre-configured auth.
290
- // This allows "--api-key" to be used for first-time setup.
291
- const availableModels = modelRegistry.getAll();
292
- if (availableModels.length === 0) {
293
- return {
294
- model: undefined,
295
- warning: undefined,
296
- error: "No models available. Check your installation or add models to models.json.",
297
- };
298
- }
299
- // Build canonical provider lookup (case-insensitive)
300
- const providerMap = new Map();
301
- for (const m of availableModels) {
302
- providerMap.set(m.provider.toLowerCase(), m.provider);
303
- }
304
- let provider = cliProvider
305
- ? providerMap.get(cliProvider.toLowerCase())
306
- : undefined;
307
- if (cliProvider && !provider) {
308
- return {
309
- model: undefined,
310
- warning: undefined,
311
- error: `Unknown provider "${cliProvider}". Use --list-models to see available providers/models.`,
312
- };
313
- }
314
- // If no explicit --provider, try to interpret "provider/model" format first.
315
- // When the prefix before the first slash matches a known provider, prefer that
316
- // interpretation over matching models whose IDs literally contain slashes
317
- // (e.g. "zai/glm-5" should resolve to provider=zai, model=glm-5, not to a
318
- // vercel-ai-gateway model with id "zai/glm-5").
319
- let pattern = cliModel;
320
- let inferredProvider = false;
321
- if (!provider) {
322
- const slashIndex = cliModel.indexOf("/");
323
- if (slashIndex !== -1) {
324
- const maybeProvider = cliModel.substring(0, slashIndex);
325
- const canonical = providerMap.get(maybeProvider.toLowerCase());
326
- if (canonical) {
327
- provider = canonical;
328
- pattern = cliModel.substring(slashIndex + 1);
329
- inferredProvider = true;
330
- }
331
- }
332
- }
333
- // If no provider was inferred from the slash, try exact matches without provider inference.
334
- // This handles models whose IDs naturally contain slashes (e.g. OpenRouter-style IDs).
335
- if (!provider) {
336
- const lower = cliModel.toLowerCase();
337
- const exact = availableModels.find((m) => m.id.toLowerCase() === lower ||
338
- `${m.provider}/${m.id}`.toLowerCase() === lower);
339
- if (exact) {
340
- return {
341
- model: exact,
342
- warning: undefined,
343
- thinkingLevel: undefined,
344
- error: undefined,
345
- };
346
- }
347
- }
348
- if (cliProvider && provider) {
349
- // If both were provided, tolerate --model <provider>/<pattern> by stripping the provider prefix
350
- const prefix = `${provider}/`;
351
- if (cliModel.toLowerCase().startsWith(prefix.toLowerCase())) {
352
- pattern = cliModel.substring(prefix.length);
353
- }
354
- }
355
- const candidates = provider
356
- ? availableModels.filter((m) => m.provider === provider)
357
- : availableModels;
358
- const { model, thinkingLevel, warning } = parseModelPattern(pattern, candidates, {
359
- allowInvalidThinkingLevelFallback: false,
360
- });
361
- if (model) {
362
- return { model, thinkingLevel, warning, error: undefined };
363
- }
364
- // If we inferred a provider from the slash but found no match within that provider,
365
- // fall back to matching the full input as a raw model id across all models.
366
- // This handles OpenRouter-style IDs like "openai/gpt-4o:extended" where "openai"
367
- // looks like a provider but the full string is actually a model id on openrouter.
368
- if (inferredProvider) {
369
- const lower = cliModel.toLowerCase();
370
- const exact = availableModels.find((m) => m.id.toLowerCase() === lower ||
371
- `${m.provider}/${m.id}`.toLowerCase() === lower);
372
- if (exact) {
373
- return {
374
- model: exact,
375
- warning: undefined,
376
- thinkingLevel: undefined,
377
- error: undefined,
378
- };
379
- }
380
- // Also try parseModelPattern on the full input against all models
381
- const fallback = parseModelPattern(cliModel, availableModels, {
382
- allowInvalidThinkingLevelFallback: false,
383
- });
384
- if (fallback.model) {
385
- return {
386
- model: fallback.model,
387
- thinkingLevel: fallback.thinkingLevel,
388
- warning: fallback.warning,
389
- error: undefined,
390
- };
391
- }
392
- }
393
- if (provider) {
394
- const fallbackModel = buildFallbackModel(provider, pattern, availableModels);
395
- if (fallbackModel) {
396
- const fallbackWarning = warning
397
- ? `${warning} Model "${pattern}" not found for provider "${provider}". Using custom model id.`
398
- : `Model "${pattern}" not found for provider "${provider}". Using custom model id.`;
399
- return {
400
- model: fallbackModel,
401
- thinkingLevel: undefined,
402
- warning: fallbackWarning,
403
- error: undefined,
404
- };
405
- }
406
- }
407
- const display = provider ? `${provider}/${pattern}` : cliModel;
408
- return {
409
- model: undefined,
410
- thinkingLevel: undefined,
411
- warning,
412
- error: `Model "${display}" not found. Use --list-models to see available models.`,
413
- };
414
- }
415
- /**
416
- * Find the initial model to use based on priority:
417
- * 1. CLI args (provider + model)
418
- * 2. First model from scoped models (if not continuing/resuming)
419
- * 3. Restored from session (if continuing/resuming)
420
- * 4. Saved default from settings
421
- * 5. First available model with valid API key
422
- */
423
- export async function findInitialModel(options) {
424
- const { cliProvider, cliModel, scopedModels, isContinuing, defaultProvider, defaultModelId, defaultThinkingLevel, modelRegistry, } = options;
425
- let model;
426
- let thinkingLevel = DEFAULT_THINKING_LEVEL;
427
- // 1. CLI args take priority
428
- if (cliProvider && cliModel) {
429
- const resolved = resolveCliModel({
430
- cliProvider,
431
- cliModel,
432
- modelRegistry,
433
- });
434
- if (resolved.error) {
435
- console.error(chalk.red(resolved.error));
436
- process.exit(1);
437
- }
438
- if (resolved.model) {
439
- return {
440
- model: resolved.model,
441
- thinkingLevel: DEFAULT_THINKING_LEVEL,
442
- fallbackMessage: undefined,
443
- };
444
- }
445
- }
446
- // 2. Use first model from scoped models (skip if continuing/resuming)
447
- if (scopedModels.length > 0 && !isContinuing) {
448
- return {
449
- model: scopedModels[0].model,
450
- thinkingLevel: scopedModels[0].thinkingLevel ??
451
- defaultThinkingLevel ??
452
- DEFAULT_THINKING_LEVEL,
453
- fallbackMessage: undefined,
454
- };
455
- }
456
- // 3. Try saved default from settings
457
- if (defaultProvider && defaultModelId) {
458
- const found = await resolveSavedModelReference(defaultProvider, defaultModelId, modelRegistry);
459
- if (found) {
460
- model = found;
461
- if (defaultThinkingLevel) {
462
- thinkingLevel = defaultThinkingLevel;
463
- }
464
- return { model, thinkingLevel, fallbackMessage: undefined };
465
- }
466
- }
467
- // 4. Try first available model with valid API key
468
- const availableModels = await modelRegistry.getAvailable();
469
- if (availableModels.length > 0) {
470
- // Try to find a default model from known providers
471
- for (const [provider, defaultId] of Object.entries(defaultModelPerProvider)) {
472
- const match = availableModels.find((m) => m.provider === provider && m.id === defaultId);
473
- if (match) {
474
- return {
475
- model: match,
476
- thinkingLevel: DEFAULT_THINKING_LEVEL,
477
- fallbackMessage: undefined,
478
- };
479
- }
480
- }
481
- // If no default found, use first available
482
- return {
483
- model: availableModels[0],
484
- thinkingLevel: DEFAULT_THINKING_LEVEL,
485
- fallbackMessage: undefined,
486
- };
487
- }
488
- // 5. No model found
489
- return {
490
- model: undefined,
491
- thinkingLevel: DEFAULT_THINKING_LEVEL,
492
- fallbackMessage: undefined,
493
- };
494
- }
495
- /**
496
- * Restore model from session, with fallback to available models
497
- */
498
- export async function restoreModelFromSession(savedProvider, savedModelId, currentModel, shouldPrintMessages, modelRegistry) {
499
- const exactRestoredModel = modelRegistry.find(savedProvider, savedModelId);
500
- const restoredModel = exactRestoredModel && modelRegistry.hasConfiguredAuth(exactRestoredModel)
501
- ? exactRestoredModel
502
- : await buildConfiguredProviderFallbackModel(savedProvider, savedModelId, modelRegistry);
503
- if (restoredModel) {
504
- if (shouldPrintMessages) {
505
- console.log(chalk.dim(`Restored model: ${savedProvider}/${savedModelId}`));
506
- }
507
- return { model: restoredModel, fallbackMessage: undefined };
508
- }
509
- // Model not found or no API key - fall back
510
- const reason = !exactRestoredModel
511
- ? "model no longer exists"
512
- : "no auth configured";
513
- if (shouldPrintMessages) {
514
- console.error(chalk.yellow(`Warning: Could not restore model ${savedProvider}/${savedModelId} (${reason}).`));
515
- }
516
- // If we already have a model, use it as fallback
517
- if (currentModel) {
518
- if (shouldPrintMessages) {
519
- console.log(chalk.dim(`Falling back to: ${currentModel.provider}/${currentModel.id}`));
520
- }
521
- return {
522
- model: currentModel,
523
- fallbackMessage: `Could not restore model ${savedProvider}/${savedModelId} (${reason}). Using ${currentModel.provider}/${currentModel.id}.`,
524
- };
525
- }
526
- // Try to find any available model
527
- const availableModels = await modelRegistry.getAvailable();
528
- if (availableModels.length > 0) {
529
- // Try to find a default model from known providers
530
- let fallbackModel;
531
- for (const [provider, defaultId] of Object.entries(defaultModelPerProvider)) {
532
- const match = availableModels.find((m) => m.provider === provider && m.id === defaultId);
533
- if (match) {
534
- fallbackModel = match;
535
- break;
536
- }
537
- }
538
- // If no default found, use first available
539
- if (!fallbackModel) {
540
- fallbackModel = availableModels[0];
541
- }
542
- if (shouldPrintMessages) {
543
- console.log(chalk.dim(`Falling back to: ${fallbackModel.provider}/${fallbackModel.id}`));
544
- }
545
- return {
546
- model: fallbackModel,
547
- fallbackMessage: `Could not restore model ${savedProvider}/${savedModelId} (${reason}). Using ${fallbackModel.provider}/${fallbackModel.id}.`,
548
- };
549
- }
550
- // No models available
551
- return { model: undefined, fallbackMessage: undefined };
552
- }
4
+ export { defaultModelPerProvider } from "./model-resolver-defaults.js";
5
+ export { resolveCliModel } from "./model-resolver-cli.js";
6
+ export { findInitialModel, resolveSavedModelReference, restoreModelFromSession } from "./model-resolver-initial.js";
7
+ export { findExactModelReferenceMatch, parseModelPattern } from "./model-resolver-patterns.js";
8
+ export { resolveModelScope } from "./model-resolver-scope.js";
553
9
  //# sourceMappingURL=model-resolver.js.map