@remnic/core 10.0.36 → 10.0.38

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 (422) hide show
  1. package/dist/access-admin-ops-surface.js +84 -84
  2. package/dist/access-authorization-probe.js +85 -85
  3. package/dist/access-boundary.js +84 -84
  4. package/dist/access-citation-namespace.js +2 -2
  5. package/dist/access-cli.js +178 -176
  6. package/dist/access-cli.js.map +1 -1
  7. package/dist/access-extraction-force-flush.js +84 -84
  8. package/dist/access-http-briefing.js +85 -85
  9. package/dist/access-http-query.js +86 -86
  10. package/dist/access-http.js +108 -108
  11. package/dist/access-identity-continuity-surface.js +84 -84
  12. package/dist/access-lcm-surface.js +84 -84
  13. package/dist/access-mcp.js +97 -97
  14. package/dist/access-namespace-preflight.js +84 -84
  15. package/dist/access-observe-write-category.js +13 -13
  16. package/dist/access-observe-write-surface.js +84 -84
  17. package/dist/access-offline-manifest.js +12 -12
  18. package/dist/access-operations-batch.js +88 -88
  19. package/dist/access-operations.js +95 -95
  20. package/dist/access-recall-concurrency.js +84 -84
  21. package/dist/access-recall-diagnostics.js +2 -2
  22. package/dist/access-recall-response.js +84 -84
  23. package/dist/access-recall-surface.js +84 -84
  24. package/dist/access-schema.js +8 -8
  25. package/dist/access-service.js +84 -84
  26. package/dist/access-surface-catalog.js +86 -86
  27. package/dist/active-recall.js +43 -43
  28. package/dist/adapters/index.js +7 -7
  29. package/dist/adapters/registry.js +3 -3
  30. package/dist/{auto-sync-VPHR3FBI.js → auto-sync-432USQDH.js} +9 -9
  31. package/dist/briefing.js +32 -32
  32. package/dist/buffer-eviction.d.ts +16 -0
  33. package/dist/buffer-eviction.d.ts.map +1 -0
  34. package/dist/buffer-eviction.js +8 -0
  35. package/dist/buffer-persistence.d.ts +45 -0
  36. package/dist/buffer-persistence.d.ts.map +1 -0
  37. package/dist/buffer-persistence.js +8 -0
  38. package/dist/buffer.d.ts +5 -2
  39. package/dist/buffer.d.ts.map +1 -1
  40. package/dist/buffer.js +13 -11
  41. package/dist/calibration.js +1 -1
  42. package/dist/causal-behavior.js +2 -2
  43. package/dist/causal-chain.js +2 -2
  44. package/dist/causal-consolidation.js +35 -35
  45. package/dist/causal-retrieval.js +2 -2
  46. package/dist/causal-trajectory-graph.js +2 -2
  47. package/dist/causal-trajectory.js +1 -1
  48. package/dist/{chunk-FL6SLVAJ.js → chunk-2AKIVSHP.js} +2 -2
  49. package/dist/{chunk-ORWDCX5Q.js → chunk-3AODCBKX.js} +11 -11
  50. package/dist/{chunk-XFDHL252.js → chunk-3K5IEJTK.js} +4 -4
  51. package/dist/{chunk-6FIFEXFF.js → chunk-3PLAL2KP.js} +21 -7
  52. package/dist/chunk-3PLAL2KP.js.map +1 -0
  53. package/dist/{chunk-XVZA6VXC.js → chunk-3SL52JKD.js} +4 -4
  54. package/dist/{chunk-ZSAQSLKL.js → chunk-3XVBGGF3.js} +2 -2
  55. package/dist/{chunk-XO4HOBM2.js → chunk-4B37KNMP.js} +2 -2
  56. package/dist/{chunk-NIANATGL.js → chunk-4IZ6AC2U.js} +2 -2
  57. package/dist/chunk-4OFXLQJD.js +58 -0
  58. package/dist/chunk-4OFXLQJD.js.map +1 -0
  59. package/dist/{chunk-S2PDFSXS.js → chunk-4P4VLPGB.js} +1 -1
  60. package/dist/{chunk-G5UR4DXQ.js → chunk-53BLBDV6.js} +2 -2
  61. package/dist/{chunk-PDYP7SUC.js → chunk-5ANUG4JZ.js} +2 -2
  62. package/dist/{chunk-2ZYIAUYU.js → chunk-5CWH2LKL.js} +4 -4
  63. package/dist/{chunk-S2S4U4G3.js → chunk-5DCS4C4S.js} +4 -4
  64. package/dist/{chunk-7WTTE5FW.js → chunk-5K23NQRI.js} +2 -2
  65. package/dist/{chunk-V3JZZJ2E.js → chunk-5UPOKIFP.js} +12 -12
  66. package/dist/{chunk-K567EIW3.js → chunk-63YPKHAU.js} +2 -2
  67. package/dist/{chunk-G3T6YMBO.js → chunk-64S6X4IU.js} +7 -7
  68. package/dist/{chunk-HJM23E65.js → chunk-6DTIYAAN.js} +2 -2
  69. package/dist/{chunk-G7XAZU2L.js → chunk-6F5BGIAF.js} +3 -3
  70. package/dist/{chunk-IHTKBQBS.js → chunk-6JEEY42N.js} +2 -2
  71. package/dist/{chunk-NHB4RC3G.js → chunk-6QOL4G76.js} +2 -2
  72. package/dist/{chunk-AD3ZB72W.js → chunk-6SYS5YX3.js} +2 -2
  73. package/dist/{chunk-DFP37GUN.js → chunk-7HXZOWTR.js} +2 -2
  74. package/dist/{chunk-DGBWPSM6.js → chunk-7VFNGQ4V.js} +2 -2
  75. package/dist/{chunk-77ZK533I.js → chunk-7ZRRJ6RG.js} +2 -2
  76. package/dist/{chunk-GMMZ45C4.js → chunk-AVVCPA7U.js} +6 -8
  77. package/dist/chunk-AVVCPA7U.js.map +1 -0
  78. package/dist/{chunk-QISYYK4L.js → chunk-AYBAC2N4.js} +3 -3
  79. package/dist/{chunk-V44DWTFA.js → chunk-AYXRK264.js} +6 -6
  80. package/dist/{chunk-LJSBF6PW.js → chunk-C2KOW2UQ.js} +2 -2
  81. package/dist/{chunk-GY4R4P2A.js → chunk-CUWOSRCS.js} +2 -2
  82. package/dist/{chunk-VNAIUNXI.js → chunk-CVMAOPAH.js} +10 -10
  83. package/dist/{chunk-CJKHLACF.js → chunk-DG4H56SK.js} +2 -2
  84. package/dist/{chunk-BQ6DGL6A.js → chunk-DKHX2FHI.js} +2 -2
  85. package/dist/{chunk-77IXBNV6.js → chunk-E24RUQEN.js} +2 -2
  86. package/dist/{chunk-HRT2SJPC.js → chunk-E3NBMTTX.js} +2 -2
  87. package/dist/{chunk-PTQZPVRQ.js → chunk-E5PVMB3I.js} +2 -2
  88. package/dist/{chunk-AHS3QEEA.js → chunk-EEOYF3IB.js} +2 -2
  89. package/dist/{chunk-5XTSIZ3L.js → chunk-EGNONTVT.js} +6 -6
  90. package/dist/{chunk-PH33R7GN.js → chunk-EHIKY2IA.js} +2 -2
  91. package/dist/{chunk-4ISHIPOC.js → chunk-FGEY2AGV.js} +2 -2
  92. package/dist/{chunk-O6YJI5VX.js → chunk-FKTMWDN2.js} +2 -2
  93. package/dist/{chunk-KQUN4RSX.js → chunk-FQFMLOAC.js} +18 -18
  94. package/dist/{chunk-5LWODP5R.js → chunk-FRAL3EU4.js} +2 -2
  95. package/dist/{chunk-AAANTXCQ.js → chunk-FZVZYU5C.js} +2 -2
  96. package/dist/{chunk-TGAXRT7N.js → chunk-GFYFKXWZ.js} +2 -2
  97. package/dist/{chunk-ID2PLENW.js → chunk-GGI6FLO6.js} +2 -2
  98. package/dist/{chunk-GDYLZ6FR.js → chunk-HJ3UTGIW.js} +3 -3
  99. package/dist/{chunk-X3IFRQKS.js → chunk-I73ZSORJ.js} +4 -4
  100. package/dist/{chunk-X73SCHKR.js → chunk-I75BWXRZ.js} +2 -2
  101. package/dist/{chunk-M3GKSCFN.js → chunk-J7G656MY.js} +4 -4
  102. package/dist/{chunk-EH6KLYIE.js → chunk-JF3MEIHO.js} +4 -4
  103. package/dist/{chunk-XUB4I2N6.js → chunk-JFI3ATK4.js} +2 -2
  104. package/dist/{chunk-R4SATHCV.js → chunk-JH2ALMPR.js} +2 -2
  105. package/dist/{chunk-TKBW4YLS.js → chunk-JH4FCVWJ.js} +2 -2
  106. package/dist/{chunk-DG5UKN2Y.js → chunk-JIA435P3.js} +2 -2
  107. package/dist/chunk-KASJJGRG.js +29 -0
  108. package/dist/chunk-KASJJGRG.js.map +1 -0
  109. package/dist/{chunk-4Z7O2QVJ.js → chunk-KOAVX2IT.js} +2 -2
  110. package/dist/{chunk-6NXHX6MI.js → chunk-KOY25HUB.js} +2 -2
  111. package/dist/{chunk-TRW7N4FS.js → chunk-L2JQSG5M.js} +2 -2
  112. package/dist/{chunk-QQ4T622E.js → chunk-L7PGPH4E.js} +2 -2
  113. package/dist/{chunk-TYT4TEQV.js → chunk-LDWE7OZS.js} +6 -2
  114. package/dist/chunk-LDWE7OZS.js.map +1 -0
  115. package/dist/{chunk-23VGZ65V.js → chunk-LHBOFROT.js} +2 -2
  116. package/dist/{chunk-VKB2FGNW.js → chunk-LOMSBYNS.js} +90 -90
  117. package/dist/{chunk-NDJ42GKB.js → chunk-MCPSMWUC.js} +6 -6
  118. package/dist/{chunk-ERMT5WQM.js → chunk-MKE5DP3S.js} +2 -2
  119. package/dist/{chunk-64IO6ZEE.js → chunk-MZWHIAOL.js} +2 -2
  120. package/dist/{chunk-LDXS746V.js → chunk-N7DVBHU3.js} +3 -3
  121. package/dist/{chunk-F2JLBXMG.js → chunk-NH6GZEQN.js} +8 -8
  122. package/dist/{chunk-7FG2JSU6.js → chunk-NMKETOAX.js} +2 -2
  123. package/dist/{chunk-GAARPWMN.js → chunk-OKKBOTRA.js} +2 -2
  124. package/dist/{chunk-PCIIKQXW.js → chunk-OLH4XCLU.js} +2 -2
  125. package/dist/{chunk-XA32GZ6B.js → chunk-OLHN4ZNT.js} +3 -3
  126. package/dist/{chunk-UR25IQVT.js → chunk-P5CUEB2Q.js} +8 -8
  127. package/dist/{chunk-LO775P3S.js → chunk-POGPI5GR.js} +2 -2
  128. package/dist/{chunk-FXO43NBW.js → chunk-PSQ2P2T3.js} +3 -3
  129. package/dist/{chunk-KRAMCBIW.js → chunk-QKXPOLQD.js} +4 -4
  130. package/dist/{chunk-65JLKIVA.js → chunk-QO5KDQGG.js} +8 -8
  131. package/dist/{chunk-A4B7WL5N.js → chunk-QOUKZ2N3.js} +2 -2
  132. package/dist/{chunk-ZABEDRGQ.js → chunk-RGKXF4W3.js} +2 -2
  133. package/dist/{chunk-IKCGNTGS.js → chunk-RWRHGE75.js} +2 -2
  134. package/dist/{chunk-NBH7IRME.js → chunk-SWZOAQUM.js} +54 -54
  135. package/dist/{chunk-FQ52AJXX.js → chunk-SZPPCEYT.js} +2 -2
  136. package/dist/{chunk-4YYIZ475.js → chunk-TAEJ2MRR.js} +52 -52
  137. package/dist/{chunk-3ODEGTVV.js → chunk-TDCR6PQL.js} +2 -2
  138. package/dist/{chunk-QCP75JGO.js → chunk-TFA6HPOA.js} +5 -5
  139. package/dist/{chunk-BBDASWNT.js → chunk-TJ5YGCPV.js} +81 -76
  140. package/dist/chunk-TJ5YGCPV.js.map +1 -0
  141. package/dist/{chunk-SE3JAD22.js → chunk-TPKB7T6Z.js} +2 -2
  142. package/dist/{chunk-6VYY2XFK.js → chunk-TVIGN3XZ.js} +19 -19
  143. package/dist/{chunk-OHMGR6QN.js → chunk-TXP7Q7T5.js} +2 -2
  144. package/dist/{chunk-ZG3HZZ6K.js → chunk-TYGLV6ZG.js} +5 -1
  145. package/dist/{chunk-ZG3HZZ6K.js.map → chunk-TYGLV6ZG.js.map} +1 -1
  146. package/dist/{chunk-AI2VXOSO.js → chunk-TYLNWE4D.js} +2 -2
  147. package/dist/{chunk-WI6MIJYK.js → chunk-U7HJBODU.js} +5 -5
  148. package/dist/{chunk-IS4HKNWP.js → chunk-UBN5AOLT.js} +2 -2
  149. package/dist/{chunk-A6PKEU7T.js → chunk-UFM3PJDT.js} +1 -1
  150. package/dist/chunk-UFM3PJDT.js.map +1 -0
  151. package/dist/{chunk-JNELS2TW.js → chunk-UJDTXWMT.js} +2 -2
  152. package/dist/{chunk-DJMC4W6N.js → chunk-VC3X7XP3.js} +2 -2
  153. package/dist/{chunk-A2D3WICT.js → chunk-VGFNTY3Y.js} +2 -2
  154. package/dist/{chunk-X544TW54.js → chunk-VGRM43X6.js} +2 -2
  155. package/dist/{chunk-CSGFGQBI.js → chunk-VPO53QMG.js} +2 -2
  156. package/dist/{chunk-BRZRP5WD.js → chunk-VSSQIBVU.js} +2 -2
  157. package/dist/{chunk-O3VKQMWC.js → chunk-WCBLPKG3.js} +366 -168
  158. package/dist/chunk-WCBLPKG3.js.map +1 -0
  159. package/dist/{chunk-GKNX4QO3.js → chunk-WCIDCJOQ.js} +3 -3
  160. package/dist/{chunk-7VJEZQYF.js → chunk-WEK3OUGO.js} +3 -3
  161. package/dist/{chunk-IVYAPAHG.js → chunk-WRDFYSUC.js} +2 -2
  162. package/dist/{chunk-5EILJ6W2.js → chunk-WXPBDEMW.js} +2 -2
  163. package/dist/{chunk-QZP3RMYP.js → chunk-X247CYL6.js} +4 -4
  164. package/dist/{chunk-UAYA4NJN.js → chunk-XHVO3CGX.js} +28 -36
  165. package/dist/chunk-XHVO3CGX.js.map +1 -0
  166. package/dist/{chunk-YLF42JQ7.js → chunk-XHX67LX6.js} +2 -2
  167. package/dist/{chunk-C6S2Y7HE.js → chunk-XKDQTDXN.js} +4 -4
  168. package/dist/{chunk-4AHKNZW7.js → chunk-XLEP7SS3.js} +2 -2
  169. package/dist/{chunk-B6L7BKA7.js → chunk-XRFLR3XF.js} +4 -4
  170. package/dist/{chunk-H7QC7WCU.js → chunk-XTBEXZFN.js} +4 -4
  171. package/dist/{chunk-CIJRM6SQ.js → chunk-Y5ZHZKZD.js} +2 -2
  172. package/dist/{chunk-H6SKBCNI.js → chunk-YC2C67F7.js} +2 -2
  173. package/dist/{chunk-EZ25VE3G.js → chunk-YNDLCWXS.js} +4 -4
  174. package/dist/{chunk-YOL56HY5.js → chunk-YQ6SLFNZ.js} +3 -3
  175. package/dist/{chunk-SIIWHIBK.js → chunk-YYGZ4EIY.js} +2 -2
  176. package/dist/{chunk-G22A6WJQ.js → chunk-Z2T5BPOZ.js} +2 -2
  177. package/dist/{chunk-RYUSWAAU.js → chunk-ZAP7BKTZ.js} +6 -6
  178. package/dist/cli.js +136 -136
  179. package/dist/coding/export-okf-codegraph.js +33 -33
  180. package/dist/coding/pre-action-gate.js +2 -2
  181. package/dist/compounding/engine.js +34 -34
  182. package/dist/config.d.ts.map +1 -1
  183. package/dist/config.js +43 -43
  184. package/dist/connectors/codex-materialize-runner.js +32 -32
  185. package/dist/connectors/index.js +32 -32
  186. package/dist/contradiction/index.js +5 -5
  187. package/dist/convergence-refresh.js +34 -34
  188. package/dist/conversation-index/backend.js +2 -2
  189. package/dist/corpus-watermark.js +34 -34
  190. package/dist/dashboard-runtime.js +2 -2
  191. package/dist/deep-recall-http-glue.js +9 -9
  192. package/dist/deep-recall-policy-llm.js +2 -2
  193. package/dist/entity-retrieval.js +34 -34
  194. package/dist/explicit-capture.js +7 -7
  195. package/dist/external-wiki-access.js +85 -85
  196. package/dist/extraction-faithfulness.js +2 -2
  197. package/dist/extraction-judge.d.ts +42 -2
  198. package/dist/extraction-judge.d.ts.map +1 -1
  199. package/dist/extraction-judge.js +12 -2
  200. package/dist/extraction-span-materialize.js +2 -2
  201. package/dist/extraction.js +47 -47
  202. package/dist/fallback-llm.d.ts +1 -0
  203. package/dist/fallback-llm.d.ts.map +1 -1
  204. package/dist/fallback-llm.js +1 -1
  205. package/dist/{graph-edge-decay-IU75NV42.js → graph-edge-decay-2BZTY2IM.js} +5 -5
  206. package/dist/graph-edge-decay-2BZTY2IM.js.map +1 -0
  207. package/dist/graph-jsonl.js +3 -3
  208. package/dist/graph-snapshot.js +3 -3
  209. package/dist/graph.js +2 -2
  210. package/dist/harmonic-retrieval.js +33 -33
  211. package/dist/harmonic-source-lookup.js +2 -2
  212. package/dist/index.js +236 -234
  213. package/dist/lcm/index.js +3 -3
  214. package/dist/location/index.js +35 -35
  215. package/dist/maintenance/memory-governance.js +32 -32
  216. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +32 -32
  217. package/dist/maintenance/rebuild-memory-projection-runner.js +34 -34
  218. package/dist/maintenance/rebuild-memory-projection.js +33 -33
  219. package/dist/memory-browse-operations.js +85 -85
  220. package/dist/memory-browse.js +5 -5
  221. package/dist/memory-subject.js +3 -3
  222. package/dist/namespaces/migrate.js +33 -33
  223. package/dist/namespaces/search.js +11 -11
  224. package/dist/namespaces/storage.js +32 -32
  225. package/dist/offline-sync-changeset-generations.js +3 -3
  226. package/dist/offline-sync-embedding-generation.js +2 -2
  227. package/dist/offline-sync-file-io.js +2 -2
  228. package/dist/offline-sync-impression-drain.js +3 -3
  229. package/dist/offline-sync-runtime-state.d.ts.map +1 -1
  230. package/dist/offline-sync-runtime-state.js +1 -1
  231. package/dist/offline-sync-snapshot-stream.js +8 -8
  232. package/dist/offline-sync-upload-staging.js +3 -3
  233. package/dist/offline-sync.js +8 -8
  234. package/dist/operator-doctor-corpus.js +35 -35
  235. package/dist/operator-toolkit.js +54 -54
  236. package/dist/orchestration/maintenance.js +44 -44
  237. package/dist/orchestrator.js +183 -181
  238. package/dist/qmd.js +4 -4
  239. package/dist/recall-explain-renderer.js +3 -3
  240. package/dist/recall-navigate-access.js +2 -2
  241. package/dist/recall-navigate-disclosure.js +2 -2
  242. package/dist/recall-navigate.js +2 -2
  243. package/dist/recall-navigation-operations.js +85 -85
  244. package/dist/recall-navigation.js +84 -84
  245. package/dist/recall-planner-llm.js +1 -1
  246. package/dist/recall-state-view-admission.js +5 -5
  247. package/dist/recall-why-service.js +5 -5
  248. package/dist/recall-xray-cli.js +4 -4
  249. package/dist/recall-xray-renderer.js +3 -3
  250. package/dist/recall-xray.js +2 -2
  251. package/dist/reconcile/manifest.js +3 -3
  252. package/dist/{resolution-V6JBMW7U.js → resolution-4ZEQPXUZ.js} +6 -6
  253. package/dist/resolution-4ZEQPXUZ.js.map +1 -0
  254. package/dist/resume-bundles.js +44 -44
  255. package/dist/retrieval-agents.js +2 -2
  256. package/dist/salvage-envelope.js +5 -5
  257. package/dist/search/factory.js +10 -10
  258. package/dist/search/index.js +14 -14
  259. package/dist/search/lancedb-backend.js +2 -2
  260. package/dist/search/meilisearch-backend.js +2 -2
  261. package/dist/search/orama-backend.js +2 -2
  262. package/dist/secure-store/index.js +2 -2
  263. package/dist/semantic-consolidation.js +33 -33
  264. package/dist/semantic-rule-promotion.js +32 -32
  265. package/dist/semantic-rule-verifier.js +32 -32
  266. package/dist/source-agent-qualifier.js +37 -37
  267. package/dist/standup/build.js +32 -32
  268. package/dist/storage/buffer-session-files.d.ts +69 -0
  269. package/dist/storage/buffer-session-files.d.ts.map +1 -0
  270. package/dist/storage.d.ts +5 -1
  271. package/dist/storage.d.ts.map +1 -1
  272. package/dist/storage.js +31 -31
  273. package/dist/subject-config.js +4 -4
  274. package/dist/summarizer.js +2 -2
  275. package/dist/support-passport/index.js +87 -87
  276. package/dist/transfer/export-okf.js +33 -33
  277. package/dist/types.d.ts +12 -0
  278. package/dist/types.d.ts.map +1 -1
  279. package/dist/types.js +1 -1
  280. package/dist/verified-recall.js +32 -32
  281. package/dist/who-knows-cli.js +33 -33
  282. package/dist/who-knows.js +32 -32
  283. package/dist/write-envelope.js +4 -4
  284. package/package.json +2 -2
  285. package/src/buffer-eviction.ts +51 -0
  286. package/src/buffer-incremental-persistence.test.ts +256 -0
  287. package/src/buffer-persistence.ts +89 -0
  288. package/src/buffer.ts +32 -61
  289. package/src/config.test.ts +16 -0
  290. package/src/config.ts +14 -0
  291. package/src/extraction-judge-chain.test.ts +298 -2
  292. package/src/extraction-judge.ts +147 -82
  293. package/src/fallback-llm.test.ts +94 -0
  294. package/src/fallback-llm.ts +7 -7
  295. package/src/offline-sync-runtime-state.ts +24 -2
  296. package/src/offline-sync.test.ts +9 -0
  297. package/src/secure-store/secure-fs.ts +11 -0
  298. package/src/secure-store/secure-store.test.ts +22 -0
  299. package/src/storage/buffer-session-files.ts +249 -0
  300. package/src/storage-buffer-sessions.test.ts +369 -0
  301. package/src/storage.ts +11 -16
  302. package/src/types.ts +12 -0
  303. package/dist/chunk-6FIFEXFF.js.map +0 -1
  304. package/dist/chunk-A6PKEU7T.js.map +0 -1
  305. package/dist/chunk-BBDASWNT.js.map +0 -1
  306. package/dist/chunk-GMMZ45C4.js.map +0 -1
  307. package/dist/chunk-O3VKQMWC.js.map +0 -1
  308. package/dist/chunk-TYT4TEQV.js.map +0 -1
  309. package/dist/chunk-UAYA4NJN.js.map +0 -1
  310. /package/dist/{auto-sync-VPHR3FBI.js.map → auto-sync-432USQDH.js.map} +0 -0
  311. /package/dist/{graph-edge-decay-IU75NV42.js.map → buffer-eviction.js.map} +0 -0
  312. /package/dist/{resolution-V6JBMW7U.js.map → buffer-persistence.js.map} +0 -0
  313. /package/dist/{chunk-FL6SLVAJ.js.map → chunk-2AKIVSHP.js.map} +0 -0
  314. /package/dist/{chunk-ORWDCX5Q.js.map → chunk-3AODCBKX.js.map} +0 -0
  315. /package/dist/{chunk-XFDHL252.js.map → chunk-3K5IEJTK.js.map} +0 -0
  316. /package/dist/{chunk-XVZA6VXC.js.map → chunk-3SL52JKD.js.map} +0 -0
  317. /package/dist/{chunk-ZSAQSLKL.js.map → chunk-3XVBGGF3.js.map} +0 -0
  318. /package/dist/{chunk-XO4HOBM2.js.map → chunk-4B37KNMP.js.map} +0 -0
  319. /package/dist/{chunk-NIANATGL.js.map → chunk-4IZ6AC2U.js.map} +0 -0
  320. /package/dist/{chunk-S2PDFSXS.js.map → chunk-4P4VLPGB.js.map} +0 -0
  321. /package/dist/{chunk-G5UR4DXQ.js.map → chunk-53BLBDV6.js.map} +0 -0
  322. /package/dist/{chunk-PDYP7SUC.js.map → chunk-5ANUG4JZ.js.map} +0 -0
  323. /package/dist/{chunk-2ZYIAUYU.js.map → chunk-5CWH2LKL.js.map} +0 -0
  324. /package/dist/{chunk-S2S4U4G3.js.map → chunk-5DCS4C4S.js.map} +0 -0
  325. /package/dist/{chunk-7WTTE5FW.js.map → chunk-5K23NQRI.js.map} +0 -0
  326. /package/dist/{chunk-V3JZZJ2E.js.map → chunk-5UPOKIFP.js.map} +0 -0
  327. /package/dist/{chunk-K567EIW3.js.map → chunk-63YPKHAU.js.map} +0 -0
  328. /package/dist/{chunk-G3T6YMBO.js.map → chunk-64S6X4IU.js.map} +0 -0
  329. /package/dist/{chunk-HJM23E65.js.map → chunk-6DTIYAAN.js.map} +0 -0
  330. /package/dist/{chunk-G7XAZU2L.js.map → chunk-6F5BGIAF.js.map} +0 -0
  331. /package/dist/{chunk-IHTKBQBS.js.map → chunk-6JEEY42N.js.map} +0 -0
  332. /package/dist/{chunk-NHB4RC3G.js.map → chunk-6QOL4G76.js.map} +0 -0
  333. /package/dist/{chunk-AD3ZB72W.js.map → chunk-6SYS5YX3.js.map} +0 -0
  334. /package/dist/{chunk-DFP37GUN.js.map → chunk-7HXZOWTR.js.map} +0 -0
  335. /package/dist/{chunk-DGBWPSM6.js.map → chunk-7VFNGQ4V.js.map} +0 -0
  336. /package/dist/{chunk-77ZK533I.js.map → chunk-7ZRRJ6RG.js.map} +0 -0
  337. /package/dist/{chunk-QISYYK4L.js.map → chunk-AYBAC2N4.js.map} +0 -0
  338. /package/dist/{chunk-V44DWTFA.js.map → chunk-AYXRK264.js.map} +0 -0
  339. /package/dist/{chunk-LJSBF6PW.js.map → chunk-C2KOW2UQ.js.map} +0 -0
  340. /package/dist/{chunk-GY4R4P2A.js.map → chunk-CUWOSRCS.js.map} +0 -0
  341. /package/dist/{chunk-VNAIUNXI.js.map → chunk-CVMAOPAH.js.map} +0 -0
  342. /package/dist/{chunk-CJKHLACF.js.map → chunk-DG4H56SK.js.map} +0 -0
  343. /package/dist/{chunk-BQ6DGL6A.js.map → chunk-DKHX2FHI.js.map} +0 -0
  344. /package/dist/{chunk-77IXBNV6.js.map → chunk-E24RUQEN.js.map} +0 -0
  345. /package/dist/{chunk-HRT2SJPC.js.map → chunk-E3NBMTTX.js.map} +0 -0
  346. /package/dist/{chunk-PTQZPVRQ.js.map → chunk-E5PVMB3I.js.map} +0 -0
  347. /package/dist/{chunk-AHS3QEEA.js.map → chunk-EEOYF3IB.js.map} +0 -0
  348. /package/dist/{chunk-5XTSIZ3L.js.map → chunk-EGNONTVT.js.map} +0 -0
  349. /package/dist/{chunk-PH33R7GN.js.map → chunk-EHIKY2IA.js.map} +0 -0
  350. /package/dist/{chunk-4ISHIPOC.js.map → chunk-FGEY2AGV.js.map} +0 -0
  351. /package/dist/{chunk-O6YJI5VX.js.map → chunk-FKTMWDN2.js.map} +0 -0
  352. /package/dist/{chunk-KQUN4RSX.js.map → chunk-FQFMLOAC.js.map} +0 -0
  353. /package/dist/{chunk-5LWODP5R.js.map → chunk-FRAL3EU4.js.map} +0 -0
  354. /package/dist/{chunk-AAANTXCQ.js.map → chunk-FZVZYU5C.js.map} +0 -0
  355. /package/dist/{chunk-TGAXRT7N.js.map → chunk-GFYFKXWZ.js.map} +0 -0
  356. /package/dist/{chunk-ID2PLENW.js.map → chunk-GGI6FLO6.js.map} +0 -0
  357. /package/dist/{chunk-GDYLZ6FR.js.map → chunk-HJ3UTGIW.js.map} +0 -0
  358. /package/dist/{chunk-X3IFRQKS.js.map → chunk-I73ZSORJ.js.map} +0 -0
  359. /package/dist/{chunk-X73SCHKR.js.map → chunk-I75BWXRZ.js.map} +0 -0
  360. /package/dist/{chunk-M3GKSCFN.js.map → chunk-J7G656MY.js.map} +0 -0
  361. /package/dist/{chunk-EH6KLYIE.js.map → chunk-JF3MEIHO.js.map} +0 -0
  362. /package/dist/{chunk-XUB4I2N6.js.map → chunk-JFI3ATK4.js.map} +0 -0
  363. /package/dist/{chunk-R4SATHCV.js.map → chunk-JH2ALMPR.js.map} +0 -0
  364. /package/dist/{chunk-TKBW4YLS.js.map → chunk-JH4FCVWJ.js.map} +0 -0
  365. /package/dist/{chunk-DG5UKN2Y.js.map → chunk-JIA435P3.js.map} +0 -0
  366. /package/dist/{chunk-4Z7O2QVJ.js.map → chunk-KOAVX2IT.js.map} +0 -0
  367. /package/dist/{chunk-6NXHX6MI.js.map → chunk-KOY25HUB.js.map} +0 -0
  368. /package/dist/{chunk-TRW7N4FS.js.map → chunk-L2JQSG5M.js.map} +0 -0
  369. /package/dist/{chunk-QQ4T622E.js.map → chunk-L7PGPH4E.js.map} +0 -0
  370. /package/dist/{chunk-23VGZ65V.js.map → chunk-LHBOFROT.js.map} +0 -0
  371. /package/dist/{chunk-VKB2FGNW.js.map → chunk-LOMSBYNS.js.map} +0 -0
  372. /package/dist/{chunk-NDJ42GKB.js.map → chunk-MCPSMWUC.js.map} +0 -0
  373. /package/dist/{chunk-ERMT5WQM.js.map → chunk-MKE5DP3S.js.map} +0 -0
  374. /package/dist/{chunk-64IO6ZEE.js.map → chunk-MZWHIAOL.js.map} +0 -0
  375. /package/dist/{chunk-LDXS746V.js.map → chunk-N7DVBHU3.js.map} +0 -0
  376. /package/dist/{chunk-F2JLBXMG.js.map → chunk-NH6GZEQN.js.map} +0 -0
  377. /package/dist/{chunk-7FG2JSU6.js.map → chunk-NMKETOAX.js.map} +0 -0
  378. /package/dist/{chunk-GAARPWMN.js.map → chunk-OKKBOTRA.js.map} +0 -0
  379. /package/dist/{chunk-PCIIKQXW.js.map → chunk-OLH4XCLU.js.map} +0 -0
  380. /package/dist/{chunk-XA32GZ6B.js.map → chunk-OLHN4ZNT.js.map} +0 -0
  381. /package/dist/{chunk-UR25IQVT.js.map → chunk-P5CUEB2Q.js.map} +0 -0
  382. /package/dist/{chunk-LO775P3S.js.map → chunk-POGPI5GR.js.map} +0 -0
  383. /package/dist/{chunk-FXO43NBW.js.map → chunk-PSQ2P2T3.js.map} +0 -0
  384. /package/dist/{chunk-KRAMCBIW.js.map → chunk-QKXPOLQD.js.map} +0 -0
  385. /package/dist/{chunk-65JLKIVA.js.map → chunk-QO5KDQGG.js.map} +0 -0
  386. /package/dist/{chunk-A4B7WL5N.js.map → chunk-QOUKZ2N3.js.map} +0 -0
  387. /package/dist/{chunk-ZABEDRGQ.js.map → chunk-RGKXF4W3.js.map} +0 -0
  388. /package/dist/{chunk-IKCGNTGS.js.map → chunk-RWRHGE75.js.map} +0 -0
  389. /package/dist/{chunk-NBH7IRME.js.map → chunk-SWZOAQUM.js.map} +0 -0
  390. /package/dist/{chunk-FQ52AJXX.js.map → chunk-SZPPCEYT.js.map} +0 -0
  391. /package/dist/{chunk-4YYIZ475.js.map → chunk-TAEJ2MRR.js.map} +0 -0
  392. /package/dist/{chunk-3ODEGTVV.js.map → chunk-TDCR6PQL.js.map} +0 -0
  393. /package/dist/{chunk-QCP75JGO.js.map → chunk-TFA6HPOA.js.map} +0 -0
  394. /package/dist/{chunk-SE3JAD22.js.map → chunk-TPKB7T6Z.js.map} +0 -0
  395. /package/dist/{chunk-6VYY2XFK.js.map → chunk-TVIGN3XZ.js.map} +0 -0
  396. /package/dist/{chunk-OHMGR6QN.js.map → chunk-TXP7Q7T5.js.map} +0 -0
  397. /package/dist/{chunk-AI2VXOSO.js.map → chunk-TYLNWE4D.js.map} +0 -0
  398. /package/dist/{chunk-WI6MIJYK.js.map → chunk-U7HJBODU.js.map} +0 -0
  399. /package/dist/{chunk-IS4HKNWP.js.map → chunk-UBN5AOLT.js.map} +0 -0
  400. /package/dist/{chunk-JNELS2TW.js.map → chunk-UJDTXWMT.js.map} +0 -0
  401. /package/dist/{chunk-DJMC4W6N.js.map → chunk-VC3X7XP3.js.map} +0 -0
  402. /package/dist/{chunk-A2D3WICT.js.map → chunk-VGFNTY3Y.js.map} +0 -0
  403. /package/dist/{chunk-X544TW54.js.map → chunk-VGRM43X6.js.map} +0 -0
  404. /package/dist/{chunk-CSGFGQBI.js.map → chunk-VPO53QMG.js.map} +0 -0
  405. /package/dist/{chunk-BRZRP5WD.js.map → chunk-VSSQIBVU.js.map} +0 -0
  406. /package/dist/{chunk-GKNX4QO3.js.map → chunk-WCIDCJOQ.js.map} +0 -0
  407. /package/dist/{chunk-7VJEZQYF.js.map → chunk-WEK3OUGO.js.map} +0 -0
  408. /package/dist/{chunk-IVYAPAHG.js.map → chunk-WRDFYSUC.js.map} +0 -0
  409. /package/dist/{chunk-5EILJ6W2.js.map → chunk-WXPBDEMW.js.map} +0 -0
  410. /package/dist/{chunk-QZP3RMYP.js.map → chunk-X247CYL6.js.map} +0 -0
  411. /package/dist/{chunk-YLF42JQ7.js.map → chunk-XHX67LX6.js.map} +0 -0
  412. /package/dist/{chunk-C6S2Y7HE.js.map → chunk-XKDQTDXN.js.map} +0 -0
  413. /package/dist/{chunk-4AHKNZW7.js.map → chunk-XLEP7SS3.js.map} +0 -0
  414. /package/dist/{chunk-B6L7BKA7.js.map → chunk-XRFLR3XF.js.map} +0 -0
  415. /package/dist/{chunk-H7QC7WCU.js.map → chunk-XTBEXZFN.js.map} +0 -0
  416. /package/dist/{chunk-CIJRM6SQ.js.map → chunk-Y5ZHZKZD.js.map} +0 -0
  417. /package/dist/{chunk-H6SKBCNI.js.map → chunk-YC2C67F7.js.map} +0 -0
  418. /package/dist/{chunk-EZ25VE3G.js.map → chunk-YNDLCWXS.js.map} +0 -0
  419. /package/dist/{chunk-YOL56HY5.js.map → chunk-YQ6SLFNZ.js.map} +0 -0
  420. /package/dist/{chunk-SIIWHIBK.js.map → chunk-YYGZ4EIY.js.map} +0 -0
  421. /package/dist/{chunk-G22A6WJQ.js.map → chunk-Z2T5BPOZ.js.map} +0 -0
  422. /package/dist/{chunk-RYUSWAAU.js.map → chunk-ZAP7BKTZ.js.map} +0 -0
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  writeGraphJsonlAtomic
3
- } from "./chunk-AAANTXCQ.js";
3
+ } from "./chunk-FZVZYU5C.js";
4
4
  import {
5
5
  graphFilePath,
6
6
  graphsDir,
7
7
  readEdgesStrict
8
- } from "./chunk-KRAMCBIW.js";
8
+ } from "./chunk-QKXPOLQD.js";
9
9
  import {
10
10
  assertGraphLockHeld,
11
11
  withGraphWriteLock,
@@ -215,4 +215,4 @@ export {
215
215
  discoverGraphNamespaceRoots,
216
216
  runGraphEdgeDecayMaintenanceAcrossNamespaces
217
217
  };
218
- //# sourceMappingURL=chunk-GDYLZ6FR.js.map
218
+ //# sourceMappingURL=chunk-HJ3UTGIW.js.map
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  matchesOfflineSyncDefaultExclude
3
3
  } from "./chunk-63LFM77Z.js";
