@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,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Refusal matrix R1-R5 (spec) — ONE guard, run at BOTH doors:
|
|
3
|
+
* `collection()` config resolution AND `_applyClassifiedFields` (the reconcile
|
|
4
|
+
* seam), because crdt/conflictPolicy/perRecordKeys are construction-only
|
|
5
|
+
* while classifiedFields can attach later (C5's lesson). @module
|
|
6
|
+
*/
|
|
7
|
+
import type { ClassifiedFieldSpec } from './descriptor.js';
|
|
8
|
+
export interface ClassifiedGuardCtx {
|
|
9
|
+
readonly perRecordKeys: boolean;
|
|
10
|
+
readonly crdt: boolean;
|
|
11
|
+
readonly hasConflictPolicy: boolean;
|
|
12
|
+
/** False on plaintext (`encrypt: false`) collections — no vdig/seal path exists. */
|
|
13
|
+
readonly storeCiphertext: boolean;
|
|
14
|
+
readonly deterministicFields: ReadonlySet<string> | null;
|
|
15
|
+
readonly indexedFields: ReadonlySet<string>;
|
|
16
|
+
readonly textIndexFields: ReadonlySet<string>;
|
|
17
|
+
readonly vectorSourceFields: ReadonlySet<string>;
|
|
18
|
+
readonly subjectKeyField: string | undefined;
|
|
19
|
+
readonly bareSensitiveFields: ReadonlySet<string>;
|
|
20
|
+
/** Collection-level gate for the `equatable` knob (R8 double door). */
|
|
21
|
+
readonly acknowledgeEquatableRisk: boolean;
|
|
22
|
+
}
|
|
23
|
+
export declare function guardClassifiedCompat(collection: string, byField: Record<string, ClassifiedFieldSpec>, ctx: ClassifiedGuardCtx): void;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Classified fields barrel — descriptors, presets, resolver, errors (stage 1). @module */
|
|
2
|
+
export type { ClassifiedStorage, ClassifiedList, ClassifiedRider, ClassifiedFieldSpec, ClassifiedGroup, ClassifiedEntry, } from './descriptor.js';
|
|
3
|
+
export { isClassifiedFieldSpec, isClassifiedGroup } from './descriptor.js';
|
|
4
|
+
export { resolveClassifiedFields, type ResolvedClassified } from './resolve.js';
|
|
5
|
+
export { classified } from './presets.js';
|
|
6
|
+
export { luhnCheck } from './validators.js';
|
|
7
|
+
export { enforceClassifiedWrite } from './write.js';
|
|
8
|
+
export { ClassifiedConfigError, ClassifiedNeverStoredError, ClassifiedValidationError, ClassifiedRevealError, ClassifiedVerifyError, ClassifiedRotationError } from './errors.js';
|
|
9
|
+
export { withClassified } from './active.js';
|
|
10
|
+
export { NO_CLASSIFIED, type ClassifiedStrategy, type ClassifiedRevealCtx } from './strategy.js';
|
|
11
|
+
export type { ClassifiedVerdict, ClassifiedVerifyCtx } from './strategy.js';
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/** The preset catalog (stage 1). Presets are hub-owned; devs get declarative
|
|
2
|
+
* knobs, not read-side callbacks (design law D2/D3). @module */
|
|
3
|
+
import type { ClassifiedFieldSpec, ClassifiedGroup } from './descriptor.js';
|
|
4
|
+
export declare const classified: {
|
|
5
|
+
/** Composite card type. PAN sealed + last4/bin riders; CVC is storage:'never' (PCI-aware). */
|
|
6
|
+
creditCard(fields: {
|
|
7
|
+
pan: string;
|
|
8
|
+
expiry?: string;
|
|
9
|
+
cvc?: string;
|
|
10
|
+
}): ClassifiedGroup;
|
|
11
|
+
birthDate(): ClassifiedFieldSpec;
|
|
12
|
+
email(): ClassifiedFieldSpec;
|
|
13
|
+
phone(): ClassifiedFieldSpec;
|
|
14
|
+
/** Digest-only password: verify-without-reveal; never listed, never revealed.
|
|
15
|
+
* Enumeration math is on the caller for low-entropy values — see the
|
|
16
|
+
* per-preset docs; the hub ships no rate limiter in this slice (spec §5).
|
|
17
|
+
*
|
|
18
|
+
* @param opts.equatable — emit a store-visible `_bidx` equality tag (enables
|
|
19
|
+
* `findByDigest`). Cost band you are accepting:
|
|
20
|
+
*
|
|
21
|
+
* equal values produce equal store-visible tags: anyone with store access
|
|
22
|
+
* learns which records share this secret and how many share each value —
|
|
23
|
+
* never the value itself. A collection-DEK holder can additionally test
|
|
24
|
+
* candidate values offline: the tag's inner digest is PBKDF2-SHA256 (600K),
|
|
25
|
+
* which is GPU/ASIC-friendly — an offline attacker runs on the order of
|
|
26
|
+
* 10⁴–10⁸ guesses/second, so for low-entropy secrets (PINs, casefolded secret
|
|
27
|
+
* answers) offline recovery of the equality partition is seconds-to-hours, not
|
|
28
|
+
* years. `crypto.subtle` exposes no memory-hard KDF (no scrypt/argon2) and the
|
|
29
|
+
* family's no-crypto-deps law forbids adding one, so PBKDF2-SHA256 is the
|
|
30
|
+
* hardest primitive available; the iteration count raises the price but does
|
|
31
|
+
* not make a low-entropy field safe. The real control for low-entropy fields
|
|
32
|
+
* is the DOOR — do not enable `equatable` for them unless the partition being
|
|
33
|
+
* learnable is acceptable — not the iteration count. Pre-forget backups retain
|
|
34
|
+
* tags. */
|
|
35
|
+
password(opts?: {
|
|
36
|
+
minLength?: number;
|
|
37
|
+
rotateDays?: number;
|
|
38
|
+
notLastN?: number;
|
|
39
|
+
equatable?: true;
|
|
40
|
+
}): ClassifiedFieldSpec;
|
|
41
|
+
/** Digest-only secret answer: normalized (casefold/trim/collapse), groupable
|
|
42
|
+
* into k-of-n matchGroup challenges. Low-entropy by nature — document the
|
|
43
|
+
* enumeration math to your users; add app-side rate limiting.
|
|
44
|
+
*
|
|
45
|
+
* @param opts.equatable — emit a store-visible `_bidx` equality tag (enables
|
|
46
|
+
* `findByDigest`). Cost band you are accepting:
|
|
47
|
+
*
|
|
48
|
+
* equal values produce equal store-visible tags: anyone with store access
|
|
49
|
+
* learns which records share this secret and how many share each value —
|
|
50
|
+
* never the value itself. A collection-DEK holder can additionally test
|
|
51
|
+
* candidate values offline: the tag's inner digest is PBKDF2-SHA256 (600K),
|
|
52
|
+
* which is GPU/ASIC-friendly — an offline attacker runs on the order of
|
|
53
|
+
* 10⁴–10⁸ guesses/second, so for low-entropy secrets (PINs, casefolded secret
|
|
54
|
+
* answers) offline recovery of the equality partition is seconds-to-hours, not
|
|
55
|
+
* years. `crypto.subtle` exposes no memory-hard KDF (no scrypt/argon2) and the
|
|
56
|
+
* family's no-crypto-deps law forbids adding one, so PBKDF2-SHA256 is the
|
|
57
|
+
* hardest primitive available; the iteration count raises the price but does
|
|
58
|
+
* not make a low-entropy field safe. The real control for low-entropy fields
|
|
59
|
+
* is the DOOR — do not enable `equatable` for them unless the partition being
|
|
60
|
+
* learnable is acceptable — not the iteration count. Pre-forget backups retain
|
|
61
|
+
* tags. */
|
|
62
|
+
secretAnswer(opts?: {
|
|
63
|
+
equatable?: true;
|
|
64
|
+
}): ClassifiedFieldSpec;
|
|
65
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** Flatten a classifiedFields config into a per-field map + rider computed entries. @module */
|
|
2
|
+
import { type ClassifiedEntry, type ClassifiedFieldSpec } from './descriptor.js';
|
|
3
|
+
export type { ClassifiedEntry, ClassifiedFieldSpec, ClassifiedGroup, ClassifiedList } from './descriptor.js';
|
|
4
|
+
export { ClassifiedConfigError } from './errors.js';
|
|
5
|
+
export interface ResolvedClassified {
|
|
6
|
+
readonly byField: Record<string, ClassifiedFieldSpec>;
|
|
7
|
+
readonly riderComputed: Record<string, (record: Record<string, unknown>) => unknown>;
|
|
8
|
+
}
|
|
9
|
+
export declare function resolveClassifiedFields(collection: string, config: Record<string, ClassifiedEntry>): ResolvedClassified;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The ② capability seam for classified read-egress ops (stage 1: reveal;
|
|
3
|
+
* stage 2: verify). `ClassifiedStrategy` + `ClassifiedRevealCtx` +
|
|
4
|
+
* `ClassifiedVerifyCtx` + `NO_CLASSIFIED` now live on the kernel port
|
|
5
|
+
* (`port/with/classified-strategy.ts`, #629 Task 5) — re-exported here for
|
|
6
|
+
* compat with existing importers of this module.
|
|
7
|
+
*
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export type { ClassifiedStrategy, ClassifiedRevealCtx, ClassifiedVerifyCtx, ClassifiedVerdict } from '../../port/with/classified-strategy.js';
|
|
11
|
+
export { NO_CLASSIFIED } from '../../port/with/classified-strategy.js';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** Write-path enforcement: storage:'never' rejection + preset validators.
|
|
2
|
+
* Runs BEFORE riders/computed and BEFORE schema validation. Pure. @module */
|
|
3
|
+
import type { ClassifiedFieldSpec } from './descriptor.js';
|
|
4
|
+
export declare function enforceClassifiedWrite(record: Record<string, unknown>, byField: Record<string, ClassifiedFieldSpec>, collection: string): void;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `computed` via-binding (#638 Task 7) — covers ONLY `mode: 'virtual'`
|
|
3
|
+
* fields. Materialized entries never reach here: they compile into
|
|
4
|
+
* `mergedComputed` (`kernel/collection-config.ts`) and run through the
|
|
5
|
+
* EXISTING stage-5 `evalComputedFields` write path, byte-for-byte unchanged
|
|
6
|
+
* (the behavior lock).
|
|
7
|
+
*
|
|
8
|
+
* A virtual field is computed on READ, inside `present()` — the money-
|
|
9
|
+
* `Formatted`/i18n-`Label` precedent (seam map Part 4) generalized to a
|
|
10
|
+
* user-declared function. It is NEVER stored (no `encodeAtRest`/
|
|
11
|
+
* `decodeAtRest` — the field never appears in `_data` or any `_sealed`
|
|
12
|
+
* slot), and its posture is fixed `queryable: 'none'` — there is no stored/
|
|
13
|
+
* indexed form to query against, regardless of what its sources would
|
|
14
|
+
* otherwise permit (`ViaGraph`'s grain-'virtual' clamp, `kernel/via/graph.ts`,
|
|
15
|
+
* is the belt; this binding's own static posture is the suspenders for a
|
|
16
|
+
* depsless virtual field, which registers no graph edge at all).
|
|
17
|
+
*
|
|
18
|
+
* Export/read redaction for a TAINTED virtual field (sourced from a
|
|
19
|
+
* classified/sealed field) is NOT this binding's job — it stays ignorant of
|
|
20
|
+
* taint, exactly like `evalComputedFields` stays ignorant of it for
|
|
21
|
+
* materialized fields. `kernel/via/taint-binding.ts#taintBinding` (appended
|
|
22
|
+
* to the pipeline by `via/graph-wiring.ts#applyTaintOverlay`, AFTER this
|
|
23
|
+
* binding) overwrites a tainted virtual field's value with the same
|
|
24
|
+
* `EXPORT_REDACTION_MARKER` on every present() — the one enforcement seam
|
|
25
|
+
* every via feature's taint already routes through.
|
|
26
|
+
*/
|
|
27
|
+
import type { ViaBinding } from '../../kernel/via/index.js';
|
|
28
|
+
import type { ComputedDescriptor } from './descriptor.js';
|
|
29
|
+
export interface ComputedViaConfig {
|
|
30
|
+
/** field name -> its virtual-mode descriptor. Materialized entries are never present here. */
|
|
31
|
+
readonly virtualFields: ReadonlyMap<string, ComputedDescriptor>;
|
|
32
|
+
}
|
|
33
|
+
export declare function computedBinding(cfg: ComputedViaConfig): ViaBinding;
|
|
34
|
+
export declare function linkComputedVia(): void;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* computed() — the declaration factory for a field whose value is DERIVED
|
|
3
|
+
* from other fields on the same record (#638 Task 7, spec §6). Composes
|
|
4
|
+
* with `via()` (the locked grammar since phase A: `via(computed(fn, { deps,
|
|
5
|
+
* mode }), money('EUR'))`), grouped by `_viaBrand` like every other via
|
|
6
|
+
* feature (`kernel/via/compose.ts#mergeViaFields`).
|
|
7
|
+
*
|
|
8
|
+
* `mode` picks where the function runs:
|
|
9
|
+
* - `'materialized'` (default) — TODAY's stage-5 write-time eager compute
|
|
10
|
+
* (`with-formula/computed/index.ts#evalComputedFields`), stored like any
|
|
11
|
+
* other field. Byte-for-byte the existing `computed: { field: fn }` sugar.
|
|
12
|
+
* - `'virtual'` — rides the `present` read phase (the money-`Formatted`/
|
|
13
|
+
* i18n-`Label` precedent, seam map Part 4): computed fresh on every
|
|
14
|
+
* read, NEVER stored, `queryable: 'none'`, excluded from export unless
|
|
15
|
+
* its declared `deps` permit (identical taint rule to materialized —
|
|
16
|
+
* see `via/computed/binding.ts`).
|
|
17
|
+
*
|
|
18
|
+
* `deps` names the OTHER fields `fn` reads — feeds `ViaGraph` (Task 1/2) so
|
|
19
|
+
* a source's taint (e.g. a classified field) propagates to this derived
|
|
20
|
+
* field. A depsless entry is fine UNLESS the collection also declares
|
|
21
|
+
* classified fields (`kernel/collection-config.ts#resolveComputedEdges`
|
|
22
|
+
* refuses it — closes the #636 opaque-function leak).
|
|
23
|
+
*/
|
|
24
|
+
import type { ViaDescriptor } from '../../kernel/via/index.js';
|
|
25
|
+
export interface ComputedDescriptor extends ViaDescriptor {
|
|
26
|
+
readonly _viaBrand: 'computed';
|
|
27
|
+
readonly fn: (record: Record<string, unknown>) => unknown;
|
|
28
|
+
readonly deps?: readonly string[];
|
|
29
|
+
readonly mode: 'materialized' | 'virtual';
|
|
30
|
+
}
|
|
31
|
+
export declare function computed(fn: (record: Record<string, unknown>) => unknown, opts?: {
|
|
32
|
+
readonly deps?: readonly string[];
|
|
33
|
+
readonly mode?: 'materialized' | 'virtual';
|
|
34
|
+
}): ComputedDescriptor;
|
|
35
|
+
export declare function isComputedDescriptor(x: unknown): x is ComputedDescriptor;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Active i18n strategy — `withI18n()` returns the real implementation
|
|
3
|
+
* that wires multi-locale resolution, i18nText validation, and the
|
|
4
|
+
* `DictionaryHandle` for `dictKey` fields into the core read/write
|
|
5
|
+
* paths.
|
|
6
|
+
*
|
|
7
|
+
* Consumers opt in by:
|
|
8
|
+
*
|
|
9
|
+
* ```ts
|
|
10
|
+
* import { createNoydb } from '@noy-db/hub'
|
|
11
|
+
* import { withI18n } from '@noy-db/hub/i18n'
|
|
12
|
+
*
|
|
13
|
+
* const db = await createNoydb({
|
|
14
|
+
* store: ...,
|
|
15
|
+
* user: ...,
|
|
16
|
+
* i18nStrategy: withI18n(),
|
|
17
|
+
* })
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* The factory delegates to the existing `core.ts` and `dictionary.ts`
|
|
21
|
+
* modules. Splitting the import chain through this file is what lets
|
|
22
|
+
* tsup tree-shake the `~854 LOC` of dictionary + locale resolution
|
|
23
|
+
* out of the default bundle when no `withI18n()` import is present.
|
|
24
|
+
*
|
|
25
|
+
* @public
|
|
26
|
+
*/
|
|
27
|
+
import type { I18nStrategy } from './strategy.js';
|
|
28
|
+
export declare function withI18n(): I18nStrategy;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The i18n `ViaBinding` — wires the i18n engine (auto-translate/script
|
|
3
|
+
* enforcement/validation/densify on write; locale + dict-label presentation
|
|
4
|
+
* on read) into the kernel's generic Via port. Mirrors
|
|
5
|
+
* `via/money/binding.ts`'s #553 static-link pattern.
|
|
6
|
+
*
|
|
7
|
+
* LIVE (#623 Task 8 wired the cutover): `i18nBinding()`/`linkI18nVia()` are
|
|
8
|
+
* the real put/read path for every i18n-declaring collection —
|
|
9
|
+
* `collection.ts`'s `_putInternal`/`applyLocaleToRecord` (the call sites
|
|
10
|
+
* this file's bodies were moved/adapted from) now delegate their i18n
|
|
11
|
+
* stages to `this.via.encodeWrite`/`this.via.present` instead of running
|
|
12
|
+
* the hand-wired i18n logic inline.
|
|
13
|
+
*
|
|
14
|
+
* `i18nText()`, `dictKey()`, `staticDict()` each call {@link linkI18nVia}
|
|
15
|
+
* first — the same #553 pattern `money()` uses.
|
|
16
|
+
*/
|
|
17
|
+
import type { ViaBinding } from '../../kernel/via/index.js';
|
|
18
|
+
/**
|
|
19
|
+
* Config a collection's i18n declarations resolve to — the binding's
|
|
20
|
+
* construction input. Fields are loosely typed (`unknown`) at this seam
|
|
21
|
+
* because the kernel's `ViaBinder` contract is opaque-config-in; the
|
|
22
|
+
* concrete i18n types are applied inside the binding's own functions.
|
|
23
|
+
*/
|
|
24
|
+
export interface I18nViaConfig {
|
|
25
|
+
i18nFields?: Record<string, unknown>;
|
|
26
|
+
dictKeyFields?: Record<string, unknown>;
|
|
27
|
+
i18nDensifyFields?: Record<string, unknown>;
|
|
28
|
+
strategy: unknown;
|
|
29
|
+
defaultLocale?: string;
|
|
30
|
+
autoTranslateHook?: (...args: unknown[]) => Promise<string>;
|
|
31
|
+
dictLabelResolver?: (...args: unknown[]) => Promise<string | undefined>;
|
|
32
|
+
i18nPutValidator?: (record: unknown) => void;
|
|
33
|
+
collectionName: string;
|
|
34
|
+
}
|
|
35
|
+
export declare function i18nBinding(cfg: I18nViaConfig): ViaBinding;
|
|
36
|
+
export declare function linkI18nVia(): void;
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* i18nText schema type —
|
|
3
|
+
*
|
|
4
|
+
* `i18nText({ languages, required })` creates a descriptor for a
|
|
5
|
+
* multi-language content field whose value is stored as a
|
|
6
|
+
* `{ [locale]: string }` map (e.g. `{ en: 'Consulting', th: 'ที่ปรึกษา' }`).
|
|
7
|
+
*
|
|
8
|
+
* On put, the descriptor validates that required languages are present.
|
|
9
|
+
* On read (when a `locale` option is passed), the map is collapsed to the
|
|
10
|
+
* caller's locale string via the fallback chain.
|
|
11
|
+
*
|
|
12
|
+
* Design decisions
|
|
13
|
+
* ────────────────
|
|
14
|
+
*
|
|
15
|
+
* **Descriptor pattern (not a Zod type).**
|
|
16
|
+
* `i18nText()` returns a plain descriptor object used in the collection's
|
|
17
|
+
* `i18nFields` option — same pattern as `ref()` / `dictKey()`. This keeps
|
|
18
|
+
* `@noy-db/core` at zero runtime dependencies and avoids Zod v3 field-type
|
|
19
|
+
* constraints. TypeScript inference is handled via the descriptor's type.
|
|
20
|
+
*
|
|
21
|
+
* **Enforcement at the collection boundary.**
|
|
22
|
+
* The `required` option is checked by `Collection.put()` via the compartment's
|
|
23
|
+
* registered `i18nFields`. Failed validation throws `MissingTranslationError`
|
|
24
|
+
* — a distinct class from `SchemaValidationError` so callers can tell
|
|
25
|
+
* "wrong shape" from "missing translations".
|
|
26
|
+
*
|
|
27
|
+
* **Resolution is post-decryption.**
|
|
28
|
+
* Locale resolution happens AFTER `decryptRecord()`, as a pure in-memory
|
|
29
|
+
* transform. No additional crypto work is needed. The resolved record is
|
|
30
|
+
* returned in place of the stored one, with i18nText fields replaced by
|
|
31
|
+
* their locale-resolved strings.
|
|
32
|
+
*
|
|
33
|
+
* **`locale: 'raw'`.**
|
|
34
|
+
* Passing `{ locale: 'raw' }` skips resolution and returns the full
|
|
35
|
+
* `{ [locale]: string }` map — useful for bilingual exports, admin UIs,
|
|
36
|
+
* and any context where all translations must be visible at once.
|
|
37
|
+
*
|
|
38
|
+
* **Out of scope.**
|
|
39
|
+
* Pluralization, RTL rendering, date/number formatting, per-locale CRDT
|
|
40
|
+
* merging.
|
|
41
|
+
*/
|
|
42
|
+
import type { OnMissing, OnMissingPolicy, Layer } from './policy.js';
|
|
43
|
+
/** Flatten an intersection into a single object literal for nicer hovers. */
|
|
44
|
+
type Prettify<T> = {
|
|
45
|
+
[K in keyof T]: T[K];
|
|
46
|
+
} & {};
|
|
47
|
+
/**
|
|
48
|
+
* The stored shape of a multilingual field, inferred from its `required`
|
|
49
|
+
* mode — so the compiler forces you to handle an absent optional locale
|
|
50
|
+
* (`string | undefined`) instead of silently yielding `undefined`.
|
|
51
|
+
*
|
|
52
|
+
* Mirrors `i18nText({ languages, required })`:
|
|
53
|
+
* - `'all'` (default) — every locale required: `{ th: string; en: string }`
|
|
54
|
+
* - `'any'` — every locale optional: `{ th?: string; en?: string }`
|
|
55
|
+
* (the "at least one present" guarantee is runtime-only — not expressible
|
|
56
|
+
* in TypeScript — so each key is optional)
|
|
57
|
+
* - `readonly L[]` — listed locales required, the rest optional:
|
|
58
|
+
* `I18nMap<'th'|'en', ['th']>` → `{ th: string; en?: string }`
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```ts
|
|
62
|
+
* type Lang = 'th' | 'en'
|
|
63
|
+
* interface Contact {
|
|
64
|
+
* name: I18nMap<Lang, 'any'> // { th?: string; en?: string }
|
|
65
|
+
* legalName: I18nMap<Lang, ['th']> // { th: string; en?: string }
|
|
66
|
+
* slug: I18nMap<Lang> // { th: string; en: string }
|
|
67
|
+
* }
|
|
68
|
+
* ```
|
|
69
|
+
*
|
|
70
|
+
* @public
|
|
71
|
+
*/
|
|
72
|
+
export type I18nMap<Langs extends string, Required extends 'all' | 'any' | readonly Langs[] = 'all'> = Required extends 'all' ? Record<Langs, string> : Required extends 'any' ? Partial<Record<Langs, string>> : Required extends readonly (infer R extends Langs)[] ? Prettify<Record<R, string> & Partial<Record<Exclude<Langs, R>, string>>> : never;
|
|
73
|
+
/**
|
|
74
|
+
* Options for `i18nText()`.
|
|
75
|
+
*
|
|
76
|
+
* `languages` declares the full set of supported locales. `required`
|
|
77
|
+
* controls which must be present on every `put()`.
|
|
78
|
+
*
|
|
79
|
+
* `autoTranslate` is the per-field opt-in for the `plaintextTranslator`
|
|
80
|
+
* hook. When `true` and a `plaintextTranslator` is configured
|
|
81
|
+
* on `createNoydb()`, missing translations are generated before `put()`.
|
|
82
|
+
* Default: `false`.
|
|
83
|
+
*/
|
|
84
|
+
export interface I18nTextOptions {
|
|
85
|
+
/** All supported locale codes (BCP 47). */
|
|
86
|
+
readonly languages: readonly string[];
|
|
87
|
+
/**
|
|
88
|
+
* Which locales must be present on every `put()`.
|
|
89
|
+
*
|
|
90
|
+
* - `'all'` — every declared language must be present.
|
|
91
|
+
* - `'any'` — at least one declared language must be present.
|
|
92
|
+
* - `string[]` — listed locales are required; others are optional.
|
|
93
|
+
*/
|
|
94
|
+
readonly required: 'all' | 'any' | readonly string[];
|
|
95
|
+
/**
|
|
96
|
+
* Per-field opt-in for the `plaintextTranslator` hook.
|
|
97
|
+
* When `true`, missing required translations are auto-generated
|
|
98
|
+
* before `put()` if a translator is configured. Default: `false`.
|
|
99
|
+
*/
|
|
100
|
+
readonly autoTranslate?: boolean;
|
|
101
|
+
/**
|
|
102
|
+
* What to do when this field is resolved to a locale that is absent.
|
|
103
|
+
* A single policy, or a per-layer map (read/guard/join/mv/derivation/
|
|
104
|
+
* export). Default `'throw'` — today's behavior, zero breaking change.
|
|
105
|
+
* See {@link OnMissingPolicy}.
|
|
106
|
+
*
|
|
107
|
+
* NOTE (current wiring): ALL layers are enforced — `read` (`get`/`list`),
|
|
108
|
+
* `guard`, `derivation`, `mv`, `join`, `export`. Guard / derivation
|
|
109
|
+
* `ctx.vault` reads resolve under their own layer policy (`guard` defaults to
|
|
110
|
+
* the lenient `'substitute'`). The `mv` layer fires for materialized views
|
|
111
|
+
* that declare `{ i18nLocale, i18nFields }` — UNION (group-key i18n fields
|
|
112
|
+
* resolve before the unified-row bucketing) and query-form (resolved in
|
|
113
|
+
* `GroupedAggregation.run` before `groupAndReduce`); grouping a raw i18n field
|
|
114
|
+
* without a locale throws. The `join` layer resolves a joined right-side i18n
|
|
115
|
+
* field to the query locale (`toArray({ locale })` or the vault default; raw
|
|
116
|
+
* when locale-less). The `export` layer fires for
|
|
117
|
+
* `exportStream`/`exportJSON({ resolveLabels })` — records collapse to the
|
|
118
|
+
* export locale.
|
|
119
|
+
*/
|
|
120
|
+
readonly onMissing?: OnMissingPolicy;
|
|
121
|
+
/**
|
|
122
|
+
* Ordered preferred-substitute locales used when `onMissing` resolves
|
|
123
|
+
* to `'substitute'` and the target locale is absent. `'any'` as an
|
|
124
|
+
* element means "first non-empty value". A caller-supplied `fallback`
|
|
125
|
+
* at read time takes precedence over this declared list.
|
|
126
|
+
*/
|
|
127
|
+
readonly substitute?: readonly string[];
|
|
128
|
+
/**
|
|
129
|
+
* Smart-substitute. When `true`, a missing-locale `substitute` walk that
|
|
130
|
+
* misses the explicit chain prefers the available locale whose script is
|
|
131
|
+
* nearest the target (same script, then Latin) rather than an arbitrary value
|
|
132
|
+
* — e.g. a missing Thai label prefers another Thai (or Latin) translation over
|
|
133
|
+
* an unreadable script. Default `false` (legacy first-non-empty behavior).
|
|
134
|
+
*/
|
|
135
|
+
readonly smartSubstitute?: boolean;
|
|
136
|
+
/**
|
|
137
|
+
* Per-locale script enforcement (write-time). `'auto'` infers the
|
|
138
|
+
* allowed Unicode scripts per locale (asymmetric Latin tolerance); an
|
|
139
|
+
* object overrides per slot. Absent ⇒ no check. See `./script.ts`.
|
|
140
|
+
*/
|
|
141
|
+
readonly script?: 'auto' | Partial<Record<string, readonly string[]>>;
|
|
142
|
+
/**
|
|
143
|
+
* What to do when a slot's value contains characters outside its
|
|
144
|
+
* allowed script set. Default `'reject'`.
|
|
145
|
+
*/
|
|
146
|
+
readonly onScriptViolation?: 'reject' | 'filter' | 'warn';
|
|
147
|
+
/**
|
|
148
|
+
* Eager-fill empty locale slots from the substitute chain at
|
|
149
|
+
* write time, recording provenance in the internal `_i18nFilled` marker.
|
|
150
|
+
* Mutually exclusive with an EXPLICIT `'throw'` onMissing policy (densify
|
|
151
|
+
* fills every hole, so a throw would be unreachable). Without an explicit
|
|
152
|
+
* `substitute`, fills from `'any'` (first non-empty). Default absent.
|
|
153
|
+
*/
|
|
154
|
+
readonly densifyOnWrite?: boolean;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Descriptor returned by `i18nText()`. Attach to the collection's
|
|
158
|
+
* `i18nFields` option:
|
|
159
|
+
*
|
|
160
|
+
* ```ts
|
|
161
|
+
* const lineItems = company.collection<LineItem>('line-items', {
|
|
162
|
+
* i18nFields: {
|
|
163
|
+
* description: i18nText({ languages: ['en', 'th'], required: 'all' }),
|
|
164
|
+
* },
|
|
165
|
+
* })
|
|
166
|
+
* ```
|
|
167
|
+
*/
|
|
168
|
+
export interface I18nTextDescriptor {
|
|
169
|
+
readonly _noydbI18nText: true;
|
|
170
|
+
/** Via port brand marker — lets an `I18nTextDescriptor` satisfy the kernel's opaque `ViaDescriptor` (#623 Task 9). */
|
|
171
|
+
readonly _viaBrand: 'i18n';
|
|
172
|
+
readonly options: I18nTextOptions;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Create an `I18nTextDescriptor` for a multi-language content field.
|
|
176
|
+
*
|
|
177
|
+
* @param options Language list + enforcement mode.
|
|
178
|
+
*
|
|
179
|
+
* @example
|
|
180
|
+
* ```ts
|
|
181
|
+
* i18nText({ languages: ['en', 'th'], required: 'all' })
|
|
182
|
+
* i18nText({ languages: ['en', 'th'], required: ['th'], autoTranslate: true })
|
|
183
|
+
* ```
|
|
184
|
+
*/
|
|
185
|
+
export declare function i18nText(options: I18nTextOptions): I18nTextDescriptor;
|
|
186
|
+
export { isI18nTextDescriptor } from '../../port/with/i18n-strategy.js';
|
|
187
|
+
/**
|
|
188
|
+
* Validate that a value is a valid `{ [locale]: string }` map and that
|
|
189
|
+
* all required locales are present. Throws `MissingTranslationError`
|
|
190
|
+
* when the required constraint is violated.
|
|
191
|
+
*
|
|
192
|
+
* Called by `Collection.put()` for each registered `i18nField`.
|
|
193
|
+
*
|
|
194
|
+
* @param value The raw field value from the record being put.
|
|
195
|
+
* @param field The field name (used in the thrown error message).
|
|
196
|
+
* @param descriptor The `i18nText()` descriptor for this field.
|
|
197
|
+
*/
|
|
198
|
+
export declare function validateI18nTextValue(value: unknown, field: string, descriptor: I18nTextDescriptor): void;
|
|
199
|
+
/**
|
|
200
|
+
* Resolve an i18nText value (`{ [locale]: string }` map) to a string
|
|
201
|
+
* for the given locale.
|
|
202
|
+
*
|
|
203
|
+
* @param value The stored locale map.
|
|
204
|
+
* @param locale The requested locale code, or `'raw'` to return the map.
|
|
205
|
+
* @param fallback Single locale or ordered list; use `'any'` as the last
|
|
206
|
+
* element to fall back to any available translation.
|
|
207
|
+
* @param field Field name used in `LocaleNotSpecifiedError` messages.
|
|
208
|
+
* @returns The resolved string, OR the original map when `locale === 'raw'`.
|
|
209
|
+
*/
|
|
210
|
+
/** Options for the policy-aware form of {@link resolveI18nText}. */
|
|
211
|
+
export interface ResolveI18nOptions {
|
|
212
|
+
/** Effective policy for the resolution layer. Default `'throw'`. */
|
|
213
|
+
readonly policy?: OnMissing;
|
|
214
|
+
/** Declared substitute chain; applied only under policy `'substitute'`. */
|
|
215
|
+
readonly substitute?: readonly string[];
|
|
216
|
+
/**
|
|
217
|
+
* Smart-substitute. When `true` and policy is `'substitute'`, after the
|
|
218
|
+
* explicit chain misses, pick the available locale whose script is nearest the
|
|
219
|
+
* target (same script first, then Latin's broad readability) instead of an
|
|
220
|
+
* arbitrary value. Default `false`.
|
|
221
|
+
*/
|
|
222
|
+
readonly smartSubstitute?: boolean;
|
|
223
|
+
}
|
|
224
|
+
export declare function resolveI18nText(value: Record<string, string>, locale: string, fallback?: string | readonly string[], field?: string): string | Record<string, string>;
|
|
225
|
+
export declare function resolveI18nText(value: Record<string, string>, locale: string, fallback: string | readonly string[] | undefined, field: string | undefined, opts: ResolveI18nOptions): string | Record<string, string> | null;
|
|
226
|
+
export { getAtPath } from '../../kernel/paths.js';
|
|
227
|
+
/**
|
|
228
|
+
* Apply locale resolution to a single record, returning a new copy.
|
|
229
|
+
*
|
|
230
|
+
* For each field registered as an `i18nText` descriptor:
|
|
231
|
+
* - If `locale === 'raw'`, the field value is left as the stored map.
|
|
232
|
+
* - Otherwise, the field value is replaced with the resolved string.
|
|
233
|
+
*
|
|
234
|
+
* Field paths support dot notation (`'address.lineOne'`) and array
|
|
235
|
+
* wildcards (`'contacts[].title'`). Top-level fields work as before.
|
|
236
|
+
*
|
|
237
|
+
* @param record The decrypted record.
|
|
238
|
+
* @param i18nFields Map of field path → `I18nTextDescriptor`.
|
|
239
|
+
* @param locale The requested locale (or `'raw'`).
|
|
240
|
+
* @param fallback Fallback chain (optional).
|
|
241
|
+
* @param layer Resolution layer (default `'read'`). Each field's
|
|
242
|
+
* `onMissing` policy is resolved for this layer, so the
|
|
243
|
+
* same record resolves leniently on a get but strictly
|
|
244
|
+
* inside an mv/derivation.
|
|
245
|
+
*/
|
|
246
|
+
export declare function applyI18nLocale(record: Record<string, unknown>, i18nFields: Record<string, I18nTextDescriptor>, locale: string, fallback?: string | readonly string[], layer?: Layer): Record<string, unknown>;
|
|
247
|
+
/**
|
|
248
|
+
* Sync i18n-text-only present-for-join dressing — the exact `join`-layer
|
|
249
|
+
* partial application `kernel/query/join.ts` used to import and call
|
|
250
|
+
* directly before #626's retirement (#650 Task 6): fixes `fallback`
|
|
251
|
+
* `undefined` and `layer` `'join'`. `via/lookup/snapshot.ts`'s
|
|
252
|
+
* `buildPresentForJoin` composes this with the lookup-label half to build
|
|
253
|
+
* the `JoinableSource.presentForJoin` hook the join executor now calls
|
|
254
|
+
* instead of reaching into this module.
|
|
255
|
+
*/
|
|
256
|
+
export declare function presentI18nForJoin(record: Record<string, unknown>, i18nFields: Record<string, I18nTextDescriptor>, locale: string): Record<string, unknown>;
|
|
257
|
+
/**
|
|
258
|
+
* Remove the internal densify provenance marker (`_i18nFilled`) from a
|
|
259
|
+
* read-facing record. NON-mutating: returns the same object when the
|
|
260
|
+
* marker is absent, otherwise a shallow copy without the marker.
|
|
261
|
+
*
|
|
262
|
+
* MUST be applied on every user-facing read return — even locale-less ones,
|
|
263
|
+
* which bypass {@link applyI18nLocale}. MUST NOT be applied on the internal
|
|
264
|
+
* prior-read path (decryptRecord / resolveDensifyPrior), where densify needs
|
|
265
|
+
* the marker.
|
|
266
|
+
*/
|
|
267
|
+
export declare function stripI18nFilled<T extends Record<string, unknown>>(record: T): T;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { I18nTextDescriptor } from './core.js';
|
|
2
|
+
/**
|
|
3
|
+
* Per field, the locales that are UNCHANGED round-tripped densify fills — i.e.
|
|
4
|
+
* marked filled on the prior record AND identical in the incoming record.
|
|
5
|
+
* These are exempt from write-time script enforcement (they are derived copies,
|
|
6
|
+
* not authored text). Slots the user changed are NOT exempt (validated as authored).
|
|
7
|
+
*/
|
|
8
|
+
export declare function computeExemptFills(prior: Record<string, unknown> | undefined, incoming: Record<string, unknown>, fields: Record<string, I18nTextDescriptor>): Map<string, Set<string>>;
|
|
9
|
+
/**
|
|
10
|
+
* Mutate `record` in place: fill empty declared-language slots for each
|
|
11
|
+
* densify-enabled field from the field's substitute chain, recompute unchanged
|
|
12
|
+
* prior fills, clear marks for slots that became authored, and write the
|
|
13
|
+
* resulting `_i18nFilled` marker (removed when empty).
|
|
14
|
+
*
|
|
15
|
+
* `prior` is read-only — it is never mutated.
|
|
16
|
+
*
|
|
17
|
+
* Provenance uses value-equality (decision A): a slot counts as an unchanged
|
|
18
|
+
* fill when it was prior-marked AND its value still equals the prior value. A
|
|
19
|
+
* consequence is that re-authoring a value byte-identical to the existing fill
|
|
20
|
+
* keeps it classified as a fill (the visible value is unchanged either way; the
|
|
21
|
+
* slot stays script-exempt and will auto-refresh if its source later changes).
|
|
22
|
+
* This is inherent to value-equality provenance, not a bug.
|
|
23
|
+
*/
|
|
24
|
+
export declare function densify(record: Record<string, unknown>, prior: Record<string, unknown> | undefined, fields: Record<string, I18nTextDescriptor>): void;
|