@remnic/core 9.69.39 → 9.69.41

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 (774) hide show
  1. package/dist/access-admin-ops-surface.d.ts +16 -14
  2. package/dist/access-admin-ops-surface.js +75 -74
  3. package/dist/access-audit.js +2 -2
  4. package/dist/access-authorization-probe.d.ts +16 -14
  5. package/dist/access-authorization-probe.js +76 -75
  6. package/dist/access-boundary.d.ts +16 -14
  7. package/dist/access-boundary.js +75 -74
  8. package/dist/access-cli.js +173 -170
  9. package/dist/access-cli.js.map +1 -1
  10. package/dist/access-coding-context-resolution.d.ts +1 -1
  11. package/dist/access-extraction-force-flush.d.ts +16 -14
  12. package/dist/access-extraction-force-flush.js +75 -74
  13. package/dist/access-health-types.d.ts +1 -1
  14. package/dist/access-http-briefing.d.ts +16 -14
  15. package/dist/access-http-briefing.js +76 -75
  16. package/dist/access-http-lcm-compaction.d.ts +16 -14
  17. package/dist/access-http-lifecycle-flush.d.ts +16 -14
  18. package/dist/access-http-offline-stream.d.ts +16 -14
  19. package/dist/access-http-query.d.ts +2 -2
  20. package/dist/access-http-query.js +77 -76
  21. package/dist/access-http.d.ts +17 -15
  22. package/dist/access-http.js +95 -92
  23. package/dist/access-identity-continuity-surface.d.ts +13 -12
  24. package/dist/access-identity-continuity-surface.js +75 -74
  25. package/dist/access-lcm-surface.d.ts +16 -14
  26. package/dist/access-lcm-surface.js +75 -74
  27. package/dist/access-mcp-shared-context-tools.d.ts +156 -0
  28. package/dist/access-mcp-shared-context-tools.js +8 -0
  29. package/dist/access-mcp.d.ts +16 -14
  30. package/dist/access-mcp.js +86 -83
  31. package/dist/access-memory-search-fanout.d.ts +2 -2
  32. package/dist/{access-namespace-preflight-DY4z6L5X.d.ts → access-namespace-preflight-DWsMc9Dh.d.ts} +1 -1
  33. package/dist/access-namespace-preflight.d.ts +3 -3
  34. package/dist/access-namespace-preflight.js +75 -74
  35. package/dist/access-observe-transcript.d.ts +13 -12
  36. package/dist/access-observe-write-category.d.ts +1 -1
  37. package/dist/access-observe-write-category.js +4 -4
  38. package/dist/access-observe-write-surface.d.ts +16 -14
  39. package/dist/access-observe-write-surface.js +75 -74
  40. package/dist/access-offline-manifest.d.ts +37 -13
  41. package/dist/access-offline-manifest.js +15 -11
  42. package/dist/access-operations-batch.js +79 -77
  43. package/dist/access-operations.d.ts +16 -14
  44. package/dist/access-operations.js +84 -82
  45. package/dist/access-recall-concurrency.d.ts +16 -14
  46. package/dist/access-recall-concurrency.js +75 -74
  47. package/dist/access-recall-response.d.ts +16 -14
  48. package/dist/access-recall-response.js +75 -74
  49. package/dist/access-recall-surface.d.ts +16 -14
  50. package/dist/access-recall-surface.js +75 -74
  51. package/dist/access-schema.d.ts +5 -3
  52. package/dist/access-schema.js +3 -3
  53. package/dist/{access-service-MY4bsr_Q.d.ts → access-service-Cisy5YDq.d.ts} +14 -9
  54. package/dist/access-service-helpers.d.ts +16 -14
  55. package/dist/access-service.d.ts +16 -14
  56. package/dist/access-service.js +75 -74
  57. package/dist/access-surface-catalog.d.ts +16 -14
  58. package/dist/access-surface-catalog.js +77 -76
  59. package/dist/access-surface-catalog.js.map +1 -1
  60. package/dist/access-wearables-meetings-surface.d.ts +6 -5
  61. package/dist/action-confidence.d.ts +1 -1
  62. package/dist/active-memory-bridge.d.ts +1 -1
  63. package/dist/active-memory-bridge.js +3 -3
  64. package/dist/active-recall.d.ts +1 -1
  65. package/dist/active-recall.js +10 -9
  66. package/dist/active-recall.js.map +1 -1
  67. package/dist/activity/digest.d.ts +1 -1
  68. package/dist/ambient-provenance.d.ts +1 -1
  69. package/dist/artifact-search.d.ts +1 -1
  70. package/dist/{auto-sync-RP4C6ZPF.js → auto-sync-7PGUFY7U.js} +7 -7
  71. package/dist/background-generation-config.d.ts +1 -1
  72. package/dist/background-generation-config.js +3 -1
  73. package/dist/background-generation.d.ts +1 -1
  74. package/dist/behavior-learner.d.ts +1 -1
  75. package/dist/behavior-signals.d.ts +1 -1
  76. package/dist/bootstrap.d.ts +13 -12
  77. package/dist/briefing-window.d.ts +2 -2
  78. package/dist/briefing.d.ts +2 -2
  79. package/dist/briefing.js +23 -23
  80. package/dist/buffer-surprise-report.d.ts +1 -1
  81. package/dist/buffer-turn-helpers.d.ts +1 -1
  82. package/dist/buffer.d.ts +2 -2
  83. package/dist/buffer.js +7 -7
  84. package/dist/bulk-import/index.d.ts +3 -3
  85. package/dist/calibration.d.ts +3 -2
  86. package/dist/calibration.js +2 -2
  87. package/dist/capabilities.d.ts +1 -1
  88. package/dist/{capsule-crypto-7FJQINUR.js → capsule-crypto-YO5QJ6L3.js} +2 -2
  89. package/dist/{capsule-merge-IPG4IOFP.js → capsule-merge-3MNURAQ3.js} +2 -2
  90. package/dist/{catalog-CW87xGx8.d.ts → catalog-wcX1QhtQ.d.ts} +1 -1
  91. package/dist/causal-behavior.d.ts +1 -1
  92. package/dist/causal-consolidation.d.ts +1 -1
  93. package/dist/causal-consolidation.js +29 -28
  94. package/dist/causal-consolidation.js.map +1 -1
  95. package/dist/causal-trajectory-graph.d.ts +1 -1
  96. package/dist/{chunk-YFTNZMGR.js → chunk-27NO2KVB.js} +31 -8
  97. package/dist/chunk-27NO2KVB.js.map +1 -0
  98. package/dist/{chunk-M6RORUO5.js → chunk-2EYZ32LH.js} +24 -2
  99. package/dist/{chunk-M6RORUO5.js.map → chunk-2EYZ32LH.js.map} +1 -1
  100. package/dist/{chunk-XH3HGI2N.js → chunk-2HQPE2NM.js} +2 -2
  101. package/dist/{chunk-3EKVN2OP.js → chunk-2ZG2LLZT.js} +2 -2
  102. package/dist/{chunk-6EHM2AV7.js → chunk-3BLHPQHT.js} +5 -5
  103. package/dist/{chunk-YKREX63Z.js → chunk-3D75XIYO.js} +5 -3
  104. package/dist/chunk-3D75XIYO.js.map +1 -0
  105. package/dist/{chunk-J272ODKJ.js → chunk-42DJ235G.js} +2 -2
  106. package/dist/{chunk-F4EHXVP7.js → chunk-46RII65S.js} +2 -2
  107. package/dist/{chunk-YUW66UAH.js → chunk-4AX5OYKC.js} +2 -2
  108. package/dist/{chunk-AECJY3GJ.js → chunk-4IGOLIWM.js} +2 -2
  109. package/dist/{chunk-2ZTDRNCS.js → chunk-54QPOE45.js} +2 -2
  110. package/dist/{chunk-O4M4BDIJ.js → chunk-563X6JJX.js} +2 -2
  111. package/dist/{chunk-IL6ODG6M.js → chunk-5EQT62HH.js} +2 -2
  112. package/dist/{chunk-JKKII6GX.js → chunk-6MQMYXSQ.js} +2 -2
  113. package/dist/{chunk-TVVEYCNW.js → chunk-7K5Q6COX.js} +4 -4
  114. package/dist/{chunk-BV4ZKIZH.js → chunk-7ZLC4DTZ.js} +5 -4
  115. package/dist/{chunk-WBM2MVBK.js → chunk-A4OIJYCV.js} +2 -2
  116. package/dist/{chunk-RLJHJQUY.js → chunk-AFJHNHAM.js} +8 -8
  117. package/dist/{chunk-6YAIN5XJ.js → chunk-AIVRD66I.js} +44 -6
  118. package/dist/chunk-AIVRD66I.js.map +1 -0
  119. package/dist/{chunk-OEDW4ER7.js → chunk-AJBWVDRV.js} +2 -1
  120. package/dist/chunk-AJBWVDRV.js.map +1 -0
  121. package/dist/{chunk-4RZLTZVM.js → chunk-AKABVXFS.js} +2 -2
  122. package/dist/{chunk-M6HBPLBA.js → chunk-AUSRUOMQ.js} +2 -2
  123. package/dist/{chunk-QHT7MOUF.js → chunk-BTPCP535.js} +25 -14
  124. package/dist/chunk-BTPCP535.js.map +1 -0
  125. package/dist/{chunk-2NLLXCJG.js → chunk-BXLOS5AJ.js} +2 -2
  126. package/dist/{chunk-Q7CLGFA7.js → chunk-C3G6MW4W.js} +3 -3
  127. package/dist/{chunk-O76F5QPP.js → chunk-D6PY63OM.js} +2 -2
  128. package/dist/{chunk-BD7JTBYP.js → chunk-D7MAYFQP.js} +2 -2
  129. package/dist/{chunk-LMLGBG6H.js → chunk-DBB5JPSL.js} +2 -2
  130. package/dist/{chunk-TSP5WH72.js → chunk-DIXZQTGY.js} +2 -2
  131. package/dist/{chunk-P4ZAEYKG.js → chunk-DM5CU5J7.js} +7 -4
  132. package/dist/chunk-DM5CU5J7.js.map +1 -0
  133. package/dist/{chunk-X7Y7WX73.js → chunk-DQEMWVMT.js} +1 -1
  134. package/dist/{chunk-UHRZ324M.js → chunk-E3I3NDUP.js} +4 -4
  135. package/dist/{chunk-AENM6GKU.js → chunk-E4LMQTST.js} +2 -2
  136. package/dist/{chunk-YDVAM7S4.js → chunk-EH3HNCAM.js} +13 -8
  137. package/dist/chunk-EH3HNCAM.js.map +1 -0
  138. package/dist/{chunk-MUTVRKKY.js → chunk-EMSYMYXO.js} +14 -14
  139. package/dist/{chunk-YNDLCWXS.js → chunk-EZ25VE3G.js} +4 -4
  140. package/dist/{chunk-FXHOZGSE.js → chunk-F5H6YG5P.js} +2 -2
  141. package/dist/{chunk-TRLOFIQC.js → chunk-FGFC2EFR.js} +14 -13
  142. package/dist/chunk-FGFC2EFR.js.map +1 -0
  143. package/dist/{chunk-TNSCIPBQ.js → chunk-G6NQ3L4T.js} +2 -2
  144. package/dist/{chunk-ZMWSYUUL.js → chunk-GCBIXUPT.js} +2 -2
  145. package/dist/{chunk-EYKIDK33.js → chunk-GMH5QPUU.js} +22 -22
  146. package/dist/chunk-GMH5QPUU.js.map +1 -0
  147. package/dist/{chunk-4BCHFSC7.js → chunk-GWNSKQDA.js} +3 -3
  148. package/dist/{chunk-JDX2OA4R.js → chunk-HNHIHXSD.js} +2 -2
  149. package/dist/{chunk-GG5FHZJJ.js → chunk-I33QYUAF.js} +6 -6
  150. package/dist/{chunk-LPYYY4AP.js → chunk-I46BYY7U.js} +653 -328
  151. package/dist/chunk-I46BYY7U.js.map +1 -0
  152. package/dist/{chunk-CZTPU65V.js → chunk-ICN37XHG.js} +74 -27
  153. package/dist/chunk-ICN37XHG.js.map +1 -0
  154. package/dist/chunk-IFBSZGW3.js +42 -0
  155. package/dist/chunk-IFBSZGW3.js.map +1 -0
  156. package/dist/{chunk-AAZEKXUP.js → chunk-IYIPXAIJ.js} +2 -2
  157. package/dist/{chunk-ACY4ZPF7.js → chunk-J2MGTGKC.js} +10 -5
  158. package/dist/chunk-J2MGTGKC.js.map +1 -0
  159. package/dist/chunk-JATHBCAV.js +94 -0
  160. package/dist/chunk-JATHBCAV.js.map +1 -0
  161. package/dist/{chunk-5U7K4W6K.js → chunk-JDOBQPJY.js} +3 -3
  162. package/dist/{chunk-TG3FAM2S.js → chunk-JL4TQYM5.js} +48 -1
  163. package/dist/{chunk-TG3FAM2S.js.map → chunk-JL4TQYM5.js.map} +1 -1
  164. package/dist/{chunk-UZZ7SQT3.js → chunk-JMWUPUE6.js} +2 -2
  165. package/dist/{chunk-ENBPQEVU.js → chunk-JSD7Q7LD.js} +2 -2
  166. package/dist/{chunk-QTQ6XKGT.js → chunk-K5D2XVNN.js} +4 -4
  167. package/dist/chunk-K5D2XVNN.js.map +1 -0
  168. package/dist/{chunk-3CBI2ZSA.js → chunk-KG2OOAFF.js} +20 -12
  169. package/dist/chunk-KG2OOAFF.js.map +1 -0
  170. package/dist/{chunk-Q432REND.js → chunk-KJLLPG26.js} +2 -2
  171. package/dist/{chunk-JTQR6L2N.js → chunk-KLUC2GSG.js} +6 -6
  172. package/dist/{chunk-OB3XMWX5.js → chunk-KVO2BTA4.js} +2 -2
  173. package/dist/{chunk-PCOVEDPK.js → chunk-KZJM7R4F.js} +3 -3
  174. package/dist/{chunk-X4TD4O2F.js → chunk-LE2KZ72G.js} +3 -3
  175. package/dist/{chunk-HIP6DKJJ.js → chunk-LQVXSRAJ.js} +2 -2
  176. package/dist/{chunk-A7GQBJP5.js → chunk-LVFI5LG7.js} +7 -7
  177. package/dist/{chunk-FWWWUPOE.js → chunk-MCMS4VUK.js} +25 -15
  178. package/dist/chunk-MCMS4VUK.js.map +1 -0
  179. package/dist/{chunk-5SPCMAUC.js → chunk-N6XTC56E.js} +13 -81
  180. package/dist/chunk-N6XTC56E.js.map +1 -0
  181. package/dist/{chunk-VBSNUH4J.js → chunk-ND7MAIJC.js} +2 -2
  182. package/dist/{chunk-TNZNSMVJ.js → chunk-NYWCFC3K.js} +301 -348
  183. package/dist/chunk-NYWCFC3K.js.map +1 -0
  184. package/dist/{chunk-54NX5EG4.js → chunk-P66QH6R6.js} +2 -2
  185. package/dist/{chunk-62D2PAAM.js → chunk-PAAJWQH5.js} +4 -4
  186. package/dist/{chunk-TA4C3XB7.js → chunk-PFKIOYJH.js} +2 -2
  187. package/dist/{chunk-WIWLX65T.js → chunk-PGGPRF6J.js} +2 -2
  188. package/dist/{chunk-V6EGNVUT.js → chunk-PIWFNPQT.js} +4 -4
  189. package/dist/{chunk-BLDBT6HZ.js → chunk-PJRKLB4Z.js} +18 -2
  190. package/dist/chunk-PJRKLB4Z.js.map +1 -0
  191. package/dist/{chunk-4JVQRFZD.js → chunk-PLJ2MQFT.js} +11 -11
  192. package/dist/{chunk-4RX5O34R.js → chunk-PQ42DJNG.js} +2 -2
  193. package/dist/{chunk-37CAEC7E.js → chunk-PWPIERBM.js} +4 -4
  194. package/dist/{chunk-ZEGL7YCC.js → chunk-Q62GA5U2.js} +2 -2
  195. package/dist/{chunk-CC37E3QM.js → chunk-QKCXRS5A.js} +16 -1
  196. package/dist/chunk-QKCXRS5A.js.map +1 -0
  197. package/dist/{chunk-WKDFJXW5.js → chunk-QM2SPLKQ.js} +1 -1
  198. package/dist/chunk-QM2SPLKQ.js.map +1 -0
  199. package/dist/{chunk-GAS7KYC7.js → chunk-RQQO3ORQ.js} +2 -2
  200. package/dist/{chunk-UZEHHXYC.js → chunk-S4MJTIPG.js} +85 -81
  201. package/dist/chunk-S4MJTIPG.js.map +1 -0
  202. package/dist/chunk-SK7D34OL.js +68 -0
  203. package/dist/chunk-SK7D34OL.js.map +1 -0
  204. package/dist/{chunk-LQNRVPTV.js → chunk-TRTLWUDD.js} +164 -130
  205. package/dist/chunk-TRTLWUDD.js.map +1 -0
  206. package/dist/{chunk-JXN77SGO.js → chunk-U2VDCFXW.js} +1 -1
  207. package/dist/chunk-U2VDCFXW.js.map +1 -0
  208. package/dist/{chunk-CWTCMZGE.js → chunk-UHSOPTNB.js} +132 -6
  209. package/dist/chunk-UHSOPTNB.js.map +1 -0
  210. package/dist/{chunk-3NPNBVFR.js → chunk-UZGHKD3T.js} +2 -2
  211. package/dist/{chunk-IQEJIOEU.js → chunk-V2EXYQEQ.js} +20 -12
  212. package/dist/chunk-V2EXYQEQ.js.map +1 -0
  213. package/dist/{chunk-OPBFP4TF.js → chunk-V2TOGJPM.js} +46 -13
  214. package/dist/chunk-V2TOGJPM.js.map +1 -0
  215. package/dist/{chunk-VJIE4D2I.js → chunk-V62YYBBY.js} +4 -4
  216. package/dist/{chunk-KQAFEZQX.js → chunk-VDX2J7OX.js} +2 -2
  217. package/dist/{chunk-6H2G7RFT.js → chunk-VNQRRUNS.js} +11 -10
  218. package/dist/chunk-VNQRRUNS.js.map +1 -0
  219. package/dist/{chunk-6AGWBKQU.js → chunk-VSN2DMQK.js} +2 -2
  220. package/dist/{chunk-ZHXSOMYH.js → chunk-VVX5PZFS.js} +2 -2
  221. package/dist/{chunk-GI4ZBWPQ.js → chunk-W7UV2ZCA.js} +3 -3
  222. package/dist/{chunk-GMIQV6DD.js → chunk-WBQ4ONQJ.js} +2 -2
  223. package/dist/{chunk-FNHLI2RE.js → chunk-WFMQN7JE.js} +3 -3
  224. package/dist/{chunk-MVAQ2WM3.js → chunk-WGZHSQDV.js} +9 -5
  225. package/dist/chunk-WGZHSQDV.js.map +1 -0
  226. package/dist/{chunk-IYKZJVL5.js → chunk-WN2OXGGH.js} +1 -1
  227. package/dist/chunk-WN2OXGGH.js.map +1 -0
  228. package/dist/{chunk-ZBW7A667.js → chunk-WPGA4RYI.js} +2 -2
  229. package/dist/{chunk-YQNNHLCG.js → chunk-WPGR3RW4.js} +2 -2
  230. package/dist/{chunk-SV4Z2S67.js → chunk-WUUGE7QC.js} +54 -21
  231. package/dist/chunk-WUUGE7QC.js.map +1 -0
  232. package/dist/{chunk-NXGSONWM.js → chunk-WZIO3TW6.js} +2 -2
  233. package/dist/{chunk-ZZUVBZL2.js → chunk-X2QPKLPL.js} +2 -2
  234. package/dist/{chunk-5HYUUFMQ.js → chunk-XCPNH2MG.js} +259 -10
  235. package/dist/chunk-XCPNH2MG.js.map +1 -0
  236. package/dist/{chunk-VSL63CFJ.js → chunk-XRS65T4O.js} +9 -9
  237. package/dist/{chunk-5N4MZLEH.js → chunk-YFXAWGMR.js} +2 -2
  238. package/dist/{chunk-KQW3YGEN.js → chunk-YR5QT4SR.js} +32 -9
  239. package/dist/chunk-YR5QT4SR.js.map +1 -0
  240. package/dist/{chunk-CARRTDKC.js → chunk-Z22M4JCY.js} +4 -3
  241. package/dist/chunk-Z22M4JCY.js.map +1 -0
  242. package/dist/{chunk-D545Z7UH.js → chunk-Z535ADTC.js} +3 -3
  243. package/dist/{chunk-B36GUU6T.js → chunk-Z7NBT6AK.js} +38 -5
  244. package/dist/chunk-Z7NBT6AK.js.map +1 -0
  245. package/dist/{chunk-5YCNDC3C.js → chunk-ZX6NNFSY.js} +3 -3
  246. package/dist/{chunk-3N3PBBEH.js → chunk-ZYSOT6HD.js} +2 -2
  247. package/dist/{chunk-MCRVQ5YQ.js → chunk-ZZEIL3MI.js} +2 -2
  248. package/dist/{cli-DGq0MNpO.d.ts → cli-CUlMlS2N.d.ts} +5 -5
  249. package/dist/cli.d.ts +18 -16
  250. package/dist/cli.js +129 -126
  251. package/dist/coding/export-okf-codegraph.d.ts +1 -1
  252. package/dist/coding/export-okf-codegraph.js +22 -22
  253. package/dist/coding/pre-action-gate.d.ts +1 -1
  254. package/dist/compounding/engine.d.ts +2 -2
  255. package/dist/compounding/engine.js +25 -25
  256. package/dist/compounding/preference-consolidator.d.ts +1 -1
  257. package/dist/compression-optimizer.d.ts +1 -1
  258. package/dist/config.d.ts +1 -1
  259. package/dist/config.js +10 -9
  260. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  261. package/dist/connectors/codex-materialize-runner.js +25 -25
  262. package/dist/connectors/codex-materialize.d.ts +1 -1
  263. package/dist/connectors/codex-materialize.js +2 -2
  264. package/dist/connectors/index.d.ts +1 -1
  265. package/dist/connectors/index.js +25 -25
  266. package/dist/consolidation-provenance-check.d.ts +2 -2
  267. package/dist/consolidation-undo.d.ts +2 -2
  268. package/dist/contradiction/index.d.ts +6 -5
  269. package/dist/contradiction/index.js +4 -4
  270. package/dist/{contradiction-scan-BSGKZHYJ.js → contradiction-scan-GVD4JJ7B.js} +4 -4
  271. package/dist/converge-config.d.ts +1 -1
  272. package/dist/convergence-refresh.d.ts +2 -2
  273. package/dist/convergence-refresh.js +26 -26
  274. package/dist/conversation-index/backend.d.ts +1 -1
  275. package/dist/conversation-index/chunker.d.ts +1 -1
  276. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  277. package/dist/conversation-index/indexer.d.ts +1 -1
  278. package/dist/conversation-index/search.d.ts +1 -1
  279. package/dist/corpus-watermark.d.ts +1 -1
  280. package/dist/corpus-watermark.js +25 -25
  281. package/dist/cross-lingual-recall.d.ts +1 -1
  282. package/dist/dashboard-runtime.js +2 -2
  283. package/dist/day-summary.d.ts +1 -1
  284. package/dist/deep-recall-config.d.ts +12 -1
  285. package/dist/deep-recall-config.js +5 -3
  286. package/dist/deep-recall-http-glue.d.ts +19 -15
  287. package/dist/deep-recall-http-glue.js +7 -4
  288. package/dist/deep-recall-mcp-tools.d.ts +16 -14
  289. package/dist/deep-recall-policy-llm.d.ts +14 -3
  290. package/dist/deep-recall-policy-llm.js +3 -3
  291. package/dist/deep-recall-seeds.d.ts +4 -1
  292. package/dist/deep-recall-seeds.js +1 -1
  293. package/dist/deep-recall.d.ts +12 -1
  294. package/dist/deep-recall.js +3 -2
  295. package/dist/delinearize.d.ts +1 -1
  296. package/dist/dependency-propagation-config.d.ts +1 -1
  297. package/dist/{dependency-propagation-delivery-Cq1ekOwV.d.ts → dependency-propagation-delivery-BDDjImQn.d.ts} +1 -1
  298. package/dist/direct-answer-wiring.d.ts +1 -1
  299. package/dist/direct-answer.d.ts +1 -1
  300. package/dist/embedding-fallback.d.ts +1 -1
  301. package/dist/enrichment/index.d.ts +1 -1
  302. package/dist/entity-origin-fields.d.ts +1 -1
  303. package/dist/entity-retrieval.d.ts +2 -2
  304. package/dist/entity-retrieval.js +24 -24
  305. package/dist/entity-schema.d.ts +1 -1
  306. package/dist/episodic-context.d.ts +1 -1
  307. package/dist/eval-trajectory-contracts.d.ts +1 -1
  308. package/dist/eval-trajectory-store.d.ts +1 -1
  309. package/dist/eval-trajectory.d.ts +1 -1
  310. package/dist/explicit-capture.d.ts +13 -12
  311. package/dist/explicit-capture.js +3 -3
  312. package/dist/external-wiki-access.d.ts +16 -14
  313. package/dist/external-wiki-access.js +76 -75
  314. package/dist/external-wiki-collection-registration.d.ts +1 -1
  315. package/dist/external-wiki-collection.d.ts +1 -1
  316. package/dist/external-wiki-mcp-tools.d.ts +16 -14
  317. package/dist/extraction-error-classification.d.ts +14 -3
  318. package/dist/extraction-error-classification.js +5 -3
  319. package/dist/extraction-faithfulness.d.ts +4 -3
  320. package/dist/extraction-faithfulness.js +3 -3
  321. package/dist/extraction-judge-telemetry.d.ts +4 -3
  322. package/dist/extraction-judge-training.d.ts +4 -3
  323. package/dist/extraction-judge.d.ts +4 -3
  324. package/dist/extraction-judge.js +3 -3
  325. package/dist/extraction-liveness.d.ts +1 -1
  326. package/dist/extraction-normalization.d.ts +1 -1
  327. package/dist/extraction-prompt.d.ts +1 -1
  328. package/dist/extraction-source-grounding-rules.d.ts +1 -1
  329. package/dist/extraction-source-grounding.d.ts +1 -1
  330. package/dist/extraction-span-config.d.ts +1 -1
  331. package/dist/extraction-span-materialize.d.ts +1 -1
  332. package/dist/extraction.d.ts +4 -4
  333. package/dist/extraction.js +40 -38
  334. package/dist/fallback-llm-codex-subscription.d.ts +65 -10
  335. package/dist/fallback-llm-codex-subscription.js +19 -1
  336. package/dist/fallback-llm.d.ts +25 -28
  337. package/dist/fallback-llm.js +4 -3
  338. package/dist/{first-start-migration-ZWMV5CX4.js → first-start-migration-L3UFX5CU.js} +4 -4
  339. package/dist/{generic-recall-paths-BcySh_f9.d.ts → generic-recall-paths-CpDzNO_I.d.ts} +1 -1
  340. package/dist/graph-append-error.d.ts +1 -1
  341. package/dist/graph-dashboard-diff.d.ts +1 -1
  342. package/dist/graph-dashboard-key.d.ts +1 -1
  343. package/dist/graph-dashboard-parser.d.ts +1 -1
  344. package/dist/graph-edge-reinforcement.d.ts +1 -1
  345. package/dist/graph-jsonl.d.ts +1 -1
  346. package/dist/graph-path-reconstruction.d.ts +1 -1
  347. package/dist/graph-path-scoring.d.ts +1 -1
  348. package/dist/graph-snapshot.d.ts +1 -1
  349. package/dist/graph.d.ts +1 -1
  350. package/dist/harmonic-retrieval.js +3 -3
  351. package/dist/importance.d.ts +1 -1
  352. package/dist/importers/index.d.ts +1 -1
  353. package/dist/importers/test-utils.d.ts +1 -1
  354. package/dist/in-flight-reads.d.ts +1 -1
  355. package/dist/{index-DWOb4wz9.d.ts → index-CtmmCJoo.d.ts} +3 -3
  356. package/dist/index.d.ts +80 -40
  357. package/dist/index.js +316 -296
  358. package/dist/intent.d.ts +1 -1
  359. package/dist/lcm/engine.d.ts +1 -1
  360. package/dist/lcm/engine.js +3 -3
  361. package/dist/lcm/index.d.ts +1 -1
  362. package/dist/lcm/index.js +11 -11
  363. package/dist/lcm/tools.d.ts +1 -1
  364. package/dist/lifecycle.d.ts +1 -1
  365. package/dist/live-connectors-runner.d.ts +1 -1
  366. package/dist/local-llm-DpXIvm6F.d.ts +247 -0
  367. package/dist/local-llm-config.d.ts +4 -1
  368. package/dist/local-llm-config.js +4 -2
  369. package/dist/local-llm-helpers.d.ts +18 -69
  370. package/dist/local-llm-helpers.js +1 -1
  371. package/dist/local-llm.d.ts +3 -170
  372. package/dist/local-llm.js +2 -2
  373. package/dist/local-model-endpoint.d.ts +1 -1
  374. package/dist/location/index.d.ts +3 -3
  375. package/dist/location/index.js +25 -25
  376. package/dist/maintenance/memory-governance.d.ts +1 -1
  377. package/dist/maintenance/memory-governance.js +24 -24
  378. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +2 -2
  379. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +23 -23
  380. package/dist/maintenance/rebuild-memory-projection.d.ts +2 -2
  381. package/dist/maintenance/rebuild-memory-projection.js +25 -25
  382. package/dist/{maintenance-CW9wCzMP.d.ts → maintenance-CNgoLsoM.d.ts} +13 -6
  383. package/dist/mcp-memory-inspector-app.d.ts +16 -14
  384. package/dist/memory-action-policy.d.ts +1 -1
  385. package/dist/memory-cache.d.ts +1 -1
  386. package/dist/memory-controller.d.ts +1 -1
  387. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  388. package/dist/memory-projection-store.d.ts +1 -1
  389. package/dist/memory-provenance.d.ts +1 -1
  390. package/dist/memory-snapshot.d.ts +1 -1
  391. package/dist/memory-subject-cli.d.ts +16 -14
  392. package/dist/memory-subject.d.ts +16 -14
  393. package/dist/memory-worth-outcomes.d.ts +2 -2
  394. package/dist/models-json.d.ts +1 -1
  395. package/dist/namespaces/migrate.d.ts +3 -3
  396. package/dist/namespaces/migrate.js +24 -24
  397. package/dist/namespaces/principal.d.ts +1 -1
  398. package/dist/namespaces/search.d.ts +12 -1
  399. package/dist/namespaces/search.js +9 -9
  400. package/dist/namespaces/storage.d.ts +3 -3
  401. package/dist/namespaces/storage.js +23 -23
  402. package/dist/native-knowledge.d.ts +1 -1
  403. package/dist/offline-sync-impression-drain.d.ts +1 -1
  404. package/dist/operator-doctor-corpus.d.ts +1 -1
  405. package/dist/operator-doctor-corpus.js +26 -26
  406. package/dist/operator-doctor-replica.d.ts +1 -1
  407. package/dist/operator-toolkit.d.ts +3 -3
  408. package/dist/operator-toolkit.js +45 -44
  409. package/dist/orchestration/compression-guideline-coordinator.d.ts +2 -2
  410. package/dist/orchestration/maintenance.d.ts +4 -4
  411. package/dist/orchestration/maintenance.js +36 -36
  412. package/dist/{orchestrator-ComHLm49.d.ts → orchestrator-DT7ybIFz.d.ts} +32 -11
  413. package/dist/orchestrator.d.ts +13 -12
  414. package/dist/orchestrator.js +176 -171
  415. package/dist/patterns-cli.d.ts +1 -1
  416. package/dist/{pipeline-CiYcqqhl.d.ts → pipeline-CgBEmHcz.d.ts} +1 -1
  417. package/dist/policy-runtime.d.ts +1 -1
  418. package/dist/proactive-contention.d.ts +2 -2
  419. package/dist/provenance.d.ts +1 -1
  420. package/dist/{public-http-CuK4_Cb1.d.ts → public-http-C8P8fyiO.d.ts} +1 -1
  421. package/dist/{qmd-qXD4vatU.d.ts → qmd-BkY8KpCh.d.ts} +2 -2
  422. package/dist/qmd-preflight.d.ts +2 -2
  423. package/dist/qmd-recall-cache.d.ts +1 -1
  424. package/dist/qmd.d.ts +2 -2
  425. package/dist/qmd.js +2 -2
  426. package/dist/recall-concurrency-config.d.ts +1 -1
  427. package/dist/recall-disclosure-escalation.d.ts +1 -1
  428. package/dist/recall-explain-renderer.d.ts +1 -1
  429. package/dist/recall-explain-renderer.js +3 -3
  430. package/dist/recall-memory-map.d.ts +1 -1
  431. package/dist/recall-navigate-access.d.ts +1 -1
  432. package/dist/recall-navigate-access.js +2 -2
  433. package/dist/recall-navigate-disclosure.d.ts +1 -1
  434. package/dist/recall-navigate-disclosure.js +1 -1
  435. package/dist/recall-navigate.d.ts +1 -1
  436. package/dist/recall-navigate.js +2 -2
  437. package/dist/recall-planner-llm.d.ts +3 -2
  438. package/dist/recall-planner-llm.js +4 -3
  439. package/dist/recall-planner-llm.js.map +1 -1
  440. package/dist/recall-state-view-admission.d.ts +13 -3
  441. package/dist/recall-state-view-admission.js +9 -9
  442. package/dist/recall-state-view-anchors.d.ts +1 -1
  443. package/dist/recall-state-view-anchors.js +2 -2
  444. package/dist/recall-state-view-inject.js +2 -2
  445. package/dist/recall-state-view-render.js +2 -2
  446. package/dist/recall-state-view-widen.js +2 -2
  447. package/dist/recall-state-view-wire.js +3 -3
  448. package/dist/recall-state-view.d.ts +10 -1
  449. package/dist/recall-state-view.js +5 -3
  450. package/dist/recall-state.d.ts +1 -1
  451. package/dist/recall-tag-filter.d.ts +1 -1
  452. package/dist/recall-timings.d.ts +1 -1
  453. package/dist/recall-xray-cli.d.ts +1 -1
  454. package/dist/recall-xray-cli.js +4 -4
  455. package/dist/recall-xray-renderer.d.ts +1 -1
  456. package/dist/recall-xray-renderer.js +3 -3
  457. package/dist/recall-xray.d.ts +1 -1
  458. package/dist/recall-xray.js +2 -2
  459. package/dist/reconcile/cursor.d.ts +1 -1
  460. package/dist/reconcile/cursor.js +2 -2
  461. package/dist/reconcile/manifest.d.ts +1 -1
  462. package/dist/reconcile/manifest.js +4 -4
  463. package/dist/reconcile/plan.d.ts +1 -1
  464. package/dist/reconcile/plan.js +2 -2
  465. package/dist/replay/normalizers/chatgpt.d.ts +1 -1
  466. package/dist/replay/normalizers/claude.d.ts +1 -1
  467. package/dist/replay/normalizers/openclaw.d.ts +1 -1
  468. package/dist/replay/normalizers/shared.d.ts +1 -1
  469. package/dist/replay/runner.d.ts +1 -1
  470. package/dist/replay/types.d.ts +1 -1
  471. package/dist/replica-divergence.d.ts +1 -1
  472. package/dist/replica-peers-config.d.ts +1 -1
  473. package/dist/{resolution-4GG3QZRJ.js → resolution-LXFQQ4AE.js} +5 -5
  474. package/dist/resolution-LXFQQ4AE.js.map +1 -0
  475. package/dist/resolve-auth-token.d.ts +1 -1
  476. package/dist/resume-bundles.js +12 -11
  477. package/dist/retrieval-agents.d.ts +2 -2
  478. package/dist/retrieval-tiers.d.ts +1 -1
  479. package/dist/routing/engine.d.ts +1 -1
  480. package/dist/routing/store.d.ts +1 -1
  481. package/dist/salvage-envelope.d.ts +1 -1
  482. package/dist/{scope-profiles-BT9rqC3w.d.ts → scope-profiles-BBPjZ9jb.d.ts} +1 -1
  483. package/dist/search/embed-helper.d.ts +1 -1
  484. package/dist/search/factory.d.ts +1 -1
  485. package/dist/search/factory.js +8 -8
  486. package/dist/search/index.d.ts +1 -1
  487. package/dist/search/index.js +12 -12
  488. package/dist/search/lancedb-backend.d.ts +1 -1
  489. package/dist/search/lancedb-backend.js +2 -2
  490. package/dist/search/meilisearch-backend.d.ts +1 -1
  491. package/dist/search/meilisearch-backend.js +2 -2
  492. package/dist/search/noop-backend.d.ts +1 -1
  493. package/dist/search/orama-backend.d.ts +1 -1
  494. package/dist/search/orama-backend.js +2 -2
  495. package/dist/search/port.d.ts +2 -2
  496. package/dist/search/port.js +1 -1
  497. package/dist/search/remote-backend.d.ts +1 -1
  498. package/dist/search/remote-backend.js +2 -2
  499. package/dist/{semantic-consolidation-CmZi7thY.d.ts → semantic-consolidation-BPFFVO84.d.ts} +1 -1
  500. package/dist/semantic-consolidation.d.ts +2 -2
  501. package/dist/semantic-consolidation.js +26 -26
  502. package/dist/semantic-rule-promotion.js +23 -23
  503. package/dist/semantic-rule-verifier.d.ts +1 -1
  504. package/dist/semantic-rule-verifier.js +23 -23
  505. package/dist/{service-CLkA7AQB.d.ts → service-jKcr6Jvr.d.ts} +2 -2
  506. package/dist/session-observer-bands.d.ts +1 -1
  507. package/dist/session-observer-state.d.ts +1 -1
  508. package/dist/shared-context/manager.d.ts +1 -1
  509. package/dist/shared-context/manager.js +2 -2
  510. package/dist/shared-context/write-output-controls.d.ts +34 -0
  511. package/dist/shared-context/write-output-controls.js +10 -0
  512. package/dist/shared-context/write-output-controls.js.map +1 -0
  513. package/dist/signal.d.ts +1 -1
  514. package/dist/source-agent-qualifier.d.ts +1 -1
  515. package/dist/source-agent-qualifier.js +31 -31
  516. package/dist/source-attribution.d.ts +23 -1
  517. package/dist/source-attribution.js +13 -3
  518. package/dist/standup/build.js +23 -23
  519. package/dist/{storage-wvX01lht.d.ts → storage-C-0Ah5OY.d.ts} +2 -1
  520. package/dist/storage.d.ts +2 -2
  521. package/dist/storage.js +22 -22
  522. package/dist/subject-config.d.ts +1 -1
  523. package/dist/summarizer.d.ts +1 -1
  524. package/dist/summarizer.js +6 -6
  525. package/dist/summary-snapshot.d.ts +1 -1
  526. package/dist/support-passport/index.d.ts +18 -17
  527. package/dist/support-passport/index.js +78 -77
  528. package/dist/task-llm-config.d.ts +16 -0
  529. package/dist/task-llm-config.js +12 -0
  530. package/dist/task-llm-config.js.map +1 -0
  531. package/dist/temporal-supersession.d.ts +2 -2
  532. package/dist/temporal-timeline-recall.d.ts +1 -1
  533. package/dist/temporal-validity.d.ts +1 -1
  534. package/dist/threading.d.ts +1 -1
  535. package/dist/tier-migration.d.ts +2 -2
  536. package/dist/tier-routing.d.ts +1 -1
  537. package/dist/tier-routing.js +3 -3
  538. package/dist/{tier-stats-LUSUUNU6.js → tier-stats-VK5PCO2L.js} +4 -4
  539. package/dist/topics.d.ts +1 -1
  540. package/dist/transcript.d.ts +1 -1
  541. package/dist/transfer/backup.js +2 -2
  542. package/dist/transfer/capsule-export.js +2 -2
  543. package/dist/transfer/capsule-import.js +3 -3
  544. package/dist/transfer/export-okf.d.ts +1 -1
  545. package/dist/transfer/export-okf.js +23 -23
  546. package/dist/trust-score-stage.d.ts +1 -1
  547. package/dist/trust-score.d.ts +1 -1
  548. package/dist/{types-Cyr32ABj.d.ts → types-cK5LydjL.d.ts} +6 -1
  549. package/dist/types.d.ts +1 -1
  550. package/dist/types.js +1 -1
  551. package/dist/utility-runtime.d.ts +1 -1
  552. package/dist/verified-recall.js +23 -23
  553. package/dist/who-knows-cli.d.ts +16 -14
  554. package/dist/who-knows-cli.js +24 -24
  555. package/dist/who-knows.d.ts +16 -14
  556. package/dist/who-knows.js +23 -23
  557. package/dist/write-envelope.d.ts +1 -1
  558. package/package.json +12 -2
  559. package/src/access-category-alias.test.ts +93 -0
  560. package/src/access-http.ts +1 -1
  561. package/src/access-mcp-shared-context-tools.ts +103 -0
  562. package/src/access-mcp.ts +4 -74
  563. package/src/access-offline-manifest.ts +52 -2
  564. package/src/access-operations-batch.ts +45 -2
  565. package/src/access-schema.ts +9 -4
  566. package/src/access-service.ts +14 -7
  567. package/src/activity/config.test.ts +61 -0
  568. package/src/activity/config.ts +40 -1
  569. package/src/activity/timeline/analysis-provider.ts +8 -2
  570. package/src/activity/timeline/analysis-run.test.ts +82 -0
  571. package/src/activity/timeline/publish-cli.test.ts +30 -0
  572. package/src/activity/timeline/publish-cli.ts +7 -0
  573. package/src/activity/timeline/query.ts +8 -1
  574. package/src/activity/timeline/regenerate.test.ts +130 -2
  575. package/src/activity/timeline/regenerate.ts +14 -6
  576. package/src/activity/vault-frontmatter.test.ts +99 -1
  577. package/src/activity/vault-frontmatter.ts +131 -0
  578. package/src/activity/vault-publish.ts +6 -0
  579. package/src/activity/vault-publisher.test.ts +172 -0
  580. package/src/activity/vault-publisher.ts +69 -15
  581. package/src/activity/vault-region.test.ts +7 -2
  582. package/src/activity/vault-region.ts +7 -3
  583. package/src/background-generation-config.ts +32 -6
  584. package/src/background-generation.test.ts +10 -1
  585. package/src/cli/deep-recall-commands.ts +22 -10
  586. package/src/cli/timeline-publish-commands.ts +9 -0
  587. package/src/config.test.ts +170 -43
  588. package/src/config.ts +22 -5
  589. package/src/dedup/merge.test.ts +283 -0
  590. package/src/deep-recall-boundary.test.ts +66 -0
  591. package/src/deep-recall-cli.test.ts +82 -0
  592. package/src/deep-recall-config.test.ts +56 -0
  593. package/src/deep-recall-config.ts +32 -0
  594. package/src/deep-recall-http-glue.ts +10 -10
  595. package/src/deep-recall-policy-llm.test.ts +242 -0
  596. package/src/deep-recall-policy-llm.ts +37 -7
  597. package/src/deep-recall-seeds.test.ts +53 -0
  598. package/src/deep-recall-seeds.ts +7 -1
  599. package/src/deep-recall-surface.test.ts +93 -0
  600. package/src/deep-recall.test.ts +121 -0
  601. package/src/deep-recall.ts +88 -28
  602. package/src/extraction-error-classification.ts +36 -1
  603. package/src/extraction-timeout.test.ts +110 -1
  604. package/src/extraction.test.ts +19 -1
  605. package/src/extraction.ts +23 -21
  606. package/src/fallback-llm-codex-subscription.ts +220 -12
  607. package/src/fallback-llm-parse-failure.test.ts +156 -0
  608. package/src/fallback-llm.test.ts +178 -0
  609. package/src/fallback-llm.ts +200 -198
  610. package/src/index.ts +1 -0
  611. package/src/local-llm-config.ts +11 -10
  612. package/src/local-llm-headers-timeout.test.ts +30 -0
  613. package/src/local-llm-helpers.ts +28 -0
  614. package/src/local-llm.ts +8 -19
  615. package/src/meetings/config.test.ts +58 -0
  616. package/src/namespaces/search.test.ts +51 -1
  617. package/src/namespaces/search.ts +48 -3
  618. package/src/orchestration/extraction-persist-promotion.test.ts +228 -2
  619. package/src/orchestration/extraction-persist-promotion.ts +17 -14
  620. package/src/orchestration/extraction-persist.ts +1 -1
  621. package/src/orchestration/orchestrator-helpers.test.ts +104 -0
  622. package/src/orchestration/orchestrator-init.ts +366 -106
  623. package/src/orchestration/recall-entry.ts +15 -1
  624. package/src/orchestration/recall-internal.ts +6 -11
  625. package/src/orchestration/recall-section-coordinator.ts +65 -28
  626. package/src/orchestration/recall-state-view-pipeline.test.ts +8 -2
  627. package/src/orchestration/semantic-merge-commit-effects.ts +45 -16
  628. package/src/orchestration/semantic-merge-persist.ts +23 -36
  629. package/src/orchestration/semantic-merge-promotion-payload.ts +62 -6
  630. package/src/orchestration/startup-collection-checks.ts +85 -0
  631. package/src/orchestrator-flush.test.ts +7 -0
  632. package/src/orchestrator-init.test.ts +1539 -0
  633. package/src/orchestrator.ts +7 -0
  634. package/src/providers/codex-subscription.test.ts +127 -0
  635. package/src/providers/codex-subscription.ts +1 -1
  636. package/src/qmd.ts +21 -10
  637. package/src/recall-state-view-admission.ts +11 -1
  638. package/src/recall-state-view-budget.test.ts +424 -0
  639. package/src/recall-state-view-cron-intent.test.ts +268 -0
  640. package/src/recall-state-view-widen.test.ts +14 -5
  641. package/src/recall-state-view-widen.ts +8 -1
  642. package/src/recall-state-view.ts +35 -18
  643. package/src/reconcile-identity-cache.test.ts +82 -1
  644. package/src/search/port.ts +1 -1
  645. package/src/shared-context/envelope-io.ts +25 -0
  646. package/src/shared-context/envelope-wiring.test.ts +4 -2
  647. package/src/shared-context/manager.ts +1 -0
  648. package/src/shared-context/write-output-controls.test.ts +192 -0
  649. package/src/shared-context/write-output-controls.ts +72 -0
  650. package/src/source-attribution.test.ts +39 -0
  651. package/src/source-attribution.ts +72 -0
  652. package/src/storage/cas-revision-store.test.ts +4 -0
  653. package/src/storage/cas-revision-store.ts +104 -12
  654. package/src/storage-frontmatter-cas.test.ts +19 -17
  655. package/src/summarizer.ts +5 -1
  656. package/src/task-llm-config.test.ts +124 -0
  657. package/src/task-llm-config.ts +88 -0
  658. package/src/testing/subjects/startup-discovery-lifecycle.test.ts +273 -0
  659. package/src/types.ts +6 -0
  660. package/dist/chunk-3CBI2ZSA.js.map +0 -1
  661. package/dist/chunk-5HYUUFMQ.js.map +0 -1
  662. package/dist/chunk-5SPCMAUC.js.map +0 -1
  663. package/dist/chunk-6H2G7RFT.js.map +0 -1
  664. package/dist/chunk-6YAIN5XJ.js.map +0 -1
  665. package/dist/chunk-ACY4ZPF7.js.map +0 -1
  666. package/dist/chunk-B36GUU6T.js.map +0 -1
  667. package/dist/chunk-BLDBT6HZ.js.map +0 -1
  668. package/dist/chunk-CARRTDKC.js.map +0 -1
  669. package/dist/chunk-CC37E3QM.js.map +0 -1
  670. package/dist/chunk-CWTCMZGE.js.map +0 -1
  671. package/dist/chunk-CZTPU65V.js.map +0 -1
  672. package/dist/chunk-EYKIDK33.js.map +0 -1
  673. package/dist/chunk-FWWWUPOE.js.map +0 -1
  674. package/dist/chunk-IQEJIOEU.js.map +0 -1
  675. package/dist/chunk-IYKZJVL5.js.map +0 -1
  676. package/dist/chunk-JXN77SGO.js.map +0 -1
  677. package/dist/chunk-KQW3YGEN.js.map +0 -1
  678. package/dist/chunk-LPYYY4AP.js.map +0 -1
  679. package/dist/chunk-LQNRVPTV.js.map +0 -1
  680. package/dist/chunk-MVAQ2WM3.js.map +0 -1
  681. package/dist/chunk-OEDW4ER7.js.map +0 -1
  682. package/dist/chunk-OPBFP4TF.js.map +0 -1
  683. package/dist/chunk-P4ZAEYKG.js.map +0 -1
  684. package/dist/chunk-QHT7MOUF.js.map +0 -1
  685. package/dist/chunk-QTQ6XKGT.js.map +0 -1
  686. package/dist/chunk-SV4Z2S67.js.map +0 -1
  687. package/dist/chunk-TNZNSMVJ.js.map +0 -1
  688. package/dist/chunk-TRLOFIQC.js.map +0 -1
  689. package/dist/chunk-UZEHHXYC.js.map +0 -1
  690. package/dist/chunk-WKDFJXW5.js.map +0 -1
  691. package/dist/chunk-YDVAM7S4.js.map +0 -1
  692. package/dist/chunk-YFTNZMGR.js.map +0 -1
  693. package/dist/chunk-YKREX63Z.js.map +0 -1
  694. /package/dist/{capsule-crypto-7FJQINUR.js.map → access-mcp-shared-context-tools.js.map} +0 -0
  695. /package/dist/{auto-sync-RP4C6ZPF.js.map → auto-sync-7PGUFY7U.js.map} +0 -0
  696. /package/dist/{contradiction-scan-BSGKZHYJ.js.map → capsule-crypto-YO5QJ6L3.js.map} +0 -0
  697. /package/dist/{capsule-merge-IPG4IOFP.js.map → capsule-merge-3MNURAQ3.js.map} +0 -0
  698. /package/dist/{chunk-XH3HGI2N.js.map → chunk-2HQPE2NM.js.map} +0 -0
  699. /package/dist/{chunk-3EKVN2OP.js.map → chunk-2ZG2LLZT.js.map} +0 -0
  700. /package/dist/{chunk-6EHM2AV7.js.map → chunk-3BLHPQHT.js.map} +0 -0
  701. /package/dist/{chunk-J272ODKJ.js.map → chunk-42DJ235G.js.map} +0 -0
  702. /package/dist/{chunk-F4EHXVP7.js.map → chunk-46RII65S.js.map} +0 -0
  703. /package/dist/{chunk-YUW66UAH.js.map → chunk-4AX5OYKC.js.map} +0 -0
  704. /package/dist/{chunk-AECJY3GJ.js.map → chunk-4IGOLIWM.js.map} +0 -0
  705. /package/dist/{chunk-2ZTDRNCS.js.map → chunk-54QPOE45.js.map} +0 -0
  706. /package/dist/{chunk-O4M4BDIJ.js.map → chunk-563X6JJX.js.map} +0 -0
  707. /package/dist/{chunk-IL6ODG6M.js.map → chunk-5EQT62HH.js.map} +0 -0
  708. /package/dist/{chunk-JKKII6GX.js.map → chunk-6MQMYXSQ.js.map} +0 -0
  709. /package/dist/{chunk-TVVEYCNW.js.map → chunk-7K5Q6COX.js.map} +0 -0
  710. /package/dist/{chunk-BV4ZKIZH.js.map → chunk-7ZLC4DTZ.js.map} +0 -0
  711. /package/dist/{chunk-WBM2MVBK.js.map → chunk-A4OIJYCV.js.map} +0 -0
  712. /package/dist/{chunk-RLJHJQUY.js.map → chunk-AFJHNHAM.js.map} +0 -0
  713. /package/dist/{chunk-4RZLTZVM.js.map → chunk-AKABVXFS.js.map} +0 -0
  714. /package/dist/{chunk-M6HBPLBA.js.map → chunk-AUSRUOMQ.js.map} +0 -0
  715. /package/dist/{chunk-2NLLXCJG.js.map → chunk-BXLOS5AJ.js.map} +0 -0
  716. /package/dist/{chunk-Q7CLGFA7.js.map → chunk-C3G6MW4W.js.map} +0 -0
  717. /package/dist/{chunk-O76F5QPP.js.map → chunk-D6PY63OM.js.map} +0 -0
  718. /package/dist/{chunk-BD7JTBYP.js.map → chunk-D7MAYFQP.js.map} +0 -0
  719. /package/dist/{chunk-LMLGBG6H.js.map → chunk-DBB5JPSL.js.map} +0 -0
  720. /package/dist/{chunk-TSP5WH72.js.map → chunk-DIXZQTGY.js.map} +0 -0
  721. /package/dist/{chunk-X7Y7WX73.js.map → chunk-DQEMWVMT.js.map} +0 -0
  722. /package/dist/{chunk-UHRZ324M.js.map → chunk-E3I3NDUP.js.map} +0 -0
  723. /package/dist/{chunk-AENM6GKU.js.map → chunk-E4LMQTST.js.map} +0 -0
  724. /package/dist/{chunk-MUTVRKKY.js.map → chunk-EMSYMYXO.js.map} +0 -0
  725. /package/dist/{chunk-YNDLCWXS.js.map → chunk-EZ25VE3G.js.map} +0 -0
  726. /package/dist/{chunk-FXHOZGSE.js.map → chunk-F5H6YG5P.js.map} +0 -0
  727. /package/dist/{chunk-TNSCIPBQ.js.map → chunk-G6NQ3L4T.js.map} +0 -0
  728. /package/dist/{chunk-ZMWSYUUL.js.map → chunk-GCBIXUPT.js.map} +0 -0
  729. /package/dist/{chunk-4BCHFSC7.js.map → chunk-GWNSKQDA.js.map} +0 -0
  730. /package/dist/{chunk-JDX2OA4R.js.map → chunk-HNHIHXSD.js.map} +0 -0
  731. /package/dist/{chunk-GG5FHZJJ.js.map → chunk-I33QYUAF.js.map} +0 -0
  732. /package/dist/{chunk-AAZEKXUP.js.map → chunk-IYIPXAIJ.js.map} +0 -0
  733. /package/dist/{chunk-5U7K4W6K.js.map → chunk-JDOBQPJY.js.map} +0 -0
  734. /package/dist/{chunk-UZZ7SQT3.js.map → chunk-JMWUPUE6.js.map} +0 -0
  735. /package/dist/{chunk-ENBPQEVU.js.map → chunk-JSD7Q7LD.js.map} +0 -0
  736. /package/dist/{chunk-Q432REND.js.map → chunk-KJLLPG26.js.map} +0 -0
  737. /package/dist/{chunk-JTQR6L2N.js.map → chunk-KLUC2GSG.js.map} +0 -0
  738. /package/dist/{chunk-OB3XMWX5.js.map → chunk-KVO2BTA4.js.map} +0 -0
  739. /package/dist/{chunk-PCOVEDPK.js.map → chunk-KZJM7R4F.js.map} +0 -0
  740. /package/dist/{chunk-X4TD4O2F.js.map → chunk-LE2KZ72G.js.map} +0 -0
  741. /package/dist/{chunk-HIP6DKJJ.js.map → chunk-LQVXSRAJ.js.map} +0 -0
  742. /package/dist/{chunk-A7GQBJP5.js.map → chunk-LVFI5LG7.js.map} +0 -0
  743. /package/dist/{chunk-VBSNUH4J.js.map → chunk-ND7MAIJC.js.map} +0 -0
  744. /package/dist/{chunk-54NX5EG4.js.map → chunk-P66QH6R6.js.map} +0 -0
  745. /package/dist/{chunk-62D2PAAM.js.map → chunk-PAAJWQH5.js.map} +0 -0
  746. /package/dist/{chunk-TA4C3XB7.js.map → chunk-PFKIOYJH.js.map} +0 -0
  747. /package/dist/{chunk-WIWLX65T.js.map → chunk-PGGPRF6J.js.map} +0 -0
  748. /package/dist/{chunk-V6EGNVUT.js.map → chunk-PIWFNPQT.js.map} +0 -0
  749. /package/dist/{chunk-4JVQRFZD.js.map → chunk-PLJ2MQFT.js.map} +0 -0
  750. /package/dist/{chunk-4RX5O34R.js.map → chunk-PQ42DJNG.js.map} +0 -0
  751. /package/dist/{chunk-37CAEC7E.js.map → chunk-PWPIERBM.js.map} +0 -0
  752. /package/dist/{chunk-ZEGL7YCC.js.map → chunk-Q62GA5U2.js.map} +0 -0
  753. /package/dist/{chunk-GAS7KYC7.js.map → chunk-RQQO3ORQ.js.map} +0 -0
  754. /package/dist/{chunk-3NPNBVFR.js.map → chunk-UZGHKD3T.js.map} +0 -0
  755. /package/dist/{chunk-VJIE4D2I.js.map → chunk-V62YYBBY.js.map} +0 -0
  756. /package/dist/{chunk-KQAFEZQX.js.map → chunk-VDX2J7OX.js.map} +0 -0
  757. /package/dist/{chunk-6AGWBKQU.js.map → chunk-VSN2DMQK.js.map} +0 -0
  758. /package/dist/{chunk-ZHXSOMYH.js.map → chunk-VVX5PZFS.js.map} +0 -0
  759. /package/dist/{chunk-GI4ZBWPQ.js.map → chunk-W7UV2ZCA.js.map} +0 -0
  760. /package/dist/{chunk-GMIQV6DD.js.map → chunk-WBQ4ONQJ.js.map} +0 -0
  761. /package/dist/{chunk-FNHLI2RE.js.map → chunk-WFMQN7JE.js.map} +0 -0
  762. /package/dist/{chunk-ZBW7A667.js.map → chunk-WPGA4RYI.js.map} +0 -0
  763. /package/dist/{chunk-YQNNHLCG.js.map → chunk-WPGR3RW4.js.map} +0 -0
  764. /package/dist/{chunk-NXGSONWM.js.map → chunk-WZIO3TW6.js.map} +0 -0
  765. /package/dist/{chunk-ZZUVBZL2.js.map → chunk-X2QPKLPL.js.map} +0 -0
  766. /package/dist/{chunk-VSL63CFJ.js.map → chunk-XRS65T4O.js.map} +0 -0
  767. /package/dist/{chunk-5N4MZLEH.js.map → chunk-YFXAWGMR.js.map} +0 -0
  768. /package/dist/{chunk-D545Z7UH.js.map → chunk-Z535ADTC.js.map} +0 -0
  769. /package/dist/{chunk-5YCNDC3C.js.map → chunk-ZX6NNFSY.js.map} +0 -0
  770. /package/dist/{chunk-3N3PBBEH.js.map → chunk-ZYSOT6HD.js.map} +0 -0
  771. /package/dist/{chunk-MCRVQ5YQ.js.map → chunk-ZZEIL3MI.js.map} +0 -0
  772. /package/dist/{resolution-4GG3QZRJ.js.map → contradiction-scan-GVD4JJ7B.js.map} +0 -0
  773. /package/dist/{first-start-migration-ZWMV5CX4.js.map → first-start-migration-L3UFX5CU.js.map} +0 -0
  774. /package/dist/{tier-stats-LUSUUNU6.js.map → tier-stats-VK5PCO2L.js.map} +0 -0