4
- import {
5
- EMBEDDING_SHARD_FILE_PATTERN
6
- } from "./chunk-TYT4TEQV.js";
7
4
  import {
8
5
  resolveSafeArchiveTarget
9
6
  } from "./chunk-GCGJW34D.js";
7
+ import {
8
+ EMBEDDING_SHARD_FILE_PATTERN
9
+ } from "./chunk-LDWE7OZS.js";
10
10
  import {
11
11
  assertEmbeddingGenerationLockHeld,
12
12
  embeddingGenerationLockPath,
@@ -681,4 +681,4 @@ export {
681
681
  divergedEmbeddingGenerationDeferrals,
682
682
  applyIncomingEmbeddingGenerations
683
683
  };
684
- //# sourceMappingURL=chunk-X3IFRQKS.js.map
684
+ //# sourceMappingURL=chunk-I73ZSORJ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  StorageManager
3
- } from "./chunk-O3VKQMWC.js";
3
+ } from "./chunk-WCBLPKG3.js";
4
4
  import {
5
5
  getCachedRuleMemories,
6
6
  setCachedRuleMemories
@@ -119,4 +119,4 @@ export {
119
119
  compareVerifiedSemanticRuleResults,
120
120
  searchVerifiedSemanticRules
121
121
  };
122
- //# sourceMappingURL=chunk-X73SCHKR.js.map
122
+ //# sourceMappingURL=chunk-I75BWXRZ.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  resolveDefaultNamespaceRoot
3
- } from "./chunk-FQ52AJXX.js";
3
+ } from "./chunk-SZPPCEYT.js";
4
4
  import {
5
5
  StorageManager
6
- } from "./chunk-O3VKQMWC.js";
6
+ } from "./chunk-WCBLPKG3.js";
7
7
  import {
8
8
  composeLocationDayBody,
9
9
  composeLocationDayMeta,
@@ -23,7 +23,7 @@ import {
23
23
  serializeLocationDay,
24
24
  updateLocationSourceDay,
25
25
  writeLocationDay
26
- } from "./chunk-A2D3WICT.js";
26
+ } from "./chunk-VGFNTY3Y.js";
27
27
  import {
28
28
  resolveNamespaceCapabilities
29
29
  } from "./chunk-C5LWPYS3.js";
