@remnic/core 10.0.32 → 10.0.34

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 (487) hide show
  1. package/dist/abort-error.d.ts +2 -0
  2. package/dist/abort-error.d.ts.map +1 -1
  3. package/dist/abort-error.js +5 -1
  4. package/dist/access-admin-ops-surface.js +83 -83
  5. package/dist/access-authorization-probe.js +84 -84
  6. package/dist/access-boundary.js +83 -83
  7. package/dist/access-cli.js +143 -143
  8. package/dist/access-coding-context-resolution.js +3 -3
  9. package/dist/access-extraction-force-flush.js +83 -83
  10. package/dist/access-http-briefing.js +84 -84
  11. package/dist/access-http-query.js +85 -85
  12. package/dist/access-http.js +103 -103
  13. package/dist/access-idempotency.js +3 -3
  14. package/dist/access-identity-continuity-surface.js +83 -83
  15. package/dist/access-lcm-surface.js +83 -83
  16. package/dist/access-mcp.js +95 -95
  17. package/dist/access-namespace-preflight.js +83 -83
  18. package/dist/access-observe-helpers.d.ts +3 -2
  19. package/dist/access-observe-helpers.d.ts.map +1 -1
  20. package/dist/access-observe-helpers.js +2 -1
  21. package/dist/access-observe-transcript.js +3 -3
  22. package/dist/access-observe-write-category.js +15 -15
  23. package/dist/access-observe-write-surface.d.ts +2 -2
  24. package/dist/access-observe-write-surface.d.ts.map +1 -1
  25. package/dist/access-observe-write-surface.js +83 -83
  26. package/dist/access-offline-manifest.js +17 -17
  27. package/dist/access-operations-batch.js +87 -87
  28. package/dist/access-operations.js +94 -94
  29. package/dist/access-recall-concurrency.js +83 -83
  30. package/dist/access-recall-response.js +83 -83
  31. package/dist/access-recall-surface.js +83 -83
  32. package/dist/access-schema.js +10 -10
  33. package/dist/access-service.d.ts +1 -1
  34. package/dist/access-service.d.ts.map +1 -1
  35. package/dist/access-service.js +83 -83
  36. package/dist/access-surface-catalog.js +85 -85
  37. package/dist/active-recall.js +41 -41
  38. package/dist/artifact-search.js +3 -3
  39. package/dist/{auto-sync-MX2AHVPQ.js → auto-sync-VPHR3FBI.js} +12 -12
  40. package/dist/briefing-window.js +2 -2
  41. package/dist/briefing.js +33 -33
  42. package/dist/buffer.js +16 -16
  43. package/dist/calibration.js +5 -5
  44. package/dist/{capsule-merge-LGYZAMO4.js → capsule-merge-RNQUP2VL.js} +6 -6
  45. package/dist/capture-write-lock.js +4 -4
  46. package/dist/causal-behavior.js +2 -2
  47. package/dist/causal-chain.js +2 -2
  48. package/dist/causal-consolidation.js +35 -35
  49. package/dist/causal-retrieval.js +2 -2
  50. package/dist/causal-trajectory-graph.js +5 -5
  51. package/dist/causal-trajectory.js +1 -1
  52. package/dist/{chunk-UBBZFODO.js → chunk-23VGZ65V.js} +2 -2
  53. package/dist/{chunk-3CZRBTJK.js → chunk-2NLCDNGA.js} +3 -3
  54. package/dist/{chunk-7WWITD3H.js → chunk-2ZYIAUYU.js} +2 -2
  55. package/dist/{chunk-2FIJQNL7.js → chunk-3ODEGTVV.js} +2 -2
  56. package/dist/{chunk-A54E2ZTD.js → chunk-4AHKNZW7.js} +2 -2
  57. package/dist/{chunk-NU247WVX.js → chunk-4ISHIPOC.js} +3 -3
  58. package/dist/{chunk-K6RQ2KOX.js → chunk-4Z7O2QVJ.js} +2 -2
  59. package/dist/{chunk-FLI6DEIU.js → chunk-53OWLEAD.js} +2 -2
  60. package/dist/{chunk-EPOYPPOW.js → chunk-5EILJ6W2.js} +2 -2
  61. package/dist/{chunk-VY47VI2T.js → chunk-5IIQU4JZ.js} +2 -2
  62. package/dist/{chunk-RBGRQEW3.js → chunk-5KBIOI4G.js} +2 -2
  63. package/dist/{chunk-NQV6G6MU.js → chunk-5LWODP5R.js} +2 -2
  64. package/dist/{chunk-3Q3N35W7.js → chunk-63E37JCN.js} +2 -2
  65. package/dist/{chunk-HSPEVXT5.js → chunk-66NLI5NK.js} +30 -30
  66. package/dist/{chunk-C2AOL6MK.js → chunk-6FIFEXFF.js} +4 -4
  67. package/dist/{chunk-DP3TSAYT.js → chunk-6NXHX6MI.js} +2 -2
  68. package/dist/{chunk-HOSJESKO.js → chunk-6VYY2XFK.js} +6 -6
  69. package/dist/{chunk-A5ZY537U.js → chunk-6WR4UGJN.js} +2 -2
  70. package/dist/{chunk-IWUFKS4J.js → chunk-77IXBNV6.js} +2 -2
  71. package/dist/{chunk-O6S5FLZB.js → chunk-77ZK533I.js} +2 -2
  72. package/dist/{chunk-KJZKO2M6.js → chunk-7EPY3IQL.js} +2 -2
  73. package/dist/{chunk-MGKH5KO3.js → chunk-7FG2JSU6.js} +2 -2
  74. package/dist/{chunk-LGR54NYT.js → chunk-7VJEZQYF.js} +9 -7
  75. package/dist/chunk-7VJEZQYF.js.map +1 -0
  76. package/dist/{chunk-F5FZ7DB4.js → chunk-7WTTE5FW.js} +2 -2
  77. package/dist/{chunk-PL26BCRN.js → chunk-A2D3WICT.js} +2 -2
  78. package/dist/{chunk-DNZ2CWPG.js → chunk-A4B7WL5N.js} +2 -2
  79. package/dist/{chunk-YYEOR4XN.js → chunk-AAANTXCQ.js} +3 -3
  80. package/dist/{chunk-TPSLVZHS.js → chunk-AF2XMJKD.js} +2 -2
  81. package/dist/{chunk-5JI3XWI2.js → chunk-AHS3QEEA.js} +2 -2
  82. package/dist/{chunk-NKW27NU3.js → chunk-AI2VXOSO.js} +3 -3
  83. package/dist/{chunk-YHLWPYHT.js → chunk-APYY5CX3.js} +3 -3
  84. package/dist/{chunk-4ZTVOECF.js → chunk-B6L7BKA7.js} +2 -2
  85. package/dist/{chunk-AN3G5DZH.js → chunk-BBDASWNT.js} +2 -2
  86. package/dist/{chunk-KXRX7YC2.js → chunk-BCCG7VWM.js} +2 -2
  87. package/dist/{chunk-OIKLZCJD.js → chunk-BRZRP5WD.js} +2 -2
  88. package/dist/{chunk-OCWNT322.js → chunk-C6S2Y7HE.js} +2 -2
  89. package/dist/{chunk-GDPTMK5V.js → chunk-CIJRM6SQ.js} +2 -2
  90. package/dist/{chunk-LVU7FP27.js → chunk-CJKHLACF.js} +3 -3
  91. package/dist/{chunk-NRLWHZVS.js → chunk-D75ET36O.js} +5 -5
  92. package/dist/{chunk-BDHYRMJC.js → chunk-DFP37GUN.js} +2 -2
  93. package/dist/{chunk-RN7HPFYS.js → chunk-DG5UKN2Y.js} +2 -2
  94. package/dist/{chunk-VAPVRDC4.js → chunk-DJMC4W6N.js} +2 -2
  95. package/dist/{chunk-TRMJ6BYC.js → chunk-DM5QZ3YU.js} +2 -2
  96. package/dist/{chunk-5HJCZ7SB.js → chunk-DMLCETTO.js} +6 -6
  97. package/dist/{chunk-EUCYTCFP.js → chunk-DZPTR2XQ.js} +2 -2
  98. package/dist/{chunk-5B5WYAHQ.js → chunk-EBRG7ZIK.js} +2 -2
  99. package/dist/{chunk-3CRE3UZI.js → chunk-EH6KLYIE.js} +4 -4
  100. package/dist/{chunk-DMDWFQMR.js → chunk-ERMT5WQM.js} +2 -2
  101. package/dist/{chunk-VOKHZRHW.js → chunk-EXYT52NR.js} +3 -3
  102. package/dist/{chunk-CBH2Z4UA.js → chunk-F5GVIPC7.js} +2 -2
  103. package/dist/{chunk-464QR7WO.js → chunk-FOTV6L22.js} +205 -169
  104. package/dist/chunk-FOTV6L22.js.map +1 -0
  105. package/dist/{chunk-APRGEZQN.js → chunk-FQ52AJXX.js} +3 -3
  106. package/dist/{chunk-6JMQR72P.js → chunk-FRXS6SC7.js} +2 -2
  107. package/dist/{chunk-5GT4ESLR.js → chunk-FXO43NBW.js} +3 -3
  108. package/dist/{chunk-KW4AJ7T3.js → chunk-G22A6WJQ.js} +2 -2
  109. package/dist/{chunk-TEUPXKC5.js → chunk-G5UR4DXQ.js} +2 -2
  110. package/dist/{chunk-ZY4S5WMQ.js → chunk-G7XAZU2L.js} +2 -2
  111. package/dist/{chunk-AQ5XLA36.js → chunk-GAARPWMN.js} +2 -2
  112. package/dist/{chunk-5GX5457J.js → chunk-GDYLZ6FR.js} +4 -4
  113. package/dist/{chunk-42MM5DKK.js → chunk-GK56GNNS.js} +7 -7
  114. package/dist/{chunk-7SXUGYPE.js → chunk-GKNX4QO3.js} +3 -3
  115. package/dist/{chunk-UIDWASOS.js → chunk-GMMZ45C4.js} +2 -2
  116. package/dist/{chunk-2IXEKMBJ.js → chunk-GSN77SST.js} +53 -51
  117. package/dist/chunk-GSN77SST.js.map +1 -0
  118. package/dist/{chunk-MND4YJSX.js → chunk-GY4R4P2A.js} +2 -2
  119. package/dist/{chunk-2VBDSZ7U.js → chunk-H6SKBCNI.js} +2 -2
  120. package/dist/{chunk-SGII36L6.js → chunk-H7QC7WCU.js} +4 -4
  121. package/dist/{chunk-Z7L72ZHL.js → chunk-HADD45AR.js} +3 -3
  122. package/dist/{chunk-K6YJGWJP.js → chunk-HJM23E65.js} +4 -4
  123. package/dist/{chunk-GEHIRZXF.js → chunk-HRT2SJPC.js} +3 -3
  124. package/dist/{chunk-DLH3ECZP.js → chunk-HTTZ3GJ6.js} +2 -2
  125. package/dist/{chunk-YRULQW5J.js → chunk-HXFIILGF.js} +2 -2
  126. package/dist/{chunk-53GYS3GG.js → chunk-I6QGI65T.js} +3 -3
  127. package/dist/{chunk-BDLOEODO.js → chunk-IHTKBQBS.js} +2 -2
  128. package/dist/{chunk-AHCELJMH.js → chunk-IS4HKNWP.js} +2 -2
  129. package/dist/{chunk-WPCK6EJ2.js → chunk-IV2HEXK3.js} +2 -2
  130. package/dist/{chunk-6MC7UQ6D.js → chunk-IVYAPAHG.js} +2 -2
  131. package/dist/{chunk-RILIWZA6.js → chunk-JKJTXIDI.js} +7 -7
  132. package/dist/{chunk-3BOQPLCF.js → chunk-JNELS2TW.js} +2 -2
  133. package/dist/{chunk-YGBWSKBD.js → chunk-JPQCHBTK.js} +2 -2
  134. package/dist/{chunk-3VYNGM5A.js → chunk-K567EIW3.js} +2 -2
  135. package/dist/{chunk-4IYIGN53.js → chunk-KRAMCBIW.js} +2 -2
  136. package/dist/{chunk-W7X7XT7Z.js → chunk-KRH4KQGP.js} +17 -17
  137. package/dist/{chunk-KFR343VH.js → chunk-LO775P3S.js} +2 -2
  138. package/dist/{chunk-VXWOJPSY.js → chunk-LWRIGKFM.js} +2 -2
  139. package/dist/{chunk-U4BNX4R2.js → chunk-M3GKSCFN.js} +4 -4
  140. package/dist/{chunk-WK7GFAQ2.js → chunk-MWJ25UMW.js} +3 -3
  141. package/dist/{chunk-YVGXH72Y.js → chunk-NGHDW6UU.js} +2 -2
  142. package/dist/{chunk-D3EXT5KG.js → chunk-NHB4RC3G.js} +3 -3
  143. package/dist/{chunk-ZGP2XB4S.js → chunk-O3VKQMWC.js} +16 -16
  144. package/dist/{chunk-MCLZM5G7.js → chunk-OOOX5C4X.js} +2 -2
  145. package/dist/{chunk-SIGAGKNE.js → chunk-OR42ZI54.js} +2 -2
  146. package/dist/{chunk-RU6WB55E.js → chunk-ORWDCX5Q.js} +4 -4
  147. package/dist/{chunk-6MKLMEBE.js → chunk-P4GUQSK3.js} +2 -2
  148. package/dist/{chunk-JTACUJP3.js → chunk-PCIIKQXW.js} +2 -2
  149. package/dist/{chunk-IDPZCHET.js → chunk-PH33R7GN.js} +3 -3
  150. package/dist/{chunk-JAYNUYSJ.js → chunk-PTQZPVRQ.js} +2 -2
  151. package/dist/{chunk-HJ444KNS.js → chunk-QEDLJDHP.js} +9 -5
  152. package/dist/chunk-QEDLJDHP.js.map +1 -0
  153. package/dist/{chunk-RRYN5FFC.js → chunk-QISYYK4L.js} +4 -4
  154. package/dist/{chunk-UZDOPJ2P.js → chunk-QJFNB6Z5.js} +2 -2
  155. package/dist/{chunk-HNTB7NIE.js → chunk-QQ4T622E.js} +2 -2
  156. package/dist/{chunk-3GOPAWA7.js → chunk-QZP3RMYP.js} +5 -5
  157. package/dist/{chunk-BTTPKDIL.js → chunk-R2MBW2S4.js} +10 -1
  158. package/dist/chunk-R2MBW2S4.js.map +1 -0
  159. package/dist/{chunk-UAAAXSKQ.js → chunk-R4SATHCV.js} +2 -2
  160. package/dist/{chunk-4O4TKIXQ.js → chunk-RNFMFC37.js} +2 -2
  161. package/dist/{chunk-C2RW36YR.js → chunk-S2PDFSXS.js} +1 -1
  162. package/dist/{chunk-PZWW6MDE.js → chunk-S2S4U4G3.js} +4 -4
  163. package/dist/{chunk-H6Z3RNW3.js → chunk-S57QBPTA.js} +2 -2
  164. package/dist/{chunk-GZXXPCWJ.js → chunk-SE3JAD22.js} +2 -2
  165. package/dist/{chunk-ID62FNER.js → chunk-SGLEHJ4P.js} +2 -2
  166. package/dist/{chunk-5SMHQW45.js → chunk-SIIWHIBK.js} +2 -2
  167. package/dist/{chunk-3EJQXF3B.js → chunk-SQ554O3K.js} +3 -3
  168. package/dist/{chunk-ISMZ5UNE.js → chunk-STM4T335.js} +3 -3
  169. package/dist/{chunk-QNDOTDJK.js → chunk-TGAXRT7N.js} +2 -2
  170. package/dist/{chunk-LLHZZOIB.js → chunk-TRSKATZQ.js} +2 -2
  171. package/dist/{chunk-TB2J4PBY.js → chunk-TVM47JQB.js} +6 -6
  172. package/dist/{chunk-HMON55NJ.js → chunk-UAYA4NJN.js} +3 -3
  173. package/dist/{chunk-LNEWDF2A.js → chunk-UKQFCOGT.js} +34 -8
  174. package/dist/chunk-UKQFCOGT.js.map +1 -0
  175. package/dist/{chunk-PGHYQMKZ.js → chunk-UR25IQVT.js} +6 -6
  176. package/dist/{chunk-J6SZXAQ2.js → chunk-UTMVZPAV.js} +2 -2
  177. package/dist/{chunk-6EDW54SQ.js → chunk-UUZ7KZAO.js} +4 -4
  178. package/dist/{chunk-66BCOVW2.js → chunk-V44DWTFA.js} +5 -5
  179. package/dist/{chunk-SWWHIJUJ.js → chunk-VILPVT4S.js} +3 -3
  180. package/dist/{chunk-DZBMASSI.js → chunk-VNAIUNXI.js} +11 -11
  181. package/dist/{chunk-DNIG3JME.js → chunk-VY6BD5KB.js} +3 -3
  182. package/dist/{chunk-UZRSI6NX.js → chunk-WI6MIJYK.js} +2 -2
  183. package/dist/{chunk-5AUY5Z5E.js → chunk-WJ6S54ES.js} +3 -3
  184. package/dist/{chunk-3IDNKOCE.js → chunk-WRFXSJGW.js} +2 -2
  185. package/dist/{chunk-MGCKZWAE.js → chunk-X3IFRQKS.js} +2 -2
  186. package/dist/{chunk-PGRZ3FYC.js → chunk-X4OZMANG.js} +2 -2
  187. package/dist/{chunk-5GPHJ333.js → chunk-X73SCHKR.js} +2 -2
  188. package/dist/{chunk-YXWLQHAW.js → chunk-XA32GZ6B.js} +3 -3
  189. package/dist/{chunk-XVZIBMSY.js → chunk-XFDHL252.js} +4 -4
  190. package/dist/{chunk-MZZEMPCI.js → chunk-XUB4I2N6.js} +2 -2
  191. package/dist/{chunk-GUMZC2BO.js → chunk-Y5NLBXPV.js} +2 -2
  192. package/dist/{chunk-CU5TILGD.js → chunk-YIJECSIX.js} +2 -2
  193. package/dist/{chunk-OTWZXOJI.js → chunk-YIMDCBNV.js} +2 -2
  194. package/dist/{chunk-HPWJ5B7D.js → chunk-YK7ZJPQM.js} +2 -2
  195. package/dist/{chunk-ZEMBRSKK.js → chunk-YLF42JQ7.js} +2 -2
  196. package/dist/{chunk-T2JSUEH6.js → chunk-YLXETSAH.js} +2 -2
  197. package/dist/{chunk-WKVL2G7X.js → chunk-YOL56HY5.js} +5 -5
  198. package/dist/{chunk-EXYDKAR6.js → chunk-YXNVNMHB.js} +7 -7
  199. package/dist/{chunk-RXFCU3CY.js → chunk-YXW4KXCV.js} +2 -2
  200. package/dist/{chunk-NYPQHFC3.js → chunk-ZABEDRGQ.js} +2 -2
  201. package/dist/{chunk-GJBSEMC5.js → chunk-ZRU7636R.js} +11 -11
  202. package/dist/cli.js +119 -119
  203. package/dist/coding/export-okf-codegraph.js +33 -33
  204. package/dist/coding/pre-action-gate.js +2 -2
  205. package/dist/compounding/engine.js +35 -35
  206. package/dist/config.js +41 -41
  207. package/dist/connectors/codex-materialize-runner.js +32 -32
  208. package/dist/connectors/index.js +32 -32
  209. package/dist/consolidation-provenance-check.js +6 -6
  210. package/dist/consolidation-undo.js +5 -5
  211. package/dist/contradiction/index.js +7 -7
  212. package/dist/convergence-refresh.js +34 -34
  213. package/dist/corpus-read-cancellation.js +2 -2
  214. package/dist/corpus-watermark.js +34 -34
  215. package/dist/deep-recall-http-glue.js +11 -11
  216. package/dist/deep-recall-policy-llm.js +4 -4
  217. package/dist/deep-recall.js +2 -2
  218. package/dist/direct-answer-wiring.js +2 -2
  219. package/dist/embedding-fallback.js +5 -5
  220. package/dist/embedding-generation-lock.js +4 -4
  221. package/dist/{entity-canonical-id-migration-GD5MPFUF.js → entity-canonical-id-migration-2YOLMOFC.js} +6 -6
  222. package/dist/entity-mention-index-cache.js +2 -2
  223. package/dist/entity-recall-cancellation.js +3 -3
  224. package/dist/entity-retrieval.js +34 -34
  225. package/dist/explicit-capture.js +10 -10
  226. package/dist/external-wiki-access.js +84 -84
  227. package/dist/extraction-faithfulness.js +4 -4
  228. package/dist/extraction-judge.js +4 -4
  229. package/dist/extraction.js +41 -41
  230. package/dist/fallback-llm-codex-subscription.js +2 -2
  231. package/dist/fallback-llm.js +3 -3
  232. package/dist/{forget-GXBWFKRC.js → forget-E6ZTUKEC.js} +5 -5
  233. package/dist/{graph-edge-decay-BYPZVJT4.js → graph-edge-decay-IU75NV42.js} +8 -8
  234. package/dist/graph-jsonl.js +6 -6
  235. package/dist/graph-snapshot.js +6 -6
  236. package/dist/graph-write-lock.js +4 -4
  237. package/dist/graph.js +5 -5
  238. package/dist/harmonic-retrieval.js +33 -33
  239. package/dist/harmonic-source-lookup.js +2 -2
  240. package/dist/http-retry.js +2 -2
  241. package/dist/index.js +143 -143
  242. package/dist/live-connectors-runner.js +3 -3
  243. package/dist/local-llm-rate-limit.d.ts +1 -1
  244. package/dist/local-llm-rate-limit.d.ts.map +1 -1
  245. package/dist/local-llm-rate-limit.js +1 -1
  246. package/dist/local-llm.js +4 -4
  247. package/dist/location/index.js +35 -35
  248. package/dist/maintenance/memory-governance.js +32 -32
  249. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +32 -32
  250. package/dist/maintenance/rebuild-memory-projection-runner.js +34 -34
  251. package/dist/maintenance/rebuild-memory-projection.js +33 -33
  252. package/dist/memory-browse-operations.js +84 -84
  253. package/dist/memory-browse.js +9 -9
  254. package/dist/memory-subject.js +5 -5
  255. package/dist/namespaces/migrate.js +33 -33
  256. package/dist/namespaces/search.js +13 -13
  257. package/dist/namespaces/storage.js +32 -32
  258. package/dist/offline-sync-changeset-generations.js +6 -6
  259. package/dist/offline-sync-embedding-generation.js +5 -5
  260. package/dist/offline-sync-file-io.js +2 -2
  261. package/dist/offline-sync-impression-drain.js +8 -8
  262. package/dist/offline-sync-snapshot-stream.js +10 -10
  263. package/dist/offline-sync-upload-staging.js +3 -3
  264. package/dist/offline-sync.js +9 -9
  265. package/dist/operator-doctor-corpus.js +35 -35
  266. package/dist/operator-toolkit.js +56 -56
  267. package/dist/orchestration/extraction-queue-coordinator.d.ts +9 -1
  268. package/dist/orchestration/extraction-queue-coordinator.d.ts.map +1 -1
  269. package/dist/orchestration/extraction-run.d.ts +3 -5
  270. package/dist/orchestration/extraction-run.d.ts.map +1 -1
  271. package/dist/orchestration/maintenance.js +50 -50
  272. package/dist/orchestration/session-context.d.ts +2 -7
  273. package/dist/orchestration/session-context.d.ts.map +1 -1
  274. package/dist/orchestration/turn-ingestion.d.ts +6 -14
  275. package/dist/orchestration/turn-ingestion.d.ts.map +1 -1
  276. package/dist/orchestrator.d.ts.map +1 -1
  277. package/dist/orchestrator.js +143 -143
  278. package/dist/page-versioning.js +5 -5
  279. package/dist/qmd-daemon-session.js +3 -3
  280. package/dist/qmd-mcp-cancel.js +2 -2
  281. package/dist/qmd-preflight.js +2 -2
  282. package/dist/qmd.js +6 -6
  283. package/dist/recall-composition-decision.js +2 -2
  284. package/dist/recall-navigation-operations.js +84 -84
  285. package/dist/recall-navigation.js +83 -83
  286. package/dist/recall-planner-llm.js +3 -3
  287. package/dist/recall-qos.js +2 -2
  288. package/dist/recall-state-view-admission.js +9 -9
  289. package/dist/recall-state.js +4 -4
  290. package/dist/recall-why-service.js +9 -9
  291. package/dist/reconcile/manifest.js +5 -5
  292. package/dist/{resolution-AMYTPT5X.js → resolution-V6JBMW7U.js} +8 -8
  293. package/dist/resume-bundles.js +42 -42
  294. package/dist/retrieval-agents.js +2 -2
  295. package/dist/salvage-envelope.js +7 -7
  296. package/dist/search/embed-helper.js +3 -3
  297. package/dist/search/factory.js +12 -12
  298. package/dist/search/index.js +12 -12
  299. package/dist/search/lancedb-backend.js +3 -3
  300. package/dist/search/meilisearch-backend.js +3 -3
  301. package/dist/search/orama-backend.js +3 -3
  302. package/dist/semantic-consolidation.js +33 -33
  303. package/dist/semantic-rule-promotion.js +32 -32
  304. package/dist/semantic-rule-verifier.js +32 -32
  305. package/dist/shared-context/manager.js +2 -2
  306. package/dist/source-agent-qualifier.js +38 -38
  307. package/dist/standup/build.js +32 -32
  308. package/dist/storage.js +31 -31
  309. package/dist/subject-config.js +6 -6
  310. package/dist/summarizer.js +9 -9
  311. package/dist/summary-snapshot.js +4 -4
  312. package/dist/support-passport/index.js +86 -86
  313. package/dist/{trace-QBQVS5BC.js → trace-LQOA3HKD.js} +3 -3
  314. package/dist/transfer/capsule-import.js +6 -6
  315. package/dist/transfer/export-okf.js +32 -32
  316. package/dist/utils/serialize-mutations.js +3 -3
  317. package/dist/verified-recall.js +32 -32
  318. package/dist/who-knows-cli.js +33 -33
  319. package/dist/who-knows.js +32 -32
  320. package/dist/write-envelope.js +6 -6
  321. package/package.json +2 -2
  322. package/src/abort-error.ts +10 -0
  323. package/src/access-observe-helpers.ts +40 -6
  324. package/src/access-observe-write-surface.ts +7 -4
  325. package/src/access-service-observe-lcm-parity.test.ts +1 -12
  326. package/src/access-service-observe-scope.test.ts +74 -0
  327. package/src/access-service.ts +3 -2
  328. package/src/local-llm-rate-limit.test.ts +28 -0
  329. package/src/local-llm-rate-limit.ts +12 -5
  330. package/src/orchestration/extraction-queue-coordinator.ts +37 -3
  331. package/src/orchestration/extraction-run.ts +7 -7
  332. package/src/orchestration/session-context.ts +4 -7
  333. package/src/orchestration/turn-ingestion.ts +22 -23
  334. package/src/orchestrator-extraction-queue.test.ts +48 -0
  335. package/src/orchestrator-flush.test.ts +2 -0
  336. package/src/orchestrator.ts +2 -7
  337. package/dist/chunk-2IXEKMBJ.js.map +0 -1
  338. package/dist/chunk-464QR7WO.js.map +0 -1
  339. package/dist/chunk-BTTPKDIL.js.map +0 -1
  340. package/dist/chunk-HJ444KNS.js.map +0 -1
  341. package/dist/chunk-LGR54NYT.js.map +0 -1
  342. package/dist/chunk-LNEWDF2A.js.map +0 -1
  343. /package/dist/{auto-sync-MX2AHVPQ.js.map → auto-sync-VPHR3FBI.js.map} +0 -0
  344. /package/dist/{capsule-merge-LGYZAMO4.js.map → capsule-merge-RNQUP2VL.js.map} +0 -0
  345. /package/dist/{chunk-UBBZFODO.js.map → chunk-23VGZ65V.js.map} +0 -0
  346. /package/dist/{chunk-3CZRBTJK.js.map → chunk-2NLCDNGA.js.map} +0 -0
  347. /package/dist/{chunk-7WWITD3H.js.map → chunk-2ZYIAUYU.js.map} +0 -0
  348. /package/dist/{chunk-2FIJQNL7.js.map → chunk-3ODEGTVV.js.map} +0 -0
  349. /package/dist/{chunk-A54E2ZTD.js.map → chunk-4AHKNZW7.js.map} +0 -0
  350. /package/dist/{chunk-NU247WVX.js.map → chunk-4ISHIPOC.js.map} +0 -0
  351. /package/dist/{chunk-K6RQ2KOX.js.map → chunk-4Z7O2QVJ.js.map} +0 -0
  352. /package/dist/{chunk-FLI6DEIU.js.map → chunk-53OWLEAD.js.map} +0 -0
  353. /package/dist/{chunk-EPOYPPOW.js.map → chunk-5EILJ6W2.js.map} +0 -0
  354. /package/dist/{chunk-VY47VI2T.js.map → chunk-5IIQU4JZ.js.map} +0 -0
  355. /package/dist/{chunk-RBGRQEW3.js.map → chunk-5KBIOI4G.js.map} +0 -0
  356. /package/dist/{chunk-NQV6G6MU.js.map → chunk-5LWODP5R.js.map} +0 -0
  357. /package/dist/{chunk-3Q3N35W7.js.map → chunk-63E37JCN.js.map} +0 -0
  358. /package/dist/{chunk-HSPEVXT5.js.map → chunk-66NLI5NK.js.map} +0 -0
  359. /package/dist/{chunk-C2AOL6MK.js.map → chunk-6FIFEXFF.js.map} +0 -0
  360. /package/dist/{chunk-DP3TSAYT.js.map → chunk-6NXHX6MI.js.map} +0 -0
  361. /package/dist/{chunk-HOSJESKO.js.map → chunk-6VYY2XFK.js.map} +0 -0
  362. /package/dist/{chunk-A5ZY537U.js.map → chunk-6WR4UGJN.js.map} +0 -0
  363. /package/dist/{chunk-IWUFKS4J.js.map → chunk-77IXBNV6.js.map} +0 -0
  364. /package/dist/{chunk-O6S5FLZB.js.map → chunk-77ZK533I.js.map} +0 -0
  365. /package/dist/{chunk-KJZKO2M6.js.map → chunk-7EPY3IQL.js.map} +0 -0
  366. /package/dist/{chunk-MGKH5KO3.js.map → chunk-7FG2JSU6.js.map} +0 -0
  367. /package/dist/{chunk-F5FZ7DB4.js.map → chunk-7WTTE5FW.js.map} +0 -0
  368. /package/dist/{chunk-PL26BCRN.js.map → chunk-A2D3WICT.js.map} +0 -0
  369. /package/dist/{chunk-DNZ2CWPG.js.map → chunk-A4B7WL5N.js.map} +0 -0
  370. /package/dist/{chunk-YYEOR4XN.js.map → chunk-AAANTXCQ.js.map} +0 -0
  371. /package/dist/{chunk-TPSLVZHS.js.map → chunk-AF2XMJKD.js.map} +0 -0
  372. /package/dist/{chunk-5JI3XWI2.js.map → chunk-AHS3QEEA.js.map} +0 -0
  373. /package/dist/{chunk-NKW27NU3.js.map → chunk-AI2VXOSO.js.map} +0 -0
  374. /package/dist/{chunk-YHLWPYHT.js.map → chunk-APYY5CX3.js.map} +0 -0
  375. /package/dist/{chunk-4ZTVOECF.js.map → chunk-B6L7BKA7.js.map} +0 -0
  376. /package/dist/{chunk-AN3G5DZH.js.map → chunk-BBDASWNT.js.map} +0 -0
  377. /package/dist/{chunk-KXRX7YC2.js.map → chunk-BCCG7VWM.js.map} +0 -0
  378. /package/dist/{chunk-OIKLZCJD.js.map → chunk-BRZRP5WD.js.map} +0 -0
  379. /package/dist/{chunk-OCWNT322.js.map → chunk-C6S2Y7HE.js.map} +0 -0
  380. /package/dist/{chunk-GDPTMK5V.js.map → chunk-CIJRM6SQ.js.map} +0 -0
  381. /package/dist/{chunk-LVU7FP27.js.map → chunk-CJKHLACF.js.map} +0 -0
  382. /package/dist/{chunk-NRLWHZVS.js.map → chunk-D75ET36O.js.map} +0 -0
  383. /package/dist/{chunk-BDHYRMJC.js.map → chunk-DFP37GUN.js.map} +0 -0
  384. /package/dist/{chunk-RN7HPFYS.js.map → chunk-DG5UKN2Y.js.map} +0 -0
  385. /package/dist/{chunk-VAPVRDC4.js.map → chunk-DJMC4W6N.js.map} +0 -0
  386. /package/dist/{chunk-TRMJ6BYC.js.map → chunk-DM5QZ3YU.js.map} +0 -0
  387. /package/dist/{chunk-5HJCZ7SB.js.map → chunk-DMLCETTO.js.map} +0 -0
  388. /package/dist/{chunk-EUCYTCFP.js.map → chunk-DZPTR2XQ.js.map} +0 -0
  389. /package/dist/{chunk-5B5WYAHQ.js.map → chunk-EBRG7ZIK.js.map} +0 -0
  390. /package/dist/{chunk-3CRE3UZI.js.map → chunk-EH6KLYIE.js.map} +0 -0
  391. /package/dist/{chunk-DMDWFQMR.js.map → chunk-ERMT5WQM.js.map} +0 -0
  392. /package/dist/{chunk-VOKHZRHW.js.map → chunk-EXYT52NR.js.map} +0 -0
  393. /package/dist/{chunk-CBH2Z4UA.js.map → chunk-F5GVIPC7.js.map} +0 -0
  394. /package/dist/{chunk-APRGEZQN.js.map → chunk-FQ52AJXX.js.map} +0 -0
  395. /package/dist/{chunk-6JMQR72P.js.map → chunk-FRXS6SC7.js.map} +0 -0
  396. /package/dist/{chunk-5GT4ESLR.js.map → chunk-FXO43NBW.js.map} +0 -0
  397. /package/dist/{chunk-KW4AJ7T3.js.map → chunk-G22A6WJQ.js.map} +0 -0
  398. /package/dist/{chunk-TEUPXKC5.js.map → chunk-G5UR4DXQ.js.map} +0 -0
  399. /package/dist/{chunk-ZY4S5WMQ.js.map → chunk-G7XAZU2L.js.map} +0 -0
  400. /package/dist/{chunk-AQ5XLA36.js.map → chunk-GAARPWMN.js.map} +0 -0
  401. /package/dist/{chunk-5GX5457J.js.map → chunk-GDYLZ6FR.js.map} +0 -0
  402. /package/dist/{chunk-42MM5DKK.js.map → chunk-GK56GNNS.js.map} +0 -0
  403. /package/dist/{chunk-7SXUGYPE.js.map → chunk-GKNX4QO3.js.map} +0 -0
  404. /package/dist/{chunk-UIDWASOS.js.map → chunk-GMMZ45C4.js.map} +0 -0
  405. /package/dist/{chunk-MND4YJSX.js.map → chunk-GY4R4P2A.js.map} +0 -0
  406. /package/dist/{chunk-2VBDSZ7U.js.map → chunk-H6SKBCNI.js.map} +0 -0
  407. /package/dist/{chunk-SGII36L6.js.map → chunk-H7QC7WCU.js.map} +0 -0
  408. /package/dist/{chunk-Z7L72ZHL.js.map → chunk-HADD45AR.js.map} +0 -0
  409. /package/dist/{chunk-K6YJGWJP.js.map → chunk-HJM23E65.js.map} +0 -0
  410. /package/dist/{chunk-GEHIRZXF.js.map → chunk-HRT2SJPC.js.map} +0 -0
  411. /package/dist/{chunk-DLH3ECZP.js.map → chunk-HTTZ3GJ6.js.map} +0 -0
  412. /package/dist/{chunk-YRULQW5J.js.map → chunk-HXFIILGF.js.map} +0 -0
  413. /package/dist/{chunk-53GYS3GG.js.map → chunk-I6QGI65T.js.map} +0 -0
  414. /package/dist/{chunk-BDLOEODO.js.map → chunk-IHTKBQBS.js.map} +0 -0
  415. /package/dist/{chunk-AHCELJMH.js.map → chunk-IS4HKNWP.js.map} +0 -0
  416. /package/dist/{chunk-WPCK6EJ2.js.map → chunk-IV2HEXK3.js.map} +0 -0
  417. /package/dist/{chunk-6MC7UQ6D.js.map → chunk-IVYAPAHG.js.map} +0 -0
  418. /package/dist/{chunk-RILIWZA6.js.map → chunk-JKJTXIDI.js.map} +0 -0
  419. /package/dist/{chunk-3BOQPLCF.js.map → chunk-JNELS2TW.js.map} +0 -0
  420. /package/dist/{chunk-YGBWSKBD.js.map → chunk-JPQCHBTK.js.map} +0 -0
  421. /package/dist/{chunk-3VYNGM5A.js.map → chunk-K567EIW3.js.map} +0 -0
  422. /package/dist/{chunk-4IYIGN53.js.map → chunk-KRAMCBIW.js.map} +0 -0
  423. /package/dist/{chunk-W7X7XT7Z.js.map → chunk-KRH4KQGP.js.map} +0 -0
  424. /package/dist/{chunk-KFR343VH.js.map → chunk-LO775P3S.js.map} +0 -0
  425. /package/dist/{chunk-VXWOJPSY.js.map → chunk-LWRIGKFM.js.map} +0 -0
  426. /package/dist/{chunk-U4BNX4R2.js.map → chunk-M3GKSCFN.js.map} +0 -0
  427. /package/dist/{chunk-WK7GFAQ2.js.map → chunk-MWJ25UMW.js.map} +0 -0
  428. /package/dist/{chunk-YVGXH72Y.js.map → chunk-NGHDW6UU.js.map} +0 -0
  429. /package/dist/{chunk-D3EXT5KG.js.map → chunk-NHB4RC3G.js.map} +0 -0
  430. /package/dist/{chunk-ZGP2XB4S.js.map → chunk-O3VKQMWC.js.map} +0 -0
  431. /package/dist/{chunk-MCLZM5G7.js.map → chunk-OOOX5C4X.js.map} +0 -0
  432. /package/dist/{chunk-SIGAGKNE.js.map → chunk-OR42ZI54.js.map} +0 -0
  433. /package/dist/{chunk-RU6WB55E.js.map → chunk-ORWDCX5Q.js.map} +0 -0
  434. /package/dist/{chunk-6MKLMEBE.js.map → chunk-P4GUQSK3.js.map} +0 -0
  435. /package/dist/{chunk-JTACUJP3.js.map → chunk-PCIIKQXW.js.map} +0 -0
  436. /package/dist/{chunk-IDPZCHET.js.map → chunk-PH33R7GN.js.map} +0 -0
  437. /package/dist/{chunk-JAYNUYSJ.js.map → chunk-PTQZPVRQ.js.map} +0 -0
  438. /package/dist/{chunk-RRYN5FFC.js.map → chunk-QISYYK4L.js.map} +0 -0
  439. /package/dist/{chunk-UZDOPJ2P.js.map → chunk-QJFNB6Z5.js.map} +0 -0
  440. /package/dist/{chunk-HNTB7NIE.js.map → chunk-QQ4T622E.js.map} +0 -0
  441. /package/dist/{chunk-3GOPAWA7.js.map → chunk-QZP3RMYP.js.map} +0 -0
  442. /package/dist/{chunk-UAAAXSKQ.js.map → chunk-R4SATHCV.js.map} +0 -0
  443. /package/dist/{chunk-4O4TKIXQ.js.map → chunk-RNFMFC37.js.map} +0 -0
  444. /package/dist/{chunk-C2RW36YR.js.map → chunk-S2PDFSXS.js.map} +0 -0
  445. /package/dist/{chunk-PZWW6MDE.js.map → chunk-S2S4U4G3.js.map} +0 -0
  446. /package/dist/{chunk-H6Z3RNW3.js.map → chunk-S57QBPTA.js.map} +0 -0
  447. /package/dist/{chunk-GZXXPCWJ.js.map → chunk-SE3JAD22.js.map} +0 -0
  448. /package/dist/{chunk-ID62FNER.js.map → chunk-SGLEHJ4P.js.map} +0 -0
  449. /package/dist/{chunk-5SMHQW45.js.map → chunk-SIIWHIBK.js.map} +0 -0
  450. /package/dist/{chunk-3EJQXF3B.js.map → chunk-SQ554O3K.js.map} +0 -0
  451. /package/dist/{chunk-ISMZ5UNE.js.map → chunk-STM4T335.js.map} +0 -0
  452. /package/dist/{chunk-QNDOTDJK.js.map → chunk-TGAXRT7N.js.map} +0 -0
  453. /package/dist/{chunk-LLHZZOIB.js.map → chunk-TRSKATZQ.js.map} +0 -0
  454. /package/dist/{chunk-TB2J4PBY.js.map → chunk-TVM47JQB.js.map} +0 -0
  455. /package/dist/{chunk-HMON55NJ.js.map → chunk-UAYA4NJN.js.map} +0 -0
  456. /package/dist/{chunk-PGHYQMKZ.js.map → chunk-UR25IQVT.js.map} +0 -0
  457. /package/dist/{chunk-J6SZXAQ2.js.map → chunk-UTMVZPAV.js.map} +0 -0
  458. /package/dist/{chunk-6EDW54SQ.js.map → chunk-UUZ7KZAO.js.map} +0 -0
  459. /package/dist/{chunk-66BCOVW2.js.map → chunk-V44DWTFA.js.map} +0 -0
  460. /package/dist/{chunk-SWWHIJUJ.js.map → chunk-VILPVT4S.js.map} +0 -0
  461. /package/dist/{chunk-DZBMASSI.js.map → chunk-VNAIUNXI.js.map} +0 -0
  462. /package/dist/{chunk-DNIG3JME.js.map → chunk-VY6BD5KB.js.map} +0 -0
  463. /package/dist/{chunk-UZRSI6NX.js.map → chunk-WI6MIJYK.js.map} +0 -0
  464. /package/dist/{chunk-5AUY5Z5E.js.map → chunk-WJ6S54ES.js.map} +0 -0
  465. /package/dist/{chunk-3IDNKOCE.js.map → chunk-WRFXSJGW.js.map} +0 -0
  466. /package/dist/{chunk-MGCKZWAE.js.map → chunk-X3IFRQKS.js.map} +0 -0
  467. /package/dist/{chunk-PGRZ3FYC.js.map → chunk-X4OZMANG.js.map} +0 -0
  468. /package/dist/{chunk-5GPHJ333.js.map → chunk-X73SCHKR.js.map} +0 -0
  469. /package/dist/{chunk-YXWLQHAW.js.map → chunk-XA32GZ6B.js.map} +0 -0
  470. /package/dist/{chunk-XVZIBMSY.js.map → chunk-XFDHL252.js.map} +0 -0
  471. /package/dist/{chunk-MZZEMPCI.js.map → chunk-XUB4I2N6.js.map} +0 -0
  472. /package/dist/{chunk-GUMZC2BO.js.map → chunk-Y5NLBXPV.js.map} +0 -0
  473. /package/dist/{chunk-CU5TILGD.js.map → chunk-YIJECSIX.js.map} +0 -0
  474. /package/dist/{chunk-OTWZXOJI.js.map → chunk-YIMDCBNV.js.map} +0 -0
  475. /package/dist/{chunk-HPWJ5B7D.js.map → chunk-YK7ZJPQM.js.map} +0 -0
  476. /package/dist/{chunk-ZEMBRSKK.js.map → chunk-YLF42JQ7.js.map} +0 -0
  477. /package/dist/{chunk-T2JSUEH6.js.map → chunk-YLXETSAH.js.map} +0 -0
  478. /package/dist/{chunk-WKVL2G7X.js.map → chunk-YOL56HY5.js.map} +0 -0
  479. /package/dist/{chunk-EXYDKAR6.js.map → chunk-YXNVNMHB.js.map} +0 -0
  480. /package/dist/{chunk-RXFCU3CY.js.map → chunk-YXW4KXCV.js.map} +0 -0
  481. /package/dist/{chunk-NYPQHFC3.js.map → chunk-ZABEDRGQ.js.map} +0 -0
  482. /package/dist/{chunk-GJBSEMC5.js.map → chunk-ZRU7636R.js.map} +0 -0
  483. /package/dist/{entity-canonical-id-migration-GD5MPFUF.js.map → entity-canonical-id-migration-2YOLMOFC.js.map} +0 -0
  484. /package/dist/{forget-GXBWFKRC.js.map → forget-E6ZTUKEC.js.map} +0 -0
  485. /package/dist/{graph-edge-decay-BYPZVJT4.js.map → graph-edge-decay-IU75NV42.js.map} +0 -0
  486. /package/dist/{resolution-AMYTPT5X.js.map → resolution-V6JBMW7U.js.map} +0 -0
  487. /package/dist/{trace-QBQVS5BC.js.map → trace-LQOA3HKD.js.map} +0 -0
