@remnic/core 10.0.13 → 10.0.14
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 +86 -84
- package/dist/access-authorization-probe.js +87 -85
- package/dist/access-boundary.js +86 -84
- package/dist/access-cli.js +183 -180
- package/dist/access-cli.js.map +1 -1
- package/dist/access-extraction-force-flush.js +86 -84
- package/dist/access-http-briefing.js +87 -85
- package/dist/access-http-query.js +88 -86
- package/dist/access-http.js +110 -108
- package/dist/access-idempotency.js +3 -2
- package/dist/access-identity-continuity-surface.js +86 -84
- package/dist/access-lcm-surface.js +86 -84
- package/dist/access-mcp.js +99 -97
- package/dist/access-namespace-preflight.js +86 -84
- package/dist/access-observe-write-category.js +17 -17
- package/dist/access-observe-write-surface.js +86 -84
- package/dist/access-offline-manifest.js +16 -15
- package/dist/access-operations-batch.js +90 -88
- package/dist/access-operations.js +97 -95
- package/dist/access-recall-concurrency.js +86 -84
- package/dist/access-recall-diagnostics.js +2 -2
- package/dist/access-recall-response.js +86 -84
- package/dist/access-recall-surface.js +86 -84
- package/dist/access-schema.d.ts +2 -2
- package/dist/access-schema.js +12 -12
- package/dist/access-service.js +86 -84
- package/dist/access-surface-catalog.js +88 -86
- package/dist/access-surface-catalog.js.map +1 -1
- package/dist/active-recall.js +39 -37
- package/dist/active-recall.js.map +1 -1
- package/dist/adapters/index.js +4 -4
- package/dist/adapters/registry.js +2 -2
- package/dist/{auto-sync-DGJOZYGT.js → auto-sync-7WWAKW6F.js} +8 -8
- package/dist/briefing.js +29 -27
- package/dist/buffer.js +13 -13
- package/dist/{capsule-merge-M4HETD27.js → capsule-merge-LGYURS3C.js} +6 -5
- package/dist/{capsule-merge-M4HETD27.js.map → capsule-merge-LGYURS3C.js.map} +1 -1
- package/dist/capture-write-lock-backoff.d.ts +50 -0
- package/dist/capture-write-lock-backoff.d.ts.map +1 -0
- package/dist/capture-write-lock-backoff.js +30 -0
- package/dist/capture-write-lock.d.ts +6 -0
- package/dist/capture-write-lock.d.ts.map +1 -0
- package/dist/capture-write-lock.js +15 -0
- package/dist/causal-behavior.js +2 -2
- package/dist/causal-chain.js +2 -2
- package/dist/causal-consolidation.js +32 -30
- package/dist/causal-consolidation.js.map +1 -1
- package/dist/causal-retrieval.js +2 -2
- package/dist/causal-trajectory-graph.js +7 -6
- package/dist/causal-trajectory-graph.js.map +1 -1
- package/dist/causal-trajectory.js +1 -1
- package/dist/{chunk-ZUMXY4KA.js → chunk-22W2XWGH.js} +3 -3
- package/dist/{chunk-AV2OQF2O.js → chunk-3F3HA3R2.js} +2 -2
- package/dist/{chunk-QZZPUREO.js → chunk-3GYSZHMT.js} +3 -3
- package/dist/{chunk-QWWMS4AE.js → chunk-3MO4LWYU.js} +1 -1
- package/dist/chunk-3MO4LWYU.js.map +1 -0
- package/dist/{chunk-AL6EHLB5.js → chunk-3X3PNU3T.js} +2 -2
- package/dist/{chunk-BTJ6CAIA.js → chunk-4IYIGN53.js} +10 -10
- package/dist/{chunk-BZTRPCCH.js → chunk-4KY5GSMB.js} +2 -2
- package/dist/{chunk-UZSBCQEC.js → chunk-4OSG5Y6M.js} +2 -2
- package/dist/{chunk-EHRE7ZG3.js → chunk-5B5WYAHQ.js} +2 -2
- package/dist/{chunk-WCGJK4NQ.js → chunk-5FNZ3G6X.js} +10 -10
- package/dist/{chunk-Y6DZ33PA.js → chunk-5GX5457J.js} +4 -4
- package/dist/{chunk-OFCHT2TN.js → chunk-5LRV557D.js} +2 -2
- package/dist/{chunk-CKUUP64O.js → chunk-5WCJLQTM.js} +2 -2
- package/dist/{chunk-MZBWIJJN.js → chunk-63B2IZYE.js} +19 -19
- package/dist/{chunk-DGRMWDQY.js → chunk-66BCOVW2.js} +7 -7
- package/dist/chunk-6EDW54SQ.js +298 -0
- package/dist/chunk-6EDW54SQ.js.map +1 -0
- package/dist/{chunk-P2S6P7X6.js → chunk-6LG7BWKW.js} +2 -2
- package/dist/chunk-77R7BQZ2.js +152 -0
- package/dist/chunk-77R7BQZ2.js.map +1 -0
- package/dist/{chunk-IPLYGWQF.js → chunk-7LCGFUMB.js} +6 -6
- package/dist/{chunk-KYY4EACB.js → chunk-7Z3DLNSD.js} +2 -2
- package/dist/{chunk-LNH76ZJX.js → chunk-AIYXVWUH.js} +27 -2
- package/dist/{chunk-LNH76ZJX.js.map → chunk-AIYXVWUH.js.map} +1 -1
- package/dist/{chunk-O4KYRDRT.js → chunk-B665A6BO.js} +2 -2
- package/dist/{chunk-AKREOU5F.js → chunk-CB6ANA2I.js} +2 -2
- package/dist/{chunk-5JMI26Q7.js → chunk-CBH2Z4UA.js} +2 -2
- package/dist/{chunk-YRH3C2OJ.js → chunk-CIIHIAJ2.js} +13 -5
- package/dist/chunk-CIIHIAJ2.js.map +1 -0
- package/dist/{chunk-6M56RFFJ.js → chunk-CJRENHVZ.js} +3 -3
- package/dist/{chunk-EGDYVYU7.js → chunk-CLWBFR7Q.js} +3 -3
- package/dist/{chunk-375ARKRS.js → chunk-D5SSBCYY.js} +70 -59
- package/dist/chunk-D5SSBCYY.js.map +1 -0
- package/dist/{chunk-KI6UOSNR.js → chunk-DEY7B77Y.js} +2 -2
- package/dist/chunk-DEY7B77Y.js.map +1 -0
- package/dist/{chunk-6VAHJ2F6.js → chunk-DMDWFQMR.js} +2 -2
- package/dist/{chunk-6OQ6N5RP.js → chunk-DPR2WTN3.js} +20 -20
- package/dist/{chunk-K4QY55XV.js → chunk-EH4BQ7LT.js} +2 -2
- package/dist/chunk-EHHQJTAU.js +131 -0
- package/dist/chunk-EHHQJTAU.js.map +1 -0
- package/dist/{chunk-5JCLELOP.js → chunk-EPJDSQHF.js} +2 -2
- package/dist/{chunk-K2FSASGZ.js → chunk-EU534WGS.js} +2 -2
- package/dist/{chunk-GD7BWGIB.js → chunk-EU6IRUCY.js} +6 -4
- package/dist/{chunk-GD7BWGIB.js.map → chunk-EU6IRUCY.js.map} +1 -1
- package/dist/{chunk-IWHEJXR2.js → chunk-EUAIYYYR.js} +8 -8
- package/dist/{chunk-7KYJNHGM.js → chunk-EUCYTCFP.js} +2 -2
- package/dist/{chunk-YNDLCWXS.js → chunk-EZ25VE3G.js} +4 -4
- package/dist/{chunk-ON4ILX3G.js → chunk-FFOVKNQV.js} +2 -2
- package/dist/{chunk-2KRNPFPK.js → chunk-FLI6DEIU.js} +2 -2
- package/dist/{chunk-4G4B3Z2B.js → chunk-FP4JYE66.js} +2 -2
- package/dist/{chunk-B7CANWCA.js → chunk-FSIMZNBC.js} +2 -2
- package/dist/{chunk-OAIWPB2I.js → chunk-FT4UQYOV.js} +2 -2
- package/dist/{chunk-X3VID2TT.js → chunk-FUFAXVBA.js} +3 -3
- package/dist/{chunk-HYNEDMYJ.js → chunk-G2OYFTUD.js} +2 -2
- package/dist/{chunk-XTN54NML.js → chunk-G3T6YMBO.js} +4 -4
- package/dist/{chunk-XHWJRUVP.js → chunk-GELS5Z5Z.js} +3 -3
- package/dist/{chunk-RT6D3WN7.js → chunk-GH7AOMJD.js} +2 -2
- package/dist/{chunk-2LUSQV4U.js → chunk-GKJJNO7C.js} +2 -2
- package/dist/{chunk-6Z2AZ4AJ.js → chunk-GMXWTJNU.js} +2 -2
- package/dist/{chunk-B657ZGDH.js → chunk-HQSK2INQ.js} +2 -2
- package/dist/{chunk-RWRQ67OR.js → chunk-I7S55EOB.js} +2 -2
- package/dist/{chunk-KZO43HPY.js → chunk-J7JWFZHI.js} +100 -100
- package/dist/{chunk-EMFBC7L3.js → chunk-JDZFIR2S.js} +2 -2
- package/dist/{chunk-4THZGKQ2.js → chunk-JIHMUOOS.js} +3 -3
- package/dist/{chunk-YYO447A7.js → chunk-JNIVZNIB.js} +41 -253
- package/dist/chunk-JNIVZNIB.js.map +1 -0
- package/dist/{chunk-FZB4TS2W.js → chunk-JPTPS4OB.js} +5 -5
- package/dist/{chunk-CS2JEHTB.js → chunk-JQ7XU625.js} +8 -8
- package/dist/{chunk-3I3U6FFT.js → chunk-K7BN34IA.js} +2 -2
- package/dist/{chunk-7OAIOE5P.js → chunk-KH2LKDX7.js} +2 -2
- package/dist/{chunk-DA2INEB5.js → chunk-KR6ZKECI.js} +4 -4
- package/dist/{chunk-5AOAQR37.js → chunk-L5DAHSEZ.js} +3 -3
- package/dist/{chunk-RP5SJ3XR.js → chunk-LCKVXX5F.js} +2 -2
- package/dist/{chunk-ZI7LMSNI.js → chunk-LLHZZOIB.js} +2 -2
- package/dist/{chunk-OYKQ6T4V.js → chunk-MATDGSJ7.js} +2 -2
- package/dist/{chunk-3NFN4Y4P.js → chunk-MGCKZWAE.js} +5 -5
- package/dist/{chunk-6OMUHXHP.js → chunk-ML7ZJAKJ.js} +2 -2
- package/dist/{chunk-YDH2FSDI.js → chunk-N45NEBOD.js} +2 -2
- package/dist/{chunk-A2E4WNW4.js → chunk-N4C7QKOG.js} +2 -2
- package/dist/{chunk-B43NMCGQ.js → chunk-N7KYEVLK.js} +2 -2
- package/dist/{chunk-HT2C4EXO.js → chunk-NIRQGDYC.js} +4 -4
- package/dist/{chunk-DXHVD4DS.js → chunk-NW2E4CI2.js} +3 -3
- package/dist/{chunk-4NDWE44P.js → chunk-NZFFGO5O.js} +2 -2
- package/dist/{chunk-KC46VZR5.js → chunk-O2IPAX26.js} +8 -8
- package/dist/{chunk-M7V65M6H.js → chunk-O4SGYW7H.js} +2 -2
- package/dist/{chunk-QUA7RLK6.js → chunk-OP6N4H6A.js} +2 -2
- package/dist/{chunk-ZSJGYC3C.js → chunk-OQJKY3Z5.js} +2 -2
- package/dist/{chunk-OFEHITAZ.js → chunk-OXNTOHL6.js} +2 -2
- package/dist/{chunk-FQD2KPQH.js → chunk-P55FACBG.js} +2 -2
- package/dist/{chunk-XERVJYH2.js → chunk-P5NQN4JE.js} +3 -3
- package/dist/{chunk-XZLWYZ7C.js → chunk-P7TOIOT7.js} +2 -2
- package/dist/{chunk-Y3VDGK2O.js → chunk-PAZ35RJ4.js} +44 -31
- package/dist/chunk-PAZ35RJ4.js.map +1 -0
- package/dist/chunk-PGRZ3FYC.js +34 -0
- package/dist/chunk-PGRZ3FYC.js.map +1 -0
- package/dist/{chunk-PBVNVKYN.js → chunk-PIN5OPBA.js} +2 -2
- package/dist/{chunk-CNG2XVZG.js → chunk-PZHQWFR3.js} +2 -2
- package/dist/{chunk-SVDU4OHO.js → chunk-Q35L7TYB.js} +2 -2
- package/dist/{chunk-YEM7K3KD.js → chunk-QODKDRSP.js} +6 -6
- package/dist/{chunk-IZT3BVDW.js → chunk-QOZJCSFO.js} +2 -2
- package/dist/{chunk-6T42L5FI.js → chunk-QS3OLP5I.js} +2 -2
- package/dist/{chunk-PAAJWQH5.js → chunk-QUMKDRCF.js} +2 -2
- package/dist/{chunk-JFVCDEIC.js → chunk-QX6JN3O4.js} +7 -7
- package/dist/{chunk-KZEMFD6E.js → chunk-R2H4ZFBJ.js} +3 -3
- package/dist/{chunk-GKIXBH7Y.js → chunk-RTKV5XHL.js} +4 -4
- package/dist/{chunk-ZQ3WU6JO.js → chunk-RXFCU3CY.js} +2 -2
- package/dist/{chunk-BOOFTFFE.js → chunk-S2I7DL5Q.js} +1 -1
- package/dist/{chunk-2NCBDGND.js → chunk-SA6GMZJY.js} +3 -3
- package/dist/{chunk-NSFOERZQ.js → chunk-SIIRTDJ4.js} +2 -2
- package/dist/{chunk-A6TVQ3QP.js → chunk-SS3IS2JR.js} +3 -3
- package/dist/{chunk-VFTK5WKI.js → chunk-STBX5X6B.js} +2 -2
- package/dist/{chunk-WVHRNAXL.js → chunk-SWWHIJUJ.js} +2 -2
- package/dist/{chunk-WADSXS4K.js → chunk-SX4QDWXK.js} +2 -2
- package/dist/{chunk-ZIZ2G47N.js → chunk-TITG2NBS.js} +2 -2
- package/dist/{chunk-LZKOVXMX.js → chunk-TRMJ6BYC.js} +2 -2
- package/dist/{chunk-U7VPOXVM.js → chunk-TZNDKTX5.js} +65 -65
- package/dist/{chunk-WWSRLS4M.js → chunk-UMTCNEVQ.js} +15 -15
- package/dist/{chunk-4TTGRETU.js → chunk-UQDG3YLN.js} +5 -5
- package/dist/{chunk-AAM66QCP.js → chunk-UZRSI6NX.js} +2 -2
- package/dist/{chunk-2CXQZXWM.js → chunk-V4MB5ONM.js} +6 -6
- package/dist/{chunk-CYEK6Z3P.js → chunk-VW6VIJOS.js} +2 -2
- package/dist/{chunk-5ZJYHOJT.js → chunk-W47S5TIH.js} +8 -8
- package/dist/{chunk-CBP4HWCL.js → chunk-W5MCEVUS.js} +3 -3
- package/dist/{chunk-WETFW255.js → chunk-WLMZ2L5P.js} +2 -2
- package/dist/{chunk-XRBHXUTQ.js → chunk-WSGPFRBH.js} +5 -5
- package/dist/{chunk-UOKPJFO3.js → chunk-WVADKFWV.js} +3 -3
- package/dist/{chunk-P34FDDB5.js → chunk-XISROV24.js} +2 -2
- package/dist/{chunk-FZVROZKC.js → chunk-XVZA6VXC.js} +4 -4
- package/dist/{chunk-JUWJYXI4.js → chunk-Y4NKEXQT.js} +4 -4
- package/dist/{chunk-2ZQJLBV6.js → chunk-YE36AJL7.js} +4 -4
- package/dist/chunk-YET735EZ.js +99 -0
- package/dist/chunk-YET735EZ.js.map +1 -0
- package/dist/{chunk-PCWXLAJY.js → chunk-YFMBHQRG.js} +2 -2
- package/dist/{chunk-RBJQYMMT.js → chunk-YRULQW5J.js} +4 -4
- package/dist/{chunk-QUNDYIYZ.js → chunk-YYEOR4XN.js} +3 -3
- package/dist/{chunk-VYPFEVOM.js → chunk-ZJVMUBYF.js} +2 -2
- package/dist/{chunk-5MDM7UE4.js → chunk-ZSH2NRDV.js} +2 -2
- package/dist/{chunk-3J5JKBYD.js → chunk-ZV65I6ME.js} +67 -67
- package/dist/cli.js +138 -136
- package/dist/coding/export-okf-codegraph.js +29 -27
- package/dist/coding/export-okf-codegraph.js.map +1 -1
- package/dist/coding/pre-action-gate.js +2 -2
- package/dist/compounding/engine.js +31 -29
- package/dist/config.js +39 -37
- package/dist/connectors/codex-materialize-runner.js +29 -27
- package/dist/connectors/index.js +29 -27
- package/dist/console/trace.d.ts +5 -14
- package/dist/console/trace.d.ts.map +1 -1
- package/dist/consolidation-provenance-check.js +7 -6
- package/dist/consolidation-undo.js +5 -4
- package/dist/consolidation-undo.js.map +1 -1
- package/dist/contradiction/index.js +7 -6
- package/dist/converge-config.d.ts +2 -0
- package/dist/converge-config.d.ts.map +1 -1
- package/dist/converge-config.js +7 -3
- package/dist/convergence-refresh.js +31 -29
- package/dist/corpus-watermark.js +31 -29
- package/dist/dashboard-runtime.js +2 -2
- package/dist/deep-recall-http-glue.js +13 -13
- package/dist/deep-recall.js +2 -2
- package/dist/embedding-fallback.js +5 -4
- package/dist/embedding-generation-lock.js +4 -3
- package/dist/entity-retrieval.js +30 -28
- package/dist/explicit-capture.js +11 -8
- package/dist/external-wiki-access.js +87 -85
- package/dist/extraction-quote-grounding.d.ts +67 -0
- package/dist/extraction-quote-grounding.d.ts.map +1 -0
- package/dist/extraction-quote-grounding.js +27 -0
- package/dist/extraction-quote-grounding.js.map +1 -0
- package/dist/extraction-source-grounding-helpers.d.ts +8 -0
- package/dist/extraction-source-grounding-helpers.d.ts.map +1 -1
- package/dist/extraction-source-grounding-helpers.js +11 -1
- package/dist/extraction-source-grounding-rules.d.ts +3 -1
- package/dist/extraction-source-grounding-rules.d.ts.map +1 -1
- package/dist/extraction-source-grounding-rules.js +3 -2
- package/dist/extraction-source-grounding.d.ts +1 -1
- package/dist/extraction-source-grounding.d.ts.map +1 -1
- package/dist/extraction-source-grounding.js +4 -3
- package/dist/extraction-span-materialize.js +2 -2
- package/dist/extraction.js +40 -37
- package/dist/{first-start-migration-HYAMKJ6V.js → first-start-migration-6A5BJPDW.js} +4 -4
- package/dist/{forget-OHAJ6PSU.js → forget-GXBWFKRC.js} +5 -4
- package/dist/{forget-OHAJ6PSU.js.map → forget-GXBWFKRC.js.map} +1 -1
- package/dist/{graph-edge-decay-CZ3SYLM4.js → graph-edge-decay-BYPZVJT4.js} +10 -9
- package/dist/graph-edge-decay-BYPZVJT4.js.map +1 -0
- package/dist/graph-jsonl.js +8 -7
- package/dist/graph-snapshot.js +8 -7
- package/dist/graph-write-lock.js +4 -3
- package/dist/graph.js +9 -8
- package/dist/harmonic-retrieval.js +29 -27
- package/dist/http-retry.js +2 -1
- package/dist/http-retry.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +223 -218
- package/dist/lcm/engine.js +4 -4
- package/dist/lcm/index.js +12 -12
- package/dist/location/index.js +32 -30
- package/dist/maintenance/memory-governance.js +29 -27
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +29 -27
- package/dist/maintenance/rebuild-memory-projection-runner.js +31 -29
- package/dist/maintenance/rebuild-memory-projection.js +30 -28
- package/dist/memory-browse-operations.js +87 -85
- package/dist/memory-browse.js +7 -7
- package/dist/memory-subject.js +5 -4
- package/dist/namespaces/migrate.js +30 -28
- package/dist/namespaces/search.js +9 -9
- package/dist/namespaces/storage.js +29 -27
- package/dist/offline-sync-changeset-generations.js +7 -6
- package/dist/offline-sync-embedding-generation.js +6 -5
- package/dist/offline-sync-impression-drain.js +4 -4
- package/dist/offline-sync-snapshot-stream.js +9 -9
- package/dist/offline-sync.js +10 -10
- package/dist/operator-doctor-corpus.js +32 -30
- package/dist/operator-toolkit.js +53 -51
- package/dist/orchestration/maintenance.js +41 -39
- package/dist/orchestrator.js +185 -182
- package/dist/page-versioning.js +5 -4
- package/dist/qmd-daemon-session.js +2 -2
- package/dist/qmd.js +4 -4
- package/dist/recall-explain-renderer.js +3 -3
- package/dist/recall-navigate-access.js +2 -2
- package/dist/recall-navigate-disclosure.js +2 -2
- package/dist/recall-navigate.js +2 -2
- package/dist/recall-navigation-operations.js +87 -85
- package/dist/recall-navigation.js +86 -84
- package/dist/recall-state-view-admission.js +7 -7
- package/dist/recall-state.js +4 -3
- package/dist/recall-why-service.js +7 -7
- package/dist/recall-xray-cli.js +4 -4
- package/dist/recall-xray-renderer.js +3 -3
- package/dist/recall-xray.js +2 -2
- package/dist/reconcile/cursor.js +4 -2
- package/dist/reconcile/cursor.js.map +1 -1
- package/dist/reconcile/manifest.js +9 -6
- package/dist/reconcile/plan.js +4 -2
- package/dist/{resolution-EKJHREVJ.js → resolution-7AY36LGJ.js} +8 -7
- package/dist/resolution-7AY36LGJ.js.map +1 -0
- package/dist/resume-bundles.js +40 -38
- package/dist/salvage-envelope.js +7 -6
- package/dist/search/factory.js +8 -8
- package/dist/search/index.js +14 -14
- package/dist/semantic-consolidation.js +34 -32
- package/dist/semantic-rule-promotion.js +29 -27
- package/dist/semantic-rule-verifier.js +29 -27
- package/dist/source-agent-qualifier.js +37 -34
- package/dist/standup/build.js +29 -27
- package/dist/storage/content-hash-index.d.ts +10 -0
- package/dist/storage/content-hash-index.d.ts.map +1 -1
- package/dist/storage/tombstone-blocked-capture-index.d.ts +3 -0
- package/dist/storage/tombstone-blocked-capture-index.d.ts.map +1 -1
- package/dist/storage/tombstone-blocked-capture-mutation.d.ts +23 -3
- package/dist/storage/tombstone-blocked-capture-mutation.d.ts.map +1 -1
- package/dist/storage.d.ts +6 -0
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +30 -28
- package/dist/subject-config.js +6 -5
- package/dist/summarizer.js +4 -4
- package/dist/summary-snapshot.js +4 -3
- package/dist/support-passport/index.js +89 -87
- package/dist/{trace-LXXCMZJA.js → trace-QBQVS5BC.js} +5 -21
- package/dist/trace-QBQVS5BC.js.map +1 -0
- package/dist/transfer/autodetect.js +1 -1
- package/dist/transfer/backup.js +1 -1
- package/dist/transfer/capsule-export.js +3 -3
- package/dist/transfer/capsule-import.js +7 -6
- package/dist/transfer/export-okf.js +29 -27
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/dist/utils/serialize-mutations.js +3 -2
- package/dist/utils/sleep.d.ts +6 -0
- package/dist/utils/sleep.d.ts.map +1 -1
- package/dist/verified-recall.js +29 -27
- package/dist/who-knows-cli.js +30 -28
- package/dist/who-knows.js +29 -27
- package/dist/write-envelope.js +6 -5
- package/package.json +22 -2
- package/src/capture-write-lock-backoff.test.ts +534 -0
- package/src/capture-write-lock-backoff.ts +140 -0
- package/src/capture-write-lock.ts +8 -0
- package/src/console/trace.ts +5 -36
- package/src/converge-config.ts +80 -1
- package/src/extraction-quote-grounding.test.ts +546 -0
- package/src/extraction-quote-grounding.ts +232 -0
- package/src/extraction-source-grounding-helpers.ts +35 -0
- package/src/extraction-source-grounding-rules.ts +90 -65
- package/src/extraction-source-grounding.ts +11 -2
- package/src/index.ts +1 -1
- package/src/providers/codex-subscription.test.ts +15 -3
- package/src/storage/content-hash-index.ts +10 -0
- package/src/storage/tombstone-blocked-capture-index.ts +8 -1
- package/src/storage/tombstone-blocked-capture-mutation.ts +133 -43
- package/src/storage.ts +13 -0
- package/src/types.ts +9 -0
- package/src/utils/sleep.ts +28 -0
- package/dist/chunk-375ARKRS.js.map +0 -1
- package/dist/chunk-6MINUTGJ.js +0 -64
- package/dist/chunk-6MINUTGJ.js.map +0 -1
- package/dist/chunk-7LEQREP2.js +0 -9
- package/dist/chunk-7LEQREP2.js.map +0 -1
- package/dist/chunk-KI6UOSNR.js.map +0 -1
- package/dist/chunk-QWWMS4AE.js.map +0 -1
- package/dist/chunk-Y3VDGK2O.js.map +0 -1
- package/dist/chunk-YRH3C2OJ.js.map +0 -1
- package/dist/chunk-YYO447A7.js.map +0 -1
- package/dist/trace-LXXCMZJA.js.map +0 -1
- /package/dist/{auto-sync-DGJOZYGT.js.map → auto-sync-7WWAKW6F.js.map} +0 -0
- /package/dist/{graph-edge-decay-CZ3SYLM4.js.map → capture-write-lock-backoff.js.map} +0 -0
- /package/dist/{resolution-EKJHREVJ.js.map → capture-write-lock.js.map} +0 -0
- /package/dist/{chunk-ZUMXY4KA.js.map → chunk-22W2XWGH.js.map} +0 -0
- /package/dist/{chunk-AV2OQF2O.js.map → chunk-3F3HA3R2.js.map} +0 -0
- /package/dist/{chunk-QZZPUREO.js.map → chunk-3GYSZHMT.js.map} +0 -0
- /package/dist/{chunk-AL6EHLB5.js.map → chunk-3X3PNU3T.js.map} +0 -0
- /package/dist/{chunk-BTJ6CAIA.js.map → chunk-4IYIGN53.js.map} +0 -0
- /package/dist/{chunk-BZTRPCCH.js.map → chunk-4KY5GSMB.js.map} +0 -0
- /package/dist/{chunk-UZSBCQEC.js.map → chunk-4OSG5Y6M.js.map} +0 -0
- /package/dist/{chunk-EHRE7ZG3.js.map → chunk-5B5WYAHQ.js.map} +0 -0
- /package/dist/{chunk-WCGJK4NQ.js.map → chunk-5FNZ3G6X.js.map} +0 -0
- /package/dist/{chunk-Y6DZ33PA.js.map → chunk-5GX5457J.js.map} +0 -0
- /package/dist/{chunk-OFCHT2TN.js.map → chunk-5LRV557D.js.map} +0 -0
- /package/dist/{chunk-CKUUP64O.js.map → chunk-5WCJLQTM.js.map} +0 -0
- /package/dist/{chunk-MZBWIJJN.js.map → chunk-63B2IZYE.js.map} +0 -0
- /package/dist/{chunk-DGRMWDQY.js.map → chunk-66BCOVW2.js.map} +0 -0
- /package/dist/{chunk-P2S6P7X6.js.map → chunk-6LG7BWKW.js.map} +0 -0
- /package/dist/{chunk-IPLYGWQF.js.map → chunk-7LCGFUMB.js.map} +0 -0
- /package/dist/{chunk-KYY4EACB.js.map → chunk-7Z3DLNSD.js.map} +0 -0
- /package/dist/{chunk-O4KYRDRT.js.map → chunk-B665A6BO.js.map} +0 -0
- /package/dist/{chunk-AKREOU5F.js.map → chunk-CB6ANA2I.js.map} +0 -0
- /package/dist/{chunk-5JMI26Q7.js.map → chunk-CBH2Z4UA.js.map} +0 -0
- /package/dist/{chunk-6M56RFFJ.js.map → chunk-CJRENHVZ.js.map} +0 -0
- /package/dist/{chunk-EGDYVYU7.js.map → chunk-CLWBFR7Q.js.map} +0 -0
- /package/dist/{chunk-6VAHJ2F6.js.map → chunk-DMDWFQMR.js.map} +0 -0
- /package/dist/{chunk-6OQ6N5RP.js.map → chunk-DPR2WTN3.js.map} +0 -0
- /package/dist/{chunk-K4QY55XV.js.map → chunk-EH4BQ7LT.js.map} +0 -0
- /package/dist/{chunk-5JCLELOP.js.map → chunk-EPJDSQHF.js.map} +0 -0
- /package/dist/{chunk-K2FSASGZ.js.map → chunk-EU534WGS.js.map} +0 -0
- /package/dist/{chunk-IWHEJXR2.js.map → chunk-EUAIYYYR.js.map} +0 -0
- /package/dist/{chunk-7KYJNHGM.js.map → chunk-EUCYTCFP.js.map} +0 -0
- /package/dist/{chunk-YNDLCWXS.js.map → chunk-EZ25VE3G.js.map} +0 -0
- /package/dist/{chunk-ON4ILX3G.js.map → chunk-FFOVKNQV.js.map} +0 -0
- /package/dist/{chunk-2KRNPFPK.js.map → chunk-FLI6DEIU.js.map} +0 -0
- /package/dist/{chunk-4G4B3Z2B.js.map → chunk-FP4JYE66.js.map} +0 -0
- /package/dist/{chunk-B7CANWCA.js.map → chunk-FSIMZNBC.js.map} +0 -0
- /package/dist/{chunk-OAIWPB2I.js.map → chunk-FT4UQYOV.js.map} +0 -0
- /package/dist/{chunk-X3VID2TT.js.map → chunk-FUFAXVBA.js.map} +0 -0
- /package/dist/{chunk-HYNEDMYJ.js.map → chunk-G2OYFTUD.js.map} +0 -0
- /package/dist/{chunk-XTN54NML.js.map → chunk-G3T6YMBO.js.map} +0 -0
- /package/dist/{chunk-XHWJRUVP.js.map → chunk-GELS5Z5Z.js.map} +0 -0
- /package/dist/{chunk-RT6D3WN7.js.map → chunk-GH7AOMJD.js.map} +0 -0
- /package/dist/{chunk-2LUSQV4U.js.map → chunk-GKJJNO7C.js.map} +0 -0
- /package/dist/{chunk-6Z2AZ4AJ.js.map → chunk-GMXWTJNU.js.map} +0 -0
- /package/dist/{chunk-B657ZGDH.js.map → chunk-HQSK2INQ.js.map} +0 -0
- /package/dist/{chunk-RWRQ67OR.js.map → chunk-I7S55EOB.js.map} +0 -0
- /package/dist/{chunk-KZO43HPY.js.map → chunk-J7JWFZHI.js.map} +0 -0
- /package/dist/{chunk-EMFBC7L3.js.map → chunk-JDZFIR2S.js.map} +0 -0
- /package/dist/{chunk-4THZGKQ2.js.map → chunk-JIHMUOOS.js.map} +0 -0
- /package/dist/{chunk-FZB4TS2W.js.map → chunk-JPTPS4OB.js.map} +0 -0
- /package/dist/{chunk-CS2JEHTB.js.map → chunk-JQ7XU625.js.map} +0 -0
- /package/dist/{chunk-3I3U6FFT.js.map → chunk-K7BN34IA.js.map} +0 -0
- /package/dist/{chunk-7OAIOE5P.js.map → chunk-KH2LKDX7.js.map} +0 -0
- /package/dist/{chunk-DA2INEB5.js.map → chunk-KR6ZKECI.js.map} +0 -0
- /package/dist/{chunk-5AOAQR37.js.map → chunk-L5DAHSEZ.js.map} +0 -0
- /package/dist/{chunk-RP5SJ3XR.js.map → chunk-LCKVXX5F.js.map} +0 -0
- /package/dist/{chunk-ZI7LMSNI.js.map → chunk-LLHZZOIB.js.map} +0 -0
- /package/dist/{chunk-OYKQ6T4V.js.map → chunk-MATDGSJ7.js.map} +0 -0
- /package/dist/{chunk-3NFN4Y4P.js.map → chunk-MGCKZWAE.js.map} +0 -0
- /package/dist/{chunk-6OMUHXHP.js.map → chunk-ML7ZJAKJ.js.map} +0 -0
- /package/dist/{chunk-YDH2FSDI.js.map → chunk-N45NEBOD.js.map} +0 -0
- /package/dist/{chunk-A2E4WNW4.js.map → chunk-N4C7QKOG.js.map} +0 -0
- /package/dist/{chunk-B43NMCGQ.js.map → chunk-N7KYEVLK.js.map} +0 -0
- /package/dist/{chunk-HT2C4EXO.js.map → chunk-NIRQGDYC.js.map} +0 -0
- /package/dist/{chunk-DXHVD4DS.js.map → chunk-NW2E4CI2.js.map} +0 -0
- /package/dist/{chunk-4NDWE44P.js.map → chunk-NZFFGO5O.js.map} +0 -0
- /package/dist/{chunk-KC46VZR5.js.map → chunk-O2IPAX26.js.map} +0 -0
- /package/dist/{chunk-M7V65M6H.js.map → chunk-O4SGYW7H.js.map} +0 -0
- /package/dist/{chunk-QUA7RLK6.js.map → chunk-OP6N4H6A.js.map} +0 -0
- /package/dist/{chunk-ZSJGYC3C.js.map → chunk-OQJKY3Z5.js.map} +0 -0
- /package/dist/{chunk-OFEHITAZ.js.map → chunk-OXNTOHL6.js.map} +0 -0
- /package/dist/{chunk-FQD2KPQH.js.map → chunk-P55FACBG.js.map} +0 -0
- /package/dist/{chunk-XERVJYH2.js.map → chunk-P5NQN4JE.js.map} +0 -0
- /package/dist/{chunk-XZLWYZ7C.js.map → chunk-P7TOIOT7.js.map} +0 -0
- /package/dist/{chunk-PBVNVKYN.js.map → chunk-PIN5OPBA.js.map} +0 -0
- /package/dist/{chunk-CNG2XVZG.js.map → chunk-PZHQWFR3.js.map} +0 -0
- /package/dist/{chunk-SVDU4OHO.js.map → chunk-Q35L7TYB.js.map} +0 -0
- /package/dist/{chunk-YEM7K3KD.js.map → chunk-QODKDRSP.js.map} +0 -0
- /package/dist/{chunk-IZT3BVDW.js.map → chunk-QOZJCSFO.js.map} +0 -0
- /package/dist/{chunk-6T42L5FI.js.map → chunk-QS3OLP5I.js.map} +0 -0
- /package/dist/{chunk-PAAJWQH5.js.map → chunk-QUMKDRCF.js.map} +0 -0
- /package/dist/{chunk-JFVCDEIC.js.map → chunk-QX6JN3O4.js.map} +0 -0
- /package/dist/{chunk-KZEMFD6E.js.map → chunk-R2H4ZFBJ.js.map} +0 -0
- /package/dist/{chunk-GKIXBH7Y.js.map → chunk-RTKV5XHL.js.map} +0 -0
- /package/dist/{chunk-ZQ3WU6JO.js.map → chunk-RXFCU3CY.js.map} +0 -0
- /package/dist/{chunk-BOOFTFFE.js.map → chunk-S2I7DL5Q.js.map} +0 -0
- /package/dist/{chunk-2NCBDGND.js.map → chunk-SA6GMZJY.js.map} +0 -0
- /package/dist/{chunk-NSFOERZQ.js.map → chunk-SIIRTDJ4.js.map} +0 -0
- /package/dist/{chunk-A6TVQ3QP.js.map → chunk-SS3IS2JR.js.map} +0 -0
- /package/dist/{chunk-VFTK5WKI.js.map → chunk-STBX5X6B.js.map} +0 -0
- /package/dist/{chunk-WVHRNAXL.js.map → chunk-SWWHIJUJ.js.map} +0 -0
- /package/dist/{chunk-WADSXS4K.js.map → chunk-SX4QDWXK.js.map} +0 -0
- /package/dist/{chunk-ZIZ2G47N.js.map → chunk-TITG2NBS.js.map} +0 -0
- /package/dist/{chunk-LZKOVXMX.js.map → chunk-TRMJ6BYC.js.map} +0 -0
- /package/dist/{chunk-U7VPOXVM.js.map → chunk-TZNDKTX5.js.map} +0 -0
- /package/dist/{chunk-WWSRLS4M.js.map → chunk-UMTCNEVQ.js.map} +0 -0
- /package/dist/{chunk-4TTGRETU.js.map → chunk-UQDG3YLN.js.map} +0 -0
- /package/dist/{chunk-AAM66QCP.js.map → chunk-UZRSI6NX.js.map} +0 -0
- /package/dist/{chunk-2CXQZXWM.js.map → chunk-V4MB5ONM.js.map} +0 -0
- /package/dist/{chunk-CYEK6Z3P.js.map → chunk-VW6VIJOS.js.map} +0 -0
- /package/dist/{chunk-5ZJYHOJT.js.map → chunk-W47S5TIH.js.map} +0 -0
- /package/dist/{chunk-CBP4HWCL.js.map → chunk-W5MCEVUS.js.map} +0 -0
- /package/dist/{chunk-WETFW255.js.map → chunk-WLMZ2L5P.js.map} +0 -0
- /package/dist/{chunk-XRBHXUTQ.js.map → chunk-WSGPFRBH.js.map} +0 -0
- /package/dist/{chunk-UOKPJFO3.js.map → chunk-WVADKFWV.js.map} +0 -0
- /package/dist/{chunk-P34FDDB5.js.map → chunk-XISROV24.js.map} +0 -0
- /package/dist/{chunk-FZVROZKC.js.map → chunk-XVZA6VXC.js.map} +0 -0
- /package/dist/{chunk-JUWJYXI4.js.map → chunk-Y4NKEXQT.js.map} +0 -0
- /package/dist/{chunk-2ZQJLBV6.js.map → chunk-YE36AJL7.js.map} +0 -0
- /package/dist/{chunk-PCWXLAJY.js.map → chunk-YFMBHQRG.js.map} +0 -0
- /package/dist/{chunk-RBJQYMMT.js.map → chunk-YRULQW5J.js.map} +0 -0
- /package/dist/{chunk-QUNDYIYZ.js.map → chunk-YYEOR4XN.js.map} +0 -0
- /package/dist/{chunk-VYPFEVOM.js.map → chunk-ZJVMUBYF.js.map} +0 -0
- /package/dist/{chunk-5MDM7UE4.js.map → chunk-ZSH2NRDV.js.map} +0 -0
- /package/dist/{chunk-3J5JKBYD.js.map → chunk-ZV65I6ME.js.map} +0 -0
- /package/dist/{first-start-migration-HYAMKJ6V.js.map → first-start-migration-6A5BJPDW.js.map} +0 -0
package/dist/extraction.js
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ExtractionEngine,
|
|
3
3
|
shouldEnableLocalExtractionThinking
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-WSGPFRBH.js";
|
|
5
|
+
import "./chunk-22W2XWGH.js";
|
|
6
6
|
import "./chunk-54V4BZWP.js";
|
|
7
7
|
import "./chunk-2CGLBUW3.js";
|
|
8
8
|
import "./chunk-AAQA6ZUP.js";
|
|
9
9
|
import "./chunk-JHU4EYDV.js";
|
|
10
10
|
import "./chunk-E4X2YX2F.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-XVZA6VXC.js";
|
|
12
|
+
import "./chunk-JE26AUX6.js";
|
|
12
13
|
import "./chunk-A6CXG5WI.js";
|
|
13
14
|
import "./chunk-QJ2AX6DU.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-CIIHIAJ2.js";
|
|
16
|
+
import "./chunk-D5SSBCYY.js";
|
|
17
|
+
import "./chunk-77R7BQZ2.js";
|
|
18
|
+
import "./chunk-AIYXVWUH.js";
|
|
17
19
|
import "./chunk-BVRZSI7Q.js";
|
|
18
|
-
import "./chunk-LNH76ZJX.js";
|
|
19
20
|
import {
|
|
20
21
|
classifyExtractionThrownError,
|
|
21
22
|
classifyFallbackParseFailure,
|
|
@@ -34,11 +35,11 @@ import "./chunk-5TJEOU6Y.js";
|
|
|
34
35
|
import "./chunk-754XN6LX.js";
|
|
35
36
|
import "./chunk-BLVHDY2U.js";
|
|
36
37
|
import "./chunk-5MA7ZLPD.js";
|
|
37
|
-
import "./chunk-
|
|
38
|
+
import "./chunk-TITG2NBS.js";
|
|
38
39
|
import "./chunk-3UXOZBHV.js";
|
|
39
40
|
import "./chunk-PIWFNPQT.js";
|
|
40
|
-
import "./chunk-
|
|
41
|
-
import "./chunk-
|
|
41
|
+
import "./chunk-CLWBFR7Q.js";
|
|
42
|
+
import "./chunk-PIN5OPBA.js";
|
|
42
43
|
import "./chunk-CSAKJVXW.js";
|
|
43
44
|
import "./chunk-K2XUWZBM.js";
|
|
44
45
|
import "./chunk-OD4FM2U7.js";
|
|
@@ -52,19 +53,19 @@ import "./chunk-ADXCCZL2.js";
|
|
|
52
53
|
import "./chunk-236PXYG7.js";
|
|
53
54
|
import "./chunk-ZCUTSMR2.js";
|
|
54
55
|
import "./chunk-QDW3E4RD.js";
|
|
55
|
-
import "./chunk-
|
|
56
|
+
import "./chunk-PAZ35RJ4.js";
|
|
56
57
|
import "./chunk-UHVXE24Y.js";
|
|
57
|
-
import "./chunk-
|
|
58
|
+
import "./chunk-TRMJ6BYC.js";
|
|
58
59
|
import "./chunk-V4JZCTMK.js";
|
|
59
|
-
import "./chunk-
|
|
60
|
-
import "./chunk-
|
|
60
|
+
import "./chunk-N4C7QKOG.js";
|
|
61
|
+
import "./chunk-O2IPAX26.js";
|
|
62
|
+
import "./chunk-S7LWX2PQ.js";
|
|
63
|
+
import "./chunk-T2YX56QI.js";
|
|
61
64
|
import "./chunk-CYEPCZN5.js";
|
|
62
65
|
import "./chunk-T3FMRLWQ.js";
|
|
63
66
|
import "./chunk-7VO6E5UD.js";
|
|
64
|
-
import "./chunk-VOKHZRHW.js";
|
|
65
|
-
import "./chunk-S7LWX2PQ.js";
|
|
66
|
-
import "./chunk-T2YX56QI.js";
|
|
67
67
|
import "./chunk-4O6WRBGE.js";
|
|
68
|
+
import "./chunk-VOKHZRHW.js";
|
|
68
69
|
import "./chunk-GUMZC2BO.js";
|
|
69
70
|
import "./chunk-TFA6HPOA.js";
|
|
70
71
|
import "./chunk-F4TWWUMP.js";
|
|
@@ -74,37 +75,38 @@ import "./chunk-S2V7RUCL.js";
|
|
|
74
75
|
import "./chunk-X3724WL4.js";
|
|
75
76
|
import "./chunk-MRPOZBJC.js";
|
|
76
77
|
import "./chunk-S2HLHAZ4.js";
|
|
77
|
-
import "./chunk-LDXUBPMO.js";
|
|
78
78
|
import "./chunk-DM2T26WE.js";
|
|
79
|
-
import "./chunk-
|
|
79
|
+
import "./chunk-LDXUBPMO.js";
|
|
80
80
|
import "./chunk-2DT7PIDZ.js";
|
|
81
81
|
import "./chunk-AAD2ZS6P.js";
|
|
82
|
-
import "./chunk-
|
|
82
|
+
import "./chunk-FF6N7BXC.js";
|
|
83
|
+
import "./chunk-JNIVZNIB.js";
|
|
84
|
+
import "./chunk-YXZG5TVN.js";
|
|
83
85
|
import "./chunk-ZIKENA2C.js";
|
|
84
86
|
import "./chunk-3OUGSOJP.js";
|
|
85
87
|
import "./chunk-SCU65EZI.js";
|
|
86
88
|
import "./chunk-3ONXXHQO.js";
|
|
87
|
-
import "./chunk-YXZG5TVN.js";
|
|
88
|
-
import "./chunk-3WU7XOFN.js";
|
|
89
89
|
import "./chunk-6MKLMEBE.js";
|
|
90
|
-
import "./chunk-
|
|
90
|
+
import "./chunk-3WU7XOFN.js";
|
|
91
|
+
import "./chunk-G7D6GZ5J.js";
|
|
92
|
+
import "./chunk-3GYSZHMT.js";
|
|
91
93
|
import "./chunk-M5GVCJSJ.js";
|
|
92
94
|
import "./chunk-RBOJCG4T.js";
|
|
93
|
-
import "./chunk-
|
|
95
|
+
import "./chunk-NZFFGO5O.js";
|
|
94
96
|
import "./chunk-5WITETWU.js";
|
|
95
97
|
import "./chunk-6CIAGZ6X.js";
|
|
96
98
|
import "./chunk-7CT3AI52.js";
|
|
97
|
-
import "./chunk-
|
|
99
|
+
import "./chunk-6EDW54SQ.js";
|
|
98
100
|
import "./chunk-ZJP66Q4I.js";
|
|
99
|
-
import "./chunk-
|
|
101
|
+
import "./chunk-66BCOVW2.js";
|
|
100
102
|
import "./chunk-G26YNEOC.js";
|
|
103
|
+
import "./chunk-SWWHIJUJ.js";
|
|
104
|
+
import "./chunk-TPSLVZHS.js";
|
|
101
105
|
import "./chunk-SIGAGKNE.js";
|
|
102
106
|
import "./chunk-IUM3VSHI.js";
|
|
103
|
-
import "./chunk-WVHRNAXL.js";
|
|
104
|
-
import "./chunk-TPSLVZHS.js";
|
|
105
|
-
import "./chunk-23G5P7TA.js";
|
|
106
107
|
import "./chunk-C64XATK7.js";
|
|
107
108
|
import "./chunk-42JKGUFJ.js";
|
|
109
|
+
import "./chunk-23G5P7TA.js";
|
|
108
110
|
import "./chunk-TKC5LZ43.js";
|
|
109
111
|
import "./chunk-I55KAVET.js";
|
|
110
112
|
import "./chunk-L2EXJQJP.js";
|
|
@@ -118,39 +120,40 @@ import "./chunk-YCVB7X56.js";
|
|
|
118
120
|
import "./chunk-PQVCH2AE.js";
|
|
119
121
|
import "./chunk-PJKTFXE2.js";
|
|
120
122
|
import "./chunk-W5BIQOAJ.js";
|
|
121
|
-
import "./chunk-
|
|
123
|
+
import "./chunk-3MO4LWYU.js";
|
|
122
124
|
import "./chunk-YBA52OKG.js";
|
|
123
|
-
import "./chunk-
|
|
125
|
+
import "./chunk-K7BN34IA.js";
|
|
124
126
|
import "./chunk-353C5UNV.js";
|
|
125
|
-
import "./chunk-
|
|
127
|
+
import "./chunk-5LRV557D.js";
|
|
126
128
|
import "./chunk-BT7NVCML.js";
|
|
127
|
-
import "./chunk-
|
|
129
|
+
import "./chunk-STBX5X6B.js";
|
|
128
130
|
import "./chunk-BJMBJZ2Y.js";
|
|
129
131
|
import "./chunk-UKJAGEXH.js";
|
|
130
132
|
import "./chunk-FP2373TW.js";
|
|
131
133
|
import "./chunk-WC3V7HHP.js";
|
|
132
134
|
import "./chunk-L272A5QW.js";
|
|
133
|
-
import "./chunk-
|
|
135
|
+
import "./chunk-P55FACBG.js";
|
|
134
136
|
import "./chunk-ZA53AZND.js";
|
|
135
137
|
import "./chunk-7RJUVTVF.js";
|
|
136
138
|
import "./chunk-AL3UYZ5N.js";
|
|
137
139
|
import "./chunk-RL6NEVXT.js";
|
|
140
|
+
import "./chunk-YET735EZ.js";
|
|
138
141
|
import "./chunk-PWPIERBM.js";
|
|
139
142
|
import "./chunk-IG747LRN.js";
|
|
140
143
|
import "./chunk-C7HJ3NEI.js";
|
|
141
|
-
import "./chunk-
|
|
144
|
+
import "./chunk-DEY7B77Y.js";
|
|
142
145
|
import "./chunk-5FVVY2EB.js";
|
|
143
146
|
import "./chunk-BTNNL7ZW.js";
|
|
144
147
|
import "./chunk-JDSVLVCG.js";
|
|
145
148
|
import "./chunk-5GKPFL3S.js";
|
|
146
149
|
import "./chunk-JAKIDQB2.js";
|
|
147
|
-
import "./chunk-
|
|
150
|
+
import "./chunk-5B5WYAHQ.js";
|
|
148
151
|
import "./chunk-P7FMDTKL.js";
|
|
149
152
|
import "./chunk-ESG6ITGP.js";
|
|
150
153
|
import "./chunk-PCXDUHQH.js";
|
|
151
154
|
import "./chunk-VUFL7X3H.js";
|
|
152
155
|
import "./chunk-C5LWPYS3.js";
|
|
153
|
-
import "./chunk-
|
|
156
|
+
import "./chunk-PGRZ3FYC.js";
|
|
154
157
|
import "./chunk-3Q3N35W7.js";
|
|
155
158
|
import "./chunk-ZEFVK7XC.js";
|
|
156
159
|
import "./chunk-6KH5NLQS.js";
|
|
@@ -2,12 +2,12 @@ import {
|
|
|
2
2
|
applyUtilityPromotionRuntimePolicy,
|
|
3
3
|
loadUtilityRuntimeValues
|
|
4
4
|
} from "./chunk-SWIKABKI.js";
|
|
5
|
-
import {
|
|
6
|
-
TierMigrationExecutor
|
|
7
|
-
} from "./chunk-YRFAYOFQ.js";
|
|
8
5
|
import {
|
|
9
6
|
decideTierTransition
|
|
10
7
|
} from "./chunk-GCBIXUPT.js";
|
|
8
|
+
import {
|
|
9
|
+
TierMigrationExecutor
|
|
10
|
+
} from "./chunk-YRFAYOFQ.js";
|
|
11
11
|
import "./chunk-W3K3HITK.js";
|
|
12
12
|
import "./chunk-EBA5DA77.js";
|
|
13
13
|
import "./chunk-TBBDFYXW.js";
|
|
@@ -273,4 +273,4 @@ export {
|
|
|
273
273
|
LIFECYCLE_INIT_DONE_MARKER,
|
|
274
274
|
runFirstStartMigration
|
|
275
275
|
};
|
|
276
|
-
//# sourceMappingURL=first-start-migration-
|
|
276
|
+
//# sourceMappingURL=first-start-migration-6A5BJPDW.js.map
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
buildRetiredFactTombstoneInputs
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-TRMJ6BYC.js";
|
|
4
4
|
import {
|
|
5
5
|
supersessionKeysForFact
|
|
6
6
|
} from "./chunk-5WITETWU.js";
|
|
7
7
|
import "./chunk-6CIAGZ6X.js";
|
|
8
8
|
import "./chunk-5FVVY2EB.js";
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-5B5WYAHQ.js";
|
|
10
|
+
import "./chunk-PGRZ3FYC.js";
|
|
11
|
+
import "./chunk-BTTPKDIL.js";
|
|
11
12
|
import "./chunk-3WCASNQZ.js";
|
|
12
13
|
import "./chunk-PZ5AY32C.js";
|
|
13
14
|
|
|
@@ -99,4 +100,4 @@ export {
|
|
|
99
100
|
ForgetMemoryNotFoundError,
|
|
100
101
|
forgetMemory
|
|
101
102
|
};
|
|
102
|
-
//# sourceMappingURL=forget-
|
|
103
|
+
//# sourceMappingURL=forget-GXBWFKRC.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/maintenance/forget.ts"],"sourcesContent":["/**\n * Operator-facing memory forgetting (issue #686 PR 4/6).\n *\n * `remnic forget <id>` marks a memory as forgotten — a soft-delete that:\n *\n * 1. Sets `status: \"forgotten\"`, `forgottenAt`, optional\n * `forgottenReason` in YAML frontmatter via the existing\n * `storage.writeMemoryFrontmatter` path (which logs the change\n * to the lifecycle ledger and invalidates caches).\n * 2. Returns a structured result describing what changed so the\n * CLI and downstream telemetry can render it.\n *\n * Memories with `status === \"forgotten\"` are excluded from recall,\n * browse, and entity attribution by the status filters that serve\n * active user context. A future maintenance cron will hard-delete\n * forgotten memories after a configurable retention window (default\n * 90 days) — for this PR the file stays on disk and the act is\n * reversible by editing the YAML directly.\n *\n * This module ships the pure helper; the CLI wires it in `cli.ts` as\n * a new `remnic forget` subcommand.\n */\n\nimport type { StorageManager } from \"../storage.js\";\nimport { buildRetiredFactTombstoneInputs } from \"../lifecycle/tombstones.js\";\nimport { supersessionKeysForFact } from \"../temporal-supersession.js\";\nimport type { MemoryFile } from \"../types.js\";\n\nexport interface ForgetMemoryRequest {\n /** Memory id (frontmatter `id`) to forget. */\n id: string;\n /** Optional human-readable reason. */\n reason?: string;\n /** Override the timestamp written to `forgottenAt`. Defaults to `new Date().toISOString()`. */\n now?: () => Date;\n}\n\nexport interface ForgetMemoryResult {\n /** Memory id that was forgotten. */\n id: string;\n /** Filesystem path of the forgotten memory. */\n path: string;\n /** Prior status before the forget call, for audit. */\n priorStatus: string;\n /** Timestamp written to `forgottenAt`. */\n forgottenAt: string;\n /** Reason captured (or empty string if none). */\n reason: string;\n}\n\nexport class ForgetMemoryNotFoundError extends Error {\n readonly code = \"memory_not_found\" as const;\n constructor(id: string) {\n super(`memory not found: ${id}`);\n this.name = \"ForgetMemoryNotFoundError\";\n }\n}\n\nexport class ForgetMemoryAlreadyForgottenError extends Error {\n readonly code = \"already_forgotten\" as const;\n constructor(id: string, forgottenAt: string) {\n super(`memory ${id} was already forgotten at ${forgottenAt}`);\n this.name = \"ForgetMemoryAlreadyForgottenError\";\n }\n}\n\n/**\n * Mark a memory as forgotten. Pure orchestration over storage —\n * caller supplies the storage instance and the request. Status\n * filters elsewhere in the codebase exclude `status: \"forgotten\"`\n * from recall/browse surfaces before they serve active user context.\n */\nexport async function forgetMemory(\n storage: StorageManager,\n request: ForgetMemoryRequest,\n): Promise<ForgetMemoryResult> {\n const id = typeof request.id === \"string\" ? request.id.trim() : \"\";\n if (id.length === 0) {\n throw new Error(\"forget: memory id is required and must be non-empty\");\n }\n const memory = await findMemoryById(storage, id);\n if (!memory) {\n throw new ForgetMemoryNotFoundError(id);\n }\n if (memory.frontmatter.status === \"forgotten\") {\n throw new ForgetMemoryAlreadyForgottenError(\n id,\n memory.frontmatter.forgottenAt ?? \"(unknown)\",\n );\n }\n const priorStatus =\n typeof memory.frontmatter.status === \"string\" ? memory.frontmatter.status : \"active\";\n const now = (request.now ?? (() => new Date()))();\n const forgottenAt = now.toISOString();\n const reason = typeof request.reason === \"string\" ? request.reason.trim() : \"\";\n await storage.writeMemoryFrontmatter(memory, {\n status: \"forgotten\",\n forgottenAt,\n forgottenReason: reason.length > 0 ? reason : undefined,\n updated: forgottenAt,\n }, {\n actor: \"remnic-forget\",\n reasonCode: \"operator_forget\",\n });\n // Issue #1579 thread OchiF: emit a LIVE tombstone at forget time so a\n // forgotten FACT cannot resurrect via re-extraction/import before an\n // operator runs `remnic doctor --rebuild-tombstones`. Without this, the\n // non-resurrection chokepoint in writeMemory has nothing to match — the\n // forgotten fact's content hash is gone from the active index but no\n // tombstone exists until a manual rebuild derives one — so the same fact\n // written again through writeMemory becomes active. Mirrors supersedeMemory\n // (contradiction) and applyTemporalSupersession via the shared\n // buildRetiredFactTombstoneInputs helper. Best-effort (rule 34): a tombstone\n // append failure must not fail the forget, which already succeeded on disk.\n if (memory.frontmatter.category === \"fact\") {\n for (const input of buildRetiredFactTombstoneInputs(\n {\n id,\n content: memory.content,\n ...(memory.frontmatter.contentHash\n ? { contentHash: memory.frontmatter.contentHash }\n : {}),\n ...(memory.frontmatter.entityRef\n ? { entityRef: memory.frontmatter.entityRef }\n : {}),\n ...(memory.frontmatter.structuredAttributes\n ? { structuredAttributes: memory.frontmatter.structuredAttributes }\n : {}),\n },\n {\n reason: \"retraction\",\n createdBy: \"user_correction\",\n createdAt: forgottenAt,\n supersessionKeysForFact,\n },\n )) {\n try {\n await storage.appendTombstone(input);\n } catch {\n // Best-effort — the forget already succeeded on disk.\n }\n }\n }\n return {\n id,\n path: memory.path,\n priorStatus,\n forgottenAt,\n reason,\n };\n}\n\nasync function findMemoryById(\n storage: StorageManager,\n id: string,\n): Promise<MemoryFile | null> {\n const hot = await storage.readAllMemories();\n const hotMatch = hot.find((m) => m.frontmatter.id === id);\n if (hotMatch) return hotMatch;\n\n const archived = await storage.readArchivedMemories();\n const archivedMatch = archived.find((m) => m.frontmatter.id === id);\n if (archivedMatch) return archivedMatch;\n\n const cold = await storage.readAllColdMemories();\n return cold.find((m) => m.frontmatter.id === id) ?? null;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/maintenance/forget.ts"],"sourcesContent":["/**\n * Operator-facing memory forgetting (issue #686 PR 4/6).\n *\n * `remnic forget <id>` marks a memory as forgotten — a soft-delete that:\n *\n * 1. Sets `status: \"forgotten\"`, `forgottenAt`, optional\n * `forgottenReason` in YAML frontmatter via the existing\n * `storage.writeMemoryFrontmatter` path (which logs the change\n * to the lifecycle ledger and invalidates caches).\n * 2. Returns a structured result describing what changed so the\n * CLI and downstream telemetry can render it.\n *\n * Memories with `status === \"forgotten\"` are excluded from recall,\n * browse, and entity attribution by the status filters that serve\n * active user context. A future maintenance cron will hard-delete\n * forgotten memories after a configurable retention window (default\n * 90 days) — for this PR the file stays on disk and the act is\n * reversible by editing the YAML directly.\n *\n * This module ships the pure helper; the CLI wires it in `cli.ts` as\n * a new `remnic forget` subcommand.\n */\n\nimport type { StorageManager } from \"../storage.js\";\nimport { buildRetiredFactTombstoneInputs } from \"../lifecycle/tombstones.js\";\nimport { supersessionKeysForFact } from \"../temporal-supersession.js\";\nimport type { MemoryFile } from \"../types.js\";\n\nexport interface ForgetMemoryRequest {\n /** Memory id (frontmatter `id`) to forget. */\n id: string;\n /** Optional human-readable reason. */\n reason?: string;\n /** Override the timestamp written to `forgottenAt`. Defaults to `new Date().toISOString()`. */\n now?: () => Date;\n}\n\nexport interface ForgetMemoryResult {\n /** Memory id that was forgotten. */\n id: string;\n /** Filesystem path of the forgotten memory. */\n path: string;\n /** Prior status before the forget call, for audit. */\n priorStatus: string;\n /** Timestamp written to `forgottenAt`. */\n forgottenAt: string;\n /** Reason captured (or empty string if none). */\n reason: string;\n}\n\nexport class ForgetMemoryNotFoundError extends Error {\n readonly code = \"memory_not_found\" as const;\n constructor(id: string) {\n super(`memory not found: ${id}`);\n this.name = \"ForgetMemoryNotFoundError\";\n }\n}\n\nexport class ForgetMemoryAlreadyForgottenError extends Error {\n readonly code = \"already_forgotten\" as const;\n constructor(id: string, forgottenAt: string) {\n super(`memory ${id} was already forgotten at ${forgottenAt}`);\n this.name = \"ForgetMemoryAlreadyForgottenError\";\n }\n}\n\n/**\n * Mark a memory as forgotten. Pure orchestration over storage —\n * caller supplies the storage instance and the request. Status\n * filters elsewhere in the codebase exclude `status: \"forgotten\"`\n * from recall/browse surfaces before they serve active user context.\n */\nexport async function forgetMemory(\n storage: StorageManager,\n request: ForgetMemoryRequest,\n): Promise<ForgetMemoryResult> {\n const id = typeof request.id === \"string\" ? request.id.trim() : \"\";\n if (id.length === 0) {\n throw new Error(\"forget: memory id is required and must be non-empty\");\n }\n const memory = await findMemoryById(storage, id);\n if (!memory) {\n throw new ForgetMemoryNotFoundError(id);\n }\n if (memory.frontmatter.status === \"forgotten\") {\n throw new ForgetMemoryAlreadyForgottenError(\n id,\n memory.frontmatter.forgottenAt ?? \"(unknown)\",\n );\n }\n const priorStatus =\n typeof memory.frontmatter.status === \"string\" ? memory.frontmatter.status : \"active\";\n const now = (request.now ?? (() => new Date()))();\n const forgottenAt = now.toISOString();\n const reason = typeof request.reason === \"string\" ? request.reason.trim() : \"\";\n await storage.writeMemoryFrontmatter(memory, {\n status: \"forgotten\",\n forgottenAt,\n forgottenReason: reason.length > 0 ? reason : undefined,\n updated: forgottenAt,\n }, {\n actor: \"remnic-forget\",\n reasonCode: \"operator_forget\",\n });\n // Issue #1579 thread OchiF: emit a LIVE tombstone at forget time so a\n // forgotten FACT cannot resurrect via re-extraction/import before an\n // operator runs `remnic doctor --rebuild-tombstones`. Without this, the\n // non-resurrection chokepoint in writeMemory has nothing to match — the\n // forgotten fact's content hash is gone from the active index but no\n // tombstone exists until a manual rebuild derives one — so the same fact\n // written again through writeMemory becomes active. Mirrors supersedeMemory\n // (contradiction) and applyTemporalSupersession via the shared\n // buildRetiredFactTombstoneInputs helper. Best-effort (rule 34): a tombstone\n // append failure must not fail the forget, which already succeeded on disk.\n if (memory.frontmatter.category === \"fact\") {\n for (const input of buildRetiredFactTombstoneInputs(\n {\n id,\n content: memory.content,\n ...(memory.frontmatter.contentHash\n ? { contentHash: memory.frontmatter.contentHash }\n : {}),\n ...(memory.frontmatter.entityRef\n ? { entityRef: memory.frontmatter.entityRef }\n : {}),\n ...(memory.frontmatter.structuredAttributes\n ? { structuredAttributes: memory.frontmatter.structuredAttributes }\n : {}),\n },\n {\n reason: \"retraction\",\n createdBy: \"user_correction\",\n createdAt: forgottenAt,\n supersessionKeysForFact,\n },\n )) {\n try {\n await storage.appendTombstone(input);\n } catch {\n // Best-effort — the forget already succeeded on disk.\n }\n }\n }\n return {\n id,\n path: memory.path,\n priorStatus,\n forgottenAt,\n reason,\n };\n}\n\nasync function findMemoryById(\n storage: StorageManager,\n id: string,\n): Promise<MemoryFile | null> {\n const hot = await storage.readAllMemories();\n const hotMatch = hot.find((m) => m.frontmatter.id === id);\n if (hotMatch) return hotMatch;\n\n const archived = await storage.readArchivedMemories();\n const archivedMatch = archived.find((m) => m.frontmatter.id === id);\n if (archivedMatch) return archivedMatch;\n\n const cold = await storage.readAllColdMemories();\n return cold.find((m) => m.frontmatter.id === id) ?? null;\n}\n"],"mappings":";;;;;;;;;;;;;;;AAkDO,IAAM,4BAAN,cAAwC,MAAM;AAAA,EAC1C,OAAO;AAAA,EAChB,YAAY,IAAY;AACtB,UAAM,qBAAqB,EAAE,EAAE;AAC/B,SAAK,OAAO;AAAA,EACd;AACF;AAEO,IAAM,oCAAN,cAAgD,MAAM;AAAA,EAClD,OAAO;AAAA,EAChB,YAAY,IAAY,aAAqB;AAC3C,UAAM,UAAU,EAAE,6BAA6B,WAAW,EAAE;AAC5D,SAAK,OAAO;AAAA,EACd;AACF;AAQA,eAAsB,aACpB,SACA,SAC6B;AAC7B,QAAM,KAAK,OAAO,QAAQ,OAAO,WAAW,QAAQ,GAAG,KAAK,IAAI;AAChE,MAAI,GAAG,WAAW,GAAG;AACnB,UAAM,IAAI,MAAM,qDAAqD;AAAA,EACvE;AACA,QAAM,SAAS,MAAM,eAAe,SAAS,EAAE;AAC/C,MAAI,CAAC,QAAQ;AACX,UAAM,IAAI,0BAA0B,EAAE;AAAA,EACxC;AACA,MAAI,OAAO,YAAY,WAAW,aAAa;AAC7C,UAAM,IAAI;AAAA,MACR;AAAA,MACA,OAAO,YAAY,eAAe;AAAA,IACpC;AAAA,EACF;AACA,QAAM,cACJ,OAAO,OAAO,YAAY,WAAW,WAAW,OAAO,YAAY,SAAS;AAC9E,QAAM,OAAO,QAAQ,QAAQ,MAAM,oBAAI,KAAK,IAAI;AAChD,QAAM,cAAc,IAAI,YAAY;AACpC,QAAM,SAAS,OAAO,QAAQ,WAAW,WAAW,QAAQ,OAAO,KAAK,IAAI;AAC5E,QAAM,QAAQ,uBAAuB,QAAQ;AAAA,IAC3C,QAAQ;AAAA,IACR;AAAA,IACA,iBAAiB,OAAO,SAAS,IAAI,SAAS;AAAA,IAC9C,SAAS;AAAA,EACX,GAAG;AAAA,IACD,OAAO;AAAA,IACP,YAAY;AAAA,EACd,CAAC;AAWD,MAAI,OAAO,YAAY,aAAa,QAAQ;AAC1C,eAAW,SAAS;AAAA,MAClB;AAAA,QACE;AAAA,QACA,SAAS,OAAO;AAAA,QAChB,GAAI,OAAO,YAAY,cACnB,EAAE,aAAa,OAAO,YAAY,YAAY,IAC9C,CAAC;AAAA,QACL,GAAI,OAAO,YAAY,YACnB,EAAE,WAAW,OAAO,YAAY,UAAU,IAC1C,CAAC;AAAA,QACL,GAAI,OAAO,YAAY,uBACnB,EAAE,sBAAsB,OAAO,YAAY,qBAAqB,IAChE,CAAC;AAAA,MACP;AAAA,MACA;AAAA,QACE,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,WAAW;AAAA,QACX;AAAA,MACF;AAAA,IACF,GAAG;AACD,UAAI;AACF,cAAM,QAAQ,gBAAgB,KAAK;AAAA,MACrC,QAAQ;AAAA,MAER;AAAA,IACF;AAAA,EACF;AACA,SAAO;AAAA,IACL;AAAA,IACA,MAAM,OAAO;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEA,eAAe,eACb,SACA,IAC4B;AAC5B,QAAM,MAAM,MAAM,QAAQ,gBAAgB;AAC1C,QAAM,WAAW,IAAI,KAAK,CAAC,MAAM,EAAE,YAAY,OAAO,EAAE;AACxD,MAAI,SAAU,QAAO;AAErB,QAAM,WAAW,MAAM,QAAQ,qBAAqB;AACpD,QAAM,gBAAgB,SAAS,KAAK,CAAC,MAAM,EAAE,YAAY,OAAO,EAAE;AAClE,MAAI,cAAe,QAAO;AAE1B,QAAM,OAAO,MAAM,QAAQ,oBAAoB;AAC/C,SAAO,KAAK,KAAK,CAAC,MAAM,EAAE,YAAY,OAAO,EAAE,KAAK;AACtD;","names":[]}
|
|
@@ -5,18 +5,19 @@ import {
|
|
|
5
5
|
readGraphEdgeDecayStatus,
|
|
6
6
|
runGraphEdgeDecayMaintenance,
|
|
7
7
|
runGraphEdgeDecayMaintenanceAcrossNamespaces
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-ZQ3WU6JO.js";
|
|
13
|
-
import "./chunk-GKCXTSFF.js";
|
|
8
|
+
} from "./chunk-5GX5457J.js";
|
|
9
|
+
import "./chunk-YYEOR4XN.js";
|
|
10
|
+
import "./chunk-4IYIGN53.js";
|
|
11
|
+
import "./chunk-RXFCU3CY.js";
|
|
14
12
|
import "./chunk-2LSZVONP.js";
|
|
15
13
|
import "./chunk-DEUNUKTD.js";
|
|
16
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-LXY5VVGM.js";
|
|
15
|
+
import "./chunk-GKCXTSFF.js";
|
|
16
|
+
import "./chunk-5B5WYAHQ.js";
|
|
17
17
|
import "./chunk-PCXDUHQH.js";
|
|
18
18
|
import "./chunk-VUFL7X3H.js";
|
|
19
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-PGRZ3FYC.js";
|
|
20
|
+
import "./chunk-BTTPKDIL.js";
|
|
20
21
|
import "./chunk-KNA3BXXL.js";
|
|
21
22
|
import "./chunk-3WCASNQZ.js";
|
|
22
23
|
import "./chunk-PZ5AY32C.js";
|
|
@@ -28,4 +29,4 @@ export {
|
|
|
28
29
|
runGraphEdgeDecayMaintenance,
|
|
29
30
|
runGraphEdgeDecayMaintenanceAcrossNamespaces
|
|
30
31
|
};
|
|
31
|
-
//# sourceMappingURL=graph-edge-decay-
|
|
32
|
+
//# sourceMappingURL=graph-edge-decay-BYPZVJT4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/graph-jsonl.js
CHANGED
|
@@ -3,15 +3,16 @@ import {
|
|
|
3
3
|
restoreRemovedNodeEdges,
|
|
4
4
|
rollbackNodeEdgeRewrite,
|
|
5
5
|
writeGraphJsonlAtomic
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-ZQ3WU6JO.js";
|
|
10
|
-
import "./chunk-GKCXTSFF.js";
|
|
6
|
+
} from "./chunk-YYEOR4XN.js";
|
|
7
|
+
import "./chunk-4IYIGN53.js";
|
|
8
|
+
import "./chunk-RXFCU3CY.js";
|
|
11
9
|
import "./chunk-2LSZVONP.js";
|
|
12
10
|
import "./chunk-DEUNUKTD.js";
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-LXY5VVGM.js";
|
|
12
|
+
import "./chunk-GKCXTSFF.js";
|
|
13
|
+
import "./chunk-5B5WYAHQ.js";
|
|
14
|
+
import "./chunk-PGRZ3FYC.js";
|
|
15
|
+
import "./chunk-BTTPKDIL.js";
|
|
15
16
|
import "./chunk-KNA3BXXL.js";
|
|
16
17
|
import "./chunk-3WCASNQZ.js";
|
|
17
18
|
import "./chunk-PZ5AY32C.js";
|
package/dist/graph-snapshot.js
CHANGED
|
@@ -4,15 +4,16 @@ import {
|
|
|
4
4
|
buildGraphSnapshot,
|
|
5
5
|
normalizeGraphSnapshotLimit,
|
|
6
6
|
parseGraphSnapshotSince
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-ZQ3WU6JO.js";
|
|
11
|
-
import "./chunk-GKCXTSFF.js";
|
|
7
|
+
} from "./chunk-DMDWFQMR.js";
|
|
8
|
+
import "./chunk-4IYIGN53.js";
|
|
9
|
+
import "./chunk-RXFCU3CY.js";
|
|
12
10
|
import "./chunk-2LSZVONP.js";
|
|
13
11
|
import "./chunk-DEUNUKTD.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-LXY5VVGM.js";
|
|
13
|
+
import "./chunk-GKCXTSFF.js";
|
|
14
|
+
import "./chunk-5B5WYAHQ.js";
|
|
15
|
+
import "./chunk-PGRZ3FYC.js";
|
|
16
|
+
import "./chunk-BTTPKDIL.js";
|
|
16
17
|
import "./chunk-KNA3BXXL.js";
|
|
17
18
|
import "./chunk-PZ5AY32C.js";
|
|
18
19
|
export {
|
package/dist/graph-write-lock.js
CHANGED
|
@@ -3,9 +3,10 @@ import {
|
|
|
3
3
|
assertGraphLockHeld,
|
|
4
4
|
withGraphWriteLock,
|
|
5
5
|
yieldForLockHeartbeat
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-RXFCU3CY.js";
|
|
7
|
+
import "./chunk-5B5WYAHQ.js";
|
|
8
|
+
import "./chunk-PGRZ3FYC.js";
|
|
9
|
+
import "./chunk-BTTPKDIL.js";
|
|
9
10
|
import "./chunk-PZ5AY32C.js";
|
|
10
11
|
export {
|
|
11
12
|
GraphLockLostError,
|
package/dist/graph.js
CHANGED
|
@@ -16,19 +16,20 @@ import {
|
|
|
16
16
|
readAllEdges,
|
|
17
17
|
readEdges,
|
|
18
18
|
readEdgesStrict
|
|
19
|
-
} from "./chunk-
|
|
20
|
-
import {
|
|
21
|
-
reconstructActivationPath
|
|
22
|
-
} from "./chunk-LXY5VVGM.js";
|
|
19
|
+
} from "./chunk-4IYIGN53.js";
|
|
23
20
|
import {
|
|
24
21
|
GraphLockLostError,
|
|
25
22
|
withGraphWriteLock
|
|
26
|
-
} from "./chunk-
|
|
27
|
-
import "./chunk-GKCXTSFF.js";
|
|
23
|
+
} from "./chunk-RXFCU3CY.js";
|
|
28
24
|
import "./chunk-2LSZVONP.js";
|
|
29
25
|
import "./chunk-DEUNUKTD.js";
|
|
30
|
-
import
|
|
31
|
-
|
|
26
|
+
import {
|
|
27
|
+
reconstructActivationPath
|
|
28
|
+
} from "./chunk-LXY5VVGM.js";
|
|
29
|
+
import "./chunk-GKCXTSFF.js";
|
|
30
|
+
import "./chunk-5B5WYAHQ.js";
|
|
31
|
+
import "./chunk-PGRZ3FYC.js";
|
|
32
|
+
import "./chunk-BTTPKDIL.js";
|
|
32
33
|
import "./chunk-KNA3BXXL.js";
|
|
33
34
|
import "./chunk-PZ5AY32C.js";
|
|
34
35
|
export {
|
|
@@ -3,23 +3,23 @@ import {
|
|
|
3
3
|
readCueAnchors,
|
|
4
4
|
readProjectedHarmonicGraph,
|
|
5
5
|
searchHarmonicRetrieval
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-ZJVMUBYF.js";
|
|
7
7
|
import "./chunk-5VC7J76U.js";
|
|
8
8
|
import "./chunk-AZEZSQ5R.js";
|
|
9
9
|
import "./chunk-BMWN7B3Y.js";
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-PAZ35RJ4.js";
|
|
11
11
|
import "./chunk-UHVXE24Y.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-TRMJ6BYC.js";
|
|
13
13
|
import "./chunk-V4JZCTMK.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-N4C7QKOG.js";
|
|
15
|
+
import "./chunk-O2IPAX26.js";
|
|
16
|
+
import "./chunk-S7LWX2PQ.js";
|
|
17
|
+
import "./chunk-T2YX56QI.js";
|
|
16
18
|
import "./chunk-CYEPCZN5.js";
|
|
17
19
|
import "./chunk-T3FMRLWQ.js";
|
|
18
20
|
import "./chunk-7VO6E5UD.js";
|
|
19
|
-
import "./chunk-VOKHZRHW.js";
|
|
20
|
-
import "./chunk-S7LWX2PQ.js";
|
|
21
|
-
import "./chunk-T2YX56QI.js";
|
|
22
21
|
import "./chunk-4O6WRBGE.js";
|
|
22
|
+
import "./chunk-VOKHZRHW.js";
|
|
23
23
|
import "./chunk-GUMZC2BO.js";
|
|
24
24
|
import "./chunk-TFA6HPOA.js";
|
|
25
25
|
import "./chunk-F4TWWUMP.js";
|
|
@@ -29,36 +29,37 @@ import "./chunk-S2V7RUCL.js";
|
|
|
29
29
|
import "./chunk-X3724WL4.js";
|
|
30
30
|
import "./chunk-MRPOZBJC.js";
|
|
31
31
|
import "./chunk-S2HLHAZ4.js";
|
|
32
|
-
import "./chunk-LDXUBPMO.js";
|
|
33
32
|
import "./chunk-DM2T26WE.js";
|
|
34
|
-
import "./chunk-
|
|
33
|
+
import "./chunk-LDXUBPMO.js";
|
|
35
34
|
import "./chunk-2DT7PIDZ.js";
|
|
36
35
|
import "./chunk-AAD2ZS6P.js";
|
|
37
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-FF6N7BXC.js";
|
|
37
|
+
import "./chunk-JNIVZNIB.js";
|
|
38
|
+
import "./chunk-YXZG5TVN.js";
|
|
38
39
|
import "./chunk-ZIKENA2C.js";
|
|
39
40
|
import "./chunk-3OUGSOJP.js";
|
|
40
41
|
import "./chunk-SCU65EZI.js";
|
|
41
42
|
import "./chunk-3ONXXHQO.js";
|
|
42
|
-
import "./chunk-YXZG5TVN.js";
|
|
43
|
-
import "./chunk-3WU7XOFN.js";
|
|
44
43
|
import "./chunk-6MKLMEBE.js";
|
|
45
|
-
import "./chunk-
|
|
44
|
+
import "./chunk-3WU7XOFN.js";
|
|
45
|
+
import "./chunk-G7D6GZ5J.js";
|
|
46
|
+
import "./chunk-3GYSZHMT.js";
|
|
46
47
|
import "./chunk-M5GVCJSJ.js";
|
|
47
48
|
import "./chunk-RBOJCG4T.js";
|
|
48
|
-
import "./chunk-
|
|
49
|
+
import "./chunk-NZFFGO5O.js";
|
|
49
50
|
import "./chunk-5WITETWU.js";
|
|
50
51
|
import "./chunk-6CIAGZ6X.js";
|
|
51
52
|
import "./chunk-7CT3AI52.js";
|
|
52
|
-
import "./chunk-
|
|
53
|
-
import "./chunk-
|
|
53
|
+
import "./chunk-6EDW54SQ.js";
|
|
54
|
+
import "./chunk-66BCOVW2.js";
|
|
54
55
|
import "./chunk-G26YNEOC.js";
|
|
56
|
+
import "./chunk-SWWHIJUJ.js";
|
|
57
|
+
import "./chunk-TPSLVZHS.js";
|
|
55
58
|
import "./chunk-SIGAGKNE.js";
|
|
56
59
|
import "./chunk-IUM3VSHI.js";
|
|
57
|
-
import "./chunk-WVHRNAXL.js";
|
|
58
|
-
import "./chunk-TPSLVZHS.js";
|
|
59
|
-
import "./chunk-23G5P7TA.js";
|
|
60
60
|
import "./chunk-C64XATK7.js";
|
|
61
61
|
import "./chunk-42JKGUFJ.js";
|
|
62
|
+
import "./chunk-23G5P7TA.js";
|
|
62
63
|
import "./chunk-TKC5LZ43.js";
|
|
63
64
|
import "./chunk-I55KAVET.js";
|
|
64
65
|
import "./chunk-L2EXJQJP.js";
|
|
@@ -71,33 +72,34 @@ import "./chunk-YCVB7X56.js";
|
|
|
71
72
|
import "./chunk-PQVCH2AE.js";
|
|
72
73
|
import "./chunk-PJKTFXE2.js";
|
|
73
74
|
import "./chunk-W5BIQOAJ.js";
|
|
74
|
-
import "./chunk-
|
|
75
|
+
import "./chunk-3MO4LWYU.js";
|
|
75
76
|
import "./chunk-YBA52OKG.js";
|
|
76
|
-
import "./chunk-
|
|
77
|
+
import "./chunk-5LRV557D.js";
|
|
77
78
|
import "./chunk-BT7NVCML.js";
|
|
78
|
-
import "./chunk-
|
|
79
|
+
import "./chunk-STBX5X6B.js";
|
|
79
80
|
import "./chunk-BJMBJZ2Y.js";
|
|
80
81
|
import "./chunk-UKJAGEXH.js";
|
|
81
82
|
import "./chunk-FP2373TW.js";
|
|
82
83
|
import "./chunk-L272A5QW.js";
|
|
83
|
-
import "./chunk-
|
|
84
|
+
import "./chunk-P55FACBG.js";
|
|
84
85
|
import "./chunk-ZA53AZND.js";
|
|
85
86
|
import "./chunk-7RJUVTVF.js";
|
|
86
87
|
import "./chunk-AL3UYZ5N.js";
|
|
87
88
|
import "./chunk-RL6NEVXT.js";
|
|
89
|
+
import "./chunk-YET735EZ.js";
|
|
88
90
|
import "./chunk-PWPIERBM.js";
|
|
89
91
|
import "./chunk-C7HJ3NEI.js";
|
|
90
|
-
import "./chunk-
|
|
92
|
+
import "./chunk-DEY7B77Y.js";
|
|
91
93
|
import "./chunk-5FVVY2EB.js";
|
|
92
94
|
import "./chunk-BTNNL7ZW.js";
|
|
93
95
|
import "./chunk-JDSVLVCG.js";
|
|
94
96
|
import "./chunk-5GKPFL3S.js";
|
|
95
97
|
import "./chunk-JAKIDQB2.js";
|
|
96
|
-
import "./chunk-
|
|
98
|
+
import "./chunk-5B5WYAHQ.js";
|
|
97
99
|
import "./chunk-P7FMDTKL.js";
|
|
98
100
|
import "./chunk-VUFL7X3H.js";
|
|
99
101
|
import "./chunk-C5LWPYS3.js";
|
|
100
|
-
import "./chunk-
|
|
102
|
+
import "./chunk-PGRZ3FYC.js";
|
|
101
103
|
import "./chunk-ZEFVK7XC.js";
|
|
102
104
|
import "./chunk-6KH5NLQS.js";
|
|
103
105
|
import "./chunk-P2QRMMVQ.js";
|
package/dist/http-retry.js
CHANGED
package/dist/http-retry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/http-retry.ts"],"sourcesContent":["/**\n * Shared retrying fetch for connector packages (issue #2792).\n *\n * One copy of the retry loop that six connector clients and the X MCP\n * client duplicated: attempt counting, per-attempt timeout signal,\n * 429/5xx retry with Retry-After (seconds or HTTP-date) plus capped\n * exponential backoff, raw rethrow of caller aborts, and socket\n * release on retryable responses. Vendors keep everything\n * request-specific: headers/body, the error classes their callers\n * match on, and what happens to a successful response body.\n *\n * Import via the `@remnic/core/http-retry` subpath (same pattern as\n * `@remnic/core/abort-error`) — the root index stays untouched.\n */\n\nimport { sleep as defaultSleep } from \"./utils/sleep.js\";\n\nexport interface RetryingFetchOptions {\n /** Request init for every attempt. Ignored when `buildInit` is set. */\n init?: RequestInit;\n /**\n * Init builder invoked ONCE, before the retry loop. Request\n * construction (e.g. token acquisition) must stay outside the\n * transport retry boundary: a deterministic provider failure —\n * missing grant, revoked grant, unpersistable token file — runs once\n * and propagates unwrapped, never retried or vendor-wrapped.\n */\n buildInit?: () => RequestInit | Promise<RequestInit>;\n fetchImpl?: typeof fetch;\n sleep?: (ms: number) => Promise<void>;\n signal?: AbortSignal;\n timeoutMs?: number;\n /** Retries after the first attempt. Default 3 (4 attempts total). */\n maxRetries?: number;\n maxRetryDelayMs?: number;\n /** First backoff step; doubles per attempt. Default 1_000. */\n backoffBaseMs?: number;\n /**\n * Vendor Retry-After parsing (e.g. a body field). A `null`/`undefined`\n * result falls back to the shared Retry-After header parse, then to\n * exponential backoff. A number (including 0) is used as-is.\n */\n retryAfterMs?: (response: Response) => number | null | undefined | Promise<number | null | undefined>;\n /** Wraps an exhausted network/timeout failure into the vendor error. */\n networkError: (err: unknown, attempts: number, context: NetworkErrorContext) => Error;\n /** Wraps a retryable (429/5xx) response; thrown when retries are exhausted. */\n retryableError: (response: Response) => Error | Promise<Error>;\n}\n\nexport interface NetworkErrorContext {\n /** True when the helper's own timeout signal fired (not a caller abort). */\n timedOut: boolean;\n}\n\n/**\n * Base class for connector API errors: a message plus optional HTTP\n * status and vendor detail. Vendor subclasses set their own `name`.\n */\nexport class ConnectorApiError extends Error {\n constructor(\n message: string,\n readonly status?: number,\n readonly detail?: string,\n ) {\n super(message);\n this.name = \"ConnectorApiError\";\n }\n}\n\nconst DEFAULT_TIMEOUT_MS = 30_000;\nconst DEFAULT_MAX_RETRIES = 3;\nconst DEFAULT_MAX_RETRY_DELAY_MS = 30_000;\nconst DEFAULT_BACKOFF_BASE_MS = 1_000;\n\n/**\n * Network/timeout failures wrap Node error text that can carry loader\n * paths or stack fragments; sync errors reach MCP clients verbatim, so\n * only the error name + code survive.\n */\nexport function describeNetworkError(err: unknown): string {\n if (!(err instanceof Error)) return \"unexpected non-Error failure\";\n const code = (err as NodeJS.ErrnoException).code;\n return typeof code === \"string\" && code.length > 0 ? `${err.name} (${code})` : err.name;\n}\n\n/** Loop instead of `/\\/+$/` — CodeQL js/polynomial-redos on user-set URLs. */\nexport function stripTrailingSlashes(value: string): string {\n let end = value.length;\n while (end > 0 && value.charCodeAt(end - 1) === 0x2f) end--;\n return value.slice(0, end);\n}\n\n/** Release the socket back to the pool: an unconsumed response body pins the undici connection. */\nexport function discardResponseBody(response: Response): void {\n void response.body?.cancel().catch(() => {});\n}\n\n/**\n * Parse a `Retry-After` header as delay in ms, capped at `capMs`:\n * delay-seconds first, then HTTP-date. `undefined` when absent or\n * unparseable.\n */\nexport function retryAfterHeaderMs(response: Response, capMs: number): number | undefined {\n const header = response.headers.get(\"retry-after\");\n if (header === null || header.length === 0) return undefined;\n const seconds = Number(header);\n if (Number.isFinite(seconds) && seconds >= 0) {\n return Math.min(capMs, Math.ceil(seconds * 1_000));\n }\n const when = Date.parse(header);\n if (Number.isFinite(when)) {\n return Math.min(capMs, Math.max(0, when - Date.now()));\n }\n return undefined;\n}\n\n/**\n * Fetch with retries on network failures, 429, and 5xx. Returns the\n * final response (ok or non-retryable status) for the caller to\n * interpret; throws the vendor-wrapped error when retries are exhausted\n * or the transport fails.\n */\nexport async function retryingFetch(\n url: string,\n options: RetryingFetchOptions,\n): Promise<Response> {\n const fetchImpl = options.fetchImpl ?? fetch;\n const sleep = options.sleep ?? defaultSleep;\n const timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;\n const maxRetries = options.maxRetries ?? DEFAULT_MAX_RETRIES;\n const maxRetryDelayMs = options.maxRetryDelayMs ?? DEFAULT_MAX_RETRY_DELAY_MS;\n const backoffBaseMs = options.backoffBaseMs ?? DEFAULT_BACKOFF_BASE_MS;\n const backoffMs = (attempt: number): number =>\n Math.min(maxRetryDelayMs, backoffBaseMs * 2 ** attempt);\n const attempts = maxRetries + 1;\n\n // Request construction runs once, outside the retry boundary: only\n // fetch/network/HTTP-retryable failures retry, so initializer/token\n // provider errors execute once and propagate unchanged (issue #2792).\n options.signal?.throwIfAborted();\n const init = options.buildInit ? await options.buildInit() : options.init;\n\n let lastError: unknown;\n for (let attempt = 0; attempt <= maxRetries; attempt++) {\n options.signal?.throwIfAborted();\n const timeoutSignal = AbortSignal.timeout(timeoutMs);\n const combined = options.signal\n ? AbortSignal.any([options.signal, timeoutSignal])\n : timeoutSignal;\n let response: Response;\n try {\n response = await fetchImpl(url, { ...init, signal: combined });\n } catch (err) {\n // The caller's abort always propagates unwrapped and unretried.\n if (options.signal?.aborted) throw err;\n if (attempt < maxRetries) {\n await sleep(backoffMs(attempt));\n continue;\n }\n throw options.networkError(err, attempts, { timedOut: timeoutSignal.aborted });\n }\n\n if (response.status === 429 || response.status >= 500) {\n lastError = await options.retryableError(response);\n if (attempt < maxRetries) {\n const override = options.retryAfterMs ? await options.retryAfterMs(response) : undefined;\n const delay = override ?? retryAfterHeaderMs(response, maxRetryDelayMs) ?? backoffMs(attempt);\n discardResponseBody(response);\n await sleep(delay);\n continue;\n }\n discardResponseBody(response);\n throw lastError;\n }\n return response;\n }\n // Unreachable: every terminal loop path throws. Kept for exhaustiveness.\n throw lastError instanceof Error ? lastError : new ConnectorApiError(\"request failed\");\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/http-retry.ts"],"sourcesContent":["/**\n * Shared retrying fetch for connector packages (issue #2792).\n *\n * One copy of the retry loop that six connector clients and the X MCP\n * client duplicated: attempt counting, per-attempt timeout signal,\n * 429/5xx retry with Retry-After (seconds or HTTP-date) plus capped\n * exponential backoff, raw rethrow of caller aborts, and socket\n * release on retryable responses. Vendors keep everything\n * request-specific: headers/body, the error classes their callers\n * match on, and what happens to a successful response body.\n *\n * Import via the `@remnic/core/http-retry` subpath (same pattern as\n * `@remnic/core/abort-error`) — the root index stays untouched.\n */\n\nimport { sleep as defaultSleep } from \"./utils/sleep.js\";\n\nexport interface RetryingFetchOptions {\n /** Request init for every attempt. Ignored when `buildInit` is set. */\n init?: RequestInit;\n /**\n * Init builder invoked ONCE, before the retry loop. Request\n * construction (e.g. token acquisition) must stay outside the\n * transport retry boundary: a deterministic provider failure —\n * missing grant, revoked grant, unpersistable token file — runs once\n * and propagates unwrapped, never retried or vendor-wrapped.\n */\n buildInit?: () => RequestInit | Promise<RequestInit>;\n fetchImpl?: typeof fetch;\n sleep?: (ms: number) => Promise<void>;\n signal?: AbortSignal;\n timeoutMs?: number;\n /** Retries after the first attempt. Default 3 (4 attempts total). */\n maxRetries?: number;\n maxRetryDelayMs?: number;\n /** First backoff step; doubles per attempt. Default 1_000. */\n backoffBaseMs?: number;\n /**\n * Vendor Retry-After parsing (e.g. a body field). A `null`/`undefined`\n * result falls back to the shared Retry-After header parse, then to\n * exponential backoff. A number (including 0) is used as-is.\n */\n retryAfterMs?: (response: Response) => number | null | undefined | Promise<number | null | undefined>;\n /** Wraps an exhausted network/timeout failure into the vendor error. */\n networkError: (err: unknown, attempts: number, context: NetworkErrorContext) => Error;\n /** Wraps a retryable (429/5xx) response; thrown when retries are exhausted. */\n retryableError: (response: Response) => Error | Promise<Error>;\n}\n\nexport interface NetworkErrorContext {\n /** True when the helper's own timeout signal fired (not a caller abort). */\n timedOut: boolean;\n}\n\n/**\n * Base class for connector API errors: a message plus optional HTTP\n * status and vendor detail. Vendor subclasses set their own `name`.\n */\nexport class ConnectorApiError extends Error {\n constructor(\n message: string,\n readonly status?: number,\n readonly detail?: string,\n ) {\n super(message);\n this.name = \"ConnectorApiError\";\n }\n}\n\nconst DEFAULT_TIMEOUT_MS = 30_000;\nconst DEFAULT_MAX_RETRIES = 3;\nconst DEFAULT_MAX_RETRY_DELAY_MS = 30_000;\nconst DEFAULT_BACKOFF_BASE_MS = 1_000;\n\n/**\n * Network/timeout failures wrap Node error text that can carry loader\n * paths or stack fragments; sync errors reach MCP clients verbatim, so\n * only the error name + code survive.\n */\nexport function describeNetworkError(err: unknown): string {\n if (!(err instanceof Error)) return \"unexpected non-Error failure\";\n const code = (err as NodeJS.ErrnoException).code;\n return typeof code === \"string\" && code.length > 0 ? `${err.name} (${code})` : err.name;\n}\n\n/** Loop instead of `/\\/+$/` — CodeQL js/polynomial-redos on user-set URLs. */\nexport function stripTrailingSlashes(value: string): string {\n let end = value.length;\n while (end > 0 && value.charCodeAt(end - 1) === 0x2f) end--;\n return value.slice(0, end);\n}\n\n/** Release the socket back to the pool: an unconsumed response body pins the undici connection. */\nexport function discardResponseBody(response: Response): void {\n void response.body?.cancel().catch(() => {});\n}\n\n/**\n * Parse a `Retry-After` header as delay in ms, capped at `capMs`:\n * delay-seconds first, then HTTP-date. `undefined` when absent or\n * unparseable.\n */\nexport function retryAfterHeaderMs(response: Response, capMs: number): number | undefined {\n const header = response.headers.get(\"retry-after\");\n if (header === null || header.length === 0) return undefined;\n const seconds = Number(header);\n if (Number.isFinite(seconds) && seconds >= 0) {\n return Math.min(capMs, Math.ceil(seconds * 1_000));\n }\n const when = Date.parse(header);\n if (Number.isFinite(when)) {\n return Math.min(capMs, Math.max(0, when - Date.now()));\n }\n return undefined;\n}\n\n/**\n * Fetch with retries on network failures, 429, and 5xx. Returns the\n * final response (ok or non-retryable status) for the caller to\n * interpret; throws the vendor-wrapped error when retries are exhausted\n * or the transport fails.\n */\nexport async function retryingFetch(\n url: string,\n options: RetryingFetchOptions,\n): Promise<Response> {\n const fetchImpl = options.fetchImpl ?? fetch;\n const sleep = options.sleep ?? defaultSleep;\n const timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;\n const maxRetries = options.maxRetries ?? DEFAULT_MAX_RETRIES;\n const maxRetryDelayMs = options.maxRetryDelayMs ?? DEFAULT_MAX_RETRY_DELAY_MS;\n const backoffBaseMs = options.backoffBaseMs ?? DEFAULT_BACKOFF_BASE_MS;\n const backoffMs = (attempt: number): number =>\n Math.min(maxRetryDelayMs, backoffBaseMs * 2 ** attempt);\n const attempts = maxRetries + 1;\n\n // Request construction runs once, outside the retry boundary: only\n // fetch/network/HTTP-retryable failures retry, so initializer/token\n // provider errors execute once and propagate unchanged (issue #2792).\n options.signal?.throwIfAborted();\n const init = options.buildInit ? await options.buildInit() : options.init;\n\n let lastError: unknown;\n for (let attempt = 0; attempt <= maxRetries; attempt++) {\n options.signal?.throwIfAborted();\n const timeoutSignal = AbortSignal.timeout(timeoutMs);\n const combined = options.signal\n ? AbortSignal.any([options.signal, timeoutSignal])\n : timeoutSignal;\n let response: Response;\n try {\n response = await fetchImpl(url, { ...init, signal: combined });\n } catch (err) {\n // The caller's abort always propagates unwrapped and unretried.\n if (options.signal?.aborted) throw err;\n if (attempt < maxRetries) {\n await sleep(backoffMs(attempt));\n continue;\n }\n throw options.networkError(err, attempts, { timedOut: timeoutSignal.aborted });\n }\n\n if (response.status === 429 || response.status >= 500) {\n lastError = await options.retryableError(response);\n if (attempt < maxRetries) {\n const override = options.retryAfterMs ? await options.retryAfterMs(response) : undefined;\n const delay = override ?? retryAfterHeaderMs(response, maxRetryDelayMs) ?? backoffMs(attempt);\n discardResponseBody(response);\n await sleep(delay);\n continue;\n }\n discardResponseBody(response);\n throw lastError;\n }\n return response;\n }\n // Unreachable: every terminal loop path throws. Kept for exhaustiveness.\n throw lastError instanceof Error ? lastError : new ConnectorApiError(\"request failed\");\n}\n"],"mappings":";;;;;;;AA0DO,IAAM,oBAAN,cAAgC,MAAM;AAAA,EAC3C,YACE,SACS,QACA,QACT;AACA,UAAM,OAAO;AAHJ;AACA;AAGT,SAAK,OAAO;AAAA,EACd;AAAA,EALW;AAAA,EACA;AAKb;AAEA,IAAM,qBAAqB;AAC3B,IAAM,sBAAsB;AAC5B,IAAM,6BAA6B;AACnC,IAAM,0BAA0B;AAOzB,SAAS,qBAAqB,KAAsB;AACzD,MAAI,EAAE,eAAe,OAAQ,QAAO;AACpC,QAAM,OAAQ,IAA8B;AAC5C,SAAO,OAAO,SAAS,YAAY,KAAK,SAAS,IAAI,GAAG,IAAI,IAAI,KAAK,IAAI,MAAM,IAAI;AACrF;AAGO,SAAS,qBAAqB,OAAuB;AAC1D,MAAI,MAAM,MAAM;AAChB,SAAO,MAAM,KAAK,MAAM,WAAW,MAAM,CAAC,MAAM,GAAM;AACtD,SAAO,MAAM,MAAM,GAAG,GAAG;AAC3B;AAGO,SAAS,oBAAoB,UAA0B;AAC5D,OAAK,SAAS,MAAM,OAAO,EAAE,MAAM,MAAM;AAAA,EAAC,CAAC;AAC7C;AAOO,SAAS,mBAAmB,UAAoB,OAAmC;AACxF,QAAM,SAAS,SAAS,QAAQ,IAAI,aAAa;AACjD,MAAI,WAAW,QAAQ,OAAO,WAAW,EAAG,QAAO;AACnD,QAAM,UAAU,OAAO,MAAM;AAC7B,MAAI,OAAO,SAAS,OAAO,KAAK,WAAW,GAAG;AAC5C,WAAO,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,GAAK,CAAC;AAAA,EACnD;AACA,QAAM,OAAO,KAAK,MAAM,MAAM;AAC9B,MAAI,OAAO,SAAS,IAAI,GAAG;AACzB,WAAO,KAAK,IAAI,OAAO,KAAK,IAAI,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC;AAAA,EACvD;AACA,SAAO;AACT;AAQA,eAAsB,cACpB,KACA,SACmB;AACnB,QAAM,YAAY,QAAQ,aAAa;AACvC,QAAMA,SAAQ,QAAQ,SAAS;AAC/B,QAAM,YAAY,QAAQ,aAAa;AACvC,QAAM,aAAa,QAAQ,cAAc;AACzC,QAAM,kBAAkB,QAAQ,mBAAmB;AACnD,QAAM,gBAAgB,QAAQ,iBAAiB;AAC/C,QAAM,YAAY,CAAC,YACjB,KAAK,IAAI,iBAAiB,gBAAgB,KAAK,OAAO;AACxD,QAAM,WAAW,aAAa;AAK9B,UAAQ,QAAQ,eAAe;AAC/B,QAAM,OAAO,QAAQ,YAAY,MAAM,QAAQ,UAAU,IAAI,QAAQ;AAErE,MAAI;AACJ,WAAS,UAAU,GAAG,WAAW,YAAY,WAAW;AACtD,YAAQ,QAAQ,eAAe;AAC/B,UAAM,gBAAgB,YAAY,QAAQ,SAAS;AACnD,UAAM,WAAW,QAAQ,SACrB,YAAY,IAAI,CAAC,QAAQ,QAAQ,aAAa,CAAC,IAC/C;AACJ,QAAI;AACJ,QAAI;AACF,iBAAW,MAAM,UAAU,KAAK,EAAE,GAAG,MAAM,QAAQ,SAAS,CAAC;AAAA,IAC/D,SAAS,KAAK;AAEZ,UAAI,QAAQ,QAAQ,QAAS,OAAM;AACnC,UAAI,UAAU,YAAY;AACxB,cAAMA,OAAM,UAAU,OAAO,CAAC;AAC9B;AAAA,MACF;AACA,YAAM,QAAQ,aAAa,KAAK,UAAU,EAAE,UAAU,cAAc,QAAQ,CAAC;AAAA,IAC/E;AAEA,QAAI,SAAS,WAAW,OAAO,SAAS,UAAU,KAAK;AACrD,kBAAY,MAAM,QAAQ,eAAe,QAAQ;AACjD,UAAI,UAAU,YAAY;AACxB,cAAM,WAAW,QAAQ,eAAe,MAAM,QAAQ,aAAa,QAAQ,IAAI;AAC/E,cAAM,QAAQ,YAAY,mBAAmB,UAAU,eAAe,KAAK,UAAU,OAAO;AAC5F,4BAAoB,QAAQ;AAC5B,cAAMA,OAAM,KAAK;AACjB;AAAA,MACF;AACA,0BAAoB,QAAQ;AAC5B,YAAM;AAAA,IACR;AACA,WAAO;AAAA,EACT;AAEA,QAAM,qBAAqB,QAAQ,YAAY,IAAI,kBAAkB,gBAAgB;AACvF;","names":["sleep"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -170,7 +170,7 @@ export type { AnomalyDetectorConfig, AnomalyDetectorInput, AnomalyDetectorResult
|
|
|
170
170
|
export { AccessAuditAdapter } from "./access-audit.js";
|
|
171
171
|
export type { AccessAuditConfig, AccessAuditResult, } from "./access-audit.js";
|
|
172
172
|
export type { PluginConfig, GatewayConfig, EntityFile, EntityStructuredSection, ConsolidationObservation, MemoryFile, MemoryFrontmatter, MemoryObservation, ExtractedFact, MemoryCategory, MemoryScope, MemoryActionType, MemoryActionEligibilityContext, MemoryActionEligibilitySource, ContinuityImprovementLoop, BriefingConfig, BriefingWindow, BriefingFocus, BriefingActiveThread, BriefingRecentEntity, BriefingOpenCommitment, BriefingFollowup, BriefingSections, BriefingResult, CalendarEvent, CalendarSource, RecallDisclosure, } from "./types.js";
|
|
173
|
-
export { CONVERGE_CONFLICT_POLICIES, DEFAULT_CONVERGE_CONFLICT_POLICY, DEFAULT_CONVERGE_PEER_REQUEST_TIMEOUT_MS, MAX_CONVERGE_PEER_REQUEST_TIMEOUT_MS, envConvergePeerRequestTimeoutMs, normalizeConvergePeerRequestTimeoutMs, parseConvergeConfig } from "./converge-config.js";
|
|
173
|
+
export { CONVERGE_CONFLICT_POLICIES, DEFAULT_CONVERGE_CONFLICT_POLICY, DEFAULT_CONVERGE_PEER_REQUEST_TIMEOUT_MS, MAX_CONVERGE_PEER_REQUEST_TIMEOUT_MS, envConvergePeerRequestTimeoutMs, normalizeConvergePeerRequestTimeoutMs, parseConvergeConfig, resolveConvergeCaptureWriteLockBackoff } from "./converge-config.js";
|
|
174
174
|
export { DEFAULT_RECALL_DISCLOSURE, RECALL_DISCLOSURE_LEVELS, isRecallDisclosure, } from "./types.js";
|
|
175
175
|
export type { Peer, PeerKind, PeerProfile, PeerProfileFieldProvenance, PeerInteractionLogEntry, } from "./peers/index.js";
|
|
176
176
|
export { PEER_ID_PATTERN, PEER_ID_MAX_LENGTH, PEERS_DIR_NAME, assertValidPeerId, readPeer, writePeer, listPeers, appendInteractionLog, readInteractionLogRaw, readPeerProfile, writePeerProfile, } from "./peers/index.js";
|