@remnic/core 10.0.1 → 10.0.3

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 (261) 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-citation-namespace.js +2 -2
  5. package/dist/access-cli.js +89 -88
  6. package/dist/access-cli.js.map +1 -1
  7. package/dist/access-extraction-force-flush.js +40 -39
  8. package/dist/access-http-briefing.js +41 -40
  9. package/dist/access-http-query.js +42 -41
  10. package/dist/access-http.js +58 -57
  11. package/dist/access-identity-continuity-surface.js +40 -39
  12. package/dist/access-lcm-surface.js +40 -39
  13. package/dist/access-mcp.js +49 -48
  14. package/dist/access-namespace-preflight.js +40 -39
  15. package/dist/access-observe-write-category.js +9 -9
  16. package/dist/access-observe-write-surface.js +40 -39
  17. package/dist/access-offline-manifest.js +6 -6
  18. package/dist/access-operations-batch.js +41 -40
  19. package/dist/access-operations.js +48 -47
  20. package/dist/access-recall-concurrency.js +40 -39
  21. package/dist/access-recall-response.js +40 -39
  22. package/dist/access-recall-surface.js +40 -39
  23. package/dist/access-schema.js +8 -8
  24. package/dist/access-service.js +40 -39
  25. package/dist/access-surface-catalog.js +42 -41
  26. package/dist/access-surface-catalog.js.map +1 -1
  27. package/dist/active-recall.js +12 -12
  28. package/dist/briefing.js +8 -8
  29. package/dist/causal-consolidation.js +9 -9
  30. package/dist/{chunk-A7V7GZ7F.js → chunk-2DHJTJIY.js} +2 -2
  31. package/dist/{chunk-MJ737UIA.js → chunk-2NV7MMMM.js} +2 -2
  32. package/dist/{chunk-34TSXVQS.js → chunk-2QZFZNXO.js} +2 -2
  33. package/dist/{chunk-TVPDF6CZ.js → chunk-44PBRUXB.js} +2 -2
  34. package/dist/{chunk-YX5F4V7H.js → chunk-4DDIWRT7.js} +2 -2
  35. package/dist/{chunk-EPFNPPWH.js → chunk-4NRZ7BRS.js} +2 -2
  36. package/dist/{chunk-VSPBXHGR.js → chunk-5QXMESS7.js} +2 -2
  37. package/dist/{chunk-S4DDLTPX.js → chunk-5Y43VGYB.js} +2 -2
  38. package/dist/{chunk-VXCTQ3B3.js → chunk-6AA7XFMO.js} +2 -2
  39. package/dist/{chunk-LI3OM3NP.js → chunk-6GU3TNJJ.js} +5 -5
  40. package/dist/{chunk-HPEONBM3.js → chunk-6JIHC5AS.js} +4 -4
  41. package/dist/chunk-6JIHC5AS.js.map +1 -0
  42. package/dist/{chunk-B2UCJX76.js → chunk-7KICGR5W.js} +2 -2
  43. package/dist/chunk-7PZHH4KC.js +63 -0
  44. package/dist/chunk-7PZHH4KC.js.map +1 -0
  45. package/dist/{chunk-UT7WE7RM.js → chunk-AUWMKDKL.js} +2 -2
  46. package/dist/{chunk-U6VC6RP3.js → chunk-AWLQNLTM.js} +2 -2
  47. package/dist/{chunk-PJSK6OJM.js → chunk-BANSBRNX.js} +2 -2
  48. package/dist/{chunk-2TCNEJ36.js → chunk-BNMI3JBV.js} +3 -3
  49. package/dist/{chunk-LTDWZ2HC.js → chunk-CFCEJNOE.js} +2 -2
  50. package/dist/{chunk-R6NHHKXE.js → chunk-CGOKNQDK.js} +2 -2
  51. package/dist/{chunk-HNU5CZ7E.js → chunk-CHI37EHP.js} +6 -6
  52. package/dist/{chunk-SFDKLEIY.js → chunk-CSLK7BN6.js} +2 -2
  53. package/dist/{chunk-6O2VUWV6.js → chunk-EIFYYHAF.js} +2 -2
  54. package/dist/{chunk-7AUC2YSU.js → chunk-GBA4N2SG.js} +16 -16
  55. package/dist/{chunk-V3NKVYUD.js → chunk-GUD6FYQG.js} +2 -2
  56. package/dist/{chunk-YY5FM5M7.js → chunk-HO7IQP7G.js} +3 -3
  57. package/dist/{chunk-EUYNHJTK.js → chunk-HP4CU2ZA.js} +2 -2
  58. package/dist/{chunk-GS6LTJFW.js → chunk-HRZZJ4XB.js} +2 -2
  59. package/dist/{chunk-KM2HQZR3.js → chunk-I2KEH2LS.js} +2 -2
  60. package/dist/{chunk-GYLDYYRA.js → chunk-I6WFBNA4.js} +4 -4
  61. package/dist/{chunk-S3BB34NI.js → chunk-IHCYCE6D.js} +3 -3
  62. package/dist/{chunk-PXDEIJL5.js → chunk-IXYIW3MZ.js} +2 -2
  63. package/dist/{chunk-BOT276JC.js → chunk-JSUA4YFE.js} +2 -2
  64. package/dist/{chunk-7LCGFUMB.js → chunk-KQAFEZQX.js} +4 -4
  65. package/dist/{chunk-WWUFQ3AG.js → chunk-KRTIHXWC.js} +2 -2
  66. package/dist/{chunk-VH76UQK3.js → chunk-KW77LGDX.js} +2 -2
  67. package/dist/{chunk-DX3ZODO3.js → chunk-L6DJJEFW.js} +2 -2
  68. package/dist/{chunk-FF4KLI5W.js → chunk-LDPPTPO5.js} +8 -1
  69. package/dist/chunk-LDPPTPO5.js.map +1 -0
  70. package/dist/{chunk-CRZ7BU6R.js → chunk-LMMC55WM.js} +2 -2
  71. package/dist/{chunk-3I375S4J.js → chunk-ME2LMFHF.js} +42 -42
  72. package/dist/{chunk-DHQUQ34W.js → chunk-MYYHACOW.js} +2 -2
  73. package/dist/{chunk-BKPV47BK.js → chunk-NGOZH7R5.js} +27 -27
  74. package/dist/{chunk-DPX3J2N4.js → chunk-NLDMTXWV.js} +2 -2
  75. package/dist/{chunk-U46P4UAR.js → chunk-NQHSXHJP.js} +4 -4
  76. package/dist/{chunk-FB6FQT4P.js → chunk-NXVD46HT.js} +2 -2
  77. package/dist/{chunk-QPG72IPU.js → chunk-O24EWFPQ.js} +3 -3
  78. package/dist/{chunk-DDPPV3KA.js → chunk-O6AYMAPJ.js} +2 -2
  79. package/dist/{chunk-JLUS56YZ.js → chunk-OV7EYM6M.js} +2 -2
  80. package/dist/{chunk-WIVBNNA3.js → chunk-OWHPA4JS.js} +2 -2
  81. package/dist/{chunk-3UP6NP4C.js → chunk-OZVHLBH6.js} +2 -2
  82. package/dist/{chunk-QHHWJVVW.js → chunk-PNFWIB4X.js} +2 -2
  83. package/dist/{chunk-AM4T6CHX.js → chunk-Q4E24IRR.js} +9 -8
  84. package/dist/chunk-Q4E24IRR.js.map +1 -0
  85. package/dist/{chunk-SBBZXDVJ.js → chunk-Q6GI7HEC.js} +2 -2
  86. package/dist/{chunk-TFA6HPOA.js → chunk-QCP75JGO.js} +5 -5
  87. package/dist/{chunk-OJP3N7UK.js → chunk-R7WYAXPO.js} +2 -2
  88. package/dist/{chunk-6DNMUYEE.js → chunk-RIEGCK2W.js} +2 -2
  89. package/dist/{chunk-BCTDTVSR.js → chunk-RKSGUMVL.js} +2 -2
  90. package/dist/{chunk-GZRTH3WZ.js → chunk-RXT6UB25.js} +127 -6
  91. package/dist/chunk-RXT6UB25.js.map +1 -0
  92. package/dist/{chunk-47I2EK6G.js → chunk-SIYZDT2V.js} +3 -3
  93. package/dist/{chunk-5R4YPRAR.js → chunk-TGF43K66.js} +18 -18
  94. package/dist/{chunk-UP3XXGEN.js → chunk-TNVZCLJU.js} +2 -2
  95. package/dist/{chunk-RGGXSN5A.js → chunk-U6HWKOGD.js} +2 -2
  96. package/dist/{chunk-RWZXVCGX.js → chunk-UK5EH7AI.js} +4 -4
  97. package/dist/{chunk-DYZHVVJM.js → chunk-UVVSOSHL.js} +36 -36
  98. package/dist/{chunk-NUSQ3YEL.js → chunk-UXIZ5XN5.js} +2 -2
  99. package/dist/{chunk-DB6XFMOF.js → chunk-VC4J4UTI.js} +5 -5
  100. package/dist/{chunk-FYX2LXIX.js → chunk-WI37MWRZ.js} +2 -2
  101. package/dist/{chunk-P5FPO2BR.js → chunk-WWDO7ZWM.js} +3 -3
  102. package/dist/{chunk-GZ2KV2RO.js → chunk-WWLAKRMX.js} +4 -4
  103. package/dist/{chunk-QJWZJ7HL.js → chunk-X6X4UASX.js} +7 -5
  104. package/dist/chunk-X6X4UASX.js.map +1 -0
  105. package/dist/{chunk-NVZRIHW5.js → chunk-Y2ADLCB3.js} +7 -7
  106. package/dist/{chunk-VKQI47DJ.js → chunk-Y7427SL7.js} +4 -4
  107. package/dist/{chunk-LQGX5TCI.js → chunk-YQSWNFZE.js} +2 -2
  108. package/dist/{chunk-7DB7KYSR.js → chunk-ZS7RK6H6.js} +4 -4
  109. package/dist/cli.js +75 -74
  110. package/dist/coding/export-okf-codegraph.js +7 -7
  111. package/dist/compounding/engine.js +8 -8
  112. package/dist/config.js +12 -12
  113. package/dist/connectors/codex-materialize-runner.js +8 -8
  114. package/dist/connectors/index.js +8 -8
  115. package/dist/convergence-refresh.js +10 -10
  116. package/dist/conversation-index/backend.js +2 -2
  117. package/dist/corpus-watermark.js +10 -10
  118. package/dist/deep-recall-http-glue.js +9 -9
  119. package/dist/entity-retrieval.js +8 -8
  120. package/dist/explicit-capture.js +3 -3
  121. package/dist/external-wiki-access.js +41 -40
  122. package/dist/extraction.js +8 -8
  123. package/dist/harmonic-retrieval.d.ts.map +1 -1
  124. package/dist/harmonic-retrieval.js +91 -1
  125. package/dist/index.js +94 -93
  126. package/dist/lcm/engine.js +2 -2
  127. package/dist/lcm/index.js +2 -2
  128. package/dist/location/index.js +10 -10
  129. package/dist/maintenance/memory-governance.js +8 -8
  130. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +8 -8
  131. package/dist/maintenance/rebuild-memory-projection.d.ts.map +1 -1
  132. package/dist/maintenance/rebuild-memory-projection.js +9 -9
  133. package/dist/memory-browse-operations.js +41 -40
  134. package/dist/memory-projection-batch.d.ts +20 -0
  135. package/dist/memory-projection-batch.d.ts.map +1 -0
  136. package/dist/memory-projection-batch.js +11 -0
  137. package/dist/memory-projection-batch.js.map +1 -0
  138. package/dist/namespaces/migrate.js +9 -9
  139. package/dist/namespaces/search.js +4 -4
  140. package/dist/namespaces/storage.js +8 -8
  141. package/dist/offline-sync-changeset-generations.js +3 -3
  142. package/dist/offline-sync-embedding-generation.js +2 -2
  143. package/dist/offline-sync-snapshot-stream.js +6 -6
  144. package/dist/offline-sync.js +5 -5
  145. package/dist/operator-doctor-corpus.js +11 -11
  146. package/dist/operator-toolkit.js +21 -21
  147. package/dist/orchestration/maintenance.js +16 -16
  148. package/dist/orchestrator.js +91 -90
  149. package/dist/recall-navigation-operations.js +41 -40
  150. package/dist/recall-navigation.js +40 -39
  151. package/dist/resume-bundles.js +15 -15
  152. package/dist/search/factory.js +3 -3
  153. package/dist/search/index.js +3 -3
  154. package/dist/semantic-consolidation.js +9 -9
  155. package/dist/semantic-rule-promotion.js +8 -8
  156. package/dist/semantic-rule-verifier.js +8 -8
  157. package/dist/session-identity.js +2 -2
  158. package/dist/session-transcript-migration.js +3 -3
  159. package/dist/source-agent-qualifier.js +8 -8
  160. package/dist/standup/build.js +8 -8
  161. package/dist/storage-paths.d.ts +11 -0
  162. package/dist/storage-paths.d.ts.map +1 -1
  163. package/dist/storage-paths.js +3 -1
  164. package/dist/storage.d.ts +1 -1
  165. package/dist/storage.d.ts.map +1 -1
  166. package/dist/storage.js +7 -7
  167. package/dist/summarizer.js +4 -4
  168. package/dist/summary-snapshot.js +2 -2
  169. package/dist/support-passport/index.js +43 -42
  170. package/dist/threading.js +2 -2
  171. package/dist/transcript.d.ts +3 -3
  172. package/dist/transcript.d.ts.map +1 -1
  173. package/dist/transcript.js +3 -3
  174. package/dist/transfer/capsule-export.js +2 -2
  175. package/dist/transfer/capsule-import.js +2 -2
  176. package/dist/transfer/export-okf.js +8 -8
  177. package/dist/verified-recall.js +8 -8
  178. package/dist/who-knows-cli.js +9 -9
  179. package/dist/who-knows.js +8 -8
  180. package/dist/write-quarantine.js +2 -2
  181. package/package.json +2 -2
  182. package/src/harmonic-retrieval-index.test.ts +387 -0
  183. package/src/harmonic-retrieval.ts +181 -15
  184. package/src/maintenance/rebuild-memory-projection.ts +3 -0
  185. package/src/memory-projection-batch.ts +82 -0
  186. package/src/storage-paths.ts +18 -0
  187. package/src/storage.ts +1 -1
  188. package/src/transcript-recent-unscoped.test.ts +139 -0
  189. package/src/transcript.ts +6 -6
  190. package/dist/chunk-AM4T6CHX.js.map +0 -1
  191. package/dist/chunk-FF4KLI5W.js.map +0 -1
  192. package/dist/chunk-GZRTH3WZ.js.map +0 -1
  193. package/dist/chunk-HPEONBM3.js.map +0 -1
  194. package/dist/chunk-QJWZJ7HL.js.map +0 -1
  195. /package/dist/{chunk-A7V7GZ7F.js.map → chunk-2DHJTJIY.js.map} +0 -0
  196. /package/dist/{chunk-MJ737UIA.js.map → chunk-2NV7MMMM.js.map} +0 -0
  197. /package/dist/{chunk-34TSXVQS.js.map → chunk-2QZFZNXO.js.map} +0 -0
  198. /package/dist/{chunk-TVPDF6CZ.js.map → chunk-44PBRUXB.js.map} +0 -0
  199. /package/dist/{chunk-YX5F4V7H.js.map → chunk-4DDIWRT7.js.map} +0 -0
  200. /package/dist/{chunk-EPFNPPWH.js.map → chunk-4NRZ7BRS.js.map} +0 -0
  201. /package/dist/{chunk-VSPBXHGR.js.map → chunk-5QXMESS7.js.map} +0 -0
  202. /package/dist/{chunk-S4DDLTPX.js.map → chunk-5Y43VGYB.js.map} +0 -0
  203. /package/dist/{chunk-VXCTQ3B3.js.map → chunk-6AA7XFMO.js.map} +0 -0
  204. /package/dist/{chunk-LI3OM3NP.js.map → chunk-6GU3TNJJ.js.map} +0 -0
  205. /package/dist/{chunk-B2UCJX76.js.map → chunk-7KICGR5W.js.map} +0 -0
  206. /package/dist/{chunk-UT7WE7RM.js.map → chunk-AUWMKDKL.js.map} +0 -0
  207. /package/dist/{chunk-U6VC6RP3.js.map → chunk-AWLQNLTM.js.map} +0 -0
  208. /package/dist/{chunk-PJSK6OJM.js.map → chunk-BANSBRNX.js.map} +0 -0
  209. /package/dist/{chunk-2TCNEJ36.js.map → chunk-BNMI3JBV.js.map} +0 -0
  210. /package/dist/{chunk-LTDWZ2HC.js.map → chunk-CFCEJNOE.js.map} +0 -0
  211. /package/dist/{chunk-R6NHHKXE.js.map → chunk-CGOKNQDK.js.map} +0 -0
  212. /package/dist/{chunk-HNU5CZ7E.js.map → chunk-CHI37EHP.js.map} +0 -0
  213. /package/dist/{chunk-SFDKLEIY.js.map → chunk-CSLK7BN6.js.map} +0 -0
  214. /package/dist/{chunk-6O2VUWV6.js.map → chunk-EIFYYHAF.js.map} +0 -0
  215. /package/dist/{chunk-7AUC2YSU.js.map → chunk-GBA4N2SG.js.map} +0 -0
  216. /package/dist/{chunk-V3NKVYUD.js.map → chunk-GUD6FYQG.js.map} +0 -0
  217. /package/dist/{chunk-YY5FM5M7.js.map → chunk-HO7IQP7G.js.map} +0 -0
  218. /package/dist/{chunk-EUYNHJTK.js.map → chunk-HP4CU2ZA.js.map} +0 -0
  219. /package/dist/{chunk-GS6LTJFW.js.map → chunk-HRZZJ4XB.js.map} +0 -0
  220. /package/dist/{chunk-KM2HQZR3.js.map → chunk-I2KEH2LS.js.map} +0 -0
  221. /package/dist/{chunk-GYLDYYRA.js.map → chunk-I6WFBNA4.js.map} +0 -0
  222. /package/dist/{chunk-S3BB34NI.js.map → chunk-IHCYCE6D.js.map} +0 -0
  223. /package/dist/{chunk-PXDEIJL5.js.map → chunk-IXYIW3MZ.js.map} +0 -0
  224. /package/dist/{chunk-BOT276JC.js.map → chunk-JSUA4YFE.js.map} +0 -0
  225. /package/dist/{chunk-7LCGFUMB.js.map → chunk-KQAFEZQX.js.map} +0 -0
  226. /package/dist/{chunk-WWUFQ3AG.js.map → chunk-KRTIHXWC.js.map} +0 -0
  227. /package/dist/{chunk-VH76UQK3.js.map → chunk-KW77LGDX.js.map} +0 -0
  228. /package/dist/{chunk-DX3ZODO3.js.map → chunk-L6DJJEFW.js.map} +0 -0
  229. /package/dist/{chunk-CRZ7BU6R.js.map → chunk-LMMC55WM.js.map} +0 -0
  230. /package/dist/{chunk-3I375S4J.js.map → chunk-ME2LMFHF.js.map} +0 -0
  231. /package/dist/{chunk-DHQUQ34W.js.map → chunk-MYYHACOW.js.map} +0 -0
  232. /package/dist/{chunk-BKPV47BK.js.map → chunk-NGOZH7R5.js.map} +0 -0
  233. /package/dist/{chunk-DPX3J2N4.js.map → chunk-NLDMTXWV.js.map} +0 -0
  234. /package/dist/{chunk-U46P4UAR.js.map → chunk-NQHSXHJP.js.map} +0 -0
  235. /package/dist/{chunk-FB6FQT4P.js.map → chunk-NXVD46HT.js.map} +0 -0
  236. /package/dist/{chunk-QPG72IPU.js.map → chunk-O24EWFPQ.js.map} +0 -0
  237. /package/dist/{chunk-DDPPV3KA.js.map → chunk-O6AYMAPJ.js.map} +0 -0
  238. /package/dist/{chunk-JLUS56YZ.js.map → chunk-OV7EYM6M.js.map} +0 -0
  239. /package/dist/{chunk-WIVBNNA3.js.map → chunk-OWHPA4JS.js.map} +0 -0
  240. /package/dist/{chunk-3UP6NP4C.js.map → chunk-OZVHLBH6.js.map} +0 -0
  241. /package/dist/{chunk-QHHWJVVW.js.map → chunk-PNFWIB4X.js.map} +0 -0
  242. /package/dist/{chunk-SBBZXDVJ.js.map → chunk-Q6GI7HEC.js.map} +0 -0
  243. /package/dist/{chunk-TFA6HPOA.js.map → chunk-QCP75JGO.js.map} +0 -0
  244. /package/dist/{chunk-OJP3N7UK.js.map → chunk-R7WYAXPO.js.map} +0 -0
  245. /package/dist/{chunk-6DNMUYEE.js.map → chunk-RIEGCK2W.js.map} +0 -0
  246. /package/dist/{chunk-BCTDTVSR.js.map → chunk-RKSGUMVL.js.map} +0 -0
  247. /package/dist/{chunk-47I2EK6G.js.map → chunk-SIYZDT2V.js.map} +0 -0
  248. /package/dist/{chunk-5R4YPRAR.js.map → chunk-TGF43K66.js.map} +0 -0
  249. /package/dist/{chunk-UP3XXGEN.js.map → chunk-TNVZCLJU.js.map} +0 -0
  250. /package/dist/{chunk-RGGXSN5A.js.map → chunk-U6HWKOGD.js.map} +0 -0
  251. /package/dist/{chunk-RWZXVCGX.js.map → chunk-UK5EH7AI.js.map} +0 -0
  252. /package/dist/{chunk-DYZHVVJM.js.map → chunk-UVVSOSHL.js.map} +0 -0
  253. /package/dist/{chunk-NUSQ3YEL.js.map → chunk-UXIZ5XN5.js.map} +0 -0
  254. /package/dist/{chunk-DB6XFMOF.js.map → chunk-VC4J4UTI.js.map} +0 -0
  255. /package/dist/{chunk-FYX2LXIX.js.map → chunk-WI37MWRZ.js.map} +0 -0
  256. /package/dist/{chunk-P5FPO2BR.js.map → chunk-WWDO7ZWM.js.map} +0 -0
  257. /package/dist/{chunk-GZ2KV2RO.js.map → chunk-WWLAKRMX.js.map} +0 -0
  258. /package/dist/{chunk-NVZRIHW5.js.map → chunk-Y2ADLCB3.js.map} +0 -0
  259. /package/dist/{chunk-VKQI47DJ.js.map → chunk-Y7427SL7.js.map} +0 -0
  260. /package/dist/{chunk-LQGX5TCI.js.map → chunk-YQSWNFZE.js.map} +0 -0
  261. /package/dist/{chunk-7DB7KYSR.js.map → chunk-ZS7RK6H6.js.map} +0 -0
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-B7RWBZXW.js";
4
4
  import {
5
5
  StorageManager
6
- } from "./chunk-HPEONBM3.js";
6
+ } from "./chunk-6JIHC5AS.js";
7
7
  import {
8
8
  getCachedEpisodeMap,
9
9
  setCachedEpisodeMap
@@ -109,4 +109,4 @@ export {
109
109
  compareVerifiedEpisodeResults,
110
110
  searchVerifiedEpisodes
111
111
  };
112
- //# sourceMappingURL=chunk-B2UCJX76.js.map
112
+ //# sourceMappingURL=chunk-7KICGR5W.js.map
@@ -0,0 +1,63 @@
1
+ import {
2
+ memoryCurrentSelectExpressions,
3
+ openProjectionReadonly,
4
+ parseCurrentRow
5
+ } from "./chunk-AL3UYZ5N.js";
6
+
7
+ // src/memory-projection-batch.ts
8
+ function readProjectedMemoryStates(memoryDir, memoryIds) {
9
+ const db = openProjectionReadonly(memoryDir);
10
+ if (!db) return null;
11
+ try {
12
+ const currentSelect = memoryCurrentSelectExpressions(db);
13
+ const select = db.prepare(
14
+ `
15
+ SELECT
16
+ memory_id,
17
+ category,
18
+ status,
19
+ lifecycle_state,
20
+ path_rel,
21
+ created_at,
22
+ updated_at,
23
+ archived_at,
24
+ superseded_at,
25
+ entity_ref,
26
+ source,
27
+ confidence,
28
+ confidence_tier,
29
+ memory_kind,
30
+ access_count,
31
+ last_accessed,
32
+ ${currentSelect.tagsJson},
33
+ ${currentSelect.previewText},
34
+ ${currentSelect.privateRecord}
35
+ FROM memory_current
36
+ WHERE memory_id = ?
37
+ `
38
+ );
39
+ const states = /* @__PURE__ */ new Map();
40
+ for (const memoryId of memoryIds) {
41
+ const state = parseCurrentRow(memoryDir, select.get(memoryId));
42
+ if (state) states.set(memoryId, state);
43
+ }
44
+ const meta = new Map(
45
+ db.prepare("SELECT key, value FROM meta WHERE key IN ('rebuiltAt', 'complete')").all().map((row) => [row.key, row.value])
46
+ );
47
+ const rebuiltAt = meta.get("rebuiltAt");
48
+ return {
49
+ states,
50
+ rebuiltAt: typeof rebuiltAt === "string" ? rebuiltAt : null,
51
+ complete: meta.get("complete") === "true"
52
+ };
53
+ } catch {
54
+ return null;
55
+ } finally {
56
+ db.close();
57
+ }
58
+ }
59
+
60
+ export {
61
+ readProjectedMemoryStates
62
+ };
63
+ //# sourceMappingURL=chunk-7PZHH4KC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/memory-projection-batch.ts"],"sourcesContent":["import type { MemoryProjectionCurrentState } from \"./types.js\";\nimport {\n memoryCurrentSelectExpressions,\n openProjectionReadonly,\n parseCurrentRow,\n} from \"./memory-projection-store.js\";\n\nexport interface ProjectedMemoryStateBatch {\n states: Map<string, MemoryProjectionCurrentState>;\n /** Meta `rebuiltAt`; null when the projection never recorded one. */\n rebuiltAt: string | null;\n /**\n * True only when the writer recorded that `memory_current` covers every active\n * memory (an unscoped rebuild). Projections written before this flag existed,\n * and scoped rebuilds, read as false.\n */\n complete: boolean;\n}\n\n/**\n * Read many current-state rows over ONE readonly connection, plus the meta the\n * recall path needs to decide whether the index can be trusted. Ids absent from\n * `memory_current` are simply missing from the map. Null means the projection\n * could not be opened or read.\n */\nexport function readProjectedMemoryStates(\n memoryDir: string,\n memoryIds: Iterable<string>,\n): ProjectedMemoryStateBatch | null {\n const db = openProjectionReadonly(memoryDir);\n if (!db) return null;\n try {\n const currentSelect = memoryCurrentSelectExpressions(db);\n const select = db.prepare(\n `\n SELECT\n memory_id,\n category,\n status,\n lifecycle_state,\n path_rel,\n created_at,\n updated_at,\n archived_at,\n superseded_at,\n entity_ref,\n source,\n confidence,\n confidence_tier,\n memory_kind,\n access_count,\n last_accessed,\n ${currentSelect.tagsJson},\n ${currentSelect.previewText},\n ${currentSelect.privateRecord}\n FROM memory_current\n WHERE memory_id = ?\n `,\n );\n const states = new Map<string, MemoryProjectionCurrentState>();\n for (const memoryId of memoryIds) {\n const state = parseCurrentRow(memoryDir, select.get(memoryId) as Record<string, unknown> | undefined);\n if (state) states.set(memoryId, state);\n }\n const meta = new Map<string, unknown>(\n (db.prepare(\"SELECT key, value FROM meta WHERE key IN ('rebuiltAt', 'complete')\").all() as Array<{\n key: string;\n value: unknown;\n }>).map((row) => [row.key, row.value]),\n );\n const rebuiltAt = meta.get(\"rebuiltAt\");\n return {\n states,\n rebuiltAt: typeof rebuiltAt === \"string\" ? rebuiltAt : null,\n complete: meta.get(\"complete\") === \"true\",\n };\n } catch {\n return null;\n } finally {\n db.close();\n }\n}\n"],"mappings":";;;;;;;AAyBO,SAAS,0BACd,WACA,WACkC;AAClC,QAAM,KAAK,uBAAuB,SAAS;AAC3C,MAAI,CAAC,GAAI,QAAO;AAChB,MAAI;AACF,UAAM,gBAAgB,+BAA+B,EAAE;AACvD,UAAM,SAAS,GAAG;AAAA,MAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAkBM,cAAc,QAAQ;AAAA,YACtB,cAAc,WAAW;AAAA,YACzB,cAAc,aAAa;AAAA;AAAA;AAAA;AAAA,IAInC;AACA,UAAM,SAAS,oBAAI,IAA0C;AAC7D,eAAW,YAAY,WAAW;AAChC,YAAM,QAAQ,gBAAgB,WAAW,OAAO,IAAI,QAAQ,CAAwC;AACpG,UAAI,MAAO,QAAO,IAAI,UAAU,KAAK;AAAA,IACvC;AACA,UAAM,OAAO,IAAI;AAAA,MACd,GAAG,QAAQ,oEAAoE,EAAE,IAAI,EAGlF,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,KAAK,CAAC;AAAA,IACvC;AACA,UAAM,YAAY,KAAK,IAAI,WAAW;AACtC,WAAO;AAAA,MACL;AAAA,MACA,WAAW,OAAO,cAAc,WAAW,YAAY;AAAA,MACvD,UAAU,KAAK,IAAI,UAAU,MAAM;AAAA,IACrC;AAAA,EACF,QAAQ;AACN,WAAO;AAAA,EACT,UAAE;AACA,OAAG,MAAM;AAAA,EACX;AACF;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  parseFrontmatter
3
- } from "./chunk-HPEONBM3.js";
3
+ } from "./chunk-6JIHC5AS.js";
4
4
  import {
5
5
  activityDigestPath,
6
6
  isValidActivityDate
@@ -199,4 +199,4 @@ export {
199
199
  buildStandup,
200
200
  standupHelp
201
201
  };
202
- //# sourceMappingURL=chunk-UT7WE7RM.js.map
202
+ //# sourceMappingURL=chunk-AUWMKDKL.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isPathInsideStorageRoot
3
- } from "./chunk-FF4KLI5W.js";
3
+ } from "./chunk-LDPPTPO5.js";
4
4
  import {
5
5
  SecureStoreLockedError
6
6
  } from "./chunk-MAAL6OZV.js";
