@remnic/core 10.0.14 → 10.0.15

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 (355) hide show
  1. package/dist/abstraction-nodes.js +3 -2
  2. package/dist/access-admin-ops-surface.js +33 -31
  3. package/dist/access-authorization-probe.js +34 -32
  4. package/dist/access-boundary.js +33 -31
  5. package/dist/access-cli.js +87 -85
  6. package/dist/access-cli.js.map +1 -1
  7. package/dist/access-extraction-force-flush.js +33 -31
  8. package/dist/access-http-briefing.js +34 -32
  9. package/dist/access-http-query.js +35 -33
  10. package/dist/access-http.js +52 -50
  11. package/dist/access-identity-continuity-surface.js +33 -31
  12. package/dist/access-lcm-surface.js +33 -31
  13. package/dist/access-mcp.js +44 -42
  14. package/dist/access-namespace-preflight.js +33 -31
  15. package/dist/access-observe-write-category.js +4 -3
  16. package/dist/access-observe-write-surface.js +33 -31
  17. package/dist/access-offline-manifest.js +3 -2
  18. package/dist/access-operations-batch.js +36 -34
  19. package/dist/access-operations.js +43 -41
  20. package/dist/access-recall-concurrency.js +33 -31
  21. package/dist/access-recall-response.js +33 -31
  22. package/dist/access-recall-surface.js +33 -31
  23. package/dist/access-schema.js +3 -2
  24. package/dist/access-service.js +33 -31
  25. package/dist/access-surface-catalog.js +35 -33
  26. package/dist/access-surface-catalog.js.map +1 -1
  27. package/dist/active-recall.js +14 -12
  28. package/dist/active-recall.js.map +1 -1
  29. package/dist/briefing.js +10 -8
  30. package/dist/calibration.d.ts.map +1 -1
  31. package/dist/calibration.js +6 -3
  32. package/dist/calibration.js.map +1 -1
  33. package/dist/causal-behavior.js +4 -3
  34. package/dist/causal-behavior.js.map +1 -1
  35. package/dist/causal-chain.js +4 -3
  36. package/dist/causal-consolidation.js +14 -12
  37. package/dist/causal-consolidation.js.map +1 -1
  38. package/dist/causal-retrieval.js +4 -3
  39. package/dist/causal-retrieval.js.map +1 -1
  40. package/dist/causal-trajectory.js +3 -2
  41. package/dist/{chunk-J7JWFZHI.js → chunk-22RM2ZUJ.js} +37 -37
  42. package/dist/{chunk-63B2IZYE.js → chunk-23ZQPP2G.js} +6 -1
  43. package/dist/chunk-23ZQPP2G.js.map +1 -0
  44. package/dist/{chunk-YFMBHQRG.js → chunk-2PTH4PRL.js} +2 -2
  45. package/dist/{chunk-TITG2NBS.js → chunk-2PYHLSXK.js} +2 -2
  46. package/dist/{chunk-B6O2YLUR.js → chunk-2Z5DIDQD.js} +6 -1
  47. package/dist/chunk-2Z5DIDQD.js.map +1 -0
  48. package/dist/{chunk-KH2LKDX7.js → chunk-33G67YZF.js} +2 -2
  49. package/dist/{chunk-LCKVXX5F.js → chunk-3GNIJUUE.js} +2 -2
  50. package/dist/{chunk-SWIKABKI.js → chunk-3Q3XD3NO.js} +2 -2
  51. package/dist/{chunk-4KY5GSMB.js → chunk-4PDTVVSW.js} +2 -2
  52. package/dist/{chunk-HM7RHKS4.js → chunk-4RNBLLZR.js} +2 -2
  53. package/dist/{chunk-PAZ35RJ4.js → chunk-4SCZZ3U7.js} +240 -55
  54. package/dist/chunk-4SCZZ3U7.js.map +1 -0
  55. package/dist/{chunk-Y4NKEXQT.js → chunk-5ATSXCAG.js} +3 -3
  56. package/dist/{chunk-JDZFIR2S.js → chunk-5KGYTX5O.js} +2 -2
  57. package/dist/{chunk-NW2E4CI2.js → chunk-5SMR542T.js} +2 -2
  58. package/dist/{chunk-S7LWX2PQ.js → chunk-655FVTCD.js} +2 -2
  59. package/dist/{chunk-ZSH2NRDV.js → chunk-6WGMZQGG.js} +2 -2
  60. package/dist/{chunk-W47S5TIH.js → chunk-7VQ6AI7H.js} +2 -2
  61. package/dist/{chunk-G7NYVKD6.js → chunk-B2NXOVZN.js} +2 -2
  62. package/dist/{chunk-N7KYEVLK.js → chunk-BK2BVLZW.js} +2 -2
  63. package/dist/{chunk-QJ622LTI.js → chunk-BQOGQULP.js} +30 -8
  64. package/dist/chunk-BQOGQULP.js.map +1 -0
  65. package/dist/{chunk-S2I7DL5Q.js → chunk-C2RW36YR.js} +2 -2
  66. package/dist/{chunk-P5NQN4JE.js → chunk-C6JMGAMO.js} +6 -2
  67. package/dist/chunk-C6JMGAMO.js.map +1 -0
  68. package/dist/{chunk-6LG7BWKW.js → chunk-CFZ4SXXH.js} +2 -2
  69. package/dist/{chunk-BLVHDY2U.js → chunk-DOWACHYO.js} +5 -2
  70. package/dist/chunk-DOWACHYO.js.map +1 -0
  71. package/dist/{chunk-4OSG5Y6M.js → chunk-DPSOFK4D.js} +2 -2
  72. package/dist/{chunk-QOZJCSFO.js → chunk-DQR2LD3V.js} +2 -2
  73. package/dist/{chunk-EBA5DA77.js → chunk-EOU6V4IN.js} +2 -2
  74. package/dist/{chunk-5WCJLQTM.js → chunk-F2772ATT.js} +2 -2
  75. package/dist/{chunk-46EST7JO.js → chunk-F2XNSIPP.js} +2 -2
  76. package/dist/{chunk-PZHQWFR3.js → chunk-G3UUAQOD.js} +2 -2
  77. package/dist/{chunk-YE36AJL7.js → chunk-GCVDFX66.js} +2 -2
  78. package/dist/{chunk-FFOVKNQV.js → chunk-GFAM2LTC.js} +2 -2
  79. package/dist/{chunk-T2YX56QI.js → chunk-GQJKVQJR.js} +2 -2
  80. package/dist/{chunk-L5DAHSEZ.js → chunk-GWVNGDJW.js} +2 -2
  81. package/dist/{chunk-N45NEBOD.js → chunk-GZXXPCWJ.js} +3 -3
  82. package/dist/{chunk-EPJDSQHF.js → chunk-H5IUN433.js} +2 -2
  83. package/dist/{chunk-EUAIYYYR.js → chunk-H6FREOYX.js} +7 -7
  84. package/dist/{chunk-FSIMZNBC.js → chunk-HBAOOSHU.js} +2 -2
  85. package/dist/{chunk-Q4E24IRR.js → chunk-HDN7IVIO.js} +14 -11
  86. package/dist/chunk-HDN7IVIO.js.map +1 -0
  87. package/dist/{chunk-T3FMRLWQ.js → chunk-HFSPY26A.js} +2 -2
  88. package/dist/{chunk-GH7AOMJD.js → chunk-IJMDBYCO.js} +2 -2
  89. package/dist/{chunk-JQ7XU625.js → chunk-IUCPLBDS.js} +6 -6
  90. package/dist/{chunk-WSGPFRBH.js → chunk-IWD33CF4.js} +2 -2
  91. package/dist/{chunk-4IHBN6WU.js → chunk-JKMIGCK6.js} +2 -2
  92. package/dist/{chunk-ROBHL3GL.js → chunk-JWX2Q6HS.js} +2 -2
  93. package/dist/{chunk-4O6WRBGE.js → chunk-KJXP6RUG.js} +5 -1
  94. package/dist/chunk-KJXP6RUG.js.map +1 -0
  95. package/dist/{chunk-JIHMUOOS.js → chunk-KLJVTZ3R.js} +3 -3
  96. package/dist/{chunk-FP4JYE66.js → chunk-KW4AJ7T3.js} +2 -2
  97. package/dist/{chunk-NIRQGDYC.js → chunk-L5VCT7LU.js} +5 -1
  98. package/dist/chunk-L5VCT7LU.js.map +1 -0
  99. package/dist/{chunk-LS2FHUML.js → chunk-LQ5SS4OP.js} +3 -3
  100. package/dist/{chunk-SIIRTDJ4.js → chunk-LWFWZTWX.js} +2 -2
  101. package/dist/{chunk-BMWN7B3Y.js → chunk-LXATZLSC.js} +3 -3
  102. package/dist/{chunk-B665A6BO.js → chunk-MJIOGYKX.js} +2 -2
  103. package/dist/{chunk-RTKV5XHL.js → chunk-MO6N4QYY.js} +2 -2
  104. package/dist/{chunk-N4C7QKOG.js → chunk-MWWAQXZ6.js} +2 -2
  105. package/dist/{chunk-ZJVMUBYF.js → chunk-NHUX6GXA.js} +6 -6
  106. package/dist/{chunk-CB6ANA2I.js → chunk-NZCKG25S.js} +2 -2
  107. package/dist/{chunk-UMTCNEVQ.js → chunk-O2YPCFJT.js} +11 -11
  108. package/dist/{chunk-TZNDKTX5.js → chunk-OQR42XCN.js} +37 -33
  109. package/dist/chunk-OQR42XCN.js.map +1 -0
  110. package/dist/{chunk-JYZSRNR7.js → chunk-PIITB2YZ.js} +2 -2
  111. package/dist/chunk-PPUNC7UX.js +73 -0
  112. package/dist/chunk-PPUNC7UX.js.map +1 -0
  113. package/dist/{chunk-EQWEIIKQ.js → chunk-PQM3B54K.js} +6 -1
  114. package/dist/chunk-PQM3B54K.js.map +1 -0
  115. package/dist/{chunk-UQDG3YLN.js → chunk-PRU7OF3Y.js} +3 -3
  116. package/dist/{chunk-EU534WGS.js → chunk-PVHQSLNN.js} +7 -7
  117. package/dist/{chunk-5VC7J76U.js → chunk-QPH52AZB.js} +2 -2
  118. package/dist/{chunk-XISROV24.js → chunk-QSEUUQUF.js} +2 -2
  119. package/dist/chunk-QUIRIG2P.js +31 -0
  120. package/dist/chunk-QUIRIG2P.js.map +1 -0
  121. package/dist/{chunk-FUFAXVBA.js → chunk-RI2KCQHP.js} +6 -2
  122. package/dist/chunk-RI2KCQHP.js.map +1 -0
  123. package/dist/{chunk-QX6JN3O4.js → chunk-RP7PQWZM.js} +6 -6
  124. package/dist/{chunk-O2IPAX26.js → chunk-RTTPBBAN.js} +4 -4
  125. package/dist/{chunk-W5MCEVUS.js → chunk-RYYVMZBR.js} +2 -2
  126. package/dist/{chunk-WLMZ2L5P.js → chunk-T7ASDYNK.js} +2 -2
  127. package/dist/{chunk-P7TOIOT7.js → chunk-THEPGZBM.js} +2 -2
  128. package/dist/{chunk-QODKDRSP.js → chunk-TMC7HBED.js} +4 -4
  129. package/dist/{chunk-I7S55EOB.js → chunk-TPNCXSXP.js} +2 -2
  130. package/dist/{chunk-SS3IS2JR.js → chunk-UGYUBENJ.js} +2 -2
  131. package/dist/{chunk-GELS5Z5Z.js → chunk-V3TXIXXY.js} +3 -3
  132. package/dist/{chunk-WVADKFWV.js → chunk-VNZMZPAC.js} +2 -2
  133. package/dist/{chunk-JPTPS4OB.js → chunk-VPXIKBPX.js} +2 -2
  134. package/dist/{chunk-OP6N4H6A.js → chunk-W3FVQBGF.js} +2 -2
  135. package/dist/{chunk-DPR2WTN3.js → chunk-WGTR573G.js} +16 -16
  136. package/dist/{chunk-W3K3HITK.js → chunk-WLT6LTQP.js} +2 -2
  137. package/dist/{chunk-GMXWTJNU.js → chunk-XKRXN63M.js} +2 -2
  138. package/dist/{chunk-ZV65I6ME.js → chunk-XLBFX63V.js} +28 -25
  139. package/dist/chunk-XLBFX63V.js.map +1 -0
  140. package/dist/{chunk-KR6ZKECI.js → chunk-XYGQSDTH.js} +3 -3
  141. package/dist/{chunk-6WHJ2EAB.js → chunk-Z64TS5V4.js} +2 -2
  142. package/dist/{chunk-NHLLKEKK.js → chunk-ZAJLJ35W.js} +2 -2
  143. package/dist/{chunk-O4SGYW7H.js → chunk-ZKHSAMTE.js} +2 -2
  144. package/dist/cli.d.ts.map +1 -1
  145. package/dist/cli.js +72 -70
  146. package/dist/coding/export-okf-codegraph.js +9 -7
  147. package/dist/coding/export-okf-codegraph.js.map +1 -1
  148. package/dist/coding/pre-action-gate.js +4 -3
  149. package/dist/commitment-ledger.js +3 -2
  150. package/dist/compounding/engine.js +11 -9
  151. package/dist/config.js +14 -12
  152. package/dist/connectors/codex-materialize-runner.js +10 -8
  153. package/dist/connectors/index.js +10 -8
  154. package/dist/consolidation-provenance-check.d.ts.map +1 -1
  155. package/dist/consolidation-provenance-check.js +2 -1
  156. package/dist/contradiction/index.js +3 -2
  157. package/dist/convergence-refresh.js +12 -10
  158. package/dist/corpus-watermark.js +12 -10
  159. package/dist/correction/correction-planner.d.ts.map +1 -1
  160. package/dist/cue-anchors.js +4 -3
  161. package/dist/deep-recall-http-glue.js +4 -3
  162. package/dist/{dreams-ledger-567VKVOU.js → dreams-ledger-UCHHRQ4R.js} +3 -2
  163. package/dist/entity-retrieval.js +10 -8
  164. package/dist/eval-trajectory-store.js +4 -3
  165. package/dist/eval-trajectory.js +4 -3
  166. package/dist/evals.js +3 -2
  167. package/dist/external-wiki-access.js +34 -32
  168. package/dist/extraction.js +12 -10
  169. package/dist/{first-start-migration-6A5BJPDW.js → first-start-migration-QVD22WWS.js} +6 -5
  170. package/dist/{first-start-migration-6A5BJPDW.js.map → first-start-migration-QVD22WWS.js.map} +1 -1
  171. package/dist/harmonic-construction.js +5 -4
  172. package/dist/harmonic-retrieval.js +14 -12
  173. package/dist/harmonic-source-lookup.js +3 -2
  174. package/dist/index.js +87 -85
  175. package/dist/json-store.d.ts.map +1 -1
  176. package/dist/json-store.js +2 -1
  177. package/dist/location/index.js +12 -10
  178. package/dist/maintenance/dreams-ledger.d.ts.map +1 -1
  179. package/dist/maintenance/memory-governance.d.ts.map +1 -1
  180. package/dist/maintenance/memory-governance.js +10 -8
  181. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +10 -8
  182. package/dist/maintenance/rebuild-memory-projection-runner.js +12 -10
  183. package/dist/maintenance/rebuild-memory-projection.js +11 -9
  184. package/dist/memory-browse-operations.js +34 -32
  185. package/dist/namespaces/migrate.js +11 -9
  186. package/dist/namespaces/search.js +7 -6
  187. package/dist/namespaces/storage.d.ts.map +1 -1
  188. package/dist/namespaces/storage.js +10 -8
  189. package/dist/objective-state-writers.js +4 -3
  190. package/dist/objective-state.js +3 -2
  191. package/dist/offline-sync-snapshot-stream.js +3 -2
  192. package/dist/offline-sync.d.ts.map +1 -1
  193. package/dist/offline-sync.js +2 -1
  194. package/dist/operator-doctor-corpus.js +13 -11
  195. package/dist/operator-toolkit.js +25 -23
  196. package/dist/orchestration/maintenance.js +20 -18
  197. package/dist/orchestrator.js +87 -85
  198. package/dist/profiling.d.ts.map +1 -1
  199. package/dist/profiling.js +2 -1
  200. package/dist/recall-navigation-operations.js +34 -32
  201. package/dist/recall-navigation.js +33 -31
  202. package/dist/{resolution-7AY36LGJ.js → resolution-ZU5BIAJA.js} +4 -3
  203. package/dist/resume-bundles.js +19 -17
  204. package/dist/retrieval-agents.d.ts +1 -1
  205. package/dist/retrieval-agents.d.ts.map +1 -1
  206. package/dist/retrieval-agents.js +7 -1
  207. package/dist/search/document-scanner.d.ts.map +1 -1
  208. package/dist/search/document-scanner.js +2 -1
  209. package/dist/search/factory.js +6 -5
  210. package/dist/search/index.js +6 -5
  211. package/dist/search/lancedb-backend.js +3 -2
  212. package/dist/search/meilisearch-backend.js +3 -2
  213. package/dist/search/orama-backend.js +3 -2
  214. package/dist/semantic-consolidation.js +11 -9
  215. package/dist/semantic-rule-promotion.js +10 -8
  216. package/dist/semantic-rule-verifier.js +10 -8
  217. package/dist/source-agent-qualifier.js +10 -8
  218. package/dist/standup/build.js +10 -8
  219. package/dist/storage/entity-canonical-id-migration.d.ts.map +1 -1
  220. package/dist/storage/entity-store.d.ts +32 -1
  221. package/dist/storage/entity-store.d.ts.map +1 -1
  222. package/dist/storage/memory-read-store.d.ts.map +1 -1
  223. package/dist/storage/supersession-audit.d.ts.map +1 -1
  224. package/dist/storage.d.ts.map +1 -1
  225. package/dist/storage.js +9 -7
  226. package/dist/support-passport/index.js +36 -34
  227. package/dist/{tier-stats-RQM76XYY.js → tier-stats-C3IAMS4X.js} +6 -5
  228. package/dist/{tier-stats-RQM76XYY.js.map → tier-stats-C3IAMS4X.js.map} +1 -1
  229. package/dist/transcript.d.ts.map +1 -1
  230. package/dist/transcript.js +2 -1
  231. package/dist/transfer/export-okf.js +10 -8
  232. package/dist/trust-zones.js +3 -2
  233. package/dist/utility-learner.js +4 -3
  234. package/dist/utility-runtime.js +5 -4
  235. package/dist/utility-telemetry.js +3 -2
  236. package/dist/utils/macos-replication-junk.d.ts +32 -0
  237. package/dist/utils/macos-replication-junk.d.ts.map +1 -0
  238. package/dist/utils/malformed-entity-record.d.ts +24 -0
  239. package/dist/utils/malformed-entity-record.d.ts.map +1 -0
  240. package/dist/verified-recall.js +10 -8
  241. package/dist/who-knows-cli.js +11 -9
  242. package/dist/who-knows.js +10 -8
  243. package/dist/work-product-ledger.js +3 -2
  244. package/package.json +2 -2
  245. package/src/calibration.ts +3 -2
  246. package/src/cli.ts +2 -2
  247. package/src/consolidation-provenance-check.ts +2 -0
  248. package/src/correction/correction-planner.ts +3 -2
  249. package/src/json-store.ts +3 -0
  250. package/src/macos-replication-junk-scanners.test.ts +275 -0
  251. package/src/maintenance/dreams-ledger.ts +2 -0
  252. package/src/maintenance/memory-governance.ts +2 -0
  253. package/src/namespaces/storage.ts +2 -0
  254. package/src/offline-sync-macos-junk.test.ts +169 -0
  255. package/src/offline-sync.ts +7 -0
  256. package/src/profiling.ts +2 -1
  257. package/src/retrieval-agents.ts +29 -12
  258. package/src/search/document-scanner.ts +4 -0
  259. package/src/storage/entity-canonical-id-migration.ts +56 -13
  260. package/src/storage/entity-store.ts +173 -15
  261. package/src/storage/memory-read-store.ts +30 -5
  262. package/src/storage/supersession-audit.ts +2 -0
  263. package/src/storage.ts +3 -2
  264. package/src/transcript.ts +11 -10
  265. package/src/utils/macos-replication-junk.test.ts +46 -0
  266. package/src/utils/macos-replication-junk.ts +65 -0
  267. package/src/utils/malformed-entity-record.ts +101 -0
  268. package/dist/chunk-4O6WRBGE.js.map +0 -1
  269. package/dist/chunk-63B2IZYE.js.map +0 -1
  270. package/dist/chunk-B6O2YLUR.js.map +0 -1
  271. package/dist/chunk-BLVHDY2U.js.map +0 -1
  272. package/dist/chunk-EQWEIIKQ.js.map +0 -1
  273. package/dist/chunk-FUFAXVBA.js.map +0 -1
  274. package/dist/chunk-NIRQGDYC.js.map +0 -1
  275. package/dist/chunk-P5NQN4JE.js.map +0 -1
  276. package/dist/chunk-PAZ35RJ4.js.map +0 -1
  277. package/dist/chunk-Q4E24IRR.js.map +0 -1
  278. package/dist/chunk-QJ622LTI.js.map +0 -1
  279. package/dist/chunk-TZNDKTX5.js.map +0 -1
  280. package/dist/chunk-ZV65I6ME.js.map +0 -1
  281. /package/dist/{chunk-J7JWFZHI.js.map → chunk-22RM2ZUJ.js.map} +0 -0
  282. /package/dist/{chunk-YFMBHQRG.js.map → chunk-2PTH4PRL.js.map} +0 -0
  283. /package/dist/{chunk-TITG2NBS.js.map → chunk-2PYHLSXK.js.map} +0 -0
  284. /package/dist/{chunk-KH2LKDX7.js.map → chunk-33G67YZF.js.map} +0 -0
  285. /package/dist/{chunk-LCKVXX5F.js.map → chunk-3GNIJUUE.js.map} +0 -0
  286. /package/dist/{chunk-SWIKABKI.js.map → chunk-3Q3XD3NO.js.map} +0 -0
  287. /package/dist/{chunk-4KY5GSMB.js.map → chunk-4PDTVVSW.js.map} +0 -0
  288. /package/dist/{chunk-HM7RHKS4.js.map → chunk-4RNBLLZR.js.map} +0 -0
  289. /package/dist/{chunk-Y4NKEXQT.js.map → chunk-5ATSXCAG.js.map} +0 -0
  290. /package/dist/{chunk-JDZFIR2S.js.map → chunk-5KGYTX5O.js.map} +0 -0
  291. /package/dist/{chunk-NW2E4CI2.js.map → chunk-5SMR542T.js.map} +0 -0
  292. /package/dist/{chunk-S7LWX2PQ.js.map → chunk-655FVTCD.js.map} +0 -0
  293. /package/dist/{chunk-ZSH2NRDV.js.map → chunk-6WGMZQGG.js.map} +0 -0
  294. /package/dist/{chunk-W47S5TIH.js.map → chunk-7VQ6AI7H.js.map} +0 -0
  295. /package/dist/{chunk-G7NYVKD6.js.map → chunk-B2NXOVZN.js.map} +0 -0
  296. /package/dist/{chunk-N7KYEVLK.js.map → chunk-BK2BVLZW.js.map} +0 -0
  297. /package/dist/{chunk-S2I7DL5Q.js.map → chunk-C2RW36YR.js.map} +0 -0
  298. /package/dist/{chunk-6LG7BWKW.js.map → chunk-CFZ4SXXH.js.map} +0 -0
  299. /package/dist/{chunk-4OSG5Y6M.js.map → chunk-DPSOFK4D.js.map} +0 -0
  300. /package/dist/{chunk-QOZJCSFO.js.map → chunk-DQR2LD3V.js.map} +0 -0
  301. /package/dist/{chunk-EBA5DA77.js.map → chunk-EOU6V4IN.js.map} +0 -0
  302. /package/dist/{chunk-5WCJLQTM.js.map → chunk-F2772ATT.js.map} +0 -0
  303. /package/dist/{chunk-46EST7JO.js.map → chunk-F2XNSIPP.js.map} +0 -0
  304. /package/dist/{chunk-PZHQWFR3.js.map → chunk-G3UUAQOD.js.map} +0 -0
  305. /package/dist/{chunk-YE36AJL7.js.map → chunk-GCVDFX66.js.map} +0 -0
  306. /package/dist/{chunk-FFOVKNQV.js.map → chunk-GFAM2LTC.js.map} +0 -0
  307. /package/dist/{chunk-T2YX56QI.js.map → chunk-GQJKVQJR.js.map} +0 -0
  308. /package/dist/{chunk-L5DAHSEZ.js.map → chunk-GWVNGDJW.js.map} +0 -0
  309. /package/dist/{chunk-N45NEBOD.js.map → chunk-GZXXPCWJ.js.map} +0 -0
  310. /package/dist/{chunk-EPJDSQHF.js.map → chunk-H5IUN433.js.map} +0 -0
  311. /package/dist/{chunk-EUAIYYYR.js.map → chunk-H6FREOYX.js.map} +0 -0
  312. /package/dist/{chunk-FSIMZNBC.js.map → chunk-HBAOOSHU.js.map} +0 -0
  313. /package/dist/{chunk-T3FMRLWQ.js.map → chunk-HFSPY26A.js.map} +0 -0
  314. /package/dist/{chunk-GH7AOMJD.js.map → chunk-IJMDBYCO.js.map} +0 -0
  315. /package/dist/{chunk-JQ7XU625.js.map → chunk-IUCPLBDS.js.map} +0 -0
  316. /package/dist/{chunk-WSGPFRBH.js.map → chunk-IWD33CF4.js.map} +0 -0
  317. /package/dist/{chunk-4IHBN6WU.js.map → chunk-JKMIGCK6.js.map} +0 -0
  318. /package/dist/{chunk-ROBHL3GL.js.map → chunk-JWX2Q6HS.js.map} +0 -0
  319. /package/dist/{chunk-JIHMUOOS.js.map → chunk-KLJVTZ3R.js.map} +0 -0
  320. /package/dist/{chunk-FP4JYE66.js.map → chunk-KW4AJ7T3.js.map} +0 -0
  321. /package/dist/{chunk-LS2FHUML.js.map → chunk-LQ5SS4OP.js.map} +0 -0
  322. /package/dist/{chunk-SIIRTDJ4.js.map → chunk-LWFWZTWX.js.map} +0 -0
  323. /package/dist/{chunk-BMWN7B3Y.js.map → chunk-LXATZLSC.js.map} +0 -0
  324. /package/dist/{chunk-B665A6BO.js.map → chunk-MJIOGYKX.js.map} +0 -0
  325. /package/dist/{chunk-RTKV5XHL.js.map → chunk-MO6N4QYY.js.map} +0 -0
  326. /package/dist/{chunk-N4C7QKOG.js.map → chunk-MWWAQXZ6.js.map} +0 -0
  327. /package/dist/{chunk-ZJVMUBYF.js.map → chunk-NHUX6GXA.js.map} +0 -0
  328. /package/dist/{chunk-CB6ANA2I.js.map → chunk-NZCKG25S.js.map} +0 -0
  329. /package/dist/{chunk-UMTCNEVQ.js.map → chunk-O2YPCFJT.js.map} +0 -0
  330. /package/dist/{chunk-JYZSRNR7.js.map → chunk-PIITB2YZ.js.map} +0 -0
  331. /package/dist/{chunk-UQDG3YLN.js.map → chunk-PRU7OF3Y.js.map} +0 -0
  332. /package/dist/{chunk-EU534WGS.js.map → chunk-PVHQSLNN.js.map} +0 -0
  333. /package/dist/{chunk-5VC7J76U.js.map → chunk-QPH52AZB.js.map} +0 -0
  334. /package/dist/{chunk-XISROV24.js.map → chunk-QSEUUQUF.js.map} +0 -0
  335. /package/dist/{chunk-QX6JN3O4.js.map → chunk-RP7PQWZM.js.map} +0 -0
  336. /package/dist/{chunk-O2IPAX26.js.map → chunk-RTTPBBAN.js.map} +0 -0
  337. /package/dist/{chunk-W5MCEVUS.js.map → chunk-RYYVMZBR.js.map} +0 -0
  338. /package/dist/{chunk-WLMZ2L5P.js.map → chunk-T7ASDYNK.js.map} +0 -0
  339. /package/dist/{chunk-P7TOIOT7.js.map → chunk-THEPGZBM.js.map} +0 -0
  340. /package/dist/{chunk-QODKDRSP.js.map → chunk-TMC7HBED.js.map} +0 -0
  341. /package/dist/{chunk-I7S55EOB.js.map → chunk-TPNCXSXP.js.map} +0 -0
  342. /package/dist/{chunk-SS3IS2JR.js.map → chunk-UGYUBENJ.js.map} +0 -0
  343. /package/dist/{chunk-GELS5Z5Z.js.map → chunk-V3TXIXXY.js.map} +0 -0
  344. /package/dist/{chunk-WVADKFWV.js.map → chunk-VNZMZPAC.js.map} +0 -0
  345. /package/dist/{chunk-JPTPS4OB.js.map → chunk-VPXIKBPX.js.map} +0 -0
  346. /package/dist/{chunk-OP6N4H6A.js.map → chunk-W3FVQBGF.js.map} +0 -0
  347. /package/dist/{chunk-DPR2WTN3.js.map → chunk-WGTR573G.js.map} +0 -0
  348. /package/dist/{chunk-W3K3HITK.js.map → chunk-WLT6LTQP.js.map} +0 -0
  349. /package/dist/{chunk-GMXWTJNU.js.map → chunk-XKRXN63M.js.map} +0 -0
  350. /package/dist/{chunk-KR6ZKECI.js.map → chunk-XYGQSDTH.js.map} +0 -0
  351. /package/dist/{chunk-6WHJ2EAB.js.map → chunk-Z64TS5V4.js.map} +0 -0
  352. /package/dist/{chunk-NHLLKEKK.js.map → chunk-ZAJLJ35W.js.map} +0 -0
  353. /package/dist/{chunk-O4SGYW7H.js.map → chunk-ZKHSAMTE.js.map} +0 -0
  354. /package/dist/{dreams-ledger-567VKVOU.js.map → dreams-ledger-UCHHRQ4R.js.map} +0 -0
  355. /package/dist/{resolution-7AY36LGJ.js.map → resolution-ZU5BIAJA.js.map} +0 -0
