@remnic/core 9.69.38 → 9.69.40

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 (656) hide show
  1. package/dist/access-admin-ops-surface.d.ts +16 -14
  2. package/dist/access-admin-ops-surface.js +39 -39
  3. package/dist/access-authorization-probe.d.ts +16 -14
  4. package/dist/access-authorization-probe.js +40 -40
  5. package/dist/access-boundary.d.ts +16 -14
  6. package/dist/access-boundary.js +39 -39
  7. package/dist/access-cli.js +107 -105
  8. package/dist/access-cli.js.map +1 -1
  9. package/dist/access-coding-context-resolution.d.ts +1 -1
  10. package/dist/access-extraction-force-flush.d.ts +16 -14
  11. package/dist/access-extraction-force-flush.js +39 -39
  12. package/dist/access-health-types.d.ts +1 -1
  13. package/dist/access-http-briefing.d.ts +16 -14
  14. package/dist/access-http-briefing.js +40 -40
  15. package/dist/access-http-lcm-compaction.d.ts +16 -14
  16. package/dist/access-http-lifecycle-flush.d.ts +16 -14
  17. package/dist/access-http-offline-stream.d.ts +16 -14
  18. package/dist/access-http-query.d.ts +2 -2
  19. package/dist/access-http-query.js +41 -41
  20. package/dist/access-http.d.ts +17 -15
  21. package/dist/access-http.js +58 -58
  22. package/dist/access-identity-continuity-surface.d.ts +13 -12
  23. package/dist/access-identity-continuity-surface.js +39 -39
  24. package/dist/access-lcm-surface.d.ts +16 -14
  25. package/dist/access-lcm-surface.js +39 -39
  26. package/dist/access-mcp.d.ts +16 -14
  27. package/dist/access-mcp.js +47 -47
  28. package/dist/access-memory-search-fanout.d.ts +2 -2
  29. package/dist/{access-namespace-preflight-DY4z6L5X.d.ts → access-namespace-preflight-CKBumJ8W.d.ts} +1 -1
  30. package/dist/access-namespace-preflight.d.ts +3 -3
  31. package/dist/access-namespace-preflight.js +39 -39
  32. package/dist/access-observe-transcript.d.ts +13 -12
  33. package/dist/access-observe-write-category.d.ts +1 -1
  34. package/dist/access-observe-write-category.js +2 -2
  35. package/dist/access-observe-write-surface.d.ts +16 -14
  36. package/dist/access-observe-write-surface.js +39 -39
  37. package/dist/access-offline-manifest.d.ts +37 -13
  38. package/dist/access-offline-manifest.js +7 -3
  39. package/dist/access-operations-batch.js +41 -41
  40. package/dist/access-operations.d.ts +16 -14
  41. package/dist/access-operations.js +46 -46
  42. package/dist/access-recall-concurrency.d.ts +16 -14
  43. package/dist/access-recall-concurrency.js +39 -39
  44. package/dist/access-recall-response.d.ts +16 -14
  45. package/dist/access-recall-response.js +39 -39
  46. package/dist/access-recall-surface.d.ts +16 -14
  47. package/dist/access-recall-surface.js +39 -39
  48. package/dist/access-schema.d.ts +5 -3
  49. package/dist/access-schema.js +1 -1
  50. package/dist/{access-service-gBcdRUHY.d.ts → access-service-DJ3qogNt.d.ts} +8 -8
  51. package/dist/access-service-helpers.d.ts +16 -14
  52. package/dist/access-service.d.ts +16 -14
  53. package/dist/access-service.js +39 -39
  54. package/dist/access-surface-catalog.d.ts +16 -14
  55. package/dist/access-surface-catalog.js +41 -41
  56. package/dist/access-wearables-meetings-surface.d.ts +6 -5
  57. package/dist/action-confidence.d.ts +1 -1
  58. package/dist/active-memory-bridge.d.ts +1 -1
  59. package/dist/active-recall.d.ts +1 -1
  60. package/dist/active-recall.js +6 -5
  61. package/dist/active-recall.js.map +1 -1
  62. package/dist/activity/digest.d.ts +1 -1
  63. package/dist/adapters/index.js +4 -4
  64. package/dist/adapters/registry.js +2 -2
  65. package/dist/ambient-provenance.d.ts +1 -1
  66. package/dist/artifact-search.d.ts +1 -1
  67. package/dist/{auto-sync-RP4C6ZPF.js → auto-sync-D6BAPIJV.js} +5 -5
  68. package/dist/background-generation-config.d.ts +1 -1
  69. package/dist/background-generation-config.js +3 -1
  70. package/dist/background-generation.d.ts +1 -1
  71. package/dist/behavior-learner.d.ts +1 -1
  72. package/dist/behavior-signals.d.ts +1 -1
  73. package/dist/bootstrap.d.ts +13 -12
  74. package/dist/briefing-window.d.ts +2 -2
  75. package/dist/briefing.d.ts +2 -2
  76. package/dist/briefing.js +16 -16
  77. package/dist/buffer-surprise-report.d.ts +1 -1
  78. package/dist/buffer-turn-helpers.d.ts +1 -1
  79. package/dist/buffer.d.ts +2 -2
  80. package/dist/buffer.js +5 -5
  81. package/dist/bulk-import/index.d.ts +3 -3
  82. package/dist/calibration.d.ts +3 -2
  83. package/dist/calibration.js +2 -2
  84. package/dist/capabilities.d.ts +1 -1
  85. package/dist/{catalog-CW87xGx8.d.ts → catalog-BHXkBVhg.d.ts} +1 -1
  86. package/dist/causal-behavior.d.ts +1 -1
  87. package/dist/causal-consolidation.d.ts +1 -1
  88. package/dist/causal-consolidation.js +20 -19
  89. package/dist/causal-consolidation.js.map +1 -1
  90. package/dist/causal-trajectory-graph.d.ts +1 -1
  91. package/dist/{chunk-B36GUU6T.js → chunk-23HFXQ5J.js} +36 -3
  92. package/dist/chunk-23HFXQ5J.js.map +1 -0
  93. package/dist/{chunk-YFTNZMGR.js → chunk-27NO2KVB.js} +31 -8
  94. package/dist/chunk-27NO2KVB.js.map +1 -0
  95. package/dist/{chunk-T32B72QX.js → chunk-2SKMZUOW.js} +2 -2
  96. package/dist/{chunk-VHOSM5G4.js → chunk-2SNCQHJZ.js} +2 -2
  97. package/dist/{chunk-VV4ZVUE6.js → chunk-3QEVOQF5.js} +2 -2
  98. package/dist/{chunk-3N3PBBEH.js → chunk-3XPN7AVY.js} +2 -2
  99. package/dist/{chunk-XN6XT6GR.js → chunk-46Z3VGWF.js} +2 -2
  100. package/dist/{chunk-2PTNJTBE.js → chunk-4CMXI55L.js} +2 -2
  101. package/dist/{chunk-2MT4ADLQ.js → chunk-5LYSEZOF.js} +18 -9
  102. package/dist/chunk-5LYSEZOF.js.map +1 -0
  103. package/dist/{chunk-XWLLFKHM.js → chunk-62HFZNCJ.js} +19 -12
  104. package/dist/chunk-62HFZNCJ.js.map +1 -0
  105. package/dist/{chunk-VELCIWJZ.js → chunk-6L2II3KS.js} +22 -11
  106. package/dist/chunk-6L2II3KS.js.map +1 -0
  107. package/dist/{chunk-A6CKMIPK.js → chunk-7D6SER6A.js} +8 -8
  108. package/dist/{chunk-4B3HBIFX.js → chunk-7Z54NXVS.js} +2 -2
  109. package/dist/{chunk-X2NFFBTO.js → chunk-A7GQBJP5.js} +4 -4
  110. package/dist/{chunk-ACY4ZPF7.js → chunk-AEOOGXMQ.js} +10 -5
  111. package/dist/chunk-AEOOGXMQ.js.map +1 -0
  112. package/dist/{chunk-NWMUSKED.js → chunk-BGRTZOJB.js} +3 -3
  113. package/dist/{chunk-ZEGL7YCC.js → chunk-BXIJSPCL.js} +2 -2
  114. package/dist/{chunk-MLWMR2GE.js → chunk-BYQX4IOG.js} +2 -2
  115. package/dist/{chunk-ULDBGA5W.js → chunk-C5R73BON.js} +2 -2
  116. package/dist/{chunk-BD7JTBYP.js → chunk-D7MAYFQP.js} +2 -2
  117. package/dist/{chunk-V6G2PSXA.js → chunk-DAZANIYU.js} +251 -297
  118. package/dist/chunk-DAZANIYU.js.map +1 -0
  119. package/dist/{chunk-BRZWWUCJ.js → chunk-DFVSJFHK.js} +2 -2
  120. package/dist/{chunk-DPMTLJCT.js → chunk-ES5BUPYB.js} +2 -2
  121. package/dist/{chunk-MVAQ2WM3.js → chunk-G2XZFGYN.js} +6 -2
  122. package/dist/chunk-G2XZFGYN.js.map +1 -0
  123. package/dist/{chunk-TNSCIPBQ.js → chunk-G6NQ3L4T.js} +2 -2
  124. package/dist/{chunk-5N4MZLEH.js → chunk-GO5LOHCD.js} +2 -2
  125. package/dist/{chunk-AECJY3GJ.js → chunk-GSSDHAYH.js} +2 -2
  126. package/dist/{chunk-JA2QJOAX.js → chunk-HJUP3K6L.js} +2 -2
  127. package/dist/{chunk-ZKZFFWLV.js → chunk-ICNJ6J46.js} +2 -2
  128. package/dist/{chunk-6EHM2AV7.js → chunk-IMBQFHRV.js} +2 -2
  129. package/dist/{chunk-6PRY6CLC.js → chunk-IOPIGX7Y.js} +1 -1
  130. package/dist/{chunk-TRHBQVVO.js → chunk-IS2IDFJP.js} +14 -14
  131. package/dist/{chunk-R4VAUNNC.js → chunk-J4WGTN2N.js} +2 -2
  132. package/dist/{chunk-JPOX2AJB.js → chunk-J7FVMLBR.js} +2 -2
  133. package/dist/{chunk-BYZKLEWG.js → chunk-JAJIMTFB.js} +6 -6
  134. package/dist/{chunk-OKO57IXB.js → chunk-JOP7W24J.js} +11 -11
  135. package/dist/{chunk-YUW66UAH.js → chunk-JUDT33RX.js} +2 -2
  136. package/dist/{chunk-QHT7MOUF.js → chunk-K4A6UVPB.js} +22 -11
  137. package/dist/chunk-K4A6UVPB.js.map +1 -0
  138. package/dist/{chunk-UQNYPK7G.js → chunk-K4JKAXMO.js} +2 -2
  139. package/dist/{chunk-BV4ZKIZH.js → chunk-K75A5XWU.js} +3 -2
  140. package/dist/{chunk-3CBI2ZSA.js → chunk-KG2OOAFF.js} +20 -12
  141. package/dist/chunk-KG2OOAFF.js.map +1 -0
  142. package/dist/{chunk-M6HBPLBA.js → chunk-KOTG3RXE.js} +2 -2
  143. package/dist/{chunk-CWTCMZGE.js → chunk-KTOXQMW3.js} +119 -3
  144. package/dist/chunk-KTOXQMW3.js.map +1 -0
  145. package/dist/{chunk-OB3XMWX5.js → chunk-KVO2BTA4.js} +2 -2
  146. package/dist/{chunk-CBFYCDYO.js → chunk-KY236SP5.js} +3 -3
  147. package/dist/{chunk-4BCHFSC7.js → chunk-LFVZD5EC.js} +3 -3
  148. package/dist/{chunk-GGAXFTNH.js → chunk-LKFVVN7R.js} +2 -2
  149. package/dist/{chunk-IYKZJVL5.js → chunk-MDIEES23.js} +1 -1
  150. package/dist/chunk-MDIEES23.js.map +1 -0
  151. package/dist/{chunk-4RX5O34R.js → chunk-MJC7UKH7.js} +2 -2
  152. package/dist/{chunk-7S53BPTU.js → chunk-MVG3KXON.js} +69 -22
  153. package/dist/chunk-MVG3KXON.js.map +1 -0
  154. package/dist/chunk-NETQXOPY.js +221 -0
  155. package/dist/chunk-NETQXOPY.js.map +1 -0
  156. package/dist/{chunk-UZZ7SQT3.js → chunk-NVVZPBKI.js} +2 -2
  157. package/dist/{chunk-BLDBT6HZ.js → chunk-PJRKLB4Z.js} +18 -2
  158. package/dist/chunk-PJRKLB4Z.js.map +1 -0
  159. package/dist/{chunk-TTSJ7WUC.js → chunk-PKUJNICO.js} +2 -2
  160. package/dist/{chunk-QMWKENNK.js → chunk-Q4AUIFUA.js} +4 -4
  161. package/dist/{chunk-G43PMSME.js → chunk-QE6YVNP5.js} +7 -7
  162. package/dist/{chunk-WKDFJXW5.js → chunk-QM2SPLKQ.js} +1 -1
  163. package/dist/chunk-QM2SPLKQ.js.map +1 -0
  164. package/dist/{chunk-GT4ZHOKT.js → chunk-QPVNK2VE.js} +2 -2
  165. package/dist/{chunk-K5DA5TRG.js → chunk-QS5Q5RBV.js} +2 -2
  166. package/dist/{chunk-BX4EOMKT.js → chunk-RDLPFM7I.js} +2 -2
  167. package/dist/{chunk-EY5JAWZC.js → chunk-RJQAP333.js} +2 -2
  168. package/dist/{chunk-5AERZWJD.js → chunk-RLU2Y5GV.js} +4 -4
  169. package/dist/chunk-RLU2Y5GV.js.map +1 -0
  170. package/dist/{chunk-2OGTN37H.js → chunk-ROEFLU37.js} +4 -4
  171. package/dist/{chunk-62QIQEUC.js → chunk-SFHLQPBF.js} +25 -25
  172. package/dist/chunk-SK7D34OL.js +68 -0
  173. package/dist/chunk-SK7D34OL.js.map +1 -0
  174. package/dist/{chunk-HVS7TH2Y.js → chunk-SUEOG2S4.js} +2 -2
  175. package/dist/{chunk-74AHCL56.js → chunk-TEMKBSV6.js} +2 -2
  176. package/dist/{chunk-LQNRVPTV.js → chunk-THTF2W7M.js} +151 -118
  177. package/dist/chunk-THTF2W7M.js.map +1 -0
  178. package/dist/{chunk-KDFDXEXZ.js → chunk-TO36VPZI.js} +2 -2
  179. package/dist/{chunk-BJEJUOGM.js → chunk-TZ44E732.js} +44 -6
  180. package/dist/chunk-TZ44E732.js.map +1 -0
  181. package/dist/{chunk-JXN77SGO.js → chunk-U2VDCFXW.js} +1 -1
  182. package/dist/chunk-U2VDCFXW.js.map +1 -0
  183. package/dist/{chunk-3OYSIVOO.js → chunk-UZ6JYPJ6.js} +611 -289
  184. package/dist/chunk-UZ6JYPJ6.js.map +1 -0
  185. package/dist/{chunk-M3MYMWXG.js → chunk-V2ZA4YWE.js} +2 -2
  186. package/dist/{chunk-UIOIDW3L.js → chunk-VHKXRYQN.js} +2 -2
  187. package/dist/{chunk-GAS7KYC7.js → chunk-VKWFNPBH.js} +2 -2
  188. package/dist/{chunk-6H2G7RFT.js → chunk-VNQRRUNS.js} +11 -10
  189. package/dist/chunk-VNQRRUNS.js.map +1 -0
  190. package/dist/{chunk-XGRXQR6T.js → chunk-VQWBUPSJ.js} +2 -2
  191. package/dist/{chunk-TUKGXQ5T.js → chunk-VQYWKCDR.js} +2 -2
  192. package/dist/{chunk-PPQEP4OH.js → chunk-W23JARAQ.js} +2 -2
  193. package/dist/{chunk-YQNNHLCG.js → chunk-WPGR3RW4.js} +2 -2
  194. package/dist/{chunk-474DL7UB.js → chunk-WZYHPAG5.js} +3 -3
  195. package/dist/{chunk-5HYUUFMQ.js → chunk-XCPNH2MG.js} +259 -10
  196. package/dist/chunk-XCPNH2MG.js.map +1 -0
  197. package/dist/{chunk-GQQVEH6V.js → chunk-XM46Y66S.js} +2 -2
  198. package/dist/{chunk-JNSENHV5.js → chunk-YRIFXXMI.js} +3 -3
  199. package/dist/{chunk-TRLOFIQC.js → chunk-YTK5MVNF.js} +2 -2
  200. package/dist/{chunk-VMNCZ627.js → chunk-YTZN2UZO.js} +2 -2
  201. package/dist/chunk-Z4GUX2M6.js +94 -0
  202. package/dist/chunk-Z4GUX2M6.js.map +1 -0
  203. package/dist/{chunk-6ZMNTRU3.js → chunk-ZAEPD4C2.js} +2 -2
  204. package/dist/{chunk-KQW3YGEN.js → chunk-ZRMMXWYI.js} +2 -2
  205. package/dist/{chunk-P4ZAEYKG.js → chunk-ZX3AYNNV.js} +6 -3
  206. package/dist/chunk-ZX3AYNNV.js.map +1 -0
  207. package/dist/{chunk-MCRVQ5YQ.js → chunk-ZZCR2QYL.js} +2 -2
  208. package/dist/{cli-BNg-TAlz.d.ts → cli-BWri5-am.d.ts} +5 -5
  209. package/dist/cli.d.ts +18 -16
  210. package/dist/cli.js +80 -79
  211. package/dist/coding/export-okf-codegraph.d.ts +1 -1
  212. package/dist/coding/export-okf-codegraph.js +15 -15
  213. package/dist/coding/pre-action-gate.d.ts +1 -1
  214. package/dist/compounding/engine.d.ts +2 -2
  215. package/dist/compounding/engine.js +16 -16
  216. package/dist/compounding/preference-consolidator.d.ts +1 -1
  217. package/dist/compression-optimizer.d.ts +1 -1
  218. package/dist/config.d.ts +1 -1
  219. package/dist/config.js +6 -5
  220. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  221. package/dist/connectors/codex-materialize-runner.js +16 -16
  222. package/dist/connectors/codex-materialize.d.ts +1 -1
  223. package/dist/connectors/index.d.ts +1 -1
  224. package/dist/connectors/index.js +16 -16
  225. package/dist/consolidation-provenance-check.d.ts +2 -2
  226. package/dist/consolidation-undo.d.ts +2 -2
  227. package/dist/contradiction/index.d.ts +6 -5
  228. package/dist/converge-config.d.ts +1 -1
  229. package/dist/convergence-refresh.d.ts +2 -2
  230. package/dist/convergence-refresh.js +18 -18
  231. package/dist/conversation-index/backend.d.ts +1 -1
  232. package/dist/conversation-index/chunker.d.ts +1 -1
  233. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  234. package/dist/conversation-index/indexer.d.ts +1 -1
  235. package/dist/conversation-index/search.d.ts +1 -1
  236. package/dist/corpus-watermark.d.ts +1 -1
  237. package/dist/corpus-watermark.js +18 -18
  238. package/dist/cross-lingual-recall.d.ts +1 -1
  239. package/dist/day-summary.d.ts +1 -1
  240. package/dist/deep-recall-http-glue.d.ts +16 -14
  241. package/dist/deep-recall-http-glue.js +2 -2
  242. package/dist/deep-recall-mcp-tools.d.ts +16 -14
  243. package/dist/deep-recall-policy-llm.d.ts +4 -3
  244. package/dist/deep-recall-policy-llm.js +3 -3
  245. package/dist/deep-recall-seeds.d.ts +1 -1
  246. package/dist/delinearize.d.ts +1 -1
  247. package/dist/dependency-propagation-config.d.ts +1 -1
  248. package/dist/{dependency-propagation-delivery-Cq1ekOwV.d.ts → dependency-propagation-delivery-ueZlKTQB.d.ts} +1 -1
  249. package/dist/direct-answer-wiring.d.ts +1 -1
  250. package/dist/direct-answer.d.ts +1 -1
  251. package/dist/embedding-fallback.d.ts +1 -1
  252. package/dist/enrichment/index.d.ts +1 -1
  253. package/dist/entity-origin-fields.d.ts +1 -1
  254. package/dist/entity-retrieval.d.ts +2 -2
  255. package/dist/entity-retrieval.js +16 -16
  256. package/dist/entity-schema.d.ts +1 -1
  257. package/dist/episodic-context.d.ts +1 -1
  258. package/dist/eval-trajectory-contracts.d.ts +1 -1
  259. package/dist/eval-trajectory-store.d.ts +1 -1
  260. package/dist/eval-trajectory.d.ts +1 -1
  261. package/dist/explicit-capture.d.ts +13 -12
  262. package/dist/external-wiki-access.d.ts +16 -14
  263. package/dist/external-wiki-access.js +40 -40
  264. package/dist/external-wiki-collection-registration.d.ts +1 -1
  265. package/dist/external-wiki-collection.d.ts +1 -1
  266. package/dist/external-wiki-mcp-tools.d.ts +16 -14
  267. package/dist/extraction-error-classification.d.ts +14 -3
  268. package/dist/extraction-error-classification.js +5 -3
  269. package/dist/extraction-faithfulness.d.ts +4 -3
  270. package/dist/extraction-faithfulness.js +3 -3
  271. package/dist/extraction-judge-telemetry.d.ts +4 -3
  272. package/dist/extraction-judge-training.d.ts +4 -3
  273. package/dist/extraction-judge.d.ts +4 -3
  274. package/dist/extraction-judge.js +3 -3
  275. package/dist/extraction-liveness.d.ts +1 -1
  276. package/dist/extraction-normalization.d.ts +1 -1
  277. package/dist/extraction-prompt.d.ts +1 -1
  278. package/dist/extraction-source-grounding-rules.d.ts +1 -1
  279. package/dist/extraction-source-grounding.d.ts +1 -1
  280. package/dist/extraction-span-config.d.ts +1 -1
  281. package/dist/extraction-span-materialize.d.ts +1 -1
  282. package/dist/extraction.d.ts +4 -4
  283. package/dist/extraction.js +26 -24
  284. package/dist/fallback-llm-codex-subscription.d.ts +52 -7
  285. package/dist/fallback-llm-codex-subscription.js +17 -1
  286. package/dist/fallback-llm.d.ts +25 -28
  287. package/dist/fallback-llm.js +4 -3
  288. package/dist/{generic-recall-paths-BcySh_f9.d.ts → generic-recall-paths-CpyVmA88.d.ts} +1 -1
  289. package/dist/graph-append-error.d.ts +1 -1
  290. package/dist/graph-dashboard-diff.d.ts +1 -1
  291. package/dist/graph-dashboard-key.d.ts +1 -1
  292. package/dist/graph-dashboard-parser.d.ts +1 -1
  293. package/dist/graph-edge-reinforcement.d.ts +1 -1
  294. package/dist/graph-jsonl.d.ts +1 -1
  295. package/dist/graph-path-reconstruction.d.ts +1 -1
  296. package/dist/graph-path-scoring.d.ts +1 -1
  297. package/dist/graph-snapshot.d.ts +1 -1
  298. package/dist/graph.d.ts +1 -1
  299. package/dist/harmonic-retrieval.js +1 -1
  300. package/dist/importance.d.ts +1 -1
  301. package/dist/importers/index.d.ts +1 -1
  302. package/dist/importers/test-utils.d.ts +1 -1
  303. package/dist/in-flight-reads.d.ts +1 -1
  304. package/dist/{index-DWOb4wz9.d.ts → index-BvUA4S7M.d.ts} +3 -3
  305. package/dist/index.d.ts +80 -40
  306. package/dist/index.js +140 -115
  307. package/dist/intent.d.ts +1 -1
  308. package/dist/lcm/engine.d.ts +1 -1
  309. package/dist/lcm/engine.js +2 -2
  310. package/dist/lcm/index.d.ts +1 -1
  311. package/dist/lcm/index.js +7 -7
  312. package/dist/lcm/tools.d.ts +1 -1
  313. package/dist/lifecycle.d.ts +1 -1
  314. package/dist/live-connectors-runner.d.ts +1 -1
  315. package/dist/local-llm-BsJGulur.d.ts +247 -0
  316. package/dist/local-llm-config.d.ts +4 -1
  317. package/dist/local-llm-config.js +4 -2
  318. package/dist/local-llm-helpers.d.ts +18 -69
  319. package/dist/local-llm-helpers.js +1 -1
  320. package/dist/local-llm.d.ts +3 -170
  321. package/dist/local-llm.js +2 -2
  322. package/dist/local-model-endpoint.d.ts +1 -1
  323. package/dist/location/index.d.ts +3 -3
  324. package/dist/location/index.js +18 -18
  325. package/dist/maintenance/memory-governance.d.ts +1 -1
  326. package/dist/maintenance/memory-governance.js +16 -16
  327. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +2 -2
  328. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +16 -16
  329. package/dist/maintenance/rebuild-memory-projection.d.ts +2 -2
  330. package/dist/maintenance/rebuild-memory-projection.js +17 -17
  331. package/dist/{maintenance-CW9wCzMP.d.ts → maintenance-CYubtIRr.d.ts} +9 -3
  332. package/dist/mcp-memory-inspector-app.d.ts +16 -14
  333. package/dist/memory-action-policy.d.ts +1 -1
  334. package/dist/memory-cache.d.ts +1 -1
  335. package/dist/memory-controller.d.ts +1 -1
  336. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  337. package/dist/memory-projection-store.d.ts +1 -1
  338. package/dist/memory-provenance.d.ts +1 -1
  339. package/dist/memory-snapshot.d.ts +1 -1
  340. package/dist/memory-subject-cli.d.ts +16 -14
  341. package/dist/memory-subject.d.ts +16 -14
  342. package/dist/memory-worth-outcomes.d.ts +2 -2
  343. package/dist/models-json.d.ts +1 -1
  344. package/dist/namespaces/migrate.d.ts +3 -3
  345. package/dist/namespaces/migrate.js +17 -17
  346. package/dist/namespaces/principal.d.ts +1 -1
  347. package/dist/namespaces/search.d.ts +12 -1
  348. package/dist/namespaces/search.js +9 -9
  349. package/dist/namespaces/storage.d.ts +3 -3
  350. package/dist/namespaces/storage.js +16 -16
  351. package/dist/native-knowledge.d.ts +1 -1
  352. package/dist/offline-sync-impression-drain.d.ts +1 -1
  353. package/dist/operator-doctor-corpus.d.ts +1 -1
  354. package/dist/operator-doctor-corpus.js +19 -19
  355. package/dist/operator-doctor-replica.d.ts +1 -1
  356. package/dist/operator-toolkit.d.ts +3 -3
  357. package/dist/operator-toolkit.js +30 -29
  358. package/dist/orchestration/compression-guideline-coordinator.d.ts +2 -2
  359. package/dist/orchestration/maintenance.d.ts +4 -4
  360. package/dist/orchestration/maintenance.js +27 -27
  361. package/dist/{orchestrator-DocO0_hw.d.ts → orchestrator-BWDRJ_0d.d.ts} +37 -13
  362. package/dist/orchestrator.d.ts +13 -12
  363. package/dist/orchestrator.js +110 -106
  364. package/dist/patterns-cli.d.ts +1 -1
  365. package/dist/{pipeline-CiYcqqhl.d.ts → pipeline-7JMn2yMH.d.ts} +1 -1
  366. package/dist/policy-runtime.d.ts +1 -1
  367. package/dist/proactive-contention.d.ts +2 -2
  368. package/dist/provenance.d.ts +1 -1
  369. package/dist/{public-http-C0FoTiL_.d.ts → public-http-CJWs3mo9.d.ts} +1 -1
  370. package/dist/{qmd-qXD4vatU.d.ts → qmd-CxCH9G9m.d.ts} +2 -2
  371. package/dist/qmd-preflight.d.ts +2 -2
  372. package/dist/qmd-recall-cache.d.ts +1 -1
  373. package/dist/qmd.d.ts +2 -2
  374. package/dist/qmd.js +2 -2
  375. package/dist/recall-concurrency-config.d.ts +1 -1
  376. package/dist/recall-disclosure-escalation.d.ts +1 -1
  377. package/dist/recall-explain-renderer.d.ts +1 -1
  378. package/dist/recall-explain-renderer.js +3 -3
  379. package/dist/recall-memory-map.d.ts +1 -1
  380. package/dist/recall-navigate-access.d.ts +1 -1
  381. package/dist/recall-navigate-access.js +2 -2
  382. package/dist/recall-navigate-disclosure.d.ts +1 -1
  383. package/dist/recall-navigate-disclosure.js +1 -1
  384. package/dist/recall-navigate.d.ts +1 -1
  385. package/dist/recall-navigate.js +2 -2
  386. package/dist/recall-planner-llm.d.ts +3 -2
  387. package/dist/recall-planner-llm.js +4 -3
  388. package/dist/recall-planner-llm.js.map +1 -1
  389. package/dist/recall-state-view-admission.d.ts +13 -3
  390. package/dist/recall-state-view-admission.js +8 -8
  391. package/dist/recall-state-view-anchors.d.ts +85 -0
  392. package/dist/recall-state-view-anchors.js +21 -0
  393. package/dist/recall-state-view-anchors.js.map +1 -0
  394. package/dist/recall-state-view-inject.js +2 -2
  395. package/dist/recall-state-view-render.js +2 -2
  396. package/dist/recall-state-view-widen.js +2 -2
  397. package/dist/recall-state-view-wire.js +3 -3
  398. package/dist/recall-state-view.d.ts +38 -1
  399. package/dist/recall-state-view.js +11 -3
  400. package/dist/recall-state.d.ts +1 -1
  401. package/dist/recall-tag-filter.d.ts +1 -1
  402. package/dist/recall-timings.d.ts +1 -1
  403. package/dist/recall-xray-cli.d.ts +1 -1
  404. package/dist/recall-xray-cli.js +4 -4
  405. package/dist/recall-xray-renderer.d.ts +1 -1
  406. package/dist/recall-xray-renderer.js +3 -3
  407. package/dist/recall-xray.d.ts +1 -1
  408. package/dist/recall-xray.js +2 -2
  409. package/dist/reconcile/cursor.d.ts +1 -1
  410. package/dist/reconcile/manifest.d.ts +1 -1
  411. package/dist/reconcile/plan.d.ts +1 -1
  412. package/dist/replay/normalizers/chatgpt.d.ts +1 -1
  413. package/dist/replay/normalizers/claude.d.ts +1 -1
  414. package/dist/replay/normalizers/openclaw.d.ts +1 -1
  415. package/dist/replay/normalizers/shared.d.ts +1 -1
  416. package/dist/replay/runner.d.ts +1 -1
  417. package/dist/replay/types.d.ts +1 -1
  418. package/dist/replica-divergence.d.ts +1 -1
  419. package/dist/replica-peers-config.d.ts +1 -1
  420. package/dist/resolve-auth-token.d.ts +1 -1
  421. package/dist/resume-bundles.js +7 -6
  422. package/dist/retrieval-agents.d.ts +2 -2
  423. package/dist/retrieval-tiers.d.ts +1 -1
  424. package/dist/routing/engine.d.ts +1 -1
  425. package/dist/routing/store.d.ts +1 -1
  426. package/dist/salvage-envelope.d.ts +1 -1
  427. package/dist/{scope-profiles-BT9rqC3w.d.ts → scope-profiles-BGAUqhBR.d.ts} +1 -1
  428. package/dist/search/embed-helper.d.ts +1 -1
  429. package/dist/search/factory.d.ts +1 -1
  430. package/dist/search/factory.js +8 -8
  431. package/dist/search/index.d.ts +1 -1
  432. package/dist/search/index.js +12 -12
  433. package/dist/search/lancedb-backend.d.ts +1 -1
  434. package/dist/search/lancedb-backend.js +2 -2
  435. package/dist/search/meilisearch-backend.d.ts +1 -1
  436. package/dist/search/meilisearch-backend.js +2 -2
  437. package/dist/search/noop-backend.d.ts +1 -1
  438. package/dist/search/orama-backend.d.ts +1 -1
  439. package/dist/search/orama-backend.js +2 -2
  440. package/dist/search/port.d.ts +2 -2
  441. package/dist/search/port.js +1 -1
  442. package/dist/search/remote-backend.d.ts +1 -1
  443. package/dist/search/remote-backend.js +2 -2
  444. package/dist/{semantic-consolidation-CmZi7thY.d.ts → semantic-consolidation-CCeRD9pV.d.ts} +1 -1
  445. package/dist/semantic-consolidation.d.ts +2 -2
  446. package/dist/semantic-consolidation.js +17 -17
  447. package/dist/semantic-rule-promotion.js +16 -16
  448. package/dist/semantic-rule-verifier.d.ts +1 -1
  449. package/dist/semantic-rule-verifier.js +16 -16
  450. package/dist/{service-CLkA7AQB.d.ts → service-BwpzRduk.d.ts} +2 -2
  451. package/dist/session-observer-bands.d.ts +1 -1
  452. package/dist/session-observer-state.d.ts +1 -1
  453. package/dist/shared-context/manager.d.ts +1 -1
  454. package/dist/signal.d.ts +1 -1
  455. package/dist/source-agent-qualifier.d.ts +1 -1
  456. package/dist/source-agent-qualifier.js +19 -19
  457. package/dist/standup/build.js +16 -16
  458. package/dist/{storage-wvX01lht.d.ts → storage-BprAGBG0.d.ts} +2 -1
  459. package/dist/storage.d.ts +2 -2
  460. package/dist/storage.js +15 -15
  461. package/dist/subject-config.d.ts +1 -1
  462. package/dist/summarizer.d.ts +1 -1
  463. package/dist/summarizer.js +5 -5
  464. package/dist/summary-snapshot.d.ts +1 -1
  465. package/dist/support-passport/index.d.ts +18 -17
  466. package/dist/support-passport/index.js +42 -42
  467. package/dist/task-llm-config.d.ts +16 -0
  468. package/dist/task-llm-config.js +12 -0
  469. package/dist/task-llm-config.js.map +1 -0
  470. package/dist/temporal-supersession.d.ts +2 -2
  471. package/dist/temporal-timeline-recall.d.ts +1 -1
  472. package/dist/temporal-validity.d.ts +1 -1
  473. package/dist/threading.d.ts +1 -1
  474. package/dist/tier-migration.d.ts +2 -2
  475. package/dist/tier-routing.d.ts +1 -1
  476. package/dist/topics.d.ts +1 -1
  477. package/dist/transcript.d.ts +1 -1
  478. package/dist/transfer/export-okf.d.ts +1 -1
  479. package/dist/transfer/export-okf.js +16 -16
  480. package/dist/trust-score-stage.d.ts +1 -1
  481. package/dist/trust-score.d.ts +1 -1
  482. package/dist/{types-Cyr32ABj.d.ts → types-nJV23pa3.d.ts} +1 -1
  483. package/dist/types.d.ts +1 -1
  484. package/dist/types.js +1 -1
  485. package/dist/utility-runtime.d.ts +1 -1
  486. package/dist/verified-recall.js +16 -16
  487. package/dist/who-knows-cli.d.ts +16 -14
  488. package/dist/who-knows-cli.js +17 -17
  489. package/dist/who-knows.d.ts +16 -14
  490. package/dist/who-knows.js +16 -16
  491. package/dist/write-envelope.d.ts +1 -1
  492. package/package.json +2 -2
  493. package/src/access-category-alias.test.ts +93 -0
  494. package/src/access-offline-manifest.ts +52 -2
  495. package/src/access-schema.ts +9 -4
  496. package/src/activity/config.test.ts +61 -0
  497. package/src/activity/config.ts +40 -1
  498. package/src/activity/timeline/analysis-provider.ts +8 -2
  499. package/src/activity/timeline/analysis-run.test.ts +82 -0
  500. package/src/activity/timeline/publish-cli.test.ts +30 -0
  501. package/src/activity/timeline/publish-cli.ts +7 -0
  502. package/src/activity/timeline/query.ts +8 -1
  503. package/src/activity/timeline/regenerate.test.ts +82 -2
  504. package/src/activity/timeline/regenerate.ts +7 -1
  505. package/src/activity/vault-frontmatter.test.ts +99 -1
  506. package/src/activity/vault-frontmatter.ts +131 -0
  507. package/src/activity/vault-publish.ts +6 -0
  508. package/src/activity/vault-publisher.test.ts +172 -0
  509. package/src/activity/vault-publisher.ts +69 -15
  510. package/src/activity/vault-region.test.ts +7 -2
  511. package/src/activity/vault-region.ts +7 -3
  512. package/src/background-generation-config.ts +32 -6
  513. package/src/background-generation.test.ts +10 -1
  514. package/src/cli/timeline-publish-commands.ts +9 -0
  515. package/src/config.test.ts +170 -43
  516. package/src/config.ts +17 -5
  517. package/src/extraction-error-classification.ts +36 -1
  518. package/src/extraction-timeout.test.ts +110 -1
  519. package/src/extraction.test.ts +19 -1
  520. package/src/extraction.ts +23 -21
  521. package/src/fallback-llm-codex-subscription.ts +193 -7
  522. package/src/fallback-llm-parse-failure.test.ts +156 -0
  523. package/src/fallback-llm.test.ts +58 -0
  524. package/src/fallback-llm.ts +187 -186
  525. package/src/index.ts +1 -0
  526. package/src/local-llm-config.ts +11 -10
  527. package/src/local-llm-headers-timeout.test.ts +30 -0
  528. package/src/local-llm-helpers.ts +28 -0
  529. package/src/local-llm.ts +8 -19
  530. package/src/namespaces/search.test.ts +51 -1
  531. package/src/namespaces/search.ts +48 -3
  532. package/src/orchestration/extraction-persist-promotion.test.ts +228 -2
  533. package/src/orchestration/extraction-persist-promotion.ts +17 -14
  534. package/src/orchestration/orchestrator-helpers.test.ts +104 -0
  535. package/src/orchestration/orchestrator-init.ts +366 -106
  536. package/src/orchestration/recall-internal.ts +85 -74
  537. package/src/orchestration/recall-rerank-coordinator.ts +41 -4
  538. package/src/orchestration/recall-search-pipeline.ts +25 -18
  539. package/src/orchestration/recall-state-view-pipeline.test.ts +89 -0
  540. package/src/orchestration/semantic-merge-promotion-payload.ts +62 -6
  541. package/src/orchestration/startup-collection-checks.ts +85 -0
  542. package/src/orchestrator-flush.test.ts +7 -0
  543. package/src/orchestrator-init.test.ts +1539 -0
  544. package/src/orchestrator.ts +7 -0
  545. package/src/qmd.ts +21 -10
  546. package/src/recall-rerank-coordinator.test.ts +153 -0
  547. package/src/recall-state-view-admission.ts +11 -1
  548. package/src/recall-state-view-anchors.ts +163 -0
  549. package/src/recall-state-view-cron-intent.test.ts +268 -0
  550. package/src/recall-state-view-widen.test.ts +14 -5
  551. package/src/recall-state-view-widen.ts +29 -8
  552. package/src/recall-state-view-zero-diff.test.ts +30 -0
  553. package/src/recall-state-view.test.ts +161 -0
  554. package/src/recall-state-view.ts +211 -37
  555. package/src/reconcile-identity-cache.test.ts +82 -1
  556. package/src/search/port.ts +1 -1
  557. package/src/storage/cas-revision-store.test.ts +4 -0
  558. package/src/storage/cas-revision-store.ts +104 -12
  559. package/src/storage-frontmatter-cas.test.ts +19 -17
  560. package/src/summarizer.ts +5 -1
  561. package/src/task-llm-config.test.ts +124 -0
  562. package/src/task-llm-config.ts +88 -0
  563. package/src/testing/subjects/startup-discovery-lifecycle.test.ts +273 -0
  564. package/src/trust-score-recall-paths.test.ts +1 -1
  565. package/src/types.ts +1 -0
  566. package/dist/chunk-255PC37A.js +0 -120
  567. package/dist/chunk-255PC37A.js.map +0 -1
  568. package/dist/chunk-2MT4ADLQ.js.map +0 -1
  569. package/dist/chunk-3CBI2ZSA.js.map +0 -1
  570. package/dist/chunk-3OYSIVOO.js.map +0 -1
  571. package/dist/chunk-5AERZWJD.js.map +0 -1
  572. package/dist/chunk-5HYUUFMQ.js.map +0 -1
  573. package/dist/chunk-6H2G7RFT.js.map +0 -1
  574. package/dist/chunk-7S53BPTU.js.map +0 -1
  575. package/dist/chunk-ACY4ZPF7.js.map +0 -1
  576. package/dist/chunk-B36GUU6T.js.map +0 -1
  577. package/dist/chunk-BJEJUOGM.js.map +0 -1
  578. package/dist/chunk-BLDBT6HZ.js.map +0 -1
  579. package/dist/chunk-CWTCMZGE.js.map +0 -1
  580. package/dist/chunk-IYKZJVL5.js.map +0 -1
  581. package/dist/chunk-JXN77SGO.js.map +0 -1
  582. package/dist/chunk-LQNRVPTV.js.map +0 -1
  583. package/dist/chunk-MVAQ2WM3.js.map +0 -1
  584. package/dist/chunk-P4ZAEYKG.js.map +0 -1
  585. package/dist/chunk-QHT7MOUF.js.map +0 -1
  586. package/dist/chunk-V6G2PSXA.js.map +0 -1
  587. package/dist/chunk-VELCIWJZ.js.map +0 -1
  588. package/dist/chunk-WKDFJXW5.js.map +0 -1
  589. package/dist/chunk-XWLLFKHM.js.map +0 -1
  590. package/dist/chunk-YFTNZMGR.js.map +0 -1
  591. /package/dist/{auto-sync-RP4C6ZPF.js.map → auto-sync-D6BAPIJV.js.map} +0 -0
  592. /package/dist/{chunk-T32B72QX.js.map → chunk-2SKMZUOW.js.map} +0 -0
  593. /package/dist/{chunk-VHOSM5G4.js.map → chunk-2SNCQHJZ.js.map} +0 -0
  594. /package/dist/{chunk-VV4ZVUE6.js.map → chunk-3QEVOQF5.js.map} +0 -0
  595. /package/dist/{chunk-3N3PBBEH.js.map → chunk-3XPN7AVY.js.map} +0 -0
  596. /package/dist/{chunk-XN6XT6GR.js.map → chunk-46Z3VGWF.js.map} +0 -0
  597. /package/dist/{chunk-2PTNJTBE.js.map → chunk-4CMXI55L.js.map} +0 -0
  598. /package/dist/{chunk-A6CKMIPK.js.map → chunk-7D6SER6A.js.map} +0 -0
  599. /package/dist/{chunk-4B3HBIFX.js.map → chunk-7Z54NXVS.js.map} +0 -0
  600. /package/dist/{chunk-X2NFFBTO.js.map → chunk-A7GQBJP5.js.map} +0 -0
  601. /package/dist/{chunk-NWMUSKED.js.map → chunk-BGRTZOJB.js.map} +0 -0
  602. /package/dist/{chunk-ZEGL7YCC.js.map → chunk-BXIJSPCL.js.map} +0 -0
  603. /package/dist/{chunk-MLWMR2GE.js.map → chunk-BYQX4IOG.js.map} +0 -0
  604. /package/dist/{chunk-ULDBGA5W.js.map → chunk-C5R73BON.js.map} +0 -0
  605. /package/dist/{chunk-BD7JTBYP.js.map → chunk-D7MAYFQP.js.map} +0 -0
  606. /package/dist/{chunk-BRZWWUCJ.js.map → chunk-DFVSJFHK.js.map} +0 -0
  607. /package/dist/{chunk-DPMTLJCT.js.map → chunk-ES5BUPYB.js.map} +0 -0
  608. /package/dist/{chunk-TNSCIPBQ.js.map → chunk-G6NQ3L4T.js.map} +0 -0
  609. /package/dist/{chunk-5N4MZLEH.js.map → chunk-GO5LOHCD.js.map} +0 -0
  610. /package/dist/{chunk-AECJY3GJ.js.map → chunk-GSSDHAYH.js.map} +0 -0
  611. /package/dist/{chunk-JA2QJOAX.js.map → chunk-HJUP3K6L.js.map} +0 -0
  612. /package/dist/{chunk-ZKZFFWLV.js.map → chunk-ICNJ6J46.js.map} +0 -0
  613. /package/dist/{chunk-6EHM2AV7.js.map → chunk-IMBQFHRV.js.map} +0 -0
  614. /package/dist/{chunk-6PRY6CLC.js.map → chunk-IOPIGX7Y.js.map} +0 -0
  615. /package/dist/{chunk-TRHBQVVO.js.map → chunk-IS2IDFJP.js.map} +0 -0
  616. /package/dist/{chunk-R4VAUNNC.js.map → chunk-J4WGTN2N.js.map} +0 -0
  617. /package/dist/{chunk-JPOX2AJB.js.map → chunk-J7FVMLBR.js.map} +0 -0
  618. /package/dist/{chunk-BYZKLEWG.js.map → chunk-JAJIMTFB.js.map} +0 -0
  619. /package/dist/{chunk-OKO57IXB.js.map → chunk-JOP7W24J.js.map} +0 -0
  620. /package/dist/{chunk-YUW66UAH.js.map → chunk-JUDT33RX.js.map} +0 -0
  621. /package/dist/{chunk-UQNYPK7G.js.map → chunk-K4JKAXMO.js.map} +0 -0
  622. /package/dist/{chunk-BV4ZKIZH.js.map → chunk-K75A5XWU.js.map} +0 -0
  623. /package/dist/{chunk-M6HBPLBA.js.map → chunk-KOTG3RXE.js.map} +0 -0
  624. /package/dist/{chunk-OB3XMWX5.js.map → chunk-KVO2BTA4.js.map} +0 -0
  625. /package/dist/{chunk-CBFYCDYO.js.map → chunk-KY236SP5.js.map} +0 -0
  626. /package/dist/{chunk-4BCHFSC7.js.map → chunk-LFVZD5EC.js.map} +0 -0
  627. /package/dist/{chunk-GGAXFTNH.js.map → chunk-LKFVVN7R.js.map} +0 -0
  628. /package/dist/{chunk-4RX5O34R.js.map → chunk-MJC7UKH7.js.map} +0 -0
  629. /package/dist/{chunk-UZZ7SQT3.js.map → chunk-NVVZPBKI.js.map} +0 -0
  630. /package/dist/{chunk-TTSJ7WUC.js.map → chunk-PKUJNICO.js.map} +0 -0
  631. /package/dist/{chunk-QMWKENNK.js.map → chunk-Q4AUIFUA.js.map} +0 -0
  632. /package/dist/{chunk-G43PMSME.js.map → chunk-QE6YVNP5.js.map} +0 -0
  633. /package/dist/{chunk-GT4ZHOKT.js.map → chunk-QPVNK2VE.js.map} +0 -0
  634. /package/dist/{chunk-K5DA5TRG.js.map → chunk-QS5Q5RBV.js.map} +0 -0
  635. /package/dist/{chunk-BX4EOMKT.js.map → chunk-RDLPFM7I.js.map} +0 -0
  636. /package/dist/{chunk-EY5JAWZC.js.map → chunk-RJQAP333.js.map} +0 -0
  637. /package/dist/{chunk-2OGTN37H.js.map → chunk-ROEFLU37.js.map} +0 -0
  638. /package/dist/{chunk-62QIQEUC.js.map → chunk-SFHLQPBF.js.map} +0 -0
  639. /package/dist/{chunk-HVS7TH2Y.js.map → chunk-SUEOG2S4.js.map} +0 -0
  640. /package/dist/{chunk-74AHCL56.js.map → chunk-TEMKBSV6.js.map} +0 -0
  641. /package/dist/{chunk-KDFDXEXZ.js.map → chunk-TO36VPZI.js.map} +0 -0
  642. /package/dist/{chunk-M3MYMWXG.js.map → chunk-V2ZA4YWE.js.map} +0 -0
  643. /package/dist/{chunk-UIOIDW3L.js.map → chunk-VHKXRYQN.js.map} +0 -0
  644. /package/dist/{chunk-GAS7KYC7.js.map → chunk-VKWFNPBH.js.map} +0 -0
  645. /package/dist/{chunk-XGRXQR6T.js.map → chunk-VQWBUPSJ.js.map} +0 -0
  646. /package/dist/{chunk-TUKGXQ5T.js.map → chunk-VQYWKCDR.js.map} +0 -0
  647. /package/dist/{chunk-PPQEP4OH.js.map → chunk-W23JARAQ.js.map} +0 -0
  648. /package/dist/{chunk-YQNNHLCG.js.map → chunk-WPGR3RW4.js.map} +0 -0
  649. /package/dist/{chunk-474DL7UB.js.map → chunk-WZYHPAG5.js.map} +0 -0
  650. /package/dist/{chunk-GQQVEH6V.js.map → chunk-XM46Y66S.js.map} +0 -0
  651. /package/dist/{chunk-JNSENHV5.js.map → chunk-YRIFXXMI.js.map} +0 -0
  652. /package/dist/{chunk-TRLOFIQC.js.map → chunk-YTK5MVNF.js.map} +0 -0
  653. /package/dist/{chunk-VMNCZ627.js.map → chunk-YTZN2UZO.js.map} +0 -0
  654. /package/dist/{chunk-6ZMNTRU3.js.map → chunk-ZAEPD4C2.js.map} +0 -0
  655. /package/dist/{chunk-KQW3YGEN.js.map → chunk-ZRMMXWYI.js.map} +0 -0
  656. /package/dist/{chunk-MCRVQ5YQ.js.map → chunk-ZZCR2QYL.js.map} +0 -0