@@ -45,4 +45,4 @@ async function decodeCitationNamespace(getStorage, authorizedNamespaces, memoryP
45
45
  export {
46
46
  decodeCitationNamespace
47
47
  };
48
- //# sourceMappingURL=chunk-U6VC6RP3.js.map
48
+ //# sourceMappingURL=chunk-AWLQNLTM.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  encodeStoragePathSegment,
3
3
  resolveSafeStoragePath
4
- } from "./chunk-FF4KLI5W.js";
4
+ } from "./chunk-LDPPTPO5.js";
5
5
 
6
6
  // src/write-quarantine.ts
7
7
  import { randomUUID } from "crypto";
@@ -198,4 +198,4 @@ export {
198
198
  DEFAULT_QUARANTINE_CAPS,
199
199
  WriteQuarantineStore
200
200
  };
201
- //# sourceMappingURL=chunk-PJSK6OJM.js.map
201
+ //# sourceMappingURL=chunk-BANSBRNX.js.map
@@ -2,11 +2,11 @@ import {
2
2
  OFFLINE_SYNC_SNAPSHOT_FORMAT,
3
3
  filterOfflineSyncDeletionRevisions,
4
4
  iterateOfflineSyncSnapshotFileRecords
5
- } from "./chunk-5R4YPRAR.js";
5
+ } from "./chunk-TGF43K66.js";
6
6
  import {
7
7
  computeOmittedEmbeddingGenerationPaths,
8
8
  embeddingGenerationMembership
9
- } from "./chunk-GZ2KV2RO.js";
9
+ } from "./chunk-WWLAKRMX.js";
10
10
  import {
11
11
  matchesOfflineSyncDefaultExclude
12
12
  } from "./chunk-63LFM77Z.js";