@@ -3,7 +3,7 @@ import {
3
3
  entityIndexVersion,
4
4
  entityRecentTranscriptLookbackHours,
5
5
  readRecentEntityTranscriptEntries
6
- } from "./chunk-W47S5TIH.js";
6
+ } from "./chunk-7VQ6AI7H.js";
7
7
  import "./chunk-SP4DB6SX.js";
8
8
  import "./chunk-H6Z3RNW3.js";
9
9
  import "./chunk-GKUA4MGB.js";
@@ -12,18 +12,18 @@ import "./chunk-SVH57F5Z.js";
12
12
  import "./chunk-MKYRCCSN.js";
13
13
  import "./chunk-2DQ2XREU.js";
14
14
  import "./chunk-NVKO5YKP.js";
15
- import "./chunk-PAZ35RJ4.js";
15
+ import "./chunk-4SCZZ3U7.js";
16
16
  import "./chunk-UHVXE24Y.js";
17
17
  import "./chunk-TRMJ6BYC.js";
18
18
  import "./chunk-V4JZCTMK.js";
19
- import "./chunk-N4C7QKOG.js";
20
- import "./chunk-O2IPAX26.js";
21
- import "./chunk-S7LWX2PQ.js";
22
- import "./chunk-T2YX56QI.js";
19
+ import "./chunk-MWWAQXZ6.js";
20
+ import "./chunk-RTTPBBAN.js";
21
+ import "./chunk-655FVTCD.js";
22
+ import "./chunk-GQJKVQJR.js";
23
23
  import "./chunk-CYEPCZN5.js";
