@machina.ai/cell-cli-core 1.20.2-rc1 → 1.22.5-rc1

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 (436) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.js +1 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/package.json +1 -1
  5. package/dist/src/agents/delegate-to-agent-tool.d.ts +19 -0
  6. package/dist/src/agents/delegate-to-agent-tool.js +111 -0
  7. package/dist/src/agents/delegate-to-agent-tool.js.map +1 -0
  8. package/dist/src/agents/delegate-to-agent-tool.test.d.ts +6 -0
  9. package/dist/src/agents/delegate-to-agent-tool.test.js +133 -0
  10. package/dist/src/agents/delegate-to-agent-tool.test.js.map +1 -0
  11. package/dist/src/agents/executor.js +1 -1
  12. package/dist/src/agents/executor.js.map +1 -1
  13. package/dist/src/agents/executor.test.js.map +1 -1
  14. package/dist/src/agents/registry.d.ts +15 -0
  15. package/dist/src/agents/registry.js +58 -2
  16. package/dist/src/agents/registry.js.map +1 -1
  17. package/dist/src/agents/registry.test.js +61 -0
  18. package/dist/src/agents/registry.test.js.map +1 -1
  19. package/dist/src/availability/errorClassification.d.ts +7 -0
  20. package/dist/src/availability/errorClassification.js +20 -0
  21. package/dist/src/availability/errorClassification.js.map +1 -0
  22. package/dist/src/availability/modelAvailabilityService.d.ts +1 -0
  23. package/dist/src/availability/modelAvailabilityService.js +3 -0
  24. package/dist/src/availability/modelAvailabilityService.js.map +1 -1
  25. package/dist/src/availability/modelPolicy.d.ts +8 -1
  26. package/dist/src/availability/policyCatalog.d.ts +1 -0
  27. package/dist/src/availability/policyCatalog.js +6 -7
  28. package/dist/src/availability/policyCatalog.js.map +1 -1
  29. package/dist/src/availability/policyCatalog.test.js +2 -2
  30. package/dist/src/availability/policyCatalog.test.js.map +1 -1
  31. package/dist/src/availability/policyHelpers.d.ts +33 -3
  32. package/dist/src/availability/policyHelpers.js +113 -13
  33. package/dist/src/availability/policyHelpers.js.map +1 -1
  34. package/dist/src/availability/policyHelpers.test.js +133 -13
  35. package/dist/src/availability/policyHelpers.test.js.map +1 -1
  36. package/dist/src/availability/testUtils.d.ts +10 -0
  37. package/dist/src/availability/testUtils.js +22 -0
  38. package/dist/src/availability/testUtils.js.map +1 -0
  39. package/dist/src/code_assist/experiments/client_metadata.js +2 -1
  40. package/dist/src/code_assist/experiments/client_metadata.js.map +1 -1
  41. package/dist/src/code_assist/experiments/client_metadata.test.js +7 -10
  42. package/dist/src/code_assist/experiments/client_metadata.test.js.map +1 -1
  43. package/dist/src/code_assist/oauth2.d.ts +2 -0
  44. package/dist/src/code_assist/oauth2.js +38 -12
  45. package/dist/src/code_assist/oauth2.js.map +1 -1
  46. package/dist/src/code_assist/oauth2.test.js +113 -6
  47. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  48. package/dist/src/commands/init.d.ts +7 -0
  49. package/dist/src/commands/init.js +53 -0
  50. package/dist/src/commands/init.js.map +1 -0
  51. package/dist/src/commands/init.test.d.ts +6 -0
  52. package/dist/src/commands/init.test.js +25 -0
  53. package/dist/src/commands/init.test.js.map +1 -0
  54. package/dist/src/commands/restore.d.ts +9 -0
  55. package/dist/src/commands/restore.js +46 -0
  56. package/dist/src/commands/restore.js.map +1 -0
  57. package/dist/src/commands/restore.test.d.ts +6 -0
  58. package/dist/src/commands/restore.test.js +137 -0
  59. package/dist/src/commands/restore.test.js.map +1 -0
  60. package/dist/src/commands/types.d.ts +41 -0
  61. package/dist/src/commands/types.js +7 -0
  62. package/dist/src/commands/types.js.map +1 -0
  63. package/dist/src/config/config.d.ts +29 -3
  64. package/dist/src/config/config.js +146 -29
  65. package/dist/src/config/config.js.map +1 -1
  66. package/dist/src/config/config.test.js +203 -9
  67. package/dist/src/config/config.test.js.map +1 -1
  68. package/dist/src/config/defaultModelConfigs.js +21 -0
  69. package/dist/src/config/defaultModelConfigs.js.map +1 -1
  70. package/dist/src/config/models.d.ts +33 -11
  71. package/dist/src/config/models.js +82 -24
  72. package/dist/src/config/models.js.map +1 -1
  73. package/dist/src/config/models.test.js +70 -76
  74. package/dist/src/config/models.test.js.map +1 -1
  75. package/dist/src/confirmation-bus/message-bus.js +1 -0
  76. package/dist/src/confirmation-bus/message-bus.js.map +1 -1
  77. package/dist/src/confirmation-bus/types.d.ts +4 -0
  78. package/dist/src/core/baseLlmClient.d.ts +3 -1
  79. package/dist/src/core/baseLlmClient.js +40 -3
  80. package/dist/src/core/baseLlmClient.js.map +1 -1
  81. package/dist/src/core/baseLlmClient.test.js +184 -7
  82. package/dist/src/core/baseLlmClient.test.js.map +1 -1
  83. package/dist/src/core/client.js +47 -13
  84. package/dist/src/core/client.js.map +1 -1
  85. package/dist/src/core/client.test.js +133 -6
  86. package/dist/src/core/client.test.js.map +1 -1
  87. package/dist/src/core/contentGenerator.js +5 -3
  88. package/dist/src/core/contentGenerator.js.map +1 -1
  89. package/dist/src/core/contentGenerator.test.js +29 -22
  90. package/dist/src/core/contentGenerator.test.js.map +1 -1
  91. package/dist/src/core/coreToolScheduler.d.ts +1 -1
  92. package/dist/src/core/coreToolScheduler.js +76 -34
  93. package/dist/src/core/coreToolScheduler.js.map +1 -1
  94. package/dist/src/core/coreToolScheduler.test.js +135 -37
  95. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  96. package/dist/src/core/geminiChat.js +60 -29
  97. package/dist/src/core/geminiChat.js.map +1 -1
  98. package/dist/src/core/geminiChat.test.js +236 -188
  99. package/dist/src/core/geminiChat.test.js.map +1 -1
  100. package/dist/src/core/geminiChat_network_retry.test.d.ts +6 -0
  101. package/dist/src/core/geminiChat_network_retry.test.js +198 -0
  102. package/dist/src/core/geminiChat_network_retry.test.js.map +1 -0
  103. package/dist/src/core/logger.js.map +1 -1
  104. package/dist/src/core/nonInteractiveToolExecutor.test.js +4 -5
  105. package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
  106. package/dist/src/core/prompts.js +13 -11
  107. package/dist/src/core/prompts.js.map +1 -1
  108. package/dist/src/core/prompts.test.js +19 -8
  109. package/dist/src/core/prompts.test.js.map +1 -1
  110. package/dist/src/core/sessionHookTriggers.d.ts +28 -0
  111. package/dist/src/core/sessionHookTriggers.js +68 -0
  112. package/dist/src/core/sessionHookTriggers.js.map +1 -0
  113. package/dist/src/core/turn.d.ts +1 -0
  114. package/dist/src/core/turn.js +1 -1
  115. package/dist/src/core/turn.js.map +1 -1
  116. package/dist/src/fallback/handler.js +56 -115
  117. package/dist/src/fallback/handler.js.map +1 -1
  118. package/dist/src/fallback/handler.test.js +124 -278
  119. package/dist/src/fallback/handler.test.js.map +1 -1
  120. package/dist/src/generated/git-commit.d.ts +2 -2
  121. package/dist/src/generated/git-commit.js +2 -2
  122. package/dist/src/hooks/hookEventHandler.js +59 -1
  123. package/dist/src/hooks/hookEventHandler.js.map +1 -1
  124. package/dist/src/hooks/hookEventHandler.test.js +8 -1
  125. package/dist/src/hooks/hookEventHandler.test.js.map +1 -1
  126. package/dist/src/hooks/hookRegistry.d.ts +0 -7
  127. package/dist/src/hooks/hookRegistry.js +8 -21
  128. package/dist/src/hooks/hookRegistry.js.map +1 -1
  129. package/dist/src/hooks/hookRegistry.test.js +2 -7
  130. package/dist/src/hooks/hookRegistry.test.js.map +1 -1
  131. package/dist/src/hooks/hookRunner.js +12 -2
  132. package/dist/src/hooks/hookRunner.js.map +1 -1
  133. package/dist/src/hooks/hookRunner.test.js +1 -1
  134. package/dist/src/hooks/hookRunner.test.js.map +1 -1
  135. package/dist/src/hooks/hookSystem.d.ts +0 -8
  136. package/dist/src/hooks/hookSystem.js +0 -18
  137. package/dist/src/hooks/hookSystem.js.map +1 -1
  138. package/dist/src/hooks/hookSystem.test.js +123 -18
  139. package/dist/src/hooks/hookSystem.test.js.map +1 -1
  140. package/dist/src/hooks/index.d.ts +3 -1
  141. package/dist/src/hooks/index.js +3 -0
  142. package/dist/src/hooks/index.js.map +1 -1
  143. package/dist/src/hooks/types.d.ts +1 -2
  144. package/dist/src/hooks/types.js +0 -1
  145. package/dist/src/hooks/types.js.map +1 -1
  146. package/dist/src/ide/detect-ide.test.js +32 -1
  147. package/dist/src/ide/detect-ide.test.js.map +1 -1
  148. package/dist/src/ide/ide-client.js +2 -0
  149. package/dist/src/ide/ide-client.js.map +1 -1
  150. package/dist/src/ide/ide-installer.test.js +1 -1
  151. package/dist/src/ide/ide-installer.test.js.map +1 -1
  152. package/dist/src/index.d.ts +8 -0
  153. package/dist/src/index.js +8 -0
  154. package/dist/src/index.js.map +1 -1
  155. package/dist/src/mcp/oauth-provider.js.map +1 -1
  156. package/dist/src/output/json-formatter.d.ts +2 -2
  157. package/dist/src/output/json-formatter.js +6 -3
  158. package/dist/src/output/json-formatter.js.map +1 -1
  159. package/dist/src/output/json-formatter.test.js +37 -9
  160. package/dist/src/output/json-formatter.test.js.map +1 -1
  161. package/dist/src/output/stream-json-formatter.js +6 -0
  162. package/dist/src/output/stream-json-formatter.js.map +1 -1
  163. package/dist/src/output/stream-json-formatter.test.js +98 -100
  164. package/dist/src/output/stream-json-formatter.test.js.map +1 -1
  165. package/dist/src/output/types.d.ts +3 -0
  166. package/dist/src/output/types.js.map +1 -1
  167. package/dist/src/policy/config.js +97 -11
  168. package/dist/src/policy/config.js.map +1 -1
  169. package/dist/src/policy/persistence.test.d.ts +6 -0
  170. package/dist/src/policy/persistence.test.js +154 -0
  171. package/dist/src/policy/persistence.test.js.map +1 -0
  172. package/dist/src/policy/policies/agent.toml +31 -0
  173. package/dist/src/policy/policy-engine.d.ts +10 -1
  174. package/dist/src/policy/policy-engine.js +79 -5
  175. package/dist/src/policy/policy-engine.js.map +1 -1
  176. package/dist/src/policy/policy-engine.test.js +26 -2
  177. package/dist/src/policy/policy-engine.test.js.map +1 -1
  178. package/dist/src/policy/policy-updater.test.d.ts +6 -0
  179. package/dist/src/policy/policy-updater.test.js +116 -0
  180. package/dist/src/policy/policy-updater.test.js.map +1 -0
  181. package/dist/src/policy/shell-safety.test.d.ts +6 -0
  182. package/dist/src/policy/shell-safety.test.js +75 -0
  183. package/dist/src/policy/shell-safety.test.js.map +1 -0
  184. package/dist/src/policy/toml-loader.d.ts +11 -5
  185. package/dist/src/policy/toml-loader.js +38 -23
  186. package/dist/src/policy/toml-loader.js.map +1 -1
  187. package/dist/src/policy/toml-loader.test.js +28 -7
  188. package/dist/src/policy/toml-loader.test.js.map +1 -1
  189. package/dist/src/policy/types.d.ts +15 -0
  190. package/dist/src/resources/resource-registry.d.ts +30 -0
  191. package/dist/src/resources/resource-registry.js +57 -0
  192. package/dist/src/resources/resource-registry.js.map +1 -0
  193. package/dist/src/resources/resource-registry.test.d.ts +6 -0
  194. package/dist/src/resources/resource-registry.test.js +54 -0
  195. package/dist/src/resources/resource-registry.test.js.map +1 -0
  196. package/dist/src/routing/modelRouterService.js +0 -15
  197. package/dist/src/routing/modelRouterService.js.map +1 -1
  198. package/dist/src/routing/modelRouterService.test.js +0 -62
  199. package/dist/src/routing/modelRouterService.test.js.map +1 -1
  200. package/dist/src/routing/strategies/classifierStrategy.js +10 -21
  201. package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
  202. package/dist/src/routing/strategies/classifierStrategy.test.js +2 -1
  203. package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
  204. package/dist/src/routing/strategies/fallbackStrategy.js +23 -12
  205. package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -1
  206. package/dist/src/routing/strategies/fallbackStrategy.test.js +69 -39
  207. package/dist/src/routing/strategies/fallbackStrategy.test.js.map +1 -1
  208. package/dist/src/routing/strategies/overrideStrategy.js +4 -3
  209. package/dist/src/routing/strategies/overrideStrategy.js.map +1 -1
  210. package/dist/src/safety/checker-runner.js +17 -6
  211. package/dist/src/safety/checker-runner.js.map +1 -1
  212. package/dist/src/services/chatCompressionService.js +15 -1
  213. package/dist/src/services/chatCompressionService.js.map +1 -1
  214. package/dist/src/services/chatCompressionService.test.js +2 -0
  215. package/dist/src/services/chatCompressionService.test.js.map +1 -1
  216. package/dist/src/services/chatRecordingService.d.ts +14 -0
  217. package/dist/src/services/chatRecordingService.js +37 -0
  218. package/dist/src/services/chatRecordingService.js.map +1 -1
  219. package/dist/src/services/fileSystemService.d.ts +0 -9
  220. package/dist/src/services/fileSystemService.js +0 -11
  221. package/dist/src/services/fileSystemService.js.map +1 -1
  222. package/dist/src/services/gitService.js +5 -0
  223. package/dist/src/services/gitService.js.map +1 -1
  224. package/dist/src/services/gitService.test.js +28 -0
  225. package/dist/src/services/gitService.test.js.map +1 -1
  226. package/dist/src/services/loopDetectionService.js +2 -2
  227. package/dist/src/services/loopDetectionService.js.map +1 -1
  228. package/dist/src/services/modelConfig.golden.test.js +32 -0
  229. package/dist/src/services/modelConfig.golden.test.js.map +1 -1
  230. package/dist/src/services/modelConfigService.d.ts +3 -0
  231. package/dist/src/services/modelConfigService.js +3 -2
  232. package/dist/src/services/modelConfigService.js.map +1 -1
  233. package/dist/src/services/modelConfigService.test.js +110 -0
  234. package/dist/src/services/modelConfigService.test.js.map +1 -1
  235. package/dist/src/services/modelConfigServiceTestUtils.d.ts +10 -0
  236. package/dist/src/services/modelConfigServiceTestUtils.js +17 -0
  237. package/dist/src/services/modelConfigServiceTestUtils.js.map +1 -0
  238. package/dist/src/services/sessionSummaryService.d.ts +28 -0
  239. package/dist/src/services/sessionSummaryService.js +131 -0
  240. package/dist/src/services/sessionSummaryService.js.map +1 -0
  241. package/dist/src/services/sessionSummaryService.test.d.ts +6 -0
  242. package/dist/src/services/sessionSummaryService.test.js +785 -0
  243. package/dist/src/services/sessionSummaryService.test.js.map +1 -0
  244. package/dist/src/services/sessionSummaryUtils.d.ts +16 -0
  245. package/dist/src/services/sessionSummaryUtils.js +129 -0
  246. package/dist/src/services/sessionSummaryUtils.js.map +1 -0
  247. package/dist/src/services/sessionSummaryUtils.test.d.ts +6 -0
  248. package/dist/src/services/sessionSummaryUtils.test.js +137 -0
  249. package/dist/src/services/sessionSummaryUtils.test.js.map +1 -0
  250. package/dist/src/services/shellExecutionService.js +28 -22
  251. package/dist/src/services/shellExecutionService.js.map +1 -1
  252. package/dist/src/services/shellExecutionService.test.js +46 -4
  253. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  254. package/dist/src/services/test-data/resolved-aliases-retry.golden.json +238 -0
  255. package/dist/src/services/test-data/resolved-aliases.golden.json +16 -0
  256. package/dist/src/telemetry/activity-detector.test.js.map +1 -1
  257. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +1 -0
  258. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +28 -5
  259. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  260. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +67 -1
  261. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  262. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +1 -0
  263. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +3 -1
  264. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  265. package/dist/src/telemetry/config.js +2 -0
  266. package/dist/src/telemetry/config.js.map +1 -1
  267. package/dist/src/telemetry/config.test.js +25 -0
  268. package/dist/src/telemetry/config.test.js.map +1 -1
  269. package/dist/src/telemetry/gcp-exporters.d.ts +4 -3
  270. package/dist/src/telemetry/gcp-exporters.js +8 -4
  271. package/dist/src/telemetry/gcp-exporters.js.map +1 -1
  272. package/dist/src/telemetry/index.d.ts +1 -1
  273. package/dist/src/telemetry/index.js +1 -1
  274. package/dist/src/telemetry/index.js.map +1 -1
  275. package/dist/src/telemetry/loggers.d.ts +2 -1
  276. package/dist/src/telemetry/loggers.js +345 -335
  277. package/dist/src/telemetry/loggers.js.map +1 -1
  278. package/dist/src/telemetry/loggers.test.js +20 -5
  279. package/dist/src/telemetry/loggers.test.js.map +1 -1
  280. package/dist/src/telemetry/metrics.test.js.map +1 -1
  281. package/dist/src/telemetry/sdk.d.ts +9 -2
  282. package/dist/src/telemetry/sdk.js +143 -17
  283. package/dist/src/telemetry/sdk.js.map +1 -1
  284. package/dist/src/telemetry/sdk.test.js +130 -28
  285. package/dist/src/telemetry/sdk.test.js.map +1 -1
  286. package/dist/src/telemetry/startupProfiler.js +26 -3
  287. package/dist/src/telemetry/startupProfiler.js.map +1 -1
  288. package/dist/src/telemetry/startupProfiler.test.js +49 -7
  289. package/dist/src/telemetry/startupProfiler.test.js.map +1 -1
  290. package/dist/src/telemetry/telemetry.test.js +10 -3
  291. package/dist/src/telemetry/telemetry.test.js.map +1 -1
  292. package/dist/src/telemetry/trace.js.map +1 -1
  293. package/dist/src/telemetry/types.d.ts +31 -6
  294. package/dist/src/telemetry/types.js +47 -8
  295. package/dist/src/telemetry/types.js.map +1 -1
  296. package/dist/src/telemetry/uiTelemetry.d.ts +1 -0
  297. package/dist/src/telemetry/uiTelemetry.js +2 -0
  298. package/dist/src/telemetry/uiTelemetry.js.map +1 -1
  299. package/dist/src/telemetry/uiTelemetry.test.js +4 -0
  300. package/dist/src/telemetry/uiTelemetry.test.js.map +1 -1
  301. package/dist/src/test-utils/mock-message-bus.js.map +1 -1
  302. package/dist/src/tools/confirmation-policy.test.d.ts +6 -0
  303. package/dist/src/tools/confirmation-policy.test.js +152 -0
  304. package/dist/src/tools/confirmation-policy.test.js.map +1 -0
  305. package/dist/src/tools/edit.js +5 -0
  306. package/dist/src/tools/edit.js.map +1 -1
  307. package/dist/src/tools/edit.test.js.map +1 -1
  308. package/dist/src/tools/grep.js.map +1 -1
  309. package/dist/src/tools/mcp-client-manager.d.ts +2 -1
  310. package/dist/src/tools/mcp-client-manager.js +20 -4
  311. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  312. package/dist/src/tools/mcp-client-manager.test.js +13 -10
  313. package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
  314. package/dist/src/tools/mcp-client.d.ts +39 -3
  315. package/dist/src/tools/mcp-client.js +433 -168
  316. package/dist/src/tools/mcp-client.js.map +1 -1
  317. package/dist/src/tools/mcp-client.test.js +648 -28
  318. package/dist/src/tools/mcp-client.test.js.map +1 -1
  319. package/dist/src/tools/mcp-tool.js +13 -0
  320. package/dist/src/tools/mcp-tool.js.map +1 -1
  321. package/dist/src/tools/mcp-tool.test.js +25 -0
  322. package/dist/src/tools/mcp-tool.test.js.map +1 -1
  323. package/dist/src/tools/memoryTool.js +1 -0
  324. package/dist/src/tools/memoryTool.js.map +1 -1
  325. package/dist/src/tools/modifiable-tool.js.map +1 -1
  326. package/dist/src/tools/modifiable-tool.test.js +22 -13
  327. package/dist/src/tools/modifiable-tool.test.js.map +1 -1
  328. package/dist/src/tools/read-file.js +1 -1
  329. package/dist/src/tools/read-file.js.map +1 -1
  330. package/dist/src/tools/read-file.test.js.map +1 -1
  331. package/dist/src/tools/read-many-files.js +6 -4
  332. package/dist/src/tools/read-many-files.js.map +1 -1
  333. package/dist/src/tools/read-many-files.test.js +1 -1
  334. package/dist/src/tools/read-many-files.test.js.map +1 -1
  335. package/dist/src/tools/shell.d.ts +2 -1
  336. package/dist/src/tools/shell.js +15 -1
  337. package/dist/src/tools/shell.js.map +1 -1
  338. package/dist/src/tools/shell.test.js +2 -1
  339. package/dist/src/tools/shell.test.js.map +1 -1
  340. package/dist/src/tools/smart-edit.js +5 -0
  341. package/dist/src/tools/smart-edit.js.map +1 -1
  342. package/dist/src/tools/smart-edit.test.js.map +1 -1
  343. package/dist/src/tools/tool-names.d.ts +2 -0
  344. package/dist/src/tools/tool-names.js +2 -0
  345. package/dist/src/tools/tool-names.js.map +1 -1
  346. package/dist/src/tools/tools.d.ts +19 -0
  347. package/dist/src/tools/tools.js +29 -8
  348. package/dist/src/tools/tools.js.map +1 -1
  349. package/dist/src/tools/web-fetch.js +17 -4
  350. package/dist/src/tools/web-fetch.js.map +1 -1
  351. package/dist/src/tools/web-fetch.test.js +1 -0
  352. package/dist/src/tools/web-fetch.test.js.map +1 -1
  353. package/dist/src/tools/write-file.js +5 -0
  354. package/dist/src/tools/write-file.js.map +1 -1
  355. package/dist/src/tools/write-file.test.js.map +1 -1
  356. package/dist/src/utils/bfsFileSearch.d.ts +8 -0
  357. package/dist/src/utils/bfsFileSearch.js +63 -23
  358. package/dist/src/utils/bfsFileSearch.js.map +1 -1
  359. package/dist/src/utils/bfsFileSearch.test.js +65 -1
  360. package/dist/src/utils/bfsFileSearch.test.js.map +1 -1
  361. package/dist/src/utils/checkpointUtils.d.ts +82 -0
  362. package/dist/src/utils/checkpointUtils.js +117 -0
  363. package/dist/src/utils/checkpointUtils.js.map +1 -0
  364. package/dist/src/utils/checkpointUtils.test.d.ts +6 -0
  365. package/dist/src/utils/checkpointUtils.test.js +229 -0
  366. package/dist/src/utils/checkpointUtils.test.js.map +1 -0
  367. package/dist/src/utils/debugLogger.d.ts +3 -0
  368. package/dist/src/utils/debugLogger.js +27 -0
  369. package/dist/src/utils/debugLogger.js.map +1 -1
  370. package/dist/src/utils/editCorrector.test.js +4 -0
  371. package/dist/src/utils/editCorrector.test.js.map +1 -1
  372. package/dist/src/utils/editor.d.ts +9 -1
  373. package/dist/src/utils/editor.js +23 -14
  374. package/dist/src/utils/editor.js.map +1 -1
  375. package/dist/src/utils/errors.d.ts +8 -0
  376. package/dist/src/utils/errors.js +39 -2
  377. package/dist/src/utils/errors.js.map +1 -1
  378. package/dist/src/utils/errors.test.d.ts +6 -0
  379. package/dist/src/utils/errors.test.js +155 -0
  380. package/dist/src/utils/errors.test.js.map +1 -0
  381. package/dist/src/utils/extensionLoader.d.ts +2 -2
  382. package/dist/src/utils/extensionLoader.js +5 -6
  383. package/dist/src/utils/extensionLoader.js.map +1 -1
  384. package/dist/src/utils/extensionLoader.test.js +11 -0
  385. package/dist/src/utils/extensionLoader.test.js.map +1 -1
  386. package/dist/src/utils/fetch.d.ts +1 -1
  387. package/dist/src/utils/fetch.js +3 -3
  388. package/dist/src/utils/fetch.js.map +1 -1
  389. package/dist/src/utils/fileUtils.test.js +15 -0
  390. package/dist/src/utils/fileUtils.test.js.map +1 -1
  391. package/dist/src/utils/filesearch/crawlCache.js.map +1 -1
  392. package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
  393. package/dist/src/utils/flashFallback.test.js +1 -1
  394. package/dist/src/utils/flashFallback.test.js.map +1 -1
  395. package/dist/src/utils/googleErrors.js +31 -18
  396. package/dist/src/utils/googleErrors.js.map +1 -1
  397. package/dist/src/utils/googleErrors.test.js +10 -2
  398. package/dist/src/utils/googleErrors.test.js.map +1 -1
  399. package/dist/src/utils/googleQuotaErrors.d.ts +3 -3
  400. package/dist/src/utils/googleQuotaErrors.js +32 -6
  401. package/dist/src/utils/googleQuotaErrors.js.map +1 -1
  402. package/dist/src/utils/googleQuotaErrors.test.js +94 -2
  403. package/dist/src/utils/googleQuotaErrors.test.js.map +1 -1
  404. package/dist/src/utils/nextSpeakerChecker.test.js +4 -0
  405. package/dist/src/utils/nextSpeakerChecker.test.js.map +1 -1
  406. package/dist/src/utils/pathCorrector.js +12 -2
  407. package/dist/src/utils/pathCorrector.js.map +1 -1
  408. package/dist/src/utils/pathCorrector.test.js +6 -2
  409. package/dist/src/utils/pathCorrector.test.js.map +1 -1
  410. package/dist/src/utils/retry.d.ts +11 -0
  411. package/dist/src/utils/retry.js +54 -13
  412. package/dist/src/utils/retry.js.map +1 -1
  413. package/dist/src/utils/retry.test.js +170 -10
  414. package/dist/src/utils/retry.test.js.map +1 -1
  415. package/dist/src/utils/shell-permissions.d.ts +52 -0
  416. package/dist/src/utils/shell-permissions.js +188 -0
  417. package/dist/src/utils/shell-permissions.js.map +1 -0
  418. package/dist/src/utils/shell-permissions.test.d.ts +6 -0
  419. package/dist/src/utils/shell-permissions.test.js +347 -0
  420. package/dist/src/utils/shell-permissions.test.js.map +1 -0
  421. package/dist/src/utils/shell-utils.d.ts +10 -47
  422. package/dist/src/utils/shell-utils.js +1 -182
  423. package/dist/src/utils/shell-utils.js.map +1 -1
  424. package/dist/src/utils/shell-utils.test.js +1 -288
  425. package/dist/src/utils/shell-utils.test.js.map +1 -1
  426. package/dist/src/utils/terminalSerializer.test.js +17 -0
  427. package/dist/src/utils/terminalSerializer.test.js.map +1 -1
  428. package/dist/src/utils/tool-utils.js.map +1 -1
  429. package/dist/src/utils/version.d.ts +6 -0
  430. package/dist/src/utils/version.js +15 -0
  431. package/dist/src/utils/version.js.map +1 -0
  432. package/dist/src/utils/version.test.d.ts +6 -0
  433. package/dist/src/utils/version.test.js +39 -0
  434. package/dist/src/utils/version.test.js.map +1 -0
  435. package/dist/tsconfig.tsbuildinfo +1 -1
  436. package/package.json +1 -1