@@ -61,4 +61,4 @@ async function buildEmbeddingAwareSnapshotStream(options) {
61
61
  export {
62
62
  buildEmbeddingAwareSnapshotStream
63
63
  };
64
- //# sourceMappingURL=chunk-2TCNEJ36.js.map
64
+ //# sourceMappingURL=chunk-BNMI3JBV.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  StorageManager
3
- } from "./chunk-HPEONBM3.js";
3
+ } from "./chunk-6JIHC5AS.js";
4
4
  import {
5
5
  keyring_exports,
6
6
  secureStoreDir
@@ -412,4 +412,4 @@ export {
412
412
  resolveNamespaceStorageRoot,
413
413
  NamespaceStorageRouter
414
414
  };
415
- //# sourceMappingURL=chunk-LTDWZ2HC.js.map
415
+ //# sourceMappingURL=chunk-CFCEJNOE.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  listNamespaces
3
- } from "./chunk-QPG72IPU.js";
3
+ } from "./chunk-O24EWFPQ.js";
4
4
  import {
5
5
  capabilityAllowsNamespace
6
6
  } from "./chunk-IG747LRN.js";
@@ -282,4 +282,4 @@ export {
282
282
  computeServiceCorpusWatermarks,
283
283
  computeServiceCorpusCensus
284
284
  };
