@remnic/core 9.65.6 → 9.65.8

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 (623) hide show
  1. package/dist/access-admin-ops-surface.d.ts +15 -13
  2. package/dist/access-admin-ops-surface.js +54 -54
  3. package/dist/access-audit.js +2 -2
  4. package/dist/access-authorization-probe.d.ts +15 -13
  5. package/dist/access-authorization-probe.js +55 -55
  6. package/dist/access-boundary.d.ts +15 -13
  7. package/dist/access-boundary.js +54 -54
  8. package/dist/access-cli.js +156 -148
  9. package/dist/access-cli.js.map +1 -1
  10. package/dist/access-coding-context-resolution.d.ts +2 -1
  11. package/dist/access-extraction-force-flush.d.ts +15 -13
  12. package/dist/access-extraction-force-flush.js +54 -54
  13. package/dist/access-health-types.d.ts +2 -1
  14. package/dist/access-http-lcm-compaction.d.ts +15 -13
  15. package/dist/access-http-lifecycle-flush.d.ts +15 -13
  16. package/dist/access-http-offline-stream.d.ts +15 -13
  17. package/dist/access-http-query.d.ts +3 -2
  18. package/dist/access-http-query.js +56 -56
  19. package/dist/access-http.d.ts +17 -20
  20. package/dist/access-http.js +75 -73
  21. package/dist/access-identity-continuity-surface.d.ts +13 -11
  22. package/dist/access-identity-continuity-surface.js +54 -54
  23. package/dist/access-lcm-surface.d.ts +15 -13
  24. package/dist/access-lcm-surface.js +54 -54
  25. package/dist/access-mcp-output-schemas.js +1 -1
  26. package/dist/access-mcp.d.ts +15 -13
  27. package/dist/access-mcp.js +66 -64
  28. package/dist/access-memory-search-fanout.d.ts +3 -2
  29. package/dist/{access-namespace-preflight-D_6mo8ms.d.ts → access-namespace-preflight-CpAOrS-9.d.ts} +1 -1
  30. package/dist/access-namespace-preflight.d.ts +4 -3
  31. package/dist/access-namespace-preflight.js +54 -54
  32. package/dist/access-observe-write-surface.d.ts +15 -13
  33. package/dist/access-observe-write-surface.js +54 -54
  34. package/dist/access-offline-manifest.d.ts +13 -11
  35. package/dist/access-offline-manifest.js +6 -6
  36. package/dist/access-operations-batch.js +58 -58
  37. package/dist/access-operations.d.ts +21 -19
  38. package/dist/access-operations.js +63 -61
  39. package/dist/access-recall-concurrency.d.ts +15 -13
  40. package/dist/access-recall-concurrency.js +54 -54
  41. package/dist/access-recall-response.d.ts +15 -13
  42. package/dist/access-recall-response.js +54 -54
  43. package/dist/access-recall-surface.d.ts +15 -13
  44. package/dist/access-recall-surface.js +54 -54
  45. package/dist/access-schema.d.ts +83 -83
  46. package/dist/access-schema.js +3 -3
  47. package/dist/{access-service-sbiNS5UB.d.ts → access-service-Diu61Cfv.d.ts} +72 -72
  48. package/dist/access-service-helpers.d.ts +15 -13
  49. package/dist/access-service.d.ts +15 -13
  50. package/dist/access-service.js +54 -54
  51. package/dist/access-surface-catalog.d.ts +15 -13
  52. package/dist/access-surface-catalog.js +66 -56
  53. package/dist/access-surface-catalog.js.map +1 -1
  54. package/dist/access-wearables-meetings-surface.d.ts +6 -3
  55. package/dist/action-confidence.d.ts +2 -1
  56. package/dist/active-context-config.d.ts +27 -0
  57. package/dist/active-context-config.js +14 -0
  58. package/dist/active-context-transform.d.ts +267 -0
  59. package/dist/active-context-transform.js +31 -0
  60. package/dist/active-memory-bridge.d.ts +2 -1
  61. package/dist/active-recall.d.ts +2 -1
  62. package/dist/active-recall.js +13 -12
  63. package/dist/active-recall.js.map +1 -1
  64. package/dist/adapters/index.js +4 -4
  65. package/dist/adapters/registry.js +2 -2
  66. package/dist/ambient-provenance.d.ts +2 -1
  67. package/dist/artifact-search.d.ts +2 -1
  68. package/dist/{auto-sync-XVMLL2RH.js → auto-sync-2YPITIWN.js} +6 -6
  69. package/dist/behavior-learner.d.ts +2 -1
  70. package/dist/behavior-signals.d.ts +2 -1
  71. package/dist/bootstrap.d.ts +13 -11
  72. package/dist/briefing-window.d.ts +5 -2
  73. package/dist/briefing.d.ts +5 -2
  74. package/dist/briefing.js +25 -25
  75. package/dist/buffer-surprise-report.d.ts +2 -1
  76. package/dist/buffer-turn-helpers.d.ts +2 -1
  77. package/dist/buffer.d.ts +5 -2
  78. package/dist/buffer.js +6 -6
  79. package/dist/bulk-import/index.d.ts +4 -3
  80. package/dist/calibration.d.ts +2 -1
  81. package/dist/capabilities.d.ts +2 -1
  82. package/dist/{capsule-crypto-GWVG7LGC.js → capsule-crypto-7FJQINUR.js} +2 -2
  83. package/dist/{catalog-DO_7zfkv.d.ts → catalog-9f-vEQLS.d.ts} +1 -1
  84. package/dist/causal-behavior.d.ts +4 -3
  85. package/dist/causal-behavior.js +2 -2
  86. package/dist/causal-chain.js +2 -2
  87. package/dist/causal-consolidation.d.ts +2 -1
  88. package/dist/causal-consolidation.js +28 -28
  89. package/dist/causal-retrieval.js +2 -2
  90. package/dist/causal-trajectory-graph.d.ts +2 -1
  91. package/dist/causal-trajectory-graph.js +2 -2
  92. package/dist/causal-trajectory.js +1 -1
  93. package/dist/{chunk-OWHERGF2.js → chunk-2NLLXCJG.js} +2 -2
  94. package/dist/{chunk-NZPFCP5A.js → chunk-2PSX5BJU.js} +2 -2
  95. package/dist/{chunk-RKNJBZ55.js → chunk-2QSZNTDO.js} +4 -4
  96. package/dist/{chunk-X2DWBWOX.js → chunk-3A2NJP2U.js} +2 -2
  97. package/dist/chunk-3BCULS4U.js +1093 -0
  98. package/dist/chunk-3BCULS4U.js.map +1 -0
  99. package/dist/{chunk-JGG5HVI2.js → chunk-3PKAS6VL.js} +2 -2
  100. package/dist/{chunk-LSYD7GHZ.js → chunk-3SZD4CYO.js} +3 -3
  101. package/dist/chunk-43HUVDTD.js +114 -0
  102. package/dist/chunk-43HUVDTD.js.map +1 -0
  103. package/dist/{chunk-5TG4MU2U.js → chunk-4F4AQFWL.js} +8 -8
  104. package/dist/{chunk-D35XLYQ7.js → chunk-4QEYREAV.js} +12 -12
  105. package/dist/{chunk-46WM6JX2.js → chunk-4ZWCQJNM.js} +5 -5
  106. package/dist/{chunk-DVYRD4HY.js → chunk-5ACCD4L7.js} +30 -1
  107. package/dist/chunk-5ACCD4L7.js.map +1 -0
  108. package/dist/{chunk-W6J4POB6.js → chunk-5DHKCO52.js} +2 -2
  109. package/dist/{chunk-IRXMJLTW.js → chunk-5HK3CJAR.js} +2 -2
  110. package/dist/{chunk-NLUCDKLT.js → chunk-5RWZH6PH.js} +2 -2
  111. package/dist/{chunk-H7BZBSP6.js → chunk-645WOU5I.js} +4 -4
  112. package/dist/{chunk-AYAZWXJI.js → chunk-76DIF5KT.js} +2 -2
  113. package/dist/{chunk-OPPBTPUU.js → chunk-7KQB4EBS.js} +4 -4
  114. package/dist/{chunk-I2HTKOOP.js → chunk-7VZFRUQU.js} +3 -3
  115. package/dist/{chunk-DPNXADEI.js → chunk-7WOWGRAU.js} +11 -7
  116. package/dist/chunk-7WOWGRAU.js.map +1 -0
  117. package/dist/{chunk-JCWY73FK.js → chunk-AHPIFKNG.js} +2 -2
  118. package/dist/{chunk-FC7TIRFS.js → chunk-AX7UXCHJ.js} +6 -1
  119. package/dist/chunk-AX7UXCHJ.js.map +1 -0
  120. package/dist/{chunk-3I22VWB3.js → chunk-AZMLH5UT.js} +2 -2
  121. package/dist/chunk-B32WYRXX.js +77 -0
  122. package/dist/chunk-B32WYRXX.js.map +1 -0
  123. package/dist/{chunk-JOEJG4SD.js → chunk-BEC4YBNA.js} +4 -4
  124. package/dist/chunk-BWGCOLEL.js +61 -0
  125. package/dist/chunk-BWGCOLEL.js.map +1 -0
  126. package/dist/{chunk-BXXOPKT5.js → chunk-CAMNRAJF.js} +2 -2
  127. package/dist/{chunk-C24UZSFW.js → chunk-CEH2AFXG.js} +6 -6
  128. package/dist/{chunk-YOXVZJFM.js → chunk-CFVTRUR3.js} +2 -2
  129. package/dist/{chunk-SVSRPG6M.js → chunk-CPA5NBHN.js} +2 -2
  130. package/dist/{chunk-7BEPVIH3.js → chunk-CRML27CO.js} +3 -3
  131. package/dist/{chunk-AXGFOFNY.js → chunk-DA7ITC5Z.js} +2 -2
  132. package/dist/{chunk-5W7MKXMU.js → chunk-DEACDKE3.js} +144 -78
  133. package/dist/chunk-DEACDKE3.js.map +1 -0
  134. package/dist/{chunk-FEO2CDXR.js → chunk-DPCXDG7G.js} +2 -2
  135. package/dist/{chunk-HZNYJN77.js → chunk-F3NVYTTA.js} +2 -2
  136. package/dist/{chunk-7SSRXEZJ.js → chunk-F7XUD3PL.js} +2 -2
  137. package/dist/{chunk-LDBFXD4F.js → chunk-FP7YTTVO.js} +3 -1
  138. package/dist/chunk-FP7YTTVO.js.map +1 -0
  139. package/dist/{chunk-XZBXINXZ.js → chunk-GIC6BASP.js} +4 -4
  140. package/dist/{chunk-PP7R754B.js → chunk-GPFZFCRN.js} +1 -1
  141. package/dist/{chunk-53MZQEBD.js → chunk-GTO56JY5.js} +2 -2
  142. package/dist/{chunk-RAIUTAZZ.js → chunk-H2YSH3DG.js} +2 -2
  143. package/dist/{chunk-HWVNYNIV.js → chunk-HMZKGHMD.js} +2 -2
  144. package/dist/{chunk-ZXUZ54Z5.js → chunk-HRHO3ZNG.js} +2 -2
  145. package/dist/{chunk-SDEPLF7V.js → chunk-IBJ6U753.js} +2 -2
  146. package/dist/chunk-JCCWJHOP.js +240 -0
  147. package/dist/chunk-JCCWJHOP.js.map +1 -0
  148. package/dist/{chunk-T3JQTCCO.js → chunk-JI7U6AS3.js} +4 -4
  149. package/dist/{chunk-TR7DGXGI.js → chunk-JOZUBF4A.js} +5 -5
  150. package/dist/{chunk-YWBOOBDP.js → chunk-JYSN42VN.js} +71 -71
  151. package/dist/{chunk-ZPUIRTIZ.js → chunk-KOLJJN5G.js} +12 -75
  152. package/dist/chunk-KOLJJN5G.js.map +1 -0
  153. package/dist/{chunk-5W7CTZ2E.js → chunk-KQAFEZQX.js} +4 -4
  154. package/dist/{chunk-D2YNNDML.js → chunk-KWIGDKM2.js} +2 -2
  155. package/dist/{chunk-YUTTMSC7.js → chunk-KZIF6XHX.js} +93 -30
  156. package/dist/chunk-KZIF6XHX.js.map +1 -0
  157. package/dist/chunk-LB7WCZHY.js +553 -0
  158. package/dist/chunk-LB7WCZHY.js.map +1 -0
  159. package/dist/{chunk-RIAM7DND.js → chunk-LDKPDODJ.js} +2 -2
  160. package/dist/{chunk-227UFSEQ.js → chunk-LEPOP46W.js} +4 -4
  161. package/dist/{chunk-2JHRCWHT.js → chunk-LKYIOCWL.js} +107 -107
  162. package/dist/{chunk-XAWIL7TC.js → chunk-LOXHYCVS.js} +2 -2
  163. package/dist/{chunk-OMZLBT4B.js → chunk-LPNCR4QK.js} +48 -27
  164. package/dist/chunk-LPNCR4QK.js.map +1 -0
  165. package/dist/{chunk-OLBZ2WGG.js → chunk-LTBKKSCX.js} +2 -2
  166. package/dist/{chunk-O4BAGJDN.js → chunk-MDD2RINF.js} +2 -2
  167. package/dist/{chunk-H63EDPFJ.js → chunk-MI2OTWV5.js} +15 -2
  168. package/dist/{chunk-H63EDPFJ.js.map → chunk-MI2OTWV5.js.map} +1 -1
  169. package/dist/{chunk-LBFFNDFM.js → chunk-MINHJ55X.js} +1 -1
  170. package/dist/chunk-MINHJ55X.js.map +1 -0
  171. package/dist/{chunk-ROEAEANL.js → chunk-MY2BC6UE.js} +15 -15
  172. package/dist/{chunk-RACZB5HT.js → chunk-N37X5RU7.js} +4 -4
  173. package/dist/{chunk-AG46P24C.js → chunk-NNBZS3DY.js} +4 -4
  174. package/dist/{chunk-PGW64IFQ.js → chunk-NPFUNWNX.js} +2 -2
  175. package/dist/{chunk-MFOSZUIT.js → chunk-NPIBN2VL.js} +2 -2
  176. package/dist/{chunk-IF4EY26E.js → chunk-OA2O2GJ4.js} +3 -3
  177. package/dist/{chunk-6FUMA6AA.js → chunk-ODU2CNNX.js} +2 -2
  178. package/dist/{chunk-PNAGNVGK.js → chunk-OXRRJXPR.js} +42 -37
  179. package/dist/chunk-OXRRJXPR.js.map +1 -0
  180. package/dist/{chunk-TWBQQ3FT.js → chunk-P36Z4JRA.js} +2 -2
  181. package/dist/{chunk-OUKBMQ2O.js → chunk-PD66CVSD.js} +2 -2
  182. package/dist/{chunk-MVIYRRVJ.js → chunk-PMVPCZJZ.js} +5 -5
  183. package/dist/{chunk-US4IRASK.js → chunk-PU56CXZA.js} +6 -6
  184. package/dist/{chunk-IDQ6DKXC.js → chunk-S5XOSTYM.js} +3 -3
  185. package/dist/{chunk-DYO24BNB.js → chunk-SEEJOGQX.js} +5 -5
  186. package/dist/{chunk-7OZSHBWK.js → chunk-SNOIKAHM.js} +2 -2
  187. package/dist/{chunk-SR7JIRAR.js → chunk-T6ILXUAH.js} +2 -2
  188. package/dist/{chunk-2RXUZVPU.js → chunk-T7XP6IZE.js} +2 -2
  189. package/dist/{chunk-KBOG7FJV.js → chunk-TFR3HG4K.js} +3 -3
  190. package/dist/{chunk-XUZ5CIEE.js → chunk-TUHBYJXL.js} +1 -1
  191. package/dist/{chunk-7K5Q6COX.js → chunk-TVVEYCNW.js} +4 -4
  192. package/dist/{chunk-ZK4BFABK.js → chunk-U7EW2W4W.js} +13 -13
  193. package/dist/{chunk-4K7IW3F7.js → chunk-UD7UNYRD.js} +34 -3
  194. package/dist/chunk-UD7UNYRD.js.map +1 -0
  195. package/dist/{chunk-VFYRYFLL.js → chunk-UEBDCMOO.js} +2 -2
  196. package/dist/{chunk-JFWZRUKP.js → chunk-UENKPWCS.js} +4 -4
  197. package/dist/{chunk-AAXJNINV.js → chunk-UL4MKZHI.js} +2 -2
  198. package/dist/chunk-ULM7JCDH.js +154 -0
  199. package/dist/chunk-ULM7JCDH.js.map +1 -0
  200. package/dist/{chunk-R2MZCYA6.js → chunk-UNUMFURP.js} +3 -3
  201. package/dist/{chunk-5GIZM4RX.js → chunk-UPFNQJC7.js} +2 -2
  202. package/dist/{chunk-W4BMEGQA.js → chunk-UTQUEHC7.js} +2 -2
  203. package/dist/{chunk-I32NKXE2.js → chunk-V4IDF3EZ.js} +2 -2
  204. package/dist/{chunk-6LS5OX3U.js → chunk-W2BAGGEW.js} +50 -18
  205. package/dist/chunk-W2BAGGEW.js.map +1 -0
  206. package/dist/chunk-W2UOAATB.js +521 -0
  207. package/dist/chunk-W2UOAATB.js.map +1 -0
  208. package/dist/{chunk-QMZY3GG6.js → chunk-WNXYT4MK.js} +3 -3
  209. package/dist/{chunk-UVYI6VIX.js → chunk-X7Y7WX73.js} +1 -1
  210. package/dist/{chunk-T42L3S6A.js → chunk-XBGHAAKR.js} +2 -2
  211. package/dist/{chunk-RQ2EQRRR.js → chunk-XNWXSGHS.js} +80 -7
  212. package/dist/chunk-XNWXSGHS.js.map +1 -0
  213. package/dist/{chunk-THG4GYIE.js → chunk-YEUXERJ6.js} +5 -5
  214. package/dist/{chunk-BIJAWZYW.js → chunk-YMOPYG3K.js} +6 -6
  215. package/dist/{chunk-M4AHBM72.js → chunk-Z3YEGSR4.js} +2 -2
  216. package/dist/{cli-Bfgo0n1L.d.ts → cli-O3F-ht3i.d.ts} +5 -5
  217. package/dist/cli.d.ts +17 -15
  218. package/dist/cli.js +106 -104
  219. package/dist/coding/pre-action-gate.d.ts +2 -1
  220. package/dist/coding/pre-action-gate.js +2 -2
  221. package/dist/compounding/engine.d.ts +5 -2
  222. package/dist/compounding/engine.js +26 -26
  223. package/dist/compounding/preference-consolidator.d.ts +4 -3
  224. package/dist/compression-optimizer.d.ts +2 -1
  225. package/dist/config-security.js +2 -2
  226. package/dist/config.d.ts +2 -1
  227. package/dist/config.js +13 -12
  228. package/dist/connectors/codex-materialize-runner.d.ts +2 -1
  229. package/dist/connectors/codex-materialize-runner.js +25 -25
  230. package/dist/connectors/codex-materialize.d.ts +2 -1
  231. package/dist/connectors/index.d.ts +2 -1
  232. package/dist/connectors/index.js +25 -25
  233. package/dist/consolidation-provenance-check.d.ts +5 -2
  234. package/dist/consolidation-provenance-check.js +2 -2
  235. package/dist/consolidation-undo.d.ts +5 -2
  236. package/dist/context-summary.d.ts +43 -0
  237. package/dist/context-summary.js +14 -0
  238. package/dist/context-summary.js.map +1 -0
  239. package/dist/contradiction/index.d.ts +6 -3
  240. package/dist/contradiction/index.js +5 -5
  241. package/dist/converge-config.d.ts +2 -1
  242. package/dist/convergence-refresh.d.ts +5 -2
  243. package/dist/convergence-refresh.js +28 -28
  244. package/dist/conversation-index/backend.d.ts +2 -1
  245. package/dist/conversation-index/backend.js +2 -2
  246. package/dist/conversation-index/chunker.d.ts +2 -1
  247. package/dist/conversation-index/faiss-adapter.d.ts +2 -1
  248. package/dist/conversation-index/indexer.d.ts +2 -1
  249. package/dist/conversation-index/search.d.ts +2 -1
  250. package/dist/corpus-watermark.d.ts +2 -1
  251. package/dist/corpus-watermark.js +27 -27
  252. package/dist/cross-lingual-recall.d.ts +2 -1
  253. package/dist/day-summary.d.ts +2 -1
  254. package/dist/delinearize.d.ts +2 -1
  255. package/dist/dependency-propagation-config.d.ts +2 -1
  256. package/dist/{dependency-propagation-delivery-D23_x-s5.d.ts → dependency-propagation-delivery-CL6RWXTA.d.ts} +1 -1
  257. package/dist/direct-answer-wiring.d.ts +2 -1
  258. package/dist/direct-answer.d.ts +2 -1
  259. package/dist/embedding-fallback.d.ts +2 -1
  260. package/dist/enrichment/index.d.ts +2 -1
  261. package/dist/entity-origin-fields.d.ts +2 -1
  262. package/dist/entity-retrieval.d.ts +5 -2
  263. package/dist/entity-retrieval.js +26 -26
  264. package/dist/entity-schema.d.ts +2 -1
  265. package/dist/episodic-context.d.ts +2 -1
  266. package/dist/eval-trajectory-contracts.d.ts +257 -0
  267. package/dist/eval-trajectory-contracts.js +56 -0
  268. package/dist/eval-trajectory-contracts.js.map +1 -0
  269. package/dist/eval-trajectory-store.d.ts +40 -0
  270. package/dist/eval-trajectory-store.js +19 -0
  271. package/dist/eval-trajectory-store.js.map +1 -0
  272. package/dist/eval-trajectory.d.ts +68 -0
  273. package/dist/eval-trajectory.js +46 -0
  274. package/dist/eval-trajectory.js.map +1 -0
  275. package/dist/event-order-recall.js +2 -2
  276. package/dist/explicit-capture.d.ts +13 -11
  277. package/dist/explicit-capture.js +6 -6
  278. package/dist/external-wiki-access.d.ts +15 -13
  279. package/dist/external-wiki-access.js +55 -55
  280. package/dist/external-wiki-collection-registration.d.ts +2 -1
  281. package/dist/external-wiki-collection.d.ts +2 -1
  282. package/dist/external-wiki-mcp-tools.d.ts +15 -13
  283. package/dist/extraction-error-classification.d.ts +2 -1
  284. package/dist/extraction-faithfulness.d.ts +2 -1
  285. package/dist/extraction-judge-telemetry.d.ts +2 -1
  286. package/dist/extraction-judge-training.d.ts +2 -1
  287. package/dist/extraction-judge.d.ts +2 -1
  288. package/dist/extraction-liveness.d.ts +2 -1
  289. package/dist/extraction-normalization.d.ts +2 -1
  290. package/dist/extraction-prompt.d.ts +2 -1
  291. package/dist/extraction-source-grounding-rules.d.ts +2 -1
  292. package/dist/extraction-source-grounding.d.ts +2 -1
  293. package/dist/extraction.d.ts +2 -1
  294. package/dist/extraction.js +33 -33
  295. package/dist/fallback-llm.d.ts +2 -1
  296. package/dist/{forget-SZ2BXDGF.js → forget-2AE4MDK3.js} +3 -3
  297. package/dist/graph-dashboard-diff.d.ts +2 -1
  298. package/dist/graph-dashboard-key.d.ts +2 -1
  299. package/dist/graph-dashboard-parser.d.ts +2 -1
  300. package/dist/{graph-edge-decay-FXGELBFA.js → graph-edge-decay-A4SDFMMS.js} +4 -4
  301. package/dist/graph-edge-decay-A4SDFMMS.js.map +1 -0
  302. package/dist/graph-edge-reinforcement.d.ts +2 -1
  303. package/dist/graph-path-reconstruction.d.ts +2 -1
  304. package/dist/graph-path-scoring.d.ts +2 -1
  305. package/dist/graph-snapshot.d.ts +2 -1
  306. package/dist/graph-snapshot.js +3 -3
  307. package/dist/graph.d.ts +2 -1
  308. package/dist/graph.js +3 -3
  309. package/dist/harmonic-retrieval.js +1 -1
  310. package/dist/importance.d.ts +2 -1
  311. package/dist/importers/index.d.ts +2 -1
  312. package/dist/in-flight-reads.d.ts +2 -1
  313. package/dist/{index--QhGIXF2.d.ts → index-C7Xep6S9.d.ts} +2 -2
  314. package/dist/index.d.ts +706 -701
  315. package/dist/index.js +271 -200
  316. package/dist/intent.d.ts +2 -1
  317. package/dist/lcm/engine.d.ts +3 -2
  318. package/dist/lcm/engine.js +3 -2
  319. package/dist/lcm/index.d.ts +4 -2
  320. package/dist/lcm/index.js +6 -5
  321. package/dist/lcm/summarizer.d.ts +4 -6
  322. package/dist/lcm/summarizer.js +2 -1
  323. package/dist/lcm/tools.d.ts +4 -3
  324. package/dist/lifecycle.d.ts +2 -1
  325. package/dist/live-connectors-runner.d.ts +2 -1
  326. package/dist/local-llm.d.ts +2 -1
  327. package/dist/local-model-endpoint.d.ts +2 -1
  328. package/dist/location/index.d.ts +128 -1
  329. package/dist/location/index.js +60 -750
  330. package/dist/location/index.js.map +1 -1
  331. package/dist/maintenance/memory-governance.d.ts +2 -1
  332. package/dist/maintenance/memory-governance.js +26 -26
  333. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +5 -2
  334. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +25 -25
  335. package/dist/maintenance/rebuild-memory-projection.d.ts +5 -2
  336. package/dist/maintenance/rebuild-memory-projection.js +27 -27
  337. package/dist/{maintenance-PFvY1Pw_.d.ts → maintenance-CJ-xqFp0.d.ts} +4 -3
  338. package/dist/mcp-memory-inspector-app.d.ts +15 -13
  339. package/dist/mcp-read-only-tools.js +1 -1
  340. package/dist/memory-action-policy.d.ts +18 -2
  341. package/dist/memory-action-policy.js +3 -1
  342. package/dist/memory-cache.d.ts +2 -1
  343. package/dist/memory-controller.d.ts +2 -1
  344. package/dist/memory-controller.js +2 -2
  345. package/dist/memory-lifecycle-ledger-utils.d.ts +2 -1
  346. package/dist/memory-projection-store.d.ts +2 -1
  347. package/dist/memory-provenance.d.ts +2 -1
  348. package/dist/memory-snapshot.d.ts +2 -1
  349. package/dist/memory-subject-cli.d.ts +15 -13
  350. package/dist/memory-subject.d.ts +15 -13
  351. package/dist/memory-subject.js +3 -3
  352. package/dist/memory-worth-outcomes.d.ts +50 -3
  353. package/dist/memory-worth-outcomes.js +5 -3
  354. package/dist/models-json.d.ts +2 -1
  355. package/dist/namespaces/migrate.d.ts +6 -3
  356. package/dist/namespaces/migrate.js +26 -26
  357. package/dist/namespaces/principal.d.ts +2 -1
  358. package/dist/namespaces/search.d.ts +2 -1
  359. package/dist/namespaces/search.js +11 -11
  360. package/dist/namespaces/storage.d.ts +6 -3
  361. package/dist/namespaces/storage.js +25 -25
  362. package/dist/native-knowledge.d.ts +2 -1
  363. package/dist/offline-sync-impression-drain.d.ts +2 -1
  364. package/dist/offline-sync-impression-drain.js +2 -2
  365. package/dist/operator-doctor-corpus.d.ts +2 -1
  366. package/dist/operator-doctor-corpus.js +28 -28
  367. package/dist/operator-doctor-replica.d.ts +2 -1
  368. package/dist/operator-toolkit.d.ts +6 -3
  369. package/dist/operator-toolkit.js +45 -44
  370. package/dist/orchestration/compression-guideline-coordinator.d.ts +5 -2
  371. package/dist/orchestration/maintenance.d.ts +7 -4
  372. package/dist/orchestration/maintenance.js +34 -32
  373. package/dist/{orchestrator-4wzJrPVm.d.ts → orchestrator-BsntWxLy.d.ts} +8 -8
  374. package/dist/orchestrator.d.ts +13 -11
  375. package/dist/orchestrator.js +156 -148
  376. package/dist/patterns-cli.d.ts +2 -1
  377. package/dist/{pipeline-CgXgdIrF.d.ts → pipeline-CVoysPm2.d.ts} +1 -1
  378. package/dist/policy-runtime.d.ts +2 -1
  379. package/dist/proactive-contention.d.ts +2 -1
  380. package/dist/provenance.d.ts +2 -1
  381. package/dist/{public-http-BP3VQDl5.d.ts → public-http-CuOxlTC2.d.ts} +1 -1
  382. package/dist/{qmd-BppGGxsi.d.ts → qmd-DWMAGA5l.d.ts} +1 -1
  383. package/dist/qmd-preflight.d.ts +3 -2
  384. package/dist/qmd-recall-cache.d.ts +2 -1
  385. package/dist/qmd.d.ts +3 -2
  386. package/dist/qmd.js +4 -4
  387. package/dist/recall-concurrency-config.d.ts +2 -1
  388. package/dist/recall-disclosure-escalation.d.ts +2 -1
  389. package/dist/recall-explain-renderer.d.ts +2 -1
  390. package/dist/recall-explain-renderer.js +3 -3
  391. package/dist/recall-memory-map.d.ts +2 -1
  392. package/dist/recall-planner-llm.d.ts +2 -1
  393. package/dist/recall-state.d.ts +2 -1
  394. package/dist/recall-tag-filter.d.ts +2 -1
  395. package/dist/recall-timings.d.ts +2 -1
  396. package/dist/recall-xray-cli.d.ts +2 -1
  397. package/dist/recall-xray-cli.js +4 -4
  398. package/dist/recall-xray-renderer.d.ts +2 -1
  399. package/dist/recall-xray-renderer.js +3 -3
  400. package/dist/recall-xray.d.ts +2 -1
  401. package/dist/recall-xray.js +2 -2
  402. package/dist/reconcile/cursor.d.ts +2 -1
  403. package/dist/reconcile/manifest.d.ts +2 -1
  404. package/dist/reconcile/manifest.js +3 -3
  405. package/dist/reconcile/plan.d.ts +2 -1
  406. package/dist/replay/normalizers/chatgpt.d.ts +2 -1
  407. package/dist/replay/normalizers/claude.d.ts +2 -1
  408. package/dist/replay/normalizers/openclaw.d.ts +2 -1
  409. package/dist/replay/normalizers/shared.d.ts +2 -1
  410. package/dist/replay/runner.d.ts +2 -1
  411. package/dist/replay/types.d.ts +2 -1
  412. package/dist/replica-divergence.d.ts +2 -1
  413. package/dist/replica-peers-config.d.ts +2 -1
  414. package/dist/{resolution-4552BNRV.js → resolution-XWBPKYFB.js} +6 -6
  415. package/dist/resolution-XWBPKYFB.js.map +1 -0
  416. package/dist/resolve-auth-token.d.ts +2 -1
  417. package/dist/resume-bundles.js +14 -13
  418. package/dist/retrieval-agents.d.ts +3 -2
  419. package/dist/retrieval-tiers.d.ts +2 -1
  420. package/dist/routing/engine.d.ts +2 -1
  421. package/dist/routing/store.d.ts +2 -1
  422. package/dist/salvage-envelope.d.ts +2 -1
  423. package/dist/salvage-envelope.js +5 -5
  424. package/dist/schemas.d.ts +124 -124
  425. package/dist/{scope-profiles-ChZUtxDU.d.ts → scope-profiles-CPWkW_dI.d.ts} +1 -1
  426. package/dist/search/embed-helper.d.ts +2 -1
  427. package/dist/search/factory.d.ts +2 -1
  428. package/dist/search/factory.js +10 -10
  429. package/dist/search/index.d.ts +2 -1
  430. package/dist/search/index.js +15 -15
  431. package/dist/search/lancedb-backend.d.ts +2 -1
  432. package/dist/search/lancedb-backend.js +2 -2
  433. package/dist/search/meilisearch-backend.d.ts +2 -1
  434. package/dist/search/meilisearch-backend.js +2 -2
  435. package/dist/search/noop-backend.d.ts +2 -1
  436. package/dist/search/orama-backend.d.ts +2 -1
  437. package/dist/search/orama-backend.js +2 -2
  438. package/dist/search/port.d.ts +2 -1
  439. package/dist/search/remote-backend.d.ts +2 -1
  440. package/dist/{semantic-consolidation-mSPwQSmF.d.ts → semantic-consolidation-CNFVBXFc.d.ts} +1 -1
  441. package/dist/semantic-consolidation.d.ts +3 -2
  442. package/dist/semantic-consolidation.js +31 -31
  443. package/dist/semantic-rule-promotion.js +25 -25
  444. package/dist/semantic-rule-verifier.d.ts +2 -1
  445. package/dist/semantic-rule-verifier.js +25 -25
  446. package/dist/{service-BICWLwSP.d.ts → service-Bb-JIdQ0.d.ts} +2 -2
  447. package/dist/session-observer-bands.d.ts +2 -1
  448. package/dist/session-observer-state.d.ts +2 -1
  449. package/dist/shared-context/manager.d.ts +8 -7
  450. package/dist/signal.d.ts +2 -1
  451. package/dist/source-agent-qualifier.d.ts +2 -1
  452. package/dist/source-agent-qualifier.js +29 -29
  453. package/dist/{storage-B7urx1K3.d.ts → storage-CukrlNKk.d.ts} +4 -1
  454. package/dist/storage.d.ts +5 -2
  455. package/dist/storage.js +24 -24
  456. package/dist/subject-config.d.ts +2 -1
  457. package/dist/subject-config.js +4 -4
  458. package/dist/summarizer.d.ts +2 -1
  459. package/dist/summary-snapshot.d.ts +2 -1
  460. package/dist/support-passport/index.d.ts +18 -16
  461. package/dist/support-passport/index.js +57 -57
  462. package/dist/temporal-supersession.d.ts +3 -2
  463. package/dist/temporal-timeline-recall.d.ts +2 -1
  464. package/dist/temporal-validity.d.ts +2 -1
  465. package/dist/threading.d.ts +2 -1
  466. package/dist/tier-migration.d.ts +5 -2
  467. package/dist/tier-routing.d.ts +2 -1
  468. package/dist/topics.d.ts +2 -1
  469. package/dist/transcript.d.ts +2 -1
  470. package/dist/transfer/backup.js +2 -2
  471. package/dist/transfer/capsule-export.js +2 -2
  472. package/dist/transfer/capsule-import.js +2 -2
  473. package/dist/transfer/types.d.ts +78 -78
  474. package/dist/trust-score-stage.d.ts +2 -1
  475. package/dist/trust-score.d.ts +2 -1
  476. package/dist/{types-ETU5N6nB.d.ts → types-djxQlxJ7.d.ts} +3 -2
  477. package/dist/types.d.ts +2 -1
  478. package/dist/types.js +1 -1
  479. package/dist/utility-runtime.d.ts +2 -1
  480. package/dist/verified-recall.js +25 -25
  481. package/dist/who-knows-cli.d.ts +15 -13
  482. package/dist/who-knows-cli.js +26 -26
  483. package/dist/who-knows.d.ts +15 -13
  484. package/dist/who-knows.js +25 -25
  485. package/dist/write-envelope.d.ts +2 -1
  486. package/dist/write-envelope.js +4 -4
  487. package/package.json +22 -2
  488. package/src/access-boundary.ts +5 -0
  489. package/src/access-http.ts +15 -16
  490. package/src/access-mcp-output-schemas.ts +5 -0
  491. package/src/access-mcp.ts +6 -6
  492. package/src/access-operations.ts +2 -0
  493. package/src/access-surface-catalog.ts +10 -0
  494. package/src/active-context-config.ts +98 -0
  495. package/src/active-context-transform.test.ts +533 -0
  496. package/src/active-context-transform.ts +981 -0
  497. package/src/config.ts +3 -5
  498. package/src/context-summary.ts +182 -0
  499. package/src/eval-trajectory-contracts.ts +411 -0
  500. package/src/eval-trajectory-store.ts +306 -0
  501. package/src/eval-trajectory.test.ts +534 -0
  502. package/src/eval-trajectory.ts +773 -0
  503. package/src/index.ts +6 -11
  504. package/src/lcm/summarizer.ts +14 -93
  505. package/src/location/access-operations.ts +84 -0
  506. package/src/location/http-glue.test.ts +100 -0
  507. package/src/location/http-glue.ts +85 -0
  508. package/src/location/index.ts +3 -0
  509. package/src/location/mcp-tools.ts +82 -0
  510. package/src/location/provider-setup.test.ts +106 -0
  511. package/src/location/provider-setup.ts +103 -0
  512. package/src/location/scheduler.test.ts +113 -0
  513. package/src/location/scheduler.ts +98 -0
  514. package/src/location/surfaces.test.ts +241 -0
  515. package/src/location/surfaces.ts +329 -0
  516. package/src/maintenance/day-summary-cron.ts +45 -0
  517. package/src/mcp-read-only-tools.ts +2 -0
  518. package/src/memory-action-policy.ts +28 -0
  519. package/src/memory-worth-outcomes.test.ts +53 -18
  520. package/src/memory-worth-outcomes.ts +91 -9
  521. package/src/orchestration/maintenance.ts +22 -30
  522. package/src/storage/context-transform-ledger.ts +39 -0
  523. package/src/storage/secure-line-reader.ts +50 -1
  524. package/src/storage.ts +4 -1
  525. package/src/types.ts +2 -3
  526. package/src/wearables/http-glue.ts +28 -0
  527. package/dist/chunk-4K7IW3F7.js.map +0 -1
  528. package/dist/chunk-5W7MKXMU.js.map +0 -1
  529. package/dist/chunk-6LS5OX3U.js.map +0 -1
  530. package/dist/chunk-DPNXADEI.js.map +0 -1
  531. package/dist/chunk-DVYRD4HY.js.map +0 -1
  532. package/dist/chunk-FC7TIRFS.js.map +0 -1
  533. package/dist/chunk-LBFFNDFM.js.map +0 -1
  534. package/dist/chunk-LDBFXD4F.js.map +0 -1
  535. package/dist/chunk-OMZLBT4B.js.map +0 -1
  536. package/dist/chunk-PNAGNVGK.js.map +0 -1
  537. package/dist/chunk-RQ2EQRRR.js.map +0 -1
  538. package/dist/chunk-YUTTMSC7.js.map +0 -1
  539. package/dist/chunk-ZPUIRTIZ.js.map +0 -1
  540. /package/dist/{capsule-crypto-GWVG7LGC.js.map → active-context-config.js.map} +0 -0
  541. /package/dist/{graph-edge-decay-FXGELBFA.js.map → active-context-transform.js.map} +0 -0
  542. /package/dist/{auto-sync-XVMLL2RH.js.map → auto-sync-2YPITIWN.js.map} +0 -0
  543. /package/dist/{resolution-4552BNRV.js.map → capsule-crypto-7FJQINUR.js.map} +0 -0
  544. /package/dist/{chunk-OWHERGF2.js.map → chunk-2NLLXCJG.js.map} +0 -0
  545. /package/dist/{chunk-NZPFCP5A.js.map → chunk-2PSX5BJU.js.map} +0 -0
  546. /package/dist/{chunk-RKNJBZ55.js.map → chunk-2QSZNTDO.js.map} +0 -0
  547. /package/dist/{chunk-X2DWBWOX.js.map → chunk-3A2NJP2U.js.map} +0 -0
  548. /package/dist/{chunk-JGG5HVI2.js.map → chunk-3PKAS6VL.js.map} +0 -0
  549. /package/dist/{chunk-LSYD7GHZ.js.map → chunk-3SZD4CYO.js.map} +0 -0
  550. /package/dist/{chunk-5TG4MU2U.js.map → chunk-4F4AQFWL.js.map} +0 -0
  551. /package/dist/{chunk-D35XLYQ7.js.map → chunk-4QEYREAV.js.map} +0 -0
  552. /package/dist/{chunk-46WM6JX2.js.map → chunk-4ZWCQJNM.js.map} +0 -0
  553. /package/dist/{chunk-W6J4POB6.js.map → chunk-5DHKCO52.js.map} +0 -0
  554. /package/dist/{chunk-IRXMJLTW.js.map → chunk-5HK3CJAR.js.map} +0 -0
  555. /package/dist/{chunk-NLUCDKLT.js.map → chunk-5RWZH6PH.js.map} +0 -0
  556. /package/dist/{chunk-H7BZBSP6.js.map → chunk-645WOU5I.js.map} +0 -0
  557. /package/dist/{chunk-AYAZWXJI.js.map → chunk-76DIF5KT.js.map} +0 -0
  558. /package/dist/{chunk-OPPBTPUU.js.map → chunk-7KQB4EBS.js.map} +0 -0
  559. /package/dist/{chunk-I2HTKOOP.js.map → chunk-7VZFRUQU.js.map} +0 -0
  560. /package/dist/{chunk-JCWY73FK.js.map → chunk-AHPIFKNG.js.map} +0 -0
  561. /package/dist/{chunk-3I22VWB3.js.map → chunk-AZMLH5UT.js.map} +0 -0
  562. /package/dist/{chunk-JOEJG4SD.js.map → chunk-BEC4YBNA.js.map} +0 -0
  563. /package/dist/{chunk-BXXOPKT5.js.map → chunk-CAMNRAJF.js.map} +0 -0
  564. /package/dist/{chunk-C24UZSFW.js.map → chunk-CEH2AFXG.js.map} +0 -0
  565. /package/dist/{chunk-YOXVZJFM.js.map → chunk-CFVTRUR3.js.map} +0 -0
  566. /package/dist/{chunk-SVSRPG6M.js.map → chunk-CPA5NBHN.js.map} +0 -0
  567. /package/dist/{chunk-7BEPVIH3.js.map → chunk-CRML27CO.js.map} +0 -0
  568. /package/dist/{chunk-AXGFOFNY.js.map → chunk-DA7ITC5Z.js.map} +0 -0
  569. /package/dist/{chunk-FEO2CDXR.js.map → chunk-DPCXDG7G.js.map} +0 -0
  570. /package/dist/{chunk-HZNYJN77.js.map → chunk-F3NVYTTA.js.map} +0 -0
  571. /package/dist/{chunk-7SSRXEZJ.js.map → chunk-F7XUD3PL.js.map} +0 -0
  572. /package/dist/{chunk-XZBXINXZ.js.map → chunk-GIC6BASP.js.map} +0 -0
  573. /package/dist/{chunk-PP7R754B.js.map → chunk-GPFZFCRN.js.map} +0 -0
  574. /package/dist/{chunk-53MZQEBD.js.map → chunk-GTO56JY5.js.map} +0 -0
  575. /package/dist/{chunk-RAIUTAZZ.js.map → chunk-H2YSH3DG.js.map} +0 -0
  576. /package/dist/{chunk-HWVNYNIV.js.map → chunk-HMZKGHMD.js.map} +0 -0
  577. /package/dist/{chunk-ZXUZ54Z5.js.map → chunk-HRHO3ZNG.js.map} +0 -0
  578. /package/dist/{chunk-SDEPLF7V.js.map → chunk-IBJ6U753.js.map} +0 -0
  579. /package/dist/{chunk-T3JQTCCO.js.map → chunk-JI7U6AS3.js.map} +0 -0
  580. /package/dist/{chunk-TR7DGXGI.js.map → chunk-JOZUBF4A.js.map} +0 -0
  581. /package/dist/{chunk-YWBOOBDP.js.map → chunk-JYSN42VN.js.map} +0 -0
  582. /package/dist/{chunk-5W7CTZ2E.js.map → chunk-KQAFEZQX.js.map} +0 -0
  583. /package/dist/{chunk-D2YNNDML.js.map → chunk-KWIGDKM2.js.map} +0 -0
  584. /package/dist/{chunk-RIAM7DND.js.map → chunk-LDKPDODJ.js.map} +0 -0
  585. /package/dist/{chunk-227UFSEQ.js.map → chunk-LEPOP46W.js.map} +0 -0
  586. /package/dist/{chunk-2JHRCWHT.js.map → chunk-LKYIOCWL.js.map} +0 -0
  587. /package/dist/{chunk-XAWIL7TC.js.map → chunk-LOXHYCVS.js.map} +0 -0
  588. /package/dist/{chunk-OLBZ2WGG.js.map → chunk-LTBKKSCX.js.map} +0 -0
  589. /package/dist/{chunk-O4BAGJDN.js.map → chunk-MDD2RINF.js.map} +0 -0
  590. /package/dist/{chunk-ROEAEANL.js.map → chunk-MY2BC6UE.js.map} +0 -0
  591. /package/dist/{chunk-RACZB5HT.js.map → chunk-N37X5RU7.js.map} +0 -0
  592. /package/dist/{chunk-AG46P24C.js.map → chunk-NNBZS3DY.js.map} +0 -0
  593. /package/dist/{chunk-PGW64IFQ.js.map → chunk-NPFUNWNX.js.map} +0 -0
  594. /package/dist/{chunk-MFOSZUIT.js.map → chunk-NPIBN2VL.js.map} +0 -0
  595. /package/dist/{chunk-IF4EY26E.js.map → chunk-OA2O2GJ4.js.map} +0 -0
  596. /package/dist/{chunk-6FUMA6AA.js.map → chunk-ODU2CNNX.js.map} +0 -0
  597. /package/dist/{chunk-TWBQQ3FT.js.map → chunk-P36Z4JRA.js.map} +0 -0
  598. /package/dist/{chunk-OUKBMQ2O.js.map → chunk-PD66CVSD.js.map} +0 -0
  599. /package/dist/{chunk-MVIYRRVJ.js.map → chunk-PMVPCZJZ.js.map} +0 -0
  600. /package/dist/{chunk-US4IRASK.js.map → chunk-PU56CXZA.js.map} +0 -0
  601. /package/dist/{chunk-IDQ6DKXC.js.map → chunk-S5XOSTYM.js.map} +0 -0
  602. /package/dist/{chunk-DYO24BNB.js.map → chunk-SEEJOGQX.js.map} +0 -0
  603. /package/dist/{chunk-7OZSHBWK.js.map → chunk-SNOIKAHM.js.map} +0 -0
  604. /package/dist/{chunk-SR7JIRAR.js.map → chunk-T6ILXUAH.js.map} +0 -0
  605. /package/dist/{chunk-2RXUZVPU.js.map → chunk-T7XP6IZE.js.map} +0 -0
  606. /package/dist/{chunk-KBOG7FJV.js.map → chunk-TFR3HG4K.js.map} +0 -0
  607. /package/dist/{chunk-XUZ5CIEE.js.map → chunk-TUHBYJXL.js.map} +0 -0
  608. /package/dist/{chunk-7K5Q6COX.js.map → chunk-TVVEYCNW.js.map} +0 -0
  609. /package/dist/{chunk-ZK4BFABK.js.map → chunk-U7EW2W4W.js.map} +0 -0
  610. /package/dist/{chunk-VFYRYFLL.js.map → chunk-UEBDCMOO.js.map} +0 -0
  611. /package/dist/{chunk-JFWZRUKP.js.map → chunk-UENKPWCS.js.map} +0 -0
  612. /package/dist/{chunk-AAXJNINV.js.map → chunk-UL4MKZHI.js.map} +0 -0
  613. /package/dist/{chunk-R2MZCYA6.js.map → chunk-UNUMFURP.js.map} +0 -0
  614. /package/dist/{chunk-5GIZM4RX.js.map → chunk-UPFNQJC7.js.map} +0 -0
  615. /package/dist/{chunk-W4BMEGQA.js.map → chunk-UTQUEHC7.js.map} +0 -0
  616. /package/dist/{chunk-I32NKXE2.js.map → chunk-V4IDF3EZ.js.map} +0 -0
  617. /package/dist/{chunk-QMZY3GG6.js.map → chunk-WNXYT4MK.js.map} +0 -0
  618. /package/dist/{chunk-UVYI6VIX.js.map → chunk-X7Y7WX73.js.map} +0 -0
  619. /package/dist/{chunk-T42L3S6A.js.map → chunk-XBGHAAKR.js.map} +0 -0
  620. /package/dist/{chunk-THG4GYIE.js.map → chunk-YEUXERJ6.js.map} +0 -0
  621. /package/dist/{chunk-BIJAWZYW.js.map → chunk-YMOPYG3K.js.map} +0 -0
  622. /package/dist/{chunk-M4AHBM72.js.map → chunk-Z3YEGSR4.js.map} +0 -0
  623. /package/dist/{forget-SZ2BXDGF.js.map → forget-2AE4MDK3.js.map} +0 -0