@@ -3,7 +3,7 @@ import {
3
3
  applyTombstoneResurrectionGate,
4
4
  buildRetiredFactTombstoneInputs,
5
5
  collectRetiredMemoriesForRebuild
6
- } from "./chunk-TRMJ6BYC.js";
6
+ } from "./chunk-DM5QZ3YU.js";
7
7
  import {
8
8
  WEARABLES_DIR_NAME,
9
9
  escapeSegmentText,
@@ -19,10 +19,10 @@ import {
19
19
  getFingerprint,
20
20
  migrateLegacyEntityCanonicalIds,
21
21
  validateRoots
22
- } from "./chunk-DNIG3JME.js";
22
+ } from "./chunk-VY6BD5KB.js";
23
23
  import {
24
24
  normalizeQmdResultPath
25
- } from "./chunk-UBBZFODO.js";
25
+ } from "./chunk-23VGZ65V.js";
26
26
  import {
27
27
  withholdToolScopedFromSharedNamespace
28
28
  } from "./chunk-S2V7RUCL.js";
@@ -61,7 +61,7 @@ import {
61
61
  import {
62
62
  parseFaithfulnessField,
63
63
  serializeFaithfulnessFields
64
- } from "./chunk-EPOYPPOW.js";
64
+ } from "./chunk-5EILJ6W2.js";
65
65
  import {
66
66
  CasRevisionHost,
67
67
  DeletionRevisionStore,
@@ -69,7 +69,7 @@ import {
69
69
  invalidationCommitFingerprint,
70
70
  parseTombstoneBlockedOfflineSyncMemory,
71
71
  withCasCommitReceipt
72
- } from "./chunk-WKVL2G7X.js";
72
+ } from "./chunk-YOL56HY5.js";
73
73
  import {
74
74
  matchEntitySchemaSection,
75
75
  normalizeEntityStructuredSection,
@@ -92,7 +92,7 @@ import {
92
92
  } from "./chunk-SCU65EZI.js";
93
93
  import {
94
94
  checkCorpusReadAbort
95
- } from "./chunk-6MKLMEBE.js";
95
+ } from "./chunk-P4GUQSK3.js";
96
96
  import {
97
97
  detectLanguageHint
98
98
  } from "./chunk-3WU7XOFN.js";