285
- //# sourceMappingURL=chunk-R6NHHKXE.js.map
285
+ //# sourceMappingURL=chunk-CGOKNQDK.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  buildStandup,
3
3
  parseStandupDate
4
- } from "./chunk-UT7WE7RM.js";
4
+ } from "./chunk-AUWMKDKL.js";
5
5
  import {
6
6
  backfillMemoryStorage,
7
7
  runLocationBackfill,
@@ -9,23 +9,23 @@ import {
9
9
  runLocationDay,
10
10
  runLocationStatus,
11
11
  runLocationSync
12
- } from "./chunk-S3BB34NI.js";
12
+ } from "./chunk-IHCYCE6D.js";
13
13
  import {
14
14
  externalWikiSearchOperation
15
- } from "./chunk-EPFNPPWH.js";
15
+ } from "./chunk-4NRZ7BRS.js";
16
16
  import {
17
17
  DECISION_SUBCOMMANDS,
18
18
  DELTA_SUBCOMMANDS,
19
19
  defineOperation,
20
20
  isCodegraphToolName
21
- } from "./chunk-BKPV47BK.js";
21
+ } from "./chunk-NGOZH7R5.js";
22
22
  import {
23
23
  CorrectionContractError
24
24
  } from "./chunk-QLK3SL7Q.js";
