@machina.ai/cell-cli 1.41.1-rc2 → 1.45.1-rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (560) hide show
  1. package/dist/index.js +17 -17
  2. package/dist/index.js.map +1 -1
  3. package/dist/package.json +4 -4
  4. package/dist/src/acp/README.md +81 -0
  5. package/dist/src/acp/{commandHandler.d.ts → acpCommandHandler.d.ts} +1 -1
  6. package/dist/src/acp/{commandHandler.js → acpCommandHandler.js} +2 -2
  7. package/dist/src/acp/acpCommandHandler.js.map +1 -0
  8. package/dist/src/acp/{commandHandler.test.js → acpCommandHandler.test.js} +4 -5
  9. package/dist/src/acp/acpCommandHandler.test.js.map +1 -0
  10. package/dist/src/acp/acpErrors.d.ts +1 -1
  11. package/dist/src/acp/acpErrors.js +1 -1
  12. package/dist/src/acp/acpErrors.test.d.ts +1 -1
  13. package/dist/src/acp/acpErrors.test.js +1 -1
  14. package/dist/src/acp/{fileSystemService.d.ts → acpFileSystemService.d.ts} +1 -1
  15. package/dist/src/acp/{fileSystemService.js → acpFileSystemService.js} +7 -4
  16. package/dist/src/acp/acpFileSystemService.js.map +1 -0
  17. package/dist/src/acp/{fileSystemService.test.js → acpFileSystemService.test.js} +3 -3
  18. package/dist/src/acp/acpFileSystemService.test.js.map +1 -0
  19. package/dist/src/acp/acpResume.test.d.ts +1 -1
  20. package/dist/src/acp/acpResume.test.js +12 -7
  21. package/dist/src/acp/acpResume.test.js.map +1 -1
  22. package/dist/src/acp/acpRpcDispatcher.d.ts +28 -0
  23. package/dist/src/acp/acpRpcDispatcher.js +177 -0
  24. package/dist/src/acp/acpRpcDispatcher.js.map +1 -0
  25. package/dist/src/acp/acpRpcDispatcher.test.d.ts +6 -0
  26. package/dist/src/acp/acpRpcDispatcher.test.js +238 -0
  27. package/dist/src/acp/acpRpcDispatcher.test.js.map +1 -0
  28. package/dist/src/acp/acpSession.d.ts +36 -0
  29. package/dist/src/acp/{acpClient.js → acpSession.js} +333 -781
  30. package/dist/src/acp/acpSession.js.map +1 -0
  31. package/dist/src/acp/acpSession.test.d.ts +6 -0
  32. package/dist/src/acp/acpSession.test.js +739 -0
  33. package/dist/src/acp/acpSession.test.js.map +1 -0
  34. package/dist/src/acp/acpSessionManager.d.ts +30 -0
  35. package/dist/src/acp/acpSessionManager.js +206 -0
  36. package/dist/src/acp/acpSessionManager.js.map +1 -0
  37. package/dist/src/acp/acpSessionManager.test.d.ts +6 -0
  38. package/dist/src/acp/acpSessionManager.test.js +283 -0
  39. package/dist/src/acp/acpSessionManager.test.js.map +1 -0
  40. package/dist/src/acp/acpStdioTransport.d.ts +9 -0
  41. package/dist/src/acp/acpStdioTransport.js +23 -0
  42. package/dist/src/acp/acpStdioTransport.js.map +1 -0
  43. package/dist/src/acp/acpUtils.d.ts +56 -0
  44. package/dist/src/acp/acpUtils.js +288 -0
  45. package/dist/src/acp/acpUtils.js.map +1 -0
  46. package/dist/src/acp/commands/commandRegistry.d.ts +1 -1
  47. package/dist/src/acp/commands/commandRegistry.js +1 -1
  48. package/dist/src/acp/commands/extensions.d.ts +1 -1
  49. package/dist/src/acp/commands/extensions.js +1 -1
  50. package/dist/src/acp/commands/extensions.test.d.ts +6 -0
  51. package/dist/src/acp/commands/extensions.test.js +70 -0
  52. package/dist/src/acp/commands/extensions.test.js.map +1 -0
  53. package/dist/src/acp/commands/init.d.ts +1 -1
  54. package/dist/src/acp/commands/init.js +1 -1
  55. package/dist/src/acp/commands/memory.d.ts +3 -8
  56. package/dist/src/acp/commands/memory.js +18 -47
  57. package/dist/src/acp/commands/memory.js.map +1 -1
  58. package/dist/src/acp/commands/restore.d.ts +1 -1
  59. package/dist/src/acp/commands/restore.js +1 -1
  60. package/dist/src/acp/commands/restore.test.js +7 -13
  61. package/dist/src/acp/commands/restore.test.js.map +1 -1
  62. package/dist/src/acp/commands/types.d.ts +1 -1
  63. package/dist/src/acp/commands/types.js +1 -1
  64. package/dist/src/commands/extensions/configure.test.js +6 -2
  65. package/dist/src/commands/extensions/configure.test.js.map +1 -1
  66. package/dist/src/commands/extensions/utils.d.ts +1 -1
  67. package/dist/src/commands/extensions/utils.js +1 -2
  68. package/dist/src/commands/extensions/utils.js.map +1 -1
  69. package/dist/src/commands/mcp/list.js +19 -5
  70. package/dist/src/commands/mcp/list.js.map +1 -1
  71. package/dist/src/commands/mcp/list.test.js +285 -100
  72. package/dist/src/commands/mcp/list.test.js.map +1 -1
  73. package/dist/src/config/auth.d.ts +1 -1
  74. package/dist/src/config/auth.js +4 -3
  75. package/dist/src/config/auth.js.map +1 -1
  76. package/dist/src/config/auth.test.js +11 -4
  77. package/dist/src/config/auth.test.js.map +1 -1
  78. package/dist/src/config/config.d.ts +4 -0
  79. package/dist/src/config/config.js +65 -47
  80. package/dist/src/config/config.js.map +1 -1
  81. package/dist/src/config/config.test.js +25 -106
  82. package/dist/src/config/config.test.js.map +1 -1
  83. package/dist/src/config/extension-manager-agents.test.js +2 -0
  84. package/dist/src/config/extension-manager-agents.test.js.map +1 -1
  85. package/dist/src/config/extension-manager-hydration.test.js +2 -0
  86. package/dist/src/config/extension-manager-hydration.test.js.map +1 -1
  87. package/dist/src/config/extension-manager-scope.test.js +4 -2
  88. package/dist/src/config/extension-manager-scope.test.js.map +1 -1
  89. package/dist/src/config/extension-manager-themes.spec.js +2 -0
  90. package/dist/src/config/extension-manager-themes.spec.js.map +1 -1
  91. package/dist/src/config/extension-manager.d.ts +2 -2
  92. package/dist/src/config/extension-manager.js +2 -1
  93. package/dist/src/config/extension-manager.js.map +1 -1
  94. package/dist/src/config/extensionRegistryClient.js +0 -1
  95. package/dist/src/config/extensionRegistryClient.js.map +1 -1
  96. package/dist/src/config/extensions/consent.d.ts +1 -1
  97. package/dist/src/config/extensions/consent.js +5 -4
  98. package/dist/src/config/extensions/consent.js.map +1 -1
  99. package/dist/src/config/extensions/consent.test.js +22 -0
  100. package/dist/src/config/extensions/consent.test.js.map +1 -1
  101. package/dist/src/config/extensions/extensionEnablement.js +4 -2
  102. package/dist/src/config/extensions/extensionEnablement.js.map +1 -1
  103. package/dist/src/config/extensions/extensionSettings.d.ts +3 -3
  104. package/dist/src/config/extensions/extensionSettings.js +7 -3
  105. package/dist/src/config/extensions/extensionSettings.js.map +1 -1
  106. package/dist/src/config/extensions/variables.js +1 -3
  107. package/dist/src/config/extensions/variables.js.map +1 -1
  108. package/dist/src/config/footerItems.d.ts +4 -0
  109. package/dist/src/config/footerItems.js +6 -0
  110. package/dist/src/config/footerItems.js.map +1 -1
  111. package/dist/src/config/footerItems.test.js +1 -0
  112. package/dist/src/config/footerItems.test.js.map +1 -1
  113. package/dist/src/config/mcp/mcpServerEnablement.js +1 -1
  114. package/dist/src/config/mcp/mcpServerEnablement.js.map +1 -1
  115. package/dist/src/config/mutual-exclusivity.test.js +33 -0
  116. package/dist/src/config/mutual-exclusivity.test.js.map +1 -0
  117. package/dist/src/config/settings-env-isolation.test.d.ts +6 -0
  118. package/dist/src/config/settings-env-isolation.test.js +188 -0
  119. package/dist/src/config/settings-env-isolation.test.js.map +1 -0
  120. package/dist/src/config/settings.d.ts +15 -1
  121. package/dist/src/config/settings.js +85 -10
  122. package/dist/src/config/settings.js.map +1 -1
  123. package/dist/src/config/settings.test.js +167 -0
  124. package/dist/src/config/settings.test.js.map +1 -1
  125. package/dist/src/config/settingsSchema.d.ts +56 -25
  126. package/dist/src/config/settingsSchema.js +66 -27
  127. package/dist/src/config/settingsSchema.js.map +1 -1
  128. package/dist/src/config/settingsSchema.test.js +8 -0
  129. package/dist/src/config/settingsSchema.test.js.map +1 -1
  130. package/dist/src/config/skipExtensions.test.d.ts +6 -0
  131. package/dist/src/config/skipExtensions.test.js +49 -0
  132. package/dist/src/config/skipExtensions.test.js.map +1 -0
  133. package/dist/src/config/workspace-policy-cli.test.js +0 -5
  134. package/dist/src/config/workspace-policy-cli.test.js.map +1 -1
  135. package/dist/src/gemini.d.ts +2 -2
  136. package/dist/src/gemini.js +108 -30
  137. package/dist/src/gemini.js.map +1 -1
  138. package/dist/src/gemini.test.js +147 -16
  139. package/dist/src/gemini.test.js.map +1 -1
  140. package/dist/src/gemini_cleanup.test.js +1 -1
  141. package/dist/src/gemini_cleanup.test.js.map +1 -1
  142. package/dist/src/generated/git-commit.d.ts +2 -2
  143. package/dist/src/generated/git-commit.js +2 -2
  144. package/dist/src/interactiveCli.js +1 -1
  145. package/dist/src/interactiveCli.js.map +1 -1
  146. package/dist/src/nonInteractiveCli.d.ts +7 -0
  147. package/dist/src/nonInteractiveCli.js +56 -6
  148. package/dist/src/nonInteractiveCli.js.map +1 -1
  149. package/dist/src/nonInteractiveCli.test.js +253 -18
  150. package/dist/src/nonInteractiveCli.test.js.map +1 -1
  151. package/dist/src/nonInteractiveCliAgentSession.d.ts +7 -0
  152. package/dist/src/nonInteractiveCliAgentSession.js +22 -3
  153. package/dist/src/nonInteractiveCliAgentSession.js.map +1 -1
  154. package/dist/src/nonInteractiveCliAgentSession.test.js +200 -20
  155. package/dist/src/nonInteractiveCliAgentSession.test.js.map +1 -1
  156. package/dist/src/output-redirection.test.d.ts +6 -0
  157. package/dist/src/output-redirection.test.js +77 -0
  158. package/dist/src/output-redirection.test.js.map +1 -0
  159. package/dist/src/patches/http-proxy-agent.d.ts +6 -0
  160. package/dist/src/patches/http-proxy-agent.js +8 -0
  161. package/dist/src/patches/http-proxy-agent.js.map +1 -0
  162. package/dist/src/patches/https-proxy-agent.d.ts +6 -0
  163. package/dist/src/patches/https-proxy-agent.js +8 -0
  164. package/dist/src/patches/https-proxy-agent.js.map +1 -0
  165. package/dist/src/services/BuiltinCommandLoader.js +5 -1
  166. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  167. package/dist/src/services/BuiltinCommandLoader.test.js +6 -1
  168. package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -1
  169. package/dist/src/services/FileCommandLoader.d.ts +21 -0
  170. package/dist/src/services/FileCommandLoader.js +58 -6
  171. package/dist/src/services/FileCommandLoader.js.map +1 -1
  172. package/dist/src/services/FileCommandLoader.test.js +27 -1
  173. package/dist/src/services/FileCommandLoader.test.js.map +1 -1
  174. package/dist/src/test-utils/mockCommandContext.js +6 -1
  175. package/dist/src/test-utils/mockCommandContext.js.map +1 -1
  176. package/dist/src/test-utils/mockConfig.js +0 -3
  177. package/dist/src/test-utils/mockConfig.js.map +1 -1
  178. package/dist/src/test-utils/render.js +1 -0
  179. package/dist/src/test-utils/render.js.map +1 -1
  180. package/dist/src/test-utils/settings.d.ts +1 -0
  181. package/dist/src/test-utils/settings.js.map +1 -1
  182. package/dist/src/ui/AppContainer.js +60 -73
  183. package/dist/src/ui/AppContainer.js.map +1 -1
  184. package/dist/src/ui/AppContainer.test.js +101 -1
  185. package/dist/src/ui/AppContainer.test.js.map +1 -1
  186. package/dist/src/ui/auth/AuthDialog.js +6 -3
  187. package/dist/src/ui/auth/AuthDialog.js.map +1 -1
  188. package/dist/src/ui/auth/AuthDialog.test.js +33 -10
  189. package/dist/src/ui/auth/AuthDialog.test.js.map +1 -1
  190. package/dist/src/ui/auth/LoginRestartDialog.d.ts +13 -0
  191. package/dist/src/ui/auth/{LoginWithGoogleRestartDialog.js → LoginRestartDialog.js} +7 -6
  192. package/dist/src/ui/auth/LoginRestartDialog.js.map +1 -0
  193. package/dist/src/ui/auth/LoginRestartDialog.test.d.ts +6 -0
  194. package/dist/src/ui/auth/{LoginWithGoogleRestartDialog.test.js → LoginRestartDialog.test.js} +13 -8
  195. package/dist/src/ui/auth/LoginRestartDialog.test.js.map +1 -0
  196. package/dist/src/ui/auth/useAuth.d.ts +1 -1
  197. package/dist/src/ui/auth/useAuth.js +2 -2
  198. package/dist/src/ui/auth/useAuth.js.map +1 -1
  199. package/dist/src/ui/auth/useAuth.test.js +10 -10
  200. package/dist/src/ui/auth/useAuth.test.js.map +1 -1
  201. package/dist/src/ui/commands/agentsCommand.js +19 -2
  202. package/dist/src/ui/commands/agentsCommand.js.map +1 -1
  203. package/dist/src/ui/commands/agentsCommand.test.js +34 -3
  204. package/dist/src/ui/commands/agentsCommand.test.js.map +1 -1
  205. package/dist/src/ui/commands/bugCommand.js +36 -0
  206. package/dist/src/ui/commands/bugCommand.js.map +1 -1
  207. package/dist/src/ui/commands/bugCommand.test.js +106 -1
  208. package/dist/src/ui/commands/bugCommand.test.js.map +1 -1
  209. package/dist/src/ui/commands/bugMemoryCommand.d.ts +7 -0
  210. package/dist/src/ui/commands/bugMemoryCommand.js +62 -0
  211. package/dist/src/ui/commands/bugMemoryCommand.js.map +1 -0
  212. package/dist/src/ui/commands/bugMemoryCommand.test.js +100 -0
  213. package/dist/src/ui/commands/bugMemoryCommand.test.js.map +1 -0
  214. package/dist/src/ui/commands/commandsCommand.js +52 -4
  215. package/dist/src/ui/commands/commandsCommand.js.map +1 -1
  216. package/dist/src/ui/commands/commandsCommand.test.js +75 -2
  217. package/dist/src/ui/commands/commandsCommand.test.js.map +1 -1
  218. package/dist/src/ui/commands/compressCommand.js +28 -26
  219. package/dist/src/ui/commands/compressCommand.js.map +1 -1
  220. package/dist/src/ui/commands/compressCommand.test.js +5 -0
  221. package/dist/src/ui/commands/compressCommand.test.js.map +1 -1
  222. package/dist/src/ui/commands/directoryCommand.js +2 -2
  223. package/dist/src/ui/commands/directoryCommand.js.map +1 -1
  224. package/dist/src/ui/commands/directoryCommand.test.js +1 -0
  225. package/dist/src/ui/commands/directoryCommand.test.js.map +1 -1
  226. package/dist/src/ui/commands/exportSessionCommand.d.ts +7 -0
  227. package/dist/src/ui/commands/exportSessionCommand.js +74 -0
  228. package/dist/src/ui/commands/exportSessionCommand.js.map +1 -0
  229. package/dist/src/ui/commands/exportSessionCommand.test.js +100 -0
  230. package/dist/src/ui/commands/exportSessionCommand.test.js.map +1 -0
  231. package/dist/src/ui/commands/extensionsCommand.js +1 -0
  232. package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
  233. package/dist/src/ui/commands/extensionsCommand.test.js +4 -0
  234. package/dist/src/ui/commands/extensionsCommand.test.js.map +1 -1
  235. package/dist/src/ui/commands/memoryCommand.d.ts +2 -1
  236. package/dist/src/ui/commands/memoryCommand.js +110 -117
  237. package/dist/src/ui/commands/memoryCommand.js.map +1 -1
  238. package/dist/src/ui/commands/memoryCommand.test.js +18 -71
  239. package/dist/src/ui/commands/memoryCommand.test.js.map +1 -1
  240. package/dist/src/ui/commands/quitCommand.js +3 -1
  241. package/dist/src/ui/commands/quitCommand.js.map +1 -1
  242. package/dist/src/ui/commands/quitCommand.test.js +46 -1
  243. package/dist/src/ui/commands/quitCommand.test.js.map +1 -1
  244. package/dist/src/ui/commands/rewindCommand.js.map +1 -1
  245. package/dist/src/ui/commands/skillsCommand.js +1 -1
  246. package/dist/src/ui/commands/skillsCommand.js.map +1 -1
  247. package/dist/src/ui/commands/skillsCommand.test.js +19 -0
  248. package/dist/src/ui/commands/skillsCommand.test.js.map +1 -1
  249. package/dist/src/ui/commands/types.d.ts +3 -1
  250. package/dist/src/ui/commands/types.js.map +1 -1
  251. package/dist/src/ui/components/AsciiArt.d.ts +6 -6
  252. package/dist/src/ui/components/AsciiArt.js +6 -6
  253. package/dist/src/ui/components/AskUserDialog.js +3 -1
  254. package/dist/src/ui/components/AskUserDialog.js.map +1 -1
  255. package/dist/src/ui/components/AskUserDialog.test.js +43 -0
  256. package/dist/src/ui/components/AskUserDialog.test.js.map +1 -1
  257. package/dist/src/ui/components/Composer.js +1 -1
  258. package/dist/src/ui/components/Composer.js.map +1 -1
  259. package/dist/src/ui/components/DialogManager.js +4 -0
  260. package/dist/src/ui/components/DialogManager.js.map +1 -1
  261. package/dist/src/ui/components/EditorSettingsDialog.js +3 -6
  262. package/dist/src/ui/components/EditorSettingsDialog.js.map +1 -1
  263. package/dist/src/ui/components/Footer.js +6 -0
  264. package/dist/src/ui/components/Footer.js.map +1 -1
  265. package/dist/src/ui/components/FooterConfigDialog.js +1 -0
  266. package/dist/src/ui/components/FooterConfigDialog.js.map +1 -1
  267. package/dist/src/ui/components/FooterConfigDialog.test.js +1 -1
  268. package/dist/src/ui/components/FooterConfigDialog.test.js.map +1 -1
  269. package/dist/src/ui/components/HistoryItemDisplay.js +3 -1
  270. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  271. package/dist/src/ui/components/HistoryItemDisplay.test.js +15 -0
  272. package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -1
  273. package/dist/src/ui/components/{SkillInboxDialog.d.ts → InboxDialog.d.ts} +3 -2
  274. package/dist/src/ui/components/InboxDialog.js +756 -0
  275. package/dist/src/ui/components/InboxDialog.js.map +1 -0
  276. package/dist/src/ui/components/InboxDialog.test.d.ts +6 -0
  277. package/dist/src/ui/components/InboxDialog.test.js +824 -0
  278. package/dist/src/ui/components/InboxDialog.test.js.map +1 -0
  279. package/dist/src/ui/components/InputPrompt.d.ts +3 -0
  280. package/dist/src/ui/components/InputPrompt.js +35 -17
  281. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  282. package/dist/src/ui/components/InputPrompt.test.js +95 -46
  283. package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
  284. package/dist/src/ui/components/ListeningIndicator.d.ts +10 -0
  285. package/dist/src/ui/components/ListeningIndicator.js +30 -0
  286. package/dist/src/ui/components/ListeningIndicator.js.map +1 -0
  287. package/dist/src/ui/components/MainContent.test.js +23 -3
  288. package/dist/src/ui/components/MainContent.test.js.map +1 -1
  289. package/dist/src/ui/components/ModelDialog.js +32 -37
  290. package/dist/src/ui/components/ModelDialog.js.map +1 -1
  291. package/dist/src/ui/components/ModelDialog.test.js +30 -27
  292. package/dist/src/ui/components/ModelDialog.test.js.map +1 -1
  293. package/dist/src/ui/components/ModelStatsDisplay.js +1 -1
  294. package/dist/src/ui/components/ModelStatsDisplay.js.map +1 -1
  295. package/dist/src/ui/components/ModelStatsDisplay.test.js +41 -0
  296. package/dist/src/ui/components/ModelStatsDisplay.test.js.map +1 -1
  297. package/dist/src/ui/components/SessionBrowser.js +7 -0
  298. package/dist/src/ui/components/SessionBrowser.js.map +1 -1
  299. package/dist/src/ui/components/SessionSummaryDisplay.js +9 -4
  300. package/dist/src/ui/components/SessionSummaryDisplay.js.map +1 -1
  301. package/dist/src/ui/components/SessionSummaryDisplay.test.js +12 -23
  302. package/dist/src/ui/components/SessionSummaryDisplay.test.js.map +1 -1
  303. package/dist/src/ui/components/SettingsDialog.js +37 -17
  304. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  305. package/dist/src/ui/components/SettingsDialog.test.js +83 -1
  306. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  307. package/dist/src/ui/components/StatsDisplay.js +2 -2
  308. package/dist/src/ui/components/StatsDisplay.js.map +1 -1
  309. package/dist/src/ui/components/StatsDisplay.test.js +24 -0
  310. package/dist/src/ui/components/StatsDisplay.test.js.map +1 -1
  311. package/dist/src/ui/components/ThemeDialog.constants.d.ts +26 -0
  312. package/dist/src/ui/components/ThemeDialog.constants.js +27 -0
  313. package/dist/src/ui/components/ThemeDialog.constants.js.map +1 -0
  314. package/dist/src/ui/components/ThemeDialog.js +5 -15
  315. package/dist/src/ui/components/ThemeDialog.js.map +1 -1
  316. package/dist/src/ui/components/ToolConfirmationQueue.test.js +1 -1
  317. package/dist/src/ui/components/ToolConfirmationQueue.test.js.map +1 -1
  318. package/dist/src/ui/components/VoiceModelDialog.js +7 -2
  319. package/dist/src/ui/components/VoiceModelDialog.js.map +1 -1
  320. package/dist/src/ui/components/VoiceModelDialog.test.d.ts +6 -0
  321. package/dist/src/ui/components/VoiceModelDialog.test.js +68 -0
  322. package/dist/src/ui/components/VoiceModelDialog.test.js.map +1 -0
  323. package/dist/src/ui/components/messages/ExportSessionMessage.d.ts +11 -0
  324. package/dist/src/ui/components/messages/ExportSessionMessage.js +15 -0
  325. package/dist/src/ui/components/messages/ExportSessionMessage.js.map +1 -0
  326. package/dist/src/ui/components/messages/ExportSessionMessage.test.d.ts +6 -0
  327. package/dist/src/ui/components/messages/ExportSessionMessage.test.js +31 -0
  328. package/dist/src/ui/components/messages/ExportSessionMessage.test.js.map +1 -0
  329. package/dist/src/ui/components/messages/ShellToolMessage.js +6 -2
  330. package/dist/src/ui/components/messages/ShellToolMessage.js.map +1 -1
  331. package/dist/src/ui/components/messages/ShellToolMessage.test.js +33 -0
  332. package/dist/src/ui/components/messages/ShellToolMessage.test.js.map +1 -1
  333. package/dist/src/ui/components/messages/SubagentGroupDisplay.js +13 -13
  334. package/dist/src/ui/components/messages/SubagentGroupDisplay.js.map +1 -1
  335. package/dist/src/ui/components/messages/SubagentGroupDisplay.test.js +5 -5
  336. package/dist/src/ui/components/messages/SubagentGroupDisplay.test.js.map +1 -1
  337. package/dist/src/ui/components/messages/SubagentHistoryMessage.test.js +4 -3
  338. package/dist/src/ui/components/messages/SubagentHistoryMessage.test.js.map +1 -1
  339. package/dist/src/ui/components/messages/SubagentProgressDisplay.d.ts +1 -1
  340. package/dist/src/ui/components/messages/SubagentProgressDisplay.js +7 -6
  341. package/dist/src/ui/components/messages/SubagentProgressDisplay.js.map +1 -1
  342. package/dist/src/ui/components/messages/SubagentProgressDisplay.test.js +10 -9
  343. package/dist/src/ui/components/messages/SubagentProgressDisplay.test.js.map +1 -1
  344. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +3 -9
  345. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  346. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +60 -0
  347. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -1
  348. package/dist/src/ui/components/messages/ToolGroupDisplay.d.ts +13 -0
  349. package/dist/src/ui/components/messages/ToolGroupDisplay.js +78 -0
  350. package/dist/src/ui/components/messages/ToolGroupDisplay.js.map +1 -0
  351. package/dist/src/ui/components/messages/ToolGroupDisplay.test.d.ts +6 -0
  352. package/dist/src/ui/components/messages/ToolGroupDisplay.test.js +210 -0
  353. package/dist/src/ui/components/messages/ToolGroupDisplay.test.js.map +1 -0
  354. package/dist/src/ui/components/messages/ToolGroupMessage.js +4 -2
  355. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
  356. package/dist/src/ui/components/messages/ToolGroupMessage.test.js +28 -0
  357. package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +1 -1
  358. package/dist/src/ui/components/messages/ToolGroupMessageRegression.test.js +3 -3
  359. package/dist/src/ui/components/messages/ToolGroupMessageRegression.test.js.map +1 -1
  360. package/dist/src/ui/components/messages/ToolMessage.js +6 -2
  361. package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
  362. package/dist/src/ui/components/messages/ToolShared.d.ts +1 -0
  363. package/dist/src/ui/components/messages/ToolShared.js +5 -3
  364. package/dist/src/ui/components/messages/ToolShared.js.map +1 -1
  365. package/dist/src/ui/components/messages/ToolShared.test.js +18 -1
  366. package/dist/src/ui/components/messages/ToolShared.test.js.map +1 -1
  367. package/dist/src/ui/components/shared/BaseSettingsDialog.d.ts +6 -1
  368. package/dist/src/ui/components/shared/BaseSettingsDialog.js +8 -8
  369. package/dist/src/ui/components/shared/BaseSettingsDialog.js.map +1 -1
  370. package/dist/src/ui/components/shared/performance.test.js +9 -0
  371. package/dist/src/ui/components/shared/performance.test.js.map +1 -1
  372. package/dist/src/ui/components/shared/text-buffer.js +22 -5
  373. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  374. package/dist/src/ui/components/shared/text-buffer.test.js +211 -0
  375. package/dist/src/ui/components/shared/text-buffer.test.js.map +1 -1
  376. package/dist/src/ui/constants/tips.js +0 -1
  377. package/dist/src/ui/constants/tips.js.map +1 -1
  378. package/dist/src/ui/contexts/UIActionsContext.d.ts +1 -0
  379. package/dist/src/ui/contexts/UIActionsContext.js.map +1 -1
  380. package/dist/src/ui/contexts/UIStateContext.d.ts +2 -0
  381. package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
  382. package/dist/src/ui/hooks/atCommandProcessor.js +78 -69
  383. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  384. package/dist/src/ui/hooks/atCommandProcessor.test.js +128 -18
  385. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
  386. package/dist/src/ui/hooks/slashCommandProcessor.js +13 -0
  387. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  388. package/dist/src/ui/hooks/slashCommandProcessor.test.js +85 -0
  389. package/dist/src/ui/hooks/slashCommandProcessor.test.js.map +1 -1
  390. package/dist/src/ui/hooks/useAgentStream.d.ts +2 -2
  391. package/dist/src/ui/hooks/useAgentStream.js +63 -30
  392. package/dist/src/ui/hooks/useAgentStream.js.map +1 -1
  393. package/dist/src/ui/hooks/useAgentStream.test.js +1 -1
  394. package/dist/src/ui/hooks/useAgentStream.test.js.map +1 -1
  395. package/dist/src/ui/hooks/useAtCompletion.js +0 -2
  396. package/dist/src/ui/hooks/useAtCompletion.js.map +1 -1
  397. package/dist/src/ui/hooks/useGeminiStream.d.ts +2 -2
  398. package/dist/src/ui/hooks/useGeminiStream.js +48 -29
  399. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  400. package/dist/src/ui/hooks/useGeminiStream.test.js +44 -82
  401. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
  402. package/dist/src/ui/hooks/useGitBranchName.js +29 -16
  403. package/dist/src/ui/hooks/useGitBranchName.js.map +1 -1
  404. package/dist/src/ui/hooks/useGitBranchName.test.js +102 -51
  405. package/dist/src/ui/hooks/useGitBranchName.test.js.map +1 -1
  406. package/dist/src/ui/hooks/useIncludeDirsTrust.js +2 -2
  407. package/dist/src/ui/hooks/useIncludeDirsTrust.js.map +1 -1
  408. package/dist/src/ui/hooks/useIncludeDirsTrust.test.js +2 -0
  409. package/dist/src/ui/hooks/useIncludeDirsTrust.test.js.map +1 -1
  410. package/dist/src/ui/hooks/useMessageQueue.d.ts +2 -1
  411. package/dist/src/ui/hooks/useMessageQueue.js +3 -1
  412. package/dist/src/ui/hooks/useMessageQueue.js.map +1 -1
  413. package/dist/src/ui/hooks/useMessageQueue.test.js +38 -0
  414. package/dist/src/ui/hooks/useMessageQueue.test.js.map +1 -1
  415. package/dist/src/ui/hooks/useSessionBrowser.d.ts +3 -3
  416. package/dist/src/ui/hooks/useSessionBrowser.js.map +1 -1
  417. package/dist/src/ui/hooks/useSessionBrowser.test.js +44 -38
  418. package/dist/src/ui/hooks/useSessionBrowser.test.js.map +1 -1
  419. package/dist/src/ui/hooks/useSessionResume.d.ts +3 -3
  420. package/dist/src/ui/hooks/useSessionResume.js.map +1 -1
  421. package/dist/src/ui/hooks/useSessionResume.test.js +6 -4
  422. package/dist/src/ui/hooks/useSessionResume.test.js.map +1 -1
  423. package/dist/src/ui/hooks/useSuspend.d.ts +1 -3
  424. package/dist/src/ui/hooks/useSuspend.js +3 -17
  425. package/dist/src/ui/hooks/useSuspend.js.map +1 -1
  426. package/dist/src/ui/hooks/useSuspend.test.js +0 -14
  427. package/dist/src/ui/hooks/useSuspend.test.js.map +1 -1
  428. package/dist/src/ui/hooks/useToolScheduler.test.js +6 -6
  429. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  430. package/dist/src/ui/hooks/useVoiceMode.js +25 -19
  431. package/dist/src/ui/hooks/useVoiceMode.js.map +1 -1
  432. package/dist/src/ui/hooks/vim-passthrough.test.js +10 -0
  433. package/dist/src/ui/hooks/vim-passthrough.test.js.map +1 -1
  434. package/dist/src/ui/hooks/vim.js +8 -0
  435. package/dist/src/ui/hooks/vim.js.map +1 -1
  436. package/dist/src/ui/hooks/vim.test.js +61 -0
  437. package/dist/src/ui/hooks/vim.test.js.map +1 -1
  438. package/dist/src/ui/key/keyBindings.d.ts +2 -0
  439. package/dist/src/ui/key/keyBindings.js +26 -9
  440. package/dist/src/ui/key/keyBindings.js.map +1 -1
  441. package/dist/src/ui/key/keyBindings.test.js +24 -0
  442. package/dist/src/ui/key/keyBindings.test.js.map +1 -1
  443. package/dist/src/ui/key/keyMatchers.test.js +26 -5
  444. package/dist/src/ui/key/keyMatchers.test.js.map +1 -1
  445. package/dist/src/ui/themes/theme-manager.js +0 -2
  446. package/dist/src/ui/themes/theme-manager.js.map +1 -1
  447. package/dist/src/ui/types.d.ts +23 -2
  448. package/dist/src/ui/types.js +3 -2
  449. package/dist/src/ui/types.js.map +1 -1
  450. package/dist/src/ui/utils/TableRenderer.js +6 -6
  451. package/dist/src/ui/utils/TableRenderer.js.map +1 -1
  452. package/dist/src/ui/utils/TableRenderer.test.js +10 -0
  453. package/dist/src/ui/utils/TableRenderer.test.js.map +1 -1
  454. package/dist/src/ui/utils/directoryUtils.test.js +0 -5
  455. package/dist/src/ui/utils/directoryUtils.test.js.map +1 -1
  456. package/dist/src/ui/utils/editorUtils.d.ts +2 -1
  457. package/dist/src/ui/utils/editorUtils.js +75 -28
  458. package/dist/src/ui/utils/editorUtils.js.map +1 -1
  459. package/dist/src/ui/utils/latexToUnicode.d.ts +21 -0
  460. package/dist/src/ui/utils/latexToUnicode.js +538 -0
  461. package/dist/src/ui/utils/latexToUnicode.js.map +1 -0
  462. package/dist/src/ui/utils/latexToUnicode.test.d.ts +6 -0
  463. package/dist/src/ui/utils/latexToUnicode.test.js +222 -0
  464. package/dist/src/ui/utils/latexToUnicode.test.js.map +1 -0
  465. package/dist/src/ui/utils/markdownParsingUtils.d.ts +1 -5
  466. package/dist/src/ui/utils/markdownParsingUtils.js +36 -1
  467. package/dist/src/ui/utils/markdownParsingUtils.js.map +1 -1
  468. package/dist/src/ui/utils/markdownParsingUtils.test.js +35 -0
  469. package/dist/src/ui/utils/markdownParsingUtils.test.js.map +1 -1
  470. package/dist/src/ui/utils/memorySnapshot.d.ts +19 -0
  471. package/dist/src/ui/utils/memorySnapshot.js +28 -0
  472. package/dist/src/ui/utils/memorySnapshot.js.map +1 -0
  473. package/dist/src/ui/utils/memorySnapshot.test.d.ts +6 -0
  474. package/dist/src/ui/utils/memorySnapshot.test.js +62 -0
  475. package/dist/src/ui/utils/memorySnapshot.test.js.map +1 -0
  476. package/dist/src/ui/utils/updateCheck.js +11 -2
  477. package/dist/src/ui/utils/updateCheck.js.map +1 -1
  478. package/dist/src/ui/utils/updateCheck.test.js +73 -0
  479. package/dist/src/ui/utils/updateCheck.test.js.map +1 -1
  480. package/dist/src/utils/commands.d.ts +1 -1
  481. package/dist/src/utils/commands.js +1 -1
  482. package/dist/src/utils/commands.test.js +14 -14
  483. package/dist/src/utils/commands.test.js.map +1 -1
  484. package/dist/src/utils/envVarResolver.js +10 -7
  485. package/dist/src/utils/envVarResolver.js.map +1 -1
  486. package/dist/src/utils/gitUtils.js +1 -2
  487. package/dist/src/utils/gitUtils.js.map +1 -1
  488. package/dist/src/utils/handleAutoUpdate.d.ts +1 -1
  489. package/dist/src/utils/handleAutoUpdate.js +15 -3
  490. package/dist/src/utils/handleAutoUpdate.js.map +1 -1
  491. package/dist/src/utils/handleAutoUpdate.test.js +45 -16
  492. package/dist/src/utils/handleAutoUpdate.test.js.map +1 -1
  493. package/dist/src/utils/installationInfo.d.ts +1 -0
  494. package/dist/src/utils/installationInfo.js +16 -1
  495. package/dist/src/utils/installationInfo.js.map +1 -1
  496. package/dist/src/utils/installationInfo.test.js +16 -0
  497. package/dist/src/utils/installationInfo.test.js.map +1 -1
  498. package/dist/src/utils/jsonoutput.js +0 -2
  499. package/dist/src/utils/jsonoutput.js.map +1 -1
  500. package/dist/src/utils/processUtils.d.ts +28 -0
  501. package/dist/src/utils/processUtils.js +71 -0
  502. package/dist/src/utils/processUtils.js.map +1 -1
  503. package/dist/src/utils/processUtils.test.js +122 -1
  504. package/dist/src/utils/processUtils.test.js.map +1 -1
  505. package/dist/src/utils/readStdin.js +22 -4
  506. package/dist/src/utils/readStdin.js.map +1 -1
  507. package/dist/src/utils/readStdin.test.js +32 -0
  508. package/dist/src/utils/readStdin.test.js.map +1 -1
  509. package/dist/src/utils/relaunch.js +6 -13
  510. package/dist/src/utils/relaunch.js.map +1 -1
  511. package/dist/src/utils/relaunch.test.js +82 -86
  512. package/dist/src/utils/relaunch.test.js.map +1 -1
  513. package/dist/src/utils/sandbox.js +34 -24
  514. package/dist/src/utils/sandbox.js.map +1 -1
  515. package/dist/src/utils/sandbox.test.js +108 -9
  516. package/dist/src/utils/sandbox.test.js.map +1 -1
  517. package/dist/src/utils/sandboxUtils.js +12 -7
  518. package/dist/src/utils/sandboxUtils.js.map +1 -1
  519. package/dist/src/utils/sandboxUtils.test.js +68 -0
  520. package/dist/src/utils/sandboxUtils.test.js.map +1 -1
  521. package/dist/src/utils/sessionCleanup.js +49 -14
  522. package/dist/src/utils/sessionCleanup.js.map +1 -1
  523. package/dist/src/utils/sessionCleanup.test.js +63 -0
  524. package/dist/src/utils/sessionCleanup.test.js.map +1 -1
  525. package/dist/src/utils/sessionUtils.js +22 -7
  526. package/dist/src/utils/sessionUtils.js.map +1 -1
  527. package/dist/src/utils/sessionUtils.test.js +99 -0
  528. package/dist/src/utils/sessionUtils.test.js.map +1 -1
  529. package/dist/src/utils/sessions.js +2 -4
  530. package/dist/src/utils/sessions.js.map +1 -1
  531. package/dist/src/utils/sessions.test.js +9 -12
  532. package/dist/src/utils/sessions.test.js.map +1 -1
  533. package/dist/src/utils/userStartupWarnings.js +4 -3
  534. package/dist/src/utils/userStartupWarnings.js.map +1 -1
  535. package/dist/src/utils/userStartupWarnings.test.js +40 -3
  536. package/dist/src/utils/userStartupWarnings.test.js.map +1 -1
  537. package/dist/src/validateNonInterActiveAuth.js +1 -1
  538. package/dist/src/validateNonInterActiveAuth.js.map +1 -1
  539. package/dist/tsconfig.tsbuildinfo +1 -1
  540. package/package.json +4 -4
  541. package/dist/src/acp/acpClient.d.ts +0 -56
  542. package/dist/src/acp/acpClient.js.map +0 -1
  543. package/dist/src/acp/acpClient.test.js +0 -1816
  544. package/dist/src/acp/acpClient.test.js.map +0 -1
  545. package/dist/src/acp/commandHandler.js.map +0 -1
  546. package/dist/src/acp/commandHandler.test.js.map +0 -1
  547. package/dist/src/acp/fileSystemService.js.map +0 -1
  548. package/dist/src/acp/fileSystemService.test.js.map +0 -1
  549. package/dist/src/ui/auth/LoginWithGoogleRestartDialog.d.ts +0 -12
  550. package/dist/src/ui/auth/LoginWithGoogleRestartDialog.js.map +0 -1
  551. package/dist/src/ui/auth/LoginWithGoogleRestartDialog.test.js.map +0 -1
  552. package/dist/src/ui/components/SkillInboxDialog.js +0 -420
  553. package/dist/src/ui/components/SkillInboxDialog.js.map +0 -1
  554. package/dist/src/ui/components/SkillInboxDialog.test.js +0 -467
  555. package/dist/src/ui/components/SkillInboxDialog.test.js.map +0 -1
  556. /package/dist/src/acp/{commandHandler.test.d.ts → acpCommandHandler.test.d.ts} +0 -0
  557. /package/dist/src/{ui/components/SkillInboxDialog.test.d.ts → acp/acpFileSystemService.test.d.ts} +0 -0
  558. /package/dist/src/{acp/acpClient.test.d.ts → config/mutual-exclusivity.test.d.ts} +0 -0
  559. /package/dist/src/{acp/fileSystemService.test.d.ts → ui/commands/bugMemoryCommand.test.d.ts} +0 -0
  560. /package/dist/src/ui/{auth/LoginWithGoogleRestartDialog.test.d.ts → commands/exportSessionCommand.test.d.ts} +0 -0