@@ -102,7 +102,7 @@ import {
102
102
  } from "./chunk-G7D6GZ5J.js";
103
103
  import {
104
104
  createVersion
105
- } from "./chunk-3CZRBTJK.js";
105
+ } from "./chunk-2NLCDNGA.js";
106
106
  import {
107
107
  attachInFlightReader,
108
108
  beginCoalescedScan,
@@ -122,7 +122,7 @@ import {
122
122
  requestEntityCanonicalIdReconcileSync,
123
123
  resolveHistoricalEntityCanonicalId,
124
124
  withEntityCanonicalMutationLock
125
- } from "./chunk-VXWOJPSY.js";
125
+ } from "./chunk-LWRIGKFM.js";
126
126
  import {
127
127
  supersessionKeysForFact
128
128
  } from "./chunk-5WITETWU.js";
@@ -134,7 +134,7 @@ import {
134
134
  buildExplicitCaptureDedupKey,
135
135
  isQueuedReviewMemory,
136
136
  tombstoneBlocked
137
- } from "./chunk-6EDW54SQ.js";
137
+ } from "./chunk-UUZ7KZAO.js";
138
138
  import {
139
139
  clearMemoryCache,
140
140
  getCachedEntities,
@@ -153,7 +153,7 @@ import {
153
153
  } from "./chunk-23G5P7TA.js";
154
154
  import {
155
155
  selectArtifactMatches
156
- } from "./chunk-Z7L72ZHL.js";
156
+ } from "./chunk-HADD45AR.js";
157
157
  import {
158
158
  archive_mutation_version_exports,
159
159
  bumpArchiveMutationIfChanged,
@@ -168,7 +168,7 @@ import {
168
168
  composeMemoryEnvelope,
169
169
  isSealedMemoryEnvelope,
170
170
  sealedWriteToLegacyArgs
171
- } from "./chunk-2FIJQNL7.js";
171
+ } from "./chunk-3ODEGTVV.js";
172
172
  import {
173
173
  DEFAULT_CITATION_FORMAT,
174
174
  hasCitationForTemplate,
@@ -189,7 +189,7 @@ import {
189
189
  readMemoryActionEventRowsFromLines,
190
190
  readProjectionRebuiltAt,
191
191
  serializeLifecycleAppendPayload
192
- } from "./chunk-3BOQPLCF.js";
192
+ } from "./chunk-JNELS2TW.js";
193
193
  import {
194
194
  assertMemoryFrontmatterId,
195
195
  warnProjectionFallback
@@ -214,7 +214,7 @@ import {
214
214
  CONTENT_HASH_INDEX_RETRY_MAX_DELAY_MS,
215
215
  ContentHashIndex,
216
216
  FactHashIndexNotAuthoritativeError
217
- } from "./chunk-AHCELJMH.js";
217
+ } from "./chunk-IS4HKNWP.js";
218
218
  import {
219
219
  computeLegacyContentHash
220
220
  } from "./chunk-5FVVY2EB.js";
