@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,220 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `_dict_*` reserved-collection storage engine — `LookupHandle`.
|
|
3
|
+
*
|
|
4
|
+
* Verbatim move of `DictionaryHandle` out of `via/i18n/dictionary.ts`
|
|
5
|
+
* (#650 Task 1 — via-lookup extraction, phase D). The class is renamed to
|
|
6
|
+
* `LookupHandle` (the dict tier is one backing kind the eventual lookup
|
|
7
|
+
* layer supports); `via/i18n/dictionary.ts` re-exports it as
|
|
8
|
+
* `DictionaryHandle` for one release so existing importers compile
|
|
9
|
+
* unchanged. `DictEntry` / `DictionaryOptions` / `DICT_COLLECTION_PREFIX` /
|
|
10
|
+
* `dictCollectionName` move with it — they were exclusively consumed by
|
|
11
|
+
* this class's constructor/methods.
|
|
12
|
+
*
|
|
13
|
+
* No behavior change from the pre-move class: same encryption door
|
|
14
|
+
* (`reservedEnvelopes('_dict_')`, #629 Task 4), same ACL, same ledger
|
|
15
|
+
* shape, same sync-cache/snapshot contract for dict joins.
|
|
16
|
+
*/
|
|
17
|
+
import type { NoydbStore, EncryptedEnvelope } from '../../kernel/types.js';
|
|
18
|
+
import type { NoydbEventEmitter } from '../../kernel/events.js';
|
|
19
|
+
import type { UnlockedKeyring } from '../../with-party/team/keyring.js';
|
|
20
|
+
import type { ViaCryptoCtx } from '../../kernel/via/index.js';
|
|
21
|
+
import type { LedgerStore } from '../../with-commit/history/ledger/store.js';
|
|
22
|
+
/** Reserved collection name prefix. Never collides with user collections. */
|
|
23
|
+
export declare const DICT_COLLECTION_PREFIX = "_dict_";
|
|
24
|
+
/** Return the adapter collection name for a named dictionary. */
|
|
25
|
+
export declare function dictCollectionName(dictionaryName: string): string;
|
|
26
|
+
/**
|
|
27
|
+
* One entry in a `_dict_*` collection. The record `id` (adapter-side
|
|
28
|
+
* key) IS the stable dictionary key (e.g. `'paid'`). The `labels`
|
|
29
|
+
* record maps locale codes to display strings.
|
|
30
|
+
*/
|
|
31
|
+
export interface DictEntry {
|
|
32
|
+
/** Stable key — same as the record id in the adapter. */
|
|
33
|
+
readonly key: string;
|
|
34
|
+
/** Locale → label map, e.g. `{ en: 'Paid', th: 'ชำระแล้ว' }`. */
|
|
35
|
+
readonly labels: Record<string, string>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Options for `vault.dictionary(name, options?)`.
|
|
39
|
+
*
|
|
40
|
+
* `writableBy` controls the minimum role for write operations (put,
|
|
41
|
+
* putAll, delete, rename). Defaults to `'admin'` to match the standard
|
|
42
|
+
* "dictionary contents are owned by admins" convention; set to
|
|
43
|
+
* `'operator'` for user-editable dictionaries like custom tags.
|
|
44
|
+
*/
|
|
45
|
+
export interface DictionaryOptions {
|
|
46
|
+
/** Minimum role allowed to write dictionary entries. Default: `'admin'`. */
|
|
47
|
+
readonly writableBy?: 'owner' | 'admin' | 'operator';
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Handle to a named dictionary within a vault.
|
|
51
|
+
*
|
|
52
|
+
* Obtained via `vault.dictionary(name)`. Provides strongly-typed
|
|
53
|
+
* CRUD for dictionary entries, plus the `rename()` operation that is the
|
|
54
|
+
* only sanctioned mass-mutation path for dictKey fields.
|
|
55
|
+
*
|
|
56
|
+
* All writes are encrypted under the compartment's DEK for the
|
|
57
|
+
* `_dict_<name>` collection. Adapters never see plaintext.
|
|
58
|
+
*/
|
|
59
|
+
export declare class LookupHandle<Keys extends string = string> {
|
|
60
|
+
private readonly adapter;
|
|
61
|
+
private readonly compartmentName;
|
|
62
|
+
private readonly dictionaryName;
|
|
63
|
+
private readonly keyring;
|
|
64
|
+
/**
|
|
65
|
+
* The `reservedEnvelopes('_dict_')` capability — this handle's sanctioned
|
|
66
|
+
* crypto door onto its `_dict_<name>` collection (#629 Task 4). Bound by
|
|
67
|
+
* the Vault; never a keyring, raw DEK, or enclave import.
|
|
68
|
+
*/
|
|
69
|
+
private readonly reservedEnvelopes;
|
|
70
|
+
private readonly encrypted;
|
|
71
|
+
private readonly ledger;
|
|
72
|
+
private readonly options;
|
|
73
|
+
/**
|
|
74
|
+
* Callback provided by the Vault to find and rewrite records
|
|
75
|
+
* in any registered collection that has a dictKeyField pointing at
|
|
76
|
+
* this dictionary, used by `rename()`.
|
|
77
|
+
*/
|
|
78
|
+
private readonly findAndUpdateReferences;
|
|
79
|
+
private readonly emitter;
|
|
80
|
+
/**
|
|
81
|
+
* #647 fix wave 1 — mints a version-ordered delete-marker envelope (the reserved-tier
|
|
82
|
+
* mirror of #589's ordinary-collection delete marker). Injected rather than imported:
|
|
83
|
+
* `buildDeleteMarker` constructs the envelope's protected-body fields (`_iv`/`_data`), and
|
|
84
|
+
* `via/lookup/**` may not reach `kernel/enclave/` directly (Check 11
|
|
85
|
+
* `enclave-body-only` / Check 15 `via-enclave-isolation`) — the Vault binds the real
|
|
86
|
+
* `kernel/enclave` function at construction time, same pattern as `reservedEnvelopes` above.
|
|
87
|
+
*/
|
|
88
|
+
private readonly buildDeleteMarker;
|
|
89
|
+
/** #650 Task 4 (#647) — dirty-log participation hook (origin `local-write`), threaded from `BuildLookupHandleOptions`. */
|
|
90
|
+
private readonly onDirty?;
|
|
91
|
+
/** #650 Task 4 — thin `graphDispatch.collect`-equivalent; opens/collects/flushes a one-shot wave for this touch. */
|
|
92
|
+
private readonly onRecordMutated?;
|
|
93
|
+
/** #650 Task 5 (#648) — the real reference check `delete()`'s strict branch calls: restrict
|
|
94
|
+
* throws `DictKeyInUseError`, cascade/nullify apply their propagation. Vault-bound; a no-op
|
|
95
|
+
* when the dimension has no declared lookup-referencing edges. */
|
|
96
|
+
private readonly checkReferencesOnDelete?;
|
|
97
|
+
private readonly collName;
|
|
98
|
+
/**
|
|
99
|
+
* Synchronous write-through cache for dict-join support.
|
|
100
|
+
* Populated on every `put()`, `delete()`, and `rename()`. The snapshot
|
|
101
|
+
* is built from this cache by `snapshotEntries()` — the query executor
|
|
102
|
+
* calls this synchronously inside `.toArray()`.
|
|
103
|
+
*
|
|
104
|
+
* `null` means "not yet initialized" — callers should use `list()`
|
|
105
|
+
* to warm the cache before using dict joins on pre-existing data.
|
|
106
|
+
*/
|
|
107
|
+
private readonly _syncCache;
|
|
108
|
+
/**
|
|
109
|
+
* Return all cached entries as `{ key, labels, ...labels }` records —
|
|
110
|
+
* usable synchronously by the join executor's `snapshot()` call.
|
|
111
|
+
* Returns an empty array when the cache has never been populated.
|
|
112
|
+
*/
|
|
113
|
+
snapshotEntries(): readonly Record<string, unknown>[];
|
|
114
|
+
constructor(adapter: NoydbStore, compartmentName: string, dictionaryName: string, keyring: UnlockedKeyring,
|
|
115
|
+
/**
|
|
116
|
+
* The `reservedEnvelopes('_dict_')` capability — this handle's sanctioned
|
|
117
|
+
* crypto door onto its `_dict_<name>` collection (#629 Task 4). Bound by
|
|
118
|
+
* the Vault; never a keyring, raw DEK, or enclave import.
|
|
119
|
+
*/
|
|
120
|
+
reservedEnvelopes: ReturnType<ViaCryptoCtx['reservedEnvelopes']>, encrypted: boolean, ledger: LedgerStore | undefined, options: DictionaryOptions,
|
|
121
|
+
/**
|
|
122
|
+
* Callback provided by the Vault to find and rewrite records
|
|
123
|
+
* in any registered collection that has a dictKeyField pointing at
|
|
124
|
+
* this dictionary, used by `rename()`.
|
|
125
|
+
*/
|
|
126
|
+
findAndUpdateReferences: ((dictionaryName: string, oldKey: string, newKey: string) => Promise<void>) | undefined, emitter: NoydbEventEmitter,
|
|
127
|
+
/**
|
|
128
|
+
* #647 fix wave 1 — mints a version-ordered delete-marker envelope (the reserved-tier
|
|
129
|
+
* mirror of #589's ordinary-collection delete marker). Injected rather than imported:
|
|
130
|
+
* `buildDeleteMarker` constructs the envelope's protected-body fields (`_iv`/`_data`), and
|
|
131
|
+
* `via/lookup/**` may not reach `kernel/enclave/` directly (Check 11
|
|
132
|
+
* `enclave-body-only` / Check 15 `via-enclave-isolation`) — the Vault binds the real
|
|
133
|
+
* `kernel/enclave` function at construction time, same pattern as `reservedEnvelopes` above.
|
|
134
|
+
*/
|
|
135
|
+
buildDeleteMarker: (version: number, actor: string) => EncryptedEnvelope,
|
|
136
|
+
/** #650 Task 4 (#647) — dirty-log participation hook (origin `local-write`), threaded from `BuildLookupHandleOptions`. */
|
|
137
|
+
onDirty?: ((collection: string, id: string, action: "put" | "delete", version: number) => Promise<void>) | undefined,
|
|
138
|
+
/** #650 Task 4 — thin `graphDispatch.collect`-equivalent; opens/collects/flushes a one-shot wave for this touch. */
|
|
139
|
+
onRecordMutated?: ((collection: string, id: string, action: "put" | "delete", version: number) => Promise<void>) | undefined,
|
|
140
|
+
/** #650 Task 5 (#648) — the real reference check `delete()`'s strict branch calls: restrict
|
|
141
|
+
* throws `DictKeyInUseError`, cascade/nullify apply their propagation. Vault-bound; a no-op
|
|
142
|
+
* when the dimension has no declared lookup-referencing edges. */
|
|
143
|
+
checkReferencesOnDelete?: ((key: string) => Promise<unknown>) | undefined);
|
|
144
|
+
private requireWriteAccess;
|
|
145
|
+
private encryptEntry;
|
|
146
|
+
private decryptEntry;
|
|
147
|
+
/** @internal #650 Task 4 — re-read `key`'s CURRENT adapter truth into `_syncCache` (delete the
|
|
148
|
+
* cache entry when the key is now gone). Called by `Vault._invalidateSyncApplied` after a
|
|
149
|
+
* reserved-lookup row applies via sync, so an already-warmed snapshot/membership/altIndex read
|
|
150
|
+
* never sees a stale verdict for a pulled vocabulary edit — the same invalidation a local
|
|
151
|
+
* put()/delete()/rename() already triggers via `_syncCache.set`/`delete` above. */
|
|
152
|
+
_refreshSyncCache(key: string): Promise<void>;
|
|
153
|
+
/**
|
|
154
|
+
* Add or overwrite a single dictionary entry.
|
|
155
|
+
*
|
|
156
|
+
* @param key The stable key to store (e.g. `'paid'`).
|
|
157
|
+
* @param labels Locale → label map (e.g. `{ en: 'Paid', th: 'ชำระแล้ว' }`).
|
|
158
|
+
*/
|
|
159
|
+
put(key: Keys, labels: Record<string, string>): Promise<void>;
|
|
160
|
+
/**
|
|
161
|
+
* Batch-add or overwrite multiple dictionary entries in one call.
|
|
162
|
+
*
|
|
163
|
+
* @param entries `{ key: { locale: label } }` map.
|
|
164
|
+
*/
|
|
165
|
+
putAll(entries: Record<Keys, Record<string, string>>): Promise<void>;
|
|
166
|
+
/**
|
|
167
|
+
* Load the label map for a single key.
|
|
168
|
+
*
|
|
169
|
+
* @returns The label map, or `null` if the key doesn't exist.
|
|
170
|
+
*/
|
|
171
|
+
get(key: Keys): Promise<Record<string, string> | null>;
|
|
172
|
+
/**
|
|
173
|
+
* Delete a dictionary key.
|
|
174
|
+
*
|
|
175
|
+
* Default mode is `'strict'` — throws `DictKeyInUseError` if any
|
|
176
|
+
* registered collection has a record referencing this key. Pass
|
|
177
|
+
* `{ mode: 'warn' }` to skip the check (dev-mode cleanup only).
|
|
178
|
+
*
|
|
179
|
+
* Under sync, deletion writes a version-ordered delete-marker row rather than removing the
|
|
180
|
+
* adapter key outright (#647 fix wave 1) — markers accumulate over time; GC is future work,
|
|
181
|
+
* acceptable for vocabulary-scale data.
|
|
182
|
+
*/
|
|
183
|
+
delete(key: Keys, opts?: {
|
|
184
|
+
mode?: 'strict' | 'warn';
|
|
185
|
+
}): Promise<void>;
|
|
186
|
+
/**
|
|
187
|
+
* Rename a dictionary key — the only sanctioned mass-mutation path.
|
|
188
|
+
*
|
|
189
|
+
* Atomically:
|
|
190
|
+
* 1. Adds the new key with the same labels as the old key.
|
|
191
|
+
* 2. Updates every registered record that stores the old key to
|
|
192
|
+
* store the new key instead.
|
|
193
|
+
* 3. Deletes the old key.
|
|
194
|
+
* 4. Appends a single ledger entry recording the rename.
|
|
195
|
+
*
|
|
196
|
+
* Respects ACL: throws `PermissionDeniedError` before any mutation
|
|
197
|
+
* if the caller can't write. The cascade is best-effort atomic
|
|
198
|
+
* within this call — no two-phase commit across adapter calls.
|
|
199
|
+
*
|
|
200
|
+
* Cascade-on-delete is NOT supported. Use `rename()` when you need
|
|
201
|
+
* to change a key that records reference.
|
|
202
|
+
*/
|
|
203
|
+
rename(oldKey: Keys, newKey: string): Promise<void>;
|
|
204
|
+
/**
|
|
205
|
+
* List all entries in this dictionary.
|
|
206
|
+
*
|
|
207
|
+
* @returns Array of `{ key, labels }` objects.
|
|
208
|
+
*/
|
|
209
|
+
list(): Promise<DictEntry[]>;
|
|
210
|
+
/**
|
|
211
|
+
* Resolve a key to its label for the given locale.
|
|
212
|
+
*
|
|
213
|
+
* Used by the collection's locale-aware read path to populate
|
|
214
|
+
* `<field>Label` virtual fields. Returns `undefined` when the
|
|
215
|
+
* key doesn't exist or has no label for the requested locale
|
|
216
|
+
* (after exhausting the fallback chain).
|
|
217
|
+
*/
|
|
218
|
+
resolveLabel(key: string, locale: string, fallback?: string | readonly string[]): Promise<string | undefined>;
|
|
219
|
+
}
|
|
220
|
+
export { LookupHandle as DictionaryHandle };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `via/lookup/` barrel — the dict/enum-tier lookup engine (#650
|
|
3
|
+
* Task 1 — via-lookup extraction, phase D of the Via port).
|
|
4
|
+
*
|
|
5
|
+
* Not a dedicated public package subpath (no `@noy-db/hub/lookup` entry) —
|
|
6
|
+
* its declaration surface (`lookup`/`enumOf`/`enum`/`dict` + the public
|
|
7
|
+
* types) is re-exported from the root `@noy-db/hub` barrel (`src/index.ts`)
|
|
8
|
+
* instead. This module itself is reached from the kernel spine only through
|
|
9
|
+
* `port/with/lookup-strategy.ts`, and, for the existing `vault.dictionary()`
|
|
10
|
+
* surface, through `via/i18n/active.ts`.
|
|
11
|
+
*/
|
|
12
|
+
export { LookupHandle, DictionaryHandle, DICT_COLLECTION_PREFIX, dictCollectionName, type DictEntry, type DictionaryOptions } from './handle.js';
|
|
13
|
+
export { enforceStaticDictOnPut, resolveDictSource, updateReferencingRecords, type DictReferencingCollection } from './registry.js';
|
|
14
|
+
export { withLookup } from './active.js';
|
|
15
|
+
export { lookup, enumOf, enumOf as enum, dict, type LookupDescriptor, type Vocabulary, type LookupBacking, type OnDelete } from './descriptor.js';
|
|
16
|
+
export { lookupBinding, linkLookupVia, type LookupViaConfig } from './binding.js';
|
|
17
|
+
export type { LookupDescribeFragment, LookupDescribeFragmentEntry } from './binding.js';
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure dict-registry helpers — extracted from `kernel/vault.ts`'s dict
|
|
3
|
+
* bodies (#650 Task 1 — via-lookup extraction, phase D).
|
|
4
|
+
*
|
|
5
|
+
* These take the vault-resident registry Maps (and a couple of vault-bound
|
|
6
|
+
* callbacks) as ARGUMENTS instead of closing over `this` — no `Vault`
|
|
7
|
+
* import here, so this module stays a plain, testable function library.
|
|
8
|
+
* `kernel/vault.ts` keeps the registry Maps themselves (they're populated
|
|
9
|
+
* by `vault.collection()` and read by the backup path) and calls these
|
|
10
|
+
* helpers through the `port/with/lookup-strategy.ts` seam.
|
|
11
|
+
*/
|
|
12
|
+
import type { JoinableSource } from '../../kernel/query/index.js';
|
|
13
|
+
import type { ViaGraph } from '../../kernel/via/graph.js';
|
|
14
|
+
import type { StaticDictDescriptor } from '../../port/with/i18n-strategy.js';
|
|
15
|
+
import { type LookupHandle } from './handle.js';
|
|
16
|
+
import type { LookupDescriptor } from './descriptor.js';
|
|
17
|
+
/**
|
|
18
|
+
* Validate staticDict codes on a `put()`. For each `staticDict()` field,
|
|
19
|
+
* every stored code must be a declared key of the descriptor's table, else
|
|
20
|
+
* `UnknownDictCodeError`. Opt out per descriptor with `{ validateCodes:
|
|
21
|
+
* false }`. Supports scalar, dotted, and `[].`-wildcard field paths via
|
|
22
|
+
* `getAtPath` (same path support as i18n validation).
|
|
23
|
+
*
|
|
24
|
+
* `staticFields` is the collection's `field → StaticDictDescriptor` map
|
|
25
|
+
* (`Vault#staticDescriptorByField.get(collectionName)`) — `undefined`/empty
|
|
26
|
+
* is a no-op.
|
|
27
|
+
*/
|
|
28
|
+
export declare function enforceStaticDictOnPut(staticFields: Record<string, StaticDictDescriptor> | undefined, record: unknown): void;
|
|
29
|
+
/**
|
|
30
|
+
* Build a `JoinableSource` for a dictKey field, for use in dict joins.
|
|
31
|
+
* Returns a source whose snapshot contains `{ key, labels, ...labels }`
|
|
32
|
+
* records — one per dictionary entry — keyed by the stable key.
|
|
33
|
+
*
|
|
34
|
+
* staticDict: a code-table-backed source — snapshot() materialises the
|
|
35
|
+
* in-memory table into rows, mirroring `LookupHandle.snapshotEntries()`.
|
|
36
|
+
* Carries `displayLocale` so a locale-less `{ by: 'label' }` query has a
|
|
37
|
+
* default locale to resolve at.
|
|
38
|
+
*
|
|
39
|
+
* Plain dictKey: the snapshot is built synchronously from the
|
|
40
|
+
* `LookupHandle`'s write-through cache, which is populated on every
|
|
41
|
+
* `put()`, `rename()`, `delete()`, and `list()` call. For pre-existing
|
|
42
|
+
* data not yet touched this session, call `await vault.dictionary(name).list()`
|
|
43
|
+
* first to warm the cache.
|
|
44
|
+
*
|
|
45
|
+
* Returns `null` when `field` is not a dictKey in `leftCollection`.
|
|
46
|
+
*/
|
|
47
|
+
export declare function resolveDictSource(leftCollection: string, field: string, staticDescriptorByField: ReadonlyMap<string, Record<string, StaticDictDescriptor>>, dictKeyFieldRegistry: ReadonlyMap<string, Record<string, string>>, getDictionaryHandle: (name: string) => LookupHandle): JoinableSource | null;
|
|
48
|
+
/** The minimal collection surface `updateReferencingRecords` needs. */
|
|
49
|
+
export interface DictReferencingCollection {
|
|
50
|
+
list(): Promise<Record<string, unknown>[]>;
|
|
51
|
+
put(id: string, record: Record<string, unknown>): Promise<unknown>;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Find and rewrite records in every registered collection whose
|
|
55
|
+
* dictKeyField points at `name`, replacing `oldKey` with `newKey`. Used by
|
|
56
|
+
* `LookupHandle.rename()` (the only sanctioned mass-mutation path for
|
|
57
|
+
* dictKey fields) via the vault's `findAndUpdateReferences` callback.
|
|
58
|
+
*
|
|
59
|
+
* `registry` is `Vault#dictKeyFieldRegistry` (collection name → field name
|
|
60
|
+
* → dictionary name); `getCollection` is the vault's collection accessor —
|
|
61
|
+
* rewrites go through the public `coll.put()` choke point, same as before.
|
|
62
|
+
*/
|
|
63
|
+
export declare function updateReferencingRecords(registry: ReadonlyMap<string, Record<string, string>>, getCollection: (collectionName: string) => DictReferencingCollection, name: string, oldKey: string, newKey: string): Promise<void>;
|
|
64
|
+
/**
|
|
65
|
+
* Resolve a label from an in-memory `{ locale -> label }` map, walking the
|
|
66
|
+
* same fallback chain semantics as `LookupHandle.resolveLabel` (#650 Task 2
|
|
67
|
+
* — moved here from `kernel/vault.ts` so the SAME chain serves both the
|
|
68
|
+
* i18n binding's `dictLabelResolver` and the lookup binding's
|
|
69
|
+
* `lookupLabelResolver`, which #650 Task 2 wires to the identical closure).
|
|
70
|
+
*/
|
|
71
|
+
export declare function resolveLabelFromMap(labels: Readonly<Record<string, string>>, locale: string, fallback?: string | readonly string[]): string | undefined;
|
|
72
|
+
/**
|
|
73
|
+
* Project a native `lookup(dimension, { backing:'static', table, … })`
|
|
74
|
+
* descriptor into the legacy `StaticDictDescriptor` shape — the
|
|
75
|
+
* alias-equivalence compat seam (#650 Task 2) that lets a native
|
|
76
|
+
* static-tier lookup field reuse the SAME vault registries
|
|
77
|
+
* (`staticByName`/`staticDescriptorByField`) — and therefore the same
|
|
78
|
+
* `dictLabelResolver`/`resolveDictSource` machinery — as its `staticDict()`
|
|
79
|
+
* alias. `vocabulary:'closed'` maps to `validateCodes:true` (closed = only
|
|
80
|
+
* declared codes are legal); `'open'` maps to `validateCodes:false`.
|
|
81
|
+
* Returns `undefined` for non-static or table-less (bare `enumOf`)
|
|
82
|
+
* descriptors — those have nothing to register.
|
|
83
|
+
*/
|
|
84
|
+
export declare function lookupToStaticDictCompat(desc: LookupDescriptor): StaticDictDescriptor | undefined;
|
|
85
|
+
/** The vault-registry entries a collection's `lookupFields` contribute — the alias-equivalence bridge (#650 Task 2). */
|
|
86
|
+
export interface LookupDictCompat {
|
|
87
|
+
/** Reserved-tier fields: field name -> dimension (dictionary) name — merges into `dictKeyFieldRegistry`. */
|
|
88
|
+
readonly dictFieldMap: Record<string, string>;
|
|
89
|
+
/** Static-tier (table-bearing) fields, projected — merges into `staticDescriptorByField`/`staticByName`. */
|
|
90
|
+
readonly staticEntries: ReadonlyArray<readonly [string, StaticDictDescriptor]>;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Bridge a collection's `lookupFields` into the SAME shape the legacy dict
|
|
94
|
+
* registries expect, so `resolveDictSource`/`dictLabelResolver` (and
|
|
95
|
+
* therefore `.join()`/`orderBy({by:'label'})`) serve a native `dict()`/
|
|
96
|
+
* `lookup(static)` field identically to its `dictKey()`/`staticDict()`
|
|
97
|
+
* alias — the reserved-vs-first-class-backing "matrix" tier is NOT bridged
|
|
98
|
+
* here (no vault registry backs it; Task 5/6 build its own graph edge /
|
|
99
|
+
* snapshot seam).
|
|
100
|
+
*/
|
|
101
|
+
export declare function collectLookupDictCompat(lookupFields: Record<string, LookupDescriptor> | undefined): LookupDictCompat;
|
|
102
|
+
/**
|
|
103
|
+
* Reserved-dict deps of a set of named collections (#653) — the `_dict_*`
|
|
104
|
+
* collections partial sync must auto-include alongside a `collections`
|
|
105
|
+
* filter, mirroring `SyncEngine`'s existing satellite-pair expansion.
|
|
106
|
+
* One hop is provably complete: `vault.collection()` refuses `_dict_*`
|
|
107
|
+
* names, so a dict can never itself declare lookup fields — no
|
|
108
|
+
* dict-of-dict chain to recurse through.
|
|
109
|
+
*/
|
|
110
|
+
export declare function reservedDictDepsOf(names: readonly string[], dictKeyFieldRegistry: ReadonlyMap<string, Record<string, string>>): readonly string[];
|
|
111
|
+
/**
|
|
112
|
+
* A lookup dimension's sync membership/altKey table, materialized from its
|
|
113
|
+
* backing rows (#650 Task 3). `keys` is every canonical key present;
|
|
114
|
+
* `altIndex` maps an altKey candidate VALUE to its owning canonical key.
|
|
115
|
+
*/
|
|
116
|
+
export interface MaterializedBacking {
|
|
117
|
+
/** Canonical key values present in the materialized rows. */
|
|
118
|
+
readonly keys: ReadonlySet<string>;
|
|
119
|
+
/** altKey candidate value -> canonical key. */
|
|
120
|
+
readonly altIndex: ReadonlyMap<string, string>;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Build a lookup dimension's altKey index from its backing rows, enforcing
|
|
124
|
+
* declare/warm-time uniqueness across `key ∪ altKeys` values (#650 Task 3 —
|
|
125
|
+
* the CHE/SWZ drift class: two different rows must never claim the same
|
|
126
|
+
* candidate key). `rows` is keyed by canonical key (`row[descriptor.key]`
|
|
127
|
+
* for the matrix tier; the dimension's own key for static/reserved).
|
|
128
|
+
* An altKey candidate VALUE may be a string or number — both normalize via
|
|
129
|
+
* `coerceLookupKey` (#651 Task 3); non-scalar/absent values are skipped.
|
|
130
|
+
* Pure — no I/O. Throws `ValidationError` on collision.
|
|
131
|
+
*/
|
|
132
|
+
export declare function materializeBackingTable(descriptor: LookupDescriptor, rows: ReadonlyMap<string, Record<string, unknown>>): MaterializedBacking;
|
|
133
|
+
/**
|
|
134
|
+
* Closed-vocabulary membership test for one candidate key (#650 Task 3).
|
|
135
|
+
* Static tier: sync, against the in-config key set (declared `keys`, or the
|
|
136
|
+
* table's own keys when table-bearing). Reserved tier: sync — the declared
|
|
137
|
+
* `keys` union the reserved handle's live write-through snapshot (closes
|
|
138
|
+
* #649 for the native `dict()` spelling: the declared-keys promise the old
|
|
139
|
+
* `dictKey()` doc comment made falsely). Matrix (collection) tier: sync —
|
|
140
|
+
* delegates to `buildLookupAltIndex` so membership is checked against the
|
|
141
|
+
* SAME `row[descriptor.key]` keying the altKey index uses (review fix,
|
|
142
|
+
* Important 1: an earlier PUT-id `.get(key)` scan disagreed with the
|
|
143
|
+
* altIndex whenever `descriptor.key !== 'id'`, wrongly rejecting valid
|
|
144
|
+
* non-id candidates and wrongly accepting an unrelated row's PUT-id).
|
|
145
|
+
*/
|
|
146
|
+
export declare function checkLookupMembership(descriptor: LookupDescriptor, key: string, getDictionary: (dimension: string) => LookupHandle, getCollection: (dimension: string) => {
|
|
147
|
+
querySourceForJoin(): JoinableSource;
|
|
148
|
+
}): boolean;
|
|
149
|
+
/**
|
|
150
|
+
* The ONE guarded key coercion (#651 Task 3, dm12) — string/number values
|
|
151
|
+
* coerce to their canonical `String()` form; everything else (`null`,
|
|
152
|
+
* `undefined`, objects, …) coerces to `undefined`. Every consumer that turns
|
|
153
|
+
* a raw record field into a lookup key routes through this, closing the
|
|
154
|
+
* bare-`String()` `"undefined"`/`"null"`-key poisoning class (seam map
|
|
155
|
+
* finding 6): a row whose key field is genuinely absent must never mint the
|
|
156
|
+
* literal candidate string `"undefined"`.
|
|
157
|
+
*/
|
|
158
|
+
export declare function coerceLookupKey(raw: unknown): string | undefined;
|
|
159
|
+
/**
|
|
160
|
+
* Resolve a backing row's canonical key VALUE — `coerceLookupKey(row[descriptor.key])`
|
|
161
|
+
* (#651 Task 3). The matrix tier's `row[descriptor.key]`, never the row's own PUT-id
|
|
162
|
+
* when the two differ (`descriptor.key !== 'id'`).
|
|
163
|
+
*/
|
|
164
|
+
export declare function resolveBackingRowKey(descriptor: LookupDescriptor, row: Record<string, unknown>): string | undefined;
|
|
165
|
+
/**
|
|
166
|
+
* The referencing-side match predicate — does `rec[field]` (coerced) equal an
|
|
167
|
+
* already-coerced `compareKey` (#651 Task 3)? Shared by every site that scans a
|
|
168
|
+
* referencing collection for rows pointing at a given backing key
|
|
169
|
+
* (`with-shape/links/vault-facade.ts`'s ref-delete propagation, `kernel/via/dispatch.ts`'s
|
|
170
|
+
* forget-fanout twin).
|
|
171
|
+
*/
|
|
172
|
+
export declare function matchesReferencingValue(rec: Record<string, unknown>, field: string, compareKey: string): boolean;
|
|
173
|
+
/**
|
|
174
|
+
* Materialize a lookup dimension's altKey index from whatever backing data
|
|
175
|
+
* is synchronously available (#650 Task 3 — the `ingest` source). Static:
|
|
176
|
+
* the in-config table. Reserved: the reserved handle's live write-through
|
|
177
|
+
* cache (the same warm-via-put()/list() cache `resolveDictSource` already
|
|
178
|
+
* relies on). Matrix (collection): the backing collection's own in-memory
|
|
179
|
+
* eager cache via `querySourceForJoin()` — already public, already the
|
|
180
|
+
* mechanism `.join()` uses (`with-shape/links/vault-facade.ts`'s
|
|
181
|
+
* `resolveSource`); no new I/O, no fire-and-forget warm step. Like that
|
|
182
|
+
* existing join precedent, a dimension collection this vault session has
|
|
183
|
+
* not yet opened/populated sees an empty snapshot (no altKey normalization
|
|
184
|
+
* until it has rows) — open/populate it first for normalization to apply.
|
|
185
|
+
* A matrix row whose `descriptor.key` field coerces to `undefined` (missing/
|
|
186
|
+
* non-scalar) is SKIPPED — never enters the index under a poisoned
|
|
187
|
+
* `"undefined"` key (#651 Task 3, dm12).
|
|
188
|
+
*/
|
|
189
|
+
export declare function buildLookupAltIndex(descriptor: LookupDescriptor, getDictionary: (dimension: string) => LookupHandle, getCollection: (dimension: string) => {
|
|
190
|
+
querySourceForJoin(): JoinableSource;
|
|
191
|
+
}): MaterializedBacking;
|
|
192
|
+
/** Thin wrapper — `collectLookupRefEdges` + one `graph.registerDerived` call per edge. Lets
|
|
193
|
+
* `vault.collection()` (kernel-surface-budgeted, #650 Task 5) register a collection's lookup-ref
|
|
194
|
+
* edges with a single line, keeping the ceiling-guarded call site a thin call (route logic here). */
|
|
195
|
+
export declare function registerLookupRefEdges(graph: ViaGraph, collectionName: string, lookupFields: Record<string, LookupDescriptor> | undefined): void;
|
|
196
|
+
/**
|
|
197
|
+
* `LookupViaConfig.snapshotFor`'s vault-built row source (#650 Task 6, spec
|
|
198
|
+
* §5; matrix-tier coverage added #650 Task 7, spec §6 — Task 6 deferred it,
|
|
199
|
+
* see `task-6-report.md`'s Concerns #1; the reviewer's Task-7 dispatch
|
|
200
|
+
* refuted the "needs a new vault-resident registry" premise: the descriptor
|
|
201
|
+
* is already in hand at both call sites, so `snapshotFor` just needs to
|
|
202
|
+
* ACCEPT it). Takes the full `descriptor` (not a bare dimension name) so it
|
|
203
|
+
* can route the matrix tier's `key` field, which — unlike reserved tier's
|
|
204
|
+
* hardcoded `'id'` — varies per collection. Routes on `descriptor.backing`:
|
|
205
|
+
*
|
|
206
|
+
* - **reserved**: rows come straight from the SAME `LookupHandle.
|
|
207
|
+
* snapshotEntries()` write-through cache `dictLabelResolver`/
|
|
208
|
+
* `resolveDictSource` already read (no second copy), keyed by each
|
|
209
|
+
* entry's own canonical `key` (always `'id'` by construction for this
|
|
210
|
+
* tier — `dict()`'s factory hardcodes it).
|
|
211
|
+
* - **collection** (matrix): rows come from `getCollection(dimension).
|
|
212
|
+
* querySourceForJoin().snapshot()` — the SAME sync, already-live cache
|
|
213
|
+
* `buildLookupAltIndex`'s matrix branch (above, this file) and `.join()`
|
|
214
|
+
* itself already read — re-keyed via `resolveBackingRowKey(descriptor, row)`,
|
|
215
|
+
* NOT the row's own PUT-id (which may differ when `key !== 'id'`; the exact
|
|
216
|
+
* distinction the #650 Task 3 review fix already applies to
|
|
217
|
+
* `checkLookupMembership`'s matrix branch). A row whose `descriptor.key`
|
|
218
|
+
* field coerces to `undefined` is skipped (#651 Task 3, dm12).
|
|
219
|
+
* - **static**: never routed here — `descriptor.table` is read directly by
|
|
220
|
+
* the caller (`binding.ts`'s `compareLookupOrder`/`resolveLookupOrderLabel`,
|
|
221
|
+
* `snapshot.ts`'s `presentLookupForJoin`); no vault call needed.
|
|
222
|
+
*
|
|
223
|
+
* `isReservedDimension` is the vault's `reservedLookupCollections`
|
|
224
|
+
* membership test.
|
|
225
|
+
*/
|
|
226
|
+
export declare function buildLookupSnapshotRows(descriptor: LookupDescriptor, isReservedDimension: (dimension: string) => boolean, getDictionary: (dimension: string) => LookupHandle, getCollection: (dimension: string) => {
|
|
227
|
+
querySourceForJoin(): JoinableSource;
|
|
228
|
+
}): ReadonlyMap<string, Record<string, unknown>> | undefined;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The sync lookup snapshot + join/locale seam (#650 Task 6, spec §5 — "the
|
|
3
|
+
* snapshot+locale seam"). Retires the #626 kernel→via grandfather:
|
|
4
|
+
* `kernel/query/join.ts` no longer imports `via/i18n/core.js` directly
|
|
5
|
+
* — it calls the `presentForJoin` hook this file's `buildPresentForJoin`
|
|
6
|
+
* builds instead (seam map Part 2 item 4, the #626 reviewer-spec'd shape:
|
|
7
|
+
* a sync `presentI18nForJoin`-class hook on `JoinableSource`).
|
|
8
|
+
*
|
|
9
|
+
* `LookupSnapshot` is the sync materialized `key -> row` view over ONE
|
|
10
|
+
* lookup dimension's ALREADY-LIVE backing data (the `active.ts`
|
|
11
|
+
* `_syncCache`/`snapshotEntries` write-through-cache pattern — never a
|
|
12
|
+
* second copy of the data: `LookupViaConfig.snapshotFor`'s vault-built
|
|
13
|
+
* closure reads the SAME `LookupHandle._syncCache` /
|
|
14
|
+
* first-class-collection cache every other lookup consumer
|
|
15
|
+
* (`dictLabelResolver`, `resolveDictSource`, `getAltIndex`) already reads).
|
|
16
|
+
* Serves (reserved AND matrix tier since #650 Task 7 — `registry.ts`'s
|
|
17
|
+
* `buildLookupSnapshotRows` routes both; static tier is read straight off
|
|
18
|
+
* `descriptor.table` by every consumer below, never through this cache):
|
|
19
|
+
* - join dressing (`presentForJoin`, consumed by `kernel/query/join.ts`
|
|
20
|
+
* via `JoinableSource.presentForJoin`)
|
|
21
|
+
* - dimension sort (`compareForOrder`, consumed by
|
|
22
|
+
* `via/lookup/binding.ts`'s `ViaBinding.compareForOrder` closure)
|
|
23
|
+
* - per-call-locale order-label resolution (`resolveOrderLabel`, #650
|
|
24
|
+
* Task 7 — the `orderBy(..., {by:'label'})` channel `compareForOrder`
|
|
25
|
+
* structurally can't serve, no locale param; consumed by
|
|
26
|
+
* `kernel/query/builder.ts`'s `buildOrderLabelMaps`)
|
|
27
|
+
* - membership: reserved/static-tier membership (#650 Task 3,
|
|
28
|
+
* `checkLookupMembership`) already reads the identical sync caches
|
|
29
|
+
* directly — not re-plumbed through this file; see
|
|
30
|
+
* `.superpowers/sdd/task-6-report.md`'s "bridge disposition" section.
|
|
31
|
+
*
|
|
32
|
+
* Sync end-to-end (#553) — every function here is a pure, synchronous
|
|
33
|
+
* transform over already-materialized rows; no store read, no Promise.
|
|
34
|
+
*/
|
|
35
|
+
import type { LookupDescriptor } from './descriptor.js';
|
|
36
|
+
import { type I18nTextDescriptor } from '../i18n/core.js';
|
|
37
|
+
/** A lookup dimension's sync materialized view — see file header. */
|
|
38
|
+
export interface LookupSnapshot {
|
|
39
|
+
/** The full backing row for `key`, or `undefined` when `key` isn't (yet) present in the snapshot. */
|
|
40
|
+
row(key: string): Record<string, unknown> | undefined;
|
|
41
|
+
/** The dimension's declared presentation label for `key` at `locale` — mirrors `binding.ts`'s `fetchLookupLabel` (matrix-row branch), generalized to any tier's already-materialized rows. */
|
|
42
|
+
label(key: string, locale: string, fallback?: unknown): string | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* Exact ordering for two canonical keys against `descriptor.sortBy`
|
|
45
|
+
* (falls back to `present.label`, then to the raw keys) at `locale`.
|
|
46
|
+
* Never throws — degrades to comparing the raw keys when no sortable
|
|
47
|
+
* value resolves for either side.
|
|
48
|
+
*/
|
|
49
|
+
compareKeys(a: string, b: string, locale: string): number;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Build a sync `LookupSnapshot` over one dimension's already-materialized
|
|
53
|
+
* rows (canonical-key -> row, the SAME keying `materializeBackingTable`
|
|
54
|
+
* (`registry.ts`, #650 Task 3) uses). Pure — never reads a store.
|
|
55
|
+
*/
|
|
56
|
+
export declare function buildLookupSnapshot(dimension: string, rows: ReadonlyMap<string, Record<string, unknown>>, descriptor: LookupDescriptor): LookupSnapshot;
|
|
57
|
+
/**
|
|
58
|
+
* Build the combined sync `presentForJoin(record, locale)` hook a
|
|
59
|
+
* `Collection` attaches to the `JoinableSource` it exposes
|
|
60
|
+
* (`querySourceForJoin()`) — the i18n-text half (`presentI18nForJoin`, the
|
|
61
|
+
* exact `applyI18nLocale(..., 'join')` partial application
|
|
62
|
+
* `kernel/query/join.ts` used to call directly, #626) composed with the
|
|
63
|
+
* lookup-label half above. `undefined` when the collection declares
|
|
64
|
+
* neither — `JoinableSource.presentForJoin` then stays unset, matching
|
|
65
|
+
* today's `i18nFields`-absent behavior exactly (#626 parity lock).
|
|
66
|
+
*/
|
|
67
|
+
export declare function buildPresentForJoin(i18nFields: Record<string, I18nTextDescriptor> | undefined, lookupFields: Record<string, LookupDescriptor> | undefined, getSnapshotRows: ((descriptor: LookupDescriptor) => ReadonlyMap<string, Record<string, unknown>> | undefined) | undefined): ((record: unknown, locale: string) => unknown) | undefined;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exact money arithmetic helpers — `mulRate` and `allocate`.
|
|
3
|
+
*
|
|
4
|
+
* Both operate on the canonical decoded string form that `get()`
|
|
5
|
+
* returns (`'10000.00'`), entirely in scaled-`BigInt` space — no
|
|
6
|
+
* floating-point step anywhere, exact past 2^53. They are pure
|
|
7
|
+
* functions with no vault or descriptor dependency: the working scale
|
|
8
|
+
* is inferred from the amount's fractional digits (a canonical money
|
|
9
|
+
* string always carries exactly the field's scale) or pinned with
|
|
10
|
+
* `opts.scale`.
|
|
11
|
+
*
|
|
12
|
+
* Why these two: app-side invariants of the form
|
|
13
|
+
* `Σ parts === whole` (receipt totals, net-zero WHT pairs, proration)
|
|
14
|
+
* carry ±0.01 tolerances ONLY because the math is major-unit floats +
|
|
15
|
+
* round2. `mulRate` (VAT-style rate application with explicit
|
|
16
|
+
* rounding) and `allocate` (largest-remainder split — parts sum to the
|
|
17
|
+
* input EXACTLY, by construction) make those tolerances zero.
|
|
18
|
+
*/
|
|
19
|
+
import { type RoundingMode } from './fixed-point.js';
|
|
20
|
+
export interface MulRateOptions {
|
|
21
|
+
/**
|
|
22
|
+
* Output scale (fraction digits). Defaults to the amount's own
|
|
23
|
+
* fractional digits — for a canonical money string that IS the
|
|
24
|
+
* field's scale.
|
|
25
|
+
*/
|
|
26
|
+
readonly scale?: number;
|
|
27
|
+
/** Rounding for the final re-scale. Default `'half-up'`. */
|
|
28
|
+
readonly rounding?: RoundingMode;
|
|
29
|
+
}
|
|
30
|
+
export interface AllocateOptions {
|
|
31
|
+
/** Working scale. Defaults to the amount's own fractional digits. */
|
|
32
|
+
readonly scale?: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Multiply a money amount by a decimal rate, exactly.
|
|
36
|
+
*
|
|
37
|
+
* The rate is parsed at its OWN full precision (`0.07` → `7` at scale
|
|
38
|
+
* 2), the product computed in `BigInt` at `amountScale + rateScale`,
|
|
39
|
+
* then re-scaled back to the output scale with the requested rounding —
|
|
40
|
+
* one rounding step, at the very end.
|
|
41
|
+
*
|
|
42
|
+
* ```ts
|
|
43
|
+
* mulRate('10000.00', 0.07) // '700.00' (VAT)
|
|
44
|
+
* mulRate('33.33', '0.07') // '2.33' (half-up)
|
|
45
|
+
* mulRate('33.33', 0.07, { rounding: 'floor' }) // '2.33'
|
|
46
|
+
* mulRate(100, 0.07, { scale: 2 }) // '7.00'
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export declare function mulRate(amount: number | string, rate: number | string, opts?: MulRateOptions): string;
|
|
50
|
+
/**
|
|
51
|
+
* Split a money amount across weighted buckets with ZERO drift: the
|
|
52
|
+
* returned parts sum to the input exactly, by construction
|
|
53
|
+
* (largest-remainder method).
|
|
54
|
+
*
|
|
55
|
+
* Each bucket gets `floor(amount × weightᵢ / Σweights)`; the leftover
|
|
56
|
+
* minor units (always fewer than the bucket count) go one each to the
|
|
57
|
+
* buckets with the largest truncated remainders — ties broken by
|
|
58
|
+
* position, earlier bucket first. Weights are parsed as exact decimals
|
|
59
|
+
* (no float division anywhere); they must be non-negative with a
|
|
60
|
+
* positive sum.
|
|
61
|
+
*
|
|
62
|
+
* ```ts
|
|
63
|
+
* allocate('100.00', [1, 1, 1]) // ['33.34', '33.33', '33.33']
|
|
64
|
+
* allocate('0.05', [3, 7]) // ['0.02', '0.03']
|
|
65
|
+
* allocate('-100.00', [1, 1, 1]) // ['-33.34', '-33.33', '-33.33']
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
export declare function allocate(amount: number | string, weights: ReadonlyArray<number | string>, opts?: AllocateOptions): string[];
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The money `ViaBinding` — wires the money engine (normalize/paths/where/
|
|
3
|
+
* money-reducer) into the kernel's generic Via port. `money()`
|
|
4
|
+
* (descriptor.ts) calls {@link linkMoneyVia} at declaration time — the
|
|
5
|
+
* same #553 static-link pattern the retired `linkMoneyEngine()` /
|
|
6
|
+
* `kernel/money-runtime.ts` seam used, now the only one (Task 6 cut the
|
|
7
|
+
* query DSL over to this binding and deleted the legacy seam).
|
|
8
|
+
*/
|
|
9
|
+
import type { ViaBinding } from '../../kernel/via/index.js';
|
|
10
|
+
import type { MoneyDescriptor } from './descriptor.js';
|
|
11
|
+
/** #669 — the money binder's config bag. `virtualMoneyFields` is the money∩virtual-mode-
|
|
12
|
+
* computed field-name intersection (`kernel/collection-config.ts#resolveVirtualMoneyFields`);
|
|
13
|
+
* absent/empty means no field on this collection composes money with a virtual computed
|
|
14
|
+
* field on itself — the pre-#669 behavior (no `presentLate`, ordinary `present()` for
|
|
15
|
+
* every declared money field). */
|
|
16
|
+
export interface MoneyBindingConfig {
|
|
17
|
+
readonly moneyFields: Record<string, MoneyDescriptor>;
|
|
18
|
+
readonly virtualMoneyFields?: ReadonlySet<string>;
|
|
19
|
+
}
|
|
20
|
+
export declare function moneyBinding(moneyFields: Record<string, MoneyDescriptor>, virtualMoneyFields?: ReadonlySet<string>): ViaBinding;
|
|
21
|
+
export declare function linkMoneyVia(): void;
|