@@ -192,6 +192,14 @@ export class LoadedSettings {
192
192
  get merged() {
193
193
  return this._merged;
194
194
  }
195
+ /**
196
+ * Returns a merged settings object as if the folder were trusted.
197
+ * This is useful for commands like 'mcp list' that want to show
198
+ * what's configured even if it's currently disabled for security reasons.
199
+ */
200
+ getMergedSettingsAsIfTrusted() {
201
+ return this.computeMergedSettings(true);
202
+ }
195
203
  setTrusted(isTrusted) {
196
204
  if (this.isTrusted === isTrusted) {
197
205
  return;
@@ -210,8 +218,10 @@ export class LoadedSettings {
210
218
  originalSettings: {},
211
219
  };
212
220
  }
213
- computeMergedSettings() {
214
- const merged = mergeSettings(this.system.settings, this.systemDefaults.settings, this.user.settings, this.workspace.settings, this.isTrusted);
221
+ computeMergedSettings(forceTrusted = false) {
222
+ const isTrusted = forceTrusted || this.isTrusted;
223
+ const workspace = forceTrusted ? this._workspaceFile : this.workspace;
224
+ const merged = mergeSettings(this.system.settings, this.systemDefaults.settings, this.user.settings, workspace.settings, isTrusted);
215
225
  // Remote admin settings always take precedence and file-based admin settings
216
226
  // are ignored.
217
227
  const adminSettingSchema = getSettingsSchema().admin;
@@ -227,8 +237,7 @@ export class LoadedSettings {
227
237
  }
228
238
  computeSnapshot() {
229
239
  const cloneSettingsFile = (file) => ({
230
- path: file.path,
231
- rawJson: file.rawJson,
240
+ ...file,
232
241
  settings: structuredClone(file.settings),
233
242
  originalSettings: structuredClone(file.originalSettings),
234
243
  });
@@ -308,8 +317,45 @@ export class LoadedSettings {
308
317
  this._remoteAdminSettings = { admin };
309
318
  this._merged = this.computeMergedSettings();
310
319
  }
320
+ /**
321
+ * Returns a consolidated list of excluded MCP servers across all settings files.
322
+ */
323
+ getConsolidatedExcludedMcpServers() {
324
+ const scopes = [
325
+ this.system,
326
+ this.systemDefaults,
327
+ this.user,
328
+ this.workspace,
329
+ ];
330
+ return scopes.flatMap((scope) => {
331
+ const excluded = scope?.settings?.mcp?.excluded;
332
+ return Array.isArray(excluded) ? excluded : [];
333
+ });
334
+ }
335
+ /**
336
+ * Returns a consolidated list of allowed MCP servers (via intersection of all defined lists).
337
+ */
338
+ getConsolidatedAllowedMcpServers() {
339
+ const scopes = [
340
+ this.system,
341
+ this.systemDefaults,
342
+ this.user,
343
+ this.workspace,
344
+ ];
345
+ const definedAllowlists = scopes.flatMap((scope) => {
346
+ const allowed = scope?.settings?.mcp?.allowed;
347
+ return Array.isArray(allowed) ? [allowed] : [];
348
+ });
349
+ if (definedAllowlists.length === 0) {
350
+ return undefined;
351
+ }
352
+ return definedAllowlists.reduce((acc, current) => {
353
+ const normalizedCurrent = new Set(current.map((item) => item.toLowerCase().trim()));
354
+ return acc.filter((item) => normalizedCurrent.has(item.toLowerCase().trim()));
355
+ });
356
+ }
311
357
  }
312
- function findEnvFile(startDir, isTrusted) {
358
+ function findEnvFile(startDir, isTrusted, ignoreLocalEnv) {
313
359
  let currentDir = path.resolve(startDir);
314
360
  while (true) {
315
361
  // prefer gemini-specific .env under CELL_DIR
@@ -321,7 +367,9 @@ function findEnvFile(startDir, isTrusted) {
321
367
  }
322
368
  const envPath = path.join(currentDir, '.env');
323
369
  if (fs.existsSync(envPath)) {
324
- return envPath;
370
+ if (!ignoreLocalEnv || currentDir === homedir()) {
371
+ return envPath;
372
+ }
325
373
  }
326
374
  const parentDir = path.dirname(currentDir);
327
375
  if (parentDir === currentDir || !parentDir) {
@@ -341,13 +389,32 @@ function findEnvFile(startDir, isTrusted) {
341
389
  currentDir = parentDir;
342
390
  }
343
391
  }
344
- export function setUpCloudShellEnvironment(envFilePath, isTrusted, isSandboxed) {
392
+ // Internal env var used to preserve the user's original GOOGLE_CLOUD_PROJECT
393
+ // across process restarts in Cloud Shell. This survives relaunch because child
394
+ // processes inherit the parent's environment.
395
+ const USER_GCP_PROJECT = '_GEMINI_USER_GCP_PROJECT';
396
+ export function setUpCloudShellEnvironment(envFilePath, isTrusted, isSandboxed, selectedAuthType) {
345
397
  // Special handling for GOOGLE_CLOUD_PROJECT in Cloud Shell:
346
398
  // Because GOOGLE_CLOUD_PROJECT in Cloud Shell tracks the project
347
399
  // set by the user using "gcloud config set project" we do not want to
348
400
  // use its value. So, unless the user overrides GOOGLE_CLOUD_PROJECT in
349
401
  // one of the .env files, we set the Cloud Shell-specific default here.
402
+ //
403
+ // However, if the user has explicitly selected Vertex AI auth, they intend
404
+ // to use their own GCP project, so we restore the original value and skip
405
+ // the Cloud Shell override to respect their .env settings.
406
+ // Save the user's original value before overwriting, so it can be restored
407
+ // if the user later switches to Vertex AI (even after a process restart).
408
+ if (!process.env[USER_GCP_PROJECT]) {
409
+ const current = process.env['GOOGLE_CLOUD_PROJECT'];
410
+ if (current && current !== 'cloudshell-gca') {
411
+ process.env[USER_GCP_PROJECT] = current;
412
+ }
413
+ }
350
414
  let value = 'cloudshell-gca';
415
+ if (selectedAuthType === AuthType.USE_VERTEX_AI) {
416
+ value = process.env[USER_GCP_PROJECT];
417
+ }
351
418
  if (envFilePath && fs.existsSync(envFilePath)) {
352
419
  const envFileContent = fs.readFileSync(envFilePath);
353
420
  const parsedEnv = dotenv.parse(envFileContent);
@@ -359,12 +426,16 @@ export function setUpCloudShellEnvironment(envFilePath, isTrusted, isSandboxed)
359
426
  }
360
427
  }
361
428
  }
362
- process.env['GOOGLE_CLOUD_PROJECT'] = value;
429
+ if (value !== undefined) {
430
+ process.env['GOOGLE_CLOUD_PROJECT'] = value;
431
+ }
432
+ else if (process.env['GOOGLE_CLOUD_PROJECT'] === 'cloudshell-gca') {
433
+ delete process.env['GOOGLE_CLOUD_PROJECT'];
434
+ }
363
435
  }
364
436
  export function loadEnvironment(settings, workspaceDir, isWorkspaceTrustedFn = isWorkspaceTrusted) {
365
437
  const trustResult = isWorkspaceTrustedFn(settings, workspaceDir);
366
438
  const isTrusted = trustResult.isTrusted ?? false;
367
- const envFilePath = findEnvFile(workspaceDir, isTrusted);
368
439
  // Check settings OR check process.argv directly since this might be called
369
440
  // before arguments are fully parsed. This is a best-effort sniffing approach
370
441
  // that happens early in the CLI lifecycle. It is designed to detect the
@@ -376,9 +447,13 @@ export function loadEnvironment(settings, workspaceDir, isWorkspaceTrustedFn = i
376
447
  const isSandboxed = !!settings.tools?.sandbox ||
377
448
  relevantArgs.includes('-s') ||
378
449
  relevantArgs.includes('--sandbox');
450
+ const shouldIgnoreEnv = !!settings.advanced?.ignoreLocalEnv ||
451
+ relevantArgs.includes('--ignore-env');
452
+ const envFilePath = findEnvFile(workspaceDir, isTrusted, shouldIgnoreEnv);
379
453
  // Cloud Shell environment variable handling
380
454
  if (process.env['CLOUD_SHELL'] === 'true') {
381
- setUpCloudShellEnvironment(envFilePath, isTrusted, isSandboxed);
455
+ const selectedAuthType = settings.security?.auth?.selectedType;
456
+ setUpCloudShellEnvironment(envFilePath, isTrusted, isSandboxed, selectedAuthType);
382
457
  }
383
458
  if (envFilePath) {
384
459
  // Manually parse and load environment variables to handle exclusions correctly.
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/config/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/config/settings.ts"],"names":[],"mappings":"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"}
@@ -137,6 +137,7 @@ describe('Settings Loading and Merging', () => {
137
137
  });
138
138
  afterEach(() => {
139
139
  vi.restoreAllMocks();
140
+ vi.unstubAllEnvs();
140
141
  });
141
142
  describe('loadSettings', () => {
142
143
  it('should load empty settings if no files exist', () => {
@@ -971,6 +972,54 @@ describe('Settings Loading and Merging', () => {
971
972
  excluded: ['workspace-excluded'],
972
973
  });
973
974
  });
975
+ describe('LoadedSettings MCP consolidation', () => {
976
+ it('should consolidate mcp excluded list across all scopes', () => {
977
+ const loaded = new LoadedSettings({
978
+ path: '',
979
+ settings: { mcp: { excluded: ['system-excluded'] } },
980
+ originalSettings: {},
981
+ }, {
982
+ path: '',
983
+ settings: { mcp: { excluded: ['defaults-excluded'] } },
984
+ originalSettings: {},
985
+ }, {
986
+ path: '',
987
+ settings: { mcp: { excluded: ['user-excluded'] } },
988
+ originalSettings: {},
989
+ }, {
990
+ path: '',
991
+ settings: { mcp: { excluded: ['workspace-excluded'] } },
992
+ originalSettings: {},
993
+ }, true);
994
+ expect(loaded.getConsolidatedExcludedMcpServers()).toEqual([
995
+ 'system-excluded',
996
+ 'defaults-excluded',
997
+ 'user-excluded',
998
+ 'workspace-excluded',
999
+ ]);
1000
+ });
1001
+ it('should consolidate allowed mcp list via case-insensitive intersection', () => {
1002
+ const loaded = new LoadedSettings({
1003
+ path: '',
1004
+ settings: { mcp: { allowed: ['Server-A', 'Server-B'] } },
1005
+ originalSettings: {},
1006
+ }, {
1007
+ path: '',
1008
+ settings: { mcp: { allowed: ['server-a', 'Server-C'] } },
1009
+ originalSettings: {},
1010
+ }, { path: '', settings: {}, originalSettings: {} }, // no allowlist in user
1011
+ {
1012
+ path: '',
1013
+ settings: { mcp: { allowed: ['SERVER-A', 'Server-D'] } },
1014
+ originalSettings: {},
1015
+ }, true);
1016
+ expect(loaded.getConsolidatedAllowedMcpServers()).toEqual(['Server-A']);
1017
+ });
1018
+ it('should return undefined allowed list if no scopes define one', () => {
1019
+ const loaded = new LoadedSettings({ path: '', settings: {}, originalSettings: {} }, { path: '', settings: {}, originalSettings: {} }, { path: '', settings: {}, originalSettings: {} }, { path: '', settings: {}, originalSettings: {} }, true);
1020
+ expect(loaded.getConsolidatedAllowedMcpServers()).toBeUndefined();
1021
+ });
1022
+ });
974
1023
  describe('compressionThreshold settings', () => {
975
1024
  it.each([
976
1025
  {
@@ -2343,6 +2392,34 @@ describe('Settings Loading and Merging', () => {
2343
2392
  const snap2 = loadedSettings.getSnapshot();
2344
2393
  expect(snap1).toBe(snap2);
2345
2394
  });
2395
+ it('getSnapshot() should preserve readOnly metadata for each scope', () => {
2396
+ const readonlySettings = new LoadedSettings({
2397
+ path: getSystemSettingsPath(),
2398
+ settings: {},
2399
+ originalSettings: {},
2400
+ readOnly: true,
2401
+ }, {
2402
+ path: getSystemDefaultsPath(),
2403
+ settings: {},
2404
+ originalSettings: {},
2405
+ readOnly: true,
2406
+ }, {
2407
+ path: USER_SETTINGS_PATH,
2408
+ settings: {},
2409
+ originalSettings: {},
2410
+ readOnly: false,
2411
+ }, {
2412
+ path: MOCK_WORKSPACE_SETTINGS_PATH,
2413
+ settings: {},
2414
+ originalSettings: {},
2415
+ readOnly: true,
2416
+ }, true, []);
2417
+ const snapshot = readonlySettings.getSnapshot();
2418
+ expect(snapshot.system.readOnly).toBe(true);
2419
+ expect(snapshot.systemDefaults.readOnly).toBe(true);
2420
+ expect(snapshot.user.readOnly).toBe(false);
2421
+ expect(snapshot.workspace.readOnly).toBe(true);
2422
+ });
2346
2423
  it('setValue() should create a new snapshot reference and emit event', () => {
2347
2424
  const oldSnapshot = loadedSettings.getSnapshot();
2348
2425
  const oldUserRef = oldSnapshot.user.settings;
@@ -2369,6 +2446,7 @@ describe('Settings Loading and Merging', () => {
2369
2446
  delete process.env['CLOUD_SHELL'];
2370
2447
  delete process.env['MALICIOUS_VAR'];
2371
2448
  delete process.env['FOO'];
2449
+ delete process.env['_GEMINI_USER_GCP_PROJECT'];
2372
2450
  vi.resetAllMocks();
2373
2451
  vi.mocked(fs.existsSync).mockReturnValue(false);
2374
2452
  });
@@ -2514,6 +2592,95 @@ MALICIOUS_VAR=allowed-because-trusted
2514
2592
  loadEnvironment(createMockSettings({ tools: { sandbox: false } }).merged, MOCK_WORKSPACE_DIR);
2515
2593
  expect(process.env['GOOGLE_CLOUD_PROJECT']).toBe('cloudshell-gca');
2516
2594
  });
2595
+ it('should not override GOOGLE_CLOUD_PROJECT in Cloud Shell when auth type is vertex-ai', () => {
2596
+ vi.stubEnv('CLOUD_SHELL', 'true');
2597
+ vi.stubEnv('GOOGLE_CLOUD_PROJECT', 'my-vertex-project');
2598
+ process.argv = ['node', 'gemini', '-s', 'prompt'];
2599
+ vi.mocked(isWorkspaceTrusted).mockReturnValue({
2600
+ isTrusted: false,
2601
+ source: 'file',
2602
+ });
2603
+ // No .env file
2604
+ vi.mocked(fs.existsSync).mockReturnValue(false);
2605
+ loadEnvironment(createMockSettings({
2606
+ tools: { sandbox: false },
2607
+ security: { auth: { selectedType: AuthType.USE_VERTEX_AI } },
2608
+ }).merged, MOCK_WORKSPACE_DIR);
2609
+ expect(process.env['GOOGLE_CLOUD_PROJECT']).toBe('my-vertex-project');
2610
+ });
2611
+ it('should respect .env override for GOOGLE_CLOUD_PROJECT in Cloud Shell when auth type is vertex-ai', () => {
2612
+ vi.stubEnv('CLOUD_SHELL', 'true');
2613
+ vi.stubEnv('GOOGLE_CLOUD_PROJECT', 'my-vertex-project');
2614
+ process.argv = ['node', 'gemini', '-s', 'prompt'];
2615
+ vi.mocked(isWorkspaceTrusted).mockReturnValue({
2616
+ isTrusted: true,
2617
+ source: 'file',
2618
+ });
2619
+ // Mock .env file to override the shell project
2620
+ vi.mocked(fs.existsSync).mockReturnValue(true);
2621
+ vi.mocked(fs.readFileSync).mockReturnValue('GOOGLE_CLOUD_PROJECT=env-vertex-project');
2622
+ loadEnvironment(createMockSettings({
2623
+ tools: { sandbox: false },
2624
+ security: { auth: { selectedType: AuthType.USE_VERTEX_AI } },
2625
+ }).merged, MOCK_WORKSPACE_DIR);
2626
+ expect(process.env['GOOGLE_CLOUD_PROJECT']).toBe('env-vertex-project');
2627
+ });
2628
+ it('should clear cloudshell-gca when switching to Vertex AI without an original project', () => {
2629
+ process.env['CLOUD_SHELL'] = 'true';
2630
+ process.argv = ['node', 'gemini', '-s', 'prompt'];
2631
+ vi.mocked(isWorkspaceTrusted).mockReturnValue({
2632
+ isTrusted: false,
2633
+ source: 'file',
2634
+ });
2635
+ vi.mocked(fs.existsSync).mockReturnValue(false);
2636
+ // First call: normal Cloud Shell auth sets cloudshell-gca
2637
+ loadEnvironment(createMockSettings({ tools: { sandbox: false } }).merged, MOCK_WORKSPACE_DIR);
2638
+ expect(process.env['GOOGLE_CLOUD_PROJECT']).toBe('cloudshell-gca');
2639
+ // Second call: user switched to Vertex AI, should remove cloudshell-gca
2640
+ loadEnvironment(createMockSettings({
2641
+ tools: { sandbox: false },
2642
+ security: { auth: { selectedType: AuthType.USE_VERTEX_AI } },
2643
+ }).merged, MOCK_WORKSPACE_DIR);
2644
+ expect(process.env['GOOGLE_CLOUD_PROJECT']).toBeUndefined();
2645
+ });
2646
+ it('should restore original project when switching to Vertex AI after Cloud Shell override', () => {
2647
+ process.env['CLOUD_SHELL'] = 'true';
2648
+ process.env['GOOGLE_CLOUD_PROJECT'] = 'my-real-project';
2649
+ process.argv = ['node', 'gemini', '-s', 'prompt'];
2650
+ vi.mocked(isWorkspaceTrusted).mockReturnValue({
2651
+ isTrusted: false,
2652
+ source: 'file',
2653
+ });
2654
+ vi.mocked(fs.existsSync).mockReturnValue(false);
2655
+ // First call: saves original to _GEMINI_USER_GCP_PROJECT, sets cloudshell-gca
2656
+ loadEnvironment(createMockSettings({ tools: { sandbox: false } }).merged, MOCK_WORKSPACE_DIR);
2657
+ expect(process.env['GOOGLE_CLOUD_PROJECT']).toBe('cloudshell-gca');
2658
+ expect(process.env['_GEMINI_USER_GCP_PROJECT']).toBe('my-real-project');
2659
+ // Second call: switching to Vertex AI should restore the saved value
2660
+ loadEnvironment(createMockSettings({
2661
+ tools: { sandbox: false },
2662
+ security: { auth: { selectedType: AuthType.USE_VERTEX_AI } },
2663
+ }).merged, MOCK_WORKSPACE_DIR);
2664
+ expect(process.env['GOOGLE_CLOUD_PROJECT']).toBe('my-real-project');
2665
+ });
2666
+ it('should restore project after restart when child inherits cloudshell-gca', () => {
2667
+ // Simulate child process after restart: inherits cloudshell-gca and
2668
+ // the saved original from the parent process.
2669
+ process.env['CLOUD_SHELL'] = 'true';
2670
+ process.env['GOOGLE_CLOUD_PROJECT'] = 'cloudshell-gca';
2671
+ process.env['_GEMINI_USER_GCP_PROJECT'] = 'my-real-project';
2672
+ process.argv = ['node', 'gemini', '-s', 'prompt'];
2673
+ vi.mocked(isWorkspaceTrusted).mockReturnValue({
2674
+ isTrusted: false,
2675
+ source: 'file',
2676
+ });
2677
+ vi.mocked(fs.existsSync).mockReturnValue(false);
2678
+ loadEnvironment(createMockSettings({
2679
+ tools: { sandbox: false },
2680
+ security: { auth: { selectedType: AuthType.USE_VERTEX_AI } },
2681
+ }).merged, MOCK_WORKSPACE_DIR);
2682
+ expect(process.env['GOOGLE_CLOUD_PROJECT']).toBe('my-real-project');
2683
+ });
2517
2684
  it('should sanitize GOOGLE_CLOUD_PROJECT in Cloud Shell when loaded from .env in untrusted mode', () => {
2518
2685
  process.env['CLOUD_SHELL'] = 'true';
2519
2686
  process.argv = ['node', 'gemini', '-s', 'prompt'];