25
25
  import {
26
26
  memoryStoreRequestSchema,
27
27
  retainedCategoryAlias
28
- } from "./chunk-47I2EK6G.js";
28
+ } from "./chunk-SIYZDT2V.js";
29
29
  import {
30
30
  serializeMutations,
31
31
  withHeldFileLock
@@ -1914,4 +1914,4 @@ export {
1914
1914
  codegraphIngestTracesOperation,
1915
1915
  REGISTERED_OPERATIONS
1916
1916
  };
1917
- //# sourceMappingURL=chunk-HNU5CZ7E.js.map
1917
+ //# sourceMappingURL=chunk-CHI37EHP.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveCorpusNamespaceRoots
3
- } from "./chunk-R6NHHKXE.js";
3
+ } from "./chunk-CGOKNQDK.js";
4
4
  import {
5
5
  capabilityAllowsNamespace
6
6
  } from "./chunk-IG747LRN.js";
@@ -200,4 +200,4 @@ async function readAggregateExtractionWatermark(options) {
200
200
  export {
201
201
  readAggregateExtractionWatermark
202
202
  };
203
- //# sourceMappingURL=chunk-SFDKLEIY.js.map
203
+ //# sourceMappingURL=chunk-CSLK7BN6.js.map
@@ -18,7 +18,7 @@ import {
18
18
  } from "./chunk-FFAZ2XFU.js";
19
19
  import {
20
20
  resolveSafeStoragePath
21
- } from "./chunk-FF4KLI5W.js";
21
+ } from "./chunk-LDPPTPO5.js";
22
22
  import {
23
23
  readMaybeEncryptedFileFromChunks,
24
24
  writeMaybeEncryptedFileFromChunks
@@ -2509,4 +2509,4 @@ export {
2509
2509
  parseTombstoneBlockedOfflineSyncMemory,
2510
2510
  TombstoneBlockedCaptureIndexHost
2511
2511
  };
2512
- //# sourceMappingURL=chunk-6O2VUWV6.js.map
2512
+ //# sourceMappingURL=chunk-EIFYYHAF.js.map
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  WearablesInputError
3
3
  } from "./chunk-V7IZKJI3.js";
