@qduc/term2 0.21.0 → 0.22.1

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 (681) hide show
  1. package/dist/agent.d.ts +2 -0
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +32 -10
  4. package/dist/agent.js.map +1 -1
  5. package/dist/app.d.ts.map +1 -1
  6. package/dist/app.js +83 -6
  7. package/dist/app.js.map +1 -1
  8. package/dist/cli.js +84 -2
  9. package/dist/cli.js.map +1 -1
  10. package/dist/components/InputBox.js +2 -3
  11. package/dist/components/InputBox.js.map +1 -1
  12. package/dist/components/common/MenuContainer.d.ts +15 -0
  13. package/dist/components/common/MenuContainer.d.ts.map +1 -1
  14. package/dist/components/common/MenuContainer.js +66 -32
  15. package/dist/components/common/MenuContainer.js.map +1 -1
  16. package/dist/components/input/MentorPoolMenuSession.d.ts.map +1 -1
  17. package/dist/components/input/MentorPoolMenuSession.js +5 -8
  18. package/dist/components/input/MentorPoolMenuSession.js.map +1 -1
  19. package/dist/components/input/MenuSurface.d.ts.map +1 -1
  20. package/dist/components/input/MenuSurface.js +12 -2
  21. package/dist/components/input/MenuSurface.js.map +1 -1
  22. package/dist/components/input/ModelMenuSession.d.ts.map +1 -1
  23. package/dist/components/input/ModelMenuSession.js +71 -34
  24. package/dist/components/input/ModelMenuSession.js.map +1 -1
  25. package/dist/components/input/SettingsMenuSession.d.ts.map +1 -1
  26. package/dist/components/input/SettingsMenuSession.js +56 -17
  27. package/dist/components/input/SettingsMenuSession.js.map +1 -1
  28. package/dist/components/input/SettingsValueMenuSession.d.ts.map +1 -1
  29. package/dist/components/input/SettingsValueMenuSession.js +33 -3
  30. package/dist/components/input/SettingsValueMenuSession.js.map +1 -1
  31. package/dist/components/input/menu-types.d.ts +1 -1
  32. package/dist/components/input/menu-types.d.ts.map +1 -1
  33. package/dist/components/input/triggers.js +2 -2
  34. package/dist/components/input/triggers.js.map +1 -1
  35. package/dist/components/layout/BackgroundTasksPanel.d.ts +0 -1
  36. package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -1
  37. package/dist/components/layout/BackgroundTasksPanel.js +4 -112
  38. package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
  39. package/dist/components/menu/ModelSelectionMenu.d.ts +10 -0
  40. package/dist/components/menu/ModelSelectionMenu.d.ts.map +1 -1
  41. package/dist/components/menu/ModelSelectionMenu.js +86 -17
  42. package/dist/components/menu/ModelSelectionMenu.js.map +1 -1
  43. package/dist/components/menu/ProfileSelectionMenu.d.ts.map +1 -1
  44. package/dist/components/menu/ProfileSelectionMenu.js +15 -14
  45. package/dist/components/menu/ProfileSelectionMenu.js.map +1 -1
  46. package/dist/components/menu/ResumeSelectionMenu.d.ts.map +1 -1
  47. package/dist/components/menu/ResumeSelectionMenu.js +13 -15
  48. package/dist/components/menu/ResumeSelectionMenu.js.map +1 -1
  49. package/dist/components/menu/SettingsSelectionMenu.d.ts.map +1 -1
  50. package/dist/components/menu/SettingsSelectionMenu.js +4 -32
  51. package/dist/components/menu/SettingsSelectionMenu.js.map +1 -1
  52. package/dist/components/menu/SettingsValueSelectionMenu.d.ts.map +1 -1
  53. package/dist/components/menu/SettingsValueSelectionMenu.js +12 -5
  54. package/dist/components/menu/SettingsValueSelectionMenu.js.map +1 -1
  55. package/dist/components/menu/SkillSelectionMenu.d.ts.map +1 -1
  56. package/dist/components/menu/SkillSelectionMenu.js +13 -16
  57. package/dist/components/menu/SkillSelectionMenu.js.map +1 -1
  58. package/dist/components/menu/SlashCommandMenu.d.ts +8 -0
  59. package/dist/components/menu/SlashCommandMenu.d.ts.map +1 -1
  60. package/dist/components/menu/SlashCommandMenu.js +16 -6
  61. package/dist/components/menu/SlashCommandMenu.js.map +1 -1
  62. package/dist/components/menu/StandaloneModelPickerApp.d.ts +40 -0
  63. package/dist/components/menu/StandaloneModelPickerApp.d.ts.map +1 -0
  64. package/dist/components/menu/StandaloneModelPickerApp.js +105 -0
  65. package/dist/components/menu/StandaloneModelPickerApp.js.map +1 -0
  66. package/dist/components/menu/settings-value-formatter.d.ts +11 -0
  67. package/dist/components/menu/settings-value-formatter.d.ts.map +1 -0
  68. package/dist/components/menu/settings-value-formatter.js +214 -0
  69. package/dist/components/menu/settings-value-formatter.js.map +1 -0
  70. package/dist/components/message/CommandMessage.d.ts.map +1 -1
  71. package/dist/components/message/CommandMessage.js +22 -17
  72. package/dist/components/message/CommandMessage.js.map +1 -1
  73. package/dist/components/message/MessageList.d.ts +2 -1
  74. package/dist/components/message/MessageList.d.ts.map +1 -1
  75. package/dist/components/message/MessageList.js +25 -40
  76. package/dist/components/message/MessageList.js.map +1 -1
  77. package/dist/components/message/RunCodeRenderer.d.ts +16 -0
  78. package/dist/components/message/RunCodeRenderer.d.ts.map +1 -0
  79. package/dist/components/message/RunCodeRenderer.js +25 -0
  80. package/dist/components/message/RunCodeRenderer.js.map +1 -0
  81. package/dist/components/message/command-message-helpers.d.ts +30 -0
  82. package/dist/components/message/command-message-helpers.d.ts.map +1 -1
  83. package/dist/components/message/command-message-helpers.js +85 -0
  84. package/dist/components/message/command-message-helpers.js.map +1 -1
  85. package/dist/components/prompt/ApprovalPrompt.d.ts.map +1 -1
  86. package/dist/components/prompt/ApprovalPrompt.js +12 -21
  87. package/dist/components/prompt/ApprovalPrompt.js.map +1 -1
  88. package/dist/components/theme.d.ts +1 -0
  89. package/dist/components/theme.d.ts.map +1 -1
  90. package/dist/components/theme.js +1 -0
  91. package/dist/components/theme.js.map +1 -1
  92. package/dist/contracts/streamed-model-turn.d.ts +6 -0
  93. package/dist/contracts/streamed-model-turn.d.ts.map +1 -1
  94. package/dist/hooks/conversation-ui-reducer.d.ts.map +1 -1
  95. package/dist/hooks/conversation-ui-reducer.js +5 -2
  96. package/dist/hooks/conversation-ui-reducer.js.map +1 -1
  97. package/dist/hooks/settings-completion-config.d.ts +1 -1
  98. package/dist/hooks/settings-completion-config.d.ts.map +1 -1
  99. package/dist/hooks/settings-completion-config.js +4 -122
  100. package/dist/hooks/settings-completion-config.js.map +1 -1
  101. package/dist/hooks/settings-completion-logic.d.ts +1 -1
  102. package/dist/hooks/settings-completion-logic.d.ts.map +1 -1
  103. package/dist/hooks/settings-completion-logic.js.map +1 -1
  104. package/dist/hooks/use-app-keyboard-shortcuts.d.ts.map +1 -1
  105. package/dist/hooks/use-app-keyboard-shortcuts.js +33 -20
  106. package/dist/hooks/use-app-keyboard-shortcuts.js.map +1 -1
  107. package/dist/hooks/use-conversation.d.ts +3 -0
  108. package/dist/hooks/use-conversation.d.ts.map +1 -1
  109. package/dist/hooks/use-conversation.js +107 -16
  110. package/dist/hooks/use-conversation.js.map +1 -1
  111. package/dist/hooks/use-mentor-pool-selection.d.ts +5 -3
  112. package/dist/hooks/use-mentor-pool-selection.d.ts.map +1 -1
  113. package/dist/hooks/use-mentor-pool-selection.js +63 -51
  114. package/dist/hooks/use-mentor-pool-selection.js.map +1 -1
  115. package/dist/hooks/use-model-selection.d.ts +33 -4
  116. package/dist/hooks/use-model-selection.d.ts.map +1 -1
  117. package/dist/hooks/use-model-selection.js +204 -114
  118. package/dist/hooks/use-model-selection.js.map +1 -1
  119. package/dist/hooks/use-settings-completion.d.ts.map +1 -1
  120. package/dist/hooks/use-settings-completion.js +1 -6
  121. package/dist/hooks/use-settings-completion.js.map +1 -1
  122. package/dist/hooks/use-settings-value-completion.d.ts +1 -8
  123. package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
  124. package/dist/hooks/use-settings-value-completion.js +10 -100
  125. package/dist/hooks/use-settings-value-completion.js.map +1 -1
  126. package/dist/hooks/use-slash-commands.d.ts.map +1 -1
  127. package/dist/hooks/use-slash-commands.js +19 -13
  128. package/dist/hooks/use-slash-commands.js.map +1 -1
  129. package/dist/hooks/use-standalone-model-picker.d.ts +64 -0
  130. package/dist/hooks/use-standalone-model-picker.d.ts.map +1 -0
  131. package/dist/hooks/use-standalone-model-picker.js +310 -0
  132. package/dist/hooks/use-standalone-model-picker.js.map +1 -0
  133. package/dist/lib/agent-client.d.ts +17 -1
  134. package/dist/lib/agent-client.d.ts.map +1 -1
  135. package/dist/lib/agent-client.js +173 -53
  136. package/dist/lib/agent-client.js.map +1 -1
  137. package/dist/lib/agent-configuration.d.ts +12 -3
  138. package/dist/lib/agent-configuration.d.ts.map +1 -1
  139. package/dist/lib/agent-configuration.js +26 -7
  140. package/dist/lib/agent-configuration.js.map +1 -1
  141. package/dist/lib/agent-factory.d.ts +3 -0
  142. package/dist/lib/agent-factory.d.ts.map +1 -1
  143. package/dist/lib/agent-factory.js +49 -7
  144. package/dist/lib/agent-factory.js.map +1 -1
  145. package/dist/lib/ask-user-answer-store.d.ts +1 -0
  146. package/dist/lib/ask-user-answer-store.d.ts.map +1 -1
  147. package/dist/lib/ask-user-answer-store.js +3 -0
  148. package/dist/lib/ask-user-answer-store.js.map +1 -1
  149. package/dist/lib/tool-invoke.d.ts +1 -0
  150. package/dist/lib/tool-invoke.d.ts.map +1 -1
  151. package/dist/lib/tool-invoke.js +1 -0
  152. package/dist/lib/tool-invoke.js.map +1 -1
  153. package/dist/non-interactive.d.ts +23 -0
  154. package/dist/non-interactive.d.ts.map +1 -1
  155. package/dist/non-interactive.js +225 -31
  156. package/dist/non-interactive.js.map +1 -1
  157. package/dist/prompts/background-shell.d.ts.map +1 -1
  158. package/dist/prompts/background-shell.js +4 -2
  159. package/dist/prompts/background-shell.js.map +1 -1
  160. package/dist/prompts/background-shell.ts +4 -2
  161. package/dist/prompts/codex.md +1 -3
  162. package/dist/prompts/fragments/gpt-6-astra.md +13 -0
  163. package/dist/prompts/gpt-5-modern.md +1 -3
  164. package/dist/prompts/gpt-5.4-mini.md +0 -2
  165. package/dist/prompts/gpt-5.5.md +0 -2
  166. package/dist/prompts/gpt-5.6.md +0 -1
  167. package/dist/prompts/lite.md +1 -6
  168. package/dist/prompts/memory.md +2 -2
  169. package/dist/prompts/orchestrator.md +4 -4
  170. package/dist/prompts/prompt-constructor.d.ts +2 -0
  171. package/dist/prompts/prompt-constructor.d.ts.map +1 -1
  172. package/dist/prompts/prompt-constructor.js +4 -2
  173. package/dist/prompts/prompt-constructor.js.map +1 -1
  174. package/dist/prompts/prompt-constructor.test.ts +178 -5
  175. package/dist/prompts/prompt-constructor.ts +7 -1
  176. package/dist/prompts/prompt-profiles.d.ts.map +1 -1
  177. package/dist/prompts/prompt-profiles.js +6 -0
  178. package/dist/prompts/prompt-profiles.js.map +1 -1
  179. package/dist/prompts/prompt-profiles.test.ts +6 -4
  180. package/dist/prompts/prompt-profiles.ts +6 -0
  181. package/dist/prompts/session-browser.md +4 -2
  182. package/dist/prompts/shell-auto-approval.d.ts +1 -1
  183. package/dist/prompts/shell-auto-approval.d.ts.map +1 -1
  184. package/dist/prompts/shell-auto-approval.js +2 -2
  185. package/dist/prompts/shell-auto-approval.ts +2 -2
  186. package/dist/prompts/subagent-delegation.js +3 -3
  187. package/dist/prompts/subagent-delegation.js.map +1 -1
  188. package/dist/prompts/subagent-delegation.test.ts +3 -3
  189. package/dist/prompts/subagent-delegation.ts +3 -3
  190. package/dist/prompts/subagents/librarian.md +4 -4
  191. package/dist/prompts/subagents/worker-prompt.test.ts +7 -0
  192. package/dist/prompts/tool-surface-guidance.d.ts +4 -0
  193. package/dist/prompts/tool-surface-guidance.d.ts.map +1 -0
  194. package/dist/prompts/tool-surface-guidance.js +19 -0
  195. package/dist/prompts/tool-surface-guidance.js.map +1 -0
  196. package/dist/prompts/tool-surface-guidance.ts +20 -0
  197. package/dist/providers/codex-compact.d.ts +2 -0
  198. package/dist/providers/codex-compact.d.ts.map +1 -1
  199. package/dist/providers/codex-compact.js +14 -0
  200. package/dist/providers/codex-compact.js.map +1 -1
  201. package/dist/providers/codex-responses-model.d.ts +23 -3
  202. package/dist/providers/codex-responses-model.d.ts.map +1 -1
  203. package/dist/providers/codex-responses-model.js +121 -33
  204. package/dist/providers/codex-responses-model.js.map +1 -1
  205. package/dist/providers/codex.provider.d.ts +2 -0
  206. package/dist/providers/codex.provider.d.ts.map +1 -1
  207. package/dist/providers/codex.provider.js +3 -2
  208. package/dist/providers/codex.provider.js.map +1 -1
  209. package/dist/providers/grok.provider.d.ts.map +1 -1
  210. package/dist/providers/grok.provider.js +5 -2
  211. package/dist/providers/grok.provider.js.map +1 -1
  212. package/dist/providers/model-catalog/catalog.generated.d.ts +453 -309
  213. package/dist/providers/model-catalog/catalog.generated.d.ts.map +1 -1
  214. package/dist/providers/model-catalog/catalog.generated.js +453 -309
  215. package/dist/providers/model-catalog/catalog.generated.js.map +1 -1
  216. package/dist/providers/opencode-session.d.ts.map +1 -1
  217. package/dist/providers/opencode-session.js +5 -0
  218. package/dist/providers/opencode-session.js.map +1 -1
  219. package/dist/providers/openrouter.provider.js +8 -1
  220. package/dist/providers/openrouter.provider.js.map +1 -1
  221. package/dist/providers/responses-websocket-sessions.d.ts +10 -0
  222. package/dist/providers/responses-websocket-sessions.d.ts.map +1 -1
  223. package/dist/providers/responses-websocket-sessions.js +9 -4
  224. package/dist/providers/responses-websocket-sessions.js.map +1 -1
  225. package/dist/providers/retrying-model.d.ts +2 -1
  226. package/dist/providers/retrying-model.d.ts.map +1 -1
  227. package/dist/providers/retrying-model.js +3 -0
  228. package/dist/providers/retrying-model.js.map +1 -1
  229. package/dist/services/agent-runtime/application-run-loop.d.ts +8 -1
  230. package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
  231. package/dist/services/agent-runtime/application-run-loop.js +30 -6
  232. package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
  233. package/dist/services/agent-runtime/context-compaction/index.d.ts +2 -0
  234. package/dist/services/agent-runtime/context-compaction/index.d.ts.map +1 -1
  235. package/dist/services/agent-runtime/context-compaction/index.js +30 -4
  236. package/dist/services/agent-runtime/context-compaction/index.js.map +1 -1
  237. package/dist/services/agent-runtime/context-compaction/local-context-compactor.d.ts +3 -0
  238. package/dist/services/agent-runtime/context-compaction/local-context-compactor.d.ts.map +1 -1
  239. package/dist/services/agent-runtime/context-compaction/local-context-compactor.js +15 -9
  240. package/dist/services/agent-runtime/context-compaction/local-context-compactor.js.map +1 -1
  241. package/dist/services/agent-runtime/model-resolver.d.ts.map +1 -1
  242. package/dist/services/agent-runtime/model-resolver.js +1 -23
  243. package/dist/services/agent-runtime/model-resolver.js.map +1 -1
  244. package/dist/services/agent-runtime/tool-invocation-context.d.ts +12 -0
  245. package/dist/services/agent-runtime/tool-invocation-context.d.ts.map +1 -1
  246. package/dist/services/agent-runtime/workflow/workflow-evaluator.d.ts +7 -1
  247. package/dist/services/agent-runtime/workflow/workflow-evaluator.d.ts.map +1 -1
  248. package/dist/services/agent-runtime/workflow/workflow-evaluator.js +78 -183
  249. package/dist/services/agent-runtime/workflow/workflow-evaluator.js.map +1 -1
  250. package/dist/services/agent-runtime/workflow/workflow-sandbox.d.ts +4 -3
  251. package/dist/services/agent-runtime/workflow/workflow-sandbox.d.ts.map +1 -1
  252. package/dist/services/agent-runtime/workflow/workflow-sandbox.js +9 -7
  253. package/dist/services/agent-runtime/workflow/workflow-sandbox.js.map +1 -1
  254. package/dist/services/agent-runtime/workflow/workflow-types.d.ts +1 -1
  255. package/dist/services/agent-runtime/workflow/workflow-types.d.ts.map +1 -1
  256. package/dist/services/agent-runtime/workflow/workflow-types.js.map +1 -1
  257. package/dist/services/approval/approval-decision-executor.d.ts +2 -1
  258. package/dist/services/approval/approval-decision-executor.d.ts.map +1 -1
  259. package/dist/services/approval/approval-decision-executor.js +22 -116
  260. package/dist/services/approval/approval-decision-executor.js.map +1 -1
  261. package/dist/services/approval/approval-descriptor.d.ts +10 -0
  262. package/dist/services/approval/approval-descriptor.d.ts.map +1 -0
  263. package/dist/services/approval/approval-descriptor.js +23 -0
  264. package/dist/services/approval/approval-descriptor.js.map +1 -0
  265. package/dist/services/approval/approval-flow-coordinator.d.ts +2 -1
  266. package/dist/services/approval/approval-flow-coordinator.d.ts.map +1 -1
  267. package/dist/services/approval/approval-flow-coordinator.js +2 -1
  268. package/dist/services/approval/approval-flow-coordinator.js.map +1 -1
  269. package/dist/services/approval/approval-grant-executor.d.ts +25 -0
  270. package/dist/services/approval/approval-grant-executor.d.ts.map +1 -0
  271. package/dist/services/approval/approval-grant-executor.js +125 -0
  272. package/dist/services/approval/approval-grant-executor.js.map +1 -0
  273. package/dist/services/approval/background-subagent-approval-controller.d.ts +2 -1
  274. package/dist/services/approval/background-subagent-approval-controller.d.ts.map +1 -1
  275. package/dist/services/approval/background-subagent-approval-controller.js.map +1 -1
  276. package/dist/services/approval/nested-approval-owner.d.ts +52 -0
  277. package/dist/services/approval/nested-approval-owner.d.ts.map +1 -0
  278. package/dist/services/approval/nested-approval-owner.js +194 -0
  279. package/dist/services/approval/nested-approval-owner.js.map +1 -0
  280. package/dist/services/approval/non-interactive-approval-policy.js +1 -1
  281. package/dist/services/approval/non-interactive-approval-policy.js.map +1 -1
  282. package/dist/services/approval/shell-auto-approval-evaluator.d.ts.map +1 -1
  283. package/dist/services/approval/shell-auto-approval-evaluator.js +2 -4
  284. package/dist/services/approval/shell-auto-approval-evaluator.js.map +1 -1
  285. package/dist/services/approval/shell-auto-approval-resolver.d.ts.map +1 -1
  286. package/dist/services/approval/shell-auto-approval-resolver.js +4 -0
  287. package/dist/services/approval/shell-auto-approval-resolver.js.map +1 -1
  288. package/dist/services/approval/tool-approval-batch-coordinator.d.ts +10 -3
  289. package/dist/services/approval/tool-approval-batch-coordinator.d.ts.map +1 -1
  290. package/dist/services/approval/tool-approval-batch-coordinator.js +16 -5
  291. package/dist/services/approval/tool-approval-batch-coordinator.js.map +1 -1
  292. package/dist/services/approval/tool-approval-policy-registry.d.ts +13 -0
  293. package/dist/services/approval/tool-approval-policy-registry.d.ts.map +1 -1
  294. package/dist/services/approval/tool-approval-policy-registry.js +16 -1
  295. package/dist/services/approval/tool-approval-policy-registry.js.map +1 -1
  296. package/dist/services/conversation/conversation-adapter-factory.d.ts +3 -1
  297. package/dist/services/conversation/conversation-adapter-factory.d.ts.map +1 -1
  298. package/dist/services/conversation/conversation-adapter-factory.js +3 -3
  299. package/dist/services/conversation/conversation-adapter-factory.js.map +1 -1
  300. package/dist/services/conversation/conversation-adapter.d.ts +3 -2
  301. package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
  302. package/dist/services/conversation/conversation-adapter.js +32 -23
  303. package/dist/services/conversation/conversation-adapter.js.map +1 -1
  304. package/dist/services/conversation/conversation-orchestrator.d.ts +11 -0
  305. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
  306. package/dist/services/conversation/conversation-orchestrator.js +107 -64
  307. package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
  308. package/dist/services/conversation/conversation-persistence.d.ts +6 -1
  309. package/dist/services/conversation/conversation-persistence.d.ts.map +1 -1
  310. package/dist/services/conversation/conversation-persistence.js +68 -19
  311. package/dist/services/conversation/conversation-persistence.js.map +1 -1
  312. package/dist/services/conversation/conversation-result-builder.d.ts +3 -0
  313. package/dist/services/conversation/conversation-result-builder.d.ts.map +1 -1
  314. package/dist/services/conversation/conversation-result-builder.js +27 -23
  315. package/dist/services/conversation/conversation-result-builder.js.map +1 -1
  316. package/dist/services/conversation/conversation-runtime-factory.d.ts +5 -0
  317. package/dist/services/conversation/conversation-runtime-factory.d.ts.map +1 -1
  318. package/dist/services/conversation/conversation-runtime-factory.js +1 -0
  319. package/dist/services/conversation/conversation-runtime-factory.js.map +1 -1
  320. package/dist/services/conversation/conversation-service.d.ts +11 -1
  321. package/dist/services/conversation/conversation-service.d.ts.map +1 -1
  322. package/dist/services/conversation/conversation-service.js +68 -17
  323. package/dist/services/conversation/conversation-service.js.map +1 -1
  324. package/dist/services/conversation/session-browser.d.ts +34 -27
  325. package/dist/services/conversation/session-browser.d.ts.map +1 -1
  326. package/dist/services/conversation/session-browser.js +221 -60
  327. package/dist/services/conversation/session-browser.js.map +1 -1
  328. package/dist/services/conversation/session-index/session-index-database.d.ts +138 -0
  329. package/dist/services/conversation/session-index/session-index-database.d.ts.map +1 -0
  330. package/dist/services/conversation/session-index/session-index-database.js +684 -0
  331. package/dist/services/conversation/session-index/session-index-database.js.map +1 -0
  332. package/dist/services/conversation/session-index/session-index-schema.d.ts +35 -0
  333. package/dist/services/conversation/session-index/session-index-schema.d.ts.map +1 -0
  334. package/dist/services/conversation/session-index/session-index-schema.js +156 -0
  335. package/dist/services/conversation/session-index/session-index-schema.js.map +1 -0
  336. package/dist/services/conversation/session-index/session-index-service.d.ts +30 -0
  337. package/dist/services/conversation/session-index/session-index-service.d.ts.map +1 -0
  338. package/dist/services/conversation/session-index/session-index-service.js +234 -0
  339. package/dist/services/conversation/session-index/session-index-service.js.map +1 -0
  340. package/dist/services/conversation/session-index/session-index-worker-client.d.ts +36 -0
  341. package/dist/services/conversation/session-index/session-index-worker-client.d.ts.map +1 -0
  342. package/dist/services/conversation/session-index/session-index-worker-client.js +143 -0
  343. package/dist/services/conversation/session-index/session-index-worker-client.js.map +1 -0
  344. package/dist/services/conversation/session-index/session-index-worker.d.ts +56 -0
  345. package/dist/services/conversation/session-index/session-index-worker.d.ts.map +1 -0
  346. package/dist/services/conversation/session-index/session-index-worker.js +96 -0
  347. package/dist/services/conversation/session-index/session-index-worker.js.map +1 -0
  348. package/dist/services/conversation/session-search-helpers.d.ts +4 -0
  349. package/dist/services/conversation/session-search-helpers.d.ts.map +1 -0
  350. package/dist/services/conversation/session-search-helpers.js +13 -0
  351. package/dist/services/conversation/session-search-helpers.js.map +1 -0
  352. package/dist/services/conversation-agent-client.d.ts +8 -0
  353. package/dist/services/conversation-agent-client.d.ts.map +1 -1
  354. package/dist/services/execution-context.js +2 -2
  355. package/dist/services/execution-context.js.map +1 -1
  356. package/dist/services/hooks/hook-event-factory.d.ts +2 -1
  357. package/dist/services/hooks/hook-event-factory.d.ts.map +1 -1
  358. package/dist/services/hooks/hook-event-factory.js +2 -1
  359. package/dist/services/hooks/hook-event-factory.js.map +1 -1
  360. package/dist/services/logging/conversation-log-writer.d.ts.map +1 -1
  361. package/dist/services/logging/conversation-log-writer.js +50 -26
  362. package/dist/services/logging/conversation-log-writer.js.map +1 -1
  363. package/dist/services/logging/logging-service.d.ts.map +1 -1
  364. package/dist/services/logging/logging-service.js +1 -0
  365. package/dist/services/logging/logging-service.js.map +1 -1
  366. package/dist/services/logging/provider-traffic.d.ts +22 -2
  367. package/dist/services/logging/provider-traffic.d.ts.map +1 -1
  368. package/dist/services/logging/provider-traffic.js +147 -12
  369. package/dist/services/logging/provider-traffic.js.map +1 -1
  370. package/dist/services/model-service.d.ts +42 -0
  371. package/dist/services/model-service.d.ts.map +1 -1
  372. package/dist/services/model-service.js +161 -26
  373. package/dist/services/model-service.js.map +1 -1
  374. package/dist/services/models/model-catalog-session.d.ts.map +1 -1
  375. package/dist/services/models/model-catalog-session.js +11 -7
  376. package/dist/services/models/model-catalog-session.js.map +1 -1
  377. package/dist/services/models/model-favorites.d.ts +56 -0
  378. package/dist/services/models/model-favorites.d.ts.map +1 -0
  379. package/dist/services/models/model-favorites.js +93 -0
  380. package/dist/services/models/model-favorites.js.map +1 -0
  381. package/dist/services/models/model-listing.d.ts +40 -0
  382. package/dist/services/models/model-listing.d.ts.map +1 -1
  383. package/dist/services/models/model-listing.js +35 -2
  384. package/dist/services/models/model-listing.js.map +1 -1
  385. package/dist/services/models/model-nicknames.d.ts +113 -0
  386. package/dist/services/models/model-nicknames.d.ts.map +1 -0
  387. package/dist/services/models/model-nicknames.js +182 -0
  388. package/dist/services/models/model-nicknames.js.map +1 -0
  389. package/dist/services/models/model-picker-host.d.ts +72 -0
  390. package/dist/services/models/model-picker-host.d.ts.map +1 -0
  391. package/dist/services/models/model-picker-host.js +86 -0
  392. package/dist/services/models/model-picker-host.js.map +1 -0
  393. package/dist/services/models/model-resolution.d.ts +35 -3
  394. package/dist/services/models/model-resolution.d.ts.map +1 -1
  395. package/dist/services/models/model-resolution.js +276 -47
  396. package/dist/services/models/model-resolution.js.map +1 -1
  397. package/dist/services/models/reasoning-effort.d.ts +20 -0
  398. package/dist/services/models/reasoning-effort.d.ts.map +1 -0
  399. package/dist/services/models/reasoning-effort.js +28 -0
  400. package/dist/services/models/reasoning-effort.js.map +1 -0
  401. package/dist/services/models/unified-model-catalog.d.ts +4 -0
  402. package/dist/services/models/unified-model-catalog.d.ts.map +1 -0
  403. package/dist/services/models/unified-model-catalog.js +54 -0
  404. package/dist/services/models/unified-model-catalog.js.map +1 -0
  405. package/dist/services/retry/provider-failure-classification.d.ts +16 -0
  406. package/dist/services/retry/provider-failure-classification.d.ts.map +1 -1
  407. package/dist/services/retry/provider-failure-classification.js +45 -0
  408. package/dist/services/retry/provider-failure-classification.js.map +1 -1
  409. package/dist/services/retry/retry-recovery-budget.d.ts +26 -1
  410. package/dist/services/retry/retry-recovery-budget.d.ts.map +1 -1
  411. package/dist/services/retry/retry-recovery-budget.js +33 -1
  412. package/dist/services/retry/retry-recovery-budget.js.map +1 -1
  413. package/dist/services/sandboxed-code-host/host-types.d.ts +135 -0
  414. package/dist/services/sandboxed-code-host/host-types.d.ts.map +1 -0
  415. package/dist/services/sandboxed-code-host/host-types.js +6 -0
  416. package/dist/services/sandboxed-code-host/host-types.js.map +1 -0
  417. package/dist/services/sandboxed-code-host/host-worker.d.ts +9 -0
  418. package/dist/services/sandboxed-code-host/host-worker.d.ts.map +1 -0
  419. package/dist/services/sandboxed-code-host/host-worker.js +351 -0
  420. package/dist/services/sandboxed-code-host/host-worker.js.map +1 -0
  421. package/dist/services/sandboxed-code-host/sandbox.d.ts +16 -0
  422. package/dist/services/sandboxed-code-host/sandbox.d.ts.map +1 -0
  423. package/dist/services/sandboxed-code-host/sandbox.js +21 -0
  424. package/dist/services/sandboxed-code-host/sandbox.js.map +1 -0
  425. package/dist/services/sandboxed-code-host/sandboxed-code-host.d.ts +17 -0
  426. package/dist/services/sandboxed-code-host/sandboxed-code-host.d.ts.map +1 -0
  427. package/dist/services/sandboxed-code-host/sandboxed-code-host.js +347 -0
  428. package/dist/services/sandboxed-code-host/sandboxed-code-host.js.map +1 -0
  429. package/dist/services/service-interfaces.d.ts +32 -0
  430. package/dist/services/service-interfaces.d.ts.map +1 -1
  431. package/dist/services/session/background-task-control.d.ts +3 -1
  432. package/dist/services/session/background-task-control.d.ts.map +1 -1
  433. package/dist/services/session/background-task-control.js +4 -0
  434. package/dist/services/session/background-task-control.js.map +1 -1
  435. package/dist/services/session/continuation-plan-applier.d.ts +2 -1
  436. package/dist/services/session/continuation-plan-applier.d.ts.map +1 -1
  437. package/dist/services/session/continuation-plan-applier.js.map +1 -1
  438. package/dist/services/session/continuation-recovery-handler.d.ts +2 -1
  439. package/dist/services/session/continuation-recovery-handler.d.ts.map +1 -1
  440. package/dist/services/session/continuation-recovery-handler.js +49 -5
  441. package/dist/services/session/continuation-recovery-handler.js.map +1 -1
  442. package/dist/services/session/initial-input-preparer.d.ts +2 -1
  443. package/dist/services/session/initial-input-preparer.d.ts.map +1 -1
  444. package/dist/services/session/initial-input-preparer.js +2 -1
  445. package/dist/services/session/initial-input-preparer.js.map +1 -1
  446. package/dist/services/session/initial-turn-recovery-handler.d.ts +2 -1
  447. package/dist/services/session/initial-turn-recovery-handler.d.ts.map +1 -1
  448. package/dist/services/session/initial-turn-recovery-handler.js +51 -16
  449. package/dist/services/session/initial-turn-recovery-handler.js.map +1 -1
  450. package/dist/services/session/post-execute-pending-registry.d.ts +2 -1
  451. package/dist/services/session/post-execute-pending-registry.d.ts.map +1 -1
  452. package/dist/services/session/post-execute-pending-registry.js +3 -2
  453. package/dist/services/session/post-execute-pending-registry.js.map +1 -1
  454. package/dist/services/session/session-client-factory.d.ts +4 -0
  455. package/dist/services/session/session-client-factory.d.ts.map +1 -1
  456. package/dist/services/session/session-client-factory.js +12 -4
  457. package/dist/services/session/session-client-factory.js.map +1 -1
  458. package/dist/services/session/session-composition.d.ts +26 -2
  459. package/dist/services/session/session-composition.d.ts.map +1 -1
  460. package/dist/services/session/session-composition.js +97 -18
  461. package/dist/services/session/session-composition.js.map +1 -1
  462. package/dist/services/session/session-continuity-reset.d.ts +2 -1
  463. package/dist/services/session/session-continuity-reset.d.ts.map +1 -1
  464. package/dist/services/session/session-continuity-reset.js +5 -2
  465. package/dist/services/session/session-continuity-reset.js.map +1 -1
  466. package/dist/services/session/session-identity.d.ts +20 -0
  467. package/dist/services/session/session-identity.d.ts.map +1 -0
  468. package/dist/services/session/session-identity.js +43 -0
  469. package/dist/services/session/session-identity.js.map +1 -0
  470. package/dist/services/session/session-lifecycle.d.ts +5 -1
  471. package/dist/services/session/session-lifecycle.d.ts.map +1 -1
  472. package/dist/services/session/session-lifecycle.js +5 -1
  473. package/dist/services/session/session-lifecycle.js.map +1 -1
  474. package/dist/services/session/session-stream-processor.d.ts +2 -1
  475. package/dist/services/session/session-stream-processor.d.ts.map +1 -1
  476. package/dist/services/session/session-stream-processor.js +5 -4
  477. package/dist/services/session/session-stream-processor.js.map +1 -1
  478. package/dist/services/session/test-helpers/conversation-session-fixtures.d.ts.map +1 -1
  479. package/dist/services/session/test-helpers/conversation-session-fixtures.js +14 -9
  480. package/dist/services/session/test-helpers/conversation-session-fixtures.js.map +1 -1
  481. package/dist/services/session/turn-coordinator.d.ts +2 -1
  482. package/dist/services/session/turn-coordinator.d.ts.map +1 -1
  483. package/dist/services/session/turn-coordinator.js +3 -0
  484. package/dist/services/session/turn-coordinator.js.map +1 -1
  485. package/dist/services/session/turn-workflow.d.ts +4 -1
  486. package/dist/services/session/turn-workflow.d.ts.map +1 -1
  487. package/dist/services/session/turn-workflow.js +58 -21
  488. package/dist/services/session/turn-workflow.js.map +1 -1
  489. package/dist/services/session-rollover/session-rollover-brief.d.ts +8 -1
  490. package/dist/services/session-rollover/session-rollover-brief.d.ts.map +1 -1
  491. package/dist/services/session-rollover/session-rollover-brief.js +14 -1
  492. package/dist/services/session-rollover/session-rollover-brief.js.map +1 -1
  493. package/dist/services/settings/setting-schema-utils.d.ts +2 -0
  494. package/dist/services/settings/setting-schema-utils.d.ts.map +1 -1
  495. package/dist/services/settings/setting-schema-utils.js +15 -27
  496. package/dist/services/settings/setting-schema-utils.js.map +1 -1
  497. package/dist/services/settings/settings-schema.d.ts +8 -0
  498. package/dist/services/settings/settings-schema.d.ts.map +1 -1
  499. package/dist/services/settings/settings-schema.js +23 -6
  500. package/dist/services/settings/settings-schema.js.map +1 -1
  501. package/dist/services/settings/settings-sources.d.ts +207 -0
  502. package/dist/services/settings/settings-sources.d.ts.map +1 -1
  503. package/dist/services/settings/settings-sources.js +48 -1
  504. package/dist/services/settings/settings-sources.js.map +1 -1
  505. package/dist/services/settings/settings-ui-metadata.d.ts +27 -0
  506. package/dist/services/settings/settings-ui-metadata.d.ts.map +1 -0
  507. package/dist/services/settings/settings-ui-metadata.js +283 -0
  508. package/dist/services/settings/settings-ui-metadata.js.map +1 -0
  509. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts +10 -0
  510. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts.map +1 -1
  511. package/dist/services/settings/test-helpers/settings-consumer-inventory.js +46 -0
  512. package/dist/services/settings/test-helpers/settings-consumer-inventory.js.map +1 -1
  513. package/dist/services/subagents/execution-runner.d.ts.map +1 -1
  514. package/dist/services/subagents/execution-runner.js +8 -0
  515. package/dist/services/subagents/execution-runner.js.map +1 -1
  516. package/dist/services/subagents/role-loader.d.ts.map +1 -1
  517. package/dist/services/subagents/role-loader.js +4 -0
  518. package/dist/services/subagents/role-loader.js.map +1 -1
  519. package/dist/services/subagents/subagent-client-types.d.ts +7 -0
  520. package/dist/services/subagents/subagent-client-types.d.ts.map +1 -1
  521. package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
  522. package/dist/services/subagents/subagent-manager.js +4 -1
  523. package/dist/services/subagents/subagent-manager.js.map +1 -1
  524. package/dist/services/subagents/subagent-notification-store.d.ts +2 -0
  525. package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -1
  526. package/dist/services/subagents/subagent-notification-store.js +4 -0
  527. package/dist/services/subagents/subagent-notification-store.js.map +1 -1
  528. package/dist/services/subagents/test-helpers/subagent-manager-fixtures.d.ts.map +1 -1
  529. package/dist/services/subagents/test-helpers/subagent-manager-fixtures.js +2 -1
  530. package/dist/services/subagents/test-helpers/subagent-manager-fixtures.js.map +1 -1
  531. package/dist/services/subagents/tool-policy.d.ts +8 -0
  532. package/dist/services/subagents/tool-policy.d.ts.map +1 -1
  533. package/dist/services/subagents/tool-policy.js +289 -41
  534. package/dist/services/subagents/tool-policy.js.map +1 -1
  535. package/dist/services/subagents/types.d.ts +2 -1
  536. package/dist/services/subagents/types.d.ts.map +1 -1
  537. package/dist/services/subagents/types.js.map +1 -1
  538. package/dist/test-helpers/conversation-session-with-adapter.d.ts +1 -1
  539. package/dist/test-helpers/conversation-session-with-adapter.d.ts.map +1 -1
  540. package/dist/test-helpers/conversation-session-with-adapter.js +6 -1
  541. package/dist/test-helpers/conversation-session-with-adapter.js.map +1 -1
  542. package/dist/test-helpers/vitest-cache-isolation.d.ts +2 -0
  543. package/dist/test-helpers/vitest-cache-isolation.d.ts.map +1 -0
  544. package/dist/test-helpers/vitest-cache-isolation.js +17 -0
  545. package/dist/test-helpers/vitest-cache-isolation.js.map +1 -0
  546. package/dist/tools/agent/activate-skill.d.ts.map +1 -1
  547. package/dist/tools/agent/activate-skill.js +1 -0
  548. package/dist/tools/agent/activate-skill.js.map +1 -1
  549. package/dist/tools/agent/configure-task-check-in.d.ts.map +1 -1
  550. package/dist/tools/agent/configure-task-check-in.js +1 -0
  551. package/dist/tools/agent/configure-task-check-in.js.map +1 -1
  552. package/dist/tools/agent/run-subagent-async.d.ts.map +1 -1
  553. package/dist/tools/agent/run-subagent-async.js +16 -12
  554. package/dist/tools/agent/run-subagent-async.js.map +1 -1
  555. package/dist/tools/file/apply-patch.d.ts.map +1 -1
  556. package/dist/tools/file/apply-patch.js +9 -11
  557. package/dist/tools/file/apply-patch.js.map +1 -1
  558. package/dist/tools/file/code-context.d.ts.map +1 -1
  559. package/dist/tools/file/code-context.js +40 -5
  560. package/dist/tools/file/code-context.js.map +1 -1
  561. package/dist/tools/file/create-file.d.ts.map +1 -1
  562. package/dist/tools/file/create-file.js +13 -8
  563. package/dist/tools/file/create-file.js.map +1 -1
  564. package/dist/tools/file/edit-healing.d.ts.map +1 -1
  565. package/dist/tools/file/edit-healing.js +1 -4
  566. package/dist/tools/file/edit-healing.js.map +1 -1
  567. package/dist/tools/file/glob.d.ts.map +1 -1
  568. package/dist/tools/file/glob.js +49 -11
  569. package/dist/tools/file/glob.js.map +1 -1
  570. package/dist/tools/file/grep.d.ts.map +1 -1
  571. package/dist/tools/file/grep.js +32 -8
  572. package/dist/tools/file/grep.js.map +1 -1
  573. package/dist/tools/file/patch-healing.d.ts.map +1 -1
  574. package/dist/tools/file/patch-healing.js +1 -4
  575. package/dist/tools/file/patch-healing.js.map +1 -1
  576. package/dist/tools/file/read-file.d.ts.map +1 -1
  577. package/dist/tools/file/read-file.js +109 -6
  578. package/dist/tools/file/read-file.js.map +1 -1
  579. package/dist/tools/file/search-replace.d.ts.map +1 -1
  580. package/dist/tools/file/search-replace.js +5 -7
  581. package/dist/tools/file/search-replace.js.map +1 -1
  582. package/dist/tools/file/upstream-apply-patch.d.ts.map +1 -1
  583. package/dist/tools/file/upstream-apply-patch.js +4 -1
  584. package/dist/tools/file/upstream-apply-patch.js.map +1 -1
  585. package/dist/tools/memory/memory-tools.d.ts.map +1 -1
  586. package/dist/tools/memory/memory-tools.js +19 -1
  587. package/dist/tools/memory/memory-tools.js.map +1 -1
  588. package/dist/tools/session-browser/session-browser-tools.d.ts.map +1 -1
  589. package/dist/tools/session-browser/session-browser-tools.js +24 -8
  590. package/dist/tools/session-browser/session-browser-tools.js.map +1 -1
  591. package/dist/tools/session-rollover/session-rollover-tool.d.ts.map +1 -1
  592. package/dist/tools/session-rollover/session-rollover-tool.js +8 -2
  593. package/dist/tools/session-rollover/session-rollover-tool.js.map +1 -1
  594. package/dist/tools/system/run-code/index.d.ts +2 -0
  595. package/dist/tools/system/run-code/index.d.ts.map +1 -0
  596. package/dist/tools/system/run-code/index.js +2 -0
  597. package/dist/tools/system/run-code/index.js.map +1 -0
  598. package/dist/tools/system/run-code/run-code-telemetry.d.ts +92 -0
  599. package/dist/tools/system/run-code/run-code-telemetry.d.ts.map +1 -0
  600. package/dist/tools/system/run-code/run-code-telemetry.js +189 -0
  601. package/dist/tools/system/run-code/run-code-telemetry.js.map +1 -0
  602. package/dist/tools/system/run-code/run-code.d.ts +98 -0
  603. package/dist/tools/system/run-code/run-code.d.ts.map +1 -0
  604. package/dist/tools/system/run-code/run-code.js +1078 -0
  605. package/dist/tools/system/run-code/run-code.js.map +1 -0
  606. package/dist/tools/system/run-code/tools-header.d.ts +25 -0
  607. package/dist/tools/system/run-code/tools-header.d.ts.map +1 -0
  608. package/dist/tools/system/run-code/tools-header.js +136 -0
  609. package/dist/tools/system/run-code/tools-header.js.map +1 -0
  610. package/dist/tools/system/shell.d.ts.map +1 -1
  611. package/dist/tools/system/shell.js +58 -9
  612. package/dist/tools/system/shell.js.map +1 -1
  613. package/dist/tools/system/worktree.js +2 -2
  614. package/dist/tools/system/worktree.js.map +1 -1
  615. package/dist/tools/types.d.ts +24 -0
  616. package/dist/tools/types.d.ts.map +1 -1
  617. package/dist/tools/types.js.map +1 -1
  618. package/dist/tools/utils.d.ts +10 -0
  619. package/dist/tools/utils.d.ts.map +1 -1
  620. package/dist/tools/utils.js +13 -0
  621. package/dist/tools/utils.js.map +1 -1
  622. package/dist/tools/web/web-fetch.d.ts.map +1 -1
  623. package/dist/tools/web/web-fetch.js +14 -6
  624. package/dist/tools/web/web-fetch.js.map +1 -1
  625. package/dist/tools/web/web-search.d.ts.map +1 -1
  626. package/dist/tools/web/web-search.js +2 -1
  627. package/dist/tools/web/web-search.js.map +1 -1
  628. package/dist/utils/ai/model-settings.d.ts.map +1 -1
  629. package/dist/utils/ai/model-settings.js +0 -47
  630. package/dist/utils/ai/model-settings.js.map +1 -1
  631. package/dist/utils/conversation/apply-conversation-result.d.ts.map +1 -1
  632. package/dist/utils/conversation/apply-conversation-result.js +13 -0
  633. package/dist/utils/conversation/apply-conversation-result.js.map +1 -1
  634. package/dist/utils/conversation/conversation-utils.d.ts.map +1 -1
  635. package/dist/utils/conversation/conversation-utils.js +14 -0
  636. package/dist/utils/conversation/conversation-utils.js.map +1 -1
  637. package/dist/utils/conversation/static-commit-policy.d.ts +38 -0
  638. package/dist/utils/conversation/static-commit-policy.d.ts.map +1 -0
  639. package/dist/utils/conversation/static-commit-policy.js +76 -0
  640. package/dist/utils/conversation/static-commit-policy.js.map +1 -0
  641. package/dist/utils/output/bound-tool-result.d.ts +23 -0
  642. package/dist/utils/output/bound-tool-result.d.ts.map +1 -1
  643. package/dist/utils/output/bound-tool-result.js +27 -0
  644. package/dist/utils/output/bound-tool-result.js.map +1 -1
  645. package/dist/utils/settings-command.d.ts +8 -0
  646. package/dist/utils/settings-command.d.ts.map +1 -1
  647. package/dist/utils/settings-command.js +45 -30
  648. package/dist/utils/settings-command.js.map +1 -1
  649. package/dist/utils/shell/execute-shell.d.ts +18 -0
  650. package/dist/utils/shell/execute-shell.d.ts.map +1 -1
  651. package/dist/utils/shell/execute-shell.js +48 -6
  652. package/dist/utils/shell/execute-shell.js.map +1 -1
  653. package/dist/utils/shell/shell-output.d.ts +7 -1
  654. package/dist/utils/shell/shell-output.d.ts.map +1 -1
  655. package/dist/utils/shell/shell-output.js +37 -7
  656. package/dist/utils/shell/shell-output.js.map +1 -1
  657. package/dist/utils/streaming/streaming-session-factory.d.ts +9 -0
  658. package/dist/utils/streaming/streaming-session-factory.d.ts.map +1 -1
  659. package/dist/utils/streaming/streaming-session-factory.js +1 -1
  660. package/dist/utils/streaming/streaming-session-factory.js.map +1 -1
  661. package/dist/utils/tool-args-display.d.ts +21 -0
  662. package/dist/utils/tool-args-display.d.ts.map +1 -0
  663. package/dist/utils/tool-args-display.js +34 -0
  664. package/dist/utils/tool-args-display.js.map +1 -0
  665. package/dist/utils/value-suggestions.d.ts +4 -10
  666. package/dist/utils/value-suggestions.d.ts.map +1 -1
  667. package/dist/utils/value-suggestions.js +77 -144
  668. package/dist/utils/value-suggestions.js.map +1 -1
  669. package/dist/utils/worker-bootstrap.d.ts +3 -0
  670. package/dist/utils/worker-bootstrap.d.ts.map +1 -0
  671. package/dist/utils/worker-bootstrap.js +7 -0
  672. package/dist/utils/worker-bootstrap.js.map +1 -0
  673. package/dist/utils/worker-cwd-preload.cjs +23 -0
  674. package/dist/utils/worker-cwd-preload.cjs.map +1 -0
  675. package/dist/utils/worker-cwd-preload.d.cts +2 -0
  676. package/dist/utils/worker-cwd-preload.d.cts.map +1 -0
  677. package/package.json +5 -2
  678. package/dist/services/agent-runtime/workflow/workflow-worker.d.ts +0 -4
  679. package/dist/services/agent-runtime/workflow/workflow-worker.d.ts.map +0 -1
  680. package/dist/services/agent-runtime/workflow/workflow-worker.js +0 -55
  681. package/dist/services/agent-runtime/workflow/workflow-worker.js.map +0 -1