@@ -1,16 +1,19 @@
1
- import {
2
- openclawReplayNormalizer
3
- } from "./chunk-H4CKS5B2.js";
4
1
  import {
5
2
  chatgptReplayNormalizer
6
3
  } from "./chunk-MMACM5G2.js";
7
4
  import {
8
5
  claudeReplayNormalizer
9
6
  } from "./chunk-54BGIBCR.js";
7
+ import {
8
+ openclawReplayNormalizer
9
+ } from "./chunk-H4CKS5B2.js";
10
+ import {
11
+ exportJsonBundle
12
+ } from "./chunk-UP6MOYCB.js";
10
13
  import {
11
14
  exportOkfBundle,
12
15
  parseIncludeStatus
13
- } from "./chunk-TTSJ7WUC.js";
16
+ } from "./chunk-PKUJNICO.js";
14
17
  import {
15
18
  exportSqlite
16
19
  } from "./chunk-BV2TIZ4F.js";
@@ -29,9 +32,6 @@ import {
29
32
  import {
30
33
  backupMemoryDir
31
34
  } from "./chunk-2NLLXCJG.js";
32
- import {
33
- exportJsonBundle
34
- } from "./chunk-UP6MOYCB.js";
35
35
  import {
36
36
  exportMarkdownBundle
37
37
  } from "./chunk-765K3SAT.js";
@@ -53,6 +53,9 @@ import {
53
53
  import {
54
54
  WebDavServer
55
55
  } from "./chunk-PYIFUBRK.js";
56
+ import {
57
+ rebuildMemoryLifecycleLedger
58
+ } from "./chunk-XM46Y66S.js";
56
59
  import {
57
60
  rebuildObservations
58
61
  } from "./chunk-DQTCGVFK.js";
@@ -63,20 +66,17 @@ import {
63
66
  migrateObservations
64
67
  } from "./chunk-IIFFC3RL.js";
65
68
  import {
66
- rebuildMemoryLifecycleLedger
67
- } from "./chunk-GQQVEH6V.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";
71
77
  import {
72
78
  runCompatChecks
73
79
  } from "./chunk-2524MOWK.js";
74
- import {
75
- getBulkImportSource,
76
- listBulkImportSources,
77
- registerBulkImportSource,
78
- runBulkImportPipeline
79
- } from "./chunk-HSSERO3E.js";
80
80
  import {
81
81
  getUtilityLearningStatus,
82
82
  learnUtilityPromotionWeights
@@ -87,21 +87,21 @@ import {
87
87
  } from "./chunk-EBA5DA77.js";
88
88
  import {
89
89
  searchVerifiedEpisodes
90
- } from "./chunk-ZKZFFWLV.js";
90
+ } from "./chunk-ICNJ6J46.js";
91
91
  import {
92
92
  ThreadingManager
93
93
  } from "./chunk-OJP3N7UK.js";
94
94
  import {
95
95
  promoteSemanticRuleFromMemory
96
- } from "./chunk-GT4ZHOKT.js";
96
+ } from "./chunk-QPVNK2VE.js";
97
97
  import {
98
98
  searchVerifiedSemanticRules
99
- } from "./chunk-6ZMNTRU3.js";
99
+ } from "./chunk-ZAEPD4C2.js";
100
100
  import {
101
101
  buildResumeBundleFromState,
102
102
  getResumeBundleStatus,
103
103
  recordResumeBundle
104
- } from "./chunk-4B3HBIFX.js";
104
+ } from "./chunk-7Z54NXVS.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-LFVZD5EC.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-A6CKMIPK.js";
137
+ } from "./chunk-7D6SER6A.js";
138
138
  import {
139
139
  analyzeSessionIntegrity,
140
140
  applySessionRepair,
@@ -176,7 +176,7 @@ import {
176
176
  rebuildMemoryProjection,
177
177
  repairMemoryProjection,
178
178
  verifyMemoryProjection
179
- } from "./chunk-NWMUSKED.js";
179
+ } from "./chunk-BGRTZOJB.js";
180
180
  import {
181
181
  applyCommitmentLedgerLifecycle,
182
182
  getCommitmentLedgerStatus,
@@ -197,16 +197,20 @@ import {
197
197
  } from "./chunk-6TBIWIAG.js";
198
198
  import {
199
199
  parseConfig
200
- } from "./chunk-2MT4ADLQ.js";
200
+ } from "./chunk-5LYSEZOF.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-TRHBQVVO.js";
213
+ } from "./chunk-IS2IDFJP.js";
210
214
  import {
211
215
  WearablesInputError
212
216
  } from "./chunk-V7IZKJI3.js";
