@remnic/core 10.0.7 → 10.0.8

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 (251) hide show
  1. package/dist/access-admin-ops-surface.js +40 -39
  2. package/dist/access-authorization-probe.js +41 -40
  3. package/dist/access-boundary.js +40 -39
  4. package/dist/access-cli.js +97 -96
  5. package/dist/access-cli.js.map +1 -1
  6. package/dist/access-extraction-force-flush.js +40 -39
  7. package/dist/access-http-briefing.js +41 -40
  8. package/dist/access-http-query.js +42 -41
  9. package/dist/access-http.js +61 -60
  10. package/dist/access-identity-continuity-surface.js +40 -39
  11. package/dist/access-lcm-surface.js +40 -39
  12. package/dist/access-mcp.js +50 -49
  13. package/dist/access-namespace-preflight.js +40 -39
  14. package/dist/access-observe-write-category.js +8 -8
  15. package/dist/access-observe-write-surface.js +40 -39
  16. package/dist/access-offline-manifest.js +5 -5
  17. package/dist/access-operations-batch.js +41 -40
  18. package/dist/access-operations.js +48 -47
  19. package/dist/access-recall-concurrency.js +40 -39
  20. package/dist/access-recall-response.js +40 -39
  21. package/dist/access-recall-surface.js +40 -39
  22. package/dist/access-schema.js +7 -7
  23. package/dist/access-service.js +40 -39
  24. package/dist/access-surface-catalog.js +42 -41
  25. package/dist/access-surface-catalog.js.map +1 -1
  26. package/dist/active-recall.js +13 -13
  27. package/dist/adapters/index.js +4 -4
  28. package/dist/adapters/registry.js +2 -2
  29. package/dist/briefing.js +10 -10
  30. package/dist/buffer.js +6 -6
  31. package/dist/causal-consolidation.js +11 -11
  32. package/dist/{chunk-B2UK6O2O.js → chunk-2K7D6EFT.js} +2 -2
  33. package/dist/{chunk-Z4CETAL7.js → chunk-3ENX2RB4.js} +2 -2
  34. package/dist/{chunk-TPNCVFVI.js → chunk-3NFN4Y4P.js} +4 -4
  35. package/dist/{chunk-HHE57I2Z.js → chunk-3R6SLDTH.js} +2 -2
  36. package/dist/{chunk-WUUE2I2A.js → chunk-3VTNNO2B.js} +4 -4
  37. package/dist/{chunk-ODGXQUPR.js → chunk-4OKPH6FG.js} +2 -2
  38. package/dist/{chunk-M4MAVJJX.js → chunk-55ZVZBX4.js} +2 -2
  39. package/dist/{chunk-VQBGV44L.js → chunk-5EOV7ANU.js} +2 -2
  40. package/dist/{chunk-JH4XB3RX.js → chunk-5FNVK7MW.js} +2 -2
  41. package/dist/{chunk-2SKI5ZSH.js → chunk-5NOPZYNI.js} +7 -7
  42. package/dist/{chunk-E3OSDZ6M.js → chunk-5Q4NQNW7.js} +2 -2
  43. package/dist/chunk-5VC7J76U.js +134 -0
  44. package/dist/chunk-5VC7J76U.js.map +1 -0
  45. package/dist/{chunk-YMVLPVQP.js → chunk-6PHB45IU.js} +2 -2
  46. package/dist/{chunk-QHL33ZDS.js → chunk-76KHEHT2.js} +2 -2
  47. package/dist/{chunk-PBYY4WYM.js → chunk-7O252IE6.js} +2 -2
  48. package/dist/{chunk-5GN5LRQW.js → chunk-7OAIOE5P.js} +2 -2
  49. package/dist/{chunk-YV54LYEB.js → chunk-7UX44C4N.js} +2 -2
  50. package/dist/{chunk-VBNIQ6H2.js → chunk-A6G7K273.js} +3 -3
  51. package/dist/{chunk-NJTW2MUV.js → chunk-AAM66QCP.js} +5 -5
  52. package/dist/{chunk-Q67D4JYB.js → chunk-AMFCRZYB.js} +2 -2
  53. package/dist/{chunk-KMAHEIOH.js → chunk-AV46CT77.js} +2 -2
  54. package/dist/{chunk-7PZHH4KC.js → chunk-AZEZSQ5R.js} +23 -2
  55. package/dist/chunk-AZEZSQ5R.js.map +1 -0
  56. package/dist/{chunk-DSVRW5BD.js → chunk-BPY4RRTF.js} +14 -14
  57. package/dist/{chunk-BSWHZJSP.js → chunk-C3WJNRGR.js} +2 -2
  58. package/dist/{chunk-ZBDTSFRA.js → chunk-CBP4HWCL.js} +3 -3
  59. package/dist/{chunk-D6C4JWSN.js → chunk-CSUAHUOH.js} +2 -2
  60. package/dist/{chunk-JALYQUYO.js → chunk-DGRMWDQY.js} +12 -12
  61. package/dist/{chunk-4EHA327M.js → chunk-DXHVD4DS.js} +3 -3
  62. package/dist/{chunk-CRYAYFUE.js → chunk-E5274WUC.js} +2 -2
  63. package/dist/{chunk-OCIJYYCA.js → chunk-FBVLTTVV.js} +6 -6
  64. package/dist/{chunk-CG2E6WT5.js → chunk-GDI64ITR.js} +3 -3
  65. package/dist/{chunk-Z5IQTRDN.js → chunk-GSAZBZMA.js} +2 -2
  66. package/dist/{chunk-IE2J3V5N.js → chunk-HZVYDWUP.js} +2 -2
  67. package/dist/{chunk-MHGHEBTR.js → chunk-IJWEXCWF.js} +2 -2
  68. package/dist/{chunk-VIPGYPEG.js → chunk-IOM5QSNR.js} +2 -2
  69. package/dist/{chunk-KQAFEZQX.js → chunk-IPLYGWQF.js} +5 -5
  70. package/dist/{chunk-XKEDESWC.js → chunk-JK3DYMOC.js} +2 -2
  71. package/dist/{chunk-ETGXRGSR.js → chunk-JSIQSZXI.js} +3 -3
  72. package/dist/{chunk-F2QIPGTG.js → chunk-JTUKDLAD.js} +2 -2
  73. package/dist/{chunk-M6PEFWJ4.js → chunk-K3DZ3G5I.js} +2 -2
  74. package/dist/{chunk-TVRTJZQ5.js → chunk-KDYQYMJZ.js} +2 -2
  75. package/dist/{chunk-JFGX2DKT.js → chunk-KRIEQCKE.js} +2 -2
  76. package/dist/{chunk-FRRR4KOW.js → chunk-L3Z4NXDO.js} +3 -3
  77. package/dist/{chunk-T5XG6GQI.js → chunk-LOFVW6JA.js} +2 -2
  78. package/dist/{chunk-GTSQJTNS.js → chunk-MAJ2OKE4.js} +8 -8
  79. package/dist/{chunk-J5QL66XK.js → chunk-MB5EJ2CT.js} +5 -5
  80. package/dist/{chunk-RVJPY6E4.js → chunk-MVRIW6MI.js} +2 -2
  81. package/dist/{chunk-QWDH4QNA.js → chunk-MZBWIJJN.js} +8 -8
  82. package/dist/{chunk-OH75RBYF.js → chunk-N44GZ73R.js} +7 -7
  83. package/dist/{chunk-YBSWXKCH.js → chunk-N6UMXWBA.js} +2 -2
  84. package/dist/{chunk-2PBZBNY7.js → chunk-NAHUBSUF.js} +2 -2
  85. package/dist/{chunk-Z2ZUV6FE.js → chunk-NXLQQ6WI.js} +2 -2
  86. package/dist/{chunk-QF7XX74D.js → chunk-NYVKLB2I.js} +28 -28
  87. package/dist/{chunk-V4ACBX3C.js → chunk-OC6JYPZX.js} +21 -44
  88. package/dist/chunk-OC6JYPZX.js.map +1 -0
  89. package/dist/{chunk-645A37SC.js → chunk-P2S6P7X6.js} +2 -2
  90. package/dist/{chunk-PXTZOU5F.js → chunk-PBVNVKYN.js} +2 -2
  91. package/dist/{chunk-3DSRYRGR.js → chunk-QFIPSKPC.js} +2 -2
  92. package/dist/{chunk-GH5R5BIH.js → chunk-QN77HA6P.js} +2 -2
  93. package/dist/{chunk-IJU2ZWPE.js → chunk-QW7G7PWN.js} +2 -2
  94. package/dist/{chunk-3GLQUOL2.js → chunk-R2AWYR4Q.js} +2 -2
  95. package/dist/{chunk-YRULQW5J.js → chunk-RBJQYMMT.js} +4 -4
  96. package/dist/{chunk-EBQCVOGC.js → chunk-RH6QEGCT.js} +2 -2
  97. package/dist/{chunk-PO6MNTWH.js → chunk-RNPJ4GQA.js} +2 -2
  98. package/dist/{chunk-YNSHGVXT.js → chunk-S4GUMZRB.js} +31 -31
  99. package/dist/{chunk-5O4UJ6PM.js → chunk-SQ2O52SU.js} +2 -2
  100. package/dist/{chunk-Y6IHIORY.js → chunk-V4WSQYO6.js} +63 -63
  101. package/dist/{chunk-Y6IHIORY.js.map → chunk-V4WSQYO6.js.map} +1 -1
  102. package/dist/{chunk-65FYHYBE.js → chunk-VSHRMIJH.js} +2 -2
  103. package/dist/{chunk-Y7427SL7.js → chunk-WCGJK4NQ.js} +4 -4
  104. package/dist/{chunk-OX5LMCEQ.js → chunk-WJLGUY27.js} +11 -11
  105. package/dist/{chunk-UL7WKKGZ.js → chunk-WPFSZZ35.js} +2 -2
  106. package/dist/{chunk-64S6X4IU.js → chunk-XTN54NML.js} +4 -4
  107. package/dist/{chunk-UTXWLTX5.js → chunk-YAF3NRNC.js} +2 -2
  108. package/dist/{chunk-BR75HFPC.js → chunk-ZQYAE2C5.js} +2 -2
  109. package/dist/cli.js +74 -73
  110. package/dist/coding/export-okf-codegraph.js +9 -9
  111. package/dist/compounding/engine.js +10 -10
  112. package/dist/config.js +13 -13
  113. package/dist/connectors/codex-materialize-runner.js +10 -10
  114. package/dist/connectors/index.js +10 -10
  115. package/dist/convergence-refresh.js +12 -12
  116. package/dist/corpus-watermark.js +12 -12
  117. package/dist/deep-recall-http-glue.js +8 -8
  118. package/dist/deep-recall.js +2 -2
  119. package/dist/entity-retrieval.js +10 -10
  120. package/dist/external-wiki-access.js +41 -40
  121. package/dist/extraction.js +14 -14
  122. package/dist/harmonic-retrieval.d.ts.map +1 -1
  123. package/dist/harmonic-retrieval.js +12 -11
  124. package/dist/harmonic-source-lookup.d.ts +14 -0
  125. package/dist/harmonic-source-lookup.d.ts.map +1 -0
  126. package/dist/harmonic-source-lookup.js +22 -0
  127. package/dist/harmonic-source-lookup.js.map +1 -0
  128. package/dist/index.js +109 -108
  129. package/dist/lcm/engine.js +2 -2
  130. package/dist/lcm/index.js +4 -4
  131. package/dist/location/index.js +12 -12
  132. package/dist/maintenance/memory-governance.js +10 -10
  133. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +10 -10
  134. package/dist/maintenance/rebuild-memory-projection-runner.js +12 -12
  135. package/dist/maintenance/rebuild-memory-projection.js +11 -11
  136. package/dist/memory-browse-operations.js +41 -40
  137. package/dist/memory-browse.js +6 -6
  138. package/dist/memory-projection-batch.d.ts +2 -0
  139. package/dist/memory-projection-batch.d.ts.map +1 -1
  140. package/dist/memory-projection-batch.js +4 -1
  141. package/dist/namespaces/migrate.js +11 -11
  142. package/dist/namespaces/search.js +6 -6
  143. package/dist/namespaces/storage.js +10 -10
  144. package/dist/offline-sync-changeset-generations.js +3 -3
  145. package/dist/offline-sync-embedding-generation.js +2 -2
  146. package/dist/offline-sync-snapshot-stream.js +5 -5
  147. package/dist/offline-sync.js +6 -6
  148. package/dist/operator-doctor-corpus.js +13 -13
  149. package/dist/operator-toolkit.js +22 -22
  150. package/dist/orchestration/maintenance.js +19 -19
  151. package/dist/orchestrator.js +97 -96
  152. package/dist/qmd.js +6 -6
  153. package/dist/recall-navigation-operations.js +41 -40
  154. package/dist/recall-navigation.js +40 -39
  155. package/dist/recall-state-view-admission.js +6 -6
  156. package/dist/recall-why-service.js +6 -6
  157. package/dist/resume-bundles.js +13 -13
  158. package/dist/search/factory.js +5 -5
  159. package/dist/search/index.js +7 -7
  160. package/dist/semantic-consolidation.js +11 -11
  161. package/dist/semantic-rule-promotion.js +10 -10
  162. package/dist/semantic-rule-verifier.js +10 -10
  163. package/dist/source-agent-qualifier.js +13 -13
  164. package/dist/standup/build.js +10 -10
  165. package/dist/storage.js +9 -9
  166. package/dist/support-passport/index.js +43 -42
  167. package/dist/transfer/autodetect.js +1 -1
  168. package/dist/transfer/backup.js +1 -1
  169. package/dist/transfer/capsule-export.js +2 -2
  170. package/dist/transfer/export-okf.js +10 -10
  171. package/dist/verified-recall.js +10 -10
  172. package/dist/who-knows-cli.js +11 -11
  173. package/dist/who-knows.js +10 -10
  174. package/package.json +2 -2
  175. package/src/harmonic-retrieval.ts +12 -64
  176. package/src/harmonic-source-lookup.test.ts +178 -0
  177. package/src/harmonic-source-lookup.ts +142 -0
  178. package/src/memory-projection-batch.ts +20 -0
  179. package/src/orchestration/recall-internal.ts +12 -12
  180. package/src/recall-harmonic-qmd-ordering.test.ts +304 -0
  181. package/dist/chunk-7PZHH4KC.js.map +0 -1
  182. package/dist/chunk-V4ACBX3C.js.map +0 -1
  183. /package/dist/{chunk-B2UK6O2O.js.map → chunk-2K7D6EFT.js.map} +0 -0
  184. /package/dist/{chunk-Z4CETAL7.js.map → chunk-3ENX2RB4.js.map} +0 -0
  185. /package/dist/{chunk-TPNCVFVI.js.map → chunk-3NFN4Y4P.js.map} +0 -0
  186. /package/dist/{chunk-HHE57I2Z.js.map → chunk-3R6SLDTH.js.map} +0 -0
  187. /package/dist/{chunk-WUUE2I2A.js.map → chunk-3VTNNO2B.js.map} +0 -0
  188. /package/dist/{chunk-ODGXQUPR.js.map → chunk-4OKPH6FG.js.map} +0 -0
  189. /package/dist/{chunk-M4MAVJJX.js.map → chunk-55ZVZBX4.js.map} +0 -0
  190. /package/dist/{chunk-VQBGV44L.js.map → chunk-5EOV7ANU.js.map} +0 -0
  191. /package/dist/{chunk-JH4XB3RX.js.map → chunk-5FNVK7MW.js.map} +0 -0
  192. /package/dist/{chunk-2SKI5ZSH.js.map → chunk-5NOPZYNI.js.map} +0 -0
  193. /package/dist/{chunk-E3OSDZ6M.js.map → chunk-5Q4NQNW7.js.map} +0 -0
  194. /package/dist/{chunk-YMVLPVQP.js.map → chunk-6PHB45IU.js.map} +0 -0
  195. /package/dist/{chunk-QHL33ZDS.js.map → chunk-76KHEHT2.js.map} +0 -0
  196. /package/dist/{chunk-PBYY4WYM.js.map → chunk-7O252IE6.js.map} +0 -0
  197. /package/dist/{chunk-5GN5LRQW.js.map → chunk-7OAIOE5P.js.map} +0 -0
  198. /package/dist/{chunk-YV54LYEB.js.map → chunk-7UX44C4N.js.map} +0 -0
  199. /package/dist/{chunk-VBNIQ6H2.js.map → chunk-A6G7K273.js.map} +0 -0
  200. /package/dist/{chunk-NJTW2MUV.js.map → chunk-AAM66QCP.js.map} +0 -0
  201. /package/dist/{chunk-Q67D4JYB.js.map → chunk-AMFCRZYB.js.map} +0 -0
  202. /package/dist/{chunk-KMAHEIOH.js.map → chunk-AV46CT77.js.map} +0 -0
  203. /package/dist/{chunk-DSVRW5BD.js.map → chunk-BPY4RRTF.js.map} +0 -0
  204. /package/dist/{chunk-BSWHZJSP.js.map → chunk-C3WJNRGR.js.map} +0 -0
  205. /package/dist/{chunk-ZBDTSFRA.js.map → chunk-CBP4HWCL.js.map} +0 -0
  206. /package/dist/{chunk-D6C4JWSN.js.map → chunk-CSUAHUOH.js.map} +0 -0
  207. /package/dist/{chunk-JALYQUYO.js.map → chunk-DGRMWDQY.js.map} +0 -0
  208. /package/dist/{chunk-4EHA327M.js.map → chunk-DXHVD4DS.js.map} +0 -0
  209. /package/dist/{chunk-CRYAYFUE.js.map → chunk-E5274WUC.js.map} +0 -0
  210. /package/dist/{chunk-OCIJYYCA.js.map → chunk-FBVLTTVV.js.map} +0 -0
  211. /package/dist/{chunk-CG2E6WT5.js.map → chunk-GDI64ITR.js.map} +0 -0
  212. /package/dist/{chunk-Z5IQTRDN.js.map → chunk-GSAZBZMA.js.map} +0 -0
  213. /package/dist/{chunk-IE2J3V5N.js.map → chunk-HZVYDWUP.js.map} +0 -0
  214. /package/dist/{chunk-MHGHEBTR.js.map → chunk-IJWEXCWF.js.map} +0 -0
  215. /package/dist/{chunk-VIPGYPEG.js.map → chunk-IOM5QSNR.js.map} +0 -0
  216. /package/dist/{chunk-KQAFEZQX.js.map → chunk-IPLYGWQF.js.map} +0 -0
  217. /package/dist/{chunk-XKEDESWC.js.map → chunk-JK3DYMOC.js.map} +0 -0
  218. /package/dist/{chunk-ETGXRGSR.js.map → chunk-JSIQSZXI.js.map} +0 -0
  219. /package/dist/{chunk-F2QIPGTG.js.map → chunk-JTUKDLAD.js.map} +0 -0
  220. /package/dist/{chunk-M6PEFWJ4.js.map → chunk-K3DZ3G5I.js.map} +0 -0
  221. /package/dist/{chunk-TVRTJZQ5.js.map → chunk-KDYQYMJZ.js.map} +0 -0
  222. /package/dist/{chunk-JFGX2DKT.js.map → chunk-KRIEQCKE.js.map} +0 -0
  223. /package/dist/{chunk-FRRR4KOW.js.map → chunk-L3Z4NXDO.js.map} +0 -0
  224. /package/dist/{chunk-T5XG6GQI.js.map → chunk-LOFVW6JA.js.map} +0 -0
  225. /package/dist/{chunk-GTSQJTNS.js.map → chunk-MAJ2OKE4.js.map} +0 -0
  226. /package/dist/{chunk-J5QL66XK.js.map → chunk-MB5EJ2CT.js.map} +0 -0
  227. /package/dist/{chunk-RVJPY6E4.js.map → chunk-MVRIW6MI.js.map} +0 -0
  228. /package/dist/{chunk-QWDH4QNA.js.map → chunk-MZBWIJJN.js.map} +0 -0
  229. /package/dist/{chunk-OH75RBYF.js.map → chunk-N44GZ73R.js.map} +0 -0
  230. /package/dist/{chunk-YBSWXKCH.js.map → chunk-N6UMXWBA.js.map} +0 -0
  231. /package/dist/{chunk-2PBZBNY7.js.map → chunk-NAHUBSUF.js.map} +0 -0
  232. /package/dist/{chunk-Z2ZUV6FE.js.map → chunk-NXLQQ6WI.js.map} +0 -0
  233. /package/dist/{chunk-QF7XX74D.js.map → chunk-NYVKLB2I.js.map} +0 -0
  234. /package/dist/{chunk-645A37SC.js.map → chunk-P2S6P7X6.js.map} +0 -0
  235. /package/dist/{chunk-PXTZOU5F.js.map → chunk-PBVNVKYN.js.map} +0 -0
  236. /package/dist/{chunk-3DSRYRGR.js.map → chunk-QFIPSKPC.js.map} +0 -0
  237. /package/dist/{chunk-GH5R5BIH.js.map → chunk-QN77HA6P.js.map} +0 -0
  238. /package/dist/{chunk-IJU2ZWPE.js.map → chunk-QW7G7PWN.js.map} +0 -0
  239. /package/dist/{chunk-3GLQUOL2.js.map → chunk-R2AWYR4Q.js.map} +0 -0
  240. /package/dist/{chunk-YRULQW5J.js.map → chunk-RBJQYMMT.js.map} +0 -0
  241. /package/dist/{chunk-EBQCVOGC.js.map → chunk-RH6QEGCT.js.map} +0 -0
  242. /package/dist/{chunk-PO6MNTWH.js.map → chunk-RNPJ4GQA.js.map} +0 -0
  243. /package/dist/{chunk-YNSHGVXT.js.map → chunk-S4GUMZRB.js.map} +0 -0
  244. /package/dist/{chunk-5O4UJ6PM.js.map → chunk-SQ2O52SU.js.map} +0 -0
  245. /package/dist/{chunk-65FYHYBE.js.map → chunk-VSHRMIJH.js.map} +0 -0
  246. /package/dist/{chunk-Y7427SL7.js.map → chunk-WCGJK4NQ.js.map} +0 -0
  247. /package/dist/{chunk-OX5LMCEQ.js.map → chunk-WJLGUY27.js.map} +0 -0
  248. /package/dist/{chunk-UL7WKKGZ.js.map → chunk-WPFSZZ35.js.map} +0 -0
  249. /package/dist/{chunk-64S6X4IU.js.map → chunk-XTN54NML.js.map} +0 -0
  250. /package/dist/{chunk-UTXWLTX5.js.map → chunk-YAF3NRNC.js.map} +0 -0
  251. /package/dist/{chunk-BR75HFPC.js.map → chunk-ZQYAE2C5.js.map} +0 -0
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  hasMemoryData
3
- } from "./chunk-D6C4JWSN.js";
3
+ } from "./chunk-CSUAHUOH.js";
4
4
  import {
5
5
  resolveNamespaceStorageRoot
6
- } from "./chunk-EBQCVOGC.js";
6
+ } from "./chunk-RH6QEGCT.js";
7
7
  import {
8
8
  getConfiguredNamespaces
9
9
  } from "./chunk-7XI2UJHL.js";