@@ -1,10 +1,16 @@
1
1
  import { createInterface } from 'node:readline';
2
2
  import { getProvider, getProviderIds } from '../../providers/index.js';
3
- import { filterModels } from '../model-service.js';
3
+ import { getModelCacheFilePath, matchTier, peekCachedModels, rankModelMatch, } from '../model-service.js';
4
4
  import { scoreSubsequence } from '../../utils/subsequence-filter.js';
5
- import { collectProviderModels } from './model-listing.js';
5
+ import { collectProviderModelsConcurrently, loadProviderModelGroup } from './model-listing.js';
6
+ import { orderedProviderIds } from './model-catalog-session.js';
6
7
  import { HARNESS_IDLE_ENV } from '../../lib/harness-input-idle.js';
7
- export const VALID_REASONING_EFFORTS = ['default', 'none', 'minimal', 'low', 'medium', 'high', 'xhigh'];
8
+ import { getFavoriteModelInfos } from './model-favorites.js';
9
+ import { findNicknameMatch } from './model-nicknames.js';
10
+ import { stripReasoningEffortSuffix } from './reasoning-effort.js';
11
+ // Re-exported for the existing importers of this module; the definitions live
12
+ // in reasoning-effort.ts so model-nicknames can share them without a cycle.
13
+ export { VALID_REASONING_EFFORTS } from './reasoning-effort.js';
8
14
  /**
9
15
  * Parse a raw `--model` flag string, separating optional thinking suffix
10
16
  * (":<thinking>") and optional provider prefix ("<provider>/<id>").
@@ -12,16 +18,7 @@ export const VALID_REASONING_EFFORTS = ['default', 'none', 'minimal', 'low', 'me
12
18
  export function parseModelFlag(rawModelFlag, options) {
13
19
  const trimmed = rawModelFlag.trim();
14
20
  // 1. Extract thinking suffix (e.g. :high, :low, :medium)
15
- let withoutThinking = trimmed;
16
- let reasoningEffort;
17
- const colonIdx = trimmed.lastIndexOf(':');
18
- if (colonIdx !== -1) {
19
- const potentialEffort = trimmed.slice(colonIdx + 1).toLowerCase();
20
- if (VALID_REASONING_EFFORTS.includes(potentialEffort)) {
21
- reasoningEffort = potentialEffort;
22
- withoutThinking = trimmed.slice(0, colonIdx).trim();
23
- }
24
- }
21
+ const { value: withoutThinking, reasoningEffort } = stripReasoningEffortSuffix(trimmed);
25
22
  const rawPattern = withoutThinking;
26
23
  // 2. Extract provider prefix
27
24
  if (options?.providerFlag) {
@@ -97,33 +94,46 @@ export function matchModels(groups, parsed) {
97
94
  if (exactMatches.length > 0) {
98
95
  return { exact: true, matches: exactMatches };
99
96
  }
100
- // Stage 2: Fuzzy / partial matches
101
- const fuzzyMatches = [];
97
+ const ranked = [];
102
98
  const trimmed = parsed.pattern.trim();
103
- for (const group of groups) {
99
+ groups.forEach((group, groupIndex) => {
104
100
  if (parsed.provider) {
105
- if (group.provider.toLowerCase() === parsed.provider.toLowerCase()) {
106
- const filtered = filterModels(group.models, trimmed);
107
- for (const model of filtered) {
108
- fuzzyMatches.push({ provider: group.provider, model });
101
+ if (group.provider.toLowerCase() !== parsed.provider.toLowerCase()) {
102
+ return;
103
+ }
104
+ for (const model of group.models) {
105
+ const rank = rankModelMatch(model, trimmed);
106
+ if (rank) {
107
+ ranked.push({ match: { provider: group.provider, model }, tier: rank.tier, score: rank.score, groupIndex });
109
108
  }
110
109
  }
111
- continue;
110
+ return;
112
111
  }
113
- // No provider specified: match provider name or model id/name
114
- if (scoreSubsequence(trimmed, group.provider) !== -Infinity) {
112
+ // No provider specified: a provider-name match pulls in the whole group,
113
+ // ranked by how well the provider name itself matched.
114
+ const providerScore = scoreSubsequence(trimmed, group.provider);
115
+ if (providerScore !== -Infinity) {
116
+ const tier = matchTier(trimmed, group.provider);
115
117
  for (const model of group.models) {
116
- fuzzyMatches.push({ provider: group.provider, model });
118
+ ranked.push({ match: { provider: group.provider, model }, tier, score: providerScore, groupIndex });
117
119
  }
120
+ return;
118
121
  }
119
- else {
120
- const filtered = filterModels(group.models, trimmed);
121
- for (const model of filtered) {
122
- fuzzyMatches.push({ provider: group.provider, model });
122
+ for (const model of group.models) {
123
+ const rank = rankModelMatch(model, trimmed);
124
+ if (rank) {
125
+ ranked.push({ match: { provider: group.provider, model }, tier: rank.tier, score: rank.score, groupIndex });
123
126
  }
124
127
  }
125
- }
126
- return { exact: false, matches: fuzzyMatches };
128
+ });
129
+ ranked.sort((a, b) => {
130
+ if (a.tier !== b.tier)
131
+ return a.tier - b.tier;
132
+ if (a.score !== b.score)
133
+ return b.score - a.score;
134
+ return a.groupIndex - b.groupIndex;
135
+ });
136
+ return { exact: false, matches: ranked.map((r) => r.match) };
127
137
  }
128
138
  /**
129
139
  * Format matching models as a numbered list grouped by provider,
@@ -199,6 +209,19 @@ export async function promptForDisambiguation(matches, groups, pattern, prompter
199
209
  rl.close();
200
210
  }
201
211
  }
212
+ /** Groups flat ModelInfo rows by provider, preserving first-seen provider order. */
213
+ function groupModelInfosByProvider(models) {
214
+ const order = [];
215
+ const byProvider = new Map();
216
+ for (const model of models) {
217
+ if (!byProvider.has(model.provider)) {
218
+ byProvider.set(model.provider, []);
219
+ order.push(model.provider);
220
+ }
221
+ byProvider.get(model.provider).push(model);
222
+ }
223
+ return order.map((provider) => ({ provider, models: byProvider.get(provider) }));
224
+ }
202
225
  /**
203
226
  * Resolves `--model <pattern>` against the model catalog with exact match
204
227
  * precedence, partial/fuzzy matching, and interactive disambiguation when needed.
@@ -210,7 +233,7 @@ export async function resolveModelFlag(deps) {
210
233
  knownProviders,
211
234
  });
212
235
  // Isolated black-box provider harnesses replay wire turns and do not mock catalog endpoints
213
- if (process.env[HARNESS_IDLE_ENV] && deps.prompter === undefined) {
236
+ if (process.env[HARNESS_IDLE_ENV] && deps.prompter === undefined && deps.interactivePicker === undefined) {
214
237
  return {
215
238
  status: 'passthrough',
216
239
  modelId: parsed.rawPattern,
@@ -218,23 +241,168 @@ export async function resolveModelFlag(deps) {
218
241
  reasoningEffort: parsed.reasoningEffort,
219
242
  };
220
243
  }
221
- // Narrow the catalog load only when the user explicitly scoped it with
222
- // --provider. A provider prefix parsed out of the flag itself (e.g. the
223
- // `anthropic/` in `anthropic/claude-3.5-sonnet` on an aggregator) must not
224
- // narrow: the full id may be a literal model id on a different provider.
225
- const providerIds = deps.providerIds ?? (deps.providerFlag && parsed.provider ? [parsed.provider] : undefined);
226
- const groups = await collectProviderModels({
244
+ // Explicit --provider is the user deliberately scoping the search (it also
245
+ // sets agent.provider for the session), so it narrows PERMANENTLY: a miss
246
+ // there errors out rather than silently resolving to a provider the user
247
+ // didn't name. A provider-style prefix parsed out of the flag itself (e.g.
248
+ // the `anthropic/` in `anthropic/claude-3.5-sonnet` on an aggregator) is a
249
+ // different thing — it's just the best first guess, and the full id may
250
+ // turn out to be a literal model id on some other provider, so a miss
251
+ // there widens to the rest of the candidate space instead of giving up.
252
+ const explicitProvider = Boolean(deps.providerFlag && parsed.provider);
253
+ // Nicknames resolve first — before favorites and before any provider
254
+ // catalog loads: reading `agent.modelNicknames` is a settings read, not a
255
+ // fetch, so an exact hit costs zero network work. Precedence is exact
256
+ // nickname > favorite > exact real model id: favorites already shadowed
257
+ // exact real ids before nicknames existed (the favorites fast path below is
258
+ // unchanged), so the nickname check slots in directly in front of it. A
259
+ // real id shadowed by a nickname stays reachable as `provider/id`; a
260
+ // nickname equal to a registered provider id is rejected at creation and
261
+ // excluded at lookup, so `-m openai` can never be hijacked by a nickname.
262
+ // A nickname whose target has vanished from a warm cache does not hard-fail:
263
+ // like a vanished favorite, it falls through to the full search with a
264
+ // warning instead of resolving to a model the provider will reject.
265
+ const nicknameHit = findNicknameMatch(deps.settingsService, parsed.pattern, {
266
+ providerScope: parsed.provider,
267
+ knownProviders,
268
+ });
269
+ let nicknameVanishedWarning;
270
+ if (nicknameHit) {
271
+ const warmCache = peekCachedModels(nicknameHit.provider);
272
+ const vanished = warmCache !== undefined && !warmCache.some((m) => m.id === nicknameHit.modelId);
273
+ if (!vanished) {
274
+ return {
275
+ status: 'resolved',
276
+ modelId: nicknameHit.modelId,
277
+ provider: nicknameHit.provider,
278
+ // An inline `-m op:low` suffix overrides the effort stored on the
279
+ // nickname target (`op -> ...:high`).
280
+ reasoningEffort: parsed.reasoningEffort ?? nicknameHit.reasoningEffort,
281
+ };
282
+ }
283
+ nicknameVanishedWarning = `warning: nicknamed model "${nicknameHit.modelId}" is no longer in ${nicknameHit.provider}'s cached catalog; falling back to full search.`;
284
+ }
285
+ // Favorites resolve BEFORE any provider catalog loads: reading
286
+ // `agent.favoriteModels` is a settings read, not a fetch, so a hit here
287
+ // costs zero network work. Only favorites for the explicitly-scoped
288
+ // provider are eligible when --provider narrows permanently, mirroring the
289
+ // catalog path below; a slash-prefix guess (not --provider) doesn't narrow
290
+ // the same way, since the full raw pattern might still be a literal id
291
+ // favorited under a different provider.
292
+ const allFavorites = getFavoriteModelInfos(deps.settingsService);
293
+ const eligibleFavorites = explicitProvider
294
+ ? allFavorites.filter((m) => m.provider.toLowerCase() === parsed.provider.toLowerCase())
295
+ : allFavorites;
296
+ let favoriteVanishedWarning;
297
+ if (eligibleFavorites.length > 0) {
298
+ const favoriteGroups = groupModelInfosByProvider(eligibleFavorites);
299
+ const favoriteMatch = matchModels(favoriteGroups, parsed);
300
+ // Only an UNAMBIGUOUS favorite hit short-circuits; zero or multiple
301
+ // matches fall through to the full catalog-backed search below (multiple
302
+ // favorite matches get the normal, complete disambiguation prompt rather
303
+ // than a guess restricted to favorites).
304
+ if (favoriteMatch.matches.length === 1) {
305
+ const hit = favoriteMatch.matches[0];
306
+ // Read-only peek at whatever's already warm for that provider (memory
307
+ // or non-expired disk cache) — never a fetch. If the cache is warm and
308
+ // no longer lists this id, the favorite has gone stale (removed
309
+ // upstream); fall back to the full search instead of resolving to a
310
+ // model the provider will reject. A cold/absent cache can't disprove
311
+ // the favorite, so it's trusted as-is — that's the latency win.
312
+ const warmCache = peekCachedModels(hit.provider);
313
+ const vanished = warmCache !== undefined && !warmCache.some((m) => m.id === hit.model.id);
314
+ if (!vanished) {
315
+ return {
316
+ status: 'resolved',
317
+ modelId: hit.model.id,
318
+ provider: hit.provider,
319
+ reasoningEffort: parsed.reasoningEffort,
320
+ };
321
+ }
322
+ favoriteVanishedWarning = `warning: favorite model "${hit.model.id}" is no longer in ${hit.provider}'s cached catalog; falling back to full search.`;
323
+ }
324
+ }
325
+ const loaderDeps = {
227
326
  settingsService: deps.settingsService,
228
327
  loggingService: deps.loggingService,
229
328
  fetcher: deps.fetcher,
230
- }, providerIds);
231
- const warnings = groups
232
- .filter((group) => group.error !== undefined)
233
- .map((group) => `warning: ${group.provider}: ${group.error}`);
329
+ };
330
+ // Full candidate space, in provider-priority order. `deps.providerIds`, when
331
+ // supplied, replaces this entirely (tests use it to pin the universe of
332
+ // providers without touching credential lookups).
333
+ const fullOrder = deps.providerIds ?? orderedProviderIds(deps.settingsService, knownProviders);
334
+ let order;
335
+ if (explicitProvider) {
336
+ // Deliberately ignores `fullOrder`/`deps.providerIds` beyond this one id:
337
+ // even a test-supplied candidate space listing other providers must not
338
+ // leak into the load when the user explicitly scoped to one provider.
339
+ order = [parsed.provider];
340
+ }
341
+ else if (parsed.provider) {
342
+ const rest = fullOrder.filter((id) => id.toLowerCase() !== parsed.provider.toLowerCase());
343
+ order = [parsed.provider, ...rest];
344
+ }
345
+ else {
346
+ order = fullOrder;
347
+ }
348
+ // Walk lazily: load just the first (highest-priority) provider and stop
349
+ // there if it already produced an exact match — `--model gpt-5.4` should
350
+ // never touch a provider's catalog it didn't need. Only when that first
351
+ // load comes up empty of exact matches do we widen, and we do that widen
352
+ // concurrently since a fuzzy/cross-provider sweep needs every remaining
353
+ // catalog anyway and gains nothing from doing it one at a time. Explicit
354
+ // --provider never reaches this widen branch at all (see above).
355
+ let groups = [];
356
+ if (order.length > 0) {
357
+ const [firstId, ...restIds] = order;
358
+ const firstGroup = await loadProviderModelGroup(loaderDeps, firstId);
359
+ groups = [firstGroup];
360
+ if (!explicitProvider && restIds.length > 0) {
361
+ const probe = matchModels(groups, parsed);
362
+ const hasEarlyExactMatch = probe.exact && probe.matches.length > 0;
363
+ if (!hasEarlyExactMatch) {
364
+ const restGroups = await collectProviderModelsConcurrently(loaderDeps, restIds);
365
+ groups = [firstGroup, ...restGroups];
366
+ }
367
+ else {
368
+ // The first provider already resolved an exact match, so a full
369
+ // network load of the rest would only be there to rule out a
370
+ // same-id collision — not worth giving back the latency win early
371
+ // exit was built for. Instead, peek whatever's ALREADY warm (memory
372
+ // cache, or a non-expired disk cache) for the providers we chose not
373
+ // to load: read-only, no fetch, costs nothing when cold. If one of
374
+ // them already has this exact id, fold it in so the normal
375
+ // multiple-matches path asks the user instead of silently picking
376
+ // the first provider tried. Accepted residual limitation: a
377
+ // collision sitting on a provider whose cache is cold or expired
378
+ // goes undetected — that's intentional, not a bug, since ruling it
379
+ // out would require the network fetch this path exists to avoid.
380
+ const peekedGroups = [];
381
+ for (const id of restIds) {
382
+ const models = peekCachedModels(id);
383
+ if (models && models.length > 0) {
384
+ const label = getProvider(id)?.label;
385
+ peekedGroups.push({ provider: id, ...(label ? { label } : {}), models });
386
+ }
387
+ }
388
+ if (peekedGroups.length > 0) {
389
+ groups = [firstGroup, ...peekedGroups];
390
+ }
391
+ }
392
+ }
393
+ }
394
+ // Only providers we actually attempted to load can have failed; a provider
395
+ // skipped entirely by the early-exit/narrow-first strategy above must not
396
+ // appear here; do not let the laziness optimization hide a real outage on a
397
+ // provider that was loaded.
398
+ const warnings = [
399
+ ...(nicknameVanishedWarning ? [nicknameVanishedWarning] : []),
400
+ ...(favoriteVanishedWarning ? [favoriteVanishedWarning] : []),
401
+ ...groups.filter((group) => group.error !== undefined).map((group) => `warning: ${group.provider}: ${group.error}`),
402
+ ];
234
403
  const totalLoadedModels = groups.reduce((acc, g) => acc + g.models.length, 0);
235
- const hasFetchErrors = groups.some((g) => g.error !== undefined);
236
- // If providers had errors and yielded 0 models, pass through rather than blocking startup
237
- if (totalLoadedModels === 0 && hasFetchErrors) {
404
+ // If providers yielded 0 models, pass through rather than blocking startup
405
+ if (totalLoadedModels === 0) {
238
406
  return {
239
407
  status: 'passthrough',
240
408
  // Fail open with the flag as typed, matching pre-resolution behavior.
@@ -246,10 +414,10 @@ export async function resolveModelFlag(deps) {
246
414
  }
247
415
  const { matches } = matchModels(groups, parsed);
248
416
  if (matches.length === 0) {
249
- // If the target provider failed to fetch its catalog, allow passthrough
417
+ // If the target provider failed to fetch its catalog or yielded 0 models, allow passthrough
250
418
  if (parsed.provider) {
251
419
  const targetGroup = groups.find((g) => g.provider.toLowerCase() === parsed.provider.toLowerCase());
252
- if (targetGroup?.error) {
420
+ if (targetGroup?.error || targetGroup?.models.length === 0) {
253
421
  return {
254
422
  status: 'passthrough',
255
423
  modelId: parsed.rawPattern,
@@ -258,6 +426,48 @@ export async function resolveModelFlag(deps) {
258
426
  ...(warnings.length > 0 ? { warnings } : {}),
259
427
  };
260
428
  }
429
+ if (targetGroup) {
430
+ const cacheFilePath = getModelCacheFilePath(targetGroup.provider);
431
+ if (deps.interactivePicker) {
432
+ const picked = await deps.interactivePicker({
433
+ initialQuery: parsed.pattern,
434
+ lockProvider: explicitProvider ? parsed.provider : undefined,
435
+ bannerLines: [
436
+ `No models match "${deps.modelFlag}".`,
437
+ `The cached catalog for ${targetGroup.provider} may be stale — delete ${cacheFilePath} to refetch.`,
438
+ ],
439
+ });
440
+ if (!picked)
441
+ return { status: 'cancelled', error: 'Cancelled.' };
442
+ return {
443
+ status: 'resolved',
444
+ modelId: picked.modelId,
445
+ provider: picked.provider,
446
+ reasoningEffort: parsed.reasoningEffort,
447
+ ...(warnings.length > 0 ? { warnings } : {}),
448
+ };
449
+ }
450
+ return {
451
+ status: 'no_match',
452
+ error: `Error: No models match "${deps.modelFlag}". The cached catalog for ${targetGroup.provider} may be stale — delete ${cacheFilePath} to refetch.`,
453
+ };
454
+ }
455
+ }
456
+ if (deps.interactivePicker) {
457
+ const picked = await deps.interactivePicker({
458
+ initialQuery: parsed.pattern,
459
+ lockProvider: explicitProvider ? parsed.provider : undefined,
460
+ bannerLines: [`No models match "${deps.modelFlag}".`],
461
+ });
462
+ if (!picked)
463
+ return { status: 'cancelled', error: 'Cancelled.' };
464
+ return {
465
+ status: 'resolved',
466
+ modelId: picked.modelId,
467
+ provider: picked.provider,
468
+ reasoningEffort: parsed.reasoningEffort,
469
+ ...(warnings.length > 0 ? { warnings } : {}),
470
+ };
261
471
  }
262
472
  return {
263
473
  status: 'no_match',
@@ -273,7 +483,26 @@ export async function resolveModelFlag(deps) {
273
483
  ...(warnings.length > 0 ? { warnings } : {}),
274
484
  };
275
485
  }
276
- // Ambiguous match: disambiguate
486
+ // Ambiguous match: disambiguate. The interactive picker, when available,
487
+ // replaces the readline prompt entirely and browses the FULL catalog
488
+ // (seeded with the typed pattern) rather than only the ambiguous subset,
489
+ // since it lets the user keep narrowing past what --model alone matched.
490
+ if (deps.interactivePicker) {
491
+ const picked = await deps.interactivePicker({
492
+ initialQuery: parsed.pattern,
493
+ initialProvider: matches[0].provider,
494
+ lockProvider: explicitProvider ? parsed.provider : undefined,
495
+ });
496
+ if (!picked)
497
+ return { status: 'cancelled', error: 'Cancelled.' };
498
+ return {
499
+ status: 'resolved',
500
+ modelId: picked.modelId,
501
+ provider: picked.provider,
502
+ reasoningEffort: parsed.reasoningEffort,
503
+ ...(warnings.length > 0 ? { warnings } : {}),
504
+ };
505
+ }
277
506
  const selected = await promptForDisambiguation(matches, groups, deps.modelFlag, deps.prompter, deps.streams);
278
507
  if (!selected) {
279
508
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"model-resolution.js","sourceRoot":"","sources":["../../../source/services/models/model-resolution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-resolution.js","sourceRoot":"","sources":["../../../source/services/models/model-resolution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * The reasoning-effort vocabulary and the ":<effort>" suffix rule shared by
3
+ * --model flag parsing and nickname-target parsing. Kept in its own module so
4
+ * model-nicknames can reuse the exact same suffix semantics without importing
5
+ * model-resolution (which imports model-nicknames for the resolution fast
6
+ * path).
7
+ */
8
+ export declare const VALID_REASONING_EFFORTS: readonly ['default', 'none', 'minimal', 'low', 'medium', 'high', 'xhigh'];
9
+ export type ModelSettingsReasoningEffort = (typeof VALID_REASONING_EFFORTS)[number];
10
+ /**
11
+ * Splits a trailing ":<effort>" suffix off a raw model-flag string or
12
+ * nickname-target string. Only a recognized effort is stripped; any other
13
+ * colon suffix (e.g. ":batch") stays part of the id, matching the
14
+ * fail-open behavior of --model parsing.
15
+ */
16
+ export declare function stripReasoningEffortSuffix(trimmed: string): {
17
+ value: string;
18
+ reasoningEffort?: ModelSettingsReasoningEffort;
19
+ };
20
+ //# sourceMappingURL=reasoning-effort.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoning-effort.d.ts","sourceRoot":"","sources":["../../../source/services/models/reasoning-effort.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,YAAI,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;AAEjH,MAAM,MAAM,4BAA4B,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpF;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,4BAA4B,CAAC;CAChD,CAYA"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * The reasoning-effort vocabulary and the ":<effort>" suffix rule shared by
3
+ * --model flag parsing and nickname-target parsing. Kept in its own module so
4
+ * model-nicknames can reuse the exact same suffix semantics without importing
5
+ * model-resolution (which imports model-nicknames for the resolution fast
6
+ * path).
7
+ */
8
+ export const VALID_REASONING_EFFORTS = ['default', 'none', 'minimal', 'low', 'medium', 'high', 'xhigh'];
9
+ /**
10
+ * Splits a trailing ":<effort>" suffix off a raw model-flag string or
11
+ * nickname-target string. Only a recognized effort is stripped; any other
12
+ * colon suffix (e.g. ":batch") stays part of the id, matching the
13
+ * fail-open behavior of --model parsing.
14
+ */
15
+ export function stripReasoningEffortSuffix(trimmed) {
16
+ const colonIdx = trimmed.lastIndexOf(':');
17
+ if (colonIdx !== -1) {
18
+ const potentialEffort = trimmed.slice(colonIdx + 1).toLowerCase();
19
+ if (VALID_REASONING_EFFORTS.includes(potentialEffort)) {
20
+ return {
21
+ value: trimmed.slice(0, colonIdx).trim(),
22
+ reasoningEffort: potentialEffort,
23
+ };
24
+ }
25
+ }
26
+ return { value: trimmed, reasoningEffort: undefined };
27
+ }
28
+ //# sourceMappingURL=reasoning-effort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoning-effort.js","sourceRoot":"","sources":["../../../source/services/models/reasoning-effort.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;AAIjH;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAAe;IAIxD,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAClE,IAAK,uBAA6C,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YAC7E,OAAO;gBACL,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE;gBACxC,eAAe,EAAE,eAA+C;aACjE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC;AACxD,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type ModelInfo } from '../model-service.js';
2
+ export declare function mergeUnifiedModels(providerIds: readonly string[], catalogs: ReadonlyMap<string, readonly ModelInfo[]>, favorites: readonly ModelInfo[]): ModelInfo[];
3
+ export declare function filterUnifiedModels(models: readonly ModelInfo[], modelQuery: string, providerQuery?: string): ModelInfo[];
4
+ //# sourceMappingURL=unified-model-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unified-model-catalog.d.ts","sourceRoot":"","sources":["../../../source/services/models/unified-model-catalog.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGnE,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,SAAS,MAAM,EAAE,EAC9B,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC,EACnD,SAAS,EAAE,SAAS,SAAS,EAAE,GAC9B,SAAS,EAAE,CAyBb;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,SAAS,EAAE,EAC5B,UAAU,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,MAAM,GACrB,SAAS,EAAE,CAqBb"}
@@ -0,0 +1,54 @@
1
+ import { getProvider } from '../../providers/index.js';
2
+ import { isSubsequenceMatch } from '../../utils/subsequence-filter.js';
3
+ import { filterModels } from '../model-service.js';
4
+ import { serializeFavorite } from './model-favorites.js';
5
+ export function mergeUnifiedModels(providerIds, catalogs, favorites) {
6
+ const catalogByKey = new Map();
7
+ for (const providerId of providerIds) {
8
+ for (const model of catalogs.get(providerId) ?? []) {
9
+ catalogByKey.set(serializeFavorite(model.provider, model.id), model);
10
+ }
11
+ }
12
+ const seen = new Set();
13
+ const merged = [];
14
+ for (const favorite of favorites) {
15
+ const key = serializeFavorite(favorite.provider, favorite.id);
16
+ if (seen.has(key))
17
+ continue;
18
+ seen.add(key);
19
+ merged.push(catalogByKey.get(key) ?? favorite);
20
+ }
21
+ for (const providerId of providerIds) {
22
+ for (const model of catalogs.get(providerId) ?? []) {
23
+ const key = serializeFavorite(model.provider, model.id);
24
+ if (seen.has(key))
25
+ continue;
26
+ seen.add(key);
27
+ merged.push(model);
28
+ }
29
+ }
30
+ return merged;
31
+ }
32
+ export function filterUnifiedModels(models, modelQuery, providerQuery) {
33
+ const providerNeedle = providerQuery?.trim();
34
+ const providerFiltered = providerNeedle
35
+ ? models.filter((model) => {
36
+ const label = getProvider(model.provider)?.label ?? model.provider;
37
+ return isSubsequenceMatch(providerNeedle, model.provider) || isSubsequenceMatch(providerNeedle, label);
38
+ })
39
+ : models;
40
+ const trimmed = modelQuery.trim();
41
+ if (!trimmed)
42
+ return [...providerFiltered];
43
+ const modelMatches = new Set(filterModels([...providerFiltered], trimmed));
44
+ return providerFiltered.filter((model) => {
45
+ if (modelMatches.has(model))
46
+ return true;
47
+ const label = getProvider(model.provider)?.label ?? model.provider;
48
+ return (isSubsequenceMatch(trimmed, model.provider) ||
49
+ isSubsequenceMatch(trimmed, label) ||
50
+ isSubsequenceMatch(trimmed, `${model.provider}/${model.id}`) ||
51
+ isSubsequenceMatch(trimmed, `${label}/${model.id}`));
52
+ });
53
+ }
54
+ //# sourceMappingURL=unified-model-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unified-model-catalog.js","sourceRoot":"","sources":["../../../source/services/models/unified-model-catalog.ts"],"names":[],"mappings":"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"}
@@ -9,4 +9,20 @@ export type ProviderFailureClassification = {
9
9
  };
