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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (825) 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/browser-tools-manifest.json +20 -20
  109. package/dist/src/agents/browser/browserAgentInvocation.d.ts +2 -2
  110. package/dist/src/agents/browser/browserAgentInvocation.js +2 -1
  111. package/dist/src/agents/browser/browserAgentInvocation.js.map +1 -1
  112. package/dist/src/agents/browser/browserAgentInvocation.test.js +61 -17
  113. package/dist/src/agents/browser/browserAgentInvocation.test.js.map +1 -1
  114. package/dist/src/agents/browser/mcpToolWrapper.js +1 -1
  115. package/dist/src/agents/browser/mcpToolWrapper.js.map +1 -1
  116. package/dist/src/agents/browser/mcpToolWrapper.test.js +22 -10
  117. package/dist/src/agents/browser/mcpToolWrapper.test.js.map +1 -1
  118. package/dist/src/agents/codebase-investigator.js +2 -2
  119. package/dist/src/agents/codebase-investigator.js.map +1 -1
  120. package/dist/src/agents/generalist-agent.js +3 -2
  121. package/dist/src/agents/generalist-agent.js.map +1 -1
  122. package/dist/src/agents/generalist-agent.test.js +1 -0
  123. package/dist/src/agents/generalist-agent.test.js.map +1 -1
  124. package/dist/src/agents/local-executor.d.ts +1 -1
  125. package/dist/src/agents/local-executor.js +10 -7
  126. package/dist/src/agents/local-executor.js.map +1 -1
  127. package/dist/src/agents/local-executor.test.js +5 -3
  128. package/dist/src/agents/local-executor.test.js.map +1 -1
  129. package/dist/src/agents/local-invocation.d.ts +2 -2
  130. package/dist/src/agents/local-invocation.js +8 -2
  131. package/dist/src/agents/local-invocation.js.map +1 -1
  132. package/dist/src/agents/local-invocation.test.js +29 -13
  133. package/dist/src/agents/local-invocation.test.js.map +1 -1
  134. package/dist/src/agents/registry.d.ts +2 -0
  135. package/dist/src/agents/registry.js +20 -19
  136. package/dist/src/agents/registry.js.map +1 -1
  137. package/dist/src/agents/registry.test.js +19 -30
  138. package/dist/src/agents/registry.test.js.map +1 -1
  139. package/dist/src/agents/remote-invocation.d.ts +3 -4
  140. package/dist/src/agents/remote-invocation.js +2 -1
  141. package/dist/src/agents/remote-invocation.js.map +1 -1
  142. package/dist/src/agents/remote-invocation.test.js +45 -18
  143. package/dist/src/agents/remote-invocation.test.js.map +1 -1
  144. package/dist/src/agents/skill-extraction-agent.d.ts +3 -2
  145. package/dist/src/agents/skill-extraction-agent.js +99 -56
  146. package/dist/src/agents/skill-extraction-agent.js.map +1 -1
  147. package/dist/src/agents/skill-extraction-agent.test.js +54 -0
  148. package/dist/src/agents/skill-extraction-agent.test.js.map +1 -0
  149. package/dist/src/availability/policyCatalog.js +1 -1
  150. package/dist/src/availability/policyCatalog.js.map +1 -1
  151. package/dist/src/availability/policyCatalog.test.js +1 -1
  152. package/dist/src/availability/policyCatalog.test.js.map +1 -1
  153. package/dist/src/code_assist/oauth2.js +14 -4
  154. package/dist/src/code_assist/oauth2.js.map +1 -1
  155. package/dist/src/commands/memory.d.ts +77 -0
  156. package/dist/src/commands/memory.js +494 -0
  157. package/dist/src/commands/memory.js.map +1 -1
  158. package/dist/src/commands/memory.test.js +720 -1
  159. package/dist/src/commands/memory.test.js.map +1 -1
  160. package/dist/src/config/config-agents-reload.test.js +26 -31
  161. package/dist/src/config/config-agents-reload.test.js.map +1 -1
  162. package/dist/src/config/config.d.ts +24 -10
  163. package/dist/src/config/config.js +148 -82
  164. package/dist/src/config/config.js.map +1 -1
  165. package/dist/src/config/config.test.js +373 -10
  166. package/dist/src/config/config.test.js.map +1 -1
  167. package/dist/src/config/constants.d.ts +1 -0
  168. package/dist/src/config/constants.js +2 -0
  169. package/dist/src/config/constants.js.map +1 -1
  170. package/dist/src/config/defaultModelConfigs.js +7 -7
  171. package/dist/src/config/defaultModelConfigs.js.map +1 -1
  172. package/dist/src/config/memory.js +1 -1
  173. package/dist/src/config/memory.js.map +1 -1
  174. package/dist/src/config/path-validation.test.js +15 -6
  175. package/dist/src/config/path-validation.test.js.map +1 -1
  176. package/dist/src/config/projectRegistry.js +113 -32
  177. package/dist/src/config/projectRegistry.js.map +1 -1
  178. package/dist/src/config/projectRegistry.test.js +51 -0
  179. package/dist/src/config/projectRegistry.test.js.map +1 -1
  180. package/dist/src/config/storage.d.ts +5 -1
  181. package/dist/src/config/storage.js +14 -1
  182. package/dist/src/config/storage.js.map +1 -1
  183. package/dist/src/config/storage.test.js +12 -0
  184. package/dist/src/config/storage.test.js.map +1 -1
  185. package/dist/src/confirmation-bus/message-bus.d.ts +4 -1
  186. package/dist/src/confirmation-bus/message-bus.js +39 -1
  187. package/dist/src/confirmation-bus/message-bus.js.map +1 -1
  188. package/dist/src/confirmation-bus/message-bus.test.js +43 -0
  189. package/dist/src/confirmation-bus/message-bus.test.js.map +1 -1
  190. package/dist/src/context/config/configLoader.d.ts +13 -0
  191. package/dist/src/context/config/configLoader.js +65 -0
  192. package/dist/src/context/config/configLoader.js.map +1 -0
  193. package/dist/src/context/config/configLoader.test.d.ts +6 -0
  194. package/dist/src/context/config/configLoader.test.js +79 -0
  195. package/dist/src/context/config/configLoader.test.js.map +1 -0
  196. package/dist/src/context/config/profiles.d.ts +17 -0
  197. package/dist/src/context/config/profiles.js +93 -0
  198. package/dist/src/context/config/profiles.js.map +1 -0
  199. package/dist/src/context/config/registry.d.ts +21 -0
  200. package/dist/src/context/config/registry.js +32 -0
  201. package/dist/src/context/config/registry.js.map +1 -0
  202. package/dist/src/context/config/schema.d.ts +45 -0
  203. package/dist/src/context/config/schema.js +47 -0
  204. package/dist/src/context/config/schema.js.map +1 -0
  205. package/dist/src/context/config/types.d.ts +39 -0
  206. package/dist/src/context/config/types.js +7 -0
  207. package/dist/src/context/config/types.js.map +1 -0
  208. package/dist/src/context/contextManager.barrier.test.d.ts +6 -0
  209. package/dist/src/context/contextManager.barrier.test.js +56 -0
  210. package/dist/src/context/contextManager.barrier.test.js.map +1 -0
  211. package/dist/src/context/contextManager.d.ts +49 -0
  212. package/dist/src/context/contextManager.js +120 -0
  213. package/dist/src/context/contextManager.js.map +1 -0
  214. package/dist/src/context/eventBus.d.ts +28 -0
  215. package/dist/src/context/eventBus.js +27 -0
  216. package/dist/src/context/eventBus.js.map +1 -0
  217. package/dist/src/context/graph/behaviorRegistry.d.ts +28 -0
  218. package/dist/src/context/graph/behaviorRegistry.js +14 -0
  219. package/dist/src/context/graph/behaviorRegistry.js.map +1 -0
  220. package/dist/src/context/graph/builtinBehaviors.d.ts +11 -0
  221. package/dist/src/context/graph/builtinBehaviors.js +145 -0
  222. package/dist/src/context/graph/builtinBehaviors.js.map +1 -0
  223. package/dist/src/context/graph/fromGraph.d.ts +9 -0
  224. package/dist/src/context/graph/fromGraph.js +34 -0
  225. package/dist/src/context/graph/fromGraph.js.map +1 -0
  226. package/dist/src/context/graph/mapper.d.ts +16 -0
  227. package/dist/src/context/graph/mapper.js +16 -0
  228. package/dist/src/context/graph/mapper.js.map +1 -0
  229. package/dist/src/context/graph/render.d.ts +15 -0
  230. package/dist/src/context/graph/render.js +72 -0
  231. package/dist/src/context/graph/render.js.map +1 -0
  232. package/dist/src/context/graph/toGraph.d.ts +10 -0
  233. package/dist/src/context/graph/toGraph.js +172 -0
  234. package/dist/src/context/graph/toGraph.js.map +1 -0
  235. package/dist/src/context/graph/types.d.ts +139 -0
  236. package/dist/src/context/graph/types.js +36 -0
  237. package/dist/src/context/graph/types.js.map +1 -0
  238. package/dist/src/context/historyObserver.d.ts +27 -0
  239. package/dist/src/context/historyObserver.js +64 -0
  240. package/dist/src/context/historyObserver.js.map +1 -0
  241. package/dist/src/context/pipeline/contextWorkingBuffer.d.ts +33 -0
  242. package/dist/src/context/pipeline/contextWorkingBuffer.js +197 -0
  243. package/dist/src/context/pipeline/contextWorkingBuffer.js.map +1 -0
  244. package/dist/src/context/pipeline/contextWorkingBuffer.test.d.ts +6 -0
  245. package/dist/src/context/pipeline/contextWorkingBuffer.test.js +89 -0
  246. package/dist/src/context/pipeline/contextWorkingBuffer.test.js.map +1 -0
  247. package/dist/src/context/pipeline/environment.d.ts +27 -0
  248. package/dist/src/context/pipeline/environment.js +2 -0
  249. package/dist/src/context/pipeline/environment.js.map +1 -0
  250. package/dist/src/context/pipeline/environmentImpl.d.ts +28 -0
  251. package/dist/src/context/pipeline/environmentImpl.js +40 -0
  252. package/dist/src/context/pipeline/environmentImpl.js.map +1 -0
  253. package/dist/src/context/pipeline/environmentImpl.test.d.ts +1 -0
  254. package/dist/src/context/pipeline/environmentImpl.test.js +32 -0
  255. package/dist/src/context/pipeline/environmentImpl.test.js.map +1 -0
  256. package/dist/src/context/pipeline/inbox.d.ts +15 -0
  257. package/dist/src/context/pipeline/inbox.js +52 -0
  258. package/dist/src/context/pipeline/inbox.js.map +1 -0
  259. package/dist/src/context/pipeline/inbox.test.d.ts +1 -0
  260. package/dist/src/context/pipeline/inbox.test.js +36 -0
  261. package/dist/src/context/pipeline/inbox.test.js.map +1 -0
  262. package/dist/src/context/pipeline/orchestrator.d.ts +22 -0
  263. package/dist/src/context/pipeline/orchestrator.js +126 -0
  264. package/dist/src/context/pipeline/orchestrator.js.map +1 -0
  265. package/dist/src/context/pipeline/orchestrator.test.d.ts +6 -0
  266. package/dist/src/context/pipeline/orchestrator.test.js +154 -0
  267. package/dist/src/context/pipeline/orchestrator.test.js.map +1 -0
  268. package/dist/src/context/pipeline.d.ts +52 -0
  269. package/dist/src/context/pipeline.js +7 -0
  270. package/dist/src/context/pipeline.js.map +1 -0
  271. package/dist/src/context/processors/blobDegradationProcessor.d.ts +6 -0
  272. package/dist/src/context/processors/blobDegradationProcessor.js +127 -0
  273. package/dist/src/context/processors/blobDegradationProcessor.js.map +1 -0
  274. package/dist/src/context/processors/blobDegradationProcessor.test.d.ts +6 -0
  275. package/dist/src/context/processors/blobDegradationProcessor.test.js +72 -0
  276. package/dist/src/context/processors/blobDegradationProcessor.test.js.map +1 -0
  277. package/dist/src/context/processors/historyTruncationProcessor.d.ts +11 -0
  278. package/dist/src/context/processors/historyTruncationProcessor.js +61 -0
  279. package/dist/src/context/processors/historyTruncationProcessor.js.map +1 -0
  280. package/dist/src/context/processors/nodeDistillationProcessor.d.ts +8 -0
  281. package/dist/src/context/processors/nodeDistillationProcessor.js +167 -0
  282. package/dist/src/context/processors/nodeDistillationProcessor.js.map +1 -0
  283. package/dist/src/context/processors/nodeDistillationProcessor.test.d.ts +6 -0
  284. package/dist/src/context/processors/nodeDistillationProcessor.test.js +77 -0
  285. package/dist/src/context/processors/nodeDistillationProcessor.test.js.map +1 -0
  286. package/dist/src/context/processors/nodeTruncationProcessor.d.ts +8 -0
  287. package/dist/src/context/processors/nodeTruncationProcessor.js +109 -0
  288. package/dist/src/context/processors/nodeTruncationProcessor.js.map +1 -0
  289. package/dist/src/context/processors/nodeTruncationProcessor.test.d.ts +6 -0
  290. package/dist/src/context/processors/nodeTruncationProcessor.test.js +71 -0
  291. package/dist/src/context/processors/nodeTruncationProcessor.test.js.map +1 -0
  292. package/dist/src/context/processors/rollingSummaryProcessor.d.ts +8 -0
  293. package/dist/src/context/processors/rollingSummaryProcessor.js +129 -0
  294. package/dist/src/context/processors/rollingSummaryProcessor.js.map +1 -0
  295. package/dist/src/context/processors/rollingSummaryProcessor.test.d.ts +1 -0
  296. package/dist/src/context/processors/rollingSummaryProcessor.test.js +60 -0
  297. package/dist/src/context/processors/rollingSummaryProcessor.test.js.map +1 -0
  298. package/dist/src/context/processors/stateSnapshotAsyncProcessor.d.ts +9 -0
  299. package/dist/src/context/processors/stateSnapshotAsyncProcessor.js +75 -0
  300. package/dist/src/context/processors/stateSnapshotAsyncProcessor.js.map +1 -0
  301. package/dist/src/context/processors/stateSnapshotAsyncProcessor.test.d.ts +1 -0
  302. package/dist/src/context/processors/stateSnapshotAsyncProcessor.test.js +80 -0
  303. package/dist/src/context/processors/stateSnapshotAsyncProcessor.test.js.map +1 -0
  304. package/dist/src/context/processors/stateSnapshotProcessor.d.ts +9 -0
  305. package/dist/src/context/processors/stateSnapshotProcessor.js +130 -0
  306. package/dist/src/context/processors/stateSnapshotProcessor.js.map +1 -0
  307. package/dist/src/context/processors/stateSnapshotProcessor.test.d.ts +1 -0
  308. package/dist/src/context/processors/stateSnapshotProcessor.test.js +91 -0
  309. package/dist/src/context/processors/stateSnapshotProcessor.test.js.map +1 -0
  310. package/dist/src/context/processors/toolMaskingProcessor.d.ts +8 -0
  311. package/dist/src/context/processors/toolMaskingProcessor.js +194 -0
  312. package/dist/src/context/processors/toolMaskingProcessor.js.map +1 -0
  313. package/dist/src/context/processors/toolMaskingProcessor.test.d.ts +1 -0
  314. package/dist/src/context/processors/toolMaskingProcessor.test.js +50 -0
  315. package/dist/src/context/processors/toolMaskingProcessor.test.js.map +1 -0
  316. package/dist/src/context/system-tests/lifecycle.golden.test.d.ts +6 -0
  317. package/dist/src/context/system-tests/lifecycle.golden.test.js +195 -0
  318. package/dist/src/context/system-tests/lifecycle.golden.test.js.map +1 -0
  319. package/dist/src/context/system-tests/simulationHarness.d.ts +41 -0
  320. package/dist/src/context/system-tests/simulationHarness.js +88 -0
  321. package/dist/src/context/system-tests/simulationHarness.js.map +1 -0
  322. package/dist/src/context/testing/contextTestUtils.d.ts +44 -0
  323. package/dist/src/context/testing/contextTestUtils.js +176 -0
  324. package/dist/src/context/testing/contextTestUtils.js.map +1 -0
  325. package/dist/src/context/testing/testProfile.d.ts +7 -0
  326. package/dist/src/context/testing/testProfile.js +20 -0
  327. package/dist/src/context/testing/testProfile.js.map +1 -0
  328. package/dist/src/context/tracer.d.ts +19 -0
  329. package/dist/src/context/tracer.js +79 -0
  330. package/dist/src/context/tracer.js.map +1 -0
  331. package/dist/src/context/tracer.test.d.ts +6 -0
  332. package/dist/src/context/tracer.test.js +71 -0
  333. package/dist/src/context/tracer.test.js.map +1 -0
  334. package/dist/src/context/utils/contextTokenCalculator.d.ts +53 -0
  335. package/dist/src/context/utils/contextTokenCalculator.js +97 -0
  336. package/dist/src/context/utils/contextTokenCalculator.js.map +1 -0
  337. package/dist/src/context/utils/snapshotGenerator.d.ts +12 -0
  338. package/dist/src/context/utils/snapshotGenerator.js +43 -0
  339. package/dist/src/context/utils/snapshotGenerator.js.map +1 -0
  340. package/dist/src/core/agentChatHistory.d.ts +26 -0
  341. package/dist/src/core/agentChatHistory.js +50 -0
  342. package/dist/src/core/agentChatHistory.js.map +1 -0
  343. package/dist/src/core/client.js +3 -1
  344. package/dist/src/core/client.js.map +1 -1
  345. package/dist/src/core/client.test.js +4 -0
  346. package/dist/src/core/client.test.js.map +1 -1
  347. package/dist/src/core/contentGenerator.d.ts +8 -1
  348. package/dist/src/core/contentGenerator.js +46 -4
  349. package/dist/src/core/contentGenerator.js.map +1 -1
  350. package/dist/src/core/contentGenerator.test.js +174 -8
  351. package/dist/src/core/contentGenerator.test.js.map +1 -1
  352. package/dist/src/core/coreToolHookTriggers.d.ts +1 -1
  353. package/dist/src/core/coreToolHookTriggers.js +5 -1
  354. package/dist/src/core/coreToolHookTriggers.js.map +1 -1
  355. package/dist/src/core/coreToolHookTriggers.test.js +1 -1
  356. package/dist/src/core/coreToolHookTriggers.test.js.map +1 -1
  357. package/dist/src/core/geminiChat.d.ts +2 -1
  358. package/dist/src/core/geminiChat.js +7 -2
  359. package/dist/src/core/geminiChat.js.map +1 -1
  360. package/dist/src/core/geminiChat.test.js +19 -6
  361. package/dist/src/core/geminiChat.test.js.map +1 -1
  362. package/dist/src/core/geminiChat_network_retry.test.js +42 -0
  363. package/dist/src/core/geminiChat_network_retry.test.js.map +1 -1
  364. package/dist/src/core/localLiteRtLmClient.js +2 -0
  365. package/dist/src/core/localLiteRtLmClient.js.map +1 -1
  366. package/dist/src/core/localLiteRtLmClient.test.js +7 -0
  367. package/dist/src/core/localLiteRtLmClient.test.js.map +1 -1
  368. package/dist/src/core/loggingContentGenerator.js +19 -6
  369. package/dist/src/core/loggingContentGenerator.js.map +1 -1
  370. package/dist/src/core/loggingContentGenerator.test.js +55 -0
  371. package/dist/src/core/loggingContentGenerator.test.js.map +1 -1
  372. package/dist/src/core/prompts-substitution.test.js +1 -0
  373. package/dist/src/core/prompts-substitution.test.js.map +1 -1
  374. package/dist/src/core/prompts.d.ts +1 -1
  375. package/dist/src/core/prompts.js +2 -2
  376. package/dist/src/core/prompts.js.map +1 -1
  377. package/dist/src/core/prompts.test.js +39 -8
  378. package/dist/src/core/prompts.test.js.map +1 -1
  379. package/dist/src/generated/git-commit.d.ts +2 -2
  380. package/dist/src/generated/git-commit.js +2 -2
  381. package/dist/src/hooks/hookRunner.js +8 -0
  382. package/dist/src/hooks/hookRunner.js.map +1 -1
  383. package/dist/src/hooks/hookRunner.test.js +23 -0
  384. package/dist/src/hooks/hookRunner.test.js.map +1 -1
  385. package/dist/src/ide/ide-client.js +3 -4
  386. package/dist/src/ide/ide-client.js.map +1 -1
  387. package/dist/src/index.d.ts +7 -3
  388. package/dist/src/index.js +7 -2
  389. package/dist/src/index.js.map +1 -1
  390. package/dist/src/mcp/mcpLauncher.js +1 -1
  391. package/dist/src/mcp/mcpLauncher.js.map +1 -1
  392. package/dist/src/mcp/oauth-provider.test.js +24 -17
  393. package/dist/src/mcp/oauth-provider.test.js.map +1 -1
  394. package/dist/src/policy/config.d.ts +2 -0
  395. package/dist/src/policy/config.js +67 -12
  396. package/dist/src/policy/config.js.map +1 -1
  397. package/dist/src/policy/core-tools-mapping.test.d.ts +6 -0
  398. package/dist/src/policy/core-tools-mapping.test.js +44 -0
  399. package/dist/src/policy/core-tools-mapping.test.js.map +1 -0
  400. package/dist/src/policy/policies/agents.toml +10 -0
  401. package/dist/src/policy/policies/plan.toml +17 -43
  402. package/dist/src/policy/policies/read-only.toml +24 -38
  403. package/dist/src/policy/policy-engine.d.ts +1 -1
  404. package/dist/src/policy/policy-engine.js +72 -67
  405. package/dist/src/policy/policy-engine.js.map +1 -1
  406. package/dist/src/policy/policy-engine.test.js +71 -4
  407. package/dist/src/policy/policy-engine.test.js.map +1 -1
  408. package/dist/src/policy/sandboxPolicyManager.js +4 -4
  409. package/dist/src/policy/sandboxPolicyManager.js.map +1 -1
  410. package/dist/src/policy/shell-safety-regression.test.d.ts +6 -0
  411. package/dist/src/policy/shell-safety-regression.test.js +86 -0
  412. package/dist/src/policy/shell-safety-regression.test.js.map +1 -0
  413. package/dist/src/policy/shell-safety.test.js +24 -0
  414. package/dist/src/policy/shell-safety.test.js.map +1 -1
  415. package/dist/src/policy/shell-substitution.test.d.ts +6 -0
  416. package/dist/src/policy/shell-substitution.test.js +75 -0
  417. package/dist/src/policy/shell-substitution.test.js.map +1 -0
  418. package/dist/src/policy/toml-loader.test.js +25 -11
  419. package/dist/src/policy/toml-loader.test.js.map +1 -1
  420. package/dist/src/policy/types.d.ts +6 -2
  421. package/dist/src/policy/types.js +4 -2
  422. package/dist/src/policy/types.js.map +1 -1
  423. package/dist/src/prompts/promptProvider.d.ts +1 -1
  424. package/dist/src/prompts/promptProvider.js +41 -24
  425. package/dist/src/prompts/promptProvider.js.map +1 -1
  426. package/dist/src/prompts/promptProvider.test.js +36 -2
  427. package/dist/src/prompts/promptProvider.test.js.map +1 -1
  428. package/dist/src/prompts/snippets-memory-v2.test.d.ts +6 -0
  429. package/dist/src/prompts/snippets-memory-v2.test.js +94 -0
  430. package/dist/src/prompts/snippets-memory-v2.test.js.map +1 -0
  431. package/dist/src/prompts/snippets.d.ts +19 -1
  432. package/dist/src/prompts/snippets.js +33 -6
  433. package/dist/src/prompts/snippets.js.map +1 -1
  434. package/dist/src/prompts/snippets.legacy.d.ts +6 -1
  435. package/dist/src/prompts/snippets.legacy.js +14 -7
  436. package/dist/src/prompts/snippets.legacy.js.map +1 -1
  437. package/dist/src/prompts/utils.test.js +1 -0
  438. package/dist/src/prompts/utils.test.js.map +1 -1
  439. package/dist/src/routing/modelRouterService.js +1 -1
  440. package/dist/src/routing/modelRouterService.js.map +1 -1
  441. package/dist/src/sandbox/linux/LinuxSandboxManager.d.ts +2 -0
  442. package/dist/src/sandbox/linux/LinuxSandboxManager.js +43 -19
  443. package/dist/src/sandbox/linux/LinuxSandboxManager.js.map +1 -1
  444. package/dist/src/sandbox/linux/LinuxSandboxManager.test.js +16 -0
  445. package/dist/src/sandbox/linux/LinuxSandboxManager.test.js.map +1 -1
  446. package/dist/src/sandbox/linux/bwrapArgsBuilder.d.ts +3 -7
  447. package/dist/src/sandbox/linux/bwrapArgsBuilder.js +96 -105
  448. package/dist/src/sandbox/linux/bwrapArgsBuilder.js.map +1 -1
  449. package/dist/src/sandbox/linux/bwrapArgsBuilder.test.js +144 -41
  450. package/dist/src/sandbox/linux/bwrapArgsBuilder.test.js.map +1 -1
  451. package/dist/src/sandbox/macos/MacOsSandboxManager.js +19 -10
  452. package/dist/src/sandbox/macos/MacOsSandboxManager.js.map +1 -1
  453. package/dist/src/sandbox/macos/MacOsSandboxManager.test.js +24 -37
  454. package/dist/src/sandbox/macos/MacOsSandboxManager.test.js.map +1 -1
  455. package/dist/src/sandbox/macos/seatbeltArgsBuilder.d.ts +3 -9
  456. package/dist/src/sandbox/macos/seatbeltArgsBuilder.js +129 -96
  457. package/dist/src/sandbox/macos/seatbeltArgsBuilder.js.map +1 -1
  458. package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.js +78 -77
  459. package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.js.map +1 -1
  460. package/dist/src/sandbox/utils/fsUtils.d.ts +2 -3
  461. package/dist/src/sandbox/utils/fsUtils.js +12 -27
  462. package/dist/src/sandbox/utils/fsUtils.js.map +1 -1
  463. package/dist/src/sandbox/utils/fsUtils.test.js +87 -29
  464. package/dist/src/sandbox/utils/fsUtils.test.js.map +1 -1
  465. package/dist/src/sandbox/windows/GeminiSandbox.cs +186 -77
  466. package/dist/src/sandbox/windows/WindowsSandboxManager.d.ts +4 -16
  467. package/dist/src/sandbox/windows/WindowsSandboxManager.js +138 -204
  468. package/dist/src/sandbox/windows/WindowsSandboxManager.js.map +1 -1
  469. package/dist/src/sandbox/windows/WindowsSandboxManager.test.js +105 -122
  470. package/dist/src/sandbox/windows/WindowsSandboxManager.test.js.map +1 -1
  471. package/dist/src/scheduler/policy.js +1 -2
  472. package/dist/src/scheduler/policy.js.map +1 -1
  473. package/dist/src/scheduler/policy.test.js +58 -2
  474. package/dist/src/scheduler/policy.test.js.map +1 -1
  475. package/dist/src/scheduler/scheduler.d.ts +2 -1
  476. package/dist/src/scheduler/scheduler.js +13 -14
  477. package/dist/src/scheduler/scheduler.js.map +1 -1
  478. package/dist/src/scheduler/scheduler.test.js +66 -0
  479. package/dist/src/scheduler/scheduler.test.js.map +1 -1
  480. package/dist/src/scheduler/scheduler_hooks.test.js +1 -0
  481. package/dist/src/scheduler/scheduler_hooks.test.js.map +1 -1
  482. package/dist/src/scheduler/scheduler_parallel.test.js +2 -0
  483. package/dist/src/scheduler/scheduler_parallel.test.js.map +1 -1
  484. package/dist/src/scheduler/tool-executor.js +2 -0
  485. package/dist/src/scheduler/tool-executor.js.map +1 -1
  486. package/dist/src/services/chatRecordingService.d.ts +12 -153
  487. package/dist/src/services/chatRecordingService.js +444 -350
  488. package/dist/src/services/chatRecordingService.js.map +1 -1
  489. package/dist/src/services/chatRecordingService.test.js +174 -128
  490. package/dist/src/services/chatRecordingService.test.js.map +1 -1
  491. package/dist/src/services/chatRecordingTypes.d.ts +111 -0
  492. package/dist/src/services/chatRecordingTypes.js +10 -0
  493. package/dist/src/services/chatRecordingTypes.js.map +1 -0
  494. package/dist/src/services/gitService.d.ts +2 -0
  495. package/dist/src/services/gitService.js +10 -1
  496. package/dist/src/services/gitService.js.map +1 -1
  497. package/dist/src/services/gitService.test.js +6 -2
  498. package/dist/src/services/gitService.test.js.map +1 -1
  499. package/dist/src/services/keychainService.d.ts +2 -2
  500. package/dist/src/services/keychainService.js +9 -9
  501. package/dist/src/services/keychainService.js.map +1 -1
  502. package/dist/src/services/keychainService.test.js +7 -7
  503. package/dist/src/services/keychainService.test.js.map +1 -1
  504. package/dist/src/services/keychainTypes.d.ts +1 -1
  505. package/dist/src/services/memoryPatchUtils.d.ts +42 -0
  506. package/dist/src/services/memoryPatchUtils.js +216 -0
  507. package/dist/src/services/memoryPatchUtils.js.map +1 -0
  508. package/dist/src/services/memoryService.d.ts +21 -1
  509. package/dist/src/services/memoryService.js +405 -64
  510. package/dist/src/services/memoryService.js.map +1 -1
  511. package/dist/src/services/memoryService.test.js +686 -2
  512. package/dist/src/services/memoryService.test.js.map +1 -1
  513. package/dist/src/services/sandboxManager.d.ts +33 -19
  514. package/dist/src/services/sandboxManager.integration.test.js +728 -266
  515. package/dist/src/services/sandboxManager.integration.test.js.map +1 -1
  516. package/dist/src/services/sandboxManager.js +65 -62
  517. package/dist/src/services/sandboxManager.js.map +1 -1
  518. package/dist/src/services/sandboxManager.test.js +17 -114
  519. package/dist/src/services/sandboxManager.test.js.map +1 -1
  520. package/dist/src/services/sandboxedFileSystemService.js +72 -62
  521. package/dist/src/services/sandboxedFileSystemService.js.map +1 -1
  522. package/dist/src/services/sessionSummaryUtils.d.ts +1 -1
  523. package/dist/src/services/sessionSummaryUtils.js +111 -38
  524. package/dist/src/services/sessionSummaryUtils.js.map +1 -1
  525. package/dist/src/services/sessionSummaryUtils.test.js +204 -51
  526. package/dist/src/services/sessionSummaryUtils.test.js.map +1 -1
  527. package/dist/src/services/shellExecutionService.d.ts +19 -0
  528. package/dist/src/services/shellExecutionService.js +88 -34
  529. package/dist/src/services/shellExecutionService.js.map +1 -1
  530. package/dist/src/services/shellExecutionService.test.js +38 -4
  531. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  532. package/dist/src/services/test-data/resolved-aliases-retry.golden.json +259 -259
  533. package/dist/src/services/test-data/resolved-aliases.golden.json +259 -259
  534. package/dist/src/telemetry/activity-monitor.js +1 -0
  535. package/dist/src/telemetry/activity-monitor.js.map +1 -1
  536. package/dist/src/telemetry/config.js +3 -0
  537. package/dist/src/telemetry/config.js.map +1 -1
  538. package/dist/src/telemetry/conseca-logger.js +18 -20
  539. package/dist/src/telemetry/conseca-logger.js.map +1 -1
  540. package/dist/src/telemetry/conseca-logger.test.js +100 -0
  541. package/dist/src/telemetry/conseca-logger.test.js.map +1 -1
  542. package/dist/src/telemetry/event-loop-monitor.d.ts +17 -0
  543. package/dist/src/telemetry/event-loop-monitor.js +76 -0
  544. package/dist/src/telemetry/event-loop-monitor.js.map +1 -0
  545. package/dist/src/telemetry/index.d.ts +2 -1
  546. package/dist/src/telemetry/index.js +2 -1
  547. package/dist/src/telemetry/index.js.map +1 -1
  548. package/dist/src/telemetry/llmRole.d.ts +2 -1
  549. package/dist/src/telemetry/llmRole.js +1 -0
  550. package/dist/src/telemetry/llmRole.js.map +1 -1
  551. package/dist/src/telemetry/loggers.test.js +184 -8
  552. package/dist/src/telemetry/loggers.test.js.map +1 -1
  553. package/dist/src/telemetry/memory-monitor.d.ts +1 -0
  554. package/dist/src/telemetry/memory-monitor.js +8 -1
  555. package/dist/src/telemetry/memory-monitor.js.map +1 -1
  556. package/dist/src/telemetry/memory-monitor.test.js +6 -1
  557. package/dist/src/telemetry/memory-monitor.test.js.map +1 -1
  558. package/dist/src/telemetry/metrics.d.ts +12 -0
  559. package/dist/src/telemetry/metrics.js +19 -0
  560. package/dist/src/telemetry/metrics.js.map +1 -1
  561. package/dist/src/telemetry/sdk.js +20 -1
  562. package/dist/src/telemetry/sdk.js.map +1 -1
  563. package/dist/src/telemetry/trace.d.ts +23 -6
  564. package/dist/src/telemetry/trace.js +71 -22
  565. package/dist/src/telemetry/trace.js.map +1 -1
  566. package/dist/src/telemetry/trace.test.js +79 -15
  567. package/dist/src/telemetry/trace.test.js.map +1 -1
  568. package/dist/src/telemetry/types.js +61 -15
  569. package/dist/src/telemetry/types.js.map +1 -1
  570. package/dist/src/test-utils/mock-tool.d.ts +3 -2
  571. package/dist/src/test-utils/mock-tool.js +4 -3
  572. package/dist/src/test-utils/mock-tool.js.map +1 -1
  573. package/dist/src/tools/activate-skill.js +1 -1
  574. package/dist/src/tools/activate-skill.js.map +1 -1
  575. package/dist/src/tools/activate-skill.test.js +6 -2
  576. package/dist/src/tools/activate-skill.test.js.map +1 -1
  577. package/dist/src/tools/ask-user.d.ts +2 -2
  578. package/dist/src/tools/ask-user.js +1 -1
  579. package/dist/src/tools/ask-user.js.map +1 -1
  580. package/dist/src/tools/ask-user.test.js +9 -3
  581. package/dist/src/tools/ask-user.test.js.map +1 -1
  582. package/dist/src/tools/complete-task.d.ts +2 -2
  583. package/dist/src/tools/complete-task.js +1 -1
  584. package/dist/src/tools/complete-task.js.map +1 -1
  585. package/dist/src/tools/complete-task.test.js +9 -3
  586. package/dist/src/tools/complete-task.test.js.map +1 -1
  587. package/dist/src/tools/definitions/base-declarations.d.ts +2 -0
  588. package/dist/src/tools/definitions/base-declarations.js +3 -0
  589. package/dist/src/tools/definitions/base-declarations.js.map +1 -1
  590. package/dist/src/tools/definitions/coreTools.d.ts +3 -1
  591. package/dist/src/tools/definitions/coreTools.js +13 -1
  592. package/dist/src/tools/definitions/coreTools.js.map +1 -1
  593. package/dist/src/tools/definitions/model-family-sets/default-legacy.js +29 -1
  594. package/dist/src/tools/definitions/model-family-sets/default-legacy.js.map +1 -1
  595. package/dist/src/tools/definitions/model-family-sets/gemini-3.js +29 -1
  596. package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
  597. package/dist/src/tools/definitions/types.d.ts +2 -0
  598. package/dist/src/tools/edit.js +20 -4
  599. package/dist/src/tools/edit.js.map +1 -1
  600. package/dist/src/tools/edit.test.js +41 -18
  601. package/dist/src/tools/edit.test.js.map +1 -1
  602. package/dist/src/tools/enter-plan-mode.d.ts +2 -2
  603. package/dist/src/tools/enter-plan-mode.js +1 -1
  604. package/dist/src/tools/enter-plan-mode.js.map +1 -1
  605. package/dist/src/tools/enter-plan-mode.test.js +10 -4
  606. package/dist/src/tools/enter-plan-mode.test.js.map +1 -1
  607. package/dist/src/tools/exit-plan-mode.d.ts +2 -2
  608. package/dist/src/tools/exit-plan-mode.js +9 -12
  609. package/dist/src/tools/exit-plan-mode.js.map +1 -1
  610. package/dist/src/tools/exit-plan-mode.test.js +44 -17
  611. package/dist/src/tools/exit-plan-mode.test.js.map +1 -1
  612. package/dist/src/tools/get-internal-docs.js +6 -3
  613. package/dist/src/tools/get-internal-docs.js.map +1 -1
  614. package/dist/src/tools/get-internal-docs.test.js +4 -4
  615. package/dist/src/tools/get-internal-docs.test.js.map +1 -1
  616. package/dist/src/tools/glob.js +1 -1
  617. package/dist/src/tools/glob.js.map +1 -1
  618. package/dist/src/tools/glob.test.js +16 -16
  619. package/dist/src/tools/glob.test.js.map +1 -1
  620. package/dist/src/tools/grep.js +21 -12
  621. package/dist/src/tools/grep.js.map +1 -1
  622. package/dist/src/tools/grep.test.js +18 -18
  623. package/dist/src/tools/grep.test.js.map +1 -1
  624. package/dist/src/tools/line-endings.test.js +3 -3
  625. package/dist/src/tools/line-endings.test.js.map +1 -1
  626. package/dist/src/tools/list-mcp-resources.d.ts +24 -0
  627. package/dist/src/tools/list-mcp-resources.js +74 -0
  628. package/dist/src/tools/list-mcp-resources.js.map +1 -0
  629. package/dist/src/tools/list-mcp-resources.test.d.ts +6 -0
  630. package/dist/src/tools/list-mcp-resources.test.js +79 -0
  631. package/dist/src/tools/list-mcp-resources.test.js.map +1 -0
  632. package/dist/src/tools/ls.js +2 -2
  633. package/dist/src/tools/ls.js.map +1 -1
  634. package/dist/src/tools/ls.test.js +21 -21
  635. package/dist/src/tools/ls.test.js.map +1 -1
  636. package/dist/src/tools/mcp-client-manager.d.ts +3 -1
  637. package/dist/src/tools/mcp-client-manager.js +24 -1
  638. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  639. package/dist/src/tools/mcp-client-manager.test.js +43 -0
  640. package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
  641. package/dist/src/tools/mcp-client.js +10 -12
  642. package/dist/src/tools/mcp-client.js.map +1 -1
  643. package/dist/src/tools/mcp-client.test.js +14 -2
  644. package/dist/src/tools/mcp-client.test.js.map +1 -1
  645. package/dist/src/tools/mcp-tool.d.ts +2 -2
  646. package/dist/src/tools/mcp-tool.js +1 -1
  647. package/dist/src/tools/mcp-tool.js.map +1 -1
  648. package/dist/src/tools/mcp-tool.test.js +51 -21
  649. package/dist/src/tools/mcp-tool.test.js.map +1 -1
  650. package/dist/src/tools/memoryTool.d.ts +4 -3
  651. package/dist/src/tools/memoryTool.js +43 -14
  652. package/dist/src/tools/memoryTool.js.map +1 -1
  653. package/dist/src/tools/memoryTool.test.js +29 -9
  654. package/dist/src/tools/memoryTool.test.js.map +1 -1
  655. package/dist/src/tools/read-file.js +1 -1
  656. package/dist/src/tools/read-file.js.map +1 -1
  657. package/dist/src/tools/read-file.test.js +17 -17
  658. package/dist/src/tools/read-file.test.js.map +1 -1
  659. package/dist/src/tools/read-many-files.js +4 -4
  660. package/dist/src/tools/read-many-files.js.map +1 -1
  661. package/dist/src/tools/read-many-files.test.js +70 -24
  662. package/dist/src/tools/read-many-files.test.js.map +1 -1
  663. package/dist/src/tools/read-mcp-resource.d.ts +25 -0
  664. package/dist/src/tools/read-mcp-resource.js +120 -0
  665. package/dist/src/tools/read-mcp-resource.js.map +1 -0
  666. package/dist/src/tools/read-mcp-resource.test.d.ts +6 -0
  667. package/dist/src/tools/read-mcp-resource.test.js +110 -0
  668. package/dist/src/tools/read-mcp-resource.test.js.map +1 -0
  669. package/dist/src/tools/ripGrep.d.ts +3 -2
  670. package/dist/src/tools/ripGrep.js +26 -55
  671. package/dist/src/tools/ripGrep.js.map +1 -1
  672. package/dist/src/tools/ripGrep.test.js +113 -167
  673. package/dist/src/tools/ripGrep.test.js.map +1 -1
  674. package/dist/src/tools/shell.d.ts +2 -2
  675. package/dist/src/tools/shell.js +51 -21
  676. package/dist/src/tools/shell.js.map +1 -1
  677. package/dist/src/tools/shell.test.js +479 -76
  678. package/dist/src/tools/shell.test.js.map +1 -1
  679. package/dist/src/tools/shellBackgroundTools.d.ts +3 -3
  680. package/dist/src/tools/shellBackgroundTools.integration.test.js +6 -2
  681. package/dist/src/tools/shellBackgroundTools.integration.test.js.map +1 -1
  682. package/dist/src/tools/shellBackgroundTools.js +2 -2
  683. package/dist/src/tools/shellBackgroundTools.js.map +1 -1
  684. package/dist/src/tools/shellBackgroundTools.test.js +30 -10
  685. package/dist/src/tools/shellBackgroundTools.test.js.map +1 -1
  686. package/dist/src/tools/tool-error.d.ts +1 -0
  687. package/dist/src/tools/tool-error.js +1 -0
  688. package/dist/src/tools/tool-error.js.map +1 -1
  689. package/dist/src/tools/tool-names.d.ts +5 -4
  690. package/dist/src/tools/tool-names.js +8 -2
  691. package/dist/src/tools/tool-names.js.map +1 -1
  692. package/dist/src/tools/tool-registry.js +137 -114
  693. package/dist/src/tools/tool-registry.js.map +1 -1
  694. package/dist/src/tools/tool-registry.test.js +3 -1
  695. package/dist/src/tools/tool-registry.test.js.map +1 -1
  696. package/dist/src/tools/tools.d.ts +6 -6
  697. package/dist/src/tools/tools.js +6 -2
  698. package/dist/src/tools/tools.js.map +1 -1
  699. package/dist/src/tools/topicTool.d.ts +2 -2
  700. package/dist/src/tools/topicTool.js +1 -1
  701. package/dist/src/tools/topicTool.js.map +1 -1
  702. package/dist/src/tools/topicTool.test.js +6 -2
  703. package/dist/src/tools/topicTool.test.js.map +1 -1
  704. package/dist/src/tools/trackerTools.d.ts +7 -7
  705. package/dist/src/tools/trackerTools.js +6 -6
  706. package/dist/src/tools/trackerTools.js.map +1 -1
  707. package/dist/src/tools/web-fetch.js +1 -1
  708. package/dist/src/tools/web-fetch.js.map +1 -1
  709. package/dist/src/tools/web-fetch.test.js +59 -23
  710. package/dist/src/tools/web-fetch.test.js.map +1 -1
  711. package/dist/src/tools/web-search.js +1 -1
  712. package/dist/src/tools/web-search.js.map +1 -1
  713. package/dist/src/tools/web-search.test.js +5 -5
  714. package/dist/src/tools/web-search.test.js.map +1 -1
  715. package/dist/src/tools/write-file.js +22 -4
  716. package/dist/src/tools/write-file.js.map +1 -1
  717. package/dist/src/tools/write-file.test.js +29 -11
  718. package/dist/src/tools/write-file.test.js.map +1 -1
  719. package/dist/src/tools/write-todos.js +1 -1
  720. package/dist/src/tools/write-todos.js.map +1 -1
  721. package/dist/src/utils/compatibility.js +6 -1
  722. package/dist/src/utils/compatibility.js.map +1 -1
  723. package/dist/src/utils/compatibility.test.js +23 -0
  724. package/dist/src/utils/compatibility.test.js.map +1 -1
  725. package/dist/src/utils/errors.d.ts +3 -0
  726. package/dist/src/utils/errors.js +6 -0
  727. package/dist/src/utils/errors.js.map +1 -1
  728. package/dist/src/utils/fileUtils.d.ts +1 -2
  729. package/dist/src/utils/fileUtils.js +80 -40
  730. package/dist/src/utils/fileUtils.js.map +1 -1
  731. package/dist/src/utils/fileUtils.test.js +61 -0
  732. package/dist/src/utils/fileUtils.test.js.map +1 -1
  733. package/dist/src/utils/filesearch/fileSearch.d.ts +2 -0
  734. package/dist/src/utils/filesearch/fileSearch.js +97 -6
  735. package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
  736. package/dist/src/utils/filesearch/fileSearch.test.js +54 -0
  737. package/dist/src/utils/filesearch/fileSearch.test.js.map +1 -1
  738. package/dist/src/utils/filesearch/fileWatcher.d.ts +25 -0
  739. package/dist/src/utils/filesearch/fileWatcher.js +86 -0
  740. package/dist/src/utils/filesearch/fileWatcher.js.map +1 -0
  741. package/dist/src/utils/filesearch/fileWatcher.test.js +142 -0
  742. package/dist/src/utils/filesearch/fileWatcher.test.js.map +1 -0
  743. package/dist/src/utils/getFolderStructure.js +4 -2
  744. package/dist/src/utils/getFolderStructure.js.map +1 -1
  745. package/dist/src/utils/gitIgnoreParser.js +1 -1
  746. package/dist/src/utils/gitIgnoreParser.js.map +1 -1
  747. package/dist/src/utils/googleQuotaErrors.d.ts +2 -1
  748. package/dist/src/utils/googleQuotaErrors.js +30 -35
  749. package/dist/src/utils/googleQuotaErrors.js.map +1 -1
  750. package/dist/src/utils/googleQuotaErrors.test.js +24 -0
  751. package/dist/src/utils/googleQuotaErrors.test.js.map +1 -1
  752. package/dist/src/utils/ignoreFileParser.js +1 -1
  753. package/dist/src/utils/ignoreFileParser.js.map +1 -1
  754. package/dist/src/utils/memoryDiscovery.js +15 -5
  755. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  756. package/dist/src/utils/oauth-flow.js +17 -5
  757. package/dist/src/utils/oauth-flow.js.map +1 -1
  758. package/dist/src/utils/oauth-flow.test.js +20 -0
  759. package/dist/src/utils/oauth-flow.test.js.map +1 -1
  760. package/dist/src/utils/paths.d.ts +9 -0
  761. package/dist/src/utils/paths.js +37 -0
  762. package/dist/src/utils/paths.js.map +1 -1
  763. package/dist/src/utils/paths.test.js +45 -1
  764. package/dist/src/utils/paths.test.js.map +1 -1
  765. package/dist/src/utils/planUtils.d.ts +11 -2
  766. package/dist/src/utils/planUtils.js +43 -11
  767. package/dist/src/utils/planUtils.js.map +1 -1
  768. package/dist/src/utils/planUtils.test.js +10 -9
  769. package/dist/src/utils/planUtils.test.js.map +1 -1
  770. package/dist/src/utils/process-utils.d.ts +2 -1
  771. package/dist/src/utils/process-utils.js +64 -33
  772. package/dist/src/utils/process-utils.js.map +1 -1
  773. package/dist/src/utils/process-utils.test.js +9 -0
  774. package/dist/src/utils/process-utils.test.js.map +1 -1
  775. package/dist/src/utils/retry.js +18 -6
  776. package/dist/src/utils/retry.js.map +1 -1
  777. package/dist/src/utils/retry.test.js +30 -0
  778. package/dist/src/utils/retry.test.js.map +1 -1
  779. package/dist/src/utils/sessionOperations.js +3 -2
  780. package/dist/src/utils/sessionOperations.js.map +1 -1
  781. package/dist/src/utils/shell-utils.d.ts +2 -0
  782. package/dist/src/utils/shell-utils.js +237 -107
  783. package/dist/src/utils/shell-utils.js.map +1 -1
  784. package/dist/src/utils/tool-utils.d.ts +1 -29
  785. package/dist/src/utils/tool-utils.js +0 -39
  786. package/dist/src/utils/tool-utils.js.map +1 -1
  787. package/dist/src/utils/tool-utils.test.js +2 -76
  788. package/dist/src/utils/tool-utils.test.js.map +1 -1
  789. package/dist/src/utils/tool-visibility.d.ts +40 -0
  790. package/dist/src/utils/tool-visibility.js +111 -0
  791. package/dist/src/utils/tool-visibility.js.map +1 -0
  792. package/dist/src/utils/tool-visibility.test.d.ts +6 -0
  793. package/dist/src/utils/tool-visibility.test.js +96 -0
  794. package/dist/src/utils/tool-visibility.test.js.map +1 -0
  795. package/dist/src/utils/trust.d.ts +64 -0
  796. package/dist/src/utils/trust.js +276 -0
  797. package/dist/src/utils/trust.js.map +1 -0
  798. package/dist/src/utils/trust.test.d.ts +6 -0
  799. package/dist/src/utils/trust.test.js +159 -0
  800. package/dist/src/utils/trust.test.js.map +1 -0
  801. package/dist/tsconfig.tsbuildinfo +1 -1
  802. package/package.json +5 -4
  803. package/dist/docs/get-started/installation.md +0 -181
  804. package/dist/src/agents/memory-manager-agent.d.ts +0 -25
  805. package/dist/src/agents/memory-manager-agent.js +0 -138
  806. package/dist/src/agents/memory-manager-agent.js.map +0 -1
  807. package/dist/src/agents/memory-manager-agent.test.js +0 -123
  808. package/dist/src/agents/memory-manager-agent.test.js.map +0 -1
  809. package/dist/src/agents/subagent-tool-wrapper.d.ts +0 -38
  810. package/dist/src/agents/subagent-tool-wrapper.js +0 -58
  811. package/dist/src/agents/subagent-tool-wrapper.js.map +0 -1
  812. package/dist/src/agents/subagent-tool-wrapper.test.js +0 -123
  813. package/dist/src/agents/subagent-tool-wrapper.test.js.map +0 -1
  814. package/dist/src/agents/subagent-tool.d.ts +0 -18
  815. package/dist/src/agents/subagent-tool.js +0 -134
  816. package/dist/src/agents/subagent-tool.js.map +0 -1
  817. package/dist/src/agents/subagent-tool.test.js +0 -287
  818. package/dist/src/agents/subagent-tool.test.js.map +0 -1
  819. package/dist/src/policy/policies/tracker.toml +0 -34
  820. package/dist/src/prompts/snippets-memory-manager.test.js +0 -31
  821. package/dist/src/prompts/snippets-memory-manager.test.js.map +0 -1
  822. /package/dist/src/{agents/memory-manager-agent.test.d.ts → agent/tool-display-utils.test.d.ts} +0 -0
  823. /package/dist/src/agents/{subagent-tool.test.d.ts → agent-tool.test.d.ts} +0 -0
  824. /package/dist/src/{prompts/snippets-memory-manager.test.d.ts → agents/skill-extraction-agent.test.d.ts} +0 -0
  825. /package/dist/src/{agents/subagent-tool-wrapper.test.d.ts → utils/filesearch/fileWatcher.test.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"bwrapArgsBuilder.test.js","sourceRoot":"","sources":["../../../../src/sandbox/linux/bwrapArgsBuilder.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bwrapArgsBuilder.test.js","sourceRoot":"","sources":["../../../../src/sandbox/linux/bwrapArgsBuilder.test.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import path from 'node:path';
9
9
  import { resolveSandboxPaths, } from '../../services/sandboxManager.js';
10
10
  import { sanitizeEnvironment, getSecureSanitizationConfig, } from '../../services/environmentSanitization.js';
11
11
  import { buildSeatbeltProfile } from './seatbeltArgsBuilder.js';
12
- import { initializeShellParsers } from '../../utils/shell-utils.js';
12
+ import { initializeShellParsers, getCommandRoots, stripShellWrapper, } from '../../utils/shell-utils.js';
13
13
  import { isKnownSafeCommand, isDangerousCommand, } from '../utils/commandSafety.js';
14
14
  import { verifySandboxOverrides, getCommandName as getFullCommandName, isStrictlyApproved, } from '../utils/commandUtils.js';
15
15
  import { parsePosixSandboxDenials, createSandboxDenialCache, } from '../utils/sandboxDenialUtils.js';
@@ -66,7 +66,6 @@ export class MacOsSandboxManager {
66
66
  const isYolo = this.options.modeConfig?.yolo ?? false;
67
67
  const workspaceWrite = !isReadonlyMode || isApproved || isYolo;
68
68
  const defaultNetwork = this.options.modeConfig?.network || req.policy?.networkAccess || isYolo;
69
- const { allowed: allowedPaths, forbidden: forbiddenPaths } = await resolveSandboxPaths(this.options, req);
70
69
  // Fetch persistent approvals for this command
71
70
  const commandName = await getFullCommandName(currentReq);
72
71
  const persistentPermissions = allowOverrides
@@ -88,17 +87,27 @@ export class MacOsSandboxManager {
88
87
  req.policy?.additionalPermissions?.network ||
89
88
  false,
90
89
  };
91
- const { command: finalCommand, args: finalArgs } = handleReadWriteCommands(req, mergedAdditional, this.options.workspace, req.policy?.allowedPaths);
90
+ // If the workspace is writable and we're running a git command,
91
+ // automatically allow write access to the .git directory.
92
+ const fullCmd = [command, ...args].join(' ');
93
+ const stripped = stripShellWrapper(fullCmd);
94
+ const roots = getCommandRoots(stripped).filter((r) => r !== 'shopt' && r !== 'set');
95
+ const isGitCommand = roots.includes('git');
96
+ if (workspaceWrite && isGitCommand) {
97
+ const gitDir = path.join(this.options.workspace, '.git');
98
+ if (!mergedAdditional.fileSystem.write.includes(gitDir)) {
99
+ mergedAdditional.fileSystem.write.push(gitDir);
100
+ }
101
+ }
102
+ const { command: finalCommand, args: finalArgs } = handleReadWriteCommands(req, mergedAdditional, this.options.workspace, [
103
+ ...(req.policy?.allowedPaths || []),
104
+ ...(this.options.includeDirectories || []),
105
+ ]);
106
+ const resolvedPaths = await resolveSandboxPaths(this.options, req, mergedAdditional);
92
107
  const sandboxArgs = buildSeatbeltProfile({
93
- workspace: this.options.workspace,
94
- allowedPaths: [
95
- ...allowedPaths,
96
- ...(this.options.includeDirectories || []),
97
- ],
98
- forbiddenPaths,
108
+ resolvedPaths,
99
109
  networkAccess: mergedAdditional.network,
100
110
  workspaceWrite,
101
- additionalPermissions: mergedAdditional,
102
111
  });
103
112
  const tempFile = this.writeProfileToTempFile(sandboxArgs);
104
113
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"MacOsSandboxManager.js","sourceRoot":"","sources":["../../../../src/sandbox/macos/MacOsSandboxManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MacOsSandboxManager.js","sourceRoot":"","sources":["../../../../src/sandbox/macos/MacOsSandboxManager.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
7
7
  import { MacOsSandboxManager } from './MacOsSandboxManager.js';
8
+ import {} from '../../services/sandboxManager.js';
8
9
  import * as seatbeltArgsBuilder from './seatbeltArgsBuilder.js';
9
10
  import fs from 'node:fs';
10
11
  import os from 'node:os';
@@ -46,20 +47,10 @@ describe('MacOsSandboxManager', () => {
46
47
  env: {},
47
48
  policy: mockPolicy,
48
49
  });
49
- expect(seatbeltArgsBuilder.buildSeatbeltProfile).toHaveBeenCalledWith({
50
- workspace: mockWorkspace,
51
- allowedPaths: mockAllowedPaths,
52
- forbiddenPaths: [],
53
- networkAccess: mockNetworkAccess,
50
+ expect(seatbeltArgsBuilder.buildSeatbeltProfile).toHaveBeenCalledWith(expect.objectContaining({
51
+ networkAccess: true,
54
52
  workspaceWrite: false,
55
- additionalPermissions: {
56
- fileSystem: {
57
- read: [],
58
- write: [],
59
- },
60
- network: true,
61
- },
62
- });
53
+ }));
63
54
  expect(result.program).toBe('/usr/bin/sandbox-exec');
64
55
  expect(result.args[0]).toBe('-f');
65
56
  expect(result.args[1]).toMatch(/gemini-cli-seatbelt-.*\.sb$/);
@@ -122,11 +113,10 @@ describe('MacOsSandboxManager', () => {
122
113
  env: {},
123
114
  });
124
115
  expect(seatbeltArgsBuilder.buildSeatbeltProfile).toHaveBeenCalledWith(expect.objectContaining({
125
- additionalPermissions: expect.objectContaining({
126
- fileSystem: expect.objectContaining({
127
- read: expect.not.arrayContaining(['/']),
128
- write: expect.not.arrayContaining(['/']),
129
- }),
116
+ workspaceWrite: true,
117
+ resolvedPaths: expect.objectContaining({
118
+ policyRead: expect.not.arrayContaining(['/']),
119
+ policyWrite: expect.not.arrayContaining(['/']),
130
120
  }),
131
121
  }));
132
122
  });
@@ -159,20 +149,6 @@ describe('MacOsSandboxManager', () => {
159
149
  expect(result.args[result.args.length - 1]).toBe(testFile);
160
150
  });
161
151
  });
162
- describe('governance files', () => {
163
- it('should ensure governance files exist', async () => {
164
- await manager.prepareCommand({
165
- command: 'echo',
166
- args: [],
167
- cwd: mockWorkspace,
168
- env: {},
169
- policy: mockPolicy,
170
- });
171
- // The seatbelt builder internally handles governance files, so we simply verify
172
- // it is invoked correctly with the right workspace.
173
- expect(seatbeltArgsBuilder.buildSeatbeltProfile).toHaveBeenCalledWith(expect.objectContaining({ workspace: mockWorkspace }));
174
- });
175
- });
176
152
  describe('allowedPaths', () => {
177
153
  it('should parameterize allowed paths and normalize them', async () => {
178
154
  await manager.prepareCommand({
@@ -186,7 +162,12 @@ describe('MacOsSandboxManager', () => {
186
162
  },
187
163
  });
188
164
  expect(seatbeltArgsBuilder.buildSeatbeltProfile).toHaveBeenCalledWith(expect.objectContaining({
189
- allowedPaths: ['/tmp/allowed1', '/tmp/allowed2'],
165
+ resolvedPaths: expect.objectContaining({
166
+ policyAllowed: expect.arrayContaining([
167
+ '/tmp/allowed1',
168
+ '/tmp/allowed2',
169
+ ]),
170
+ }),
190
171
  }));
191
172
  });
192
173
  });
@@ -204,7 +185,9 @@ describe('MacOsSandboxManager', () => {
204
185
  policy: mockPolicy,
205
186
  });
206
187
  expect(seatbeltArgsBuilder.buildSeatbeltProfile).toHaveBeenCalledWith(expect.objectContaining({
207
- forbiddenPaths: ['/tmp/forbidden1'],
188
+ resolvedPaths: expect.objectContaining({
189
+ forbidden: expect.arrayContaining(['/tmp/forbidden1']),
190
+ }),
208
191
  }));
209
192
  });
210
193
  it('explicitly denies non-existent forbidden paths to prevent creation', async () => {
@@ -220,7 +203,9 @@ describe('MacOsSandboxManager', () => {
220
203
  policy: mockPolicy,
221
204
  });
222
205
  expect(seatbeltArgsBuilder.buildSeatbeltProfile).toHaveBeenCalledWith(expect.objectContaining({
223
- forbiddenPaths: ['/tmp/does-not-exist'],
206
+ resolvedPaths: expect.objectContaining({
207
+ forbidden: expect.arrayContaining(['/tmp/does-not-exist']),
208
+ }),
224
209
  }));
225
210
  });
226
211
  it('should override allowed paths if a path is also in forbidden paths', async () => {
@@ -239,8 +224,10 @@ describe('MacOsSandboxManager', () => {
239
224
  },
240
225
  });
241
226
  expect(seatbeltArgsBuilder.buildSeatbeltProfile).toHaveBeenCalledWith(expect.objectContaining({
242
- allowedPaths: [],
243
- forbiddenPaths: ['/tmp/conflict'],
227
+ resolvedPaths: expect.objectContaining({
228
+ policyAllowed: [],
229
+ forbidden: expect.arrayContaining(['/tmp/conflict']),
230
+ }),
244
231
  }));
245
232
  });
246
233
  });