@@ -4,10 +4,14 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  export declare const PREVIEW_GEMINI_MODEL = "gemini-3-pro-preview";
7
+ export declare const PREVIEW_GEMINI_FLASH_MODEL = "gemini-3-flash-preview";
7
8
  export declare const DEFAULT_GEMINI_MODEL = "gemini-2.5-pro";
8
9
  export declare const DEFAULT_GEMINI_FLASH_MODEL = "gemini-2.5-flash";
9
10
  export declare const DEFAULT_GEMINI_FLASH_LITE_MODEL = "gemini-2.5-flash-lite";
10
- export declare const DEFAULT_GEMINI_MODEL_AUTO = "auto";
11
+ export declare const VALID_GEMINI_MODELS: Set<string>;
12
+ export declare const PREVIEW_GEMINI_MODEL_AUTO = "auto-gemini-3";
13
+ export declare const DEFAULT_GEMINI_MODEL_AUTO = "auto-gemini-2.5";
14
+ export declare const GEMINI_MODEL_ALIAS_AUTO = "auto";
11
15
  export declare const GEMINI_MODEL_ALIAS_PRO = "pro";
12
16
  export declare const GEMINI_MODEL_ALIAS_FLASH = "flash";
13
17
  export declare const GEMINI_MODEL_ALIAS_FLASH_LITE = "flash-lite";
