@google/gemini-cli-core 0.42.0-preview.1 → 0.43.0-preview.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. package/dist/docs/changelogs/index.md +14 -0
  2. package/dist/docs/changelogs/latest.md +108 -166
  3. package/dist/docs/changelogs/preview.md +227 -103
  4. package/dist/docs/cli/auto-memory.md +60 -38
  5. package/dist/docs/cli/settings.md +1 -1
  6. package/dist/docs/cli/tutorials/memory-management.md +1 -1
  7. package/dist/docs/extensions/releasing.md +58 -24
  8. package/dist/docs/reference/configuration.md +14 -1
  9. package/dist/docs/reference/keyboard-shortcuts.md +23 -0
  10. package/dist/src/agent/content-utils.js +2 -0
  11. package/dist/src/agent/content-utils.js.map +1 -1
  12. package/dist/src/agent/content-utils.test.js +5 -1
  13. package/dist/src/agent/content-utils.test.js.map +1 -1
  14. package/dist/src/agent/event-translator.js +7 -6
  15. package/dist/src/agent/event-translator.js.map +1 -1
  16. package/dist/src/agent/legacy-agent-session.js +4 -0
  17. package/dist/src/agent/legacy-agent-session.js.map +1 -1
  18. package/dist/src/agent/legacy-agent-session.test.js +9 -1
  19. package/dist/src/agent/legacy-agent-session.test.js.map +1 -1
  20. package/dist/src/agent/tool-display-utils.d.ts +3 -2
  21. package/dist/src/agent/tool-display-utils.js +3 -2
  22. package/dist/src/agent/tool-display-utils.js.map +1 -1
  23. package/dist/src/agent/types.d.ts +33 -3
  24. package/dist/src/agents/a2aUtils.d.ts +1 -1
  25. package/dist/src/agents/a2aUtils.js +4 -3
  26. package/dist/src/agents/a2aUtils.js.map +1 -1
  27. package/dist/src/agents/agentLoader.d.ts +2 -2
  28. package/dist/src/agents/browser/browserAgentInvocation.js +24 -19
  29. package/dist/src/agents/browser/browserAgentInvocation.js.map +1 -1
  30. package/dist/src/agents/local-executor.d.ts +1 -0
  31. package/dist/src/agents/local-executor.js +46 -32
  32. package/dist/src/agents/local-executor.js.map +1 -1
  33. package/dist/src/agents/local-executor.test.js +127 -0
  34. package/dist/src/agents/local-executor.test.js.map +1 -1
  35. package/dist/src/agents/local-invocation.js +24 -20
  36. package/dist/src/agents/local-invocation.js.map +1 -1
  37. package/dist/src/agents/local-invocation.test.js +9 -9
  38. package/dist/src/agents/local-invocation.test.js.map +1 -1
  39. package/dist/src/agents/local-subagent-protocol.d.ts +18 -0
  40. package/dist/src/agents/local-subagent-protocol.js +357 -0
  41. package/dist/src/agents/local-subagent-protocol.js.map +1 -0
  42. package/dist/src/agents/local-subagent-protocol.test.d.ts +6 -0
  43. package/dist/src/agents/local-subagent-protocol.test.js +676 -0
  44. package/dist/src/agents/local-subagent-protocol.test.js.map +1 -0
  45. package/dist/src/agents/remote-invocation.js +6 -6
  46. package/dist/src/agents/remote-invocation.js.map +1 -1
  47. package/dist/src/agents/remote-invocation.test.js +23 -12
  48. package/dist/src/agents/remote-invocation.test.js.map +1 -1
  49. package/dist/src/agents/remote-subagent-protocol.d.ts +31 -0
  50. package/dist/src/agents/remote-subagent-protocol.js +330 -0
  51. package/dist/src/agents/remote-subagent-protocol.js.map +1 -0
  52. package/dist/src/agents/remote-subagent-protocol.test.d.ts +6 -0
  53. package/dist/src/agents/remote-subagent-protocol.test.js +652 -0
  54. package/dist/src/agents/remote-subagent-protocol.test.js.map +1 -0
  55. package/dist/src/agents/skill-extraction-agent.js +1 -0
  56. package/dist/src/agents/skill-extraction-agent.js.map +1 -1
  57. package/dist/src/agents/skill-extraction-agent.test.js +1 -0
  58. package/dist/src/agents/skill-extraction-agent.test.js.map +1 -1
  59. package/dist/src/agents/types.d.ts +13 -2
  60. package/dist/src/agents/types.js +7 -0
  61. package/dist/src/agents/types.js.map +1 -1
  62. package/dist/src/availability/modelAvailabilityService.d.ts +6 -6
  63. package/dist/src/availability/modelAvailabilityService.js +14 -7
  64. package/dist/src/availability/modelAvailabilityService.js.map +1 -1
  65. package/dist/src/availability/modelAvailabilityService.test.js +34 -0
  66. package/dist/src/availability/modelAvailabilityService.test.js.map +1 -1
  67. package/dist/src/availability/policyHelpers.js +24 -12
  68. package/dist/src/availability/policyHelpers.js.map +1 -1
  69. package/dist/src/availability/policyHelpers.test.js +3 -2
  70. package/dist/src/availability/policyHelpers.test.js.map +1 -1
  71. package/dist/src/code_assist/oauth2.js +3 -0
  72. package/dist/src/code_assist/oauth2.js.map +1 -1
  73. package/dist/src/code_assist/setup.d.ts +3 -0
  74. package/dist/src/code_assist/setup.js +9 -0
  75. package/dist/src/code_assist/setup.js.map +1 -1
  76. package/dist/src/code_assist/setup.test.js +9 -1
  77. package/dist/src/code_assist/setup.test.js.map +1 -1
  78. package/dist/src/commands/memory.d.ts +5 -14
  79. package/dist/src/commands/memory.js +19 -141
  80. package/dist/src/commands/memory.js.map +1 -1
  81. package/dist/src/commands/memory.test.js +62 -0
  82. package/dist/src/commands/memory.test.js.map +1 -1
  83. package/dist/src/config/config.d.ts +6 -2
  84. package/dist/src/config/config.js +63 -8
  85. package/dist/src/config/config.js.map +1 -1
  86. package/dist/src/config/config.test.js +48 -0
  87. package/dist/src/config/config.test.js.map +1 -1
  88. package/dist/src/config/defaultModelConfigs.js +13 -0
  89. package/dist/src/config/defaultModelConfigs.js.map +1 -1
  90. package/dist/src/config/models.js +1 -1
  91. package/dist/src/config/models.js.map +1 -1
  92. package/dist/src/config/projectRegistry.d.ts +1 -0
  93. package/dist/src/config/projectRegistry.js +13 -2
  94. package/dist/src/config/projectRegistry.js.map +1 -1
  95. package/dist/src/config/projectRegistry.test.js +43 -0
  96. package/dist/src/config/projectRegistry.test.js.map +1 -1
  97. package/dist/src/context/config/profiles.js +4 -0
  98. package/dist/src/context/config/profiles.js.map +1 -1
  99. package/dist/src/context/contextManager.barrier.test.js +4 -3
  100. package/dist/src/context/contextManager.barrier.test.js.map +1 -1
  101. package/dist/src/context/contextManager.d.ts +9 -2
  102. package/dist/src/context/contextManager.hotstart.test.d.ts +6 -0
  103. package/dist/src/context/contextManager.hotstart.test.js +61 -0
  104. package/dist/src/context/contextManager.hotstart.test.js.map +1 -0
  105. package/dist/src/context/contextManager.js +96 -21
  106. package/dist/src/context/contextManager.js.map +1 -1
  107. package/dist/src/context/eventBus.d.ts +6 -0
  108. package/dist/src/context/eventBus.js +6 -0
  109. package/dist/src/context/eventBus.js.map +1 -1
  110. package/dist/src/context/graph/render.d.ts +3 -1
  111. package/dist/src/context/graph/render.js +33 -9
  112. package/dist/src/context/graph/render.js.map +1 -1
  113. package/dist/src/context/graph/render.test.d.ts +6 -0
  114. package/dist/src/context/graph/render.test.js +203 -0
  115. package/dist/src/context/graph/render.test.js.map +1 -0
  116. package/dist/src/context/graph/toGraph.js +3 -3
  117. package/dist/src/context/graph/toGraph.js.map +1 -1
  118. package/dist/src/context/graph/toGraph.test.d.ts +6 -0
  119. package/dist/src/context/graph/toGraph.test.js +35 -0
  120. package/dist/src/context/graph/toGraph.test.js.map +1 -0
  121. package/dist/src/context/initializer.js +11 -2
  122. package/dist/src/context/initializer.js.map +1 -1
  123. package/dist/src/context/pipeline/contextWorkingBuffer.d.ts +5 -7
  124. package/dist/src/context/pipeline/contextWorkingBuffer.js +105 -29
  125. package/dist/src/context/pipeline/contextWorkingBuffer.js.map +1 -1
  126. package/dist/src/context/pipeline/contextWorkingBuffer.test.js +67 -0
  127. package/dist/src/context/pipeline/contextWorkingBuffer.test.js.map +1 -1
  128. package/dist/src/context/pipeline/environment.d.ts +4 -0
  129. package/dist/src/context/pipeline/environmentImpl.d.ts +6 -5
  130. package/dist/src/context/pipeline/environmentImpl.js +6 -8
  131. package/dist/src/context/pipeline/environmentImpl.js.map +1 -1
  132. package/dist/src/context/pipeline/environmentImpl.test.js +5 -1
  133. package/dist/src/context/pipeline/environmentImpl.test.js.map +1 -1
  134. package/dist/src/context/pipeline/orchestrator.d.ts +1 -0
  135. package/dist/src/context/pipeline/orchestrator.js +59 -24
  136. package/dist/src/context/pipeline/orchestrator.js.map +1 -1
  137. package/dist/src/context/processors/blobDegradationProcessor.test.js +2 -2
  138. package/dist/src/context/processors/rollingSummaryProcessor.js +2 -15
  139. package/dist/src/context/processors/rollingSummaryProcessor.js.map +1 -1
  140. package/dist/src/context/processors/stateSnapshotAsyncProcessor.d.ts +7 -0
  141. package/dist/src/context/processors/stateSnapshotAsyncProcessor.js +33 -21
  142. package/dist/src/context/processors/stateSnapshotAsyncProcessor.js.map +1 -1
  143. package/dist/src/context/processors/stateSnapshotAsyncProcessor.test.js +31 -7
  144. package/dist/src/context/processors/stateSnapshotAsyncProcessor.test.js.map +1 -1
  145. package/dist/src/context/processors/stateSnapshotProcessor.d.ts +2 -0
  146. package/dist/src/context/processors/stateSnapshotProcessor.js +28 -4
  147. package/dist/src/context/processors/stateSnapshotProcessor.js.map +1 -1
  148. package/dist/src/context/processors/stateSnapshotProcessor.test.js +40 -1
  149. package/dist/src/context/processors/stateSnapshotProcessor.test.js.map +1 -1
  150. package/dist/src/context/system-tests/hysteresis.test.d.ts +6 -0
  151. package/dist/src/context/system-tests/hysteresis.test.js +98 -0
  152. package/dist/src/context/system-tests/hysteresis.test.js.map +1 -0
  153. package/dist/src/context/system-tests/lifecycle.golden.test.js +90 -69
  154. package/dist/src/context/system-tests/lifecycle.golden.test.js.map +1 -1
  155. package/dist/src/context/system-tests/simulationHarness.d.ts +1 -4
  156. package/dist/src/context/system-tests/simulationHarness.js +16 -30
  157. package/dist/src/context/system-tests/simulationHarness.js.map +1 -1
  158. package/dist/src/context/testing/contextTestUtils.d.ts +1 -0
  159. package/dist/src/context/testing/contextTestUtils.js +48 -25
  160. package/dist/src/context/testing/contextTestUtils.js.map +1 -1
  161. package/dist/src/context/utils/adaptiveTokenCalculator.d.ts +61 -0
  162. package/dist/src/context/utils/adaptiveTokenCalculator.js +116 -0
  163. package/dist/src/context/utils/adaptiveTokenCalculator.js.map +1 -0
  164. package/dist/src/context/utils/adaptiveTokenCalculator.test.d.ts +6 -0
  165. package/dist/src/context/utils/adaptiveTokenCalculator.test.js +85 -0
  166. package/dist/src/context/utils/adaptiveTokenCalculator.test.js.map +1 -0
  167. package/dist/src/context/utils/contextTokenCalculator.d.ts +47 -1
  168. package/dist/src/context/utils/contextTokenCalculator.js +20 -3
  169. package/dist/src/context/utils/contextTokenCalculator.js.map +1 -1
  170. package/dist/src/context/utils/contextTokenCalculator.test.js +8 -8
  171. package/dist/src/context/utils/contextTokenCalculator.test.js.map +1 -1
  172. package/dist/src/context/utils/formatNodesForLlm.d.ts +21 -0
  173. package/dist/src/context/utils/formatNodesForLlm.js +69 -0
  174. package/dist/src/context/utils/formatNodesForLlm.js.map +1 -0
  175. package/dist/src/context/utils/formatNodesForLlm.test.d.ts +6 -0
  176. package/dist/src/context/utils/formatNodesForLlm.test.js +110 -0
  177. package/dist/src/context/utils/formatNodesForLlm.test.js.map +1 -0
  178. package/dist/src/context/utils/snapshotGenerator.d.ts +23 -1
  179. package/dist/src/context/utils/snapshotGenerator.js +249 -31
  180. package/dist/src/context/utils/snapshotGenerator.js.map +1 -1
  181. package/dist/src/context/utils/snapshotGenerator.test.d.ts +6 -0
  182. package/dist/src/context/utils/snapshotGenerator.test.js +255 -0
  183. package/dist/src/context/utils/snapshotGenerator.test.js.map +1 -0
  184. package/dist/src/context/utils/tokenCalibration.d.ts +9 -0
  185. package/dist/src/context/utils/tokenCalibration.js +30 -0
  186. package/dist/src/context/utils/tokenCalibration.js.map +1 -0
  187. package/dist/src/core/baseLlmClient.d.ts +8 -0
  188. package/dist/src/core/baseLlmClient.js +14 -0
  189. package/dist/src/core/baseLlmClient.js.map +1 -1
  190. package/dist/src/core/client.js +12 -1
  191. package/dist/src/core/client.js.map +1 -1
  192. package/dist/src/core/client.test.js +4 -4
  193. package/dist/src/core/contentGenerator.js +12 -10
  194. package/dist/src/core/contentGenerator.js.map +1 -1
  195. package/dist/src/core/geminiChat.d.ts +2 -0
  196. package/dist/src/core/geminiChat.js +60 -5
  197. package/dist/src/core/geminiChat.js.map +1 -1
  198. package/dist/src/core/geminiChat.test.js +195 -2
  199. package/dist/src/core/geminiChat.test.js.map +1 -1
  200. package/dist/src/core/turn.js +30 -2
  201. package/dist/src/core/turn.js.map +1 -1
  202. package/dist/src/core/turn.test.js +13 -8
  203. package/dist/src/core/turn.test.js.map +1 -1
  204. package/dist/src/generated/git-commit.d.ts +2 -2
  205. package/dist/src/generated/git-commit.js +2 -2
  206. package/dist/src/hooks/hookEventHandler.js +3 -2
  207. package/dist/src/hooks/hookEventHandler.js.map +1 -1
  208. package/dist/src/hooks/hookEventHandler.test.js +80 -0
  209. package/dist/src/hooks/hookEventHandler.test.js.map +1 -1
  210. package/dist/src/index.d.ts +2 -1
  211. package/dist/src/index.js +2 -2
  212. package/dist/src/index.js.map +1 -1
  213. package/dist/src/prompts/snippets.js +1 -1
  214. package/dist/src/prompts/snippets.js.map +1 -1
  215. package/dist/src/routing/strategies/approvalModeStrategy.js +5 -3
  216. package/dist/src/routing/strategies/approvalModeStrategy.js.map +1 -1
  217. package/dist/src/routing/strategies/approvalModeStrategy.test.js +2 -0
  218. package/dist/src/routing/strategies/approvalModeStrategy.test.js.map +1 -1
  219. package/dist/src/routing/strategies/classifierStrategy.js +8 -1
  220. package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
  221. package/dist/src/routing/strategies/classifierStrategy.test.js +4 -0
  222. package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
  223. package/dist/src/routing/strategies/gemmaClassifierStrategy.js +7 -1
  224. package/dist/src/routing/strategies/gemmaClassifierStrategy.js.map +1 -1
  225. package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js +4 -0
  226. package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js.map +1 -1
  227. package/dist/src/routing/strategies/numericalClassifierStrategy.d.ts +1 -0
  228. package/dist/src/routing/strategies/numericalClassifierStrategy.js +22 -3
  229. package/dist/src/routing/strategies/numericalClassifierStrategy.js.map +1 -1
  230. package/dist/src/routing/strategies/numericalClassifierStrategy.test.js +168 -23
  231. package/dist/src/routing/strategies/numericalClassifierStrategy.test.js.map +1 -1
  232. package/dist/src/scheduler/scheduler.js +11 -0
  233. package/dist/src/scheduler/scheduler.js.map +1 -1
  234. package/dist/src/scheduler/scheduler.test.js +1 -1
  235. package/dist/src/scheduler/scheduler.test.js.map +1 -1
  236. package/dist/src/scheduler/state-manager.js +5 -1
  237. package/dist/src/scheduler/state-manager.js.map +1 -1
  238. package/dist/src/scheduler/tool-executor.js +7 -4
  239. package/dist/src/scheduler/tool-executor.js.map +1 -1
  240. package/dist/src/scheduler/types.d.ts +5 -1
  241. package/dist/src/scheduler/types.js.map +1 -1
  242. package/dist/src/services/fileDiscoveryService.js +2 -1
  243. package/dist/src/services/fileDiscoveryService.js.map +1 -1
  244. package/dist/src/services/fileDiscoveryService.test.js +36 -0
  245. package/dist/src/services/fileDiscoveryService.test.js.map +1 -1
  246. package/dist/src/services/gitService.js +8 -1
  247. package/dist/src/services/gitService.js.map +1 -1
  248. package/dist/src/services/gitService.test.js +104 -0
  249. package/dist/src/services/gitService.test.js.map +1 -1
  250. package/dist/src/services/keychainService.js +14 -5
  251. package/dist/src/services/keychainService.js.map +1 -1
  252. package/dist/src/services/memoryPatchUtils.d.ts +66 -4
  253. package/dist/src/services/memoryPatchUtils.js +267 -5
  254. package/dist/src/services/memoryPatchUtils.js.map +1 -1
  255. package/dist/src/services/memoryService.js +25 -1
  256. package/dist/src/services/memoryService.js.map +1 -1
  257. package/dist/src/services/memoryService.test.js +61 -1
  258. package/dist/src/services/memoryService.test.js.map +1 -1
  259. package/dist/src/services/test-data/resolved-aliases-retry.golden.json +11 -0
  260. package/dist/src/services/test-data/resolved-aliases.golden.json +11 -0
  261. package/dist/src/telemetry/gcp-exporters.d.ts +2 -0
  262. package/dist/src/telemetry/gcp-exporters.js +69 -5
  263. package/dist/src/telemetry/gcp-exporters.js.map +1 -1
  264. package/dist/src/telemetry/gcp-exporters.test.js +52 -0
  265. package/dist/src/telemetry/gcp-exporters.test.js.map +1 -1
  266. package/dist/src/telemetry/metrics.js +13 -2
  267. package/dist/src/telemetry/metrics.js.map +1 -1
  268. package/dist/src/telemetry/metrics.test.js +61 -1
  269. package/dist/src/telemetry/metrics.test.js.map +1 -1
  270. package/dist/src/tools/definitions/model-family-sets/default-legacy.js +5 -2
  271. package/dist/src/tools/definitions/model-family-sets/default-legacy.js.map +1 -1
  272. package/dist/src/tools/definitions/model-family-sets/gemini-3.js +7 -4
  273. package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
  274. package/dist/src/tools/edit.js +19 -0
  275. package/dist/src/tools/edit.js.map +1 -1
  276. package/dist/src/tools/edit.test.js +9 -0
  277. package/dist/src/tools/edit.test.js.map +1 -1
  278. package/dist/src/tools/grep.js +13 -1
  279. package/dist/src/tools/grep.js.map +1 -1
  280. package/dist/src/tools/ls.js +5 -0
  281. package/dist/src/tools/ls.js.map +1 -1
  282. package/dist/src/tools/mcp-client.js +17 -3
  283. package/dist/src/tools/mcp-client.js.map +1 -1
  284. package/dist/src/tools/mcp-client.test.js +24 -0
  285. package/dist/src/tools/mcp-client.test.js.map +1 -1
  286. package/dist/src/tools/read-file.js +11 -6
  287. package/dist/src/tools/read-file.js.map +1 -1
  288. package/dist/src/tools/read-file.test.js +20 -8
  289. package/dist/src/tools/read-file.test.js.map +1 -1
  290. package/dist/src/tools/ripGrep.js +13 -1
  291. package/dist/src/tools/ripGrep.js.map +1 -1
  292. package/dist/src/tools/shell.js +14 -0
  293. package/dist/src/tools/shell.js.map +1 -1
  294. package/dist/src/tools/shell.test.js +5 -0
  295. package/dist/src/tools/shell.test.js.map +1 -1
  296. package/dist/src/tools/tools.d.ts +6 -0
  297. package/dist/src/tools/tools.js.map +1 -1
  298. package/dist/src/tools/topicTool.js +5 -0
  299. package/dist/src/tools/topicTool.js.map +1 -1
  300. package/dist/src/tools/write-file.js +13 -0
  301. package/dist/src/tools/write-file.js.map +1 -1
  302. package/dist/src/tools/write-file.test.js +8 -0
  303. package/dist/src/tools/write-file.test.js.map +1 -1
  304. package/dist/src/utils/errors.js +3 -8
  305. package/dist/src/utils/errors.js.map +1 -1
  306. package/dist/src/utils/filesearch/ignore.js +4 -1
  307. package/dist/src/utils/filesearch/ignore.js.map +1 -1
  308. package/dist/src/utils/ignoreFileParser.js +1 -1
  309. package/dist/src/utils/ignoreFileParser.js.map +1 -1
  310. package/dist/src/utils/ignorePatterns.js +2 -0
  311. package/dist/src/utils/ignorePatterns.js.map +1 -1
  312. package/dist/src/utils/ignorePatterns.test.js +1 -0
  313. package/dist/src/utils/ignorePatterns.test.js.map +1 -1
  314. package/dist/src/utils/memoryDiscovery.js +55 -40
  315. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  316. package/dist/src/utils/memoryDiscovery.test.js +77 -9
  317. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  318. package/dist/src/utils/modelUtils.d.ts +14 -0
  319. package/dist/src/utils/modelUtils.js +17 -0
  320. package/dist/src/utils/modelUtils.js.map +1 -0
  321. package/dist/src/utils/modelUtils.test.d.ts +6 -0
  322. package/dist/src/utils/modelUtils.test.js +23 -0
  323. package/dist/src/utils/modelUtils.test.js.map +1 -0
  324. package/dist/src/utils/paths.d.ts +15 -1
  325. package/dist/src/utils/paths.js +22 -7
  326. package/dist/src/utils/paths.js.map +1 -1
  327. package/dist/src/utils/paths.test.js +25 -1
  328. package/dist/src/utils/paths.test.js.map +1 -1
  329. package/dist/src/utils/quotaErrorDetection.js +23 -12
  330. package/dist/src/utils/quotaErrorDetection.js.map +1 -1
  331. package/dist/src/utils/shell-utils.js +9 -1
  332. package/dist/src/utils/shell-utils.js.map +1 -1
  333. package/dist/src/utils/shell-utils.test.js +7 -3
  334. package/dist/src/utils/shell-utils.test.js.map +1 -1
  335. package/dist/src/utils/tokenCalculation.js +2 -1
  336. package/dist/src/utils/tokenCalculation.js.map +1 -1
  337. package/dist/src/utils/tokenCalculation.test.js +15 -0
  338. package/dist/src/utils/tokenCalculation.test.js.map +1 -1
  339. package/dist/tsconfig.tsbuildinfo +1 -1
  340. package/package.json +1 -1
  341. package/dist/google-gemini-cli-core-0.42.0-preview.0.tgz +0 -0