@@ -216,10 +220,10 @@ import {
216
220
  loadChatSession,
217
221
  processChatMessage,
218
222
  sessionBelongsToPrincipal
219
- } from "./chunk-2OGTN37H.js";
223
+ } from "./chunk-ROEFLU37.js";
220
224
  import {
221
225
  EngramAccessService
222
- } from "./chunk-62QIQEUC.js";
226
+ } from "./chunk-SFHLQPBF.js";
223
227
  import {
224
228
  WorkStorage
225
229
  } from "./chunk-MPC7TYTZ.js";
@@ -234,26 +238,26 @@ import {
234
238
  } from "./chunk-P5FPO2BR.js";
235
239
  import {
236
240
  journalPath
237
- } from "./chunk-UZZ7SQT3.js";
241
+ } from "./chunk-NVVZPBKI.js";
238
242
  import {
239
243
  parseRecallExplainFormat,
240
244
  renderRecallExplain,
241
245
  renderXray
242
- } from "./chunk-M6HBPLBA.js";
246
+ } from "./chunk-KOTG3RXE.js";
243
247
  import {
244
248
  readAggregateExtractionWatermark
245
- } from "./chunk-GGAXFTNH.js";
249
+ } from "./chunk-LKFVVN7R.js";
246
250
  import {
247
251
  getObjectiveStateStoreStatus
248
252
  } from "./chunk-HM7RHKS4.js";
