@remnic/core 1.0.3 → 1.1.1

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 (323) hide show
  1. package/dist/abort-error.d.ts +32 -0
  2. package/dist/abort-error.js +11 -0
  3. package/dist/access-audit.d.ts +56 -0
  4. package/dist/access-audit.js +9 -0
  5. package/dist/access-audit.js.map +1 -0
  6. package/dist/access-cli.js +72 -54
  7. package/dist/access-cli.js.map +1 -1
  8. package/dist/access-http.d.ts +16 -8
  9. package/dist/access-http.js +25 -17
  10. package/dist/access-mcp.d.ts +16 -8
  11. package/dist/access-mcp.js +28 -6
  12. package/dist/access-schema.d.ts +130 -39
  13. package/dist/access-schema.js +5 -1
  14. package/dist/access-service-Br8ZydTK.d.ts +827 -0
  15. package/dist/access-service.d.ts +20 -660
  16. package/dist/access-service.js +22 -14
  17. package/dist/bootstrap.d.ts +6 -3
  18. package/dist/briefing.d.ts +1 -0
  19. package/dist/briefing.js +6 -5
  20. package/dist/buffer-surprise-report.d.ts +70 -0
  21. package/dist/buffer-surprise-report.js +7 -0
  22. package/dist/buffer-surprise-report.js.map +1 -0
  23. package/dist/buffer-surprise.d.ts +98 -0
  24. package/dist/buffer-surprise.js +11 -0
  25. package/dist/buffer-surprise.js.map +1 -0
  26. package/dist/buffer.d.ts +100 -2
  27. package/dist/buffer.js +1 -1
  28. package/dist/calibration.js +5 -5
  29. package/dist/causal-behavior.js +4 -4
  30. package/dist/causal-chain.js +2 -2
  31. package/dist/causal-consolidation.js +17 -16
  32. package/dist/causal-consolidation.js.map +1 -1
  33. package/dist/causal-retrieval.js +4 -4
  34. package/dist/causal-trajectory.js +1 -1
  35. package/dist/{chunk-QNJMBKFK.js → chunk-2LGMW3DJ.js} +3 -2
  36. package/dist/chunk-2LGMW3DJ.js.map +1 -0
  37. package/dist/{chunk-QDYXG4CS.js → chunk-3FPTCC3Z.js} +4 -3
  38. package/dist/chunk-3FPTCC3Z.js.map +1 -0
  39. package/dist/chunk-3GPTTA4J.js +57 -0
  40. package/dist/chunk-3GPTTA4J.js.map +1 -0
  41. package/dist/{chunk-QKAH5B6E.js → chunk-3GXCSUXR.js} +94 -6
  42. package/dist/chunk-3GXCSUXR.js.map +1 -0
  43. package/dist/{chunk-POBPGDWI.js → chunk-3OGMS3PE.js} +2 -2
  44. package/dist/chunk-54V4BZWP.js +139 -0
  45. package/dist/chunk-54V4BZWP.js.map +1 -0
  46. package/dist/chunk-5JRF2PZA.js +67 -0
  47. package/dist/chunk-5JRF2PZA.js.map +1 -0
  48. package/dist/chunk-64NJRYU2.js +332 -0
  49. package/dist/chunk-64NJRYU2.js.map +1 -0
  50. package/dist/chunk-6AUUAZEX.js +150 -0
  51. package/dist/chunk-6AUUAZEX.js.map +1 -0
  52. package/dist/{chunk-HITJFT7E.js → chunk-7I7FKFZH.js} +28 -21
  53. package/dist/chunk-7I7FKFZH.js.map +1 -0
  54. package/dist/chunk-AJU4PJGY.js +126 -0
  55. package/dist/chunk-AJU4PJGY.js.map +1 -0
  56. package/dist/chunk-ASAITVLA.js +64 -0
  57. package/dist/chunk-ASAITVLA.js.map +1 -0
  58. package/dist/{chunk-X4WESCKA.js → chunk-B5WXLVDY.js} +187 -6
  59. package/dist/chunk-B5WXLVDY.js.map +1 -0
  60. package/dist/{chunk-RCICHSHL.js → chunk-BGJGXLZ7.js} +111 -2
  61. package/dist/{chunk-RCICHSHL.js.map → chunk-BGJGXLZ7.js.map} +1 -1
  62. package/dist/{chunk-OJFGVJS6.js → chunk-BK2EFTE2.js} +319 -18
  63. package/dist/chunk-BK2EFTE2.js.map +1 -0
  64. package/dist/chunk-C4SQJZAF.js +486 -0
  65. package/dist/chunk-C4SQJZAF.js.map +1 -0
  66. package/dist/{chunk-GJQPH5G3.js → chunk-CUPFXL3J.js} +2 -2
  67. package/dist/chunk-DF3RVK3X.js +119 -0
  68. package/dist/chunk-DF3RVK3X.js.map +1 -0
  69. package/dist/{chunk-PMB3WGDL.js → chunk-DFTTJYSO.js} +167 -7
  70. package/dist/chunk-DFTTJYSO.js.map +1 -0
  71. package/dist/chunk-DGVM5SFL.js +69 -0
  72. package/dist/chunk-DGVM5SFL.js.map +1 -0
  73. package/dist/chunk-EIR5VLIH.js +90 -0
  74. package/dist/chunk-EIR5VLIH.js.map +1 -0
  75. package/dist/{chunk-PAORGQRI.js → chunk-EPQJM2GC.js} +37 -23
  76. package/dist/chunk-EPQJM2GC.js.map +1 -0
  77. package/dist/{chunk-POMSFKTB.js → chunk-F5VP6YCB.js} +368 -10
  78. package/dist/chunk-F5VP6YCB.js.map +1 -0
  79. package/dist/{chunk-6ZH4TU6I.js → chunk-FAAFWE4G.js} +2 -1
  80. package/dist/chunk-FAAFWE4G.js.map +1 -0
  81. package/dist/{chunk-74JR4N5J.js → chunk-FVA6TGI3.js} +2 -2
  82. package/dist/chunk-GDFS42HT.js +206 -0
  83. package/dist/chunk-GDFS42HT.js.map +1 -0
  84. package/dist/{chunk-BKQJBXXX.js → chunk-GGD5W7TB.js} +2 -2
  85. package/dist/chunk-GGD5W7TB.js.map +1 -0
  86. package/dist/{chunk-V7XCAHIB.js → chunk-GKFXUTJ2.js} +508 -26
  87. package/dist/chunk-GKFXUTJ2.js.map +1 -0
  88. package/dist/{chunk-NSB3WSYS.js → chunk-HK3FGIEW.js} +278 -3
  89. package/dist/chunk-HK3FGIEW.js.map +1 -0
  90. package/dist/{chunk-AAI7JARD.js → chunk-HMDCOMYU.js} +8 -11
  91. package/dist/chunk-HMDCOMYU.js.map +1 -0
  92. package/dist/chunk-IISBCCWR.js +52 -0
  93. package/dist/chunk-IISBCCWR.js.map +1 -0
  94. package/dist/{chunk-YFYL2SIJ.js → chunk-INXV5JBT.js} +290 -46
  95. package/dist/chunk-INXV5JBT.js.map +1 -0
  96. package/dist/chunk-JBMSGZEQ.js +441 -0
  97. package/dist/chunk-JBMSGZEQ.js.map +1 -0
  98. package/dist/{chunk-UPMD5XND.js → chunk-JL2PU6AI.js} +16 -5
  99. package/dist/chunk-JL2PU6AI.js.map +1 -0
  100. package/dist/{chunk-J4IYOZZ5.js → chunk-JXS5PDQ7.js} +3 -1
  101. package/dist/chunk-JXS5PDQ7.js.map +1 -0
  102. package/dist/{chunk-AYPYCLR7.js → chunk-KUB6JU6H.js} +4 -4
  103. package/dist/chunk-KVBLZUKV.js +173 -0
  104. package/dist/chunk-KVBLZUKV.js.map +1 -0
  105. package/dist/chunk-LBLXEFWK.js +51 -0
  106. package/dist/chunk-LBLXEFWK.js.map +1 -0
  107. package/dist/{chunk-U2IQTSBY.js → chunk-LTCGGW2D.js} +1 -1
  108. package/dist/chunk-LTCGGW2D.js.map +1 -0
  109. package/dist/{chunk-UEYA6UC7.js → chunk-NZLQTHS5.js} +25 -2
  110. package/dist/chunk-NZLQTHS5.js.map +1 -0
  111. package/dist/chunk-PVGDJXVK.js +21 -0
  112. package/dist/chunk-PVGDJXVK.js.map +1 -0
  113. package/dist/chunk-PVPWZSSI.js +37 -0
  114. package/dist/chunk-PVPWZSSI.js.map +1 -0
  115. package/dist/{chunk-4NRAJUDS.js → chunk-RBBWYEFJ.js} +1 -1
  116. package/dist/chunk-RFYAYKTD.js +146 -0
  117. package/dist/chunk-RFYAYKTD.js.map +1 -0
  118. package/dist/{chunk-JROGC36Y.js → chunk-RGLL5SPU.js} +2 -2
  119. package/dist/{chunk-2VFW5K5U.js → chunk-S3EEFKNY.js} +103 -65
  120. package/dist/chunk-S3EEFKNY.js.map +1 -0
  121. package/dist/chunk-SOBJ6NEY.js +18 -0
  122. package/dist/chunk-SOBJ6NEY.js.map +1 -0
  123. package/dist/{chunk-MYQWXITD.js → chunk-SPI27QT6.js} +2 -2
  124. package/dist/chunk-TVVEYCNW.js +65 -0
  125. package/dist/chunk-TVVEYCNW.js.map +1 -0
  126. package/dist/chunk-ULYOGL6R.js +322 -0
  127. package/dist/chunk-ULYOGL6R.js.map +1 -0
  128. package/dist/{chunk-S4LX5EBI.js → chunk-VBVG2M5G.js} +64 -10
  129. package/dist/chunk-VBVG2M5G.js.map +1 -0
  130. package/dist/{chunk-KWP7T3DP.js → chunk-VDX363PS.js} +2 -2
  131. package/dist/{chunk-XMGSSBFX.js → chunk-VYM3VWOF.js} +1560 -244
  132. package/dist/chunk-VYM3VWOF.js.map +1 -0
  133. package/dist/{chunk-MTLYEMJB.js → chunk-WCLICCGB.js} +18 -3
  134. package/dist/chunk-WCLICCGB.js.map +1 -0
  135. package/dist/{chunk-ECKDIK5F.js → chunk-WVVA7F5A.js} +2 -2
  136. package/dist/chunk-X6GF3FX2.js +26 -0
  137. package/dist/chunk-X6GF3FX2.js.map +1 -0
  138. package/dist/{chunk-3QFQGRHO.js → chunk-XMHBH5H6.js} +4 -4
  139. package/dist/{chunk-KEG4GNGI.js → chunk-XZ2TIKGC.js} +38 -8
  140. package/dist/chunk-XZ2TIKGC.js.map +1 -0
  141. package/dist/chunk-Y4FHOFJ2.js +140 -0
  142. package/dist/chunk-Y4FHOFJ2.js.map +1 -0
  143. package/dist/chunk-YNB73F22.js +137 -0
  144. package/dist/chunk-YNB73F22.js.map +1 -0
  145. package/dist/{chunk-7PA4OZEU.js → chunk-YNQKWQT4.js} +55 -30
  146. package/dist/chunk-YNQKWQT4.js.map +1 -0
  147. package/dist/chunk-ZAIM4TUE.js +488 -0
  148. package/dist/chunk-ZAIM4TUE.js.map +1 -0
  149. package/dist/{chunk-BTY5RRRF.js → chunk-ZEM3OK2K.js} +5 -5
  150. package/dist/chunk-ZZTOURJI.js +91 -0
  151. package/dist/chunk-ZZTOURJI.js.map +1 -0
  152. package/dist/{cli-DwIBnp2g.d.ts → cli-BkeRaYfk.d.ts} +2 -2
  153. package/dist/cli.d.ts +13 -5
  154. package/dist/cli.js +45 -33
  155. package/dist/config.js +1 -1
  156. package/dist/consolidation-operator.d.ts +41 -0
  157. package/dist/consolidation-operator.js +11 -0
  158. package/dist/consolidation-operator.js.map +1 -0
  159. package/dist/consolidation-provenance-check.d.ts +68 -0
  160. package/dist/consolidation-provenance-check.js +9 -0
  161. package/dist/consolidation-provenance-check.js.map +1 -0
  162. package/dist/consolidation-undo.d.ts +123 -0
  163. package/dist/consolidation-undo.js +426 -0
  164. package/dist/consolidation-undo.js.map +1 -0
  165. package/dist/contradiction-review-WIUBAR52.js +21 -0
  166. package/dist/contradiction-review-WIUBAR52.js.map +1 -0
  167. package/dist/contradiction-scan-E3GJTI4F.js +412 -0
  168. package/dist/contradiction-scan-E3GJTI4F.js.map +1 -0
  169. package/dist/cross-namespace-budget.d.ts +133 -0
  170. package/dist/cross-namespace-budget.js +9 -0
  171. package/dist/cross-namespace-budget.js.map +1 -0
  172. package/dist/direct-answer-wiring.d.ts +77 -0
  173. package/dist/direct-answer-wiring.js +10 -0
  174. package/dist/direct-answer-wiring.js.map +1 -0
  175. package/dist/direct-answer.d.ts +106 -0
  176. package/dist/direct-answer.js +10 -0
  177. package/dist/direct-answer.js.map +1 -0
  178. package/dist/{engine-X7X3AAG3.js → engine-F3GOXGE5.js} +7 -6
  179. package/dist/engine-F3GOXGE5.js.map +1 -0
  180. package/dist/entity-retrieval.d.ts +1 -0
  181. package/dist/entity-retrieval.js +6 -5
  182. package/dist/explicit-capture.d.ts +6 -3
  183. package/dist/explicit-capture.js +2 -2
  184. package/dist/extraction-judge-telemetry.d.ts +113 -0
  185. package/dist/extraction-judge-telemetry.js +14 -0
  186. package/dist/extraction-judge-telemetry.js.map +1 -0
  187. package/dist/extraction-judge-training.d.ts +85 -0
  188. package/dist/extraction-judge-training.js +16 -0
  189. package/dist/extraction-judge-training.js.map +1 -0
  190. package/dist/extraction-judge.d.ts +124 -2
  191. package/dist/extraction-judge.js +11 -1
  192. package/dist/extraction.js +7 -6
  193. package/dist/fallback-llm.d.ts +11 -2
  194. package/dist/fallback-llm.js +2 -2
  195. package/dist/graph-recall.d.ts +100 -0
  196. package/dist/graph-recall.js +8 -0
  197. package/dist/graph-recall.js.map +1 -0
  198. package/dist/graph-retrieval.d.ts +271 -0
  199. package/dist/graph-retrieval.js +21 -0
  200. package/dist/graph-retrieval.js.map +1 -0
  201. package/dist/harmonic-retrieval.js +2 -1
  202. package/dist/importance.js +1 -1
  203. package/dist/index.d.ts +589 -138
  204. package/dist/index.js +531 -403
  205. package/dist/index.js.map +1 -1
  206. package/dist/intent.js +1 -1
  207. package/dist/local-llm.d.ts +10 -3
  208. package/dist/local-llm.js +1 -1
  209. package/dist/memory-worth-bench.d.ts +51 -0
  210. package/dist/memory-worth-bench.js +131 -0
  211. package/dist/memory-worth-bench.js.map +1 -0
  212. package/dist/memory-worth-filter.d.ts +128 -0
  213. package/dist/memory-worth-filter.js +10 -0
  214. package/dist/memory-worth-filter.js.map +1 -0
  215. package/dist/memory-worth-outcomes.d.ts +118 -0
  216. package/dist/memory-worth-outcomes.js +9 -0
  217. package/dist/memory-worth-outcomes.js.map +1 -0
  218. package/dist/memory-worth.d.ts +102 -0
  219. package/dist/memory-worth.js +7 -0
  220. package/dist/memory-worth.js.map +1 -0
  221. package/dist/operator-toolkit.d.ts +40 -1
  222. package/dist/operator-toolkit.js +24 -14
  223. package/dist/{orchestrator-B9kwlCep.d.ts → orchestrator-CmJ-NTdJ.d.ts} +254 -10
  224. package/dist/orchestrator.d.ts +6 -3
  225. package/dist/orchestrator.js +59 -48
  226. package/dist/page-versioning.d.ts +12 -1
  227. package/dist/page-versioning.js +5 -3
  228. package/dist/{port-C1GZFv8h.d.ts → port-BADbLZU5.d.ts} +2 -2
  229. package/dist/qmd-recall-cache.d.ts +1 -1
  230. package/dist/qmd.d.ts +5 -3
  231. package/dist/qmd.js +2 -1
  232. package/dist/reasoning-trace-recall.d.ts +90 -0
  233. package/dist/reasoning-trace-recall.js +13 -0
  234. package/dist/reasoning-trace-recall.js.map +1 -0
  235. package/dist/reasoning-trace-types.d.ts +54 -0
  236. package/dist/reasoning-trace-types.js +17 -0
  237. package/dist/reasoning-trace-types.js.map +1 -0
  238. package/dist/recall-audit-anomaly.d.ts +112 -0
  239. package/dist/recall-audit-anomaly.js +11 -0
  240. package/dist/recall-audit-anomaly.js.map +1 -0
  241. package/dist/recall-audit.js +5 -44
  242. package/dist/recall-audit.js.map +1 -1
  243. package/dist/recall-explain-renderer.d.ts +49 -0
  244. package/dist/recall-explain-renderer.js +18 -0
  245. package/dist/recall-explain-renderer.js.map +1 -0
  246. package/dist/recall-state.d.ts +39 -1
  247. package/dist/recall-state.js +1 -1
  248. package/dist/recall-xray-cli.d.ts +40 -0
  249. package/dist/recall-xray-cli.js +11 -0
  250. package/dist/recall-xray-cli.js.map +1 -0
  251. package/dist/recall-xray-renderer.d.ts +44 -0
  252. package/dist/recall-xray-renderer.js +18 -0
  253. package/dist/recall-xray-renderer.js.map +1 -0
  254. package/dist/recall-xray.d.ts +179 -0
  255. package/dist/recall-xray.js +13 -0
  256. package/dist/recall-xray.js.map +1 -0
  257. package/dist/resolution-QBTDHTG7.js +100 -0
  258. package/dist/resolution-QBTDHTG7.js.map +1 -0
  259. package/dist/resolve-provider-secret.d.ts +24 -1
  260. package/dist/resolve-provider-secret.js +3 -1
  261. package/dist/resume-bundles.js +6 -6
  262. package/dist/retrieval-agents.d.ts +1 -1
  263. package/dist/retrieval-tiers.d.ts +17 -0
  264. package/dist/retrieval-tiers.js +9 -0
  265. package/dist/retrieval-tiers.js.map +1 -0
  266. package/dist/schemas.d.ts +301 -45
  267. package/dist/schemas.js +1 -1
  268. package/dist/{semantic-consolidation-DrvSYRdB.d.ts → semantic-consolidation-CxJU6MJk.d.ts} +62 -1
  269. package/dist/semantic-consolidation.d.ts +2 -1
  270. package/dist/semantic-consolidation.js +20 -6
  271. package/dist/semantic-rule-promotion.js +6 -5
  272. package/dist/semantic-rule-verifier.js +6 -5
  273. package/dist/storage.d.ts +82 -1
  274. package/dist/storage.js +5 -4
  275. package/dist/summarizer.js +4 -4
  276. package/dist/temporal-supersession.d.ts +1 -0
  277. package/dist/tier-migration.d.ts +2 -1
  278. package/dist/types-DJhqDJUV.d.ts +50 -0
  279. package/dist/types.d.ts +309 -3
  280. package/dist/types.js +1 -1
  281. package/dist/verified-recall.js +6 -5
  282. package/package.json +1 -1
  283. package/dist/chunk-2VFW5K5U.js.map +0 -1
  284. package/dist/chunk-6ZH4TU6I.js.map +0 -1
  285. package/dist/chunk-7PA4OZEU.js.map +0 -1
  286. package/dist/chunk-AAI7JARD.js.map +0 -1
  287. package/dist/chunk-BKQJBXXX.js.map +0 -1
  288. package/dist/chunk-HITJFT7E.js.map +0 -1
  289. package/dist/chunk-J4IYOZZ5.js.map +0 -1
  290. package/dist/chunk-KEG4GNGI.js.map +0 -1
  291. package/dist/chunk-LAYN4LDC.js +0 -267
  292. package/dist/chunk-LAYN4LDC.js.map +0 -1
  293. package/dist/chunk-MTLYEMJB.js.map +0 -1
  294. package/dist/chunk-NSB3WSYS.js.map +0 -1
  295. package/dist/chunk-OJFGVJS6.js.map +0 -1
  296. package/dist/chunk-PAORGQRI.js.map +0 -1
  297. package/dist/chunk-PMB3WGDL.js.map +0 -1
  298. package/dist/chunk-POMSFKTB.js.map +0 -1
  299. package/dist/chunk-QDYXG4CS.js.map +0 -1
  300. package/dist/chunk-QKAH5B6E.js.map +0 -1
  301. package/dist/chunk-QNJMBKFK.js.map +0 -1
  302. package/dist/chunk-S4LX5EBI.js.map +0 -1
  303. package/dist/chunk-U2IQTSBY.js.map +0 -1
  304. package/dist/chunk-UEYA6UC7.js.map +0 -1
  305. package/dist/chunk-UPMD5XND.js.map +0 -1
  306. package/dist/chunk-UVJFDP7P.js +0 -202
  307. package/dist/chunk-UVJFDP7P.js.map +0 -1
  308. package/dist/chunk-V7XCAHIB.js.map +0 -1
  309. package/dist/chunk-X4WESCKA.js.map +0 -1
  310. package/dist/chunk-XMGSSBFX.js.map +0 -1
  311. package/dist/chunk-YFYL2SIJ.js.map +0 -1
  312. /package/dist/{engine-X7X3AAG3.js.map → abort-error.js.map} +0 -0
  313. /package/dist/{chunk-POBPGDWI.js.map → chunk-3OGMS3PE.js.map} +0 -0
  314. /package/dist/{chunk-GJQPH5G3.js.map → chunk-CUPFXL3J.js.map} +0 -0
  315. /package/dist/{chunk-74JR4N5J.js.map → chunk-FVA6TGI3.js.map} +0 -0
  316. /package/dist/{chunk-AYPYCLR7.js.map → chunk-KUB6JU6H.js.map} +0 -0
  317. /package/dist/{chunk-4NRAJUDS.js.map → chunk-RBBWYEFJ.js.map} +0 -0
  318. /package/dist/{chunk-JROGC36Y.js.map → chunk-RGLL5SPU.js.map} +0 -0
  319. /package/dist/{chunk-MYQWXITD.js.map → chunk-SPI27QT6.js.map} +0 -0
  320. /package/dist/{chunk-KWP7T3DP.js.map → chunk-VDX363PS.js.map} +0 -0
  321. /package/dist/{chunk-ECKDIK5F.js.map → chunk-WVVA7F5A.js.map} +0 -0
  322. /package/dist/{chunk-3QFQGRHO.js.map → chunk-XMHBH5H6.js.map} +0 -0
  323. /package/dist/{chunk-BTY5RRRF.js.map → chunk-ZEM3OK2K.js.map} +0 -0
