@remnic/core 9.7.14 → 9.8.0

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 (950) hide show
  1. package/dist/access-admin-ops-surface.d.ts +13 -6
  2. package/dist/access-admin-ops-surface.js +88 -74
  3. package/dist/access-audit.js +2 -2
  4. package/dist/access-boundary.d.ts +35 -17
  5. package/dist/access-boundary.js +89 -77
  6. package/dist/access-citation.d.ts +28 -0
  7. package/dist/access-citation.js +9 -0
  8. package/dist/access-cli.js +197 -181
  9. package/dist/access-cli.js.map +1 -1
  10. package/dist/access-errors.d.ts +16 -1
  11. package/dist/access-errors.js +7 -3
  12. package/dist/access-http.d.ts +25 -19
  13. package/dist/access-http.js +103 -90
  14. package/dist/access-identity-continuity-surface.d.ts +13 -8
  15. package/dist/access-identity-continuity-surface.js +88 -74
  16. package/dist/access-lcm-surface.d.ts +16 -9
  17. package/dist/access-lcm-surface.js +88 -74
  18. package/dist/access-mcp.d.ts +23 -16
  19. package/dist/access-mcp.js +99 -87
  20. package/dist/access-memory-search-fanout.d.ts +93 -0
  21. package/dist/access-memory-search-fanout.js +18 -0
  22. package/dist/access-observe-write-surface.d.ts +26 -8
  23. package/dist/access-observe-write-surface.js +88 -74
  24. package/dist/access-operations-batch.js +95 -83
  25. package/dist/access-operations.d.ts +26 -19
  26. package/dist/access-operations.js +97 -85
  27. package/dist/access-recall-concurrency.d.ts +250 -0
  28. package/dist/access-recall-concurrency.js +157 -0
  29. package/dist/access-recall-response.d.ts +130 -0
  30. package/dist/access-recall-response.js +147 -0
  31. package/dist/access-recall-surface.d.ts +15 -7
  32. package/dist/access-recall-surface.js +88 -74
  33. package/dist/access-schema.d.ts +34 -34
  34. package/dist/access-schema.js +8 -6
  35. package/dist/{access-service-CPhSnLOH.d.ts → access-service-DEL4qCrc.d.ts} +25 -32
  36. package/dist/access-service.d.ts +13 -6
  37. package/dist/access-service.js +92 -75
  38. package/dist/access-surface-catalog.d.ts +23 -16
  39. package/dist/access-surface-catalog.js +1 -0
  40. package/dist/access-surface-catalog.js.map +1 -1
  41. package/dist/access-token-capabilities.d.ts +2 -1
  42. package/dist/access-token-capabilities.js +4 -2
  43. package/dist/action-confidence.d.ts +3 -1
  44. package/dist/active-memory-bridge.d.ts +3 -1
  45. package/dist/active-memory-bridge.js +4 -4
  46. package/dist/active-recall.d.ts +4 -1
  47. package/dist/active-recall.js +23 -13
  48. package/dist/active-recall.js.map +1 -1
  49. package/dist/adapters/index.js +4 -4
  50. package/dist/adapters/registry.js +2 -2
  51. package/dist/{auto-sync-AAMTVZMK.js → auto-sync-UZG3XQZ5.js} +14 -8
  52. package/dist/{auto-sync-AAMTVZMK.js.map → auto-sync-UZG3XQZ5.js.map} +1 -1
  53. package/dist/behavior-learner.d.ts +3 -1
  54. package/dist/behavior-signals.d.ts +3 -1
  55. package/dist/bootstrap.d.ts +12 -7
  56. package/dist/bootstrap.js +2 -2
  57. package/dist/bounded-jsonl-state.d.ts +54 -0
  58. package/dist/bounded-jsonl-state.js +10 -0
  59. package/dist/boxes.js +2 -2
  60. package/dist/briefing.d.ts +5 -2
  61. package/dist/briefing.js +37 -27
  62. package/dist/buffer-surprise-report.d.ts +3 -1
  63. package/dist/buffer.d.ts +60 -2
  64. package/dist/buffer.js +3 -3
  65. package/dist/bulk-import/index.d.ts +5 -3
  66. package/dist/calibration.d.ts +3 -1
  67. package/dist/calibration.js +6 -6
  68. package/dist/capabilities.d.ts +7 -7
  69. package/dist/capabilities.js +1 -1
  70. package/dist/{capsule-crypto-CZJSLEFG.js → capsule-crypto-YO5QJ6L3.js} +3 -3
  71. package/dist/capsule-crypto-YO5QJ6L3.js.map +1 -0
  72. package/dist/{capsule-merge-Z2HUO6IK.js → capsule-merge-5KKJQBWQ.js} +4 -4
  73. package/dist/{catalog-uX9sT9ws.d.ts → catalog-BWqHb5HT.d.ts} +1 -1
  74. package/dist/causal-behavior.d.ts +3 -1
  75. package/dist/causal-behavior.js +6 -6
  76. package/dist/causal-chain.js +4 -4
  77. package/dist/causal-consolidation.d.ts +3 -1
  78. package/dist/causal-consolidation.js +46 -37
  79. package/dist/causal-consolidation.js.map +1 -1
  80. package/dist/causal-retrieval.js +6 -6
  81. package/dist/causal-trajectory-graph.d.ts +3 -1
  82. package/dist/causal-trajectory-graph.js +1 -1
  83. package/dist/causal-trajectory.js +1 -1
  84. package/dist/{chunk-A3GOMRJG.js → chunk-23L3IXFD.js} +2 -2
  85. package/dist/chunk-2CGLBUW3.js +15 -0
  86. package/dist/chunk-2CGLBUW3.js.map +1 -0
  87. package/dist/{chunk-MRHFJV44.js → chunk-2DQ2XREU.js} +2 -2
  88. package/dist/{chunk-ASKEM4AR.js → chunk-2EJOEICD.js} +1823 -1483
  89. package/dist/chunk-2EJOEICD.js.map +1 -0
  90. package/dist/{chunk-L2B3EE7B.js → chunk-2QMKMVHH.js} +2 -2
  91. package/dist/{chunk-6CALL5VN.js → chunk-2UFO7X4Q.js} +7 -7
  92. package/dist/{chunk-2MR3MFQB.js → chunk-2VEOKUPP.js} +3 -3
  93. package/dist/chunk-2Z24E5W2.js +22 -0
  94. package/dist/chunk-2Z24E5W2.js.map +1 -0
  95. package/dist/{chunk-RHOZ5LLO.js → chunk-347WD2LE.js} +2 -2
  96. package/dist/{chunk-5S7Z5SHA.js → chunk-34RC5RT7.js} +2 -2
  97. package/dist/{chunk-KGWXHWAH.js → chunk-3QAH2S33.js} +3 -3
  98. package/dist/{chunk-37CTGERM.js → chunk-3WCASNQZ.js} +12 -1
  99. package/dist/chunk-3WCASNQZ.js.map +1 -0
  100. package/dist/{chunk-ZIDSD6VC.js → chunk-3Y224NYC.js} +3 -3
  101. package/dist/{chunk-RBQLJSJ7.js → chunk-44XZ75OQ.js} +46 -10
  102. package/dist/chunk-44XZ75OQ.js.map +1 -0
  103. package/dist/{chunk-VFSP73LP.js → chunk-45GF7Y3V.js} +2 -2
  104. package/dist/{chunk-7ICYQUOL.js → chunk-4BJQODZF.js} +2514 -1526
  105. package/dist/chunk-4BJQODZF.js.map +1 -0
  106. package/dist/{chunk-JMBVCAR4.js → chunk-57OWKFUQ.js} +17 -6
  107. package/dist/chunk-57OWKFUQ.js.map +1 -0
  108. package/dist/{chunk-OEHCMALU.js → chunk-5I4M26Q7.js} +5 -5
  109. package/dist/{chunk-2E6G7FCE.js → chunk-5Q7EVV4X.js} +7 -7
  110. package/dist/{chunk-LC7OODWZ.js → chunk-5SB7SC2G.js} +80 -49
  111. package/dist/chunk-5SB7SC2G.js.map +1 -0
  112. package/dist/{chunk-VZ5OJE4X.js → chunk-5VQJBH2G.js} +2 -2
  113. package/dist/{chunk-PUBTHW5O.js → chunk-6DRPPQEJ.js} +2 -2
  114. package/dist/{chunk-NWTGD4AN.js → chunk-6KIQT7RG.js} +10 -9
  115. package/dist/chunk-6KIQT7RG.js.map +1 -0
  116. package/dist/{chunk-4LEF6XWJ.js → chunk-6O22TZSB.js} +3 -3
  117. package/dist/{chunk-ZQ7UBUZ6.js → chunk-6QYST5XN.js} +6 -6
  118. package/dist/{chunk-W4PGTAS2.js → chunk-6WAFYNVT.js} +3 -3
  119. package/dist/chunk-6ZMAMSHS.js +20 -0
  120. package/dist/chunk-6ZMAMSHS.js.map +1 -0
  121. package/dist/{chunk-R5VAVVHP.js → chunk-72A4L5JJ.js} +2 -2
  122. package/dist/{chunk-X64YLC24.js → chunk-72VAXGEI.js} +5 -13
  123. package/dist/chunk-72VAXGEI.js.map +1 -0
  124. package/dist/{chunk-IKQTFQMI.js → chunk-755Q3DGF.js} +22 -3
  125. package/dist/chunk-755Q3DGF.js.map +1 -0
  126. package/dist/{chunk-F7AU34FC.js → chunk-76GLCM57.js} +160 -127
  127. package/dist/chunk-76GLCM57.js.map +1 -0
  128. package/dist/{chunk-D7FOKIY5.js → chunk-7AMFUATK.js} +12 -9
  129. package/dist/{chunk-D7FOKIY5.js.map → chunk-7AMFUATK.js.map} +1 -1
  130. package/dist/{chunk-BFVEEB7W.js → chunk-7ON2JW73.js} +57 -22
  131. package/dist/chunk-7ON2JW73.js.map +1 -0
  132. package/dist/chunk-7RNBVZZO.js +270 -0
  133. package/dist/chunk-7RNBVZZO.js.map +1 -0
  134. package/dist/{chunk-3FAMU5TX.js → chunk-A6USBZTO.js} +2 -2
  135. package/dist/{chunk-TXVD7PLT.js → chunk-A72SWTWW.js} +7 -7
  136. package/dist/{chunk-FC77VUX5.js → chunk-A7Q43EUZ.js} +2 -2
  137. package/dist/{chunk-UJBESW6X.js → chunk-AE7WMV4V.js} +7 -7
  138. package/dist/{chunk-J2HSAU72.js → chunk-AIK5W3IW.js} +29 -1
  139. package/dist/chunk-AIK5W3IW.js.map +1 -0
  140. package/dist/{chunk-OKUEZOGW.js → chunk-AITCS2RC.js} +2 -2
  141. package/dist/{chunk-OC35KQIN.js → chunk-AJ7QCSIS.js} +4 -4
  142. package/dist/{chunk-FNMFJWBY.js → chunk-ANEUPF6O.js} +5 -5
  143. package/dist/chunk-AREGMX2J.js +50 -0
  144. package/dist/chunk-AREGMX2J.js.map +1 -0
  145. package/dist/chunk-AVPXXV6J.js +448 -0
  146. package/dist/chunk-AVPXXV6J.js.map +1 -0
  147. package/dist/{chunk-2A3OXAP2.js → chunk-B7RWBZXW.js} +2 -2
  148. package/dist/{chunk-GWTFLF2P.js → chunk-BJMBJZ2Y.js} +59 -59
  149. package/dist/chunk-BJMBJZ2Y.js.map +1 -0
  150. package/dist/{chunk-N3JDIRBW.js → chunk-BLAKS3CP.js} +4 -4
  151. package/dist/{chunk-M7VGG3ID.js → chunk-BV5WMSIJ.js} +9 -9
  152. package/dist/{chunk-2BFLDH5F.js → chunk-BXLOS5AJ.js} +2 -2
  153. package/dist/{chunk-UXKMMNJD.js → chunk-C23BYTJV.js} +6 -6
  154. package/dist/{chunk-JZHHREBL.js → chunk-C3AKM55W.js} +2 -2
  155. package/dist/{chunk-RP7YXA67.js → chunk-C5JF6EZ7.js} +2 -2
  156. package/dist/{chunk-FBNWOMCE.js → chunk-C6XBRYVD.js} +16 -15
  157. package/dist/chunk-C6XBRYVD.js.map +1 -0
  158. package/dist/{chunk-FTYDWKO6.js → chunk-CEN6DW6X.js} +12 -2
  159. package/dist/chunk-CEN6DW6X.js.map +1 -0
  160. package/dist/chunk-CGASUJVP.js +421 -0
  161. package/dist/chunk-CGASUJVP.js.map +1 -0
  162. package/dist/{chunk-DDGV7NAX.js → chunk-CQMEM5CC.js} +2 -2
  163. package/dist/{chunk-A7B4RMQG.js → chunk-CXZQOVIE.js} +12 -12
  164. package/dist/chunk-D3V3UMET.js +44 -0
  165. package/dist/chunk-D3V3UMET.js.map +1 -0
  166. package/dist/{chunk-7N2RUBAP.js → chunk-DDA47TES.js} +2 -2
  167. package/dist/{chunk-64SE4X5G.js → chunk-DEBHXHJR.js} +3 -3
  168. package/dist/{chunk-EHK6KZHK.js → chunk-DNHVPZOD.js} +2 -2
  169. package/dist/{chunk-437S3G37.js → chunk-DQEMWVMT.js} +2 -2
  170. package/dist/{chunk-LZZNTPLR.js → chunk-DX3XRGLH.js} +2 -2
  171. package/dist/chunk-EA2H5LML.js +72 -0
  172. package/dist/chunk-EA2H5LML.js.map +1 -0
  173. package/dist/{chunk-IFJ23BHU.js → chunk-EEC7UJPX.js} +112 -106
  174. package/dist/chunk-EEC7UJPX.js.map +1 -0
  175. package/dist/{chunk-KSNVDPDF.js → chunk-EKBNDKDY.js} +21 -20
  176. package/dist/chunk-EKBNDKDY.js.map +1 -0
  177. package/dist/{chunk-YF6FMLBT.js → chunk-EQWEIIKQ.js} +64 -34
  178. package/dist/chunk-EQWEIIKQ.js.map +1 -0
  179. package/dist/{chunk-7MW3CVLD.js → chunk-ES36HTSC.js} +4 -4
  180. package/dist/{chunk-TN7THW5U.js → chunk-ET356KSB.js} +2 -2
  181. package/dist/{chunk-YNDLCWXS.js → chunk-EZ25VE3G.js} +4 -4
  182. package/dist/{chunk-7LFXDGLH.js → chunk-F7GAIWFA.js} +20 -20
  183. package/dist/{chunk-IKSELOIV.js → chunk-FFPJINJE.js} +7 -7
  184. package/dist/chunk-FMLKOL2Z.js +636 -0
  185. package/dist/chunk-FMLKOL2Z.js.map +1 -0
  186. package/dist/chunk-FQC3DHH2.js +20 -0
  187. package/dist/chunk-FQC3DHH2.js.map +1 -0
  188. package/dist/{chunk-V53GJUSL.js → chunk-FUTF72MJ.js} +15 -15
  189. package/dist/chunk-GCASGYIO.js +71 -0
  190. package/dist/chunk-GCASGYIO.js.map +1 -0
  191. package/dist/{chunk-5UNWK7KU.js → chunk-GFPZS3F5.js} +8 -8
  192. package/dist/{chunk-BCDKBDSY.js → chunk-GNVZQ5JN.js} +99 -41
  193. package/dist/chunk-GNVZQ5JN.js.map +1 -0
  194. package/dist/{chunk-G6NKALRN.js → chunk-H4WG3UQZ.js} +2 -2
  195. package/dist/{chunk-HLTAPHZZ.js → chunk-HNZKVLAN.js} +2 -2
  196. package/dist/{chunk-5EZXHU36.js → chunk-HYQJQGD3.js} +2 -2
  197. package/dist/{chunk-ANADNYWK.js → chunk-IDZFBSHN.js} +8 -6
  198. package/dist/{chunk-ANADNYWK.js.map → chunk-IDZFBSHN.js.map} +1 -1
  199. package/dist/{chunk-XVLEGMJI.js → chunk-IFH6LWTO.js} +50 -8
  200. package/dist/chunk-IFH6LWTO.js.map +1 -0
  201. package/dist/{chunk-RULE4VG5.js → chunk-ILGC6JH6.js} +21 -6
  202. package/dist/chunk-ILGC6JH6.js.map +1 -0
  203. package/dist/chunk-IUM3VSHI.js +113 -0
  204. package/dist/chunk-IUM3VSHI.js.map +1 -0
  205. package/dist/{chunk-ND5M64JJ.js → chunk-IYNGIMVG.js} +101 -91
  206. package/dist/chunk-IYNGIMVG.js.map +1 -0
  207. package/dist/{chunk-TRWPCR6P.js → chunk-JECBQBEX.js} +3 -3
  208. package/dist/{chunk-HG32URJJ.js → chunk-JYIFGGEM.js} +2 -2
  209. package/dist/{chunk-VA4WSW54.js → chunk-JYIJNNN3.js} +3 -3
  210. package/dist/{chunk-L5HJQC36.js → chunk-K2TDK7GG.js} +3 -3
  211. package/dist/{chunk-MKDRQAA3.js → chunk-KAVBJSBQ.js} +4 -4
  212. package/dist/{chunk-EEARRVZ2.js → chunk-KF5EUVKQ.js} +16 -6
  213. package/dist/chunk-KF5EUVKQ.js.map +1 -0
  214. package/dist/chunk-KFZY2OFH.js +42 -0
  215. package/dist/chunk-KFZY2OFH.js.map +1 -0
  216. package/dist/{chunk-4OKLXWDZ.js → chunk-KNB7IBBU.js} +2 -2
  217. package/dist/{chunk-QLULYKWZ.js → chunk-KSXJOC4F.js} +2 -2
  218. package/dist/{chunk-OBMR4VIX.js → chunk-L2DPF4DF.js} +186 -15
  219. package/dist/chunk-L2DPF4DF.js.map +1 -0
  220. package/dist/{chunk-JI5AVXYO.js → chunk-LEPOP46W.js} +6 -6
  221. package/dist/{chunk-O7BBFJLP.js → chunk-LTAVSOZW.js} +2 -2
  222. package/dist/{chunk-E3VODCC3.js → chunk-LUDXM7MD.js} +14 -2
  223. package/dist/{chunk-E3VODCC3.js.map → chunk-LUDXM7MD.js.map} +1 -1
  224. package/dist/{chunk-2IZAGAJR.js → chunk-LULR4IUW.js} +3 -3
  225. package/dist/{chunk-NUWYOKS6.js → chunk-MC5Q3J7S.js} +398 -7
  226. package/dist/chunk-MC5Q3J7S.js.map +1 -0
  227. package/dist/{chunk-WMWVO45V.js → chunk-MC6XO7T4.js} +2 -2
  228. package/dist/chunk-MKQBXQKU.js +107 -0
  229. package/dist/chunk-MKQBXQKU.js.map +1 -0
  230. package/dist/{chunk-7PND4PUC.js → chunk-MMGGVZ4Q.js} +29 -9
  231. package/dist/{chunk-7PND4PUC.js.map → chunk-MMGGVZ4Q.js.map} +1 -1
  232. package/dist/{chunk-D6RIFG4O.js → chunk-MNB5RMAY.js} +2 -2
  233. package/dist/{chunk-67ZCJLJY.js → chunk-MYFQ3ED4.js} +8 -8
  234. package/dist/{chunk-V3UE5I5F.js → chunk-MYVPLJOO.js} +2 -2
  235. package/dist/chunk-NINSR6LX.js +83 -0
  236. package/dist/chunk-NINSR6LX.js.map +1 -0
  237. package/dist/{chunk-MTWKDOVO.js → chunk-NLE6TSLG.js} +2 -2
  238. package/dist/{chunk-DBRYEIGY.js → chunk-OJP3N7UK.js} +2 -2
  239. package/dist/{chunk-AD6AMF2N.js → chunk-OQJIB32H.js} +28 -23
  240. package/dist/chunk-OQJIB32H.js.map +1 -0
  241. package/dist/{chunk-SMX5267P.js → chunk-OZKOPQCM.js} +2 -2
  242. package/dist/{chunk-JCK7V6SN.js → chunk-P65YJEEL.js} +2 -2
  243. package/dist/{chunk-MTR7BZQN.js → chunk-PBGWYM3H.js} +3 -3
  244. package/dist/chunk-PIG4WJFQ.js +87 -0
  245. package/dist/chunk-PIG4WJFQ.js.map +1 -0
  246. package/dist/chunk-PQVCH2AE.js +76 -0
  247. package/dist/chunk-PQVCH2AE.js.map +1 -0
  248. package/dist/{chunk-AXTXN4T6.js → chunk-PWFCHOB3.js} +2 -2
  249. package/dist/{chunk-FDPZVY6D.js → chunk-QFN4U7AG.js} +2 -2
  250. package/dist/{chunk-K2ZLHESQ.js → chunk-QIEUU4UK.js} +2 -2
  251. package/dist/{chunk-AHLPZ2SF.js → chunk-QJAQNXWI.js} +44 -6
  252. package/dist/chunk-QJAQNXWI.js.map +1 -0
  253. package/dist/{chunk-3D6AFGQR.js → chunk-QVT3E4CE.js} +7 -7
  254. package/dist/{chunk-VYOFVVNK.js → chunk-R26ZMXR2.js} +24 -24
  255. package/dist/{chunk-VYOFVVNK.js.map → chunk-R26ZMXR2.js.map} +1 -1
  256. package/dist/chunk-R3DJVOSM.js +34 -0
  257. package/dist/chunk-R3DJVOSM.js.map +1 -0
  258. package/dist/{chunk-SFQ6QNL7.js → chunk-R6YJI3HE.js} +2 -1
  259. package/dist/{chunk-5CJVLG3H.js → chunk-RFDD3B7W.js} +5 -5
  260. package/dist/{chunk-JBPKEARU.js → chunk-RKNJBZ55.js} +4 -4
  261. package/dist/chunk-ROI7BK7H.js +88 -0
  262. package/dist/chunk-ROI7BK7H.js.map +1 -0
  263. package/dist/{chunk-UTRJFDP2.js → chunk-S2BBISHU.js} +4 -4
  264. package/dist/{chunk-IALLX7EE.js → chunk-S2FSBU4H.js} +3 -3
  265. package/dist/{chunk-BFPETA3S.js → chunk-SCCO46KZ.js} +3 -2
  266. package/dist/chunk-SCCO46KZ.js.map +1 -0
  267. package/dist/chunk-SICXL4MK.js +165 -0
  268. package/dist/chunk-SICXL4MK.js.map +1 -0
  269. package/dist/chunk-SK7AMF2J.js +168 -0
  270. package/dist/chunk-SK7AMF2J.js.map +1 -0
  271. package/dist/{chunk-GMSDQUCR.js → chunk-TDTXKOAJ.js} +6475 -5748
  272. package/dist/chunk-TDTXKOAJ.js.map +1 -0
  273. package/dist/{chunk-KSBEEMQF.js → chunk-TG6IHVE2.js} +151 -6
  274. package/dist/chunk-TG6IHVE2.js.map +1 -0
  275. package/dist/{chunk-7K5Q6COX.js → chunk-TVVEYCNW.js} +4 -4
  276. package/dist/{chunk-PK5XBDA6.js → chunk-U3ZAVRP3.js} +2 -2
  277. package/dist/{chunk-ODPLEWB6.js → chunk-UFGFMWAD.js} +47 -17
  278. package/dist/chunk-UFGFMWAD.js.map +1 -0
  279. package/dist/{chunk-4KJLYTLS.js → chunk-V57NLO5P.js} +2 -2
  280. package/dist/{chunk-FLVL4L3L.js → chunk-VDX2J7OX.js} +2 -2
  281. package/dist/{chunk-7XGSIUP5.js → chunk-W4FBGYGK.js} +1 -1
  282. package/dist/{chunk-TXLGHDHS.js → chunk-W4XJFLAL.js} +53 -32
  283. package/dist/chunk-W4XJFLAL.js.map +1 -0
  284. package/dist/{chunk-6SXVCD7W.js → chunk-W7IGLX4G.js} +2 -2
  285. package/dist/{chunk-KQDNAXOM.js → chunk-WG5HSQ4P.js} +19 -6
  286. package/dist/chunk-WG5HSQ4P.js.map +1 -0
  287. package/dist/{chunk-LTJAMRGI.js → chunk-WL5EBRDH.js} +17 -3
  288. package/dist/chunk-WL5EBRDH.js.map +1 -0
  289. package/dist/{chunk-KAWTOYAW.js → chunk-WLZYGLJ4.js} +2 -2
  290. package/dist/{chunk-W5NKDU24.js → chunk-WON4APQY.js} +4 -4
  291. package/dist/{chunk-NKCPUHCI.js → chunk-WZFAPHIK.js} +6 -6
  292. package/dist/{chunk-KQPJLK3X.js → chunk-XL24QQ63.js} +2 -2
  293. package/dist/{chunk-X47LWMKA.js → chunk-XMMESCPD.js} +26 -1
  294. package/dist/chunk-XMMESCPD.js.map +1 -0
  295. package/dist/{chunk-4B4MUS5D.js → chunk-YROFNEG5.js} +7 -7
  296. package/dist/{chunk-WU46YPY6.js → chunk-YV32N67O.js} +1 -1
  297. package/dist/chunk-YV32N67O.js.map +1 -0
  298. package/dist/{chunk-B3F4CWQR.js → chunk-YVKF3HEW.js} +1 -1
  299. package/dist/chunk-YVKF3HEW.js.map +1 -0
  300. package/dist/{chunk-VRAD2FGO.js → chunk-Z54EM5YZ.js} +12 -12
  301. package/dist/{chunk-2VN4JAX7.js → chunk-ZOKZIR5K.js} +95 -33
  302. package/dist/chunk-ZOKZIR5K.js.map +1 -0
  303. package/dist/{cli-_Y2Bmt6A.d.ts → cli-C_pqqTCw.d.ts} +28 -12
  304. package/dist/cli.d.ts +16 -9
  305. package/dist/cli.js +145 -130
  306. package/dist/compounding/engine.d.ts +5 -2
  307. package/dist/compounding/engine.js +39 -29
  308. package/dist/compounding/preference-consolidator.d.ts +3 -1
  309. package/dist/compounding/preference-consolidator.js +1 -1
  310. package/dist/compression-optimizer.d.ts +3 -1
  311. package/dist/config-qmd.d.ts +8 -0
  312. package/dist/config-qmd.js +20 -0
  313. package/dist/config-qmd.js.map +1 -0
  314. package/dist/config.d.ts +3 -1
  315. package/dist/config.js +15 -10
  316. package/dist/connectors/codex-materialize-runner.d.ts +3 -1
  317. package/dist/connectors/codex-materialize-runner.js +39 -29
  318. package/dist/connectors/codex-materialize.d.ts +3 -1
  319. package/dist/connectors/codex-materialize.js +2 -2
  320. package/dist/connectors/index.d.ts +3 -1
  321. package/dist/connectors/index.js +44 -35
  322. package/dist/consolidation-provenance-check.d.ts +5 -2
  323. package/dist/consolidation-provenance-check.js +4 -4
  324. package/dist/consolidation-undo.d.ts +5 -2
  325. package/dist/consolidation-undo.js +3 -3
  326. package/dist/contradiction/index.d.ts +5 -2
  327. package/dist/contradiction/index.js +10 -4
  328. package/dist/{contradiction-scan-J57T5QV7.js → contradiction-scan-RJBABNRH.js} +4 -4
  329. package/dist/contradiction-scan-RJBABNRH.js.map +1 -0
  330. package/dist/conversation-index/backend.d.ts +3 -1
  331. package/dist/conversation-index/backend.js +5 -5
  332. package/dist/conversation-index/chunker.d.ts +3 -1
  333. package/dist/conversation-index/cleanup.js +2 -2
  334. package/dist/conversation-index/faiss-adapter.d.ts +3 -1
  335. package/dist/conversation-index/faiss-adapter.js +2 -2
  336. package/dist/conversation-index/indexer.d.ts +3 -1
  337. package/dist/conversation-index/indexer.js +2 -2
  338. package/dist/conversation-index/search.d.ts +3 -1
  339. package/dist/conversation-index/search.js +2 -2
  340. package/dist/cross-namespace-budget.d.ts +45 -1
  341. package/dist/cross-namespace-budget.js +5 -3
  342. package/dist/dashboard-runtime.js +2 -2
  343. package/dist/day-summary.d.ts +3 -1
  344. package/dist/day-summary.js +3 -3
  345. package/dist/delinearize.d.ts +3 -1
  346. package/dist/direct-answer-wiring.d.ts +3 -1
  347. package/dist/direct-answer.d.ts +3 -1
  348. package/dist/{dreams-ledger-6UODQOX6.js → dreams-ledger-567VKVOU.js} +4 -2
  349. package/dist/dreams-ledger-567VKVOU.js.map +1 -0
  350. package/dist/embedding-fallback.d.ts +3 -1
  351. package/dist/embedding-fallback.js +3 -3
  352. package/dist/enrichment/index.d.ts +3 -1
  353. package/dist/entity-retrieval.d.ts +5 -2
  354. package/dist/entity-retrieval.js +38 -29
  355. package/dist/entity-schema.d.ts +3 -1
  356. package/dist/explicit-capture.d.ts +13 -8
  357. package/dist/explicit-capture.js +7 -3
  358. package/dist/extraction-faithfulness.d.ts +3 -1
  359. package/dist/extraction-faithfulness.js +5 -5
  360. package/dist/extraction-judge-telemetry.d.ts +3 -1
  361. package/dist/extraction-judge-telemetry.js +2 -2
  362. package/dist/extraction-judge-training.d.ts +3 -1
  363. package/dist/extraction-judge-training.js +2 -2
  364. package/dist/extraction-judge.d.ts +3 -1
  365. package/dist/extraction-judge.js +5 -5
  366. package/dist/extraction.d.ts +3 -1
  367. package/dist/extraction.js +13 -12
  368. package/dist/faithfulness-config.js +3 -2
  369. package/dist/fallback-llm.d.ts +3 -1
  370. package/dist/fallback-llm.js +4 -4
  371. package/dist/{first-start-migration-TI67YMLG.js → first-start-migration-CSRHCJIQ.js} +2 -2
  372. package/dist/{forget-CQCLB5LB.js → forget-HRPLVB3W.js} +5 -5
  373. package/dist/graph-dashboard-diff.d.ts +3 -1
  374. package/dist/graph-dashboard-key.d.ts +3 -1
  375. package/dist/graph-dashboard-parser.d.ts +3 -1
  376. package/dist/{graph-edge-decay-FO7AM4UR.js → graph-edge-decay-Z6ENALU2.js} +3 -3
  377. package/dist/graph-edge-decay-Z6ENALU2.js.map +1 -0
  378. package/dist/graph-edge-reinforcement.d.ts +3 -1
  379. package/dist/graph-snapshot.d.ts +3 -1
  380. package/dist/graph-snapshot.js +2 -2
  381. package/dist/graph.d.ts +57 -10
  382. package/dist/graph.js +1 -1
  383. package/dist/identity-continuity.d.ts +1 -2
  384. package/dist/importance.d.ts +3 -1
  385. package/dist/importers/index.d.ts +3 -1
  386. package/dist/in-flight-reads.d.ts +3 -1
  387. package/dist/index.d.ts +101 -92
  388. package/dist/index.js +290 -242
  389. package/dist/intent.d.ts +3 -1
  390. package/dist/lcm/archive.js +2 -2
  391. package/dist/lcm/engine.d.ts +3 -1
  392. package/dist/lcm/engine.js +6 -6
  393. package/dist/lcm/index.d.ts +3 -1
  394. package/dist/lcm/index.js +13 -13
  395. package/dist/lcm/schema.js +2 -2
  396. package/dist/lcm/summarizer.js +3 -3
  397. package/dist/lcm/tools.d.ts +3 -1
  398. package/dist/lifecycle.d.ts +3 -1
  399. package/dist/live-connectors-runner.d.ts +3 -1
  400. package/dist/local-llm.d.ts +5 -2
  401. package/dist/local-llm.js +3 -3
  402. package/dist/local-model-endpoint.d.ts +3 -1
  403. package/dist/logger.d.ts +3 -1
  404. package/dist/logger.js +7 -3
  405. package/dist/maintenance/archive-observations.js +2 -2
  406. package/dist/maintenance/memory-governance.d.ts +3 -1
  407. package/dist/maintenance/memory-governance.js +38 -28
  408. package/dist/maintenance/migrate-observations.js +3 -3
  409. package/dist/maintenance/observation-ledger-utils.js +2 -2
  410. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +102 -1
  411. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +40 -28
  412. package/dist/maintenance/rebuild-memory-projection.js +41 -31
  413. package/dist/maintenance/rebuild-observations.js +3 -3
  414. package/dist/mcp-memory-inspector-app.d.ts +22 -15
  415. package/dist/memory-action-policy.d.ts +3 -1
  416. package/dist/memory-cache.d.ts +46 -2
  417. package/dist/memory-cache.js +7 -1
  418. package/dist/memory-corpus-version.js +2 -2
  419. package/dist/memory-lifecycle-ledger-utils.d.ts +25 -2
  420. package/dist/memory-lifecycle-ledger-utils.js +11 -1
  421. package/dist/memory-projection-store.d.ts +3 -1
  422. package/dist/memory-projection-store.js +2 -2
  423. package/dist/memory-provenance.d.ts +3 -1
  424. package/dist/memory-worth-outcomes.d.ts +5 -2
  425. package/dist/model-registry.js +2 -2
  426. package/dist/models-json.d.ts +3 -1
  427. package/dist/models-json.js +2 -2
  428. package/dist/namespaces/migrate.d.ts +6 -3
  429. package/dist/namespaces/migrate.js +54 -45
  430. package/dist/namespaces/principal.d.ts +27 -2
  431. package/dist/namespaces/principal.js +6 -2
  432. package/dist/namespaces/search.d.ts +16 -2
  433. package/dist/namespaces/search.js +25 -21
  434. package/dist/namespaces/storage.d.ts +24 -3
  435. package/dist/namespaces/storage.js +38 -30
  436. package/dist/native-knowledge.d.ts +3 -1
  437. package/dist/native-knowledge.js +2 -2
  438. package/dist/negative.js +2 -2
  439. package/dist/offline-sync-exclude-globs.d.ts +13 -0
  440. package/dist/offline-sync-exclude-globs.js +10 -0
  441. package/dist/offline-sync-exclude-globs.js.map +1 -0
  442. package/dist/offline-sync-impression-drain.d.ts +78 -0
  443. package/dist/offline-sync-impression-drain.js +37 -0
  444. package/dist/offline-sync-impression-drain.js.map +1 -0
  445. package/dist/offline-sync.js +4 -2
  446. package/dist/operator-toolkit.d.ts +5 -2
  447. package/dist/operator-toolkit.js +73 -58
  448. package/dist/orchestration/compression-guideline-coordinator.d.ts +5 -2
  449. package/dist/orchestration/compression-guideline-coordinator.js +3 -3
  450. package/dist/orchestration/maintenance.d.ts +121 -2
  451. package/dist/orchestration/maintenance.js +47 -34
  452. package/dist/{orchestrator-BbZ_dQSU.d.ts → orchestrator-CQJ8U7En.d.ts} +85 -79
  453. package/dist/orchestrator.d.ts +13 -8
  454. package/dist/orchestrator.js +197 -180
  455. package/dist/page-versioning.js +3 -3
  456. package/dist/patterns-cli.d.ts +3 -1
  457. package/dist/{pipeline-FRMDb1fn.d.ts → pipeline-Cn-kvYeV.d.ts} +1 -1
  458. package/dist/policy-runtime.d.ts +3 -1
  459. package/dist/prioritized-embed.d.ts +19 -0
  460. package/dist/prioritized-embed.js +8 -0
  461. package/dist/prioritized-embed.js.map +1 -0
  462. package/dist/proactive-contention.d.ts +28 -0
  463. package/dist/proactive-contention.js +8 -0
  464. package/dist/proactive-contention.js.map +1 -0
  465. package/dist/profiling.js +2 -2
  466. package/dist/provenance.d.ts +3 -1
  467. package/dist/provenance.js +3 -2
  468. package/dist/{purge-NDWV6WYD.js → purge-IRF47ZTX.js} +3 -3
  469. package/dist/{qmd-xJRrHFbA.d.ts → qmd-oh9VXz1d.d.ts} +11 -1
  470. package/dist/qmd-preflight.d.ts +5 -2
  471. package/dist/qmd-recall-cache.d.ts +3 -1
  472. package/dist/qmd-status.d.ts +57 -0
  473. package/dist/qmd-status.js +18 -0
  474. package/dist/qmd-status.js.map +1 -0
  475. package/dist/qmd.d.ts +5 -2
  476. package/dist/qmd.js +8 -4
  477. package/dist/recall-concurrency-config.d.ts +16 -0
  478. package/dist/recall-concurrency-config.js +10 -0
  479. package/dist/recall-concurrency-config.js.map +1 -0
  480. package/dist/recall-disclosure-escalation.d.ts +3 -1
  481. package/dist/recall-explain-renderer.d.ts +4 -1
  482. package/dist/recall-explain-renderer.js +3 -3
  483. package/dist/recall-memory-map.d.ts +26 -0
  484. package/dist/recall-memory-map.js +18 -0
  485. package/dist/recall-memory-map.js.map +1 -0
  486. package/dist/recall-planner-llm.d.ts +3 -1
  487. package/dist/recall-planner-llm.js +4 -4
  488. package/dist/recall-qos.js +2 -2
  489. package/dist/recall-state.d.ts +163 -2
  490. package/dist/recall-state.js +6 -3
  491. package/dist/recall-tag-filter.d.ts +3 -1
  492. package/dist/recall-timings.d.ts +11 -2
  493. package/dist/recall-timings.js +3 -1
  494. package/dist/recall-xray-cli.d.ts +3 -1
  495. package/dist/recall-xray-cli.js +4 -4
  496. package/dist/recall-xray-renderer.d.ts +3 -1
  497. package/dist/recall-xray-renderer.js +3 -3
  498. package/dist/recall-xray.d.ts +3 -1
  499. package/dist/recall-xray.js +2 -2
  500. package/dist/relevance.js +3 -3
  501. package/dist/replay/normalizers/chatgpt.d.ts +3 -1
  502. package/dist/replay/normalizers/claude.d.ts +3 -1
  503. package/dist/replay/normalizers/openclaw.d.ts +3 -1
  504. package/dist/replay/normalizers/shared.d.ts +3 -1
  505. package/dist/replay/runner.d.ts +3 -1
  506. package/dist/replay/types.d.ts +3 -1
  507. package/dist/rerank.d.ts +8 -1
  508. package/dist/rerank.js +3 -1
  509. package/dist/resolution-3K27T4VO.js +18 -0
  510. package/dist/resolution-3K27T4VO.js.map +1 -0
  511. package/dist/resolve-auth-token.d.ts +3 -1
  512. package/dist/resolve-provider-secret.js +2 -2
  513. package/dist/resume-bundles.js +19 -14
  514. package/dist/retrieval-agents.d.ts +19 -16
  515. package/dist/retrieval-agents.js +3 -3
  516. package/dist/retrieval-tiers.d.ts +3 -1
  517. package/dist/routing/engine.d.ts +3 -1
  518. package/dist/routing/store.d.ts +3 -1
  519. package/dist/routing/store.js +2 -2
  520. package/dist/salvage-envelope.d.ts +18 -0
  521. package/dist/salvage-envelope.js +15 -0
  522. package/dist/salvage-envelope.js.map +1 -0
  523. package/dist/schemas.d.ts +24 -24
  524. package/dist/scope-profiles-EpJG7yKP.d.ts +30 -0
  525. package/dist/search/document-scanner.js +3 -2
  526. package/dist/search/embed-helper.d.ts +3 -1
  527. package/dist/search/embed-helper.js +3 -3
  528. package/dist/search/factory.d.ts +3 -1
  529. package/dist/search/factory.js +19 -17
  530. package/dist/search/index.d.ts +3 -1
  531. package/dist/search/index.js +23 -21
  532. package/dist/search/lancedb-backend.d.ts +3 -1
  533. package/dist/search/lancedb-backend.js +6 -5
  534. package/dist/search/meilisearch-backend.d.ts +3 -1
  535. package/dist/search/meilisearch-backend.js +6 -5
  536. package/dist/search/noop-backend.d.ts +3 -1
  537. package/dist/search/orama-backend.d.ts +3 -1
  538. package/dist/search/orama-backend.js +6 -5
  539. package/dist/search/port.d.ts +27 -2
  540. package/dist/search/port.js +1 -1
  541. package/dist/search/remote-backend.d.ts +3 -1
  542. package/dist/search/remote-backend.js +3 -3
  543. package/dist/secure-store/index.d.ts +12 -1
  544. package/dist/secure-store/index.js +6 -3
  545. package/dist/{semantic-consolidation-fvdZRa5Z.d.ts → semantic-consolidation-DILZEQq3.d.ts} +1 -1
  546. package/dist/semantic-consolidation.d.ts +4 -2
  547. package/dist/semantic-consolidation.js +41 -32
  548. package/dist/semantic-rule-promotion.js +37 -27
  549. package/dist/semantic-rule-verifier.d.ts +3 -1
  550. package/dist/semantic-rule-verifier.js +38 -28
  551. package/dist/session-observer-bands.d.ts +3 -1
  552. package/dist/session-observer-state.d.ts +3 -1
  553. package/dist/session-observer-state.js +2 -2
  554. package/dist/session-transcript-migration.js +2 -2
  555. package/dist/shared-context/manager.d.ts +3 -1
  556. package/dist/shared-context/manager.js +3 -3
  557. package/dist/signal.d.ts +3 -1
  558. package/dist/{storage-CrvzaM9C.d.ts → storage-NIyKYD8g.d.ts} +505 -110
  559. package/dist/storage-guards.js +2 -2
  560. package/dist/storage.d.ts +6 -3
  561. package/dist/storage.js +41 -29
  562. package/dist/structured-attributes.d.ts +23 -1
  563. package/dist/structured-attributes.js +7 -1
  564. package/dist/summarizer.d.ts +3 -1
  565. package/dist/summarizer.js +11 -11
  566. package/dist/summary-snapshot.d.ts +3 -1
  567. package/dist/summary-snapshot.js +2 -2
  568. package/dist/temporal-index-batch.d.ts +1 -0
  569. package/dist/temporal-index-batch.js +10 -0
  570. package/dist/temporal-index-batch.js.map +1 -0
  571. package/dist/temporal-index-compat.d.ts +279 -1
  572. package/dist/temporal-index-compat.js +1 -1
  573. package/dist/temporal-index.d.ts +1 -225
  574. package/dist/temporal-index.js +35 -3
  575. package/dist/temporal-supersession.d.ts +5 -2
  576. package/dist/temporal-supersession.js +2 -2
  577. package/dist/temporal-timeline-recall.d.ts +3 -1
  578. package/dist/temporal-validity.d.ts +3 -1
  579. package/dist/threading.d.ts +3 -1
  580. package/dist/threading.js +2 -2
  581. package/dist/tier-migration.d.ts +5 -2
  582. package/dist/tier-routing.d.ts +3 -1
  583. package/dist/{tier-stats-KV7IWCJR.js → tier-stats-QEJSPFV2.js} +2 -2
  584. package/dist/tokens.js +3 -3
  585. package/dist/topics.d.ts +3 -1
  586. package/dist/transcript.d.ts +3 -1
  587. package/dist/transcript.js +2 -2
  588. package/dist/transfer/backup.js +3 -3
  589. package/dist/transfer/capsule-export.js +3 -3
  590. package/dist/transfer/capsule-import.js +6 -6
  591. package/dist/transfer/types.d.ts +24 -24
  592. package/dist/trust-score-stage.d.ts +75 -38
  593. package/dist/trust-score-stage.js +11 -3
  594. package/dist/trust-score.d.ts +3 -1
  595. package/dist/{types-Bl4BWDM8.d.ts → types-D_fG2ix8.d.ts} +49 -63
  596. package/dist/types-continuity.d.ts +52 -0
  597. package/dist/types-continuity.js +1 -0
  598. package/dist/types-continuity.js.map +1 -0
  599. package/dist/types.d.ts +3 -1
  600. package/dist/types.js +1 -1
  601. package/dist/utility-runtime.d.ts +3 -1
  602. package/dist/utils/serialize-mutations.d.ts +31 -2
  603. package/dist/utils/serialize-mutations.js +1 -1
  604. package/dist/verified-recall.js +39 -29
  605. package/dist/write-envelope.d.ts +282 -0
  606. package/dist/write-envelope.js +35 -0
  607. package/dist/write-envelope.js.map +1 -0
  608. package/dist/write-quarantine.d.ts +79 -0
  609. package/dist/write-quarantine.js +11 -0
  610. package/dist/write-quarantine.js.map +1 -0
  611. package/dist/write-rate-limiter.d.ts +45 -0
  612. package/dist/write-rate-limiter.js +9 -0
  613. package/dist/write-rate-limiter.js.map +1 -0
  614. package/package.json +37 -2
  615. package/src/access-admin-ops-surface.ts +17 -7
  616. package/src/access-boundary.test.ts +28 -0
  617. package/src/access-boundary.ts +31 -2
  618. package/src/access-citation.test.ts +72 -0
  619. package/src/access-citation.ts +139 -0
  620. package/src/access-errors.ts +21 -0
  621. package/src/access-fingerprint-parity.test.ts +211 -0
  622. package/src/access-http-cancellation.test.ts +59 -21
  623. package/src/access-http.test.ts +90 -0
  624. package/src/access-http.ts +79 -79
  625. package/src/access-mcp-cancellation.test.ts +16 -7
  626. package/src/access-memory-search-fanout.test.ts +220 -0
  627. package/src/access-memory-search-fanout.ts +168 -0
  628. package/src/access-observe-quarantine.test.ts +120 -0
  629. package/src/access-observe-write-surface.ts +130 -11
  630. package/src/access-operations-batch.ts +2 -0
  631. package/src/access-recall-concurrency.ts +773 -0
  632. package/src/access-recall-response.ts +307 -0
  633. package/src/access-recall-surface.ts +100 -252
  634. package/src/access-service-coding-write.test.ts +22 -4
  635. package/src/access-service-health.test.ts +49 -0
  636. package/src/access-service-namespace.test.ts +486 -8
  637. package/src/access-service-observe-scope.test.ts +4 -0
  638. package/src/access-service-recall-concurrency.test.ts +1990 -0
  639. package/src/access-service.ts +182 -175
  640. package/src/access-surface-catalog.ts +1 -0
  641. package/src/access-token-capabilities.ts +16 -9
  642. package/src/active-recall.test.ts +35 -0
  643. package/src/active-recall.ts +7 -0
  644. package/src/bounded-jsonl-state.ts +93 -0
  645. package/src/buffer-session.test.ts +422 -5
  646. package/src/buffer-surprise-trigger.test.ts +41 -0
  647. package/src/buffer.ts +218 -3
  648. package/src/capabilities-cluster-b.test.ts +1 -0
  649. package/src/capabilities.ts +5 -6
  650. package/src/cli.ts +21 -22
  651. package/src/coding/architecture-surfaces.test.ts +6 -3
  652. package/src/coding/architecture-surfaces.ts +36 -25
  653. package/src/coding/decision-surfaces.ts +42 -34
  654. package/src/compounding/engine.test.ts +5 -1
  655. package/src/compounding/engine.ts +7 -7
  656. package/src/config-qmd.ts +89 -0
  657. package/src/config.test.ts +136 -0
  658. package/src/config.ts +122 -118
  659. package/src/connector-provenance-lifecycle.test.ts +4 -4
  660. package/src/connectors/coerce.test.ts +131 -0
  661. package/src/connectors/coerce.ts +80 -7
  662. package/src/contradiction/contradiction.test.ts +10 -6
  663. package/src/contradiction/resolution.ts +17 -4
  664. package/src/correction/correction-access-wiring.ts +62 -18
  665. package/src/cross-namespace-budget.test.ts +35 -0
  666. package/src/cross-namespace-budget.ts +86 -19
  667. package/src/explicit-capture.ts +54 -17
  668. package/src/extraction.ts +2 -3
  669. package/src/faithfulness-graph-guard.test.ts +16 -69
  670. package/src/graph-recall.test.ts +31 -0
  671. package/src/graph.test.ts +137 -1
  672. package/src/graph.ts +274 -17
  673. package/src/index.ts +22 -2
  674. package/src/local-llm.ts +4 -6
  675. package/src/logger.ts +16 -0
  676. package/src/maintenance/dreams-ledger.ts +100 -49
  677. package/src/maintenance/rebuild-memory-lifecycle-ledger-cli.ts +77 -0
  678. package/src/maintenance/rebuild-memory-lifecycle-ledger.ts +373 -9
  679. package/src/memory-cache.ts +70 -0
  680. package/src/memory-lifecycle-ledger-utils.ts +51 -5
  681. package/src/namespaces/principal.test.ts +37 -1
  682. package/src/namespaces/principal.ts +48 -0
  683. package/src/namespaces/search.test.ts +79 -5
  684. package/src/namespaces/search.ts +59 -6
  685. package/src/namespaces/storage.ts +45 -1
  686. package/src/offline-sync-exclude-globs.ts +58 -0
  687. package/src/offline-sync-impression-drain.test.ts +316 -0
  688. package/src/offline-sync-impression-drain.ts +260 -0
  689. package/src/offline-sync.test.ts +32 -5
  690. package/src/offline-sync.ts +1 -14
  691. package/src/operator-toolkit.ts +1 -1
  692. package/src/orchestration/batch-deindex-flush.test.ts +146 -0
  693. package/src/orchestration/consolidation-run.ts +96 -85
  694. package/src/orchestration/extraction-envelope.ts +94 -0
  695. package/src/orchestration/extraction-persist-promotion.ts +134 -0
  696. package/src/orchestration/extraction-persist.ts +325 -260
  697. package/src/orchestration/extraction-run.test.ts +1 -1
  698. package/src/orchestration/extraction-run.ts +2 -2
  699. package/src/orchestration/graph-recall-coordinator.ts +18 -7
  700. package/src/orchestration/lifecycle-policy-coordinator.ts +63 -48
  701. package/src/orchestration/maintenance.test.ts +2103 -3
  702. package/src/orchestration/maintenance.ts +581 -2
  703. package/src/orchestration/namespace-read-fanout.ts +14 -8
  704. package/src/orchestration/orchestrator-helpers.ts +8 -1
  705. package/src/orchestration/orchestrator-init.ts +22 -6
  706. package/src/orchestration/orchestrator-namespace-scope.ts +71 -0
  707. package/src/orchestration/persistence-index.ts +64 -9
  708. package/src/orchestration/qmd-result-resolver.ts +27 -0
  709. package/src/orchestration/recall-entry.ts +34 -19
  710. package/src/orchestration/recall-internal.ts +207 -79
  711. package/src/orchestration/recall-rerank-coordinator.ts +229 -82
  712. package/src/orchestration/recall-result-formatter.ts +76 -20
  713. package/src/orchestration/recall-search-pipeline.test.ts +70 -0
  714. package/src/orchestration/recall-search-pipeline.ts +102 -129
  715. package/src/orchestration/recall-section-coordinator.ts +315 -85
  716. package/src/orchestration/semantic-consolidation-coordinator.ts +69 -37
  717. package/src/orchestration/session-context.ts +21 -0
  718. package/src/orchestration/workspace-ops.test.ts +348 -0
  719. package/src/orchestration/workspace-ops.ts +172 -34
  720. package/src/orchestrator-chunked-hash-durability.test.ts +126 -0
  721. package/src/orchestrator-connector-dedup.test.ts +1061 -40
  722. package/src/orchestrator-flush.test.ts +155 -39
  723. package/src/orchestrator-nonchunked-hash-durability.test.ts +121 -0
  724. package/src/orchestrator-source-attribution.test.ts +9 -9
  725. package/src/orchestrator.ts +166 -150
  726. package/src/prioritized-embed.ts +123 -0
  727. package/src/proactive-contention.test.ts +80 -0
  728. package/src/proactive-contention.ts +39 -0
  729. package/src/procedural/procedure-miner.test.ts +19 -14
  730. package/src/procedural/procedure-miner.ts +44 -13
  731. package/src/qmd-client.test.ts +111 -1
  732. package/src/qmd-status.ts +186 -0
  733. package/src/qmd.test.ts +22 -0
  734. package/src/qmd.ts +60 -48
  735. package/src/recall-budget-config.test.ts +30 -0
  736. package/src/recall-cold-deadline.test.ts +149 -0
  737. package/src/recall-concurrency-config.ts +28 -0
  738. package/src/recall-memory-map.ts +74 -0
  739. package/src/recall-rerank-coordinator.test.ts +508 -0
  740. package/src/recall-state.test.ts +825 -1
  741. package/src/recall-state.ts +406 -7
  742. package/src/recall-timings-access.test.ts +41 -0
  743. package/src/recall-timings.ts +16 -0
  744. package/src/relay/mission-access.test.ts +5 -5
  745. package/src/rerank.ts +22 -0
  746. package/src/retrieval-agents.test.ts +79 -0
  747. package/src/retrieval-agents.ts +71 -19
  748. package/src/salvage-envelope.ts +28 -0
  749. package/src/scopes/scope-plan.test.ts +42 -0
  750. package/src/scopes/scope-plan.ts +45 -0
  751. package/src/search/port.ts +24 -0
  752. package/src/secure-store/index.ts +1 -0
  753. package/src/secure-store/secure-fs.ts +48 -0
  754. package/src/secure-store/secure-store.test.ts +40 -0
  755. package/src/semantic-rule-promotion.ts +13 -4
  756. package/src/storage/content-hash-index.ts +655 -0
  757. package/src/storage/entity-timeline.ts +473 -0
  758. package/src/storage/memory-lifecycle-ledger-access.ts +603 -0
  759. package/src/storage/secure-line-reader.test.ts +197 -0
  760. package/src/storage/secure-line-reader.ts +181 -3
  761. package/src/storage-append-header-sniff.test.ts +195 -0
  762. package/src/storage-behavior-signals-cache.test.ts +237 -0
  763. package/src/storage-contract/cache-coherence.test.ts +96 -1
  764. package/src/storage-contract/content-hash.test.ts +47 -2
  765. package/src/storage-fact-hash-index-defer.test.ts +1200 -0
  766. package/src/storage-memory-lifecycle-ledger.test.ts +1146 -3
  767. package/src/storage.ts +942 -903
  768. package/src/structured-attributes.ts +52 -0
  769. package/src/temporal-index-batch.ts +112 -0
  770. package/src/temporal-index.test.ts +193 -0
  771. package/src/temporal-index.ts +49 -53
  772. package/src/testing/lifecycle-matrix.test.ts +212 -0
  773. package/src/testing/lifecycle-matrix.ts +271 -0
  774. package/src/testing/orchestrator-lite.ts +236 -0
  775. package/src/testing/subjects/dreams-ledger.test.ts +67 -0
  776. package/src/testing/subjects/extraction-lifecycle.test.ts +442 -0
  777. package/src/testing/subjects/lifecycle-ledger.test.ts +93 -0
  778. package/src/testing/subjects/recall-budget.test.ts +461 -0
  779. package/src/testing/subjects/serialized-write-chain.test.ts +224 -0
  780. package/src/trust-score-stage.test.ts +154 -0
  781. package/src/trust-score-stage.ts +216 -53
  782. package/src/types-continuity.ts +57 -0
  783. package/src/types.ts +66 -77
  784. package/src/utils/path-containment.test.ts +75 -0
  785. package/src/utils/path-containment.ts +76 -0
  786. package/src/utils/serialize-mutations.test.ts +122 -0
  787. package/src/utils/serialize-mutations.ts +68 -3
  788. package/src/wearables/memory-gen.test.ts +31 -9
  789. package/src/wearables/memory-gen.ts +95 -55
  790. package/src/wearables/pipeline.test.ts +10 -7
  791. package/src/wearables/service.test.ts +6 -8
  792. package/src/wearables/service.ts +2 -2
  793. package/src/write-envelope.extension.test.ts +111 -0
  794. package/src/write-envelope.test.ts +683 -0
  795. package/src/write-envelope.ts +902 -0
  796. package/src/write-quarantine.test.ts +193 -0
  797. package/src/write-quarantine.ts +241 -0
  798. package/src/write-rate-limiter.test.ts +105 -0
  799. package/src/write-rate-limiter.ts +135 -0
  800. package/src/write-sealed-parity.test.ts +204 -0
  801. package/dist/chunk-2VN4JAX7.js.map +0 -1
  802. package/dist/chunk-37CTGERM.js.map +0 -1
  803. package/dist/chunk-7ICYQUOL.js.map +0 -1
  804. package/dist/chunk-AD6AMF2N.js.map +0 -1
  805. package/dist/chunk-AHLPZ2SF.js.map +0 -1
  806. package/dist/chunk-ASKEM4AR.js.map +0 -1
  807. package/dist/chunk-B3F4CWQR.js.map +0 -1
  808. package/dist/chunk-BCDKBDSY.js.map +0 -1
  809. package/dist/chunk-BFPETA3S.js.map +0 -1
  810. package/dist/chunk-BFVEEB7W.js.map +0 -1
  811. package/dist/chunk-E5BK6CGV.js +0 -335
  812. package/dist/chunk-E5BK6CGV.js.map +0 -1
  813. package/dist/chunk-EEARRVZ2.js.map +0 -1
  814. package/dist/chunk-F7AU34FC.js.map +0 -1
  815. package/dist/chunk-FBNWOMCE.js.map +0 -1
  816. package/dist/chunk-FTYDWKO6.js.map +0 -1
  817. package/dist/chunk-GMSDQUCR.js.map +0 -1
  818. package/dist/chunk-GWTFLF2P.js.map +0 -1
  819. package/dist/chunk-IFJ23BHU.js.map +0 -1
  820. package/dist/chunk-IKQTFQMI.js.map +0 -1
  821. package/dist/chunk-J2HSAU72.js.map +0 -1
  822. package/dist/chunk-JMBVCAR4.js.map +0 -1
  823. package/dist/chunk-KQDNAXOM.js.map +0 -1
  824. package/dist/chunk-KSBEEMQF.js.map +0 -1
  825. package/dist/chunk-KSNVDPDF.js.map +0 -1
  826. package/dist/chunk-LC7OODWZ.js.map +0 -1
  827. package/dist/chunk-LTJAMRGI.js.map +0 -1
  828. package/dist/chunk-ND5M64JJ.js.map +0 -1
  829. package/dist/chunk-NUWYOKS6.js.map +0 -1
  830. package/dist/chunk-NWTGD4AN.js.map +0 -1
  831. package/dist/chunk-OBMR4VIX.js.map +0 -1
  832. package/dist/chunk-ODPLEWB6.js.map +0 -1
  833. package/dist/chunk-PHK3HARR.js +0 -32
  834. package/dist/chunk-PHK3HARR.js.map +0 -1
  835. package/dist/chunk-RANHFI3P.js +0 -8
  836. package/dist/chunk-RANHFI3P.js.map +0 -1
  837. package/dist/chunk-RBQLJSJ7.js.map +0 -1
  838. package/dist/chunk-RULE4VG5.js.map +0 -1
  839. package/dist/chunk-SVOZFLIQ.js +0 -16
  840. package/dist/chunk-SVOZFLIQ.js.map +0 -1
  841. package/dist/chunk-TXLGHDHS.js.map +0 -1
  842. package/dist/chunk-UN3CH3CO.js +0 -118
  843. package/dist/chunk-UN3CH3CO.js.map +0 -1
  844. package/dist/chunk-VSMRDBFT.js +0 -17
  845. package/dist/chunk-VSMRDBFT.js.map +0 -1
  846. package/dist/chunk-WU46YPY6.js.map +0 -1
  847. package/dist/chunk-X47LWMKA.js.map +0 -1
  848. package/dist/chunk-X64YLC24.js.map +0 -1
  849. package/dist/chunk-XVLEGMJI.js.map +0 -1
  850. package/dist/chunk-YF6FMLBT.js.map +0 -1
  851. package/dist/resolution-VH4NGENZ.js +0 -12
  852. /package/dist/{capsule-crypto-CZJSLEFG.js.map → access-citation.js.map} +0 -0
  853. /package/dist/{contradiction-scan-J57T5QV7.js.map → access-memory-search-fanout.js.map} +0 -0
  854. /package/dist/{dreams-ledger-6UODQOX6.js.map → access-recall-concurrency.js.map} +0 -0
  855. /package/dist/{graph-edge-decay-FO7AM4UR.js.map → access-recall-response.js.map} +0 -0
  856. /package/dist/{resolution-VH4NGENZ.js.map → bounded-jsonl-state.js.map} +0 -0
  857. /package/dist/{capsule-merge-Z2HUO6IK.js.map → capsule-merge-5KKJQBWQ.js.map} +0 -0
  858. /package/dist/{chunk-A3GOMRJG.js.map → chunk-23L3IXFD.js.map} +0 -0
  859. /package/dist/{chunk-MRHFJV44.js.map → chunk-2DQ2XREU.js.map} +0 -0
  860. /package/dist/{chunk-L2B3EE7B.js.map → chunk-2QMKMVHH.js.map} +0 -0
  861. /package/dist/{chunk-6CALL5VN.js.map → chunk-2UFO7X4Q.js.map} +0 -0
  862. /package/dist/{chunk-2MR3MFQB.js.map → chunk-2VEOKUPP.js.map} +0 -0
  863. /package/dist/{chunk-RHOZ5LLO.js.map → chunk-347WD2LE.js.map} +0 -0
  864. /package/dist/{chunk-5S7Z5SHA.js.map → chunk-34RC5RT7.js.map} +0 -0
  865. /package/dist/{chunk-KGWXHWAH.js.map → chunk-3QAH2S33.js.map} +0 -0
  866. /package/dist/{chunk-ZIDSD6VC.js.map → chunk-3Y224NYC.js.map} +0 -0
  867. /package/dist/{chunk-VFSP73LP.js.map → chunk-45GF7Y3V.js.map} +0 -0
  868. /package/dist/{chunk-OEHCMALU.js.map → chunk-5I4M26Q7.js.map} +0 -0
  869. /package/dist/{chunk-2E6G7FCE.js.map → chunk-5Q7EVV4X.js.map} +0 -0
  870. /package/dist/{chunk-VZ5OJE4X.js.map → chunk-5VQJBH2G.js.map} +0 -0
  871. /package/dist/{chunk-PUBTHW5O.js.map → chunk-6DRPPQEJ.js.map} +0 -0
  872. /package/dist/{chunk-4LEF6XWJ.js.map → chunk-6O22TZSB.js.map} +0 -0
  873. /package/dist/{chunk-ZQ7UBUZ6.js.map → chunk-6QYST5XN.js.map} +0 -0
  874. /package/dist/{chunk-W4PGTAS2.js.map → chunk-6WAFYNVT.js.map} +0 -0
  875. /package/dist/{chunk-R5VAVVHP.js.map → chunk-72A4L5JJ.js.map} +0 -0
  876. /package/dist/{chunk-3FAMU5TX.js.map → chunk-A6USBZTO.js.map} +0 -0
  877. /package/dist/{chunk-TXVD7PLT.js.map → chunk-A72SWTWW.js.map} +0 -0
  878. /package/dist/{chunk-FC77VUX5.js.map → chunk-A7Q43EUZ.js.map} +0 -0
  879. /package/dist/{chunk-UJBESW6X.js.map → chunk-AE7WMV4V.js.map} +0 -0
  880. /package/dist/{chunk-OKUEZOGW.js.map → chunk-AITCS2RC.js.map} +0 -0
  881. /package/dist/{chunk-OC35KQIN.js.map → chunk-AJ7QCSIS.js.map} +0 -0
  882. /package/dist/{chunk-FNMFJWBY.js.map → chunk-ANEUPF6O.js.map} +0 -0
  883. /package/dist/{chunk-2A3OXAP2.js.map → chunk-B7RWBZXW.js.map} +0 -0
  884. /package/dist/{chunk-N3JDIRBW.js.map → chunk-BLAKS3CP.js.map} +0 -0
  885. /package/dist/{chunk-M7VGG3ID.js.map → chunk-BV5WMSIJ.js.map} +0 -0
  886. /package/dist/{chunk-2BFLDH5F.js.map → chunk-BXLOS5AJ.js.map} +0 -0
  887. /package/dist/{chunk-UXKMMNJD.js.map → chunk-C23BYTJV.js.map} +0 -0
  888. /package/dist/{chunk-JZHHREBL.js.map → chunk-C3AKM55W.js.map} +0 -0
  889. /package/dist/{chunk-RP7YXA67.js.map → chunk-C5JF6EZ7.js.map} +0 -0
  890. /package/dist/{chunk-DDGV7NAX.js.map → chunk-CQMEM5CC.js.map} +0 -0
  891. /package/dist/{chunk-A7B4RMQG.js.map → chunk-CXZQOVIE.js.map} +0 -0
  892. /package/dist/{chunk-7N2RUBAP.js.map → chunk-DDA47TES.js.map} +0 -0
  893. /package/dist/{chunk-64SE4X5G.js.map → chunk-DEBHXHJR.js.map} +0 -0
  894. /package/dist/{chunk-EHK6KZHK.js.map → chunk-DNHVPZOD.js.map} +0 -0
  895. /package/dist/{chunk-437S3G37.js.map → chunk-DQEMWVMT.js.map} +0 -0
  896. /package/dist/{chunk-LZZNTPLR.js.map → chunk-DX3XRGLH.js.map} +0 -0
  897. /package/dist/{chunk-7MW3CVLD.js.map → chunk-ES36HTSC.js.map} +0 -0
  898. /package/dist/{chunk-TN7THW5U.js.map → chunk-ET356KSB.js.map} +0 -0
  899. /package/dist/{chunk-YNDLCWXS.js.map → chunk-EZ25VE3G.js.map} +0 -0
  900. /package/dist/{chunk-7LFXDGLH.js.map → chunk-F7GAIWFA.js.map} +0 -0
  901. /package/dist/{chunk-IKSELOIV.js.map → chunk-FFPJINJE.js.map} +0 -0
  902. /package/dist/{chunk-V53GJUSL.js.map → chunk-FUTF72MJ.js.map} +0 -0
  903. /package/dist/{chunk-5UNWK7KU.js.map → chunk-GFPZS3F5.js.map} +0 -0
  904. /package/dist/{chunk-G6NKALRN.js.map → chunk-H4WG3UQZ.js.map} +0 -0
  905. /package/dist/{chunk-HLTAPHZZ.js.map → chunk-HNZKVLAN.js.map} +0 -0
  906. /package/dist/{chunk-5EZXHU36.js.map → chunk-HYQJQGD3.js.map} +0 -0
  907. /package/dist/{chunk-TRWPCR6P.js.map → chunk-JECBQBEX.js.map} +0 -0
  908. /package/dist/{chunk-HG32URJJ.js.map → chunk-JYIFGGEM.js.map} +0 -0
  909. /package/dist/{chunk-VA4WSW54.js.map → chunk-JYIJNNN3.js.map} +0 -0
  910. /package/dist/{chunk-L5HJQC36.js.map → chunk-K2TDK7GG.js.map} +0 -0
  911. /package/dist/{chunk-MKDRQAA3.js.map → chunk-KAVBJSBQ.js.map} +0 -0
  912. /package/dist/{chunk-4OKLXWDZ.js.map → chunk-KNB7IBBU.js.map} +0 -0
  913. /package/dist/{chunk-QLULYKWZ.js.map → chunk-KSXJOC4F.js.map} +0 -0
  914. /package/dist/{chunk-JI5AVXYO.js.map → chunk-LEPOP46W.js.map} +0 -0
  915. /package/dist/{chunk-O7BBFJLP.js.map → chunk-LTAVSOZW.js.map} +0 -0
  916. /package/dist/{chunk-2IZAGAJR.js.map → chunk-LULR4IUW.js.map} +0 -0
  917. /package/dist/{chunk-WMWVO45V.js.map → chunk-MC6XO7T4.js.map} +0 -0
  918. /package/dist/{chunk-D6RIFG4O.js.map → chunk-MNB5RMAY.js.map} +0 -0
  919. /package/dist/{chunk-67ZCJLJY.js.map → chunk-MYFQ3ED4.js.map} +0 -0
  920. /package/dist/{chunk-V3UE5I5F.js.map → chunk-MYVPLJOO.js.map} +0 -0
  921. /package/dist/{chunk-MTWKDOVO.js.map → chunk-NLE6TSLG.js.map} +0 -0
  922. /package/dist/{chunk-DBRYEIGY.js.map → chunk-OJP3N7UK.js.map} +0 -0
  923. /package/dist/{chunk-SMX5267P.js.map → chunk-OZKOPQCM.js.map} +0 -0
  924. /package/dist/{chunk-JCK7V6SN.js.map → chunk-P65YJEEL.js.map} +0 -0
  925. /package/dist/{chunk-MTR7BZQN.js.map → chunk-PBGWYM3H.js.map} +0 -0
  926. /package/dist/{chunk-AXTXN4T6.js.map → chunk-PWFCHOB3.js.map} +0 -0
  927. /package/dist/{chunk-FDPZVY6D.js.map → chunk-QFN4U7AG.js.map} +0 -0
  928. /package/dist/{chunk-K2ZLHESQ.js.map → chunk-QIEUU4UK.js.map} +0 -0
  929. /package/dist/{chunk-3D6AFGQR.js.map → chunk-QVT3E4CE.js.map} +0 -0
  930. /package/dist/{chunk-SFQ6QNL7.js.map → chunk-R6YJI3HE.js.map} +0 -0
  931. /package/dist/{chunk-5CJVLG3H.js.map → chunk-RFDD3B7W.js.map} +0 -0
  932. /package/dist/{chunk-JBPKEARU.js.map → chunk-RKNJBZ55.js.map} +0 -0
  933. /package/dist/{chunk-UTRJFDP2.js.map → chunk-S2BBISHU.js.map} +0 -0
  934. /package/dist/{chunk-IALLX7EE.js.map → chunk-S2FSBU4H.js.map} +0 -0
  935. /package/dist/{chunk-7K5Q6COX.js.map → chunk-TVVEYCNW.js.map} +0 -0
  936. /package/dist/{chunk-PK5XBDA6.js.map → chunk-U3ZAVRP3.js.map} +0 -0
  937. /package/dist/{chunk-4KJLYTLS.js.map → chunk-V57NLO5P.js.map} +0 -0
  938. /package/dist/{chunk-FLVL4L3L.js.map → chunk-VDX2J7OX.js.map} +0 -0
  939. /package/dist/{chunk-7XGSIUP5.js.map → chunk-W4FBGYGK.js.map} +0 -0
  940. /package/dist/{chunk-6SXVCD7W.js.map → chunk-W7IGLX4G.js.map} +0 -0
  941. /package/dist/{chunk-KAWTOYAW.js.map → chunk-WLZYGLJ4.js.map} +0 -0
  942. /package/dist/{chunk-W5NKDU24.js.map → chunk-WON4APQY.js.map} +0 -0
  943. /package/dist/{chunk-NKCPUHCI.js.map → chunk-WZFAPHIK.js.map} +0 -0
  944. /package/dist/{chunk-KQPJLK3X.js.map → chunk-XL24QQ63.js.map} +0 -0
  945. /package/dist/{chunk-4B4MUS5D.js.map → chunk-YROFNEG5.js.map} +0 -0
  946. /package/dist/{chunk-VRAD2FGO.js.map → chunk-Z54EM5YZ.js.map} +0 -0
  947. /package/dist/{first-start-migration-TI67YMLG.js.map → first-start-migration-CSRHCJIQ.js.map} +0 -0
  948. /package/dist/{forget-CQCLB5LB.js.map → forget-HRPLVB3W.js.map} +0 -0
  949. /package/dist/{purge-NDWV6WYD.js.map → purge-IRF47ZTX.js.map} +0 -0
  950. /package/dist/{tier-stats-KV7IWCJR.js.map → tier-stats-QEJSPFV2.js.map} +0 -0