249
253
  import {
250
254
  searchHarmonicRetrieval
251
- } from "./chunk-6PRY6CLC.js";
255
+ } from "./chunk-IOPIGX7Y.js";
252
256
  import {
253
257
  listNamespaces,
254
258
  runNamespaceMigration,
255
259
  verifyNamespaces
256
- } from "./chunk-CBFYCDYO.js";
260
+ } from "./chunk-KY236SP5.js";
257
261
  import {
258
262
  getCueAnchorStoreStatus
259
263
  } from "./chunk-BMWN7B3Y.js";
@@ -262,7 +266,7 @@ import {
262
266
  readMemoryGovernanceRunArtifact,
263
267
  restoreMemoryGovernanceRun,
264
268
  runMemoryGovernance
265
- } from "./chunk-T32B72QX.js";
269
+ } from "./chunk-2SKMZUOW.js";
266
270
  import {
267
271
  analyzeGraphHealth
268
272
  } from "./chunk-5FAGCOZD.js";
@@ -271,7 +275,7 @@ import {
271
275
  } from "./chunk-3UXOZBHV.js";
272
276
  import {
273
277
  meetingIdDate
274
- } from "./chunk-7S53BPTU.js";
278
+ } from "./chunk-MVG3KXON.js";
275
279
  import {
276
280
  isValidTranscriptDate
277
281
  } from "./chunk-UHVXE24Y.js";