@@ -238,7 +238,7 @@ import {
238
238
  import {
239
239
  isAbortError,
240
240
  raceAbort
241
- } from "./chunk-BTTPKDIL.js";
241
+ } from "./chunk-R2MBW2S4.js";
242
242
  import {
243
243
  isMacOsReplicationJunkBasename,
244
244
  warnIgnoredMacOsReplicationJunk,
@@ -2916,7 +2916,7 @@ var EntityCanonicalIdMigrationRunner = class {
2916
2916
  await this.ensure();
2917
2917
  return;
2918
2918
  }
2919
- const { readSafeEntityEntries } = await import("./entity-canonical-id-migration-GD5MPFUF.js");
2919
+ const { readSafeEntityEntries } = await import("./entity-canonical-id-migration-2YOLMOFC.js");
2920
2920
  await readSafeEntityEntries(entitiesDir);
2921
2921
  }
2922
2922
  /**
@@ -10836,4 +10836,4 @@ export {
10836
10836
  isValidBufferSurpriseEvent,
10837
10837
  StorageManager3 as StorageManager
10838
10838
  };
10839
- //# sourceMappingURL=chunk-ZGP2XB4S.js.map
10839
+ //# sourceMappingURL=chunk-O3VKQMWC.js.map
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-G7D6GZ5J.js";
5
5
  import {
6
6
  sidecarKey
7
- } from "./chunk-3CZRBTJK.js";
7
+ } from "./chunk-2NLCDNGA.js";
8
8
  import {
9
9
  isMacOsReplicationJunkBasename
10
10
  } from "./chunk-QUIRIG2P.js";
@@ -346,4 +346,4 @@ function isPathWithin(candidate, root) {
346
346
  export {
347
347
  runConsolidationProvenanceCheck
348
348
  };
349
- //# sourceMappingURL=chunk-MCLZM5G7.js.map
349
+ //# sourceMappingURL=chunk-OOOX5C4X.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isAbortError
3
- } from "./chunk-BTTPKDIL.js";
3
+ } from "./chunk-R2MBW2S4.js";
4
4
 
5
5
  // src/qmd-preflight.ts
6
6
  var QMD_PROBE_TIMEOUT_MS = 8e3;
@@ -124,4 +124,4 @@ export {
124
124
  getQmdPostInstallProbeTargets,
125
125
  qmdVersionToString
126
126
  };
127
- //# sourceMappingURL=chunk-SIGAGKNE.js.map
127
+ //# sourceMappingURL=chunk-OR42ZI54.js.map
@@ -12,7 +12,7 @@ import {
12
12
  entityMentionScopeKey,
13
13
  resolveEntityMentionIndex,
14
14
  writePersistedEntityMentionIndex
15
- } from "./chunk-H6Z3RNW3.js";
15
+ } from "./chunk-S57QBPTA.js";
16
16
  import {
17
17
  buildOriginStructuredSections,
18
18
  sanitizeOriginatedFacts
@@ -22,7 +22,7 @@ import {
22
22
  entityRecallSectionAbsent,
23
23
  yieldEntityRecallScan,
24
24
  yieldEntityRecallScanEvery
25
- } from "./chunk-5AUY5Z5E.js";
25
+ } from "./chunk-WJ6S54ES.js";
26
26
  import {
27
27
  containsPhrase
28
28
  } from "./chunk-SVH57F5Z.js";
@@ -34,7 +34,7 @@ import {
34
34
  } from "./chunk-NVKO5YKP.js";
35
35
  import {
36
36
  compareEntityTimestamps
37
- } from "./chunk-ZGP2XB4S.js";
37
+ } from "./chunk-O3VKQMWC.js";
38
38
  import {
39
39
  normalizeEntityText,
40
40
  resolveRequestedEntitySectionKeys
@@ -927,4 +927,4 @@ export {
927
927
  entityIndexVersion,
928
928
  entityRecentTranscriptLookbackHours
929
929
  };
930
- //# sourceMappingURL=chunk-RU6WB55E.js.map
930
+ //# sourceMappingURL=chunk-ORWDCX5Q.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  throwIfAborted
3
- } from "./chunk-BTTPKDIL.js";
3
+ } from "./chunk-R2MBW2S4.js";
4
4
 
5
5
  // src/corpus-read-cancellation.ts
6
6
  function checkCorpusReadAbort(options) {
@@ -10,4 +10,4 @@ function checkCorpusReadAbort(options) {
10
10
  export {
11
11
  checkCorpusReadAbort
12
12
  };
13
- //# sourceMappingURL=chunk-6MKLMEBE.js.map
13
+ //# sourceMappingURL=chunk-P4GUQSK3.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveCorpusNamespaceRoots
3
- } from "./chunk-VAPVRDC4.js";
3
+ } from "./chunk-DJMC4W6N.js";
4
4
  import {
5
5
  capabilityAllowsNamespace
6
6
  } from "./chunk-IG747LRN.js";
@@ -200,4 +200,4 @@ async function readAggregateExtractionWatermark(options) {
200
200
  export {
201
201
  readAggregateExtractionWatermark
202
202
  };
203
- //# sourceMappingURL=chunk-JTACUJP3.js.map
203
+ //# sourceMappingURL=chunk-PCIIKQXW.js.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  buildExplicitCaptureDedupKey,
3
3
  normalizeExplicitCaptureContent
4
- } from "./chunk-6EDW54SQ.js";
4
+ } from "./chunk-UUZ7KZAO.js";
5
5
  import {
6
6
  TAG_LIMITS,
7
7
  composeMemoryEnvelope
8
- } from "./chunk-2FIJQNL7.js";
8
+ } from "./chunk-3ODEGTVV.js";
9
9
  import {
10
10
  isTombstoneBlockedCaptureWriteLockBusy
11
11
  } from "./chunk-YET735EZ.js";
@@ -789,4 +789,4 @@ export {
789
789
  shouldProcessInlineExplicitCapture,
790
790
  InlineExplicitCaptureProcessor
791
791
  };
792
- //# sourceMappingURL=chunk-IDPZCHET.js.map
792
+ //# sourceMappingURL=chunk-PH33R7GN.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ContentHashIndex
3
- } from "./chunk-AHCELJMH.js";
3
+ } from "./chunk-IS4HKNWP.js";
4
4
  import {
5
5
  sanitizeMemoryContent
6
6
  } from "./chunk-5GKPFL3S.js";
@@ -164,4 +164,4 @@ export {
164
164
  PROMOTION_CANDIDATES_MCP_TOOLS,
165
165
  backfillMemorySubjects
166
166
  };
167
- //# sourceMappingURL=chunk-JAYNUYSJ.js.map
167
+ //# sourceMappingURL=chunk-PTQZPVRQ.js.map
@@ -127,7 +127,8 @@ var LocalLlmConcurrencyLimiter = class {
127
127
  });
128
128
  }
129
129
  canAcquire(highPriority) {
130
- return this.max <= 0 || this.active < this.max && (highPriority || this.max === 1 || this.activeBackground < this.max - 1);
130
+ const backgroundWaiting = highPriority && this.max > 1 && this.activeBackground === 0 && this.waiters.some((waiter) => !waiter.highPriority);
131
+ return this.max <= 0 || this.active < this.max && (highPriority || this.max === 1 || this.activeBackground < this.max - 1) && (!highPriority || !backgroundWaiting || this.active < this.max - 1);
131
132
  }
132
133
  releaser(highPriority) {
133
134
  let released = false;
@@ -140,9 +141,12 @@ var LocalLlmConcurrencyLimiter = class {
140
141
  };
141
142
  }
142
143
  pump() {
143
- while (this.waiters.length > 0 && this.canAcquire(this.waiters[0].highPriority)) {
144
- const next = this.waiters.shift();
145
- if (!next) break;
144
+ while (this.waiters.length > 0) {
145
+ const criticalAllowed = this.canAcquire(true);
146
+ const backgroundAllowed = this.canAcquire(false);
147
+ const index = this.waiters.findIndex((waiter) => waiter.highPriority ? criticalAllowed : backgroundAllowed);
148
+ if (index < 0) break;
149
+ const next = this.waiters.splice(index, 1)[0];
146
150
  this.active += 1;
147
151
  if (!next.highPriority) this.activeBackground += 1;
148
152
  next.grant();
@@ -294,4 +298,4 @@ export {
294
298
  resetLocalLlmRateLimitStateForTests,
295
299
  LocalLlmRateLimitSession
296
300
  };
297
- //# sourceMappingURL=chunk-HJ444KNS.js.map
301
+ //# sourceMappingURL=chunk-QEDLJDHP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/local-llm-rate-limit.ts"],"sourcesContent":["/**\n * Process-wide rate-limit handling for the local LLM client (COS-447).\n *\n * A LiteLLM proxy in front of the local models answers `429 No deployments\n * available` (and `503`/`408`) when every deployment is busy or in cooldown.\n * Before this module the client returned on the first 429 and the caller\n * loop immediately issued the next request, so one daemon could hammer the\n * proxy with thousands of calls per hour while it was saturated.\n *\n * This module provides three pieces that the client composes:\n *\n * - classification of rate-limit responses and of the retry hint\n * (`Retry-After` header as delta-seconds or HTTP-date, falling back to\n * LiteLLM's `Try again in N seconds` body text);\n * - exponential backoff with full jitter;\n * - process-wide state shared by every `LocalLlmClient` instance: a\n * concurrency semaphore for in-flight HTTP attempts and a per-endpoint\n * \"do not call before\" deadline, so one client's 429 slows every client\n * pointed at the same endpoint.\n *\n * State lives on `globalThis` so duplicated module copies in bundled output\n * still share one limiter.\n */\n\nexport const RATE_LIMIT_STATUSES: ReadonlySet<number> = new Set([408, 429, 503]);\n\nconst RATE_LIMIT_BODY_PATTERN = /no deployments available|cooldown_list|all deployments.*cooldown/i;\nconst TRY_AGAIN_PATTERN = /try again in (\\d+(?:\\.\\d+)?) ?(seconds?|secs?|s|milliseconds?|ms|minutes?|mins?)\\b/i;\n\n/** Upper bound on any server-provided wait we will record (sanity clamp). */\nexport const MAX_RECORDED_BACKOFF_MS = 10 * 60_000;\n\nexport const DEFAULT_RATE_LIMIT_RETRY_COUNT = 3;\nexport const DEFAULT_RATE_LIMIT_BACKOFF_BASE_MS = 1_000;\nexport const DEFAULT_RATE_LIMIT_BACKOFF_MAX_MS = 60_000;\nexport const DEFAULT_MAX_CONCURRENCY = 4;\n\nexport interface LocalLlmRateLimitSettings {\n retryCount: number;\n backoffBaseMs: number;\n backoffMaxMs: number;\n /** 0 disables the process-wide concurrency cap. */\n maxConcurrency: number;\n}\n\nfunction nonNegativeInt(value: number | undefined, fallback: number): number {\n if (value === undefined || !Number.isFinite(value) || value < 0) return fallback;\n return Math.floor(value);\n}\n\nexport function resolveRateLimitSettings(config: {\n localLlmRateLimitRetryCount?: number;\n localLlmRateLimitBackoffBaseMs?: number;\n localLlmRateLimitBackoffMaxMs?: number;\n localLlmMaxConcurrency?: number;\n}): LocalLlmRateLimitSettings {\n const backoffBaseMs = Math.max(\n 1,\n nonNegativeInt(config.localLlmRateLimitBackoffBaseMs, DEFAULT_RATE_LIMIT_BACKOFF_BASE_MS)\n );\n const backoffMaxMs = Math.max(\n backoffBaseMs,\n nonNegativeInt(config.localLlmRateLimitBackoffMaxMs, DEFAULT_RATE_LIMIT_BACKOFF_MAX_MS)\n );\n return {\n retryCount: nonNegativeInt(config.localLlmRateLimitRetryCount, DEFAULT_RATE_LIMIT_RETRY_COUNT),\n backoffBaseMs,\n backoffMaxMs,\n maxConcurrency: nonNegativeInt(config.localLlmMaxConcurrency, DEFAULT_MAX_CONCURRENCY),\n };\n}\n\n/**\n * True for responses that mean \"the endpoint is saturated, slow down\":\n * 408/429/503, or a 5xx whose body carries LiteLLM's cooldown wording.\n * 400s are never rate limits (context-window errors mention fallbacks).\n */\nexport function isRateLimitedResponse(status: number, bodyText: string): boolean {\n if (RATE_LIMIT_STATUSES.has(status)) return true;\n return status >= 500 && RATE_LIMIT_BODY_PATTERN.test(bodyText);\n}\n\n/**\n * Parse an HTTP `Retry-After` value (RFC 9110: delta-seconds or HTTP-date).\n * Returns milliseconds to wait, or null when absent/invalid.\n */\nexport function parseRetryAfterMs(value: string | null | undefined, nowMs: number = Date.now()): number | null {\n if (value === null || value === undefined) return null;\n const trimmed = value.trim();\n if (!trimmed) return null;\n if (/^\\d+(\\.\\d+)?$/.test(trimmed)) {\n return Math.min(MAX_RECORDED_BACKOFF_MS, Math.round(Number(trimmed) * 1000));\n }\n const dateMs = Date.parse(trimmed);\n if (Number.isNaN(dateMs)) return null;\n return Math.min(MAX_RECORDED_BACKOFF_MS, Math.max(0, dateMs - nowMs));\n}\n\n/** Parse LiteLLM's `Try again in N seconds` hint from an error body. */\nexport function parseTryAgainHintMs(bodyText: string): number | null {\n const match = bodyText.match(TRY_AGAIN_PATTERN);\n if (!match) return null;\n const amount = Number(match[1]);\n if (!Number.isFinite(amount)) return null;\n const unit = match[2].toLowerCase();\n let ms: number;\n if (unit.startsWith(\"ms\") || unit.startsWith(\"milli\")) ms = amount;\n else if (unit.startsWith(\"min\")) ms = amount * 60_000;\n else ms = amount * 1000;\n return Math.min(MAX_RECORDED_BACKOFF_MS, Math.round(ms));\n}\n\n/** Server-provided wait: `Retry-After` header first, then the body hint. */\nexport function serverRetryHintMs(\n retryAfterHeader: string | null | undefined,\n bodyText: string,\n nowMs: number = Date.now()\n): number | null {\n return parseRetryAfterMs(retryAfterHeader, nowMs) ?? parseTryAgainHintMs(bodyText);\n}\n\n/**\n * Exponential backoff with full jitter: uniform in [0, min(max, base * 2^(n-1))].\n * `attempt` is 1-based (the number of consecutive rate-limit responses).\n */\nexport function computeFullJitterBackoffMs(\n attempt: number,\n baseMs: number,\n maxMs: number,\n random: () => number = Math.random\n): number {\n const exponent = Math.max(0, Math.min(30, attempt - 1));\n const ceiling = Math.min(maxMs, baseMs * 2 ** exponent);\n return Math.floor(random() * ceiling);\n}\n\n/**\n * Delay before the next attempt after a rate-limit response. A server hint\n * is a floor (never call earlier than asked); jitter is added on top of the\n * exponential term so synchronized callers spread out.\n */\nexport function computeRateLimitDelayMs(\n attempt: number,\n settings: Pick<LocalLlmRateLimitSettings, \"backoffBaseMs\" | \"backoffMaxMs\">,\n serverHintMs: number | null,\n random: () => number = Math.random\n): number {\n const jittered = computeFullJitterBackoffMs(attempt, settings.backoffBaseMs, settings.backoffMaxMs, random);\n return serverHintMs === null ? jittered : Math.max(serverHintMs, jittered);\n}\n\ntype Waiter = { highPriority: boolean; grant: () => void };\n\n/** Priority semaphore; finite caps above one protect recall capacity and queued background progress. */\nexport class LocalLlmConcurrencyLimiter {\n private active = 0;\n private activeBackground = 0;\n private max: number;\n private readonly waiters: Waiter[] = [];\n\n constructor(max: number) {\n this.max = max;\n }\n\n setMax(max: number): void {\n this.max = max;\n this.pump();\n }\n\n get inFlight(): number {\n return this.active;\n }\n\n get queued(): number {\n return this.waiters.length;\n }\n\n /**\n * Wait for a slot. Resolves to a release function, or null when the\n * signal aborts first. `max <= 0` means unlimited.\n */\n acquire(\n options: { highPriority?: boolean; signal?: AbortSignal; timeoutMs?: number } = {}\n ): Promise<(() => void) | null> {\n const { signal, timeoutMs } = options;\n const highPriority = options.highPriority === true;\n if (signal?.aborted) return Promise.resolve(null);\n if (\n this.canAcquire(highPriority) &&\n (this.waiters.length === 0 || (highPriority && !this.waiters[0].highPriority))\n ) {\n this.active += 1;\n if (!highPriority) this.activeBackground += 1;\n return Promise.resolve(this.releaser(highPriority));\n }\n if (timeoutMs !== undefined && timeoutMs <= 0) return Promise.resolve(null);\n return new Promise((resolve) => {\n let timer: NodeJS.Timeout | undefined;\n const waiter: Waiter = {\n highPriority,\n grant: () => {\n signal?.removeEventListener(\"abort\", onAbort);\n if (timer) clearTimeout(timer);\n resolve(this.releaser(highPriority));\n },\n };\n const onAbort = (): void => {\n const index = this.waiters.indexOf(waiter);\n if (index >= 0) this.waiters.splice(index, 1);\n signal?.removeEventListener(\"abort\", onAbort);\n if (timer) clearTimeout(timer);\n resolve(null);\n };\n if (waiter.highPriority) {\n const firstLow = this.waiters.findIndex((w) => !w.highPriority);\n if (firstLow < 0) this.waiters.push(waiter);\n else this.waiters.splice(firstLow, 0, waiter);\n } else {\n this.waiters.push(waiter);\n }\n signal?.addEventListener(\"abort\", onAbort, { once: true });\n if (timeoutMs !== undefined) timer = setTimeout(onAbort, timeoutMs);\n });\n }\n\n private canAcquire(highPriority: boolean): boolean {\n const backgroundWaiting = highPriority && this.max > 1 && this.activeBackground === 0 &&\n this.waiters.some((waiter) => !waiter.highPriority);\n return this.max <= 0 || (\n this.active < this.max &&\n (highPriority || this.max === 1 || this.activeBackground < this.max - 1) &&\n (!highPriority || !backgroundWaiting || this.active < this.max - 1)\n );\n }\n\n private releaser(highPriority: boolean): () => void {\n let released = false;\n return () => {\n if (released) return;\n released = true;\n this.active -= 1;\n if (!highPriority) this.activeBackground -= 1;\n this.pump();\n };\n }\n\n private pump(): void {\n while (this.waiters.length > 0) {\n // An ineligible critical head must not strand the background permit.\n const criticalAllowed = this.canAcquire(true);\n const backgroundAllowed = this.canAcquire(false);\n const index = this.waiters.findIndex((waiter) => waiter.highPriority ? criticalAllowed : backgroundAllowed);\n if (index < 0) break;\n const next = this.waiters.splice(index, 1)[0];\n this.active += 1;\n if (!next.highPriority) this.activeBackground += 1;\n next.grant();\n }\n }\n}\n\ninterface EndpointBackoffState {\n untilMs: number;\n consecutiveRateLimits: number;\n}\n\ninterface RateLimitGlobalState {\n limiter: LocalLlmConcurrencyLimiter;\n endpoints: Map<string, EndpointBackoffState>;\n}\n\ndeclare global {\n // Shared across duplicated module copies in bundled output.\n var __remnicLocalLlmRateLimitState: RateLimitGlobalState | undefined;\n}\n\nfunction globalState(): RateLimitGlobalState {\n globalThis.__remnicLocalLlmRateLimitState ??= {\n limiter: new LocalLlmConcurrencyLimiter(DEFAULT_MAX_CONCURRENCY),\n endpoints: new Map(),\n };\n return globalThis.__remnicLocalLlmRateLimitState;\n}\n\n/** Process-wide limiter, resized to the caller's configured cap. */\nexport function getLocalLlmConcurrencyLimiter(maxConcurrency: number): LocalLlmConcurrencyLimiter {\n const { limiter } = globalState();\n limiter.setMax(maxConcurrency);\n return limiter;\n}\n\n/** Milliseconds until `endpoint` may be called again (0 when clear). */\nexport function endpointBackoffRemainingMs(endpoint: string, nowMs: number = Date.now()): number {\n const entry = globalState().endpoints.get(endpoint);\n return entry ? Math.max(0, entry.untilMs - nowMs) : 0;\n}\n\n/**\n * Record a rate-limit response for `endpoint`. Returns the consecutive\n * rate-limit count (1-based) to feed the backoff exponent.\n */\nexport function noteEndpointRateLimited(endpoint: string): number {\n const { endpoints } = globalState();\n const entry = endpoints.get(endpoint) ?? { untilMs: 0, consecutiveRateLimits: 0 };\n entry.consecutiveRateLimits += 1;\n endpoints.set(endpoint, entry);\n return entry.consecutiveRateLimits;\n}\n\n/** Push the endpoint's \"do not call before\" deadline out to at least `nowMs + delayMs`. */\nexport function extendEndpointBackoff(endpoint: string, delayMs: number, nowMs: number = Date.now()): void {\n const { endpoints } = globalState();\n const entry = endpoints.get(endpoint) ?? { untilMs: 0, consecutiveRateLimits: 0 };\n const bounded = Math.min(MAX_RECORDED_BACKOFF_MS, Math.max(0, delayMs));\n entry.untilMs = Math.max(entry.untilMs, nowMs + bounded);\n endpoints.set(endpoint, entry);\n}\n\n/**\n * Reset the backoff exponent after a non-rate-limited response. An already\n * recorded deadline is left to expire so concurrent callers that saw the\n * 429 still wait it out.\n */\nexport function noteEndpointRecovered(endpoint: string): void {\n const entry = globalState().endpoints.get(endpoint);\n if (entry) entry.consecutiveRateLimits = 0;\n}\n\n/** Test seam: drop all process-wide state. */\nexport function resetLocalLlmRateLimitStateForTests(): void {\n const state = globalState();\n state.endpoints.clear();\n state.limiter = new LocalLlmConcurrencyLimiter(DEFAULT_MAX_CONCURRENCY);\n}\n\nexport type RateLimitAttemptGate =\n | { kind: \"go\"; release: () => void }\n | { kind: \"aborted\" }\n | { kind: \"skip\"; reason: \"backoff\" | \"queue\"; remainingMs: number };\n\nexport type RateLimitDecision =\n | { kind: \"not-rate-limited\" }\n | { kind: \"retry\"; delayMs: number; hintMs: number | null; consecutive: number; retry: number }\n | { kind: \"give-up\"; delayMs: number; retries: number };\n\n/**\n * Per-request driver for the rate-limit policy. The client calls\n * `beforeAttempt` ahead of every HTTP attempt (waits out the shared endpoint\n * deadline, then takes a concurrency slot) and `onResponse` after every\n * non-ok response.\n */\nexport class LocalLlmRateLimitSession {\n private retries = 0;\n private readonly limiter: LocalLlmConcurrencyLimiter;\n readonly settings: LocalLlmRateLimitSettings;\n\n /**\n * @param waitBudgetMs the caller's per-attempt time budget. Waiting for the\n * endpoint backoff or a concurrency slot never exceeds it, and a backoff\n * longer than it skips the request instead (fail open to the caller).\n */\n constructor(\n private readonly endpoint: string,\n settings: LocalLlmRateLimitSettings,\n private readonly highPriority: boolean,\n private readonly waitBudgetMs: number = settings.backoffMaxMs\n ) {\n this.settings = settings;\n this.limiter = getLocalLlmConcurrencyLimiter(settings.maxConcurrency);\n }\n\n get retryCount(): number {\n return this.retries;\n }\n\n async beforeAttempt(signal?: AbortSignal): Promise<RateLimitAttemptGate> {\n const deadlineMs = Date.now() + Math.max(0, this.waitBudgetMs);\n // Recheck the shared deadline after every async wait: another attempt may\n // have recorded or extended a cooldown while this one slept or queued.\n for (;;) {\n const remainingMs = endpointBackoffRemainingMs(this.endpoint);\n if (remainingMs > 0) {\n if (remainingMs > Math.min(this.settings.backoffMaxMs, deadlineMs - Date.now())) {\n return { kind: \"skip\", reason: \"backoff\", remainingMs };\n }\n if (!(await waitWithSignal(remainingMs, signal))) return { kind: \"aborted\" };\n continue;\n }\n const release = await this.limiter.acquire({\n highPriority: this.highPriority,\n signal,\n timeoutMs: deadlineMs - Date.now(),\n });\n if (!release) return signal?.aborted ? { kind: \"aborted\" } : { kind: \"skip\", reason: \"queue\", remainingMs: 0 };\n if (endpointBackoffRemainingMs(this.endpoint) > 0) {\n release();\n continue;\n }\n return { kind: \"go\", release };\n }\n }\n\n onSuccess(): void {\n noteEndpointRecovered(this.endpoint);\n }\n\n onResponse(status: number, retryAfterHeader: string | null | undefined, bodyText: string): RateLimitDecision {\n if (!isRateLimitedResponse(status, bodyText)) {\n noteEndpointRecovered(this.endpoint);\n return { kind: \"not-rate-limited\" };\n }\n const consecutive = noteEndpointRateLimited(this.endpoint);\n const hintMs = serverRetryHintMs(retryAfterHeader, bodyText);\n const delayMs = computeRateLimitDelayMs(consecutive, this.settings, hintMs);\n extendEndpointBackoff(this.endpoint, delayMs);\n if (this.retries >= this.settings.retryCount || delayMs > Math.min(this.settings.backoffMaxMs, this.waitBudgetMs)) {\n return { kind: \"give-up\", delayMs, retries: this.retries };\n }\n this.retries += 1;\n return { kind: \"retry\", delayMs, hintMs, consecutive, retry: this.retries };\n }\n}\n\nfunction waitWithSignal(ms: number, signal?: AbortSignal): Promise<boolean> {\n return new Promise((resolve) => {\n if (signal?.aborted) {\n resolve(false);\n return;\n }\n const onAbort = (): void => {\n clearTimeout(timer);\n resolve(false);\n };\n const timer = setTimeout(() => {\n signal?.removeEventListener(\"abort\", onAbort);\n resolve(true);\n }, ms);\n signal?.addEventListener(\"abort\", onAbort, { once: true });\n });\n}\n"],"mappings":"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","names":[]}
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  hasMemoryData
3
- } from "./chunk-NU247WVX.js";
3
+ } from "./chunk-4ISHIPOC.js";
4
4
  import {
5
5
  resolveNamespaceStorageRoot
6
- } from "./chunk-APRGEZQN.js";
6
+ } from "./chunk-FQ52AJXX.js";
7
7
  import {
8
8
  getConfiguredNamespaces
9
- } from "./chunk-53GYS3GG.js";
9
+ } from "./chunk-I6QGI65T.js";
10
10
  import {
11
11
  displayErrorDetail
12
12
  } from "./chunk-RL6NEVXT.js";