@@ -1 +1 @@
1
- {"version":3,"file":"MacOsSandboxManager.test.js","sourceRoot":"","sources":["../../../../src/sandbox/macos/MacOsSandboxManager.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MacOsSandboxManager.test.js","sourceRoot":"","sources":["../../../../src/sandbox/macos/MacOsSandboxManager.test.ts"],"names":[],"mappings":"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"}
@@ -3,21 +3,15 @@
3
3
  * Copyright 2026 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { type SandboxPermissions } from '../../services/sandboxManager.js';
6
+ import { type ResolvedSandboxPaths } from '../../services/sandboxManager.js';
7
7
  /**
8
8
  * Options for building macOS Seatbelt profile.
9
9
  */
10
10
  export interface SeatbeltArgsOptions {
11
- /** The primary workspace path to allow access to. */
12
- workspace: string;
13
- /** Additional paths to allow access to. */
14
- allowedPaths: string[];
15
- /** Absolute paths to explicitly deny read/write access to (overrides allowlists). */
16
- forbiddenPaths: string[];
11
+ /** Fully resolved paths for the sandbox execution. */
12
+ resolvedPaths: ResolvedSandboxPaths;
17
13
  /** Whether to allow network access. */
18
14
  networkAccess?: boolean;
19
- /** Granular additional permissions. */
20
- additionalPermissions?: SandboxPermissions;
21
15
  /** Whether to allow write access to the workspace. */
22
16
  workspaceWrite?: boolean;
23
17
  }
@@ -8,34 +8,103 @@ import os from 'node:os';
8
8
  import path from 'node:path';
9
9
  import { BASE_SEATBELT_PROFILE, NETWORK_SEATBELT_PROFILE, } from './baseProfile.js';
10
10
  import { GOVERNANCE_FILES, SECRET_FILES, } from '../../services/sandboxManager.js';
11
- import { tryRealpath, resolveGitWorktreePaths } from '../utils/fsUtils.js';
11
+ import { isSubpath, resolveToRealPath } from '../../utils/paths.js';
12
12
  /**
13
13
  * Escapes a string for use within a Scheme string literal "..."
14
14
  */
15
15
  export function escapeSchemeString(str) {
16
16
  return str.replace(/[\\"]/g, '\\$&');
17
17
  }
18
+ /**
19
+ * Checks if a path is explicitly allowed by additional write permissions.
20
+ */
21
+ function isPathExplicitlyAllowed(filePath, realFilePath, policyWrite) {
22
+ return policyWrite.some((p) => p === filePath ||
23
+ p === realFilePath ||
24
+ isSubpath(p, filePath) ||
25
+ isSubpath(p, realFilePath));
26
+ }
27
+ function denyUnlessExplicitlyAllowed(targetPath, ruleType, policyWrite, implicitlyAllowed = false) {
28
+ if (implicitlyAllowed) {
29
+ return '';
30
+ }
31
+ const realPath = resolveToRealPath(targetPath);
32
+ if (isPathExplicitlyAllowed(targetPath, realPath, policyWrite)) {
33
+ return ''; // Skip if explicitly allowed
34
+ }
35
+ let rules = `(deny file-write* (${ruleType} "${escapeSchemeString(targetPath)}"))\n`;
36
+ if (realPath !== targetPath) {
37
+ rules += `(deny file-write* (${ruleType} "${escapeSchemeString(realPath)}"))\n`;
38
+ }
39
+ return rules;
40
+ }
18
41
  /**
19
42
  * Builds a complete macOS Seatbelt profile string using a strict allowlist.
20
43
  * It embeds paths directly into the profile, properly escaped for Scheme.
21
44
  */
22
45
  export function buildSeatbeltProfile(options) {
23
46
  let profile = BASE_SEATBELT_PROFILE + '\n';
24
- const workspacePath = tryRealpath(options.workspace);
25
- profile += `(allow file-read* (subpath "${escapeSchemeString(options.workspace)}"))\n`;
26
- profile += `(allow file-read* (subpath "${escapeSchemeString(workspacePath)}"))\n`;
27
- if (options.workspaceWrite) {
28
- profile += `(allow file-write* (subpath "${escapeSchemeString(options.workspace)}"))\n`;
29
- profile += `(allow file-write* (subpath "${escapeSchemeString(workspacePath)}"))\n`;
47
+ const { resolvedPaths, networkAccess, workspaceWrite } = options;
48
+ profile += `(allow file-read* (subpath "${escapeSchemeString(resolvedPaths.workspace.original)}"))\n`;
49
+ profile += `(allow file-read* (subpath "${escapeSchemeString(resolvedPaths.workspace.resolved)}"))\n`;
50
+ if (workspaceWrite) {
51
+ profile += `(allow file-write* (subpath "${escapeSchemeString(resolvedPaths.workspace.original)}"))\n`;
52
+ profile += `(allow file-write* (subpath "${escapeSchemeString(resolvedPaths.workspace.resolved)}"))\n`;
30
53
  }
31
- const tmpPath = tryRealpath(os.tmpdir());
54
+ const tmpPath = resolveToRealPath(os.tmpdir());
32
55
  profile += `(allow file-read* file-write* (subpath "${escapeSchemeString(tmpPath)}"))\n`;
56
+ // Support git worktrees/submodules; read-only to prevent malicious hook/config modification (RCE).
57
+ if (resolvedPaths.gitWorktree) {
58
+ const { worktreeGitDir, mainGitDir } = resolvedPaths.gitWorktree;
59
+ if (worktreeGitDir) {
60
+ profile += `(allow file-read* (subpath "${escapeSchemeString(worktreeGitDir)}"))\n`;
61
+ }
62
+ if (mainGitDir) {
63
+ profile += `(allow file-read* (subpath "${escapeSchemeString(mainGitDir)}"))\n`;
64
+ }
65
+ }
66
+ const nodeRootPath = resolveToRealPath(path.dirname(path.dirname(process.execPath)));
67
+ profile += `(allow file-read* (subpath "${escapeSchemeString(nodeRootPath)}"))\n`;
68
+ // Add PATH directories as read-only to support nvm, homebrew, etc.
69
+ if (process.env['PATH']) {
70
+ const paths = process.env['PATH'].split(':');
71
+ const addedPaths = new Set();
72
+ for (const p of paths) {
73
+ if (!p.trim())
74
+ continue;
75
+ try {
76
+ let resolved = resolveToRealPath(p);
77
+ // If this is a 'bin' directory (like /usr/local/bin or homebrew/bin),
78
+ // also grant read access to its parent directory so that symlinked
79
+ // assets (like Cellar or libexec) can be read.
80
+ if (resolved.endsWith('/bin')) {
81
+ resolved = path.dirname(resolved);
82
+ }
83
+ if (!addedPaths.has(resolved)) {
84
+ addedPaths.add(resolved);
85
+ profile += `(allow file-read* (subpath "${escapeSchemeString(resolved)}"))\n`;
86
+ }
87
+ }
88
+ catch {
89
+ // Ignore paths that do not exist or are inaccessible
90
+ }
91
+ }
92
+ }
93
+ // Handle allowedPaths and globalIncludes
94
+ const allowedPaths = [
95
+ ...resolvedPaths.policyAllowed,
96
+ ...resolvedPaths.globalIncludes,
97
+ ];
98
+ for (let i = 0; i < allowedPaths.length; i++) {
99
+ const allowedPath = allowedPaths[i];
100
+ profile += `(allow file-read* file-write* (subpath "${escapeSchemeString(allowedPath)}"))\n`;
101
+ }
33
102
  // Add explicit deny rules for governance files in the workspace.
34
103
  // These are added after the workspace allow rule to ensure they take precedence
35
104
  // (Seatbelt evaluates rules in order, later rules win for same path).
36
105
  for (let i = 0; i < GOVERNANCE_FILES.length; i++) {
37
- const governanceFile = path.join(workspacePath, GOVERNANCE_FILES[i].path);
38
- const realGovernanceFile = tryRealpath(governanceFile);
106
+ const governanceFile = path.join(resolvedPaths.workspace.resolved, GOVERNANCE_FILES[i].path);
107
+ const realGovernanceFile = resolveToRealPath(governanceFile);
39
108
  // Determine if it should be treated as a directory (subpath) or a file (literal).
40
109
  // .git is generally a directory, while ignore files are literals.
41
110
  let isDirectory = GOVERNANCE_FILES[i].isDirectory;
@@ -47,22 +116,33 @@ export function buildSeatbeltProfile(options) {
47
116
  catch {
48
117
  // Ignore errors, use default guess
49
118
  }
50
- const ruleType = isDirectory ? 'subpath' : 'literal';
51
- profile += `(deny file-write* (${ruleType} "${escapeSchemeString(governanceFile)}"))\n`;
52
- if (realGovernanceFile !== governanceFile) {
53
- profile += `(deny file-write* (${ruleType} "${escapeSchemeString(realGovernanceFile)}"))\n`;
119
+ profile += denyUnlessExplicitlyAllowed(governanceFile, isDirectory ? 'subpath' : 'literal', resolvedPaths.policyWrite, workspaceWrite && GOVERNANCE_FILES[i].path !== '.git');
120
+ }
121
+ // Grant read-only access to git worktrees/submodules. We do this last in order to
122
+ // ensure that these rules aren't overwritten by broader write policies.
123
+ if (resolvedPaths.gitWorktree) {
124
+ const { worktreeGitDir, mainGitDir } = resolvedPaths.gitWorktree;
125
+ if (worktreeGitDir) {
126
+ profile += denyUnlessExplicitlyAllowed(worktreeGitDir, 'subpath', resolvedPaths.policyWrite);
127
+ }
128
+ if (mainGitDir) {
129
+ profile += denyUnlessExplicitlyAllowed(mainGitDir, 'subpath', resolvedPaths.policyWrite);
54
130
  }
55
131
  }
56
132
  // Add explicit deny rules for secret files (.env, .env.*) in the workspace and allowed paths.
57
133
  // We use regex rules to avoid expensive file discovery scans.
58
134
  // Anchoring to workspace/allowed paths to avoid over-blocking.
59
- const searchPaths = [options.workspace, ...options.allowedPaths];
135
+ const searchPaths = [
136
+ resolvedPaths.workspace.resolved,
137
+ resolvedPaths.workspace.original,
138
+ ...resolvedPaths.policyAllowed,
139
+ ...resolvedPaths.globalIncludes,
140
+ ];
60
141
  for (const basePath of searchPaths) {
61
- const resolvedBase = tryRealpath(basePath);
62
142
  for (const secret of SECRET_FILES) {
63
143
  // Map pattern to Seatbelt regex
64
144
  let regexPattern;
65
- const escapedBase = escapeRegex(resolvedBase);
145
+ const escapedBase = escapeRegex(basePath);
66
146
  if (secret.pattern.endsWith('*')) {
67
147
  // .env.* -> .env\..+ (match .env followed by dot and something)
68
148
  // We anchor the secret file name to either a directory separator or the start of the relative path.
@@ -77,94 +157,47 @@ export function buildSeatbeltProfile(options) {
77
157
  profile += `(deny file-read* file-write* (regex #"${regexPattern}"))\n`;
78
158
  }
79
159
  }
80
- // Auto-detect and support git worktrees by granting read and write access to the underlying git directory
81
- const { worktreeGitDir, mainGitDir } = resolveGitWorktreePaths(workspacePath);
82
- if (worktreeGitDir) {
83
- profile += `(allow file-read* file-write* (subpath "${escapeSchemeString(worktreeGitDir)}"))\n`;
84
- }
85
- if (mainGitDir) {
86
- profile += `(allow file-read* file-write* (subpath "${escapeSchemeString(mainGitDir)}"))\n`;
87
- }
88
- const nodeRootPath = tryRealpath(path.dirname(path.dirname(process.execPath)));
89
- profile += `(allow file-read* (subpath "${escapeSchemeString(nodeRootPath)}"))\n`;
90
- // Add PATH directories as read-only to support nvm, homebrew, etc.
91
- if (process.env['PATH']) {
92
- const paths = process.env['PATH'].split(':');
93
- const addedPaths = new Set();
94
- for (const p of paths) {
95
- if (!p.trim())
96
- continue;
97
- try {
98
- let resolved = tryRealpath(p);
99
- // If this is a 'bin' directory (like /usr/local/bin or homebrew/bin),
100
- // also grant read access to its parent directory so that symlinked
101
- // assets (like Cellar or libexec) can be read.
102
- if (resolved.endsWith('/bin')) {
103
- resolved = path.dirname(resolved);
104
- }
105
- if (!addedPaths.has(resolved)) {
106
- addedPaths.add(resolved);
107
- profile += `(allow file-read* (subpath "${escapeSchemeString(resolved)}"))\n`;
108
- }
109
- }
110
- catch {
111
- // Ignore paths that do not exist or are inaccessible
112
- }
160
+ // Handle granular additional read permissions
161
+ for (let i = 0; i < resolvedPaths.policyRead.length; i++) {
162
+ const resolved = resolvedPaths.policyRead[i];
163
+ let isFile = false;
164
+ try {
165
+ isFile = fs.statSync(resolved).isFile();
166
+ }
167
+ catch {
168
+ // Ignore error
169
+ }
170
+ if (isFile) {
171
+ profile += `(allow file-read* (literal "${escapeSchemeString(resolved)}"))\n`;
172
+ }
173
+ else {
174
+ profile += `(allow file-read* (subpath "${escapeSchemeString(resolved)}"))\n`;
113
175
  }
114
176
  }
115
- // Handle allowedPaths
116
- const allowedPaths = options.allowedPaths;
117
- for (let i = 0; i < allowedPaths.length; i++) {
118
- const allowedPath = tryRealpath(allowedPaths[i]);
119
- profile += `(allow file-read* file-write* (subpath "${escapeSchemeString(allowedPath)}"))\n`;
120
- }
121
- // Handle granular additional permissions
122
- if (options.additionalPermissions?.fileSystem) {
123
- const { read, write } = options.additionalPermissions.fileSystem;
124
- if (read) {
125
- for (let i = 0; i < read.length; i++) {
126
- const resolved = tryRealpath(read[i]);
127
- let isFile = false;
128
- try {
129
- isFile = fs.statSync(resolved).isFile();
130
- }
131
- catch {
132
- // Ignore error
133
- }
134
- if (isFile) {
135
- profile += `(allow file-read* (literal "${escapeSchemeString(resolved)}"))\n`;
136
- }
137
- else {
138
- profile += `(allow file-read* (subpath "${escapeSchemeString(resolved)}"))\n`;
139
- }
140
- }
177
+ // Handle granular additional write permissions
178
+ for (let i = 0; i < resolvedPaths.policyWrite.length; i++) {
179
+ const resolved = resolvedPaths.policyWrite[i];
180
+ let isFile = false;
181
+ try {
182
+ isFile = fs.statSync(resolved).isFile();
141
183
  }
142
- if (write) {
143
- for (let i = 0; i < write.length; i++) {
144
- const resolved = tryRealpath(write[i]);
145
- let isFile = false;
146
- try {
147
- isFile = fs.statSync(resolved).isFile();
148
- }
149
- catch {
150
- // Ignore error
151
- }
152
- if (isFile) {
153
- profile += `(allow file-read* file-write* (literal "${escapeSchemeString(resolved)}"))\n`;
154
- }
155
- else {
156
- profile += `(allow file-read* file-write* (subpath "${escapeSchemeString(resolved)}"))\n`;
157
- }
158
- }
184
+ catch {
185
+ // Ignore error
186
+ }
187
+ if (isFile) {
188
+ profile += `(allow file-read* file-write* (literal "${escapeSchemeString(resolved)}"))\n`;
189
+ }
190
+ else {
191
+ profile += `(allow file-read* file-write* (subpath "${escapeSchemeString(resolved)}"))\n`;
159
192
  }
160
193
  }
161
194
  // Handle forbiddenPaths
162
- const forbiddenPaths = options.forbiddenPaths;
195
+ const forbiddenPaths = resolvedPaths.forbidden;
163
196
  for (let i = 0; i < forbiddenPaths.length; i++) {
164
- const forbiddenPath = tryRealpath(forbiddenPaths[i]);
197
+ const forbiddenPath = forbiddenPaths[i];
165
198
  profile += `(deny file-read* file-write* (subpath "${escapeSchemeString(forbiddenPath)}"))\n`;
166
199
  }
167
- if (options.networkAccess || options.additionalPermissions?.network) {
200
+ if (networkAccess) {
168
201
  profile += NETWORK_SEATBELT_PROFILE;
169
202
  }
170
203
  return profile;