@@ -1,3 +1,6 @@
1
+ import {
2
+ chatgptReplayNormalizer
3
+ } from "./chunk-MMACM5G2.js";
1
4
  import {
2
5
  claudeReplayNormalizer
3
6
  } from "./chunk-54BGIBCR.js";
@@ -5,21 +8,21 @@ import {
5
8
  openclawReplayNormalizer
6
9
  } from "./chunk-H4CKS5B2.js";
7
10
  import {
8
- chatgptReplayNormalizer
9
- } from "./chunk-MMACM5G2.js";
11
+ importMarkdownBundle
12
+ } from "./chunk-HDDRVXX4.js";
13
+ import {
14
+ importSqlite
15
+ } from "./chunk-PYHOAXTI.js";
16
+ import {
17
+ exportJsonBundle
18
+ } from "./chunk-UP6MOYCB.js";
10
19
  import {
11
20
  exportOkfBundle,
12
21
  parseIncludeStatus
13
- } from "./chunk-VBSNUH4J.js";
22
+ } from "./chunk-ND7MAIJC.js";
14
23
  import {
15
24
  exportSqlite
16
25
  } from "./chunk-BV2TIZ4F.js";
17
- import {
18
- importMarkdownBundle
19
- } from "./chunk-HDDRVXX4.js";
20
- import {
21
- importSqlite
22
- } from "./chunk-PYHOAXTI.js";
23
26
  import {
24
27
  detectImportFormat
25
28
  } from "./chunk-OZKVVUJB.js";
