@remnic/core 10.0.0 → 10.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. package/dist/access-admin-ops-surface.js +35 -33
  2. package/dist/access-authorization-probe.js +36 -34
  3. package/dist/access-boundary.js +35 -33
  4. package/dist/access-cli.js +96 -94
  5. package/dist/access-cli.js.map +1 -1
  6. package/dist/access-extraction-force-flush.js +35 -33
  7. package/dist/access-http-briefing.js +36 -34
  8. package/dist/access-http-query.js +37 -35
  9. package/dist/access-http.js +54 -52
  10. package/dist/access-identity-continuity-surface.js +35 -33
  11. package/dist/access-lcm-surface.js +35 -33
  12. package/dist/access-mcp.js +44 -42
  13. package/dist/access-namespace-preflight.js +35 -33
  14. package/dist/access-observe-write-category.js +4 -4
  15. package/dist/access-observe-write-surface.js +35 -33
  16. package/dist/access-operations-batch.js +36 -34
  17. package/dist/access-operations.js +43 -41
  18. package/dist/access-recall-concurrency.js +35 -33
  19. package/dist/access-recall-response.js +35 -33
  20. package/dist/access-recall-surface.js +35 -33
  21. package/dist/access-schema.js +3 -3
  22. package/dist/access-service.js +35 -33
  23. package/dist/access-surface-catalog.js +37 -35
  24. package/dist/access-surface-catalog.js.map +1 -1
  25. package/dist/active-recall.js +11 -9
  26. package/dist/active-recall.js.map +1 -1
  27. package/dist/adapters/index.js +4 -4
  28. package/dist/adapters/registry.js +2 -2
  29. package/dist/briefing.js +10 -8
  30. package/dist/buffer.js +7 -5
  31. package/dist/{capsule-crypto-YO5QJ6L3.js → capsule-crypto-7FJQINUR.js} +2 -2
  32. package/dist/causal-consolidation.js +11 -9
  33. package/dist/causal-consolidation.js.map +1 -1
  34. package/dist/{chunk-JWFTPRYD.js → chunk-2EZB2DL5.js} +2 -2
  35. package/dist/{chunk-BXLOS5AJ.js → chunk-2NLLXCJG.js} +2 -2
  36. package/dist/{chunk-QKCGOECM.js → chunk-34G4U6HS.js} +2 -2
  37. package/dist/{chunk-YI6XIFQV.js → chunk-34TSXVQS.js} +2 -2
  38. package/dist/{chunk-7YQR6XHY.js → chunk-3I375S4J.js} +58 -58
  39. package/dist/{chunk-XQWKB6PY.js → chunk-3UP6NP4C.js} +2 -2
  40. package/dist/{chunk-OFGTRDWX.js → chunk-47I2EK6G.js} +2 -2
  41. package/dist/{chunk-HWGFTTPS.js → chunk-5FLFPTDK.js} +2 -2
  42. package/dist/{chunk-LHDSCWDK.js → chunk-7AUC2YSU.js} +13 -13
  43. package/dist/{chunk-AU43D3IT.js → chunk-7DB7KYSR.js} +4 -4
  44. package/dist/{chunk-VDX2J7OX.js → chunk-7LCGFUMB.js} +4 -4
  45. package/dist/{chunk-CNBGAFDY.js → chunk-A7V7GZ7F.js} +2 -2
  46. package/dist/{chunk-SWXPR5SE.js → chunk-B2UCJX76.js} +2 -2
  47. package/dist/{chunk-KYUVFCT2.js → chunk-BCTDTVSR.js} +2 -2
  48. package/dist/{chunk-6WRHNA4I.js → chunk-BKPV47BK.js} +36 -36
  49. package/dist/{chunk-QAIVTLL2.js → chunk-BLHPADUX.js} +2 -2
  50. package/dist/{chunk-PRNR47DI.js → chunk-BOT276JC.js} +2 -2
  51. package/dist/{chunk-O43AAJFQ.js → chunk-CRZ7BU6R.js} +2 -2
  52. package/dist/{chunk-2OFDC3AK.js → chunk-DDPPV3KA.js} +2 -2
  53. package/dist/{chunk-VYIBRCVW.js → chunk-DHQUQ34W.js} +2 -2
  54. package/dist/{chunk-7NBUE5VY.js → chunk-DPX3J2N4.js} +2 -2
  55. package/dist/{chunk-EWWK65CI.js → chunk-DX3ZODO3.js} +2 -2
  56. package/dist/{chunk-SFDBLCZV.js → chunk-DYZHVVJM.js} +30 -30
  57. package/dist/{chunk-B454SHPU.js → chunk-E7FN5N5E.js} +2 -2
  58. package/dist/{chunk-AWSP3WNM.js → chunk-EJJMDLVB.js} +2 -2
  59. package/dist/{chunk-KFHEZJQZ.js → chunk-EPFNPPWH.js} +2 -2
  60. package/dist/{chunk-VDVHIRCK.js → chunk-EUYNHJTK.js} +2 -2
  61. package/dist/{chunk-T32YYUT2.js → chunk-FB6FQT4P.js} +2 -2
  62. package/dist/{chunk-XTN54NML.js → chunk-G3T6YMBO.js} +4 -4
  63. package/dist/{chunk-JC7QQ2DJ.js → chunk-GS6LTJFW.js} +2 -2
  64. package/dist/{chunk-WR66CTVU.js → chunk-GYLDYYRA.js} +4 -4
  65. package/dist/{chunk-PQKZLBCJ.js → chunk-GZRTH3WZ.js} +1 -1
  66. package/dist/{chunk-STQC2FYQ.js → chunk-HNU5CZ7E.js} +6 -6
  67. package/dist/{chunk-E4XLFYHV.js → chunk-HPEONBM3.js} +2 -2
  68. package/dist/{chunk-B3OFQP5Y.js → chunk-IB63OVUB.js} +24 -249
  69. package/dist/chunk-IB63OVUB.js.map +1 -0
  70. package/dist/chunk-IM2GO42H.js +312 -0
  71. package/dist/chunk-IM2GO42H.js.map +1 -0
  72. package/dist/{chunk-EZ3F4YIN.js → chunk-JLUS56YZ.js} +5 -5
  73. package/dist/{chunk-UHESJ6TQ.js → chunk-KEGUXZNY.js} +3 -3
  74. package/dist/{chunk-UHESJ6TQ.js.map → chunk-KEGUXZNY.js.map} +1 -1
  75. package/dist/{chunk-J3ZJBX7I.js → chunk-KM2HQZR3.js} +2 -2
  76. package/dist/{chunk-2MMBJE53.js → chunk-LI3OM3NP.js} +7 -7
  77. package/dist/{chunk-MZOQ26LH.js → chunk-LQGX5TCI.js} +2 -2
  78. package/dist/{chunk-KMN2JE4D.js → chunk-LTDWZ2HC.js} +2 -2
  79. package/dist/{chunk-T6RQNV7E.js → chunk-MJ737UIA.js} +2 -2
  80. package/dist/{chunk-7X7A7KVN.js → chunk-NLYOOGZ7.js} +2 -2
  81. package/dist/{chunk-PZ2QQULY.js → chunk-NVZRIHW5.js} +8 -8
  82. package/dist/{chunk-NT2Q6AHC.js → chunk-PCO3P7WJ.js} +2 -2
  83. package/dist/{chunk-VO2BNAA2.js → chunk-PXDEIJL5.js} +2 -2
  84. package/dist/{chunk-LXJZUNLX.js → chunk-QHHWJVVW.js} +2 -2
  85. package/dist/{chunk-XLWMNDQR.js → chunk-QJWZJ7HL.js} +3 -3
  86. package/dist/{chunk-73R4HOOK.js → chunk-QPG72IPU.js} +3 -3
  87. package/dist/{chunk-SIGDETMB.js → chunk-R4NGLTUS.js} +2 -2
  88. package/dist/{chunk-TRN56SPQ.js → chunk-R6NHHKXE.js} +2 -2
  89. package/dist/{chunk-ATFFWIKL.js → chunk-RGGXSN5A.js} +2 -2
  90. package/dist/{chunk-IOMLGJHG.js → chunk-RWZXVCGX.js} +5 -5
  91. package/dist/{chunk-PQ7EB5AD.js → chunk-S3BB34NI.js} +3 -3
  92. package/dist/{chunk-QX3K3INR.js → chunk-SBBZXDVJ.js} +2 -2
  93. package/dist/{chunk-G5I5ZT6O.js → chunk-SFDKLEIY.js} +2 -2
  94. package/dist/{chunk-ZLQ37WJX.js → chunk-SIGAGKNE.js} +8 -2
  95. package/dist/{chunk-ZLQ37WJX.js.map → chunk-SIGAGKNE.js.map} +1 -1
  96. package/dist/chunk-TPSLVZHS.js +102 -0
  97. package/dist/chunk-TPSLVZHS.js.map +1 -0
  98. package/dist/{chunk-TXTRHF3B.js → chunk-TVPDF6CZ.js} +2 -2
  99. package/dist/{chunk-A6WNTVA7.js → chunk-UP3XXGEN.js} +2 -2
  100. package/dist/{chunk-S2GR3T7W.js → chunk-UT7WE7RM.js} +2 -2
  101. package/dist/{chunk-BKVCTTEN.js → chunk-V3NKVYUD.js} +2 -2
  102. package/dist/{chunk-CGBE3N7T.js → chunk-VH76UQK3.js} +2 -2
  103. package/dist/{chunk-Z6EZCN6Z.js → chunk-VKQI47DJ.js} +8 -8
  104. package/dist/{chunk-KV7LFOPF.js → chunk-VSPBXHGR.js} +2 -2
  105. package/dist/{chunk-ZRUC7FD3.js → chunk-VXCTQ3B3.js} +2 -2
  106. package/dist/{chunk-QUNCLKHM.js → chunk-WIVBNNA3.js} +2 -2
  107. package/dist/{chunk-OWV6LKNZ.js → chunk-WWUFQ3AG.js} +2 -2
  108. package/dist/{chunk-DQEMWVMT.js → chunk-X7Y7WX73.js} +1 -1
  109. package/dist/{chunk-GQ6ZF4LD.js → chunk-XG4XXI66.js} +2 -2
  110. package/dist/{chunk-ISX7GVZE.js → chunk-YRULQW5J.js} +4 -4
  111. package/dist/{chunk-VV2MVHCJ.js → chunk-YX5F4V7H.js} +2 -2
  112. package/dist/{chunk-JRDL3FGM.js → chunk-YY5FM5M7.js} +3 -3
  113. package/dist/cli.js +70 -68
  114. package/dist/coding/export-okf-codegraph.js +9 -7
  115. package/dist/coding/export-okf-codegraph.js.map +1 -1
  116. package/dist/compounding/engine.js +10 -8
  117. package/dist/config-qmd.js +1 -1
  118. package/dist/config.js +11 -9
  119. package/dist/connectors/codex-materialize-runner.js +10 -8
  120. package/dist/connectors/index.js +10 -8
  121. package/dist/convergence-refresh.js +12 -10
  122. package/dist/corpus-watermark.js +12 -10
  123. package/dist/deep-recall-http-glue.js +4 -4
  124. package/dist/deep-recall.js +2 -2
  125. package/dist/entity-retrieval.js +10 -8
  126. package/dist/external-wiki-access.js +36 -34
  127. package/dist/extraction.js +14 -12
  128. package/dist/harmonic-retrieval.js +1 -1
  129. package/dist/index.js +118 -116
  130. package/dist/lcm/engine.js +3 -3
  131. package/dist/lcm/index.js +9 -9
  132. package/dist/location/index.js +12 -10
  133. package/dist/maintenance/memory-governance.js +10 -8
  134. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +10 -8
  135. package/dist/maintenance/rebuild-memory-projection.js +11 -9
  136. package/dist/memory-browse-operations.js +36 -34
  137. package/dist/memory-browse.js +7 -5
  138. package/dist/namespaces/migrate.js +11 -9
  139. package/dist/namespaces/search.js +8 -6
  140. package/dist/namespaces/storage.js +10 -8
  141. package/dist/operator-doctor-corpus.js +13 -11
  142. package/dist/operator-toolkit.js +20 -18
  143. package/dist/orchestration/maintenance.js +18 -16
  144. package/dist/orchestrator.js +98 -96
  145. package/dist/qmd-daemon-session.d.ts +45 -0
  146. package/dist/qmd-daemon-session.d.ts.map +1 -0
  147. package/dist/qmd-daemon-session.js +12 -0
  148. package/dist/qmd-daemon-session.js.map +1 -0
  149. package/dist/qmd-mcp-cancel.d.ts +21 -0
  150. package/dist/qmd-mcp-cancel.d.ts.map +1 -0
  151. package/dist/qmd-mcp-cancel.js +11 -0
  152. package/dist/qmd-mcp-cancel.js.map +1 -0
  153. package/dist/qmd-preflight.d.ts +3 -1
  154. package/dist/qmd-preflight.d.ts.map +1 -1
  155. package/dist/qmd-preflight.js +3 -1
  156. package/dist/qmd.d.ts +5 -29
  157. package/dist/qmd.d.ts.map +1 -1
  158. package/dist/qmd.js +6 -2
  159. package/dist/recall-navigation-operations.js +36 -34
  160. package/dist/recall-navigation.js +35 -33
  161. package/dist/recall-state-view-admission.js +7 -5
  162. package/dist/recall-why-service.js +7 -5
  163. package/dist/resume-bundles.js +12 -10
  164. package/dist/search/factory.js +7 -5
  165. package/dist/search/index.js +11 -9
  166. package/dist/semantic-consolidation.js +11 -9
  167. package/dist/semantic-rule-promotion.js +10 -8
  168. package/dist/semantic-rule-verifier.js +10 -8
  169. package/dist/source-agent-qualifier.js +13 -11
  170. package/dist/standup/build.js +10 -8
  171. package/dist/storage.js +9 -7
  172. package/dist/support-passport/index.js +38 -36
  173. package/dist/transfer/backup.js +2 -2
  174. package/dist/transfer/capsule-export.js +2 -2
  175. package/dist/transfer/capsule-import.js +2 -2
  176. package/dist/transfer/export-okf.js +10 -8
  177. package/dist/verified-recall.js +10 -8
  178. package/dist/who-knows-cli.js +11 -9
  179. package/dist/who-knows.js +10 -8
  180. package/package.json +2 -2
  181. package/src/config-qmd.ts +2 -2
  182. package/src/qmd-daemon-session.ts +369 -0
  183. package/src/qmd-mcp-cancel.test.ts +408 -0
  184. package/src/qmd-mcp-cancel.ts +130 -0
  185. package/src/qmd-preflight.ts +10 -1
  186. package/src/qmd-rank-compare.test.ts +100 -0
  187. package/src/qmd.test.ts +16 -1
  188. package/src/qmd.ts +18 -297
  189. package/dist/chunk-B3OFQP5Y.js.map +0 -1
  190. /package/dist/{capsule-crypto-YO5QJ6L3.js.map → capsule-crypto-7FJQINUR.js.map} +0 -0
  191. /package/dist/{chunk-JWFTPRYD.js.map → chunk-2EZB2DL5.js.map} +0 -0
  192. /package/dist/{chunk-BXLOS5AJ.js.map → chunk-2NLLXCJG.js.map} +0 -0
  193. /package/dist/{chunk-QKCGOECM.js.map → chunk-34G4U6HS.js.map} +0 -0
  194. /package/dist/{chunk-YI6XIFQV.js.map → chunk-34TSXVQS.js.map} +0 -0
  195. /package/dist/{chunk-7YQR6XHY.js.map → chunk-3I375S4J.js.map} +0 -0
  196. /package/dist/{chunk-XQWKB6PY.js.map → chunk-3UP6NP4C.js.map} +0 -0
  197. /package/dist/{chunk-OFGTRDWX.js.map → chunk-47I2EK6G.js.map} +0 -0
  198. /package/dist/{chunk-HWGFTTPS.js.map → chunk-5FLFPTDK.js.map} +0 -0
  199. /package/dist/{chunk-LHDSCWDK.js.map → chunk-7AUC2YSU.js.map} +0 -0
  200. /package/dist/{chunk-AU43D3IT.js.map → chunk-7DB7KYSR.js.map} +0 -0
  201. /package/dist/{chunk-VDX2J7OX.js.map → chunk-7LCGFUMB.js.map} +0 -0
  202. /package/dist/{chunk-CNBGAFDY.js.map → chunk-A7V7GZ7F.js.map} +0 -0
  203. /package/dist/{chunk-SWXPR5SE.js.map → chunk-B2UCJX76.js.map} +0 -0
  204. /package/dist/{chunk-KYUVFCT2.js.map → chunk-BCTDTVSR.js.map} +0 -0
  205. /package/dist/{chunk-6WRHNA4I.js.map → chunk-BKPV47BK.js.map} +0 -0
  206. /package/dist/{chunk-QAIVTLL2.js.map → chunk-BLHPADUX.js.map} +0 -0
  207. /package/dist/{chunk-PRNR47DI.js.map → chunk-BOT276JC.js.map} +0 -0
  208. /package/dist/{chunk-O43AAJFQ.js.map → chunk-CRZ7BU6R.js.map} +0 -0
  209. /package/dist/{chunk-2OFDC3AK.js.map → chunk-DDPPV3KA.js.map} +0 -0
  210. /package/dist/{chunk-VYIBRCVW.js.map → chunk-DHQUQ34W.js.map} +0 -0
  211. /package/dist/{chunk-7NBUE5VY.js.map → chunk-DPX3J2N4.js.map} +0 -0
  212. /package/dist/{chunk-EWWK65CI.js.map → chunk-DX3ZODO3.js.map} +0 -0
  213. /package/dist/{chunk-SFDBLCZV.js.map → chunk-DYZHVVJM.js.map} +0 -0
  214. /package/dist/{chunk-B454SHPU.js.map → chunk-E7FN5N5E.js.map} +0 -0
  215. /package/dist/{chunk-AWSP3WNM.js.map → chunk-EJJMDLVB.js.map} +0 -0
  216. /package/dist/{chunk-KFHEZJQZ.js.map → chunk-EPFNPPWH.js.map} +0 -0
  217. /package/dist/{chunk-VDVHIRCK.js.map → chunk-EUYNHJTK.js.map} +0 -0
  218. /package/dist/{chunk-T32YYUT2.js.map → chunk-FB6FQT4P.js.map} +0 -0
  219. /package/dist/{chunk-XTN54NML.js.map → chunk-G3T6YMBO.js.map} +0 -0
  220. /package/dist/{chunk-JC7QQ2DJ.js.map → chunk-GS6LTJFW.js.map} +0 -0
  221. /package/dist/{chunk-WR66CTVU.js.map → chunk-GYLDYYRA.js.map} +0 -0
  222. /package/dist/{chunk-PQKZLBCJ.js.map → chunk-GZRTH3WZ.js.map} +0 -0
  223. /package/dist/{chunk-STQC2FYQ.js.map → chunk-HNU5CZ7E.js.map} +0 -0
  224. /package/dist/{chunk-E4XLFYHV.js.map → chunk-HPEONBM3.js.map} +0 -0
  225. /package/dist/{chunk-EZ3F4YIN.js.map → chunk-JLUS56YZ.js.map} +0 -0
  226. /package/dist/{chunk-J3ZJBX7I.js.map → chunk-KM2HQZR3.js.map} +0 -0
  227. /package/dist/{chunk-2MMBJE53.js.map → chunk-LI3OM3NP.js.map} +0 -0
  228. /package/dist/{chunk-MZOQ26LH.js.map → chunk-LQGX5TCI.js.map} +0 -0
  229. /package/dist/{chunk-KMN2JE4D.js.map → chunk-LTDWZ2HC.js.map} +0 -0
  230. /package/dist/{chunk-T6RQNV7E.js.map → chunk-MJ737UIA.js.map} +0 -0
  231. /package/dist/{chunk-7X7A7KVN.js.map → chunk-NLYOOGZ7.js.map} +0 -0
  232. /package/dist/{chunk-PZ2QQULY.js.map → chunk-NVZRIHW5.js.map} +0 -0
  233. /package/dist/{chunk-NT2Q6AHC.js.map → chunk-PCO3P7WJ.js.map} +0 -0
  234. /package/dist/{chunk-VO2BNAA2.js.map → chunk-PXDEIJL5.js.map} +0 -0
  235. /package/dist/{chunk-LXJZUNLX.js.map → chunk-QHHWJVVW.js.map} +0 -0
  236. /package/dist/{chunk-XLWMNDQR.js.map → chunk-QJWZJ7HL.js.map} +0 -0
  237. /package/dist/{chunk-73R4HOOK.js.map → chunk-QPG72IPU.js.map} +0 -0
  238. /package/dist/{chunk-SIGDETMB.js.map → chunk-R4NGLTUS.js.map} +0 -0
  239. /package/dist/{chunk-TRN56SPQ.js.map → chunk-R6NHHKXE.js.map} +0 -0
  240. /package/dist/{chunk-ATFFWIKL.js.map → chunk-RGGXSN5A.js.map} +0 -0
  241. /package/dist/{chunk-IOMLGJHG.js.map → chunk-RWZXVCGX.js.map} +0 -0
  242. /package/dist/{chunk-PQ7EB5AD.js.map → chunk-S3BB34NI.js.map} +0 -0
  243. /package/dist/{chunk-QX3K3INR.js.map → chunk-SBBZXDVJ.js.map} +0 -0
  244. /package/dist/{chunk-G5I5ZT6O.js.map → chunk-SFDKLEIY.js.map} +0 -0
  245. /package/dist/{chunk-TXTRHF3B.js.map → chunk-TVPDF6CZ.js.map} +0 -0
  246. /package/dist/{chunk-A6WNTVA7.js.map → chunk-UP3XXGEN.js.map} +0 -0
  247. /package/dist/{chunk-S2GR3T7W.js.map → chunk-UT7WE7RM.js.map} +0 -0
  248. /package/dist/{chunk-BKVCTTEN.js.map → chunk-V3NKVYUD.js.map} +0 -0
  249. /package/dist/{chunk-CGBE3N7T.js.map → chunk-VH76UQK3.js.map} +0 -0
  250. /package/dist/{chunk-Z6EZCN6Z.js.map → chunk-VKQI47DJ.js.map} +0 -0
  251. /package/dist/{chunk-KV7LFOPF.js.map → chunk-VSPBXHGR.js.map} +0 -0
  252. /package/dist/{chunk-ZRUC7FD3.js.map → chunk-VXCTQ3B3.js.map} +0 -0
  253. /package/dist/{chunk-QUNCLKHM.js.map → chunk-WIVBNNA3.js.map} +0 -0
  254. /package/dist/{chunk-OWV6LKNZ.js.map → chunk-WWUFQ3AG.js.map} +0 -0
  255. /package/dist/{chunk-DQEMWVMT.js.map → chunk-X7Y7WX73.js.map} +0 -0
  256. /package/dist/{chunk-GQ6ZF4LD.js.map → chunk-XG4XXI66.js.map} +0 -0
  257. /package/dist/{chunk-ISX7GVZE.js.map → chunk-YRULQW5J.js.map} +0 -0
  258. /package/dist/{chunk-VV2MVHCJ.js.map → chunk-YX5F4V7H.js.map} +0 -0
  259. /package/dist/{chunk-JRDL3FGM.js.map → chunk-YY5FM5M7.js.map} +0 -0
