@remnic/core 9.69.23 → 9.69.25

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 (438) hide show
  1. package/dist/abstraction-nodes.js +3 -2
  2. package/dist/access-admin-ops-surface.d.ts +1 -1
  3. package/dist/access-admin-ops-surface.js +53 -53
  4. package/dist/access-authorization-probe.d.ts +1 -1
  5. package/dist/access-authorization-probe.js +54 -54
  6. package/dist/access-boundary.d.ts +1 -1
  7. package/dist/access-boundary.js +53 -53
  8. package/dist/access-citation-namespace.js +3 -3
  9. package/dist/access-cli.js +112 -112
  10. package/dist/access-extraction-force-flush.d.ts +1 -1
  11. package/dist/access-extraction-force-flush.js +53 -53
  12. package/dist/access-http-briefing.d.ts +1 -1
  13. package/dist/access-http-briefing.js +54 -54
  14. package/dist/access-http-lcm-compaction.d.ts +1 -1
  15. package/dist/access-http-lifecycle-flush.d.ts +1 -1
  16. package/dist/access-http-offline-stream.d.ts +1 -1
  17. package/dist/access-http-query.js +55 -55
  18. package/dist/access-http.d.ts +2 -2
  19. package/dist/access-http.js +72 -72
  20. package/dist/access-identity-continuity-surface.js +53 -53
  21. package/dist/access-lcm-surface.d.ts +1 -1
  22. package/dist/access-lcm-surface.js +53 -53
  23. package/dist/access-mcp.d.ts +1 -1
  24. package/dist/access-mcp.js +64 -64
  25. package/dist/access-namespace-preflight.js +53 -53
  26. package/dist/access-observe-write-surface.d.ts +1 -1
  27. package/dist/access-observe-write-surface.js +53 -53
  28. package/dist/access-offline-manifest.js +10 -10
  29. package/dist/access-operations-batch.js +58 -58
  30. package/dist/access-operations.d.ts +1 -1
  31. package/dist/access-operations.js +63 -63
  32. package/dist/access-recall-concurrency.d.ts +1 -1
  33. package/dist/access-recall-concurrency.js +53 -53
  34. package/dist/access-recall-response.d.ts +1 -1
  35. package/dist/access-recall-response.js +53 -53
  36. package/dist/access-recall-surface.d.ts +1 -1
  37. package/dist/access-recall-surface.js +53 -53
  38. package/dist/access-schema.js +6 -5
  39. package/dist/access-service-helpers.d.ts +1 -1
  40. package/dist/access-service.d.ts +1 -1
  41. package/dist/access-service.js +53 -53
  42. package/dist/access-surface-catalog.d.ts +1 -1
  43. package/dist/access-surface-catalog.js +55 -55
  44. package/dist/active-recall.js +12 -11
  45. package/dist/active-recall.js.map +1 -1
  46. package/dist/{auto-sync-TTIEWJ5X.js → auto-sync-WNGG2GC2.js} +7 -7
  47. package/dist/briefing.js +20 -20
  48. package/dist/buffer.js +9 -9
  49. package/dist/calibration.js +2 -1
  50. package/dist/calibration.js.map +1 -1
  51. package/dist/{capsule-merge-CU6QJBSV.js → capsule-merge-IPG4IOFP.js} +4 -4
  52. package/dist/causal-behavior.js +4 -3
  53. package/dist/causal-behavior.js.map +1 -1
  54. package/dist/causal-chain.js +4 -3
  55. package/dist/causal-consolidation.js +25 -25
  56. package/dist/causal-retrieval.js +4 -3
  57. package/dist/causal-retrieval.js.map +1 -1
  58. package/dist/causal-trajectory-graph.js +2 -1
  59. package/dist/causal-trajectory-graph.js.map +1 -1
  60. package/dist/causal-trajectory.js +3 -2
  61. package/dist/{chunk-5RWHODVF.js → chunk-27QVNSQ3.js} +2 -2
  62. package/dist/{chunk-2MX7RU7B.js → chunk-2EKJDQZB.js} +2 -2
  63. package/dist/{chunk-XLRM6PPI.js → chunk-2IOHTUP3.js} +4 -4
  64. package/dist/{chunk-ZGQDTD5T.js → chunk-2ITE4C2Z.js} +2 -2
  65. package/dist/{chunk-O5ZR7SXV.js → chunk-2SGLMP2E.js} +2 -2
  66. package/dist/{chunk-FYWLSFFS.js → chunk-2Z4GS5E6.js} +2 -2
  67. package/dist/{chunk-WELP4CG6.js → chunk-37KUQPX4.js} +6 -6
  68. package/dist/{chunk-DDQQY2E3.js → chunk-3BTFBQLO.js} +7 -7
  69. package/dist/chunk-3BTFBQLO.js.map +1 -0
  70. package/dist/{chunk-UR6PBX2J.js → chunk-3K7V3HE6.js} +35 -60
  71. package/dist/chunk-3K7V3HE6.js.map +1 -0
  72. package/dist/{chunk-MRSLR6TB.js → chunk-3QQTXYZ6.js} +2 -2
  73. package/dist/{chunk-DJUKBGAD.js → chunk-46EST7JO.js} +5 -5
  74. package/dist/chunk-46EST7JO.js.map +1 -0
  75. package/dist/{chunk-CI6C33EO.js → chunk-46ZPIGWI.js} +3 -3
  76. package/dist/{chunk-HTIIXNJQ.js → chunk-4FIH6MPS.js} +6 -3
  77. package/dist/chunk-4FIH6MPS.js.map +1 -0
  78. package/dist/{chunk-MCA2X4WH.js → chunk-4IHBN6WU.js} +2 -2
  79. package/dist/{chunk-W7IGLX4G.js → chunk-4O6WRBGE.js} +7 -7
  80. package/dist/chunk-4O6WRBGE.js.map +1 -0
  81. package/dist/{chunk-TOZCM7WN.js → chunk-4TKJGOCJ.js} +2 -2
  82. package/dist/{chunk-3ADRFFRO.js → chunk-54WHLA65.js} +4 -4
  83. package/dist/{chunk-Z2N2AHEM.js → chunk-56Y6EKZN.js} +2 -2
  84. package/dist/{chunk-2H2N5UQW.js → chunk-5ATKSPEQ.js} +2 -2
  85. package/dist/{chunk-MSOXFXCA.js → chunk-5FAGCOZD.js} +5 -5
  86. package/dist/chunk-5FAGCOZD.js.map +1 -0
  87. package/dist/{chunk-ZVZHG7AI.js → chunk-5UBH37SL.js} +3 -3
  88. package/dist/{chunk-YZYZ2BEU.js → chunk-66OJSCI6.js} +2 -2
  89. package/dist/{chunk-HNPE66LB.js → chunk-6CVNSDCZ.js} +4 -4
  90. package/dist/{chunk-ERVJFFTR.js → chunk-6NXSYYGP.js} +2 -2
  91. package/dist/{chunk-2HIJHXB3.js → chunk-6WHJ2EAB.js} +2 -2
  92. package/dist/{chunk-34VTBPNE.js → chunk-6XL73HQ4.js} +4 -4
  93. package/dist/{chunk-YK3UIF7X.js → chunk-AQ7SYDVO.js} +2 -2
  94. package/dist/{chunk-DSCCM66R.js → chunk-B3O3IRZN.js} +2 -2
  95. package/dist/{chunk-P77QX3ID.js → chunk-B6O2YLUR.js} +21 -20
  96. package/dist/chunk-B6O2YLUR.js.map +1 -0
  97. package/dist/{chunk-N37X5RU7.js → chunk-BD7JTBYP.js} +2 -2
  98. package/dist/{chunk-VO43BJ2F.js → chunk-BLJWYCNO.js} +5 -5
  99. package/dist/{chunk-ACPCA4NO.js → chunk-BMWN7B3Y.js} +6 -6
  100. package/dist/chunk-BMWN7B3Y.js.map +1 -0
  101. package/dist/{chunk-HSKSVY3Q.js → chunk-C553ZTLF.js} +15 -15
  102. package/dist/{chunk-GCASGYIO.js → chunk-C7HJ3NEI.js} +2 -2
  103. package/dist/{chunk-WVGXCBOC.js → chunk-D5F7TKMH.js} +2 -2
  104. package/dist/{chunk-UFT2XNBW.js → chunk-DGS34QSY.js} +2 -2
  105. package/dist/{chunk-VAOL3SOT.js → chunk-DZD3WGCD.js} +4 -4
  106. package/dist/{chunk-KHMS2FQS.js → chunk-E2P7TZTF.js} +2 -2
  107. package/dist/{chunk-6FC3IZ26.js → chunk-EBA5DA77.js} +2 -2
  108. package/dist/{chunk-E6EANYLD.js → chunk-EOQ6FSQP.js} +2 -2
  109. package/dist/{chunk-7RPPCA26.js → chunk-FVOP3NT7.js} +2 -2
  110. package/dist/{chunk-NRLELHAY.js → chunk-G7NYVKD6.js} +2 -2
  111. package/dist/{chunk-QY34X2QJ.js → chunk-GHTSNGBZ.js} +2 -2
  112. package/dist/{chunk-SLIOMMPF.js → chunk-H272ZPQ3.js} +5 -5
  113. package/dist/{chunk-ZZBQNQS6.js → chunk-H3TKENU4.js} +2 -2
  114. package/dist/{chunk-5OPNUUBX.js → chunk-H4SEGIZY.js} +2 -2
  115. package/dist/{chunk-F2HMDGLC.js → chunk-H54VWRPS.js} +13 -13
  116. package/dist/{chunk-HTP6XRUI.js → chunk-HM7RHKS4.js} +2 -2
  117. package/dist/{chunk-O7H3P2SJ.js → chunk-HWLIMQE2.js} +2 -2
  118. package/dist/{chunk-62WZDHTW.js → chunk-ICKJ52PE.js} +33 -33
  119. package/dist/chunk-ICKJ52PE.js.map +1 -0
  120. package/dist/{chunk-I3FDDCY3.js → chunk-JEC4DVM3.js} +8 -8
  121. package/dist/chunk-JEC4DVM3.js.map +1 -0
  122. package/dist/{chunk-ET2CNMLD.js → chunk-JN72EPOE.js} +2 -2
  123. package/dist/{chunk-E7UQOS4C.js → chunk-JPKK466T.js} +2 -2
  124. package/dist/{chunk-JCCWJHOP.js → chunk-JYZSRNR7.js} +2 -2
  125. package/dist/{chunk-7IUESBLV.js → chunk-K7724CH2.js} +2 -2
  126. package/dist/{chunk-UK7HXNNJ.js → chunk-KAXCYM66.js} +3 -3
  127. package/dist/{chunk-7XVP4P4O.js → chunk-KB2G2I6Q.js} +3 -3
  128. package/dist/{chunk-K7LTRJZU.js → chunk-KEF46KL2.js} +2 -2
  129. package/dist/{chunk-5UZXUTVO.js → chunk-KNA3BXXL.js} +6 -2
  130. package/dist/chunk-KNA3BXXL.js.map +1 -0
  131. package/dist/{chunk-JYYTWCPU.js → chunk-KTWG7CNY.js} +6 -6
  132. package/dist/{chunk-XTYDEO7M.js → chunk-L7Z57SID.js} +2 -2
  133. package/dist/{chunk-EYMPUXAN.js → chunk-LO4UKPKX.js} +3 -3
  134. package/dist/{chunk-LDWIPYJ6.js → chunk-LS2FHUML.js} +3 -3
  135. package/dist/{chunk-GDB4J2H3.js → chunk-MPC7TYTZ.js} +2 -2
  136. package/dist/{chunk-2GF27PGH.js → chunk-MRPOZBJC.js} +3 -3
  137. package/dist/{chunk-7OLKAQMG.js → chunk-MWN6QEI2.js} +2 -2
  138. package/dist/{chunk-J62HG52Z.js → chunk-MY5EDR46.js} +4 -4
  139. package/dist/{chunk-IZRMWPGS.js → chunk-N3ZOP7KC.js} +2 -2
  140. package/dist/{chunk-N6A2RP5S.js → chunk-NB3LRY4T.js} +3 -3
  141. package/dist/{chunk-4N5BIR2U.js → chunk-ND6IQGSZ.js} +2 -2
  142. package/dist/{chunk-NOB2T2FC.js → chunk-NHLLKEKK.js} +2 -2
  143. package/dist/{chunk-WW6B7NQJ.js → chunk-NLYVH66G.js} +6 -6
  144. package/dist/chunk-NLYVH66G.js.map +1 -0
  145. package/dist/{chunk-M5CQNOQN.js → chunk-O6ZNNVSP.js} +2 -2
  146. package/dist/{chunk-NNBZS3DY.js → chunk-OB3XMWX5.js} +2 -2
  147. package/dist/{chunk-TXJNRGMI.js → chunk-OEYZXDQI.js} +6 -6
  148. package/dist/chunk-OEYZXDQI.js.map +1 -0
  149. package/dist/{chunk-SIBVIP2Y.js → chunk-PAZY2ZKP.js} +2 -2
  150. package/dist/{chunk-LXESHEBP.js → chunk-PX4UMA5Z.js} +2 -2
  151. package/dist/{chunk-4KNRKJXQ.js → chunk-QOOBICJF.js} +5 -5
  152. package/dist/chunk-QOOBICJF.js.map +1 -0
  153. package/dist/{chunk-NNZFPYYX.js → chunk-R7QY5ZVB.js} +2 -2
  154. package/dist/{chunk-WTRTFIIN.js → chunk-R7RTXEYG.js} +2 -2
  155. package/dist/{chunk-XRBJ5R3P.js → chunk-RBCQVOVJ.js} +3 -3
  156. package/dist/{chunk-WFZNT4KB.js → chunk-RC5DXXWC.js} +2 -2
  157. package/dist/{chunk-OH7LZHGJ.js → chunk-RJYJ7KR7.js} +52 -52
  158. package/dist/{chunk-OH7LZHGJ.js.map → chunk-RJYJ7KR7.js.map} +1 -1
  159. package/dist/{chunk-5QZR2RA3.js → chunk-ROBHL3GL.js} +2 -2
  160. package/dist/{chunk-6PST2SFW.js → chunk-SCXURCVT.js} +3 -3
  161. package/dist/{chunk-AYG7ML7O.js → chunk-SJDQ5RSN.js} +3 -3
  162. package/dist/{chunk-3ZBLKIHJ.js → chunk-SMWTZLHE.js} +51 -41
  163. package/dist/{chunk-3ZBLKIHJ.js.map → chunk-SMWTZLHE.js.map} +1 -1
  164. package/dist/{chunk-IQXDSKTL.js → chunk-SVXJLDDC.js} +6 -6
  165. package/dist/{chunk-SEF4IOFE.js → chunk-SWIKABKI.js} +2 -2
  166. package/dist/{chunk-ZJABRLCZ.js → chunk-TBXAY2SS.js} +4 -4
  167. package/dist/{chunk-GIC6BASP.js → chunk-TNSCIPBQ.js} +2 -2
  168. package/dist/{chunk-ZMDMHSV2.js → chunk-TVEONGBU.js} +2 -2
  169. package/dist/{chunk-4FSEZRGK.js → chunk-TWF35IC6.js} +2 -2
  170. package/dist/{chunk-LS2SGMQE.js → chunk-U6N5IBVY.js} +2 -2
  171. package/dist/{chunk-62YW6OYI.js → chunk-UCKYTA2T.js} +3 -3
  172. package/dist/{chunk-YFCHNOGJ.js → chunk-UNNPNBR2.js} +9 -9
  173. package/dist/{chunk-Z2M7F4QM.js → chunk-VVX5PZFS.js} +3 -3
  174. package/dist/{chunk-NTYLZXDX.js → chunk-VYCOJKSX.js} +2 -2
  175. package/dist/{chunk-UICSQESY.js → chunk-W24T5YMW.js} +2 -2
  176. package/dist/{chunk-HDQUQBPW.js → chunk-W3K3HITK.js} +2 -2
  177. package/dist/{chunk-GDASG7NC.js → chunk-W4F3C7N7.js} +2 -2
  178. package/dist/{chunk-YBLZFNIQ.js → chunk-WJHGDE7X.js} +2 -2
  179. package/dist/{chunk-ZBPXG5PJ.js → chunk-WMLEPWMO.js} +9 -9
  180. package/dist/chunk-WMLEPWMO.js.map +1 -0
  181. package/dist/{chunk-4F24PHNX.js → chunk-WQZZDN5M.js} +2 -2
  182. package/dist/{chunk-CDZEUCV7.js → chunk-X5K5TAQZ.js} +4 -4
  183. package/dist/{chunk-5AUODSOQ.js → chunk-XM24CDZX.js} +3 -3
  184. package/dist/{chunk-6VML2LII.js → chunk-XOVKXJEP.js} +3 -3
  185. package/dist/{chunk-OU5TIWDQ.js → chunk-XSGUMQQQ.js} +12 -12
  186. package/dist/{chunk-7CFVBWDC.js → chunk-XUE46UYW.js} +3 -3
  187. package/dist/{chunk-DJORULH3.js → chunk-YRLHEEQT.js} +2 -2
  188. package/dist/{chunk-YRWDPE32.js → chunk-Z3O53WZR.js} +2 -2
  189. package/dist/{chunk-CSY5DA7O.js → chunk-Z6COGHHN.js} +2 -2
  190. package/dist/{chunk-OYR3IPHD.js → chunk-ZIW5JVRM.js} +2 -2
  191. package/dist/{cli-B_YwqoIr.d.ts → cli-BqMNkQn5.d.ts} +1 -1
  192. package/dist/cli.d.ts +2 -2
  193. package/dist/cli.js +94 -94
  194. package/dist/coding/export-okf-codegraph.js +21 -21
  195. package/dist/coding/pre-action-gate.js +4 -3
  196. package/dist/commitment-ledger.js +3 -2
  197. package/dist/compounding/engine.js +21 -21
  198. package/dist/config.js +12 -11
  199. package/dist/connectors/codex-materialize-runner.js +21 -21
  200. package/dist/connectors/codex-materialize.js +3 -3
  201. package/dist/connectors/index.js +21 -21
  202. package/dist/consolidation-provenance-check.js +4 -4
  203. package/dist/consolidation-undo.js +3 -3
  204. package/dist/contradiction/index.js +7 -7
  205. package/dist/convergence-refresh.js +22 -22
  206. package/dist/corpus-watermark.js +22 -22
  207. package/dist/cue-anchors.js +4 -3
  208. package/dist/deep-recall-http-glue.d.ts +1 -1
  209. package/dist/deep-recall-http-glue.js +7 -6
  210. package/dist/deep-recall-mcp-tools.d.ts +1 -1
  211. package/dist/entity-retrieval.js +20 -20
  212. package/dist/eval-trajectory-store.js +4 -3
  213. package/dist/eval-trajectory.js +4 -3
  214. package/dist/evals.js +3 -2
  215. package/dist/explicit-capture.js +8 -8
  216. package/dist/external-wiki-access.d.ts +1 -1
  217. package/dist/external-wiki-access.js +54 -54
  218. package/dist/external-wiki-mcp-tools.d.ts +1 -1
  219. package/dist/extraction.js +25 -25
  220. package/dist/{first-start-migration-KHIMCBIC.js → first-start-migration-RC345GPL.js} +6 -5
  221. package/dist/{first-start-migration-KHIMCBIC.js.map → first-start-migration-RC345GPL.js.map} +1 -1
  222. package/dist/{graph-edge-decay-CJW4OT2X.js → graph-edge-decay-MKIRZ762.js} +5 -4
  223. package/dist/graph-jsonl.js +3 -2
  224. package/dist/graph-snapshot.js +3 -2
  225. package/dist/graph.js +2 -1
  226. package/dist/harmonic-construction.js +5 -4
  227. package/dist/harmonic-retrieval.js +5 -4
  228. package/dist/index.d.ts +19 -7
  229. package/dist/index.js +114 -112
  230. package/dist/json-store.js +2 -1
  231. package/dist/live-connectors-runner.js +3 -2
  232. package/dist/location/index.js +23 -23
  233. package/dist/maintenance/memory-governance.js +20 -20
  234. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +20 -20
  235. package/dist/maintenance/rebuild-memory-projection.js +21 -21
  236. package/dist/mcp-memory-inspector-app.d.ts +1 -1
  237. package/dist/memory-projection-mutations.js +3 -3
  238. package/dist/memory-subject-cli.d.ts +1 -1
  239. package/dist/memory-subject.d.ts +1 -1
  240. package/dist/memory-subject.js +4 -4
  241. package/dist/namespaces/migrate.js +21 -21
  242. package/dist/namespaces/search.js +8 -8
  243. package/dist/namespaces/storage.js +20 -20
  244. package/dist/objective-state-writers.js +4 -3
  245. package/dist/objective-state.js +3 -2
  246. package/dist/offline-sync-file-io.js +4 -3
  247. package/dist/offline-sync-impression-drain.js +5 -5
  248. package/dist/offline-sync.js +5 -4
  249. package/dist/operator-doctor-corpus.js +23 -23
  250. package/dist/operator-toolkit.js +38 -38
  251. package/dist/orchestration/maintenance.js +29 -29
  252. package/dist/orchestrator.js +112 -112
  253. package/dist/page-versioning.js +3 -3
  254. package/dist/{public-http-D6d4W8x-.d.ts → public-http-ByX2eTla.d.ts} +1 -1
  255. package/dist/{purge-OP6BEDFY.js → purge-TZKRE6ZQ.js} +5 -5
  256. package/dist/purge-TZKRE6ZQ.js.map +1 -0
  257. package/dist/recall-state.js +3 -3
  258. package/dist/reconcile/manifest.js +4 -4
  259. package/dist/{resolution-U5O4QANY.js → resolution-VKATP2HT.js} +8 -8
  260. package/dist/resume-bundles.js +16 -15
  261. package/dist/salvage-envelope.js +6 -6
  262. package/dist/schemas.d.ts +42 -42
  263. package/dist/search/document-scanner.js +3 -3
  264. package/dist/search/factory.js +7 -7
  265. package/dist/search/index.js +7 -7
  266. package/dist/search/lancedb-backend.js +4 -4
  267. package/dist/search/meilisearch-backend.js +4 -4
  268. package/dist/search/orama-backend.js +4 -4
  269. package/dist/secure-store/index.js +3 -3
  270. package/dist/semantic-consolidation.js +22 -22
  271. package/dist/semantic-rule-promotion.js +20 -20
  272. package/dist/semantic-rule-verifier.js +20 -20
  273. package/dist/source-agent-qualifier.js +24 -24
  274. package/dist/standup/build.js +20 -20
  275. package/dist/storage.js +19 -19
  276. package/dist/subject-config.js +5 -5
  277. package/dist/support-passport/index.d.ts +4 -4
  278. package/dist/support-passport/index.js +56 -56
  279. package/dist/{tier-stats-2TOW3QNL.js → tier-stats-KA6OZX2C.js} +6 -5
  280. package/dist/{tier-stats-2TOW3QNL.js.map → tier-stats-KA6OZX2C.js.map} +1 -1
  281. package/dist/transfer/capsule-import.js +4 -4
  282. package/dist/transfer/export-okf.js +21 -21
  283. package/dist/transfer/types.d.ts +12 -12
  284. package/dist/trust-zones.js +3 -2
  285. package/dist/utility-learner.js +4 -3
  286. package/dist/utility-runtime.js +5 -4
  287. package/dist/utility-telemetry.js +3 -2
  288. package/dist/verified-recall.js +20 -20
  289. package/dist/who-knows-cli.d.ts +1 -1
  290. package/dist/who-knows-cli.js +21 -21
  291. package/dist/who-knows.d.ts +1 -1
  292. package/dist/who-knows.js +20 -20
  293. package/dist/work/board.js +3 -3
  294. package/dist/work/storage.js +2 -2
  295. package/dist/work-product-ledger.js +3 -2
  296. package/dist/write-envelope.js +5 -5
  297. package/package.json +2 -2
  298. package/src/abstraction-nodes.ts +1 -4
  299. package/src/binary-lifecycle/backend.ts +2 -1
  300. package/src/connectors/live/github.ts +10 -17
  301. package/src/connectors/live/gmail.ts +8 -19
  302. package/src/connectors/live/google-drive.ts +6 -13
  303. package/src/connectors/live/notion.ts +11 -21
  304. package/src/cue-anchors.ts +1 -6
  305. package/src/graph.ts +2 -4
  306. package/src/json-store.ts +17 -20
  307. package/src/live-connectors-runner.ts +2 -1
  308. package/src/location/store.ts +1 -4
  309. package/src/maintenance/purge.ts +2 -5
  310. package/src/maintenance/rebuild-memory-lifecycle-ledger.ts +3 -6
  311. package/src/maintenance/rebuild-memory-projection.ts +2 -5
  312. package/src/namespaces/catalog.ts +1 -9
  313. package/src/offline-sync-file-io.test.ts +39 -0
  314. package/src/offline-sync-file-io.ts +3 -7
  315. package/src/procedural/procedure-miner.ts +1 -9
  316. package/src/search/document-scanner.ts +3 -6
  317. package/src/semantic-rule-promotion.ts +1 -4
  318. package/src/utils/errno.test.ts +31 -0
  319. package/src/utils/errno.ts +5 -0
  320. package/src/wearables/index.ts +1 -0
  321. package/src/wearables/registry.ts +23 -0
  322. package/dist/chunk-4KNRKJXQ.js.map +0 -1
  323. package/dist/chunk-5UZXUTVO.js.map +0 -1
  324. package/dist/chunk-62WZDHTW.js.map +0 -1
  325. package/dist/chunk-ACPCA4NO.js.map +0 -1
  326. package/dist/chunk-DDQQY2E3.js.map +0 -1
  327. package/dist/chunk-DJUKBGAD.js.map +0 -1
  328. package/dist/chunk-HTIIXNJQ.js.map +0 -1
  329. package/dist/chunk-I3FDDCY3.js.map +0 -1
  330. package/dist/chunk-MSOXFXCA.js.map +0 -1
  331. package/dist/chunk-P77QX3ID.js.map +0 -1
  332. package/dist/chunk-TXJNRGMI.js.map +0 -1
  333. package/dist/chunk-UR6PBX2J.js.map +0 -1
  334. package/dist/chunk-W7IGLX4G.js.map +0 -1
  335. package/dist/chunk-WW6B7NQJ.js.map +0 -1
  336. package/dist/chunk-ZBPXG5PJ.js.map +0 -1
  337. package/dist/purge-OP6BEDFY.js.map +0 -1
  338. package/dist/{access-service-Cv8Rizo0.d.ts → access-service-GrdVg_-Z.d.ts} +6 -6
  339. /package/dist/{auto-sync-TTIEWJ5X.js.map → auto-sync-WNGG2GC2.js.map} +0 -0
  340. /package/dist/{capsule-merge-CU6QJBSV.js.map → capsule-merge-IPG4IOFP.js.map} +0 -0
  341. /package/dist/{chunk-5RWHODVF.js.map → chunk-27QVNSQ3.js.map} +0 -0
  342. /package/dist/{chunk-2MX7RU7B.js.map → chunk-2EKJDQZB.js.map} +0 -0
  343. /package/dist/{chunk-XLRM6PPI.js.map → chunk-2IOHTUP3.js.map} +0 -0
  344. /package/dist/{chunk-ZGQDTD5T.js.map → chunk-2ITE4C2Z.js.map} +0 -0
  345. /package/dist/{chunk-O5ZR7SXV.js.map → chunk-2SGLMP2E.js.map} +0 -0
  346. /package/dist/{chunk-FYWLSFFS.js.map → chunk-2Z4GS5E6.js.map} +0 -0
  347. /package/dist/{chunk-WELP4CG6.js.map → chunk-37KUQPX4.js.map} +0 -0
  348. /package/dist/{chunk-MRSLR6TB.js.map → chunk-3QQTXYZ6.js.map} +0 -0
  349. /package/dist/{chunk-CI6C33EO.js.map → chunk-46ZPIGWI.js.map} +0 -0
  350. /package/dist/{chunk-MCA2X4WH.js.map → chunk-4IHBN6WU.js.map} +0 -0
  351. /package/dist/{chunk-TOZCM7WN.js.map → chunk-4TKJGOCJ.js.map} +0 -0
  352. /package/dist/{chunk-3ADRFFRO.js.map → chunk-54WHLA65.js.map} +0 -0
  353. /package/dist/{chunk-Z2N2AHEM.js.map → chunk-56Y6EKZN.js.map} +0 -0
  354. /package/dist/{chunk-2H2N5UQW.js.map → chunk-5ATKSPEQ.js.map} +0 -0
  355. /package/dist/{chunk-ZVZHG7AI.js.map → chunk-5UBH37SL.js.map} +0 -0
  356. /package/dist/{chunk-YZYZ2BEU.js.map → chunk-66OJSCI6.js.map} +0 -0
  357. /package/dist/{chunk-HNPE66LB.js.map → chunk-6CVNSDCZ.js.map} +0 -0
  358. /package/dist/{chunk-ERVJFFTR.js.map → chunk-6NXSYYGP.js.map} +0 -0
  359. /package/dist/{chunk-2HIJHXB3.js.map → chunk-6WHJ2EAB.js.map} +0 -0
  360. /package/dist/{chunk-34VTBPNE.js.map → chunk-6XL73HQ4.js.map} +0 -0
  361. /package/dist/{chunk-YK3UIF7X.js.map → chunk-AQ7SYDVO.js.map} +0 -0
  362. /package/dist/{chunk-DSCCM66R.js.map → chunk-B3O3IRZN.js.map} +0 -0
  363. /package/dist/{chunk-N37X5RU7.js.map → chunk-BD7JTBYP.js.map} +0 -0
  364. /package/dist/{chunk-VO43BJ2F.js.map → chunk-BLJWYCNO.js.map} +0 -0
  365. /package/dist/{chunk-HSKSVY3Q.js.map → chunk-C553ZTLF.js.map} +0 -0
  366. /package/dist/{chunk-GCASGYIO.js.map → chunk-C7HJ3NEI.js.map} +0 -0
  367. /package/dist/{chunk-WVGXCBOC.js.map → chunk-D5F7TKMH.js.map} +0 -0
  368. /package/dist/{chunk-UFT2XNBW.js.map → chunk-DGS34QSY.js.map} +0 -0
  369. /package/dist/{chunk-VAOL3SOT.js.map → chunk-DZD3WGCD.js.map} +0 -0
  370. /package/dist/{chunk-KHMS2FQS.js.map → chunk-E2P7TZTF.js.map} +0 -0
  371. /package/dist/{chunk-6FC3IZ26.js.map → chunk-EBA5DA77.js.map} +0 -0
  372. /package/dist/{chunk-E6EANYLD.js.map → chunk-EOQ6FSQP.js.map} +0 -0
  373. /package/dist/{chunk-7RPPCA26.js.map → chunk-FVOP3NT7.js.map} +0 -0
  374. /package/dist/{chunk-NRLELHAY.js.map → chunk-G7NYVKD6.js.map} +0 -0
  375. /package/dist/{chunk-QY34X2QJ.js.map → chunk-GHTSNGBZ.js.map} +0 -0
  376. /package/dist/{chunk-SLIOMMPF.js.map → chunk-H272ZPQ3.js.map} +0 -0
  377. /package/dist/{chunk-ZZBQNQS6.js.map → chunk-H3TKENU4.js.map} +0 -0
  378. /package/dist/{chunk-5OPNUUBX.js.map → chunk-H4SEGIZY.js.map} +0 -0
  379. /package/dist/{chunk-F2HMDGLC.js.map → chunk-H54VWRPS.js.map} +0 -0
  380. /package/dist/{chunk-HTP6XRUI.js.map → chunk-HM7RHKS4.js.map} +0 -0
  381. /package/dist/{chunk-O7H3P2SJ.js.map → chunk-HWLIMQE2.js.map} +0 -0
  382. /package/dist/{chunk-ET2CNMLD.js.map → chunk-JN72EPOE.js.map} +0 -0
  383. /package/dist/{chunk-E7UQOS4C.js.map → chunk-JPKK466T.js.map} +0 -0
  384. /package/dist/{chunk-JCCWJHOP.js.map → chunk-JYZSRNR7.js.map} +0 -0
  385. /package/dist/{chunk-7IUESBLV.js.map → chunk-K7724CH2.js.map} +0 -0
  386. /package/dist/{chunk-UK7HXNNJ.js.map → chunk-KAXCYM66.js.map} +0 -0
  387. /package/dist/{chunk-7XVP4P4O.js.map → chunk-KB2G2I6Q.js.map} +0 -0
  388. /package/dist/{chunk-K7LTRJZU.js.map → chunk-KEF46KL2.js.map} +0 -0
  389. /package/dist/{chunk-JYYTWCPU.js.map → chunk-KTWG7CNY.js.map} +0 -0
  390. /package/dist/{chunk-XTYDEO7M.js.map → chunk-L7Z57SID.js.map} +0 -0
  391. /package/dist/{chunk-EYMPUXAN.js.map → chunk-LO4UKPKX.js.map} +0 -0
  392. /package/dist/{chunk-LDWIPYJ6.js.map → chunk-LS2FHUML.js.map} +0 -0
  393. /package/dist/{chunk-GDB4J2H3.js.map → chunk-MPC7TYTZ.js.map} +0 -0
  394. /package/dist/{chunk-2GF27PGH.js.map → chunk-MRPOZBJC.js.map} +0 -0
  395. /package/dist/{chunk-7OLKAQMG.js.map → chunk-MWN6QEI2.js.map} +0 -0
  396. /package/dist/{chunk-J62HG52Z.js.map → chunk-MY5EDR46.js.map} +0 -0
  397. /package/dist/{chunk-IZRMWPGS.js.map → chunk-N3ZOP7KC.js.map} +0 -0
  398. /package/dist/{chunk-N6A2RP5S.js.map → chunk-NB3LRY4T.js.map} +0 -0
  399. /package/dist/{chunk-4N5BIR2U.js.map → chunk-ND6IQGSZ.js.map} +0 -0
  400. /package/dist/{chunk-NOB2T2FC.js.map → chunk-NHLLKEKK.js.map} +0 -0
  401. /package/dist/{chunk-M5CQNOQN.js.map → chunk-O6ZNNVSP.js.map} +0 -0
  402. /package/dist/{chunk-NNBZS3DY.js.map → chunk-OB3XMWX5.js.map} +0 -0
  403. /package/dist/{chunk-SIBVIP2Y.js.map → chunk-PAZY2ZKP.js.map} +0 -0
  404. /package/dist/{chunk-LXESHEBP.js.map → chunk-PX4UMA5Z.js.map} +0 -0
  405. /package/dist/{chunk-NNZFPYYX.js.map → chunk-R7QY5ZVB.js.map} +0 -0
  406. /package/dist/{chunk-WTRTFIIN.js.map → chunk-R7RTXEYG.js.map} +0 -0
  407. /package/dist/{chunk-XRBJ5R3P.js.map → chunk-RBCQVOVJ.js.map} +0 -0
  408. /package/dist/{chunk-WFZNT4KB.js.map → chunk-RC5DXXWC.js.map} +0 -0
  409. /package/dist/{chunk-5QZR2RA3.js.map → chunk-ROBHL3GL.js.map} +0 -0
  410. /package/dist/{chunk-6PST2SFW.js.map → chunk-SCXURCVT.js.map} +0 -0
  411. /package/dist/{chunk-AYG7ML7O.js.map → chunk-SJDQ5RSN.js.map} +0 -0
  412. /package/dist/{chunk-IQXDSKTL.js.map → chunk-SVXJLDDC.js.map} +0 -0
  413. /package/dist/{chunk-SEF4IOFE.js.map → chunk-SWIKABKI.js.map} +0 -0
  414. /package/dist/{chunk-ZJABRLCZ.js.map → chunk-TBXAY2SS.js.map} +0 -0
  415. /package/dist/{chunk-GIC6BASP.js.map → chunk-TNSCIPBQ.js.map} +0 -0
  416. /package/dist/{chunk-ZMDMHSV2.js.map → chunk-TVEONGBU.js.map} +0 -0
  417. /package/dist/{chunk-4FSEZRGK.js.map → chunk-TWF35IC6.js.map} +0 -0
  418. /package/dist/{chunk-LS2SGMQE.js.map → chunk-U6N5IBVY.js.map} +0 -0
  419. /package/dist/{chunk-62YW6OYI.js.map → chunk-UCKYTA2T.js.map} +0 -0
  420. /package/dist/{chunk-YFCHNOGJ.js.map → chunk-UNNPNBR2.js.map} +0 -0
  421. /package/dist/{chunk-Z2M7F4QM.js.map → chunk-VVX5PZFS.js.map} +0 -0
  422. /package/dist/{chunk-NTYLZXDX.js.map → chunk-VYCOJKSX.js.map} +0 -0
  423. /package/dist/{chunk-UICSQESY.js.map → chunk-W24T5YMW.js.map} +0 -0
  424. /package/dist/{chunk-HDQUQBPW.js.map → chunk-W3K3HITK.js.map} +0 -0
  425. /package/dist/{chunk-GDASG7NC.js.map → chunk-W4F3C7N7.js.map} +0 -0
  426. /package/dist/{chunk-YBLZFNIQ.js.map → chunk-WJHGDE7X.js.map} +0 -0
  427. /package/dist/{chunk-4F24PHNX.js.map → chunk-WQZZDN5M.js.map} +0 -0
  428. /package/dist/{chunk-CDZEUCV7.js.map → chunk-X5K5TAQZ.js.map} +0 -0
  429. /package/dist/{chunk-5AUODSOQ.js.map → chunk-XM24CDZX.js.map} +0 -0
  430. /package/dist/{chunk-6VML2LII.js.map → chunk-XOVKXJEP.js.map} +0 -0
  431. /package/dist/{chunk-OU5TIWDQ.js.map → chunk-XSGUMQQQ.js.map} +0 -0
  432. /package/dist/{chunk-7CFVBWDC.js.map → chunk-XUE46UYW.js.map} +0 -0
  433. /package/dist/{chunk-DJORULH3.js.map → chunk-YRLHEEQT.js.map} +0 -0
  434. /package/dist/{chunk-YRWDPE32.js.map → chunk-Z3O53WZR.js.map} +0 -0
  435. /package/dist/{chunk-CSY5DA7O.js.map → chunk-Z6COGHHN.js.map} +0 -0
  436. /package/dist/{chunk-OYR3IPHD.js.map → chunk-ZIW5JVRM.js.map} +0 -0
  437. /package/dist/{graph-edge-decay-CJW4OT2X.js.map → graph-edge-decay-MKIRZ762.js.map} +0 -0
  438. /package/dist/{resolution-U5O4QANY.js.map → resolution-VKATP2HT.js.map} +0 -0
