@remnic/core 9.3.683 → 9.3.685

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 (440) hide show
  1. package/dist/access-boundary.d.ts +5 -4
  2. package/dist/access-boundary.js +27 -26
  3. package/dist/access-cli.js +75 -75
  4. package/dist/access-http.d.ts +5 -4
  5. package/dist/access-http.js +32 -31
  6. package/dist/access-mcp.d.ts +5 -4
  7. package/dist/access-mcp.js +29 -28
  8. package/dist/access-operations.d.ts +5 -4
  9. package/dist/access-operations.js +28 -27
  10. package/dist/{access-service-DvA6jyHL.d.ts → access-service-DeKrlYU_.d.ts} +2 -11
  11. package/dist/access-service.d.ts +5 -4
  12. package/dist/access-service.js +26 -25
  13. package/dist/access-surface-catalog.d.ts +5 -4
  14. package/dist/action-confidence.d.ts +1 -1
  15. package/dist/active-memory-bridge.d.ts +1 -1
  16. package/dist/active-recall.d.ts +1 -1
  17. package/dist/active-recall.js +3 -3
  18. package/dist/adapters/index.js +4 -4
  19. package/dist/adapters/registry.js +2 -2
  20. package/dist/{auto-sync-5CJBJMPZ.js → auto-sync-NUQWSFQD.js} +7 -7
  21. package/dist/behavior-learner.d.ts +1 -1
  22. package/dist/behavior-signals.d.ts +1 -1
  23. package/dist/bootstrap.d.ts +4 -3
  24. package/dist/bootstrap.js +2 -2
  25. package/dist/boxes.js +2 -2
  26. package/dist/briefing.d.ts +1 -1
  27. package/dist/briefing.js +5 -4
  28. package/dist/buffer-surprise-report.d.ts +1 -1
  29. package/dist/buffer.d.ts +1 -1
  30. package/dist/buffer.js +2 -2
  31. package/dist/calibration.d.ts +1 -1
  32. package/dist/calibration.js +4 -4
  33. package/dist/capabilities.d.ts +1 -1
  34. package/dist/catalog-COqWZlZ6.d.ts +456 -0
  35. package/dist/causal-behavior.d.ts +1 -1
  36. package/dist/causal-behavior.js +4 -4
  37. package/dist/causal-chain.js +4 -4
  38. package/dist/causal-consolidation.d.ts +1 -1
  39. package/dist/causal-consolidation.js +13 -12
  40. package/dist/causal-consolidation.js.map +1 -1
  41. package/dist/causal-retrieval.js +4 -4
  42. package/dist/causal-trajectory-graph.js +1 -1
  43. package/dist/causal-trajectory.js +1 -1
  44. package/dist/{chunk-UJDV2NLT.js → chunk-2KAYTPPT.js} +12 -12
  45. package/dist/{chunk-QUA2JPH2.js → chunk-2SJCWLQD.js} +3 -3
  46. package/dist/{chunk-YTWNKQ2G.js → chunk-3FC6LW6T.js} +2 -2
  47. package/dist/{chunk-I75DF4FZ.js → chunk-4FE2K57M.js} +3 -3
  48. package/dist/{chunk-L5MUA6Q7.js → chunk-4N3TFFPH.js} +2 -2
  49. package/dist/{chunk-BTVX7ZXZ.js → chunk-4NFVPDIL.js} +4 -4
  50. package/dist/{chunk-OUWAQVDJ.js → chunk-5CEJH5ZN.js} +2 -2
  51. package/dist/{chunk-IUZWBCJX.js → chunk-6GJS4BFH.js} +10 -7
  52. package/dist/chunk-6GJS4BFH.js.map +1 -0
  53. package/dist/{chunk-UAODC6GJ.js → chunk-6O6A6YUO.js} +4 -4
  54. package/dist/{chunk-HQ6NIBL6.js → chunk-7FL4CNPV.js} +2 -2
  55. package/dist/{chunk-5VDJMYTF.js → chunk-7WWURLG6.js} +3 -3
  56. package/dist/{chunk-QWRC7GIO.js → chunk-A4HH2EWA.js} +5 -5
  57. package/dist/{chunk-4SKKVWLQ.js → chunk-AGJH5ISO.js} +2 -2
  58. package/dist/{chunk-APJQ6UEA.js → chunk-AGNBY3VG.js} +4 -4
  59. package/dist/{chunk-I3HSKQT7.js → chunk-B43NZNMG.js} +68 -106
  60. package/dist/chunk-B43NZNMG.js.map +1 -0
  61. package/dist/{chunk-NQMBSSWW.js → chunk-B4XVLHJA.js} +3 -3
  62. package/dist/{chunk-GSTYVG5L.js → chunk-BFVPIKDY.js} +3 -3
  63. package/dist/{chunk-TY5NT3T3.js → chunk-BLIWOONZ.js} +51 -43
  64. package/dist/chunk-BLIWOONZ.js.map +1 -0
  65. package/dist/{chunk-AJU4PJGY.js → chunk-BVKCV2ZY.js} +2 -2
  66. package/dist/{chunk-QVWM4C24.js → chunk-BZISAF67.js} +9 -10
  67. package/dist/chunk-BZISAF67.js.map +1 -0
  68. package/dist/{chunk-EG4TCVMU.js → chunk-CTOQEZSN.js} +2 -2
  69. package/dist/{chunk-7OGJQP7T.js → chunk-DCWIQFNA.js} +4 -4
  70. package/dist/{chunk-MHQC2WU2.js → chunk-DKTSR7EK.js} +2 -2
  71. package/dist/{chunk-RN7MUWON.js → chunk-EHISUJFN.js} +2 -2
  72. package/dist/{chunk-WLEB7WCG.js → chunk-EO5QWINU.js} +2 -2
  73. package/dist/{chunk-XKXKSQU7.js → chunk-EXM3CQTZ.js} +2 -2
  74. package/dist/{chunk-TOQEZ63C.js → chunk-FE6DQUNJ.js} +9 -9
  75. package/dist/{chunk-LCC5EZTT.js → chunk-FIVDN2SM.js} +4 -4
  76. package/dist/{chunk-452WDNFO.js → chunk-GG6AJN7A.js} +2 -2
  77. package/dist/{chunk-O2WELT5C.js → chunk-GS55WYRL.js} +3 -3
  78. package/dist/{chunk-OHX52AOS.js → chunk-GTDH3IUH.js} +2 -2
  79. package/dist/{chunk-IBTZEBUD.js → chunk-HYNHLBKA.js} +2 -2
  80. package/dist/{chunk-V254FAT5.js → chunk-IIDSFFE5.js} +2 -2
  81. package/dist/{chunk-EVWIEEKZ.js → chunk-IQ7WCZRW.js} +2 -2
  82. package/dist/{chunk-B5XMS73R.js → chunk-IQVQJJL7.js} +2 -2
  83. package/dist/{chunk-M4I3TREG.js → chunk-JPCKLFWK.js} +29 -30
  84. package/dist/{chunk-M4I3TREG.js.map → chunk-JPCKLFWK.js.map} +1 -1
  85. package/dist/{chunk-6RHNCKHG.js → chunk-K43PI6DQ.js} +2 -2
  86. package/dist/{chunk-OIF36KGD.js → chunk-KCQA46NR.js} +2 -2
  87. package/dist/{chunk-2LDBXPLB.js → chunk-KF74X62T.js} +1 -1
  88. package/dist/{chunk-MAV46GWQ.js → chunk-KYYL4U6X.js} +2 -2
  89. package/dist/{chunk-6GC5SGFE.js → chunk-L24JROPR.js} +2 -2
  90. package/dist/{chunk-6VP3YUCS.js → chunk-LLONI6PY.js} +2 -2
  91. package/dist/{chunk-Q5ZU3RNY.js → chunk-LQ6JI4VH.js} +2 -2
  92. package/dist/{chunk-ODWI5XU2.js → chunk-MCQDSY4G.js} +3 -3
  93. package/dist/{chunk-HP5FMB6L.js → chunk-MDJURR27.js} +2 -2
  94. package/dist/{chunk-FMSDA2D3.js → chunk-NGFEWFNK.js} +1 -1
  95. package/dist/chunk-NGFEWFNK.js.map +1 -0
  96. package/dist/{chunk-2ODBA7MQ.js → chunk-NU3CSQ4H.js} +5 -5
  97. package/dist/chunk-NU3CSQ4H.js.map +1 -0
  98. package/dist/{chunk-T2PO5MUF.js → chunk-O7GOFAM3.js} +2 -2
  99. package/dist/{chunk-Z2OXSMZK.js → chunk-OBXTMFZQ.js} +3 -3
  100. package/dist/{chunk-FDSOMA6M.js → chunk-OFUULUSY.js} +8 -9
  101. package/dist/{chunk-FDSOMA6M.js.map → chunk-OFUULUSY.js.map} +1 -1
  102. package/dist/{chunk-KV6CX4ON.js → chunk-OV4D5T7V.js} +3 -3
  103. package/dist/{chunk-KACIOX42.js → chunk-PH3HOKYW.js} +2 -2
  104. package/dist/{chunk-NHFXF4ZO.js → chunk-PK6RGRSD.js} +2 -2
  105. package/dist/{chunk-C3IW2F5Z.js → chunk-PLBIPT6I.js} +2 -2
  106. package/dist/{chunk-QY7YA7OL.js → chunk-PNLCEFE4.js} +2 -2
  107. package/dist/{chunk-AGRPGAKR.js → chunk-PONNZ54D.js} +2 -2
  108. package/dist/{chunk-XZ4WBBB5.js → chunk-PWFWCGOO.js} +2 -2
  109. package/dist/{chunk-G7Z3C2X6.js → chunk-QANVLERJ.js} +4 -4
  110. package/dist/{chunk-W4RVMTHR.js → chunk-QRDOSYOR.js} +2 -2
  111. package/dist/{chunk-6IMKOIZ6.js → chunk-R6OVFAX6.js} +2 -2
  112. package/dist/{chunk-2QSZNTDO.js → chunk-RKNJBZ55.js} +4 -4
  113. package/dist/{chunk-JOASJWQR.js → chunk-SANZHXY2.js} +2 -2
  114. package/dist/{chunk-7DTASS5T.js → chunk-SJHM6I4J.js} +2 -2
  115. package/dist/{chunk-H4BDNIKQ.js → chunk-SQGPGC76.js} +14 -24
  116. package/dist/{chunk-H4BDNIKQ.js.map → chunk-SQGPGC76.js.map} +1 -1
  117. package/dist/{chunk-B2B2IHUH.js → chunk-STOEE37X.js} +4 -4
  118. package/dist/{chunk-GKKAXVAJ.js → chunk-U33LWTQQ.js} +1 -7
  119. package/dist/chunk-U33LWTQQ.js.map +1 -0
  120. package/dist/{chunk-GNAMDNGT.js → chunk-U7D7NP4J.js} +5 -5
  121. package/dist/{chunk-DRD2Q7HQ.js → chunk-UFS7OXGL.js} +2 -2
  122. package/dist/{chunk-H3HDXD3U.js → chunk-UPTZYUYJ.js} +2 -2
  123. package/dist/{chunk-3IND7N4X.js → chunk-UTYBJR7M.js} +2 -2
  124. package/dist/{chunk-LN4YGHTM.js → chunk-UUH4YQOF.js} +2 -2
  125. package/dist/{chunk-6VF75M3X.js → chunk-VGUOEDTU.js} +2 -2
  126. package/dist/{chunk-44VFF3BB.js → chunk-VILEUJXC.js} +2 -2
  127. package/dist/{chunk-7SI52C65.js → chunk-VL7DP3OW.js} +2 -2
  128. package/dist/{chunk-7DHTMOND.js → chunk-VQ34TERH.js} +2 -2
  129. package/dist/{chunk-H6PMGMNP.js → chunk-VX6OBUDW.js} +2 -2
  130. package/dist/{chunk-EW5KFXHL.js → chunk-WDXCNJSF.js} +7 -7
  131. package/dist/{chunk-ARLRTZZZ.js → chunk-WIHPNY65.js} +79 -3
  132. package/dist/chunk-WIHPNY65.js.map +1 -0
  133. package/dist/{chunk-X6IRLNOO.js → chunk-WIWPSQYU.js} +2 -2
  134. package/dist/{chunk-DOCTITOP.js → chunk-WRFKZEO6.js} +2 -2
  135. package/dist/{chunk-E6ZDCOHM.js → chunk-XBZQRZ6G.js} +2 -2
  136. package/dist/{chunk-7YX23JBA.js → chunk-XHYGJVXL.js} +2 -2
  137. package/dist/{chunk-JD4SCARD.js → chunk-YN4ZT4CW.js} +1 -1
  138. package/dist/{chunk-YXWAILM4.js → chunk-YOI3ELXF.js} +2 -2
  139. package/dist/{chunk-XCAZF7KQ.js → chunk-ZA2S2VLL.js} +2 -2
  140. package/dist/{chunk-BEUDU7Y4.js → chunk-ZCWIH4LH.js} +2 -2
  141. package/dist/chunk-ZPQVJEVQ.js +184 -0
  142. package/dist/chunk-ZPQVJEVQ.js.map +1 -0
  143. package/dist/{chunk-WEPMT6SC.js → chunk-ZPTISBQU.js} +8 -8
  144. package/dist/{cli-feUe-x3I.d.ts → cli-D3-Q5Uod.d.ts} +3 -3
  145. package/dist/cli.d.ts +6 -5
  146. package/dist/cli.js +54 -54
  147. package/dist/compounding/engine.d.ts +1 -1
  148. package/dist/compounding/engine.js +6 -5
  149. package/dist/compounding/preference-consolidator.d.ts +1 -1
  150. package/dist/compounding/preference-consolidator.js +1 -1
  151. package/dist/compression-optimizer.d.ts +1 -1
  152. package/dist/config.d.ts +1 -1
  153. package/dist/config.js +3 -3
  154. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  155. package/dist/connectors/codex-materialize-runner.js +6 -5
  156. package/dist/connectors/codex-materialize.d.ts +1 -1
  157. package/dist/connectors/codex-materialize.js +2 -2
  158. package/dist/connectors/index.d.ts +1 -1
  159. package/dist/connectors/index.js +9 -9
  160. package/dist/consolidation-provenance-check.d.ts +1 -1
  161. package/dist/consolidation-undo.d.ts +1 -1
  162. package/dist/contradiction/index.d.ts +1 -1
  163. package/dist/contradiction/index.js +3 -3
  164. package/dist/{contradiction-scan-AZTGFMPY.js → contradiction-scan-HWGEOUDS.js} +3 -3
  165. package/dist/conversation-index/backend.d.ts +1 -1
  166. package/dist/conversation-index/backend.js +5 -5
  167. package/dist/conversation-index/chunker.d.ts +1 -1
  168. package/dist/conversation-index/cleanup.js +2 -2
  169. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  170. package/dist/conversation-index/faiss-adapter.js +2 -2
  171. package/dist/conversation-index/indexer.d.ts +1 -1
  172. package/dist/conversation-index/indexer.js +2 -2
  173. package/dist/conversation-index/search.d.ts +1 -1
  174. package/dist/conversation-index/search.js +2 -2
  175. package/dist/day-summary.d.ts +1 -1
  176. package/dist/day-summary.js +2 -2
  177. package/dist/delinearize.d.ts +1 -1
  178. package/dist/direct-answer-wiring.d.ts +1 -1
  179. package/dist/direct-answer.d.ts +1 -1
  180. package/dist/embedding-fallback.d.ts +1 -1
  181. package/dist/embedding-fallback.js +2 -2
  182. package/dist/enrichment/index.d.ts +1 -1
  183. package/dist/entity-retrieval.d.ts +1 -1
  184. package/dist/entity-retrieval.js +7 -5
  185. package/dist/entity-schema.d.ts +1 -1
  186. package/dist/explicit-capture.d.ts +4 -3
  187. package/dist/explicit-capture.js +1 -1
  188. package/dist/extraction-judge-telemetry.d.ts +1 -1
  189. package/dist/extraction-judge-telemetry.js +2 -2
  190. package/dist/extraction-judge-training.d.ts +1 -1
  191. package/dist/extraction-judge-training.js +2 -2
  192. package/dist/extraction-judge.d.ts +1 -1
  193. package/dist/extraction-judge.js +5 -5
  194. package/dist/extraction.d.ts +1 -1
  195. package/dist/extraction.js +9 -9
  196. package/dist/fallback-llm.d.ts +1 -1
  197. package/dist/fallback-llm.js +4 -4
  198. package/dist/{first-start-migration-FF7YFGRP.js → first-start-migration-PG5HBC3K.js} +4 -4
  199. package/dist/{graph-edge-decay-KSVJGCZW.js → graph-edge-decay-D7OESCBR.js} +2 -2
  200. package/dist/graph-snapshot.js +2 -2
  201. package/dist/graph.js +1 -1
  202. package/dist/identity-continuity.d.ts +1 -1
  203. package/dist/importance.d.ts +1 -1
  204. package/dist/index.d.ts +9 -8
  205. package/dist/index.js +112 -112
  206. package/dist/intent.d.ts +1 -1
  207. package/dist/lcm/archive.js +2 -2
  208. package/dist/lcm/engine.d.ts +1 -1
  209. package/dist/lcm/engine.js +5 -5
  210. package/dist/lcm/index.d.ts +1 -1
  211. package/dist/lcm/index.js +8 -8
  212. package/dist/lcm/schema.js +2 -2
  213. package/dist/lcm/summarizer.js +3 -3
  214. package/dist/lcm/tools.d.ts +1 -1
  215. package/dist/lifecycle.d.ts +1 -1
  216. package/dist/live-connectors-runner.d.ts +1 -1
  217. package/dist/local-llm.d.ts +1 -1
  218. package/dist/local-llm.js +2 -2
  219. package/dist/logger.js +1 -1
  220. package/dist/maintenance/memory-governance.d.ts +1 -1
  221. package/dist/maintenance/memory-governance.js +6 -4
  222. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +6 -4
  223. package/dist/maintenance/rebuild-memory-projection.js +8 -6
  224. package/dist/mcp-memory-inspector-app.d.ts +5 -4
  225. package/dist/memory-action-policy.d.ts +1 -1
  226. package/dist/memory-cache.d.ts +1 -1
  227. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  228. package/dist/memory-projection-store.d.ts +1 -1
  229. package/dist/memory-provenance.d.ts +1 -1
  230. package/dist/memory-worth-outcomes.d.ts +1 -1
  231. package/dist/model-registry.js +2 -2
  232. package/dist/models-json.d.ts +1 -1
  233. package/dist/models-json.js +2 -2
  234. package/dist/namespaces/migrate.d.ts +2 -1
  235. package/dist/namespaces/migrate.js +18 -17
  236. package/dist/namespaces/principal.d.ts +1 -1
  237. package/dist/namespaces/search.d.ts +1 -1
  238. package/dist/namespaces/search.js +13 -13
  239. package/dist/namespaces/storage.d.ts +43 -2
  240. package/dist/namespaces/storage.js +6 -4
  241. package/dist/native-knowledge.d.ts +1 -1
  242. package/dist/native-knowledge.js +2 -2
  243. package/dist/negative.js +2 -2
  244. package/dist/operator-toolkit.d.ts +1 -1
  245. package/dist/operator-toolkit.js +24 -24
  246. package/dist/{orchestrator-7zPqGupX.d.ts → orchestrator-CA6ouzBn.d.ts} +5 -466
  247. package/dist/orchestrator.d.ts +4 -3
  248. package/dist/orchestrator.js +68 -67
  249. package/dist/patterns-cli.d.ts +1 -1
  250. package/dist/policy-runtime.d.ts +1 -1
  251. package/dist/profiling.js +2 -2
  252. package/dist/provenance.d.ts +94 -0
  253. package/dist/provenance.js +17 -0
  254. package/dist/qmd-recall-cache.d.ts +1 -1
  255. package/dist/qmd.d.ts +1 -1
  256. package/dist/qmd.js +2 -2
  257. package/dist/recall-disclosure-escalation.d.ts +1 -1
  258. package/dist/recall-explain-renderer.d.ts +1 -1
  259. package/dist/recall-explain-renderer.js +3 -3
  260. package/dist/recall-planner-llm.d.ts +1 -1
  261. package/dist/recall-planner-llm.js +4 -4
  262. package/dist/recall-qos.js +2 -2
  263. package/dist/recall-state.d.ts +1 -1
  264. package/dist/recall-state.js +2 -2
  265. package/dist/recall-tag-filter.d.ts +1 -1
  266. package/dist/recall-xray-cli.d.ts +1 -1
  267. package/dist/recall-xray-cli.js +4 -4
  268. package/dist/recall-xray-renderer.d.ts +1 -1
  269. package/dist/recall-xray-renderer.js +3 -3
  270. package/dist/recall-xray.d.ts +1 -1
  271. package/dist/recall-xray.js +2 -2
  272. package/dist/relevance.js +2 -2
  273. package/dist/{resolution-IDTEBJFS.js → resolution-MN36NW5P.js} +3 -3
  274. package/dist/resolution-MN36NW5P.js.map +1 -0
  275. package/dist/resolve-auth-token.d.ts +1 -1
  276. package/dist/resolve-provider-secret.js +2 -2
  277. package/dist/resume-bundles.js +5 -5
  278. package/dist/retrieval-agents.d.ts +1 -1
  279. package/dist/retrieval-agents.js +2 -2
  280. package/dist/retrieval-tiers.d.ts +1 -1
  281. package/dist/routing/engine.d.ts +1 -1
  282. package/dist/routing/store.d.ts +1 -1
  283. package/dist/routing/store.js +2 -2
  284. package/dist/search/embed-helper.d.ts +1 -1
  285. package/dist/search/embed-helper.js +2 -2
  286. package/dist/search/factory.d.ts +1 -1
  287. package/dist/search/factory.js +12 -12
  288. package/dist/search/index.d.ts +1 -1
  289. package/dist/search/index.js +14 -14
  290. package/dist/search/lancedb-backend.d.ts +1 -1
  291. package/dist/search/lancedb-backend.js +2 -2
  292. package/dist/search/meilisearch-backend.d.ts +1 -1
  293. package/dist/search/meilisearch-backend.js +2 -2
  294. package/dist/search/noop-backend.d.ts +1 -1
  295. package/dist/search/orama-backend.d.ts +1 -1
  296. package/dist/search/orama-backend.js +2 -2
  297. package/dist/search/port.d.ts +1 -1
  298. package/dist/search/remote-backend.d.ts +1 -1
  299. package/dist/search/remote-backend.js +2 -2
  300. package/dist/{semantic-consolidation-BX9Z9_aK.d.ts → semantic-consolidation-CWch5uM7.d.ts} +1 -1
  301. package/dist/semantic-consolidation.d.ts +2 -2
  302. package/dist/semantic-consolidation.js +7 -6
  303. package/dist/semantic-rule-promotion.js +6 -4
  304. package/dist/semantic-rule-verifier.d.ts +1 -1
  305. package/dist/semantic-rule-verifier.js +6 -4
  306. package/dist/session-observer-bands.d.ts +1 -1
  307. package/dist/session-observer-state.d.ts +1 -1
  308. package/dist/session-observer-state.js +2 -2
  309. package/dist/session-transcript-migration.js +2 -2
  310. package/dist/shared-context/manager.d.ts +1 -1
  311. package/dist/shared-context/manager.js +2 -2
  312. package/dist/signal.d.ts +1 -1
  313. package/dist/storage.d.ts +5 -1
  314. package/dist/storage.js +5 -3
  315. package/dist/summarizer.d.ts +1 -1
  316. package/dist/summarizer.js +7 -7
  317. package/dist/summary-snapshot.d.ts +1 -1
  318. package/dist/temporal-supersession.d.ts +1 -1
  319. package/dist/temporal-supersession.js +2 -2
  320. package/dist/temporal-validity.d.ts +1 -1
  321. package/dist/threading.d.ts +1 -1
  322. package/dist/threading.js +2 -2
  323. package/dist/tier-migration.d.ts +1 -1
  324. package/dist/tier-routing.d.ts +1 -1
  325. package/dist/topics.d.ts +1 -1
  326. package/dist/transcript.d.ts +1 -1
  327. package/dist/transcript.js +2 -2
  328. package/dist/transfer/import-sqlite.js +2 -2
  329. package/dist/{types-D3pm4NhH.d.ts → types-Dm5xxVrr.d.ts} +61 -1
  330. package/dist/types.d.ts +1 -1
  331. package/dist/types.js +1 -1
  332. package/dist/utility-runtime.d.ts +1 -1
  333. package/dist/verified-recall.js +7 -5
  334. package/package.json +2 -2
  335. package/src/access-http.ts +1 -1
  336. package/src/access-mcp.ts +1 -1
  337. package/src/access-service.ts +1 -11
  338. package/src/cli.ts +1 -1
  339. package/src/config.test.ts +112 -0
  340. package/src/config.ts +5 -5
  341. package/src/explicit-capture.ts +3 -12
  342. package/src/logger.ts +13 -4
  343. package/src/namespaces/catalog.test.ts +2 -2
  344. package/src/namespaces/storage.ts +81 -0
  345. package/src/orchestrator.ts +22 -64
  346. package/src/provenance-frontmatter.test.ts +596 -0
  347. package/src/provenance.ts +305 -0
  348. package/src/storage.ts +41 -41
  349. package/src/types.ts +76 -0
  350. package/dist/chunk-2ODBA7MQ.js.map +0 -1
  351. package/dist/chunk-ARLRTZZZ.js.map +0 -1
  352. package/dist/chunk-FMSDA2D3.js.map +0 -1
  353. package/dist/chunk-GKKAXVAJ.js.map +0 -1
  354. package/dist/chunk-I3HSKQT7.js.map +0 -1
  355. package/dist/chunk-IUZWBCJX.js.map +0 -1
  356. package/dist/chunk-PHK3HARR.js +0 -32
  357. package/dist/chunk-PHK3HARR.js.map +0 -1
  358. package/dist/chunk-QVWM4C24.js.map +0 -1
  359. package/dist/chunk-TY5NT3T3.js.map +0 -1
  360. /package/dist/{auto-sync-5CJBJMPZ.js.map → auto-sync-NUQWSFQD.js.map} +0 -0
  361. /package/dist/{chunk-UJDV2NLT.js.map → chunk-2KAYTPPT.js.map} +0 -0
  362. /package/dist/{chunk-QUA2JPH2.js.map → chunk-2SJCWLQD.js.map} +0 -0
  363. /package/dist/{chunk-YTWNKQ2G.js.map → chunk-3FC6LW6T.js.map} +0 -0
  364. /package/dist/{chunk-I75DF4FZ.js.map → chunk-4FE2K57M.js.map} +0 -0
  365. /package/dist/{chunk-L5MUA6Q7.js.map → chunk-4N3TFFPH.js.map} +0 -0
  366. /package/dist/{chunk-BTVX7ZXZ.js.map → chunk-4NFVPDIL.js.map} +0 -0
  367. /package/dist/{chunk-OUWAQVDJ.js.map → chunk-5CEJH5ZN.js.map} +0 -0
  368. /package/dist/{chunk-UAODC6GJ.js.map → chunk-6O6A6YUO.js.map} +0 -0
  369. /package/dist/{chunk-HQ6NIBL6.js.map → chunk-7FL4CNPV.js.map} +0 -0
  370. /package/dist/{chunk-5VDJMYTF.js.map → chunk-7WWURLG6.js.map} +0 -0
  371. /package/dist/{chunk-QWRC7GIO.js.map → chunk-A4HH2EWA.js.map} +0 -0
  372. /package/dist/{chunk-4SKKVWLQ.js.map → chunk-AGJH5ISO.js.map} +0 -0
  373. /package/dist/{chunk-APJQ6UEA.js.map → chunk-AGNBY3VG.js.map} +0 -0
  374. /package/dist/{chunk-NQMBSSWW.js.map → chunk-B4XVLHJA.js.map} +0 -0
  375. /package/dist/{chunk-GSTYVG5L.js.map → chunk-BFVPIKDY.js.map} +0 -0
  376. /package/dist/{chunk-AJU4PJGY.js.map → chunk-BVKCV2ZY.js.map} +0 -0
  377. /package/dist/{chunk-EG4TCVMU.js.map → chunk-CTOQEZSN.js.map} +0 -0
  378. /package/dist/{chunk-7OGJQP7T.js.map → chunk-DCWIQFNA.js.map} +0 -0
  379. /package/dist/{chunk-MHQC2WU2.js.map → chunk-DKTSR7EK.js.map} +0 -0
  380. /package/dist/{chunk-RN7MUWON.js.map → chunk-EHISUJFN.js.map} +0 -0
  381. /package/dist/{chunk-WLEB7WCG.js.map → chunk-EO5QWINU.js.map} +0 -0
  382. /package/dist/{chunk-XKXKSQU7.js.map → chunk-EXM3CQTZ.js.map} +0 -0
  383. /package/dist/{chunk-TOQEZ63C.js.map → chunk-FE6DQUNJ.js.map} +0 -0
  384. /package/dist/{chunk-LCC5EZTT.js.map → chunk-FIVDN2SM.js.map} +0 -0
  385. /package/dist/{chunk-452WDNFO.js.map → chunk-GG6AJN7A.js.map} +0 -0
  386. /package/dist/{chunk-O2WELT5C.js.map → chunk-GS55WYRL.js.map} +0 -0
  387. /package/dist/{chunk-OHX52AOS.js.map → chunk-GTDH3IUH.js.map} +0 -0
  388. /package/dist/{chunk-IBTZEBUD.js.map → chunk-HYNHLBKA.js.map} +0 -0
  389. /package/dist/{chunk-V254FAT5.js.map → chunk-IIDSFFE5.js.map} +0 -0
  390. /package/dist/{chunk-EVWIEEKZ.js.map → chunk-IQ7WCZRW.js.map} +0 -0
  391. /package/dist/{chunk-B5XMS73R.js.map → chunk-IQVQJJL7.js.map} +0 -0
  392. /package/dist/{chunk-6RHNCKHG.js.map → chunk-K43PI6DQ.js.map} +0 -0
  393. /package/dist/{chunk-OIF36KGD.js.map → chunk-KCQA46NR.js.map} +0 -0
  394. /package/dist/{chunk-2LDBXPLB.js.map → chunk-KF74X62T.js.map} +0 -0
  395. /package/dist/{chunk-MAV46GWQ.js.map → chunk-KYYL4U6X.js.map} +0 -0
  396. /package/dist/{chunk-6GC5SGFE.js.map → chunk-L24JROPR.js.map} +0 -0
  397. /package/dist/{chunk-6VP3YUCS.js.map → chunk-LLONI6PY.js.map} +0 -0
  398. /package/dist/{chunk-Q5ZU3RNY.js.map → chunk-LQ6JI4VH.js.map} +0 -0
  399. /package/dist/{chunk-ODWI5XU2.js.map → chunk-MCQDSY4G.js.map} +0 -0
  400. /package/dist/{chunk-HP5FMB6L.js.map → chunk-MDJURR27.js.map} +0 -0
  401. /package/dist/{chunk-T2PO5MUF.js.map → chunk-O7GOFAM3.js.map} +0 -0
  402. /package/dist/{chunk-Z2OXSMZK.js.map → chunk-OBXTMFZQ.js.map} +0 -0
  403. /package/dist/{chunk-KV6CX4ON.js.map → chunk-OV4D5T7V.js.map} +0 -0
  404. /package/dist/{chunk-KACIOX42.js.map → chunk-PH3HOKYW.js.map} +0 -0
  405. /package/dist/{chunk-NHFXF4ZO.js.map → chunk-PK6RGRSD.js.map} +0 -0
  406. /package/dist/{chunk-C3IW2F5Z.js.map → chunk-PLBIPT6I.js.map} +0 -0
  407. /package/dist/{chunk-QY7YA7OL.js.map → chunk-PNLCEFE4.js.map} +0 -0
  408. /package/dist/{chunk-AGRPGAKR.js.map → chunk-PONNZ54D.js.map} +0 -0
  409. /package/dist/{chunk-XZ4WBBB5.js.map → chunk-PWFWCGOO.js.map} +0 -0
  410. /package/dist/{chunk-G7Z3C2X6.js.map → chunk-QANVLERJ.js.map} +0 -0
  411. /package/dist/{chunk-W4RVMTHR.js.map → chunk-QRDOSYOR.js.map} +0 -0
  412. /package/dist/{chunk-6IMKOIZ6.js.map → chunk-R6OVFAX6.js.map} +0 -0
  413. /package/dist/{chunk-2QSZNTDO.js.map → chunk-RKNJBZ55.js.map} +0 -0
  414. /package/dist/{chunk-JOASJWQR.js.map → chunk-SANZHXY2.js.map} +0 -0
  415. /package/dist/{chunk-7DTASS5T.js.map → chunk-SJHM6I4J.js.map} +0 -0
  416. /package/dist/{chunk-B2B2IHUH.js.map → chunk-STOEE37X.js.map} +0 -0
  417. /package/dist/{chunk-GNAMDNGT.js.map → chunk-U7D7NP4J.js.map} +0 -0
  418. /package/dist/{chunk-DRD2Q7HQ.js.map → chunk-UFS7OXGL.js.map} +0 -0
  419. /package/dist/{chunk-H3HDXD3U.js.map → chunk-UPTZYUYJ.js.map} +0 -0
  420. /package/dist/{chunk-3IND7N4X.js.map → chunk-UTYBJR7M.js.map} +0 -0
  421. /package/dist/{chunk-LN4YGHTM.js.map → chunk-UUH4YQOF.js.map} +0 -0
  422. /package/dist/{chunk-6VF75M3X.js.map → chunk-VGUOEDTU.js.map} +0 -0
  423. /package/dist/{chunk-44VFF3BB.js.map → chunk-VILEUJXC.js.map} +0 -0
  424. /package/dist/{chunk-7SI52C65.js.map → chunk-VL7DP3OW.js.map} +0 -0
  425. /package/dist/{chunk-7DHTMOND.js.map → chunk-VQ34TERH.js.map} +0 -0
  426. /package/dist/{chunk-H6PMGMNP.js.map → chunk-VX6OBUDW.js.map} +0 -0
  427. /package/dist/{chunk-EW5KFXHL.js.map → chunk-WDXCNJSF.js.map} +0 -0
  428. /package/dist/{chunk-X6IRLNOO.js.map → chunk-WIWPSQYU.js.map} +0 -0
  429. /package/dist/{chunk-DOCTITOP.js.map → chunk-WRFKZEO6.js.map} +0 -0
  430. /package/dist/{chunk-E6ZDCOHM.js.map → chunk-XBZQRZ6G.js.map} +0 -0
  431. /package/dist/{chunk-7YX23JBA.js.map → chunk-XHYGJVXL.js.map} +0 -0
  432. /package/dist/{chunk-JD4SCARD.js.map → chunk-YN4ZT4CW.js.map} +0 -0
  433. /package/dist/{chunk-YXWAILM4.js.map → chunk-YOI3ELXF.js.map} +0 -0
  434. /package/dist/{chunk-XCAZF7KQ.js.map → chunk-ZA2S2VLL.js.map} +0 -0
  435. /package/dist/{chunk-BEUDU7Y4.js.map → chunk-ZCWIH4LH.js.map} +0 -0
  436. /package/dist/{chunk-WEPMT6SC.js.map → chunk-ZPTISBQU.js.map} +0 -0
  437. /package/dist/{contradiction-scan-AZTGFMPY.js.map → contradiction-scan-HWGEOUDS.js.map} +0 -0
  438. /package/dist/{first-start-migration-FF7YFGRP.js.map → first-start-migration-PG5HBC3K.js.map} +0 -0
  439. /package/dist/{graph-edge-decay-KSVJGCZW.js.map → graph-edge-decay-D7OESCBR.js.map} +0 -0
  440. /package/dist/{resolution-IDTEBJFS.js.map → provenance.js.map} +0 -0
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  collectNativeKnowledgeChunks
3
- } from "./chunk-BEUDU7Y4.js";
3
+ } from "./chunk-ZCWIH4LH.js";
4
4
  import {
5
5
  compareEntityTimestamps,
6
6
  normalizeEntityName
7
- } from "./chunk-TY5NT3T3.js";
7
+ } from "./chunk-BLIWOONZ.js";
8
8
  import {
9
9
  sanitizeMemoryContent
10
10
  } from "./chunk-FVQJYWH7.js";