24
- import "./chunk-T3FMRLWQ.js";
24
+ import "./chunk-HFSPY26A.js";
25
25
  import "./chunk-7VO6E5UD.js";
26
- import "./chunk-4O6WRBGE.js";
26
+ import "./chunk-KJXP6RUG.js";
27
27
  import "./chunk-VOKHZRHW.js";
28
28
  import "./chunk-GUMZC2BO.js";
29
29
  import "./chunk-TFA6HPOA.js";
@@ -31,6 +31,7 @@ import "./chunk-F4TWWUMP.js";
31
31
  import "./chunk-72A4L5JJ.js";
32
32
  import "./chunk-A7Q43EUZ.js";
33
33
  import "./chunk-S2V7RUCL.js";
34
+ import "./chunk-PPUNC7UX.js";
34
35
  import "./chunk-X3724WL4.js";
35
36
  import "./chunk-MRPOZBJC.js";
36
37
  import "./chunk-S2HLHAZ4.js";
@@ -109,6 +110,7 @@ import "./chunk-ZEFVK7XC.js";
109
110
  import "./chunk-6KH5NLQS.js";
110
111
  import "./chunk-P2QRMMVQ.js";
111
112
  import "./chunk-BTTPKDIL.js";
113
+ import "./chunk-QUIRIG2P.js";
112
114
  import "./chunk-LDPPTPO5.js";