@@ -3,17 +3,17 @@ import {
3
3
  blendGraphExpandedRecallScore,
4
4
  graphPathRelativeToStorage,
5
5
  mergeGraphExpandedResults
6
- } from "./chunk-OH7LZHGJ.js";
7
- import "./chunk-SIBVIP2Y.js";
8
- import "./chunk-5RWHODVF.js";
6
+ } from "./chunk-RJYJ7KR7.js";
7
+ import "./chunk-PAZY2ZKP.js";
8
+ import "./chunk-27QVNSQ3.js";
9
9
  import "./chunk-I74SUMNI.js";
10
10
  import "./chunk-ILNPU5W5.js";
11
11
  import {
12
12
  formatCompressionGuidelinesForRecall
13
13
  } from "./chunk-UXREWVW4.js";
14
- import "./chunk-YFCHNOGJ.js";
14
+ import "./chunk-UNNPNBR2.js";
15
15
  import "./chunk-7HYPN2GC.js";
16
- import "./chunk-5OPNUUBX.js";
16
+ import "./chunk-H4SEGIZY.js";
17
17
  import "./chunk-666A3MOW.js";
18
18
  import "./chunk-KBL3JJR6.js";
19
19
  import "./chunk-FQ7HAWWC.js";
@@ -29,10 +29,10 @@ import "./chunk-UXPUUL3G.js";
29
29
  import "./chunk-V5OCT34X.js";
