@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
@@ -8,8 +8,7 @@ import { AjvJsonSchemaValidator } from '@modelcontextprotocol/sdk/validation/ajv
8
8
  import { SSEClientTransport } from '@modelcontextprotocol/sdk/client/sse.js';
9
9
  import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
10
10
  import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
11
- import { ListResourcesResultSchema, ListRootsRequestSchema, ReadResourceResultSchema, ResourceListChangedNotificationSchema, ToolListChangedNotificationSchema, PromptListChangedNotificationSchema, } from '@modelcontextprotocol/sdk/types.js';
12
- import { ApprovalMode, PolicyDecision } from '../policy/types.js';
11
+ import { ListResourcesResultSchema, ListRootsRequestSchema, ReadResourceResultSchema, ResourceListChangedNotificationSchema, ToolListChangedNotificationSchema, PromptListChangedNotificationSchema, ProgressNotificationSchema, } from '@modelcontextprotocol/sdk/types.js';
13
12
  import { parse } from 'shell-quote';
14
13
  import { AuthProviderType } from '../config/config.js';
15
14
  import { GoogleCredentialProvider } from '../mcp/google-auth-provider.js';
@@ -18,14 +17,17 @@ import { DiscoveredMCPTool } from './mcp-tool.js';
18
17
  import { XcodeMcpBridgeFixTransport } from './xcode-mcp-fix-transport.js';
19
18
  import { basename } from 'node:path';
20
19
  import { pathToFileURL } from 'node:url';
20
+ import { randomUUID } from 'node:crypto';
21
21
  import { MCPOAuthProvider } from '../mcp/oauth-provider.js';
22
22
  import { MCPOAuthTokenStorage } from '../mcp/oauth-token-storage.js';
23
23
  import { OAuthUtils } from '../mcp/oauth-utils.js';
24
24
  import { getErrorMessage, isAuthenticationError, UnauthorizedError, } from '../utils/errors.js';
25
+ import { getToolCallContext } from '../utils/toolCallContext.js';
25
26
  import { debugLogger } from '../utils/debugLogger.js';
26
27
  import {} from '../confirmation-bus/message-bus.js';
27
28
  import { coreEvents } from '../utils/events.js';
28
29
  import { sanitizeEnvironment, } from '../services/environmentSanitization.js';
30
+ import { expandEnvVars } from '../utils/envExpansion.js';
29
31
  import { GEMINI_CLI_IDENTIFICATION_ENV_VAR, GEMINI_CLI_IDENTIFICATION_ENV_VAR_VALUE, } from '../services/shellExecutionService.js';
30
32
  export const MCP_DEFAULT_TIMEOUT_MSEC = 10 * 60 * 1000; // default to 10 minutes
