@remnic/core 9.69.50 → 9.69.52

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 (582) hide show
  1. package/dist/access-admin-ops-surface.d.ts +14 -14
  2. package/dist/access-admin-ops-surface.js +60 -60
  3. package/dist/access-audit.d.ts +1 -0
  4. package/dist/access-audit.js +2 -2
  5. package/dist/access-authorization-probe.d.ts +14 -14
  6. package/dist/access-authorization-probe.js +61 -61
  7. package/dist/access-boundary.d.ts +14 -14
  8. package/dist/access-boundary.js +60 -60
  9. package/dist/access-cli.js +121 -120
  10. package/dist/access-cli.js.map +1 -1
  11. package/dist/access-coding-context-resolution.d.ts +1 -1
  12. package/dist/access-extraction-force-flush.d.ts +14 -14
  13. package/dist/access-extraction-force-flush.js +60 -60
  14. package/dist/access-health-types.d.ts +1 -1
  15. package/dist/access-http-briefing.d.ts +14 -14
  16. package/dist/access-http-briefing.js +61 -61
  17. package/dist/access-http-lcm-compaction.d.ts +14 -14
  18. package/dist/access-http-lifecycle-flush.d.ts +14 -14
  19. package/dist/access-http-offline-stream.d.ts +14 -14
  20. package/dist/access-http-query.d.ts +2 -2
  21. package/dist/access-http-query.js +62 -62
  22. package/dist/access-http.d.ts +15 -15
  23. package/dist/access-http.js +80 -80
  24. package/dist/access-identity-continuity-surface.d.ts +11 -11
  25. package/dist/access-identity-continuity-surface.js +60 -60
  26. package/dist/access-lcm-surface.d.ts +14 -14
  27. package/dist/access-lcm-surface.js +60 -60
  28. package/dist/access-mcp-output-schemas.js +1 -1
  29. package/dist/access-mcp-shared-context-tools.d.ts +14 -14
  30. package/dist/access-mcp.d.ts +14 -14
  31. package/dist/access-mcp.js +71 -71
  32. package/dist/access-memory-search-fanout.d.ts +2 -2
  33. package/dist/{access-namespace-preflight-C1q3XuAc.d.ts → access-namespace-preflight-U9RAdxqZ.d.ts} +1 -1
  34. package/dist/access-namespace-preflight.d.ts +3 -3
  35. package/dist/access-namespace-preflight.js +60 -60
  36. package/dist/access-observe-transcript.d.ts +11 -11
  37. package/dist/access-observe-write-category.d.ts +3 -3
  38. package/dist/access-observe-write-category.js +7 -7
  39. package/dist/access-observe-write-surface.d.ts +14 -14
  40. package/dist/access-observe-write-surface.js +60 -60
  41. package/dist/access-offline-manifest.d.ts +11 -11
  42. package/dist/access-offline-manifest.js +5 -5
  43. package/dist/access-operations-batch.js +62 -62
  44. package/dist/access-operations.d.ts +14 -14
  45. package/dist/access-operations.js +69 -69
  46. package/dist/access-recall-concurrency.d.ts +14 -14
  47. package/dist/access-recall-concurrency.js +60 -60
  48. package/dist/access-recall-response.d.ts +14 -14
  49. package/dist/access-recall-response.js +60 -60
  50. package/dist/access-recall-surface.d.ts +15 -15
  51. package/dist/access-recall-surface.js +60 -60
  52. package/dist/access-schema.d.ts +1 -1
  53. package/dist/access-schema.js +4 -4
  54. package/dist/{access-service-BZaC-RZw.d.ts → access-service-CUNM5RfA.d.ts} +9 -9
  55. package/dist/access-service-helpers.d.ts +14 -14
  56. package/dist/access-service.d.ts +14 -14
  57. package/dist/access-service.js +60 -60
  58. package/dist/access-surface-catalog.d.ts +14 -14
  59. package/dist/access-surface-catalog.js +62 -62
  60. package/dist/access-wearables-meetings-surface.d.ts +4 -4
  61. package/dist/action-confidence.d.ts +1 -1
  62. package/dist/active-memory-bridge.d.ts +1 -1
  63. package/dist/active-recall.d.ts +1 -1
  64. package/dist/active-recall.js +73 -2
  65. package/dist/active-recall.js.map +1 -1
  66. package/dist/activity/digest.d.ts +1 -1
  67. package/dist/ambient-provenance.d.ts +1 -1
  68. package/dist/artifact-search.d.ts +1 -1
  69. package/dist/{auto-sync-DG5KEOF5.js → auto-sync-CWSZDLLW.js} +6 -6
  70. package/dist/background-generation.d.ts +1 -1
  71. package/dist/behavior-learner.d.ts +1 -1
  72. package/dist/behavior-signals.d.ts +1 -1
  73. package/dist/bootstrap.d.ts +11 -11
  74. package/dist/briefing-window.d.ts +2 -2
  75. package/dist/briefing.d.ts +2 -2
  76. package/dist/briefing.js +12 -12
  77. package/dist/buffer-surprise-report.d.ts +1 -1
  78. package/dist/buffer-turn-helpers.d.ts +1 -1
  79. package/dist/buffer.d.ts +2 -2
  80. package/dist/buffer.js +4 -4
  81. package/dist/bulk-import/index.d.ts +3 -3
  82. package/dist/calibration.d.ts +1 -1
  83. package/dist/capabilities.d.ts +1 -1
  84. package/dist/{capsule-crypto-7FJQINUR.js → capsule-crypto-YO5QJ6L3.js} +2 -2
  85. package/dist/{catalog-DK2eHhax.d.ts → catalog-BuMyYPUn.d.ts} +1 -1
  86. package/dist/causal-behavior.d.ts +1 -1
  87. package/dist/causal-consolidation.d.ts +1 -1
  88. package/dist/causal-consolidation.js +19 -19
  89. package/dist/causal-trajectory-graph.d.ts +1 -1
  90. package/dist/{chunk-3SI3FFTW.js → chunk-2INZSV27.js} +2 -2
  91. package/dist/{chunk-PMLFPVYJ.js → chunk-2QZJ4P27.js} +2 -2
  92. package/dist/{chunk-3RZB7TYL.js → chunk-2UDAABV6.js} +2 -2
  93. package/dist/{chunk-4PXFLDMJ.js → chunk-35EH6KW4.js} +2 -2
  94. package/dist/{chunk-KOEDSRF5.js → chunk-43IQRLEF.js} +2 -2
  95. package/dist/{chunk-LBLXEFWK.js → chunk-4MN27537.js} +1 -1
  96. package/dist/chunk-4MN27537.js.map +1 -0
  97. package/dist/{chunk-PQWICTRO.js → chunk-4UVJ6EIT.js} +1 -1
  98. package/dist/chunk-4UVJ6EIT.js.map +1 -0
  99. package/dist/{chunk-56C7OO3N.js → chunk-6KCQNFDQ.js} +18 -18
  100. package/dist/chunk-6VITOSPL.js +69 -0
  101. package/dist/chunk-6VITOSPL.js.map +1 -0
  102. package/dist/{chunk-UD6W67JM.js → chunk-72AV2H3R.js} +76 -25
  103. package/dist/chunk-72AV2H3R.js.map +1 -0
  104. package/dist/{chunk-VBRS7Z3O.js → chunk-72N2P44O.js} +5 -5
  105. package/dist/{chunk-ZUNYFDI4.js → chunk-7QVYVSEH.js} +2 -2
  106. package/dist/{chunk-SRMBMMTK.js → chunk-7RKAE6Y4.js} +3 -3
  107. package/dist/{chunk-42BV46XS.js → chunk-AH44WTLJ.js} +2 -2
  108. package/dist/{chunk-TZ44E732.js → chunk-AIVRD66I.js} +2 -2
  109. package/dist/{chunk-AYGWJ2UK.js → chunk-AQWGCHIV.js} +6 -6
  110. package/dist/{chunk-EZV43XBD.js → chunk-AYHNTYVG.js} +2 -2
  111. package/dist/{chunk-2NLLXCJG.js → chunk-BXLOS5AJ.js} +2 -2
  112. package/dist/{chunk-JHUODJRW.js → chunk-D2N3PMAE.js} +2 -2
  113. package/dist/{chunk-7SJCSDQ3.js → chunk-D7VT2LED.js} +2 -2
  114. package/dist/{chunk-TVVEYCNW.js → chunk-DAOMWGO2.js} +2 -2
  115. package/dist/{chunk-OQZYHCWM.js → chunk-DCRK7I5E.js} +72 -71
  116. package/dist/{chunk-OQZYHCWM.js.map → chunk-DCRK7I5E.js.map} +1 -1
  117. package/dist/{chunk-MVMNEU65.js → chunk-DI52XAKG.js} +2 -2
  118. package/dist/{chunk-X7Y7WX73.js → chunk-DQEMWVMT.js} +1 -1
  119. package/dist/{chunk-EUP4AXIW.js → chunk-DZP2XMZC.js} +2 -2
  120. package/dist/{chunk-PA5EOTRR.js → chunk-EVQ33D3N.js} +4 -4
  121. package/dist/{chunk-E64HBW7M.js → chunk-EW3Y73MN.js} +5 -5
  122. package/dist/{chunk-VSN2DMQK.js → chunk-G2DF5MI7.js} +4 -4
  123. package/dist/{chunk-JIWZVOQM.js → chunk-G7S37WD4.js} +2 -2
  124. package/dist/{chunk-AL7OLBL7.js → chunk-GRX6YH4E.js} +2 -2
  125. package/dist/{chunk-XTMABIFW.js → chunk-HG42J2EX.js} +2 -2
  126. package/dist/{chunk-MQMZO23A.js → chunk-HWT6KRGS.js} +2 -2
  127. package/dist/{chunk-LR7KUQ2W.js → chunk-IEOBAOA6.js} +6 -6
  128. package/dist/{chunk-UDAUULK2.js → chunk-IGEZE6QB.js} +5 -5
  129. package/dist/{chunk-SGHGCFVV.js → chunk-JE334SIA.js} +10 -10
  130. package/dist/{chunk-IC3PM3YO.js → chunk-JE4H2QBO.js} +2 -2
  131. package/dist/{chunk-E73SVGJA.js → chunk-JMZQS6OS.js} +2 -2
  132. package/dist/{chunk-3RABJOGD.js → chunk-KH2D26LQ.js} +5 -5
  133. package/dist/{chunk-3MIZ2EKQ.js → chunk-KQQEZTH6.js} +2 -2
  134. package/dist/{chunk-F5V7KRQS.js → chunk-LIAKZGOY.js} +2 -2
  135. package/dist/{chunk-A7GQBJP5.js → chunk-LVFI5LG7.js} +7 -7
  136. package/dist/{chunk-IST6MBYC.js → chunk-MSTKJI5T.js} +529 -376
  137. package/dist/chunk-MSTKJI5T.js.map +1 -0
  138. package/dist/{chunk-DH536WT2.js → chunk-MWVYHNSU.js} +12 -2
  139. package/dist/chunk-MWVYHNSU.js.map +1 -0
  140. package/dist/{chunk-D7QX26FF.js → chunk-O7OVWKT4.js} +2 -2
  141. package/dist/{chunk-JOP7W24J.js → chunk-PLJ2MQFT.js} +4 -4
  142. package/dist/{chunk-D2XUSZ24.js → chunk-QWQB7TOB.js} +20 -20
  143. package/dist/{chunk-HRCWDO6S.js → chunk-RSMNPYBM.js} +2 -2
  144. package/dist/{chunk-BOTSR5S3.js → chunk-RUUJXAGT.js} +2 -2
  145. package/dist/{chunk-FO6IK4IF.js → chunk-SEQ6DWXD.js} +11 -11
  146. package/dist/{chunk-ZBAQMSEY.js → chunk-SLGD36MM.js} +3 -3
  147. package/dist/{chunk-IYHHCSF6.js → chunk-SOFATSHJ.js} +61 -61
  148. package/dist/{chunk-JG4AP36X.js → chunk-SPFNGHHP.js} +2 -2
  149. package/dist/{chunk-DNO6QWCB.js → chunk-SPWNCGSM.js} +2 -2
  150. package/dist/{chunk-QSP4Y73Q.js → chunk-SVUUOLKM.js} +2 -2
  151. package/dist/{chunk-D6WX5FEF.js → chunk-SZ7IVZGD.js} +2 -2
  152. package/dist/{chunk-2IVHOQRY.js → chunk-TEQQQTQS.js} +5 -5
  153. package/dist/{chunk-UI6R2YUB.js → chunk-TQT4AOPO.js} +4 -4
  154. package/dist/{chunk-3UQIS2GC.js → chunk-TTFJQ5B5.js} +2 -2
  155. package/dist/{chunk-JTPAXDSX.js → chunk-U2SK45U3.js} +2 -2
  156. package/dist/{chunk-4FWNMN5R.js → chunk-U6CMLAP4.js} +5 -5
  157. package/dist/{chunk-6525YIYL.js → chunk-UCH2RWFX.js} +3 -3
  158. package/dist/{chunk-QZDUNK6V.js → chunk-UCY4EHAG.js} +6 -6
  159. package/dist/{chunk-OP5IBPHP.js → chunk-UDJMJNBK.js} +2 -2
  160. package/dist/{chunk-BHI5ILU5.js → chunk-ULQVG6G3.js} +2 -2
  161. package/dist/{chunk-X6B2QWXW.js → chunk-UQTXER7M.js} +2 -2
  162. package/dist/{chunk-OLJYDGGP.js → chunk-UVZBDIJX.js} +214 -4
  163. package/dist/chunk-UVZBDIJX.js.map +1 -0
  164. package/dist/{chunk-QXQCPNKA.js → chunk-V5BU5PVE.js} +7 -7
  165. package/dist/{chunk-IPLYGWQF.js → chunk-VDX2J7OX.js} +6 -6
  166. package/dist/{chunk-XUKUMBP3.js → chunk-VGO57TU7.js} +5 -5
  167. package/dist/{chunk-W6V7JN2E.js → chunk-VUV472VH.js} +12 -12
  168. package/dist/{chunk-ZHXSOMYH.js → chunk-VVX5PZFS.js} +2 -2
  169. package/dist/{chunk-ML5FW2RO.js → chunk-WBW34YCJ.js} +2 -2
  170. package/dist/{chunk-ECLY4NZA.js → chunk-WH7RINGG.js} +10 -4
  171. package/dist/chunk-WH7RINGG.js.map +1 -0
  172. package/dist/{chunk-FDDCZDBI.js → chunk-WN4HFL4K.js} +4 -4
  173. package/dist/{chunk-MECKA6G2.js → chunk-WUJD4CHZ.js} +4 -4
  174. package/dist/{chunk-HS75MCQF.js → chunk-WUUGE7QC.js} +4 -4
  175. package/dist/{chunk-UVEBBXB5.js → chunk-X7WAM3IY.js} +2 -2
  176. package/dist/{chunk-4SDO74N2.js → chunk-XPFJSUOR.js} +5 -5
  177. package/dist/{chunk-PPNFKQ6D.js → chunk-Y4G6LHJW.js} +2 -2
  178. package/dist/{chunk-C3PKRFZ4.js → chunk-Y7LZ5V7N.js} +2 -2
  179. package/dist/{chunk-WVI43D54.js → chunk-YEIKOBOW.js} +15 -2
  180. package/dist/chunk-YEIKOBOW.js.map +1 -0
  181. package/dist/{chunk-AYP2FZFA.js → chunk-YIIW2OH2.js} +2 -2
  182. package/dist/{chunk-YSBYNCCN.js → chunk-YLPCEUXP.js} +3 -3
  183. package/dist/{chunk-RFIJH2OE.js → chunk-YUHGJBQK.js} +2 -2
  184. package/dist/{cli-BHDMJqJS.d.ts → cli-CCc34xV7.d.ts} +5 -5
  185. package/dist/cli.d.ts +16 -16
  186. package/dist/cli.js +98 -98
  187. package/dist/coding/export-okf-codegraph.d.ts +1 -1
  188. package/dist/coding/export-okf-codegraph.js +12 -12
  189. package/dist/coding/pre-action-gate.d.ts +1 -1
  190. package/dist/compounding/engine.d.ts +2 -2
  191. package/dist/compounding/engine.js +11 -11
  192. package/dist/compounding/preference-consolidator.d.ts +1 -1
  193. package/dist/compression-optimizer.d.ts +1 -1
  194. package/dist/config.d.ts +1 -1
  195. package/dist/config.js +73 -2
  196. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  197. package/dist/connectors/codex-materialize-runner.js +15 -15
  198. package/dist/connectors/codex-materialize.d.ts +1 -1
  199. package/dist/connectors/index.d.ts +1 -1
  200. package/dist/connectors/index.js +19 -19
  201. package/dist/consolidation-provenance-check.d.ts +2 -2
  202. package/dist/consolidation-undo.d.ts +2 -2
  203. package/dist/contradiction/index.d.ts +4 -4
  204. package/dist/converge-config.d.ts +1 -1
  205. package/dist/convergence-refresh.d.ts +2 -2
  206. package/dist/convergence-refresh.js +13 -13
  207. package/dist/conversation-index/backend.d.ts +1 -1
  208. package/dist/conversation-index/chunker.d.ts +1 -1
  209. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  210. package/dist/conversation-index/indexer.d.ts +1 -1
  211. package/dist/conversation-index/search.d.ts +1 -1
  212. package/dist/corpus-watermark.d.ts +1 -1
  213. package/dist/corpus-watermark.js +13 -13
  214. package/dist/cross-lingual-recall.d.ts +1 -1
  215. package/dist/day-summary.d.ts +1 -1
  216. package/dist/deep-recall-http-glue.d.ts +14 -14
  217. package/dist/deep-recall-http-glue.js +5 -5
  218. package/dist/deep-recall-mcp-tools.d.ts +14 -14
  219. package/dist/deep-recall-policy-llm.d.ts +2 -2
  220. package/dist/deep-recall-seeds.d.ts +1 -1
  221. package/dist/deep-recall.js +2 -2
  222. package/dist/delinearize.d.ts +1 -1
  223. package/dist/dependency-propagation-config.d.ts +1 -1
  224. package/dist/{dependency-propagation-delivery-BMkR4gmY.d.ts → dependency-propagation-delivery-BrhPjAHQ.d.ts} +1 -1
  225. package/dist/direct-answer-wiring.d.ts +1 -1
  226. package/dist/direct-answer.d.ts +1 -1
  227. package/dist/directory-sidecars.d.ts +28 -2
  228. package/dist/directory-sidecars.js +9 -1
  229. package/dist/embedding-fallback.d.ts +1 -1
  230. package/dist/enrichment/index.d.ts +1 -1
  231. package/dist/entity-origin-fields.d.ts +1 -1
  232. package/dist/entity-retrieval.d.ts +2 -2
  233. package/dist/entity-retrieval.js +11 -11
  234. package/dist/entity-schema.d.ts +1 -1
  235. package/dist/episodic-context.d.ts +1 -1
  236. package/dist/eval-trajectory-contracts.d.ts +1 -1
  237. package/dist/eval-trajectory-store.d.ts +1 -1
  238. package/dist/eval-trajectory.d.ts +1 -1
  239. package/dist/explicit-capture.d.ts +11 -11
  240. package/dist/external-wiki-access.d.ts +14 -14
  241. package/dist/external-wiki-access.js +61 -61
  242. package/dist/external-wiki-collection-registration.d.ts +1 -1
  243. package/dist/external-wiki-collection.d.ts +1 -1
  244. package/dist/external-wiki-mcp-tools.d.ts +14 -14
  245. package/dist/extraction-error-classification.d.ts +1 -1
  246. package/dist/extraction-evidence-class.d.ts +1 -1
  247. package/dist/extraction-faithfulness.d.ts +2 -2
  248. package/dist/extraction-judge-telemetry.d.ts +2 -2
  249. package/dist/extraction-judge-training.d.ts +2 -2
  250. package/dist/extraction-judge.d.ts +2 -2
  251. package/dist/extraction-judge.js +2 -2
  252. package/dist/extraction-liveness.d.ts +1 -1
  253. package/dist/extraction-normalization.d.ts +1 -1
  254. package/dist/extraction-prompt.d.ts +1 -1
  255. package/dist/extraction-source-grounding-rules.d.ts +1 -1
  256. package/dist/extraction-source-grounding.d.ts +1 -1
  257. package/dist/extraction-span-config.d.ts +1 -1
  258. package/dist/extraction-span-materialize.d.ts +1 -1
  259. package/dist/extraction-span-wire.d.ts +1 -1
  260. package/dist/extraction.d.ts +2 -2
  261. package/dist/extraction.js +21 -21
  262. package/dist/fallback-llm-codex-subscription.d.ts +1 -1
  263. package/dist/fallback-llm.d.ts +1 -1
  264. package/dist/{generic-recall-paths-BCRtXU32.d.ts → generic-recall-paths-C0J1Oxb7.d.ts} +1 -1
  265. package/dist/graph-append-error.d.ts +1 -1
  266. package/dist/graph-dashboard-diff.d.ts +1 -1
  267. package/dist/graph-dashboard-key.d.ts +1 -1
  268. package/dist/graph-dashboard-parser.d.ts +1 -1
  269. package/dist/graph-edge-reinforcement.d.ts +1 -1
  270. package/dist/graph-jsonl.d.ts +1 -1
  271. package/dist/graph-path-reconstruction.d.ts +1 -1
  272. package/dist/graph-path-scoring.d.ts +1 -1
  273. package/dist/graph-snapshot.d.ts +1 -1
  274. package/dist/graph.d.ts +1 -1
  275. package/dist/harmonic-retrieval.js +2 -2
  276. package/dist/importance.d.ts +1 -1
  277. package/dist/importers/index.d.ts +1 -1
  278. package/dist/importers/test-utils.d.ts +1 -1
  279. package/dist/in-flight-reads.d.ts +1 -1
  280. package/dist/{index-DMNTW4W6.d.ts → index-B735x-tK.d.ts} +3 -3
  281. package/dist/index.d.ts +28 -26
  282. package/dist/index.js +208 -198
  283. package/dist/intent.d.ts +1 -1
  284. package/dist/lcm/engine.d.ts +1 -1
  285. package/dist/lcm/engine.js +3 -3
  286. package/dist/lcm/index.d.ts +1 -1
  287. package/dist/lcm/index.js +8 -8
  288. package/dist/lcm/tools.d.ts +1 -1
  289. package/dist/lifecycle.d.ts +1 -1
  290. package/dist/live-connectors-runner.d.ts +1 -1
  291. package/dist/{local-llm-BXYC-mbU.d.ts → local-llm-BkkEK9rn.d.ts} +1 -1
  292. package/dist/local-llm-helpers.d.ts +2 -2
  293. package/dist/local-llm.d.ts +2 -2
  294. package/dist/local-model-endpoint.d.ts +1 -1
  295. package/dist/location/index.d.ts +5 -5
  296. package/dist/location/index.js +15 -15
  297. package/dist/maintenance/memory-governance.d.ts +1 -1
  298. package/dist/maintenance/memory-governance.js +11 -11
  299. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +2 -2
  300. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +11 -11
  301. package/dist/maintenance/rebuild-memory-projection.d.ts +2 -2
  302. package/dist/maintenance/rebuild-memory-projection.js +12 -12
  303. package/dist/{maintenance-zJiLsKBY.d.ts → maintenance-CLBIvVxg.d.ts} +3 -3
  304. package/dist/mcp-memory-inspector-app.d.ts +14 -14
  305. package/dist/memory-action-policy.d.ts +1 -1
  306. package/dist/memory-browse-http-glue.d.ts +14 -14
  307. package/dist/memory-browse-mcp-tools.d.ts +14 -14
  308. package/dist/memory-browse-operations.js +61 -61
  309. package/dist/memory-browse.d.ts +1 -1
  310. package/dist/memory-browse.js +5 -5
  311. package/dist/memory-cache.d.ts +1 -1
  312. package/dist/memory-controller.d.ts +1 -1
  313. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  314. package/dist/memory-projection-store.d.ts +1 -1
  315. package/dist/memory-provenance.d.ts +1 -1
  316. package/dist/memory-snapshot.d.ts +1 -1
  317. package/dist/memory-subject-cli.d.ts +14 -14
  318. package/dist/memory-subject.d.ts +14 -14
  319. package/dist/memory-worth-outcomes.d.ts +2 -2
  320. package/dist/models-json.d.ts +1 -1
  321. package/dist/namespaces/migrate.d.ts +3 -3
  322. package/dist/namespaces/migrate.js +12 -12
  323. package/dist/namespaces/principal.d.ts +1 -1
  324. package/dist/namespaces/search.d.ts +1 -1
  325. package/dist/namespaces/search.js +3 -3
  326. package/dist/namespaces/storage.d.ts +3 -3
  327. package/dist/namespaces/storage.js +11 -11
  328. package/dist/native-knowledge.d.ts +1 -1
  329. package/dist/offline-sync-impression-drain.d.ts +1 -1
  330. package/dist/offline-sync-impression-drain.js +3 -3
  331. package/dist/operator-doctor-corpus.d.ts +1 -1
  332. package/dist/operator-doctor-corpus.js +16 -16
  333. package/dist/operator-doctor-replica.d.ts +1 -1
  334. package/dist/operator-toolkit.d.ts +3 -3
  335. package/dist/operator-toolkit.js +40 -40
  336. package/dist/orchestration/compression-guideline-coordinator.d.ts +2 -2
  337. package/dist/orchestration/maintenance.d.ts +4 -4
  338. package/dist/orchestration/maintenance.js +22 -22
  339. package/dist/{orchestrator-BTqT3F6X.d.ts → orchestrator-iexgVLow.d.ts} +13 -11
  340. package/dist/orchestrator.d.ts +11 -11
  341. package/dist/orchestrator.js +121 -120
  342. package/dist/patterns-cli.d.ts +1 -1
  343. package/dist/{pipeline-CgO2Sd4O.d.ts → pipeline-DvtDtyo9.d.ts} +1 -1
  344. package/dist/policy-runtime.d.ts +1 -1
  345. package/dist/proactive-contention.d.ts +2 -2
  346. package/dist/provenance.d.ts +1 -1
  347. package/dist/{public-http-Dk1EA9ix.d.ts → public-http-UWVcqMcb.d.ts} +1 -1
  348. package/dist/{qmd-CwxtVz64.d.ts → qmd-CBYBJ6HW.d.ts} +1 -1
  349. package/dist/qmd-preflight.d.ts +2 -2
  350. package/dist/qmd-recall-cache.d.ts +1 -1
  351. package/dist/qmd.d.ts +2 -2
  352. package/dist/recall-audit-anomaly.d.ts +1 -0
  353. package/dist/recall-audit.d.ts +4 -0
  354. package/dist/recall-audit.js +1 -1
  355. package/dist/recall-composition-decision.d.ts +41 -0
  356. package/dist/recall-composition-decision.js +17 -0
  357. package/dist/recall-composition-decision.js.map +1 -0
  358. package/dist/recall-concurrency-config.d.ts +1 -1
  359. package/dist/recall-disclosure-escalation.d.ts +1 -1
  360. package/dist/recall-explain-renderer.d.ts +2 -1
  361. package/dist/recall-explain-renderer.js +3 -3
  362. package/dist/recall-memory-map.d.ts +1 -1
  363. package/dist/recall-navigate-access.d.ts +1 -1
  364. package/dist/recall-navigate-access.js +2 -2
  365. package/dist/recall-navigate-disclosure.d.ts +1 -1
  366. package/dist/recall-navigate-disclosure.js +2 -2
  367. package/dist/recall-navigate.d.ts +1 -1
  368. package/dist/recall-navigate.js +2 -2
  369. package/dist/recall-navigation-http-glue.d.ts +14 -14
  370. package/dist/recall-navigation-mcp-tools.d.ts +14 -14
  371. package/dist/recall-navigation-operations.js +61 -61
  372. package/dist/recall-navigation-renderer.d.ts +2 -1
  373. package/dist/recall-navigation.d.ts +2 -1
  374. package/dist/recall-navigation.js +60 -60
  375. package/dist/recall-planner-llm.d.ts +1 -1
  376. package/dist/recall-state-view-admission.d.ts +2 -2
  377. package/dist/recall-state-view-admission.js +5 -5
  378. package/dist/recall-state-view-anchors.d.ts +1 -1
  379. package/dist/recall-state-view-anchors.js +2 -2
  380. package/dist/recall-state.d.ts +1 -1
  381. package/dist/recall-tag-filter.d.ts +2 -1
  382. package/dist/recall-timings.d.ts +1 -1
  383. package/dist/recall-xray-cli.d.ts +2 -1
  384. package/dist/recall-xray-cli.js +4 -4
  385. package/dist/recall-xray-renderer.d.ts +2 -1
  386. package/dist/recall-xray-renderer.js +3 -3
  387. package/dist/recall-xray.d.ts +10 -1
  388. package/dist/recall-xray.js +2 -2
  389. package/dist/reconcile/cursor.d.ts +1 -1
  390. package/dist/reconcile/manifest.d.ts +1 -1
  391. package/dist/reconcile/manifest.js +1 -1
  392. package/dist/reconcile/plan.d.ts +1 -1
  393. package/dist/replay/normalizers/chatgpt.d.ts +1 -1
  394. package/dist/replay/normalizers/claude.d.ts +1 -1
  395. package/dist/replay/normalizers/openclaw.d.ts +1 -1
  396. package/dist/replay/normalizers/shared.d.ts +1 -1
  397. package/dist/replay/runner.d.ts +1 -1
  398. package/dist/replay/types.d.ts +1 -1
  399. package/dist/replica-divergence.d.ts +1 -1
  400. package/dist/replica-peers-config.d.ts +1 -1
  401. package/dist/resolve-auth-token.d.ts +1 -1
  402. package/dist/resume-bundles.js +73 -3
  403. package/dist/retrieval-agents.d.ts +2 -2
  404. package/dist/retrieval-tiers.d.ts +1 -1
  405. package/dist/routing/engine.d.ts +1 -1
  406. package/dist/routing/store.d.ts +1 -1
  407. package/dist/salvage-envelope.d.ts +1 -1
  408. package/dist/{scope-profiles-Bg1rB-Dp.d.ts → scope-profiles-BN1Dgfha.d.ts} +1 -1
  409. package/dist/search/embed-helper.d.ts +1 -1
  410. package/dist/search/factory.d.ts +1 -1
  411. package/dist/search/factory.js +2 -2
  412. package/dist/search/index.d.ts +1 -1
  413. package/dist/search/index.js +4 -4
  414. package/dist/search/lancedb-backend.d.ts +1 -1
  415. package/dist/search/meilisearch-backend.d.ts +1 -1
  416. package/dist/search/noop-backend.d.ts +1 -1
  417. package/dist/search/orama-backend.d.ts +1 -1
  418. package/dist/search/port.d.ts +1 -1
  419. package/dist/search/remote-backend.d.ts +1 -1
  420. package/dist/{semantic-consolidation-DEzRyeyn.d.ts → semantic-consolidation-D--qe0eE.d.ts} +1 -1
  421. package/dist/semantic-consolidation.d.ts +2 -2
  422. package/dist/semantic-consolidation.js +16 -16
  423. package/dist/semantic-rule-promotion.js +11 -11
  424. package/dist/semantic-rule-verifier.d.ts +1 -1
  425. package/dist/semantic-rule-verifier.js +11 -11
  426. package/dist/{service-DGEIDOeD.d.ts → service-VealHeqO.d.ts} +2 -2
  427. package/dist/session-observer-bands.d.ts +1 -1
  428. package/dist/session-observer-state.d.ts +1 -1
  429. package/dist/shared-context/manager.d.ts +1 -1
  430. package/dist/signal.d.ts +1 -1
  431. package/dist/source-agent-qualifier.d.ts +1 -1
  432. package/dist/source-agent-qualifier.js +20 -20
  433. package/dist/standup/build.js +12 -12
  434. package/dist/{storage-DNQWtOSM.d.ts → storage-CMm-3aD3.d.ts} +1 -1
  435. package/dist/storage.d.ts +2 -2
  436. package/dist/storage.js +10 -10
  437. package/dist/subject-config.d.ts +1 -1
  438. package/dist/summarizer.d.ts +1 -1
  439. package/dist/summarizer.js +1 -1
  440. package/dist/summary-snapshot.d.ts +1 -1
  441. package/dist/support-passport/index.d.ts +17 -17
  442. package/dist/support-passport/index.js +63 -63
  443. package/dist/{tagging-CPVwgadt.d.ts → tagging-BjsNFKWz.d.ts} +2 -2
  444. package/dist/temporal-supersession.d.ts +2 -2
  445. package/dist/temporal-timeline-recall.d.ts +1 -1
  446. package/dist/temporal-validity.d.ts +1 -1
  447. package/dist/threading.d.ts +1 -1
  448. package/dist/tier-migration.d.ts +2 -2
  449. package/dist/tier-routing.d.ts +1 -1
  450. package/dist/topics.d.ts +1 -1
  451. package/dist/transcript.d.ts +1 -1
  452. package/dist/transfer/autodetect.js +1 -1
  453. package/dist/transfer/backup.js +2 -2
  454. package/dist/transfer/capsule-export.js +3 -3
  455. package/dist/transfer/capsule-import.js +2 -2
  456. package/dist/transfer/export-okf.d.ts +1 -1
  457. package/dist/transfer/export-okf.js +11 -11
  458. package/dist/trust-score-stage.d.ts +1 -1
  459. package/dist/trust-score.d.ts +1 -1
  460. package/dist/{types-DCB90q3g.d.ts → types-Du6VdoAg.d.ts} +22 -1
  461. package/dist/types.d.ts +1 -1
  462. package/dist/types.js +1 -1
  463. package/dist/utility-runtime.d.ts +1 -1
  464. package/dist/verified-recall.js +11 -11
  465. package/dist/who-knows-cli.d.ts +14 -14
  466. package/dist/who-knows-cli.js +12 -12
  467. package/dist/who-knows.d.ts +14 -14
  468. package/dist/who-knows.js +11 -11
  469. package/dist/write-envelope.d.ts +1 -1
  470. package/package.json +2 -2
  471. package/src/access-mcp-output-schemas.ts +14 -1
  472. package/src/access-recall-response.ts +3 -0
  473. package/src/config.ts +3 -4
  474. package/src/directory-sidecars.test.ts +119 -0
  475. package/src/directory-sidecars.ts +110 -25
  476. package/src/experience/session-experience-recall.test.ts +228 -0
  477. package/src/experience/session-experience-recall.ts +60 -0
  478. package/src/index.ts +1 -0
  479. package/src/lifecycle/seed-graduation-config-types.ts +22 -0
  480. package/src/lifecycle/seed-graduation.test.ts +160 -1
  481. package/src/lifecycle/seed-graduation.ts +7 -9
  482. package/src/orchestration/lifecycle-policy-coordinator.ts +12 -0
  483. package/src/orchestration/recall-entry.ts +16 -2
  484. package/src/orchestration/recall-internal.ts +21 -18
  485. package/src/orchestration/recall-recognition-search.test.ts +290 -0
  486. package/src/orchestration/recall-recognition-search.ts +160 -0
  487. package/src/orchestrator.ts +1 -0
  488. package/src/procedural/procedure-recall.ts +14 -3
  489. package/src/recall-audit.test.ts +34 -0
  490. package/src/recall-audit.ts +4 -0
  491. package/src/recall-composition-decision.test.ts +134 -0
  492. package/src/recall-composition-decision.ts +113 -0
  493. package/src/recall-xray-renderer.test.ts +17 -0
  494. package/src/recall-xray-renderer.ts +10 -0
  495. package/src/recall-xray.test.ts +28 -0
  496. package/src/recall-xray.ts +15 -0
  497. package/src/testing/subjects/recall-recognition-tier.test.ts +106 -0
  498. package/src/types.ts +4 -6
  499. package/dist/chunk-DH536WT2.js.map +0 -1
  500. package/dist/chunk-ECLY4NZA.js.map +0 -1
  501. package/dist/chunk-IST6MBYC.js.map +0 -1
  502. package/dist/chunk-LBLXEFWK.js.map +0 -1
  503. package/dist/chunk-OLJYDGGP.js.map +0 -1
  504. package/dist/chunk-PQWICTRO.js.map +0 -1
  505. package/dist/chunk-UD6W67JM.js.map +0 -1
  506. package/dist/chunk-WVI43D54.js.map +0 -1
  507. /package/dist/{auto-sync-DG5KEOF5.js.map → auto-sync-CWSZDLLW.js.map} +0 -0
  508. /package/dist/{capsule-crypto-7FJQINUR.js.map → capsule-crypto-YO5QJ6L3.js.map} +0 -0
  509. /package/dist/{chunk-3SI3FFTW.js.map → chunk-2INZSV27.js.map} +0 -0
  510. /package/dist/{chunk-PMLFPVYJ.js.map → chunk-2QZJ4P27.js.map} +0 -0
  511. /package/dist/{chunk-3RZB7TYL.js.map → chunk-2UDAABV6.js.map} +0 -0
  512. /package/dist/{chunk-4PXFLDMJ.js.map → chunk-35EH6KW4.js.map} +0 -0
  513. /package/dist/{chunk-KOEDSRF5.js.map → chunk-43IQRLEF.js.map} +0 -0
  514. /package/dist/{chunk-56C7OO3N.js.map → chunk-6KCQNFDQ.js.map} +0 -0
  515. /package/dist/{chunk-VBRS7Z3O.js.map → chunk-72N2P44O.js.map} +0 -0
  516. /package/dist/{chunk-ZUNYFDI4.js.map → chunk-7QVYVSEH.js.map} +0 -0
  517. /package/dist/{chunk-SRMBMMTK.js.map → chunk-7RKAE6Y4.js.map} +0 -0
  518. /package/dist/{chunk-42BV46XS.js.map → chunk-AH44WTLJ.js.map} +0 -0
  519. /package/dist/{chunk-TZ44E732.js.map → chunk-AIVRD66I.js.map} +0 -0
  520. /package/dist/{chunk-AYGWJ2UK.js.map → chunk-AQWGCHIV.js.map} +0 -0
  521. /package/dist/{chunk-EZV43XBD.js.map → chunk-AYHNTYVG.js.map} +0 -0
  522. /package/dist/{chunk-2NLLXCJG.js.map → chunk-BXLOS5AJ.js.map} +0 -0
  523. /package/dist/{chunk-JHUODJRW.js.map → chunk-D2N3PMAE.js.map} +0 -0
  524. /package/dist/{chunk-7SJCSDQ3.js.map → chunk-D7VT2LED.js.map} +0 -0
  525. /package/dist/{chunk-TVVEYCNW.js.map → chunk-DAOMWGO2.js.map} +0 -0
  526. /package/dist/{chunk-MVMNEU65.js.map → chunk-DI52XAKG.js.map} +0 -0
  527. /package/dist/{chunk-X7Y7WX73.js.map → chunk-DQEMWVMT.js.map} +0 -0
  528. /package/dist/{chunk-EUP4AXIW.js.map → chunk-DZP2XMZC.js.map} +0 -0
  529. /package/dist/{chunk-PA5EOTRR.js.map → chunk-EVQ33D3N.js.map} +0 -0
  530. /package/dist/{chunk-E64HBW7M.js.map → chunk-EW3Y73MN.js.map} +0 -0
  531. /package/dist/{chunk-VSN2DMQK.js.map → chunk-G2DF5MI7.js.map} +0 -0
  532. /package/dist/{chunk-JIWZVOQM.js.map → chunk-G7S37WD4.js.map} +0 -0
  533. /package/dist/{chunk-AL7OLBL7.js.map → chunk-GRX6YH4E.js.map} +0 -0
  534. /package/dist/{chunk-XTMABIFW.js.map → chunk-HG42J2EX.js.map} +0 -0
  535. /package/dist/{chunk-MQMZO23A.js.map → chunk-HWT6KRGS.js.map} +0 -0
  536. /package/dist/{chunk-LR7KUQ2W.js.map → chunk-IEOBAOA6.js.map} +0 -0
  537. /package/dist/{chunk-UDAUULK2.js.map → chunk-IGEZE6QB.js.map} +0 -0
  538. /package/dist/{chunk-SGHGCFVV.js.map → chunk-JE334SIA.js.map} +0 -0
  539. /package/dist/{chunk-IC3PM3YO.js.map → chunk-JE4H2QBO.js.map} +0 -0
  540. /package/dist/{chunk-E73SVGJA.js.map → chunk-JMZQS6OS.js.map} +0 -0
  541. /package/dist/{chunk-3RABJOGD.js.map → chunk-KH2D26LQ.js.map} +0 -0
  542. /package/dist/{chunk-3MIZ2EKQ.js.map → chunk-KQQEZTH6.js.map} +0 -0
  543. /package/dist/{chunk-F5V7KRQS.js.map → chunk-LIAKZGOY.js.map} +0 -0
  544. /package/dist/{chunk-A7GQBJP5.js.map → chunk-LVFI5LG7.js.map} +0 -0
  545. /package/dist/{chunk-D7QX26FF.js.map → chunk-O7OVWKT4.js.map} +0 -0
  546. /package/dist/{chunk-JOP7W24J.js.map → chunk-PLJ2MQFT.js.map} +0 -0
  547. /package/dist/{chunk-D2XUSZ24.js.map → chunk-QWQB7TOB.js.map} +0 -0
  548. /package/dist/{chunk-HRCWDO6S.js.map → chunk-RSMNPYBM.js.map} +0 -0
  549. /package/dist/{chunk-BOTSR5S3.js.map → chunk-RUUJXAGT.js.map} +0 -0
  550. /package/dist/{chunk-FO6IK4IF.js.map → chunk-SEQ6DWXD.js.map} +0 -0
  551. /package/dist/{chunk-ZBAQMSEY.js.map → chunk-SLGD36MM.js.map} +0 -0
  552. /package/dist/{chunk-IYHHCSF6.js.map → chunk-SOFATSHJ.js.map} +0 -0
  553. /package/dist/{chunk-JG4AP36X.js.map → chunk-SPFNGHHP.js.map} +0 -0
  554. /package/dist/{chunk-DNO6QWCB.js.map → chunk-SPWNCGSM.js.map} +0 -0
  555. /package/dist/{chunk-QSP4Y73Q.js.map → chunk-SVUUOLKM.js.map} +0 -0
  556. /package/dist/{chunk-D6WX5FEF.js.map → chunk-SZ7IVZGD.js.map} +0 -0
  557. /package/dist/{chunk-2IVHOQRY.js.map → chunk-TEQQQTQS.js.map} +0 -0
  558. /package/dist/{chunk-UI6R2YUB.js.map → chunk-TQT4AOPO.js.map} +0 -0
  559. /package/dist/{chunk-3UQIS2GC.js.map → chunk-TTFJQ5B5.js.map} +0 -0
  560. /package/dist/{chunk-JTPAXDSX.js.map → chunk-U2SK45U3.js.map} +0 -0
  561. /package/dist/{chunk-4FWNMN5R.js.map → chunk-U6CMLAP4.js.map} +0 -0
  562. /package/dist/{chunk-6525YIYL.js.map → chunk-UCH2RWFX.js.map} +0 -0
  563. /package/dist/{chunk-QZDUNK6V.js.map → chunk-UCY4EHAG.js.map} +0 -0
  564. /package/dist/{chunk-OP5IBPHP.js.map → chunk-UDJMJNBK.js.map} +0 -0
  565. /package/dist/{chunk-BHI5ILU5.js.map → chunk-ULQVG6G3.js.map} +0 -0
  566. /package/dist/{chunk-X6B2QWXW.js.map → chunk-UQTXER7M.js.map} +0 -0
  567. /package/dist/{chunk-QXQCPNKA.js.map → chunk-V5BU5PVE.js.map} +0 -0
  568. /package/dist/{chunk-IPLYGWQF.js.map → chunk-VDX2J7OX.js.map} +0 -0
  569. /package/dist/{chunk-XUKUMBP3.js.map → chunk-VGO57TU7.js.map} +0 -0
  570. /package/dist/{chunk-W6V7JN2E.js.map → chunk-VUV472VH.js.map} +0 -0
  571. /package/dist/{chunk-ZHXSOMYH.js.map → chunk-VVX5PZFS.js.map} +0 -0
  572. /package/dist/{chunk-ML5FW2RO.js.map → chunk-WBW34YCJ.js.map} +0 -0
  573. /package/dist/{chunk-FDDCZDBI.js.map → chunk-WN4HFL4K.js.map} +0 -0
  574. /package/dist/{chunk-MECKA6G2.js.map → chunk-WUJD4CHZ.js.map} +0 -0
  575. /package/dist/{chunk-HS75MCQF.js.map → chunk-WUUGE7QC.js.map} +0 -0
  576. /package/dist/{chunk-UVEBBXB5.js.map → chunk-X7WAM3IY.js.map} +0 -0
  577. /package/dist/{chunk-4SDO74N2.js.map → chunk-XPFJSUOR.js.map} +0 -0
  578. /package/dist/{chunk-PPNFKQ6D.js.map → chunk-Y4G6LHJW.js.map} +0 -0
  579. /package/dist/{chunk-C3PKRFZ4.js.map → chunk-Y7LZ5V7N.js.map} +0 -0
  580. /package/dist/{chunk-AYP2FZFA.js.map → chunk-YIIW2OH2.js.map} +0 -0
  581. /package/dist/{chunk-YSBYNCCN.js.map → chunk-YLPCEUXP.js.map} +0 -0
  582. /package/dist/{chunk-RFIJH2OE.js.map → chunk-YUHGJBQK.js.map} +0 -0