@@ -21,26 +25,44 @@ export declare const DEFAULT_THINKING_MODE = 8192;
21
25
  * @param previewFeaturesEnabled A boolean indicating if preview features are enabled.
22
26
  * @returns The resolved concrete model name.
23
27
  */
24
- export declare function resolveModel(requestedModel: string, previewFeaturesEnabled: boolean | undefined): string;
28
+ export declare function resolveModel(requestedModel: string, previewFeaturesEnabled?: boolean): string;
25
29
  /**
26
- * Determines the effective model to use, applying fallback logic if necessary.
30
+ * Resolves the appropriate model based on the classifier's decision.
27
31
  *
28
- * When fallback mode is active, this function enforces the use of the standard
29
- * fallback model. However, it makes an exception for "lite" models (any model
30
- * with "lite" in its name), allowing them to be used to preserve cost savings.
31
- * This ensures that "pro" models are always downgraded, while "lite" model
32
- * requests are honored.
32
+ * @param requestedModel The current requested model (e.g. auto-gemini-2.5).
33
+ * @param modelAlias The alias selected by the classifier ('flash' or 'pro').
34
+ * @param previewFeaturesEnabled Whether preview features are enabled.
35
+ * @returns The resolved concrete model name.
36
+ */
37
+ export declare function resolveClassifierModel(requestedModel: string, modelAlias: string, previewFeaturesEnabled?: boolean): string;
38
+ /**
39
+ * Determines the effective model to use.
33
40
  *
34
- * @param isInFallbackMode Whether the application is in fallback mode.
35
41
  * @param requestedModel The model that was originally requested.
36
42
  * @param previewFeaturesEnabled A boolean indicating if preview features are enabled.
37
43
  * @returns The effective model name.
38
44
  */
