@noy-db/hub 0.3.0-pre.8 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/aggregate/index.js +9 -8
- package/dist/aggregate/index.js.map +1 -1
- package/dist/api-ZGS6LCOF.js +20 -0
- package/dist/as/index.js +11 -11
- package/dist/attestation/index.js +18 -18
- package/dist/backup-BJ57IKAO.js +242 -0
- package/dist/backup-BJ57IKAO.js.map +1 -0
- package/dist/blobs/index.js +13 -11
- package/dist/blobs/index.js.map +1 -1
- package/dist/broker/index.js +92 -0
- package/dist/broker/index.js.map +1 -0
- package/dist/bundle/index.js +25 -22
- package/dist/bundle/index.js.map +1 -1
- package/dist/by/index.js +2 -2
- package/dist/cargo/index.js +31 -31
- package/dist/chunk-2NVOWNI3.js +167 -0
- package/dist/chunk-2NVOWNI3.js.map +1 -0
- package/dist/chunk-3B5VVCNY.js +71 -0
- package/dist/chunk-3LQ2YKO4.js +230 -0
- package/dist/chunk-3QCRBHCY.js +54 -0
- package/dist/chunk-454JXE57.js +1697 -0
- package/dist/chunk-454JXE57.js.map +1 -0
- package/dist/chunk-4CTHCN4J.js +480 -0
- package/dist/chunk-4CTHCN4J.js.map +1 -0
- package/dist/chunk-4GPE63GU.js +111 -0
- package/dist/chunk-4GPE63GU.js.map +1 -0
- package/dist/chunk-4JBYV75E.js +150 -0
- package/dist/chunk-4NXKCLLQ.js +97 -0
- package/dist/chunk-4VNQOLML.js +29 -0
- package/dist/chunk-4VNQOLML.js.map +1 -0
- package/dist/chunk-5M5DVGV7.js +69 -0
- package/dist/chunk-5O3XF4DV.js +150 -0
- package/dist/chunk-5O3XF4DV.js.map +1 -0
- package/dist/chunk-5YOLBEQ6.js +30 -0
- package/dist/chunk-6CRIV7DE.js +129 -0
- package/dist/chunk-6JTIAGHD.js +621 -0
- package/dist/chunk-6JTIAGHD.js.map +1 -0
- package/dist/chunk-6QTNZJBS.js +255 -0
- package/dist/chunk-6T2SCQRU.js +86 -0
- package/dist/chunk-7DSTRQIJ.js +45 -0
- package/dist/chunk-AUSTCW2X.js +589 -0
- package/dist/chunk-B3HJYUOF.js +209 -0
- package/dist/chunk-BDVFPG6Y.js +164 -0
- package/dist/chunk-BIOUI4HL.js +1554 -0
- package/dist/chunk-BIOUI4HL.js.map +1 -0
- package/dist/chunk-CAF6WOK7.js +36 -0
- package/dist/chunk-CDUQTA3Z.js +381 -0
- package/dist/chunk-CDUQTA3Z.js.map +1 -0
- package/dist/chunk-CIE2BASH.js +404 -0
- package/dist/chunk-CRI4OUV4.js +42 -0
- package/dist/chunk-DLG74CNB.js +91 -0
- package/dist/chunk-E5ZQT5KX.js +30 -0
- package/dist/chunk-E5ZQT5KX.js.map +1 -0
- package/dist/chunk-EQO2UVP4.js +247 -0
- package/dist/chunk-EQO2UVP4.js.map +1 -0
- package/dist/chunk-ERJ7FU55.js +367 -0
- package/dist/chunk-EVVGJDRQ.js +205 -0
- package/dist/chunk-EVX47VBM.js +74 -0
- package/dist/chunk-EVX47VBM.js.map +1 -0
- package/dist/chunk-EXK7QRWF.js +59 -0
- package/dist/chunk-EYZ6IQ6X.js +202 -0
- package/dist/chunk-F64IRYG3.js +45 -0
- package/dist/chunk-FHS2HQSH.js +823 -0
- package/dist/chunk-FM3G3NOY.js +206 -0
- package/dist/chunk-FM3G3NOY.js.map +1 -0
- package/dist/chunk-FUG4SFN3.js +36 -0
- package/dist/chunk-FUG4SFN3.js.map +1 -0
- package/dist/chunk-GKEWXIV5.js +80 -0
- package/dist/chunk-GTGPO5KW.js +59 -0
- package/dist/chunk-HB3RFQSC.js +95 -0
- package/dist/chunk-HDMEGAQE.js +957 -0
- package/dist/chunk-HDMEGAQE.js.map +1 -0
- package/dist/chunk-HDQIIUPH.js +135 -0
- package/dist/chunk-HDQIIUPH.js.map +1 -0
- package/dist/chunk-HTJQYHZP.js +344 -0
- package/dist/chunk-HTJQYHZP.js.map +1 -0
- package/dist/chunk-I6GALP6E.js +99 -0
- package/dist/chunk-IGJCYUT5.js +99 -0
- package/dist/chunk-IGJCYUT5.js.map +1 -0
- package/dist/chunk-IL6POWCW.js +130 -0
- package/dist/chunk-IU6SNYX6.js +117 -0
- package/dist/chunk-J2ZX2XUV.js +778 -0
- package/dist/chunk-JIF24JPM.js +495 -0
- package/dist/chunk-JIF24JPM.js.map +1 -0
- package/dist/chunk-JK733I5V.js +23 -0
- package/dist/chunk-JK733I5V.js.map +1 -0
- package/dist/chunk-JKJOGPZN.js +29 -0
- package/dist/chunk-JNAI2HN2.js +32 -0
- package/dist/chunk-JNAI2HN2.js.map +1 -0
- package/dist/chunk-JZUV47FZ.js +41 -0
- package/dist/chunk-K5IMOGHB.js +30 -0
- package/dist/chunk-KPZS5QAQ.js +151 -0
- package/dist/chunk-KPZS5QAQ.js.map +1 -0
- package/dist/chunk-KSKBRKGJ.js +291 -0
- package/dist/chunk-KSKBRKGJ.js.map +1 -0
- package/dist/chunk-LASZKVMO.js +382 -0
- package/dist/chunk-LXEXBTKL.js +515 -0
- package/dist/chunk-LXEXBTKL.js.map +1 -0
- package/dist/chunk-M4CV6BRT.js +524 -0
- package/dist/chunk-M4CV6BRT.js.map +1 -0
- package/dist/chunk-MEFJPTZ4.js +371 -0
- package/dist/chunk-MEFJPTZ4.js.map +1 -0
- package/dist/chunk-MV43JSJF.js +265 -0
- package/dist/chunk-MV43JSJF.js.map +1 -0
- package/dist/chunk-NJ4EOKMB.js +392 -0
- package/dist/chunk-NJ4EOKMB.js.map +1 -0
- package/dist/chunk-NR5LT5RY.js +135 -0
- package/dist/chunk-NWSGI5C7.js +261 -0
- package/dist/chunk-NWSGI5C7.js.map +1 -0
- package/dist/chunk-OSDB5WW3.js +739 -0
- package/dist/chunk-OSDB5WW3.js.map +1 -0
- package/dist/chunk-PN2XMATY.js +37 -0
- package/dist/chunk-PN2XMATY.js.map +1 -0
- package/dist/chunk-Q5VNKNE5.js +70 -0
- package/dist/chunk-QLWMEXCT.js +21 -0
- package/dist/chunk-QRB7NAOJ.js +123 -0
- package/dist/chunk-R4ROFEYC.js +74 -0
- package/dist/chunk-RCVJZMFE.js +164 -0
- package/dist/chunk-RCVJZMFE.js.map +1 -0
- package/dist/chunk-RIX4V2TB.js +367 -0
- package/dist/chunk-RYCTDFUX.js +40 -0
- package/dist/chunk-RZ5SVOYR.js +155 -0
- package/dist/chunk-SLFHQTTW.js +99 -0
- package/dist/chunk-SNZ6URZZ.js +2782 -0
- package/dist/chunk-SNZ6URZZ.js.map +1 -0
- package/dist/chunk-T2FFWNPK.js +75 -0
- package/dist/chunk-T2FFWNPK.js.map +1 -0
- package/dist/chunk-UNFPPVNI.js +23 -0
- package/dist/chunk-VFUPHI2Z.js +333 -0
- package/dist/chunk-VFUPHI2Z.js.map +1 -0
- package/dist/chunk-VLFCJYTL.js +235 -0
- package/dist/chunk-VN3DBQAU.js +124 -0
- package/dist/chunk-VYYM3MEN.js +98 -0
- package/dist/chunk-VYYM3MEN.js.map +1 -0
- package/dist/chunk-VZRODIM3.js +49 -0
- package/dist/chunk-W22IKJE2.js +94 -0
- package/dist/chunk-X3YYQWOQ.js +155 -0
- package/dist/chunk-X7QBD67R.js +14405 -0
- package/dist/chunk-X7QBD67R.js.map +1 -0
- package/dist/chunk-XDYREZWE.js +1128 -0
- package/dist/chunk-XDYREZWE.js.map +1 -0
- package/dist/chunk-XWZVFISC.js +720 -0
- package/dist/chunk-XWZVFISC.js.map +1 -0
- package/dist/chunk-YFXZEAYK.js +85 -0
- package/dist/chunk-ZAJAVEXY.js +50 -0
- package/dist/chunk-ZICD77GM.js +34 -0
- package/dist/chunk-ZJ2AK4V7.js +38 -0
- package/dist/chunk-ZJ2AK4V7.js.map +1 -0
- package/dist/chunk-ZUODRVHY.js +14 -0
- package/dist/classified/index.js +5 -3
- package/dist/classified-marker-CZKA6ITE.js +28 -0
- package/dist/classified-marker-CZKA6ITE.js.map +1 -0
- package/dist/collection-facade-TLWIPI76.js +44 -0
- package/dist/computed-ZIQTYTDI.js +11 -0
- package/dist/consent/index.js +9 -9
- package/dist/crdt/index.js +1 -1
- package/dist/dead-filter-ESOBZZP5.js +28 -0
- package/dist/delegation-W7ZV2322.js +25 -0
- package/dist/derivations/index.js +12 -11
- package/dist/derive-H2BJTLUI.js +21 -0
- package/dist/enclave-AP3I5W7O.js +141 -0
- package/dist/executor-KGWTNEQD.js +9 -0
- package/dist/executor-OVEXR6RT.js +9 -0
- package/dist/executor-UNEH5ZYH.js +25 -0
- package/dist/export-accessible-PCMXSUZS.js +23 -0
- package/dist/extract-partition-SWHFSYJO.js +38 -0
- package/dist/fanout-sidecar-A765THMX.js +74 -0
- package/dist/find-N6345CNT.js +11 -0
- package/dist/forget/index.js +10 -10
- package/dist/forget/index.js.map +1 -1
- package/dist/guards/index.js +6 -6
- package/dist/history/index.js +14 -11
- package/dist/history/index.js.map +1 -1
- package/dist/i18n/index.js +50 -37
- package/dist/i18n/index.js.map +1 -1
- package/dist/index.d.ts +307 -1459
- package/dist/index.js +595 -198
- package/dist/index.js.map +1 -1
- package/dist/indexing/index.js +7 -7
- package/dist/indexing/index.js.map +1 -1
- package/dist/issue-5OKB6I2R.js +19 -0
- package/dist/kernel/best-effort-revert.d.ts +52 -0
- package/dist/kernel/cache/index.d.ts +10 -0
- package/dist/kernel/cache/lru.d.ts +97 -0
- package/dist/kernel/cache/policy.d.ts +32 -0
- package/dist/kernel/collection-config.d.ts +809 -0
- package/dist/kernel/collection.d.ts +1522 -0
- package/dist/kernel/constants.d.ts +18 -0
- package/dist/kernel/debug.d.ts +25 -0
- package/dist/kernel/enclave/broker/proof.d.ts +154 -0
- package/dist/kernel/enclave/classify/bidx.d.ts +77 -0
- package/dist/kernel/enclave/classify/compare.d.ts +10 -0
- package/dist/kernel/enclave/classify/digest.d.ts +8 -0
- package/dist/kernel/enclave/classify/find.d.ts +36 -0
- package/dist/kernel/enclave/classify/kofn.d.ts +7 -0
- package/dist/kernel/enclave/classify/normalize.d.ts +7 -0
- package/dist/kernel/enclave/classify/reveal.d.ts +10 -0
- package/dist/kernel/enclave/classify/vdig.d.ts +39 -0
- package/dist/kernel/enclave/classify/verify.d.ts +36 -0
- package/dist/kernel/enclave/classify/write.d.ts +8 -0
- package/dist/kernel/enclave/crypto.d.ts +263 -0
- package/dist/kernel/enclave/index.d.ts +79 -0
- package/dist/kernel/enclave/record-keys/deterministic.d.ts +55 -0
- package/dist/kernel/enclave/record-keys/envelope-body.d.ts +79 -0
- package/dist/kernel/enclave/record-keys/lifecycle.d.ts +107 -0
- package/dist/kernel/enclave/record-keys/record-codec.d.ts +328 -0
- package/dist/kernel/enclave/record-keys/sealed-slot.d.ts +14 -0
- package/dist/kernel/enclave/record-keys/sealed-slots.d.ts +123 -0
- package/dist/kernel/enclave/record-keys/sealing.d.ts +70 -0
- package/dist/kernel/enclave/record-keys/tombstone.d.ts +57 -0
- package/dist/kernel/env-check.d.ts +1 -0
- package/dist/kernel/errors.d.ts +1922 -0
- package/dist/kernel/events.d.ts +11 -0
- package/dist/kernel/lazy-count.d.ts +13 -0
- package/dist/kernel/memory-store.d.ts +17 -0
- package/dist/kernel/mutation.d.ts +14 -0
- package/dist/kernel/noydb.d.ts +826 -0
- package/dist/kernel/paths.d.ts +25 -0
- package/dist/kernel/query/builder.d.ts +520 -0
- package/dist/kernel/query/index.d.ts +31 -0
- package/dist/kernel/query/join.d.ts +205 -0
- package/dist/kernel/query/live.d.ts +111 -0
- package/dist/kernel/query/predicate.d.ts +139 -0
- package/dist/kernel/query/scan-builder.d.ts +334 -0
- package/dist/kernel/refs.d.ts +205 -0
- package/dist/kernel/schema.d.ts +134 -0
- package/dist/kernel/sync-policy.d.ts +188 -0
- package/dist/kernel/tier-visibility.d.ts +54 -0
- package/dist/kernel/types.d.ts +3239 -0
- package/dist/kernel/util/discriminant.d.ts +58 -0
- package/dist/kernel/util/index.d.ts +14 -0
- package/dist/kernel/util/sanitize-filename.d.ts +75 -0
- package/dist/kernel/validation.d.ts +130 -0
- package/dist/kernel/vault.d.ts +1740 -0
- package/dist/kernel/via/compose.d.ts +144 -0
- package/dist/kernel/via/dispatch.d.ts +195 -0
- package/dist/kernel/via/graph-wiring.d.ts +145 -0
- package/dist/kernel/via/graph.d.ts +166 -0
- package/dist/kernel/via/index.d.ts +200 -0
- package/dist/kernel/via/pipeline.d.ts +266 -0
- package/dist/kernel/via/reconcile.d.ts +153 -0
- package/dist/kernel/via/taint-binding.d.ts +66 -0
- package/dist/kernel/write-queue.d.ts +46 -0
- package/dist/ledger-GFBKVPV4.js +42 -0
- package/dist/legacy/bundle.d.ts +30 -0
- package/dist/legacy/kernel.d.ts +33 -0
- package/dist/liberate-3VDOT4KO.js +24 -0
- package/dist/link-set-Z7Q2ASFX.js +31 -0
- package/dist/materialized-views/index.js +19 -15
- package/dist/noydb-ZCJOYBDI.js +68 -0
- package/dist/on/index.js +9 -9
- package/dist/overlay-views/index.js +4 -4
- package/dist/periods/index.js +12 -12
- package/dist/pod/index.js +11 -11
- package/dist/policy-Z3RUAIY2.js +41 -0
- package/dist/port/as/index.d.ts +26 -0
- package/dist/port/at/index.d.ts +18 -0
- package/dist/port/by/default-provider.d.ts +9 -0
- package/dist/port/by/index.d.ts +17 -0
- package/dist/port/by/types.d.ts +86 -0
- package/dist/port/in/index.d.ts +21 -0
- package/dist/port/on/index.d.ts +27 -0
- package/dist/port/to/index.d.ts +19 -0
- package/dist/port/ui/index.d.ts +21 -0
- package/dist/port/with/blob-strategy.d.ts +98 -0
- package/dist/port/with/broker-strategy.d.ts +84 -0
- package/dist/port/with/capabilities.d.ts +31 -0
- package/dist/port/with/classified-marker.d.ts +9 -0
- package/dist/port/with/classified-strategy.d.ts +62 -0
- package/dist/port/with/computed-strategy.d.ts +19 -0
- package/dist/port/with/i18n-strategy.d.ts +175 -0
- package/dist/port/with/index.d.ts +18 -0
- package/dist/port/with/lazy-strategy.d.ts +48 -0
- package/dist/port/with/lookup-strategy.d.ts +129 -0
- package/dist/port/with/service-bus.d.ts +156 -0
- package/dist/port/with/team-strategy.d.ts +36 -0
- package/dist/port/with/write-hooks.d.ts +34 -0
- package/dist/portability/index.js +8 -8
- package/dist/post-register-JTH76BLY.js +60 -0
- package/dist/post-register-JTH76BLY.js.map +1 -0
- package/dist/public-envelope-B4KNWVUA.js +32 -0
- package/dist/purge-scope-FGNNLWHD.js +24 -0
- package/dist/purge-scope-FGNNLWHD.js.map +1 -0
- package/dist/query/index.js +9 -6
- package/dist/read-only-facade-CHCKSEPD.js +8 -0
- package/dist/register-VAHONCID.js +23 -0
- package/dist/registry-7MLVD3VO.js +19 -0
- package/dist/registry-EPKPD5SM.js +18 -0
- package/dist/registry-P5T7PS2U.js +9 -0
- package/dist/request-withdrawal-TI3A5WPS.js +31 -0
- package/dist/reveal-DIBHLUZX.js +38 -0
- package/dist/reveal-DIBHLUZX.js.map +1 -0
- package/dist/revoke-FDRD6GRW.js +24 -0
- package/dist/satellites/index.js +1 -1
- package/dist/sealed-record/index.js +12 -12
- package/dist/seed-Q6M2IZFL.js +231 -0
- package/dist/seed-Q6M2IZFL.js.map +1 -0
- package/dist/session/index.js +9 -9
- package/dist/shadow/index.js +2 -2
- package/dist/signer-MUWEIUI6.js +25 -0
- package/dist/snapshots/index.js +10 -10
- package/dist/stale-OSQ7J3AA.js +29 -0
- package/dist/storage-MVFCGEQE.js +23 -0
- package/dist/store-coordination-provider-64OEZFGS.js +142 -0
- package/dist/sync/index.js +9 -9
- package/dist/team/index.js +15 -15
- package/dist/tiers/index.js +14 -10
- package/dist/to/index.js +1 -2
- package/dist/tx/index.js +3 -3
- package/dist/util/index.js +1 -1
- package/dist/verify-ZASTRNPR.js +140 -0
- package/dist/verify-ZASTRNPR.js.map +1 -0
- package/dist/via/blob/active.d.ts +34 -0
- package/dist/via/blob/binding.d.ts +86 -0
- package/dist/via/blob/index.d.ts +34 -0
- package/dist/via/classified/active.d.ts +3 -0
- package/dist/via/classified/binding.d.ts +83 -0
- package/dist/via/classified/config-drift.d.ts +34 -0
- package/dist/via/classified/descriptor.d.ts +66 -0
- package/dist/via/classified/errors.d.ts +19 -0
- package/dist/via/classified/guards.d.ts +23 -0
- package/dist/via/classified/index.d.ts +11 -0
- package/dist/via/classified/presets.d.ts +65 -0
- package/dist/via/classified/resolve.d.ts +9 -0
- package/dist/via/classified/strategy.d.ts +11 -0
- package/dist/via/classified/validators.d.ts +3 -0
- package/dist/via/classified/write.d.ts +4 -0
- package/dist/via/computed/binding.d.ts +34 -0
- package/dist/via/computed/descriptor.d.ts +35 -0
- package/dist/via/i18n/active.d.ts +28 -0
- package/dist/via/i18n/binding.d.ts +36 -0
- package/dist/via/i18n/core.d.ts +267 -0
- package/dist/via/i18n/densify.d.ts +24 -0
- package/dist/via/i18n/dictionary.d.ts +200 -0
- package/dist/via/i18n/index.d.ts +21 -0
- package/dist/via/i18n/policy.d.ts +44 -0
- package/dist/via/i18n/script.d.ts +26 -0
- package/dist/via/i18n/strategy.d.ts +13 -0
- package/dist/via/lookup/active.d.ts +19 -0
- package/dist/via/lookup/binding.d.ts +99 -0
- package/dist/via/lookup/descriptor.d.ts +123 -0
- package/dist/via/lookup/handle.d.ts +220 -0
- package/dist/via/lookup/index.d.ts +17 -0
- package/dist/via/lookup/registry.d.ts +228 -0
- package/dist/via/lookup/snapshot.d.ts +67 -0
- package/dist/via/money/arith.d.ts +68 -0
- package/dist/via/money/binding.d.ts +21 -0
- package/dist/via/money/branded.d.ts +61 -0
- package/dist/via/money/descriptor.d.ts +73 -0
- package/dist/via/money/fixed-point.d.ts +51 -0
- package/dist/via/money/index.d.ts +15 -0
- package/dist/via/money/iso4217.d.ts +6 -0
- package/dist/via/money/money-reducer.d.ts +33 -0
- package/dist/via/money/normalize.d.ts +105 -0
- package/dist/via/money/paths.d.ts +61 -0
- package/dist/via/money/where.d.ts +127 -0
- package/dist/walk-SVNDIZ62.js +241 -0
- package/dist/with/index.js +11 -11
- package/dist/with-audit/attestation/active.d.ts +10 -0
- package/dist/with-audit/attestation/index.d.ts +16 -0
- package/dist/with-audit/attestation/issue.d.ts +29 -0
- package/dist/with-audit/attestation/revoke.d.ts +15 -0
- package/dist/with-audit/attestation/signer.d.ts +33 -0
- package/dist/with-audit/attestation/strategy.d.ts +44 -0
- package/dist/with-audit/attestation/vault-facade.d.ts +62 -0
- package/dist/with-audit/consent/active.d.ts +14 -0
- package/dist/with-audit/consent/consent.d.ts +114 -0
- package/dist/with-audit/consent/index.d.ts +14 -0
- package/dist/with-audit/consent/strategy.d.ts +36 -0
- package/dist/with-audit/forget/active.d.ts +31 -0
- package/dist/with-audit/forget/index.d.ts +28 -0
- package/dist/with-audit/forget/purge-scope.d.ts +54 -0
- package/dist/with-audit/forget/strategy.d.ts +199 -0
- package/dist/with-audit/forget/subject-index.d.ts +83 -0
- package/dist/with-audit/guards/executor.d.ts +26 -0
- package/dist/with-audit/guards/immutable-guard.d.ts +63 -0
- package/dist/with-audit/guards/index.d.ts +10 -0
- package/dist/with-audit/guards/read-only-facade.d.ts +31 -0
- package/dist/with-audit/guards/registry.d.ts +83 -0
- package/dist/with-audit/guards/transition-guard.d.ts +82 -0
- package/dist/with-audit/guards/types.d.ts +134 -0
- package/dist/with-audit/guards/with-guard.d.ts +15 -0
- package/dist/with-audit/periods/active.d.ts +11 -0
- package/dist/with-audit/periods/index.d.ts +18 -0
- package/dist/with-audit/periods/periods.d.ts +417 -0
- package/dist/with-audit/periods/strategy.d.ts +32 -0
- package/dist/with-audit/periods/vault-facade.d.ts +95 -0
- package/dist/with-audit/portability/active.d.ts +11 -0
- package/dist/with-audit/portability/export-accessible.d.ts +46 -0
- package/dist/with-audit/portability/index.d.ts +18 -0
- package/dist/with-audit/portability/request-withdrawal.d.ts +85 -0
- package/dist/with-audit/portability/strategy.d.ts +31 -0
- package/dist/with-audit/portability/withdraw-accessible.d.ts +82 -0
- package/dist/with-audit/sealed-record/active.d.ts +9 -0
- package/dist/with-audit/sealed-record/index.d.ts +55 -0
- package/dist/with-audit/sealed-record/strategy.d.ts +34 -0
- package/dist/with-audit/sealed-record/types.d.ts +27 -0
- package/dist/with-audit/tiers/active.d.ts +9 -0
- package/dist/with-audit/tiers/index.d.ts +394 -0
- package/dist/with-audit/tiers/strategy.d.ts +36 -0
- package/dist/with-cargo/active.d.ts +11 -0
- package/dist/with-cargo/adopt-partition.d.ts +81 -0
- package/dist/with-cargo/decrypt-partition.d.ts +19 -0
- package/dist/with-cargo/describe-extraction.d.ts +41 -0
- package/dist/with-cargo/extract-partition.d.ts +155 -0
- package/dist/with-cargo/index.d.ts +33 -0
- package/dist/with-cargo/strategy.d.ts +30 -0
- package/dist/with-cargo/vault-diff.d.ts +144 -0
- package/dist/with-cargo/walk-closure.d.ts +67 -0
- package/dist/with-commit/crdt/active.d.ts +25 -0
- package/dist/with-commit/crdt/crdt.d.ts +42 -0
- package/dist/with-commit/crdt/index.d.ts +16 -0
- package/dist/with-commit/crdt/strategy.d.ts +25 -0
- package/dist/with-commit/history/active.d.ts +40 -0
- package/dist/with-commit/history/diff.d.ts +23 -0
- package/dist/with-commit/history/history.d.ts +73 -0
- package/dist/with-commit/history/index.d.ts +30 -0
- package/dist/with-commit/history/ledger/constants.d.ts +37 -0
- package/dist/with-commit/history/ledger/entry.d.ts +195 -0
- package/dist/with-commit/history/ledger/hash.d.ts +30 -0
- package/dist/with-commit/history/ledger/index.d.ts +19 -0
- package/dist/with-commit/history/ledger/patch.d.ts +99 -0
- package/dist/with-commit/history/ledger/store.d.ts +356 -0
- package/dist/with-commit/history/strategy.d.ts +136 -0
- package/dist/with-commit/history/time-machine.d.ts +202 -0
- package/dist/with-commit/numbering/descriptor.d.ts +27 -0
- package/dist/with-commit/numbering/index.d.ts +69 -0
- package/dist/with-commit/sequence/active.d.ts +10 -0
- package/dist/with-commit/sequence/index.d.ts +150 -0
- package/dist/with-commit/sequence/strategy.d.ts +26 -0
- package/dist/with-commit/tx/active.d.ts +27 -0
- package/dist/with-commit/tx/dry-run.d.ts +29 -0
- package/dist/with-commit/tx/elevated-handle.d.ts +59 -0
- package/dist/with-commit/tx/index.d.ts +13 -0
- package/dist/with-commit/tx/invariants.d.ts +68 -0
- package/dist/with-commit/tx/strategy.d.ts +23 -0
- package/dist/with-commit/tx/transaction.d.ts +212 -0
- package/dist/with-fork/archive/engine.d.ts +71 -0
- package/dist/with-fork/archive/index.d.ts +23 -0
- package/dist/with-fork/shadow/active.d.ts +6 -0
- package/dist/with-fork/shadow/index.d.ts +14 -0
- package/dist/with-fork/shadow/strategy.d.ts +28 -0
- package/dist/with-fork/shadow/vault-frame.d.ts +93 -0
- package/dist/with-fork/snapshots/active.d.ts +20 -0
- package/dist/with-fork/snapshots/engine.d.ts +36 -0
- package/dist/with-fork/snapshots/index.d.ts +5 -0
- package/dist/with-fork/snapshots/noydb-facade.d.ts +64 -0
- package/dist/with-fork/snapshots/policy.d.ts +23 -0
- package/dist/with-fork/snapshots/scheduler.d.ts +34 -0
- package/dist/with-fork/snapshots/strategy.d.ts +48 -0
- package/dist/with-formula/computed/index.d.ts +48 -0
- package/dist/with-formula/computed/lazy.d.ts +13 -0
- package/dist/with-formula/derivations/executor.d.ts +61 -0
- package/dist/with-formula/derivations/fanout-sidecar.d.ts +75 -0
- package/dist/with-formula/derivations/index.d.ts +6 -0
- package/dist/with-formula/derivations/registry.d.ts +67 -0
- package/dist/with-formula/derivations/stale.d.ts +39 -0
- package/dist/with-formula/derivations/strategy-hash.d.ts +1 -0
- package/dist/with-formula/derivations/types.d.ts +248 -0
- package/dist/with-formula/derivations/with-derivation.d.ts +10 -0
- package/dist/with-formula/derivations/with-rollup.d.ts +34 -0
- package/dist/with-formula/materialized-views/dependency-analyzer.d.ts +58 -0
- package/dist/with-formula/materialized-views/executor.d.ts +80 -0
- package/dist/with-formula/materialized-views/index.d.ts +11 -0
- package/dist/with-formula/materialized-views/query-hash.d.ts +23 -0
- package/dist/with-formula/materialized-views/registry.d.ts +99 -0
- package/dist/with-formula/materialized-views/stale.d.ts +113 -0
- package/dist/with-formula/materialized-views/types.d.ts +318 -0
- package/dist/with-formula/materialized-views/with-materialized-view.d.ts +24 -0
- package/dist/with-formula/overlay-views/index.d.ts +5 -0
- package/dist/with-formula/overlay-views/registry.d.ts +42 -0
- package/dist/with-formula/overlay-views/types.d.ts +97 -0
- package/dist/with-formula/overlay-views/virtual-collection.d.ts +90 -0
- package/dist/with-formula/overlay-views/with-overlayed-view.d.ts +9 -0
- package/dist/with-lookup/aggregate/active.d.ts +33 -0
- package/dist/with-lookup/aggregate/aggregation.d.ts +166 -0
- package/dist/with-lookup/aggregate/canonical-key.d.ts +16 -0
- package/dist/with-lookup/aggregate/groupby.d.ts +280 -0
- package/dist/with-lookup/aggregate/index.d.ts +23 -0
- package/dist/with-lookup/aggregate/reducers.d.ts +257 -0
- package/dist/with-lookup/aggregate/strategy.d.ts +59 -0
- package/dist/with-lookup/embeddings/cosine.d.ts +2 -0
- package/dist/with-lookup/embeddings/descriptor.d.ts +8 -0
- package/dist/with-lookup/embeddings/index.d.ts +4 -0
- package/dist/with-lookup/embeddings/vec-id.d.ts +47 -0
- package/dist/with-lookup/embeddings/vector-set.d.ts +19 -0
- package/dist/with-lookup/indexing/active.d.ts +30 -0
- package/dist/with-lookup/indexing/collection-facade.d.ts +157 -0
- package/dist/with-lookup/indexing/eager-indexes.d.ts +122 -0
- package/dist/with-lookup/indexing/index.d.ts +27 -0
- package/dist/with-lookup/indexing/lazy-builder.d.ts +102 -0
- package/dist/with-lookup/indexing/persisted-indexes.d.ts +229 -0
- package/dist/with-lookup/indexing/strategy.d.ts +56 -0
- package/dist/with-lookup/indexing/unique-constraints.d.ts +74 -0
- package/dist/with-lookup/search/active.d.ts +10 -0
- package/dist/with-lookup/search/build-docs.d.ts +15 -0
- package/dist/with-lookup/search/collection-facade.d.ts +163 -0
- package/dist/with-lookup/search/fuse.d.ts +22 -0
- package/dist/with-lookup/search/index-store.d.ts +19 -0
- package/dist/with-lookup/search/index.d.ts +19 -0
- package/dist/with-lookup/search/inverted-index.d.ts +47 -0
- package/dist/with-lookup/search/persisted-index-store.d.ts +121 -0
- package/dist/with-lookup/search/retrieve-types.d.ts +29 -0
- package/dist/with-lookup/search/scan.d.ts +28 -0
- package/dist/with-lookup/search/segment.d.ts +15 -0
- package/dist/with-lookup/search/serialize.d.ts +4 -0
- package/dist/with-lookup/search/snippet.d.ts +5 -0
- package/dist/with-lookup/search/strategy.d.ts +41 -0
- package/dist/with-lookup/search/tokenize.d.ts +12 -0
- package/dist/with-party/auth-introspection/index.d.ts +44 -0
- package/dist/with-party/broker/active.d.ts +23 -0
- package/dist/with-party/broker/index.d.ts +28 -0
- package/dist/with-party/broker/seed.d.ts +77 -0
- package/dist/with-party/custody/active.d.ts +10 -0
- package/dist/with-party/custody/index.d.ts +69 -0
- package/dist/with-party/custody/liberate.d.ts +64 -0
- package/dist/with-party/custody/strategy.d.ts +48 -0
- package/dist/with-party/directory/index.d.ts +11 -0
- package/dist/with-party/directory/public-envelope/index.d.ts +12 -0
- package/dist/with-party/directory/public-envelope/schema.d.ts +24 -0
- package/dist/with-party/directory/public-envelope/storage.d.ts +59 -0
- package/dist/with-party/directory/public-envelope/types.d.ts +80 -0
- package/dist/with-party/directory/storage.d.ts +33 -0
- package/dist/with-party/directory/types.d.ts +43 -0
- package/dist/with-party/directory/user-envelope/api.d.ts +201 -0
- package/dist/with-party/directory/user-envelope/index.d.ts +12 -0
- package/dist/with-party/directory/user-envelope/storage.d.ts +54 -0
- package/dist/with-party/directory/visibility.d.ts +47 -0
- package/dist/with-party/policy/engine.d.ts +60 -0
- package/dist/with-party/policy/index.d.ts +15 -0
- package/dist/with-party/policy/noydb-facade.d.ts +39 -0
- package/dist/with-party/policy/presets.d.ts +38 -0
- package/dist/with-party/policy/storage.d.ts +31 -0
- package/dist/with-party/session/active.d.ts +34 -0
- package/dist/with-party/session/dev-unlock.d.ts +128 -0
- package/dist/with-party/session/index.d.ts +23 -0
- package/dist/with-party/session/session-policy.d.ts +92 -0
- package/dist/with-party/session/session.d.ts +131 -0
- package/dist/with-party/session/strategy.d.ts +42 -0
- package/dist/with-party/session/unlock-state.d.ts +47 -0
- package/dist/with-party/sync/index.d.ts +31 -0
- package/dist/with-party/tab-coordination.d.ts +73 -0
- package/dist/with-party/tab-write-relay.d.ts +39 -0
- package/dist/with-party/team/active.d.ts +13 -0
- package/dist/with-party/team/authenticators.d.ts +95 -0
- package/dist/with-party/team/deed.d.ts +97 -0
- package/dist/with-party/team/delegation.d.ts +88 -0
- package/dist/with-party/team/index.d.ts +38 -0
- package/dist/with-party/team/keyring.d.ts +318 -0
- package/dist/with-party/team/magic-link-grant.d.ts +152 -0
- package/dist/with-party/team/managed-passphrase.d.ts +280 -0
- package/dist/with-party/team/noydb-facade.d.ts +484 -0
- package/dist/with-party/team/peer-recover.d.ts +81 -0
- package/dist/with-party/team/presence.d.ts +81 -0
- package/dist/with-party/team/recovery.d.ts +191 -0
- package/dist/with-party/team/reserved-secret-collections.d.ts +41 -0
- package/dist/with-party/team/rotate-recover.d.ts +275 -0
- package/dist/with-party/team/shamir-recovery-provider.d.ts +15 -0
- package/dist/with-party/team/strategy.d.ts +9 -0
- package/dist/with-party/team/sync-active.d.ts +33 -0
- package/dist/with-party/team/sync-credentials.d.ts +113 -0
- package/dist/with-party/team/sync-strategy.d.ts +67 -0
- package/dist/with-party/team/sync-transaction.d.ts +39 -0
- package/dist/with-party/team/sync.d.ts +174 -0
- package/dist/with-party/team/tiers.d.ts +39 -0
- package/dist/with-party/team/wrapped-deks.d.ts +86 -0
- package/dist/with-pod/backup.d.ts +74 -0
- package/dist/with-pod/bundle.d.ts +414 -0
- package/dist/with-pod/format.d.ts +203 -0
- package/dist/with-pod/index.d.ts +20 -0
- package/dist/with-pod/pod-store.d.ts +54 -0
- package/dist/with-pod/ulid.d.ts +64 -0
- package/dist/with-shape/blobs/blob-compaction.d.ts +170 -0
- package/dist/with-shape/blobs/blob-intent.d.ts +153 -0
- package/dist/with-shape/blobs/blob-set.d.ts +1286 -0
- package/dist/with-shape/blobs/export-blobs.d.ts +110 -0
- package/dist/with-shape/blobs/import-external.d.ts +50 -0
- package/dist/with-shape/blobs/mime-magic.d.ts +48 -0
- package/dist/with-shape/blobs/object-projection.d.ts +70 -0
- package/dist/with-shape/introspection/describe.d.ts +237 -0
- package/dist/with-shape/introspection/field-meta.d.ts +61 -0
- package/dist/with-shape/introspection/fields.d.ts +14 -0
- package/dist/with-shape/introspection/index.d.ts +12 -0
- package/dist/with-shape/introspection/json-schema.d.ts +13 -0
- package/dist/with-shape/introspection/meta.d.ts +22 -0
- package/dist/with-shape/introspection/projection.d.ts +13 -0
- package/dist/with-shape/introspection/types.d.ts +154 -0
- package/dist/with-shape/introspection/walk.d.ts +50 -0
- package/dist/with-shape/links/lazy-handle.d.ts +36 -0
- package/dist/with-shape/links/link-set.d.ts +67 -0
- package/dist/with-shape/links/names.d.ts +65 -0
- package/dist/with-shape/links/vault-facade.d.ts +211 -0
- package/dist/with-shape/persisted-schemas/canonicalize.d.ts +11 -0
- package/dist/with-shape/persisted-schemas/derive.d.ts +29 -0
- package/dist/with-shape/persisted-schemas/index.d.ts +21 -0
- package/dist/with-shape/persisted-schemas/register.d.ts +66 -0
- package/dist/with-shape/persisted-schemas/storage.d.ts +61 -0
- package/dist/with-shape/persisted-schemas/types.d.ts +54 -0
- package/dist/with-shape/satellites/dead-filter.d.ts +21 -0
- package/dist/with-shape/satellites/declare.d.ts +60 -0
- package/dist/with-shape/satellites/existence.d.ts +5 -0
- package/dist/with-shape/satellites/fanout.d.ts +38 -0
- package/dist/with-shape/satellites/forget.d.ts +47 -0
- package/dist/with-shape/satellites/index.d.ts +3 -0
- package/dist/with-shape/satellites/joined.d.ts +19 -0
- package/dist/with-shape/satellites/marker.d.ts +10 -0
- package/dist/with-shape/satellites/migrate-cek.d.ts +26 -0
- package/dist/with-shape/satellites/post-register.d.ts +6 -0
- package/dist/with-shape/satellites/proxy.d.ts +37 -0
- package/dist/with-shape/satellites/raw-target.d.ts +14 -0
- package/dist/with-shape/satellites/registry.d.ts +19 -0
- package/dist/with-shape/satellites/types.d.ts +37 -0
- package/dist/with-shape/satellites/validate.d.ts +17 -0
- package/dist/with-shape/schema-update/client-registry.d.ts +35 -0
- package/dist/with-shape/schema-update/cutover.d.ts +5 -0
- package/dist/with-shape/schema-update/delta.d.ts +2 -0
- package/dist/with-shape/schema-update/dispatch.d.ts +3 -0
- package/dist/with-shape/schema-update/fence-controller.d.ts +62 -0
- package/dist/with-shape/schema-update/fence-watcher.d.ts +37 -0
- package/dist/with-shape/schema-update/fence.d.ts +15 -0
- package/dist/with-shape/schema-update/gate.d.ts +16 -0
- package/dist/with-shape/schema-update/index.d.ts +6 -0
- package/dist/with-shape/schema-update/store-coordination-provider.d.ts +29 -0
- package/dist/with-shape/schema-update/strategies.d.ts +12 -0
- package/dist/with-shape/schema-update/types.d.ts +53 -0
- package/dist/with-store/index.d.ts +15 -0
- package/dist/with-store/lazy/active.d.ts +12 -0
- package/dist/with-store/lazy/index.d.ts +14 -0
- package/dist/with-store/lazy/strategy.d.ts +9 -0
- package/dist/with-store/route-store.d.ts +259 -0
- package/dist/with-store/store-middleware.d.ts +189 -0
- package/dist/withdraw-accessible-WZIEVWSR.js +28 -0
- package/package.json +47 -55
- package/dist/adapter/index.d.ts +0 -5
- package/dist/adapter/index.js +0 -15
- package/dist/aggregate/index.d.ts +0 -42
- package/dist/api-JDWL67WL.js +0 -20
- package/dist/as/index.d.ts +0 -7
- package/dist/at/index.d.ts +0 -5
- package/dist/attestation/index.d.ts +0 -20
- package/dist/backup-WRGNTGJF.js +0 -225
- package/dist/backup-WRGNTGJF.js.map +0 -1
- package/dist/blobs/index.d.ts +0 -44
- package/dist/bundle/index.d.ts +0 -122
- package/dist/bundle-DzWtVw7w.d.ts +0 -548
- package/dist/by/index.d.ts +0 -1
- package/dist/cargo/index.d.ts +0 -9
- package/dist/chunk-25G7PUTA.js +0 -235
- package/dist/chunk-26FSVNBL.js +0 -34
- package/dist/chunk-2PJB6H3H.js +0 -167
- package/dist/chunk-2PJB6H3H.js.map +0 -1
- package/dist/chunk-37JZR7CY.js +0 -91
- package/dist/chunk-3KBK5LU4.js +0 -117
- package/dist/chunk-3YKBGS3I.js +0 -686
- package/dist/chunk-3YKBGS3I.js.map +0 -1
- package/dist/chunk-44DV37ZV.js +0 -75
- package/dist/chunk-44DV37ZV.js.map +0 -1
- package/dist/chunk-47C4CI7R.js +0 -108
- package/dist/chunk-47C4CI7R.js.map +0 -1
- package/dist/chunk-4VDFUBTS.js +0 -275
- package/dist/chunk-4VDFUBTS.js.map +0 -1
- package/dist/chunk-55LSDABW.js +0 -94
- package/dist/chunk-56JB2BGI.js +0 -13003
- package/dist/chunk-56JB2BGI.js.map +0 -1
- package/dist/chunk-5GQE5IDB.js +0 -513
- package/dist/chunk-5GQE5IDB.js.map +0 -1
- package/dist/chunk-5HRJQSKN.js +0 -202
- package/dist/chunk-5HZULLHE.js +0 -404
- package/dist/chunk-5JQMX2EH.js +0 -50
- package/dist/chunk-5UOPIPZC.js +0 -95
- package/dist/chunk-5YBUFCFF.js +0 -135
- package/dist/chunk-62APEMF3.js +0 -280
- package/dist/chunk-62APEMF3.js.map +0 -1
- package/dist/chunk-6P5AJ2ZS.js +0 -120
- package/dist/chunk-6P5AJ2ZS.js.map +0 -1
- package/dist/chunk-6PALJTC2.js +0 -430
- package/dist/chunk-6PALJTC2.js.map +0 -1
- package/dist/chunk-6S7T6WC4.js +0 -111
- package/dist/chunk-6S7T6WC4.js.map +0 -1
- package/dist/chunk-6Z435B6N.js +0 -1656
- package/dist/chunk-6Z435B6N.js.map +0 -1
- package/dist/chunk-723XB5NX.js +0 -86
- package/dist/chunk-7CZ6YXMO.js +0 -124
- package/dist/chunk-7KTL4RHZ.js +0 -120
- package/dist/chunk-7KTL4RHZ.js.map +0 -1
- package/dist/chunk-7TAV3BFQ.js +0 -766
- package/dist/chunk-7TAV3BFQ.js.map +0 -1
- package/dist/chunk-BASCPHNM.js +0 -380
- package/dist/chunk-BASCPHNM.js.map +0 -1
- package/dist/chunk-BGIZAFY7.js +0 -1
- package/dist/chunk-BJ2XF2RC.js +0 -823
- package/dist/chunk-BM6E4MUT.js +0 -881
- package/dist/chunk-BM6E4MUT.js.map +0 -1
- package/dist/chunk-BTFTHF6Q.js +0 -42
- package/dist/chunk-C4NOLA5X.js +0 -132
- package/dist/chunk-C4NOLA5X.js.map +0 -1
- package/dist/chunk-CHK5VVMI.js +0 -155
- package/dist/chunk-DCVVCJVB.js +0 -45
- package/dist/chunk-EU7HDMT3.js +0 -54
- package/dist/chunk-F3EKFGUS.js +0 -99
- package/dist/chunk-FCOZ7DEC.js +0 -355
- package/dist/chunk-FCOZ7DEC.js.map +0 -1
- package/dist/chunk-FWART3VA.js +0 -205
- package/dist/chunk-FZK3JJJK.js +0 -150
- package/dist/chunk-GDOOG5YQ.js +0 -382
- package/dist/chunk-GLVXQU3E.js +0 -155
- package/dist/chunk-HU55NPHZ.js +0 -80
- package/dist/chunk-I6JJ6VJS.js +0 -97
- package/dist/chunk-I6URUNTD.js +0 -59
- package/dist/chunk-IARAK3PK.js +0 -14
- package/dist/chunk-II6DLDZM.js +0 -30
- package/dist/chunk-J5YUA6JB.js +0 -23
- package/dist/chunk-J7OH6R4K.js +0 -49
- package/dist/chunk-K2WCO3NX.js +0 -1
- package/dist/chunk-L6Q5NA22.js +0 -40
- package/dist/chunk-LFGJG4XZ.js +0 -30
- package/dist/chunk-M3OYTM5Z.js +0 -85
- package/dist/chunk-MOQ5M46U.js +0 -209
- package/dist/chunk-NTPWQH4S.js +0 -589
- package/dist/chunk-OJ64XMPJ.js +0 -1434
- package/dist/chunk-OJ64XMPJ.js.map +0 -1
- package/dist/chunk-OWGAXPRE.js +0 -129
- package/dist/chunk-P2PEPSPK.js +0 -230
- package/dist/chunk-P6TZ3IVN.js +0 -453
- package/dist/chunk-P6TZ3IVN.js.map +0 -1
- package/dist/chunk-PAJCRV7O.js +0 -123
- package/dist/chunk-PMMV5SQC.js +0 -416
- package/dist/chunk-PMMV5SQC.js.map +0 -1
- package/dist/chunk-PPPZIBKY.js +0 -261
- package/dist/chunk-PPPZIBKY.js.map +0 -1
- package/dist/chunk-PVC2FBCQ.js +0 -45
- package/dist/chunk-PYIUDUGS.js +0 -36
- package/dist/chunk-QABECTNN.js +0 -255
- package/dist/chunk-QYMMMKOO.js +0 -164
- package/dist/chunk-R4IVPJHN.js +0 -130
- package/dist/chunk-REWTMYSF.js +0 -32
- package/dist/chunk-REWTMYSF.js.map +0 -1
- package/dist/chunk-RNYDHIQL.js +0 -367
- package/dist/chunk-RUIMKQTA.js +0 -23
- package/dist/chunk-RUIMKQTA.js.map +0 -1
- package/dist/chunk-TCGVRKOS.js +0 -367
- package/dist/chunk-TIAYXOEI.js +0 -99
- package/dist/chunk-TQ3REHVF.js +0 -95
- package/dist/chunk-TQ3REHVF.js.map +0 -1
- package/dist/chunk-TUL5YQWF.js +0 -777
- package/dist/chunk-U7LV2DUN.js +0 -74
- package/dist/chunk-UB3XHGFG.js +0 -181
- package/dist/chunk-UB3XHGFG.js.map +0 -1
- package/dist/chunk-UMH35AQV.js +0 -70
- package/dist/chunk-UWZ7O4NR.js +0 -29
- package/dist/chunk-V76PHWLE.js +0 -41
- package/dist/chunk-VFQOE76I.js +0 -69
- package/dist/chunk-VIWOGJ2O.js +0 -71
- package/dist/chunk-VK6OC22R.js +0 -37
- package/dist/chunk-VK6OC22R.js.map +0 -1
- package/dist/chunk-VVLOWY74.js +0 -150
- package/dist/chunk-VVLOWY74.js.map +0 -1
- package/dist/chunk-W3JABOVB.js +0 -53
- package/dist/chunk-W3JABOVB.js.map +0 -1
- package/dist/chunk-WPNP3NF5.js +0 -1221
- package/dist/chunk-WPNP3NF5.js.map +0 -1
- package/dist/chunk-X5QZAJDB.js +0 -59
- package/dist/chunk-X6VNIRHS.js +0 -239
- package/dist/chunk-X6VNIRHS.js.map +0 -1
- package/dist/chunk-XBPUVQDO.js +0 -664
- package/dist/chunk-XBPUVQDO.js.map +0 -1
- package/dist/chunk-XW5LZYV4.js +0 -21
- package/dist/chunk-YTCCC6NG.js +0 -320
- package/dist/chunk-YTCCC6NG.js.map +0 -1
- package/dist/classified/index.d.ts +0 -17
- package/dist/collection-facade-EJVIN2BY.js +0 -39
- package/dist/computed-6FOFXQPE.js +0 -11
- package/dist/config-drift-RFEVGBKR.js +0 -24
- package/dist/config-drift-RFEVGBKR.js.map +0 -1
- package/dist/consent/index.d.ts +0 -23
- package/dist/crdt/index.d.ts +0 -34
- package/dist/dead-filter-RHMNYOXP.js +0 -28
- package/dist/decrypt-partition-IHtxEnTi.d.ts +0 -21
- package/dist/delegation-IHXOASHV.js +0 -25
- package/dist/derivations/index.d.ts +0 -70
- package/dist/derive-CD3ZVIXK.js +0 -21
- package/dist/describe/index.d.ts +0 -1
- package/dist/describe/index.js +0 -1
- package/dist/describe-C6iHNlqJ.d.ts +0 -162
- package/dist/dev-unlock-wgQ7Ci5I.d.ts +0 -263
- package/dist/discriminant-BN9REW3o.d.ts +0 -60
- package/dist/enclave-KGEUW2GL.js +0 -123
- package/dist/executor-EUPYHCLU.js +0 -9
- package/dist/executor-KZ4B3PRT.js +0 -9
- package/dist/executor-MHUM2VZK.js +0 -21
- package/dist/export-accessible-Z3NSZZHN.js +0 -23
- package/dist/extract-partition-VSKT35JG.js +0 -36
- package/dist/fanout-sidecar-NBDKKCHT.js +0 -74
- package/dist/find-OH4BEULF.js +0 -11
- package/dist/forget/index.d.ts +0 -36
- package/dist/guards/index.d.ts +0 -35
- package/dist/hash-CwHnoKyW.d.ts +0 -72
- package/dist/history/index.d.ts +0 -61
- package/dist/i18n/index.d.ts +0 -37
- package/dist/in/index.d.ts +0 -5
- package/dist/index-B9QdHytu.d.ts +0 -123
- package/dist/index-CTvUp94-.d.ts +0 -123
- package/dist/index-Dn5GzPg_.d.ts +0 -22138
- package/dist/indexing/index.d.ts +0 -39
- package/dist/issue-AEOL6RXA.js +0 -19
- package/dist/kernel/index.d.ts +0 -32
- package/dist/kernel/index.js +0 -59
- package/dist/lazy/index.d.ts +0 -21
- package/dist/ledger-3LR3YO2W.js +0 -42
- package/dist/liberate-XSEPRWEA.js +0 -24
- package/dist/link-set-NSUIX6BR.js +0 -31
- package/dist/materialized-views/index.d.ts +0 -173
- package/dist/mime-magic-CYbFNQ4h.d.ts +0 -103
- package/dist/noydb-POVTIVQ6.js +0 -62
- package/dist/on/index.d.ts +0 -5
- package/dist/overlay-views/index.d.ts +0 -98
- package/dist/periods/index.d.ts +0 -20
- package/dist/pod/index.d.ts +0 -63
- package/dist/policy-Y7HL2KGA.js +0 -41
- package/dist/portability/index.d.ts +0 -20
- package/dist/post-register-KOFRTCDD.js +0 -55
- package/dist/post-register-KOFRTCDD.js.map +0 -1
- package/dist/public-envelope-NC7SPNMV.js +0 -32
- package/dist/query/index.d.ts +0 -5
- package/dist/read-only-facade-5ADRJVTM.js +0 -8
- package/dist/register-3D6R2MKN.js +0 -23
- package/dist/registry-AI4E46PD.js +0 -19
- package/dist/registry-HSNQ4NBP.js +0 -9
- package/dist/registry-WIX6QCV5.js +0 -17
- package/dist/request-withdrawal-GU4XS2R5.js +0 -31
- package/dist/reveal-5Y777N5Q.js +0 -38
- package/dist/reveal-5Y777N5Q.js.map +0 -1
- package/dist/revoke-ZFETCLYV.js +0 -24
- package/dist/revoke-ZFETCLYV.js.map +0 -1
- package/dist/satellites/index.d.ts +0 -5
- package/dist/sealed-record/index.d.ts +0 -69
- package/dist/session/index.d.ts +0 -44
- package/dist/shadow/index.d.ts +0 -15
- package/dist/signer-GAIMQQ2J.js +0 -25
- package/dist/signer-GAIMQQ2J.js.map +0 -1
- package/dist/snapshots/index.d.ts +0 -26
- package/dist/stale-77LP2EEF.js +0 -14
- package/dist/stale-77LP2EEF.js.map +0 -1
- package/dist/storage-KEXIXLGM.js +0 -23
- package/dist/storage-KEXIXLGM.js.map +0 -1
- package/dist/store-coordination-provider-NJDDZ264.js +0 -142
- package/dist/subject-index-O75wKshW.d.ts +0 -362
- package/dist/sync/index.d.ts +0 -41
- package/dist/team/index.d.ts +0 -155
- package/dist/tiers/index.d.ts +0 -5
- package/dist/to/index.d.ts +0 -5
- package/dist/transition-guard-D5RLJv8S.d.ts +0 -165
- package/dist/tx/index.d.ts +0 -35
- package/dist/ui/index.d.ts +0 -1
- package/dist/ulid-DRH25k3y.d.ts +0 -66
- package/dist/util/index.d.ts +0 -79
- package/dist/validators-C3lrVF-c.d.ts +0 -101
- package/dist/vault-diff-_LSIcOMv.d.ts +0 -147
- package/dist/verify-CAYGXYNO.js +0 -139
- package/dist/verify-CAYGXYNO.js.map +0 -1
- package/dist/walk-SMAE4IEI.js +0 -241
- package/dist/with/index.d.ts +0 -38
- package/dist/with-materialized-view-Xv1-9Bh0.d.ts +0 -27
- package/dist/with-overlayed-view-CuWhq_-C.d.ts +0 -12
- package/dist/with-rollup-K_iwal4b.d.ts +0 -47
- package/dist/withdraw-accessible-Q7BULAN5.js +0 -28
- package/dist/withdraw-accessible-Q7BULAN5.js.map +0 -1
- /package/dist/{adapter/index.js.map → api-ZGS6LCOF.js.map} +0 -0
- /package/dist/{chunk-VIWOGJ2O.js.map → chunk-3B5VVCNY.js.map} +0 -0
- /package/dist/{chunk-P2PEPSPK.js.map → chunk-3LQ2YKO4.js.map} +0 -0
- /package/dist/{chunk-EU7HDMT3.js.map → chunk-3QCRBHCY.js.map} +0 -0
- /package/dist/{chunk-FZK3JJJK.js.map → chunk-4JBYV75E.js.map} +0 -0
- /package/dist/{chunk-I6JJ6VJS.js.map → chunk-4NXKCLLQ.js.map} +0 -0
- /package/dist/{chunk-VFQOE76I.js.map → chunk-5M5DVGV7.js.map} +0 -0
- /package/dist/{chunk-LFGJG4XZ.js.map → chunk-5YOLBEQ6.js.map} +0 -0
- /package/dist/{chunk-OWGAXPRE.js.map → chunk-6CRIV7DE.js.map} +0 -0
- /package/dist/{chunk-QABECTNN.js.map → chunk-6QTNZJBS.js.map} +0 -0
- /package/dist/{chunk-723XB5NX.js.map → chunk-6T2SCQRU.js.map} +0 -0
- /package/dist/{chunk-PVC2FBCQ.js.map → chunk-7DSTRQIJ.js.map} +0 -0
- /package/dist/{chunk-NTPWQH4S.js.map → chunk-AUSTCW2X.js.map} +0 -0
- /package/dist/{chunk-MOQ5M46U.js.map → chunk-B3HJYUOF.js.map} +0 -0
- /package/dist/{chunk-QYMMMKOO.js.map → chunk-BDVFPG6Y.js.map} +0 -0
- /package/dist/{chunk-PYIUDUGS.js.map → chunk-CAF6WOK7.js.map} +0 -0
- /package/dist/{chunk-5HZULLHE.js.map → chunk-CIE2BASH.js.map} +0 -0
- /package/dist/{chunk-BTFTHF6Q.js.map → chunk-CRI4OUV4.js.map} +0 -0
- /package/dist/{chunk-37JZR7CY.js.map → chunk-DLG74CNB.js.map} +0 -0
- /package/dist/{chunk-TCGVRKOS.js.map → chunk-ERJ7FU55.js.map} +0 -0
- /package/dist/{chunk-FWART3VA.js.map → chunk-EVVGJDRQ.js.map} +0 -0
- /package/dist/{chunk-X5QZAJDB.js.map → chunk-EXK7QRWF.js.map} +0 -0
- /package/dist/{chunk-5HRJQSKN.js.map → chunk-EYZ6IQ6X.js.map} +0 -0
- /package/dist/{chunk-DCVVCJVB.js.map → chunk-F64IRYG3.js.map} +0 -0
- /package/dist/{chunk-BJ2XF2RC.js.map → chunk-FHS2HQSH.js.map} +0 -0
- /package/dist/{chunk-HU55NPHZ.js.map → chunk-GKEWXIV5.js.map} +0 -0
- /package/dist/{chunk-I6URUNTD.js.map → chunk-GTGPO5KW.js.map} +0 -0
- /package/dist/{chunk-5UOPIPZC.js.map → chunk-HB3RFQSC.js.map} +0 -0
- /package/dist/{chunk-F3EKFGUS.js.map → chunk-I6GALP6E.js.map} +0 -0
- /package/dist/{chunk-R4IVPJHN.js.map → chunk-IL6POWCW.js.map} +0 -0
- /package/dist/{chunk-3KBK5LU4.js.map → chunk-IU6SNYX6.js.map} +0 -0
- /package/dist/{chunk-TUL5YQWF.js.map → chunk-J2ZX2XUV.js.map} +0 -0
- /package/dist/{chunk-UWZ7O4NR.js.map → chunk-JKJOGPZN.js.map} +0 -0
- /package/dist/{chunk-V76PHWLE.js.map → chunk-JZUV47FZ.js.map} +0 -0
- /package/dist/{chunk-II6DLDZM.js.map → chunk-K5IMOGHB.js.map} +0 -0
- /package/dist/{chunk-GDOOG5YQ.js.map → chunk-LASZKVMO.js.map} +0 -0
- /package/dist/{chunk-5YBUFCFF.js.map → chunk-NR5LT5RY.js.map} +0 -0
- /package/dist/{chunk-UMH35AQV.js.map → chunk-Q5VNKNE5.js.map} +0 -0
- /package/dist/{chunk-XW5LZYV4.js.map → chunk-QLWMEXCT.js.map} +0 -0
- /package/dist/{chunk-PAJCRV7O.js.map → chunk-QRB7NAOJ.js.map} +0 -0
- /package/dist/{chunk-U7LV2DUN.js.map → chunk-R4ROFEYC.js.map} +0 -0
- /package/dist/{chunk-RNYDHIQL.js.map → chunk-RIX4V2TB.js.map} +0 -0
- /package/dist/{chunk-L6Q5NA22.js.map → chunk-RYCTDFUX.js.map} +0 -0
- /package/dist/{chunk-CHK5VVMI.js.map → chunk-RZ5SVOYR.js.map} +0 -0
- /package/dist/{chunk-TIAYXOEI.js.map → chunk-SLFHQTTW.js.map} +0 -0
- /package/dist/{chunk-J5YUA6JB.js.map → chunk-UNFPPVNI.js.map} +0 -0
- /package/dist/{chunk-25G7PUTA.js.map → chunk-VLFCJYTL.js.map} +0 -0
- /package/dist/{chunk-7CZ6YXMO.js.map → chunk-VN3DBQAU.js.map} +0 -0
- /package/dist/{chunk-J7OH6R4K.js.map → chunk-VZRODIM3.js.map} +0 -0
- /package/dist/{chunk-55LSDABW.js.map → chunk-W22IKJE2.js.map} +0 -0
- /package/dist/{chunk-GLVXQU3E.js.map → chunk-X3YYQWOQ.js.map} +0 -0
- /package/dist/{chunk-M3OYTM5Z.js.map → chunk-YFXZEAYK.js.map} +0 -0
- /package/dist/{chunk-5JQMX2EH.js.map → chunk-ZAJAVEXY.js.map} +0 -0
- /package/dist/{chunk-26FSVNBL.js.map → chunk-ZICD77GM.js.map} +0 -0
- /package/dist/{chunk-IARAK3PK.js.map → chunk-ZUODRVHY.js.map} +0 -0
- /package/dist/{api-JDWL67WL.js.map → collection-facade-TLWIPI76.js.map} +0 -0
- /package/dist/{chunk-BGIZAFY7.js.map → computed-ZIQTYTDI.js.map} +0 -0
- /package/dist/{dead-filter-RHMNYOXP.js.map → dead-filter-ESOBZZP5.js.map} +0 -0
- /package/dist/{chunk-K2WCO3NX.js.map → delegation-W7ZV2322.js.map} +0 -0
- /package/dist/{collection-facade-EJVIN2BY.js.map → derive-H2BJTLUI.js.map} +0 -0
- /package/dist/{computed-6FOFXQPE.js.map → enclave-AP3I5W7O.js.map} +0 -0
- /package/dist/{delegation-IHXOASHV.js.map → executor-KGWTNEQD.js.map} +0 -0
- /package/dist/{derive-CD3ZVIXK.js.map → executor-OVEXR6RT.js.map} +0 -0
- /package/dist/{describe/index.js.map → executor-UNEH5ZYH.js.map} +0 -0
- /package/dist/{enclave-KGEUW2GL.js.map → export-accessible-PCMXSUZS.js.map} +0 -0
- /package/dist/{executor-EUPYHCLU.js.map → extract-partition-SWHFSYJO.js.map} +0 -0
- /package/dist/{fanout-sidecar-NBDKKCHT.js.map → fanout-sidecar-A765THMX.js.map} +0 -0
- /package/dist/{executor-KZ4B3PRT.js.map → find-N6345CNT.js.map} +0 -0
- /package/dist/{executor-MHUM2VZK.js.map → issue-5OKB6I2R.js.map} +0 -0
- /package/dist/{export-accessible-Z3NSZZHN.js.map → ledger-GFBKVPV4.js.map} +0 -0
- /package/dist/{extract-partition-VSKT35JG.js.map → liberate-3VDOT4KO.js.map} +0 -0
- /package/dist/{find-OH4BEULF.js.map → link-set-Z7Q2ASFX.js.map} +0 -0
- /package/dist/{issue-AEOL6RXA.js.map → noydb-ZCJOYBDI.js.map} +0 -0
- /package/dist/{kernel/index.js.map → policy-Z3RUAIY2.js.map} +0 -0
- /package/dist/{ledger-3LR3YO2W.js.map → public-envelope-B4KNWVUA.js.map} +0 -0
- /package/dist/{liberate-XSEPRWEA.js.map → read-only-facade-CHCKSEPD.js.map} +0 -0
- /package/dist/{link-set-NSUIX6BR.js.map → register-VAHONCID.js.map} +0 -0
- /package/dist/{noydb-POVTIVQ6.js.map → registry-7MLVD3VO.js.map} +0 -0
- /package/dist/{policy-Y7HL2KGA.js.map → registry-EPKPD5SM.js.map} +0 -0
- /package/dist/{public-envelope-NC7SPNMV.js.map → registry-P5T7PS2U.js.map} +0 -0
- /package/dist/{read-only-facade-5ADRJVTM.js.map → request-withdrawal-TI3A5WPS.js.map} +0 -0
- /package/dist/{register-3D6R2MKN.js.map → revoke-FDRD6GRW.js.map} +0 -0
- /package/dist/{registry-AI4E46PD.js.map → signer-MUWEIUI6.js.map} +0 -0
- /package/dist/{registry-HSNQ4NBP.js.map → stale-OSQ7J3AA.js.map} +0 -0
- /package/dist/{registry-WIX6QCV5.js.map → storage-MVFCGEQE.js.map} +0 -0
- /package/dist/{store-coordination-provider-NJDDZ264.js.map → store-coordination-provider-64OEZFGS.js.map} +0 -0
- /package/dist/{walk-SMAE4IEI.js.map → walk-SVNDIZ62.js.map} +0 -0
- /package/dist/{request-withdrawal-GU4XS2R5.js.map → withdraw-accessible-WZIEVWSR.js.map} +0 -0
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Aggregation reducers for the query DSL.
|
|
3
|
+
*
|
|
4
|
+
* the reducer protocol plus five built-in factories
|
|
5
|
+
* (`count`, `sum`, `avg`, `min`, `max`) consumed by `Query.aggregate()`
|
|
6
|
+
* and, in the future, `Scan.aggregate()`. Every factory accepts
|
|
7
|
+
* an optional `{ seed }` parameter that is plumbed through the
|
|
8
|
+
* protocol but unused by the executor — that's the load-bearing
|
|
9
|
+
* half of constraint #2. When partition-aware aggregation
|
|
10
|
+
* lands, the seed carries the previous partition's running total into
|
|
11
|
+
* the next partition without requiring a protocol change.
|
|
12
|
+
*
|
|
13
|
+
* Reducers are intentionally generic over their internal state type
|
|
14
|
+
* `S` so compound reducers (avg keeps `{sum, count}`, min/max keep a
|
|
15
|
+
* value bag) can model internal bookkeeping without leaking the
|
|
16
|
+
* implementation through the accumulator's public shape. `finalize`
|
|
17
|
+
* collapses `S` back into the user-visible `R`.
|
|
18
|
+
*
|
|
19
|
+
* Reducers are pure data — `init` / `step` / `finalize` / optional
|
|
20
|
+
* `remove` are stateless functions that receive and return `S`. This
|
|
21
|
+
* is the shape that admits O(1) incremental maintenance in a future
|
|
22
|
+
* optimization (delta-aware `LiveAggregation` applies `step` or
|
|
23
|
+
* `remove` per delta), without blocking the simpler "full re-run on
|
|
24
|
+
* source change" that ships.
|
|
25
|
+
*/
|
|
26
|
+
import type { MoneyString } from '../../via/money/branded.js';
|
|
27
|
+
import type { QueryField } from '../../kernel/types.js';
|
|
28
|
+
/**
|
|
29
|
+
* A single reducer: factory-produced, ready to plug into an
|
|
30
|
+
* `.aggregate()` spec.
|
|
31
|
+
*
|
|
32
|
+
* Type parameters:
|
|
33
|
+
* - `R` — user-visible result type (what the aggregation returns
|
|
34
|
+
* for this slot, e.g. `number` for `sum()`)
|
|
35
|
+
* - `S` — internal state type, defaults to `R` for simple reducers
|
|
36
|
+
* that don't need compound bookkeeping
|
|
37
|
+
*
|
|
38
|
+
* A reducer is stateless: every method is pure over `S`. `init()` is
|
|
39
|
+
* called once per aggregation run to build the initial state; `step()`
|
|
40
|
+
* folds a record into the state; `remove()` (optional) un-folds a
|
|
41
|
+
* record, enabling incremental live maintenance; `finalize()` reads
|
|
42
|
+
* the final answer out of the state at the end of the run.
|
|
43
|
+
*/
|
|
44
|
+
export interface Reducer<R, S = R> {
|
|
45
|
+
/** Build the initial state for a fresh aggregation run. */
|
|
46
|
+
init(): S;
|
|
47
|
+
/** Fold a record into the state. Returns the new state. */
|
|
48
|
+
step(state: S, record: unknown): S;
|
|
49
|
+
/**
|
|
50
|
+
* Un-fold a record from the state. Returns the new state.
|
|
51
|
+
*
|
|
52
|
+
* Optional — reducers without `remove` cannot be maintained
|
|
53
|
+
* incrementally and must be re-run from scratch when the underlying
|
|
54
|
+
* record set changes. `sum`, `count`, `avg` implement `remove` in
|
|
55
|
+
* O(1); `min` and `max` implement it in O(N) worst case (when the
|
|
56
|
+
* extremum itself is removed and the next extremum must be
|
|
57
|
+
* recomputed from the remaining contributing values).
|
|
58
|
+
*/
|
|
59
|
+
remove?(state: S, record: unknown): S;
|
|
60
|
+
/** Collapse the internal state into the user-visible result. */
|
|
61
|
+
finalize(state: S): R;
|
|
62
|
+
/**
|
|
63
|
+
* Combine two independent partial states into one (then `finalize` once).
|
|
64
|
+
* Optional. MUST be associative + commutative with `init()` as identity.
|
|
65
|
+
* Never merge finalized results — only states. Enables parallel /
|
|
66
|
+
* hierarchical aggregation (e.g. cross-shard or advisor→firm rollup).
|
|
67
|
+
*/
|
|
68
|
+
merge?(a: S, b: S): S;
|
|
69
|
+
/**
|
|
70
|
+
* Identifying operation tag stamped by each built-in factory.
|
|
71
|
+
* Used by `summariseAggregateOp` in the introspection walker to
|
|
72
|
+
* render human-readable aggregate descriptors in `dumpSchema()`.
|
|
73
|
+
* Optional so third-party custom reducers are unaffected.
|
|
74
|
+
*/
|
|
75
|
+
readonly op?: 'count' | 'sum' | 'avg' | 'min' | 'max';
|
|
76
|
+
/**
|
|
77
|
+
* Field name for field-based reducers (`sum`, `avg`, `min`, `max`).
|
|
78
|
+
* Absent on `count` which aggregates over record count, not a field.
|
|
79
|
+
*/
|
|
80
|
+
readonly field?: string;
|
|
81
|
+
/**
|
|
82
|
+
* Money-only: target currency for `sum` over a multi-currency money
|
|
83
|
+
* field. Consumed by `wrapMoneyReducers` to convert per-currency
|
|
84
|
+
* subtotals to one figure. Ignored for non-money fields.
|
|
85
|
+
*/
|
|
86
|
+
readonly convertTo?: string;
|
|
87
|
+
/**
|
|
88
|
+
* Money-only: FX rate map (`'USD->EUR' → rate`) used with `convertTo`.
|
|
89
|
+
*/
|
|
90
|
+
readonly fx?: Record<string, number | string>;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Common options accepted by every reducer factory.
|
|
94
|
+
*
|
|
95
|
+
* `seed` — optional initial value for the internal state. **Unused by
|
|
96
|
+
* the executor**, plumbed through the protocol for constraint
|
|
97
|
+
* #2 (partition-aware aggregation seam). In, partitioned
|
|
98
|
+
* aggregations will pass the previous partition's carry as `seed` so
|
|
99
|
+
* a long time series can be rolled forward one partition at a time
|
|
100
|
+
* without re-aggregating closed partitions.
|
|
101
|
+
*
|
|
102
|
+
* always uses `init()` with the factory's zero value, regardless
|
|
103
|
+
* of whether `seed` was passed. Do not remove the parameter — that's
|
|
104
|
+
* the whole point of having it exist now.
|
|
105
|
+
*/
|
|
106
|
+
export interface ReducerOptions<TSeed = unknown> {
|
|
107
|
+
/** constraint #2 — seed is plumbed through but unused in. */
|
|
108
|
+
readonly seed?: TSeed;
|
|
109
|
+
/**
|
|
110
|
+
* Money-only (honored by `sum` over a multi-currency money field):
|
|
111
|
+
* convert per-currency subtotals to this currency for a single figure.
|
|
112
|
+
*/
|
|
113
|
+
readonly convertTo?: string;
|
|
114
|
+
/** Money-only: FX rate map (`'USD->EUR' → rate`) used with `convertTo`. */
|
|
115
|
+
readonly fx?: Record<string, number | string>;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Count the number of records that match the query. Ignores field
|
|
119
|
+
* values entirely — the count is over the number of records, not over
|
|
120
|
+
* the number of non-null field values in any column.
|
|
121
|
+
*/
|
|
122
|
+
export declare function count(opts?: ReducerOptions<number>): Reducer<number>;
|
|
123
|
+
/**
|
|
124
|
+
* Sum a numeric field across all matching records. Non-number values
|
|
125
|
+
* at the field path are coerced to 0 — consumers who want a different
|
|
126
|
+
* behavior (throw, skip, treat as NaN) should filter upstream via
|
|
127
|
+
* `.where()` or write a custom reducer.
|
|
128
|
+
*
|
|
129
|
+
* KNOWN LIMITATION (type imprecision): the declared result type is `number`,
|
|
130
|
+
* but when `field` is a **money** field the runtime returns a decimal *string*
|
|
131
|
+
* (e.g. `'0.30'`, or `{ EUR: '0.30' }` in multi-currency mode) — money sums are
|
|
132
|
+
* BigInt-exact in scaled space and never collapse to a float. The `number` type
|
|
133
|
+
* is therefore a lie for money fields; narrow the result yourself at the call
|
|
134
|
+
* site. A precise fix requires threading money-field declarations into the type
|
|
135
|
+
* system (tracked separately).
|
|
136
|
+
*/
|
|
137
|
+
export declare function sum(field: string, opts?: ReducerOptions<number>): Reducer<number>;
|
|
138
|
+
/**
|
|
139
|
+
* Arithmetic mean of a numeric field across all matching records.
|
|
140
|
+
*
|
|
141
|
+
* Returns `null` for an empty result set (zero records is not a
|
|
142
|
+
* well-defined denominator — returning NaN would poison downstream
|
|
143
|
+
* arithmetic, and throwing would force every consumer to wrap in
|
|
144
|
+
* try/catch just to handle "no matches"). Consumers who want an
|
|
145
|
+
* explicit zero should coalesce with `?? 0`.
|
|
146
|
+
*
|
|
147
|
+
* Internal state is `{sum, count}` so the running average can be
|
|
148
|
+
* maintained incrementally — on each delta, both fields update in
|
|
149
|
+
* O(1) and `finalize` divides. Directly storing `avg` as state would
|
|
150
|
+
* not admit incremental removal without also tracking count.
|
|
151
|
+
*/
|
|
152
|
+
export declare function avg(field: string, opts?: ReducerOptions<{
|
|
153
|
+
sum: number;
|
|
154
|
+
count: number;
|
|
155
|
+
}>): Reducer<number | null, {
|
|
156
|
+
sum: number;
|
|
157
|
+
count: number;
|
|
158
|
+
}>;
|
|
159
|
+
interface MinMaxState {
|
|
160
|
+
/**
|
|
161
|
+
* Multiset of contributing field values. Stored as a plain array
|
|
162
|
+
* because we need to support `remove` and a plain array gives us
|
|
163
|
+
* O(1) push + O(N) worst-case removal — which matches the
|
|
164
|
+
* documented min/max removal complexity. A sorted structure would
|
|
165
|
+
* let us drop the O(N) rescan but adds complexity that doesn't
|
|
166
|
+
* need; consumers hitting the O(N) ceiling should file an issue.
|
|
167
|
+
*/
|
|
168
|
+
readonly values: number[];
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Smallest numeric value of a field across all matching records.
|
|
172
|
+
* Returns `null` for an empty result set. See `avg()` for the
|
|
173
|
+
* reasoning on `null` vs NaN vs throwing.
|
|
174
|
+
*
|
|
175
|
+
* Incremental complexity: O(1) for `step`, O(N) worst case for
|
|
176
|
+
* `remove` when the current minimum is removed (the state holds the
|
|
177
|
+
* full multiset of contributing values and `finalize` scans for the
|
|
178
|
+
* new minimum). Consumers with very large result sets and frequent
|
|
179
|
+
* removals of the current extremum should either accept the cost or
|
|
180
|
+
* wait for a future optimization.
|
|
181
|
+
*/
|
|
182
|
+
export declare function min(field: string, opts?: ReducerOptions<number>): Reducer<number | null, MinMaxState>;
|
|
183
|
+
/**
|
|
184
|
+
* Largest numeric value of a field across all matching records.
|
|
185
|
+
* Mirror of `min()` — see that doc for semantics, null-on-empty
|
|
186
|
+
* behavior, and the O(N) removal caveat.
|
|
187
|
+
*/
|
|
188
|
+
export declare function max(field: string, opts?: ReducerOptions<number>): Reducer<number | null, MinMaxState>;
|
|
189
|
+
/**
|
|
190
|
+
* `sum()` for a **declared money field**, typed to match the runtime.
|
|
191
|
+
*
|
|
192
|
+
* `sum()` returns `Reducer<number>`, but `wrapMoneyReducers` (applied at
|
|
193
|
+
* `query.aggregate()` time, once `moneyFields` is known) rewrites any
|
|
194
|
+
* `sum`/`min`/`max` over a money field to a money reducer that finalizes to a
|
|
195
|
+
* `MoneyString` decimal — so the `number` type is a lie for money fields and
|
|
196
|
+
* consumers need a cast at every read site. `moneySum` is the same reducer with
|
|
197
|
+
* the correct `Reducer<MoneyString>` return type, so no read-site cast is
|
|
198
|
+
* needed. It is the caller's assertion that `field` is a money field; use plain
|
|
199
|
+
* `sum()` for non-money fields. (For a multi-currency money field WITHOUT
|
|
200
|
+
* `convertTo`, the runtime returns a per-currency `Record<string, MoneyString>`
|
|
201
|
+
* rather than a single `MoneyString` — pass `convertTo` to collapse to one
|
|
202
|
+
* currency, or read the map at the boundary.)
|
|
203
|
+
*/
|
|
204
|
+
export declare function moneySum(field: string, opts?: ReducerOptions<number>): Reducer<MoneyString>;
|
|
205
|
+
/**
|
|
206
|
+
* `min()` for a declared money field, typed `Reducer<MoneyString | null>`
|
|
207
|
+
* (null on an empty result set in fixed-currency mode, mirroring `min()`). See
|
|
208
|
+
* {@link moneySum} for the late-binding rewrite. Note: `convertTo`/`fx` on
|
|
209
|
+
* `opts` have no effect on min/max (cross-currency min/max is unsupported — use
|
|
210
|
+
* {@link moneySum} for currency conversion). In multi-currency mode the runtime
|
|
211
|
+
* returns a per-currency map and an empty result is `{}` rather than `null`.
|
|
212
|
+
*/
|
|
213
|
+
export declare function moneyMin(field: string, opts?: ReducerOptions<number>): Reducer<MoneyString | null>;
|
|
214
|
+
/**
|
|
215
|
+
* `max()` for a declared money field, typed `Reducer<MoneyString | null>`
|
|
216
|
+
* (null on an empty result set in fixed-currency mode, mirroring `max()`). See
|
|
217
|
+
* {@link moneyMin} for the `convertTo`/`fx` and multi-currency caveats.
|
|
218
|
+
*/
|
|
219
|
+
export declare function moneyMax(field: string, opts?: ReducerOptions<number>): Reducer<MoneyString | null>;
|
|
220
|
+
/**
|
|
221
|
+
* Typed builder passed to the `aggregate(b => spec)` overload.
|
|
222
|
+
*
|
|
223
|
+
* Each field-taking method narrows `field` to `QueryField<T, S>`, which
|
|
224
|
+
* excludes any field listed in the collection's `sensitive` option at
|
|
225
|
+
* compile time. `count()` carries no field argument and is always allowed.
|
|
226
|
+
*
|
|
227
|
+
* The type parameters match the `Query<T, S>` they come from:
|
|
228
|
+
* - `T` — the record type of the collection
|
|
229
|
+
* - `S` — the union of sensitive field keys (defaults to `never`)
|
|
230
|
+
*
|
|
231
|
+
* ONE shared runtime instance (`reducerBuilder`) serves all `T`/`S`
|
|
232
|
+
* combinations — the field narrowing is type-only; the methods delegate
|
|
233
|
+
* directly to the standalone factories.
|
|
234
|
+
*/
|
|
235
|
+
export interface ReducerBuilder<T, S extends keyof T = never, M extends keyof T & string = never> {
|
|
236
|
+
count(opts?: ReducerOptions<number>): Reducer<number>;
|
|
237
|
+
sum<F extends QueryField<T, S>>(field: F, opts?: ReducerOptions<number>): [F] extends [M] ? Reducer<MoneyString> : Reducer<number>;
|
|
238
|
+
avg(field: QueryField<T, S>, opts?: ReducerOptions<{
|
|
239
|
+
sum: number;
|
|
240
|
+
count: number;
|
|
241
|
+
}>): ReturnType<typeof avg>;
|
|
242
|
+
min<F extends QueryField<T, S>>(field: F, opts?: ReducerOptions<number>): [F] extends [M] ? Reducer<MoneyString | null> : ReturnType<typeof min>;
|
|
243
|
+
max<F extends QueryField<T, S>>(field: F, opts?: ReducerOptions<number>): [F] extends [M] ? Reducer<MoneyString | null> : ReturnType<typeof max>;
|
|
244
|
+
moneySum(field: QueryField<T, S>, opts?: ReducerOptions<number>): Reducer<MoneyString>;
|
|
245
|
+
moneyMin(field: QueryField<T, S>, opts?: ReducerOptions<number>): Reducer<MoneyString | null>;
|
|
246
|
+
moneyMax(field: QueryField<T, S>, opts?: ReducerOptions<number>): Reducer<MoneyString | null>;
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Shared runtime instance for the `aggregate(b => spec)` builder form.
|
|
250
|
+
*
|
|
251
|
+
* The field-narrowing to `QueryField<T, S>` is type-only — each method
|
|
252
|
+
* delegates directly to its standalone factory. A `(field: string) => R`
|
|
253
|
+
* factory is assignable to a `(field: QueryField<T,S>) => R` method by
|
|
254
|
+
* parameter-contravariance, so this single instance works for all `T`/`S`.
|
|
255
|
+
*/
|
|
256
|
+
export declare const reducerBuilder: ReducerBuilder<Record<string, unknown>>;
|
|
257
|
+
export {};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strategy seam between the core Query / ScanBuilder chain and the
|
|
3
|
+
* optional aggregate / groupBy service. Core imports
|
|
4
|
+
* `AggregateStrategy` as a TYPE-ONLY symbol and `NO_AGGREGATE` as a
|
|
5
|
+
* tiny runtime stub.
|
|
6
|
+
*
|
|
7
|
+
* The heavy machinery — `Aggregation`, `GroupedQuery`, the
|
|
8
|
+
* reducer-step logic — is only reachable from `withAggregate()` in
|
|
9
|
+
* `./active.ts`, which is only exported through the
|
|
10
|
+
* `@noy-db/hub/aggregate` subpath. Consumers that don't import the
|
|
11
|
+
* subpath ship none of the ~886 LOC.
|
|
12
|
+
*
|
|
13
|
+
* @internal
|
|
14
|
+
*/
|
|
15
|
+
import type { Aggregation, AggregateSpec, AggregateResult, AggregationUpstream } from './aggregation.js';
|
|
16
|
+
import type { GroupedQuery, GroupedQueryN } from './groupby.js';
|
|
17
|
+
import type { ViaPipeline } from '../../kernel/via/pipeline.js';
|
|
18
|
+
/**
|
|
19
|
+
* Seam interface. `@internal` — will promote to public only when the
|
|
20
|
+
* aggregate service is extracted into its own package.
|
|
21
|
+
*
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
export interface AggregateStrategy {
|
|
25
|
+
/**
|
|
26
|
+
* Build an `Aggregation<R>` for `Query.aggregate(spec)`. `executeRecords`
|
|
27
|
+
* is a closure that produces the matching record set when the
|
|
28
|
+
* aggregation runs. NO_AGGREGATE throws; the active strategy
|
|
29
|
+
* constructs a real `Aggregation`.
|
|
30
|
+
*/
|
|
31
|
+
aggregate<Spec extends AggregateSpec>(executeRecords: () => readonly unknown[], spec: Spec, upstreams: readonly AggregationUpstream[]): Aggregation<AggregateResult<Spec>>;
|
|
32
|
+
/**
|
|
33
|
+
* Build a `GroupedQuery<T, F, S>` for `Query.groupBy(field)`. Same
|
|
34
|
+
* closure / upstream inputs as `aggregate` plus the group key field.
|
|
35
|
+
*/
|
|
36
|
+
groupBy<T, F extends string, S extends keyof T = never, M extends keyof T & string = never>(executeRecords: () => readonly unknown[], field: F, upstreams: readonly AggregationUpstream[], dictLabelResolver?: (key: string, locale: string, fallback?: string | readonly string[]) => Promise<string | undefined>, via?: ViaPipeline): GroupedQuery<T, F, S, M>;
|
|
37
|
+
/**
|
|
38
|
+
* Variadic-keyed sibling — builds a `GroupedQueryN<T, F, S>` for
|
|
39
|
+
* `Query.groupBy(...fields)`. No dictLabelResolver — `<field>Label`
|
|
40
|
+
* projection only applies to single-field groupings, which dispatch
|
|
41
|
+
* through `groupBy` above.
|
|
42
|
+
*/
|
|
43
|
+
groupByN<T, F extends readonly string[], S extends keyof T = never, M extends keyof T & string = never>(executeRecords: () => readonly unknown[], fields: F, upstreams: readonly AggregationUpstream[], via?: ViaPipeline): GroupedQueryN<T, F, S, M>;
|
|
44
|
+
/**
|
|
45
|
+
* Terminal streaming aggregator for `ScanBuilder.aggregate(spec)`.
|
|
46
|
+
* Takes an async iterable of decrypted records + the spec and
|
|
47
|
+
* returns the reduced result.
|
|
48
|
+
*/
|
|
49
|
+
scanAggregate<Spec extends AggregateSpec>(iter: AsyncIterable<unknown>, spec: Spec): Promise<AggregateResult<Spec>>;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* No-aggregate stub. Every `.aggregate()` / `.groupBy()` / streaming
|
|
53
|
+
* `scan().aggregate()` call throws with a pointer at the subpath. The
|
|
54
|
+
* real `Aggregation` / `GroupedQuery` classes are never referenced at
|
|
55
|
+
* runtime, so the bundler drops the ~886 LOC.
|
|
56
|
+
*
|
|
57
|
+
* @internal
|
|
58
|
+
*/
|
|
59
|
+
export declare const NO_AGGREGATE: AggregateStrategy;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface EmbeddingDescriptor {
|
|
2
|
+
readonly source: string | readonly string[];
|
|
3
|
+
readonly encode: (text: string) => Promise<Float32Array>;
|
|
4
|
+
readonly dim: number;
|
|
5
|
+
readonly model: string;
|
|
6
|
+
}
|
|
7
|
+
/** Concatenate the record's source-field text (skips empties; supports nested/[]-wildcard paths). */
|
|
8
|
+
export declare function embeddingSourceText(record: Record<string, unknown>, source: string | readonly string[]): string;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collection-namespaced `_vec` side-car ids (#726).
|
|
3
|
+
*
|
|
4
|
+
* `_vec` embedding side-cars used to be keyed by the bare record id,
|
|
5
|
+
* vault-wide — two collections sharing a record id shared one `_vec` row.
|
|
6
|
+
* This was verified to be a clobber/crash bug, NOT a confidentiality leak:
|
|
7
|
+
* every collection has its own DEK, and AES-GCM auth-tag verification means
|
|
8
|
+
* decrypting a foreign collection's `_vec` row under the wrong DEK throws
|
|
9
|
+
* `TamperedError` rather than returning wrong plaintext — no disclosure
|
|
10
|
+
* mechanism exists. The real bug was id collision: a same-id write/forget in
|
|
11
|
+
* one collection could clobber or delete the other collection's row, and a
|
|
12
|
+
* collection whose `similarTo()` / cold semantic `retrieve()` encountered a
|
|
13
|
+
* foreign same-id row crashed with an uncaught `TamperedError` (a DoS). The
|
|
14
|
+
* store-collection bucket stays the literal `'_vec'`; the id becomes
|
|
15
|
+
* composite: `${collection}/${recordId}`. Mirrors `encodeIdxId`
|
|
16
|
+
* (`../indexing/persisted-indexes.js`).
|
|
17
|
+
*
|
|
18
|
+
* Decode is deliberately NOT split-on-`/`: the collection is always known
|
|
19
|
+
* at the decode site (`ctx.name`), so `decodeVecId` strips that known
|
|
20
|
+
* prefix — correct even when `recordId` itself contains `/`.
|
|
21
|
+
*
|
|
22
|
+
* Precondition: `collection` itself must not contain `/` — otherwise
|
|
23
|
+
* `${collection}/${recordId}` is ambiguous (e.g. collection `'a'` would
|
|
24
|
+
* misattribute collection `'a/b'`'s rows via prefix match in `isVecIdFor`).
|
|
25
|
+
* Collection names are NOT currently restricted to a `/`-free charset by
|
|
26
|
+
* `vault.collection()`, so `encodeVecId` enforces the precondition itself,
|
|
27
|
+
* failing loud at the write boundary rather than silently misencoding.
|
|
28
|
+
*/
|
|
29
|
+
/**
|
|
30
|
+
* Encode the `_vec` side-car id for a (collection, recordId) pair.
|
|
31
|
+
* Format: `<collection>/<recordId>` — no escaping; `recordId` may contain `/`.
|
|
32
|
+
*
|
|
33
|
+
* Throws if `collection` contains `/`: that would make the composite id
|
|
34
|
+
* ambiguous against `isVecIdFor`'s prefix match (collection `'a'` would
|
|
35
|
+
* appear to own collection `'a/b'`'s rows), reintroducing the clobber/crash
|
|
36
|
+
* risk the namespacing fix exists to close.
|
|
37
|
+
*/
|
|
38
|
+
export declare function encodeVecId(collection: string, recordId: string): string;
|
|
39
|
+
/**
|
|
40
|
+
* Decode a `_vec` id back to the bare record id, given the KNOWN owning
|
|
41
|
+
* collection — strips the `<collection>/` prefix rather than splitting on
|
|
42
|
+
* `/`, so a `recordId` containing `/` round-trips correctly. Returns `null`
|
|
43
|
+
* if `vecId` does not belong to `collection`.
|
|
44
|
+
*/
|
|
45
|
+
export declare function decodeVecId(collection: string, vecId: string): string | null;
|
|
46
|
+
/** Predicate form of {@link decodeVecId} — used to filter `list()` results. */
|
|
47
|
+
export declare function isVecIdFor(collection: string, vecId: string): boolean;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface StoredVector {
|
|
2
|
+
readonly id: string;
|
|
3
|
+
readonly vec: Float32Array;
|
|
4
|
+
readonly model: string;
|
|
5
|
+
}
|
|
6
|
+
export interface VectorHit {
|
|
7
|
+
readonly id: string;
|
|
8
|
+
readonly score: number;
|
|
9
|
+
}
|
|
10
|
+
export declare class VectorSet {
|
|
11
|
+
private vectors;
|
|
12
|
+
get loaded(): boolean;
|
|
13
|
+
ensureLoaded(load: () => Promise<StoredVector[]>): Promise<void>;
|
|
14
|
+
markDirty(): void;
|
|
15
|
+
cosineTopK(query: Float32Array, k: number, opts?: {
|
|
16
|
+
minScore?: number;
|
|
17
|
+
expectModel?: string;
|
|
18
|
+
}): VectorHit[];
|
|
19
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Active indexing strategy factory. Calling `withIndexing()` returns
|
|
3
|
+
* an `IndexStrategy` whose `createState` constructs a real
|
|
4
|
+
* `CollectionIndexes` (eager) or `PersistedCollectionIndex` (lazy)
|
|
5
|
+
* per Collection, depending on the collection's `prefetch` mode and
|
|
6
|
+
* its declared `IndexDef[]`.
|
|
7
|
+
*
|
|
8
|
+
* This module is only reachable through the `@noy-db/hub/indexing`
|
|
9
|
+
* subpath — a consumer that never imports the subpath ships none of
|
|
10
|
+
* this (ESM tree-shaking + hub's `"sideEffects": false`).
|
|
11
|
+
*/
|
|
12
|
+
import type { IndexStrategy } from './strategy.js';
|
|
13
|
+
/**
|
|
14
|
+
* Build the default indexing strategy. Pass into
|
|
15
|
+
* `createNoydb({ indexStrategy: withIndexing() })` to light up the
|
|
16
|
+
* eager-mode `==/in` fast-path on `.query()` and the full lazy-mode
|
|
17
|
+
* `.lazyQuery()` + rebuild / reconcile / auto-reconcile surface.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```ts
|
|
21
|
+
* import { createNoydb } from '@noy-db/hub'
|
|
22
|
+
* import { withIndexing } from '@noy-db/hub/indexing'
|
|
23
|
+
*
|
|
24
|
+
* const db = await createNoydb({
|
|
25
|
+
* store, user, secret,
|
|
26
|
+
* indexStrategy: withIndexing(),
|
|
27
|
+
* })
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare function withIndexing(): IndexStrategy;
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collection-level index maintenance — the eager/unique rebuild-from-cache
|
|
3
|
+
* helpers, the full `rebuildIndexes` / `reconcileIndex` repair surface, and the
|
|
4
|
+
* persisted `_idx/<field>/<recordId>` side-car maintenance fired from the write
|
|
5
|
+
* path.
|
|
6
|
+
*
|
|
7
|
+
* Eager mode keeps an in-memory `CollectionIndexes` + `UniqueConstraintSet`;
|
|
8
|
+
* lazy mode keeps durable encrypted side-cars whose in-memory mirror is a
|
|
9
|
+
* `PersistedCollectionIndex`. These functions write/repair both. The unique-
|
|
10
|
+
* constraint correctness and the side-car drift reconciliation are the parts to
|
|
11
|
+
* watch: behaviour here is byte-identical to the inline code it replaced.
|
|
12
|
+
*
|
|
13
|
+
* Every function takes a small {@link IndexingContext} (the exact `this.*` the
|
|
14
|
+
* moving methods touched) instead of `this`, mirroring the `record-keys/`
|
|
15
|
+
* siblings. The eager `cache` Map and the three index/constraint mirror objects
|
|
16
|
+
* are passed by reference (the SAME instances `Collection` owns, never copied)
|
|
17
|
+
* so maintenance always mutates the live mirrors the query path reads. The
|
|
18
|
+
* `persistedIndexesLoaded` flag and `ensure*` hydration stay collection-resident
|
|
19
|
+
* and are reached via callbacks.
|
|
20
|
+
*
|
|
21
|
+
* Internal service — not exported as a `@noy-db/hub/*` subpath.
|
|
22
|
+
*/
|
|
23
|
+
import type { NoydbStore, EncryptedEnvelope } from '../../kernel/types.js';
|
|
24
|
+
import type { RecordCodec } from '../../kernel/enclave/index.js';
|
|
25
|
+
import type { NoydbEventEmitter } from '../../kernel/events.js';
|
|
26
|
+
import type { CollectionIndexes } from './eager-indexes.js';
|
|
27
|
+
import type { UniqueConstraintSet } from './unique-constraints.js';
|
|
28
|
+
import { type PersistedCollectionIndex } from './persisted-indexes.js';
|
|
29
|
+
/** Everything the moving index-maintenance methods touched on `this.*`. */
|
|
30
|
+
export interface IndexingContext<T> {
|
|
31
|
+
/** Collection name — the canonical record namespace + error context. */
|
|
32
|
+
readonly name: string;
|
|
33
|
+
/** Vault namespace the records + side-cars live under. */
|
|
34
|
+
readonly vault: string;
|
|
35
|
+
/** The ciphertext store. */
|
|
36
|
+
readonly adapter: NoydbStore;
|
|
37
|
+
/** The record codec — decrypts records + side-car bodies, encrypts side-cars. */
|
|
38
|
+
readonly codec: RecordCodec<T>;
|
|
39
|
+
/** The eager working-set cache (SHARED `Map` reference, never copied). */
|
|
40
|
+
readonly cache: Map<string, {
|
|
41
|
+
record: T;
|
|
42
|
+
version: number;
|
|
43
|
+
}>;
|
|
44
|
+
/** True in lazy mode — eager rebuild short-circuits, reconcile requires it. */
|
|
45
|
+
readonly lazy: boolean;
|
|
46
|
+
/** Event emitter — surfaces `index:write-partial` on side-car write failure. */
|
|
47
|
+
readonly emitter: NoydbEventEmitter;
|
|
48
|
+
/** The in-memory eager index mirror, or null (SHARED reference). */
|
|
49
|
+
readonly indexes: CollectionIndexes | null;
|
|
50
|
+
/** The in-memory unique-constraint mirror, or null (SHARED reference). */
|
|
51
|
+
readonly uniqueConstraints: UniqueConstraintSet | null;
|
|
52
|
+
/** The lazy-mode persisted-index mirror, or null (SHARED reference). */
|
|
53
|
+
readonly persistedIndexes: PersistedCollectionIndex | null;
|
|
54
|
+
/** Hydrate the eager cache before rebuilding from it. */
|
|
55
|
+
ensureHydrated(): Promise<void>;
|
|
56
|
+
/** Bulk-load the persisted-index mirror from side-cars (lazy mode). */
|
|
57
|
+
ensurePersistedIndexesLoaded(): Promise<void>;
|
|
58
|
+
/** Set the collection-resident `persistedIndexesLoaded` flag. */
|
|
59
|
+
setPersistedIndexesLoaded(value: boolean): void;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Rebuild the eager in-memory `CollectionIndexes` from the current cache.
|
|
63
|
+
* Called after any bulk hydration; incremental put/delete updates go through
|
|
64
|
+
* `indexes.upsert()`/`.remove()` directly, so this only fires for full reloads.
|
|
65
|
+
*/
|
|
66
|
+
export declare function rebuildEagerIndexesFromCache<T>(ctx: IndexingContext<T>): void;
|
|
67
|
+
/**
|
|
68
|
+
* Rebuild unique-constraint maps from the current in-memory cache.
|
|
69
|
+
* Called after any bulk hydration alongside `rebuildEagerIndexesFromCache`.
|
|
70
|
+
*/
|
|
71
|
+
export declare function rebuildUniqueConstraintsFromCache<T>(ctx: IndexingContext<T>): void;
|
|
72
|
+
/**
|
|
73
|
+
* Rebuild every declared index from scratch — eager refresh from cache, or a
|
|
74
|
+
* full lazy-mode side-car teardown + rewrite. NOT incremental; for per-field
|
|
75
|
+
* drift repair use {@link reconcileIndex}.
|
|
76
|
+
*/
|
|
77
|
+
export declare function rebuildIndexes<T>(ctx: IndexingContext<T>): Promise<void>;
|
|
78
|
+
/**
|
|
79
|
+
* Compare the persisted `_idx/<field>/*` side-cars against the canonical
|
|
80
|
+
* records for a single field, reporting the drift (and optionally repairing
|
|
81
|
+
* it). Lazy mode only — eager mode throws (the in-memory index cannot drift).
|
|
82
|
+
*/
|
|
83
|
+
export declare function reconcileIndex<T>(ctx: IndexingContext<T>, field: string, opts?: {
|
|
84
|
+
dryRun?: boolean;
|
|
85
|
+
}): Promise<{
|
|
86
|
+
field: string;
|
|
87
|
+
missing: string[];
|
|
88
|
+
stale: string[];
|
|
89
|
+
applied: number;
|
|
90
|
+
}>;
|
|
91
|
+
/**
|
|
92
|
+
* Write / update / delete the `_idx/<field>/<recordId>` side-cars for every
|
|
93
|
+
* declared persistence-index field after a successful main-record `put()`.
|
|
94
|
+
* Called AFTER `adapter.put()` of the main record succeeds; side-car write
|
|
95
|
+
* failures surface as `index:write-partial` and do NOT fail the put.
|
|
96
|
+
*/
|
|
97
|
+
export declare function maintainPersistedIndexesOnPut<T>(ctx: IndexingContext<T>, id: string, newRecord: T, previousRecord: T | null, version: number): Promise<void>;
|
|
98
|
+
/**
|
|
99
|
+
* Tear down `_idx/<field>/<recordId>` side-cars for a deleted record.
|
|
100
|
+
* Mirror state updates regardless of adapter outcome; adapter failures
|
|
101
|
+
* surface on `index:write-partial` the same way put does.
|
|
102
|
+
*/
|
|
103
|
+
export declare function maintainPersistedIndexesOnDelete<T>(ctx: IndexingContext<T>, id: string, previousRecord: T): Promise<void>;
|
|
104
|
+
/**
|
|
105
|
+
* @internal — hard-delete this record's persisted `_idx/<field>/<recordId>`
|
|
106
|
+
* side-cars for the erasure path. `forget()` crypto-shreds the body but
|
|
107
|
+
* keeps the collection DEK, under which these side-cars are encrypted — so
|
|
108
|
+
* without this they leave the indexed field VALUES readable after a "forget".
|
|
109
|
+
*
|
|
110
|
+
* Content-free: the side-car id is `encodeIdxId(def.key, id)`, so it needs no
|
|
111
|
+
* body decode (the body is being shredded). Eager mode has no durable side-car
|
|
112
|
+
* → no-op. The in-memory mirror is left as-is: it is ephemeral (rebuilt from
|
|
113
|
+
* the now-deleted side-cars on reopen) and live reads skip the tombstone, so a
|
|
114
|
+
* stale mirror hit cannot surface the erased record. Returns the count deleted
|
|
115
|
+
* + the `def.key`s whose delete FAILED (residue that still leaks the value).
|
|
116
|
+
*/
|
|
117
|
+
export declare function purgePersistedIndexes<T>(ctx: IndexingContext<T>, id: string): Promise<{
|
|
118
|
+
purged: number;
|
|
119
|
+
residue: string[];
|
|
120
|
+
}>;
|
|
121
|
+
/**
|
|
122
|
+
* Sync this collection's indexes after a tier move (#709). Persisted
|
|
123
|
+
* `_idx/<field>/<recordId>` side-cars are always encrypted under the
|
|
124
|
+
* tier-0 DEK regardless of the record's own tier, and the eager in-memory
|
|
125
|
+
* `CollectionIndexes` mirror holds plaintext bucket values too — so both
|
|
126
|
+
* leak an elevated record's indexed field values unless swept the same way
|
|
127
|
+
* `purgePersistedIndexes` already sweeps them for `forget()` ("forget()
|
|
128
|
+
* crypto-shreds the body but keeps the collection DEK, under which these
|
|
129
|
+
* side-cars are encrypted — so without this they leave the indexed field
|
|
130
|
+
* VALUES readable", `purgePersistedIndexes` above).
|
|
131
|
+
*
|
|
132
|
+
* `record === null` — the record just left tier 0: purge its persisted
|
|
133
|
+
* side-cars (content-free, no decrypt needed) and drop its eager-mirror
|
|
134
|
+
* entry, read from `ctx.cache` (the caller's pre-write value — the caller
|
|
135
|
+
* MUST invoke this before evicting/overwriting that cache entry, so it
|
|
136
|
+
* still reflects the value being replaced).
|
|
137
|
+
*
|
|
138
|
+
* `record` given — the record is tier-0 again: (re)build its entries from
|
|
139
|
+
* that record, using the SAME pre-write `ctx.cache` read as the previous
|
|
140
|
+
* value so a stale bucket (e.g. a same-tier `putAtTier` value change) is
|
|
141
|
+
* cleaned up rather than left as a false-positive hit. `version` stamps
|
|
142
|
+
* the rebuilt side-car's own envelope version.
|
|
143
|
+
*
|
|
144
|
+
* `priorEnvelope` (#720) — the RAW envelope the caller read BEFORE its own
|
|
145
|
+
* overwrite landed (`putAtTier`'s `existing` / `demote`'s pre-move
|
|
146
|
+
* `envelope`), for the `ctx.cache`-miss lazy case: by this call's time the
|
|
147
|
+
* adapter already holds the NEW envelope, so a `ctx.adapter.get()` here
|
|
148
|
+
* would only ever re-observe the write just made — useless for recovering
|
|
149
|
+
* what a same-tier `putAtTier` may have dropped. Optional: the null-record
|
|
150
|
+
* branches (elevate / demote-to-intermediate / putAtTier(tier>0)) never
|
|
151
|
+
* need it — their only prior-dependent step, the eager `indexes.remove`
|
|
152
|
+
* below, already has what it needs from `ctx.cache` (eager mode is
|
|
153
|
+
* unaffected by the raw-envelope overwrite; lazy mode has no eager mirror).
|
|
154
|
+
*
|
|
155
|
+
* No-ops fast when the collection has neither index kind declared.
|
|
156
|
+
*/
|
|
157
|
+
export declare function syncTierIndexes<T>(ctx: IndexingContext<T>, id: string, record: T | null, version: number, priorEnvelope?: EncryptedEnvelope): Promise<void>;
|