113
115
  import "./chunk-MAAL6OZV.js";
114
116
  import "./chunk-A6XUJE5D.js";
@@ -4,10 +4,11 @@ import {
4
4
  readEvalTrajectoryReport,
5
5
  validateEvalTrajectoryReport,
6
6
  writeEvalTrajectoryReport
7
- } from "./chunk-JYZSRNR7.js";
7
+ } from "./chunk-PIITB2YZ.js";
8
8
  import "./chunk-ULM7JCDH.js";
9
- import "./chunk-4IHBN6WU.js";
10
- import "./chunk-B6O2YLUR.js";
9
+ import "./chunk-JKMIGCK6.js";
10
+ import "./chunk-2Z5DIDQD.js";
11
+ import "./chunk-QUIRIG2P.js";
11
12
  import "./chunk-KNA3BXXL.js";
12
13
  import "./chunk-PZ5AY32C.js";
13
14
  export {
@@ -8,7 +8,7 @@ import {
8
8
  readEvalTrajectoryReport,
9
9
  validateEvalTrajectoryReport,
10
10
  writeEvalTrajectoryReport
11
- } from "./chunk-JYZSRNR7.js";
11
+ } from "./chunk-PIITB2YZ.js";
12
12
  import {
13
13
  DEFAULT_EVAL_TRAJECTORY_MAX_FUTURE_SKEW_MS,
14
14
  DEFAULT_EVAL_TRAJECTORY_MAX_ROWS,
@@ -21,8 +21,9 @@ import {
21
21
  resolveEvalTrajectoryRunConfig,
22
22
  serializeEvalTrajectoryReport
23
23
  } from "./chunk-ULM7JCDH.js";
24
- import "./chunk-4IHBN6WU.js";
25
- import "./chunk-B6O2YLUR.js";
24
+ import "./chunk-JKMIGCK6.js";
25
+ import "./chunk-2Z5DIDQD.js";
26
+ import "./chunk-QUIRIG2P.js";
26
27
  import "./chunk-KNA3BXXL.js";
27
28
  import "./chunk-PZ5AY32C.js";
28
29
  export {
package/dist/evals.js CHANGED
@@ -12,8 +12,9 @@ import {
12
12
  validateEvalBenchmarkPack,
13
13
  validateEvalRunSummary,
14
14
  validateEvalShadowRecallRecord
15
- } from "./chunk-4IHBN6WU.js";
16
- import "./chunk-B6O2YLUR.js";
15
+ } from "./chunk-JKMIGCK6.js";
16
+ import "./chunk-2Z5DIDQD.js";
17
+ import "./chunk-QUIRIG2P.js";
17
18
  import "./chunk-KNA3BXXL.js";
18
19
  import "./chunk-PZ5AY32C.js";
19
20
  export {
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  externalWikiSearchOperation
3
- } from "./chunk-4OSG5Y6M.js";
3
+ } from "./chunk-DPSOFK4D.js";
4
4
  import "./chunk-7T4TOGMS.js";
5
5
  import "./chunk-7YQ6ESEA.js";
6
- import "./chunk-ZV65I6ME.js";
6
+ import "./chunk-XLBFX63V.js";
7
7
  import "./chunk-W4F3C7N7.js";
8
8
  import "./chunk-MPC7TYTZ.js";
9
9
  import "./chunk-V4MB5ONM.js";
@@ -12,8 +12,8 @@ import "./chunk-OGXXGHW6.js";
12
12
  import "./chunk-7Z3DLNSD.js";
13
13
  import "./chunk-VQ7B2Q6M.js";
14
14
  import "./chunk-BANSBRNX.js";
15
- import "./chunk-4KY5GSMB.js";
16
- import "./chunk-ROBHL3GL.js";
15
+ import "./chunk-4PDTVVSW.js";
16
+ import "./chunk-JWX2Q6HS.js";
17
17
  import "./chunk-GNVZQ5JN.js";
18
18
  import "./chunk-YN2UN7N3.js";
19
19
  import "./chunk-ML7ZJAKJ.js";
@@ -34,26 +34,26 @@ import "./chunk-SOBJ6NEY.js";
34
34
  import "./chunk-VW6VIJOS.js";
35
35
  import "./chunk-VYDGHJIN.js";
36
36
  import "./chunk-H7XKCNR6.js";
37
- import "./chunk-QOZJCSFO.js";
37
+ import "./chunk-DQR2LD3V.js";
38
38
  import "./chunk-E6UNM67F.js";
39
- import "./chunk-NW2E4CI2.js";
40
- import "./chunk-6WHJ2EAB.js";
39
+ import "./chunk-5SMR542T.js";
40
+ import "./chunk-Z64TS5V4.js";
41
41
  import "./chunk-AQEJKOKI.js";
42
- import "./chunk-HM7RHKS4.js";
42
+ import "./chunk-4RNBLLZR.js";
43
43
  import "./chunk-UD7UNYRD.js";
44
44
  import "./chunk-IISBCCWR.js";
45
45
  import "./chunk-3F3HA3R2.js";
46
46
  import "./chunk-FT4UQYOV.js";
47
47
  import "./chunk-2YA5N2BY.js";
48
48
  import "./chunk-DMDWFQMR.js";
49
- import "./chunk-ZJVMUBYF.js";
50
- import "./chunk-5VC7J76U.js";
49
+ import "./chunk-NHUX6GXA.js";
50
+ import "./chunk-QPH52AZB.js";
51
51
  import "./chunk-AZEZSQ5R.js";
52
52
  import "./chunk-EI6V5UXY.js";
53
53
  import "./chunk-M7KGIW5F.js";
54
54
  import "./chunk-5TJEOU6Y.js";
55
55
  import "./chunk-754XN6LX.js";
56
- import "./chunk-BLVHDY2U.js";
56
+ import "./chunk-DOWACHYO.js";
57
57
  import "./chunk-5MA7ZLPD.js";
58
58
  import "./chunk-LTHVM4XN.js";
59
59
  import "./chunk-EU6IRUCY.js";
@@ -66,12 +66,12 @@ import "./chunk-YRULQW5J.js";
66
66
  import "./chunk-WTWQA7BB.js";
67
67
  import "./chunk-VZIAVM72.js";
68
68
  import "./chunk-HRATODNO.js";
69
- import "./chunk-XISROV24.js";
70
- import "./chunk-GELS5Z5Z.js";
71
- import "./chunk-FUFAXVBA.js";
69
+ import "./chunk-QSEUUQUF.js";
70
+ import "./chunk-V3TXIXXY.js";
71
+ import "./chunk-RI2KCQHP.js";
72
72
  import "./chunk-UFGFMWAD.js";
73
- import "./chunk-BMWN7B3Y.js";
74
- import "./chunk-P5NQN4JE.js";
73
+ import "./chunk-LXATZLSC.js";
74
+ import "./chunk-C6JMGAMO.js";
75
75
  import "./chunk-4IYIGN53.js";
76
76
  import "./chunk-RXFCU3CY.js";
77
77
  import "./chunk-2LSZVONP.js";
@@ -79,10 +79,10 @@ import "./chunk-DEUNUKTD.js";
79
79
  import "./chunk-LXY5VVGM.js";
80
80
  import "./chunk-GKCXTSFF.js";
81
81
  import "./chunk-ZY2MNJR6.js";
82
- import "./chunk-TITG2NBS.js";
82
+ import "./chunk-2PYHLSXK.js";
83
83
  import "./chunk-3UXOZBHV.js";
84
84
  import "./chunk-PIWFNPQT.js";
85
- import "./chunk-WVADKFWV.js";
85
+ import "./chunk-VNZMZPAC.js";
86
86
  import "./chunk-GZFKCLRC.js";
87
87
  import "./chunk-6JMQR72P.js";
88
88
  import "./chunk-CLWBFR7Q.js";
