@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,8 +1,8 @@
1
1
  # Policy engine
2
2
 
3
- The Cell CLI includes a powerful policy engine that provides fine-grained
4
- control over tool execution. It allows users and administrators to define rules
5
- that determine whether a tool call should be allowed, denied, or require user
3
+ Cell CLI includes a powerful policy engine that provides fine-grained control
4
+ over tool execution. It allows users and administrators to define rules that
5
+ determine whether a tool call should be allowed, denied, or require user
6
6
  confirmation.
7
7
 
8
8
  ## Quick start
@@ -23,9 +23,9 @@ To create your first policy:
23
23
  New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.cell-cli\policies"
24
24
  ```
25
25
 
26
- 2. **Create a new policy file** (e.g., `~/.cell-cli/policies/my-rules.toml`).
27
- You can use any filename ending in `.toml`; all such files in this directory
28
- will be loaded and combined:
26
+ 2. **Create a new policy file** (for example,
27
+ `~/.cell-cli/policies/my-rules.toml`). You can use any filename ending in
28
+ `.toml`; all such files in this directory will be loaded and combined:
29
29
  ```toml
30
30
  [[rule]]
31
31
  toolName = "run_shell_command"
@@ -33,7 +33,7 @@ To create your first policy:
33
33
  decision = "deny"
34
34
  priority = 100