@@ -0,0 +1,240 @@
1
+ import {
2
+ DEFAULT_EVAL_TRAJECTORY_REPORT_MAX_AGE_MS,
3
+ DESTRUCTIVE_ACTION_TYPES,
4
+ EVAL_TRAJECTORY_PROMOTION_THRESHOLDS,
5
+ EVAL_TRAJECTORY_REPORT_SCHEMA_VERSION,
6
+ canonicalJson,
7
+ compareRows,
8
+ isFiniteNumber,
9
+ isHexSha256,
10
+ isIsoTimestamp,
11
+ isMemoryActionType,
12
+ isRowStatus,
13
+ resolveEvalTrajectoryRunConfig,
14
+ serializeEvalTrajectoryReport,
15
+ sha256Hex
16
+ } from "./chunk-ULM7JCDH.js";
17
+ import {
18
+ resolveEvalStoreDir
19
+ } from "./chunk-MCA2X4WH.js";
20
+
21
+ // src/eval-trajectory-store.ts
22
+ import { mkdir, readFile, rename, rm, writeFile } from "fs/promises";
23
+ import path from "path";
24
+ function deriveUnifiedMemoryPromotionReport(report) {
25
+ const { aggregates } = report;
26
+ const trustViolations = report.rows.reduce(
27
+ (sum, row) => sum + (row.status === "joined" && row.trustViolation === 1 ? 1 : 0),
28
+ 0
29
+ );
30
+ const staleHarms = report.rows.reduce(
31
+ (sum, row) => sum + (row.status === "joined" && row.staleMemoryHarm > 0 ? 1 : 0),
32
+ 0
33
+ );
34
+ const destructiveJoinedRows = aggregates.byAction.filter((group) => DESTRUCTIVE_ACTION_TYPES[group.action] === true).reduce((sum, group) => sum + group.rowCount, 0);
35
+ const reasons = [];
36
+ let state;
37
+ if (trustViolations > 0 || staleHarms > 0) {
38
+ state = "demote_to_shadow";
39
+ reasons.push("safety_fault_present");
40
+ } else if (aggregates.coverage.joined < EVAL_TRAJECTORY_PROMOTION_THRESHOLDS.minJoinedRows) {
41
+ state = "insufficient_evidence";
42
+ reasons.push("insufficient_joined_rows");
43
+ } else if (aggregates.coverage.reach !== null && aggregates.coverage.reach < EVAL_TRAJECTORY_PROMOTION_THRESHOLDS.minReach) {
44
+ state = "shadow_eligible";
45
+ reasons.push("reach_below_floor");
46
+ } else if (destructiveJoinedRows > 0) {
47
+ state = "active_destructive_review_only";
48
+ reasons.push("destructive_actions_present");
49
+ } else if (aggregates.metricMeans.actionConditionedUtility === null) {
50
+ state = "shadow_eligible";
51
+ reasons.push("utility_mean_unavailable");
52
+ } else {
53
+ state = "active_reversible_eligible";
54
+ }
55
+ const draft = {
56
+ schemaVersion: 1,
57
+ sourceReportId: report.reportId,
58
+ namespaceDigest: report.namespaceDigest,
59
+ asOf: report.asOf,
60
+ inputFingerprint: report.inputFingerprint,
61
+ state,
62
+ reasons,
63
+ evidence: {
64
+ joinedRows: aggregates.coverage.joined,
65
+ reach: aggregates.coverage.reach,
66
+ meanUtility: aggregates.metricMeans.actionConditionedUtility,
67
+ trustViolations,
68
+ staleHarms,
69
+ destructiveJoinedRows
70
+ },
71
+ contentHash: ""
72
+ };
73
+ draft.contentHash = sha256Hex(canonicalJson({ ...draft, contentHash: void 0 }));
74
+ return draft;
75
+ }
76
+ var FORBIDDEN_EXPORT_KEYS = {
77
+ inputSummary: true,
78
+ goal: true,
79
+ actionSummary: true,
80
+ observationSummary: true,
81
+ outcomeSummary: true,
82
+ prompt: true,
83
+ promptText: true,
84
+ promptHash: true,
85
+ memoryText: true,
86
+ noteText: true,
87
+ sessionKey: true,
88
+ sourceSessionKey: true,
89
+ filePath: true,
90
+ path: true,
91
+ storeDir: true,
92
+ memoryDir: true,
93
+ actionId: true,
94
+ trajectoryId: true,
95
+ memoryId: true,
96
+ outcomeId: true,
97
+ namespace: true,
98
+ salt: true,
99
+ rationale: true,
100
+ summary: true,
101
+ content: true,
102
+ text: true
103
+ };
104
+ function assertEvalTrajectoryReportRedacted(value, label = "report") {
105
+ const scan = (node, trail) => {
106
+ if (Array.isArray(node)) {
107
+ node.forEach((item, index) => scan(item, `${trail}[${index}]`));
108
+ return;
109
+ }
110
+ if (typeof node === "object" && node !== null) {
111
+ for (const [key, child] of Object.entries(node)) {
112
+ if (FORBIDDEN_EXPORT_KEYS[key] === true) {
113
+ throw new Error(`${label} contains forbidden field '${key}' at ${trail} \u2014 redaction fails closed`);
114
+ }
115
+ scan(child, `${trail}.${key}`);
116
+ }
117
+ }
118
+ };
119
+ scan(value, "$");
120
+ }
121
+ function validateEvalTrajectoryReport(raw) {
122
+ if (typeof raw !== "object" || raw === null) throw new Error("eval trajectory report must be an object");
123
+ assertEvalTrajectoryReportRedacted(raw, "eval trajectory report");
124
+ const report = raw;
125
+ if (report.schemaVersion !== EVAL_TRAJECTORY_REPORT_SCHEMA_VERSION) {
126
+ throw new Error("eval trajectory report schemaVersion must be 1");
127
+ }
128
+ if (!isHexSha256(report.reportId) || !isHexSha256(report.namespaceDigest) || !isHexSha256(report.inputFingerprint)) {
129
+ throw new Error("eval trajectory report ids and digests must be sha256 hex");
130
+ }
131
+ if (!isIsoTimestamp(report.asOf)) throw new Error("eval trajectory report asOf must be an ISO timestamp");
132
+ if (!Array.isArray(report.rows)) throw new Error("eval trajectory report rows must be an array");
133
+ const contentHash = report.contentHash;
134
+ if (!isHexSha256(contentHash)) throw new Error("eval trajectory report contentHash must be sha256 hex");
135
+ const expectedHash = sha256Hex(canonicalJson({ ...report, contentHash: void 0 }));
136
+ if (contentHash !== expectedHash) {
137
+ throw new Error("eval trajectory report contentHash mismatch \u2014 tampered or corrupted report");
138
+ }
139
+ resolveEvalTrajectoryRunConfig(report.config);
140
+ for (const row of report.rows) {
141
+ if (typeof row !== "object" || row === null) throw new Error("report rows must be objects");
142
+ const candidate = row;
143
+ if (candidate.schemaVersion !== 1 || !isHexSha256(candidate.actionDigest)) {
144
+ throw new Error("report row has invalid schemaVersion or actionDigest");
145
+ }
146
+ if (!isRowStatus(candidate.status)) throw new Error("report row has invalid status");
147
+ if (candidate.outcomeDigest !== null && candidate.outcomeDigest !== void 0 && !isHexSha256(candidate.outcomeDigest)) {
148
+ throw new Error("report row outcomeDigest must be sha256 hex or null");
149
+ }
150
+ if (candidate.status === "joined" && (candidate.outcomeDigest == null || candidate.join == null) || candidate.status !== "joined" && candidate.actionConditionedUtility !== null) {
151
+ throw new Error("report row join/utility invariants violated");
152
+ }
153
+ for (const metric of ["taskOutcome", "contextTokenCost", "actionConditionedUtility"]) {
154
+ const value = candidate[metric];
155
+ if (value !== null && value !== void 0 && !isFiniteNumber(value)) {
156
+ throw new Error(`report row ${metric} must be numeric or null`);
157
+ }
158
+ }
159
+ if (candidate.trustViolation !== 0 && candidate.trustViolation !== 1) {
160
+ throw new Error("report row trustViolation must be 0 or 1");
161
+ }
162
+ if (candidate.staleMemoryHarm !== 0 && candidate.staleMemoryHarm !== 0.5 && candidate.staleMemoryHarm !== 1) {
163
+ throw new Error("report row staleMemoryHarm must be 0, 0.5, or 1");
164
+ }
165
+ }
166
+ for (let index = 1; index < report.rows.length; index += 1) {
167
+ if (compareRows(report.rows[index - 1], report.rows[index]) > 0) {
168
+ throw new Error("report rows must be sorted by (outcomeRecordedAt, actionDigest)");
169
+ }
170
+ }
171
+ const rows = report.rows;
172
+ const statusCounts = {
173
+ joined: 0,
174
+ ambiguous: 0,
175
+ late_outcome: 0,
176
+ future_outcome: 0,
177
+ missing_within_window: 0
178
+ };
179
+ for (const row of rows) statusCounts[row.status] += 1;
180
+ const joinedRows = rows.filter((row) => row.status === "joined");
181
+ const mean = (values) => values.length === 0 ? null : values.reduce((sum, value) => sum + value, 0) / values.length;
182
+ const aggregates = report.aggregates;
183
+ if (typeof aggregates !== "object" || aggregates === null || aggregates.rowCount !== rows.length || canonicalJson(aggregates.statusCounts) !== canonicalJson(statusCounts) || aggregates.coverage.joined !== statusCounts.joined || aggregates.coverage.missingWithinWindow !== statusCounts.missing_within_window || aggregates.coverage.lateOutcome !== statusCounts.late_outcome || aggregates.coverage.futureOutcome !== statusCounts.future_outcome || aggregates.coverage.ambiguous !== statusCounts.ambiguous || aggregates.coverage.excludedFromMeans !== rows.length - statusCounts.joined || aggregates.metricMeans.taskOutcome !== mean(joinedRows.map((row) => row.taskOutcome).filter(isFiniteNumber)) || aggregates.metricMeans.actionConditionedUtility !== mean(joinedRows.map((row) => row.actionConditionedUtility).filter(isFiniteNumber)) || !Array.isArray(aggregates.byAction) || !aggregates.byAction.every((group) => isMemoryActionType(group.action))) {
184
+ throw new Error("eval trajectory report aggregates do not match rows \u2014 tampered or corrupted report");
185
+ }
186
+ return raw;
187
+ }
188
+ function assertPathWithin(rootDir, targetPath, field) {
189
+ const relative = path.relative(path.resolve(rootDir), path.resolve(targetPath));
190
+ if (relative === "" || !relative.startsWith("..") && !path.isAbsolute(relative)) return;
191
+ throw new Error(`${field} must stay within ${rootDir}`);
192
+ }
193
+ async function writeEvalTrajectoryReport(options) {
194
+ const validated = validateEvalTrajectoryReport(options.report);
195
+ if (!options.memoryDir && !options.evalStoreDir) {
196
+ throw new Error("writeEvalTrajectoryReport requires memoryDir or evalStoreDir");
197
+ }
198
+ const rootDir = resolveEvalStoreDir(options.memoryDir ?? "", options.evalStoreDir);
199
+ const trajectoryDir = path.join(rootDir, "trajectory", validated.asOf.slice(0, 10));
200
+ const targetPath = path.join(trajectoryDir, `${validated.reportId}.json`);
201
+ assertPathWithin(rootDir, targetPath, "eval trajectory report path");
202
+ const payload = serializeEvalTrajectoryReport(validated);
203
+ const tmpPath = `${targetPath}.tmp-${process.pid}-${Math.random().toString(36).slice(2)}`;
204
+ await mkdir(trajectoryDir, { recursive: true });
205
+ try {
206
+ await writeFile(tmpPath, payload, "utf8");
207
+ await rename(tmpPath, targetPath);
208
+ } catch (error) {
209
+ await rm(tmpPath, { force: true }).catch(() => {
210
+ });
211
+ throw error;
212
+ }
213
+ return targetPath;
214
+ }
215
+ async function readEvalTrajectoryReport(options) {
216
+ const raw = await readFile(options.reportPath, "utf8");
217
+ let parsed;
218
+ try {
219
+ parsed = JSON.parse(raw);
220
+ } catch {
221
+ throw new Error("eval trajectory report file is not valid JSON");
222
+ }
223
+ const report = validateEvalTrajectoryReport(parsed);
224
+ const nowMs = options.now !== void 0 ? Date.parse(options.now) : Date.now();
225
+ if (!Number.isFinite(nowMs)) throw new Error("now must be a parseable timestamp");
226
+ const maxAgeMs = options.maxReportAgeMs ?? DEFAULT_EVAL_TRAJECTORY_REPORT_MAX_AGE_MS;
227
+ const asOfMs = Date.parse(report.asOf);
228
+ if (nowMs < asOfMs) throw new Error("eval trajectory report is dated after now \u2014 rejected");
229
+ if (nowMs - asOfMs > maxAgeMs) throw new Error("eval trajectory report is expired \u2014 rejected");
230
+ return report;
231
+ }
232
+
233
+ export {
234
+ deriveUnifiedMemoryPromotionReport,
235
+ assertEvalTrajectoryReportRedacted,
236
+ validateEvalTrajectoryReport,
237
+ writeEvalTrajectoryReport,
238
+ readEvalTrajectoryReport
239
+ };
240
+ //# sourceMappingURL=chunk-JCCWJHOP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/eval-trajectory-store.ts"],"sourcesContent":["/**\n * Issue #2345 — validation, redaction, persistence, and the promotion gate for\n * trajectory-eval reports.\n *\n * Fail-closed by construction:\n * - every report is redaction-scanned before it can be validated or written,\n * - the content hash and row-derived aggregates are recomputed on read,\n * - the checked reader rejects tampered, future-dated, and expired reports,\n * - the promotion gate can only recommend; it never runs an action.\n */\n\nimport { mkdir, readFile, rename, rm, writeFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport {\n DEFAULT_EVAL_TRAJECTORY_REPORT_MAX_AGE_MS,\n DESTRUCTIVE_ACTION_TYPES,\n EVAL_TRAJECTORY_PROMOTION_THRESHOLDS,\n EVAL_TRAJECTORY_REPORT_SCHEMA_VERSION,\n type EvalActionOutcomeRow,\n type EvalTrajectoryReport,\n type EvalTrajectoryRowStatus,\n type EvalTrajectoryRunConfig,\n type UnifiedMemoryPromotionReport,\n type UnifiedMemoryPromotionState,\n canonicalJson,\n compareRows,\n isFiniteNumber,\n isHexSha256,\n isIsoTimestamp,\n isMemoryActionType,\n isRowStatus,\n resolveEvalTrajectoryRunConfig,\n serializeEvalTrajectoryReport,\n sha256Hex,\n} from \"./eval-trajectory-contracts.js\";\nimport { resolveEvalStoreDir } from \"./evals.js\";\n\n// ---------------------------------------------------------------------------\n// Promotion gate derivation (#2348 consumes this; it never runs actions here)\n// ---------------------------------------------------------------------------\n\nexport function deriveUnifiedMemoryPromotionReport(report: EvalTrajectoryReport): UnifiedMemoryPromotionReport {\n const { aggregates } = report;\n const trustViolations = report.rows.reduce(\n (sum, row) => sum + (row.status === \"joined\" && row.trustViolation === 1 ? 1 : 0),\n 0\n );\n const staleHarms = report.rows.reduce(\n (sum, row) => sum + (row.status === \"joined\" && row.staleMemoryHarm > 0 ? 1 : 0),\n 0\n );\n const destructiveJoinedRows = aggregates.byAction\n .filter((group) => DESTRUCTIVE_ACTION_TYPES[group.action] === true)\n .reduce((sum, group) => sum + group.rowCount, 0);\n\n const reasons: string[] = [];\n let state: UnifiedMemoryPromotionState;\n if (trustViolations > 0 || staleHarms > 0) {\n state = \"demote_to_shadow\";\n reasons.push(\"safety_fault_present\");\n } else if (aggregates.coverage.joined < EVAL_TRAJECTORY_PROMOTION_THRESHOLDS.minJoinedRows) {\n state = \"insufficient_evidence\";\n reasons.push(\"insufficient_joined_rows\");\n } else if (\n aggregates.coverage.reach !== null &&\n aggregates.coverage.reach < EVAL_TRAJECTORY_PROMOTION_THRESHOLDS.minReach\n ) {\n state = \"shadow_eligible\";\n reasons.push(\"reach_below_floor\");\n } else if (destructiveJoinedRows > 0) {\n state = \"active_destructive_review_only\";\n reasons.push(\"destructive_actions_present\");\n } else if (aggregates.metricMeans.actionConditionedUtility === null) {\n state = \"shadow_eligible\";\n reasons.push(\"utility_mean_unavailable\");\n } else {\n state = \"active_reversible_eligible\";\n }\n\n const draft: UnifiedMemoryPromotionReport = {\n schemaVersion: 1,\n sourceReportId: report.reportId,\n namespaceDigest: report.namespaceDigest,\n asOf: report.asOf,\n inputFingerprint: report.inputFingerprint,\n state,\n reasons,\n evidence: {\n joinedRows: aggregates.coverage.joined,\n reach: aggregates.coverage.reach,\n meanUtility: aggregates.metricMeans.actionConditionedUtility,\n trustViolations,\n staleHarms,\n destructiveJoinedRows,\n },\n contentHash: \"\",\n };\n draft.contentHash = sha256Hex(canonicalJson({ ...draft, contentHash: undefined }));\n return draft;\n}\n\n// ---------------------------------------------------------------------------\n// Redaction (fail closed) + validation\n// ---------------------------------------------------------------------------\n\nconst FORBIDDEN_EXPORT_KEYS: Record<string, true> = {\n inputSummary: true,\n goal: true,\n actionSummary: true,\n observationSummary: true,\n outcomeSummary: true,\n prompt: true,\n promptText: true,\n promptHash: true,\n memoryText: true,\n noteText: true,\n sessionKey: true,\n sourceSessionKey: true,\n filePath: true,\n path: true,\n storeDir: true,\n memoryDir: true,\n actionId: true,\n trajectoryId: true,\n memoryId: true,\n outcomeId: true,\n namespace: true,\n salt: true,\n rationale: true,\n summary: true,\n content: true,\n text: true,\n};\n\nexport function assertEvalTrajectoryReportRedacted(value: unknown, label = \"report\"): void {\n const scan = (node: unknown, trail: string): void => {\n if (Array.isArray(node)) {\n node.forEach((item, index) => scan(item, `${trail}[${index}]`));\n return;\n }\n if (typeof node === \"object\" && node !== null) {\n for (const [key, child] of Object.entries(node as Record<string, unknown>)) {\n if (FORBIDDEN_EXPORT_KEYS[key] === true) {\n throw new Error(`${label} contains forbidden field '${key}' at ${trail} — redaction fails closed`);\n }\n scan(child, `${trail}.${key}`);\n }\n }\n };\n scan(value, \"$\");\n}\n\nexport function validateEvalTrajectoryReport(raw: unknown): EvalTrajectoryReport {\n if (typeof raw !== \"object\" || raw === null) throw new Error(\"eval trajectory report must be an object\");\n assertEvalTrajectoryReportRedacted(raw, \"eval trajectory report\");\n const report = raw as Partial<EvalTrajectoryReport> & Record<string, unknown>;\n if (report.schemaVersion !== EVAL_TRAJECTORY_REPORT_SCHEMA_VERSION) {\n throw new Error(\"eval trajectory report schemaVersion must be 1\");\n }\n if (!isHexSha256(report.reportId) || !isHexSha256(report.namespaceDigest) || !isHexSha256(report.inputFingerprint)) {\n throw new Error(\"eval trajectory report ids and digests must be sha256 hex\");\n }\n if (!isIsoTimestamp(report.asOf)) throw new Error(\"eval trajectory report asOf must be an ISO timestamp\");\n if (!Array.isArray(report.rows)) throw new Error(\"eval trajectory report rows must be an array\");\n const contentHash = report.contentHash;\n if (!isHexSha256(contentHash)) throw new Error(\"eval trajectory report contentHash must be sha256 hex\");\n const expectedHash = sha256Hex(canonicalJson({ ...report, contentHash: undefined }));\n if (contentHash !== expectedHash) {\n throw new Error(\"eval trajectory report contentHash mismatch — tampered or corrupted report\");\n }\n // Bounds-check the embedded config through the same parser builders use.\n resolveEvalTrajectoryRunConfig(report.config as Partial<EvalTrajectoryRunConfig>);\n\n for (const row of report.rows) {\n if (typeof row !== \"object\" || row === null) throw new Error(\"report rows must be objects\");\n const candidate = row as Partial<EvalActionOutcomeRow>;\n if (candidate.schemaVersion !== 1 || !isHexSha256(candidate.actionDigest)) {\n throw new Error(\"report row has invalid schemaVersion or actionDigest\");\n }\n if (!isRowStatus(candidate.status)) throw new Error(\"report row has invalid status\");\n if (\n candidate.outcomeDigest !== null &&\n candidate.outcomeDigest !== undefined &&\n !isHexSha256(candidate.outcomeDigest)\n ) {\n throw new Error(\"report row outcomeDigest must be sha256 hex or null\");\n }\n if (\n (candidate.status === \"joined\" && (candidate.outcomeDigest == null || candidate.join == null)) ||\n (candidate.status !== \"joined\" && candidate.actionConditionedUtility !== null)\n ) {\n throw new Error(\"report row join/utility invariants violated\");\n }\n for (const metric of [\"taskOutcome\", \"contextTokenCost\", \"actionConditionedUtility\"] as const) {\n const value = candidate[metric];\n if (value !== null && value !== undefined && !isFiniteNumber(value)) {\n throw new Error(`report row ${metric} must be numeric or null`);\n }\n }\n if (candidate.trustViolation !== 0 && candidate.trustViolation !== 1) {\n throw new Error(\"report row trustViolation must be 0 or 1\");\n }\n if (candidate.staleMemoryHarm !== 0 && candidate.staleMemoryHarm !== 0.5 && candidate.staleMemoryHarm !== 1) {\n throw new Error(\"report row staleMemoryHarm must be 0, 0.5, or 1\");\n }\n }\n for (let index = 1; index < report.rows.length; index += 1) {\n if (compareRows(report.rows[index - 1] as EvalActionOutcomeRow, report.rows[index] as EvalActionOutcomeRow) > 0) {\n throw new Error(\"report rows must be sorted by (outcomeRecordedAt, actionDigest)\");\n }\n }\n\n // Derivable-aggregate verification: recompute from rows so tampering fails closed.\n const rows = report.rows as EvalActionOutcomeRow[];\n const statusCounts: Record<EvalTrajectoryRowStatus, number> = {\n joined: 0,\n ambiguous: 0,\n late_outcome: 0,\n future_outcome: 0,\n missing_within_window: 0,\n };\n for (const row of rows) statusCounts[row.status] += 1;\n const joinedRows = rows.filter((row) => row.status === \"joined\");\n const mean = (values: number[]): number | null =>\n values.length === 0 ? null : values.reduce((sum, value) => sum + value, 0) / values.length;\n const aggregates = report.aggregates;\n if (\n typeof aggregates !== \"object\" ||\n aggregates === null ||\n aggregates.rowCount !== rows.length ||\n canonicalJson(aggregates.statusCounts) !== canonicalJson(statusCounts) ||\n aggregates.coverage.joined !== statusCounts.joined ||\n aggregates.coverage.missingWithinWindow !== statusCounts.missing_within_window ||\n aggregates.coverage.lateOutcome !== statusCounts.late_outcome ||\n aggregates.coverage.futureOutcome !== statusCounts.future_outcome ||\n aggregates.coverage.ambiguous !== statusCounts.ambiguous ||\n aggregates.coverage.excludedFromMeans !== rows.length - statusCounts.joined ||\n aggregates.metricMeans.taskOutcome !== mean(joinedRows.map((row) => row.taskOutcome).filter(isFiniteNumber)) ||\n aggregates.metricMeans.actionConditionedUtility !==\n mean(joinedRows.map((row) => row.actionConditionedUtility).filter(isFiniteNumber)) ||\n !Array.isArray(aggregates.byAction) ||\n !aggregates.byAction.every((group) => isMemoryActionType(group.action))\n ) {\n throw new Error(\"eval trajectory report aggregates do not match rows — tampered or corrupted report\");\n }\n\n return raw as EvalTrajectoryReport;\n}\n\n// ---------------------------------------------------------------------------\n// Persistence (atomic write beside the existing shadow artifacts)\n// ---------------------------------------------------------------------------\n\nfunction assertPathWithin(rootDir: string, targetPath: string, field: string): void {\n const relative = path.relative(path.resolve(rootDir), path.resolve(targetPath));\n if (relative === \"\" || (!relative.startsWith(\"..\") && !path.isAbsolute(relative))) return;\n throw new Error(`${field} must stay within ${rootDir}`);\n}\n\nexport async function writeEvalTrajectoryReport(options: {\n memoryDir?: string;\n evalStoreDir?: string;\n report: EvalTrajectoryReport;\n}): Promise<string> {\n const validated = validateEvalTrajectoryReport(options.report);\n if (!options.memoryDir && !options.evalStoreDir) {\n throw new Error(\"writeEvalTrajectoryReport requires memoryDir or evalStoreDir\");\n }\n const rootDir = resolveEvalStoreDir(options.memoryDir ?? \"\", options.evalStoreDir);\n const trajectoryDir = path.join(rootDir, \"trajectory\", validated.asOf.slice(0, 10));\n const targetPath = path.join(trajectoryDir, `${validated.reportId}.json`);\n assertPathWithin(rootDir, targetPath, \"eval trajectory report path\");\n const payload = serializeEvalTrajectoryReport(validated);\n const tmpPath = `${targetPath}.tmp-${process.pid}-${Math.random().toString(36).slice(2)}`;\n await mkdir(trajectoryDir, { recursive: true });\n try {\n await writeFile(tmpPath, payload, \"utf8\");\n await rename(tmpPath, targetPath);\n } catch (error) {\n await rm(tmpPath, { force: true }).catch(() => {});\n throw error;\n }\n return targetPath;\n}\n\nexport async function readEvalTrajectoryReport(options: {\n reportPath: string;\n now?: string;\n maxReportAgeMs?: number;\n}): Promise<EvalTrajectoryReport> {\n const raw = await readFile(options.reportPath, \"utf8\");\n let parsed: unknown;\n try {\n parsed = JSON.parse(raw);\n } catch {\n throw new Error(\"eval trajectory report file is not valid JSON\");\n }\n const report = validateEvalTrajectoryReport(parsed);\n const nowMs = options.now !== undefined ? Date.parse(options.now) : Date.now();\n if (!Number.isFinite(nowMs)) throw new Error(\"now must be a parseable timestamp\");\n const maxAgeMs = options.maxReportAgeMs ?? DEFAULT_EVAL_TRAJECTORY_REPORT_MAX_AGE_MS;\n const asOfMs = Date.parse(report.asOf);\n if (nowMs < asOfMs) throw new Error(\"eval trajectory report is dated after now — rejected\");\n if (nowMs - asOfMs > maxAgeMs) throw new Error(\"eval trajectory report is expired — rejected\");\n return report;\n}\n"],"mappings":"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","names":[]}
@@ -1,9 +1,9 @@
1
- import {
2
- coerceBool
3
- } from "./chunk-PQVCH2AE.js";
4
1
  import {
5
2
  DEFAULT_UNTRUSTED_ORIGINS
6
3
  } from "./chunk-6Q3ZTEF6.js";