@@ -2,34 +2,42 @@ import {
2
2
  ENGRAM_ACCESS_WRITE_SCHEMA_VERSION,
3
3
  EngramAccessInputError,
4
4
  EngramAccessService
5
- } from "./chunk-V7XCAHIB.js";
5
+ } from "./chunk-GKFXUTJ2.js";
6
+ import "./chunk-ZAIM4TUE.js";
7
+ import "./chunk-SOBJ6NEY.js";
8
+ import "./chunk-3OGMS3PE.js";
6
9
  import "./chunk-EQINRHYR.js";
7
- import "./chunk-POBPGDWI.js";
8
- import "./chunk-QDYXG4CS.js";
9
- import "./chunk-QNJMBKFK.js";
10
+ import "./chunk-EIR5VLIH.js";
10
11
  import "./chunk-EEQLFRUM.js";
11
12
  import "./chunk-QDW3E4RD.js";
12
- import "./chunk-4NRAJUDS.js";
13
+ import "./chunk-3FPTCC3Z.js";
14
+ import "./chunk-2LGMW3DJ.js";
15
+ import "./chunk-GDFS42HT.js";
16
+ import "./chunk-RBBWYEFJ.js";
13
17
  import "./chunk-DT5TVLJE.js";
18
+ import "./chunk-N5AKDXAI.js";
14
19
  import "./chunk-TBBDFYXW.js";
