@google/gemini-cli-core 0.35.0-preview.2 → 0.36.0-nightly.20260321.fc03891a1

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 (366) hide show
  1. package/README.md +0 -1
  2. package/dist/docs/CONTRIBUTING.md +0 -15
  3. package/dist/docs/admin/enterprise-controls.md +61 -0
  4. package/dist/docs/changelogs/index.md +11 -0
  5. package/dist/docs/changelogs/latest.md +459 -209
  6. package/dist/docs/changelogs/preview.md +355 -454
  7. package/dist/docs/cli/checkpointing.md +3 -1
  8. package/dist/docs/cli/cli-reference.md +1 -0
  9. package/dist/docs/cli/custom-commands.md +7 -5
  10. package/dist/docs/cli/enterprise.md +15 -9
  11. package/dist/docs/cli/git-worktrees.md +107 -0
  12. package/dist/docs/cli/model-steering.md +4 -3
  13. package/dist/docs/cli/model.md +3 -1
  14. package/dist/docs/cli/notifications.md +4 -3
  15. package/dist/docs/cli/plan-mode.md +28 -8
  16. package/dist/docs/cli/sandbox.md +24 -4
  17. package/dist/docs/cli/session-management.md +6 -0
  18. package/dist/docs/cli/settings.md +14 -1
  19. package/dist/docs/cli/skills.md +4 -2
  20. package/dist/docs/cli/system-prompt.md +3 -1
  21. package/dist/docs/cli/telemetry.md +6 -3
  22. package/dist/docs/cli/themes.md +12 -8
  23. package/dist/docs/cli/tutorials/file-management.md +8 -6
  24. package/dist/docs/cli/tutorials/mcp-setup.md +5 -3
  25. package/dist/docs/cli/tutorials/memory-management.md +6 -6
  26. package/dist/docs/cli/tutorials/plan-mode-steering.md +4 -3
  27. package/dist/docs/cli/tutorials/shell-commands.md +3 -3
  28. package/dist/docs/core/remote-agents.md +8 -3
  29. package/dist/docs/core/subagents.md +21 -13
  30. package/dist/docs/extensions/reference.md +8 -3
  31. package/dist/docs/get-started/authentication.md +60 -50
  32. package/dist/docs/get-started/examples.md +3 -1
  33. package/dist/docs/get-started/gemini-3.md +11 -5
  34. package/dist/docs/hooks/index.md +3 -1
  35. package/dist/docs/hooks/writing-hooks.md +2 -2
  36. package/dist/docs/ide-integration/ide-companion-spec.md +5 -3
  37. package/dist/docs/ide-integration/index.md +8 -4
  38. package/dist/docs/issue-and-pr-automation.md +3 -1
  39. package/dist/docs/local-development.md +3 -1
  40. package/dist/docs/reference/commands.md +2 -2
  41. package/dist/docs/reference/configuration.md +410 -16
  42. package/dist/docs/reference/policy-engine.md +47 -19
  43. package/dist/docs/reference/tools.md +3 -1
  44. package/dist/docs/release-confidence.md +7 -3
  45. package/dist/docs/releases.md +11 -7
  46. package/dist/docs/resources/faq.md +13 -0
  47. package/dist/docs/resources/tos-privacy.md +4 -2
  48. package/dist/docs/resources/troubleshooting.md +3 -1
  49. package/dist/docs/sidebar.json +5 -0
  50. package/dist/docs/tools/mcp-server.md +17 -9
  51. package/dist/docs/tools/planning.md +3 -1
  52. package/dist/docs/tools/shell.md +4 -4
  53. package/dist/docs/tools/todos.md +2 -1
  54. package/dist/{google-gemini-cli-core-0.35.0-preview.1.tgz → google-gemini-cli-core-0.36.0-nightly.20260317.2f90b4653.tgz} +0 -0
  55. package/dist/src/agent/agent-session.d.ts +37 -0
  56. package/dist/src/agent/agent-session.js +168 -0
  57. package/dist/src/agent/agent-session.js.map +1 -0
  58. package/dist/src/agent/agent-session.test.d.ts +6 -0
  59. package/dist/src/agent/agent-session.test.js +217 -0
  60. package/dist/src/agent/agent-session.test.js.map +1 -0
  61. package/dist/src/agent/content-utils.d.ts +33 -0
  62. package/dist/src/agent/content-utils.js +135 -0
  63. package/dist/src/agent/content-utils.js.map +1 -0
  64. package/dist/src/agent/content-utils.test.d.ts +6 -0
  65. package/dist/src/agent/content-utils.test.js +223 -0
  66. package/dist/src/agent/content-utils.test.js.map +1 -0
  67. package/dist/src/agent/mock.d.ts +9 -12
  68. package/dist/src/agent/mock.js +88 -129
  69. package/dist/src/agent/mock.js.map +1 -1
  70. package/dist/src/agent/mock.test.js +114 -144
  71. package/dist/src/agent/mock.test.js.map +1 -1
  72. package/dist/src/agent/types.d.ts +21 -21
  73. package/dist/src/agents/a2a-client-manager.d.ts +2 -11
  74. package/dist/src/agents/a2a-client-manager.js +3 -19
  75. package/dist/src/agents/a2a-client-manager.js.map +1 -1
  76. package/dist/src/agents/a2a-client-manager.test.js +6 -10
  77. package/dist/src/agents/a2a-client-manager.test.js.map +1 -1
  78. package/dist/src/agents/agent-scheduler.d.ts +6 -0
  79. package/dist/src/agents/agent-scheduler.js +3 -2
  80. package/dist/src/agents/agent-scheduler.js.map +1 -1
  81. package/dist/src/agents/agent-scheduler.test.js +6 -0
  82. package/dist/src/agents/agent-scheduler.test.js.map +1 -1
  83. package/dist/src/agents/browser/browserAgentDefinition.js +10 -1
  84. package/dist/src/agents/browser/browserAgentDefinition.js.map +1 -1
  85. package/dist/src/agents/browser/browserAgentFactory.js +62 -1
  86. package/dist/src/agents/browser/browserAgentFactory.js.map +1 -1
  87. package/dist/src/agents/browser/browserAgentFactory.test.js +73 -0
  88. package/dist/src/agents/browser/browserAgentFactory.test.js.map +1 -1
  89. package/dist/src/agents/browser/browserAgentInvocation.js +2 -97
  90. package/dist/src/agents/browser/browserAgentInvocation.js.map +1 -1
  91. package/dist/src/agents/browser/browserAgentInvocation.test.js +30 -0
  92. package/dist/src/agents/browser/browserAgentInvocation.test.js.map +1 -1
  93. package/dist/src/agents/browser/browserManager.js +11 -0
  94. package/dist/src/agents/browser/browserManager.js.map +1 -1
  95. package/dist/src/agents/browser/browserManager.test.js +37 -0
  96. package/dist/src/agents/browser/browserManager.test.js.map +1 -1
  97. package/dist/src/agents/browser/mcpToolWrapper.d.ts +4 -2
  98. package/dist/src/agents/browser/mcpToolWrapper.js +30 -8
  99. package/dist/src/agents/browser/mcpToolWrapper.js.map +1 -1
  100. package/dist/src/agents/browser/mcpToolWrapper.test.js +30 -0
  101. package/dist/src/agents/browser/mcpToolWrapper.test.js.map +1 -1
  102. package/dist/src/agents/browser/mcpToolWrapperConfirmation.test.js +3 -3
  103. package/dist/src/agents/codebase-investigator.js +3 -3
  104. package/dist/src/agents/codebase-investigator.js.map +1 -1
  105. package/dist/src/agents/local-executor.d.ts +3 -1
  106. package/dist/src/agents/local-executor.js +138 -39
  107. package/dist/src/agents/local-executor.js.map +1 -1
  108. package/dist/src/agents/local-executor.test.js +305 -12
  109. package/dist/src/agents/local-executor.test.js.map +1 -1
  110. package/dist/src/agents/local-invocation.js +43 -24
  111. package/dist/src/agents/local-invocation.js.map +1 -1
  112. package/dist/src/agents/local-invocation.test.js +89 -14
  113. package/dist/src/agents/local-invocation.test.js.map +1 -1
  114. package/dist/src/agents/memory-manager-agent.d.ts +25 -0
  115. package/dist/src/agents/memory-manager-agent.js +137 -0
  116. package/dist/src/agents/memory-manager-agent.js.map +1 -0
  117. package/dist/src/agents/memory-manager-agent.test.d.ts +6 -0
  118. package/dist/src/agents/memory-manager-agent.test.js +117 -0
  119. package/dist/src/agents/memory-manager-agent.test.js.map +1 -0
  120. package/dist/src/agents/registry.js +21 -3
  121. package/dist/src/agents/registry.js.map +1 -1
  122. package/dist/src/agents/registry.test.js +23 -24
  123. package/dist/src/agents/registry.test.js.map +1 -1
  124. package/dist/src/agents/remote-invocation.d.ts +3 -1
  125. package/dist/src/agents/remote-invocation.js +10 -5
  126. package/dist/src/agents/remote-invocation.js.map +1 -1
  127. package/dist/src/agents/remote-invocation.test.js +64 -41
  128. package/dist/src/agents/remote-invocation.test.js.map +1 -1
  129. package/dist/src/agents/subagent-tool-wrapper.js +1 -1
  130. package/dist/src/agents/subagent-tool-wrapper.js.map +1 -1
  131. package/dist/src/agents/types.d.ts +12 -0
  132. package/dist/src/agents/types.js +14 -0
  133. package/dist/src/agents/types.js.map +1 -1
  134. package/dist/src/availability/policyHelpers.js +41 -1
  135. package/dist/src/availability/policyHelpers.js.map +1 -1
  136. package/dist/src/availability/policyHelpers.test.js +47 -0
  137. package/dist/src/availability/policyHelpers.test.js.map +1 -1
  138. package/dist/src/code_assist/admin/admin_controls.js +11 -0
  139. package/dist/src/code_assist/admin/admin_controls.js.map +1 -1
  140. package/dist/src/code_assist/admin/admin_controls.test.js +68 -0
  141. package/dist/src/code_assist/admin/admin_controls.test.js.map +1 -1
  142. package/dist/src/code_assist/admin/mcpUtils.d.ts +16 -1
  143. package/dist/src/code_assist/admin/mcpUtils.js +43 -0
  144. package/dist/src/code_assist/admin/mcpUtils.js.map +1 -1
  145. package/dist/src/code_assist/admin/mcpUtils.test.js +130 -1
  146. package/dist/src/code_assist/admin/mcpUtils.test.js.map +1 -1
  147. package/dist/src/code_assist/types.d.ts +458 -0
  148. package/dist/src/code_assist/types.js +26 -0
  149. package/dist/src/code_assist/types.js.map +1 -1
  150. package/dist/src/config/agent-loop-context.d.ts +6 -0
  151. package/dist/src/config/config.d.ts +41 -10
  152. package/dist/src/config/config.js +96 -19
  153. package/dist/src/config/config.js.map +1 -1
  154. package/dist/src/config/config.test.js +29 -1
  155. package/dist/src/config/config.test.js.map +1 -1
  156. package/dist/src/config/defaultModelConfigs.js +265 -9
  157. package/dist/src/config/defaultModelConfigs.js.map +1 -1
  158. package/dist/src/config/models.d.ts +13 -2
  159. package/dist/src/config/models.js +31 -3
  160. package/dist/src/config/models.js.map +1 -1
  161. package/dist/src/config/models.test.js +52 -7
  162. package/dist/src/config/models.test.js.map +1 -1
  163. package/dist/src/config/path-validation.test.d.ts +6 -0
  164. package/dist/src/config/path-validation.test.js +59 -0
  165. package/dist/src/config/path-validation.test.js.map +1 -0
  166. package/dist/src/core/client.d.ts +1 -0
  167. package/dist/src/core/client.js +6 -1
  168. package/dist/src/core/client.js.map +1 -1
  169. package/dist/src/core/client.test.js +9 -1
  170. package/dist/src/core/client.test.js.map +1 -1
  171. package/dist/src/core/contentGenerator.js +36 -6
  172. package/dist/src/core/contentGenerator.js.map +1 -1
  173. package/dist/src/core/contentGenerator.test.js +97 -3
  174. package/dist/src/core/contentGenerator.test.js.map +1 -1
  175. package/dist/src/core/geminiChat.js +2 -2
  176. package/dist/src/core/geminiChat.js.map +1 -1
  177. package/dist/src/core/prompts.test.js +10 -0
  178. package/dist/src/core/prompts.test.js.map +1 -1
  179. package/dist/src/generated/git-commit.d.ts +2 -2
  180. package/dist/src/generated/git-commit.js +2 -2
  181. package/dist/src/generated/git-commit.js.map +1 -1
  182. package/dist/src/ide/ide-connection-utils.js +2 -7
  183. package/dist/src/ide/ide-connection-utils.js.map +1 -1
  184. package/dist/src/ide/ide-connection-utils.test.js +7 -0
  185. package/dist/src/ide/ide-connection-utils.test.js.map +1 -1
  186. package/dist/src/index.d.ts +4 -0
  187. package/dist/src/index.js +4 -0
  188. package/dist/src/index.js.map +1 -1
  189. package/dist/src/policy/config.js +2 -0
  190. package/dist/src/policy/config.js.map +1 -1
  191. package/dist/src/policy/config.test.js +15 -0
  192. package/dist/src/policy/config.test.js.map +1 -1
  193. package/dist/src/policy/memory-manager-policy.test.d.ts +6 -0
  194. package/dist/src/policy/memory-manager-policy.test.js +80 -0
  195. package/dist/src/policy/memory-manager-policy.test.js.map +1 -0
  196. package/dist/src/policy/policies/memory-manager.toml +10 -0
  197. package/dist/src/policy/policies/plan.toml +14 -0
  198. package/dist/src/policy/policies/yolo.toml +1 -0
  199. package/dist/src/policy/policy-engine.js +33 -6
  200. package/dist/src/policy/policy-engine.js.map +1 -1
  201. package/dist/src/policy/policy-engine.test.js +85 -3
  202. package/dist/src/policy/policy-engine.test.js.map +1 -1
  203. package/dist/src/policy/policy-updater.test.js +44 -0
  204. package/dist/src/policy/policy-updater.test.js.map +1 -1
  205. package/dist/src/policy/toml-loader.js +2 -0
  206. package/dist/src/policy/toml-loader.js.map +1 -1
  207. package/dist/src/policy/types.d.ts +11 -0
  208. package/dist/src/policy/types.js +5 -0
  209. package/dist/src/policy/types.js.map +1 -1
  210. package/dist/src/prompts/promptProvider.js +5 -3
  211. package/dist/src/prompts/promptProvider.js.map +1 -1
  212. package/dist/src/prompts/promptProvider.test.js +1 -0
  213. package/dist/src/prompts/promptProvider.test.js.map +1 -1
  214. package/dist/src/prompts/snippets-memory-manager.test.d.ts +6 -0
  215. package/dist/src/prompts/snippets-memory-manager.test.js +31 -0
  216. package/dist/src/prompts/snippets-memory-manager.test.js.map +1 -0
  217. package/dist/src/prompts/snippets.d.ts +2 -0
  218. package/dist/src/prompts/snippets.js +7 -3
  219. package/dist/src/prompts/snippets.js.map +1 -1
  220. package/dist/src/prompts/snippets.legacy.d.ts +5 -0
  221. package/dist/src/prompts/snippets.legacy.js +30 -2
  222. package/dist/src/prompts/snippets.legacy.js.map +1 -1
  223. package/dist/src/routing/strategies/classifierStrategy.js +1 -1
  224. package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
  225. package/dist/src/routing/strategies/defaultStrategy.js +1 -1
  226. package/dist/src/routing/strategies/defaultStrategy.js.map +1 -1
  227. package/dist/src/routing/strategies/fallbackStrategy.js +1 -1
  228. package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -1
  229. package/dist/src/routing/strategies/numericalClassifierStrategy.js +1 -1
  230. package/dist/src/routing/strategies/numericalClassifierStrategy.js.map +1 -1
  231. package/dist/src/routing/strategies/overrideStrategy.js +1 -1
  232. package/dist/src/routing/strategies/overrideStrategy.js.map +1 -1
  233. package/dist/src/sandbox/macos/MacOsSandboxManager.d.ts +28 -0
  234. package/dist/src/sandbox/macos/MacOsSandboxManager.integration.test.d.ts +1 -0
  235. package/dist/src/sandbox/macos/MacOsSandboxManager.integration.test.js +160 -0
  236. package/dist/src/sandbox/macos/MacOsSandboxManager.integration.test.js.map +1 -0
  237. package/dist/src/sandbox/macos/MacOsSandboxManager.js +33 -0
  238. package/dist/src/sandbox/macos/MacOsSandboxManager.js.map +1 -0
  239. package/dist/src/sandbox/macos/MacOsSandboxManager.test.d.ts +1 -0
  240. package/dist/src/sandbox/macos/MacOsSandboxManager.test.js +87 -0
  241. package/dist/src/sandbox/macos/MacOsSandboxManager.test.js.map +1 -0
  242. package/dist/src/sandbox/macos/baseProfile.d.ts +20 -0
  243. package/dist/src/sandbox/macos/baseProfile.js +93 -0
  244. package/dist/src/sandbox/macos/baseProfile.js.map +1 -0
  245. package/dist/src/sandbox/macos/seatbeltArgsBuilder.d.ts +25 -0
  246. package/dist/src/sandbox/macos/seatbeltArgsBuilder.js +58 -0
  247. package/dist/src/sandbox/macos/seatbeltArgsBuilder.js.map +1 -0
  248. package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.d.ts +1 -0
  249. package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.js +80 -0
  250. package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.js.map +1 -0
  251. package/dist/src/scheduler/scheduler.js +2 -0
  252. package/dist/src/scheduler/scheduler.js.map +1 -1
  253. package/dist/src/services/contextManager.js +2 -3
  254. package/dist/src/services/contextManager.js.map +1 -1
  255. package/dist/src/services/contextManager.test.js +1 -1
  256. package/dist/src/services/contextManager.test.js.map +1 -1
  257. package/dist/src/services/modelConfigService.d.ts +36 -1
  258. package/dist/src/services/modelConfigService.js +66 -0
  259. package/dist/src/services/modelConfigService.js.map +1 -1
  260. package/dist/src/services/sandboxManager.d.ts +3 -4
  261. package/dist/src/services/sandboxManager.js +1 -14
  262. package/dist/src/services/sandboxManager.js.map +1 -1
  263. package/dist/src/services/sandboxManager.test.js +13 -16
  264. package/dist/src/services/sandboxManager.test.js.map +1 -1
  265. package/dist/src/services/sandboxManagerFactory.d.ts +11 -0
  266. package/dist/src/services/sandboxManagerFactory.js +31 -0
  267. package/dist/src/services/sandboxManagerFactory.js.map +1 -0
  268. package/dist/src/services/sandboxedFileSystemService.d.ts +17 -0
  269. package/dist/src/services/sandboxedFileSystemService.js +95 -0
  270. package/dist/src/services/sandboxedFileSystemService.js.map +1 -0
  271. package/dist/src/services/sandboxedFileSystemService.test.d.ts +6 -0
  272. package/dist/src/services/sandboxedFileSystemService.test.js +87 -0
  273. package/dist/src/services/sandboxedFileSystemService.test.js.map +1 -0
  274. package/dist/src/services/scripts/GeminiSandbox.cs +370 -0
  275. package/dist/src/services/shellExecutionService.d.ts +2 -0
  276. package/dist/src/services/shellExecutionService.js +79 -75
  277. package/dist/src/services/shellExecutionService.js.map +1 -1
  278. package/dist/src/services/trackerTypes.d.ts +1 -0
  279. package/dist/src/services/trackerTypes.js +1 -0
  280. package/dist/src/services/trackerTypes.js.map +1 -1
  281. package/dist/src/services/windowsSandboxManager.d.ts +27 -0
  282. package/dist/src/services/windowsSandboxManager.js +148 -0
  283. package/dist/src/services/windowsSandboxManager.js.map +1 -0
  284. package/dist/src/services/windowsSandboxManager.test.d.ts +6 -0
  285. package/dist/src/services/windowsSandboxManager.test.js +59 -0
  286. package/dist/src/services/windowsSandboxManager.test.js.map +1 -0
  287. package/dist/src/services/worktreeService.d.ts +33 -0
  288. package/dist/src/services/worktreeService.js +174 -0
  289. package/dist/src/services/worktreeService.js.map +1 -0
  290. package/dist/src/services/worktreeService.test.d.ts +6 -0
  291. package/dist/src/services/worktreeService.test.js +200 -0
  292. package/dist/src/services/worktreeService.test.js.map +1 -0
  293. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +4 -0
  294. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  295. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +1 -0
  296. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +2 -0
  297. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  298. package/dist/src/telemetry/loggers.test.js +62 -40
  299. package/dist/src/telemetry/loggers.test.js.map +1 -1
  300. package/dist/src/telemetry/types.d.ts +1 -0
  301. package/dist/src/telemetry/types.js +3 -0
  302. package/dist/src/telemetry/types.js.map +1 -1
  303. package/dist/src/tools/definitions/model-family-sets/default-legacy.js +8 -1
  304. package/dist/src/tools/definitions/model-family-sets/default-legacy.js.map +1 -1
  305. package/dist/src/tools/definitions/model-family-sets/gemini-3.js +8 -1
  306. package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
  307. package/dist/src/tools/exit-plan-mode.d.ts +6 -1
  308. package/dist/src/tools/exit-plan-mode.js +17 -6
  309. package/dist/src/tools/exit-plan-mode.js.map +1 -1
  310. package/dist/src/tools/exit-plan-mode.test.js +22 -1
  311. package/dist/src/tools/exit-plan-mode.test.js.map +1 -1
  312. package/dist/src/tools/mcp-client-manager.d.ts +22 -3
  313. package/dist/src/tools/mcp-client-manager.js +84 -32
  314. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  315. package/dist/src/tools/mcp-client-manager.test.js +76 -56
  316. package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
  317. package/dist/src/tools/mcp-client.d.ts +15 -6
  318. package/dist/src/tools/mcp-client.js +85 -71
  319. package/dist/src/tools/mcp-client.js.map +1 -1
  320. package/dist/src/tools/mcp-client.test.js +195 -88
  321. package/dist/src/tools/mcp-client.test.js.map +1 -1
  322. package/dist/src/tools/tool-registry.d.ts +2 -1
  323. package/dist/src/tools/tool-registry.js +12 -1
  324. package/dist/src/tools/tool-registry.js.map +1 -1
  325. package/dist/src/tools/tool-registry.test.js +15 -0
  326. package/dist/src/tools/tool-registry.test.js.map +1 -1
  327. package/dist/src/tools/tools.d.ts +1 -1
  328. package/dist/src/tools/tools.js.map +1 -1
  329. package/dist/src/tools/trackerTools.js +6 -1
  330. package/dist/src/tools/trackerTools.js.map +1 -1
  331. package/dist/src/tools/trackerTools.test.js +9 -1
  332. package/dist/src/tools/trackerTools.test.js.map +1 -1
  333. package/dist/src/tools/write-todos.js +1 -0
  334. package/dist/src/tools/write-todos.js.map +1 -1
  335. package/dist/src/tools/write-todos.test.js +4 -1
  336. package/dist/src/tools/write-todos.test.js.map +1 -1
  337. package/dist/src/utils/agent-sanitization-utils.d.ts +23 -0
  338. package/dist/src/utils/agent-sanitization-utils.js +123 -0
  339. package/dist/src/utils/agent-sanitization-utils.js.map +1 -0
  340. package/dist/src/utils/agent-sanitization-utils.test.d.ts +6 -0
  341. package/dist/src/utils/agent-sanitization-utils.test.js +83 -0
  342. package/dist/src/utils/agent-sanitization-utils.test.js.map +1 -0
  343. package/dist/src/utils/browserConsent.d.ts +17 -0
  344. package/dist/src/utils/browserConsent.js +78 -0
  345. package/dist/src/utils/browserConsent.js.map +1 -0
  346. package/dist/src/utils/browserConsent.test.d.ts +6 -0
  347. package/dist/src/utils/browserConsent.test.js +93 -0
  348. package/dist/src/utils/browserConsent.test.js.map +1 -0
  349. package/dist/src/utils/compatibility.d.ts +16 -0
  350. package/dist/src/utils/compatibility.js +58 -9
  351. package/dist/src/utils/compatibility.js.map +1 -1
  352. package/dist/src/utils/compatibility.test.js +127 -29
  353. package/dist/src/utils/compatibility.test.js.map +1 -1
  354. package/dist/src/utils/memoryDiscovery.d.ts +2 -2
  355. package/dist/src/utils/memoryDiscovery.js +5 -10
  356. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  357. package/dist/src/utils/memoryDiscovery.test.js +37 -37
  358. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  359. package/dist/src/utils/memoryImportProcessor.js +5 -5
  360. package/dist/src/utils/memoryImportProcessor.js.map +1 -1
  361. package/dist/src/utils/surface.js +4 -3
  362. package/dist/src/utils/surface.js.map +1 -1
  363. package/dist/src/utils/toolCallContext.d.ts +2 -0
  364. package/dist/src/utils/toolCallContext.js.map +1 -1
  365. package/dist/tsconfig.tsbuildinfo +1 -1
  366. package/package.json +2 -1