@@ -724,4 +724,4 @@ export {
724
724
  runNamespaceMaintenancePlan,
725
725
  runNamespaceMaintenanceBatchPlan
726
726
  };
727
- //# sourceMappingURL=chunk-RRYN5FFC.js.map
727
+ //# sourceMappingURL=chunk-QISYYK4L.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-7T4TOGMS.js";
4
4
  import {
5
5
  defineOperation
6
- } from "./chunk-2IXEKMBJ.js";
6
+ } from "./chunk-GSN77SST.js";
7
7
 
8
8
  // src/external-wiki-access.ts
9
9
  import { z } from "zod";
@@ -26,4 +26,4 @@ var externalWikiSearchOperation = defineOperation({
26
26
  export {
27
27
  externalWikiSearchOperation
28
28
  };
29
- //# sourceMappingURL=chunk-UZDOPJ2P.js.map
29
+ //# sourceMappingURL=chunk-QJFNB6Z5.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  parseFrontmatter
3
- } from "./chunk-ZGP2XB4S.js";
3
+ } from "./chunk-O3VKQMWC.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-HNTB7NIE.js.map
202
+ //# sourceMappingURL=chunk-QQ4T622E.js.map
@@ -7,10 +7,10 @@ import {
7
7
  import {
8
8
  listMemoryGovernanceRuns,
9
9
  readMemoryGovernanceRunArtifact
10
- } from "./chunk-NKW27NU3.js";
10
+ } from "./chunk-AI2VXOSO.js";
11
11
  import {
12
12
  StorageManager
13
- } from "./chunk-ZGP2XB4S.js";
13
+ } from "./chunk-O3VKQMWC.js";
14
14
  import {
15
15
  normalizeProjectionPreview,
16
16
  normalizeProjectionTags
@@ -21,7 +21,7 @@ import {
21
21
  readProjectedGovernanceRows,
22
22
  readProjectedNativeKnowledgeRows,
23
23
  writeProjectionMetaHighWater
24
- } from "./chunk-3BOQPLCF.js";
24
+ } from "./chunk-JNELS2TW.js";
25
25
  import {
26
26
  MEMORY_LIFECYCLE_EVENT_SORT_ORDER,
27
27
  buildLifecycleEventsForMemory,
@@ -51,7 +51,7 @@ import {
51
51
  } from "./chunk-BTNNL7ZW.js";
52
52
  import {
53
53
  throwIfAborted
54
- } from "./chunk-BTTPKDIL.js";
54
+ } from "./chunk-R2MBW2S4.js";
55
55
  import {
56
56
  isErrnoCode
57
57
  } from "./chunk-KNA3BXXL.js";
