@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,73 @@
|
|
|
1
|
+
import type { NoydbStore, EncryptedEnvelope, HistoryOptions, PruneOptions } from '../../kernel/types.js';
|
|
2
|
+
import { type EnclaveKey } from '../../kernel/enclave/index.js';
|
|
3
|
+
/** Save a history entry (a complete encrypted envelope snapshot). */
|
|
4
|
+
export declare function saveHistory(adapter: NoydbStore, vault: string, collection: string, recordId: string, envelope: EncryptedEnvelope): Promise<void>;
|
|
5
|
+
/** Get history entries for a record, sorted newest-first. */
|
|
6
|
+
export declare function getHistory(adapter: NoydbStore, vault: string, collection: string, recordId: string, options?: HistoryOptions): Promise<EncryptedEnvelope[]>;
|
|
7
|
+
/** Get a specific version's envelope from history. */
|
|
8
|
+
export declare function getVersionEnvelope(adapter: NoydbStore, vault: string, collection: string, recordId: string, version: number): Promise<EncryptedEnvelope | null>;
|
|
9
|
+
/** Prune history entries. Returns the number of entries deleted. */
|
|
10
|
+
export declare function pruneHistory(adapter: NoydbStore, vault: string, collection: string, recordId: string | undefined, options: PruneOptions): Promise<number>;
|
|
11
|
+
/** Clear all history for a vault, optionally scoped to a collection or record. */
|
|
12
|
+
export declare function clearHistory(adapter: NoydbStore, vault: string, collection?: string, recordId?: string): Promise<number>;
|
|
13
|
+
/**
|
|
14
|
+
* Crypto-shred every `_history` version of a record. Each non-tombstone
|
|
15
|
+
* history envelope is OVERWRITTEN in place with a tombstone
|
|
16
|
+
* `{ _noydb, _v, _ts: now, _by: actor, _iv: '', _data: '' }` — dropping
|
|
17
|
+
* `_iv`/`_data`/`_cek`/`_det`, so the prior ciphertext (and the wrapped CEK
|
|
18
|
+
* that could decrypt it) is gone everywhere this store reaches. The version
|
|
19
|
+
* counter (`_v`) is preserved so the audit trail still shows "N versions
|
|
20
|
+
* existed and were erased."
|
|
21
|
+
*
|
|
22
|
+
* Overwrite — NOT delete — so the history key itself survives as proof the
|
|
23
|
+
* version existed. Already-tombstoned versions (re-run / idempotent forget)
|
|
24
|
+
* are left untouched and not counted.
|
|
25
|
+
*
|
|
26
|
+
* Returns the number of history versions newly tombstoned.
|
|
27
|
+
*/
|
|
28
|
+
export declare function tombstoneHistory(adapter: NoydbStore, vault: string, collection: string, recordId: string, actor: string, encrypted: boolean): Promise<number>;
|
|
29
|
+
/**
|
|
30
|
+
* Re-key every `_history` snapshot of a record from `fromDek` to `toDek`.
|
|
31
|
+
* Mirrors what `rewrapBodyToDek` already does for a record's LIVE body on a
|
|
32
|
+
* tier move (elevate/demote/putAtTier) — each `_history` envelope also
|
|
33
|
+
* carries its own `_cek`, wrapped under the collection's tier-0 DEK at write
|
|
34
|
+
* time (`record-codec.ts`), so a tier move that rewraps only the live
|
|
35
|
+
* envelope leaves prior versions decryptable at rest under the tier the
|
|
36
|
+
* record left. This is defense-in-depth *beneath* the read-gate
|
|
37
|
+
* (`history()`/`getVersion()` already return empty for an elevated record;
|
|
38
|
+
* this protects the ciphertext even if that gate is bypassed).
|
|
39
|
+
*
|
|
40
|
+
* Rewraps content in place — unlike `tombstoneHistory`, it does NOT blank
|
|
41
|
+
* `_iv`/`_data`/`_cek` — so a subsequent `demote()` restores tier-0
|
|
42
|
+
* readability. Tombstone-shaped entries (a forgotten/shredded version —
|
|
43
|
+
* blanked `_data`, no `_cek`) are skipped: there is no key material left to
|
|
44
|
+
* rewrap.
|
|
45
|
+
*
|
|
46
|
+
* **Legacy fallback.** A snapshot written before this fix stays wrapped
|
|
47
|
+
* under the tier-0 DEK even after its live record has since moved tiers, so
|
|
48
|
+
* a rewrap attempted with a tier-N `fromDek` fails to unwrap/decrypt. When
|
|
49
|
+
* the caller supplies `tier0Dek`, a failed rewrap is retried once with
|
|
50
|
+
* `tier0Dek` as `fromDek` (the only other key a pre-fix snapshot can be
|
|
51
|
+
* wrapped under — history is written only by tier-0 `put()`). The output is
|
|
52
|
+
* always wrapped under `toDek` regardless of which `fromDek` succeeded. A
|
|
53
|
+
* rewrap that fails under BOTH keys re-throws — that is real corruption, not
|
|
54
|
+
* a tier mismatch, and must not be swallowed.
|
|
55
|
+
*
|
|
56
|
+
* **Crash-atomicity / idempotency (#712 whole-branch-fix-3).** This loop has
|
|
57
|
+
* no transaction around it: a crash after some entries have been rewritten
|
|
58
|
+
* under `toDek` but before the loop finishes leaves the record's history
|
|
59
|
+
* split across two keys. A retry of the SAME call must not re-fail on the
|
|
60
|
+
* entries that already made it — so each entry is probed with
|
|
61
|
+
* `isRewrappedUnder(env, toDek)` FIRST; a match means it's already at the
|
|
62
|
+
* target key and is skipped (put nothing). This makes same-target retries
|
|
63
|
+
* and demote-after-crash fully self-healing. It does NOT close every crash
|
|
64
|
+
* window: a crash that lands SOME entries under `toDek` while the record's
|
|
65
|
+
* NEXT move target differs from this call's `toDek` (an intermediate-tier
|
|
66
|
+
* crash — e.g. elevate 0→1 crashes mid-loop, then the record is moved 1→2)
|
|
67
|
+
* still finds those entries unreadable under either `fromDek` or the
|
|
68
|
+
* tier-0 fallback, since `toDek` is a third key the next call never probes
|
|
69
|
+
* for. That residual window is an accepted, fail-closed limitation (see
|
|
70
|
+
* `.changeset/history-at-rest.md` and the design doc) — availability is
|
|
71
|
+
* lost, never confidentiality.
|
|
72
|
+
*/
|
|
73
|
+
export declare function rewrapHistory(adapter: NoydbStore, vault: string, collection: string, recordId: string, fromDek: EnclaveKey, toDek: EnclaveKey, tier0Dek?: EnclaveKey): Promise<void>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@noy-db/hub/history` — subpath export for record-history / diff /
|
|
3
|
+
* ledger-based audit trail + point-in-time primitives.
|
|
4
|
+
*
|
|
5
|
+
* Solo apps that don't track versioning, don't need a hash-chained
|
|
6
|
+
* audit log, and don't restore to earlier points in time can exclude
|
|
7
|
+
* this entire surface. Bundle savings ~1,880 LOC.
|
|
8
|
+
*
|
|
9
|
+
* The strategy seam is `withHistory()` — pass the returned
|
|
10
|
+
* strategy to `createNoydb({ historyStrategy: ... })`. Without it,
|
|
11
|
+
* the core `NO_HISTORY` stub no-ops snapshots/prune/clear and throws
|
|
12
|
+
* on read APIs (`history`, `getVersion`, `diff`, `vault.at`,
|
|
13
|
+
* `vault.ledger`).
|
|
14
|
+
*
|
|
15
|
+
* Named re-exports (not `export *`) so tsup keeps the barrel
|
|
16
|
+
* populated even with `sideEffects: false`.
|
|
17
|
+
*/
|
|
18
|
+
export { withHistory } from './active.js';
|
|
19
|
+
export type { HistoryStrategy } from './strategy.js';
|
|
20
|
+
export { saveHistory, getHistory, getVersionEnvelope, pruneHistory, clearHistory, } from './history.js';
|
|
21
|
+
export { diff, formatDiff } from './diff.js';
|
|
22
|
+
export type { ChangeType, DiffEntry } from './diff.js';
|
|
23
|
+
export { LedgerStore, LEDGER_COLLECTION, LEDGER_DELTAS_COLLECTION, envelopePayloadHash, } from './ledger/store.js';
|
|
24
|
+
export type { AppendInput, VerifyResult } from './ledger/store.js';
|
|
25
|
+
export { canonicalJson, sha256Hex, hashEntry, paddedIndex, parseIndex, } from './ledger/entry.js';
|
|
26
|
+
export type { LedgerEntry } from './ledger/entry.js';
|
|
27
|
+
export { computePatch, applyPatch } from './ledger/patch.js';
|
|
28
|
+
export type { JsonPatch, JsonPatchOp } from './ledger/patch.js';
|
|
29
|
+
export { VaultInstant, CollectionInstant } from './time-machine.js';
|
|
30
|
+
export type { VaultEngine } from './time-machine.js';
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ledger storage constants — pinned in their own leaf module so
|
|
3
|
+
* always-on core code (vault.ts, dictionary.ts) can import them
|
|
4
|
+
* without dragging the `LedgerStore` class into the bundle.
|
|
5
|
+
*
|
|
6
|
+
* `splitting: true` in tsup is not enough on its own: when a
|
|
7
|
+
* source file exports both pure constants and a heavyweight class,
|
|
8
|
+
* the bundler keeps the entire chunk reachable from any importer.
|
|
9
|
+
* Extracting the constants lets the floor scenario import them
|
|
10
|
+
* without paying for the class.
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
/** The internal collection name used for ledger entry storage. */
|
|
15
|
+
export declare const LEDGER_COLLECTION = "_ledger";
|
|
16
|
+
/**
|
|
17
|
+
* The internal collection name used for delta payload storage.
|
|
18
|
+
*
|
|
19
|
+
* Deltas live in a sibling collection (not inside `_ledger`) for two
|
|
20
|
+
* reasons:
|
|
21
|
+
*
|
|
22
|
+
* 1. **Listing efficiency.** `ledger.loadAllEntries()` calls
|
|
23
|
+
* `adapter.list(_ledger)` which would otherwise return every
|
|
24
|
+
* delta key alongside every entry key. Splitting them keeps the
|
|
25
|
+
* list small (one key per ledger entry) and the delta reads
|
|
26
|
+
* keyed by the entry's index.
|
|
27
|
+
*
|
|
28
|
+
* 2. **Prune-friendliness.** A future `pruneHistory()` will delete
|
|
29
|
+
* old deltas while keeping the ledger chain intact (folding old
|
|
30
|
+
* deltas into a base snapshot). Separating the storage makes
|
|
31
|
+
* that deletion a targeted operation on one collection instead
|
|
32
|
+
* of a filter across a mixed list.
|
|
33
|
+
*
|
|
34
|
+
* Both collections share the same ledger DEK — one DEK, two
|
|
35
|
+
* internal collections, same zero-knowledge guarantees.
|
|
36
|
+
*/
|
|
37
|
+
export declare const LEDGER_DELTAS_COLLECTION = "_ledger_deltas";
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ledger entry shape + canonical JSON + sha256 helpers.
|
|
3
|
+
*
|
|
4
|
+
* This file holds the PURE primitives used by the hash-chained ledger:
|
|
5
|
+
* the entry type, the deterministic (sort-stable) JSON encoder, and
|
|
6
|
+
* the sha256 hasher that produces `prevHash` and `ledger.head()`.
|
|
7
|
+
*
|
|
8
|
+
* Everything here is validator-free and side-effect free — the only
|
|
9
|
+
* runtime dep is Web Crypto's `subtle.digest` for the sha256 call,
|
|
10
|
+
* which we already use for every other hashing operation in the core.
|
|
11
|
+
*
|
|
12
|
+
* The hash chain property works like this:
|
|
13
|
+
*
|
|
14
|
+
* hash(entry[i]) = sha256(canonicalJSON(entry[i]))
|
|
15
|
+
* entry[i+1].prevHash = hash(entry[i])
|
|
16
|
+
*
|
|
17
|
+
* Any modification to `entry[i]` (field values, field order, whitespace)
|
|
18
|
+
* produces a different `hash(entry[i])`, which means `entry[i+1]`'s
|
|
19
|
+
* stored `prevHash` no longer matches the recomputed hash, which means
|
|
20
|
+
* `verify()` returns `{ ok: false, divergedAt: i + 1 }`. The chain is
|
|
21
|
+
* append-only and tamper-evident without external anchoring.
|
|
22
|
+
*/
|
|
23
|
+
export interface LedgerEntry {
|
|
24
|
+
/**
|
|
25
|
+
* Zero-based sequential position of this entry in the chain. The
|
|
26
|
+
* canonical adapter key is this number zero-padded to 10 digits
|
|
27
|
+
* (`"0000000001"`) so lexicographic ordering matches numeric order.
|
|
28
|
+
*/
|
|
29
|
+
readonly index: number;
|
|
30
|
+
/**
|
|
31
|
+
* Hex-encoded sha256 of the canonical JSON of the PREVIOUS entry.
|
|
32
|
+
* The genesis entry (index 0) has `prevHash === ''` — the first
|
|
33
|
+
* entry in a fresh vault has nothing to point back to.
|
|
34
|
+
*/
|
|
35
|
+
readonly prevHash: string;
|
|
36
|
+
/**
|
|
37
|
+
* Which kind of mutation this entry records. only supports
|
|
38
|
+
* data operations (`put`, `delete`, `amendment`). Access-control
|
|
39
|
+
* operations (`grant`, `revoke`, `rotate`) will be added in a
|
|
40
|
+
* follow-up once the keyring write path is instrumented — that's
|
|
41
|
+
* tracked in the epic issue.
|
|
42
|
+
*
|
|
43
|
+
* `'amendment'` is the multi-record audit entry written by the
|
|
44
|
+
* guards service when an admin/owner uses `withTransactions(...)`
|
|
45
|
+
* to repair a constraint-violating state. See `amendment` field
|
|
46
|
+
* below for the structured payload.
|
|
47
|
+
*
|
|
48
|
+
* `'lifecycle'` records a non-data audit event (e.g. partition
|
|
49
|
+
* handover) — `collection`/`id` are empty and the event detail
|
|
50
|
+
* lives in `reason` (e.g. `'partition-handed-over:<sealId>'`). Like
|
|
51
|
+
* `amendment`, it carries no data envelope, so `verifyBackupIntegrity`
|
|
52
|
+
* skips it in the data cross-check (it still participates in the
|
|
53
|
+
* tamper-evident chain).
|
|
54
|
+
*
|
|
55
|
+
* `'forget'` is the single summary entry written by `vault.forget()`
|
|
56
|
+
* (GDPR crypto-shred). `collection`/`id` are empty and `version`
|
|
57
|
+
* is 0 — a forget is not scoped to one record. `payloadHash` carries
|
|
58
|
+
* `sha256Hex(subjectId)` so the ledger PROVES "subject X existed and
|
|
59
|
+
* was erased on date D" without retaining the subject id or any
|
|
60
|
+
* plaintext; `reason` holds a JSON summary of the shred counts. Like
|
|
61
|
+
* `amendment`/`lifecycle` it carries no data envelope and is skipped
|
|
62
|
+
* by the reconstruct walker (it still participates in the chain, so
|
|
63
|
+
* `verify()` passes after a shred).
|
|
64
|
+
*/
|
|
65
|
+
readonly op: 'put' | 'delete' | 'amendment' | 'lifecycle' | 'migration' | 'forget';
|
|
66
|
+
/** The collection the mutation targeted. */
|
|
67
|
+
readonly collection: string;
|
|
68
|
+
/** The record id the mutation targeted. */
|
|
69
|
+
readonly id: string;
|
|
70
|
+
/**
|
|
71
|
+
* The record version AFTER this mutation. For `put` this is the
|
|
72
|
+
* newly assigned version; for `delete` this is the version that
|
|
73
|
+
* was deleted (the last version visible to reads).
|
|
74
|
+
*/
|
|
75
|
+
readonly version: number;
|
|
76
|
+
/** ISO timestamp of the mutation. */
|
|
77
|
+
readonly ts: string;
|
|
78
|
+
/** User id of the actor who performed the mutation. */
|
|
79
|
+
readonly actor: string;
|
|
80
|
+
/**
|
|
81
|
+
* Hex-encoded sha256 over the encrypted envelope's `_data` field, plus its
|
|
82
|
+
* sealed-field ciphertext map (`_sealed`) when the record carries one —
|
|
83
|
+
* so the ledger attests to both the open body and every sealed
|
|
84
|
+
* value. A record with no `_sealed` hashes `_data` alone.
|
|
85
|
+
* For `put`, this is the hash of the new ciphertext. For `delete`,
|
|
86
|
+
* it's the hash of the last visible ciphertext at deletion time, or the empty
|
|
87
|
+
* string if nothing was there to delete. Hashing the ciphertext (not the
|
|
88
|
+
* plaintext) preserves zero-knowledge — see the file docstring. The exact
|
|
89
|
+
* recipe lives in `envelopePayloadHash` (`hash.ts`).
|
|
90
|
+
*/
|
|
91
|
+
readonly payloadHash: string;
|
|
92
|
+
/**
|
|
93
|
+
* Optional human-readable tag describing why this mutation happened.
|
|
94
|
+
* Threaded through `collection.put(_, _, { reason })`. Common
|
|
95
|
+
* values include `'import:csv'`, `'import:json'`, `'import:xlsx'` from
|
|
96
|
+
* `as-*` ImportPlan.apply(), but consumers can use any string for
|
|
97
|
+
* domain-specific audit filtering. Auto-strip via `canonicalJson` —
|
|
98
|
+
* absent on the wire, never serialized as `null`.
|
|
99
|
+
*
|
|
100
|
+
* Audit consumers filter: `entries.filter(e => e.reason?.startsWith('import:'))`.
|
|
101
|
+
*/
|
|
102
|
+
readonly reason?: string;
|
|
103
|
+
/**
|
|
104
|
+
* Optional hex-encoded sha256 of the encrypted JSON Patch delta
|
|
105
|
+
* blob stored alongside this entry in `_ledger_deltas/`. Present
|
|
106
|
+
* only for `put` operations that had a previous version — the
|
|
107
|
+
* genesis put of a new record, and every `delete`, leave this
|
|
108
|
+
* field undefined.
|
|
109
|
+
*
|
|
110
|
+
* The delta payload itself lives in a sibling internal collection
|
|
111
|
+
* (`_ledger_deltas/<paddedIndex>`) and is encrypted with the
|
|
112
|
+
* ledger DEK. Callers use `ledger.loadDelta(index)` to decrypt and
|
|
113
|
+
* deserialize it when reconstructing a historical version.
|
|
114
|
+
*
|
|
115
|
+
* Why optional instead of always-present: the first put of a
|
|
116
|
+
* record has no previous version to diff against, so storing an
|
|
117
|
+
* empty patch would be noise. For deletes there's no "next" state
|
|
118
|
+
* to describe with a delta. Both cases set this field to undefined.
|
|
119
|
+
*
|
|
120
|
+
* Note: the canonical-JSON hasher treats `undefined` as invalid
|
|
121
|
+
* (it's one of the guard rails), so on the wire this field is
|
|
122
|
+
* either `{ deltaHash: '<hex>' }` or absent from the JSON
|
|
123
|
+
* entirely — never `{ deltaHash: undefined }`.
|
|
124
|
+
*/
|
|
125
|
+
readonly deltaHash?: string;
|
|
126
|
+
/**
|
|
127
|
+
* Present only when `op === 'amendment'`. Records the human reason,
|
|
128
|
+
* the role of the actor, the (collection, id, vBefore, vAfter) tuple
|
|
129
|
+
* for every record touched, and which guard invariants passed.
|
|
130
|
+
*
|
|
131
|
+
* See docs/superpowers/specs/2026-05-18-guards-design.md.
|
|
132
|
+
*/
|
|
133
|
+
readonly amendment?: {
|
|
134
|
+
readonly reason: string;
|
|
135
|
+
readonly role: 'admin' | 'owner';
|
|
136
|
+
readonly changes: ReadonlyArray<{
|
|
137
|
+
readonly collection: string;
|
|
138
|
+
readonly id: string;
|
|
139
|
+
readonly vBefore: number;
|
|
140
|
+
readonly vAfter: number;
|
|
141
|
+
}>;
|
|
142
|
+
readonly invariantsPassed: ReadonlyArray<string>;
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Canonical (sort-stable) JSON encoder.
|
|
147
|
+
*
|
|
148
|
+
* This function is the load-bearing primitive of the hash chain:
|
|
149
|
+
* `sha256(canonicalJSON(entry))` must produce the same hex string
|
|
150
|
+
* every time, on every machine, for the same logical entry — otherwise
|
|
151
|
+
* `verify()` would return `{ ok: false }` on cross-platform reads.
|
|
152
|
+
*
|
|
153
|
+
* JavaScript's `JSON.stringify` is almost canonical, but NOT quite:
|
|
154
|
+
* it preserves the insertion order of object keys, which means
|
|
155
|
+
* `{a:1,b:2}` and `{b:2,a:1}` serialize differently. We fix this by
|
|
156
|
+
* recursively walking objects and sorting their keys before
|
|
157
|
+
* concatenation.
|
|
158
|
+
*
|
|
159
|
+
* Arrays keep their original order (reordering them would change
|
|
160
|
+
* semantics). Numbers, strings, booleans, and `null` use the default
|
|
161
|
+
* JSON encoding. `undefined` and functions are rejected — ledger
|
|
162
|
+
* entries are plain data, and silently dropping `undefined` would
|
|
163
|
+
* break the "same input → same hash" property if a caller forgot to
|
|
164
|
+
* omit a field.
|
|
165
|
+
*
|
|
166
|
+
* Performance: one pass per nesting level; O(n log n) for key sorting
|
|
167
|
+
* at each object. Entries are small (< 1 KB) so this is negligible
|
|
168
|
+
* compared to the sha256 call.
|
|
169
|
+
*/
|
|
170
|
+
export declare function canonicalJson(value: unknown): string;
|
|
171
|
+
/**
|
|
172
|
+
* Compute a hex-encoded sha256 of a string via Web Crypto's subtle API.
|
|
173
|
+
*
|
|
174
|
+
* We use hex (not base64) for hashes because hex is case-insensitive,
|
|
175
|
+
* fixed-length (64 chars), and easier to compare visually in debug
|
|
176
|
+
* output. Base64 would save a few bytes in storage but every encrypted
|
|
177
|
+
* ledger entry is already much larger than the hash itself.
|
|
178
|
+
*/
|
|
179
|
+
export declare function sha256Hex(input: string): Promise<string>;
|
|
180
|
+
/**
|
|
181
|
+
* Compute the canonical hash of a ledger entry. Short wrapper around
|
|
182
|
+
* `canonicalJson` + `sha256Hex`; callers use this instead of composing
|
|
183
|
+
* the two functions every time, so any future change to the hashing
|
|
184
|
+
* pipeline (e.g., adding a domain-separation prefix) lives in one place.
|
|
185
|
+
*/
|
|
186
|
+
export declare function hashEntry(entry: LedgerEntry): Promise<string>;
|
|
187
|
+
/**
|
|
188
|
+
* Pad an index to the canonical 10-digit form used as the adapter key.
|
|
189
|
+
* Ten digits is enough for ~10 billion ledger entries per vault
|
|
190
|
+
* — far beyond any realistic use case, but cheap enough that the extra
|
|
191
|
+
* digits don't hurt storage.
|
|
192
|
+
*/
|
|
193
|
+
export declare function paddedIndex(index: number): string;
|
|
194
|
+
/** Parse a padded adapter key back into a number. Returns NaN on malformed input. */
|
|
195
|
+
export declare function parseIndex(key: string): number;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Envelope payload hash — pinned in its own leaf module so consumers
|
|
3
|
+
* (DictionaryHandle, the active history strategy) can import it
|
|
4
|
+
* without dragging in the `LedgerStore` class.
|
|
5
|
+
*
|
|
6
|
+
* see `constants.ts` for the broader rationale.
|
|
7
|
+
*
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
import type { EncryptedEnvelope } from '../../../kernel/types.js';
|
|
11
|
+
/**
|
|
12
|
+
* Compute the `payloadHash` value for an encrypted envelope. Used by
|
|
13
|
+
* `LedgerStore.append` for both put (hash the new envelope) and
|
|
14
|
+
* delete (hash the previous envelope) paths, and by
|
|
15
|
+
* `DictionaryHandle` so its ledger entries match the same contract.
|
|
16
|
+
*
|
|
17
|
+
* Hashes the open `_data` ciphertext, plus the sealed-field ciphertext
|
|
18
|
+
* map (`_sealed`) when a record carries one — so the ledger attests to
|
|
19
|
+
* both the open body AND every sealed value … and the verify-digest
|
|
20
|
+
* ciphertext map (`_vdig`), each bound only when present — the `_vdig`
|
|
21
|
+
* binding is the temporal-rollback detector for the C1 splice class.
|
|
22
|
+
* `rotateRecordCek` rewrites `_vdig` with no ledger entry, the same
|
|
23
|
+
* pre-existing rotation property `_sealed`/`_cek` already have
|
|
24
|
+
* (`verifyBackupIntegrity` flags rotated records until re-anchored).
|
|
25
|
+
*
|
|
26
|
+
* Returns the empty string when there is no envelope (delete of a
|
|
27
|
+
* never-existed record). The empty string tolerated by the ledger
|
|
28
|
+
* entry's `payloadHash` field as the canonical "nothing here" value.
|
|
29
|
+
*/
|
|
30
|
+
export declare function envelopePayloadHash(envelope: EncryptedEnvelope | null): Promise<string>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public surface of the ledger module.
|
|
3
|
+
*
|
|
4
|
+
* Consumers import these symbols via `@noy-db/core`:
|
|
5
|
+
*
|
|
6
|
+
* ```ts
|
|
7
|
+
* import { LedgerStore, canonicalJson, hashEntry } from '@noy-db/hub'
|
|
8
|
+
* import type { LedgerEntry, VerifyResult } from '@noy-db/hub'
|
|
9
|
+
* ```
|
|
10
|
+
*
|
|
11
|
+
* The LedgerStore class itself is exported so test code and advanced
|
|
12
|
+
* users can construct one directly, but the recommended entry point is
|
|
13
|
+
* `vault.ledger()` which takes care of wiring the DEK resolver
|
|
14
|
+
* and actor id from the active keyring.
|
|
15
|
+
*/
|
|
16
|
+
export { LedgerStore, LEDGER_COLLECTION, LEDGER_DELTAS_COLLECTION, envelopePayloadHash, type AppendInput, type VerifyResult, } from './store.js';
|
|
17
|
+
export { canonicalJson, sha256Hex, hashEntry, paddedIndex, parseIndex, type LedgerEntry, } from './entry.js';
|
|
18
|
+
export { computePatch, applyPatch } from './patch.js';
|
|
19
|
+
export type { JsonPatch, JsonPatchOp } from './patch.js';
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RFC 6902 JSON Patch — compute + apply.
|
|
3
|
+
*
|
|
4
|
+
* This module is the "delta history" primitive: instead of
|
|
5
|
+
* snapshotting the full record on every put (the behavior),
|
|
6
|
+
* `Collection.put` computes a JSON Patch from the previous version to
|
|
7
|
+
* the new version and stores only the patch in the ledger. To
|
|
8
|
+
* reconstruct version N, we walk from the genesis snapshot forward
|
|
9
|
+
* applying patches. Storage scales with **edit size**, not record
|
|
10
|
+
* size — a 10 KB record edited 1000 times costs ~10 KB of deltas
|
|
11
|
+
* instead of ~10 MB of snapshots.
|
|
12
|
+
*
|
|
13
|
+
* ## Why hand-roll instead of using a library?
|
|
14
|
+
*
|
|
15
|
+
* RFC 6902 has good libraries (`fast-json-patch`, `rfc6902`) but every
|
|
16
|
+
* single one of them adds a runtime dependency to `@noy-db/core`. The
|
|
17
|
+
* "zero runtime dependencies" promise is one of the core's load-bearing
|
|
18
|
+
* features, and the patch surface we actually need is small enough
|
|
19
|
+
* (~150 LoC) that vendoring is the right call.
|
|
20
|
+
*
|
|
21
|
+
* What we implement:
|
|
22
|
+
* - `add` — insert a value at a path
|
|
23
|
+
* - `remove` — delete the value at a path
|
|
24
|
+
* - `replace` — overwrite the value at a path
|
|
25
|
+
*
|
|
26
|
+
* What we deliberately skip (out of scope for the ledger use):
|
|
27
|
+
* - `move` and `copy` — optimizations; the diff algorithm doesn't
|
|
28
|
+
* emit them, so the apply path doesn't need them
|
|
29
|
+
* - `test` — used for transactional patches; we already have
|
|
30
|
+
* optimistic concurrency via `_v` at the envelope layer
|
|
31
|
+
* - Sophisticated array diffing (LCS, edit distance) — we treat
|
|
32
|
+
* arrays as atomic values and emit a single `replace` op when
|
|
33
|
+
* they differ. The accounting domain has small arrays where this
|
|
34
|
+
* is fine; if we ever need patch-level array diffing we can add
|
|
35
|
+
* it without changing the storage format.
|
|
36
|
+
*
|
|
37
|
+
* ## Path encoding (RFC 6902 §3)
|
|
38
|
+
*
|
|
39
|
+
* Paths look like `/foo/bar/0`. Each path segment is either an object
|
|
40
|
+
* key or a numeric array index. Two characters need escaping inside
|
|
41
|
+
* keys: `~` becomes `~0` and `/` becomes `~1`. We implement both.
|
|
42
|
+
*
|
|
43
|
+
* Empty path (`""`) refers to the root document. Only `replace` makes
|
|
44
|
+
* sense at the root, and our diff function emits it as a top-level
|
|
45
|
+
* `replace` when `prev` and `next` differ in shape (object vs array,
|
|
46
|
+
* primitive vs object, etc.).
|
|
47
|
+
*/
|
|
48
|
+
/** A single JSON Patch operation. Subset of RFC 6902 — see file docstring. */
|
|
49
|
+
export type JsonPatchOp = {
|
|
50
|
+
readonly op: 'add';
|
|
51
|
+
readonly path: string;
|
|
52
|
+
readonly value: unknown;
|
|
53
|
+
} | {
|
|
54
|
+
readonly op: 'remove';
|
|
55
|
+
readonly path: string;
|
|
56
|
+
} | {
|
|
57
|
+
readonly op: 'replace';
|
|
58
|
+
readonly path: string;
|
|
59
|
+
readonly value: unknown;
|
|
60
|
+
};
|
|
61
|
+
/** A complete JSON Patch document — an array of operations. */
|
|
62
|
+
export type JsonPatch = readonly JsonPatchOp[];
|
|
63
|
+
/**
|
|
64
|
+
* Compute a JSON Patch that, when applied to `prev`, produces `next`.
|
|
65
|
+
*
|
|
66
|
+
* The algorithm is a straightforward recursive object walk:
|
|
67
|
+
*
|
|
68
|
+
* 1. If both inputs are plain objects (and not arrays/null):
|
|
69
|
+
* - For each key in `prev`, recurse if `next` has it, else emit `remove`
|
|
70
|
+
* - For each key in `next` not in `prev`, emit `add`
|
|
71
|
+
* 2. If both inputs are arrays AND structurally equal, no-op.
|
|
72
|
+
* Otherwise emit a single `replace` for the whole array.
|
|
73
|
+
* 3. If both inputs are deeply equal primitives, no-op.
|
|
74
|
+
* 4. Otherwise emit a `replace` at the current path.
|
|
75
|
+
*
|
|
76
|
+
* We do not minimize patches across move-like rearrangements — every
|
|
77
|
+
* generated patch is straightforward enough to apply by hand if you
|
|
78
|
+
* had to debug it.
|
|
79
|
+
*/
|
|
80
|
+
export declare function computePatch(prev: unknown, next: unknown): JsonPatch;
|
|
81
|
+
/**
|
|
82
|
+
* Apply a JSON Patch to a base document and return the result.
|
|
83
|
+
*
|
|
84
|
+
* The base document is **not mutated** — every op clones the parent
|
|
85
|
+
* container before writing to it, so the caller's reference to `base`
|
|
86
|
+
* stays untouched. This costs an extra allocation per op but makes
|
|
87
|
+
* the apply pipeline reorderable and safe to interrupt.
|
|
88
|
+
*
|
|
89
|
+
* Throws on:
|
|
90
|
+
* - Removing a path that doesn't exist
|
|
91
|
+
* - Adding to a path whose parent doesn't exist
|
|
92
|
+
* - A path component that doesn't match the document shape (e.g.,
|
|
93
|
+
* trying to step into a primitive)
|
|
94
|
+
*
|
|
95
|
+
* Throwing is the right behavior for the ledger use case: a failed
|
|
96
|
+
* apply means the chain is corrupted, which should be loud rather
|
|
97
|
+
* than silently producing a wrong reconstruction.
|
|
98
|
+
*/
|
|
99
|
+
export declare function applyPatch<T = unknown>(base: T, patch: JsonPatch): T;
|