@noy-db/hub 0.3.0-pre.9 → 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 +5 -5
- 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 -32
- 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-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-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-ZUODRVHY.js +14 -0
- package/dist/classified/index.js +5 -5
- 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 -12
- 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 +21 -19
- package/dist/i18n/index.js.map +1 -1
- package/dist/index.d.ts +307 -1493
- package/dist/index.js +309 -190
- 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 -17
- 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 +7 -7
- 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 -4
- package/dist/adapter/index.js +0 -15
- package/dist/aggregate/index.d.ts +0 -41
- package/dist/api-HV4PDUWF.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-ODXO7OGA.js +0 -225
- package/dist/backup-ODXO7OGA.js.map +0 -1
- package/dist/blobs/index.d.ts +0 -43
- package/dist/bundle/index.d.ts +0 -121
- package/dist/bundle-DlSxo31R.d.ts +0 -548
- package/dist/by/index.d.ts +0 -1
- package/dist/cargo/index.d.ts +0 -8
- package/dist/chunk-2644KEGW.js +0 -247
- package/dist/chunk-2644KEGW.js.map +0 -1
- package/dist/chunk-2HVUKRNE.js +0 -21
- package/dist/chunk-2KOSJTMU.js +0 -69
- package/dist/chunk-2UQ4RMHV.js +0 -167
- package/dist/chunk-2UQ4RMHV.js.map +0 -1
- package/dist/chunk-2XE6LIXT.js +0 -515
- package/dist/chunk-2XE6LIXT.js.map +0 -1
- package/dist/chunk-34RRRIC3.js +0 -71
- package/dist/chunk-3C5CKXFI.js +0 -621
- package/dist/chunk-3C5CKXFI.js.map +0 -1
- package/dist/chunk-3I4KYWNP.js +0 -30
- package/dist/chunk-42KVY3OC.js +0 -86
- package/dist/chunk-4C4WBS4V.js +0 -13822
- package/dist/chunk-4C4WBS4V.js.map +0 -1
- package/dist/chunk-4G3IT7J7.js +0 -280
- package/dist/chunk-4G3IT7J7.js.map +0 -1
- package/dist/chunk-4RQ62VSR.js +0 -53
- package/dist/chunk-4RQ62VSR.js.map +0 -1
- package/dist/chunk-4ZSGSRBI.js +0 -1221
- package/dist/chunk-4ZSGSRBI.js.map +0 -1
- package/dist/chunk-5GAX2QOH.js +0 -132
- package/dist/chunk-5GAX2QOH.js.map +0 -1
- package/dist/chunk-5SAZMBW7.js +0 -202
- package/dist/chunk-5TZZUL5X.js +0 -30
- package/dist/chunk-6CU3FN74.js +0 -777
- package/dist/chunk-6G2SCQYS.js +0 -29
- package/dist/chunk-6G2SCQYS.js.map +0 -1
- package/dist/chunk-6MWUANRF.js +0 -29
- package/dist/chunk-6S7T6WC4.js +0 -111
- package/dist/chunk-6S7T6WC4.js.map +0 -1
- package/dist/chunk-6ULCYCMU.js +0 -74
- package/dist/chunk-7HAPHVRJ.js +0 -1695
- package/dist/chunk-7HAPHVRJ.js.map +0 -1
- package/dist/chunk-7IZQTCTR.js +0 -382
- package/dist/chunk-7ZANJ6JZ.js +0 -265
- package/dist/chunk-7ZANJ6JZ.js.map +0 -1
- package/dist/chunk-A2APWS32.js +0 -150
- package/dist/chunk-A2APWS32.js.map +0 -1
- package/dist/chunk-A4MAD6PO.js +0 -99
- package/dist/chunk-ANDBBA2P.js +0 -36
- package/dist/chunk-ANDBBA2P.js.map +0 -1
- package/dist/chunk-AUR7MRHA.js +0 -404
- package/dist/chunk-AYGZMQP5.js +0 -75
- package/dist/chunk-BGIZAFY7.js +0 -1
- package/dist/chunk-CJEMA2Z6.js +0 -230
- package/dist/chunk-CTSFKDGA.js +0 -40
- package/dist/chunk-CU62BBRB.js +0 -1465
- package/dist/chunk-CU62BBRB.js.map +0 -1
- package/dist/chunk-CWCCYH34.js +0 -23
- package/dist/chunk-DEYAO3N6.js +0 -589
- package/dist/chunk-DFIBOSOQ.js +0 -85
- package/dist/chunk-E5AHO65E.js +0 -150
- package/dist/chunk-FC3XK5JT.js +0 -99
- package/dist/chunk-FGOGS7CE.js +0 -662
- package/dist/chunk-FGOGS7CE.js.map +0 -1
- package/dist/chunk-GX2BYNCT.js +0 -117
- package/dist/chunk-GZ2MOPVX.js +0 -291
- package/dist/chunk-GZ2MOPVX.js.map +0 -1
- package/dist/chunk-H57P2SJB.js +0 -126
- package/dist/chunk-H57P2SJB.js.map +0 -1
- package/dist/chunk-HBTT7YQX.js +0 -94
- package/dist/chunk-HOCEGVGQ.js +0 -36
- package/dist/chunk-ICV32FPK.js +0 -50
- package/dist/chunk-IIP5WFVT.js +0 -462
- package/dist/chunk-IIP5WFVT.js.map +0 -1
- package/dist/chunk-IUKGIB2Q.js +0 -91
- package/dist/chunk-IWTYFS3D.js +0 -129
- package/dist/chunk-JC5R7P44.js +0 -355
- package/dist/chunk-JC5R7P44.js.map +0 -1
- package/dist/chunk-K2WCO3NX.js +0 -1
- package/dist/chunk-KBBWY46Y.js +0 -14
- package/dist/chunk-KBF5GSGX.js +0 -367
- package/dist/chunk-KCG3BHFG.js +0 -99
- package/dist/chunk-KCG3BHFG.js.map +0 -1
- package/dist/chunk-KNXN47MO.js +0 -155
- package/dist/chunk-KWLD2D75.js +0 -38
- package/dist/chunk-KXKLKJW4.js +0 -49
- package/dist/chunk-KYC4LIEU.js +0 -123
- package/dist/chunk-LEOXZY36.js +0 -130
- package/dist/chunk-M5I354EE.js +0 -235
- package/dist/chunk-MK2BSS44.js +0 -34
- package/dist/chunk-MSVY7ULZ.js +0 -70
- package/dist/chunk-NNWK3PSY.js +0 -135
- package/dist/chunk-NSZ6J5DF.js +0 -59
- package/dist/chunk-NUEFXLZU.js +0 -59
- package/dist/chunk-NYVQCZ54.js +0 -261
- package/dist/chunk-OQAODTYR.js +0 -45
- package/dist/chunk-OV4CMJGR.js +0 -164
- package/dist/chunk-PEDZFFKW.js +0 -41
- package/dist/chunk-PF3FQCCF.js +0 -164
- package/dist/chunk-PF3FQCCF.js.map +0 -1
- package/dist/chunk-Q2KVKTC2.js +0 -823
- package/dist/chunk-QJR3W3MF.js +0 -23
- package/dist/chunk-QJR3W3MF.js.map +0 -1
- package/dist/chunk-QTXQ6RNZ.js +0 -255
- package/dist/chunk-RJ5522XX.js +0 -453
- package/dist/chunk-RJ5522XX.js.map +0 -1
- package/dist/chunk-RMUXPHIH.js +0 -930
- package/dist/chunk-RMUXPHIH.js.map +0 -1
- package/dist/chunk-S6AQXDN4.js +0 -155
- package/dist/chunk-SSFC3IYA.js +0 -275
- package/dist/chunk-SSFC3IYA.js.map +0 -1
- package/dist/chunk-SZCHEDML.js +0 -209
- package/dist/chunk-TDPEJINP.js +0 -188
- package/dist/chunk-TDPEJINP.js.map +0 -1
- package/dist/chunk-TQ3REHVF.js +0 -95
- package/dist/chunk-TQ3REHVF.js.map +0 -1
- package/dist/chunk-UNJU345Q.js +0 -32
- package/dist/chunk-UNJU345Q.js.map +0 -1
- package/dist/chunk-V7RNIND6.js +0 -265
- package/dist/chunk-V7RNIND6.js.map +0 -1
- package/dist/chunk-VJ3NQK4K.js +0 -205
- package/dist/chunk-WNA6T3MA.js +0 -686
- package/dist/chunk-WNA6T3MA.js.map +0 -1
- package/dist/chunk-WVCQ75OK.js +0 -124
- package/dist/chunk-X66MXMR5.js +0 -42
- package/dist/chunk-XHD3L3JO.js +0 -930
- package/dist/chunk-XHD3L3JO.js.map +0 -1
- package/dist/chunk-XJK2WIYN.js +0 -430
- package/dist/chunk-XJK2WIYN.js.map +0 -1
- package/dist/chunk-XQ7UYPVN.js +0 -95
- package/dist/chunk-Y2OCKFZ3.js +0 -80
- package/dist/chunk-YBFOBRTO.js +0 -367
- package/dist/chunk-YLN33ADH.js +0 -97
- package/dist/chunk-Z5YFRMG5.js +0 -45
- package/dist/chunk-ZWQFOXBR.js +0 -54
- package/dist/classified/index.d.ts +0 -16
- package/dist/classified-marker-IO5EBW7Q.js +0 -24
- package/dist/classified-marker-IO5EBW7Q.js.map +0 -1
- package/dist/collection-facade-3RAXG2OU.js +0 -38
- package/dist/computed-R62HGCO4.js +0 -11
- package/dist/consent/index.d.ts +0 -22
- package/dist/crdt/index.d.ts +0 -33
- package/dist/dead-filter-VNA4M3GP.js +0 -28
- package/dist/decrypt-partition-IHtxEnTi.d.ts +0 -21
- package/dist/delegation-ZKII5UBI.js +0 -25
- package/dist/derivations/index.d.ts +0 -69
- package/dist/derive-5D2C3WG4.js +0 -21
- package/dist/describe/index.d.ts +0 -4
- package/dist/describe/index.js +0 -1
- package/dist/dev-unlock-DDTafVO6.d.ts +0 -263
- package/dist/discriminant-BN9REW3o.d.ts +0 -60
- package/dist/enclave-EUBEJGPG.js +0 -125
- package/dist/executor-IL7SRNUZ.js +0 -23
- package/dist/executor-OUA2Y6YC.js +0 -9
- package/dist/executor-WAEI6PDV.js +0 -9
- package/dist/export-accessible-O55RKAGC.js +0 -23
- package/dist/extract-partition-VBGCBA6Q.js +0 -36
- package/dist/fanout-sidecar-CI5BCMQM.js +0 -74
- package/dist/find-FISGUWSK.js +0 -11
- package/dist/forget/index.d.ts +0 -36
- package/dist/guards/index.d.ts +0 -34
- package/dist/hash-DBkZfIBW.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-CyclmyDr.d.ts +0 -122
- package/dist/index-DzhNI2vE.d.ts +0 -23260
- package/dist/indexing/index.d.ts +0 -38
- package/dist/issue-EQAWIYFQ.js +0 -19
- package/dist/kernel/index.d.ts +0 -31
- package/dist/kernel/index.js +0 -60
- package/dist/lazy/index.d.ts +0 -20
- package/dist/ledger-AJA2SR3C.js +0 -42
- package/dist/liberate-SEGR4JLY.js +0 -24
- package/dist/link-set-YBAC2DQT.js +0 -31
- package/dist/materialized-views/index.d.ts +0 -182
- package/dist/mime-magic-CbV1quyp.d.ts +0 -103
- package/dist/noydb-AMEOU456.js +0 -65
- 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-SDGRWVIL.js +0 -41
- package/dist/portability/index.d.ts +0 -19
- package/dist/post-register-MROIUA5O.js +0 -55
- package/dist/post-register-MROIUA5O.js.map +0 -1
- package/dist/public-envelope-J5PLQOW2.js +0 -32
- package/dist/query/index.d.ts +0 -4
- package/dist/read-only-facade-UCYNRE56.js +0 -8
- package/dist/register-OVJKW7BS.js +0 -23
- package/dist/registry-5RJSK5AJ.js +0 -9
- package/dist/registry-DQRNTWRL.js +0 -18
- package/dist/registry-LTGLERS7.js +0 -19
- package/dist/request-withdrawal-27O77D2V.js +0 -31
- package/dist/reveal-LT3I2K4P.js +0 -38
- package/dist/reveal-LT3I2K4P.js.map +0 -1
- package/dist/revoke-4N45G7D2.js +0 -24
- package/dist/revoke-4N45G7D2.js.map +0 -1
- 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-XJCOV7JD.js +0 -25
- package/dist/signer-XJCOV7JD.js.map +0 -1
- package/dist/snapshots/index.d.ts +0 -25
- package/dist/stale-IYYXEH3U.js +0 -14
- package/dist/stale-IYYXEH3U.js.map +0 -1
- package/dist/storage-Y44CAPE6.js +0 -23
- package/dist/storage-Y44CAPE6.js.map +0 -1
- package/dist/store-coordination-provider-WKGAE2WI.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-BOUkzQU4.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-B3SalxlJ.d.ts +0 -101
- package/dist/vault-diff-Dt9NkLzw.d.ts +0 -147
- package/dist/verify-GH6CWVSW.js +0 -139
- package/dist/verify-GH6CWVSW.js.map +0 -1
- package/dist/walk-76UCFXYV.js +0 -241
- package/dist/with/index.d.ts +0 -37
- package/dist/with-materialized-view-BP33v1Z6.d.ts +0 -27
- package/dist/with-overlayed-view-DntFpOKN.d.ts +0 -12
- package/dist/with-rollup-ClCHO6-4.d.ts +0 -47
- package/dist/withdraw-accessible-6J2UH3IN.js +0 -28
- package/dist/withdraw-accessible-6J2UH3IN.js.map +0 -1
- /package/dist/{adapter/index.js.map → api-ZGS6LCOF.js.map} +0 -0
- /package/dist/{chunk-34RRRIC3.js.map → chunk-3B5VVCNY.js.map} +0 -0
- /package/dist/{chunk-CJEMA2Z6.js.map → chunk-3LQ2YKO4.js.map} +0 -0
- /package/dist/{chunk-ZWQFOXBR.js.map → chunk-3QCRBHCY.js.map} +0 -0
- /package/dist/{chunk-E5AHO65E.js.map → chunk-4JBYV75E.js.map} +0 -0
- /package/dist/{chunk-YLN33ADH.js.map → chunk-4NXKCLLQ.js.map} +0 -0
- /package/dist/{chunk-2KOSJTMU.js.map → chunk-5M5DVGV7.js.map} +0 -0
- /package/dist/{chunk-3I4KYWNP.js.map → chunk-5YOLBEQ6.js.map} +0 -0
- /package/dist/{chunk-IWTYFS3D.js.map → chunk-6CRIV7DE.js.map} +0 -0
- /package/dist/{chunk-QTXQ6RNZ.js.map → chunk-6QTNZJBS.js.map} +0 -0
- /package/dist/{chunk-42KVY3OC.js.map → chunk-6T2SCQRU.js.map} +0 -0
- /package/dist/{chunk-Z5YFRMG5.js.map → chunk-7DSTRQIJ.js.map} +0 -0
- /package/dist/{chunk-DEYAO3N6.js.map → chunk-AUSTCW2X.js.map} +0 -0
- /package/dist/{chunk-SZCHEDML.js.map → chunk-B3HJYUOF.js.map} +0 -0
- /package/dist/{chunk-OV4CMJGR.js.map → chunk-BDVFPG6Y.js.map} +0 -0
- /package/dist/{chunk-HOCEGVGQ.js.map → chunk-CAF6WOK7.js.map} +0 -0
- /package/dist/{chunk-AUR7MRHA.js.map → chunk-CIE2BASH.js.map} +0 -0
- /package/dist/{chunk-X66MXMR5.js.map → chunk-CRI4OUV4.js.map} +0 -0
- /package/dist/{chunk-IUKGIB2Q.js.map → chunk-DLG74CNB.js.map} +0 -0
- /package/dist/{chunk-YBFOBRTO.js.map → chunk-ERJ7FU55.js.map} +0 -0
- /package/dist/{chunk-VJ3NQK4K.js.map → chunk-EVVGJDRQ.js.map} +0 -0
- /package/dist/{chunk-NSZ6J5DF.js.map → chunk-EXK7QRWF.js.map} +0 -0
- /package/dist/{chunk-5SAZMBW7.js.map → chunk-EYZ6IQ6X.js.map} +0 -0
- /package/dist/{chunk-OQAODTYR.js.map → chunk-F64IRYG3.js.map} +0 -0
- /package/dist/{chunk-Q2KVKTC2.js.map → chunk-FHS2HQSH.js.map} +0 -0
- /package/dist/{chunk-Y2OCKFZ3.js.map → chunk-GKEWXIV5.js.map} +0 -0
- /package/dist/{chunk-NUEFXLZU.js.map → chunk-GTGPO5KW.js.map} +0 -0
- /package/dist/{chunk-XQ7UYPVN.js.map → chunk-HB3RFQSC.js.map} +0 -0
- /package/dist/{chunk-FC3XK5JT.js.map → chunk-I6GALP6E.js.map} +0 -0
- /package/dist/{chunk-LEOXZY36.js.map → chunk-IL6POWCW.js.map} +0 -0
- /package/dist/{chunk-GX2BYNCT.js.map → chunk-IU6SNYX6.js.map} +0 -0
- /package/dist/{chunk-6CU3FN74.js.map → chunk-J2ZX2XUV.js.map} +0 -0
- /package/dist/{chunk-6MWUANRF.js.map → chunk-JKJOGPZN.js.map} +0 -0
- /package/dist/{chunk-PEDZFFKW.js.map → chunk-JZUV47FZ.js.map} +0 -0
- /package/dist/{chunk-5TZZUL5X.js.map → chunk-K5IMOGHB.js.map} +0 -0
- /package/dist/{chunk-7IZQTCTR.js.map → chunk-LASZKVMO.js.map} +0 -0
- /package/dist/{chunk-NNWK3PSY.js.map → chunk-NR5LT5RY.js.map} +0 -0
- /package/dist/{chunk-NYVQCZ54.js.map → chunk-NWSGI5C7.js.map} +0 -0
- /package/dist/{chunk-MSVY7ULZ.js.map → chunk-Q5VNKNE5.js.map} +0 -0
- /package/dist/{chunk-2HVUKRNE.js.map → chunk-QLWMEXCT.js.map} +0 -0
- /package/dist/{chunk-KYC4LIEU.js.map → chunk-QRB7NAOJ.js.map} +0 -0
- /package/dist/{chunk-6ULCYCMU.js.map → chunk-R4ROFEYC.js.map} +0 -0
- /package/dist/{chunk-KBF5GSGX.js.map → chunk-RIX4V2TB.js.map} +0 -0
- /package/dist/{chunk-CTSFKDGA.js.map → chunk-RYCTDFUX.js.map} +0 -0
- /package/dist/{chunk-S6AQXDN4.js.map → chunk-RZ5SVOYR.js.map} +0 -0
- /package/dist/{chunk-A4MAD6PO.js.map → chunk-SLFHQTTW.js.map} +0 -0
- /package/dist/{chunk-AYGZMQP5.js.map → chunk-T2FFWNPK.js.map} +0 -0
- /package/dist/{chunk-CWCCYH34.js.map → chunk-UNFPPVNI.js.map} +0 -0
- /package/dist/{chunk-M5I354EE.js.map → chunk-VLFCJYTL.js.map} +0 -0
- /package/dist/{chunk-WVCQ75OK.js.map → chunk-VN3DBQAU.js.map} +0 -0
- /package/dist/{chunk-KXKLKJW4.js.map → chunk-VZRODIM3.js.map} +0 -0
- /package/dist/{chunk-HBTT7YQX.js.map → chunk-W22IKJE2.js.map} +0 -0
- /package/dist/{chunk-KNXN47MO.js.map → chunk-X3YYQWOQ.js.map} +0 -0
- /package/dist/{chunk-DFIBOSOQ.js.map → chunk-YFXZEAYK.js.map} +0 -0
- /package/dist/{chunk-ICV32FPK.js.map → chunk-ZAJAVEXY.js.map} +0 -0
- /package/dist/{chunk-MK2BSS44.js.map → chunk-ZICD77GM.js.map} +0 -0
- /package/dist/{chunk-KWLD2D75.js.map → chunk-ZJ2AK4V7.js.map} +0 -0
- /package/dist/{chunk-KBBWY46Y.js.map → chunk-ZUODRVHY.js.map} +0 -0
- /package/dist/{api-HV4PDUWF.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-VNA4M3GP.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-3RAXG2OU.js.map → derive-H2BJTLUI.js.map} +0 -0
- /package/dist/{computed-R62HGCO4.js.map → enclave-AP3I5W7O.js.map} +0 -0
- /package/dist/{delegation-ZKII5UBI.js.map → executor-KGWTNEQD.js.map} +0 -0
- /package/dist/{derive-5D2C3WG4.js.map → executor-OVEXR6RT.js.map} +0 -0
- /package/dist/{describe/index.js.map → executor-UNEH5ZYH.js.map} +0 -0
- /package/dist/{enclave-EUBEJGPG.js.map → export-accessible-PCMXSUZS.js.map} +0 -0
- /package/dist/{executor-IL7SRNUZ.js.map → extract-partition-SWHFSYJO.js.map} +0 -0
- /package/dist/{fanout-sidecar-CI5BCMQM.js.map → fanout-sidecar-A765THMX.js.map} +0 -0
- /package/dist/{executor-OUA2Y6YC.js.map → find-N6345CNT.js.map} +0 -0
- /package/dist/{executor-WAEI6PDV.js.map → issue-5OKB6I2R.js.map} +0 -0
- /package/dist/{export-accessible-O55RKAGC.js.map → ledger-GFBKVPV4.js.map} +0 -0
- /package/dist/{extract-partition-VBGCBA6Q.js.map → liberate-3VDOT4KO.js.map} +0 -0
- /package/dist/{find-FISGUWSK.js.map → link-set-Z7Q2ASFX.js.map} +0 -0
- /package/dist/{issue-EQAWIYFQ.js.map → noydb-ZCJOYBDI.js.map} +0 -0
- /package/dist/{kernel/index.js.map → policy-Z3RUAIY2.js.map} +0 -0
- /package/dist/{ledger-AJA2SR3C.js.map → public-envelope-B4KNWVUA.js.map} +0 -0
- /package/dist/{liberate-SEGR4JLY.js.map → read-only-facade-CHCKSEPD.js.map} +0 -0
- /package/dist/{link-set-YBAC2DQT.js.map → register-VAHONCID.js.map} +0 -0
- /package/dist/{noydb-AMEOU456.js.map → registry-7MLVD3VO.js.map} +0 -0
- /package/dist/{policy-SDGRWVIL.js.map → registry-EPKPD5SM.js.map} +0 -0
- /package/dist/{public-envelope-J5PLQOW2.js.map → registry-P5T7PS2U.js.map} +0 -0
- /package/dist/{read-only-facade-UCYNRE56.js.map → request-withdrawal-TI3A5WPS.js.map} +0 -0
- /package/dist/{register-OVJKW7BS.js.map → revoke-FDRD6GRW.js.map} +0 -0
- /package/dist/{registry-5RJSK5AJ.js.map → signer-MUWEIUI6.js.map} +0 -0
- /package/dist/{registry-DQRNTWRL.js.map → stale-OSQ7J3AA.js.map} +0 -0
- /package/dist/{registry-LTGLERS7.js.map → storage-MVFCGEQE.js.map} +0 -0
- /package/dist/{store-coordination-provider-WKGAE2WI.js.map → store-coordination-provider-64OEZFGS.js.map} +0 -0
- /package/dist/{walk-76UCFXYV.js.map → walk-SVNDIZ62.js.map} +0 -0
- /package/dist/{request-withdrawal-27O77D2V.js.map → withdraw-accessible-WZIEVWSR.js.map} +0 -0
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types for {@link VaultSchemaSnapshot} — the structured object returned
|
|
3
|
+
* by `vault.dumpSchema()`. Consumed by the upcoming `noydb describe`
|
|
4
|
+
* CLI to emit human-readable YAML/JSON audit output.
|
|
5
|
+
*
|
|
6
|
+
* @see docs/superpowers/specs/2026-05-22-schema-dump-design.md
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
import type { PersistedSchemaKind } from '../persisted-schemas/types.js';
|
|
11
|
+
import type { Permission } from '../../kernel/types.js';
|
|
12
|
+
import type { CollectionMeta, VaultMeta } from './meta.js';
|
|
13
|
+
/** Flat snapshot of a vault's registered schema. */
|
|
14
|
+
export interface SchemaIntrospection {
|
|
15
|
+
readonly collections: ReadonlyArray<{
|
|
16
|
+
name: string;
|
|
17
|
+
docCount: number;
|
|
18
|
+
}>;
|
|
19
|
+
readonly guards: ReadonlyArray<{
|
|
20
|
+
collection: string;
|
|
21
|
+
count: number;
|
|
22
|
+
}>;
|
|
23
|
+
readonly materializedViews: ReadonlyArray<{
|
|
24
|
+
name: string;
|
|
25
|
+
sourceCollections: string[];
|
|
26
|
+
}>;
|
|
27
|
+
readonly schemaUpdate: ReadonlyArray<{
|
|
28
|
+
collection: string;
|
|
29
|
+
strategies: string[];
|
|
30
|
+
}>;
|
|
31
|
+
readonly grants: ReadonlyArray<{
|
|
32
|
+
collection: string;
|
|
33
|
+
permission: Permission;
|
|
34
|
+
}>;
|
|
35
|
+
}
|
|
36
|
+
/** Where the field-level info in the snapshot came from. */
|
|
37
|
+
export type FieldSource = 'persisted' | 'live-validator' | 'sampled' | 'unknown';
|
|
38
|
+
export interface FieldDescriptor {
|
|
39
|
+
/** Inferred type tag: 'string' | 'number' | 'boolean' | 'enum' | 'object' | 'array' | 'null' | 'opaque'. */
|
|
40
|
+
readonly type: string;
|
|
41
|
+
/** Where this field info was sourced from. */
|
|
42
|
+
readonly source: FieldSource;
|
|
43
|
+
/** Optional constraints — minLength, maxLength, enum values, gt, etc. */
|
|
44
|
+
readonly constraints?: Record<string, unknown>;
|
|
45
|
+
/** True when the schema marks this field optional. */
|
|
46
|
+
readonly optional?: boolean;
|
|
47
|
+
/** Foreign-key target as `<collection>.<field>` when declared. */
|
|
48
|
+
readonly references?: string;
|
|
49
|
+
}
|
|
50
|
+
export interface CollectionStats {
|
|
51
|
+
readonly records: number;
|
|
52
|
+
readonly bytes: number;
|
|
53
|
+
readonly bytesAvg: number;
|
|
54
|
+
readonly bytesMin: number;
|
|
55
|
+
readonly bytesMax: number;
|
|
56
|
+
/** ISO-8601 from min(_ts) across envelopes. Empty string when no records. */
|
|
57
|
+
readonly oldest: string;
|
|
58
|
+
/** ISO-8601 from max(_ts) across envelopes. Empty string when no records. */
|
|
59
|
+
readonly newest: string;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Collection-level configuration options surfaced by `dumpSchema()`.
|
|
63
|
+
* Only fields that are actively configured are present; the object is
|
|
64
|
+
* omitted entirely from `CollectionDescriptor.config` when nothing is set.
|
|
65
|
+
* Reused by Task 5 in-devtools display.
|
|
66
|
+
*/
|
|
67
|
+
export interface CollectionConfig {
|
|
68
|
+
readonly i18nFields?: readonly string[];
|
|
69
|
+
readonly embeddings?: {
|
|
70
|
+
readonly source: string | readonly string[];
|
|
71
|
+
readonly dim: number;
|
|
72
|
+
readonly model?: string;
|
|
73
|
+
};
|
|
74
|
+
readonly textIndexes?: readonly string[];
|
|
75
|
+
readonly textIndexPersist?: boolean;
|
|
76
|
+
readonly perRecordKeys?: boolean;
|
|
77
|
+
readonly provenance?: boolean;
|
|
78
|
+
readonly tiers?: readonly number[];
|
|
79
|
+
readonly tierMode?: string;
|
|
80
|
+
readonly crdt?: string;
|
|
81
|
+
/**
|
|
82
|
+
* `true` when history is explicitly enabled for this collection.
|
|
83
|
+
* Omitted when history is not configured or when the default vault-wide
|
|
84
|
+
* setting applies without explicit per-collection configuration.
|
|
85
|
+
*/
|
|
86
|
+
readonly history?: boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Present when the collection is registered in `vault.archiveRegistry`
|
|
89
|
+
* (i.e. an archive policy was declared). `true` = archive policy present.
|
|
90
|
+
*/
|
|
91
|
+
readonly archive?: boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Strategy names registered for schema updates on this collection.
|
|
94
|
+
* Present only when at least one strategy is registered.
|
|
95
|
+
*/
|
|
96
|
+
readonly schemaUpdate?: readonly string[];
|
|
97
|
+
}
|
|
98
|
+
export interface CollectionDescriptor {
|
|
99
|
+
readonly fields: Record<string, FieldDescriptor>;
|
|
100
|
+
readonly indexes: ReadonlyArray<{
|
|
101
|
+
readonly fields: ReadonlyArray<string>;
|
|
102
|
+
readonly unique?: boolean;
|
|
103
|
+
}>;
|
|
104
|
+
readonly refs: Record<string, {
|
|
105
|
+
readonly target: string;
|
|
106
|
+
readonly mode: 'strict' | 'warn' | 'cascade';
|
|
107
|
+
}>;
|
|
108
|
+
readonly validator?: {
|
|
109
|
+
readonly kind: PersistedSchemaKind;
|
|
110
|
+
readonly source: 'persisted' | 'live-validator';
|
|
111
|
+
};
|
|
112
|
+
readonly stats?: CollectionStats;
|
|
113
|
+
readonly meta?: CollectionMeta;
|
|
114
|
+
readonly config?: CollectionConfig;
|
|
115
|
+
}
|
|
116
|
+
export interface MaterializedViewDescriptor {
|
|
117
|
+
readonly sources: ReadonlyArray<string>;
|
|
118
|
+
readonly groupBy?: ReadonlyArray<string>;
|
|
119
|
+
readonly aggregate?: Record<string, string>;
|
|
120
|
+
readonly refresh: string;
|
|
121
|
+
readonly stats?: CollectionStats;
|
|
122
|
+
}
|
|
123
|
+
export interface OverlayViewDescriptor {
|
|
124
|
+
readonly base: string;
|
|
125
|
+
readonly overlay: string;
|
|
126
|
+
}
|
|
127
|
+
export interface DerivationDescriptor {
|
|
128
|
+
readonly source: string;
|
|
129
|
+
readonly outputs: ReadonlyArray<string>;
|
|
130
|
+
}
|
|
131
|
+
export interface InternalCollectionStats {
|
|
132
|
+
readonly records: number;
|
|
133
|
+
readonly bytes: number;
|
|
134
|
+
}
|
|
135
|
+
export interface VaultSchemaSnapshot {
|
|
136
|
+
readonly _noydb_snapshot: 1;
|
|
137
|
+
readonly vault: string;
|
|
138
|
+
readonly emittedAt: string;
|
|
139
|
+
readonly subsystems: Record<string, boolean>;
|
|
140
|
+
readonly aclRoles?: ReadonlyArray<string>;
|
|
141
|
+
readonly meta?: VaultMeta;
|
|
142
|
+
readonly collections: Record<string, CollectionDescriptor>;
|
|
143
|
+
readonly materializedViews: Record<string, MaterializedViewDescriptor>;
|
|
144
|
+
readonly overlayViews: Record<string, OverlayViewDescriptor>;
|
|
145
|
+
readonly derivations: Record<string, DerivationDescriptor>;
|
|
146
|
+
/** Only present when `dumpSchema({ withStats: true })` was called. */
|
|
147
|
+
readonly internal?: Record<string, InternalCollectionStats>;
|
|
148
|
+
}
|
|
149
|
+
export interface DumpSchemaOptions {
|
|
150
|
+
/** When true, walk every collection's envelopes to compute counters. Default `false`. */
|
|
151
|
+
readonly withStats?: boolean;
|
|
152
|
+
/** Sample N records per collection lacking a persisted/live schema. Default 50. `0` disables sampling. */
|
|
153
|
+
readonly sampleSize?: number;
|
|
154
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Orchestrate the structural walk of a Vault, producing a
|
|
3
|
+
* {@link VaultSchemaSnapshot}. Called from `Vault.dumpSchema()`.
|
|
4
|
+
*
|
|
5
|
+
* @module
|
|
6
|
+
*/
|
|
7
|
+
import type { DumpSchemaOptions, VaultSchemaSnapshot } from './types.js';
|
|
8
|
+
import type { Collection } from '../../kernel/collection.js';
|
|
9
|
+
import type { NoydbStore } from '../../kernel/types.js';
|
|
10
|
+
import type { UnlockedKeyring } from '../../with-party/team/keyring.js';
|
|
11
|
+
import type { RefRegistry } from '../../kernel/refs.js';
|
|
12
|
+
import type { VaultMeta } from './meta.js';
|
|
13
|
+
import type { EnclaveKey } from '../../kernel/enclave/index.js';
|
|
14
|
+
/**
|
|
15
|
+
* The minimal slice of Vault internal state the walker needs.
|
|
16
|
+
* Exposed via `vault._introspectState()` to keep the public Vault
|
|
17
|
+
* surface narrow.
|
|
18
|
+
*
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
export interface VaultIntrospectState {
|
|
22
|
+
readonly name: string;
|
|
23
|
+
readonly adapter: NoydbStore;
|
|
24
|
+
readonly collectionCache: Map<string, Collection<unknown>>;
|
|
25
|
+
readonly refRegistry: RefRegistry;
|
|
26
|
+
readonly getDEK: (collectionName: string) => Promise<EnclaveKey>;
|
|
27
|
+
/** The active unlocked keyring — role/permissions/userId for access-scoped ops. */
|
|
28
|
+
readonly keyring: UnlockedKeyring;
|
|
29
|
+
readonly subsystems: Record<string, boolean>;
|
|
30
|
+
/** Vault-level descriptive metadata, when set via `openVault({meta})`. */
|
|
31
|
+
readonly vaultMeta?: VaultMeta;
|
|
32
|
+
readonly mvRegistry: unknown;
|
|
33
|
+
readonly overlayRegistry: unknown;
|
|
34
|
+
readonly derivationRegistry: unknown;
|
|
35
|
+
/**
|
|
36
|
+
* Returns the registered schema-update strategy names for a collection,
|
|
37
|
+
* or `undefined` when none are registered. Populated from
|
|
38
|
+
* `vault.#schemaUpdateNames` in `_introspectState()`.
|
|
39
|
+
*/
|
|
40
|
+
readonly getCollectionSchemaUpdateNames?: (col: string) => readonly string[] | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* Returns `true` when the collection has an archive policy registered
|
|
43
|
+
* in `vault.archiveRegistry`, `false` otherwise. Populated from
|
|
44
|
+
* `vault.archiveRegistry` in `_introspectState()`.
|
|
45
|
+
*/
|
|
46
|
+
readonly hasCollectionArchive?: (col: string) => boolean;
|
|
47
|
+
}
|
|
48
|
+
export declare function dumpVaultSchema(vault: {
|
|
49
|
+
_introspectState(): VaultIntrospectState;
|
|
50
|
+
}, opts: DumpSchemaOptions): Promise<VaultSchemaSnapshot>;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lazy link-set handle factory (#553).
|
|
3
|
+
*
|
|
4
|
+
* `vault.links(name)` is a SYNC accessor, but every method on the handle
|
|
5
|
+
* it returns is async — so the handle can defer loading the `LinkSet`
|
|
6
|
+
* storage engine to the first actual link I/O. This keeps `link-set.ts`
|
|
7
|
+
* out of the floor bundle for consumers that never use links, while the
|
|
8
|
+
* handle object itself stays cached and referentially stable per name.
|
|
9
|
+
*
|
|
10
|
+
* Besides the public {@link LinkSetHandle} surface, the handle carries
|
|
11
|
+
* the two cascade internals the ref/link enforcement facade consults
|
|
12
|
+
* (`vault-facade.ts` casts the handle to `LinkSet` and duck-types them).
|
|
13
|
+
*/
|
|
14
|
+
import { type LinkRow, type LinkSpec, type LinkSetHandle } from './names.js';
|
|
15
|
+
import type { NoydbStore } from '../../kernel/types.js';
|
|
16
|
+
import type { NoydbEventEmitter } from '../../kernel/events.js';
|
|
17
|
+
import type { EnclaveKey } from '../../kernel/enclave/index.js';
|
|
18
|
+
/** @internal The lazy handle: public surface + facade cascade internals. */
|
|
19
|
+
export type LazyLinkSetHandle = LinkSetHandle & {
|
|
20
|
+
readonly _collectionName: string;
|
|
21
|
+
_rowsTouchingEndpoint(collection: string, id: string): Promise<LinkRow[]>;
|
|
22
|
+
};
|
|
23
|
+
/** @internal Constructor args for the deferred {@link LinkSet}. */
|
|
24
|
+
export interface LazyLinkSetDeps {
|
|
25
|
+
readonly adapter: NoydbStore;
|
|
26
|
+
readonly vault: string;
|
|
27
|
+
readonly name: string;
|
|
28
|
+
readonly spec: LinkSpec;
|
|
29
|
+
readonly encrypted: boolean;
|
|
30
|
+
readonly getDEK: (collectionName: string) => Promise<EnclaveKey>;
|
|
31
|
+
readonly actor: string;
|
|
32
|
+
readonly emitter: NoydbEventEmitter;
|
|
33
|
+
readonly endpointExists: (collection: string, id: string) => Promise<boolean>;
|
|
34
|
+
}
|
|
35
|
+
/** @internal Build the handle; the LinkSet engine dynamic-imports on first use. */
|
|
36
|
+
export declare function makeLazyLinkSetHandle(d: LazyLinkSetDeps): LazyLinkSetHandle;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `_links_*` reserved collections — managed bidirectional many-to-many
|
|
3
|
+
* junctions (design B).
|
|
4
|
+
*
|
|
5
|
+
* Where `refArray` (design A) stores an id-array on one owning record,
|
|
6
|
+
* `vault.link()` creates a first-class junction: a dedicated encrypted
|
|
7
|
+
* `_links_<name>` collection whose rows are `{ a, b, meta? }` link tuples.
|
|
8
|
+
* It is queryable from BOTH sides (`of(id)`), carries optional per-link
|
|
9
|
+
* metadata, and cascades on endpoint delete.
|
|
10
|
+
*
|
|
11
|
+
* Each link is slot-typed: `a` is an id in the `a` endpoint collection,
|
|
12
|
+
* `b` an id in the `b` endpoint collection (they may be the same
|
|
13
|
+
* collection for self-links). A link's identity is the ordered pair
|
|
14
|
+
* `(a, b)`; `of(id)` matches either slot.
|
|
15
|
+
*
|
|
16
|
+
* Rows are encrypted under a dedicated `_links_<name>` DEK — same
|
|
17
|
+
* zero-knowledge stack as every other collection (the store sees only
|
|
18
|
+
* ciphertext). Backup/restore rides the normal `loadAll` path.
|
|
19
|
+
*/
|
|
20
|
+
import type { NoydbStore } from '../../kernel/types.js';
|
|
21
|
+
import type { NoydbEventEmitter } from '../../kernel/events.js';
|
|
22
|
+
import { type EnclaveKey } from '../../kernel/enclave/index.js';
|
|
23
|
+
import { NoydbError } from '../../kernel/errors.js';
|
|
24
|
+
export { LINK_COLLECTION_PREFIX, linkCollectionName, isLinkCollectionName, linkRowKey, LinkIntegrityError, } from './names.js';
|
|
25
|
+
export type { LinkOnDelete, LinkSpec, LinkRow, LinkSetHandle } from './names.js';
|
|
26
|
+
import type { LinkSpec, LinkRow, LinkSetHandle } from './names.js';
|
|
27
|
+
/**
|
|
28
|
+
* @internal — the concrete handle. The Vault owns construction (one per
|
|
29
|
+
* link name) and the cascade hooks; consumers use the {@link LinkSetHandle}
|
|
30
|
+
* surface via `vault.links(name)`.
|
|
31
|
+
*/
|
|
32
|
+
export declare class LinkSet implements LinkSetHandle {
|
|
33
|
+
private readonly adapter;
|
|
34
|
+
private readonly vault;
|
|
35
|
+
private readonly name;
|
|
36
|
+
private readonly spec;
|
|
37
|
+
private readonly encrypted;
|
|
38
|
+
private readonly getDEK;
|
|
39
|
+
private readonly actor;
|
|
40
|
+
private readonly emitter;
|
|
41
|
+
/** Vault-provided existence check for endpoint validation on connect(). */
|
|
42
|
+
private readonly endpointExists;
|
|
43
|
+
private readonly collName;
|
|
44
|
+
private dekPromise;
|
|
45
|
+
constructor(adapter: NoydbStore, vault: string, name: string, spec: LinkSpec, encrypted: boolean, getDEK: (collectionName: string) => Promise<EnclaveKey>, actor: string, emitter: NoydbEventEmitter,
|
|
46
|
+
/** Vault-provided existence check for endpoint validation on connect(). */
|
|
47
|
+
endpointExists: (collection: string, id: string) => Promise<boolean>);
|
|
48
|
+
private dek;
|
|
49
|
+
private encryptEntry;
|
|
50
|
+
private decryptEntry;
|
|
51
|
+
connect(aId: string, bId: string, meta?: Record<string, unknown>): Promise<void>;
|
|
52
|
+
disconnect(aId: string, bId: string): Promise<void>;
|
|
53
|
+
has(aId: string, bId: string): Promise<boolean>;
|
|
54
|
+
of(id: string): Promise<LinkRow[]>;
|
|
55
|
+
list(): Promise<LinkRow[]>;
|
|
56
|
+
/** @internal — rows where the deleted endpoint id matches the relevant slot. */
|
|
57
|
+
_rowsTouchingEndpoint(collection: string, id: string): Promise<LinkRow[]>;
|
|
58
|
+
/** @internal — the storage collection name (for tx pre-image capture). */
|
|
59
|
+
get _collectionName(): string;
|
|
60
|
+
}
|
|
61
|
+
/** Thrown by `connect()` when an endpoint record does not exist. */
|
|
62
|
+
export declare class LinkEndpointError extends NoydbError {
|
|
63
|
+
readonly link: string;
|
|
64
|
+
readonly endpoint: string;
|
|
65
|
+
readonly missingId: string;
|
|
66
|
+
constructor(link: string, endpoint: string, missingId: string);
|
|
67
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Link-set naming helpers, declaration types, and errors — the tiny,
|
|
3
|
+
* always-loadable slice of the links feature (#553).
|
|
4
|
+
*
|
|
5
|
+
* Split out of `link-set.ts` so the kernel floor (reserved-name guard in
|
|
6
|
+
* `vault.collection()`, the lazy `vault.links()` handle) and the ref/link
|
|
7
|
+
* enforcement facade can bind these few lines WITHOUT statically pulling
|
|
8
|
+
* the `LinkSet` storage engine; that class now loads via dynamic import
|
|
9
|
+
* on first link I/O. `link-set.ts` re-exports everything here, so import
|
|
10
|
+
* paths and class identities are unchanged for existing consumers.
|
|
11
|
+
*/
|
|
12
|
+
import { NoydbError } from '../../kernel/errors.js';
|
|
13
|
+
export declare const LINK_COLLECTION_PREFIX = "_links_";
|
|
14
|
+
/** Storage collection name for a logical link set. */
|
|
15
|
+
export declare function linkCollectionName(name: string): string;
|
|
16
|
+
/** True for any reserved link-collection name. */
|
|
17
|
+
export declare function isLinkCollectionName(name: string): boolean;
|
|
18
|
+
/** What happens to a link's rows when one of its endpoint records is deleted. */
|
|
19
|
+
export type LinkOnDelete = 'cascade' | 'strict' | 'warn';
|
|
20
|
+
/**
|
|
21
|
+
* Declaration for a link set, passed to `vault.link(name, spec)`. `a` and
|
|
22
|
+
* `b` are the endpoint collection names (slot-typed). `onDelete` governs
|
|
23
|
+
* what happens to link rows when an endpoint record is deleted:
|
|
24
|
+
* `'cascade'` (default) removes the touching link rows, `'strict'` blocks
|
|
25
|
+
* the endpoint delete while links exist, `'warn'` leaves orphan rows
|
|
26
|
+
* (surfaced by `vault.checkIntegrity()`).
|
|
27
|
+
*/
|
|
28
|
+
export interface LinkSpec {
|
|
29
|
+
readonly a: string;
|
|
30
|
+
readonly b: string;
|
|
31
|
+
readonly onDelete?: LinkOnDelete;
|
|
32
|
+
}
|
|
33
|
+
/** One link tuple as returned by `of()` / `list()`. */
|
|
34
|
+
export interface LinkRow {
|
|
35
|
+
readonly a: string;
|
|
36
|
+
readonly b: string;
|
|
37
|
+
readonly meta?: Record<string, unknown>;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Compose the row key for an ordered `(a, b)` pair. Each id is
|
|
41
|
+
* URI-encoded and joined with `|` — encodeURIComponent escapes `|`, so the
|
|
42
|
+
* key is unambiguous regardless of id contents.
|
|
43
|
+
*/
|
|
44
|
+
export declare function linkRowKey(aId: string, bId: string): string;
|
|
45
|
+
/** Public handle returned by `vault.links(name)`. */
|
|
46
|
+
export interface LinkSetHandle {
|
|
47
|
+
/** Create (or overwrite the metadata of) the link `(aId, bId)`. Validates both endpoints exist. */
|
|
48
|
+
connect(aId: string, bId: string, meta?: Record<string, unknown>): Promise<void>;
|
|
49
|
+
/** Remove the link `(aId, bId)`. Idempotent — a no-op if it doesn't exist. */
|
|
50
|
+
disconnect(aId: string, bId: string): Promise<void>;
|
|
51
|
+
/** Whether the link `(aId, bId)` exists. */
|
|
52
|
+
has(aId: string, bId: string): Promise<boolean>;
|
|
53
|
+
/** All links touching `id` on EITHER endpoint. */
|
|
54
|
+
of(id: string): Promise<LinkRow[]>;
|
|
55
|
+
/** All links in the set. */
|
|
56
|
+
list(): Promise<LinkRow[]>;
|
|
57
|
+
}
|
|
58
|
+
/** Thrown when a `strict` link blocks deletion of an endpoint that still has links. */
|
|
59
|
+
export declare class LinkIntegrityError extends NoydbError {
|
|
60
|
+
readonly link: string;
|
|
61
|
+
readonly endpoint: string;
|
|
62
|
+
readonly id: string;
|
|
63
|
+
readonly count: number;
|
|
64
|
+
constructor(link: string, endpoint: string, id: string, count: number);
|
|
65
|
+
}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vault-side refs / managed-links enforcement facade.
|
|
3
|
+
*
|
|
4
|
+
* Holds the foreign-key enforcement entry points the collection write path
|
|
5
|
+
* reaches through the `refEnforcer` facade closure (`enforceRefsOnPut` /
|
|
6
|
+
* `enforceRefsOnDelete`), the managed-link `onDelete` policy
|
|
7
|
+
* (`enforceLinksOnDelete`), the `joinResolver` half (`resolveRef` /
|
|
8
|
+
* `resolveSource`), the `checkIntegrity()` reporter, and the cascade-cycle
|
|
9
|
+
* breaker set (`cascadeInProgress`). The ref/link registries stay
|
|
10
|
+
* vault-resident (they are populated by `vault.collection()` / `vault.link()`
|
|
11
|
+
* and read by the backup path) and arrive by reference through
|
|
12
|
+
* {@link VaultLinksDeps}; every other `Vault` dependency arrives via the deps
|
|
13
|
+
* interface.
|
|
14
|
+
*
|
|
15
|
+
* Internal service — reached through `vault.enforceRefsOnPut(...)` etc.
|
|
16
|
+
*/
|
|
17
|
+
import { type RefDescriptor, type RefViolation, type RefRegistry } from '../../kernel/refs.js';
|
|
18
|
+
import { type LinkSpec, type LinkSetHandle } from './names.js';
|
|
19
|
+
import type { JoinableSource } from '../../kernel/query/index.js';
|
|
20
|
+
import type { Collection } from '../../kernel/collection.js';
|
|
21
|
+
import type { NoydbStore } from '../../kernel/types.js';
|
|
22
|
+
import type { TxContext } from '../../with-commit/tx/transaction.js';
|
|
23
|
+
import type { ViaGraph } from '../../kernel/via/graph.js';
|
|
24
|
+
import type { NoydbEventEmitter } from '../../kernel/events.js';
|
|
25
|
+
/** Everything the moving refs/links methods touched on the vault's `this.*`. */
|
|
26
|
+
export interface VaultLinksDeps {
|
|
27
|
+
/** Per-vault foreign-key registry (vault-resident; read by reference). */
|
|
28
|
+
readonly refRegistry: RefRegistry;
|
|
29
|
+
/** Registered link specs, keyed by link name (vault-resident; read by reference). */
|
|
30
|
+
readonly linkRegistry: ReadonlyMap<string, LinkSpec>;
|
|
31
|
+
/** The ciphertext store. */
|
|
32
|
+
readonly adapter: NoydbStore;
|
|
33
|
+
/** Vault namespace name. */
|
|
34
|
+
readonly vault: string;
|
|
35
|
+
/** Collection accessor (bound `vault.collection`). */
|
|
36
|
+
collection<T = unknown>(name: string): Collection<T>;
|
|
37
|
+
/** Declared link-set accessor (bound `vault.links`). */
|
|
38
|
+
links(name: string): LinkSetHandle;
|
|
39
|
+
/** Cache lookup for an already-opened collection (used by `resolveSource`). */
|
|
40
|
+
getCachedCollection(name: string): Collection<unknown> | undefined;
|
|
41
|
+
/** The active transaction context, or null outside a tx. */
|
|
42
|
+
getActiveTxContext(): TxContext | null;
|
|
43
|
+
/** The vault's event emitter — the `lookup:propagation-residue` channel (#654). */
|
|
44
|
+
readonly emitter: NoydbEventEmitter;
|
|
45
|
+
}
|
|
46
|
+
export declare class VaultLinks {
|
|
47
|
+
private readonly deps;
|
|
48
|
+
/**
|
|
49
|
+
* Set of collection record-ids currently being deleted as part of a cascade.
|
|
50
|
+
* Populated on entry to `enforceRefsOnDelete` and drained on exit. Used to
|
|
51
|
+
* break mutual-cascade cycles: deleting A → cascade to B → cascade back to A
|
|
52
|
+
* would otherwise recurse forever, so we short-circuit when we see an
|
|
53
|
+
* already-in-progress delete on the same (collection, id) pair.
|
|
54
|
+
*/
|
|
55
|
+
private readonly cascadeInProgress;
|
|
56
|
+
constructor(deps: VaultLinksDeps);
|
|
57
|
+
/**
|
|
58
|
+
* Enforce strict outbound refs on a `put()`. Called by Collection
|
|
59
|
+
* just before it writes to the adapter. For every strict ref
|
|
60
|
+
* declared on the collection, check that the target id exists in
|
|
61
|
+
* the target collection; throw `RefIntegrityError` if not.
|
|
62
|
+
*
|
|
63
|
+
* `warn` and `cascade` modes don't affect put semantics — they're
|
|
64
|
+
* enforced at delete time or via `checkIntegrity()`.
|
|
65
|
+
*/
|
|
66
|
+
enforceRefsOnPut(collectionName: string, record: unknown): Promise<void>;
|
|
67
|
+
/**
|
|
68
|
+
* Enforce inbound ref modes on a `delete()`. Called by Collection
|
|
69
|
+
* just before it deletes from the adapter. Walks every inbound
|
|
70
|
+
* ref that targets this (collection, id) and:
|
|
71
|
+
*
|
|
72
|
+
* - `strict`: throws if any referencing records exist
|
|
73
|
+
* - `cascade`: deletes every referencing record
|
|
74
|
+
* - `warn`: no-op (checkIntegrity picks it up)
|
|
75
|
+
*
|
|
76
|
+
* Cascade cycles are broken via `cascadeInProgress` — re-entering
|
|
77
|
+
* for the same (collection, id) returns immediately so two
|
|
78
|
+
* mutually-cascading collections don't recurse forever.
|
|
79
|
+
*/
|
|
80
|
+
enforceRefsOnDelete(graph: ViaGraph, collectionName: string, id: string): Promise<void>;
|
|
81
|
+
/**
|
|
82
|
+
* Find the records in `collection` whose `field` currently equals `key` — the SAME
|
|
83
|
+
* list()+filter machinery `enforceRefsOnDelete`'s classic ref-restrict/cascade loop above
|
|
84
|
+
* already uses (bounded by the referencing collection's size, never by the whole vault or by
|
|
85
|
+
* "which collections reference this" — that part is the graph's O(1) `_out` reverse index).
|
|
86
|
+
*/
|
|
87
|
+
private findLookupReferencingRecords;
|
|
88
|
+
/**
|
|
89
|
+
* Resolve the VALUE a referencing field actually stores for the row being deleted (`rawKey`,
|
|
90
|
+
* the backing row's PUT-id) under a given edge's `keyField` — a referencing field always stores
|
|
91
|
+
* `row[keyField]`, never the PUT-id when the two differ (matrix tier's `lookup(dim, {key})`;
|
|
92
|
+
* mirrors Task 3's `checkLookupMembership` review fix, Important 1). `keyField === 'id'`
|
|
93
|
+
* (reserved/static tiers, and the matrix default) needs no row read: `rawKey` IS the value.
|
|
94
|
+
* Reads the backing row AT MOST ONCE per distinct non-`'id'` `keyField`, even across multiple
|
|
95
|
+
* edges — `backingCollection` is only `.get()`-able for the matrix tier, which is exactly the
|
|
96
|
+
* only tier that can ever have `keyField !== 'id'`.
|
|
97
|
+
*/
|
|
98
|
+
private resolveLookupCompareKey;
|
|
99
|
+
/**
|
|
100
|
+
* Phase 1 (#650 Task 5, #648) — restrict check, never mutates. Throws
|
|
101
|
+
* `DictKeyInUseError(dimension, key, usedBy, count)` naming the FIRST referencing collection
|
|
102
|
+
* still holding a matching record, for every `onDelete:'restrict'` edge the graph's O(1)
|
|
103
|
+
* `referencingEdgesOf(backingCollection)` reverse lookup finds pointing at this dimension. A
|
|
104
|
+
* dimension with no declared lookup-referencing edges is a no-op — undeclared refs keep
|
|
105
|
+
* dangling (today's behavior, unaffected). Called by `Vault.forget()` BEFORE any shred (the
|
|
106
|
+
* spec §4 "restrict refuses before any shred" design decision) — cascade/nullify propagation
|
|
107
|
+
* for the SAME edges happens separately, after the shred, via `forgetDerivedFanout`.
|
|
108
|
+
*
|
|
109
|
+
* Also resolves (and RETURNS) the live compare-key for EVERY referencing edge, restrict AND
|
|
110
|
+
* cascade/nullify alike (#650 Task 5 review, Important fix): `forgetDerivedFanout`'s cascade/
|
|
111
|
+
* nullify propagation runs AFTER `_writeTombstone`, when a non-`'id'` `keyField`'s value can no
|
|
112
|
+
* longer be read off the (now-shredded) row — resolving it HERE, at the one point every
|
|
113
|
+
* referencing edge's backing row is still guaranteed live, eliminates that post-shred
|
|
114
|
+
* dependency.
|
|
115
|
+
*
|
|
116
|
+
* #654: a `restrict` edge whose compare-key CANNOT be resolved (the backing row is missing the
|
|
117
|
+
* `keyField` or holds a non-scalar value — corruption-class rarity) THROWS
|
|
118
|
+
* `RestrictRefUnresolvableError` naming the unresolvable edge, fail-closed — whether a
|
|
119
|
+
* referencer exists can't be proven, so the delete/forget is refused rather than silently
|
|
120
|
+
* allowed through. Non-restrict edges keep `continue`ing on an unresolvable compare-key (their
|
|
121
|
+
* `undefined` still lands in the returned map so `forgetDerivedFanout`'s cascade/nullify twin
|
|
122
|
+
* can report it as residue instead of silently skipping — unchanged from before #654).
|
|
123
|
+
*/
|
|
124
|
+
checkLookupRefsRestrict(graph: ViaGraph, dimension: string, backingCollection: string, key: string): Promise<ReadonlyMap<string, string | undefined>>;
|
|
125
|
+
/**
|
|
126
|
+
* Phase 2 (#650 Task 5, #648) — apply `cascade`/`nullify` propagation for this dimension's
|
|
127
|
+
* non-restrict referencing edges (restrict edges are skipped — phase 1 above already refused
|
|
128
|
+
* or the caller already checked). `cascade` deletes each matching record through its ordinary
|
|
129
|
+
* `collection.delete()` (an origin-tagged, fanout-visible delete — participates in sync/history/
|
|
130
|
+
* the graph dispatch wave exactly like any other delete); `nullify` clears the referencing field
|
|
131
|
+
* via an ordinary `collection.put()`. Returns the counts so callers (forget's `ForgetFanoutStats`)
|
|
132
|
+
* can report the propagation additively.
|
|
133
|
+
*
|
|
134
|
+
* #654: an edge whose compare-key can't be resolved is no longer a bare silent `continue` — it
|
|
135
|
+
* pushes a `backing:key:collection.field` entry onto `residue` (mirroring
|
|
136
|
+
* `applyLookupRefsFanout`'s forget-path residue format, `kernel/via/dispatch.ts`) so the caller
|
|
137
|
+
* (`enforceLookupRefsOnDelete` below) can surface it instead of dropping it on the floor.
|
|
138
|
+
*/
|
|
139
|
+
applyLookupRefsPropagation(graph: ViaGraph, backingCollection: string, key: string): Promise<{
|
|
140
|
+
cascaded: number;
|
|
141
|
+
nullified: number;
|
|
142
|
+
residue: string[];
|
|
143
|
+
}>;
|
|
144
|
+
/**
|
|
145
|
+
* Convenience: the full restrict-then-propagate sequence for an ORDINARY (non-forget) delete of
|
|
146
|
+
* a lookup-referenced row — `checkLookupRefsRestrict` then `applyLookupRefsPropagation`. Used by
|
|
147
|
+
* `enforceRefsOnDelete` above (matrix-tier: the backing row IS an ordinary `Collection` record)
|
|
148
|
+
* and by `LookupHandle.delete()`'s injected `checkReferencesOnDelete` callback (reserved tier).
|
|
149
|
+
*
|
|
150
|
+
* #654: when `applyLookupRefsPropagation` reports residue, it is emitted here as a structured
|
|
151
|
+
* `lookup:propagation-residue` event — the delete/put return shape both callers consume stays
|
|
152
|
+
* `void`/unrelated, so an event is the additive channel that keeps the skip from ever being
|
|
153
|
+
* silent (mirrors the forget path's `ForgetResult.lookupReferencesResidue` channel).
|
|
154
|
+
*/
|
|
155
|
+
enforceLookupRefsOnDelete(graph: ViaGraph, dimension: string, backingCollection: string, key: string): Promise<{
|
|
156
|
+
cascaded: number;
|
|
157
|
+
nullified: number;
|
|
158
|
+
residue: string[];
|
|
159
|
+
}>;
|
|
160
|
+
/**
|
|
161
|
+
* @internal — apply link `onDelete` policy when an endpoint record is
|
|
162
|
+
* deleted. `'strict'` throws (blocks the delete), `'cascade'`
|
|
163
|
+
* removes the touching link rows (tx-atomic when a transaction is active),
|
|
164
|
+
* `'warn'` leaves orphans for `checkIntegrity()`.
|
|
165
|
+
*/
|
|
166
|
+
private enforceLinksOnDelete;
|
|
167
|
+
/**
|
|
168
|
+
* Look up the `RefDescriptor` the left collection declared for a
|
|
169
|
+
* given field name. Returns `null` when the field has no ref
|
|
170
|
+
* declaration — the Query builder turns that into an actionable
|
|
171
|
+
* error at plan time (before any records are touched).
|
|
172
|
+
*
|
|
173
|
+
* Implements the `joinResolver.resolveRef` half of the structural
|
|
174
|
+
* interface that `Collection.query()` consumes. See
|
|
175
|
+
* `query/join.ts` for the full design.
|
|
176
|
+
*/
|
|
177
|
+
resolveRef(leftCollection: string, field: string): RefDescriptor | null;
|
|
178
|
+
/**
|
|
179
|
+
* Resolve a right-side join source by target collection name.
|
|
180
|
+
* Returns `null` for unknown collections so the Query executor can
|
|
181
|
+
* surface an actionable error naming the missing target.
|
|
182
|
+
*
|
|
183
|
+
* Implements the `joinResolver.resolveSource` half of the
|
|
184
|
+
* structural interface. The returned JoinableSource is a thin
|
|
185
|
+
* wrapper that reads the target collection's in-memory cache via
|
|
186
|
+
* `list()` / `get()` synchronously — the cache is populated by an
|
|
187
|
+
* earlier `ensureHydrated()` call through the target's query/list
|
|
188
|
+
* path. If the target has not been opened yet in this session the
|
|
189
|
+
* join will see an empty snapshot; consumers who hit this can
|
|
190
|
+
* open the target collection explicitly before running the query.
|
|
191
|
+
*
|
|
192
|
+
* Only same-vault targets are resolvable — cross-vault
|
|
193
|
+
* joins are explicitly forbidden by the architecture`).
|
|
194
|
+
*/
|
|
195
|
+
resolveSource(collectionName: string): JoinableSource | null;
|
|
196
|
+
/**
|
|
197
|
+
* Walk every collection that has declared refs, load its records,
|
|
198
|
+
* and report any reference whose target id is missing. Modes are
|
|
199
|
+
* reported alongside each violation so the caller can distinguish
|
|
200
|
+
* "this is a warning the user asked for" from "this should never
|
|
201
|
+
* have happened" (strict violations produced by out-of-band
|
|
202
|
+
* writes).
|
|
203
|
+
*
|
|
204
|
+
* Returns `{ violations: [...] }` instead of throwing — the whole
|
|
205
|
+
* point of `checkIntegrity()` is to surface a list for display
|
|
206
|
+
* or repair, not to fail noisily.
|
|
207
|
+
*/
|
|
208
|
+
checkIntegrity(): Promise<{
|
|
209
|
+
violations: RefViolation[];
|
|
210
|
+
}>;
|
|
211
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deterministic JSON serializer: sorts object keys lexicographically at every
|
|
3
|
+
* depth so structurally-equivalent objects produce identical strings. Array
|
|
4
|
+
* order is preserved (arrays are semantically ordered).
|
|
5
|
+
*
|
|
6
|
+
* Used by {@link sha256Hex} to fingerprint a derived JSON Schema for
|
|
7
|
+
* hash-based skip on persisted-schema writes.
|
|
8
|
+
*
|
|
9
|
+
* @module
|
|
10
|
+
*/
|
|
11
|
+
export declare function canonicalize(value: unknown): string;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Derive a {@link PersistedSchemaEnvelope} from a Standard Schema v1
|
|
3
|
+
* validator. Supports zod 3 (via the optional `zod-to-json-schema` peer-dep)
|
|
4
|
+
* and zod 4 (via its native `z.toJSONSchema()`); both are loaded lazily so
|
|
5
|
+
* hub never statically imports zod. Other validator families write a stub
|
|
6
|
+
* envelope flagging the kind.
|
|
7
|
+
*
|
|
8
|
+
* @see docs/superpowers/specs/2026-05-22-schema-dump-design.md
|
|
9
|
+
*
|
|
10
|
+
* @module
|
|
11
|
+
*/
|
|
12
|
+
import type { PersistedSchemaEnvelope } from './types.js';
|
|
13
|
+
/**
|
|
14
|
+
* Heuristic Zod detection — uses the Standard Schema v1 `~standard.vendor`
|
|
15
|
+
* property (present in Zod v3.23+ and Zod v4+). Falls back to the
|
|
16
|
+
* `_def.typeName` heuristic for older Zod v3 builds that predate Standard
|
|
17
|
+
* Schema support.
|
|
18
|
+
*/
|
|
19
|
+
export declare function isZodSchema(value: unknown): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Returns `true` when the validator was created with the Zod v4 native API
|
|
22
|
+
* (i.e. `import { z } from 'zod'` where zod resolves to v4). Zod v4 native
|
|
23
|
+
* schemas carry a `_zod` property whereas Zod v3 schemas (and the v3-compat
|
|
24
|
+
* shim shipped inside zod@4 at `zod/v3`) use `_def.typeName`.
|
|
25
|
+
*
|
|
26
|
+
* Kept duck-typed so hub never statically imports zod.
|
|
27
|
+
*/
|
|
28
|
+
export declare function isZod4Schema(value: unknown): boolean;
|
|
29
|
+
export declare function derivePersistedSchema(validator: unknown): Promise<PersistedSchemaEnvelope>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persisted JSON Schema — opt-in encrypted per-collection schema snapshot.
|
|
3
|
+
*
|
|
4
|
+
* Enable per collection via `vault.collection(name, { schema, persistJsonSchema: true })`.
|
|
5
|
+
* The derived JSON Schema is written to a `_schemas/<collection>` envelope
|
|
6
|
+
* encrypted with the collection's DEK; the next opening of the vault
|
|
7
|
+
* re-derives, hashes, and skips the write when nothing has changed.
|
|
8
|
+
*
|
|
9
|
+
* v0 supports Zod via the optional `zod-to-json-schema` peer-dep. Other
|
|
10
|
+
* Standard Schema validators (Valibot, ArkType, Effect Schema) write a
|
|
11
|
+
* stub envelope flagging the kind without a JSON Schema body.
|
|
12
|
+
*
|
|
13
|
+
* @see docs/superpowers/specs/2026-05-22-schema-dump-design.md
|
|
14
|
+
*
|
|
15
|
+
* @module
|
|
16
|
+
*/
|
|
17
|
+
export type { PersistedSchemaEnvelope, PersistedSchemaKind } from './types.js';
|
|
18
|
+
export { derivePersistedSchema, isZodSchema } from './derive.js';
|
|
19
|
+
export { SCHEMAS_COLLECTION, loadPersistedSchema, savePersistedSchema, } from './storage.js';
|
|
20
|
+
export { persistSchemaIfNeeded } from './register.js';
|
|
21
|
+
export type { PersistSchemaResult } from './register.js';
|