@@ -679,4 +679,4 @@ export {
679
679
  entityIndexVersion,
680
680
  entityRecentTranscriptLookbackHours
681
681
  };
682
- //# sourceMappingURL=chunk-NQMBSSWW.js.map
682
+ //# sourceMappingURL=chunk-B4XVLHJA.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  parseXrayFormat
3
- } from "./chunk-OHX52AOS.js";
3
+ } from "./chunk-GTDH3IUH.js";
4
4
  import {
5
5
  RECALL_DISCLOSURE_LEVELS,
6
6
  isRecallDisclosure
7
- } from "./chunk-FMSDA2D3.js";
7
+ } from "./chunk-NGFEWFNK.js";
8
8
 
9
9
  // src/recall-xray-cli.ts
10
10
  function parseXrayDisclosureFlag(value) {
@@ -50,4 +50,4 @@ export {
50
50
  parseXrayBudgetFlag,
51
51
  parseXrayCliOptions
52
52
  };
53
- //# sourceMappingURL=chunk-GSTYVG5L.js.map
53
+ //# sourceMappingURL=chunk-BFVPIKDY.js.map
@@ -16,7 +16,7 @@ import {
16
16
  import {
17
17
  SPECULATIVE_TTL_DAYS,
18
18
  confidenceTier
19
- } from "./chunk-FMSDA2D3.js";
19
+ } from "./chunk-NGFEWFNK.js";
20
20
  import {
21
21
  readProjectedGovernanceRecord,
22
22
  readProjectedMemoryBrowse,
@@ -77,6 +77,12 @@ import {
77
77
  categoryDirName,
78
78
  getCategoryDir
79
79
  } from "./chunk-VS2IYZRU.js";
80
+ import {
81
+ parseProvenanceSources,
82
+ parseProvenanceTag,
83
+ reconcileProvenanceRead,
84
+ serializeProvenanceFields
85
+ } from "./chunk-ZPQVJEVQ.js";
80
86
  import {
81
87
  matchEntitySchemaSection,
82
88
  normalizeEntityStructuredSection,
@@ -84,7 +90,7 @@ import {
84
90
  } from "./chunk-4DJQYKMN.js";
85
91
  import {
86
92
  log
87
- } from "./chunk-2ODBA7MQ.js";
93
+ } from "./chunk-NU3CSQ4H.js";
88
94
 
89
95
  // src/storage.ts
90
96
  import { access, lstat, readdir, readFile, realpath, stat, writeFile, mkdir, unlink, appendFile, open } from "fs/promises";
@@ -344,6 +350,7 @@ function serializeFrontmatter(fm) {
344
350
  if (fm.last_reinforced_at) {
345
351
  lines.push(`last_reinforced_at: ${fm.last_reinforced_at}`);
346
352
  }
353
+ serializeProvenanceFields(fm, lines);
347
354
  lines.push("---");
348
355
  return lines.join("\n");
349
356
  }
@@ -631,13 +638,11 @@ function parseFrontmatter(raw) {
631
638
  // PR; no code produces these fields yet.
632
639
  derived_from,
633
640
  derived_via,
634
- // Pattern-reinforcement metadata (issue #687 PR 2/4). Parse
635
- // permissively: invalid values (negative, non-integer, blank
636
- // ISO-strings) are dropped to undefined so a corrupt frontmatter
637
- // never poisons downstream scoring. Validation lives on the
638
- // write path in serializeFrontmatter.
641
+ // Pattern-reinforcement metadata (issue #687 PR 2/4) — drop corrupt values on read (rule 34).
639
642
  reinforcement_count: parseReinforcementCountField(fm.reinforcement_count),
640
- last_reinforced_at: fm.last_reinforced_at || void 0
643
+ last_reinforced_at: fm.last_reinforced_at || void 0,
644
+ sources: parseProvenanceSources(fm.sources),
645
+ provenance: reconcileProvenanceRead(parseProvenanceTag(fm.provenance), parseProvenanceSources(fm.sources))
641
646
  },
642
647
  content
643
648
  };
@@ -1698,24 +1703,12 @@ var StorageManager = class _StorageManager {
1698
1703
  static allMemoriesInFlight = /* @__PURE__ */ new Map();
1699
1704
  // Cache for readAllColdMemories() — keyed by cold root directory path.
1700
1705
  // Prevents an uncached full-tree directory scan on every structured-attribute
1701
- // write (Finding UOGi, PR #402 round-6). The cache is only invalidated when
1702
- // cold-tier content actually changes (via invalidateColdMemoriesCache), NOT
1703
- // on every hot-tier write. It also expires after COLD_SCAN_CACHE_TTL_MS as
1704
- // a safety net.
1705
- //
1706
- // Finding UvUy (PR #402 round-11): cache entries now carry a `coldVersion`
1707
- // sentinel that is bumped (via a file-size counter in state/cold-write.log)
1708
- // on every write that modifies cold-tier content. Before serving a cached
1709
- // result, readAllColdMemories() reads the sentinel from disk and compares.
1710
- // If they differ the entry is dropped and the cold tree is re-scanned. This
1711
- // makes the cache correct across process boundaries (gateway + CLI): a second
1712
- // process that writes a new cold memory bumps the sentinel on disk, so the
1713
- // first process's next readAllColdMemories() sees the change within one call
1714
- // (rather than waiting up to 30s for TTL expiry).
1715
- //
1716
- // After Finding UTsP broadened readAllColdMemories to scan the entire cold/
1717
- // subtree (not just facts/+corrections/), amortizing this I/O across
1718
- // back-to-back writes in the same burst is even more important.
1706
+ // write (Finding UOGi, PR #402 round-6). Invalidated when cold-tier content
1707
+ // changes (via invalidateColdMemoriesCache) and expires after COLD_SCAN_CACHE_TTL_MS.
1708
+ // Entries carry a `coldVersion` sentinel (Finding UvUy, PR #402 round-11) bumped
1709
+ // on every cold-tier write, making the cache correct across process boundaries
1710
+ // (gateway + CLI). After Finding UTsP broadened the scan to the entire cold/
1711
+ // subtree, amortizing across back-to-back writes is even more important.
1719
1712
  static COLD_SCAN_CACHE_TTL_MS = 3e4;
1720
1713
  // 30 seconds
1721
1714
  static coldMemoriesCache = /* @__PURE__ */ new Map();
@@ -1736,6 +1729,14 @@ var StorageManager = class _StorageManager {
1736
1729
  offlineSyncDigestCacheWriteTimer = null;
1737
1730
  /** Optional: set by the orchestrator after construction to enable template-aware citation stripping during legacy hash rebuild. */
1738
1731
  citationTemplate = DEFAULT_CITATION_FORMAT;
1732
+ /** Post-write catalog hook (#1522). Installed by the namespace router; fire-and-forget. */
1733
+ onCatalogWrite;
1734
+ notifyCatalogWrite() {
1735
+ try {
1736
+ this.onCatalogWrite?.();
1737
+ } catch {
1738
+ }
1739
+ }
1739
1740
  /** Page-versioning configuration. Set by the orchestrator after construction. */
1740
1741
  _versioningConfig = null;
1741
1742
  /** Set the page-versioning configuration. When `enabled` is false (default), all versioning calls are no-ops. */
@@ -1957,7 +1958,7 @@ var StorageManager = class _StorageManager {
1957
1958
  }
1958
1959
  async writeWearableDayTranscript(sourceId, date, serialized) {
1959
1960
  const targetPath = this.wearableTranscriptPath(sourceId, date);
1960
- await writeMaybeEncryptedFile(targetPath, serialized, this.resolveWriteKey(), {}, this.baseDir);
1961
+ await this.writeStorageSecureFile(targetPath, serialized);
1961
1962
  }
1962
1963
  /** Read a stored day transcript; null when the day has no file. */
1963
1964
  async readWearableDayTranscript(sourceId, date) {
@@ -2101,7 +2102,10 @@ var StorageManager = class _StorageManager {
2101
2102
  return readMaybeEncryptedFile(filePath, this._secureStoreKey, this.baseDir);
2102
2103
  }
2103
2104
  writeStorageSecureFile(filePath, content) {
2104
- return writeMaybeEncryptedFile(filePath, content, this.resolveWriteKey(), {}, this.baseDir);
2105
+ return writeMaybeEncryptedFile(filePath, content, this.resolveWriteKey(), {}, this.baseDir).then(() => this.notifyCatalogWrite());
2106
+ }
2107
+ writeStorageSecureFileChunks(filePath, chunks) {
2108
+ return writeMaybeEncryptedFileFromChunks(filePath, chunks, this.resolveWriteKey(), {}, this.baseDir).then(() => this.notifyCatalogWrite());
2105
2109
  }
2106
2110
  assertManagedStoragePath(filePath, method) {
2107
2111
  const resolved = path.resolve(filePath);
@@ -2247,16 +2251,16 @@ var StorageManager = class _StorageManager {
2247
2251
  }
2248
2252
  async writeOfflineSyncFile(filePath, content) {
2249
2253
  const target = this.assertManagedStoragePath(filePath, "storage.writeOfflineSyncFile");
2250
- await writeMaybeEncryptedFile(target, content, this.resolveWriteKey(), {}, this.baseDir);
2254
+ await this.writeStorageSecureFile(target, content);
2251
2255
  await this.invalidateAfterOfflineSyncMutation(target);
2252
2256
  }
2253
2257
  async writeOfflineSyncStagingFile(filePath, content) {
2254
2258
  const target = this.assertManagedStoragePath(filePath, "storage.writeOfflineSyncStagingFile");
2255
- await writeMaybeEncryptedFile(target, content, this.resolveWriteKey(), {}, this.baseDir);
2259
+ await this.writeStorageSecureFile(target, content);
2256
2260
  }
2257
2261
  async writeOfflineSyncFileChunks(filePath, chunks) {
2258
2262
  const target = this.assertManagedStoragePath(filePath, "storage.writeOfflineSyncFileChunks");
2259
- await writeMaybeEncryptedFileFromChunks(target, chunks, this.resolveWriteKey(), {}, this.baseDir);
2263
+ await this.writeStorageSecureFileChunks(target, chunks);
2260
2264
  await this.invalidateAfterOfflineSyncMutation(target);
2261
2265
  }
2262
2266
  async deleteOfflineSyncFile(filePath) {
@@ -2312,12 +2316,14 @@ var StorageManager = class _StorageManager {
2312
2316
  if (isEncryptedFile(await readFile(filePath))) {
2313
2317
  const existing2 = await this.readStorageSecureFile(filePath);
2314
2318
  await writeMaybeEncryptedFile(filePath, `${existing2}${content}`, null, {}, this.baseDir);
2319
+ this.notifyCatalogWrite();
2315
2320
  return;
2316
2321
  }
2317
2322
  } catch (err) {
2318
2323
  if (!isErrnoCode(err, "ENOENT")) throw err;
2319
2324
  }
2320
2325
  await appendFile(filePath, content, "utf-8");
2326
+ this.notifyCatalogWrite();
2321
2327
  return;
2322
2328
  }
2323
2329
  let existing = "";
@@ -2327,6 +2333,7 @@ var StorageManager = class _StorageManager {
2327
2333
  if (!isErrnoCode(err, "ENOENT")) throw err;
2328
2334
  }
2329
2335
  await writeMaybeEncryptedFile(filePath, `${existing}${content}`, writeKey, {}, this.baseDir);
2336
+ this.notifyCatalogWrite();
2330
2337
  }
2331
2338
  get stateDir() {
2332
2339
  return path.join(this.baseDir, "state");
@@ -2635,7 +2642,7 @@ ${sanitized.text}
2635
2642
  `;
2636
2643
  const filePath = await this.resolveCategoryWritePath(category, id, today);
2637
2644
  await this.snapshotBeforeWrite(filePath, "write");
2638
- await writeMaybeEncryptedFile(filePath, fileContent, this.resolveWriteKey(), {}, this.baseDir);
2645
+ await this.writeStorageSecureFile(filePath, fileContent);
2639
2646
  this.invalidateAllMemoriesCache();
2640
2647
  await this.appendGeneratedMemoryLifecycleEventFailOpen("storage.writeMemory", {
2641
2648
  memoryId: id,
@@ -2772,10 +2779,10 @@ ${sanitized.text}
2772
2779
  return "";
2773
2780
  }
2774
2781
  const filePath = path.join(dir, `${id}.md`);
2775
- await writeMaybeEncryptedFile(filePath, `${serializeFrontmatter(fm)}
2782
+ await this.writeStorageSecureFile(filePath, `${serializeFrontmatter(fm)}
2776
2783
 
2777
2784
  ${sanitized.text}
2778
- `, this.resolveWriteKey(), {}, this.baseDir);
2785
+ `);
2779
2786
  const actor = typeof options.actor === "string" && options.actor.length > 0 ? options.actor : "storage.writeArtifact";
2780
2787
  await this.appendGeneratedMemoryLifecycleEventFailOpen("storage.writeArtifact", {
2781
2788
  memoryId: id,
@@ -2964,7 +2971,7 @@ ${sanitized.text}
2964
2971
  async writeProfile(content) {
2965
2972
  await this.ensureDirectories();
2966
2973
  await this.snapshotBeforeWrite(this.profilePath, "consolidation");
2967
- await writeMaybeEncryptedFile(this.profilePath, content, this.resolveWriteKey(), {}, this.baseDir);
2974
+ await this.writeStorageSecureFile(this.profilePath, content);
2968
2975
  log.debug("updated profile.md");
2969
2976
  }
2970
2977
  /**
@@ -3482,6 +3489,7 @@ ${memory.content}
3482
3489
  `;
3483
3490
  await writeMaybeEncryptedFile(targetPath, fileContent, this.resolveWriteKey(), {}, this.baseDir);
3484
3491
  this.invalidateAllMemoriesCache();
3492
+ this.notifyCatalogWrite();
3485
3493
  }
3486
3494
  async moveMemoryToPath(memory, targetPath) {
3487
3495
  await this.writeMemoryFileAtomic(targetPath, memory);
@@ -3552,7 +3560,7 @@ ${memory.content}
3552
3560
  ${memory.content}
3553
3561
  `;
3554
3562
  const destPath = path.join(destDir, path.basename(memory.path));
3555
- await writeMaybeEncryptedFile(destPath, fileContent, this.resolveWriteKey(), {}, this.baseDir);
3563
+ await this.writeStorageSecureFile(destPath, fileContent);
3556
3564
  await unlink(memory.path);
3557
3565
  this.invalidateAllMemoriesCache();
3558
3566
  await this.appendGeneratedMemoryLifecycleEventFailOpen(
@@ -3679,7 +3687,7 @@ ${memory.content}
3679
3687
 
3680
3688
  ${sanitized.text}
3681
3689
  `;
3682
- await writeMaybeEncryptedFile(memory.path, fileContent, this.resolveWriteKey(), {}, this.baseDir);
3690
+ await this.writeStorageSecureFile(memory.path, fileContent);
3683
3691
  this.invalidateAllMemoriesCache();
3684
3692
  await this.appendGeneratedMemoryLifecycleEventFailOpen("storage.updateMemory", {
3685
3693
  memoryId: id,
@@ -3711,7 +3719,7 @@ ${sanitized.text}
3711
3719
 
3712
3720
  ${memory.content}
3713
3721
  `;
3714
- await writeMaybeEncryptedFile(memory.path, fileContent, this.resolveWriteKey(), {}, this.baseDir);
3722
+ await this.writeStorageSecureFile(memory.path, fileContent);
3715
3723
  this.invalidateAllMemoriesCache();
3716
3724
  if (memory.path.includes(`${path.sep}cold${path.sep}`)) {
3717
3725
  this.invalidateColdMemoriesCache();
@@ -4424,7 +4432,7 @@ ${question}
4424
4432
  **Context:** ${context}
4425
4433
  `;
4426
4434
  const filePath = path.join(this.questionsDir, `${id}.md`);
4427
- await writeFile(filePath, content, "utf-8");
4435
+ await this.writeStorageSecureFile(filePath, content);
4428
4436
  log.debug(`wrote question ${id} to ${filePath}`);
4429
4437
  this.invalidateQuestionsCache();
4430
4438
  return id;
@@ -4491,7 +4499,7 @@ ${question}
4491
4499
  const questions = await this.readQuestions();
4492
4500
  const q = questions.find((q2) => q2.id === id);
4493
4501
  if (!q) return false;
4494
- let raw = await readFile(q.filePath, "utf-8");
4502
+ let raw = await this.readStorageSecureFile(q.filePath);
4495
4503
  raw = raw.replace(/resolved: false/, "resolved: true");
4496
4504
  raw = raw.replace(
4497
4505
  /---\n\n/,
@@ -4500,7 +4508,7 @@ ${question}
4500
4508
 
4501
4509
  `
4502
4510
  );
4503
- await writeFile(q.filePath, raw, "utf-8");
4511
+ await this.writeStorageSecureFile(q.filePath, raw);
4504
4512
  log.debug(`resolved question ${id}`);
4505
4513
  return true;
4506
4514
  }
@@ -5370,7 +5378,7 @@ ${sanitized.text}
5370
5378
  ${oldMemory.content}
5371
5379
  `;
5372
5380
  try {
5373
- await writeMaybeEncryptedFile(oldMemory.path, fileContent, this.resolveWriteKey(), {}, this.baseDir);
5381
+ await this.writeStorageSecureFile(oldMemory.path, fileContent);
5374
5382
  await this.appendGeneratedMemoryLifecycleEventFailOpen("storage.supersedeMemory", {
5375
5383
  memoryId: oldMemoryId,
5376
5384
  eventType: "superseded",
@@ -5580,4 +5588,4 @@ export {
5580
5588
  serializeEntityFile,
5581
5589
  StorageManager
5582
5590
  };
5583
- //# sourceMappingURL=chunk-TY5NT3T3.js.map
5591
+ //# sourceMappingURL=chunk-BLIWOONZ.js.map