4
- import {
5
- WriteRateLimiter
6
- } from "./chunk-TB6CBZ5V.js";
7
4
  import {
8
5
  AdapterRegistry
9
6
  } from "./chunk-G3T6YMBO.js";
7
+ import {
8
+ WriteRateLimiter
9
+ } from "./chunk-TB6CBZ5V.js";
10
10
  import {
11
11
  maybeRespondRecallNavigation
12
12
  } from "./chunk-ZSEFGDCI.js";
@@ -18,13 +18,13 @@ import {
18
18
  } from "./chunk-3HSRWJTC.js";
19
19
  import {
20
20
  respondDeepRecall
21
- } from "./chunk-RGGXSN5A.js";
21
+ } from "./chunk-U6HWKOGD.js";
22
22
  import {
23
23
  handleSupportPassportOwnerHttp
24
- } from "./chunk-34TSXVQS.js";
24
+ } from "./chunk-2QZFZNXO.js";
25
25
  import {
26
26
  buildSupportPassportPublicRequestHandler
27
- } from "./chunk-EUYNHJTK.js";
27
+ } from "./chunk-HP4CU2ZA.js";
28
28
  import {
29
29
  handleMcpGetSse
30
30
  } from "./chunk-SRT6SHVZ.js";
@@ -37,10 +37,10 @@ import {
37
37
  processChatMessage,
38
38
  sessionBelongsToPrincipal,
39
39
  subscribeChatTranscript
40
- } from "./chunk-7DB7KYSR.js";
40
+ } from "./chunk-ZS7RK6H6.js";
41
41
  import {
42
42
  RelayMissionStoreError
43
- } from "./chunk-HNU5CZ7E.js";
43
+ } from "./chunk-CHI37EHP.js";
44
44
  import {
45
45
  executeResolution,
46
46
  isValidResolutionVerb
@@ -61,10 +61,10 @@ import {
61
61
  optionalNamespaceKindQueryParam,
62
62
  optionalQueryString,
63
63
  positiveIntQueryParam
64
- } from "./chunk-BOT276JC.js";
64
+ } from "./chunk-JSUA4YFE.js";
65
65
  import {
66
66
  respondBriefingHttp
67
- } from "./chunk-DPX3J2N4.js";
67
+ } from "./chunk-NLDMTXWV.js";
68
68
  import {
69
69
  maybeHandleLifecycleFlush
70
70
  } from "./chunk-2BPPGNAQ.js";
@@ -75,14 +75,14 @@ import {
75
75
  authorizationProbeNamespaces,
76
76
  authorizationProbeRequiresPrincipalNamespace,
77
77
  probeOperationAuthorization
78
- } from "./chunk-VH76UQK3.js";
78
+ } from "./chunk-KW77LGDX.js";
79
79
  import {
80
80
  getOperation,
81
81
  resolveQueryNamespaceWritablePreflight
82
- } from "./chunk-BKPV47BK.js";
82
+ } from "./chunk-NGOZH7R5.js";
83
83
  import {
84
84
  handleWhoKnowsHttpQuery
85
- } from "./chunk-MJ737UIA.js";
85
+ } from "./chunk-2NV7MMMM.js";
86
86
  import {
87
87
  isTrustZoneName
88
88
  } from "./chunk-ROBHL3GL.js";
@@ -94,7 +94,7 @@ import {
94
94
  } from "./chunk-QLK3SL7Q.js";
95
95
  import {
96
96
  validateRequest
97
- } from "./chunk-47I2EK6G.js";
97
+ } from "./chunk-SIYZDT2V.js";
98
98
  import {
99
99
  peerManifestRevision
100
100
  } from "./chunk-N7QV3CMX.js";
@@ -109,7 +109,7 @@ import {
109
109
  OFFLINE_SYNC_APPLY_MAX_BODY_BYTES,
110
110
  OFFLINE_SYNC_FILE_CONTENT_MAX_CHUNK_BYTES,
111
111
  OFFLINE_SYNC_SNAPSHOT_BASE_MAX_BODY_BYTES
112
- } from "./chunk-5R4YPRAR.js";
112
+ } from "./chunk-TGF43K66.js";
113
113
  import {
114
114
  isDefaultReviewNamespace,
115
115
  listPairs,
@@ -3564,4 +3564,4 @@ export {
3564
3564
  resolveDefaultAdminConsolePublicDir,
3565
3565
  EngramAccessHttpServer
3566
3566
  };
3567
- //# sourceMappingURL=chunk-7AUC2YSU.js.map
3567
+ //# sourceMappingURL=chunk-GBA4N2SG.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createSearchBackend
3
- } from "./chunk-JLUS56YZ.js";
3
+ } from "./chunk-OV7EYM6M.js";
4
4
  import {
5
5
  namespaceIdentityToken,
6
6
  normalizeNamespaceIdentity
@@ -508,4 +508,4 @@ export {
508
508
  NamespaceSearchRouter,
509
509
  normalizeQmdResultPath
510
510
  };
511
- //# sourceMappingURL=chunk-V3NKVYUD.js.map
511
+ //# sourceMappingURL=chunk-GUD6FYQG.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  hasMemoryData
3
- } from "./chunk-A7V7GZ7F.js";
3
+ } from "./chunk-2DHJTJIY.js";
4
4
  import {
5
5
  resolveNamespaceStorageRoot
6
- } from "./chunk-LTDWZ2HC.js";
6
+ } from "./chunk-CFCEJNOE.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-YY5FM5M7.js.map
727
+ //# sourceMappingURL=chunk-HO7IQP7G.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SupportPassportError,
3
3
  getOperation
4
- } from "./chunk-BKPV47BK.js";
4
+ } from "./chunk-NGOZH7R5.js";
5
5
  import {
6
6
  abortError,
7
7
  isAbortError
@@ -499,4 +499,4 @@ export {
499
499
  buildSupportPassportPublicRequestHandler,
500
500
  composeSupportPassportExternalRequestHandlers
501
501
  };
502
- //# sourceMappingURL=chunk-EUYNHJTK.js.map
502
+ //# sourceMappingURL=chunk-HP4CU2ZA.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  canonicalCategoryForAlias,
3
3
  categoryAliasCoercion
4
- } from "./chunk-47I2EK6G.js";
4
+ } from "./chunk-SIYZDT2V.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-GS6LTJFW.js.map
25
+ //# sourceMappingURL=chunk-HRZZJ4XB.js.map
@@ -2,7 +2,7 @@ import {
2
2
  WHO_KNOWS_DEFAULT_LIMIT,
3
3
  WHO_KNOWS_MAX_LIMIT,
4
4
  validateWhoKnowsInput
5
- } from "./chunk-MJ737UIA.js";
5
+ } from "./chunk-2NV7MMMM.js";
6
6
 
7
7
  // src/who-knows-cli.ts