30
30
  import "./chunk-TECVW3JP.js";
31
31
  import "./chunk-C5JF6EZ7.js";
32
- import "./chunk-5AUODSOQ.js";
32
+ import "./chunk-XM24CDZX.js";
33
33
  import "./chunk-IN673LEP.js";
34
- import "./chunk-SEF4IOFE.js";
35
- import "./chunk-LS2SGMQE.js";
34
+ import "./chunk-SWIKABKI.js";
35
+ import "./chunk-U6N5IBVY.js";
36
36
  import "./chunk-47DU4SGJ.js";
37
37
  import "./chunk-YRFAYOFQ.js";
38
38
  import "./chunk-DD5JFCWM.js";
@@ -45,7 +45,7 @@ import "./chunk-ODZKV2F7.js";
45
45
  import "./chunk-QJ622LTI.js";
46
46
  import "./chunk-ZOKZIR5K.js";
47
47
  import "./chunk-5IZL4DCV.js";
48
- import "./chunk-WFZNT4KB.js";
48
+ import "./chunk-RC5DXXWC.js";
49
49
  import "./chunk-KATEWTQJ.js";
50
50
  import "./chunk-LUDXM7MD.js";
51
51
  import "./chunk-6TCXIRP5.js";
@@ -63,14 +63,14 @@ import "./chunk-3GPTTA4J.js";
63
63
  import "./chunk-LD72P4YS.js";
