@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
@@ -0,0 +1,201 @@
1
+ import { Tabs, TabItem } from '@astrojs/starlight/components';
2
+
3
+ # Cell CLI installation, execution, and releases
4
+
5
+ This document provides an overview of Cell CLI's system requirements,
6
+ installation methods, and release types.
7
+
8
+ ## Recommended system specifications
9
+
10
+ - **Operating System:**
11
+ - macOS 15+
12
+ - Windows 11 24H2+
13
+ - Ubuntu 20.04+
14
+ - **Hardware:**
15
+ - "Casual" usage: 4GB+ RAM (short sessions, common tasks and edits)
16
+ - "Power" usage: 16GB+ RAM (long sessions, large codebases, deep context)
17
+ - **Runtime:** Node.js 20.0.0+
18
+ - **Shell:** Bash, Zsh, or PowerShell
19
+ - **Location:**
20
+ [Gemini Code Assist supported locations](https://developers.google.com/gemini-code-assist/resources/available-locations#americas)
21
+ - **Internet connection required**
22
+
23
+ ## Install Cell CLI
24
+
25
+ We recommend most users install Cell CLI using one of the following
26
+ installation methods. Note that Cell CLI comes pre-installed on
27
+ [**Cloud Shell**](https://docs.cloud.google.com/shell/docs) and
28
+ [**Cloud Workstations**](https://cloud.google.com/workstations).
29
+
30
+ <Tabs>
31
+ <TabItem label="npm">
32
+
33
+ Install globally with npm:
34
+
35
+ ```bash
36
+ npm install -g @google/gemini-cli
37
+ ```
38
+
39
+ </TabItem>
40
+ <TabItem label="Homebrew (macOS/Linux)">
41
+
42
+ Install globally with Homebrew:
43
+
44
+ ```bash
45
+ brew install gemini-cli
46
+ ```
47
+
48
+ </TabItem>
49
+ <TabItem label="MacPorts (macOS)">
50
+
51
+ Install globally with MacPorts:
52
+
53
+ ```bash
54
+ sudo port install gemini-cli
55
+ ```
56
+
57
+ </TabItem>
58
+ <TabItem label="Anaconda">
59
+
60
+ Install with Anaconda (for restricted environments):
61
+
62
+ ```bash
63
+ # Create and activate a new environment
64
+ conda create -y -n gemini_env -c conda-forge nodejs
65
+ conda activate gemini_env
66
+
67
+ # Install Cell CLI globally via npm (inside the environment)
68
+ npm install -g @google/gemini-cli
69
+ ```
70
+
71
+ </TabItem>
72
+ </Tabs>
73
+
74
+ ## Run Cell CLI
75
+
76
+ For most users, we recommend running Cell CLI with the `gemini` command:
77
+
78
+ ```bash
79
+ gemini
80
+ ```
81
+
82
+ For a list of options and additional commands, see the
83
+ [CLI cheatsheet](../cli/cli-reference.md).
84
+
85
+ You can also run Cell CLI using one of the following advanced methods:
86
+
87
+ <Tabs>
88
+ <TabItem label="npx">
89
+
90
+ Run instantly with npx. You can run Cell CLI without permanent installation.
91
+
92
+ ```bash
93
+ # Using npx (no installation required)
94
+ npx @google/gemini-cli
95
+ ```
96
+
97
+ You can also execute the CLI directly from the main branch on GitHub, which is
98
+ helpful for testing features still in development:
99
+
100
+ ```bash
101
+ npx https://github.com/google-gemini/gemini-cli
102
+ ```
103
+
104
+ </TabItem>
105
+ <TabItem label="Docker/Podman Sandbox">
106
+
107
+ For security and isolation, Cell CLI can be run inside a container. This is
108
+ the default way that the CLI executes tools that might have side effects.
109
+
110
+ - **Directly from the registry:** You can run the published sandbox image
111
+ directly. This is useful for environments where you only have Docker and want
112
+ to run the CLI.
113
+ ```bash
114
+ # Run the published sandbox image
115
+ docker run --rm -it us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.1.1
116
+ ```
117
+ - **Using the `--sandbox` flag:** If you have Cell CLI installed locally
118
+ (using the standard installation described above), you can instruct it to run
119
+ inside the sandbox container.
120
+ ```bash
121
+ cell-cli --sandbox -y -p "your prompt here"
122
+ ```
123
+
124
+ </TabItem>
125
+ <TabItem label="From source">
126
+
127
+ Contributors to the project will want to run the CLI directly from the source
128
+ code.
129
+
130
+ - **Development mode:** This method provides hot-reloading and is useful for
131
+ active development.
132
+ ```bash
133
+ # From the root of the repository
134
+ npm run start
135
+ ```
136
+ - **Production mode (React optimizations):** This method runs the CLI with React
137
+ production mode enabled, which is useful for testing performance without
138
+ development overhead.
139
+ ```bash
140
+ # From the root of the repository
141
+ npm run start:prod
142
+ ```
143
+ - **Production-like mode (linked package):** This method simulates a global
144
+ installation by linking your local package. It's useful for testing a local
145
+ build in a production workflow.
146
+
147
+ ```bash
148
+ # Link the local cli package to your global node_modules
149
+ npm link packages/cli
150
+
151
+ # Now you can run your local version using the `gemini` command
152
+ gemini
153
+ ```
154
+
155
+ </TabItem>
156
+ </Tabs>
157
+
158
+ ## Releases
159
+
160
+ Cell CLI has three release channels: stable, preview, and nightly. For most
161
+ users, we recommend the stable release, which is the default installation.
162
+
163
+ <Tabs>
164
+ <TabItem label="Stable">
165
+
166
+ Stable releases are published each week. A stable release is created from the
167
+ previous week's preview release along with any bug fixes. The stable release
168
+ uses the `latest` tag. Omitting the tag also installs the latest stable
169
+ release by default.
170
+
171
+ ```bash
172
+ # Both commands install the latest stable release.
173
+ npm install -g @google/gemini-cli
174
+ npm install -g @google/gemini-cli@latest
175
+ ```
176
+
177
+ </TabItem>
178
+ <TabItem label="Preview">
179
+
180
+ New preview releases will be published each week. These releases are not fully
181
+ vetted and may contain regressions or other outstanding issues. Try out the
182
+ preview release by using the `preview` tag:
183
+
184
+ ```bash
185
+ npm install -g @google/gemini-cli@preview
186
+ ```
187
+
188
+ </TabItem>
189
+ <TabItem label="Nightly">
190
+
191
+ Nightly releases are published every day. The nightly release includes all
192
+ changes from the main branch at time of release. It should be assumed there are
193
+ pending validations and issues. You can help test the latest changes by
194
+ installing with the `nightly` tag:
195
+
196
+ ```bash
197
+ npm install -g @google/gemini-cli@nightly
198
+ ```
199
+
200
+ </TabItem>
201
+ </Tabs>
@@ -367,7 +367,7 @@ chmod +x .cell-cli/hooks/*.js
367
367
  ```
368
368
 
369
369
  **Windows Note**: On Windows, PowerShell scripts (`.ps1`) don't use `chmod`, but
370
- you may need to ensure your execution policy allows them to run (e.g.,
370
+ you may need to ensure your execution policy allows them to run (for example,
371
371
  `Set-ExecutionPolicy RemoteSigned -Scope CurrentUser`).
372
372
 
373
373
  ### Version control
@@ -401,12 +401,12 @@ git add .cell-cli/settings.json
401
401
  Understanding where hooks come from and what they can do is critical for secure
402
402
  usage.
403
403
 
404
- | Hook Source | Description |
405
- | :------------------------------ | :------------------------------------------------------------------------------------------------------------------------- |
406
- | **System** | Configured by system administrators (e.g., `/etc/gemini-cli/settings.json`, `/Library/...`). Assumed to be the **safest**. |
407
- | **User** (`~/.cell-cli/...`) | Configured by you. You are responsible for ensuring they are safe. |
408
- | **Extensions** | You explicitly approve and install these. Security depends on the extension source (integrity). |
409
- | **Project** (`./.cell-cli/...`) | **Untrusted by default.** Safest in trusted internal repos; higher risk in third-party/public repos. |
404
+ | Hook Source | Description |
405
+ | :------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------- |
406
+ | **System** | Configured by system administrators (for example, `/etc/gemini-cli/settings.json`, `/Library/...`). Assumed to be the **safest**. |
407
+ | **User** (`~/.cell-cli/...`) | Configured by you. You are responsible for ensuring they are safe. |
408
+ | **Extensions** | You explicitly approve and install these. Security depends on the extension source (integrity). |
409
+ | **Project** (`./.cell-cli/...`) | **Untrusted by default.** Safest in trusted internal repos; higher risk in third-party/public repos. |
410
410
 
411
411
  #### Project Hook Security
412
412
 
@@ -422,9 +422,10 @@ When you open a project with hooks defined in `.cell-cli/settings.json`:
422
422
  5. **Trust**: The hook is marked as "trusted" for this project.
423
423
 
424
424
  > **Modification detection**: If the `command` string of a project hook is
425
- > changed (e.g., by a `git pull`), its identity changes. Cell CLI will treat it
426
- > as a **new, untrusted hook** and warn you again. This prevents malicious
427
- > actors from silently swapping a verified command for a malicious one.
425
+ > changed (for example, by a `git pull`), its identity changes. Cell CLI will
426
+ > treat it as a **new, untrusted hook** and warn you again. This prevents
427
+ > malicious actors from silently swapping a verified command for a malicious
428
+ > one.
428
429
 
429
430
  ### Risks
430
431
 
@@ -441,17 +442,17 @@ When you open a project with hooks defined in `.cell-cli/settings.json`:
441
442
  **Verify the source** of any project hooks or extensions before enabling them.
442
443
 
443
444
  - For open-source projects, a quick review of the hook scripts is recommended.
444
- - For extensions, ensure you trust the author or publisher (e.g., verified
445
- publishers, well-known community members).
445
+ - For extensions, ensure you trust the author or publisher (for example,
446
+ verified publishers, well-known community members).
446
447
  - Be cautious with obfuscated scripts or compiled binaries from unknown sources.
447
448
 
448
449
  #### Sanitize environment
449
450
 
450
- Hooks inherit the environment of the Cell CLI process, which may include
451
- sensitive API keys. Cell CLI provides a
451
+ Hooks inherit the environment of Cell CLI process, which may include sensitive
452
+ API keys. Cell CLI provides a
452
453
  [redaction system](../reference/configuration.md#environment-variable-redaction)
453
- that automatically filters variables matching sensitive patterns (e.g., `KEY`,
454
- `TOKEN`).
454
+ that automatically filters variables matching sensitive patterns (for example,
455
+ `KEY`, `TOKEN`).
455
456
 
456
457
  > **Disabled by Default**: Environment redaction is currently **OFF by
457
458
  > default**. We strongly recommend enabling it if you are running third-party
@@ -511,7 +512,7 @@ chmod +x .cell-cli/hooks/my-hook.sh
511
512
  ```
512
513
 
513
514
  **Windows Note**: On Windows, ensure your execution policy allows running
514
- scripts (e.g., `Get-ExecutionPolicy`).
515
+ scripts (for example, `Get-ExecutionPolicy`).
515
516
 
516
517
  **Verify script path:** Ensure the path in `settings.json` resolves correctly.
517
518
 
@@ -63,9 +63,9 @@ Hooks communicate via `stdin` (Input) and `stdout` (Output).
63
63
  2. **Pollution = Failure**: If `stdout` contains non-JSON text, parsing will
64
64
  fail. The CLI will default to "Allow" and treat the entire output as a
65
65
  `systemMessage`.
66
- 3. **Debug via Stderr**: Use `stderr` for **all** logging and debugging (e.g.,
67
- `echo "debug" >&2`). Cell CLI captures `stderr` but never attempts to parse
68
- it as JSON.
66
+ 3. **Debug via Stderr**: Use `stderr` for **all** logging and debugging (for
67
+ example, `echo "debug" >&2`). Cell CLI captures `stderr` but never attempts
68
+ to parse it as JSON.
69
69
 
70
70
  #### Exit codes
71
71
 
@@ -74,7 +74,7 @@ execution:
74
74
 
75
75
  | Exit Code | Label | Behavioral Impact |
76
76
  | --------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
77
- | **0** | **Success** | The `stdout` is parsed as JSON. **Preferred code** for all logic, including intentional blocks (e.g., `{"decision": "deny"}`). |
77
+ | **0** | **Success** | The `stdout` is parsed as JSON. **Preferred code** for all logic, including intentional blocks (for example, `{"decision": "deny"}`). |
78
78
  | **2** | **System Block** | **Critical Block**. The target action (tool, turn, or stop) is aborted. `stderr` is used as the rejection reason. High severity; used for security stops or script failures. |
79
79
  | **Other** | **Warning** | Non-fatal failure. A warning is shown, but the interaction proceeds using original parameters. |
80
80
 
@@ -84,8 +84,9 @@ You can filter which specific tools or triggers fire your hook using the
84
84
  `matcher` field.
85
85
 
86
86
  - **Tool events** (`BeforeTool`, `AfterTool`): Matchers are **Regular
87
- Expressions**. (e.g., `"write_.*"`).
88
- - **Lifecycle events**: Matchers are **Exact Strings**. (e.g., `"startup"`).
87
+ Expressions**. (for example, `"write_.*"`).
88
+ - **Lifecycle events**: Matchers are **Exact Strings**. (for example,
89
+ `"startup"`).
89
90
  - **Wildcards**: `"*"` or `""` (empty string) matches all occurrences.
90
91
 
91
92
  ## Configuration
@@ -137,6 +138,7 @@ multiple layers in the following order of precedence (highest to lowest):
137
138
  Hooks are executed with a sanitized environment.
138
139
 
139
140
  - `GEMINI_PROJECT_DIR`: The absolute path to the project root.
141
+ - `GEMINI_PLANS_DIR`: The absolute path to the plans directory.
140
142
  - `GEMINI_SESSION_ID`: The unique ID for the current session.
141
143
  - `GEMINI_CWD`: The current working directory.
142
144
  - `CLAUDE_PROJECT_DIR`: (Alias) Provided for compatibility.
@@ -151,8 +153,8 @@ Hooks are executed with a sanitized environment.
151
153
 
152
154
  **Project-level hooks** are particularly risky when opening untrusted projects.
153
155
  Cell CLI **fingerprints** project hooks. If a hook's name or command changes
154
- (e.g., via `git pull`), it is treated as a **new, untrusted hook** and you will
155
- be warned before it executes.
156
+ (for example, via `git pull`), it is treated as a **new, untrusted hook** and
157
+ you will be warned before it executes.
156
158
 
157
159
  See [Security Considerations](../hooks/best-practices.md#using-hooks-securely)
158
160
  for a detailed threat model.
@@ -20,8 +20,8 @@ JSON schemas and API details.
20
20
 
21
21
  ## Configuration schema
22
22
 
23
- Hooks are defined in `settings.json` within the `hooks` object. Each event
24
- (e.g., `BeforeTool`) contains an array of **hook definitions**.
23
+ Hooks are defined in `settings.json` within the `hooks` object. Each event (for
24
+ example, `BeforeTool`) contains an array of **hook definitions**.
25
25
 
26
26
  ### Hook definition
27
27
 
@@ -52,7 +52,7 @@ All hooks receive these common fields via `stdin`:
52
52
  "session_id": string, // Unique ID for the current session
53
53
  "transcript_path": string, // Absolute path to session transcript JSON
54
54
  "cwd": string, // Current working directory
55
- "hook_event_name": string, // The firing event (e.g. "BeforeTool")
55
+ "hook_event_name": string, // The firing event (for example "BeforeTool")
56
56
  "timestamp": string // ISO 8601 execution time
57
57
  }
58
58
  ```
@@ -81,12 +81,12 @@ Most hooks support these fields in their `stdout` JSON:
81
81
  For `BeforeTool` and `AfterTool` events, the `matcher` field in your settings is
82
82
  compared against the name of the tool being executed.
83
83
 
84
- - **Built-in Tools**: You can match any built-in tool (e.g., `read_file`,
84
+ - **Built-in Tools**: You can match any built-in tool (for example, `read_file`,
85
85
  `run_shell_command`). See the [Tools Reference](../reference/tools) for a full
86
86
  list of available tool names.
87
87
  - **MCP Tools**: Tools from MCP servers follow the naming pattern
88
88
  `mcp_<server_name>_<tool_name>`.
89
- - **Regex Support**: Matchers support regular expressions (e.g.,
89
+ - **Regex Support**: Matchers support regular expressions (for example,
90
90
  `matcher: "read_.*"` matches all file reading tools).
91
91
 
92
92
  ### `BeforeTool`
@@ -194,7 +194,7 @@ request format.
194
194
  (generation params).
195
195
  - **Relevant Output Fields**:
196
196
  - `hookSpecificOutput.llm_request`: An object that **overrides** parts of the
197
- outgoing request (e.g., changing models or temperature).
197
+ outgoing request (for example, changing models or temperature).
198
198
  - `hookSpecificOutput.llm_response`: A **Synthetic Response** object. If
199
199
  provided, the CLI skips the LLM call entirely and uses this as the response.
200
200
  - `decision`: Set to `"deny"` to block the request and abort the turn.
@@ -271,14 +271,14 @@ telemetry.
271
271
 
272
272
  ### `Notification`
273
273
 
274
- Fires when the CLI emits a system alert (e.g., Tool Permissions). Used for
275
- external logging or cross-platform alerts.
274
+ Fires when the CLI emits a system alert (for example, Tool Permissions). Used
275
+ for external logging or cross-platform alerts.
276
276
 
277
277
  - **Input Fields**:
278
278
  - `notification_type`: (`"ToolPermission"`)
279
279
  - `message`: Summary of the alert.
280
- - `details`: JSON object with alert-specific metadata (e.g., tool name, file
281
- path).
280
+ - `details`: JSON object with alert-specific metadata (for example, tool name,
281
+ file path).
282
282
  - **Relevant Output Fields**:
283
283
  - `systemMessage`: Displayed alongside the system alert.
284
284
  - **Observability Only**: This hook **cannot** block alerts or grant permissions
@@ -20,9 +20,9 @@ Protocol (MCP)**.
20
20
 
21
21
  - **Protocol:** The server must be a valid MCP server. We recommend using an
22
22
  existing MCP SDK for your language of choice if available.
23
- - **Endpoint:** The server should expose a single endpoint (e.g., `/mcp`) for
24
- all MCP communication.
25
- - **Port:** The server **MUST** listen on a dynamically assigned port (i.e.,
23
+ - **Endpoint:** The server should expose a single endpoint (for example, `/mcp`)
24
+ for all MCP communication.
25
+ - **Port:** The server **MUST** listen on a dynamically assigned port (that is,
26
26
  listen on port `0`).
27
27
 
28
28
  ### 2. Discovery mechanism: The port file
@@ -68,15 +68,15 @@ creating a "discovery file."
68
68
  The CLI will include this token in an `Authorization: Bearer <token>` header
69
69
  on all requests.
70
70
  - `ideInfo` (object, required): Information about the IDE.
71
- - `name` (string, required): A short, lowercase identifier for the IDE
72
- (e.g., `vscode`, `jetbrains`).
73
- - `displayName` (string, required): A user-friendly name for the IDE (e.g.,
74
- `VS Code`, `JetBrains IDE`).
71
+ - `name` (string, required): A short, lowercase identifier for the IDE (for
72
+ example, `vscode`, `jetbrains`).
73
+ - `displayName` (string, required): A user-friendly name for the IDE (for
74
+ example, `VS Code`, `JetBrains IDE`).
75
75
 
76
76
  - **Authentication:** To secure the connection, the plugin **MUST** generate a
77
77
  unique, secret token and include it in the discovery file. The CLI will then
78
78
  include this token in the `Authorization` header for all requests to the MCP
79
- server (e.g., `Authorization: Bearer a-very-secret-token`). Your server
79
+ server (for example, `Authorization: Bearer a-very-secret-token`). Your server
80
80
  **MUST** validate this token on every request and reject any that are
81
81
  unauthorized.
82
82
  - **Tie-breaking with environment variables (recommended):** For the most
@@ -135,7 +135,7 @@ to the CLI whenever the user's context changes.
135
135
  <!-- prettier-ignore -->
136
136
  > [!NOTE]
137
137
  > The `openFiles` list should only include files that exist on disk.
138
- > Virtual files (e.g., unsaved files without a path, editor settings pages)
138
+ > Virtual files (for example, unsaved files without a path, editor settings pages)
139
139
  > **MUST** be excluded.
140
140
 
141
141
  ### How the CLI uses this context
@@ -188,7 +188,7 @@ The plugin **MUST** register an `openDiff` tool on its MCP server.
188
188
  `CallToolResult` to acknowledge the request and report whether the diff view
189
189
  was successfully opened.
190
190
  - On Success: If the diff view was opened successfully, the response **MUST**
191
- contain empty content (i.e., `content: []`).
191
+ contain empty content (that is, `content: []`).
192
192
  - On Failure: If an error prevented the diff view from opening, the response
193
193
  **MUST** have `isError: true` and include a `TextContent` block in the
194
194
  `content` array describing the error.
@@ -223,9 +223,9 @@ The plugin **MUST** register a `closeDiff` tool on its MCP server.
223
223
 
224
224
  ### `ide/diffAccepted` notification
225
225
 
226
- When the user accepts the changes in a diff view (e.g., by clicking an "Apply"
227
- or "Save" button), the plugin **MUST** send an `ide/diffAccepted` notification
228
- to the CLI.
226
+ When the user accepts the changes in a diff view (for example, by clicking an
227
+ "Apply" or "Save" button), the plugin **MUST** send an `ide/diffAccepted`
228
+ notification to the CLI.
229
229
 
230
230
  - **Payload:** The notification parameters **MUST** include the file path and
231
231
  the final content of the file. The content may differ from the original
@@ -242,7 +242,7 @@ to the CLI.
242
242
 
243
243
  ### `ide/diffRejected` notification
244
244
 
245
- When the user rejects the changes (e.g., by closing the diff view without
245
+ When the user rejects the changes (for example, by closing the diff view without
246
246
  accepting), the plugin **MUST** send an `ide/diffRejected` notification to the
247
247
  CLI.
248
248
 
@@ -131,7 +131,7 @@ editor.
131
131
  **To accept a diff**, you can perform any of the following actions:
132
132
 
133
133
  - Click the **checkmark icon** in the diff editor's title bar.
134
- - Save the file (e.g., with `Cmd+S` or `Ctrl+S`).
134
+ - Save the file (for example, with `Cmd+S` or `Ctrl+S`).
135
135
  - Open the Command Palette and run **Cell CLI: Accept Diff**.
136
136
  - Respond with `yes` in the CLI when prompted.
137
137
 
@@ -207,7 +207,7 @@ through their in-built registry features.
207
207
 
208
208
  ## Using with sandboxing
209
209
 
210
- If you are using Cell CLI within a sandbox, please be aware of the following:
210
+ If you are using Cell CLI within a sandbox, be aware of the following:
211
211
 
212
212
  - **On macOS:** The IDE integration requires network access to communicate with
213
213
  the IDE companion extension. You must use a Seatbelt profile that allows
@@ -298,5 +298,5 @@ connect using the provided PID.
298
298
 
299
299
  ### ACP integration errors
300
300
 
301
- For issues related to ACP integration, please refer to the debugging and
302
- telemetry section in the [ACP Mode](../cli/acp-mode.md) documentation.
301
+ For issues related to ACP integration, refer to the debugging and telemetry
302
+ section in the [ACP Mode](../cli/acp-mode.md) documentation.
@@ -15,9 +15,9 @@ npm install -g @google/gemini-cli
15
15
  Jump in to Cell CLI.
16
16
 
17
17
  - **[Quickstart](./get-started/index.md):** Your first session with Cell CLI.
18
- - **[Installation](./get-started/installation.md):** How to install Cell CLI on
18
+ - **[Installation](./get-started/installation.mdx):** How to install Cell CLI on
19
19
  your system.
20
- - **[Authentication](./get-started/authentication.md):** Setup instructions for
20
+ - **[Authentication](./get-started/authentication.mdx):** Setup instructions for
21
21
  personal and enterprise accounts.
22
22
  - **[CLI cheatsheet](./cli/cli-reference.md):** A quick reference for common
23
23
  commands and options.
@@ -6,8 +6,8 @@ in this project.
6
6
  ## Overview
7
7
 
8
8
  The integration tests are designed to validate the end-to-end functionality of
9
- the Cell CLI. They execute the built binary in a controlled environment and
10
- verify that it behaves as expected when interacting with the file system.
9
+ Cell CLI. They execute the built binary in a controlled environment and verify
10
+ that it behaves as expected when interacting with the file system.
11
11
 
12
12
  These tests are located in the `integration-tests` directory and are run using a
13
13
  custom test runner.
@@ -117,6 +117,88 @@ npm run test:integration:sandbox:docker
117
117
  npm run test:integration:sandbox:podman
118
118
  ```
119
119
 
120
+ ## Memory regression tests
121
+
122
+ Memory regression tests are designed to detect heap growth and leaks across key
123
+ CLI scenarios. They are located in the `memory-tests` directory.
124
+
125
+ These tests are distinct from standard integration tests because they measure
126
+ memory usage and compare it against committed baselines.
127
+
128
+ ### Running memory tests
129
+
130
+ Memory tests are not run as part of the default `npm run test` or
131
+ `npm run test:e2e` commands. They are run nightly in CI but can be run manually:
132
+
133
+ ```bash
134
+ npm run test:memory
135
+ ```
136
+
137
+ ### Updating baselines
138
+
139
+ If you intentionally change behavior that affects memory usage, you may need to
140
+ update the baselines. Set the `UPDATE_MEMORY_BASELINES` environment variable to
141
+ `true`:
142
+
143
+ ```bash
144
+ UPDATE_MEMORY_BASELINES=true npm run test:memory
145
+ ```
146
+
147
+ This will run the tests, take median snapshots, and overwrite
148
+ `memory-tests/baselines.json`. You should review the changes and commit the
149
+ updated baseline file.
150
+
151
+ ### How it works
152
+
153
+ The harness (`MemoryTestHarness` in `packages/test-utils`):
154
+
155
+ - Forces garbage collection multiple times to reduce noise.
156
+ - Takes median snapshots to filter spikes.
157
+ - Compares against baselines with a 10% tolerance.
158
+ - Can analyze sustained leaks across 3 snapshots using `analyzeSnapshots()`.
159
+
160
+ ## Performance regression tests
161
+
162
+ Performance regression tests are designed to detect wall-clock time, CPU usage,
163
+ and event loop delay regressions across key CLI scenarios. They are located in
164
+ the `perf-tests` directory.
165
+
166
+ These tests are distinct from standard integration tests because they measure
167
+ performance metrics and compare it against committed baselines.
168
+
169
+ ### Running performance tests
170
+
171
+ Performance tests are not run as part of the default `npm run test` or
172
+ `npm run test:e2e` commands. They are run nightly in CI but can be run manually:
173
+
174
+ ```bash
175
+ npm run test:perf
176
+ ```
177
+
178
+ ### Updating baselines
179
+
180
+ If you intentionally change behavior that affects performance, you may need to
181
+ update the baselines. Set the `UPDATE_PERF_BASELINES` environment variable to
182
+ `true`:
183
+
184
+ ```bash
185
+ UPDATE_PERF_BASELINES=true npm run test:perf
186
+ ```
187
+
188
+ This will run the tests multiple times (with warmup), apply IQR outlier
189
+ filtering, and overwrite `perf-tests/baselines.json`. You should review the
190
+ changes and commit the updated baseline file.
191
+
192
+ ### How it works
193
+
194
+ The harness (`PerfTestHarness` in `packages/test-utils`):
195
+
196
+ - Measures wall-clock time using `performance.now()`.
197
+ - Measures CPU usage using `process.cpuUsage()`.
198
+ - Monitors event loop delay using `perf_hooks.monitorEventLoopDelay()`.
199
+ - Applies IQR (Interquartile Range) filtering to remove outlier samples.
200
+ - Compares against baselines with a 15% tolerance.
201
+
120
202
  ## Diagnostics
121
203
 
122
204
  The integration test runner provides several options for diagnostics to help
@@ -37,8 +37,8 @@ is to perform an initial analysis and apply the correct labels.
37
37
  - It uses a Gemini model to analyze the issue's title and body against a
38
38
  detailed set of guidelines.
39
39
  - **Applies one `area/*` label**: Categorizes the issue into a functional area
40
- of the project (e.g., `area/ux`, `area/models`, `area/platform`).
41
- - **Applies one `kind/*` label**: Identifies the type of issue (e.g.,
40
+ of the project (for example, `area/ux`, `area/models`, `area/platform`).
41
+ - **Applies one `kind/*` label**: Identifies the type of issue (for example,
42
42
  `kind/bug`, `kind/enhancement`, `kind/question`).
43
43
  - **Applies one `priority/*` label**: Assigns a priority from P0 (critical) to
44
44
  P3 (low) based on the described impact.
@@ -50,8 +50,8 @@ is to perform an initial analysis and apply the correct labels.
50
50
  - **What you should do**:
51
51
  - Fill out the issue template as completely as possible. The more detail you
52
52
  provide, the more accurate the triage will be.
53
- - If the `status/need-information` label is added, please provide the
54
- requested details in a comment.
53
+ - If the `status/need-information` label is added, provide the requested
54
+ details in a comment.
55
55
 
56
56
  ### 2. When you open a pull request: `Continuous Integration (CI)`
57
57
 
@@ -84,7 +84,8 @@ issues and have consistent labels.
84
84
  - **When it runs**: Every 15 minutes on all open pull requests.
85
85
  - **What it does**:
86
86
  - **Checks for a linked issue**: The bot scans your PR description for a
87
- keyword that links it to an issue (e.g., `Fixes #123`, `Closes #456`).
87
+ keyword that links it to an issue (for example, `Fixes #123`,
88
+ `Closes #456`).
88
89
  - **Adds `status/need-issue`**: If no linked issue is found, the bot will add
89
90
  the `status/need-issue` label to your PR. This is a clear signal that an
90
91
  issue needs to be created and linked.
@@ -156,7 +157,7 @@ and will never be auto-unassigned.
156
157
  ### 6. Release automation
157
158
 
158
159
  This workflow handles the process of packaging and publishing new versions of
159
- the Cell CLI.
160
+ Cell CLI.
160
161
 
161
162
  - **Workflow File**: `.github/workflows/release-manual.yml`
162
163
  - **When it runs**: On a daily schedule for "nightly" releases, and manually for
@@ -171,4 +172,4 @@ the Cell CLI.
171
172
  will be included in the very next nightly release.
172
173
 
173
174
  We hope this detailed overview is helpful. If you have any questions about our
174
- automation or processes, please don't hesitate to ask!
175
+ automation or processes, don't hesitate to ask!
package/dist/docs/npm.md CHANGED
@@ -5,8 +5,8 @@ This monorepo contains two main packages: `@google/gemini-cli` and
5
5
 
6
6
  ## `@google/gemini-cli`
7
7
 
8
- This is the main package for the Cell CLI. It is responsible for the user
9
- interface, command parsing, and all other user-facing functionality.
8
+ This is the main package for Cell CLI. It is responsible for the user interface,
9
+ command parsing, and all other user-facing functionality.
10
10
 
11
11
  When this package is published, it is bundled into a single executable file.
12
12
  This bundle includes all of the package's dependencies, including