@@ -728,4 +728,4 @@ export {
728
728
  runLocationBackfill,
729
729
  runLocationCliCommand
730
730
  };
731
- //# sourceMappingURL=chunk-M3GKSCFN.js.map
731
+ //# sourceMappingURL=chunk-J7G656MY.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  readHarmonicSourceMemory,
3
3
  readUnresolvedHarmonicSources
4
- } from "./chunk-TGAXRT7N.js";
4
+ } from "./chunk-GFYFKXWZ.js";
5
5
  import {
6
6
  readProjectedMemoryStates
7
7
  } from "./chunk-AZEZSQ5R.js";
@@ -11,7 +11,7 @@ import {
11
11
  } from "./chunk-LXATZLSC.js";
12
12
  import {
13
13
  StorageManager
14
- } from "./chunk-O3VKQMWC.js";
14
+ } from "./chunk-WCBLPKG3.js";
15
15
  import {
16
16
  isValidityExpiredNow
17
17
  } from "./chunk-6CIAGZ6X.js";
@@ -50,7 +50,7 @@ import {
50
50
  } from "./chunk-2Z5DIDQD.js";
51
51
  import {
52
52
  SecureStoreLockedError
53
- } from "./chunk-ZG3HZZ6K.js";
53
+ } from "./chunk-TYGLV6ZG.js";
54
54
  import {
55
55
  RECALL_FALLBACK_DIRS
56
56
  } from "./chunk-VS2IYZRU.js";