35
35
  ```
36
- 3. **Run a command** that triggers the policy (e.g., ask Cell CLI to
36
+ 3. **Run a command** that triggers the policy (for example, ask Cell CLI to
37
37
  `rm -rf /`). The tool will now be blocked automatically.
38
38
 
39
39
  ## Core concepts
@@ -120,6 +120,12 @@ There are three possible decisions a rule can enforce:
120
120
 
121
121
  ### Priority system and tiers
122
122
 
123
+ > [!WARNING] The **Workspace** tier (project-level policies) is currently
124
+ > non-functional. Defining policies in a workspace's `.cell-cli/policies`
125
+ > directory will not have any effect. See
126
+ > [issue #18186](https://github.com/google-gemini/gemini-cli/issues/18186). Use
127
+ > User or Admin policies instead.
128
+
123
129
  The policy engine uses a sophisticated priority system to resolve conflicts when
124
130
  multiple rules match a single tool call. The core principle is simple: **the
125
131
  rule with the highest priority wins**.
@@ -127,13 +133,13 @@ rule with the highest priority wins**.
127
133
  To provide a clear hierarchy, policies are organized into three tiers. Each tier
128
134
  has a designated number that forms the base of the final priority calculation.
129
135
 
130
- | Tier | Base | Description |
131
- | :-------- | :--- | :------------------------------------------------------------------------- |
132
- | Default | 1 | Built-in policies that ship with the Cell CLI. |
133
- | Extension | 2 | Policies defined in extensions. |
134
- | Workspace | 3 | Policies defined in the current workspace's configuration directory. |
135
- | User | 4 | Custom policies defined by the user. |
136
- | Admin | 5 | Policies managed by an administrator (e.g., in an enterprise environment). |
136
+ | Tier | Base | Description |
137
+ | :-------- | :--- | :-------------------------------------------------------------------------------------------- |
138
+ | Default | 1 | Built-in policies that ship with Cell CLI. |
139
+ | Extension | 2 | Policies defined in extensions. |
140
+ | Workspace | 3 | **(Currently disabled)** Policies defined in the current workspace's configuration directory. |
141
+ | User | 4 | Custom policies defined by the user. |
142
+ | Admin | 5 | Policies managed by an administrator (for example, in an enterprise environment). |
137
143
 
138
144
  Within a TOML policy file, you assign a priority value from **0 to 999**. The
139
145
  engine transforms this into a final priority using the following formula:
@@ -159,8 +165,8 @@ For example:
159
165
 
160
166
  Approval modes allow the policy engine to apply different sets of rules based on
161
167
  the CLI's operational mode. A rule in a TOML policy file can be associated with
162
- one or more modes (e.g., `yolo`, `autoEdit`, `plan`). The rule will only be
163
- active if the CLI is running in one of its specified modes. If a rule has no
168
+ one or more modes (for example, `yolo`, `autoEdit`, `plan`). The rule will only
169
+ be active if the CLI is running in one of its specified modes. If a rule has no
164
170
  modes specified, it is always active.
165
171
 
166
172
  - `default`: The standard interactive mode where most write tools require
@@ -214,11 +220,11 @@ User, and (if configured) Admin directories.
214
220
 
215
221
  ### Policy locations
216
222
 
217
- | Tier | Type | Location |
218
- | :------------ | :----- | :------------------------------------------ |
219
- | **User** | Custom | `~/.cell-cli/policies/*.toml` |
220
- | **Workspace** | Custom | `$WORKSPACE_ROOT/.cell-cli/policies/*.toml` |
221
- | **Admin** | System | _See below (OS specific)_ |
223
+ | Tier | Type | Location |
224
+ | :------------ | :----- | :--------------------------------------------------------- |
225
+ | **User** | Custom | `~/.cell-cli/policies/*.toml` |
226
+ | **Workspace** | Custom | **(Disabled)** `$WORKSPACE_ROOT/.cell-cli/policies/*.toml` |
227
+ | **Admin** | System | _See below (OS specific)_ |
222
228
 
223
229
  #### System-wide policies (Admin)
224
230
 
@@ -257,7 +263,7 @@ To prevent privilege escalation, the CLI enforces strict security checks on the
257
263
  directory are **ignored**.
258
264
 
259
265
  - **Linux / macOS:** Must be owned by `root` (UID 0) and NOT writable by group
260
- or others (e.g., `chmod 755`).
266
+ or others (for example, `chmod 755`).
261
267
  - **Windows:** Must be in `C:\ProgramData`. Standard users (`Users`, `Everyone`)
262
268
  must NOT have `Write`, `Modify`, or `Full Control` permissions. If you see a
263
269
  security warning, use the folder properties to remove write permissions for
@@ -386,7 +392,7 @@ policies, as it is much more robust than manually writing Fully Qualified Names
386
392
 
387
393
  <!-- prettier-ignore -->
388
394
  > [!WARNING]
389
- > Do not use underscores (`_`) in your MCP server names (e.g., use
395
+ > Do not use underscores (`_`) in your MCP server names (for example, use
390
396
  > `my-server` rather than `my_server`). The policy parser splits Fully Qualified
391
397
  > Names (`mcp_server_tool`) on the _first_ underscore following the `mcp_`
392
398
  > prefix. If your server name contains an underscore, the parser will
@@ -397,7 +403,8 @@ policies, as it is much more robust than manually writing Fully Qualified Names
397
403
 
398
404
  Combine `mcpName` and `toolName` to target a single operation. When using
399
405
  `mcpName`, the `toolName` field should strictly be the simple name of the tool
400
- (e.g., `search`), **not** the Fully Qualified Name (e.g., `mcp_server_search`).
406
+ (for example, `search`), **not** the Fully Qualified Name (for example,
407
+ `mcp_server_search`).
401
408
 
402
409
  ```toml
403
410
  # Allows the `search` tool on the `my-jira-server` MCP
@@ -438,10 +445,37 @@ decision = "ask_user"
438
445
  priority = 10
439
446
  ```
440
447
 
448
+ ### Special syntax for subagents
449
+
450
+ You can secure and govern subagents using standard policy rules by treating the
451
+ subagent's name as the `toolName`.
452
+
453
+ When the main agent invokes a subagent (e.g., using the unified `invoke_agent`
454
+ tool), the Policy Engine automatically treats the target `agent_name` as a
455
+ virtual tool alias for rule matching.
456
+
457
+ **Example:**
458
+
459
+ This rule denies access to the `codebase_investigator` subagent.
460
+
461
+ ```toml
462
+ [[rule]]
463
+ toolName = "codebase_investigator"
464
+ decision = "deny"
465
+ priority = 500
466
+ deny_message = "Deep codebase analysis is restricted for this session."
467
+ ```
468
+
469
+ - **Backward Compatibility**: Any rules written targeting historical 1:1
470
+ subagent tool names will continue to match transparently.
471
+ - **Context differentiation**: To create rules based on **who** is calling a
472
+ tool, use the `subagent` field instead. See
473
+ [TOML rule schema](#toml-rule-schema).
474
+
441
475
  ## Default policies
442
476
 
443
- The Cell CLI ships with a set of default policies to provide a safe
444
- out-of-the-box experience.
477
+ Cell CLI ships with a set of default policies to provide a safe out-of-the-box
478
+ experience.
445
479
 
446
480
  - **Read-only tools** (like `read_file`, `glob`) are generally **allowed**.
447
481
  - **Agent delegation** defaults to **`ask_user`** to ensure remote agents can
@@ -92,6 +92,28 @@ each tool.
92
92
  | [`ask_user`](../tools/ask-user.md) | `Communicate` | Requests clarification or missing information via an interactive dialog. |
93
93
  | [`write_todos`](../tools/todos.md) | `Other` | Maintains an internal list of subtasks. The model uses this to track its own progress. |
94
94
 
95
+ ### Task Tracker (Experimental)
96
+
97
+ <!-- prettier-ignore -->
98
+ > [!NOTE]
99
+ > This is an experimental feature currently under active development. Enable via `experimental.taskTracker`.
100
+
101
+ | Tool | Kind | Description |
102
+ | :---------------------------------------------- | :------ | :-------------------------------------------------------------------------- |
103
+ | [`tracker_create_task`](../tools/tracker.md) | `Other` | Creates a new task in the experimental tracker. |
104
+ | [`tracker_update_task`](../tools/tracker.md) | `Other` | Updates an existing task's status, description, or dependencies. |
105
+ | [`tracker_get_task`](../tools/tracker.md) | `Other` | Retrieves the full details of a specific task. |
106
+ | [`tracker_list_tasks`](../tools/tracker.md) | `Other` | Lists tasks in the tracker, optionally filtered by status, type, or parent. |
107
+ | [`tracker_add_dependency`](../tools/tracker.md) | `Other` | Adds a dependency between two tasks, ensuring topological execution. |
108
+ | [`tracker_visualize`](../tools/tracker.md) | `Other` | Renders an ASCII tree visualization of the current task graph. |
109
+
110
+ ### MCP
111
+
112
+ | Tool | Kind | Description |
113
+ | :------------------------------------------------ | :------- | :--------------------------------------------------------------------- |
114
+ | [`list_mcp_resources`](../tools/mcp-resources.md) | `Search` | Lists all available resources exposed by connected MCP servers. |
115
+ | [`read_mcp_resource`](../tools/mcp-resources.md) | `Read` | Reads the content of a specific Model Context Protocol (MCP) resource. |
116
+
95
117
  ### Memory
96
118
 
97
119
  | Tool | Kind | Description |
@@ -113,12 +135,24 @@ each tool.
113
135
  | :-------------- | :------ | :----------------------------------------------------------------------------------------------------------------- |
114
136
  | `complete_task` | `Other` | Finalizes a subagent's mission and returns the result to the parent agent. This tool is not available to the user. |
115
137
 
138
+ ### Task Tracking
139
+
140
+ | Tool | Kind | Description |
141
+ | :----------------------- | :------ | :-------------------------------------------------------------------------- |
142
+ | `tracker_add_dependency` | `Think` | Adds a dependency between two existing tasks in the tracker. |
143
+ | `tracker_create_task` | `Think` | Creates a new task in the internal tracker to monitor progress. |
144
+ | `tracker_get_task` | `Think` | Retrieves the details and current status of a specific tracked task. |
145
+ | `tracker_list_tasks` | `Think` | Lists all tasks currently being tracked. |
146
+ | `tracker_update_task` | `Think` | Updates the status or details of an existing task. |
147
+ | `tracker_visualize` | `Think` | Generates a visual representation of the current task dependency graph. |
148
+ | `update_topic` | `Think` | Updates the current topic and status to keep the user informed of progress. |
149
+
116
150
  ### Web
117
151
 
118
- | Tool | Kind | Description |
119
- | :-------------------------------------------- | :------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
120
- | [`google_web_search`](../tools/web-search.md) | `Search` | Performs a Google Search to find up-to-date information. |
121
- | [`web_fetch`](../tools/web-fetch.md) | `Fetch` | Retrieves and processes content from specific URLs. **Warning:** This tool can access local and private network addresses (e.g., localhost), which may pose a security risk if used with untrusted prompts. In Plan Mode, this tool requires explicit user confirmation. |
152
+ | Tool | Kind | Description |
153
+ | :-------------------------------------------- | :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
154
+ | [`google_web_search`](../tools/web-search.md) | `Search` | Performs a Google Search to find up-to-date information. |
155
+ | [`web_fetch`](../tools/web-fetch.md) | `Fetch` | Retrieves and processes content from specific URLs. **Warning:** This tool can access local and private network addresses (for example, localhost), which may pose a security risk if used with untrusted prompts. In Plan Mode, this tool requires explicit user confirmation. |
122
156
 
123
157
  ## Under the hood
124
158
 
@@ -1,7 +1,7 @@
1
1
  # Release confidence strategy
2
2
 
3
3
  This document outlines the strategy for gaining confidence in every release of
4
- the Cell CLI. It serves as a checklist and quality gate for release manager to
4
+ Cell CLI. It serves as a checklist and quality gate for release manager to
5
5
  ensure we are shipping a high-quality product.
6
6
 
7
7
  ## The goal
@@ -45,7 +45,7 @@ promotion flow is:
45
45
  ### Preview
46
46
 
47
47
  These releases will not have been fully vetted and may contain regressions or
48
- other outstanding issues. Please help us test and install with `preview` tag.
48
+ other outstanding issues. Help us test and install with `preview` tag.
49
49
 
50
50
  ```bash
51
51
  npm install -g @google/gemini-cli@preview
@@ -126,8 +126,8 @@ specific version from any branch, tag, or commit SHA.
126
126
  2. Select the **Release: Manual** workflow from the list.
127
127
  3. Click the **Run workflow** dropdown button.
128
128
  4. Fill in the required inputs:
129
- - **Version**: The exact version to release (e.g., `v0.6.1`). This must be a
130
- valid semantic version with a `v` prefix.
129
+ - **Version**: The exact version to release (for example, `v0.6.1`). This
130
+ must be a valid semantic version with a `v` prefix.
131
131
  - **Ref**: The branch, tag, or full commit SHA to release from.
132
132
  - **NPM Channel**: The npm channel to publish to. The options are `preview`,
133
133
  `nightly`, `latest` (for stable releases), and `dev`. The default is
@@ -165,9 +165,10 @@ require a full release cycle.
165
165
  3. Click the **Run workflow** dropdown button.
166
166
  4. Fill in the required inputs:
167
167
  - **Version**: The existing package version that you want to point the tag
168
- to (e.g., `0.5.0-preview-2`). This version **must** already be published
169
- to the npm registry.
170
- - **Channel**: The npm `dist-tag` to apply (e.g., `preview`, `stable`).
168
+ to (for example, `0.5.0-preview-2`). This version **must** already be
169
+ published to the npm registry.
170
+ - **Channel**: The npm `dist-tag` to apply (for example, `preview`,
171
+ `stable`).
171
172
  - **Dry Run**: Leave as `true` to log the action without making changes, or
172
173
  set to `false` to perform the live tag change.
173
174
  - **Environment**: Select the appropriate environment. The `dev` environment
@@ -227,7 +228,7 @@ workflow.
227
228
  This workflow will automatically:
228
229
 
229
230
  1. Find the latest release tag for the channel.
230
- 2. Create a release branch from that tag if one doesn't exist (e.g.,
231
+ 2. Create a release branch from that tag if one doesn't exist (for example,
231
232
  `release/v0.5.1-pr-12345`).
232
233
  3. Create a new hotfix branch from the release branch.
233
234
  4. Cherry-pick your specified commit into the hotfix branch.
@@ -282,9 +283,8 @@ created:
282
283
  6. **Update the PR description**: Consider updating the PR title and description
283
284
  to reflect that it includes multiple fixes.
284
285
 
285
- This approach allows you to group related fixes into a single patch release
286
- while maintaining full control over what gets included and how conflicts are
287
- resolved.
286
+ This approach lets you group related fixes into a single patch release while
287
+ maintaining full control over what gets included and how conflicts are resolved.
288
288
 
289
289
  #### 3. Automatic release
290
290
 
@@ -302,9 +302,9 @@ consistently and reliably.
302
302
  #### Troubleshooting: Older branch workflows
303
303
 
304
304
  **Issue**: If the patch trigger workflow fails with errors like "Resource not
305
- accessible by integration" or references to non-existent workflow files (e.g.,
306
- `patch-release.yml`), this indicates the hotfix branch contains an outdated
307
- version of the workflow files.
305
+ accessible by integration" or references to non-existent workflow files (for
306
+ example, `patch-release.yml`), this indicates the hotfix branch contains an
307
+ outdated version of the workflow files.
308
308
 
309
309
  **Root cause**: When a PR is merged, GitHub Actions runs the workflow definition
310
310
  from the **source branch** (the hotfix branch), not from the target branch (the
@@ -428,7 +428,7 @@ This command will do the following:
428
428
 
429
429
  You can then inspect the generated tarballs to ensure that they contain the
430
430
  correct files and that the `package.json` files have been updated correctly. The
431
- tarballs will be created in the root of each package's directory (e.g.,
431
+ tarballs will be created in the root of each package's directory (for example,
432
432
  `packages/cli/google-gemini-cli-0.1.6.tgz`).
433
433
 
434
434
  By performing a dry run, you can be confident that your changes to the packaging
@@ -477,9 +477,9 @@ executable that enables `npx` usage directly from the GitHub repository.
477
477
  1. **The JavaScript bundle is created:**
478
478
  - **What happens:** The built JavaScript from both `packages/core/dist` and
479
479
  `packages/cli/dist`, along with all third-party JavaScript dependencies,
480
- are bundled by `esbuild` into a single, executable JavaScript file (e.g.,
481
- `gemini.js`). The `node-pty` library is excluded from this bundle as it
482
- contains native binaries.
480
+ are bundled by `esbuild` into a single, executable JavaScript file (for
481
+ example, `gemini.js`). The `node-pty` library is excluded from this bundle
482
+ as it contains native binaries.
483
483
  - **Why:** This creates a single, optimized file that contains all the
484
484
  necessary application code. It simplifies execution for users who want to
485
485
  run the CLI without a full `npm install`, as all dependencies (including
@@ -540,9 +540,9 @@ The list of available labels is not currently populated correctly. If you want
540
540
  to add a label that does not appear alphabetically in the first 30 labels in the
541
541
  repo, you must use your browser's developer tools to manually modify the UI:
542
542
 
543
- 1. Open your browser's developer tools (e.g., Chrome DevTools).
543
+ 1. Open your browser's developer tools (for example, Chrome DevTools).
544
544
  2. In the `/github-settings` dialog, inspect the list of labels.
545
545
  3. Locate one of the `<li>` elements representing a label.
546
546
  4. In the HTML, modify the `data-option-value` attribute of that `<li>` element
547
- to the desired label name (e.g., `release-failure`).
547
+ to the desired label name (for example, `release-failure`).
548
548
  5. Click on your modified label in the UI to select it, then save your settings.
@@ -8,7 +8,7 @@ problems encountered while using Cell CLI.
8
8
  This section addresses common questions about Cell CLI usage, security, and
9
9
  troubleshooting general errors.
10
10
 
11
- ### Why can't I use third-party software (e.g. Claude Code, OpenClaw, OpenCode) with Cell CLI?
11
+ ### Why can't I use third-party software like Claude Code, OpenClaw, or OpenCode with Cell CLI?
12
12
 
13
13
  Using third-party software, tools, or services to harvest or piggyback on Gemini
14
14
  CLI's OAuth authentication to access our backend services is a direct violation
@@ -113,8 +113,8 @@ export GOOGLE_CLOUD_PROJECT="your-project-id"
113
113
  $env:GOOGLE_CLOUD_PROJECT="your-project-id"
114
114
  ```
115
115
 
116
- To make this setting permanent, add this line to your shell's startup file
117
- (e.g., `~/.bashrc`, `~/.zshrc`).
116
+ To make this setting permanent, add this line to your shell's startup file (for
117
+ example, `~/.bashrc`, `~/.zshrc`).
118
118
 
119
119
  ### What is the best way to store my API keys securely?
120
120
 
@@ -131,9 +131,9 @@ To store your API keys securely, you can:
131
131
  Manager, or a secret manager on Linux). You can then have your scripts or
132
132
  environment load the key from the secure storage at runtime.
133
133
 
134
- ### Where are the Cell CLI configuration and settings files stored?
134
+ ### Where are Cell CLI configuration and settings files stored?
135
135
 
136
- The Cell CLI configuration is stored in two `settings.json` files:
136
+ Cell CLI configuration is stored in two `settings.json` files:
137
137
 
138
138
  1. In your home directory: `~/.cell-cli/settings.json`.
139
139
  2. In your project's root directory: `./.cell-cli/settings.json`.
@@ -1,16 +1,17 @@
1
1
  # Cell CLI: License, Terms of Service, and Privacy Notices
2
2
 
3
3
  Cell CLI is an open-source tool that lets you interact with Google's powerful AI
4
- services directly from your command-line interface. The Cell CLI software is
4
+ services directly from your command-line interface. Cell CLI software is
5
5
  licensed under the
6
6
  [Apache 2.0 license](https://github.com/google-gemini/gemini-cli/blob/main/LICENSE).
7
7
  When you use Cell CLI to access or use Google’s services, the Terms of Service
8
8
  and Privacy Notices applicable to those services apply to such access and use.
9
9
 
10
- Directly accessing the services powering Cell CLI (e.g., the Gemini Code Assist
11
- service) using third-party software, tools, or services (for example, using
12
- OpenClaw with Cell CLI OAuth) is a violation of applicable terms and policies.
13
- Such actions may be grounds for suspension or termination of your account.
10
+ Directly accessing the services powering Cell CLI (for example, the Gemini Code
11
+ Assist service) using third-party software, tools, or services (for example,
12
+ using OpenClaw with Cell CLI OAuth) is a violation of applicable terms and
13
+ policies. Such actions may be grounds for suspension or termination of your
14
+ account.
14
15
 
15
16
  Your Cell CLI Usage Statistics are handled in accordance with Google's Privacy
16
17
  Policy.
@@ -18,7 +19,7 @@ Policy.
18
19
  <!-- prettier-ignore -->
19
20
  > [!NOTE]
20
21
  > See [quotas and pricing](quota-and-pricing.md) for the quota and
21
- > pricing details that apply to your usage of the Cell CLI.
22
+ > pricing details that apply to your usage of Cell CLI.
22
23
 
23
24
  ## Supported authentication methods
24
25
 
@@ -36,7 +37,7 @@ If you log in with your Google account and you do not already have a Gemini Code
36
37
  Assist account associated with your Google account, you will be directed to the
37
38
  sign up flow for Gemini Code Assist for individuals. If your Google account is
38
39
  managed by your organization, your administrator may not permit access to Gemini
39
- Code Assist for individuals. Please see the
40
+ Code Assist for individuals. See the
40
41
  [Gemini Code Assist for individuals FAQs](https://developers.google.com/gemini-code-assist/resources/faqs)
41
42
  for further information.
42
43
 
@@ -75,7 +76,7 @@ If you are using a Gemini API key for authentication with the
75
76
  [Gemini Developer API](https://ai.google.dev/gemini-api/docs), these Terms of
76
77
  Service and Privacy Notice documents apply:
77
78
 
78
- - Terms of Service: Your use of the Cell CLI is governed by the
79
+ - Terms of Service: Your use of Cell CLI is governed by the
79
80
  [Gemini API Terms of Service](https://ai.google.dev/gemini-api/terms). These
80
81
  terms may differ depending on whether you are using an unpaid or paid service:
81
82
  - For unpaid services, refer to the
@@ -91,7 +92,7 @@ If you are using a Gemini API key for authentication with a
91
92
  [Vertex AI GenAI API](https://cloud.google.com/vertex-ai/generative-ai/docs/reference/rest)
92
93
  backend, these Terms of Service and Privacy Notice documents apply:
93
94
 
94
- - Terms of Service: Your use of the Cell CLI is governed by the
95
+ - Terms of Service: Your use of Cell CLI is governed by the
95
96
  [Google Cloud Platform Service Terms](https://cloud.google.com/terms/service-terms/).
96
97
  - Privacy Notice: The collection and use of your data is described in the
97
98
  [Google Cloud Privacy Notice](https://cloud.google.com/terms/cloud-privacy-notice).
@@ -79,8 +79,8 @@ topics on:
79
79
  directory is in your `PATH`. You can update Cell CLI using the command
80
80
  `npm install -g @google/gemini-cli@latest`.
81
81
  - If you are running `gemini` from source, ensure you are using the correct
82
- command to invoke it (e.g., `node packages/cli/dist/index.js ...`). To
83
- update Cell CLI, pull the latest changes from the repository, and then
82
+ command to invoke it (for example, `node packages/cli/dist/index.js ...`).
83
+ To update Cell CLI, pull the latest changes from the repository, and then
84
84
  rebuild using the command `npm run build`.
85
85
 
86
86
  - **Error: `MODULE_NOT_FOUND` or import errors.**
@@ -100,17 +100,18 @@ topics on:
100
100
  configuration.
101
101
 
102
102
  - **Cell CLI is not running in interactive mode in "CI" environments**
103
- - **Issue:** The Cell CLI does not enter interactive mode (no prompt appears)
104
- if an environment variable starting with `CI_` (e.g., `CI_TOKEN`) is set.
105
- This is because the `is-in-ci` package, used by the underlying UI framework,
106
- detects these variables and assumes a non-interactive CI environment.
103
+ - **Issue:** Cell CLI does not enter interactive mode (no prompt appears) if
104
+ an environment variable starting with `CI_` (for example, `CI_TOKEN`) is
105
+ set. This is because the `is-in-ci` package, used by the underlying UI
106
+ framework, detects these variables and assumes a non-interactive CI
107
+ environment.
107
108
  - **Cause:** The `is-in-ci` package checks for the presence of `CI`,
108
109
  `CONTINUOUS_INTEGRATION`, or any environment variable with a `CI_` prefix.
109
110
  When any of these are found, it signals that the environment is
110
- non-interactive, which prevents the Cell CLI from starting in its
111
- interactive mode.
111
+ non-interactive, which prevents Cell CLI from starting in its interactive
112
+ mode.
112
113
  - **Solution:** If the `CI_` prefixed variable is not needed for the CLI to
113
- function, you can temporarily unset it for the command. e.g.,
114
+ function, you can temporarily unset it for the command. For example,
114
115
  `env -u CI_TOKEN gemini`
115
116
 
116
117
  - **DEBUG mode not working from project .env file**
@@ -124,7 +125,7 @@ topics on:
124
125
 
125
126
  - **Warning: `npm WARN deprecated node-domexception@1.0.0` or
126
127
  `npm WARN deprecated glob` during install/update**
127
- - **Issue:** When installing or updating the Cell CLI globally via
128
+ - **Issue:** When installing or updating Cell CLI globally via
128
129
  `npm install -g @google/gemini-cli` or `npm update -g @google/gemini-cli`,
129
130
  you might see deprecation warnings regarding `node-domexception` or old
130
131
  versions of `glob`.
@@ -139,14 +140,14 @@ topics on:
139
140
 
140
141
  ## Exit codes
141
142
 
142
- The Cell CLI uses specific exit codes to indicate the reason for termination.
143
- This is especially useful for scripting and automation.
143
+ Cell CLI uses specific exit codes to indicate the reason for termination. This
144
+ is especially useful for scripting and automation.
144
145
 
145
146
  | Exit Code | Error Type | Description |
146
147
  | --------- | -------------------------- | --------------------------------------------------------------------------------------------------- |
147
148
  | 41 | `FatalAuthenticationError` | An error occurred during the authentication process. |
148
149
  | 42 | `FatalInputError` | Invalid or missing input was provided to the CLI. (non-interactive mode only) |
149
- | 44 | `FatalSandboxError` | An error occurred with the sandboxing environment (e.g., Docker, Podman, or Seatbelt). |
150
+ | 44 | `FatalSandboxError` | An error occurred with the sandboxing environment (for example, Docker, Podman, or Seatbelt). |
150
151
  | 52 | `FatalConfigError` | A configuration file (`settings.json`) is invalid or contains errors. |
151
152
  | 53 | `FatalTurnLimitedError` | The maximum number of conversational turns for the session was reached. (non-interactive mode only) |
152
153
 
@@ -162,8 +163,8 @@ This is especially useful for scripting and automation.
162
163
  - Check the server console output for error messages or stack traces.
163
164
  - Increase log verbosity if configurable. For example, set the `DEBUG_MODE`
164
165
  environment variable to `true` or `1`.
165
- - Use Node.js debugging tools (e.g., `node --inspect`) if you need to step
166
- through server-side code.
166
+ - Use Node.js debugging tools (for example, `node --inspect`) if you need to
167
+ step through server-side code.
167
168
 
168
169
  - **Tool issues:**
169
170
  - If a specific tool is failing, try to isolate the issue by running the
@@ -180,7 +181,7 @@ This is especially useful for scripting and automation.
180
181
  ## Existing GitHub issues similar to yours or creating new issues
181
182
 
182
183
  If you encounter an issue that was not covered here in this _Troubleshooting
183
- guide_, consider searching the Cell CLI
184
+ guide_, consider searching Cell CLI
184
185
  [Issue tracker on GitHub](https://github.com/google-gemini/gemini-cli/issues).
185
186
  If you can't find an issue similar to yours, consider creating a new GitHub
186
187
  Issue with a detailed description. Pull requests are also welcome!
@@ -28,8 +28,9 @@ Remove-Item -Path (Join-Path $env:LocalAppData "npm-cache\_npx") -Recurse -Force
28
28
 
29
29
  ## Method 2: Using npm (global install)
30
30
 
31
- If you installed the CLI globally (e.g., `npm install -g @google/gemini-cli`),
32
- use the `npm uninstall` command with the `-g` flag to remove it.
31
+ If you installed the CLI globally (for example,
32
+ `npm install -g @google/gemini-cli`), use the `npm uninstall` command with the
33
+ `-g` flag to remove it.
33
34
 
34
35
  ```bash
35
36
  npm uninstall -g @google/gemini-cli
@@ -39,7 +40,7 @@ This command completely removes the package from your system.
39
40
 
40
41
  ## Method 3: Homebrew
41
42
 
42
- If you installed the CLI globally using Homebrew (e.g.,
43
+ If you installed the CLI globally using Homebrew (for example,
43
44
  `brew install gemini-cli`), use the `brew uninstall` command to remove it.
44
45
 
45
46
  ```bash
@@ -48,7 +49,7 @@ brew uninstall gemini-cli
48
49
 
49
50
  ## Method 4: MacPorts
50
51
 
51
- If you installed the CLI globally using MacPorts (e.g.,
52
+ If you installed the CLI globally using MacPorts (for example,
52
53
  `sudo port install gemini-cli`), use the `port uninstall` command to remove it.
53
54
 
54
55
  ```bash
@@ -96,6 +96,11 @@
96
96
  ]
97
97
  },
98
98
  { "label": "Agent Skills", "slug": "docs/cli/skills" },
99
+ {
100
+ "label": "Auto Memory",
101
+ "badge": "🔬",
102
+ "slug": "docs/cli/auto-memory"
103
+ },
99
104
  { "label": "Checkpointing", "slug": "docs/cli/checkpointing" },
100
105
  { "label": "Headless mode", "slug": "docs/cli/headless" },
101
106
  {
@@ -122,7 +127,14 @@
122
127
  }
123
128
  ]
124
129
  },
125
- { "label": "MCP servers", "slug": "docs/tools/mcp-server" },
130
+ {
131
+ "label": "MCP servers",
132
+ "collapsed": true,
133
+ "items": [
134
+ { "label": "Overview", "slug": "docs/tools/mcp-server" },
135
+ { "label": "Resource tools", "slug": "docs/tools/mcp-resources" }
136
+ ]
137
+ },
126
138
  { "label": "Model routing", "slug": "docs/cli/model-routing" },
127
139
  { "label": "Model selection", "slug": "docs/cli/model" },
128
140
  {
@@ -15,7 +15,7 @@ confirmation.
15
15
  Each question object has the following properties:
16
16
  - `question` (string, required): The complete question text.
17
17
  - `header` (string, required): A short label (max 16 chars) displayed as a
18
- chip/tag (e.g., "Auth", "Database").
18
+ chip/tag (for example, "Auth", "Database").
19
19
  - `type` (string, optional): The type of question. Defaults to `'choice'`.
20
20
  - `'choice'`: Multiple-choice with options (supports multi-select).
21
21
  - `'text'`: Free-form text input.
@@ -35,7 +35,7 @@ confirmation.
35
35
  - Returns the user's answers to the model.
36
36
 
37
37
  - **Output (`llmContent`):** A JSON string containing the user's answers,
38
- indexed by question position (e.g.,
38
+ indexed by question position (for example,
39
39
  `{"answers":{"0": "Option A", "1": "Some text"}}`).
40
40
 
41
41
  - **Confirmation:** Yes. The tool inherently involves user interaction.
@@ -75,7 +75,7 @@ confirmation.
75
75
  "header": "Project Name",
76
76
  "question": "What is the name of your new project?",
77
77
  "type": "text",
78
- "placeholder": "e.g., my-awesome-app"
78
+ "placeholder": "for example, my-awesome-app"
79
79
  }
80
80
  ]
81
81
  }
@@ -1,6 +1,6 @@
1
1
  # File system tools reference
2
2
 
3
- The Cell CLI core provides a suite of tools for interacting with the local file
3
+ Cell CLI core provides a suite of tools for interacting with the local file
4
4
  system. These tools allow the model to explore and modify your codebase.
5
5
 
6
6
  ## Technical reference
@@ -49,8 +49,8 @@ Finds files matching specific glob patterns across the workspace.
49
49
  - **Display name:** FindFiles
50
50
  - **File:** `glob.ts`
51
51
  - **Parameters:**
52
- - `pattern` (string, required): The glob pattern to match against (e.g.,
53
- `"*.py"`, `"src/**/*.js"`).
52
+ - `pattern` (string, required): The glob pattern to match against (for
53
+ example, `"*.py"`, `"src/**/*.js"`).
54
54
  - `path` (string, optional): The absolute path to the directory to search