@@ -1156,4 +1156,4 @@ export {
1156
1156
  verifyMemoryProjection,
1157
1157
  repairMemoryProjection
1158
1158
  };
1159
- //# sourceMappingURL=chunk-3GOPAWA7.js.map
1159
+ //# sourceMappingURL=chunk-QZP3RMYP.js.map
@@ -7,6 +7,13 @@ function abortError(message) {
7
7
  function isAbortError(err) {
8
8
  return err instanceof Error && err.name === "AbortError";
9
9
  }
10
+ var PREEMPTED_EXTRACTION = "extraction preempted for force-flush";
11
+ function preemptedExtractionError() {
12
+ return abortError(PREEMPTED_EXTRACTION);
13
+ }
14
+ function isPreemptedExtraction(err) {
15
+ return err.name === "AbortError" && err.message === PREEMPTED_EXTRACTION;
16
+ }
10
17
  function throwIfAborted(signal, message = "operation aborted") {
11
18
  if (signal?.aborted) {
12
19
  throw abortError(message);
@@ -28,7 +35,9 @@ function raceAbort(promise, signal, message = "operation aborted") {
28
35
  export {
29
36
  abortError,
30
37
  isAbortError,
38
+ preemptedExtractionError,
39
+ isPreemptedExtraction,
31
40
  throwIfAborted,
32
41
  raceAbort
33
42
  };
34
- //# sourceMappingURL=chunk-BTTPKDIL.js.map
43
+ //# sourceMappingURL=chunk-R2MBW2S4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/abort-error.ts"],"sourcesContent":["/**\n * Shared abort-error helpers.\n *\n * Consolidates the `throwIfAborted` / `abortError` / `isAbortError`\n * patterns that were independently implemented across\n * `direct-answer-wiring.ts`, `harmonic-retrieval.ts`, and `qmd.ts`\n * (plus a private pair in `orchestrator.ts`). A single helper\n * means future changes to the abort-error convention are applied\n * consistently across the codebase.\n *\n * The convention (matching Web / Node): throw a standard `Error`\n * with `name === \"AbortError\"`. Callers dispatch on name rather\n * than a specific class so error propagation across async\n * boundaries continues to classify correctly.\n */\n\n/**\n * Build an Error whose `name` is `\"AbortError\"`. Uses\n * `Object.defineProperty` so the name is non-enumerable and\n * mirrors the shape of `DOMException(\"AbortError\")` where that\n * is available.\n */\nexport function abortError(message: string): Error {\n const err = new Error(message);\n Object.defineProperty(err, \"name\", { value: \"AbortError\" });\n return err;\n}\n\n/** Return true iff `err` is an Error whose `name` is `\"AbortError\"`. */\nexport function isAbortError(err: unknown): boolean {\n return err instanceof Error && err.name === \"AbortError\";\n}\n\nconst PREEMPTED_EXTRACTION = \"extraction preempted for force-flush\";\n\nexport function preemptedExtractionError(): Error {\n return abortError(PREEMPTED_EXTRACTION);\n}\n\nexport function isPreemptedExtraction(err: Error): boolean {\n return err.name === \"AbortError\" && err.message === PREEMPTED_EXTRACTION;\n}\n\n/**\n * Throw an AbortError when the given signal has fired. No-op\n * when the signal is absent or not yet aborted. The default\n * message matches the prior in-module implementations.\n */\nexport function throwIfAborted(\n signal?: AbortSignal,\n message = \"operation aborted\",\n): void {\n if (signal?.aborted) {\n throw abortError(message);\n }\n}\n\nexport function raceAbort<T>(\n promise: Promise<T>,\n signal?: AbortSignal,\n message = \"operation aborted\",\n): Promise<T> {\n if (!signal) return promise;\n if (signal.aborted) return Promise.reject(abortError(message));\n let onAbort: (() => void) | undefined;\n const aborted = new Promise<never>((_resolve, reject) => {\n onAbort = () => reject(abortError(message));\n signal.addEventListener(\"abort\", onAbort, { once: true });\n });\n return Promise.race([promise, aborted]).finally(() => {\n if (onAbort) signal.removeEventListener(\"abort\", onAbort);\n });\n}\n"],"mappings":";AAsBO,SAAS,WAAW,SAAwB;AACjD,QAAM,MAAM,IAAI,MAAM,OAAO;AAC7B,SAAO,eAAe,KAAK,QAAQ,EAAE,OAAO,aAAa,CAAC;AAC1D,SAAO;AACT;AAGO,SAAS,aAAa,KAAuB;AAClD,SAAO,eAAe,SAAS,IAAI,SAAS;AAC9C;AAEA,IAAM,uBAAuB;AAEtB,SAAS,2BAAkC;AAChD,SAAO,WAAW,oBAAoB;AACxC;AAEO,SAAS,sBAAsB,KAAqB;AACzD,SAAO,IAAI,SAAS,gBAAgB,IAAI,YAAY;AACtD;AAOO,SAAS,eACd,QACA,UAAU,qBACJ;AACN,MAAI,QAAQ,SAAS;AACnB,UAAM,WAAW,OAAO;AAAA,EAC1B;AACF;AAEO,SAAS,UACd,SACA,QACA,UAAU,qBACE;AACZ,MAAI,CAAC,OAAQ,QAAO;AACpB,MAAI,OAAO,QAAS,QAAO,QAAQ,OAAO,WAAW,OAAO,CAAC;AAC7D,MAAI;AACJ,QAAM,UAAU,IAAI,QAAe,CAAC,UAAU,WAAW;AACvD,cAAU,MAAM,OAAO,WAAW,OAAO,CAAC;AAC1C,WAAO,iBAAiB,SAAS,SAAS,EAAE,MAAM,KAAK,CAAC;AAAA,EAC1D,CAAC;AACD,SAAO,QAAQ,KAAK,CAAC,SAAS,OAAO,CAAC,EAAE,QAAQ,MAAM;AACpD,QAAI,QAAS,QAAO,oBAAoB,SAAS,OAAO;AAAA,EAC1D,CAAC;AACH;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  composeMemoryEnvelope
3
- } from "./chunk-2FIJQNL7.js";
3
+ } from "./chunk-3ODEGTVV.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-UAAAXSKQ.js.map
20
+ //# sourceMappingURL=chunk-R4SATHCV.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  abortError,
3
3
  isAbortError
4
- } from "./chunk-BTTPKDIL.js";
4
+ } from "./chunk-R2MBW2S4.js";
5
5
  import {
6
6
  log
7
7
  } from "./chunk-3WCASNQZ.js";