@@ -416,4 +416,4 @@ export {
416
416
  readProjectedHarmonicGraph,
417
417
  searchHarmonicRetrieval
418
418
  };
419
- //# sourceMappingURL=chunk-EH6KLYIE.js.map
419
+ //# sourceMappingURL=chunk-JF3MEIHO.js.map
@@ -16,7 +16,7 @@ import {
16
16
  } from "./chunk-QUIRIG2P.js";
17
17
  import {
18
18
  isEncryptedFile
19
- } from "./chunk-ZG3HZZ6K.js";
19
+ } from "./chunk-TYGLV6ZG.js";
20
20
  import {
21
21
  log
22
22
  } from "./chunk-3WCASNQZ.js";
@@ -452,4 +452,4 @@ export {
452
452
  augmentWithDirectAndTemporal,
453
453
  parallelRetrieval
454
454
  };
455
- //# sourceMappingURL=chunk-XUB4I2N6.js.map
455
+ //# sourceMappingURL=chunk-JFI3ATK4.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  composeMemoryEnvelope
3
- } from "./chunk-3ODEGTVV.js";
3
+ } from "./chunk-TDCR6PQL.js";
4
4
  import {
5
5
  log
6
6
  } from "./chunk-3WCASNQZ.js";
@@ -17,4 +17,4 @@ function composeSalvagedEnvelope(label, input, ctx) {
17
17
  export {
18
18
  composeSalvagedEnvelope
19
19
  };
20
- //# sourceMappingURL=chunk-R4SATHCV.js.map
20
+ //# sourceMappingURL=chunk-JH2ALMPR.js.map
@@ -19,7 +19,7 @@ import {
19
19
  import {
20
20
  decryptMemoryDirToPlaintext,
21
21
  migrateMemoryDirToEncrypted
22
- } from "./chunk-ZG3HZZ6K.js";
22
+ } from "./chunk-TYGLV6ZG.js";
23
23
  import {
24
24
  generateSalt
25
25
  } from "./chunk-A6XUJE5D.js";
@@ -499,4 +499,4 @@ export {
499
499
  renderStatusReport,
500
500
  createPassphraseReader
501
501
  };
502
- //# sourceMappingURL=chunk-TKBW4YLS.js.map
502
+ //# sourceMappingURL=chunk-JH4FCVWJ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isGenericRecallExcludedPath
3
- } from "./chunk-IHTKBQBS.js";
3
+ } from "./chunk-6JEEY42N.js";
4
4
  import {
5
5
  normalizeProjectionPreview
6
6
  } from "./chunk-SCU65EZI.js";
