@remnic/core 9.69.75 → 9.69.76

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 (250) hide show
  1. package/dist/access-admin-ops-surface.js +25 -26
  2. package/dist/access-authorization-probe.js +26 -27
  3. package/dist/access-boundary.js +25 -26
  4. package/dist/access-cli.js +71 -72
  5. package/dist/access-cli.js.map +1 -1
  6. package/dist/access-extraction-force-flush.js +25 -26
  7. package/dist/access-http-briefing.js +26 -27
  8. package/dist/access-http-query.js +27 -28
  9. package/dist/access-http.js +42 -43
  10. package/dist/access-identity-continuity-surface.js +25 -26
  11. package/dist/access-lcm-surface.js +25 -26
  12. package/dist/access-mcp.js +35 -36
  13. package/dist/access-namespace-preflight.js +25 -26
  14. package/dist/access-observe-write-category.js +2 -2
  15. package/dist/access-observe-write-surface.js +25 -26
  16. package/dist/access-offline-manifest.js +3 -3
  17. package/dist/access-operations-batch.js +26 -27
  18. package/dist/access-operations.js +33 -34
  19. package/dist/access-recall-concurrency.js +25 -26
  20. package/dist/access-recall-diagnostics.js +2 -2
  21. package/dist/access-recall-response.js +25 -26
  22. package/dist/access-recall-surface.js +25 -26
  23. package/dist/access-service.js +25 -26
  24. package/dist/access-surface-catalog.js +27 -28
  25. package/dist/access-surface-catalog.js.map +1 -1
  26. package/dist/active-recall.js +5 -4
  27. package/dist/active-recall.js.map +1 -1
  28. package/dist/{auto-sync-QJNIKZHV.js → auto-sync-WEUDMXUW.js} +4 -4
  29. package/dist/briefing.js +5 -4
  30. package/dist/buffer.js +4 -4
  31. package/dist/causal-consolidation.js +6 -5
  32. package/dist/causal-consolidation.js.map +1 -1
  33. package/dist/{chunk-IGSVMAPQ.js → chunk-252U6XYX.js} +2 -2
  34. package/dist/{chunk-IXLHREAB.js → chunk-2MLWQMXH.js} +2 -2
  35. package/dist/{chunk-HZDOLAZV.js → chunk-34R75BVF.js} +2 -2
  36. package/dist/{chunk-Y52T5Y6B.js → chunk-364F6EMG.js} +2 -2
  37. package/dist/{chunk-YMSPN4W4.js → chunk-4MONIKIY.js} +2 -2
  38. package/dist/{chunk-OB2YI57R.js → chunk-5D6IMOW6.js} +19 -19
  39. package/dist/{chunk-NF6LF76X.js → chunk-5ELXQQY7.js} +2 -2
  40. package/dist/{chunk-ZUT4FK5W.js → chunk-5Z574AVZ.js} +2 -2
  41. package/dist/{chunk-MKNENZCK.js → chunk-6FJCKMSJ.js} +3 -3
  42. package/dist/{chunk-7COBZFUF.js → chunk-6OR3AQHP.js} +2 -2
  43. package/dist/{chunk-ZPED47SP.js → chunk-6RBUAPQT.js} +18 -24
  44. package/dist/chunk-6RBUAPQT.js.map +1 -0
  45. package/dist/{chunk-WQC54W25.js → chunk-6VQFPA3J.js} +2 -2
  46. package/dist/{chunk-AQJBFLUA.js → chunk-74C5FI4S.js} +5 -5
  47. package/dist/{chunk-GFD7TWAZ.js → chunk-AV5K5QH4.js} +4 -4
  48. package/dist/{chunk-5KNEOYTF.js → chunk-BFDBLAVG.js} +2 -2
  49. package/dist/{chunk-IGEZE6QB.js → chunk-BMYZTZ5D.js} +4 -4
  50. package/dist/{chunk-7JFQI6DQ.js → chunk-BOUFVFV2.js} +2 -2
  51. package/dist/{chunk-CGO3A7SR.js → chunk-BRBB62TS.js} +2 -2
  52. package/dist/{chunk-GZBNEZIU.js → chunk-DBYAY6UW.js} +3 -3
  53. package/dist/{chunk-U3NBO4IX.js → chunk-FAT6HY7N.js} +119 -37
  54. package/dist/chunk-FAT6HY7N.js.map +1 -0
  55. package/dist/{chunk-S5FWSNLI.js → chunk-FCVPZIHF.js} +2 -2
  56. package/dist/{chunk-B5EZWPSM.js → chunk-FUWW7ED4.js} +2 -2
  57. package/dist/{chunk-YCYFXA6P.js → chunk-GN7YTM5I.js} +2 -2
  58. package/dist/{chunk-XDOXR3U6.js → chunk-HC4RWJR3.js} +2 -2
  59. package/dist/{chunk-JOMGKV72.js → chunk-HKPGEFIT.js} +2 -2
  60. package/dist/{chunk-MB3HMRXM.js → chunk-I6PZTU3Q.js} +2 -2
  61. package/dist/{chunk-6BSPRNFF.js → chunk-IGJL6JOD.js} +2 -2
  62. package/dist/{chunk-LH6UP5SR.js → chunk-IV2CY3RE.js} +3 -3
  63. package/dist/{chunk-5LPDXYU3.js → chunk-J3NN2Q4Z.js} +4 -4
  64. package/dist/{chunk-LDOURFFA.js → chunk-JBHCTDYF.js} +2 -2
  65. package/dist/{chunk-D4SPMHEW.js → chunk-JLPNONPH.js} +2 -2
  66. package/dist/{chunk-62AE2EUZ.js → chunk-JOAR32R6.js} +2 -2
  67. package/dist/{chunk-YYRMOMX3.js → chunk-JU5MAF2L.js} +2 -2
  68. package/dist/{chunk-AEGQ5PJ7.js → chunk-JX6USXZR.js} +2 -2
  69. package/dist/{chunk-VEBYLZQQ.js → chunk-KN6CIN7I.js} +2 -2
  70. package/dist/{chunk-UJX4I26O.js → chunk-KOXUUJE3.js} +2 -2
  71. package/dist/{chunk-5UBH37SL.js → chunk-LI76ESJL.js} +4 -4
  72. package/dist/{chunk-HPK66ZM5.js → chunk-LTS2XIU3.js} +2 -2
  73. package/dist/{chunk-ZVTG7JTG.js → chunk-MKGIW5W6.js} +2 -2
  74. package/dist/{chunk-5LWVTSF7.js → chunk-MOQPEFLN.js} +4 -4
  75. package/dist/{chunk-6JA22L5X.js → chunk-N25RPRSI.js} +8 -8
  76. package/dist/{chunk-VXNWOHOR.js → chunk-N6TUO3O6.js} +2 -2
  77. package/dist/{chunk-5HP5F2SQ.js → chunk-NC7OAEYY.js} +2 -2
  78. package/dist/{chunk-JDES3G7T.js → chunk-NQBD3R24.js} +2 -2
  79. package/dist/{chunk-S52VKUUW.js → chunk-NRPLDEFR.js} +2 -2
  80. package/dist/{chunk-MSRNAAWW.js → chunk-OH6AMNSA.js} +2 -2
  81. package/dist/{chunk-B6PY25JB.js → chunk-OIKX22FU.js} +1 -1
  82. package/dist/{chunk-WZKKI6S2.js → chunk-OJMAM4RO.js} +2 -2
  83. package/dist/{chunk-AWEMJYN2.js → chunk-OOWUOWXK.js} +2 -2
  84. package/dist/{chunk-BXCZPPRO.js → chunk-P2FJ2KYJ.js} +12 -12
  85. package/dist/{chunk-F5O6WEDO.js → chunk-PWF4JXKD.js} +1 -1
  86. package/dist/chunk-PWF4JXKD.js.map +1 -0
  87. package/dist/{chunk-ODP62HIA.js → chunk-RQIETS2K.js} +2 -2
  88. package/dist/{chunk-UFBHEMNR.js → chunk-SFDZ66MD.js} +2 -2
  89. package/dist/{chunk-YR6A6ZK7.js → chunk-SSUDD72S.js} +2 -2
  90. package/dist/{chunk-O4QH33GV.js → chunk-TWUMZCGA.js} +5 -5
  91. package/dist/{chunk-25LKLNSJ.js → chunk-TYR4D4GH.js} +2 -2
  92. package/dist/{chunk-SA2JMMMS.js → chunk-UHKME3I7.js} +2 -2
  93. package/dist/{chunk-COHJUEBQ.js → chunk-VKWMW32Y.js} +2 -2
  94. package/dist/{chunk-YF3JERFZ.js → chunk-VL4X7ZHC.js} +2 -2
  95. package/dist/{chunk-6BFW7SGF.js → chunk-W5VYWOU3.js} +2 -2
  96. package/dist/{chunk-KMHE76A2.js → chunk-WZ7M2QRP.js} +2 -2
  97. package/dist/{chunk-WDP7CJZQ.js → chunk-XC4MDMQE.js} +4 -4
  98. package/dist/{chunk-LBL77UXO.js → chunk-XIA4CN3T.js} +3 -3
  99. package/dist/{chunk-GH5YSAAI.js → chunk-XLLRMUMH.js} +5 -4
  100. package/dist/chunk-XLLRMUMH.js.map +1 -0
  101. package/dist/{chunk-TY5JOP2W.js → chunk-XNTIX4LA.js} +45 -33
  102. package/dist/chunk-XNTIX4LA.js.map +1 -0
  103. package/dist/{chunk-I6Y6QKWF.js → chunk-XQSAPG34.js} +2 -2
  104. package/dist/{chunk-VIRTAUJO.js → chunk-Y37KZVUM.js} +2 -2
  105. package/dist/{chunk-WDBKDYK2.js → chunk-YNNXM6FN.js} +27 -27
  106. package/dist/{chunk-SB4ZWVKI.js → chunk-YPWOZ6ME.js} +3 -5
  107. package/dist/{chunk-SB4ZWVKI.js.map → chunk-YPWOZ6ME.js.map} +1 -1
  108. package/dist/{chunk-KPSJA45G.js → chunk-YYI5DZAQ.js} +2 -2
  109. package/dist/cli.js +56 -57
  110. package/dist/coding/export-okf-codegraph.js +5 -4
  111. package/dist/coding/export-okf-codegraph.js.map +1 -1
  112. package/dist/compounding/engine.js +5 -4
  113. package/dist/config.d.ts.map +1 -1
  114. package/dist/config.js +5 -4
  115. package/dist/connectors/codex-materialize-runner.js +5 -4
  116. package/dist/connectors/index.js +5 -4
  117. package/dist/convergence-refresh.js +7 -7
  118. package/dist/corpus-watermark.js +7 -6
  119. package/dist/directory-sidecars.d.ts +3 -0
  120. package/dist/directory-sidecars.d.ts.map +1 -1
  121. package/dist/directory-sidecars.js +7 -4
  122. package/dist/entity-retrieval.js +5 -4
  123. package/dist/external-wiki-access.js +26 -27
  124. package/dist/extraction.js +9 -9
  125. package/dist/harmonic-retrieval.js +1 -1
  126. package/dist/index.js +74 -75
  127. package/dist/location/index.js +8 -8
  128. package/dist/maintenance/memory-governance.js +5 -4
  129. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +5 -5
  130. package/dist/maintenance/rebuild-memory-projection.js +6 -6
  131. package/dist/memory-browse-operations.js +26 -27
  132. package/dist/memory-browse.js +3 -4
  133. package/dist/namespaces/migrate.js +6 -5
  134. package/dist/namespaces/storage.js +5 -4
  135. package/dist/offline-sync-impression-drain.js +2 -2
  136. package/dist/operator-doctor-corpus.js +8 -7
  137. package/dist/operator-toolkit.js +14 -13
  138. package/dist/orchestration/maintenance.js +14 -14
  139. package/dist/orchestration/recall-search-pipeline.d.ts.map +1 -1
  140. package/dist/orchestrator.d.ts.map +1 -1
  141. package/dist/orchestrator.js +71 -72
  142. package/dist/recall-explain-renderer.js +3 -3
  143. package/dist/recall-navigate-access.js +2 -2
  144. package/dist/recall-navigate-disclosure.js +2 -2
  145. package/dist/recall-navigate.js +2 -2
  146. package/dist/recall-navigation-operations.js +26 -27
  147. package/dist/recall-navigation.js +25 -26
  148. package/dist/recall-state-view-admission.js +3 -4
  149. package/dist/recall-state.js +2 -2
  150. package/dist/recall-why-service.js +3 -4
  151. package/dist/recall-xray-cli.js +4 -4
  152. package/dist/recall-xray-renderer.js +3 -3
  153. package/dist/recall-xray.js +2 -2
  154. package/dist/resume-bundles.js +6 -5
  155. package/dist/semantic-consolidation.js +6 -5
  156. package/dist/semantic-rule-promotion.js +5 -4
  157. package/dist/semantic-rule-verifier.js +5 -4
  158. package/dist/source-agent-qualifier.js +8 -8
  159. package/dist/standup/build.js +5 -4
  160. package/dist/storage.d.ts +1 -19
  161. package/dist/storage.d.ts.map +1 -1
  162. package/dist/storage.js +4 -3
  163. package/dist/support-passport/index.js +28 -29
  164. package/dist/transfer/export-okf.js +6 -5
  165. package/dist/types.d.ts +3 -3
  166. package/dist/types.d.ts.map +1 -1
  167. package/dist/types.js +1 -1
  168. package/dist/verified-recall.js +5 -4
  169. package/dist/who-knows-cli.js +6 -5
  170. package/dist/who-knows.js +5 -4
  171. package/package.json +2 -2
  172. package/src/config.ts +2 -3
  173. package/src/directory-sidecars-config.test.ts +34 -0
  174. package/src/directory-sidecars.ts +27 -6
  175. package/src/orchestration/recall-search-pipeline.ts +4 -6
  176. package/src/orchestrator.ts +8 -0
  177. package/src/storage.ts +13 -22
  178. package/src/types.ts +3 -3
  179. package/dist/chunk-F5O6WEDO.js.map +0 -1
  180. package/dist/chunk-GH5YSAAI.js.map +0 -1
  181. package/dist/chunk-PCEYGOSL.js +0 -66
  182. package/dist/chunk-PCEYGOSL.js.map +0 -1
  183. package/dist/chunk-TY5JOP2W.js.map +0 -1
  184. package/dist/chunk-U3NBO4IX.js.map +0 -1
  185. package/dist/chunk-ZPED47SP.js.map +0 -1
  186. /package/dist/{auto-sync-QJNIKZHV.js.map → auto-sync-WEUDMXUW.js.map} +0 -0
  187. /package/dist/{chunk-IGSVMAPQ.js.map → chunk-252U6XYX.js.map} +0 -0
  188. /package/dist/{chunk-IXLHREAB.js.map → chunk-2MLWQMXH.js.map} +0 -0
  189. /package/dist/{chunk-HZDOLAZV.js.map → chunk-34R75BVF.js.map} +0 -0
  190. /package/dist/{chunk-Y52T5Y6B.js.map → chunk-364F6EMG.js.map} +0 -0
  191. /package/dist/{chunk-YMSPN4W4.js.map → chunk-4MONIKIY.js.map} +0 -0
  192. /package/dist/{chunk-OB2YI57R.js.map → chunk-5D6IMOW6.js.map} +0 -0
  193. /package/dist/{chunk-NF6LF76X.js.map → chunk-5ELXQQY7.js.map} +0 -0
  194. /package/dist/{chunk-ZUT4FK5W.js.map → chunk-5Z574AVZ.js.map} +0 -0
  195. /package/dist/{chunk-MKNENZCK.js.map → chunk-6FJCKMSJ.js.map} +0 -0
  196. /package/dist/{chunk-7COBZFUF.js.map → chunk-6OR3AQHP.js.map} +0 -0
  197. /package/dist/{chunk-WQC54W25.js.map → chunk-6VQFPA3J.js.map} +0 -0
  198. /package/dist/{chunk-AQJBFLUA.js.map → chunk-74C5FI4S.js.map} +0 -0
  199. /package/dist/{chunk-GFD7TWAZ.js.map → chunk-AV5K5QH4.js.map} +0 -0
  200. /package/dist/{chunk-5KNEOYTF.js.map → chunk-BFDBLAVG.js.map} +0 -0
  201. /package/dist/{chunk-IGEZE6QB.js.map → chunk-BMYZTZ5D.js.map} +0 -0
  202. /package/dist/{chunk-7JFQI6DQ.js.map → chunk-BOUFVFV2.js.map} +0 -0
  203. /package/dist/{chunk-CGO3A7SR.js.map → chunk-BRBB62TS.js.map} +0 -0
  204. /package/dist/{chunk-GZBNEZIU.js.map → chunk-DBYAY6UW.js.map} +0 -0
  205. /package/dist/{chunk-S5FWSNLI.js.map → chunk-FCVPZIHF.js.map} +0 -0
  206. /package/dist/{chunk-B5EZWPSM.js.map → chunk-FUWW7ED4.js.map} +0 -0
  207. /package/dist/{chunk-YCYFXA6P.js.map → chunk-GN7YTM5I.js.map} +0 -0
  208. /package/dist/{chunk-XDOXR3U6.js.map → chunk-HC4RWJR3.js.map} +0 -0
  209. /package/dist/{chunk-JOMGKV72.js.map → chunk-HKPGEFIT.js.map} +0 -0
  210. /package/dist/{chunk-MB3HMRXM.js.map → chunk-I6PZTU3Q.js.map} +0 -0
  211. /package/dist/{chunk-6BSPRNFF.js.map → chunk-IGJL6JOD.js.map} +0 -0
  212. /package/dist/{chunk-LH6UP5SR.js.map → chunk-IV2CY3RE.js.map} +0 -0
  213. /package/dist/{chunk-5LPDXYU3.js.map → chunk-J3NN2Q4Z.js.map} +0 -0
  214. /package/dist/{chunk-LDOURFFA.js.map → chunk-JBHCTDYF.js.map} +0 -0
  215. /package/dist/{chunk-D4SPMHEW.js.map → chunk-JLPNONPH.js.map} +0 -0
  216. /package/dist/{chunk-62AE2EUZ.js.map → chunk-JOAR32R6.js.map} +0 -0
  217. /package/dist/{chunk-YYRMOMX3.js.map → chunk-JU5MAF2L.js.map} +0 -0
  218. /package/dist/{chunk-AEGQ5PJ7.js.map → chunk-JX6USXZR.js.map} +0 -0
  219. /package/dist/{chunk-VEBYLZQQ.js.map → chunk-KN6CIN7I.js.map} +0 -0
  220. /package/dist/{chunk-UJX4I26O.js.map → chunk-KOXUUJE3.js.map} +0 -0
  221. /package/dist/{chunk-5UBH37SL.js.map → chunk-LI76ESJL.js.map} +0 -0
  222. /package/dist/{chunk-HPK66ZM5.js.map → chunk-LTS2XIU3.js.map} +0 -0
  223. /package/dist/{chunk-ZVTG7JTG.js.map → chunk-MKGIW5W6.js.map} +0 -0
  224. /package/dist/{chunk-5LWVTSF7.js.map → chunk-MOQPEFLN.js.map} +0 -0
  225. /package/dist/{chunk-6JA22L5X.js.map → chunk-N25RPRSI.js.map} +0 -0
  226. /package/dist/{chunk-VXNWOHOR.js.map → chunk-N6TUO3O6.js.map} +0 -0
  227. /package/dist/{chunk-5HP5F2SQ.js.map → chunk-NC7OAEYY.js.map} +0 -0
  228. /package/dist/{chunk-JDES3G7T.js.map → chunk-NQBD3R24.js.map} +0 -0
  229. /package/dist/{chunk-S52VKUUW.js.map → chunk-NRPLDEFR.js.map} +0 -0
  230. /package/dist/{chunk-MSRNAAWW.js.map → chunk-OH6AMNSA.js.map} +0 -0
  231. /package/dist/{chunk-B6PY25JB.js.map → chunk-OIKX22FU.js.map} +0 -0
  232. /package/dist/{chunk-WZKKI6S2.js.map → chunk-OJMAM4RO.js.map} +0 -0
  233. /package/dist/{chunk-AWEMJYN2.js.map → chunk-OOWUOWXK.js.map} +0 -0
  234. /package/dist/{chunk-BXCZPPRO.js.map → chunk-P2FJ2KYJ.js.map} +0 -0
  235. /package/dist/{chunk-ODP62HIA.js.map → chunk-RQIETS2K.js.map} +0 -0
  236. /package/dist/{chunk-UFBHEMNR.js.map → chunk-SFDZ66MD.js.map} +0 -0
  237. /package/dist/{chunk-YR6A6ZK7.js.map → chunk-SSUDD72S.js.map} +0 -0
  238. /package/dist/{chunk-O4QH33GV.js.map → chunk-TWUMZCGA.js.map} +0 -0
  239. /package/dist/{chunk-25LKLNSJ.js.map → chunk-TYR4D4GH.js.map} +0 -0
  240. /package/dist/{chunk-SA2JMMMS.js.map → chunk-UHKME3I7.js.map} +0 -0
  241. /package/dist/{chunk-COHJUEBQ.js.map → chunk-VKWMW32Y.js.map} +0 -0
  242. /package/dist/{chunk-YF3JERFZ.js.map → chunk-VL4X7ZHC.js.map} +0 -0
  243. /package/dist/{chunk-6BFW7SGF.js.map → chunk-W5VYWOU3.js.map} +0 -0
  244. /package/dist/{chunk-KMHE76A2.js.map → chunk-WZ7M2QRP.js.map} +0 -0
  245. /package/dist/{chunk-WDP7CJZQ.js.map → chunk-XC4MDMQE.js.map} +0 -0
  246. /package/dist/{chunk-LBL77UXO.js.map → chunk-XIA4CN3T.js.map} +0 -0
  247. /package/dist/{chunk-I6Y6QKWF.js.map → chunk-XQSAPG34.js.map} +0 -0
  248. /package/dist/{chunk-VIRTAUJO.js.map → chunk-Y37KZVUM.js.map} +0 -0
  249. /package/dist/{chunk-WDBKDYK2.js.map → chunk-YNNXM6FN.js.map} +0 -0
  250. /package/dist/{chunk-KPSJA45G.js.map → chunk-YYI5DZAQ.js.map} +0 -0
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-5HFVWYHL.js";
4
4
  import {
5
5
  isGenericRecallExcludedPath
6
- } from "./chunk-SB4ZWVKI.js";
6
+ } from "./chunk-YPWOZ6ME.js";
7
7
  import {
8
8
  planRecallMode
9
9
  } from "./chunk-CSAKJVXW.js";
