@noy-db/hub 0.8.0 → 0.9.0-pre.1
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/CHANGELOG.md +49 -0
- package/README.md +8 -8
- package/codemods/0.4.0-pre.json +1 -1
- package/codemods/0.8.0-pre.json +1 -1
- package/dist/api-6EFD43KN.js +18 -0
- package/dist/as/index.js +33 -23
- package/dist/as/index.js.map +1 -1
- package/dist/at/index.js +8 -8
- package/dist/attestation/index.js +18 -18
- package/dist/{backup-YE2VQ26S.js → backup-RJBFQSHE.js} +92 -31
- package/dist/backup-RJBFQSHE.js.map +1 -0
- package/dist/blobs/index.js +12 -12
- package/dist/broker/index.js +19 -11
- package/dist/broker/index.js.map +1 -1
- package/dist/by/index.js +2 -2
- package/dist/capsule/contract.d.ts +1 -1
- package/dist/capsule/contract.js +6 -6
- package/dist/capsule/enclave-aes/broker/proof.d.ts +12 -3
- package/dist/capsule/enclave-aes/crypto.d.ts +18 -0
- package/dist/capsule/enclave-aes/index.d.ts +3 -3
- package/dist/capsule/enclave-aes/index.js +46 -14
- package/dist/capsule/enclave-aes/index.js.map +1 -1
- package/dist/capsule/index.d.ts +2 -2
- package/dist/capsule/plumbing/record-codec.d.ts +7 -0
- package/dist/{capsule-VOLX3QRQ.js → capsule-6LJAVQNM.js} +14 -8
- package/dist/cargo/index.js +35 -35
- package/dist/{chunk-GZT3NQRA.js → chunk-25FXU6WS.js} +8 -2
- package/dist/chunk-25FXU6WS.js.map +1 -0
- package/dist/{chunk-OYW3I5M4.js → chunk-2DOCDOPL.js} +6 -6
- package/dist/chunk-2DX4JCRI.js +1 -0
- package/dist/{chunk-FLPCETP6.js → chunk-2LBS62AC.js} +2 -2
- package/dist/{chunk-WXE4W2U6.js → chunk-2ST3WA3C.js} +4 -4
- package/dist/{chunk-DQESF6RP.js → chunk-3G3GOGZZ.js} +50 -40
- package/dist/chunk-3G3GOGZZ.js.map +1 -0
- package/dist/{chunk-O2IMQSNA.js → chunk-3YBIVLTC.js} +2 -2
- package/dist/{chunk-LGNDFRYC.js → chunk-4CFHL5RY.js} +1 -1
- package/dist/chunk-4CFHL5RY.js.map +1 -0
- package/dist/{chunk-DIZLQVAA.js → chunk-4CHM2TRS.js} +2 -2
- package/dist/{chunk-V7ADQF5O.js → chunk-4CUJLEOA.js} +4 -4
- package/dist/{chunk-3EWS67C7.js → chunk-4TG2ITRW.js} +2 -2
- package/dist/{chunk-HS554XAF.js → chunk-5HQFROZS.js} +2 -2
- package/dist/{chunk-IUBMZPHM.js → chunk-5ZVE3N5C.js} +5 -6
- package/dist/chunk-5ZVE3N5C.js.map +1 -0
- package/dist/{chunk-PP3K67AJ.js → chunk-654RE5YC.js} +3 -3
- package/dist/{chunk-FOEDQATO.js → chunk-66GD7XXU.js} +2 -2
- package/dist/{chunk-BNWA3WG5.js → chunk-72FQ46VW.js} +3 -3
- package/dist/{chunk-EYG2CY2X.js → chunk-7JPA3LIH.js} +11 -11
- package/dist/chunk-7JPA3LIH.js.map +1 -0
- package/dist/{chunk-JQYKPKG6.js → chunk-7K42TSCY.js} +4 -4
- package/dist/{chunk-BPWYQ25R.js → chunk-7Q6IU3R7.js} +4 -4
- package/dist/{chunk-BPWYQ25R.js.map → chunk-7Q6IU3R7.js.map} +1 -1
- package/dist/{chunk-T7IR4N2S.js → chunk-7UHLO4ZN.js} +37 -2
- package/dist/chunk-7UHLO4ZN.js.map +1 -0
- package/dist/{chunk-UEFOQH74.js → chunk-ADCXTW7L.js} +2 -2
- package/dist/{chunk-MBMTND6D.js → chunk-AGGPT4UE.js} +2 -2
- package/dist/{chunk-RB4DOPGZ.js → chunk-AKIEBFIJ.js} +10 -10
- package/dist/{chunk-VHBKYN2J.js → chunk-B3B6HV5S.js} +2 -2
- package/dist/{chunk-JWWYRR4Q.js → chunk-B6EWMGFX.js} +2 -2
- package/dist/{chunk-H7JBY4P7.js → chunk-B7Y2BRQA.js} +14 -14
- package/dist/chunk-B7Y2BRQA.js.map +1 -0
- package/dist/{chunk-4CIQDWRB.js → chunk-BFJE2GPP.js} +14 -8
- package/dist/{chunk-4CIQDWRB.js.map → chunk-BFJE2GPP.js.map} +1 -1
- package/dist/{chunk-WPOYWFSE.js → chunk-BJRKXNFP.js} +7 -7
- package/dist/{chunk-H427H63K.js → chunk-BPQ5CRJF.js} +2 -2
- package/dist/{chunk-VFHCKG5M.js → chunk-BVRJYMFZ.js} +3 -3
- package/dist/{chunk-244QBK7Z.js → chunk-C4XV3PSJ.js} +4 -4
- package/dist/{chunk-244QBK7Z.js.map → chunk-C4XV3PSJ.js.map} +1 -1
- package/dist/{chunk-SMV2HRDU.js → chunk-DFC4WTJW.js} +2 -2
- package/dist/{chunk-5A4345TG.js → chunk-DMIEKD24.js} +3 -3
- package/dist/{chunk-TKVUE4JF.js → chunk-DQAXA2GK.js} +9 -9
- package/dist/{chunk-AL6ML4LA.js → chunk-DWCFGF2K.js} +5 -5
- package/dist/{chunk-Y3LPTBG7.js → chunk-E2C6FFSI.js} +6 -9
- package/dist/chunk-E2C6FFSI.js.map +1 -0
- package/dist/{chunk-LNSVGRHO.js → chunk-EQ6C2ZPT.js} +17 -51
- package/dist/chunk-EQ6C2ZPT.js.map +1 -0
- package/dist/chunk-EZOFTI4K.js +60 -0
- package/dist/chunk-EZOFTI4K.js.map +1 -0
- package/dist/{chunk-PD64727P.js → chunk-FMINS2B6.js} +2 -2
- package/dist/chunk-FMINS2B6.js.map +1 -0
- package/dist/{chunk-QBLT6POL.js → chunk-FPF5HRBE.js} +2 -2
- package/dist/{chunk-UA372JHH.js → chunk-FZVCZEVI.js} +3 -3
- package/dist/chunk-FZVCZEVI.js.map +1 -0
- package/dist/{chunk-FFWI7UH7.js → chunk-GAGT3YZN.js} +1 -1
- package/dist/chunk-GAGT3YZN.js.map +1 -0
- package/dist/{chunk-5WWDGFOS.js → chunk-GIQJGXV7.js} +2 -2
- package/dist/{chunk-V3RWOOSO.js → chunk-GYZICGRU.js} +4 -4
- package/dist/chunk-GYZICGRU.js.map +1 -0
- package/dist/{chunk-BVCUTXE3.js → chunk-H334G6KU.js} +2 -2
- package/dist/{chunk-AEQGFRU4.js → chunk-HE7EAHGS.js} +3 -3
- package/dist/chunk-HKB4HZDU.js +74 -0
- package/dist/chunk-HKB4HZDU.js.map +1 -0
- package/dist/{chunk-4V3Q35WG.js → chunk-ICF3TIGY.js} +3 -3
- package/dist/{chunk-3L2NBKDR.js → chunk-IF2M43G4.js} +2 -2
- package/dist/{chunk-37EPTBBR.js → chunk-IKPQ2GGB.js} +46 -4
- package/dist/chunk-IKPQ2GGB.js.map +1 -0
- package/dist/{chunk-DHHGL42E.js → chunk-IKS2CPAG.js} +27 -11
- package/dist/chunk-IKS2CPAG.js.map +1 -0
- package/dist/{chunk-3A5DUZ56.js → chunk-IMIQAGR7.js} +6 -6
- package/dist/{chunk-3A5DUZ56.js.map → chunk-IMIQAGR7.js.map} +1 -1
- package/dist/{chunk-A4XMIZT3.js → chunk-IQAJ4OR6.js} +41 -6
- package/dist/chunk-IQAJ4OR6.js.map +1 -0
- package/dist/{chunk-IUT3GWP3.js → chunk-IUD7WU67.js} +17 -93
- package/dist/chunk-IUD7WU67.js.map +1 -0
- package/dist/{chunk-AUKKUPVB.js → chunk-IVLRPRXM.js} +2 -2
- package/dist/{chunk-GUZET4SG.js → chunk-JAQHWHUN.js} +4 -4
- package/dist/chunk-JAQHWHUN.js.map +1 -0
- package/dist/{chunk-Y2RKVFKR.js → chunk-K4JSTGXT.js} +2 -2
- package/dist/{chunk-EJLV62NI.js → chunk-KN4LUMH6.js} +2 -2
- package/dist/{chunk-23D6M6VM.js → chunk-KZA3DITX.js} +4 -4
- package/dist/{chunk-E2N2T5ZO.js → chunk-L2VM64HK.js} +2 -2
- package/dist/chunk-L4UL4IAR.js +55 -0
- package/dist/chunk-L4UL4IAR.js.map +1 -0
- package/dist/{chunk-UIYESRD6.js → chunk-LUCQY3OM.js} +10 -10
- package/dist/{chunk-UIYESRD6.js.map → chunk-LUCQY3OM.js.map} +1 -1
- package/dist/{chunk-O46CHQT7.js → chunk-MAQBYBUX.js} +4 -4
- package/dist/{chunk-EZOAKKTB.js → chunk-MBPZMZVB.js} +2 -2
- package/dist/{chunk-XQRFSKYM.js → chunk-MCNNZBG7.js} +2 -2
- package/dist/{chunk-YRXFFWG4.js → chunk-MLVPMDOZ.js} +2 -2
- package/dist/{chunk-5FE75J4S.js → chunk-MMCN7TLK.js} +5 -5
- package/dist/{chunk-MXOQ5JCG.js → chunk-MRCR7ZMC.js} +686 -202
- package/dist/chunk-MRCR7ZMC.js.map +1 -0
- package/dist/{chunk-SYNY3VB5.js → chunk-NCTN2FW4.js} +2 -2
- package/dist/{chunk-4T3SE27M.js → chunk-ND6S2DKC.js} +2 -2
- package/dist/{chunk-3XJQBBZD.js → chunk-NTVKHQ3L.js} +2 -2
- package/dist/{chunk-RHVMZSUU.js → chunk-NV4OESHC.js} +1 -1
- package/dist/chunk-NV4OESHC.js.map +1 -0
- package/dist/chunk-NXQEOC3X.js +40 -0
- package/dist/chunk-NXQEOC3X.js.map +1 -0
- package/dist/{chunk-Q4UHJ5SN.js → chunk-O2VQ3K36.js} +2 -2
- package/dist/{chunk-HW7CMKUG.js → chunk-OFD2HD6F.js} +1 -1
- package/dist/{chunk-HW7CMKUG.js.map → chunk-OFD2HD6F.js.map} +1 -1
- package/dist/{chunk-2GHDLTPE.js → chunk-OGKMRIIJ.js} +2 -2
- package/dist/{chunk-N7EVQD5S.js → chunk-ONZ3B5EW.js} +4 -4
- package/dist/{chunk-VKI2EB3N.js → chunk-OOPSMQX5.js} +3 -3
- package/dist/{chunk-VMV5SBE4.js → chunk-OYEBSWLE.js} +5 -5
- package/dist/{chunk-JDEYF3PJ.js → chunk-P6FATPXQ.js} +2 -2
- package/dist/chunk-P6FATPXQ.js.map +1 -0
- package/dist/{chunk-VVOLDVIR.js → chunk-PLTIJDQN.js} +2 -2
- package/dist/{chunk-OKSTSITU.js → chunk-PR7ILCIH.js} +3 -3
- package/dist/{chunk-7R2Q7CPL.js → chunk-QE3TLZ6Z.js} +7 -7
- package/dist/{chunk-G2MVBDFP.js → chunk-QFW4MYGN.js} +39 -9
- package/dist/chunk-QFW4MYGN.js.map +1 -0
- package/dist/{chunk-6QVKPHBF.js → chunk-QHG7GQKM.js} +2 -2
- package/dist/chunk-QJNAHPVT.js +91 -0
- package/dist/chunk-QJNAHPVT.js.map +1 -0
- package/dist/{chunk-LIOVX5TJ.js → chunk-QT5ITL25.js} +3 -3
- package/dist/{chunk-IMQKWR46.js → chunk-R2ZULFXU.js} +4 -5
- package/dist/chunk-R2ZULFXU.js.map +1 -0
- package/dist/{chunk-Q2XRFWOI.js → chunk-RRTQAQ3N.js} +2 -2
- package/dist/{chunk-H23XHRTT.js → chunk-RUE6TCES.js} +809 -101
- package/dist/chunk-RUE6TCES.js.map +1 -0
- package/dist/chunk-RWFQVNXR.js +24 -0
- package/dist/chunk-RWFQVNXR.js.map +1 -0
- package/dist/{chunk-2PVXF5CS.js → chunk-SALY3LIJ.js} +3 -3
- package/dist/{chunk-JOSPH3E5.js → chunk-SBAR5JQ6.js} +2 -2
- package/dist/{chunk-N7UDP5VU.js → chunk-SCH2F7R2.js} +7 -7
- package/dist/{chunk-MXKI4ABF.js → chunk-SOOAW6HK.js} +3 -3
- package/dist/{chunk-VQDZYB2B.js → chunk-T4VTRKCY.js} +3 -3
- package/dist/{chunk-VQDZYB2B.js.map → chunk-T4VTRKCY.js.map} +1 -1
- package/dist/{chunk-TEHHROZL.js → chunk-T5EXREMW.js} +5 -5
- package/dist/{chunk-M5B2W6YY.js → chunk-TDJVQTXD.js} +3 -3
- package/dist/{chunk-QMWY2FDS.js → chunk-THQ3BHLM.js} +2 -2
- package/dist/{chunk-VAORSCSU.js → chunk-TLIFNRU5.js} +2 -2
- package/dist/chunk-TLIFNRU5.js.map +1 -0
- package/dist/{chunk-FVH5QYY2.js → chunk-TRHUNPXP.js} +2 -2
- package/dist/{chunk-EGVJ7TM4.js → chunk-UL6MTRMJ.js} +8 -9
- package/dist/chunk-UL6MTRMJ.js.map +1 -0
- package/dist/chunk-UNL6YGL5.js +169 -0
- package/dist/chunk-UNL6YGL5.js.map +1 -0
- package/dist/{chunk-747G6CT3.js → chunk-UORWAG7K.js} +2 -2
- package/dist/{chunk-XSPFDUDG.js → chunk-V7AKGAXY.js} +314 -77
- package/dist/chunk-V7AKGAXY.js.map +1 -0
- package/dist/{chunk-TZZBXPZK.js → chunk-VLQ6KT7F.js} +2 -2
- package/dist/{chunk-NCO25JZO.js → chunk-VP37VUKQ.js} +4 -4
- package/dist/{chunk-52MGURXO.js → chunk-WBUHHMLN.js} +2 -2
- package/dist/{chunk-EZGV6F47.js → chunk-WRLWEYHY.js} +7 -1
- package/dist/chunk-WRLWEYHY.js.map +1 -0
- package/dist/{chunk-2MG3SW7Q.js → chunk-X6Z2SIRF.js} +2 -2
- package/dist/{chunk-U2FZNEWJ.js → chunk-XLKWF3L4.js} +8 -6
- package/dist/{chunk-U2FZNEWJ.js.map → chunk-XLKWF3L4.js.map} +1 -1
- package/dist/{chunk-5UMK7GRI.js → chunk-XPNJH7GN.js} +5 -5
- package/dist/{chunk-KZXDLBY6.js → chunk-XPW7T2GN.js} +5 -5
- package/dist/{chunk-SV2PM2OY.js → chunk-XX4R7TUB.js} +1 -1
- package/dist/chunk-XX4R7TUB.js.map +1 -0
- package/dist/{chunk-NBQ3KK6X.js → chunk-Y55XHMQB.js} +4 -4
- package/dist/chunk-Y55XHMQB.js.map +1 -0
- package/dist/{chunk-5KC7QYEC.js → chunk-YH4OUOSI.js} +33 -7
- package/dist/chunk-YH4OUOSI.js.map +1 -0
- package/dist/{chunk-FFJFE4T7.js → chunk-YJGKOSQD.js} +2 -2
- package/dist/{chunk-2AFX33YA.js → chunk-Z3STG43F.js} +3 -3
- package/dist/chunk-Z3STG43F.js.map +1 -0
- package/dist/{chunk-OIEO4WDL.js → chunk-ZD7WFMV2.js} +2 -2
- package/dist/chunk-ZD7WFMV2.js.map +1 -0
- package/dist/{chunk-42ALPZ2B.js → chunk-ZF6JECDT.js} +4 -4
- package/dist/{chunk-42ALPZ2B.js.map → chunk-ZF6JECDT.js.map} +1 -1
- package/dist/{chunk-4JPMZTJY.js → chunk-ZF7KNSLU.js} +2 -2
- package/dist/{chunk-2ODVB6LZ.js → chunk-ZGKODRGB.js} +2 -2
- package/dist/{chunk-JIBUPZHA.js → chunk-ZNEKQFGF.js} +4 -4
- package/dist/{chunk-DLD5LGDS.js → chunk-ZUTUNVFD.js} +3 -3
- package/dist/{chunk-JSMTXZR3.js → chunk-ZWMOHANW.js} +8 -6
- package/dist/chunk-ZWMOHANW.js.map +1 -0
- package/dist/{chunk-MILI22XQ.js → chunk-ZZZ4VCY2.js} +10 -10
- package/dist/chunk-ZZZ4VCY2.js.map +1 -0
- package/dist/classified/index.js +5 -5
- package/dist/{classified-marker-SIYKUU5L.js → classified-marker-WKP33U2R.js} +3 -3
- package/dist/collection-facade-COSGZKLC.js +41 -0
- package/dist/{computed-FAD7SED4.js → computed-WN6V53ZV.js} +3 -3
- package/dist/consent/index.js +8 -8
- package/dist/cover/index.js +8 -8
- package/dist/coverage/index.js +1 -1
- package/dist/custody/index.js +12 -11
- package/dist/{dead-filter-4F3LWYKH.js → dead-filter-43WL3Y5H.js} +10 -10
- package/dist/debug/index.js +7 -7
- package/dist/delegation-5UWT4JGT.js +26 -0
- package/dist/derivations/index.js +24 -23
- package/dist/derive-IL5JNLEE.js +20 -0
- package/dist/directory/index.js +9 -9
- package/dist/{dispatch-JDZNGEB3.js → dispatch-LOQQD5JK.js} +20 -20
- package/dist/{dispatch-H4HV32AM.js → dispatch-SHKTG57L.js} +5 -5
- package/dist/executor-6PQ7WAGV.js +35 -0
- package/dist/executor-6ZPQA6HS.js +8 -0
- package/dist/executor-OXRA64TY.js +8 -0
- package/dist/export-accessible-XG3FKJWW.js +22 -0
- package/dist/extract-partition-33747NY5.js +35 -0
- package/dist/{fanout-sidecar-L7NHPIOC.js → fanout-sidecar-NEB6IYV7.js} +8 -8
- package/dist/find-VW543G3J.js +10 -0
- package/dist/forget/index.js +25 -8
- package/dist/forget/index.js.map +1 -1
- package/dist/guards/index.js +4 -4
- package/dist/history/index.js +15 -13
- package/dist/history/index.js.map +1 -1
- package/dist/i18n/index.js +13 -13
- package/dist/index.d.ts +9 -6
- package/dist/index.js +126 -110
- package/dist/index.js.map +1 -1
- package/dist/indexing/index.js +6 -6
- package/dist/introspection/index.js +15 -11
- package/dist/issue-4ZPSY44M.js +19 -0
- package/dist/kernel/cache/index.d.ts +1 -1
- package/dist/kernel/collection.d.ts +86 -6
- package/dist/kernel/constants.d.ts +7 -0
- package/dist/kernel/errors.d.ts +42 -4
- package/dist/kernel/export-scope.d.ts +40 -0
- package/dist/kernel/merge-authority.d.ts +5 -1
- package/dist/kernel/noydb.d.ts +118 -21
- package/dist/kernel/put-many-atomic.d.ts +1 -1
- package/dist/kernel/query/live/live.d.ts +2 -1
- package/dist/kernel/query/sort-key.d.ts +0 -2
- package/dist/kernel/rejection-seal.d.ts +13 -0
- package/dist/kernel/sync-wiring.d.ts +55 -0
- package/dist/kernel/tx-write-gate.d.ts +2 -4
- package/dist/kernel/types.d.ts +463 -14
- package/dist/kernel/validation.d.ts +0 -10
- package/dist/kernel/vault.d.ts +42 -4
- package/dist/kernel/via/reconcile.d.ts +1 -42
- package/dist/{ledger-5ZMGE44K.js → ledger-MZ25UFT2.js} +10 -10
- package/dist/liberate-OJIP2ZFX.js +25 -0
- package/dist/{link-set-MFXC24VK.js → link-set-4FRRAVTH.js} +10 -10
- package/dist/{managed-secret-MFTFT22X.js → managed-secret-SQWO2EUR.js} +9 -9
- package/dist/materialized-views/index.js +26 -26
- package/dist/{migrate-cek-DZRFFOHW.js → migrate-cek-JWEM4RP6.js} +2 -2
- package/dist/money/index.js +5 -5
- package/dist/noydb-U62OVKXB.js +100 -0
- package/dist/on/index.js +25 -0
- package/dist/overlay-views/index.js +4 -4
- package/dist/periods/index.js +11 -11
- package/dist/pod/index.js +71 -67
- package/dist/{pod-handle-A3LET7NO.js → pod-handle-R6Y4MILX.js} +8 -8
- package/dist/policy/index.js +9 -9
- package/dist/port/as/active.d.ts +4 -0
- package/dist/port/as/index.d.ts +1 -0
- package/dist/port/by/index.d.ts +14 -5
- package/dist/port/on/index.d.ts +26 -0
- package/dist/port/to/index.d.ts +1 -1
- package/dist/port/with/admission-authority.d.ts +34 -0
- package/dist/port/with/broker-strategy.d.ts +24 -0
- package/dist/port/with/coverage-strategy.d.ts +17 -1
- package/dist/port/with/formats-strategy.d.ts +34 -1
- package/dist/port/with/lookup-strategy.d.ts +85 -4
- package/dist/port/with/rejection-courier.d.ts +37 -0
- package/dist/port/with/restore-host.d.ts +33 -0
- package/dist/port/with/service-bus.d.ts +20 -1
- package/dist/port/with/team-strategy.d.ts +2 -2
- package/dist/port/with/write-hooks.d.ts +2 -0
- package/dist/portability/index.js +8 -8
- package/dist/{post-register-7ND27CF2.js → post-register-GRVQHBOH.js} +6 -6
- package/dist/query/all/index.js +16 -16
- package/dist/query/index.js +8 -8
- package/dist/query/live/index.js +7 -7
- package/dist/query/reduce/index.js +10 -10
- package/dist/query/relate/index.js +10 -10
- package/dist/reduce/index.js +8 -8
- package/dist/register-YJ5YLQ36.js +30 -0
- package/dist/registry-ICOHBQFD.js +8 -0
- package/dist/registry-MJ7MWCSW.js +35 -0
- package/dist/registry-MVEKKGWL.js +23 -0
- package/dist/registry-XP744FAP.js +8 -0
- package/dist/request-withdrawal-LSU4G6W3.js +28 -0
- package/dist/restore-to-DVBHAQAA.js +66 -0
- package/dist/restore-to-DVBHAQAA.js.map +1 -0
- package/dist/{reveal-B2TLP4JQ.js → reveal-AIHOIK2N.js} +7 -7
- package/dist/revoke-QUT7WWG3.js +24 -0
- package/dist/satellites/index.js +1 -1
- package/dist/schema-update/index.js +2 -2
- package/dist/sealed-record/index.js +11 -11
- package/dist/search/index.js +4 -4
- package/dist/{seed-XNSE4U3S.js → seed-GFLA4FCK.js} +136 -27
- package/dist/seed-GFLA4FCK.js.map +1 -0
- package/dist/sequence/index.js +8 -8
- package/dist/session/index.js +8 -8
- package/dist/shadow/index.js +2 -2
- package/dist/signer-NYR4I3FO.js +23 -0
- package/dist/snapshots/index.js +9 -9
- package/dist/{stale-6GCFMOOR.js → stale-PIJPAL5T.js} +9 -9
- package/dist/storage-VH6SPXHC.js +21 -0
- package/dist/{store-coordination-provider-C4BPT5XF.js → store-coordination-provider-2KSHCOPU.js} +9 -9
- package/dist/sync/index.js +19 -13
- package/dist/sync/index.js.map +1 -1
- package/dist/team/index.js +17 -15
- package/dist/tiers/index.js +10 -10
- package/dist/to/index.js +2 -2
- package/dist/transactions/index.js +3 -3
- package/dist/util/index.js +1 -1
- package/dist/vault-head/index.js +8 -8
- package/dist/{verify-UKALW7C2.js → verify-PCFS4PNS.js} +7 -7
- package/dist/via/classified/presets.d.ts +29 -0
- package/dist/via/classified/resolve.d.ts +7 -0
- package/dist/via/geo/binding.d.ts +0 -4
- package/dist/via/lookup/index.d.ts +32 -0
- package/dist/via/money/binding.d.ts +0 -9
- package/dist/walk-OZCN6LJS.js +20 -0
- package/dist/with-audit/attestation/strategy.d.ts +2 -1
- package/dist/with-audit/attestation/vault-facade.d.ts +7 -0
- package/dist/with-audit/forget/completeness.d.ts +66 -0
- package/dist/with-audit/forget/index.d.ts +2 -0
- package/dist/with-audit/forget/strategy.d.ts +65 -0
- package/dist/with-audit/guards/types.d.ts +2 -0
- package/dist/with-audit/periods/periods.d.ts +0 -9
- package/dist/with-audit/periods/reserved-collections.d.ts +7 -0
- package/dist/with-audit/portability/request-withdrawal.d.ts +0 -1
- package/dist/with-audit/portability/withdraw-accessible.d.ts +0 -1
- package/dist/with-audit/tiers/index.d.ts +6 -6
- package/dist/with-audit/tiers/strategy.d.ts +19 -0
- package/dist/with-cargo/extract-partition.d.ts +0 -46
- package/dist/with-commit/history/history.d.ts +16 -0
- package/dist/with-commit/history/restore-to.d.ts +40 -0
- package/dist/with-commit/numbering/index.d.ts +0 -2
- package/dist/with-commit/tx/transaction.d.ts +2 -24
- package/dist/with-commit/vault-head/strategy.d.ts +7 -0
- package/dist/with-fork/snapshots/noydb-facade.d.ts +7 -0
- package/dist/with-formula/derivations/trigger-match.d.ts +8 -5
- package/dist/with-formula/materialized-views/emit-memo.d.ts +0 -2
- package/dist/with-lookup/embeddings/index.d.ts +1 -2
- package/dist/with-lookup/indexing/collection-facade.d.ts +1 -15
- package/dist/with-lookup/indexing/eager-indexes.d.ts +2 -1
- package/dist/with-lookup/search/collection-facade.d.ts +0 -12
- package/dist/with-party/broker/index.d.ts +2 -2
- package/dist/with-party/broker/seed.d.ts +29 -10
- package/dist/with-party/custody/strategy.d.ts +2 -2
- package/dist/with-party/policy/noydb-facade.d.ts +1 -31
- package/dist/with-party/team/delegation.d.ts +93 -7
- package/dist/with-party/team/echo-secret.d.ts +0 -2
- package/dist/with-party/team/index.d.ts +2 -0
- package/dist/with-party/team/keyring.d.ts +133 -24
- package/dist/with-party/team/magic-link-grant.d.ts +11 -1
- package/dist/with-party/team/noydb-facade.d.ts +19 -2
- package/dist/with-party/team/reserved-secret-collections.d.ts +10 -8
- package/dist/with-party/team/roster-tag.d.ts +42 -1
- package/dist/with-party/team/tiers.d.ts +36 -5
- package/dist/with-pod/backup.d.ts +9 -17
- package/dist/with-shape/blobs/blob-set.d.ts +23 -0
- package/dist/with-shape/blobs/legacy-sweep.d.ts +16 -0
- package/dist/with-shape/introspection/describe.d.ts +1 -2
- package/dist/with-shape/introspection/index.d.ts +1 -0
- package/dist/with-shape/introspection/types.d.ts +2 -1
- package/dist/with-shape/schema-update/fence.d.ts +7 -0
- package/dist/with-sync/active.d.ts +28 -1
- package/dist/with-sync/engine.d.ts +88 -2
- package/dist/with-sync/index.d.ts +1 -0
- package/dist/with-sync/reserved-mirror.d.ts +112 -0
- package/dist/with-sync/strategy.d.ts +9 -0
- package/dist/with-sync/tab-write-relay.d.ts +0 -10
- package/dist/withdraw-accessible-MTFP7OIB.js +25 -0
- package/dist/withdraw-accessible-MTFP7OIB.js.map +1 -0
- package/package.json +3 -3
- package/dist/api-OS747DS4.js +0 -18
- package/dist/backup-YE2VQ26S.js.map +0 -1
- package/dist/chunk-2AFX33YA.js.map +0 -1
- package/dist/chunk-2RH777HH.js +0 -126
- package/dist/chunk-2RH777HH.js.map +0 -1
- package/dist/chunk-37EPTBBR.js.map +0 -1
- package/dist/chunk-5KC7QYEC.js.map +0 -1
- package/dist/chunk-7XMHMVTS.js +0 -20
- package/dist/chunk-7XMHMVTS.js.map +0 -1
- package/dist/chunk-A4XMIZT3.js.map +0 -1
- package/dist/chunk-DHHGL42E.js.map +0 -1
- package/dist/chunk-DQESF6RP.js.map +0 -1
- package/dist/chunk-EGVJ7TM4.js.map +0 -1
- package/dist/chunk-EYG2CY2X.js.map +0 -1
- package/dist/chunk-EZGV6F47.js.map +0 -1
- package/dist/chunk-FFWI7UH7.js.map +0 -1
- package/dist/chunk-G2MVBDFP.js.map +0 -1
- package/dist/chunk-GUZET4SG.js.map +0 -1
- package/dist/chunk-GZT3NQRA.js.map +0 -1
- package/dist/chunk-H23XHRTT.js.map +0 -1
- package/dist/chunk-H7JBY4P7.js.map +0 -1
- package/dist/chunk-IMQKWR46.js.map +0 -1
- package/dist/chunk-IUBMZPHM.js.map +0 -1
- package/dist/chunk-IUT3GWP3.js.map +0 -1
- package/dist/chunk-JDEYF3PJ.js.map +0 -1
- package/dist/chunk-JSMTXZR3.js.map +0 -1
- package/dist/chunk-LGNDFRYC.js.map +0 -1
- package/dist/chunk-LNSVGRHO.js.map +0 -1
- package/dist/chunk-MILI22XQ.js.map +0 -1
- package/dist/chunk-MXOQ5JCG.js.map +0 -1
- package/dist/chunk-NBQ3KK6X.js.map +0 -1
- package/dist/chunk-OIEO4WDL.js.map +0 -1
- package/dist/chunk-PD64727P.js.map +0 -1
- package/dist/chunk-RHVMZSUU.js.map +0 -1
- package/dist/chunk-SV2PM2OY.js.map +0 -1
- package/dist/chunk-T7IR4N2S.js.map +0 -1
- package/dist/chunk-UA372JHH.js.map +0 -1
- package/dist/chunk-UBSFPGVJ.js +0 -1
- package/dist/chunk-V3RWOOSO.js.map +0 -1
- package/dist/chunk-VAORSCSU.js.map +0 -1
- package/dist/chunk-XSPFDUDG.js.map +0 -1
- package/dist/chunk-Y3LPTBG7.js.map +0 -1
- package/dist/collection-facade-CS7CA2XO.js +0 -47
- package/dist/delegation-NANZDG4N.js +0 -102
- package/dist/delegation-NANZDG4N.js.map +0 -1
- package/dist/derive-XLOJVXPU.js +0 -20
- package/dist/executor-FMPVN6DT.js +0 -35
- package/dist/executor-LBBBRTN5.js +0 -8
- package/dist/executor-OSRZST2U.js +0 -8
- package/dist/export-accessible-RAOJAAU5.js +0 -22
- package/dist/extract-partition-JD5CUSTG.js +0 -37
- package/dist/find-JRN4RNQ5.js +0 -10
- package/dist/issue-YIVBZUTH.js +0 -19
- package/dist/liberate-WZSZM2W6.js +0 -24
- package/dist/noydb-ITIGNKUF.js +0 -96
- package/dist/register-DT5HZ2LZ.js +0 -30
- package/dist/registry-BHRZGZHF.js +0 -8
- package/dist/registry-ET6ZFFWA.js +0 -34
- package/dist/registry-HXFGLGTG.js +0 -8
- package/dist/registry-THCPDEOD.js +0 -23
- package/dist/request-withdrawal-AV2MJJKY.js +0 -30
- package/dist/revoke-6DWIEOCV.js +0 -24
- package/dist/seed-XNSE4U3S.js.map +0 -1
- package/dist/signer-MHGW3OIL.js +0 -23
- package/dist/storage-BYN5LO6Z.js +0 -21
- package/dist/walk-4VPK7AS4.js +0 -20
- package/dist/withdraw-accessible-HL7GACUE.js +0 -27
- /package/dist/{api-OS747DS4.js.map → api-6EFD43KN.js.map} +0 -0
- /package/dist/{capsule-VOLX3QRQ.js.map → capsule-6LJAVQNM.js.map} +0 -0
- /package/dist/{chunk-OYW3I5M4.js.map → chunk-2DOCDOPL.js.map} +0 -0
- /package/dist/{chunk-UBSFPGVJ.js.map → chunk-2DX4JCRI.js.map} +0 -0
- /package/dist/{chunk-FLPCETP6.js.map → chunk-2LBS62AC.js.map} +0 -0
- /package/dist/{chunk-WXE4W2U6.js.map → chunk-2ST3WA3C.js.map} +0 -0
- /package/dist/{chunk-O2IMQSNA.js.map → chunk-3YBIVLTC.js.map} +0 -0
- /package/dist/{chunk-DIZLQVAA.js.map → chunk-4CHM2TRS.js.map} +0 -0
- /package/dist/{chunk-V7ADQF5O.js.map → chunk-4CUJLEOA.js.map} +0 -0
- /package/dist/{chunk-3EWS67C7.js.map → chunk-4TG2ITRW.js.map} +0 -0
- /package/dist/{chunk-HS554XAF.js.map → chunk-5HQFROZS.js.map} +0 -0
- /package/dist/{chunk-PP3K67AJ.js.map → chunk-654RE5YC.js.map} +0 -0
- /package/dist/{chunk-FOEDQATO.js.map → chunk-66GD7XXU.js.map} +0 -0
- /package/dist/{chunk-BNWA3WG5.js.map → chunk-72FQ46VW.js.map} +0 -0
- /package/dist/{chunk-JQYKPKG6.js.map → chunk-7K42TSCY.js.map} +0 -0
- /package/dist/{chunk-UEFOQH74.js.map → chunk-ADCXTW7L.js.map} +0 -0
- /package/dist/{chunk-MBMTND6D.js.map → chunk-AGGPT4UE.js.map} +0 -0
- /package/dist/{chunk-RB4DOPGZ.js.map → chunk-AKIEBFIJ.js.map} +0 -0
- /package/dist/{chunk-VHBKYN2J.js.map → chunk-B3B6HV5S.js.map} +0 -0
- /package/dist/{chunk-JWWYRR4Q.js.map → chunk-B6EWMGFX.js.map} +0 -0
- /package/dist/{chunk-WPOYWFSE.js.map → chunk-BJRKXNFP.js.map} +0 -0
- /package/dist/{chunk-H427H63K.js.map → chunk-BPQ5CRJF.js.map} +0 -0
- /package/dist/{chunk-VFHCKG5M.js.map → chunk-BVRJYMFZ.js.map} +0 -0
- /package/dist/{chunk-SMV2HRDU.js.map → chunk-DFC4WTJW.js.map} +0 -0
- /package/dist/{chunk-5A4345TG.js.map → chunk-DMIEKD24.js.map} +0 -0
- /package/dist/{chunk-TKVUE4JF.js.map → chunk-DQAXA2GK.js.map} +0 -0
- /package/dist/{chunk-AL6ML4LA.js.map → chunk-DWCFGF2K.js.map} +0 -0
- /package/dist/{chunk-QBLT6POL.js.map → chunk-FPF5HRBE.js.map} +0 -0
- /package/dist/{chunk-5WWDGFOS.js.map → chunk-GIQJGXV7.js.map} +0 -0
- /package/dist/{chunk-BVCUTXE3.js.map → chunk-H334G6KU.js.map} +0 -0
- /package/dist/{chunk-AEQGFRU4.js.map → chunk-HE7EAHGS.js.map} +0 -0
- /package/dist/{chunk-4V3Q35WG.js.map → chunk-ICF3TIGY.js.map} +0 -0
- /package/dist/{chunk-3L2NBKDR.js.map → chunk-IF2M43G4.js.map} +0 -0
- /package/dist/{chunk-AUKKUPVB.js.map → chunk-IVLRPRXM.js.map} +0 -0
- /package/dist/{chunk-Y2RKVFKR.js.map → chunk-K4JSTGXT.js.map} +0 -0
- /package/dist/{chunk-EJLV62NI.js.map → chunk-KN4LUMH6.js.map} +0 -0
- /package/dist/{chunk-23D6M6VM.js.map → chunk-KZA3DITX.js.map} +0 -0
- /package/dist/{chunk-E2N2T5ZO.js.map → chunk-L2VM64HK.js.map} +0 -0
- /package/dist/{chunk-O46CHQT7.js.map → chunk-MAQBYBUX.js.map} +0 -0
- /package/dist/{chunk-EZOAKKTB.js.map → chunk-MBPZMZVB.js.map} +0 -0
- /package/dist/{chunk-XQRFSKYM.js.map → chunk-MCNNZBG7.js.map} +0 -0
- /package/dist/{chunk-YRXFFWG4.js.map → chunk-MLVPMDOZ.js.map} +0 -0
- /package/dist/{chunk-5FE75J4S.js.map → chunk-MMCN7TLK.js.map} +0 -0
- /package/dist/{chunk-SYNY3VB5.js.map → chunk-NCTN2FW4.js.map} +0 -0
- /package/dist/{chunk-4T3SE27M.js.map → chunk-ND6S2DKC.js.map} +0 -0
- /package/dist/{chunk-3XJQBBZD.js.map → chunk-NTVKHQ3L.js.map} +0 -0
- /package/dist/{chunk-Q4UHJ5SN.js.map → chunk-O2VQ3K36.js.map} +0 -0
- /package/dist/{chunk-2GHDLTPE.js.map → chunk-OGKMRIIJ.js.map} +0 -0
- /package/dist/{chunk-N7EVQD5S.js.map → chunk-ONZ3B5EW.js.map} +0 -0
- /package/dist/{chunk-VKI2EB3N.js.map → chunk-OOPSMQX5.js.map} +0 -0
- /package/dist/{chunk-VMV5SBE4.js.map → chunk-OYEBSWLE.js.map} +0 -0
- /package/dist/{chunk-VVOLDVIR.js.map → chunk-PLTIJDQN.js.map} +0 -0
- /package/dist/{chunk-OKSTSITU.js.map → chunk-PR7ILCIH.js.map} +0 -0
- /package/dist/{chunk-7R2Q7CPL.js.map → chunk-QE3TLZ6Z.js.map} +0 -0
- /package/dist/{chunk-6QVKPHBF.js.map → chunk-QHG7GQKM.js.map} +0 -0
- /package/dist/{chunk-LIOVX5TJ.js.map → chunk-QT5ITL25.js.map} +0 -0
- /package/dist/{chunk-Q2XRFWOI.js.map → chunk-RRTQAQ3N.js.map} +0 -0
- /package/dist/{chunk-2PVXF5CS.js.map → chunk-SALY3LIJ.js.map} +0 -0
- /package/dist/{chunk-JOSPH3E5.js.map → chunk-SBAR5JQ6.js.map} +0 -0
- /package/dist/{chunk-N7UDP5VU.js.map → chunk-SCH2F7R2.js.map} +0 -0
- /package/dist/{chunk-MXKI4ABF.js.map → chunk-SOOAW6HK.js.map} +0 -0
- /package/dist/{chunk-TEHHROZL.js.map → chunk-T5EXREMW.js.map} +0 -0
- /package/dist/{chunk-M5B2W6YY.js.map → chunk-TDJVQTXD.js.map} +0 -0
- /package/dist/{chunk-QMWY2FDS.js.map → chunk-THQ3BHLM.js.map} +0 -0
- /package/dist/{chunk-FVH5QYY2.js.map → chunk-TRHUNPXP.js.map} +0 -0
- /package/dist/{chunk-747G6CT3.js.map → chunk-UORWAG7K.js.map} +0 -0
- /package/dist/{chunk-TZZBXPZK.js.map → chunk-VLQ6KT7F.js.map} +0 -0
- /package/dist/{chunk-NCO25JZO.js.map → chunk-VP37VUKQ.js.map} +0 -0
- /package/dist/{chunk-52MGURXO.js.map → chunk-WBUHHMLN.js.map} +0 -0
- /package/dist/{chunk-2MG3SW7Q.js.map → chunk-X6Z2SIRF.js.map} +0 -0
- /package/dist/{chunk-5UMK7GRI.js.map → chunk-XPNJH7GN.js.map} +0 -0
- /package/dist/{chunk-KZXDLBY6.js.map → chunk-XPW7T2GN.js.map} +0 -0
- /package/dist/{chunk-FFJFE4T7.js.map → chunk-YJGKOSQD.js.map} +0 -0
- /package/dist/{chunk-4JPMZTJY.js.map → chunk-ZF7KNSLU.js.map} +0 -0
- /package/dist/{chunk-2ODVB6LZ.js.map → chunk-ZGKODRGB.js.map} +0 -0
- /package/dist/{chunk-JIBUPZHA.js.map → chunk-ZNEKQFGF.js.map} +0 -0
- /package/dist/{chunk-DLD5LGDS.js.map → chunk-ZUTUNVFD.js.map} +0 -0
- /package/dist/{classified-marker-SIYKUU5L.js.map → classified-marker-WKP33U2R.js.map} +0 -0
- /package/dist/{collection-facade-CS7CA2XO.js.map → collection-facade-COSGZKLC.js.map} +0 -0
- /package/dist/{computed-FAD7SED4.js.map → computed-WN6V53ZV.js.map} +0 -0
- /package/dist/{dead-filter-4F3LWYKH.js.map → dead-filter-43WL3Y5H.js.map} +0 -0
- /package/dist/{derive-XLOJVXPU.js.map → delegation-5UWT4JGT.js.map} +0 -0
- /package/dist/{executor-FMPVN6DT.js.map → derive-IL5JNLEE.js.map} +0 -0
- /package/dist/{dispatch-JDZNGEB3.js.map → dispatch-LOQQD5JK.js.map} +0 -0
- /package/dist/{dispatch-H4HV32AM.js.map → dispatch-SHKTG57L.js.map} +0 -0
- /package/dist/{executor-LBBBRTN5.js.map → executor-6PQ7WAGV.js.map} +0 -0
- /package/dist/{executor-OSRZST2U.js.map → executor-6ZPQA6HS.js.map} +0 -0
- /package/dist/{export-accessible-RAOJAAU5.js.map → executor-OXRA64TY.js.map} +0 -0
- /package/dist/{extract-partition-JD5CUSTG.js.map → export-accessible-XG3FKJWW.js.map} +0 -0
- /package/dist/{find-JRN4RNQ5.js.map → extract-partition-33747NY5.js.map} +0 -0
- /package/dist/{fanout-sidecar-L7NHPIOC.js.map → fanout-sidecar-NEB6IYV7.js.map} +0 -0
- /package/dist/{issue-YIVBZUTH.js.map → find-VW543G3J.js.map} +0 -0
- /package/dist/{ledger-5ZMGE44K.js.map → issue-4ZPSY44M.js.map} +0 -0
- /package/dist/{liberate-WZSZM2W6.js.map → ledger-MZ25UFT2.js.map} +0 -0
- /package/dist/{link-set-MFXC24VK.js.map → liberate-OJIP2ZFX.js.map} +0 -0
- /package/dist/{managed-secret-MFTFT22X.js.map → link-set-4FRRAVTH.js.map} +0 -0
- /package/dist/{noydb-ITIGNKUF.js.map → managed-secret-SQWO2EUR.js.map} +0 -0
- /package/dist/{migrate-cek-DZRFFOHW.js.map → migrate-cek-JWEM4RP6.js.map} +0 -0
- /package/dist/{register-DT5HZ2LZ.js.map → noydb-U62OVKXB.js.map} +0 -0
- /package/dist/{pod-handle-A3LET7NO.js.map → pod-handle-R6Y4MILX.js.map} +0 -0
- /package/dist/{post-register-7ND27CF2.js.map → post-register-GRVQHBOH.js.map} +0 -0
- /package/dist/{registry-BHRZGZHF.js.map → register-YJ5YLQ36.js.map} +0 -0
- /package/dist/{registry-ET6ZFFWA.js.map → registry-ICOHBQFD.js.map} +0 -0
- /package/dist/{registry-HXFGLGTG.js.map → registry-MJ7MWCSW.js.map} +0 -0
- /package/dist/{registry-THCPDEOD.js.map → registry-MVEKKGWL.js.map} +0 -0
- /package/dist/{request-withdrawal-AV2MJJKY.js.map → registry-XP744FAP.js.map} +0 -0
- /package/dist/{revoke-6DWIEOCV.js.map → request-withdrawal-LSU4G6W3.js.map} +0 -0
- /package/dist/{reveal-B2TLP4JQ.js.map → reveal-AIHOIK2N.js.map} +0 -0
- /package/dist/{signer-MHGW3OIL.js.map → revoke-QUT7WWG3.js.map} +0 -0
- /package/dist/{stale-6GCFMOOR.js.map → signer-NYR4I3FO.js.map} +0 -0
- /package/dist/{storage-BYN5LO6Z.js.map → stale-PIJPAL5T.js.map} +0 -0
- /package/dist/{walk-4VPK7AS4.js.map → storage-VH6SPXHC.js.map} +0 -0
- /package/dist/{store-coordination-provider-C4BPT5XF.js.map → store-coordination-provider-2KSHCOPU.js.map} +0 -0
- /package/dist/{verify-UKALW7C2.js.map → verify-PCFS4PNS.js.map} +0 -0
- /package/dist/{withdraw-accessible-HL7GACUE.js.map → walk-OZCN6LJS.js.map} +0 -0
package/dist/indexing/index.js
CHANGED
|
@@ -8,15 +8,15 @@ import {
|
|
|
8
8
|
decodeIdxId,
|
|
9
9
|
encodeIdxId,
|
|
10
10
|
isIdxId
|
|
11
|
-
} from "../chunk-
|
|
11
|
+
} from "../chunk-4CUJLEOA.js";
|
|
12
12
|
import {
|
|
13
13
|
CollectionIndexes
|
|
14
|
-
} from "../chunk-
|
|
14
|
+
} from "../chunk-Z3STG43F.js";
|
|
15
15
|
import "../chunk-SUZKW6UR.js";
|
|
16
|
-
import "../chunk-
|
|
17
|
-
import "../chunk-
|
|
18
|
-
import "../chunk-
|
|
19
|
-
import "../chunk-
|
|
16
|
+
import "../chunk-4CFHL5RY.js";
|
|
17
|
+
import "../chunk-GIQJGXV7.js";
|
|
18
|
+
import "../chunk-NCTN2FW4.js";
|
|
19
|
+
import "../chunk-IKPQ2GGB.js";
|
|
20
20
|
|
|
21
21
|
// src/with-lookup/indexing/active.ts
|
|
22
22
|
function withIndexing() {
|
|
@@ -1,26 +1,30 @@
|
|
|
1
|
-
import "../chunk-
|
|
1
|
+
import "../chunk-2DX4JCRI.js";
|
|
2
2
|
import {
|
|
3
3
|
dumpVaultSchema
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-654RE5YC.js";
|
|
5
5
|
import {
|
|
6
6
|
applyListProjection
|
|
7
7
|
} from "../chunk-VG2ZSFYD.js";
|
|
8
8
|
import "../chunk-RXLYKVTF.js";
|
|
9
|
+
import {
|
|
10
|
+
FieldMetaUnknownFieldError
|
|
11
|
+
} from "../chunk-QJNAHPVT.js";
|
|
9
12
|
import {
|
|
10
13
|
jsonSchemaToFields
|
|
11
14
|
} from "../chunk-VYYM3MEN.js";
|
|
12
|
-
import "../chunk-
|
|
15
|
+
import "../chunk-UORWAG7K.js";
|
|
13
16
|
import "../chunk-Y2NBBT6K.js";
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-
|
|
16
|
-
import "../chunk-
|
|
17
|
-
import "../chunk-
|
|
17
|
+
import "../chunk-IF2M43G4.js";
|
|
18
|
+
import "../chunk-WRLWEYHY.js";
|
|
19
|
+
import "../chunk-ZD7WFMV2.js";
|
|
20
|
+
import "../chunk-RRTQAQ3N.js";
|
|
18
21
|
import "../chunk-NH2UOV3B.js";
|
|
19
|
-
import "../chunk-
|
|
20
|
-
import "../chunk-
|
|
21
|
-
import "../chunk-
|
|
22
|
-
import "../chunk-
|
|
22
|
+
import "../chunk-ZF6JECDT.js";
|
|
23
|
+
import "../chunk-THQ3BHLM.js";
|
|
24
|
+
import "../chunk-XX4R7TUB.js";
|
|
25
|
+
import "../chunk-IKPQ2GGB.js";
|
|
23
26
|
export {
|
|
27
|
+
FieldMetaUnknownFieldError,
|
|
24
28
|
applyListProjection,
|
|
25
29
|
dumpVaultSchema,
|
|
26
30
|
jsonSchemaToFields
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {
|
|
2
|
+
issueAttestationCore
|
|
3
|
+
} from "./chunk-OYEBSWLE.js";
|
|
4
|
+
import "./chunk-B6EWMGFX.js";
|
|
5
|
+
import "./chunk-ZUTUNVFD.js";
|
|
6
|
+
import "./chunk-GMKGGY7V.js";
|
|
7
|
+
import "./chunk-4AOERLTV.js";
|
|
8
|
+
import "./chunk-WRLWEYHY.js";
|
|
9
|
+
import "./chunk-ZD7WFMV2.js";
|
|
10
|
+
import "./chunk-RRTQAQ3N.js";
|
|
11
|
+
import "./chunk-NH2UOV3B.js";
|
|
12
|
+
import "./chunk-ZF6JECDT.js";
|
|
13
|
+
import "./chunk-THQ3BHLM.js";
|
|
14
|
+
import "./chunk-XX4R7TUB.js";
|
|
15
|
+
import "./chunk-IKPQ2GGB.js";
|
|
16
|
+
export {
|
|
17
|
+
issueAttestationCore
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=issue-4ZPSY44M.js.map
|
|
@@ -666,6 +666,38 @@ export declare class Collection<T, S extends keyof T = never, Q extends keyof T
|
|
|
666
666
|
* never half-writes the receiver.
|
|
667
667
|
*/
|
|
668
668
|
validateInput(record: T): Promise<T>;
|
|
669
|
+
/**
|
|
670
|
+
* core#74 — ADMISSION of a record arriving by sync. Runs the same
|
|
671
|
+
* `beforePut` gate bus (guards, periods) and `db.onBeforeWrite` hooks a
|
|
672
|
+
* local `put` runs, on the DECRYPTED incoming record against this device's
|
|
673
|
+
* current state, with `origin: 'sync-apply'`. A throw is a refusal; the
|
|
674
|
+
* engine parks the envelope and leaves the local copy untouched.
|
|
675
|
+
*
|
|
676
|
+
* Not gated, deliberately: tombstones and delete markers (erasure wins, as
|
|
677
|
+
* on every other path), elevated envelopes (#707 — invisible to gate
|
|
678
|
+
* handlers), and a record this session holds no key for (it cannot judge;
|
|
679
|
+
* the merge authority's stated residue, #1042). Schema validation does not
|
|
680
|
+
* run — the writer validated. Zero cost when nothing is registered.
|
|
681
|
+
* @internal
|
|
682
|
+
*/
|
|
683
|
+
/**
|
|
684
|
+
* @internal core#74 — judge a record against THIS device's gates and hooks.
|
|
685
|
+
*
|
|
686
|
+
* ⚠️ core#108: under `'push-recheck'` the record is already in the local
|
|
687
|
+
* store, so `resolveGatePrior` returns the record itself and `existing`
|
|
688
|
+
* equals `incoming` — the state it was written over is gone and cannot be
|
|
689
|
+
* reconstructed. That makes the re-check sound for rules that read AMBIENT
|
|
690
|
+
* state (a closed period, a revoked clearance) and degenerate for rules
|
|
691
|
+
* that compare against a prior, which see a no-op diff and pass. Widening
|
|
692
|
+
* it would need the pre-write snapshot kept in the dirty log, which is a
|
|
693
|
+
* different feature; do not "fix" it by synthesising a prior here.
|
|
694
|
+
*/
|
|
695
|
+
_admitRemote(id: string, envelope: EncryptedEnvelope, origin?: 'sync-apply' | 'push-recheck'): Promise<{
|
|
696
|
+
admitted: true;
|
|
697
|
+
} | {
|
|
698
|
+
admitted: false;
|
|
699
|
+
reason: string;
|
|
700
|
+
}>;
|
|
669
701
|
/**
|
|
670
702
|
* Resolve the prior record as REAL VALUES for the eager write/delete paths
|
|
671
703
|
* (history snapshot, ledger patch, index upkeep). The eager cache holds
|
|
@@ -739,7 +771,7 @@ export declare class Collection<T, S extends keyof T = never, Q extends keyof T
|
|
|
739
771
|
* @internal `wave` (#638 Task 4): when present (the sync/cutover/restore dispatch wave),
|
|
740
772
|
* an eager MV already refreshed this wave is skipped (per-target dedup, keyed on spec name).
|
|
741
773
|
*/
|
|
742
|
-
|
|
774
|
+
_dispatchMaterializedViews(id: string, record: T, wave?: WaveContext): Promise<void>;
|
|
743
775
|
/**
|
|
744
776
|
* Fire registered derivation strategies for this source collection.
|
|
745
777
|
* Eager mode runs `derive` inline and writes each output via the
|
|
@@ -784,7 +816,7 @@ export declare class Collection<T, S extends keyof T = never, Q extends keyof T
|
|
|
784
816
|
* and from `forgetDerivedFanout` (#638 Task 6), which needs the per-target outcome to fill
|
|
785
817
|
* `ForgetResult.derivedAggregatesRecomputed`/`derivedResidueFrozen`). `wave` (#640): per-target dedup for the sync-apply path; `undefined` on local-delete (byte-identical).
|
|
786
818
|
*/
|
|
787
|
-
|
|
819
|
+
_dispatchRollupsOnDelete(id: string, deleted: T, wave?: WaveContext): Promise<ReadonlyArray<{
|
|
788
820
|
readonly into: string;
|
|
789
821
|
readonly parentId: string;
|
|
790
822
|
readonly outcome: RollupOutcome;
|
|
@@ -793,12 +825,13 @@ export declare class Collection<T, S extends keyof T = never, Q extends keyof T
|
|
|
793
825
|
_recomputeDeletedRollups(intents: readonly RollupDeleteIntent[], wave: WaveContext): Promise<void>;
|
|
794
826
|
/** @internal `wave` (#638 Task 4) — threaded to `recomputeRollup` for the sync/cutover/restore
|
|
795
827
|
* dispatch wave's per-target dedup; `undefined` on the local-write path (byte-identical). */
|
|
796
|
-
|
|
828
|
+
_dispatchDerivations(id: string, record: T, version: number, wave?: WaveContext, prior?: Record<string, unknown> | null): Promise<void>;
|
|
797
829
|
/** @internal — trigger fan-out for a deleted parent (#1249); see dispatch.ts. */
|
|
798
|
-
|
|
830
|
+
_dispatchTriggerDerivationsOnDelete(id: string, deleted: T): Promise<void>;
|
|
799
831
|
/**
|
|
800
832
|
* Delete a record by ID. Runs inside the hub's write-queue tracker
|
|
801
833
|
* so `hub.writeQueue.pending` reflects this write.
|
|
834
|
+
* ⚠️ Blobs are released (#1451) but a legacy collection defers the erase — a `null` blob read is NOT proof the bytes are gone; see {@link BlobSet.releaseAll} (noy-db/core#28).
|
|
802
835
|
*/
|
|
803
836
|
delete(id: string): Promise<void>;
|
|
804
837
|
/**
|
|
@@ -935,7 +968,7 @@ export declare class Collection<T, S extends keyof T = never, Q extends keyof T
|
|
|
935
968
|
* erasure too — forget()'s fanout, GDPR residue. A delete-of-absent contributes 0 either way.
|
|
936
969
|
* @internal
|
|
937
970
|
*/
|
|
938
|
-
|
|
971
|
+
_dispatchArrayDerivationsOnDelete(id: string, eraseRecordShapeToo?: boolean): Promise<number>;
|
|
939
972
|
/**
|
|
940
973
|
* Mirror of {@link dispatchMaterializedViews} for the delete/forget path — no `_materializedFrom`
|
|
941
974
|
* skip (record's gone); the `internal` gate at `_doDelete` is the recursion guard. Returns the
|
|
@@ -945,7 +978,7 @@ export declare class Collection<T, S extends keyof T = never, Q extends keyof T
|
|
|
945
978
|
* manual serves empty until `refreshView()`. `residueUndecodable`/`residueDeclined` (#776/#785) carry `outputCollection:id` entries whose ownership stamp `invalidateMVAtRest` could not decode, resp. decoded+stamp-matched but declined erasure — surfaced, not erased.
|
|
946
979
|
* @internal
|
|
947
980
|
*/
|
|
948
|
-
|
|
981
|
+
_dispatchMaterializedViewsOnDelete(id: string): Promise<{
|
|
949
982
|
deleted: number;
|
|
950
983
|
residueUndecodable: string[];
|
|
951
984
|
residueDeclined: string[];
|
|
@@ -961,6 +994,35 @@ export declare class Collection<T, S extends keyof T = never, Q extends keyof T
|
|
|
961
994
|
* each record is locale-resolved before being returned.
|
|
962
995
|
*/
|
|
963
996
|
list(locale?: LocaleReadOptions): Promise<T[]>;
|
|
997
|
+
/**
|
|
998
|
+
* @internal core#122 — forget everything read from the store, so the next
|
|
999
|
+
* read re-hydrates.
|
|
1000
|
+
*
|
|
1001
|
+
* ⭐ Why this is needed even though the vault drops its collection cache on
|
|
1002
|
+
* restore: `vault.collection(name)` hands back the instance FROM that cache,
|
|
1003
|
+
* so a handle the caller is already holding IS one of the objects in it.
|
|
1004
|
+
* Dropping the map makes the NEXT `vault.collection()` build a fresh
|
|
1005
|
+
* instance and leaves the caller's handle answering from its own pre-restore
|
|
1006
|
+
* cache — correct for the next caller, invisible to the current one, and the
|
|
1007
|
+
* natural shape of restore code holds the handle across the load.
|
|
1008
|
+
*
|
|
1009
|
+
* ⛔ Not a general "refresh": it deliberately does NOT re-read here. The
|
|
1010
|
+
* next read pays for it, so a restore that touches fifty collections does
|
|
1011
|
+
* not hydrate fifty times for a caller who will look at one.
|
|
1012
|
+
*/
|
|
1013
|
+
_invalidateAfterRestore(): void;
|
|
1014
|
+
/**
|
|
1015
|
+
* core#103 — `list()` with the hub-assigned id alongside each record.
|
|
1016
|
+
*
|
|
1017
|
+
* ⭐ The id is not derivable from a record, so a caller keyed on it
|
|
1018
|
+
* previously had to `get()` per row after `list()`. Tuple order mirrors
|
|
1019
|
+
* `putMany`: `[id, record]` reads the same going in and coming out.
|
|
1020
|
+
*
|
|
1021
|
+
* Same eager-mode requirement and the same locale/Via pipeline as `list()`
|
|
1022
|
+
* — deliberately, so the two cannot drift into answering differently about
|
|
1023
|
+
* the same collection. `list()` is unchanged.
|
|
1024
|
+
*/
|
|
1025
|
+
listEntries(locale?: LocaleReadOptions): Promise<Array<readonly [id: string, record: T]>>;
|
|
964
1026
|
/**
|
|
965
1027
|
* Scan-mode full-text search over a plain-text `field`. Decrypts the
|
|
966
1028
|
* collection in memory and ranks records by BM25 against the tokenized query.
|
|
@@ -1199,6 +1261,24 @@ export declare class Collection<T, S extends keyof T = never, Q extends keyof T
|
|
|
1199
1261
|
items: T[];
|
|
1200
1262
|
nextCursor: string | null;
|
|
1201
1263
|
}>;
|
|
1264
|
+
/**
|
|
1265
|
+
* core#103 — `listPage()` with the hub-assigned id alongside each record.
|
|
1266
|
+
*
|
|
1267
|
+
* ⭐ The id is not derivable from the record. An app that stores its own key
|
|
1268
|
+
* in a field is fine; one that relies on the id hub assigned had no bulk
|
|
1269
|
+
* read that returned it and had to `get()` per row to find out — which is
|
|
1270
|
+
* the shape pilot-1 hit writing a rule keyed on the record id.
|
|
1271
|
+
*
|
|
1272
|
+
* Tuple order mirrors `putMany`, so `[id, record]` reads the same way going
|
|
1273
|
+
* in and coming out. `listPage()` is unchanged and delegates here.
|
|
1274
|
+
*/
|
|
1275
|
+
listPageEntries(opts?: {
|
|
1276
|
+
cursor?: string;
|
|
1277
|
+
limit?: number;
|
|
1278
|
+
}): Promise<{
|
|
1279
|
+
items: Array<readonly [id: string, record: T]>;
|
|
1280
|
+
nextCursor: string | null;
|
|
1281
|
+
}>;
|
|
1202
1282
|
/**
|
|
1203
1283
|
* Stream every record in the collection page-by-page as an async
|
|
1204
1284
|
* iterable, with chainable `.where()` / `.filter()` clauses and a
|
|
@@ -52,3 +52,10 @@ export declare const ROSTER_KEY_ID = "_roster";
|
|
|
52
52
|
* of rewriting every chunk and index row on every revocation.
|
|
53
53
|
*/
|
|
54
54
|
export declare const BLOB_ADDRESS_KEY_ID = "_blob_addr";
|
|
55
|
+
/**
|
|
56
|
+
* core#96 — the DEK-map slot holding a member's INBOX KEY: the AES key that
|
|
57
|
+
* seals the private half of their inbox key pair (`KeyringFile.inbox_key`).
|
|
58
|
+
* A reserved key, not a collection — never propagated to a grantee (it is
|
|
59
|
+
* per member), never rotated, stripped by `revoke` the way `_roster` is.
|
|
60
|
+
*/
|
|
61
|
+
export declare const INBOX_KEY_ID = "_inbox_key";
|
package/dist/kernel/errors.d.ts
CHANGED
|
@@ -92,6 +92,7 @@
|
|
|
92
92
|
* @module
|
|
93
93
|
*/
|
|
94
94
|
import type { GateName, GatePolicy } from './types.js';
|
|
95
|
+
import type { CapsuleGroup } from '../capsule/contract.js';
|
|
95
96
|
/**
|
|
96
97
|
* Base class for all NOYDB errors.
|
|
97
98
|
*
|
|
@@ -621,6 +622,15 @@ export declare class DuplicateStoreKindError extends NoydbError {
|
|
|
621
622
|
readonly kind: string;
|
|
622
623
|
constructor(kind: string);
|
|
623
624
|
}
|
|
625
|
+
/**
|
|
626
|
+
* core#96 — `updateUser` needs to deliver a DEK to a member whose keyring has
|
|
627
|
+
* no inbox key pair (written before inboxes existed), or the caller is not
|
|
628
|
+
* cleared to amend. The member can still be re-granted with a fresh secret.
|
|
629
|
+
*/
|
|
630
|
+
export declare class MemberInboxMissingError extends NoydbError {
|
|
631
|
+
readonly userId: string;
|
|
632
|
+
constructor(userId: string, message?: string);
|
|
633
|
+
}
|
|
624
634
|
export declare class PrivilegeEscalationError extends NoydbError {
|
|
625
635
|
readonly offendingCollection: string;
|
|
626
636
|
constructor(offendingCollection: string, message?: string);
|
|
@@ -890,7 +900,19 @@ export declare class TierDemoteDeniedError extends NoydbError {
|
|
|
890
900
|
*/
|
|
891
901
|
export declare class DelegationTargetMissingError extends NoydbError {
|
|
892
902
|
readonly toUser: string;
|
|
893
|
-
|
|
903
|
+
/**
|
|
904
|
+
* ⚠️ `reason` exists because two call sites were passing a SENTENCE as
|
|
905
|
+
* `toUser` (core#56), rendering as:
|
|
906
|
+
*
|
|
907
|
+
* Delegation target user "grantor cannot find tier 1 DEK for (any)"
|
|
908
|
+
* has no keyring in this vault
|
|
909
|
+
*
|
|
910
|
+
* — which names a target user that is not a user, and states a cause that is
|
|
911
|
+
* not the cause. A grantor-side failure is not a missing target; the class is
|
|
912
|
+
* kept for both only because it is PUBLISHED and consumers catch it. Pass the
|
|
913
|
+
* real `toUser` and put the explanation in `reason`.
|
|
914
|
+
*/
|
|
915
|
+
constructor(toUser: string, reason?: string);
|
|
894
916
|
}
|
|
895
917
|
/**
|
|
896
918
|
* Thrown when a `put()` detects an optimistic concurrency conflict.
|
|
@@ -2411,9 +2433,25 @@ export declare class RecoveryProfileNotImplementedError extends NoydbError {
|
|
|
2411
2433
|
* stable, catchable code instead of an ad hoc throw.
|
|
2412
2434
|
*/
|
|
2413
2435
|
export declare class EnclaveNotSupportedError extends NoydbError {
|
|
2414
|
-
/**
|
|
2415
|
-
|
|
2416
|
-
|
|
2436
|
+
/**
|
|
2437
|
+
* The group that is not supported by this enclave.
|
|
2438
|
+
*
|
|
2439
|
+
* ⭐ WIDENED to the full {@link CapsuleGroup} 2026-09-16 (core#42). It used
|
|
2440
|
+
* to be `'sealing' | 'deterministic' | 'per-record-keys'` — three of ten,
|
|
2441
|
+
* and not a subset: it could not name `classify`, which `capsule/contract.ts`
|
|
2442
|
+
* explicitly documents a capsule refusing, nor the six core groups.
|
|
2443
|
+
*
|
|
2444
|
+
* ⚠️ The narrowness was invisible because **hub never constructs this error**
|
|
2445
|
+
* — it exists for a fork to throw (see the note above), so the union is a
|
|
2446
|
+
* contract for THIRD-PARTY capsule authors, and hub's own test only ever
|
|
2447
|
+
* built it with `'sealing'`. Found only when the conformance kit's tests
|
|
2448
|
+
* were finally typechecked against hub's source.
|
|
2449
|
+
*
|
|
2450
|
+
* ⛔ This is a widened published READ: a consumer switching exhaustively on
|
|
2451
|
+
* `err.group` gains cases. Release-noted by name for that reason.
|
|
2452
|
+
*/
|
|
2453
|
+
readonly group: CapsuleGroup;
|
|
2454
|
+
constructor(group: CapsuleGroup, detail?: string);
|
|
2417
2455
|
}
|
|
2418
2456
|
/**
|
|
2419
2457
|
* Raised when a collection's `classifiedFields` configuration is invalid
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How `Vault.exportStream()` decides WHAT to read (core#45b).
|
|
3
|
+
*
|
|
4
|
+
* Extracted from `vault.ts` rather than inlined there: the kernel-surface
|
|
5
|
+
* ratchet had that file at its exact ceiling, and this is the kind of thing
|
|
6
|
+
* the ceiling exists to push out — a self-contained decision with its own
|
|
7
|
+
* reasoning, reachable from one call site.
|
|
8
|
+
*
|
|
9
|
+
* ## The property this file owns
|
|
10
|
+
*
|
|
11
|
+
* A scoped export must not FETCH or DECRYPT the collections it excludes.
|
|
12
|
+
* Until 0.8 the scope was a filter applied to chunks after `exportStream` had
|
|
13
|
+
* already decrypted the whole vault, so a caller narrowing an export to limit
|
|
14
|
+
* what a compromised process could observe got no such limit. Choosing the
|
|
15
|
+
* enumeration strategy — bulk snapshot vs per-collection `list` — is what
|
|
16
|
+
* makes the difference real, and it is invisible to every chunk-level
|
|
17
|
+
* assertion (`__tests__/45-export-scope-narrows-read.test.ts` observes the
|
|
18
|
+
* store instead, which is the only layer that can tell them apart).
|
|
19
|
+
*
|
|
20
|
+
* @module
|
|
21
|
+
*/
|
|
22
|
+
import type { NoydbStore, ExportStreamOptions } from './types.js';
|
|
23
|
+
/** Where an export's collection names and record ids come from. */
|
|
24
|
+
export interface ExportSource {
|
|
25
|
+
/** Collection names to export, sorted. */
|
|
26
|
+
readonly collections: readonly string[];
|
|
27
|
+
/** True when the caller supplied a scope. */
|
|
28
|
+
readonly scoped: boolean;
|
|
29
|
+
/** Record ids in one collection. */
|
|
30
|
+
ids(collection: string): Promise<readonly string[]>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Resolve the read strategy for one export.
|
|
34
|
+
*
|
|
35
|
+
* ⛔ THE UNDERSCORE FILTER IS APPLIED ON BOTH PATHS. `loadAll` drops
|
|
36
|
+
* underscore-prefixed internal collections for free; `list` does not, so a
|
|
37
|
+
* caller naming `_keyring` would export the keyring. A rule that holds only on
|
|
38
|
+
* the route that happens to be taken is a rule waiting to be lost.
|
|
39
|
+
*/
|
|
40
|
+
export declare function resolveExportSource(adapter: NoydbStore, vault: string, opts: ExportStreamOptions): Promise<ExportSource>;
|
|
@@ -15,11 +15,15 @@ import type { EnclaveKey } from '../capsule/index.js';
|
|
|
15
15
|
*/
|
|
16
16
|
export declare function buildMergeAuthority(
|
|
17
17
|
/**
|
|
18
|
+
* A GETTER for the DEK map (core#100): the vault reloads its keyring in
|
|
19
|
+
* place after a pull that replaced its file (core#82) — a delivered DEK, a
|
|
20
|
+
* rotation — and an authority that captured the object at wiring kept
|
|
21
|
+
* verifying with the map that no longer opened the records.
|
|
18
22
|
* Just the DEK map, not the whole keyring. `port-layering` refused a type
|
|
19
23
|
* import of `UnlockedKeyring` from `with-party` — correctly, and the narrower
|
|
20
24
|
* shape is better anyway: this needs to look up keys, not to know what a
|
|
21
25
|
* keyring is.
|
|
22
26
|
*/
|
|
23
|
-
keyring: {
|
|
27
|
+
keyring: () => {
|
|
24
28
|
readonly deks: ReadonlyMap<string, EnclaveKey>;
|
|
25
29
|
}): MergeAuthority;
|
package/dist/kernel/noydb.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { RotateResult, RosterVerifyResult, QuarantineResult } from '../with-party/team/keyring.js';
|
|
2
|
-
import type { NoydbOptions, NoydbEventMap, GrantOptions, RevokeOptions, UpdateUserOptions, UserInfo, PushResult, PullResult, PushOptions, PullOptions, SyncStatus, SyncTargetInfo, SyncTargetStatus, NoydbStore, AccessibleVault, ListAccessibleVaultsOptions, QueryAcrossOptions, QueryAcrossResult, TranslatorAuditEntry, WriteConflict, UserApiFactory, ActiveTier, FactorProofBundle, GateName, VaultPolicy } from './types.js';
|
|
1
|
+
import type { RotateResult, RevokeResult, RosterVerifyResult, QuarantineResult } from '../with-party/team/keyring.js';
|
|
2
|
+
import type { NoydbOptions, NoydbEventMap, GrantOptions, RevokeOptions, UpdateUserOptions, UserInfo, PushResult, PullResult, RealignResult, PushOptions, PullOptions, SyncStatus, SyncTarget, SyncTargetInfo, SyncTargetStatus, NoydbStore, AccessibleVault, ListAccessibleVaultsOptions, QueryAcrossOptions, QueryAcrossResult, TranslatorAuditEntry, WriteConflict, UserApiFactory, ActiveTier, FactorProofBundle, GateName, VaultPolicy, SyncRejectedApi, ReplaceRemoteResult } from './types.js';
|
|
3
3
|
import type { SecretPolicy } from './validation.js';
|
|
4
4
|
import { type NoydbMesh } from '../port/by/default-provider.js';
|
|
5
5
|
import type { Cover } from '../with-party/directory/cover/types.js';
|
|
@@ -51,6 +51,8 @@ export declare class Noydb {
|
|
|
51
51
|
private readonly vaultOpening;
|
|
52
52
|
private readonly keyringCache;
|
|
53
53
|
private readonly syncEngines;
|
|
54
|
+
/** core#90 — conflict resolvers registered per vault, replayed onto a target attached after open. */
|
|
55
|
+
private readonly conflictResolvers;
|
|
54
56
|
/**
|
|
55
57
|
* Per-vault active session tier — defaults to `1` after a secret
|
|
56
58
|
* unlock; tier-2 / tier-3 unlocks downgrade it. Used by
|
|
@@ -90,10 +92,10 @@ export declare class Noydb {
|
|
|
90
92
|
/**
|
|
91
93
|
* Opt-in sovereign-custody (FR-6) strategy — `NO_CUSTODY` (throwing) unless
|
|
92
94
|
* `withCustody()` was passed. Kept as a public accessor because `Vault`
|
|
93
|
-
* routes `vault.custody.liberate` through `this.noydb.
|
|
95
|
+
* routes `vault.custody.liberate` through `this.noydb._custodyStrategy`.
|
|
94
96
|
* @internal
|
|
95
97
|
*/
|
|
96
|
-
get
|
|
98
|
+
get _custodyStrategy(): CustodyStrategy;
|
|
97
99
|
private readonly snapshots;
|
|
98
100
|
private readonly policyManager;
|
|
99
101
|
/** Pre-resolved policy-gate engine function (mirrors `meshPort`/`userApiFactory` above). */
|
|
@@ -176,6 +178,13 @@ export declare class Noydb {
|
|
|
176
178
|
/**
|
|
177
179
|
* Grant access to a user for a vault.
|
|
178
180
|
*
|
|
181
|
+
* ⚠️ On an EXISTING user this RE-KEYS them: a new KEK from `secret`,
|
|
182
|
+
* authenticator slots dropped, the file overwritten. So it needs the
|
|
183
|
+
* member's CURRENT secret — after `acceptInvite` or `rotateSecret` an
|
|
184
|
+
* owner never holds it, and a re-grant with a stale one locks the member
|
|
185
|
+
* out. To change what an existing member may do, use `updateUser`
|
|
186
|
+
* (core#96); re-grant only to re-key, with a fresh temporary secret.
|
|
187
|
+
*
|
|
179
188
|
* Gated by `enroll-user`. `STRICT_POLICY` requires a TOTP / email-OTP
|
|
180
189
|
* factor proof so the operator affirmatively re-asserts identity at
|
|
181
190
|
* the moment of grant; `PERSONAL_POLICY` accepts a tier-1 unlock alone.
|
|
@@ -220,23 +229,37 @@ export declare class Noydb {
|
|
|
220
229
|
revokeCustodian(vault: string, options: RevokeOptions, factors?: FactorProofBundle): Promise<void>;
|
|
221
230
|
/** @internal — revoke-custodian engine, reached only via withCustody().
|
|
222
231
|
* Mirrors `_grantCustodianImpl` (#267: engine passed in). */
|
|
223
|
-
_revokeCustodianImpl(engine: (adapter: NoydbStore, vault: string, callerKeyring: UnlockedKeyring, options: RevokeOptions) => Promise<
|
|
224
|
-
/**
|
|
225
|
-
*
|
|
226
|
-
* `
|
|
227
|
-
*
|
|
228
|
-
*
|
|
232
|
+
_revokeCustodianImpl(engine: (adapter: NoydbStore, vault: string, callerKeyring: UnlockedKeyring, options: RevokeOptions) => Promise<RevokeResult>, vault: string, options: RevokeOptions, factors?: FactorProofBundle): Promise<void>;
|
|
233
|
+
/**
|
|
234
|
+
* Change what an EXISTING member may do — `role`, `displayName`, and/or
|
|
235
|
+
* `permissions` — without holding their secret. The member's KEK, salt
|
|
236
|
+
* and authenticator slots are untouched; tier-2 enrollments and recovery
|
|
237
|
+
* codes survive.
|
|
238
|
+
*
|
|
239
|
+
* core#96 — the keys follow the header. A change that widens access
|
|
240
|
+
* delivers the DEKs the member lacks through their keyring INBOX
|
|
241
|
+
* (sealed to a per-member key pair only their KEK opens; drained at
|
|
242
|
+
* their next tier-1 unlock, or at the next pull of an open session). A
|
|
243
|
+
* change that narrows access drops the DEKs and rotates those
|
|
244
|
+
* collections, as a narrowing `grant` does (#1097). A role change
|
|
245
|
+
* re-registers the member with a configured broker host under a fresh
|
|
246
|
+
* `_broker_member` key. This is the widening path: `db.grant` on an
|
|
247
|
+
* existing user RE-KEYS them from `secret`, so it needs their CURRENT
|
|
248
|
+
* secret — after `acceptInvite` or `rotateSecret` an owner never holds it.
|
|
229
249
|
*
|
|
230
250
|
* Different from `db.revoke + db.grant`:
|
|
231
251
|
*
|
|
232
|
-
* - Same `userId`, same
|
|
233
|
-
* `_users/<keyringId>` envelope.
|
|
234
|
-
*
|
|
252
|
+
* - Same `userId`, same KEK, same `granted_by`, same
|
|
253
|
+
* `_users/<keyringId>` envelope. Last-write-wins via the standard
|
|
254
|
+
* keyring put.
|
|
235
255
|
* - No cascade on role demotion (admins demoted to operator keep
|
|
236
256
|
* the keyrings they previously granted; the cascade rules are
|
|
237
257
|
* a `db.revoke` concern, not `db.updateUser`).
|
|
238
258
|
* - Tier-2 slots NOT dropped — the wrapping is unaffected.
|
|
239
259
|
*
|
|
260
|
+
* @throws `MemberInboxMissingError` when a DEK must be delivered to a
|
|
261
|
+
* member whose keyring predates inboxes — re-grant them once.
|
|
262
|
+
*
|
|
240
263
|
* Role-elevation guard: BOTH the old and new role must satisfy
|
|
241
264
|
* `db.grant`'s hierarchy. Owner can do anything; admin manages
|
|
242
265
|
* admin/operator/viewer/client laterally; admin cannot promote to
|
|
@@ -257,6 +280,46 @@ export declare class Noydb {
|
|
|
257
280
|
* }, { factors: [{ kind: 'totp' }] })
|
|
258
281
|
* ```
|
|
259
282
|
*
|
|
283
|
+
* ## ⚠️ A NARROWING DOES NOT REACH A SESSION THAT IS ALREADY OPEN
|
|
284
|
+
*
|
|
285
|
+
* This writes the target's keyring. It cannot reach into a `Noydb` the
|
|
286
|
+
* target already has open: an eager collection holds the records it
|
|
287
|
+
* hydrated, and nothing polls the keyring, so that session keeps serving
|
|
288
|
+
* rows it read while it still had the key. A FRESH open throws
|
|
289
|
+
* `NoAccessError` correctly (core#101), and so does that session for any
|
|
290
|
+
* collection it had not already hydrated.
|
|
291
|
+
*
|
|
292
|
+
* ⭐ A long-lived admin console — one holding a vault open while changing
|
|
293
|
+
* somebody's permissions — must RE-OPEN the affected session rather than
|
|
294
|
+
* expect its next read to start failing.
|
|
295
|
+
*
|
|
296
|
+
* ## What the window is, MEASURED — it is narrower than it sounds
|
|
297
|
+
*
|
|
298
|
+
* The consumer building that console asked the two questions a security
|
|
299
|
+
* reviewer asks, and reasoning would have got both wrong in the cautious
|
|
300
|
+
* direction. Measured on a synced vault, after `updateUser` narrowed the
|
|
301
|
+
* member away and `rotate()` re-keyed:
|
|
302
|
+
*
|
|
303
|
+
* 1. **Records arriving AFTER the narrowing are not readable.** A `pull()`
|
|
304
|
+
* into the open session brings the new roster, the session reloads its
|
|
305
|
+
* keyring, and reads then throw `NoAccessError` — including for rows it
|
|
306
|
+
* had already cached. ⭐ So with sync on, the window CLOSES at the next
|
|
307
|
+
* pull; it is not open until re-open.
|
|
308
|
+
* 2. **Writes are refused locally.** `put()` throws `ReadOnlyError` on the
|
|
309
|
+
* narrowed collection — the record is never encrypted, never queued, and
|
|
310
|
+
* `push()` carries nothing. Nothing reaches the remote to be judged, so
|
|
311
|
+
* this does not even rest on the admission gate (core#74).
|
|
312
|
+
*
|
|
313
|
+
* ⛔ So it is not a confidentiality hole and not a write hole: no access is
|
|
314
|
+
* gained, nothing new becomes readable, and nothing can be written. What
|
|
315
|
+
* survives is a read of rows the session ALREADY HELD, on a device with no
|
|
316
|
+
* sync or one that has not pulled since.
|
|
317
|
+
*
|
|
318
|
+
* ⚠️ Which is still the window that matters when a narrowing is
|
|
319
|
+
* security-motivated rather than administrative — a departing member, a
|
|
320
|
+
* suspected device. `rotate()` is the answer there and a console should
|
|
321
|
+
* REQUIRE it for that case rather than offer it.
|
|
322
|
+
*
|
|
260
323
|
* @throws `NoAccessError` when no keyring exists for the target.
|
|
261
324
|
* @throws `PermissionDeniedError` when the role hierarchy rejects.
|
|
262
325
|
* @throws `ValidationError` when no field is provided.
|
|
@@ -291,6 +354,14 @@ export declare class Noydb {
|
|
|
291
354
|
* reaching into internals. See `noy-db rotate` for the CLI wrapper.
|
|
292
355
|
* Opt-in (#267): throws {@link TeamNotEnabledError} without `withTeam()`.
|
|
293
356
|
*/
|
|
357
|
+
/**
|
|
358
|
+
* core#74 — the records this device's admission gate refused on pull
|
|
359
|
+
* (`PullResult.rejected`, `sync:rejected`), parked under `_sync_rejected`
|
|
360
|
+
* with the envelope intact. `list()` them; `readmit()` applies one after all
|
|
361
|
+
* (bypassing the gate); `discard()` drops the parking record. Per device:
|
|
362
|
+
* a refusal is local to the device that judged it.
|
|
363
|
+
*/
|
|
364
|
+
rejected(vault: string): SyncRejectedApi;
|
|
294
365
|
rotate(vault: string, collections: string[]): Promise<RotateResult>;
|
|
295
366
|
/**
|
|
296
367
|
* Verify every `_keyring` file in the vault. Read-only (#1121).
|
|
@@ -423,9 +494,13 @@ export declare class Noydb {
|
|
|
423
494
|
*/
|
|
424
495
|
queryAcross<T>(vaultIds: string[], fn: (vault: Vault) => Promise<T>, options?: QueryAcrossOptions): Promise<QueryAcrossResult<T>[]>;
|
|
425
496
|
/**
|
|
426
|
-
*
|
|
427
|
-
*
|
|
428
|
-
* `
|
|
497
|
+
* True once `close()` has been called.
|
|
498
|
+
*
|
|
499
|
+
* ⭐ NOT `@internal`, and core#128 removed that tag rather than `_`-prefixing
|
|
500
|
+
* this: the doc's own reason — "read by outward orchestration frameworks
|
|
501
|
+
* whose entry points can't see the private `closed` field" — IS a public
|
|
502
|
+
* contract. Prefixing it would have broken the readers it exists for. The
|
|
503
|
+
* tag was the defect, not the name.
|
|
429
504
|
*/
|
|
430
505
|
get isClosed(): boolean;
|
|
431
506
|
/**
|
|
@@ -458,6 +533,20 @@ export declare class Noydb {
|
|
|
458
533
|
* push-only sink and is never pulled from (#616) — returns an empty result.
|
|
459
534
|
*/
|
|
460
535
|
pull(vault: string, options?: PullOptions): Promise<PullResult>;
|
|
536
|
+
/** core#82 — replace every local envelope that fails to authenticate with the primary target's healthy copy; see `SyncEngine.realign`. */
|
|
537
|
+
realign(vault: string): Promise<RealignResult>;
|
|
538
|
+
/**
|
|
539
|
+
* core#72 — make THIS device's vault authoritative on its primary target:
|
|
540
|
+
* every local record is written unconditionally (re-versioned above the
|
|
541
|
+
* target's copy where the target moved on), every id the target holds that
|
|
542
|
+
* the local vault does not gets a delete marker, the reserved collections
|
|
543
|
+
* are mirrored, and a new restore EPOCH is written on the target. Every
|
|
544
|
+
* other device's next pull crosses that epoch: its unpushed edits are parked
|
|
545
|
+
* (`db.rejected(vault)`, reason `restore-epoch`), its dirty log dropped, the
|
|
546
|
+
* target adopted wholesale. The act of a restore (`vault.load` then this), or
|
|
547
|
+
* of declaring one replica the truth. Owner/admin, ledgered by the pushes.
|
|
548
|
+
*/
|
|
549
|
+
replaceRemote(vault: string): Promise<ReplaceRemoteResult>;
|
|
461
550
|
/**
|
|
462
551
|
* Bidirectional sync: pull then push for all targets.
|
|
463
552
|
* `sync-peer` targets do pull+push; `backup`/`archive` targets do push-only.
|
|
@@ -523,7 +612,7 @@ export declare class Noydb {
|
|
|
523
612
|
get store(): NoydbStore;
|
|
524
613
|
/**
|
|
525
614
|
* Currently-running multi-record transaction, or `null` outside
|
|
526
|
-
* Phase 2. `Collection.
|
|
615
|
+
* Phase 2. `Collection._dispatchDerivations` consults this so a
|
|
527
616
|
* recursive derived-output write inside `Collection.put` can register
|
|
528
617
|
* its envelope onto `ctx._executed` and roll back with the main
|
|
529
618
|
* staged ops on mid-batch failure.
|
|
@@ -580,6 +669,8 @@ export declare class Noydb {
|
|
|
580
669
|
*/
|
|
581
670
|
listSyncTargets(vault: string): SyncTargetInfo[];
|
|
582
671
|
private getSyncEngine;
|
|
672
|
+
/** core#90 — attach a sync target to an OPEN vault (primary when it had none, else keyed by position); records written before it are sent by `push({ full: true })`. Rationale in `kernel/sync-wiring.ts`. */
|
|
673
|
+
attachSyncTarget(vault: string, target: NoydbStore | SyncTarget): Promise<void>;
|
|
583
674
|
_forEachSyncEngine(vault: string, fn: (engine: SyncEngine) => void): void;
|
|
584
675
|
on<K extends keyof NoydbEventMap>(event: K, handler: (data: NoydbEventMap[K]) => void): void;
|
|
585
676
|
off<K extends keyof NoydbEventMap>(event: K, handler: (data: NoydbEventMap[K]) => void): void;
|
|
@@ -639,9 +730,15 @@ export declare class Noydb {
|
|
|
639
730
|
/** @internal Session that owns this instance's writers. */
|
|
640
731
|
get _sessionId(): string;
|
|
641
732
|
/**
|
|
642
|
-
*
|
|
643
|
-
*
|
|
644
|
-
*
|
|
733
|
+
* Drain-barrier coordination transport for the schema fence. The default
|
|
734
|
+
* store-backed provider reproduces today's fence behavior; a `by-*`
|
|
735
|
+
* real-time transport is injected via the `mesh` option.
|
|
736
|
+
*
|
|
737
|
+
* ⭐ NOT `@internal`, and core#128 removed that tag rather than
|
|
738
|
+
* `_`-prefixing this. `db.mesh` is documented as a public handle in
|
|
739
|
+
* `port/by/index.ts` — "a `Noydb` handle (`db.mesh`) without ever naming a
|
|
740
|
+
* `by-*` pack" — and `createNoydb({ mesh })` is a public option. The tag
|
|
741
|
+
* contradicted both; prefixing would have broken the documented handle.
|
|
645
742
|
*/
|
|
646
743
|
get mesh(): NoydbMesh;
|
|
647
744
|
/**
|
|
@@ -687,7 +784,7 @@ export declare class Noydb {
|
|
|
687
784
|
*
|
|
688
785
|
* @internal — not part of the public API surface
|
|
689
786
|
*/
|
|
690
|
-
|
|
787
|
+
_invokeTranslator(text: string, from: string, to: string, field: string, collection: string): Promise<string>;
|
|
691
788
|
/**
|
|
692
789
|
* Read the active policy for a vault. Loads from `_meta/policy` on
|
|
693
790
|
* first call; subsequent calls hit the in-memory cache. Throws
|
|
@@ -15,7 +15,7 @@ interface BulkTxContext {
|
|
|
15
15
|
readonly _executed: BulkExecutedOp[];
|
|
16
16
|
}
|
|
17
17
|
/** @internal The slice of `Collection` both branches drive. */
|
|
18
|
-
|
|
18
|
+
interface PutManyAtomicHost<T> {
|
|
19
19
|
put(id: string, record: T): Promise<void>;
|
|
20
20
|
_preparePut(id: string, record: T): Promise<PreparedPut<T>>;
|
|
21
21
|
_finalizePut(prepared: PreparedPut<T>): Promise<void>;
|
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
* mutates.
|
|
8
8
|
*
|
|
9
9
|
* Framework-agnostic by design — core never depends on a UI
|
|
10
|
-
* framework. The
|
|
10
|
+
* framework. The framework bindings live in the `noy-db/in` repo
|
|
11
|
+
* (extracted 2026-09-21). The one that wraps a `LiveQuery` is
|
|
11
12
|
* `@noy-db/in-vue`'s `useLiveQuery(live)`: it subscribes once,
|
|
12
13
|
* mirrors `value` into a `ShallowRef`, re-reads `error` on every
|
|
13
14
|
* notification, and disposes via `onScopeDispose`.
|