@@ -196,6 +196,10 @@ export interface BrowserAgentCustomConfig {
196
196
  allowedDomains?: string[];
197
197
  /** Disable user input on the browser window during automation. Default: true in non-headless mode */
198
198
  disableUserInput?: boolean;
199
+ /** Whether to confirm sensitive actions (e.g., fill_form, evaluate_script). */
200
+ confirmSensitiveActions?: boolean;
201
+ /** Whether to block file uploads. */
202
+ blockFileUploads?: boolean;
199
203
  }
200
204
  /**
201
205
  * All information required in CLI to handle an extension. Defined in Core so
@@ -258,6 +262,7 @@ export interface ExtensionInstallMetadata {
258
262
  import { DEFAULT_FILE_FILTERING_OPTIONS, DEFAULT_MEMORY_FILE_FILTERING_OPTIONS, type FileFilteringOptions } from './constants.js';
259
263
  import { type ExtensionLoader } from '../utils/extensionLoader.js';
260
264
  import { McpClientManager } from '../tools/mcp-client-manager.js';
265
+ import { A2AClientManager } from '../agents/a2a-client-manager.js';
261
266
  import { type McpContext } from '../tools/mcp-client.js';
262
267
  import type { EnvironmentSanitizationConfig } from '../services/environmentSanitization.js';
263
268
  export type { FileFilteringOptions };
@@ -294,7 +299,7 @@ export interface SandboxConfig {
294
299
  enabled: boolean;
295
300
  allowedPaths?: string[];
296
301
  networkAccess?: boolean;
297
- command?: 'docker' | 'podman' | 'sandbox-exec' | 'runsc' | 'lxc';
302
+ command?: 'docker' | 'podman' | 'sandbox-exec' | 'runsc' | 'lxc' | 'windows-native';
298
303
  image?: string;
299
304
  }
300
305
  export declare const ConfigSchema: z.ZodObject<{
@@ -302,16 +307,16 @@ export declare const ConfigSchema: z.ZodObject<{
302
307
  enabled: z.ZodDefault<z.ZodBoolean>;
303
308
  allowedPaths: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
304
309
  networkAccess: z.ZodDefault<z.ZodBoolean>;
305
- command: z.ZodOptional<z.ZodEnum<["docker", "podman", "sandbox-exec", "runsc", "lxc"]>>;
310
+ command: z.ZodOptional<z.ZodEnum<["docker", "podman", "sandbox-exec", "runsc", "lxc", "windows-native"]>>;
306
311
  image: z.ZodOptional<z.ZodString>;
307
312
  }, "strip", z.ZodTypeAny, {
308
313
  enabled: boolean;
309
314
  allowedPaths: string[];
310
315
  networkAccess: boolean;
311
- command?: "sandbox-exec" | "docker" | "podman" | "runsc" | "lxc" | undefined;
316
+ command?: "sandbox-exec" | "docker" | "podman" | "runsc" | "lxc" | "windows-native" | undefined;
312
317
  image?: string | undefined;
313
318
  }, {
314
- command?: "sandbox-exec" | "docker" | "podman" | "runsc" | "lxc" | undefined;
319
+ command?: "sandbox-exec" | "docker" | "podman" | "runsc" | "lxc" | "windows-native" | undefined;
315
320
  image?: string | undefined;
316
321
  enabled?: boolean | undefined;
317
322
  allowedPaths?: string[] | undefined;
@@ -320,10 +325,10 @@ export declare const ConfigSchema: z.ZodObject<{
320
325
  enabled: boolean;
321
326
  allowedPaths: string[];
322
327
  networkAccess: boolean;
323
- command?: "sandbox-exec" | "docker" | "podman" | "runsc" | "lxc" | undefined;
328
+ command?: "sandbox-exec" | "docker" | "podman" | "runsc" | "lxc" | "windows-native" | undefined;
324
329
  image?: string | undefined;
325
330
  }, {
326
- command?: "sandbox-exec" | "docker" | "podman" | "runsc" | "lxc" | undefined;
331
+ command?: "sandbox-exec" | "docker" | "podman" | "runsc" | "lxc" | "windows-native" | undefined;
327
332
  image?: string | undefined;
328
333
  enabled?: boolean | undefined;
329
334
  allowedPaths?: string[] | undefined;
@@ -334,12 +339,12 @@ export declare const ConfigSchema: z.ZodObject<{
334
339
  enabled: boolean;
335
340
  allowedPaths: string[];
336
341
  networkAccess: boolean;
337
- command?: "sandbox-exec" | "docker" | "podman" | "runsc" | "lxc" | undefined;
342
+ command?: "sandbox-exec" | "docker" | "podman" | "runsc" | "lxc" | "windows-native" | undefined;
338
343
  image?: string | undefined;
339
344
  } | undefined;
340
345
  }, {
341
346
  sandbox?: {
342
- command?: "sandbox-exec" | "docker" | "podman" | "runsc" | "lxc" | undefined;
347
+ command?: "sandbox-exec" | "docker" | "podman" | "runsc" | "lxc" | "windows-native" | undefined;
343
348
  image?: string | undefined;
344
349
  enabled?: boolean | undefined;
345
350
  allowedPaths?: string[] | undefined;
@@ -363,6 +368,11 @@ export interface PolicyUpdateConfirmationRequest {
363
368
  policyDir: string;
364
369
  newHash: string;
365
370
  }
371
+ export interface WorktreeSettings {
372
+ name: string;
373
+ path: string;
374
+ baseSha: string;
375
+ }
366
376
  export interface ConfigParameters {
367
377
  sessionId: string;
368
378
  clientName?: string;
@@ -374,6 +384,7 @@ export interface ConfigParameters {
374
384
  debugMode: boolean;
375
385
  question?: string;
376
386
  coreTools?: string[];
387
+ mainAgentTools?: string[];
377
388
  /** @deprecated Use Policy Engine instead */