@@ -112,19 +112,19 @@ import "./chunk-A7AISUJI.js";
112
112
  import "./chunk-236PXYG7.js";
113
113
  import "./chunk-ZCUTSMR2.js";
114
114
  import "./chunk-QDW3E4RD.js";
115
- import "./chunk-S2I7DL5Q.js";
116
- import "./chunk-PAZ35RJ4.js";
115
+ import "./chunk-C2RW36YR.js";
116
+ import "./chunk-4SCZZ3U7.js";
117
117
  import "./chunk-UHVXE24Y.js";
118
118
  import "./chunk-TRMJ6BYC.js";
119
119
  import "./chunk-V4JZCTMK.js";
120
- import "./chunk-N4C7QKOG.js";
121
- import "./chunk-O2IPAX26.js";
122
- import "./chunk-S7LWX2PQ.js";
123
- import "./chunk-T2YX56QI.js";
120
+ import "./chunk-MWWAQXZ6.js";
121
+ import "./chunk-RTTPBBAN.js";
122
+ import "./chunk-655FVTCD.js";
123
+ import "./chunk-GQJKVQJR.js";
124
124
  import "./chunk-CYEPCZN5.js";
125
- import "./chunk-T3FMRLWQ.js";
125
+ import "./chunk-HFSPY26A.js";
126
126
  import "./chunk-7VO6E5UD.js";
127
- import "./chunk-4O6WRBGE.js";
127
+ import "./chunk-KJXP6RUG.js";
128
128
  import "./chunk-VOKHZRHW.js";
129
129
  import "./chunk-GUMZC2BO.js";
130
130
  import "./chunk-TFA6HPOA.js";
@@ -132,6 +132,7 @@ import "./chunk-F4TWWUMP.js";
132
132
  import "./chunk-72A4L5JJ.js";
133
133
  import "./chunk-A7Q43EUZ.js";
134
134
  import "./chunk-S2V7RUCL.js";
135
+ import "./chunk-PPUNC7UX.js";
135
136
  import "./chunk-X3724WL4.js";
136
137
  import "./chunk-MRPOZBJC.js";
137
138
  import "./chunk-S2HLHAZ4.js";
@@ -187,13 +188,13 @@ import "./chunk-3MO4LWYU.js";
187
188
  import "./chunk-YBA52OKG.js";
188
189
  import "./chunk-RMMA44HE.js";
189
190
  import "./chunk-T2JSUEH6.js";
190
- import "./chunk-6LG7BWKW.js";
191
+ import "./chunk-CFZ4SXXH.js";
191
192
  import "./chunk-K7BN34IA.js";
192
193
  import "./chunk-353C5UNV.js";
193
194
  import "./chunk-5LRV557D.js";
194
195
  import "./chunk-BT7NVCML.js";
195
196
  import "./chunk-STBX5X6B.js";
196
- import "./chunk-W5MCEVUS.js";
197
+ import "./chunk-RYYVMZBR.js";
197
198
  import "./chunk-7LCGFUMB.js";
198
199
  import "./chunk-X7Y7WX73.js";
199
200
  import "./chunk-WEHSQBFR.js";
@@ -204,7 +205,7 @@ import "./chunk-SOAU2OE2.js";
204
205
  import "./chunk-BJMBJZ2Y.js";
205
206
  import "./chunk-UKJAGEXH.js";
206
207
  import "./chunk-FP2373TW.js";
207
- import "./chunk-RTKV5XHL.js";
208
+ import "./chunk-MO6N4QYY.js";
208
209
  import "./chunk-SA6GMZJY.js";
209
210
  import "./chunk-QUMKDRCF.js";
210
211
  import "./chunk-GKJJNO7C.js";
@@ -227,7 +228,7 @@ import "./chunk-BTNNL7ZW.js";
227
228
  import "./chunk-JDSVLVCG.js";
228
229
  import "./chunk-5GKPFL3S.js";
229
230
  import "./chunk-JAKIDQB2.js";
230
- import "./chunk-63B2IZYE.js";
231
+ import "./chunk-23ZQPP2G.js";
231
232
  import "./chunk-UI3NYK34.js";
232
233
  import "./chunk-3E6DGSGZ.js";
233
234
  import "./chunk-EFHNFTWB.js";
@@ -257,10 +258,11 @@ import "./chunk-6KH5NLQS.js";
257
258
  import "./chunk-P2QRMMVQ.js";
258
259
  import "./chunk-3MUKQQ7A.js";
259
260
  import "./chunk-BTTPKDIL.js";
260
- import "./chunk-46EST7JO.js";
261
+ import "./chunk-F2XNSIPP.js";
261
262
  import "./chunk-G73MCJKL.js";
262
263
  import "./chunk-A2IYSXDQ.js";
263
- import "./chunk-B6O2YLUR.js";
264
+ import "./chunk-2Z5DIDQD.js";
265
+ import "./chunk-QUIRIG2P.js";
264
266
  import "./chunk-DAOMWGO2.js";
265
267
  import "./chunk-RFYAYKTD.js";
266
268
  import "./chunk-4MN27537.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ExtractionEngine,
3
3
  shouldEnableLocalExtractionThinking
4
- } from "./chunk-WSGPFRBH.js";
4
+ } from "./chunk-IWD33CF4.js";
5
5
  import "./chunk-22W2XWGH.js";
6
6
  import "./chunk-54V4BZWP.js";
7
7
  import "./chunk-2CGLBUW3.js";
@@ -33,9 +33,9 @@ import "./chunk-EI6V5UXY.js";
33
33
  import "./chunk-M7KGIW5F.js";
34
34
  import "./chunk-5TJEOU6Y.js";
35
35
  import "./chunk-754XN6LX.js";
36
- import "./chunk-BLVHDY2U.js";
36
+ import "./chunk-DOWACHYO.js";
37
37
  import "./chunk-5MA7ZLPD.js";
38
- import "./chunk-TITG2NBS.js";
38
+ import "./chunk-2PYHLSXK.js";
39
39
  import "./chunk-3UXOZBHV.js";
40
40
  import "./chunk-PIWFNPQT.js";
41
41
  import "./chunk-CLWBFR7Q.js";
@@ -53,18 +53,18 @@ import "./chunk-ADXCCZL2.js";
53
53
  import "./chunk-236PXYG7.js";
54
54
  import "./chunk-ZCUTSMR2.js";
55
55
  import "./chunk-QDW3E4RD.js";
56
- import "./chunk-PAZ35RJ4.js";
56
+ import "./chunk-4SCZZ3U7.js";
57
57
  import "./chunk-UHVXE24Y.js";
58
58
  import "./chunk-TRMJ6BYC.js";
59
59
  import "./chunk-V4JZCTMK.js";
60
- import "./chunk-N4C7QKOG.js";
61
- import "./chunk-O2IPAX26.js";
62
- import "./chunk-S7LWX2PQ.js";
63
- import "./chunk-T2YX56QI.js";
60
+ import "./chunk-MWWAQXZ6.js";
61
+ import "./chunk-RTTPBBAN.js";
62
+ import "./chunk-655FVTCD.js";
63
+ import "./chunk-GQJKVQJR.js";
64
64
  import "./chunk-CYEPCZN5.js";
65
- import "./chunk-T3FMRLWQ.js";
65
+ import "./chunk-HFSPY26A.js";
66
66
  import "./chunk-7VO6E5UD.js";
67
- import "./chunk-4O6WRBGE.js";
67
+ import "./chunk-KJXP6RUG.js";
68
68
  import "./chunk-VOKHZRHW.js";
69
69
  import "./chunk-GUMZC2BO.js";
70
70
  import "./chunk-TFA6HPOA.js";
@@ -72,6 +72,7 @@ import "./chunk-F4TWWUMP.js";
72
72
  import "./chunk-72A4L5JJ.js";
73
73
  import "./chunk-A7Q43EUZ.js";
74
74
  import "./chunk-S2V7RUCL.js";
75
+ import "./chunk-PPUNC7UX.js";
75
76
  import "./chunk-X3724WL4.js";
76
77
  import "./chunk-MRPOZBJC.js";
77
78
  import "./chunk-S2HLHAZ4.js";
@@ -160,6 +161,7 @@ import "./chunk-6KH5NLQS.js";
160
161
  import "./chunk-P2QRMMVQ.js";
161
162
  import "./chunk-3MUKQQ7A.js";
162
163
  import "./chunk-BTTPKDIL.js";
164
+ import "./chunk-QUIRIG2P.js";
163
165
  import "./chunk-LDPPTPO5.js";
164
166
  import "./chunk-MAAL6OZV.js";
165
167
  import "./chunk-A6XUJE5D.js";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  applyUtilityPromotionRuntimePolicy,
3
3
  loadUtilityRuntimeValues
4
- } from "./chunk-SWIKABKI.js";
4
+ } from "./chunk-3Q3XD3NO.js";
5
5
  import {
6
6
  decideTierTransition
7
7
  } from "./chunk-GCBIXUPT.js";
8
8
  import {
9
9
  TierMigrationExecutor
10
10
  } from "./chunk-YRFAYOFQ.js";
11
- import "./chunk-W3K3HITK.js";
12
- import "./chunk-EBA5DA77.js";
11
+ import "./chunk-WLT6LTQP.js";
12
+ import "./chunk-EOU6V4IN.js";
13
13
  import "./chunk-TBBDFYXW.js";