4
+ import {
5
+ coerceBool
6
+ } from "./chunk-PQVCH2AE.js";
7
7
  import {
8
8
  readEnvVar
9
9
  } from "./chunk-JUC24CTX.js";
@@ -91,4 +91,4 @@ function parseSecurityConfig(cfg, rawOperatorConfig) {
91
91
  export {
92
92
  parseSecurityConfig
93
93
  };
94
- //# sourceMappingURL=chunk-T3JQTCCO.js.map
94
+ //# sourceMappingURL=chunk-JI7U6AS3.js.map
@@ -1,6 +1,3 @@
1
- import {
2
- scanSignals
3
- } from "./chunk-H3FZVNRN.js";
4
1
  import {
5
2
  bufferTurnArrayIsSuffixOfSnapshot,
6
3
  bufferTurnArraysEqual,
@@ -11,9 +8,12 @@ import {
11
8
  matchingQueuedExtractionPrefixLength,
12
9
  probeWithTimeout
13
10
  } from "./chunk-2AD5SXO4.js";
11
+ import {
12
+ scanSignals
13
+ } from "./chunk-H3FZVNRN.js";
14
14
  import {
15
15
  ExtractionDeadlineError
16
- } from "./chunk-THG4GYIE.js";
16
+ } from "./chunk-YEUXERJ6.js";
17
17
  import {
18
18
  resolvePrincipal
19
19
  } from "./chunk-MRV7VSQK.js";
@@ -798,4 +798,4 @@ var SmartBuffer = class {
798
798
  export {
799
799
  SmartBuffer
800
800
  };
801
- //# sourceMappingURL=chunk-TR7DGXGI.js.map
801
+ //# sourceMappingURL=chunk-JOZUBF4A.js.map
@@ -7,30 +7,33 @@ import {
7
7
  import {
8
8
  openclawReplayNormalizer
9
9
  } from "./chunk-H4CKS5B2.js";
10
- import {
11
- importMarkdownBundle
12
- } from "./chunk-HDDRVXX4.js";
13
10
  import {
14
11
  importSqlite
15
12
  } from "./chunk-PYHOAXTI.js";
16
- import {
17
- backupMemoryDir
18
- } from "./chunk-OWHERGF2.js";
19
13
  import {
20
14
  exportJsonBundle
21
15
  } from "./chunk-UP6MOYCB.js";
22
16
  import {
23
17
  exportSqlite
24
18
  } from "./chunk-BV2TIZ4F.js";
19
+ import {
20
+ importMarkdownBundle
21
+ } from "./chunk-HDDRVXX4.js";
25
22
  import {
26
23
  detectImportFormat
27
24
  } from "./chunk-OZKVVUJB.js";
28
25
  import {
29
26
  importJsonBundle
30
27
  } from "./chunk-2DL3OFLD.js";
28
+ import {
29
+ backupMemoryDir
30
+ } from "./chunk-2NLLXCJG.js";
31
31
  import {
32
32
  exportMarkdownBundle
33
33
  } from "./chunk-765K3SAT.js";
34
+ import {
35
+ RoutingRulesStore
36
+ } from "./chunk-TBUEE7XF.js";
34
37
  import {
35
38
  buildReplayNormalizerRegistry,
36
39
  clampBatchSize,
@@ -40,15 +43,18 @@ import {
40
43
  isReplaySource,
41
44
  normalizeReplaySessionKey
42
45
  } from "./chunk-AJVLDJU6.js";
43
- import {
44
- RoutingRulesStore
45
- } from "./chunk-TBUEE7XF.js";
46
46
  import {
47
47
  TailscaleHelper
48
48
  } from "./chunk-EEC4PCG5.js";
49
49
  import {
50
50
  WebDavServer
51
51
  } from "./chunk-PYIFUBRK.js";
52
+ import {
53
+ migrateObservations
54
+ } from "./chunk-IIFFC3RL.js";
55
+ import {
56
+ rebuildMemoryLifecycleLedger
57
+ } from "./chunk-TFR3HG4K.js";
52
58
  import {
53
59
  rebuildObservations
54
60
  } from "./chunk-DQTCGVFK.js";
@@ -56,23 +62,14 @@ import {
56
62
  archiveObservations
57
63
  } from "./chunk-YLBE6PLR.js";
58
64
  import {
59
- migrateObservations
60
- } from "./chunk-IIFFC3RL.js";
61
- import {
62
- rebuildMemoryLifecycleLedger
63
- } from "./chunk-KBOG7FJV.js";
65
+ runCompatChecks
66
+ } from "./chunk-CDKHKZL5.js";
64
67
  import {
65
68
  getBulkImportSource,
66
69
  listBulkImportSources,
67
70
  registerBulkImportSource,
68
71
  runBulkImportPipeline
69
72
  } from "./chunk-HSSERO3E.js";
70
- import {
71
- runCompatChecks
72
- } from "./chunk-CDKHKZL5.js";
73
- import {
74
- searchVerifiedEpisodes
75
- } from "./chunk-53MZQEBD.js";
76
73
  import {
77
74
  getUtilityLearningStatus,
78
75
  learnUtilityPromotionWeights
@@ -81,20 +78,23 @@ import {
81
78
  getUtilityTelemetryStatus,
82
79
  recordUtilityTelemetryEvent
83
80
  } from "./chunk-6FC3IZ26.js";
81
+ import {
82
+ searchVerifiedEpisodes
83
+ } from "./chunk-GTO56JY5.js";
84
84
  import {
85
85
  ThreadingManager
86
86
  } from "./chunk-OJP3N7UK.js";
87
- import {
88
- searchVerifiedSemanticRules
89
- } from "./chunk-TWBQQ3FT.js";
90
87
  import {
91
88
  promoteSemanticRuleFromMemory
92
- } from "./chunk-IF4EY26E.js";
89
+ } from "./chunk-OA2O2GJ4.js";
90
+ import {
91
+ searchVerifiedSemanticRules
92
+ } from "./chunk-P36Z4JRA.js";
93
93
  import {
94
94
  buildResumeBundleFromState,
95
95
  getResumeBundleStatus,
96
96
  recordResumeBundle
97
- } from "./chunk-AXGFOFNY.js";
97
+ } from "./chunk-DA7ITC5Z.js";
98
98
  import {
99
99
  getWorkProductLedgerStatus,
100
100
  recordWorkProductLedgerEntry,
@@ -105,16 +105,7 @@ import {
105
105
  } from "./chunk-AM4T6CHX.js";
106
106
  import {
107
107
  parseXrayCliOptions
108
- } from "./chunk-R2MZCYA6.js";
109
- import {
110
- collectPatternMemories,
111
- explainPatternMemory,
112
- parsePatternsExplainOptions,
113
- parsePatternsListOptions,
114
- parseStrictCliDate,
115
- renderPatternExplain,
116
- renderPatternsList
117
- } from "./chunk-3T74IZB3.js";
108
+ } from "./chunk-UNUMFURP.js";
118
109
  import {
119
110
  readRuntimePolicySnapshot,
120
111
  sanitizeRuntimePolicyValues
@@ -127,12 +118,21 @@ import {
127
118
  runOperatorInventory,
128
119
  runOperatorRepair,
129
120
  runOperatorSetup
130
- } from "./chunk-ROEAEANL.js";
121
+ } from "./chunk-MY2BC6UE.js";
131
122
  import {
132
123
  analyzeSessionIntegrity,
133
124
  applySessionRepair,
134
125
  planSessionRepair
135
126
  } from "./chunk-KFY3SGN7.js";
127
+ import {
128
+ collectPatternMemories,
129
+ explainPatternMemory,
130
+ parsePatternsExplainOptions,
131
+ parsePatternsListOptions,
132
+ parseStrictCliDate,
133
+ renderPatternExplain,
134
+ renderPatternsList
135
+ } from "./chunk-3T74IZB3.js";
136
136
  import {
137
137
  GITHUB_CONNECTOR_ID,
138
138
  GMAIL_CONNECTOR_ID,
@@ -150,12 +150,12 @@ import {
150
150
  import {
151
151
  listConnectorStates
152
152
  } from "./chunk-6GUG4YNM.js";
153
- import {
154
- searchHarmonicRetrieval
155
- } from "./chunk-XUZ5CIEE.js";
156
153
  import {
157
154
  rescoreMemoryImportance
158
155
  } from "./chunk-UOBPK2OS.js";
156
+ import {
157
+ searchHarmonicRetrieval
158
+ } from "./chunk-TUHBYJXL.js";
159
159
  import {
160
160
  createEvalBaselineSnapshot,
161
161
  getEvalHarnessStatus,
@@ -175,7 +175,13 @@ import {
175
175
  rebuildMemoryProjection,
176
176
  repairMemoryProjection,
177
177
  verifyMemoryProjection
178
- } from "./chunk-JFWZRUKP.js";
178
+ } from "./chunk-UENKPWCS.js";
179
+ import {
180
+ applyCommitmentLedgerLifecycle,
181
+ getCommitmentLedgerStatus,
182
+ recordCommitmentLedgerEntry,
183
+ transitionCommitmentLedgerEntryState
184
+ } from "./chunk-NOB2T2FC.js";
179
185
  import {
180
186
  buildConnectorRowsFromDefinitions,
181
187
  parseConnectorsListOptions,
@@ -185,22 +191,16 @@ import {
185
191
  renderConnectorsRunResult,
186
192
  runConnectorPollOnce
187
193
  } from "./chunk-OKTXM5H4.js";
188
- import {
189
- applyCommitmentLedgerLifecycle,
190
- getCommitmentLedgerStatus,
191
- recordCommitmentLedgerEntry,
192
- transitionCommitmentLedgerEntryState
193
- } from "./chunk-NOB2T2FC.js";
194
194
  import {
195
195
  chunkContent
196
196
  } from "./chunk-6TBIWIAG.js";
197
197
  import {
198
198
  parseConfig
199
- } from "./chunk-DPNXADEI.js";
199
+ } from "./chunk-7WOWGRAU.js";
200
200
  import {
201
201
  EngramAccessHttpServer,
202
202
  MeetingsInputError
203
- } from "./chunk-YUTTMSC7.js";
203
+ } from "./chunk-KZIF6XHX.js";
204
204
  import {
205
205
  WearablesInputError
206
206
  } from "./chunk-V7IZKJI3.js";
@@ -210,13 +210,13 @@ import {
210
210
  loadChatSession,
211
211
  processChatMessage,
212
212
  sessionBelongsToPrincipal
213
- } from "./chunk-RQ2EQRRR.js";
213
+ } from "./chunk-XNWXSGHS.js";
214
214
  import {
215
215
  getAbstractionNodeStoreStatus
216
216
  } from "./chunk-DJUKBGAD.js";
217
217
  import {
218
218
  EngramAccessService
219
- } from "./chunk-PNAGNVGK.js";
219
+ } from "./chunk-OXRRJXPR.js";
220
220
  import {
221
221
  WorkStorage
222
222
  } from "./chunk-GDB4J2H3.js";
@@ -233,45 +233,45 @@ import {
233
233
  parseRecallExplainFormat,
234
234
  renderRecallExplain,
235
235
  renderXray
236
- } from "./chunk-YOXVZJFM.js";
236
+ } from "./chunk-CFVTRUR3.js";
237
237
  import {
238
238
  readAggregateExtractionWatermark
239
- } from "./chunk-XAWIL7TC.js";
239
+ } from "./chunk-LOXHYCVS.js";
240
240
  import {
241
241
  getObjectiveStateStoreStatus
242
242
  } from "./chunk-HTP6XRUI.js";