@@ -132,4 +132,4 @@ async function findExpectedMemory(orchestrator, namespaces, expect) {
132
132
  export {
133
133
  runRecallWhy
134
134
  };
135
- //# sourceMappingURL=chunk-WQC54W25.js.map
135
+ //# sourceMappingURL=chunk-6VQFPA3J.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  startLocationAutoSync
3
- } from "./chunk-S5FWSNLI.js";
3
+ } from "./chunk-FCVPZIHF.js";
4
4
  import {
5
5
  ensureContradictionScanCron,
6
6
  ensureDaySummaryCron,
@@ -12,14 +12,14 @@ import {
12
12
  } from "./chunk-666A3MOW.js";
13
13
  import {
14
14
  rebuildMemoryLifecycleLedger
15
- } from "./chunk-ODP62HIA.js";
15
+ } from "./chunk-RQIETS2K.js";
16
16
  import {
17
17
  planNamespaceMaintenance,
18
18
  runNamespaceMaintenanceBatchPlan
19
- } from "./chunk-MKNENZCK.js";
19
+ } from "./chunk-6FJCKMSJ.js";
20
20
  import {
21
21
  rebuildMemoryProjection
22
- } from "./chunk-LH6UP5SR.js";
22
+ } from "./chunk-IV2CY3RE.js";
23
23
  import {
24
24
  DEFAULT_TIMELINE_CATEGORIES,
25
25
  TIMELINE_RESERVED_IDLE,
@@ -2450,4 +2450,4 @@ export {
2450
2450
  ActivitySyncScheduler,
2451
2451
  MaintenanceScheduler
2452
2452
  };
2453
- //# sourceMappingURL=chunk-AQJBFLUA.js.map
2453
+ //# sourceMappingURL=chunk-74C5FI4S.js.map
@@ -5,7 +5,7 @@ import {
5
5
  rejectSymlinkPath,
6
6
  renderFrontmatter,
7
7
  writeBundleFile
8
- } from "./chunk-UJX4I26O.js";
8
+ } from "./chunk-KOXUUJE3.js";
9
9
  import {
10
10
  parseOaiMemCitation
11
11
  } from "./chunk-D24OXEPB.js";
