@noy-db/hub 0.3.0-pre.10 → 0.3.0-pre.12
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 +4 -4
- package/dist/api-3TH2GOFQ.js +20 -0
- package/dist/as/index.js +11 -11
- package/dist/attestation/index.js +18 -18
- package/dist/backup-2WVBIVXW.js +225 -0
- package/dist/blobs/index.js +10 -10
- package/dist/broker/index.js +92 -0
- package/dist/broker/index.js.map +1 -0
- package/dist/bundle/index.js +20 -20
- package/dist/by/index.js +2 -2
- package/dist/cargo/index.js +30 -30
- package/dist/chunk-2MTRJCBI.js +75 -0
- package/dist/chunk-37WOJQWY.js +404 -0
- package/dist/chunk-3QSOFZQB.js +589 -0
- package/dist/chunk-44IL5G3W.js +99 -0
- package/dist/chunk-45QPICLE.js +69 -0
- package/dist/chunk-4BQXMCE5.js +164 -0
- package/dist/chunk-4GPE63GU.js +111 -0
- package/dist/chunk-4GPE63GU.js.map +1 -0
- package/dist/chunk-5HNX4OD4.js +30 -0
- package/dist/chunk-65VLRG3I.js +54 -0
- package/dist/chunk-6MA575R5.js +59 -0
- package/dist/chunk-6S7ENMRE.js +524 -0
- package/dist/chunk-6S7ENMRE.js.map +1 -0
- package/dist/chunk-7GAXFU2O.js +123 -0
- package/dist/chunk-7QLY64AD.js +202 -0
- package/dist/chunk-7ZOSHEVS.js +235 -0
- package/dist/chunk-AAIIDAUC.js +371 -0
- package/dist/chunk-AAIIDAUC.js.map +1 -0
- package/dist/chunk-AKEOHKMT.js +282 -0
- package/dist/chunk-AKEOHKMT.js.map +1 -0
- package/dist/chunk-APHLCXVC.js +124 -0
- package/dist/chunk-BDEMZD4F.js +129 -0
- package/dist/chunk-BDPAVYGJ.js +662 -0
- package/dist/chunk-BLUT46UP.js +42 -0
- package/dist/chunk-CCIR2OJH.js +778 -0
- package/dist/chunk-CXC3JLAQ.js +155 -0
- package/dist/chunk-CZMCOFEA.js +1221 -0
- package/dist/chunk-DIB2BOIH.js +164 -0
- package/dist/chunk-DJ7MRXNA.js +344 -0
- package/dist/chunk-DJ7MRXNA.js.map +1 -0
- package/dist/chunk-EHW5KTTA.js +150 -0
- package/dist/chunk-EHW5KTTA.js.map +1 -0
- package/dist/chunk-EIZ4YOG2.js +70 -0
- package/dist/chunk-EVHBK7BN.js +515 -0
- package/dist/chunk-EXGDL2UQ.js +74 -0
- package/dist/chunk-F3LGBRSV.js +453 -0
- package/dist/chunk-F44XWXOA.js +392 -0
- package/dist/chunk-FF7S3XDW.js +230 -0
- package/dist/chunk-FJTWLQV3.js +155 -0
- package/dist/chunk-FYNE4WLC.js +36 -0
- package/dist/chunk-FZCGIJEJ.js +1505 -0
- package/dist/chunk-FZCGIJEJ.js.map +1 -0
- package/dist/chunk-GL3JV5EV.js +130 -0
- package/dist/chunk-GXLZXD2W.js +29 -0
- package/dist/chunk-HA6ZQWA2.js +1056 -0
- package/dist/chunk-HA6ZQWA2.js.map +1 -0
- package/dist/chunk-HBBZWEC5.js +686 -0
- package/dist/chunk-HG76BZ6G.js +188 -0
- package/dist/chunk-HGAB325C.js +38 -0
- package/dist/chunk-HIOLCOK3.js +30 -0
- package/dist/chunk-HIOLCOK3.js.map +1 -0
- package/dist/chunk-HK4XTXO4.js +49 -0
- package/dist/chunk-HYG32HCM.js +14 -0
- package/dist/chunk-ILF5GARW.js +135 -0
- package/dist/chunk-INBQ43DI.js +382 -0
- package/dist/chunk-IQIVD7TP.js +247 -0
- package/dist/chunk-J3JIYFYL.js +45 -0
- package/dist/chunk-JC75UBMT.js +32 -0
- package/dist/chunk-JC75UBMT.js.map +1 -0
- package/dist/chunk-JGUZMC3I.js +150 -0
- package/dist/chunk-JRKE5MAZ.js +80 -0
- package/dist/chunk-K2DLLK34.js +255 -0
- package/dist/chunk-KKYEZCQG.js +34 -0
- package/dist/chunk-NAR6IDKH.js +54 -0
- package/dist/chunk-NEYKOESM.js +117 -0
- package/dist/chunk-NM3IFKBL.js +29 -0
- package/dist/chunk-NRYNRSGV.js +99 -0
- package/dist/chunk-NT2ZO4KI.js +59 -0
- package/dist/chunk-P2LJI6JE.js +94 -0
- package/dist/chunk-PH7G7ZI7.js +823 -0
- package/dist/chunk-PN5332SU.js +209 -0
- package/dist/chunk-QF5LGMSV.js +45 -0
- package/dist/chunk-QG5RQQBO.js +367 -0
- package/dist/chunk-QYPDYN23.js +23 -0
- package/dist/chunk-R3NHNVS5.js +478 -0
- package/dist/chunk-R3NHNVS5.js.map +1 -0
- package/dist/chunk-RNXJ2VO6.js +280 -0
- package/dist/chunk-RXTMLYJS.js +97 -0
- package/dist/chunk-S2OWPVSO.js +30 -0
- package/dist/chunk-S7TAPIRS.js +205 -0
- package/dist/chunk-SAL5X5OK.js +40 -0
- package/dist/chunk-SGJGWBSC.js +85 -0
- package/dist/chunk-SIAIYP6G.js +50 -0
- package/dist/chunk-SXPCZ6LL.js +1697 -0
- package/dist/chunk-SXPCZ6LL.js.map +1 -0
- package/dist/chunk-TBNF5DV5.js +261 -0
- package/dist/chunk-TVOHSPVK.js +21 -0
- package/dist/chunk-TVS6BUUR.js +41 -0
- package/dist/chunk-UMC5QZTX.js +86 -0
- package/dist/chunk-US34HTOI.js +367 -0
- package/dist/chunk-VCUQR6ZL.js +621 -0
- package/dist/chunk-VXZNSPJM.js +957 -0
- package/dist/chunk-VXZNSPJM.js.map +1 -0
- package/dist/chunk-WEHIQYQH.js +71 -0
- package/dist/chunk-WHQHTNT7.js +265 -0
- package/dist/chunk-X6Y5MXTH.js +74 -0
- package/dist/chunk-XJ47GS53.js +291 -0
- package/dist/chunk-XS6DLN67.js +95 -0
- package/dist/chunk-Y5TWPBNW.js +91 -0
- package/dist/chunk-YCXKFB7J.js +14181 -0
- package/dist/chunk-YCXKFB7J.js.map +1 -0
- package/dist/chunk-ZHOJOT6S.js +36 -0
- package/dist/chunk-ZL6PRULX.js +167 -0
- package/dist/chunk-ZL6PRULX.js.map +1 -0
- package/dist/classified/index.js +5 -5
- package/dist/classified-marker-M7K3OJPM.js +28 -0
- package/dist/classified-marker-M7K3OJPM.js.map +1 -0
- package/dist/collection-facade-DWA735G2.js +39 -0
- package/dist/computed-ORCGM5JE.js +11 -0
- package/dist/consent/index.js +9 -9
- package/dist/crdt/index.js +1 -1
- package/dist/dead-filter-OV5FGKOG.js +28 -0
- package/dist/delegation-YVSHMIZZ.js +25 -0
- package/dist/derivations/index.js +12 -12
- package/dist/derive-BUO555L5.js +21 -0
- package/dist/enclave-XXFUKJC6.js +135 -0
- package/dist/executor-6OCCE5VM.js +25 -0
- package/dist/executor-JFVAJY42.js +9 -0
- package/dist/executor-UPSH5O3F.js +9 -0
- package/dist/export-accessible-L4A2QZA5.js +23 -0
- package/dist/extract-partition-ZHQ4RGGM.js +36 -0
- package/dist/fanout-sidecar-IO2KDUWV.js +74 -0
- package/dist/find-ZFZDZQ2U.js +11 -0
- package/dist/forget/index.js +10 -10
- package/dist/forget/index.js.map +1 -1
- package/dist/guards/index.js +3 -3
- package/dist/history/index.js +11 -11
- package/dist/i18n/index.js +15 -15
- package/dist/index.d.ts +303 -1492
- package/dist/index.js +172 -171
- package/dist/index.js.map +1 -1
- package/dist/indexing/index.js +5 -5
- package/dist/indexing/index.js.map +1 -1
- package/dist/issue-OG4V23SQ.js +19 -0
- package/dist/kernel/best-effort-revert.d.ts +52 -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 +789 -0
- package/dist/kernel/collection.d.ts +1519 -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 +826 -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 +3166 -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 +1737 -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 +166 -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/ledger-UAQKPWNM.js +42 -0
- package/dist/legacy/bundle.d.ts +30 -0
- package/dist/legacy/kernel.d.ts +33 -0
- package/dist/liberate-GFUQJRK5.js +24 -0
- package/dist/link-set-DGYUOFVD.js +31 -0
- package/dist/materialized-views/index.js +19 -19
- package/dist/noydb-AKH4AMCR.js +67 -0
- package/dist/on/index.js +9 -9
- package/dist/overlay-views/index.js +4 -4
- package/dist/periods/index.js +12 -12
- package/dist/pod/index.js +11 -11
- package/dist/policy-5POYLI26.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 +129 -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-LB3P4XQU.js +60 -0
- package/dist/post-register-LB3P4XQU.js.map +1 -0
- package/dist/public-envelope-GOG4LUM7.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 +5 -5
- package/dist/register-ZI7YI7US.js +23 -0
- package/dist/registry-DZ2T4LL7.js +9 -0
- package/dist/registry-NVWEQ2GU.js +18 -0
- package/dist/registry-SEKL74ET.js +19 -0
- package/dist/request-withdrawal-ZP3JIRVS.js +31 -0
- package/dist/reveal-NPVROV4D.js +38 -0
- package/dist/revoke-VF6TAJK2.js +24 -0
- package/dist/satellites/index.js +1 -1
- package/dist/sealed-record/index.js +12 -12
- package/dist/seed-VI4FU7UH.js +231 -0
- package/dist/seed-VI4FU7UH.js.map +1 -0
- package/dist/session/index.js +9 -9
- package/dist/shadow/index.js +2 -2
- package/dist/signer-DRDDCCHW.js +25 -0
- package/dist/snapshots/index.js +10 -10
- package/dist/stale-TJXFQKOJ.js +14 -0
- package/dist/storage-GR7KZRH4.js +23 -0
- package/dist/store-coordination-provider-5KDS2RRP.js +142 -0
- package/dist/sync/index.js +9 -9
- package/dist/team/index.js +15 -15
- package/dist/tiers/index.js +10 -10
- package/dist/to/index.js +1 -1
- package/dist/tx/index.js +3 -3
- package/dist/util/index.js +1 -1
- package/dist/verify-QK76NJ4G.js +139 -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 +228 -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 +127 -0
- package/dist/walk-XQCBKSBW.js +241 -0
- package/dist/with/index.js +11 -11
- 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 +212 -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 +102 -0
- package/dist/with-lookup/indexing/persisted-indexes.d.ts +229 -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 +174 -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 +38 -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/migrate-cek.d.ts +26 -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 +37 -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-FMN4LPJZ.js +28 -0
- package/package.json +47 -43
- package/dist/aggregate/index.d.ts +0 -41
- package/dist/api-TX2EX2FX.js +0 -20
- package/dist/as/index.d.ts +0 -6
- package/dist/at/index.d.ts +0 -4
- package/dist/attestation/index.d.ts +0 -19
- package/dist/backup-R7NTDFKY.js +0 -225
- package/dist/blobs/index.d.ts +0 -43
- package/dist/bundle/index.d.ts +0 -121
- package/dist/bundle-D6GxiUfq.d.ts +0 -548
- package/dist/by/index.d.ts +0 -1
- package/dist/cargo/index.d.ts +0 -7
- package/dist/chunk-2OV5NVE7.js +0 -95
- package/dist/chunk-2OZXVKVP.js +0 -367
- package/dist/chunk-2REPHKET.js +0 -54
- package/dist/chunk-3JXPAHOZ.js +0 -686
- package/dist/chunk-3MATJ6O4.js +0 -367
- package/dist/chunk-3OPY6MK2.js +0 -404
- package/dist/chunk-3QSIU3UT.js +0 -291
- package/dist/chunk-4OMCIY6F.js +0 -99
- package/dist/chunk-5I35DOHK.js +0 -94
- package/dist/chunk-5VG4IJR7.js +0 -235
- package/dist/chunk-5YESYH2C.js +0 -155
- package/dist/chunk-6G5ORS5D.js +0 -202
- package/dist/chunk-6P5XCKSD.js +0 -71
- package/dist/chunk-6S7T6WC4.js +0 -111
- package/dist/chunk-6S7T6WC4.js.map +0 -1
- package/dist/chunk-7BWJHO2A.js +0 -34
- package/dist/chunk-7P2SDJG3.js +0 -279
- package/dist/chunk-7P2SDJG3.js.map +0 -1
- package/dist/chunk-ANB77BVV.js +0 -150
- package/dist/chunk-ANB77BVV.js.map +0 -1
- package/dist/chunk-BKARNZJN.js +0 -382
- package/dist/chunk-BQISD5ZV.js +0 -261
- package/dist/chunk-BUAQ7YI3.js +0 -1697
- package/dist/chunk-BUAQ7YI3.js.map +0 -1
- package/dist/chunk-CB7CWSKW.js +0 -430
- package/dist/chunk-CB7CWSKW.js.map +0 -1
- package/dist/chunk-DFVUTGT2.js +0 -515
- package/dist/chunk-DJ7KIPLV.js +0 -23
- package/dist/chunk-DSKDQP3G.js +0 -14066
- package/dist/chunk-DSKDQP3G.js.map +0 -1
- package/dist/chunk-DV4HUP5G.js +0 -99
- package/dist/chunk-EOXAAJTY.js +0 -621
- package/dist/chunk-ET67AY6B.js +0 -74
- package/dist/chunk-F4CEK5YM.js +0 -123
- package/dist/chunk-FORYWFN6.js +0 -130
- package/dist/chunk-FRP6D2DM.js +0 -91
- package/dist/chunk-FUOE7UUV.js +0 -341
- package/dist/chunk-FUOE7UUV.js.map +0 -1
- package/dist/chunk-G4JYND6L.js +0 -42
- package/dist/chunk-G6XV4H65.js +0 -59
- package/dist/chunk-GNMXXTMN.js +0 -85
- package/dist/chunk-HPWKV3YB.js +0 -21
- package/dist/chunk-HY3AUMFI.js +0 -41
- package/dist/chunk-HYR4WZZ3.js +0 -69
- package/dist/chunk-ICXIFFYZ.js +0 -355
- package/dist/chunk-ICXIFFYZ.js.map +0 -1
- package/dist/chunk-IVLTXX4W.js +0 -280
- package/dist/chunk-J4LPNIGK.js +0 -777
- package/dist/chunk-JJZ2LW6T.js +0 -36
- package/dist/chunk-KJ2BCBTL.js +0 -589
- package/dist/chunk-KNZB6JMR.js +0 -129
- package/dist/chunk-LEJIKBBB.js +0 -124
- package/dist/chunk-LL2NIVUR.js +0 -188
- package/dist/chunk-MCHVVJIA.js +0 -968
- package/dist/chunk-MCHVVJIA.js.map +0 -1
- package/dist/chunk-NUEQU36L.js +0 -392
- package/dist/chunk-O45M6LDB.js +0 -38
- package/dist/chunk-OBKWYKYC.js +0 -117
- package/dist/chunk-OHHKHSJP.js +0 -209
- package/dist/chunk-OT76OZL6.js +0 -45
- package/dist/chunk-OVYRLHPE.js +0 -150
- package/dist/chunk-OXCSVM3B.js +0 -155
- package/dist/chunk-P33LUIML.js +0 -205
- package/dist/chunk-PLS64NCS.js +0 -59
- package/dist/chunk-PS2NEWEX.js +0 -36
- package/dist/chunk-QA2KUPCP.js +0 -45
- package/dist/chunk-QOC3VYL2.js +0 -30
- package/dist/chunk-QSFOZUYL.js +0 -823
- package/dist/chunk-RHK32N73.js +0 -30
- package/dist/chunk-RW3Y22MW.js +0 -97
- package/dist/chunk-S7VFUQM2.js +0 -1484
- package/dist/chunk-S7VFUQM2.js.map +0 -1
- package/dist/chunk-T7WSLRAU.js +0 -49
- package/dist/chunk-TAKWLZZX.js +0 -944
- package/dist/chunk-TAKWLZZX.js.map +0 -1
- package/dist/chunk-TMBXVJKT.js +0 -75
- package/dist/chunk-TWKKOM55.js +0 -54
- package/dist/chunk-U3WZCU7E.js +0 -14
- package/dist/chunk-UF362QVH.js +0 -70
- package/dist/chunk-UN4FVIBH.js +0 -135
- package/dist/chunk-VEAVKDDB.js +0 -29
- package/dist/chunk-VEPTFUJY.js +0 -29
- package/dist/chunk-VJV7GKQK.js +0 -662
- package/dist/chunk-VQRAIPYF.js +0 -50
- package/dist/chunk-VRIYFLBA.js +0 -74
- package/dist/chunk-VWM3DAVB.js +0 -265
- package/dist/chunk-VWRRVE6D.js +0 -80
- package/dist/chunk-WBJIQSLL.js +0 -167
- package/dist/chunk-WBJIQSLL.js.map +0 -1
- package/dist/chunk-WIGQB62E.js +0 -164
- package/dist/chunk-WZSCE6RM.js +0 -466
- package/dist/chunk-WZSCE6RM.js.map +0 -1
- package/dist/chunk-XGDAPN6M.js +0 -255
- package/dist/chunk-XH7XP3OL.js +0 -1221
- package/dist/chunk-XREOISSI.js +0 -40
- package/dist/chunk-XUBPSPKD.js +0 -164
- package/dist/chunk-Y3A5CB5G.js +0 -247
- package/dist/chunk-YCXCR7VG.js +0 -230
- package/dist/chunk-YMVQD5Q5.js +0 -453
- package/dist/chunk-YN5IAHN6.js +0 -32
- package/dist/chunk-YN5IAHN6.js.map +0 -1
- package/dist/chunk-ZYJ55N7N.js +0 -86
- package/dist/classified/index.d.ts +0 -16
- package/dist/classified-marker-H6YSHYNK.js +0 -24
- package/dist/classified-marker-H6YSHYNK.js.map +0 -1
- package/dist/collection-facade-LVD22JLM.js +0 -39
- package/dist/computed-EXDMQODG.js +0 -11
- package/dist/consent/index.d.ts +0 -22
- package/dist/crdt/index.d.ts +0 -33
- package/dist/dead-filter-HQIE2YG7.js +0 -28
- package/dist/decrypt-partition-IHtxEnTi.d.ts +0 -21
- package/dist/delegation-BJP73GAP.js +0 -25
- package/dist/derivations/index.d.ts +0 -69
- package/dist/derive-BME7HDWO.js +0 -21
- package/dist/dev-unlock-Bmm2pgJ0.d.ts +0 -263
- package/dist/discriminant-BN9REW3o.d.ts +0 -60
- package/dist/enclave-NHORSWSF.js +0 -125
- package/dist/executor-FE6X4LFX.js +0 -9
- package/dist/executor-KSHKRJXP.js +0 -25
- package/dist/executor-ZHTJJICG.js +0 -9
- package/dist/export-accessible-DACHM5VT.js +0 -23
- package/dist/extract-partition-RNENZZ4T.js +0 -36
- package/dist/fanout-sidecar-OFWN3NM7.js +0 -74
- package/dist/find-BNGBJNKP.js +0 -11
- package/dist/forget/index.d.ts +0 -36
- package/dist/guards/index.d.ts +0 -34
- package/dist/hash-DAJjMsCE.d.ts +0 -72
- package/dist/history/index.d.ts +0 -60
- package/dist/i18n/index.d.ts +0 -56
- package/dist/in/index.d.ts +0 -4
- package/dist/index-B9QdHytu.d.ts +0 -123
- package/dist/index-DjWbxsjb.d.ts +0 -23579
- package/dist/index-qwuNvO2B.d.ts +0 -144
- package/dist/indexing/index.d.ts +0 -38
- package/dist/issue-NDI4CVZU.js +0 -19
- package/dist/lazy/index.d.ts +0 -20
- package/dist/ledger-6NDS2EO4.js +0 -42
- package/dist/liberate-HN3RIGIP.js +0 -24
- package/dist/link-set-SJB2MVJV.js +0 -31
- package/dist/materialized-views/index.d.ts +0 -189
- package/dist/mime-magic-bBj5OgUC.d.ts +0 -103
- package/dist/noydb-BWF6EPIR.js +0 -66
- package/dist/on/index.d.ts +0 -4
- package/dist/overlay-views/index.d.ts +0 -97
- package/dist/periods/index.d.ts +0 -19
- package/dist/pod/index.d.ts +0 -62
- package/dist/policy-WGNAG5H6.js +0 -41
- package/dist/portability/index.d.ts +0 -19
- package/dist/post-register-CWKBQRC7.js +0 -55
- package/dist/post-register-CWKBQRC7.js.map +0 -1
- package/dist/public-envelope-EJLVIFX7.js +0 -32
- package/dist/query/index.d.ts +0 -4
- package/dist/register-SBIX7TVV.js +0 -23
- package/dist/registry-3EQG6OOE.js +0 -18
- package/dist/registry-CA327ACV.js +0 -9
- package/dist/registry-E7OXOTSV.js +0 -19
- package/dist/request-withdrawal-KAH2AAXC.js +0 -31
- package/dist/reveal-R3JLHMUF.js +0 -38
- package/dist/revoke-IXLOJ3IH.js +0 -24
- package/dist/satellites/index.d.ts +0 -4
- package/dist/sealed-record/index.d.ts +0 -68
- package/dist/session/index.d.ts +0 -43
- package/dist/shadow/index.d.ts +0 -14
- package/dist/signer-Y46N2GJ3.js +0 -25
- package/dist/snapshots/index.d.ts +0 -25
- package/dist/stale-Z7IW6RIL.js +0 -14
- package/dist/storage-ADNP2UWI.js +0 -23
- package/dist/store-coordination-provider-DTDMI6VL.js +0 -142
- package/dist/subject-index-CyOgGMJL.d.ts +0 -380
- package/dist/sync/index.d.ts +0 -40
- package/dist/team/index.d.ts +0 -154
- package/dist/tiers/index.d.ts +0 -4
- package/dist/to/index.d.ts +0 -4
- package/dist/transition-guard-DI-krBsZ.d.ts +0 -165
- package/dist/tx/index.d.ts +0 -34
- package/dist/ui/index.d.ts +0 -4
- package/dist/ulid-DRH25k3y.d.ts +0 -66
- package/dist/util/index.d.ts +0 -79
- package/dist/validators-BUcli5Nh.d.ts +0 -101
- package/dist/vault-diff-Z2DUayMe.d.ts +0 -147
- package/dist/verify-JPF2YR5E.js +0 -139
- package/dist/walk-XYA2O3LW.js +0 -241
- package/dist/with/index.d.ts +0 -37
- package/dist/with-materialized-view-BUmzlXue.d.ts +0 -27
- package/dist/with-overlayed-view-m4FaXXTO.d.ts +0 -12
- package/dist/with-rollup-DEKGI9vb.d.ts +0 -47
- package/dist/withdraw-accessible-WLV4MTEN.js +0 -28
- /package/dist/{api-TX2EX2FX.js.map → api-3TH2GOFQ.js.map} +0 -0
- /package/dist/{backup-R7NTDFKY.js.map → backup-2WVBIVXW.js.map} +0 -0
- /package/dist/{chunk-TMBXVJKT.js.map → chunk-2MTRJCBI.js.map} +0 -0
- /package/dist/{chunk-3OPY6MK2.js.map → chunk-37WOJQWY.js.map} +0 -0
- /package/dist/{chunk-KJ2BCBTL.js.map → chunk-3QSOFZQB.js.map} +0 -0
- /package/dist/{chunk-DV4HUP5G.js.map → chunk-44IL5G3W.js.map} +0 -0
- /package/dist/{chunk-HYR4WZZ3.js.map → chunk-45QPICLE.js.map} +0 -0
- /package/dist/{chunk-XUBPSPKD.js.map → chunk-4BQXMCE5.js.map} +0 -0
- /package/dist/{chunk-RHK32N73.js.map → chunk-5HNX4OD4.js.map} +0 -0
- /package/dist/{chunk-2REPHKET.js.map → chunk-65VLRG3I.js.map} +0 -0
- /package/dist/{chunk-G6XV4H65.js.map → chunk-6MA575R5.js.map} +0 -0
- /package/dist/{chunk-F4CEK5YM.js.map → chunk-7GAXFU2O.js.map} +0 -0
- /package/dist/{chunk-6G5ORS5D.js.map → chunk-7QLY64AD.js.map} +0 -0
- /package/dist/{chunk-5VG4IJR7.js.map → chunk-7ZOSHEVS.js.map} +0 -0
- /package/dist/{chunk-LEJIKBBB.js.map → chunk-APHLCXVC.js.map} +0 -0
- /package/dist/{chunk-KNZB6JMR.js.map → chunk-BDEMZD4F.js.map} +0 -0
- /package/dist/{chunk-VJV7GKQK.js.map → chunk-BDPAVYGJ.js.map} +0 -0
- /package/dist/{chunk-G4JYND6L.js.map → chunk-BLUT46UP.js.map} +0 -0
- /package/dist/{chunk-J4LPNIGK.js.map → chunk-CCIR2OJH.js.map} +0 -0
- /package/dist/{chunk-5YESYH2C.js.map → chunk-CXC3JLAQ.js.map} +0 -0
- /package/dist/{chunk-XH7XP3OL.js.map → chunk-CZMCOFEA.js.map} +0 -0
- /package/dist/{chunk-WIGQB62E.js.map → chunk-DIB2BOIH.js.map} +0 -0
- /package/dist/{chunk-UF362QVH.js.map → chunk-EIZ4YOG2.js.map} +0 -0
- /package/dist/{chunk-DFVUTGT2.js.map → chunk-EVHBK7BN.js.map} +0 -0
- /package/dist/{chunk-ET67AY6B.js.map → chunk-EXGDL2UQ.js.map} +0 -0
- /package/dist/{chunk-YMVQD5Q5.js.map → chunk-F3LGBRSV.js.map} +0 -0
- /package/dist/{chunk-NUEQU36L.js.map → chunk-F44XWXOA.js.map} +0 -0
- /package/dist/{chunk-YCXCR7VG.js.map → chunk-FF7S3XDW.js.map} +0 -0
- /package/dist/{chunk-OXCSVM3B.js.map → chunk-FJTWLQV3.js.map} +0 -0
- /package/dist/{chunk-PS2NEWEX.js.map → chunk-FYNE4WLC.js.map} +0 -0
- /package/dist/{chunk-FORYWFN6.js.map → chunk-GL3JV5EV.js.map} +0 -0
- /package/dist/{chunk-VEAVKDDB.js.map → chunk-GXLZXD2W.js.map} +0 -0
- /package/dist/{chunk-3JXPAHOZ.js.map → chunk-HBBZWEC5.js.map} +0 -0
- /package/dist/{chunk-LL2NIVUR.js.map → chunk-HG76BZ6G.js.map} +0 -0
- /package/dist/{chunk-O45M6LDB.js.map → chunk-HGAB325C.js.map} +0 -0
- /package/dist/{chunk-T7WSLRAU.js.map → chunk-HK4XTXO4.js.map} +0 -0
- /package/dist/{chunk-U3WZCU7E.js.map → chunk-HYG32HCM.js.map} +0 -0
- /package/dist/{chunk-UN4FVIBH.js.map → chunk-ILF5GARW.js.map} +0 -0
- /package/dist/{chunk-BKARNZJN.js.map → chunk-INBQ43DI.js.map} +0 -0
- /package/dist/{chunk-Y3A5CB5G.js.map → chunk-IQIVD7TP.js.map} +0 -0
- /package/dist/{chunk-QA2KUPCP.js.map → chunk-J3JIYFYL.js.map} +0 -0
- /package/dist/{chunk-OVYRLHPE.js.map → chunk-JGUZMC3I.js.map} +0 -0
- /package/dist/{chunk-VWRRVE6D.js.map → chunk-JRKE5MAZ.js.map} +0 -0
- /package/dist/{chunk-XGDAPN6M.js.map → chunk-K2DLLK34.js.map} +0 -0
- /package/dist/{chunk-7BWJHO2A.js.map → chunk-KKYEZCQG.js.map} +0 -0
- /package/dist/{chunk-TWKKOM55.js.map → chunk-NAR6IDKH.js.map} +0 -0
- /package/dist/{chunk-OBKWYKYC.js.map → chunk-NEYKOESM.js.map} +0 -0
- /package/dist/{chunk-VEPTFUJY.js.map → chunk-NM3IFKBL.js.map} +0 -0
- /package/dist/{chunk-4OMCIY6F.js.map → chunk-NRYNRSGV.js.map} +0 -0
- /package/dist/{chunk-PLS64NCS.js.map → chunk-NT2ZO4KI.js.map} +0 -0
- /package/dist/{chunk-5I35DOHK.js.map → chunk-P2LJI6JE.js.map} +0 -0
- /package/dist/{chunk-QSFOZUYL.js.map → chunk-PH7G7ZI7.js.map} +0 -0
- /package/dist/{chunk-OHHKHSJP.js.map → chunk-PN5332SU.js.map} +0 -0
- /package/dist/{chunk-OT76OZL6.js.map → chunk-QF5LGMSV.js.map} +0 -0
- /package/dist/{chunk-3MATJ6O4.js.map → chunk-QG5RQQBO.js.map} +0 -0
- /package/dist/{chunk-DJ7KIPLV.js.map → chunk-QYPDYN23.js.map} +0 -0
- /package/dist/{chunk-IVLTXX4W.js.map → chunk-RNXJ2VO6.js.map} +0 -0
- /package/dist/{chunk-RW3Y22MW.js.map → chunk-RXTMLYJS.js.map} +0 -0
- /package/dist/{chunk-QOC3VYL2.js.map → chunk-S2OWPVSO.js.map} +0 -0
- /package/dist/{chunk-P33LUIML.js.map → chunk-S7TAPIRS.js.map} +0 -0
- /package/dist/{chunk-XREOISSI.js.map → chunk-SAL5X5OK.js.map} +0 -0
- /package/dist/{chunk-GNMXXTMN.js.map → chunk-SGJGWBSC.js.map} +0 -0
- /package/dist/{chunk-VQRAIPYF.js.map → chunk-SIAIYP6G.js.map} +0 -0
- /package/dist/{chunk-BQISD5ZV.js.map → chunk-TBNF5DV5.js.map} +0 -0
- /package/dist/{chunk-HPWKV3YB.js.map → chunk-TVOHSPVK.js.map} +0 -0
- /package/dist/{chunk-HY3AUMFI.js.map → chunk-TVS6BUUR.js.map} +0 -0
- /package/dist/{chunk-ZYJ55N7N.js.map → chunk-UMC5QZTX.js.map} +0 -0
- /package/dist/{chunk-2OZXVKVP.js.map → chunk-US34HTOI.js.map} +0 -0
- /package/dist/{chunk-EOXAAJTY.js.map → chunk-VCUQR6ZL.js.map} +0 -0
- /package/dist/{chunk-6P5XCKSD.js.map → chunk-WEHIQYQH.js.map} +0 -0
- /package/dist/{chunk-VWM3DAVB.js.map → chunk-WHQHTNT7.js.map} +0 -0
- /package/dist/{chunk-VRIYFLBA.js.map → chunk-X6Y5MXTH.js.map} +0 -0
- /package/dist/{chunk-3QSIU3UT.js.map → chunk-XJ47GS53.js.map} +0 -0
- /package/dist/{chunk-2OV5NVE7.js.map → chunk-XS6DLN67.js.map} +0 -0
- /package/dist/{chunk-FRP6D2DM.js.map → chunk-Y5TWPBNW.js.map} +0 -0
- /package/dist/{chunk-JJZ2LW6T.js.map → chunk-ZHOJOT6S.js.map} +0 -0
- /package/dist/{collection-facade-LVD22JLM.js.map → collection-facade-DWA735G2.js.map} +0 -0
- /package/dist/{computed-EXDMQODG.js.map → computed-ORCGM5JE.js.map} +0 -0
- /package/dist/{dead-filter-HQIE2YG7.js.map → dead-filter-OV5FGKOG.js.map} +0 -0
- /package/dist/{delegation-BJP73GAP.js.map → delegation-YVSHMIZZ.js.map} +0 -0
- /package/dist/{derive-BME7HDWO.js.map → derive-BUO555L5.js.map} +0 -0
- /package/dist/{enclave-NHORSWSF.js.map → enclave-XXFUKJC6.js.map} +0 -0
- /package/dist/{executor-FE6X4LFX.js.map → executor-6OCCE5VM.js.map} +0 -0
- /package/dist/{executor-KSHKRJXP.js.map → executor-JFVAJY42.js.map} +0 -0
- /package/dist/{executor-ZHTJJICG.js.map → executor-UPSH5O3F.js.map} +0 -0
- /package/dist/{export-accessible-DACHM5VT.js.map → export-accessible-L4A2QZA5.js.map} +0 -0
- /package/dist/{extract-partition-RNENZZ4T.js.map → extract-partition-ZHQ4RGGM.js.map} +0 -0
- /package/dist/{fanout-sidecar-OFWN3NM7.js.map → fanout-sidecar-IO2KDUWV.js.map} +0 -0
- /package/dist/{find-BNGBJNKP.js.map → find-ZFZDZQ2U.js.map} +0 -0
- /package/dist/{issue-NDI4CVZU.js.map → issue-OG4V23SQ.js.map} +0 -0
- /package/dist/{ledger-6NDS2EO4.js.map → ledger-UAQKPWNM.js.map} +0 -0
- /package/dist/{liberate-HN3RIGIP.js.map → liberate-GFUQJRK5.js.map} +0 -0
- /package/dist/{link-set-SJB2MVJV.js.map → link-set-DGYUOFVD.js.map} +0 -0
- /package/dist/{noydb-BWF6EPIR.js.map → noydb-AKH4AMCR.js.map} +0 -0
- /package/dist/{policy-WGNAG5H6.js.map → policy-5POYLI26.js.map} +0 -0
- /package/dist/{public-envelope-EJLVIFX7.js.map → public-envelope-GOG4LUM7.js.map} +0 -0
- /package/dist/{register-SBIX7TVV.js.map → register-ZI7YI7US.js.map} +0 -0
- /package/dist/{registry-3EQG6OOE.js.map → registry-DZ2T4LL7.js.map} +0 -0
- /package/dist/{registry-CA327ACV.js.map → registry-NVWEQ2GU.js.map} +0 -0
- /package/dist/{registry-E7OXOTSV.js.map → registry-SEKL74ET.js.map} +0 -0
- /package/dist/{request-withdrawal-KAH2AAXC.js.map → request-withdrawal-ZP3JIRVS.js.map} +0 -0
- /package/dist/{reveal-R3JLHMUF.js.map → reveal-NPVROV4D.js.map} +0 -0
- /package/dist/{revoke-IXLOJ3IH.js.map → revoke-VF6TAJK2.js.map} +0 -0
- /package/dist/{signer-Y46N2GJ3.js.map → signer-DRDDCCHW.js.map} +0 -0
- /package/dist/{stale-Z7IW6RIL.js.map → stale-TJXFQKOJ.js.map} +0 -0
- /package/dist/{storage-ADNP2UWI.js.map → storage-GR7KZRH4.js.map} +0 -0
- /package/dist/{store-coordination-provider-DTDMI6VL.js.map → store-coordination-provider-5KDS2RRP.js.map} +0 -0
- /package/dist/{verify-JPF2YR5E.js.map → verify-QK76NJ4G.js.map} +0 -0
- /package/dist/{walk-XYA2O3LW.js.map → walk-XQCBKSBW.js.map} +0 -0
- /package/dist/{withdraw-accessible-WLV4MTEN.js.map → withdraw-accessible-FMN4LPJZ.js.map} +0 -0
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
import {
|
|
2
|
+
listUserEnvelopeIds,
|
|
3
|
+
loadUserEnvelope,
|
|
4
|
+
persistUserVisibility,
|
|
5
|
+
readUserVisibility,
|
|
6
|
+
saveUserEnvelope
|
|
7
|
+
} from "./chunk-JGUZMC3I.js";
|
|
8
|
+
import {
|
|
9
|
+
PolicyDeniedError
|
|
10
|
+
} from "./chunk-FZCGIJEJ.js";
|
|
11
|
+
|
|
12
|
+
// src/with-party/directory/user-envelope/api.ts
|
|
13
|
+
var UserApi = class {
|
|
14
|
+
/** keyringId → set of listeners. Wildcard '*' fires on every change. */
|
|
15
|
+
listeners = /* @__PURE__ */ new Map();
|
|
16
|
+
adapter;
|
|
17
|
+
vaultName;
|
|
18
|
+
/** The writer's own keyringId. Frozen at construction time. */
|
|
19
|
+
writerKeyringId;
|
|
20
|
+
getDek;
|
|
21
|
+
/**
|
|
22
|
+
* Policy-gate validator. When omitted, gates are skipped — useful
|
|
23
|
+
* for low-level tests that exercise the storage layer directly.
|
|
24
|
+
* Production paths always wire the Noydb-backed implementation.
|
|
25
|
+
*/
|
|
26
|
+
checkGate;
|
|
27
|
+
/**
|
|
28
|
+
* Noydb-backed `exportMyAccessibleData`, injected by the Vault
|
|
29
|
+
* (which holds the keyring + bundle machinery). Omitted in low-level tests.
|
|
30
|
+
*/
|
|
31
|
+
exportAccessible;
|
|
32
|
+
/**
|
|
33
|
+
* Noydb-backed `unilateralWithdrawal`, injected by the Vault.
|
|
34
|
+
* Destructive — extract + dispose (delete | freeze). Omitted in low-level tests.
|
|
35
|
+
*/
|
|
36
|
+
unilateralWithdraw;
|
|
37
|
+
/**
|
|
38
|
+
* Noydb-backed two-party withdrawal ceremony, injected by the
|
|
39
|
+
* Vault. requestWithdraw = requester side; the rest = owner side.
|
|
40
|
+
*/
|
|
41
|
+
requestWithdraw;
|
|
42
|
+
listWithdrawals;
|
|
43
|
+
approveWithdraw;
|
|
44
|
+
rejectWithdraw;
|
|
45
|
+
constructor(deps) {
|
|
46
|
+
this.adapter = deps.adapter;
|
|
47
|
+
this.vaultName = deps.vaultName;
|
|
48
|
+
this.writerKeyringId = deps.writerKeyringId;
|
|
49
|
+
this.getDek = deps.getDek;
|
|
50
|
+
this.checkGate = deps.checkGate;
|
|
51
|
+
this.exportAccessible = deps.exportAccessible;
|
|
52
|
+
this.unilateralWithdraw = deps.unilateralWithdraw;
|
|
53
|
+
this.requestWithdraw = deps.requestWithdraw;
|
|
54
|
+
this.listWithdrawals = deps.listWithdrawals;
|
|
55
|
+
this.approveWithdraw = deps.approveWithdraw;
|
|
56
|
+
this.rejectWithdraw = deps.rejectWithdraw;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* File a two-party withdrawal request for the caller's accessible
|
|
60
|
+
* scope. Non-destructive (writes a pending request); an owner later approves
|
|
61
|
+
* or rejects. This is the path for read-only roles (`client`/`viewer`) that
|
|
62
|
+
* cannot self-serve a destructive `unilateralWithdrawal`. Gated by
|
|
63
|
+
* `user-request-withdrawal` (enabled by default).
|
|
64
|
+
*/
|
|
65
|
+
async requestWithdrawal(opts = {}) {
|
|
66
|
+
if (this.checkGate) await this.checkGate("user-request-withdrawal");
|
|
67
|
+
if (!this.requestWithdraw) {
|
|
68
|
+
throw new Error("requestWithdrawal requires a Noydb-backed vault (not a bare UserApi)");
|
|
69
|
+
}
|
|
70
|
+
return this.requestWithdraw(opts);
|
|
71
|
+
}
|
|
72
|
+
/** Owner side: list filed withdrawal requests (optionally by status). */
|
|
73
|
+
async listWithdrawalRequests(opts = {}) {
|
|
74
|
+
if (!this.listWithdrawals) {
|
|
75
|
+
throw new Error("listWithdrawalRequests requires a Noydb-backed vault (not a bare UserApi)");
|
|
76
|
+
}
|
|
77
|
+
return this.listWithdrawals(opts);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Owner side: approve a pending request. Extracts the requester's
|
|
81
|
+
* recorded scope under firm authority, disposes of the source per the
|
|
82
|
+
* request's disposition, and returns the re-keyed bundle to hand back. Gated
|
|
83
|
+
* by `approve-user-withdrawal` (tier-2 default) + owner/admin role.
|
|
84
|
+
*/
|
|
85
|
+
async approveWithdrawal(requestId, opts = {}) {
|
|
86
|
+
if (this.checkGate) await this.checkGate("approve-user-withdrawal");
|
|
87
|
+
if (!this.approveWithdraw) {
|
|
88
|
+
throw new Error("approveWithdrawal requires a Noydb-backed vault (not a bare UserApi)");
|
|
89
|
+
}
|
|
90
|
+
return this.approveWithdraw(requestId, opts);
|
|
91
|
+
}
|
|
92
|
+
/** Owner side: reject a pending request (no data is touched). */
|
|
93
|
+
async rejectWithdrawal(requestId, opts = {}) {
|
|
94
|
+
if (this.checkGate) await this.checkGate("approve-user-withdrawal");
|
|
95
|
+
if (!this.rejectWithdraw) {
|
|
96
|
+
throw new Error("rejectWithdrawal requires a Noydb-backed vault (not a bare UserApi)");
|
|
97
|
+
}
|
|
98
|
+
return this.rejectWithdraw(requestId, opts);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Single-party withdrawal: export the caller's accessible scope
|
|
102
|
+
* (re-keyed) and dispose of the source (`delete` or `freeze`). Gated by the
|
|
103
|
+
* fail-closed built-in `client-unilateral-withdraw` policy — undefined or
|
|
104
|
+
* disabled → throws (use `requestWithdrawal`). The firm enables it at vault
|
|
105
|
+
* creation.
|
|
106
|
+
*/
|
|
107
|
+
async unilateralWithdrawal(opts) {
|
|
108
|
+
if (this.checkGate) await this.checkGate("client-unilateral-withdraw");
|
|
109
|
+
if (!this.unilateralWithdraw) {
|
|
110
|
+
throw new Error("unilateralWithdrawal requires a Noydb-backed vault (not a bare UserApi)");
|
|
111
|
+
}
|
|
112
|
+
return this.unilateralWithdraw(opts);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Export the calling user's accessible scope as a portable, re-keyed
|
|
116
|
+
* `.noydb` bundle. Non-destructive and **always allowed** (data sovereignty
|
|
117
|
+
* by construction) but audited. Scope = the caller's DEK access set.
|
|
118
|
+
*/
|
|
119
|
+
async exportMyAccessibleData(opts = {}) {
|
|
120
|
+
if (!this.exportAccessible) {
|
|
121
|
+
throw new Error("exportMyAccessibleData requires a Noydb-backed vault (not a bare UserApi)");
|
|
122
|
+
}
|
|
123
|
+
return this.exportAccessible(opts);
|
|
124
|
+
}
|
|
125
|
+
// ─── Write-self ──────────────────────────────────────────────────────
|
|
126
|
+
/** Read the writer's own envelope. Returns null if never written. */
|
|
127
|
+
async me() {
|
|
128
|
+
const dek = await this.getDek();
|
|
129
|
+
return loadUserEnvelope(this.adapter, this.vaultName, this.writerKeyringId, dek);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Deep-merge a partial patch into the writer's own envelope. Creates
|
|
133
|
+
* the envelope on first call. Optimistic-concurrency safe — a stale
|
|
134
|
+
* `_v` (parallel writer on another device) throws `ConflictError`.
|
|
135
|
+
*
|
|
136
|
+
* Patch semantics:
|
|
137
|
+
* - `undefined` (or omitted key) — skip; existing value preserved
|
|
138
|
+
* - `null` — delete the field from the merged result
|
|
139
|
+
* - any other value — overwrite (deep-merge for plain objects,
|
|
140
|
+
* replace for primitives / arrays)
|
|
141
|
+
*
|
|
142
|
+
* To clear a field, pass `null` rather than `undefined`. Callers
|
|
143
|
+
* with shape `T = string | null` where `null` is a meaningful value
|
|
144
|
+
* should use `setMe` for that specific field instead — `null` here
|
|
145
|
+
* always means delete.
|
|
146
|
+
*
|
|
147
|
+
* Gated by the `edit-own-profile` policy gate (default `minTier: 3`).
|
|
148
|
+
* Pass `presented` to satisfy tightened policies that require a
|
|
149
|
+
* factor proof (e.g. STRICT_POLICY's TOTP requirement).
|
|
150
|
+
*/
|
|
151
|
+
async updateMe(patch, presented) {
|
|
152
|
+
if (this.checkGate) await this.checkGate("edit-own-profile", presented);
|
|
153
|
+
const dek = await this.getDek();
|
|
154
|
+
const current = await loadUserEnvelope(
|
|
155
|
+
this.adapter,
|
|
156
|
+
this.vaultName,
|
|
157
|
+
this.writerKeyringId,
|
|
158
|
+
dek
|
|
159
|
+
);
|
|
160
|
+
const merged = current ? deepMerge(current.data, patch) : patch;
|
|
161
|
+
const written = await saveUserEnvelope(
|
|
162
|
+
this.adapter,
|
|
163
|
+
this.vaultName,
|
|
164
|
+
this.writerKeyringId,
|
|
165
|
+
merged,
|
|
166
|
+
dek,
|
|
167
|
+
current?._v ?? 0
|
|
168
|
+
);
|
|
169
|
+
this.fireChange(this.writerKeyringId, written);
|
|
170
|
+
return written;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Replace the writer's own envelope with `payload`. Use sparingly —
|
|
174
|
+
* `updateMe` is the canonical mutation. No `expectedVersion` check;
|
|
175
|
+
* callers explicitly take last-write-wins semantics.
|
|
176
|
+
*
|
|
177
|
+
* Gated by `edit-own-profile`. See `updateMe` for `presented` usage.
|
|
178
|
+
*/
|
|
179
|
+
async setMe(payload, presented) {
|
|
180
|
+
if (this.checkGate) await this.checkGate("edit-own-profile", presented);
|
|
181
|
+
const dek = await this.getDek();
|
|
182
|
+
const written = await saveUserEnvelope(
|
|
183
|
+
this.adapter,
|
|
184
|
+
this.vaultName,
|
|
185
|
+
this.writerKeyringId,
|
|
186
|
+
payload,
|
|
187
|
+
dek
|
|
188
|
+
);
|
|
189
|
+
this.fireChange(this.writerKeyringId, written);
|
|
190
|
+
return written;
|
|
191
|
+
}
|
|
192
|
+
// ─── Visibility ──────────────────────────────────────────────────────
|
|
193
|
+
/**
|
|
194
|
+
* Read the current user's visibility flag from
|
|
195
|
+
* `_meta/visibility/<keyringId>`. Returns `{ hidden: false }` when no
|
|
196
|
+
* document has been persisted (the default-visible case).
|
|
197
|
+
*/
|
|
198
|
+
async getMyVisibility() {
|
|
199
|
+
const persisted = await readUserVisibility(this.adapter, this.vaultName, this.writerKeyringId);
|
|
200
|
+
return persisted ?? { hidden: false };
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Update the current user's visibility in the team directory.
|
|
204
|
+
*
|
|
205
|
+
* - `hidden: true` — opt out of the default `listUsersWithEnvelopes`
|
|
206
|
+
* listing. `owner`/`admin` callers can still see the user by passing
|
|
207
|
+
* `{ includeHidden: true }`.
|
|
208
|
+
* - `hidden: false` — opt back in.
|
|
209
|
+
*
|
|
210
|
+
* Own-only by construction: the keyringId argument doesn't exist on
|
|
211
|
+
* this method, so no caller can hide or unhide another principal.
|
|
212
|
+
*
|
|
213
|
+
* Honest caveat: this is a UX flag, not a privacy guarantee. The
|
|
214
|
+
* envelope ciphertext at `_users/<keyringId>` and the keyring file at
|
|
215
|
+
* `_keyring/<userId>` are both still observable to anyone with direct
|
|
216
|
+
* store read access. See `https://github.com/vLannaAi/noy-db-docs/blob/main/content/docs/services/user-envelope.md` →
|
|
217
|
+
* "Directory visibility".
|
|
218
|
+
*/
|
|
219
|
+
async setMyVisibility(visibility) {
|
|
220
|
+
await persistUserVisibility(
|
|
221
|
+
this.adapter,
|
|
222
|
+
this.vaultName,
|
|
223
|
+
this.writerKeyringId,
|
|
224
|
+
{ hidden: visibility.hidden }
|
|
225
|
+
);
|
|
226
|
+
}
|
|
227
|
+
// ─── Read-anyone ─────────────────────────────────────────────────────
|
|
228
|
+
/**
|
|
229
|
+
* Read another principal's envelope by their keyringId. Returns null
|
|
230
|
+
* if the principal exists but has no envelope yet, or if the
|
|
231
|
+
* keyringId does not exist at all.
|
|
232
|
+
*
|
|
233
|
+
* Gated by `view-team-profiles` (default `minTier: 2`) — but ONLY for
|
|
234
|
+
* cross-principal reads. Reading your own envelope (`keyringId ===
|
|
235
|
+
* self`) is never gated; that's just `me()` written long-form.
|
|
236
|
+
*/
|
|
237
|
+
async get(keyringId, presented) {
|
|
238
|
+
if (this.checkGate && keyringId !== this.writerKeyringId) {
|
|
239
|
+
await this.checkGate("view-team-profiles", presented);
|
|
240
|
+
}
|
|
241
|
+
const dek = await this.getDek();
|
|
242
|
+
return loadUserEnvelope(this.adapter, this.vaultName, keyringId, dek);
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Read every persisted envelope in the vault. Order is store-defined.
|
|
246
|
+
*
|
|
247
|
+
* Gated by `view-team-profiles`. Default policy (`minTier: 2`) lets
|
|
248
|
+
* any authenticated session read all envelopes. Two privacy-strict
|
|
249
|
+
* opt-outs:
|
|
250
|
+
*
|
|
251
|
+
* - `view-team-profiles.enabled: false` → list() returns only the
|
|
252
|
+
* caller's own envelope (silent self-fallback, no thrown error).
|
|
253
|
+
* - `view-team-profiles.minTier: 1` + insufficient tier → throws
|
|
254
|
+
* `PolicyDeniedError` with `reason: 'insufficient-tier'`. The
|
|
255
|
+
* caller is expected to elevate, not silently degrade.
|
|
256
|
+
*
|
|
257
|
+
* The asymmetry is deliberate: `enabled: false` is a deliberate
|
|
258
|
+
* design choice ("nobody sees teammate profiles in this app");
|
|
259
|
+
* `insufficient-tier` is "you need to authenticate further". Different
|
|
260
|
+
* UX prompts for different intents.
|
|
261
|
+
*/
|
|
262
|
+
async list(presented) {
|
|
263
|
+
if (this.checkGate) {
|
|
264
|
+
try {
|
|
265
|
+
await this.checkGate("view-team-profiles", presented);
|
|
266
|
+
} catch (err) {
|
|
267
|
+
if (err instanceof PolicyDeniedError && err.reason === "disabled") {
|
|
268
|
+
const me = await this.me();
|
|
269
|
+
return me ? [me] : [];
|
|
270
|
+
}
|
|
271
|
+
throw err;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
const dek = await this.getDek();
|
|
275
|
+
const ids = await listUserEnvelopeIds(this.adapter, this.vaultName);
|
|
276
|
+
const envelopes = await Promise.all(
|
|
277
|
+
ids.map((id) => loadUserEnvelope(this.adapter, this.vaultName, id, dek))
|
|
278
|
+
);
|
|
279
|
+
return envelopes.filter((e) => e !== null);
|
|
280
|
+
}
|
|
281
|
+
// ─── Reactive ────────────────────────────────────────────────────────
|
|
282
|
+
/**
|
|
283
|
+
* Listen for changes to a specific keyringId's envelope. The callback
|
|
284
|
+
* fires synchronously after every successful local `updateMe` /
|
|
285
|
+
* `setMe` for that principal.
|
|
286
|
+
*
|
|
287
|
+
* Cross-instance changes (a teammate edits their profile on their
|
|
288
|
+
* device, the sync engine pulls the diff onto this device) will fire
|
|
289
|
+
* subscribers when the sync layer replays the write through this API.
|
|
290
|
+
* In v1, subscribers do NOT fire on raw store changes — wire your sync
|
|
291
|
+
* layer to call back through `vault.user.setMe` / `updateMe` if you
|
|
292
|
+
* need that.
|
|
293
|
+
*
|
|
294
|
+
* Pass keyringId `'*'` to fire on every change in the vault.
|
|
295
|
+
*/
|
|
296
|
+
subscribe(keyringId, cb) {
|
|
297
|
+
let listeners = this.listeners.get(keyringId);
|
|
298
|
+
if (!listeners) {
|
|
299
|
+
listeners = /* @__PURE__ */ new Set();
|
|
300
|
+
this.listeners.set(keyringId, listeners);
|
|
301
|
+
}
|
|
302
|
+
const wrapped = cb;
|
|
303
|
+
listeners.add(wrapped);
|
|
304
|
+
return () => {
|
|
305
|
+
listeners?.delete(wrapped);
|
|
306
|
+
if (listeners && listeners.size === 0) {
|
|
307
|
+
this.listeners.delete(keyringId);
|
|
308
|
+
}
|
|
309
|
+
};
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Reactive handle that caches the current value and re-reads on every
|
|
313
|
+
* change for the given keyringId. Convenient for framework bindings:
|
|
314
|
+
*
|
|
315
|
+
* const live = vault.user.live<UserShape>(vault.userId)
|
|
316
|
+
* live.subscribe(env => render(env?.data))
|
|
317
|
+
*
|
|
318
|
+
* Initial value is `null` until the first `current()` call materializes
|
|
319
|
+
* it via `vault.user.get()`. Call `stop()` when done to release the
|
|
320
|
+
* subscription.
|
|
321
|
+
*/
|
|
322
|
+
live(keyringId) {
|
|
323
|
+
let value = null;
|
|
324
|
+
let primed = false;
|
|
325
|
+
const unsubscribe = this.subscribe(keyringId, (env) => {
|
|
326
|
+
value = env;
|
|
327
|
+
});
|
|
328
|
+
return {
|
|
329
|
+
current() {
|
|
330
|
+
if (!primed) {
|
|
331
|
+
primed = true;
|
|
332
|
+
}
|
|
333
|
+
return value;
|
|
334
|
+
},
|
|
335
|
+
subscribe: (cb) => this.subscribe(keyringId, cb),
|
|
336
|
+
stop: unsubscribe
|
|
337
|
+
};
|
|
338
|
+
}
|
|
339
|
+
// ─── Internal: change emission ───────────────────────────────────────
|
|
340
|
+
fireChange(keyringId, env) {
|
|
341
|
+
const targeted = this.listeners.get(keyringId);
|
|
342
|
+
if (targeted) for (const l of targeted) l(env);
|
|
343
|
+
const wildcard = this.listeners.get("*");
|
|
344
|
+
if (wildcard) for (const l of wildcard) l(env);
|
|
345
|
+
}
|
|
346
|
+
};
|
|
347
|
+
var createUserApi = (deps) => new UserApi(deps);
|
|
348
|
+
function deepMerge(source, patch) {
|
|
349
|
+
if (!isPlainObject(source) || !isPlainObject(patch)) {
|
|
350
|
+
return patch;
|
|
351
|
+
}
|
|
352
|
+
const out = { ...source };
|
|
353
|
+
for (const [key, patchVal] of Object.entries(patch)) {
|
|
354
|
+
if (patchVal === void 0) {
|
|
355
|
+
continue;
|
|
356
|
+
}
|
|
357
|
+
if (patchVal === null) {
|
|
358
|
+
delete out[key];
|
|
359
|
+
continue;
|
|
360
|
+
}
|
|
361
|
+
const sourceVal = source[key];
|
|
362
|
+
if (isPlainObject(patchVal)) {
|
|
363
|
+
const recurseSource = isPlainObject(sourceVal) ? sourceVal : {};
|
|
364
|
+
out[key] = deepMerge(recurseSource, patchVal);
|
|
365
|
+
} else {
|
|
366
|
+
out[key] = patchVal;
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
return out;
|
|
370
|
+
}
|
|
371
|
+
function isPlainObject(x) {
|
|
372
|
+
if (x === null || typeof x !== "object") return false;
|
|
373
|
+
if (Array.isArray(x)) return false;
|
|
374
|
+
const proto = Object.getPrototypeOf(x);
|
|
375
|
+
return proto === Object.prototype || proto === null;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
export {
|
|
379
|
+
UserApi,
|
|
380
|
+
createUserApi
|
|
381
|
+
};
|
|
382
|
+
//# sourceMappingURL=chunk-INBQ43DI.js.map
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
// src/via/classified/validators.ts
|
|
2
|
+
function luhnCheck(pan) {
|
|
3
|
+
const digits = pan.replace(/[\s-]/g, "");
|
|
4
|
+
if (!/^\d{12,19}$/.test(digits)) return false;
|
|
5
|
+
let sum = 0;
|
|
6
|
+
for (let i = 0; i < digits.length; i++) {
|
|
7
|
+
let d = Number(digits[digits.length - 1 - i]);
|
|
8
|
+
if (i % 2 === 1) {
|
|
9
|
+
d *= 2;
|
|
10
|
+
if (d > 9) d -= 9;
|
|
11
|
+
}
|
|
12
|
+
sum += d;
|
|
13
|
+
}
|
|
14
|
+
return sum % 10 === 0;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// src/via/classified/presets.ts
|
|
18
|
+
var digitsOf = (v) => String(v).replace(/\D/g, "");
|
|
19
|
+
function panSpec() {
|
|
20
|
+
return {
|
|
21
|
+
_noydbClassified: true,
|
|
22
|
+
_viaBrand: "classified",
|
|
23
|
+
preset: "creditCard.pan",
|
|
24
|
+
storage: "recoverable",
|
|
25
|
+
sensitivity: "secret",
|
|
26
|
+
list: { kind: "mask", pattern: "\u2022\u2022\u2022\u2022 ${last4}" },
|
|
27
|
+
riders: { last4: (v) => digitsOf(v).slice(-4), bin: (v) => digitsOf(v).slice(0, 6) },
|
|
28
|
+
validate: (v) => typeof v === "string" && luhnCheck(v) ? null : "not a Luhn-valid card number"
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
function expirySpec() {
|
|
32
|
+
return {
|
|
33
|
+
_noydbClassified: true,
|
|
34
|
+
_viaBrand: "classified",
|
|
35
|
+
preset: "creditCard.expiry",
|
|
36
|
+
storage: "recoverable",
|
|
37
|
+
sensitivity: "pii",
|
|
38
|
+
list: { kind: "mask", pattern: "\u2022\u2022/\u2022\u2022" },
|
|
39
|
+
validate: (v) => typeof v === "string" && /^(0[1-9]|1[0-2])\/\d{2}$/.test(v) ? null : "expected MM/YY"
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function cvcSpec() {
|
|
43
|
+
return {
|
|
44
|
+
_noydbClassified: true,
|
|
45
|
+
_viaBrand: "classified",
|
|
46
|
+
preset: "creditCard.cvc",
|
|
47
|
+
storage: "never",
|
|
48
|
+
sensitivity: "secret",
|
|
49
|
+
list: { kind: "omit" },
|
|
50
|
+
validate: (v) => typeof v === "string" && /^\d{3,4}$/.test(v) ? null : "expected 3-4 digits"
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
var classified = {
|
|
54
|
+
/** Composite card type. PAN sealed + last4/bin riders; CVC is storage:'never' (PCI-aware). */
|
|
55
|
+
creditCard(fields) {
|
|
56
|
+
const members = { [fields.pan]: panSpec() };
|
|
57
|
+
if (fields.expiry !== void 0) members[fields.expiry] = expirySpec();
|
|
58
|
+
if (fields.cvc !== void 0) members[fields.cvc] = cvcSpec();
|
|
59
|
+
return { _noydbClassifiedGroup: true, _viaBrand: "classified", preset: "creditCard", members };
|
|
60
|
+
},
|
|
61
|
+
birthDate() {
|
|
62
|
+
return {
|
|
63
|
+
_noydbClassified: true,
|
|
64
|
+
_viaBrand: "classified",
|
|
65
|
+
preset: "birthDate",
|
|
66
|
+
storage: "recoverable",
|
|
67
|
+
sensitivity: "pii",
|
|
68
|
+
list: { kind: "mask", pattern: "${yob}-\u2022\u2022-\u2022\u2022" },
|
|
69
|
+
riders: { yob: (v) => String(v).slice(0, 4) },
|
|
70
|
+
validate: (v) => {
|
|
71
|
+
if (typeof v !== "string" || !/^\d{4}-\d{2}-\d{2}$/.test(v)) return "expected ISO yyyy-mm-dd";
|
|
72
|
+
const parts = v.split("-").map(Number);
|
|
73
|
+
const year = parts[0], month = parts[1], day = parts[2];
|
|
74
|
+
if (month < 1 || month > 12) return "not a valid calendar date";
|
|
75
|
+
const daysInMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
|
|
76
|
+
const isLeapYear = year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;
|
|
77
|
+
const maxDay = month === 2 && isLeapYear ? 29 : daysInMonth[month - 1];
|
|
78
|
+
if (day < 1 || day > maxDay) return "not a valid calendar date";
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
},
|
|
83
|
+
email() {
|
|
84
|
+
return {
|
|
85
|
+
_noydbClassified: true,
|
|
86
|
+
_viaBrand: "classified",
|
|
87
|
+
preset: "email",
|
|
88
|
+
storage: "recoverable",
|
|
89
|
+
sensitivity: "pii",
|
|
90
|
+
list: { kind: "mask", pattern: "\u2022\u2022\u2022@${domain}" },
|
|
91
|
+
riders: { domain: (v) => String(v).split("@")[1] ?? "" },
|
|
92
|
+
validate: (v) => typeof v === "string" && v.includes("@") ? null : "expected an email address"
|
|
93
|
+
};
|
|
94
|
+
},
|
|
95
|
+
phone() {
|
|
96
|
+
return {
|
|
97
|
+
_noydbClassified: true,
|
|
98
|
+
_viaBrand: "classified",
|
|
99
|
+
preset: "phone",
|
|
100
|
+
storage: "recoverable",
|
|
101
|
+
sensitivity: "pii",
|
|
102
|
+
list: { kind: "mask", pattern: "\u2022\u2022\u2022\u2022\u2022${last2}" },
|
|
103
|
+
riders: { last2: (v) => digitsOf(v).slice(-2) },
|
|
104
|
+
validate: (v) => digitsOf(v).length >= 5 ? null : "expected at least 5 digits"
|
|
105
|
+
};
|
|
106
|
+
},
|
|
107
|
+
/** Digest-only password: verify-without-reveal; never listed, never revealed.
|
|
108
|
+
* Enumeration math is on the caller for low-entropy values — see the
|
|
109
|
+
* per-preset docs; the hub ships no rate limiter in this slice (spec §5).
|
|
110
|
+
*
|
|
111
|
+
* @param opts.equatable — emit a store-visible `_bidx` equality tag (enables
|
|
112
|
+
* `findByDigest`). Cost band you are accepting:
|
|
113
|
+
*
|
|
114
|
+
* equal values produce equal store-visible tags: anyone with store access
|
|
115
|
+
* learns which records share this secret and how many share each value —
|
|
116
|
+
* never the value itself. A collection-DEK holder can additionally test
|
|
117
|
+
* candidate values offline: the tag's inner digest is PBKDF2-SHA256 (600K),
|
|
118
|
+
* which is GPU/ASIC-friendly — an offline attacker runs on the order of
|
|
119
|
+
* 10⁴–10⁸ guesses/second, so for low-entropy secrets (PINs, casefolded secret
|
|
120
|
+
* answers) offline recovery of the equality partition is seconds-to-hours, not
|
|
121
|
+
* years. `crypto.subtle` exposes no memory-hard KDF (no scrypt/argon2) and the
|
|
122
|
+
* family's no-crypto-deps law forbids adding one, so PBKDF2-SHA256 is the
|
|
123
|
+
* hardest primitive available; the iteration count raises the price but does
|
|
124
|
+
* not make a low-entropy field safe. The real control for low-entropy fields
|
|
125
|
+
* is the DOOR — do not enable `equatable` for them unless the partition being
|
|
126
|
+
* learnable is acceptable — not the iteration count. Pre-forget backups retain
|
|
127
|
+
* tags. */
|
|
128
|
+
password(opts = {}) {
|
|
129
|
+
const minLength = opts.minLength ?? 10;
|
|
130
|
+
const notLastN = opts.notLastN ?? 0;
|
|
131
|
+
if (!Number.isInteger(notLastN) || notLastN < 0 || notLastN > 8) {
|
|
132
|
+
throw new Error(`classified.password: notLastN must be an integer 0..8 (write cost is n \xD7 600K PBKDF2; ring blast radius is documented), got ${notLastN}`);
|
|
133
|
+
}
|
|
134
|
+
return {
|
|
135
|
+
_noydbClassified: true,
|
|
136
|
+
_viaBrand: "classified",
|
|
137
|
+
preset: "password",
|
|
138
|
+
storage: "digest-only",
|
|
139
|
+
sensitivity: "secret",
|
|
140
|
+
list: { kind: "omit" },
|
|
141
|
+
verifyNormalize: "password",
|
|
142
|
+
...opts.rotateDays !== void 0 ? { rotateDays: opts.rotateDays } : {},
|
|
143
|
+
...notLastN > 0 ? { notLastN } : {},
|
|
144
|
+
...opts.equatable === true ? { equatable: true } : {},
|
|
145
|
+
validate: (v) => typeof v === "string" && v.normalize("NFC").length >= minLength ? null : `password must be at least ${minLength} characters`
|
|
146
|
+
};
|
|
147
|
+
},
|
|
148
|
+
/** Digest-only secret answer: normalized (casefold/trim/collapse), groupable
|
|
149
|
+
* into k-of-n matchGroup challenges. Low-entropy by nature — document the
|
|
150
|
+
* enumeration math to your users; add app-side rate limiting.
|
|
151
|
+
*
|
|
152
|
+
* @param opts.equatable — emit a store-visible `_bidx` equality tag (enables
|
|
153
|
+
* `findByDigest`). Cost band you are accepting:
|
|
154
|
+
*
|
|
155
|
+
* equal values produce equal store-visible tags: anyone with store access
|
|
156
|
+
* learns which records share this secret and how many share each value —
|
|
157
|
+
* never the value itself. A collection-DEK holder can additionally test
|
|
158
|
+
* candidate values offline: the tag's inner digest is PBKDF2-SHA256 (600K),
|
|
159
|
+
* which is GPU/ASIC-friendly — an offline attacker runs on the order of
|
|
160
|
+
* 10⁴–10⁸ guesses/second, so for low-entropy secrets (PINs, casefolded secret
|
|
161
|
+
* answers) offline recovery of the equality partition is seconds-to-hours, not
|
|
162
|
+
* years. `crypto.subtle` exposes no memory-hard KDF (no scrypt/argon2) and the
|
|
163
|
+
* family's no-crypto-deps law forbids adding one, so PBKDF2-SHA256 is the
|
|
164
|
+
* hardest primitive available; the iteration count raises the price but does
|
|
165
|
+
* not make a low-entropy field safe. The real control for low-entropy fields
|
|
166
|
+
* is the DOOR — do not enable `equatable` for them unless the partition being
|
|
167
|
+
* learnable is acceptable — not the iteration count. Pre-forget backups retain
|
|
168
|
+
* tags. */
|
|
169
|
+
secretAnswer(opts = {}) {
|
|
170
|
+
return {
|
|
171
|
+
_noydbClassified: true,
|
|
172
|
+
_viaBrand: "classified",
|
|
173
|
+
preset: "secretAnswer",
|
|
174
|
+
storage: "digest-only",
|
|
175
|
+
sensitivity: "secret",
|
|
176
|
+
list: { kind: "omit" },
|
|
177
|
+
verifyNormalize: "secret-answer",
|
|
178
|
+
verifyGroupMember: true,
|
|
179
|
+
...opts.equatable === true ? { equatable: true } : {},
|
|
180
|
+
validate: (v) => typeof v === "string" && v.normalize("NFC").toLowerCase().trim().replace(/\s+/g, " ").length > 0 ? null : "secret answer must be non-empty after normalization"
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
|
|
185
|
+
// src/via/classified/active.ts
|
|
186
|
+
function policyOf(spec) {
|
|
187
|
+
return {
|
|
188
|
+
normalize: spec.verifyNormalize ?? "password",
|
|
189
|
+
notLastN: spec.notLastN ?? 0,
|
|
190
|
+
equatable: spec.equatable === true,
|
|
191
|
+
...spec.rotateDays !== void 0 ? { rotateDays: spec.rotateDays } : {}
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
var engineCtx = (ctx) => ({
|
|
195
|
+
collection: ctx.collection,
|
|
196
|
+
getEnvelope: ctx.getEnvelope,
|
|
197
|
+
resolveCek: ctx.resolveCek,
|
|
198
|
+
getDEK: ctx.getDEK,
|
|
199
|
+
now: ctx.now
|
|
200
|
+
});
|
|
201
|
+
function withClassified() {
|
|
202
|
+
return {
|
|
203
|
+
async reveal(ctx, id, field) {
|
|
204
|
+
const { revealSealedField } = await import("./reveal-NPVROV4D.js");
|
|
205
|
+
const value = await revealSealedField({
|
|
206
|
+
collection: ctx.collection,
|
|
207
|
+
encrypted: ctx.encrypted,
|
|
208
|
+
getEnvelope: ctx.getEnvelope,
|
|
209
|
+
resolveCek: ctx.resolveCek,
|
|
210
|
+
getDEK: ctx.getDEK
|
|
211
|
+
}, id, field);
|
|
212
|
+
await ctx.onAccess?.("reveal", id);
|
|
213
|
+
return value;
|
|
214
|
+
},
|
|
215
|
+
async verify(ctx, id, field, candidate) {
|
|
216
|
+
const { verifyDigestField } = await import("./verify-QK76NJ4G.js");
|
|
217
|
+
const verdict = await verifyDigestField(engineCtx(ctx), id, field, candidate, policyOf(ctx.spec));
|
|
218
|
+
await ctx.onAccess?.("verify", id);
|
|
219
|
+
return verdict;
|
|
220
|
+
},
|
|
221
|
+
async verifyText(ctx, id, field, candidate) {
|
|
222
|
+
const { verifyTextField } = await import("./verify-QK76NJ4G.js");
|
|
223
|
+
const verdict = await verifyTextField(engineCtx(ctx), id, field, candidate, ctx.spec.verifyNormalize ?? "password");
|
|
224
|
+
await ctx.onAccess?.("verify", id);
|
|
225
|
+
return verdict;
|
|
226
|
+
},
|
|
227
|
+
async matchGroup(ctx, id, answers, opts) {
|
|
228
|
+
const { matchGroupFields } = await import("./verify-QK76NJ4G.js");
|
|
229
|
+
const members = (ctx.groupMembers ?? []).map((m) => ({ field: m.field, policy: policyOf(m.spec) }));
|
|
230
|
+
const result = await matchGroupFields(engineCtx(ctx), id, answers, members, opts);
|
|
231
|
+
await ctx.onAccess?.("verify", id);
|
|
232
|
+
return result;
|
|
233
|
+
},
|
|
234
|
+
async computeTarget(ctx, field, candidate, costByte) {
|
|
235
|
+
const { computeBidxTarget } = await import("./find-ZFZDZQ2U.js");
|
|
236
|
+
const dek = await ctx.getDEK();
|
|
237
|
+
return computeBidxTarget(candidate, policyOf(ctx.spec).normalize, dek, ctx.collection, field, costByte);
|
|
238
|
+
}
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
export {
|
|
243
|
+
luhnCheck,
|
|
244
|
+
classified,
|
|
245
|
+
withClassified
|
|
246
|
+
};
|
|
247
|
+
//# sourceMappingURL=chunk-IQIVD7TP.js.map
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import {
|
|
2
|
+
NOYDB_FORMAT_VERSION
|
|
3
|
+
} from "./chunk-JC75UBMT.js";
|
|
4
|
+
|
|
5
|
+
// src/kernel/enclave/record-keys/tombstone.ts
|
|
6
|
+
function isTombstoneShape(envelope) {
|
|
7
|
+
return envelope._data === "" && envelope._cek === void 0 && envelope._del !== true;
|
|
8
|
+
}
|
|
9
|
+
function isTombstone(envelope, encrypted) {
|
|
10
|
+
if (!encrypted) return false;
|
|
11
|
+
return isTombstoneShape(envelope);
|
|
12
|
+
}
|
|
13
|
+
function buildTombstone(version, actor) {
|
|
14
|
+
return {
|
|
15
|
+
_noydb: NOYDB_FORMAT_VERSION,
|
|
16
|
+
_v: version,
|
|
17
|
+
_ts: (/* @__PURE__ */ new Date()).toISOString(),
|
|
18
|
+
_iv: "",
|
|
19
|
+
_data: "",
|
|
20
|
+
...actor ? { _by: actor } : {}
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
function isDeleteMarker(envelope) {
|
|
24
|
+
return envelope._del === true;
|
|
25
|
+
}
|
|
26
|
+
function buildDeleteMarker(version, actor) {
|
|
27
|
+
return {
|
|
28
|
+
_noydb: NOYDB_FORMAT_VERSION,
|
|
29
|
+
_v: version,
|
|
30
|
+
_ts: (/* @__PURE__ */ new Date()).toISOString(),
|
|
31
|
+
_iv: "",
|
|
32
|
+
_data: "",
|
|
33
|
+
_del: true,
|
|
34
|
+
...actor ? { _by: actor } : {}
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export {
|
|
39
|
+
isTombstoneShape,
|
|
40
|
+
isTombstone,
|
|
41
|
+
buildTombstone,
|
|
42
|
+
isDeleteMarker,
|
|
43
|
+
buildDeleteMarker
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=chunk-J3JIYFYL.js.map
|