@@ -4,6 +4,9 @@ import {
4
4
  import {
5
5
  normalizeProjectionPreview
6
6
  } from "./chunk-SCU65EZI.js";
7
+ import {
8
+ coerceBooleanLike
9
+ } from "./chunk-PQVCH2AE.js";
7
10
  import {
8
11
  writeFileAtomically
9
12
  } from "./chunk-AW4QUFQF.js";
@@ -20,6 +23,10 @@ var DIRECTORY_SIDECAR_MARKER = "<!-- remnic-directory-sidecar -->";
20
23
  var ABSTRACT_MAX_CHARS = 256;
21
24
  var OVERVIEW_MAX_CHARS = 4e3;
22
25
  var DEFAULT_QUERY_LIMIT = 5;
26
+ var CATEGORY_ROOTS = new Set(RECALL_FALLBACK_DIRS);
27
+ function parseDirectorySidecarsEnabled(raw) {
28
+ return coerceBooleanLike(raw, "directorySidecarsEnabled") === true;
29
+ }
23
30
  var RESERVED_CHILD_BASENAMES = Object.freeze({
24
31
  ...OKF_RESERVED_BASENAMES,
25
32
  [DIRECTORY_SIDECAR_BASENAME]: true
@@ -149,40 +156,81 @@ function collectSidecarDirs(scopeRoot) {
149
156
  }
150
157
  return dirs;
151
158
  }
159
+ async function syncSidecarDir(dir, enabled, childAbstracts, written, removed) {
160
+ const target = sidecarPath(dir);
161
+ const raw = readFileOrNull(target);
162
+ const existing = raw !== null && raw.startsWith(DIRECTORY_SIDECAR_MARKER) ? raw : null;
163
+ if (!enabled) {
164
+ if (existing !== null) {
165
+ unlinkSync(target);
166
+ removed.push(target);
167
+ }
168
+ return;
169
+ }
170
+ const next = renderSidecar(dir, directoryFingerprint(dir), childAbstracts);
171
+ if (next === null) {
172
+ if (existing !== null) {
173
+ unlinkSync(target);
174
+ removed.push(target);
175
+ }
176
+ return;
177
+ }
178
+ const parsedNext = parseSidecar(next);
179
+ if (parsedNext) childAbstracts.set(dir, parsedNext.abstract);
180
+ if (raw === next) return;
181
+ if (existing === null && raw !== null) return;
182
+ await writeFileAtomically(target, next);
183
+ written.push(target);
184
+ }
185
+ function childAbstractsFromDisk(dir) {
186
+ const abstracts = /* @__PURE__ */ new Map();
187
+ for (const name of directoryChildren(dir)) {
188
+ const childDir = path.join(dir, name);
189
+ const parsed = parseSidecar(readFileOrNull(sidecarPath(childDir)) ?? "");
190
+ if (parsed) abstracts.set(childDir, parsed.abstract);
191
+ }
192
+ return abstracts;
193
+ }
194
+ function directorySidecarAncestry(memoryDir, changedPath) {
195
+ const root = path.resolve(memoryDir);
196
+ const abs = path.isAbsolute(changedPath) ? path.resolve(changedPath) : path.resolve(root, changedPath);
197
+ const rel = path.relative(root, abs);
198
+ if (rel.startsWith("..") || path.isAbsolute(rel)) return [];
199
+ const parts = rel.split(path.sep).filter(Boolean);
200
+ const dirParts = isRealDirectory(abs) ? parts : parts.slice(0, -1);
201
+ let categoryAt = -1;
202
+ if (dirParts[0] === "namespaces" && dirParts.length >= 3 && CATEGORY_ROOTS.has(dirParts[2] ?? "")) {
203
+ categoryAt = 2;
204
+ } else if (CATEGORY_ROOTS.has(dirParts[0] ?? "")) {
205
+ categoryAt = 0;
206
+ }
207
+ if (categoryAt === -1) return [];
208
+ const dirs = [];
209
+ for (let i = dirParts.length; i > categoryAt; i--) {
210
+ dirs.push(path.join(root, ...dirParts.slice(0, i)));
211
+ }
212
+ return dirs;
213
+ }
152
214
  async function runDirectorySidecarMaintenance(memoryDir, enabled) {
153
215
  const written = [];
154
216
  const removed = [];
155
217
  for (const scope of scopeRoots(memoryDir)) {
156
218
  const childAbstracts = /* @__PURE__ */ new Map();
157
219
  for (const dir of collectSidecarDirs(scope)) {
158
- const target = sidecarPath(dir);
159
- const raw = readFileOrNull(target);
160
- const existing = raw !== null && raw.startsWith(DIRECTORY_SIDECAR_MARKER) ? raw : null;
161
- if (!enabled) {
162
- if (existing !== null) {
163
- unlinkSync(target);
164
- removed.push(target);
165
- }
166
- continue;
167
- }
168
- const next = renderSidecar(dir, directoryFingerprint(dir), childAbstracts);
169
- if (next === null) {
170
- if (existing !== null) {
171
- unlinkSync(target);
172
- removed.push(target);
173
- }
174
- continue;
175
- }
176
- const parsedNext = parseSidecar(next);
177
- if (parsedNext) childAbstracts.set(dir, parsedNext.abstract);
178
- if (raw === next) continue;
179
- if (existing === null && raw !== null) continue;
180
- await writeFileAtomically(target, next);
181
- written.push(target);
220
+ await syncSidecarDir(dir, enabled, childAbstracts, written, removed);
182
221
  }
183
222
  }
184
223
  return { written, removed };
185
224
  }
225
+ async function refreshDirectorySidecarsAfterWrite(memoryDir, changedPath, enabled) {
226
+ if (!enabled) return { written: [], removed: [] };
227
+ const written = [];
228
+ const removed = [];
229
+ for (const dir of directorySidecarAncestry(memoryDir, changedPath)) {
230
+ await syncSidecarDir(dir, true, childAbstractsFromDisk(dir), written, removed);
231
+ }
232
+ return { written, removed };
233
+ }
186
234
  async function loadDirectorySidecar(dir, options = {}) {
187
235
  const refresh = options.refresh !== false;
188
236
  const target = sidecarPath(dir);
@@ -252,9 +300,12 @@ async function findDirectorySidecarsForQuery(memoryDir, query, options = {}) {
252
300
  export {
253
301
  DIRECTORY_SIDECAR_BASENAME,
254
302
  DIRECTORY_SIDECAR_MARKER,
303
+ parseDirectorySidecarsEnabled,
255
304
  directoryFingerprint,
305
+ directorySidecarAncestry,
256
306
  runDirectorySidecarMaintenance,
307
+ refreshDirectorySidecarsAfterWrite,
257
308
  loadDirectorySidecar,
258
309
  findDirectorySidecarsForQuery
259
310
  };
260
- //# sourceMappingURL=chunk-UD6W67JM.js.map
311
+ //# sourceMappingURL=chunk-72AV2H3R.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/directory-sidecars.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 (this slice): {@link refreshDirectorySidecarsAfterWrite} refreshes\n * only the changed directory and its category ancestors, so a memory write\n * populates sidecars without walking the rest of the store. `enabled: false`\n * is a proven no-op (no reads, no writes). Config parsing lives here;\n * `parseConfig` wiring, retrieval drill-down, xray, and LLM summarization\n * remain later layers on #2977 (`config.ts` is at its file-size ratchet).\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\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\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\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 } = {},\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);\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"],"mappings":"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","names":[]}
@@ -3,13 +3,13 @@ import {
3
3
  } from "./chunk-DBB5JPSL.js";
4
4
  import {
5
5
  isGenericRecallExcludedPath
6
- } from "./chunk-2IVHOQRY.js";
7
- import {
8
- shouldFilterSupersededFromRecall
9
- } from "./chunk-5WITETWU.js";
6
+ } from "./chunk-TEQQQTQS.js";
10
7
  import {
11
8
  isChangeOrientedQuery
12
9
  } from "./chunk-EH3HNCAM.js";
10
+ import {
11
+ shouldFilterSupersededFromRecall
12
+ } from "./chunk-5WITETWU.js";
13
13
 
14
14
  // src/recall-state-view-admission.ts
15
15
  function resolveRecallStateViewActive(options, config, query) {
@@ -69,4 +69,4 @@ export {
69
69
  filterRecentScanMemoriesForStateView,
70
70
  indexStateViewAnnotatedResults
71
71
  };
72
- //# sourceMappingURL=chunk-VBRS7Z3O.js.map
72
+ //# sourceMappingURL=chunk-72N2P44O.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  listNamespaces
3
- } from "./chunk-6525YIYL.js";
3
+ } from "./chunk-UCH2RWFX.js";
4
4
  import {
5
5
  capabilityAllowsNamespace
6
6
  } from "./chunk-MZWSOLMT.js";
@@ -282,4 +282,4 @@ export {
282
282
  computeServiceCorpusWatermarks,
283
283
  computeServiceCorpusCensus
284
284
  };
285
- //# sourceMappingURL=chunk-ZUNYFDI4.js.map
285
+ //# sourceMappingURL=chunk-7QVYVSEH.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  hasMemoryData
3
- } from "./chunk-JTPAXDSX.js";
3
+ } from "./chunk-U2SK45U3.js";
4
4
  import {
5
5
  resolveNamespaceStorageRoot
6
- } from "./chunk-42BV46XS.js";
6
+ } from "./chunk-AH44WTLJ.js";
7
7
  import {
8
8
  getConfiguredNamespaces
9
9
  } from "./chunk-OQQXGYMX.js";