@@ -14,11 +14,11 @@ import {
14
14
  } from "./chunk-3UXOZBHV.js";
15
15
  import {
16
16
  StorageManager
17
- } from "./chunk-ZPED47SP.js";
17
+ } from "./chunk-6RBUAPQT.js";
18
18
  import {
19
19
  OKF_PROFILE_TYPE,
20
20
  okfTypeForMemory
21
- } from "./chunk-PCEYGOSL.js";
21
+ } from "./chunk-FAT6HY7N.js";
22
22
  import {
23
23
  normalizeProjectionPreview
24
24
  } from "./chunk-SCU65EZI.js";
@@ -272,4 +272,4 @@ export {
272
272
  exportOkfBundle,
273
273
  firstHeading
274
274
  };
275
- //# sourceMappingURL=chunk-GFD7TWAZ.js.map
275
+ //# sourceMappingURL=chunk-AV5K5QH4.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  defineOperation
3
- } from "./chunk-OB2YI57R.js";
3
+ } from "./chunk-5D6IMOW6.js";
4
4
  import {
5
5
  EngramAccessInputError
6
6
  } from "./chunk-3MUKQQ7A.js";
@@ -92,4 +92,4 @@ defineOperation({
92
92
  };
93
93
  }
94
94
  });
95
- //# sourceMappingURL=chunk-5KNEOYTF.js.map
95
+ //# sourceMappingURL=chunk-BFDBLAVG.js.map
@@ -6,12 +6,12 @@ import {
6
6
  STRUCTURED_ATTRIBUTE_LIMITS,
7
7
  TAG_LIMITS
8
8
  } from "./chunk-GDYU6VF4.js";
9
- import {
10
- writeFileAtomically
11
- } from "./chunk-AW4QUFQF.js";
12
9
  import {
13
10
  pathIsInside
14
11
  } from "./chunk-C7HJ3NEI.js";
12
+ import {
13
+ writeFileAtomically
14
+ } from "./chunk-AW4QUFQF.js";
15
15
  import {
16
16
  isErrnoCode
17
17
  } from "./chunk-KNA3BXXL.js";
@@ -889,4 +889,4 @@ export {
889
889
  applyBriefingLocationContext,
890
890
  daySummaryAutoOptions
891
891
  };
892
- //# sourceMappingURL=chunk-IGEZE6QB.js.map
892
+ //# sourceMappingURL=chunk-BMYZTZ5D.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-Q3THVX75.js";
4
4
  import {
5
5
  isRecallDisclosure
6
- } from "./chunk-F5O6WEDO.js";
6
+ } from "./chunk-PWF4JXKD.js";
7
7
  import {
8
8
  EngramAccessInputError
9
9
  } from "./chunk-3MUKQQ7A.js";
@@ -165,4 +165,4 @@ export {
165
165
  handleRecallWhyHttpQuery,
166
166
  handleRecallXrayHttpQuery
167
167
  };
168
- //# sourceMappingURL=chunk-7JFQI6DQ.js.map
168
+ //# sourceMappingURL=chunk-BOUFVFV2.js.map
@@ -8,7 +8,7 @@ import {
8
8
  } from "./chunk-S3YM4SZQ.js";
9
9
  import {
10
10
  offlineSyncStorageForSnapshot
11
- } from "./chunk-5LWVTSF7.js";
11
+ } from "./chunk-MOQPEFLN.js";
12
12
  import {
13
13
  iterateOfflineSyncSnapshotFileRecords
14
14
  } from "./chunk-ZHOXXHT5.js";
@@ -250,4 +250,4 @@ export {
250
250
  retainExcludedClassifications,
251
251
  createOfflineSyncManifestStream
252
252
  };
253
- //# sourceMappingURL=chunk-CGO3A7SR.js.map
253
+ //# sourceMappingURL=chunk-BRBB62TS.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  parseXrayFormat
3
- } from "./chunk-VEBYLZQQ.js";
3
+ } from "./chunk-KN6CIN7I.js";
4
4
  import {
5
5
  RECALL_DISCLOSURE_LEVELS,
6
6
  isRecallDisclosure
7
- } from "./chunk-F5O6WEDO.js";
7
+ } from "./chunk-PWF4JXKD.js";
8
8
 