64
64
  import "./chunk-573TEZCD.js";
65
65
  import "./chunk-IBJ6U753.js";
66
- import "./chunk-HTIIXNJQ.js";
67
- import "./chunk-LDWIPYJ6.js";
66
+ import "./chunk-4FIH6MPS.js";
67
+ import "./chunk-LS2FHUML.js";
68
68
  import "./chunk-YAZNBMNF.js";
69
69
  import "./chunk-XXSOVESA.js";
70
70
  import "./chunk-PHRLJFWZ.js";
71
71
  import "./chunk-64NJRYU2.js";
72
- import "./chunk-7XVP4P4O.js";
73
- import "./chunk-OYR3IPHD.js";
72
+ import "./chunk-KB2G2I6Q.js";
73
+ import "./chunk-ZIW5JVRM.js";
74
74
  import "./chunk-AJTG3CP7.js";
75
75
  import "./chunk-54V4BZWP.js";
76
76
  import "./chunk-2CGLBUW3.js";
@@ -87,14 +87,14 @@ import "./chunk-YVVQUAOO.js";
87
87
  import "./chunk-VL35ZFSZ.js";
88
88
  import "./chunk-T3GIETKV.js";
89
89
  import "./chunk-W2UOAATB.js";
90
- import "./chunk-JCCWJHOP.js";
90
+ import "./chunk-JYZSRNR7.js";
91
91
  import "./chunk-ULM7JCDH.js";
92
92
  import "./chunk-52II7PB6.js";