243
+ import {
244
+ listNamespaces,
245
+ runNamespaceMigration,
246
+ verifyNamespaces
247
+ } from "./chunk-S5XOSTYM.js";
243
248
  import {
244
249
  listMemoryGovernanceRuns,
245
250
  readMemoryGovernanceRunArtifact,
246
251
  restoreMemoryGovernanceRun,
247
252
  runMemoryGovernance
248
- } from "./chunk-DYO24BNB.js";
253
+ } from "./chunk-SEEJOGQX.js";
249
254
  import {
250
- listNamespaces,
251
- runNamespaceMigration,
252
- verifyNamespaces
253
- } from "./chunk-IDQ6DKXC.js";
255
+ resolveNamespaceChildRoot
256
+ } from "./chunk-MDD2RINF.js";
254
257
  import {
255
258
  analyzeGraphHealth
256
- } from "./chunk-BIJAWZYW.js";
257
- import {
258
- resolveNamespaceChildRoot
259
- } from "./chunk-O4BAGJDN.js";
259
+ } from "./chunk-YMOPYG3K.js";
260
260
  import {
261
261
  OKF_RESERVED_BASENAMES,
262
262
  meetingIdDate,
263
263
  okfTypeForCategory
264
- } from "./chunk-6LS5OX3U.js";
264
+ } from "./chunk-W2BAGGEW.js";
265
265
  import {
266
266
  isValidTranscriptDate
267
267
  } from "./chunk-UHVXE24Y.js";
