@google/gemini-cli-core 0.30.0-preview.6 → 0.31.0-preview.0

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 (687) hide show
  1. package/README.md +1 -1
  2. package/dist/docs/CONTRIBUTING.md +6 -7
  3. package/dist/docs/changelogs/index.md +22 -2
  4. package/dist/docs/changelogs/latest.md +359 -293
  5. package/dist/docs/changelogs/preview.md +300 -349
  6. package/dist/docs/cli/cli-reference.md +23 -23
  7. package/dist/docs/cli/enterprise.md +7 -7
  8. package/dist/docs/cli/gemini-md.md +1 -1
  9. package/dist/docs/cli/model.md +1 -1
  10. package/dist/docs/cli/plan-mode.md +180 -80
  11. package/dist/docs/cli/sandbox.md +3 -3
  12. package/dist/docs/cli/settings.md +59 -51
  13. package/dist/docs/cli/telemetry.md +4 -1
  14. package/dist/docs/cli/themes.md +3 -3
  15. package/dist/docs/cli/trusted-folders.md +31 -0
  16. package/dist/docs/cli/tutorials/memory-management.md +2 -2
  17. package/dist/docs/cli/tutorials/session-management.md +1 -1
  18. package/dist/docs/core/index.md +7 -7
  19. package/dist/docs/core/subagents.md +155 -39
  20. package/dist/docs/extensions/reference.md +38 -14
  21. package/dist/docs/get-started/authentication.md +4 -4
  22. package/dist/docs/get-started/examples.md +2 -2
  23. package/dist/docs/get-started/gemini-3.md +17 -3
  24. package/dist/docs/get-started/index.md +11 -2
  25. package/dist/docs/hooks/best-practices.md +1 -1
  26. package/dist/docs/hooks/reference.md +8 -0
  27. package/dist/docs/ide-integration/index.md +14 -0
  28. package/dist/docs/index.md +62 -67
  29. package/dist/docs/redirects.json +19 -0
  30. package/dist/docs/{cli → reference}/commands.md +67 -11
  31. package/dist/docs/{get-started → reference}/configuration.md +93 -24
  32. package/dist/docs/{cli → reference}/keyboard-shortcuts.md +3 -3
  33. package/dist/docs/{core → reference}/policy-engine.md +63 -27
  34. package/dist/docs/{faq.md → resources/faq.md} +1 -1
  35. package/dist/docs/{quota-and-pricing.md → resources/quota-and-pricing.md} +12 -5
  36. package/dist/docs/{tos-privacy.md → resources/tos-privacy.md} +2 -2
  37. package/dist/docs/{troubleshooting.md → resources/troubleshooting.md} +1 -1
  38. package/dist/docs/sidebar.json +203 -166
  39. package/dist/docs/tools/file-system.md +7 -4
  40. package/dist/docs/tools/index.md +5 -2
  41. package/dist/docs/tools/internal-docs.md +5 -5
  42. package/dist/docs/tools/mcp-server.md +62 -2
  43. package/dist/docs/tools/planning.md +2 -0
  44. package/dist/docs/tools/shell.md +3 -3
  45. package/dist/src/agents/a2a-client-manager.test.js +1 -2
  46. package/dist/src/agents/a2a-client-manager.test.js.map +1 -1
  47. package/dist/src/agents/a2aUtils.d.ts +1 -5
  48. package/dist/src/agents/a2aUtils.js +1 -1
  49. package/dist/src/agents/a2aUtils.js.map +1 -1
  50. package/dist/src/agents/acknowledgedAgents.js +1 -0
  51. package/dist/src/agents/acknowledgedAgents.js.map +1 -1
  52. package/dist/src/agents/agent-scheduler.js +1 -0
  53. package/dist/src/agents/agent-scheduler.js.map +1 -1
  54. package/dist/src/agents/agentLoader.d.ts +0 -1
  55. package/dist/src/agents/agentLoader.js +22 -21
  56. package/dist/src/agents/agentLoader.js.map +1 -1
  57. package/dist/src/agents/agentLoader.test.js +1 -5
  58. package/dist/src/agents/agentLoader.test.js.map +1 -1
  59. package/dist/src/agents/auth-provider/api-key-provider.d.ts +30 -0
  60. package/dist/src/agents/auth-provider/api-key-provider.js +66 -0
  61. package/dist/src/agents/auth-provider/api-key-provider.js.map +1 -0
  62. package/dist/src/agents/auth-provider/api-key-provider.test.d.ts +6 -0
  63. package/dist/src/agents/auth-provider/api-key-provider.test.js +130 -0
  64. package/dist/src/agents/auth-provider/api-key-provider.test.js.map +1 -0
  65. package/dist/src/agents/auth-provider/base-provider.d.ts +2 -2
  66. package/dist/src/agents/auth-provider/base-provider.js.map +1 -1
  67. package/dist/src/agents/auth-provider/factory.js +6 -3
  68. package/dist/src/agents/auth-provider/factory.js.map +1 -1
  69. package/dist/src/agents/auth-provider/factory.test.js +12 -0
  70. package/dist/src/agents/auth-provider/factory.test.js.map +1 -1
  71. package/dist/src/agents/auth-provider/types.d.ts +2 -4
  72. package/dist/src/agents/browser/analyzeScreenshot.d.ts +35 -0
  73. package/dist/src/agents/browser/analyzeScreenshot.js +183 -0
  74. package/dist/src/agents/browser/analyzeScreenshot.js.map +1 -0
  75. package/dist/src/agents/browser/analyzeScreenshot.test.d.ts +6 -0
  76. package/dist/src/agents/browser/analyzeScreenshot.test.js +161 -0
  77. package/dist/src/agents/browser/analyzeScreenshot.test.js.map +1 -0
  78. package/dist/src/agents/browser/browserAgentDefinition.d.ts +50 -0
  79. package/dist/src/agents/browser/browserAgentDefinition.js +141 -0
  80. package/dist/src/agents/browser/browserAgentDefinition.js.map +1 -0
  81. package/dist/src/agents/browser/browserAgentFactory.d.ts +42 -0
  82. package/dist/src/agents/browser/browserAgentFactory.js +107 -0
  83. package/dist/src/agents/browser/browserAgentFactory.js.map +1 -0
  84. package/dist/src/agents/browser/browserAgentFactory.test.d.ts +6 -0
  85. package/dist/src/agents/browser/browserAgentFactory.test.js +186 -0
  86. package/dist/src/agents/browser/browserAgentFactory.test.js.map +1 -0
  87. package/dist/src/agents/browser/browserAgentInvocation.d.ts +44 -0
  88. package/dist/src/agents/browser/browserAgentInvocation.js +109 -0
  89. package/dist/src/agents/browser/browserAgentInvocation.js.map +1 -0
  90. package/dist/src/agents/browser/browserAgentInvocation.test.d.ts +6 -0
  91. package/dist/src/agents/browser/browserAgentInvocation.test.js +87 -0
  92. package/dist/src/agents/browser/browserAgentInvocation.test.js.map +1 -0
  93. package/dist/src/agents/browser/browserManager.d.ts +110 -0
  94. package/dist/src/agents/browser/browserManager.js +323 -0
  95. package/dist/src/agents/browser/browserManager.js.map +1 -0
  96. package/dist/src/agents/browser/browserManager.test.d.ts +6 -0
  97. package/dist/src/agents/browser/browserManager.test.js +314 -0
  98. package/dist/src/agents/browser/browserManager.test.js.map +1 -0
  99. package/dist/src/agents/browser/mcpToolWrapper.d.ts +45 -0
  100. package/dist/src/agents/browser/mcpToolWrapper.js +356 -0
  101. package/dist/src/agents/browser/mcpToolWrapper.js.map +1 -0
  102. package/dist/src/agents/browser/mcpToolWrapper.test.d.ts +6 -0
  103. package/dist/src/agents/browser/mcpToolWrapper.test.js +126 -0
  104. package/dist/src/agents/browser/mcpToolWrapper.test.js.map +1 -0
  105. package/dist/src/agents/browser/mcpToolWrapperConfirmation.test.d.ts +6 -0
  106. package/dist/src/agents/browser/mcpToolWrapperConfirmation.test.js +57 -0
  107. package/dist/src/agents/browser/mcpToolWrapperConfirmation.test.js.map +1 -0
  108. package/dist/src/agents/browser/modelAvailability.d.ts +23 -0
  109. package/dist/src/agents/browser/modelAvailability.js +23 -0
  110. package/dist/src/agents/browser/modelAvailability.js.map +1 -0
  111. package/dist/src/agents/local-executor.js +73 -31
  112. package/dist/src/agents/local-executor.js.map +1 -1
  113. package/dist/src/agents/local-executor.test.js +157 -4
  114. package/dist/src/agents/local-executor.test.js.map +1 -1
  115. package/dist/src/agents/local-invocation.test.js.map +1 -1
  116. package/dist/src/agents/registry.js +8 -0
  117. package/dist/src/agents/registry.js.map +1 -1
  118. package/dist/src/agents/registry.test.js.map +1 -1
  119. package/dist/src/agents/remote-invocation.d.ts +2 -1
  120. package/dist/src/agents/remote-invocation.js +3 -3
  121. package/dist/src/agents/remote-invocation.js.map +1 -1
  122. package/dist/src/agents/subagent-tool-wrapper.js +6 -0
  123. package/dist/src/agents/subagent-tool-wrapper.js.map +1 -1
  124. package/dist/src/agents/subagent-tool.d.ts +3 -0
  125. package/dist/src/agents/subagent-tool.js +62 -3
  126. package/dist/src/agents/subagent-tool.js.map +1 -1
  127. package/dist/src/agents/subagent-tool.test.js +143 -0
  128. package/dist/src/agents/subagent-tool.test.js.map +1 -1
  129. package/dist/src/availability/fallbackIntegration.test.js +4 -1
  130. package/dist/src/availability/fallbackIntegration.test.js.map +1 -1
  131. package/dist/src/availability/policyHelpers.js +3 -1
  132. package/dist/src/availability/policyHelpers.js.map +1 -1
  133. package/dist/src/availability/policyHelpers.test.js +51 -5
  134. package/dist/src/availability/policyHelpers.test.js.map +1 -1
  135. package/dist/src/code_assist/admin/admin_controls.js +1 -0
  136. package/dist/src/code_assist/admin/admin_controls.js.map +1 -1
  137. package/dist/src/code_assist/converter.js +8 -2
  138. package/dist/src/code_assist/converter.js.map +1 -1
  139. package/dist/src/code_assist/converter.test.js.map +1 -1
  140. package/dist/src/code_assist/experiments/experiments.js +1 -1
  141. package/dist/src/code_assist/experiments/experiments.js.map +1 -1
  142. package/dist/src/code_assist/oauth-credential-storage.js +1 -1
  143. package/dist/src/code_assist/oauth-credential-storage.js.map +1 -1
  144. package/dist/src/code_assist/oauth-credential-storage.test.js +5 -0
  145. package/dist/src/code_assist/oauth-credential-storage.test.js.map +1 -1
  146. package/dist/src/code_assist/oauth2.js +11 -8
  147. package/dist/src/code_assist/oauth2.js.map +1 -1
  148. package/dist/src/code_assist/oauth2.test.js +55 -0
  149. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  150. package/dist/src/code_assist/server.js +22 -13
  151. package/dist/src/code_assist/server.js.map +1 -1
  152. package/dist/src/code_assist/server.test.js +26 -0
  153. package/dist/src/code_assist/server.test.js.map +1 -1
  154. package/dist/src/code_assist/telemetry.js +16 -3
  155. package/dist/src/code_assist/telemetry.js.map +1 -1
  156. package/dist/src/code_assist/telemetry.test.js +10 -0
  157. package/dist/src/code_assist/telemetry.test.js.map +1 -1
  158. package/dist/src/code_assist/types.d.ts +13 -12
  159. package/dist/src/code_assist/types.js.map +1 -1
  160. package/dist/src/config/config.d.ts +83 -8
  161. package/dist/src/config/config.js +127 -23
  162. package/dist/src/config/config.js.map +1 -1
  163. package/dist/src/config/config.test.js +285 -10
  164. package/dist/src/config/config.test.js.map +1 -1
  165. package/dist/src/config/projectRegistry.js +1 -0
  166. package/dist/src/config/projectRegistry.js.map +1 -1
  167. package/dist/src/config/storage.d.ts +17 -1
  168. package/dist/src/config/storage.js +82 -2
  169. package/dist/src/config/storage.js.map +1 -1
  170. package/dist/src/config/storage.test.js +149 -2
  171. package/dist/src/config/storage.test.js.map +1 -1
  172. package/dist/src/config/userHintService.d.ts +46 -0
  173. package/dist/src/config/userHintService.js +81 -0
  174. package/dist/src/config/userHintService.js.map +1 -0
  175. package/dist/src/config/userHintService.test.d.ts +6 -0
  176. package/dist/src/config/userHintService.test.js +62 -0
  177. package/dist/src/config/userHintService.test.js.map +1 -0
  178. package/dist/src/confirmation-bus/message-bus.js +15 -3
  179. package/dist/src/confirmation-bus/message-bus.js.map +1 -1
  180. package/dist/src/confirmation-bus/message-bus.test.js +15 -0
  181. package/dist/src/confirmation-bus/message-bus.test.js.map +1 -1
  182. package/dist/src/confirmation-bus/types.d.ts +7 -0
  183. package/dist/src/confirmation-bus/types.js.map +1 -1
  184. package/dist/src/core/baseLlmClient.d.ts +2 -3
  185. package/dist/src/core/baseLlmClient.js +7 -5
  186. package/dist/src/core/baseLlmClient.js.map +1 -1
  187. package/dist/src/core/baseLlmClient.test.js +45 -20
  188. package/dist/src/core/baseLlmClient.test.js.map +1 -1
  189. package/dist/src/core/client.js +18 -7
  190. package/dist/src/core/client.js.map +1 -1
  191. package/dist/src/core/coreToolHookTriggers.d.ts +2 -3
  192. package/dist/src/core/coreToolHookTriggers.js +8 -3
  193. package/dist/src/core/coreToolHookTriggers.js.map +1 -1
  194. package/dist/src/core/coreToolScheduler.js +2 -1
  195. package/dist/src/core/coreToolScheduler.js.map +1 -1
  196. package/dist/src/core/coreToolScheduler.test.js +10 -3
  197. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  198. package/dist/src/core/fakeContentGenerator.js +2 -0
  199. package/dist/src/core/fakeContentGenerator.js.map +1 -1
  200. package/dist/src/core/geminiChat.d.ts +1 -1
  201. package/dist/src/core/geminiChat.js +5 -5
  202. package/dist/src/core/geminiChat.js.map +1 -1
  203. package/dist/src/core/geminiChat.test.js +1 -0
  204. package/dist/src/core/geminiChat.test.js.map +1 -1
  205. package/dist/src/core/geminiChat_network_retry.test.js +1 -0
  206. package/dist/src/core/geminiChat_network_retry.test.js.map +1 -1
  207. package/dist/src/core/logger.js +2 -0
  208. package/dist/src/core/logger.js.map +1 -1
  209. package/dist/src/core/loggingContentGenerator.d.ts +14 -2
  210. package/dist/src/core/loggingContentGenerator.js +98 -4
  211. package/dist/src/core/loggingContentGenerator.js.map +1 -1
  212. package/dist/src/core/loggingContentGenerator.test.js +275 -1
  213. package/dist/src/core/loggingContentGenerator.test.js.map +1 -1
  214. package/dist/src/core/prompts.test.js +55 -27
  215. package/dist/src/core/prompts.test.js.map +1 -1
  216. package/dist/src/core/recordingContentGenerator.test.js +5 -0
  217. package/dist/src/core/recordingContentGenerator.test.js.map +1 -1
  218. package/dist/src/core/turn.d.ts +4 -2
  219. package/dist/src/core/turn.js +2 -0
  220. package/dist/src/core/turn.js.map +1 -1
  221. package/dist/src/core/turn.test.js +4 -1
  222. package/dist/src/core/turn.test.js.map +1 -1
  223. package/dist/src/generated/git-commit.d.ts +2 -2
  224. package/dist/src/generated/git-commit.js +2 -2
  225. package/dist/src/hooks/hookAggregator.d.ts +1 -2
  226. package/dist/src/hooks/hookAggregator.js +1 -2
  227. package/dist/src/hooks/hookAggregator.js.map +1 -1
  228. package/dist/src/hooks/hookEventHandler.d.ts +2 -2
  229. package/dist/src/hooks/hookEventHandler.js +13 -4
  230. package/dist/src/hooks/hookEventHandler.js.map +1 -1
  231. package/dist/src/hooks/hookEventHandler.test.js +1 -2
  232. package/dist/src/hooks/hookEventHandler.test.js.map +1 -1
  233. package/dist/src/hooks/hookPlanner.d.ts +1 -2
  234. package/dist/src/hooks/hookPlanner.js.map +1 -1
  235. package/dist/src/hooks/hookRegistry.d.ts +8 -0
  236. package/dist/src/hooks/hookRegistry.js +31 -3
  237. package/dist/src/hooks/hookRegistry.js.map +1 -1
  238. package/dist/src/hooks/hookRegistry.test.js.map +1 -1
  239. package/dist/src/hooks/hookRunner.d.ts +5 -2
  240. package/dist/src/hooks/hookRunner.js +52 -2
  241. package/dist/src/hooks/hookRunner.js.map +1 -1
  242. package/dist/src/hooks/hookRunner.test.js.map +1 -1
  243. package/dist/src/hooks/hookSystem.d.ts +11 -3
  244. package/dist/src/hooks/hookSystem.js +10 -4
  245. package/dist/src/hooks/hookSystem.js.map +1 -1
  246. package/dist/src/hooks/hookSystem.test.js +1 -0
  247. package/dist/src/hooks/hookSystem.test.js.map +1 -1
  248. package/dist/src/hooks/runtimeHooks.test.d.ts +6 -0
  249. package/dist/src/hooks/runtimeHooks.test.js +100 -0
  250. package/dist/src/hooks/runtimeHooks.test.js.map +1 -0
  251. package/dist/src/hooks/trustedHooks.js +6 -1
  252. package/dist/src/hooks/trustedHooks.js.map +1 -1
  253. package/dist/src/hooks/trustedHooks.test.js +17 -9
  254. package/dist/src/hooks/trustedHooks.test.js.map +1 -1
  255. package/dist/src/hooks/types.d.ts +49 -8
  256. package/dist/src/hooks/types.js +20 -1
  257. package/dist/src/hooks/types.js.map +1 -1
  258. package/dist/src/ide/detect-ide.d.ts +0 -1
  259. package/dist/src/ide/detect-ide.js +1 -1
  260. package/dist/src/ide/detect-ide.js.map +1 -1
  261. package/dist/src/ide/ide-client.js +3 -2
  262. package/dist/src/ide/ide-client.js.map +1 -1
  263. package/dist/src/ide/ide-connection-utils.js +90 -14
  264. package/dist/src/ide/ide-connection-utils.js.map +1 -1
  265. package/dist/src/ide/ide-connection-utils.test.js +78 -0
  266. package/dist/src/ide/ide-connection-utils.test.js.map +1 -1
  267. package/dist/src/ide/ide-installer.test.js +1 -2
  268. package/dist/src/ide/ide-installer.test.js.map +1 -1
  269. package/dist/src/ide/process-utils.d.ts +7 -0
  270. package/dist/src/ide/process-utils.js +20 -0
  271. package/dist/src/ide/process-utils.js.map +1 -1
  272. package/dist/src/ide/process-utils.test.js +30 -0
  273. package/dist/src/ide/process-utils.test.js.map +1 -1
  274. package/dist/src/index.d.ts +6 -1
  275. package/dist/src/index.js +6 -1
  276. package/dist/src/index.js.map +1 -1
  277. package/dist/src/mcp/oauth-provider.d.ts +1 -1
  278. package/dist/src/mcp/oauth-provider.js +8 -7
  279. package/dist/src/mcp/oauth-provider.js.map +1 -1
  280. package/dist/src/mcp/oauth-provider.test.js +34 -2
  281. package/dist/src/mcp/oauth-provider.test.js.map +1 -1
  282. package/dist/src/mcp/oauth-utils.js +2 -0
  283. package/dist/src/mcp/oauth-utils.js.map +1 -1
  284. package/dist/src/mcp/oauth-utils.test.js +12 -0
  285. package/dist/src/mcp/oauth-utils.test.js.map +1 -1
  286. package/dist/src/mcp/token-storage/file-token-storage.js +4 -1
  287. package/dist/src/mcp/token-storage/file-token-storage.js.map +1 -1
  288. package/dist/src/mcp/token-storage/file-token-storage.test.js +40 -2
  289. package/dist/src/mcp/token-storage/file-token-storage.test.js.map +1 -1
  290. package/dist/src/mcp/token-storage/keychain-token-storage.js +2 -0
  291. package/dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -1
  292. package/dist/src/policy/config.d.ts +18 -9
  293. package/dist/src/policy/config.js +75 -54
  294. package/dist/src/policy/config.js.map +1 -1
  295. package/dist/src/policy/config.test.js +26 -26
  296. package/dist/src/policy/integrity.d.ts +45 -0
  297. package/dist/src/policy/integrity.js +121 -0
  298. package/dist/src/policy/integrity.js.map +1 -0
  299. package/dist/src/policy/integrity.test.d.ts +6 -0
  300. package/dist/src/policy/integrity.test.js +132 -0
  301. package/dist/src/policy/integrity.test.js.map +1 -0
  302. package/dist/src/policy/persistence.test.js +29 -19
  303. package/dist/src/policy/persistence.test.js.map +1 -1
  304. package/dist/src/policy/policies/conseca.toml +6 -0
  305. package/dist/src/policy/policies/plan.toml +28 -12
  306. package/dist/src/policy/policies/read-only.toml +11 -10
  307. package/dist/src/policy/policies/write.toml +11 -10
  308. package/dist/src/policy/policies/yolo.toml +11 -10
  309. package/dist/src/policy/policy-engine.d.ts +16 -3
  310. package/dist/src/policy/policy-engine.js +154 -29
  311. package/dist/src/policy/policy-engine.js.map +1 -1
  312. package/dist/src/policy/policy-engine.test.js +480 -9
  313. package/dist/src/policy/policy-engine.test.js.map +1 -1
  314. package/dist/src/policy/policy-updater.test.js +11 -6
  315. package/dist/src/policy/policy-updater.test.js.map +1 -1
  316. package/dist/src/policy/toml-loader.d.ts +13 -2
  317. package/dist/src/policy/toml-loader.js +55 -34
  318. package/dist/src/policy/toml-loader.js.map +1 -1
  319. package/dist/src/policy/toml-loader.test.js +115 -7
  320. package/dist/src/policy/toml-loader.test.js.map +1 -1
  321. package/dist/src/policy/types.d.ts +18 -1
  322. package/dist/src/policy/types.js +1 -0
  323. package/dist/src/policy/types.js.map +1 -1
  324. package/dist/src/policy/workspace-policy.test.d.ts +6 -0
  325. package/dist/src/policy/workspace-policy.test.js +231 -0
  326. package/dist/src/policy/workspace-policy.test.js.map +1 -0
  327. package/dist/src/prompts/promptProvider.js +11 -13
  328. package/dist/src/prompts/promptProvider.js.map +1 -1
  329. package/dist/src/prompts/promptProvider.test.js +64 -3
  330. package/dist/src/prompts/promptProvider.test.js.map +1 -1
  331. package/dist/src/prompts/snippets.js +41 -10
  332. package/dist/src/prompts/snippets.js.map +1 -1
  333. package/dist/src/prompts/snippets.legacy.js +1 -0
  334. package/dist/src/prompts/snippets.legacy.js.map +1 -1
  335. package/dist/src/routing/modelRouterService.js +3 -1
  336. package/dist/src/routing/modelRouterService.js.map +1 -1
  337. package/dist/src/routing/modelRouterService.test.js +12 -6
  338. package/dist/src/routing/modelRouterService.test.js.map +1 -1
  339. package/dist/src/routing/strategies/approvalModeStrategy.d.ts +18 -0
  340. package/dist/src/routing/strategies/approvalModeStrategy.js +58 -0
  341. package/dist/src/routing/strategies/approvalModeStrategy.js.map +1 -0
  342. package/dist/src/routing/strategies/approvalModeStrategy.test.d.ts +6 -0
  343. package/dist/src/routing/strategies/approvalModeStrategy.test.js +110 -0
  344. package/dist/src/routing/strategies/approvalModeStrategy.test.js.map +1 -0
  345. package/dist/src/safety/checker-runner.js +1 -0
  346. package/dist/src/safety/checker-runner.js.map +1 -1
  347. package/dist/src/safety/conseca/conseca.d.ts +31 -0
  348. package/dist/src/safety/conseca/conseca.js +105 -0
  349. package/dist/src/safety/conseca/conseca.js.map +1 -0
  350. package/dist/src/safety/conseca/conseca.test.d.ts +6 -0
  351. package/dist/src/safety/conseca/conseca.test.js +226 -0
  352. package/dist/src/safety/conseca/conseca.test.js.map +1 -0
  353. package/dist/src/safety/conseca/integration.test.d.ts +6 -0
  354. package/dist/src/safety/conseca/integration.test.js +19 -0
  355. package/dist/src/safety/conseca/integration.test.js.map +1 -0
  356. package/dist/src/safety/conseca/policy-enforcer.d.ts +13 -0
  357. package/dist/src/safety/conseca/policy-enforcer.js +135 -0
  358. package/dist/src/safety/conseca/policy-enforcer.js.map +1 -0
  359. package/dist/src/safety/conseca/policy-enforcer.test.d.ts +6 -0
  360. package/dist/src/safety/conseca/policy-enforcer.test.js +141 -0
  361. package/dist/src/safety/conseca/policy-enforcer.test.js.map +1 -0
  362. package/dist/src/safety/conseca/policy-generator.d.ts +15 -0
  363. package/dist/src/safety/conseca/policy-generator.js +144 -0
  364. package/dist/src/safety/conseca/policy-generator.js.map +1 -0
  365. package/dist/src/safety/conseca/policy-generator.test.d.ts +6 -0
  366. package/dist/src/safety/conseca/policy-generator.test.js +84 -0
  367. package/dist/src/safety/conseca/policy-generator.test.js.map +1 -0
  368. package/dist/src/safety/conseca/types.d.ts +15 -0
  369. package/dist/src/safety/conseca/types.js +7 -0
  370. package/dist/src/safety/conseca/types.js.map +1 -0
  371. package/dist/src/safety/context-builder.d.ts +3 -3
  372. package/dist/src/safety/context-builder.js +60 -4
  373. package/dist/src/safety/context-builder.js.map +1 -1
  374. package/dist/src/safety/context-builder.test.js +98 -18
  375. package/dist/src/safety/context-builder.test.js.map +1 -1
  376. package/dist/src/safety/protocol.d.ts +4 -0
  377. package/dist/src/safety/registry.d.ts +2 -1
  378. package/dist/src/safety/registry.js +14 -4
  379. package/dist/src/safety/registry.js.map +1 -1
  380. package/dist/src/safety/registry.test.js +5 -2
  381. package/dist/src/safety/registry.test.js.map +1 -1
  382. package/dist/src/scheduler/confirmation.d.ts +0 -13
  383. package/dist/src/scheduler/confirmation.js +1 -1
  384. package/dist/src/scheduler/confirmation.js.map +1 -1
  385. package/dist/src/scheduler/policy.js +6 -2
  386. package/dist/src/scheduler/policy.js.map +1 -1
  387. package/dist/src/scheduler/policy.test.js +4 -3
  388. package/dist/src/scheduler/policy.test.js.map +1 -1
  389. package/dist/src/scheduler/scheduler.d.ts +3 -1
  390. package/dist/src/scheduler/scheduler.js +148 -28
  391. package/dist/src/scheduler/scheduler.js.map +1 -1
  392. package/dist/src/scheduler/scheduler.test.js +341 -242
  393. package/dist/src/scheduler/scheduler.test.js.map +1 -1
  394. package/dist/src/scheduler/scheduler_parallel.test.d.ts +6 -0
  395. package/dist/src/scheduler/scheduler_parallel.test.js +309 -0
  396. package/dist/src/scheduler/scheduler_parallel.test.js.map +1 -0
  397. package/dist/src/scheduler/state-manager.d.ts +8 -0
  398. package/dist/src/scheduler/state-manager.js +30 -2
  399. package/dist/src/scheduler/state-manager.js.map +1 -1
  400. package/dist/src/scheduler/state-manager.test.js +61 -0
  401. package/dist/src/scheduler/state-manager.test.js.map +1 -1
  402. package/dist/src/scheduler/tool-executor.js +15 -7
  403. package/dist/src/scheduler/tool-executor.js.map +1 -1
  404. package/dist/src/scheduler/tool-executor.test.js +1 -1
  405. package/dist/src/scheduler/tool-executor.test.js.map +1 -1
  406. package/dist/src/scheduler/types.d.ts +23 -0
  407. package/dist/src/services/FolderTrustDiscoveryService.d.ts +32 -0
  408. package/dist/src/services/FolderTrustDiscoveryService.js +167 -0
  409. package/dist/src/services/FolderTrustDiscoveryService.js.map +1 -0
  410. package/dist/src/services/FolderTrustDiscoveryService.test.d.ts +6 -0
  411. package/dist/src/services/FolderTrustDiscoveryService.test.js +118 -0
  412. package/dist/src/services/FolderTrustDiscoveryService.test.js.map +1 -0
  413. package/dist/src/services/chatCompressionService.d.ts +0 -14
  414. package/dist/src/services/chatCompressionService.js +29 -7
  415. package/dist/src/services/chatCompressionService.js.map +1 -1
  416. package/dist/src/services/chatCompressionService.test.js +3 -1
  417. package/dist/src/services/chatCompressionService.test.js.map +1 -1
  418. package/dist/src/services/chatRecordingService.d.ts +7 -1
  419. package/dist/src/services/chatRecordingService.js +12 -1
  420. package/dist/src/services/chatRecordingService.js.map +1 -1
  421. package/dist/src/services/chatRecordingService.test.js +34 -0
  422. package/dist/src/services/chatRecordingService.test.js.map +1 -1
  423. package/dist/src/services/loopDetectionService.js +1 -2
  424. package/dist/src/services/loopDetectionService.js.map +1 -1
  425. package/dist/src/services/sessionSummaryUtils.js +3 -0
  426. package/dist/src/services/sessionSummaryUtils.js.map +1 -1
  427. package/dist/src/services/shellExecutionService.js +6 -0
  428. package/dist/src/services/shellExecutionService.js.map +1 -1
  429. package/dist/src/skills/skillLoader.js +2 -2
  430. package/dist/src/skills/skillLoader.js.map +1 -1
  431. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +3 -1
  432. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +35 -4
  433. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  434. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.d.ts +0 -1
  435. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +19 -5
  436. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  437. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +14 -1
  438. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +29 -1
  439. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  440. package/dist/src/telemetry/conseca-logger.d.ts +9 -0
  441. package/dist/src/telemetry/conseca-logger.js +91 -0
  442. package/dist/src/telemetry/conseca-logger.js.map +1 -0
  443. package/dist/src/telemetry/conseca-logger.test.d.ts +6 -0
  444. package/dist/src/telemetry/conseca-logger.test.js +89 -0
  445. package/dist/src/telemetry/conseca-logger.test.js.map +1 -0
  446. package/dist/src/telemetry/gcp-exporters.js +1 -2
  447. package/dist/src/telemetry/gcp-exporters.js.map +1 -1
  448. package/dist/src/telemetry/index.d.ts +2 -1
  449. package/dist/src/telemetry/index.js +2 -1
  450. package/dist/src/telemetry/index.js.map +1 -1
  451. package/dist/src/telemetry/integration.test.circular.js +3 -0
  452. package/dist/src/telemetry/integration.test.circular.js.map +1 -1
  453. package/dist/src/telemetry/loggers.d.ts +1 -2
  454. package/dist/src/telemetry/loggers.js +3 -13
  455. package/dist/src/telemetry/loggers.js.map +1 -1
  456. package/dist/src/telemetry/loggers.test.circular.js +3 -0
  457. package/dist/src/telemetry/loggers.test.circular.js.map +1 -1
  458. package/dist/src/telemetry/loggers.test.js +6 -5
  459. package/dist/src/telemetry/loggers.test.js.map +1 -1
  460. package/dist/src/telemetry/metrics.d.ts +1 -3
  461. package/dist/src/telemetry/metrics.js +3 -2
  462. package/dist/src/telemetry/metrics.js.map +1 -1
  463. package/dist/src/telemetry/metrics.test.js +7 -3
  464. package/dist/src/telemetry/metrics.test.js.map +1 -1
  465. package/dist/src/telemetry/sanitize.test.js +19 -18
  466. package/dist/src/telemetry/sanitize.test.js.map +1 -1
  467. package/dist/src/telemetry/semantic.d.ts +7 -9
  468. package/dist/src/telemetry/semantic.js +8 -8
  469. package/dist/src/telemetry/semantic.js.map +1 -1
  470. package/dist/src/telemetry/types.d.ts +42 -4
  471. package/dist/src/telemetry/types.js +87 -2
  472. package/dist/src/telemetry/types.js.map +1 -1
  473. package/dist/src/telemetry/uiTelemetry.d.ts +1 -2
  474. package/dist/src/telemetry/uiTelemetry.js.map +1 -1
  475. package/dist/src/telemetry/uiTelemetry.test.js +1 -2
  476. package/dist/src/telemetry/uiTelemetry.test.js.map +1 -1
  477. package/dist/src/tools/ask-user.test.js +1 -19
  478. package/dist/src/tools/ask-user.test.js.map +1 -1
  479. package/dist/src/tools/confirmation-policy.test.js +14 -17
  480. package/dist/src/tools/confirmation-policy.test.js.map +1 -1
  481. package/dist/src/tools/definitions/dynamic-declaration-helpers.js +1 -1
  482. package/dist/src/tools/definitions/dynamic-declaration-helpers.js.map +1 -1
  483. package/dist/src/tools/definitions/model-family-sets/default-legacy.js +14 -16
  484. package/dist/src/tools/definitions/model-family-sets/default-legacy.js.map +1 -1
  485. package/dist/src/tools/definitions/model-family-sets/gemini-3.js +24 -59
  486. package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
  487. package/dist/src/tools/diff-utils.d.ts +9 -0
  488. package/dist/src/tools/diff-utils.js +66 -0
  489. package/dist/src/tools/diff-utils.js.map +1 -0
  490. package/dist/src/tools/diff-utils.test.d.ts +6 -0
  491. package/dist/src/tools/diff-utils.test.js +53 -0
  492. package/dist/src/tools/diff-utils.test.js.map +1 -0
  493. package/dist/src/tools/edit.d.ts +9 -4
  494. package/dist/src/tools/edit.js +203 -34
  495. package/dist/src/tools/edit.js.map +1 -1
  496. package/dist/src/tools/edit.test.js +225 -10
  497. package/dist/src/tools/edit.test.js.map +1 -1
  498. package/dist/src/tools/enter-plan-mode.js +1 -1
  499. package/dist/src/tools/enter-plan-mode.js.map +1 -1
  500. package/dist/src/tools/enter-plan-mode.test.js +1 -1
  501. package/dist/src/tools/enter-plan-mode.test.js.map +1 -1
  502. package/dist/src/tools/exit-plan-mode.js +10 -24
  503. package/dist/src/tools/exit-plan-mode.js.map +1 -1
  504. package/dist/src/tools/exit-plan-mode.test.js +1 -1
  505. package/dist/src/tools/exit-plan-mode.test.js.map +1 -1
  506. package/dist/src/tools/grep-utils.d.ts +49 -0
  507. package/dist/src/tools/grep-utils.js +139 -0
  508. package/dist/src/tools/grep-utils.js.map +1 -0
  509. package/dist/src/tools/grep.js +4 -44
  510. package/dist/src/tools/grep.js.map +1 -1
  511. package/dist/src/tools/grep.test.js +21 -2
  512. package/dist/src/tools/grep.test.js.map +1 -1
  513. package/dist/src/tools/ls.js +6 -1
  514. package/dist/src/tools/ls.js.map +1 -1
  515. package/dist/src/tools/ls.test.js +2 -2
  516. package/dist/src/tools/ls.test.js.map +1 -1
  517. package/dist/src/tools/mcp-client-manager.js +16 -18
  518. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  519. package/dist/src/tools/mcp-client-manager.test.js +51 -0
  520. package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
  521. package/dist/src/tools/mcp-client.d.ts +22 -1
  522. package/dist/src/tools/mcp-client.js +95 -36
  523. package/dist/src/tools/mcp-client.js.map +1 -1
  524. package/dist/src/tools/mcp-client.test.js +148 -20
  525. package/dist/src/tools/mcp-client.test.js.map +1 -1
  526. package/dist/src/tools/mcp-tool.d.ts +15 -5
  527. package/dist/src/tools/mcp-tool.js +36 -8
  528. package/dist/src/tools/mcp-tool.js.map +1 -1
  529. package/dist/src/tools/memoryTool.js +1 -1
  530. package/dist/src/tools/memoryTool.js.map +1 -1
  531. package/dist/src/tools/memoryTool.test.js +5 -0
  532. package/dist/src/tools/memoryTool.test.js.map +1 -1
  533. package/dist/src/tools/omissionPlaceholderDetector.d.ts +15 -0
  534. package/dist/src/tools/omissionPlaceholderDetector.js +90 -0
  535. package/dist/src/tools/omissionPlaceholderDetector.js.map +1 -0
  536. package/dist/src/tools/omissionPlaceholderDetector.test.d.ts +6 -0
  537. package/dist/src/tools/omissionPlaceholderDetector.test.js +49 -0
  538. package/dist/src/tools/omissionPlaceholderDetector.test.js.map +1 -0
  539. package/dist/src/tools/read-file.d.ts +4 -4
  540. package/dist/src/tools/read-file.js +17 -10
  541. package/dist/src/tools/read-file.js.map +1 -1
  542. package/dist/src/tools/read-file.test.js +20 -10
  543. package/dist/src/tools/read-file.test.js.map +1 -1
  544. package/dist/src/tools/ripGrep.js +49 -46
  545. package/dist/src/tools/ripGrep.js.map +1 -1
  546. package/dist/src/tools/ripGrep.test.js +52 -37
  547. package/dist/src/tools/ripGrep.test.js.map +1 -1
  548. package/dist/src/tools/shell.d.ts +2 -2
  549. package/dist/src/tools/shell.js +2 -2
  550. package/dist/src/tools/shell.js.map +1 -1
  551. package/dist/src/tools/shell.test.js +1 -2
  552. package/dist/src/tools/shell.test.js.map +1 -1
  553. package/dist/src/tools/tool-names.d.ts +0 -6
  554. package/dist/src/tools/tool-names.js +0 -15
  555. package/dist/src/tools/tool-names.js.map +1 -1
  556. package/dist/src/tools/tool-registry.d.ts +1 -0
  557. package/dist/src/tools/tool-registry.js +33 -6
  558. package/dist/src/tools/tool-registry.js.map +1 -1
  559. package/dist/src/tools/tool-registry.test.js +47 -0
  560. package/dist/src/tools/tool-registry.test.js.map +1 -1
  561. package/dist/src/tools/tools.d.ts +21 -1
  562. package/dist/src/tools/tools.js +19 -3
  563. package/dist/src/tools/tools.js.map +1 -1
  564. package/dist/src/tools/tools.test.js +24 -0
  565. package/dist/src/tools/tools.test.js.map +1 -1
  566. package/dist/src/tools/web-fetch.d.ts +9 -1
  567. package/dist/src/tools/web-fetch.js +273 -34
  568. package/dist/src/tools/web-fetch.js.map +1 -1
  569. package/dist/src/tools/web-fetch.test.js +303 -30
  570. package/dist/src/tools/web-fetch.test.js.map +1 -1
  571. package/dist/src/tools/write-file.js +14 -10
  572. package/dist/src/tools/write-file.js.map +1 -1
  573. package/dist/src/tools/write-file.test.js +75 -0
  574. package/dist/src/tools/write-file.test.js.map +1 -1
  575. package/dist/src/tools/write-todos.d.ts +2 -2
  576. package/dist/src/tools/write-todos.js +1 -1
  577. package/dist/src/tools/write-todos.js.map +1 -1
  578. package/dist/src/tools/xcode-mcp-fix-transport.js +4 -1
  579. package/dist/src/tools/xcode-mcp-fix-transport.js.map +1 -1
  580. package/dist/src/utils/approvalModeUtils.d.ts +14 -0
  581. package/dist/src/utils/approvalModeUtils.js +35 -0
  582. package/dist/src/utils/approvalModeUtils.js.map +1 -0
  583. package/dist/src/utils/approvalModeUtils.test.d.ts +6 -0
  584. package/dist/src/utils/approvalModeUtils.test.js +36 -0
  585. package/dist/src/utils/approvalModeUtils.test.js.map +1 -0
  586. package/dist/src/utils/authConsent.d.ts +1 -1
  587. package/dist/src/utils/authConsent.js +10 -8
  588. package/dist/src/utils/authConsent.js.map +1 -1
  589. package/dist/src/utils/authConsent.test.js +89 -44
  590. package/dist/src/utils/authConsent.test.js.map +1 -1
  591. package/dist/src/utils/compatibility.d.ts +41 -0
  592. package/dist/src/utils/compatibility.js +112 -0
  593. package/dist/src/utils/compatibility.js.map +1 -0
  594. package/dist/src/utils/compatibility.test.d.ts +6 -0
  595. package/dist/src/utils/compatibility.test.js +233 -0
  596. package/dist/src/utils/compatibility.test.js.map +1 -0
  597. package/dist/src/utils/editCorrector.js +22 -29
  598. package/dist/src/utils/editCorrector.js.map +1 -1
  599. package/dist/src/utils/editCorrector.test.js.map +1 -1
  600. package/dist/src/utils/envExpansion.d.ts +18 -0
  601. package/dist/src/utils/envExpansion.js +46 -0
  602. package/dist/src/utils/envExpansion.js.map +1 -0
  603. package/dist/src/utils/envExpansion.test.d.ts +6 -0
  604. package/dist/src/utils/envExpansion.test.js +110 -0
  605. package/dist/src/utils/envExpansion.test.js.map +1 -0
  606. package/dist/src/utils/errors.d.ts +1 -0
  607. package/dist/src/utils/errors.js +55 -10
  608. package/dist/src/utils/errors.js.map +1 -1
  609. package/dist/src/utils/errors.test.js +27 -1
  610. package/dist/src/utils/errors.test.js.map +1 -1
  611. package/dist/src/utils/events.d.ts +17 -0
  612. package/dist/src/utils/events.js +12 -0
  613. package/dist/src/utils/events.js.map +1 -1
  614. package/dist/src/utils/events.test.d.ts +1 -1
  615. package/dist/src/utils/events.test.js +50 -3
  616. package/dist/src/utils/events.test.js.map +1 -1
  617. package/dist/src/utils/fastAckHelper.js +2 -1
  618. package/dist/src/utils/fastAckHelper.js.map +1 -1
  619. package/dist/src/utils/fetch.d.ts +1 -1
  620. package/dist/src/utils/fetch.js +15 -2
  621. package/dist/src/utils/fetch.js.map +1 -1
  622. package/dist/src/utils/fileDiffUtils.d.ts +2 -2
  623. package/dist/src/utils/fileDiffUtils.js +1 -2
  624. package/dist/src/utils/fileDiffUtils.js.map +1 -1
  625. package/dist/src/utils/fileUtils.d.ts +5 -3
  626. package/dist/src/utils/fileUtils.js +25 -16
  627. package/dist/src/utils/fileUtils.js.map +1 -1
  628. package/dist/src/utils/fileUtils.test.js +14 -13
  629. package/dist/src/utils/fileUtils.test.js.map +1 -1
  630. package/dist/src/utils/filesearch/fileSearch.js +4 -1
  631. package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
  632. package/dist/src/utils/getFolderStructure.test.js +4 -5
  633. package/dist/src/utils/getFolderStructure.test.js.map +1 -1
  634. package/dist/src/utils/getPty.js +4 -0
  635. package/dist/src/utils/getPty.js.map +1 -1
  636. package/dist/src/utils/googleErrors.js +29 -5
  637. package/dist/src/utils/googleErrors.js.map +1 -1
  638. package/dist/src/utils/googleQuotaErrors.js +10 -0
  639. package/dist/src/utils/googleQuotaErrors.js.map +1 -1
  640. package/dist/src/utils/googleQuotaErrors.test.js +16 -1
  641. package/dist/src/utils/googleQuotaErrors.test.js.map +1 -1
  642. package/dist/src/utils/memoryDiscovery.js +2 -0
  643. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  644. package/dist/src/utils/memoryDiscovery.test.js +1 -2
  645. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  646. package/dist/src/utils/retry.d.ts +1 -1
  647. package/dist/src/utils/retry.js +9 -4
  648. package/dist/src/utils/retry.js.map +1 -1
  649. package/dist/src/utils/retry.test.js +15 -12
  650. package/dist/src/utils/retry.test.js.map +1 -1
  651. package/dist/src/utils/safeJsonStringify.js +3 -0
  652. package/dist/src/utils/safeJsonStringify.js.map +1 -1
  653. package/dist/src/utils/schemaValidator.js +5 -3
  654. package/dist/src/utils/schemaValidator.js.map +1 -1
  655. package/dist/src/utils/session.d.ts +1 -0
  656. package/dist/src/utils/session.js +3 -0
  657. package/dist/src/utils/session.js.map +1 -1
  658. package/dist/src/utils/sessionUtils.d.ts +14 -0
  659. package/dist/src/utils/sessionUtils.js +113 -0
  660. package/dist/src/utils/sessionUtils.js.map +1 -0
  661. package/dist/src/utils/sessionUtils.test.d.ts +1 -0
  662. package/dist/src/utils/sessionUtils.test.js +137 -0
  663. package/dist/src/utils/sessionUtils.test.js.map +1 -0
  664. package/dist/src/utils/shell-utils.js +1 -0
  665. package/dist/src/utils/shell-utils.js.map +1 -1
  666. package/dist/src/utils/stdio.js +6 -0
  667. package/dist/src/utils/stdio.js.map +1 -1
  668. package/dist/src/utils/textUtils.d.ts +9 -0
  669. package/dist/src/utils/textUtils.js +15 -0
  670. package/dist/src/utils/textUtils.js.map +1 -1
  671. package/dist/src/utils/textUtils.test.js +42 -1
  672. package/dist/src/utils/textUtils.test.js.map +1 -1
  673. package/dist/src/utils/toolCallContext.d.ts +0 -5
  674. package/dist/src/utils/toolCallContext.js +1 -1
  675. package/dist/src/utils/toolCallContext.js.map +1 -1
  676. package/dist/src/utils/userAccountManager.js +3 -0
  677. package/dist/src/utils/userAccountManager.js.map +1 -1
  678. package/dist/tsconfig.tsbuildinfo +1 -1
  679. package/package.json +6 -3
  680. package/dist/docs/architecture.md +0 -80
  681. package/dist/docs/cli/index.md +0 -123
  682. package/dist/docs/core/concepts.md +0 -137
  683. package/dist/docs/get-started/configuration-v1.md +0 -882
  684. package/dist/google-gemini-cli-core-0.30.0-preview.5.tgz +0 -0
  685. /package/dist/docs/{core → reference}/memport.md +0 -0
  686. /package/dist/docs/{core → reference}/tools-api.md +0 -0
  687. /package/dist/docs/{cli → resources}/uninstall.md +0 -0
