@machina.ai/cell-cli-core 1.13.0-rc5 → 1.16.0-rc2

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 (424) hide show
  1. package/dist/index.d.ts +2 -1
  2. package/dist/index.js +2 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/package.json +1 -1
  5. package/dist/src/agents/codebase-investigator.test.d.ts +6 -0
  6. package/dist/src/agents/codebase-investigator.test.js +35 -0
  7. package/dist/src/agents/codebase-investigator.test.js.map +1 -0
  8. package/dist/src/agents/executor.d.ts +3 -0
  9. package/dist/src/agents/executor.js +21 -0
  10. package/dist/src/agents/executor.js.map +1 -1
  11. package/dist/src/agents/executor.test.js +358 -3
  12. package/dist/src/agents/executor.test.js.map +1 -1
  13. package/dist/src/code_assist/codeAssist.test.d.ts +6 -0
  14. package/dist/src/code_assist/codeAssist.test.js +99 -0
  15. package/dist/src/code_assist/codeAssist.test.js.map +1 -0
  16. package/dist/src/code_assist/experiments/client_metadata.js +2 -1
  17. package/dist/src/code_assist/experiments/client_metadata.js.map +1 -1
  18. package/dist/src/code_assist/experiments/client_metadata.test.d.ts +6 -0
  19. package/dist/src/code_assist/experiments/client_metadata.test.js +99 -0
  20. package/dist/src/code_assist/experiments/client_metadata.test.js.map +1 -0
  21. package/dist/src/code_assist/experiments/experiments.js +2 -2
  22. package/dist/src/code_assist/experiments/experiments.js.map +1 -1
  23. package/dist/src/code_assist/experiments/experiments.test.d.ts +6 -0
  24. package/dist/src/code_assist/experiments/experiments.test.js +92 -0
  25. package/dist/src/code_assist/experiments/experiments.test.js.map +1 -0
  26. package/dist/src/code_assist/experiments/flagNames.d.ts +13 -0
  27. package/dist/src/code_assist/experiments/flagNames.js +13 -0
  28. package/dist/src/code_assist/experiments/flagNames.js.map +1 -0
  29. package/dist/src/code_assist/experiments/types.d.ts +1 -1
  30. package/dist/src/code_assist/oauth-credential-storage.test.js +49 -0
  31. package/dist/src/code_assist/oauth-credential-storage.test.js.map +1 -1
  32. package/dist/src/code_assist/server.js +5 -8
  33. package/dist/src/code_assist/server.js.map +1 -1
  34. package/dist/src/code_assist/server.test.js +109 -28
  35. package/dist/src/code_assist/server.test.js.map +1 -1
  36. package/dist/src/config/config.d.ts +34 -2
  37. package/dist/src/config/config.js +147 -26
  38. package/dist/src/config/config.js.map +1 -1
  39. package/dist/src/config/config.test.js +436 -19
  40. package/dist/src/config/config.test.js.map +1 -1
  41. package/dist/src/config/defaultModelConfigs.d.ts +7 -0
  42. package/dist/src/config/defaultModelConfigs.js +158 -0
  43. package/dist/src/config/defaultModelConfigs.js.map +1 -0
  44. package/dist/src/config/models.d.ts +22 -1
  45. package/dist/src/config/models.js +49 -6
  46. package/dist/src/config/models.js.map +1 -1
  47. package/dist/src/config/models.test.js +71 -10
  48. package/dist/src/config/models.test.js.map +1 -1
  49. package/dist/src/confirmation-bus/message-bus.d.ts +1 -1
  50. package/dist/src/confirmation-bus/message-bus.js +2 -2
  51. package/dist/src/confirmation-bus/message-bus.js.map +1 -1
  52. package/dist/src/confirmation-bus/message-bus.test.js +30 -24
  53. package/dist/src/confirmation-bus/message-bus.test.js.map +1 -1
  54. package/dist/src/confirmation-bus/types.d.ts +1 -0
  55. package/dist/src/core/baseLlmClient.d.ts +4 -8
  56. package/dist/src/core/baseLlmClient.js +3 -8
  57. package/dist/src/core/baseLlmClient.js.map +1 -1
  58. package/dist/src/core/baseLlmClient.test.js +22 -27
  59. package/dist/src/core/baseLlmClient.test.js.map +1 -1
  60. package/dist/src/core/client.d.ts +6 -5
  61. package/dist/src/core/client.js +33 -33
  62. package/dist/src/core/client.js.map +1 -1
  63. package/dist/src/core/client.test.js +40 -22
  64. package/dist/src/core/client.test.js.map +1 -1
  65. package/dist/src/core/coreToolScheduler.js +7 -1
  66. package/dist/src/core/coreToolScheduler.js.map +1 -1
  67. package/dist/src/core/coreToolScheduler.test.js +151 -357
  68. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  69. package/dist/src/core/geminiChat.d.ts +6 -4
  70. package/dist/src/core/geminiChat.js +106 -29
  71. package/dist/src/core/geminiChat.js.map +1 -1
  72. package/dist/src/core/geminiChat.test.js +317 -16
  73. package/dist/src/core/geminiChat.test.js.map +1 -1
  74. package/dist/src/core/logger.d.ts +7 -2
  75. package/dist/src/core/logger.js +15 -9
  76. package/dist/src/core/logger.js.map +1 -1
  77. package/dist/src/core/logger.test.js +31 -16
  78. package/dist/src/core/logger.test.js.map +1 -1
  79. package/dist/src/core/loggingContentGenerator.test.d.ts +6 -0
  80. package/dist/src/core/loggingContentGenerator.test.js +180 -0
  81. package/dist/src/core/loggingContentGenerator.test.js.map +1 -0
  82. package/dist/src/core/nonInteractiveToolExecutor.test.js +1 -0
  83. package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
  84. package/dist/src/core/prompts.js +8 -11
  85. package/dist/src/core/prompts.js.map +1 -1
  86. package/dist/src/core/tokenLimits.test.d.ts +6 -0
  87. package/dist/src/core/tokenLimits.test.js +26 -0
  88. package/dist/src/core/tokenLimits.test.js.map +1 -0
  89. package/dist/src/fallback/handler.js +52 -7
  90. package/dist/src/fallback/handler.js.map +1 -1
  91. package/dist/src/fallback/handler.test.js +69 -16
  92. package/dist/src/fallback/handler.test.js.map +1 -1
  93. package/dist/src/fallback/types.d.ts +1 -1
  94. package/dist/src/generated/git-commit.d.ts +2 -2
  95. package/dist/src/generated/git-commit.js +2 -2
  96. package/dist/src/hooks/hookAggregator.d.ts +68 -0
  97. package/dist/src/hooks/hookAggregator.js +262 -0
  98. package/dist/src/hooks/hookAggregator.js.map +1 -0
  99. package/dist/src/hooks/hookAggregator.test.d.ts +6 -0
  100. package/dist/src/hooks/hookAggregator.test.js +387 -0
  101. package/dist/src/hooks/hookAggregator.test.js.map +1 -0
  102. package/dist/src/hooks/hookRunner.d.ts +42 -0
  103. package/dist/src/hooks/hookRunner.js +272 -0
  104. package/dist/src/hooks/hookRunner.js.map +1 -0
  105. package/dist/src/hooks/hookRunner.test.d.ts +6 -0
  106. package/dist/src/hooks/hookRunner.test.js +468 -0
  107. package/dist/src/hooks/hookRunner.test.js.map +1 -0
  108. package/dist/src/hooks/hookTranslator.d.ts +3 -3
  109. package/dist/src/hooks/types.js +1 -1
  110. package/dist/src/hooks/types.js.map +1 -1
  111. package/dist/src/hooks/types.test.js +280 -2
  112. package/dist/src/hooks/types.test.js.map +1 -1
  113. package/dist/src/ide/detect-ide.d.ts +4 -0
  114. package/dist/src/ide/detect-ide.js +6 -1
  115. package/dist/src/ide/detect-ide.js.map +1 -1
  116. package/dist/src/ide/detect-ide.test.js +5 -0
  117. package/dist/src/ide/detect-ide.test.js.map +1 -1
  118. package/dist/src/ide/ide-client.d.ts +3 -1
  119. package/dist/src/ide/ide-client.js +66 -59
  120. package/dist/src/ide/ide-client.js.map +1 -1
  121. package/dist/src/ide/ide-client.test.js +159 -0
  122. package/dist/src/ide/ide-client.test.js.map +1 -1
  123. package/dist/src/ide/ide-installer.js +71 -21
  124. package/dist/src/ide/ide-installer.js.map +1 -1
  125. package/dist/src/ide/ide-installer.test.js +42 -1
  126. package/dist/src/ide/ide-installer.test.js.map +1 -1
  127. package/dist/src/ide/process-utils.js +16 -0
  128. package/dist/src/ide/process-utils.js.map +1 -1
  129. package/dist/src/ide/process-utils.test.js +3 -3
  130. package/dist/src/ide/process-utils.test.js.map +1 -1
  131. package/dist/src/ide/types.d.ts +1 -1
  132. package/dist/src/ide/types.js +1 -1
  133. package/dist/src/index.d.ts +2 -0
  134. package/dist/src/index.js +2 -0
  135. package/dist/src/index.js.map +1 -1
  136. package/dist/src/mcp/google-auth-provider.js +1 -1
  137. package/dist/src/mcp/google-auth-provider.js.map +1 -1
  138. package/dist/src/mcp/oauth-provider.js +2 -2
  139. package/dist/src/mcp/oauth-provider.js.map +1 -1
  140. package/dist/src/mcp/oauth-provider.test.js +177 -0
  141. package/dist/src/mcp/oauth-provider.test.js.map +1 -1
  142. package/dist/src/mcp/sa-impersonation-provider.js +1 -1
  143. package/dist/src/mcp/sa-impersonation-provider.js.map +1 -1
  144. package/dist/src/policy/config.js +3 -1
  145. package/dist/src/policy/config.js.map +1 -1
  146. package/dist/src/policy/config.test.js +135 -1
  147. package/dist/src/policy/config.test.js.map +1 -1
  148. package/dist/src/policy/policies/discovered.toml +8 -0
  149. package/dist/src/policy/policies/write.toml +10 -0
  150. package/dist/src/policy/policy-engine.d.ts +12 -3
  151. package/dist/src/policy/policy-engine.js +71 -9
  152. package/dist/src/policy/policy-engine.js.map +1 -1
  153. package/dist/src/policy/policy-engine.test.js +460 -76
  154. package/dist/src/policy/policy-engine.test.js.map +1 -1
  155. package/dist/src/policy/toml-loader.d.ts +2 -1
  156. package/dist/src/policy/toml-loader.js +103 -6
  157. package/dist/src/policy/toml-loader.js.map +1 -1
  158. package/dist/src/policy/toml-loader.test.js +222 -368
  159. package/dist/src/policy/toml-loader.test.js.map +1 -1
  160. package/dist/src/policy/types.d.ts +65 -0
  161. package/dist/src/policy/types.js +4 -0
  162. package/dist/src/policy/types.js.map +1 -1
  163. package/dist/src/prompts/mcp-prompts.test.d.ts +6 -0
  164. package/dist/src/prompts/mcp-prompts.test.js +40 -0
  165. package/dist/src/prompts/mcp-prompts.test.js.map +1 -0
  166. package/dist/src/prompts/prompt-registry.test.d.ts +6 -0
  167. package/dist/src/prompts/prompt-registry.test.js +111 -0
  168. package/dist/src/prompts/prompt-registry.test.js.map +1 -0
  169. package/dist/src/routing/modelRouterService.js +15 -0
  170. package/dist/src/routing/modelRouterService.js.map +1 -1
  171. package/dist/src/routing/modelRouterService.test.js +62 -0
  172. package/dist/src/routing/modelRouterService.test.js.map +1 -1
  173. package/dist/src/routing/strategies/classifierStrategy.d.ts +1 -1
  174. package/dist/src/routing/strategies/classifierStrategy.js +6 -14
  175. package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
  176. package/dist/src/routing/strategies/classifierStrategy.test.js +13 -10
  177. package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
  178. package/dist/src/routing/strategies/fallbackStrategy.js +1 -1
  179. package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -1
  180. package/dist/src/routing/strategies/fallbackStrategy.test.js +4 -0
  181. package/dist/src/routing/strategies/fallbackStrategy.test.js.map +1 -1
  182. package/dist/src/routing/strategies/overrideStrategy.js +2 -2
  183. package/dist/src/routing/strategies/overrideStrategy.js.map +1 -1
  184. package/dist/src/routing/strategies/overrideStrategy.test.js +3 -0
  185. package/dist/src/routing/strategies/overrideStrategy.test.js.map +1 -1
  186. package/dist/src/safety/built-in.d.ts +21 -0
  187. package/dist/src/safety/built-in.js +106 -0
  188. package/dist/src/safety/built-in.js.map +1 -0
  189. package/dist/src/safety/built-in.test.d.ts +6 -0
  190. package/dist/src/safety/built-in.test.js +199 -0
  191. package/dist/src/safety/built-in.test.js.map +1 -0
  192. package/dist/src/safety/checker-runner.d.ts +48 -0
  193. package/dist/src/safety/checker-runner.js +208 -0
  194. package/dist/src/safety/checker-runner.js.map +1 -0
  195. package/dist/src/safety/checker-runner.test.d.ts +6 -0
  196. package/dist/src/safety/checker-runner.test.js +238 -0
  197. package/dist/src/safety/checker-runner.test.js.map +1 -0
  198. package/dist/src/safety/context-builder.d.ts +23 -0
  199. package/dist/src/safety/context-builder.js +47 -0
  200. package/dist/src/safety/context-builder.js.map +1 -0
  201. package/dist/src/safety/context-builder.test.d.ts +6 -0
  202. package/dist/src/safety/context-builder.test.js +49 -0
  203. package/dist/src/safety/context-builder.test.js.map +1 -0
  204. package/dist/src/safety/protocol.d.ts +88 -0
  205. package/dist/src/safety/protocol.js +15 -0
  206. package/dist/src/safety/protocol.js.map +1 -0
  207. package/dist/src/safety/registry.d.ts +26 -0
  208. package/dist/src/safety/registry.js +65 -0
  209. package/dist/src/safety/registry.js.map +1 -0
  210. package/dist/src/safety/registry.test.d.ts +6 -0
  211. package/dist/src/safety/registry.test.js +31 -0
  212. package/dist/src/safety/registry.test.js.map +1 -0
  213. package/dist/src/services/chatCompressionService.test.js +1 -0
  214. package/dist/src/services/chatCompressionService.test.js.map +1 -1
  215. package/dist/src/services/gitService.js +1 -1
  216. package/dist/src/services/gitService.js.map +1 -1
  217. package/dist/src/services/gitService.test.js +1 -1
  218. package/dist/src/services/gitService.test.js.map +1 -1
  219. package/dist/src/services/loopDetectionService.d.ts +3 -0
  220. package/dist/src/services/loopDetectionService.js +81 -42
  221. package/dist/src/services/loopDetectionService.js.map +1 -1
  222. package/dist/src/services/loopDetectionService.test.js +101 -1
  223. package/dist/src/services/loopDetectionService.test.js.map +1 -1
  224. package/dist/src/services/modelConfig.golden.test.d.ts +6 -0
  225. package/dist/src/services/modelConfig.golden.test.js +42 -0
  226. package/dist/src/services/modelConfig.golden.test.js.map +1 -0
  227. package/dist/src/services/modelConfig.integration.test.d.ts +6 -0
  228. package/dist/src/services/modelConfig.integration.test.js +213 -0
  229. package/dist/src/services/modelConfig.integration.test.js.map +1 -0
  230. package/dist/src/services/modelConfigService.d.ts +46 -0
  231. package/dist/src/services/modelConfigService.js +146 -0
  232. package/dist/src/services/modelConfigService.js.map +1 -0
  233. package/dist/src/services/modelConfigService.test.d.ts +6 -0
  234. package/dist/src/services/modelConfigService.test.js +509 -0
  235. package/dist/src/services/modelConfigService.test.js.map +1 -0
  236. package/dist/src/services/test-data/resolved-aliases.golden.json +169 -0
  237. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +11 -9
  238. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +174 -150
  239. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  240. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.d.ts +1 -0
  241. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +76 -20
  242. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  243. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +6 -1
  244. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +18 -5
  245. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  246. package/dist/src/telemetry/index.d.ts +2 -2
  247. package/dist/src/telemetry/index.js +2 -2
  248. package/dist/src/telemetry/index.js.map +1 -1
  249. package/dist/src/telemetry/loggers.d.ts +7 -7
  250. package/dist/src/telemetry/loggers.js +23 -23
  251. package/dist/src/telemetry/loggers.js.map +1 -1
  252. package/dist/src/telemetry/loggers.test.circular.js +0 -1
  253. package/dist/src/telemetry/loggers.test.circular.js.map +1 -1
  254. package/dist/src/telemetry/loggers.test.js +72 -18
  255. package/dist/src/telemetry/loggers.test.js.map +1 -1
  256. package/dist/src/telemetry/metrics.d.ts +8 -4
  257. package/dist/src/telemetry/metrics.js +10 -4
  258. package/dist/src/telemetry/metrics.js.map +1 -1
  259. package/dist/src/telemetry/metrics.test.js +42 -0
  260. package/dist/src/telemetry/metrics.test.js.map +1 -1
  261. package/dist/src/telemetry/telemetryAttributes.js +1 -0
  262. package/dist/src/telemetry/telemetryAttributes.js.map +1 -1
  263. package/dist/src/telemetry/types.d.ts +17 -11
  264. package/dist/src/telemetry/types.js +53 -28
  265. package/dist/src/telemetry/types.js.map +1 -1
  266. package/dist/src/tools/base-tool-invocation.test.d.ts +6 -0
  267. package/dist/src/tools/base-tool-invocation.test.js +85 -0
  268. package/dist/src/tools/base-tool-invocation.test.js.map +1 -0
  269. package/dist/src/tools/edit.d.ts +1 -1
  270. package/dist/src/tools/edit.js +31 -33
  271. package/dist/src/tools/edit.js.map +1 -1
  272. package/dist/src/tools/edit.test.js +31 -20
  273. package/dist/src/tools/edit.test.js.map +1 -1
  274. package/dist/src/tools/glob.d.ts +1 -1
  275. package/dist/src/tools/glob.js +7 -7
  276. package/dist/src/tools/glob.js.map +1 -1
  277. package/dist/src/tools/glob.test.js +20 -17
  278. package/dist/src/tools/glob.test.js.map +1 -1
  279. package/dist/src/tools/grep.d.ts +1 -1
  280. package/dist/src/tools/grep.js +9 -9
  281. package/dist/src/tools/grep.js.map +1 -1
  282. package/dist/src/tools/grep.test.js +15 -12
  283. package/dist/src/tools/grep.test.js.map +1 -1
  284. package/dist/src/tools/ls.d.ts +1 -1
  285. package/dist/src/tools/ls.js +14 -15
  286. package/dist/src/tools/ls.js.map +1 -1
  287. package/dist/src/tools/ls.test.js +32 -33
  288. package/dist/src/tools/ls.test.js.map +1 -1
  289. package/dist/src/tools/mcp-client.js +24 -52
  290. package/dist/src/tools/mcp-client.js.map +1 -1
  291. package/dist/src/tools/mcp-client.test.js +18 -0
  292. package/dist/src/tools/mcp-client.test.js.map +1 -1
  293. package/dist/src/tools/mcp-tool.d.ts +1 -0
  294. package/dist/src/tools/mcp-tool.js +5 -2
  295. package/dist/src/tools/mcp-tool.js.map +1 -1
  296. package/dist/src/tools/memoryTool.js +1 -1
  297. package/dist/src/tools/memoryTool.js.map +1 -1
  298. package/dist/src/tools/memoryTool.test.js +1 -1
  299. package/dist/src/tools/memoryTool.test.js.map +1 -1
  300. package/dist/src/tools/modifiable-tool.d.ts +5 -1
  301. package/dist/src/tools/modifiable-tool.js +34 -13
  302. package/dist/src/tools/modifiable-tool.js.map +1 -1
  303. package/dist/src/tools/modifiable-tool.test.js +56 -22
  304. package/dist/src/tools/modifiable-tool.test.js.map +1 -1
  305. package/dist/src/tools/read-file.d.ts +2 -2
  306. package/dist/src/tools/read-file.js +20 -24
  307. package/dist/src/tools/read-file.js.map +1 -1
  308. package/dist/src/tools/read-file.test.js +63 -51
  309. package/dist/src/tools/read-file.test.js.map +1 -1
  310. package/dist/src/tools/read-many-files.d.ts +2 -9
  311. package/dist/src/tools/read-many-files.js +10 -21
  312. package/dist/src/tools/read-many-files.js.map +1 -1
  313. package/dist/src/tools/read-many-files.test.js +37 -35
  314. package/dist/src/tools/read-many-files.test.js.map +1 -1
  315. package/dist/src/tools/ripGrep.d.ts +25 -8
  316. package/dist/src/tools/ripGrep.js +148 -176
  317. package/dist/src/tools/ripGrep.js.map +1 -1
  318. package/dist/src/tools/ripGrep.test.js +383 -58
  319. package/dist/src/tools/ripGrep.test.js.map +1 -1
  320. package/dist/src/tools/shell.d.ts +1 -1
  321. package/dist/src/tools/shell.js +17 -15
  322. package/dist/src/tools/shell.js.map +1 -1
  323. package/dist/src/tools/shell.test.js +66 -36
  324. package/dist/src/tools/shell.test.js.map +1 -1
  325. package/dist/src/tools/smart-edit.d.ts +6 -1
  326. package/dist/src/tools/smart-edit.js +18 -17
  327. package/dist/src/tools/smart-edit.js.map +1 -1
  328. package/dist/src/tools/smart-edit.test.js +49 -24
  329. package/dist/src/tools/smart-edit.test.js.map +1 -1
  330. package/dist/src/tools/tool-registry.d.ts +29 -4
  331. package/dist/src/tools/tool-registry.js +108 -29
  332. package/dist/src/tools/tool-registry.js.map +1 -1
  333. package/dist/src/tools/tool-registry.test.js +134 -4
  334. package/dist/src/tools/tool-registry.test.js.map +1 -1
  335. package/dist/src/tools/tools.d.ts +2 -1
  336. package/dist/src/tools/tools.js +5 -2
  337. package/dist/src/tools/tools.js.map +1 -1
  338. package/dist/src/tools/web-fetch.js +2 -4
  339. package/dist/src/tools/web-fetch.js.map +1 -1
  340. package/dist/src/tools/web-fetch.test.js +11 -4
  341. package/dist/src/tools/web-fetch.test.js.map +1 -1
  342. package/dist/src/tools/web-search.js +1 -2
  343. package/dist/src/tools/web-search.js.map +1 -1
  344. package/dist/src/tools/web-search.test.js +11 -5
  345. package/dist/src/tools/web-search.test.js.map +1 -1
  346. package/dist/src/tools/write-file.js +31 -31
  347. package/dist/src/tools/write-file.js.map +1 -1
  348. package/dist/src/tools/write-file.test.js +24 -5
  349. package/dist/src/tools/write-file.test.js.map +1 -1
  350. package/dist/src/tools/write-todos.d.ts +29 -0
  351. package/dist/src/tools/write-todos.js +34 -1
  352. package/dist/src/tools/write-todos.js.map +1 -1
  353. package/dist/src/utils/editCorrector.js +4 -15
  354. package/dist/src/utils/editCorrector.js.map +1 -1
  355. package/dist/src/utils/editCorrector.test.js +16 -0
  356. package/dist/src/utils/editCorrector.test.js.map +1 -1
  357. package/dist/src/utils/editor.d.ts +3 -1
  358. package/dist/src/utils/editor.js +18 -1
  359. package/dist/src/utils/editor.js.map +1 -1
  360. package/dist/src/utils/editor.test.js +11 -0
  361. package/dist/src/utils/editor.test.js.map +1 -1
  362. package/dist/src/utils/environmentContext.js +3 -1
  363. package/dist/src/utils/environmentContext.js.map +1 -1
  364. package/dist/src/utils/environmentContext.test.js +6 -0
  365. package/dist/src/utils/environmentContext.test.js.map +1 -1
  366. package/dist/src/utils/events.d.ts +14 -11
  367. package/dist/src/utils/events.js +1 -14
  368. package/dist/src/utils/events.js.map +1 -1
  369. package/dist/src/utils/extensionLoader.d.ts +8 -0
  370. package/dist/src/utils/extensionLoader.js +61 -15
  371. package/dist/src/utils/extensionLoader.js.map +1 -1
  372. package/dist/src/utils/extensionLoader.test.js +83 -19
  373. package/dist/src/utils/extensionLoader.test.js.map +1 -1
  374. package/dist/src/utils/fileUtils.test.js +75 -60
  375. package/dist/src/utils/fileUtils.test.js.map +1 -1
  376. package/dist/src/utils/flashFallback.test.js +2 -2
  377. package/dist/src/utils/flashFallback.test.js.map +1 -1
  378. package/dist/src/utils/googleQuotaErrors.d.ts +2 -1
  379. package/dist/src/utils/googleQuotaErrors.js +20 -12
  380. package/dist/src/utils/googleQuotaErrors.js.map +1 -1
  381. package/dist/src/utils/httpErrors.d.ts +18 -0
  382. package/dist/src/utils/httpErrors.js +36 -0
  383. package/dist/src/utils/httpErrors.js.map +1 -0
  384. package/dist/src/utils/llm-edit-fixer.js +1 -2
  385. package/dist/src/utils/llm-edit-fixer.js.map +1 -1
  386. package/dist/src/utils/llm-edit-fixer.test.js +16 -1
  387. package/dist/src/utils/llm-edit-fixer.test.js.map +1 -1
  388. package/dist/src/utils/memoryDiscovery.d.ts +8 -0
  389. package/dist/src/utils/memoryDiscovery.js +24 -0
  390. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  391. package/dist/src/utils/memoryDiscovery.test.js +43 -1
  392. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  393. package/dist/src/utils/nextSpeakerChecker.js +1 -2
  394. package/dist/src/utils/nextSpeakerChecker.js.map +1 -1
  395. package/dist/src/utils/nextSpeakerChecker.test.js +10 -4
  396. package/dist/src/utils/nextSpeakerChecker.test.js.map +1 -1
  397. package/dist/src/utils/pathReader.js +4 -4
  398. package/dist/src/utils/pathReader.js.map +1 -1
  399. package/dist/src/utils/pathReader.test.js +44 -1
  400. package/dist/src/utils/pathReader.test.js.map +1 -1
  401. package/dist/src/utils/paths.d.ts +1 -1
  402. package/dist/src/utils/paths.js +5 -3
  403. package/dist/src/utils/paths.js.map +1 -1
  404. package/dist/src/utils/retry.d.ts +0 -9
  405. package/dist/src/utils/retry.js +24 -28
  406. package/dist/src/utils/retry.js.map +1 -1
  407. package/dist/src/utils/retry.test.js +51 -0
  408. package/dist/src/utils/retry.test.js.map +1 -1
  409. package/dist/src/utils/shell-utils.js +5 -3
  410. package/dist/src/utils/shell-utils.js.map +1 -1
  411. package/dist/src/utils/shell-utils.test.js +9 -9
  412. package/dist/src/utils/shell-utils.test.js.map +1 -1
  413. package/dist/src/utils/summarizer.d.ts +4 -2
  414. package/dist/src/utils/summarizer.js +6 -8
  415. package/dist/src/utils/summarizer.js.map +1 -1
  416. package/dist/src/utils/summarizer.test.js +32 -11
  417. package/dist/src/utils/summarizer.test.js.map +1 -1
  418. package/dist/src/utils/workspaceContext.d.ts +4 -3
  419. package/dist/src/utils/workspaceContext.js +10 -11
  420. package/dist/src/utils/workspaceContext.js.map +1 -1
  421. package/dist/src/utils/workspaceContext.test.js +1 -1
  422. package/dist/src/utils/workspaceContext.test.js.map +1 -1
  423. package/dist/tsconfig.tsbuildinfo +1 -1
  424. package/package.json +1 -1