8
8
  function extractWhoKnowsRawArgs(rest) {
@@ -74,4 +74,4 @@ export {
74
74
  renderWhoKnowsText,
75
75
  renderWhoKnows
76
76
  };
77
- //# sourceMappingURL=chunk-KM2HQZR3.js.map
77
+ //# sourceMappingURL=chunk-I2KEH2LS.js.map
@@ -21,13 +21,13 @@ import {
21
21
  defineOperation,
22
22
  parseNamespacePreflightWriteOp,
23
23
  resolveAuthorizedNamespaceWritablePreflight
24
- } from "./chunk-BKPV47BK.js";
24
+ } from "./chunk-NGOZH7R5.js";
25
25
  import {
26
26
  parseSharedWriteOutputControls
27
27
  } from "./chunk-IFBSZGW3.js";
28
28
  import {
29
29
  validateBriefingFormat
30
- } from "./chunk-VXCTQ3B3.js";
30
+ } from "./chunk-6AA7XFMO.js";
31
31
  import {
32
32
  parseDeepRecallMaxSteps
33
33
  } from "./chunk-A7AISUJI.js";
@@ -36,7 +36,7 @@ import {
36
36
  recallRequestSchema,
37
37
  retainedCategoryAlias,
38
38
  suggestionSubmitRequestSchema
39
- } from "./chunk-47I2EK6G.js";
39
+ } from "./chunk-SIYZDT2V.js";
40
40
  import {
41
41
  enforceNamespaceAllowList,
42
42
  tokenCapabilityStore
@@ -603,4 +603,4 @@ defineOperation({ name: "graph_events", description: "SSE graph events.", schema
603
603
  defineOperation({ name: "chat_message", description: "Chat message.", schema: strictSchema({ message: S.str, chatSessionId: S.str }), handler: async (_i, _ctx) => ({ result: { ok: true } }) });
604
604
  defineOperation({ name: "chat_events", description: "SSE chat events.", schema: strictSchema({}), handler: async (_i, _ctx) => ({ result: { stream: "sse" } }) });
605
605
  defineOperation({ name: "adapters_status", description: "Adapter registry metadata (issue #1850 round 5). Marker op: the HTTP transport builds the response from its own adapterRegistry, but the op still must be registered so it appears in listRegisteredOperations and enforceTokenOp can gate it for scoped tokens.", schema: strictSchema({}), handler: async (_i, _ctx) => ({ result: { ok: true } }) });
606
- //# sourceMappingURL=chunk-GYLDYYRA.js.map
606
+ //# sourceMappingURL=chunk-I6WFBNA4.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  resolveDefaultNamespaceRoot
3
- } from "./chunk-LTDWZ2HC.js";
3
+ } from "./chunk-CFCEJNOE.js";
4
4
  import {
5
5
  StorageManager
6
- } from "./chunk-HPEONBM3.js";
6
+ } from "./chunk-6JIHC5AS.js";
7
7
  import {
8
8
  composeLocationDayBody,
9
9
  composeLocationDayMeta,
@@ -728,4 +728,4 @@ export {
728
728
  runLocationBackfill,
729
729
  runLocationCliCommand
730
730
  };
731
- //# sourceMappingURL=chunk-S3BB34NI.js.map
731
+ //# sourceMappingURL=chunk-IHCYCE6D.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-TBBDFYXW.js";
4
4
  import {
5
5
  StorageManager
6
- } from "./chunk-HPEONBM3.js";
6
+ } from "./chunk-6JIHC5AS.js";
7
7
  import {
8
8
  bumpMemoryCorpusVersionForDir
9
9
  } from "./chunk-M5GVCJSJ.js";
@@ -765,4 +765,4 @@ export {
765
765
  listMemoryGovernanceRuns,
766
766
  readMemoryGovernanceRunArtifact
767
767
  };
768
- //# sourceMappingURL=chunk-PXDEIJL5.js.map
768
+ //# sourceMappingURL=chunk-IXYIW3MZ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isNamespaceKind
3
- } from "./chunk-A7V7GZ7F.js";
3
+ } from "./chunk-2DHJTJIY.js";
4
4
  import {
5
5
  EngramAccessInputError
6
6
  } from "./chunk-3MUKQQ7A.js";
@@ -40,4 +40,4 @@ export {
40
40
  positiveIntQueryParam,
41
41
  optionalNamespaceKindQueryParam
42
42
  };
43
- //# sourceMappingURL=chunk-BOT276JC.js.map
43
+ //# sourceMappingURL=chunk-JSUA4YFE.js.map
@@ -1,12 +1,12 @@
1
- import {
2
- encryptCapsuleFile
3
- } from "./chunk-X7Y7WX73.js";
4
1
  import {
5
2
  CAPSULE_ID_PATTERN,
6
3
  CapsuleBlockSchema,
7
4
  ExportBundleV2Schema,
8
5
  ExportManifestV2Schema
9
6
  } from "./chunk-WEHSQBFR.js";
7
+ import {
8
+ encryptCapsuleFile
9
+ } from "./chunk-X7Y7WX73.js";
10
10
  import {
11
11
  CAPSULE_SCHEMA_VERSION,
12
12
  EXPORT_FORMAT
@@ -261,4 +261,4 @@ export {
261
261
  exportCapsule,
262
262
  isValidCapsuleSince
263
263
  };
264
- //# sourceMappingURL=chunk-7LCGFUMB.js.map
264
+ //# sourceMappingURL=chunk-KQAFEZQX.js.map
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-5JMAGU26.js";
6
6
  import {
7
7
  runPostConsolidationMaterialize
8
- } from "./chunk-DX3ZODO3.js";
8
+ } from "./chunk-L6DJJEFW.js";
9
9
  import {
10
10
  isSemanticConsolidationLlmOperator
11
11
  } from "./chunk-G7D6GZ5J.js";
@@ -220,4 +220,4 @@ export {
220
220
  buildExtensionsBlockForConsolidation,
221
221
  materializeAfterSemanticConsolidation
222
222
  };
223
- //# sourceMappingURL=chunk-WWUFQ3AG.js.map
223
+ //# sourceMappingURL=chunk-KRTIHXWC.js.map
@@ -3,7 +3,7 @@ import {
3
3
  getOperation,
4
4
  operationRequiresAuthorizedNamespace,
5
5
  operationUsesPrincipalNamespace
6
- } from "./chunk-BKPV47BK.js";
6
+ } from "./chunk-NGOZH7R5.js";
7
7
  import {
8
8
  assertOperationAuthorizationAllowed
9
9
  } from "./chunk-IG747LRN.js";
@@ -60,4 +60,4 @@ export {
60
60
  authorizationProbeNamespaces,
61
61
  authorizationProbeRequiresPrincipalNamespace
62
62
  };
63
- //# sourceMappingURL=chunk-VH76UQK3.js.map
63
+ //# sourceMappingURL=chunk-KW77LGDX.js.map
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-ZCUTSMR2.js";
14
14
  import {
15
15
  StorageManager
16
- } from "./chunk-HPEONBM3.js";
16
+ } from "./chunk-6JIHC5AS.js";
17
17
  import {
18
18
  excludeSupportPassportPrivateMemories
19
19
  } from "./chunk-PWPIERBM.js";
@@ -134,4 +134,4 @@ export {
134
134
  runCodexMaterialize,
135
135
  runPostConsolidationMaterialize
136
136
  };