@@ -7,10 +7,10 @@ import {
7
7
  import {
8
8
  listMemoryGovernanceRuns,
9
9
  readMemoryGovernanceRunArtifact
10
- } from "./chunk-VO2BNAA2.js";
10
+ } from "./chunk-PXDEIJL5.js";
11
11
  import {
12
12
  StorageManager
13
- } from "./chunk-E4XLFYHV.js";
13
+ } from "./chunk-HPEONBM3.js";
14
14
  import {
15
15
  normalizeProjectionPreview,
16
16
  normalizeProjectionTags
@@ -1005,4 +1005,4 @@ export {
1005
1005
  verifyMemoryProjection,
1006
1006
  repairMemoryProjection
1007
1007
  };
1008
- //# sourceMappingURL=chunk-XLWMNDQR.js.map
1008
+ //# sourceMappingURL=chunk-QJWZJ7HL.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  NamespaceStorageRouter
3
- } from "./chunk-KMN2JE4D.js";
3
+ } from "./chunk-LTDWZ2HC.js";
4
4
  import {
5
5
  namespaceCollectionName
6
- } from "./chunk-BKVCTTEN.js";
6
+ } from "./chunk-V3NKVYUD.js";
7
7
  import {
8
8
  isSafeRouteNamespace
9
9
  } from "./chunk-PCXDUHQH.js";