15
- import "./chunk-DGXUHMOV.js";
16
- import "./chunk-LPSF4OQH.js";
17
- import "./chunk-XKECPATV.js";
18
- import "./chunk-ECKDIK5F.js";
19
- import "./chunk-POMSFKTB.js";
20
- import "./chunk-U2IQTSBY.js";
20
+ import "./chunk-WVVA7F5A.js";
21
+ import "./chunk-F5VP6YCB.js";
22
+ import "./chunk-LTCGGW2D.js";
21
23
  import "./chunk-4KAN3GZ3.js";
22
- import "./chunk-6ZH4TU6I.js";
23
24
  import "./chunk-6PFRXT4K.js";
24
25
  import "./chunk-TP4FZJIZ.js";
25
26
  import "./chunk-SCU65EZI.js";
26
27
  import "./chunk-BOUYNNYD.js";
27
- import "./chunk-QSVPYQPG.js";
28
28
  import "./chunk-DM2T26WE.js";
29
+ import "./chunk-QSVPYQPG.js";
29
30
  import "./chunk-M62O4P4T.js";
30
31
  import "./chunk-4DJQYKMN.js";
32
+ import "./chunk-X6GF3FX2.js";
33
+ import "./chunk-FAAFWE4G.js";
31
34
  import "./chunk-2ODBA7MQ.js";