@@ -168,4 +168,4 @@ export {
168
168
  runRecallSectionWithinDeadline,
169
169
  createBoundedCoreSectionRunner
170
170
  };
171
- //# sourceMappingURL=chunk-4O4TKIXQ.js.map
171
+ //# sourceMappingURL=chunk-RNFMFC37.js.map
@@ -400,4 +400,4 @@ export {
400
400
  getCausalTrajectoryStoreStatus,
401
401
  searchCausalTrajectories
402
402
  };
403
- //# sourceMappingURL=chunk-C2RW36YR.js.map
403
+ //# sourceMappingURL=chunk-S2PDFSXS.js.map
@@ -3,10 +3,10 @@ import {
3
3
  } from "./chunk-KJTKLXTH.js";
4
4
  import {
5
5
  StorageManager
6
- } from "./chunk-ZGP2XB4S.js";
6
+ } from "./chunk-O3VKQMWC.js";
7
7
  import {
8
8
  assertInjectedStorageRooted
9
- } from "./chunk-3BOQPLCF.js";
9
+ } from "./chunk-JNELS2TW.js";
10
10
  import {
11
11
  MEMORY_LIFECYCLE_LEDGER_LOCK_STALE_MS,
12
12
  buildLifecycleEventsForMemory,
@@ -25,7 +25,7 @@ import {
25
25
  } from "./chunk-BTNNL7ZW.js";
26
26
  import {
27
27
  withHeldFileLock
28
- } from "./chunk-5B5WYAHQ.js";
28
+ } from "./chunk-EBRG7ZIK.js";
29
29
  import {
30
30
  probeEncryptedRegularFileHeader
31
31
  } from "./chunk-ZG3HZZ6K.js";