@@ -724,4 +724,4 @@ export {
724
724
  runNamespaceMaintenancePlan,
725
725
  runNamespaceMaintenanceBatchPlan
726
726
  };
727
- //# sourceMappingURL=chunk-FRRR4KOW.js.map
727
+ //# sourceMappingURL=chunk-L3Z4NXDO.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  raceRecallAbort,
3
3
  throwIfRecallAborted
4
- } from "./chunk-PXTZOU5F.js";
4
+ } from "./chunk-PBVNVKYN.js";
5
5
  import {
6
6
  emitExtractionLlmFailureError,
7
7
  recordExtractionLlmFailure,
@@ -1093,4 +1093,4 @@ export {
1093
1093
  ExtractionDeadlineError,
1094
1094
  ExtractionRunCoordinator
1095
1095
  };
1096
- //# sourceMappingURL=chunk-T5XG6GQI.js.map
1096
+ //# sourceMappingURL=chunk-LOFVW6JA.js.map
@@ -1,6 +1,9 @@
1
1
  import {
2
2
  PROJECTION_REBUILD_RUNNER_FLAG
3
- } from "./chunk-HHE57I2Z.js";
3
+ } from "./chunk-3R6SLDTH.js";
4
+ import {
5
+ startLocationAutoSync
6
+ } from "./chunk-7O252IE6.js";
4
7
  import {
5
8
  ensureContradictionScanCron,
6
9
  ensureDaySummaryCron,
@@ -10,19 +13,16 @@ import {
10
13
  ensureProceduralMiningCron,
11
14
  graphEdgeDecayCadenceToCronExpr
12
15
  } from "./chunk-666A3MOW.js";
13
- import {
14
- startLocationAutoSync
15
- } from "./chunk-PBYY4WYM.js";
16
16
  import {
17
17
  rebuildMemoryLifecycleLedger
18
- } from "./chunk-VIPGYPEG.js";
18
+ } from "./chunk-IOM5QSNR.js";
19
19
  import {
20
20
  planNamespaceMaintenance,
21
21
  runNamespaceMaintenanceBatchPlan
22
- } from "./chunk-FRRR4KOW.js";
22
+ } from "./chunk-L3Z4NXDO.js";
23
23
  import {
24
24
  rebuildMemoryProjection
25
- } from "./chunk-ETGXRGSR.js";
25
+ } from "./chunk-JSIQSZXI.js";
26
26
  import {
27
27
  DEFAULT_TIMELINE_CATEGORIES,
28
28
  TIMELINE_RESERVED_IDLE,
@@ -2647,4 +2647,4 @@ export {
2647
2647
  ActivitySyncScheduler,
2648
2648
  MaintenanceScheduler
2649
2649
  };
2650
- //# sourceMappingURL=chunk-GTSQJTNS.js.map
2650
+ //# sourceMappingURL=chunk-MAJ2OKE4.js.map
@@ -1,3 +1,6 @@
1
+ import {
2
+ NoopSearchBackend
3
+ } from "./chunk-CYEPCZN5.js";
1
4
  import {
2
5
  OramaBackend
3
6
  } from "./chunk-T3FMRLWQ.js";
@@ -13,9 +16,6 @@ import {
13
16
  import {
14
17
  MeilisearchBackend
15
18
  } from "./chunk-T2YX56QI.js";
16
- import {
17
- NoopSearchBackend
18
- } from "./chunk-CYEPCZN5.js";
19
19
  import {
20
20
  createConversationIndexBackend
21
21
  } from "./chunk-TFA6HPOA.js";
@@ -24,7 +24,7 @@ import {
24
24
  } from "./chunk-F4TWWUMP.js";
25
25
  import {
26
26
  QmdClient
27
- } from "./chunk-JALYQUYO.js";
27
+ } from "./chunk-DGRMWDQY.js";
28
28
  import {
29
29
  resolveIndexingCapabilities,
30
30
  resolvePipelineProcessingCapabilities,
@@ -179,4 +179,4 @@ export {
179
179
  createConversationSearchBackend,
180
180
  createConversationIndexRuntime
181
181
  };
182
- //# sourceMappingURL=chunk-J5QL66XK.js.map
182
+ //# sourceMappingURL=chunk-MB5EJ2CT.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SUPPORT_PASSPORT_DRAFT_MAX_CONTENT_CHARACTERS,
3
3
  SUPPORT_PASSPORT_DRAFT_MAX_MEMORIES
4
- } from "./chunk-QF7XX74D.js";
4
+ } from "./chunk-NYVKLB2I.js";
5
5
  import {
6
6
  SUPPORT_PASSPORT_SOURCE_MEMORY_ID_MAX_LENGTH
7
7
  } from "./chunk-PWPIERBM.js";
