@machina.ai/cell-cli-core 1.38.1-rc2 → 1.40.1-rc2

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 (822) hide show
  1. package/dist/docs/AFTER_MERGE_PROMPT.md +1 -1
  2. package/dist/docs/admin/enterprise-controls.md +1 -1
  3. package/dist/docs/changelogs/index.md +42 -0
  4. package/dist/docs/changelogs/latest.md +254 -361
  5. package/dist/docs/changelogs/preview.md +237 -406
  6. package/dist/docs/cli/acp-mode.md +6 -6
  7. package/dist/docs/cli/auto-memory.md +143 -0
  8. package/dist/docs/cli/checkpointing.md +5 -5
  9. package/dist/docs/cli/cli-reference.md +12 -11
  10. package/dist/docs/cli/creating-skills.md +2 -2
  11. package/dist/docs/cli/custom-commands.md +15 -14
  12. package/dist/docs/cli/enterprise.md +17 -14
  13. package/dist/docs/cli/gemini-ignore.md +2 -2
  14. package/dist/docs/cli/generation-settings.md +21 -20
  15. package/dist/docs/cli/model-routing.md +2 -2
  16. package/dist/docs/cli/model-steering.md +1 -1
  17. package/dist/docs/cli/plan-mode.md +11 -6
  18. package/dist/docs/cli/sandbox.md +7 -5
  19. package/dist/docs/cli/settings.md +32 -28
  20. package/dist/docs/cli/system-prompt.md +8 -8
  21. package/dist/docs/cli/telemetry.md +18 -11
  22. package/dist/docs/cli/themes.md +2 -2
  23. package/dist/docs/cli/trusted-folders.md +41 -13
  24. package/dist/docs/cli/tutorials/mcp-setup.md +1 -1
  25. package/dist/docs/cli/tutorials/memory-management.md +3 -1
  26. package/dist/docs/cli/tutorials/plan-mode-steering.md +2 -2
  27. package/dist/docs/cli/tutorials/session-management.md +1 -1
  28. package/dist/docs/cli/tutorials/shell-commands.md +1 -1
  29. package/dist/docs/cli/tutorials/task-planning.md +3 -3
  30. package/dist/docs/core/index.md +5 -6
  31. package/dist/docs/core/local-model-routing.md +1 -1
  32. package/dist/docs/core/remote-agents.md +1 -1
  33. package/dist/docs/core/subagents.md +38 -8
  34. package/dist/docs/extensions/best-practices.md +5 -4
  35. package/dist/docs/extensions/reference.md +6 -5
  36. package/dist/docs/extensions/releasing.md +6 -5
  37. package/dist/docs/extensions/writing-extensions.md +11 -11
  38. package/dist/docs/get-started/{authentication.md → authentication.mdx} +139 -93
  39. package/dist/docs/get-started/gemini-3.md +1 -1
  40. package/dist/docs/get-started/index.md +4 -4
  41. package/dist/docs/get-started/installation.mdx +201 -0
  42. package/dist/docs/hooks/best-practices.md +18 -17
  43. package/dist/docs/hooks/index.md +10 -8
  44. package/dist/docs/hooks/reference.md +10 -10
  45. package/dist/docs/ide-integration/ide-companion-spec.md +14 -14
  46. package/dist/docs/ide-integration/index.md +4 -4
  47. package/dist/docs/index.md +2 -2
  48. package/dist/docs/integration-tests.md +84 -2
  49. package/dist/docs/issue-and-pr-automation.md +8 -7
  50. package/dist/docs/npm.md +2 -2
  51. package/dist/docs/reference/commands.md +11 -11
  52. package/dist/docs/reference/configuration.md +150 -47
  53. package/dist/docs/reference/keyboard-shortcuts.md +79 -2
  54. package/dist/docs/reference/memport.md +2 -3
  55. package/dist/docs/reference/policy-engine.md +60 -26
  56. package/dist/docs/reference/tools.md +38 -4
  57. package/dist/docs/release-confidence.md +1 -1
  58. package/dist/docs/releases.md +19 -19
  59. package/dist/docs/resources/faq.md +5 -5
  60. package/dist/docs/resources/tos-privacy.md +10 -9
  61. package/dist/docs/resources/troubleshooting.md +17 -16
  62. package/dist/docs/resources/uninstall.md +5 -4
  63. package/dist/docs/sidebar.json +13 -1
  64. package/dist/docs/tools/ask-user.md +3 -3
  65. package/dist/docs/tools/file-system.md +7 -7
  66. package/dist/docs/tools/mcp-resources.md +44 -0
  67. package/dist/docs/tools/mcp-server.md +42 -39
  68. package/dist/docs/tools/shell.md +5 -5
  69. package/dist/docs/tools/tracker.md +61 -0
  70. package/dist/package.json +5 -4
  71. package/dist/src/agent/content-utils.d.ts +0 -6
  72. package/dist/src/agent/content-utils.js +0 -14
  73. package/dist/src/agent/content-utils.js.map +1 -1
  74. package/dist/src/agent/content-utils.test.js +1 -18
  75. package/dist/src/agent/content-utils.test.js.map +1 -1
  76. package/dist/src/agent/event-translator.js +8 -3
  77. package/dist/src/agent/event-translator.js.map +1 -1
  78. package/dist/src/agent/event-translator.test.js +14 -9
  79. package/dist/src/agent/event-translator.test.js.map +1 -1
  80. package/dist/src/agent/legacy-agent-session.js +9 -3
  81. package/dist/src/agent/legacy-agent-session.js.map +1 -1
  82. package/dist/src/agent/legacy-agent-session.test.js +4 -3
  83. package/dist/src/agent/legacy-agent-session.test.js.map +1 -1
  84. package/dist/src/agent/tool-display-utils.d.ts +30 -0
  85. package/dist/src/agent/tool-display-utils.js +69 -0
  86. package/dist/src/agent/tool-display-utils.js.map +1 -0
  87. package/dist/src/agent/tool-display-utils.test.js +101 -0
  88. package/dist/src/agent/tool-display-utils.test.js.map +1 -0
  89. package/dist/src/agent/types.d.ts +25 -5
  90. package/dist/src/agents/a2aUtils.js +28 -15
  91. package/dist/src/agents/a2aUtils.js.map +1 -1
  92. package/dist/src/agents/a2aUtils.test.js +43 -0
  93. package/dist/src/agents/a2aUtils.test.js.map +1 -1
  94. package/dist/src/agents/agent-tool.d.ts +31 -0
  95. package/dist/src/agents/agent-tool.js +155 -0
  96. package/dist/src/agents/agent-tool.js.map +1 -0
  97. package/dist/src/agents/agent-tool.test.js +110 -0
  98. package/dist/src/agents/agent-tool.test.js.map +1 -0
  99. package/dist/src/agents/agentLoader.d.ts +79 -4
  100. package/dist/src/agents/agentLoader.js +40 -2
  101. package/dist/src/agents/agentLoader.js.map +1 -1
  102. package/dist/src/agents/agentLoader.test.js +32 -0
  103. package/dist/src/agents/agentLoader.test.js.map +1 -1
  104. package/dist/src/agents/browser/analyzeScreenshot.js +1 -1
  105. package/dist/src/agents/browser/analyzeScreenshot.js.map +1 -1
  106. package/dist/src/agents/browser/analyzeScreenshot.test.js +19 -7
  107. package/dist/src/agents/browser/analyzeScreenshot.test.js.map +1 -1
  108. package/dist/src/agents/browser/browserAgentInvocation.d.ts +2 -2
  109. package/dist/src/agents/browser/browserAgentInvocation.js +2 -1
  110. package/dist/src/agents/browser/browserAgentInvocation.js.map +1 -1
  111. package/dist/src/agents/browser/browserAgentInvocation.test.js +61 -17
  112. package/dist/src/agents/browser/browserAgentInvocation.test.js.map +1 -1
  113. package/dist/src/agents/browser/mcpToolWrapper.js +1 -1
  114. package/dist/src/agents/browser/mcpToolWrapper.js.map +1 -1
  115. package/dist/src/agents/browser/mcpToolWrapper.test.js +22 -10
  116. package/dist/src/agents/browser/mcpToolWrapper.test.js.map +1 -1
  117. package/dist/src/agents/codebase-investigator.js +2 -2
  118. package/dist/src/agents/codebase-investigator.js.map +1 -1
  119. package/dist/src/agents/generalist-agent.js +3 -2
  120. package/dist/src/agents/generalist-agent.js.map +1 -1
  121. package/dist/src/agents/generalist-agent.test.js +1 -0
  122. package/dist/src/agents/generalist-agent.test.js.map +1 -1
  123. package/dist/src/agents/local-executor.d.ts +1 -1
  124. package/dist/src/agents/local-executor.js +10 -7
  125. package/dist/src/agents/local-executor.js.map +1 -1
  126. package/dist/src/agents/local-executor.test.js +5 -3
  127. package/dist/src/agents/local-executor.test.js.map +1 -1
  128. package/dist/src/agents/local-invocation.d.ts +2 -2
  129. package/dist/src/agents/local-invocation.js +8 -2
  130. package/dist/src/agents/local-invocation.js.map +1 -1
  131. package/dist/src/agents/local-invocation.test.js +29 -13
  132. package/dist/src/agents/local-invocation.test.js.map +1 -1
  133. package/dist/src/agents/registry.d.ts +2 -0
  134. package/dist/src/agents/registry.js +20 -19
  135. package/dist/src/agents/registry.js.map +1 -1
  136. package/dist/src/agents/registry.test.js +19 -30
  137. package/dist/src/agents/registry.test.js.map +1 -1
  138. package/dist/src/agents/remote-invocation.d.ts +3 -4
  139. package/dist/src/agents/remote-invocation.js +2 -1
  140. package/dist/src/agents/remote-invocation.js.map +1 -1
  141. package/dist/src/agents/remote-invocation.test.js +45 -18
  142. package/dist/src/agents/remote-invocation.test.js.map +1 -1
  143. package/dist/src/agents/skill-extraction-agent.d.ts +3 -2
  144. package/dist/src/agents/skill-extraction-agent.js +99 -56
  145. package/dist/src/agents/skill-extraction-agent.js.map +1 -1
  146. package/dist/src/agents/skill-extraction-agent.test.js +54 -0
  147. package/dist/src/agents/skill-extraction-agent.test.js.map +1 -0
  148. package/dist/src/availability/policyCatalog.js +1 -1
  149. package/dist/src/availability/policyCatalog.js.map +1 -1
  150. package/dist/src/availability/policyCatalog.test.js +1 -1
  151. package/dist/src/availability/policyCatalog.test.js.map +1 -1
  152. package/dist/src/code_assist/oauth2.js +14 -4
  153. package/dist/src/code_assist/oauth2.js.map +1 -1
  154. package/dist/src/commands/memory.d.ts +77 -0
  155. package/dist/src/commands/memory.js +494 -0
  156. package/dist/src/commands/memory.js.map +1 -1
  157. package/dist/src/commands/memory.test.js +720 -1
  158. package/dist/src/commands/memory.test.js.map +1 -1
  159. package/dist/src/config/config-agents-reload.test.js +26 -31
  160. package/dist/src/config/config-agents-reload.test.js.map +1 -1
  161. package/dist/src/config/config.d.ts +24 -10
  162. package/dist/src/config/config.js +148 -82
  163. package/dist/src/config/config.js.map +1 -1
  164. package/dist/src/config/config.test.js +373 -10
  165. package/dist/src/config/config.test.js.map +1 -1
  166. package/dist/src/config/constants.d.ts +1 -0
  167. package/dist/src/config/constants.js +2 -0
  168. package/dist/src/config/constants.js.map +1 -1
  169. package/dist/src/config/defaultModelConfigs.js +7 -7
  170. package/dist/src/config/defaultModelConfigs.js.map +1 -1
  171. package/dist/src/config/memory.js +1 -1
  172. package/dist/src/config/memory.js.map +1 -1
  173. package/dist/src/config/path-validation.test.js +15 -6
  174. package/dist/src/config/path-validation.test.js.map +1 -1
  175. package/dist/src/config/projectRegistry.js +113 -32
  176. package/dist/src/config/projectRegistry.js.map +1 -1
  177. package/dist/src/config/projectRegistry.test.js +51 -0
  178. package/dist/src/config/projectRegistry.test.js.map +1 -1
  179. package/dist/src/config/storage.d.ts +5 -1
  180. package/dist/src/config/storage.js +14 -1
  181. package/dist/src/config/storage.js.map +1 -1
  182. package/dist/src/config/storage.test.js +12 -0
  183. package/dist/src/config/storage.test.js.map +1 -1
  184. package/dist/src/confirmation-bus/message-bus.d.ts +4 -1
  185. package/dist/src/confirmation-bus/message-bus.js +39 -1
  186. package/dist/src/confirmation-bus/message-bus.js.map +1 -1
  187. package/dist/src/confirmation-bus/message-bus.test.js +43 -0
  188. package/dist/src/confirmation-bus/message-bus.test.js.map +1 -1
  189. package/dist/src/context/config/configLoader.d.ts +13 -0
  190. package/dist/src/context/config/configLoader.js +65 -0
  191. package/dist/src/context/config/configLoader.js.map +1 -0
  192. package/dist/src/context/config/configLoader.test.d.ts +6 -0
  193. package/dist/src/context/config/configLoader.test.js +79 -0
  194. package/dist/src/context/config/configLoader.test.js.map +1 -0
  195. package/dist/src/context/config/profiles.d.ts +17 -0
  196. package/dist/src/context/config/profiles.js +93 -0
  197. package/dist/src/context/config/profiles.js.map +1 -0
  198. package/dist/src/context/config/registry.d.ts +21 -0
  199. package/dist/src/context/config/registry.js +32 -0
  200. package/dist/src/context/config/registry.js.map +1 -0
  201. package/dist/src/context/config/schema.d.ts +45 -0
  202. package/dist/src/context/config/schema.js +47 -0
  203. package/dist/src/context/config/schema.js.map +1 -0
  204. package/dist/src/context/config/types.d.ts +39 -0
  205. package/dist/src/context/config/types.js +7 -0
  206. package/dist/src/context/config/types.js.map +1 -0
  207. package/dist/src/context/contextManager.barrier.test.d.ts +6 -0
  208. package/dist/src/context/contextManager.barrier.test.js +56 -0
  209. package/dist/src/context/contextManager.barrier.test.js.map +1 -0
  210. package/dist/src/context/contextManager.d.ts +49 -0
  211. package/dist/src/context/contextManager.js +120 -0
  212. package/dist/src/context/contextManager.js.map +1 -0
  213. package/dist/src/context/eventBus.d.ts +28 -0
  214. package/dist/src/context/eventBus.js +27 -0
  215. package/dist/src/context/eventBus.js.map +1 -0
  216. package/dist/src/context/graph/behaviorRegistry.d.ts +28 -0
  217. package/dist/src/context/graph/behaviorRegistry.js +14 -0
  218. package/dist/src/context/graph/behaviorRegistry.js.map +1 -0
  219. package/dist/src/context/graph/builtinBehaviors.d.ts +11 -0
  220. package/dist/src/context/graph/builtinBehaviors.js +145 -0
  221. package/dist/src/context/graph/builtinBehaviors.js.map +1 -0
  222. package/dist/src/context/graph/fromGraph.d.ts +9 -0
  223. package/dist/src/context/graph/fromGraph.js +34 -0
  224. package/dist/src/context/graph/fromGraph.js.map +1 -0
  225. package/dist/src/context/graph/mapper.d.ts +16 -0
  226. package/dist/src/context/graph/mapper.js +16 -0
  227. package/dist/src/context/graph/mapper.js.map +1 -0
  228. package/dist/src/context/graph/render.d.ts +15 -0
  229. package/dist/src/context/graph/render.js +72 -0
  230. package/dist/src/context/graph/render.js.map +1 -0
  231. package/dist/src/context/graph/toGraph.d.ts +10 -0
  232. package/dist/src/context/graph/toGraph.js +172 -0
  233. package/dist/src/context/graph/toGraph.js.map +1 -0
  234. package/dist/src/context/graph/types.d.ts +139 -0
  235. package/dist/src/context/graph/types.js +36 -0
  236. package/dist/src/context/graph/types.js.map +1 -0
  237. package/dist/src/context/historyObserver.d.ts +27 -0
  238. package/dist/src/context/historyObserver.js +64 -0
  239. package/dist/src/context/historyObserver.js.map +1 -0
  240. package/dist/src/context/pipeline/contextWorkingBuffer.d.ts +33 -0
  241. package/dist/src/context/pipeline/contextWorkingBuffer.js +197 -0
  242. package/dist/src/context/pipeline/contextWorkingBuffer.js.map +1 -0
  243. package/dist/src/context/pipeline/contextWorkingBuffer.test.d.ts +6 -0
  244. package/dist/src/context/pipeline/contextWorkingBuffer.test.js +89 -0
  245. package/dist/src/context/pipeline/contextWorkingBuffer.test.js.map +1 -0
  246. package/dist/src/context/pipeline/environment.d.ts +27 -0
  247. package/dist/src/context/pipeline/environment.js +2 -0
  248. package/dist/src/context/pipeline/environment.js.map +1 -0
  249. package/dist/src/context/pipeline/environmentImpl.d.ts +28 -0
  250. package/dist/src/context/pipeline/environmentImpl.js +40 -0
  251. package/dist/src/context/pipeline/environmentImpl.js.map +1 -0
  252. package/dist/src/context/pipeline/environmentImpl.test.d.ts +1 -0
  253. package/dist/src/context/pipeline/environmentImpl.test.js +32 -0
  254. package/dist/src/context/pipeline/environmentImpl.test.js.map +1 -0
  255. package/dist/src/context/pipeline/inbox.d.ts +15 -0
  256. package/dist/src/context/pipeline/inbox.js +52 -0
  257. package/dist/src/context/pipeline/inbox.js.map +1 -0
  258. package/dist/src/context/pipeline/inbox.test.d.ts +1 -0
  259. package/dist/src/context/pipeline/inbox.test.js +36 -0
  260. package/dist/src/context/pipeline/inbox.test.js.map +1 -0
  261. package/dist/src/context/pipeline/orchestrator.d.ts +22 -0
  262. package/dist/src/context/pipeline/orchestrator.js +126 -0
  263. package/dist/src/context/pipeline/orchestrator.js.map +1 -0
  264. package/dist/src/context/pipeline/orchestrator.test.d.ts +6 -0
  265. package/dist/src/context/pipeline/orchestrator.test.js +154 -0
  266. package/dist/src/context/pipeline/orchestrator.test.js.map +1 -0
  267. package/dist/src/context/pipeline.d.ts +52 -0
  268. package/dist/src/context/pipeline.js +7 -0
  269. package/dist/src/context/pipeline.js.map +1 -0
  270. package/dist/src/context/processors/blobDegradationProcessor.d.ts +6 -0
  271. package/dist/src/context/processors/blobDegradationProcessor.js +127 -0
  272. package/dist/src/context/processors/blobDegradationProcessor.js.map +1 -0
  273. package/dist/src/context/processors/blobDegradationProcessor.test.d.ts +6 -0
  274. package/dist/src/context/processors/blobDegradationProcessor.test.js +72 -0
  275. package/dist/src/context/processors/blobDegradationProcessor.test.js.map +1 -0
  276. package/dist/src/context/processors/historyTruncationProcessor.d.ts +11 -0
  277. package/dist/src/context/processors/historyTruncationProcessor.js +61 -0
  278. package/dist/src/context/processors/historyTruncationProcessor.js.map +1 -0
  279. package/dist/src/context/processors/nodeDistillationProcessor.d.ts +8 -0
  280. package/dist/src/context/processors/nodeDistillationProcessor.js +167 -0
  281. package/dist/src/context/processors/nodeDistillationProcessor.js.map +1 -0
  282. package/dist/src/context/processors/nodeDistillationProcessor.test.d.ts +6 -0
  283. package/dist/src/context/processors/nodeDistillationProcessor.test.js +77 -0
  284. package/dist/src/context/processors/nodeDistillationProcessor.test.js.map +1 -0
  285. package/dist/src/context/processors/nodeTruncationProcessor.d.ts +8 -0
  286. package/dist/src/context/processors/nodeTruncationProcessor.js +109 -0
  287. package/dist/src/context/processors/nodeTruncationProcessor.js.map +1 -0
  288. package/dist/src/context/processors/nodeTruncationProcessor.test.d.ts +6 -0
  289. package/dist/src/context/processors/nodeTruncationProcessor.test.js +71 -0
  290. package/dist/src/context/processors/nodeTruncationProcessor.test.js.map +1 -0
  291. package/dist/src/context/processors/rollingSummaryProcessor.d.ts +8 -0
  292. package/dist/src/context/processors/rollingSummaryProcessor.js +129 -0
  293. package/dist/src/context/processors/rollingSummaryProcessor.js.map +1 -0
  294. package/dist/src/context/processors/rollingSummaryProcessor.test.d.ts +1 -0
  295. package/dist/src/context/processors/rollingSummaryProcessor.test.js +60 -0
  296. package/dist/src/context/processors/rollingSummaryProcessor.test.js.map +1 -0
  297. package/dist/src/context/processors/stateSnapshotAsyncProcessor.d.ts +9 -0
  298. package/dist/src/context/processors/stateSnapshotAsyncProcessor.js +75 -0
  299. package/dist/src/context/processors/stateSnapshotAsyncProcessor.js.map +1 -0
  300. package/dist/src/context/processors/stateSnapshotAsyncProcessor.test.d.ts +1 -0
  301. package/dist/src/context/processors/stateSnapshotAsyncProcessor.test.js +80 -0
  302. package/dist/src/context/processors/stateSnapshotAsyncProcessor.test.js.map +1 -0
  303. package/dist/src/context/processors/stateSnapshotProcessor.d.ts +9 -0
  304. package/dist/src/context/processors/stateSnapshotProcessor.js +130 -0
  305. package/dist/src/context/processors/stateSnapshotProcessor.js.map +1 -0
  306. package/dist/src/context/processors/stateSnapshotProcessor.test.d.ts +1 -0
  307. package/dist/src/context/processors/stateSnapshotProcessor.test.js +91 -0
  308. package/dist/src/context/processors/stateSnapshotProcessor.test.js.map +1 -0
  309. package/dist/src/context/processors/toolMaskingProcessor.d.ts +8 -0
  310. package/dist/src/context/processors/toolMaskingProcessor.js +194 -0
  311. package/dist/src/context/processors/toolMaskingProcessor.js.map +1 -0
  312. package/dist/src/context/processors/toolMaskingProcessor.test.d.ts +1 -0
  313. package/dist/src/context/processors/toolMaskingProcessor.test.js +50 -0
  314. package/dist/src/context/processors/toolMaskingProcessor.test.js.map +1 -0
  315. package/dist/src/context/system-tests/lifecycle.golden.test.d.ts +6 -0
  316. package/dist/src/context/system-tests/lifecycle.golden.test.js +195 -0
  317. package/dist/src/context/system-tests/lifecycle.golden.test.js.map +1 -0
  318. package/dist/src/context/system-tests/simulationHarness.d.ts +41 -0
  319. package/dist/src/context/system-tests/simulationHarness.js +88 -0
  320. package/dist/src/context/system-tests/simulationHarness.js.map +1 -0
  321. package/dist/src/context/testing/contextTestUtils.d.ts +44 -0
  322. package/dist/src/context/testing/contextTestUtils.js +176 -0
  323. package/dist/src/context/testing/contextTestUtils.js.map +1 -0
  324. package/dist/src/context/testing/testProfile.d.ts +7 -0
  325. package/dist/src/context/testing/testProfile.js +20 -0
  326. package/dist/src/context/testing/testProfile.js.map +1 -0
  327. package/dist/src/context/tracer.d.ts +19 -0
  328. package/dist/src/context/tracer.js +79 -0
  329. package/dist/src/context/tracer.js.map +1 -0
  330. package/dist/src/context/tracer.test.d.ts +6 -0
  331. package/dist/src/context/tracer.test.js +71 -0
  332. package/dist/src/context/tracer.test.js.map +1 -0
  333. package/dist/src/context/utils/contextTokenCalculator.d.ts +53 -0
  334. package/dist/src/context/utils/contextTokenCalculator.js +97 -0
  335. package/dist/src/context/utils/contextTokenCalculator.js.map +1 -0
  336. package/dist/src/context/utils/snapshotGenerator.d.ts +12 -0
  337. package/dist/src/context/utils/snapshotGenerator.js +43 -0
  338. package/dist/src/context/utils/snapshotGenerator.js.map +1 -0
  339. package/dist/src/core/agentChatHistory.d.ts +26 -0
  340. package/dist/src/core/agentChatHistory.js +50 -0
  341. package/dist/src/core/agentChatHistory.js.map +1 -0
  342. package/dist/src/core/client.js +3 -1
  343. package/dist/src/core/client.js.map +1 -1
  344. package/dist/src/core/client.test.js +4 -0
  345. package/dist/src/core/client.test.js.map +1 -1
  346. package/dist/src/core/contentGenerator.d.ts +8 -1
  347. package/dist/src/core/contentGenerator.js +46 -4
  348. package/dist/src/core/contentGenerator.js.map +1 -1
  349. package/dist/src/core/contentGenerator.test.js +174 -8
  350. package/dist/src/core/contentGenerator.test.js.map +1 -1
  351. package/dist/src/core/coreToolHookTriggers.d.ts +1 -1
  352. package/dist/src/core/coreToolHookTriggers.js +5 -1
  353. package/dist/src/core/coreToolHookTriggers.js.map +1 -1
  354. package/dist/src/core/coreToolHookTriggers.test.js +1 -1
  355. package/dist/src/core/coreToolHookTriggers.test.js.map +1 -1
  356. package/dist/src/core/geminiChat.d.ts +2 -1
  357. package/dist/src/core/geminiChat.js +7 -2
  358. package/dist/src/core/geminiChat.js.map +1 -1
  359. package/dist/src/core/geminiChat.test.js +19 -6
  360. package/dist/src/core/geminiChat.test.js.map +1 -1
  361. package/dist/src/core/geminiChat_network_retry.test.js +42 -0
  362. package/dist/src/core/geminiChat_network_retry.test.js.map +1 -1
  363. package/dist/src/core/localLiteRtLmClient.js +2 -0
  364. package/dist/src/core/localLiteRtLmClient.js.map +1 -1
  365. package/dist/src/core/localLiteRtLmClient.test.js +7 -0
  366. package/dist/src/core/localLiteRtLmClient.test.js.map +1 -1
  367. package/dist/src/core/loggingContentGenerator.js +19 -6
  368. package/dist/src/core/loggingContentGenerator.js.map +1 -1
  369. package/dist/src/core/loggingContentGenerator.test.js +55 -0
  370. package/dist/src/core/loggingContentGenerator.test.js.map +1 -1
  371. package/dist/src/core/prompts-substitution.test.js +1 -0
  372. package/dist/src/core/prompts-substitution.test.js.map +1 -1
  373. package/dist/src/core/prompts.d.ts +1 -1
  374. package/dist/src/core/prompts.js +2 -2
  375. package/dist/src/core/prompts.js.map +1 -1
  376. package/dist/src/core/prompts.test.js +39 -8
  377. package/dist/src/core/prompts.test.js.map +1 -1
  378. package/dist/src/generated/git-commit.d.ts +2 -2
  379. package/dist/src/generated/git-commit.js +2 -2
  380. package/dist/src/hooks/hookRunner.js +8 -0
  381. package/dist/src/hooks/hookRunner.js.map +1 -1
  382. package/dist/src/hooks/hookRunner.test.js +23 -0
  383. package/dist/src/hooks/hookRunner.test.js.map +1 -1
  384. package/dist/src/ide/ide-client.js +3 -4
  385. package/dist/src/ide/ide-client.js.map +1 -1
  386. package/dist/src/index.d.ts +7 -3
  387. package/dist/src/index.js +7 -2
  388. package/dist/src/index.js.map +1 -1
  389. package/dist/src/mcp/mcpLauncher.js +1 -1
  390. package/dist/src/mcp/mcpLauncher.js.map +1 -1
  391. package/dist/src/mcp/oauth-provider.test.js +24 -17
  392. package/dist/src/mcp/oauth-provider.test.js.map +1 -1
  393. package/dist/src/policy/config.d.ts +2 -0
  394. package/dist/src/policy/config.js +67 -12
  395. package/dist/src/policy/config.js.map +1 -1
  396. package/dist/src/policy/core-tools-mapping.test.d.ts +6 -0
  397. package/dist/src/policy/core-tools-mapping.test.js +44 -0
  398. package/dist/src/policy/core-tools-mapping.test.js.map +1 -0
  399. package/dist/src/policy/policies/agents.toml +10 -0
  400. package/dist/src/policy/policies/plan.toml +17 -43
  401. package/dist/src/policy/policies/read-only.toml +24 -38
  402. package/dist/src/policy/policy-engine.d.ts +1 -1
  403. package/dist/src/policy/policy-engine.js +72 -67
  404. package/dist/src/policy/policy-engine.js.map +1 -1
  405. package/dist/src/policy/policy-engine.test.js +71 -4
  406. package/dist/src/policy/policy-engine.test.js.map +1 -1
  407. package/dist/src/policy/sandboxPolicyManager.js +4 -4
  408. package/dist/src/policy/sandboxPolicyManager.js.map +1 -1
  409. package/dist/src/policy/shell-safety-regression.test.d.ts +6 -0
  410. package/dist/src/policy/shell-safety-regression.test.js +86 -0
  411. package/dist/src/policy/shell-safety-regression.test.js.map +1 -0
  412. package/dist/src/policy/shell-safety.test.js +24 -0
  413. package/dist/src/policy/shell-safety.test.js.map +1 -1
  414. package/dist/src/policy/shell-substitution.test.d.ts +6 -0
  415. package/dist/src/policy/shell-substitution.test.js +75 -0
  416. package/dist/src/policy/shell-substitution.test.js.map +1 -0
  417. package/dist/src/policy/toml-loader.test.js +25 -11
  418. package/dist/src/policy/toml-loader.test.js.map +1 -1
  419. package/dist/src/policy/types.d.ts +6 -2
  420. package/dist/src/policy/types.js +4 -2
  421. package/dist/src/policy/types.js.map +1 -1
  422. package/dist/src/prompts/promptProvider.d.ts +1 -1
  423. package/dist/src/prompts/promptProvider.js +41 -24
  424. package/dist/src/prompts/promptProvider.js.map +1 -1
  425. package/dist/src/prompts/promptProvider.test.js +36 -2
  426. package/dist/src/prompts/promptProvider.test.js.map +1 -1
  427. package/dist/src/prompts/snippets-memory-v2.test.d.ts +6 -0
  428. package/dist/src/prompts/snippets-memory-v2.test.js +94 -0
  429. package/dist/src/prompts/snippets-memory-v2.test.js.map +1 -0
  430. package/dist/src/prompts/snippets.d.ts +19 -1
  431. package/dist/src/prompts/snippets.js +33 -6
  432. package/dist/src/prompts/snippets.js.map +1 -1
  433. package/dist/src/prompts/snippets.legacy.d.ts +6 -1
  434. package/dist/src/prompts/snippets.legacy.js +14 -7
  435. package/dist/src/prompts/snippets.legacy.js.map +1 -1
  436. package/dist/src/prompts/utils.test.js +1 -0
  437. package/dist/src/prompts/utils.test.js.map +1 -1
  438. package/dist/src/routing/modelRouterService.js +1 -1
  439. package/dist/src/routing/modelRouterService.js.map +1 -1
  440. package/dist/src/sandbox/linux/LinuxSandboxManager.d.ts +2 -0
  441. package/dist/src/sandbox/linux/LinuxSandboxManager.js +43 -19
  442. package/dist/src/sandbox/linux/LinuxSandboxManager.js.map +1 -1
  443. package/dist/src/sandbox/linux/LinuxSandboxManager.test.js +16 -0
  444. package/dist/src/sandbox/linux/LinuxSandboxManager.test.js.map +1 -1
  445. package/dist/src/sandbox/linux/bwrapArgsBuilder.d.ts +3 -7
  446. package/dist/src/sandbox/linux/bwrapArgsBuilder.js +96 -105
  447. package/dist/src/sandbox/linux/bwrapArgsBuilder.js.map +1 -1
  448. package/dist/src/sandbox/linux/bwrapArgsBuilder.test.js +144 -41
  449. package/dist/src/sandbox/linux/bwrapArgsBuilder.test.js.map +1 -1
  450. package/dist/src/sandbox/macos/MacOsSandboxManager.js +19 -10
  451. package/dist/src/sandbox/macos/MacOsSandboxManager.js.map +1 -1
  452. package/dist/src/sandbox/macos/MacOsSandboxManager.test.js +24 -37
  453. package/dist/src/sandbox/macos/MacOsSandboxManager.test.js.map +1 -1
  454. package/dist/src/sandbox/macos/seatbeltArgsBuilder.d.ts +3 -9
  455. package/dist/src/sandbox/macos/seatbeltArgsBuilder.js +129 -96
  456. package/dist/src/sandbox/macos/seatbeltArgsBuilder.js.map +1 -1
  457. package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.js +78 -77
  458. package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.js.map +1 -1
  459. package/dist/src/sandbox/utils/fsUtils.d.ts +2 -3
  460. package/dist/src/sandbox/utils/fsUtils.js +12 -27
  461. package/dist/src/sandbox/utils/fsUtils.js.map +1 -1
  462. package/dist/src/sandbox/utils/fsUtils.test.js +87 -29
  463. package/dist/src/sandbox/utils/fsUtils.test.js.map +1 -1
  464. package/dist/src/sandbox/windows/GeminiSandbox.cs +186 -77
  465. package/dist/src/sandbox/windows/WindowsSandboxManager.d.ts +4 -16
  466. package/dist/src/sandbox/windows/WindowsSandboxManager.js +138 -204
  467. package/dist/src/sandbox/windows/WindowsSandboxManager.js.map +1 -1
  468. package/dist/src/sandbox/windows/WindowsSandboxManager.test.js +105 -122
  469. package/dist/src/sandbox/windows/WindowsSandboxManager.test.js.map +1 -1
  470. package/dist/src/scheduler/policy.js +1 -2
  471. package/dist/src/scheduler/policy.js.map +1 -1
  472. package/dist/src/scheduler/policy.test.js +58 -2
  473. package/dist/src/scheduler/policy.test.js.map +1 -1
  474. package/dist/src/scheduler/scheduler.d.ts +2 -1
  475. package/dist/src/scheduler/scheduler.js +13 -14
  476. package/dist/src/scheduler/scheduler.js.map +1 -1
  477. package/dist/src/scheduler/scheduler.test.js +66 -0
  478. package/dist/src/scheduler/scheduler.test.js.map +1 -1
  479. package/dist/src/scheduler/scheduler_hooks.test.js +1 -0
  480. package/dist/src/scheduler/scheduler_hooks.test.js.map +1 -1
  481. package/dist/src/scheduler/scheduler_parallel.test.js +2 -0
  482. package/dist/src/scheduler/scheduler_parallel.test.js.map +1 -1
  483. package/dist/src/scheduler/tool-executor.js +2 -0
  484. package/dist/src/scheduler/tool-executor.js.map +1 -1
  485. package/dist/src/services/chatRecordingService.d.ts +12 -153
  486. package/dist/src/services/chatRecordingService.js +444 -350
  487. package/dist/src/services/chatRecordingService.js.map +1 -1
  488. package/dist/src/services/chatRecordingService.test.js +174 -128
  489. package/dist/src/services/chatRecordingService.test.js.map +1 -1
  490. package/dist/src/services/chatRecordingTypes.d.ts +111 -0
  491. package/dist/src/services/chatRecordingTypes.js +10 -0
  492. package/dist/src/services/chatRecordingTypes.js.map +1 -0
  493. package/dist/src/services/gitService.d.ts +2 -0
  494. package/dist/src/services/gitService.js +10 -1
  495. package/dist/src/services/gitService.js.map +1 -1
  496. package/dist/src/services/gitService.test.js +6 -2
  497. package/dist/src/services/gitService.test.js.map +1 -1
  498. package/dist/src/services/keychainService.d.ts +2 -2
  499. package/dist/src/services/keychainService.js +9 -9
  500. package/dist/src/services/keychainService.js.map +1 -1
  501. package/dist/src/services/keychainService.test.js +7 -7
  502. package/dist/src/services/keychainService.test.js.map +1 -1
  503. package/dist/src/services/keychainTypes.d.ts +1 -1
  504. package/dist/src/services/memoryPatchUtils.d.ts +42 -0
  505. package/dist/src/services/memoryPatchUtils.js +216 -0
  506. package/dist/src/services/memoryPatchUtils.js.map +1 -0
  507. package/dist/src/services/memoryService.d.ts +21 -1
  508. package/dist/src/services/memoryService.js +405 -64
  509. package/dist/src/services/memoryService.js.map +1 -1
  510. package/dist/src/services/memoryService.test.js +686 -2
  511. package/dist/src/services/memoryService.test.js.map +1 -1
  512. package/dist/src/services/sandboxManager.d.ts +33 -19
  513. package/dist/src/services/sandboxManager.integration.test.js +728 -266
  514. package/dist/src/services/sandboxManager.integration.test.js.map +1 -1
  515. package/dist/src/services/sandboxManager.js +65 -62
  516. package/dist/src/services/sandboxManager.js.map +1 -1
  517. package/dist/src/services/sandboxManager.test.js +17 -114
  518. package/dist/src/services/sandboxManager.test.js.map +1 -1
  519. package/dist/src/services/sandboxedFileSystemService.js +72 -62
  520. package/dist/src/services/sandboxedFileSystemService.js.map +1 -1
  521. package/dist/src/services/sessionSummaryUtils.d.ts +1 -1
  522. package/dist/src/services/sessionSummaryUtils.js +111 -38
  523. package/dist/src/services/sessionSummaryUtils.js.map +1 -1
  524. package/dist/src/services/sessionSummaryUtils.test.js +204 -51
  525. package/dist/src/services/sessionSummaryUtils.test.js.map +1 -1
  526. package/dist/src/services/shellExecutionService.d.ts +19 -0
  527. package/dist/src/services/shellExecutionService.js +88 -34
  528. package/dist/src/services/shellExecutionService.js.map +1 -1
  529. package/dist/src/services/shellExecutionService.test.js +38 -4
  530. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  531. package/dist/src/telemetry/activity-monitor.js +1 -0
  532. package/dist/src/telemetry/activity-monitor.js.map +1 -1
  533. package/dist/src/telemetry/config.js +3 -0
  534. package/dist/src/telemetry/config.js.map +1 -1
  535. package/dist/src/telemetry/conseca-logger.js +18 -20
  536. package/dist/src/telemetry/conseca-logger.js.map +1 -1
  537. package/dist/src/telemetry/conseca-logger.test.js +100 -0
  538. package/dist/src/telemetry/conseca-logger.test.js.map +1 -1
  539. package/dist/src/telemetry/event-loop-monitor.d.ts +17 -0
  540. package/dist/src/telemetry/event-loop-monitor.js +76 -0
  541. package/dist/src/telemetry/event-loop-monitor.js.map +1 -0
  542. package/dist/src/telemetry/index.d.ts +2 -1
  543. package/dist/src/telemetry/index.js +2 -1
  544. package/dist/src/telemetry/index.js.map +1 -1
  545. package/dist/src/telemetry/llmRole.d.ts +2 -1
  546. package/dist/src/telemetry/llmRole.js +1 -0
  547. package/dist/src/telemetry/llmRole.js.map +1 -1
  548. package/dist/src/telemetry/loggers.test.js +184 -8
  549. package/dist/src/telemetry/loggers.test.js.map +1 -1
  550. package/dist/src/telemetry/memory-monitor.d.ts +1 -0
  551. package/dist/src/telemetry/memory-monitor.js +8 -1
  552. package/dist/src/telemetry/memory-monitor.js.map +1 -1
  553. package/dist/src/telemetry/memory-monitor.test.js +6 -1
  554. package/dist/src/telemetry/memory-monitor.test.js.map +1 -1
  555. package/dist/src/telemetry/metrics.d.ts +12 -0
  556. package/dist/src/telemetry/metrics.js +19 -0
  557. package/dist/src/telemetry/metrics.js.map +1 -1
  558. package/dist/src/telemetry/sdk.js +20 -1
  559. package/dist/src/telemetry/sdk.js.map +1 -1
  560. package/dist/src/telemetry/trace.d.ts +23 -6
  561. package/dist/src/telemetry/trace.js +71 -22
  562. package/dist/src/telemetry/trace.js.map +1 -1
  563. package/dist/src/telemetry/trace.test.js +79 -15
  564. package/dist/src/telemetry/trace.test.js.map +1 -1
  565. package/dist/src/telemetry/types.js +61 -15
  566. package/dist/src/telemetry/types.js.map +1 -1
  567. package/dist/src/test-utils/mock-tool.d.ts +3 -2
  568. package/dist/src/test-utils/mock-tool.js +4 -3
  569. package/dist/src/test-utils/mock-tool.js.map +1 -1
  570. package/dist/src/tools/activate-skill.js +1 -1
  571. package/dist/src/tools/activate-skill.js.map +1 -1
  572. package/dist/src/tools/activate-skill.test.js +6 -2
  573. package/dist/src/tools/activate-skill.test.js.map +1 -1
  574. package/dist/src/tools/ask-user.d.ts +2 -2
  575. package/dist/src/tools/ask-user.js +1 -1
  576. package/dist/src/tools/ask-user.js.map +1 -1
  577. package/dist/src/tools/ask-user.test.js +9 -3
  578. package/dist/src/tools/ask-user.test.js.map +1 -1
  579. package/dist/src/tools/complete-task.d.ts +2 -2
  580. package/dist/src/tools/complete-task.js +1 -1
  581. package/dist/src/tools/complete-task.js.map +1 -1
  582. package/dist/src/tools/complete-task.test.js +9 -3
  583. package/dist/src/tools/complete-task.test.js.map +1 -1
  584. package/dist/src/tools/definitions/base-declarations.d.ts +2 -0
  585. package/dist/src/tools/definitions/base-declarations.js +3 -0
  586. package/dist/src/tools/definitions/base-declarations.js.map +1 -1
  587. package/dist/src/tools/definitions/coreTools.d.ts +3 -1
  588. package/dist/src/tools/definitions/coreTools.js +13 -1
  589. package/dist/src/tools/definitions/coreTools.js.map +1 -1
  590. package/dist/src/tools/definitions/model-family-sets/default-legacy.js +29 -1
  591. package/dist/src/tools/definitions/model-family-sets/default-legacy.js.map +1 -1
  592. package/dist/src/tools/definitions/model-family-sets/gemini-3.js +29 -1
  593. package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
  594. package/dist/src/tools/definitions/types.d.ts +2 -0
  595. package/dist/src/tools/edit.js +20 -4
  596. package/dist/src/tools/edit.js.map +1 -1
  597. package/dist/src/tools/edit.test.js +41 -18
  598. package/dist/src/tools/edit.test.js.map +1 -1
  599. package/dist/src/tools/enter-plan-mode.d.ts +2 -2
  600. package/dist/src/tools/enter-plan-mode.js +1 -1
  601. package/dist/src/tools/enter-plan-mode.js.map +1 -1
  602. package/dist/src/tools/enter-plan-mode.test.js +10 -4
  603. package/dist/src/tools/enter-plan-mode.test.js.map +1 -1
  604. package/dist/src/tools/exit-plan-mode.d.ts +2 -2
  605. package/dist/src/tools/exit-plan-mode.js +9 -12
  606. package/dist/src/tools/exit-plan-mode.js.map +1 -1
  607. package/dist/src/tools/exit-plan-mode.test.js +44 -17
  608. package/dist/src/tools/exit-plan-mode.test.js.map +1 -1
  609. package/dist/src/tools/get-internal-docs.js +6 -3
  610. package/dist/src/tools/get-internal-docs.js.map +1 -1
  611. package/dist/src/tools/get-internal-docs.test.js +4 -4
  612. package/dist/src/tools/get-internal-docs.test.js.map +1 -1
  613. package/dist/src/tools/glob.js +1 -1
  614. package/dist/src/tools/glob.js.map +1 -1
  615. package/dist/src/tools/glob.test.js +16 -16
  616. package/dist/src/tools/glob.test.js.map +1 -1
  617. package/dist/src/tools/grep.js +21 -12
  618. package/dist/src/tools/grep.js.map +1 -1
  619. package/dist/src/tools/grep.test.js +18 -18
  620. package/dist/src/tools/grep.test.js.map +1 -1
  621. package/dist/src/tools/line-endings.test.js +3 -3
  622. package/dist/src/tools/line-endings.test.js.map +1 -1
  623. package/dist/src/tools/list-mcp-resources.d.ts +24 -0
  624. package/dist/src/tools/list-mcp-resources.js +74 -0
  625. package/dist/src/tools/list-mcp-resources.js.map +1 -0
  626. package/dist/src/tools/list-mcp-resources.test.d.ts +6 -0
  627. package/dist/src/tools/list-mcp-resources.test.js +79 -0
  628. package/dist/src/tools/list-mcp-resources.test.js.map +1 -0
  629. package/dist/src/tools/ls.js +2 -2
  630. package/dist/src/tools/ls.js.map +1 -1
  631. package/dist/src/tools/ls.test.js +21 -21
  632. package/dist/src/tools/ls.test.js.map +1 -1
  633. package/dist/src/tools/mcp-client-manager.d.ts +3 -1
  634. package/dist/src/tools/mcp-client-manager.js +24 -1
  635. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  636. package/dist/src/tools/mcp-client-manager.test.js +43 -0
  637. package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
  638. package/dist/src/tools/mcp-client.js +10 -12
  639. package/dist/src/tools/mcp-client.js.map +1 -1
  640. package/dist/src/tools/mcp-client.test.js +14 -2
  641. package/dist/src/tools/mcp-client.test.js.map +1 -1
  642. package/dist/src/tools/mcp-tool.d.ts +2 -2
  643. package/dist/src/tools/mcp-tool.js +1 -1
  644. package/dist/src/tools/mcp-tool.js.map +1 -1
  645. package/dist/src/tools/mcp-tool.test.js +51 -21
  646. package/dist/src/tools/mcp-tool.test.js.map +1 -1
  647. package/dist/src/tools/memoryTool.d.ts +4 -3
  648. package/dist/src/tools/memoryTool.js +43 -14
  649. package/dist/src/tools/memoryTool.js.map +1 -1
  650. package/dist/src/tools/memoryTool.test.js +29 -9
  651. package/dist/src/tools/memoryTool.test.js.map +1 -1
  652. package/dist/src/tools/read-file.js +1 -1
  653. package/dist/src/tools/read-file.js.map +1 -1
  654. package/dist/src/tools/read-file.test.js +17 -17
  655. package/dist/src/tools/read-file.test.js.map +1 -1
  656. package/dist/src/tools/read-many-files.js +4 -4
  657. package/dist/src/tools/read-many-files.js.map +1 -1
  658. package/dist/src/tools/read-many-files.test.js +70 -24
  659. package/dist/src/tools/read-many-files.test.js.map +1 -1
  660. package/dist/src/tools/read-mcp-resource.d.ts +25 -0
  661. package/dist/src/tools/read-mcp-resource.js +120 -0
  662. package/dist/src/tools/read-mcp-resource.js.map +1 -0
  663. package/dist/src/tools/read-mcp-resource.test.d.ts +6 -0
  664. package/dist/src/tools/read-mcp-resource.test.js +110 -0
  665. package/dist/src/tools/read-mcp-resource.test.js.map +1 -0
  666. package/dist/src/tools/ripGrep.d.ts +3 -2
  667. package/dist/src/tools/ripGrep.js +26 -55
  668. package/dist/src/tools/ripGrep.js.map +1 -1
  669. package/dist/src/tools/ripGrep.test.js +113 -167
  670. package/dist/src/tools/ripGrep.test.js.map +1 -1
  671. package/dist/src/tools/shell.d.ts +2 -2
  672. package/dist/src/tools/shell.js +51 -21
  673. package/dist/src/tools/shell.js.map +1 -1
  674. package/dist/src/tools/shell.test.js +479 -76
  675. package/dist/src/tools/shell.test.js.map +1 -1
  676. package/dist/src/tools/shellBackgroundTools.d.ts +3 -3
  677. package/dist/src/tools/shellBackgroundTools.integration.test.js +6 -2
  678. package/dist/src/tools/shellBackgroundTools.integration.test.js.map +1 -1
  679. package/dist/src/tools/shellBackgroundTools.js +2 -2
  680. package/dist/src/tools/shellBackgroundTools.js.map +1 -1
  681. package/dist/src/tools/shellBackgroundTools.test.js +30 -10
  682. package/dist/src/tools/shellBackgroundTools.test.js.map +1 -1
  683. package/dist/src/tools/tool-error.d.ts +1 -0
  684. package/dist/src/tools/tool-error.js +1 -0
  685. package/dist/src/tools/tool-error.js.map +1 -1
  686. package/dist/src/tools/tool-names.d.ts +5 -4
  687. package/dist/src/tools/tool-names.js +8 -2
  688. package/dist/src/tools/tool-names.js.map +1 -1
  689. package/dist/src/tools/tool-registry.js +137 -114
  690. package/dist/src/tools/tool-registry.js.map +1 -1
  691. package/dist/src/tools/tool-registry.test.js +3 -1
  692. package/dist/src/tools/tool-registry.test.js.map +1 -1
  693. package/dist/src/tools/tools.d.ts +6 -6
  694. package/dist/src/tools/tools.js +6 -2
  695. package/dist/src/tools/tools.js.map +1 -1
  696. package/dist/src/tools/topicTool.d.ts +2 -2
  697. package/dist/src/tools/topicTool.js +1 -1
  698. package/dist/src/tools/topicTool.js.map +1 -1
  699. package/dist/src/tools/topicTool.test.js +6 -2
  700. package/dist/src/tools/topicTool.test.js.map +1 -1
  701. package/dist/src/tools/trackerTools.d.ts +7 -7
  702. package/dist/src/tools/trackerTools.js +6 -6
  703. package/dist/src/tools/trackerTools.js.map +1 -1
  704. package/dist/src/tools/web-fetch.js +1 -1
  705. package/dist/src/tools/web-fetch.js.map +1 -1
  706. package/dist/src/tools/web-fetch.test.js +59 -23
  707. package/dist/src/tools/web-fetch.test.js.map +1 -1
  708. package/dist/src/tools/web-search.js +1 -1
  709. package/dist/src/tools/web-search.js.map +1 -1
  710. package/dist/src/tools/web-search.test.js +5 -5
  711. package/dist/src/tools/web-search.test.js.map +1 -1
  712. package/dist/src/tools/write-file.js +22 -4
  713. package/dist/src/tools/write-file.js.map +1 -1
  714. package/dist/src/tools/write-file.test.js +29 -11
  715. package/dist/src/tools/write-file.test.js.map +1 -1
  716. package/dist/src/tools/write-todos.js +1 -1
  717. package/dist/src/tools/write-todos.js.map +1 -1
  718. package/dist/src/utils/compatibility.js +6 -1
  719. package/dist/src/utils/compatibility.js.map +1 -1
  720. package/dist/src/utils/compatibility.test.js +23 -0
  721. package/dist/src/utils/compatibility.test.js.map +1 -1
  722. package/dist/src/utils/errors.d.ts +3 -0
  723. package/dist/src/utils/errors.js +6 -0
  724. package/dist/src/utils/errors.js.map +1 -1
  725. package/dist/src/utils/fileUtils.d.ts +1 -2
  726. package/dist/src/utils/fileUtils.js +80 -40
  727. package/dist/src/utils/fileUtils.js.map +1 -1
  728. package/dist/src/utils/fileUtils.test.js +61 -0
  729. package/dist/src/utils/fileUtils.test.js.map +1 -1
  730. package/dist/src/utils/filesearch/fileSearch.d.ts +2 -0
  731. package/dist/src/utils/filesearch/fileSearch.js +97 -6
  732. package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
  733. package/dist/src/utils/filesearch/fileSearch.test.js +54 -0
  734. package/dist/src/utils/filesearch/fileSearch.test.js.map +1 -1
  735. package/dist/src/utils/filesearch/fileWatcher.d.ts +25 -0
  736. package/dist/src/utils/filesearch/fileWatcher.js +86 -0
  737. package/dist/src/utils/filesearch/fileWatcher.js.map +1 -0
  738. package/dist/src/utils/filesearch/fileWatcher.test.js +142 -0
  739. package/dist/src/utils/filesearch/fileWatcher.test.js.map +1 -0
  740. package/dist/src/utils/getFolderStructure.js +4 -2
  741. package/dist/src/utils/getFolderStructure.js.map +1 -1
  742. package/dist/src/utils/gitIgnoreParser.js +1 -1
  743. package/dist/src/utils/gitIgnoreParser.js.map +1 -1
  744. package/dist/src/utils/googleQuotaErrors.d.ts +2 -1
  745. package/dist/src/utils/googleQuotaErrors.js +30 -35
  746. package/dist/src/utils/googleQuotaErrors.js.map +1 -1
  747. package/dist/src/utils/googleQuotaErrors.test.js +24 -0
  748. package/dist/src/utils/googleQuotaErrors.test.js.map +1 -1
  749. package/dist/src/utils/ignoreFileParser.js +1 -1
  750. package/dist/src/utils/ignoreFileParser.js.map +1 -1
  751. package/dist/src/utils/memoryDiscovery.js +15 -5
  752. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  753. package/dist/src/utils/oauth-flow.js +17 -5
  754. package/dist/src/utils/oauth-flow.js.map +1 -1
  755. package/dist/src/utils/oauth-flow.test.js +20 -0
  756. package/dist/src/utils/oauth-flow.test.js.map +1 -1
  757. package/dist/src/utils/paths.d.ts +9 -0
  758. package/dist/src/utils/paths.js +37 -0
  759. package/dist/src/utils/paths.js.map +1 -1
  760. package/dist/src/utils/paths.test.js +45 -1
  761. package/dist/src/utils/paths.test.js.map +1 -1
  762. package/dist/src/utils/planUtils.d.ts +11 -2
  763. package/dist/src/utils/planUtils.js +43 -11
  764. package/dist/src/utils/planUtils.js.map +1 -1
  765. package/dist/src/utils/planUtils.test.js +10 -9
  766. package/dist/src/utils/planUtils.test.js.map +1 -1
  767. package/dist/src/utils/process-utils.d.ts +2 -1
  768. package/dist/src/utils/process-utils.js +64 -33
  769. package/dist/src/utils/process-utils.js.map +1 -1
  770. package/dist/src/utils/process-utils.test.js +9 -0
  771. package/dist/src/utils/process-utils.test.js.map +1 -1
  772. package/dist/src/utils/retry.js +18 -6
  773. package/dist/src/utils/retry.js.map +1 -1
  774. package/dist/src/utils/retry.test.js +30 -0
  775. package/dist/src/utils/retry.test.js.map +1 -1
  776. package/dist/src/utils/sessionOperations.js +3 -2
  777. package/dist/src/utils/sessionOperations.js.map +1 -1
  778. package/dist/src/utils/shell-utils.d.ts +2 -0
  779. package/dist/src/utils/shell-utils.js +237 -107
  780. package/dist/src/utils/shell-utils.js.map +1 -1
  781. package/dist/src/utils/tool-utils.d.ts +1 -29
  782. package/dist/src/utils/tool-utils.js +0 -39
  783. package/dist/src/utils/tool-utils.js.map +1 -1
  784. package/dist/src/utils/tool-utils.test.js +2 -76
  785. package/dist/src/utils/tool-utils.test.js.map +1 -1
  786. package/dist/src/utils/tool-visibility.d.ts +40 -0
  787. package/dist/src/utils/tool-visibility.js +111 -0
  788. package/dist/src/utils/tool-visibility.js.map +1 -0
  789. package/dist/src/utils/tool-visibility.test.d.ts +6 -0
  790. package/dist/src/utils/tool-visibility.test.js +96 -0
  791. package/dist/src/utils/tool-visibility.test.js.map +1 -0
  792. package/dist/src/utils/trust.d.ts +64 -0
  793. package/dist/src/utils/trust.js +276 -0
  794. package/dist/src/utils/trust.js.map +1 -0
  795. package/dist/src/utils/trust.test.d.ts +6 -0
  796. package/dist/src/utils/trust.test.js +159 -0
  797. package/dist/src/utils/trust.test.js.map +1 -0
  798. package/dist/tsconfig.tsbuildinfo +1 -1
  799. package/package.json +5 -4
  800. package/dist/docs/get-started/installation.md +0 -181
  801. package/dist/src/agents/memory-manager-agent.d.ts +0 -25
  802. package/dist/src/agents/memory-manager-agent.js +0 -138
  803. package/dist/src/agents/memory-manager-agent.js.map +0 -1
  804. package/dist/src/agents/memory-manager-agent.test.js +0 -123
  805. package/dist/src/agents/memory-manager-agent.test.js.map +0 -1
  806. package/dist/src/agents/subagent-tool-wrapper.d.ts +0 -38
  807. package/dist/src/agents/subagent-tool-wrapper.js +0 -58
  808. package/dist/src/agents/subagent-tool-wrapper.js.map +0 -1
  809. package/dist/src/agents/subagent-tool-wrapper.test.js +0 -123
  810. package/dist/src/agents/subagent-tool-wrapper.test.js.map +0 -1
  811. package/dist/src/agents/subagent-tool.d.ts +0 -18
  812. package/dist/src/agents/subagent-tool.js +0 -134
  813. package/dist/src/agents/subagent-tool.js.map +0 -1
  814. package/dist/src/agents/subagent-tool.test.js +0 -287
  815. package/dist/src/agents/subagent-tool.test.js.map +0 -1
  816. package/dist/src/policy/policies/tracker.toml +0 -34
  817. package/dist/src/prompts/snippets-memory-manager.test.js +0 -31
  818. package/dist/src/prompts/snippets-memory-manager.test.js.map +0 -1
  819. /package/dist/src/{agents/memory-manager-agent.test.d.ts → agent/tool-display-utils.test.d.ts} +0 -0
  820. /package/dist/src/agents/{subagent-tool.test.d.ts → agent-tool.test.d.ts} +0 -0
  821. /package/dist/src/{prompts/snippets-memory-manager.test.d.ts → agents/skill-extraction-agent.test.d.ts} +0 -0
  822. /package/dist/src/{agents/subagent-tool-wrapper.test.d.ts → utils/filesearch/fileWatcher.test.d.ts} +0 -0