@@ -28,13 +31,10 @@ import {
28
31
  } from "./chunk-2DL3OFLD.js";
29
32
  import {
30
33
  backupMemoryDir
31
- } from "./chunk-2NLLXCJG.js";
34
+ } from "./chunk-BXLOS5AJ.js";
32
35
  import {
33
36
  exportMarkdownBundle
34
37
  } from "./chunk-765K3SAT.js";
35
- import {
36
- exportJsonBundle
37
- } from "./chunk-UP6MOYCB.js";
38
38
  import {
39
39
  buildReplayNormalizerRegistry,
40
40
  clampBatchSize,
@@ -53,9 +53,12 @@ import {
53
53
  import {
54
54
  WebDavServer
55
55
  } from "./chunk-PYIFUBRK.js";
56
+ import {
57
+ migrateObservations
58
+ } from "./chunk-IIFFC3RL.js";
56
59
  import {
57
60
  rebuildMemoryLifecycleLedger
58
- } from "./chunk-TA4C3XB7.js";
61
+ } from "./chunk-PFKIOYJH.js";
59
62
  import {
60
63
  rebuildObservations
61
64
  } from "./chunk-DQTCGVFK.js";
@@ -63,8 +66,11 @@ import {
63
66
  archiveObservations
64
67
  } from "./chunk-YLBE6PLR.js";
65
68
  import {
66
- migrateObservations
67
- } from "./chunk-IIFFC3RL.js";
69
+ getBulkImportSource,
70
+ listBulkImportSources,
71
+ registerBulkImportSource,
72
+ runBulkImportPipeline
73
+ } from "./chunk-HSSERO3E.js";
68
74
  import {
69
75
  lintOkfDir
70
76
  } from "./chunk-UJX4I26O.js";
