@noy-db/hub 0.3.0-pre.8 → 0.3.0
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-ZGS6LCOF.js +20 -0
- package/dist/as/index.js +11 -11
- package/dist/attestation/index.js +18 -18
- package/dist/backup-BJ57IKAO.js +242 -0
- package/dist/backup-BJ57IKAO.js.map +1 -0
- package/dist/blobs/index.js +13 -11
- 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 +25 -22
- package/dist/bundle/index.js.map +1 -1
- package/dist/by/index.js +2 -2
- package/dist/cargo/index.js +31 -31
- package/dist/chunk-2NVOWNI3.js +167 -0
- package/dist/chunk-2NVOWNI3.js.map +1 -0
- package/dist/chunk-3B5VVCNY.js +71 -0
- package/dist/chunk-3LQ2YKO4.js +230 -0
- package/dist/chunk-3QCRBHCY.js +54 -0
- package/dist/chunk-454JXE57.js +1697 -0
- package/dist/chunk-454JXE57.js.map +1 -0
- package/dist/chunk-4CTHCN4J.js +480 -0
- package/dist/chunk-4CTHCN4J.js.map +1 -0
- package/dist/chunk-4GPE63GU.js +111 -0
- package/dist/chunk-4GPE63GU.js.map +1 -0
- package/dist/chunk-4JBYV75E.js +150 -0
- package/dist/chunk-4NXKCLLQ.js +97 -0
- package/dist/chunk-4VNQOLML.js +29 -0
- package/dist/chunk-4VNQOLML.js.map +1 -0
- package/dist/chunk-5M5DVGV7.js +69 -0
- package/dist/chunk-5O3XF4DV.js +150 -0
- package/dist/chunk-5O3XF4DV.js.map +1 -0
- package/dist/chunk-5YOLBEQ6.js +30 -0
- package/dist/chunk-6CRIV7DE.js +129 -0
- package/dist/chunk-6JTIAGHD.js +621 -0
- package/dist/chunk-6JTIAGHD.js.map +1 -0
- package/dist/chunk-6QTNZJBS.js +255 -0
- package/dist/chunk-6T2SCQRU.js +86 -0
- package/dist/chunk-7DSTRQIJ.js +45 -0
- package/dist/chunk-AUSTCW2X.js +589 -0
- package/dist/chunk-B3HJYUOF.js +209 -0
- package/dist/chunk-BDVFPG6Y.js +164 -0
- package/dist/chunk-BIOUI4HL.js +1554 -0
- package/dist/chunk-BIOUI4HL.js.map +1 -0
- package/dist/chunk-CAF6WOK7.js +36 -0
- package/dist/chunk-CDUQTA3Z.js +381 -0
- package/dist/chunk-CDUQTA3Z.js.map +1 -0
- package/dist/chunk-CIE2BASH.js +404 -0
- package/dist/chunk-CRI4OUV4.js +42 -0
- package/dist/chunk-DLG74CNB.js +91 -0
- package/dist/chunk-E5ZQT5KX.js +30 -0
- package/dist/chunk-E5ZQT5KX.js.map +1 -0
- package/dist/chunk-EQO2UVP4.js +247 -0
- package/dist/chunk-EQO2UVP4.js.map +1 -0
- package/dist/chunk-ERJ7FU55.js +367 -0
- package/dist/chunk-EVVGJDRQ.js +205 -0
- package/dist/chunk-EVX47VBM.js +74 -0
- package/dist/chunk-EVX47VBM.js.map +1 -0
- package/dist/chunk-EXK7QRWF.js +59 -0
- package/dist/chunk-EYZ6IQ6X.js +202 -0
- package/dist/chunk-F64IRYG3.js +45 -0
- package/dist/chunk-FHS2HQSH.js +823 -0
- package/dist/chunk-FM3G3NOY.js +206 -0
- package/dist/chunk-FM3G3NOY.js.map +1 -0
- package/dist/chunk-FUG4SFN3.js +36 -0
- package/dist/chunk-FUG4SFN3.js.map +1 -0
- package/dist/chunk-GKEWXIV5.js +80 -0
- package/dist/chunk-GTGPO5KW.js +59 -0
- package/dist/chunk-HB3RFQSC.js +95 -0
- package/dist/chunk-HDMEGAQE.js +957 -0
- package/dist/chunk-HDMEGAQE.js.map +1 -0
- package/dist/chunk-HDQIIUPH.js +135 -0
- package/dist/chunk-HDQIIUPH.js.map +1 -0
- package/dist/chunk-HTJQYHZP.js +344 -0
- package/dist/chunk-HTJQYHZP.js.map +1 -0
- package/dist/chunk-I6GALP6E.js +99 -0
- package/dist/chunk-IGJCYUT5.js +99 -0
- package/dist/chunk-IGJCYUT5.js.map +1 -0
- package/dist/chunk-IL6POWCW.js +130 -0
- package/dist/chunk-IU6SNYX6.js +117 -0
- package/dist/chunk-J2ZX2XUV.js +778 -0
- package/dist/chunk-JIF24JPM.js +495 -0
- package/dist/chunk-JIF24JPM.js.map +1 -0
- package/dist/chunk-JK733I5V.js +23 -0
- package/dist/chunk-JK733I5V.js.map +1 -0
- package/dist/chunk-JKJOGPZN.js +29 -0
- package/dist/chunk-JNAI2HN2.js +32 -0
- package/dist/chunk-JNAI2HN2.js.map +1 -0
- package/dist/chunk-JZUV47FZ.js +41 -0
- package/dist/chunk-K5IMOGHB.js +30 -0
- package/dist/chunk-KPZS5QAQ.js +151 -0
- package/dist/chunk-KPZS5QAQ.js.map +1 -0
- package/dist/chunk-KSKBRKGJ.js +291 -0
- package/dist/chunk-KSKBRKGJ.js.map +1 -0
- package/dist/chunk-LASZKVMO.js +382 -0
- package/dist/chunk-LXEXBTKL.js +515 -0
- package/dist/chunk-LXEXBTKL.js.map +1 -0
- package/dist/chunk-M4CV6BRT.js +524 -0
- package/dist/chunk-M4CV6BRT.js.map +1 -0
- package/dist/chunk-MEFJPTZ4.js +371 -0
- package/dist/chunk-MEFJPTZ4.js.map +1 -0
- package/dist/chunk-MV43JSJF.js +265 -0
- package/dist/chunk-MV43JSJF.js.map +1 -0
- package/dist/chunk-NJ4EOKMB.js +392 -0
- package/dist/chunk-NJ4EOKMB.js.map +1 -0
- package/dist/chunk-NR5LT5RY.js +135 -0
- package/dist/chunk-NWSGI5C7.js +261 -0
- package/dist/chunk-NWSGI5C7.js.map +1 -0
- package/dist/chunk-OSDB5WW3.js +739 -0
- package/dist/chunk-OSDB5WW3.js.map +1 -0
- package/dist/chunk-PN2XMATY.js +37 -0
- package/dist/chunk-PN2XMATY.js.map +1 -0
- package/dist/chunk-Q5VNKNE5.js +70 -0
- package/dist/chunk-QLWMEXCT.js +21 -0
- package/dist/chunk-QRB7NAOJ.js +123 -0
- package/dist/chunk-R4ROFEYC.js +74 -0
- package/dist/chunk-RCVJZMFE.js +164 -0
- package/dist/chunk-RCVJZMFE.js.map +1 -0
- package/dist/chunk-RIX4V2TB.js +367 -0
- package/dist/chunk-RYCTDFUX.js +40 -0
- package/dist/chunk-RZ5SVOYR.js +155 -0
- package/dist/chunk-SLFHQTTW.js +99 -0
- package/dist/chunk-SNZ6URZZ.js +2782 -0
- package/dist/chunk-SNZ6URZZ.js.map +1 -0
- package/dist/chunk-T2FFWNPK.js +75 -0
- package/dist/chunk-T2FFWNPK.js.map +1 -0
- package/dist/chunk-UNFPPVNI.js +23 -0
- package/dist/chunk-VFUPHI2Z.js +333 -0
- package/dist/chunk-VFUPHI2Z.js.map +1 -0
- package/dist/chunk-VLFCJYTL.js +235 -0
- package/dist/chunk-VN3DBQAU.js +124 -0
- package/dist/chunk-VYYM3MEN.js +98 -0
- package/dist/chunk-VYYM3MEN.js.map +1 -0
- package/dist/chunk-VZRODIM3.js +49 -0
- package/dist/chunk-W22IKJE2.js +94 -0
- package/dist/chunk-X3YYQWOQ.js +155 -0
- package/dist/chunk-X7QBD67R.js +14405 -0
- package/dist/chunk-X7QBD67R.js.map +1 -0
- package/dist/chunk-XDYREZWE.js +1128 -0
- package/dist/chunk-XDYREZWE.js.map +1 -0
- package/dist/chunk-XWZVFISC.js +720 -0
- package/dist/chunk-XWZVFISC.js.map +1 -0
- package/dist/chunk-YFXZEAYK.js +85 -0
- package/dist/chunk-ZAJAVEXY.js +50 -0
- package/dist/chunk-ZICD77GM.js +34 -0
- package/dist/chunk-ZJ2AK4V7.js +38 -0
- package/dist/chunk-ZJ2AK4V7.js.map +1 -0
- package/dist/chunk-ZUODRVHY.js +14 -0
- package/dist/classified/index.js +5 -3
- package/dist/classified-marker-CZKA6ITE.js +28 -0
- package/dist/classified-marker-CZKA6ITE.js.map +1 -0
- package/dist/collection-facade-TLWIPI76.js +44 -0
- package/dist/computed-ZIQTYTDI.js +11 -0
- package/dist/consent/index.js +9 -9
- package/dist/crdt/index.js +1 -1
- package/dist/dead-filter-ESOBZZP5.js +28 -0
- package/dist/delegation-W7ZV2322.js +25 -0
- package/dist/derivations/index.js +12 -11
- package/dist/derive-H2BJTLUI.js +21 -0
- package/dist/enclave-AP3I5W7O.js +141 -0
- package/dist/executor-KGWTNEQD.js +9 -0
- package/dist/executor-OVEXR6RT.js +9 -0
- package/dist/executor-UNEH5ZYH.js +25 -0
- package/dist/export-accessible-PCMXSUZS.js +23 -0
- package/dist/extract-partition-SWHFSYJO.js +38 -0
- package/dist/fanout-sidecar-A765THMX.js +74 -0
- package/dist/find-N6345CNT.js +11 -0
- package/dist/forget/index.js +10 -10
- package/dist/forget/index.js.map +1 -1
- package/dist/guards/index.js +6 -6
- package/dist/history/index.js +14 -11
- package/dist/history/index.js.map +1 -1
- package/dist/i18n/index.js +50 -37
- package/dist/i18n/index.js.map +1 -1
- package/dist/index.d.ts +307 -1459
- package/dist/index.js +595 -198
- package/dist/index.js.map +1 -1
- package/dist/indexing/index.js +7 -7
- package/dist/indexing/index.js.map +1 -1
- package/dist/issue-5OKB6I2R.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 +809 -0
- package/dist/kernel/collection.d.ts +1522 -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 +36 -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 +79 -0
- package/dist/kernel/enclave/record-keys/deterministic.d.ts +55 -0
- package/dist/kernel/enclave/record-keys/envelope-body.d.ts +79 -0
- package/dist/kernel/enclave/record-keys/lifecycle.d.ts +107 -0
- package/dist/kernel/enclave/record-keys/record-codec.d.ts +328 -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 +1922 -0
- package/dist/kernel/events.d.ts +11 -0
- package/dist/kernel/lazy-count.d.ts +13 -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/tier-visibility.d.ts +54 -0
- package/dist/kernel/types.d.ts +3239 -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 +1740 -0
- package/dist/kernel/via/compose.d.ts +144 -0
- package/dist/kernel/via/dispatch.d.ts +195 -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-GFBKVPV4.js +42 -0
- package/dist/legacy/bundle.d.ts +30 -0
- package/dist/legacy/kernel.d.ts +33 -0
- package/dist/liberate-3VDOT4KO.js +24 -0
- package/dist/link-set-Z7Q2ASFX.js +31 -0
- package/dist/materialized-views/index.js +19 -15
- package/dist/noydb-ZCJOYBDI.js +68 -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-Z3RUAIY2.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 +98 -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-JTH76BLY.js +60 -0
- package/dist/post-register-JTH76BLY.js.map +1 -0
- package/dist/public-envelope-B4KNWVUA.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-VAHONCID.js +23 -0
- package/dist/registry-7MLVD3VO.js +19 -0
- package/dist/registry-EPKPD5SM.js +18 -0
- package/dist/registry-P5T7PS2U.js +9 -0
- package/dist/request-withdrawal-TI3A5WPS.js +31 -0
- package/dist/reveal-DIBHLUZX.js +38 -0
- package/dist/reveal-DIBHLUZX.js.map +1 -0
- package/dist/revoke-FDRD6GRW.js +24 -0
- package/dist/satellites/index.js +1 -1
- package/dist/sealed-record/index.js +12 -12
- package/dist/seed-Q6M2IZFL.js +231 -0
- package/dist/seed-Q6M2IZFL.js.map +1 -0
- package/dist/session/index.js +9 -9
- package/dist/shadow/index.js +2 -2
- package/dist/signer-MUWEIUI6.js +25 -0
- package/dist/snapshots/index.js +10 -10
- package/dist/stale-OSQ7J3AA.js +29 -0
- package/dist/storage-MVFCGEQE.js +23 -0
- package/dist/store-coordination-provider-64OEZFGS.js +142 -0
- package/dist/sync/index.js +9 -9
- package/dist/team/index.js +15 -15
- package/dist/tiers/index.js +14 -10
- package/dist/to/index.js +1 -2
- package/dist/tx/index.js +3 -3
- package/dist/util/index.js +1 -1
- package/dist/verify-ZASTRNPR.js +140 -0
- package/dist/verify-ZASTRNPR.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 +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-SVNDIZ62.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 +199 -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 +394 -0
- package/dist/with-audit/tiers/strategy.d.ts +36 -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 +41 -0
- package/dist/with-cargo/extract-partition.d.ts +155 -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 +67 -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 +73 -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 +356 -0
- package/dist/with-commit/history/strategy.d.ts +136 -0
- package/dist/with-commit/history/time-machine.d.ts +202 -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 +59 -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 +80 -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 +113 -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 +4 -0
- package/dist/with-lookup/embeddings/vec-id.d.ts +47 -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 +157 -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 +163 -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 +121 -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 +41 -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-intent.d.ts +153 -0
- package/dist/with-shape/blobs/blob-set.d.ts +1286 -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-WZIEVWSR.js +28 -0
- package/package.json +47 -55
- 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-JDWL67WL.js +0 -20
- 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-WRGNTGJF.js +0 -225
- package/dist/backup-WRGNTGJF.js.map +0 -1
- package/dist/blobs/index.d.ts +0 -44
- package/dist/bundle/index.d.ts +0 -122
- package/dist/bundle-DzWtVw7w.d.ts +0 -548
- package/dist/by/index.d.ts +0 -1
- package/dist/cargo/index.d.ts +0 -9
- package/dist/chunk-25G7PUTA.js +0 -235
- package/dist/chunk-26FSVNBL.js +0 -34
- package/dist/chunk-2PJB6H3H.js +0 -167
- package/dist/chunk-2PJB6H3H.js.map +0 -1
- package/dist/chunk-37JZR7CY.js +0 -91
- package/dist/chunk-3KBK5LU4.js +0 -117
- package/dist/chunk-3YKBGS3I.js +0 -686
- package/dist/chunk-3YKBGS3I.js.map +0 -1
- package/dist/chunk-44DV37ZV.js +0 -75
- package/dist/chunk-44DV37ZV.js.map +0 -1
- package/dist/chunk-47C4CI7R.js +0 -108
- package/dist/chunk-47C4CI7R.js.map +0 -1
- package/dist/chunk-4VDFUBTS.js +0 -275
- package/dist/chunk-4VDFUBTS.js.map +0 -1
- package/dist/chunk-55LSDABW.js +0 -94
- package/dist/chunk-56JB2BGI.js +0 -13003
- package/dist/chunk-56JB2BGI.js.map +0 -1
- package/dist/chunk-5GQE5IDB.js +0 -513
- package/dist/chunk-5GQE5IDB.js.map +0 -1
- package/dist/chunk-5HRJQSKN.js +0 -202
- package/dist/chunk-5HZULLHE.js +0 -404
- package/dist/chunk-5JQMX2EH.js +0 -50
- package/dist/chunk-5UOPIPZC.js +0 -95
- package/dist/chunk-5YBUFCFF.js +0 -135
- package/dist/chunk-62APEMF3.js +0 -280
- package/dist/chunk-62APEMF3.js.map +0 -1
- package/dist/chunk-6P5AJ2ZS.js +0 -120
- package/dist/chunk-6P5AJ2ZS.js.map +0 -1
- package/dist/chunk-6PALJTC2.js +0 -430
- package/dist/chunk-6PALJTC2.js.map +0 -1
- package/dist/chunk-6S7T6WC4.js +0 -111
- package/dist/chunk-6S7T6WC4.js.map +0 -1
- package/dist/chunk-6Z435B6N.js +0 -1656
- package/dist/chunk-6Z435B6N.js.map +0 -1
- package/dist/chunk-723XB5NX.js +0 -86
- package/dist/chunk-7CZ6YXMO.js +0 -124
- package/dist/chunk-7KTL4RHZ.js +0 -120
- package/dist/chunk-7KTL4RHZ.js.map +0 -1
- package/dist/chunk-7TAV3BFQ.js +0 -766
- package/dist/chunk-7TAV3BFQ.js.map +0 -1
- package/dist/chunk-BASCPHNM.js +0 -380
- package/dist/chunk-BASCPHNM.js.map +0 -1
- package/dist/chunk-BGIZAFY7.js +0 -1
- package/dist/chunk-BJ2XF2RC.js +0 -823
- package/dist/chunk-BM6E4MUT.js +0 -881
- package/dist/chunk-BM6E4MUT.js.map +0 -1
- package/dist/chunk-BTFTHF6Q.js +0 -42
- package/dist/chunk-C4NOLA5X.js +0 -132
- package/dist/chunk-C4NOLA5X.js.map +0 -1
- package/dist/chunk-CHK5VVMI.js +0 -155
- package/dist/chunk-DCVVCJVB.js +0 -45
- package/dist/chunk-EU7HDMT3.js +0 -54
- package/dist/chunk-F3EKFGUS.js +0 -99
- package/dist/chunk-FCOZ7DEC.js +0 -355
- package/dist/chunk-FCOZ7DEC.js.map +0 -1
- package/dist/chunk-FWART3VA.js +0 -205
- package/dist/chunk-FZK3JJJK.js +0 -150
- package/dist/chunk-GDOOG5YQ.js +0 -382
- package/dist/chunk-GLVXQU3E.js +0 -155
- package/dist/chunk-HU55NPHZ.js +0 -80
- package/dist/chunk-I6JJ6VJS.js +0 -97
- package/dist/chunk-I6URUNTD.js +0 -59
- package/dist/chunk-IARAK3PK.js +0 -14
- package/dist/chunk-II6DLDZM.js +0 -30
- package/dist/chunk-J5YUA6JB.js +0 -23
- package/dist/chunk-J7OH6R4K.js +0 -49
- package/dist/chunk-K2WCO3NX.js +0 -1
- package/dist/chunk-L6Q5NA22.js +0 -40
- package/dist/chunk-LFGJG4XZ.js +0 -30
- package/dist/chunk-M3OYTM5Z.js +0 -85
- package/dist/chunk-MOQ5M46U.js +0 -209
- package/dist/chunk-NTPWQH4S.js +0 -589
- package/dist/chunk-OJ64XMPJ.js +0 -1434
- package/dist/chunk-OJ64XMPJ.js.map +0 -1
- package/dist/chunk-OWGAXPRE.js +0 -129
- package/dist/chunk-P2PEPSPK.js +0 -230
- package/dist/chunk-P6TZ3IVN.js +0 -453
- package/dist/chunk-P6TZ3IVN.js.map +0 -1
- package/dist/chunk-PAJCRV7O.js +0 -123
- package/dist/chunk-PMMV5SQC.js +0 -416
- package/dist/chunk-PMMV5SQC.js.map +0 -1
- package/dist/chunk-PPPZIBKY.js +0 -261
- package/dist/chunk-PPPZIBKY.js.map +0 -1
- package/dist/chunk-PVC2FBCQ.js +0 -45
- package/dist/chunk-PYIUDUGS.js +0 -36
- package/dist/chunk-QABECTNN.js +0 -255
- package/dist/chunk-QYMMMKOO.js +0 -164
- package/dist/chunk-R4IVPJHN.js +0 -130
- package/dist/chunk-REWTMYSF.js +0 -32
- package/dist/chunk-REWTMYSF.js.map +0 -1
- package/dist/chunk-RNYDHIQL.js +0 -367
- package/dist/chunk-RUIMKQTA.js +0 -23
- package/dist/chunk-RUIMKQTA.js.map +0 -1
- package/dist/chunk-TCGVRKOS.js +0 -367
- package/dist/chunk-TIAYXOEI.js +0 -99
- package/dist/chunk-TQ3REHVF.js +0 -95
- package/dist/chunk-TQ3REHVF.js.map +0 -1
- package/dist/chunk-TUL5YQWF.js +0 -777
- package/dist/chunk-U7LV2DUN.js +0 -74
- package/dist/chunk-UB3XHGFG.js +0 -181
- package/dist/chunk-UB3XHGFG.js.map +0 -1
- package/dist/chunk-UMH35AQV.js +0 -70
- package/dist/chunk-UWZ7O4NR.js +0 -29
- package/dist/chunk-V76PHWLE.js +0 -41
- package/dist/chunk-VFQOE76I.js +0 -69
- package/dist/chunk-VIWOGJ2O.js +0 -71
- package/dist/chunk-VK6OC22R.js +0 -37
- package/dist/chunk-VK6OC22R.js.map +0 -1
- package/dist/chunk-VVLOWY74.js +0 -150
- package/dist/chunk-VVLOWY74.js.map +0 -1
- package/dist/chunk-W3JABOVB.js +0 -53
- package/dist/chunk-W3JABOVB.js.map +0 -1
- package/dist/chunk-WPNP3NF5.js +0 -1221
- package/dist/chunk-WPNP3NF5.js.map +0 -1
- package/dist/chunk-X5QZAJDB.js +0 -59
- package/dist/chunk-X6VNIRHS.js +0 -239
- package/dist/chunk-X6VNIRHS.js.map +0 -1
- package/dist/chunk-XBPUVQDO.js +0 -664
- package/dist/chunk-XBPUVQDO.js.map +0 -1
- package/dist/chunk-XW5LZYV4.js +0 -21
- package/dist/chunk-YTCCC6NG.js +0 -320
- package/dist/chunk-YTCCC6NG.js.map +0 -1
- package/dist/classified/index.d.ts +0 -17
- package/dist/collection-facade-EJVIN2BY.js +0 -39
- package/dist/computed-6FOFXQPE.js +0 -11
- package/dist/config-drift-RFEVGBKR.js +0 -24
- package/dist/config-drift-RFEVGBKR.js.map +0 -1
- package/dist/consent/index.d.ts +0 -23
- package/dist/crdt/index.d.ts +0 -34
- package/dist/dead-filter-RHMNYOXP.js +0 -28
- package/dist/decrypt-partition-IHtxEnTi.d.ts +0 -21
- package/dist/delegation-IHXOASHV.js +0 -25
- package/dist/derivations/index.d.ts +0 -70
- package/dist/derive-CD3ZVIXK.js +0 -21
- package/dist/describe/index.d.ts +0 -1
- package/dist/describe/index.js +0 -1
- package/dist/describe-C6iHNlqJ.d.ts +0 -162
- package/dist/dev-unlock-wgQ7Ci5I.d.ts +0 -263
- package/dist/discriminant-BN9REW3o.d.ts +0 -60
- package/dist/enclave-KGEUW2GL.js +0 -123
- package/dist/executor-EUPYHCLU.js +0 -9
- package/dist/executor-KZ4B3PRT.js +0 -9
- package/dist/executor-MHUM2VZK.js +0 -21
- package/dist/export-accessible-Z3NSZZHN.js +0 -23
- package/dist/extract-partition-VSKT35JG.js +0 -36
- package/dist/fanout-sidecar-NBDKKCHT.js +0 -74
- package/dist/find-OH4BEULF.js +0 -11
- package/dist/forget/index.d.ts +0 -36
- package/dist/guards/index.d.ts +0 -35
- package/dist/hash-CwHnoKyW.d.ts +0 -72
- 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-CTvUp94-.d.ts +0 -123
- package/dist/index-Dn5GzPg_.d.ts +0 -22138
- package/dist/indexing/index.d.ts +0 -39
- package/dist/issue-AEOL6RXA.js +0 -19
- package/dist/kernel/index.d.ts +0 -32
- package/dist/kernel/index.js +0 -59
- package/dist/lazy/index.d.ts +0 -21
- package/dist/ledger-3LR3YO2W.js +0 -42
- package/dist/liberate-XSEPRWEA.js +0 -24
- package/dist/link-set-NSUIX6BR.js +0 -31
- package/dist/materialized-views/index.d.ts +0 -173
- package/dist/mime-magic-CYbFNQ4h.d.ts +0 -103
- package/dist/noydb-POVTIVQ6.js +0 -62
- 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-Y7HL2KGA.js +0 -41
- package/dist/portability/index.d.ts +0 -20
- package/dist/post-register-KOFRTCDD.js +0 -55
- package/dist/post-register-KOFRTCDD.js.map +0 -1
- package/dist/public-envelope-NC7SPNMV.js +0 -32
- package/dist/query/index.d.ts +0 -5
- package/dist/read-only-facade-5ADRJVTM.js +0 -8
- package/dist/register-3D6R2MKN.js +0 -23
- package/dist/registry-AI4E46PD.js +0 -19
- package/dist/registry-HSNQ4NBP.js +0 -9
- package/dist/registry-WIX6QCV5.js +0 -17
- package/dist/request-withdrawal-GU4XS2R5.js +0 -31
- package/dist/reveal-5Y777N5Q.js +0 -38
- package/dist/reveal-5Y777N5Q.js.map +0 -1
- package/dist/revoke-ZFETCLYV.js +0 -24
- package/dist/revoke-ZFETCLYV.js.map +0 -1
- package/dist/satellites/index.d.ts +0 -5
- 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-GAIMQQ2J.js +0 -25
- package/dist/signer-GAIMQQ2J.js.map +0 -1
- package/dist/snapshots/index.d.ts +0 -26
- package/dist/stale-77LP2EEF.js +0 -14
- package/dist/stale-77LP2EEF.js.map +0 -1
- package/dist/storage-KEXIXLGM.js +0 -23
- package/dist/storage-KEXIXLGM.js.map +0 -1
- package/dist/store-coordination-provider-NJDDZ264.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 -155
- package/dist/tiers/index.d.ts +0 -5
- package/dist/to/index.d.ts +0 -5
- package/dist/transition-guard-D5RLJv8S.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/validators-C3lrVF-c.d.ts +0 -101
- package/dist/vault-diff-_LSIcOMv.d.ts +0 -147
- package/dist/verify-CAYGXYNO.js +0 -139
- package/dist/verify-CAYGXYNO.js.map +0 -1
- package/dist/walk-SMAE4IEI.js +0 -241
- package/dist/with/index.d.ts +0 -38
- package/dist/with-materialized-view-Xv1-9Bh0.d.ts +0 -27
- package/dist/with-overlayed-view-CuWhq_-C.d.ts +0 -12
- package/dist/with-rollup-K_iwal4b.d.ts +0 -47
- package/dist/withdraw-accessible-Q7BULAN5.js +0 -28
- package/dist/withdraw-accessible-Q7BULAN5.js.map +0 -1
- /package/dist/{adapter/index.js.map → api-ZGS6LCOF.js.map} +0 -0
- /package/dist/{chunk-VIWOGJ2O.js.map → chunk-3B5VVCNY.js.map} +0 -0
- /package/dist/{chunk-P2PEPSPK.js.map → chunk-3LQ2YKO4.js.map} +0 -0
- /package/dist/{chunk-EU7HDMT3.js.map → chunk-3QCRBHCY.js.map} +0 -0
- /package/dist/{chunk-FZK3JJJK.js.map → chunk-4JBYV75E.js.map} +0 -0
- /package/dist/{chunk-I6JJ6VJS.js.map → chunk-4NXKCLLQ.js.map} +0 -0
- /package/dist/{chunk-VFQOE76I.js.map → chunk-5M5DVGV7.js.map} +0 -0
- /package/dist/{chunk-LFGJG4XZ.js.map → chunk-5YOLBEQ6.js.map} +0 -0
- /package/dist/{chunk-OWGAXPRE.js.map → chunk-6CRIV7DE.js.map} +0 -0
- /package/dist/{chunk-QABECTNN.js.map → chunk-6QTNZJBS.js.map} +0 -0
- /package/dist/{chunk-723XB5NX.js.map → chunk-6T2SCQRU.js.map} +0 -0
- /package/dist/{chunk-PVC2FBCQ.js.map → chunk-7DSTRQIJ.js.map} +0 -0
- /package/dist/{chunk-NTPWQH4S.js.map → chunk-AUSTCW2X.js.map} +0 -0
- /package/dist/{chunk-MOQ5M46U.js.map → chunk-B3HJYUOF.js.map} +0 -0
- /package/dist/{chunk-QYMMMKOO.js.map → chunk-BDVFPG6Y.js.map} +0 -0
- /package/dist/{chunk-PYIUDUGS.js.map → chunk-CAF6WOK7.js.map} +0 -0
- /package/dist/{chunk-5HZULLHE.js.map → chunk-CIE2BASH.js.map} +0 -0
- /package/dist/{chunk-BTFTHF6Q.js.map → chunk-CRI4OUV4.js.map} +0 -0
- /package/dist/{chunk-37JZR7CY.js.map → chunk-DLG74CNB.js.map} +0 -0
- /package/dist/{chunk-TCGVRKOS.js.map → chunk-ERJ7FU55.js.map} +0 -0
- /package/dist/{chunk-FWART3VA.js.map → chunk-EVVGJDRQ.js.map} +0 -0
- /package/dist/{chunk-X5QZAJDB.js.map → chunk-EXK7QRWF.js.map} +0 -0
- /package/dist/{chunk-5HRJQSKN.js.map → chunk-EYZ6IQ6X.js.map} +0 -0
- /package/dist/{chunk-DCVVCJVB.js.map → chunk-F64IRYG3.js.map} +0 -0
- /package/dist/{chunk-BJ2XF2RC.js.map → chunk-FHS2HQSH.js.map} +0 -0
- /package/dist/{chunk-HU55NPHZ.js.map → chunk-GKEWXIV5.js.map} +0 -0
- /package/dist/{chunk-I6URUNTD.js.map → chunk-GTGPO5KW.js.map} +0 -0
- /package/dist/{chunk-5UOPIPZC.js.map → chunk-HB3RFQSC.js.map} +0 -0
- /package/dist/{chunk-F3EKFGUS.js.map → chunk-I6GALP6E.js.map} +0 -0
- /package/dist/{chunk-R4IVPJHN.js.map → chunk-IL6POWCW.js.map} +0 -0
- /package/dist/{chunk-3KBK5LU4.js.map → chunk-IU6SNYX6.js.map} +0 -0
- /package/dist/{chunk-TUL5YQWF.js.map → chunk-J2ZX2XUV.js.map} +0 -0
- /package/dist/{chunk-UWZ7O4NR.js.map → chunk-JKJOGPZN.js.map} +0 -0
- /package/dist/{chunk-V76PHWLE.js.map → chunk-JZUV47FZ.js.map} +0 -0
- /package/dist/{chunk-II6DLDZM.js.map → chunk-K5IMOGHB.js.map} +0 -0
- /package/dist/{chunk-GDOOG5YQ.js.map → chunk-LASZKVMO.js.map} +0 -0
- /package/dist/{chunk-5YBUFCFF.js.map → chunk-NR5LT5RY.js.map} +0 -0
- /package/dist/{chunk-UMH35AQV.js.map → chunk-Q5VNKNE5.js.map} +0 -0
- /package/dist/{chunk-XW5LZYV4.js.map → chunk-QLWMEXCT.js.map} +0 -0
- /package/dist/{chunk-PAJCRV7O.js.map → chunk-QRB7NAOJ.js.map} +0 -0
- /package/dist/{chunk-U7LV2DUN.js.map → chunk-R4ROFEYC.js.map} +0 -0
- /package/dist/{chunk-RNYDHIQL.js.map → chunk-RIX4V2TB.js.map} +0 -0
- /package/dist/{chunk-L6Q5NA22.js.map → chunk-RYCTDFUX.js.map} +0 -0
- /package/dist/{chunk-CHK5VVMI.js.map → chunk-RZ5SVOYR.js.map} +0 -0
- /package/dist/{chunk-TIAYXOEI.js.map → chunk-SLFHQTTW.js.map} +0 -0
- /package/dist/{chunk-J5YUA6JB.js.map → chunk-UNFPPVNI.js.map} +0 -0
- /package/dist/{chunk-25G7PUTA.js.map → chunk-VLFCJYTL.js.map} +0 -0
- /package/dist/{chunk-7CZ6YXMO.js.map → chunk-VN3DBQAU.js.map} +0 -0
- /package/dist/{chunk-J7OH6R4K.js.map → chunk-VZRODIM3.js.map} +0 -0
- /package/dist/{chunk-55LSDABW.js.map → chunk-W22IKJE2.js.map} +0 -0
- /package/dist/{chunk-GLVXQU3E.js.map → chunk-X3YYQWOQ.js.map} +0 -0
- /package/dist/{chunk-M3OYTM5Z.js.map → chunk-YFXZEAYK.js.map} +0 -0
- /package/dist/{chunk-5JQMX2EH.js.map → chunk-ZAJAVEXY.js.map} +0 -0
- /package/dist/{chunk-26FSVNBL.js.map → chunk-ZICD77GM.js.map} +0 -0
- /package/dist/{chunk-IARAK3PK.js.map → chunk-ZUODRVHY.js.map} +0 -0
- /package/dist/{api-JDWL67WL.js.map → collection-facade-TLWIPI76.js.map} +0 -0
- /package/dist/{chunk-BGIZAFY7.js.map → computed-ZIQTYTDI.js.map} +0 -0
- /package/dist/{dead-filter-RHMNYOXP.js.map → dead-filter-ESOBZZP5.js.map} +0 -0
- /package/dist/{chunk-K2WCO3NX.js.map → delegation-W7ZV2322.js.map} +0 -0
- /package/dist/{collection-facade-EJVIN2BY.js.map → derive-H2BJTLUI.js.map} +0 -0
- /package/dist/{computed-6FOFXQPE.js.map → enclave-AP3I5W7O.js.map} +0 -0
- /package/dist/{delegation-IHXOASHV.js.map → executor-KGWTNEQD.js.map} +0 -0
- /package/dist/{derive-CD3ZVIXK.js.map → executor-OVEXR6RT.js.map} +0 -0
- /package/dist/{describe/index.js.map → executor-UNEH5ZYH.js.map} +0 -0
- /package/dist/{enclave-KGEUW2GL.js.map → export-accessible-PCMXSUZS.js.map} +0 -0
- /package/dist/{executor-EUPYHCLU.js.map → extract-partition-SWHFSYJO.js.map} +0 -0
- /package/dist/{fanout-sidecar-NBDKKCHT.js.map → fanout-sidecar-A765THMX.js.map} +0 -0
- /package/dist/{executor-KZ4B3PRT.js.map → find-N6345CNT.js.map} +0 -0
- /package/dist/{executor-MHUM2VZK.js.map → issue-5OKB6I2R.js.map} +0 -0
- /package/dist/{export-accessible-Z3NSZZHN.js.map → ledger-GFBKVPV4.js.map} +0 -0
- /package/dist/{extract-partition-VSKT35JG.js.map → liberate-3VDOT4KO.js.map} +0 -0
- /package/dist/{find-OH4BEULF.js.map → link-set-Z7Q2ASFX.js.map} +0 -0
- /package/dist/{issue-AEOL6RXA.js.map → noydb-ZCJOYBDI.js.map} +0 -0
- /package/dist/{kernel/index.js.map → policy-Z3RUAIY2.js.map} +0 -0
- /package/dist/{ledger-3LR3YO2W.js.map → public-envelope-B4KNWVUA.js.map} +0 -0
- /package/dist/{liberate-XSEPRWEA.js.map → read-only-facade-CHCKSEPD.js.map} +0 -0
- /package/dist/{link-set-NSUIX6BR.js.map → register-VAHONCID.js.map} +0 -0
- /package/dist/{noydb-POVTIVQ6.js.map → registry-7MLVD3VO.js.map} +0 -0
- /package/dist/{policy-Y7HL2KGA.js.map → registry-EPKPD5SM.js.map} +0 -0
- /package/dist/{public-envelope-NC7SPNMV.js.map → registry-P5T7PS2U.js.map} +0 -0
- /package/dist/{read-only-facade-5ADRJVTM.js.map → request-withdrawal-TI3A5WPS.js.map} +0 -0
- /package/dist/{register-3D6R2MKN.js.map → revoke-FDRD6GRW.js.map} +0 -0
- /package/dist/{registry-AI4E46PD.js.map → signer-MUWEIUI6.js.map} +0 -0
- /package/dist/{registry-HSNQ4NBP.js.map → stale-OSQ7J3AA.js.map} +0 -0
- /package/dist/{registry-WIX6QCV5.js.map → storage-MVFCGEQE.js.map} +0 -0
- /package/dist/{store-coordination-provider-NJDDZ264.js.map → store-coordination-provider-64OEZFGS.js.map} +0 -0
- /package/dist/{walk-SMAE4IEI.js.map → walk-SVNDIZ62.js.map} +0 -0
- /package/dist/{request-withdrawal-GU4XS2R5.js.map → withdraw-accessible-WZIEVWSR.js.map} +0 -0
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
import {
|
|
2
|
+
jsonSchemaToFields
|
|
3
|
+
} from "./chunk-VYYM3MEN.js";
|
|
4
|
+
import {
|
|
5
|
+
derivePersistedSchema
|
|
6
|
+
} from "./chunk-W22IKJE2.js";
|
|
7
|
+
import {
|
|
8
|
+
loadPersistedSchema
|
|
9
|
+
} from "./chunk-VZRODIM3.js";
|
|
10
|
+
import "./chunk-XDYREZWE.js";
|
|
11
|
+
import "./chunk-7DSTRQIJ.js";
|
|
12
|
+
import "./chunk-HB3RFQSC.js";
|
|
13
|
+
import "./chunk-JKJOGPZN.js";
|
|
14
|
+
import "./chunk-5M5DVGV7.js";
|
|
15
|
+
import "./chunk-LP7BEXCT.js";
|
|
16
|
+
import "./chunk-CIE2BASH.js";
|
|
17
|
+
import "./chunk-JNAI2HN2.js";
|
|
18
|
+
import "./chunk-BIOUI4HL.js";
|
|
19
|
+
import "./chunk-PZ5AY32C.js";
|
|
20
|
+
|
|
21
|
+
// src/with-shape/introspection/walk.ts
|
|
22
|
+
var INTERNAL_PREFIX = "_";
|
|
23
|
+
var KNOWN_INTERNAL_NAMES = ["_keyring", "_ledger", "_meta", "_schemas", "_deltas"];
|
|
24
|
+
async function dumpVaultSchema(vault, opts) {
|
|
25
|
+
const state = vault._introspectState();
|
|
26
|
+
const sampleSize = opts.sampleSize ?? 50;
|
|
27
|
+
const withStats = opts.withStats === true;
|
|
28
|
+
const cacheNames = [...state.collectionCache.keys()];
|
|
29
|
+
const storageNames = (await safeListAllCollections(state.adapter, state.name)).filter((n) => !n.startsWith(INTERNAL_PREFIX));
|
|
30
|
+
const allNames = Array.from(/* @__PURE__ */ new Set([...cacheNames, ...storageNames])).sort();
|
|
31
|
+
const collections = {};
|
|
32
|
+
for (const name of allNames) {
|
|
33
|
+
collections[name] = await describeCollection(state, name, sampleSize, withStats);
|
|
34
|
+
}
|
|
35
|
+
const materializedViews = describeMVs(state.mvRegistry);
|
|
36
|
+
const overlayViews = describeOverlays(state.overlayRegistry);
|
|
37
|
+
const derivations = describeDerivations(state.derivationRegistry);
|
|
38
|
+
let internal;
|
|
39
|
+
if (withStats) {
|
|
40
|
+
internal = {};
|
|
41
|
+
for (const name of KNOWN_INTERNAL_NAMES) {
|
|
42
|
+
const stats = await statsForCollection(state.adapter, state.name, name);
|
|
43
|
+
if (stats.records > 0) {
|
|
44
|
+
internal[name] = { records: stats.records, bytes: stats.bytes };
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
const snap = {
|
|
49
|
+
_noydb_snapshot: 1,
|
|
50
|
+
vault: state.name,
|
|
51
|
+
emittedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
52
|
+
subsystems: state.subsystems,
|
|
53
|
+
...state.vaultMeta !== void 0 ? { meta: state.vaultMeta } : {},
|
|
54
|
+
collections,
|
|
55
|
+
materializedViews,
|
|
56
|
+
overlayViews,
|
|
57
|
+
derivations,
|
|
58
|
+
...internal !== void 0 ? { internal } : {}
|
|
59
|
+
};
|
|
60
|
+
return snap;
|
|
61
|
+
}
|
|
62
|
+
async function safeListAllCollections(adapter, vault) {
|
|
63
|
+
try {
|
|
64
|
+
const snap = await adapter.loadAll(vault);
|
|
65
|
+
return Object.keys(snap);
|
|
66
|
+
} catch {
|
|
67
|
+
return [];
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
async function describeCollection(state, collectionName, sampleSize, withStats) {
|
|
71
|
+
let fields = {};
|
|
72
|
+
let validator;
|
|
73
|
+
const refsRaw = state.refRegistry.getOutbound(collectionName);
|
|
74
|
+
const refs = {};
|
|
75
|
+
for (const [name, desc] of Object.entries(refsRaw)) {
|
|
76
|
+
refs[name] = { target: desc.target, mode: desc.mode };
|
|
77
|
+
}
|
|
78
|
+
try {
|
|
79
|
+
const dek = await state.getDEK(collectionName);
|
|
80
|
+
const persisted = await loadPersistedSchema(state.adapter, state.name, collectionName, dek);
|
|
81
|
+
if (persisted) {
|
|
82
|
+
validator = { kind: persisted.kind, source: "persisted" };
|
|
83
|
+
if (persisted.jsonSchema) {
|
|
84
|
+
fields = jsonSchemaToFields(persisted.jsonSchema, "persisted", refsRaw);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
} catch {
|
|
88
|
+
}
|
|
89
|
+
const liveColl = state.collectionCache.get(collectionName);
|
|
90
|
+
if (!validator) {
|
|
91
|
+
const schema = liveColl?.getSchema();
|
|
92
|
+
if (schema) {
|
|
93
|
+
try {
|
|
94
|
+
const derived = await derivePersistedSchema(schema);
|
|
95
|
+
validator = { kind: derived.kind, source: "live-validator" };
|
|
96
|
+
if (derived.jsonSchema) {
|
|
97
|
+
fields = jsonSchemaToFields(derived.jsonSchema, "live-validator", refsRaw);
|
|
98
|
+
}
|
|
99
|
+
} catch {
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
if (Object.keys(fields).length === 0 && sampleSize > 0) {
|
|
104
|
+
}
|
|
105
|
+
const collMeta = liveColl?.getMeta();
|
|
106
|
+
const collConfig = liveColl?.getConfig();
|
|
107
|
+
const archivePresent = state.hasCollectionArchive?.(collectionName) === true;
|
|
108
|
+
const schemaUpdateNames = state.getCollectionSchemaUpdateNames?.(collectionName);
|
|
109
|
+
const hasSchemaUpdate = schemaUpdateNames !== void 0 && schemaUpdateNames.length > 0;
|
|
110
|
+
let mergedConfig;
|
|
111
|
+
if (collConfig !== void 0 || archivePresent || hasSchemaUpdate) {
|
|
112
|
+
mergedConfig = {
|
|
113
|
+
...collConfig ?? {},
|
|
114
|
+
...archivePresent ? { archive: true } : {},
|
|
115
|
+
...hasSchemaUpdate ? { schemaUpdate: schemaUpdateNames } : {}
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
const descriptor = {
|
|
119
|
+
fields,
|
|
120
|
+
indexes: [],
|
|
121
|
+
refs,
|
|
122
|
+
...validator ? { validator } : {},
|
|
123
|
+
...collMeta !== void 0 ? { meta: collMeta } : {},
|
|
124
|
+
...mergedConfig !== void 0 ? { config: mergedConfig } : {}
|
|
125
|
+
};
|
|
126
|
+
if (withStats) {
|
|
127
|
+
const stats = await statsForCollection(state.adapter, state.name, collectionName);
|
|
128
|
+
descriptor.stats = stats;
|
|
129
|
+
}
|
|
130
|
+
return descriptor;
|
|
131
|
+
}
|
|
132
|
+
async function statsForCollection(adapter, vault, collection) {
|
|
133
|
+
const ids = await adapter.list(vault, collection);
|
|
134
|
+
if (ids.length === 0) {
|
|
135
|
+
return { records: 0, bytes: 0, bytesAvg: 0, bytesMin: 0, bytesMax: 0, oldest: "", newest: "" };
|
|
136
|
+
}
|
|
137
|
+
let total = 0;
|
|
138
|
+
let min = Number.POSITIVE_INFINITY;
|
|
139
|
+
let max = 0;
|
|
140
|
+
let oldest = "\uFFFF";
|
|
141
|
+
let newest = "";
|
|
142
|
+
for (const id of ids) {
|
|
143
|
+
const env = await adapter.get(vault, collection, id);
|
|
144
|
+
if (!env) continue;
|
|
145
|
+
const size = env._data.length;
|
|
146
|
+
total += size;
|
|
147
|
+
if (size < min) min = size;
|
|
148
|
+
if (size > max) max = size;
|
|
149
|
+
if (env._ts < oldest) oldest = env._ts;
|
|
150
|
+
if (env._ts > newest) newest = env._ts;
|
|
151
|
+
}
|
|
152
|
+
return {
|
|
153
|
+
records: ids.length,
|
|
154
|
+
bytes: total,
|
|
155
|
+
bytesAvg: Math.round(total / ids.length),
|
|
156
|
+
bytesMin: min === Number.POSITIVE_INFINITY ? 0 : min,
|
|
157
|
+
bytesMax: max,
|
|
158
|
+
oldest: oldest === "\uFFFF" ? "" : oldest,
|
|
159
|
+
newest
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
function describeMVs(registry) {
|
|
163
|
+
if (!registry || typeof registry !== "object") return {};
|
|
164
|
+
const items = listFromRegistry(registry);
|
|
165
|
+
const out = {};
|
|
166
|
+
for (const item of items) {
|
|
167
|
+
const reg = item;
|
|
168
|
+
const spec = reg.spec;
|
|
169
|
+
if (!spec?.name) continue;
|
|
170
|
+
const sources = spec.unionSources ? spec.unionSources.map((u) => u.collection) : reg.dependencies ? [...reg.dependencies].sort() : [];
|
|
171
|
+
const groupBy = spec.groupBy ? Array.isArray(spec.groupBy) ? [...spec.groupBy] : [spec.groupBy] : void 0;
|
|
172
|
+
const aggregate = spec.aggregate ? Object.fromEntries(
|
|
173
|
+
Object.entries(spec.aggregate).map(([k, v]) => [k, summariseAggregateOp(v)])
|
|
174
|
+
) : void 0;
|
|
175
|
+
out[spec.name] = {
|
|
176
|
+
sources,
|
|
177
|
+
...groupBy ? { groupBy } : {},
|
|
178
|
+
...aggregate ? { aggregate } : {},
|
|
179
|
+
refresh: spec.refresh ?? "eager"
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
return out;
|
|
183
|
+
}
|
|
184
|
+
function describeOverlays(registry) {
|
|
185
|
+
if (!registry || typeof registry !== "object") return {};
|
|
186
|
+
const specs = listFromRegistry(registry);
|
|
187
|
+
const out = {};
|
|
188
|
+
for (const spec of specs) {
|
|
189
|
+
const s = spec;
|
|
190
|
+
if (!s.name || !s.base || !s.overlay) continue;
|
|
191
|
+
out[s.name] = { base: s.base, overlay: s.overlay };
|
|
192
|
+
}
|
|
193
|
+
return out;
|
|
194
|
+
}
|
|
195
|
+
function describeDerivations(registry) {
|
|
196
|
+
if (!registry || typeof registry !== "object") return {};
|
|
197
|
+
const items = listFromRegistry(registry);
|
|
198
|
+
const out = {};
|
|
199
|
+
for (const item of items) {
|
|
200
|
+
const reg = item;
|
|
201
|
+
const s = reg.spec ?? reg;
|
|
202
|
+
if (!s.source) continue;
|
|
203
|
+
const outputCollections = s.outputs ? Object.values(s.outputs).map((o) => o.collection) : [];
|
|
204
|
+
const key = outputCollections.length > 0 ? [...outputCollections].sort().join("+") : s.source;
|
|
205
|
+
out[key] = {
|
|
206
|
+
source: s.source,
|
|
207
|
+
outputs: outputCollections
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
return out;
|
|
211
|
+
}
|
|
212
|
+
function listFromRegistry(reg) {
|
|
213
|
+
for (const method of ["all", "list", "specs", "values"]) {
|
|
214
|
+
const fn = reg[method];
|
|
215
|
+
if (typeof fn === "function") {
|
|
216
|
+
try {
|
|
217
|
+
const out = fn.call(reg);
|
|
218
|
+
if (Array.isArray(out)) return out;
|
|
219
|
+
if (out && typeof out.values === "function") {
|
|
220
|
+
return [...out.values()];
|
|
221
|
+
}
|
|
222
|
+
} catch {
|
|
223
|
+
continue;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
return [];
|
|
228
|
+
}
|
|
229
|
+
function summariseAggregateOp(value) {
|
|
230
|
+
if (value && typeof value === "object") {
|
|
231
|
+
const op = value.op ?? value.kind;
|
|
232
|
+
const field = value.field;
|
|
233
|
+
if (op && field) return `${op}(${field})`;
|
|
234
|
+
if (op) return op;
|
|
235
|
+
}
|
|
236
|
+
return String(value);
|
|
237
|
+
}
|
|
238
|
+
export {
|
|
239
|
+
dumpVaultSchema
|
|
240
|
+
};
|
|
241
|
+
//# sourceMappingURL=walk-SVNDIZ62.js.map
|
package/dist/with/index.js
CHANGED
|
@@ -6,18 +6,18 @@ import {
|
|
|
6
6
|
assertCanImport,
|
|
7
7
|
canExport,
|
|
8
8
|
canImport
|
|
9
|
-
} from "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-
|
|
16
|
-
import "../chunk-
|
|
17
|
-
import "../chunk-VFQOE76I.js";
|
|
9
|
+
} from "../chunk-6QTNZJBS.js";
|
|
10
|
+
import "../chunk-J2ZX2XUV.js";
|
|
11
|
+
import "../chunk-4JBYV75E.js";
|
|
12
|
+
import "../chunk-XDYREZWE.js";
|
|
13
|
+
import "../chunk-7DSTRQIJ.js";
|
|
14
|
+
import "../chunk-HB3RFQSC.js";
|
|
15
|
+
import "../chunk-JKJOGPZN.js";
|
|
16
|
+
import "../chunk-5M5DVGV7.js";
|
|
18
17
|
import "../chunk-LP7BEXCT.js";
|
|
19
|
-
import "../chunk-
|
|
20
|
-
import "../chunk-
|
|
18
|
+
import "../chunk-CIE2BASH.js";
|
|
19
|
+
import "../chunk-JNAI2HN2.js";
|
|
20
|
+
import "../chunk-BIOUI4HL.js";
|
|
21
21
|
import "../chunk-PZ5AY32C.js";
|
|
22
22
|
export {
|
|
23
23
|
ServiceBus,
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { AttestationStrategy } from './strategy.js';
|
|
2
|
+
/**
|
|
3
|
+
* Enable the attestation capability.
|
|
4
|
+
* Pass to `createNoydb({ attestationStrategy: withAttestation() })` to make the
|
|
5
|
+
* vault's `issueAttestation` / `getDocumentSigningPublicKey` / `revokeAttestation`
|
|
6
|
+
* / `unrevokeAttestation` / `getRevokedDocIds` / `publishRevocationList` methods
|
|
7
|
+
* live. The issue/revoke/signer engines are dynamically imported here, so they
|
|
8
|
+
* stay out of the floor bundle until opted in.
|
|
9
|
+
*/
|
|
10
|
+
export declare function withAttestation(): AttestationStrategy;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @category capability
|
|
3
|
+
* Document attestation — issue side. Mint a signed, per-field commitment
|
|
4
|
+
* for a record and emit a QR credential verifiable offline via
|
|
5
|
+
* `@noy-db/attestation`. See docs/superpowers/specs/2026-05-29-attestation-core-and-issue-design.md.
|
|
6
|
+
*/
|
|
7
|
+
export { withAttestation } from './active.js';
|
|
8
|
+
export { NO_ATTESTATION, type AttestationStrategy } from './strategy.js';
|
|
9
|
+
export { AttestationNotEnabledError } from '../../kernel/errors.js';
|
|
10
|
+
export { issueAttestationCore } from './issue.js';
|
|
11
|
+
export type { IssueContext, IssueArgs, IssueResult } from './issue.js';
|
|
12
|
+
export { ATTESTATIONS_COLLECTION } from './signer.js';
|
|
13
|
+
export { revokeDocCore, unrevokeDocCore, getRevokedDocIdsCore, publishRevocationListCore } from './revoke.js';
|
|
14
|
+
export type { RevokeContext } from './revoke.js';
|
|
15
|
+
export { AttestationError } from '../../kernel/errors.js';
|
|
16
|
+
export { verifyAttestation, decodeQr, verifyRevocationList, isRevoked, signRevocationList, type QrPayload, type AttestationFieldSchema, type VerifyResult, type VerifyInput, type RevocationList } from '@noy-db/attestation';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { NoydbStore } from '../../kernel/types.js';
|
|
2
|
+
import { type EnclaveKey } from '../../kernel/enclave/index.js';
|
|
3
|
+
import { type AttestationFieldSchema, type QrPayload } from '@noy-db/attestation';
|
|
4
|
+
/** Everything issueAttestationCore needs from the Vault, injected for testability. */
|
|
5
|
+
export interface IssueContext {
|
|
6
|
+
readonly store: NoydbStore;
|
|
7
|
+
readonly vault: string;
|
|
8
|
+
readonly role: string;
|
|
9
|
+
/** The _attestations collection DEK (AES-KW-wrapped under KEK by the keyring). */
|
|
10
|
+
getDEK(): Promise<EnclaveKey>;
|
|
11
|
+
/** Decrypted source record + its envelope version, or null if absent. */
|
|
12
|
+
readRecord(collection: string, id: string): Promise<{
|
|
13
|
+
record: Record<string, unknown>;
|
|
14
|
+
version: number;
|
|
15
|
+
} | null>;
|
|
16
|
+
}
|
|
17
|
+
export interface IssueArgs {
|
|
18
|
+
readonly collection: string;
|
|
19
|
+
readonly id: string;
|
|
20
|
+
readonly fieldSchema: AttestationFieldSchema;
|
|
21
|
+
}
|
|
22
|
+
export interface IssueResult {
|
|
23
|
+
readonly docId: string;
|
|
24
|
+
readonly qr: string;
|
|
25
|
+
readonly payload: QrPayload;
|
|
26
|
+
readonly keyId: string;
|
|
27
|
+
readonly publicKeyB64: string;
|
|
28
|
+
}
|
|
29
|
+
export declare function issueAttestationCore(ctx: IssueContext, args: IssueArgs): Promise<IssueResult>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { NoydbStore } from '../../kernel/types.js';
|
|
2
|
+
import { type EnclaveKey } from '../../kernel/enclave/index.js';
|
|
3
|
+
import { type RevocationList } from '@noy-db/attestation';
|
|
4
|
+
/** Everything the revoke core needs from the Vault, injected for testability. */
|
|
5
|
+
export interface RevokeContext {
|
|
6
|
+
readonly store: NoydbStore;
|
|
7
|
+
readonly vault: string;
|
|
8
|
+
readonly role: string;
|
|
9
|
+
/** The _attestations collection DEK. */
|
|
10
|
+
getDEK(): Promise<EnclaveKey>;
|
|
11
|
+
}
|
|
12
|
+
export declare function revokeDocCore(ctx: RevokeContext, docId: string): Promise<void>;
|
|
13
|
+
export declare function unrevokeDocCore(ctx: RevokeContext, docId: string): Promise<void>;
|
|
14
|
+
export declare function getRevokedDocIdsCore(ctx: RevokeContext): Promise<string[]>;
|
|
15
|
+
export declare function publishRevocationListCore(ctx: RevokeContext): Promise<RevocationList>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { NoydbStore } from '../../kernel/types.js';
|
|
2
|
+
import { type EnclaveKey } from '../../kernel/enclave/index.js';
|
|
3
|
+
export declare const ATTESTATIONS_COLLECTION = "_attestations";
|
|
4
|
+
export declare const SIGNER_RECORD_ID = "_signer";
|
|
5
|
+
export declare const REVOKED_RECORD_ID = "_revoked";
|
|
6
|
+
export interface DocSigner {
|
|
7
|
+
readonly keyId: string;
|
|
8
|
+
readonly publicKeyB64: string;
|
|
9
|
+
readonly privateKeyPkcs8B64: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Pure read: return the firm's persisted document-signing keypair, or `null`
|
|
13
|
+
* if none has been minted yet. Never writes — callers that must NOT mint
|
|
14
|
+
* (e.g. an ungated public-key getter) use this instead of `loadOrCreateSigner`.
|
|
15
|
+
*
|
|
16
|
+
* Stored as an encrypted record `_attestations/_signer` under the
|
|
17
|
+
* `_attestations` collection DEK (resolved via `getDEK`, which is
|
|
18
|
+
* AES-KW-wrapped under the owner KEK + persisted by the keyring). The KEK
|
|
19
|
+
* itself is AES-KW-only and cannot AES-GCM-encrypt these bytes — hence
|
|
20
|
+
* storage under a normal collection DEK.
|
|
21
|
+
*/
|
|
22
|
+
export declare function loadSigner(store: NoydbStore, vault: string, getDEK: (collection: string) => Promise<EnclaveKey>): Promise<DocSigner | null>;
|
|
23
|
+
/**
|
|
24
|
+
* Lazily mint (or load) the firm's Ed25519 document-signing keypair.
|
|
25
|
+
*
|
|
26
|
+
* On a concurrent first-mint, two callers can both read `null` and both mint
|
|
27
|
+
* distinct keypairs. The `put(…, expectedVersion: 0)` ("must not already
|
|
28
|
+
* exist") lets exactly one win; the loser catches `ConflictError`, re-reads,
|
|
29
|
+
* and returns the winner's signer — converging on a single keypair rather than
|
|
30
|
+
* clobbering it or surfacing a raw conflict. (All real stores treat a missing
|
|
31
|
+
* record + `ev: 0` as a no-conflict write, so the catch fires on lost-race only.)
|
|
32
|
+
*/
|
|
33
|
+
export declare function loadOrCreateSigner(store: NoydbStore, vault: string, getDEK: (collection: string) => Promise<EnclaveKey>): Promise<DocSigner>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { NoydbStore } from '../../kernel/types.js';
|
|
2
|
+
import type { EnclaveKey } from '../../kernel/enclave/index.js';
|
|
3
|
+
import type { RevocationList } from '@noy-db/attestation';
|
|
4
|
+
import type { IssueContext, IssueArgs, IssueResult } from './issue.js';
|
|
5
|
+
import type { RevokeContext } from './revoke.js';
|
|
6
|
+
/**
|
|
7
|
+
* Deps the signing-public-key lookup needs. Unlike issue/revoke there is no
|
|
8
|
+
* per-call context object for it, so the vault facade assembles this at call
|
|
9
|
+
* time (reading `role` fresh).
|
|
10
|
+
*/
|
|
11
|
+
export interface SignerLookupDeps {
|
|
12
|
+
readonly adapter: NoydbStore;
|
|
13
|
+
readonly vault: string;
|
|
14
|
+
/** The invoking keyring's role, read fresh by the caller per call. */
|
|
15
|
+
readonly role: string;
|
|
16
|
+
/** Per-collection DEK resolver (bound `vault.getDEK`). */
|
|
17
|
+
readonly getDEK: (collection: string) => Promise<EnclaveKey>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Attestation capability strategy — the six on-demand methods the vault's
|
|
21
|
+
* attestation delegators route through. The active engine ({@link withAttestation})
|
|
22
|
+
* dynamically imports the issue/revoke/signer cores (keeping them out of the floor
|
|
23
|
+
* bundle); {@link NO_ATTESTATION} throws. The vault-side {@link VaultAttestation}
|
|
24
|
+
* facade holds the per-collection field-schema registry and builds the per-call
|
|
25
|
+
* contexts, then delegates here.
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
28
|
+
export interface AttestationStrategy {
|
|
29
|
+
issueAttestation(ctx: IssueContext, args: IssueArgs): Promise<IssueResult>;
|
|
30
|
+
getDocumentSigningPublicKey(deps: SignerLookupDeps): Promise<{
|
|
31
|
+
keyId: string;
|
|
32
|
+
publicKeyB64: string;
|
|
33
|
+
}>;
|
|
34
|
+
revokeAttestation(ctx: RevokeContext, docId: string): Promise<void>;
|
|
35
|
+
unrevokeAttestation(ctx: RevokeContext, docId: string): Promise<void>;
|
|
36
|
+
getRevokedDocIds(ctx: RevokeContext): Promise<string[]>;
|
|
37
|
+
publishRevocationList(ctx: RevokeContext): Promise<RevocationList>;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* No-op stub — the floor default. Every capability method throws
|
|
41
|
+
* {@link AttestationNotEnabledError}; opt in with
|
|
42
|
+
* `attestationStrategy: withAttestation()` in createNoydb. @internal
|
|
43
|
+
*/
|
|
44
|
+
export declare const NO_ATTESTATION: AttestationStrategy;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { NoydbStore } from '../../kernel/types.js';
|
|
2
|
+
import type { EnclaveKey } from '../../kernel/enclave/index.js';
|
|
3
|
+
import type { AttestationFieldSchema, RevocationList } from '@noy-db/attestation';
|
|
4
|
+
import type { AttestationStrategy } from './strategy.js';
|
|
5
|
+
export { NO_ATTESTATION, type AttestationStrategy } from './strategy.js';
|
|
6
|
+
/** Everything the moving attestation methods touched on the vault's `this.*`. */
|
|
7
|
+
export interface VaultAttestationDeps {
|
|
8
|
+
/** The ciphertext store. */
|
|
9
|
+
readonly adapter: NoydbStore;
|
|
10
|
+
/** Vault namespace name. */
|
|
11
|
+
readonly vault: string;
|
|
12
|
+
/** Per-collection DEK resolver (bound `vault.getDEK`). */
|
|
13
|
+
readonly getDEK: (collection: string) => Promise<EnclaveKey>;
|
|
14
|
+
/** The invoking keyring's role (read fresh per call). */
|
|
15
|
+
role(): string;
|
|
16
|
+
/** Decrypt a collection record at `locale: 'raw'` (issue side reads the live record). */
|
|
17
|
+
getRawRecord(collection: string, id: string): Promise<Record<string, unknown> | null>;
|
|
18
|
+
}
|
|
19
|
+
export declare class VaultAttestation {
|
|
20
|
+
private readonly deps;
|
|
21
|
+
/**
|
|
22
|
+
* Opt-in capability gate. `NO_ATTESTATION` when
|
|
23
|
+
* `createNoydb({ attestationStrategy })` was omitted — every issue/revoke/
|
|
24
|
+
* signer call then throws `AttestationNotEnabledError`. The facade always
|
|
25
|
+
* exists (it holds the per-collection field-schema registry populated at
|
|
26
|
+
* `collection()` time); only the capability methods are gated.
|
|
27
|
+
*/
|
|
28
|
+
private readonly strategy;
|
|
29
|
+
/**
|
|
30
|
+
* Per-collection attestation field-schema (issue side). Populated on
|
|
31
|
+
* `collection({ attestation })` via {@link register} and read by
|
|
32
|
+
* {@link issue}. Indexed by collection name.
|
|
33
|
+
*/
|
|
34
|
+
private readonly registry;
|
|
35
|
+
constructor(deps: VaultAttestationDeps,
|
|
36
|
+
/**
|
|
37
|
+
* Opt-in capability gate. `NO_ATTESTATION` when
|
|
38
|
+
* `createNoydb({ attestationStrategy })` was omitted — every issue/revoke/
|
|
39
|
+
* signer call then throws `AttestationNotEnabledError`. The facade always
|
|
40
|
+
* exists (it holds the per-collection field-schema registry populated at
|
|
41
|
+
* `collection()` time); only the capability methods are gated.
|
|
42
|
+
*/
|
|
43
|
+
strategy: AttestationStrategy);
|
|
44
|
+
/** Register a collection's attestation field-schema (from `vault.collection`). */
|
|
45
|
+
register(collection: string, schema: AttestationFieldSchema): void;
|
|
46
|
+
issue(collectionName: string, id: string): Promise<{
|
|
47
|
+
docId: string;
|
|
48
|
+
qr: string;
|
|
49
|
+
keyId: string;
|
|
50
|
+
publicKeyB64: string;
|
|
51
|
+
}>;
|
|
52
|
+
getDocumentSigningPublicKey(): Promise<{
|
|
53
|
+
keyId: string;
|
|
54
|
+
publicKeyB64: string;
|
|
55
|
+
}>;
|
|
56
|
+
private makeIssueContext;
|
|
57
|
+
revoke(docId: string): Promise<void>;
|
|
58
|
+
unrevoke(docId: string): Promise<void>;
|
|
59
|
+
getRevokedDocIds(): Promise<string[]>;
|
|
60
|
+
publishRevocationList(): Promise<RevocationList>;
|
|
61
|
+
private makeRevokeContext;
|
|
62
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Active consent strategy. Calling `withConsent()` returns a
|
|
3
|
+
* `ConsentStrategy` that delegates to the real
|
|
4
|
+
* `writeConsentEntry` / `loadConsentEntries` functions. Only
|
|
5
|
+
* reachable through the `@noy-db/hub/consent` subpath.
|
|
6
|
+
*/
|
|
7
|
+
import type { ConsentStrategy } from './strategy.js';
|
|
8
|
+
/**
|
|
9
|
+
* Build the default consent strategy. Pass into
|
|
10
|
+
* `createNoydb({ consentStrategy: withConsent() })` to enable
|
|
11
|
+
* per-operation audit writes into the reserved `_consent_audit`
|
|
12
|
+
* collection.
|
|
13
|
+
*/
|
|
14
|
+
export declare function withConsent(): ConsentStrategy;
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Consent boundaries — per-access audit log.
|
|
3
|
+
*
|
|
4
|
+
* ```ts
|
|
5
|
+
* const audit = await vault.withConsent(
|
|
6
|
+
* { purpose: 'quarterly-review', consentHash: '7f3a...' },
|
|
7
|
+
* async () => {
|
|
8
|
+
* const invoices = await vault.collection<Invoice>('invoices').list()
|
|
9
|
+
* return invoices
|
|
10
|
+
* },
|
|
11
|
+
* )
|
|
12
|
+
*
|
|
13
|
+
* const log = await vault.consentAudit({ since: '2026-01-01T00:00:00Z' })
|
|
14
|
+
* // → entries: { actor, purpose, consentHash, ts, op, collection, id }
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* ## Contract
|
|
18
|
+
*
|
|
19
|
+
* Every `get` / `put` / `delete` that happens inside a `withConsent`
|
|
20
|
+
* callback writes one entry to the reserved `_consent_audit`
|
|
21
|
+
* collection. Entries are encrypted with the vault's consent-audit
|
|
22
|
+
* DEK (separate from per-user-collection DEKs so access-log queries
|
|
23
|
+
* don't require unwrapping individual collection keys). Outside a
|
|
24
|
+
* `withConsent` scope, no entries are written — consent is
|
|
25
|
+
* opt-in by design (GDPR Art. 7: *demonstrable*, *specific*
|
|
26
|
+
* consent).
|
|
27
|
+
*
|
|
28
|
+
* ## Why store the hash, not the consent text?
|
|
29
|
+
*
|
|
30
|
+
* The `consentHash` is the sha256 of whatever consent receipt the
|
|
31
|
+
* actor presented (a signed GDPR banner click, a HIPAA authorisation
|
|
32
|
+
* PDF, an API-level `X-Consent-Hash` header). Storing only the hash:
|
|
33
|
+
*
|
|
34
|
+
* 1. Keeps the audit log small and indexable.
|
|
35
|
+
* 2. Preserves zero-knowledge at the adapter — adapters see
|
|
36
|
+
* ciphertext envelopes of `{ actor, purpose, consentHash, ts,
|
|
37
|
+
* op, collection, id }`, never the consent record itself.
|
|
38
|
+
* 3. Lets the regulator verify a presented consent doc matches
|
|
39
|
+
* the logged hash at audit time without the system ever
|
|
40
|
+
* possessing the doc.
|
|
41
|
+
*
|
|
42
|
+
* ## Concurrency
|
|
43
|
+
*
|
|
44
|
+
* The consent context lives on the {@link Vault} instance. Two
|
|
45
|
+
* concurrent `withConsent` calls on the same Vault would stomp each
|
|
46
|
+
* other — documented limitation; adopters needing per-flight scope
|
|
47
|
+
* should use separate Vault instances or an AsyncLocalStorage shim.
|
|
48
|
+
*
|
|
49
|
+
* @module
|
|
50
|
+
*/
|
|
51
|
+
import type { NoydbStore } from '../../kernel/types.js';
|
|
52
|
+
import { type EnclaveKey } from '../../kernel/enclave/index.js';
|
|
53
|
+
/** Reserved collection for consent-audit entries. */
|
|
54
|
+
export declare const CONSENT_AUDIT_COLLECTION = "_consent_audit";
|
|
55
|
+
/**
|
|
56
|
+
* The consent scope active for a block of work. Set via
|
|
57
|
+
* `vault.withConsent()`; observed by the collection's access hooks.
|
|
58
|
+
*/
|
|
59
|
+
export interface ConsentContext {
|
|
60
|
+
/**
|
|
61
|
+
* What this access is for. Used by the audit query (`consentAudit
|
|
62
|
+
* ({ purpose })`) and carried in the stored entry. Free-form; the
|
|
63
|
+
* regulator or compliance tooling decides the vocabulary.
|
|
64
|
+
*/
|
|
65
|
+
readonly purpose: string;
|
|
66
|
+
/**
|
|
67
|
+
* Hex-encoded sha256 of whatever consent artefact the actor
|
|
68
|
+
* presented. Stored as-is in each entry.
|
|
69
|
+
*/
|
|
70
|
+
readonly consentHash: string;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Access operation recorded in an audit entry.
|
|
74
|
+
*
|
|
75
|
+
* Union-widening checklist (I-2) — these three sites widen together or a
|
|
76
|
+
* downstream exhaustive switch breaks at its next in-range minor:
|
|
77
|
+
* 1. `ConsentOp` here (public, re-exported at `index.ts`).
|
|
78
|
+
* 2. `onAccess` op union on `kernel/collection-config.ts`.
|
|
79
|
+
* 3. classified ctx `onAccess` op union on `port/with/classified-strategy.ts`
|
|
80
|
+
* (the `ClassifiedVerifyCtx` one — the `ClassifiedRevealCtx` one stays `'reveal'`-only).
|
|
81
|
+
*/
|
|
82
|
+
export type ConsentOp = 'get' | 'put' | 'delete' | 'reveal' | 'verify' | 'find';
|
|
83
|
+
/** One consent-audit record, as decrypted for the caller. */
|
|
84
|
+
export interface ConsentAuditEntry {
|
|
85
|
+
/** ULID — stable insertion-order key. */
|
|
86
|
+
readonly id: string;
|
|
87
|
+
readonly timestamp: string;
|
|
88
|
+
readonly actor: string;
|
|
89
|
+
readonly purpose: string;
|
|
90
|
+
readonly consentHash: string;
|
|
91
|
+
readonly op: ConsentOp;
|
|
92
|
+
readonly collection: string;
|
|
93
|
+
readonly recordId: string;
|
|
94
|
+
}
|
|
95
|
+
/** Filter passed to `vault.consentAudit()`. */
|
|
96
|
+
export interface ConsentAuditFilter {
|
|
97
|
+
/** Only entries at or after this ISO timestamp. */
|
|
98
|
+
readonly since?: string;
|
|
99
|
+
/** Only entries at or before this ISO timestamp. */
|
|
100
|
+
readonly until?: string;
|
|
101
|
+
/** Match entries targeting this collection. */
|
|
102
|
+
readonly collection?: string;
|
|
103
|
+
/** Match entries written by this actor. */
|
|
104
|
+
readonly actor?: string;
|
|
105
|
+
/** Match entries with this purpose. */
|
|
106
|
+
readonly purpose?: string;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Write one audit entry. Called by Vault's onAccess hook when a
|
|
110
|
+
* consent context is active.
|
|
111
|
+
*/
|
|
112
|
+
export declare function writeConsentEntry(adapter: NoydbStore, vault: string, encrypted: boolean, entry: Omit<ConsentAuditEntry, 'id' | 'timestamp'>, getDEK: (collection: string) => Promise<EnclaveKey>): Promise<void>;
|
|
113
|
+
/** Load + decrypt + filter all entries. */
|
|
114
|
+
export declare function loadConsentEntries(adapter: NoydbStore, vault: string, encrypted: boolean, getDEK: (collection: string) => Promise<EnclaveKey>, filter?: ConsentAuditFilter): Promise<ConsentAuditEntry[]>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @noy-db/hub/consent — opt-in consent-audit service.
|
|
3
|
+
*
|
|
4
|
+
* @category capability
|
|
5
|
+
*
|
|
6
|
+
* Records per-operation consent entries into a reserved
|
|
7
|
+
* `_consent_audit` collection when a consent scope is active.
|
|
8
|
+
* Applications that don't need GDPR-style audit trails can omit this
|
|
9
|
+
* subpath and skip the ~194 LOC.
|
|
10
|
+
*/
|
|
11
|
+
export { withConsent } from './active.js';
|
|
12
|
+
export type { ConsentStrategy } from './strategy.js';
|
|
13
|
+
export { CONSENT_AUDIT_COLLECTION, writeConsentEntry, loadConsentEntries, } from './consent.js';
|
|
14
|
+
export type { ConsentContext, ConsentOp, ConsentAuditEntry, ConsentAuditFilter, } from './consent.js';
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strategy seam for the optional consent-audit service. Core
|
|
3
|
+
* imports `ConsentStrategy` as a TYPE-ONLY symbol and `NO_CONSENT`
|
|
4
|
+
* as a tiny runtime stub.
|
|
5
|
+
*
|
|
6
|
+
* `writeConsentEntry` / `loadConsentEntries` are only reachable from
|
|
7
|
+
* `withConsent()` in `./active.ts`, exported through
|
|
8
|
+
* `@noy-db/hub/consent`. Applications without a consent scope ship
|
|
9
|
+
* none of the ~194 LOC.
|
|
10
|
+
*
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
import type { NoydbStore } from '../../kernel/types.js';
|
|
14
|
+
import type { EnclaveKey } from '../../kernel/enclave/index.js';
|
|
15
|
+
import type { ConsentAuditEntry, ConsentAuditFilter } from './consent.js';
|
|
16
|
+
/**
|
|
17
|
+
* @internal
|
|
18
|
+
*/
|
|
19
|
+
export interface ConsentStrategy {
|
|
20
|
+
/**
|
|
21
|
+
* Record one consent audit entry. No-op under NO_CONSENT.
|
|
22
|
+
*/
|
|
23
|
+
write(adapter: NoydbStore, vault: string, encrypted: boolean, entry: Omit<ConsentAuditEntry, 'id' | 'timestamp'>, getDEK: (collectionName: string) => Promise<EnclaveKey>): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Read filtered consent entries. Returns `[]` under NO_CONSENT.
|
|
26
|
+
*/
|
|
27
|
+
read(adapter: NoydbStore, vault: string, encrypted: boolean, getDEK: (collectionName: string) => Promise<EnclaveKey>, filter?: ConsentAuditFilter): Promise<ConsentAuditEntry[]>;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* No-consent stub. `write` is a no-op (returns a resolved promise);
|
|
31
|
+
* `read` returns `[]`. Consumers get a consistent API surface without
|
|
32
|
+
* pulling the consent module into the bundle.
|
|
33
|
+
*
|
|
34
|
+
* @internal
|
|
35
|
+
*/
|
|
36
|
+
export declare const NO_CONSENT: ConsentStrategy;
|