@@ -213,4 +213,4 @@ export {
213
213
  verifyNamespaces,
214
214
  runNamespaceMigration
215
215
  };
216
- //# sourceMappingURL=chunk-73R4HOOK.js.map
216
+ //# sourceMappingURL=chunk-QPG72IPU.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-5HFVWYHL.js";
4
4
  import {
5
5
  isGenericRecallExcludedPath
6
- } from "./chunk-JWFTPRYD.js";
6
+ } from "./chunk-2EZB2DL5.js";
7
7
  import {
8
8
  planRecallMode
9
9
  } from "./chunk-CSAKJVXW.js";
@@ -132,4 +132,4 @@ async function findExpectedMemory(orchestrator, namespaces, expect) {
132
132
  export {
133
133
  runRecallWhy
134
134
  };
135
- //# sourceMappingURL=chunk-SIGDETMB.js.map
135
+ //# sourceMappingURL=chunk-R4NGLTUS.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  listNamespaces
3
- } from "./chunk-73R4HOOK.js";
3
+ } from "./chunk-QPG72IPU.js";
4
4
  import {
5
5
  capabilityAllowsNamespace
6
6
  } from "./chunk-IG747LRN.js";
@@ -282,4 +282,4 @@ export {
282
282
  computeServiceCorpusWatermarks,
283
283
  computeServiceCorpusCensus
284
284
  };
285
- //# sourceMappingURL=chunk-TRN56SPQ.js.map
285
+ //# sourceMappingURL=chunk-R6NHHKXE.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-A7AISUJI.js";
4
4
  import {
5
5
  deepRecallRequestSchema
6
- } from "./chunk-OFGTRDWX.js";
6
+ } from "./chunk-47I2EK6G.js";
7
7
  import {
8
8
  EngramAccessInputError
9
9
  } from "./chunk-3MUKQQ7A.js";