137
- //# sourceMappingURL=chunk-DX3ZODO3.js.map
137
+ //# sourceMappingURL=chunk-L6DJJEFW.js.map
@@ -20,6 +20,12 @@ function encodeStoragePathSegmentWithHash(value, fallback = "unknown") {
20
20
  function isSafeLegacyPathSegment(value) {
21
21
  return value.length > 0 && value !== "." && value !== ".." && !value.includes("/") && !value.includes("\\");
22
22
  }
23
+ var DAILY_FILE_DATE = /^(\d{4}-\d{2}-\d{2})\.jsonl$/;
24
+ function isDailyFileDatedBefore(relativePath, minDate) {
25
+ const parts = relativePath.split(path.sep);
26
+ const fileDate = parts.length === 3 ? DAILY_FILE_DATE.exec(parts[2])?.[1] : void 0;
27
+ return minDate !== void 0 && fileDate !== void 0 && fileDate < minDate;
28
+ }
23
29
  function isPathInsideStorageRoot(rootAbs, targetAbs) {
24
30
  const rel = path.relative(rootAbs, targetAbs);
25
31
  if (rel === "") return true;
@@ -92,8 +98,9 @@ export {
92
98
  storagePathHash,
93
99
  encodeStoragePathSegmentWithHash,
94
100
  isSafeLegacyPathSegment,
101
+ isDailyFileDatedBefore,
95
102
  isPathInsideStorageRoot,
96
103
  resolvePathInsideStorageRoot,
97
104
  resolveSafeStoragePath
98
105
  };
99
- //# sourceMappingURL=chunk-FF4KLI5W.js.map
106
+ //# sourceMappingURL=chunk-LDPPTPO5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/storage-paths.ts"],"sourcesContent":["import { createHash } from \"node:crypto\";\nimport { lstat, realpath } from \"node:fs/promises\";\nimport path from \"node:path\";\n\nexport function encodeStoragePathSegment(value: string, fallback = \"unknown\"): string {\n const raw = value.length > 0 ? value : fallback;\n try {\n return encodeURIComponent(raw).replaceAll(\".\", \"%2E\");\n } catch {\n return `encoded-${storagePathHash(raw)}`;\n }\n}\n\nexport function storagePathHash(value: string): string {\n return createHash(\"sha256\").update(value).digest(\"hex\").slice(0, 16);\n}\n\nexport function encodeStoragePathSegmentWithHash(value: string, fallback = \"unknown\"): string {\n const raw = value.length > 0 ? value : fallback;\n return `${encodeStoragePathSegment(value, fallback)}--${storagePathHash(raw)}`;\n}\n\nexport function isSafeLegacyPathSegment(value: string): boolean {\n return (\n value.length > 0 &&\n value !== \".\" &&\n value !== \"..\" &&\n !value.includes(\"/\") &&\n !value.includes(\"\\\\\")\n );\n}\n\nconst DAILY_FILE_DATE = /^(\\d{4}-\\d{2}-\\d{2})\\.jsonl$/;\n\n/**\n * True when `relativePath` is a daily partition, `<type>/<channel>/YYYY-MM-DD.jsonl`,\n * named for a UTC date before `minDate`. Daily transcript files are named for the\n * date they were written on, and an entry is written at or after its own\n * timestamp, so such a file cannot hold an entry stamped on or after `minDate`.\n * Only that three-component layout is a daily partition: a legacy\n * `<type>/<channelId>.jsonl` or a root-level file can have a date-shaped name\n * (a date-shaped channel id) without being one, so it is never reported as older\n * and callers always read it.\n */\nexport function isDailyFileDatedBefore(relativePath: string, minDate: string | undefined): boolean {\n const parts = relativePath.split(path.sep);\n const fileDate = parts.length === 3 ? DAILY_FILE_DATE.exec(parts[2])?.[1] : undefined;\n return minDate !== undefined && fileDate !== undefined && fileDate < minDate;\n}\n\nexport function isPathInsideStorageRoot(rootAbs: string, targetAbs: string): boolean {\n const rel = path.relative(rootAbs, targetAbs);\n if (rel === \"\") return true;\n if (rel === \"..\") return false;\n if (rel.startsWith(`..${path.sep}`)) return false;\n if (path.isAbsolute(rel)) return false;\n return true;\n}\n\nexport function resolvePathInsideStorageRoot(\n root: string,\n ...parts: string[]\n): string {\n const rootAbs = path.resolve(root);\n const targetAbs = path.resolve(rootAbs, ...parts);\n if (!isPathInsideStorageRoot(rootAbs, targetAbs)) {\n throw new Error(`resolved storage path escapes root: ${targetAbs}`);\n }\n return targetAbs;\n}\n\nasync function assertNoSymlinkInExistingPath(\n rootAbs: string,\n targetAbs: string,\n): Promise<void> {\n let current = rootAbs;\n while (current !== path.dirname(current)) {\n const stat = await lstat(current).catch(() => null);\n if (stat !== null) {\n if (stat.isSymbolicLink()) {\n throw new Error(`storage path must not pass through a symlink: ${current}`);\n }\n break;\n }\n current = path.dirname(current);\n }\n\n const relative = path.relative(rootAbs, targetAbs);\n if (relative === \"\") return;\n\n current = rootAbs;\n for (const segment of relative.split(path.sep)) {\n current = path.join(current, segment);\n const stat = await lstat(current).catch(() => null);\n if (stat === null) return;\n if (stat.isSymbolicLink()) {\n throw new Error(`storage path must not pass through a symlink: ${current}`);\n }\n }\n}\n\nasync function assertRealPathInsideStorageRoot(\n rootAbs: string,\n targetAbs: string,\n): Promise<void> {\n const rootReal = await resolvePossiblyMissingRealPath(rootAbs);\n const targetReal = await resolvePossiblyMissingRealPath(targetAbs);\n if (!isPathInsideStorageRoot(rootReal, targetReal)) {\n throw new Error(`resolved storage path escapes root: ${targetAbs}`);\n }\n}\n\nasync function resolvePossiblyMissingRealPath(absPath: string): Promise<string> {\n let existing = absPath;\n const suffix: string[] = [];\n while (existing !== path.dirname(existing)) {\n const stat = await lstat(existing).catch(() => null);\n if (stat !== null) break;\n suffix.unshift(path.basename(existing));\n existing = path.dirname(existing);\n }\n const existingReal = await realpath(existing).catch(() => existing);\n return suffix.length > 0 ? path.join(existingReal, ...suffix) : existingReal;\n}\n\nexport async function resolveSafeStoragePath(\n root: string,\n ...parts: string[]\n): Promise<string> {\n const rootAbs = path.resolve(root);\n const targetAbs = resolvePathInsideStorageRoot(rootAbs, ...parts);\n await assertNoSymlinkInExistingPath(rootAbs, targetAbs);\n await assertRealPathInsideStorageRoot(rootAbs, targetAbs);\n return targetAbs;\n}\n"],"mappings":"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","names":[]}
@@ -14,7 +14,7 @@ import {
14
14
  } from "./chunk-3UXOZBHV.js";
15
15
  import {
16
16
  StorageManager
17
- } from "./chunk-HPEONBM3.js";
17
+ } from "./chunk-6JIHC5AS.js";
18
18
  import {
19
19
  OKF_PROFILE_TYPE,
20
20
  okfTypeForMemory
@@ -272,4 +272,4 @@ export {
272
272
  exportOkfBundle,
273
273
  firstHeading
274
274
  };
275
- //# sourceMappingURL=chunk-CRZ7BU6R.js.map
275
+ //# sourceMappingURL=chunk-LMMC55WM.js.map