@@ -4,6 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import * as path from 'node:path';
7
+ import { inspect } from 'node:util';
7
8
  import process from 'node:process';
8
9
  import { AuthType, createContentGenerator, createContentGeneratorConfig, } from '../core/contentGenerator.js';
9
10
  import { PromptRegistry } from '../prompts/prompt-registry.js';
@@ -18,7 +19,6 @@ import { SmartEditTool } from '../tools/smart-edit.js';
18
19
  import { ShellTool } from '../tools/shell.js';
19
20
  import { WriteFileTool } from '../tools/write-file.js';
20
21
  import { WebFetchTool } from '../tools/web-fetch.js';
21
- import { ReadManyFilesTool } from '../tools/read-many-files.js';
22
22
  import { MemoryTool, setGeminiMdFilename } from '../tools/memoryTool.js';
23
23
  import { WebSearchTool } from '../tools/web-search.js';
24
24
  import { GeminiClient } from '../core/client.js';
@@ -37,6 +37,8 @@ import { logRipgrepFallback } from '../telemetry/loggers.js';
37
37
  import { RipgrepFallbackEvent } from '../telemetry/types.js';
38
38
  import { ModelRouterService } from '../routing/modelRouterService.js';
39
39
  import { OutputFormat } from '../output/types.js';