@@ -40,4 +40,4 @@ async function respondDeepRecall(req, res, respondJson, readJsonBody, service, s
40
40
  export {
41
41
  respondDeepRecall
42
42
  };
43
- //# sourceMappingURL=chunk-ATFFWIKL.js.map
43
+ //# sourceMappingURL=chunk-RGGXSN5A.js.map
@@ -13,13 +13,13 @@ import {
13
13
  requestEntityCanonicalIdReconcile,
14
14
  withRawEntityPageMutation
15
15
  } from "./chunk-R7QY5ZVB.js";
16
- import {
17
- parseExportBundle
18
- } from "./chunk-WEHSQBFR.js";
19
16
  import {
20
17
  decryptCapsuleFileInMemory,
21
18
  isEncryptedCapsuleFile
22
- } from "./chunk-DQEMWVMT.js";
19
+ } from "./chunk-X7Y7WX73.js";
20
+ import {
21
+ parseExportBundle
22
+ } from "./chunk-WEHSQBFR.js";
23
23
  import {
24
24
  assertIsDirectoryNotSymlink,
25
25
  assertRealpathInsideRoot,
@@ -294,4 +294,4 @@ function mintForkId(capsuleId, originalId, now) {
294
294
  export {
295
295
  importCapsule
296
296
  };
297
- //# sourceMappingURL=chunk-IOMLGJHG.js.map
297
+ //# sourceMappingURL=chunk-RWZXVCGX.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  resolveDefaultNamespaceRoot
3
- } from "./chunk-KMN2JE4D.js";
3
+ } from "./chunk-LTDWZ2HC.js";
4
4
  import {
5
5
  StorageManager
6
- } from "./chunk-E4XLFYHV.js";
6
+ } from "./chunk-HPEONBM3.js";
7
7
  import {
8
8
  composeLocationDayBody,
9
9
  composeLocationDayMeta,
@@ -728,4 +728,4 @@ export {
728
728
  runLocationBackfill,
729
729
  runLocationCliCommand
730
730
  };
731
- //# sourceMappingURL=chunk-PQ7EB5AD.js.map
731
+ //# sourceMappingURL=chunk-S3BB34NI.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  defineOperation
3
- } from "./chunk-6WRHNA4I.js";
3
+ } from "./chunk-BKPV47BK.js";
4
4
  import {
5
5
  EngramAccessInputError
6
6
  } from "./chunk-3MUKQQ7A.js";
@@ -71,4 +71,4 @@ defineOperation({
71
71
  })
72
72
  })
73
73
  });