@@ -1,6 +1,6 @@
1
- # Preview release: v0.37.0-preview.2
1
+ # Preview release: v0.39.0-preview.0
2
2
 
3
- Released: April 07, 2026
3
+ Released: April 14, 2026
4
4
 
5
5
  Our preview release includes the latest, new, and experimental features. This
6
6
  release may not be as stable as our [latest weekly release](latest.md).
@@ -13,414 +13,245 @@ npm install -g @google/gemini-cli@preview
13
13
 
14
14
  ## Highlights
15
15
 
16
- - **Plan Mode Enhancements**: Plan now includes support for untrusted folders,
17
- prioritized pre-approval discussions, and a resolve for sandbox-related
18
- deadlocks during file creation.
19
- - **Browser Agent Evolved**: Significant updates to the browser agent, including
20
- persistent session management, dynamic discovery of read-only tools,
21
- sandbox-aware initialization, and automated reclamation of stale snapshots to
22
- optimize context window usage.
23
- - **Advanced Sandbox Security**: Implementation of dynamic sandbox expansion for
24
- both Linux and Windows, alongside secret visibility lockdown for environment
25
- files and OS-specific forbidden path support.
26
- - **Unified Core Architecture**: Centralized context management and a new
27
- `ModelConfigService` for unified model discovery, complemented by the
28
- introduction of `AgentHistoryProvider` and tool-based topic grouping
29
- (Chapters).
30
- - **UI/UX & Performance Improvements**: New Tokyo Night theme, "tab to queue"
31
- message support, and compact tool output formatting, plus optimized build
32
- scripts and improved layout stability for TUI components.
16
+ - **Refactored Subagents and Unified Tooling:** Consolidate subagent tools into
17
+ a single `invoke_subagent` tool, removed legacy wrapping tools, and improved
18
+ turn limits for codebase investigator.
19
+ - **Advanced Memory and Skill Management:** Introduced `/memory` inbox for
20
+ reviewing extracted skills and added skill patching support, enhancing agent
21
+ learning and persistence.
22
+ - **Expanded Test and Evaluation Infrastructure:** Added memory and CPU
23
+ performance integration test harnesses and generalized evaluation
24
+ infrastructure for better suite organization.
25
+ - **Sandbox and Security Hardening:** Centralized sandbox paths for Linux and
26
+ macOS, enforced read-only security for async git worktree resolution, and
27
+ optimized Windows sandbox initialization.
28
+ - **Enhanced CLI UX and UI Stability:** Improved scroll momentum, added a
29
+ `debugRainbow` setting, and resolved various memory leaks and PTY exhaustion
30
+ issues for a smoother terminal experience.
33
31
 