@@ -209,4 +209,4 @@ export {
209
209
  browsePatternMatches,
210
210
  runMemoryBrowse
211
211
  };
212
- //# sourceMappingURL=chunk-DG5UKN2Y.js.map
212
+ //# sourceMappingURL=chunk-JIA435P3.js.map
@@ -0,0 +1,29 @@
1
+ // src/buffer-eviction.ts
2
+ var EMPTY_ENTRY = { turns: [], lastExtractionAt: null, extractionCount: 0 };
3
+ function selectEvictedBufferKeys(entries, retainKeys, maxCount, hooks) {
4
+ const keys = Object.keys(entries);
5
+ if (keys.length <= maxCount) return [];
6
+ const insertionOrder = new Map(keys.map((key, index) => [key, index]));
7
+ const byOldestActivity = (left, right) => {
8
+ const leftAt = hooks.activityAt(entries[left] ?? EMPTY_ENTRY);
9
+ const rightAt = hooks.activityAt(entries[right] ?? EMPTY_ENTRY);
10
+ if (leftAt !== rightAt) return leftAt - rightAt;
11
+ return (insertionOrder.get(left) ?? 0) - (insertionOrder.get(right) ?? 0);
12
+ };
13
+ const candidates = keys.filter(
14
+ (key) => key !== "default" && !retainKeys.includes(key) && !hooks.holdsAcceptedCapture(entries[key])
15
+ );
16
+ const emptyRemovable = candidates.filter((key) => (entries[key]?.turns.length ?? 0) === 0).sort(byOldestActivity);
17
+ const removableCount = Math.max(0, keys.length - maxCount);
18
+ const evicted = emptyRemovable.slice(0, removableCount);
19
+ if (evicted.length < removableCount) {
20
+ const nonEmptyRemovable = candidates.filter((key) => (entries[key]?.turns.length ?? 0) > 0).sort(byOldestActivity);
21
+ return evicted.concat(nonEmptyRemovable.slice(0, removableCount - evicted.length));
22
+ }
23
+ return evicted;
24
+ }
25
+
26
+ export {
27
+ selectEvictedBufferKeys
28
+ };
29
+ //# sourceMappingURL=chunk-KASJJGRG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/buffer-eviction.ts"],"sourcesContent":["import type { BufferEntryState } from \"./types.js\";\n\nconst EMPTY_ENTRY: BufferEntryState = { turns: [], lastExtractionAt: null, extractionCount: 0 };\n\nexport interface BufferEvictionHooks {\n /** Last activity time (ms) of an entry; older entries are evicted first. */\n activityAt(entry: BufferEntryState): number;\n /** Accepted captures exit via refusal/backpressure, never eviction (#3251). */\n holdsAcceptedCapture(entry: BufferEntryState | undefined): boolean;\n}\n\n/**\n * Pick the keys to evict so `entries` returns to `maxCount`: the oldest empty\n * sessions first; retained failed extractions (#1908) keep their turns, so if\n * empty entries alone cannot reach the cap the oldest NON-empty sessions go\n * too rather than growing unboundedly. \"default\", the retained keys and\n * entries holding an accepted capture are never chosen.\n */\nexport function selectEvictedBufferKeys(\n entries: Readonly<Record<string, BufferEntryState>>,\n retainKeys: readonly string[],\n maxCount: number,\n hooks: BufferEvictionHooks,\n): string[] {\n const keys = Object.keys(entries);\n if (keys.length <= maxCount) return [];\n\n const insertionOrder = new Map(keys.map((key, index) => [key, index]));\n const byOldestActivity = (left: string, right: string): number => {\n const leftAt = hooks.activityAt(entries[left] ?? EMPTY_ENTRY);\n const rightAt = hooks.activityAt(entries[right] ?? EMPTY_ENTRY);\n if (leftAt !== rightAt) return leftAt - rightAt;\n return (insertionOrder.get(left) ?? 0) - (insertionOrder.get(right) ?? 0);\n };\n const candidates = keys.filter(\n (key) => key !== \"default\" && !retainKeys.includes(key) && !hooks.holdsAcceptedCapture(entries[key]),\n );\n const emptyRemovable = candidates\n .filter((key) => (entries[key]?.turns.length ?? 0) === 0)\n .sort(byOldestActivity);\n\n const removableCount = Math.max(0, keys.length - maxCount);\n const evicted = emptyRemovable.slice(0, removableCount);\n if (evicted.length < removableCount) {\n const nonEmptyRemovable = candidates\n .filter((key) => (entries[key]?.turns.length ?? 0) > 0)\n .sort(byOldestActivity);\n return evicted.concat(nonEmptyRemovable.slice(0, removableCount - evicted.length));\n }\n return evicted;\n}\n"],"mappings":";AAEA,IAAM,cAAgC,EAAE,OAAO,CAAC,GAAG,kBAAkB,MAAM,iBAAiB,EAAE;AAgBvF,SAAS,wBACd,SACA,YACA,UACA,OACU;AACV,QAAM,OAAO,OAAO,KAAK,OAAO;AAChC,MAAI,KAAK,UAAU,SAAU,QAAO,CAAC;AAErC,QAAM,iBAAiB,IAAI,IAAI,KAAK,IAAI,CAAC,KAAK,UAAU,CAAC,KAAK,KAAK,CAAC,CAAC;AACrE,QAAM,mBAAmB,CAAC,MAAc,UAA0B;AAChE,UAAM,SAAS,MAAM,WAAW,QAAQ,IAAI,KAAK,WAAW;AAC5D,UAAM,UAAU,MAAM,WAAW,QAAQ,KAAK,KAAK,WAAW;AAC9D,QAAI,WAAW,QAAS,QAAO,SAAS;AACxC,YAAQ,eAAe,IAAI,IAAI,KAAK,MAAM,eAAe,IAAI,KAAK,KAAK;AAAA,EACzE;AACA,QAAM,aAAa,KAAK;AAAA,IACtB,CAAC,QAAQ,QAAQ,aAAa,CAAC,WAAW,SAAS,GAAG,KAAK,CAAC,MAAM,qBAAqB,QAAQ,GAAG,CAAC;AAAA,EACrG;AACA,QAAM,iBAAiB,WACpB,OAAO,CAAC,SAAS,QAAQ,GAAG,GAAG,MAAM,UAAU,OAAO,CAAC,EACvD,KAAK,gBAAgB;AAExB,QAAM,iBAAiB,KAAK,IAAI,GAAG,KAAK,SAAS,QAAQ;AACzD,QAAM,UAAU,eAAe,MAAM,GAAG,cAAc;AACtD,MAAI,QAAQ,SAAS,gBAAgB;AACnC,UAAM,oBAAoB,WACvB,OAAO,CAAC,SAAS,QAAQ,GAAG,GAAG,MAAM,UAAU,KAAK,CAAC,EACrD,KAAK,gBAAgB;AACxB,WAAO,QAAQ,OAAO,kBAAkB,MAAM,GAAG,iBAAiB,QAAQ,MAAM,CAAC;AAAA,EACnF;AACA,SAAO;AACT;","names":[]}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  rebuildMemoryProjection,
3
3
  watchProjectionRebuildParent