74
- //# sourceMappingURL=chunk-QX3K3INR.js.map
74
+ //# sourceMappingURL=chunk-SBBZXDVJ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveCorpusNamespaceRoots
3
- } from "./chunk-TRN56SPQ.js";
3
+ } from "./chunk-R6NHHKXE.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-G5I5ZT6O.js.map
203
+ //# sourceMappingURL=chunk-SFDKLEIY.js.map
@@ -5,7 +5,7 @@ import {
5
5
  // src/qmd-preflight.ts
6
6
  var QMD_PROBE_TIMEOUT_MS = 8e3;
7
7
  var QMD_PROBE_RETRY_BACKOFF_MS = [300, 800];
8
- var QMD_SUPPORTED_VERSION = "2.5.3";
8
+ var QMD_SUPPORTED_VERSION = "2.8.3";
9
9
  function classifyProbeFailure(err) {
10
10
  if (err && typeof err === "object") {
11
11
  if ("code" in err) {
@@ -90,6 +90,11 @@ function shouldAutoUpgradeQmd(installedVersion, supportedVersion = QMD_SUPPORTED
90
90
  if (!installed || !supported) return false;
91
91
  return compareQmdVersions(installed, supported) < 0;
92
92
  }
93
+ var QMD_PATCHED_BUILD_MIN = [2, 8, 3];
94
+ function autoUpgradeInstallsStockPackage(supportedVersion) {
95
+ const supported = parseQmdVersion(supportedVersion);
96
+ return supported !== null && compareQmdVersions(supported, QMD_PATCHED_BUILD_MIN) < 0;
97
+ }
93
98
  function getQmdPostInstallProbeTargets(qmdPath, qmdPathSource) {
94
99
  const targets = [
95
100
  { qmdPath: "qmd", source: "auto-path" }
@@ -115,7 +120,8 @@ export {
115
120
  versionAtLeast,
116
121
  resolveQmdCapabilities,
117
122
  shouldAutoUpgradeQmd,
123
+ autoUpgradeInstallsStockPackage,
118
124
  getQmdPostInstallProbeTargets,
119
125
  qmdVersionToString
120
126
  };
121
- //# sourceMappingURL=chunk-ZLQ37WJX.js.map
127
+ //# sourceMappingURL=chunk-SIGAGKNE.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/qmd-preflight.ts"],"sourcesContent":["/**\n * QMD version-check PREFLIGHT / probe-classification helpers.\n *\n * Pure, self-contained functions extracted from qmd.ts (issue #1841) so the\n * QmdClient class file stays under the structural-ratchet LOC ceiling. These\n * cover two related concerns of the startup preflight:\n *\n * 1. VERSION parsing/comparison — turning `qmd --version` output into a tuple,\n * comparing against the supported target, and resolving feature capability\n * flags from the parsed version.\n * 2. PROBE failure classification — distinguishing a slow/overloaded binary\n * (transient → retry) from a genuine misconfiguration (ENOENT/EACCES → fail\n * fast) using STRUCTURED signals, never the error message.\n *\n * No behavioral change from qmd.ts round 1 (issue #1841): structured-signal\n * classification (code=ENOENT/EACCES=>missing, timedOut flag=>transient,\n * caller-cancel silenced, non-zero-exit=>other); backoff [300,800].\n */\nimport { isAbortError } from \"./abort-error.js\";\nimport type { QmdCapabilities, QmdVersionTuple } from \"./qmd.js\";\n\n// Deadline (ms) for a single `qmd --version` probe.\nexport const QMD_PROBE_TIMEOUT_MS = 8_000;\n\n// Backoff schedule (ms) for retrying a TRANSIENT (timeout/abort) version-check\n// probe of a CONFIGURED qmdPath before declaring it failed. A binary that\n// resolved and ran before is more likely slow under load than gone, so we retry\n// transient failures but NOT ENOENT/EACCES (hard misconfiguration, fail fast).\n// Length == number of retries after the initial attempt. Issue #1841.\nexport const QMD_PROBE_RETRY_BACKOFF_MS = [300, 800];\n\nexport const QMD_SUPPORTED_VERSION = \"2.5.3\";\n\n/**\n * Classify a `qmd --version` probe failure so the preflight can distinguish a\n * slow/overloaded binary (a genuine deadline timeout) from a real\n * misconfiguration (ENOENT/EACCES — the configured path is missing or not\n * executable). Only transient failures are retried; missing binaries fail fast.\n *\n * Classification keys on STRUCTURED signals, never the error *message*: a\n * non-zero-exit failure embeds the child's stderr in its message, so scanning\n * that text for \"abort\"/\"timed out\"/\"not found\" would misclassify a healthy\n * binary. The structured signals are: `code` (ENOENT/EACCES) for missing; the\n * `timedOut` flag set by `runCommandWithTimeout` for a genuine timeout; an\n * AbortError name for a deadline/abort under load. Issue #1841.\n */\nexport type QmdProbeFailureKind = \"transient\" | \"missing\" | \"other\";\nexport function classifyProbeFailure(err: unknown): QmdProbeFailureKind {\n if (err && typeof err === \"object\") {\n // Node spawn failures carry a structured `code`: ENOENT (not found) /\n // EACCES (not executable).\n if (\"code\" in err) {\n const code = err.code;\n if (code === \"ENOENT\" || code === \"EACCES\") return \"missing\";\n }\n // runCommandWithTimeout flags a genuine deadline breach with `timedOut`.\n if (\"timedOut\" in err && err.timedOut === true) return \"transient\";\n }\n // An AbortError reaching here is a deadline/abort under load → transient.\n // (Caller cancellation is intercepted by the retry loop before this runs.)\n if (isAbortError(err)) return \"transient\";\n // Anything else — including a non-zero exit whose message embeds stderr — is\n // a generic failure: never scan the message to upgrade/downgrade it.\n return \"other\";\n}\n\nexport function parseQmdVersion(version: string | null): QmdVersionTuple | null {\n if (!version) return null;\n const match = version.match(/v?(\\d{1,10})\\.(\\d{1,10})\\.(\\d{1,10})/i);\n if (!match) return null;\n return [\n Number.parseInt(match[1] ?? \"0\", 10),\n Number.parseInt(match[2] ?? \"0\", 10),\n Number.parseInt(match[3] ?? \"0\", 10),\n ];\n}\n\nexport function parseQmdVersionOutput(stdout: string, stderr: string): string | null {\n const lines = `${stdout}\\n${stderr}`\n .split(\"\\n\")\n .map((s) => s.trim())\n .filter((s) => s.length > 0);\n if (lines.length === 0) return null;\n const semanticLines = lines.filter((line) => parseQmdVersion(line) !== null);\n if (semanticLines.length === 0) return lines[0] ?? null;\n return semanticLines.find((line) => /\\bqmd\\b/i.test(line)) ?? semanticLines[0] ?? null;\n}\n\nexport function compareQmdVersions(left: QmdVersionTuple | null, right: QmdVersionTuple | null): number {\n if (!left && !right) return 0;\n if (!left) return -1;\n if (!right) return 1;\n for (let i = 0; i < 3; i += 1) {\n if ((left[i] ?? 0) > (right[i] ?? 0)) return 1;\n if ((left[i] ?? 0) < (right[i] ?? 0)) return -1;\n }\n return 0;\n}\n\nexport function versionAtLeast(current: QmdVersionTuple | null, target: QmdVersionTuple): boolean {\n return compareQmdVersions(current, target) >= 0;\n}\n\nexport function resolveQmdCapabilities(version: string | null): QmdCapabilities {\n const parsedVersion = parseQmdVersion(version);\n const atLeast = (target: QmdVersionTuple): boolean => versionAtLeast(parsedVersion, target);\n return {\n version,\n parsedVersion,\n stableSdk: atLeast([2, 0, 0]),\n unifiedSearch: atLeast([2, 0, 0]),\n getDocumentBody: atLeast([2, 0, 0]),\n maintenanceApi: atLeast([2, 0, 0]),\n legacySkillInstall: atLeast([2, 0, 1]),\n intentHints: atLeast([1, 1, 5]),\n explainTraces: atLeast([1, 1, 2]),\n candidateLimit: atLeast([1, 1, 2]),\n v2McpQueryTool: atLeast([2, 0, 0]),\n structuredSearches: atLeast([2, 0, 0]),\n queryRerankToggle: atLeast([2, 1, 0]),\n chunkStrategy: atLeast([2, 1, 0]),\n qmdBench: atLeast([2, 1, 0]),\n perCollectionModels: atLeast([2, 1, 0]),\n jsonLineNumbers: atLeast([2, 1, 0]),\n editorLinks: atLeast([2, 1, 0]),\n doctor: atLeast([2, 5, 0]),\n versionedSkills: atLeast([2, 5, 0]),\n absoluteSnippetLines: atLeast([2, 5, 0]),\n fullQueryOutput: atLeast([2, 5, 0]),\n forceCpu: atLeast([2, 5, 0]),\n gpuBackendOverride: atLeast([2, 5, 0]),\n embedParallelism: atLeast([2, 5, 0]),\n modelEnvConsistency: atLeast([2, 5, 0]),\n scopedEmbed: atLeast([2, 5, 0]),\n safeStatusDeviceProbe: atLeast([2, 5, 0]),\n mcpIndexSelection: atLeast([2, 5, 0]),\n outputFormatFlag: atLeast([2, 5, 3]),\n };\n}\n\nexport function shouldAutoUpgradeQmd(\n installedVersion: string | null,\n supportedVersion: string = QMD_SUPPORTED_VERSION\n): boolean {\n const installed = parseQmdVersion(installedVersion);\n const supported = parseQmdVersion(supportedVersion);\n if (!installed || !supported) return false;\n return compareQmdVersions(installed, supported) < 0;\n}\n\nexport function getQmdPostInstallProbeTargets(\n qmdPath: string,\n qmdPathSource: \"configured\" | \"auto-path\" | \"auto-fallback\"\n): Array<{ qmdPath: string; source: \"auto-path\" | \"auto-fallback\" }> {\n const targets: Array<{ qmdPath: string; source: \"auto-path\" | \"auto-fallback\" }> = [\n { qmdPath: \"qmd\", source: \"auto-path\" },\n ];\n const normalizedPath = qmdPath.trim();\n if (qmdPathSource === \"auto-fallback\" && normalizedPath.length > 0 && normalizedPath !== \"qmd\") {\n targets.push({ qmdPath: normalizedPath, source: \"auto-fallback\" });\n }\n return targets;\n}\n\nexport function qmdVersionToString(version: QmdVersionTuple): string {\n return `${version[0]}.${version[1]}.${version[2]}`;\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/qmd-preflight.ts"],"sourcesContent":["/**\n * QMD version-check PREFLIGHT / probe-classification helpers.\n *\n * Pure, self-contained functions extracted from qmd.ts (issue #1841) so the\n * QmdClient class file stays under the structural-ratchet LOC ceiling. These\n * cover two related concerns of the startup preflight:\n *\n * 1. VERSION parsing/comparison — turning `qmd --version` output into a tuple,\n * comparing against the supported target, and resolving feature capability\n * flags from the parsed version.\n * 2. PROBE failure classification — distinguishing a slow/overloaded binary\n * (transient → retry) from a genuine misconfiguration (ENOENT/EACCES → fail\n * fast) using STRUCTURED signals, never the error message.\n *\n * No behavioral change from qmd.ts round 1 (issue #1841): structured-signal\n * classification (code=ENOENT/EACCES=>missing, timedOut flag=>transient,\n * caller-cancel silenced, non-zero-exit=>other); backoff [300,800].\n */\nimport { isAbortError } from \"./abort-error.js\";\nimport type { QmdCapabilities, QmdVersionTuple } from \"./qmd.js\";\n\n// Deadline (ms) for a single `qmd --version` probe.\nexport const QMD_PROBE_TIMEOUT_MS = 8_000;\n\n// Backoff schedule (ms) for retrying a TRANSIENT (timeout/abort) version-check\n// probe of a CONFIGURED qmdPath before declaring it failed. A binary that\n// resolved and ran before is more likely slow under load than gone, so we retry\n// transient failures but NOT ENOENT/EACCES (hard misconfiguration, fail fast).\n// Length == number of retries after the initial attempt. Issue #1841.\nexport const QMD_PROBE_RETRY_BACKOFF_MS = [300, 800];\n\nexport const QMD_SUPPORTED_VERSION = \"2.8.3\";\n\n/**\n * Classify a `qmd --version` probe failure so the preflight can distinguish a\n * slow/overloaded binary (a genuine deadline timeout) from a real\n * misconfiguration (ENOENT/EACCES — the configured path is missing or not\n * executable). Only transient failures are retried; missing binaries fail fast.\n *\n * Classification keys on STRUCTURED signals, never the error *message*: a\n * non-zero-exit failure embeds the child's stderr in its message, so scanning\n * that text for \"abort\"/\"timed out\"/\"not found\" would misclassify a healthy\n * binary. The structured signals are: `code` (ENOENT/EACCES) for missing; the\n * `timedOut` flag set by `runCommandWithTimeout` for a genuine timeout; an\n * AbortError name for a deadline/abort under load. Issue #1841.\n */\nexport type QmdProbeFailureKind = \"transient\" | \"missing\" | \"other\";\nexport function classifyProbeFailure(err: unknown): QmdProbeFailureKind {\n if (err && typeof err === \"object\") {\n // Node spawn failures carry a structured `code`: ENOENT (not found) /\n // EACCES (not executable).\n if (\"code\" in err) {\n const code = err.code;\n if (code === \"ENOENT\" || code === \"EACCES\") return \"missing\";\n }\n // runCommandWithTimeout flags a genuine deadline breach with `timedOut`.\n if (\"timedOut\" in err && err.timedOut === true) return \"transient\";\n }\n // An AbortError reaching here is a deadline/abort under load → transient.\n // (Caller cancellation is intercepted by the retry loop before this runs.)\n if (isAbortError(err)) return \"transient\";\n // Anything else — including a non-zero exit whose message embeds stderr — is\n // a generic failure: never scan the message to upgrade/downgrade it.\n return \"other\";\n}\n\nexport function parseQmdVersion(version: string | null): QmdVersionTuple | null {\n if (!version) return null;\n const match = version.match(/v?(\\d{1,10})\\.(\\d{1,10})\\.(\\d{1,10})/i);\n if (!match) return null;\n return [\n Number.parseInt(match[1] ?? \"0\", 10),\n Number.parseInt(match[2] ?? \"0\", 10),\n Number.parseInt(match[3] ?? \"0\", 10),\n ];\n}\n\nexport function parseQmdVersionOutput(stdout: string, stderr: string): string | null {\n const lines = `${stdout}\\n${stderr}`\n .split(\"\\n\")\n .map((s) => s.trim())\n .filter((s) => s.length > 0);\n if (lines.length === 0) return null;\n const semanticLines = lines.filter((line) => parseQmdVersion(line) !== null);\n if (semanticLines.length === 0) return lines[0] ?? null;\n return semanticLines.find((line) => /\\bqmd\\b/i.test(line)) ?? semanticLines[0] ?? null;\n}\n\nexport function compareQmdVersions(left: QmdVersionTuple | null, right: QmdVersionTuple | null): number {\n if (!left && !right) return 0;\n if (!left) return -1;\n if (!right) return 1;\n for (let i = 0; i < 3; i += 1) {\n if ((left[i] ?? 0) > (right[i] ?? 0)) return 1;\n if ((left[i] ?? 0) < (right[i] ?? 0)) return -1;\n }\n return 0;\n}\n\nexport function versionAtLeast(current: QmdVersionTuple | null, target: QmdVersionTuple): boolean {\n return compareQmdVersions(current, target) >= 0;\n}\n\nexport function resolveQmdCapabilities(version: string | null): QmdCapabilities {\n const parsedVersion = parseQmdVersion(version);\n const atLeast = (target: QmdVersionTuple): boolean => versionAtLeast(parsedVersion, target);\n return {\n version,\n parsedVersion,\n stableSdk: atLeast([2, 0, 0]),\n unifiedSearch: atLeast([2, 0, 0]),\n getDocumentBody: atLeast([2, 0, 0]),\n maintenanceApi: atLeast([2, 0, 0]),\n legacySkillInstall: atLeast([2, 0, 1]),\n intentHints: atLeast([1, 1, 5]),\n explainTraces: atLeast([1, 1, 2]),\n candidateLimit: atLeast([1, 1, 2]),\n v2McpQueryTool: atLeast([2, 0, 0]),\n structuredSearches: atLeast([2, 0, 0]),\n queryRerankToggle: atLeast([2, 1, 0]),\n chunkStrategy: atLeast([2, 1, 0]),\n qmdBench: atLeast([2, 1, 0]),\n perCollectionModels: atLeast([2, 1, 0]),\n jsonLineNumbers: atLeast([2, 1, 0]),\n editorLinks: atLeast([2, 1, 0]),\n doctor: atLeast([2, 5, 0]),\n versionedSkills: atLeast([2, 5, 0]),\n absoluteSnippetLines: atLeast([2, 5, 0]),\n fullQueryOutput: atLeast([2, 5, 0]),\n forceCpu: atLeast([2, 5, 0]),\n gpuBackendOverride: atLeast([2, 5, 0]),\n embedParallelism: atLeast([2, 5, 0]),\n modelEnvConsistency: atLeast([2, 5, 0]),\n scopedEmbed: atLeast([2, 5, 0]),\n safeStatusDeviceProbe: atLeast([2, 5, 0]),\n mcpIndexSelection: atLeast([2, 5, 0]),\n outputFormatFlag: atLeast([2, 5, 3]),\n };\n}\n\nexport function shouldAutoUpgradeQmd(\n installedVersion: string | null,\n supportedVersion: string = QMD_SUPPORTED_VERSION\n): boolean {\n const installed = parseQmdVersion(installedVersion);\n const supported = parseQmdVersion(supportedVersion);\n if (!installed || !supported) return false;\n return compareQmdVersions(installed, supported) < 0;\n}\n\n/** First QMD release that needs the pinned, patched build (docs/qmd-2.8.3.md); stock npm lacks the patches. */\nconst QMD_PATCHED_BUILD_MIN: QmdVersionTuple = [2, 8, 3];\n\n/** False when `npm install -g @tobilu/qmd@<supported>` would install stock QMD instead of the patched build. */\nexport function autoUpgradeInstallsStockPackage(supportedVersion: string): boolean {\n const supported = parseQmdVersion(supportedVersion);\n return supported !== null && compareQmdVersions(supported, QMD_PATCHED_BUILD_MIN) < 0;\n}\n\nexport function getQmdPostInstallProbeTargets(\n qmdPath: string,\n qmdPathSource: \"configured\" | \"auto-path\" | \"auto-fallback\"\n): Array<{ qmdPath: string; source: \"auto-path\" | \"auto-fallback\" }> {\n const targets: Array<{ qmdPath: string; source: \"auto-path\" | \"auto-fallback\" }> = [\n { qmdPath: \"qmd\", source: \"auto-path\" },\n ];\n const normalizedPath = qmdPath.trim();\n if (qmdPathSource === \"auto-fallback\" && normalizedPath.length > 0 && normalizedPath !== \"qmd\") {\n targets.push({ qmdPath: normalizedPath, source: \"auto-fallback\" });\n }\n return targets;\n}\n\nexport function qmdVersionToString(version: QmdVersionTuple): string {\n return `${version[0]}.${version[1]}.${version[2]}`;\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,102 @@
1
+ import {
2
+ abortError
3
+ } from "./chunk-BTTPKDIL.js";
4
+
5
+ // src/qmd-mcp-cancel.ts
6
+ function createInflightJoiner() {
7
+ const slots = /* @__PURE__ */ new Map();
8
+ return {
9
+ join(key, signal, run) {
10
+ if (signal?.aborted) {
11
+ return Promise.reject(abortError("QMD inflight search aborted"));
12
+ }
13
+ let slot = slots.get(key);
14
+ if (slot?.controller.signal.aborted) slot = void 0;
15
+ if (!slot) {
16
+ const controller = new AbortController();
17
+ const created = {
18
+ controller,
19
+ refs: 0,
20
+ promise: Promise.resolve()
21
+ };
22
+ slots.set(key, created);
23
+ created.promise = new Promise((resolve, reject) => {
24
+ try {
25
+ resolve(run(controller.signal));
26
+ } catch (err) {
27
+ reject(err);
28
+ }
29
+ }).finally(() => {
30
+ if (slots.get(key) === created) slots.delete(key);
31
+ });
32
+ created.promise.catch(() => {
33
+ });
34
+ slot = created;
35
+ }
36
+ return attachWaiter(slot, signal);
37
+ }
38
+ };
39
+ }
40
+ function attachWaiter(slot, signal) {
41
+ if (signal?.aborted) {
42
+ return Promise.reject(abortError("QMD inflight search aborted"));
43
+ }
44
+ slot.refs += 1;
45
+ let settled = false;
46
+ return new Promise((resolve, reject) => {
47
+ const finish = (abortShared, settle) => {
48
+ if (settled) return;
49
+ settled = true;
50
+ if (onAbort) signal?.removeEventListener("abort", onAbort);
51
+ slot.refs -= 1;
52
+ if (slot.refs < 0) slot.refs = 0;
53
+ if (abortShared && slot.refs === 0) {
54
+ slot.controller.abort();
55
+ }
56
+ settle();
57
+ };
58
+ const onAbort = () => {
59
+ finish(true, () => reject(abortError("QMD inflight search aborted")));
60
+ };
61
+ if (signal) {
62
+ signal.addEventListener("abort", onAbort, { once: true });
63
+ if (signal.aborted) {
64
+ onAbort();
65
+ return;
66
+ }
67
+ }
68
+ slot.promise.then(
69
+ (value) => finish(false, () => resolve(value)),
70
+ (err) => finish(false, () => reject(err))
71
+ );
72
+ });
73
+ }
74
+ async function rankDocumentsUntilAbortParallel(count, parallelism, signal, rankIndex) {
75
+ if (signal?.aborted) {
76
+ throw abortError("qmd rerank aborted");
77
+ }
78
+ if (count <= 0) return [];
79
+ const scores = new Array(count);
80
+ let cursor = 0;
81
+ const workers = Math.max(1, Math.min(Math.floor(parallelism) || 1, count));
82
+ await Promise.all(
83
+ Array.from({ length: workers }, async () => {
84
+ while (true) {
85
+ if (signal?.aborted) return;
86
+ const index = cursor++;
87
+ if (index >= count) return;
88
+ scores[index] = await rankIndex(index);
89
+ }
90
+ })
91
+ );
92
+ if (signal?.aborted) {
93
+ throw abortError("qmd rerank aborted");
94
+ }
95
+ return scores;
96
+ }
97
+
98
+ export {
99
+ createInflightJoiner,
100
+ rankDocumentsUntilAbortParallel
101
+ };
102
+ //# sourceMappingURL=chunk-TPSLVZHS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/qmd-mcp-cancel.ts"],"sourcesContent":["import { abortError } from \"./abort-error.js\";\n\n/**\n * One in-flight daemon search shared by identical callers.\n * The shared signal aborts only when every waiter has aborted, which is\n * what tells the QMD process to stop. One caller giving up must not cancel\n * a sibling that still wants the result.\n */\nexport type InflightJoiner<T> = {\n join(key: string, signal: AbortSignal | undefined, run: (signal: AbortSignal) => Promise<T>): Promise<T>;\n};\n\ntype InflightSlot<T> = {\n controller: AbortController;\n refs: number;\n promise: Promise<T>;\n};\n\nexport function createInflightJoiner<T>(): InflightJoiner<T> {\n const slots = new Map<string, InflightSlot<T>>();\n\n return {\n join(key, signal, run) {\n if (signal?.aborted) {\n return Promise.reject(abortError(\"QMD inflight search aborted\"));\n }\n let slot = slots.get(key);\n // A slot whose last waiter already aborted is doomed; its promise settles\n // late. Never hand it to a new caller.\n if (slot?.controller.signal.aborted) slot = undefined;\n if (!slot) {\n const controller = new AbortController();\n const created: InflightSlot<T> = {\n controller,\n refs: 0,\n promise: Promise.resolve() as Promise<T>,\n };\n slots.set(key, created);\n created.promise = new Promise<T>((resolve, reject) => {\n try {\n resolve(run(controller.signal));\n } catch (err) {\n reject(err);\n }\n }).finally(() => {\n if (slots.get(key) === created) slots.delete(key);\n });\n // A cancel with no remaining waiter rejects this promise after the\n // waiter has already settled. Swallow that so it is not unhandled.\n created.promise.catch(() => {});\n slot = created;\n }\n return attachWaiter(slot, signal);\n },\n };\n}\n\nfunction attachWaiter<T>(slot: InflightSlot<T>, signal?: AbortSignal): Promise<T> {\n if (signal?.aborted) {\n return Promise.reject(abortError(\"QMD inflight search aborted\"));\n }\n slot.refs += 1;\n let settled = false;\n\n return new Promise<T>((resolve, reject) => {\n const finish = (abortShared: boolean, settle: () => void) => {\n if (settled) return;\n settled = true;\n if (onAbort) signal?.removeEventListener(\"abort\", onAbort);\n slot.refs -= 1;\n if (slot.refs < 0) slot.refs = 0;\n if (abortShared && slot.refs === 0) {\n slot.controller.abort();\n }\n settle();\n };\n const onAbort = () => {\n finish(true, () => reject(abortError(\"QMD inflight search aborted\")));\n };\n if (signal) {\n signal.addEventListener(\"abort\", onAbort, { once: true });\n if (signal.aborted) {\n onAbort();\n return;\n }\n }\n slot.promise.then(\n (value) => finish(false, () => resolve(value)),\n (err) => finish(false, () => reject(err))\n );\n });\n}\n\n/**\n * Score documents on a shared cursor and stop between documents when\n * `signal` aborts. In-flight `rankIndex` calls finish; later indexes\n * are not started. A cancelled batch throws and does not return scores.\n *\n * `docs/patches/qmd-2.8.3-mcp-cancel.patch` uses the same loop inside\n * QMD's reranker. `rank()` and `rankAll()` share one evaluate path, so\n * a document that finishes has the same score either way.\n */\nexport async function rankDocumentsUntilAbortParallel<T>(\n count: number,\n parallelism: number,\n signal: AbortSignal | undefined,\n rankIndex: (index: number) => Promise<T>\n): Promise<T[]> {\n if (signal?.aborted) {\n throw abortError(\"qmd rerank aborted\");\n }\n if (count <= 0) return [];\n const scores = new Array<T>(count);\n let cursor = 0;\n const workers = Math.max(1, Math.min(Math.floor(parallelism) || 1, count));\n await Promise.all(\n Array.from({ length: workers }, async () => {\n while (true) {\n if (signal?.aborted) return;\n const index = cursor++;\n if (index >= count) return;\n scores[index] = await rankIndex(index);\n }\n })\n );\n if (signal?.aborted) {\n throw abortError(\"qmd rerank aborted\");\n }\n return scores;\n}\n"],"mappings":";;;;;AAkBO,SAAS,uBAA6C;AAC3D,QAAM,QAAQ,oBAAI,IAA6B;AAE/C,SAAO;AAAA,IACL,KAAK,KAAK,QAAQ,KAAK;AACrB,UAAI,QAAQ,SAAS;AACnB,eAAO,QAAQ,OAAO,WAAW,6BAA6B,CAAC;AAAA,MACjE;AACA,UAAI,OAAO,MAAM,IAAI,GAAG;AAGxB,UAAI,MAAM,WAAW,OAAO,QAAS,QAAO;AAC5C,UAAI,CAAC,MAAM;AACT,cAAM,aAAa,IAAI,gBAAgB;AACvC,cAAM,UAA2B;AAAA,UAC/B;AAAA,UACA,MAAM;AAAA,UACN,SAAS,QAAQ,QAAQ;AAAA,QAC3B;AACA,cAAM,IAAI,KAAK,OAAO;AACtB,gBAAQ,UAAU,IAAI,QAAW,CAAC,SAAS,WAAW;AACpD,cAAI;AACF,oBAAQ,IAAI,WAAW,MAAM,CAAC;AAAA,UAChC,SAAS,KAAK;AACZ,mBAAO,GAAG;AAAA,UACZ;AAAA,QACF,CAAC,EAAE,QAAQ,MAAM;AACf,cAAI,MAAM,IAAI,GAAG,MAAM,QAAS,OAAM,OAAO,GAAG;AAAA,QAClD,CAAC;AAGD,gBAAQ,QAAQ,MAAM,MAAM;AAAA,QAAC,CAAC;AAC9B,eAAO;AAAA,MACT;AACA,aAAO,aAAa,MAAM,MAAM;AAAA,IAClC;AAAA,EACF;AACF;AAEA,SAAS,aAAgB,MAAuB,QAAkC;AAChF,MAAI,QAAQ,SAAS;AACnB,WAAO,QAAQ,OAAO,WAAW,6BAA6B,CAAC;AAAA,EACjE;AACA,OAAK,QAAQ;AACb,MAAI,UAAU;AAEd,SAAO,IAAI,QAAW,CAAC,SAAS,WAAW;AACzC,UAAM,SAAS,CAAC,aAAsB,WAAuB;AAC3D,UAAI,QAAS;AACb,gBAAU;AACV,UAAI,QAAS,SAAQ,oBAAoB,SAAS,OAAO;AACzD,WAAK,QAAQ;AACb,UAAI,KAAK,OAAO,EAAG,MAAK,OAAO;AAC/B,UAAI,eAAe,KAAK,SAAS,GAAG;AAClC,aAAK,WAAW,MAAM;AAAA,MACxB;AACA,aAAO;AAAA,IACT;AACA,UAAM,UAAU,MAAM;AACpB,aAAO,MAAM,MAAM,OAAO,WAAW,6BAA6B,CAAC,CAAC;AAAA,IACtE;AACA,QAAI,QAAQ;AACV,aAAO,iBAAiB,SAAS,SAAS,EAAE,MAAM,KAAK,CAAC;AACxD,UAAI,OAAO,SAAS;AAClB,gBAAQ;AACR;AAAA,MACF;AAAA,IACF;AACA,SAAK,QAAQ;AAAA,MACX,CAAC,UAAU,OAAO,OAAO,MAAM,QAAQ,KAAK,CAAC;AAAA,MAC7C,CAAC,QAAQ,OAAO,OAAO,MAAM,OAAO,GAAG,CAAC;AAAA,IAC1C;AAAA,EACF,CAAC;AACH;AAWA,eAAsB,gCACpB,OACA,aACA,QACA,WACc;AACd,MAAI,QAAQ,SAAS;AACnB,UAAM,WAAW,oBAAoB;AAAA,EACvC;AACA,MAAI,SAAS,EAAG,QAAO,CAAC;AACxB,QAAM,SAAS,IAAI,MAAS,KAAK;AACjC,MAAI,SAAS;AACb,QAAM,UAAU,KAAK,IAAI,GAAG,KAAK,IAAI,KAAK,MAAM,WAAW,KAAK,GAAG,KAAK,CAAC;AACzE,QAAM,QAAQ;AAAA,IACZ,MAAM,KAAK,EAAE,QAAQ,QAAQ,GAAG,YAAY;AAC1C,aAAO,MAAM;AACX,YAAI,QAAQ,QAAS;AACrB,cAAM,QAAQ;AACd,YAAI,SAAS,MAAO;AACpB,eAAO,KAAK,IAAI,MAAM,UAAU,KAAK;AAAA,MACvC;AAAA,IACF,CAAC;AAAA,EACH;AACA,MAAI,QAAQ,SAAS;AACnB,UAAM,WAAW,oBAAoB;AAAA,EACvC;AACA,SAAO;AACT;","names":[]}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SUPPORT_PASSPORT_DRAFT_MAX_CONTENT_CHARACTERS,
3
3
  SUPPORT_PASSPORT_DRAFT_MAX_MEMORIES
4
- } from "./chunk-6WRHNA4I.js";
4
+ } from "./chunk-BKPV47BK.js";
5
5
  import {
6
6
  SUPPORT_PASSPORT_SOURCE_MEMORY_ID_MAX_LENGTH
7
7
  } from "./chunk-PWPIERBM.js";
@@ -343,4 +343,4 @@ export {
343
343
  parseSupportPassportModelJob,
344
344
  SupportPassportModelBridge
345
345
  };
346
- //# sourceMappingURL=chunk-TXTRHF3B.js.map
346
+ //# sourceMappingURL=chunk-TVPDF6CZ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  StorageManager
3
- } from "./chunk-E4XLFYHV.js";
3
+ } from "./chunk-HPEONBM3.js";
4
4
  import {
5
5
  composeMemoryEnvelope
6
6
  } from "./chunk-5AYUHSAU.js";
@@ -546,4 +546,4 @@ export {
546
546
  setSemanticRulePromotionTestHooks,
547
547
  promoteSemanticRuleFromMemory
548
548
  };
549
- //# sourceMappingURL=chunk-A6WNTVA7.js.map
549
+ //# sourceMappingURL=chunk-UP3XXGEN.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  parseFrontmatter
3
- } from "./chunk-E4XLFYHV.js";
3
+ } from "./chunk-HPEONBM3.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-S2GR3T7W.js.map
202
+ //# sourceMappingURL=chunk-UT7WE7RM.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createSearchBackend
3
- } from "./chunk-EZ3F4YIN.js";
3
+ } from "./chunk-JLUS56YZ.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-BKVCTTEN.js.map
511
+ //# sourceMappingURL=chunk-V3NKVYUD.js.map
@@ -3,7 +3,7 @@ import {
3
3
  getOperation,
4
4
  operationRequiresAuthorizedNamespace,
5
5
  operationUsesPrincipalNamespace
6
- } from "./chunk-6WRHNA4I.js";
6
+ } from "./chunk-BKPV47BK.js";
7
7
  import {
8
8
  assertOperationAuthorizationAllowed
9
9
  } from "./chunk-IG747LRN.js";