@@ -724,4 +724,4 @@ export {
724
724
  runNamespaceMaintenancePlan,
725
725
  runNamespaceMaintenanceBatchPlan
726
726
  };
727
- //# sourceMappingURL=chunk-SRMBMMTK.js.map
727
+ //# sourceMappingURL=chunk-7RKAE6Y4.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  StorageManager
3
- } from "./chunk-D2XUSZ24.js";
3
+ } from "./chunk-QWQB7TOB.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-42BV46XS.js.map
415
+ //# sourceMappingURL=chunk-AH44WTLJ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createSearchBackend
3
- } from "./chunk-JOP7W24J.js";
3
+ } from "./chunk-PLJ2MQFT.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-TZ44E732.js.map
511
+ //# sourceMappingURL=chunk-AIVRD66I.js.map
@@ -3,13 +3,10 @@ import {
3
3
  } from "./chunk-KJTKLXTH.js";
4
4
  import {
5
5
  StorageManager
6
- } from "./chunk-D2XUSZ24.js";
6
+ } from "./chunk-QWQB7TOB.js";
7
7
  import {
8
8
  assertInjectedStorageRooted
9
- } from "./chunk-SGHGCFVV.js";
10
- import {
11
- displayErrorDetail
12
- } from "./chunk-RL6NEVXT.js";
9
+ } from "./chunk-JE334SIA.js";
13
10
  import {
14
11
  MEMORY_LIFECYCLE_LEDGER_LOCK_STALE_MS,
15
12
  buildLifecycleEventsForMemory,
@@ -19,6 +16,9 @@ import {
19
16
  memoryLifecycleLedgerLockPath,
20
17
  sortMemoryLifecycleEvents
21
18
  } from "./chunk-7RJUVTVF.js";
19
+ import {
20
+ displayErrorDetail
21
+ } from "./chunk-RL6NEVXT.js";
22
22
  import {
23
23
  copyExistingFileToBackup,
24
24
  writeFileAtomically
@@ -260,4 +260,4 @@ export {
260
260
  backupExistingLedger,
261
261
  rebuildMemoryLifecycleLedger
262
262
  };
263
- //# sourceMappingURL=chunk-AYGWJ2UK.js.map
263
+ //# sourceMappingURL=chunk-AQWGCHIV.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isNamespaceKind
3
- } from "./chunk-JTPAXDSX.js";
3
+ } from "./chunk-U2SK45U3.js";
4
4
  import {
5
5
  EngramAccessInputError
6
6
  } from "./chunk-2Z24E5W2.js";