@@ -39,7 +39,7 @@ import { shouldAttemptBrowserLaunch } from '../utils/browser.js';
39
39
  import { ideContextStore } from '../ide/ideContext.js';
40
40
  import { WriteTodosTool } from '../tools/write-todos.js';
41
41
  import { StandardFileSystemService } from '../services/fileSystemService.js';
42
- import { logRipgrepFallback, logFlashFallback } from '../telemetry/loggers.js';
42
+ import { logRipgrepFallback, logFlashFallback, logApprovalModeSwitch, logApprovalModeDuration, } from '../telemetry/loggers.js';
43
43
  import { RipgrepFallbackEvent, FlashFallbackEvent, ApprovalModeSwitchEvent, ApprovalModeDurationEvent, } from '../telemetry/types.js';
44
44
  import { ModelAvailabilityService } from '../availability/modelAvailabilityService.js';
45
45
  import { ModelRouterService } from '../routing/modelRouterService.js';
@@ -64,9 +64,16 @@ import { ExperimentFlags } from '../code_assist/experiments/flagNames.js';
64
64
  import { debugLogger } from '../utils/debugLogger.js';
65
65
  import { SkillManager } from '../skills/skillManager.js';
66
66
  import { startupProfiler } from '../telemetry/startupProfiler.js';
