@noy-db/hub 0.3.0-pre.9 → 0.4.0-pre.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-3A3S4SHH.js +20 -0
- package/dist/as/index.js +11 -11
- package/dist/attestation/index.js +18 -18
- package/dist/backup-YPUEKIJC.js +242 -0
- package/dist/backup-YPUEKIJC.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-2PCAVW2I.js +50 -0
- package/dist/chunk-3ELCWU56.js +344 -0
- package/dist/chunk-3ELCWU56.js.map +1 -0
- package/dist/chunk-4GPE63GU.js +111 -0
- package/dist/chunk-4GPE63GU.js.map +1 -0
- package/dist/chunk-554KLAAN.js +778 -0
- package/dist/chunk-5PFOMHTB.js +135 -0
- package/dist/chunk-5WZXVULX.js +209 -0
- package/dist/chunk-6HPG2YNX.js +38 -0
- package/dist/chunk-6HY2X62D.js +69 -0
- package/dist/chunk-6NQMXTYC.js +123 -0
- package/dist/chunk-6XE5TMPR.js +367 -0
- package/dist/chunk-A4FXFAKF.js +45 -0
- package/dist/chunk-A5BDDEXK.js +1537 -0
- package/dist/chunk-A5BDDEXK.js.map +1 -0
- package/dist/chunk-ANATMTOA.js +205 -0
- package/dist/chunk-BOKIKJJB.js +94 -0
- package/dist/chunk-CJ5KKU6X.js +49 -0
- package/dist/chunk-CZTLE22N.js +381 -0
- package/dist/chunk-CZTLE22N.js.map +1 -0
- package/dist/chunk-DDHM2TLX.js +164 -0
- package/dist/chunk-DDHM2TLX.js.map +1 -0
- package/dist/chunk-DRWBEDYO.js +37 -0
- package/dist/chunk-DRWBEDYO.js.map +1 -0
- package/dist/chunk-DSBQODMZ.js +202 -0
- package/dist/chunk-EO43ANYJ.js +382 -0
- package/dist/chunk-EWPOHMN2.js +255 -0
- package/dist/chunk-FH52K7EG.js +50 -0
- package/dist/chunk-FH52K7EG.js.map +1 -0
- package/dist/chunk-FXZDAV62.js +826 -0
- package/dist/chunk-FXZDAV62.js.map +1 -0
- package/dist/chunk-GDG5VVYG.js +167 -0
- package/dist/chunk-GDG5VVYG.js.map +1 -0
- package/dist/chunk-GULTLPFB.js +621 -0
- package/dist/chunk-GULTLPFB.js.map +1 -0
- package/dist/chunk-GWKAVKHI.js +71 -0
- package/dist/chunk-H2KSZMIX.js +164 -0
- package/dist/chunk-HOONYZY2.js +404 -0
- package/dist/chunk-HQBM64EE.js +957 -0
- package/dist/chunk-HQBM64EE.js.map +1 -0
- package/dist/chunk-IAO54J4R.js +333 -0
- package/dist/chunk-IAO54J4R.js.map +1 -0
- package/dist/chunk-IFJTPAQQ.js +150 -0
- package/dist/chunk-IFJTPAQQ.js.map +1 -0
- package/dist/chunk-IGJCYUT5.js +99 -0
- package/dist/chunk-IGJCYUT5.js.map +1 -0
- package/dist/chunk-IK43HLDQ.js +739 -0
- package/dist/chunk-IK43HLDQ.js.map +1 -0
- package/dist/chunk-ISMV2QVG.js +54 -0
- package/dist/chunk-IY23KFNZ.js +95 -0
- package/dist/chunk-JBBSYJHP.js +129 -0
- package/dist/chunk-JFCV5QIK.js +117 -0
- package/dist/chunk-JK733I5V.js +23 -0
- package/dist/chunk-JK733I5V.js.map +1 -0
- package/dist/chunk-JRBNCUNT.js +371 -0
- package/dist/chunk-JRBNCUNT.js.map +1 -0
- package/dist/chunk-JVBO4SZL.js +29 -0
- package/dist/chunk-JVBO4SZL.js.map +1 -0
- package/dist/chunk-KPZS5QAQ.js +151 -0
- package/dist/chunk-KPZS5QAQ.js.map +1 -0
- package/dist/chunk-KS6SAVCZ.js +247 -0
- package/dist/chunk-KS6SAVCZ.js.map +1 -0
- package/dist/chunk-LVGTA624.js +480 -0
- package/dist/chunk-LVGTA624.js.map +1 -0
- package/dist/chunk-M75ZZHSR.js +30 -0
- package/dist/chunk-MT62YSPZ.js +392 -0
- package/dist/chunk-MT62YSPZ.js.map +1 -0
- package/dist/chunk-N6WF5PKC.js +29 -0
- package/dist/chunk-NCCBLYEB.js +150 -0
- package/dist/chunk-OCVM6KDH.js +99 -0
- package/dist/chunk-ONTBCHCP.js +80 -0
- package/dist/chunk-PK6JIDQ4.js +14425 -0
- package/dist/chunk-PK6JIDQ4.js.map +1 -0
- package/dist/chunk-QDPZWTN2.js +74 -0
- package/dist/chunk-QDPZWTN2.js.map +1 -0
- package/dist/chunk-R3BLCFD2.js +130 -0
- package/dist/chunk-RA5VTXXG.js +173 -0
- package/dist/chunk-RA5VTXXG.js.map +1 -0
- package/dist/chunk-RDXW3OBQ.js +21 -0
- package/dist/chunk-RFI7GGFO.js +230 -0
- package/dist/chunk-RJ6K6K5M.js +36 -0
- package/dist/chunk-RJ6K6K5M.js.map +1 -0
- package/dist/chunk-RNG4VRP4.js +75 -0
- package/dist/chunk-RTEK4C4I.js +41 -0
- package/dist/chunk-S3BFKGET.js +369 -0
- package/dist/chunk-S3BFKGET.js.map +1 -0
- package/dist/chunk-S6Q37VGE.js +30 -0
- package/dist/chunk-SMIRGMS7.js +30 -0
- package/dist/chunk-SMIRGMS7.js.map +1 -0
- package/dist/chunk-SV6EAJEP.js +86 -0
- package/dist/chunk-T36RFODW.js +180 -0
- package/dist/chunk-T36RFODW.js.map +1 -0
- package/dist/chunk-T3GY65MA.js +367 -0
- package/dist/chunk-TAGR72IR.js +515 -0
- package/dist/chunk-TAGR72IR.js.map +1 -0
- package/dist/chunk-THVIPWRF.js +495 -0
- package/dist/chunk-THVIPWRF.js.map +1 -0
- package/dist/chunk-TIGPQDYP.js +14 -0
- package/dist/chunk-U6JMEH2P.js +261 -0
- package/dist/chunk-UC2ETWF3.js +34 -0
- package/dist/chunk-UDSR4X4L.js +235 -0
- package/dist/chunk-UHNGNKLV.js +2782 -0
- package/dist/chunk-UHNGNKLV.js.map +1 -0
- package/dist/chunk-VAIS3SOM.js +74 -0
- package/dist/chunk-VCBHAE4R.js +124 -0
- package/dist/chunk-VCTXU4AT.js +32 -0
- package/dist/chunk-VCTXU4AT.js.map +1 -0
- package/dist/chunk-VEALDPHW.js +524 -0
- package/dist/chunk-VEALDPHW.js.map +1 -0
- package/dist/chunk-VKCADNMR.js +589 -0
- package/dist/chunk-VRBTNCM4.js +720 -0
- package/dist/chunk-VRBTNCM4.js.map +1 -0
- package/dist/chunk-VYYM3MEN.js +98 -0
- package/dist/chunk-VYYM3MEN.js.map +1 -0
- package/dist/chunk-W2OG6JOL.js +1554 -0
- package/dist/chunk-W2OG6JOL.js.map +1 -0
- package/dist/chunk-W4TCUGQR.js +1128 -0
- package/dist/chunk-W4TCUGQR.js.map +1 -0
- package/dist/chunk-WG4QBZDN.js +283 -0
- package/dist/chunk-WG4QBZDN.js.map +1 -0
- package/dist/chunk-WHXXI3W5.js +135 -0
- package/dist/chunk-WHXXI3W5.js.map +1 -0
- package/dist/chunk-WKGF2TJR.js +45 -0
- package/dist/chunk-WNGGJWF7.js +36 -0
- package/dist/chunk-WOM2HTML.js +59 -0
- package/dist/chunk-WQIYTNJV.js +70 -0
- package/dist/chunk-WZSHL6DQ.js +59 -0
- package/dist/chunk-XDIAFPUM.js +42 -0
- package/dist/chunk-XJMBYYQK.js +40 -0
- package/dist/chunk-XTHCN77N.js +91 -0
- package/dist/chunk-XUW3PXHU.js +248 -0
- package/dist/chunk-XUW3PXHU.js.map +1 -0
- package/dist/chunk-YCH5GBN6.js +99 -0
- package/dist/chunk-YTGDPCPW.js +155 -0
- package/dist/chunk-YZQOGE2L.js +23 -0
- package/dist/chunk-Z4PD65VQ.js +265 -0
- package/dist/chunk-Z4PD65VQ.js.map +1 -0
- package/dist/chunk-ZXEZCY6F.js +85 -0
- package/dist/classified/index.js +5 -5
- package/dist/classified-marker-QWMASIT7.js +28 -0
- package/dist/classified-marker-QWMASIT7.js.map +1 -0
- package/dist/collection-facade-KMBWNCYP.js +44 -0
- package/dist/computed-DSMPXG2Y.js +11 -0
- package/dist/consent/index.js +9 -9
- package/dist/cover-QJRXINN5.js +52 -0
- package/dist/crdt/index.js +1 -1
- package/dist/dead-filter-66VGI6JV.js +28 -0
- package/dist/delegation-SU6CV3W7.js +25 -0
- package/dist/derivations/index.js +12 -12
- package/dist/derive-6RWU4EOA.js +21 -0
- package/dist/enclave-TKPN2G2U.js +141 -0
- package/dist/executor-KGNLJD6M.js +9 -0
- package/dist/executor-UX4FASYZ.js +26 -0
- package/dist/executor-XGIS6CR7.js +9 -0
- package/dist/export-accessible-LKW3QV22.js +23 -0
- package/dist/extract-partition-UP2ARO75.js +38 -0
- package/dist/fanout-sidecar-B5LVUMQX.js +74 -0
- package/dist/find-YS6XWB46.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 +310 -1493
- package/dist/index.js +331 -191
- 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-3ACYX7LO.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 +1927 -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 +836 -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 +3245 -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 +1744 -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-PTK7XZYT.js +42 -0
- package/dist/legacy/bundle.d.ts +30 -0
- package/dist/legacy/kernel.d.ts +33 -0
- package/dist/liberate-MQQXBUCY.js +24 -0
- package/dist/link-set-SLJHDNRB.js +31 -0
- package/dist/materialized-views/index.js +20 -17
- package/dist/noydb-ANIW5FLE.js +69 -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 +13 -11
- package/dist/policy-YDLCOX4P.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-2YHSADFI.js +60 -0
- package/dist/post-register-2YHSADFI.js.map +1 -0
- package/dist/purge-scope-FGNNLWHD.js +24 -0
- package/dist/purge-scope-FGNNLWHD.js.map +1 -0
- package/dist/query/index.js +12 -10
- package/dist/read-only-facade-CHCKSEPD.js +8 -0
- package/dist/register-PAM3ASRZ.js +23 -0
- package/dist/registry-4S2U2TR4.js +19 -0
- package/dist/registry-NPOWJHC4.js +9 -0
- package/dist/registry-VZ3CCI2R.js +18 -0
- package/dist/request-withdrawal-DI3H5WUI.js +31 -0
- package/dist/reveal-HWO4YMTJ.js +38 -0
- package/dist/reveal-HWO4YMTJ.js.map +1 -0
- package/dist/revoke-R5CZSVUT.js +24 -0
- package/dist/satellites/index.js +1 -1
- package/dist/sealed-record/index.js +12 -12
- package/dist/seed-3ZMF5EQA.js +231 -0
- package/dist/seed-3ZMF5EQA.js.map +1 -0
- package/dist/session/index.js +9 -9
- package/dist/shadow/index.js +2 -2
- package/dist/signer-MBVHW4WE.js +25 -0
- package/dist/snapshots/index.js +10 -10
- package/dist/stale-VZL4OGUB.js +29 -0
- package/dist/storage-3MEJUENZ.js +23 -0
- package/dist/store-coordination-provider-FKX3F6TQ.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-26Y5GNMK.js +140 -0
- package/dist/verify-26Y5GNMK.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-IPLXE36W.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 +73 -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 +128 -0
- package/dist/with-formula/materialized-views/stale.d.ts +113 -0
- package/dist/with-formula/materialized-views/types.d.ts +399 -0
- package/dist/with-formula/materialized-views/with-materialized-view.d.ts +28 -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/cover/custom.d.ts +34 -0
- package/dist/with-party/directory/cover/index.d.ts +19 -0
- package/dist/with-party/directory/cover/schema.d.ts +39 -0
- package/dist/with-party/directory/cover/storage.d.ts +71 -0
- package/dist/with-party/directory/cover/types.d.ts +149 -0
- package/dist/with-party/directory/index.d.ts +11 -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 +416 -0
- package/dist/with-pod/format.d.ts +207 -0
- package/dist/with-pod/index.d.ts +21 -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-TZDATQVR.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-KNXN47MO.js.map +0 -1
- 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-Q2KVKTC2.js.map +0 -1
- 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-WXSYDNBT.js +0 -39
- package/dist/chunk-WXSYDNBT.js.map +0 -1
- 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-YLN33ADH.js.map +0 -1
- 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-3A3S4SHH.js.map} +0 -0
- /package/dist/{chunk-ICV32FPK.js.map → chunk-2PCAVW2I.js.map} +0 -0
- /package/dist/{chunk-6CU3FN74.js.map → chunk-554KLAAN.js.map} +0 -0
- /package/dist/{chunk-NNWK3PSY.js.map → chunk-5PFOMHTB.js.map} +0 -0
- /package/dist/{chunk-SZCHEDML.js.map → chunk-5WZXVULX.js.map} +0 -0
- /package/dist/{chunk-KWLD2D75.js.map → chunk-6HPG2YNX.js.map} +0 -0
- /package/dist/{chunk-2KOSJTMU.js.map → chunk-6HY2X62D.js.map} +0 -0
- /package/dist/{chunk-KYC4LIEU.js.map → chunk-6NQMXTYC.js.map} +0 -0
- /package/dist/{chunk-KBF5GSGX.js.map → chunk-6XE5TMPR.js.map} +0 -0
- /package/dist/{chunk-Z5YFRMG5.js.map → chunk-A4FXFAKF.js.map} +0 -0
- /package/dist/{chunk-VJ3NQK4K.js.map → chunk-ANATMTOA.js.map} +0 -0
- /package/dist/{chunk-HBTT7YQX.js.map → chunk-BOKIKJJB.js.map} +0 -0
- /package/dist/{chunk-KXKLKJW4.js.map → chunk-CJ5KKU6X.js.map} +0 -0
- /package/dist/{chunk-5SAZMBW7.js.map → chunk-DSBQODMZ.js.map} +0 -0
- /package/dist/{chunk-7IZQTCTR.js.map → chunk-EO43ANYJ.js.map} +0 -0
- /package/dist/{chunk-QTXQ6RNZ.js.map → chunk-EWPOHMN2.js.map} +0 -0
- /package/dist/{chunk-34RRRIC3.js.map → chunk-GWKAVKHI.js.map} +0 -0
- /package/dist/{chunk-OV4CMJGR.js.map → chunk-H2KSZMIX.js.map} +0 -0
- /package/dist/{chunk-AUR7MRHA.js.map → chunk-HOONYZY2.js.map} +0 -0
- /package/dist/{chunk-ZWQFOXBR.js.map → chunk-ISMV2QVG.js.map} +0 -0
- /package/dist/{chunk-XQ7UYPVN.js.map → chunk-IY23KFNZ.js.map} +0 -0
- /package/dist/{chunk-IWTYFS3D.js.map → chunk-JBBSYJHP.js.map} +0 -0
- /package/dist/{chunk-GX2BYNCT.js.map → chunk-JFCV5QIK.js.map} +0 -0
- /package/dist/{chunk-5TZZUL5X.js.map → chunk-M75ZZHSR.js.map} +0 -0
- /package/dist/{chunk-6MWUANRF.js.map → chunk-N6WF5PKC.js.map} +0 -0
- /package/dist/{chunk-E5AHO65E.js.map → chunk-NCCBLYEB.js.map} +0 -0
- /package/dist/{chunk-A4MAD6PO.js.map → chunk-OCVM6KDH.js.map} +0 -0
- /package/dist/{chunk-Y2OCKFZ3.js.map → chunk-ONTBCHCP.js.map} +0 -0
- /package/dist/{chunk-LEOXZY36.js.map → chunk-R3BLCFD2.js.map} +0 -0
- /package/dist/{chunk-2HVUKRNE.js.map → chunk-RDXW3OBQ.js.map} +0 -0
- /package/dist/{chunk-CJEMA2Z6.js.map → chunk-RFI7GGFO.js.map} +0 -0
- /package/dist/{chunk-AYGZMQP5.js.map → chunk-RNG4VRP4.js.map} +0 -0
- /package/dist/{chunk-PEDZFFKW.js.map → chunk-RTEK4C4I.js.map} +0 -0
- /package/dist/{chunk-3I4KYWNP.js.map → chunk-S6Q37VGE.js.map} +0 -0
- /package/dist/{chunk-42KVY3OC.js.map → chunk-SV6EAJEP.js.map} +0 -0
- /package/dist/{chunk-YBFOBRTO.js.map → chunk-T3GY65MA.js.map} +0 -0
- /package/dist/{chunk-KBBWY46Y.js.map → chunk-TIGPQDYP.js.map} +0 -0
- /package/dist/{chunk-NYVQCZ54.js.map → chunk-U6JMEH2P.js.map} +0 -0
- /package/dist/{chunk-MK2BSS44.js.map → chunk-UC2ETWF3.js.map} +0 -0
- /package/dist/{chunk-M5I354EE.js.map → chunk-UDSR4X4L.js.map} +0 -0
- /package/dist/{chunk-6ULCYCMU.js.map → chunk-VAIS3SOM.js.map} +0 -0
- /package/dist/{chunk-WVCQ75OK.js.map → chunk-VCBHAE4R.js.map} +0 -0
- /package/dist/{chunk-DEYAO3N6.js.map → chunk-VKCADNMR.js.map} +0 -0
- /package/dist/{chunk-OQAODTYR.js.map → chunk-WKGF2TJR.js.map} +0 -0
- /package/dist/{chunk-HOCEGVGQ.js.map → chunk-WNGGJWF7.js.map} +0 -0
- /package/dist/{chunk-NSZ6J5DF.js.map → chunk-WOM2HTML.js.map} +0 -0
- /package/dist/{chunk-MSVY7ULZ.js.map → chunk-WQIYTNJV.js.map} +0 -0
- /package/dist/{chunk-NUEFXLZU.js.map → chunk-WZSHL6DQ.js.map} +0 -0
- /package/dist/{chunk-X66MXMR5.js.map → chunk-XDIAFPUM.js.map} +0 -0
- /package/dist/{chunk-CTSFKDGA.js.map → chunk-XJMBYYQK.js.map} +0 -0
- /package/dist/{chunk-IUKGIB2Q.js.map → chunk-XTHCN77N.js.map} +0 -0
- /package/dist/{chunk-FC3XK5JT.js.map → chunk-YCH5GBN6.js.map} +0 -0
- /package/dist/{chunk-S6AQXDN4.js.map → chunk-YTGDPCPW.js.map} +0 -0
- /package/dist/{chunk-CWCCYH34.js.map → chunk-YZQOGE2L.js.map} +0 -0
- /package/dist/{chunk-DFIBOSOQ.js.map → chunk-ZXEZCY6F.js.map} +0 -0
- /package/dist/{api-HV4PDUWF.js.map → collection-facade-KMBWNCYP.js.map} +0 -0
- /package/dist/{chunk-BGIZAFY7.js.map → computed-DSMPXG2Y.js.map} +0 -0
- /package/dist/{chunk-K2WCO3NX.js.map → cover-QJRXINN5.js.map} +0 -0
- /package/dist/{dead-filter-VNA4M3GP.js.map → dead-filter-66VGI6JV.js.map} +0 -0
- /package/dist/{collection-facade-3RAXG2OU.js.map → delegation-SU6CV3W7.js.map} +0 -0
- /package/dist/{computed-R62HGCO4.js.map → derive-6RWU4EOA.js.map} +0 -0
- /package/dist/{delegation-ZKII5UBI.js.map → enclave-TKPN2G2U.js.map} +0 -0
- /package/dist/{derive-5D2C3WG4.js.map → executor-KGNLJD6M.js.map} +0 -0
- /package/dist/{describe/index.js.map → executor-UX4FASYZ.js.map} +0 -0
- /package/dist/{enclave-EUBEJGPG.js.map → executor-XGIS6CR7.js.map} +0 -0
- /package/dist/{executor-IL7SRNUZ.js.map → export-accessible-LKW3QV22.js.map} +0 -0
- /package/dist/{executor-OUA2Y6YC.js.map → extract-partition-UP2ARO75.js.map} +0 -0
- /package/dist/{fanout-sidecar-CI5BCMQM.js.map → fanout-sidecar-B5LVUMQX.js.map} +0 -0
- /package/dist/{executor-WAEI6PDV.js.map → find-YS6XWB46.js.map} +0 -0
- /package/dist/{export-accessible-O55RKAGC.js.map → issue-3ACYX7LO.js.map} +0 -0
- /package/dist/{extract-partition-VBGCBA6Q.js.map → ledger-PTK7XZYT.js.map} +0 -0
- /package/dist/{find-FISGUWSK.js.map → liberate-MQQXBUCY.js.map} +0 -0
- /package/dist/{issue-EQAWIYFQ.js.map → link-set-SLJHDNRB.js.map} +0 -0
- /package/dist/{kernel/index.js.map → noydb-ANIW5FLE.js.map} +0 -0
- /package/dist/{ledger-AJA2SR3C.js.map → policy-YDLCOX4P.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-PAM3ASRZ.js.map} +0 -0
- /package/dist/{noydb-AMEOU456.js.map → registry-4S2U2TR4.js.map} +0 -0
- /package/dist/{policy-SDGRWVIL.js.map → registry-NPOWJHC4.js.map} +0 -0
- /package/dist/{public-envelope-J5PLQOW2.js.map → registry-VZ3CCI2R.js.map} +0 -0
- /package/dist/{read-only-facade-UCYNRE56.js.map → request-withdrawal-DI3H5WUI.js.map} +0 -0
- /package/dist/{register-OVJKW7BS.js.map → revoke-R5CZSVUT.js.map} +0 -0
- /package/dist/{registry-5RJSK5AJ.js.map → signer-MBVHW4WE.js.map} +0 -0
- /package/dist/{registry-DQRNTWRL.js.map → stale-VZL4OGUB.js.map} +0 -0
- /package/dist/{registry-LTGLERS7.js.map → storage-3MEJUENZ.js.map} +0 -0
- /package/dist/{store-coordination-provider-WKGAE2WI.js.map → store-coordination-provider-FKX3F6TQ.js.map} +0 -0
- /package/dist/{walk-76UCFXYV.js.map → walk-IPLXE36W.js.map} +0 -0
- /package/dist/{request-withdrawal-27O77D2V.js.map → withdraw-accessible-TZDATQVR.js.map} +0 -0
|
@@ -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>;
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Secondary indexes for the query DSL.
|
|
3
|
+
*
|
|
4
|
+
* ships **in-memory hash indexes**:
|
|
5
|
+
* - Built during `Collection.ensureHydrated()` from the decrypted cache
|
|
6
|
+
* - Maintained incrementally on `put` and `delete`
|
|
7
|
+
* - Consulted by the query executor for `==` and `in` operators on
|
|
8
|
+
* indexed fields, falling back to a linear scan otherwise
|
|
9
|
+
* - Live entirely in memory — no adapter writes for the index itself
|
|
10
|
+
*
|
|
11
|
+
* Persistent encrypted index blobs (the spec's "store as a separate
|
|
12
|
+
* AES-256-GCM blob" note) are deferred to a follow-up issue. The reasons
|
|
13
|
+
* are documented in the PR body — short version: at the target
|
|
14
|
+
* scale of 1K–50K records, building the index during hydrate is free,
|
|
15
|
+
* so persistence buys nothing measurable.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Index declaration accepted by `Collection`'s constructor.
|
|
19
|
+
*
|
|
20
|
+
* Accepts:
|
|
21
|
+
* - `string` — a single-field hash index (`'clientId'`)
|
|
22
|
+
* - `{ fields: [...] }` or `readonly string[]` — a composite index
|
|
23
|
+
* over an ordered field tuple. Only lazy-mode
|
|
24
|
+
* collections consume composite declarations today; eager mode
|
|
25
|
+
* silently treats a composite as equivalent to declaring each
|
|
26
|
+
* component field as its own single-field index.
|
|
27
|
+
*
|
|
28
|
+
* Additive variants (unique constraints, partial indexes) will land as
|
|
29
|
+
* further union members without breaking existing declarations.
|
|
30
|
+
*/
|
|
31
|
+
export type IndexDef = string | {
|
|
32
|
+
readonly fields: readonly string[];
|
|
33
|
+
readonly unique?: boolean;
|
|
34
|
+
} | readonly string[];
|
|
35
|
+
/**
|
|
36
|
+
* Internal representation of a built hash index.
|
|
37
|
+
*
|
|
38
|
+
* Maps stringified field values to the set of record ids whose value
|
|
39
|
+
* for that field matches. Stringification keeps the index simple and
|
|
40
|
+
* works uniformly for primitives (`'open'`, `'42'`, `'true'`).
|
|
41
|
+
*
|
|
42
|
+
* Records whose indexed field is `undefined` or `null` are NOT inserted
|
|
43
|
+
* — `query().where('field', '==', undefined)` falls back to a linear
|
|
44
|
+
* scan, which is the conservative behavior.
|
|
45
|
+
*/
|
|
46
|
+
export interface HashIndex {
|
|
47
|
+
readonly field: string;
|
|
48
|
+
readonly buckets: Map<string, Set<string>>;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Container for all indexes on a single collection.
|
|
52
|
+
*
|
|
53
|
+
* Methods are pure with respect to the in-memory `buckets` Map — they
|
|
54
|
+
* never touch the adapter or the keyring. The Collection class owns
|
|
55
|
+
* lifecycle (build on hydrate, maintain on put/delete).
|
|
56
|
+
*/
|
|
57
|
+
export declare class CollectionIndexes {
|
|
58
|
+
private readonly indexes;
|
|
59
|
+
/**
|
|
60
|
+
* Per-field bucket-key canonicalizer (#672 review C1), registered ONCE
|
|
61
|
+
* via {@link setCanonicalizer} when the collection wires indexing up
|
|
62
|
+
* (money-aware via `ViaPipeline.canonicalizeIndexKey`). Consulted by
|
|
63
|
+
* EVERY bucket-mutation site — `build`/`upsert`/`remove` — so bucket
|
|
64
|
+
* membership is symmetric by construction: a value can never be added
|
|
65
|
+
* under a canonical key and later removed under the raw one (or vice
|
|
66
|
+
* versa), which is what stranded ids on `put`/`delete` before this fix.
|
|
67
|
+
*/
|
|
68
|
+
private canonicalize?;
|
|
69
|
+
/**
|
|
70
|
+
* Register the bucket-key canonicalizer. Called once, where the
|
|
71
|
+
* collection constructs its indexing state — safe to call again (the
|
|
72
|
+
* closure is simply replaced) but there is normally only one caller.
|
|
73
|
+
*/
|
|
74
|
+
setCanonicalizer(fn: (field: string, value: unknown) => string | undefined): void;
|
|
75
|
+
/**
|
|
76
|
+
* Declare an index. Subsequent record additions are tracked under it.
|
|
77
|
+
* Calling this twice for the same field is a no-op (idempotent).
|
|
78
|
+
*/
|
|
79
|
+
declare(field: string): void;
|
|
80
|
+
/** True if the given field has a declared index. */
|
|
81
|
+
has(field: string): boolean;
|
|
82
|
+
/** All declared field names, in declaration order. */
|
|
83
|
+
fields(): string[];
|
|
84
|
+
/**
|
|
85
|
+
* Build all declared indexes from a snapshot of records.
|
|
86
|
+
* Called once per hydration. O(N × indexes.size). Buckets through the
|
|
87
|
+
* registered {@link setCanonicalizer} closure, same as `upsert`/`remove`.
|
|
88
|
+
*/
|
|
89
|
+
build<T>(records: ReadonlyArray<{
|
|
90
|
+
id: string;
|
|
91
|
+
record: T;
|
|
92
|
+
}>): void;
|
|
93
|
+
/**
|
|
94
|
+
* Insert or update a single record across all indexes.
|
|
95
|
+
* Called by `Collection.put()` after the encrypted write succeeds.
|
|
96
|
+
*
|
|
97
|
+
* If `previousRecord` is provided, the record is removed from any old
|
|
98
|
+
* buckets first — this is the update path. Pass `null` for fresh adds.
|
|
99
|
+
*/
|
|
100
|
+
upsert<T>(id: string, newRecord: T, previousRecord: T | null): void;
|
|
101
|
+
/**
|
|
102
|
+
* Remove a record from all indexes. Called by `Collection.delete()`
|
|
103
|
+
* (and as the first half of `upsert` for the update path).
|
|
104
|
+
*/
|
|
105
|
+
remove<T>(id: string, record: T): void;
|
|
106
|
+
/** Drop all index data. Called when the collection is invalidated. */
|
|
107
|
+
clear(): void;
|
|
108
|
+
/**
|
|
109
|
+
* Equality lookup: return the set of record ids whose `field` matches
|
|
110
|
+
* the given value. Returns `null` if no index covers the field — the
|
|
111
|
+
* caller should fall back to a linear scan.
|
|
112
|
+
*
|
|
113
|
+
* The returned Set is a reference to the index's internal storage —
|
|
114
|
+
* callers must NOT mutate it.
|
|
115
|
+
*/
|
|
116
|
+
lookupEqual(field: string, value: unknown): ReadonlySet<string> | null;
|
|
117
|
+
/**
|
|
118
|
+
* Set lookup: return the union of record ids whose `field` matches any
|
|
119
|
+
* of the given values. Returns `null` if no index covers the field.
|
|
120
|
+
*/
|
|
121
|
+
lookupIn(field: string, values: readonly unknown[]): ReadonlySet<string> | null;
|
|
122
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @noy-db/hub/indexing — opt-in secondary-index service.
|
|
3
|
+
*
|
|
4
|
+
* @category capability
|
|
5
|
+
*
|
|
6
|
+
* Groups every file whose reason-for-existing is secondary indexes:
|
|
7
|
+
* - `eager-indexes` (in-memory `CollectionIndexes` for eager-mode
|
|
8
|
+
* collections' `.where(f, '==', v)` fast-path)
|
|
9
|
+
* - `persisted-indexes` (lazy-mode `_idx/<field>/<recordId>`
|
|
10
|
+
* side-car mirror with composite / typed-value support)
|
|
11
|
+
* - `lazy-builder` (`LazyQuery<T>` chainable builder that
|
|
12
|
+
* dispatches through the persisted mirror)
|
|
13
|
+
*
|
|
14
|
+
* Hub's root barrel (`@noy-db/hub`) and the `@noy-db/hub/query`
|
|
15
|
+
* subpath continue to re-export `CollectionIndexes` and `IndexDef`
|
|
16
|
+
* for backward compatibility with consumers written before the
|
|
17
|
+
* relocation. New code should prefer this subpath so the
|
|
18
|
+
* capability boundary is explicit in import statements.
|
|
19
|
+
*/
|
|
20
|
+
export { withIndexing } from './active.js';
|
|
21
|
+
export type { IndexStrategy, IndexState } from './strategy.js';
|
|
22
|
+
export { CollectionIndexes } from './eager-indexes.js';
|
|
23
|
+
export type { IndexDef, HashIndex } from './eager-indexes.js';
|
|
24
|
+
export { PersistedCollectionIndex, IDX_PREFIX, COMPOSITE_DELIMITER, encodeIdxId, decodeIdxId, isIdxId, compositeKey, } from './persisted-indexes.js';
|
|
25
|
+
export type { OrderedEntry, IngestRow, PersistedIndexDef, } from './persisted-indexes.js';
|
|
26
|
+
export { LazyQuery } from './lazy-builder.js';
|
|
27
|
+
export type { LazyQuerySource, LazyOrderBy } from './lazy-builder.js';
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lazy-mode query builder.
|
|
3
|
+
*
|
|
4
|
+
* Companion to `Query<T>` in `builder.ts`, but built for collections in lazy
|
|
5
|
+
* mode where `snapshot()` is unavailable — records live in the adapter and
|
|
6
|
+
* are pulled on demand. Dispatches through `PersistedCollectionIndex` to
|
|
7
|
+
* resolve a candidate record-id set, then decrypts only those records.
|
|
8
|
+
*
|
|
9
|
+
* Scope:
|
|
10
|
+
* - `.where(field, '==' | 'in', value)` — dispatched through the index
|
|
11
|
+
* - `.where(field, other-op, value)` — evaluated against the decrypted
|
|
12
|
+
* candidate set (non-indexed ops still require the field to be indexed
|
|
13
|
+
* — we need SOMETHING to scope the candidate set)
|
|
14
|
+
* - `.orderBy(field, dir?)` — dispatched through `orderedBy` when no
|
|
15
|
+
* `==`/`in` clause is present; otherwise applied as an in-memory sort
|
|
16
|
+
* over the candidate set
|
|
17
|
+
* - `.limit(n)` / `.offset(n)` — page slice after filtering
|
|
18
|
+
* - `.toArray()` / `.first()` / `.count()` — terminals
|
|
19
|
+
*
|
|
20
|
+
* Every field referenced by a where or orderBy clause MUST be indexed;
|
|
21
|
+
* otherwise `toArray()` throws `IndexRequiredError`. This is deliberate:
|
|
22
|
+
* silent scan-fallback would hide the very performance cliff that lazy-mode
|
|
23
|
+
* indexes exist to prevent (see `docs/architecture.md` §indexes).
|
|
24
|
+
*/
|
|
25
|
+
import type { FieldClause, Operator } from '../../kernel/query/predicate.js';
|
|
26
|
+
import type { PersistedCollectionIndex } from './persisted-indexes.js';
|
|
27
|
+
import type { QueryField } from '../../kernel/types.js';
|
|
28
|
+
import type { ViaPipeline } from '../../kernel/via/pipeline.js';
|
|
29
|
+
export interface LazyOrderBy {
|
|
30
|
+
readonly field: string;
|
|
31
|
+
readonly direction: 'asc' | 'desc';
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Source abstraction the LazyQuery runs against. Collection implements it.
|
|
35
|
+
* Kept minimal so the builder stays test-friendly.
|
|
36
|
+
*/
|
|
37
|
+
export interface LazyQuerySource<T> {
|
|
38
|
+
readonly collectionName: string;
|
|
39
|
+
readonly persistedIndexes: PersistedCollectionIndex;
|
|
40
|
+
/**
|
|
41
|
+
* Per-field bucket-key canonicalizer (#677 — lazy twin of the eager
|
|
42
|
+
* `candidateRecords()` probe-resolution in `kernel/query/builder.ts`).
|
|
43
|
+
* Consulted in `resolveCandidateIds()` for `==`/`in` clause values
|
|
44
|
+
* BEFORE calling `lookupEqual`/`lookupIn`, so a mixed-era stored value
|
|
45
|
+
* (money) probes the SAME canonical bucket the write path now
|
|
46
|
+
* populates. A narrow closure — not the whole `ViaPipeline` — keeps
|
|
47
|
+
* the with-lookup/kernel seam thin. `undefined` (no via, or no binding
|
|
48
|
+
* covers the field) is the common case: falls back to the raw value,
|
|
49
|
+
* unchanged from today.
|
|
50
|
+
*/
|
|
51
|
+
canonicalizeIndexKey?(field: string, value: unknown): string | undefined;
|
|
52
|
+
/** Ensure `_idx/<field>/*` side-cars have been bulk-loaded into the mirror. */
|
|
53
|
+
ensurePersistedIndexesLoaded(): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Decrypt one record by id in RAW (pre-`present()`, stored-form) shape,
|
|
56
|
+
* or return null if it's gone (#684 — the raw-fetch seam). Used by the
|
|
57
|
+
* post-filter (`toArray()`) so a `clause.via.evaluate` (e.g. money) sees
|
|
58
|
+
* the same operand/actual-value space as eager's `filterRecords` — the
|
|
59
|
+
* DECODED form (e.g. money's canonical decimal) is only materialized
|
|
60
|
+
* for survivors, via {@link decodeRecord}.
|
|
61
|
+
*/
|
|
62
|
+
getRawRecord(id: string): Promise<unknown>;
|
|
63
|
+
/**
|
|
64
|
+
* Apply this collection's locale/virtual-field decode (`present()`) to a
|
|
65
|
+
* RAW record already known to match — the output-side twin of
|
|
66
|
+
* {@link getRawRecord}. Mirrors eager's `Query.decodeVia`.
|
|
67
|
+
*/
|
|
68
|
+
decodeRecord(record: unknown): Promise<T>;
|
|
69
|
+
/**
|
|
70
|
+
* This collection's compiled Via pipeline (money, i18n, …), read lazily
|
|
71
|
+
* (a method, not a captured value) so a late `_setVia` (#666) is honored
|
|
72
|
+
* — same closure discipline as {@link canonicalizeIndexKey}. `undefined`
|
|
73
|
+
* when the collection has no Via-covered fields.
|
|
74
|
+
*/
|
|
75
|
+
via(): ViaPipeline | undefined;
|
|
76
|
+
}
|
|
77
|
+
interface LazyPlan {
|
|
78
|
+
readonly clauses: readonly FieldClause[];
|
|
79
|
+
readonly orderBy: readonly LazyOrderBy[];
|
|
80
|
+
readonly limit: number | undefined;
|
|
81
|
+
readonly offset: number;
|
|
82
|
+
}
|
|
83
|
+
export declare class LazyQuery<T, S extends keyof T = never, Q extends keyof T & string = never> {
|
|
84
|
+
private readonly source;
|
|
85
|
+
private readonly plan;
|
|
86
|
+
constructor(source: LazyQuerySource<T>, plan?: LazyPlan);
|
|
87
|
+
where<V>(field: QueryField<T, S, Q>, op: Operator, value: V): LazyQuery<T, S, Q>;
|
|
88
|
+
orderBy(field: QueryField<T, S>, direction?: 'asc' | 'desc'): LazyQuery<T, S, Q>;
|
|
89
|
+
limit(n: number): LazyQuery<T, S, Q>;
|
|
90
|
+
offset(n: number): LazyQuery<T, S, Q>;
|
|
91
|
+
toArray(): Promise<T[]>;
|
|
92
|
+
first(): Promise<T | null>;
|
|
93
|
+
count(): Promise<number>;
|
|
94
|
+
/**
|
|
95
|
+
* Resolve the candidate record-id set to decrypt. Returns null when the
|
|
96
|
+
* query has no usable driver — no `==`/`in` clause and no `orderBy`
|
|
97
|
+
* clause that can scope the scan. Callers interpret null as
|
|
98
|
+
* IndexRequiredError (see `toArray`).
|
|
99
|
+
*/
|
|
100
|
+
private resolveCandidateIds;
|
|
101
|
+
}
|
|
102
|
+
export {};
|