@noy-db/hub 0.3.0-pre.9 → 0.4.0-pre.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/aggregate/index.js +5 -5
- package/dist/api-3A3S4SHH.js +20 -0
- package/dist/as/index.js +11 -11
- package/dist/attestation/index.js +18 -18
- package/dist/backup-YPUEKIJC.js +242 -0
- package/dist/backup-YPUEKIJC.js.map +1 -0
- package/dist/blobs/index.js +13 -11
- package/dist/blobs/index.js.map +1 -1
- package/dist/broker/index.js +92 -0
- package/dist/broker/index.js.map +1 -0
- package/dist/bundle/index.js +25 -22
- package/dist/bundle/index.js.map +1 -1
- package/dist/by/index.js +2 -2
- package/dist/cargo/index.js +31 -32
- package/dist/chunk-2PCAVW2I.js +50 -0
- package/dist/chunk-3ELCWU56.js +344 -0
- package/dist/chunk-3ELCWU56.js.map +1 -0
- package/dist/chunk-4GPE63GU.js +111 -0
- package/dist/chunk-4GPE63GU.js.map +1 -0
- package/dist/chunk-554KLAAN.js +778 -0
- package/dist/chunk-5PFOMHTB.js +135 -0
- package/dist/chunk-5WZXVULX.js +209 -0
- package/dist/chunk-6HPG2YNX.js +38 -0
- package/dist/chunk-6HY2X62D.js +69 -0
- package/dist/chunk-6NQMXTYC.js +123 -0
- package/dist/chunk-6XE5TMPR.js +367 -0
- package/dist/chunk-A4FXFAKF.js +45 -0
- package/dist/chunk-A5BDDEXK.js +1537 -0
- package/dist/chunk-A5BDDEXK.js.map +1 -0
- package/dist/chunk-ANATMTOA.js +205 -0
- package/dist/chunk-BOKIKJJB.js +94 -0
- package/dist/chunk-CJ5KKU6X.js +49 -0
- package/dist/chunk-CZTLE22N.js +381 -0
- package/dist/chunk-CZTLE22N.js.map +1 -0
- package/dist/chunk-DDHM2TLX.js +164 -0
- package/dist/chunk-DDHM2TLX.js.map +1 -0
- package/dist/chunk-DRWBEDYO.js +37 -0
- package/dist/chunk-DRWBEDYO.js.map +1 -0
- package/dist/chunk-DSBQODMZ.js +202 -0
- package/dist/chunk-EO43ANYJ.js +382 -0
- package/dist/chunk-EWPOHMN2.js +255 -0
- package/dist/chunk-FH52K7EG.js +50 -0
- package/dist/chunk-FH52K7EG.js.map +1 -0
- package/dist/chunk-FXZDAV62.js +826 -0
- package/dist/chunk-FXZDAV62.js.map +1 -0
- package/dist/chunk-GDG5VVYG.js +167 -0
- package/dist/chunk-GDG5VVYG.js.map +1 -0
- package/dist/chunk-GULTLPFB.js +621 -0
- package/dist/chunk-GULTLPFB.js.map +1 -0
- package/dist/chunk-GWKAVKHI.js +71 -0
- package/dist/chunk-H2KSZMIX.js +164 -0
- package/dist/chunk-HOONYZY2.js +404 -0
- package/dist/chunk-HQBM64EE.js +957 -0
- package/dist/chunk-HQBM64EE.js.map +1 -0
- package/dist/chunk-IAO54J4R.js +333 -0
- package/dist/chunk-IAO54J4R.js.map +1 -0
- package/dist/chunk-IFJTPAQQ.js +150 -0
- package/dist/chunk-IFJTPAQQ.js.map +1 -0
- package/dist/chunk-IGJCYUT5.js +99 -0
- package/dist/chunk-IGJCYUT5.js.map +1 -0
- package/dist/chunk-IK43HLDQ.js +739 -0
- package/dist/chunk-IK43HLDQ.js.map +1 -0
- package/dist/chunk-ISMV2QVG.js +54 -0
- package/dist/chunk-IY23KFNZ.js +95 -0
- package/dist/chunk-JBBSYJHP.js +129 -0
- package/dist/chunk-JFCV5QIK.js +117 -0
- package/dist/chunk-JK733I5V.js +23 -0
- package/dist/chunk-JK733I5V.js.map +1 -0
- package/dist/chunk-JRBNCUNT.js +371 -0
- package/dist/chunk-JRBNCUNT.js.map +1 -0
- package/dist/chunk-JVBO4SZL.js +29 -0
- package/dist/chunk-JVBO4SZL.js.map +1 -0
- package/dist/chunk-KPZS5QAQ.js +151 -0
- package/dist/chunk-KPZS5QAQ.js.map +1 -0
- package/dist/chunk-KS6SAVCZ.js +247 -0
- package/dist/chunk-KS6SAVCZ.js.map +1 -0
- package/dist/chunk-LVGTA624.js +480 -0
- package/dist/chunk-LVGTA624.js.map +1 -0
- package/dist/chunk-M75ZZHSR.js +30 -0
- package/dist/chunk-MT62YSPZ.js +392 -0
- package/dist/chunk-MT62YSPZ.js.map +1 -0
- package/dist/chunk-N6WF5PKC.js +29 -0
- package/dist/chunk-NCCBLYEB.js +150 -0
- package/dist/chunk-OCVM6KDH.js +99 -0
- package/dist/chunk-ONTBCHCP.js +80 -0
- package/dist/chunk-PK6JIDQ4.js +14425 -0
- package/dist/chunk-PK6JIDQ4.js.map +1 -0
- package/dist/chunk-QDPZWTN2.js +74 -0
- package/dist/chunk-QDPZWTN2.js.map +1 -0
- package/dist/chunk-R3BLCFD2.js +130 -0
- package/dist/chunk-RA5VTXXG.js +173 -0
- package/dist/chunk-RA5VTXXG.js.map +1 -0
- package/dist/chunk-RDXW3OBQ.js +21 -0
- package/dist/chunk-RFI7GGFO.js +230 -0
- package/dist/chunk-RJ6K6K5M.js +36 -0
- package/dist/chunk-RJ6K6K5M.js.map +1 -0
- package/dist/chunk-RNG4VRP4.js +75 -0
- package/dist/chunk-RTEK4C4I.js +41 -0
- package/dist/chunk-S3BFKGET.js +369 -0
- package/dist/chunk-S3BFKGET.js.map +1 -0
- package/dist/chunk-S6Q37VGE.js +30 -0
- package/dist/chunk-SMIRGMS7.js +30 -0
- package/dist/chunk-SMIRGMS7.js.map +1 -0
- package/dist/chunk-SV6EAJEP.js +86 -0
- package/dist/chunk-T36RFODW.js +180 -0
- package/dist/chunk-T36RFODW.js.map +1 -0
- package/dist/chunk-T3GY65MA.js +367 -0
- package/dist/chunk-TAGR72IR.js +515 -0
- package/dist/chunk-TAGR72IR.js.map +1 -0
- package/dist/chunk-THVIPWRF.js +495 -0
- package/dist/chunk-THVIPWRF.js.map +1 -0
- package/dist/chunk-TIGPQDYP.js +14 -0
- package/dist/chunk-U6JMEH2P.js +261 -0
- package/dist/chunk-UC2ETWF3.js +34 -0
- package/dist/chunk-UDSR4X4L.js +235 -0
- package/dist/chunk-UHNGNKLV.js +2782 -0
- package/dist/chunk-UHNGNKLV.js.map +1 -0
- package/dist/chunk-VAIS3SOM.js +74 -0
- package/dist/chunk-VCBHAE4R.js +124 -0
- package/dist/chunk-VCTXU4AT.js +32 -0
- package/dist/chunk-VCTXU4AT.js.map +1 -0
- package/dist/chunk-VEALDPHW.js +524 -0
- package/dist/chunk-VEALDPHW.js.map +1 -0
- package/dist/chunk-VKCADNMR.js +589 -0
- package/dist/chunk-VRBTNCM4.js +720 -0
- package/dist/chunk-VRBTNCM4.js.map +1 -0
- package/dist/chunk-VYYM3MEN.js +98 -0
- package/dist/chunk-VYYM3MEN.js.map +1 -0
- package/dist/chunk-W2OG6JOL.js +1554 -0
- package/dist/chunk-W2OG6JOL.js.map +1 -0
- package/dist/chunk-W4TCUGQR.js +1128 -0
- package/dist/chunk-W4TCUGQR.js.map +1 -0
- package/dist/chunk-WG4QBZDN.js +283 -0
- package/dist/chunk-WG4QBZDN.js.map +1 -0
- package/dist/chunk-WHXXI3W5.js +135 -0
- package/dist/chunk-WHXXI3W5.js.map +1 -0
- package/dist/chunk-WKGF2TJR.js +45 -0
- package/dist/chunk-WNGGJWF7.js +36 -0
- package/dist/chunk-WOM2HTML.js +59 -0
- package/dist/chunk-WQIYTNJV.js +70 -0
- package/dist/chunk-WZSHL6DQ.js +59 -0
- package/dist/chunk-XDIAFPUM.js +42 -0
- package/dist/chunk-XJMBYYQK.js +40 -0
- package/dist/chunk-XTHCN77N.js +91 -0
- package/dist/chunk-XUW3PXHU.js +248 -0
- package/dist/chunk-XUW3PXHU.js.map +1 -0
- package/dist/chunk-YCH5GBN6.js +99 -0
- package/dist/chunk-YTGDPCPW.js +155 -0
- package/dist/chunk-YZQOGE2L.js +23 -0
- package/dist/chunk-Z4PD65VQ.js +265 -0
- package/dist/chunk-Z4PD65VQ.js.map +1 -0
- package/dist/chunk-ZXEZCY6F.js +85 -0
- package/dist/classified/index.js +5 -5
- package/dist/classified-marker-QWMASIT7.js +28 -0
- package/dist/classified-marker-QWMASIT7.js.map +1 -0
- package/dist/collection-facade-KMBWNCYP.js +44 -0
- package/dist/computed-DSMPXG2Y.js +11 -0
- package/dist/consent/index.js +9 -9
- package/dist/cover-QJRXINN5.js +52 -0
- package/dist/crdt/index.js +1 -1
- package/dist/dead-filter-66VGI6JV.js +28 -0
- package/dist/delegation-SU6CV3W7.js +25 -0
- package/dist/derivations/index.js +12 -12
- package/dist/derive-6RWU4EOA.js +21 -0
- package/dist/enclave-TKPN2G2U.js +141 -0
- package/dist/executor-KGNLJD6M.js +9 -0
- package/dist/executor-UX4FASYZ.js +26 -0
- package/dist/executor-XGIS6CR7.js +9 -0
- package/dist/export-accessible-LKW3QV22.js +23 -0
- package/dist/extract-partition-UP2ARO75.js +38 -0
- package/dist/fanout-sidecar-B5LVUMQX.js +74 -0
- package/dist/find-YS6XWB46.js +11 -0
- package/dist/forget/index.js +10 -10
- package/dist/forget/index.js.map +1 -1
- package/dist/guards/index.js +6 -6
- package/dist/history/index.js +14 -11
- package/dist/history/index.js.map +1 -1
- package/dist/i18n/index.js +21 -19
- package/dist/i18n/index.js.map +1 -1
- package/dist/index.d.ts +310 -1493
- package/dist/index.js +331 -191
- package/dist/index.js.map +1 -1
- package/dist/indexing/index.js +7 -7
- package/dist/indexing/index.js.map +1 -1
- package/dist/issue-3ACYX7LO.js +19 -0
- package/dist/kernel/best-effort-revert.d.ts +52 -0
- package/dist/kernel/cache/index.d.ts +10 -0
- package/dist/kernel/cache/lru.d.ts +97 -0
- package/dist/kernel/cache/policy.d.ts +32 -0
- package/dist/kernel/collection-config.d.ts +809 -0
- package/dist/kernel/collection.d.ts +1522 -0
- package/dist/kernel/constants.d.ts +18 -0
- package/dist/kernel/debug.d.ts +25 -0
- package/dist/kernel/enclave/broker/proof.d.ts +154 -0
- package/dist/kernel/enclave/classify/bidx.d.ts +77 -0
- package/dist/kernel/enclave/classify/compare.d.ts +10 -0
- package/dist/kernel/enclave/classify/digest.d.ts +8 -0
- package/dist/kernel/enclave/classify/find.d.ts +36 -0
- package/dist/kernel/enclave/classify/kofn.d.ts +7 -0
- package/dist/kernel/enclave/classify/normalize.d.ts +7 -0
- package/dist/kernel/enclave/classify/reveal.d.ts +10 -0
- package/dist/kernel/enclave/classify/vdig.d.ts +39 -0
- package/dist/kernel/enclave/classify/verify.d.ts +36 -0
- package/dist/kernel/enclave/classify/write.d.ts +8 -0
- package/dist/kernel/enclave/crypto.d.ts +263 -0
- package/dist/kernel/enclave/index.d.ts +79 -0
- package/dist/kernel/enclave/record-keys/deterministic.d.ts +55 -0
- package/dist/kernel/enclave/record-keys/envelope-body.d.ts +79 -0
- package/dist/kernel/enclave/record-keys/lifecycle.d.ts +107 -0
- package/dist/kernel/enclave/record-keys/record-codec.d.ts +328 -0
- package/dist/kernel/enclave/record-keys/sealed-slot.d.ts +14 -0
- package/dist/kernel/enclave/record-keys/sealed-slots.d.ts +123 -0
- package/dist/kernel/enclave/record-keys/sealing.d.ts +70 -0
- package/dist/kernel/enclave/record-keys/tombstone.d.ts +57 -0
- package/dist/kernel/env-check.d.ts +1 -0
- package/dist/kernel/errors.d.ts +1927 -0
- package/dist/kernel/events.d.ts +11 -0
- package/dist/kernel/lazy-count.d.ts +13 -0
- package/dist/kernel/memory-store.d.ts +17 -0
- package/dist/kernel/mutation.d.ts +14 -0
- package/dist/kernel/noydb.d.ts +836 -0
- package/dist/kernel/paths.d.ts +25 -0
- package/dist/kernel/query/builder.d.ts +520 -0
- package/dist/kernel/query/index.d.ts +31 -0
- package/dist/kernel/query/join.d.ts +205 -0
- package/dist/kernel/query/live.d.ts +111 -0
- package/dist/kernel/query/predicate.d.ts +139 -0
- package/dist/kernel/query/scan-builder.d.ts +334 -0
- package/dist/kernel/refs.d.ts +205 -0
- package/dist/kernel/schema.d.ts +134 -0
- package/dist/kernel/sync-policy.d.ts +188 -0
- package/dist/kernel/tier-visibility.d.ts +54 -0
- package/dist/kernel/types.d.ts +3245 -0
- package/dist/kernel/util/discriminant.d.ts +58 -0
- package/dist/kernel/util/index.d.ts +14 -0
- package/dist/kernel/util/sanitize-filename.d.ts +75 -0
- package/dist/kernel/validation.d.ts +130 -0
- package/dist/kernel/vault.d.ts +1744 -0
- package/dist/kernel/via/compose.d.ts +144 -0
- package/dist/kernel/via/dispatch.d.ts +195 -0
- package/dist/kernel/via/graph-wiring.d.ts +145 -0
- package/dist/kernel/via/graph.d.ts +166 -0
- package/dist/kernel/via/index.d.ts +200 -0
- package/dist/kernel/via/pipeline.d.ts +266 -0
- package/dist/kernel/via/reconcile.d.ts +153 -0
- package/dist/kernel/via/taint-binding.d.ts +66 -0
- package/dist/kernel/write-queue.d.ts +46 -0
- package/dist/ledger-PTK7XZYT.js +42 -0
- package/dist/legacy/bundle.d.ts +30 -0
- package/dist/legacy/kernel.d.ts +33 -0
- package/dist/liberate-MQQXBUCY.js +24 -0
- package/dist/link-set-SLJHDNRB.js +31 -0
- package/dist/materialized-views/index.js +20 -17
- package/dist/noydb-ANIW5FLE.js +69 -0
- package/dist/on/index.js +9 -9
- package/dist/overlay-views/index.js +4 -4
- package/dist/periods/index.js +12 -12
- package/dist/pod/index.js +13 -11
- package/dist/policy-YDLCOX4P.js +41 -0
- package/dist/port/as/index.d.ts +26 -0
- package/dist/port/at/index.d.ts +18 -0
- package/dist/port/by/default-provider.d.ts +9 -0
- package/dist/port/by/index.d.ts +17 -0
- package/dist/port/by/types.d.ts +86 -0
- package/dist/port/in/index.d.ts +21 -0
- package/dist/port/on/index.d.ts +27 -0
- package/dist/port/to/index.d.ts +19 -0
- package/dist/port/ui/index.d.ts +21 -0
- package/dist/port/with/blob-strategy.d.ts +98 -0
- package/dist/port/with/broker-strategy.d.ts +84 -0
- package/dist/port/with/capabilities.d.ts +31 -0
- package/dist/port/with/classified-marker.d.ts +9 -0
- package/dist/port/with/classified-strategy.d.ts +62 -0
- package/dist/port/with/computed-strategy.d.ts +19 -0
- package/dist/port/with/i18n-strategy.d.ts +175 -0
- package/dist/port/with/index.d.ts +18 -0
- package/dist/port/with/lazy-strategy.d.ts +48 -0
- package/dist/port/with/lookup-strategy.d.ts +129 -0
- package/dist/port/with/service-bus.d.ts +156 -0
- package/dist/port/with/team-strategy.d.ts +36 -0
- package/dist/port/with/write-hooks.d.ts +34 -0
- package/dist/portability/index.js +8 -8
- package/dist/post-register-2YHSADFI.js +60 -0
- package/dist/post-register-2YHSADFI.js.map +1 -0
- package/dist/purge-scope-FGNNLWHD.js +24 -0
- package/dist/purge-scope-FGNNLWHD.js.map +1 -0
- package/dist/query/index.js +12 -10
- package/dist/read-only-facade-CHCKSEPD.js +8 -0
- package/dist/register-PAM3ASRZ.js +23 -0
- package/dist/registry-4S2U2TR4.js +19 -0
- package/dist/registry-NPOWJHC4.js +9 -0
- package/dist/registry-VZ3CCI2R.js +18 -0
- package/dist/request-withdrawal-DI3H5WUI.js +31 -0
- package/dist/reveal-HWO4YMTJ.js +38 -0
- package/dist/reveal-HWO4YMTJ.js.map +1 -0
- package/dist/revoke-R5CZSVUT.js +24 -0
- package/dist/satellites/index.js +1 -1
- package/dist/sealed-record/index.js +12 -12
- package/dist/seed-3ZMF5EQA.js +231 -0
- package/dist/seed-3ZMF5EQA.js.map +1 -0
- package/dist/session/index.js +9 -9
- package/dist/shadow/index.js +2 -2
- package/dist/signer-MBVHW4WE.js +25 -0
- package/dist/snapshots/index.js +10 -10
- package/dist/stale-VZL4OGUB.js +29 -0
- package/dist/storage-3MEJUENZ.js +23 -0
- package/dist/store-coordination-provider-FKX3F6TQ.js +142 -0
- package/dist/sync/index.js +9 -9
- package/dist/team/index.js +15 -15
- package/dist/tiers/index.js +14 -10
- package/dist/to/index.js +1 -2
- package/dist/tx/index.js +3 -3
- package/dist/util/index.js +1 -1
- package/dist/verify-26Y5GNMK.js +140 -0
- package/dist/verify-26Y5GNMK.js.map +1 -0
- package/dist/via/blob/active.d.ts +34 -0
- package/dist/via/blob/binding.d.ts +86 -0
- package/dist/via/blob/index.d.ts +34 -0
- package/dist/via/classified/active.d.ts +3 -0
- package/dist/via/classified/binding.d.ts +83 -0
- package/dist/via/classified/config-drift.d.ts +34 -0
- package/dist/via/classified/descriptor.d.ts +66 -0
- package/dist/via/classified/errors.d.ts +19 -0
- package/dist/via/classified/guards.d.ts +23 -0
- package/dist/via/classified/index.d.ts +11 -0
- package/dist/via/classified/presets.d.ts +65 -0
- package/dist/via/classified/resolve.d.ts +9 -0
- package/dist/via/classified/strategy.d.ts +11 -0
- package/dist/via/classified/validators.d.ts +3 -0
- package/dist/via/classified/write.d.ts +4 -0
- package/dist/via/computed/binding.d.ts +34 -0
- package/dist/via/computed/descriptor.d.ts +35 -0
- package/dist/via/i18n/active.d.ts +28 -0
- package/dist/via/i18n/binding.d.ts +36 -0
- package/dist/via/i18n/core.d.ts +267 -0
- package/dist/via/i18n/densify.d.ts +24 -0
- package/dist/via/i18n/dictionary.d.ts +200 -0
- package/dist/via/i18n/index.d.ts +21 -0
- package/dist/via/i18n/policy.d.ts +44 -0
- package/dist/via/i18n/script.d.ts +26 -0
- package/dist/via/i18n/strategy.d.ts +13 -0
- package/dist/via/lookup/active.d.ts +19 -0
- package/dist/via/lookup/binding.d.ts +99 -0
- package/dist/via/lookup/descriptor.d.ts +123 -0
- package/dist/via/lookup/handle.d.ts +220 -0
- package/dist/via/lookup/index.d.ts +17 -0
- package/dist/via/lookup/registry.d.ts +228 -0
- package/dist/via/lookup/snapshot.d.ts +67 -0
- package/dist/via/money/arith.d.ts +68 -0
- package/dist/via/money/binding.d.ts +21 -0
- package/dist/via/money/branded.d.ts +61 -0
- package/dist/via/money/descriptor.d.ts +73 -0
- package/dist/via/money/fixed-point.d.ts +51 -0
- package/dist/via/money/index.d.ts +15 -0
- package/dist/via/money/iso4217.d.ts +6 -0
- package/dist/via/money/money-reducer.d.ts +33 -0
- package/dist/via/money/normalize.d.ts +105 -0
- package/dist/via/money/paths.d.ts +61 -0
- package/dist/via/money/where.d.ts +127 -0
- package/dist/walk-IPLXE36W.js +241 -0
- package/dist/with/index.js +11 -11
- package/dist/with-audit/attestation/active.d.ts +10 -0
- package/dist/with-audit/attestation/index.d.ts +16 -0
- package/dist/with-audit/attestation/issue.d.ts +29 -0
- package/dist/with-audit/attestation/revoke.d.ts +15 -0
- package/dist/with-audit/attestation/signer.d.ts +33 -0
- package/dist/with-audit/attestation/strategy.d.ts +44 -0
- package/dist/with-audit/attestation/vault-facade.d.ts +62 -0
- package/dist/with-audit/consent/active.d.ts +14 -0
- package/dist/with-audit/consent/consent.d.ts +114 -0
- package/dist/with-audit/consent/index.d.ts +14 -0
- package/dist/with-audit/consent/strategy.d.ts +36 -0
- package/dist/with-audit/forget/active.d.ts +31 -0
- package/dist/with-audit/forget/index.d.ts +28 -0
- package/dist/with-audit/forget/purge-scope.d.ts +54 -0
- package/dist/with-audit/forget/strategy.d.ts +199 -0
- package/dist/with-audit/forget/subject-index.d.ts +83 -0
- package/dist/with-audit/guards/executor.d.ts +26 -0
- package/dist/with-audit/guards/immutable-guard.d.ts +63 -0
- package/dist/with-audit/guards/index.d.ts +10 -0
- package/dist/with-audit/guards/read-only-facade.d.ts +31 -0
- package/dist/with-audit/guards/registry.d.ts +83 -0
- package/dist/with-audit/guards/transition-guard.d.ts +82 -0
- package/dist/with-audit/guards/types.d.ts +134 -0
- package/dist/with-audit/guards/with-guard.d.ts +15 -0
- package/dist/with-audit/periods/active.d.ts +11 -0
- package/dist/with-audit/periods/index.d.ts +18 -0
- package/dist/with-audit/periods/periods.d.ts +417 -0
- package/dist/with-audit/periods/strategy.d.ts +32 -0
- package/dist/with-audit/periods/vault-facade.d.ts +95 -0
- package/dist/with-audit/portability/active.d.ts +11 -0
- package/dist/with-audit/portability/export-accessible.d.ts +46 -0
- package/dist/with-audit/portability/index.d.ts +18 -0
- package/dist/with-audit/portability/request-withdrawal.d.ts +85 -0
- package/dist/with-audit/portability/strategy.d.ts +31 -0
- package/dist/with-audit/portability/withdraw-accessible.d.ts +82 -0
- package/dist/with-audit/sealed-record/active.d.ts +9 -0
- package/dist/with-audit/sealed-record/index.d.ts +55 -0
- package/dist/with-audit/sealed-record/strategy.d.ts +34 -0
- package/dist/with-audit/sealed-record/types.d.ts +27 -0
- package/dist/with-audit/tiers/active.d.ts +9 -0
- package/dist/with-audit/tiers/index.d.ts +394 -0
- package/dist/with-audit/tiers/strategy.d.ts +36 -0
- package/dist/with-cargo/active.d.ts +11 -0
- package/dist/with-cargo/adopt-partition.d.ts +81 -0
- package/dist/with-cargo/decrypt-partition.d.ts +19 -0
- package/dist/with-cargo/describe-extraction.d.ts +41 -0
- package/dist/with-cargo/extract-partition.d.ts +155 -0
- package/dist/with-cargo/index.d.ts +33 -0
- package/dist/with-cargo/strategy.d.ts +30 -0
- package/dist/with-cargo/vault-diff.d.ts +144 -0
- package/dist/with-cargo/walk-closure.d.ts +67 -0
- package/dist/with-commit/crdt/active.d.ts +25 -0
- package/dist/with-commit/crdt/crdt.d.ts +42 -0
- package/dist/with-commit/crdt/index.d.ts +16 -0
- package/dist/with-commit/crdt/strategy.d.ts +25 -0
- package/dist/with-commit/history/active.d.ts +40 -0
- package/dist/with-commit/history/diff.d.ts +23 -0
- package/dist/with-commit/history/history.d.ts +73 -0
- package/dist/with-commit/history/index.d.ts +30 -0
- package/dist/with-commit/history/ledger/constants.d.ts +37 -0
- package/dist/with-commit/history/ledger/entry.d.ts +195 -0
- package/dist/with-commit/history/ledger/hash.d.ts +30 -0
- package/dist/with-commit/history/ledger/index.d.ts +19 -0
- package/dist/with-commit/history/ledger/patch.d.ts +99 -0
- package/dist/with-commit/history/ledger/store.d.ts +356 -0
- package/dist/with-commit/history/strategy.d.ts +136 -0
- package/dist/with-commit/history/time-machine.d.ts +202 -0
- package/dist/with-commit/numbering/descriptor.d.ts +27 -0
- package/dist/with-commit/numbering/index.d.ts +69 -0
- package/dist/with-commit/sequence/active.d.ts +10 -0
- package/dist/with-commit/sequence/index.d.ts +150 -0
- package/dist/with-commit/sequence/strategy.d.ts +26 -0
- package/dist/with-commit/tx/active.d.ts +27 -0
- package/dist/with-commit/tx/dry-run.d.ts +29 -0
- package/dist/with-commit/tx/elevated-handle.d.ts +59 -0
- package/dist/with-commit/tx/index.d.ts +13 -0
- package/dist/with-commit/tx/invariants.d.ts +68 -0
- package/dist/with-commit/tx/strategy.d.ts +23 -0
- package/dist/with-commit/tx/transaction.d.ts +212 -0
- package/dist/with-fork/archive/engine.d.ts +71 -0
- package/dist/with-fork/archive/index.d.ts +23 -0
- package/dist/with-fork/shadow/active.d.ts +6 -0
- package/dist/with-fork/shadow/index.d.ts +14 -0
- package/dist/with-fork/shadow/strategy.d.ts +28 -0
- package/dist/with-fork/shadow/vault-frame.d.ts +93 -0
- package/dist/with-fork/snapshots/active.d.ts +20 -0
- package/dist/with-fork/snapshots/engine.d.ts +36 -0
- package/dist/with-fork/snapshots/index.d.ts +5 -0
- package/dist/with-fork/snapshots/noydb-facade.d.ts +64 -0
- package/dist/with-fork/snapshots/policy.d.ts +23 -0
- package/dist/with-fork/snapshots/scheduler.d.ts +34 -0
- package/dist/with-fork/snapshots/strategy.d.ts +48 -0
- package/dist/with-formula/computed/index.d.ts +48 -0
- package/dist/with-formula/computed/lazy.d.ts +13 -0
- package/dist/with-formula/derivations/executor.d.ts +61 -0
- package/dist/with-formula/derivations/fanout-sidecar.d.ts +75 -0
- package/dist/with-formula/derivations/index.d.ts +6 -0
- package/dist/with-formula/derivations/registry.d.ts +67 -0
- package/dist/with-formula/derivations/stale.d.ts +39 -0
- package/dist/with-formula/derivations/strategy-hash.d.ts +1 -0
- package/dist/with-formula/derivations/types.d.ts +248 -0
- package/dist/with-formula/derivations/with-derivation.d.ts +10 -0
- package/dist/with-formula/derivations/with-rollup.d.ts +34 -0
- package/dist/with-formula/materialized-views/dependency-analyzer.d.ts +73 -0
- package/dist/with-formula/materialized-views/executor.d.ts +80 -0
- package/dist/with-formula/materialized-views/index.d.ts +11 -0
- package/dist/with-formula/materialized-views/query-hash.d.ts +23 -0
- package/dist/with-formula/materialized-views/registry.d.ts +128 -0
- package/dist/with-formula/materialized-views/stale.d.ts +113 -0
- package/dist/with-formula/materialized-views/types.d.ts +399 -0
- package/dist/with-formula/materialized-views/with-materialized-view.d.ts +28 -0
- package/dist/with-formula/overlay-views/index.d.ts +5 -0
- package/dist/with-formula/overlay-views/registry.d.ts +42 -0
- package/dist/with-formula/overlay-views/types.d.ts +97 -0
- package/dist/with-formula/overlay-views/virtual-collection.d.ts +90 -0
- package/dist/with-formula/overlay-views/with-overlayed-view.d.ts +9 -0
- package/dist/with-lookup/aggregate/active.d.ts +33 -0
- package/dist/with-lookup/aggregate/aggregation.d.ts +166 -0
- package/dist/with-lookup/aggregate/canonical-key.d.ts +16 -0
- package/dist/with-lookup/aggregate/groupby.d.ts +280 -0
- package/dist/with-lookup/aggregate/index.d.ts +23 -0
- package/dist/with-lookup/aggregate/reducers.d.ts +257 -0
- package/dist/with-lookup/aggregate/strategy.d.ts +59 -0
- package/dist/with-lookup/embeddings/cosine.d.ts +2 -0
- package/dist/with-lookup/embeddings/descriptor.d.ts +8 -0
- package/dist/with-lookup/embeddings/index.d.ts +4 -0
- package/dist/with-lookup/embeddings/vec-id.d.ts +47 -0
- package/dist/with-lookup/embeddings/vector-set.d.ts +19 -0
- package/dist/with-lookup/indexing/active.d.ts +30 -0
- package/dist/with-lookup/indexing/collection-facade.d.ts +157 -0
- package/dist/with-lookup/indexing/eager-indexes.d.ts +122 -0
- package/dist/with-lookup/indexing/index.d.ts +27 -0
- package/dist/with-lookup/indexing/lazy-builder.d.ts +102 -0
- package/dist/with-lookup/indexing/persisted-indexes.d.ts +229 -0
- package/dist/with-lookup/indexing/strategy.d.ts +56 -0
- package/dist/with-lookup/indexing/unique-constraints.d.ts +74 -0
- package/dist/with-lookup/search/active.d.ts +10 -0
- package/dist/with-lookup/search/build-docs.d.ts +15 -0
- package/dist/with-lookup/search/collection-facade.d.ts +163 -0
- package/dist/with-lookup/search/fuse.d.ts +22 -0
- package/dist/with-lookup/search/index-store.d.ts +19 -0
- package/dist/with-lookup/search/index.d.ts +19 -0
- package/dist/with-lookup/search/inverted-index.d.ts +47 -0
- package/dist/with-lookup/search/persisted-index-store.d.ts +121 -0
- package/dist/with-lookup/search/retrieve-types.d.ts +29 -0
- package/dist/with-lookup/search/scan.d.ts +28 -0
- package/dist/with-lookup/search/segment.d.ts +15 -0
- package/dist/with-lookup/search/serialize.d.ts +4 -0
- package/dist/with-lookup/search/snippet.d.ts +5 -0
- package/dist/with-lookup/search/strategy.d.ts +41 -0
- package/dist/with-lookup/search/tokenize.d.ts +12 -0
- package/dist/with-party/auth-introspection/index.d.ts +44 -0
- package/dist/with-party/broker/active.d.ts +23 -0
- package/dist/with-party/broker/index.d.ts +28 -0
- package/dist/with-party/broker/seed.d.ts +77 -0
- package/dist/with-party/custody/active.d.ts +10 -0
- package/dist/with-party/custody/index.d.ts +69 -0
- package/dist/with-party/custody/liberate.d.ts +64 -0
- package/dist/with-party/custody/strategy.d.ts +48 -0
- package/dist/with-party/directory/cover/custom.d.ts +34 -0
- package/dist/with-party/directory/cover/index.d.ts +19 -0
- package/dist/with-party/directory/cover/schema.d.ts +39 -0
- package/dist/with-party/directory/cover/storage.d.ts +71 -0
- package/dist/with-party/directory/cover/types.d.ts +149 -0
- package/dist/with-party/directory/index.d.ts +11 -0
- package/dist/with-party/directory/storage.d.ts +33 -0
- package/dist/with-party/directory/types.d.ts +43 -0
- package/dist/with-party/directory/user-envelope/api.d.ts +201 -0
- package/dist/with-party/directory/user-envelope/index.d.ts +12 -0
- package/dist/with-party/directory/user-envelope/storage.d.ts +54 -0
- package/dist/with-party/directory/visibility.d.ts +47 -0
- package/dist/with-party/policy/engine.d.ts +60 -0
- package/dist/with-party/policy/index.d.ts +15 -0
- package/dist/with-party/policy/noydb-facade.d.ts +39 -0
- package/dist/with-party/policy/presets.d.ts +38 -0
- package/dist/with-party/policy/storage.d.ts +31 -0
- package/dist/with-party/session/active.d.ts +34 -0
- package/dist/with-party/session/dev-unlock.d.ts +128 -0
- package/dist/with-party/session/index.d.ts +23 -0
- package/dist/with-party/session/session-policy.d.ts +92 -0
- package/dist/with-party/session/session.d.ts +131 -0
- package/dist/with-party/session/strategy.d.ts +42 -0
- package/dist/with-party/session/unlock-state.d.ts +47 -0
- package/dist/with-party/sync/index.d.ts +31 -0
- package/dist/with-party/tab-coordination.d.ts +73 -0
- package/dist/with-party/tab-write-relay.d.ts +39 -0
- package/dist/with-party/team/active.d.ts +13 -0
- package/dist/with-party/team/authenticators.d.ts +95 -0
- package/dist/with-party/team/deed.d.ts +97 -0
- package/dist/with-party/team/delegation.d.ts +88 -0
- package/dist/with-party/team/index.d.ts +38 -0
- package/dist/with-party/team/keyring.d.ts +318 -0
- package/dist/with-party/team/magic-link-grant.d.ts +152 -0
- package/dist/with-party/team/managed-passphrase.d.ts +280 -0
- package/dist/with-party/team/noydb-facade.d.ts +484 -0
- package/dist/with-party/team/peer-recover.d.ts +81 -0
- package/dist/with-party/team/presence.d.ts +81 -0
- package/dist/with-party/team/recovery.d.ts +191 -0
- package/dist/with-party/team/reserved-secret-collections.d.ts +41 -0
- package/dist/with-party/team/rotate-recover.d.ts +275 -0
- package/dist/with-party/team/shamir-recovery-provider.d.ts +15 -0
- package/dist/with-party/team/strategy.d.ts +9 -0
- package/dist/with-party/team/sync-active.d.ts +33 -0
- package/dist/with-party/team/sync-credentials.d.ts +113 -0
- package/dist/with-party/team/sync-strategy.d.ts +67 -0
- package/dist/with-party/team/sync-transaction.d.ts +39 -0
- package/dist/with-party/team/sync.d.ts +174 -0
- package/dist/with-party/team/tiers.d.ts +39 -0
- package/dist/with-party/team/wrapped-deks.d.ts +86 -0
- package/dist/with-pod/backup.d.ts +74 -0
- package/dist/with-pod/bundle.d.ts +416 -0
- package/dist/with-pod/format.d.ts +207 -0
- package/dist/with-pod/index.d.ts +21 -0
- package/dist/with-pod/pod-store.d.ts +54 -0
- package/dist/with-pod/ulid.d.ts +64 -0
- package/dist/with-shape/blobs/blob-compaction.d.ts +170 -0
- package/dist/with-shape/blobs/blob-intent.d.ts +153 -0
- package/dist/with-shape/blobs/blob-set.d.ts +1286 -0
- package/dist/with-shape/blobs/export-blobs.d.ts +110 -0
- package/dist/with-shape/blobs/import-external.d.ts +50 -0
- package/dist/with-shape/blobs/mime-magic.d.ts +48 -0
- package/dist/with-shape/blobs/object-projection.d.ts +70 -0
- package/dist/with-shape/introspection/describe.d.ts +237 -0
- package/dist/with-shape/introspection/field-meta.d.ts +61 -0
- package/dist/with-shape/introspection/fields.d.ts +14 -0
- package/dist/with-shape/introspection/index.d.ts +12 -0
- package/dist/with-shape/introspection/json-schema.d.ts +13 -0
- package/dist/with-shape/introspection/meta.d.ts +22 -0
- package/dist/with-shape/introspection/projection.d.ts +13 -0
- package/dist/with-shape/introspection/types.d.ts +154 -0
- package/dist/with-shape/introspection/walk.d.ts +50 -0
- package/dist/with-shape/links/lazy-handle.d.ts +36 -0
- package/dist/with-shape/links/link-set.d.ts +67 -0
- package/dist/with-shape/links/names.d.ts +65 -0
- package/dist/with-shape/links/vault-facade.d.ts +211 -0
- package/dist/with-shape/persisted-schemas/canonicalize.d.ts +11 -0
- package/dist/with-shape/persisted-schemas/derive.d.ts +29 -0
- package/dist/with-shape/persisted-schemas/index.d.ts +21 -0
- package/dist/with-shape/persisted-schemas/register.d.ts +66 -0
- package/dist/with-shape/persisted-schemas/storage.d.ts +61 -0
- package/dist/with-shape/persisted-schemas/types.d.ts +54 -0
- package/dist/with-shape/satellites/dead-filter.d.ts +21 -0
- package/dist/with-shape/satellites/declare.d.ts +60 -0
- package/dist/with-shape/satellites/existence.d.ts +5 -0
- package/dist/with-shape/satellites/fanout.d.ts +38 -0
- package/dist/with-shape/satellites/forget.d.ts +47 -0
- package/dist/with-shape/satellites/index.d.ts +3 -0
- package/dist/with-shape/satellites/joined.d.ts +19 -0
- package/dist/with-shape/satellites/marker.d.ts +10 -0
- package/dist/with-shape/satellites/migrate-cek.d.ts +26 -0
- package/dist/with-shape/satellites/post-register.d.ts +6 -0
- package/dist/with-shape/satellites/proxy.d.ts +37 -0
- package/dist/with-shape/satellites/raw-target.d.ts +14 -0
- package/dist/with-shape/satellites/registry.d.ts +19 -0
- package/dist/with-shape/satellites/types.d.ts +37 -0
- package/dist/with-shape/satellites/validate.d.ts +17 -0
- package/dist/with-shape/schema-update/client-registry.d.ts +35 -0
- package/dist/with-shape/schema-update/cutover.d.ts +5 -0
- package/dist/with-shape/schema-update/delta.d.ts +2 -0
- package/dist/with-shape/schema-update/dispatch.d.ts +3 -0
- package/dist/with-shape/schema-update/fence-controller.d.ts +62 -0
- package/dist/with-shape/schema-update/fence-watcher.d.ts +37 -0
- package/dist/with-shape/schema-update/fence.d.ts +15 -0
- package/dist/with-shape/schema-update/gate.d.ts +16 -0
- package/dist/with-shape/schema-update/index.d.ts +6 -0
- package/dist/with-shape/schema-update/store-coordination-provider.d.ts +29 -0
- package/dist/with-shape/schema-update/strategies.d.ts +12 -0
- package/dist/with-shape/schema-update/types.d.ts +53 -0
- package/dist/with-store/index.d.ts +15 -0
- package/dist/with-store/lazy/active.d.ts +12 -0
- package/dist/with-store/lazy/index.d.ts +14 -0
- package/dist/with-store/lazy/strategy.d.ts +9 -0
- package/dist/with-store/route-store.d.ts +259 -0
- package/dist/with-store/store-middleware.d.ts +189 -0
- package/dist/withdraw-accessible-TZDATQVR.js +28 -0
- package/package.json +47 -55
- package/dist/adapter/index.d.ts +0 -4
- package/dist/adapter/index.js +0 -15
- package/dist/aggregate/index.d.ts +0 -41
- package/dist/api-HV4PDUWF.js +0 -20
- package/dist/as/index.d.ts +0 -6
- package/dist/at/index.d.ts +0 -4
- package/dist/attestation/index.d.ts +0 -19
- package/dist/backup-ODXO7OGA.js +0 -225
- package/dist/backup-ODXO7OGA.js.map +0 -1
- package/dist/blobs/index.d.ts +0 -43
- package/dist/bundle/index.d.ts +0 -121
- package/dist/bundle-DlSxo31R.d.ts +0 -548
- package/dist/by/index.d.ts +0 -1
- package/dist/cargo/index.d.ts +0 -8
- package/dist/chunk-2644KEGW.js +0 -247
- package/dist/chunk-2644KEGW.js.map +0 -1
- package/dist/chunk-2HVUKRNE.js +0 -21
- package/dist/chunk-2KOSJTMU.js +0 -69
- package/dist/chunk-2UQ4RMHV.js +0 -167
- package/dist/chunk-2UQ4RMHV.js.map +0 -1
- package/dist/chunk-2XE6LIXT.js +0 -515
- package/dist/chunk-2XE6LIXT.js.map +0 -1
- package/dist/chunk-34RRRIC3.js +0 -71
- package/dist/chunk-3C5CKXFI.js +0 -621
- package/dist/chunk-3C5CKXFI.js.map +0 -1
- package/dist/chunk-3I4KYWNP.js +0 -30
- package/dist/chunk-42KVY3OC.js +0 -86
- package/dist/chunk-4C4WBS4V.js +0 -13822
- package/dist/chunk-4C4WBS4V.js.map +0 -1
- package/dist/chunk-4G3IT7J7.js +0 -280
- package/dist/chunk-4G3IT7J7.js.map +0 -1
- package/dist/chunk-4RQ62VSR.js +0 -53
- package/dist/chunk-4RQ62VSR.js.map +0 -1
- package/dist/chunk-4ZSGSRBI.js +0 -1221
- package/dist/chunk-4ZSGSRBI.js.map +0 -1
- package/dist/chunk-5GAX2QOH.js +0 -132
- package/dist/chunk-5GAX2QOH.js.map +0 -1
- package/dist/chunk-5SAZMBW7.js +0 -202
- package/dist/chunk-5TZZUL5X.js +0 -30
- package/dist/chunk-6CU3FN74.js +0 -777
- package/dist/chunk-6G2SCQYS.js +0 -29
- package/dist/chunk-6G2SCQYS.js.map +0 -1
- package/dist/chunk-6MWUANRF.js +0 -29
- package/dist/chunk-6S7T6WC4.js +0 -111
- package/dist/chunk-6S7T6WC4.js.map +0 -1
- package/dist/chunk-6ULCYCMU.js +0 -74
- package/dist/chunk-7HAPHVRJ.js +0 -1695
- package/dist/chunk-7HAPHVRJ.js.map +0 -1
- package/dist/chunk-7IZQTCTR.js +0 -382
- package/dist/chunk-7ZANJ6JZ.js +0 -265
- package/dist/chunk-7ZANJ6JZ.js.map +0 -1
- package/dist/chunk-A2APWS32.js +0 -150
- package/dist/chunk-A2APWS32.js.map +0 -1
- package/dist/chunk-A4MAD6PO.js +0 -99
- package/dist/chunk-ANDBBA2P.js +0 -36
- package/dist/chunk-ANDBBA2P.js.map +0 -1
- package/dist/chunk-AUR7MRHA.js +0 -404
- package/dist/chunk-AYGZMQP5.js +0 -75
- package/dist/chunk-BGIZAFY7.js +0 -1
- package/dist/chunk-CJEMA2Z6.js +0 -230
- package/dist/chunk-CTSFKDGA.js +0 -40
- package/dist/chunk-CU62BBRB.js +0 -1465
- package/dist/chunk-CU62BBRB.js.map +0 -1
- package/dist/chunk-CWCCYH34.js +0 -23
- package/dist/chunk-DEYAO3N6.js +0 -589
- package/dist/chunk-DFIBOSOQ.js +0 -85
- package/dist/chunk-E5AHO65E.js +0 -150
- package/dist/chunk-FC3XK5JT.js +0 -99
- package/dist/chunk-FGOGS7CE.js +0 -662
- package/dist/chunk-FGOGS7CE.js.map +0 -1
- package/dist/chunk-GX2BYNCT.js +0 -117
- package/dist/chunk-GZ2MOPVX.js +0 -291
- package/dist/chunk-GZ2MOPVX.js.map +0 -1
- package/dist/chunk-H57P2SJB.js +0 -126
- package/dist/chunk-H57P2SJB.js.map +0 -1
- package/dist/chunk-HBTT7YQX.js +0 -94
- package/dist/chunk-HOCEGVGQ.js +0 -36
- package/dist/chunk-ICV32FPK.js +0 -50
- package/dist/chunk-IIP5WFVT.js +0 -462
- package/dist/chunk-IIP5WFVT.js.map +0 -1
- package/dist/chunk-IUKGIB2Q.js +0 -91
- package/dist/chunk-IWTYFS3D.js +0 -129
- package/dist/chunk-JC5R7P44.js +0 -355
- package/dist/chunk-JC5R7P44.js.map +0 -1
- package/dist/chunk-K2WCO3NX.js +0 -1
- package/dist/chunk-KBBWY46Y.js +0 -14
- package/dist/chunk-KBF5GSGX.js +0 -367
- package/dist/chunk-KCG3BHFG.js +0 -99
- package/dist/chunk-KCG3BHFG.js.map +0 -1
- package/dist/chunk-KNXN47MO.js +0 -155
- package/dist/chunk-KNXN47MO.js.map +0 -1
- package/dist/chunk-KWLD2D75.js +0 -38
- package/dist/chunk-KXKLKJW4.js +0 -49
- package/dist/chunk-KYC4LIEU.js +0 -123
- package/dist/chunk-LEOXZY36.js +0 -130
- package/dist/chunk-M5I354EE.js +0 -235
- package/dist/chunk-MK2BSS44.js +0 -34
- package/dist/chunk-MSVY7ULZ.js +0 -70
- package/dist/chunk-NNWK3PSY.js +0 -135
- package/dist/chunk-NSZ6J5DF.js +0 -59
- package/dist/chunk-NUEFXLZU.js +0 -59
- package/dist/chunk-NYVQCZ54.js +0 -261
- package/dist/chunk-OQAODTYR.js +0 -45
- package/dist/chunk-OV4CMJGR.js +0 -164
- package/dist/chunk-PEDZFFKW.js +0 -41
- package/dist/chunk-PF3FQCCF.js +0 -164
- package/dist/chunk-PF3FQCCF.js.map +0 -1
- package/dist/chunk-Q2KVKTC2.js +0 -823
- package/dist/chunk-Q2KVKTC2.js.map +0 -1
- package/dist/chunk-QJR3W3MF.js +0 -23
- package/dist/chunk-QJR3W3MF.js.map +0 -1
- package/dist/chunk-QTXQ6RNZ.js +0 -255
- package/dist/chunk-RJ5522XX.js +0 -453
- package/dist/chunk-RJ5522XX.js.map +0 -1
- package/dist/chunk-RMUXPHIH.js +0 -930
- package/dist/chunk-RMUXPHIH.js.map +0 -1
- package/dist/chunk-S6AQXDN4.js +0 -155
- package/dist/chunk-SSFC3IYA.js +0 -275
- package/dist/chunk-SSFC3IYA.js.map +0 -1
- package/dist/chunk-SZCHEDML.js +0 -209
- package/dist/chunk-TDPEJINP.js +0 -188
- package/dist/chunk-TDPEJINP.js.map +0 -1
- package/dist/chunk-TQ3REHVF.js +0 -95
- package/dist/chunk-TQ3REHVF.js.map +0 -1
- package/dist/chunk-UNJU345Q.js +0 -32
- package/dist/chunk-UNJU345Q.js.map +0 -1
- package/dist/chunk-V7RNIND6.js +0 -265
- package/dist/chunk-V7RNIND6.js.map +0 -1
- package/dist/chunk-VJ3NQK4K.js +0 -205
- package/dist/chunk-WNA6T3MA.js +0 -686
- package/dist/chunk-WNA6T3MA.js.map +0 -1
- package/dist/chunk-WVCQ75OK.js +0 -124
- package/dist/chunk-WXSYDNBT.js +0 -39
- package/dist/chunk-WXSYDNBT.js.map +0 -1
- package/dist/chunk-X66MXMR5.js +0 -42
- package/dist/chunk-XHD3L3JO.js +0 -930
- package/dist/chunk-XHD3L3JO.js.map +0 -1
- package/dist/chunk-XJK2WIYN.js +0 -430
- package/dist/chunk-XJK2WIYN.js.map +0 -1
- package/dist/chunk-XQ7UYPVN.js +0 -95
- package/dist/chunk-Y2OCKFZ3.js +0 -80
- package/dist/chunk-YBFOBRTO.js +0 -367
- package/dist/chunk-YLN33ADH.js +0 -97
- package/dist/chunk-YLN33ADH.js.map +0 -1
- package/dist/chunk-Z5YFRMG5.js +0 -45
- package/dist/chunk-ZWQFOXBR.js +0 -54
- package/dist/classified/index.d.ts +0 -16
- package/dist/classified-marker-IO5EBW7Q.js +0 -24
- package/dist/classified-marker-IO5EBW7Q.js.map +0 -1
- package/dist/collection-facade-3RAXG2OU.js +0 -38
- package/dist/computed-R62HGCO4.js +0 -11
- package/dist/consent/index.d.ts +0 -22
- package/dist/crdt/index.d.ts +0 -33
- package/dist/dead-filter-VNA4M3GP.js +0 -28
- package/dist/decrypt-partition-IHtxEnTi.d.ts +0 -21
- package/dist/delegation-ZKII5UBI.js +0 -25
- package/dist/derivations/index.d.ts +0 -69
- package/dist/derive-5D2C3WG4.js +0 -21
- package/dist/describe/index.d.ts +0 -4
- package/dist/describe/index.js +0 -1
- package/dist/dev-unlock-DDTafVO6.d.ts +0 -263
- package/dist/discriminant-BN9REW3o.d.ts +0 -60
- package/dist/enclave-EUBEJGPG.js +0 -125
- package/dist/executor-IL7SRNUZ.js +0 -23
- package/dist/executor-OUA2Y6YC.js +0 -9
- package/dist/executor-WAEI6PDV.js +0 -9
- package/dist/export-accessible-O55RKAGC.js +0 -23
- package/dist/extract-partition-VBGCBA6Q.js +0 -36
- package/dist/fanout-sidecar-CI5BCMQM.js +0 -74
- package/dist/find-FISGUWSK.js +0 -11
- package/dist/forget/index.d.ts +0 -36
- package/dist/guards/index.d.ts +0 -34
- package/dist/hash-DBkZfIBW.d.ts +0 -72
- package/dist/history/index.d.ts +0 -60
- package/dist/i18n/index.d.ts +0 -56
- package/dist/in/index.d.ts +0 -4
- package/dist/index-B9QdHytu.d.ts +0 -123
- package/dist/index-CyclmyDr.d.ts +0 -122
- package/dist/index-DzhNI2vE.d.ts +0 -23260
- package/dist/indexing/index.d.ts +0 -38
- package/dist/issue-EQAWIYFQ.js +0 -19
- package/dist/kernel/index.d.ts +0 -31
- package/dist/kernel/index.js +0 -60
- package/dist/lazy/index.d.ts +0 -20
- package/dist/ledger-AJA2SR3C.js +0 -42
- package/dist/liberate-SEGR4JLY.js +0 -24
- package/dist/link-set-YBAC2DQT.js +0 -31
- package/dist/materialized-views/index.d.ts +0 -182
- package/dist/mime-magic-CbV1quyp.d.ts +0 -103
- package/dist/noydb-AMEOU456.js +0 -65
- package/dist/on/index.d.ts +0 -4
- package/dist/overlay-views/index.d.ts +0 -97
- package/dist/periods/index.d.ts +0 -19
- package/dist/pod/index.d.ts +0 -62
- package/dist/policy-SDGRWVIL.js +0 -41
- package/dist/portability/index.d.ts +0 -19
- package/dist/post-register-MROIUA5O.js +0 -55
- package/dist/post-register-MROIUA5O.js.map +0 -1
- package/dist/public-envelope-J5PLQOW2.js +0 -32
- package/dist/query/index.d.ts +0 -4
- package/dist/read-only-facade-UCYNRE56.js +0 -8
- package/dist/register-OVJKW7BS.js +0 -23
- package/dist/registry-5RJSK5AJ.js +0 -9
- package/dist/registry-DQRNTWRL.js +0 -18
- package/dist/registry-LTGLERS7.js +0 -19
- package/dist/request-withdrawal-27O77D2V.js +0 -31
- package/dist/reveal-LT3I2K4P.js +0 -38
- package/dist/reveal-LT3I2K4P.js.map +0 -1
- package/dist/revoke-4N45G7D2.js +0 -24
- package/dist/revoke-4N45G7D2.js.map +0 -1
- package/dist/satellites/index.d.ts +0 -4
- package/dist/sealed-record/index.d.ts +0 -68
- package/dist/session/index.d.ts +0 -43
- package/dist/shadow/index.d.ts +0 -14
- package/dist/signer-XJCOV7JD.js +0 -25
- package/dist/signer-XJCOV7JD.js.map +0 -1
- package/dist/snapshots/index.d.ts +0 -25
- package/dist/stale-IYYXEH3U.js +0 -14
- package/dist/stale-IYYXEH3U.js.map +0 -1
- package/dist/storage-Y44CAPE6.js +0 -23
- package/dist/storage-Y44CAPE6.js.map +0 -1
- package/dist/store-coordination-provider-WKGAE2WI.js +0 -142
- package/dist/subject-index-CyOgGMJL.d.ts +0 -380
- package/dist/sync/index.d.ts +0 -40
- package/dist/team/index.d.ts +0 -154
- package/dist/tiers/index.d.ts +0 -4
- package/dist/to/index.d.ts +0 -4
- package/dist/transition-guard-BOUkzQU4.d.ts +0 -165
- package/dist/tx/index.d.ts +0 -34
- package/dist/ui/index.d.ts +0 -4
- package/dist/ulid-DRH25k3y.d.ts +0 -66
- package/dist/util/index.d.ts +0 -79
- package/dist/validators-B3SalxlJ.d.ts +0 -101
- package/dist/vault-diff-Dt9NkLzw.d.ts +0 -147
- package/dist/verify-GH6CWVSW.js +0 -139
- package/dist/verify-GH6CWVSW.js.map +0 -1
- package/dist/walk-76UCFXYV.js +0 -241
- package/dist/with/index.d.ts +0 -37
- package/dist/with-materialized-view-BP33v1Z6.d.ts +0 -27
- package/dist/with-overlayed-view-DntFpOKN.d.ts +0 -12
- package/dist/with-rollup-ClCHO6-4.d.ts +0 -47
- package/dist/withdraw-accessible-6J2UH3IN.js +0 -28
- package/dist/withdraw-accessible-6J2UH3IN.js.map +0 -1
- /package/dist/{adapter/index.js.map → api-3A3S4SHH.js.map} +0 -0
- /package/dist/{chunk-ICV32FPK.js.map → chunk-2PCAVW2I.js.map} +0 -0
- /package/dist/{chunk-6CU3FN74.js.map → chunk-554KLAAN.js.map} +0 -0
- /package/dist/{chunk-NNWK3PSY.js.map → chunk-5PFOMHTB.js.map} +0 -0
- /package/dist/{chunk-SZCHEDML.js.map → chunk-5WZXVULX.js.map} +0 -0
- /package/dist/{chunk-KWLD2D75.js.map → chunk-6HPG2YNX.js.map} +0 -0
- /package/dist/{chunk-2KOSJTMU.js.map → chunk-6HY2X62D.js.map} +0 -0
- /package/dist/{chunk-KYC4LIEU.js.map → chunk-6NQMXTYC.js.map} +0 -0
- /package/dist/{chunk-KBF5GSGX.js.map → chunk-6XE5TMPR.js.map} +0 -0
- /package/dist/{chunk-Z5YFRMG5.js.map → chunk-A4FXFAKF.js.map} +0 -0
- /package/dist/{chunk-VJ3NQK4K.js.map → chunk-ANATMTOA.js.map} +0 -0
- /package/dist/{chunk-HBTT7YQX.js.map → chunk-BOKIKJJB.js.map} +0 -0
- /package/dist/{chunk-KXKLKJW4.js.map → chunk-CJ5KKU6X.js.map} +0 -0
- /package/dist/{chunk-5SAZMBW7.js.map → chunk-DSBQODMZ.js.map} +0 -0
- /package/dist/{chunk-7IZQTCTR.js.map → chunk-EO43ANYJ.js.map} +0 -0
- /package/dist/{chunk-QTXQ6RNZ.js.map → chunk-EWPOHMN2.js.map} +0 -0
- /package/dist/{chunk-34RRRIC3.js.map → chunk-GWKAVKHI.js.map} +0 -0
- /package/dist/{chunk-OV4CMJGR.js.map → chunk-H2KSZMIX.js.map} +0 -0
- /package/dist/{chunk-AUR7MRHA.js.map → chunk-HOONYZY2.js.map} +0 -0
- /package/dist/{chunk-ZWQFOXBR.js.map → chunk-ISMV2QVG.js.map} +0 -0
- /package/dist/{chunk-XQ7UYPVN.js.map → chunk-IY23KFNZ.js.map} +0 -0
- /package/dist/{chunk-IWTYFS3D.js.map → chunk-JBBSYJHP.js.map} +0 -0
- /package/dist/{chunk-GX2BYNCT.js.map → chunk-JFCV5QIK.js.map} +0 -0
- /package/dist/{chunk-5TZZUL5X.js.map → chunk-M75ZZHSR.js.map} +0 -0
- /package/dist/{chunk-6MWUANRF.js.map → chunk-N6WF5PKC.js.map} +0 -0
- /package/dist/{chunk-E5AHO65E.js.map → chunk-NCCBLYEB.js.map} +0 -0
- /package/dist/{chunk-A4MAD6PO.js.map → chunk-OCVM6KDH.js.map} +0 -0
- /package/dist/{chunk-Y2OCKFZ3.js.map → chunk-ONTBCHCP.js.map} +0 -0
- /package/dist/{chunk-LEOXZY36.js.map → chunk-R3BLCFD2.js.map} +0 -0
- /package/dist/{chunk-2HVUKRNE.js.map → chunk-RDXW3OBQ.js.map} +0 -0
- /package/dist/{chunk-CJEMA2Z6.js.map → chunk-RFI7GGFO.js.map} +0 -0
- /package/dist/{chunk-AYGZMQP5.js.map → chunk-RNG4VRP4.js.map} +0 -0
- /package/dist/{chunk-PEDZFFKW.js.map → chunk-RTEK4C4I.js.map} +0 -0
- /package/dist/{chunk-3I4KYWNP.js.map → chunk-S6Q37VGE.js.map} +0 -0
- /package/dist/{chunk-42KVY3OC.js.map → chunk-SV6EAJEP.js.map} +0 -0
- /package/dist/{chunk-YBFOBRTO.js.map → chunk-T3GY65MA.js.map} +0 -0
- /package/dist/{chunk-KBBWY46Y.js.map → chunk-TIGPQDYP.js.map} +0 -0
- /package/dist/{chunk-NYVQCZ54.js.map → chunk-U6JMEH2P.js.map} +0 -0
- /package/dist/{chunk-MK2BSS44.js.map → chunk-UC2ETWF3.js.map} +0 -0
- /package/dist/{chunk-M5I354EE.js.map → chunk-UDSR4X4L.js.map} +0 -0
- /package/dist/{chunk-6ULCYCMU.js.map → chunk-VAIS3SOM.js.map} +0 -0
- /package/dist/{chunk-WVCQ75OK.js.map → chunk-VCBHAE4R.js.map} +0 -0
- /package/dist/{chunk-DEYAO3N6.js.map → chunk-VKCADNMR.js.map} +0 -0
- /package/dist/{chunk-OQAODTYR.js.map → chunk-WKGF2TJR.js.map} +0 -0
- /package/dist/{chunk-HOCEGVGQ.js.map → chunk-WNGGJWF7.js.map} +0 -0
- /package/dist/{chunk-NSZ6J5DF.js.map → chunk-WOM2HTML.js.map} +0 -0
- /package/dist/{chunk-MSVY7ULZ.js.map → chunk-WQIYTNJV.js.map} +0 -0
- /package/dist/{chunk-NUEFXLZU.js.map → chunk-WZSHL6DQ.js.map} +0 -0
- /package/dist/{chunk-X66MXMR5.js.map → chunk-XDIAFPUM.js.map} +0 -0
- /package/dist/{chunk-CTSFKDGA.js.map → chunk-XJMBYYQK.js.map} +0 -0
- /package/dist/{chunk-IUKGIB2Q.js.map → chunk-XTHCN77N.js.map} +0 -0
- /package/dist/{chunk-FC3XK5JT.js.map → chunk-YCH5GBN6.js.map} +0 -0
- /package/dist/{chunk-S6AQXDN4.js.map → chunk-YTGDPCPW.js.map} +0 -0
- /package/dist/{chunk-CWCCYH34.js.map → chunk-YZQOGE2L.js.map} +0 -0
- /package/dist/{chunk-DFIBOSOQ.js.map → chunk-ZXEZCY6F.js.map} +0 -0
- /package/dist/{api-HV4PDUWF.js.map → collection-facade-KMBWNCYP.js.map} +0 -0
- /package/dist/{chunk-BGIZAFY7.js.map → computed-DSMPXG2Y.js.map} +0 -0
- /package/dist/{chunk-K2WCO3NX.js.map → cover-QJRXINN5.js.map} +0 -0
- /package/dist/{dead-filter-VNA4M3GP.js.map → dead-filter-66VGI6JV.js.map} +0 -0
- /package/dist/{collection-facade-3RAXG2OU.js.map → delegation-SU6CV3W7.js.map} +0 -0
- /package/dist/{computed-R62HGCO4.js.map → derive-6RWU4EOA.js.map} +0 -0
- /package/dist/{delegation-ZKII5UBI.js.map → enclave-TKPN2G2U.js.map} +0 -0
- /package/dist/{derive-5D2C3WG4.js.map → executor-KGNLJD6M.js.map} +0 -0
- /package/dist/{describe/index.js.map → executor-UX4FASYZ.js.map} +0 -0
- /package/dist/{enclave-EUBEJGPG.js.map → executor-XGIS6CR7.js.map} +0 -0
- /package/dist/{executor-IL7SRNUZ.js.map → export-accessible-LKW3QV22.js.map} +0 -0
- /package/dist/{executor-OUA2Y6YC.js.map → extract-partition-UP2ARO75.js.map} +0 -0
- /package/dist/{fanout-sidecar-CI5BCMQM.js.map → fanout-sidecar-B5LVUMQX.js.map} +0 -0
- /package/dist/{executor-WAEI6PDV.js.map → find-YS6XWB46.js.map} +0 -0
- /package/dist/{export-accessible-O55RKAGC.js.map → issue-3ACYX7LO.js.map} +0 -0
- /package/dist/{extract-partition-VBGCBA6Q.js.map → ledger-PTK7XZYT.js.map} +0 -0
- /package/dist/{find-FISGUWSK.js.map → liberate-MQQXBUCY.js.map} +0 -0
- /package/dist/{issue-EQAWIYFQ.js.map → link-set-SLJHDNRB.js.map} +0 -0
- /package/dist/{kernel/index.js.map → noydb-ANIW5FLE.js.map} +0 -0
- /package/dist/{ledger-AJA2SR3C.js.map → policy-YDLCOX4P.js.map} +0 -0
- /package/dist/{liberate-SEGR4JLY.js.map → read-only-facade-CHCKSEPD.js.map} +0 -0
- /package/dist/{link-set-YBAC2DQT.js.map → register-PAM3ASRZ.js.map} +0 -0
- /package/dist/{noydb-AMEOU456.js.map → registry-4S2U2TR4.js.map} +0 -0
- /package/dist/{policy-SDGRWVIL.js.map → registry-NPOWJHC4.js.map} +0 -0
- /package/dist/{public-envelope-J5PLQOW2.js.map → registry-VZ3CCI2R.js.map} +0 -0
- /package/dist/{read-only-facade-UCYNRE56.js.map → request-withdrawal-DI3H5WUI.js.map} +0 -0
- /package/dist/{register-OVJKW7BS.js.map → revoke-R5CZSVUT.js.map} +0 -0
- /package/dist/{registry-5RJSK5AJ.js.map → signer-MBVHW4WE.js.map} +0 -0
- /package/dist/{registry-DQRNTWRL.js.map → stale-VZL4OGUB.js.map} +0 -0
- /package/dist/{registry-LTGLERS7.js.map → storage-3MEJUENZ.js.map} +0 -0
- /package/dist/{store-coordination-provider-WKGAE2WI.js.map → store-coordination-provider-FKX3F6TQ.js.map} +0 -0
- /package/dist/{walk-76UCFXYV.js.map → walk-IPLXE36W.js.map} +0 -0
- /package/dist/{request-withdrawal-27O77D2V.js.map → withdraw-accessible-TZDATQVR.js.map} +0 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Cover, JsonValue, ResolvedCoverSchema } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Validate the owner-supplied `custom` input: the field must be a
|
|
4
|
+
* plain object, every key must match {@link CUSTOM_KEY_PATTERN}, and
|
|
5
|
+
* every value must be JSON-serializable (no functions, `undefined`,
|
|
6
|
+
* symbols, bigints, or cycles) within the depth cap. `null` is
|
|
7
|
+
* accepted — it is the delete-this-namespace directive and never
|
|
8
|
+
* persists. Throws `ValidationError` on the first violation.
|
|
9
|
+
*/
|
|
10
|
+
export declare function validateCustomInput(custom: Record<string, JsonValue>): void;
|
|
11
|
+
/**
|
|
12
|
+
* Namespace-level patch merge for `setCover`: provided namespaces
|
|
13
|
+
* replace their previous value, absent namespaces are preserved, and
|
|
14
|
+
* an explicit `null` deletes that namespace (so `null` never persists
|
|
15
|
+
* as a namespace value). A whole-`custom`-absent patch preserves the
|
|
16
|
+
* previous custom, consistent with the other cover fields. Rationale:
|
|
17
|
+
* framework A must never need read-modify-write of framework B's data.
|
|
18
|
+
*
|
|
19
|
+
* Returns a spreadable fragment — `{ custom }` when the merge leaves
|
|
20
|
+
* at least one namespace, `{}` when it leaves none (the field is
|
|
21
|
+
* dropped from the persisted document rather than stored empty).
|
|
22
|
+
*/
|
|
23
|
+
export declare function mergeCustom(existing: Record<string, JsonValue> | undefined, patch: Record<string, JsonValue> | undefined): {
|
|
24
|
+
custom: Record<string, JsonValue>;
|
|
25
|
+
} | Record<string, never>;
|
|
26
|
+
/**
|
|
27
|
+
* Post-merge size caps — validates the WOULD-BE-PERSISTED document
|
|
28
|
+
* (after the namespace merge), so a small patch can't tip the stored
|
|
29
|
+
* cover over a cap unnoticed. `maxCoverBytes` bounds the entire
|
|
30
|
+
* serialized document, which also closes the unbounded locale-map
|
|
31
|
+
* key-count hole for `name` / `description`. Sizes are measured as
|
|
32
|
+
* `JSON.stringify` length. Throws `ValidationError` on violation.
|
|
33
|
+
*/
|
|
34
|
+
export declare function validateCoverSize(cover: Cover, schema: ResolvedCoverSchema): void;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cover service — barrel export. (Formerly "public envelope"; the
|
|
3
|
+
* old names remain as deprecated aliases for one pre-release window.)
|
|
4
|
+
*
|
|
5
|
+
* @see https://github.com/vLannaAi/noy-db-docs/blob/main/content/docs/services/public-envelope.md
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
export type { Cover, CoverText, CoverSchema, CoverField, JsonValue, ResolvedCoverSchema, } from './types.js';
|
|
10
|
+
export { COVER_FIELDS, DEFAULT_COVER_SCHEMA, resolveSchema, } from './types.js';
|
|
11
|
+
export type { SetCoverInput } from './schema.js';
|
|
12
|
+
export { validateCoverInput, isCover } from './schema.js';
|
|
13
|
+
export { mergeCustom, validateCoverSize } from './custom.js';
|
|
14
|
+
export { loadCover, saveCover, readCover, resolveLocale, pickLocale, COVER_RECORD_ID, } from './storage.js';
|
|
15
|
+
export type { PublicEnvelope, PublicEnvelopeText, PublicEnvelopeSchema, PublicEnvelopeField, ResolvedPublicEnvelopeSchema, } from './types.js';
|
|
16
|
+
export { PUBLIC_ENVELOPE_FIELDS, DEFAULT_PUBLIC_ENVELOPE_SCHEMA, } from './types.js';
|
|
17
|
+
export type { SetPublicEnvelopeInput } from './schema.js';
|
|
18
|
+
export { validatePublicEnvelopeInput, isPublicEnvelope } from './schema.js';
|
|
19
|
+
export { loadPublicEnvelope, savePublicEnvelope, readPublicEnvelope, PUBLIC_ENVELOPE_RECORD_ID, } from './storage.js';
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { Cover, CoverText, JsonValue, ResolvedCoverSchema } from './types.js';
|
|
2
|
+
/** Owner-supplied input — the subset of {@link Cover} the owner can set. */
|
|
3
|
+
export interface SetCoverInput {
|
|
4
|
+
readonly name?: CoverText;
|
|
5
|
+
readonly description?: CoverText;
|
|
6
|
+
readonly icon?: string;
|
|
7
|
+
readonly defaultLocale?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Namespace-level patch for the cover's `custom` slot (#800):
|
|
10
|
+
* provided namespaces replace their previous value, absent
|
|
11
|
+
* namespaces are preserved, an explicit `null` deletes that
|
|
12
|
+
* namespace. Requires `'custom'` in the schema's `fields` list —
|
|
13
|
+
* the `cover: true` shorthand does NOT enable it.
|
|
14
|
+
*/
|
|
15
|
+
readonly custom?: Record<string, JsonValue>;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Validate an owner-supplied cover input against the developer's
|
|
19
|
+
* resolved schema. Throws `ValidationError` on the first violation;
|
|
20
|
+
* returns void on success.
|
|
21
|
+
*
|
|
22
|
+
* The validator is deliberately strict: every fail mode is a hard
|
|
23
|
+
* error rather than a silent drop, so the owner finds out immediately
|
|
24
|
+
* which field they oversized rather than discovering a truncated
|
|
25
|
+
* label months later.
|
|
26
|
+
*/
|
|
27
|
+
export declare function validateCoverInput(input: SetCoverInput, schema: ResolvedCoverSchema): void;
|
|
28
|
+
/**
|
|
29
|
+
* Lightweight runtime predicate — used by the bundle header
|
|
30
|
+
* validator to recognise a cover without requiring it. (The wire
|
|
31
|
+
* discriminator keeps its frozen name: `_noydb_public: 1`.)
|
|
32
|
+
*/
|
|
33
|
+
export declare function isCover(x: unknown): x is Cover;
|
|
34
|
+
/** @deprecated Use {@link SetCoverInput}. */
|
|
35
|
+
export type SetPublicEnvelopeInput = SetCoverInput;
|
|
36
|
+
/** @deprecated Use {@link validateCoverInput}. */
|
|
37
|
+
export declare const validatePublicEnvelopeInput: typeof validateCoverInput;
|
|
38
|
+
/** @deprecated Use {@link isCover}. */
|
|
39
|
+
export declare const isPublicEnvelope: typeof isCover;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persistence helpers for `_meta/public-envelope` — the cover's
|
|
3
|
+
* frozen wire location. Mirrors the bypass-AES pattern used by
|
|
4
|
+
* `_meta/handle` and `_meta/policy` — the document is plaintext
|
|
5
|
+
* JSON, the envelope's `_iv` field is left empty.
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
import type { NoydbStore } from '../../../kernel/types.js';
|
|
10
|
+
import type { Cover } from './types.js';
|
|
11
|
+
/**
|
|
12
|
+
* Reserved id for the vault-level cover record. The VALUE is frozen
|
|
13
|
+
* wire format — the record predates the #799 rename and stays at
|
|
14
|
+
* `_meta/public-envelope` so existing vaults need no migration.
|
|
15
|
+
*/
|
|
16
|
+
export declare const COVER_RECORD_ID = "public-envelope";
|
|
17
|
+
/**
|
|
18
|
+
* Read the cover from `_meta/public-envelope`. Returns `undefined`
|
|
19
|
+
* when no cover has been persisted (fresh vault, or a vault written
|
|
20
|
+
* before the feature was enabled). Tolerates corrupted documents —
|
|
21
|
+
* a JSON parse failure surfaces as `undefined`, not a thrown error,
|
|
22
|
+
* mirroring `_meta/handle`'s contract.
|
|
23
|
+
*/
|
|
24
|
+
export declare function loadCover(store: NoydbStore, vault: string): Promise<Cover | undefined>;
|
|
25
|
+
/** Persist the cover. Idempotent — overwrites any prior write. */
|
|
26
|
+
export declare function saveCover(store: NoydbStore, vault: string, cover: Cover): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Public, no-key reader. Plain function, not a method on `Noydb` —
|
|
29
|
+
* the whole point is it works without an authenticated session, so
|
|
30
|
+
* a UI can show "Acme 2026 Tax Records" before unlocking.
|
|
31
|
+
*
|
|
32
|
+
* Resolves any `name` / `description` locale map through the supplied
|
|
33
|
+
* `locale` (when provided). Omitting `locale` returns the raw
|
|
34
|
+
* cover, which a multilingual picker can render as it pleases.
|
|
35
|
+
*/
|
|
36
|
+
export declare function readCover(store: NoydbStore, vault: string, opts?: {
|
|
37
|
+
readonly locale?: string;
|
|
38
|
+
}): Promise<Cover | undefined>;
|
|
39
|
+
/**
|
|
40
|
+
* Resolve the locale-map fields (`name`, `description`) of a cover
|
|
41
|
+
* to plain strings for the requested locale, falling back through
|
|
42
|
+
* `defaultLocale` and then any available translation.
|
|
43
|
+
*
|
|
44
|
+
* @internal
|
|
45
|
+
*/
|
|
46
|
+
export declare function resolveLocale(cover: Cover, locale: string): Cover;
|
|
47
|
+
/**
|
|
48
|
+
* Resolve a `string | { [locale]: string }` value to a string for a
|
|
49
|
+
* given locale. Exported so the bundle reader can reuse it without
|
|
50
|
+
* duplicating the fallback chain.
|
|
51
|
+
*
|
|
52
|
+
* **Looser than `resolveI18nText`** — the hub's record-field resolver
|
|
53
|
+
* throws `LocaleNotSpecifiedError` when no translation matches, but
|
|
54
|
+
* label semantics deliberately prefer "show *something*" over
|
|
55
|
+
* throwing. The fallback chain is:
|
|
56
|
+
* 1. Exact `locale` match.
|
|
57
|
+
* 2. `defaultLocale` (when supplied on the cover).
|
|
58
|
+
* 3. First non-empty value in the map.
|
|
59
|
+
* 4. Empty string (only if every translation is empty — pathological).
|
|
60
|
+
*
|
|
61
|
+
* This deviation is documented in `https://github.com/vLannaAi/noy-db-docs/blob/main/content/docs/services/public-envelope.md`.
|
|
62
|
+
*/
|
|
63
|
+
export declare function pickLocale(value: string | Record<string, string>, locale: string, defaultLocale: string | undefined): string;
|
|
64
|
+
/** @deprecated Use {@link COVER_RECORD_ID}. */
|
|
65
|
+
export declare const PUBLIC_ENVELOPE_RECORD_ID = "public-envelope";
|
|
66
|
+
/** @deprecated Use {@link loadCover}. */
|
|
67
|
+
export declare const loadPublicEnvelope: typeof loadCover;
|
|
68
|
+
/** @deprecated Use {@link saveCover}. */
|
|
69
|
+
export declare const savePublicEnvelope: typeof saveCover;
|
|
70
|
+
/** @deprecated Use {@link readCover}. */
|
|
71
|
+
export declare const readPublicEnvelope: typeof readCover;
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cover — owner-curated plaintext metadata, readable before vault
|
|
3
|
+
* unlock or bundle decryption. Like a book's cover: title, cover
|
|
4
|
+
* art, back-cover blurb — readable on the shelf without opening
|
|
5
|
+
* the book, and never trusted as the book's contents.
|
|
6
|
+
*
|
|
7
|
+
* (Formerly "public envelope" — the wire keeps that name: the
|
|
8
|
+
* record still lives at `_meta/public-envelope` and carries the
|
|
9
|
+
* `_noydb_public: 1` discriminator.)
|
|
10
|
+
*
|
|
11
|
+
* @see https://github.com/vLannaAi/noy-db-docs/blob/main/content/docs/services/public-envelope.md
|
|
12
|
+
*
|
|
13
|
+
* @module
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Either a single string (used when the developer's app is
|
|
17
|
+
* single-locale) or a locale → string map for i18n. Mirrors the
|
|
18
|
+
* shape `@noy-db/hub/i18n` already uses for record fields, so the
|
|
19
|
+
* existing `resolveI18nText` resolver applies.
|
|
20
|
+
*/
|
|
21
|
+
export type CoverText = string | Record<string, string>;
|
|
22
|
+
/**
|
|
23
|
+
* A JSON-serializable value — what a `custom` namespace payload may
|
|
24
|
+
* hold. No functions, `undefined`, symbols, bigints, or cycles; the
|
|
25
|
+
* validator additionally caps nesting depth at 8 levels.
|
|
26
|
+
*/
|
|
27
|
+
export type JsonValue = string | number | boolean | null | JsonValue[] | {
|
|
28
|
+
[key: string]: JsonValue;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Persisted shape — both `_meta/public-envelope` (the frozen wire
|
|
32
|
+
* name) and the bundle header carry this. The version number is
|
|
33
|
+
* monotonic per vault and helps cache invalidators detect change
|
|
34
|
+
* without hashing the JSON.
|
|
35
|
+
*/
|
|
36
|
+
export interface Cover {
|
|
37
|
+
readonly _noydb_public: 1;
|
|
38
|
+
readonly version: number;
|
|
39
|
+
readonly name?: CoverText;
|
|
40
|
+
readonly description?: CoverText;
|
|
41
|
+
/** Inline `data:` URL (`data:image/png;base64,…` or `data:image/svg+xml;base64,…`). */
|
|
42
|
+
readonly icon?: string;
|
|
43
|
+
/** ISO-8601 timestamp; auto-set on first cover write, immutable thereafter. */
|
|
44
|
+
readonly createdAt?: string;
|
|
45
|
+
/** ISO-8601 timestamp; auto-updated on every `setCover` call. */
|
|
46
|
+
readonly updatedAt?: string;
|
|
47
|
+
/** BCP-47 fallback locale for renderers when the user's locale isn't covered. */
|
|
48
|
+
readonly defaultLocale?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Namespaced integrator slot (#800) — e.g.
|
|
51
|
+
* `{ 'noydb.viewer': { defaultCollection: 'invoices' } }`. Keys must
|
|
52
|
+
* be reverse-DNS / package-style (`noydb.viewer`, `com.acme.registry`).
|
|
53
|
+
* Like everything on the cover it is plaintext, public, and
|
|
54
|
+
* unauthenticated — payloads are hints, never authority. Opt-in:
|
|
55
|
+
* excluded from `DEFAULT_COVER_SCHEMA.fields`, so `cover: true`
|
|
56
|
+
* does NOT enable it.
|
|
57
|
+
*/
|
|
58
|
+
readonly custom?: Record<string, JsonValue>;
|
|
59
|
+
}
|
|
60
|
+
/** Field names the developer can allow in `CoverSchema.fields`. */
|
|
61
|
+
export declare const COVER_FIELDS: readonly ["name", "description", "icon", "createdAt", "updatedAt", "defaultLocale", "custom"];
|
|
62
|
+
export type CoverField = (typeof COVER_FIELDS)[number];
|
|
63
|
+
/**
|
|
64
|
+
* Build-time schema. The developer enables the feature and bounds
|
|
65
|
+
* what the owner can set. `true` is shorthand for "all defaults" —
|
|
66
|
+
* gives the owner the full field set with the standard caps.
|
|
67
|
+
*/
|
|
68
|
+
export interface CoverSchema {
|
|
69
|
+
/**
|
|
70
|
+
* Allowed field names. Setting `name`/`description`/`icon`/`defaultLocale` is
|
|
71
|
+
* gated on the field being listed here. `createdAt` / `updatedAt` are managed
|
|
72
|
+
* by the hub; including them is a no-op (the owner cannot set them
|
|
73
|
+
* directly). Default: every field above.
|
|
74
|
+
*/
|
|
75
|
+
readonly fields?: ReadonlyArray<CoverField>;
|
|
76
|
+
/**
|
|
77
|
+
* Maximum icon size — measured as the length of the data-URL
|
|
78
|
+
* string. Default 256 KB.
|
|
79
|
+
*/
|
|
80
|
+
readonly maxIconBytes?: number;
|
|
81
|
+
/** Allowed icon MIME types. Default ['image/png', 'image/svg+xml']. */
|
|
82
|
+
readonly iconMimeTypes?: ReadonlyArray<string>;
|
|
83
|
+
/** Maximum length of `name` / `description` per locale. Default 200. */
|
|
84
|
+
readonly maxStringChars?: number;
|
|
85
|
+
/**
|
|
86
|
+
* Maximum serialized size (`JSON.stringify` length) of the whole
|
|
87
|
+
* would-be-persisted `custom` object, measured AFTER the namespace
|
|
88
|
+
* patch merge. Default 8 KB.
|
|
89
|
+
*/
|
|
90
|
+
readonly maxCustomBytes?: number;
|
|
91
|
+
/**
|
|
92
|
+
* Maximum serialized size of the ENTIRE would-be-persisted cover
|
|
93
|
+
* document. The consumer-protection cap — bounds what a pre-auth
|
|
94
|
+
* reader must fetch and parse, and closes the unbounded locale-map
|
|
95
|
+
* key-count hole for `name` / `description`. Default 300 KB
|
|
96
|
+
* (headroom over the 256 KB icon cap + text fields).
|
|
97
|
+
*/
|
|
98
|
+
readonly maxCoverBytes?: number;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Default schema values; merged onto every developer-supplied schema.
|
|
102
|
+
* NOTE: `fields` is the six display fields, deliberately NOT
|
|
103
|
+
* {@link COVER_FIELDS} — the opt-in `'custom'` slot is excluded, so
|
|
104
|
+
* the `cover: true` shorthand never exposes it by accident.
|
|
105
|
+
*/
|
|
106
|
+
export declare const DEFAULT_COVER_SCHEMA: {
|
|
107
|
+
readonly fields: readonly ["name", "description", "icon", "createdAt", "updatedAt", "defaultLocale"];
|
|
108
|
+
readonly maxIconBytes: number;
|
|
109
|
+
readonly iconMimeTypes: readonly ["image/png", "image/svg+xml"];
|
|
110
|
+
readonly maxStringChars: 200;
|
|
111
|
+
readonly maxCustomBytes: number;
|
|
112
|
+
readonly maxCoverBytes: number;
|
|
113
|
+
};
|
|
114
|
+
/** Resolved schema after merging developer override onto defaults. */
|
|
115
|
+
export interface ResolvedCoverSchema {
|
|
116
|
+
readonly fields: ReadonlyArray<CoverField>;
|
|
117
|
+
readonly maxIconBytes: number;
|
|
118
|
+
readonly iconMimeTypes: ReadonlyArray<string>;
|
|
119
|
+
readonly maxStringChars: number;
|
|
120
|
+
readonly maxCustomBytes: number;
|
|
121
|
+
readonly maxCoverBytes: number;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Merge developer schema onto the defaults. The shorthand `true`
|
|
125
|
+
* resolves to the full default schema; an explicit object only
|
|
126
|
+
* overrides the keys it provides.
|
|
127
|
+
*/
|
|
128
|
+
export declare function resolveSchema(schema: true | CoverSchema | undefined): ResolvedCoverSchema | undefined;
|
|
129
|
+
/** @deprecated Use {@link Cover}. */
|
|
130
|
+
export type PublicEnvelope = Cover;
|
|
131
|
+
/** @deprecated Use {@link CoverText}. */
|
|
132
|
+
export type PublicEnvelopeText = CoverText;
|
|
133
|
+
/** @deprecated Use {@link CoverField}. */
|
|
134
|
+
export type PublicEnvelopeField = CoverField;
|
|
135
|
+
/** @deprecated Use {@link CoverSchema}. */
|
|
136
|
+
export type PublicEnvelopeSchema = CoverSchema;
|
|
137
|
+
/** @deprecated Use {@link ResolvedCoverSchema}. */
|
|
138
|
+
export type ResolvedPublicEnvelopeSchema = ResolvedCoverSchema;
|
|
139
|
+
/** @deprecated Use {@link COVER_FIELDS}. */
|
|
140
|
+
export declare const PUBLIC_ENVELOPE_FIELDS: readonly ["name", "description", "icon", "createdAt", "updatedAt", "defaultLocale", "custom"];
|
|
141
|
+
/** @deprecated Use {@link DEFAULT_COVER_SCHEMA}. */
|
|
142
|
+
export declare const DEFAULT_PUBLIC_ENVELOPE_SCHEMA: {
|
|
143
|
+
readonly fields: readonly ["name", "description", "icon", "createdAt", "updatedAt", "defaultLocale"];
|
|
144
|
+
readonly maxIconBytes: number;
|
|
145
|
+
readonly iconMimeTypes: readonly ["image/png", "image/svg+xml"];
|
|
146
|
+
readonly maxStringChars: 200;
|
|
147
|
+
readonly maxCustomBytes: number;
|
|
148
|
+
readonly maxCoverBytes: number;
|
|
149
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* User-list visibility — barrel export for the
|
|
3
|
+
* `@noy-db/hub/directory` surface.
|
|
4
|
+
*
|
|
5
|
+
* @see https://github.com/vLannaAi/noy-db-docs/blob/main/content/docs/services/user-envelope.md → Directory visibility
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
export type { DirectoryConfig, UserVisibility } from './types.js';
|
|
10
|
+
export { readDirectoryConfig, persistDirectoryConfig, META_COLLECTION, DIRECTORY_RECORD_ID, } from './storage.js';
|
|
11
|
+
export { readUserVisibility, persistUserVisibility, deleteUserVisibility, visibilityRecordId, VISIBILITY_RECORD_PREFIX, } from './visibility.js';
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persistence helpers for the vault-level user-directory toggle
|
|
3
|
+
* (`_meta/directory`). Mirrors the bypass-AES pattern used by
|
|
4
|
+
* `_meta/policy` — the directory document is plain JSON, the
|
|
5
|
+
* envelope's `_iv` field is left empty.
|
|
6
|
+
*
|
|
7
|
+
* @see https://github.com/vLannaAi/noy-db-docs/blob/main/content/docs/services/user-envelope.md → Directory visibility
|
|
8
|
+
* @see https://github.com/vLannaAi/noy-db-docs/blob/main/content/docs/services/plaintext-bypass.md — every `_iv: ''` write site
|
|
9
|
+
*
|
|
10
|
+
* @module
|
|
11
|
+
*/
|
|
12
|
+
import type { NoydbStore } from '../../kernel/types.js';
|
|
13
|
+
import type { DirectoryConfig } from './types.js';
|
|
14
|
+
/** Reserved collection name for vault-level metadata documents. */
|
|
15
|
+
export declare const META_COLLECTION = "_meta";
|
|
16
|
+
/** Reserved id for the vault-level directory document. */
|
|
17
|
+
export declare const DIRECTORY_RECORD_ID = "directory";
|
|
18
|
+
/**
|
|
19
|
+
* Read the directory toggle from `_meta/directory`. Returns `undefined`
|
|
20
|
+
* when no document has been persisted — callers treat that as the
|
|
21
|
+
* default-on case (`{ enabled: true }`).
|
|
22
|
+
*
|
|
23
|
+
* Tolerates corrupted documents the same way `_meta/policy` does: a
|
|
24
|
+
* JSON parse failure surfaces as `undefined`, not a thrown error, so a
|
|
25
|
+
* bad write never permanently breaks team enumeration.
|
|
26
|
+
*/
|
|
27
|
+
export declare function readDirectoryConfig(store: NoydbStore, vault: string): Promise<DirectoryConfig | undefined>;
|
|
28
|
+
/**
|
|
29
|
+
* Persist the directory toggle at `_meta/directory`. Idempotent — call
|
|
30
|
+
* on every `db.setDirectoryEnabled()` invocation. Owner-only at the
|
|
31
|
+
* caller site; this primitive does not check roles.
|
|
32
|
+
*/
|
|
33
|
+
export declare function persistDirectoryConfig(store: NoydbStore, vault: string, config: DirectoryConfig): Promise<void>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type surface for the user-list visibility service.
|
|
3
|
+
*
|
|
4
|
+
* Two complementary flags:
|
|
5
|
+
* - {@link DirectoryConfig} — vault-level "is the directory listing
|
|
6
|
+
* enabled at all?" toggle. Owner-only mutation.
|
|
7
|
+
* - {@link UserVisibility} — per-user "hide me from teammate listings"
|
|
8
|
+
* opt-out. Self-mutation via `vault.user.setMyVisibility`.
|
|
9
|
+
*
|
|
10
|
+
* Both flags live in the existing `_meta` collection as plaintext-bypass
|
|
11
|
+
* sidecars (`_iv: ''`). Neither is a security boundary — the keyring
|
|
12
|
+
* file is still observable at `_keyring/*` and the envelope ciphertext
|
|
13
|
+
* is still at `_users/*` to anyone with direct store read access. The
|
|
14
|
+
* flags exist to keep admin-UI listings tidy, not to hide principals
|
|
15
|
+
* from a determined attacker.
|
|
16
|
+
*
|
|
17
|
+
* @see https://github.com/vLannaAi/noy-db-docs/blob/main/content/docs/services/user-envelope.md → Directory visibility
|
|
18
|
+
*
|
|
19
|
+
* @module
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* Vault-level directory toggle. Persisted at `_meta/directory`.
|
|
23
|
+
*
|
|
24
|
+
* - `enabled: true` (default when no document exists) — every authenticated
|
|
25
|
+
* caller can enumerate users via `listUsersWithEnvelopes`.
|
|
26
|
+
* - `enabled: false` — only `owner` and `admin` callers can enumerate;
|
|
27
|
+
* anyone else gets {@link import('../../kernel/errors.js').DirectoryDisabledError}.
|
|
28
|
+
*/
|
|
29
|
+
export interface DirectoryConfig {
|
|
30
|
+
readonly enabled: boolean;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Per-user visibility flag. Persisted at `_meta/visibility/<keyringId>`.
|
|
34
|
+
*
|
|
35
|
+
* - `hidden: false` (default when no document exists) — the user shows up
|
|
36
|
+
* in `listUsersWithEnvelopes` like any other principal.
|
|
37
|
+
* - `hidden: true` — the user is filtered out of the default listing.
|
|
38
|
+
* `owner`/`admin` callers can still see them by passing
|
|
39
|
+
* `{ includeHidden: true }`.
|
|
40
|
+
*/
|
|
41
|
+
export interface UserVisibility {
|
|
42
|
+
readonly hidden: boolean;
|
|
43
|
+
}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import type { UserEnvelope, DeepPartialOrNull, Unsubscribe, UserEnvelopePresented, LiveUserEnvelope, VaultUserApi, UserApiDeps, UserApiFactory } from '../../../kernel/types.js';
|
|
2
|
+
import type { UserVisibility } from '../types.js';
|
|
3
|
+
import type { ExportAccessibleOptions } from '../../../with-audit/portability/export-accessible.js';
|
|
4
|
+
import type { WithdrawAccessibleOptions, WithdrawResult } from '../../../with-audit/portability/withdraw-accessible.js';
|
|
5
|
+
import type { RequestWithdrawalOptions, RequestWithdrawalResult, WithdrawalRequest, WithdrawalRequestStatus, ApproveWithdrawalOptions, RejectWithdrawalOptions } from '../../../with-audit/portability/request-withdrawal.js';
|
|
6
|
+
/**
|
|
7
|
+
* Implementation behind `vault.user`. Constructed once per Vault via
|
|
8
|
+
* {@link createUserApi}, holds the writer's keyringId in closure so
|
|
9
|
+
* `updateMe`/`setMe` cannot target any other principal — the own-only
|
|
10
|
+
* rule is enforced at the type level (no `set(otherKeyringId, …)`
|
|
11
|
+
* method) AND at runtime (the keyringId argument simply doesn't exist
|
|
12
|
+
* on the write path).
|
|
13
|
+
*/
|
|
14
|
+
export declare class UserApi implements VaultUserApi {
|
|
15
|
+
/** keyringId → set of listeners. Wildcard '*' fires on every change. */
|
|
16
|
+
private readonly listeners;
|
|
17
|
+
private readonly adapter;
|
|
18
|
+
private readonly vaultName;
|
|
19
|
+
/** The writer's own keyringId. Frozen at construction time. */
|
|
20
|
+
private readonly writerKeyringId;
|
|
21
|
+
private readonly getDek;
|
|
22
|
+
/**
|
|
23
|
+
* Policy-gate validator. When omitted, gates are skipped — useful
|
|
24
|
+
* for low-level tests that exercise the storage layer directly.
|
|
25
|
+
* Production paths always wire the Noydb-backed implementation.
|
|
26
|
+
*/
|
|
27
|
+
private readonly checkGate?;
|
|
28
|
+
/**
|
|
29
|
+
* Noydb-backed `exportMyAccessibleData`, injected by the Vault
|
|
30
|
+
* (which holds the keyring + bundle machinery). Omitted in low-level tests.
|
|
31
|
+
*/
|
|
32
|
+
private readonly exportAccessible?;
|
|
33
|
+
/**
|
|
34
|
+
* Noydb-backed `unilateralWithdrawal`, injected by the Vault.
|
|
35
|
+
* Destructive — extract + dispose (delete | freeze). Omitted in low-level tests.
|
|
36
|
+
*/
|
|
37
|
+
private readonly unilateralWithdraw?;
|
|
38
|
+
/**
|
|
39
|
+
* Noydb-backed two-party withdrawal ceremony, injected by the
|
|
40
|
+
* Vault. requestWithdraw = requester side; the rest = owner side.
|
|
41
|
+
*/
|
|
42
|
+
private readonly requestWithdraw?;
|
|
43
|
+
private readonly listWithdrawals?;
|
|
44
|
+
private readonly approveWithdraw?;
|
|
45
|
+
private readonly rejectWithdraw?;
|
|
46
|
+
constructor(deps: UserApiDeps);
|
|
47
|
+
/**
|
|
48
|
+
* File a two-party withdrawal request for the caller's accessible
|
|
49
|
+
* scope. Non-destructive (writes a pending request); an owner later approves
|
|
50
|
+
* or rejects. This is the path for read-only roles (`client`/`viewer`) that
|
|
51
|
+
* cannot self-serve a destructive `unilateralWithdrawal`. Gated by
|
|
52
|
+
* `user-request-withdrawal` (enabled by default).
|
|
53
|
+
*/
|
|
54
|
+
requestWithdrawal(opts?: RequestWithdrawalOptions): Promise<RequestWithdrawalResult>;
|
|
55
|
+
/** Owner side: list filed withdrawal requests (optionally by status). */
|
|
56
|
+
listWithdrawalRequests(opts?: {
|
|
57
|
+
status?: WithdrawalRequestStatus;
|
|
58
|
+
}): Promise<WithdrawalRequest[]>;
|
|
59
|
+
/**
|
|
60
|
+
* Owner side: approve a pending request. Extracts the requester's
|
|
61
|
+
* recorded scope under firm authority, disposes of the source per the
|
|
62
|
+
* request's disposition, and returns the re-keyed bundle to hand back. Gated
|
|
63
|
+
* by `approve-user-withdrawal` (tier-2 default) + owner/admin role.
|
|
64
|
+
*/
|
|
65
|
+
approveWithdrawal(requestId: string, opts?: ApproveWithdrawalOptions): Promise<WithdrawResult>;
|
|
66
|
+
/** Owner side: reject a pending request (no data is touched). */
|
|
67
|
+
rejectWithdrawal(requestId: string, opts?: RejectWithdrawalOptions): Promise<WithdrawalRequest>;
|
|
68
|
+
/**
|
|
69
|
+
* Single-party withdrawal: export the caller's accessible scope
|
|
70
|
+
* (re-keyed) and dispose of the source (`delete` or `freeze`). Gated by the
|
|
71
|
+
* fail-closed built-in `client-unilateral-withdraw` policy — undefined or
|
|
72
|
+
* disabled → throws (use `requestWithdrawal`). The firm enables it at vault
|
|
73
|
+
* creation.
|
|
74
|
+
*/
|
|
75
|
+
unilateralWithdrawal(opts: WithdrawAccessibleOptions): Promise<WithdrawResult>;
|
|
76
|
+
/**
|
|
77
|
+
* Export the calling user's accessible scope as a portable, re-keyed
|
|
78
|
+
* `.noydb` bundle. Non-destructive and **always allowed** (data sovereignty
|
|
79
|
+
* by construction) but audited. Scope = the caller's DEK access set.
|
|
80
|
+
*/
|
|
81
|
+
exportMyAccessibleData(opts?: ExportAccessibleOptions): Promise<Uint8Array>;
|
|
82
|
+
/** Read the writer's own envelope. Returns null if never written. */
|
|
83
|
+
me<T = unknown>(): Promise<UserEnvelope<T> | null>;
|
|
84
|
+
/**
|
|
85
|
+
* Deep-merge a partial patch into the writer's own envelope. Creates
|
|
86
|
+
* the envelope on first call. Optimistic-concurrency safe — a stale
|
|
87
|
+
* `_v` (parallel writer on another device) throws `ConflictError`.
|
|
88
|
+
*
|
|
89
|
+
* Patch semantics:
|
|
90
|
+
* - `undefined` (or omitted key) — skip; existing value preserved
|
|
91
|
+
* - `null` — delete the field from the merged result
|
|
92
|
+
* - any other value — overwrite (deep-merge for plain objects,
|
|
93
|
+
* replace for primitives / arrays)
|
|
94
|
+
*
|
|
95
|
+
* To clear a field, pass `null` rather than `undefined`. Callers
|
|
96
|
+
* with shape `T = string | null` where `null` is a meaningful value
|
|
97
|
+
* should use `setMe` for that specific field instead — `null` here
|
|
98
|
+
* always means delete.
|
|
99
|
+
*
|
|
100
|
+
* Gated by the `edit-own-profile` policy gate (default `minTier: 3`).
|
|
101
|
+
* Pass `presented` to satisfy tightened policies that require a
|
|
102
|
+
* factor proof (e.g. STRICT_POLICY's TOTP requirement).
|
|
103
|
+
*/
|
|
104
|
+
updateMe<T extends object = Record<string, unknown>>(patch: DeepPartialOrNull<T>, presented?: UserEnvelopePresented): Promise<UserEnvelope<T>>;
|
|
105
|
+
/**
|
|
106
|
+
* Replace the writer's own envelope with `payload`. Use sparingly —
|
|
107
|
+
* `updateMe` is the canonical mutation. No `expectedVersion` check;
|
|
108
|
+
* callers explicitly take last-write-wins semantics.
|
|
109
|
+
*
|
|
110
|
+
* Gated by `edit-own-profile`. See `updateMe` for `presented` usage.
|
|
111
|
+
*/
|
|
112
|
+
setMe<T = unknown>(payload: T, presented?: UserEnvelopePresented): Promise<UserEnvelope<T>>;
|
|
113
|
+
/**
|
|
114
|
+
* Read the current user's visibility flag from
|
|
115
|
+
* `_meta/visibility/<keyringId>`. Returns `{ hidden: false }` when no
|
|
116
|
+
* document has been persisted (the default-visible case).
|
|
117
|
+
*/
|
|
118
|
+
getMyVisibility(): Promise<UserVisibility>;
|
|
119
|
+
/**
|
|
120
|
+
* Update the current user's visibility in the team directory.
|
|
121
|
+
*
|
|
122
|
+
* - `hidden: true` — opt out of the default `listUsersWithEnvelopes`
|
|
123
|
+
* listing. `owner`/`admin` callers can still see the user by passing
|
|
124
|
+
* `{ includeHidden: true }`.
|
|
125
|
+
* - `hidden: false` — opt back in.
|
|
126
|
+
*
|
|
127
|
+
* Own-only by construction: the keyringId argument doesn't exist on
|
|
128
|
+
* this method, so no caller can hide or unhide another principal.
|
|
129
|
+
*
|
|
130
|
+
* Honest caveat: this is a UX flag, not a privacy guarantee. The
|
|
131
|
+
* envelope ciphertext at `_users/<keyringId>` and the keyring file at
|
|
132
|
+
* `_keyring/<userId>` are both still observable to anyone with direct
|
|
133
|
+
* store read access. See `https://github.com/vLannaAi/noy-db-docs/blob/main/content/docs/services/user-envelope.md` →
|
|
134
|
+
* "Directory visibility".
|
|
135
|
+
*/
|
|
136
|
+
setMyVisibility(visibility: UserVisibility): Promise<void>;
|
|
137
|
+
/**
|
|
138
|
+
* Read another principal's envelope by their keyringId. Returns null
|
|
139
|
+
* if the principal exists but has no envelope yet, or if the
|
|
140
|
+
* keyringId does not exist at all.
|
|
141
|
+
*
|
|
142
|
+
* Gated by `view-team-profiles` (default `minTier: 2`) — but ONLY for
|
|
143
|
+
* cross-principal reads. Reading your own envelope (`keyringId ===
|
|
144
|
+
* self`) is never gated; that's just `me()` written long-form.
|
|
145
|
+
*/
|
|
146
|
+
get<T = unknown>(keyringId: string, presented?: UserEnvelopePresented): Promise<UserEnvelope<T> | null>;
|
|
147
|
+
/**
|
|
148
|
+
* Read every persisted envelope in the vault. Order is store-defined.
|
|
149
|
+
*
|
|
150
|
+
* Gated by `view-team-profiles`. Default policy (`minTier: 2`) lets
|
|
151
|
+
* any authenticated session read all envelopes. Two privacy-strict
|
|
152
|
+
* opt-outs:
|
|
153
|
+
*
|
|
154
|
+
* - `view-team-profiles.enabled: false` → list() returns only the
|
|
155
|
+
* caller's own envelope (silent self-fallback, no thrown error).
|
|
156
|
+
* - `view-team-profiles.minTier: 1` + insufficient tier → throws
|
|
157
|
+
* `PolicyDeniedError` with `reason: 'insufficient-tier'`. The
|
|
158
|
+
* caller is expected to elevate, not silently degrade.
|
|
159
|
+
*
|
|
160
|
+
* The asymmetry is deliberate: `enabled: false` is a deliberate
|
|
161
|
+
* design choice ("nobody sees teammate profiles in this app");
|
|
162
|
+
* `insufficient-tier` is "you need to authenticate further". Different
|
|
163
|
+
* UX prompts for different intents.
|
|
164
|
+
*/
|
|
165
|
+
list<T = unknown>(presented?: UserEnvelopePresented): Promise<UserEnvelope<T>[]>;
|
|
166
|
+
/**
|
|
167
|
+
* Listen for changes to a specific keyringId's envelope. The callback
|
|
168
|
+
* fires synchronously after every successful local `updateMe` /
|
|
169
|
+
* `setMe` for that principal.
|
|
170
|
+
*
|
|
171
|
+
* Cross-instance changes (a teammate edits their profile on their
|
|
172
|
+
* device, the sync engine pulls the diff onto this device) will fire
|
|
173
|
+
* subscribers when the sync layer replays the write through this API.
|
|
174
|
+
* In v1, subscribers do NOT fire on raw store changes — wire your sync
|
|
175
|
+
* layer to call back through `vault.user.setMe` / `updateMe` if you
|
|
176
|
+
* need that.
|
|
177
|
+
*
|
|
178
|
+
* Pass keyringId `'*'` to fire on every change in the vault.
|
|
179
|
+
*/
|
|
180
|
+
subscribe<T = unknown>(keyringId: string, cb: (env: UserEnvelope<T> | null) => void): Unsubscribe;
|
|
181
|
+
/**
|
|
182
|
+
* Reactive handle that caches the current value and re-reads on every
|
|
183
|
+
* change for the given keyringId. Convenient for framework bindings:
|
|
184
|
+
*
|
|
185
|
+
* const live = vault.user.live<UserShape>(vault.userId)
|
|
186
|
+
* live.subscribe(env => render(env?.data))
|
|
187
|
+
*
|
|
188
|
+
* Initial value is `null` until the first `current()` call materializes
|
|
189
|
+
* it via `vault.user.get()`. Call `stop()` when done to release the
|
|
190
|
+
* subscription.
|
|
191
|
+
*/
|
|
192
|
+
live<T = unknown>(keyringId: string): LiveUserEnvelope<T>;
|
|
193
|
+
private fireChange;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Build the `vault.user` API implementation from its dependencies. This is
|
|
197
|
+
* the real {@link UserApiFactory} — `createNoydb()` dynamically imports it
|
|
198
|
+
* and stashes it on the `Noydb` instance so `Vault`'s constructor can call
|
|
199
|
+
* it synchronously.
|
|
200
|
+
*/
|
|
201
|
+
export declare const createUserApi: UserApiFactory;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-principal user envelope service — storage primitives. The contract
|
|
3
|
+
* types (`UserEnvelope`, `VaultUserApi`, `UserApiDeps`, ...) and the
|
|
4
|
+
* `USER_ENVELOPE_COLLECTION` / `USER_ENVELOPE_MAX_BYTES` constants and
|
|
5
|
+
* `UserEnvelopeOversizedError` live in the kernel spine
|
|
6
|
+
* (`kernel/types.ts` / `kernel/constants.ts` / `kernel/errors.ts`).
|
|
7
|
+
*
|
|
8
|
+
* @see docs/superpowers/specs/2026-05-05-user-envelope-design.md
|
|
9
|
+
*
|
|
10
|
+
* @module
|
|
11
|
+
*/
|
|
12
|
+
export { loadUserEnvelope, saveUserEnvelope, deleteUserEnvelope, listUserEnvelopeIds, } from './storage.js';
|