@@ -343,4 +343,4 @@ export {
343
343
  parseSupportPassportModelJob,
344
344
  SupportPassportModelBridge
345
345
  };
346
- //# sourceMappingURL=chunk-RVJPY6E4.js.map
346
+ //# sourceMappingURL=chunk-MVRIW6MI.js.map
@@ -12,7 +12,7 @@ import {
12
12
  import {
13
13
  applyChangesetEmbeddingGenerations,
14
14
  normalizeChangesetGenerations
15
- } from "./chunk-NJTW2MUV.js";
15
+ } from "./chunk-AAM66QCP.js";
16
16
  import {
17
17
  applyIncomingEmbeddingGenerations,
18
18
  assertEmbeddingGenerationStillIncluded,
@@ -21,7 +21,12 @@ import {
21
21
  embeddingGenerationMembership,
22
22
  isEmbeddingGenerationDirPath,
23
23
  isPathInOmittedEmbeddingGeneration
24
- } from "./chunk-TPNCVFVI.js";
24
+ } from "./chunk-3NFN4Y4P.js";
25
+ import {
26
+ isCanonicalRuntimeStatePath,
27
+ shouldDeleteAbsentIncomingOfflineRuntimeFile,
28
+ shouldPreferIncomingOfflineRuntimeFile
29
+ } from "./chunk-TYT4TEQV.js";
25
30
  import {
26
31
  isEmbeddingGenerationMarkerPath,
27
32
  matchesOfflineSyncDefaultExclude
@@ -43,11 +48,6 @@ import {
43
48
  sha256Bytes,
44
49
  validateArchiveRelativePath
45
50
  } from "./chunk-GCGJW34D.js";
46
- import {
47
- isCanonicalRuntimeStatePath,
48
- shouldDeleteAbsentIncomingOfflineRuntimeFile,
49
- shouldPreferIncomingOfflineRuntimeFile
50
- } from "./chunk-TYT4TEQV.js";
51
51
  import {
52
52
  withEmbeddingGenerationLock,
53
53
  withEmbeddingGenerationLockIter
@@ -1787,4 +1787,4 @@ export {
1787
1787
  normalizeOfflineSyncState,
1788
1788
  fileStatesFromSnapshot
1789
1789
  };
1790
- //# sourceMappingURL=chunk-QWDH4QNA.js.map
1790
+ //# sourceMappingURL=chunk-MZBWIJJN.js.map
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  RECALL_NAVIGATION_MCP_TOOLS
3
3
  } from "./chunk-TE6S7KDF.js";
4
- import {
5
- MCP_READ_ONLY_TOOL_SUFFIXES
6
- } from "./chunk-MZUQVWVC.js";
7
4
  import {
8
5
  MEMORY_BROWSE_MCP_TOOLS
9
6
  } from "./chunk-EIB4FJVR.js";
7
+ import {
8
+ MCP_READ_ONLY_TOOL_SUFFIXES
9
+ } from "./chunk-MZUQVWVC.js";
10
10
  import {
11
11
  EXTERNAL_WIKI_MCP_TOOLS
12
12
  } from "./chunk-A5KNZSNA.js";
@@ -49,16 +49,16 @@ import {
49
49
  } from "./chunk-KIUVEMBI.js";
50
50
  import {
51
51
  getOperation
52
- } from "./chunk-QF7XX74D.js";
52
+ } from "./chunk-NYVKLB2I.js";
53
53
  import {
54
54
  WHO_KNOWS_MCP_TOOLS
55
- } from "./chunk-Z4CETAL7.js";
55
+ } from "./chunk-3ENX2RB4.js";
56
56
  import {
57
57
  PROMOTION_CANDIDATES_MCP_TOOLS
58
58
  } from "./chunk-VFTK5WKI.js";