32
- import "./chunk-N5AKDXAI.js";
35
+ import "./chunk-DGXUHMOV.js";
36
+ import "./chunk-LPSF4OQH.js";
37
+ import "./chunk-TVVEYCNW.js";
38
+ import "./chunk-RFYAYKTD.js";
39
+ import "./chunk-LBLXEFWK.js";
40
+ import "./chunk-XKECPATV.js";
33
41
  export {
34
42
  ENGRAM_ACCESS_WRITE_SCHEMA_VERSION,
35
43
  EngramAccessInputError,
@@ -1,22 +1,25 @@
1
1
  import { PluginConfig } from './types.js';
2
- import { O as Orchestrator } from './orchestrator-B9kwlCep.js';
2
+ import { O as Orchestrator } from './orchestrator-CmJ-NTdJ.js';
3
3
  import './buffer.js';
4
4
  import './storage.js';
5
5
  import './page-versioning.js';
6
+ import './consolidation-operator.js';
6
7
  import './memory-projection-store-DeSXPh1j.js';
7
8
  import 'better-sqlite3';
8
- import './port-C1GZFv8h.js';
9
+ import './port-BADbLZU5.js';
9
10
  import './transcript.js';
10
11
  import './session-integrity.js';
11
12
  import './summarizer.js';
12
13
  import './model-registry.js';
13
14
  import './local-llm.js';
15
+ import './fallback-llm.js';
14
16
  import './relevance.js';
15
17
  import './negative.js';
16
18
  import './recall-state.js';
19
+ import './recall-xray.js';
17
20
  import './session-observer-state.js';
18
21
  import './embedding-fallback.js';
19
- import './semantic-consolidation-DrvSYRdB.js';
22
+ import './semantic-consolidation-CxJU6MJk.js';
20
23
  import './codex-materialize-CQlLTzke.js';
21
24
  import './logger.js';
22
25
  import 'zod';
@@ -1,6 +1,7 @@
1
1
  import { StorageManager } from './storage.js';
2
2
  import { BriefingSections, BriefingFollowup, BriefingFocus, CalendarSource, CalendarEvent, MemoryFile, BriefingActiveThread, BriefingResult, EntityFile, BriefingRecentEntity } from './types.js';
3
3
  import './page-versioning.js';
4
+ import './consolidation-operator.js';
4
5
  import './memory-projection-store-DeSXPh1j.js';
5
6
  import 'better-sqlite3';
6
7
 
package/dist/briefing.js CHANGED
@@ -16,19 +16,20 @@ import {
16
16
  renderBriefingMarkdown,
17
17
  resolveBriefingSaveDir,
18
18
  validateBriefingFormat
19
- } from "./chunk-ECKDIK5F.js";
20
- import "./chunk-POMSFKTB.js";
21
- import "./chunk-U2IQTSBY.js";
19
+ } from "./chunk-WVVA7F5A.js";
20
+ import "./chunk-F5VP6YCB.js";
21
+ import "./chunk-LTCGGW2D.js";
22
22
  import "./chunk-4KAN3GZ3.js";