55
55
  within. If omitted, searches the tool's root directory.
56
56
  - `case_sensitive` (boolean, optional): Whether the search should be
@@ -78,18 +78,18 @@ lines containing matches, along with their file paths and line numbers.
78
78
  - **File:** `grep.ts`
79
79
  - **Parameters:**
80
80
  - `pattern` (string, required): The regular expression (regex) to search for
81
- (e.g., `"function\s+myFunction"`).
81
+ (for example, `"function\s+myFunction"`).
82
82
  - `path` (string, optional): The absolute path to the directory to search
83
83
  within. Defaults to the current working directory.
84
84
  - `include` (string, optional): A glob pattern to filter which files are
85
- searched (e.g., `"*.js"`, `"src/**/*.{ts,tsx}"`). If omitted, searches most
86
- files (respecting common ignores).
85
+ searched (for example, `"*.js"`, `"src/**/*.{ts,tsx}"`). If omitted,
86
+ searches most files (respecting common ignores).
87
87
  - **Behavior:**
88
88
  - Uses `git grep` if available in a Git repository for speed; otherwise, falls
89
89
  back to system `grep` or a JavaScript-based search.
90
90
  - Returns a list of matching lines, each prefixed with its file path (relative
91
91
  to the search directory) and line number.
92
- - **Output (`llmContent`):** A formatted string of matches, e.g.:
92
+ - **Output (`llmContent`):** A formatted string of matches, for example:
93
93
  ```
94
94
  Found 3 matches for pattern "myFunction" in path "." (filter: "*.ts"):
95
95
  ---