@@ -40,4 +40,4 @@ export {
40
40
  positiveIntQueryParam,
41
41
  optionalNamespaceKindQueryParam
42
42
  };
43
- //# sourceMappingURL=chunk-EZV43XBD.js.map
43
+ //# sourceMappingURL=chunk-AYHNTYVG.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-765K3SAT.js";
4
4
  import {
5
5
  encryptCapsuleFile
6
- } from "./chunk-X7Y7WX73.js";
6
+ } from "./chunk-DQEMWVMT.js";
7
7
  import {
8
8
  computeTransferOutputRel,
9
9
  isTransferPathExcluded
@@ -109,4 +109,4 @@ async function enforceRetention(outDirAbs, retentionDays) {
109
109
  export {
110
110
  backupMemoryDir
111
111
  };
112
- //# sourceMappingURL=chunk-2NLLXCJG.js.map
112
+ //# sourceMappingURL=chunk-BXLOS5AJ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  RECALL_DISCLOSURE_LEVELS
3
- } from "./chunk-PQWICTRO.js";
3
+ } from "./chunk-4UVJ6EIT.js";
4
4
 
5
5
  // src/recall-navigate.ts
6
6
  var RECALL_NAV_LINK_TYPES = [
@@ -48,4 +48,4 @@ export {
48
48
  expandRecallNode,
49
49
  traverseRecallLink
50
50
  };
51
- //# sourceMappingURL=chunk-JHUODJRW.js.map
51
+ //# sourceMappingURL=chunk-D2N3PMAE.js.map
@@ -8,7 +8,7 @@ import {
8
8
  } from "./chunk-S3YM4SZQ.js";
9
9
  import {
10
10
  offlineSyncStorageForSnapshot
11
- } from "./chunk-RFIJH2OE.js";
11
+ } from "./chunk-YUHGJBQK.js";
12
12
  import {
13
13
  createPersistedSupportPassportPrivateFileExclusion
14
14
  } from "./chunk-PWPIERBM.js";
@@ -250,4 +250,4 @@ export {
250
250
  retainExcludedClassifications,
251
251
  createOfflineSyncManifestStream
252
252
  };
253
- //# sourceMappingURL=chunk-7SJCSDQ3.js.map
253
+ //# sourceMappingURL=chunk-D7VT2LED.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-RFYAYKTD.js";
4
4
  import {
5
5
  appendRecallAuditEntry
6
- } from "./chunk-LBLXEFWK.js";
6
+ } from "./chunk-4MN27537.js";
7
7
 
8
8
  // src/access-audit.ts
9
9
  var AccessAuditAdapter = class {
@@ -62,4 +62,4 @@ var AccessAuditAdapter = class {
62
62
  export {
63
63
  AccessAuditAdapter
64
64
  };
65
- //# sourceMappingURL=chunk-TVVEYCNW.js.map
65
+ //# sourceMappingURL=chunk-DAOMWGO2.js.map