67
- import { logApprovalModeSwitch, logApprovalModeDuration, } from '../telemetry/loggers.js';
68
67
  import { fetchAdminControls } from '../code_assist/admin/admin_controls.js';
69
68
  import { isSubpath } from '../utils/paths.js';
69
+ import { UserHintService } from './userHintService.js';
70
+ import { WORKSPACE_POLICY_TIER } from '../policy/config.js';
71
+ import { loadPoliciesFromToml } from '../policy/toml-loader.js';
72
+ import { CheckerRunner } from '../safety/checker-runner.js';
73
+ import { ContextBuilder } from '../safety/context-builder.js';
74
+ import { CheckerRegistry } from '../safety/registry.js';
75
+ import { ConsecaSafetyChecker } from '../safety/conseca/conseca.js';
76
+ import { DEFAULT_MAX_ATTEMPTS } from '../utils/retry.js';
70
77
  import { DEFAULT_FILE_FILTERING_OPTIONS, DEFAULT_MEMORY_FILE_FILTERING_OPTIONS, } from './constants.js';
71
78
  import { DEFAULT_TOOL_PROTECTION_THRESHOLD, DEFAULT_MIN_PRUNABLE_TOKENS_THRESHOLD, DEFAULT_PROTECT_LATEST_TURN, } from '../services/toolOutputMaskingService.js';