@@ -260,4 +260,4 @@ export {
260
260
  backupExistingLedger,
261
261
  rebuildMemoryLifecycleLedger
262
262
  };
263
- //# sourceMappingURL=chunk-PZWW6MDE.js.map
263
+ //# sourceMappingURL=chunk-S2S4U4G3.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-7CT3AI52.js";
4
4
  import {
5
5
  raceAbort
6
- } from "./chunk-BTTPKDIL.js";
6
+ } from "./chunk-R2MBW2S4.js";
7
7
  import {
8
8
  log
9
9
  } from "./chunk-3WCASNQZ.js";
@@ -327,4 +327,4 @@ export {
327
327
  settleEntityMentionIndex,
328
328
  resolveEntityMentionIndex
329
329
  };
330
- //# sourceMappingURL=chunk-H6Z3RNW3.js.map
330
+ //# sourceMappingURL=chunk-S57QBPTA.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-B7RWBZXW.js";
4
4
  import {
5
5
  resolveCausalTrajectoryStoreDir
6
- } from "./chunk-C2RW36YR.js";
6
+ } from "./chunk-S2PDFSXS.js";
7
7
  import {
8
8
  normalizeRecallTokens
9
9
  } from "./chunk-YCVB7X56.js";
@@ -339,4 +339,4 @@ export {
339
339
  scoreStitchCandidate,
340
340
  stitchCausalChain
341
341
  };
342
- //# sourceMappingURL=chunk-GZXXPCWJ.js.map
342
+ //# sourceMappingURL=chunk-SE3JAD22.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getOperation
3
- } from "./chunk-2IXEKMBJ.js";
3
+ } from "./chunk-GSN77SST.js";
4
4
  import {
5
5
  EngramAccessInputError
6
6
  } from "./chunk-3MUKQQ7A.js";
@@ -21,4 +21,4 @@ async function respondBriefingHttp(options) {
21
21
  export {
22
22
  respondBriefingHttp
23
23
  };
24
- //# sourceMappingURL=chunk-ID62FNER.js.map
24
+ //# sourceMappingURL=chunk-SGLEHJ4P.js.map
@@ -11,7 +11,7 @@ import {
11
11
  } from "./chunk-ZAJLJ35W.js";
12
12
  import {
13
13
  parseConfig
14
- } from "./chunk-C2AOL6MK.js";
14
+ } from "./chunk-6FIFEXFF.js";
15
15
  import {
16
16
  resolveObjectiveStateStoreDir,
17
17
  validateObjectiveStateSnapshot
@@ -268,4 +268,4 @@ export {
268
268
  recordResumeBundle,
269
269
  getResumeBundleStatus
270
270
  };
271
- //# sourceMappingURL=chunk-5SMHQW45.js.map
271
+ //# sourceMappingURL=chunk-SIIWHIBK.js.map
@@ -11,7 +11,7 @@ import {
11
11
  import {
12
12
  LocalLlmRateLimitSession,
13
13
  resolveRateLimitSettings
14
- } from "./chunk-HJ444KNS.js";
14
+ } from "./chunk-QEDLJDHP.js";
15
15
  import {
16
16
  isObjectRecord,
17
17
  orderedLocalServers
@@ -24,7 +24,7 @@ import {
24
24
  } from "./chunk-TOTT6S2V.js";
25
25
  import {
26
26
  isUnsupportedJsonSchemaError
27
- } from "./chunk-CU5TILGD.js";
27
+ } from "./chunk-YIJECSIX.js";
28
28
  import {
29
29
  resolveLocalLlmCapabilities,
30
30
  resolvePipelineProcessingCapabilities
@@ -1115,4 +1115,4 @@ var LocalLlmClient = class _LocalLlmClient {
1115
1115
  export {
1116
1116
  LocalLlmClient
1117
1117
  };
1118
- //# sourceMappingURL=chunk-3EJQXF3B.js.map
1118
+ //# sourceMappingURL=chunk-SQ554O3K.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createVersion
3
- } from "./chunk-3CZRBTJK.js";
3
+ } from "./chunk-2NLCDNGA.js";
4
4
  import {
5
5
  bumpMemoryCorpusVersionForDir
6
6
  } from "./chunk-M5GVCJSJ.js";
@@ -12,7 +12,7 @@ import {
12
12
  repairContentAfterJournalMove,
13
13
  requestEntityCanonicalIdReconcile,
14
14
  withRawEntityPageMutation
15
- } from "./chunk-VXWOJPSY.js";
15
+ } from "./chunk-LWRIGKFM.js";
16
16
  import {
17
17
  parseExportBundle
18
18
  } from "./chunk-WEHSQBFR.js";
@@ -294,4 +294,4 @@ function mintForkId(capsuleId, originalId, now) {
294
294
  export {
295
295
  importCapsule
296
296
  };
297
- //# sourceMappingURL=chunk-ISMZ5UNE.js.map
297
+ //# sourceMappingURL=chunk-STM4T335.js.map