59
59
  import {
60
60
  validateRequest
61
- } from "./chunk-ZBDTSFRA.js";
61
+ } from "./chunk-CBP4HWCL.js";
62
62
  import {
63
63
  SUPPORT_PASSPORT_SOURCE_MEMORY_ID_MAX_LENGTH
64
64
  } from "./chunk-PWPIERBM.js";
@@ -3986,4 +3986,4 @@ export {
3986
3986
  MCP_MIGRATED_OPERATIONS,
3987
3987
  EngramMcpServer
3988
3988
  };
3989
- //# sourceMappingURL=chunk-OH75RBYF.js.map
3989
+ //# sourceMappingURL=chunk-N44GZ73R.js.map
@@ -14,7 +14,7 @@ import {
14
14
  } from "./chunk-PWPIERBM.js";
15
15
  import {
16
16
  iterateOfflineSyncSnapshotFileRecords
17
- } from "./chunk-QWDH4QNA.js";
17
+ } from "./chunk-MZBWIJJN.js";
18
18
 
19
19
  // src/access-offline-manifest.ts
20
20
  import * as nodePath from "path";
@@ -250,4 +250,4 @@ export {
250
250
  retainExcludedClassifications,
251
251
  createOfflineSyncManifestStream
252
252
  };
253
- //# sourceMappingURL=chunk-YBSWXKCH.js.map
253
+ //# sourceMappingURL=chunk-N6UMXWBA.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  rebuildMemoryProjection
3
- } from "./chunk-ETGXRGSR.js";
3
+ } from "./chunk-JSIQSZXI.js";
4
4
 
5
5
  // src/convergence-refresh.ts
6
6
  async function refreshConvergedNamespaces(namespaces, namespaceSearchRouter, getStorage, searchEnabled) {
@@ -32,4 +32,4 @@ async function refreshConvergedNamespaces(namespaces, namespaceSearchRouter, get
32
32
  export {
33
33
  refreshConvergedNamespaces
34
34
  };
35
- //# sourceMappingURL=chunk-2PBZBNY7.js.map
35
+ //# sourceMappingURL=chunk-NAHUBSUF.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  StorageManager
3
- } from "./chunk-OX5LMCEQ.js";
3
+ } from "./chunk-WJLGUY27.js";
4
4
  import {
5
5
  composeMemoryEnvelope
6
6
  } from "./chunk-OFCHT2TN.js";
@@ -546,4 +546,4 @@ export {
546
546
  setSemanticRulePromotionTestHooks,
547
547
  promoteSemanticRuleFromMemory
548
548
  };
549
- //# sourceMappingURL=chunk-Z2ZUV6FE.js.map
549
+ //# sourceMappingURL=chunk-NXLQQ6WI.js.map
@@ -12,6 +12,9 @@ import {
12
12
  import {
13
13
  isSharedContextWriteInputError
14
14
  } from "./chunk-IFBSZGW3.js";
15
+ import {
16
+ UNATTRIBUTED_ACCESS_WRITE_ORIGIN
17
+ } from "./chunk-OGXXGHW6.js";
15
18
  import {
16
19
  ACTIVE_DECISION_STATUSES,
17
20
  CodegraphRuntimeError,
@@ -30,15 +33,12 @@ import {
30
33
  resolveCodegraphProjectId,
31
34
  serializeDecisionRecord
32
35
  } from "./chunk-KYY4EACB.js";
33
- import {
34
- UNATTRIBUTED_ACCESS_WRITE_ORIGIN
35
- } from "./chunk-OGXXGHW6.js";
36
36
  import {
37
37
  WHO_KNOWS_DEFAULT_LIMIT,
38
38
  computeWhoKnows,
39
39
  loadWhoKnowsEntities,
40
40
  validateWhoKnowsInput
41
- } from "./chunk-Z4CETAL7.js";
41
+ } from "./chunk-3ENX2RB4.js";
42
42
  import {
43
43
  WriteQuarantineStore
44
44
  } from "./chunk-BANSBRNX.js";
@@ -68,7 +68,7 @@ import {
68
68
  } from "./chunk-ZSJGYC3C.js";
69
69
  import {
70
70
  runRecallWhy
71
- } from "./chunk-XKEDESWC.js";
71
+ } from "./chunk-JK3DYMOC.js";
72
72
  import {
73
73
  renderNavigationResult
74
74
  } from "./chunk-KIW3OOZE.js";
@@ -98,36 +98,36 @@ import {
98
98
  estimateRecallTokens,
99
99
  summarizeDisclosureTokens
100
100
  } from "./chunk-CYEK6Z3P.js";
101
- import {
102
- buildEmbeddingAwareSnapshotStream
103
- } from "./chunk-4EHA327M.js";
104
101
  import {
105
102
  readAggregateExtractionWatermark
106
- } from "./chunk-E3OSDZ6M.js";
103
+ } from "./chunk-5Q4NQNW7.js";
104
+ import {
105
+ buildEmbeddingAwareSnapshotStream
106
+ } from "./chunk-DXHVD4DS.js";
107
107
  import {
108
108
  ReplicaDivergenceMonitor
109
109
  } from "./chunk-E6UNM67F.js";
110
- import {
111
- recordMemoryOutcome
112
- } from "./chunk-UD7UNYRD.js";
113
110
  import {
114
111
  recordObjectiveStateSnapshotsFromObservedMessages
115
112
  } from "./chunk-6WHJ2EAB.js";
116
113
  import {
117
114
  objectiveStateStoreOverrideForNamespace
118
115
  } from "./chunk-HM7RHKS4.js";