@@ -781,7 +781,19 @@ export class Config {
781
781
  }
782
782
  // Add plans directory to workspace context for plan file storage
783
783
  if (this.planEnabled) {
784
- const plansDir = this.storage.getPlansDir();
784
+ let plansDir;
785
+ try {
786
+ plansDir = this.storage.getPlansDir();
787
+ }
788
+ catch (error) {
789
+ // Fallback to the default plan dir if any error occurs
790
+ const errorMessage = error instanceof Error ? error.message : String(error);
791
+ coreEvents.emitFeedback('warning', 'Invalid custom plans directory: ' +
792
+ errorMessage +
793
+ '. Falling back to default project temp directory.', error);
794
+ this.storage.setCustomPlansDir(undefined);
795
+ plansDir = this.storage.getPlansDir();
796
+ }
785
797
  try {
786
798
  await fs.promises.access(plansDir);
787
799
  this.workspaceContext.addDirectory(plansDir);
@@ -1573,12 +1585,15 @@ export class Config {
1573
1585
  * user message when JIT is enabled. Returns empty string when JIT is
1574
1586
  * disabled (Tier 2 memory is already in the system instruction).
1575
1587
  */
1576
- getSessionMemory() {
1588
+ getSessionMemory(options) {
1577
1589
  if (!this.experimentalJitContext || !this.memoryContextManager) {
1578
1590
  return '';
1579
1591
  }
1580
1592
  const sections = [];
1581
- const extension = this.memoryContextManager.getExtensionMemory();
1593
+ const includeExtensionContext = options?.includeExtensionContext ?? true;
1594
+ const extension = includeExtensionContext
1595
+ ? this.memoryContextManager.getExtensionMemory()
1596
+ : '';
1582
1597
  const project = this.memoryContextManager.getEnvironmentMemory();
1583
1598
  if (extension?.trim()) {
1584
1599
  sections.push(`<extension_context>\n${extension.trim()}\n</extension_context>`);
@@ -2010,16 +2025,41 @@ export class Config {
2010
2025
  setIdeMode(value) {
2011
2026
  this.ideMode = value;
2012
2027
  }
2013
- isScopedMemoryInboxPatchPathAllowed(absolutePath, resolvedPath, inboxRoot) {
2028
+ isScopedMemoryInboxPatchPathAllowed(absolutePath, resolvedPath, inboxRoot, checkType = 'write') {
2014
2029
  if (!hasScopedMemoryInboxAccess()) {
2015
2030
  return false;
2016
2031
  }
2017
2032
  const normalizedPath = path.resolve(absolutePath);
2033
+ const resolvedMemoryRoot = resolveToRealPath(this.storage.getProjectMemoryTempDir());
2034
+ // Reads: allow the inbox root and the per-kind subtrees so the extraction
2035
+ // agent can list/inspect prior patches (including non-canonical filenames
2036
+ // left over from older runs) before deciding how to rewrite the canonical
2037
+ // extraction.patch. Writes still flow through the strict canonical-path
2038
+ // check below so the inbox cannot be backdoored with arbitrary files.
2039
+ if (checkType === 'read') {
2040
+ const resolvedInboxRoot = resolveToRealPath(inboxRoot);
2041
+ const normalizedInboxRoot = path.resolve(inboxRoot);
2042
+ if (resolvedPath === resolvedInboxRoot ||
2043
+ normalizedPath === normalizedInboxRoot) {
2044
+ return isSubpath(resolvedMemoryRoot, resolvedPath);
2045
+ }
2046
+ for (const kind of ['private', 'global']) {
2047
+ const kindRoot = path.join(inboxRoot, kind);
2048
+ const resolvedKindRoot = resolveToRealPath(kindRoot);
2049
+ const normalizedKindRoot = path.resolve(kindRoot);
2050
+ if (resolvedPath === resolvedKindRoot ||
2051
+ normalizedPath === normalizedKindRoot ||
2052
+ isSubpath(resolvedKindRoot, resolvedPath) ||
2053
+ isSubpath(normalizedKindRoot, normalizedPath)) {
2054
+ return isSubpath(resolvedMemoryRoot, resolvedPath);
2055
+ }
2056
+ }
2057
+ return false;
2058
+ }
2018
2059
  const isCanonicalPatchPath = ['private', 'global'].some((kind) => normalizedPath === path.resolve(inboxRoot, kind, 'extraction.patch'));
2019
2060
  if (!isCanonicalPatchPath) {
2020
2061
  return false;
2021
2062
  }
2022
- const resolvedMemoryRoot = resolveToRealPath(this.storage.getProjectMemoryTempDir());
2023
2063
  return isSubpath(resolvedMemoryRoot, resolvedPath);
2024
2064
  }
2025
2065
  isScopedAutoMemoryExtractionWritePathAllowed(absolutePath, resolvedPath) {
@@ -2049,7 +2089,9 @@ export class Config {
2049
2089
  * the auto-memory extraction agent and the `/memory inbox` review flow. The
2050
2090
  * main agent is denied access to it even though it falls inside the project
2051
2091
  * temp dir; the extraction agent receives a narrow execution-scoped exception
2052
- * for `.inbox/{private,global}/extraction.patch`.
2092
+ * for *writes* to `.inbox/{private,global}/extraction.patch`. Scoped *read*
2093
+ * access to the wider `.inbox/{private,global}/` subtree is granted in
2094
+ * `validatePathAccess` so the extractor can enumerate prior patches.
2053
2095
  *
2054
2096
  * @param absolutePath The absolute path to check.
2055
2097
  * @returns true if the path is allowed, false otherwise.
@@ -2114,6 +2156,17 @@ export class Config {
2114
2156
  if (this.getWorkspaceContext().isPathReadable(absolutePath)) {
2115
2157
  return null;
2116
2158
  }
2159
+ // The memory inbox is carved out of the standard temp-dir allowlist by
2160
+ // `isPathAllowed`. The extraction agent is granted a scoped read
2161
+ // exception so it can enumerate prior patches (including non-canonical
2162
+ // filenames) before consolidating them into the canonical
2163
+ // extraction.patch. Writes remain restricted to canonical paths.
2164
+ if (hasScopedMemoryInboxAccess()) {
2165
+ const inboxRoot = path.join(this.storage.getProjectMemoryTempDir(), '.inbox');
2166
+ if (this.isScopedMemoryInboxPatchPathAllowed(absolutePath, resolveToRealPath(absolutePath), inboxRoot, 'read')) {
2167
+ return null;
2168
+ }
2169
+ }
2117
2170
  }
2118
2171
  // Then check standard allowed paths (Workspace + Temp)
2119
2172
  // This covers 'write' checks and acts as a fallback/temp-dir check for 'read'
@@ -2469,10 +2522,12 @@ export class Config {
2469
2522
  return this.gemmaModelRouter;
2470
2523
  }
2471
2524
  getAgentSessionNoninteractiveEnabled() {
2472
- return this.agentSessionNoninteractiveEnabled;
2525
+ return (process.env['GEMINI_CLI_EXP_AGENT'] === 'true' ||
2526
+ this.agentSessionNoninteractiveEnabled);
2473
2527
  }
2474
2528
  getAgentSessionInteractiveEnabled() {
2475
- return this.agentSessionInteractiveEnabled;
2529
+ return (process.env['GEMINI_CLI_EXP_AGENT'] === 'true' ||
2530
+ this.agentSessionInteractiveEnabled);
2476
2531
  }
2477
2532
  /**
2478
2533
  * Get override settings for a specific agent.
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
@@ -2766,6 +2766,15 @@ describe('Config JIT Initialization', () => {
2766
2766
  expect(sessionMemory).toContain('MCP Instructions');
2767
2767
  expect(sessionMemory).toContain('</project_context>');
2768
2768
  expect(sessionMemory).toContain('</loaded_context>');
2769
+ const sessionMemoryWithoutExtension = config.getSessionMemory({
2770
+ includeExtensionContext: false,
2771
+ });
2772
+ expect(sessionMemoryWithoutExtension).toContain('<loaded_context>');
2773
+ expect(sessionMemoryWithoutExtension).not.toContain('<extension_context>');
2774
+ expect(sessionMemoryWithoutExtension).not.toContain('Extension Memory');
2775
+ expect(sessionMemoryWithoutExtension).toContain('<project_context>');
2776
+ expect(sessionMemoryWithoutExtension).toContain('Environment Memory');
2777
+ expect(sessionMemoryWithoutExtension).toContain('</loaded_context>');
2769
2778
  // Verify state update (delegated to MemoryContextManager)
2770
2779
  expect(config.getGeminiMdFileCount()).toBe(1);
2771
2780
  expect(config.getGeminiMdFilePaths()).toEqual(['/path/to/GEMINI.md']);
@@ -2924,10 +2933,28 @@ describe('Config JIT Initialization', () => {
2924
2933
  expect(config.isPathAllowed(privateExtractionPatch)).toBe(true);
2925
2934
  expect(config.validatePathAccess(privateExtractionPatch)).toBeNull();
2926
2935
  expect(config.isPathAllowed(globalExtractionPatch)).toBe(true);
2936
+ // Writes (the default checkType for isPathAllowed) remain restricted
2937
+ // to the canonical extraction.patch filenames.
2927
2938
  expect(config.isPathAllowed(path.join(inboxRoot, 'private', 'other.patch'))).toBe(false);
2928
2939
  expect(config.isPathAllowed(path.join(inboxRoot, 'private', 'nested', 'extraction.patch'))).toBe(false);
2940
+ // Reads are broadened to the .inbox/{private,global}/ subtree so the
2941
+ // extractor can list and inspect prior patches before consolidating.
2942
+ const privateOtherPatch = path.join(inboxRoot, 'private', 'other.patch');
2943
+ const globalLeftover = path.join(inboxRoot, 'global', 'topic-a.patch');
2944
+ const nestedReadPath = path.join(inboxRoot, 'private', 'nested', 'extraction.patch');
2945
+ expect(config.validatePathAccess(privateOtherPatch, 'read')).toBeNull();
2946
+ expect(config.validatePathAccess(globalLeftover, 'read')).toBeNull();
2947
+ expect(config.validatePathAccess(nestedReadPath, 'read')).toBeNull();
2948
+ expect(config.validatePathAccess(inboxRoot, 'read')).toBeNull();
2949
+ expect(config.validatePathAccess(path.join(inboxRoot, 'private'), 'read')).toBeNull();
2950
+ expect(config.validatePathAccess(path.join(inboxRoot, 'global'), 'read')).toBeNull();
2951
+ // Writes to the same broadened paths are still rejected.
2952
+ expect(config.validatePathAccess(privateOtherPatch)).toContain('Path not in workspace');
2953
+ expect(config.validatePathAccess(nestedReadPath)).toContain('Path not in workspace');
2929
2954
  });
2930
2955
  expect(config.isPathAllowed(privateExtractionPatch)).toBe(false);
2956
+ // Outside the scope, reads of inbox files are denied again.
2957
+ expect(config.validatePathAccess(path.join(inboxRoot, 'private', 'other.patch'), 'read')).toContain('Path not in workspace');
2931
2958
  });
2932
2959
  it('should restrict scoped auto-memory extraction writes to generated artifacts', () => {
2933
2960
  const params = {
@@ -3180,6 +3207,27 @@ describe('Plans Directory Initialization', () => {
3180
3207
  const context = config.getWorkspaceContext();
3181
3208
  expect(context.getDirectories()).not.toContain(plansDir);
3182
3209
  });
3210
+ it('should gracefully fallback to default plans directory if retrieving custom directory throw an error', async () => {
3211
+ vi.spyOn(coreEvents, 'emitFeedback');
3212
+ vi.spyOn(fs.promises, 'access').mockResolvedValue(undefined);
3213
+ const config = new Config({
3214
+ ...baseParams,
3215
+ plan: true,
3216
+ planSettings: {
3217
+ directory: '/outside/project/root',
3218
+ },
3219
+ });
3220
+ await config.initialize();
3221
+ const plansDir = config.storage.getPlansDir();
3222
+ // Should fallback to default project temp plans dir
3223
+ expect(plansDir).toContain('plans');
3224
+ expect(plansDir).not.toContain('/outside/project/root');
3225
+ // Should emit a warning feedback
3226
+ expect(coreEvents.emitFeedback).toHaveBeenCalledWith('warning', expect.stringContaining('Invalid custom plans directory'), expect.any(Error));
3227
+ // Should still add the fallback plans directory to workspace context if it exists
3228
+ const context = config.getWorkspaceContext();
3229
+ expect(context.getDirectories()).toContain(plansDir);
3230
+ });
3183
3231
  it('should NOT create plans directory or add it to workspace context when plan is disabled', async () => {
3184
3232
  const config = new Config({
3185
3233
  ...baseParams,