34
32
  ## What's Changed
35
33
 
36
- - fix(patch): cherry-pick cb7f7d6 to release/v0.37.0-preview.1-pr-24342 to patch
37
- version v0.37.0-preview.1 and create version 0.37.0-preview.2 by
34
+ - refactor(plan): simplify policy priorities and consolidate read-only rules by
35
+ @ruomengz in [#24849](https://github.com/google-gemini/gemini-cli/pull/24849)
36
+ - feat(test-utils): add memory usage integration test harness by @sripasg in
37
+ [#24876](https://github.com/google-gemini/gemini-cli/pull/24876)
38
+ - feat(memory): add /memory inbox command for reviewing extracted skills by
39
+ @SandyTao520 in
40
+ [#24544](https://github.com/google-gemini/gemini-cli/pull/24544)
41
+ - chore(release): bump version to 0.39.0-nightly.20260408.e77b22e63 by
38
42
  @gemini-cli-robot in
39
- [#24842](https://github.com/google-gemini/gemini-cli/pull/24842)
40
- - fix(patch): cherry-pick 64c928f to release/v0.37.0-preview.0-pr-23257 to patch
41
- version v0.37.0-preview.0 and create version 0.37.0-preview.1 by
42
- @gemini-cli-robot in
43
- [#24561](https://github.com/google-gemini/gemini-cli/pull/24561)
44
- - feat(evals): centralize test agents into test-utils for reuse by @Samee24 in
45
- [#23616](https://github.com/google-gemini/gemini-cli/pull/23616)
46
- - revert: chore(config): disable agents by default by @abhipatel12 in
47
- [#23672](https://github.com/google-gemini/gemini-cli/pull/23672)
48
- - fix(plan): update telemetry attribute keys and add timestamp by @Adib234 in
49
- [#23685](https://github.com/google-gemini/gemini-cli/pull/23685)
50
- - fix(core): prevent premature MCP discovery completion by @jackwotherspoon in
51
- [#23637](https://github.com/google-gemini/gemini-cli/pull/23637)
52
- - feat(browser): add maxActionsPerTask for browser agent setting by
53
- @cynthialong0-0 in
54
- [#23216](https://github.com/google-gemini/gemini-cli/pull/23216)
55
- - fix(core): improve agent loader error formatting for empty paths by
56
- @adamfweidman in
57
- [#23690](https://github.com/google-gemini/gemini-cli/pull/23690)
58
- - fix(cli): only show updating spinner when auto-update is in progress by
59
- @scidomino in [#23709](https://github.com/google-gemini/gemini-cli/pull/23709)
60
- - Refine onboarding metrics to log the duration explicitly and use the tier
61
- name. by @yunaseoul in
62
- [#23678](https://github.com/google-gemini/gemini-cli/pull/23678)
63
- - chore(tools): add toJSON to tools and invocations to reduce logging verbosity
64
- by @alisa-alisa in
65
- [#22899](https://github.com/google-gemini/gemini-cli/pull/22899)
66
- - fix(cli): stabilize copy mode to prevent flickering and cursor resets by
67
- @mattKorwel in
68
- [#22584](https://github.com/google-gemini/gemini-cli/pull/22584)
69
- - fix(test): move flaky ctrl-c-exit test to non-blocking suite by @mattKorwel in
70
- [#23732](https://github.com/google-gemini/gemini-cli/pull/23732)
71
- - feat(skills): add ci skill for automated failure replication by @mattKorwel in
72
- [#23720](https://github.com/google-gemini/gemini-cli/pull/23720)
73
- - feat(sandbox): implement forbiddenPaths for OS-specific sandbox managers by
74
- @ehedlund in [#23282](https://github.com/google-gemini/gemini-cli/pull/23282)
75
- - fix(core): conditionally expose additional_permissions in shell tool by
76
- @galz10 in [#23729](https://github.com/google-gemini/gemini-cli/pull/23729)
77
- - refactor(core): standardize OS-specific sandbox tests and extract linux helper
78
- methods by @ehedlund in
79
- [#23715](https://github.com/google-gemini/gemini-cli/pull/23715)
80
- - format recently added script by @scidomino in
81
- [#23739](https://github.com/google-gemini/gemini-cli/pull/23739)
82
- - fix(ui): prevent over-eager slash subcommand completion by @keithguerin in
83
- [#20136](https://github.com/google-gemini/gemini-cli/pull/20136)
84
- - Fix dynamic model routing for gemini 3.1 pro to customtools model by
85
- @kevinjwang1 in
86
- [#23641](https://github.com/google-gemini/gemini-cli/pull/23641)
87
- - feat(core): support inline agentCardJson for remote agents by @adamfweidman in
88
- [#23743](https://github.com/google-gemini/gemini-cli/pull/23743)
89
- - fix(cli): skip console log/info in headless mode by @cynthialong0-0 in
90
- [#22739](https://github.com/google-gemini/gemini-cli/pull/22739)
91
- - test(core): install bubblewrap on Linux CI for sandbox integration tests by
92
- @ehedlund in [#23583](https://github.com/google-gemini/gemini-cli/pull/23583)
93
- - docs(reference): split tools table into category sections by @sheikhlimon in
94
- [#21516](https://github.com/google-gemini/gemini-cli/pull/21516)
95
- - fix(browser): detect embedded URLs in query params to prevent allowedDomains
96
- bypass by @tony-shi in
97
- [#23225](https://github.com/google-gemini/gemini-cli/pull/23225)
98
- - fix(browser): add proxy bypass constraint to domain restriction system prompt
99
- by @tony-shi in
100
- [#23229](https://github.com/google-gemini/gemini-cli/pull/23229)
101
- - fix(policy): relax write_file argsPattern in plan mode to allow paths without
102
- session ID by @Adib234 in
103
- [#23695](https://github.com/google-gemini/gemini-cli/pull/23695)
104
- - docs: fix grammar in CONTRIBUTING and numbering in sandbox docs by
105
- @splint-disk-8i in
106
- [#23448](https://github.com/google-gemini/gemini-cli/pull/23448)
107
- - fix(acp): allow attachments by adding a permission prompt by @sripasg in
108
- [#23680](https://github.com/google-gemini/gemini-cli/pull/23680)
109
- - fix(core): thread AbortSignal to chat compression requests (#20405) by
110
- @SH20RAJ in [#20778](https://github.com/google-gemini/gemini-cli/pull/20778)
111
- - feat(core): implement Windows sandbox dynamic expansion Phase 1 and 2.1 by
112
- @scidomino in [#23691](https://github.com/google-gemini/gemini-cli/pull/23691)
113
- - Add note about root privileges in sandbox docs by @diodesign in
114
- [#23314](https://github.com/google-gemini/gemini-cli/pull/23314)
115
- - docs(core): document agent_card_json string literal options for remote agents
116
- by @adamfweidman in
117
- [#23797](https://github.com/google-gemini/gemini-cli/pull/23797)
118
- - fix(cli): resolve TTY hang on headless environments by unconditionally
119
- resuming process.stdin before React Ink launch by @cocosheng-g in
120
- [#23673](https://github.com/google-gemini/gemini-cli/pull/23673)
121
- - fix(ui): cleanup estimated string length hacks in composer by @keithguerin in
122
- [#23694](https://github.com/google-gemini/gemini-cli/pull/23694)
123
- - feat(browser): dynamically discover read-only tools by @cynthialong0-0 in
124
- [#23805](https://github.com/google-gemini/gemini-cli/pull/23805)
125
- - docs: clarify policy requirement for `general.plan.directory` in settings
126
- schema by @jerop in
127
- [#23784](https://github.com/google-gemini/gemini-cli/pull/23784)
128
- - Revert "perf(cli): optimize --version startup time (#23671)" by @scidomino in
129
- [#23812](https://github.com/google-gemini/gemini-cli/pull/23812)
130
- - don't silence errors from wombat by @scidomino in
131
- [#23822](https://github.com/google-gemini/gemini-cli/pull/23822)
132
- - fix(ui): prevent escape key from cancelling requests in shell mode by
133
- @PrasannaPal21 in
134
- [#21245](https://github.com/google-gemini/gemini-cli/pull/21245)
135
- - Changelog for v0.36.0-preview.0 by @gemini-cli-robot in
136
- [#23702](https://github.com/google-gemini/gemini-cli/pull/23702)
137
- - feat(core,ui): Add experiment-gated support for gemini flash 3.1 lite by
138
- @chrstnb in [#23794](https://github.com/google-gemini/gemini-cli/pull/23794)
139
- - Changelog for v0.36.0-preview.3 by @gemini-cli-robot in
140
- [#23827](https://github.com/google-gemini/gemini-cli/pull/23827)
141
- - new linting check: github-actions-pinning by @alisa-alisa in
142
- [#23808](https://github.com/google-gemini/gemini-cli/pull/23808)
143
- - fix(cli): show helpful guidance when no skills are available by @Niralisj in
144
- [#23785](https://github.com/google-gemini/gemini-cli/pull/23785)
145
- - fix: Chat logs and errors handle tail tool calls correctly by @googlestrobe in
146
- [#22460](https://github.com/google-gemini/gemini-cli/pull/22460)
147
- - Don't try removing a tag from a non-existent release. by @scidomino in
148
- [#23830](https://github.com/google-gemini/gemini-cli/pull/23830)
149
- - fix(cli): allow ask question dialog to take full window height by @jacob314 in
150
- [#23693](https://github.com/google-gemini/gemini-cli/pull/23693)
151
- - fix(core): strip leading underscores from error types in telemetry by
152
- @yunaseoul in [#23824](https://github.com/google-gemini/gemini-cli/pull/23824)
153
- - Changelog for v0.35.0 by @gemini-cli-robot in
154
- [#23819](https://github.com/google-gemini/gemini-cli/pull/23819)
155
- - feat(evals): add reliability harvester and 500/503 retry support by
156
- @alisa-alisa in
157
- [#23626](https://github.com/google-gemini/gemini-cli/pull/23626)
158
- - feat(sandbox): dynamic Linux sandbox expansion and worktree support by @galz10
159
- in [#23692](https://github.com/google-gemini/gemini-cli/pull/23692)
160
- - Merge examples of use into quickstart documentation by @diodesign in
161
- [#23319](https://github.com/google-gemini/gemini-cli/pull/23319)
162
- - fix(cli): prioritize primary name matches in slash command search by @sehoon38
163
- in [#23850](https://github.com/google-gemini/gemini-cli/pull/23850)
164
- - Changelog for v0.35.1 by @gemini-cli-robot in
165
- [#23840](https://github.com/google-gemini/gemini-cli/pull/23840)
166
- - fix(browser): keep input blocker active across navigations by @kunal-10-cloud
167
- in [#22562](https://github.com/google-gemini/gemini-cli/pull/22562)
168
- - feat(core): new skill to look for duplicated code while reviewing PRs by
169
- @devr0306 in [#23704](https://github.com/google-gemini/gemini-cli/pull/23704)
170
- - fix(core): replace hardcoded non-interactive ASK_USER denial with explicit
171
- policy rules by @ruomengz in
172
- [#23668](https://github.com/google-gemini/gemini-cli/pull/23668)
173
- - fix(plan): after exiting plan mode switches model to a flash model by @Adib234
174
- in [#23885](https://github.com/google-gemini/gemini-cli/pull/23885)
175
- - feat(gcp): add development worker infrastructure by @mattKorwel in
176
- [#23814](https://github.com/google-gemini/gemini-cli/pull/23814)
177
- - fix(a2a-server): A2A server should execute ask policies in interactive mode by
178
- @kschaab in [#23831](https://github.com/google-gemini/gemini-cli/pull/23831)
179
- - feat(core): define TrajectoryProvider interface by @sehoon38 in
180
- [#23050](https://github.com/google-gemini/gemini-cli/pull/23050)
181
- - Docs: Update quotas and pricing by @jkcinouye in
182
- [#23835](https://github.com/google-gemini/gemini-cli/pull/23835)
183
- - fix(core): allow disabling environment variable redaction by @galz10 in
184
- [#23927](https://github.com/google-gemini/gemini-cli/pull/23927)
185
- - feat(cli): enable notifications cross-platform via terminal bell fallback by
186
- @genneth in [#21618](https://github.com/google-gemini/gemini-cli/pull/21618)
187
- - feat(sandbox): implement secret visibility lockdown for env files by
188
- @DavidAPierce in
189
- [#23712](https://github.com/google-gemini/gemini-cli/pull/23712)
190
- - fix(core): remove shell outputChunks buffer caching to prevent memory bloat
191
- and sanitize prompt input by @spencer426 in
192
- [#23751](https://github.com/google-gemini/gemini-cli/pull/23751)
193
- - feat(core): implement persistent browser session management by @kunal-10-cloud
194
- in [#21306](https://github.com/google-gemini/gemini-cli/pull/21306)
195
- - refactor(core): delegate sandbox denial parsing to SandboxManager by
196
- @scidomino in [#23928](https://github.com/google-gemini/gemini-cli/pull/23928)
197
- - dep(update) Update Ink version to 6.5.0 by @jacob314 in
198
- [#23843](https://github.com/google-gemini/gemini-cli/pull/23843)
199
- - Docs: Update 'docs-writer' skill for relative links by @jkcinouye in
200
- [#21463](https://github.com/google-gemini/gemini-cli/pull/21463)
201
- - Changelog for v0.36.0-preview.4 by @gemini-cli-robot in
202
- [#23935](https://github.com/google-gemini/gemini-cli/pull/23935)
203
- - fix(acp): Update allow approval policy flow for ACP clients to fix config
204
- persistence and compatible with TUI by @sripasg in
205
- [#23818](https://github.com/google-gemini/gemini-cli/pull/23818)
206
- - Changelog for v0.35.2 by @gemini-cli-robot in
207
- [#23960](https://github.com/google-gemini/gemini-cli/pull/23960)
208
- - ACP integration documents by @g-samroberts in
209
- [#22254](https://github.com/google-gemini/gemini-cli/pull/22254)
210
- - fix(core): explicitly set error names to avoid bundling renaming issues by
211
- @yunaseoul in [#23913](https://github.com/google-gemini/gemini-cli/pull/23913)
212
- - feat(core): subagent isolation and cleanup hardening by @abhipatel12 in
213
- [#23903](https://github.com/google-gemini/gemini-cli/pull/23903)
214
- - disable extension-reload test by @scidomino in
215
- [#24018](https://github.com/google-gemini/gemini-cli/pull/24018)
216
- - feat(core): add forbiddenPaths to GlobalSandboxOptions and refactor
217
- createSandboxManager by @ehedlund in
218
- [#23936](https://github.com/google-gemini/gemini-cli/pull/23936)
219
- - refactor(core): improve ignore resolution and fix directory-matching bug by
220
- @ehedlund in [#23816](https://github.com/google-gemini/gemini-cli/pull/23816)
221
- - revert(core): support custom base URL via env vars by @spencer426 in
222
- [#23976](https://github.com/google-gemini/gemini-cli/pull/23976)
223
- - Increase memory limited for eslint. by @jacob314 in
224
- [#24022](https://github.com/google-gemini/gemini-cli/pull/24022)
225
- - fix(acp): prevent crash on empty response in ACP mode by @sripasg in
226
- [#23952](https://github.com/google-gemini/gemini-cli/pull/23952)
227
- - feat(core): Land `AgentHistoryProvider`. by @joshualitt in
228
- [#23978](https://github.com/google-gemini/gemini-cli/pull/23978)
229
- - fix(core): switch to subshells for shell tool wrapping to fix heredocs and
230
- edge cases by @abhipatel12 in
231
- [#24024](https://github.com/google-gemini/gemini-cli/pull/24024)
232
- - Debug command. by @jacob314 in
233
- [#23851](https://github.com/google-gemini/gemini-cli/pull/23851)
234
- - Changelog for v0.36.0-preview.5 by @gemini-cli-robot in
235
- [#24046](https://github.com/google-gemini/gemini-cli/pull/24046)
236
- - Fix test flakes by globally mocking ink-spinner by @jacob314 in
237
- [#24044](https://github.com/google-gemini/gemini-cli/pull/24044)
238
- - Enable network access in sandbox configuration by @galz10 in
239
- [#24055](https://github.com/google-gemini/gemini-cli/pull/24055)
240
- - feat(context): add configurable memoryBoundaryMarkers setting by @SandyTao520
241
- in [#24020](https://github.com/google-gemini/gemini-cli/pull/24020)
242
- - feat(core): implement windows sandbox expansion and denial detection by
243
- @scidomino in [#24027](https://github.com/google-gemini/gemini-cli/pull/24027)
244
- - fix(core): resolve ACP Operation Aborted Errors in grep_search by @ivanporty
245
- in [#23821](https://github.com/google-gemini/gemini-cli/pull/23821)
246
- - fix(hooks): prevent SessionEnd from firing twice in non-interactive mode by
247
- @krishdef7 in [#22139](https://github.com/google-gemini/gemini-cli/pull/22139)
248
- - Re-word intro to Gemini 3 page. by @g-samroberts in
249
- [#24069](https://github.com/google-gemini/gemini-cli/pull/24069)
250
- - fix(cli): resolve layout contention and flashing loop in StatusRow by
251
- @keithguerin in
252
- [#24065](https://github.com/google-gemini/gemini-cli/pull/24065)
253
- - fix(sandbox): implement Windows Mandatory Integrity Control for GeminiSandbox
254
- by @galz10 in [#24057](https://github.com/google-gemini/gemini-cli/pull/24057)
255
- - feat(core): implement tool-based topic grouping (Chapters) by @Abhijit-2592 in
256
- [#23150](https://github.com/google-gemini/gemini-cli/pull/23150)
257
- - feat(cli): support 'tab to queue' for messages while generating by @gundermanc
258
- in [#24052](https://github.com/google-gemini/gemini-cli/pull/24052)
259
- - feat(core): agnostic background task UI with CompletionBehavior by
260
- @adamfweidman in
261
- [#22740](https://github.com/google-gemini/gemini-cli/pull/22740)
262
- - UX for topic narration tool by @gundermanc in
263
- [#24079](https://github.com/google-gemini/gemini-cli/pull/24079)
264
- - fix: shellcheck warnings in scripts by @scidomino in
265
- [#24035](https://github.com/google-gemini/gemini-cli/pull/24035)
266
- - test(evals): add comprehensive subagent delegation evaluations by @abhipatel12
267
- in [#24132](https://github.com/google-gemini/gemini-cli/pull/24132)
268
- - fix(a2a-server): prioritize ADC before evaluating headless constraints for
269
- auth initialization by @spencer426 in
270
- [#23614](https://github.com/google-gemini/gemini-cli/pull/23614)
271
- - Text can be added after /plan command by @rambleraptor in
272
- [#22833](https://github.com/google-gemini/gemini-cli/pull/22833)
273
- - fix(cli): resolve missing F12 logs via global console store by @scidomino in
274
- [#24235](https://github.com/google-gemini/gemini-cli/pull/24235)
275
- - fix broken tests by @scidomino in
276
- [#24279](https://github.com/google-gemini/gemini-cli/pull/24279)
277
- - fix(evals): add update_topic behavioral eval by @gundermanc in
278
- [#24223](https://github.com/google-gemini/gemini-cli/pull/24223)
279
- - feat(core): Unified Context Management and Tool Distillation. by @joshualitt
280
- in [#24157](https://github.com/google-gemini/gemini-cli/pull/24157)
281
- - Default enable narration for the team. by @gundermanc in
282
- [#24224](https://github.com/google-gemini/gemini-cli/pull/24224)
283
- - fix(core): ensure default agents provide tools and use model-specific schemas
284
- by @abhipatel12 in
285
- [#24268](https://github.com/google-gemini/gemini-cli/pull/24268)
286
- - feat(cli): show Flash Lite Preview model regardless of user tier by @sehoon38
287
- in [#23904](https://github.com/google-gemini/gemini-cli/pull/23904)
288
- - feat(cli): implement compact tool output by @jwhelangoog in
289
- [#20974](https://github.com/google-gemini/gemini-cli/pull/20974)
290
- - Add security settings for tool sandboxing by @galz10 in
291
- [#23923](https://github.com/google-gemini/gemini-cli/pull/23923)
292
- - chore(test-utils): switch integration tests to use PREVIEW_GEMINI_MODEL by
293
- @sehoon38 in [#24276](https://github.com/google-gemini/gemini-cli/pull/24276)
294
- - feat(core): enable topic update narration for legacy models by @Abhijit-2592
295
- in [#24241](https://github.com/google-gemini/gemini-cli/pull/24241)
296
- - feat(core): add project-level memory scope to save_memory tool by @SandyTao520
297
- in [#24161](https://github.com/google-gemini/gemini-cli/pull/24161)
298
- - test(integration): fix plan mode write denial test false positive by @sehoon38
299
- in [#24299](https://github.com/google-gemini/gemini-cli/pull/24299)
300
- - feat(plan): support `Plan` mode in untrusted folders by @Adib234 in
301
- [#17586](https://github.com/google-gemini/gemini-cli/pull/17586)
302
- - fix(core): enable mid-stream retries for all models and re-enable compression
303
- test by @sehoon38 in
304
- [#24302](https://github.com/google-gemini/gemini-cli/pull/24302)
305
- - Changelog for v0.36.0-preview.6 by @gemini-cli-robot in
306
- [#24082](https://github.com/google-gemini/gemini-cli/pull/24082)
307
- - Changelog for v0.35.3 by @gemini-cli-robot in
308
- [#24083](https://github.com/google-gemini/gemini-cli/pull/24083)
309
- - feat(cli): add auth info to footer by @sehoon38 in
310
- [#24042](https://github.com/google-gemini/gemini-cli/pull/24042)
311
- - fix(browser): reset action counter for each agent session and let it ignore
312
- internal actions by @cynthialong0-0 in
313
- [#24228](https://github.com/google-gemini/gemini-cli/pull/24228)
314
- - feat(plan): promote planning feature to stable by @ruomengz in
315
- [#24282](https://github.com/google-gemini/gemini-cli/pull/24282)
316
- - fix(browser): terminate subagent immediately on domain restriction violations
317
- by @gsquared94 in
318
- [#24313](https://github.com/google-gemini/gemini-cli/pull/24313)
319
- - feat(cli): add UI to update extensions by @ruomengz in
320
- [#23682](https://github.com/google-gemini/gemini-cli/pull/23682)
321
- - Fix(browser): terminate immediately for "browser is already running" error by
322
- @cynthialong0-0 in
323
- [#24233](https://github.com/google-gemini/gemini-cli/pull/24233)
324
- - docs: Add 'plan' option to approval mode in CLI reference by @YifanRuan in
325
- [#24134](https://github.com/google-gemini/gemini-cli/pull/24134)
326
- - fix(core): batch macOS seatbelt rules into a profile file to prevent ARG_MAX
327
- errors by @ehedlund in
328
- [#24255](https://github.com/google-gemini/gemini-cli/pull/24255)
329
- - fix(core): fix race condition between browser agent and main closing process
330
- by @cynthialong0-0 in
331
- [#24340](https://github.com/google-gemini/gemini-cli/pull/24340)
332
- - perf(build): optimize build scripts for parallel execution and remove
333
- redundant checks by @sehoon38 in
334
- [#24307](https://github.com/google-gemini/gemini-cli/pull/24307)
335
- - ci: install bubblewrap on Linux for release workflows by @ehedlund in
336
- [#24347](https://github.com/google-gemini/gemini-cli/pull/24347)
337
- - chore(release): allow bundling for all builds, including stable by @sehoon38
338
- in [#24305](https://github.com/google-gemini/gemini-cli/pull/24305)
339
- - Revert "Add security settings for tool sandboxing" by @jerop in
340
- [#24357](https://github.com/google-gemini/gemini-cli/pull/24357)
341
- - docs: update subagents docs to not be experimental by @abhipatel12 in
342
- [#24343](https://github.com/google-gemini/gemini-cli/pull/24343)
343
- - fix(core): implement **read and **write commands in sandbox managers by
344
- @galz10 in [#24283](https://github.com/google-gemini/gemini-cli/pull/24283)
345
- - don't try to remove tags in dry run by @scidomino in
346
- [#24356](https://github.com/google-gemini/gemini-cli/pull/24356)
347
- - fix(config): disable JIT context loading by default by @SandyTao520 in
348
- [#24364](https://github.com/google-gemini/gemini-cli/pull/24364)
349
- - test(sandbox): add integration test for dynamic permission expansion by
350
- @galz10 in [#24359](https://github.com/google-gemini/gemini-cli/pull/24359)
351
- - docs(policy): remove unsupported mcpName wildcard edge case by @abhipatel12 in
352
- [#24133](https://github.com/google-gemini/gemini-cli/pull/24133)
353
- - docs: fix broken GEMINI.md link in CONTRIBUTING.md by @Panchal-Tirth in
354
- [#24182](https://github.com/google-gemini/gemini-cli/pull/24182)
355
- - feat(core): infrastructure for event-driven subagent history by @abhipatel12
356
- in [#23914](https://github.com/google-gemini/gemini-cli/pull/23914)
357
- - fix(core): resolve Plan Mode deadlock during plan file creation due to sandbox
358
- restrictions by @DavidAPierce in
359
- [#24047](https://github.com/google-gemini/gemini-cli/pull/24047)
360
- - fix(core): fix browser agent UX issues and improve E2E test reliability by
361
- @gsquared94 in
362
- [#24312](https://github.com/google-gemini/gemini-cli/pull/24312)
363
- - fix(ui): wrap topic and intent fields in TopicMessage by @jwhelangoog in
364
- [#24386](https://github.com/google-gemini/gemini-cli/pull/24386)
365
- - refactor(core): Centralize context management logic into src/context by
366
- @joshualitt in
367
- [#24380](https://github.com/google-gemini/gemini-cli/pull/24380)
368
- - fix(core): pin AuthType.GATEWAY to use Gemini 3.1 Pro/Flash Lite by default by
369
- @sripasg in [#24375](https://github.com/google-gemini/gemini-cli/pull/24375)
370
- - feat(ui): add Tokyo Night theme by @danrneal in
371
- [#24054](https://github.com/google-gemini/gemini-cli/pull/24054)
372
- - fix(cli): refactor test config loading and mock debugLogger in test-setup by
373
- @mattKorwel in
374
- [#24389](https://github.com/google-gemini/gemini-cli/pull/24389)
375
- - Set memoryManager to false in settings.json by @mattKorwel in
376
- [#24393](https://github.com/google-gemini/gemini-cli/pull/24393)
377
- - ink 6.6.3 by @jacob314 in
378
- [#24372](https://github.com/google-gemini/gemini-cli/pull/24372)
379
- - fix(core): resolve subagent chat recording gaps and directory inheritance by
43
+ [#24939](https://github.com/google-gemini/gemini-cli/pull/24939)
44
+ - fix(core): ensure robust sandbox cleanup in all process execution paths by
45
+ @ehedlund in [#24763](https://github.com/google-gemini/gemini-cli/pull/24763)
46
+ - chore: update ink version to 6.6.8 by @jacob314 in
47
+ [#24934](https://github.com/google-gemini/gemini-cli/pull/24934)
48
+ - Changelog for v0.38.0-preview.0 by @gemini-cli-robot in
49
+ [#24938](https://github.com/google-gemini/gemini-cli/pull/24938)
50
+ - chore: ignore conductor directory by @JayadityaGit in
51
+ [#22128](https://github.com/google-gemini/gemini-cli/pull/22128)
52
+ - Changelog for v0.37.0 by @gemini-cli-robot in
53
+ [#24940](https://github.com/google-gemini/gemini-cli/pull/24940)
54
+ - feat(plan): require user confirmation for activate_skill in Plan Mode by
55
+ @ruomengz in [#24946](https://github.com/google-gemini/gemini-cli/pull/24946)
56
+ - feat(test-utils): add CPU performance integration test harness by @sripasg in
57
+ [#24951](https://github.com/google-gemini/gemini-cli/pull/24951)
58
+ - fix(cli-ui): enable Ctrl+Backspace for word deletion in Windows Terminal by
59
+ @dogukanozen in
60
+ [#21447](https://github.com/google-gemini/gemini-cli/pull/21447)
61
+ - test(sdk): add unit tests for GeminiCliSession by @AdamyaSingh7 in
62
+ [#21897](https://github.com/google-gemini/gemini-cli/pull/21897)
63
+ - fix(core): resolve windows symlink bypass and stabilize sandbox integration
64
+ tests by @ehedlund in
65
+ [#24834](https://github.com/google-gemini/gemini-cli/pull/24834)
66
+ - fix(cli): restore file path display in edit and write tool confirmations by
67
+ @jwhelangoog in
68
+ [#24974](https://github.com/google-gemini/gemini-cli/pull/24974)
69
+ - feat(core): refine shell tool description display logic by @jwhelangoog in
70
+ [#24903](https://github.com/google-gemini/gemini-cli/pull/24903)
71
+ - fix(core): dynamic session ID injection to resolve resume bugs by @scidomino
72
+ in [#24972](https://github.com/google-gemini/gemini-cli/pull/24972)
73
+ - Update ink version to 6.6.9 by @jacob314 in
74
+ [#24980](https://github.com/google-gemini/gemini-cli/pull/24980)
75
+ - Generalize evals infra to support more types of evals, organization and
76
+ queuing of named suites by @gundermanc in
77
+ [#24941](https://github.com/google-gemini/gemini-cli/pull/24941)
78
+ - fix(cli): optimize startup with lightweight parent process by @sehoon38 in
79
+ [#24667](https://github.com/google-gemini/gemini-cli/pull/24667)
80
+ - refactor(sandbox): use centralized sandbox paths in macOS Seatbelt
81
+ implementation by @ehedlund in
82
+ [#24984](https://github.com/google-gemini/gemini-cli/pull/24984)
83
+ - feat(cli): refine tool output formatting for compact mode by @jwhelangoog in
84
+ [#24677](https://github.com/google-gemini/gemini-cli/pull/24677)
85
+ - fix(sdk): skip broken sendStream tests to unblock nightly by @SandyTao520 in
86
+ [#25000](https://github.com/google-gemini/gemini-cli/pull/25000)
87
+ - refactor(core): use centralized path resolution for Linux sandbox by @ehedlund
88
+ in [#24985](https://github.com/google-gemini/gemini-cli/pull/24985)
89
+ - Support ctrl+shift+g by @jacob314 in
90
+ [#25035](https://github.com/google-gemini/gemini-cli/pull/25035)
91
+ - feat(core): refactor subagent tool to unified invoke_subagent tool by
380
92
  @abhipatel12 in
381
- [#24368](https://github.com/google-gemini/gemini-cli/pull/24368)
382
- - fix(cli): cap shell output at 10 MB to prevent RangeError crash by @ProthamD
383
- in [#24168](https://github.com/google-gemini/gemini-cli/pull/24168)
384
- - feat(plan): conditionally add enter/exit plan mode tools based on current mode
385
- by @ruomengz in
386
- [#24378](https://github.com/google-gemini/gemini-cli/pull/24378)
387
- - feat(core): prioritize discussion before formal plan approval by @jerop in
388
- [#24423](https://github.com/google-gemini/gemini-cli/pull/24423)
389
- - fix(ui): add accelerated scrolling on alternate buffer mode by @devr0306 in
390
- [#23940](https://github.com/google-gemini/gemini-cli/pull/23940)
391
- - feat(core): populate sandbox forbidden paths with project ignore file contents
392
- by @ehedlund in
393
- [#24038](https://github.com/google-gemini/gemini-cli/pull/24038)
394
- - fix(core): ensure blue border overlay and input blocker to act correctly
395
- depending on browser agent activities by @cynthialong0-0 in
396
- [#24385](https://github.com/google-gemini/gemini-cli/pull/24385)
397
- - fix(ui): removed additional vertical padding for tables by @devr0306 in
398
- [#24381](https://github.com/google-gemini/gemini-cli/pull/24381)
399
- - fix(build): upload full bundle directory archive to GitHub releases by
400
- @sehoon38 in [#24403](https://github.com/google-gemini/gemini-cli/pull/24403)
401
- - fix(build): wire bundle:browser-mcp into bundle pipeline by @gsquared94 in
402
- [#24424](https://github.com/google-gemini/gemini-cli/pull/24424)
403
- - feat(browser): add sandbox-aware browser agent initialization by @gsquared94
404
- in [#24419](https://github.com/google-gemini/gemini-cli/pull/24419)
405
- - feat(core): enhance tracker task schemas for detailed titles and descriptions
406
- by @anj-s in [#23902](https://github.com/google-gemini/gemini-cli/pull/23902)
407
- - refactor(core): Unified context management settings schema by @joshualitt in
408
- [#24391](https://github.com/google-gemini/gemini-cli/pull/24391)
409
- - feat(core): update browser agent prompt to check open pages first when
410
- bringing up by @cynthialong0-0 in
411
- [#24431](https://github.com/google-gemini/gemini-cli/pull/24431)
412
- - fix(acp) refactor(core,cli): centralize model discovery logic in
413
- ModelConfigService by @sripasg in
414
- [#24392](https://github.com/google-gemini/gemini-cli/pull/24392)
415
- - Changelog for v0.36.0-preview.7 by @gemini-cli-robot in
416
- [#24346](https://github.com/google-gemini/gemini-cli/pull/24346)
417
- - fix: update task tracker storage location in system prompt by @anj-s in
418
- [#24034](https://github.com/google-gemini/gemini-cli/pull/24034)
419
- - feat(browser): supersede stale snapshots to reclaim context-window tokens by
420
- @gsquared94 in
421
- [#24440](https://github.com/google-gemini/gemini-cli/pull/24440)
422
- - docs(core): add subagent tool isolation draft doc by @akh64bit in
423
- [#23275](https://github.com/google-gemini/gemini-cli/pull/23275)
93
+ [#24489](https://github.com/google-gemini/gemini-cli/pull/24489)
94
+ - fix(core): add explicit git identity env vars to prevent sandbox checkpointing
95
+ error by @mrpmohiburrahman in
96
+ [#19775](https://github.com/google-gemini/gemini-cli/pull/19775)
97
+ - fix: respect hideContextPercentage when FooterConfigDialog is closed without
98
+ changes by @chernistry in
99
+ [#24773](https://github.com/google-gemini/gemini-cli/pull/24773)
100
+ - fix(cli): suppress unhandled AbortError logs during request cancellation by
101
+ @euxaristia in
102
+ [#22621](https://github.com/google-gemini/gemini-cli/pull/22621)
103
+ - Automated documentation audit by @g-samroberts in
104
+ [#24567](https://github.com/google-gemini/gemini-cli/pull/24567)
105
+ - feat(cli): implement useAgentStream hook by @mbleigh in
106
+ [#24292](https://github.com/google-gemini/gemini-cli/pull/24292)
107
+ - refactor(plan) Clean default plan toml by @ruomengz in
108
+ [#25037](https://github.com/google-gemini/gemini-cli/pull/25037)
109
+ - refactor(core): remove legacy subagent wrapping tools by @abhipatel12 in
110
+ [#25053](https://github.com/google-gemini/gemini-cli/pull/25053)
111
+ - fix(core): honor retryDelay in RetryInfo for 503 errors by @yunaseoul in
112
+ [#25057](https://github.com/google-gemini/gemini-cli/pull/25057)
113
+ - fix(core): remediate subagent memory leaks using AbortSignal in MessageBus by
114
+ @abhipatel12 in
115
+ [#25048](https://github.com/google-gemini/gemini-cli/pull/25048)
116
+ - feat(cli): wire up useAgentStream in AppContainer by @mbleigh in
117
+ [#24297](https://github.com/google-gemini/gemini-cli/pull/24297)
118
+ - feat(core): migrate chat recording to JSONL streaming by @spencer426 in
119
+ [#23749](https://github.com/google-gemini/gemini-cli/pull/23749)
120
+ - fix(core): clear 5-minute timeouts in oauth flow to prevent memory leaks by
121
+ @spencer426 in
122
+ [#24968](https://github.com/google-gemini/gemini-cli/pull/24968)
123
+ - fix(sandbox): centralize async git worktree resolution and enforce read-only
124
+ security by @ehedlund in
125
+ [#25040](https://github.com/google-gemini/gemini-cli/pull/25040)
126
+ - feat(test): add high-volume shell test and refine perf harness by @sripasg in
127
+ [#24983](https://github.com/google-gemini/gemini-cli/pull/24983)
128
+ - fix(core): silently handle EPERM when listing dir structure by @scidomino in
129
+ [#25066](https://github.com/google-gemini/gemini-cli/pull/25066)
130
+ - Changelog for v0.37.1 by @gemini-cli-robot in
131
+ [#25055](https://github.com/google-gemini/gemini-cli/pull/25055)
132
+ - fix: decode Uint8Array and multi-byte UTF-8 in API error messages by
133
+ @kimjune01 in [#23341](https://github.com/google-gemini/gemini-cli/pull/23341)
134
+ - Automated documentation audit results by @g-samroberts in
135
+ [#22755](https://github.com/google-gemini/gemini-cli/pull/22755)
136
+ - debugging(ui): add optional debugRainbow setting by @jacob314 in
137
+ [#25088](https://github.com/google-gemini/gemini-cli/pull/25088)
138
+ - fix: resolve lifecycle memory leaks by cleaning up listeners and root closures
139
+ by @spencer426 in
140
+ [#25049](https://github.com/google-gemini/gemini-cli/pull/25049)
141
+ - docs(cli): updates f12 description to be more precise by @JayadityaGit in
142
+ [#15816](https://github.com/google-gemini/gemini-cli/pull/15816)
143
+ - fix(cli): mark /settings as unsafe to run concurrently by @jacob314 in
144
+ [#25061](https://github.com/google-gemini/gemini-cli/pull/25061)
145
+ - fix(core): remove buffer slice to prevent OOM on large output streams by
146
+ @spencer426 in
147
+ [#25094](https://github.com/google-gemini/gemini-cli/pull/25094)
148
+ - feat(core): persist subagent agentId in tool call records by @abhipatel12 in
149
+ [#25092](https://github.com/google-gemini/gemini-cli/pull/25092)
150
+ - chore(core): increase codebase investigator turn limits to 50 by @abhipatel12
151
+ in [#25125](https://github.com/google-gemini/gemini-cli/pull/25125)
152
+ - refactor(core): consolidate execute() arguments into ExecuteOptions by
153
+ @mbleigh in [#25101](https://github.com/google-gemini/gemini-cli/pull/25101)
154
+ - feat(core): add Strategic Re-evaluation guidance to system prompt by
155
+ @aishaneeshah in
156
+ [#25062](https://github.com/google-gemini/gemini-cli/pull/25062)
157
+ - fix(core): preserve shell execution config fields on update by
158
+ @jasonmatthewsuhari in
159
+ [#25113](https://github.com/google-gemini/gemini-cli/pull/25113)
160
+ - docs: add vi shortcuts and clarify MCP sandbox setup by @chrisjcthomas in
161
+ [#21679](https://github.com/google-gemini/gemini-cli/pull/21679)
162
+ - fix(cli): pass session id to interactive shell executions by
163
+ @jasonmatthewsuhari in
164
+ [#25114](https://github.com/google-gemini/gemini-cli/pull/25114)
165
+ - fix(cli): resolve text sanitization data loss due to C1 control characters by
166
+ @euxaristia in
167
+ [#22624](https://github.com/google-gemini/gemini-cli/pull/22624)
168
+ - feat(core): add large memory regression test by @cynthialong0-0 in
169
+ [#25059](https://github.com/google-gemini/gemini-cli/pull/25059)
170
+ - fix(core): resolve PTY exhaustion and orphan MCP subprocess leaks by
171
+ @spencer426 in
172
+ [#25079](https://github.com/google-gemini/gemini-cli/pull/25079)
173
+ - chore(deps): update vulnerable dependencies via npm audit fix by @scidomino in
174
+ [#25140](https://github.com/google-gemini/gemini-cli/pull/25140)
175
+ - perf(sandbox): optimize Windows sandbox initialization via native ACL
176
+ application by @ehedlund in
177
+ [#25077](https://github.com/google-gemini/gemini-cli/pull/25077)
178
+ - chore: switch from keytar to @github/keytar by @cocosheng-g in
179
+ [#25143](https://github.com/google-gemini/gemini-cli/pull/25143)
180
+ - fix: improve audio MIME normalization and validation in file reads by
181
+ @junaiddshaukat in
182
+ [#21636](https://github.com/google-gemini/gemini-cli/pull/21636)
183
+ - docs: Update docs-audit to include changes in PR body by @g-samroberts in
184
+ [#25153](https://github.com/google-gemini/gemini-cli/pull/25153)
185
+ - docs: correct documentation for enforced authentication type by @cocosheng-g
186
+ in [#25142](https://github.com/google-gemini/gemini-cli/pull/25142)
187
+ - fix(cli): exclude update_topic from confirmation queue count by @Abhijit-2592
188
+ in [#24945](https://github.com/google-gemini/gemini-cli/pull/24945)
189
+ - Memory fix for trace's streamWrapper. by @anthraxmilkshake in
190
+ [#25089](https://github.com/google-gemini/gemini-cli/pull/25089)
191
+ - fix(core): fix quota footer for non-auto models and improve display by
192
+ @jackwotherspoon in
193
+ [#25121](https://github.com/google-gemini/gemini-cli/pull/25121)
194
+ - docs(contributing): clarify self-assignment policy for issues by @jmr in
195
+ [#23087](https://github.com/google-gemini/gemini-cli/pull/23087)
196
+ - feat(core): add skill patching support with /memory inbox integration by
197
+ @SandyTao520 in
198
+ [#25148](https://github.com/google-gemini/gemini-cli/pull/25148)
199
+ - Stop suppressing thoughts and text in model response by @gundermanc in
200
+ [#25073](https://github.com/google-gemini/gemini-cli/pull/25073)
201
+ - fix(release): prefix git hash in nightly versions to prevent semver
202
+ normalization by @SandyTao520 in
203
+ [#25304](https://github.com/google-gemini/gemini-cli/pull/25304)
204
+ - feat(cli): extract QuotaContext and resolve infinite render loop by @Adib234
205
+ in [#24959](https://github.com/google-gemini/gemini-cli/pull/24959)
206
+ - refactor(core): extract and centralize sandbox path utilities by @ehedlund in
207
+ [#25305](https://github.com/google-gemini/gemini-cli/pull/25305)
208
+ - feat(ui): added enhancements to scroll momentum by @devr0306 in
209
+ [#24447](https://github.com/google-gemini/gemini-cli/pull/24447)
210
+ - fix(core): replace custom binary detection with isbinaryfile to correctly
211
+ handle UTF-8 (U+FFFD) by @Anjaligarhwal in
212
+ [#25297](https://github.com/google-gemini/gemini-cli/pull/25297)
213
+ - feat(agent): implement tool-controlled display protocol (Steps 2-3) by
214
+ @mbleigh in [#25134](https://github.com/google-gemini/gemini-cli/pull/25134)
215
+ - Stop showing scrollbar unless we are in terminalBuffer mode by @jacob314 in
216
+ [#25320](https://github.com/google-gemini/gemini-cli/pull/25320)
217
+ - feat: support auth block in MCP servers config in agents by @TanmayVartak in
218
+ [#24770](https://github.com/google-gemini/gemini-cli/pull/24770)
219
+ - fix(core): expose GEMINI_PLANS_DIR to hook environment by @Adib234 in
220
+ [#25296](https://github.com/google-gemini/gemini-cli/pull/25296)
221
+ - feat(core): implement silent fallback for Plan Mode model routing by @jerop in
222
+ [#25317](https://github.com/google-gemini/gemini-cli/pull/25317)
223
+ - fix: correct redirect count increment in fetchJson by @KevinZhao in
224
+ [#24896](https://github.com/google-gemini/gemini-cli/pull/24896)
225
+ - fix(core): prevent secondary crash in ModelRouterService finally block by
226
+ @gundermanc in
227
+ [#25333](https://github.com/google-gemini/gemini-cli/pull/25333)
228
+ - feat(core): introduce decoupled ContextManager and Sidecar architecture by
229
+ @joshualitt in
230
+ [#24752](https://github.com/google-gemini/gemini-cli/pull/24752)
231
+ - docs(core): update generalist agent documentation by @abhipatel12 in
232
+ [#25325](https://github.com/google-gemini/gemini-cli/pull/25325)
233
+ - chore(mcp): check MCP error code over brittle string match by @jackwotherspoon
234
+ in [#25381](https://github.com/google-gemini/gemini-cli/pull/25381)
235
+ - feat(plan): update plan mode prompt to allow showing plan content by @ruomengz
236
+ in [#25058](https://github.com/google-gemini/gemini-cli/pull/25058)
237
+ - test(core): improve sandbox integration test coverage and fix OS-specific
238
+ failures by @ehedlund in
239
+ [#25307](https://github.com/google-gemini/gemini-cli/pull/25307)
240
+ - fix(core): use debug level for keychain fallback logging by @ehedlund in
241
+ [#25398](https://github.com/google-gemini/gemini-cli/pull/25398)
242
+ - feat(test): add a performance test in asian language by @cynthialong0-0 in
243
+ [#25392](https://github.com/google-gemini/gemini-cli/pull/25392)
244
+ - feat(cli): enable mouse clicking for cursor positioning in AskUser multi-line
245
+ answers by @Adib234 in
246
+ [#24630](https://github.com/google-gemini/gemini-cli/pull/24630)
247
+ - fix(core): detect kmscon terminal as supporting true color by @claygeo in
248
+ [#25282](https://github.com/google-gemini/gemini-cli/pull/25282)
249
+ - ci: add agent session drift check workflow by @adamfweidman in
250
+ [#25389](https://github.com/google-gemini/gemini-cli/pull/25389)
251
+ - use macos-latest-large runner where applicable. by @scidomino in
252
+ [#25413](https://github.com/google-gemini/gemini-cli/pull/25413)
253
+ - Changelog for v0.37.2 by @gemini-cli-robot in
254
+ [#25336](https://github.com/google-gemini/gemini-cli/pull/25336)
424
255
 
425
256
  **Full Changelog**:
426
- https://github.com/google-gemini/gemini-cli/compare/v0.36.0-preview.8...v0.37.0-preview.2
257
+ https://github.com/google-gemini/gemini-cli/compare/v0.38.0-preview.0...v0.39.0-preview.0