14
14
  import {
15
15
  excludeSupportPassportPrivateMemories
@@ -25,7 +25,8 @@ import {
25
25
  resolveUtilityLearningCapabilities
26
26
  } from "./chunk-C5LWPYS3.js";
27
27
  import "./chunk-A2IYSXDQ.js";
28
- import "./chunk-B6O2YLUR.js";
28
+ import "./chunk-2Z5DIDQD.js";
29
+ import "./chunk-QUIRIG2P.js";
29
30
  import "./chunk-KNA3BXXL.js";
30
31
  import "./chunk-PZ5AY32C.js";
31
32
 
@@ -273,4 +274,4 @@ export {
273
274
  LIFECYCLE_INIT_DONE_MARKER,
274
275
  runFirstStartMigration
275
276
  };
276
- //# sourceMappingURL=first-start-migration-6A5BJPDW.js.map
277
+ //# sourceMappingURL=first-start-migration-QVD22WWS.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/maintenance/first-start-migration.ts"],"sourcesContent":["/**\n * First-start lifecycle migration (issue #686 retention-completion).\n *\n * When `lifecyclePolicyEnabled` is true but the memoryDir has never been\n * touched by the lifecycle policy (i.e. the state marker\n * `.lifecycle-init-done` does not exist), run a one-time, rate-limited\n * demotion sweep so the hot tier isn't flooded on the first real cron pass.\n *\n * Design constraints:\n * - Capped at `FIRST_START_DEMOTION_CAP` (default 50) demotions per run\n * so a large pre-existing corpus doesn't stall startup.\n * - Resumable: subsequent invocations see the marker and skip.\n * - The marker is written AFTER all mutations succeed so a crash during\n * migration doesn't leave a false \"done\" marker (CLAUDE.md rule #12).\n * - Dry-run mode reports candidates without mutating anything or writing\n * the marker (safe to call from tests).\n */\n\nimport path from \"node:path\";\nimport { access, mkdir, readFile, unlink, writeFile } from \"node:fs/promises\";\nimport {\n resolveMemoryLifecycleCapabilities,\n resolveQmdCapabilities,\n resolveUtilityLearningCapabilities} from \"../capabilities.js\";\nimport type { StorageManager } from \"../storage.js\";\nimport type { PluginConfig } from \"../types.js\";\nimport {\n decideTierTransition,\n type TierRoutingPolicy,\n} from \"../tier-routing.js\";\nimport { TierMigrationExecutor } from \"../tier-migration.js\";\nimport type { SearchBackend } from \"../search/port.js\";\nimport {\n applyUtilityPromotionRuntimePolicy,\n loadUtilityRuntimeValues,\n} from \"../utility-runtime.js\";\nimport { excludeSupportPassportPrivateMemories } from \"../support-passport/card-projection.js\";\n\nexport const FIRST_START_DEMOTION_CAP = 50;\nexport const LIFECYCLE_INIT_DONE_MARKER = \".lifecycle-init-done\";\nconst LIFECYCLE_QMD_REFRESH_PENDING_MARKER = \".lifecycle-qmd-refresh-pending\";\n\ntype QmdRefreshPendingMarker = {\n createdAt: string;\n collection: string;\n};\n\nexport interface FirstStartMigrationOptions {\n storage: StorageManager;\n config: PluginConfig;\n /** Override the per-run demotion cap (default: FIRST_START_DEMOTION_CAP). */\n demotionCap?: number;\n /** When true, report candidates but do not mutate or write the marker. */\n dryRun?: boolean;\n /** Optional QMD backend used to journal demotions and refresh tier collections. */\n qmd?: SearchBackend;\n /** Hot-tier QMD collection name. Defaults to config.qmdCollection. */\n hotCollection?: string;\n /** Cold-tier QMD collection name. Defaults to config.qmdColdCollection. */\n coldCollection?: string;\n /** Optional shutdown signal. When aborted, the migration stops without writing the done marker. */\n signal?: AbortSignal;\n /** Override clock for tests. */\n now?: () => Date;\n}\n\nexport interface FirstStartMigrationResult {\n skipped: boolean;\n skipReason?: string;\n dryRun: boolean;\n candidateCount: number;\n demotedCount: number;\n /** Number of individual demotion failures. When > 0, the init-done marker is\n * NOT written so the next start can retry the failed demotions. */\n failureCount: number;\n cappedAt: number;\n}\n\nfunction markerPath(memoryDir: string): string {\n return path.join(memoryDir, \"state\", LIFECYCLE_INIT_DONE_MARKER);\n}\n\nfunction qmdRefreshPendingPath(memoryDir: string): string {\n return path.join(memoryDir, \"state\", LIFECYCLE_QMD_REFRESH_PENDING_MARKER);\n}\n\nasync function markerExists(memoryDir: string): Promise<boolean> {\n try {\n await access(markerPath(memoryDir));\n return true;\n } catch {\n return false;\n }\n}\n\nasync function writeMarker(memoryDir: string, now: Date): Promise<void> {\n const p = markerPath(memoryDir);\n await mkdir(path.dirname(p), { recursive: true });\n await writeFile(p, JSON.stringify({ createdAt: now.toISOString() }), \"utf-8\");\n}\n\nasync function readQmdRefreshPending(memoryDir: string): Promise<QmdRefreshPendingMarker | null> {\n try {\n const raw = await readFile(qmdRefreshPendingPath(memoryDir), \"utf-8\");\n const parsed = JSON.parse(raw) as unknown;\n if (\n parsed &&\n typeof parsed === \"object\" &&\n typeof (parsed as { createdAt?: unknown }).createdAt === \"string\" &&\n typeof (parsed as { collection?: unknown }).collection === \"string\" &&\n (parsed as { collection: string }).collection.length > 0\n ) {\n return parsed as QmdRefreshPendingMarker;\n }\n return null;\n } catch {\n return null;\n }\n}\n\nasync function pathExists(p: string): Promise<boolean> {\n try {\n await access(p);\n return true;\n } catch {\n return false;\n }\n}\n\nasync function writeQmdRefreshPending(memoryDir: string, now: Date, collection: string): Promise<void> {\n const p = qmdRefreshPendingPath(memoryDir);\n await mkdir(path.dirname(p), { recursive: true });\n await writeFile(p, JSON.stringify({ createdAt: now.toISOString(), collection }), \"utf-8\");\n}\n\nasync function clearQmdRefreshPending(memoryDir: string): Promise<void> {\n await unlink(qmdRefreshPendingPath(memoryDir)).catch(() => {});\n}\n\nasync function buildTierRoutingPolicy(config: PluginConfig): Promise<TierRoutingPolicy> {\n const basePolicy: TierRoutingPolicy = {\n enabled: resolveQmdCapabilities(config).qmdTierMigration,\n demotionMinAgeDays: config.qmdTierDemotionMinAgeDays,\n demotionValueThreshold: config.qmdTierDemotionValueThreshold,\n promotionValueThreshold: config.qmdTierPromotionValueThreshold,\n };\n const runtime = await loadUtilityRuntimeValues({\n memoryDir: config.memoryDir,\n memoryUtilityLearningEnabled: resolveUtilityLearningCapabilities(config).memoryUtilityLearning,\n promotionByOutcomeEnabled: resolveUtilityLearningCapabilities(config).promotionByOutcome,\n });\n return applyUtilityPromotionRuntimePolicy(basePolicy, runtime);\n}\n\nasync function refreshQmdCollection(\n qmd: SearchBackend,\n collection: string,\n signal?: AbortSignal,\n): Promise<void> {\n if (typeof qmd.updateCollectionStrict === \"function\") {\n await qmd.updateCollectionStrict(collection, { signal });\n return;\n }\n await qmd.updateCollection(collection, { signal });\n}\n\n/**\n * Run the first-start migration sweep. No-ops when:\n * - `lifecyclePolicyEnabled` is false, or\n * - `qmdTierMigrationEnabled` is false (no tier migration configured), or\n * - the state marker already exists (already ran).\n *\n * Returns a structured result describing what happened.\n */\nexport async function runFirstStartMigration(\n options: FirstStartMigrationOptions,\n): Promise<FirstStartMigrationResult> {\n const {\n storage,\n config,\n demotionCap = FIRST_START_DEMOTION_CAP,\n dryRun = false,\n qmd,\n signal,\n } = options;\n const now = (options.now ?? (() => new Date()))();\n const lifecycleCaps = resolveMemoryLifecycleCapabilities(config);\n const abortedResult = (candidateCount = 0, demotedCount = 0, failureCount = 0): FirstStartMigrationResult => ({\n skipped: candidateCount === 0 && demotedCount === 0 && failureCount === 0,\n skipReason: candidateCount === 0 && demotedCount === 0 && failureCount === 0 ? \"aborted\" : undefined,\n dryRun,\n candidateCount,\n demotedCount,\n failureCount,\n cappedAt: demotionCap,\n });\n\n if (signal?.aborted) {\n return abortedResult();\n }\n\n if (!lifecycleCaps.lifecyclePolicy) {\n return {\n skipped: true,\n skipReason: \"lifecyclePolicyEnabled is false\",\n dryRun,\n candidateCount: 0,\n demotedCount: 0,\n failureCount: 0,\n cappedAt: demotionCap,\n };\n }\n\n if (!resolveQmdCapabilities(config).qmdTierMigration) {\n return {\n skipped: true,\n skipReason: \"qmdTierMigrationEnabled is false\",\n dryRun,\n candidateCount: 0,\n demotedCount: 0,\n failureCount: 0,\n cappedAt: demotionCap,\n };\n }\n\n if (await markerExists(config.memoryDir)) {\n return {\n skipped: true,\n skipReason: \"lifecycle-init-done marker already present\",\n dryRun,\n candidateCount: 0,\n demotedCount: 0,\n failureCount: 0,\n cappedAt: demotionCap,\n };\n }\n\n if (signal?.aborted) {\n return abortedResult();\n }\n\n const policy = await buildTierRoutingPolicy(config);\n if (signal?.aborted) {\n return abortedResult();\n }\n\n const hotMemories = excludeSupportPassportPrivateMemories(await storage.readAllMemories());\n if (signal?.aborted) {\n return abortedResult();\n }\n\n // Find hot memories that should be demoted to cold\n const demotionCandidates = hotMemories.filter((m) => {\n const decision = decideTierTransition(m, \"hot\", policy, now);\n return decision.changed && decision.nextTier === \"cold\";\n });\n\n const candidateCount = demotionCandidates.length;\n // Apply cap\n const batch = demotionCandidates.slice(0, demotionCap);\n\n if (dryRun) {\n return {\n skipped: false,\n dryRun: true,\n candidateCount,\n demotedCount: 0,\n failureCount: 0,\n cappedAt: demotionCap,\n };\n }\n\n let demotedCount = 0;\n let failureCount = 0;\n let qmdRefreshPendingForRun = false;\n const executor = qmd\n ? new TierMigrationExecutor({\n storage,\n qmd,\n hotCollection: options.hotCollection ?? config.qmdCollection ?? \"openclaw-engram\",\n coldCollection: options.coldCollection ?? config.qmdColdCollection ?? \"openclaw-engram-cold\",\n })\n : null;\n const coldCollection = options.coldCollection ?? config.qmdColdCollection ?? \"openclaw-engram-cold\";\n\n for (const memory of batch) {\n if (signal?.aborted) {\n return abortedResult(candidateCount, demotedCount, failureCount);\n }\n try {\n const result = executor\n ? await executor.migrateMemory({\n memory,\n fromTier: \"hot\",\n toTier: \"cold\",\n reason: \"first-start-lifecycle-migration\",\n })\n : await storage.migrateMemoryToTier(memory, \"cold\");\n if (result.changed) {\n demotedCount += 1;\n }\n } catch {\n const targetPath = storage.buildTierMemoryPath(memory, \"cold\");\n const [targetExists, sourceExists] = await Promise.all([\n pathExists(targetPath),\n pathExists(memory.path),\n ]);\n const movedToCold = targetExists && !sourceExists;\n if (movedToCold) {\n if (!qmd) {\n demotedCount += 1;\n continue;\n }\n try {\n await refreshQmdCollection(qmd, coldCollection, signal);\n demotedCount += 1;\n continue;\n } catch {\n qmdRefreshPendingForRun = true;\n try {\n await writeQmdRefreshPending(config.memoryDir, now, coldCollection);\n } catch {\n // The end-of-run retry below still gets a chance to repair the QMD\n // state before we decide whether the init marker is safe to write.\n }\n demotedCount += 1;\n continue;\n }\n }\n // Non-fatal — individual migration failures are counted but do not abort\n // the sweep. We track them so the marker is only written when ALL\n // attempted demotions succeeded (CLAUDE.md rule #12: don't write a\n // success marker after a partial failure).\n failureCount += 1;\n }\n }\n\n // Write marker AFTER all mutations succeed (CLAUDE.md rule #12).\n // If any demotion failed, skip the marker so the next start retries.\n if (signal?.aborted) {\n return abortedResult(candidateCount, demotedCount, failureCount);\n }\n const persistedQmdRefreshPending = qmd ? await readQmdRefreshPending(config.memoryDir) : null;\n const hasPersistedQmdRefreshPending = persistedQmdRefreshPending?.collection === coldCollection;\n if (qmd && persistedQmdRefreshPending && persistedQmdRefreshPending.collection !== coldCollection) {\n failureCount += 1;\n }\n if (qmd && (qmdRefreshPendingForRun || hasPersistedQmdRefreshPending)) {\n try {\n await refreshQmdCollection(qmd, coldCollection, signal);\n await clearQmdRefreshPending(config.memoryDir);\n } catch {\n failureCount += 1;\n }\n }\n if (failureCount === 0) {\n await writeMarker(config.memoryDir, now);\n }\n\n return {\n skipped: false,\n dryRun: false,\n candidateCount,\n demotedCount,\n failureCount,\n cappedAt: demotionCap,\n };\n}\n"],"mappings":"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","names":["candidateCount","demotedCount","failureCount"]}
1
+ {"version":3,"sources":["../src/maintenance/first-start-migration.ts"],"sourcesContent":["/**\n * First-start lifecycle migration (issue #686 retention-completion).\n *\n * When `lifecyclePolicyEnabled` is true but the memoryDir has never been\n * touched by the lifecycle policy (i.e. the state marker\n * `.lifecycle-init-done` does not exist), run a one-time, rate-limited\n * demotion sweep so the hot tier isn't flooded on the first real cron pass.\n *\n * Design constraints:\n * - Capped at `FIRST_START_DEMOTION_CAP` (default 50) demotions per run\n * so a large pre-existing corpus doesn't stall startup.\n * - Resumable: subsequent invocations see the marker and skip.\n * - The marker is written AFTER all mutations succeed so a crash during\n * migration doesn't leave a false \"done\" marker (CLAUDE.md rule #12).\n * - Dry-run mode reports candidates without mutating anything or writing\n * the marker (safe to call from tests).\n */\n\nimport path from \"node:path\";\nimport { access, mkdir, readFile, unlink, writeFile } from \"node:fs/promises\";\nimport {\n resolveMemoryLifecycleCapabilities,\n resolveQmdCapabilities,\n resolveUtilityLearningCapabilities} from \"../capabilities.js\";\nimport type { StorageManager } from \"../storage.js\";\nimport type { PluginConfig } from \"../types.js\";\nimport {\n decideTierTransition,\n type TierRoutingPolicy,\n} from \"../tier-routing.js\";\nimport { TierMigrationExecutor } from \"../tier-migration.js\";\nimport type { SearchBackend } from \"../search/port.js\";\nimport {\n applyUtilityPromotionRuntimePolicy,\n loadUtilityRuntimeValues,\n} from \"../utility-runtime.js\";\nimport { excludeSupportPassportPrivateMemories } from \"../support-passport/card-projection.js\";\n\nexport const FIRST_START_DEMOTION_CAP = 50;\nexport const LIFECYCLE_INIT_DONE_MARKER = \".lifecycle-init-done\";\nconst LIFECYCLE_QMD_REFRESH_PENDING_MARKER = \".lifecycle-qmd-refresh-pending\";\n\ntype QmdRefreshPendingMarker = {\n createdAt: string;\n collection: string;\n};\n\nexport interface FirstStartMigrationOptions {\n storage: StorageManager;\n config: PluginConfig;\n /** Override the per-run demotion cap (default: FIRST_START_DEMOTION_CAP). */\n demotionCap?: number;\n /** When true, report candidates but do not mutate or write the marker. */\n dryRun?: boolean;\n /** Optional QMD backend used to journal demotions and refresh tier collections. */\n qmd?: SearchBackend;\n /** Hot-tier QMD collection name. Defaults to config.qmdCollection. */\n hotCollection?: string;\n /** Cold-tier QMD collection name. Defaults to config.qmdColdCollection. */\n coldCollection?: string;\n /** Optional shutdown signal. When aborted, the migration stops without writing the done marker. */\n signal?: AbortSignal;\n /** Override clock for tests. */\n now?: () => Date;\n}\n\nexport interface FirstStartMigrationResult {\n skipped: boolean;\n skipReason?: string;\n dryRun: boolean;\n candidateCount: number;\n demotedCount: number;\n /** Number of individual demotion failures. When > 0, the init-done marker is\n * NOT written so the next start can retry the failed demotions. */\n failureCount: number;\n cappedAt: number;\n}\n\nfunction markerPath(memoryDir: string): string {\n return path.join(memoryDir, \"state\", LIFECYCLE_INIT_DONE_MARKER);\n}\n\nfunction qmdRefreshPendingPath(memoryDir: string): string {\n return path.join(memoryDir, \"state\", LIFECYCLE_QMD_REFRESH_PENDING_MARKER);\n}\n\nasync function markerExists(memoryDir: string): Promise<boolean> {\n try {\n await access(markerPath(memoryDir));\n return true;\n } catch {\n return false;\n }\n}\n\nasync function writeMarker(memoryDir: string, now: Date): Promise<void> {\n const p = markerPath(memoryDir);\n await mkdir(path.dirname(p), { recursive: true });\n await writeFile(p, JSON.stringify({ createdAt: now.toISOString() }), \"utf-8\");\n}\n\nasync function readQmdRefreshPending(memoryDir: string): Promise<QmdRefreshPendingMarker | null> {\n try {\n const raw = await readFile(qmdRefreshPendingPath(memoryDir), \"utf-8\");\n const parsed = JSON.parse(raw) as unknown;\n if (\n parsed &&\n typeof parsed === \"object\" &&\n typeof (parsed as { createdAt?: unknown }).createdAt === \"string\" &&\n typeof (parsed as { collection?: unknown }).collection === \"string\" &&\n (parsed as { collection: string }).collection.length > 0\n ) {\n return parsed as QmdRefreshPendingMarker;\n }\n return null;\n } catch {\n return null;\n }\n}\n\nasync function pathExists(p: string): Promise<boolean> {\n try {\n await access(p);\n return true;\n } catch {\n return false;\n }\n}\n\nasync function writeQmdRefreshPending(memoryDir: string, now: Date, collection: string): Promise<void> {\n const p = qmdRefreshPendingPath(memoryDir);\n await mkdir(path.dirname(p), { recursive: true });\n await writeFile(p, JSON.stringify({ createdAt: now.toISOString(), collection }), \"utf-8\");\n}\n\nasync function clearQmdRefreshPending(memoryDir: string): Promise<void> {\n await unlink(qmdRefreshPendingPath(memoryDir)).catch(() => {});\n}\n\nasync function buildTierRoutingPolicy(config: PluginConfig): Promise<TierRoutingPolicy> {\n const basePolicy: TierRoutingPolicy = {\n enabled: resolveQmdCapabilities(config).qmdTierMigration,\n demotionMinAgeDays: config.qmdTierDemotionMinAgeDays,\n demotionValueThreshold: config.qmdTierDemotionValueThreshold,\n promotionValueThreshold: config.qmdTierPromotionValueThreshold,\n };\n const runtime = await loadUtilityRuntimeValues({\n memoryDir: config.memoryDir,\n memoryUtilityLearningEnabled: resolveUtilityLearningCapabilities(config).memoryUtilityLearning,\n promotionByOutcomeEnabled: resolveUtilityLearningCapabilities(config).promotionByOutcome,\n });\n return applyUtilityPromotionRuntimePolicy(basePolicy, runtime);\n}\n\nasync function refreshQmdCollection(\n qmd: SearchBackend,\n collection: string,\n signal?: AbortSignal,\n): Promise<void> {\n if (typeof qmd.updateCollectionStrict === \"function\") {\n await qmd.updateCollectionStrict(collection, { signal });\n return;\n }\n await qmd.updateCollection(collection, { signal });\n}\n\n/**\n * Run the first-start migration sweep. No-ops when:\n * - `lifecyclePolicyEnabled` is false, or\n * - `qmdTierMigrationEnabled` is false (no tier migration configured), or\n * - the state marker already exists (already ran).\n *\n * Returns a structured result describing what happened.\n */\nexport async function runFirstStartMigration(\n options: FirstStartMigrationOptions,\n): Promise<FirstStartMigrationResult> {\n const {\n storage,\n config,\n demotionCap = FIRST_START_DEMOTION_CAP,\n dryRun = false,\n qmd,\n signal,\n } = options;\n const now = (options.now ?? (() => new Date()))();\n const lifecycleCaps = resolveMemoryLifecycleCapabilities(config);\n const abortedResult = (candidateCount = 0, demotedCount = 0, failureCount = 0): FirstStartMigrationResult => ({\n skipped: candidateCount === 0 && demotedCount === 0 && failureCount === 0,\n skipReason: candidateCount === 0 && demotedCount === 0 && failureCount === 0 ? \"aborted\" : undefined,\n dryRun,\n candidateCount,\n demotedCount,\n failureCount,\n cappedAt: demotionCap,\n });\n\n if (signal?.aborted) {\n return abortedResult();\n }\n\n if (!lifecycleCaps.lifecyclePolicy) {\n return {\n skipped: true,\n skipReason: \"lifecyclePolicyEnabled is false\",\n dryRun,\n candidateCount: 0,\n demotedCount: 0,\n failureCount: 0,\n cappedAt: demotionCap,\n };\n }\n\n if (!resolveQmdCapabilities(config).qmdTierMigration) {\n return {\n skipped: true,\n skipReason: \"qmdTierMigrationEnabled is false\",\n dryRun,\n candidateCount: 0,\n demotedCount: 0,\n failureCount: 0,\n cappedAt: demotionCap,\n };\n }\n\n if (await markerExists(config.memoryDir)) {\n return {\n skipped: true,\n skipReason: \"lifecycle-init-done marker already present\",\n dryRun,\n candidateCount: 0,\n demotedCount: 0,\n failureCount: 0,\n cappedAt: demotionCap,\n };\n }\n\n if (signal?.aborted) {\n return abortedResult();\n }\n\n const policy = await buildTierRoutingPolicy(config);\n if (signal?.aborted) {\n return abortedResult();\n }\n\n const hotMemories = excludeSupportPassportPrivateMemories(await storage.readAllMemories());\n if (signal?.aborted) {\n return abortedResult();\n }\n\n // Find hot memories that should be demoted to cold\n const demotionCandidates = hotMemories.filter((m) => {\n const decision = decideTierTransition(m, \"hot\", policy, now);\n return decision.changed && decision.nextTier === \"cold\";\n });\n\n const candidateCount = demotionCandidates.length;\n // Apply cap\n const batch = demotionCandidates.slice(0, demotionCap);\n\n if (dryRun) {\n return {\n skipped: false,\n dryRun: true,\n candidateCount,\n demotedCount: 0,\n failureCount: 0,\n cappedAt: demotionCap,\n };\n }\n\n let demotedCount = 0;\n let failureCount = 0;\n let qmdRefreshPendingForRun = false;\n const executor = qmd\n ? new TierMigrationExecutor({\n storage,\n qmd,\n hotCollection: options.hotCollection ?? config.qmdCollection ?? \"openclaw-engram\",\n coldCollection: options.coldCollection ?? config.qmdColdCollection ?? \"openclaw-engram-cold\",\n })\n : null;\n const coldCollection = options.coldCollection ?? config.qmdColdCollection ?? \"openclaw-engram-cold\";\n\n for (const memory of batch) {\n if (signal?.aborted) {\n return abortedResult(candidateCount, demotedCount, failureCount);\n }\n try {\n const result = executor\n ? await executor.migrateMemory({\n memory,\n fromTier: \"hot\",\n toTier: \"cold\",\n reason: \"first-start-lifecycle-migration\",\n })\n : await storage.migrateMemoryToTier(memory, \"cold\");\n if (result.changed) {\n demotedCount += 1;\n }\n } catch {\n const targetPath = storage.buildTierMemoryPath(memory, \"cold\");\n const [targetExists, sourceExists] = await Promise.all([\n pathExists(targetPath),\n pathExists(memory.path),\n ]);\n const movedToCold = targetExists && !sourceExists;\n if (movedToCold) {\n if (!qmd) {\n demotedCount += 1;\n continue;\n }\n try {\n await refreshQmdCollection(qmd, coldCollection, signal);\n demotedCount += 1;\n continue;\n } catch {\n qmdRefreshPendingForRun = true;\n try {\n await writeQmdRefreshPending(config.memoryDir, now, coldCollection);\n } catch {\n // The end-of-run retry below still gets a chance to repair the QMD\n // state before we decide whether the init marker is safe to write.\n }\n demotedCount += 1;\n continue;\n }\n }\n // Non-fatal — individual migration failures are counted but do not abort\n // the sweep. We track them so the marker is only written when ALL\n // attempted demotions succeeded (CLAUDE.md rule #12: don't write a\n // success marker after a partial failure).\n failureCount += 1;\n }\n }\n\n // Write marker AFTER all mutations succeed (CLAUDE.md rule #12).\n // If any demotion failed, skip the marker so the next start retries.\n if (signal?.aborted) {\n return abortedResult(candidateCount, demotedCount, failureCount);\n }\n const persistedQmdRefreshPending = qmd ? await readQmdRefreshPending(config.memoryDir) : null;\n const hasPersistedQmdRefreshPending = persistedQmdRefreshPending?.collection === coldCollection;\n if (qmd && persistedQmdRefreshPending && persistedQmdRefreshPending.collection !== coldCollection) {\n failureCount += 1;\n }\n if (qmd && (qmdRefreshPendingForRun || hasPersistedQmdRefreshPending)) {\n try {\n await refreshQmdCollection(qmd, coldCollection, signal);\n await clearQmdRefreshPending(config.memoryDir);\n } catch {\n failureCount += 1;\n }\n }\n if (failureCount === 0) {\n await writeMarker(config.memoryDir, now);\n }\n\n return {\n skipped: false,\n dryRun: false,\n candidateCount,\n demotedCount,\n failureCount,\n cappedAt: demotionCap,\n };\n}\n"],"mappings":"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","names":["candidateCount","demotedCount","failureCount"]}
@@ -5,15 +5,16 @@ import {
5
5
  normalizeCueAnchorInputs,
6
6
  normalizedHarmonicEntityIdentity,
7
7
  persistHarmonicRecords
8
- } from "./chunk-LS2FHUML.js";
9
- import "./chunk-BMWN7B3Y.js";
8
+ } from "./chunk-LQ5SS4OP.js";
9
+ import "./chunk-LXATZLSC.js";
10
10
  import "./chunk-YCVB7X56.js";