378
389
  allowedTools?: string[];
379
390
  /** @deprecated Use Policy Engine instead */
@@ -481,12 +492,14 @@ export interface ConfigParameters {
481
492
  disabledSkills?: string[];
482
493
  adminSkillsEnabled?: boolean;
483
494
  experimentalJitContext?: boolean;
495
+ experimentalMemoryManager?: boolean;
484
496
  topicUpdateNarration?: boolean;
485
497
  toolOutputMasking?: Partial<ToolOutputMaskingConfig>;
486
498
  disableLLMCorrection?: boolean;
487
499
  plan?: boolean;
488
500
  tracker?: boolean;
489
501
  planSettings?: PlanSettings;
502
+ worktreeSettings?: WorktreeSettings;
490
503
  modelSteering?: boolean;
491
504
  onModelChange?: (model: string) => void;
492
505
  mcpEnabled?: boolean;
@@ -505,13 +518,14 @@ export interface ConfigParameters {
505
518
  export declare class Config implements McpContext, AgentLoopContext {
506
519
  private _toolRegistry;
507
520
  private mcpClientManager?;
521
+ private readonly a2aClientManager?;
508
522
  private allowedMcpServers;
509
523
  private blockedMcpServers;
510
524
  private allowedEnvironmentVariables;
511
525
  private blockedEnvironmentVariables;
512
526
  private readonly enableEnvironmentVariableRedaction;
513
- private promptRegistry;
514
- private resourceRegistry;
527
+ private _promptRegistry;
528
+ private _resourceRegistry;
515
529
  private agentRegistry;
516
530
  private readonly acknowledgedAgentsService;
517
531
  private skillManager;
@@ -529,8 +543,10 @@ export declare class Config implements McpContext, AgentLoopContext {
529
543
  private workspaceContext;
530
544
  private readonly debugMode;
531
545
  private readonly question;
546
+ private readonly worktreeSettings;
532
547
  readonly enableConseca: boolean;
533
548
  private readonly coreTools;
549
+ private readonly mainAgentTools;
534
550
  /** @deprecated Use Policy Engine instead */
535
551
  private readonly allowedTools;
536
552
  /** @deprecated Use Policy Engine instead */
@@ -653,6 +669,7 @@ export declare class Config implements McpContext, AgentLoopContext {
653
669
  private disabledSkills;
654
670
  private readonly adminSkillsEnabled;
655
671
  private readonly experimentalJitContext;
672
+ private readonly experimentalMemoryManager;
656
673
  private readonly topicUpdateNarration;
657
674
  private readonly disableLLMCorrection;
658
675
  private readonly planEnabled;
@@ -692,6 +709,16 @@ export declare class Config implements McpContext, AgentLoopContext {
692
709
  * Use the injected AgentLoopContext instead.
693
710
  */
694
711
  get toolRegistry(): ToolRegistry;
712
+ /**
713
+ * @deprecated Do not access directly on Config.
714
+ * Use the injected AgentLoopContext instead.
715
+ */
716
+ get promptRegistry(): PromptRegistry;
717
+ /**
718
+ * @deprecated Do not access directly on Config.
719
+ * Use the injected AgentLoopContext instead.
720
+ */
721
+ get resourceRegistry(): ResourceRegistry;
695
722
  /**
696
723
  * @deprecated Do not access directly on Config.
697
724
  * Use the injected AgentLoopContext instead.
@@ -704,6 +731,7 @@ export declare class Config implements McpContext, AgentLoopContext {
704
731
  get geminiClient(): GeminiClient;
705
732
  get sandboxManager(): SandboxManager;
706
733
  getSessionId(): string;
734
+ getWorktreeSettings(): WorktreeSettings | undefined;
707
735
  getClientName(): string | undefined;
708
736
  setSessionId(sessionId: string): void;
709
737
  setTerminalBackground(terminalBackground: string | undefined): void;
@@ -770,6 +798,7 @@ export declare class Config implements McpContext, AgentLoopContext {
770
798
  resetTime?: string;
771
799
  } | undefined;
772
800
  getCoreTools(): string[] | undefined;
801
+ getMainAgentTools(): string[] | undefined;
773
802
  getAllowedTools(): string[] | undefined;
774
803
  /**
775
804
  * All the excluded tools from static configuration, loaded extensions, or
@@ -792,6 +821,7 @@ export declare class Config implements McpContext, AgentLoopContext {
792
821
  getExtensionsEnabled(): boolean;
793
822
  getExtensionRegistryURI(): string | undefined;
794
823
  getMcpClientManager(): McpClientManager | undefined;
824
+ getA2AClientManager(): A2AClientManager | undefined;
795
825
  setUserInteractedWithMcp(): void;
796
826
  /** @deprecated Use getMcpClientManager().getLastError() directly */
797
827
  getLastMcpError(serverName: string): string | undefined;
@@ -823,6 +853,7 @@ export declare class Config implements McpContext, AgentLoopContext {
823
853
  getEnvironmentMemory(): string;
824
854
  getContextManager(): ContextManager | undefined;
825
855
  isJitContextEnabled(): boolean;
856
+ isMemoryManagerEnabled(): boolean;
826
857
  isTopicUpdateNarrationEnabled(): boolean;
827
858
  isModelSteeringEnabled(): boolean;
828
859
  getToolOutputMaskingEnabled(): boolean;
@@ -32,11 +32,13 @@ import { BaseLlmClient } from '../core/baseLlmClient.js';
32
32
  import { LocalLiteRtLmClient } from '../core/localLiteRtLmClient.js';
33
33
  import { FileDiscoveryService } from '../services/fileDiscoveryService.js';
34
34
  import { GitService } from '../services/gitService.js';
35
- import { createSandboxManager, } from '../services/sandboxManager.js';
35
+ import { NoopSandboxManager, } from '../services/sandboxManager.js';
36
+ import { createSandboxManager } from '../services/sandboxManagerFactory.js';
37
+ import { SandboxedFileSystemService } from '../services/sandboxedFileSystemService.js';
36
38
  import { initializeTelemetry, DEFAULT_TELEMETRY_TARGET, DEFAULT_OTLP_ENDPOINT, uiTelemetryService, } from '../telemetry/index.js';
37
39
  import { coreEvents, CoreEvent } from '../utils/events.js';
38
40
  import { tokenLimit } from '../core/tokenLimits.js';
39
- import { DEFAULT_GEMINI_EMBEDDING_MODEL, DEFAULT_GEMINI_FLASH_MODEL, DEFAULT_GEMINI_MODEL, DEFAULT_GEMINI_MODEL_AUTO, isAutoModel, isPreviewModel, PREVIEW_GEMINI_FLASH_MODEL, PREVIEW_GEMINI_MODEL, PREVIEW_GEMINI_MODEL_AUTO, resolveModel, } from './models.js';
41
+ import { DEFAULT_GEMINI_EMBEDDING_MODEL, DEFAULT_GEMINI_FLASH_MODEL, DEFAULT_GEMINI_MODEL, DEFAULT_GEMINI_MODEL_AUTO, isAutoModel, isPreviewModel, isGemini2Model, PREVIEW_GEMINI_FLASH_MODEL, PREVIEW_GEMINI_MODEL, PREVIEW_GEMINI_MODEL_AUTO, resolveModel, } from './models.js';
40
42
  import { shouldAttemptBrowserLaunch } from '../utils/browser.js';
41
43
  import { ideContextStore } from '../ide/ideContext.js';
42
44
  import { WriteTodosTool } from '../tools/write-todos.js';
@@ -83,6 +85,7 @@ import { DEFAULT_FILE_FILTERING_OPTIONS, DEFAULT_MEMORY_FILE_FILTERING_OPTIONS,
83
85
  import { DEFAULT_TOOL_PROTECTION_THRESHOLD, DEFAULT_MIN_PRUNABLE_TOKENS_THRESHOLD, DEFAULT_PROTECT_LATEST_TURN, } from '../services/toolOutputMaskingService.js';
84
86
  import { SimpleExtensionLoader, } from '../utils/extensionLoader.js';
85
87
  import { McpClientManager } from '../tools/mcp-client-manager.js';
88
+ import { A2AClientManager } from '../agents/a2a-client-manager.js';
86
89
  import {} from '../tools/mcp-client.js';
87
90
  import { getErrorMessage } from '../utils/errors.js';
88
91
  export { DEFAULT_FILE_FILTERING_OPTIONS, DEFAULT_MEMORY_FILE_FILTERING_OPTIONS, };
@@ -167,7 +170,14 @@ export const ConfigSchema = z.object({
167
170
  allowedPaths: z.array(z.string()).default([]),
168
171
  networkAccess: z.boolean().default(false),
169
172
  command: z
170
- .enum(['docker', 'podman', 'sandbox-exec', 'runsc', 'lxc'])
173
+ .enum([
174
+ 'docker',
175
+ 'podman',
176
+ 'sandbox-exec',
177
+ 'runsc',
178
+ 'lxc',
179
+ 'windows-native',
180
+ ])
171
181
  .optional(),
172
182
  image: z.string().optional(),
173
183
  })
@@ -185,13 +195,14 @@ export const ConfigSchema = z.object({
185
195
  export class Config {
186
196
  _toolRegistry;
187
197
  mcpClientManager;
198
+ a2aClientManager;
188
199
  allowedMcpServers;
189
200
  blockedMcpServers;
190
201
  allowedEnvironmentVariables;
191
202
  blockedEnvironmentVariables;
192
203
  enableEnvironmentVariableRedaction;
193
- promptRegistry;
194
- resourceRegistry;
204
+ _promptRegistry;
205
+ _resourceRegistry;
195
206
  agentRegistry;
196
207
  acknowledgedAgentsService;
197
208
  skillManager;
@@ -209,8 +220,10 @@ export class Config {
209
220
  workspaceContext;
210
221
  debugMode;
211
222
  question;
223
+ worktreeSettings;
212
224
  enableConseca;
213
225
  coreTools;
226
+ mainAgentTools;
214
227
  /** @deprecated Use Policy Engine instead */
215
228
  allowedTools;
216
229
  /** @deprecated Use Policy Engine instead */
@@ -342,6 +355,7 @@ export class Config {
342
355
  disabledSkills;
343
356
  adminSkillsEnabled;
344
357
  experimentalJitContext;
358
+ experimentalMemoryManager;
345
359
  topicUpdateNarration;
346
360
  disableLLMCorrection;
347
361
  planEnabled;
@@ -362,7 +376,6 @@ export class Config {
362
376
  this.approvedPlanPath = undefined;
363
377
  this.embeddingModel =
364
378
  params.embeddingModel ?? DEFAULT_GEMINI_EMBEDDING_MODEL;
365
- this.fileSystemService = new StandardFileSystemService();
366
379
  this.sandbox = params.sandbox
367
380
  ? {
368
381
  enabled: params.sandbox.enabled ?? false,
@@ -376,13 +389,23 @@ export class Config {
376
389
  allowedPaths: [],
377
390
  networkAccess: false,
378
391
  };
392
+ this._sandboxManager = createSandboxManager(this.sandbox, params.targetDir);
393
+ if (!(this._sandboxManager instanceof NoopSandboxManager) &&
394
+ this.sandbox.enabled) {
395
+ this.fileSystemService = new SandboxedFileSystemService(this._sandboxManager, params.targetDir);
396
+ }
397
+ else {
398
+ this.fileSystemService = new StandardFileSystemService();
399
+ }
379
400
  this.targetDir = path.resolve(params.targetDir);
380
401
  this.folderTrust = params.folderTrust ?? false;
381
402
  this.workspaceContext = new WorkspaceContext(this.targetDir, []);
382
403
  this.pendingIncludeDirectories = params.includeDirectories ?? [];
383
404
  this.debugMode = params.debugMode;
384
405
  this.question = params.question;
406
+ this.worktreeSettings = params.worktreeSettings;
385
407
  this.coreTools = params.coreTools;
408
+ this.mainAgentTools = params.mainAgentTools;
386
409
  this.allowedTools = params.allowedTools;
387
410
  this.excludeTools = params.excludeTools;
388
411
  this.toolDiscoveryCommand = params.toolDiscoveryCommand;
@@ -463,6 +486,18 @@ export class Config {
463
486
  ...DEFAULT_MODEL_CONFIGS.modelDefinitions,
464
487
  ...modelConfigServiceConfig.modelDefinitions,
465
488
  };
489
+ const mergedModelIdResolutions = {
490
+ ...DEFAULT_MODEL_CONFIGS.modelIdResolutions,
491
+ ...modelConfigServiceConfig.modelIdResolutions,
492
+ };
493
+ const mergedClassifierIdResolutions = {
494
+ ...DEFAULT_MODEL_CONFIGS.classifierIdResolutions,
495
+ ...modelConfigServiceConfig.classifierIdResolutions,
496
+ };
497
+ const mergedModelChains = {
498
+ ...DEFAULT_MODEL_CONFIGS.modelChains,
499
+ ...modelConfigServiceConfig.modelChains,
500
+ };
466
501
  modelConfigServiceConfig = {
467
502
  // Preserve other user settings like customAliases
468
503
  ...modelConfigServiceConfig,
@@ -471,10 +506,14 @@ export class Config {
471
506
  overrides: modelConfigServiceConfig.overrides ?? DEFAULT_MODEL_CONFIGS.overrides,
472
507
  // Use the merged model definitions
473
508
  modelDefinitions: mergedModelDefinitions,
509
+ modelIdResolutions: mergedModelIdResolutions,
510
+ classifierIdResolutions: mergedClassifierIdResolutions,
511
+ modelChains: mergedModelChains,
474
512
  };
475
513
  }
476
514
  this.modelConfigService = new ModelConfigService(modelConfigServiceConfig ?? DEFAULT_MODEL_CONFIGS);
477
515
  this.experimentalJitContext = params.experimentalJitContext ?? true;
516
+ this.experimentalMemoryManager = params.experimentalMemoryManager ?? false;
478
517
  this.topicUpdateNarration = params.topicUpdateNarration ?? false;
479
518
  this.modelSteering = params.modelSteering ?? false;
480
519
  this.injectionService = new InjectionService(() => this.isModelSteeringEnabled());
@@ -521,14 +560,17 @@ export class Config {
521
560
  showColor: params.shellExecutionConfig?.showColor ?? false,
522
561
  pager: params.shellExecutionConfig?.pager ?? 'cat',
523
562
  sanitizationConfig: this.sanitizationConfig,
524
- sandboxManager: this.sandboxManager,
563
+ sandboxManager: this._sandboxManager,
564
+ sandboxConfig: this.sandbox,
525
565
  };
526
566
  this.truncateToolOutputThreshold =
527
567
  params.truncateToolOutputThreshold ??
528
568
  DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD;
529
- this.useWriteTodos = isPreviewModel(this.model, this)
530
- ? false
531
- : (params.useWriteTodos ?? true);
569
+ const isGemini2 = isGemini2Model(this.model);
570
+ this.useWriteTodos =
571
+ isGemini2 && !isPreviewModel(this.model, this) && !this.trackerEnabled
572
+ ? (params.useWriteTodos ?? true)
573
+ : false;
532
574
  this.workspacePoliciesDir = params.workspacePoliciesDir;
533
575
  this.enableHooksUI = params.enableHooksUI ?? true;
534
576
  this.enableHooks = params.enableHooks ?? true;
@@ -617,8 +659,7 @@ export class Config {
617
659
  }
618
660
  }
619
661
  this._geminiClient = new GeminiClient(this);
620
- this._sandboxManager = createSandboxManager(params.toolSandboxing ?? false, this.targetDir);
621
- this.shellExecutionConfig.sandboxManager = this._sandboxManager;
662
+ this.a2aClientManager = new A2AClientManager(this);
622
663
  this.modelRouterService = new ModelRouterService(this);
623
664
  }
624
665
  get config() {
@@ -664,14 +705,19 @@ export class Config {
664
705
  if (this.getCheckpointingEnabled()) {
665
706
  await this.getGitService();
666
707
  }
667
- this.promptRegistry = new PromptRegistry();
668
- this.resourceRegistry = new ResourceRegistry();
708
+ this._promptRegistry = new PromptRegistry();
709
+ this._resourceRegistry = new ResourceRegistry();
669
710
  this.agentRegistry = new AgentRegistry(this);
670
711
  await this.agentRegistry.initialize();
671
712
  coreEvents.on(CoreEvent.AgentsRefreshed, this.onAgentsRefreshed);
672
713
  this._toolRegistry = await this.createToolRegistry();
673
714
  discoverToolsHandle?.end();
674
- this.mcpClientManager = new McpClientManager(this.clientVersion, this._toolRegistry, this, this.eventEmitter);
715
+ this.mcpClientManager = new McpClientManager(this.clientVersion, this, this.eventEmitter);
716
+ this.mcpClientManager.setMainRegistries({
717
+ toolRegistry: this._toolRegistry,
718
+ promptRegistry: this.promptRegistry,
719
+ resourceRegistry: this.resourceRegistry,
720
+ });
675
721
  // We do not await this promise so that the CLI can start up even if
676
722
  // MCP servers are slow to connect.
677
723
  this.mcpInitializationPromise = Promise.allSettled([
@@ -822,6 +868,20 @@ export class Config {
822
868
  get toolRegistry() {
823
869
  return this._toolRegistry;
824
870
  }
871
+ /**
872
+ * @deprecated Do not access directly on Config.
873
+ * Use the injected AgentLoopContext instead.
874
+ */
875
+ get promptRegistry() {
876
+ return this._promptRegistry;
877
+ }
878
+ /**
879
+ * @deprecated Do not access directly on Config.
880
+ * Use the injected AgentLoopContext instead.
881
+ */
882
+ get resourceRegistry() {
883
+ return this._resourceRegistry;
884
+ }
825
885
  /**
826
886
  * @deprecated Do not access directly on Config.
827
887
  * Use the injected AgentLoopContext instead.
@@ -842,6 +902,9 @@ export class Config {
842
902
  getSessionId() {
843
903
  return this.promptId;
844
904
  }
905
+ getWorktreeSettings() {
906
+ return this.worktreeSettings;
907
+ }
845
908
  getClientName() {
846
909
  return this.clientName;
847
910
  }
@@ -1056,13 +1119,13 @@ export class Config {
1056
1119
  return this.toolRegistry;
1057
1120
  }
1058
1121
  getPromptRegistry() {
1059
- return this.promptRegistry;
1122
+ return this._promptRegistry;
1060
1123
  }
1061
1124
  getSkillManager() {
1062
1125
  return this.skillManager;
1063
1126
  }
1064
1127
  getResourceRegistry() {
1065
- return this.resourceRegistry;
1128
+ return this._resourceRegistry;
1066
1129
  }
1067
1130
  getDebugMode() {
1068
1131
  return this.debugMode;
@@ -1154,6 +1217,9 @@ export class Config {
1154
1217
  getCoreTools() {
1155
1218
  return this.coreTools;
1156
1219
  }
1220
+ getMainAgentTools() {
1221
+ return this.mainAgentTools;
1222
+ }
1157
1223
  getAllowedTools() {
1158
1224
  return this.allowedTools;
1159
1225
  }
@@ -1212,6 +1278,9 @@ export class Config {
1212
1278
  getMcpClientManager() {
1213
1279
  return this.mcpClientManager;
1214
1280
  }
1281
+ getA2AClientManager() {
1282
+ return this.a2aClientManager;
1283
+ }
1215
1284
  setUserInteractedWithMcp() {
1216
1285
  this.mcpClientManager?.setUserInteractedWithMcp();
1217
1286
  }
@@ -1318,6 +1387,9 @@ export class Config {
1318
1387
  isJitContextEnabled() {
1319
1388
  return this.experimentalJitContext;
1320
1389
  }
1390
+ isMemoryManagerEnabled() {
1391
+ return this.experimentalMemoryManager;
1392
+ }
1321
1393
  isTopicUpdateNarrationEnabled() {
1322
1394
  return this.topicUpdateNarration;
1323
1395
  }
@@ -2032,6 +2104,8 @@ export class Config {
2032
2104
  visualModel: customConfig.visualModel,
2033
2105
  allowedDomains: customConfig.allowedDomains,
2034
2106
  disableUserInput: customConfig.disableUserInput,
2107
+ confirmSensitiveActions: customConfig.confirmSensitiveActions,
2108
+ blockFileUploads: customConfig.blockFileUploads,
2035
2109
  },
2036
2110
  };
2037
2111
  }
@@ -2045,7 +2119,8 @@ export class Config {
2045
2119
  !browserConfig.customConfig?.headless);
2046
2120
  }
2047
2121
  async createToolRegistry() {
2048
- const registry = new ToolRegistry(this, this.messageBus);
2122
+ const registry = new ToolRegistry(this, this.messageBus,
2123
+ /* isMainRegistry= */ true);
2049
2124
  // helper to create & register core tools that are enabled
2050
2125
  const maybeRegister = (toolClass, registerFn) => {
2051
2126
  const className = toolClass.name;
@@ -2092,7 +2167,9 @@ export class Config {
2092
2167
  maybeRegister(WriteFileTool, () => registry.registerTool(new WriteFileTool(this, this.messageBus)));
2093
2168
  maybeRegister(WebFetchTool, () => registry.registerTool(new WebFetchTool(this, this.messageBus)));
2094
2169
  maybeRegister(ShellTool, () => registry.registerTool(new ShellTool(this, this.messageBus)));
2095
- maybeRegister(MemoryTool, () => registry.registerTool(new MemoryTool(this.messageBus)));
2170
+ if (!this.isMemoryManagerEnabled()) {
2171
+ maybeRegister(MemoryTool, () => registry.registerTool(new MemoryTool(this.messageBus)));
2172
+ }
2096
2173
  maybeRegister(WebSearchTool, () => registry.registerTool(new WebSearchTool(this, this.messageBus)));
2097
2174
  maybeRegister(AskUserTool, () => registry.registerTool(new AskUserTool(this.messageBus)));
2098
2175
  if (this.getUseWriteTodos()) {