93
93
  import "./chunk-LUPVCGYK.js";
94
94
  import "./chunk-DGFU5MSX.js";
95
95
  import "./chunk-BUYVPUEM.js";
96
96
  import "./chunk-IAIPNEHD.js";
97
- import "./chunk-TOZCM7WN.js";
97
+ import "./chunk-4TKJGOCJ.js";
98
98
  import "./chunk-GKUA4MGB.js";
99
99
  import "./chunk-5AUY5Z5E.js";
100
100
  import "./chunk-SVH57F5Z.js";
@@ -104,9 +104,9 @@ import "./chunk-VY47VI2T.js";
104
104
  import "./chunk-PYIR4SSB.js";
105
105
  import "./chunk-DFEODULB.js";
106
106
  import "./chunk-LVXBC6YB.js";
107
- import "./chunk-ERVJFFTR.js";
107
+ import "./chunk-6NXSYYGP.js";
108
108
  import "./chunk-3I4FUAVJ.js";
109
- import "./chunk-3ZBLKIHJ.js";
109
+ import "./chunk-SMWTZLHE.js";
110
110
  import "./chunk-MMACM5G2.js";
111
111
  import "./chunk-54BGIBCR.js";
112
112
  import "./chunk-H4CKS5B2.js";
@@ -114,7 +114,7 @@ import "./chunk-FXZTL7F7.js";
114
114
  import "./chunk-HDDRVXX4.js";
115
115
  import "./chunk-PYHOAXTI.js";
116
116
  import "./chunk-UP6MOYCB.js";
117
- import "./chunk-62YW6OYI.js";
117
+ import "./chunk-UCKYTA2T.js";
118
118
  import "./chunk-BV2TIZ4F.js";
119
119
  import "./chunk-Z734BLO3.js";
120
120
  import "./chunk-OZKVVUJB.js";
@@ -128,67 +128,67 @@ import "./chunk-TBUEE7XF.js";
128
128
  import "./chunk-EEC4PCG5.js";
129
129
  import "./chunk-PYIFUBRK.js";
130
130
  import "./chunk-IIFFC3RL.js";
131
- import "./chunk-ZBPXG5PJ.js";
131
+ import "./chunk-WMLEPWMO.js";
132
132
  import "./chunk-DQTCGVFK.js";
133
133
  import "./chunk-AXFWMRKI.js";
134
134
  import "./chunk-YLBE6PLR.js";
135
135
  import "./chunk-CDKHKZL5.js";
136
136
  import "./chunk-HSSERO3E.js";
137
137
  import "./chunk-NOUJNHWG.js";
138
- import "./chunk-CI6C33EO.js";
139
- import "./chunk-HDQUQBPW.js";
140
- import "./chunk-6FC3IZ26.js";
141
- import "./chunk-WTRTFIIN.js";
138
+ import "./chunk-46ZPIGWI.js";
139
+ import "./chunk-W3K3HITK.js";
140
+ import "./chunk-EBA5DA77.js";
141
+ import "./chunk-R7RTXEYG.js";
142
142
  import "./chunk-HL4DB7TO.js";
143
143
  import "./chunk-OJP3N7UK.js";
144
- import "./chunk-TXJNRGMI.js";
145
- import "./chunk-2H2N5UQW.js";
146
- import "./chunk-JYYTWCPU.js";
147
- import "./chunk-NRLELHAY.js";
144
+ import "./chunk-OEYZXDQI.js";
145
+ import "./chunk-5ATKSPEQ.js";
146
+ import "./chunk-KTWG7CNY.js";
147
+ import "./chunk-G7NYVKD6.js";
148
148
  import "./chunk-AM4T6CHX.js";
149
149
  import "./chunk-S7T2TY65.js";
150
150
  import "./chunk-2LA3H54D.js";
151
- import "./chunk-F2HMDGLC.js";
152
- import "./chunk-AYG7ML7O.js";
151
+ import "./chunk-H54VWRPS.js";
152
+ import "./chunk-SJDQ5RSN.js";
153
153
  import "./chunk-KFY3SGN7.js";
154
154
  import "./chunk-CMTINOFS.js";
155
- import "./chunk-7OLKAQMG.js";
155
+ import "./chunk-MWN6QEI2.js";
156
156
  import "./chunk-RMMVQQA6.js";
157
157
  import "./chunk-3T74IZB3.js";
158
- import "./chunk-UR6PBX2J.js";
158
+ import "./chunk-3K7V3HE6.js";
159
159
  import "./chunk-6GUG4YNM.js";
160
160
  import "./chunk-UOBPK2OS.js";
161
161
  import "./chunk-C7SRUWBW.js";
162
162
  import "./chunk-OZKOPQCM.js";
163
- import "./chunk-MCA2X4WH.js";
163
+ import "./chunk-4IHBN6WU.js";
164
164
  import "./chunk-CIO7GCWE.js";
165
165
  import "./chunk-EZ25VE3G.js";
166
166
  import "./chunk-44442YCH.js";
167
167
  import "./chunk-AUDJPF4N.js";
168
168
  import "./chunk-Y4Z4I6WK.js";
169
- import "./chunk-I3FDDCY3.js";
169
+ import "./chunk-JEC4DVM3.js";
170
170
  import "./chunk-KJTKLXTH.js";
171
171
  import "./chunk-2DQ2XREU.js";
172
172
  import "./chunk-OKTXM5H4.js";
173
- import "./chunk-O5ZR7SXV.js";
174
- import "./chunk-NOB2T2FC.js";
175
- import "./chunk-UICSQESY.js";
173
+ import "./chunk-2SGLMP2E.js";
174
+ import "./chunk-NHLLKEKK.js";
175
+ import "./chunk-W24T5YMW.js";
176
176
  import "./chunk-5JMAGU26.js";
177
177
  import "./chunk-B7RWBZXW.js";
178
178
  import "./chunk-YBPYIAA5.js";
179
179
  import "./chunk-HK6KYIF6.js";
180
180
  import "./chunk-2GBFKHBZ.js";
181
181
  import "./chunk-6TBIWIAG.js";
182
- import "./chunk-CSY5DA7O.js";
182
+ import "./chunk-Z6COGHHN.js";
183
183
  import "./chunk-2AD5SXO4.js";
184
184
  import "./chunk-7CBKAQIG.js";
185
- import "./chunk-XLRM6PPI.js";
185
+ import "./chunk-2IOHTUP3.js";
186
186
  import "./chunk-ZKOPY4WW.js";
187
187
  import "./chunk-62OKGIJA.js";
188
188
  import "./chunk-OGUKSLYZ.js";
189
189
  import "./chunk-33JKYLPX.js";
190
- import "./chunk-YRWDPE32.js";
191
- import "./chunk-ZZBQNQS6.js";
190
+ import "./chunk-Z3O53WZR.js";
191
+ import "./chunk-H3TKENU4.js";
192
192
  import "./chunk-Z5LAYHGJ.js";
193
193
  import "./chunk-6ZMAMSHS.js";
194
194
  import "./chunk-6ZN34ISG.js";
@@ -212,7 +212,7 @@ import "./chunk-43HUVDTD.js";
212
212
  import "./chunk-4RA3C3EV.js";
213
213
  import "./chunk-B32WYRXX.js";
214
214
  import "./chunk-YFLLGRXO.js";
215
- import "./chunk-HSKSVY3Q.js";
215
+ import "./chunk-C553ZTLF.js";
216
216
  import "./chunk-V7IZKJI3.js";
217
217
  import "./chunk-TB6CBZ5V.js";
218
218
  import "./chunk-SEDEKFYQ.js";
@@ -223,77 +223,77 @@ import "./chunk-RSUYKGGZ.js";
223
223
  import "./chunk-42NQ7AVG.js";
224
224
  import "./chunk-7RXCMVFQ.js";
225
225
  import "./chunk-3HSRWJTC.js";
226
- import "./chunk-QY34X2QJ.js";
227
- import "./chunk-YZYZ2BEU.js";
228
- import "./chunk-7RPPCA26.js";
226
+ import "./chunk-GHTSNGBZ.js";
227
+ import "./chunk-66OJSCI6.js";
228
+ import "./chunk-FVOP3NT7.js";
229
229
  import "./chunk-SRT6SHVZ.js";
230
- import "./chunk-VO43BJ2F.js";
230
+ import "./chunk-BLJWYCNO.js";
231
231
  import "./chunk-EAARGPWI.js";
232
232
  import "./chunk-A5KNZSNA.js";
233
233
  import "./chunk-HUSTM6PU.js";
234
234
  import "./chunk-D24OXEPB.js";
235
- import "./chunk-IQXDSKTL.js";
236
- import "./chunk-ZGQDTD5T.js";
237
- import "./chunk-7IUESBLV.js";
238
- import "./chunk-CDZEUCV7.js";
239
- import "./chunk-M5CQNOQN.js";
235
+ import "./chunk-SVXJLDDC.js";
236
+ import "./chunk-2ITE4C2Z.js";
237
+ import "./chunk-K7724CH2.js";
238
+ import "./chunk-X5K5TAQZ.js";
239
+ import "./chunk-O6ZNNVSP.js";
240
240
  import "./chunk-7T4TOGMS.js";
241
241
  import "./chunk-7YQ6ESEA.js";
242
- import "./chunk-WELP4CG6.js";
243
- import "./chunk-6PST2SFW.js";
242
+ import "./chunk-37KUQPX4.js";
243
+ import "./chunk-SCXURCVT.js";
244
244
  import "./chunk-EQWEIIKQ.js";
245
- import "./chunk-6VML2LII.js";
245
+ import "./chunk-XOVKXJEP.js";
246
246
  import "./chunk-YYGZJPOK.js";
247
247
  import "./chunk-CTVWELNK.js";
248
248
  import "./chunk-CEN6DW6X.js";
249
249
  import "./chunk-E4RMZGRS.js";
250
- import "./chunk-UFT2XNBW.js";
251
- import "./chunk-IZRMWPGS.js";
250
+ import "./chunk-DGS34QSY.js";
251
+ import "./chunk-N3ZOP7KC.js";
252
252
  import "./chunk-ZQUVBZI4.js";
253
253
  import "./chunk-CK5KOVHW.js";
254
- import "./chunk-ZMDMHSV2.js";
255
- import "./chunk-4KNRKJXQ.js";
254
+ import "./chunk-TVEONGBU.js";
255
+ import "./chunk-QOOBICJF.js";
256
256
  import "./chunk-AB3A7EFH.js";
257
257
  import "./chunk-QVSRE355.js";
258
- import "./chunk-Z2N2AHEM.js";
258
+ import "./chunk-56Y6EKZN.js";
259
259
  import "./chunk-TIDEL77O.js";
260
260
  import "./chunk-GZ3R6XOE.js";