116
+ import {
117
+ recordMemoryOutcome
118
+ } from "./chunk-UD7UNYRD.js";
119
119
  import {
120
120
  runMemoryBrowse
121
- } from "./chunk-Q67D4JYB.js";
121
+ } from "./chunk-AMFCRZYB.js";
122
122
  import {
123
123
  isSearchExcludedPath
124
- } from "./chunk-CRYAYFUE.js";
124
+ } from "./chunk-E5274WUC.js";
125
125
  import {
126
126
  coerceIncludedMemories
127
127
  } from "./chunk-2YA5N2BY.js";
128
128
  import {
129
129
  readProjectedHarmonicGraph
130
- } from "./chunk-V4ACBX3C.js";
130
+ } from "./chunk-OC6JYPZX.js";
131
131
  import {
132
132
  buildGraphSnapshot
133
133
  } from "./chunk-6VAHJ2F6.js";
@@ -171,7 +171,7 @@ import {
171
171
  } from "./chunk-3X5OPDPF.js";
172
172
  import {
173
173
  runBudgetedDeepRecall
174
- } from "./chunk-YRULQW5J.js";
174
+ } from "./chunk-RBJQYMMT.js";
175
175
  import {
176
176
  CrossNamespaceBudget,
177
177
  toBudgetWarning
@@ -183,11 +183,11 @@ import {
183
183
  listMemoryGovernanceRuns,
184
184
  readMemoryGovernanceRunArtifact,
185
185
  runMemoryGovernance
186
- } from "./chunk-KMAHEIOH.js";
186
+ } from "./chunk-AV46CT77.js";
187
187
  import {
188
188
  CorpusWatermarkCache,
189
189
  computeServiceCorpusCensus
190
- } from "./chunk-JH4XB3RX.js";
190
+ } from "./chunk-5FNVK7MW.js";
191
191
  import {
192
192
  defaultCapsulesDir
193
193
  } from "./chunk-ZY2MNJR6.js";
@@ -197,10 +197,10 @@ import {
197
197
  enqueuePassiveCorrectionNotification,
198
198
  parseBriefingFocus,
199
199
  parseBriefingWindow
200
- } from "./chunk-BSWHZJSP.js";
200
+ } from "./chunk-C3WJNRGR.js";
201
201
  import {
202
202
  ExtractionDeadlineError
203
- } from "./chunk-T5XG6GQI.js";
203
+ } from "./chunk-LOFVW6JA.js";
204
204
  import {
205
205
  LocalLlmClient
206
206
  } from "./chunk-JXSYWTFK.js";
@@ -256,10 +256,10 @@ import {
256
256
  qmdCollectionPathParts,
257
257
  qmdResultPathCandidates,
258
258
  selfDeps
259
- } from "./chunk-OX5LMCEQ.js";
259
+ } from "./chunk-WJLGUY27.js";
260
260
  import {
261
261
  namespaceCollectionName
262
- } from "./chunk-YV54LYEB.js";
262
+ } from "./chunk-7UX44C4N.js";
263
263
  import {
264
264
  normalizeProjectionPreview,
265
265
  normalizeProjectionTags
@@ -304,7 +304,7 @@ import {
304
304
  } from "./chunk-T2JSUEH6.js";
305
305
  import {
306
306
  splitCanonicalWriteRequest
307
- } from "./chunk-645A37SC.js";
307
+ } from "./chunk-P2S6P7X6.js";
308
308
  import {
309
309
  applyBriefingLocationContext,
310
310
  daySummaryAutoOptions
@@ -326,16 +326,16 @@ import {
326
326
  } from "./chunk-VFTK5WKI.js";
327
327
  import {
328
328
  reapplyCategoryCoercion
329
- } from "./chunk-ZBDTSFRA.js";
329
+ } from "./chunk-CBP4HWCL.js";
330
330
  import {
331
331
  exportCapsule
332
- } from "./chunk-KQAFEZQX.js";
332
+ } from "./chunk-IPLYGWQF.js";
333
333
  import {
334
334
  evaluateActionConfidence
335
335
  } from "./chunk-Z2YFLXHU.js";
336
336
  import {
337
337
  createOfflineSyncManifestStream
338
- } from "./chunk-YBSWXKCH.js";
338
+ } from "./chunk-N6UMXWBA.js";
339
339
  import {
340
340
  offlineSyncStorageForSnapshot
341
341
  } from "./chunk-TCYLCPC6.js";
@@ -415,7 +415,7 @@ import {
415
415
  buildOfflineSyncSnapshotFromBase,
416
416
  normalizeOfflineSyncChangeset,
417
417
  readOfflineSyncFileContentChunk
418
- } from "./chunk-QWDH4QNA.js";
418
+ } from "./chunk-MZBWIJJN.js";
419
419
  import {
420
420
  compileOfflineSyncExcludeGlobs
421
421
  } from "./chunk-63LFM77Z.js";
@@ -18734,4 +18734,4 @@ export {
18734
18734
  EngramAccessService,
18735
18735
  AccessAdminOpsSurface
18736
18736
  };
18737
- //# sourceMappingURL=chunk-QF7XX74D.js.map
18737
+ //# sourceMappingURL=chunk-NYVKLB2I.js.map
@@ -1,13 +1,17 @@
1
+ import {
2
+ readHarmonicSourceMemory,
3
+ readUnresolvedHarmonicSources
4
+ } from "./chunk-5VC7J76U.js";
1
5
  import {
2
6
  readProjectedMemoryStates
3
- } from "./chunk-7PZHH4KC.js";
7
+ } from "./chunk-AZEZSQ5R.js";
4
8
  import {
5
9
  resolveCueAnchorStoreDir,
6
10
  validateCueAnchor
7
11
  } from "./chunk-BMWN7B3Y.js";
8
12
  import {
9
13
  StorageManager
10
- } from "./chunk-OX5LMCEQ.js";
14
+ } from "./chunk-WJLGUY27.js";
11
15
  import {
12
16
  isValidityExpiredNow
13
17
  } from "./chunk-6CIAGZ6X.js";
@@ -44,9 +48,6 @@ import {
44
48
  listJsonFilesStrict,
45
49
  readJsonFile
46
50
  } from "./chunk-B6O2YLUR.js";
47
- import {
48
- isPathInsideStorageRoot
49
- } from "./chunk-LDPPTPO5.js";
50
51
  import {
51
52
  SecureStoreLockedError
52
53
  } from "./chunk-MAAL6OZV.js";