10
10
  /** One sanitized, shared interpretation of an upstream failure. */
11
11
  export declare function classifyProviderFailure(error: unknown): ProviderFailureClassification;
12
+ /**
13
+ * Cancellation classification is intentionally stricter at logging/UI
14
+ * boundaries than at retry policy boundaries. A provider error can mention
15
+ * "abort" while still being a real failure (for example, a failure that races
16
+ * a user stop), so those boundaries require an explicit abort marker as well
17
+ * as the shared typed classification.
18
+ */
19
+ export declare function isClassifiedCancellation(error: unknown): boolean;
20
+ /**
21
+ * Returns true only when an error tree contains an explicit cancellation and
22
+ * no concrete provider or transport failure. `classifyProviderFailure` keeps
23
+ * its broad abort-like precedence for retry policy; this stricter predicate is
24
+ * for boundaries where hiding a real failure would be worse than showing an
25
+ * abort from the same race.
26
+ */
27
+ export declare function hasExplicitCancellationMarker(error: unknown): boolean;
12
28
  //# sourceMappingURL=provider-failure-classification.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider-failure-classification.d.ts","sourceRoot":"","sources":["../../../source/services/retry/provider-failure-classification.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,gBAAgB,GAAG,WAAW,GAAG,SAAS,CAAC;AAErH,MAAM,MAAM,6BAA6B,GAAG;IAC1C,SAAS,EAAE,mBAAmB,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,mEAAmE;AACnE,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,6BAA6B,CA8BrF"}
1
+ {"version":3,"file":"provider-failure-classification.d.ts","sourceRoot":"","sources":["../../../source/services/retry/provider-failure-classification.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,gBAAgB,GAAG,WAAW,GAAG,SAAS,CAAC;AAErH,MAAM,MAAM,6BAA6B,GAAG;IAC1C,SAAS,EAAE,mBAAmB,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,mEAAmE;AACnE,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,6BAA6B,CA8BrF;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEhE;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGrE"}