package/dist/profiling.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  ProfilingCollector,
3
3
  formatProfileTraceAscii
4
- } from "./chunk-MTWKDOVO.js";
5
- import "./chunk-37CTGERM.js";
4
+ } from "./chunk-NLE6TSLG.js";
5
+ import "./chunk-3WCASNQZ.js";
6
6
  import "./chunk-PZ5AY32C.js";
7
7
  export {
8
8
  ProfilingCollector,
@@ -1,5 +1,7 @@
1
- import { N as ProvenanceSource, as as ProvenanceConfig, p as MemoryFrontmatter } from './types-Bl4BWDM8.js';
1
+ import { U as ProvenanceSource, ap as ProvenanceConfig, o as MemoryFrontmatter } from './types-D_fG2ix8.js';
2
2
  import './message-parts/index.js';
3
+ import './bounded-jsonl-state.js';
4
+ import './types-continuity.js';
3
5
 
4
6
  /**
5
7
  * Claim-level provenance spans (issue #1575 PR 1).
@@ -5,12 +5,13 @@ import {
5
5
  parseProvenanceTag,
6
6
  reconcileProvenanceRead,
7
7
  serializeProvenanceFields
8
- } from "./chunk-OEHCMALU.js";
9
- import "./chunk-PHK3HARR.js";
8
+ } from "./chunk-5I4M26Q7.js";
10
9
  import "./chunk-5GKPFL3S.js";
10
+ import "./chunk-PQVCH2AE.js";
11
11
  import "./chunk-JUC24CTX.js";
12
12
  import "./chunk-6MKAMLQL.js";
13
13
  import "./chunk-JAKIDQB2.js";
14
+ import "./chunk-3WCASNQZ.js";
14
15
  import "./chunk-PZ5AY32C.js";
15
16
  export {
16
17
  buildFactProvenance,
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  markProjectedMemoryPathInvalid
3
- } from "./chunk-RHOZ5LLO.js";
3
+ } from "./chunk-347WD2LE.js";
4
4
  import "./chunk-RL6NEVXT.js";
5
- import "./chunk-37CTGERM.js";
5
+ import "./chunk-3WCASNQZ.js";
6
6
  import "./chunk-PZ5AY32C.js";
7
7
 
8
8
  // src/maintenance/purge.ts
@@ -209,4 +209,4 @@ async function purgeMemories(options) {
209
209
  export {
210
210
  purgeMemories
211
211
  };
212
- //# sourceMappingURL=purge-NDWV6WYD.js.map
212
+ //# sourceMappingURL=purge-IRF47ZTX.js.map
@@ -1,5 +1,6 @@
1
- import { Q as QmdSearchResult, aw as QmdSearchExplain } from './types-Bl4BWDM8.js';
1
+ import { Q as QmdSearchResult, at as QmdSearchExplain } from './types-D_fG2ix8.js';
2
2
  import { SearchBackend, SearchExecutionOptions, SearchQueryOptions } from './search/port.js';
3
+ import { QmdStatusReport } from './qmd-status.js';
3
4
 
4
5
  declare const QMD_PROBE_TIMEOUT_MS = 8000;
5
6
  declare const QMD_PROBE_RETRY_BACKOFF_MS: number[];
@@ -132,6 +133,7 @@ interface QmdDoctorReport {
132
133
  raw?: string;
133
134
  error?: string;
134
135
  }
136
+
135
137
  type QmdRuntimeEnv = Record<string, string | undefined>;
136
138
  /**
137
139
  * Build the structured sub-queries the daemon `query` tool runs in one request.
@@ -240,6 +242,12 @@ declare class QmdClient implements SearchBackend {
240
242
  debugStatus(): string;
241
243
  getVersionStatus(): QmdVersionStatus;
242
244
  doctor(): Promise<QmdDoctorReport>;
245
+ /**
246
+ * Query QMD collection status for embedding backlog metrics.
247
+ * Runs `qmd status -c <collection>` and parses the text output.
248
+ * Returns null fields when the command fails or output is unparseable.
249
+ */
250
+ status(): Promise<QmdStatusReport>;
243
251
  isDaemonMode(): boolean;
244
252
  dispose(): Promise<void>;
245
253
  /**
@@ -322,6 +330,8 @@ declare class QmdClient implements SearchBackend {
322
330
  embedStrict(): Promise<void>;
323
331
  embedCollection(collection: string): Promise<void>;
324
332
  embedCollectionStrict(collection: string): Promise<void>;
333
+ /** Trigger a collection-level embed for fresh writes (debounced by prioritized-embed). */
334
+ embedFiles(filePaths: string[]): Promise<boolean>;
325
335
  private runEmbedForCollection;
326
336
  checkCollection(collectionOrExecution?: string | SearchExecutionOptions, execution?: SearchExecutionOptions): Promise<"present" | "missing" | "unknown" | "skipped">;
327
337
  ensureCollection(memoryDir: string, collectionOrExecution?: string | SearchExecutionOptions, execution?: SearchExecutionOptions): Promise<"present" | "missing" | "unknown" | "skipped">;
@@ -1,4 +1,7 @@
1
- export { a as QMD_PROBE_RETRY_BACKOFF_MS, b as QMD_PROBE_TIMEOUT_MS, c as QMD_SUPPORTED_VERSION, d as QmdProbeFailureKind, e as classifyProbeFailure, f as compareQmdVersions, g as getQmdPostInstallProbeTargets, p as parseQmdVersion, h as parseQmdVersionOutput, q as qmdVersionToString, r as resolveQmdCapabilities, s as shouldAutoUpgradeQmd, v as versionAtLeast } from './qmd-xJRrHFbA.js';
2
- import './types-Bl4BWDM8.js';
1
+ export { a as QMD_PROBE_RETRY_BACKOFF_MS, b as QMD_PROBE_TIMEOUT_MS, c as QMD_SUPPORTED_VERSION, d as QmdProbeFailureKind, e as classifyProbeFailure, f as compareQmdVersions, g as getQmdPostInstallProbeTargets, p as parseQmdVersion, h as parseQmdVersionOutput, q as qmdVersionToString, r as resolveQmdCapabilities, s as shouldAutoUpgradeQmd, v as versionAtLeast } from './qmd-oh9VXz1d.js';
2
+ import './types-D_fG2ix8.js';
3
3
  import './message-parts/index.js';
4
+ import './bounded-jsonl-state.js';
5
+ import './types-continuity.js';
4
6
  import './search/port.js';
7
+ import './qmd-status.js';
@@ -1,6 +1,8 @@
1
- import { b as RecallPlanMode } from './types-Bl4BWDM8.js';
1
+ import { R as RecallPlanMode } from './types-D_fG2ix8.js';
2
2
  import { SearchQueryOptions } from './search/port.js';
3
3
  import './message-parts/index.js';
4
+ import './bounded-jsonl-state.js';
5
+ import './types-continuity.js';
4
6
 
5
7
  type QmdRecallCacheSource = "fresh" | "stale";
6
8
  interface QmdRecallCacheHit<T> {
@@ -0,0 +1,57 @@
1
+ /**
2
+ * QMD status parsing and backlog reporting helpers.
3
+ *
4
+ * Extracted from qmd.ts to keep that module under its structural ceiling.
5
+ * Issue #2019: expose embedding backlog metrics in health and CLI surfaces.
6
+ */
7
+ interface QmdStatusReport {
8
+ totalFiles: number | null;
9
+ embeddedFiles: number | null;
10
+ pendingEmbeddings: number | null;
11
+ /** Age in ms of the oldest file still pending embedding, or null if unavailable. */
12
+ oldestPendingAgeMs: number | null;
13
+ /** Raw text output from `qmd status` for debugging. */
14
+ raw: string;
15
+ /** Error message when the status command fails, if any. */
16
+ error?: string;
17
+ }
18
+ /** Minimal interface for backends that expose QMD status. */
19
+ interface QmdStatusCapable {
20
+ status(): Promise<QmdStatusReport>;
21
+ }
22
+ declare function parseQmdStatusOutput(stdout: string): QmdStatusReport;
23
+ /** Empty status report returned when QMD is unavailable or the command fails. */
24
+ declare const EMPTY_QMD_STATUS: QmdStatusReport;
25
+ /**
26
+ * Format backlog lines from a pre-resolved status report.
27
+ * Returns display strings for CLI output; empty array when unavailable.
28
+ */
29
+ declare function formatBacklogLinesFromReport(report: QmdStatusReport | null | undefined, threshold: number): string[];
30
+ /**
31
+ * Fetch QMD status and format backlog lines for CLI output.
32
+ * Returns empty array when the backend lacks status() or the call fails.
33
+ */
34
+ declare function renderQmdBacklogStatus(qmd: unknown, threshold: number): Promise<string[]>;
35
+ type QmdCommandRunner = (args: string[], timeoutMs: number) => Promise<{
36
+ stdout: string;
37
+ stderr: string;
38
+ }>;
39
+ /**
40
+ * Fetch QMD collection status via the `qmd status` command. Returns an
41
+ * unavailable report (with `error` set) when the command fails.
42
+ */
43
+ declare function fetchQmdStatus(runQmdCommand: QmdCommandRunner, collection: string, timeoutMs: number): Promise<QmdStatusReport>;
44
+ /**
45
+ * Trigger a collection-level embed run via `qmd embed -c <collection>`.
46
+ * The QMD CLI does not support per-file embed targeting; this triggers
47
+ * embedding for all pending files in the collection. The prioritized-embed
48
+ * module debounces and batches these triggers so fresh writes become
49
+ * searchable within minutes without hammering the CLI on every write.
50
+ * Returns `{ ok: false }` on failure so callers can reschedule without crashing.
51
+ */
52
+ declare function embedQmdFiles(runQmdCommand: QmdCommandRunner, collection: string, _filePaths: string[], timeoutMs: number, embedArgs?: string[]): Promise<{
53
+ ok: boolean;
54
+ error?: string;
55
+ }>;
56
+
57
+ export { EMPTY_QMD_STATUS, type QmdCommandRunner, type QmdStatusCapable, type QmdStatusReport, embedQmdFiles, fetchQmdStatus, formatBacklogLinesFromReport, parseQmdStatusOutput, renderQmdBacklogStatus };
@@ -0,0 +1,18 @@
1
+ import {
2
+ EMPTY_QMD_STATUS,
3
+ embedQmdFiles,
4
+ fetchQmdStatus,
5
+ formatBacklogLinesFromReport,
6
+ parseQmdStatusOutput,
7
+ renderQmdBacklogStatus
8
+ } from "./chunk-IUM3VSHI.js";
9
+ import "./chunk-PZ5AY32C.js";
10
+ export {
11
+ EMPTY_QMD_STATUS,
12
+ embedQmdFiles,
13
+ fetchQmdStatus,
14
+ formatBacklogLinesFromReport,
15
+ parseQmdStatusOutput,
16
+ renderQmdBacklogStatus
17
+ };
18
+ //# sourceMappingURL=qmd-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/dist/qmd.d.ts CHANGED
@@ -1,4 +1,7 @@
1
- import './types-Bl4BWDM8.js';
1
+ import './types-D_fG2ix8.js';
2
2
  import './search/port.js';
3
- export { c as QMD_SUPPORTED_VERSION, i as QmdCapabilities, j as QmdChunkStrategy, Q as QmdClient, k as QmdClientOptions, l as QmdDoctorReport, m as QmdSearchStrategy, n as QmdStructuredSearch, o as QmdStructuredSearchType, t as QmdSubprocessStrategy, u as QmdVersionStatus, w as QmdVersionTuple, x as buildDefaultStructuredSearches, f as compareQmdVersions, y as getQmdCommandName, g as getQmdPostInstallProbeTargets, z as parseQmdExplain, p as parseQmdVersion, h as parseQmdVersionOutput, A as releaseSharedDaemonSessionForTest, r as resolveQmdCapabilities, B as retainSharedDaemonSessionForTest, C as sharedDaemonSessionCountForTest, s as shouldAutoUpgradeQmd, v as versionAtLeast } from './qmd-xJRrHFbA.js';
3
+ export { c as QMD_SUPPORTED_VERSION, i as QmdCapabilities, j as QmdChunkStrategy, Q as QmdClient, k as QmdClientOptions, l as QmdDoctorReport, m as QmdSearchStrategy, n as QmdStructuredSearch, o as QmdStructuredSearchType, t as QmdSubprocessStrategy, u as QmdVersionStatus, w as QmdVersionTuple, x as buildDefaultStructuredSearches, f as compareQmdVersions, y as getQmdCommandName, g as getQmdPostInstallProbeTargets, z as parseQmdExplain, p as parseQmdVersion, h as parseQmdVersionOutput, A as releaseSharedDaemonSessionForTest, r as resolveQmdCapabilities, B as retainSharedDaemonSessionForTest, C as sharedDaemonSessionCountForTest, s as shouldAutoUpgradeQmd, v as versionAtLeast } from './qmd-oh9VXz1d.js';
4
+ export { QmdStatusReport, parseQmdStatusOutput } from './qmd-status.js';
4
5
  import './message-parts/index.js';
6
+ import './bounded-jsonl-state.js';
7
+ import './types-continuity.js';
package/dist/qmd.js CHANGED
@@ -6,8 +6,8 @@ import {
6
6
  releaseSharedDaemonSession,
7
7
  retainSharedDaemonSession,
8
8
  sharedDaemonSessionCountForTest
9
- } from "./chunk-AHLPZ2SF.js";
10
- import "./chunk-WU46YPY6.js";
9
+ } from "./chunk-QJAQNXWI.js";
10
+ import "./chunk-YV32N67O.js";
11
11
  import {
12
12
  QMD_SUPPORTED_VERSION,
13
13
  compareQmdVersions,
@@ -18,12 +18,15 @@ import {
18
18
  shouldAutoUpgradeQmd,
19
19
  versionAtLeast
20
20
  } from "./chunk-64UDOIMI.js";
21
+ import {
22
+ parseQmdStatusOutput
23
+ } from "./chunk-IUM3VSHI.js";
21
24
  import "./chunk-O75CRYGF.js";
22
- import "./chunk-X47LWMKA.js";
25
+ import "./chunk-XMMESCPD.js";
23
26
  import "./chunk-42JKGUFJ.js";
24
27
  import "./chunk-JUC24CTX.js";
25
- import "./chunk-37CTGERM.js";
26
28
  import "./chunk-PVGDJXVK.js";
29
+ import "./chunk-3WCASNQZ.js";
27
30
  import "./chunk-PZ5AY32C.js";
28
31
  export {
29
32
  QMD_SUPPORTED_VERSION,
@@ -33,6 +36,7 @@ export {
33
36
  getQmdCommandName,
34
37
  getQmdPostInstallProbeTargets,
35
38
  parseQmdExplain,
39
+ parseQmdStatusOutput,
36
40
  parseQmdVersion,
37
41
  parseQmdVersionOutput,
38
42
  releaseSharedDaemonSession as releaseSharedDaemonSessionForTest,
@@ -0,0 +1,16 @@
1
+ import { P as PluginConfig } from './types-D_fG2ix8.js';
2
+ import './message-parts/index.js';
3
+ import './bounded-jsonl-state.js';
4
+ import './types-continuity.js';
5
+
6
+ /**
7
+ * Parse the per-principal recall concurrency knobs from raw config.
8
+ *
9
+ * `recallMaxConcurrentPerPrincipal` accepts only finite integers >= 0 so `0`
10
+ * means "unlimited" deliberately. A fractional typo like `0.5` must NOT floor to
11
+ * `0` (which would silently disable the cap); it falls back to the default 4
12
+ * (AGENTS.md #1/#17).
13
+ */
14
+ declare function parseRecallConcurrencyConfig(cfg: Record<string, unknown>): Pick<PluginConfig, "recallMaxConcurrentPerPrincipal" | "recallSingleFlightEnabled">;
15
+
16
+ export { parseRecallConcurrencyConfig };
@@ -0,0 +1,10 @@
1
+ import {
2
+ parseRecallConcurrencyConfig
3
+ } from "./chunk-6ZMAMSHS.js";
4
+ import "./chunk-PQVCH2AE.js";
5
+ import "./chunk-3WCASNQZ.js";
6
+ import "./chunk-PZ5AY32C.js";
7
+ export {
8
+ parseRecallConcurrencyConfig
9
+ };
10
+ //# sourceMappingURL=recall-concurrency-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,5 +1,7 @@
1
- import { R as RecallDisclosure } from './types-Bl4BWDM8.js';
1
+ import { b as RecallDisclosure } from './types-D_fG2ix8.js';
2
2
  import './message-parts/index.js';
3
+ import './bounded-jsonl-state.js';
4
+ import './types-continuity.js';
3
5
 
4
6
  /**
5
7
  * Recall disclosure auto-escalation policy (issue #677 PR 4/4).
@@ -1,8 +1,11 @@
1
1
  import { LastRecallSnapshot } from './recall-state.js';
2
- import { s as RecallTierExplain } from './types-Bl4BWDM8.js';
2
+ import { g as RecallTierExplain } from './types-D_fG2ix8.js';
3
3
  import { RecallXraySnapshot } from './recall-xray.js';
4
+ import './utils/serialize-mutations.js';
4
5
  import './search/port.js';
5
6
  import './message-parts/index.js';
7
+ import './bounded-jsonl-state.js';
8
+ import './types-continuity.js';
6
9
  import './memory-provenance.js';
7
10
  import './user-model.js';
8
11
 
@@ -5,10 +5,10 @@ import {
5
5
  toRecallExplainJson,
6
6
  toRecallExplainText,
7
7
  toRecallXraySnapshotFromLegacy
8
- } from "./chunk-DDGV7NAX.js";
8
+ } from "./chunk-CQMEM5CC.js";
9
9
  import "./chunk-SOBJ6NEY.js";
10
- import "./chunk-PK5XBDA6.js";
11
- import "./chunk-B3F4CWQR.js";
10
+ import "./chunk-U3ZAVRP3.js";
11
+ import "./chunk-YVKF3HEW.js";
12
12
  import "./chunk-I4WBNM3M.js";
13
13
  import "./chunk-SOAU2OE2.js";
14
14
  import "./chunk-PZ5AY32C.js";
@@ -0,0 +1,26 @@
1
+ import { Q as QmdSearchResult, M as MemoryFile } from './types-D_fG2ix8.js';
2
+ import './message-parts/index.js';
3
+ import './bounded-jsonl-state.js';
4
+ import './types-continuity.js';
5
+
6
+ declare function memoryMapKey(result: Pick<QmdSearchResult, "namespace" | "path">): string;
7
+ declare function memoryForResult(memoryByPath: ReadonlyMap<string, MemoryFile>, result: Pick<QmdSearchResult, "namespace" | "path">): MemoryFile | undefined;
8
+ declare function hasMemoryForResult(memoryByPath: ReadonlyMap<string, MemoryFile>, result: Pick<QmdSearchResult, "namespace" | "path">): boolean;
9
+ declare function markResultKey(keys: Set<string>, result: Pick<QmdSearchResult, "namespace" | "path">): void;
10
+ declare function resultHasKey(keys: ReadonlySet<string>, result: Pick<QmdSearchResult, "namespace" | "path">): boolean;
11
+ /**
12
+ * Merge recall results from multiple producers, deduplicating by the composite
13
+ * (namespace, path) identity so the same memory found by a fanout hit and a
14
+ * seed/hybrid/archive hit collapses to ONE entry instead of being injected and
15
+ * access-tracked twice (#2020). The namespace is resolved the SAME way on every
16
+ * producer — carried when present, else derived from the path — and stamped on
17
+ * the surviving result. Highest score wins; a surviving result keeps its own
18
+ * snippet, falling back to the displaced entry's snippet when empty. Results are
19
+ * returned sorted by descending score and capped to `limit`.
20
+ */
21
+ declare function dedupeResultsByNamespace(results: readonly QmdSearchResult[], namespaceFromPath: (path: string) => string, limit: number, options?: {
22
+ transportFallback?: QmdSearchResult["transport"];
23
+ filter?: (result: QmdSearchResult) => boolean;
24
+ }): QmdSearchResult[];
25
+
26
+ export { dedupeResultsByNamespace, hasMemoryForResult, markResultKey, memoryForResult, memoryMapKey, resultHasKey };
@@ -0,0 +1,18 @@
1
+ import {
2
+ dedupeResultsByNamespace,
3
+ hasMemoryForResult,
4
+ markResultKey,
5
+ memoryForResult,
6
+ memoryMapKey,
7
+ resultHasKey
8
+ } from "./chunk-D3V3UMET.js";
9
+ import "./chunk-PZ5AY32C.js";
10
+ export {
11
+ dedupeResultsByNamespace,
12
+ hasMemoryForResult,
13
+ markResultKey,
14
+ memoryForResult,
15
+ memoryMapKey,
16
+ resultHasKey
17
+ };
18
+ //# sourceMappingURL=recall-memory-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,7 +1,9 @@
1
- import { b as RecallPlanMode, P as PluginConfig } from './types-Bl4BWDM8.js';
1
+ import { R as RecallPlanMode, P as PluginConfig } from './types-D_fG2ix8.js';
2
2
  import { CapabilitySet } from './capabilities.js';
3
3
  import { FallbackLlmClient, FallbackLlmOptions } from './fallback-llm.js';
4
4
  import './message-parts/index.js';
5
+ import './bounded-jsonl-state.js';
6
+ import './types-continuity.js';
5
7
  import './resolve-provider-secret.js';
6
8
 
7
9
  /**
@@ -5,17 +5,17 @@ import {
5
5
  FallbackLlmClient,
6
6
  fallbackLlmRuntimeContextFromConfig,
7
7
  gatewayTaskChainOptions
8
- } from "./chunk-UXKMMNJD.js";
9
- import "./chunk-K2ZLHESQ.js";
10
- import "./chunk-VFSP73LP.js";
8
+ } from "./chunk-C23BYTJV.js";
9
+ import "./chunk-QIEUU4UK.js";
11
10
  import "./chunk-L2EXJQJP.js";
11
+ import "./chunk-45GF7Y3V.js";
12
12
  import "./chunk-RGMVMVMF.js";
13
13
  import "./chunk-N7RWREIQ.js";
14
14
  import "./chunk-EYIEWJNI.js";
15
15
  import "./chunk-JUC24CTX.js";
16
16
  import {
17
17
  log
18
- } from "./chunk-37CTGERM.js";
18
+ } from "./chunk-3WCASNQZ.js";
19
19
  import "./chunk-PZ5AY32C.js";
20
20
 
21
21
  // src/recall-planner-llm.ts
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  createRecallSectionMetricRecorder,
3
3
  formatRecallSectionMetric
4
- } from "./chunk-JZHHREBL.js";
5
- import "./chunk-37CTGERM.js";
4
+ } from "./chunk-C3AKM55W.js";
5
+ import "./chunk-3WCASNQZ.js";
6
6
  import "./chunk-PZ5AY32C.js";
7
7
  export {
8
8
  createRecallSectionMetricRecorder,
@@ -1,6 +1,9 @@
1
+ import { HeldFileLockOptions } from './utils/serialize-mutations.js';
1
2
  import { SearchDegradation } from './search/port.js';
2
- import { b as RecallPlanMode, I as IdentityInjectionMode, s as RecallTierExplain } from './types-Bl4BWDM8.js';
3
+ import { R as RecallPlanMode, I as IdentityInjectionMode, g as RecallTierExplain } from './types-D_fG2ix8.js';
3
4
  import './message-parts/index.js';
5
+ import './bounded-jsonl-state.js';
6
+ import './types-continuity.js';
4
7
 
5
8
  interface LastRecallBudgetSummary {
6
9
  requestedTopK?: number;
@@ -13,6 +16,10 @@ interface LastRecallBudgetSummary {
13
16
  truncated?: boolean;
14
17
  includedSections?: string[];
15
18
  omittedSections?: string[];
19
+ includedMemoryIds?: string[];
20
+ includedMemoryPaths?: string[];
21
+ includedMemoryNamespaces?: Array<string | undefined>;
22
+ omittedMemoryIds?: string[];
16
23
  }
17
24
  interface LastRecallSnapshot {
18
25
  sessionKey: string;
@@ -31,6 +38,7 @@ interface LastRecallSnapshot {
31
38
  budgetsApplied?: LastRecallBudgetSummary;
32
39
  latencyMs?: number;
33
40
  resultPaths?: string[];
41
+ resultNamespaces?: Array<string | undefined>;
34
42
  policyVersion?: string;
35
43
  identityInjectionMode?: IdentityInjectionMode | "none";
36
44
  identityInjectedChars?: number;
@@ -101,14 +109,42 @@ interface TierMigrationStatusSnapshot {
101
109
  errors: number;
102
110
  };
103
111
  }
112
+ /**
113
+ * Outcome of {@link LastRecallStore.drainPendingImpressions}. Distinguishes a
114
+ * completed drain (or nothing pending) from a DEFERRED drain that left durable
115
+ * spills in the offline-sync-EXCLUDED queue, so the caller can tell the
116
+ * data-safe cases apart from the one where an offline-sync snapshot would
117
+ * silently omit recorded impressions (#2033).
118
+ */
119
+ interface DrainPendingImpressionsResult {
120
+ /** Pending spill rows were folded into the synced active file this call. */
121
+ folded: boolean;
122
+ /**
123
+ * Durable spill rows remain in the offline-sync-EXCLUDED pending queue after
124
+ * this drain: the rotation lock could not be acquired, a spill could not be
125
+ * claimed, or the drain-only fold left rows that would only fit by rotating
126
+ * into a sync-excluded archive. A snapshot taken now would silently omit them
127
+ * (#2033): the caller MUST treat the active file as INCOMPLETE and retry or
128
+ * abort the snapshot rather than report success. `false` means the active file
129
+ * is complete — every pending row was folded or nothing was pending.
130
+ */
131
+ pendingDeferred: boolean;
132
+ }
104
133
  declare class LastRecallStore {
105
134
  private readonly statePath;
106
135
  private readonly impressionsPath;
107
136
  private readonly writeStateFile;
137
+ private readonly impressionsRotateBytes;
138
+ private readonly impressionsRotateKeep;
139
+ private readonly impressionsLockOptions?;
108
140
  private state;
109
141
  private stateWriteChain;
142
+ private impressionsWriteChain;
110
143
  constructor(memoryDir: string, options?: {
111
144
  writeStateFile?: StateFileWriter;
145
+ impressionsRotateBytes?: number;
146
+ impressionsRotateKeep?: number;
147
+ impressionsLockOptions?: Pick<HeldFileLockOptions, "maxWaitMs" | "pollMs">;
112
148
  });
113
149
  load(): Promise<void>;
114
150
  get(sessionKey: string): LastRecallSnapshot | null;
@@ -132,6 +168,7 @@ declare class LastRecallStore {
132
168
  budgetsApplied?: LastRecallBudgetSummary;
133
169
  latencyMs?: number;
134
170
  resultPaths?: string[];
171
+ resultNamespaces?: Array<string | undefined>;
135
172
  policyVersion?: string;
136
173
  appendImpression?: boolean;
137
174
  identityInjection?: {
@@ -153,6 +190,130 @@ declare class LastRecallStore {
153
190
  */
154
191
  backendDegradations?: SearchDegradation[];
155
192
  }): Promise<void>;
193
+ /**
194
+ * Drain pending spills, rotate (best-effort, sized to the projected payload),
195
+ * then append one impression line under ONE shared cross-process lock (#1910,
196
+ * #2033). Both the archive-shift renames AND the append run inside the same
197
+ * held lock so a peer process holding the lock can never rename the active
198
+ * inode to `.1` between our open and write — which would land the impression in
199
+ * a rotated archive that offline-sync excludes, silently dropping it from
200
+ * active-state/sync consumers.
201
+ *
202
+ * On lock-acquisition timeout the impression is NEVER written to the active
203
+ * file unlocked (#2033): a peer holding the lock is likely mid-rotation, so an
204
+ * unlocked append can land in the inode it is about to rename to `.1` — the
205
+ * exact silent-drop this lock prevents. Instead the row is spilled to a
206
+ * durable node-local per-event file under `<impressions>.pending.d/` and
207
+ * folded back into the active file by the next append that DOES hold the lock,
208
+ * preserving durability without racing rotation. Rotation failure under the
209
+ * held lock is logged and the append still runs. Callers invoke this only
210
+ * through `impressionsWriteChain` so the sequence is serialized in-process.
211
+ */
212
+ private get impressionsPendingDir();
213
+ private spillImpression;
214
+ /**
215
+ * Recover a claim a crashed drain left mid-flight (#2033): the crash-safe
216
+ * drain renames `<uuid>.jsonl` -> `<uuid>.jsonl.claimed` BEFORE committing, so
217
+ * a `.claimed` file with no matching commit is the ONLY durable copy of those
218
+ * rows. Rename each orphan back to `<uuid>.jsonl` so it re-enters the normal
219
+ * collect+claim+commit flow. MUST run under the held rotation lock, before
220
+ * collecting. listContainedSpillFiles skips symlinked/escaping entries.
221
+ */
222
+ private recoverOrphanedImpressionClaims;
223
+ /**
224
+ * Recover a crash-orphaned spill temp after its write completed but before
225
+ * the atomic `.tmp` → `.jsonl` rename. Valid JSONL temps are promoted back
226
+ * into the normal queue; incomplete temps remain pending and keep offline sync
227
+ * deferred rather than being discarded.
228
+ */
229
+ private recoverOrphanedImpressionTemps;
230
+ private appendImpressionSerialized;
231
+ /**
232
+ * Fold any durable pending recall-impression spills into the synced active
233
+ * `recall_impressions.jsonl` WITHOUT recording a new impression (#2033).
234
+ *
235
+ * The pending spill dir is offline-sync-excluded, so an impression that a
236
+ * lock-timed-out `record()` spilled there is absent from an offline-sync
237
+ * snapshot and lost if this node is discarded before the next `record()`
238
+ * folds it back. Offline sync calls this before building a snapshot so a
239
+ * recorded impression always reaches the remote. Fast no-op — no lock and no
240
+ * dir/lock-file creation — when nothing is pending.
241
+ *
242
+ * Returns a {@link DrainPendingImpressionsResult}: `folded` is true when rows
243
+ * were folded into the active file; `pendingDeferred` is true when durable
244
+ * spills still remain in the offline-sync-EXCLUDED queue after this call —
245
+ * because the rotation lock could not be acquired, a spill could not be
246
+ * claimed, or the drain-only fold deferred rows that would only fit by
247
+ * rotating into a sync-excluded archive (#2033). A snapshot taken while
248
+ * `pendingDeferred` is true would silently drop those rows, so the caller MUST
249
+ * NOT report a clean snapshot — it either retries or aborts.
250
+ */
251
+ drainPendingImpressions(): Promise<DrainPendingImpressionsResult>;
252
+ /**
253
+ * Claim/commit fold of durable pending impression spills into the active file
254
+ * under the held rotation lock (#2033). `line` is a new impression to append
255
+ * after the drained rows, or null for a drain-only pre-sync fold.
256
+ *
257
+ * Each spill is folded as an INDEPENDENT claim -> append -> finalize unit
258
+ * rather than materializing the whole queue as one joined payload and
259
+ * splitting it in a single synchronous pass (#2033). A multi-hundred-MB drain
260
+ * done as one join/split blocks the event loop long enough for
261
+ * `withHeldFileLock`'s ownership-refresh timer to miss its window, so a peer
262
+ * stale-breaks the 30s lock and rotates/appends concurrently — defeating the
263
+ * rotation lock this drain relies on. The per-file `await`s keep the payload
264
+ * bounded to one spill at a time and let the refresh timer fire between files.
265
+ *
266
+ * The DRAIN-ONLY path (`line === null`, run before an offline-sync snapshot)
267
+ * NEVER rotates a drained row into an archive. `recall_impressions.jsonl.*`
268
+ * is offline-sync-EXCLUDED, so rotating a just-drained row into `.1`/`.2` and
269
+ * then deleting its spill would leave that row only in a path sync omits —
270
+ * silently lost when the node is discarded after a "successful" sync (#2033).
271
+ * It folds only the rows that fit the synced active file under the cap and
272
+ * leaves the rest durable in the pending queue; {@link drainPendingImpressions}
273
+ * then reports the drain DEFERRED so the caller retries or aborts. The
274
+ * record() path (`line !== null`) keeps rotating normally — its archives stay
275
+ * on a live node that is not being discarded.
276
+ *
277
+ * Recovers any crash-orphaned claim first. Each impression carries a unique
278
+ * writeNonce, so a crash-recovered re-commit is a collapsible duplicate, never
279
+ * a lost row. listContainedSpillFiles rejects symlinked/escaping entries; a
280
+ * spill that cannot be claimed is skipped this pass. An append failure rolls
281
+ * that spill's claim back so the row retries on the next lock holder's drain.
282
+ * Returns true when the active file was written. MUST run under the held
283
+ * rotation lock.
284
+ */
285
+ private foldPendingImpressionsAndAppend;
286
+ /**
287
+ * Append one whole JSONL unit (a claimed spill's rows or a fresh impression
288
+ * line) to the active impressions file, returning the resulting active-file
289
+ * byte size. On the rotating (record) path, when the unit would push the
290
+ * current active generation to/over `impressionsRotateBytes`, the full active
291
+ * file is rotated aside FIRST so no generation exceeds the cap (#2033); a lone
292
+ * unit larger than the cap on an empty active file is written whole because
293
+ * splitting a JSONL row would corrupt it. `drainOnly` and disabled rotation
294
+ * (`impressionsRotateBytes <= 0`) both skip rotation — drain-only defers its
295
+ * overflow in {@link foldPendingImpressionsAndAppend} rather than rotating into
296
+ * a sync-excluded archive. A rotation error is logged and the append still
297
+ * runs so a row is never lost; an append failure propagates so the caller
298
+ * rolls its claim back. MUST run under the held rotation lock.
299
+ */
300
+ private appendImpressionUnit;
301
+ /**
302
+ * True when any live `<uuid>.jsonl` spill, crash-orphaned `.claimed` file,
303
+ * or crash-orphaned `.jsonl.tmp` spill remains in the offline-sync-EXCLUDED
304
+ * pending queue (#2033). After a drain acquires the rotation lock, a spill
305
+ * the fold could not claim (rename race / read-only dir) or a `.claimed`
306
+ * orphan a failed commit left behind means durable rows are STILL excluded
307
+ * from a snapshot — the drain must report itself INCOMPLETE so the caller
308
+ * retries or aborts rather than snapshotting an active file that omits them.
309
+ */
310
+ private pendingSpillsRemain;
311
+ /**
312
+ * Shift `.1..N` archives down one slot and move the active file to `.1`,
313
+ * dropping anything beyond `keep`. Callers invoke this only while holding the
314
+ * cross-process rotation lock (issue #1910).
315
+ */
316
+ private shiftImpressionArchives;
156
317
  /**
157
318
  * Attach a RecallTierExplain block to the existing snapshot for a
158
319
  * session without rewriting the entire snapshot. Used by the
@@ -218,4 +379,4 @@ declare class RecallHandleHistoryStore {
218
379
  private flush;
219
380
  }
220
381
 
221
- export { type GraphRecallExpandedEntry, type LastRecallBudgetSummary, type LastRecallSnapshot, LastRecallStore, RecallHandleHistoryStore, type TierMigrationCycleSummary, type TierMigrationStatusSnapshot, TierMigrationStatusStore, clampGraphRecallExpandedEntries };
382
+ export { type DrainPendingImpressionsResult, type GraphRecallExpandedEntry, type LastRecallBudgetSummary, type LastRecallSnapshot, LastRecallStore, RecallHandleHistoryStore, type TierMigrationCycleSummary, type TierMigrationStatusSnapshot, TierMigrationStatusStore, clampGraphRecallExpandedEntries };
@@ -3,9 +3,12 @@ import {
3
3
  RecallHandleHistoryStore,
4
4
  TierMigrationStatusStore,
5
5
  clampGraphRecallExpandedEntries
6
- } from "./chunk-E5BK6CGV.js";
7
- import "./chunk-SFQ6QNL7.js";
8
- import "./chunk-37CTGERM.js";
6
+ } from "./chunk-FMLKOL2Z.js";
7
+ import "./chunk-R6YJI3HE.js";
8
+ import "./chunk-GCASGYIO.js";
9
+ import "./chunk-WL5EBRDH.js";
10
+ import "./chunk-5UZXUTVO.js";
11
+ import "./chunk-3WCASNQZ.js";
9
12
  import "./chunk-PZ5AY32C.js";
10
13
  export {
11
14
  LastRecallStore,