@noy-db/hub 0.3.0-pre.9 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/aggregate/index.js +5 -5
- package/dist/api-ZGS6LCOF.js +20 -0
- package/dist/as/index.js +11 -11
- package/dist/attestation/index.js +18 -18
- package/dist/backup-BJ57IKAO.js +242 -0
- package/dist/backup-BJ57IKAO.js.map +1 -0
- package/dist/blobs/index.js +13 -11
- package/dist/blobs/index.js.map +1 -1
- package/dist/broker/index.js +92 -0
- package/dist/broker/index.js.map +1 -0
- package/dist/bundle/index.js +25 -22
- package/dist/bundle/index.js.map +1 -1
- package/dist/by/index.js +2 -2
- package/dist/cargo/index.js +31 -32
- package/dist/chunk-2NVOWNI3.js +167 -0
- package/dist/chunk-2NVOWNI3.js.map +1 -0
- package/dist/chunk-3B5VVCNY.js +71 -0
- package/dist/chunk-3LQ2YKO4.js +230 -0
- package/dist/chunk-3QCRBHCY.js +54 -0
- package/dist/chunk-454JXE57.js +1697 -0
- package/dist/chunk-454JXE57.js.map +1 -0
- package/dist/chunk-4CTHCN4J.js +480 -0
- package/dist/chunk-4CTHCN4J.js.map +1 -0
- package/dist/chunk-4GPE63GU.js +111 -0
- package/dist/chunk-4GPE63GU.js.map +1 -0
- package/dist/chunk-4JBYV75E.js +150 -0
- package/dist/chunk-4NXKCLLQ.js +97 -0
- package/dist/chunk-4VNQOLML.js +29 -0
- package/dist/chunk-4VNQOLML.js.map +1 -0
- package/dist/chunk-5M5DVGV7.js +69 -0
- package/dist/chunk-5O3XF4DV.js +150 -0
- package/dist/chunk-5O3XF4DV.js.map +1 -0
- package/dist/chunk-5YOLBEQ6.js +30 -0
- package/dist/chunk-6CRIV7DE.js +129 -0
- package/dist/chunk-6JTIAGHD.js +621 -0
- package/dist/chunk-6JTIAGHD.js.map +1 -0
- package/dist/chunk-6QTNZJBS.js +255 -0
- package/dist/chunk-6T2SCQRU.js +86 -0
- package/dist/chunk-7DSTRQIJ.js +45 -0
- package/dist/chunk-AUSTCW2X.js +589 -0
- package/dist/chunk-B3HJYUOF.js +209 -0
- package/dist/chunk-BDVFPG6Y.js +164 -0
- package/dist/chunk-BIOUI4HL.js +1554 -0
- package/dist/chunk-BIOUI4HL.js.map +1 -0
- package/dist/chunk-CAF6WOK7.js +36 -0
- package/dist/chunk-CDUQTA3Z.js +381 -0
- package/dist/chunk-CDUQTA3Z.js.map +1 -0
- package/dist/chunk-CIE2BASH.js +404 -0
- package/dist/chunk-CRI4OUV4.js +42 -0
- package/dist/chunk-DLG74CNB.js +91 -0
- package/dist/chunk-E5ZQT5KX.js +30 -0
- package/dist/chunk-E5ZQT5KX.js.map +1 -0
- package/dist/chunk-EQO2UVP4.js +247 -0
- package/dist/chunk-EQO2UVP4.js.map +1 -0
- package/dist/chunk-ERJ7FU55.js +367 -0
- package/dist/chunk-EVVGJDRQ.js +205 -0
- package/dist/chunk-EVX47VBM.js +74 -0
- package/dist/chunk-EVX47VBM.js.map +1 -0
- package/dist/chunk-EXK7QRWF.js +59 -0
- package/dist/chunk-EYZ6IQ6X.js +202 -0
- package/dist/chunk-F64IRYG3.js +45 -0
- package/dist/chunk-FHS2HQSH.js +823 -0
- package/dist/chunk-FM3G3NOY.js +206 -0
- package/dist/chunk-FM3G3NOY.js.map +1 -0
- package/dist/chunk-FUG4SFN3.js +36 -0
- package/dist/chunk-FUG4SFN3.js.map +1 -0
- package/dist/chunk-GKEWXIV5.js +80 -0
- package/dist/chunk-GTGPO5KW.js +59 -0
- package/dist/chunk-HB3RFQSC.js +95 -0
- package/dist/chunk-HDMEGAQE.js +957 -0
- package/dist/chunk-HDMEGAQE.js.map +1 -0
- package/dist/chunk-HDQIIUPH.js +135 -0
- package/dist/chunk-HDQIIUPH.js.map +1 -0
- package/dist/chunk-HTJQYHZP.js +344 -0
- package/dist/chunk-HTJQYHZP.js.map +1 -0
- package/dist/chunk-I6GALP6E.js +99 -0
- package/dist/chunk-IGJCYUT5.js +99 -0
- package/dist/chunk-IGJCYUT5.js.map +1 -0
- package/dist/chunk-IL6POWCW.js +130 -0
- package/dist/chunk-IU6SNYX6.js +117 -0
- package/dist/chunk-J2ZX2XUV.js +778 -0
- package/dist/chunk-JIF24JPM.js +495 -0
- package/dist/chunk-JIF24JPM.js.map +1 -0
- package/dist/chunk-JK733I5V.js +23 -0
- package/dist/chunk-JK733I5V.js.map +1 -0
- package/dist/chunk-JKJOGPZN.js +29 -0
- package/dist/chunk-JNAI2HN2.js +32 -0
- package/dist/chunk-JNAI2HN2.js.map +1 -0
- package/dist/chunk-JZUV47FZ.js +41 -0
- package/dist/chunk-K5IMOGHB.js +30 -0
- package/dist/chunk-KPZS5QAQ.js +151 -0
- package/dist/chunk-KPZS5QAQ.js.map +1 -0
- package/dist/chunk-KSKBRKGJ.js +291 -0
- package/dist/chunk-KSKBRKGJ.js.map +1 -0
- package/dist/chunk-LASZKVMO.js +382 -0
- package/dist/chunk-LXEXBTKL.js +515 -0
- package/dist/chunk-LXEXBTKL.js.map +1 -0
- package/dist/chunk-M4CV6BRT.js +524 -0
- package/dist/chunk-M4CV6BRT.js.map +1 -0
- package/dist/chunk-MEFJPTZ4.js +371 -0
- package/dist/chunk-MEFJPTZ4.js.map +1 -0
- package/dist/chunk-MV43JSJF.js +265 -0
- package/dist/chunk-MV43JSJF.js.map +1 -0
- package/dist/chunk-NJ4EOKMB.js +392 -0
- package/dist/chunk-NJ4EOKMB.js.map +1 -0
- package/dist/chunk-NR5LT5RY.js +135 -0
- package/dist/chunk-NWSGI5C7.js +261 -0
- package/dist/chunk-OSDB5WW3.js +739 -0
- package/dist/chunk-OSDB5WW3.js.map +1 -0
- package/dist/chunk-PN2XMATY.js +37 -0
- package/dist/chunk-PN2XMATY.js.map +1 -0
- package/dist/chunk-Q5VNKNE5.js +70 -0
- package/dist/chunk-QLWMEXCT.js +21 -0
- package/dist/chunk-QRB7NAOJ.js +123 -0
- package/dist/chunk-R4ROFEYC.js +74 -0
- package/dist/chunk-RCVJZMFE.js +164 -0
- package/dist/chunk-RCVJZMFE.js.map +1 -0
- package/dist/chunk-RIX4V2TB.js +367 -0
- package/dist/chunk-RYCTDFUX.js +40 -0
- package/dist/chunk-RZ5SVOYR.js +155 -0
- package/dist/chunk-SLFHQTTW.js +99 -0
- package/dist/chunk-SNZ6URZZ.js +2782 -0
- package/dist/chunk-SNZ6URZZ.js.map +1 -0
- package/dist/chunk-T2FFWNPK.js +75 -0
- package/dist/chunk-UNFPPVNI.js +23 -0
- package/dist/chunk-VFUPHI2Z.js +333 -0
- package/dist/chunk-VFUPHI2Z.js.map +1 -0
- package/dist/chunk-VLFCJYTL.js +235 -0
- package/dist/chunk-VN3DBQAU.js +124 -0
- package/dist/chunk-VYYM3MEN.js +98 -0
- package/dist/chunk-VYYM3MEN.js.map +1 -0
- package/dist/chunk-VZRODIM3.js +49 -0
- package/dist/chunk-W22IKJE2.js +94 -0
- package/dist/chunk-X3YYQWOQ.js +155 -0
- package/dist/chunk-X7QBD67R.js +14405 -0
- package/dist/chunk-X7QBD67R.js.map +1 -0
- package/dist/chunk-XDYREZWE.js +1128 -0
- package/dist/chunk-XDYREZWE.js.map +1 -0
- package/dist/chunk-XWZVFISC.js +720 -0
- package/dist/chunk-XWZVFISC.js.map +1 -0
- package/dist/chunk-YFXZEAYK.js +85 -0
- package/dist/chunk-ZAJAVEXY.js +50 -0
- package/dist/chunk-ZICD77GM.js +34 -0
- package/dist/chunk-ZJ2AK4V7.js +38 -0
- package/dist/chunk-ZUODRVHY.js +14 -0
- package/dist/classified/index.js +5 -5
- package/dist/classified-marker-CZKA6ITE.js +28 -0
- package/dist/classified-marker-CZKA6ITE.js.map +1 -0
- package/dist/collection-facade-TLWIPI76.js +44 -0
- package/dist/computed-ZIQTYTDI.js +11 -0
- package/dist/consent/index.js +9 -9
- package/dist/crdt/index.js +1 -1
- package/dist/dead-filter-ESOBZZP5.js +28 -0
- package/dist/delegation-W7ZV2322.js +25 -0
- package/dist/derivations/index.js +12 -12
- package/dist/derive-H2BJTLUI.js +21 -0
- package/dist/enclave-AP3I5W7O.js +141 -0
- package/dist/executor-KGWTNEQD.js +9 -0
- package/dist/executor-OVEXR6RT.js +9 -0
- package/dist/executor-UNEH5ZYH.js +25 -0
- package/dist/export-accessible-PCMXSUZS.js +23 -0
- package/dist/extract-partition-SWHFSYJO.js +38 -0
- package/dist/fanout-sidecar-A765THMX.js +74 -0
- package/dist/find-N6345CNT.js +11 -0
- package/dist/forget/index.js +10 -10
- package/dist/forget/index.js.map +1 -1
- package/dist/guards/index.js +6 -6
- package/dist/history/index.js +14 -11
- package/dist/history/index.js.map +1 -1
- package/dist/i18n/index.js +21 -19
- package/dist/i18n/index.js.map +1 -1
- package/dist/index.d.ts +307 -1493
- package/dist/index.js +309 -190
- package/dist/index.js.map +1 -1
- package/dist/indexing/index.js +7 -7
- package/dist/indexing/index.js.map +1 -1
- package/dist/issue-5OKB6I2R.js +19 -0
- package/dist/kernel/best-effort-revert.d.ts +52 -0
- package/dist/kernel/cache/index.d.ts +10 -0
- package/dist/kernel/cache/lru.d.ts +97 -0
- package/dist/kernel/cache/policy.d.ts +32 -0
- package/dist/kernel/collection-config.d.ts +809 -0
- package/dist/kernel/collection.d.ts +1522 -0
- package/dist/kernel/constants.d.ts +18 -0
- package/dist/kernel/debug.d.ts +25 -0
- package/dist/kernel/enclave/broker/proof.d.ts +154 -0
- package/dist/kernel/enclave/classify/bidx.d.ts +77 -0
- package/dist/kernel/enclave/classify/compare.d.ts +10 -0
- package/dist/kernel/enclave/classify/digest.d.ts +8 -0
- package/dist/kernel/enclave/classify/find.d.ts +36 -0
- package/dist/kernel/enclave/classify/kofn.d.ts +7 -0
- package/dist/kernel/enclave/classify/normalize.d.ts +7 -0
- package/dist/kernel/enclave/classify/reveal.d.ts +10 -0
- package/dist/kernel/enclave/classify/vdig.d.ts +39 -0
- package/dist/kernel/enclave/classify/verify.d.ts +36 -0
- package/dist/kernel/enclave/classify/write.d.ts +8 -0
- package/dist/kernel/enclave/crypto.d.ts +263 -0
- package/dist/kernel/enclave/index.d.ts +79 -0
- package/dist/kernel/enclave/record-keys/deterministic.d.ts +55 -0
- package/dist/kernel/enclave/record-keys/envelope-body.d.ts +79 -0
- package/dist/kernel/enclave/record-keys/lifecycle.d.ts +107 -0
- package/dist/kernel/enclave/record-keys/record-codec.d.ts +328 -0
- package/dist/kernel/enclave/record-keys/sealed-slot.d.ts +14 -0
- package/dist/kernel/enclave/record-keys/sealed-slots.d.ts +123 -0
- package/dist/kernel/enclave/record-keys/sealing.d.ts +70 -0
- package/dist/kernel/enclave/record-keys/tombstone.d.ts +57 -0
- package/dist/kernel/env-check.d.ts +1 -0
- package/dist/kernel/errors.d.ts +1922 -0
- package/dist/kernel/events.d.ts +11 -0
- package/dist/kernel/lazy-count.d.ts +13 -0
- package/dist/kernel/memory-store.d.ts +17 -0
- package/dist/kernel/mutation.d.ts +14 -0
- package/dist/kernel/noydb.d.ts +826 -0
- package/dist/kernel/paths.d.ts +25 -0
- package/dist/kernel/query/builder.d.ts +520 -0
- package/dist/kernel/query/index.d.ts +31 -0
- package/dist/kernel/query/join.d.ts +205 -0
- package/dist/kernel/query/live.d.ts +111 -0
- package/dist/kernel/query/predicate.d.ts +139 -0
- package/dist/kernel/query/scan-builder.d.ts +334 -0
- package/dist/kernel/refs.d.ts +205 -0
- package/dist/kernel/schema.d.ts +134 -0
- package/dist/kernel/sync-policy.d.ts +188 -0
- package/dist/kernel/tier-visibility.d.ts +54 -0
- package/dist/kernel/types.d.ts +3239 -0
- package/dist/kernel/util/discriminant.d.ts +58 -0
- package/dist/kernel/util/index.d.ts +14 -0
- package/dist/kernel/util/sanitize-filename.d.ts +75 -0
- package/dist/kernel/validation.d.ts +130 -0
- package/dist/kernel/vault.d.ts +1740 -0
- package/dist/kernel/via/compose.d.ts +144 -0
- package/dist/kernel/via/dispatch.d.ts +195 -0
- package/dist/kernel/via/graph-wiring.d.ts +145 -0
- package/dist/kernel/via/graph.d.ts +166 -0
- package/dist/kernel/via/index.d.ts +200 -0
- package/dist/kernel/via/pipeline.d.ts +266 -0
- package/dist/kernel/via/reconcile.d.ts +153 -0
- package/dist/kernel/via/taint-binding.d.ts +66 -0
- package/dist/kernel/write-queue.d.ts +46 -0
- package/dist/ledger-GFBKVPV4.js +42 -0
- package/dist/legacy/bundle.d.ts +30 -0
- package/dist/legacy/kernel.d.ts +33 -0
- package/dist/liberate-3VDOT4KO.js +24 -0
- package/dist/link-set-Z7Q2ASFX.js +31 -0
- package/dist/materialized-views/index.js +19 -17
- package/dist/noydb-ZCJOYBDI.js +68 -0
- package/dist/on/index.js +9 -9
- package/dist/overlay-views/index.js +4 -4
- package/dist/periods/index.js +12 -12
- package/dist/pod/index.js +11 -11
- package/dist/policy-Z3RUAIY2.js +41 -0
- package/dist/port/as/index.d.ts +26 -0
- package/dist/port/at/index.d.ts +18 -0
- package/dist/port/by/default-provider.d.ts +9 -0
- package/dist/port/by/index.d.ts +17 -0
- package/dist/port/by/types.d.ts +86 -0
- package/dist/port/in/index.d.ts +21 -0
- package/dist/port/on/index.d.ts +27 -0
- package/dist/port/to/index.d.ts +19 -0
- package/dist/port/ui/index.d.ts +21 -0
- package/dist/port/with/blob-strategy.d.ts +98 -0
- package/dist/port/with/broker-strategy.d.ts +84 -0
- package/dist/port/with/capabilities.d.ts +31 -0
- package/dist/port/with/classified-marker.d.ts +9 -0
- package/dist/port/with/classified-strategy.d.ts +62 -0
- package/dist/port/with/computed-strategy.d.ts +19 -0
- package/dist/port/with/i18n-strategy.d.ts +175 -0
- package/dist/port/with/index.d.ts +18 -0
- package/dist/port/with/lazy-strategy.d.ts +48 -0
- package/dist/port/with/lookup-strategy.d.ts +129 -0
- package/dist/port/with/service-bus.d.ts +156 -0
- package/dist/port/with/team-strategy.d.ts +36 -0
- package/dist/port/with/write-hooks.d.ts +34 -0
- package/dist/portability/index.js +8 -8
- package/dist/post-register-JTH76BLY.js +60 -0
- package/dist/post-register-JTH76BLY.js.map +1 -0
- package/dist/public-envelope-B4KNWVUA.js +32 -0
- package/dist/purge-scope-FGNNLWHD.js +24 -0
- package/dist/purge-scope-FGNNLWHD.js.map +1 -0
- package/dist/query/index.js +7 -7
- package/dist/read-only-facade-CHCKSEPD.js +8 -0
- package/dist/register-VAHONCID.js +23 -0
- package/dist/registry-7MLVD3VO.js +19 -0
- package/dist/registry-EPKPD5SM.js +18 -0
- package/dist/registry-P5T7PS2U.js +9 -0
- package/dist/request-withdrawal-TI3A5WPS.js +31 -0
- package/dist/reveal-DIBHLUZX.js +38 -0
- package/dist/reveal-DIBHLUZX.js.map +1 -0
- package/dist/revoke-FDRD6GRW.js +24 -0
- package/dist/satellites/index.js +1 -1
- package/dist/sealed-record/index.js +12 -12
- package/dist/seed-Q6M2IZFL.js +231 -0
- package/dist/seed-Q6M2IZFL.js.map +1 -0
- package/dist/session/index.js +9 -9
- package/dist/shadow/index.js +2 -2
- package/dist/signer-MUWEIUI6.js +25 -0
- package/dist/snapshots/index.js +10 -10
- package/dist/stale-OSQ7J3AA.js +29 -0
- package/dist/storage-MVFCGEQE.js +23 -0
- package/dist/store-coordination-provider-64OEZFGS.js +142 -0
- package/dist/sync/index.js +9 -9
- package/dist/team/index.js +15 -15
- package/dist/tiers/index.js +14 -10
- package/dist/to/index.js +1 -2
- package/dist/tx/index.js +3 -3
- package/dist/util/index.js +1 -1
- package/dist/verify-ZASTRNPR.js +140 -0
- package/dist/verify-ZASTRNPR.js.map +1 -0
- package/dist/via/blob/active.d.ts +34 -0
- package/dist/via/blob/binding.d.ts +86 -0
- package/dist/via/blob/index.d.ts +34 -0
- package/dist/via/classified/active.d.ts +3 -0
- package/dist/via/classified/binding.d.ts +83 -0
- package/dist/via/classified/config-drift.d.ts +34 -0
- package/dist/via/classified/descriptor.d.ts +66 -0
- package/dist/via/classified/errors.d.ts +19 -0
- package/dist/via/classified/guards.d.ts +23 -0
- package/dist/via/classified/index.d.ts +11 -0
- package/dist/via/classified/presets.d.ts +65 -0
- package/dist/via/classified/resolve.d.ts +9 -0
- package/dist/via/classified/strategy.d.ts +11 -0
- package/dist/via/classified/validators.d.ts +3 -0
- package/dist/via/classified/write.d.ts +4 -0
- package/dist/via/computed/binding.d.ts +34 -0
- package/dist/via/computed/descriptor.d.ts +35 -0
- package/dist/via/i18n/active.d.ts +28 -0
- package/dist/via/i18n/binding.d.ts +36 -0
- package/dist/via/i18n/core.d.ts +267 -0
- package/dist/via/i18n/densify.d.ts +24 -0
- package/dist/via/i18n/dictionary.d.ts +200 -0
- package/dist/via/i18n/index.d.ts +21 -0
- package/dist/via/i18n/policy.d.ts +44 -0
- package/dist/via/i18n/script.d.ts +26 -0
- package/dist/via/i18n/strategy.d.ts +13 -0
- package/dist/via/lookup/active.d.ts +19 -0
- package/dist/via/lookup/binding.d.ts +99 -0
- package/dist/via/lookup/descriptor.d.ts +123 -0
- package/dist/via/lookup/handle.d.ts +220 -0
- package/dist/via/lookup/index.d.ts +17 -0
- package/dist/via/lookup/registry.d.ts +228 -0
- package/dist/via/lookup/snapshot.d.ts +67 -0
- package/dist/via/money/arith.d.ts +68 -0
- package/dist/via/money/binding.d.ts +21 -0
- package/dist/via/money/branded.d.ts +61 -0
- package/dist/via/money/descriptor.d.ts +73 -0
- package/dist/via/money/fixed-point.d.ts +51 -0
- package/dist/via/money/index.d.ts +15 -0
- package/dist/via/money/iso4217.d.ts +6 -0
- package/dist/via/money/money-reducer.d.ts +33 -0
- package/dist/via/money/normalize.d.ts +105 -0
- package/dist/via/money/paths.d.ts +61 -0
- package/dist/via/money/where.d.ts +127 -0
- package/dist/walk-SVNDIZ62.js +241 -0
- package/dist/with/index.js +11 -11
- package/dist/with-audit/attestation/active.d.ts +10 -0
- package/dist/with-audit/attestation/index.d.ts +16 -0
- package/dist/with-audit/attestation/issue.d.ts +29 -0
- package/dist/with-audit/attestation/revoke.d.ts +15 -0
- package/dist/with-audit/attestation/signer.d.ts +33 -0
- package/dist/with-audit/attestation/strategy.d.ts +44 -0
- package/dist/with-audit/attestation/vault-facade.d.ts +62 -0
- package/dist/with-audit/consent/active.d.ts +14 -0
- package/dist/with-audit/consent/consent.d.ts +114 -0
- package/dist/with-audit/consent/index.d.ts +14 -0
- package/dist/with-audit/consent/strategy.d.ts +36 -0
- package/dist/with-audit/forget/active.d.ts +31 -0
- package/dist/with-audit/forget/index.d.ts +28 -0
- package/dist/with-audit/forget/purge-scope.d.ts +54 -0
- package/dist/with-audit/forget/strategy.d.ts +199 -0
- package/dist/with-audit/forget/subject-index.d.ts +83 -0
- package/dist/with-audit/guards/executor.d.ts +26 -0
- package/dist/with-audit/guards/immutable-guard.d.ts +63 -0
- package/dist/with-audit/guards/index.d.ts +10 -0
- package/dist/with-audit/guards/read-only-facade.d.ts +31 -0
- package/dist/with-audit/guards/registry.d.ts +83 -0
- package/dist/with-audit/guards/transition-guard.d.ts +82 -0
- package/dist/with-audit/guards/types.d.ts +134 -0
- package/dist/with-audit/guards/with-guard.d.ts +15 -0
- package/dist/with-audit/periods/active.d.ts +11 -0
- package/dist/with-audit/periods/index.d.ts +18 -0
- package/dist/with-audit/periods/periods.d.ts +417 -0
- package/dist/with-audit/periods/strategy.d.ts +32 -0
- package/dist/with-audit/periods/vault-facade.d.ts +95 -0
- package/dist/with-audit/portability/active.d.ts +11 -0
- package/dist/with-audit/portability/export-accessible.d.ts +46 -0
- package/dist/with-audit/portability/index.d.ts +18 -0
- package/dist/with-audit/portability/request-withdrawal.d.ts +85 -0
- package/dist/with-audit/portability/strategy.d.ts +31 -0
- package/dist/with-audit/portability/withdraw-accessible.d.ts +82 -0
- package/dist/with-audit/sealed-record/active.d.ts +9 -0
- package/dist/with-audit/sealed-record/index.d.ts +55 -0
- package/dist/with-audit/sealed-record/strategy.d.ts +34 -0
- package/dist/with-audit/sealed-record/types.d.ts +27 -0
- package/dist/with-audit/tiers/active.d.ts +9 -0
- package/dist/with-audit/tiers/index.d.ts +394 -0
- package/dist/with-audit/tiers/strategy.d.ts +36 -0
- package/dist/with-cargo/active.d.ts +11 -0
- package/dist/with-cargo/adopt-partition.d.ts +81 -0
- package/dist/with-cargo/decrypt-partition.d.ts +19 -0
- package/dist/with-cargo/describe-extraction.d.ts +41 -0
- package/dist/with-cargo/extract-partition.d.ts +155 -0
- package/dist/with-cargo/index.d.ts +33 -0
- package/dist/with-cargo/strategy.d.ts +30 -0
- package/dist/with-cargo/vault-diff.d.ts +144 -0
- package/dist/with-cargo/walk-closure.d.ts +67 -0
- package/dist/with-commit/crdt/active.d.ts +25 -0
- package/dist/with-commit/crdt/crdt.d.ts +42 -0
- package/dist/with-commit/crdt/index.d.ts +16 -0
- package/dist/with-commit/crdt/strategy.d.ts +25 -0
- package/dist/with-commit/history/active.d.ts +40 -0
- package/dist/with-commit/history/diff.d.ts +23 -0
- package/dist/with-commit/history/history.d.ts +73 -0
- package/dist/with-commit/history/index.d.ts +30 -0
- package/dist/with-commit/history/ledger/constants.d.ts +37 -0
- package/dist/with-commit/history/ledger/entry.d.ts +195 -0
- package/dist/with-commit/history/ledger/hash.d.ts +30 -0
- package/dist/with-commit/history/ledger/index.d.ts +19 -0
- package/dist/with-commit/history/ledger/patch.d.ts +99 -0
- package/dist/with-commit/history/ledger/store.d.ts +356 -0
- package/dist/with-commit/history/strategy.d.ts +136 -0
- package/dist/with-commit/history/time-machine.d.ts +202 -0
- package/dist/with-commit/numbering/descriptor.d.ts +27 -0
- package/dist/with-commit/numbering/index.d.ts +69 -0
- package/dist/with-commit/sequence/active.d.ts +10 -0
- package/dist/with-commit/sequence/index.d.ts +150 -0
- package/dist/with-commit/sequence/strategy.d.ts +26 -0
- package/dist/with-commit/tx/active.d.ts +27 -0
- package/dist/with-commit/tx/dry-run.d.ts +29 -0
- package/dist/with-commit/tx/elevated-handle.d.ts +59 -0
- package/dist/with-commit/tx/index.d.ts +13 -0
- package/dist/with-commit/tx/invariants.d.ts +68 -0
- package/dist/with-commit/tx/strategy.d.ts +23 -0
- package/dist/with-commit/tx/transaction.d.ts +212 -0
- package/dist/with-fork/archive/engine.d.ts +71 -0
- package/dist/with-fork/archive/index.d.ts +23 -0
- package/dist/with-fork/shadow/active.d.ts +6 -0
- package/dist/with-fork/shadow/index.d.ts +14 -0
- package/dist/with-fork/shadow/strategy.d.ts +28 -0
- package/dist/with-fork/shadow/vault-frame.d.ts +93 -0
- package/dist/with-fork/snapshots/active.d.ts +20 -0
- package/dist/with-fork/snapshots/engine.d.ts +36 -0
- package/dist/with-fork/snapshots/index.d.ts +5 -0
- package/dist/with-fork/snapshots/noydb-facade.d.ts +64 -0
- package/dist/with-fork/snapshots/policy.d.ts +23 -0
- package/dist/with-fork/snapshots/scheduler.d.ts +34 -0
- package/dist/with-fork/snapshots/strategy.d.ts +48 -0
- package/dist/with-formula/computed/index.d.ts +48 -0
- package/dist/with-formula/computed/lazy.d.ts +13 -0
- package/dist/with-formula/derivations/executor.d.ts +61 -0
- package/dist/with-formula/derivations/fanout-sidecar.d.ts +75 -0
- package/dist/with-formula/derivations/index.d.ts +6 -0
- package/dist/with-formula/derivations/registry.d.ts +67 -0
- package/dist/with-formula/derivations/stale.d.ts +39 -0
- package/dist/with-formula/derivations/strategy-hash.d.ts +1 -0
- package/dist/with-formula/derivations/types.d.ts +248 -0
- package/dist/with-formula/derivations/with-derivation.d.ts +10 -0
- package/dist/with-formula/derivations/with-rollup.d.ts +34 -0
- package/dist/with-formula/materialized-views/dependency-analyzer.d.ts +58 -0
- package/dist/with-formula/materialized-views/executor.d.ts +80 -0
- package/dist/with-formula/materialized-views/index.d.ts +11 -0
- package/dist/with-formula/materialized-views/query-hash.d.ts +23 -0
- package/dist/with-formula/materialized-views/registry.d.ts +99 -0
- package/dist/with-formula/materialized-views/stale.d.ts +113 -0
- package/dist/with-formula/materialized-views/types.d.ts +318 -0
- package/dist/with-formula/materialized-views/with-materialized-view.d.ts +24 -0
- package/dist/with-formula/overlay-views/index.d.ts +5 -0
- package/dist/with-formula/overlay-views/registry.d.ts +42 -0
- package/dist/with-formula/overlay-views/types.d.ts +97 -0
- package/dist/with-formula/overlay-views/virtual-collection.d.ts +90 -0
- package/dist/with-formula/overlay-views/with-overlayed-view.d.ts +9 -0
- package/dist/with-lookup/aggregate/active.d.ts +33 -0
- package/dist/with-lookup/aggregate/aggregation.d.ts +166 -0
- package/dist/with-lookup/aggregate/canonical-key.d.ts +16 -0
- package/dist/with-lookup/aggregate/groupby.d.ts +280 -0
- package/dist/with-lookup/aggregate/index.d.ts +23 -0
- package/dist/with-lookup/aggregate/reducers.d.ts +257 -0
- package/dist/with-lookup/aggregate/strategy.d.ts +59 -0
- package/dist/with-lookup/embeddings/cosine.d.ts +2 -0
- package/dist/with-lookup/embeddings/descriptor.d.ts +8 -0
- package/dist/with-lookup/embeddings/index.d.ts +4 -0
- package/dist/with-lookup/embeddings/vec-id.d.ts +47 -0
- package/dist/with-lookup/embeddings/vector-set.d.ts +19 -0
- package/dist/with-lookup/indexing/active.d.ts +30 -0
- package/dist/with-lookup/indexing/collection-facade.d.ts +157 -0
- package/dist/with-lookup/indexing/eager-indexes.d.ts +122 -0
- package/dist/with-lookup/indexing/index.d.ts +27 -0
- package/dist/with-lookup/indexing/lazy-builder.d.ts +102 -0
- package/dist/with-lookup/indexing/persisted-indexes.d.ts +229 -0
- package/dist/with-lookup/indexing/strategy.d.ts +56 -0
- package/dist/with-lookup/indexing/unique-constraints.d.ts +74 -0
- package/dist/with-lookup/search/active.d.ts +10 -0
- package/dist/with-lookup/search/build-docs.d.ts +15 -0
- package/dist/with-lookup/search/collection-facade.d.ts +163 -0
- package/dist/with-lookup/search/fuse.d.ts +22 -0
- package/dist/with-lookup/search/index-store.d.ts +19 -0
- package/dist/with-lookup/search/index.d.ts +19 -0
- package/dist/with-lookup/search/inverted-index.d.ts +47 -0
- package/dist/with-lookup/search/persisted-index-store.d.ts +121 -0
- package/dist/with-lookup/search/retrieve-types.d.ts +29 -0
- package/dist/with-lookup/search/scan.d.ts +28 -0
- package/dist/with-lookup/search/segment.d.ts +15 -0
- package/dist/with-lookup/search/serialize.d.ts +4 -0
- package/dist/with-lookup/search/snippet.d.ts +5 -0
- package/dist/with-lookup/search/strategy.d.ts +41 -0
- package/dist/with-lookup/search/tokenize.d.ts +12 -0
- package/dist/with-party/auth-introspection/index.d.ts +44 -0
- package/dist/with-party/broker/active.d.ts +23 -0
- package/dist/with-party/broker/index.d.ts +28 -0
- package/dist/with-party/broker/seed.d.ts +77 -0
- package/dist/with-party/custody/active.d.ts +10 -0
- package/dist/with-party/custody/index.d.ts +69 -0
- package/dist/with-party/custody/liberate.d.ts +64 -0
- package/dist/with-party/custody/strategy.d.ts +48 -0
- package/dist/with-party/directory/index.d.ts +11 -0
- package/dist/with-party/directory/public-envelope/index.d.ts +12 -0
- package/dist/with-party/directory/public-envelope/schema.d.ts +24 -0
- package/dist/with-party/directory/public-envelope/storage.d.ts +59 -0
- package/dist/with-party/directory/public-envelope/types.d.ts +80 -0
- package/dist/with-party/directory/storage.d.ts +33 -0
- package/dist/with-party/directory/types.d.ts +43 -0
- package/dist/with-party/directory/user-envelope/api.d.ts +201 -0
- package/dist/with-party/directory/user-envelope/index.d.ts +12 -0
- package/dist/with-party/directory/user-envelope/storage.d.ts +54 -0
- package/dist/with-party/directory/visibility.d.ts +47 -0
- package/dist/with-party/policy/engine.d.ts +60 -0
- package/dist/with-party/policy/index.d.ts +15 -0
- package/dist/with-party/policy/noydb-facade.d.ts +39 -0
- package/dist/with-party/policy/presets.d.ts +38 -0
- package/dist/with-party/policy/storage.d.ts +31 -0
- package/dist/with-party/session/active.d.ts +34 -0
- package/dist/with-party/session/dev-unlock.d.ts +128 -0
- package/dist/with-party/session/index.d.ts +23 -0
- package/dist/with-party/session/session-policy.d.ts +92 -0
- package/dist/with-party/session/session.d.ts +131 -0
- package/dist/with-party/session/strategy.d.ts +42 -0
- package/dist/with-party/session/unlock-state.d.ts +47 -0
- package/dist/with-party/sync/index.d.ts +31 -0
- package/dist/with-party/tab-coordination.d.ts +73 -0
- package/dist/with-party/tab-write-relay.d.ts +39 -0
- package/dist/with-party/team/active.d.ts +13 -0
- package/dist/with-party/team/authenticators.d.ts +95 -0
- package/dist/with-party/team/deed.d.ts +97 -0
- package/dist/with-party/team/delegation.d.ts +88 -0
- package/dist/with-party/team/index.d.ts +38 -0
- package/dist/with-party/team/keyring.d.ts +318 -0
- package/dist/with-party/team/magic-link-grant.d.ts +152 -0
- package/dist/with-party/team/managed-passphrase.d.ts +280 -0
- package/dist/with-party/team/noydb-facade.d.ts +484 -0
- package/dist/with-party/team/peer-recover.d.ts +81 -0
- package/dist/with-party/team/presence.d.ts +81 -0
- package/dist/with-party/team/recovery.d.ts +191 -0
- package/dist/with-party/team/reserved-secret-collections.d.ts +41 -0
- package/dist/with-party/team/rotate-recover.d.ts +275 -0
- package/dist/with-party/team/shamir-recovery-provider.d.ts +15 -0
- package/dist/with-party/team/strategy.d.ts +9 -0
- package/dist/with-party/team/sync-active.d.ts +33 -0
- package/dist/with-party/team/sync-credentials.d.ts +113 -0
- package/dist/with-party/team/sync-strategy.d.ts +67 -0
- package/dist/with-party/team/sync-transaction.d.ts +39 -0
- package/dist/with-party/team/sync.d.ts +174 -0
- package/dist/with-party/team/tiers.d.ts +39 -0
- package/dist/with-party/team/wrapped-deks.d.ts +86 -0
- package/dist/with-pod/backup.d.ts +74 -0
- package/dist/with-pod/bundle.d.ts +414 -0
- package/dist/with-pod/format.d.ts +203 -0
- package/dist/with-pod/index.d.ts +20 -0
- package/dist/with-pod/pod-store.d.ts +54 -0
- package/dist/with-pod/ulid.d.ts +64 -0
- package/dist/with-shape/blobs/blob-compaction.d.ts +170 -0
- package/dist/with-shape/blobs/blob-intent.d.ts +153 -0
- package/dist/with-shape/blobs/blob-set.d.ts +1286 -0
- package/dist/with-shape/blobs/export-blobs.d.ts +110 -0
- package/dist/with-shape/blobs/import-external.d.ts +50 -0
- package/dist/with-shape/blobs/mime-magic.d.ts +48 -0
- package/dist/with-shape/blobs/object-projection.d.ts +70 -0
- package/dist/with-shape/introspection/describe.d.ts +237 -0
- package/dist/with-shape/introspection/field-meta.d.ts +61 -0
- package/dist/with-shape/introspection/fields.d.ts +14 -0
- package/dist/with-shape/introspection/index.d.ts +12 -0
- package/dist/with-shape/introspection/json-schema.d.ts +13 -0
- package/dist/with-shape/introspection/meta.d.ts +22 -0
- package/dist/with-shape/introspection/projection.d.ts +13 -0
- package/dist/with-shape/introspection/types.d.ts +154 -0
- package/dist/with-shape/introspection/walk.d.ts +50 -0
- package/dist/with-shape/links/lazy-handle.d.ts +36 -0
- package/dist/with-shape/links/link-set.d.ts +67 -0
- package/dist/with-shape/links/names.d.ts +65 -0
- package/dist/with-shape/links/vault-facade.d.ts +211 -0
- package/dist/with-shape/persisted-schemas/canonicalize.d.ts +11 -0
- package/dist/with-shape/persisted-schemas/derive.d.ts +29 -0
- package/dist/with-shape/persisted-schemas/index.d.ts +21 -0
- package/dist/with-shape/persisted-schemas/register.d.ts +66 -0
- package/dist/with-shape/persisted-schemas/storage.d.ts +61 -0
- package/dist/with-shape/persisted-schemas/types.d.ts +54 -0
- package/dist/with-shape/satellites/dead-filter.d.ts +21 -0
- package/dist/with-shape/satellites/declare.d.ts +60 -0
- package/dist/with-shape/satellites/existence.d.ts +5 -0
- package/dist/with-shape/satellites/fanout.d.ts +38 -0
- package/dist/with-shape/satellites/forget.d.ts +47 -0
- package/dist/with-shape/satellites/index.d.ts +3 -0
- package/dist/with-shape/satellites/joined.d.ts +19 -0
- package/dist/with-shape/satellites/marker.d.ts +10 -0
- package/dist/with-shape/satellites/migrate-cek.d.ts +26 -0
- package/dist/with-shape/satellites/post-register.d.ts +6 -0
- package/dist/with-shape/satellites/proxy.d.ts +37 -0
- package/dist/with-shape/satellites/raw-target.d.ts +14 -0
- package/dist/with-shape/satellites/registry.d.ts +19 -0
- package/dist/with-shape/satellites/types.d.ts +37 -0
- package/dist/with-shape/satellites/validate.d.ts +17 -0
- package/dist/with-shape/schema-update/client-registry.d.ts +35 -0
- package/dist/with-shape/schema-update/cutover.d.ts +5 -0
- package/dist/with-shape/schema-update/delta.d.ts +2 -0
- package/dist/with-shape/schema-update/dispatch.d.ts +3 -0
- package/dist/with-shape/schema-update/fence-controller.d.ts +62 -0
- package/dist/with-shape/schema-update/fence-watcher.d.ts +37 -0
- package/dist/with-shape/schema-update/fence.d.ts +15 -0
- package/dist/with-shape/schema-update/gate.d.ts +16 -0
- package/dist/with-shape/schema-update/index.d.ts +6 -0
- package/dist/with-shape/schema-update/store-coordination-provider.d.ts +29 -0
- package/dist/with-shape/schema-update/strategies.d.ts +12 -0
- package/dist/with-shape/schema-update/types.d.ts +53 -0
- package/dist/with-store/index.d.ts +15 -0
- package/dist/with-store/lazy/active.d.ts +12 -0
- package/dist/with-store/lazy/index.d.ts +14 -0
- package/dist/with-store/lazy/strategy.d.ts +9 -0
- package/dist/with-store/route-store.d.ts +259 -0
- package/dist/with-store/store-middleware.d.ts +189 -0
- package/dist/withdraw-accessible-WZIEVWSR.js +28 -0
- package/package.json +47 -55
- package/dist/adapter/index.d.ts +0 -4
- package/dist/adapter/index.js +0 -15
- package/dist/aggregate/index.d.ts +0 -41
- package/dist/api-HV4PDUWF.js +0 -20
- package/dist/as/index.d.ts +0 -6
- package/dist/at/index.d.ts +0 -4
- package/dist/attestation/index.d.ts +0 -19
- package/dist/backup-ODXO7OGA.js +0 -225
- package/dist/backup-ODXO7OGA.js.map +0 -1
- package/dist/blobs/index.d.ts +0 -43
- package/dist/bundle/index.d.ts +0 -121
- package/dist/bundle-DlSxo31R.d.ts +0 -548
- package/dist/by/index.d.ts +0 -1
- package/dist/cargo/index.d.ts +0 -8
- package/dist/chunk-2644KEGW.js +0 -247
- package/dist/chunk-2644KEGW.js.map +0 -1
- package/dist/chunk-2HVUKRNE.js +0 -21
- package/dist/chunk-2KOSJTMU.js +0 -69
- package/dist/chunk-2UQ4RMHV.js +0 -167
- package/dist/chunk-2UQ4RMHV.js.map +0 -1
- package/dist/chunk-2XE6LIXT.js +0 -515
- package/dist/chunk-2XE6LIXT.js.map +0 -1
- package/dist/chunk-34RRRIC3.js +0 -71
- package/dist/chunk-3C5CKXFI.js +0 -621
- package/dist/chunk-3C5CKXFI.js.map +0 -1
- package/dist/chunk-3I4KYWNP.js +0 -30
- package/dist/chunk-42KVY3OC.js +0 -86
- package/dist/chunk-4C4WBS4V.js +0 -13822
- package/dist/chunk-4C4WBS4V.js.map +0 -1
- package/dist/chunk-4G3IT7J7.js +0 -280
- package/dist/chunk-4G3IT7J7.js.map +0 -1
- package/dist/chunk-4RQ62VSR.js +0 -53
- package/dist/chunk-4RQ62VSR.js.map +0 -1
- package/dist/chunk-4ZSGSRBI.js +0 -1221
- package/dist/chunk-4ZSGSRBI.js.map +0 -1
- package/dist/chunk-5GAX2QOH.js +0 -132
- package/dist/chunk-5GAX2QOH.js.map +0 -1
- package/dist/chunk-5SAZMBW7.js +0 -202
- package/dist/chunk-5TZZUL5X.js +0 -30
- package/dist/chunk-6CU3FN74.js +0 -777
- package/dist/chunk-6G2SCQYS.js +0 -29
- package/dist/chunk-6G2SCQYS.js.map +0 -1
- package/dist/chunk-6MWUANRF.js +0 -29
- package/dist/chunk-6S7T6WC4.js +0 -111
- package/dist/chunk-6S7T6WC4.js.map +0 -1
- package/dist/chunk-6ULCYCMU.js +0 -74
- package/dist/chunk-7HAPHVRJ.js +0 -1695
- package/dist/chunk-7HAPHVRJ.js.map +0 -1
- package/dist/chunk-7IZQTCTR.js +0 -382
- package/dist/chunk-7ZANJ6JZ.js +0 -265
- package/dist/chunk-7ZANJ6JZ.js.map +0 -1
- package/dist/chunk-A2APWS32.js +0 -150
- package/dist/chunk-A2APWS32.js.map +0 -1
- package/dist/chunk-A4MAD6PO.js +0 -99
- package/dist/chunk-ANDBBA2P.js +0 -36
- package/dist/chunk-ANDBBA2P.js.map +0 -1
- package/dist/chunk-AUR7MRHA.js +0 -404
- package/dist/chunk-AYGZMQP5.js +0 -75
- package/dist/chunk-BGIZAFY7.js +0 -1
- package/dist/chunk-CJEMA2Z6.js +0 -230
- package/dist/chunk-CTSFKDGA.js +0 -40
- package/dist/chunk-CU62BBRB.js +0 -1465
- package/dist/chunk-CU62BBRB.js.map +0 -1
- package/dist/chunk-CWCCYH34.js +0 -23
- package/dist/chunk-DEYAO3N6.js +0 -589
- package/dist/chunk-DFIBOSOQ.js +0 -85
- package/dist/chunk-E5AHO65E.js +0 -150
- package/dist/chunk-FC3XK5JT.js +0 -99
- package/dist/chunk-FGOGS7CE.js +0 -662
- package/dist/chunk-FGOGS7CE.js.map +0 -1
- package/dist/chunk-GX2BYNCT.js +0 -117
- package/dist/chunk-GZ2MOPVX.js +0 -291
- package/dist/chunk-GZ2MOPVX.js.map +0 -1
- package/dist/chunk-H57P2SJB.js +0 -126
- package/dist/chunk-H57P2SJB.js.map +0 -1
- package/dist/chunk-HBTT7YQX.js +0 -94
- package/dist/chunk-HOCEGVGQ.js +0 -36
- package/dist/chunk-ICV32FPK.js +0 -50
- package/dist/chunk-IIP5WFVT.js +0 -462
- package/dist/chunk-IIP5WFVT.js.map +0 -1
- package/dist/chunk-IUKGIB2Q.js +0 -91
- package/dist/chunk-IWTYFS3D.js +0 -129
- package/dist/chunk-JC5R7P44.js +0 -355
- package/dist/chunk-JC5R7P44.js.map +0 -1
- package/dist/chunk-K2WCO3NX.js +0 -1
- package/dist/chunk-KBBWY46Y.js +0 -14
- package/dist/chunk-KBF5GSGX.js +0 -367
- package/dist/chunk-KCG3BHFG.js +0 -99
- package/dist/chunk-KCG3BHFG.js.map +0 -1
- package/dist/chunk-KNXN47MO.js +0 -155
- package/dist/chunk-KWLD2D75.js +0 -38
- package/dist/chunk-KXKLKJW4.js +0 -49
- package/dist/chunk-KYC4LIEU.js +0 -123
- package/dist/chunk-LEOXZY36.js +0 -130
- package/dist/chunk-M5I354EE.js +0 -235
- package/dist/chunk-MK2BSS44.js +0 -34
- package/dist/chunk-MSVY7ULZ.js +0 -70
- package/dist/chunk-NNWK3PSY.js +0 -135
- package/dist/chunk-NSZ6J5DF.js +0 -59
- package/dist/chunk-NUEFXLZU.js +0 -59
- package/dist/chunk-NYVQCZ54.js +0 -261
- package/dist/chunk-OQAODTYR.js +0 -45
- package/dist/chunk-OV4CMJGR.js +0 -164
- package/dist/chunk-PEDZFFKW.js +0 -41
- package/dist/chunk-PF3FQCCF.js +0 -164
- package/dist/chunk-PF3FQCCF.js.map +0 -1
- package/dist/chunk-Q2KVKTC2.js +0 -823
- package/dist/chunk-QJR3W3MF.js +0 -23
- package/dist/chunk-QJR3W3MF.js.map +0 -1
- package/dist/chunk-QTXQ6RNZ.js +0 -255
- package/dist/chunk-RJ5522XX.js +0 -453
- package/dist/chunk-RJ5522XX.js.map +0 -1
- package/dist/chunk-RMUXPHIH.js +0 -930
- package/dist/chunk-RMUXPHIH.js.map +0 -1
- package/dist/chunk-S6AQXDN4.js +0 -155
- package/dist/chunk-SSFC3IYA.js +0 -275
- package/dist/chunk-SSFC3IYA.js.map +0 -1
- package/dist/chunk-SZCHEDML.js +0 -209
- package/dist/chunk-TDPEJINP.js +0 -188
- package/dist/chunk-TDPEJINP.js.map +0 -1
- package/dist/chunk-TQ3REHVF.js +0 -95
- package/dist/chunk-TQ3REHVF.js.map +0 -1
- package/dist/chunk-UNJU345Q.js +0 -32
- package/dist/chunk-UNJU345Q.js.map +0 -1
- package/dist/chunk-V7RNIND6.js +0 -265
- package/dist/chunk-V7RNIND6.js.map +0 -1
- package/dist/chunk-VJ3NQK4K.js +0 -205
- package/dist/chunk-WNA6T3MA.js +0 -686
- package/dist/chunk-WNA6T3MA.js.map +0 -1
- package/dist/chunk-WVCQ75OK.js +0 -124
- package/dist/chunk-X66MXMR5.js +0 -42
- package/dist/chunk-XHD3L3JO.js +0 -930
- package/dist/chunk-XHD3L3JO.js.map +0 -1
- package/dist/chunk-XJK2WIYN.js +0 -430
- package/dist/chunk-XJK2WIYN.js.map +0 -1
- package/dist/chunk-XQ7UYPVN.js +0 -95
- package/dist/chunk-Y2OCKFZ3.js +0 -80
- package/dist/chunk-YBFOBRTO.js +0 -367
- package/dist/chunk-YLN33ADH.js +0 -97
- package/dist/chunk-Z5YFRMG5.js +0 -45
- package/dist/chunk-ZWQFOXBR.js +0 -54
- package/dist/classified/index.d.ts +0 -16
- package/dist/classified-marker-IO5EBW7Q.js +0 -24
- package/dist/classified-marker-IO5EBW7Q.js.map +0 -1
- package/dist/collection-facade-3RAXG2OU.js +0 -38
- package/dist/computed-R62HGCO4.js +0 -11
- package/dist/consent/index.d.ts +0 -22
- package/dist/crdt/index.d.ts +0 -33
- package/dist/dead-filter-VNA4M3GP.js +0 -28
- package/dist/decrypt-partition-IHtxEnTi.d.ts +0 -21
- package/dist/delegation-ZKII5UBI.js +0 -25
- package/dist/derivations/index.d.ts +0 -69
- package/dist/derive-5D2C3WG4.js +0 -21
- package/dist/describe/index.d.ts +0 -4
- package/dist/describe/index.js +0 -1
- package/dist/dev-unlock-DDTafVO6.d.ts +0 -263
- package/dist/discriminant-BN9REW3o.d.ts +0 -60
- package/dist/enclave-EUBEJGPG.js +0 -125
- package/dist/executor-IL7SRNUZ.js +0 -23
- package/dist/executor-OUA2Y6YC.js +0 -9
- package/dist/executor-WAEI6PDV.js +0 -9
- package/dist/export-accessible-O55RKAGC.js +0 -23
- package/dist/extract-partition-VBGCBA6Q.js +0 -36
- package/dist/fanout-sidecar-CI5BCMQM.js +0 -74
- package/dist/find-FISGUWSK.js +0 -11
- package/dist/forget/index.d.ts +0 -36
- package/dist/guards/index.d.ts +0 -34
- package/dist/hash-DBkZfIBW.d.ts +0 -72
- package/dist/history/index.d.ts +0 -60
- package/dist/i18n/index.d.ts +0 -56
- package/dist/in/index.d.ts +0 -4
- package/dist/index-B9QdHytu.d.ts +0 -123
- package/dist/index-CyclmyDr.d.ts +0 -122
- package/dist/index-DzhNI2vE.d.ts +0 -23260
- package/dist/indexing/index.d.ts +0 -38
- package/dist/issue-EQAWIYFQ.js +0 -19
- package/dist/kernel/index.d.ts +0 -31
- package/dist/kernel/index.js +0 -60
- package/dist/lazy/index.d.ts +0 -20
- package/dist/ledger-AJA2SR3C.js +0 -42
- package/dist/liberate-SEGR4JLY.js +0 -24
- package/dist/link-set-YBAC2DQT.js +0 -31
- package/dist/materialized-views/index.d.ts +0 -182
- package/dist/mime-magic-CbV1quyp.d.ts +0 -103
- package/dist/noydb-AMEOU456.js +0 -65
- package/dist/on/index.d.ts +0 -4
- package/dist/overlay-views/index.d.ts +0 -97
- package/dist/periods/index.d.ts +0 -19
- package/dist/pod/index.d.ts +0 -62
- package/dist/policy-SDGRWVIL.js +0 -41
- package/dist/portability/index.d.ts +0 -19
- package/dist/post-register-MROIUA5O.js +0 -55
- package/dist/post-register-MROIUA5O.js.map +0 -1
- package/dist/public-envelope-J5PLQOW2.js +0 -32
- package/dist/query/index.d.ts +0 -4
- package/dist/read-only-facade-UCYNRE56.js +0 -8
- package/dist/register-OVJKW7BS.js +0 -23
- package/dist/registry-5RJSK5AJ.js +0 -9
- package/dist/registry-DQRNTWRL.js +0 -18
- package/dist/registry-LTGLERS7.js +0 -19
- package/dist/request-withdrawal-27O77D2V.js +0 -31
- package/dist/reveal-LT3I2K4P.js +0 -38
- package/dist/reveal-LT3I2K4P.js.map +0 -1
- package/dist/revoke-4N45G7D2.js +0 -24
- package/dist/revoke-4N45G7D2.js.map +0 -1
- package/dist/satellites/index.d.ts +0 -4
- package/dist/sealed-record/index.d.ts +0 -68
- package/dist/session/index.d.ts +0 -43
- package/dist/shadow/index.d.ts +0 -14
- package/dist/signer-XJCOV7JD.js +0 -25
- package/dist/signer-XJCOV7JD.js.map +0 -1
- package/dist/snapshots/index.d.ts +0 -25
- package/dist/stale-IYYXEH3U.js +0 -14
- package/dist/stale-IYYXEH3U.js.map +0 -1
- package/dist/storage-Y44CAPE6.js +0 -23
- package/dist/storage-Y44CAPE6.js.map +0 -1
- package/dist/store-coordination-provider-WKGAE2WI.js +0 -142
- package/dist/subject-index-CyOgGMJL.d.ts +0 -380
- package/dist/sync/index.d.ts +0 -40
- package/dist/team/index.d.ts +0 -154
- package/dist/tiers/index.d.ts +0 -4
- package/dist/to/index.d.ts +0 -4
- package/dist/transition-guard-BOUkzQU4.d.ts +0 -165
- package/dist/tx/index.d.ts +0 -34
- package/dist/ui/index.d.ts +0 -4
- package/dist/ulid-DRH25k3y.d.ts +0 -66
- package/dist/util/index.d.ts +0 -79
- package/dist/validators-B3SalxlJ.d.ts +0 -101
- package/dist/vault-diff-Dt9NkLzw.d.ts +0 -147
- package/dist/verify-GH6CWVSW.js +0 -139
- package/dist/verify-GH6CWVSW.js.map +0 -1
- package/dist/walk-76UCFXYV.js +0 -241
- package/dist/with/index.d.ts +0 -37
- package/dist/with-materialized-view-BP33v1Z6.d.ts +0 -27
- package/dist/with-overlayed-view-DntFpOKN.d.ts +0 -12
- package/dist/with-rollup-ClCHO6-4.d.ts +0 -47
- package/dist/withdraw-accessible-6J2UH3IN.js +0 -28
- package/dist/withdraw-accessible-6J2UH3IN.js.map +0 -1
- /package/dist/{adapter/index.js.map → api-ZGS6LCOF.js.map} +0 -0
- /package/dist/{chunk-34RRRIC3.js.map → chunk-3B5VVCNY.js.map} +0 -0
- /package/dist/{chunk-CJEMA2Z6.js.map → chunk-3LQ2YKO4.js.map} +0 -0
- /package/dist/{chunk-ZWQFOXBR.js.map → chunk-3QCRBHCY.js.map} +0 -0
- /package/dist/{chunk-E5AHO65E.js.map → chunk-4JBYV75E.js.map} +0 -0
- /package/dist/{chunk-YLN33ADH.js.map → chunk-4NXKCLLQ.js.map} +0 -0
- /package/dist/{chunk-2KOSJTMU.js.map → chunk-5M5DVGV7.js.map} +0 -0
- /package/dist/{chunk-3I4KYWNP.js.map → chunk-5YOLBEQ6.js.map} +0 -0
- /package/dist/{chunk-IWTYFS3D.js.map → chunk-6CRIV7DE.js.map} +0 -0
- /package/dist/{chunk-QTXQ6RNZ.js.map → chunk-6QTNZJBS.js.map} +0 -0
- /package/dist/{chunk-42KVY3OC.js.map → chunk-6T2SCQRU.js.map} +0 -0
- /package/dist/{chunk-Z5YFRMG5.js.map → chunk-7DSTRQIJ.js.map} +0 -0
- /package/dist/{chunk-DEYAO3N6.js.map → chunk-AUSTCW2X.js.map} +0 -0
- /package/dist/{chunk-SZCHEDML.js.map → chunk-B3HJYUOF.js.map} +0 -0
- /package/dist/{chunk-OV4CMJGR.js.map → chunk-BDVFPG6Y.js.map} +0 -0
- /package/dist/{chunk-HOCEGVGQ.js.map → chunk-CAF6WOK7.js.map} +0 -0
- /package/dist/{chunk-AUR7MRHA.js.map → chunk-CIE2BASH.js.map} +0 -0
- /package/dist/{chunk-X66MXMR5.js.map → chunk-CRI4OUV4.js.map} +0 -0
- /package/dist/{chunk-IUKGIB2Q.js.map → chunk-DLG74CNB.js.map} +0 -0
- /package/dist/{chunk-YBFOBRTO.js.map → chunk-ERJ7FU55.js.map} +0 -0
- /package/dist/{chunk-VJ3NQK4K.js.map → chunk-EVVGJDRQ.js.map} +0 -0
- /package/dist/{chunk-NSZ6J5DF.js.map → chunk-EXK7QRWF.js.map} +0 -0
- /package/dist/{chunk-5SAZMBW7.js.map → chunk-EYZ6IQ6X.js.map} +0 -0
- /package/dist/{chunk-OQAODTYR.js.map → chunk-F64IRYG3.js.map} +0 -0
- /package/dist/{chunk-Q2KVKTC2.js.map → chunk-FHS2HQSH.js.map} +0 -0
- /package/dist/{chunk-Y2OCKFZ3.js.map → chunk-GKEWXIV5.js.map} +0 -0
- /package/dist/{chunk-NUEFXLZU.js.map → chunk-GTGPO5KW.js.map} +0 -0
- /package/dist/{chunk-XQ7UYPVN.js.map → chunk-HB3RFQSC.js.map} +0 -0
- /package/dist/{chunk-FC3XK5JT.js.map → chunk-I6GALP6E.js.map} +0 -0
- /package/dist/{chunk-LEOXZY36.js.map → chunk-IL6POWCW.js.map} +0 -0
- /package/dist/{chunk-GX2BYNCT.js.map → chunk-IU6SNYX6.js.map} +0 -0
- /package/dist/{chunk-6CU3FN74.js.map → chunk-J2ZX2XUV.js.map} +0 -0
- /package/dist/{chunk-6MWUANRF.js.map → chunk-JKJOGPZN.js.map} +0 -0
- /package/dist/{chunk-PEDZFFKW.js.map → chunk-JZUV47FZ.js.map} +0 -0
- /package/dist/{chunk-5TZZUL5X.js.map → chunk-K5IMOGHB.js.map} +0 -0
- /package/dist/{chunk-7IZQTCTR.js.map → chunk-LASZKVMO.js.map} +0 -0
- /package/dist/{chunk-NNWK3PSY.js.map → chunk-NR5LT5RY.js.map} +0 -0
- /package/dist/{chunk-NYVQCZ54.js.map → chunk-NWSGI5C7.js.map} +0 -0
- /package/dist/{chunk-MSVY7ULZ.js.map → chunk-Q5VNKNE5.js.map} +0 -0
- /package/dist/{chunk-2HVUKRNE.js.map → chunk-QLWMEXCT.js.map} +0 -0
- /package/dist/{chunk-KYC4LIEU.js.map → chunk-QRB7NAOJ.js.map} +0 -0
- /package/dist/{chunk-6ULCYCMU.js.map → chunk-R4ROFEYC.js.map} +0 -0
- /package/dist/{chunk-KBF5GSGX.js.map → chunk-RIX4V2TB.js.map} +0 -0
- /package/dist/{chunk-CTSFKDGA.js.map → chunk-RYCTDFUX.js.map} +0 -0
- /package/dist/{chunk-S6AQXDN4.js.map → chunk-RZ5SVOYR.js.map} +0 -0
- /package/dist/{chunk-A4MAD6PO.js.map → chunk-SLFHQTTW.js.map} +0 -0
- /package/dist/{chunk-AYGZMQP5.js.map → chunk-T2FFWNPK.js.map} +0 -0
- /package/dist/{chunk-CWCCYH34.js.map → chunk-UNFPPVNI.js.map} +0 -0
- /package/dist/{chunk-M5I354EE.js.map → chunk-VLFCJYTL.js.map} +0 -0
- /package/dist/{chunk-WVCQ75OK.js.map → chunk-VN3DBQAU.js.map} +0 -0
- /package/dist/{chunk-KXKLKJW4.js.map → chunk-VZRODIM3.js.map} +0 -0
- /package/dist/{chunk-HBTT7YQX.js.map → chunk-W22IKJE2.js.map} +0 -0
- /package/dist/{chunk-KNXN47MO.js.map → chunk-X3YYQWOQ.js.map} +0 -0
- /package/dist/{chunk-DFIBOSOQ.js.map → chunk-YFXZEAYK.js.map} +0 -0
- /package/dist/{chunk-ICV32FPK.js.map → chunk-ZAJAVEXY.js.map} +0 -0
- /package/dist/{chunk-MK2BSS44.js.map → chunk-ZICD77GM.js.map} +0 -0
- /package/dist/{chunk-KWLD2D75.js.map → chunk-ZJ2AK4V7.js.map} +0 -0
- /package/dist/{chunk-KBBWY46Y.js.map → chunk-ZUODRVHY.js.map} +0 -0
- /package/dist/{api-HV4PDUWF.js.map → collection-facade-TLWIPI76.js.map} +0 -0
- /package/dist/{chunk-BGIZAFY7.js.map → computed-ZIQTYTDI.js.map} +0 -0
- /package/dist/{dead-filter-VNA4M3GP.js.map → dead-filter-ESOBZZP5.js.map} +0 -0
- /package/dist/{chunk-K2WCO3NX.js.map → delegation-W7ZV2322.js.map} +0 -0
- /package/dist/{collection-facade-3RAXG2OU.js.map → derive-H2BJTLUI.js.map} +0 -0
- /package/dist/{computed-R62HGCO4.js.map → enclave-AP3I5W7O.js.map} +0 -0
- /package/dist/{delegation-ZKII5UBI.js.map → executor-KGWTNEQD.js.map} +0 -0
- /package/dist/{derive-5D2C3WG4.js.map → executor-OVEXR6RT.js.map} +0 -0
- /package/dist/{describe/index.js.map → executor-UNEH5ZYH.js.map} +0 -0
- /package/dist/{enclave-EUBEJGPG.js.map → export-accessible-PCMXSUZS.js.map} +0 -0
- /package/dist/{executor-IL7SRNUZ.js.map → extract-partition-SWHFSYJO.js.map} +0 -0
- /package/dist/{fanout-sidecar-CI5BCMQM.js.map → fanout-sidecar-A765THMX.js.map} +0 -0
- /package/dist/{executor-OUA2Y6YC.js.map → find-N6345CNT.js.map} +0 -0
- /package/dist/{executor-WAEI6PDV.js.map → issue-5OKB6I2R.js.map} +0 -0
- /package/dist/{export-accessible-O55RKAGC.js.map → ledger-GFBKVPV4.js.map} +0 -0
- /package/dist/{extract-partition-VBGCBA6Q.js.map → liberate-3VDOT4KO.js.map} +0 -0
- /package/dist/{find-FISGUWSK.js.map → link-set-Z7Q2ASFX.js.map} +0 -0
- /package/dist/{issue-EQAWIYFQ.js.map → noydb-ZCJOYBDI.js.map} +0 -0
- /package/dist/{kernel/index.js.map → policy-Z3RUAIY2.js.map} +0 -0
- /package/dist/{ledger-AJA2SR3C.js.map → public-envelope-B4KNWVUA.js.map} +0 -0
- /package/dist/{liberate-SEGR4JLY.js.map → read-only-facade-CHCKSEPD.js.map} +0 -0
- /package/dist/{link-set-YBAC2DQT.js.map → register-VAHONCID.js.map} +0 -0
- /package/dist/{noydb-AMEOU456.js.map → registry-7MLVD3VO.js.map} +0 -0
- /package/dist/{policy-SDGRWVIL.js.map → registry-EPKPD5SM.js.map} +0 -0
- /package/dist/{public-envelope-J5PLQOW2.js.map → registry-P5T7PS2U.js.map} +0 -0
- /package/dist/{read-only-facade-UCYNRE56.js.map → request-withdrawal-TI3A5WPS.js.map} +0 -0
- /package/dist/{register-OVJKW7BS.js.map → revoke-FDRD6GRW.js.map} +0 -0
- /package/dist/{registry-5RJSK5AJ.js.map → signer-MUWEIUI6.js.map} +0 -0
- /package/dist/{registry-DQRNTWRL.js.map → stale-OSQ7J3AA.js.map} +0 -0
- /package/dist/{registry-LTGLERS7.js.map → storage-MVFCGEQE.js.map} +0 -0
- /package/dist/{store-coordination-provider-WKGAE2WI.js.map → store-coordination-provider-64OEZFGS.js.map} +0 -0
- /package/dist/{walk-76UCFXYV.js.map → walk-SVNDIZ62.js.map} +0 -0
- /package/dist/{request-withdrawal-27O77D2V.js.map → withdraw-accessible-WZIEVWSR.js.map} +0 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@noy-db/hub/i18n` — subpath export for the multi-locale primitives.
|
|
3
|
+
*
|
|
4
|
+
* Apps that only speak English never have to import from this subpath
|
|
5
|
+
* — the main `@noy-db/hub` entry still re-exports these symbols for
|
|
6
|
+
* backward compatibility through.x. Consumers that opt into the
|
|
7
|
+
* subpath import get a smaller bundle (~2 KB estimated savings).
|
|
8
|
+
*
|
|
9
|
+
* Re-exports:
|
|
10
|
+
* - `dictKey`, `DictionaryHandle`, dictionary collection helpers
|
|
11
|
+
* - `i18nText`, `resolveI18nText`, `applyI18nLocale`, validators
|
|
12
|
+
*/
|
|
13
|
+
export * from './core.js';
|
|
14
|
+
export * from './dictionary.js';
|
|
15
|
+
export { resolvePolicy } from './policy.js';
|
|
16
|
+
export type { OnMissing, Layer, OnMissingPolicy } from './policy.js';
|
|
17
|
+
export { inferScripts, enforceScript } from './script.js';
|
|
18
|
+
export type { ScriptWarning } from './script.js';
|
|
19
|
+
export { withI18n } from './active.js';
|
|
20
|
+
export type { I18nStrategy } from './strategy.js';
|
|
21
|
+
export { ReservedCollectionNameError, DictKeyMissingError, DictKeyInUseError, MissingTranslationError, LocaleNotSpecifiedError, TranslatorNotConfiguredError, ScriptViolationError, StaticDictReadonlyError, UnknownDictCodeError, } from '../../kernel/errors.js';
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-layer i18n resolution policy.
|
|
3
|
+
*
|
|
4
|
+
* `onMissing` governs what happens when a multilingual field is resolved
|
|
5
|
+
* to a target locale that is absent. It may be a single scalar policy or
|
|
6
|
+
* a per-layer map, so a field can be lenient at the app read boundary but
|
|
7
|
+
* strict inside a materialized view.
|
|
8
|
+
*
|
|
9
|
+
* Effective policy for layer `λ`:
|
|
10
|
+
*
|
|
11
|
+
* ```
|
|
12
|
+
* explicit(λ) = typeof onMissing === 'object' ? onMissing[λ] : undefined
|
|
13
|
+
* scalar = typeof onMissing === 'string' ? onMissing : undefined
|
|
14
|
+
* policy(λ) = explicit(λ) ?? layerDefault(λ) ?? scalar ?? 'throw'
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* - `layerDefault('guard') = 'substitute'` — guards are lenient unless
|
|
18
|
+
* EXPLICITLY overridden; they never inherit a scalar policy (a guard
|
|
19
|
+
* reading a display value must not hard-fail on a missing locale).
|
|
20
|
+
* - every other layer has no default, so it inherits the scalar, else
|
|
21
|
+
* falls back to `'throw'` (today's behavior — zero breaking change).
|
|
22
|
+
*
|
|
23
|
+
* @public
|
|
24
|
+
*/
|
|
25
|
+
export type OnMissing = 'substitute' | 'null' | 'throw';
|
|
26
|
+
/**
|
|
27
|
+
* The contexts in which a multilingual field is resolved. Each can carry
|
|
28
|
+
* its own `onMissing` policy.
|
|
29
|
+
*
|
|
30
|
+
* - `read` — ordinary app reads (`get`/`list`/query projection).
|
|
31
|
+
* - `guard` — a guard callback reading a value.
|
|
32
|
+
* - `join` — a joined record expanded onto a row.
|
|
33
|
+
* - `mv` — materialized-view input.
|
|
34
|
+
* - `derivation` — derivation input.
|
|
35
|
+
* - `export` — bundle/public-envelope export.
|
|
36
|
+
*/
|
|
37
|
+
export type Layer = 'read' | 'guard' | 'join' | 'mv' | 'derivation' | 'export';
|
|
38
|
+
/** Field-level policy: a single scalar, or a per-layer map. */
|
|
39
|
+
export type OnMissingPolicy = OnMissing | Partial<Record<Layer, OnMissing>>;
|
|
40
|
+
/**
|
|
41
|
+
* Resolve the effective `OnMissing` for a layer from a field's declared
|
|
42
|
+
* policy. See module docs for the resolution rule.
|
|
43
|
+
*/
|
|
44
|
+
export declare function resolvePolicy(onMissing: OnMissingPolicy | undefined, layer: Layer): OnMissing;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { I18nTextDescriptor } from './core.js';
|
|
2
|
+
/**
|
|
3
|
+
* Infer the allowed Unicode scripts for a BCP-47 locale, with asymmetric
|
|
4
|
+
* Latin tolerance. A script subtag (`th-Latn`) wins over the base
|
|
5
|
+
* language. Unknown locales default to `['Latin']`.
|
|
6
|
+
*/
|
|
7
|
+
export declare function inferScripts(locale: string): readonly string[];
|
|
8
|
+
/** A non-fatal script violation recorded under `'filter'`/`'warn'` modes. */
|
|
9
|
+
export interface ScriptWarning {
|
|
10
|
+
readonly field: string;
|
|
11
|
+
readonly locale: string;
|
|
12
|
+
readonly expected: readonly string[];
|
|
13
|
+
readonly sample: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Enforce a field's script constraint over an i18nText value map.
|
|
17
|
+
*
|
|
18
|
+
* - No `script` option ⇒ returns the value unchanged.
|
|
19
|
+
* - `onScriptViolation: 'reject'` (default) ⇒ throws {@link ScriptViolationError}.
|
|
20
|
+
* - `'filter'` ⇒ returns a copy with disallowed characters stripped + warnings.
|
|
21
|
+
* - `'warn'` ⇒ returns the value unchanged + warnings.
|
|
22
|
+
*/
|
|
23
|
+
export declare function enforceScript(value: Record<string, unknown>, field: string, descriptor: I18nTextDescriptor, exempt?: ReadonlySet<string>): {
|
|
24
|
+
value: Record<string, unknown>;
|
|
25
|
+
warnings: ScriptWarning[];
|
|
26
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strategy seam for the optional i18n (multi-locale + dictionary)
|
|
3
|
+
* service. `I18nStrategy` + `BuildDictionaryHandleOptions` + `NO_I18N`
|
|
4
|
+
* now live on the kernel port (`port/with/i18n-strategy.ts`, #623
|
|
5
|
+
* Task 7) — re-exported here for compat with existing importers of
|
|
6
|
+
* this module. Real `applyI18nLocale` / `validateI18nTextValue` /
|
|
7
|
+
* `DictionaryHandle` are only reachable via `withI18n()` in
|
|
8
|
+
* `./active.ts`.
|
|
9
|
+
*
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export type { I18nStrategy, BuildDictionaryHandleOptions } from '../../port/with/i18n-strategy.js';
|
|
13
|
+
export { NO_I18N } from '../../port/with/i18n-strategy.js';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Active lookup strategy — `withLookup()` returns the real implementation
|
|
3
|
+
* that constructs `LookupHandle` instances (the `_dict_*` / future
|
|
4
|
+
* `_lookup_*` reserved-collection engine).
|
|
5
|
+
*
|
|
6
|
+
* #650 Task 1 (via-lookup extraction, phase D): this is the new home for
|
|
7
|
+
* the handle-construction logic that used to live inline in
|
|
8
|
+
* `via/i18n/active.ts`'s `withI18n().buildDictionaryHandle`, which
|
|
9
|
+
* now delegates here (same handle, new home — see that file). Splitting
|
|
10
|
+
* the import chain through this file is the same `#553` tree-shake seam
|
|
11
|
+
* `via/i18n/active.ts` already used: the `LookupHandle` engine only
|
|
12
|
+
* ships in a consumer's bundle once something reaches `withLookup()` (today
|
|
13
|
+
* that's transitively via `withI18n()`; later phase-D tasks may call it
|
|
14
|
+
* directly).
|
|
15
|
+
*
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
import type { LookupStrategy } from '../../port/with/lookup-strategy.js';
|
|
19
|
+
export declare function withLookup(): LookupStrategy;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `'lookup'` `ViaBinding` — wires the lookup engine (present-time label
|
|
3
|
+
* dressing across all three backing tiers) into the kernel's generic Via
|
|
4
|
+
* port. Mirrors `via/i18n/binding.ts`'s #553 static-link pattern; the
|
|
5
|
+
* present-time label-dressing algorithm below is adapted from
|
|
6
|
+
* `via-i18n/binding.ts:253-337` (the same wildcard/array/scalar handling,
|
|
7
|
+
* the same `onMissing`/`substitute` policy engine), generalized to branch on
|
|
8
|
+
* `backing` instead of a static-vs-dynamic descriptor-shape check. For the
|
|
9
|
+
* `'static'` and `'reserved'` tiers this delegates to `cfg.lookupLabelResolver`
|
|
10
|
+
* — the SAME vault-built closure the i18n binding's `dictLabelResolver` uses
|
|
11
|
+
* (static table first, else the `vault.dictionary()` handle) — so a native
|
|
12
|
+
* `dict()`/`lookup(static)` field resolves through the identical label data
|
|
13
|
+
* as its `dictKey()`/`staticDict()` alias (the byte-equivalence lock).
|
|
14
|
+
*
|
|
15
|
+
* `lookup()`/`enumOf()`/`dict()` each call {@link linkLookupVia} first — the
|
|
16
|
+
* same #553 pattern `money()`/`dictKey()` use.
|
|
17
|
+
*
|
|
18
|
+
* `buildClause` (label-predicate queries) is still undeclared — out of scope
|
|
19
|
+
* for #650. `compareForOrder` (#650 Task 6, spec §5; matrix tier added Task
|
|
20
|
+
* 7) resolves a `sortBy`-declared field's ordering via `cfg.snapshotFor`'s
|
|
21
|
+
* sync snapshot; the hook signature is UNCHANGED (`via/index.ts:128-129` — no
|
|
22
|
+
* locale param), so it closes over each descriptor's own `displayLocale`
|
|
23
|
+
* (the same locale-less-hinge default `runLookupPresent`'s
|
|
24
|
+
* `hasStaticDisplay` branch already uses). `resolveOrderLabel` (#650 Task
|
|
25
|
+
* 7) is the PER-CALL-locale sibling `orderBy(..., {by:'label'})` needs —
|
|
26
|
+
* see its own doc comment below. `describeFragment` (#650 Task 7) is the
|
|
27
|
+
* first-ever consumed `ViaBinding.describeFragment` implementation — see
|
|
28
|
+
* `with-shape/introspection/describe.ts`'s `buildDescription`.
|
|
29
|
+
*/
|
|
30
|
+
import type { ViaBinding } from '../../kernel/via/index.js';
|
|
31
|
+
import type { LookupDescriptor, LookupBacking, Vocabulary, OnDelete } from './descriptor.js';
|
|
32
|
+
import type { MaterializedBacking } from './registry.js';
|
|
33
|
+
/**
|
|
34
|
+
* Config a collection's lookup declarations resolve to — the binding's
|
|
35
|
+
* construction input. `lookupLabelResolver`/`getLookupBacking`/`membership`/
|
|
36
|
+
* `snapshotFor` are vault-built closures (never a `Collection` handle,
|
|
37
|
+
* keyring, or DEK/CEK — the zero-knowledge boundary).
|
|
38
|
+
*/
|
|
39
|
+
export interface LookupViaConfig {
|
|
40
|
+
readonly lookupFields: Record<string, LookupDescriptor>;
|
|
41
|
+
readonly lookupLabelResolver?: (dimension: string, key: string, locale: string, fallback?: unknown) => Promise<string | undefined>;
|
|
42
|
+
/**
|
|
43
|
+
* The matrix (collection) tier's present-time backing-row source, keyed by the full
|
|
44
|
+
* descriptor (not a bare dimension name) so the closure can resolve by `descriptor.key`,
|
|
45
|
+
* not the backing row's PUT-id (#651 Task 3 — the same descriptor-gaining dispatch Task 7
|
|
46
|
+
* already applied to `snapshotFor`).
|
|
47
|
+
*/
|
|
48
|
+
readonly getLookupBacking?: (descriptor: LookupDescriptor) => (key: string) => Promise<Record<string, unknown> | undefined>;
|
|
49
|
+
/** Closed-vocabulary write-time membership test (#650 Task 3) — `(field, key) => known?`. */
|
|
50
|
+
readonly membership?: (field: string, key: string) => boolean | Promise<boolean>;
|
|
51
|
+
/** Sync per-descriptor altKey index — `ingest`'s normalization source (#650 Task 3). */
|
|
52
|
+
readonly getAltIndex?: (desc: LookupDescriptor) => MaterializedBacking | undefined;
|
|
53
|
+
/**
|
|
54
|
+
* Sync materialized `key -> row` rows for a lookup descriptor (#650 Task
|
|
55
|
+
* 6, spec §5; matrix-tier routing added #650 Task 7) — `compareForOrder`
|
|
56
|
+
* and `resolveOrderLabel` below, and `snapshot.ts`'s `presentForJoin`
|
|
57
|
+
* builder, all read this same vault-built closure. Reserved AND
|
|
58
|
+
* collection (matrix) tier route here (the vault wires
|
|
59
|
+
* `dimension -> LookupHandle.snapshotEntries()` / `dimension ->
|
|
60
|
+
* collection.querySourceForJoin().snapshot()` respectively, keyed by
|
|
61
|
+
* `descriptor.key` for the matrix case — see `registry.ts`'s
|
|
62
|
+
* `buildLookupSnapshotRows`); static tier is resolved locally from
|
|
63
|
+
* `descriptor.table` without calling this.
|
|
64
|
+
*/
|
|
65
|
+
readonly snapshotFor?: (descriptor: LookupDescriptor) => ReadonlyMap<string, Record<string, unknown>> | undefined;
|
|
66
|
+
readonly collectionName: string;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* One field's `lookup` descriptor as it appears on a `ViaBinding.
|
|
70
|
+
* describeFragment()` payload (#650 Task 7 — the first real consumer,
|
|
71
|
+
* `with-shape/introspection/describe.ts`'s `buildDescription`, imports this
|
|
72
|
+
* type directly; `describe.ts` is NOT under `kernel/**`, so it's free to
|
|
73
|
+
* import concrete via/ types the way it already does for
|
|
74
|
+
* `LookupDescriptor`/`MoneyDescriptor`/etc.). `dimension` is OMITTED (not
|
|
75
|
+
* emitted as `''`) for a bare `enumOf()` descriptor — the #650 Task 2
|
|
76
|
+
* `dimension:''` sentinel resolved: no dimension name means no `dimension`
|
|
77
|
+
* key, not a meaningless empty string (T2 carry, #650 Task 7).
|
|
78
|
+
*/
|
|
79
|
+
export interface LookupDescribeFragmentEntry {
|
|
80
|
+
readonly dimension?: string;
|
|
81
|
+
readonly backing: LookupBacking;
|
|
82
|
+
readonly vocabulary: Vocabulary;
|
|
83
|
+
readonly key: string;
|
|
84
|
+
readonly altKeys?: readonly string[];
|
|
85
|
+
readonly present?: {
|
|
86
|
+
readonly label: string;
|
|
87
|
+
readonly by?: string;
|
|
88
|
+
};
|
|
89
|
+
readonly sortBy?: string;
|
|
90
|
+
readonly onDelete: OnDelete;
|
|
91
|
+
/** Statically-known closed-vocabulary key set (declared `keys`, or a static table's own keys). Omitted when membership lives only in the backing collection/dictionary (open vocabulary, or closed with no declared `keys`). */
|
|
92
|
+
readonly keys?: readonly string[];
|
|
93
|
+
}
|
|
94
|
+
/** The `'lookup'` binding's `describeFragment()` payload shape. */
|
|
95
|
+
export interface LookupDescribeFragment {
|
|
96
|
+
readonly lookupFields: Record<string, LookupDescribeFragmentEntry>;
|
|
97
|
+
}
|
|
98
|
+
export declare function lookupBinding(cfg: LookupViaConfig): ViaBinding;
|
|
99
|
+
export declare function linkLookupVia(): void;
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `lookup()` / `enumOf()` / `dict()` descriptors — the three declaration
|
|
3
|
+
* surfaces for the `'lookup'` via binding (#650 Task 2, phase D of the Via
|
|
4
|
+
* port). One `LookupDescriptor` shape; the tiers are `backing` details:
|
|
5
|
+
*
|
|
6
|
+
* - `lookup(dimension, opts?)` — matrix tier: first-class collection backing
|
|
7
|
+
* (default `backing:'collection'`) — a reference-collection dimension
|
|
8
|
+
* (e.g. `countries`), open vocabulary by default.
|
|
9
|
+
* - `enumOf(keys)` — enum tier: static in-config table, CLOSED
|
|
10
|
+
* vocabulary, no backing store at all (no dimension name — pure inline
|
|
11
|
+
* keys). Exported as `enumOf`; the barrel (`index.ts`) re-exports it as
|
|
12
|
+
* `enum` (`enum` is a reserved word, so it can't be the function's own
|
|
13
|
+
* name).
|
|
14
|
+
* - `dict(dimension, opts?)` — dict tier: reserved `_dict_<dimension>`
|
|
15
|
+
* micro-collection backing (the `vault.dictionary(name)` engine), open
|
|
16
|
+
* vocabulary by default.
|
|
17
|
+
*
|
|
18
|
+
* Each factory calls {@link linkLookupVia} first — the declaration IS the
|
|
19
|
+
* via binding's opt-in unit (#553), same pattern as `money()`/`i18nText()`/
|
|
20
|
+
* `dictKey()`.
|
|
21
|
+
*/
|
|
22
|
+
import type { OnMissingPolicy } from '../i18n/policy.js';
|
|
23
|
+
/** `'closed'` = enum semantics (membership enforced, Task 3); `'open'` permits unknown keys. */
|
|
24
|
+
export type Vocabulary = 'open' | 'closed';
|
|
25
|
+
/** Where a dimension's rows live: static in-config table / reserved micro-collection / first-class collection. */
|
|
26
|
+
export type LookupBacking = 'static' | 'reserved' | 'collection';
|
|
27
|
+
/** Delete-time referential policy for the backing dimension (default `'restrict'`, enforced in Task 5). */
|
|
28
|
+
export type OnDelete = 'restrict' | 'cascade' | 'nullify';
|
|
29
|
+
/** The one descriptor shape every tier compiles to — tiers differ only by `backing`. */
|
|
30
|
+
export interface LookupDescriptor<Keys extends string = string> {
|
|
31
|
+
readonly _viaBrand: 'lookup';
|
|
32
|
+
/** Dimension/dictionary/target name. Empty for a bare `enumOf()` (no backing store, no name). */
|
|
33
|
+
readonly dimension: string;
|
|
34
|
+
/** Canonical key field on the row (default `'id'`). */
|
|
35
|
+
readonly key: string;
|
|
36
|
+
/** Candidate keys normalized to `key` on ingest (Task 3). */
|
|
37
|
+
readonly altKeys?: readonly string[];
|
|
38
|
+
readonly vocabulary: Vocabulary;
|
|
39
|
+
/** Dressing dimension: which backing-row field supplies `<field>Label`, optionally keyed `by` a sub-field (e.g. locale). */
|
|
40
|
+
readonly present?: {
|
|
41
|
+
readonly label: string;
|
|
42
|
+
readonly by?: string;
|
|
43
|
+
};
|
|
44
|
+
/** Field to sort by against the snapshot (Task 6). */
|
|
45
|
+
readonly sortBy?: string;
|
|
46
|
+
readonly backing: LookupBacking;
|
|
47
|
+
readonly onDelete: OnDelete;
|
|
48
|
+
/** Static/enum inline key set. */
|
|
49
|
+
readonly keys?: readonly Keys[];
|
|
50
|
+
/** Static tier only: in-code `key -> { locale -> label }` table. */
|
|
51
|
+
readonly table?: Readonly<Record<string, Readonly<Record<string, string>>>>;
|
|
52
|
+
/** Static hybrid hinge (the `staticDict` alias) — locale-less `<field>Label`. */
|
|
53
|
+
readonly displayLocale?: string;
|
|
54
|
+
readonly onMissing?: OnMissingPolicy;
|
|
55
|
+
readonly substitute?: readonly string[];
|
|
56
|
+
/** Inline display labels (value -> label), the dict-tier sync fallback (mirrors `dictKey`'s `labels`). */
|
|
57
|
+
readonly labels?: Record<string, string>;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Matrix tier — first-class collection backing (default `backing:'collection'`).
|
|
61
|
+
* `dimension` names the backing collection (e.g. `'countries'`).
|
|
62
|
+
*
|
|
63
|
+
* `backing` may be overridden to construct any tier through this one
|
|
64
|
+
* factory — e.g. `lookup(name, { backing:'static', table, displayLocale })`
|
|
65
|
+
* is the table-bearing static tier `staticDict()` compiles onto. The
|
|
66
|
+
* `table`/`displayLocale`/`keys`/`onMissing`/`substitute`/`labels` options
|
|
67
|
+
* are a superset of the brief's literal opts list: `LookupDescriptor`
|
|
68
|
+
* already carries these fields for exactly this purpose, and without them
|
|
69
|
+
* `backing:'static'` would be unreachable stand-alone through `lookup()`
|
|
70
|
+
* (see task-2-report.md's "Design decisions").
|
|
71
|
+
*
|
|
72
|
+
* **`altKeys` caveat (matrix tier only)**: normalizing an altKey candidate
|
|
73
|
+
* to its canonical `key` requires the backing `dimension` collection to be
|
|
74
|
+
* open in EAGER mode (the default; `{ prefetch: false }` — lazy mode — is
|
|
75
|
+
* unsupported). A `put()` on a field with `altKeys` whose backing collection
|
|
76
|
+
* is lazy throws a `ValidationError` naming the field and dimension; open
|
|
77
|
+
* the backing collection without `{ prefetch: false }`, or drop `altKeys`.
|
|
78
|
+
*/
|
|
79
|
+
export declare function lookup<Keys extends string>(dimension: string, opts?: {
|
|
80
|
+
key?: string;
|
|
81
|
+
altKeys?: readonly string[];
|
|
82
|
+
vocabulary?: Vocabulary;
|
|
83
|
+
present?: {
|
|
84
|
+
label: string;
|
|
85
|
+
by?: string;
|
|
86
|
+
};
|
|
87
|
+
sortBy?: string;
|
|
88
|
+
backing?: LookupBacking;
|
|
89
|
+
onDelete?: OnDelete;
|
|
90
|
+
keys?: readonly Keys[];
|
|
91
|
+
table?: Readonly<Record<string, Readonly<Record<string, string>>>>;
|
|
92
|
+
displayLocale?: string;
|
|
93
|
+
onMissing?: OnMissingPolicy;
|
|
94
|
+
substitute?: readonly string[];
|
|
95
|
+
labels?: Record<string, string>;
|
|
96
|
+
}): LookupDescriptor<Keys>;
|
|
97
|
+
/**
|
|
98
|
+
* Enum tier — static in-config table, CLOSED vocabulary, no backing store.
|
|
99
|
+
* No dimension name (pure inline keys) — `dimension` is `''`.
|
|
100
|
+
*/
|
|
101
|
+
export declare function enumOf<const Keys extends readonly string[]>(keys: Keys): LookupDescriptor<Keys[number]>;
|
|
102
|
+
/**
|
|
103
|
+
* Dict tier — reserved `_dict_<dimension>` micro-collection backing (the
|
|
104
|
+
* `vault.dictionary(dimension)` engine), open vocabulary by default. The
|
|
105
|
+
* native equivalent of `dictKey()`.
|
|
106
|
+
*
|
|
107
|
+
* Unlike `lookup()`'s matrix tier, `dict()` has no `altKeys` option — its
|
|
108
|
+
* `_dict_<dimension>` backing is the always-synchronous `LookupHandle`
|
|
109
|
+
* write-through cache, never a `vault.collection()` that can be opened
|
|
110
|
+
* `{ prefetch: false }`, so the matrix tier's lazy-mode altKeys restriction
|
|
111
|
+
* does not apply here.
|
|
112
|
+
*/
|
|
113
|
+
export declare function dict<Keys extends string>(dimension: string, opts?: {
|
|
114
|
+
keys?: readonly Keys[];
|
|
115
|
+
vocabulary?: Vocabulary;
|
|
116
|
+
present?: {
|
|
117
|
+
label: string;
|
|
118
|
+
by?: string;
|
|
119
|
+
};
|
|
120
|
+
onDelete?: OnDelete;
|
|
121
|
+
onMissing?: OnMissingPolicy;
|
|
122
|
+
substitute?: readonly string[];
|
|
123
|
+
}): LookupDescriptor<Keys>;
|
|
@@ -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';
|