9
9
  // src/recall-xray-cli.ts
10
10
  function parseXrayDisclosureFlag(value) {
@@ -50,4 +50,4 @@ export {
50
50
  parseXrayBudgetFlag,
51
51
  parseXrayCliOptions
52
52
  };
53
- //# sourceMappingURL=chunk-GZBNEZIU.js.map
53
+ //# sourceMappingURL=chunk-DBYAY6UW.js.map
@@ -1,6 +1,3 @@
1
- import {
2
- OKF_RESERVED_BASENAMES
3
- } from "./chunk-PCEYGOSL.js";
4
1
  import {
5
2
  normalizeProjectionPreview
6
3
  } from "./chunk-SCU65EZI.js";
@@ -17,7 +14,62 @@ import {
17
14
  // src/directory-sidecars.ts
18
15
  import { createHash } from "crypto";
19
16
  import { lstatSync, readFileSync, readdirSync, statSync, unlinkSync } from "fs";
17
+ import path2 from "path";
18
+
19
+ // src/okf/type-mapping.ts
20
20
  import path from "path";
21
+ var OKF_TYPE_BY_CATEGORY = Object.freeze({
22
+ fact: "Memory Fact",
23
+ decision: "Decision",
24
+ preference: "Preference",
25
+ commitment: "Commitment",
26
+ relationship: "Relationship",
27
+ principle: "Principle",
28
+ moment: "Moment",
29
+ skill: "Skill",
30
+ correction: "Correction",
31
+ rule: "Rule"
32
+ });
33
+ var OKF_TYPE_FALLBACK = "Memory";
34
+ function okfTypeForCategory(category) {
35
+ return OKF_TYPE_BY_CATEGORY[category] ?? OKF_TYPE_FALLBACK;
36
+ }
37
+ function okfTypeForMemory(fm) {
38
+ return fm.artifactType ? "Artifact" : okfTypeForCategory(fm.category);
39
+ }
40
+ var OKF_TYPE_BY_ENTITY_KIND = Object.freeze({
41
+ person: "Person",
42
+ company: "Company",
43
+ organization: "Organization",
44
+ project: "Project",
45
+ topic: "Topic",
46
+ technology: "Technology",
47
+ place: "Place",
48
+ event: "Event"
49
+ });
50
+ function okfTypeForEntityKind(kind) {
51
+ const normalized = kind?.trim().toLowerCase();
52
+ return normalized !== void 0 && OKF_TYPE_BY_ENTITY_KIND[normalized] || "Entity";
53
+ }
54
+ var OKF_PROFILE_TYPE = "Profile";
55
+ var OKF_QUESTION_TYPE = "Question";
56
+ var OKF_DECISION_RECORD_TYPE = "Decision Record";
57
+ var OKF_ARCHITECTURE_CARD_TYPE = "Architecture Card";
58
+ var OKF_CODE_MODULE_TYPE = "Code Module";
59
+ var OKF_RESERVED_BASENAMES = Object.freeze({
60
+ "index.md": true,
61
+ "log.md": true
62
+ });
63
+ function assertNotOkfReservedBasename(filePath) {
64
+ const basename = path.basename(filePath);
65
+ if (OKF_RESERVED_BASENAMES[basename] === true) {
66
+ throw new Error(
67
+ `OKF reserved basename '${basename}' is not a valid memory file target (${filePath}); OKF \xA76/\xA77 reserves it for bundle-level files.`
68
+ );
69
+ }
70
+ }
71
+
72
+ // src/directory-sidecars.ts
21
73
  var DIRECTORY_SIDECAR_BASENAME = "overview.md";
22
74
  var DIRECTORY_SIDECAR_MARKER = "<!-- remnic-directory-sidecar -->";
23
75
  var NEIGHBORHOOD_ABSTRACT_LABEL = "Neighborhood:";
@@ -28,6 +80,19 @@ var CATEGORY_ROOTS = new Set(RECALL_FALLBACK_DIRS);
28
80
  function parseDirectorySidecarsEnabled(raw) {
29
81
  return coerceBooleanLike(raw, "directorySidecarsEnabled") === true;
30
82
  }
83
+ var sidecarEnabledByDir = /* @__PURE__ */ new Map();
84
+ function setDirectorySidecarsEnabledForDir(memoryDir, enabled) {
85
+ sidecarEnabledByDir.set(path2.resolve(memoryDir), enabled === true);
86
+ }
87
+ function isDirectorySidecarsEnabledForDir(memoryDir) {
88
+ let dir = path2.resolve(memoryDir);
89
+ for (; ; ) {
90
+ if (sidecarEnabledByDir.has(dir)) return sidecarEnabledByDir.get(dir) === true;
91
+ const parent = path2.dirname(dir);
92
+ if (parent === dir) return false;
93
+ dir = parent;
94
+ }
95
+ }
31
96
  var RESERVED_CHILD_BASENAMES = Object.freeze({
32
97
  ...OKF_RESERVED_BASENAMES,
33
98
  [DIRECTORY_SIDECAR_BASENAME]: true
@@ -57,7 +122,7 @@ function directoryFingerprint(dir) {
57
122
  const hash = createHash("sha256");
58
123
  for (const name of memoryChildren(dir)) {
59
124
  try {
60
- const stats = statSync(path.join(dir, name));
125
+ const stats = statSync(path2.join(dir, name));
61
126
  hash.update(`f|${name}|${stats.size}|${Math.trunc(stats.mtimeMs)}
62
127
  `);
63
128
  } catch {
@@ -66,7 +131,7 @@ function directoryFingerprint(dir) {
66
131
  }
67
132
  }
68
133
  for (const name of directoryChildren(dir)) {
69
- hash.update(`d|${name}|${directoryFingerprint(path.join(dir, name))}
134
+ hash.update(`d|${name}|${directoryFingerprint(path2.join(dir, name))}
70
135
  `);
71
136
  }
72
137
  return hash.digest("hex");
@@ -89,15 +154,15 @@ function parseSidecar(content) {
89
154
  return { abstract, overview, childCount, fingerprint };
90
155
  }
91
156
  function sidecarPath(dir) {
92
- return path.join(dir, DIRECTORY_SIDECAR_BASENAME);
157
+ return path2.join(dir, DIRECTORY_SIDECAR_BASENAME);
93
158
  }
94
159
  function renderSidecar(dir, fingerprint, childAbstracts) {
95
160
  const children = memoryChildren(dir);
96
- const childDirs = directoryChildren(dir).filter((name) => childAbstracts.has(path.join(dir, name)));
161
+ const childDirs = directoryChildren(dir).filter((name) => childAbstracts.has(path2.join(dir, name)));
97
162
  if (children.length === 0 && childDirs.length === 0) return null;
98
163
  const previews = children.map((name) => {
99
164
  try {
100
- return normalizeProjectionPreview(readFileSync(path.join(dir, name), "utf8"), 120);
165
+ return normalizeProjectionPreview(readFileSync(path2.join(dir, name), "utf8"), 120);
101
166
  } catch {
102
167
  return "";
103
168
  }
@@ -106,13 +171,13 @@ function renderSidecar(dir, fingerprint, childAbstracts) {
106
171
  (name, index) => previews[index].split(" ").slice(0, 8).join(" ") || name.replace(/\.md$/, "")
107
172
  );
108
173
  const abstract = normalizeProjectionPreview(
109
- `${path.basename(dir)}/ \u2014 ${children.length} memories: ${titles.slice(0, 5).join(" \xB7 ")}`,
174
+ `${path2.basename(dir)}/ \u2014 ${children.length} memories: ${titles.slice(0, 5).join(" \xB7 ")}`,
110
175
  ABSTRACT_MAX_CHARS
111
176
  );
112
177
  const lines = [
113
178
  DIRECTORY_SIDECAR_MARKER,
114
179
  `fingerprint: ${fingerprint}`,
115
- `# ${path.basename(dir)}/ overview`,
180
+ `# ${path2.basename(dir)}/ overview`,
116
181
  "",
117
182
  "## Abstract",
118
183
  abstract,
@@ -124,17 +189,17 @@ function renderSidecar(dir, fingerprint, childAbstracts) {
124
189
  }
125
190
  for (const name of childDirs) {
126
191
  lines.push(`### ${name}/`);
127
- lines.push(childAbstracts.get(path.join(dir, name)) ?? "");
192
+ lines.push(childAbstracts.get(path2.join(dir, name)) ?? "");
128
193
  }
129
194
  lines.push("");
130
195
  return lines.join("\n");
131
196
  }
132
197
  function scopeRoots(memoryDir) {
133
198
  const roots = [memoryDir];
134
- const namespacesRoot = path.join(memoryDir, "namespaces");
199
+ const namespacesRoot = path2.join(memoryDir, "namespaces");
135
200
  for (const entry of listEntries(namespacesRoot)) {
136
- if (entry.isDirectory() && isRealDirectory(path.join(namespacesRoot, entry.name))) {
137
- roots.push(path.join(namespacesRoot, entry.name));
201
+ if (entry.isDirectory() && isRealDirectory(path2.join(namespacesRoot, entry.name))) {
202
+ roots.push(path2.join(namespacesRoot, entry.name));
138
203
  }
139
204
  }
140
205
  return roots;
@@ -144,14 +209,14 @@ function collectSidecarDirs(scopeRoot) {
144
209
  const walk = (dir, isCategoryRoot) => {
145
210
  let carries = memoryChildren(dir).length > 0;
146
211
  for (const name of directoryChildren(dir)) {
147
- carries = walk(path.join(dir, name), false) || carries;
212
+ carries = walk(path2.join(dir, name), false) || carries;
148
213
  }
149
214
  const hasSidecar = readFileOrNull(sidecarPath(dir))?.startsWith(DIRECTORY_SIDECAR_MARKER) === true;
150
215
  if (isCategoryRoot || carries || hasSidecar) dirs.push(dir);
151
216
  return carries;
152
217
  };
153
218
  for (const category of RECALL_FALLBACK_DIRS) {
154
- const categoryDir = path.join(scopeRoot, category);
219
+ const categoryDir = path2.join(scopeRoot, category);
155
220
  if (!isRealDirectory(categoryDir)) continue;
156
221
  walk(categoryDir, true);
157
222
  }
@@ -186,18 +251,18 @@ async function syncSidecarDir(dir, enabled, childAbstracts, written, removed) {
186
251
  function childAbstractsFromDisk(dir) {
187
252
  const abstracts = /* @__PURE__ */ new Map();
188
253
  for (const name of directoryChildren(dir)) {
189
- const childDir = path.join(dir, name);
254
+ const childDir = path2.join(dir, name);
190
255
  const parsed = parseSidecar(readFileOrNull(sidecarPath(childDir)) ?? "");
191
256
  if (parsed) abstracts.set(childDir, parsed.abstract);
192
257
  }
193
258
  return abstracts;
194
259
  }
195
260
  function directorySidecarAncestry(memoryDir, changedPath) {
196
- const root = path.resolve(memoryDir);
197
- const abs = path.isAbsolute(changedPath) ? path.resolve(changedPath) : path.resolve(root, changedPath);
198
- const rel = path.relative(root, abs);
199
- if (rel.startsWith("..") || path.isAbsolute(rel)) return [];
200
- const parts = rel.split(path.sep).filter(Boolean);
261
+ const root = path2.resolve(memoryDir);
262
+ const abs = path2.isAbsolute(changedPath) ? path2.resolve(changedPath) : path2.resolve(root, changedPath);
263
+ const rel = path2.relative(root, abs);
264
+ if (rel.startsWith("..") || path2.isAbsolute(rel)) return [];
265
+ const parts = rel.split(path2.sep).filter(Boolean);
201
266
  const dirParts = isRealDirectory(abs) ? parts : parts.slice(0, -1);
202
267
  let categoryAt = -1;
203
268
  if (dirParts[0] === "namespaces" && dirParts.length >= 3 && CATEGORY_ROOTS.has(dirParts[2] ?? "")) {
@@ -208,7 +273,7 @@ function directorySidecarAncestry(memoryDir, changedPath) {
208
273
  if (categoryAt === -1) return [];
209
274
  const dirs = [];
210
275
  for (let i = dirParts.length; i > categoryAt; i--) {
211
- dirs.push(path.join(root, ...dirParts.slice(0, i)));
276
+ dirs.push(path2.join(root, ...dirParts.slice(0, i)));
212
277
  }
213
278
  return dirs;
214
279
  }
@@ -251,8 +316,8 @@ async function loadDirectorySidecar(dir, options = {}) {
251
316
  if (!refresh) return null;
252
317
  const childAbstracts = /* @__PURE__ */ new Map();
253
318
  for (const name of directoryChildren(dir)) {
254
- const child = await loadDirectorySidecar(path.join(dir, name));
255
- if (child) childAbstracts.set(path.join(dir, name), child.abstract);
319
+ const child = await loadDirectorySidecar(path2.join(dir, name));
320
+ if (child) childAbstracts.set(path2.join(dir, name), child.abstract);
256
321
  }
257
322
  const next = renderSidecar(dir, directoryFingerprint(dir), childAbstracts);
258
323
  if (next === null) {
@@ -275,7 +340,7 @@ async function loadDirectorySidecar(dir, options = {}) {
275
340
  } : null;
276
341
  }
277
342
  async function findDirectorySidecarsForQuery(memoryDir, query, options = {}) {
278
- const scope = options.namespace ? path.join(memoryDir, "namespaces", options.namespace) : memoryDir;
343
+ const scope = options.namespace ? path2.join(memoryDir, "namespaces", options.namespace) : memoryDir;
279
344
  if (!isRealDirectory(scope)) return [];
280
345
  const terms = query.toLowerCase().split(/[^a-z0-9]+/).filter((term) => term.length >= 2);
281
346
  const matches = [];
@@ -295,7 +360,7 @@ async function findDirectorySidecarsForQuery(memoryDir, query, options = {}) {
295
360
  }
296
361
  matches.sort((a, b) => b.score - a.score || a.dir.localeCompare(b.dir));
297
362
  const limit = options.limit ?? DEFAULT_QUERY_LIMIT;
298
- return matches.filter((candidate) => !matches.some((other) => other.dir.startsWith(`${candidate.dir}${path.sep}`))).slice(0, limit);
363
+ return matches.filter((candidate) => !matches.some((other) => other.dir.startsWith(`${candidate.dir}${path2.sep}`))).slice(0, limit);
299
364
  }
300
365
  function attachNeighborhoodAbstract(snippet, abstract) {
301
366
  const line = `${NEIGHBORHOOD_ABSTRACT_LABEL} ${abstract}`;
@@ -305,22 +370,27 @@ function attachNeighborhoodAbstract(snippet, abstract) {
305
370
  ${snippet}`;
306
371
  }
307
372
  function mostSpecificSidecarForHit(memoryDir, hitPath, matches) {
308
- if (path.basename(hitPath) === DIRECTORY_SIDECAR_BASENAME) return null;
309
- const abs = path.isAbsolute(hitPath) ? path.resolve(hitPath) : path.resolve(memoryDir, hitPath);
373
+ if (path2.basename(hitPath) === DIRECTORY_SIDECAR_BASENAME) return null;
374
+ const abs = path2.isAbsolute(hitPath) ? path2.resolve(hitPath) : path2.resolve(memoryDir, hitPath);
310
375
  let best = null;
311
376
  for (const match of matches) {
312
- const rel = path.relative(match.dir, abs);
313
- if (rel === "" || rel.startsWith("..") || path.isAbsolute(rel)) continue;
377
+ const rel = path2.relative(match.dir, abs);
378
+ if (rel === "" || rel.startsWith("..") || path2.isAbsolute(rel)) continue;
314
379
  if (best === null || match.dir.length > best.dir.length) best = match;
315
380
  }
316
381
  return best;
317
382
  }
318
383
  async function applyDirectorySidecarDrillDown(memoryDir, query, hits, options = {}) {
319
- if (options.enabled !== true) return [...hits];
320
- const matches = await findDirectorySidecarsForQuery(memoryDir, query, {
321
- namespace: options.namespace,
322
- refresh: false
323
- });
384
+ if (options.enabled !== true) return hits;
385
+ const namespaces = options.namespaces;
386
+ if (namespaces !== void 0 && namespaces.length === 0) return hits;
387
+ const scopes = namespaces && namespaces.length > 0 ? namespaces : [options.namespace];
388
+ const matchLists = await Promise.all(
389
+ scopes.map(
390
+ (namespace) => findDirectorySidecarsForQuery(memoryDir, query, { namespace, refresh: false })
391
+ )
392
+ );
393
+ const matches = matchLists.flat();
324
394
  const fresh = matches.filter((match) => match.fresh && match.abstract.length > 0);
325
395
  if (fresh.length === 0) return [...hits];
326
396
  return hits.map((hit) => {
@@ -332,10 +402,22 @@ async function applyDirectorySidecarDrillDown(memoryDir, query, hits, options =
332
402
  }
333
403
 
334
404
  export {
405
+ okfTypeForCategory,
406
+ okfTypeForMemory,
407
+ okfTypeForEntityKind,
408
+ OKF_PROFILE_TYPE,
409
+ OKF_QUESTION_TYPE,
410
+ OKF_DECISION_RECORD_TYPE,
411
+ OKF_ARCHITECTURE_CARD_TYPE,
412
+ OKF_CODE_MODULE_TYPE,
413
+ OKF_RESERVED_BASENAMES,
414
+ assertNotOkfReservedBasename,
335
415
  DIRECTORY_SIDECAR_BASENAME,
336
416
  DIRECTORY_SIDECAR_MARKER,
337
417
  NEIGHBORHOOD_ABSTRACT_LABEL,
338
418
  parseDirectorySidecarsEnabled,
419
+ setDirectorySidecarsEnabledForDir,
420
+ isDirectorySidecarsEnabledForDir,
339
421
  directoryFingerprint,
340
422
  directorySidecarAncestry,
341
423
  runDirectorySidecarMaintenance,
@@ -344,4 +426,4 @@ export {
344
426
  findDirectorySidecarsForQuery,
345
427
  applyDirectorySidecarDrillDown
346
428
  };
347
- //# sourceMappingURL=chunk-U3NBO4IX.js.map
429
+ //# sourceMappingURL=chunk-FAT6HY7N.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/directory-sidecars.ts","../src/okf/type-mapping.ts"],"sourcesContent":["/**\n * @remnic/core — per-directory abstract/overview sidecars (issue #2977).\n *\n * One derived `overview.md` per memory directory (category roots and every\n * directory beneath them, including `namespaces/<ns>/` subtrees), rendered\n * bottom-up from existing memory content:\n *\n * - the ABSTRACT is a single line (<=256 chars) composed from child titles;\n * - the OVERVIEW body lists one preview line per child memory and embeds\n * each child DIRECTORY's abstract, so a parent summarizes its subtree\n * without embedding full child overviews.\n *\n * Determinism: no LLM, no embeddings. Content is assembled with the same\n * preview machinery the OKF index files use (`normalizeProjectionPreview`).\n *\n * Invalidation: each sidecar stores a content-free fingerprint of its subtree\n * (child name|size|mtime for files, recursive fingerprints for child dirs).\n * Any add/edit/delete anywhere below a directory changes its fingerprint, so\n * `loadDirectorySidecar` can detect staleness with `readdir`+`stat` alone and\n * refresh without reading child memory files first. Eager regeneration runs\n * through {@link runDirectorySidecarMaintenance}; lazy refresh on read covers\n * direct-write paths that bypass scheduled maintenance (Gotcha #43).\n *\n * Isolation: sidecars are derived artifacts, excluded from generic recall via\n * `isGenericRecallExcludedPath` (basename match, the same tradeoff OKF makes\n * for `index.md`/`log.md`) while staying full-text searchable. Files at the\n * sidecar path WITHOUT the marker are user content: never overwritten, never\n * removed.\n *\n * Layer 2: {@link refreshDirectorySidecarsAfterWrite} refreshes only the\n * changed directory and its category ancestors. `enabled: false` is a\n * proven no-op (no reads, no writes).\n *\n * Layer 3 (this slice): {@link applyDirectorySidecarDrillDown} scores\n * fresh sidecars and attaches the winning directory's abstract to hits.\n * `enabled` stays a function argument — not a parseConfig key (`config.ts`\n * and `types.ts` are at their file-size ratchets). Retrieval never writes.\n * xray trajectory, storage write-hook, parseConfig wiring, and LLM\n * summarization remain later layers on #2977.\n */\n\nimport { createHash } from \"node:crypto\";\nimport { lstatSync, readFileSync, readdirSync, statSync, unlinkSync } from \"node:fs\";\nimport path from \"node:path\";\n\nimport { coerceBooleanLike } from \"./connectors/coerce.js\";\nimport { writeFileAtomically } from \"./maintenance/atomic-file.js\";\nimport { normalizeProjectionPreview } from \"./memory-projection-format.js\";\nimport { OKF_RESERVED_BASENAMES } from \"./okf/type-mapping.js\";\nimport { RECALL_FALLBACK_DIRS } from \"./utils/category-dir.js\";\n\nexport const DIRECTORY_SIDECAR_BASENAME = \"overview.md\";\nexport const DIRECTORY_SIDECAR_MARKER = \"<!-- remnic-directory-sidecar -->\";\n/** Prefix prepended to a hit snippet when a fresh directory abstract attaches. */\nexport const NEIGHBORHOOD_ABSTRACT_LABEL = \"Neighborhood:\";\n\nconst ABSTRACT_MAX_CHARS = 256;\nconst OVERVIEW_MAX_CHARS = 4000;\nconst DEFAULT_QUERY_LIMIT = 5;\nconst CATEGORY_ROOTS: ReadonlySet<string> = new Set(RECALL_FALLBACK_DIRS);\n\n/** Config fields this slice owns. Mix into `PluginConfig` in a later layer. */\nexport interface DirectorySidecarSettings {\n /** Populate sidecars on memory writes. Default false. */\n directorySidecarsEnabled: boolean;\n}\n\n/** Strict off-default: only an explicit true/\"true\"/1 opts in. */\nexport function parseDirectorySidecarsEnabled(raw: unknown): boolean {\n return coerceBooleanLike(raw, \"directorySidecarsEnabled\") === true;\n}\n\nconst sidecarEnabledByDir = new Map<string, boolean>();\n\nexport function setDirectorySidecarsEnabledForDir(memoryDir: string, enabled: boolean): void {\n sidecarEnabledByDir.set(path.resolve(memoryDir), enabled === true);\n}\n\nexport function isDirectorySidecarsEnabledForDir(memoryDir: string): boolean {\n let dir = path.resolve(memoryDir);\n for (;;) {\n if (sidecarEnabledByDir.has(dir)) return sidecarEnabledByDir.get(dir) === true;\n const parent = path.dirname(dir);\n if (parent === dir) return false;\n dir = parent;\n }\n}\n\n/** Basenames never treated as child memories (ours plus OKF's reserved ones). */\nconst RESERVED_CHILD_BASENAMES: Readonly<Record<string, true>> = Object.freeze({\n ...OKF_RESERVED_BASENAMES,\n [DIRECTORY_SIDECAR_BASENAME]: true,\n});\n\nexport interface DirectorySidecar {\n /** Absolute directory the sidecar describes. */\n readonly dir: string;\n /** Single-line L0 abstract (<=256 chars). */\n readonly abstract: string;\n /** Abstract plus the per-child preview body (<=4000 chars). */\n readonly overview: string;\n /** Number of memory `.md` children in this directory. */\n readonly childCount: number;\n /** False when the stored fingerprint no longer matches the subtree. */\n readonly fresh: boolean;\n}\n\nexport interface DirectorySidecarMatch extends DirectorySidecar {\n readonly score: number;\n}\n\n/** Minimal hit shape drill-down mutates. Extra fields pass through. */\nexport interface DirectorySidecarHit {\n path: string;\n snippet: string;\n score: number;\n}\n\nexport interface DirectorySidecarReport {\n written: string[];\n removed: string[];\n}\n\ninterface ParsedSidecar {\n abstract: string;\n overview: string;\n childCount: number;\n fingerprint: string;\n}\n\nfunction listEntries(dir: string) {\n try {\n return readdirSync(dir, { withFileTypes: true });\n } catch {\n return [];\n }\n}\n\n/** Root check that refuses symlinks (fs-boundary rule, PRs #1938/#1999). */\nfunction isRealDirectory(entryPath: string): boolean {\n try {\n const stats = lstatSync(entryPath);\n return !stats.isSymbolicLink() && stats.isDirectory();\n } catch {\n return false;\n }\n}\n\nfunction memoryChildren(dir: string): string[] {\n // Dirent.isFile() is false for symlinks, so a linked memory never enters the corpus.\n return listEntries(dir)\n .filter((entry) => entry.isFile() && !RESERVED_CHILD_BASENAMES[entry.name] && entry.name.endsWith(\".md\"))\n .map((entry) => entry.name)\n .sort((a, b) => a.localeCompare(b));\n}\n\nfunction directoryChildren(dir: string): string[] {\n // Dirent.isDirectory() is false for symlinks (fs-boundary rule, PRs #1938/#1999).\n return listEntries(dir)\n .filter((entry) => entry.isDirectory())\n .map((entry) => entry.name)\n .sort((a, b) => a.localeCompare(b));\n}\n\n/**\n * Content-free subtree fingerprint: sha256 over sorted child descriptors.\n * Files contribute `name|size|mtimeMs`; directories contribute their own\n * recursive fingerprint, so any change below a directory invalidates every\n * ancestor. Reads no file contents.\n */\nexport function directoryFingerprint(dir: string): string {\n const hash = createHash(\"sha256\");\n for (const name of memoryChildren(dir)) {\n try {\n const stats = statSync(path.join(dir, name));\n hash.update(`f|${name}|${stats.size}|${Math.trunc(stats.mtimeMs)}\\n`);\n } catch {\n hash.update(`f|${name}|missing\\n`);\n }\n }\n for (const name of directoryChildren(dir)) {\n hash.update(`d|${name}|${directoryFingerprint(path.join(dir, name))}\\n`);\n }\n return hash.digest(\"hex\");\n}\n\nfunction readFileOrNull(target: string): string | null {\n try {\n return readFileSync(target, \"utf8\");\n } catch {\n return null;\n }\n}\n\nfunction parseSidecar(content: string): ParsedSidecar | null {\n if (!content.startsWith(DIRECTORY_SIDECAR_MARKER)) return null;\n const fingerprint = /^fingerprint: ([0-9a-f]{64})$/m.exec(content)?.[1];\n if (!fingerprint) return null;\n const abstract = /^## Abstract\\n([^\\n]+)$/m.exec(content)?.[1] ?? \"\";\n const overviewStart = content.indexOf(\"## Abstract\");\n const overview =\n overviewStart === -1 ? \"\" : content.slice(overviewStart, overviewStart + OVERVIEW_MAX_CHARS).trim();\n // The `* name — preview` child bullets are the rendered child count.\n const childCount = (content.match(/^\\* .+$/gm) ?? []).length;\n return { abstract, overview, childCount, fingerprint };\n}\n\nfunction sidecarPath(dir: string): string {\n return path.join(dir, DIRECTORY_SIDECAR_BASENAME);\n}\n\nfunction renderSidecar(dir: string, fingerprint: string, childAbstracts: Map<string, string>): string | null {\n const children = memoryChildren(dir);\n const childDirs = directoryChildren(dir).filter((name) => childAbstracts.has(path.join(dir, name)));\n if (children.length === 0 && childDirs.length === 0) return null;\n\n const previews = children.map((name) => {\n try {\n return normalizeProjectionPreview(readFileSync(path.join(dir, name), \"utf8\"), 120);\n } catch {\n return \"\";\n }\n });\n const titles = children.map(\n (name, index) => previews[index].split(\" \").slice(0, 8).join(\" \") || name.replace(/\\.md$/, \"\"),\n );\n const abstract = normalizeProjectionPreview(\n `${path.basename(dir)}/ — ${children.length} memories: ${titles.slice(0, 5).join(\" · \")}`,\n ABSTRACT_MAX_CHARS,\n );\n\n const lines = [\n DIRECTORY_SIDECAR_MARKER,\n `fingerprint: ${fingerprint}`,\n `# ${path.basename(dir)}/ overview`,\n \"\",\n \"## Abstract\",\n abstract,\n \"\",\n \"## Children\",\n ];\n for (const [index, name] of children.entries()) {\n lines.push(`* ${name} — ${previews[index]}`);\n }\n for (const name of childDirs) {\n lines.push(`### ${name}/`);\n lines.push(childAbstracts.get(path.join(dir, name)) ?? \"\");\n }\n lines.push(\"\");\n return lines.join(\"\\n\");\n}\n\n/** Scope roots whose category subtrees carry sidecars: the memory root plus every namespace root. */\nfunction scopeRoots(memoryDir: string): string[] {\n const roots = [memoryDir];\n const namespacesRoot = path.join(memoryDir, \"namespaces\");\n for (const entry of listEntries(namespacesRoot)) {\n if (entry.isDirectory() && isRealDirectory(path.join(namespacesRoot, entry.name))) {\n roots.push(path.join(namespacesRoot, entry.name));\n }\n }\n return roots;\n}\n\n/**\n * Every directory that should carry a sidecar, deepest first (post-order) so\n * parents render after their children and can embed child abstracts.\n */\nfunction collectSidecarDirs(scopeRoot: string): string[] {\n const dirs: string[] = [];\n const walk = (dir: string, isCategoryRoot: boolean): boolean => {\n let carries = memoryChildren(dir).length > 0;\n for (const name of directoryChildren(dir)) {\n carries = walk(path.join(dir, name), false) || carries;\n }\n // A directory that stopped carrying memories must still be visited so its\n // orphaned sidecar can be pruned or rewritten (cache-invalidation completeness).\n const hasSidecar = readFileOrNull(sidecarPath(dir))?.startsWith(DIRECTORY_SIDECAR_MARKER) === true;\n if (isCategoryRoot || carries || hasSidecar) dirs.push(dir);\n return carries;\n };\n for (const category of RECALL_FALLBACK_DIRS) {\n const categoryDir = path.join(scopeRoot, category);\n if (!isRealDirectory(categoryDir)) continue;\n walk(categoryDir, true);\n }\n return dirs;\n}\n\nasync function syncSidecarDir(\n dir: string,\n enabled: boolean,\n childAbstracts: Map<string, string>,\n written: string[],\n removed: string[],\n): Promise<void> {\n const target = sidecarPath(dir);\n const raw = readFileOrNull(target);\n const existing = raw !== null && raw.startsWith(DIRECTORY_SIDECAR_MARKER) ? raw : null;\n if (!enabled) {\n if (existing !== null) {\n unlinkSync(target);\n removed.push(target);\n }\n return;\n }\n const next = renderSidecar(dir, directoryFingerprint(dir), childAbstracts);\n if (next === null) {\n if (existing !== null) {\n unlinkSync(target);\n removed.push(target);\n }\n return;\n }\n const parsedNext = parseSidecar(next);\n if (parsedNext) childAbstracts.set(dir, parsedNext.abstract);\n if (raw === next) return;\n if (existing === null && raw !== null) return; // user-authored file: hands off\n await writeFileAtomically(target, next);\n written.push(target);\n}\n\nfunction childAbstractsFromDisk(dir: string): Map<string, string> {\n const abstracts = new Map<string, string>();\n for (const name of directoryChildren(dir)) {\n const childDir = path.join(dir, name);\n const parsed = parseSidecar(readFileOrNull(sidecarPath(childDir)) ?? \"\");\n if (parsed) abstracts.set(childDir, parsed.abstract);\n }\n return abstracts;\n}\n\n/**\n * Category-root ancestry of a changed memory path, deepest first.\n * Paths outside a recall category return `[]` so writes to `state/` or\n * `namespaces/<ns>/` itself never mint a sidecar.\n */\nexport function directorySidecarAncestry(memoryDir: string, changedPath: string): string[] {\n const root = path.resolve(memoryDir);\n const abs = path.isAbsolute(changedPath) ? path.resolve(changedPath) : path.resolve(root, changedPath);\n const rel = path.relative(root, abs);\n if (rel.startsWith(\"..\") || path.isAbsolute(rel)) return [];\n const parts = rel.split(path.sep).filter(Boolean);\n const dirParts = isRealDirectory(abs) ? parts : parts.slice(0, -1);\n let categoryAt = -1;\n if (dirParts[0] === \"namespaces\" && dirParts.length >= 3 && CATEGORY_ROOTS.has(dirParts[2] ?? \"\")) {\n categoryAt = 2;\n } else if (CATEGORY_ROOTS.has(dirParts[0] ?? \"\")) {\n categoryAt = 0;\n }\n if (categoryAt === -1) return [];\n const dirs: string[] = [];\n for (let i = dirParts.length; i > categoryAt; i--) {\n dirs.push(path.join(root, ...dirParts.slice(0, i)));\n }\n return dirs;\n}\n\n/**\n * Regenerates directory sidecars incrementally. Unchanged sidecars are left\n * untouched; emptied directories lose theirs; user files at the sidecar path\n * (no marker) are never written or removed. With `enabled: false` every\n * generated sidecar is removed — the OKF index-maintenance contract.\n */\nexport async function runDirectorySidecarMaintenance(\n memoryDir: string,\n enabled: boolean,\n): Promise<DirectorySidecarReport> {\n const written: string[] = [];\n const removed: string[] = [];\n for (const scope of scopeRoots(memoryDir)) {\n const childAbstracts = new Map<string, string>();\n for (const dir of collectSidecarDirs(scope)) {\n await syncSidecarDir(dir, enabled, childAbstracts, written, removed);\n }\n }\n return { written, removed };\n}\n\n/**\n * Incremental write-path refresh: only the changed directory and its\n * category ancestors, using the same fingerprint/render path as maintenance.\n * `enabled: false` returns immediately — no readdir, no writes.\n */\nexport async function refreshDirectorySidecarsAfterWrite(\n memoryDir: string,\n changedPath: string,\n enabled: boolean,\n): Promise<DirectorySidecarReport> {\n if (!enabled) return { written: [], removed: [] };\n const written: string[] = [];\n const removed: string[] = [];\n for (const dir of directorySidecarAncestry(memoryDir, changedPath)) {\n await syncSidecarDir(dir, true, childAbstractsFromDisk(dir), written, removed);\n }\n return { written, removed };\n}\n\n/**\n * Read a directory's sidecar for retrieval. By default a stale sidecar is\n * refreshed in place (child directories first), which is what makes direct\n * writes that bypass maintenance still converge. With `{ refresh: false }`\n * the stored sidecar is returned as-is with `fresh: false` so callers can\n * observe staleness without writes.\n */\nexport async function loadDirectorySidecar(\n dir: string,\n options: { refresh?: boolean } = {},\n): Promise<DirectorySidecar | null> {\n const refresh = options.refresh !== false;\n const target = sidecarPath(dir);\n const stored = readFileOrNull(target);\n const generated = stored !== null && stored.startsWith(DIRECTORY_SIDECAR_MARKER);\n const parsed = generated ? parseSidecar(stored) : null;\n const fingerprint = directoryFingerprint(dir);\n if (parsed !== null && (parsed.fingerprint === fingerprint || !refresh)) {\n return {\n dir,\n abstract: parsed.abstract,\n overview: parsed.overview,\n childCount: parsed.childCount,\n fresh: parsed.fingerprint === fingerprint,\n };\n }\n if (!refresh) return null;\n\n // Refresh bottom-up so this directory's body embeds current child abstracts.\n const childAbstracts = new Map<string, string>();\n for (const name of directoryChildren(dir)) {\n const child = await loadDirectorySidecar(path.join(dir, name));\n if (child) childAbstracts.set(path.join(dir, name), child.abstract);\n }\n const next = renderSidecar(dir, directoryFingerprint(dir), childAbstracts);\n if (next === null) {\n if (generated) unlinkSync(target);\n return null;\n }\n if (readFileOrNull(target) !== next) {\n if (stored !== null && !generated) {\n // User-authored file at the sidecar path: serve nothing rather than clobber it.\n return null;\n }\n await writeFileAtomically(target, next);\n }\n const refreshed = parseSidecar(next);\n return refreshed\n ? {\n dir,\n abstract: refreshed.abstract,\n overview: refreshed.overview,\n childCount: refreshed.childCount,\n fresh: true,\n }\n : null;\n}\n\n/**\n * Overview-query primitive for hierarchical retrieval (layer 1 of #2977):\n * score every sidecar's abstract (+3 per query term) and overview (+1 per\n * term) lexically, then return the most specific matches — when both a\n * directory and its descendant match, only the descendant is kept, matching\n * the drill-down semantics the full retrieval mode will build on.\n */\nexport async function findDirectorySidecarsForQuery(\n memoryDir: string,\n query: string,\n options: { namespace?: string; limit?: number; refresh?: boolean } = {},\n): Promise<DirectorySidecarMatch[]> {\n const scope = options.namespace ? path.join(memoryDir, \"namespaces\", options.namespace) : memoryDir;\n if (!isRealDirectory(scope)) return [];\n const terms = query\n .toLowerCase()\n .split(/[^a-z0-9]+/)\n .filter((term) => term.length >= 2);\n\n const matches: DirectorySidecarMatch[] = [];\n for (const root of scopeRoots(scope)) {\n for (const dir of collectSidecarDirs(root)) {\n const sidecar = await loadDirectorySidecar(dir, { refresh: options.refresh });\n if (!sidecar) continue;\n const abstractLower = sidecar.abstract.toLowerCase();\n const overviewLower = sidecar.overview.toLowerCase();\n let score = 0;\n for (const term of terms) {\n if (abstractLower.includes(term)) score += 3;\n else if (overviewLower.includes(term)) score += 1;\n }\n if (score > 0) matches.push({ ...sidecar, score });\n }\n }\n matches.sort((a, b) => b.score - a.score || a.dir.localeCompare(b.dir));\n\n const limit = options.limit ?? DEFAULT_QUERY_LIMIT;\n return matches\n .filter((candidate) => !matches.some((other) => other.dir.startsWith(`${candidate.dir}${path.sep}`)))\n .slice(0, limit);\n}\n\nfunction attachNeighborhoodAbstract(snippet: string, abstract: string): string {\n const line = `${NEIGHBORHOOD_ABSTRACT_LABEL} ${abstract}`;\n if (snippet === line || snippet.startsWith(`${line}\\n`)) return snippet;\n return snippet.length === 0 ? line : `${line}\\n${snippet}`;\n}\n\nfunction mostSpecificSidecarForHit(\n memoryDir: string,\n hitPath: string,\n matches: readonly DirectorySidecarMatch[],\n): DirectorySidecarMatch | null {\n if (path.basename(hitPath) === DIRECTORY_SIDECAR_BASENAME) return null;\n const abs = path.isAbsolute(hitPath) ? path.resolve(hitPath) : path.resolve(memoryDir, hitPath);\n let best: DirectorySidecarMatch | null = null;\n for (const match of matches) {\n const rel = path.relative(match.dir, abs);\n if (rel === \"\" || rel.startsWith(\"..\") || path.isAbsolute(rel)) continue;\n if (best === null || match.dir.length > best.dir.length) best = match;\n }\n return best;\n}\n\n/**\n * Retrieval drill-down (layer 3 of #2977): score fresh directory sidecars\n * and attach the winning neighborhood abstract to hits under that directory.\n * `enabled: false` (the default) returns hits unchanged with no I/O.\n * Never writes. Does not reorder. parseConfig is not consulted.\n */\nexport async function applyDirectorySidecarDrillDown<T extends DirectorySidecarHit>(\n memoryDir: string,\n query: string,\n hits: readonly T[],\n options: { enabled?: boolean; namespace?: string; namespaces?: readonly string[] } = {},\n): Promise<T[]> {\n if (options.enabled !== true) return hits as T[];\n const namespaces = options.namespaces;\n if (namespaces !== undefined && namespaces.length === 0) return hits as T[];\n const scopes = namespaces && namespaces.length > 0 ? namespaces : [options.namespace];\n const matchLists = await Promise.all(\n scopes.map((namespace) =>\n findDirectorySidecarsForQuery(memoryDir, query, { namespace, refresh: false }),\n ),\n );\n const matches = matchLists.flat();\n const fresh = matches.filter((match) => match.fresh && match.abstract.length > 0);\n if (fresh.length === 0) return [...hits];\n return hits.map((hit) => {\n const match = mostSpecificSidecarForHit(memoryDir, hit.path, fresh);\n if (!match) return hit;\n const snippet = attachNeighborhoodAbstract(hit.snippet, match.abstract);\n return snippet === hit.snippet ? hit : { ...hit, snippet };\n });\n}\n","/**\n * OKF v0.1 `type` mapping (issue #1946) — the single source of truth for\n * the inert `type` metadata emitted alongside Remnic's canonical fields.\n *\n * `category` remains the canonical internal field; `type` is\n * presentation/interop metadata for OKF consumers and NEVER overrides\n * `category` on parse (the parser reads `type` into its own field only).\n */\nimport path from \"node:path\";\n\n/** OKF `type` values derived from Remnic memory categories. */\nexport const OKF_TYPE_BY_CATEGORY: Readonly<Record<string, string>> = Object.freeze({\n fact: \"Memory Fact\",\n decision: \"Decision\",\n preference: \"Preference\",\n commitment: \"Commitment\",\n relationship: \"Relationship\",\n principle: \"Principle\",\n moment: \"Moment\",\n skill: \"Skill\",\n correction: \"Correction\",\n rule: \"Rule\",\n});\n\n/** Fallback for categories not listed above (unknown/future categories). */\nexport const OKF_TYPE_FALLBACK = \"Memory\";\n\n/** Stable domain seam over the category table (single mapping source, AGENTS.md pattern 9). */\nexport function okfTypeForCategory(category: string): string {\n return OKF_TYPE_BY_CATEGORY[category] ?? OKF_TYPE_FALLBACK;\n}\n\n/** Artifact memories report `Artifact` regardless of their storage category. */\nexport function okfTypeForMemory(fm: { category: string; artifactType?: string }): string {\n return fm.artifactType ? \"Artifact\" : okfTypeForCategory(fm.category);\n}\n\n/** OKF types for entity files, derived from the entity kind. */\nexport const OKF_TYPE_BY_ENTITY_KIND: Readonly<Record<string, string>> = Object.freeze({\n person: \"Person\",\n company: \"Company\",\n organization: \"Organization\",\n project: \"Project\",\n topic: \"Topic\",\n technology: \"Technology\",\n place: \"Place\",\n event: \"Event\",\n});\n\n/** Stable domain seam over the entity-kind table (single mapping source). */\nexport function okfTypeForEntityKind(kind: string | undefined): string {\n const normalized = kind?.trim().toLowerCase();\n return (normalized !== undefined && OKF_TYPE_BY_ENTITY_KIND[normalized]) || \"Entity\";\n}\n\n/** Fixed OKF types for non-memory bundle files. */\nexport const OKF_PROFILE_TYPE = \"Profile\";\nexport const OKF_QUESTION_TYPE = \"Question\";\nexport const OKF_DECISION_RECORD_TYPE = \"Decision Record\";\nexport const OKF_ARCHITECTURE_CARD_TYPE = \"Architecture Card\";\nexport const OKF_CODE_MODULE_TYPE = \"Code Module\";\n\n/**\n * OKF §6/§7 reserve `index.md` and `log.md` for bundle-level files with a\n * different contract. Remnic never writes them (separate issue), and writes\n * targeting those basenames are rejected outright so a stray ID can never\n * shadow a reserved bundle file.\n */\nexport const OKF_RESERVED_BASENAMES: Readonly<Record<string, true>> = Object.freeze({\n \"index.md\": true,\n \"log.md\": true,\n});\n\nexport function assertNotOkfReservedBasename(filePath: string): void {\n const basename = path.basename(filePath);\n if (OKF_RESERVED_BASENAMES[basename] === true) {\n throw new Error(\n `OKF reserved basename '${basename}' is not a valid memory file target (${filePath}); OKF §6/§7 reserves it for bundle-level files.`,\n );\n }\n}\n"],"mappings":"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","names":["path","path"]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  runLocationSync
3
- } from "./chunk-WDP7CJZQ.js";
3
+ } from "./chunk-XC4MDMQE.js";
4
4
  import {
5
5
  log
6
6
  } from "./chunk-3WCASNQZ.js";
@@ -58,4 +58,4 @@ export {
58
58
  LOCATION_SYNC_DEFAULT_INTERVAL_MS,
59
59
  startLocationAutoSync
60
60
  };
61
- //# sourceMappingURL=chunk-S5FWSNLI.js.map
61
+ //# sourceMappingURL=chunk-FCVPZIHF.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-DBB5JPSL.js";
4
4
  import {
5
5
  isGenericRecallExcludedPath
6
- } from "./chunk-SB4ZWVKI.js";
6
+ } from "./chunk-YPWOZ6ME.js";
7
7
  import {
8
8
  isChangeOrientedQuery
9
9
  } from "./chunk-EH3HNCAM.js";
@@ -69,4 +69,4 @@ export {
69
69
  filterRecentScanMemoriesForStateView,
70
70
  indexStateViewAnnotatedResults
71
71
  };
72
- //# sourceMappingURL=chunk-B5EZWPSM.js.map
72
+ //# sourceMappingURL=chunk-FUWW7ED4.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-B7RWBZXW.js";
4
4
  import {
5
5
  StorageManager
6
- } from "./chunk-ZPED47SP.js";
6
+ } from "./chunk-6RBUAPQT.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-YCYFXA6P.js.map
112
+ //# sourceMappingURL=chunk-GN7YTM5I.js.map
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-H3FZVNRN.js";
14
14
  import {
15
15
  ExtractionDeadlineError
16
- } from "./chunk-S52VKUUW.js";
16
+ } from "./chunk-NRPLDEFR.js";
17
17
  import {
18
18
  resolvePrincipal
19
19
  } from "./chunk-Y23L4YJV.js";
@@ -801,4 +801,4 @@ var SmartBuffer = class {
801
801
  export {
802
802
  SmartBuffer
803
803
  };
804
- //# sourceMappingURL=chunk-XDOXR3U6.js.map
804
+ //# sourceMappingURL=chunk-HC4RWJR3.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  rebuildMemoryProjection
3
- } from "./chunk-LH6UP5SR.js";
3
+ } from "./chunk-IV2CY3RE.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-JOMGKV72.js.map
35
+ //# sourceMappingURL=chunk-HKPGEFIT.js.map
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-AERXJCOG.js";
11
11
  import {
12
12
  deriveSourceConnector
13
- } from "./chunk-S52VKUUW.js";
13
+ } from "./chunk-NRPLDEFR.js";
14
14
  import {
15
15
  resolvePipelineProcessingCapabilities
16
16
  } from "./chunk-BMXEBWBT.js";
@@ -112,4 +112,4 @@ export {
112
112
  renderExtractionConversation,
113
113
  applyGroundingWithConnector
114
114
  };
115
- //# sourceMappingURL=chunk-MB3HMRXM.js.map
115
+ //# sourceMappingURL=chunk-I6PZTU3Q.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  defineOperation
3
- } from "./chunk-OB2YI57R.js";
3
+ } from "./chunk-5D6IMOW6.js";
4
4
  import {
5
5
  EngramAccessInputError
6
6
  } from "./chunk-3MUKQQ7A.js";
@@ -71,4 +71,4 @@ defineOperation({
71
71
  })
72
72
  })
73
73
  });
74
- //# sourceMappingURL=chunk-6BSPRNFF.js.map
74
+ //# sourceMappingURL=chunk-IGJL6JOD.js.map