23
- import "./chunk-6ZH4TU6I.js";
24
23
  import "./chunk-6PFRXT4K.js";
25
24
  import "./chunk-TP4FZJIZ.js";
26
25
  import "./chunk-SCU65EZI.js";
27
26
  import "./chunk-BOUYNNYD.js";
28
- import "./chunk-QSVPYQPG.js";
29
27
  import "./chunk-DM2T26WE.js";
28
+ import "./chunk-QSVPYQPG.js";
30
29
  import "./chunk-M62O4P4T.js";
31
30
  import "./chunk-4DJQYKMN.js";
31
+ import "./chunk-X6GF3FX2.js";
32
+ import "./chunk-FAAFWE4G.js";
32
33
  import "./chunk-2ODBA7MQ.js";
33
34
  export {
34
35
  BRIEFING_FOLLOWUP_DEFAULT_MODEL,
@@ -0,0 +1,70 @@
1
+ import { BufferSurpriseEvent } from './types.js';
2
+
3
+ /**
4
+ * Buffer-surprise telemetry report (issue #563 PR 3).
5
+ *
6
+ * Reads the append-only `state/buffer-surprise-ledger.jsonl` file written
7
+ * by `SmartBuffer` and summarizes the recent distribution of surprise
8
+ * scores for the Doctor surface. This module is intentionally standalone
9
+ * and pure — the only I/O is reading the ledger via the injected
10
+ * `readEvents` callback, so it can be exercised directly in tests
11
+ * without touching the filesystem.
12
+ *
13
+ * # Output shape
14
+ *
15
+ * `BufferSurpriseDistribution` has fields sized for a one-screen Doctor
16
+ * display:
17
+ *
18
+ * - `count` — rows considered in the summary window.
19
+ * - `triggeredCount` — rows whose `triggeredFlush === true`.
20
+ * - `triggeredRate` — `triggeredCount / count`, or `0` when empty.
21
+ * - `mean` — arithmetic mean of `surpriseScore`.
22
+ * - `median` — middle value (50th percentile).
23
+ * - `p90` — 90th percentile (tail of novelty).
24
+ * - `min`, `max` — window extremes.
25
+ * - `currentThreshold` — threshold from the MOST RECENT row, or `null`.
26
+ *
27
+ * All percentile math uses the nearest-rank method (no interpolation) so
28
+ * the report is stable across small windows.
29
+ *
30
+ * # Why a pure function + injected reader?
31
+ *
32
+ * The Doctor surface is exercised both at runtime (through the CLI and
33
+ * gateway tools) and in tests. A pure distribution helper fed from an
34
+ * arbitrary `readEvents` callback keeps the report logic trivially
35
+ * testable without spinning up a real `StorageManager`.
36
+ */
37
+
38
+ interface BufferSurpriseDistribution {
39
+ count: number;
40
+ triggeredCount: number;
41
+ triggeredRate: number;
42
+ mean: number;
43
+ median: number;
44
+ p90: number;
45
+ min: number;
46
+ max: number;
47
+ currentThreshold: number | null;
48
+ }
49
+ interface BufferSurpriseReportOptions {
50
+ /**
51
+ * Maximum number of recent rows to include. Defaults to `200` — large
52
+ * enough to see a distribution, small enough to read in one sitting.
53
+ */
54
+ limit?: number;
55
+ /** Lower-bound ISO timestamp; rows at or before this are excluded. */
56
+ since?: string;
57
+ }
58
+ /**
59
+ * Reader callback shape. The helper does not want to know whether the
60
+ * rows come from a file, a queue, or an in-memory buffer.
61
+ */
62
+ type BufferSurpriseReader = (options: BufferSurpriseReportOptions) => Promise<readonly BufferSurpriseEvent[]>;
63
+ /**
64
+ * Summarize the recent buffer-surprise distribution. Returns the empty
65
+ * distribution shape when the ledger has no applicable rows — callers can
66
+ * detect this via `count === 0` and render "no data yet".
67
+ */
68
+ declare function reportBufferSurpriseDistribution(readEvents: BufferSurpriseReader, options?: BufferSurpriseReportOptions): Promise<BufferSurpriseDistribution>;
69
+
70
+ export { type BufferSurpriseDistribution, type BufferSurpriseReader, type BufferSurpriseReportOptions, reportBufferSurpriseDistribution };
@@ -0,0 +1,7 @@
1
+ import {
2
+ reportBufferSurpriseDistribution
3
+ } from "./chunk-ASAITVLA.js";
4
+ export {
5
+ reportBufferSurpriseDistribution
6
+ };
7
+ //# sourceMappingURL=buffer-surprise-report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Surprise helper — D-MEM-style novelty score for a turn against recent memories.
3
+ *
4
+ * Used (eventually, in a follow-up PR) by the smart buffer as an additive flush
5
+ * trigger: a turn that is semantically far from everything already in memory is
6
+ * "surprising" and worth extracting immediately, even if turn-count and signal
7
+ * heuristics would otherwise keep buffering.
8
+ *
9
+ * This module intentionally contains ONLY the pure scoring function. Wiring
10
+ * into the buffer, configuration flags, telemetry, and benchmark work live in
11
+ * later PRs (see issue #563). Keeping the helper in a sibling file instead of
12
+ * inside `buffer.ts` keeps the buffer module focused and makes the eventual
13
+ * integration a small, reviewable change.
14
+ *
15
+ * # Formula
16
+ *
17
+ * Given an input `turn` and a list of `recentMemories`:
18
+ *
19
+ * 1. Embed the turn and every candidate memory via the caller-provided
20
+ * `embedFn`.
21
+ * 2. For each candidate, compute cosine similarity `cos(turn, candidate)` in
22
+ * `[0, 1]` (negative cosines are clamped to 0 — "opposite directions"
23
+ * is treated as maximally diverse, consistent with `recall-mmr.ts`).
24
+ * 3. Keep the top-`k` *highest* similarities (the turn's nearest neighbors).
25
+ * 4. Average those top-`k` similarities → `nearestSim ∈ [0, 1]`.
26
+ * 5. Return `1 − nearestSim` as the surprise score.
27
+ *
28
+ * Intuition: a turn that is close to at least one recent memory has a high
29
+ * `nearestSim` and therefore a *low* surprise (near 0 = redundant). A turn
30
+ * that is far from all of its k nearest neighbors has a low `nearestSim` and
31
+ * therefore a *high* surprise (near 1 = novel).
32
+ *
33
+ * Using the top-k average instead of a single nearest neighbor makes the
34
+ * score less sensitive to one outlier duplicate (e.g. an exact restatement of
35
+ * a stale fact). `k=1` reduces to pure nearest-neighbor distance.
36
+ *
37
+ * # Edge cases
38
+ *
39
+ * - `recentMemories` empty → returns `1.0` (maximally surprising). There is
40
+ * nothing to compare against, so the turn cannot be redundant.
41
+ * - `k` default is `5`. It is clamped to `[1, recentMemories.length]` so that
42
+ * small corpora still produce a meaningful score (e.g. 3 memories with
43
+ * `k=5` behaves the same as `k=3`).
44
+ * - Zero-norm embeddings (all zeros) contribute similarity `0` (they cannot
45
+ * be "close" to anything), which is treated as maximally surprising for
46
+ * that pair. The rest of the corpus is scored normally.
47
+ * - Embedding-length mismatches between the turn and a candidate are treated
48
+ * as similarity `0` for that pair. We do not silently truncate to the
49
+ * shorter vector because that would hide a real configuration bug.
50
+ * - `embedFn` rejection is allowed to propagate. The caller decides whether
51
+ * to catch, fall back, or fail the flush decision — this helper has no
52
+ * opinion beyond the pure score.
53
+ *
54
+ * # Purity
55
+ *
56
+ * No I/O, no hidden globals. Given the same inputs and the same `embedFn`,
57
+ * the output is deterministic.
58
+ */
59
+ /** Minimal shape of a recent memory passed to `computeSurprise`. */
60
+ interface RecentMemoryLike {
61
+ /** Stable identifier. Only used for debug/logging; not part of the score. */
62
+ readonly id: string;
63
+ /** Text to embed and compare against the incoming turn. */
64
+ readonly content: string;
65
+ }
66
+ /** Options accepted by `computeSurprise`. */
67
+ interface ComputeSurpriseOptions {
68
+ /**
69
+ * Embedding function. Called once for the turn and once per candidate
70
+ * memory. Callers may wrap a provider client, a local model, or a
71
+ * deterministic hash for tests.
72
+ */
73
+ readonly embedFn: (text: string) => Promise<readonly number[]>;
74
+ /**
75
+ * Number of nearest neighbors to average over. Defaults to 5. Clamped to
76
+ * `[1, recentMemories.length]`.
77
+ */
78
+ readonly k?: number;
79
+ }
80
+ /** Default k (top nearest neighbors to average). */
81
+ declare const DEFAULT_SURPRISE_K = 5;
82
+ /**
83
+ * Compute a surprise score in `[0, 1]` for `turn` against `recentMemories`.
84
+ *
85
+ * See the module-level docstring for the exact formula, edge cases, and
86
+ * purity guarantees.
87
+ *
88
+ * @param turn The incoming turn text (caller is responsible for
89
+ * stringifying structured turn content — this helper
90
+ * only needs the text to embed).
91
+ * @param recentMemories Candidate memories to compare against.
92
+ * @param options `embedFn` (required) and optional `k` (defaults to 5).
93
+ * @returns A scalar in `[0, 1]`. `1.0` = maximally surprising / novel;
94
+ * `0.0` = redundant with at least one recent memory.
95
+ */
96
+ declare function computeSurprise(turn: string, recentMemories: readonly RecentMemoryLike[], options: ComputeSurpriseOptions): Promise<number>;
97
+
98
+ export { type ComputeSurpriseOptions, DEFAULT_SURPRISE_K, type RecentMemoryLike, computeSurprise };
@@ -0,0 +1,11 @@
1
+ import {
2
+ DEFAULT_SURPRISE_K,
3
+ computeSurprise
4
+ } from "./chunk-5JRF2PZA.js";
5
+ import "./chunk-KVE7R4CG.js";
6
+ import "./chunk-4WMCPJWX.js";
7
+ export {
8
+ DEFAULT_SURPRISE_K,
9
+ computeSurprise
10
+ };
11
+ //# sourceMappingURL=buffer-surprise.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/dist/buffer.d.ts CHANGED
@@ -1,16 +1,55 @@
1
1
  import { StorageManager } from './storage.js';
2
2
  import { PluginConfig, BufferTurn } from './types.js';
3
3
  import './page-versioning.js';
4
+ import './consolidation-operator.js';
4
5
  import './memory-projection-store-DeSXPh1j.js';
5
6
  import 'better-sqlite3';
6
7
 
7
8
  type TriggerDecision = "extract_now" | "extract_batch" | "keep_buffering";
9
+ /**
10
+ * Optional surprise probe injected into `SmartBuffer`.
11
+ *
12
+ * Computes a D-MEM-style novelty score in `[0, 1]` for an incoming turn.
13
+ * The buffer treats the probe as purely additive: if it is not provided, if
14
+ * the feature flag is off, or if the probe throws/times out, the buffer
15
+ * falls back to the existing signal/turn-count/time triggers unchanged.
16
+ *
17
+ * Callers are responsible for sampling recent memories and passing them
18
+ * through the embedding pipeline — the buffer does not want to know about
19
+ * storage, embeddings, or QMD.
20
+ *
21
+ * @param bufferKey Identifier for the active buffer (session/thread).
22
+ * @param turn The incoming turn whose novelty is being scored.
23
+ * @param recentTurns Turns already buffered for this key (most recent first
24
+ * is NOT guaranteed — treat as unordered corpus).
25
+ * @returns A surprise score in `[0, 1]`, or `null` if no score could be
26
+ * produced (e.g. empty corpus, probe declined to embed).
27
+ */
28
+ interface BufferSurpriseProbe {
29
+ scoreTurn(bufferKey: string, turn: BufferTurn, recentTurns: readonly BufferTurn[]): Promise<number | null>;
30
+ }
8
31
  declare class SmartBuffer {
9
32
  private readonly config;
10
33
  private readonly storage;
11
34
  private state;
12
35
  private loaded;
13
- constructor(config: PluginConfig, storage: StorageManager);
36
+ private readonly surpriseProbe;
37
+ /**
38
+ * Serialized write chain for `BUFFER_SURPRISE` telemetry events.
39
+ *
40
+ * The telemetry path is fire-and-forget (`addTurn` does not await the
41
+ * ledger append), but multiple concurrent appends would still settle
42
+ * out of order under variable filesystem latency. The report path
43
+ * assumes chronological ordering — it slices the tail of the ledger
44
+ * and treats the most recent entry as the current threshold in force.
45
+ * Chaining ensures each append only runs after the previous settles,
46
+ * preserving wall-clock order.
47
+ *
48
+ * We include a `.catch` on every link so a rejected append does not
49
+ * poison the chain (CLAUDE.md rule #40).
50
+ */
51
+ private surpriseTelemetryWriteChain;
52
+ constructor(config: PluginConfig, storage: StorageManager, surpriseProbe?: BufferSurpriseProbe | null);
14
53
  private entryFor;
15
54
  private peekEntry;
16
55
  private normalizeState;
@@ -25,12 +64,71 @@ declare class SmartBuffer {
25
64
  resetToEmpty(): void;
26
65
  save(): Promise<void>;
27
66
  addTurn(bufferKey: string, turn: BufferTurn): Promise<TriggerDecision>;
67
+ /**
68
+ * Enqueue a telemetry append on the serialized write chain.
69
+ *
70
+ * The chain is a classic `writeChain = writeChain.then(fn).catch(...)`
71
+ * — each link waits for the previous to settle before its append
72
+ * starts, so out-of-order chronology cannot happen even under
73
+ * variable filesystem latency. We always attach `.catch` so one
74
+ * rejection does not poison the chain for the rest of the session
75
+ * (CLAUDE.md rule #40). The error is logged through
76
+ * `emitSurpriseEventSafe` itself, which swallows its own rejections.
77
+ *
78
+ * Public surface is deliberately narrow — only `addTurn` should call
79
+ * this, so the surprise telemetry path stays centralized.
80
+ */
81
+ private queueSurpriseTelemetryWrite;
82
+ /**
83
+ * Append a single `BUFFER_SURPRISE` telemetry row (issue #563 PR 3).
84
+ *
85
+ * Deliberately swallows write errors: the buffer must never fail to
86
+ * record a turn because the observation ledger is read-only, out of
87
+ * disk, or otherwise unhappy. The log line at debug lets operators
88
+ * confirm the path fired without polluting the error channel.
89
+ */
90
+ private emitSurpriseEventSafe;
91
+ /**
92
+ * Invoke the injected surprise probe defensively. Any error (probe throws,
93
+ * embedder unavailable, timeout) is swallowed and logged at debug: the
94
+ * surprise path must never crash the happy-path trigger evaluation. A
95
+ * `null` return indicates "no score available, fall through to existing
96
+ * triggers".
97
+ */
98
+ private computeSurpriseSafe;
28
99
  private evaluate;
29
100
  getTurns(bufferKey?: string): BufferTurn[];
101
+ /**
102
+ * Retain a subset of the current turns across `clearAfterExtraction` so a
103
+ * future extraction pass sees the context behind a deferred candidate
104
+ * (issue #562, PR 2). Callers pass the turns that were seen during the
105
+ * current extraction; the buffer keeps the tail (latest `max` turns) as
106
+ * the retention window. Passing an empty array or `max <= 0` clears the
107
+ * retention slot instead.
108
+ */
109
+ retainDeferredTurns(bufferKey: string, turns: BufferTurn[], max?: number): Promise<void>;
110
+ /**
111
+ * Return the current retention window (issue #562, PR 2). Primarily for
112
+ * tests and diagnostics.
113
+ */
114
+ getRetainedDeferredTurns(bufferKey?: string): BufferTurn[];
30
115
  findBufferKeyForSession(sessionKey: string): Promise<string | null>;
31
116
  findBufferKeysForSession(sessionKey: string): Promise<string[]>;
32
117
  clearAfterExtraction(bufferKey?: string): Promise<void>;
33
118
  getExtractionCount(bufferKey?: string): number;
119
+ /**
120
+ * Await any pending `BUFFER_SURPRISE` telemetry writes.
121
+ *
122
+ * The telemetry path is fire-and-forget from the hot path's point of
123
+ * view, but tests and before-exit hooks sometimes need to make sure
124
+ * the ledger has been flushed before they assert on its contents or
125
+ * close the process. This method resolves once the current chain
126
+ * head has settled; new writes scheduled after this call return a
127
+ * separate, later settlement.
128
+ *
129
+ * Never throws — the chain already catches its own rejections.
130
+ */
131
+ flushSurpriseTelemetry(): Promise<void>;
34
132
  }
35
133
 
36
- export { SmartBuffer, type TriggerDecision };
134
+ export { type BufferSurpriseProbe, SmartBuffer, type TriggerDecision };
package/dist/buffer.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SmartBuffer
3
- } from "./chunk-UVJFDP7P.js";
3
+ } from "./chunk-JBMSGZEQ.js";
4
4
  import "./chunk-XYIK4LF6.js";
5
5
  import "./chunk-2ODBA7MQ.js";
6
6
  export {
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  FallbackLlmClient
3
- } from "./chunk-QKAH5B6E.js";
4
- import "./chunk-KEG4GNGI.js";
3
+ } from "./chunk-3GXCSUXR.js";
4
+ import "./chunk-XZ2TIKGC.js";
5
5
  import "./chunk-ODWDQNRE.js";
6
6
  import "./chunk-Y27UJK6V.js";
7
7
  import "./chunk-UZB5KHKX.js";
8
8
  import "./chunk-MARWOCVP.js";
9
- import {
10
- listJsonFiles
11
- } from "./chunk-LPSF4OQH.js";
12
9
  import {
13
10
  log
14
11
  } from "./chunk-2ODBA7MQ.js";
12
+ import {
13
+ listJsonFiles
14
+ } from "./chunk-LPSF4OQH.js";
15
15
 
16
16
  // src/calibration.ts
17
17
  import { createHash } from "crypto";
@@ -1,11 +1,14 @@
1
1
  import {
2
2
  readChainIndex,
3
3
  resolveChainsDir
4
- } from "./chunk-3QFQGRHO.js";
4
+ } from "./chunk-XMHBH5H6.js";
5
5
  import "./chunk-URB2WSKZ.js";
