@noy-db/hub 0.3.0-pre.1 → 0.3.0-pre.11
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/aggregate/index.js +9 -8
- package/dist/aggregate/index.js.map +1 -1
- package/dist/api-YGMINAET.js +20 -0
- package/dist/as/index.js +12 -6
- package/dist/attestation/index.js +19 -13
- package/dist/attestation/index.js.map +1 -1
- package/dist/backup-XA5STIYQ.js +225 -0
- package/dist/backup-XA5STIYQ.js.map +1 -0
- package/dist/blobs/index.js +12 -6
- package/dist/blobs/index.js.map +1 -1
- package/dist/broker/index.js +92 -0
- package/dist/broker/index.js.map +1 -0
- package/dist/bundle/index.js +21 -15
- package/dist/bundle/index.js.map +1 -1
- package/dist/by/index.js +2 -2
- package/dist/cargo/index.js +32 -26
- package/dist/chunk-25NDNMQ7.js +70 -0
- package/dist/chunk-25NDNMQ7.js.map +1 -0
- package/dist/chunk-2JMMY7HZ.js +188 -0
- package/dist/chunk-2JMMY7HZ.js.map +1 -0
- package/dist/chunk-3CNQ7FQ3.js +430 -0
- package/dist/chunk-3G4KMVUN.js +291 -0
- package/dist/chunk-3G4KMVUN.js.map +1 -0
- package/dist/chunk-3MSQLQNZ.js +74 -0
- package/dist/chunk-45ZZLTFH.js +38 -0
- package/dist/chunk-45ZZLTFH.js.map +1 -0
- package/dist/chunk-4GPE63GU.js +111 -0
- package/dist/chunk-4GPE63GU.js.map +1 -0
- package/dist/chunk-4N5QFSNQ.js +150 -0
- package/dist/chunk-4N5QFSNQ.js.map +1 -0
- package/dist/chunk-4R4Q64W5.js +34 -0
- package/dist/chunk-57V5S7PW.js +130 -0
- package/dist/chunk-57V5S7PW.js.map +1 -0
- package/dist/chunk-5JB73NMC.js +202 -0
- package/dist/chunk-5JB73NMC.js.map +1 -0
- package/dist/chunk-5XIPOCQC.js +155 -0
- package/dist/chunk-5ZOSG3RJ.js +778 -0
- package/dist/chunk-5ZOSG3RJ.js.map +1 -0
- package/dist/chunk-67TNU77I.js +36 -0
- package/dist/chunk-67TNU77I.js.map +1 -0
- package/dist/chunk-6QILBDZU.js +205 -0
- package/dist/chunk-7E67FJ33.js +155 -0
- package/dist/chunk-7ITPJFGC.js +50 -0
- package/dist/chunk-7ITPJFGC.js.map +1 -0
- package/dist/chunk-7NS43EXZ.js +117 -0
- package/dist/chunk-7QIXUSDQ.js +341 -0
- package/dist/chunk-7QIXUSDQ.js.map +1 -0
- package/dist/chunk-7VSGW5KJ.js +74 -0
- package/dist/chunk-7VSGW5KJ.js.map +1 -0
- package/dist/chunk-A2QF4JUE.js +14073 -0
- package/dist/chunk-A2QF4JUE.js.map +1 -0
- package/dist/chunk-A2Y6YFVN.js +209 -0
- package/dist/chunk-AOVDSIL3.js +1221 -0
- package/dist/chunk-AOVDSIL3.js.map +1 -0
- package/dist/chunk-ARSAMO24.js +29 -0
- package/dist/chunk-ARSAMO24.js.map +1 -0
- package/dist/chunk-AWB5JZW6.js +41 -0
- package/dist/chunk-AWB5JZW6.js.map +1 -0
- package/dist/chunk-BCYQA5BK.js +45 -0
- package/dist/chunk-BE7N3AXA.js +621 -0
- package/dist/chunk-BE7N3AXA.js.map +1 -0
- package/dist/chunk-BEIRE5K4.js +164 -0
- package/dist/chunk-BEIRE5K4.js.map +1 -0
- package/dist/chunk-BZO4WCJI.js +86 -0
- package/dist/chunk-BZO4WCJI.js.map +1 -0
- package/dist/chunk-C3YH34IL.js +75 -0
- package/dist/chunk-C3YH34IL.js.map +1 -0
- package/dist/chunk-C7NTK5I3.js +49 -0
- package/dist/chunk-C7NTK5I3.js.map +1 -0
- package/dist/chunk-CB25ONKC.js +129 -0
- package/dist/chunk-CIKY6I4W.js +21 -0
- package/dist/chunk-CKZW6P5V.js +32 -0
- package/dist/chunk-CKZW6P5V.js.map +1 -0
- package/dist/chunk-D26JB3LZ.js +54 -0
- package/dist/chunk-D3EFFFOL.js +59 -0
- package/dist/chunk-D3EFFFOL.js.map +1 -0
- package/dist/chunk-DGH65E7Q.js +466 -0
- package/dist/chunk-DGH65E7Q.js.map +1 -0
- package/dist/chunk-DIRRS7WP.js +42 -0
- package/dist/chunk-DJ3VKYFA.js +150 -0
- package/dist/chunk-DJ3VKYFA.js.map +1 -0
- package/dist/chunk-DMFNPHCX.js +247 -0
- package/dist/chunk-DMFNPHCX.js.map +1 -0
- package/dist/chunk-ELNBMFOS.js +392 -0
- package/dist/chunk-ELNBMFOS.js.map +1 -0
- package/dist/chunk-FH542DDY.js +1505 -0
- package/dist/chunk-FH542DDY.js.map +1 -0
- package/dist/chunk-FQQF23MC.js +45 -0
- package/dist/chunk-FQQF23MC.js.map +1 -0
- package/dist/chunk-FXK4X4BL.js +91 -0
- package/dist/chunk-FXK4X4BL.js.map +1 -0
- package/dist/chunk-GA2QHD6P.js +235 -0
- package/dist/chunk-GA2QHD6P.js.map +1 -0
- package/dist/chunk-GYGLAVCX.js +19 -0
- package/dist/chunk-GYGLAVCX.js.map +1 -0
- package/dist/chunk-H44ZE4IE.js +355 -0
- package/dist/chunk-H6CZSDWK.js +1697 -0
- package/dist/chunk-H6CZSDWK.js.map +1 -0
- package/dist/chunk-H6HM6CVR.js +279 -0
- package/dist/chunk-H6HM6CVR.js.map +1 -0
- package/dist/chunk-HFJIGWJC.js +382 -0
- package/dist/chunk-HUS3J5WM.js +404 -0
- package/dist/chunk-HUS3J5WM.js.map +1 -0
- package/dist/chunk-IDIV5NVH.js +99 -0
- package/dist/chunk-IDIV5NVH.js.map +1 -0
- package/dist/chunk-IGJCYUT5.js +99 -0
- package/dist/chunk-IGJCYUT5.js.map +1 -0
- package/dist/chunk-IGJHJYM6.js +515 -0
- package/dist/chunk-IGJHJYM6.js.map +1 -0
- package/dist/chunk-IP2QBAGS.js +589 -0
- package/dist/chunk-IP2QBAGS.js.map +1 -0
- package/dist/chunk-JK733I5V.js +23 -0
- package/dist/chunk-JK733I5V.js.map +1 -0
- package/dist/chunk-JOQ53DMI.js +255 -0
- package/dist/chunk-JOQ53DMI.js.map +1 -0
- package/dist/chunk-K62IUKOD.js +823 -0
- package/dist/chunk-K62IUKOD.js.map +1 -0
- package/dist/chunk-KPGX66PM.js +230 -0
- package/dist/chunk-KPZS5QAQ.js +151 -0
- package/dist/chunk-KPZS5QAQ.js.map +1 -0
- package/dist/chunk-L2SNBIV7.js +453 -0
- package/dist/chunk-L2SNBIV7.js.map +1 -0
- package/dist/chunk-LP7BEXCT.js +32 -0
- package/dist/chunk-LP7BEXCT.js.map +1 -0
- package/dist/chunk-MCEKIAO4.js +367 -0
- package/dist/chunk-MELR46EF.js +280 -0
- package/dist/chunk-MELR46EF.js.map +1 -0
- package/dist/chunk-MSPNM2OM.js +95 -0
- package/dist/chunk-MSPNM2OM.js.map +1 -0
- package/dist/chunk-NO272T7Q.js +194 -0
- package/dist/chunk-NO272T7Q.js.map +1 -0
- package/dist/chunk-O2DYPAZY.js +23 -0
- package/dist/chunk-ODJWBC5I.js +30 -0
- package/dist/chunk-OEAATWH5.js +686 -0
- package/dist/chunk-OEAATWH5.js.map +1 -0
- package/dist/chunk-OFJ5GPNA.js +71 -0
- package/dist/chunk-OOLO4LQG.js +99 -0
- package/dist/chunk-OOLO4LQG.js.map +1 -0
- package/dist/chunk-P5RY4ZWD.js +662 -0
- package/dist/chunk-P5RY4ZWD.js.map +1 -0
- package/dist/chunk-PR5LC5YX.js +265 -0
- package/dist/chunk-PR5LC5YX.js.map +1 -0
- package/dist/chunk-PXWVF7MC.js +135 -0
- package/dist/chunk-Q3XSMOZM.js +40 -0
- package/dist/chunk-QLLKLFE2.js +94 -0
- package/dist/chunk-QLLKLFE2.js.map +1 -0
- package/dist/chunk-QQJXBZCO.js +1056 -0
- package/dist/chunk-QQJXBZCO.js.map +1 -0
- package/dist/chunk-QYPKGVT4.js +261 -0
- package/dist/chunk-QYPKGVT4.js.map +1 -0
- package/dist/chunk-RKRGDAS7.js +59 -0
- package/dist/chunk-SRVQHVNX.js +164 -0
- package/dist/chunk-SYMS4546.js +29 -0
- package/dist/chunk-SYMS4546.js.map +1 -0
- package/dist/chunk-THNJ3IKU.js +17 -0
- package/dist/chunk-THNJ3IKU.js.map +1 -0
- package/dist/chunk-TPH5EO6L.js +54 -0
- package/dist/chunk-TPH5EO6L.js.map +1 -0
- package/dist/chunk-UFILRICG.js +14 -0
- package/dist/chunk-UTLEAJXC.js +97 -0
- package/dist/chunk-VA4ZWLFY.js +123 -0
- package/dist/chunk-VR24ILCR.js +367 -0
- package/dist/chunk-VYYM3MEN.js +98 -0
- package/dist/chunk-VYYM3MEN.js.map +1 -0
- package/dist/chunk-W5D62AQD.js +944 -0
- package/dist/chunk-W5D62AQD.js.map +1 -0
- package/dist/chunk-WGV4CUZT.js +167 -0
- package/dist/chunk-WGV4CUZT.js.map +1 -0
- package/dist/chunk-WTUNZACT.js +30 -0
- package/dist/chunk-WTUNZACT.js.map +1 -0
- package/dist/chunk-X6CMGUAG.js +69 -0
- package/dist/chunk-X6CMGUAG.js.map +1 -0
- package/dist/chunk-XFXUTFWQ.js +85 -0
- package/dist/chunk-XFXUTFWQ.js.map +1 -0
- package/dist/chunk-XHV25KBM.js +30 -0
- package/dist/chunk-YSXEFGND.js +124 -0
- package/dist/chunk-YXOUQ2H7.js +36 -0
- package/dist/chunk-ZP5PL65C.js +80 -0
- package/dist/classified/index.js +40 -0
- package/dist/classified-marker-LQWWQNIJ.js +24 -0
- package/dist/classified-marker-LQWWQNIJ.js.map +1 -0
- package/dist/collection-facade-YE2O4J4O.js +39 -0
- package/dist/computed-W6MVAMWZ.js +11 -0
- package/dist/consent/index.js +10 -4
- package/dist/consent/index.js.map +1 -1
- package/dist/crdt/index.js +1 -1
- package/dist/dead-filter-4KXZEB3X.js +28 -0
- package/dist/dead-filter-4KXZEB3X.js.map +1 -0
- package/dist/delegation-OPUU3R2E.js +25 -0
- package/dist/derivations/index.js +13 -6
- package/dist/derive-BGUHU663.js +21 -0
- package/dist/enclave-VXAQD4XJ.js +135 -0
- package/dist/executor-GTVSUUBX.js +25 -0
- package/dist/executor-GZWMTOXB.js +9 -0
- package/dist/executor-XXGS4S3K.js +9 -0
- package/dist/export-accessible-BMULIOYB.js +23 -0
- package/dist/extract-partition-JUQTWDXR.js +36 -0
- package/dist/fanout-sidecar-CKYFH33E.js +74 -0
- package/dist/fanout-sidecar-CKYFH33E.js.map +1 -0
- package/dist/fence-watcher-DHQ775JB.js +69 -0
- package/dist/fence-watcher-DHQ775JB.js.map +1 -0
- package/dist/find-XRGCNGNN.js +11 -0
- package/dist/forget/index.js +11 -5
- package/dist/forget/index.js.map +1 -1
- package/dist/guards/index.js +4 -4
- package/dist/history/index.js +12 -6
- package/dist/history/index.js.map +1 -1
- package/dist/i18n/index.js +50 -31
- package/dist/i18n/index.js.map +1 -1
- package/dist/index.d.ts +303 -1400
- package/dist/index.js +1525 -184
- package/dist/index.js.map +1 -1
- package/dist/indexing/index.js +4 -4
- package/dist/issue-UB6AA5M6.js +19 -0
- package/dist/json-schema-I22JCYCG.js +44 -0
- package/dist/json-schema-I22JCYCG.js.map +1 -0
- package/dist/kernel/cache/index.d.ts +10 -0
- package/dist/kernel/cache/lru.d.ts +97 -0
- package/dist/kernel/cache/policy.d.ts +32 -0
- package/dist/kernel/collection-config.d.ts +781 -0
- package/dist/kernel/collection.d.ts +1505 -0
- package/dist/kernel/constants.d.ts +18 -0
- package/dist/kernel/debug.d.ts +25 -0
- package/dist/kernel/enclave/broker/proof.d.ts +154 -0
- package/dist/kernel/enclave/classify/bidx.d.ts +77 -0
- package/dist/kernel/enclave/classify/compare.d.ts +10 -0
- package/dist/kernel/enclave/classify/digest.d.ts +8 -0
- package/dist/kernel/enclave/classify/find.d.ts +36 -0
- package/dist/kernel/enclave/classify/kofn.d.ts +7 -0
- package/dist/kernel/enclave/classify/normalize.d.ts +7 -0
- package/dist/kernel/enclave/classify/reveal.d.ts +10 -0
- package/dist/kernel/enclave/classify/vdig.d.ts +39 -0
- package/dist/kernel/enclave/classify/verify.d.ts +33 -0
- package/dist/kernel/enclave/classify/write.d.ts +8 -0
- package/dist/kernel/enclave/crypto.d.ts +263 -0
- package/dist/kernel/enclave/index.d.ts +78 -0
- package/dist/kernel/enclave/record-keys/deterministic.d.ts +54 -0
- package/dist/kernel/enclave/record-keys/envelope-body.d.ts +79 -0
- package/dist/kernel/enclave/record-keys/lifecycle.d.ts +57 -0
- package/dist/kernel/enclave/record-keys/record-codec.d.ts +301 -0
- package/dist/kernel/enclave/record-keys/sealed-slot.d.ts +14 -0
- package/dist/kernel/enclave/record-keys/sealed-slots.d.ts +123 -0
- package/dist/kernel/enclave/record-keys/sealing.d.ts +70 -0
- package/dist/kernel/enclave/record-keys/tombstone.d.ts +57 -0
- package/dist/kernel/env-check.d.ts +1 -0
- package/dist/kernel/errors.d.ts +1848 -0
- package/dist/kernel/events.d.ts +11 -0
- package/dist/kernel/memory-store.d.ts +17 -0
- package/dist/kernel/mutation.d.ts +14 -0
- package/dist/kernel/noydb.d.ts +818 -0
- package/dist/kernel/paths.d.ts +25 -0
- package/dist/kernel/query/builder.d.ts +520 -0
- package/dist/kernel/query/index.d.ts +31 -0
- package/dist/kernel/query/join.d.ts +205 -0
- package/dist/kernel/query/live.d.ts +111 -0
- package/dist/kernel/query/predicate.d.ts +139 -0
- package/dist/kernel/query/scan-builder.d.ts +334 -0
- package/dist/kernel/refs.d.ts +205 -0
- package/dist/kernel/schema.d.ts +134 -0
- package/dist/kernel/sync-policy.d.ts +188 -0
- package/dist/kernel/types.d.ts +3147 -0
- package/dist/kernel/util/discriminant.d.ts +58 -0
- package/dist/kernel/util/index.d.ts +14 -0
- package/dist/kernel/util/sanitize-filename.d.ts +75 -0
- package/dist/kernel/validation.d.ts +130 -0
- package/dist/kernel/vault.d.ts +1723 -0
- package/dist/kernel/via/compose.d.ts +144 -0
- package/dist/kernel/via/dispatch.d.ts +185 -0
- package/dist/kernel/via/graph-wiring.d.ts +145 -0
- package/dist/kernel/via/graph.d.ts +165 -0
- package/dist/kernel/via/index.d.ts +200 -0
- package/dist/kernel/via/pipeline.d.ts +266 -0
- package/dist/kernel/via/reconcile.d.ts +153 -0
- package/dist/kernel/via/taint-binding.d.ts +66 -0
- package/dist/kernel/write-queue.d.ts +46 -0
- package/dist/lazy/index.js +12 -0
- package/dist/ledger-FU6GH5EH.js +42 -0
- package/dist/legacy/bundle.d.ts +30 -0
- package/dist/legacy/kernel.d.ts +33 -0
- package/dist/liberate-YUN7W5QG.js +24 -0
- package/dist/link-set-MNADSH5M.js +31 -0
- package/dist/materialized-views/index.js +20 -10
- package/dist/noydb-6JLBZU4U.js +67 -0
- package/dist/on/index.js +10 -4
- package/dist/overlay-views/index.js +4 -4
- package/dist/periods/index.js +21 -7
- package/dist/pod/index.js +12 -6
- package/dist/policy-JTFOPPUU.js +41 -0
- package/dist/port/as/index.d.ts +26 -0
- package/dist/port/at/index.d.ts +18 -0
- package/dist/port/by/default-provider.d.ts +9 -0
- package/dist/port/by/index.d.ts +17 -0
- package/dist/port/by/types.d.ts +86 -0
- package/dist/port/in/index.d.ts +21 -0
- package/dist/port/on/index.d.ts +27 -0
- package/dist/port/to/index.d.ts +19 -0
- package/dist/port/ui/index.d.ts +21 -0
- package/dist/port/with/blob-strategy.d.ts +81 -0
- package/dist/port/with/broker-strategy.d.ts +84 -0
- package/dist/port/with/capabilities.d.ts +31 -0
- package/dist/port/with/classified-marker.d.ts +9 -0
- package/dist/port/with/classified-strategy.d.ts +62 -0
- package/dist/port/with/computed-strategy.d.ts +19 -0
- package/dist/port/with/i18n-strategy.d.ts +175 -0
- package/dist/port/with/index.d.ts +18 -0
- package/dist/port/with/lazy-strategy.d.ts +48 -0
- package/dist/port/with/lookup-strategy.d.ts +128 -0
- package/dist/port/with/service-bus.d.ts +156 -0
- package/dist/port/with/team-strategy.d.ts +36 -0
- package/dist/port/with/write-hooks.d.ts +34 -0
- package/dist/portability/index.js +8 -8
- package/dist/post-register-HAWO3O7O.js +55 -0
- package/dist/post-register-HAWO3O7O.js.map +1 -0
- package/dist/public-envelope-NJVB7LPA.js +32 -0
- package/dist/purge-scope-FGNNLWHD.js +24 -0
- package/dist/purge-scope-FGNNLWHD.js.map +1 -0
- package/dist/query/index.js +9 -6
- package/dist/read-only-facade-CHCKSEPD.js +8 -0
- package/dist/register-VCKOBWKT.js +23 -0
- package/dist/registry-72UKJ2L4.js +9 -0
- package/dist/registry-BZFLJNEH.js +18 -0
- package/dist/registry-YJEYSYI5.js +19 -0
- package/dist/request-withdrawal-6MJRMFHF.js +31 -0
- package/dist/reveal-BOY7XYFH.js +38 -0
- package/dist/reveal-BOY7XYFH.js.map +1 -0
- package/dist/revoke-4KUNSVJC.js +24 -0
- package/dist/satellites/index.js +8 -0
- package/dist/sealed-record/index.js +13 -7
- package/dist/sealed-record/index.js.map +1 -1
- package/dist/seed-4RRXT42N.js +231 -0
- package/dist/seed-4RRXT42N.js.map +1 -0
- package/dist/session/index.js +10 -4
- package/dist/session/index.js.map +1 -1
- package/dist/shadow/index.js +2 -2
- package/dist/signer-DDDXP5JD.js +25 -0
- package/dist/signer-DDDXP5JD.js.map +1 -0
- package/dist/snapshots/index.js +11 -5
- package/dist/snapshots/index.js.map +1 -1
- package/dist/stale-NXPT56JA.js +14 -0
- package/dist/stale-NXPT56JA.js.map +1 -0
- package/dist/storage-IR6EEAV2.js +23 -0
- package/dist/storage-IR6EEAV2.js.map +1 -0
- package/dist/store-coordination-provider-HPYVFJCV.js +142 -0
- package/dist/sync/index.js +10 -4
- package/dist/sync/index.js.map +1 -1
- package/dist/team/index.js +25 -12
- package/dist/tiers/index.js +11 -5
- package/dist/to/index.js +1 -2
- package/dist/tx/index.js +3 -3
- package/dist/util/index.js +1 -1
- package/dist/verify-66RHOW7N.js +139 -0
- package/dist/verify-66RHOW7N.js.map +1 -0
- package/dist/via/blob/active.d.ts +34 -0
- package/dist/via/blob/binding.d.ts +86 -0
- package/dist/via/blob/index.d.ts +34 -0
- package/dist/via/classified/active.d.ts +3 -0
- package/dist/via/classified/binding.d.ts +83 -0
- package/dist/via/classified/config-drift.d.ts +34 -0
- package/dist/via/classified/descriptor.d.ts +66 -0
- package/dist/via/classified/errors.d.ts +19 -0
- package/dist/via/classified/guards.d.ts +23 -0
- package/dist/via/classified/index.d.ts +11 -0
- package/dist/via/classified/presets.d.ts +65 -0
- package/dist/via/classified/resolve.d.ts +9 -0
- package/dist/via/classified/strategy.d.ts +11 -0
- package/dist/via/classified/validators.d.ts +3 -0
- package/dist/via/classified/write.d.ts +4 -0
- package/dist/via/computed/binding.d.ts +34 -0
- package/dist/via/computed/descriptor.d.ts +35 -0
- package/dist/via/i18n/active.d.ts +28 -0
- package/dist/via/i18n/binding.d.ts +36 -0
- package/dist/via/i18n/core.d.ts +267 -0
- package/dist/via/i18n/densify.d.ts +24 -0
- package/dist/via/i18n/dictionary.d.ts +200 -0
- package/dist/via/i18n/index.d.ts +21 -0
- package/dist/via/i18n/policy.d.ts +44 -0
- package/dist/via/i18n/script.d.ts +26 -0
- package/dist/via/i18n/strategy.d.ts +13 -0
- package/dist/via/lookup/active.d.ts +19 -0
- package/dist/via/lookup/binding.d.ts +99 -0
- package/dist/via/lookup/descriptor.d.ts +123 -0
- package/dist/via/lookup/handle.d.ts +220 -0
- package/dist/via/lookup/index.d.ts +17 -0
- package/dist/via/lookup/registry.d.ts +219 -0
- package/dist/via/lookup/snapshot.d.ts +67 -0
- package/dist/via/money/arith.d.ts +68 -0
- package/dist/via/money/binding.d.ts +21 -0
- package/dist/via/money/branded.d.ts +61 -0
- package/dist/via/money/descriptor.d.ts +73 -0
- package/dist/via/money/fixed-point.d.ts +51 -0
- package/dist/via/money/index.d.ts +15 -0
- package/dist/via/money/iso4217.d.ts +6 -0
- package/dist/via/money/money-reducer.d.ts +33 -0
- package/dist/via/money/normalize.d.ts +105 -0
- package/dist/via/money/paths.d.ts +61 -0
- package/dist/via/money/where.d.ts +106 -0
- package/dist/walk-2RWEOCAS.js +241 -0
- package/dist/walk-2RWEOCAS.js.map +1 -0
- package/dist/with/index.js +12 -6
- package/dist/with-audit/attestation/active.d.ts +10 -0
- package/dist/with-audit/attestation/index.d.ts +16 -0
- package/dist/with-audit/attestation/issue.d.ts +29 -0
- package/dist/with-audit/attestation/revoke.d.ts +15 -0
- package/dist/with-audit/attestation/signer.d.ts +33 -0
- package/dist/with-audit/attestation/strategy.d.ts +44 -0
- package/dist/with-audit/attestation/vault-facade.d.ts +62 -0
- package/dist/with-audit/consent/active.d.ts +14 -0
- package/dist/with-audit/consent/consent.d.ts +114 -0
- package/dist/with-audit/consent/index.d.ts +14 -0
- package/dist/with-audit/consent/strategy.d.ts +36 -0
- package/dist/with-audit/forget/active.d.ts +31 -0
- package/dist/with-audit/forget/index.d.ts +28 -0
- package/dist/with-audit/forget/purge-scope.d.ts +54 -0
- package/dist/with-audit/forget/strategy.d.ts +177 -0
- package/dist/with-audit/forget/subject-index.d.ts +83 -0
- package/dist/with-audit/guards/executor.d.ts +26 -0
- package/dist/with-audit/guards/immutable-guard.d.ts +63 -0
- package/dist/with-audit/guards/index.d.ts +10 -0
- package/dist/with-audit/guards/read-only-facade.d.ts +31 -0
- package/dist/with-audit/guards/registry.d.ts +83 -0
- package/dist/with-audit/guards/transition-guard.d.ts +82 -0
- package/dist/with-audit/guards/types.d.ts +134 -0
- package/dist/with-audit/guards/with-guard.d.ts +15 -0
- package/dist/with-audit/periods/active.d.ts +11 -0
- package/dist/with-audit/periods/index.d.ts +18 -0
- package/dist/with-audit/periods/periods.d.ts +417 -0
- package/dist/with-audit/periods/strategy.d.ts +32 -0
- package/dist/with-audit/periods/vault-facade.d.ts +95 -0
- package/dist/with-audit/portability/active.d.ts +11 -0
- package/dist/with-audit/portability/export-accessible.d.ts +46 -0
- package/dist/with-audit/portability/index.d.ts +18 -0
- package/dist/with-audit/portability/request-withdrawal.d.ts +85 -0
- package/dist/with-audit/portability/strategy.d.ts +31 -0
- package/dist/with-audit/portability/withdraw-accessible.d.ts +82 -0
- package/dist/with-audit/sealed-record/active.d.ts +9 -0
- package/dist/with-audit/sealed-record/index.d.ts +55 -0
- package/dist/with-audit/sealed-record/strategy.d.ts +34 -0
- package/dist/with-audit/sealed-record/types.d.ts +27 -0
- package/dist/with-audit/tiers/active.d.ts +9 -0
- package/dist/with-audit/tiers/index.d.ts +122 -0
- package/dist/with-audit/tiers/strategy.d.ts +35 -0
- package/dist/with-cargo/active.d.ts +11 -0
- package/dist/with-cargo/adopt-partition.d.ts +81 -0
- package/dist/with-cargo/decrypt-partition.d.ts +19 -0
- package/dist/with-cargo/describe-extraction.d.ts +33 -0
- package/dist/with-cargo/extract-partition.d.ts +147 -0
- package/dist/with-cargo/index.d.ts +33 -0
- package/dist/with-cargo/strategy.d.ts +30 -0
- package/dist/with-cargo/vault-diff.d.ts +144 -0
- package/dist/with-cargo/walk-closure.d.ts +38 -0
- package/dist/with-commit/crdt/active.d.ts +25 -0
- package/dist/with-commit/crdt/crdt.d.ts +42 -0
- package/dist/with-commit/crdt/index.d.ts +16 -0
- package/dist/with-commit/crdt/strategy.d.ts +25 -0
- package/dist/with-commit/history/active.d.ts +40 -0
- package/dist/with-commit/history/diff.d.ts +23 -0
- package/dist/with-commit/history/history.d.ts +27 -0
- package/dist/with-commit/history/index.d.ts +30 -0
- package/dist/with-commit/history/ledger/constants.d.ts +37 -0
- package/dist/with-commit/history/ledger/entry.d.ts +195 -0
- package/dist/with-commit/history/ledger/hash.d.ts +30 -0
- package/dist/with-commit/history/ledger/index.d.ts +19 -0
- package/dist/with-commit/history/ledger/patch.d.ts +99 -0
- package/dist/with-commit/history/ledger/store.d.ts +335 -0
- package/dist/with-commit/history/strategy.d.ts +126 -0
- package/dist/with-commit/history/time-machine.d.ts +179 -0
- package/dist/with-commit/numbering/descriptor.d.ts +27 -0
- package/dist/with-commit/numbering/index.d.ts +69 -0
- package/dist/with-commit/sequence/active.d.ts +10 -0
- package/dist/with-commit/sequence/index.d.ts +150 -0
- package/dist/with-commit/sequence/strategy.d.ts +26 -0
- package/dist/with-commit/tx/active.d.ts +27 -0
- package/dist/with-commit/tx/dry-run.d.ts +29 -0
- package/dist/with-commit/tx/elevated-handle.d.ts +58 -0
- package/dist/with-commit/tx/index.d.ts +13 -0
- package/dist/with-commit/tx/invariants.d.ts +68 -0
- package/dist/with-commit/tx/strategy.d.ts +23 -0
- package/dist/with-commit/tx/transaction.d.ts +207 -0
- package/dist/with-fork/archive/engine.d.ts +71 -0
- package/dist/with-fork/archive/index.d.ts +23 -0
- package/dist/with-fork/shadow/active.d.ts +6 -0
- package/dist/with-fork/shadow/index.d.ts +14 -0
- package/dist/with-fork/shadow/strategy.d.ts +28 -0
- package/dist/with-fork/shadow/vault-frame.d.ts +93 -0
- package/dist/with-fork/snapshots/active.d.ts +20 -0
- package/dist/with-fork/snapshots/engine.d.ts +36 -0
- package/dist/with-fork/snapshots/index.d.ts +5 -0
- package/dist/with-fork/snapshots/noydb-facade.d.ts +64 -0
- package/dist/with-fork/snapshots/policy.d.ts +23 -0
- package/dist/with-fork/snapshots/scheduler.d.ts +34 -0
- package/dist/with-fork/snapshots/strategy.d.ts +48 -0
- package/dist/with-formula/computed/index.d.ts +48 -0
- package/dist/with-formula/computed/lazy.d.ts +13 -0
- package/dist/with-formula/derivations/executor.d.ts +61 -0
- package/dist/with-formula/derivations/fanout-sidecar.d.ts +75 -0
- package/dist/with-formula/derivations/index.d.ts +6 -0
- package/dist/with-formula/derivations/registry.d.ts +67 -0
- package/dist/with-formula/derivations/stale.d.ts +39 -0
- package/dist/with-formula/derivations/strategy-hash.d.ts +1 -0
- package/dist/with-formula/derivations/types.d.ts +248 -0
- package/dist/with-formula/derivations/with-derivation.d.ts +10 -0
- package/dist/with-formula/derivations/with-rollup.d.ts +34 -0
- package/dist/with-formula/materialized-views/dependency-analyzer.d.ts +58 -0
- package/dist/with-formula/materialized-views/executor.d.ts +71 -0
- package/dist/with-formula/materialized-views/index.d.ts +11 -0
- package/dist/with-formula/materialized-views/query-hash.d.ts +23 -0
- package/dist/with-formula/materialized-views/registry.d.ts +99 -0
- package/dist/with-formula/materialized-views/stale.d.ts +62 -0
- package/dist/with-formula/materialized-views/types.d.ts +318 -0
- package/dist/with-formula/materialized-views/with-materialized-view.d.ts +24 -0
- package/dist/with-formula/overlay-views/index.d.ts +5 -0
- package/dist/with-formula/overlay-views/registry.d.ts +42 -0
- package/dist/with-formula/overlay-views/types.d.ts +97 -0
- package/dist/with-formula/overlay-views/virtual-collection.d.ts +90 -0
- package/dist/with-formula/overlay-views/with-overlayed-view.d.ts +9 -0
- package/dist/with-lookup/aggregate/active.d.ts +33 -0
- package/dist/with-lookup/aggregate/aggregation.d.ts +166 -0
- package/dist/with-lookup/aggregate/canonical-key.d.ts +16 -0
- package/dist/with-lookup/aggregate/groupby.d.ts +280 -0
- package/dist/with-lookup/aggregate/index.d.ts +23 -0
- package/dist/with-lookup/aggregate/reducers.d.ts +257 -0
- package/dist/with-lookup/aggregate/strategy.d.ts +59 -0
- package/dist/with-lookup/embeddings/cosine.d.ts +2 -0
- package/dist/with-lookup/embeddings/descriptor.d.ts +8 -0
- package/dist/with-lookup/embeddings/index.d.ts +3 -0
- package/dist/with-lookup/embeddings/vector-set.d.ts +19 -0
- package/dist/with-lookup/indexing/active.d.ts +30 -0
- package/dist/with-lookup/indexing/collection-facade.d.ts +120 -0
- package/dist/with-lookup/indexing/eager-indexes.d.ts +122 -0
- package/dist/with-lookup/indexing/index.d.ts +27 -0
- package/dist/with-lookup/indexing/lazy-builder.d.ts +69 -0
- package/dist/with-lookup/indexing/persisted-indexes.d.ts +186 -0
- package/dist/with-lookup/indexing/strategy.d.ts +56 -0
- package/dist/with-lookup/indexing/unique-constraints.d.ts +74 -0
- package/dist/with-lookup/search/active.d.ts +10 -0
- package/dist/with-lookup/search/build-docs.d.ts +15 -0
- package/dist/with-lookup/search/collection-facade.d.ts +123 -0
- package/dist/with-lookup/search/fuse.d.ts +22 -0
- package/dist/with-lookup/search/index-store.d.ts +19 -0
- package/dist/with-lookup/search/index.d.ts +19 -0
- package/dist/with-lookup/search/inverted-index.d.ts +47 -0
- package/dist/with-lookup/search/persisted-index-store.d.ts +41 -0
- package/dist/with-lookup/search/retrieve-types.d.ts +29 -0
- package/dist/with-lookup/search/scan.d.ts +28 -0
- package/dist/with-lookup/search/segment.d.ts +15 -0
- package/dist/with-lookup/search/serialize.d.ts +4 -0
- package/dist/with-lookup/search/snippet.d.ts +5 -0
- package/dist/with-lookup/search/strategy.d.ts +37 -0
- package/dist/with-lookup/search/tokenize.d.ts +12 -0
- package/dist/with-party/auth-introspection/index.d.ts +44 -0
- package/dist/with-party/broker/active.d.ts +23 -0
- package/dist/with-party/broker/index.d.ts +28 -0
- package/dist/with-party/broker/seed.d.ts +77 -0
- package/dist/with-party/custody/active.d.ts +10 -0
- package/dist/with-party/custody/index.d.ts +69 -0
- package/dist/with-party/custody/liberate.d.ts +64 -0
- package/dist/with-party/custody/strategy.d.ts +48 -0
- package/dist/with-party/directory/index.d.ts +11 -0
- package/dist/with-party/directory/public-envelope/index.d.ts +12 -0
- package/dist/with-party/directory/public-envelope/schema.d.ts +24 -0
- package/dist/with-party/directory/public-envelope/storage.d.ts +59 -0
- package/dist/with-party/directory/public-envelope/types.d.ts +80 -0
- package/dist/with-party/directory/storage.d.ts +33 -0
- package/dist/with-party/directory/types.d.ts +43 -0
- package/dist/with-party/directory/user-envelope/api.d.ts +201 -0
- package/dist/with-party/directory/user-envelope/index.d.ts +12 -0
- package/dist/with-party/directory/user-envelope/storage.d.ts +54 -0
- package/dist/with-party/directory/visibility.d.ts +47 -0
- package/dist/with-party/policy/engine.d.ts +60 -0
- package/dist/with-party/policy/index.d.ts +15 -0
- package/dist/with-party/policy/noydb-facade.d.ts +39 -0
- package/dist/with-party/policy/presets.d.ts +38 -0
- package/dist/with-party/policy/storage.d.ts +31 -0
- package/dist/with-party/session/active.d.ts +34 -0
- package/dist/with-party/session/dev-unlock.d.ts +128 -0
- package/dist/with-party/session/index.d.ts +23 -0
- package/dist/with-party/session/session-policy.d.ts +92 -0
- package/dist/with-party/session/session.d.ts +131 -0
- package/dist/with-party/session/strategy.d.ts +42 -0
- package/dist/with-party/session/unlock-state.d.ts +47 -0
- package/dist/with-party/sync/index.d.ts +31 -0
- package/dist/with-party/tab-coordination.d.ts +73 -0
- package/dist/with-party/tab-write-relay.d.ts +39 -0
- package/dist/with-party/team/active.d.ts +13 -0
- package/dist/with-party/team/authenticators.d.ts +95 -0
- package/dist/with-party/team/deed.d.ts +97 -0
- package/dist/with-party/team/delegation.d.ts +88 -0
- package/dist/with-party/team/index.d.ts +38 -0
- package/dist/with-party/team/keyring.d.ts +318 -0
- package/dist/with-party/team/magic-link-grant.d.ts +152 -0
- package/dist/with-party/team/managed-passphrase.d.ts +280 -0
- package/dist/with-party/team/noydb-facade.d.ts +484 -0
- package/dist/with-party/team/peer-recover.d.ts +81 -0
- package/dist/with-party/team/presence.d.ts +81 -0
- package/dist/with-party/team/recovery.d.ts +191 -0
- package/dist/with-party/team/reserved-secret-collections.d.ts +41 -0
- package/dist/with-party/team/rotate-recover.d.ts +275 -0
- package/dist/with-party/team/shamir-recovery-provider.d.ts +15 -0
- package/dist/with-party/team/strategy.d.ts +9 -0
- package/dist/with-party/team/sync-active.d.ts +33 -0
- package/dist/with-party/team/sync-credentials.d.ts +113 -0
- package/dist/with-party/team/sync-strategy.d.ts +67 -0
- package/dist/with-party/team/sync-transaction.d.ts +39 -0
- package/dist/with-party/team/sync.d.ts +165 -0
- package/dist/with-party/team/tiers.d.ts +39 -0
- package/dist/with-party/team/wrapped-deks.d.ts +86 -0
- package/dist/with-pod/backup.d.ts +74 -0
- package/dist/with-pod/bundle.d.ts +414 -0
- package/dist/with-pod/format.d.ts +203 -0
- package/dist/with-pod/index.d.ts +20 -0
- package/dist/with-pod/pod-store.d.ts +54 -0
- package/dist/with-pod/ulid.d.ts +64 -0
- package/dist/with-shape/blobs/blob-compaction.d.ts +170 -0
- package/dist/with-shape/blobs/blob-set.d.ts +342 -0
- package/dist/with-shape/blobs/export-blobs.d.ts +110 -0
- package/dist/with-shape/blobs/import-external.d.ts +50 -0
- package/dist/with-shape/blobs/mime-magic.d.ts +48 -0
- package/dist/with-shape/blobs/object-projection.d.ts +70 -0
- package/dist/with-shape/introspection/describe.d.ts +237 -0
- package/dist/with-shape/introspection/field-meta.d.ts +61 -0
- package/dist/with-shape/introspection/fields.d.ts +14 -0
- package/dist/with-shape/introspection/index.d.ts +12 -0
- package/dist/with-shape/introspection/json-schema.d.ts +13 -0
- package/dist/with-shape/introspection/meta.d.ts +22 -0
- package/dist/with-shape/introspection/projection.d.ts +13 -0
- package/dist/with-shape/introspection/types.d.ts +154 -0
- package/dist/with-shape/introspection/walk.d.ts +50 -0
- package/dist/with-shape/links/lazy-handle.d.ts +36 -0
- package/dist/with-shape/links/link-set.d.ts +67 -0
- package/dist/with-shape/links/names.d.ts +65 -0
- package/dist/with-shape/links/vault-facade.d.ts +211 -0
- package/dist/with-shape/persisted-schemas/canonicalize.d.ts +11 -0
- package/dist/with-shape/persisted-schemas/derive.d.ts +29 -0
- package/dist/with-shape/persisted-schemas/index.d.ts +21 -0
- package/dist/with-shape/persisted-schemas/register.d.ts +66 -0
- package/dist/with-shape/persisted-schemas/storage.d.ts +61 -0
- package/dist/with-shape/persisted-schemas/types.d.ts +54 -0
- package/dist/with-shape/satellites/dead-filter.d.ts +21 -0
- package/dist/with-shape/satellites/declare.d.ts +60 -0
- package/dist/with-shape/satellites/existence.d.ts +5 -0
- package/dist/with-shape/satellites/fanout.d.ts +37 -0
- package/dist/with-shape/satellites/forget.d.ts +47 -0
- package/dist/with-shape/satellites/index.d.ts +3 -0
- package/dist/with-shape/satellites/joined.d.ts +19 -0
- package/dist/with-shape/satellites/marker.d.ts +10 -0
- package/dist/with-shape/satellites/post-register.d.ts +6 -0
- package/dist/with-shape/satellites/proxy.d.ts +37 -0
- package/dist/with-shape/satellites/raw-target.d.ts +14 -0
- package/dist/with-shape/satellites/registry.d.ts +19 -0
- package/dist/with-shape/satellites/types.d.ts +26 -0
- package/dist/with-shape/satellites/validate.d.ts +17 -0
- package/dist/with-shape/schema-update/client-registry.d.ts +35 -0
- package/dist/with-shape/schema-update/cutover.d.ts +5 -0
- package/dist/with-shape/schema-update/delta.d.ts +2 -0
- package/dist/with-shape/schema-update/dispatch.d.ts +3 -0
- package/dist/with-shape/schema-update/fence-controller.d.ts +62 -0
- package/dist/with-shape/schema-update/fence-watcher.d.ts +37 -0
- package/dist/with-shape/schema-update/fence.d.ts +15 -0
- package/dist/with-shape/schema-update/gate.d.ts +16 -0
- package/dist/with-shape/schema-update/index.d.ts +6 -0
- package/dist/with-shape/schema-update/store-coordination-provider.d.ts +29 -0
- package/dist/with-shape/schema-update/strategies.d.ts +12 -0
- package/dist/with-shape/schema-update/types.d.ts +53 -0
- package/dist/with-store/index.d.ts +15 -0
- package/dist/with-store/lazy/active.d.ts +12 -0
- package/dist/with-store/lazy/index.d.ts +14 -0
- package/dist/with-store/lazy/strategy.d.ts +9 -0
- package/dist/with-store/route-store.d.ts +259 -0
- package/dist/with-store/store-middleware.d.ts +189 -0
- package/dist/withdraw-accessible-CLMZEHQT.js +28 -0
- package/dist/withdraw-accessible-CLMZEHQT.js.map +1 -0
- package/package.json +56 -52
- package/dist/adapter/index.d.ts +0 -5
- package/dist/adapter/index.js +0 -15
- package/dist/aggregate/index.d.ts +0 -42
- package/dist/api-RW3KP7WU.js +0 -14
- package/dist/as/index.d.ts +0 -7
- package/dist/at/index.d.ts +0 -5
- package/dist/attestation/index.d.ts +0 -20
- package/dist/backup-XV3IOEGB.js +0 -217
- package/dist/backup-XV3IOEGB.js.map +0 -1
- package/dist/blobs/index.d.ts +0 -44
- package/dist/bundle/index.d.ts +0 -122
- package/dist/bundle-CH-H06dp.d.ts +0 -548
- package/dist/by/index.d.ts +0 -1
- package/dist/cargo/index.d.ts +0 -9
- package/dist/chunk-26LGBE4T.js +0 -42
- package/dist/chunk-26LGBE4T.js.map +0 -1
- package/dist/chunk-2P2HZEXU.js +0 -233
- package/dist/chunk-2P2HZEXU.js.map +0 -1
- package/dist/chunk-3YFXJ3ZP.js +0 -97
- package/dist/chunk-5LUY7UTV.js +0 -380
- package/dist/chunk-5LUY7UTV.js.map +0 -1
- package/dist/chunk-5N6CZTCY.js +0 -367
- package/dist/chunk-5O3AOPDT.js +0 -992
- package/dist/chunk-5O3AOPDT.js.map +0 -1
- package/dist/chunk-5R3ERCDH.js +0 -239
- package/dist/chunk-5R3ERCDH.js.map +0 -1
- package/dist/chunk-5R5JW2JT.js +0 -12502
- package/dist/chunk-5R5JW2JT.js.map +0 -1
- package/dist/chunk-5TDJ56JE.js +0 -32
- package/dist/chunk-5TDJ56JE.js.map +0 -1
- package/dist/chunk-62QYRORB.js +0 -320
- package/dist/chunk-62QYRORB.js.map +0 -1
- package/dist/chunk-6S7T6WC4.js +0 -111
- package/dist/chunk-6S7T6WC4.js.map +0 -1
- package/dist/chunk-76722EBH.js +0 -451
- package/dist/chunk-76722EBH.js.map +0 -1
- package/dist/chunk-AIWULCUO.js +0 -68
- package/dist/chunk-AIWULCUO.js.map +0 -1
- package/dist/chunk-AQTBSL7R.js +0 -181
- package/dist/chunk-AQTBSL7R.js.map +0 -1
- package/dist/chunk-AXRXJTE2.js +0 -59
- package/dist/chunk-AZAOEIKW.js +0 -155
- package/dist/chunk-BG3SPSR4.js +0 -53
- package/dist/chunk-BG3SPSR4.js.map +0 -1
- package/dist/chunk-BGIZAFY7.js +0 -1
- package/dist/chunk-CMGR4ZEW.js +0 -209
- package/dist/chunk-CWPPNPOH.js +0 -23
- package/dist/chunk-DFEMTNPJ.js +0 -1219
- package/dist/chunk-DFEMTNPJ.js.map +0 -1
- package/dist/chunk-DGDI2D4M.js +0 -79
- package/dist/chunk-DGDI2D4M.js.map +0 -1
- package/dist/chunk-EIZUR2XW.js +0 -36
- package/dist/chunk-FISN7WE4.js +0 -798
- package/dist/chunk-FISN7WE4.js.map +0 -1
- package/dist/chunk-GYGWYIOZ.js +0 -200
- package/dist/chunk-GYGWYIOZ.js.map +0 -1
- package/dist/chunk-HCIPRAGS.js +0 -45
- package/dist/chunk-I2NOIW44.js +0 -83
- package/dist/chunk-I2NOIW44.js.map +0 -1
- package/dist/chunk-I3TIKTJO.js +0 -132
- package/dist/chunk-I3TIKTJO.js.map +0 -1
- package/dist/chunk-IAGBDSCS.js +0 -40
- package/dist/chunk-IELYAOGG.js +0 -78
- package/dist/chunk-IELYAOGG.js.map +0 -1
- package/dist/chunk-IGUYVGGI.js +0 -205
- package/dist/chunk-IO6GRPT6.js +0 -34
- package/dist/chunk-IPB7FTQX.js +0 -273
- package/dist/chunk-IPB7FTQX.js.map +0 -1
- package/dist/chunk-ITNUCOXM.js +0 -148
- package/dist/chunk-ITNUCOXM.js.map +0 -1
- package/dist/chunk-IUEN57TV.js +0 -722
- package/dist/chunk-IUEN57TV.js.map +0 -1
- package/dist/chunk-JNUWZ6D3.js +0 -57
- package/dist/chunk-JNUWZ6D3.js.map +0 -1
- package/dist/chunk-K2WCO3NX.js +0 -1
- package/dist/chunk-KVOXU4T5.js +0 -30
- package/dist/chunk-KXGNJJXB.js +0 -135
- package/dist/chunk-LFLXAY2W.js +0 -414
- package/dist/chunk-LFLXAY2W.js.map +0 -1
- package/dist/chunk-LMTH2RM6.js +0 -129
- package/dist/chunk-LV7M27WM.js +0 -702
- package/dist/chunk-LV7M27WM.js.map +0 -1
- package/dist/chunk-LXQT4WMP.js +0 -684
- package/dist/chunk-LXQT4WMP.js.map +0 -1
- package/dist/chunk-M2YKN37S.js +0 -524
- package/dist/chunk-M2YKN37S.js.map +0 -1
- package/dist/chunk-M6OST55S.js +0 -14
- package/dist/chunk-MD3Y6J3L.js +0 -278
- package/dist/chunk-MD3Y6J3L.js.map +0 -1
- package/dist/chunk-MTMJVJ5W.js +0 -73
- package/dist/chunk-MTMJVJ5W.js.map +0 -1
- package/dist/chunk-NF5JWERG.js +0 -74
- package/dist/chunk-PKHL44ER.js +0 -124
- package/dist/chunk-PSMV73A5.js +0 -117
- package/dist/chunk-Q7SS3IME.js +0 -120
- package/dist/chunk-Q7SS3IME.js.map +0 -1
- package/dist/chunk-QHJW5EXU.js +0 -54
- package/dist/chunk-RUEKROOS.js +0 -80
- package/dist/chunk-RUIMKQTA.js +0 -23
- package/dist/chunk-RUIMKQTA.js.map +0 -1
- package/dist/chunk-SKF73JOP.js +0 -355
- package/dist/chunk-SM3AVUHC.js +0 -42
- package/dist/chunk-SMXWYP24.js +0 -155
- package/dist/chunk-SRB2XEWB.js +0 -148
- package/dist/chunk-SRB2XEWB.js.map +0 -1
- package/dist/chunk-TA66UMI4.js +0 -123
- package/dist/chunk-TEILUWOI.js +0 -664
- package/dist/chunk-TEILUWOI.js.map +0 -1
- package/dist/chunk-TJYQIGAP.js +0 -82
- package/dist/chunk-TJYQIGAP.js.map +0 -1
- package/dist/chunk-UAG5KWVA.js +0 -367
- package/dist/chunk-UDRIWL7A.js +0 -382
- package/dist/chunk-UIU2THRG.js +0 -1937
- package/dist/chunk-UIU2THRG.js.map +0 -1
- package/dist/chunk-UPJNJGGA.js +0 -572
- package/dist/chunk-UPJNJGGA.js.map +0 -1
- package/dist/chunk-UV5MFVO3.js +0 -21
- package/dist/chunk-V7RWQRG7.js +0 -430
- package/dist/chunk-VCTFO5CO.js +0 -71
- package/dist/chunk-VFQGRQIH.js +0 -97
- package/dist/chunk-VFQGRQIH.js.map +0 -1
- package/dist/chunk-WWGT2MDV.js +0 -762
- package/dist/chunk-WWGT2MDV.js.map +0 -1
- package/dist/chunk-WYSO2NIH.js +0 -30
- package/dist/chunk-XXYIOFUB.js +0 -164
- package/dist/chunk-Y22T3KQE.js +0 -261
- package/dist/chunk-Y22T3KQE.js.map +0 -1
- package/dist/chunk-ZCGAHGUS.js +0 -230
- package/dist/chunk-ZYUC53LT.js +0 -1370
- package/dist/chunk-ZYUC53LT.js.map +0 -1
- package/dist/collection-facade-GQAOGJP2.js +0 -33
- package/dist/consent/index.d.ts +0 -23
- package/dist/crdt/index.d.ts +0 -34
- package/dist/decrypt-partition-IHtxEnTi.d.ts +0 -21
- package/dist/delegation-UL5HKLER.js +0 -19
- package/dist/derivations/index.d.ts +0 -70
- package/dist/describe/index.d.ts +0 -1
- package/dist/describe/index.js +0 -1
- package/dist/describe-aBkJR2sd.d.ts +0 -131
- package/dist/dev-unlock-C9Ro3v_O.d.ts +0 -263
- package/dist/discriminant-BN9REW3o.d.ts +0 -60
- package/dist/enclave-UL5LW66V.js +0 -88
- package/dist/executor-2FWQRLMG.js +0 -15
- package/dist/executor-QZ7BXICW.js +0 -9
- package/dist/executor-Z5ZLJVTV.js +0 -9
- package/dist/export-accessible-KRV5W4GH.js +0 -17
- package/dist/extract-partition-GLKBOXFQ.js +0 -30
- package/dist/fanout-sidecar-GF3DJ6KR.js +0 -71
- package/dist/fanout-sidecar-GF3DJ6KR.js.map +0 -1
- package/dist/forget/index.d.ts +0 -36
- package/dist/guards/index.d.ts +0 -35
- package/dist/hash-Cp5uwiox.d.ts +0 -67
- package/dist/history/index.d.ts +0 -61
- package/dist/i18n/index.d.ts +0 -37
- package/dist/in/index.d.ts +0 -5
- package/dist/index-B9QdHytu.d.ts +0 -123
- package/dist/index-BF9_96A5.d.ts +0 -123
- package/dist/index-BzUo1B6n.d.ts +0 -20730
- package/dist/indexing/index.d.ts +0 -39
- package/dist/issue-Y6UVIR43.js +0 -13
- package/dist/kernel/index.d.ts +0 -32
- package/dist/kernel/index.js +0 -53
- package/dist/ledger-RYI35CDS.js +0 -36
- package/dist/liberate-CRPZEV7O.js +0 -18
- package/dist/materialized-views/index.d.ts +0 -173
- package/dist/mime-magic-CGhw37_E.d.ts +0 -103
- package/dist/noydb-367AM4HT.js +0 -50
- package/dist/on/index.d.ts +0 -5
- package/dist/overlay-views/index.d.ts +0 -98
- package/dist/periods/index.d.ts +0 -20
- package/dist/pod/index.d.ts +0 -63
- package/dist/policy-IXK4FVXP.js +0 -41
- package/dist/portability/index.d.ts +0 -20
- package/dist/public-envelope-JHDQCPSX.js +0 -32
- package/dist/query/index.d.ts +0 -5
- package/dist/read-only-facade-5ADRJVTM.js +0 -8
- package/dist/registry-45RJNWGU.js +0 -9
- package/dist/registry-5GRV5VXI.js +0 -13
- package/dist/registry-WEUCHBO4.js +0 -11
- package/dist/request-withdrawal-GBPH2FDY.js +0 -25
- package/dist/revoke-TUFRGI6S.js +0 -18
- package/dist/sealed-record/index.d.ts +0 -69
- package/dist/session/index.d.ts +0 -44
- package/dist/shadow/index.d.ts +0 -15
- package/dist/signer-PNKTBVF7.js +0 -19
- package/dist/snapshots/index.d.ts +0 -26
- package/dist/stale-3JWHNDIY.js +0 -14
- package/dist/store-coordination-provider-3I7XWZZK.js +0 -142
- package/dist/subject-index-O75wKshW.d.ts +0 -362
- package/dist/sync/index.d.ts +0 -41
- package/dist/team/index.d.ts +0 -116
- package/dist/tiers/index.d.ts +0 -5
- package/dist/to/index.d.ts +0 -5
- package/dist/transition-guard-C7ol6oPw.d.ts +0 -165
- package/dist/tx/index.d.ts +0 -35
- package/dist/ui/index.d.ts +0 -1
- package/dist/ulid-DRH25k3y.d.ts +0 -66
- package/dist/util/index.d.ts +0 -79
- package/dist/vault-diff-B5fYNBL7.d.ts +0 -147
- package/dist/with/index.d.ts +0 -38
- package/dist/with-materialized-view-6p0Fk8bL.d.ts +0 -27
- package/dist/with-overlayed-view-BJ6mXGMd.d.ts +0 -12
- package/dist/with-rollup-BvQo3ROo.d.ts +0 -47
- package/dist/withdraw-accessible-FFS46EOD.js +0 -22
- /package/dist/{adapter/index.js.map → api-YGMINAET.js.map} +0 -0
- /package/dist/{chunk-V7RWQRG7.js.map → chunk-3CNQ7FQ3.js.map} +0 -0
- /package/dist/{chunk-NF5JWERG.js.map → chunk-3MSQLQNZ.js.map} +0 -0
- /package/dist/{chunk-IO6GRPT6.js.map → chunk-4R4Q64W5.js.map} +0 -0
- /package/dist/{chunk-SMXWYP24.js.map → chunk-5XIPOCQC.js.map} +0 -0
- /package/dist/{chunk-IGUYVGGI.js.map → chunk-6QILBDZU.js.map} +0 -0
- /package/dist/{chunk-AZAOEIKW.js.map → chunk-7E67FJ33.js.map} +0 -0
- /package/dist/{chunk-PSMV73A5.js.map → chunk-7NS43EXZ.js.map} +0 -0
- /package/dist/{chunk-CMGR4ZEW.js.map → chunk-A2Y6YFVN.js.map} +0 -0
- /package/dist/{chunk-HCIPRAGS.js.map → chunk-BCYQA5BK.js.map} +0 -0
- /package/dist/{chunk-LMTH2RM6.js.map → chunk-CB25ONKC.js.map} +0 -0
- /package/dist/{chunk-UV5MFVO3.js.map → chunk-CIKY6I4W.js.map} +0 -0
- /package/dist/{chunk-QHJW5EXU.js.map → chunk-D26JB3LZ.js.map} +0 -0
- /package/dist/{chunk-SM3AVUHC.js.map → chunk-DIRRS7WP.js.map} +0 -0
- /package/dist/{chunk-SKF73JOP.js.map → chunk-H44ZE4IE.js.map} +0 -0
- /package/dist/{chunk-UDRIWL7A.js.map → chunk-HFJIGWJC.js.map} +0 -0
- /package/dist/{chunk-ZCGAHGUS.js.map → chunk-KPGX66PM.js.map} +0 -0
- /package/dist/{chunk-5N6CZTCY.js.map → chunk-MCEKIAO4.js.map} +0 -0
- /package/dist/{chunk-CWPPNPOH.js.map → chunk-O2DYPAZY.js.map} +0 -0
- /package/dist/{chunk-KVOXU4T5.js.map → chunk-ODJWBC5I.js.map} +0 -0
- /package/dist/{chunk-VCTFO5CO.js.map → chunk-OFJ5GPNA.js.map} +0 -0
- /package/dist/{chunk-KXGNJJXB.js.map → chunk-PXWVF7MC.js.map} +0 -0
- /package/dist/{chunk-IAGBDSCS.js.map → chunk-Q3XSMOZM.js.map} +0 -0
- /package/dist/{chunk-AXRXJTE2.js.map → chunk-RKRGDAS7.js.map} +0 -0
- /package/dist/{chunk-XXYIOFUB.js.map → chunk-SRVQHVNX.js.map} +0 -0
- /package/dist/{chunk-M6OST55S.js.map → chunk-UFILRICG.js.map} +0 -0
- /package/dist/{chunk-3YFXJ3ZP.js.map → chunk-UTLEAJXC.js.map} +0 -0
- /package/dist/{chunk-TA66UMI4.js.map → chunk-VA4ZWLFY.js.map} +0 -0
- /package/dist/{chunk-UAG5KWVA.js.map → chunk-VR24ILCR.js.map} +0 -0
- /package/dist/{chunk-WYSO2NIH.js.map → chunk-XHV25KBM.js.map} +0 -0
- /package/dist/{chunk-PKHL44ER.js.map → chunk-YSXEFGND.js.map} +0 -0
- /package/dist/{chunk-EIZUR2XW.js.map → chunk-YXOUQ2H7.js.map} +0 -0
- /package/dist/{chunk-RUEKROOS.js.map → chunk-ZP5PL65C.js.map} +0 -0
- /package/dist/{describe → classified}/index.js.map +0 -0
- /package/dist/{api-RW3KP7WU.js.map → collection-facade-YE2O4J4O.js.map} +0 -0
- /package/dist/{chunk-BGIZAFY7.js.map → computed-W6MVAMWZ.js.map} +0 -0
- /package/dist/{chunk-K2WCO3NX.js.map → delegation-OPUU3R2E.js.map} +0 -0
- /package/dist/{collection-facade-GQAOGJP2.js.map → derive-BGUHU663.js.map} +0 -0
- /package/dist/{delegation-UL5HKLER.js.map → enclave-VXAQD4XJ.js.map} +0 -0
- /package/dist/{enclave-UL5LW66V.js.map → executor-GTVSUUBX.js.map} +0 -0
- /package/dist/{executor-2FWQRLMG.js.map → executor-GZWMTOXB.js.map} +0 -0
- /package/dist/{executor-QZ7BXICW.js.map → executor-XXGS4S3K.js.map} +0 -0
- /package/dist/{executor-Z5ZLJVTV.js.map → export-accessible-BMULIOYB.js.map} +0 -0
- /package/dist/{export-accessible-KRV5W4GH.js.map → extract-partition-JUQTWDXR.js.map} +0 -0
- /package/dist/{extract-partition-GLKBOXFQ.js.map → find-XRGCNGNN.js.map} +0 -0
- /package/dist/{issue-Y6UVIR43.js.map → issue-UB6AA5M6.js.map} +0 -0
- /package/dist/{kernel → lazy}/index.js.map +0 -0
- /package/dist/{ledger-RYI35CDS.js.map → ledger-FU6GH5EH.js.map} +0 -0
- /package/dist/{liberate-CRPZEV7O.js.map → liberate-YUN7W5QG.js.map} +0 -0
- /package/dist/{noydb-367AM4HT.js.map → link-set-MNADSH5M.js.map} +0 -0
- /package/dist/{policy-IXK4FVXP.js.map → noydb-6JLBZU4U.js.map} +0 -0
- /package/dist/{public-envelope-JHDQCPSX.js.map → policy-JTFOPPUU.js.map} +0 -0
- /package/dist/{read-only-facade-5ADRJVTM.js.map → public-envelope-NJVB7LPA.js.map} +0 -0
- /package/dist/{registry-45RJNWGU.js.map → read-only-facade-CHCKSEPD.js.map} +0 -0
- /package/dist/{registry-5GRV5VXI.js.map → register-VCKOBWKT.js.map} +0 -0
- /package/dist/{registry-WEUCHBO4.js.map → registry-72UKJ2L4.js.map} +0 -0
- /package/dist/{request-withdrawal-GBPH2FDY.js.map → registry-BZFLJNEH.js.map} +0 -0
- /package/dist/{revoke-TUFRGI6S.js.map → registry-YJEYSYI5.js.map} +0 -0
- /package/dist/{signer-PNKTBVF7.js.map → request-withdrawal-6MJRMFHF.js.map} +0 -0
- /package/dist/{stale-3JWHNDIY.js.map → revoke-4KUNSVJC.js.map} +0 -0
- /package/dist/{withdraw-accessible-FFS46EOD.js.map → satellites/index.js.map} +0 -0
- /package/dist/{store-coordination-provider-3I7XWZZK.js.map → store-coordination-provider-HPYVFJCV.js.map} +0 -0
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
import {
|
|
2
|
+
loadVaultPolicy,
|
|
3
|
+
saveVaultPolicy
|
|
4
|
+
} from "./chunk-DIRRS7WP.js";
|
|
5
|
+
import {
|
|
6
|
+
PolicyDeniedError,
|
|
7
|
+
ValidationError
|
|
8
|
+
} from "./chunk-FH542DDY.js";
|
|
9
|
+
|
|
10
|
+
// src/with-party/policy/presets.ts
|
|
11
|
+
var PERSONAL_POLICY = Object.freeze({
|
|
12
|
+
passphrase: {
|
|
13
|
+
minWords: 6,
|
|
14
|
+
minWordLength: 3,
|
|
15
|
+
rejectRepeatedAdjacent: true
|
|
16
|
+
},
|
|
17
|
+
gates: {
|
|
18
|
+
"rotate-passphrase": {
|
|
19
|
+
minTier: 1,
|
|
20
|
+
// Any second factor satisfies the gate — off-device kinds (TOTP,
|
|
21
|
+
// email-OTP, paper recovery, roaming WebAuthn) are the strongest;
|
|
22
|
+
// platform-bound kinds (platform WebAuthn, password, PIN) are
|
|
23
|
+
// accepted because requiring "something off-device" is overkill
|
|
24
|
+
// for personal/SMB threat models. Consumers needing the off-device
|
|
25
|
+
// guarantee should use STRICT_POLICY or override this gate.
|
|
26
|
+
factors: [{
|
|
27
|
+
anyOf: [
|
|
28
|
+
"totp",
|
|
29
|
+
"email-otp",
|
|
30
|
+
"recovery",
|
|
31
|
+
"webauthn-roaming",
|
|
32
|
+
"webauthn-platform",
|
|
33
|
+
"password",
|
|
34
|
+
"pin"
|
|
35
|
+
]
|
|
36
|
+
}]
|
|
37
|
+
},
|
|
38
|
+
"recover-passphrase": {
|
|
39
|
+
minTier: 1,
|
|
40
|
+
enabled: true
|
|
41
|
+
},
|
|
42
|
+
// rotate-recovery: deliberate paper-sheet regeneration
|
|
43
|
+
// when the user remembers their passphrase. PERSONAL allows tier-1 —
|
|
44
|
+
// knowing the passphrase is enough.
|
|
45
|
+
"rotate-recovery": { minTier: 1 },
|
|
46
|
+
"enroll-authenticator": { minTier: 1 },
|
|
47
|
+
"remove-authenticator": { minTier: 1 },
|
|
48
|
+
// update-authenticator: meta-only mutation (slot rename, label
|
|
49
|
+
// changes). Symmetric with enroll/remove under PERSONAL — tier-1
|
|
50
|
+
// unlock alone. The structural anti-slot-swap guard inside the
|
|
51
|
+
// implementation enforces wrap-material/id/method immutability
|
|
52
|
+
// regardless of this gate's settings.
|
|
53
|
+
"update-authenticator": { minTier: 1 },
|
|
54
|
+
"rotate-unlock": { minTier: 2 },
|
|
55
|
+
"enroll-user": { minTier: 1 },
|
|
56
|
+
"revoke-user": { minTier: 1 },
|
|
57
|
+
// Peer-recovery is a high-trust intentional op — co-owners
|
|
58
|
+
// recovering each other should not need an off-device factor in
|
|
59
|
+
// the personal/SMB threat model (the partner is already vetted by
|
|
60
|
+
// virtue of being a co-owner). Tier-1 unlock is the floor; the
|
|
61
|
+
// STRICT preset adds a recovery/email-OTP requirement.
|
|
62
|
+
"peer-recover-user": { minTier: 1 },
|
|
63
|
+
// update-user: post-grant identity mutation (role/displayName/
|
|
64
|
+
// permissions). PERSONAL_POLICY treats this on par with enroll-user
|
|
65
|
+
// / revoke-user — tier-1 unlock alone. The role-elevation guard
|
|
66
|
+
// inside the implementation is the structural backstop that this
|
|
67
|
+
// gate's settings cannot weaken.
|
|
68
|
+
"update-user": { minTier: 1 },
|
|
69
|
+
"export-bundle": { minTier: 1 },
|
|
70
|
+
"export-plaintext": {
|
|
71
|
+
minTier: 1,
|
|
72
|
+
factors: [{ anyOf: ["totp", "email-otp"] }]
|
|
73
|
+
},
|
|
74
|
+
"view-user-auth": {
|
|
75
|
+
minTier: 1,
|
|
76
|
+
enabled: false
|
|
77
|
+
},
|
|
78
|
+
// ─── User envelope gates ──────────────────────────────────────────
|
|
79
|
+
// edit-own-profile: tier 3 floor — any active session can edit their
|
|
80
|
+
// own profile/preferences. Tightening to require a TOTP for
|
|
81
|
+
// profile changes is a one-line override.
|
|
82
|
+
// view-team-profiles: tier 2 floor — an authenticated session can
|
|
83
|
+
// read teammates' profiles (display names, avatars, locales).
|
|
84
|
+
// Setting `enabled: false` makes vault.user.list() return only
|
|
85
|
+
// self (privacy-strict opt-out).
|
|
86
|
+
"edit-own-profile": { minTier: 3 },
|
|
87
|
+
"view-team-profiles": { minTier: 2 },
|
|
88
|
+
// client-unilateral-withdraw: a non-owner's self-service DESTRUCTIVE
|
|
89
|
+
// withdrawal (export-and-delete/freeze). Fail-closed by default —
|
|
90
|
+
// the firm opts in per jurisdiction/contract (e.g. GDPR Art. 17).
|
|
91
|
+
// Listed explicitly (not just relying on the built-in default) so it is
|
|
92
|
+
// discoverable in describeGate / policy dumps.
|
|
93
|
+
"client-unilateral-withdraw": { minTier: 1, enabled: false },
|
|
94
|
+
// Two-party withdrawal: filing a request is non-destructive
|
|
95
|
+
// (tier-1, enabled so a read-only client can ask); deciding it is the
|
|
96
|
+
// destructive step (tier-2 floor + owner/admin role, enforced in code).
|
|
97
|
+
"user-request-withdrawal": { minTier: 1 },
|
|
98
|
+
"approve-user-withdrawal": { minTier: 2 }
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
var STRICT_POLICY = Object.freeze({
|
|
102
|
+
passphrase: {
|
|
103
|
+
minWords: 8,
|
|
104
|
+
minWordLength: 3,
|
|
105
|
+
rejectRepeatedAdjacent: true
|
|
106
|
+
},
|
|
107
|
+
gates: {
|
|
108
|
+
"rotate-passphrase": {
|
|
109
|
+
minTier: 1,
|
|
110
|
+
factors: [{ anyOf: ["totp", "email-otp", "recovery"], count: 2 }]
|
|
111
|
+
},
|
|
112
|
+
"recover-passphrase": {
|
|
113
|
+
minTier: 1,
|
|
114
|
+
enabled: true
|
|
115
|
+
},
|
|
116
|
+
// rotate-recovery: STRICT requires an off-device factor —
|
|
117
|
+
// rotating recovery is an off-site-trust event; a stolen unlocked
|
|
118
|
+
// laptop must not be able to silently mint a new sheet for the
|
|
119
|
+
// attacker. Matches the `peer-recover-user` STRICT default.
|
|
120
|
+
"rotate-recovery": {
|
|
121
|
+
minTier: 1,
|
|
122
|
+
factors: [{ anyOf: ["totp", "email-otp", "webauthn-roaming"] }]
|
|
123
|
+
},
|
|
124
|
+
"enroll-authenticator": {
|
|
125
|
+
minTier: 1,
|
|
126
|
+
factors: [{ anyOf: ["totp", "email-otp"] }]
|
|
127
|
+
},
|
|
128
|
+
"remove-authenticator": {
|
|
129
|
+
minTier: 1,
|
|
130
|
+
factors: [{ anyOf: ["totp", "email-otp"] }]
|
|
131
|
+
},
|
|
132
|
+
// STRICT update-authenticator: same factor floor as enroll/remove.
|
|
133
|
+
// Even though meta changes don't touch wrap material, a malicious
|
|
134
|
+
// rename could mislead the user about which device a slot
|
|
135
|
+
// corresponds to ("MacBook Touch ID" → "iPhone Touch ID" on a
|
|
136
|
+
// shared workstation). STRICT requires a fresh factor proof.
|
|
137
|
+
"update-authenticator": {
|
|
138
|
+
minTier: 1,
|
|
139
|
+
factors: [{ anyOf: ["totp", "email-otp"] }]
|
|
140
|
+
},
|
|
141
|
+
"rotate-unlock": { minTier: 1 },
|
|
142
|
+
"enroll-user": {
|
|
143
|
+
minTier: 1,
|
|
144
|
+
factors: [{ anyOf: ["totp", "email-otp"] }]
|
|
145
|
+
},
|
|
146
|
+
"revoke-user": {
|
|
147
|
+
minTier: 1,
|
|
148
|
+
factors: [{ anyOf: ["totp", "email-otp"] }]
|
|
149
|
+
},
|
|
150
|
+
// STRICT peer-recovery: the issuer must present a recovery code
|
|
151
|
+
// OR a fresh off-device second factor at the moment of recovery.
|
|
152
|
+
// This binds the high-trust operation to a verifiable proof
|
|
153
|
+
// (recovery sheet photographed by an attacker won't suffice —
|
|
154
|
+
// they'd also need tier-1 unlock first; this gate is the freshness
|
|
155
|
+
// binding on top). Roaming WebAuthn (YubiKey-class hardware key)
|
|
156
|
+
// accepted; platform-bound kinds (Touch ID, password, PIN)
|
|
157
|
+
// intentionally excluded under STRICT because they don't survive
|
|
158
|
+
// device theft — the off-device requirement is the whole point.
|
|
159
|
+
"peer-recover-user": {
|
|
160
|
+
minTier: 1,
|
|
161
|
+
factors: [{ anyOf: ["recovery", "totp", "email-otp", "webauthn-roaming"] }]
|
|
162
|
+
},
|
|
163
|
+
// STRICT update-user: matches the enroll-user / revoke-user shape
|
|
164
|
+
// (off-device factor required). Update-user is admin-shaped — it
|
|
165
|
+
// mutates someone else's role/permissions; STRICT requires a fresh
|
|
166
|
+
// off-device factor proof so the operator affirmatively re-asserts
|
|
167
|
+
// identity at the moment of mutation. Platform-bound factors
|
|
168
|
+
// (Touch ID / password / PIN) intentionally excluded: same logic as
|
|
169
|
+
// peer-recover-user — the off-device requirement is the whole
|
|
170
|
+
// point under STRICT.
|
|
171
|
+
"update-user": {
|
|
172
|
+
minTier: 1,
|
|
173
|
+
factors: [{ anyOf: ["totp", "email-otp"] }]
|
|
174
|
+
},
|
|
175
|
+
"export-bundle": {
|
|
176
|
+
minTier: 1,
|
|
177
|
+
factors: [{ anyOf: ["totp", "email-otp"] }],
|
|
178
|
+
warn: { sharedDevice: "block" }
|
|
179
|
+
},
|
|
180
|
+
"export-plaintext": {
|
|
181
|
+
minTier: 1,
|
|
182
|
+
factors: [{ anyOf: ["totp", "email-otp"], count: 2 }],
|
|
183
|
+
warn: { sharedDevice: "block" }
|
|
184
|
+
},
|
|
185
|
+
"view-user-auth": {
|
|
186
|
+
minTier: 1,
|
|
187
|
+
enabled: false
|
|
188
|
+
},
|
|
189
|
+
// ─── User envelope gates ──────────────────────────────────────────
|
|
190
|
+
// STRICT: profile edits require a TOTP/email-OTP factor (typical
|
|
191
|
+
// shared-workstation hardening — your name/avatar shouldn't change
|
|
192
|
+
// without a fresh second-factor proof).
|
|
193
|
+
"edit-own-profile": {
|
|
194
|
+
minTier: 2,
|
|
195
|
+
factors: [{ anyOf: ["totp", "email-otp"] }]
|
|
196
|
+
},
|
|
197
|
+
"view-team-profiles": { minTier: 2 },
|
|
198
|
+
// STRICT: still fail-closed, but if a regulated firm flips enabled:true
|
|
199
|
+
// they inherit a two-factor proof + shared-device block for the
|
|
200
|
+
// destructive withdrawal (mirrors export-plaintext's hardening).
|
|
201
|
+
"client-unilateral-withdraw": {
|
|
202
|
+
minTier: 1,
|
|
203
|
+
enabled: false,
|
|
204
|
+
factors: [{ anyOf: ["totp", "email-otp"], count: 2 }],
|
|
205
|
+
warn: { sharedDevice: "block" }
|
|
206
|
+
},
|
|
207
|
+
// STRICT: filing stays tier-1; the destructive APPROVE demands an
|
|
208
|
+
// off-device factor + shared-device block (mirrors export-bundle).
|
|
209
|
+
"user-request-withdrawal": { minTier: 1 },
|
|
210
|
+
"approve-user-withdrawal": {
|
|
211
|
+
minTier: 2,
|
|
212
|
+
factors: [{ anyOf: ["totp", "email-otp"] }],
|
|
213
|
+
warn: { sharedDevice: "block" }
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
});
|
|
217
|
+
function mergePolicy(base, override) {
|
|
218
|
+
if (!override) return base;
|
|
219
|
+
const passphrase = override.passphrase ?? base.passphrase;
|
|
220
|
+
return {
|
|
221
|
+
...passphrase !== void 0 ? { passphrase } : {},
|
|
222
|
+
gates: {
|
|
223
|
+
...base.gates,
|
|
224
|
+
...override.gates ?? {}
|
|
225
|
+
}
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
// src/with-party/policy/engine.ts
|
|
230
|
+
var DEFAULT_FRESHNESS_MS = 5 * 60 * 1e3;
|
|
231
|
+
async function checkGate(policy, gate, context) {
|
|
232
|
+
const configured = policy.gates[gate];
|
|
233
|
+
if (!configured) {
|
|
234
|
+
if (gate.startsWith("app:")) {
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
237
|
+
throw deny(gate, "disabled", { minTier: 1, enabled: false });
|
|
238
|
+
}
|
|
239
|
+
if (configured.enabled === false) {
|
|
240
|
+
throw deny(gate, "disabled", configured);
|
|
241
|
+
}
|
|
242
|
+
if (context.activeTier > configured.minTier) {
|
|
243
|
+
throw deny(gate, "insufficient-tier", configured);
|
|
244
|
+
}
|
|
245
|
+
if (configured.factors && configured.factors.length > 0) {
|
|
246
|
+
const presented = context.factors ?? [];
|
|
247
|
+
const now = context.now ?? Date.now();
|
|
248
|
+
for (const requirement of configured.factors) {
|
|
249
|
+
const matches = countMatchingFactors(presented, requirement, now);
|
|
250
|
+
const need = requirement.count ?? 1;
|
|
251
|
+
if (matches.fresh < need) {
|
|
252
|
+
if (matches.totalKindMatches < need) {
|
|
253
|
+
throw deny(gate, "missing-factor", configured);
|
|
254
|
+
}
|
|
255
|
+
throw deny(gate, "stale-proof", configured);
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
if (configured.warn?.sharedDevice === "block" && context.sharedDevice === true) {
|
|
260
|
+
throw deny(gate, "shared-device-blocked", configured);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
async function describeGate(policy, gate, context) {
|
|
264
|
+
try {
|
|
265
|
+
await checkGate(policy, gate, context);
|
|
266
|
+
return { ok: true };
|
|
267
|
+
} catch (err) {
|
|
268
|
+
if (err instanceof PolicyDeniedError) {
|
|
269
|
+
return { ok: false, reason: err.reason, required: err.required };
|
|
270
|
+
}
|
|
271
|
+
throw err;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
function countMatchingFactors(presented, requirement, now) {
|
|
275
|
+
const freshnessMs = requirement.freshnessMs ?? DEFAULT_FRESHNESS_MS;
|
|
276
|
+
let totalKindMatches = 0;
|
|
277
|
+
let fresh = 0;
|
|
278
|
+
for (const proof of presented) {
|
|
279
|
+
if (!requirement.anyOf.includes(proof.kind)) continue;
|
|
280
|
+
totalKindMatches += 1;
|
|
281
|
+
const minted = proof.mintedAt ? Date.parse(proof.mintedAt) : now;
|
|
282
|
+
if (Number.isFinite(minted) && now - minted <= freshnessMs) {
|
|
283
|
+
fresh += 1;
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
return { totalKindMatches, fresh };
|
|
287
|
+
}
|
|
288
|
+
function deny(gate, reason, required) {
|
|
289
|
+
return new PolicyDeniedError(gate, reason, required);
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
// src/with-party/policy/noydb-facade.ts
|
|
293
|
+
var NoydbPolicy = class {
|
|
294
|
+
constructor(deps) {
|
|
295
|
+
this.deps = deps;
|
|
296
|
+
}
|
|
297
|
+
deps;
|
|
298
|
+
/**
|
|
299
|
+
* Touch the policy enforcer for a vault (records activity, resets
|
|
300
|
+
* idle timer). Also touches the legacy session timer. No-op if no enforcer.
|
|
301
|
+
*/
|
|
302
|
+
touchPolicy(vault) {
|
|
303
|
+
this.deps.resetSessionTimer();
|
|
304
|
+
if (vault) {
|
|
305
|
+
this.deps.policyEnforcers.get(vault)?.touch();
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* Check that a policy-guarded operation is permitted.
|
|
310
|
+
* Throws `SessionPolicyError` if re-auth is required.
|
|
311
|
+
*/
|
|
312
|
+
checkPolicyOperation(vault, op) {
|
|
313
|
+
this.deps.policyEnforcers.get(vault)?.checkOperation(op);
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Read the active policy for a vault. Loads from `_meta/policy` on
|
|
317
|
+
* first call; subsequent calls hit the in-memory cache. Throws
|
|
318
|
+
* `ValidationError` if the vault has not been opened.
|
|
319
|
+
*/
|
|
320
|
+
async getPolicy(vault) {
|
|
321
|
+
if (this.deps.isClosed()) throw new ValidationError("Instance is closed");
|
|
322
|
+
const cached = this.deps.policyCache.get(vault);
|
|
323
|
+
if (cached) return cached;
|
|
324
|
+
await this.bootstrapPolicy(vault);
|
|
325
|
+
return this.deps.policyCache.get(vault) ?? PERSONAL_POLICY;
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Replace the policy document at `_meta/policy` and update the
|
|
329
|
+
* in-memory cache. Gated by the `enroll-user` policy (a policy
|
|
330
|
+
* change is fundamentally a privilege-management action).
|
|
331
|
+
*/
|
|
332
|
+
async updatePolicy(vault, override) {
|
|
333
|
+
if (this.deps.isClosed()) throw new ValidationError("Instance is closed");
|
|
334
|
+
const current = await this.getPolicy(vault);
|
|
335
|
+
const merged = mergePolicy(current, override);
|
|
336
|
+
if (this.deps.encrypted) {
|
|
337
|
+
await saveVaultPolicy(this.deps.store, vault, merged);
|
|
338
|
+
}
|
|
339
|
+
this.deps.policyCache.set(vault, merged);
|
|
340
|
+
return merged;
|
|
341
|
+
}
|
|
342
|
+
/** Read or persist the vault policy at `_meta/policy` on first open. */
|
|
343
|
+
async bootstrapPolicy(vault, opts) {
|
|
344
|
+
const onDisk = await loadVaultPolicy(this.deps.store, vault);
|
|
345
|
+
if (onDisk) {
|
|
346
|
+
this.deps.policyCache.set(vault, onDisk);
|
|
347
|
+
await this.deps.assertRecoveryEnrolled(vault, onDisk, opts);
|
|
348
|
+
return;
|
|
349
|
+
}
|
|
350
|
+
const initial = this.deps.policyOption ? mergePolicy(PERSONAL_POLICY, this.deps.policyOption) : PERSONAL_POLICY;
|
|
351
|
+
await saveVaultPolicy(this.deps.store, vault, initial);
|
|
352
|
+
this.deps.policyCache.set(vault, initial);
|
|
353
|
+
await this.deps.assertRecoveryEnrolled(vault, initial, opts);
|
|
354
|
+
}
|
|
355
|
+
};
|
|
356
|
+
var createNoydbPolicy = (deps) => new NoydbPolicy(deps);
|
|
357
|
+
|
|
358
|
+
export {
|
|
359
|
+
PERSONAL_POLICY,
|
|
360
|
+
STRICT_POLICY,
|
|
361
|
+
mergePolicy,
|
|
362
|
+
DEFAULT_FRESHNESS_MS,
|
|
363
|
+
checkGate,
|
|
364
|
+
describeGate,
|
|
365
|
+
createNoydbPolicy
|
|
366
|
+
};
|
|
367
|
+
//# sourceMappingURL=chunk-MCEKIAO4.js.map
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
import {
|
|
2
|
+
isTombstone
|
|
3
|
+
} from "./chunk-FQQF23MC.js";
|
|
4
|
+
import {
|
|
5
|
+
decrypt
|
|
6
|
+
} from "./chunk-HUS3J5WM.js";
|
|
7
|
+
import {
|
|
8
|
+
NOYDB_FORMAT_VERSION
|
|
9
|
+
} from "./chunk-CKZW6P5V.js";
|
|
10
|
+
import {
|
|
11
|
+
ReadOnlyAtInstantError
|
|
12
|
+
} from "./chunk-FH542DDY.js";
|
|
13
|
+
|
|
14
|
+
// src/with-commit/history/history.ts
|
|
15
|
+
var HISTORY_COLLECTION = "_history";
|
|
16
|
+
var VERSION_PAD = 10;
|
|
17
|
+
function historyId(collection, recordId, version) {
|
|
18
|
+
return `${collection}:${recordId}:${String(version).padStart(VERSION_PAD, "0")}`;
|
|
19
|
+
}
|
|
20
|
+
function matchesPrefix(id, collection, recordId) {
|
|
21
|
+
if (recordId) {
|
|
22
|
+
return id.startsWith(`${collection}:${recordId}:`);
|
|
23
|
+
}
|
|
24
|
+
return id.startsWith(`${collection}:`);
|
|
25
|
+
}
|
|
26
|
+
async function saveHistory(adapter, vault, collection, recordId, envelope) {
|
|
27
|
+
const id = historyId(collection, recordId, envelope._v);
|
|
28
|
+
await adapter.put(vault, HISTORY_COLLECTION, id, envelope);
|
|
29
|
+
}
|
|
30
|
+
async function getHistory(adapter, vault, collection, recordId, options) {
|
|
31
|
+
const allIds = await adapter.list(vault, HISTORY_COLLECTION);
|
|
32
|
+
const matchingIds = allIds.filter((id) => matchesPrefix(id, collection, recordId)).sort().reverse();
|
|
33
|
+
const entries = [];
|
|
34
|
+
for (const id of matchingIds) {
|
|
35
|
+
const envelope = await adapter.get(vault, HISTORY_COLLECTION, id);
|
|
36
|
+
if (!envelope) continue;
|
|
37
|
+
if (options?.from && envelope._ts < options.from) continue;
|
|
38
|
+
if (options?.to && envelope._ts > options.to) continue;
|
|
39
|
+
entries.push(envelope);
|
|
40
|
+
if (options?.limit && entries.length >= options.limit) break;
|
|
41
|
+
}
|
|
42
|
+
return entries;
|
|
43
|
+
}
|
|
44
|
+
async function getVersionEnvelope(adapter, vault, collection, recordId, version) {
|
|
45
|
+
const id = historyId(collection, recordId, version);
|
|
46
|
+
return adapter.get(vault, HISTORY_COLLECTION, id);
|
|
47
|
+
}
|
|
48
|
+
async function pruneHistory(adapter, vault, collection, recordId, options) {
|
|
49
|
+
const allIds = await adapter.list(vault, HISTORY_COLLECTION);
|
|
50
|
+
const matchingIds = allIds.filter((id) => recordId ? matchesPrefix(id, collection, recordId) : matchesPrefix(id, collection)).sort();
|
|
51
|
+
let toDelete = [];
|
|
52
|
+
if (options.keepVersions !== void 0) {
|
|
53
|
+
const keep = options.keepVersions;
|
|
54
|
+
if (matchingIds.length > keep) {
|
|
55
|
+
toDelete = matchingIds.slice(0, matchingIds.length - keep);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
if (options.beforeDate) {
|
|
59
|
+
for (const id of matchingIds) {
|
|
60
|
+
if (toDelete.includes(id)) continue;
|
|
61
|
+
const envelope = await adapter.get(vault, HISTORY_COLLECTION, id);
|
|
62
|
+
if (envelope && envelope._ts < options.beforeDate) {
|
|
63
|
+
toDelete.push(id);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
const uniqueDeletes = [...new Set(toDelete)];
|
|
68
|
+
for (const id of uniqueDeletes) {
|
|
69
|
+
await adapter.delete(vault, HISTORY_COLLECTION, id);
|
|
70
|
+
}
|
|
71
|
+
return uniqueDeletes.length;
|
|
72
|
+
}
|
|
73
|
+
async function clearHistory(adapter, vault, collection, recordId) {
|
|
74
|
+
const allIds = await adapter.list(vault, HISTORY_COLLECTION);
|
|
75
|
+
let toDelete;
|
|
76
|
+
if (collection && recordId) {
|
|
77
|
+
toDelete = allIds.filter((id) => matchesPrefix(id, collection, recordId));
|
|
78
|
+
} else if (collection) {
|
|
79
|
+
toDelete = allIds.filter((id) => matchesPrefix(id, collection));
|
|
80
|
+
} else {
|
|
81
|
+
toDelete = allIds;
|
|
82
|
+
}
|
|
83
|
+
for (const id of toDelete) {
|
|
84
|
+
await adapter.delete(vault, HISTORY_COLLECTION, id);
|
|
85
|
+
}
|
|
86
|
+
return toDelete.length;
|
|
87
|
+
}
|
|
88
|
+
async function tombstoneHistory(adapter, vault, collection, recordId, actor, encrypted) {
|
|
89
|
+
const allIds = await adapter.list(vault, HISTORY_COLLECTION);
|
|
90
|
+
const matchingIds = allIds.filter((id) => matchesPrefix(id, collection, recordId));
|
|
91
|
+
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
92
|
+
let count = 0;
|
|
93
|
+
for (const id of matchingIds) {
|
|
94
|
+
const env = await adapter.get(vault, HISTORY_COLLECTION, id);
|
|
95
|
+
if (!env) continue;
|
|
96
|
+
if (isTombstone(env, encrypted)) continue;
|
|
97
|
+
const tombstone = {
|
|
98
|
+
_noydb: NOYDB_FORMAT_VERSION,
|
|
99
|
+
_v: env._v,
|
|
100
|
+
_ts: now,
|
|
101
|
+
_iv: "",
|
|
102
|
+
_data: "",
|
|
103
|
+
...actor ? { _by: actor } : {}
|
|
104
|
+
};
|
|
105
|
+
await adapter.put(vault, HISTORY_COLLECTION, id, tombstone);
|
|
106
|
+
count++;
|
|
107
|
+
}
|
|
108
|
+
return count;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// src/with-commit/history/time-machine.ts
|
|
112
|
+
var VaultInstant = class {
|
|
113
|
+
constructor(engine, timestamp) {
|
|
114
|
+
this.engine = engine;
|
|
115
|
+
this.timestamp = timestamp;
|
|
116
|
+
}
|
|
117
|
+
engine;
|
|
118
|
+
timestamp;
|
|
119
|
+
/** Get a point-in-time view of a collection. */
|
|
120
|
+
collection(name) {
|
|
121
|
+
return new CollectionInstant(this.engine, this.timestamp, name);
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
var CollectionInstant = class {
|
|
125
|
+
constructor(engine, targetTs, name) {
|
|
126
|
+
this.engine = engine;
|
|
127
|
+
this.targetTs = targetTs;
|
|
128
|
+
this.name = name;
|
|
129
|
+
}
|
|
130
|
+
engine;
|
|
131
|
+
targetTs;
|
|
132
|
+
name;
|
|
133
|
+
/**
|
|
134
|
+
* Return the record as it existed at the target timestamp, or
|
|
135
|
+
* `null` if the record had not been created yet or had already been
|
|
136
|
+
* deleted by then.
|
|
137
|
+
*/
|
|
138
|
+
async get(id) {
|
|
139
|
+
const envelope = await this.resolveEnvelope(id);
|
|
140
|
+
if (!envelope) return null;
|
|
141
|
+
const plaintext = this.engine.encrypted ? await decrypt(envelope._iv, envelope._data, await this.engine.getDEK(this.name)) : envelope._data;
|
|
142
|
+
return JSON.parse(plaintext);
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* IDs of records that existed (had at least one `put` and were not
|
|
146
|
+
* subsequently deleted) at the target timestamp.
|
|
147
|
+
*
|
|
148
|
+
* Implemented as a linear scan over history + ledger. Performance
|
|
149
|
+
* is bounded by total history size (not live-vault size), so the
|
|
150
|
+
* memory-first vault-scale cap (1K–50K records × average history
|
|
151
|
+
* depth) still applies.
|
|
152
|
+
*/
|
|
153
|
+
async list() {
|
|
154
|
+
const historyIds = await collectHistoryIds(this.engine.adapter, this.engine.name, this.name);
|
|
155
|
+
const liveIds = await this.engine.adapter.list(this.engine.name, this.name);
|
|
156
|
+
const candidateIds = /* @__PURE__ */ new Set([...historyIds, ...liveIds]);
|
|
157
|
+
const alive = [];
|
|
158
|
+
for (const id of candidateIds) {
|
|
159
|
+
const env = await this.resolveEnvelope(id);
|
|
160
|
+
if (env) alive.push(id);
|
|
161
|
+
}
|
|
162
|
+
return alive.sort();
|
|
163
|
+
}
|
|
164
|
+
// ── write guards ───────────────────────────────────────────────────
|
|
165
|
+
async put(_id, _record) {
|
|
166
|
+
throw new ReadOnlyAtInstantError("put", this.targetTs);
|
|
167
|
+
}
|
|
168
|
+
async delete(_id) {
|
|
169
|
+
throw new ReadOnlyAtInstantError("delete", this.targetTs);
|
|
170
|
+
}
|
|
171
|
+
async update(_id, _patch) {
|
|
172
|
+
throw new ReadOnlyAtInstantError("update", this.targetTs);
|
|
173
|
+
}
|
|
174
|
+
// ── internals ─────────────────────────────────────────────────────
|
|
175
|
+
/**
|
|
176
|
+
* Return the envelope that represents the record's state at
|
|
177
|
+
* `targetTs`, accounting for deletes. `null` if the record didn't
|
|
178
|
+
* exist at that instant.
|
|
179
|
+
*
|
|
180
|
+
* ## Why we use the ledger as the authoritative timeline
|
|
181
|
+
*
|
|
182
|
+
* The per-version history snapshots saved by `saveHistory()` do
|
|
183
|
+
* carry a `_ts` field, but that timestamp is the moment the
|
|
184
|
+
* snapshot was *captured* (i.e. the instant right before the
|
|
185
|
+
* subsequent overwrite), not the original write time. The ledger,
|
|
186
|
+
* by contrast, records `ts` at the moment of each `put` / `delete`
|
|
187
|
+
* — it's the only source that tracks the real timeline. So:
|
|
188
|
+
*
|
|
189
|
+
* 1. Walk the ledger; find the latest entry for `(collection, id)`
|
|
190
|
+
* with `ts ≤ targetTs`.
|
|
191
|
+
* 2. If that entry is a `delete`, the record was gone at the
|
|
192
|
+
* target instant — return null.
|
|
193
|
+
* 3. Otherwise it's a `put` with a specific `version`. Load the
|
|
194
|
+
* envelope for that version from history, falling back to the
|
|
195
|
+
* live collection for the most recent version.
|
|
196
|
+
*
|
|
197
|
+
* ## Fallback when the ledger is disabled
|
|
198
|
+
*
|
|
199
|
+
* If the vault has history disabled, `getLedger()` returns null and
|
|
200
|
+
* we fall back to comparing envelope `_ts` fields. This is
|
|
201
|
+
* approximate and gets the *last write* right but may confuse the
|
|
202
|
+
* intermediate versions; adopters needing accurate time-machine
|
|
203
|
+
* reads should leave history enabled.
|
|
204
|
+
*/
|
|
205
|
+
async resolveEnvelope(id) {
|
|
206
|
+
const ledger = this.engine.getLedger();
|
|
207
|
+
if (ledger) {
|
|
208
|
+
return this.resolveViaLedger(id, ledger);
|
|
209
|
+
}
|
|
210
|
+
return this.resolveViaEnvelopeTs(id);
|
|
211
|
+
}
|
|
212
|
+
async resolveViaLedger(id, ledger) {
|
|
213
|
+
const entries = await ledger.entries();
|
|
214
|
+
let latest = null;
|
|
215
|
+
for (const e of entries) {
|
|
216
|
+
if (e.collection !== this.name || e.id !== id) continue;
|
|
217
|
+
if (e.ts > this.targetTs) break;
|
|
218
|
+
if (e.op === "amendment" || e.op === "lifecycle" || e.op === "forget") continue;
|
|
219
|
+
latest = { op: e.op === "migration" ? "put" : e.op, version: e.version };
|
|
220
|
+
}
|
|
221
|
+
if (!latest) return null;
|
|
222
|
+
if (latest.op === "delete") return null;
|
|
223
|
+
return this.loadVersion(id, latest.version);
|
|
224
|
+
}
|
|
225
|
+
async resolveViaEnvelopeTs(id) {
|
|
226
|
+
const history = await getHistory(
|
|
227
|
+
this.engine.adapter,
|
|
228
|
+
this.engine.name,
|
|
229
|
+
this.name,
|
|
230
|
+
id
|
|
231
|
+
);
|
|
232
|
+
const live = await this.engine.adapter.get(this.engine.name, this.name, id);
|
|
233
|
+
const byVersion = /* @__PURE__ */ new Map();
|
|
234
|
+
for (const e of history) byVersion.set(e._v, e);
|
|
235
|
+
if (live) byVersion.set(live._v, live);
|
|
236
|
+
const sorted = [...byVersion.values()].sort(
|
|
237
|
+
(a, b) => a._ts < b._ts ? 1 : a._ts > b._ts ? -1 : 0
|
|
238
|
+
);
|
|
239
|
+
return sorted.find((e) => e._ts <= this.targetTs) ?? null;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Fetch the envelope for a specific version. The live record (most
|
|
243
|
+
* recent put) lives in the main collection; prior versions live in
|
|
244
|
+
* `_history`. We check live first because the common case after a
|
|
245
|
+
* delete is that we're trying to load the last-live version from
|
|
246
|
+
* history, and skipping live for the current-version case avoids a
|
|
247
|
+
* redundant lookup.
|
|
248
|
+
*/
|
|
249
|
+
async loadVersion(id, version) {
|
|
250
|
+
const live = await this.engine.adapter.get(this.engine.name, this.name, id);
|
|
251
|
+
if (live && live._v === version) return live;
|
|
252
|
+
const historyId2 = `${this.name}:${id}:${String(version).padStart(10, "0")}`;
|
|
253
|
+
return await this.engine.adapter.get(this.engine.name, "_history", historyId2);
|
|
254
|
+
}
|
|
255
|
+
};
|
|
256
|
+
async function collectHistoryIds(adapter, vault, collection) {
|
|
257
|
+
const all = await adapter.list(vault, "_history");
|
|
258
|
+
const prefix = `${collection}:`;
|
|
259
|
+
const seen = /* @__PURE__ */ new Set();
|
|
260
|
+
for (const key of all) {
|
|
261
|
+
if (!key.startsWith(prefix)) continue;
|
|
262
|
+
const lastColon = key.lastIndexOf(":");
|
|
263
|
+
if (lastColon <= prefix.length) continue;
|
|
264
|
+
const middle = key.slice(prefix.length, lastColon);
|
|
265
|
+
seen.add(middle);
|
|
266
|
+
}
|
|
267
|
+
return [...seen];
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
export {
|
|
271
|
+
saveHistory,
|
|
272
|
+
getHistory,
|
|
273
|
+
getVersionEnvelope,
|
|
274
|
+
pruneHistory,
|
|
275
|
+
clearHistory,
|
|
276
|
+
tombstoneHistory,
|
|
277
|
+
VaultInstant,
|
|
278
|
+
CollectionInstant
|
|
279
|
+
};
|
|
280
|
+
//# sourceMappingURL=chunk-MELR46EF.js.map
|