@remnic/core 10.0.0 → 10.0.2
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.
- package/dist/access-admin-ops-surface.js +46 -43
- package/dist/access-authorization-probe.js +47 -44
- package/dist/access-boundary.js +46 -43
- package/dist/access-cli.js +111 -108
- package/dist/access-cli.js.map +1 -1
- package/dist/access-extraction-force-flush.js +46 -43
- package/dist/access-http-briefing.js +47 -44
- package/dist/access-http-query.js +48 -45
- package/dist/access-http.js +66 -63
- package/dist/access-identity-continuity-surface.js +46 -43
- package/dist/access-lcm-surface.js +46 -43
- package/dist/access-mcp.js +55 -52
- package/dist/access-namespace-preflight.js +46 -43
- package/dist/access-observe-write-category.js +9 -9
- package/dist/access-observe-write-surface.js +46 -43
- package/dist/access-offline-manifest.js +6 -6
- package/dist/access-operations-batch.js +47 -44
- package/dist/access-operations.js +54 -51
- package/dist/access-recall-concurrency.js +46 -43
- package/dist/access-recall-response.js +46 -43
- package/dist/access-recall-surface.js +46 -43
- package/dist/access-schema.js +8 -8
- package/dist/access-service.js +46 -43
- package/dist/access-surface-catalog.js +48 -45
- package/dist/access-surface-catalog.js.map +1 -1
- package/dist/active-recall.js +18 -16
- package/dist/active-recall.js.map +1 -1
- package/dist/adapters/index.js +4 -4
- package/dist/adapters/registry.js +2 -2
- package/dist/briefing.js +12 -10
- package/dist/buffer.js +7 -5
- package/dist/{capsule-crypto-YO5QJ6L3.js → capsule-crypto-7FJQINUR.js} +2 -2
- package/dist/causal-consolidation.js +13 -11
- package/dist/causal-consolidation.js.map +1 -1
- package/dist/{chunk-JWFTPRYD.js → chunk-2EZB2DL5.js} +2 -2
- package/dist/{chunk-J3ZJBX7I.js → chunk-2J3M2KV4.js} +2 -2
- package/dist/{chunk-BXLOS5AJ.js → chunk-2NLLXCJG.js} +2 -2
- package/dist/{chunk-SWXPR5SE.js → chunk-2SYRHFUG.js} +2 -2
- package/dist/{chunk-QKCGOECM.js → chunk-34G4U6HS.js} +2 -2
- package/dist/{chunk-QX3K3INR.js → chunk-36BUOTVN.js} +2 -2
- package/dist/{chunk-CNBGAFDY.js → chunk-3J54RR3A.js} +2 -2
- package/dist/{chunk-XLWMNDQR.js → chunk-4A2UMSNB.js} +7 -5
- package/dist/chunk-4A2UMSNB.js.map +1 -0
- package/dist/{chunk-OWV6LKNZ.js → chunk-4G2COUSD.js} +2 -2
- package/dist/{chunk-HWGFTTPS.js → chunk-5FLFPTDK.js} +2 -2
- package/dist/{chunk-WR66CTVU.js → chunk-7IGNDEUJ.js} +4 -4
- package/dist/chunk-7PZHH4KC.js +63 -0
- package/dist/chunk-7PZHH4KC.js.map +1 -0
- package/dist/{chunk-VO2BNAA2.js → chunk-A5N6ZEUW.js} +2 -2
- package/dist/{chunk-XQWKB6PY.js → chunk-AALVXJJ7.js} +2 -2
- package/dist/{chunk-KFHEZJQZ.js → chunk-BAREPCLY.js} +2 -2
- package/dist/{chunk-QAIVTLL2.js → chunk-BLHPADUX.js} +2 -2
- package/dist/{chunk-2TCNEJ36.js → chunk-BNMI3JBV.js} +3 -3
- package/dist/{chunk-QUNCLKHM.js → chunk-CAXMG4JI.js} +2 -2
- package/dist/{chunk-KV7LFOPF.js → chunk-CQBFEGLF.js} +2 -2
- package/dist/{chunk-KMN2JE4D.js → chunk-CVQWNACA.js} +2 -2
- package/dist/{chunk-VV2MVHCJ.js → chunk-DAVONFNK.js} +2 -2
- package/dist/{chunk-KYUVFCT2.js → chunk-DQQ4IM5L.js} +2 -2
- package/dist/{chunk-B454SHPU.js → chunk-E7FN5N5E.js} +2 -2
- package/dist/{chunk-CGBE3N7T.js → chunk-EB3RXN2L.js} +2 -2
- package/dist/{chunk-AWSP3WNM.js → chunk-EJJMDLVB.js} +2 -2
- package/dist/{chunk-A6WNTVA7.js → chunk-FNVSBUC3.js} +2 -2
- package/dist/{chunk-XTN54NML.js → chunk-G3T6YMBO.js} +4 -4
- package/dist/{chunk-BKVCTTEN.js → chunk-GUD6FYQG.js} +2 -2
- package/dist/{chunk-2MMBJE53.js → chunk-H5YACCE3.js} +7 -7
- package/dist/{chunk-JC7QQ2DJ.js → chunk-HRZZJ4XB.js} +2 -2
- package/dist/{chunk-LHDSCWDK.js → chunk-I2VQ7WBJ.js} +16 -16
- package/dist/{chunk-B3OFQP5Y.js → chunk-IB63OVUB.js} +24 -249
- package/dist/chunk-IB63OVUB.js.map +1 -0
- package/dist/chunk-IM2GO42H.js +312 -0
- package/dist/chunk-IM2GO42H.js.map +1 -0
- package/dist/{chunk-PRNR47DI.js → chunk-IR5LZCE6.js} +2 -2
- package/dist/{chunk-YI6XIFQV.js → chunk-J5CUQRST.js} +2 -2
- package/dist/{chunk-6WRHNA4I.js → chunk-JFDKPW54.js} +35 -35
- package/dist/{chunk-VYIBRCVW.js → chunk-JOBE47EJ.js} +2 -2
- package/dist/{chunk-SFDBLCZV.js → chunk-K4TWTUEY.js} +41 -41
- package/dist/{chunk-UHESJ6TQ.js → chunk-KEGUXZNY.js} +3 -3
- package/dist/{chunk-UHESJ6TQ.js.map → chunk-KEGUXZNY.js.map} +1 -1
- package/dist/{chunk-T6RQNV7E.js → chunk-KHOINMCN.js} +2 -2
- package/dist/{chunk-VDX2J7OX.js → chunk-KQAFEZQX.js} +2 -2
- package/dist/{chunk-E4XLFYHV.js → chunk-LHOIYLKH.js} +2 -2
- package/dist/chunk-LHOIYLKH.js.map +1 -0
- package/dist/{chunk-PQKZLBCJ.js → chunk-LMZV3H4W.js} +127 -6
- package/dist/chunk-LMZV3H4W.js.map +1 -0
- package/dist/{chunk-MZOQ26LH.js → chunk-LQGX5TCI.js} +2 -2
- package/dist/{chunk-TRN56SPQ.js → chunk-M2OPC4BD.js} +2 -2
- package/dist/{chunk-LXJZUNLX.js → chunk-NBK24POV.js} +2 -2
- package/dist/{chunk-7X7A7KVN.js → chunk-NLYOOGZ7.js} +2 -2
- package/dist/{chunk-G5I5ZT6O.js → chunk-OSDAF7HH.js} +2 -2
- package/dist/{chunk-EZ3F4YIN.js → chunk-OV7EYM6M.js} +6 -6
- package/dist/{chunk-AU43D3IT.js → chunk-P57VR7AI.js} +4 -4
- package/dist/{chunk-NT2Q6AHC.js → chunk-PCO3P7WJ.js} +2 -2
- package/dist/{chunk-73R4HOOK.js → chunk-PT6DQK5T.js} +3 -3
- package/dist/{chunk-O43AAJFQ.js → chunk-PTGPU4DC.js} +2 -2
- package/dist/{chunk-STQC2FYQ.js → chunk-PWVBVIOP.js} +6 -6
- package/dist/{chunk-TFA6HPOA.js → chunk-QCP75JGO.js} +5 -5
- package/dist/{chunk-SIGDETMB.js → chunk-R4NGLTUS.js} +2 -2
- package/dist/{chunk-S2GR3T7W.js → chunk-RNYVAQX2.js} +2 -2
- package/dist/{chunk-PZ2QQULY.js → chunk-RU744TNX.js} +8 -8
- package/dist/{chunk-2OFDC3AK.js → chunk-RVQVWDSN.js} +2 -2
- package/dist/{chunk-ZLQ37WJX.js → chunk-SIGAGKNE.js} +8 -2
- package/dist/{chunk-ZLQ37WJX.js.map → chunk-SIGAGKNE.js.map} +1 -1
- package/dist/{chunk-OFGTRDWX.js → chunk-SIYZDT2V.js} +3 -3
- package/dist/{chunk-PQ7EB5AD.js → chunk-SQPC6MUM.js} +3 -3
- package/dist/{chunk-5R4YPRAR.js → chunk-TGF43K66.js} +18 -18
- package/dist/chunk-TPSLVZHS.js +102 -0
- package/dist/chunk-TPSLVZHS.js.map +1 -0
- package/dist/{chunk-ZRUC7FD3.js → chunk-U4SG4HKQ.js} +2 -2
- package/dist/{chunk-ATFFWIKL.js → chunk-U6HWKOGD.js} +2 -2
- package/dist/{chunk-IOMLGJHG.js → chunk-UK5EH7AI.js} +2 -2
- package/dist/{chunk-DB6XFMOF.js → chunk-VC4J4UTI.js} +5 -5
- package/dist/{chunk-T32YYUT2.js → chunk-VQTPEL7O.js} +2 -2
- package/dist/{chunk-7YQR6XHY.js → chunk-W6K6BC3H.js} +57 -57
- package/dist/{chunk-FYX2LXIX.js → chunk-WI37MWRZ.js} +2 -2
- package/dist/{chunk-7NBUE5VY.js → chunk-WPMDNCGB.js} +2 -2
- package/dist/{chunk-GZ2KV2RO.js → chunk-WWLAKRMX.js} +4 -4
- package/dist/{chunk-EWWK65CI.js → chunk-WY4IV62O.js} +2 -2
- package/dist/{chunk-DQEMWVMT.js → chunk-X7Y7WX73.js} +1 -1
- package/dist/{chunk-GQ6ZF4LD.js → chunk-XG4XXI66.js} +2 -2
- package/dist/{chunk-Z6EZCN6Z.js → chunk-Y7427SL7.js} +10 -10
- package/dist/{chunk-TXTRHF3B.js → chunk-YAPTJQI7.js} +2 -2
- package/dist/{chunk-JRDL3FGM.js → chunk-YFET6A4I.js} +3 -3
- package/dist/{chunk-ISX7GVZE.js → chunk-YRULQW5J.js} +4 -4
- package/dist/{chunk-VDVHIRCK.js → chunk-YVHNBOK2.js} +2 -2
- package/dist/cli.js +85 -82
- package/dist/coding/export-okf-codegraph.js +11 -9
- package/dist/coding/export-okf-codegraph.js.map +1 -1
- package/dist/compounding/engine.js +12 -10
- package/dist/config-qmd.js +1 -1
- package/dist/config.js +18 -16
- package/dist/connectors/codex-materialize-runner.js +12 -10
- package/dist/connectors/index.js +12 -10
- package/dist/convergence-refresh.js +14 -12
- package/dist/conversation-index/backend.js +2 -2
- package/dist/corpus-watermark.js +14 -12
- package/dist/deep-recall-http-glue.js +9 -9
- package/dist/deep-recall.js +2 -2
- package/dist/entity-retrieval.js +12 -10
- package/dist/external-wiki-access.js +47 -44
- package/dist/extraction.js +16 -14
- package/dist/harmonic-retrieval.d.ts.map +1 -1
- package/dist/harmonic-retrieval.js +91 -1
- package/dist/index.js +136 -133
- package/dist/lcm/engine.js +4 -4
- package/dist/lcm/index.js +10 -10
- package/dist/location/index.js +14 -12
- package/dist/maintenance/memory-governance.js +12 -10
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +12 -10
- package/dist/maintenance/rebuild-memory-projection.d.ts.map +1 -1
- package/dist/maintenance/rebuild-memory-projection.js +13 -11
- package/dist/memory-browse-operations.js +47 -44
- package/dist/memory-browse.js +7 -5
- package/dist/memory-projection-batch.d.ts +20 -0
- package/dist/memory-projection-batch.d.ts.map +1 -0
- package/dist/memory-projection-batch.js +11 -0
- package/dist/memory-projection-batch.js.map +1 -0
- package/dist/namespaces/migrate.js +13 -11
- package/dist/namespaces/search.js +10 -8
- package/dist/namespaces/storage.js +12 -10
- package/dist/offline-sync-changeset-generations.js +3 -3
- package/dist/offline-sync-embedding-generation.js +2 -2
- package/dist/offline-sync-snapshot-stream.js +6 -6
- package/dist/offline-sync.js +5 -5
- package/dist/operator-doctor-corpus.js +15 -13
- package/dist/operator-toolkit.js +27 -25
- package/dist/orchestration/maintenance.js +20 -18
- package/dist/orchestrator.js +111 -108
- package/dist/qmd-daemon-session.d.ts +45 -0
- package/dist/qmd-daemon-session.d.ts.map +1 -0
- package/dist/qmd-daemon-session.js +12 -0
- package/dist/qmd-daemon-session.js.map +1 -0
- package/dist/qmd-mcp-cancel.d.ts +21 -0
- package/dist/qmd-mcp-cancel.d.ts.map +1 -0
- package/dist/qmd-mcp-cancel.js +11 -0
- package/dist/qmd-mcp-cancel.js.map +1 -0
- package/dist/qmd-preflight.d.ts +3 -1
- package/dist/qmd-preflight.d.ts.map +1 -1
- package/dist/qmd-preflight.js +3 -1
- package/dist/qmd.d.ts +5 -29
- package/dist/qmd.d.ts.map +1 -1
- package/dist/qmd.js +6 -2
- package/dist/recall-navigation-operations.js +47 -44
- package/dist/recall-navigation.js +46 -43
- package/dist/recall-state-view-admission.js +7 -5
- package/dist/recall-why-service.js +7 -5
- package/dist/resume-bundles.js +19 -17
- package/dist/search/factory.js +9 -7
- package/dist/search/index.js +13 -11
- package/dist/semantic-consolidation.js +13 -11
- package/dist/semantic-rule-promotion.js +12 -10
- package/dist/semantic-rule-verifier.js +12 -10
- package/dist/source-agent-qualifier.js +15 -13
- package/dist/standup/build.js +12 -10
- package/dist/storage.d.ts +1 -1
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +11 -9
- package/dist/support-passport/index.js +49 -46
- package/dist/transfer/backup.js +2 -2
- package/dist/transfer/capsule-export.js +2 -2
- package/dist/transfer/capsule-import.js +2 -2
- package/dist/transfer/export-okf.js +12 -10
- package/dist/verified-recall.js +12 -10
- package/dist/who-knows-cli.js +13 -11
- package/dist/who-knows.js +12 -10
- package/package.json +2 -2
- package/src/config-qmd.ts +2 -2
- package/src/harmonic-retrieval-index.test.ts +387 -0
- package/src/harmonic-retrieval.ts +181 -15
- package/src/maintenance/rebuild-memory-projection.ts +3 -0
- package/src/memory-projection-batch.ts +82 -0
- package/src/qmd-daemon-session.ts +369 -0
- package/src/qmd-mcp-cancel.test.ts +408 -0
- package/src/qmd-mcp-cancel.ts +130 -0
- package/src/qmd-preflight.ts +10 -1
- package/src/qmd-rank-compare.test.ts +100 -0
- package/src/qmd.test.ts +16 -1
- package/src/qmd.ts +18 -297
- package/src/storage.ts +1 -1
- package/dist/chunk-B3OFQP5Y.js.map +0 -1
- package/dist/chunk-E4XLFYHV.js.map +0 -1
- package/dist/chunk-PQKZLBCJ.js.map +0 -1
- package/dist/chunk-XLWMNDQR.js.map +0 -1
- /package/dist/{capsule-crypto-YO5QJ6L3.js.map → capsule-crypto-7FJQINUR.js.map} +0 -0
- /package/dist/{chunk-JWFTPRYD.js.map → chunk-2EZB2DL5.js.map} +0 -0
- /package/dist/{chunk-J3ZJBX7I.js.map → chunk-2J3M2KV4.js.map} +0 -0
- /package/dist/{chunk-BXLOS5AJ.js.map → chunk-2NLLXCJG.js.map} +0 -0
- /package/dist/{chunk-SWXPR5SE.js.map → chunk-2SYRHFUG.js.map} +0 -0
- /package/dist/{chunk-QKCGOECM.js.map → chunk-34G4U6HS.js.map} +0 -0
- /package/dist/{chunk-QX3K3INR.js.map → chunk-36BUOTVN.js.map} +0 -0
- /package/dist/{chunk-CNBGAFDY.js.map → chunk-3J54RR3A.js.map} +0 -0
- /package/dist/{chunk-OWV6LKNZ.js.map → chunk-4G2COUSD.js.map} +0 -0
- /package/dist/{chunk-HWGFTTPS.js.map → chunk-5FLFPTDK.js.map} +0 -0
- /package/dist/{chunk-WR66CTVU.js.map → chunk-7IGNDEUJ.js.map} +0 -0
- /package/dist/{chunk-VO2BNAA2.js.map → chunk-A5N6ZEUW.js.map} +0 -0
- /package/dist/{chunk-XQWKB6PY.js.map → chunk-AALVXJJ7.js.map} +0 -0
- /package/dist/{chunk-KFHEZJQZ.js.map → chunk-BAREPCLY.js.map} +0 -0
- /package/dist/{chunk-QAIVTLL2.js.map → chunk-BLHPADUX.js.map} +0 -0
- /package/dist/{chunk-2TCNEJ36.js.map → chunk-BNMI3JBV.js.map} +0 -0
- /package/dist/{chunk-QUNCLKHM.js.map → chunk-CAXMG4JI.js.map} +0 -0
- /package/dist/{chunk-KV7LFOPF.js.map → chunk-CQBFEGLF.js.map} +0 -0
- /package/dist/{chunk-KMN2JE4D.js.map → chunk-CVQWNACA.js.map} +0 -0
- /package/dist/{chunk-VV2MVHCJ.js.map → chunk-DAVONFNK.js.map} +0 -0
- /package/dist/{chunk-KYUVFCT2.js.map → chunk-DQQ4IM5L.js.map} +0 -0
- /package/dist/{chunk-B454SHPU.js.map → chunk-E7FN5N5E.js.map} +0 -0
- /package/dist/{chunk-CGBE3N7T.js.map → chunk-EB3RXN2L.js.map} +0 -0
- /package/dist/{chunk-AWSP3WNM.js.map → chunk-EJJMDLVB.js.map} +0 -0
- /package/dist/{chunk-A6WNTVA7.js.map → chunk-FNVSBUC3.js.map} +0 -0
- /package/dist/{chunk-XTN54NML.js.map → chunk-G3T6YMBO.js.map} +0 -0
- /package/dist/{chunk-BKVCTTEN.js.map → chunk-GUD6FYQG.js.map} +0 -0
- /package/dist/{chunk-2MMBJE53.js.map → chunk-H5YACCE3.js.map} +0 -0
- /package/dist/{chunk-JC7QQ2DJ.js.map → chunk-HRZZJ4XB.js.map} +0 -0
- /package/dist/{chunk-LHDSCWDK.js.map → chunk-I2VQ7WBJ.js.map} +0 -0
- /package/dist/{chunk-PRNR47DI.js.map → chunk-IR5LZCE6.js.map} +0 -0
- /package/dist/{chunk-YI6XIFQV.js.map → chunk-J5CUQRST.js.map} +0 -0
- /package/dist/{chunk-6WRHNA4I.js.map → chunk-JFDKPW54.js.map} +0 -0
- /package/dist/{chunk-VYIBRCVW.js.map → chunk-JOBE47EJ.js.map} +0 -0
- /package/dist/{chunk-SFDBLCZV.js.map → chunk-K4TWTUEY.js.map} +0 -0
- /package/dist/{chunk-T6RQNV7E.js.map → chunk-KHOINMCN.js.map} +0 -0
- /package/dist/{chunk-VDX2J7OX.js.map → chunk-KQAFEZQX.js.map} +0 -0
- /package/dist/{chunk-MZOQ26LH.js.map → chunk-LQGX5TCI.js.map} +0 -0
- /package/dist/{chunk-TRN56SPQ.js.map → chunk-M2OPC4BD.js.map} +0 -0
- /package/dist/{chunk-LXJZUNLX.js.map → chunk-NBK24POV.js.map} +0 -0
- /package/dist/{chunk-7X7A7KVN.js.map → chunk-NLYOOGZ7.js.map} +0 -0
- /package/dist/{chunk-G5I5ZT6O.js.map → chunk-OSDAF7HH.js.map} +0 -0
- /package/dist/{chunk-EZ3F4YIN.js.map → chunk-OV7EYM6M.js.map} +0 -0
- /package/dist/{chunk-AU43D3IT.js.map → chunk-P57VR7AI.js.map} +0 -0
- /package/dist/{chunk-NT2Q6AHC.js.map → chunk-PCO3P7WJ.js.map} +0 -0
- /package/dist/{chunk-73R4HOOK.js.map → chunk-PT6DQK5T.js.map} +0 -0
- /package/dist/{chunk-O43AAJFQ.js.map → chunk-PTGPU4DC.js.map} +0 -0
- /package/dist/{chunk-STQC2FYQ.js.map → chunk-PWVBVIOP.js.map} +0 -0
- /package/dist/{chunk-TFA6HPOA.js.map → chunk-QCP75JGO.js.map} +0 -0
- /package/dist/{chunk-SIGDETMB.js.map → chunk-R4NGLTUS.js.map} +0 -0
- /package/dist/{chunk-S2GR3T7W.js.map → chunk-RNYVAQX2.js.map} +0 -0
- /package/dist/{chunk-PZ2QQULY.js.map → chunk-RU744TNX.js.map} +0 -0
- /package/dist/{chunk-2OFDC3AK.js.map → chunk-RVQVWDSN.js.map} +0 -0
- /package/dist/{chunk-OFGTRDWX.js.map → chunk-SIYZDT2V.js.map} +0 -0
- /package/dist/{chunk-PQ7EB5AD.js.map → chunk-SQPC6MUM.js.map} +0 -0
- /package/dist/{chunk-5R4YPRAR.js.map → chunk-TGF43K66.js.map} +0 -0
- /package/dist/{chunk-ZRUC7FD3.js.map → chunk-U4SG4HKQ.js.map} +0 -0
- /package/dist/{chunk-ATFFWIKL.js.map → chunk-U6HWKOGD.js.map} +0 -0
- /package/dist/{chunk-IOMLGJHG.js.map → chunk-UK5EH7AI.js.map} +0 -0
- /package/dist/{chunk-DB6XFMOF.js.map → chunk-VC4J4UTI.js.map} +0 -0
- /package/dist/{chunk-T32YYUT2.js.map → chunk-VQTPEL7O.js.map} +0 -0
- /package/dist/{chunk-7YQR6XHY.js.map → chunk-W6K6BC3H.js.map} +0 -0
- /package/dist/{chunk-FYX2LXIX.js.map → chunk-WI37MWRZ.js.map} +0 -0
- /package/dist/{chunk-7NBUE5VY.js.map → chunk-WPMDNCGB.js.map} +0 -0
- /package/dist/{chunk-GZ2KV2RO.js.map → chunk-WWLAKRMX.js.map} +0 -0
- /package/dist/{chunk-EWWK65CI.js.map → chunk-WY4IV62O.js.map} +0 -0
- /package/dist/{chunk-DQEMWVMT.js.map → chunk-X7Y7WX73.js.map} +0 -0
- /package/dist/{chunk-GQ6ZF4LD.js.map → chunk-XG4XXI66.js.map} +0 -0
- /package/dist/{chunk-Z6EZCN6Z.js.map → chunk-Y7427SL7.js.map} +0 -0
- /package/dist/{chunk-TXTRHF3B.js.map → chunk-YAPTJQI7.js.map} +0 -0
- /package/dist/{chunk-JRDL3FGM.js.map → chunk-YFET6A4I.js.map} +0 -0
- /package/dist/{chunk-ISX7GVZE.js.map → chunk-YRULQW5J.js.map} +0 -0
- /package/dist/{chunk-VDVHIRCK.js.map → chunk-YVHNBOK2.js.map} +0 -0
|
@@ -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":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isValidCapsuleSince
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-KQAFEZQX.js";
|
|
4
4
|
import {
|
|
5
5
|
CAPSULE_ID_PATTERN
|
|
6
6
|
} from "./chunk-WEHSQBFR.js";
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
import {
|
|
13
13
|
OFFLINE_SYNC_FILE_CONTENT_MAX_CHUNK_BYTES,
|
|
14
14
|
OFFLINE_SYNC_MAX_MTIME_MS
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-TGF43K66.js";
|
|
16
16
|
import {
|
|
17
17
|
validateArchiveRelativePath
|
|
18
18
|
} from "./chunk-GCGJW34D.js";
|
|
@@ -563,4 +563,4 @@ export {
|
|
|
563
563
|
actionConfidenceRequestSchema,
|
|
564
564
|
validateRequest
|
|
565
565
|
};
|
|
566
|
-
//# sourceMappingURL=chunk-
|
|
566
|
+
//# sourceMappingURL=chunk-SIYZDT2V.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveDefaultNamespaceRoot
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-CVQWNACA.js";
|
|
4
4
|
import {
|
|
5
5
|
StorageManager
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-LHOIYLKH.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-
|
|
731
|
+
//# sourceMappingURL=chunk-SQPC6MUM.js.map
|
|
@@ -9,21 +9,10 @@ import {
|
|
|
9
9
|
writeOfflineUploadChunk,
|
|
10
10
|
writeSafeFileFromUpload
|
|
11
11
|
} from "./chunk-3E6DGSGZ.js";
|
|
12
|
-
import {
|
|
13
|
-
OFFLINE_SYNC_FAST_BASE_MTIME_TOLERANCE_MS,
|
|
14
|
-
SYNC_INTERNAL_DIR,
|
|
15
|
-
assertOfflineSyncMtimeMs,
|
|
16
|
-
isEncryptedOfflineSyncFile,
|
|
17
|
-
plainFileDigest,
|
|
18
|
-
readPlainOfflineSyncFileChunk,
|
|
19
|
-
setSafeFileMtime,
|
|
20
|
-
sha256OfflineSyncFile,
|
|
21
|
-
shouldExcludeOfflineSyncFile
|
|
22
|
-
} from "./chunk-EFHNFTWB.js";
|
|
23
12
|
import {
|
|
24
13
|
applyChangesetEmbeddingGenerations,
|
|
25
14
|
normalizeChangesetGenerations
|
|
26
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-VC4J4UTI.js";
|
|
27
16
|
import {
|
|
28
17
|
applyIncomingEmbeddingGenerations,
|
|
29
18
|
assertEmbeddingGenerationStillIncluded,
|
|
@@ -32,22 +21,33 @@ import {
|
|
|
32
21
|
embeddingGenerationMembership,
|
|
33
22
|
isEmbeddingGenerationDirPath,
|
|
34
23
|
isPathInOmittedEmbeddingGeneration
|
|
35
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-WWLAKRMX.js";
|
|
36
25
|
import {
|
|
37
26
|
isEmbeddingGenerationMarkerPath,
|
|
38
27
|
matchesOfflineSyncDefaultExclude
|
|
39
28
|
} from "./chunk-63LFM77Z.js";
|
|
40
29
|
import {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
30
|
+
OFFLINE_SYNC_FAST_BASE_MTIME_TOLERANCE_MS,
|
|
31
|
+
SYNC_INTERNAL_DIR,
|
|
32
|
+
assertOfflineSyncMtimeMs,
|
|
33
|
+
isEncryptedOfflineSyncFile,
|
|
34
|
+
plainFileDigest,
|
|
35
|
+
readPlainOfflineSyncFileChunk,
|
|
36
|
+
setSafeFileMtime,
|
|
37
|
+
sha256OfflineSyncFile,
|
|
38
|
+
shouldExcludeOfflineSyncFile
|
|
39
|
+
} from "./chunk-EFHNFTWB.js";
|
|
45
40
|
import {
|
|
46
41
|
prepareSafeArchiveRoot,
|
|
47
42
|
resolveSafeArchiveTarget,
|
|
48
43
|
sha256Bytes,
|
|
49
44
|
validateArchiveRelativePath
|
|
50
45
|
} from "./chunk-GCGJW34D.js";
|
|
46
|
+
import {
|
|
47
|
+
isCanonicalRuntimeStatePath,
|
|
48
|
+
shouldDeleteAbsentIncomingOfflineRuntimeFile,
|
|
49
|
+
shouldPreferIncomingOfflineRuntimeFile
|
|
50
|
+
} from "./chunk-TYT4TEQV.js";
|
|
51
51
|
import {
|
|
52
52
|
withEmbeddingGenerationLock,
|
|
53
53
|
withEmbeddingGenerationLockIter
|
|
@@ -1787,4 +1787,4 @@ export {
|
|
|
1787
1787
|
normalizeOfflineSyncState,
|
|
1788
1788
|
fileStatesFromSnapshot
|
|
1789
1789
|
};
|
|
1790
|
-
//# sourceMappingURL=chunk-
|
|
1790
|
+
//# sourceMappingURL=chunk-TGF43K66.js.map
|
|
@@ -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":[]}
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./chunk-GZFKCLRC.js";
|
|
7
7
|
import {
|
|
8
8
|
StorageManager
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-LHOIYLKH.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-
|
|
965
|
+
//# sourceMappingURL=chunk-U4SG4HKQ.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-A7AISUJI.js";
|
|
4
4
|
import {
|
|
5
5
|
deepRecallRequestSchema
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-SIYZDT2V.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-
|
|
43
|
+
//# sourceMappingURL=chunk-U6HWKOGD.js.map
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
import {
|
|
20
20
|
decryptCapsuleFileInMemory,
|
|
21
21
|
isEncryptedCapsuleFile
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-X7Y7WX73.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-
|
|
297
|
+
//# sourceMappingURL=chunk-UK5EH7AI.js.map
|
|
@@ -5,13 +5,13 @@ import {
|
|
|
5
5
|
embeddingGenerationMembership,
|
|
6
6
|
embeddingShardDirOf,
|
|
7
7
|
isEmbeddingGenerationDirPath
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import {
|
|
10
|
-
EMBEDDING_SHARD_FILE_PATTERN
|
|
11
|
-
} from "./chunk-TYT4TEQV.js";
|
|
8
|
+
} from "./chunk-WWLAKRMX.js";
|
|
12
9
|
import {
|
|
13
10
|
resolveSafeArchiveTarget
|
|
14
11
|
} from "./chunk-GCGJW34D.js";
|
|
12
|
+
import {
|
|
13
|
+
EMBEDDING_SHARD_FILE_PATTERN
|
|
14
|
+
} from "./chunk-TYT4TEQV.js";
|
|
15
15
|
import {
|
|
16
16
|
EmbeddingIndexStorageError
|
|
17
17
|
} from "./chunk-Y57GJDG5.js";
|
|
@@ -369,4 +369,4 @@ export {
|
|
|
369
369
|
applyChangesetEmbeddingGenerations,
|
|
370
370
|
buildChangesetGenerationManifest
|
|
371
371
|
};
|
|
372
|
-
//# sourceMappingURL=chunk-
|
|
372
|
+
//# sourceMappingURL=chunk-VC4J4UTI.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-KJTKLXTH.js";
|
|
4
4
|
import {
|
|
5
5
|
StorageManager
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-LHOIYLKH.js";
|
|
7
7
|
import {
|
|
8
8
|
assertInjectedStorageRooted
|
|
9
9
|
} from "./chunk-22DYJLFN.js";
|
|
@@ -260,4 +260,4 @@ export {
|
|
|
260
260
|
backupExistingLedger,
|
|
261
261
|
rebuildMemoryLifecycleLedger
|
|
262
262
|
};
|
|
263
|
-
//# sourceMappingURL=chunk-
|
|
263
|
+
//# sourceMappingURL=chunk-VQTPEL7O.js.map
|