6
6
  import {
7
7
  normalizeRecallTokens
8
8
  } from "./chunk-DT5TVLJE.js";
9
+ import {
10
+ log
11
+ } from "./chunk-2ODBA7MQ.js";
9
12
  import {
10
13
  isRecord
11
14
  } from "./chunk-DGXUHMOV.js";
@@ -13,9 +16,6 @@ import {
13
16
  listJsonFiles,
14
17
  readJsonFile
15
18
  } from "./chunk-LPSF4OQH.js";
16
- import {
17
- log
18
- } from "./chunk-2ODBA7MQ.js";
19
19
 
20
20
  // src/causal-behavior.ts
21
21
  import path from "path";
@@ -6,12 +6,12 @@ import {
6
6
  stitchCausalChain,
7
7
  validateCausalEdge,
8
8
  writeChainIndex
9
- } from "./chunk-3QFQGRHO.js";
9
+ } from "./chunk-XMHBH5H6.js";
10
10
  import "./chunk-URB2WSKZ.js";
11
11
  import "./chunk-DT5TVLJE.js";
12
+ import "./chunk-2ODBA7MQ.js";
12
13
  import "./chunk-DGXUHMOV.js";
13
14
  import "./chunk-LPSF4OQH.js";
14
- import "./chunk-2ODBA7MQ.js";
15
15
  export {
16
16
  makeEdgeId,
17
17
  readChainIndex,
@@ -1,44 +1,45 @@
1
1
  import {
2
2
  readChainIndex,
3
3
  resolveChainsDir
4
- } from "./chunk-3QFQGRHO.js";
4
+ } from "./chunk-XMHBH5H6.js";
5
5
  import {
6
6
  buildExtensionsBlockForConsolidation,
7
7
  runPostConsolidationMaterialize
8
- } from "./chunk-RCICHSHL.js";
8
+ } from "./chunk-BGJGXLZ7.js";
9
9
  import "./chunk-EJI5XIBB.js";