261
- import "./chunk-LXESHEBP.js";
261
+ import "./chunk-PX4UMA5Z.js";
262
262
  import {
263
263
  filterRecallCandidates,
264
264
  hasIdentityRecoveryIntent,
265
265
  resolveEffectiveIdentityInjectionMode
266
- } from "./chunk-62WZDHTW.js";
267
- import "./chunk-GDASG7NC.js";
268
- import "./chunk-GDB4J2H3.js";
269
- import "./chunk-Z2M7F4QM.js";
266
+ } from "./chunk-ICKJ52PE.js";
267
+ import "./chunk-W4F3C7N7.js";
268
+ import "./chunk-MPC7TYTZ.js";
269
+ import "./chunk-VVX5PZFS.js";
270
270
  import "./chunk-CC37E3QM.js";
271
- import "./chunk-4N5BIR2U.js";
271
+ import "./chunk-ND6IQGSZ.js";
272
272
  import "./chunk-VQ7B2Q6M.js";
273
273
  import "./chunk-PJSK6OJM.js";
274
- import "./chunk-2MX7RU7B.js";
274
+ import "./chunk-2EKJDQZB.js";
275
275
  import "./chunk-GNVZQ5JN.js";
276
276
  import "./chunk-YN2UN7N3.js";
277
- import "./chunk-5QZR2RA3.js";
277
+ import "./chunk-ROBHL3GL.js";
278
278
  import "./chunk-N3SS45OW.js";
279
279
  import "./chunk-6DNMUYEE.js";
280
280
  import "./chunk-P5FPO2BR.js";
281
281
  import "./chunk-S4DDLTPX.js";
282
- import "./chunk-ZVZHG7AI.js";
282
+ import "./chunk-5UBH37SL.js";
283
283
  import "./chunk-H7XKCNR6.js";
284
284
  import "./chunk-22FVR2KE.js";
285
285
  import "./chunk-SOBJ6NEY.js";
286
286
  import "./chunk-2JVJ7UHC.js";
287
- import "./chunk-E6EANYLD.js";
287
+ import "./chunk-EOQ6FSQP.js";
288
288
  import "./chunk-CVILPI77.js";
289
- import "./chunk-2HIJHXB3.js";
289
+ import "./chunk-6WHJ2EAB.js";
290
290
  import "./chunk-AQEJKOKI.js";
291
- import "./chunk-HTP6XRUI.js";
291
+ import "./chunk-HM7RHKS4.js";
292
292
  import "./chunk-UD7UNYRD.js";
293
293
  import "./chunk-IISBCCWR.js";
294
294
  import "./chunk-2YA5N2BY.js";
295
- import "./chunk-O7H3P2SJ.js";
296
- import "./chunk-34VTBPNE.js";
295
+ import "./chunk-HWLIMQE2.js";
296
+ import "./chunk-6XL73HQ4.js";
297
297
  import "./chunk-EI6V5UXY.js";
298
298
  import "./chunk-3GCK6ONU.js";
299
299
  import "./chunk-YSSAGB2O.js";
@@ -305,7 +305,7 @@ import "./chunk-IVKIODHO.js";
305
305
  import "./chunk-WKDFJXW5.js";
306
306
  import "./chunk-JUXOTY6J.js";
307
307
  import "./chunk-LTHVM4XN.js";
308
- import "./chunk-7CFVBWDC.js";
308
+ import "./chunk-XUE46UYW.js";
309
309
  import "./chunk-C37ZRXX7.js";
310
310
  import "./chunk-7ZNJN5WZ.js";
311
311
  import "./chunk-OEDW4ER7.js";
@@ -313,37 +313,37 @@ import "./chunk-SV4Z2S67.js";
313
313
  import "./chunk-WTWQA7BB.js";
314
314
  import "./chunk-VZIAVM72.js";
315
315
  import "./chunk-HRATODNO.js";
316
- import "./chunk-ACPCA4NO.js";
316
+ import "./chunk-BMWN7B3Y.js";
317
317
  import "./chunk-DXFG2VGN.js";
318
318
  import "./chunk-RF2SMMPP.js";
319
- import "./chunk-J62HG52Z.js";
320
- import "./chunk-YK3UIF7X.js";
321
- import "./chunk-XRBJ5R3P.js";
322
- import "./chunk-KHMS2FQS.js";
319
+ import "./chunk-MY5EDR46.js";
320
+ import "./chunk-AQ7SYDVO.js";
321
+ import "./chunk-RBCQVOVJ.js";
322
+ import "./chunk-E2P7TZTF.js";
323
323
  import "./chunk-UFGFMWAD.js";
324
324
  import "./chunk-ZY2MNJR6.js";
325
- import "./chunk-UK7HXNNJ.js";
325
+ import "./chunk-KAXCYM66.js";
326
326
  import "./chunk-3UXOZBHV.js";
327
- import "./chunk-K7LTRJZU.js";
328
- import "./chunk-MSOXFXCA.js";
327
+ import "./chunk-KEF46KL2.js";
328
+ import "./chunk-5FAGCOZD.js";
329
329
  import "./chunk-EUT2WCWS.js";
330
330
  import "./chunk-2LSZVONP.js";
331
331
  import "./chunk-DEUNUKTD.js";
332
332
  import "./chunk-LXY5VVGM.js";
333
333
  import "./chunk-GKCXTSFF.js";
334
- import "./chunk-YBLZFNIQ.js";
335
- import "./chunk-OU5TIWDQ.js";
334
+ import "./chunk-WJHGDE7X.js";
335
+ import "./chunk-XSGUMQQQ.js";
336
336
  import "./chunk-UHVXE24Y.js";
337
337
  import "./chunk-46WM6JX2.js";
338
- import "./chunk-WVGXCBOC.js";
339
- import "./chunk-FYWLSFFS.js";
340
- import "./chunk-HNPE66LB.js";
341
- import "./chunk-N37X5RU7.js";
342
- import "./chunk-NNBZS3DY.js";
338
+ import "./chunk-D5F7TKMH.js";
339
+ import "./chunk-2Z4GS5E6.js";
340
+ import "./chunk-6CVNSDCZ.js";
341
+ import "./chunk-BD7JTBYP.js";
342
+ import "./chunk-OB3XMWX5.js";
343
343
  import "./chunk-CYEPCZN5.js";
344
- import "./chunk-GIC6BASP.js";
344
+ import "./chunk-TNSCIPBQ.js";
345
345
  import "./chunk-YQNNHLCG.js";
346
- import "./chunk-W7IGLX4G.js";
346
+ import "./chunk-4O6WRBGE.js";
347
347
  import "./chunk-6KTXE6A3.js";
348
348
  import "./chunk-GUMZC2BO.js";
349
349
  import "./chunk-227UFSEQ.js";
@@ -353,22 +353,22 @@ import "./chunk-A7Q43EUZ.js";
353
353
  import "./chunk-S2V7RUCL.js";
354
354
  import "./chunk-SO7SV523.js";
355
355
  import "./chunk-SCU65EZI.js";
356
- import "./chunk-2GF27PGH.js";
356
+ import "./chunk-MRPOZBJC.js";
357
357
  import "./chunk-S2HLHAZ4.js";
358
358
  import "./chunk-DM2T26WE.js";
359
359
  import "./chunk-LDXUBPMO.js";
360
360
  import "./chunk-XSTNGNJP.js";
361
361
  import "./chunk-AAD2ZS6P.js";
362
- import "./chunk-SLIOMMPF.js";
362
+ import "./chunk-H272ZPQ3.js";
363
363
  import "./chunk-YXZG5TVN.js";
364
364
  import "./chunk-3ONXXHQO.js";
365
365
  import "./chunk-5GINB5LC.js";
366
366
  import "./chunk-3WU7XOFN.js";
367
367
  import "./chunk-G7D6GZ5J.js";
368
- import "./chunk-E7UQOS4C.js";
368
+ import "./chunk-JPKK466T.js";
369
369
  import "./chunk-XCB6QDL6.js";
370
370
  import "./chunk-RBOJCG4T.js";
371
- import "./chunk-NNZFPYYX.js";
371
+ import "./chunk-R7QY5ZVB.js";
372
372
  import "./chunk-5WITETWU.js";
373
373
  import "./chunk-6CIAGZ6X.js";
374
374
  import "./chunk-UBCBDJOB.js";
@@ -410,8 +410,8 @@ import {
410
410
  throwIfRecallAborted,
411
411
  tokenizeRecallQuery,
412
412
  utcDateKeysForLocalDay
413
- } from "./chunk-XTYDEO7M.js";
414
- import "./chunk-WW6B7NQJ.js";
413
+ } from "./chunk-L7Z57SID.js";
414
+ import "./chunk-NLYVH66G.js";
415
415
  import "./chunk-CSAKJVXW.js";
416
416
  import "./chunk-K2XUWZBM.js";
417
417
  import "./chunk-OD4FM2U7.js";
@@ -419,7 +419,7 @@ import "./chunk-CEH2AFXG.js";
419
419
  import "./chunk-JXN77SGO.js";
420
420
  import "./chunk-IUM3VSHI.js";
421
421
  import "./chunk-ZLQ37WJX.js";
422
- import "./chunk-MRSLR6TB.js";
422
+ import "./chunk-3QQTXYZ6.js";
423
423
  import "./chunk-BT7NVCML.js";
424
424
  import "./chunk-C64XATK7.js";
425
425
  import "./chunk-42JKGUFJ.js";
@@ -440,11 +440,11 @@ import "./chunk-K6MV3TRQ.js";
440
440
  import "./chunk-236PXYG7.js";
441
441
  import "./chunk-ZCUTSMR2.js";
442
442
  import "./chunk-QDW3E4RD.js";
443
- import "./chunk-DSCCM66R.js";
443
+ import "./chunk-B3O3IRZN.js";
444
444
  import "./chunk-NXH34IPL.js";
445
445
  import "./chunk-ZIKENA2C.js";
446
446
  import "./chunk-P6FHFTZ7.js";
447
- import "./chunk-NTYLZXDX.js";
447
+ import "./chunk-VYCOJKSX.js";
448
448
  import "./chunk-6Q3ZTEF6.js";
449
449
  import "./chunk-W5BIQOAJ.js";
450
450
  import "./chunk-Z7L72ZHL.js";
@@ -455,22 +455,22 @@ import "./chunk-SYOIVK7K.js";
455
455
  import "./chunk-TOTT6S2V.js";
456
456
  import "./chunk-PQVCH2AE.js";
457
457
  import "./chunk-PJKTFXE2.js";
458
- import "./chunk-3ADRFFRO.js";
459
- import "./chunk-4FSEZRGK.js";
458
+ import "./chunk-54WHLA65.js";
459
+ import "./chunk-TWF35IC6.js";
460
460
  import "./chunk-PAAJWQH5.js";
461
- import "./chunk-VAOL3SOT.js";
461
+ import "./chunk-DZD3WGCD.js";
462
462
  import "./chunk-EGALNSZ4.js";
463
463
  import "./chunk-TG3FAM2S.js";
