@machina.ai/cell-cli-core 1.41.1-rc2 → 1.45.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 (834) hide show
  1. package/dist/docs/AFTER_MERGE_PROMPT.md +1 -1
  2. package/dist/docs/changelogs/index.md +63 -0
  3. package/dist/docs/changelogs/latest.md +200 -244
  4. package/dist/docs/changelogs/preview.md +198 -385
  5. package/dist/docs/cli/auto-memory.md +61 -40
  6. package/dist/docs/cli/cli-reference.md +2 -1
  7. package/dist/docs/cli/creating-skills.md +165 -38
  8. package/dist/docs/cli/custom-commands.md +1 -0
  9. package/dist/docs/cli/gemini-md.md +0 -3
  10. package/dist/docs/cli/model-routing.md +3 -3
  11. package/dist/docs/cli/plan-mode.md +2 -2
  12. package/dist/docs/cli/settings.md +20 -19
  13. package/dist/docs/cli/skills-best-practices.md +78 -0
  14. package/dist/docs/cli/skills.md +98 -176
  15. package/dist/docs/cli/tutorials/memory-management.md +3 -3
  16. package/dist/docs/cli/tutorials/session-management.md +13 -0
  17. package/dist/docs/cli/tutorials/skills-getting-started.md +140 -92
  18. package/dist/docs/cli/using-agent-skills.md +90 -0
  19. package/dist/docs/core/gemma-setup.md +83 -0
  20. package/dist/docs/core/index.md +3 -2
  21. package/dist/docs/core/local-model-routing.md +14 -7
  22. package/dist/docs/extensions/reference.md +16 -0
  23. package/dist/docs/extensions/releasing.md +58 -24
  24. package/dist/docs/extensions/writing-extensions.md +7 -0
  25. package/dist/docs/get-started/installation.mdx +2 -2
  26. package/dist/docs/model-routing-spec.md +683 -0
  27. package/dist/docs/reference/commands.md +14 -7
  28. package/dist/docs/reference/configuration.md +264 -88
  29. package/dist/docs/reference/keyboard-shortcuts.md +24 -1
  30. package/dist/docs/reference/policy-engine.md +14 -3
  31. package/dist/docs/reference/tools.md +48 -1
  32. package/dist/docs/releases.md +2 -2
  33. package/dist/docs/sidebar.json +24 -2
  34. package/dist/docs/tools/activate-skill.md +1 -1
  35. package/dist/docs/tools/mcp-server.md +24 -3
  36. package/dist/docs/tools/memory.md +10 -13
  37. package/dist/docs/tools/shell.md +17 -0
  38. package/dist/package.json +18 -18
  39. package/dist/src/agent/content-utils.js +6 -1
  40. package/dist/src/agent/content-utils.js.map +1 -1
  41. package/dist/src/agent/content-utils.test.js +5 -1
  42. package/dist/src/agent/content-utils.test.js.map +1 -1
  43. package/dist/src/agent/event-translator.js +8 -7
  44. package/dist/src/agent/event-translator.js.map +1 -1
  45. package/dist/src/agent/event-translator.test.js +2 -2
  46. package/dist/src/agent/event-translator.test.js.map +1 -1
  47. package/dist/src/agent/legacy-agent-session.js +5 -1
  48. package/dist/src/agent/legacy-agent-session.js.map +1 -1
  49. package/dist/src/agent/legacy-agent-session.test.js +11 -3
  50. package/dist/src/agent/legacy-agent-session.test.js.map +1 -1
  51. package/dist/src/agent/tool-display-utils.d.ts +3 -2
  52. package/dist/src/agent/tool-display-utils.js +3 -2
  53. package/dist/src/agent/tool-display-utils.js.map +1 -1
  54. package/dist/src/agent/types.d.ts +33 -3
  55. package/dist/src/agents/a2aUtils.d.ts +1 -1
  56. package/dist/src/agents/a2aUtils.js +5 -4
  57. package/dist/src/agents/a2aUtils.js.map +1 -1
  58. package/dist/src/agents/a2aUtils.test.js +18 -0
  59. package/dist/src/agents/a2aUtils.test.js.map +1 -1
  60. package/dist/src/agents/agent-tool.d.ts +3 -1
  61. package/dist/src/agents/agent-tool.js +19 -3
  62. package/dist/src/agents/agent-tool.js.map +1 -1
  63. package/dist/src/agents/agent-tool.test.js +76 -0
  64. package/dist/src/agents/agent-tool.test.js.map +1 -1
  65. package/dist/src/agents/agentLoader.d.ts +127 -22
  66. package/dist/src/agents/agentLoader.js +20 -0
  67. package/dist/src/agents/agentLoader.js.map +1 -1
  68. package/dist/src/agents/agentLoader.test.js +60 -0
  69. package/dist/src/agents/agentLoader.test.js.map +1 -1
  70. package/dist/src/agents/auth-provider/types.d.ts +5 -0
  71. package/dist/src/agents/browser/browserAgentInvocation.js +24 -19
  72. package/dist/src/agents/browser/browserAgentInvocation.js.map +1 -1
  73. package/dist/src/agents/browser/snapshotSuperseder.js +11 -8
  74. package/dist/src/agents/browser/snapshotSuperseder.js.map +1 -1
  75. package/dist/src/agents/browser/snapshotSuperseder.test.js +6 -1
  76. package/dist/src/agents/browser/snapshotSuperseder.test.js.map +1 -1
  77. package/dist/src/agents/generalist-agent.js +8 -1
  78. package/dist/src/agents/generalist-agent.js.map +1 -1
  79. package/dist/src/agents/generalist-agent.test.js +24 -0
  80. package/dist/src/agents/generalist-agent.test.js.map +1 -1
  81. package/dist/src/agents/local-executor.d.ts +1 -0
  82. package/dist/src/agents/local-executor.js +76 -45
  83. package/dist/src/agents/local-executor.js.map +1 -1
  84. package/dist/src/agents/local-executor.test.js +199 -27
  85. package/dist/src/agents/local-executor.test.js.map +1 -1
  86. package/dist/src/agents/local-invocation.d.ts +1 -1
  87. package/dist/src/agents/local-invocation.js +47 -48
  88. package/dist/src/agents/local-invocation.js.map +1 -1
  89. package/dist/src/agents/local-invocation.test.js +13 -15
  90. package/dist/src/agents/local-invocation.test.js.map +1 -1
  91. package/dist/src/agents/local-session-invocation.d.ts +51 -0
  92. package/dist/src/agents/local-session-invocation.js +320 -0
  93. package/dist/src/agents/local-session-invocation.js.map +1 -0
  94. package/dist/src/agents/local-session-invocation.test.js +512 -0
  95. package/dist/src/agents/local-session-invocation.test.js.map +1 -0
  96. package/dist/src/agents/local-subagent-protocol.d.ts +18 -0
  97. package/dist/src/agents/local-subagent-protocol.js +357 -0
  98. package/dist/src/agents/local-subagent-protocol.js.map +1 -0
  99. package/dist/src/agents/local-subagent-protocol.test.js +676 -0
  100. package/dist/src/agents/local-subagent-protocol.test.js.map +1 -0
  101. package/dist/src/agents/registry.d.ts +8 -4
  102. package/dist/src/agents/registry.js +112 -47
  103. package/dist/src/agents/registry.js.map +1 -1
  104. package/dist/src/agents/registry.test.js +9 -20
  105. package/dist/src/agents/registry.test.js.map +1 -1
  106. package/dist/src/agents/remote-invocation.js +6 -6
  107. package/dist/src/agents/remote-invocation.js.map +1 -1
  108. package/dist/src/agents/remote-invocation.test.js +23 -12
  109. package/dist/src/agents/remote-invocation.test.js.map +1 -1
  110. package/dist/src/agents/remote-session-invocation.d.ts +48 -0
  111. package/dist/src/agents/remote-session-invocation.js +193 -0
  112. package/dist/src/agents/remote-session-invocation.js.map +1 -0
  113. package/dist/src/agents/remote-session-invocation.test.d.ts +6 -0
  114. package/dist/src/agents/remote-session-invocation.test.js +405 -0
  115. package/dist/src/agents/remote-session-invocation.test.js.map +1 -0
  116. package/dist/src/agents/remote-subagent-protocol.d.ts +42 -0
  117. package/dist/src/agents/remote-subagent-protocol.js +348 -0
  118. package/dist/src/agents/remote-subagent-protocol.js.map +1 -0
  119. package/dist/src/agents/remote-subagent-protocol.test.d.ts +6 -0
  120. package/dist/src/agents/remote-subagent-protocol.test.js +652 -0
  121. package/dist/src/agents/remote-subagent-protocol.test.js.map +1 -0
  122. package/dist/src/agents/skill-extraction-agent.d.ts +8 -1
  123. package/dist/src/agents/skill-extraction-agent.js +171 -21
  124. package/dist/src/agents/skill-extraction-agent.js.map +1 -1
  125. package/dist/src/agents/skill-extraction-agent.test.js +66 -2
  126. package/dist/src/agents/skill-extraction-agent.test.js.map +1 -1
  127. package/dist/src/agents/types.d.ts +38 -2
  128. package/dist/src/agents/types.js +7 -0
  129. package/dist/src/agents/types.js.map +1 -1
  130. package/dist/src/availability/autoRoutingFallback.integration.test.d.ts +6 -0
  131. package/dist/src/availability/autoRoutingFallback.integration.test.js +288 -0
  132. package/dist/src/availability/autoRoutingFallback.integration.test.js.map +1 -0
  133. package/dist/src/availability/fallbackIntegration.test.js +29 -0
  134. package/dist/src/availability/fallbackIntegration.test.js.map +1 -1
  135. package/dist/src/availability/modelAvailabilityService.d.ts +6 -6
  136. package/dist/src/availability/modelAvailabilityService.js +16 -8
  137. package/dist/src/availability/modelAvailabilityService.js.map +1 -1
  138. package/dist/src/availability/modelAvailabilityService.test.js +39 -0
  139. package/dist/src/availability/modelAvailabilityService.test.js.map +1 -1
  140. package/dist/src/availability/modelPolicy.d.ts +1 -0
  141. package/dist/src/availability/policyCatalog.d.ts +2 -0
  142. package/dist/src/availability/policyCatalog.js +38 -9
  143. package/dist/src/availability/policyCatalog.js.map +1 -1
  144. package/dist/src/availability/policyCatalog.test.js +5 -4
  145. package/dist/src/availability/policyCatalog.test.js.map +1 -1
  146. package/dist/src/availability/policyHelpers.js +42 -27
  147. package/dist/src/availability/policyHelpers.js.map +1 -1
  148. package/dist/src/availability/policyHelpers.test.js +47 -7
  149. package/dist/src/availability/policyHelpers.test.js.map +1 -1
  150. package/dist/src/availability/testUtils.js +1 -1
  151. package/dist/src/availability/testUtils.js.map +1 -1
  152. package/dist/src/code_assist/admin/admin_controls.js +3 -1
  153. package/dist/src/code_assist/admin/admin_controls.js.map +1 -1
  154. package/dist/src/code_assist/experiments/flagNames.d.ts +1 -1
  155. package/dist/src/code_assist/experiments/flagNames.js +1 -1
  156. package/dist/src/code_assist/experiments/flagNames.js.map +1 -1
  157. package/dist/src/code_assist/oauth-credential-storage.js +12 -3
  158. package/dist/src/code_assist/oauth-credential-storage.js.map +1 -1
  159. package/dist/src/code_assist/oauth-credential-storage.test.js +29 -2
  160. package/dist/src/code_assist/oauth-credential-storage.test.js.map +1 -1
  161. package/dist/src/code_assist/oauth2.js +12 -3
  162. package/dist/src/code_assist/oauth2.js.map +1 -1
  163. package/dist/src/code_assist/oauth2.test.js +38 -0
  164. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  165. package/dist/src/code_assist/setup.d.ts +3 -0
  166. package/dist/src/code_assist/setup.js +9 -0
  167. package/dist/src/code_assist/setup.js.map +1 -1
  168. package/dist/src/code_assist/setup.test.js +10 -1
  169. package/dist/src/code_assist/setup.test.js.map +1 -1
  170. package/dist/src/commands/memory.d.ts +83 -2
  171. package/dist/src/commands/memory.js +479 -28
  172. package/dist/src/commands/memory.js.map +1 -1
  173. package/dist/src/commands/memory.test.js +414 -58
  174. package/dist/src/commands/memory.test.js.map +1 -1
  175. package/dist/src/config/config.d.ts +61 -37
  176. package/dist/src/config/config.js +294 -101
  177. package/dist/src/config/config.js.map +1 -1
  178. package/dist/src/config/config.test.js +365 -113
  179. package/dist/src/config/config.test.js.map +1 -1
  180. package/dist/src/config/defaultModelConfigs.js +185 -61
  181. package/dist/src/config/defaultModelConfigs.js.map +1 -1
  182. package/dist/src/config/flashFallback.test.js +31 -0
  183. package/dist/src/config/flashFallback.test.js.map +1 -1
  184. package/dist/src/config/models.d.ts +20 -10
  185. package/dist/src/config/models.js +105 -34
  186. package/dist/src/config/models.js.map +1 -1
  187. package/dist/src/config/models.test.js +204 -47
  188. package/dist/src/config/models.test.js.map +1 -1
  189. package/dist/src/config/projectRegistry.d.ts +1 -0
  190. package/dist/src/config/projectRegistry.js +14 -3
  191. package/dist/src/config/projectRegistry.js.map +1 -1
  192. package/dist/src/config/projectRegistry.test.js +43 -0
  193. package/dist/src/config/projectRegistry.test.js.map +1 -1
  194. package/dist/src/config/scoped-config.d.ts +22 -0
  195. package/dist/src/config/scoped-config.js +32 -0
  196. package/dist/src/config/scoped-config.js.map +1 -1
  197. package/dist/src/config/storage.d.ts +0 -1
  198. package/dist/src/config/storage.js +0 -3
  199. package/dist/src/config/storage.js.map +1 -1
  200. package/dist/src/confirmation-bus/message-bus.d.ts +3 -1
  201. package/dist/src/confirmation-bus/message-bus.js +14 -5
  202. package/dist/src/confirmation-bus/message-bus.js.map +1 -1
  203. package/dist/src/confirmation-bus/message-bus.test.js +34 -0
  204. package/dist/src/confirmation-bus/message-bus.test.js.map +1 -1
  205. package/dist/src/context/chatCompressionService.js +7 -5
  206. package/dist/src/context/chatCompressionService.js.map +1 -1
  207. package/dist/src/context/chatCompressionService.test.js +1 -1
  208. package/dist/src/context/chatCompressionService.test.js.map +1 -1
  209. package/dist/src/context/config/configLoader.js +4 -1
  210. package/dist/src/context/config/configLoader.js.map +1 -1
  211. package/dist/src/context/config/profiles.d.ts +10 -0
  212. package/dist/src/context/config/profiles.js +98 -3
  213. package/dist/src/context/config/profiles.js.map +1 -1
  214. package/dist/src/context/config/schema.d.ts +4 -0
  215. package/dist/src/context/config/schema.js +4 -0
  216. package/dist/src/context/config/schema.js.map +1 -1
  217. package/dist/src/context/config/types.d.ts +13 -1
  218. package/dist/src/context/contextCompressionService.test.js +7 -3
  219. package/dist/src/context/contextCompressionService.test.js.map +1 -1
  220. package/dist/src/context/contextManager.barrier.test.js +39 -16
  221. package/dist/src/context/contextManager.barrier.test.js.map +1 -1
  222. package/dist/src/context/contextManager.d.ts +25 -28
  223. package/dist/src/context/contextManager.hotstart.test.d.ts +6 -0
  224. package/dist/src/context/contextManager.hotstart.test.js +65 -0
  225. package/dist/src/context/contextManager.hotstart.test.js.map +1 -0
  226. package/dist/src/context/contextManager.incremental.test.d.ts +6 -0
  227. package/dist/src/context/contextManager.incremental.test.js +101 -0
  228. package/dist/src/context/contextManager.incremental.test.js.map +1 -0
  229. package/dist/src/context/contextManager.js +276 -79
  230. package/dist/src/context/contextManager.js.map +1 -1
  231. package/dist/src/context/contextManager.test.d.ts +6 -0
  232. package/dist/src/context/contextManager.test.js +142 -0
  233. package/dist/src/context/contextManager.test.js.map +1 -0
  234. package/dist/src/context/eventBus.d.ts +13 -0
  235. package/dist/src/context/eventBus.js +12 -0
  236. package/dist/src/context/eventBus.js.map +1 -1
  237. package/dist/src/context/graph/behaviorRegistry.d.ts +4 -12
  238. package/dist/src/context/graph/behaviorRegistry.js.map +1 -1
  239. package/dist/src/context/graph/builtinBehaviors.d.ts +6 -1
  240. package/dist/src/context/graph/builtinBehaviors.js +23 -108
  241. package/dist/src/context/graph/builtinBehaviors.js.map +1 -1
  242. package/dist/src/context/graph/fromGraph.d.ts +8 -3
  243. package/dist/src/context/graph/fromGraph.js +46 -30
  244. package/dist/src/context/graph/fromGraph.js.map +1 -1
  245. package/dist/src/context/graph/fromGraph.test.d.ts +6 -0
  246. package/dist/src/context/graph/fromGraph.test.js +186 -0
  247. package/dist/src/context/graph/fromGraph.test.js.map +1 -0
  248. package/dist/src/context/graph/mapper.d.ts +8 -10
  249. package/dist/src/context/graph/mapper.js +11 -19
  250. package/dist/src/context/graph/mapper.js.map +1 -1
  251. package/dist/src/context/graph/mapper.test.d.ts +6 -0
  252. package/dist/src/context/graph/mapper.test.js +101 -0
  253. package/dist/src/context/graph/mapper.test.js.map +1 -0
  254. package/dist/src/context/graph/nodeIdService.d.ts +17 -0
  255. package/dist/src/context/graph/nodeIdService.js +24 -0
  256. package/dist/src/context/graph/nodeIdService.js.map +1 -0
  257. package/dist/src/context/graph/render.d.ts +24 -5
  258. package/dist/src/context/graph/render.js +129 -34
  259. package/dist/src/context/graph/render.js.map +1 -1
  260. package/dist/src/context/graph/render.test.d.ts +6 -0
  261. package/dist/src/context/graph/render.test.js +280 -0
  262. package/dist/src/context/graph/render.test.js.map +1 -0
  263. package/dist/src/context/graph/toGraph.d.ts +16 -14
  264. package/dist/src/context/graph/toGraph.js +180 -202
  265. package/dist/src/context/graph/toGraph.js.map +1 -1
  266. package/dist/src/context/graph/toGraph.test.d.ts +6 -0
  267. package/dist/src/context/graph/toGraph.test.js +116 -0
  268. package/dist/src/context/graph/toGraph.test.js.map +1 -0
  269. package/dist/src/context/graph/types.d.ts +36 -73
  270. package/dist/src/context/graph/types.js +23 -14
  271. package/dist/src/context/graph/types.js.map +1 -1
  272. package/dist/src/context/initializer.js +26 -5
  273. package/dist/src/context/initializer.js.map +1 -1
  274. package/dist/src/context/pipeline/contextWorkingBuffer.d.ts +5 -8
  275. package/dist/src/context/pipeline/contextWorkingBuffer.js +105 -35
  276. package/dist/src/context/pipeline/contextWorkingBuffer.js.map +1 -1
  277. package/dist/src/context/pipeline/contextWorkingBuffer.test.js +81 -13
  278. package/dist/src/context/pipeline/contextWorkingBuffer.test.js.map +1 -1
  279. package/dist/src/context/pipeline/environment.d.ts +4 -0
  280. package/dist/src/context/pipeline/environmentImpl.d.ts +6 -5
  281. package/dist/src/context/pipeline/environmentImpl.js +7 -9
  282. package/dist/src/context/pipeline/environmentImpl.js.map +1 -1
  283. package/dist/src/context/pipeline/environmentImpl.test.js +5 -1
  284. package/dist/src/context/pipeline/environmentImpl.test.js.map +1 -1
  285. package/dist/src/context/pipeline/orchestrator.d.ts +20 -6
  286. package/dist/src/context/pipeline/orchestrator.js +97 -80
  287. package/dist/src/context/pipeline/orchestrator.js.map +1 -1
  288. package/dist/src/context/pipeline/orchestrator.test.js +33 -36
  289. package/dist/src/context/pipeline/orchestrator.test.js.map +1 -1
  290. package/dist/src/context/pipeline.d.ts +0 -1
  291. package/dist/src/context/processors/blobDegradationProcessor.js +43 -84
  292. package/dist/src/context/processors/blobDegradationProcessor.js.map +1 -1
  293. package/dist/src/context/processors/blobDegradationProcessor.test.js +33 -37
  294. package/dist/src/context/processors/blobDegradationProcessor.test.js.map +1 -1
  295. package/dist/src/context/processors/nodeDistillationProcessor.js +58 -80
  296. package/dist/src/context/processors/nodeDistillationProcessor.js.map +1 -1
  297. package/dist/src/context/processors/nodeDistillationProcessor.test.js +21 -15
  298. package/dist/src/context/processors/nodeDistillationProcessor.test.js.map +1 -1
  299. package/dist/src/context/processors/nodeTruncationProcessor.js +16 -60
  300. package/dist/src/context/processors/nodeTruncationProcessor.js.map +1 -1
  301. package/dist/src/context/processors/nodeTruncationProcessor.test.js +16 -19
  302. package/dist/src/context/processors/nodeTruncationProcessor.test.js.map +1 -1
  303. package/dist/src/context/processors/rollingSummaryProcessor.js +12 -25
  304. package/dist/src/context/processors/rollingSummaryProcessor.js.map +1 -1
  305. package/dist/src/context/processors/rollingSummaryProcessor.test.js +10 -9
  306. package/dist/src/context/processors/rollingSummaryProcessor.test.js.map +1 -1
  307. package/dist/src/context/processors/stateSnapshotAsyncProcessor.d.ts +7 -0
  308. package/dist/src/context/processors/stateSnapshotAsyncProcessor.js +37 -19
  309. package/dist/src/context/processors/stateSnapshotAsyncProcessor.js.map +1 -1
  310. package/dist/src/context/processors/stateSnapshotAsyncProcessor.test.js +35 -10
  311. package/dist/src/context/processors/stateSnapshotAsyncProcessor.test.js.map +1 -1
  312. package/dist/src/context/processors/stateSnapshotProcessor.d.ts +2 -0
  313. package/dist/src/context/processors/stateSnapshotProcessor.js +53 -21
  314. package/dist/src/context/processors/stateSnapshotProcessor.js.map +1 -1
  315. package/dist/src/context/processors/stateSnapshotProcessor.test.js +52 -12
  316. package/dist/src/context/processors/stateSnapshotProcessor.test.js.map +1 -1
  317. package/dist/src/context/processors/toolMaskingProcessor.js +96 -117
  318. package/dist/src/context/processors/toolMaskingProcessor.js.map +1 -1
  319. package/dist/src/context/processors/toolMaskingProcessor.test.js +50 -17
  320. package/dist/src/context/processors/toolMaskingProcessor.test.js.map +1 -1
  321. package/dist/src/context/system-tests/hysteresis.test.d.ts +6 -0
  322. package/dist/src/context/system-tests/hysteresis.test.js +100 -0
  323. package/dist/src/context/system-tests/hysteresis.test.js.map +1 -0
  324. package/dist/src/context/system-tests/lifecycle.golden.test.js +107 -72
  325. package/dist/src/context/system-tests/lifecycle.golden.test.js.map +1 -1
  326. package/dist/src/context/system-tests/powerUserLifecycle.test.d.ts +6 -0
  327. package/dist/src/context/system-tests/powerUserLifecycle.test.js +91 -0
  328. package/dist/src/context/system-tests/powerUserLifecycle.test.js.map +1 -0
  329. package/dist/src/context/system-tests/simulationHarness.d.ts +2 -5
  330. package/dist/src/context/system-tests/simulationHarness.js +34 -35
  331. package/dist/src/context/system-tests/simulationHarness.js.map +1 -1
  332. package/dist/src/context/testing/contextTestUtils.d.ts +5 -3
  333. package/dist/src/context/testing/contextTestUtils.js +74 -53
  334. package/dist/src/context/testing/contextTestUtils.js.map +1 -1
  335. package/dist/src/context/testing/testProfile.js +1 -0
  336. package/dist/src/context/testing/testProfile.js.map +1 -1
  337. package/dist/src/context/toolOutputMaskingService.js +1 -2
  338. package/dist/src/context/toolOutputMaskingService.js.map +1 -1
  339. package/dist/src/context/toolOutputMaskingService.test.js +5 -20
  340. package/dist/src/context/toolOutputMaskingService.test.js.map +1 -1
  341. package/dist/src/context/utils/adaptiveTokenCalculator.d.ts +70 -0
  342. package/dist/src/context/utils/adaptiveTokenCalculator.js +138 -0
  343. package/dist/src/context/utils/adaptiveTokenCalculator.js.map +1 -0
  344. package/dist/src/context/utils/adaptiveTokenCalculator.test.d.ts +6 -0
  345. package/dist/src/context/utils/adaptiveTokenCalculator.test.js +129 -0
  346. package/dist/src/context/utils/adaptiveTokenCalculator.test.js.map +1 -0
  347. package/dist/src/context/utils/contextTokenCalculator.d.ts +63 -2
  348. package/dist/src/context/utils/contextTokenCalculator.js +80 -5
  349. package/dist/src/context/utils/contextTokenCalculator.js.map +1 -1
  350. package/dist/src/context/utils/contextTokenCalculator.test.d.ts +6 -0
  351. package/dist/src/context/utils/contextTokenCalculator.test.js +54 -0
  352. package/dist/src/context/utils/contextTokenCalculator.test.js.map +1 -0
  353. package/dist/src/context/utils/formatNodesForLlm.d.ts +21 -0
  354. package/dist/src/context/utils/formatNodesForLlm.js +69 -0
  355. package/dist/src/context/utils/formatNodesForLlm.js.map +1 -0
  356. package/dist/src/context/utils/formatNodesForLlm.test.d.ts +6 -0
  357. package/dist/src/context/utils/formatNodesForLlm.test.js +110 -0
  358. package/dist/src/context/utils/formatNodesForLlm.test.js.map +1 -0
  359. package/dist/src/context/utils/invariantChecker.d.ts +11 -0
  360. package/dist/src/context/utils/invariantChecker.js +36 -0
  361. package/dist/src/context/utils/invariantChecker.js.map +1 -0
  362. package/dist/src/context/utils/snapshotGenerator.d.ts +43 -1
  363. package/dist/src/context/utils/snapshotGenerator.js +332 -33
  364. package/dist/src/context/utils/snapshotGenerator.js.map +1 -1
  365. package/dist/src/context/utils/snapshotGenerator.test.d.ts +6 -0
  366. package/dist/src/context/utils/snapshotGenerator.test.js +362 -0
  367. package/dist/src/context/utils/snapshotGenerator.test.js.map +1 -0
  368. package/dist/src/context/utils/tokenCalibration.d.ts +9 -0
  369. package/dist/src/context/utils/tokenCalibration.js +30 -0
  370. package/dist/src/context/utils/tokenCalibration.js.map +1 -0
  371. package/dist/src/core/agentChatHistory.d.ts +29 -14
  372. package/dist/src/core/agentChatHistory.js +27 -27
  373. package/dist/src/core/agentChatHistory.js.map +1 -1
  374. package/dist/src/core/baseLlmClient.d.ts +8 -0
  375. package/dist/src/core/baseLlmClient.js +23 -3
  376. package/dist/src/core/baseLlmClient.js.map +1 -1
  377. package/dist/src/core/baseLlmClient.test.js +27 -23
  378. package/dist/src/core/baseLlmClient.test.js.map +1 -1
  379. package/dist/src/core/client.d.ts +7 -5
  380. package/dist/src/core/client.js +65 -40
  381. package/dist/src/core/client.js.map +1 -1
  382. package/dist/src/core/client.test.js +35 -131
  383. package/dist/src/core/client.test.js.map +1 -1
  384. package/dist/src/core/contentGenerator.js +46 -21
  385. package/dist/src/core/contentGenerator.js.map +1 -1
  386. package/dist/src/core/contentGenerator.test.js +191 -13
  387. package/dist/src/core/contentGenerator.test.js.map +1 -1
  388. package/dist/src/core/fakeContentGenerator.d.ts +15 -3
  389. package/dist/src/core/fakeContentGenerator.js +29 -9
  390. package/dist/src/core/fakeContentGenerator.js.map +1 -1
  391. package/dist/src/core/geminiChat.d.ts +18 -7
  392. package/dist/src/core/geminiChat.js +312 -54
  393. package/dist/src/core/geminiChat.js.map +1 -1
  394. package/dist/src/core/geminiChat.test.js +448 -54
  395. package/dist/src/core/geminiChat.test.js.map +1 -1
  396. package/dist/src/core/geminiChat_network_retry.test.js +39 -0
  397. package/dist/src/core/geminiChat_network_retry.test.js.map +1 -1
  398. package/dist/src/core/localLiteRtLmClient.js +6 -2
  399. package/dist/src/core/localLiteRtLmClient.js.map +1 -1
  400. package/dist/src/core/prompts.test.js +12 -7
  401. package/dist/src/core/prompts.test.js.map +1 -1
  402. package/dist/src/core/turn.d.ts +7 -2
  403. package/dist/src/core/turn.js +61 -4
  404. package/dist/src/core/turn.js.map +1 -1
  405. package/dist/src/core/turn.test.js +19 -10
  406. package/dist/src/core/turn.test.js.map +1 -1
  407. package/dist/src/fallback/handler.js +16 -6
  408. package/dist/src/fallback/handler.js.map +1 -1
  409. package/dist/src/fallback/handler.test.js +8 -2
  410. package/dist/src/fallback/handler.test.js.map +1 -1
  411. package/dist/src/generated/git-commit.d.ts +2 -2
  412. package/dist/src/generated/git-commit.js +2 -2
  413. package/dist/src/hooks/hookEventHandler.js +3 -2
  414. package/dist/src/hooks/hookEventHandler.js.map +1 -1
  415. package/dist/src/hooks/hookEventHandler.test.js +80 -0
  416. package/dist/src/hooks/hookEventHandler.test.js.map +1 -1
  417. package/dist/src/hooks/hookRunner.test.js +3 -3
  418. package/dist/src/hooks/hookRunner.test.js.map +1 -1
  419. package/dist/src/hooks/hookTranslator.js +95 -5
  420. package/dist/src/hooks/hookTranslator.js.map +1 -1
  421. package/dist/src/hooks/hookTranslator.test.js +171 -0
  422. package/dist/src/hooks/hookTranslator.test.js.map +1 -1
  423. package/dist/src/ide/ide-client.js +5 -3
  424. package/dist/src/ide/ide-client.js.map +1 -1
  425. package/dist/src/ide/ide-connection-utils.js +12 -10
  426. package/dist/src/ide/ide-connection-utils.js.map +1 -1
  427. package/dist/src/ide/ide-connection-utils.test.js +25 -2
  428. package/dist/src/ide/ide-connection-utils.test.js.map +1 -1
  429. package/dist/src/ide/types.d.ts +16 -16
  430. package/dist/src/index.d.ts +5 -2
  431. package/dist/src/index.js +5 -3
  432. package/dist/src/index.js.map +1 -1
  433. package/dist/src/mcp/oauth-provider.d.ts +8 -0
  434. package/dist/src/mcp/oauth-provider.js +41 -0
  435. package/dist/src/mcp/oauth-provider.js.map +1 -1
  436. package/dist/src/mcp/oauth-token-storage.js +7 -1
  437. package/dist/src/mcp/oauth-token-storage.js.map +1 -1
  438. package/dist/src/mcp/oauth-token-storage.test.js +55 -0
  439. package/dist/src/mcp/oauth-token-storage.test.js.map +1 -1
  440. package/dist/src/mcp/stored-token-provider.d.ts +27 -0
  441. package/dist/src/mcp/stored-token-provider.js +76 -0
  442. package/dist/src/mcp/stored-token-provider.js.map +1 -0
  443. package/dist/src/mcp/token-storage/keychain-token-storage.js +2 -2
  444. package/dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -1
  445. package/dist/src/mcp/token-storage/keychain-token-storage.test.js +14 -1
  446. package/dist/src/mcp/token-storage/keychain-token-storage.test.js.map +1 -1
  447. package/dist/src/output/json-formatter.d.ts +1 -1
  448. package/dist/src/output/json-formatter.js +4 -1
  449. package/dist/src/output/json-formatter.js.map +1 -1
  450. package/dist/src/output/json-formatter.test.js +7 -0
  451. package/dist/src/output/json-formatter.test.js.map +1 -1
  452. package/dist/src/output/types.d.ts +1 -0
  453. package/dist/src/output/types.js.map +1 -1
  454. package/dist/src/policy/config.js +25 -0
  455. package/dist/src/policy/config.js.map +1 -1
  456. package/dist/src/policy/config.test.js +80 -0
  457. package/dist/src/policy/config.test.js.map +1 -1
  458. package/dist/src/policy/core-tools-mapping.test.js +9 -1
  459. package/dist/src/policy/core-tools-mapping.test.js.map +1 -1
  460. package/dist/src/policy/policies/plan.toml +1 -1
  461. package/dist/src/policy/policies/write.toml +0 -7
  462. package/dist/src/policy/policy-engine.test.js +0 -8
  463. package/dist/src/policy/policy-engine.test.js.map +1 -1
  464. package/dist/src/policy/sandboxPolicyManager.d.ts +20 -20
  465. package/dist/src/policy/stable-stringify.js +10 -6
  466. package/dist/src/policy/stable-stringify.js.map +1 -1
  467. package/dist/src/policy/stable-stringify.test.js +157 -0
  468. package/dist/src/policy/stable-stringify.test.js.map +1 -0
  469. package/dist/src/policy/types.d.ts +1 -0
  470. package/dist/src/policy/types.js.map +1 -1
  471. package/dist/src/prompts/promptProvider.js +8 -9
  472. package/dist/src/prompts/promptProvider.js.map +1 -1
  473. package/dist/src/prompts/promptProvider.test.js +3 -1
  474. package/dist/src/prompts/promptProvider.test.js.map +1 -1
  475. package/dist/src/prompts/snippets-memory.test.d.ts +6 -0
  476. package/dist/src/prompts/{snippets-memory-v2.test.js → snippets-memory.test.js} +5 -23
  477. package/dist/src/prompts/snippets-memory.test.js.map +1 -0
  478. package/dist/src/prompts/snippets.d.ts +6 -11
  479. package/dist/src/prompts/snippets.js +28 -30
  480. package/dist/src/prompts/snippets.js.map +1 -1
  481. package/dist/src/prompts/snippets.legacy.d.ts +0 -1
  482. package/dist/src/prompts/snippets.legacy.js +8 -15
  483. package/dist/src/prompts/snippets.legacy.js.map +1 -1
  484. package/dist/src/routing/strategies/approvalModeStrategy.js +5 -3
  485. package/dist/src/routing/strategies/approvalModeStrategy.js.map +1 -1
  486. package/dist/src/routing/strategies/approvalModeStrategy.test.js +9 -0
  487. package/dist/src/routing/strategies/approvalModeStrategy.test.js.map +1 -1
  488. package/dist/src/routing/strategies/classifierStrategy.js +18 -4
  489. package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
  490. package/dist/src/routing/strategies/classifierStrategy.test.js +77 -1
  491. package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
  492. package/dist/src/routing/strategies/defaultStrategy.js +1 -1
  493. package/dist/src/routing/strategies/defaultStrategy.js.map +1 -1
  494. package/dist/src/routing/strategies/fallbackStrategy.js +1 -1
  495. package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -1
  496. package/dist/src/routing/strategies/gemmaClassifierStrategy.js +7 -1
  497. package/dist/src/routing/strategies/gemmaClassifierStrategy.js.map +1 -1
  498. package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js +15 -1
  499. package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js.map +1 -1
  500. package/dist/src/routing/strategies/numericalClassifierStrategy.d.ts +1 -0
  501. package/dist/src/routing/strategies/numericalClassifierStrategy.js +32 -5
  502. package/dist/src/routing/strategies/numericalClassifierStrategy.js.map +1 -1
  503. package/dist/src/routing/strategies/numericalClassifierStrategy.test.js +247 -25
  504. package/dist/src/routing/strategies/numericalClassifierStrategy.test.js.map +1 -1
  505. package/dist/src/routing/strategies/overrideStrategy.js +1 -1
  506. package/dist/src/routing/strategies/overrideStrategy.js.map +1 -1
  507. package/dist/src/sandbox/utils/commandSafety.js +22 -2
  508. package/dist/src/sandbox/utils/commandSafety.js.map +1 -1
  509. package/dist/src/sandbox/utils/commandSafety.test.d.ts +6 -0
  510. package/dist/src/sandbox/utils/commandSafety.test.js +85 -0
  511. package/dist/src/sandbox/utils/commandSafety.test.js.map +1 -0
  512. package/dist/src/scheduler/confirmation.test.js +29 -0
  513. package/dist/src/scheduler/confirmation.test.js.map +1 -1
  514. package/dist/src/scheduler/scheduler.js +15 -0
  515. package/dist/src/scheduler/scheduler.js.map +1 -1
  516. package/dist/src/scheduler/scheduler.test.js +1 -1
  517. package/dist/src/scheduler/scheduler.test.js.map +1 -1
  518. package/dist/src/scheduler/scheduler_parallel.test.js +37 -0
  519. package/dist/src/scheduler/scheduler_parallel.test.js.map +1 -1
  520. package/dist/src/scheduler/state-manager.js +5 -1
  521. package/dist/src/scheduler/state-manager.js.map +1 -1
  522. package/dist/src/scheduler/tool-executor.js +7 -4
  523. package/dist/src/scheduler/tool-executor.js.map +1 -1
  524. package/dist/src/scheduler/types.d.ts +5 -1
  525. package/dist/src/scheduler/types.js.map +1 -1
  526. package/dist/src/services/chatRecordingService.d.ts +14 -7
  527. package/dist/src/services/chatRecordingService.js +157 -133
  528. package/dist/src/services/chatRecordingService.js.map +1 -1
  529. package/dist/src/services/chatRecordingService.test.js +189 -52
  530. package/dist/src/services/chatRecordingService.test.js.map +1 -1
  531. package/dist/src/services/fileDiscoveryService.js +2 -1
  532. package/dist/src/services/fileDiscoveryService.js.map +1 -1
  533. package/dist/src/services/fileDiscoveryService.test.js +36 -0
  534. package/dist/src/services/fileDiscoveryService.test.js.map +1 -1
  535. package/dist/src/services/gitService.js +43 -4
  536. package/dist/src/services/gitService.js.map +1 -1
  537. package/dist/src/services/gitService.test.js +105 -1
  538. package/dist/src/services/gitService.test.js.map +1 -1
  539. package/dist/src/services/keychainService.js +14 -5
  540. package/dist/src/services/keychainService.js.map +1 -1
  541. package/dist/src/services/memoryPatchUtils.d.ts +93 -0
  542. package/dist/src/services/memoryPatchUtils.js +310 -2
  543. package/dist/src/services/memoryPatchUtils.js.map +1 -1
  544. package/dist/src/services/memoryService.d.ts +2 -0
  545. package/dist/src/services/memoryService.js +214 -9
  546. package/dist/src/services/memoryService.js.map +1 -1
  547. package/dist/src/services/memoryService.test.js +133 -0
  548. package/dist/src/services/memoryService.test.js.map +1 -1
  549. package/dist/src/services/modelConfigService.d.ts +3 -0
  550. package/dist/src/services/modelConfigService.js +22 -13
  551. package/dist/src/services/modelConfigService.js.map +1 -1
  552. package/dist/src/services/modelConfigService.test.js +73 -0
  553. package/dist/src/services/modelConfigService.test.js.map +1 -1
  554. package/dist/src/services/shellExecutionService.js +88 -41
  555. package/dist/src/services/shellExecutionService.js.map +1 -1
  556. package/dist/src/services/shellExecutionService.test.js +22 -9
  557. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  558. package/dist/src/services/shellExecutionService.windows.integration.test.d.ts +6 -0
  559. package/dist/src/services/shellExecutionService.windows.integration.test.js +63 -0
  560. package/dist/src/services/shellExecutionService.windows.integration.test.js.map +1 -0
  561. package/dist/src/services/test-data/resolved-aliases-retry.golden.json +85 -7
  562. package/dist/src/services/test-data/resolved-aliases.golden.json +85 -7
  563. package/dist/src/services/trackerTypes.d.ts +4 -4
  564. package/dist/src/skills/skillManager.d.ts +4 -0
  565. package/dist/src/skills/skillManager.js +6 -0
  566. package/dist/src/skills/skillManager.js.map +1 -1
  567. package/dist/src/skills/skillManager.test.js +10 -0
  568. package/dist/src/skills/skillManager.test.js.map +1 -1
  569. package/dist/src/telemetry/file-exporters.d.ts +4 -1
  570. package/dist/src/telemetry/file-exporters.js +21 -3
  571. package/dist/src/telemetry/file-exporters.js.map +1 -1
  572. package/dist/src/telemetry/file-exporters.test.js +32 -2
  573. package/dist/src/telemetry/file-exporters.test.js.map +1 -1
  574. package/dist/src/telemetry/gcp-exporters.d.ts +3 -0
  575. package/dist/src/telemetry/gcp-exporters.js +72 -5
  576. package/dist/src/telemetry/gcp-exporters.js.map +1 -1
  577. package/dist/src/telemetry/gcp-exporters.test.js +52 -0
  578. package/dist/src/telemetry/gcp-exporters.test.js.map +1 -1
  579. package/dist/src/telemetry/heap-snapshot.d.ts +12 -0
  580. package/dist/src/telemetry/heap-snapshot.js +35 -0
  581. package/dist/src/telemetry/heap-snapshot.js.map +1 -0
  582. package/dist/src/telemetry/heap-snapshot.test.d.ts +6 -0
  583. package/dist/src/telemetry/heap-snapshot.test.js +38 -0
  584. package/dist/src/telemetry/heap-snapshot.test.js.map +1 -0
  585. package/dist/src/telemetry/index.d.ts +1 -0
  586. package/dist/src/telemetry/index.js +1 -0
  587. package/dist/src/telemetry/index.js.map +1 -1
  588. package/dist/src/telemetry/loggers.test.js +1 -0
  589. package/dist/src/telemetry/loggers.test.js.map +1 -1
  590. package/dist/src/telemetry/memory-monitor.d.ts +5 -0
  591. package/dist/src/telemetry/memory-monitor.js +8 -0
  592. package/dist/src/telemetry/memory-monitor.js.map +1 -1
  593. package/dist/src/telemetry/metrics.js +13 -2
  594. package/dist/src/telemetry/metrics.js.map +1 -1
  595. package/dist/src/telemetry/metrics.test.js +61 -1
  596. package/dist/src/telemetry/metrics.test.js.map +1 -1
  597. package/dist/src/test-utils/config.js +10 -1
  598. package/dist/src/test-utils/config.js.map +1 -1
  599. package/dist/src/tools/ask-user.js +25 -1
  600. package/dist/src/tools/ask-user.js.map +1 -1
  601. package/dist/src/tools/ask-user.test.js +46 -1
  602. package/dist/src/tools/ask-user.test.js.map +1 -1
  603. package/dist/src/tools/definitions/base-declarations.d.ts +0 -3
  604. package/dist/src/tools/definitions/base-declarations.js +0 -4
  605. package/dist/src/tools/definitions/base-declarations.js.map +1 -1
  606. package/dist/src/tools/definitions/coreTools.d.ts +1 -2
  607. package/dist/src/tools/definitions/coreTools.js +2 -8
  608. package/dist/src/tools/definitions/coreTools.js.map +1 -1
  609. package/dist/src/tools/definitions/coreToolsModelSnapshots.test.js +1 -2
  610. package/dist/src/tools/definitions/coreToolsModelSnapshots.test.js.map +1 -1
  611. package/dist/src/tools/definitions/model-family-sets/default-legacy.js +7 -31
  612. package/dist/src/tools/definitions/model-family-sets/default-legacy.js.map +1 -1
  613. package/dist/src/tools/definitions/model-family-sets/gemini-3.js +9 -26
  614. package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
  615. package/dist/src/tools/definitions/types.d.ts +0 -1
  616. package/dist/src/tools/edit.js +27 -5
  617. package/dist/src/tools/edit.js.map +1 -1
  618. package/dist/src/tools/edit.test.js +37 -0
  619. package/dist/src/tools/edit.test.js.map +1 -1
  620. package/dist/src/tools/grep.js +14 -2
  621. package/dist/src/tools/grep.js.map +1 -1
  622. package/dist/src/tools/grep.test.js +17 -0
  623. package/dist/src/tools/grep.test.js.map +1 -1
  624. package/dist/src/tools/jit-context.d.ts +1 -1
  625. package/dist/src/tools/jit-context.js +1 -4
  626. package/dist/src/tools/jit-context.js.map +1 -1
  627. package/dist/src/tools/jit-context.test.js +1 -13
  628. package/dist/src/tools/jit-context.test.js.map +1 -1
  629. package/dist/src/tools/ls.js +5 -0
  630. package/dist/src/tools/ls.js.map +1 -1
  631. package/dist/src/tools/mcp-client-manager.js +2 -1
  632. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  633. package/dist/src/tools/mcp-client-manager.test.js +29 -0
  634. package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
  635. package/dist/src/tools/mcp-client.js +89 -50
  636. package/dist/src/tools/mcp-client.js.map +1 -1
  637. package/dist/src/tools/mcp-client.test.js +353 -59
  638. package/dist/src/tools/mcp-client.test.js.map +1 -1
  639. package/dist/src/tools/{xcode-mcp-fix-transport.d.ts → mcp-compliance-transport.d.ts} +6 -6
  640. package/dist/src/tools/{xcode-mcp-fix-transport.js → mcp-compliance-transport.js} +6 -6
  641. package/dist/src/tools/mcp-compliance-transport.js.map +1 -0
  642. package/dist/src/tools/mcp-compliance-transport.test.d.ts +6 -0
  643. package/dist/src/tools/mcp-compliance-transport.test.js +162 -0
  644. package/dist/src/tools/mcp-compliance-transport.test.js.map +1 -0
  645. package/dist/src/tools/memoryTool.d.ts +9 -31
  646. package/dist/src/tools/memoryTool.js +47 -262
  647. package/dist/src/tools/memoryTool.js.map +1 -1
  648. package/dist/src/tools/memoryTool.test.js +41 -312
  649. package/dist/src/tools/memoryTool.test.js.map +1 -1
  650. package/dist/src/tools/read-file.js +11 -6
  651. package/dist/src/tools/read-file.js.map +1 -1
  652. package/dist/src/tools/read-file.test.js +20 -8
  653. package/dist/src/tools/read-file.test.js.map +1 -1
  654. package/dist/src/tools/read-many-files.js +2 -2
  655. package/dist/src/tools/read-many-files.js.map +1 -1
  656. package/dist/src/tools/ripGrep.d.ts +3 -7
  657. package/dist/src/tools/ripGrep.js +57 -35
  658. package/dist/src/tools/ripGrep.js.map +1 -1
  659. package/dist/src/tools/ripGrep.test.js +197 -276
  660. package/dist/src/tools/ripGrep.test.js.map +1 -1
  661. package/dist/src/tools/shell.d.ts +5 -3
  662. package/dist/src/tools/shell.js +130 -36
  663. package/dist/src/tools/shell.js.map +1 -1
  664. package/dist/src/tools/shell.test.js +186 -14
  665. package/dist/src/tools/shell.test.js.map +1 -1
  666. package/dist/src/tools/shell_proactive.test.js +1 -0
  667. package/dist/src/tools/shell_proactive.test.js.map +1 -1
  668. package/dist/src/tools/tool-names.d.ts +3 -3
  669. package/dist/src/tools/tool-names.js +4 -5
  670. package/dist/src/tools/tool-names.js.map +1 -1
  671. package/dist/src/tools/tool-registry.js +1 -1
  672. package/dist/src/tools/tool-registry.js.map +1 -1
  673. package/dist/src/tools/tools.d.ts +6 -0
  674. package/dist/src/tools/tools.js.map +1 -1
  675. package/dist/src/tools/topicTool.js +5 -0
  676. package/dist/src/tools/topicTool.js.map +1 -1
  677. package/dist/src/tools/write-file.js +13 -0
  678. package/dist/src/tools/write-file.js.map +1 -1
  679. package/dist/src/tools/write-file.test.js +8 -0
  680. package/dist/src/tools/write-file.test.js.map +1 -1
  681. package/dist/src/utils/atCommandUtils.d.ts +35 -0
  682. package/dist/src/utils/atCommandUtils.js +163 -0
  683. package/dist/src/utils/atCommandUtils.js.map +1 -0
  684. package/dist/src/utils/atCommandUtils.test.d.ts +6 -0
  685. package/dist/src/utils/atCommandUtils.test.js +292 -0
  686. package/dist/src/utils/atCommandUtils.test.js.map +1 -0
  687. package/dist/src/utils/channel.d.ts +8 -0
  688. package/dist/src/utils/channel.js +21 -10
  689. package/dist/src/utils/channel.js.map +1 -1
  690. package/dist/src/utils/cryptoUtils.d.ts +11 -0
  691. package/dist/src/utils/cryptoUtils.js +19 -0
  692. package/dist/src/utils/cryptoUtils.js.map +1 -0
  693. package/dist/src/utils/cryptoUtils.test.d.ts +6 -0
  694. package/dist/src/utils/cryptoUtils.test.js +31 -0
  695. package/dist/src/utils/cryptoUtils.test.js.map +1 -0
  696. package/dist/src/utils/editor.d.ts +29 -3
  697. package/dist/src/utils/editor.js +94 -3
  698. package/dist/src/utils/editor.js.map +1 -1
  699. package/dist/src/utils/editor.test.js +176 -2
  700. package/dist/src/utils/editor.test.js.map +1 -1
  701. package/dist/src/utils/environmentContext.d.ts +2 -1
  702. package/dist/src/utils/environmentContext.js +15 -8
  703. package/dist/src/utils/environmentContext.js.map +1 -1
  704. package/dist/src/utils/environmentContext.test.js +4 -14
  705. package/dist/src/utils/environmentContext.test.js.map +1 -1
  706. package/dist/src/utils/errors.js +3 -8
  707. package/dist/src/utils/errors.js.map +1 -1
  708. package/dist/src/utils/events.d.ts +26 -1
  709. package/dist/src/utils/events.js +21 -2
  710. package/dist/src/utils/events.js.map +1 -1
  711. package/dist/src/utils/events.test.js +39 -0
  712. package/dist/src/utils/events.test.js.map +1 -1
  713. package/dist/src/utils/extensionLoader.js +2 -2
  714. package/dist/src/utils/extensionLoader.js.map +1 -1
  715. package/dist/src/utils/extensionLoader.test.js +22 -15
  716. package/dist/src/utils/extensionLoader.test.js.map +1 -1
  717. package/dist/src/utils/fetch.d.ts +3 -3
  718. package/dist/src/utils/fetch.js +44 -20
  719. package/dist/src/utils/fetch.js.map +1 -1
  720. package/dist/src/utils/fetch.test.js +93 -17
  721. package/dist/src/utils/fetch.test.js.map +1 -1
  722. package/dist/src/utils/fileUtils.js +4 -1
  723. package/dist/src/utils/fileUtils.js.map +1 -1
  724. package/dist/src/utils/filesearch/fileSearch.js +20 -9
  725. package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
  726. package/dist/src/utils/filesearch/ignore.js +4 -1
  727. package/dist/src/utils/filesearch/ignore.js.map +1 -1
  728. package/dist/src/utils/generateContentResponseUtilities.d.ts +1 -0
  729. package/dist/src/utils/generateContentResponseUtilities.js +37 -7
  730. package/dist/src/utils/generateContentResponseUtilities.js.map +1 -1
  731. package/dist/src/utils/generateContentResponseUtilities.test.js +33 -0
  732. package/dist/src/utils/generateContentResponseUtilities.test.js.map +1 -1
  733. package/dist/src/utils/gitUtils.d.ts +5 -0
  734. package/dist/src/utils/gitUtils.js +11 -0
  735. package/dist/src/utils/gitUtils.js.map +1 -1
  736. package/dist/src/utils/historyHardening.d.ts +37 -0
  737. package/dist/src/utils/historyHardening.js +332 -0
  738. package/dist/src/utils/historyHardening.js.map +1 -0
  739. package/dist/src/utils/historyHardening.test.d.ts +6 -0
  740. package/dist/src/utils/historyHardening.test.js +317 -0
  741. package/dist/src/utils/historyHardening.test.js.map +1 -0
  742. package/dist/src/utils/ignoreFileParser.js +1 -1
  743. package/dist/src/utils/ignoreFileParser.js.map +1 -1
  744. package/dist/src/utils/ignorePatterns.js +2 -0
  745. package/dist/src/utils/ignorePatterns.js.map +1 -1
  746. package/dist/src/utils/ignorePatterns.test.js +1 -0
  747. package/dist/src/utils/ignorePatterns.test.js.map +1 -1
  748. package/dist/src/utils/memoryDiscovery.d.ts +0 -20
  749. package/dist/src/utils/memoryDiscovery.js +57 -220
  750. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  751. package/dist/src/utils/memoryDiscovery.test.js +112 -403
  752. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  753. package/dist/src/utils/modelUtils.d.ts +14 -0
  754. package/dist/src/utils/modelUtils.js +17 -0
  755. package/dist/src/utils/modelUtils.js.map +1 -0
  756. package/dist/src/utils/modelUtils.test.d.ts +6 -0
  757. package/dist/src/utils/modelUtils.test.js +23 -0
  758. package/dist/src/utils/modelUtils.test.js.map +1 -0
  759. package/dist/src/utils/partUtils.d.ts +26 -1
  760. package/dist/src/utils/partUtils.js +37 -0
  761. package/dist/src/utils/partUtils.js.map +1 -1
  762. package/dist/src/utils/path-validator.d.ts +17 -0
  763. package/dist/src/utils/path-validator.js +76 -0
  764. package/dist/src/utils/path-validator.js.map +1 -0
  765. package/dist/src/utils/path-validator.test.d.ts +6 -0
  766. package/dist/src/utils/path-validator.test.js +91 -0
  767. package/dist/src/utils/path-validator.test.js.map +1 -0
  768. package/dist/src/utils/pathReader.js +12 -0
  769. package/dist/src/utils/pathReader.js.map +1 -1
  770. package/dist/src/utils/pathReader.test.js +95 -0
  771. package/dist/src/utils/pathReader.test.js.map +1 -1
  772. package/dist/src/utils/paths.d.ts +19 -1
  773. package/dist/src/utils/paths.js +74 -9
  774. package/dist/src/utils/paths.js.map +1 -1
  775. package/dist/src/utils/paths.test.js +111 -1
  776. package/dist/src/utils/paths.test.js.map +1 -1
  777. package/dist/src/utils/quotaErrorDetection.js +23 -12
  778. package/dist/src/utils/quotaErrorDetection.js.map +1 -1
  779. package/dist/src/utils/ragLogger.d.ts +32 -0
  780. package/dist/src/utils/ragLogger.js +56 -0
  781. package/dist/src/utils/ragLogger.js.map +1 -0
  782. package/dist/src/utils/ragLogger.test.d.ts +6 -0
  783. package/dist/src/utils/ragLogger.test.js +97 -0
  784. package/dist/src/utils/ragLogger.test.js.map +1 -0
  785. package/dist/src/utils/retry.js +8 -3
  786. package/dist/src/utils/retry.js.map +1 -1
  787. package/dist/src/utils/retry.test.js +17 -0
  788. package/dist/src/utils/retry.test.js.map +1 -1
  789. package/dist/src/utils/safeJsonStringify.js +0 -2
  790. package/dist/src/utils/safeJsonStringify.js.map +1 -1
  791. package/dist/src/utils/sessionOperations.d.ts +26 -0
  792. package/dist/src/utils/sessionOperations.js +177 -8
  793. package/dist/src/utils/sessionOperations.js.map +1 -1
  794. package/dist/src/utils/sessionUtils.d.ts +11 -5
  795. package/dist/src/utils/sessionUtils.js +139 -68
  796. package/dist/src/utils/sessionUtils.js.map +1 -1
  797. package/dist/src/utils/sessionUtils.test.js +31 -5
  798. package/dist/src/utils/sessionUtils.test.js.map +1 -1
  799. package/dist/src/utils/shell-utils.d.ts +9 -1
  800. package/dist/src/utils/shell-utils.js +51 -20
  801. package/dist/src/utils/shell-utils.js.map +1 -1
  802. package/dist/src/utils/shell-utils.test.js +87 -46
  803. package/dist/src/utils/shell-utils.test.js.map +1 -1
  804. package/dist/src/utils/textUtils.d.ts +12 -2
  805. package/dist/src/utils/textUtils.js +30 -3
  806. package/dist/src/utils/textUtils.js.map +1 -1
  807. package/dist/src/utils/textUtils.test.js +96 -1
  808. package/dist/src/utils/textUtils.test.js.map +1 -1
  809. package/dist/src/utils/tokenCalculation.d.ts +3 -2
  810. package/dist/src/utils/tokenCalculation.js +9 -5
  811. package/dist/src/utils/tokenCalculation.js.map +1 -1
  812. package/dist/src/utils/tokenCalculation.test.js +15 -0
  813. package/dist/src/utils/tokenCalculation.test.js.map +1 -1
  814. package/dist/tsconfig.tsbuildinfo +1 -1
  815. package/package.json +18 -18
  816. package/dist/src/context/historyObserver.d.ts +0 -28
  817. package/dist/src/context/historyObserver.js +0 -63
  818. package/dist/src/context/historyObserver.js.map +0 -1
  819. package/dist/src/policy/memory-manager-policy.test.js +0 -80
  820. package/dist/src/policy/memory-manager-policy.test.js.map +0 -1
  821. package/dist/src/policy/policies/memory-manager.toml +0 -20
  822. package/dist/src/prompts/snippets-memory-v2.test.js.map +0 -1
  823. package/dist/src/tools/xcode-mcp-fix-transport.js.map +0 -1
  824. package/dist/src/tools/xcode-mcp-fix-transport.test.d.ts +0 -1
  825. package/dist/src/tools/xcode-mcp-fix-transport.test.js +0 -98
  826. package/dist/src/tools/xcode-mcp-fix-transport.test.js.map +0 -1
  827. package/dist/src/utils/systemEncoding.d.ts +0 -40
  828. package/dist/src/utils/systemEncoding.js +0 -150
  829. package/dist/src/utils/systemEncoding.js.map +0 -1
  830. package/dist/src/utils/systemEncoding.test.js +0 -369
  831. package/dist/src/utils/systemEncoding.test.js.map +0 -1
  832. /package/dist/src/{policy/memory-manager-policy.test.d.ts → agents/local-session-invocation.test.d.ts} +0 -0
  833. /package/dist/src/{prompts/snippets-memory-v2.test.d.ts → agents/local-subagent-protocol.test.d.ts} +0 -0
  834. /package/dist/src/{utils/systemEncoding.test.d.ts → policy/stable-stringify.test.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"setup.test.js","sourceRoot":"","sources":["../../../src/code_assist/setup.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.test.js","sourceRoot":"","sources":["../../../src/code_assist/setup.test.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,11 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import type { Config } from '../config/config.js';
7
- import type { MessageActionReturn, ToolActionReturn } from './types.js';
7
+ import { type InboxMemoryPatchKind } from '../services/memoryPatchUtils.js';
8
+ import type { MessageActionReturn } from './types.js';
9
+ export type { InboxMemoryPatchKind } from '../services/memoryPatchUtils.js';
10
+ export { getAllowedMemoryPatchRoots } from '../services/memoryPatchUtils.js';
8
11
  export declare function showMemory(config: Config): MessageActionReturn;
9
- export declare function addMemory(args?: string): MessageActionReturn | ToolActionReturn;
10
12
  export declare function refreshMemory(config: Config): Promise<MessageActionReturn>;
11
13
  export declare function listMemoryFiles(config: Config): MessageActionReturn;
12
14
  /**
@@ -66,6 +68,85 @@ export interface InboxPatch {
66
68
  /** When the patch was extracted (ISO string), if known. */
67
69
  extractedAt?: string;
68
70
  }
71
+ /**
72
+ * One target file inside a memory patch (most patches will have a single entry).
73
+ */
74
+ export interface InboxMemoryPatchEntry {
75
+ /** Absolute path of the markdown file the patch will modify. */
76
+ targetPath: string;
77
+ /** Unified diff for this single file (used for UI preview). */
78
+ diffContent: string;
79
+ /** True when this entry creates a new file (`/dev/null` source). */
80
+ isNewFile: boolean;
81
+ }
82
+ /**
83
+ * Represents the AGGREGATED inbox state for one memory kind. Even when the
84
+ * extraction agent has produced multiple `.patch` files under
85
+ * `<memoryDir>/.inbox/<kind>/` (e.g. across several sessions), the inbox
86
+ * surfaces them as ONE entry per kind. Apply runs each underlying patch in
87
+ * sequence; Dismiss removes them all.
88
+ */
89
+ export interface InboxMemoryPatch {
90
+ /** Memory tier — one entry per kind in the inbox. */
91
+ kind: InboxMemoryPatchKind;
92
+ /**
93
+ * Stable identifier for this consolidated entry. Set to the kind itself
94
+ * (`"private"` or `"global"`); kept in the type for backwards-compat with
95
+ * the per-file API the dialog passes through.
96
+ */
97
+ relativePath: string;
98
+ /** Display name shown in the inbox row (e.g. `"Private memory"`). */
99
+ name: string;
100
+ /** All hunks from all underlying source patches, concatenated in order. */
101
+ entries: InboxMemoryPatchEntry[];
102
+ /** Basenames of the underlying `.patch` files being aggregated. */
103
+ sourceFiles: string[];
104
+ /** Most recent mtime across the source files (ISO string), if known. */
105
+ extractedAt?: string;
106
+ }
107
+ /**
108
+ * Scans `<memoryDir>/.inbox/{private,global}/` and returns ONE consolidated
109
+ * inbox entry per kind. Each entry aggregates all hunks from every valid
110
+ * underlying `.patch` file. Patches that fail validation (unparseable, no
111
+ * hunks, target outside the allowed target set) are silently skipped so they
112
+ * don't pollute the inbox UI.
113
+ */
114
+ export declare function listInboxMemoryPatches(config: Config): Promise<InboxMemoryPatch[]>;
115
+ /**
116
+ * Applies an inbox memory patch atomically and removes the patch on success.
117
+ *
118
+ * Process:
119
+ * 1. Parse + validate the patch headers (absolute paths only, no `a/`/`b/`).
120
+ * 2. Dry-run the patch against the current target content (or empty for
121
+ * `/dev/null` creation patches).
122
+ * 3. Stage the patched content to a temp file, then rename into place.
123
+ * 4. On any failure, restore previous content from the staged snapshot and
124
+ * leave the inbox patch intact for retry.
125
+ */
126
+ /**
127
+ * Applies one inbox memory entry. Two modes:
128
+ * - Aggregate mode (`relativePath === kind`): walk every `.patch` file in
129
+ * the kind's inbox directory and apply each one in lexical order. Each
130
+ * file is its own atomic transaction; failures don't block subsequent
131
+ * successes. Returns an aggregated summary (e.g. "Applied 3 of 4 sub-
132
+ * patches; 1 failed: …").
133
+ * - Single-file mode (legacy): `relativePath` points at a specific
134
+ * `.patch` filename. Used by tests and direct callers.
135
+ */
136
+ export declare function applyInboxMemoryPatch(config: Config, kind: InboxMemoryPatchKind, relativePath: string): Promise<{
137
+ success: boolean;
138
+ message: string;
139
+ }>;
140
+ /**
141
+ * Removes inbox memory patch(es) without applying. Two modes:
142
+ * - Aggregate (`relativePath === kind`): unlink every `.patch` file in the
143
+ * kind's inbox directory. Used by the consolidated inbox UI's Dismiss.
144
+ * - Single-file (legacy): unlink one specific `.patch` file.
145
+ */
146
+ export declare function dismissInboxMemoryPatch(config: Config, kind: InboxMemoryPatchKind, relativePath: string): Promise<{
147
+ success: boolean;
148
+ message: string;
149
+ }>;
69
150
  /**
70
151
  * Scans the skill extraction inbox for .patch files and returns
71
152
  * structured data for each valid patch.
@@ -11,9 +11,9 @@ import * as Diff from 'diff';
11
11
  import { Storage } from '../config/storage.js';
12
12
  import { flattenMemory } from '../config/memory.js';
13
13
  import { loadSkillFromFile, loadSkillsFromDir } from '../skills/skillLoader.js';
14
- import { applyParsedSkillPatches, hasParsedPatchHunks, isProjectSkillPatchTarget, validateParsedSkillPatchHeaders, } from '../services/memoryPatchUtils.js';
14
+ import { applyParsedPatchesWithAllowedRoots, applyParsedSkillPatches, findDisallowedMemoryPatchTarget, getInboxMemoryPatchSourcePath, getMemoryPatchTargetValidationContext, isResolvedMemoryPatchTargetAllowed, hasParsedPatchHunks, isProjectSkillPatchTarget, listInboxPatchFiles, listValidInboxPatchFiles, normalizeInboxMemoryPatchPath, resolveMemoryPatchTargetWithinAllowedSet, validateParsedSkillPatchHeaders, } from '../services/memoryPatchUtils.js';
15
15
  import { readExtractionState } from '../services/memoryService.js';
16
- import { refreshServerHierarchicalMemory } from '../utils/memoryDiscovery.js';
16
+ export { getAllowedMemoryPatchRoots } from '../services/memoryPatchUtils.js';
17
17
  export function showMemory(config) {
18
18
  const memoryContent = flattenMemory(config.getUserMemory());
19
19
  const fileCount = config.getGeminiMdFileCount() || 0;
@@ -30,33 +30,10 @@ export function showMemory(config) {
30
30
  content,
31
31
  };
32
32
  }
33
- export function addMemory(args) {
34
- if (!args || args.trim() === '') {
35
- return {
36
- type: 'message',
37
- messageType: 'error',
38
- content: 'Usage: /memory add <text to remember>',
39
- };
40
- }
41
- return {
42
- type: 'tool',
43
- toolName: 'save_memory',
44
- toolArgs: { fact: args.trim() },
45
- };
46
- }
47
33
  export async function refreshMemory(config) {
48
- let memoryContent = '';
49
- let fileCount = 0;
50
- if (config.isJitContextEnabled()) {
51
- await config.getMemoryContextManager()?.refresh();
52
- memoryContent = flattenMemory(config.getUserMemory());
53
- fileCount = config.getGeminiMdFileCount();
54
- }
55
- else {
56
- const result = await refreshServerHierarchicalMemory(config);
57
- memoryContent = flattenMemory(result.memoryContent);
58
- fileCount = result.fileCount;
59
- }
34
+ await config.getMemoryContextManager()?.refresh();
35
+ const memoryContent = flattenMemory(config.getUserMemory());
36
+ const fileCount = config.getGeminiMdFileCount();
60
37
  config.updateSystemInstructionIfInitialized();
61
38
  let content;
62
39
  if (memoryContent.length > 0) {
@@ -258,6 +235,15 @@ function formatParsedDiff(parsed) {
258
235
  function getErrorMessage(error) {
259
236
  return error instanceof Error ? error.message : String(error);
260
237
  }
238
+ async function getFileMtimeIso(filePath) {
239
+ try {
240
+ const stats = await fs.stat(filePath);
241
+ return stats.mtime.toISOString();
242
+ }
243
+ catch {
244
+ return undefined;
245
+ }
246
+ }
261
247
  async function patchTargetsProjectSkills(targetPaths, config) {
262
248
  for (const targetPath of targetPaths) {
263
249
  if (await isProjectSkillPatchTarget(targetPath, config)) {
@@ -275,6 +261,471 @@ async function getPatchExtractedAt(patchPath) {
275
261
  return undefined;
276
262
  }
277
263
  }
264
+ function formatMemoryKindLabel(kind) {
265
+ switch (kind) {
266
+ case 'private':
267
+ return 'Private memory';
268
+ case 'global':
269
+ return 'Global memory';
270
+ default:
271
+ return kind;
272
+ }
273
+ }
274
+ /**
275
+ * Scans `<memoryDir>/.inbox/{private,global}/` and returns ONE consolidated
276
+ * inbox entry per kind. Each entry aggregates all hunks from every valid
277
+ * underlying `.patch` file. Patches that fail validation (unparseable, no
278
+ * hunks, target outside the allowed target set) are silently skipped so they
279
+ * don't pollute the inbox UI.
280
+ */
281
+ export async function listInboxMemoryPatches(config) {
282
+ const kinds = ['private', 'global'];
283
+ const aggregated = [];
284
+ for (const kind of kinds) {
285
+ const validationContext = await getMemoryPatchTargetValidationContext(config, kind);
286
+ const patchFiles = await listInboxPatchFiles(config, kind);
287
+ const aggregatedEntries = [];
288
+ const sourceFiles = [];
289
+ let latestMtime;
290
+ for (const sourcePath of patchFiles) {
291
+ let content;
292
+ try {
293
+ content = await fs.readFile(sourcePath, 'utf-8');
294
+ }
295
+ catch {
296
+ continue;
297
+ }
298
+ let parsed;
299
+ try {
300
+ parsed = Diff.parsePatch(content);
301
+ }
302
+ catch {
303
+ continue;
304
+ }
305
+ if (!hasParsedPatchHunks(parsed)) {
306
+ continue;
307
+ }
308
+ const validated = validateParsedSkillPatchHeaders(parsed);
309
+ if (!validated.success) {
310
+ continue;
311
+ }
312
+ // Skip the entire source file if ANY of its targets escapes the kind's
313
+ // allowed target set.
314
+ const targetsAllAllowed = await Promise.all(validated.patches.map(async (header) => (await resolveMemoryPatchTargetWithinAllowedSet(header.targetPath, validationContext)) !== undefined));
315
+ if (!targetsAllAllowed.every(Boolean)) {
316
+ continue;
317
+ }
318
+ for (const [index, header] of validated.patches.entries()) {
319
+ aggregatedEntries.push({
320
+ targetPath: header.targetPath,
321
+ isNewFile: header.isNewFile,
322
+ diffContent: formatParsedDiff(parsed[index]),
323
+ });
324
+ }
325
+ sourceFiles.push(path.basename(sourcePath));
326
+ const mtime = await getFileMtimeIso(sourcePath);
327
+ if (mtime && (!latestMtime || mtime > latestMtime)) {
328
+ latestMtime = mtime;
329
+ }
330
+ }
331
+ if (aggregatedEntries.length === 0) {
332
+ continue;
333
+ }
334
+ aggregated.push({
335
+ kind,
336
+ relativePath: kind,
337
+ name: formatMemoryKindLabel(kind),
338
+ entries: aggregatedEntries,
339
+ sourceFiles,
340
+ extractedAt: latestMtime,
341
+ });
342
+ }
343
+ return aggregated;
344
+ }
345
+ /**
346
+ * Applies an inbox memory patch atomically and removes the patch on success.
347
+ *
348
+ * Process:
349
+ * 1. Parse + validate the patch headers (absolute paths only, no `a/`/`b/`).
350
+ * 2. Dry-run the patch against the current target content (or empty for
351
+ * `/dev/null` creation patches).
352
+ * 3. Stage the patched content to a temp file, then rename into place.
353
+ * 4. On any failure, restore previous content from the staged snapshot and
354
+ * leave the inbox patch intact for retry.
355
+ */
356
+ /**
357
+ * Applies one inbox memory entry. Two modes:
358
+ * - Aggregate mode (`relativePath === kind`): walk every `.patch` file in
359
+ * the kind's inbox directory and apply each one in lexical order. Each
360
+ * file is its own atomic transaction; failures don't block subsequent
361
+ * successes. Returns an aggregated summary (e.g. "Applied 3 of 4 sub-
362
+ * patches; 1 failed: …").
363
+ * - Single-file mode (legacy): `relativePath` points at a specific
364
+ * `.patch` filename. Used by tests and direct callers.
365
+ */
366
+ export async function applyInboxMemoryPatch(config, kind, relativePath) {
367
+ if (relativePath === kind) {
368
+ return applyAllInboxPatchesForKind(config, kind);
369
+ }
370
+ const normalizedPath = normalizeInboxMemoryPatchPath(relativePath);
371
+ if (!normalizedPath) {
372
+ return { success: false, message: 'Invalid memory patch path.' };
373
+ }
374
+ const sourcePath = await getInboxMemoryPatchSourcePath(config, kind, normalizedPath);
375
+ if (!sourcePath) {
376
+ return { success: false, message: 'Invalid memory patch path.' };
377
+ }
378
+ return applyMemoryPatchFile(config, kind, sourcePath, normalizedPath);
379
+ }
380
+ async function applyAllInboxPatchesForKind(config, kind) {
381
+ // Only attempt patches the user actually saw in the inbox listing.
382
+ // Files that were filtered (bad headers, escape allowed root, etc.) stay
383
+ // on disk untouched.
384
+ const patchFiles = await listValidInboxPatchFiles(config, kind);
385
+ if (patchFiles.length === 0) {
386
+ return {
387
+ success: false,
388
+ message: `No ${kind} memory patches in inbox.`,
389
+ };
390
+ }
391
+ const successes = [];
392
+ const failures = [];
393
+ let pointersAddedAcrossPatches = [];
394
+ for (const sourcePath of patchFiles) {
395
+ const basename = path.basename(sourcePath);
396
+ const result = await applyMemoryPatchFile(config, kind, sourcePath, basename);
397
+ if (result.success) {
398
+ successes.push(basename);
399
+ // Surface auto-added MEMORY.md pointer info if present.
400
+ const pointerMatch = result.message.match(/Auto-added MEMORY\.md pointer for ([^.]+)\./);
401
+ if (pointerMatch) {
402
+ pointersAddedAcrossPatches.push(pointerMatch[1]);
403
+ }
404
+ }
405
+ else {
406
+ failures.push({ name: basename, reason: result.message });
407
+ }
408
+ }
409
+ // De-dup pointer notes (same sibling could have been mentioned twice).
410
+ pointersAddedAcrossPatches = Array.from(new Set(pointersAddedAcrossPatches));
411
+ const total = successes.length + failures.length;
412
+ if (failures.length === 0) {
413
+ const pointerNote = pointersAddedAcrossPatches.length > 0
414
+ ? ` Auto-added MEMORY.md pointer(s) for ${pointersAddedAcrossPatches.join('; ')}.`
415
+ : '';
416
+ return {
417
+ success: true,
418
+ message: `Applied all ${successes.length} ${kind} memory patch${successes.length === 1 ? '' : 'es'}.${pointerNote}`,
419
+ };
420
+ }
421
+ const failureSummary = failures
422
+ .map((f) => `"${f.name}" — ${f.reason}`)
423
+ .join('; ');
424
+ // Any failure → success=false so the dialog keeps the inbox entry visible
425
+ // (the user needs to see and retry/dismiss the remaining sub-patches).
426
+ // The successful sub-patches have already been removed from disk by
427
+ // applyMemoryPatchFile, so the next listing will show only the failures.
428
+ return {
429
+ success: false,
430
+ message: `Applied ${successes.length} of ${total} ${kind} memory patches. ` +
431
+ `${failures.length} failed: ${failureSummary}`,
432
+ };
433
+ }
434
+ async function canonicalizeDirIfPresent(dirPath) {
435
+ try {
436
+ return await fs.realpath(dirPath);
437
+ }
438
+ catch {
439
+ return path.resolve(dirPath);
440
+ }
441
+ }
442
+ /**
443
+ * Returns the basenames of any sibling .md files (not MEMORY.md itself) that
444
+ * are being CREATED by this patch under `<memoryDir>/` directly.
445
+ */
446
+ function findSiblingCreations(appliedResults, memoryDir) {
447
+ return appliedResults.filter((entry) => {
448
+ if (!entry.isNewFile)
449
+ return false;
450
+ const targetDir = path.dirname(path.resolve(entry.targetPath));
451
+ if (targetDir !== memoryDir)
452
+ return false;
453
+ const basename = path.basename(entry.targetPath);
454
+ if (basename.toLowerCase() === 'memory.md')
455
+ return false;
456
+ return basename.toLowerCase().endsWith('.md');
457
+ });
458
+ }
459
+ /**
460
+ * MEMORY.md is the index that gets injected into future agent contexts.
461
+ * Sibling .md files in `<memoryDir>/` are loaded ON DEMAND by the runtime
462
+ * agent via `read_file` — but only IF MEMORY.md references them by name
463
+ * (see `getUserProjectMemoryPaths`).
464
+ *
465
+ * If a private patch creates a sibling without also referencing it from
466
+ * MEMORY.md, the new file would never be discoverable. Rather than rejecting
467
+ * the patch (bad UX), we auto-bundle a MEMORY.md update that adds a
468
+ * one-line pointer per orphan sibling. The augmented entry is then committed
469
+ * atomically alongside the rest of the patch.
470
+ *
471
+ * If the patch already updates/creates MEMORY.md and the new content already
472
+ * references the sibling, no augmentation is needed.
473
+ */
474
+ async function augmentWithAutoPointers(config, appliedResults) {
475
+ const memoryDir = await canonicalizeDirIfPresent(config.storage.getProjectMemoryTempDir());
476
+ const memoryMdPath = path.join(memoryDir, 'MEMORY.md');
477
+ const siblingCreations = findSiblingCreations(appliedResults, memoryDir);
478
+ if (siblingCreations.length === 0) {
479
+ return { results: [...appliedResults], pointersAdded: [] };
480
+ }
481
+ // Locate (or initialize) the MEMORY.md entry we'll mutate.
482
+ const existingIdx = appliedResults.findIndex((entry) => path.resolve(entry.targetPath) === memoryMdPath);
483
+ let memoryEntry;
484
+ if (existingIdx >= 0) {
485
+ memoryEntry = { ...appliedResults[existingIdx] };
486
+ }
487
+ else {
488
+ let originalContent = '';
489
+ let isNewFile = true;
490
+ try {
491
+ originalContent = await fs.readFile(memoryMdPath, 'utf-8');
492
+ isNewFile = false;
493
+ }
494
+ catch {
495
+ // MEMORY.md doesn't exist yet — we'll create it with a default heading.
496
+ }
497
+ memoryEntry = {
498
+ targetPath: memoryMdPath,
499
+ original: originalContent,
500
+ patched: isNewFile ? '# Project Memory\n' : originalContent,
501
+ isNewFile,
502
+ };
503
+ }
504
+ const pointersAdded = [];
505
+ for (const sibling of siblingCreations) {
506
+ const basename = path.basename(sibling.targetPath);
507
+ // Resolve to absolute path so the runtime agent can `read_file` the
508
+ // sibling directly without needing to know <memoryDir>.
509
+ const absoluteTarget = path.resolve(sibling.targetPath);
510
+ // Existing reference can be by either basename or absolute path; both count.
511
+ if (memoryEntry.patched.includes(basename) ||
512
+ memoryEntry.patched.includes(absoluteTarget)) {
513
+ continue; // Already referenced.
514
+ }
515
+ const stem = basename.replace(/\.md$/i, '').replace(/[-_]/g, ' ').trim();
516
+ const pointer = `- See ${absoluteTarget} for ${stem || basename} notes.`;
517
+ memoryEntry.patched = memoryEntry.patched.endsWith('\n')
518
+ ? `${memoryEntry.patched}${pointer}\n`
519
+ : `${memoryEntry.patched}\n${pointer}\n`;
520
+ pointersAdded.push(basename);
521
+ }
522
+ if (pointersAdded.length === 0) {
523
+ return { results: [...appliedResults], pointersAdded: [] };
524
+ }
525
+ const results = [...appliedResults];
526
+ if (existingIdx >= 0) {
527
+ results[existingIdx] = memoryEntry;
528
+ }
529
+ else {
530
+ results.push(memoryEntry);
531
+ }
532
+ return { results, pointersAdded };
533
+ }
534
+ /**
535
+ * Internal helper: parses, validates, and atomically commits a memory patch
536
+ * file at a known absolute path. Separated from `applyInboxMemoryPatch` so the
537
+ * path-resolution and patch-apply concerns stay testable independently.
538
+ */
539
+ async function applyMemoryPatchFile(config, kind, patchPath, displayName) {
540
+ let content;
541
+ try {
542
+ content = await fs.readFile(patchPath, 'utf-8');
543
+ }
544
+ catch {
545
+ return {
546
+ success: false,
547
+ message: `Memory patch "${displayName}" not found in inbox.`,
548
+ };
549
+ }
550
+ let parsed;
551
+ try {
552
+ parsed = Diff.parsePatch(content);
553
+ }
554
+ catch (error) {
555
+ return {
556
+ success: false,
557
+ message: `Failed to parse memory patch "${displayName}": ${getErrorMessage(error)}`,
558
+ };
559
+ }
560
+ if (!hasParsedPatchHunks(parsed)) {
561
+ return {
562
+ success: false,
563
+ message: `Memory patch "${displayName}" contains no valid hunks.`,
564
+ };
565
+ }
566
+ const validationContext = await getMemoryPatchTargetValidationContext(config, kind);
567
+ const disallowedTargetPath = await findDisallowedMemoryPatchTarget(parsed, validationContext);
568
+ if (disallowedTargetPath) {
569
+ return {
570
+ success: false,
571
+ message: `Memory patch "${displayName}" targets a file outside the ${kind} memory root or target allowlist: ${disallowedTargetPath}`,
572
+ };
573
+ }
574
+ const applied = await applyParsedPatchesWithAllowedRoots(parsed, validationContext.allowedRoots, {
575
+ isResolvedTargetAllowed: (resolvedTargetPath) => isResolvedMemoryPatchTargetAllowed(resolvedTargetPath, validationContext),
576
+ });
577
+ if (!applied.success) {
578
+ switch (applied.reason) {
579
+ case 'missingTargetPath':
580
+ return {
581
+ success: false,
582
+ message: `Memory patch "${displayName}" is missing a target file path.`,
583
+ };
584
+ case 'invalidPatchHeaders':
585
+ return {
586
+ success: false,
587
+ message: `Memory patch "${displayName}" has invalid diff headers.`,
588
+ };
589
+ case 'outsideAllowedRoots':
590
+ return {
591
+ success: false,
592
+ message: `Memory patch "${displayName}" targets a file outside the ${kind} memory root or target allowlist: ${applied.targetPath}`,
593
+ };
594
+ case 'newFileAlreadyExists':
595
+ return {
596
+ success: false,
597
+ message: `Memory patch "${displayName}" declares a new file, but the target already exists: ${applied.targetPath}`,
598
+ };
599
+ case 'targetNotFound':
600
+ return {
601
+ success: false,
602
+ message: `Target file not found: ${applied.targetPath}`,
603
+ };
604
+ case 'doesNotApply':
605
+ return {
606
+ success: false,
607
+ message: applied.isNewFile
608
+ ? `Memory patch "${displayName}" failed to apply for new file ${applied.targetPath}.`
609
+ : `Memory patch does not apply cleanly to ${applied.targetPath}.`,
610
+ };
611
+ default:
612
+ return {
613
+ success: false,
614
+ message: `Memory patch "${displayName}" could not be applied.`,
615
+ };
616
+ }
617
+ }
618
+ // Auto-bundle a MEMORY.md pointer for any sibling .md the patch creates
619
+ // without referencing it from MEMORY.md. Without that pointer the new file
620
+ // would never be loaded into a future session (see augmentWithAutoPointers).
621
+ let pointersAdded = [];
622
+ let resultsToCommit = [...applied.results];
623
+ if (kind === 'private') {
624
+ const augmented = await augmentWithAutoPointers(config, applied.results);
625
+ resultsToCommit = augmented.results;
626
+ pointersAdded = augmented.pointersAdded;
627
+ }
628
+ let stagedTargets;
629
+ try {
630
+ stagedTargets = await stageInboxPatchTargets(resultsToCommit);
631
+ }
632
+ catch (error) {
633
+ return {
634
+ success: false,
635
+ message: `Memory patch "${displayName}" could not be staged: ${getErrorMessage(error)}.`,
636
+ };
637
+ }
638
+ const committedTargets = [];
639
+ try {
640
+ for (const stagedTarget of stagedTargets) {
641
+ await fs.rename(stagedTarget.tempPath, stagedTarget.targetPath);
642
+ committedTargets.push(stagedTarget);
643
+ }
644
+ }
645
+ catch (error) {
646
+ for (const committedTarget of committedTargets.reverse()) {
647
+ try {
648
+ await restoreCommittedInboxPatchTarget(committedTarget);
649
+ }
650
+ catch {
651
+ // Best-effort rollback. We still report the commit failure below.
652
+ }
653
+ }
654
+ await cleanupStagedInboxPatchTargets(stagedTargets.filter((target) => !committedTargets.includes(target)));
655
+ return {
656
+ success: false,
657
+ message: `Memory patch "${displayName}" could not be applied atomically: ${getErrorMessage(error)}.`,
658
+ };
659
+ }
660
+ await fs.unlink(patchPath);
661
+ const fileCount = resultsToCommit.length;
662
+ const baseMessage = `Applied memory patch to ${fileCount} file${fileCount !== 1 ? 's' : ''}.`;
663
+ const pointerNote = pointersAdded.length > 0
664
+ ? ` Auto-added MEMORY.md pointer for ${pointersAdded
665
+ .map((name) => `"${name}"`)
666
+ .join(', ')} so the new sibling file is discoverable.`
667
+ : '';
668
+ return {
669
+ success: true,
670
+ message: `${baseMessage}${pointerNote}`,
671
+ };
672
+ }
673
+ /**
674
+ * Removes inbox memory patch(es) without applying. Two modes:
675
+ * - Aggregate (`relativePath === kind`): unlink every `.patch` file in the
676
+ * kind's inbox directory. Used by the consolidated inbox UI's Dismiss.
677
+ * - Single-file (legacy): unlink one specific `.patch` file.
678
+ */
679
+ export async function dismissInboxMemoryPatch(config, kind, relativePath) {
680
+ if (relativePath === kind) {
681
+ // Dismiss the same set of files the listing surfaced — leave the
682
+ // already-filtered (bad-target, malformed) files alone for forensic
683
+ // inspection.
684
+ const patchFiles = await listValidInboxPatchFiles(config, kind);
685
+ if (patchFiles.length === 0) {
686
+ return {
687
+ success: false,
688
+ message: `No ${kind} memory patches in inbox.`,
689
+ };
690
+ }
691
+ let removed = 0;
692
+ for (const sourcePath of patchFiles) {
693
+ try {
694
+ await fs.unlink(sourcePath);
695
+ removed += 1;
696
+ }
697
+ catch {
698
+ // Best-effort: keep going if one delete fails.
699
+ }
700
+ }
701
+ return {
702
+ success: removed > 0,
703
+ message: `Dismissed ${removed} ${kind} memory patch${removed === 1 ? '' : 'es'} from inbox.`,
704
+ };
705
+ }
706
+ const normalizedPath = normalizeInboxMemoryPatchPath(relativePath);
707
+ if (!normalizedPath) {
708
+ return { success: false, message: 'Invalid memory patch path.' };
709
+ }
710
+ const sourcePath = await getInboxMemoryPatchSourcePath(config, kind, normalizedPath);
711
+ if (!sourcePath) {
712
+ return { success: false, message: 'Invalid memory patch path.' };
713
+ }
714
+ try {
715
+ await fs.access(sourcePath);
716
+ }
717
+ catch {
718
+ return {
719
+ success: false,
720
+ message: `Memory patch "${normalizedPath}" not found in inbox.`,
721
+ };
722
+ }
723
+ await fs.unlink(sourcePath);
724
+ return {
725
+ success: true,
726
+ message: `Dismissed "${normalizedPath}" from inbox.`,
727
+ };
728
+ }
278
729
  async function findNearestExistingDirectory(startPath) {
279
730
  let currentPath = path.resolve(startPath);
280
731
  while (true) {