@@ -56,20 +57,7 @@ import {
56
57
 
57
58
  // src/harmonic-retrieval.ts
58
59
  import path from "path";
59
- import { existsSync } from "fs";
60
60
  import { realpath } from "fs/promises";
61
- async function readMemoryFile(storage, rootReal, filePath, abortSignal) {
62
- throwIfAborted(abortSignal, "harmonic retrieval aborted");
63
- if (!existsSync(filePath)) return null;
64
- try {
65
- if (rootReal !== null && !isPathInsideStorageRoot(rootReal, await realpath(filePath))) return null;
66
- return await storage.readMemoryByPath(filePath);
67
- } catch (err) {
68
- throwIfAborted(abortSignal, "harmonic retrieval aborted");
69
- if (err instanceof SecureStoreLockedError) throw err;
70
- return null;
71
- }
72
- }
73
61
  var INDEX_MAX_AGE_MS = 7 * 864e5;
74
62
  var DAY_MS = 864e5;
75
63
  function utcDaysSince(rebuiltMs, nowMs) {
@@ -79,9 +67,6 @@ function utcDaysSince(rebuiltMs, nowMs) {
79
67
  }
80
68
  return days;
81
69
  }
82
- var ABSENT_SOURCE_TTL_MS = 10 * 6e4;
83
- var ABSENT_SOURCE_MAX_ENTRIES = 4096;
84
- var absentSourceIds = /* @__PURE__ */ new Map();
85
70
  function unprojectedCandidatePaths(memoryDir, id, days) {
86
71
  const paths = [];
87
72
  for (const root of [memoryDir, path.join(memoryDir, "cold")]) {
@@ -95,7 +80,7 @@ function unprojectedCandidatePaths(memoryDir, id, days) {
95
80
  async function readIndexedSourceMemories(options) {
96
81
  const batch = readProjectedMemoryStates(options.memoryDir, options.sourceMemoryIds);
97
82
  const rebuiltMs = Date.parse(batch?.rebuiltAt ?? "");
98
- if (!batch?.complete || !Number.isFinite(rebuiltMs) || options.nowMs - rebuiltMs > INDEX_MAX_AGE_MS) return null;
83
+ if (!batch?.complete || !batch.rebuiltAt || !Number.isFinite(rebuiltMs) || options.nowMs - rebuiltMs > INDEX_MAX_AGE_MS) return null;
99
84
  const rootReal = await realpath(options.memoryDir).catch(() => null);
100
85
  if (rootReal === null) return null;
101
86
  const storage = new StorageManager(options.memoryDir);
@@ -110,35 +95,27 @@ async function readIndexedSourceMemories(options) {
110
95
  } catch {
111
96
  safeId = false;
112
97
  }
113
- if (!state && !safeId) return null;
114
- const candidates = state ? [state.path, path.join(options.memoryDir, "cold", state.pathRel)] : unprojectedCandidatePaths(options.memoryDir, id, days);
98
+ const candidates = state ? [state.path, path.join(options.memoryDir, "cold", state.pathRel)] : safeId ? unprojectedCandidatePaths(options.memoryDir, id, days) : [];
115
99
  let found = false;
116
100
  for (const candidate of candidates) {
117
- const memory = await readMemoryFile(storage, rootReal, candidate, options.abortSignal);
101
+ const memory = await readHarmonicSourceMemory(storage, rootReal, candidate, options.abortSignal);
118
102
  if (memory?.frontmatter.id !== id) continue;
119
103
  sourceMemories.set(id, memory);
120
104
  found = true;
121
105
  break;
122
106
  }
123
- const absentKey = `${options.memoryDir}\0${id}`;
124
- if (!found && safeId && (absentSourceIds.get(absentKey) ?? 0) <= options.nowMs) pending.push(id);
107
+ if (!found) pending.push(id);
125
108
  }
126
109
  if (pending.length === 0) return sourceMemories;
127
- const wanted = new Set(pending);
128
- const walked = [
129
- ...await storage.collectActiveMemoryPaths({ abortSignal: options.abortSignal }),
130
- ...await storage.collectColdMemoryPaths({ abortSignal: options.abortSignal })
131
- ];
132
- for (const filePath of walked) {
133
- throwIfAborted(options.abortSignal, "harmonic retrieval aborted");
134
- if (!wanted.has(path.basename(filePath, ".md"))) continue;
135
- const memory = await readMemoryFile(storage, null, filePath, options.abortSignal);
136
- if (memory && wanted.has(memory.frontmatter.id)) sourceMemories.set(memory.frontmatter.id, memory);
137
- }
138
- if (absentSourceIds.size > ABSENT_SOURCE_MAX_ENTRIES) absentSourceIds.clear();
139
- for (const id of pending) {
140
- if (!sourceMemories.has(id)) absentSourceIds.set(`${options.memoryDir}\0${id}`, options.nowMs + ABSENT_SOURCE_TTL_MS);
141
- }
110
+ const unresolved = await readUnresolvedHarmonicSources({
111
+ storage,
112
+ rootReal,
113
+ rebuiltAt: batch.rebuiltAt,
114
+ sourceMemoryIds: pending,
115
+ nowMs: options.nowMs,
116
+ abortSignal: options.abortSignal
117
+ });
118
+ for (const [id, memory] of unresolved) sourceMemories.set(id, memory);
142
119
  return sourceMemories;
143
120
  }
144
121
  async function readCorpusSourceMemories(options) {
@@ -147,7 +124,7 @@ async function readCorpusSourceMemories(options) {
147
124
  const storage = new StorageManager(options.memoryDir);
148
125
  const [hotMemories, coldMemories] = await Promise.all([
149
126
  storage.readAllMemories({ abortSignal: options.abortSignal }),
150
- storage.readAllColdMemories()
127
+ storage.readAllColdMemories({ abortSignal: options.abortSignal })
151
128
  ]);
152
129
  for (const memory of [...hotMemories, ...coldMemories]) {
153
130
  throwIfAborted(options.abortSignal, "harmonic retrieval aborted");
@@ -439,4 +416,4 @@ export {
439
416
  readProjectedHarmonicGraph,
440
417
  searchHarmonicRetrieval
441
418
  };
442
- //# sourceMappingURL=chunk-V4ACBX3C.js.map
419
+ //# sourceMappingURL=chunk-OC6JYPZX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/harmonic-retrieval.ts"],"sourcesContent":["import path from \"node:path\";\nimport { realpath } from \"node:fs/promises\";\nimport { listJsonFilesStrict, readJsonFile } from \"./json-store.js\";\nimport { throwIfAborted } from \"./abort-error.js\";\nimport { inferMemoryStatus, toMemoryPathRel } from \"./memory-lifecycle-ledger-utils.js\";\n import {\n HARMONIC_SOURCE_MEMORY_INSERTED_AT_KEY,\n resolveAbstractionNodeStoreDir,\n validateAbstractionNode,\n type AbstractionNode,\n } from \"./abstraction-nodes.js\";\nimport { resolveCueAnchorStoreDir, validateCueAnchor, type CueAnchor, type CueAnchorType } from \"./cue-anchors.js\";\nimport { compareDeterministicStrings } from \"./deterministic-order.js\";\nimport { countRecallTokenOverlap, normalizeRecallTokens } from \"./recall-tokenization.js\";\nimport { stripAttributesSuffix } from \"./structured-attributes.js\";\nimport { isValidityExpiredNow } from \"./temporal-validity.js\";\nimport { assertSafePathSegment, isRecord } from \"./store-contract.js\";\nimport { isSupportPassportPrivateMemory } from \"./support-passport/card-projection.js\";\nimport type { MemoryFile } from \"./types.js\";\nimport { readProjectedMemoryStates } from \"./memory-projection-batch.js\";\nimport { SecureStoreLockedError } from \"./secure-store/secure-fs.js\";\nimport { StorageManager } from \"./storage.js\";\nimport { RECALL_FALLBACK_DIRS } from \"./utils/category-dir.js\";\nimport { readHarmonicSourceMemory, readUnresolvedHarmonicSources } from \"./harmonic-source-lookup.js\";\n\n\ntype SourceMemoryMap = Map<string, MemoryFile>;\n\n\n// An index older than this is treated as unusable: the date window needed to\n// cover \"created since the last rebuild\" would stop being cheap.\nconst INDEX_MAX_AGE_MS = 7 * 86_400_000;\nconst DAY_MS = 86_400_000;\n\nfunction utcDaysSince(rebuiltMs: number, nowMs: number): string[] {\n const days: string[] = [];\n for (let day = Math.floor((rebuiltMs - DAY_MS) / DAY_MS) * DAY_MS; day <= nowMs; day += DAY_MS) {\n days.push(new Date(day).toISOString().slice(0, 10));\n }\n return days;\n}\n\n\n// Memories the projection has no row for were written after its last rebuild, so\n// their dated directory is normally one of `days`. Hot and cold tiers are probed\n// by exact path. Only recall-corpus categories are probed: `questions/` is a queue\n// and `artifacts/` is outside the recall surface, so neither can be a source.\nfunction unprojectedCandidatePaths(memoryDir: string, id: string, days: string[]): string[] {\n const paths: string[] = [];\n for (const root of [memoryDir, path.join(memoryDir, \"cold\")]) {\n for (const dir of RECALL_FALLBACK_DIRS) {\n paths.push(path.join(root, dir, `${id}.md`));\n for (const day of days) paths.push(path.join(root, dir, day, `${id}.md`));\n }\n }\n return paths;\n}\n\n/** Resolve indexed sources first, then use the durable unresolved-id path cache. */\nasync function readIndexedSourceMemories(options: {\n memoryDir: string;\n abortSignal?: AbortSignal;\n sourceMemoryIds: string[];\n nowMs: number;\n}): Promise<SourceMemoryMap | null> {\n // The ids go to SQL as bound parameters, so any id the projection holds is safe to look up.\n const batch = readProjectedMemoryStates(options.memoryDir, options.sourceMemoryIds);\n const rebuiltMs = Date.parse(batch?.rebuiltAt ?? \"\");\n if (!batch?.complete || !batch.rebuiltAt || !Number.isFinite(rebuiltMs) || options.nowMs - rebuiltMs > INDEX_MAX_AGE_MS) return null;\n const rootReal = await realpath(options.memoryDir).catch(() => null);\n if (rootReal === null) return null;\n\n const storage = new StorageManager(options.memoryDir);\n const days = utcDaysSince(rebuiltMs, options.nowMs);\n const sourceMemories: SourceMemoryMap = new Map();\n const pending: string[] = [];\n for (const id of options.sourceMemoryIds) {\n const state = batch.states.get(id);\n // An id is only ever joined into a path when it is a single safe segment.\n let safeId = true;\n try {\n assertSafePathSegment(id, \"sourceMemoryId\");\n } catch {\n safeId = false;\n }\n // state.path was containment-checked by the projection reader.\n const candidates = state\n ? [state.path, path.join(options.memoryDir, \"cold\", state.pathRel)]\n : safeId ? unprojectedCandidatePaths(options.memoryDir, id, days) : [];\n let found = false;\n for (const candidate of candidates) {\n const memory = await readHarmonicSourceMemory(storage, rootReal, candidate, options.abortSignal);\n if (memory?.frontmatter.id !== id) continue;\n sourceMemories.set(id, memory);\n found = true;\n break;\n }\n if (!found) pending.push(id);\n }\n if (pending.length === 0) return sourceMemories;\n\n const unresolved = await readUnresolvedHarmonicSources({\n storage, rootReal, rebuiltAt: batch.rebuiltAt, sourceMemoryIds: pending,\n nowMs: options.nowMs, abortSignal: options.abortSignal,\n });\n for (const [id, memory] of unresolved) sourceMemories.set(id, memory);\n return sourceMemories;\n}\n\nasync function readCorpusSourceMemories(options: {\n memoryDir: string;\n abortSignal?: AbortSignal;\n}): Promise<SourceMemoryMap> {\n const sourceMemories: SourceMemoryMap = new Map();\n try {\n const storage = new StorageManager(options.memoryDir);\n const [hotMemories, coldMemories] = await Promise.all([\n storage.readAllMemories({ abortSignal: options.abortSignal }),\n storage.readAllColdMemories({ abortSignal: options.abortSignal }),\n ]);\n for (const memory of [...hotMemories, ...coldMemories]) {\n throwIfAborted(options.abortSignal, \"harmonic retrieval aborted\");\n sourceMemories.set(memory.frontmatter.id, memory);\n }\n } catch (err) {\n throwIfAborted(options.abortSignal, \"harmonic retrieval aborted\");\n if (err instanceof SecureStoreLockedError) return new Map();\n // Source validation fails closed when the authorized memory directory is\n // unreadable. Source-less nodes remain eligible for retrieval.\n sourceMemories.clear();\n }\n return sourceMemories;\n}\n\nasync function readSourceMemories(options: {\n memoryDir: string;\n abortSignal?: AbortSignal;\n sourceMemoryIds: string[];\n nowMs?: number;\n}): Promise<SourceMemoryMap> {\n try {\n const indexed = await readIndexedSourceMemories({\n memoryDir: options.memoryDir,\n abortSignal: options.abortSignal,\n sourceMemoryIds: options.sourceMemoryIds,\n nowMs: options.nowMs ?? Date.now(),\n });\n if (indexed) return indexed;\n } catch (err) {\n throwIfAborted(options.abortSignal, \"harmonic retrieval aborted\");\n if (err instanceof SecureStoreLockedError) return new Map();\n }\n return readCorpusSourceMemories(options);\n}\n\nfunction parseSourceMemoryInsertedAt(node: AbstractionNode): Map<string, string> {\n const insertedAtById = new Map<string, string>();\n const insertedAtRaw = node.metadata?.[HARMONIC_SOURCE_MEMORY_INSERTED_AT_KEY];\n if (!insertedAtRaw) return insertedAtById;\n try {\n const parsed = JSON.parse(insertedAtRaw) as unknown;\n if (!isRecord(parsed)) return insertedAtById;\n for (const [memoryId, value] of Object.entries(parsed)) {\n if (typeof value === \"string\") insertedAtById.set(memoryId, value);\n }\n } catch {\n // Malformed insertion metadata leaves ordering on the recordedAt fallback.\n }\n return insertedAtById;\n}\n\nfunction projectSourceBackedNode(\n node: AbstractionNode,\n sourceMemories: SourceMemoryMap,\n memoryDir: string,\n temporalExpiredInInjection: boolean,\n nowMs: number\n): AbstractionNode | null {\n const sourceMemoryIds = node.sourceMemoryIds ?? [];\n if (sourceMemoryIds.length === 0) return node;\n\n const activeSourceMemoryIds = sourceMemoryIds.filter((memoryId) => {\n const memory = sourceMemories.get(memoryId);\n return (\n memory !== undefined &&\n // #2332: a private support-passport record leaves the eligible set the\n // same way a rejected one does — a node title or anchor attribution\n // rebuilt from it would leak governed metadata into the deep-recall\n // frontier (and every other graph reader) before any content check runs.\n !isSupportPassportPrivateMemory(memory) &&\n inferMemoryStatus(memory.frontmatter, toMemoryPathRel(memoryDir, memory.path)) === \"active\" &&\n (temporalExpiredInInjection || !isValidityExpiredNow(memory.frontmatter, nowMs))\n );\n });\n if (activeSourceMemoryIds.length === 0) return null;\n\n // Newest-first source order keeps the projected title and summary on the most\n // recently inserted facts. Equal or missing timestamps fall back to ascending\n // id order, which matches the stored sourceMemoryIds order.\n const insertedAtById = parseSourceMemoryInsertedAt(node);\n const insertedAtMs = (memoryId: string): number => {\n const parsedMs = Date.parse(insertedAtById.get(memoryId) ?? \"\");\n return Number.isFinite(parsedMs) ? parsedMs : Date.parse(node.recordedAt);\n };\n activeSourceMemoryIds.sort(\n (left, right) =>\n insertedAtMs(right) - insertedAtMs(left) || compareDeterministicStrings(left, right)\n );\n\n const activeMemories = activeSourceMemoryIds.flatMap((memoryId) => {\n const memory = sourceMemories.get(memoryId);\n return memory ? [memory] : [];\n });\n const activeContents = activeMemories.map((memory) =>\n memory.frontmatter.structuredAttributes ? stripAttributesSuffix(memory.content) : memory.content\n );\n let metadata: Record<string, string> | undefined;\n const activeInsertedAt = activeSourceMemoryIds.flatMap((memoryId) => {\n const value = insertedAtById.get(memoryId);\n return typeof value === \"string\" ? [[memoryId, value] as const] : [];\n });\n if (activeInsertedAt.length > 0) {\n metadata = {\n [HARMONIC_SOURCE_MEMORY_INSERTED_AT_KEY]: JSON.stringify(Object.fromEntries(activeInsertedAt)),\n };\n }\n\n return {\n ...node,\n sourceMemoryIds: activeSourceMemoryIds,\n title: activeContents[0]?.slice(0, 80) ?? node.title,\n summary: activeContents.slice(0, 3).join(\"; \").slice(0, 400),\n tags: [...new Set(activeMemories.flatMap((memory) => memory.frontmatter.tags))].sort(compareDeterministicStrings),\n entityRefs: [\n ...new Set(\n activeMemories.flatMap((memory) =>\n typeof memory.frontmatter.entityRef === \"string\" ? [memory.frontmatter.entityRef] : []\n )\n ),\n ].sort(compareDeterministicStrings),\n metadata,\n };\n}\n\nfunction anchorMatchesProjectedNode(\n anchor: CueAnchor,\n nodeRef: string,\n node: AbstractionNode,\n allowLegacyAttribution: boolean\n): boolean {\n const activeSourceMemoryIds = node.sourceMemoryIds ?? [];\n if (activeSourceMemoryIds.length === 0) return true;\n if (!anchor.sourceMemoryIdsByNodeRef) return allowLegacyAttribution;\n const anchorSourceMemoryIds = anchor.sourceMemoryIdsByNodeRef[nodeRef] ?? [];\n return anchorSourceMemoryIds.some((sourceMemoryId) => activeSourceMemoryIds.includes(sourceMemoryId));\n}\n\nexport interface HarmonicMatchedAnchor {\n anchorId: string;\n anchorType: CueAnchorType;\n anchorValue: string;\n}\n\nexport interface HarmonicRetrievalResult {\n node: AbstractionNode;\n score: number;\n nodeScore: number;\n anchorScore: number;\n matchedFields: string[];\n matchedAnchors: HarmonicMatchedAnchor[];\n}\n\ninterface HarmonicCandidate {\n node: AbstractionNode;\n nodeScore: number;\n anchorScore: number;\n matchedFields: Set<string>;\n matchedAnchors: Map<string, HarmonicMatchedAnchor>;\n}\n\nfunction scoreNode(node: AbstractionNode, queryTokens: Set<string>): { score: number; matchedFields: string[] } {\n const matchedFields: string[] = [];\n let score = 0;\n\n const titleMatches = countRecallTokenOverlap(queryTokens, node.title);\n if (titleMatches > 0) {\n score += titleMatches * 3;\n matchedFields.push(\"title\");\n }\n\n const summaryMatches = countRecallTokenOverlap(queryTokens, node.summary);\n if (summaryMatches > 0) {\n score += summaryMatches * 3;\n matchedFields.push(\"summary\");\n }\n\n const tagMatches = countRecallTokenOverlap(queryTokens, node.tags?.join(\" \"));\n if (tagMatches > 0) {\n score += tagMatches * 2;\n matchedFields.push(\"tags\");\n }\n\n const entityMatches = countRecallTokenOverlap(queryTokens, node.entityRefs?.join(\" \"));\n if (entityMatches > 0) {\n score += entityMatches * 2;\n matchedFields.push(\"entityRefs\");\n }\n\n const kindMatches = countRecallTokenOverlap(queryTokens, `${node.kind} ${node.abstractionLevel}`);\n if (kindMatches > 0) {\n score += kindMatches;\n matchedFields.push(\"kind\");\n }\n\n return { score, matchedFields };\n}\n\nfunction scoreAnchor(\n anchor: CueAnchor,\n queryTokens: Set<string>,\n eligibleNodeTags: readonly string[]\n): { score: number; matchedFields: string[] } {\n const matchedFields: string[] = [];\n let score = 0;\n\n const valueMatches = countRecallTokenOverlap(queryTokens, anchor.anchorValue);\n const normalizedMatches = countRecallTokenOverlap(queryTokens, anchor.normalizedCue);\n const cueMatches = Math.max(valueMatches, normalizedMatches);\n if (cueMatches > 0) {\n score += cueMatches * 4;\n if (valueMatches > 0) matchedFields.push(\"anchorValue\");\n if (normalizedMatches > 0) matchedFields.push(\"anchor\");\n }\n\n const typeMatches = countRecallTokenOverlap(queryTokens, anchor.anchorType);\n if (typeMatches > 0) {\n score += typeMatches;\n matchedFields.push(\"anchorType\");\n }\n\n const tagMatches = countRecallTokenOverlap(queryTokens, eligibleNodeTags.join(\" \"));\n if (tagMatches > 0) {\n score += tagMatches * 2;\n matchedFields.push(\"anchorTags\");\n }\n\n return { score, matchedFields };\n}\n\nexport async function readAbstractionNodes(options: {\n memoryDir: string;\n abstractionNodeStoreDir?: string;\n}): Promise<AbstractionNode[]> {\n const rootDir = resolveAbstractionNodeStoreDir(options.memoryDir, options.abstractionNodeStoreDir);\n const files = await listJsonFilesStrict(path.join(rootDir, \"nodes\"), { allowMissingDirectory: true });\n const nodes: AbstractionNode[] = [];\n for (const filePath of files) {\n try {\n nodes.push(validateAbstractionNode(await readJsonFile(filePath)));\n } catch {\n // fail-open: invalid artifacts stay visible via status tooling instead of recall\n }\n }\n return nodes;\n}\n\nexport async function readCueAnchors(options: {\n memoryDir: string;\n abstractionNodeStoreDir?: string;\n}): Promise<CueAnchor[]> {\n const abstractionRoot = resolveAbstractionNodeStoreDir(options.memoryDir, options.abstractionNodeStoreDir);\n const rootDir = resolveCueAnchorStoreDir(abstractionRoot);\n const files = await listJsonFilesStrict(rootDir, { allowMissingDirectory: true });\n const anchors: CueAnchor[] = [];\n for (const filePath of files) {\n try {\n anchors.push(validateCueAnchor(await readJsonFile(filePath)));\n } catch {\n // fail-open: invalid artifacts stay visible via status tooling instead of recall\n }\n }\n return anchors;\n}\n\nexport interface ProjectedHarmonicGraph {\n nodes: AbstractionNode[];\n anchors: CueAnchor[];\n}\n\n/**\n * Read nodes + anchors and project BOTH against the namespace's current active\n * memories. This is the single projection every graph reader shares: a raw\n * `readAbstractionNodes` / `readCueAnchors` pair still carries the stored title,\n * summary, tags, and anchor attribution of a memory that was later rejected,\n * quarantined, or otherwise moved out of the active set, so a second reader\n * that skipped the projection could leak governed metadata even when the\n * memory itself is excluded from the final results.\n *\n * - A node whose every source memory left the active set is dropped.\n * - A surviving node's title/summary/tags/entityRefs are rebuilt from its\n * active sources only.\n * - An anchor keeps a node reference only while its attribution runs through\n * one of that node's surviving active sources, and is dropped once no\n * reference survives.\n */\nexport async function readProjectedHarmonicGraph(options: {\n memoryDir: string;\n abstractionNodeStoreDir?: string;\n anchorsEnabled: boolean;\n abortSignal?: AbortSignal;\n temporalExpiredInInjection?: boolean;\n nowMs?: number;\n}): Promise<ProjectedHarmonicGraph> {\n throwIfAborted(options.abortSignal, \"harmonic retrieval aborted\");\n const nodes = await readAbstractionNodes(options);\n const sourceMemoryIds = [...new Set(nodes.flatMap((node) => node.sourceMemoryIds ?? []))];\n const sourceMemories: SourceMemoryMap = sourceMemoryIds.length > 0\n ? await readSourceMemories({\n memoryDir: options.memoryDir,\n abortSignal: options.abortSignal,\n sourceMemoryIds,\n nowMs: options.nowMs,\n })\n : new Map();\n const nowMs = options.nowMs ?? Date.now();\n // A node whose full stored source set survived projection keeps legacy\n // anchor attribution (an anchor written before per-node source ids existed).\n const legacyCompatibleNodeRefs = new Set<string>();\n const projectedNodes = nodes.flatMap((node) => {\n const projected = projectSourceBackedNode(\n node,\n sourceMemories,\n options.memoryDir,\n options.temporalExpiredInInjection === true,\n nowMs\n );\n if (\n projected &&\n (node.sourceMemoryIds?.length ?? 0) > 0 &&\n projected.sourceMemoryIds?.length === node.sourceMemoryIds?.length\n ) {\n legacyCompatibleNodeRefs.add(node.nodeId);\n }\n return projected ? [projected] : [];\n });\n if (!options.anchorsEnabled) return { nodes: projectedNodes, anchors: [] };\n throwIfAborted(options.abortSignal, \"harmonic retrieval aborted\");\n const nodeIndex = new Map(projectedNodes.map((node) => [node.nodeId, node]));\n const anchors = (await readCueAnchors(options)).flatMap((anchor) => {\n throwIfAborted(options.abortSignal, \"harmonic retrieval aborted\");\n const nodeRefs = anchor.nodeRefs.filter((nodeRef) => {\n const node = nodeIndex.get(nodeRef);\n return (\n node !== undefined &&\n anchorMatchesProjectedNode(anchor, nodeRef, node, legacyCompatibleNodeRefs.has(nodeRef))\n );\n });\n return nodeRefs.length > 0 ? [{ ...anchor, nodeRefs }] : [];\n });\n return { nodes: projectedNodes, anchors };\n}\n\nexport async function searchHarmonicRetrieval(options: {\n memoryDir: string;\n abstractionNodeStoreDir?: string;\n query: string;\n maxResults: number;\n sessionKey?: string;\n anchorsEnabled: boolean;\n abortSignal?: AbortSignal;\n temporalExpiredInInjection?: boolean;\n}): Promise<HarmonicRetrievalResult[]> {\n throwIfAborted(options.abortSignal, \"harmonic retrieval aborted\");\n const queryTokens = new Set(normalizeRecallTokens(options.query, [\"what\", \"which\"]));\n if (queryTokens.size === 0 || options.maxResults <= 0) return [];\n\n // One projection for every graph reader: nodes and anchors both arrive\n // already narrowed to the namespace's current active memories.\n const { nodes: eligibleNodes, anchors } = await readProjectedHarmonicGraph(options);\n const candidates = new Map<string, HarmonicCandidate>();\n\n for (const node of eligibleNodes) {\n throwIfAborted(options.abortSignal, \"harmonic retrieval aborted\");\n const { score, matchedFields } = scoreNode(node, queryTokens);\n if (score <= 0) continue;\n candidates.set(node.nodeId, {\n node,\n nodeScore: score,\n anchorScore: 0,\n matchedFields: new Set(matchedFields),\n matchedAnchors: new Map(),\n });\n }\n\n if (options.anchorsEnabled) {\n throwIfAborted(options.abortSignal, \"harmonic retrieval aborted\");\n const nodeIndex = new Map(eligibleNodes.map((node) => [node.nodeId, node]));\n for (const anchor of anchors) {\n throwIfAborted(options.abortSignal, \"harmonic retrieval aborted\");\n // `nodeRefs` are the projection's surviving references already.\n const eligibleNodeRefs = anchor.nodeRefs;\n const eligibleNodeTags = new Set(eligibleNodeRefs.flatMap((nodeRef) => nodeIndex.get(nodeRef)?.tags ?? []));\n const eligibleAnchorTags = anchor.tags?.filter((tag) => eligibleNodeTags.has(tag)) ?? [];\n const { score, matchedFields } = scoreAnchor(anchor, queryTokens, eligibleAnchorTags);\n if (score <= 0) continue;\n for (const nodeRef of eligibleNodeRefs) {\n const node = nodeIndex.get(nodeRef);\n if (!node) continue;\n const existing = candidates.get(nodeRef) ?? {\n node,\n nodeScore: 0,\n anchorScore: 0,\n matchedFields: new Set<string>(),\n matchedAnchors: new Map<string, HarmonicMatchedAnchor>(),\n };\n existing.anchorScore += score;\n existing.matchedFields.add(\"anchor\");\n for (const field of matchedFields) existing.matchedFields.add(field);\n existing.matchedAnchors.set(anchor.anchorId, {\n anchorId: anchor.anchorId,\n anchorType: anchor.anchorType,\n anchorValue: anchor.anchorValue,\n });\n candidates.set(nodeRef, existing);\n }\n }\n }\n\n return [...candidates.values()]\n .map((candidate) => {\n let score = candidate.nodeScore + candidate.anchorScore;\n if (options.sessionKey && candidate.node.sessionKey === options.sessionKey) score += 0.5;\n return {\n node: candidate.node,\n score,\n nodeScore: candidate.nodeScore,\n anchorScore: candidate.anchorScore,\n matchedFields: [...candidate.matchedFields].sort(),\n matchedAnchors: [...candidate.matchedAnchors.values()].sort(\n (left, right) =>\n left.anchorType.localeCompare(right.anchorType) || left.anchorValue.localeCompare(right.anchorValue)\n ),\n };\n })\n .filter((result) => result.nodeScore > 0 || result.anchorScore > 0)\n .sort(\n (left, right) =>\n right.score - left.score ||\n right.anchorScore - left.anchorScore ||\n right.node.recordedAt.localeCompare(left.node.recordedAt)\n )\n .slice(0, options.maxResults);\n}\n"],"mappings":"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","names":[]}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  canonicalCategoryForAlias,
3
3
  categoryAliasCoercion
4
- } from "./chunk-ZBDTSFRA.js";
4
+ } from "./chunk-CBP4HWCL.js";
5
5
 
6
6
  // src/access-observe-write-category.ts
7
7
  function splitCanonicalWriteRequest(request) {
@@ -22,4 +22,4 @@ function splitCanonicalWriteRequest(request) {
22
22
  export {
23
23
  splitCanonicalWriteRequest
24
24
  };
25
- //# sourceMappingURL=chunk-645A37SC.js.map
25
+ //# sourceMappingURL=chunk-P2S6P7X6.js.map
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-TBBDFYXW.js";
11
11
  import {
12
12
  parseQmdExplain
13
- } from "./chunk-JALYQUYO.js";
13
+ } from "./chunk-DGRMWDQY.js";
14
14
  import {
15
15
  parseFlexibleIsoTimestamp
16
16
  } from "./chunk-P7FMDTKL.js";
@@ -645,4 +645,4 @@ export {
645
645
  appendMemoryToGraphContext,
646
646
  resolvePersistedMemoryRelativePath
647
647
  };
648
- //# sourceMappingURL=chunk-PXTZOU5F.js.map
648
+ //# sourceMappingURL=chunk-PBVNVKYN.js.map