464
- import "./chunk-ZJABRLCZ.js";
464
+ import "./chunk-TBXAY2SS.js";
465
465
  import "./chunk-ZA53AZND.js";
466
466
  import "./chunk-AL3UYZ5N.js";
467
467
  import "./chunk-RL6NEVXT.js";
468
468
  import "./chunk-ESNFSSO4.js";
469
469
  import "./chunk-AW4QUFQF.js";
470
- import "./chunk-GCASGYIO.js";
470
+ import "./chunk-C7HJ3NEI.js";
471
471
  import "./chunk-6MINUTGJ.js";
472
472
  import "./chunk-7RJUVTVF.js";
473
- import "./chunk-N6A2RP5S.js";
473
+ import "./chunk-NB3LRY4T.js";
474
474
  import "./chunk-5FVVY2EB.js";
475
475
  import "./chunk-FFAZ2XFU.js";
476
476
  import "./chunk-MZWSOLMT.js";
@@ -488,11 +488,11 @@ import "./chunk-FP2373TW.js";
488
488
  import "./chunk-Z2YFLXHU.js";
489
489
  import "./chunk-I4WBNM3M.js";
490
490
  import "./chunk-SOAU2OE2.js";
491
- import "./chunk-4F24PHNX.js";
491
+ import "./chunk-WQZZDN5M.js";
492
492
  import "./chunk-UI3NYK34.js";
493
493
  import "./chunk-GCGJW34D.js";
494
494
  import "./chunk-AREGMX2J.js";
495
- import "./chunk-DDQQY2E3.js";
495
+ import "./chunk-3BTFBQLO.js";
496
496
  import "./chunk-LQWOFU6L.js";
497
497
  import "./chunk-P7FMDTKL.js";
498
498
  import "./chunk-3QL24R5Y.js";
@@ -511,19 +511,19 @@ import "./chunk-EYIEWJNI.js";
511
511
  import "./chunk-JUC24CTX.js";
512
512
  import "./chunk-2Z24E5W2.js";
513
513
  import "./chunk-BTTPKDIL.js";
514
- import "./chunk-DJUKBGAD.js";
514
+ import "./chunk-46EST7JO.js";
515
515
  import "./chunk-G73MCJKL.js";
516
516
  import "./chunk-A2IYSXDQ.js";
517
- import "./chunk-P77QX3ID.js";
517
+ import "./chunk-B6O2YLUR.js";
518
518
  import "./chunk-TVVEYCNW.js";
519
519
  import "./chunk-RFYAYKTD.js";
520
520
  import "./chunk-LBLXEFWK.js";
521
- import "./chunk-DJORULH3.js";
521
+ import "./chunk-YRLHEEQT.js";
522
522
  import "./chunk-FF4KLI5W.js";
523
- import "./chunk-ET2CNMLD.js";
523
+ import "./chunk-JN72EPOE.js";
524
524
  import "./chunk-A6XUJE5D.js";
525
525
  import "./chunk-VS2IYZRU.js";
526
- import "./chunk-5UZXUTVO.js";
526
+ import "./chunk-KNA3BXXL.js";
527
527
  import "./chunk-NINSR6LX.js";
528
528
  import "./chunk-3WCASNQZ.js";
529
529
  import "./chunk-PZ5AY32C.js";
@@ -9,17 +9,17 @@ import {
9
9
  removeVersion,
10
10
  revertToVersion,
11
11
  sidecarKey
12
- } from "./chunk-E7UQOS4C.js";
12
+ } from "./chunk-JPKK466T.js";
13
13
  import "./chunk-XCB6QDL6.js";
14
14
  import "./chunk-RBOJCG4T.js";
15
- import "./chunk-NNZFPYYX.js";
15
+ import "./chunk-R7QY5ZVB.js";
16
16
  import "./chunk-5WITETWU.js";
17
17
  import "./chunk-6CIAGZ6X.js";
18
18
  import "./chunk-C64XATK7.js";
19
19
  import "./chunk-42JKGUFJ.js";
20
20
  import "./chunk-FFAZ2XFU.js";
21
21
  import "./chunk-VS2IYZRU.js";
22
- import "./chunk-5UZXUTVO.js";
22
+ import "./chunk-KNA3BXXL.js";
23
23
  import "./chunk-3WCASNQZ.js";
24
24
  import "./chunk-PZ5AY32C.js";