4
- } from "./chunk-QZP3RMYP.js";
4
+ } from "./chunk-X247CYL6.js";
5
5
  import {
6
6
  initLogger,
7
7
  log
@@ -77,4 +77,4 @@ if (invokedAsRunner) {
77
77
  export {
78
78
  PROJECTION_REBUILD_RUNNER_FLAG
79
79
  };
80
- //# sourceMappingURL=chunk-4Z7O2QVJ.js.map
80
+ //# sourceMappingURL=chunk-KOAVX2IT.js.map
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-7RJUVTVF.js";
13
13
  import {
14
14
  ContentHashIndex
15
- } from "./chunk-IS4HKNWP.js";
15
+ } from "./chunk-UBN5AOLT.js";
16
16
  import {
17
17
  computeLegacyContentHash,
18
18
  normalizeLegacyContent
@@ -348,4 +348,4 @@ export {
348
348
  buildReconcileManifest,
349
349
  collapseActiveFactDuplicates
350
350
  };
351
- //# sourceMappingURL=chunk-6NXHX6MI.js.map
351
+ //# sourceMappingURL=chunk-KOY25HUB.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-3OUGSOJP.js";
4
4
  import {
5
5
  MAGIC_BYTES
6
- } from "./chunk-ZG3HZZ6K.js";
6
+ } from "./chunk-TYGLV6ZG.js";
7
7
 
8
8
  // src/okf/lint.ts
9
9
  import fs from "fs";
@@ -202,4 +202,4 @@ export {
202
202
  publishBundle,
203
203
  rejectSymlinkPath
204
204
  };
205
- //# sourceMappingURL=chunk-TRW7N4FS.js.map
205
+ //# sourceMappingURL=chunk-L2JQSG5M.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  parseFrontmatter
3
- } from "./chunk-O3VKQMWC.js";
3
+ } from "./chunk-WCBLPKG3.js";
4
4
  import {
5
5
  activityDigestPath,
6
6
  isValidActivityDate
@@ -199,4 +199,4 @@ export {
199
199
  buildStandup,
200
200
  standupHelp
201
201
  };
202
- //# sourceMappingURL=chunk-QQ4T622E.js.map
202
+ //# sourceMappingURL=chunk-L7PGPH4E.js.map
@@ -25,10 +25,14 @@ var ABSENT_INCOMING_RUNTIME_DELETE_FILES = /* @__PURE__ */ new Set([
25
25
  function isRemoteAuthoritativeRuntimeShard(basename, parts) {
26
26
  return EMBEDDING_SHARD_FILE_PATTERN.test(basename) && parts[parts.length - 2] === "embeddings";
27
27
  }
28
+ function isRemoteAuthoritativeBufferSessionFile(parts) {
29
+ const basename = parts[parts.length - 1] ?? "";
30
+ return parts.length >= 3 && parts[parts.length - 2] === "buffer" && parts[parts.length - 3] === "state" && basename.endsWith(".json");
31
+ }
28
32
  function shouldPreferIncomingOfflineRuntimeFile(relPosix) {
29
33
  const parts = relPosix.split("/");
30
34
  const basename = parts[parts.length - 1] ?? "";
31
- return isCanonicalRuntimeStatePath(parts) && (REMOTE_AUTHORITATIVE_RUNTIME_STATE_FILES.has(basename) || isRemoteAuthoritativeRuntimeShard(basename, parts));
35
+ return isCanonicalRuntimeStatePath(parts) && (REMOTE_AUTHORITATIVE_RUNTIME_STATE_FILES.has(basename) || isRemoteAuthoritativeRuntimeShard(basename, parts) || isRemoteAuthoritativeBufferSessionFile(parts));
32
36
  }
33
37
  function shouldDeleteAbsentIncomingOfflineRuntimeFile(relPosix) {
34
38
  const parts = relPosix.split("/");
@@ -42,4 +46,4 @@ export {
42
46
  shouldPreferIncomingOfflineRuntimeFile,
43
47
  shouldDeleteAbsentIncomingOfflineRuntimeFile
44
48
  };
45
- //# sourceMappingURL=chunk-TYT4TEQV.js.map
49
+ //# sourceMappingURL=chunk-LDWE7OZS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/offline-sync-runtime-state.ts"],"sourcesContent":["// Runtime-state generation rules for offline sync (issue #1786, #3146).\n// Extracted from offline-sync.ts so the god-file line-count ratchet does not\n// grow when the rules gain entries; behavior is unchanged.\n\nexport const EMBEDDING_SHARD_FILE_PATTERN = /^shard-\\d{4}\\.json$/;\n\nexport function isCanonicalRuntimeStatePath(parts: string[]): boolean {\n if (parts[0] === \"state\") return true;\n return parts[0] === \"namespaces\" && parts.length >= 4 && parts[2] === \"state\";\n}\n\nconst REMOTE_AUTHORITATIVE_RUNTIME_STATE_FILES = new Set([\n \".artifact-write-version.log\",\n \".memory-status-version.log\",\n \"buffer.json\",\n \"embeddings.json\",\n \"index_time.json\",\n \"last_intent.json\",\n \"last_qmd_recall.json\",\n \"last_recall.json\",\n \"lcm.sqlite-shm\",\n \"lcm.sqlite-wal\",\n \"memory-lifecycle-ledger.jsonl\",\n \"recall_impressions.jsonl\",\n]);\n\nconst ABSENT_INCOMING_RUNTIME_DELETE_FILES = new Set([\n \"lcm.sqlite-shm\",\n \"lcm.sqlite-wal\",\n]);\n\n// Sharded embedding index (#3146): remote-authoritative like embeddings.json.\nfunction isRemoteAuthoritativeRuntimeShard(basename: string, parts: string[]): boolean {\n return EMBEDDING_SHARD_FILE_PATTERN.test(basename) && parts[parts.length - 2] === \"embeddings\";\n}\n\n/**\n * Per-session buffer state files (`state/buffer/<session>.json`) are\n * remote-authoritative like the legacy single `state/buffer.json` they\n * replaced: the incoming copy wins so two nodes do not each keep their own\n * version of the same session's buffered turns.\n */\nfunction isRemoteAuthoritativeBufferSessionFile(parts: string[]): boolean {\n const basename = parts[parts.length - 1] ?? \"\";\n // Matches both `state/buffer/<session>.json` and the namespace-scoped\n // `namespaces/<ns>/state/buffer/<session>.json`.\n return (\n parts.length >= 3 &&\n parts[parts.length - 2] === \"buffer\" &&\n parts[parts.length - 3] === \"state\" &&\n basename.endsWith(\".json\")\n );\n}\n\nexport function shouldPreferIncomingOfflineRuntimeFile(relPosix: string): boolean {\n const parts = relPosix.split(\"/\");\n const basename = parts[parts.length - 1] ?? \"\";\n return (\n isCanonicalRuntimeStatePath(parts) &&\n (REMOTE_AUTHORITATIVE_RUNTIME_STATE_FILES.has(basename) ||\n isRemoteAuthoritativeRuntimeShard(basename, parts) ||\n isRemoteAuthoritativeBufferSessionFile(parts))\n );\n}\n\nexport function shouldDeleteAbsentIncomingOfflineRuntimeFile(relPosix: string): boolean {\n const parts = relPosix.split(\"/\");\n const basename = parts[parts.length - 1] ?? \"\";\n return isCanonicalRuntimeStatePath(parts) && ABSENT_INCOMING_RUNTIME_DELETE_FILES.has(basename);\n}\n"],"mappings":";AAIO,IAAM,+BAA+B;AAErC,SAAS,4BAA4B,OAA0B;AACpE,MAAI,MAAM,CAAC,MAAM,QAAS,QAAO;AACjC,SAAO,MAAM,CAAC,MAAM,gBAAgB,MAAM,UAAU,KAAK,MAAM,CAAC,MAAM;AACxE;AAEA,IAAM,2CAA2C,oBAAI,IAAI;AAAA,EACvD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAED,IAAM,uCAAuC,oBAAI,IAAI;AAAA,EACnD;AAAA,EACA;AACF,CAAC;AAGD,SAAS,kCAAkC,UAAkB,OAA0B;AACrF,SAAO,6BAA6B,KAAK,QAAQ,KAAK,MAAM,MAAM,SAAS,CAAC,MAAM;AACpF;AAQA,SAAS,uCAAuC,OAA0B;AACxE,QAAM,WAAW,MAAM,MAAM,SAAS,CAAC,KAAK;AAG5C,SACE,MAAM,UAAU,KAChB,MAAM,MAAM,SAAS,CAAC,MAAM,YAC5B,MAAM,MAAM,SAAS,CAAC,MAAM,WAC5B,SAAS,SAAS,OAAO;AAE7B;AAEO,SAAS,uCAAuC,UAA2B;AAChF,QAAM,QAAQ,SAAS,MAAM,GAAG;AAChC,QAAM,WAAW,MAAM,MAAM,SAAS,CAAC,KAAK;AAC5C,SACE,4BAA4B,KAAK,MAChC,yCAAyC,IAAI,QAAQ,KACpD,kCAAkC,UAAU,KAAK,KACjD,uCAAuC,KAAK;AAElD;AAEO,SAAS,6CAA6C,UAA2B;AACtF,QAAM,QAAQ,SAAS,MAAM,GAAG;AAChC,QAAM,WAAW,MAAM,MAAM,SAAS,CAAC,KAAK;AAC5C,SAAO,4BAA4B,KAAK,KAAK,qCAAqC,IAAI,QAAQ;AAChG;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createSearchBackend
3
- } from "./chunk-UR25IQVT.js";
3
+ } from "./chunk-P5CUEB2Q.js";
4
4
  import {
5
5
  namespaceIdentityToken,
6
6
  normalizeNamespaceIdentity
@@ -508,4 +508,4 @@ export {
508
508
  NamespaceSearchRouter,
509
509
  normalizeQmdResultPath
510
510
  };
511
- //# sourceMappingURL=chunk-23VGZ65V.js.map
511
+ //# sourceMappingURL=chunk-LHBOFROT.js.map