@@ -282,7 +286,7 @@ import {
282
286
  import {
283
287
  RECALL_DISCLOSURE_LEVELS,
284
288
  isRecallDisclosure
285
- } from "./chunk-IYKZJVL5.js";
289
+ } from "./chunk-MDIEES23.js";
286
290
  import {
287
291
  normalizeProjectionPreview
288
292
  } from "./chunk-SCU65EZI.js";
@@ -393,9 +397,9 @@ import {
393
397
  } from "./chunk-3WCASNQZ.js";
394
398
 
395
399
  // src/cli.ts
396
- import path8 from "path";
400
+ import path7 from "path";
397
401
  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";
402
+ import { createHash as createHash2 } from "crypto";
399
403
 
400
404
  // src/wearables/registry.ts
401
405
  var registrations = /* @__PURE__ */ new Map();
@@ -2082,215 +2086,122 @@ function registerCreationLedgerCommands(cmd, orchestrator) {
2082
2086
  }
2083
2087
 
2084
2088
  // src/activity/timeline/publish-cli.ts
2085
- import { existsSync, readFileSync as readFileSync4 } from "fs";
2089
+ import { existsSync, readFileSync as readFileSync3 } from "fs";
2086
2090
 
2087
2091
  // 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
2092
  import { createHash, randomBytes } from "crypto";
2094
- import { readFileSync as readFileSync2, renameSync, statSync as statSync2, unlinkSync as unlinkSync2, writeFileSync } from "fs";
2093
+ import { chmodSync, chownSync, lstatSync, mkdirSync, readFileSync as readFileSync2, realpathSync, renameSync, statSync as statSync2, unlinkSync as unlinkSync2, writeFileSync } from "fs";
2095
2094
  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