25
25
  export {
@@ -1,5 +1,5 @@
1
1
  import { IncomingMessage, ServerResponse } from 'node:http';
2
- import { f as EngramAccessService } from './access-service-Cv8Rizo0.js';
2
+ import { f as EngramAccessService } from './access-service-GrdVg_-Z.js';
3
3
 
4
4
  declare const SUPPORT_PASSPORT_PUBLIC_HTTP_ROUTES: readonly [{
5
5
  readonly method: "GET";
@@ -2,15 +2,15 @@ import {
2
2
  markProjectedMemoryPathInvalid
3
3
  } from "./chunk-AL3UYZ5N.js";
4
4
  import "./chunk-RL6NEVXT.js";
5
+ import {
6
+ isErrnoCode
7
+ } from "./chunk-KNA3BXXL.js";
5
8
  import "./chunk-3WCASNQZ.js";
6
9
  import "./chunk-PZ5AY32C.js";
7
10
 
8
11
  // src/maintenance/purge.ts
9
12
  import path from "path";
10
13
  import { appendFile, mkdir } from "fs/promises";
11
- function hasErrorCode(err, code) {
12
- return typeof err === "object" && err !== null && "code" in err && err.code === code;
13
- }
14
14
  function resolveTimestamp(memory) {
15
15
  const fm = memory.frontmatter;
16
16
  const updated = typeof fm.updated === "string" ? fm.updated : "";
@@ -140,7 +140,7 @@ async function purgeMemories(options) {
140
140
  }
141
141
  } catch (err) {
142
142
  const message = err instanceof Error ? err.message : String(err);
143
- if (hasErrorCode(err, "ENOENT")) {
143
+ if (isErrnoCode(err, "ENOENT")) {
144
144
  alreadyAbsent.push(candidate);
145
145
  addCollectionForCandidate(candidate);
146
146
  markProjectedMemoryPathInvalid(storage.dir, candidate.id);
@@ -216,4 +216,4 @@ async function purgeMemories(options) {
216
216
  export {
217
217
  purgeMemories
218
218
  };
219
- //# sourceMappingURL=purge-OP6BEDFY.js.map
219
+ //# sourceMappingURL=purge-TZKRE6ZQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/maintenance/purge.ts"],"sourcesContent":["/**\n * Operator-facing bulk hard-delete (issue #686 retention-completion).\n *\n * `purgeMemories(opts)` hard-deletes memories that are:\n * - older than `olderThanMs` (measured against `updated ?? created`), AND\n * - in the specified tier (`\"cold\"` or `\"all\"`), AND\n * - optionally in `status: \"forgotten\"` only (when `forgottenOnly` is true)\n *\n * Hard-delete means:\n * 1. Remove the file from disk.\n * 2. Trigger a QMD collection update so the index no longer contains it.\n * 3. Append a purge audit entry to the observation ledger.\n *\n * `dryRun: true` (the default) reports what *would* be deleted without\n * actually removing anything — callers must opt into mutations by\n * setting `dryRun: false`.\n *\n * The CLI surface enforces an explicit `--confirm yes` guard and\n * defaults to `--dry-run` to make accidental data loss impossible.\n */\n\nimport path from \"node:path\";\nimport { appendFile, mkdir } from \"node:fs/promises\";\nimport type { StorageManager } from \"../storage.js\";\nimport type { MemoryFile } from \"../types.js\";\nimport { markProjectedMemoryPathInvalid } from \"../memory-projection-store.js\";\nimport type { SearchBackend } from \"../search/port.js\";\nimport { isErrnoCode } from \"../utils/errno.js\";\n\nexport type PurgeTierFilter = \"cold\" | \"all\";\n\nexport interface PurgeMemoriesOptions {\n storage: StorageManager;\n /**\n * Only memories whose `updated ?? created` timestamp is older than this\n * value (in milliseconds, Unix epoch) will be candidates.\n */\n olderThanMs: number;\n /**\n * `\"cold\"` — only memories in the cold tier (files under `.../cold/`).\n * `\"all\"` — memories in any tier (hot, cold, or archived).\n * Default: `\"cold\"`.\n */\n tier?: PurgeTierFilter;\n /**\n * When `true`, only memories with `status === \"forgotten\"` are candidates.\n * Default: `false` (purge by age + tier regardless of status).\n */\n forgottenOnly?: boolean;\n /** When `true` (default), report candidates but do not delete. */\n dryRun?: boolean;\n /**\n * Optional QMD backend. When supplied and `dryRun === false`, a\n * `updateCollection` call is issued after each deletion so the index stays\n * consistent. Pass `undefined` or omit to skip index maintenance (e.g. in\n * tests that don't have a live QMD instance).\n */\n qmd?: SearchBackend;\n /** Hot-tier QMD collection name (default: `\"openclaw-engram\"`). */\n hotCollection?: string;\n /** Cold-tier QMD collection name (default: `\"openclaw-engram-cold\"`). */\n coldCollection?: string;\n /** Optional hook for long-lived hosts to clear their live dedupe mirror after purge hash cleanup. */\n afterFactHashRemoval?: () => void | Promise<void>;\n /** Optional shutdown signal forwarded to QMD collection refreshes. */\n signal?: AbortSignal;\n /** Override clock for tests. */\n now?: () => Date;\n}\n\nexport interface PurgeCandidate {\n id: string;\n path: string;\n tier: \"hot\" | \"cold\" | \"archive\";\n status: string;\n updatedOrCreated: string;\n ageMs: number;\n}\n\nexport interface PurgeMemoriesResult {\n dryRun: boolean;\n tier: PurgeTierFilter;\n olderThanMs: number;\n candidates: PurgeCandidate[];\n purgedCount: number;\n alreadyAbsentCount: number;\n errorCount: number;\n errors: Array<{ id: string; path: string; error: string }>;\n}\n\nfunction resolveTimestamp(memory: MemoryFile): string {\n const fm = memory.frontmatter as unknown as Record<string, unknown>;\n const updated = typeof fm.updated === \"string\" ? (fm.updated as string) : \"\";\n const created = typeof fm.created === \"string\" ? (fm.created as string) : \"\";\n return updated.length > 0 ? updated : created;\n}\n\nasync function logPurgeAudit(\n storage: StorageManager,\n candidates: PurgeCandidate[],\n now: Date,\n event: \"PURGE_DELETE_INTENT\" | \"PURGE_HARD_DELETE\" | \"PURGE_ALREADY_ABSENT\" = \"PURGE_HARD_DELETE\",\n): Promise<void> {\n if (candidates.length === 0) return;\n const ledgerDir = path.join(storage.dir, \"state\", \"observation-ledger\");\n await mkdir(ledgerDir, { recursive: true });\n const ledgerPath = path.join(ledgerDir, \"purge-audit.jsonl\");\n const entries = candidates.map((c) =>\n JSON.stringify({\n event,\n timestamp: now.toISOString(),\n memoryId: c.id,\n path: c.path,\n tier: c.tier,\n status: c.status,\n updatedOrCreated: c.updatedOrCreated,\n }),\n );\n if (entries.length > 0) {\n await appendFile(ledgerPath, `${entries.join(\"\\n\")}\\n`, \"utf-8\");\n }\n}\n\nexport async function purgeMemories(\n options: PurgeMemoriesOptions,\n): Promise<PurgeMemoriesResult> {\n const {\n storage,\n olderThanMs,\n tier = \"cold\",\n forgottenOnly = false,\n dryRun = true,\n qmd,\n hotCollection = \"openclaw-engram\",\n coldCollection = \"openclaw-engram-cold\",\n } = options;\n\n if (!Number.isFinite(olderThanMs) || olderThanMs <= 0) {\n throw new Error(\"olderThanMs must be a finite positive number\");\n }\n\n const now = (options.now ?? (() => new Date()))();\n const nowMs = now.getTime();\n\n // Collect all memories from applicable tiers\n const [hotMemories, coldMemories, archivedMemories] = await Promise.all([\n tier === \"all\" ? storage.readAllMemories() : Promise.resolve([]),\n storage.readAllColdMemories(),\n tier === \"all\" ? storage.readArchivedMemories() : Promise.resolve([]),\n ]);\n\n const poolEntries: Array<{ memory: MemoryFile; resolvedTier: \"hot\" | \"cold\" | \"archive\" }> = [];\n\n if (tier === \"all\") {\n for (const m of hotMemories) {\n poolEntries.push({ memory: m, resolvedTier: \"hot\" });\n }\n for (const m of archivedMemories) {\n poolEntries.push({ memory: m, resolvedTier: \"archive\" });\n }\n }\n for (const m of coldMemories) {\n poolEntries.push({ memory: m, resolvedTier: \"cold\" });\n }\n\n // Build candidate list\n const candidates: PurgeCandidate[] = [];\n const candidateMemoriesByPath = new Map<string, MemoryFile>();\n for (const { memory, resolvedTier } of poolEntries) {\n const ts = resolveTimestamp(memory);\n if (ts.length === 0) continue;\n\n const tsMs = Date.parse(ts);\n if (!Number.isFinite(tsMs)) continue;\n\n const ageMs = nowMs - tsMs;\n if (ageMs < olderThanMs) continue;\n\n const fm = memory.frontmatter as unknown as Record<string, unknown>;\n const status: string =\n typeof fm.status === \"string\" ? (fm.status as string) : \"active\";\n\n if (forgottenOnly && status !== \"forgotten\") continue;\n\n candidates.push({\n id: memory.frontmatter.id,\n path: memory.path,\n tier: resolvedTier,\n status,\n updatedOrCreated: ts,\n ageMs,\n });\n candidateMemoriesByPath.set(memory.path, memory);\n }\n\n if (dryRun) {\n return {\n dryRun: true,\n tier,\n olderThanMs,\n candidates,\n purgedCount: 0,\n alreadyAbsentCount: 0,\n errorCount: 0,\n errors: [],\n };\n }\n\n // Hard-delete phase\n const errors: Array<{ id: string; path: string; error: string }> = [];\n try {\n await logPurgeAudit(storage, candidates, now, \"PURGE_DELETE_INTENT\");\n } catch (auditErr) {\n errors.push({\n id: \"(purge-audit)\",\n path: path.join(storage.dir, \"state\", \"observation-ledger\", \"purge-audit.jsonl\"),\n error: auditErr instanceof Error ? auditErr.message : String(auditErr),\n });\n }\n\n const actuallyPurged: PurgeCandidate[] = [];\n const alreadyAbsent: PurgeCandidate[] = [];\n const collectionsToUpdate = new Set<string>();\n const addCollectionForCandidate = (candidate: PurgeCandidate) => {\n if (candidate.tier === \"cold\") {\n collectionsToUpdate.add(coldCollection);\n } else if (candidate.tier === \"hot\") {\n collectionsToUpdate.add(hotCollection);\n }\n };\n\n for (const candidate of candidates) {\n try {\n const memory = candidateMemoriesByPath.get(candidate.path);\n if (!memory) throw new Error(`purge candidate memory missing: ${candidate.id}`);\n const removed = await storage.deleteMemoryForMaintenance(memory);\n if (removed) {\n actuallyPurged.push(candidate);\n addCollectionForCandidate(candidate);\n } else {\n alreadyAbsent.push(candidate);\n addCollectionForCandidate(candidate);\n markProjectedMemoryPathInvalid(storage.dir, candidate.id);\n }\n } catch (err) {\n const message = err instanceof Error ? err.message : String(err);\n if (isErrnoCode(err, \"ENOENT\")) {\n alreadyAbsent.push(candidate);\n addCollectionForCandidate(candidate);\n markProjectedMemoryPathInvalid(storage.dir, candidate.id);\n } else {\n errors.push({ id: candidate.id, path: candidate.path, error: message });\n }\n }\n }\n\n const recordPostDeleteAudit = async (\n purgedCandidates: PurgeCandidate[],\n event: \"PURGE_HARD_DELETE\" | \"PURGE_ALREADY_ABSENT\",\n ) => {\n try {\n await logPurgeAudit(storage, purgedCandidates, now, event);\n } catch (auditErr) {\n errors.push({\n id: \"(purge-audit)\",\n path: path.join(storage.dir, \"state\", \"observation-ledger\", \"purge-audit.jsonl\"),\n error: auditErr instanceof Error ? auditErr.message : String(auditErr),\n });\n }\n };\n await recordPostDeleteAudit(actuallyPurged, \"PURGE_HARD_DELETE\");\n await recordPostDeleteAudit(alreadyAbsent, \"PURGE_ALREADY_ABSENT\");\n\n const resolvedPurges = [...actuallyPurged, ...alreadyAbsent];\n\n const invalidateTierCaches = (\n storage as unknown as {\n invalidateMemoryCachesForTiers?: (tiers: Iterable<\"hot\" | \"cold\" | \"archive\">) => void;\n }\n ).invalidateMemoryCachesForTiers;\n if (typeof invalidateTierCaches === \"function\") {\n invalidateTierCaches.call(storage, new Set(resolvedPurges.map((candidate) => candidate.tier)));\n } else if (typeof (storage as unknown as { invalidateAllMemoriesCacheForDir?: () => void }).invalidateAllMemoriesCacheForDir === \"function\") {\n (storage as unknown as { invalidateAllMemoriesCacheForDir: () => void }).invalidateAllMemoriesCacheForDir();\n }\n\n // Update QMD index for affected collections\n if (qmd) {\n for (const collection of collectionsToUpdate) {\n try {\n if (typeof qmd.updateCollectionStrict === \"function\") {\n await qmd.updateCollectionStrict(collection, { signal: options.signal });\n } else {\n await qmd.updateCollection(collection, { signal: options.signal });\n }\n } catch (indexErr) {\n // Non-fatal — operator can re-index manually\n errors.push({\n id: \"(qmd-update)\",\n path: collection,\n error: indexErr instanceof Error ? indexErr.message : String(indexErr),\n });\n }\n }\n }\n\n const purgedFactMemories = resolvedPurges\n .map((candidate) => candidateMemoriesByPath.get(candidate.path))\n .filter((memory): memory is MemoryFile => memory?.frontmatter.category === \"fact\");\n if (purgedFactMemories.length > 0) {\n const removeFactHashes = (\n storage as unknown as {\n removeFactContentHashesForMemories?: (memories: MemoryFile[]) => Promise<void>;\n }\n ).removeFactContentHashesForMemories;\n if (typeof removeFactHashes === \"function\") {\n try {\n await removeFactHashes.call(storage, purgedFactMemories);\n await options.afterFactHashRemoval?.();\n } catch (hashErr) {\n errors.push({\n id: \"(fact-hash-index)\",\n path: path.join(storage.dir, \"state\", \"fact-hashes.txt\"),\n error: hashErr instanceof Error ? hashErr.message : String(hashErr),\n });\n }\n }\n }\n\n return {\n dryRun: false,\n tier,\n olderThanMs,\n candidates,\n purgedCount: actuallyPurged.length,\n alreadyAbsentCount: alreadyAbsent.length,\n errorCount: errors.length,\n errors,\n };\n}\n"],"mappings":"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","names":[]}
@@ -3,14 +3,14 @@ import {
3
3
  RecallHandleHistoryStore,
4
4
  TierMigrationStatusStore,
5
5
  clampGraphRecallExpandedEntries
6
- } from "./chunk-ZVZHG7AI.js";
6
+ } from "./chunk-5UBH37SL.js";
7
7
  import {
8
8
  coerceIncludedMemories
9
9
  } from "./chunk-2YA5N2BY.js";
10
10
  import "./chunk-AW4QUFQF.js";
11
- import "./chunk-GCASGYIO.js";
11
+ import "./chunk-C7HJ3NEI.js";
12
12
  import "./chunk-FFAZ2XFU.js";
13
- import "./chunk-5UZXUTVO.js";
13
+ import "./chunk-KNA3BXXL.js";
14
14
  import "./chunk-3WCASNQZ.js";
15
15
  import "./chunk-PZ5AY32C.js";
16
16
  export {
@@ -4,12 +4,12 @@ import {
4
4
  buildReconcileManifest,
5
5
  buildReconcileManifestFile,
6
6
  collapseActiveFactDuplicates
7
- } from "../chunk-4FSEZRGK.js";
7
+ } from "../chunk-TWF35IC6.js";
8
8
  import "../chunk-PAAJWQH5.js";
9
9
  import "../chunk-TG3FAM2S.js";
10
10
  import "../chunk-6MINUTGJ.js";
11
11
  import "../chunk-7RJUVTVF.js";
12
- import "../chunk-N6A2RP5S.js";
12
+ import "../chunk-NB3LRY4T.js";
13
13
  import "../chunk-5FVVY2EB.js";
14
14
  import "../chunk-FFAZ2XFU.js";
15
15
  import "../chunk-JDSVLVCG.js";
@@ -18,10 +18,10 @@ import "../chunk-JAKIDQB2.js";
18
18
  import "../chunk-GCGJW34D.js";
19
19
  import "../chunk-LQWOFU6L.js";
20
20
  import "../chunk-VUFL7X3H.js";
21
- import "../chunk-ET2CNMLD.js";
21
+ import "../chunk-JN72EPOE.js";
22
22
  import "../chunk-A6XUJE5D.js";
23
23
  import "../chunk-VS2IYZRU.js";
24
- import "../chunk-5UZXUTVO.js";
24
+ import "../chunk-KNA3BXXL.js";
25
25
  import "../chunk-3WCASNQZ.js";
26
26
  import "../chunk-PZ5AY32C.js";
27
27
  export {