39
- export declare function getEffectiveModel(isInFallbackMode: boolean, requestedModel: string, previewFeaturesEnabled: boolean | undefined): string;
45
+ export declare function getEffectiveModel(requestedModel: string, previewFeaturesEnabled: boolean | undefined): string;
46
+ export declare function getDisplayString(model: string, previewFeaturesEnabled?: boolean): string;
47
+ /**
48
+ * Checks if the model is a preview model.
49
+ *
50
+ * @param model The model name to check.
51
+ * @returns True if the model is a preview model.
52
+ */
53
+ export declare function isPreviewModel(model: string): boolean;
40
54
  /**
41
55
  * Checks if the model is a Gemini 2.x model.
42
56
  *
43
57
  * @param model The model name to check.
44
- * @returns True if the model is a Gemini 2.x model.
58
+ * @returns True if the model is a Gemini-2.x model.
45
59
  */
46
60
  export declare function isGemini2Model(model: string): boolean;
61
+ /**
62
+ * Checks if the model supports multimodal function responses (multimodal data nested within function response).
63
+ * This is supported in Gemini 3.
64
+ *
65
+ * @param model The model name to check.
66
+ * @returns True if the model supports multimodal function responses.
67
+ */
68
+ export declare function supportsMultimodalFunctionResponse(model: string): boolean;
@@ -4,11 +4,21 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  export const PREVIEW_GEMINI_MODEL = 'gemini-3-pro-preview';
7
+ export const PREVIEW_GEMINI_FLASH_MODEL = 'gemini-3-flash-preview';
7
8
  export const DEFAULT_GEMINI_MODEL = 'gemini-2.5-pro';
