@bastani/atomic 0.9.24 → 0.9.25-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 (430) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/dist/builtin/intercom/index.bundle.mjs +5 -0
  3. package/dist/builtin/intercom/package.json +2 -2
  4. package/dist/builtin/mcp/CHANGELOG.md +11 -0
  5. package/dist/builtin/mcp/index.bundle.mjs +219 -71
  6. package/dist/builtin/mcp/package.json +6 -2
  7. package/dist/builtin/subagents/package.json +3 -3
  8. package/dist/builtin/subagents/src/extension/index.bundle.mjs +1 -0
  9. package/dist/builtin/web-access/index.bundle.mjs +7 -6
  10. package/dist/builtin/web-access/package.json +2 -2
  11. package/dist/builtin/workflows/CHANGELOG.md +6 -0
  12. package/dist/builtin/workflows/package.json +2 -2
  13. package/dist/builtin/workflows/skills/prompt-engineer/SKILL.md +1 -0
  14. package/dist/builtin/workflows/skills/prompt-engineer/references/gpt_6_1_sol.md +66 -0
  15. package/dist/builtin/workflows/src/extension/index.bundle.mjs +1 -0
  16. package/dist/cli/startup-ui.d.ts +3 -4
  17. package/dist/cli/startup-ui.d.ts.map +1 -1
  18. package/dist/cli/startup-ui.js +3 -4
  19. package/dist/cli/startup-ui.js.map +1 -1
  20. package/dist/config.d.ts +3 -0
  21. package/dist/config.d.ts.map +1 -1
  22. package/dist/config.js +17 -0
  23. package/dist/config.js.map +1 -1
  24. package/dist/core/agent-session-events.d.ts.map +1 -1
  25. package/dist/core/agent-session-events.js +5 -0
  26. package/dist/core/agent-session-events.js.map +1 -1
  27. package/dist/core/agent-session-export.d.ts.map +1 -1
  28. package/dist/core/agent-session-export.js +3 -0
  29. package/dist/core/agent-session-export.js.map +1 -1
  30. package/dist/core/agent-session-extension-bindings.d.ts.map +1 -1
  31. package/dist/core/agent-session-extension-bindings.js +4 -0
  32. package/dist/core/agent-session-extension-bindings.js.map +1 -1
  33. package/dist/core/agent-session-methods.d.ts +2 -1
  34. package/dist/core/agent-session-methods.d.ts.map +1 -1
  35. package/dist/core/agent-session-methods.js.map +1 -1
  36. package/dist/core/agent-session-nested-tools.d.ts +10 -0
  37. package/dist/core/agent-session-nested-tools.d.ts.map +1 -0
  38. package/dist/core/agent-session-nested-tools.js +76 -0
  39. package/dist/core/agent-session-nested-tools.js.map +1 -0
  40. package/dist/core/agent-session-runtime-auth.js +3 -1
  41. package/dist/core/agent-session-runtime-auth.js.map +1 -1
  42. package/dist/core/agent-session-state.d.ts +2 -0
  43. package/dist/core/agent-session-state.d.ts.map +1 -1
  44. package/dist/core/agent-session-state.js +11 -11
  45. package/dist/core/agent-session-state.js.map +1 -1
  46. package/dist/core/agent-session-tool-hooks.d.ts.map +1 -1
  47. package/dist/core/agent-session-tool-hooks.js +18 -3
  48. package/dist/core/agent-session-tool-hooks.js.map +1 -1
  49. package/dist/core/agent-session-tool-registry.d.ts.map +1 -1
  50. package/dist/core/agent-session-tool-registry.js +15 -3
  51. package/dist/core/agent-session-tool-registry.js.map +1 -1
  52. package/dist/core/agent-session-types.d.ts +6 -2
  53. package/dist/core/agent-session-types.d.ts.map +1 -1
  54. package/dist/core/agent-session-types.js.map +1 -1
  55. package/dist/core/builtin-resource-loader.d.ts.map +1 -1
  56. package/dist/core/builtin-resource-loader.js +13 -1
  57. package/dist/core/builtin-resource-loader.js.map +1 -1
  58. package/dist/core/compaction/utils.d.ts +1 -1
  59. package/dist/core/compaction/utils.d.ts.map +1 -1
  60. package/dist/core/compaction/utils.js +18 -18
  61. package/dist/core/compaction/utils.js.map +1 -1
  62. package/dist/core/execution-model-router.d.ts.map +1 -1
  63. package/dist/core/execution-model-router.js +24 -8
  64. package/dist/core/execution-model-router.js.map +1 -1
  65. package/dist/core/export-html/template.js +12 -0
  66. package/dist/core/extensions/agent-events.d.ts +3 -0
  67. package/dist/core/extensions/agent-events.d.ts.map +1 -1
  68. package/dist/core/extensions/agent-events.js.map +1 -1
  69. package/dist/core/extensions/api-types.d.ts +2 -0
  70. package/dist/core/extensions/api-types.d.ts.map +1 -1
  71. package/dist/core/extensions/api-types.js.map +1 -1
  72. package/dist/core/extensions/context-types.d.ts +9 -0
  73. package/dist/core/extensions/context-types.d.ts.map +1 -1
  74. package/dist/core/extensions/context-types.js.map +1 -1
  75. package/dist/core/extensions/event-results.d.ts +3 -0
  76. package/dist/core/extensions/event-results.d.ts.map +1 -1
  77. package/dist/core/extensions/event-results.js.map +1 -1
  78. package/dist/core/extensions/index.d.ts +2 -0
  79. package/dist/core/extensions/index.d.ts.map +1 -1
  80. package/dist/core/extensions/index.js.map +1 -1
  81. package/dist/core/extensions/loader-api.d.ts.map +1 -1
  82. package/dist/core/extensions/loader-api.js +4 -0
  83. package/dist/core/extensions/loader-api.js.map +1 -1
  84. package/dist/core/extensions/loader-core.d.ts.map +1 -1
  85. package/dist/core/extensions/loader-core.js +3 -5
  86. package/dist/core/extensions/loader-core.js.map +1 -1
  87. package/dist/core/extensions/loader-host-modules.d.ts.map +1 -1
  88. package/dist/core/extensions/loader-host-modules.js +7 -1
  89. package/dist/core/extensions/loader-host-modules.js.map +1 -1
  90. package/dist/core/extensions/loader-runtime.d.ts.map +1 -1
  91. package/dist/core/extensions/loader-runtime.js +3 -0
  92. package/dist/core/extensions/loader-runtime.js.map +1 -1
  93. package/dist/core/extensions/loader-virtual-modules.d.ts.map +1 -1
  94. package/dist/core/extensions/loader-virtual-modules.js +4 -0
  95. package/dist/core/extensions/loader-virtual-modules.js.map +1 -1
  96. package/dist/core/extensions/provider-types.d.ts +2 -0
  97. package/dist/core/extensions/provider-types.d.ts.map +1 -1
  98. package/dist/core/extensions/provider-types.js.map +1 -1
  99. package/dist/core/extensions/runner-events.d.ts.map +1 -1
  100. package/dist/core/extensions/runner-events.js +16 -1
  101. package/dist/core/extensions/runner-events.js.map +1 -1
  102. package/dist/core/extensions/runner.d.ts +5 -0
  103. package/dist/core/extensions/runner.d.ts.map +1 -1
  104. package/dist/core/extensions/runner.js +34 -0
  105. package/dist/core/extensions/runner.js.map +1 -1
  106. package/dist/core/extensions/runtime-types.d.ts +5 -0
  107. package/dist/core/extensions/runtime-types.d.ts.map +1 -1
  108. package/dist/core/extensions/runtime-types.js.map +1 -1
  109. package/dist/core/extensions/tool-events.d.ts +4 -0
  110. package/dist/core/extensions/tool-events.d.ts.map +1 -1
  111. package/dist/core/extensions/tool-events.js.map +1 -1
  112. package/dist/core/extensions/tool-types.d.ts +34 -3
  113. package/dist/core/extensions/tool-types.d.ts.map +1 -1
  114. package/dist/core/extensions/tool-types.js.map +1 -1
  115. package/dist/core/extensions/wrapper.d.ts.map +1 -1
  116. package/dist/core/extensions/wrapper.js +14 -2
  117. package/dist/core/extensions/wrapper.js.map +1 -1
  118. package/dist/core/fast-model-routing-transport.d.ts.map +1 -1
  119. package/dist/core/fast-model-routing-transport.js +2 -1
  120. package/dist/core/fast-model-routing-transport.js.map +1 -1
  121. package/dist/core/fast-model-routing.d.ts +1 -2
  122. package/dist/core/fast-model-routing.d.ts.map +1 -1
  123. package/dist/core/fast-model-routing.js +13 -11
  124. package/dist/core/fast-model-routing.js.map +1 -1
  125. package/dist/core/fast-model-variants.d.ts +4 -1
  126. package/dist/core/fast-model-variants.d.ts.map +1 -1
  127. package/dist/core/fast-model-variants.js +42 -17
  128. package/dist/core/fast-model-variants.js.map +1 -1
  129. package/dist/core/mandatory-resource-loader.d.ts.map +1 -1
  130. package/dist/core/mandatory-resource-loader.js +9 -0
  131. package/dist/core/mandatory-resource-loader.js.map +1 -1
  132. package/dist/core/model-registry.d.ts +4 -1
  133. package/dist/core/model-registry.d.ts.map +1 -1
  134. package/dist/core/model-registry.js +9 -0
  135. package/dist/core/model-registry.js.map +1 -1
  136. package/dist/core/model-resolver-defaults.js +1 -1
  137. package/dist/core/model-resolver-defaults.js.map +1 -1
  138. package/dist/core/model-routing-candidates.d.ts +4 -0
  139. package/dist/core/model-routing-candidates.d.ts.map +1 -1
  140. package/dist/core/model-routing-candidates.js +8 -3
  141. package/dist/core/model-routing-candidates.js.map +1 -1
  142. package/dist/core/model-routing-evals.d.ts.map +1 -1
  143. package/dist/core/model-routing-evals.js +4 -5
  144. package/dist/core/model-routing-evals.js.map +1 -1
  145. package/dist/core/model-runtime.d.ts +3 -2
  146. package/dist/core/model-runtime.d.ts.map +1 -1
  147. package/dist/core/model-runtime.js +19 -25
  148. package/dist/core/model-runtime.js.map +1 -1
  149. package/dist/core/nested-tool-calls.d.ts +64 -0
  150. package/dist/core/nested-tool-calls.d.ts.map +1 -0
  151. package/dist/core/nested-tool-calls.js +132 -0
  152. package/dist/core/nested-tool-calls.js.map +1 -0
  153. package/dist/core/oauth-provider-metadata.js +1 -1
  154. package/dist/core/oauth-provider-metadata.js.map +1 -1
  155. package/dist/core/package-manager-resolver.d.ts.map +1 -1
  156. package/dist/core/package-manager-resolver.js +21 -3
  157. package/dist/core/package-manager-resolver.js.map +1 -1
  158. package/dist/core/package-manager-resource-accumulator.d.ts.map +1 -1
  159. package/dist/core/package-manager-resource-accumulator.js +2 -0
  160. package/dist/core/package-manager-resource-accumulator.js.map +1 -1
  161. package/dist/core/package-manager-types.d.ts +2 -0
  162. package/dist/core/package-manager-types.d.ts.map +1 -1
  163. package/dist/core/package-manager-types.js.map +1 -1
  164. package/dist/core/package-manager.d.ts.map +1 -1
  165. package/dist/core/package-manager.js +1 -0
  166. package/dist/core/package-manager.js.map +1 -1
  167. package/dist/core/resource-loader-core.d.ts.map +1 -1
  168. package/dist/core/resource-loader-core.js +12 -6
  169. package/dist/core/resource-loader-core.js.map +1 -1
  170. package/dist/core/resource-loader-extensions.d.ts +1 -0
  171. package/dist/core/resource-loader-extensions.d.ts.map +1 -1
  172. package/dist/core/resource-loader-extensions.js +64 -4
  173. package/dist/core/resource-loader-extensions.js.map +1 -1
  174. package/dist/core/resource-loader-paths.d.ts.map +1 -1
  175. package/dist/core/resource-loader-paths.js +2 -1
  176. package/dist/core/resource-loader-paths.js.map +1 -1
  177. package/dist/core/resource-loader-reload.d.ts.map +1 -1
  178. package/dist/core/resource-loader-reload.js +5 -4
  179. package/dist/core/resource-loader-reload.js.map +1 -1
  180. package/dist/core/resource-loader-source-info.d.ts.map +1 -1
  181. package/dist/core/resource-loader-source-info.js +7 -5
  182. package/dist/core/resource-loader-source-info.js.map +1 -1
  183. package/dist/core/resource-loader-types.d.ts +4 -0
  184. package/dist/core/resource-loader-types.d.ts.map +1 -1
  185. package/dist/core/resource-loader-types.js.map +1 -1
  186. package/dist/core/sdk-types.d.ts +1 -1
  187. package/dist/core/sdk-types.js.map +1 -1
  188. package/dist/core/session-manager-core.d.ts +2 -0
  189. package/dist/core/session-manager-core.d.ts.map +1 -1
  190. package/dist/core/session-manager-core.js +5 -1
  191. package/dist/core/session-manager-core.js.map +1 -1
  192. package/dist/core/session-manager-entries.d.ts +1 -1
  193. package/dist/core/session-manager-entries.d.ts.map +1 -1
  194. package/dist/core/session-manager-entries.js.map +1 -1
  195. package/dist/core/settings-manager-basic-accessors.d.ts +4 -0
  196. package/dist/core/settings-manager-basic-accessors.d.ts.map +1 -1
  197. package/dist/core/settings-manager-basic-accessors.js +27 -1
  198. package/dist/core/settings-manager-basic-accessors.js.map +1 -1
  199. package/dist/core/settings-manager-core.d.ts +2 -0
  200. package/dist/core/settings-manager-core.d.ts.map +1 -1
  201. package/dist/core/settings-manager-core.js +4 -0
  202. package/dist/core/settings-manager-core.js.map +1 -1
  203. package/dist/core/settings-manager-ui-accessors.d.ts +3 -1
  204. package/dist/core/settings-manager-ui-accessors.d.ts.map +1 -1
  205. package/dist/core/settings-manager-ui-accessors.js +13 -0
  206. package/dist/core/settings-manager-ui-accessors.js.map +1 -1
  207. package/dist/core/settings-manager.d.ts +1 -1
  208. package/dist/core/settings-manager.d.ts.map +1 -1
  209. package/dist/core/settings-manager.js.map +1 -1
  210. package/dist/core/settings-merge.d.ts +1 -0
  211. package/dist/core/settings-merge.d.ts.map +1 -1
  212. package/dist/core/settings-merge.js +30 -1
  213. package/dist/core/settings-merge.js.map +1 -1
  214. package/dist/core/settings-types.d.ts +8 -1
  215. package/dist/core/settings-types.d.ts.map +1 -1
  216. package/dist/core/settings-types.js.map +1 -1
  217. package/dist/core/source-info.d.ts +3 -0
  218. package/dist/core/source-info.d.ts.map +1 -1
  219. package/dist/core/source-info.js +11 -0
  220. package/dist/core/source-info.js.map +1 -1
  221. package/dist/core/structured-output/index.d.ts.map +1 -1
  222. package/dist/core/structured-output/index.js +3 -1
  223. package/dist/core/structured-output/index.js.map +1 -1
  224. package/dist/core/tool-loadout.d.ts +6 -0
  225. package/dist/core/tool-loadout.d.ts.map +1 -0
  226. package/dist/core/tool-loadout.js +63 -0
  227. package/dist/core/tool-loadout.js.map +1 -0
  228. package/dist/core/tools/ask-user-question/ask-user-question.d.ts.map +1 -1
  229. package/dist/core/tools/ask-user-question/ask-user-question.js +1 -0
  230. package/dist/core/tools/ask-user-question/ask-user-question.js.map +1 -1
  231. package/dist/core/tools/bash.d.ts.map +1 -1
  232. package/dist/core/tools/bash.js +31 -11
  233. package/dist/core/tools/bash.js.map +1 -1
  234. package/dist/core/tools/output-accumulator.d.ts +4 -0
  235. package/dist/core/tools/output-accumulator.d.ts.map +1 -1
  236. package/dist/core/tools/output-accumulator.js +32 -0
  237. package/dist/core/tools/output-accumulator.js.map +1 -1
  238. package/dist/core/tools/powershell.d.ts +27 -21
  239. package/dist/core/tools/powershell.d.ts.map +1 -1
  240. package/dist/core/tools/render-utils.d.ts +4 -0
  241. package/dist/core/tools/render-utils.d.ts.map +1 -1
  242. package/dist/core/tools/render-utils.js +19 -0
  243. package/dist/core/tools/render-utils.js.map +1 -1
  244. package/dist/core/tools/tool-concurrency.d.ts +1 -1
  245. package/dist/core/tools/tool-concurrency.d.ts.map +1 -1
  246. package/dist/core/tools/tool-concurrency.js +28 -3
  247. package/dist/core/tools/tool-concurrency.js.map +1 -1
  248. package/dist/core/tools/tool-definition-wrapper.d.ts +1 -1
  249. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
  250. package/dist/core/tools/tool-definition-wrapper.js +4 -1
  251. package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
  252. package/dist/core/usage-totals.d.ts +2 -0
  253. package/dist/core/usage-totals.d.ts.map +1 -1
  254. package/dist/core/usage-totals.js +23 -0
  255. package/dist/core/usage-totals.js.map +1 -1
  256. package/dist/extensions/codemode/execute.d.ts +10 -0
  257. package/dist/extensions/codemode/execute.d.ts.map +1 -0
  258. package/dist/extensions/codemode/execute.js +313 -0
  259. package/dist/extensions/codemode/execute.js.map +1 -0
  260. package/dist/extensions/codemode/index.d.ts +11 -0
  261. package/dist/extensions/codemode/index.d.ts.map +1 -0
  262. package/dist/extensions/codemode/index.js +14 -0
  263. package/dist/extensions/codemode/index.js.map +1 -0
  264. package/dist/extensions/codemode/renderer.d.ts +4 -0
  265. package/dist/extensions/codemode/renderer.d.ts.map +1 -0
  266. package/dist/extensions/codemode/renderer.js +78 -0
  267. package/dist/extensions/codemode/renderer.js.map +1 -0
  268. package/dist/extensions/codemode/tool.d.ts +51 -0
  269. package/dist/extensions/codemode/tool.d.ts.map +1 -0
  270. package/dist/extensions/codemode/tool.js +134 -0
  271. package/dist/extensions/codemode/tool.js.map +1 -0
  272. package/dist/extensions/codemode/worker.d.ts +2 -0
  273. package/dist/extensions/codemode/worker.d.ts.map +1 -0
  274. package/dist/extensions/codemode/worker.js +2 -0
  275. package/dist/extensions/codemode/worker.js.map +1 -0
  276. package/dist/extensions/index.d.ts.map +1 -1
  277. package/dist/extensions/index.js +5 -1
  278. package/dist/extensions/index.js.map +1 -1
  279. package/dist/extensions/llama/provider.d.ts.map +1 -1
  280. package/dist/extensions/llama/provider.js +31 -10
  281. package/dist/extensions/llama/provider.js.map +1 -1
  282. package/dist/extensions/tool-search/index.d.ts +5 -0
  283. package/dist/extensions/tool-search/index.d.ts.map +1 -0
  284. package/dist/extensions/tool-search/index.js +6 -0
  285. package/dist/extensions/tool-search/index.js.map +1 -0
  286. package/dist/extensions/tool-search/tool.d.ts +41 -0
  287. package/dist/extensions/tool-search/tool.d.ts.map +1 -0
  288. package/dist/extensions/tool-search/tool.js +161 -0
  289. package/dist/extensions/tool-search/tool.js.map +1 -0
  290. package/dist/index.d.ts +7 -0
  291. package/dist/index.d.ts.map +1 -1
  292. package/dist/index.js +5 -0
  293. package/dist/index.js.map +1 -1
  294. package/dist/modes/interactive/components/chat-message-renderer.d.ts +1 -0
  295. package/dist/modes/interactive/components/chat-message-renderer.d.ts.map +1 -1
  296. package/dist/modes/interactive/components/chat-message-renderer.js +2 -0
  297. package/dist/modes/interactive/components/chat-message-renderer.js.map +1 -1
  298. package/dist/modes/interactive/components/config-selector-list.d.ts.map +1 -1
  299. package/dist/modes/interactive/components/config-selector-list.js +9 -1
  300. package/dist/modes/interactive/components/config-selector-list.js.map +1 -1
  301. package/dist/modes/interactive/components/config-selector-project-scope.d.ts.map +1 -1
  302. package/dist/modes/interactive/components/config-selector-project-scope.js +4 -1
  303. package/dist/modes/interactive/components/config-selector-project-scope.js.map +1 -1
  304. package/dist/modes/interactive/components/first-time-setup.d.ts +2 -2
  305. package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -1
  306. package/dist/modes/interactive/components/first-time-setup.js +1 -0
  307. package/dist/modes/interactive/components/first-time-setup.js.map +1 -1
  308. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  309. package/dist/modes/interactive/components/footer.js +42 -7
  310. package/dist/modes/interactive/components/footer.js.map +1 -1
  311. package/dist/modes/interactive/components/settings-selector-handlers.d.ts.map +1 -1
  312. package/dist/modes/interactive/components/settings-selector-handlers.js +3 -0
  313. package/dist/modes/interactive/components/settings-selector-handlers.js.map +1 -1
  314. package/dist/modes/interactive/components/settings-selector-items.d.ts.map +1 -1
  315. package/dist/modes/interactive/components/settings-selector-items.js +13 -0
  316. package/dist/modes/interactive/components/settings-selector-items.js.map +1 -1
  317. package/dist/modes/interactive/components/settings-selector-submenus.d.ts.map +1 -1
  318. package/dist/modes/interactive/components/settings-selector-submenus.js +3 -1
  319. package/dist/modes/interactive/components/settings-selector-submenus.js.map +1 -1
  320. package/dist/modes/interactive/components/settings-selector-types.d.ts +3 -1
  321. package/dist/modes/interactive/components/settings-selector-types.d.ts.map +1 -1
  322. package/dist/modes/interactive/components/settings-selector-types.js.map +1 -1
  323. package/dist/modes/interactive/components/themed-text.d.ts +8 -0
  324. package/dist/modes/interactive/components/themed-text.d.ts.map +1 -0
  325. package/dist/modes/interactive/components/themed-text.js +14 -0
  326. package/dist/modes/interactive/components/themed-text.js.map +1 -0
  327. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  328. package/dist/modes/interactive/components/tool-execution.js +5 -3
  329. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  330. package/dist/modes/interactive/interactive-agent-events.js +2 -0
  331. package/dist/modes/interactive/interactive-agent-events.js.map +1 -1
  332. package/dist/modes/interactive/interactive-mode-base.d.ts +2 -1
  333. package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -1
  334. package/dist/modes/interactive/interactive-mode-base.js +5 -0
  335. package/dist/modes/interactive/interactive-mode-base.js.map +1 -1
  336. package/dist/modes/interactive/interactive-resource-rendering.js +7 -10
  337. package/dist/modes/interactive/interactive-resource-rendering.js.map +1 -1
  338. package/dist/modes/interactive/interactive-selectors.js +5 -0
  339. package/dist/modes/interactive/interactive-selectors.js.map +1 -1
  340. package/dist/modes/interactive/interactive-session-runtime.js +1 -0
  341. package/dist/modes/interactive/interactive-session-runtime.js.map +1 -1
  342. package/dist/modes/interactive/interactive-startup.d.ts.map +1 -1
  343. package/dist/modes/interactive/interactive-startup.js +8 -3
  344. package/dist/modes/interactive/interactive-startup.js.map +1 -1
  345. package/dist/modes/interactive/interactive-tui.d.ts +2 -1
  346. package/dist/modes/interactive/interactive-tui.d.ts.map +1 -1
  347. package/dist/modes/interactive/interactive-tui.js +1 -0
  348. package/dist/modes/interactive/interactive-tui.js.map +1 -1
  349. package/dist/modes/interactive/theme/color-utils.d.ts.map +1 -1
  350. package/dist/modes/interactive/theme/color-utils.js +3 -0
  351. package/dist/modes/interactive/theme/color-utils.js.map +1 -1
  352. package/dist/modes/interactive/theme/export-colors.d.ts.map +1 -1
  353. package/dist/modes/interactive/theme/export-colors.js +4 -1
  354. package/dist/modes/interactive/theme/export-colors.js.map +1 -1
  355. package/dist/modes/interactive/theme/system-theme.d.ts +23 -0
  356. package/dist/modes/interactive/theme/system-theme.d.ts.map +1 -0
  357. package/dist/modes/interactive/theme/system-theme.js +462 -0
  358. package/dist/modes/interactive/theme/system-theme.js.map +1 -0
  359. package/dist/modes/interactive/theme/terminal-colors.d.ts +10 -0
  360. package/dist/modes/interactive/theme/terminal-colors.d.ts.map +1 -0
  361. package/dist/modes/interactive/theme/terminal-colors.js +36 -0
  362. package/dist/modes/interactive/theme/terminal-colors.js.map +1 -0
  363. package/dist/modes/interactive/theme/terminal-detection.d.ts +4 -6
  364. package/dist/modes/interactive/theme/terminal-detection.d.ts.map +1 -1
  365. package/dist/modes/interactive/theme/terminal-detection.js +12 -46
  366. package/dist/modes/interactive/theme/terminal-detection.js.map +1 -1
  367. package/dist/modes/interactive/theme/theme-class.d.ts +1 -0
  368. package/dist/modes/interactive/theme/theme-class.d.ts.map +1 -1
  369. package/dist/modes/interactive/theme/theme-class.js +2 -2
  370. package/dist/modes/interactive/theme/theme-class.js.map +1 -1
  371. package/dist/modes/interactive/theme/theme-controller.d.ts +16 -8
  372. package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
  373. package/dist/modes/interactive/theme/theme-controller.js +106 -64
  374. package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
  375. package/dist/modes/interactive/theme/theme-loading.d.ts.map +1 -1
  376. package/dist/modes/interactive/theme/theme-loading.js +23 -2
  377. package/dist/modes/interactive/theme/theme-loading.js.map +1 -1
  378. package/dist/modes/interactive/theme/theme-schema.js +1 -1
  379. package/dist/modes/interactive/theme/theme-schema.js.map +1 -1
  380. package/dist/modes/interactive/theme/theme-schema.json +2 -2
  381. package/dist/modes/interactive/theme/theme.d.ts +2 -0
  382. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  383. package/dist/modes/interactive/theme/theme.js +2 -0
  384. package/dist/modes/interactive/theme/theme.js.map +1 -1
  385. package/dist/modes/interactive-engine/engine-session-stats.d.ts +26 -0
  386. package/dist/modes/interactive-engine/engine-session-stats.d.ts.map +1 -0
  387. package/dist/modes/interactive-engine/engine-session-stats.js +71 -0
  388. package/dist/modes/interactive-engine/engine-session-stats.js.map +1 -0
  389. package/dist/modes/interactive-engine/extension-ui-bridge.d.ts +2 -0
  390. package/dist/modes/interactive-engine/extension-ui-bridge.d.ts.map +1 -1
  391. package/dist/modes/interactive-engine/extension-ui-bridge.js +4 -0
  392. package/dist/modes/interactive-engine/extension-ui-bridge.js.map +1 -1
  393. package/dist/modes/interactive-engine/isolated-runtime.d.ts +3 -0
  394. package/dist/modes/interactive-engine/isolated-runtime.d.ts.map +1 -1
  395. package/dist/modes/interactive-engine/isolated-runtime.js +27 -5
  396. package/dist/modes/interactive-engine/isolated-runtime.js.map +1 -1
  397. package/dist/modes/rpc/rpc-provider-auth.d.ts.map +1 -1
  398. package/dist/modes/rpc/rpc-provider-auth.js +3 -1
  399. package/dist/modes/rpc/rpc-provider-auth.js.map +1 -1
  400. package/dist/package-manager-cli.d.ts.map +1 -1
  401. package/dist/package-manager-cli.js +8 -2
  402. package/dist/package-manager-cli.js.map +1 -1
  403. package/dist/utils/paths.d.ts.map +1 -1
  404. package/dist/utils/paths.js +2 -1
  405. package/dist/utils/paths.js.map +1 -1
  406. package/dist/utils/shell.d.ts +1 -3
  407. package/dist/utils/shell.d.ts.map +1 -1
  408. package/dist/utils/shell.js +3 -30
  409. package/dist/utils/shell.js.map +1 -1
  410. package/docs/extensions/api-reference.md +5 -1
  411. package/docs/extensions/authoring.md +31 -1
  412. package/docs/extensions/events.md +3 -1
  413. package/docs/extensions.md +14 -0
  414. package/docs/models/evals.md +45 -2
  415. package/docs/models/reference.md +33 -2
  416. package/docs/models.md +1 -0
  417. package/docs/packages.md +2 -0
  418. package/docs/providers.md +34 -7
  419. package/docs/reference/cli.md +4 -0
  420. package/docs/rpc/protocol.md +10 -0
  421. package/docs/sdk/reference.md +11 -1
  422. package/docs/sdk/structured-decisions.md +4 -2
  423. package/docs/session-format.md +5 -0
  424. package/docs/settings.md +19 -5
  425. package/docs/skills.md +1 -1
  426. package/docs/themes/reference.md +2 -1
  427. package/docs/themes.md +4 -2
  428. package/docs/tools.md +39 -0
  429. package/npm-shrinkwrap.json +115 -113
  430. package/package.json +12 -9