40
+ import { ModelConfigService } from '../services/modelConfigService.js';
41
+ import { DEFAULT_MODEL_CONFIGS } from './defaultModelConfigs.js';
40
42
  import { WorkspaceContext } from '../utils/workspaceContext.js';
41
43
  import { Storage } from './storage.js';
42
44
  import { FileExclusions } from '../utils/ignorePatterns.js';
@@ -47,6 +49,7 @@ import { AgentRegistry } from '../agents/registry.js';
47
49
  import { setGlobalProxy } from '../utils/fetch.js';
48
50
  import { SubagentToolWrapper } from '../agents/subagent-tool-wrapper.js';
49
51
  import { getExperiments } from '../code_assist/experiments/experiments.js';
52
+ import { ExperimentFlags } from '../code_assist/experiments/flagNames.js';
50
53
  import { debugLogger } from '../utils/debugLogger.js';
51
54
  import { ApprovalMode } from '../policy/types.js';
52
55
  export { ApprovalMode };
@@ -134,6 +137,7 @@ export class Config {
134
137
  fileSystemService;
135
138
  contentGeneratorConfig;
136
139
  contentGenerator;
140
+ modelConfigService;
137
141
  embeddingModel;
138
142
  sandbox;
139
143
  targetDir;
@@ -170,11 +174,14 @@ export class Config {
170
174
  cwd;
171
175
  bugCommand;
172
176
  model;
177
+ previewFeatures;
173
178
  noBrowser;
174
179
  folderTrust;
175
180
  ideMode;
176
181
  inFallbackMode = false;
177
182
  maxSessionTurns;
183
+ listSessions;
184
+ deleteSession;
178
185
  listExtensions;
179
186
  _extensionLoader;
180
187
  _enabledExtensions;
@@ -184,6 +191,8 @@ export class Config {
184
191
  summarizeToolOutput;
185
192
  experimentalZedIntegration = false;
186
193
  loadMemoryFromIncludeDirectories = false;
194
+ importFormat;
195
+ discoveryMaxDirs;
187
196
  compressionThreshold;
188
197
  interactive;
189
198
  ptyInfo;
@@ -221,6 +230,8 @@ export class Config {
221
230
  hooks;
222
231
  experiments;
223
232
  experimentsPromise;
233
+ previewModelFallbackMode = false;
234
+ previewModelBypassMode = false;
224
235
  constructor(params) {
225
236
  this.sessionId = params.sessionId;
226
237
  this.embeddingModel =
@@ -274,9 +285,12 @@ export class Config {
274
285
  this.fileDiscoveryService = params.fileDiscoveryService ?? null;
275
286
  this.bugCommand = params.bugCommand;
276
287
  this.model = params.model;
288
+ this.previewFeatures = params.previewFeatures ?? undefined;
277
289
  this.maxSessionTurns = params.maxSessionTurns ?? -1;
278
290
  this.experimentalZedIntegration =
279
291
  params.experimentalZedIntegration ?? false;
292
+ this.listSessions = params.listSessions ?? false;
293
+ this.deleteSession = params.deleteSession;
280
294
  this.listExtensions = params.listExtensions ?? false;
281
295
  this._extensionLoader =
282
296
  params.extensionLoader ?? new SimpleExtensionLoader([]);
@@ -287,6 +301,8 @@ export class Config {
287
301
  this.ideMode = params.ideMode ?? false;
288
302
  this.loadMemoryFromIncludeDirectories =
289
303
  params.loadMemoryFromIncludeDirectories ?? false;
304
+ this.importFormat = params.importFormat ?? 'tree';
305
+ this.discoveryMaxDirs = params.discoveryMaxDirs ?? 200;
290
306
  this.compressionThreshold = params.compressionThreshold;
291
307
  this.interactive = params.interactive ?? false;
292
308
  this.ptyInfo = params.ptyInfo ?? 'child_process';
@@ -365,6 +381,21 @@ export class Config {
365
381
  }
366
382
  this.geminiClient = new GeminiClient(this);
367
383
  this.modelRouterService = new ModelRouterService(this);
384
+ // HACK: The settings loading logic doesn't currently merge the default
385
+ // generation config with the user's settings. This means if a user provides
386
+ // any `generation` settings (e.g., just `overrides`), the default `aliases`
387
+ // are lost. This hack manually merges the default aliases back in if they
388
+ // are missing from the user's config.
389
+ // TODO(12593): Fix the settings loading logic to properly merge defaults and
390
+ // remove this hack.
391
+ let modelConfigServiceConfig = params.modelConfigServiceConfig;
392
+ if (modelConfigServiceConfig && !modelConfigServiceConfig.aliases) {
393
+ modelConfigServiceConfig = {
394
+ ...modelConfigServiceConfig,
395
+ aliases: DEFAULT_MODEL_CONFIGS.aliases,
396
+ };
397
+ }
398
+ this.modelConfigService = new ModelConfigService(modelConfigServiceConfig ?? DEFAULT_MODEL_CONFIGS);
368
399
  }
369
400
  /**
370
401
  * Must only be called once, throws if called again.
@@ -404,7 +435,7 @@ export class Config {
404
435
  // Vertex and Genai have incompatible encryption and sending history with
405
436
  // thoughtSignature from Genai to Vertex will fail, we need to strip them
406
437
  if (this.contentGeneratorConfig?.authType === AuthType.USE_GEMINI &&
407
- authMethod === AuthType.LOGIN_WITH_GOOGLE) {
438
+ authMethod !== AuthType.USE_GEMINI) {
408
439
  // Restore the conversation history to the new client
409
440
  this.geminiClient.stripThoughtsFromHistory();
410
441
  }
@@ -418,11 +449,19 @@ export class Config {
418
449
  this.contentGeneratorConfig = newContentGeneratorConfig;
419
450
  // Initialize BaseLlmClient now that the ContentGenerator is available
420
451
  this.baseLlmClient = new BaseLlmClient(this.contentGenerator, this);
452
+ const previewFeatures = this.getPreviewFeatures();
421
453
  const codeAssistServer = getCodeAssistServer(this);
422
454
  if (codeAssistServer) {
423
455
  this.experimentsPromise = getExperiments(codeAssistServer)
424
456
  .then((experiments) => {
425
457
  this.setExperiments(experiments);
458
+ // If preview features have not been set and the user authenticated through Google, we enable preview based on remote config only if it's true
459
+ if (previewFeatures === undefined) {
460
+ const remotePreviewFeatures = experiments.flags[ExperimentFlags.ENABLE_PREVIEW]?.boolValue;
461
+ if (remotePreviewFeatures === true) {
462
+ this.setPreviewFeatures(remotePreviewFeatures);
463
+ }
464
+ }
426
465
  })
427
466
  .catch((e) => {
428
467
  debugLogger.error('Failed to fetch experiments', e);
@@ -456,9 +495,18 @@ export class Config {
456
495
  getSessionId() {
457
496
  return this.sessionId;
458
497
  }
498
+ setSessionId(sessionId) {
499
+ this.sessionId = sessionId;
500
+ }
459
501
  shouldLoadMemoryFromIncludeDirectories() {
460
502
  return this.loadMemoryFromIncludeDirectories;
461
503
  }
504
+ getImportFormat() {
505
+ return this.importFormat;
506
+ }
507
+ getDiscoveryMaxDirs() {
508
+ return this.discoveryMaxDirs;
509
+ }
462
510
  getContentGeneratorConfig() {
463
511
  return this.contentGeneratorConfig;
464
512
  }
@@ -466,14 +514,11 @@ export class Config {
466
514
  return this.model;
467
515
  }
468
516
  setModel(newModel) {
469
- // Do not allow Pro usage if the user is in fallback mode.
470
- if (newModel.includes('pro') && this.isInFallbackMode()) {
471
- return;
472
- }
473
- if (this.model !== newModel) {
517
+ if (this.model !== newModel || this.inFallbackMode) {
474
518
  this.model = newModel;
475
519
  coreEvents.emitModelChanged(newModel);
476
520
  }
521
+ this.setFallbackMode(false);
477
522
  }
478
523
  isInFallbackMode() {
479
524
  return this.inFallbackMode;
@@ -484,6 +529,21 @@ export class Config {
484
529
  setFallbackModelHandler(handler) {
485
530
  this.fallbackModelHandler = handler;
486
531
  }
532
+ getFallbackModelHandler() {
533
+ return this.fallbackModelHandler;
534
+ }
535
+ isPreviewModelFallbackMode() {
536
+ return this.previewModelFallbackMode;
537
+ }
538
+ setPreviewModelFallbackMode(active) {
539
+ this.previewModelFallbackMode = active;
540
+ }
541
+ isPreviewModelBypassMode() {
542
+ return this.previewModelBypassMode;
543
+ }
544
+ setPreviewModelBypassMode(active) {
545
+ this.previewModelBypassMode = active;
546
+ }
487
547
  getMaxSessionTurns() {
488
548
  return this.maxSessionTurns;
489
549
  }
@@ -531,6 +591,12 @@ export class Config {
531
591
  getQuestion() {
532
592
  return this.question;
533
593
  }
594
+ getPreviewFeatures() {
595
+ return this.previewFeatures;
596
+ }
597
+ setPreviewFeatures(previewFeatures) {
598
+ this.previewFeatures = previewFeatures;
599
+ }
534
600
  getCoreTools() {
535
601
  return this.coreTools;
536
602
  }
@@ -553,7 +619,7 @@ export class Config {
553
619
  excludeToolsSet.add(tool);
554
620
  }
555
621
  }
556
- return [...excludeToolsSet];
622
+ return excludeToolsSet;
557
623
  }
558
624
  getToolDiscoveryCommand() {
559
625
  return this.toolDiscoveryCommand;
@@ -718,6 +784,12 @@ export class Config {
718
784
  getListExtensions() {
719
785
  return this.listExtensions;
720
786
  }
787
+ getListSessions() {
788
+ return this.listSessions;
789
+ }
790
+ getDeleteSession() {
791
+ return this.deleteSession;
792
+ }
721
793
  getExtensionManagement() {
722
794
  return this.extensionManagement;
723
795
  }
@@ -793,21 +865,39 @@ export class Config {
793
865
  if (this.compressionThreshold) {
794
866
  return this.compressionThreshold;
795
867
  }
796
- if (this.experimentsPromise) {
797
- try {
798
- await this.experimentsPromise;
799
- }
800
- catch (e) {
801
- debugLogger.debug('Failed to fetch experiments', e);
802
- }
803
- }
804
- const remoteThreshold = this.experiments?.flags['GeminiCLIContextCompression__threshold_fraction']
868
+ await this.ensureExperimentsLoaded();
869
+ const remoteThreshold = this.experiments?.flags[ExperimentFlags.CONTEXT_COMPRESSION_THRESHOLD]
805
870
  ?.floatValue;
806
871
  if (remoteThreshold === 0) {
807
872
  return undefined;
808
873
  }
809
874
  return remoteThreshold;
810
875
  }
876
+ async getUserCaching() {
877
+ await this.ensureExperimentsLoaded();
878
+ return this.experiments?.flags[ExperimentFlags.USER_CACHING]?.boolValue;
879
+ }
880
+ async getBannerTextNoCapacityIssues() {
881
+ await this.ensureExperimentsLoaded();
882
+ return (this.experiments?.flags[ExperimentFlags.BANNER_TEXT_NO_CAPACITY_ISSUES]
883
+ ?.stringValue ?? '');
884
+ }
885
+ async getBannerTextCapacityIssues() {
886
+ await this.ensureExperimentsLoaded();
887
+ return (this.experiments?.flags[ExperimentFlags.BANNER_TEXT_CAPACITY_ISSUES]
888
+ ?.stringValue ?? '');
889
+ }
890
+ async ensureExperimentsLoaded() {
891
+ if (!this.experimentsPromise) {
892
+ return;
893
+ }
894
+ try {
895
+ await this.experimentsPromise;
896
+ }
897
+ catch (e) {
898
+ debugLogger.debug('Failed to fetch experiments', e);
899
+ }
900
+ }
811
901
  isInteractiveShellEnabled() {
812
902
  return (this.interactive &&
813
903
  this.ptyInfo !== 'child_process' &&
@@ -914,7 +1004,6 @@ export class Config {
914
1004
  const className = ToolClass.name;
915
1005
  const toolName = ToolClass.Name || className;
916
1006
  const coreTools = this.getCoreTools();
917
- const excludeTools = this.getExcludeTools() || [];
918
1007
  // On some platforms, the className can be minified to _ClassName.
919
1008
  const normalizedClassName = className.replace(/^_+/, '');
920
1009
  let isEnabled = true; // Enabled by default if coreTools is not set.
@@ -924,10 +1013,6 @@ export class Config {
924
1013
  tool.startsWith(`${toolName}(`) ||
925
1014
  tool.startsWith(`${normalizedClassName}(`));
926
1015
  }
927
- const isExcluded = excludeTools.some((tool) => tool === toolName || tool === normalizedClassName);
928
- if (isExcluded) {
929
- isEnabled = false;
930
- }
931
1016
  if (isEnabled) {
932
1017
  // Pass message bus to tools when feature flag is enabled
933
1018
  // This first implementation is only focused on the general case of
@@ -970,7 +1055,6 @@ export class Config {
970
1055
  }
971
1056
  registerCoreTool(WriteFileTool, this);
972
1057
  registerCoreTool(WebFetchTool, this);
973
- registerCoreTool(ReadManyFilesTool, this);
974
1058
  registerCoreTool(ShellTool, this);
975
1059
  registerCoreTool(MemoryTool);
976
1060
  registerCoreTool(WebSearchTool, this);
@@ -982,11 +1066,9 @@ export class Config {
982
1066
  const definition = this.agentRegistry.getDefinition('codebase_investigator');
983
1067
  if (definition) {
984
1068
  // We must respect the main allowed/exclude lists for agents too.
985
- const excludeTools = this.getExcludeTools() || [];
986
1069
  const allowedTools = this.getAllowedTools();
987
- const isExcluded = excludeTools.includes(definition.name);
988
1070
  const isAllowed = !allowedTools || allowedTools.includes(definition.name);
989
- if (isAllowed && !isExcluded) {
1071
+ if (isAllowed) {
990
1072
  const messageBusEnabled = this.getEnableMessageBusIntegration();
991
1073
  const wrapper = new SubagentToolWrapper(definition, this, messageBusEnabled ? this.getMessageBus() : undefined);
992
1074
  registry.registerTool(wrapper);
@@ -994,6 +1076,7 @@ export class Config {
994
1076
  }
995
1077
  }
996
1078
  await registry.discoverAllTools();
1079
+ registry.sortTools();
997
1080
  return registry;
998
1081
  }
999
1082
  /**
@@ -1013,6 +1096,44 @@ export class Config {
1013
1096
  */
1014
1097
  setExperiments(experiments) {
1015
1098
  this.experiments = experiments;
1099
+ const flagSummaries = Object.entries(experiments.flags ?? {})
1100
+ .sort(([a], [b]) => a.localeCompare(b))
1101
+ .map(([flagId, flag]) => {
1102
+ const summary = { flagId };
1103
+ if (flag.boolValue !== undefined) {
1104
+ summary['boolValue'] = flag.boolValue;
1105
+ }
1106
+ if (flag.floatValue !== undefined) {
1107
+ summary['floatValue'] = flag.floatValue;
1108
+ }
1109
+ if (flag.intValue !== undefined) {
1110
+ summary['intValue'] = flag.intValue;
1111
+ }
1112
+ if (flag.stringValue !== undefined) {
1113
+ summary['stringValue'] = flag.stringValue;
1114
+ }
1115
+ const int32Length = flag.int32ListValue?.values?.length ?? 0;
1116
+ if (int32Length > 0) {
1117
+ summary['int32ListLength'] = int32Length;
1118
+ }
1119
+ const stringListLength = flag.stringListValue?.values?.length ?? 0;
1120
+ if (stringListLength > 0) {
1121
+ summary['stringListLength'] = stringListLength;
1122
+ }
1123
+ return summary;
1124
+ });
1125
+ const summary = {
1126
+ experimentIds: experiments.experimentIds ?? [],
1127
+ flags: flagSummaries,
1128
+ };
1129
+ const summaryString = inspect(summary, {
1130
+ depth: null,
1131
+ maxArrayLength: null,
1132
+ maxStringLength: null,
1133
+ breakLength: 80,
1134
+ compact: false,
1135
+ });
1136
+ debugLogger.debug('Experiments loaded', summaryString);
1016
1137
  }
1017
1138
  }
1018
1139
  // Export model constants for use in CLI
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}