8
9
  export const DEFAULT_GEMINI_FLASH_MODEL = 'gemini-2.5-flash';
9
10
  export const DEFAULT_GEMINI_FLASH_LITE_MODEL = 'gemini-2.5-flash-lite';
10
- export const DEFAULT_GEMINI_MODEL_AUTO = 'auto';
11
+ export const VALID_GEMINI_MODELS = new Set([
12
+ PREVIEW_GEMINI_MODEL,
13
+ PREVIEW_GEMINI_FLASH_MODEL,
14
+ DEFAULT_GEMINI_MODEL,
15
+ DEFAULT_GEMINI_FLASH_MODEL,
16
+ DEFAULT_GEMINI_FLASH_LITE_MODEL,
17
+ ]);
18
+ export const PREVIEW_GEMINI_MODEL_AUTO = 'auto-gemini-3';
19
+ export const DEFAULT_GEMINI_MODEL_AUTO = 'auto-gemini-2.5';
11
20
  // Model aliases for user convenience.
21
+ export const GEMINI_MODEL_ALIAS_AUTO = 'auto';
12
22
  export const GEMINI_MODEL_ALIAS_PRO = 'pro';
13
23
  export const GEMINI_MODEL_ALIAS_FLASH = 'flash';
14
24
  export const GEMINI_MODEL_ALIAS_FLASH_LITE = 'flash-lite';
@@ -23,16 +33,23 @@ export const DEFAULT_THINKING_MODE = 8192;
23
33
  * @param previewFeaturesEnabled A boolean indicating if preview features are enabled.
24
34
  * @returns The resolved concrete model name.
25
35
  */