@@ -72,11 +78,8 @@ import {
72
78
  runCompatChecks
73
79
  } from "./chunk-2524MOWK.js";
74
80
  import {
75
- getBulkImportSource,
76
- listBulkImportSources,
77
- registerBulkImportSource,
78
- runBulkImportPipeline
79
- } from "./chunk-HSSERO3E.js";
81
+ searchVerifiedEpisodes
82
+ } from "./chunk-IYIPXAIJ.js";
80
83
  import {
81
84
  getUtilityLearningStatus,
82
85
  learnUtilityPromotionWeights
@@ -85,23 +88,20 @@ import {
85
88
  getUtilityTelemetryStatus,
86
89
  recordUtilityTelemetryEvent
87
90
  } from "./chunk-EBA5DA77.js";
88
- import {
89
- searchVerifiedEpisodes
90
- } from "./chunk-AAZEKXUP.js";
91
91
  import {
92
92
  ThreadingManager
93
93
  } from "./chunk-OJP3N7UK.js";
94
94
  import {
95
95
  promoteSemanticRuleFromMemory
96
- } from "./chunk-ENBPQEVU.js";
96
+ } from "./chunk-JSD7Q7LD.js";
97
97
  import {
98
98
  searchVerifiedSemanticRules
99
- } from "./chunk-AENM6GKU.js";
99
+ } from "./chunk-E4LMQTST.js";
100
100
  import {
101
101
  buildResumeBundleFromState,
102
102
  getResumeBundleStatus,
103
103
  recordResumeBundle
104
- } from "./chunk-WBM2MVBK.js";
104
+ } from "./chunk-A4OIJYCV.js";
105
105
  import {
106
106
  getWorkProductLedgerStatus,
107
107
  recordWorkProductLedgerEntry,
@@ -112,7 +112,7 @@ import {
112
112
  } from "./chunk-AM4T6CHX.js";
113
113
  import {
114
114
  parseXrayCliOptions
115
- } from "./chunk-4BCHFSC7.js";
115
+ } from "./chunk-GWNSKQDA.js";
116
116
  import {
117
117
  collectPatternMemories,
118
118
  explainPatternMemory,
@@ -134,7 +134,7 @@ import {
134
134
  runOperatorInventory,
135
135
  runOperatorRepair,
136
136
  runOperatorSetup
137
- } from "./chunk-MUTVRKKY.js";
137
+ } from "./chunk-EMSYMYXO.js";
138
138
  import {
139
139
  analyzeSessionIntegrity,
140
140
  applySessionRepair,
@@ -169,20 +169,14 @@ import {
169
169
  runEvalStoredBaselineCiGate,
170
170
  validateEvalBenchmarkPack
171
171
  } from "./chunk-4IHBN6WU.js";
172
- import {
173
- GraphDashboardServer
174
- } from "./chunk-YNDLCWXS.js";
175
172
  import {
176
173
  rebuildMemoryProjection,
177
174
  repairMemoryProjection,
178
175
  verifyMemoryProjection
179
- } from "./chunk-UHRZ324M.js";
176
+ } from "./chunk-E3I3NDUP.js";
180
177
  import {
181
- applyCommitmentLedgerLifecycle,
182
- getCommitmentLedgerStatus,
183
- recordCommitmentLedgerEntry,
184
- transitionCommitmentLedgerEntryState
185
- } from "./chunk-NHLLKEKK.js";
178
+ GraphDashboardServer
179
+ } from "./chunk-EZ25VE3G.js";
186
180
  import {
187
181
  buildConnectorRowsFromDefinitions,
188
182
  parseConnectorsListOptions,
@@ -192,21 +186,31 @@ import {
192
186
  renderConnectorsRunResult,
193
187
  runConnectorPollOnce
194
188
  } from "./chunk-OKTXM5H4.js";
189
+ import {
190
+ applyCommitmentLedgerLifecycle,
191
+ getCommitmentLedgerStatus,
192
+ recordCommitmentLedgerEntry,
193
+ transitionCommitmentLedgerEntryState
194
+ } from "./chunk-NHLLKEKK.js";
195
195
  import {
196
196
  chunkContent
197
197
  } from "./chunk-6TBIWIAG.js";
198
198
  import {
199
199
  parseConfig
200
- } from "./chunk-FWWWUPOE.js";
200
+ } from "./chunk-MCMS4VUK.js";
201
201
  import {
202
+ applyManagedRegion,
202
203
  expandVaultTemplateTokens,
204
+ fileLines,
205
+ headingSurvivesRoundTrip,
206
+ parseAtxHeading,
203
207
  resolveVaultNotePath,
204
208
  validateRegionName
205
- } from "./chunk-5HYUUFMQ.js";
209
+ } from "./chunk-XCPNH2MG.js";
206
210
  import {
207
211
  EngramAccessHttpServer,
208
212
  MeetingsInputError
209
- } from "./chunk-EYKIDK33.js";
213
+ } from "./chunk-GMH5QPUU.js";
210
214
  import {
211
215
  WearablesInputError
212
216
  } from "./chunk-V7IZKJI3.js";