@@ -60,4 +60,4 @@ export {
60
60
  authorizationProbeNamespaces,
61
61
  authorizationProbeRequiresPrincipalNamespace
62
62
  };
63
- //# sourceMappingURL=chunk-CGBE3N7T.js.map
63
+ //# sourceMappingURL=chunk-VH76UQK3.js.map
@@ -1,3 +1,10 @@
1
+ import {
2
+ assembleCompressedHistoryWithTrace
3
+ } from "./chunk-UXPUUL3G.js";
4
+ import {
5
+ ensureLcmStateDir,
6
+ openLcmDatabase
7
+ } from "./chunk-DDA47TES.js";
1
8
  import {
2
9
  LcmSummarizer
3
10
  } from "./chunk-KOLJJN5G.js";
@@ -10,13 +17,6 @@ import {
10
17
  import {
11
18
  LcmWorkQueue
12
19
  } from "./chunk-MMCO4SRG.js";
13
- import {
14
- assembleCompressedHistoryWithTrace
15
- } from "./chunk-UXPUUL3G.js";
16
- import {
17
- ensureLcmStateDir,
18
- openLcmDatabase
19
- } from "./chunk-DDA47TES.js";
20
20
  import {
21
21
  nativeBindingRecoveryHint
22
22
  } from "./chunk-LD72P4YS.js";
@@ -602,4 +602,4 @@ export {
602
602
  extractLcmConfig,
603
603
  LcmEngine
604
604
  };
605
- //# sourceMappingURL=chunk-Z6EZCN6Z.js.map
605
+ //# sourceMappingURL=chunk-VKQI47DJ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  defineOperation
3
- } from "./chunk-6WRHNA4I.js";
3
+ } from "./chunk-BKPV47BK.js";
4
4
  import {
5
5
  EngramAccessInputError
6
6
  } from "./chunk-3MUKQQ7A.js";