11
11
  import "./chunk-5GKPFL3S.js";
12
12
  import "./chunk-JAKIDQB2.js";
13
- import "./chunk-46EST7JO.js";
13
+ import "./chunk-F2XNSIPP.js";
14
14
  import "./chunk-G73MCJKL.js";
15
15
  import "./chunk-A2IYSXDQ.js";
16
- import "./chunk-B6O2YLUR.js";
16
+ import "./chunk-2Z5DIDQD.js";
17
+ import "./chunk-QUIRIG2P.js";
17
18
  import "./chunk-KNA3BXXL.js";
18
19
  import "./chunk-PZ5AY32C.js";
19
20
  export {
@@ -3,22 +3,22 @@ import {
3
3
  readCueAnchors,
4
4
  readProjectedHarmonicGraph,
5
5
  searchHarmonicRetrieval
6
- } from "./chunk-ZJVMUBYF.js";
7
- import "./chunk-5VC7J76U.js";
6
+ } from "./chunk-NHUX6GXA.js";
7
+ import "./chunk-QPH52AZB.js";
8
8
  import "./chunk-AZEZSQ5R.js";
9
- import "./chunk-BMWN7B3Y.js";
10
- import "./chunk-PAZ35RJ4.js";
9
+ import "./chunk-LXATZLSC.js";
10
+ import "./chunk-4SCZZ3U7.js";
11
11
  import "./chunk-UHVXE24Y.js";
