@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/src/console/trace.ts
CHANGED
|
@@ -32,6 +32,7 @@ import path from "node:path";
|
|
|
32
32
|
import readline from "node:readline";
|
|
33
33
|
import { createReadStream } from "node:fs";
|
|
34
34
|
import type { Writable } from "node:stream";
|
|
35
|
+
import { sleepAbortable } from "../utils/sleep.js";
|
|
35
36
|
|
|
36
37
|
import { renderFrame } from "./tui.js";
|
|
37
38
|
import type { ConsoleStateSnapshot } from "./state.js";
|
|
@@ -465,43 +466,11 @@ function normalizeSpeed(speed: number | undefined): number {
|
|
|
465
466
|
}
|
|
466
467
|
|
|
467
468
|
/**
|
|
468
|
-
* Abortable sleep used by `replayTrace` between frames
|
|
469
|
-
*
|
|
470
|
-
*
|
|
471
|
-
* variant REJECTS with `AbortError` when `signal` fires (or is
|
|
472
|
-
* already aborted on entry). That gives callers a way to
|
|
473
|
-
* *distinguish* timer-expiry from signal-driven early exit, instead
|
|
474
|
-
* of silently resolving on both. The replay loop catches the
|
|
475
|
-
* `AbortError` and exits cleanly so Ctrl-C does not have to wait for
|
|
476
|
-
* the current inter-frame `setTimeout` (capped at 60s) to elapse.
|
|
477
|
-
*
|
|
478
|
-
* Resolves only on timer expiry. Rejects with `AbortError` (DOMException-
|
|
479
|
-
* shaped: `name === "AbortError"`) on abort. Exported so callers in
|
|
480
|
-
* tests and adjacent modules can reuse the same primitive.
|
|
469
|
+
* Abortable sleep used by `replayTrace` between frames: resolves on timer
|
|
470
|
+
* expiry, rejects with `AbortError` on abort so Ctrl-C exits without waiting
|
|
471
|
+
* out the inter-frame delay. Shared implementation lives in utils/sleep.js.
|
|
481
472
|
*/
|
|
482
|
-
export
|
|
483
|
-
ms: number,
|
|
484
|
-
signal?: AbortSignal,
|
|
485
|
-
): Promise<void> {
|
|
486
|
-
return new Promise((resolve, reject) => {
|
|
487
|
-
if (signal?.aborted) {
|
|
488
|
-
reject(makeAbortError());
|
|
489
|
-
return;
|
|
490
|
-
}
|
|
491
|
-
const timer = setTimeout(() => {
|
|
492
|
-
if (signal && onAbort) signal.removeEventListener("abort", onAbort);
|
|
493
|
-
resolve();
|
|
494
|
-
}, ms);
|
|
495
|
-
let onAbort: (() => void) | null = null;
|
|
496
|
-
if (signal) {
|
|
497
|
-
onAbort = () => {
|
|
498
|
-
clearTimeout(timer);
|
|
499
|
-
reject(makeAbortError());
|
|
500
|
-
};
|
|
501
|
-
signal.addEventListener("abort", onAbort, { once: true });
|
|
502
|
-
}
|
|
503
|
-
});
|
|
504
|
-
}
|
|
473
|
+
export { sleepAbortable };
|
|
505
474
|
|
|
506
475
|
/**
|
|
507
476
|
* Construct an `AbortError`-shaped error. Prefers the standard
|
package/src/converge-config.ts
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type CaptureWriteLockBackoffLimits,
|
|
3
|
+
normalizeCaptureWriteLockWaitMs,
|
|
4
|
+
resolveCaptureWriteLockBackoffLimits,
|
|
5
|
+
} from "./capture-write-lock-backoff.js";
|
|
6
|
+
import { readEnvVar } from "./runtime/env.js";
|
|
1
7
|
import type { ConvergeConfig, ConvergeConflictPolicy } from "./types.js";
|
|
2
8
|
|
|
3
9
|
export const CONVERGE_CONFLICT_POLICIES = [
|
|
@@ -38,6 +44,46 @@ function parsePeerRequestTimeoutMs(value: unknown, label: string): number {
|
|
|
38
44
|
return normalizeConvergePeerRequestTimeoutMs(value, label);
|
|
39
45
|
}
|
|
40
46
|
|
|
47
|
+
function parseOptionalCaptureLockMs(value: unknown, label: string): number | undefined {
|
|
48
|
+
if (value === undefined) return undefined;
|
|
49
|
+
return normalizeCaptureWriteLockWaitMs(value, label);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Config values win over env. An omitted knob stays omitted here so the
|
|
54
|
+
* caller can still fall through to the built-in default. Env is read with
|
|
55
|
+
* the REMNIC_ name and the legacy ENGRAM_ name.
|
|
56
|
+
*/
|
|
57
|
+
function envCaptureLockMs(name: string): number | undefined {
|
|
58
|
+
const raw = readEnvVar(name);
|
|
59
|
+
if (raw === undefined) return undefined;
|
|
60
|
+
const trimmed = raw.trim();
|
|
61
|
+
if (trimmed.length === 0) return undefined;
|
|
62
|
+
if (trimmed.length > 15) {
|
|
63
|
+
throw new Error(`${name} must be a positive integer number of milliseconds; got ${JSON.stringify(raw)}`);
|
|
64
|
+
}
|
|
65
|
+
for (let index = 0; index < trimmed.length; index += 1) {
|
|
66
|
+
const code = trimmed.charCodeAt(index);
|
|
67
|
+
if (code < 48 || code > 57) {
|
|
68
|
+
throw new Error(`${name} must be a positive integer number of milliseconds; got ${JSON.stringify(raw)}`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return normalizeCaptureWriteLockWaitMs(Number(trimmed), name);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export function resolveConvergeCaptureWriteLockBackoff(
|
|
75
|
+
config: ConvergeConfig | undefined
|
|
76
|
+
): CaptureWriteLockBackoffLimits {
|
|
77
|
+
return resolveCaptureWriteLockBackoffLimits({
|
|
78
|
+
captureWriteLockInitialDelayMs:
|
|
79
|
+
config?.captureWriteLockInitialDelayMs ?? envCaptureLockMs("REMNIC_CONVERGE_CAPTURE_LOCK_INITIAL_DELAY_MS"),
|
|
80
|
+
captureWriteLockMaxDelayMs:
|
|
81
|
+
config?.captureWriteLockMaxDelayMs ?? envCaptureLockMs("REMNIC_CONVERGE_CAPTURE_LOCK_MAX_DELAY_MS"),
|
|
82
|
+
captureWriteLockDeadlineMs:
|
|
83
|
+
config?.captureWriteLockDeadlineMs ?? envCaptureLockMs("REMNIC_CONVERGE_CAPTURE_LOCK_DEADLINE_MS"),
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
|
|
41
87
|
export function parseConvergeConfig(block: unknown): ConvergeConfig {
|
|
42
88
|
if (block === undefined) {
|
|
43
89
|
return { conflictPolicy: DEFAULT_CONVERGE_CONFLICT_POLICY };
|
|
@@ -49,7 +95,14 @@ export function parseConvergeConfig(block: unknown): ConvergeConfig {
|
|
|
49
95
|
if (prototype !== Object.prototype && prototype !== null) {
|
|
50
96
|
throw new Error("converge must be a plain object");
|
|
51
97
|
}
|
|
52
|
-
const {
|
|
98
|
+
const {
|
|
99
|
+
conflictPolicy: rawConflictPolicy,
|
|
100
|
+
peerRequestTimeoutMs,
|
|
101
|
+
captureWriteLockInitialDelayMs,
|
|
102
|
+
captureWriteLockMaxDelayMs,
|
|
103
|
+
captureWriteLockDeadlineMs,
|
|
104
|
+
...unknown
|
|
105
|
+
} = block as Record<string, unknown>;
|
|
53
106
|
let conflictPolicy: unknown = rawConflictPolicy;
|
|
54
107
|
const unknownKey = Object.keys(unknown)[0];
|
|
55
108
|
if (unknownKey !== undefined) {
|
|
@@ -62,11 +115,37 @@ export function parseConvergeConfig(block: unknown): ConvergeConfig {
|
|
|
62
115
|
typeof conflictPolicy === "string" &&
|
|
63
116
|
CONVERGE_CONFLICT_POLICIES.includes(conflictPolicy as ConvergeConflictPolicy)
|
|
64
117
|
) {
|
|
118
|
+
const initialDelayMs = parseOptionalCaptureLockMs(
|
|
119
|
+
captureWriteLockInitialDelayMs,
|
|
120
|
+
"converge.captureWriteLockInitialDelayMs"
|
|
121
|
+
);
|
|
122
|
+
const maxDelayMs = parseOptionalCaptureLockMs(captureWriteLockMaxDelayMs, "converge.captureWriteLockMaxDelayMs");
|
|
123
|
+
const deadlineMs = parseOptionalCaptureLockMs(captureWriteLockDeadlineMs, "converge.captureWriteLockDeadlineMs");
|
|
124
|
+
// Reject an inverted schedule at parse time. Omitted knobs stay omitted
|
|
125
|
+
// and are filled from defaults only when the acquire runs.
|
|
126
|
+
if (initialDelayMs !== undefined && maxDelayMs !== undefined && initialDelayMs > maxDelayMs) {
|
|
127
|
+
throw new Error(
|
|
128
|
+
`converge.captureWriteLockInitialDelayMs (${initialDelayMs}) must be <= converge.captureWriteLockMaxDelayMs (${maxDelayMs})`
|
|
129
|
+
);
|
|
130
|
+
}
|
|
131
|
+
if (maxDelayMs !== undefined && deadlineMs !== undefined && maxDelayMs > deadlineMs) {
|
|
132
|
+
throw new Error(
|
|
133
|
+
`converge.captureWriteLockMaxDelayMs (${maxDelayMs}) must be <= converge.captureWriteLockDeadlineMs (${deadlineMs})`
|
|
134
|
+
);
|
|
135
|
+
}
|
|
136
|
+
if (initialDelayMs !== undefined && deadlineMs !== undefined && initialDelayMs > deadlineMs) {
|
|
137
|
+
throw new Error(
|
|
138
|
+
`converge.captureWriteLockInitialDelayMs (${initialDelayMs}) must be <= converge.captureWriteLockDeadlineMs (${deadlineMs})`
|
|
139
|
+
);
|
|
140
|
+
}
|
|
65
141
|
return {
|
|
66
142
|
conflictPolicy: conflictPolicy as ConvergeConflictPolicy,
|
|
67
143
|
...(peerRequestTimeoutMs !== undefined
|
|
68
144
|
? { peerRequestTimeoutMs: parsePeerRequestTimeoutMs(peerRequestTimeoutMs, "converge.peerRequestTimeoutMs") }
|
|
69
145
|
: {}),
|
|
146
|
+
...(initialDelayMs !== undefined ? { captureWriteLockInitialDelayMs: initialDelayMs } : {}),
|
|
147
|
+
...(maxDelayMs !== undefined ? { captureWriteLockMaxDelayMs: maxDelayMs } : {}),
|
|
148
|
+
...(deadlineMs !== undefined ? { captureWriteLockDeadlineMs: deadlineMs } : {}),
|
|
70
149
|
};
|
|
71
150
|
}
|
|
72
151
|
|