26
- export function resolveModel(requestedModel, previewFeaturesEnabled) {
36
+ export function resolveModel(requestedModel, previewFeaturesEnabled = false) {
27
37
  switch (requestedModel) {
28
- case DEFAULT_GEMINI_MODEL_AUTO:
38
+ case PREVIEW_GEMINI_MODEL_AUTO: {
39
+ return PREVIEW_GEMINI_MODEL;
40
+ }
41
+ case DEFAULT_GEMINI_MODEL_AUTO: {
42
+ return DEFAULT_GEMINI_MODEL;
43
+ }
29
44
  case GEMINI_MODEL_ALIAS_PRO: {
30
45
  return previewFeaturesEnabled
31
46
  ? PREVIEW_GEMINI_MODEL
32
47
  : DEFAULT_GEMINI_MODEL;
33
48
  }
34
49
  case GEMINI_MODEL_ALIAS_FLASH: {
35
- return DEFAULT_GEMINI_FLASH_MODEL;
50
+ return previewFeaturesEnabled
51
+ ? PREVIEW_GEMINI_FLASH_MODEL
52
+ : DEFAULT_GEMINI_FLASH_MODEL;
36
53
  }
37
54
  case GEMINI_MODEL_ALIAS_FLASH_LITE: {
38
55
  return DEFAULT_GEMINI_FLASH_LITE_MODEL;
@@ -43,40 +60,81 @@ export function resolveModel(requestedModel, previewFeaturesEnabled) {
43
60
  }
44
61
  }
45
62
  /**
46
- * Determines the effective model to use, applying fallback logic if necessary.
63
+ * Resolves the appropriate model based on the classifier's decision.
47
64
  *
48
- * When fallback mode is active, this function enforces the use of the standard
49
- * fallback model. However, it makes an exception for "lite" models (any model
50
- * with "lite" in its name), allowing them to be used to preserve cost savings.
51
- * This ensures that "pro" models are always downgraded, while "lite" model
52
- * requests are honored.
65
+ * @param requestedModel The current requested model (e.g. auto-gemini-2.5).
66
+ * @param modelAlias The alias selected by the classifier ('flash' or 'pro').
67
+ * @param previewFeaturesEnabled Whether preview features are enabled.
68
+ * @returns The resolved concrete model name.
69
+ */
70
+ export function resolveClassifierModel(requestedModel, modelAlias, previewFeaturesEnabled = false) {
71
+ if (modelAlias === GEMINI_MODEL_ALIAS_FLASH) {
72
+ if (requestedModel === DEFAULT_GEMINI_MODEL_AUTO ||
73
+ requestedModel === DEFAULT_GEMINI_MODEL) {
74
+ return DEFAULT_GEMINI_FLASH_MODEL;
75
+ }
76
+ if (requestedModel === PREVIEW_GEMINI_MODEL_AUTO ||
77
+ requestedModel === PREVIEW_GEMINI_MODEL) {
78
+ return PREVIEW_GEMINI_FLASH_MODEL;
79
+ }
80
+ return resolveModel(GEMINI_MODEL_ALIAS_FLASH, previewFeaturesEnabled);
81
+ }
82
+ return resolveModel(requestedModel, previewFeaturesEnabled);
83
+ }
84
+ /**
85
+ * Determines the effective model to use.
53
86
  *
54
- * @param isInFallbackMode Whether the application is in fallback mode.
55
87
  * @param requestedModel The model that was originally requested.
56
88
  * @param previewFeaturesEnabled A boolean indicating if preview features are enabled.
57
89
  * @returns The effective model name.
58
90
  */
59
- export function getEffectiveModel(isInFallbackMode, requestedModel, previewFeaturesEnabled) {
60
- const resolvedModel = resolveModel(requestedModel, previewFeaturesEnabled);
61
- // If we are not in fallback mode, simply use the resolved model.
62
- if (!isInFallbackMode) {
63
- return resolvedModel;
64
- }
65
- // If a "lite" model is requested, honor it. This allows for variations of
66
- // lite models without needing to list them all as constants.
67
- if (resolvedModel.includes('lite')) {
68
- return resolvedModel;
91
+ export function getEffectiveModel(requestedModel, previewFeaturesEnabled) {
92
+ return resolveModel(requestedModel, previewFeaturesEnabled);
93
+ }
94
+ export function getDisplayString(model, previewFeaturesEnabled = false) {
95
+ switch (model) {
96
+ case PREVIEW_GEMINI_MODEL_AUTO:
97
+ return 'Auto (Gemini 3)';
98
+ case DEFAULT_GEMINI_MODEL_AUTO:
99
+ return 'Auto (Gemini 2.5)';
100
+ case GEMINI_MODEL_ALIAS_PRO:
101
+ return `Manual (${previewFeaturesEnabled ? PREVIEW_GEMINI_MODEL : DEFAULT_GEMINI_MODEL})`;
102
+ case GEMINI_MODEL_ALIAS_FLASH:
103
+ return `Manual (${previewFeaturesEnabled
104
+ ? PREVIEW_GEMINI_FLASH_MODEL
105
+ : DEFAULT_GEMINI_FLASH_MODEL})`;
106
+ default:
107
+ return `Manual (${model})`;
69
108
  }
70
- // Default fallback for Cell CLI.
71
- return DEFAULT_GEMINI_FLASH_MODEL;
109
+ }
110
+ /**
111
+ * Checks if the model is a preview model.
112
+ *
113
+ * @param model The model name to check.
114
+ * @returns True if the model is a preview model.
115
+ */
116
+ export function isPreviewModel(model) {
117
+ return (model === PREVIEW_GEMINI_MODEL ||
118
+ model === PREVIEW_GEMINI_FLASH_MODEL ||
119
+ model === PREVIEW_GEMINI_MODEL_AUTO);
72
120
  }
73
121
  /**
74
122
  * Checks if the model is a Gemini 2.x model.
75
123
  *
76
124
  * @param model The model name to check.
77
- * @returns True if the model is a Gemini 2.x model.
125
+ * @returns True if the model is a Gemini-2.x model.
78
126
  */
79
127
  export function isGemini2Model(model) {
80
128
  return /^gemini-2(\.|$)/.test(model);
81
129
  }
130
+ /**
131
+ * Checks if the model supports multimodal function responses (multimodal data nested within function response).
132
+ * This is supported in Gemini 3.
133
+ *
134
+ * @param model The model name to check.
135
+ * @returns True if the model supports multimodal function responses.
136
+ */
137
+ export function supportsMultimodalFunctionResponse(model) {
138
+ return model.startsWith('gemini-3-');
139
+ }
82
140
  //# sourceMappingURL=models.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/config/models.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAC3D,MAAM,CAAC,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;AACrD,MAAM,CAAC,MAAM,0BAA0B,GAAG,kBAAkB,CAAC;AAC7D,MAAM,CAAC,MAAM,+BAA+B,GAAG,uBAAuB,CAAC;AAEvE,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAEhD,sCAAsC;AACtC,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAC5C,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAO,CAAC;AAChD,MAAM,CAAC,MAAM,6BAA6B,GAAG,YAAY,CAAC;AAE1D,MAAM,CAAC,MAAM,8BAA8B,GAAG,sBAAsB,CAAC;AAErE,+DAA+D;AAC/D,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAE1C;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC1B,cAAsB,EACtB,sBAA2C;IAE3C,QAAQ,cAAc,EAAE,CAAC;QACvB,KAAK,yBAAyB,CAAC;QAC/B,KAAK,sBAAsB,CAAC,CAAC,CAAC;YAC5B,OAAO,sBAAsB;gBAC3B,CAAC,CAAC,oBAAoB;gBACtB,CAAC,CAAC,oBAAoB,CAAC;QAC3B,CAAC;QACD,KAAK,wBAAwB,CAAC,CAAC,CAAC;YAC9B,OAAO,0BAA0B,CAAC;QACpC,CAAC;QACD,KAAK,6BAA6B,CAAC,CAAC,CAAC;YACnC,OAAO,+BAA+B,CAAC;QACzC,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,OAAO,cAAc,CAAC;QACxB,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,iBAAiB,CAC/B,gBAAyB,EACzB,cAAsB,EACtB,sBAA2C;IAE3C,MAAM,aAAa,GAAG,YAAY,CAAC,cAAc,EAAE,sBAAsB,CAAC,CAAC;IAE3E,iEAAiE;IACjE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,0EAA0E;IAC1E,6DAA6D;IAC7D,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,iCAAiC;IACjC,OAAO,0BAA0B,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/config/models.ts"],"names":[],"mappings":"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"}
@@ -4,113 +4,107 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { describe, it, expect } from 'vitest';
7
- import { getEffectiveModel, DEFAULT_GEMINI_MODEL, PREVIEW_GEMINI_MODEL, DEFAULT_GEMINI_FLASH_MODEL, DEFAULT_GEMINI_FLASH_LITE_MODEL, GEMINI_MODEL_ALIAS_PRO, GEMINI_MODEL_ALIAS_FLASH, GEMINI_MODEL_ALIAS_FLASH_LITE, } from './models.js';
7
+ import { getEffectiveModel, resolveClassifierModel, isGemini2Model, DEFAULT_GEMINI_MODEL, PREVIEW_GEMINI_MODEL, DEFAULT_GEMINI_FLASH_MODEL, DEFAULT_GEMINI_FLASH_LITE_MODEL, supportsMultimodalFunctionResponse, GEMINI_MODEL_ALIAS_PRO, GEMINI_MODEL_ALIAS_FLASH, GEMINI_MODEL_ALIAS_FLASH_LITE, PREVIEW_GEMINI_FLASH_MODEL, PREVIEW_GEMINI_MODEL_AUTO, DEFAULT_GEMINI_MODEL_AUTO, } from './models.js';
8
+ describe('supportsMultimodalFunctionResponse', () => {
9
+ it('should return true for gemini-3 model', () => {
10
+ expect(supportsMultimodalFunctionResponse('gemini-3-pro')).toBe(true);
11
+ });
12
+ it('should return false for gemini-2 models', () => {
13
+ expect(supportsMultimodalFunctionResponse('gemini-2.5-pro')).toBe(false);
14
+ expect(supportsMultimodalFunctionResponse('gemini-2.5-flash')).toBe(false);
15
+ });
16
+ it('should return false for other models', () => {
17
+ expect(supportsMultimodalFunctionResponse('some-other-model')).toBe(false);
18
+ expect(supportsMultimodalFunctionResponse('')).toBe(false);
19
+ });
20
+ });
8
21
  describe('getEffectiveModel', () => {
9
- describe('When NOT in fallback mode', () => {
10
- const isInFallbackMode = false;
11
- it('should return the Pro model when Pro is requested', () => {
12
- const model = getEffectiveModel(isInFallbackMode, DEFAULT_GEMINI_MODEL, false);
13
- expect(model).toBe(DEFAULT_GEMINI_MODEL);
22
+ describe('delegation to resolveModel', () => {
23
+ it('should return the Preview Pro model when auto-gemini-3 is requested', () => {
24
+ const model = getEffectiveModel(PREVIEW_GEMINI_MODEL_AUTO, false);
25
+ expect(model).toBe(PREVIEW_GEMINI_MODEL);
14
26
  });
15
- it('should return the Flash model when Flash is requested', () => {
16
- const model = getEffectiveModel(isInFallbackMode, DEFAULT_GEMINI_FLASH_MODEL, false);
17
- expect(model).toBe(DEFAULT_GEMINI_FLASH_MODEL);
27
+ it('should return the Default Pro model when auto-gemini-2.5 is requested', () => {
28
+ const model = getEffectiveModel(DEFAULT_GEMINI_MODEL_AUTO, false);
29
+ expect(model).toBe(DEFAULT_GEMINI_MODEL);
18
30
  });
19
- it('should return the Lite model when Lite is requested', () => {
20
- const model = getEffectiveModel(isInFallbackMode, DEFAULT_GEMINI_FLASH_LITE_MODEL, false);
21
- expect(model).toBe(DEFAULT_GEMINI_FLASH_LITE_MODEL);
31
+ it('should return the requested model as-is for explicit specific models', () => {
32
+ expect(getEffectiveModel(DEFAULT_GEMINI_MODEL, false)).toBe(DEFAULT_GEMINI_MODEL);
33
+ expect(getEffectiveModel(DEFAULT_GEMINI_FLASH_MODEL, false)).toBe(DEFAULT_GEMINI_FLASH_MODEL);
34
+ expect(getEffectiveModel(DEFAULT_GEMINI_FLASH_LITE_MODEL, false)).toBe(DEFAULT_GEMINI_FLASH_LITE_MODEL);
22
35
  });
23
36
  it('should return a custom model name when requested', () => {
24
37
  const customModel = 'custom-model-v1';
25
- const model = getEffectiveModel(isInFallbackMode, customModel, false);
38
+ const model = getEffectiveModel(customModel, false);
26
39
  expect(model).toBe(customModel);
27
40
  });
28
41
  describe('with preview features', () => {
29
42
  it('should return the preview model when pro alias is requested', () => {
30
- const model = getEffectiveModel(isInFallbackMode, GEMINI_MODEL_ALIAS_PRO, true);
43
+ const model = getEffectiveModel(GEMINI_MODEL_ALIAS_PRO, true);
31
44
  expect(model).toBe(PREVIEW_GEMINI_MODEL);
32
45
  });
33
46
  it('should return the default pro model when pro alias is requested and preview is off', () => {
34
- const model = getEffectiveModel(isInFallbackMode, GEMINI_MODEL_ALIAS_PRO, false);
47
+ const model = getEffectiveModel(GEMINI_MODEL_ALIAS_PRO, false);
35
48
  expect(model).toBe(DEFAULT_GEMINI_MODEL);
36
49
  });
37
50
  it('should return the flash model when flash is requested and preview is on', () => {
38
- const model = getEffectiveModel(isInFallbackMode, GEMINI_MODEL_ALIAS_FLASH, true);
39
- expect(model).toBe(DEFAULT_GEMINI_FLASH_MODEL);
51
+ const model = getEffectiveModel(GEMINI_MODEL_ALIAS_FLASH, true);
52
+ expect(model).toBe(PREVIEW_GEMINI_FLASH_MODEL);
40
53
  });
41
54
  it('should return the flash model when lite is requested and preview is on', () => {
42
- const model = getEffectiveModel(isInFallbackMode, GEMINI_MODEL_ALIAS_FLASH_LITE, true);
55
+ const model = getEffectiveModel(GEMINI_MODEL_ALIAS_FLASH_LITE, true);
43
56
  expect(model).toBe(DEFAULT_GEMINI_FLASH_LITE_MODEL);
44
57
  });
45
58
  it('should return the flash model when the flash model name is explicitly requested and preview is on', () => {
46
- const model = getEffectiveModel(isInFallbackMode, DEFAULT_GEMINI_FLASH_MODEL, true);
59
+ const model = getEffectiveModel(DEFAULT_GEMINI_FLASH_MODEL, true);
47
60
  expect(model).toBe(DEFAULT_GEMINI_FLASH_MODEL);
48
61
  });
49
62
  it('should return the lite model when the lite model name is requested and preview is on', () => {
50
- const model = getEffectiveModel(isInFallbackMode, DEFAULT_GEMINI_FLASH_LITE_MODEL, true);
63
+ const model = getEffectiveModel(DEFAULT_GEMINI_FLASH_LITE_MODEL, true);
51
64
  expect(model).toBe(DEFAULT_GEMINI_FLASH_LITE_MODEL);
52
65
  });
53
66
  it('should return the default gemini model when the model is explicitly set and preview is on', () => {
54
- const model = getEffectiveModel(isInFallbackMode, DEFAULT_GEMINI_MODEL, true);
67
+ const model = getEffectiveModel(DEFAULT_GEMINI_MODEL, true);
55
68
  expect(model).toBe(DEFAULT_GEMINI_MODEL);
56
69
  });
57
70
  });
58
71
  });
59
- describe('When IN fallback mode', () => {
60
- const isInFallbackMode = true;
61
- it('should downgrade the Pro model to the Flash model', () => {
62
- const model = getEffectiveModel(isInFallbackMode, DEFAULT_GEMINI_MODEL, false);
63
- expect(model).toBe(DEFAULT_GEMINI_FLASH_MODEL);
64
- });
65
- it('should return the Flash model when Flash is requested', () => {
66
- const model = getEffectiveModel(isInFallbackMode, DEFAULT_GEMINI_FLASH_MODEL, false);
67
- expect(model).toBe(DEFAULT_GEMINI_FLASH_MODEL);
68
- });
69
- it('should HONOR the Lite model when Lite is requested', () => {
70
- const model = getEffectiveModel(isInFallbackMode, DEFAULT_GEMINI_FLASH_LITE_MODEL, false);
71
- expect(model).toBe(DEFAULT_GEMINI_FLASH_LITE_MODEL);
72
- });
73
- it('should HONOR any model with "lite" in its name', () => {
74
- const customLiteModel = 'gemini-2.5-custom-lite-vNext';
75
- const model = getEffectiveModel(isInFallbackMode, customLiteModel, false);
76
- expect(model).toBe(customLiteModel);
77
- });
78
- it('should downgrade any other custom model to the Flash model', () => {
79
- const customModel = 'custom-model-v1-unlisted';
80
- const model = getEffectiveModel(isInFallbackMode, customModel, false);
81
- expect(model).toBe(DEFAULT_GEMINI_FLASH_MODEL);
82
- });
83
- describe('with preview features', () => {
84
- it('should downgrade the Pro alias to the Flash model', () => {
85
- const model = getEffectiveModel(isInFallbackMode, GEMINI_MODEL_ALIAS_PRO, true);
86
- expect(model).toBe(DEFAULT_GEMINI_FLASH_MODEL);
87
- });
88
- it('should return the Flash alias when requested', () => {
89
- const model = getEffectiveModel(isInFallbackMode, GEMINI_MODEL_ALIAS_FLASH, true);
90
- expect(model).toBe(DEFAULT_GEMINI_FLASH_MODEL);
91
- });
92
- it('should return the Lite alias when requested', () => {
93
- const model = getEffectiveModel(isInFallbackMode, GEMINI_MODEL_ALIAS_FLASH_LITE, true);
94
- expect(model).toBe(DEFAULT_GEMINI_FLASH_LITE_MODEL);
95
- });
96
- it('should downgrade the default Gemini model to the Flash model', () => {
97
- const model = getEffectiveModel(isInFallbackMode, DEFAULT_GEMINI_MODEL, true);
98
- expect(model).toBe(DEFAULT_GEMINI_FLASH_MODEL);
99
- });
100
- it('should return the default Flash model when requested', () => {
101
- const model = getEffectiveModel(isInFallbackMode, DEFAULT_GEMINI_FLASH_MODEL, true);
102
- expect(model).toBe(DEFAULT_GEMINI_FLASH_MODEL);
103
- });
104
- it('should return the default Lite model when requested', () => {
105
- const model = getEffectiveModel(isInFallbackMode, DEFAULT_GEMINI_FLASH_LITE_MODEL, true);
106
- expect(model).toBe(DEFAULT_GEMINI_FLASH_LITE_MODEL);
107
- });
108
- it('should downgrade any other custom model to the Flash model', () => {
109
- const customModel = 'custom-model-v1-unlisted';
110
- const model = getEffectiveModel(isInFallbackMode, customModel, true);
111
- expect(model).toBe(DEFAULT_GEMINI_FLASH_MODEL);
112
- });
113
- });
72
+ });
73
+ describe('isGemini2Model', () => {
74
+ it('should return true for gemini-2.5-pro', () => {
75
+ expect(isGemini2Model('gemini-2.5-pro')).toBe(true);
76
+ });
77
+ it('should return true for gemini-2.5-flash', () => {
78
+ expect(isGemini2Model('gemini-2.5-flash')).toBe(true);
79
+ });
80
+ it('should return true for gemini-2.0-flash', () => {
81
+ expect(isGemini2Model('gemini-2.0-flash')).toBe(true);
82
+ });
83
+ it('should return false for gemini-1.5-pro', () => {
84
+ expect(isGemini2Model('gemini-1.5-pro')).toBe(false);
85
+ });
86
+ it('should return false for gemini-3-pro', () => {
87
+ expect(isGemini2Model('gemini-3-pro')).toBe(false);
88
+ });
89
+ it('should return false for arbitrary strings', () => {
90
+ expect(isGemini2Model('gpt-4')).toBe(false);
91
+ });
92
+ });
93
+ describe('resolveClassifierModel', () => {
94
+ it('should return flash model when alias is flash', () => {
95
+ expect(resolveClassifierModel(DEFAULT_GEMINI_MODEL_AUTO, GEMINI_MODEL_ALIAS_FLASH)).toBe(DEFAULT_GEMINI_FLASH_MODEL);
96
+ expect(resolveClassifierModel(PREVIEW_GEMINI_MODEL_AUTO, GEMINI_MODEL_ALIAS_FLASH)).toBe(PREVIEW_GEMINI_FLASH_MODEL);
97
+ });
98
+ it('should return pro model when alias is pro', () => {
99
+ expect(resolveClassifierModel(DEFAULT_GEMINI_MODEL_AUTO, GEMINI_MODEL_ALIAS_PRO)).toBe(DEFAULT_GEMINI_MODEL);
100
+ expect(resolveClassifierModel(PREVIEW_GEMINI_MODEL_AUTO, GEMINI_MODEL_ALIAS_PRO)).toBe(PREVIEW_GEMINI_MODEL);
101
+ });
102
+ it('should handle preview features being enabled', () => {
103
+ // If preview is enabled, resolving 'flash' without context (fallback) might switch to preview flash,
104
+ // but here we test explicit auto models which should stick to their families if possible?
105
+ // Actually our logic forces DEFAULT_GEMINI_FLASH_MODEL for DEFAULT_GEMINI_MODEL_AUTO even if preview is on,
106
+ // because the USER requested 2.5 explicitly via "auto-gemini-2.5".
107
+ expect(resolveClassifierModel(DEFAULT_GEMINI_MODEL_AUTO, GEMINI_MODEL_ALIAS_FLASH, true)).toBe(DEFAULT_GEMINI_FLASH_MODEL);
114
108
  });
115
109
  });
116
110
  //# sourceMappingURL=models.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"models.test.js","sourceRoot":"","sources":["../../../src/config/models.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.test.js","sourceRoot":"","sources":["../../../src/config/models.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,+BAA+B,EAC/B,kCAAkC,EAClC,sBAAsB,EACtB,wBAAwB,EACxB,6BAA6B,EAC7B,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AAErB,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,kCAAkC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,kCAAkC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzE,MAAM,CAAC,kCAAkC,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,kCAAkC,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3E,MAAM,CAAC,kCAAkC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;YAC7E,MAAM,KAAK,GAAG,iBAAiB,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YAClE,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;YAC/E,MAAM,KAAK,GAAG,iBAAiB,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YAClE,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;YAC9E,MAAM,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CACzD,oBAAoB,CACrB,CAAC;YACF,MAAM,CAAC,iBAAiB,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAC/D,0BAA0B,CAC3B,CAAC;YACF,MAAM,CAAC,iBAAiB,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CACpE,+BAA+B,CAChC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,MAAM,WAAW,GAAG,iBAAiB,CAAC;YACtC,MAAM,KAAK,GAAG,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YACpD,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;YACrC,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;gBACrE,MAAM,KAAK,GAAG,iBAAiB,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;gBAC9D,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,oFAAoF,EAAE,GAAG,EAAE;gBAC5F,MAAM,KAAK,GAAG,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;gBAC/D,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;gBACjF,MAAM,KAAK,GAAG,iBAAiB,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;gBAChE,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE;gBAChF,MAAM,KAAK,GAAG,iBAAiB,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC;gBACrE,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,mGAAmG,EAAE,GAAG,EAAE;gBAC3G,MAAM,KAAK,GAAG,iBAAiB,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;gBAClE,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,sFAAsF,EAAE,GAAG,EAAE;gBAC9F,MAAM,KAAK,GAAG,iBAAiB,CAAC,+BAA+B,EAAE,IAAI,CAAC,CAAC;gBACvE,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,2FAA2F,EAAE,GAAG,EAAE;gBACnG,MAAM,KAAK,GAAG,iBAAiB,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;gBAC5D,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,CACJ,sBAAsB,CACpB,yBAAyB,EACzB,wBAAwB,CACzB,CACF,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACnC,MAAM,CACJ,sBAAsB,CACpB,yBAAyB,EACzB,wBAAwB,CACzB,CACF,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,CACJ,sBAAsB,CAAC,yBAAyB,EAAE,sBAAsB,CAAC,CAC1E,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC7B,MAAM,CACJ,sBAAsB,CAAC,yBAAyB,EAAE,sBAAsB,CAAC,CAC1E,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,qGAAqG;QACrG,0FAA0F;QAC1F,4GAA4G;QAC5G,mEAAmE;QACnE,MAAM,CACJ,sBAAsB,CACpB,yBAAyB,EACzB,wBAAwB,EACxB,IAAI,CACL,CACF,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -141,6 +141,7 @@ export class MessageBus extends EventEmitter {
141
141
  // Subscribe to responses
142
142
  this.subscribe(responseType, responseHandler);
143
143
  // Publish the request with correlation ID
144
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
144
145
  this.publish({ ...request, correlationId });
145
146
  });
146
147
  }
@@ -1 +1 @@
1
- {"version":3,"file":"message-bus.js","sourceRoot":"","sources":["../../../src/confirmation-bus/message-bus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-bus.js","sourceRoot":"","sources":["../../../src/confirmation-bus/message-bus.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,10 @@ export interface ToolConfirmationResponse {
34
34
  export interface UpdatePolicy {
35
35
  type: MessageBusType.UPDATE_POLICY;
36
36
  toolName: string;
37
+ persist?: boolean;
38
+ argsPattern?: string;
39
+ commandPrefix?: string | string[];
40
+ mcpName?: string;
37
41
  }
38
42
  export interface ToolPolicyRejection {
39
43
  type: MessageBusType.TOOL_POLICY_REJECTION;
@@ -6,6 +6,7 @@
6
6
  import type { Content, Part, GenerateContentResponse } from '@google/genai';
7
7
  import type { Config } from '../config/config.js';
8
8
  import type { ContentGenerator } from './contentGenerator.js';
9
+ import type { AuthType } from './contentGenerator.js';
9
10
  import type { ModelConfigKey } from '../services/modelConfigService.js';
10
11
  /**
11
12
  * Options for the generateJson utility function.
@@ -63,7 +64,8 @@ export interface GenerateContentOptions {
63
64
  export declare class BaseLlmClient {
64
65
  private readonly contentGenerator;
65
66
  private readonly config;
66
- constructor(contentGenerator: ContentGenerator, config: Config);
67
+ private readonly authType?;
68
+ constructor(contentGenerator: ContentGenerator, config: Config, authType?: AuthType | undefined);
67
69
  generateJson(options: GenerateJsonOptions): Promise<Record<string, unknown>>;
68
70
  generateEmbedding(texts: string[]): Promise<number[][]>;
69
71
  private cleanJsonResponse;
@@ -3,12 +3,14 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { handleFallback } from '../fallback/handler.js';
6
7
  import { getResponseText } from '../utils/partUtils.js';
7
8
  import { reportError } from '../utils/errorReporting.js';
8
9
  import { getErrorMessage } from '../utils/errors.js';
9
10
  import { logMalformedJsonResponse } from '../telemetry/loggers.js';
10
11
  import { MalformedJsonResponseEvent } from '../telemetry/types.js';
11
12
  import { retryWithBackoff } from '../utils/retry.js';
13
+ import { applyModelSelection, createAvailabilityContextProvider, } from '../availability/policyHelpers.js';
12
14
  const DEFAULT_MAX_ATTEMPTS = 5;
13
15
  /**
14
16
  * A client dedicated to stateless, utility-focused LLM calls.
@@ -16,9 +18,11 @@ const DEFAULT_MAX_ATTEMPTS = 5;
16
18
  export class BaseLlmClient {
17
19
  contentGenerator;
18
20
  config;
19
- constructor(contentGenerator, config) {
21
+ authType;
22
+ constructor(contentGenerator, config, authType) {
20
23
  this.contentGenerator = contentGenerator;
21
24
  this.config = config;
25
+ this.authType = authType;
22
26
  }
23
27
  async generateJson(options) {
24
28
  const { schema, modelConfigKey, contents, systemInstruction, abortSignal, promptId, maxAttempts, } = options;
@@ -103,11 +107,44 @@ export class BaseLlmClient {
103
107
  }
104
108
  async _generateWithRetry(requestParams, promptId, maxAttempts, shouldRetryOnContent, errorContext) {
105
109
  const abortSignal = requestParams.config?.abortSignal;
110
+ // Define callback to fetch context dynamically since active model may get updated during retry loop
111
+ const getAvailabilityContext = createAvailabilityContextProvider(this.config, () => requestParams.model);
112
+ const { model, config: newConfig, maxAttempts: availabilityMaxAttempts, } = applyModelSelection(this.config, requestParams.model, requestParams.config);
113
+ requestParams.model = model;
114
+ if (newConfig) {
115
+ requestParams.config = newConfig;
116
+ }
117
+ if (abortSignal) {
118
+ requestParams.config = { ...requestParams.config, abortSignal };
119
+ }
106
120
  try {
107
- const apiCall = () => this.contentGenerator.generateContent(requestParams, promptId);
121
+ const apiCall = () => {
122
+ // If availability is enabled, ensure we use the current active model
123
+ // in case a fallback occurred in a previous attempt.
124
+ if (this.config.isModelAvailabilityServiceEnabled()) {
125
+ const activeModel = this.config.getActiveModel();
126
+ if (activeModel !== requestParams.model) {
127
+ requestParams.model = activeModel;
128
+ // Re-resolve config if model changed during retry
129
+ const { generateContentConfig } = this.config.modelConfigService.getResolvedConfig({
130
+ model: activeModel,
131
+ });
132
+ requestParams.config = {
133
+ ...requestParams.config,
134
+ ...generateContentConfig,
135
+ };
136
+ }
137
+ }
138
+ return this.contentGenerator.generateContent(requestParams, promptId);
139
+ };
108
140
  return await retryWithBackoff(apiCall, {
109
141
  shouldRetryOnContent,
110
- maxAttempts: maxAttempts ?? DEFAULT_MAX_ATTEMPTS,
142
+ maxAttempts: availabilityMaxAttempts ?? maxAttempts ?? DEFAULT_MAX_ATTEMPTS,
143
+ getAvailabilityContext,
144
+ onPersistent429: this.config.isInteractive()
145
+ ? (authType, error) => handleFallback(this.config, requestParams.model, authType, error)
146
+ : undefined,
147
+ authType: this.authType ?? this.config.getContentGeneratorConfig()?.authType,
111
148
  });
112
149
  }
113
150
  catch (error) {