@@ -92,4 +92,4 @@ defineOperation({
92
92
  };
93
93
  }
94
94
  });
95
- //# sourceMappingURL=chunk-KV7LFOPF.js.map
95
+ //# sourceMappingURL=chunk-VSPBXHGR.js.map
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-GZFKCLRC.js";
7
7
  import {
8
8
  StorageManager
9
- } from "./chunk-E4XLFYHV.js";
9
+ } from "./chunk-HPEONBM3.js";
10
10
  import {
11
11
  normalizeEntityName
12
12
  } from "./chunk-YXZG5TVN.js";
@@ -962,4 +962,4 @@ export {
962
962
  resolveBriefingSaveDir,
963
963
  briefingFilename
964
964
  };
965
- //# sourceMappingURL=chunk-ZRUC7FD3.js.map
965
+ //# sourceMappingURL=chunk-VXCTQ3B3.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SupportPassportCreateGrantRequestSchema,
3
3
  defineOperation
4
- } from "./chunk-6WRHNA4I.js";
4
+ } from "./chunk-BKPV47BK.js";
5
5
  import {
6
6
  SupportPassportCardCategorySchema,
7
7
  SupportPassportMemoryIdSchema,
@@ -220,4 +220,4 @@ var supportPassportGrantAskOperation = defineOperation({
220
220
  result: await ctx.service.supportPassportAskGrant(grantId, secret, question, ctx.abortSignal)
221
221
  })
222
222
  });