72
79
  import { SimpleExtensionLoader, } from '../utils/extensionLoader.js';
@@ -173,6 +180,7 @@ export class Config {
173
180
  workspaceContext;
174
181
  debugMode;
175
182
  question;
183
+ enableConseca;
176
184
  coreTools;
177
185
  /** @deprecated Use Policy Engine instead */
178
186
  allowedTools;
@@ -205,7 +213,8 @@ export class Config {
205
213
  bugCommand;
206
214
  model;
207
215
  disableLoopDetection;
208
- hasAccessToPreviewModel = false;
216
+ // null = unknown (quota not fetched); true = has access; false = definitively no access
217
+ hasAccessToPreviewModel = null;
209
218
  noBrowser;
210
219
  folderTrust;
211
220
  ideMode;
@@ -245,13 +254,13 @@ export class Config {
245
254
  interactive;
246
255
  ptyInfo;
247
256
  trustedFolder;
257
+ directWebFetch;
248
258
  useRipgrep;
249
259
  enableInteractiveShell;
250
260
  skipNextSpeakerCheck;
251
261
  useBackgroundColor;
252
262
  shellExecutionConfig;
253
263
  extensionManagement = true;
254
- enablePromptCompletion = false;
255
264
  truncateToolOutputThreshold;
256
265
  compressionTruncationCounter = 0;
257
266
  initialized = false;
@@ -262,9 +271,11 @@ export class Config {
262
271
  useWriteTodos;
263
272
  messageBus;
264
273
  policyEngine;
274
+ policyUpdateConfirmationRequest;
265
275
  outputSettings;
266
276
  continueOnFailedApiCall;
267
277
  retryFetchErrors;
278
+ maxAttempts;
268
279
  enableShellOutputEfficiency;
269
280
  shellToolInactivityTimeout;
270
281
  fakeResponses;
@@ -293,11 +304,14 @@ export class Config {
293
304
  experimentalJitContext;
294
305
  disableLLMCorrection;
295
306
  planEnabled;
307
+ planModeRoutingEnabled;
308
+ modelSteering;
296
309
  contextManager;
297
310
  terminalBackground = undefined;
298
311
  remoteAdminSettings;
299
312
  latestApiRequest;
300
- lastModeSwitchTime = Date.now();
313
+ lastModeSwitchTime = performance.now();
314
+ userHintService;
301
315
  approvedPlanPath;
302
316
  constructor(params) {
303
317
  this.sessionId = params.sessionId;
@@ -372,12 +386,15 @@ export class Config {
372
386
  this.agents = params.agents ?? {};
373
387
  this.disableLLMCorrection = params.disableLLMCorrection ?? true;
374
388
  this.planEnabled = params.plan ?? false;
389
+ this.planModeRoutingEnabled = params.planSettings?.modelRouting ?? true;
375
390
  this.enableEventDrivenScheduler = params.enableEventDrivenScheduler ?? true;
376
391
  this.skillsSupport = params.skillsSupport ?? true;
377
392
  this.disabledSkills = params.disabledSkills ?? [];
378
393
  this.adminSkillsEnabled = params.adminSkillsEnabled ?? true;
379
394
  this.modelAvailabilityService = new ModelAvailabilityService();
380
395
  this.experimentalJitContext = params.experimentalJitContext ?? false;
396
+ this.modelSteering = params.modelSteering ?? false;
397
+ this.userHintService = new UserHintService(() => this.isModelSteeringEnabled());
381
398
  this.toolOutputMasking = {
382
399
  enabled: params.toolOutputMasking?.enabled ?? true,
383
400
  toolProtectionThreshold: params.toolOutputMasking?.toolProtectionThreshold ??
@@ -409,6 +426,7 @@ export class Config {
409
426
  this.interactive = params.interactive ?? false;
410
427
  this.ptyInfo = params.ptyInfo ?? 'child_process';
411
428
  this.trustedFolder = params.trustedFolder;
429
+ this.directWebFetch = params.directWebFetch ?? false;
412
430
  this.useRipgrep = params.useRipgrep ?? true;
413
431
  this.useBackgroundColor = params.useBackgroundColor ?? true;
414
432
  this.enableInteractiveShell = params.enableInteractiveShell ?? false;
@@ -438,15 +456,32 @@ export class Config {
438
456
  this.extensionManagement = params.extensionManagement ?? true;
439
457
  this.enableExtensionReloading = params.enableExtensionReloading ?? false;
440
458
  this.storage = new Storage(this.targetDir, this.sessionId);
459
+ this.storage.setCustomPlansDir(params.planSettings?.directory);
441
460
  this.fakeResponses = params.fakeResponses;
442
461
  this.recordResponses = params.recordResponses;
443
- this.enablePromptCompletion = params.enablePromptCompletion ?? false;
444
462
  this.fileExclusions = new FileExclusions(this);
445
463
  this.eventEmitter = params.eventEmitter;
464
+ this.enableConseca = params.enableConseca ?? false;
465
+ // Initialize Safety Infrastructure
466
+ const contextBuilder = new ContextBuilder(this);
467
+ const checkersPath = this.targetDir;
468
+ // The checkersPath is used to resolve external checkers. Since we do not have any external checkers currently, it is set to the targetDir.
469
+ const checkerRegistry = new CheckerRegistry(checkersPath);
470
+ const checkerRunner = new CheckerRunner(contextBuilder, checkerRegistry, {
471
+ checkersPath,
472
+ timeout: 30000, // 30 seconds to allow for LLM-based checkers
473
+ });
474
+ this.policyUpdateConfirmationRequest =
475
+ params.policyUpdateConfirmationRequest;
446
476
  this.policyEngine = new PolicyEngine({
447
477
  ...params.policyEngineConfig,
448
478
  approvalMode: params.approvalMode ?? params.policyEngineConfig?.approvalMode,
449
- });
479
+ }, checkerRunner);
480
+ // Register Conseca if enabled
481
+ if (this.enableConseca) {
482
+ debugLogger.log('[SAFETY] Registering Conseca Safety Checker');
483
+ ConsecaSafetyChecker.getInstance().setConfig(this);
484
+ }
450
485
  this.messageBus = new MessageBus(this.policyEngine, this.debugMode);
451
486
  this.acknowledgedAgentsService = new AcknowledgedAgentsService();
452
487
  this.skillManager = new SkillManager();
@@ -454,6 +489,7 @@ export class Config {
454
489
  format: params.output?.format ?? OutputFormat.TEXT,
455
490
  };
456
491
  this.retryFetchErrors = params.retryFetchErrors ?? false;
492
+ this.maxAttempts = Math.min(params.maxAttempts ?? DEFAULT_MAX_ATTEMPTS, DEFAULT_MAX_ATTEMPTS);
457
493
  this.disableYoloMode = params.disableYoloMode ?? false;
458
494
  this.rawOutput = params.rawOutput ?? false;
459
495
  this.acceptRawOutputRisk = params.acceptRawOutputRisk ?? false;
@@ -530,7 +566,7 @@ export class Config {
530
566
  }
531
567
  // Add plans directory to workspace context for plan file storage
532
568
  if (this.planEnabled) {
533
- const plansDir = this.storage.getProjectTempPlansDir();
569
+ const plansDir = this.storage.getPlansDir();
534
570
  await fs.promises.mkdir(plansDir, { recursive: true });
535
571
  this.workspaceContext.addDirectory(plansDir);
536
572
  }
@@ -630,8 +666,9 @@ export class Config {
630
666
  authType === AuthType.USE_VERTEX_AI) {
631
667
  this.setHasAccessToPreviewModel(true);
632
668
  }
633
- // Update model if user no longer has access to the preview model
634
- if (!this.hasAccessToPreviewModel && isPreviewModel(this.model)) {
669
+ // Only reset when we have explicit "no access" (hasAccessToPreviewModel === false).
670
+ // When null (quota not fetched) or true, we preserve the saved model.
671
+ if (isPreviewModel(this.model) && this.hasAccessToPreviewModel === false) {
635
672
  this.setModel(DEFAULT_GEMINI_MODEL_AUTO);
636
673
  }
637
674
  // Fetch admin controls
@@ -880,7 +917,7 @@ export class Config {
880
917
  return this.question;
881
918
  }
882
919
  getHasAccessToPreviewModel() {
883
- return this.hasAccessToPreviewModel;
920
+ return this.hasAccessToPreviewModel !== false;
884
921
  }
885
922
  setHasAccessToPreviewModel(hasAccess) {
886
923
  this.hasAccessToPreviewModel = hasAccess;
@@ -960,7 +997,7 @@ export class Config {
960
997
  *
961
998
  * May change over time.
962
999
  */
963
- getExcludeTools() {
1000
+ getExcludeTools(toolMetadata, allToolNames) {
964
1001
  // Right now this is present for backward compatibility with settings.json exclude
965
1002
  const excludeToolsSet = new Set([...(this.excludeTools ?? [])]);
966
1003
  for (const extension of this.getExtensionLoader().getExtensions()) {
@@ -971,7 +1008,7 @@ export class Config {
971
1008
  excludeToolsSet.add(tool);
972
1009
  }
973
1010
  }
974
- const policyExclusions = this.policyEngine.getExcludedTools();
1011
+ const policyExclusions = this.policyEngine.getExcludedTools(toolMetadata, allToolNames);
975
1012
  for (const tool of policyExclusions) {
976
1013
  excludeToolsSet.add(tool);
977
1014
  }
@@ -1063,6 +1100,9 @@ export class Config {
1063
1100
  isJitContextEnabled() {
1064
1101
  return this.experimentalJitContext;
1065
1102
  }
1103
+ isModelSteeringEnabled() {
1104
+ return this.modelSteering;
1105
+ }
1066
1106
  getToolOutputMaskingEnabled() {
1067
1107
  return this.toolOutputMasking.enabled;
1068
1108
  }
@@ -1112,20 +1152,44 @@ export class Config {
1112
1152
  getApprovalMode() {
1113
1153
  return this.policyEngine.getApprovalMode();
1114
1154
  }
1155
+ getPolicyUpdateConfirmationRequest() {
1156
+ return this.policyUpdateConfirmationRequest;
1157
+ }
1158
+ /**
1159
+ * Hot-loads workspace policies from the specified directory into the active policy engine.
1160
+ * This allows applying newly accepted policies without requiring an application restart.
1161
+ *
1162
+ * @param policyDir The directory containing the workspace policy TOML files.
1163
+ */
1164
+ async loadWorkspacePolicies(policyDir) {
1165
+ const { rules, checkers } = await loadPoliciesFromToml([policyDir], () => WORKSPACE_POLICY_TIER);
1166
+ // Clear existing workspace policies to prevent duplicates/stale rules
1167
+ this.policyEngine.removeRulesByTier(WORKSPACE_POLICY_TIER);
1168
+ this.policyEngine.removeCheckersByTier(WORKSPACE_POLICY_TIER);
1169
+ for (const rule of rules) {
1170
+ this.policyEngine.addRule(rule);
1171
+ }
1172
+ for (const checker of checkers) {
1173
+ this.policyEngine.addChecker(checker);
1174
+ }
1175
+ this.policyUpdateConfirmationRequest = undefined;
1176
+ debugLogger.debug(`Workspace policies loaded from: ${policyDir}`);
1177
+ }
1115
1178
  setApprovalMode(mode) {
1116
1179
  if (!this.isTrustedFolder() && mode !== ApprovalMode.DEFAULT) {
1117
1180
  throw new Error('Cannot enable privileged approval modes in an untrusted folder.');
1118
1181
  }
1119
1182
  const currentMode = this.getApprovalMode();
1120
1183
  if (currentMode !== mode) {
1121
- this.logCurrentModeDuration(this.getApprovalMode());
1184
+ this.logCurrentModeDuration(currentMode);
1122
1185
  logApprovalModeSwitch(this, new ApprovalModeSwitchEvent(currentMode, mode));
1123
- this.lastModeSwitchTime = Date.now();
1124
1186
  }
1125
1187
  this.policyEngine.setApprovalMode(mode);
1126
1188
  const isPlanModeTransition = currentMode !== mode &&
1127
1189
  (currentMode === ApprovalMode.PLAN || mode === ApprovalMode.PLAN);
1128
- if (isPlanModeTransition) {
1190
+ const isYoloModeTransition = currentMode !== mode &&
1191
+ (currentMode === ApprovalMode.YOLO || mode === ApprovalMode.YOLO);
1192
+ if (isPlanModeTransition || isYoloModeTransition) {
1129
1193
  this.syncPlanModeTools();
1130
1194
  this.updateSystemInstructionIfInitialized();
1131
1195
  }
@@ -1134,8 +1198,13 @@ export class Config {
1134
1198
  * Synchronizes enter/exit plan mode tools based on current mode.
1135
1199
  */
1136
1200
  syncPlanModeTools() {
1137
- const isPlanMode = this.getApprovalMode() === ApprovalMode.PLAN;
1138
1201
  const registry = this.getToolRegistry();
1202
+ if (!registry) {
1203
+ return;
1204
+ }
1205
+ const approvalMode = this.getApprovalMode();
1206
+ const isPlanMode = approvalMode === ApprovalMode.PLAN;
1207
+ const isYoloMode = approvalMode === ApprovalMode.YOLO;
1139
1208
  if (isPlanMode) {
1140
1209
  if (registry.getTool(ENTER_PLAN_MODE_TOOL_NAME)) {
1141
1210
  registry.unregisterTool(ENTER_PLAN_MODE_TOOL_NAME);
@@ -1148,7 +1217,7 @@ export class Config {
1148
1217
  if (registry.getTool(EXIT_PLAN_MODE_TOOL_NAME)) {
1149
1218
  registry.unregisterTool(EXIT_PLAN_MODE_TOOL_NAME);
1150
1219
  }
1151
- if (this.planEnabled) {
1220
+ if (this.planEnabled && !isYoloMode) {
1152
1221
  if (!registry.getTool(ENTER_PLAN_MODE_TOOL_NAME)) {
1153
1222
  registry.registerTool(new EnterPlanModeTool(this, this.messageBus));
1154
1223
  }
@@ -1169,9 +1238,12 @@ export class Config {
1169
1238
  * Logs the duration of the current approval mode.
1170
1239
  */
1171
1240
  logCurrentModeDuration(mode) {
1172
- const now = Date.now();
1241
+ const now = performance.now();
1173
1242
  const duration = now - this.lastModeSwitchTime;
1174
- logApprovalModeDuration(this, new ApprovalModeDurationEvent(mode, duration));
1243
+ if (duration > 0) {
1244
+ logApprovalModeDuration(this, new ApprovalModeDurationEvent(mode, duration));
1245
+ }
1246
+ this.lastModeSwitchTime = now;
1175
1247
  }
1176
1248
  isYoloModeDisabled() {
1177
1249
  return this.disableYoloMode || !this.isTrustedFolder();
@@ -1338,6 +1410,9 @@ export class Config {
1338
1410
  getApprovedPlanPath() {
1339
1411
  return this.approvedPlanPath;
1340
1412
  }
1413
+ getDirectWebFetch() {
1414
+ return this.directWebFetch;
1415
+ }
1341
1416
  setApprovedPlanPath(path) {
1342
1417
  this.approvedPlanPath = path;
1343
1418
  }
@@ -1461,6 +1536,9 @@ export class Config {
1461
1536
  await this.ensureExperimentsLoaded();
1462
1537
  return this.experiments?.flags[ExperimentFlags.USER_CACHING]?.boolValue;
1463
1538
  }
1539
+ async getPlanModeRoutingEnabled() {
1540
+ return this.planModeRoutingEnabled;
1541
+ }
1464
1542
  async getNumericalRoutingEnabled() {
1465
1543
  await this.ensureExperimentsLoaded();
1466
1544
  return !!this.experiments?.flags[ExperimentFlags.ENABLE_NUMERICAL_ROUTING]
@@ -1590,6 +1668,9 @@ export class Config {
1590
1668
  getRetryFetchErrors() {
1591
1669
  return this.retryFetchErrors;
1592
1670
  }
1671
+ getMaxAttempts() {
1672
+ return this.maxAttempts;
1673
+ }
1593
1674
  getEnableShellOutputEfficiency() {
1594
1675
  return this.enableShellOutputEfficiency;
1595
1676
  }
@@ -1612,9 +1693,6 @@ export class Config {
1612
1693
  getScreenReader() {
1613
1694
  return this.accessibility.screenReader ?? false;
1614
1695
  }
1615
- getEnablePromptCompletion() {
1616
- return this.enablePromptCompletion;
1617
- }
1618
1696
  getTruncateToolOutputThreshold() {
1619
1697
  return Math.min(
1620
1698
  // Estimate remaining context window in characters (1 token ~= 4 chars).
@@ -1654,6 +1732,32 @@ export class Config {
1654
1732
  getEnableHooksUI() {
1655
1733
  return this.enableHooksUI;
1656
1734
  }
1735
+ /**
1736
+ * Get override settings for a specific agent.
1737
+ * Reads from agents.overrides.<agentName>.
1738
+ */
1739
+ getAgentOverride(agentName) {
1740
+ return this.getAgentsSettings()?.overrides?.[agentName];
1741
+ }
1742
+ /**
1743
+ * Get browser agent configuration.
1744
+ * Combines generic AgentOverride fields with browser-specific customConfig.
1745
+ * This is the canonical way to access browser agent settings.
1746
+ */
1747
+ getBrowserAgentConfig() {
1748
+ const override = this.getAgentOverride('browser_agent');
1749
+ const customConfig = this.getAgentsSettings()?.browser ?? {};
1750
+ return {
1751
+ enabled: override?.enabled ?? false,
1752
+ model: override?.modelConfig?.model,
1753
+ customConfig: {
1754
+ sessionMode: customConfig.sessionMode ?? 'persistent',
1755
+ headless: customConfig.headless ?? false,
1756
+ profilePath: customConfig.profilePath,
1757
+ visualModel: customConfig.visualModel,
1758
+ },
1759
+ };
1760
+ }
1657
1761
  async createToolRegistry() {
1658
1762
  const registry = new ToolRegistry(this, this.messageBus);
1659
1763
  // helper to create & register core tools that are enabled
@@ -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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"}