31
33
  /**
@@ -80,6 +82,11 @@ export class McpClient {
80
82
  pendingResourceRefresh = false;
81
83
  isRefreshingPrompts = false;
82
84
  pendingPromptRefresh = false;
85
+ /**
86
+ * Map of progress tokens to tool call IDs.
87
+ * This allows us to route progress notifications to the correct tool call.
88
+ */
89
+ progressTokenToCallId = new Map();
83
90
  constructor(serverName, serverConfig, toolRegistry, promptRegistry, resourceRegistry, workspaceContext, cliConfig, debugMode, clientVersion, onToolsUpdated) {
84
91
  this.serverName = serverName;
85
92
  this.serverConfig = serverConfig;
@@ -178,8 +185,11 @@ export class McpClient {
178
185
  }
179
186
  async discoverTools(cliConfig, options) {
180
187
  this.assertConnected();
181
- return discoverTools(this.serverName, this.serverConfig, this.client, cliConfig, this.toolRegistry.getMessageBus(), options ?? {
182
- timeout: this.serverConfig.timeout ?? MCP_DEFAULT_TIMEOUT_MSEC,
188
+ return discoverTools(this.serverName, this.serverConfig, this.client, cliConfig, this.toolRegistry.getMessageBus(), {
189
+ ...(options ?? {
190
+ timeout: this.serverConfig.timeout ?? MCP_DEFAULT_TIMEOUT_MSEC,
191
+ }),
192
+ progressReporter: this,
183
193
  });
184
194
  }
185
195
  async fetchPrompts(options) {
@@ -230,6 +240,20 @@ export class McpClient {
230
240
  await this.refreshPrompts();
231
241
  });
232
242
  }
243
+ this.client.setNotificationHandler(ProgressNotificationSchema, (notification) => {
244
+ const { progressToken, progress, total, message } = notification.params;
245
+ const callId = this.progressTokenToCallId.get(progressToken);
246
+ if (callId) {
247
+ coreEvents.emitMcpProgress({
248
+ serverName: this.serverName,
249
+ callId,
250
+ progressToken,
251
+ progress,
252
+ total,
253
+ message,
254
+ });
255
+ }
256
+ });
233
257
  }
234
258
  /**
235
259
  * Refreshes the resources for this server by re-querying the MCP `resources/list` endpoint.
@@ -275,6 +299,18 @@ export class McpClient {
275
299
  this.pendingResourceRefresh = false;
276
300
  }
277
301
  }
302
+ /**
303
+ * Registers a progress token for a tool call.
304
+ */
305
+ registerProgressToken(token, callId) {
306
+ this.progressTokenToCallId.set(token, callId);
307
+ }
308
+ /**
309
+ * Unregisters a progress token.
310
+ */
311
+ unregisterProgressToken(token) {
312
+ this.progressTokenToCallId.delete(token);
313
+ }
278
314
  /**
279
315
  * Refreshes prompts for this server by re-querying the MCP `prompts/list` endpoint.
280
316
  */
@@ -469,16 +505,12 @@ function extractWWWAuthenticateHeader(errorString) {
469
505
  async function handleAutomaticOAuth(mcpServerName, mcpServerConfig, wwwAuthenticate) {
470
506
  try {
471
507
  debugLogger.log(`🔐 '${mcpServerName}' requires OAuth authentication`);
472
- // Always try to parse the resource metadata URI from the www-authenticate header
473
- let oauthConfig;
474
- const resourceMetadataUri = OAuthUtils.parseWWWAuthenticateHeader(wwwAuthenticate);
475
- if (resourceMetadataUri) {
476
- oauthConfig = await OAuthUtils.discoverOAuthConfig(resourceMetadataUri);
477
- }
478
- else if (hasNetworkTransport(mcpServerConfig)) {
508
+ const serverUrl = mcpServerConfig.httpUrl || mcpServerConfig.url;
509
+ // Try to discover OAuth config from the WWW-Authenticate header first
510
+ let oauthConfig = await OAuthUtils.discoverOAuthFromWWWAuthenticate(wwwAuthenticate, serverUrl);
511
+ if (!oauthConfig && hasNetworkTransport(mcpServerConfig)) {
479
512
  // Fallback: try to discover OAuth config from the base URL
480
- const serverUrl = new URL(mcpServerConfig.httpUrl || mcpServerConfig.url);
481
- const baseUrl = `${serverUrl.protocol}//${serverUrl.host}`;
513
+ const baseUrl = OAuthUtils.extractBaseUrl(serverUrl);
482
514
  oauthConfig = await OAuthUtils.discoverOAuthConfig(baseUrl);
483
515
  }
484
516
  if (!oauthConfig) {
@@ -490,12 +522,11 @@ async function handleAutomaticOAuth(mcpServerName, mcpServerConfig, wwwAuthentic
490
522
  const oauthAuthConfig = {
491
523
  enabled: true,
492
524
  authorizationUrl: oauthConfig.authorizationUrl,
525
+ issuer: oauthConfig.issuer,
493
526
  tokenUrl: oauthConfig.tokenUrl,
494
527
  scopes: oauthConfig.scopes || [],
495
528
  };
496
529
  // Perform OAuth authentication
497
- // Pass the server URL for proper discovery
498
- const serverUrl = mcpServerConfig.httpUrl || mcpServerConfig.url;
499
530
  debugLogger.log(`Starting OAuth authentication for server '${mcpServerName}'...`);
500
531
  const authProvider = new MCPOAuthProvider(new MCPOAuthTokenStorage());
501
532
  await authProvider.authenticate(mcpServerName, oauthAuthConfig, serverUrl);
@@ -514,9 +545,15 @@ async function handleAutomaticOAuth(mcpServerName, mcpServerConfig, wwwAuthentic
514
545
  * @param headers Additional headers
515
546
  */
516
547
  function createTransportRequestInit(mcpServerConfig, headers) {
548
+ const expandedHeaders = {};
549
+ if (mcpServerConfig.headers) {
550
+ for (const [key, value] of Object.entries(mcpServerConfig.headers)) {
551
+ expandedHeaders[key] = expandEnvVars(value, process.env);
552
+ }
553
+ }
517
554
  return {
518
555
  headers: {
519
- ...mcpServerConfig.headers,
556
+ ...expandedHeaders,
520
557
  ...headers,
521
558
  },
522
559
  };
@@ -696,20 +733,11 @@ export async function discoverTools(mcpServerName, mcpServerConfig, mcpClient, c
696
733
  if (!isEnabled(toolDef, mcpServerName, mcpServerConfig)) {
697
734
  continue;
698
735
  }
699
- const mcpCallableTool = new McpCallableTool(mcpClient, toolDef, mcpServerConfig.timeout ?? MCP_DEFAULT_TIMEOUT_MSEC);
700
- // Extract readOnlyHint from annotations
701
- const isReadOnly = toolDef.annotations?.readOnlyHint === true;
702
- const tool = new DiscoveredMCPTool(mcpCallableTool, mcpServerName, toolDef.name, toolDef.description ?? '', toolDef.inputSchema ?? { type: 'object', properties: {} }, messageBus, mcpServerConfig.trust, isReadOnly, undefined, cliConfig, mcpServerConfig.extension?.name, mcpServerConfig.extension?.id);
703
- // If the tool is read-only, allow it in Plan mode
704
- if (isReadOnly) {
705
- cliConfig.getPolicyEngine().addRule({
706
- toolName: tool.getFullyQualifiedName(),
707
- decision: PolicyDecision.ASK_USER,
708
- priority: 50, // Match priority of built-in plan tools
709
- modes: [ApprovalMode.PLAN],
710
- source: `MCP Annotation (readOnlyHint) - ${mcpServerName}`,
711
- });
712
- }
736
+ const mcpCallableTool = new McpCallableTool(mcpClient, toolDef, mcpServerConfig.timeout ?? MCP_DEFAULT_TIMEOUT_MSEC, options?.progressReporter);
737
+ // Extract annotations from the tool definition
738
+ const annotations = toolDef.annotations;
739
+ const isReadOnly = annotations?.readOnlyHint === true;
740
+ const tool = new DiscoveredMCPTool(mcpCallableTool, mcpServerName, toolDef.name, toolDef.description ?? '', toolDef.inputSchema ?? { type: 'object', properties: {} }, messageBus, mcpServerConfig.trust, isReadOnly, undefined, cliConfig, mcpServerConfig.extension?.name, mcpServerConfig.extension?.id, annotations);
713
741
  discoveredTools.push(tool);
714
742
  }
715
743
  catch (error) {
@@ -732,10 +760,12 @@ class McpCallableTool {
732
760
  client;
733
761
  toolDef;
734
762
  timeout;
735
- constructor(client, toolDef, timeout) {
763
+ progressReporter;
764
+ constructor(client, toolDef, timeout, progressReporter) {
736
765
  this.client = client;
737
766
  this.toolDef = toolDef;
738
767
  this.timeout = timeout;
768
+ this.progressReporter = progressReporter;
739
769
  }
740
770
  async tool() {
741
771
  return {
@@ -754,11 +784,17 @@ class McpCallableTool {
754
784
  throw new Error('McpCallableTool only supports single function call');
755
785
  }
756
786
  const call = functionCalls[0];
787
+ const progressToken = randomUUID();
788
+ const context = getToolCallContext();
789
+ if (context && this.progressReporter) {
790
+ this.progressReporter.registerProgressToken(progressToken, context.callId);
791
+ }
757
792
  try {
758
793
  const result = await this.client.callTool({
759
794
  name: call.name,
760
795
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
761
796
  arguments: call.args,
797
+ _meta: { progressToken },
762
798
  }, undefined, { timeout: this.timeout });
763
799
  return [
764
800
  {
@@ -785,6 +821,11 @@ class McpCallableTool {
785
821
  },
786
822
  ];
787
823
  }
824
+ finally {
825
+ if (this.progressReporter) {
826
+ this.progressReporter.unregisterProgressToken(progressToken);
827
+ }
828
+ }
788
829
  }
789
830
  }
790
831
  /**
@@ -1205,6 +1246,7 @@ export async function connectToMcpServer(clientVersion, mcpServerName, mcpServer
1205
1246
  const oauthAuthConfig = {
1206
1247
  enabled: true,
1207
1248
  authorizationUrl: oauthConfig.authorizationUrl,
1249
+ issuer: oauthConfig.issuer,
1208
1250
  tokenUrl: oauthConfig.tokenUrl,
1209
1251
  scopes: oauthConfig.scopes || [],
1210
1252
  };
@@ -1319,14 +1361,29 @@ export async function createTransport(mcpServerName, mcpServerConfig, debugMode,
1319
1361
  return createUrlTransport(mcpServerName, mcpServerConfig, transportOptions);
1320
1362
  }
1321
1363
  if (mcpServerConfig.command) {
1364
+ // 1. Sanitize the base process environment to prevent unintended leaks of system-wide secrets.
1365
+ const sanitizedEnv = sanitizeEnvironment(process.env, {
1366
+ ...sanitizationConfig,
1367
+ enableEnvironmentVariableRedaction: true,
1368
+ });
1369
+ const finalEnv = {
1370
+ [GEMINI_CLI_IDENTIFICATION_ENV_VAR]: GEMINI_CLI_IDENTIFICATION_ENV_VAR_VALUE,
1371
+ };
1372
+ for (const [key, value] of Object.entries(sanitizedEnv)) {
1373
+ if (value !== undefined) {
1374
+ finalEnv[key] = value;
1375
+ }
1376
+ }
1377
+ // Expand and merge explicit environment variables from the MCP configuration.
1378
+ if (mcpServerConfig.env) {
1379
+ for (const [key, value] of Object.entries(mcpServerConfig.env)) {
1380
+ finalEnv[key] = expandEnvVars(value, process.env);
1381
+ }
1382
+ }
1322
1383
  let transport = new StdioClientTransport({
1323
1384
  command: mcpServerConfig.command,
1324
1385
  args: mcpServerConfig.args || [],
1325
- env: {
1326
- ...sanitizeEnvironment(process.env, sanitizationConfig),
1327
- ...(mcpServerConfig.env || {}),
1328
- [GEMINI_CLI_IDENTIFICATION_ENV_VAR]: GEMINI_CLI_IDENTIFICATION_ENV_VAR_VALUE,
1329
- },
1386
+ env: finalEnv,
1330
1387
  cwd: mcpServerConfig.cwd,
1331
1388
  stderr: 'pipe',
1332
1389
  });
@@ -1339,6 +1396,7 @@ export async function createTransport(mcpServerName, mcpServerConfig, debugMode,
1339
1396
  if (debugMode) {
1340
1397
  // The `XcodeMcpBridgeFixTransport` wrapper hides the underlying `StdioClientTransport`,
1341
1398
  // which exposes `stderr` for debug logging. We need to unwrap it to attach the listener.
1399
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
1342
1400
  const underlyingTransport = transport instanceof XcodeMcpBridgeFixTransport
1343
1401
  ? // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-type-assertion
1344
1402
  transport.transport
@@ -1346,6 +1404,7 @@ export async function createTransport(mcpServerName, mcpServerConfig, debugMode,
1346
1404
  if (underlyingTransport instanceof StdioClientTransport &&
1347
1405
  underlyingTransport.stderr) {
1348
1406
  underlyingTransport.stderr.on('data', (data) => {
1407
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
1349
1408
  const stderrStr = data.toString().trim();
1350
1409
  debugLogger.debug(`[DEBUG] [MCP STDERR (${mcpServerName})]: `, stderrStr);
1351
1410
  });
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../../../src/tools/mcp-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../../../src/tools/mcp-client.ts"],"names":[],"mappings":"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"}