10
- import "./chunk-URB2WSKZ.js";
11
10
  import {
12
11
  FallbackLlmClient
13
- } from "./chunk-QKAH5B6E.js";
14
- import "./chunk-KEG4GNGI.js";
12
+ } from "./chunk-3GXCSUXR.js";
13
+ import "./chunk-XZ2TIKGC.js";
15
14
  import "./chunk-ODWDQNRE.js";
16
15
  import "./chunk-Y27UJK6V.js";
17
16
  import "./chunk-UZB5KHKX.js";
17
+ import "./chunk-URB2WSKZ.js";
18
18
  import "./chunk-MARWOCVP.js";
19
19
  import "./chunk-DT5TVLJE.js";
20
- import {
21
- isRecord
22
- } from "./chunk-DGXUHMOV.js";
23
- import {
24
- listJsonFiles,
25
- readJsonFile
26
- } from "./chunk-LPSF4OQH.js";
27
- import "./chunk-POMSFKTB.js";
28
- import "./chunk-U2IQTSBY.js";
20
+ import "./chunk-F5VP6YCB.js";
21
+ import "./chunk-LTCGGW2D.js";
29
22
  import "./chunk-4KAN3GZ3.js";
30
- import "./chunk-6ZH4TU6I.js";
31
23
  import "./chunk-6PFRXT4K.js";
32
24
  import "./chunk-TP4FZJIZ.js";
33
25
  import "./chunk-SCU65EZI.js";
34
26
  import "./chunk-BOUYNNYD.js";
35
- import "./chunk-QSVPYQPG.js";
36
27
  import "./chunk-DM2T26WE.js";
28
+ import "./chunk-QSVPYQPG.js";
37
29
  import "./chunk-M62O4P4T.js";
38
30
  import "./chunk-4DJQYKMN.js";
31
+ import "./chunk-X6GF3FX2.js";
32
+ import "./chunk-FAAFWE4G.js";
39
33
  import {
40
34
  log
41
35
  } from "./chunk-2ODBA7MQ.js";
36
+ import {
37
+ isRecord
38
+ } from "./chunk-DGXUHMOV.js";
39
+ import {
40
+ listJsonFiles,
41
+ readJsonFile
42
+ } from "./chunk-LPSF4OQH.js";
42
43
 
43
44
  // src/causal-consolidation.ts
44
45
  import { createHash } from "crypto";