223
- //# sourceMappingURL=chunk-QUNCLKHM.js.map
223
+ //# sourceMappingURL=chunk-WIVBNNA3.js.map
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-5JMAGU26.js";
6
6
  import {
7
7
  runPostConsolidationMaterialize
8
- } from "./chunk-EWWK65CI.js";
8
+ } from "./chunk-DX3ZODO3.js";
9
9
  import {
10
10
  isSemanticConsolidationLlmOperator
11
11
  } from "./chunk-G7D6GZ5J.js";
@@ -220,4 +220,4 @@ export {
220
220
  buildExtensionsBlockForConsolidation,
221
221
  materializeAfterSemanticConsolidation
222
222
  };
223
- //# sourceMappingURL=chunk-OWV6LKNZ.js.map
223
+ //# sourceMappingURL=chunk-WWUFQ3AG.js.map
@@ -246,4 +246,4 @@ export {
246
246
  decryptCapsuleFile,
247
247
  decryptCapsuleFileInMemory
248
248
  };
249
- //# sourceMappingURL=chunk-DQEMWVMT.js.map
249
+ //# sourceMappingURL=chunk-X7Y7WX73.js.map
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-H3FZVNRN.js";
14
14
  import {
15
15
  ExtractionDeadlineError
16
- } from "./chunk-7X7A7KVN.js";
16
+ } from "./chunk-NLYOOGZ7.js";
17
17
  import {
18
18
  resolvePrincipal
19
19
  } from "./chunk-OEIA4IHU.js";
@@ -801,4 +801,4 @@ var SmartBuffer = class {
801
801
  export {
802
802
  SmartBuffer
803
803
  };
804
- //# sourceMappingURL=chunk-GQ6ZF4LD.js.map
804
+ //# sourceMappingURL=chunk-XG4XXI66.js.map
@@ -1,12 +1,12 @@
1
+ import {
2
+ validateRefineRewrite
3
+ } from "./chunk-WTWQA7BB.js";
1
4
  import {
2
5
  selectExpandNodeIds
3
6
  } from "./chunk-VZIAVM72.js";
4
7
  import {
5
8
  rankDeepRecallFrontier
6
9
  } from "./chunk-HRATODNO.js";
7
- import {
8
- validateRefineRewrite
9
- } from "./chunk-WTWQA7BB.js";
10
10
  import {
11
11
  extractJsonCandidates,
12
12
  stripCodeFences
@@ -384,4 +384,4 @@ async function runBudgetedDeepRecall(deps, query) {
384
384
  export {
385
385
  runBudgetedDeepRecall
386
386
  };
387
- //# sourceMappingURL=chunk-ISX7GVZE.js.map
387
+ //# sourceMappingURL=chunk-YRULQW5J.js.map
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  computeCorpusWatermarks,
6
6
  resolveCorpusNamespaceRoots
7
- } from "./chunk-TRN56SPQ.js";
7
+ } from "./chunk-R6NHHKXE.js";
8
8
 
9
9
  // src/operator-doctor-corpus.ts
10
10
  var DIGEST_PREFIX_LENGTH = 12;
@@ -78,4 +78,4 @@ export {
78
78
  corpusWatermarksFromCheck,
79
79
  summarizeCorpusAndReplica
80
80
  };
81
- //# sourceMappingURL=chunk-VV2MVHCJ.js.map
81
+ //# sourceMappingURL=chunk-YX5F4V7H.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  hasMemoryData
3
- } from "./chunk-CNBGAFDY.js";
3
+ } from "./chunk-A7V7GZ7F.js";
4
4
  import {
5
5
  resolveNamespaceStorageRoot
6
- } from "./chunk-KMN2JE4D.js";
6
+ } from "./chunk-LTDWZ2HC.js";
7
7
  import {
8
8
  getConfiguredNamespaces
9
9
  } from "./chunk-7XI2UJHL.js";
@@ -724,4 +724,4 @@ export {
724
724
  runNamespaceMaintenancePlan,
725
725
  runNamespaceMaintenanceBatchPlan
726
726
  };
727
- //# sourceMappingURL=chunk-JRDL3FGM.js.map
727
+ //# sourceMappingURL=chunk-YY5FM5M7.js.map