- }
2095
+
2096
+ // src/activity/vault-frontmatter.ts
2097
+ function assertNoNewlineKey(key) {
2098
+ if (key.includes("\n") || key.includes("\r")) {
2099
+ throw new RangeError("Vault frontmatter keys must not contain newlines.");
2112
2100
  }
2113
- if (startRow === void 0 || endRow === void 0) {
2114
- return { ok: false, reason: "no_marker", text: fileText };
2101
+ }
2102
+ function applyVaultFrontmatter(existingYaml, updates) {
2103
+ const entries = Object.entries(updates);
2104
+ if (entries.length === 0) return existingYaml;
2105
+ const merged = /* @__PURE__ */ new Map();
2106
+ for (const line of existingYaml.split("\n")) {
2107
+ const idx = line.indexOf(":");
2108
+ if (idx === -1) continue;
2109
+ const key = line.slice(0, idx).trim();
2110
+ if (key.length === 0) continue;
2111
+ assertNoNewlineKey(key);
2112
+ merged.set(key, line.slice(idx + 1).trim());
2115
2113
  }
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
- };
2114
+ for (const [key, value] of entries) {
2115
+ assertNoNewlineKey(key);
2116
+ merged.set(key, value);
2117
+ }
2118
+ return [...merged.keys()].sort((a, b) => a < b ? -1 : a > b ? 1 : 0).map((key) => `${key}: ${merged.get(key)}`).join("\n");
2121
2119
  }
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
- }
2120
+ var VAULT_PROPERTY_KEY_MAX_CHARS = 64;
2121
+ var VAULT_PROPERTY_SCALAR_MAX_CHARS = 200;
2122
+ var VAULT_PROPERTY_LIST_MAX_ITEMS = 20;
2123
+ var VAULT_PROPERTY_TOTAL_MAX_CHARS = 2e3;
2124
+ var CONTROL_RE = /[\u0000-\u001f\u007f-\u009f]/;
2125
+ var INDICATOR_CHARS = ",[]{}#&*!|>'\"%@`";
2126
+ var INJECTION_RE = /: | #/;
2127
+ var FLOW_ITEM_DELIM_RE = /[[\]{},]/;
2128
+ function renderVaultPropertyValue(value) {
2129
+ return typeof value === "string" ? value : `[${value.join(", ")}]`;
2130
+ }
2131
+ function hasLeadingYamlIndicator(text) {
2132
+ const first = text[0];
2133
+ if (first === void 0) return false;
2134
+ return INDICATOR_CHARS.includes(first) || "-?:".includes(first) && text[1] === " ";
2135
+ }
2136
+ function validateScalar(value, label) {
2137
+ if (value.length === 0) {
2138
+ return { ok: false, reason: `${label} must not be empty` };
2132
2139
  }
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 };
2140
+ if (value.length > VAULT_PROPERTY_SCALAR_MAX_CHARS) {
2141
+ return { ok: false, reason: `${label} exceeds ${VAULT_PROPERTY_SCALAR_MAX_CHARS} characters` };
2136
2142
  }
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
- }
2143
+ if (CONTROL_RE.test(value)) {
2144
+ return { ok: false, reason: `${label} must not contain control characters or line breaks` };
2146
2145
  }
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;
2146
+ if (value !== value.trim()) {
2147
+ return { ok: false, reason: `${label} must not carry leading or trailing whitespace` };
2148
+ }
2149
+ if (hasLeadingYamlIndicator(value)) {
2150
+ return { ok: false, reason: `${label} must be a plain scalar (leading "${value[0]}" changes its YAML shape)` };
2162
2151
  }