@@ -1 +1 @@
1
- {"version":3,"file":"model-routing-evals.js","sourceRoot":"","sources":["../../src/core/model-routing-evals.ts"],"names":[],"mappings":"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","sourcesContent":["import { jsonBytes, truncateToBytes } from \"./model-routing-bytes.js\";\n\n/** Bounds the evaluation evidence sent with one routing request. */\nexport const MODEL_SELECTION_EVALS_JSON_BYTES = 14_200;\n\nconst VENDOR_OR_REGION_PREFIX = /^(?:[a-z][a-z-]*\\.)+/u;\nconst SNAPSHOT_TOKEN = /^\\d{4}$/u;\nconst DEPLOYMENT_TOKENS = new Set([\n\t\"fast\",\n\t\"highspeed\",\n\t\"ultraspeed\",\n\t\"lightning\",\n\t\"beta\",\n\t\"exp\",\n\t\"free\",\n\t\"it\",\n\t\"instruct\",\n\t\"contributor\",\n]);\nconst ROW_EDITION_TOKENS = new Set([\"preview\", \"instruct\", \"it\"]);\nconst VARIANT_TOKENS = new Set([\n\t\"off\",\n\t\"minimal\",\n\t\"low\",\n\t\"medium\",\n\t\"high\",\n\t\"xhigh\",\n\t\"max\",\n\t\"adaptive\",\n\t\"thinking\",\n\t\"reasoning\",\n\t\"non\",\n\t\"effort\",\n\t\"preview\",\n]);\nconst CLAUDE_FAMILIES = new Set([\"opus\", \"sonnet\", \"haiku\", \"fable\"]);\n\n/** Artificial Analysis names older Claude models `claude-4-5-sonnet`; catalogs use `claude-sonnet-4-5`. */\nfunction canonicalClaudeOrder(tokens: string[]): string[] {\n\tif (tokens[0] !== \"claude\" || !CLAUDE_FAMILIES.has(tokens[1] ?? \"\")) return tokens;\n\tconst versionEnd = tokens.findIndex((token, index) => index > 1 && !/^\\d+$/u.test(token));\n\tconst end = versionEnd < 0 ? tokens.length : versionEnd;\n\tif (end === 2) return tokens;\n\treturn [\"claude\", ...tokens.slice(2, end), tokens[1]!, ...tokens.slice(end)];\n}\n\n/** Provider-independent model tokens: `us.anthropic.claude-opus-4-6-v1` and `anthropic/claude-opus-4.6` agree. */\nexport function modelEvidenceTokens(id: string): string[] {\n\tconst normalized = id.trim().toLowerCase();\n\tconst model = normalized\n\t\t.slice(normalized.lastIndexOf(\"/\") + 1)\n\t\t.replace(/^~/u, \"\")\n\t\t.replace(VENDOR_OR_REGION_PREFIX, \"\")\n\t\t.replace(/(?<=[a-z])-\\d+:\\d+$/u, \"\")\n\t\t.replace(/:[a-z0-9]+$/u, \"\")\n\t\t.replace(/-v\\d+$/u, \"\")\n\t\t.replace(/-\\d{8}$/u, \"\");\n\tconst tokens = model\n\t\t.split(/[-._]/u)\n\t\t.filter(Boolean)\n\t\t.map((token) => (token === \"thinking\" ? \"reasoning\" : token));\n\treturn canonicalClaudeOrder(tokens);\n}\n\nconst isVariantSuffix = (token: string) =>\n\tVARIANT_TOKENS.has(token) || ROW_EDITION_TOKENS.has(token) || SNAPSHOT_TOKEN.test(token);\n\n/** True when `slug` is the candidate model or one of its effort, edition or snapshot variants. */\nfunction slugMatchesCandidate(slug: readonly string[], candidate: readonly string[]): boolean {\n\tif (slug.length < candidate.length || candidate.some((token, index) => slug[index] !== token)) return false;\n\treturn slug.slice(candidate.length).every(isVariantSuffix);\n}\n\n/** One catalog model across its effort, edition and snapshot rows: `astra-high` and `astra-0902` are `astra`. */\nexport function catalogModelIdentity(slug: readonly string[]): string {\n\tlet end = slug.length;\n\twhile (end > 1 && isVariantSuffix(slug[end - 1]!)) end--;\n\treturn slug.slice(0, end).join(\"-\");\n}\n\n/**\n * The candidate's own tokens first, then the same model without trailing\n * deployment, reasoning-mode or snapshot suffixes (`gpt-5.4-fast`,\n * `grok-4.20-reasoning`, `qwen3.8-max-0902`). A fallback applies only when the\n * more specific form matched no row, so a model that is itself named `-fast`\n * keeps its own evidence.\n */\nfunction candidateForms(tokens: readonly string[]): string[][] {\n\tconst forms = [[...tokens]];\n\tlet current = [...tokens];\n\twhile (current.length > 1) {\n\t\tconst last = current[current.length - 1]!;\n\t\tif (!DEPLOYMENT_TOKENS.has(last) && !VARIANT_TOKENS.has(last) && !SNAPSHOT_TOKEN.test(last)) break;\n\t\tcurrent = current.slice(0, -1);\n\t\tforms.push(current);\n\t}\n\treturn forms;\n}\n\ninterface CatalogRow {\n\treadonly line: string;\n\treadonly section: number;\n\treadonly order: number;\n\treadonly tokens: readonly string[];\n\treadonly releaseDate?: string;\n}\n\n/** One `## ` section of `evals.md` that holds a model table keyed by `slug`. */\ninterface CatalogSection {\n\t/** The section heading, its notes and key, the table header and separator. */\n\treadonly intro: readonly string[];\n}\n\n/** `evals.md` parsed once so batch packing can query evidence per candidate cheaply. */\nexport interface EvalsCatalog {\n\t/** Text before the first table section: title, access date and the shared key. */\n\treadonly preamble: readonly string[];\n\treadonly sections: readonly CatalogSection[];\n\treadonly rows: readonly CatalogRow[];\n\t/** The unparsed document when it has no model table. */\n\treadonly raw?: string;\n\treadonly matches: Map<string, readonly CatalogRow[]>;\n}\n\nconst TABLE_HEADER = /^\\|\\s*slug\\s*\\|/u;\n\nexport function parseEvalsCatalog(evals: string): EvalsCatalog {\n\tconst lines = evals.split(\"\\n\");\n\tconst headers = lines.flatMap((line, index) => (TABLE_HEADER.test(line) ? [index] : []));\n\tif (headers.length === 0) return { preamble: [], sections: [], rows: [], raw: evals, matches: new Map() };\n\tconst sections: CatalogSection[] = [];\n\tconst rows: CatalogRow[] = [];\n\tlet preambleEnd = 0;\n\tlet previousTableEnd = 0;\n\tfor (const [section, headerIndex] of headers.entries()) {\n\t\tlet start = headerIndex;\n\t\tfor (let index = headerIndex - 1; index >= previousTableEnd; index--)\n\t\t\tif (lines[index]!.startsWith(\"## \")) {\n\t\t\t\tstart = index;\n\t\t\t\tbreak;\n\t\t\t}\n\t\tif (section === 0) preambleEnd = start;\n\t\tsections.push({ intro: lines.slice(start, headerIndex + 2) });\n\t\tconst header = lines[headerIndex]!.split(\"|\").map((cell) => cell.trim());\n\t\tconst releaseColumn = header.indexOf(\"Release date\");\n\t\tlet index = headerIndex + 2;\n\t\tfor (; index < lines.length && lines[index]!.startsWith(\"|\"); index++) {\n\t\t\tconst cells = lines[index]!.split(\"|\").map((cell) => cell.trim());\n\t\t\tif (!cells[1]) continue;\n\t\t\tconst release = releaseColumn > 0 ? cells[releaseColumn] : undefined;\n\t\t\trows.push({\n\t\t\t\tline: lines[index]!,\n\t\t\t\tsection,\n\t\t\t\torder: rows.length,\n\t\t\t\ttokens: modelEvidenceTokens(cells[1]),\n\t\t\t\t...(release && /^\\d{4}-\\d{2}-\\d{2}$/u.test(release) ? { releaseDate: release } : {}),\n\t\t\t});\n\t\t}\n\t\tpreviousTableEnd = index;\n\t}\n\treturn { preamble: lines.slice(0, preambleEnd), sections, rows, matches: new Map() };\n}\n\n/**\n * Rows describing `candidate`: in each section, its own model and variants, or\n * its base model when that section has none. Sections resolve independently, so\n * an exact snapshot row in one table does not hide the base model's rows in another.\n */\nexport function candidateEvidenceRows(catalog: EvalsCatalog, candidate: string): readonly CatalogRow[] {\n\tconst cached = catalog.matches.get(candidate);\n\tif (cached) return cached;\n\tconst forms = candidateForms(modelEvidenceTokens(candidate));\n\tconst matches = catalog.sections.flatMap((_, section) => {\n\t\tconst sectionRows = catalog.rows.filter((row) => row.section === section);\n\t\tfor (const form of forms) {\n\t\t\tconst found = sectionRows.filter((row) => slugMatchesCandidate(row.tokens, form));\n\t\t\tif (found.length > 0) return found;\n\t\t}\n\t\treturn [];\n\t});\n\tcatalog.matches.set(candidate, matches);\n\treturn matches;\n}\n\n/** Latest release date among the candidate's evidence rows, when any row has one. */\nexport function candidateReleaseDate(catalog: EvalsCatalog, candidate: string): string | undefined {\n\tconst dates = candidateEvidenceRows(catalog, candidate).flatMap((row) => (row.releaseDate ? [row.releaseDate] : []));\n\treturn dates.length ? dates.sort().at(-1) : undefined;\n}\n\n/**\n * The catalog preamble plus, for every section with rows for `candidates`, that\n * section's heading, key and table header followed by only those rows.\n * Sections without a matching row are left out. `maxBytes` bounds the\n * JSON-encoded result; batched routing omits it because its request budget\n * already decides how many candidates, and so how many rows, one batch holds.\n */\nexport function catalogEvidence(\n\tcatalog: EvalsCatalog,\n\tcandidates: readonly string[],\n\tmaxBytes = Number.POSITIVE_INFINITY,\n): string {\n\tif (catalog.raw !== undefined) return truncateToBytes(catalog.raw, maxBytes);\n\tconst selected = new Set<number>();\n\tfor (const candidate of new Set(candidates))\n\t\tfor (const row of candidateEvidenceRows(catalog, candidate)) selected.add(row.order);\n\tconst kept = catalog.rows.filter((row) => selected.has(row.order));\n\tconst parts = [...catalog.preamble];\n\tfor (const [index, section] of catalog.sections.entries()) {\n\t\tconst sectionRows = kept.filter((row) => row.section === index);\n\t\tif (index > 0 && sectionRows.length === 0) continue;\n\t\tif (index > 0 && parts.at(-1) !== \"\") parts.push(\"\");\n\t\tparts.push(...section.intro, ...sectionRows.map((row) => row.line));\n\t}\n\tconst filtered = parts.join(\"\\n\");\n\treturn jsonBytes(filtered) <= maxBytes ? filtered : truncateToBytes(filtered, maxBytes);\n}\n\n/**\n * Keep the catalog preamble and only the table rows that describe an eligible\n * candidate model, bounded to the routing evidence budget.\n */\nexport function filterModelSelectionEvals(evals: string, candidates: readonly string[]): string {\n\treturn catalogEvidence(parseEvalsCatalog(evals), candidates, MODEL_SELECTION_EVALS_JSON_BYTES);\n}\n"]}
1
+ {"version":3,"file":"model-routing-evals.js","sourceRoot":"","sources":["../../src/core/model-routing-evals.ts"],"names":[],"mappings":"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","sourcesContent":["import { jsonBytes, truncateToBytes } from \"./model-routing-bytes.js\";\n\n/** Bounds the evaluation evidence sent with one routing request. */\nexport const MODEL_SELECTION_EVALS_JSON_BYTES = 14_200;\n\nconst VENDOR_OR_REGION_PREFIX = /^(?:[a-z][a-z-]*\\.)+/u;\nconst SNAPSHOT_TOKEN = /^\\d{4}$/u;\nconst DEPLOYMENT_TOKENS = new Set([\n\t\"highspeed\",\n\t\"ultraspeed\",\n\t\"lightning\",\n\t\"beta\",\n\t\"exp\",\n\t\"free\",\n\t\"it\",\n\t\"instruct\",\n\t\"contributor\",\n]);\nconst ROW_EDITION_TOKENS = new Set([\"preview\", \"instruct\", \"it\"]);\nconst VARIANT_TOKENS = new Set([\n\t\"off\",\n\t\"minimal\",\n\t\"low\",\n\t\"medium\",\n\t\"high\",\n\t\"xhigh\",\n\t\"max\",\n\t\"adaptive\",\n\t\"thinking\",\n\t\"reasoning\",\n\t\"non\",\n\t\"effort\",\n\t\"preview\",\n]);\nconst CLAUDE_FAMILIES = new Set([\"opus\", \"sonnet\", \"haiku\", \"fable\"]);\n\n/** Artificial Analysis names older Claude models `claude-4-5-sonnet`; catalogs use `claude-sonnet-4-5`. */\nfunction canonicalClaudeOrder(tokens: string[]): string[] {\n\tif (tokens[0] !== \"claude\" || !CLAUDE_FAMILIES.has(tokens[1] ?? \"\")) return tokens;\n\tconst versionEnd = tokens.findIndex((token, index) => index > 1 && !/^\\d+$/u.test(token));\n\tconst end = versionEnd < 0 ? tokens.length : versionEnd;\n\tif (end === 2) return tokens;\n\treturn [\"claude\", ...tokens.slice(2, end), tokens[1]!, ...tokens.slice(end)];\n}\n\n/** Provider-independent model tokens: `us.anthropic.claude-opus-4-6-v1` and `anthropic/claude-opus-4.6` agree. */\nexport function modelEvidenceTokens(id: string): string[] {\n\tconst normalized = id.trim().toLowerCase();\n\tconst model = normalized\n\t\t.slice(normalized.lastIndexOf(\"/\") + 1)\n\t\t.replace(/^~/u, \"\")\n\t\t.replace(VENDOR_OR_REGION_PREFIX, \"\")\n\t\t.replace(/(?<=[a-z])-\\d+:\\d+$/u, \"\")\n\t\t.replace(/:[a-z0-9]+$/u, \"\")\n\t\t.replace(/-v\\d+$/u, \"\")\n\t\t.replace(/-\\d{8}$/u, \"\");\n\tconst tokens = model\n\t\t.split(/[-._]/u)\n\t\t.filter(Boolean)\n\t\t.map((token) => (token === \"thinking\" ? \"reasoning\" : token));\n\treturn canonicalClaudeOrder(tokens);\n}\n\nconst isVariantSuffix = (token: string) =>\n\tVARIANT_TOKENS.has(token) || ROW_EDITION_TOKENS.has(token) || SNAPSHOT_TOKEN.test(token);\n\n/** True when `slug` is the candidate model or one of its effort, edition or snapshot variants. */\nfunction slugMatchesCandidate(slug: readonly string[], candidate: readonly string[]): boolean {\n\tif (slug.length < candidate.length || candidate.some((token, index) => slug[index] !== token)) return false;\n\treturn slug.slice(candidate.length).every(isVariantSuffix);\n}\n\n/** One catalog model across its effort, edition and snapshot rows: `astra-high` and `astra-0902` are `astra`. */\nexport function catalogModelIdentity(slug: readonly string[]): string {\n\tlet end = slug.length;\n\twhile (end > 1 && isVariantSuffix(slug[end - 1]!)) end--;\n\treturn slug.slice(0, end).join(\"-\");\n}\n\n/**\n * The candidate's own tokens first, then the same model without trailing\n * deployment, reasoning-mode or snapshot suffixes (`grok-4.20-reasoning`,\n * `qwen3.8-max-0902`). Fast is part of the owned identity, not a deployment\n * alias: only explicit route metadata at the caller permits base-model reuse.\n * A fallback applies only when the more specific form matched no row.\n */\nfunction candidateForms(tokens: readonly string[]): string[][] {\n\tconst forms = [[...tokens]];\n\tlet current = [...tokens];\n\twhile (current.length > 1) {\n\t\tconst last = current[current.length - 1]!;\n\t\tif (!DEPLOYMENT_TOKENS.has(last) && !VARIANT_TOKENS.has(last) && !SNAPSHOT_TOKEN.test(last)) break;\n\t\tcurrent = current.slice(0, -1);\n\t\tforms.push(current);\n\t}\n\treturn forms;\n}\n\ninterface CatalogRow {\n\treadonly line: string;\n\treadonly section: number;\n\treadonly order: number;\n\treadonly tokens: readonly string[];\n\treadonly releaseDate?: string;\n}\n\n/** One `## ` section of `evals.md` that holds a model table keyed by `slug`. */\ninterface CatalogSection {\n\t/** The section heading, its notes and key, the table header and separator. */\n\treadonly intro: readonly string[];\n}\n\n/** `evals.md` parsed once so batch packing can query evidence per candidate cheaply. */\nexport interface EvalsCatalog {\n\t/** Text before the first table section: title, access date and the shared key. */\n\treadonly preamble: readonly string[];\n\treadonly sections: readonly CatalogSection[];\n\treadonly rows: readonly CatalogRow[];\n\t/** The unparsed document when it has no model table. */\n\treadonly raw?: string;\n\treadonly matches: Map<string, readonly CatalogRow[]>;\n}\n\nconst TABLE_HEADER = /^\\|\\s*slug\\s*\\|/u;\n\nexport function parseEvalsCatalog(evals: string): EvalsCatalog {\n\tconst lines = evals.split(\"\\n\");\n\tconst headers = lines.flatMap((line, index) => (TABLE_HEADER.test(line) ? [index] : []));\n\tif (headers.length === 0) return { preamble: [], sections: [], rows: [], raw: evals, matches: new Map() };\n\tconst sections: CatalogSection[] = [];\n\tconst rows: CatalogRow[] = [];\n\tlet preambleEnd = 0;\n\tlet previousTableEnd = 0;\n\tfor (const [section, headerIndex] of headers.entries()) {\n\t\tlet start = headerIndex;\n\t\tfor (let index = headerIndex - 1; index >= previousTableEnd; index--)\n\t\t\tif (lines[index]!.startsWith(\"## \")) {\n\t\t\t\tstart = index;\n\t\t\t\tbreak;\n\t\t\t}\n\t\tif (section === 0) preambleEnd = start;\n\t\tsections.push({ intro: lines.slice(start, headerIndex + 2) });\n\t\tconst header = lines[headerIndex]!.split(\"|\").map((cell) => cell.trim());\n\t\tconst releaseColumn = header.indexOf(\"Release date\");\n\t\tlet index = headerIndex + 2;\n\t\tfor (; index < lines.length && lines[index]!.startsWith(\"|\"); index++) {\n\t\t\tconst cells = lines[index]!.split(\"|\").map((cell) => cell.trim());\n\t\t\tif (!cells[1]) continue;\n\t\t\tconst release = releaseColumn > 0 ? cells[releaseColumn] : undefined;\n\t\t\trows.push({\n\t\t\t\tline: lines[index]!,\n\t\t\t\tsection,\n\t\t\t\torder: rows.length,\n\t\t\t\ttokens: modelEvidenceTokens(cells[1]),\n\t\t\t\t...(release && /^\\d{4}-\\d{2}-\\d{2}$/u.test(release) ? { releaseDate: release } : {}),\n\t\t\t});\n\t\t}\n\t\tpreviousTableEnd = index;\n\t}\n\treturn { preamble: lines.slice(0, preambleEnd), sections, rows, matches: new Map() };\n}\n\n/**\n * Rows describing `candidate`: in each section, its own model and variants, or\n * its base model when that section has none. Sections resolve independently, so\n * an exact snapshot row in one table does not hide the base model's rows in another.\n */\nexport function candidateEvidenceRows(catalog: EvalsCatalog, candidate: string): readonly CatalogRow[] {\n\tconst cached = catalog.matches.get(candidate);\n\tif (cached) return cached;\n\tconst forms = candidateForms(modelEvidenceTokens(candidate));\n\tconst matches = catalog.sections.flatMap((_, section) => {\n\t\tconst sectionRows = catalog.rows.filter((row) => row.section === section);\n\t\tfor (const form of forms) {\n\t\t\tconst found = sectionRows.filter((row) => slugMatchesCandidate(row.tokens, form));\n\t\t\tif (found.length > 0) return found;\n\t\t}\n\t\treturn [];\n\t});\n\tcatalog.matches.set(candidate, matches);\n\treturn matches;\n}\n\n/** Latest release date among the candidate's evidence rows, when any row has one. */\nexport function candidateReleaseDate(catalog: EvalsCatalog, candidate: string): string | undefined {\n\tconst dates = candidateEvidenceRows(catalog, candidate).flatMap((row) => (row.releaseDate ? [row.releaseDate] : []));\n\treturn dates.length ? dates.sort().at(-1) : undefined;\n}\n\n/**\n * The catalog preamble plus, for every section with rows for `candidates`, that\n * section's heading, key and table header followed by only those rows.\n * Sections without a matching row are left out. `maxBytes` bounds the\n * JSON-encoded result; batched routing omits it because its request budget\n * already decides how many candidates, and so how many rows, one batch holds.\n */\nexport function catalogEvidence(\n\tcatalog: EvalsCatalog,\n\tcandidates: readonly string[],\n\tmaxBytes = Number.POSITIVE_INFINITY,\n): string {\n\tif (catalog.raw !== undefined) return truncateToBytes(catalog.raw, maxBytes);\n\tconst selected = new Set<number>();\n\tfor (const candidate of new Set(candidates))\n\t\tfor (const row of candidateEvidenceRows(catalog, candidate)) selected.add(row.order);\n\tconst kept = catalog.rows.filter((row) => selected.has(row.order));\n\tconst parts = [...catalog.preamble];\n\tfor (const [index, section] of catalog.sections.entries()) {\n\t\tconst sectionRows = kept.filter((row) => row.section === index);\n\t\tif (index > 0 && sectionRows.length === 0) continue;\n\t\tif (index > 0 && parts.at(-1) !== \"\") parts.push(\"\");\n\t\tparts.push(...section.intro, ...sectionRows.map((row) => row.line));\n\t}\n\tconst filtered = parts.join(\"\\n\");\n\treturn jsonBytes(filtered) <= maxBytes ? filtered : truncateToBytes(filtered, maxBytes);\n}\n\n/**\n * Keep the catalog preamble and only the table rows that describe an eligible\n * candidate model, bounded to the routing evidence budget.\n */\nexport function filterModelSelectionEvals(evals: string, candidates: readonly string[]): string {\n\treturn catalogEvidence(parseEvalsCatalog(evals), candidates, MODEL_SELECTION_EVALS_JSON_BYTES);\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { type AnyModel, type Api, type AssistantImages, type AssistantMessage, type AssistantMessageEventStream, type AuthCheck, type AuthInteraction, type AuthOperationOptions, type AuthResult, type AuthType, type ClassifierApi, type ClassifierContext, type ClassifierModel, type ClassifierResult, type Context, type Credential, type CredentialInfo, type DeferredHandle, type ImageApi, type ImageModel, type ImagesContext, type Model, type Models, type ModelsApiStreamOptions, type ModelsClassifierOptions, type ModelsDeferredCancelOptions, type ModelsDeferredFetchOptions, type ModelsImagesOptions, type ModelsRefreshOptions, type ModelsRefreshResult, type ModelType, type ModelTypeMap, type Provider } from "@bastani/pi-ai";
1
+ import { type AnyModel, type Api, type AssistantImages, type AssistantMessage, type AssistantMessageEventStream, type AuthCheck, type AuthInteraction, type AuthOperationOptions, type AuthResult, type AuthType, type ClassifierApi, type ClassifierContext, type ClassifierModel, type ClassifierResult, type Context, type Credential, type CredentialInfo, type DeferredHandle, type ImageApi, type ImageModel, type ImagesContext, type LoginOptions, type Model, type Models, type ModelsApiStreamOptions, type ModelsClassifierOptions, type ModelsDeferredCancelOptions, type ModelsDeferredFetchOptions, type ModelsImagesOptions, type ModelsRefreshOptions, type ModelsRefreshResult, type ModelType, type ModelTypeMap, type Provider } from "@bastani/pi-ai";
2
2
  import { type FastModelVariantDiagnostic } from "./fast-model-variants.ts";
3
3
  import { type AuthStatus, type CompatibilityRequestConfig, type ProviderConfigInput } from "./provider-composer.ts";
4
4
  export type { CreateModelRuntimeOptions, ModelRuntimeAuthOverrides } from "./model-runtime-types.ts";
@@ -208,7 +208,7 @@ export declare class ModelRuntime implements Models {
208
208
  private operationHeaders;
209
209
  generateImages(model: ImageModel<ImageApi>, context: ImagesContext, options?: ModelsImagesOptions): Promise<AssistantImages>;
210
210
  classify(model: ClassifierModel<ClassifierApi>, context: ClassifierContext, options?: ModelsClassifierOptions): Promise<ClassifierResult>;
211
- login(providerId: string, type: AuthType, interaction: AuthInteraction): Promise<Credential>;
211
+ login(providerId: string, type: AuthType, interaction: AuthInteraction, options?: LoginOptions): Promise<Credential>;
212
212
  logout(providerId: string, options?: AuthOperationOptions): Promise<void>;
213
213
  /**
214
214
  * The network policy a refresh with an omitted `allowNetwork` resolves to.
@@ -232,6 +232,7 @@ export declare class ModelRuntime implements Models {
232
232
  createExtensionProviderTransaction(replacedProviderIds?: Iterable<string>): ExtensionProviderTransaction;
233
233
  registerNativeProvider(provider: Provider): void;
234
234
  registerProvider(providerId: string, config: ProviderConfigInput): void;
235
+ private markProvisionallyConfigured;
235
236
  unregisterProvider(providerId: string): void;
236
237
  }
237
238
  //# sourceMappingURL=model-runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-runtime.d.ts","sourceRoot":"","sources":["../../src/core/model-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-runtime.d.ts","sourceRoot":"","sources":["../../src/core/model-runtime.ts"],"names":[],"mappings":"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"}
@@ -726,10 +726,10 @@ export class ModelRuntime {
726
726
  },
727
727
  });
728
728
  }
729
- async login(providerId, type, interaction) {
729
+ async login(providerId, type, interaction, options) {
730
730
  const signal = operationSignal(interaction.signal);
731
731
  return this.enqueueCredentialOperation(providerId, signal, async () => {
732
- const credential = await this.models.login(providerId, type, { ...interaction, signal });
732
+ const credential = await this.models.login(providerId, type, { ...interaction, signal }, options);
733
733
  this.markCatalogInputsChanged();
734
734
  await this.synchronizeCredentialState(providerId, "login", credential, () => {
735
735
  // Credential acquisition and persistence are the login transaction. Publish
@@ -916,6 +916,7 @@ export class ModelRuntime {
916
916
  this.nativeExtensionProviders.set(provider.id, provider);
917
917
  this.recomposeProvider(provider.id);
918
918
  this.updateModelSnapshot();
919
+ this.markProvisionallyConfigured(provider.id, configuredRequestAuthStatus(this.config.getProvider(provider.id), undefined), provider.auth?.oauth && !provider.auth.apiKey ? "oauth" : "api_key");
919
920
  this.scheduleRegistrationRefresh();
920
921
  }
921
922
  registerProvider(providerId, config) {
@@ -934,31 +935,24 @@ export class ModelRuntime {
934
935
  this.extensionProviders.set(providerId, effective);
935
936
  this.recomposeProvider(providerId);
936
937
  this.updateModelSnapshot();
937
- if (this.snapshot.storedProviders.has(providerId) ||
938
- configuredRequestAuthStatus(this.config.getProvider(providerId), effective)?.configured) {
939
- const configuredProviders = new Set(this.snapshot.configuredProviders).add(providerId);
940
- const auth = new Map(this.snapshot.auth);
941
- // Provisional entry until the async refresh lands; never clobber a real check result.
942
- if (!auth.get(providerId)) {
943
- auth.set(providerId, {
944
- type: effective.oauth && !effective.apiKey ? "oauth" : "api_key",
945
- source: "configured provider",
946
- });
947
- }
948
- // A provider that was already configured has an availability result — possibly
949
- // a credential-filtered subset of its catalog, as with an additive GitHub
950
- // Copilot override — and keeps it until the refresh this registration schedules
951
- // republishes it. Only a provider this registration newly configures has no
952
- // result to keep, so only its catalog is exposed provisionally.
953
- let available = this.snapshot.available;
954
- if (!this.snapshot.configuredProviders.has(providerId)) {
955
- const preserved = new Set(available.map(snapshotModelKey));
956
- available = this.snapshot.all.filter((model) => model.provider === providerId || preserved.has(snapshotModelKey(model)));
957
- }
958
- this.snapshot = { ...this.snapshot, auth, configuredProviders, available };
959
- }
938
+ this.markProvisionallyConfigured(providerId, configuredRequestAuthStatus(this.config.getProvider(providerId), effective), effective.oauth && !effective.apiKey ? "oauth" : "api_key");
960
939
  this.scheduleRegistrationRefresh();
961
940
  }
941
+ markProvisionallyConfigured(providerId, configuredStatus, type) {
942
+ if (!this.snapshot.storedProviders.has(providerId) && !configuredStatus?.configured)
943
+ return;
944
+ const configuredProviders = new Set(this.snapshot.configuredProviders).add(providerId);
945
+ const auth = new Map(this.snapshot.auth);
946
+ if (!auth.has(providerId))
947
+ auth.set(providerId, { type, source: "configured provider" });
948
+ // Preserve credential-filtered availability for providers already configured.
949
+ let available = this.snapshot.available;
950
+ if (!this.snapshot.configuredProviders.has(providerId)) {
951
+ const preserved = new Set(available.map(snapshotModelKey));
952
+ available = this.snapshot.all.filter((model) => model.provider === providerId || preserved.has(snapshotModelKey(model)));
953
+ }
954
+ this.snapshot = { ...this.snapshot, auth, configuredProviders, available };
955
+ }
962
956
  unregisterProvider(providerId) {
963
957
  this.extensionProviders.delete(providerId);
964
958
  this.nativeExtensionProviders.delete(providerId);