12
12
  import "./chunk-TRMJ6BYC.js";
13
13
  import "./chunk-V4JZCTMK.js";
14
- import "./chunk-N4C7QKOG.js";
15
- import "./chunk-O2IPAX26.js";
16
- import "./chunk-S7LWX2PQ.js";
17
- import "./chunk-T2YX56QI.js";
14
+ import "./chunk-MWWAQXZ6.js";
15
+ import "./chunk-RTTPBBAN.js";
16
+ import "./chunk-655FVTCD.js";
17
+ import "./chunk-GQJKVQJR.js";
18
18
  import "./chunk-CYEPCZN5.js";
19
- import "./chunk-T3FMRLWQ.js";
19
+ import "./chunk-HFSPY26A.js";
20
20
  import "./chunk-7VO6E5UD.js";
21
- import "./chunk-4O6WRBGE.js";
21
+ import "./chunk-KJXP6RUG.js";
22
22
  import "./chunk-VOKHZRHW.js";
23
23
  import "./chunk-GUMZC2BO.js";
24
24
  import "./chunk-TFA6HPOA.js";
@@ -26,6 +26,7 @@ import "./chunk-F4TWWUMP.js";
26
26
  import "./chunk-72A4L5JJ.js";
27
27
  import "./chunk-A7Q43EUZ.js";
28
28
  import "./chunk-S2V7RUCL.js";
29
+ import "./chunk-PPUNC7UX.js";
29
30
  import "./chunk-X3724WL4.js";
30
31
  import "./chunk-MRPOZBJC.js";
31
32
  import "./chunk-S2HLHAZ4.js";
@@ -104,10 +105,11 @@ import "./chunk-ZEFVK7XC.js";
104
105
  import "./chunk-6KH5NLQS.js";
105
106
  import "./chunk-P2QRMMVQ.js";
106
107
  import "./chunk-BTTPKDIL.js";
107
- import "./chunk-46EST7JO.js";
108
+ import "./chunk-F2XNSIPP.js";
108
109
  import "./chunk-G73MCJKL.js";
109
110
  import "./chunk-A2IYSXDQ.js";
110
- import "./chunk-B6O2YLUR.js";
111
+ import "./chunk-2Z5DIDQD.js";
112
+ import "./chunk-QUIRIG2P.js";
111
113
  import "./chunk-LDPPTPO5.js";
112
114
  import "./chunk-MAAL6OZV.js";
113
115
  import "./chunk-A6XUJE5D.js";
@@ -1,13 +1,14 @@
1
1
  import {
2
2
  readHarmonicSourceMemory,
3
3
  readUnresolvedHarmonicSources
4
- } from "./chunk-5VC7J76U.js";
4
+ } from "./chunk-QPH52AZB.js";
5
5
  import "./chunk-AZEZSQ5R.js";
6
6
  import "./chunk-AL3UYZ5N.js";
7
7
  import "./chunk-RL6NEVXT.js";
8
8
  import "./chunk-BTTPKDIL.js";
9
9
  import "./chunk-A2IYSXDQ.js";
10
- import "./chunk-B6O2YLUR.js";
10
+ import "./chunk-2Z5DIDQD.js";
11
+ import "./chunk-QUIRIG2P.js";
11
12
  import "./chunk-LDPPTPO5.js";
12
13
  import "./chunk-MAAL6OZV.js";
13
14
  import "./chunk-A6XUJE5D.js";