2163
- return out + content.slice(cursor);
2152
+ if (INJECTION_RE.test(value)) {
2153
+ return { ok: false, reason: `${label} must not contain ": " or " #"` };
2154
+ }
2155
+ if (value.endsWith(":")) {
2156
+ return { ok: false, reason: `${label} must not end with ":"` };
2157
+ }
2158
+ return { ok: true };
2164
2159
  }
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;
2160
+ function validateVaultProperties(entries) {
2161
+ let total = 0;
2162
+ for (const { key, value } of entries) {
2163
+ if (key.length === 0) {
2164
+ return { ok: false, reason: "property keys must not be empty" };
2165
+ }
2166
+ if (key.length > VAULT_PROPERTY_KEY_MAX_CHARS) {
2167
+ return { ok: false, reason: `property key exceeds ${VAULT_PROPERTY_KEY_MAX_CHARS} characters` };
2168
+ }
2169
+ if (CONTROL_RE.test(key) || key !== key.trim() || key.includes(":") || key.includes("#") || hasLeadingYamlIndicator(key)) {
2170
+ return { ok: false, reason: `property key ${JSON.stringify(key)} is not a plain mapping key` };
2171
+ }
2172
+ if (typeof value === "string") {
2173
+ const scalar = validateScalar(value, `property ${key}`);
2174
+ if (!scalar.ok) return scalar;
2193
2175
  } else {
2194
- fenced = true;
2195
- if (run !== null && run.char === fence.char && run.len >= fence.len && run.info.length === 0) {
2196
- fence = null;
2176
+ if (!Array.isArray(value) || value.length === 0) {
2177
+ return { ok: false, reason: `property ${key} must be a scalar string or a non-empty list of scalar strings` };
2178
+ }
2179
+ if (value.length > VAULT_PROPERTY_LIST_MAX_ITEMS) {
2180
+ return { ok: false, reason: `property ${key} exceeds ${VAULT_PROPERTY_LIST_MAX_ITEMS} list items` };
2181
+ }
2182
+ for (const item of value) {
2183
+ if (typeof item !== "string") {
2184
+ return { ok: false, reason: `property ${key} must be a scalar string or a list of scalar strings` };
2185
+ }
2186
+ const scalar = validateScalar(item, `property ${key} list item`);
2187
+ if (!scalar.ok) return scalar;
2188
+ if (FLOW_ITEM_DELIM_RE.test(item)) {
2189
+ return {
2190
+ ok: false,
2191
+ reason: `property ${key} list item must not contain flow delimiters "[", "]", "{", "}", or ","`
2192
+ };
2193
+ }
2197
2194
  }
2198
2195
  }
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 {
2196
+ total += key.length + 2 + renderVaultPropertyValue(value).length;
2197
+ if (total > VAULT_PROPERTY_TOTAL_MAX_CHARS) {
2198
+ return {
2199
+ ok: false,
2200
+ reason: `frontmatter properties exceed the ${VAULT_PROPERTY_TOTAL_MAX_CHARS}-character total`
2201
+ };
2290
2202
  }
2291
- throw renameErr;
2292
2203
  }
2293
- return { ok: true, status: "updated" };
2204
+ return { ok: true };
2294
2205
  }
2295
2206
 
2296
2207
  // src/activity/vault-insert.ts
@@ -2420,6 +2331,32 @@ function publishVaultNote(input) {
2420
2331
  throw new RangeError(`Section name ${JSON.stringify(section.name)} is not a valid region name.`);
2421
2332
  }
2422
2333
  }
2334
+ const headingsToProbe = strategy === "heading" ? input.sections.map((section) => section.name) : [];
2335
+ if (typeof input.insertUnderHeading === "string" && input.insertUnderHeading.length > 0) {
2336
+ headingsToProbe.push(input.insertUnderHeading);
2337
+ }
2338
+ for (const headingName of headingsToProbe) {
2339
+ if (!headingSurvivesRoundTrip(headingName)) {
2340
+ throw new RangeError(
2341
+ `Section name ${JSON.stringify(headingName)} is not matchable by the heading parser; it must survive a render-and-parse round trip.`
2342
+ );
2343
+ }
2344
+ }
2345
+ const propertyEntries = [];
2346
+ for (const section of input.sections) {
2347
+ if (!section.properties) continue;
2348
+ for (const key of Object.keys(section.properties)) {
2349
+ const value = section.properties[key];
2350
+ if (value === void 0) continue;
2351
+ propertyEntries.push({ key: `${prefix}${key}`, value });
2352
+ }
2353
+ }
2354
+ if (propertyEntries.length > 0) {
2355
+ const checked = validateVaultProperties(propertyEntries);
2356
+ if (!checked.ok) {
2357
+ throw new RangeError(`Vault publish properties rejected: ${checked.reason}.`);
2358
+ }
2359
+ }
2423
2360
  const relative = resolveVaultNotePath(input.notePathTemplate, input.date);
2424
2361
  const result = publishRelative(input, relative, { strategy, propertiesMode, prefix });
2425
2362
  return summarizeVaultPublish(result);
@@ -2432,10 +2369,10 @@ function publishRelative(input, relative, opts) {
2432
2369
  } catch {
2433
2370
  return refuse(relative, "error", "not_directory");
2434
2371
  }
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)) {
2372
+ const root = path4.resolve(vault);
2373
+ const dest = path4.resolve(root, relative);
2374
+ const lexical = path4.relative(root, dest);
2375
+ if (lexical.length === 0 || lexical === ".." || lexical.startsWith(`..${path4.sep}`) || path4.isAbsolute(lexical)) {
2439
2376
  return refuse(relative, "error", "path_escape");
2440
2377
  }
2441
2378
  if (!containedBySymlinks(root, dest)) {
@@ -2447,14 +2384,14 @@ function publishRelative(input, relative, opts) {
2447
2384
  if (lstatSync(dest).isSymbolicLink()) {
2448
2385
  return refuse(relative, "error", "symlinked_note");
2449
2386
  }
2450
- const st = statSync3(dest);
2387
+ const st = statSync2(dest);
2451
2388
  if (st.isFile()) {
2452
- currentText = readFileSync3(dest, "utf8");
2389
+ currentText = readFileSync2(dest, "utf8");
2453
2390
  expected = {
2454
2391
  ino: st.ino,
2455
2392
  mtimeMs: st.mtimeMs,
2456
2393
  size: st.size,
2457
- sha256: createHash2("sha256").update(currentText, "utf8").digest("hex")
2394
+ sha256: createHash("sha256").update(currentText, "utf8").digest("hex")
2458
2395
  };
2459
2396
  } else return refuse(relative, "error", "not_a_file");
2460
2397
  } catch (err) {
@@ -2463,13 +2400,13 @@ function publishRelative(input, relative, opts) {
2463
2400
  let created = false;
2464
2401
  if (currentText === null) {
2465
2402
  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)) {
2403
+ const templatePath = path4.resolve(root, input.noteTemplate);
2404
+ const templateRel = path4.relative(root, templatePath);
2405
+ if (templateRel === ".." || templateRel.startsWith(`..${path4.sep}`) || path4.isAbsolute(templateRel) || templateRel.length === 0 || !containedBySymlinks(root, templatePath)) {
2469
2406
  return refuse(relative, "error", "template_escape");
2470
2407
  }
2471
2408
  try {
2472
- const templateText = readFileSync3(templatePath, "utf8");
2409
+ const templateText = readFileSync2(templatePath, "utf8");
2473
2410
  currentText = expandVaultTemplateTokens(templateText, input.date);
2474
2411
  if (!currentText.endsWith("\n")) currentText += "\n";
2475
2412
  created = true;
@@ -2516,8 +2453,8 @@ function publishRelative(input, relative, opts) {
2516
2453
  text = merged.text;
2517
2454
  }
2518
2455
  }
2519
- const prevHash = createHash2("sha256").update(original, "utf8").digest("hex");
2520
- const nextHash = createHash2("sha256").update(text, "utf8").digest("hex");
2456
+ const prevHash = createHash("sha256").update(original, "utf8").digest("hex");
2457
+ const nextHash = createHash("sha256").update(text, "utf8").digest("hex");
2521
2458
  if (prevHash === nextHash) {
2522
2459
  return withSkipped([{ path: relative, outcome: "unchanged" }]);
2523
2460
  }
@@ -2526,7 +2463,7 @@ function publishRelative(input, relative, opts) {
2526
2463
  }
2527
2464
  if (created) {
2528
2465
  try {
2529
- mkdirSync(path5.dirname(dest), { recursive: true });
2466
+ mkdirSync(path4.dirname(dest), { recursive: true });
2530
2467
  } catch {
2531
2468
  return refuse(relative, "error", "mkdir_failed");
2532
2469
  }
@@ -2547,7 +2484,7 @@ function decorate(section, prefixed, mode) {
2547
2484
  const parts = [section.content];
2548
2485
  if (prefixed !== void 0 && mode === "dataview-inline") {
2549
2486
  for (const [key, value] of Object.entries(prefixed)) {
2550
- parts.push(`${key}:: ${value}`);
2487
+ parts.push(`${key}:: ${renderVaultPropertyValue(value)}`);
2551
2488
  }
2552
2489
  }
2553
2490
  if (section.provenance !== void 0) {
@@ -2641,17 +2578,21 @@ function frontmatterUpdates(sections, prefix) {
2641
2578
  function mergeFrontmatterKeys(noteText, updates) {
2642
2579
  const entries = Object.entries(updates);
2643
2580
  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
- }
2581
+ const checked = validateVaultProperties(entries.map(([key, value]) => ({ key, value })));
2582
+ if (!checked.ok) {
2583
+ return { ok: false, reason: "invalid_property" };
2648
2584
  }
2649
2585
  const eol = noteText.includes("\r\n") ? "\r\n" : "\n";
2650
2586
  const openRe = /^---\r?$/;
2651
2587
  const firstLineEnd = noteText.indexOf("\n");
2652
2588
  const firstLine = firstLineEnd === -1 ? noteText : noteText.slice(0, firstLineEnd);
2653
2589
  if (!openRe.test(firstLine)) {
2654
- const block = ["---", ...entries.map(([key, value]) => `${key}: ${value}`), "---", ""].join(eol);
2590
+ const block = [
2591
+ "---",
2592
+ ...entries.map(([key, value]) => `${key}: ${renderVaultPropertyValue(value)}`),
2593
+ "---",
2594
+ ""
2595
+ ].join(eol);
2655
2596
  return { ok: true, text: block + eol + noteText };
2656
2597
  }
2657
2598
  const lines = noteText.split(eol);
@@ -2674,13 +2615,13 @@ function mergeFrontmatterKeys(noteText, updates) {
2674
2615
  if (rawKey !== rawKey.trimStart()) continue;
2675
2616
  const key = rawKey.trimEnd();
2676
2617
  if (!pending.has(key)) continue;
2677
- lines[i] = `${rawKey}: ${pending.get(key)}`;
2618
+ lines[i] = `${rawKey}: ${renderVaultPropertyValue(pending.get(key))}`;
2678
2619
  pending.delete(key);
2679
2620
  }
2680
2621
  const insertAt = closeIdx;
2681
2622
  const added = [];
2682
2623
  for (const [key, value] of pending.entries()) {
2683
- added.push(`${key}: ${value}`);
2624
+ added.push(`${key}: ${renderVaultPropertyValue(value)}`);
2684
2625
  }
2685
2626
  lines.splice(insertAt, 0, ...added);
2686
2627
  return { ok: true, text: lines.join(eol) };
@@ -2690,13 +2631,13 @@ function containedBySymlinks(root, dest) {
2690
2631
  let probe = dest;
2691
2632
  for (; ; ) {
2692
2633
  try {
2693
- if (lstatSync(probe).isSymbolicLink() || statSync3(probe).isFile() || statSync3(probe).isDirectory()) {
2634
+ if (lstatSync(probe).isSymbolicLink() || statSync2(probe).isFile() || statSync2(probe).isDirectory()) {
2694
2635
  const real = realpathSync(probe);
2695
- return real === realRoot || real.startsWith(`${realRoot}${path5.sep}`);
2636
+ return real === realRoot || real.startsWith(`${realRoot}${path4.sep}`);
2696
2637
  }
2697
2638
  } catch {
2698
2639
  }
2699
- const parent = path5.dirname(probe);
2640
+ const parent = path4.dirname(probe);
2700
2641
  if (parent === probe) return false;
2701
2642
  probe = parent;
2702
2643
  }
@@ -2706,11 +2647,11 @@ function setVaultPublisherTestHooks(hooks) {
2706
2647
  vaultPublisherTestHooks = hooks;
2707
2648
  }
2708
2649
  function writeAtomic(dest, text, expect) {
2709
- const tmpPath = path5.join(path5.dirname(dest), `.remnic-vault-${randomBytes2(8).toString("hex")}.tmp`);
2710
- writeFileSync2(tmpPath, text);
2650
+ const tmpPath = path4.join(path4.dirname(dest), `.remnic-vault-${randomBytes(8).toString("hex")}.tmp`);
2651
+ writeFileSync(tmpPath, text);
2711
2652
  let prev = null;
2712
2653
  try {
2713
- prev = statSync3(dest);
2654
+ prev = statSync2(dest);
2714
2655
  } catch {
2715
2656
  prev = null;
2716
2657
  }
@@ -2724,30 +2665,30 @@ function writeAtomic(dest, text, expect) {
2724
2665
  vaultPublisherTestHooks?.beforeReplaceVerify?.(dest);
2725
2666
  try {
2726
2667
  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;
2668
+ prev.ino !== expect.ino || prev.mtimeMs !== expect.mtimeMs || prev.size !== expect.size || createHash("sha256").update(readFileSync2(dest, "utf8"), "utf8").digest("hex") !== expect.sha256;
2728
2669
  if (concurrent) {
2729
2670
  try {
2730
- unlinkSync3(tmpPath);
2671
+ unlinkSync2(tmpPath);
2731
2672
  } catch {
2732
2673
  }
2733
2674
  return "concurrent";
2734
2675
  }
2735
2676
  } catch {
2736
2677
  try {
2737
- unlinkSync3(tmpPath);
2678
+ unlinkSync2(tmpPath);
2738
2679
  } catch {
2739
2680
  }
2740
2681
  return "concurrent";
2741
2682
  }
2742
2683
  for (let attempt = 0; attempt < 2; attempt += 1) {
2743
2684
  try {
2744
- renameSync2(tmpPath, dest);
2685
+ renameSync(tmpPath, dest);
2745
2686
  return "written";
2746
2687
  } catch (err) {
2747
2688
  const code = err.code;
2748
2689
  if (attempt === 1 || code !== "EBUSY" && code !== "EPERM") {
2749
2690
  try {
2750
- unlinkSync3(tmpPath);
2691
+ unlinkSync2(tmpPath);
2751
2692
  } catch {
2752
2693
  }
2753
2694
  if (code === "EBUSY" || code === "EPERM") return "failed";
@@ -2778,6 +2719,11 @@ function runTimelinePublishCli(config, options, io) {
2778
2719
  );
2779
2720
  return 1;
2780
2721
  }
2722
+ if (options.date !== void 0 && (typeof options.date !== "string" || options.date.length === 0)) {
2723
+ io.stderr.write(`Invalid --date ${JSON.stringify(options.date ?? "")}; expected YYYY-MM-DD.
2724
+ `);
2725
+ return 1;
2726
+ }
2781
2727
  const date = typeof options.date === "string" && options.date.length > 0 ? options.date : activityDateInTimezone(/* @__PURE__ */ new Date(), config.activity?.timezone ?? "UTC");
2782
2728
  if (!isValidActivityDate(date)) {
2783
2729
  io.stderr.write(`Invalid --date "${date}"; expected YYYY-MM-DD.
@@ -2813,7 +2759,7 @@ function runTimelinePublishCli(config, options, io) {
2813
2759
  );
2814
2760
  return 1;
2815
2761
  }
2816
- sections.push({ name: target.section, content: readFileSync4(source, "utf8").trimEnd() });
2762
+ sections.push({ name: target.section, content: readFileSync3(source, "utf8").trimEnd() });
2817
2763
  }
2818
2764
  const status = publishVaultNote({
2819
2765
  vaultPath: vault.vaultPath,
@@ -2861,6 +2807,11 @@ function parseKinds(raw) {
2861
2807
  function registerTimelineCommands(cmd, orchestrator) {
2862
2808
  const timelineCmd = cmd.command("timeline").description("Timeline artifacts: publish the day's recap into a markdown vault (issue #1985)");
2863
2809
  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) => {
2810
+ if (args.some((arg) => typeof arg === "string")) {
2811
+ process.stderr.write("timeline publish takes no positional arguments.\n");
2812
+ process.exitCode = 1;
2813
+ return;
2814
+ }
2864
2815
  const options = args[0] ?? {};
2865
2816
  const code = runTimelinePublishCli(orchestrator.config, options, {
2866
2817
  stdout: process.stdout,
@@ -2871,10 +2822,10 @@ function registerTimelineCommands(cmd, orchestrator) {
2871
2822
  }
2872
2823
 
2873
2824
  // src/maintenance/rebuild-memory-lifecycle-ledger-cli.ts
2874
- import path6 from "path";
2825
+ import path5 from "path";
2875
2826
  async function runRebuildMemoryLifecycleLedgerCliCommand(options) {
2876
2827
  const storage = options.storage;
2877
- const ledgerPath = path6.join(options.memoryDir, "state", "memory-lifecycle-ledger.jsonl");
2828
+ const ledgerPath = path5.join(options.memoryDir, "state", "memory-lifecycle-ledger.jsonl");
2878
2829
  const encrypted = await probeEncryptedRegularFileHeader(ledgerPath);
2879
2830
  if (encrypted && !(storage?.isSecureStoreUnlocked() ?? false)) {
2880
2831
  throw new Error(
@@ -3372,7 +3323,7 @@ assistant> ${result.reply}
3372
3323
  // src/training-export/converter.ts
3373
3324
  import { constants } from "fs";
3374
3325
  import { lstat as lstat2, open, readdir as readdir2, realpath as realpath2 } from "fs/promises";
3375
- import path7 from "path";
3326
+ import path6 from "path";
3376
3327
  function parseFrontmatter(raw) {
3377
3328
  const match = raw.match(/^---\n([\s\S]*?)\n---\n?([\s\S]*)$/);
3378
3329
  if (!match) return null;
@@ -3412,7 +3363,7 @@ async function safeRealpath(p) {
3412
3363
  }
3413
3364
  }
3414
3365
  function isContainedPath(real, containmentRoot) {
3415
- return real === containmentRoot || real.startsWith(containmentRoot + path7.sep);
3366
+ return real === containmentRoot || real.startsWith(containmentRoot + path6.sep);
3416
3367
  }
3417
3368
  async function collectMarkdownFiles(dir, containmentRoot) {
3418
3369
  const files = [];
@@ -3432,7 +3383,7 @@ async function collectMarkdownFiles(dir, containmentRoot) {
3432
3383
  }
3433
3384
  const sorted = [...entries].sort((a, b) => a.name.localeCompare(b.name));
3434
3385
  for (const entry of sorted) {
3435
- const full = path7.join(d, entry.name);
3386
+ const full = path6.join(d, entry.name);
3436
3387
  if (entry.isSymbolicLink()) continue;
3437
3388
  if (entry.isDirectory()) {
3438
3389
  await walk(full);
@@ -3514,9 +3465,9 @@ async function convertMemoriesToRecords(options) {
3514
3465
  const { memoryDir } = options;
3515
3466
  const containmentRoot = await safeRealpath(memoryDir);
3516
3467
  if (!containmentRoot) return [];
3517
- const dirs = RECALL_FALLBACK_DIRS.map((dir) => path7.join(memoryDir, dir));
3468
+ const dirs = RECALL_FALLBACK_DIRS.map((dir) => path6.join(memoryDir, dir));
3518
3469
  if (options.includeEntities) {
3519
- dirs.push(path7.join(memoryDir, "entities"));
3470
+ dirs.push(path6.join(memoryDir, "entities"));
3520
3471
  }
3521
3472
  const allFiles = [];
3522
3473
  for (const dir of dirs) {
@@ -3779,14 +3730,14 @@ async function runTrainingExportCliCommand(opts) {
3779
3730
  `Unknown training-export format "${opts.format}". ${validList}`
3780
3731
  );
3781
3732
  }
3782
- const { statSync: statSync4, existsSync: existsSync2 } = await import("fs");
3733
+ const { statSync: statSync3, existsSync: existsSync2 } = await import("fs");
3783
3734
  if (!existsSync2(expandedMemoryDir)) {
3784
3735
  throw new Error(
3785
3736
  `--memory-dir "${opts.memoryDir}" does not exist. Provide the path to an existing memory directory.`
3786
3737
  );
3787
3738
  }
3788
3739
  try {
3789
- if (!statSync4(expandedMemoryDir).isDirectory()) {
3740
+ if (!statSync3(expandedMemoryDir).isDirectory()) {
3790
3741
  throw new Error(
3791
3742
  `--memory-dir "${opts.memoryDir}" is not a directory. Provide the path to a memory directory, not a file.`
3792
3743
  );
@@ -4521,10 +4472,10 @@ function effectivePolicyValuesForVersion(values, config) {
4521
4472
  }
4522
4473
  function policyVersionForValues(values, config) {
4523
4474
  const normalized = effectivePolicyValuesForVersion(values, config);
4524
- return createHash3("sha256").update(JSON.stringify(normalized)).digest("hex").slice(0, 12);
4475
+ return createHash2("sha256").update(JSON.stringify(normalized)).digest("hex").slice(0, 12);
4525
4476
  }
4526
4477
  async function readRuntimePolicySnapshot2(config, fileName) {
4527
- const filePath = path8.join(config.memoryDir, "state", fileName);
4478
+ const filePath = path7.join(config.memoryDir, "state", fileName);
4528
4479
  const snapshot = await readRuntimePolicySnapshot(filePath, {
4529
4480
  maxStaleDecayThreshold: config.lifecycleArchiveDecayThreshold
4530
4481
  });
@@ -5301,7 +5252,7 @@ async function exists(p) {
5301
5252
  }
5302
5253
  }
5303
5254
  function assertSafeNamespaceSegment(namespace) {
5304
- if (namespace.length === 0 || namespace === "." || namespace === ".." || namespace.includes("/") || namespace.includes("\\") || path8.isAbsolute(namespace) || path8.win32.isAbsolute(namespace)) {
5255
+ if (namespace.length === 0 || namespace === "." || namespace === ".." || namespace.includes("/") || namespace.includes("\\") || path7.isAbsolute(namespace) || path7.win32.isAbsolute(namespace)) {
5305
5256
  throw new Error(`invalid namespace: ${namespace}`);
5306
5257
  }
5307
5258
  }
@@ -5351,7 +5302,7 @@ async function walkMemoryMarkdownFiles(memoryDir, visit) {
5351
5302
  for (const entry of entries) {
5352
5303
  if (entry.isSymbolicLink()) continue;
5353
5304
  const entryName = typeof entry.name === "string" ? entry.name : entry.name.toString("utf-8");
5354
- const fullPath = path8.join(dir, entryName);
5305
+ const fullPath = path7.join(dir, entryName);
5355
5306
  try {
5356
5307
  assertPathInsideRoot(memoryRootReal, await realpath3(fullPath), fullPath);
5357
5308
  } catch (err) {
@@ -5366,7 +5317,7 @@ async function walkMemoryMarkdownFiles(memoryDir, visit) {
5366
5317
  await visit(fullPath);
5367
5318
  }
5368
5319
  };
5369
- for (const root of RECALL_FALLBACK_DIRS.map((dir) => path8.join(memoryDir, dir))) {
5320
+ for (const root of RECALL_FALLBACK_DIRS.map((dir) => path7.join(memoryDir, dir))) {
5370
5321
  await walk(root);
5371
5322
  }
5372
5323
  }
@@ -5976,7 +5927,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
5976
5927
  if (plan.moved.length > 0) {
5977
5928
  console.log("\nEntries:");
5978
5929
  for (const move of plan.moved) {
5979
- console.log(`- ${path8.basename(move.from)}`);
5930
+ console.log(`- ${path7.basename(move.from)}`);
5980
5931
  }
5981
5932
  }
5982
5933
  if (dryRun) {
@@ -6277,15 +6228,15 @@ function registerCli(api, orchestrator, registerOptions = {}) {
6277
6228
  const capsulesDir = defaultCapsulesDir(memoryDir);
6278
6229
  const { stat: statMerge } = await import("fs/promises");
6279
6230
  let sourceArchive = expandTildePath(parsed.archive);
6280
- const looksLikePath = sourceArchive.startsWith("/") || sourceArchive.startsWith("./") || sourceArchive.startsWith("../") || sourceArchive.includes(path8.sep);
6231
+ const looksLikePath = sourceArchive.startsWith("/") || sourceArchive.startsWith("./") || sourceArchive.startsWith("../") || sourceArchive.includes(path7.sep);
6281
6232
  if (!looksLikePath) {
6282
- const cwdResolved = path8.resolve(sourceArchive);
6233
+ const cwdResolved = path7.resolve(sourceArchive);
6283
6234
  const cwdSt = await statMerge(cwdResolved).catch(() => null);
6284
6235
  if (cwdSt && cwdSt.isFile()) {
6285
6236
  sourceArchive = cwdResolved;
6286
6237
  } else {
6287
- const byId = path8.join(capsulesDir, `${sourceArchive}.capsule.json.gz`);
6288
- const byIdEnc = path8.join(capsulesDir, `${sourceArchive}.capsule.json.gz.enc`);
6238
+ const byId = path7.join(capsulesDir, `${sourceArchive}.capsule.json.gz`);
6239
+ const byIdEnc = path7.join(capsulesDir, `${sourceArchive}.capsule.json.gz.enc`);
6289
6240
  const stId = await statMerge(byId).catch(() => null);
6290
6241
  if (stId && stId.isFile()) {
6291
6242
  sourceArchive = byId;
@@ -6366,10 +6317,10 @@ function registerCli(api, orchestrator, registerOptions = {}) {
6366
6317
  ).sort();
6367
6318
  const entries = [];
6368
6319
  for (const archiveName of archives) {
6369
- const archivePath = path8.join(capsulesDir, archiveName);
6320
+ const archivePath = path7.join(capsulesDir, archiveName);
6370
6321
  const id = archiveName.replace(/\.capsule\.json\.gz\.enc$/, "").replace(/\.capsule\.json\.gz$/, "");
6371
6322
  const manifestName = `${id}.manifest.json`;
6372
- const manifestPath = path8.join(capsulesDir, manifestName);
6323
+ const manifestPath = path7.join(capsulesDir, manifestName);
6373
6324
  let createdAt = null;
6374
6325
  let pluginVersion = null;
6375
6326
  let fileCount = null;
@@ -6424,15 +6375,15 @@ function registerCli(api, orchestrator, registerOptions = {}) {
6424
6375
  const parsed = parseCapsuleInspectOptions(archiveArg, opts);
6425
6376
  const { stat } = await import("fs/promises");
6426
6377
  let archivePath = expandTildePath(parsed.archive);
6427
- const looksLikePath = archivePath.startsWith("/") || archivePath.startsWith("./") || archivePath.startsWith("../") || archivePath.includes(path8.sep);
6378
+ const looksLikePath = archivePath.startsWith("/") || archivePath.startsWith("./") || archivePath.startsWith("../") || archivePath.includes(path7.sep);
6428
6379
  if (!looksLikePath) {
6429
- const cwdResolved = path8.resolve(archivePath);
6380
+ const cwdResolved = path7.resolve(archivePath);
6430
6381
  const cwdSt = await stat(cwdResolved).catch(() => null);
6431
6382
  if (cwdSt && cwdSt.isFile()) {
6432
6383
  archivePath = cwdResolved;
6433
6384
  } else {
6434
- const byId = path8.join(capsulesDir, `${archivePath}.capsule.json.gz`);
6435
- const byIdEnc = path8.join(capsulesDir, `${archivePath}.capsule.json.gz.enc`);
6385
+ const byId = path7.join(capsulesDir, `${archivePath}.capsule.json.gz`);
6386
+ const byIdEnc = path7.join(capsulesDir, `${archivePath}.capsule.json.gz.enc`);
6436
6387
  const st = await stat(byId).catch(() => null);
6437
6388
  if (st && st.isFile()) {
6438
6389
  archivePath = byId;
@@ -8425,7 +8376,7 @@ Semantic consolidation complete. clusters=${result.clustersFound}, consolidated=
8425
8376
  return;
8426
8377
  }
8427
8378
  const expandedTarget = expandTildePath(rawTarget);
8428
- const targetPath = path8.isAbsolute(expandedTarget) ? expandedTarget : path8.join(orchestrator.config.memoryDir, expandedTarget);
8379
+ const targetPath = path7.isAbsolute(expandedTarget) ? expandedTarget : path7.join(orchestrator.config.memoryDir, expandedTarget);
8429
8380
  const { runConsolidationUndo, formatConsolidationUndoResult } = await import("./consolidation-undo.js");
8430
8381
  const result = await runConsolidationUndo({
8431
8382
  storage: orchestrator.storage,
@@ -8463,7 +8414,7 @@ Semantic consolidation complete. clusters=${result.clustersFound}, consolidated=
8463
8414
  }
8464
8415
  });
8465
8416
  cmd.command("identity").description("Show agent identity reflections").action(async () => {
8466
- const workspaceDir = path8.join(resolveHomeDir(), ".openclaw", "workspace");
8417
+ const workspaceDir = path7.join(resolveHomeDir(), ".openclaw", "workspace");
8467
8418
  const identity = await orchestrator.storage.readIdentity(workspaceDir);
8468
8419
  if (!identity) {
8469
8420
  console.log("No identity file found.");
@@ -8686,8 +8637,8 @@ Semantic consolidation complete. clusters=${result.clustersFound}, consolidated=
8686
8637
  const options = args[0] ?? {};
8687
8638
  const threadId = options.thread;
8688
8639
  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"));
8640
+ const memoryDir = path7.join(resolveHomeDir(), ".openclaw", "workspace", "memory", "local");
8641
+ const threading = new ThreadingManager(path7.join(memoryDir, "threads"));
8691
8642
  if (threadId) {
8692
8643
  const thread = await threading.loadThread(threadId);
8693
8644
  if (!thread) {
@@ -9621,10 +9572,13 @@ export {
9621
9572
  runMeetingsCliCommand,
9622
9573
  runOkfCliCommand,
9623
9574
  runHarmonicSearchCliCommand,
9624
- applyManagedRegion,
9625
- fileLines,
9626
- parseAtxHeading,
9627
- publishVaultRegion,
9575
+ applyVaultFrontmatter,
9576
+ VAULT_PROPERTY_KEY_MAX_CHARS,
9577
+ VAULT_PROPERTY_SCALAR_MAX_CHARS,
9578
+ VAULT_PROPERTY_LIST_MAX_ITEMS,
9579
+ VAULT_PROPERTY_TOTAL_MAX_CHARS,
9580
+ renderVaultPropertyValue,
9581
+ validateVaultProperties,
9628
9582
  insertMarkersUnderHeading,
9629
9583
  assertBeginEndPair,
9630
9584
  VAULT_PUBLISH_OUTCOMES,
@@ -9730,4 +9684,4 @@ export {
9730
9684
  listMemoryMarkdownFilePaths,
9731
9685
  registerCli
9732
9686
  };
9733
- //# sourceMappingURL=chunk-V6G2PSXA.js.map
9687
+ //# sourceMappingURL=chunk-DAZANIYU.js.map