268
268
  import {
269
269
  RECALL_DISCLOSURE_LEVELS,
270
270
  isRecallDisclosure
271
- } from "./chunk-LBFFNDFM.js";
271
+ } from "./chunk-MINHJ55X.js";
272
272
  import {
273
273
  composeMemoryEnvelope
274
- } from "./chunk-RAIUTAZZ.js";
274
+ } from "./chunk-H2YSH3DG.js";
275
275
  import {
276
276
  bumpMemoryCorpusVersionForDir
277
277
  } from "./chunk-XCB6QDL6.js";
@@ -302,7 +302,7 @@ import {
302
302
  } from "./chunk-QDW3E4RD.js";
303
303
  import {
304
304
  getCausalTrajectoryStoreStatus
305
- } from "./chunk-PP7R754B.js";
305
+ } from "./chunk-GPFZFCRN.js";
306
306
  import {
307
307
  padEndDisplay,
308
308
  truncateGraphemeSafe
@@ -314,7 +314,7 @@ import {
314
314
  } from "./chunk-Z2YFLXHU.js";
315
315
  import {
316
316
  STATE_FILE_MAX_DECRYPT_BYTES
317
- } from "./chunk-DVYRD4HY.js";
317
+ } from "./chunk-5ACCD4L7.js";
318
318
  import {
319
319
  assertPathInsideRoot,
320
320
  pathIsInside
@@ -4835,7 +4835,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
4835
4835
  const idArg = typeof args[0] === "string" ? args[0] : "";
4836
4836
  const options = args[1] ?? {};
4837
4837
  const reason = typeof options.reason === "string" && options.reason.trim().length > 0 ? options.reason.trim() : void 0;
4838
- const { forgetMemory } = await import("./forget-SZ2BXDGF.js");
4838
+ const { forgetMemory } = await import("./forget-2AE4MDK3.js");
4839
4839
  try {
4840
4840
  const result = await forgetMemory(orchestrator.storage, {
4841
4841
  id: idArg,
@@ -5394,7 +5394,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
5394
5394
  }
5395
5395
  }
5396
5396
  if (sourceArchive.endsWith(".enc")) {
5397
- const { isEncryptedCapsuleFile } = await import("./capsule-crypto-GWVG7LGC.js");
5397
+ const { isEncryptedCapsuleFile } = await import("./capsule-crypto-7FJQINUR.js");
5398
5398
  const encDetected = await isEncryptedCapsuleFile(sourceArchive).catch(() => true);
5399
5399
  if (encDetected) {
5400
5400
  throw new Error(
@@ -5557,7 +5557,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
5557
5557
  const { parseExportBundle } = await import("./transfer/types.js");
5558
5558
  let decryptedBuf;
5559
5559
  try {
5560
- const { decryptCapsuleFileInMemory } = await import("./capsule-crypto-GWVG7LGC.js");
5560
+ const { decryptCapsuleFileInMemory } = await import("./capsule-crypto-7FJQINUR.js");
5561
5561
  decryptedBuf = await decryptCapsuleFileInMemory(archivePath, memoryDir);
5562
5562
  } catch (decErr) {
5563
5563
  const msg = decErr instanceof Error ? decErr.message : String(decErr);
@@ -8043,7 +8043,7 @@ Semantic consolidation complete. clusters=${result.clustersFound}, consolidated=
8043
8043
  console.error("--verb is required. Must be one of: keep-a, keep-b, merge, both-valid, needs-more-context");
8044
8044
  process.exit(1);
8045
8045
  }
8046
- const { isValidResolutionVerb, executeResolution } = await import("./resolution-4552BNRV.js");
8046
+ const { isValidResolutionVerb, executeResolution } = await import("./resolution-XWBPKYFB.js");
8047
8047
  if (!isValidResolutionVerb(verb)) {
8048
8048
  console.error(`Invalid verb: ${verb}. Must be one of: keep-a, keep-b, merge, both-valid, needs-more-context`);
8049
8049
  process.exit(1);
@@ -8811,4 +8811,4 @@ export {
8811
8811
  listMemoryMarkdownFilePaths,
8812
8812
  registerCli
8813
8813
  };
8814
- //# sourceMappingURL=chunk-YWBOOBDP.js.map
8814
+ //# sourceMappingURL=chunk-JYSN42VN.js.map