@@ -216,10 +220,13 @@ import {
216
220
  loadChatSession,
217
221
  processChatMessage,
218
222
  sessionBelongsToPrincipal
219
- } from "./chunk-5SPCMAUC.js";
223
+ } from "./chunk-N6XTC56E.js";
224
+ import {
225
+ parseDeepRecallMaxSteps
226
+ } from "./chunk-2EYZ32LH.js";
220
227
  import {
221
228
  EngramAccessService
222
- } from "./chunk-UZEHHXYC.js";
229
+ } from "./chunk-S4MJTIPG.js";
223
230
  import {
224
231
  WorkStorage
225
232
  } from "./chunk-MPC7TYTZ.js";
@@ -234,44 +241,44 @@ import {
234
241
  } from "./chunk-P5FPO2BR.js";
235
242
  import {
236
243
  journalPath
237
- } from "./chunk-UZZ7SQT3.js";
244
+ } from "./chunk-JMWUPUE6.js";
238
245
  import {
239
246
  parseRecallExplainFormat,
240
247
  renderRecallExplain,
241
248
  renderXray
242
- } from "./chunk-M6HBPLBA.js";
249
+ } from "./chunk-AUSRUOMQ.js";
243
250
  import {
244
251
  readAggregateExtractionWatermark
245
- } from "./chunk-O4M4BDIJ.js";
252
+ } from "./chunk-563X6JJX.js";
246
253
  import {
247
254
  getObjectiveStateStoreStatus
248
255
  } from "./chunk-HM7RHKS4.js";
249
256
  import {
250
257
  searchHarmonicRetrieval
251
- } from "./chunk-4RZLTZVM.js";
258
+ } from "./chunk-AKABVXFS.js";
259
+ import {
260
+ listMemoryGovernanceRuns,
261
+ readMemoryGovernanceRunArtifact,
262
+ restoreMemoryGovernanceRun,
263
+ runMemoryGovernance
264
+ } from "./chunk-KLUC2GSG.js";
252
265
  import {
253
266
  listNamespaces,
254
267
  runNamespaceMigration,
255
268
  verifyNamespaces
256
- } from "./chunk-GI4ZBWPQ.js";
269
+ } from "./chunk-W7UV2ZCA.js";
257
270
  import {
258
271
  getCueAnchorStoreStatus
259
272
  } from "./chunk-BMWN7B3Y.js";
260
273
  import {
261
- listMemoryGovernanceRuns,
262
- readMemoryGovernanceRunArtifact,
263
- restoreMemoryGovernanceRun,
264
- runMemoryGovernance
265
- } from "./chunk-JTQR6L2N.js";
274
+ resolveNamespaceChildRoot
275
+ } from "./chunk-3UXOZBHV.js";
266
276
  import {
267
277
  analyzeGraphHealth
268
278
  } from "./chunk-5FAGCOZD.js";
269
- import {
270
- resolveNamespaceChildRoot
271
- } from "./chunk-3UXOZBHV.js";
272
279
  import {
273
280
  meetingIdDate
274
- } from "./chunk-CZTPU65V.js";
281
+ } from "./chunk-ICN37XHG.js";
275
282
  import {
276
283
  isValidTranscriptDate
277
284
  } from "./chunk-UHVXE24Y.js";
@@ -282,7 +289,7 @@ import {
282
289
  import {
283
290
  RECALL_DISCLOSURE_LEVELS,
284
291
  isRecallDisclosure
285
- } from "./chunk-IYKZJVL5.js";
292
+ } from "./chunk-WN2OXGGH.js";
286
293
  import {
287
294
  normalizeProjectionPreview
288
295
  } from "./chunk-SCU65EZI.js";
@@ -303,10 +310,6 @@ import {
303
310
  import {
304
311
  renderExtractionLivenessStats
305
312
  } from "./chunk-3SG4FGDV.js";
306
- import {
307
- activityDateInTimezone,
308
- isValidActivityDate
309
- } from "./chunk-353C5UNV.js";
310
313
  import {
311
314
  SKILL_FILE_NAME,
312
315
  SKILL_IMPORT_SOURCE,
@@ -321,6 +324,10 @@ import {
321
324
  import {
322
325
  buildProcedurePersistBody
323
326
  } from "./chunk-QDW3E4RD.js";
327
+ import {
328
+ activityDateInTimezone,
329
+ isValidActivityDate
330
+ } from "./chunk-353C5UNV.js";
324
331
  import {
325
332
  getCausalTrajectoryStoreStatus
326
333
  } from "./chunk-L63GFNKL.js";
@@ -328,6 +335,11 @@ import {
328
335
  padEndDisplay,
329
336
  truncateGraphemeSafe
330
337
  } from "./chunk-PJKTFXE2.js";
338
+ import {
339
+ buildActionConfidenceInputFromOptions,
340
+ evaluateActionConfidence,
341
+ renderActionConfidenceText
342
+ } from "./chunk-Z2YFLXHU.js";
331
343
  import {
332
344
  writeFileAtomically
333
345
  } from "./chunk-AW4QUFQF.js";
@@ -340,7 +352,7 @@ import {
340
352
  } from "./chunk-C7HJ3NEI.js";
341
353
  import {
342
354
  isSupportPassportPrivateMemory
343
- } from "./chunk-37CAEC7E.js";
355
+ } from "./chunk-PWPIERBM.js";
344
356
  import {
345
357
  inferMemoryStatus,
346
358
  isArchivedMemoryPath,
@@ -367,11 +379,6 @@ import {
367
379
  resolveSecurityCapabilities,
368
380
  resolveUtilityLearningCapabilities
369
381
  } from "./chunk-JUOZ62Y7.js";
370
- import {
371
- buildActionConfidenceInputFromOptions,
372
- evaluateActionConfidence,
373
- renderActionConfidenceText
374
- } from "./chunk-Z2YFLXHU.js";
375
382
  import {
376
383
  expandTildePath
377
384
  } from "./chunk-6KH5NLQS.js";
@@ -393,9 +400,9 @@ import {
393
400
  } from "./chunk-3WCASNQZ.js";
394
401
 
395
402
  // src/cli.ts
396
- import path8 from "path";
403
+ import path7 from "path";
397
404
  import { access, lstat as lstat3, readFile as readFile2, readdir as readdir3, realpath as realpath3, unlink } from "fs/promises";
398
- import { createHash as createHash3 } from "crypto";
405
+ import { createHash as createHash2 } from "crypto";
399
406
 
400
407
  // src/wearables/registry.ts
401
408
  var registrations = /* @__PURE__ */ new Map();
@@ -1201,32 +1208,28 @@ function registerMeetingsCommands(cmd, orchestrator) {
1201
1208
  }
1202
1209
 
1203
1210
  // src/cli/deep-recall-commands.ts
1204
- function parseMaxSteps(raw) {
1205
- if (raw === void 0 || raw === null) return void 0;
1206
- const value = typeof raw === "string" ? Number(raw) : raw;
1207
- if (typeof value !== "number" || !Number.isFinite(value) || !Number.isInteger(value) || value < 0) {
1208
- throw new Error(`--max-steps must be a non-negative integer; got ${JSON.stringify(raw)}`);
1209
- }
1210
- return value;
1211
- }
1212
1211
  function registerDeepRecallCommands(cmd, orchestrator) {
1213
- cmd.command("deep-recall <query>").description("Budgeted multi-hop retrieval over the anchor graph (slow, thorough; issue #2332)").option("--max-steps <n>", "Policy-step ceiling (cannot exceed the configured deepRecall.maxSteps)").option("--namespace <ns>", "Namespace to scope the retrieval to").option("--json", "JSON output (full entries + trace)").action(async (...args) => {
1212
+ cmd.command("deep-recall <query>").description("Budgeted multi-hop retrieval over the anchor graph (slow, thorough; issue #2332)").option("--max-steps <n>", "Policy-step ceiling (cannot exceed the configured deepRecall.maxSteps)").option("--namespace <ns>", "Namespace to scope the retrieval to").option("--session-key <key>", "Session key for principal/namespace resolution (namespaces enabled)").option("--principal <principal>", "Authenticated principal for namespace authorization (namespaces enabled)").option("--json", "JSON output (full entries + trace)").action(async (...args) => {
1214
1213
  const query = String(args[0] ?? "");
1215
1214
  const options = args[args.length - 1] ?? {};
1216
1215
  let maxSteps;
1217
1216
  try {
1218
- maxSteps = parseMaxSteps(options.maxSteps);
1217
+ maxSteps = parseDeepRecallMaxSteps(options.maxSteps);
1219
1218
  } catch (err) {
1220
1219
  console.error(err instanceof Error ? err.message : String(err));
1221
1220
  process.exitCode = 1;
1222
1221
  return;
1223
1222
  }
1223
+ const sessionKey = typeof options.sessionKey === "string" && options.sessionKey.trim().length > 0 ? options.sessionKey.trim() : void 0;
1224
+ const principal = typeof options.principal === "string" && options.principal.trim().length > 0 ? options.principal.trim() : void 0;
1224
1225
  const service = new EngramAccessService(orchestrator);
1225
1226
  try {
1226
1227
  const result = await service.deepRecall({
1227
1228
  query,
1228
1229
  ...maxSteps !== void 0 ? { maxSteps } : {},
1229
- ...typeof options.namespace === "string" && options.namespace.length > 0 ? { namespace: options.namespace } : {}
1230
+ ...typeof options.namespace === "string" && options.namespace.length > 0 ? { namespace: options.namespace } : {},
1231
+ ...sessionKey !== void 0 ? { sessionKey } : {},
1232
+ ...principal !== void 0 ? { authenticatedPrincipal: principal } : {}
1230
1233
  });
1231
1234
  if (options.json === true) {
1232
1235
  console.log(JSON.stringify(result, null, 2));
@@ -2082,215 +2085,122 @@ function registerCreationLedgerCommands(cmd, orchestrator) {
2082
2085
  }
2083
2086
 
2084
2087
  // src/activity/timeline/publish-cli.ts
2085
- import { existsSync, readFileSync as readFileSync4 } from "fs";
2088
+ import { existsSync, readFileSync as readFileSync3 } from "fs";
2086
2089
 
2087
2090
  // src/activity/vault-publisher.ts
2088
- import { createHash as createHash2, randomBytes as randomBytes2 } from "crypto";
2089
- import { chmodSync, chownSync, lstatSync, mkdirSync, readFileSync as readFileSync3, realpathSync, renameSync as renameSync2, statSync as statSync3, unlinkSync as unlinkSync3, writeFileSync as writeFileSync2 } from "fs";
2090
- import path5 from "path";
2091
-
2092
- // src/activity/vault-publish.ts
2093
2091
  import { createHash, randomBytes } from "crypto";
2094
- import { readFileSync as readFileSync2, renameSync, statSync as statSync2, unlinkSync as unlinkSync2, writeFileSync } from "fs";
2092
+ import { chmodSync, chownSync, lstatSync, mkdirSync, readFileSync as readFileSync2, realpathSync, renameSync, statSync as statSync2, unlinkSync as unlinkSync2, writeFileSync } from "fs";
2095
2093
  import path4 from "path";
2096
- function applyManagedRegion(fileText, opts) {
2097
- if (opts.strategy === "heading") return applyHeadingRegion(fileText, opts.name, opts.content);
2098
- const startMarker = `<!-- remnic:${opts.name}:start -->`;
2099
- const endMarker = `<!-- remnic:${opts.name}:end -->`;
2100
- const rows = fileLines(fileText);
2101
- let startRow;
2102
- let endRow;
2103
- for (const row of rows) {
2104
- if (row.fenced) continue;
2105
- const trimmed = row.line.trim();
2106
- if (startRow === void 0) {
2107
- if (trimmed === startMarker) startRow = row;
2108
- } else if (endRow === void 0 && trimmed === endMarker) {
2109
- endRow = row;
2110
- break;
2111
- }
2094
+
2095
+ // src/activity/vault-frontmatter.ts
2096
+ function assertNoNewlineKey(key) {
2097
+ if (key.includes("\n") || key.includes("\r")) {
2098
+ throw new RangeError("Vault frontmatter keys must not contain newlines.");
2099
+ }
2100
+ }
2101
+ function applyVaultFrontmatter(existingYaml, updates) {
2102
+ const entries = Object.entries(updates);
2103
+ if (entries.length === 0) return existingYaml;
2104
+ const merged = /* @__PURE__ */ new Map();
2105
+ for (const line of existingYaml.split("\n")) {
2106
+ const idx = line.indexOf(":");
2107
+ if (idx === -1) continue;
2108
+ const key = line.slice(0, idx).trim();
2109
+ if (key.length === 0) continue;
2110
+ assertNoNewlineKey(key);
2111
+ merged.set(key, line.slice(idx + 1).trim());
2112
2112
  }
2113
- if (startRow === void 0 || endRow === void 0) {
2114
- return { ok: false, reason: "no_marker", text: fileText };
2113
+ for (const [key, value] of entries) {
2114
+ assertNoNewlineKey(key);
2115
+ merged.set(key, value);
2115
2116
  }
2116
- const { body, eol } = ownedBody(fileText, opts.content);
2117
- return {
2118
- ok: true,
2119
- text: `${fileText.slice(0, startRow.start + startRow.line.length)}${eol}${body}${eol}${fileText.slice(endRow.start)}`
2120
- };
2117
+ return [...merged.keys()].sort((a, b) => a < b ? -1 : a > b ? 1 : 0).map((key) => `${key}: ${merged.get(key)}`).join("\n");
2121
2118
  }
2122
- function applyHeadingRegion(fileText, name, content) {
2123
- const wanted = name.trim();
2124
- const rows = fileLines(fileText);
2125
- const hits = [];
2126
- for (const row of rows) {
2127
- if (row.fenced) continue;
2128
- const heading = parseAtxHeading(row.line);
2129
- if (heading && heading.text === wanted) {
2130
- hits.push({ line: row.number, level: heading.level, next: row.next });
2131
- }
2119
+ var VAULT_PROPERTY_KEY_MAX_CHARS = 64;
2120
+ var VAULT_PROPERTY_SCALAR_MAX_CHARS = 200;
2121
+ var VAULT_PROPERTY_LIST_MAX_ITEMS = 20;
2122
+ var VAULT_PROPERTY_TOTAL_MAX_CHARS = 2e3;
2123
+ var CONTROL_RE = /[\u0000-\u001f\u007f-\u009f]/;
2124
+ var INDICATOR_CHARS = ",[]{}#&*!|>'\"%@`";
2125
+ var INJECTION_RE = /: | #/;
2126
+ var FLOW_ITEM_DELIM_RE = /[[\]{},]/;
2127
+ function renderVaultPropertyValue(value) {
2128
+ return typeof value === "string" ? value : `[${value.join(", ")}]`;
2129
+ }
2130
+ function hasLeadingYamlIndicator(text) {
2131
+ const first = text[0];
2132
+ if (first === void 0) return false;
2133
+ return INDICATOR_CHARS.includes(first) || "-?:".includes(first) && text[1] === " ";
2134
+ }
2135
+ function validateScalar(value, label) {
2136
+ if (value.length === 0) {
2137
+ return { ok: false, reason: `${label} must not be empty` };
2132
2138
  }
2133
- if (hits.length === 0) return { ok: false, reason: "no_heading", text: fileText };
2134
- if (hits.length > 1) {
2135
- return { ok: false, reason: "duplicate_heading", lines: hits.map((hit2) => hit2.line), text: fileText };
2139
+ if (value.length > VAULT_PROPERTY_SCALAR_MAX_CHARS) {
2140
+ return { ok: false, reason: `${label} exceeds ${VAULT_PROPERTY_SCALAR_MAX_CHARS} characters` };
2136
2141
  }
2137
- const hit = hits[0];
2138
- let sectionEnd = fileText.length;
2139
- for (const row of rows) {
2140
- if (row.start < hit.next || row.fenced) continue;
2141
- const heading = parseAtxHeading(row.line);
2142
- if (heading && heading.level <= hit.level) {
2143
- sectionEnd = row.start;
2144
- break;
2145
- }
2142
+ if (CONTROL_RE.test(value)) {
2143
+ return { ok: false, reason: `${label} must not contain control characters or line breaks` };
2146
2144
  }
2147
- const { body, eol } = ownedBody(fileText, demoteOwnedHeadings(content, hit.level));
2148
- const prefix = hit.next === fileText.length && !fileText.endsWith("\n") && !fileText.endsWith("\r") ? `${fileText}${eol}` : fileText.slice(0, hit.next);
2149
- return { ok: true, text: `${prefix}${body}${eol}${fileText.slice(sectionEnd)}` };
2150
- }
2151
- function demoteOwnedHeadings(content, owningLevel) {
2152
- const rows = fileLines(content);
2153
- let out = "";
2154
- let cursor = 0;
2155
- for (const row of rows) {
2156
- const heading = row.fenced ? null : parseAtxHeading(row.line);
2157
- if (heading === null) continue;
2158
- const level = Math.min(owningLevel + heading.level, 6);
2159
- const replacement = level > owningLevel ? `${"#".repeat(level)} ${heading.text}` : `**${heading.text}**`;
2160
- out += content.slice(cursor, row.start) + replacement;
2161
- cursor = row.start + row.line.length;
2145
+ if (value !== value.trim()) {
2146
+ return { ok: false, reason: `${label} must not carry leading or trailing whitespace` };
2147
+ }
2148
+ if (hasLeadingYamlIndicator(value)) {
2149
+ return { ok: false, reason: `${label} must be a plain scalar (leading "${value[0]}" changes its YAML shape)` };
2162
2150
  }
2163
- return out + content.slice(cursor);
2151
+ if (INJECTION_RE.test(value)) {
2152
+ return { ok: false, reason: `${label} must not contain ": " or " #"` };
2153
+ }
2154
+ if (value.endsWith(":")) {
2155
+ return { ok: false, reason: `${label} must not end with ":"` };
2156
+ }
2157
+ return { ok: true };
2164
2158
  }
2165
- function ownedBody(fileText, content) {
2166
- const eol = fileText.includes("\r\n") ? "\r\n" : "\n";
2167
- let body = content.replace(/\r\n/g, "\n").replace(/\r/g, "\n");
2168
- if (eol === "\r\n") body = body.replace(/\n/g, "\r\n");
2169
- if (body.endsWith(eol)) body = body.slice(0, -eol.length);
2170
- return { body, eol };
2171
- }
2172
- function fileLines(fileText) {
2173
- const rows = [];
2174
- let start = 0;
2175
- let number = 1;
2176
- let fence = null;
2177
- while (start < fileText.length) {
2178
- let i = start;
2179
- while (i < fileText.length && fileText[i] !== "\n" && fileText[i] !== "\r") i++;
2180
- let next = i;
2181
- if (fileText[i] === "\r" && fileText[i + 1] === "\n") next = i + 2;
2182
- else if (fileText[i] === "\n" || fileText[i] === "\r") next = i + 1;
2183
- else next = fileText.length;
2184
- const line = fileText.slice(start, i);
2185
- const indentedCode = indentColumn(line) >= 4;
2186
- const run = indentedCode ? null : fenceRun(line);
2187
- let fenced;
2188
- if (fence === null) {
2189
- if (run !== null && !(run.char === "`" && run.info.includes("`"))) {
2190
- fence = { char: run.char, len: run.len };
2191
- }
2192
- fenced = fence !== null || indentedCode;
2159
+ function validateVaultProperties(entries) {
2160
+ let total = 0;
2161
+ for (const { key, value } of entries) {
2162
+ if (key.length === 0) {
2163
+ return { ok: false, reason: "property keys must not be empty" };
2164
+ }
2165
+ if (key.length > VAULT_PROPERTY_KEY_MAX_CHARS) {
2166
+ return { ok: false, reason: `property key exceeds ${VAULT_PROPERTY_KEY_MAX_CHARS} characters` };
2167
+ }
2168
+ if (CONTROL_RE.test(key) || key !== key.trim() || key.includes(":") || key.includes("#") || hasLeadingYamlIndicator(key)) {
2169
+ return { ok: false, reason: `property key ${JSON.stringify(key)} is not a plain mapping key` };
2170
+ }
2171
+ if (typeof value === "string") {
2172
+ const scalar = validateScalar(value, `property ${key}`);
2173
+ if (!scalar.ok) return scalar;
2193
2174
  } else {
2194
- fenced = true;
2195
- if (run !== null && run.char === fence.char && run.len >= fence.len && run.info.length === 0) {
2196
- fence = null;
2175
+ if (!Array.isArray(value) || value.length === 0) {
2176
+ return { ok: false, reason: `property ${key} must be a scalar string or a non-empty list of scalar strings` };
2177
+ }
2178
+ if (value.length > VAULT_PROPERTY_LIST_MAX_ITEMS) {
2179
+ return { ok: false, reason: `property ${key} exceeds ${VAULT_PROPERTY_LIST_MAX_ITEMS} list items` };
2180
+ }
2181
+ for (const item of value) {
2182
+ if (typeof item !== "string") {
2183
+ return { ok: false, reason: `property ${key} must be a scalar string or a list of scalar strings` };
2184
+ }
2185
+ const scalar = validateScalar(item, `property ${key} list item`);
2186
+ if (!scalar.ok) return scalar;
2187
+ if (FLOW_ITEM_DELIM_RE.test(item)) {
2188
+ return {
2189
+ ok: false,
2190
+ reason: `property ${key} list item must not contain flow delimiters "[", "]", "{", "}", or ","`
2191
+ };
2192
+ }
2197
2193
  }
2198
2194
  }
2199
- rows.push({ line, start, next, number, fenced });
2200
- number += 1;
2201
- start = next;
2202
- }
2203
- return rows;
2204
- }
2205
- function indentColumn(line) {
2206
- let col = 0;
2207
- for (let i = 0; i < line.length; i += 1) {
2208
- const ch = line[i];
2209
- if (ch === " ") col += 1;
2210
- else if (ch === " ") col += 4 - col % 4;
2211
- else break;
2212
- }
2213
- return col;
2214
- }
2215
- function fenceRun(line) {
2216
- const body = line.trimStart();
2217
- const char = body[0];
2218
- if (char !== "`" && char !== "~") return null;
2219
- let len = 0;
2220
- while (len < body.length && body[len] === char) len++;
2221
- if (len < 3) return null;
2222
- return { char, len, info: body.slice(len).trim() };
2223
- }
2224
- function parseAtxHeading(line) {
2225
- let at = 0;
2226
- let indent = 0;
2227
- while (at < line.length && (line[at] === " " || line[at] === " ")) {
2228
- indent += line[at] === " " ? 1 : 4 - indent % 4;
2229
- if (indent >= 4) return null;
2230
- at += 1;
2231
- }
2232
- let level = 0;
2233
- while (level < 6 && line[at + level] === "#") level++;
2234
- if (level === 0) return null;
2235
- const after = line[at + level];
2236
- if (after !== " " && after !== " ") return null;
2237
- let start = at + level + 1;
2238
- let end = line.length;
2239
- while (start < end && (line[start] === " " || line[start] === " ")) start++;
2240
- while (end > start && (line[end - 1] === " " || line[end - 1] === " ")) end--;
2241
- let hashEnd = end;
2242
- while (hashEnd > start && line[hashEnd - 1] === "#") hashEnd--;
2243
- if (hashEnd < end && hashEnd > start && (line[hashEnd - 1] === " " || line[end - 1] === " ")) {
2244
- end = hashEnd;
2245
- while (end > start && (line[end - 1] === " " || line[end - 1] === " ")) end--;
2246
- }
2247
- return { level, text: line.slice(start, end) };
2248
- }
2249
- function publishVaultRegion(input) {
2250
- const vault = expandTildePath(input.vaultPath);
2251
- try {
2252
- if (!statSync2(vault).isDirectory()) return { ok: false, reason: "not_directory" };
2253
- } catch {
2254
- return { ok: false, reason: "not_directory" };
2255
- }
2256
- if (input.relativeFile.length === 0 || path4.isAbsolute(input.relativeFile)) {
2257
- return { ok: false, reason: "missing_file" };
2258
- }
2259
- const root = path4.resolve(vault);
2260
- const dest = path4.resolve(root, input.relativeFile);
2261
- const rel = path4.relative(root, dest);
2262
- if (rel.length === 0 || rel.startsWith("..") || path4.isAbsolute(rel)) {
2263
- return { ok: false, reason: "missing_file" };
2264
- }
2265
- let existing;
2266
- try {
2267
- if (!statSync2(dest).isFile()) return { ok: false, reason: "missing_file" };
2268
- existing = readFileSync2(dest, "utf8");
2269
- } catch (err) {
2270
- if (err.code === "ENOENT") return { ok: false, reason: "missing_file" };
2271
- throw err;
2272
- }
2273
- const applied = applyManagedRegion(existing, {
2274
- strategy: "markers",
2275
- name: input.name,
2276
- content: input.content
2277
- });
2278
- if (!applied.ok) return { ok: false, reason: "no_marker" };
2279
- const prevHash = createHash("sha256").update(existing, "utf8").digest("hex");
2280
- const nextHash = createHash("sha256").update(applied.text, "utf8").digest("hex");
2281
- if (prevHash === nextHash) return { ok: true, status: "unchanged" };
2282
- const tmpPath = path4.join(path4.dirname(dest), `.remnic-vault-${randomBytes(8).toString("hex")}.tmp`);
2283
- writeFileSync(tmpPath, applied.text);
2284
- try {
2285
- renameSync(tmpPath, dest);
2286
- } catch (renameErr) {
2287
- try {
2288
- unlinkSync2(tmpPath);
2289
- } catch {
2195
+ total += key.length + 2 + renderVaultPropertyValue(value).length;
2196
+ if (total > VAULT_PROPERTY_TOTAL_MAX_CHARS) {
2197
+ return {
2198
+ ok: false,
2199
+ reason: `frontmatter properties exceed the ${VAULT_PROPERTY_TOTAL_MAX_CHARS}-character total`
2200
+ };
2290
2201
  }
2291
- throw renameErr;
2292
2202
  }
2293
- return { ok: true, status: "updated" };
2203
+ return { ok: true };
2294
2204
  }
2295
2205
 
2296
2206
  // src/activity/vault-insert.ts
@@ -2420,6 +2330,32 @@ function publishVaultNote(input) {
2420
2330
  throw new RangeError(`Section name ${JSON.stringify(section.name)} is not a valid region name.`);
2421
2331
  }
2422
2332
  }
2333
+ const headingsToProbe = strategy === "heading" ? input.sections.map((section) => section.name) : [];
2334
+ if (typeof input.insertUnderHeading === "string" && input.insertUnderHeading.length > 0) {
2335
+ headingsToProbe.push(input.insertUnderHeading);
2336
+ }
2337
+ for (const headingName of headingsToProbe) {
2338
+ if (!headingSurvivesRoundTrip(headingName)) {
2339
+ throw new RangeError(
2340
+ `Section name ${JSON.stringify(headingName)} is not matchable by the heading parser; it must survive a render-and-parse round trip.`
2341
+ );
2342
+ }
2343
+ }
2344
+ const propertyEntries = [];
2345
+ for (const section of input.sections) {
2346
+ if (!section.properties) continue;
2347
+ for (const key of Object.keys(section.properties)) {
2348
+ const value = section.properties[key];
2349
+ if (value === void 0) continue;
2350
+ propertyEntries.push({ key: `${prefix}${key}`, value });
2351
+ }
2352
+ }
2353
+ if (propertyEntries.length > 0) {
2354
+ const checked = validateVaultProperties(propertyEntries);
2355
+ if (!checked.ok) {
2356
+ throw new RangeError(`Vault publish properties rejected: ${checked.reason}.`);
2357
+ }
2358
+ }
2423
2359
  const relative = resolveVaultNotePath(input.notePathTemplate, input.date);
2424
2360
  const result = publishRelative(input, relative, { strategy, propertiesMode, prefix });
2425
2361
  return summarizeVaultPublish(result);
@@ -2432,10 +2368,10 @@ function publishRelative(input, relative, opts) {
2432
2368
  } catch {
2433
2369
  return refuse(relative, "error", "not_directory");
2434
2370
  }
2435
- const root = path5.resolve(vault);
2436
- const dest = path5.resolve(root, relative);
2437
- const lexical = path5.relative(root, dest);
2438
- if (lexical.length === 0 || lexical === ".." || lexical.startsWith(`..${path5.sep}`) || path5.isAbsolute(lexical)) {
2371
+ const root = path4.resolve(vault);
2372
+ const dest = path4.resolve(root, relative);
2373
+ const lexical = path4.relative(root, dest);
2374
+ if (lexical.length === 0 || lexical === ".." || lexical.startsWith(`..${path4.sep}`) || path4.isAbsolute(lexical)) {
2439
2375
  return refuse(relative, "error", "path_escape");
2440
2376
  }
2441
2377
  if (!containedBySymlinks(root, dest)) {
@@ -2447,14 +2383,14 @@ function publishRelative(input, relative, opts) {
2447
2383
  if (lstatSync(dest).isSymbolicLink()) {
2448
2384
  return refuse(relative, "error", "symlinked_note");
2449
2385
  }
2450
- const st = statSync3(dest);
2386
+ const st = statSync2(dest);
2451
2387
  if (st.isFile()) {
2452
- currentText = readFileSync3(dest, "utf8");
2388
+ currentText = readFileSync2(dest, "utf8");
2453
2389
  expected = {
2454
2390
  ino: st.ino,
2455
2391
  mtimeMs: st.mtimeMs,
2456
2392
  size: st.size,
2457
- sha256: createHash2("sha256").update(currentText, "utf8").digest("hex")
2393
+ sha256: createHash("sha256").update(currentText, "utf8").digest("hex")
2458
2394
  };
2459
2395
  } else return refuse(relative, "error", "not_a_file");
2460
2396
  } catch (err) {
@@ -2463,13 +2399,13 @@ function publishRelative(input, relative, opts) {
2463
2399
  let created = false;
2464
2400
  if (currentText === null) {
2465
2401
  if (input.createMissingNotes === true && typeof input.noteTemplate === "string" && input.noteTemplate.length > 0) {
2466
- const templatePath = path5.resolve(root, input.noteTemplate);
2467
- const templateRel = path5.relative(root, templatePath);
2468
- if (templateRel === ".." || templateRel.startsWith(`..${path5.sep}`) || path5.isAbsolute(templateRel) || templateRel.length === 0 || !containedBySymlinks(root, templatePath)) {
2402
+ const templatePath = path4.resolve(root, input.noteTemplate);
2403
+ const templateRel = path4.relative(root, templatePath);
2404
+ if (templateRel === ".." || templateRel.startsWith(`..${path4.sep}`) || path4.isAbsolute(templateRel) || templateRel.length === 0 || !containedBySymlinks(root, templatePath)) {
2469
2405
  return refuse(relative, "error", "template_escape");
2470
2406
  }
2471
2407
  try {
2472
- const templateText = readFileSync3(templatePath, "utf8");
2408
+ const templateText = readFileSync2(templatePath, "utf8");
2473
2409
  currentText = expandVaultTemplateTokens(templateText, input.date);
2474
2410
  if (!currentText.endsWith("\n")) currentText += "\n";
2475
2411
  created = true;
@@ -2516,8 +2452,8 @@ function publishRelative(input, relative, opts) {
2516
2452
  text = merged.text;
2517
2453
  }
2518
2454
  }
2519
- const prevHash = createHash2("sha256").update(original, "utf8").digest("hex");
2520
- const nextHash = createHash2("sha256").update(text, "utf8").digest("hex");
2455
+ const prevHash = createHash("sha256").update(original, "utf8").digest("hex");
2456
+ const nextHash = createHash("sha256").update(text, "utf8").digest("hex");
2521
2457
  if (prevHash === nextHash) {
2522
2458
  return withSkipped([{ path: relative, outcome: "unchanged" }]);
2523
2459
  }
@@ -2526,7 +2462,7 @@ function publishRelative(input, relative, opts) {
2526
2462
  }
2527
2463
  if (created) {
2528
2464
  try {
2529
- mkdirSync(path5.dirname(dest), { recursive: true });
2465
+ mkdirSync(path4.dirname(dest), { recursive: true });
2530
2466
  } catch {
2531
2467
  return refuse(relative, "error", "mkdir_failed");
2532
2468
  }
@@ -2547,7 +2483,7 @@ function decorate(section, prefixed, mode) {
2547
2483
  const parts = [section.content];
2548
2484
  if (prefixed !== void 0 && mode === "dataview-inline") {
2549
2485
  for (const [key, value] of Object.entries(prefixed)) {
2550
- parts.push(`${key}:: ${value}`);
2486
+ parts.push(`${key}:: ${renderVaultPropertyValue(value)}`);
2551
2487
  }
2552
2488
  }
2553
2489
  if (section.provenance !== void 0) {
@@ -2641,17 +2577,21 @@ function frontmatterUpdates(sections, prefix) {
2641
2577
  function mergeFrontmatterKeys(noteText, updates) {
2642
2578
  const entries = Object.entries(updates);
2643
2579
  if (entries.length === 0) return { ok: true, text: noteText };
2644
- for (const [key] of entries) {
2645
- if (key.includes("\n") || key.includes("\r") || key.trim() !== key || key.length === 0) {
2646
- return { ok: false, reason: "invalid_property_key" };
2647
- }
2580
+ const checked = validateVaultProperties(entries.map(([key, value]) => ({ key, value })));
2581
+ if (!checked.ok) {
2582
+ return { ok: false, reason: "invalid_property" };
2648
2583
  }
2649
2584
  const eol = noteText.includes("\r\n") ? "\r\n" : "\n";
2650
2585
  const openRe = /^---\r?$/;
2651
2586
  const firstLineEnd = noteText.indexOf("\n");
2652
2587
  const firstLine = firstLineEnd === -1 ? noteText : noteText.slice(0, firstLineEnd);
2653
2588
  if (!openRe.test(firstLine)) {
2654
- const block = ["---", ...entries.map(([key, value]) => `${key}: ${value}`), "---", ""].join(eol);
2589
+ const block = [
2590
+ "---",
2591
+ ...entries.map(([key, value]) => `${key}: ${renderVaultPropertyValue(value)}`),
2592
+ "---",
2593
+ ""
2594
+ ].join(eol);
2655
2595
  return { ok: true, text: block + eol + noteText };
2656
2596
  }
2657
2597
  const lines = noteText.split(eol);
@@ -2674,13 +2614,13 @@ function mergeFrontmatterKeys(noteText, updates) {
2674
2614
  if (rawKey !== rawKey.trimStart()) continue;
2675
2615
  const key = rawKey.trimEnd();
2676
2616
  if (!pending.has(key)) continue;
2677
- lines[i] = `${rawKey}: ${pending.get(key)}`;
2617
+ lines[i] = `${rawKey}: ${renderVaultPropertyValue(pending.get(key))}`;
2678
2618
  pending.delete(key);
2679
2619
  }
2680
2620
  const insertAt = closeIdx;
2681
2621
  const added = [];
2682
2622
  for (const [key, value] of pending.entries()) {
2683
- added.push(`${key}: ${value}`);
2623
+ added.push(`${key}: ${renderVaultPropertyValue(value)}`);
2684
2624
  }
2685
2625
  lines.splice(insertAt, 0, ...added);
2686
2626
  return { ok: true, text: lines.join(eol) };
@@ -2690,13 +2630,13 @@ function containedBySymlinks(root, dest) {
2690
2630
  let probe = dest;
2691
2631
  for (; ; ) {
2692
2632
  try {
2693
- if (lstatSync(probe).isSymbolicLink() || statSync3(probe).isFile() || statSync3(probe).isDirectory()) {
2633
+ if (lstatSync(probe).isSymbolicLink() || statSync2(probe).isFile() || statSync2(probe).isDirectory()) {
2694
2634
  const real = realpathSync(probe);
2695
- return real === realRoot || real.startsWith(`${realRoot}${path5.sep}`);
2635
+ return real === realRoot || real.startsWith(`${realRoot}${path4.sep}`);
2696
2636
  }
2697
2637
  } catch {
2698
2638
  }
2699
- const parent = path5.dirname(probe);
2639
+ const parent = path4.dirname(probe);
2700
2640
  if (parent === probe) return false;
2701
2641
  probe = parent;
2702
2642
  }
@@ -2706,11 +2646,11 @@ function setVaultPublisherTestHooks(hooks) {
2706
2646
  vaultPublisherTestHooks = hooks;
2707
2647
  }
2708
2648
  function writeAtomic(dest, text, expect) {
2709
- const tmpPath = path5.join(path5.dirname(dest), `.remnic-vault-${randomBytes2(8).toString("hex")}.tmp`);
2710
- writeFileSync2(tmpPath, text);
2649
+ const tmpPath = path4.join(path4.dirname(dest), `.remnic-vault-${randomBytes(8).toString("hex")}.tmp`);
2650
+ writeFileSync(tmpPath, text);
2711
2651
  let prev = null;
2712
2652
  try {
2713
- prev = statSync3(dest);
2653
+ prev = statSync2(dest);
2714
2654
  } catch {
2715
2655
  prev = null;
2716
2656
  }
@@ -2724,30 +2664,30 @@ function writeAtomic(dest, text, expect) {
2724
2664
  vaultPublisherTestHooks?.beforeReplaceVerify?.(dest);
2725
2665
  try {
2726
2666
  const concurrent = expect === null ? prev !== null : prev === null || // the note vanished since it was read
2727
- prev.ino !== expect.ino || prev.mtimeMs !== expect.mtimeMs || prev.size !== expect.size || createHash2("sha256").update(readFileSync3(dest, "utf8"), "utf8").digest("hex") !== expect.sha256;
2667
+ prev.ino !== expect.ino || prev.mtimeMs !== expect.mtimeMs || prev.size !== expect.size || createHash("sha256").update(readFileSync2(dest, "utf8"), "utf8").digest("hex") !== expect.sha256;
2728
2668
  if (concurrent) {
2729
2669
  try {
2730
- unlinkSync3(tmpPath);
2670
+ unlinkSync2(tmpPath);
2731
2671
  } catch {
2732
2672
  }
2733
2673
  return "concurrent";
2734
2674
  }
2735
2675
  } catch {
2736
2676
  try {
2737
- unlinkSync3(tmpPath);
2677
+ unlinkSync2(tmpPath);
2738
2678
  } catch {
2739
2679
  }
2740
2680
  return "concurrent";
2741
2681
  }
2742
2682
  for (let attempt = 0; attempt < 2; attempt += 1) {
2743
2683
  try {
2744
- renameSync2(tmpPath, dest);
2684
+ renameSync(tmpPath, dest);
2745
2685
  return "written";
2746
2686
  } catch (err) {
2747
2687
  const code = err.code;
2748
2688
  if (attempt === 1 || code !== "EBUSY" && code !== "EPERM") {
2749
2689
  try {
2750
- unlinkSync3(tmpPath);
2690
+ unlinkSync2(tmpPath);
2751
2691
  } catch {
2752
2692
  }
2753
2693
  if (code === "EBUSY" || code === "EPERM") return "failed";
@@ -2778,6 +2718,11 @@ function runTimelinePublishCli(config, options, io) {
2778
2718
  );
2779
2719
  return 1;
2780
2720
  }
2721
+ if (options.date !== void 0 && (typeof options.date !== "string" || options.date.length === 0)) {
2722
+ io.stderr.write(`Invalid --date ${JSON.stringify(options.date ?? "")}; expected YYYY-MM-DD.
2723
+ `);
2724
+ return 1;
2725
+ }
2781
2726
  const date = typeof options.date === "string" && options.date.length > 0 ? options.date : activityDateInTimezone(/* @__PURE__ */ new Date(), config.activity?.timezone ?? "UTC");
2782
2727
  if (!isValidActivityDate(date)) {
2783
2728
  io.stderr.write(`Invalid --date "${date}"; expected YYYY-MM-DD.
@@ -2813,7 +2758,7 @@ function runTimelinePublishCli(config, options, io) {
2813
2758
  );
2814
2759
  return 1;
2815
2760
  }
2816
- sections.push({ name: target.section, content: readFileSync4(source, "utf8").trimEnd() });
2761
+ sections.push({ name: target.section, content: readFileSync3(source, "utf8").trimEnd() });
2817
2762
  }
2818
2763
  const status = publishVaultNote({
2819
2764
  vaultPath: vault.vaultPath,
@@ -2861,6 +2806,11 @@ function parseKinds(raw) {
2861
2806
  function registerTimelineCommands(cmd, orchestrator) {
2862
2807
  const timelineCmd = cmd.command("timeline").description("Timeline artifacts: publish the day's recap into a markdown vault (issue #1985)");
2863
2808
  timelineCmd.command("publish").description("Publish timeline artifacts into the vault daily note via managed regions").option("--date <date>", "Local day to publish (YYYY-MM-DD; defaults to today)").option("--week <week>", "ISO week to publish (YYYY-Www)").option("--what <kinds>", "Comma-separated artifacts to publish (default: timeline)").option("--dry-run", "Report per-file outcomes without writing").action((...args) => {
2809
+ if (args.some((arg) => typeof arg === "string")) {
2810
+ process.stderr.write("timeline publish takes no positional arguments.\n");
2811
+ process.exitCode = 1;
2812
+ return;
2813
+ }
2864
2814
  const options = args[0] ?? {};
2865
2815
  const code = runTimelinePublishCli(orchestrator.config, options, {
2866
2816
  stdout: process.stdout,
@@ -2871,10 +2821,10 @@ function registerTimelineCommands(cmd, orchestrator) {
2871
2821
  }
2872
2822
 
2873
2823
  // src/maintenance/rebuild-memory-lifecycle-ledger-cli.ts
2874
- import path6 from "path";
2824
+ import path5 from "path";
2875
2825
  async function runRebuildMemoryLifecycleLedgerCliCommand(options) {
2876
2826
  const storage = options.storage;
2877
- const ledgerPath = path6.join(options.memoryDir, "state", "memory-lifecycle-ledger.jsonl");
2827
+ const ledgerPath = path5.join(options.memoryDir, "state", "memory-lifecycle-ledger.jsonl");
2878
2828
  const encrypted = await probeEncryptedRegularFileHeader(ledgerPath);
2879
2829
  if (encrypted && !(storage?.isSecureStoreUnlocked() ?? false)) {
2880
2830
  throw new Error(
@@ -3372,7 +3322,7 @@ assistant> ${result.reply}
3372
3322
  // src/training-export/converter.ts
3373
3323
  import { constants } from "fs";
3374
3324
  import { lstat as lstat2, open, readdir as readdir2, realpath as realpath2 } from "fs/promises";
3375
- import path7 from "path";
3325
+ import path6 from "path";
3376
3326
  function parseFrontmatter(raw) {
3377
3327
  const match = raw.match(/^---\n([\s\S]*?)\n---\n?([\s\S]*)$/);
3378
3328
  if (!match) return null;
@@ -3412,7 +3362,7 @@ async function safeRealpath(p) {
3412
3362
  }
3413
3363
  }
3414
3364
  function isContainedPath(real, containmentRoot) {
3415
- return real === containmentRoot || real.startsWith(containmentRoot + path7.sep);
3365
+ return real === containmentRoot || real.startsWith(containmentRoot + path6.sep);
3416
3366
  }
3417
3367
  async function collectMarkdownFiles(dir, containmentRoot) {
3418
3368
  const files = [];
@@ -3432,7 +3382,7 @@ async function collectMarkdownFiles(dir, containmentRoot) {
3432
3382
  }
3433
3383
  const sorted = [...entries].sort((a, b) => a.name.localeCompare(b.name));
3434
3384
  for (const entry of sorted) {
3435
- const full = path7.join(d, entry.name);
3385
+ const full = path6.join(d, entry.name);
3436
3386
  if (entry.isSymbolicLink()) continue;
3437
3387
  if (entry.isDirectory()) {
3438
3388
  await walk(full);
@@ -3514,9 +3464,9 @@ async function convertMemoriesToRecords(options) {
3514
3464
  const { memoryDir } = options;
3515
3465
  const containmentRoot = await safeRealpath(memoryDir);
3516
3466
  if (!containmentRoot) return [];
3517
- const dirs = RECALL_FALLBACK_DIRS.map((dir) => path7.join(memoryDir, dir));
3467
+ const dirs = RECALL_FALLBACK_DIRS.map((dir) => path6.join(memoryDir, dir));
3518
3468
  if (options.includeEntities) {
3519
- dirs.push(path7.join(memoryDir, "entities"));
3469
+ dirs.push(path6.join(memoryDir, "entities"));
3520
3470
  }
3521
3471
  const allFiles = [];
3522
3472
  for (const dir of dirs) {
@@ -3779,14 +3729,14 @@ async function runTrainingExportCliCommand(opts) {
3779
3729
  `Unknown training-export format "${opts.format}". ${validList}`
3780
3730
  );
3781
3731
  }
3782
- const { statSync: statSync4, existsSync: existsSync2 } = await import("fs");
3732
+ const { statSync: statSync3, existsSync: existsSync2 } = await import("fs");
3783
3733
  if (!existsSync2(expandedMemoryDir)) {
3784
3734
  throw new Error(
3785
3735
  `--memory-dir "${opts.memoryDir}" does not exist. Provide the path to an existing memory directory.`
3786
3736
  );
3787
3737
  }
3788
3738
  try {
3789
- if (!statSync4(expandedMemoryDir).isDirectory()) {
3739
+ if (!statSync3(expandedMemoryDir).isDirectory()) {
3790
3740
  throw new Error(
3791
3741
  `--memory-dir "${opts.memoryDir}" is not a directory. Provide the path to a memory directory, not a file.`
3792
3742
  );
@@ -4521,10 +4471,10 @@ function effectivePolicyValuesForVersion(values, config) {
4521
4471
  }
4522
4472
  function policyVersionForValues(values, config) {
4523
4473
  const normalized = effectivePolicyValuesForVersion(values, config);
4524
- return createHash3("sha256").update(JSON.stringify(normalized)).digest("hex").slice(0, 12);
4474
+ return createHash2("sha256").update(JSON.stringify(normalized)).digest("hex").slice(0, 12);
4525
4475
  }
4526
4476
  async function readRuntimePolicySnapshot2(config, fileName) {
4527
- const filePath = path8.join(config.memoryDir, "state", fileName);
4477
+ const filePath = path7.join(config.memoryDir, "state", fileName);
4528
4478
  const snapshot = await readRuntimePolicySnapshot(filePath, {
4529
4479
  maxStaleDecayThreshold: config.lifecycleArchiveDecayThreshold
4530
4480
  });
@@ -5301,7 +5251,7 @@ async function exists(p) {
5301
5251
  }
5302
5252
  }
5303
5253
  function assertSafeNamespaceSegment(namespace) {
5304
- if (namespace.length === 0 || namespace === "." || namespace === ".." || namespace.includes("/") || namespace.includes("\\") || path8.isAbsolute(namespace) || path8.win32.isAbsolute(namespace)) {
5254
+ if (namespace.length === 0 || namespace === "." || namespace === ".." || namespace.includes("/") || namespace.includes("\\") || path7.isAbsolute(namespace) || path7.win32.isAbsolute(namespace)) {
5305
5255
  throw new Error(`invalid namespace: ${namespace}`);
5306
5256
  }
5307
5257
  }
@@ -5351,7 +5301,7 @@ async function walkMemoryMarkdownFiles(memoryDir, visit) {
5351
5301
  for (const entry of entries) {
5352
5302
  if (entry.isSymbolicLink()) continue;
5353
5303
  const entryName = typeof entry.name === "string" ? entry.name : entry.name.toString("utf-8");
5354
- const fullPath = path8.join(dir, entryName);
5304
+ const fullPath = path7.join(dir, entryName);
5355
5305
  try {
5356
5306
  assertPathInsideRoot(memoryRootReal, await realpath3(fullPath), fullPath);
5357
5307
  } catch (err) {
@@ -5366,7 +5316,7 @@ async function walkMemoryMarkdownFiles(memoryDir, visit) {
5366
5316
  await visit(fullPath);
5367
5317
  }
5368
5318
  };
5369
- for (const root of RECALL_FALLBACK_DIRS.map((dir) => path8.join(memoryDir, dir))) {
5319
+ for (const root of RECALL_FALLBACK_DIRS.map((dir) => path7.join(memoryDir, dir))) {
5370
5320
  await walk(root);
5371
5321
  }
5372
5322
  }
@@ -5694,7 +5644,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
5694
5644
  );
5695
5645
  tierCmd.command("list").description("Summarize tier distribution across all memories").option("--json", "Emit machine-readable JSON only").action(async (...args) => {
5696
5646
  const options = args[0] ?? {};
5697
- const { summarizeTiers, formatTierSummaryText } = await import("./tier-stats-LUSUUNU6.js");
5647
+ const { summarizeTiers, formatTierSummaryText } = await import("./tier-stats-VK5PCO2L.js");
5698
5648
  const summary = await summarizeTiers(orchestrator.storage);
5699
5649
  if (reportHasMachineReadableOutput(options)) {
5700
5650
  console.log(JSON.stringify(summary, null, 2));
@@ -5705,7 +5655,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
5705
5655
  tierCmd.command("explain").description("Explain the tier-transition decision for a single memory").argument("<id>", "Memory id to explain").option("--json", "Emit machine-readable JSON only").action(async (...args) => {
5706
5656
  const idArg = typeof args[0] === "string" ? args[0] : "";
5707
5657
  const options = args[1] ?? {};
5708
- const { explainTierForMemory, formatTierExplainText } = await import("./tier-stats-LUSUUNU6.js");
5658
+ const { explainTierForMemory, formatTierExplainText } = await import("./tier-stats-VK5PCO2L.js");
5709
5659
  try {
5710
5660
  const explain = await explainTierForMemory(
5711
5661
  orchestrator.storage,
@@ -5976,7 +5926,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
5976
5926
  if (plan.moved.length > 0) {
5977
5927
  console.log("\nEntries:");
5978
5928
  for (const move of plan.moved) {
5979
- console.log(`- ${path8.basename(move.from)}`);
5929
+ console.log(`- ${path7.basename(move.from)}`);
5980
5930
  }
5981
5931
  }
5982
5932
  if (dryRun) {
@@ -6277,15 +6227,15 @@ function registerCli(api, orchestrator, registerOptions = {}) {
6277
6227
  const capsulesDir = defaultCapsulesDir(memoryDir);
6278
6228
  const { stat: statMerge } = await import("fs/promises");
6279
6229
  let sourceArchive = expandTildePath(parsed.archive);
6280
- const looksLikePath = sourceArchive.startsWith("/") || sourceArchive.startsWith("./") || sourceArchive.startsWith("../") || sourceArchive.includes(path8.sep);
6230
+ const looksLikePath = sourceArchive.startsWith("/") || sourceArchive.startsWith("./") || sourceArchive.startsWith("../") || sourceArchive.includes(path7.sep);
6281
6231
  if (!looksLikePath) {
6282
- const cwdResolved = path8.resolve(sourceArchive);
6232
+ const cwdResolved = path7.resolve(sourceArchive);
6283
6233
  const cwdSt = await statMerge(cwdResolved).catch(() => null);
6284
6234
  if (cwdSt && cwdSt.isFile()) {
6285
6235
  sourceArchive = cwdResolved;
6286
6236
  } else {
6287
- const byId = path8.join(capsulesDir, `${sourceArchive}.capsule.json.gz`);
6288
- const byIdEnc = path8.join(capsulesDir, `${sourceArchive}.capsule.json.gz.enc`);
6237
+ const byId = path7.join(capsulesDir, `${sourceArchive}.capsule.json.gz`);
6238
+ const byIdEnc = path7.join(capsulesDir, `${sourceArchive}.capsule.json.gz.enc`);
6289
6239
  const stId = await statMerge(byId).catch(() => null);
6290
6240
  if (stId && stId.isFile()) {
6291
6241
  sourceArchive = byId;
@@ -6298,7 +6248,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
6298
6248
  }
6299
6249
  }
6300
6250
  if (sourceArchive.endsWith(".enc")) {
6301
- const { isEncryptedCapsuleFile } = await import("./capsule-crypto-7FJQINUR.js");
6251
+ const { isEncryptedCapsuleFile } = await import("./capsule-crypto-YO5QJ6L3.js");
6302
6252
  const encDetected = await isEncryptedCapsuleFile(sourceArchive).catch(() => true);
6303
6253
  if (encDetected) {
6304
6254
  throw new Error(
@@ -6306,7 +6256,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
6306
6256
  );
6307
6257
  }
6308
6258
  }
6309
- const { mergeCapsule } = await import("./capsule-merge-IPG4IOFP.js");
6259
+ const { mergeCapsule } = await import("./capsule-merge-3MNURAQ3.js");
6310
6260
  const result = await mergeCapsule({
6311
6261
  sourceArchive,
6312
6262
  targetRoot: memoryDir,
@@ -6366,10 +6316,10 @@ function registerCli(api, orchestrator, registerOptions = {}) {
6366
6316
  ).sort();
6367
6317
  const entries = [];
6368
6318
  for (const archiveName of archives) {
6369
- const archivePath = path8.join(capsulesDir, archiveName);
6319
+ const archivePath = path7.join(capsulesDir, archiveName);
6370
6320
  const id = archiveName.replace(/\.capsule\.json\.gz\.enc$/, "").replace(/\.capsule\.json\.gz$/, "");
6371
6321
  const manifestName = `${id}.manifest.json`;
6372
- const manifestPath = path8.join(capsulesDir, manifestName);
6322
+ const manifestPath = path7.join(capsulesDir, manifestName);
6373
6323
  let createdAt = null;
6374
6324
  let pluginVersion = null;
6375
6325
  let fileCount = null;
@@ -6424,15 +6374,15 @@ function registerCli(api, orchestrator, registerOptions = {}) {
6424
6374
  const parsed = parseCapsuleInspectOptions(archiveArg, opts);
6425
6375
  const { stat } = await import("fs/promises");
6426
6376
  let archivePath = expandTildePath(parsed.archive);
6427
- const looksLikePath = archivePath.startsWith("/") || archivePath.startsWith("./") || archivePath.startsWith("../") || archivePath.includes(path8.sep);
6377
+ const looksLikePath = archivePath.startsWith("/") || archivePath.startsWith("./") || archivePath.startsWith("../") || archivePath.includes(path7.sep);
6428
6378
  if (!looksLikePath) {
6429
- const cwdResolved = path8.resolve(archivePath);
6379
+ const cwdResolved = path7.resolve(archivePath);
6430
6380
  const cwdSt = await stat(cwdResolved).catch(() => null);
6431
6381
  if (cwdSt && cwdSt.isFile()) {
6432
6382
  archivePath = cwdResolved;
6433
6383
  } else {
6434
- const byId = path8.join(capsulesDir, `${archivePath}.capsule.json.gz`);
6435
- const byIdEnc = path8.join(capsulesDir, `${archivePath}.capsule.json.gz.enc`);
6384
+ const byId = path7.join(capsulesDir, `${archivePath}.capsule.json.gz`);
6385
+ const byIdEnc = path7.join(capsulesDir, `${archivePath}.capsule.json.gz.enc`);
6436
6386
  const st = await stat(byId).catch(() => null);
6437
6387
  if (st && st.isFile()) {
6438
6388
  archivePath = byId;
@@ -6461,7 +6411,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
6461
6411
  const { parseExportBundle } = await import("./transfer/types.js");
6462
6412
  let decryptedBuf;
6463
6413
  try {
6464
- const { decryptCapsuleFileInMemory } = await import("./capsule-crypto-7FJQINUR.js");
6414
+ const { decryptCapsuleFileInMemory } = await import("./capsule-crypto-YO5QJ6L3.js");
6465
6415
  decryptedBuf = await decryptCapsuleFileInMemory(archivePath, memoryDir);
6466
6416
  } catch (decErr) {
6467
6417
  const msg = decErr instanceof Error ? decErr.message : String(decErr);
@@ -8425,7 +8375,7 @@ Semantic consolidation complete. clusters=${result.clustersFound}, consolidated=
8425
8375
  return;
8426
8376
  }
8427
8377
  const expandedTarget = expandTildePath(rawTarget);
8428
- const targetPath = path8.isAbsolute(expandedTarget) ? expandedTarget : path8.join(orchestrator.config.memoryDir, expandedTarget);
8378
+ const targetPath = path7.isAbsolute(expandedTarget) ? expandedTarget : path7.join(orchestrator.config.memoryDir, expandedTarget);
8429
8379
  const { runConsolidationUndo, formatConsolidationUndoResult } = await import("./consolidation-undo.js");
8430
8380
  const result = await runConsolidationUndo({
8431
8381
  storage: orchestrator.storage,
@@ -8463,7 +8413,7 @@ Semantic consolidation complete. clusters=${result.clustersFound}, consolidated=
8463
8413
  }
8464
8414
  });
8465
8415
  cmd.command("identity").description("Show agent identity reflections").action(async () => {
8466
- const workspaceDir = path8.join(resolveHomeDir(), ".openclaw", "workspace");
8416
+ const workspaceDir = path7.join(resolveHomeDir(), ".openclaw", "workspace");
8467
8417
  const identity = await orchestrator.storage.readIdentity(workspaceDir);
8468
8418
  if (!identity) {
8469
8419
  console.log("No identity file found.");
@@ -8686,8 +8636,8 @@ Semantic consolidation complete. clusters=${result.clustersFound}, consolidated=
8686
8636
  const options = args[0] ?? {};
8687
8637
  const threadId = options.thread;
8688
8638
  const top = parseInt(options.top ?? "10", 10);
8689
- const memoryDir = path8.join(resolveHomeDir(), ".openclaw", "workspace", "memory", "local");
8690
- const threading = new ThreadingManager(path8.join(memoryDir, "threads"));
8639
+ const memoryDir = path7.join(resolveHomeDir(), ".openclaw", "workspace", "memory", "local");
8640
+ const threading = new ThreadingManager(path7.join(memoryDir, "threads"));
8691
8641
  if (threadId) {
8692
8642
  const thread = await threading.loadThread(threadId);
8693
8643
  if (!thread) {
@@ -8949,7 +8899,7 @@ Semantic consolidation complete. clusters=${result.clustersFound}, consolidated=
8949
8899
  console.error("--verb is required. Must be one of: keep-a, keep-b, merge, both-valid, needs-more-context");
8950
8900
  process.exit(1);
8951
8901
  }
8952
- const { isValidResolutionVerb, executeResolution } = await import("./resolution-4GG3QZRJ.js");
8902
+ const { isValidResolutionVerb, executeResolution } = await import("./resolution-LXFQQ4AE.js");
8953
8903
  if (!isValidResolutionVerb(verb)) {
8954
8904
  console.error(`Invalid verb: ${verb}. Must be one of: keep-a, keep-b, merge, both-valid, needs-more-context`);
8955
8905
  process.exit(1);
@@ -8981,7 +8931,7 @@ Semantic consolidation complete. clusters=${result.clustersFound}, consolidated=
8981
8931
  });
8982
8932
  reviewCmd.command("scan").description("Run an on-demand contradiction scan").option("--namespace <ns>", "Namespace to scan").action(async (...args) => {
8983
8933
  const options = args[0] ?? {};
8984
- const { runContradictionScan } = await import("./contradiction-scan-BSGKZHYJ.js");
8934
+ const { runContradictionScan } = await import("./contradiction-scan-GVD4JJ7B.js");
8985
8935
  console.log("Running contradiction scan...");
8986
8936
  const result = await runContradictionScan({
8987
8937
  storage: orchestrator.storage,
@@ -9621,10 +9571,13 @@ export {
9621
9571
  runMeetingsCliCommand,
9622
9572
  runOkfCliCommand,
9623
9573
  runHarmonicSearchCliCommand,
9624
- applyManagedRegion,
9625
- fileLines,
9626
- parseAtxHeading,
9627
- publishVaultRegion,
9574
+ applyVaultFrontmatter,
9575
+ VAULT_PROPERTY_KEY_MAX_CHARS,
9576
+ VAULT_PROPERTY_SCALAR_MAX_CHARS,
9577
+ VAULT_PROPERTY_LIST_MAX_ITEMS,
9578
+ VAULT_PROPERTY_TOTAL_MAX_CHARS,
9579
+ renderVaultPropertyValue,
9580
+ validateVaultProperties,
9628
9581
  insertMarkersUnderHeading,
9629
9582
  assertBeginEndPair,
9630
9583
  VAULT_PUBLISH_OUTCOMES,
@@ -9730,4 +9683,4 @@ export {
9730
9683
  listMemoryMarkdownFilePaths,
9731
9684
  registerCli
9732
9685
  };
9733
- //# sourceMappingURL=chunk-TNZNSMVJ.js.map
9686
+ //# sourceMappingURL=chunk-NYWCFC3K.js.map