@noy-db/hub 0.8.0-pre.0 → 0.9.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/CHANGELOG.md +78 -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-MSJXVYQG.js +18 -0
- package/dist/as/index.js +34 -25
- package/dist/as/index.js.map +1 -1
- package/dist/at/index.js +9 -10
- package/dist/attestation/index.js +39 -28
- package/dist/attestation/index.js.map +1 -1
- package/dist/{backup-7TFRVFLH.js → backup-7RKNZMQO.js} +15 -16
- package/dist/backup-7RKNZMQO.js.map +1 -0
- package/dist/blobs/index.js +13 -14
- package/dist/blobs/index.js.map +1 -1
- package/dist/broker/index.js +20 -13
- package/dist/broker/index.js.map +1 -1
- package/dist/by/index.js +2 -2
- package/dist/capsule/contract.d.ts +159 -0
- package/dist/capsule/contract.js +95 -0
- package/dist/capsule/enclave-aes/bound.d.ts +52 -0
- package/dist/{kernel/enclave → capsule/enclave-aes}/broker/proof.d.ts +12 -3
- package/dist/capsule/enclave-aes/capabilities.d.ts +2 -0
- package/dist/capsule/enclave-aes/classify/compare.d.ts +20 -0
- package/dist/{kernel/enclave → capsule/enclave-aes}/classify/find.d.ts +1 -1
- package/dist/{kernel/enclave → capsule/enclave-aes}/classify/reveal.d.ts +1 -1
- package/dist/{kernel/enclave → capsule/enclave-aes}/classify/verify.d.ts +2 -2
- package/dist/{kernel/enclave → capsule/enclave-aes}/classify/write.d.ts +1 -1
- package/dist/{kernel/enclave → capsule/enclave-aes}/crypto.d.ts +33 -129
- package/dist/capsule/enclave-aes/index.d.ts +113 -0
- package/dist/capsule/enclave-aes/index.js +361 -0
- package/dist/capsule/enclave-aes/index.js.map +1 -0
- package/dist/capsule/enclave-aes/primitives.d.ts +29 -0
- package/dist/capsule/index.d.ts +27 -0
- package/dist/capsule/plumbing/ct-equal.d.ts +11 -0
- package/dist/{kernel/enclave/record-keys → capsule/plumbing}/deterministic.d.ts +8 -21
- package/dist/capsule/plumbing/digest.d.ts +122 -0
- package/dist/{kernel/enclave/record-keys → capsule/plumbing}/envelope-body.d.ts +44 -48
- package/dist/capsule/plumbing/index.d.ts +100 -0
- package/dist/capsule/plumbing/lifecycle.d.ts +50 -0
- package/dist/{kernel/enclave/record-keys → capsule/plumbing}/record-codec.d.ts +62 -20
- package/dist/{kernel/enclave → capsule/plumbing}/record-envelope.d.ts +1 -1
- package/dist/capsule/plumbing/rekey-blob.d.ts +33 -0
- package/dist/capsule/plumbing/rekey.d.ts +44 -0
- package/dist/capsule/plumbing/sealed-slot.d.ts +22 -0
- package/dist/capsule/plumbing/sealed-slots.d.ts +37 -0
- package/dist/capsule/plumbing/sealing.d.ts +29 -0
- package/dist/capsule/plumbing/sign.d.ts +9 -0
- package/dist/{kernel/enclave/record-keys → capsule/plumbing}/tombstone.d.ts +2 -2
- package/dist/capsule-57BDK7LG.js +209 -0
- package/dist/cargo/index.js +36 -36
- package/dist/{chunk-BUDAGWL5.js → chunk-226V6XXJ.js} +41 -6
- package/dist/chunk-226V6XXJ.js.map +1 -0
- package/dist/{chunk-QWGU66MP.js → chunk-2A56DSRI.js} +5 -7
- package/dist/chunk-2A56DSRI.js.map +1 -0
- package/dist/chunk-2DX4JCRI.js +1 -0
- package/dist/{chunk-ODVPTDPK.js → chunk-2ELOCEXE.js} +1 -1
- package/dist/chunk-2ELOCEXE.js.map +1 -0
- package/dist/{chunk-CKNGS5MH.js → chunk-2WJKJZSO.js} +3 -5
- package/dist/chunk-2WJKJZSO.js.map +1 -0
- package/dist/{chunk-ZSX4S5XB.js → chunk-2ZFD2UJC.js} +9 -9
- package/dist/{chunk-YSK2CU2Q.js → chunk-3V6LZHUO.js} +3 -3
- package/dist/chunk-3V6LZHUO.js.map +1 -0
- package/dist/{chunk-HT2AHGQI.js → chunk-3Y5JLSXS.js} +2 -2
- package/dist/{chunk-M7NI3IWE.js → chunk-45VHWE4C.js} +67 -60
- package/dist/chunk-45VHWE4C.js.map +1 -0
- package/dist/{chunk-LGNDFRYC.js → chunk-4CFHL5RY.js} +1 -1
- package/dist/chunk-4CFHL5RY.js.map +1 -0
- package/dist/{enclave-27SMF6GF.js → chunk-4J3MNVVX.js} +83 -56
- package/dist/chunk-4J3MNVVX.js.map +1 -0
- package/dist/{chunk-SI3V7D4G.js → chunk-4UIP3QNW.js} +2 -2
- package/dist/{chunk-WNJ4AVGE.js → chunk-55P6OBB7.js} +2 -2
- package/dist/{chunk-6LNL42F5.js → chunk-5HNW4ZTA.js} +12 -15
- package/dist/chunk-5HNW4ZTA.js.map +1 -0
- package/dist/{chunk-SYVZW77S.js → chunk-5LMCVBMY.js} +6 -8
- package/dist/chunk-5LMCVBMY.js.map +1 -0
- package/dist/{chunk-MKXXMNJH.js → chunk-5UUJE4FP.js} +3 -3
- package/dist/chunk-5XONHAFD.js +12 -0
- package/dist/chunk-5XONHAFD.js.map +1 -0
- package/dist/{chunk-X4773RBR.js → chunk-6QLCS7ET.js} +2 -2
- package/dist/chunk-6QLCS7ET.js.map +1 -0
- package/dist/{chunk-FW22ZCXT.js → chunk-6WS35E6X.js} +2 -2
- package/dist/{chunk-FCKWQE2H.js → chunk-6Y5E4SJU.js} +7 -8
- package/dist/chunk-6Y5E4SJU.js.map +1 -0
- package/dist/{chunk-4AF3TUMP.js → chunk-72XBVN4J.js} +8 -2
- package/dist/{chunk-4AF3TUMP.js.map → chunk-72XBVN4J.js.map} +1 -1
- package/dist/{chunk-QBBUZ3I3.js → chunk-7BMOS4JQ.js} +11 -11
- package/dist/chunk-7BMOS4JQ.js.map +1 -0
- package/dist/{chunk-5FDLC6G7.js → chunk-7CT6SX4M.js} +3 -3
- package/dist/chunk-7CT6SX4M.js.map +1 -0
- package/dist/{chunk-LQ4ZHOKP.js → chunk-ABU6A4Z5.js} +36 -27
- package/dist/chunk-ABU6A4Z5.js.map +1 -0
- package/dist/{chunk-WX5ADGTZ.js → chunk-AJFPAHMW.js} +3 -3
- package/dist/chunk-AJFPAHMW.js.map +1 -0
- package/dist/{chunk-ZE4CHIED.js → chunk-APFFJN5T.js} +39 -37
- package/dist/chunk-APFFJN5T.js.map +1 -0
- package/dist/{chunk-6OWXYZK2.js → chunk-B65CC6Z6.js} +2 -2
- package/dist/{chunk-F2TDU7MQ.js → chunk-BJH77UY2.js} +2 -2
- package/dist/{chunk-L7DOS3TE.js → chunk-BMHQHH7Q.js} +3 -3
- package/dist/chunk-BMHQHH7Q.js.map +1 -0
- package/dist/{chunk-BJ2IXQ5Q.js → chunk-BNFNQNEP.js} +2 -2
- package/dist/chunk-BU2ABHFW.js +74 -0
- package/dist/chunk-BU2ABHFW.js.map +1 -0
- package/dist/{chunk-HLEK5VAN.js → chunk-BUE7R3B5.js} +2 -2
- package/dist/{chunk-ISZQJBML.js → chunk-BVF3SXD7.js} +6 -6
- package/dist/chunk-BVF3SXD7.js.map +1 -0
- package/dist/{chunk-M522UYZ2.js → chunk-BYHCKX73.js} +6 -10
- package/dist/chunk-BYHCKX73.js.map +1 -0
- package/dist/{chunk-EOVMT6TB.js → chunk-C53ER7AG.js} +2 -2
- package/dist/{chunk-K6W7BVZ6.js → chunk-CAD7N6HQ.js} +3 -3
- package/dist/chunk-CB4467G3.js +565 -0
- package/dist/chunk-CB4467G3.js.map +1 -0
- package/dist/{chunk-NWHBJQAL.js → chunk-D4V5JJAK.js} +4 -4
- package/dist/chunk-D4V5JJAK.js.map +1 -0
- package/dist/{chunk-QWFHIOD2.js → chunk-D5A3GCZ4.js} +11 -12
- package/dist/chunk-D5A3GCZ4.js.map +1 -0
- package/dist/{chunk-5O7D6ZTW.js → chunk-DHU2AQ6T.js} +2 -2
- package/dist/{chunk-DC5QVPV7.js → chunk-DL6BZKP3.js} +3 -3
- package/dist/chunk-DL6BZKP3.js.map +1 -0
- package/dist/{chunk-FQ54DWUQ.js → chunk-EA4VDI5D.js} +4 -4
- package/dist/chunk-EA4VDI5D.js.map +1 -0
- package/dist/{chunk-IT22PWKV.js → chunk-ECGXA4LT.js} +2 -2
- package/dist/{chunk-BP6DARYA.js → chunk-EMAWOGVH.js} +4 -4
- package/dist/chunk-EMAWOGVH.js.map +1 -0
- package/dist/{chunk-3F7GLNAE.js → chunk-EUD3HQM4.js} +7 -11
- package/dist/chunk-EUD3HQM4.js.map +1 -0
- package/dist/{chunk-T2LBQ5DV.js → chunk-FSQNGPHH.js} +335 -250
- package/dist/chunk-FSQNGPHH.js.map +1 -0
- package/dist/{chunk-7VCXZDA4.js → chunk-FZXRLNJO.js} +7 -11
- package/dist/chunk-FZXRLNJO.js.map +1 -0
- package/dist/{chunk-6LMQ5R26.js → chunk-G46JSSVX.js} +7 -7
- package/dist/{chunk-6LMQ5R26.js.map → chunk-G46JSSVX.js.map} +1 -1
- package/dist/{chunk-GF5BZ7D4.js → chunk-G5EDYVSE.js} +11 -13
- package/dist/chunk-G5EDYVSE.js.map +1 -0
- package/dist/chunk-G66YXUTY.js +60 -0
- package/dist/chunk-G66YXUTY.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-4MXI3ODD.js → chunk-GCUMOKTN.js} +3 -3
- package/dist/{chunk-FH2L2E34.js → chunk-GETUTTZU.js} +4 -4
- package/dist/{chunk-FH2L2E34.js.map → chunk-GETUTTZU.js.map} +1 -1
- package/dist/chunk-GMKGGY7V.js +234 -0
- package/dist/chunk-GMKGGY7V.js.map +1 -0
- package/dist/{chunk-B6SJIBQK.js → chunk-GOJQ5DZA.js} +4 -4
- package/dist/{chunk-EIPVYUEP.js → chunk-GQ4MF3CM.js} +3 -3
- package/dist/chunk-GQ4MF3CM.js.map +1 -0
- package/dist/{chunk-PDCG6PR5.js → chunk-GRS2HIV6.js} +2 -2
- package/dist/chunk-GRS2HIV6.js.map +1 -0
- package/dist/{chunk-PEOZ34EM.js → chunk-GSAK56VF.js} +1 -1
- package/dist/chunk-GSAK56VF.js.map +1 -0
- package/dist/{chunk-3H5KLDZN.js → chunk-H3YM66EI.js} +4 -8
- package/dist/chunk-H3YM66EI.js.map +1 -0
- package/dist/{chunk-NRT6QZQB.js → chunk-IVMFIKNA.js} +6 -6
- package/dist/chunk-IVMFIKNA.js.map +1 -0
- package/dist/{chunk-PSIV7CJV.js → chunk-J4KAPKBJ.js} +2 -2
- package/dist/chunk-J4KAPKBJ.js.map +1 -0
- package/dist/{chunk-N5DNADLQ.js → chunk-JA25QG5M.js} +224 -34
- package/dist/chunk-JA25QG5M.js.map +1 -0
- package/dist/{chunk-T7IR4N2S.js → chunk-JBMMWYOH.js} +3 -1
- package/dist/{chunk-T7IR4N2S.js.map → chunk-JBMMWYOH.js.map} +1 -1
- package/dist/{chunk-YNIUIERI.js → chunk-JPSL5GIZ.js} +18 -59
- package/dist/chunk-JPSL5GIZ.js.map +1 -0
- package/dist/{chunk-TKUOEU2F.js → chunk-JSWKVZCR.js} +2 -2
- package/dist/chunk-JZ4EDEIP.js +22 -0
- package/dist/chunk-JZ4EDEIP.js.map +1 -0
- package/dist/{chunk-QOOUUR4A.js → chunk-K673OO6B.js} +10 -4
- package/dist/chunk-K673OO6B.js.map +1 -0
- package/dist/{chunk-NNARWO72.js → chunk-K7RW7FI4.js} +13 -12
- package/dist/chunk-K7RW7FI4.js.map +1 -0
- package/dist/{chunk-ZXABPVM6.js → chunk-L2F3CFCH.js} +9 -13
- package/dist/chunk-L2F3CFCH.js.map +1 -0
- package/dist/{chunk-X25NWUZB.js → chunk-L5A3KR7R.js} +3 -3
- package/dist/{chunk-T52GX4SA.js → chunk-LGGIFKJP.js} +4 -4
- package/dist/{chunk-ID6Z6E66.js → chunk-MQ7YWBQ5.js} +2 -2
- package/dist/{chunk-FXQBGFOX.js → chunk-MRJDLXI3.js} +14 -8
- package/dist/{chunk-FXQBGFOX.js.map → chunk-MRJDLXI3.js.map} +1 -1
- package/dist/chunk-NH2UOV3B.js +18 -0
- package/dist/chunk-NH2UOV3B.js.map +1 -0
- package/dist/{chunk-FN5EBVTQ.js → chunk-NIXRB5BP.js} +2 -2
- package/dist/{chunk-RHVMZSUU.js → chunk-NV4OESHC.js} +1 -1
- package/dist/chunk-NV4OESHC.js.map +1 -0
- package/dist/{chunk-HBRLNOHL.js → chunk-NYJBYVBG.js} +4 -4
- package/dist/{chunk-DF73H4UN.js → chunk-NZULV7LK.js} +5 -5
- package/dist/chunk-NZULV7LK.js.map +1 -0
- package/dist/{chunk-HK67PX4J.js → chunk-OFD2HD6F.js} +1 -1
- package/dist/chunk-OFD2HD6F.js.map +1 -0
- package/dist/{chunk-WY2XXTET.js → chunk-OJU67C23.js} +4 -4
- package/dist/{chunk-WY2XXTET.js.map → chunk-OJU67C23.js.map} +1 -1
- package/dist/{chunk-ZUVBC32X.js → chunk-OK57EATL.js} +2 -2
- package/dist/{chunk-KJFW62P4.js → chunk-OM3SEDI4.js} +652 -662
- package/dist/chunk-OM3SEDI4.js.map +1 -0
- package/dist/{chunk-TOPYQ6GA.js → chunk-PCYPXLEX.js} +6 -6
- package/dist/{chunk-GYGLAVCX.js → chunk-PFCTSXHU.js} +6 -2
- package/dist/chunk-PFCTSXHU.js.map +1 -0
- package/dist/{chunk-VNNRUGMM.js → chunk-PGC35KXE.js} +2 -2
- package/dist/{chunk-4I522ERM.js → chunk-PT2YCQVK.js} +4 -4
- package/dist/{chunk-Z5HTYMMQ.js → chunk-PTJY5R3O.js} +2 -2
- package/dist/chunk-PUBI455O.js +157 -0
- package/dist/chunk-PUBI455O.js.map +1 -0
- package/dist/{chunk-MTL7MXGR.js → chunk-QDHHHI5Q.js} +16 -17
- package/dist/chunk-QDHHHI5Q.js.map +1 -0
- package/dist/{chunk-F24ZZTHQ.js → chunk-QGFEBNHO.js} +4 -4
- package/dist/{chunk-A6IJU4TK.js → chunk-QGSNJD3B.js} +2 -2
- package/dist/chunk-QJNAHPVT.js +91 -0
- package/dist/chunk-QJNAHPVT.js.map +1 -0
- package/dist/{chunk-BK2HHQGN.js → chunk-QSHATAXJ.js} +2 -2
- package/dist/{chunk-ANWPSTZU.js → chunk-QXJXG7DN.js} +57 -30
- package/dist/chunk-QXJXG7DN.js.map +1 -0
- package/dist/{chunk-HBPPGWUM.js → chunk-RDOEOPOI.js} +14 -9
- package/dist/chunk-RDOEOPOI.js.map +1 -0
- package/dist/{chunk-JCN44NCY.js → chunk-RIZTZJX6.js} +2 -2
- package/dist/{chunk-MVZ2TPVP.js → chunk-RNACRT5H.js} +2 -2
- package/dist/chunk-RWFQVNXR.js +24 -0
- package/dist/chunk-RWFQVNXR.js.map +1 -0
- package/dist/{chunk-TROR3ALR.js → chunk-SFCD6OU7.js} +2 -2
- package/dist/{chunk-S57HTZ6X.js → chunk-SNM7LSYG.js} +5 -8
- package/dist/chunk-SNM7LSYG.js.map +1 -0
- package/dist/chunk-SPPOUJLN.js +40 -0
- package/dist/chunk-SPPOUJLN.js.map +1 -0
- package/dist/{chunk-3ELRMVJK.js → chunk-SWXLZ4HX.js} +31 -35
- package/dist/chunk-SWXLZ4HX.js.map +1 -0
- package/dist/{chunk-6B3VNR4P.js → chunk-TFWFPZRU.js} +26 -35
- package/dist/chunk-TFWFPZRU.js.map +1 -0
- package/dist/{chunk-F7XGHL5O.js → chunk-TMIJAR2X.js} +3 -3
- package/dist/{chunk-F7XGHL5O.js.map → chunk-TMIJAR2X.js.map} +1 -1
- package/dist/{chunk-I3JDRCMW.js → chunk-TZYTMZZY.js} +10 -10
- package/dist/{chunk-AOWGXU6D.js → chunk-UAKY6E4N.js} +2 -2
- package/dist/chunk-UHFGK6YA.js +40 -0
- package/dist/chunk-UHFGK6YA.js.map +1 -0
- package/dist/{chunk-3JWHAR6E.js → chunk-UNSQZSZP.js} +2 -2
- package/dist/{chunk-FQ5VRHIB.js → chunk-UOZOWN73.js} +5 -9
- package/dist/chunk-UOZOWN73.js.map +1 -0
- package/dist/{chunk-GHLTDZRS.js → chunk-V55JASXO.js} +25 -4
- package/dist/chunk-V55JASXO.js.map +1 -0
- package/dist/{chunk-244VXYPG.js → chunk-VSUQI5Q6.js} +45 -4
- package/dist/chunk-VSUQI5Q6.js.map +1 -0
- package/dist/{chunk-6K7DPM7D.js → chunk-WFWFXDNS.js} +2 -2
- package/dist/{chunk-CF5UU4S7.js → chunk-WHOKGHJ3.js} +7 -7
- package/dist/{chunk-LGRLME4M.js → chunk-X2RP4TO5.js} +16 -16
- package/dist/chunk-X2RP4TO5.js.map +1 -0
- package/dist/{chunk-VNPEWFPD.js → chunk-XA34THLF.js} +8 -6
- package/dist/chunk-XA34THLF.js.map +1 -0
- package/dist/{chunk-HVSCEIYL.js → chunk-XITHENBI.js} +12 -14
- package/dist/chunk-XITHENBI.js.map +1 -0
- package/dist/{chunk-ENAG3IY7.js → chunk-XKBTJGFP.js} +26 -28
- package/dist/chunk-XKBTJGFP.js.map +1 -0
- package/dist/{chunk-32YV3TJT.js → chunk-XXNWU5QZ.js} +2 -2
- package/dist/{chunk-B57AFBY2.js → chunk-XXQ5XIYY.js} +2 -2
- package/dist/{chunk-ORDURZBU.js → chunk-YFFMPZPY.js} +2 -2
- package/dist/{chunk-MDWKM2XC.js → chunk-YKGJ44Z7.js} +3 -3
- package/dist/{chunk-IUWCVHQ7.js → chunk-YQFBH5ZJ.js} +4 -4
- package/dist/{chunk-IUWCVHQ7.js.map → chunk-YQFBH5ZJ.js.map} +1 -1
- package/dist/{chunk-UPD5NWI5.js → chunk-Z3ZXVB2Y.js} +29 -16
- package/dist/chunk-Z3ZXVB2Y.js.map +1 -0
- package/dist/chunk-ZBUAX4EF.js +27 -0
- package/dist/chunk-ZBUAX4EF.js.map +1 -0
- package/dist/{chunk-MLPHLJIQ.js → chunk-ZHQJAV6D.js} +2 -2
- package/dist/{chunk-UD5EVGZ7.js → chunk-ZMVSKYTJ.js} +56 -96
- package/dist/chunk-ZMVSKYTJ.js.map +1 -0
- package/dist/{chunk-7JE7BDYJ.js → chunk-ZVSKSUGI.js} +5 -5
- package/dist/{chunk-J6UOHJY5.js → chunk-ZWF3EWZA.js} +4 -8
- package/dist/chunk-ZWF3EWZA.js.map +1 -0
- package/dist/classified/index.js +5 -5
- package/dist/{classified-marker-W3USLL5M.js → classified-marker-KHDOYIJB.js} +3 -3
- package/dist/classified-marker-KHDOYIJB.js.map +1 -0
- package/dist/collection-facade-LZIF7GWD.js +41 -0
- package/dist/{computed-TPFBX7U4.js → computed-XMFTHAXV.js} +3 -3
- package/dist/consent/index.js +10 -11
- package/dist/consent/index.js.map +1 -1
- package/dist/cover/index.js +9 -10
- package/dist/coverage/index.js +1 -1
- package/dist/custody/index.js +13 -13
- package/dist/{dead-filter-U2UYKSZL.js → dead-filter-CXV5NS67.js} +11 -3
- package/dist/dead-filter-CXV5NS67.js.map +1 -0
- package/dist/debug/index.js +11 -2
- package/dist/debug/index.js.map +1 -1
- package/dist/{delegation-S3AEPW2T.js → delegation-ONLM4JFI.js} +52 -31
- package/dist/delegation-ONLM4JFI.js.map +1 -0
- package/dist/derivations/index.js +25 -25
- package/dist/derive-3YSIS36W.js +20 -0
- package/dist/directory/index.js +10 -11
- package/dist/{dispatch-RH4LHKBH.js → dispatch-2MQFMEGY.js} +22 -23
- package/dist/dispatch-2MQFMEGY.js.map +1 -0
- package/dist/{dispatch-3CQDJV5Q.js → dispatch-OFDA4WQV.js} +5 -5
- package/dist/executor-E6YDJ7YA.js +8 -0
- package/dist/executor-NJX3YQQ4.js +35 -0
- package/dist/executor-WWM3DD4P.js +8 -0
- package/dist/export-accessible-RLHU5G4W.js +22 -0
- package/dist/extract-partition-QII2EDCS.js +35 -0
- package/dist/{fanout-sidecar-OT6RYLOL.js → fanout-sidecar-BO67PCPO.js} +13 -15
- package/dist/fanout-sidecar-BO67PCPO.js.map +1 -0
- package/dist/find-6M7GYDUZ.js +10 -0
- package/dist/forget/index.js +26 -10
- package/dist/forget/index.js.map +1 -1
- package/dist/guards/index.js +4 -4
- package/dist/history/index.js +13 -14
- package/dist/history/index.js.map +1 -1
- package/dist/i18n/index.js +14 -15
- package/dist/i18n/index.js.map +1 -1
- package/dist/index.d.ts +15 -13
- package/dist/index.js +198 -187
- package/dist/index.js.map +1 -1
- package/dist/indexing/index.js +6 -6
- package/dist/introspection/index.js +16 -13
- package/dist/issue-LPEEEMPP.js +19 -0
- package/dist/kernel/attestation-types.d.ts +62 -0
- package/dist/kernel/cache/index.d.ts +1 -1
- package/dist/kernel/collection-config.d.ts +1 -48
- package/dist/kernel/collection.d.ts +2 -1
- package/dist/kernel/cutover-transform.d.ts +1 -1
- package/dist/kernel/errors.d.ts +63 -6
- package/dist/kernel/export-scope.d.ts +40 -0
- package/dist/kernel/merge-authority.d.ts +1 -1
- package/dist/kernel/noydb.d.ts +3 -1
- package/dist/kernel/paths.d.ts +29 -5
- package/dist/kernel/prepared-write.d.ts +1 -1
- 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/secret-mode.d.ts +1 -1
- package/dist/kernel/tx-write-gate.d.ts +2 -4
- package/dist/kernel/types.d.ts +135 -11
- package/dist/kernel/validation.d.ts +0 -10
- package/dist/kernel/vault.d.ts +6 -2
- package/dist/kernel/via/reconcile.d.ts +1 -42
- package/dist/kernel/write-queue.d.ts +17 -0
- package/dist/{ledger-KZPCMVZY.js → ledger-MSJGWKGW.js} +11 -12
- package/dist/liberate-LEKDYKTC.js +25 -0
- package/dist/link-set-QXXSPPHL.js +29 -0
- package/dist/{managed-secret-S3MQ6SH6.js → managed-secret-VSK7ANQI.js} +10 -11
- package/dist/materialized-views/index.js +27 -28
- package/dist/{migrate-cek-V7GKJZ7O.js → migrate-cek-GEBFYBDC.js} +2 -2
- package/dist/money/index.js +5 -5
- package/dist/noydb-F2AUF6KL.js +98 -0
- package/dist/on/index.js +25 -0
- package/dist/overlay-views/index.js +4 -4
- package/dist/periods/index.js +12 -13
- package/dist/pod/index.js +76 -74
- package/dist/{pod-handle-WGDFB4C2.js → pod-handle-YE7CT66T.js} +10 -11
- package/dist/pod-handle-YE7CT66T.js.map +1 -0
- package/dist/policy/index.js +10 -11
- 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 +27 -1
- package/dist/port/to/index.d.ts +1 -1
- package/dist/port/with/blob-strategy.d.ts +1 -1
- package/dist/port/with/broker-strategy.d.ts +14 -0
- package/dist/port/with/classified-strategy.d.ts +1 -1
- package/dist/port/with/collection-options.d.ts +1 -1
- package/dist/port/with/collection-registries.d.ts +1 -1
- 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 +87 -6
- package/dist/port/with/service-bus.d.ts +2 -1
- package/dist/portability/index.js +8 -8
- package/dist/{post-register-SLSXIPBV.js → post-register-QC5TEAW3.js} +6 -6
- package/dist/post-register-QC5TEAW3.js.map +1 -0
- 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-SN72QALV.js +30 -0
- package/dist/registry-253FF7C6.js +35 -0
- package/dist/registry-3AZWQTDT.js +23 -0
- package/dist/registry-7UEBTHWG.js +8 -0
- package/dist/registry-IVJ67NFQ.js +8 -0
- package/dist/request-withdrawal-UKVJZKX2.js +28 -0
- package/dist/{reveal-4BCKPEC2.js → reveal-YQTRNQFH.js} +10 -9
- package/dist/reveal-YQTRNQFH.js.map +1 -0
- package/dist/revoke-G2KXJQA5.js +24 -0
- package/dist/satellites/index.js +1 -1
- package/dist/schema-update/index.js +2 -2
- package/dist/sealed-record/index.js +16 -18
- package/dist/sealed-record/index.js.map +1 -1
- package/dist/search/index.js +4 -4
- package/dist/{seed-4JS2RJ4A.js → seed-JMQTRKRE.js} +125 -34
- package/dist/seed-JMQTRKRE.js.map +1 -0
- package/dist/sequence/index.js +9 -10
- package/dist/session/index.js +9 -10
- package/dist/session/index.js.map +1 -1
- package/dist/shadow/index.js +2 -2
- package/dist/signer-IUIYR3CX.js +23 -0
- package/dist/snapshots/index.js +11 -11
- package/dist/stale-SKV33PBU.js +28 -0
- package/dist/storage-NPBYP2SM.js +21 -0
- package/dist/store/index.js +1 -1
- package/dist/{store-coordination-provider-2O2VUHKW.js → store-coordination-provider-Z6HKPOGM.js} +11 -12
- package/dist/store-coordination-provider-Z6HKPOGM.js.map +1 -0
- package/dist/sync/index.js +18 -13
- package/dist/sync/index.js.map +1 -1
- package/dist/team/index.js +18 -17
- package/dist/tiers/index.js +11 -12
- 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 +11 -14
- package/dist/vault-head/index.js.map +1 -1
- package/dist/{verify-RVT67IMH.js → verify-KWQIWLGH.js} +14 -12
- package/dist/verify-KWQIWLGH.js.map +1 -0
- package/dist/via/classified/binding.d.ts +2 -2
- package/dist/via/classified/config-drift.d.ts +2 -2
- package/dist/via/classified/errors.d.ts +1 -1
- 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/handle.d.ts +4 -4
- package/dist/via/lookup/index.d.ts +32 -0
- package/dist/via/money/binding.d.ts +0 -9
- package/dist/walk-F4OLXI5H.js +20 -0
- package/dist/with-audit/attestation/index.d.ts +2 -1
- package/dist/with-audit/attestation/issue.d.ts +2 -2
- package/dist/with-audit/attestation/revoke.d.ts +2 -2
- package/dist/with-audit/attestation/scheme.d.ts +7 -0
- package/dist/with-audit/attestation/signer.d.ts +1 -1
- package/dist/with-audit/attestation/strategy.d.ts +4 -3
- package/dist/with-audit/attestation/types.d.ts +10 -0
- package/dist/with-audit/attestation/vault-facade.d.ts +9 -2
- package/dist/with-audit/attestation/verifier.d.ts +6 -0
- package/dist/with-audit/consent/consent.d.ts +1 -1
- package/dist/with-audit/consent/strategy.d.ts +1 -1
- 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/forget/subject-index.d.ts +1 -1
- 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/periods/vault-facade.d.ts +1 -1
- 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/sealed-record/index.d.ts +2 -2
- package/dist/with-audit/sealed-record/strategy.d.ts +1 -1
- package/dist/with-audit/tiers/index.d.ts +3 -3
- package/dist/with-audit/tiers/strategy.d.ts +19 -0
- package/dist/with-cargo/adopt-partition.d.ts +1 -1
- package/dist/with-cargo/extract-partition.d.ts +1 -47
- package/dist/with-cargo/floor.d.ts +1 -1
- package/dist/with-commit/history/history.d.ts +2 -2
- package/dist/with-commit/history/index.d.ts +1 -1
- package/dist/with-commit/history/ledger/store.d.ts +1 -1
- package/dist/with-commit/history/strategy.d.ts +1 -1
- package/dist/with-commit/history/time-machine.d.ts +1 -1
- package/dist/with-commit/numbering/index.d.ts +1 -3
- package/dist/with-commit/sequence/index.d.ts +1 -1
- package/dist/with-commit/tx/transaction.d.ts +2 -24
- package/dist/with-commit/vault-head/head.d.ts +1 -1
- package/dist/with-commit/vault-head/index.d.ts +1 -1
- package/dist/with-commit/vault-head/strategy.d.ts +8 -1
- package/dist/with-commit/vault-head/verify.d.ts +1 -1
- package/dist/with-fork/snapshots/noydb-facade.d.ts +7 -0
- package/dist/with-formula/derivations/dispatch.d.ts +1 -1
- package/dist/with-formula/derivations/fanout-sidecar.d.ts +1 -1
- 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 +2 -16
- package/dist/with-lookup/indexing/eager-indexes.d.ts +2 -1
- package/dist/with-lookup/search/collection-facade.d.ts +1 -13
- package/dist/with-party/broker/index.d.ts +4 -4
- package/dist/with-party/broker/seed.d.ts +25 -10
- package/dist/with-party/directory/user-envelope/storage.d.ts +1 -1
- package/dist/with-party/policy/noydb-facade.d.ts +1 -31
- package/dist/with-party/team/delegation.d.ts +59 -3
- package/dist/with-party/team/echo-secret.d.ts +2 -4
- package/dist/with-party/team/index.d.ts +1 -1
- package/dist/with-party/team/keyring.d.ts +2 -22
- package/dist/with-party/team/magic-link-grant.d.ts +12 -2
- package/dist/with-party/team/noydb-facade.d.ts +5 -0
- package/dist/with-party/team/recovery.d.ts +1 -1
- package/dist/with-party/team/reserved-secret-collections.d.ts +10 -8
- package/dist/with-party/team/roster-tag.d.ts +43 -2
- package/dist/with-party/team/rotate-recover.d.ts +1 -1
- package/dist/with-party/team/tiers.d.ts +36 -5
- package/dist/with-party/team/wrapped-deks.d.ts +1 -1
- package/dist/with-pod/index.d.ts +1 -1
- package/dist/with-shape/blobs/blob-compaction.d.ts +1 -1
- package/dist/with-shape/blobs/blob-intent.d.ts +1 -1
- package/dist/with-shape/blobs/blob-set.d.ts +25 -2
- package/dist/with-shape/blobs/legacy-sweep.d.ts +17 -1
- package/dist/with-shape/introspection/describe.d.ts +2 -3
- package/dist/with-shape/introspection/index.d.ts +1 -0
- package/dist/with-shape/introspection/types.d.ts +2 -1
- package/dist/with-shape/introspection/walk.d.ts +1 -1
- package/dist/with-shape/links/lazy-handle.d.ts +1 -1
- package/dist/with-shape/links/link-set.d.ts +1 -1
- package/dist/with-shape/manifest/derive.d.ts +1 -1
- package/dist/with-shape/manifest/storage.d.ts +1 -1
- package/dist/with-shape/persisted-schemas/register.d.ts +1 -1
- package/dist/with-shape/persisted-schemas/storage.d.ts +1 -1
- package/dist/with-shape/satellites/dead-filter.d.ts +1 -1
- package/dist/with-shape/satellites/declare.d.ts +1 -1
- package/dist/with-shape/satellites/marker.d.ts +1 -1
- package/dist/with-shape/satellites/post-register.d.ts +1 -1
- package/dist/with-shape/schema-update/fence.d.ts +7 -0
- package/dist/with-sync/engine.d.ts +30 -1
- package/dist/with-sync/presence.d.ts +5 -10
- package/dist/with-sync/reserved-mirror.d.ts +89 -0
- package/dist/with-sync/strategy.d.ts +7 -0
- package/dist/with-sync/tab-write-relay.d.ts +0 -10
- package/dist/withdraw-accessible-ZKPLZ66E.js +25 -0
- package/dist/withdraw-accessible-ZKPLZ66E.js.map +1 -0
- package/package.json +14 -5
- package/dist/api-GVYEKSJE.js +0 -19
- package/dist/backup-7TFRVFLH.js.map +0 -1
- package/dist/chunk-244VXYPG.js.map +0 -1
- package/dist/chunk-3ELRMVJK.js.map +0 -1
- package/dist/chunk-3F7GLNAE.js.map +0 -1
- package/dist/chunk-3H5KLDZN.js.map +0 -1
- package/dist/chunk-5FDLC6G7.js.map +0 -1
- package/dist/chunk-6B3VNR4P.js.map +0 -1
- package/dist/chunk-6LNL42F5.js.map +0 -1
- package/dist/chunk-6QSQQLSE.js +0 -95
- package/dist/chunk-6QSQQLSE.js.map +0 -1
- package/dist/chunk-7VCXZDA4.js.map +0 -1
- package/dist/chunk-ANWPSTZU.js.map +0 -1
- package/dist/chunk-BP6DARYA.js.map +0 -1
- package/dist/chunk-BUDAGWL5.js.map +0 -1
- package/dist/chunk-CKNGS5MH.js.map +0 -1
- package/dist/chunk-DC5QVPV7.js.map +0 -1
- package/dist/chunk-DE4DH2RZ.js +0 -29
- package/dist/chunk-DE4DH2RZ.js.map +0 -1
- package/dist/chunk-DF73H4UN.js.map +0 -1
- package/dist/chunk-EIPVYUEP.js.map +0 -1
- package/dist/chunk-ENAG3IY7.js.map +0 -1
- package/dist/chunk-FCKWQE2H.js.map +0 -1
- package/dist/chunk-FFWI7UH7.js.map +0 -1
- package/dist/chunk-FQ54DWUQ.js.map +0 -1
- package/dist/chunk-FQ5VRHIB.js.map +0 -1
- package/dist/chunk-GF5BZ7D4.js.map +0 -1
- package/dist/chunk-GHLTDZRS.js.map +0 -1
- package/dist/chunk-GYGLAVCX.js.map +0 -1
- package/dist/chunk-HBPPGWUM.js.map +0 -1
- package/dist/chunk-HK67PX4J.js.map +0 -1
- package/dist/chunk-HVSCEIYL.js.map +0 -1
- package/dist/chunk-IEX7NK2K.js +0 -125
- package/dist/chunk-IEX7NK2K.js.map +0 -1
- package/dist/chunk-ISZQJBML.js.map +0 -1
- package/dist/chunk-J6UOHJY5.js.map +0 -1
- package/dist/chunk-KJFW62P4.js.map +0 -1
- package/dist/chunk-L7DOS3TE.js.map +0 -1
- package/dist/chunk-LGNDFRYC.js.map +0 -1
- package/dist/chunk-LGRLME4M.js.map +0 -1
- package/dist/chunk-LP7BEXCT.js +0 -32
- package/dist/chunk-LP7BEXCT.js.map +0 -1
- package/dist/chunk-LQ4ZHOKP.js.map +0 -1
- package/dist/chunk-M522UYZ2.js.map +0 -1
- package/dist/chunk-M7NI3IWE.js.map +0 -1
- package/dist/chunk-MTL7MXGR.js.map +0 -1
- package/dist/chunk-N5DNADLQ.js.map +0 -1
- package/dist/chunk-NNARWO72.js.map +0 -1
- package/dist/chunk-NRT6QZQB.js.map +0 -1
- package/dist/chunk-NWHBJQAL.js.map +0 -1
- package/dist/chunk-ODVPTDPK.js.map +0 -1
- package/dist/chunk-PDCG6PR5.js.map +0 -1
- package/dist/chunk-PEOZ34EM.js.map +0 -1
- package/dist/chunk-PSIV7CJV.js.map +0 -1
- package/dist/chunk-QBBUZ3I3.js.map +0 -1
- package/dist/chunk-QOOUUR4A.js.map +0 -1
- package/dist/chunk-QWFHIOD2.js.map +0 -1
- package/dist/chunk-QWGU66MP.js.map +0 -1
- package/dist/chunk-RHVMZSUU.js.map +0 -1
- package/dist/chunk-S57HTZ6X.js.map +0 -1
- package/dist/chunk-SEE332EV.js +0 -66
- package/dist/chunk-SEE332EV.js.map +0 -1
- package/dist/chunk-SOIQ4MM4.js +0 -20
- package/dist/chunk-SOIQ4MM4.js.map +0 -1
- package/dist/chunk-SYVZW77S.js.map +0 -1
- package/dist/chunk-T2LBQ5DV.js.map +0 -1
- package/dist/chunk-UBSFPGVJ.js +0 -1
- package/dist/chunk-UD5EVGZ7.js.map +0 -1
- package/dist/chunk-UPD5NWI5.js.map +0 -1
- package/dist/chunk-UYB234ZR.js +0 -479
- package/dist/chunk-UYB234ZR.js.map +0 -1
- package/dist/chunk-VNPEWFPD.js.map +0 -1
- package/dist/chunk-WX5ADGTZ.js.map +0 -1
- package/dist/chunk-X4773RBR.js.map +0 -1
- package/dist/chunk-YNIUIERI.js.map +0 -1
- package/dist/chunk-YSK2CU2Q.js.map +0 -1
- package/dist/chunk-ZE4CHIED.js.map +0 -1
- package/dist/chunk-ZXABPVM6.js.map +0 -1
- package/dist/classified-marker-W3USLL5M.js.map +0 -1
- package/dist/collection-facade-QU6IJBN3.js +0 -48
- package/dist/dead-filter-U2UYKSZL.js.map +0 -1
- package/dist/delegation-S3AEPW2T.js.map +0 -1
- package/dist/derive-OX7F6TGG.js +0 -21
- package/dist/dispatch-RH4LHKBH.js.map +0 -1
- package/dist/executor-B6SRO2QS.js +0 -36
- package/dist/executor-BI5CHWRY.js +0 -8
- package/dist/executor-RBKM5W5K.js +0 -8
- package/dist/export-accessible-VMA3YM5V.js +0 -22
- package/dist/extract-partition-NF7PXGPP.js +0 -37
- package/dist/fanout-sidecar-OT6RYLOL.js.map +0 -1
- package/dist/find-LZMP26KF.js +0 -10
- package/dist/issue-IHARXWW5.js +0 -18
- package/dist/kernel/enclave/classify/compare.d.ts +0 -10
- package/dist/kernel/enclave/index.d.ts +0 -87
- package/dist/kernel/enclave/record-keys/lifecycle.d.ts +0 -124
- package/dist/kernel/enclave/record-keys/rekey-blob.d.ts +0 -88
- package/dist/kernel/enclave/record-keys/rekey.d.ts +0 -91
- package/dist/kernel/enclave/record-keys/sealed-slot.d.ts +0 -14
- package/dist/kernel/enclave/record-keys/sealed-slots.d.ts +0 -123
- package/dist/kernel/enclave/record-keys/sealing.d.ts +0 -70
- package/dist/liberate-GRLCZMW4.js +0 -24
- package/dist/link-set-JCMJ7ULP.js +0 -30
- package/dist/noydb-SWQJ3MZS.js +0 -97
- package/dist/pod-handle-WGDFB4C2.js.map +0 -1
- package/dist/post-register-SLSXIPBV.js.map +0 -1
- package/dist/register-F3OYE7MJ.js +0 -31
- package/dist/registry-CILQFXFK.js +0 -8
- package/dist/registry-XNNYQVKV.js +0 -8
- package/dist/registry-YCDZV3VW.js +0 -35
- package/dist/registry-ZGYS33TE.js +0 -24
- package/dist/request-withdrawal-Z5NC6TXT.js +0 -30
- package/dist/reveal-4BCKPEC2.js.map +0 -1
- package/dist/revoke-ZL62WC2D.js +0 -23
- package/dist/seed-4JS2RJ4A.js.map +0 -1
- package/dist/signer-MBZZMXTC.js +0 -24
- package/dist/stale-TJ3DYZMQ.js +0 -29
- package/dist/storage-SVMKRGCW.js +0 -22
- package/dist/store-coordination-provider-2O2VUHKW.js.map +0 -1
- package/dist/verify-RVT67IMH.js.map +0 -1
- package/dist/walk-HJ42EISE.js +0 -21
- package/dist/withdraw-accessible-5NZUPAVA.js +0 -27
- /package/dist/{api-GVYEKSJE.js.map → api-MSJXVYQG.js.map} +0 -0
- /package/dist/{collection-facade-QU6IJBN3.js.map → capsule/contract.js.map} +0 -0
- /package/dist/{kernel/enclave → capsule/enclave-aes}/classify/bidx.d.ts +0 -0
- /package/dist/{kernel/enclave → capsule/enclave-aes}/classify/digest.d.ts +0 -0
- /package/dist/{kernel/enclave → capsule/enclave-aes}/classify/vdig.d.ts +0 -0
- /package/dist/{kernel/enclave/classify → capsule/plumbing}/kofn.d.ts +0 -0
- /package/dist/{kernel/enclave/classify → capsule/plumbing}/normalize.d.ts +0 -0
- /package/dist/{kernel/enclave → capsule/plumbing}/record-aad.d.ts +0 -0
- /package/dist/{chunk-UBSFPGVJ.js.map → capsule-57BDK7LG.js.map} +0 -0
- /package/dist/{computed-TPFBX7U4.js.map → chunk-2DX4JCRI.js.map} +0 -0
- /package/dist/{chunk-ZSX4S5XB.js.map → chunk-2ZFD2UJC.js.map} +0 -0
- /package/dist/{chunk-HT2AHGQI.js.map → chunk-3Y5JLSXS.js.map} +0 -0
- /package/dist/{chunk-SI3V7D4G.js.map → chunk-4UIP3QNW.js.map} +0 -0
- /package/dist/{chunk-WNJ4AVGE.js.map → chunk-55P6OBB7.js.map} +0 -0
- /package/dist/{chunk-MKXXMNJH.js.map → chunk-5UUJE4FP.js.map} +0 -0
- /package/dist/{chunk-FW22ZCXT.js.map → chunk-6WS35E6X.js.map} +0 -0
- /package/dist/{chunk-6OWXYZK2.js.map → chunk-B65CC6Z6.js.map} +0 -0
- /package/dist/{chunk-F2TDU7MQ.js.map → chunk-BJH77UY2.js.map} +0 -0
- /package/dist/{chunk-BJ2IXQ5Q.js.map → chunk-BNFNQNEP.js.map} +0 -0
- /package/dist/{chunk-HLEK5VAN.js.map → chunk-BUE7R3B5.js.map} +0 -0
- /package/dist/{chunk-EOVMT6TB.js.map → chunk-C53ER7AG.js.map} +0 -0
- /package/dist/{chunk-K6W7BVZ6.js.map → chunk-CAD7N6HQ.js.map} +0 -0
- /package/dist/{chunk-5O7D6ZTW.js.map → chunk-DHU2AQ6T.js.map} +0 -0
- /package/dist/{chunk-IT22PWKV.js.map → chunk-ECGXA4LT.js.map} +0 -0
- /package/dist/{chunk-4MXI3ODD.js.map → chunk-GCUMOKTN.js.map} +0 -0
- /package/dist/{chunk-B6SJIBQK.js.map → chunk-GOJQ5DZA.js.map} +0 -0
- /package/dist/{chunk-TKUOEU2F.js.map → chunk-JSWKVZCR.js.map} +0 -0
- /package/dist/{chunk-X25NWUZB.js.map → chunk-L5A3KR7R.js.map} +0 -0
- /package/dist/{chunk-T52GX4SA.js.map → chunk-LGGIFKJP.js.map} +0 -0
- /package/dist/{chunk-ID6Z6E66.js.map → chunk-MQ7YWBQ5.js.map} +0 -0
- /package/dist/{chunk-FN5EBVTQ.js.map → chunk-NIXRB5BP.js.map} +0 -0
- /package/dist/{chunk-HBRLNOHL.js.map → chunk-NYJBYVBG.js.map} +0 -0
- /package/dist/{chunk-ZUVBC32X.js.map → chunk-OK57EATL.js.map} +0 -0
- /package/dist/{chunk-TOPYQ6GA.js.map → chunk-PCYPXLEX.js.map} +0 -0
- /package/dist/{chunk-VNNRUGMM.js.map → chunk-PGC35KXE.js.map} +0 -0
- /package/dist/{chunk-4I522ERM.js.map → chunk-PT2YCQVK.js.map} +0 -0
- /package/dist/{chunk-Z5HTYMMQ.js.map → chunk-PTJY5R3O.js.map} +0 -0
- /package/dist/{chunk-F24ZZTHQ.js.map → chunk-QGFEBNHO.js.map} +0 -0
- /package/dist/{chunk-A6IJU4TK.js.map → chunk-QGSNJD3B.js.map} +0 -0
- /package/dist/{chunk-BK2HHQGN.js.map → chunk-QSHATAXJ.js.map} +0 -0
- /package/dist/{chunk-JCN44NCY.js.map → chunk-RIZTZJX6.js.map} +0 -0
- /package/dist/{chunk-MVZ2TPVP.js.map → chunk-RNACRT5H.js.map} +0 -0
- /package/dist/{chunk-TROR3ALR.js.map → chunk-SFCD6OU7.js.map} +0 -0
- /package/dist/{chunk-I3JDRCMW.js.map → chunk-TZYTMZZY.js.map} +0 -0
- /package/dist/{chunk-AOWGXU6D.js.map → chunk-UAKY6E4N.js.map} +0 -0
- /package/dist/{chunk-3JWHAR6E.js.map → chunk-UNSQZSZP.js.map} +0 -0
- /package/dist/{chunk-6K7DPM7D.js.map → chunk-WFWFXDNS.js.map} +0 -0
- /package/dist/{chunk-CF5UU4S7.js.map → chunk-WHOKGHJ3.js.map} +0 -0
- /package/dist/{chunk-32YV3TJT.js.map → chunk-XXNWU5QZ.js.map} +0 -0
- /package/dist/{chunk-B57AFBY2.js.map → chunk-XXQ5XIYY.js.map} +0 -0
- /package/dist/{chunk-ORDURZBU.js.map → chunk-YFFMPZPY.js.map} +0 -0
- /package/dist/{chunk-MDWKM2XC.js.map → chunk-YKGJ44Z7.js.map} +0 -0
- /package/dist/{chunk-MLPHLJIQ.js.map → chunk-ZHQJAV6D.js.map} +0 -0
- /package/dist/{chunk-7JE7BDYJ.js.map → chunk-ZVSKSUGI.js.map} +0 -0
- /package/dist/{derive-OX7F6TGG.js.map → collection-facade-LZIF7GWD.js.map} +0 -0
- /package/dist/{enclave-27SMF6GF.js.map → computed-XMFTHAXV.js.map} +0 -0
- /package/dist/{executor-B6SRO2QS.js.map → derive-3YSIS36W.js.map} +0 -0
- /package/dist/{dispatch-3CQDJV5Q.js.map → dispatch-OFDA4WQV.js.map} +0 -0
- /package/dist/{executor-BI5CHWRY.js.map → executor-E6YDJ7YA.js.map} +0 -0
- /package/dist/{executor-RBKM5W5K.js.map → executor-NJX3YQQ4.js.map} +0 -0
- /package/dist/{export-accessible-VMA3YM5V.js.map → executor-WWM3DD4P.js.map} +0 -0
- /package/dist/{extract-partition-NF7PXGPP.js.map → export-accessible-RLHU5G4W.js.map} +0 -0
- /package/dist/{find-LZMP26KF.js.map → extract-partition-QII2EDCS.js.map} +0 -0
- /package/dist/{issue-IHARXWW5.js.map → find-6M7GYDUZ.js.map} +0 -0
- /package/dist/{ledger-KZPCMVZY.js.map → issue-LPEEEMPP.js.map} +0 -0
- /package/dist/{liberate-GRLCZMW4.js.map → ledger-MSJGWKGW.js.map} +0 -0
- /package/dist/{link-set-JCMJ7ULP.js.map → liberate-LEKDYKTC.js.map} +0 -0
- /package/dist/{managed-secret-S3MQ6SH6.js.map → link-set-QXXSPPHL.js.map} +0 -0
- /package/dist/{noydb-SWQJ3MZS.js.map → managed-secret-VSK7ANQI.js.map} +0 -0
- /package/dist/{migrate-cek-V7GKJZ7O.js.map → migrate-cek-GEBFYBDC.js.map} +0 -0
- /package/dist/{register-F3OYE7MJ.js.map → noydb-F2AUF6KL.js.map} +0 -0
- /package/dist/{registry-CILQFXFK.js.map → register-SN72QALV.js.map} +0 -0
- /package/dist/{registry-XNNYQVKV.js.map → registry-253FF7C6.js.map} +0 -0
- /package/dist/{registry-YCDZV3VW.js.map → registry-3AZWQTDT.js.map} +0 -0
- /package/dist/{registry-ZGYS33TE.js.map → registry-7UEBTHWG.js.map} +0 -0
- /package/dist/{request-withdrawal-Z5NC6TXT.js.map → registry-IVJ67NFQ.js.map} +0 -0
- /package/dist/{revoke-ZL62WC2D.js.map → request-withdrawal-UKVJZKX2.js.map} +0 -0
- /package/dist/{signer-MBZZMXTC.js.map → revoke-G2KXJQA5.js.map} +0 -0
- /package/dist/{stale-TJ3DYZMQ.js.map → signer-IUIYR3CX.js.map} +0 -0
- /package/dist/{storage-SVMKRGCW.js.map → stale-SKV33PBU.js.map} +0 -0
- /package/dist/{walk-HJ42EISE.js.map → storage-NPBYP2SM.js.map} +0 -0
- /package/dist/{withdraw-accessible-5NZUPAVA.js.map → walk-F4OLXI5H.js.map} +0 -0
|
@@ -39,6 +39,6 @@ export { beginEchoUnlock } from './echo-ceremony.js';
|
|
|
39
39
|
export type { BeginEchoUnlockOptions, EchoCeremony } from './echo-ceremony.js';
|
|
40
40
|
export { MemoryDeviceSeal } from './device-seal.js';
|
|
41
41
|
export type { NoydbDeviceSeal } from './device-seal.js';
|
|
42
|
-
export type { EchoSecretParts } from '../../
|
|
42
|
+
export type { EchoSecretParts } from '../../capsule/index.js';
|
|
43
43
|
export type { KeyringEchoBlock, NoydbStore } from '../../kernel/types.js';
|
|
44
44
|
export { describeAuthConfig, diagramAuthConfig, describeUserAuth, describeAllUsersAuth, } from '../auth-introspection/index.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { NoydbStore, KeyringFile, KeyringAuthenticator, Role, Permissions, GrantOptions, RevokeOptions, UpdateUserOptions, UserInfo, EncryptedEnvelope, ExportCapability, ExportFormat, ImportCapability, VaultPolicyOnDisk, UserEnvelope } from '../../kernel/types.js';
|
|
2
|
-
import { type EnclaveKey, type EchoSecretParts } from '../../
|
|
2
|
+
import { type EnclaveKey, type EchoSecretParts } from '../../capsule/index.js';
|
|
3
3
|
import type { KeyringTamperedReason } from '../../kernel/errors.js';
|
|
4
4
|
import { type SecretPolicy, type EchoSecretPolicy } from '../../kernel/validation.js';
|
|
5
5
|
import type { NoydbDeviceSeal } from './device-seal.js';
|
|
@@ -85,17 +85,6 @@ export interface UnlockedKeyring {
|
|
|
85
85
|
}
|
|
86
86
|
/** Mint a fresh wrapped-canary string. Deterministic for a given KEK. */
|
|
87
87
|
export declare function mintKeyringCanary(kek: EnclaveKey): Promise<string>;
|
|
88
|
-
/**
|
|
89
|
-
* The vault roster key held by this keyring, or `null` when the keyring
|
|
90
|
-
* carries none.
|
|
91
|
-
*
|
|
92
|
-
* Null is expected on the resume-style paths (`kek: null` sessions, tier-3
|
|
93
|
-
* PIN resume, plaintext mode) — none of which may write a keyring file.
|
|
94
|
-
* Every stamping site null-guards this exactly as it guards `kek`: minting a
|
|
95
|
-
* file without a verifiable `roster_tag` would be worse than refusing, since
|
|
96
|
-
* it is indistinguishable on the next load from a store having stripped it.
|
|
97
|
-
*/
|
|
98
|
-
export declare function rosterKeyOf(keyring: UnlockedKeyring): EnclaveKey | null;
|
|
99
88
|
/**
|
|
100
89
|
* Shared wording for the stamping-site guards — mirrors the `kek` guard's shape.
|
|
101
90
|
* Exported so every roster-stamping site in the hub raises ONE error with one
|
|
@@ -120,6 +109,7 @@ export interface LoadKeyringOptions {
|
|
|
120
109
|
*/
|
|
121
110
|
export declare function deriveKekForKeyring(file: KeyringFile, secret: string | EchoSecretParts, salt: Uint8Array): Promise<EnclaveKey>;
|
|
122
111
|
/** Parse a raw keyring envelope. Single sanctioned reader of `_data` for keyring files. */
|
|
112
|
+
/** Parse a keyring envelope's body. Exported for `keyring-mirror.ts` (core#75) — the one non-crypto reader. */
|
|
123
113
|
export declare function parseKeyringEnvelope(envelope: EncryptedEnvelope): KeyringFile;
|
|
124
114
|
/** Fetch + parse a user's keyring file; undefined when the row is missing. */
|
|
125
115
|
export declare function readKeyringFile(store: NoydbStore, vault: string, userId: string): Promise<{
|
|
@@ -513,16 +503,6 @@ export declare function listUsersWithEnvelopes<T = unknown>(store: NoydbStore, v
|
|
|
513
503
|
envelope: UserEnvelope<T> | null;
|
|
514
504
|
}>>;
|
|
515
505
|
export declare function ensureCollectionDEK(store: NoydbStore, vault: string, keyring: UnlockedKeyring): Promise<(collectionName: string) => Promise<EnclaveKey>>;
|
|
516
|
-
/**
|
|
517
|
-
* The `Permissions` catch-all key (#1010). `Permissions` has always documented
|
|
518
|
-
* `'*'` as "the wildcard collection matching all collections in the vault", but
|
|
519
|
-
* nothing expanded it — a grantee handed the documented catch-all got no keys
|
|
520
|
-
* at all. It is honoured in three places, and they must agree: the DEK wrapping
|
|
521
|
-
* in `grant()`, and both permission checks below.
|
|
522
|
-
*/
|
|
523
|
-
export declare const PERMISSION_WILDCARD = "*";
|
|
524
|
-
/** Does this permission map hand over the whole vault? */
|
|
525
|
-
export declare function permissionsAreWildcard(permissions: Permissions | undefined): boolean;
|
|
526
506
|
/** Check if a user has write permission for a collection. */
|
|
527
507
|
export declare function hasWritePermission(keyring: UnlockedKeyring, collectionName: string): boolean;
|
|
528
508
|
/** Check if a user has any access to a collection. */
|
|
@@ -49,12 +49,22 @@
|
|
|
49
49
|
*/
|
|
50
50
|
import type { NoydbStore } from '../../kernel/types.js';
|
|
51
51
|
import type { UnlockedKeyring } from './keyring.js';
|
|
52
|
-
import { type EnclaveKey } from '../../
|
|
52
|
+
import { type EnclaveKey } from '../../capsule/index.js';
|
|
53
53
|
/** Reserved collection holding magic-link grant envelopes. */
|
|
54
54
|
export declare const MAGIC_LINK_GRANTS_COLLECTION = "_magic_link_grants";
|
|
55
55
|
/** HKDF `info` for the AES-GCM content key. Version-namespaced. */
|
|
56
56
|
export declare const MAGIC_LINK_CONTENT_INFO_PREFIX = "noydb-magic-link-content-v1:";
|
|
57
|
-
/**
|
|
57
|
+
/**
|
|
58
|
+
* HKDF `info` for the AES-KW KEK. Matches `@noy-db/on-magic-link`.
|
|
59
|
+
*
|
|
60
|
+
* No importer inside hub, and that is not a defect: this is one half of a
|
|
61
|
+
* CROSS-PACKAGE protocol constant. The satellite derives the same KEK from
|
|
62
|
+
* the same string, so the value has to be stated here to be reviewable
|
|
63
|
+
* against it. Deleting it would leave the wire format pinned in one repo
|
|
64
|
+
* only (#55).
|
|
65
|
+
*
|
|
66
|
+
* @seam
|
|
67
|
+
*/
|
|
58
68
|
export declare const MAGIC_LINK_KEK_INFO_PREFIX = "noydb-magic-link-v1:";
|
|
59
69
|
/**
|
|
60
70
|
* Decrypted payload of a magic-link grant record. Mirrors
|
|
@@ -53,6 +53,11 @@ export interface TeamFacadeDeps {
|
|
|
53
53
|
getKeyringInternal(vault: string, opts?: {
|
|
54
54
|
create: boolean;
|
|
55
55
|
}): Promise<UnlockedKeyring>;
|
|
56
|
+
/** core#73 — re-enrol a recovered member with the broker host (kernel-resident; no-op without a broker). */
|
|
57
|
+
enrolBrokerMember(vault: string, member: {
|
|
58
|
+
readonly userId: string;
|
|
59
|
+
readonly secret: string;
|
|
60
|
+
}): Promise<void>;
|
|
56
61
|
/** Managed-recovery enrolment check (kernel-resident). */
|
|
57
62
|
assertRecoveryEnrolled(vault: string, policy: VaultPolicy, opts?: {
|
|
58
63
|
skipManagedCheck?: boolean;
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
* @module
|
|
24
24
|
*/
|
|
25
25
|
import type { NoydbStore } from '../../kernel/types.js';
|
|
26
|
-
import type { EnclaveKey } from '../../
|
|
26
|
+
import type { EnclaveKey } from '../../capsule/index.js';
|
|
27
27
|
import { type WrappedDeksBlob } from './wrapped-deks.js';
|
|
28
28
|
import type { NoydbShamir } from './noydb-shamir.js';
|
|
29
29
|
/**
|
|
@@ -25,17 +25,19 @@
|
|
|
25
25
|
/** Reserved collection holding per-adapter sync transport secrets. */
|
|
26
26
|
export declare const SYNC_CREDENTIALS_COLLECTION = "_sync_credentials";
|
|
27
27
|
/**
|
|
28
|
-
* Reserved
|
|
29
|
-
*
|
|
30
|
-
* handle nor grant propagation can ever expose it before its dedicated,
|
|
31
|
-
* role-gated API lands.
|
|
28
|
+
* Reserved collection holding the credential broker's SHARED seed (#479):
|
|
29
|
+
* one record per `brokerId`, owner/admin only.
|
|
32
30
|
*/
|
|
33
31
|
export declare const BROKER_COLLECTION = "_broker";
|
|
34
32
|
/**
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
* `
|
|
33
|
+
* Reserved collection holding each MEMBER's own broker seed (core#73): one
|
|
34
|
+
* record per `userId`, each encrypted under a DEK minted for that grantee
|
|
35
|
+
* alone at `grant()` time. Secret-bearing like `_broker`, with one twist the
|
|
36
|
+
* propagation loops must honour: the grantor never HOLDS this DEK (it is
|
|
37
|
+
* per-grantee, minted and wrapped in one step), so there is nothing to
|
|
38
|
+
* withhold — the guard exists so the name can never be served by
|
|
39
|
+
* `vault.collection()`.
|
|
38
40
|
*/
|
|
39
|
-
export declare const
|
|
41
|
+
export declare const BROKER_MEMBER_COLLECTION = "_broker_member";
|
|
40
42
|
/** True when `name` is a secret-bearing reserved collection. */
|
|
41
43
|
export declare function isSecretBearingReservedCollection(name: string): boolean;
|
|
@@ -39,12 +39,12 @@
|
|
|
39
39
|
* PR) — it is not written there yet.
|
|
40
40
|
*/
|
|
41
41
|
import type { KeyringFile } from '../../kernel/types.js';
|
|
42
|
-
import type { EnclaveKey } from '../../
|
|
42
|
+
import type { EnclaveKey } from '../../capsule/index.js';
|
|
43
43
|
export interface RosterTag {
|
|
44
44
|
readonly iv: string;
|
|
45
45
|
readonly data: string;
|
|
46
46
|
}
|
|
47
|
-
export type RosterAuthorityFields = Pick<KeyringFile, 'user_id' | 'role' | 'permissions' | 'granted_by' | 'expires_at' | 'export_capability' | 'import_capability' | 'deks' | 'pending_deks' | 'roster_epoch'>;
|
|
47
|
+
export type RosterAuthorityFields = Pick<KeyringFile, 'user_id' | 'role' | 'permissions' | 'granted_by' | 'expires_at' | 'export_capability' | 'import_capability' | 'deks' | 'pending_deks' | 'roster_epoch' | 'clearance'>;
|
|
48
48
|
export declare function rosterCanonical(file: RosterAuthorityFields): string;
|
|
49
49
|
export declare function mintRosterTag(file: RosterAuthorityFields, rosterKey: EnclaveKey): Promise<RosterTag>;
|
|
50
50
|
/**
|
|
@@ -99,3 +99,44 @@ export declare function assertRosterAuthenticated(file: KeyringFile, deks: Reado
|
|
|
99
99
|
* the point of the mechanism.
|
|
100
100
|
*/
|
|
101
101
|
export declare function assertRosterTagValid(file: KeyringFile, rosterKey: EnclaveKey, userId: string): Promise<void>;
|
|
102
|
+
/**
|
|
103
|
+
* ⚠️ MOVED HERE from `roster-epoch.ts` (core#58), and the move is the point.
|
|
104
|
+
*
|
|
105
|
+
* That module carries an output-domain invariant — every function it exports
|
|
106
|
+
* must reach a published entry point — because its CALLER API
|
|
107
|
+
* (`assertRosterEpochCurrent`) once shipped reachable from nowhere (#1097).
|
|
108
|
+
* `stampAuthority` is writer-side plumbing and has no business on the published
|
|
109
|
+
* surface, so satisfying that invariant by exporting it would have been the
|
|
110
|
+
* wrong repair.
|
|
111
|
+
*
|
|
112
|
+
* It belongs here regardless: it stamps the derived fields that
|
|
113
|
+
* `rosterCanonical` below BINDS, and the two must change together. Adding a
|
|
114
|
+
* derived field means editing both functions in this one file.
|
|
115
|
+
*/
|
|
116
|
+
/**
|
|
117
|
+
* Stamp a keyring's authority half with BOTH derived fields at once — the next
|
|
118
|
+
* roster epoch and the advisory clearance (core#58).
|
|
119
|
+
*
|
|
120
|
+
* ## Why one helper and not two call sites
|
|
121
|
+
*
|
|
122
|
+
* There are thirteen places that build a `KeyringFile`'s authority half, across
|
|
123
|
+
* `keyring.ts`, `rotate-recover.ts`, `peer-recover.ts`, `custody/liberate.ts`
|
|
124
|
+
* and `with-cargo/adopt-partition.ts`. Every one of them must stamp every
|
|
125
|
+
* derived field, or the field FLICKERS: present after a grant, absent after the
|
|
126
|
+
* next rotate or partition adopt, with no error anywhere.
|
|
127
|
+
*
|
|
128
|
+
* ⛔ That is not a hypothetical — it is the exact failure `clearance` already
|
|
129
|
+
* had in a weaker form, and adding a fourteenth call site is how it would come
|
|
130
|
+
* back. **Adding a derived field means adding it HERE**, which makes covering
|
|
131
|
+
* all thirteen sites the default rather than a thing to remember.
|
|
132
|
+
*
|
|
133
|
+
* `clearance` is derived from the DEK slot names in the very object being
|
|
134
|
+
* stamped, so it cannot disagree with them; see `keyringClearance` for why it
|
|
135
|
+
* is advisory and must stay so.
|
|
136
|
+
*/
|
|
137
|
+
export declare function stampAuthority<T extends {
|
|
138
|
+
readonly deks?: Record<string, string>;
|
|
139
|
+
}>(authority: T, previousEpoch: number | undefined): T & {
|
|
140
|
+
roster_epoch: number;
|
|
141
|
+
clearance: number;
|
|
142
|
+
};
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* @module
|
|
18
18
|
*/
|
|
19
19
|
import type { NoydbStore } from '../../kernel/types.js';
|
|
20
|
-
import { type EnclaveKey, type EchoSecretParts } from '../../
|
|
20
|
+
import { type EnclaveKey, type EchoSecretParts } from '../../capsule/index.js';
|
|
21
21
|
import { type PaperRecoveryEntry } from './recovery.js';
|
|
22
22
|
import type { NoydbShamir } from './noydb-shamir.js';
|
|
23
23
|
import { type SecretPolicy, type EchoSecretPolicy } from '../../kernel/validation.js';
|
|
@@ -21,12 +21,43 @@ import type { UnlockedKeyring } from './keyring.js';
|
|
|
21
21
|
import { dekKey } from '../../kernel/tier-visibility.js';
|
|
22
22
|
export { dekKey };
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
24
|
+
* The user's effective clearance for ONE collection: the maximum tier for which
|
|
25
|
+
* their keyring holds a DEK. `0` when only the tier-0 DEK is held (or none —
|
|
26
|
+
* the `getDEK` caller raises separately).
|
|
27
|
+
*
|
|
28
|
+
* Takes DEK SLOT NAMES rather than an `UnlockedKeyring` (core#58), because the
|
|
29
|
+
* callers that need this are the ones BUILDING a `KeyringFile`, where the slot
|
|
30
|
+
* names exist and an unlocked keyring may not. Not published from any entry, so
|
|
31
|
+
* the signature is free to say what it means.
|
|
32
|
+
*
|
|
33
|
+
* ⚠️ `kernel/vault.ts`'s `elevate()` scan is NOT this predicate: that asks
|
|
34
|
+
* whether ANY collection has a DEK at ONE tier (`#N` suffix match); this asks
|
|
35
|
+
* the MAXIMUM tier for ONE collection (`name#` prefix match).
|
|
36
|
+
*/
|
|
37
|
+
export declare function effectiveClearance(dekSlots: Iterable<string>, collection: string): number;
|
|
38
|
+
/**
|
|
39
|
+
* The whole keyring's clearance: the highest tier held for ANY collection.
|
|
40
|
+
*
|
|
41
|
+
* ## What this is, and the one thing it must never become (core#58)
|
|
42
|
+
*
|
|
43
|
+
* This is the value persisted as `KeyringFile.clearance`. It is **derived**,
|
|
44
|
+
* not independent — a pure function of the DEK slot names written into the same
|
|
45
|
+
* file — and that is deliberate on two counts:
|
|
46
|
+
*
|
|
47
|
+
* 1. `dek_slots` is already bound into the roster tag (#1115), so a clearance
|
|
48
|
+
* computed from it carries no authority the tag does not already cover. A
|
|
49
|
+
* store that forges one contradicts data it cannot forge.
|
|
50
|
+
* 2. Being derived at every write is what stops it drifting. A value computed
|
|
51
|
+
* once at grant time and carried forward goes stale the moment a tier DEK
|
|
52
|
+
* is added or revoked.
|
|
53
|
+
*
|
|
54
|
+
* ⛔ **It is ADVISORY and must stay advisory.** The real check is whether the
|
|
55
|
+
* DEK map carries a `collection#tier` entry — `assertTierAccess` is the gate,
|
|
56
|
+
* and access in this system IS the key. Never branch a privilege decision on
|
|
57
|
+
* this number: it would be a second, weaker representation of access sitting
|
|
58
|
+
* beside the authoritative one, which is how the two come to disagree.
|
|
28
59
|
*/
|
|
29
|
-
export declare function
|
|
60
|
+
export declare function keyringClearance(dekSlots: Iterable<string>): number;
|
|
30
61
|
/**
|
|
31
62
|
* Assert the caller is cleared for the requested tier. Owners and
|
|
32
63
|
* admins always pass (they can mint any new tier DEK on demand);
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
*
|
|
34
34
|
* @module
|
|
35
35
|
*/
|
|
36
|
-
import { type EnclaveKey } from '../../
|
|
36
|
+
import { type EnclaveKey } from '../../capsule/index.js';
|
|
37
37
|
/**
|
|
38
38
|
* The wrap-DEKs primitive — a serialized + AES-GCM-encrypted DEK set
|
|
39
39
|
* keyed under a credential-derived key.
|
package/dist/with-pod/index.d.ts
CHANGED
|
@@ -40,4 +40,4 @@ export { ManifestConflictError, MigrationRequiredError, PodHeaderVerificationErr
|
|
|
40
40
|
export type { Noydb } from '../kernel/noydb.js';
|
|
41
41
|
export type { Vault } from '../kernel/vault.js';
|
|
42
42
|
export type { NoydbOptions, NoydbStore } from '../kernel/types.js';
|
|
43
|
-
export type { EchoSecretParts } from '../
|
|
43
|
+
export type { EchoSecretParts } from '../capsule/index.js';
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
* @module
|
|
30
30
|
*/
|
|
31
31
|
import type { NoydbStore, SlotInfo } from '../../kernel/types.js';
|
|
32
|
-
import { type EnclaveKey } from '../../
|
|
32
|
+
import { type EnclaveKey } from '../../capsule/index.js';
|
|
33
33
|
import { type OrphanChunkReport } from './orphan-report.js';
|
|
34
34
|
import { type UnreferencedLegacyBlobReport } from './legacy-sweep.js';
|
|
35
35
|
export interface BlobFieldPolicy<T = unknown> {
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
* 2, rehome — mint/resume/consume for `op:'rehome'` markers).
|
|
39
39
|
*/
|
|
40
40
|
import type { NoydbStore } from '../../kernel/types.js';
|
|
41
|
-
import { type EnclaveKey } from '../../
|
|
41
|
+
import { type EnclaveKey } from '../../capsule/index.js';
|
|
42
42
|
/** Reserved collection holding `_blob_intent` marker rows. */
|
|
43
43
|
export declare const BLOB_INTENT_COLLECTION = "_blob_intent";
|
|
44
44
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { NoydbStore, BlobObject, SlotInfo, VersionRecord, BlobPutOptions, BlobResponseOptions } from '../../kernel/types.js';
|
|
2
2
|
import type { ObjectProjection } from './object-projection.js';
|
|
3
3
|
import type { BlobFieldsConfig } from './blob-compaction.js';
|
|
4
|
-
import { type EnclaveKey } from '../../
|
|
4
|
+
import { type EnclaveKey } from '../../capsule/index.js';
|
|
5
5
|
import { type BlobPinCache } from './blob-pinning.js';
|
|
6
6
|
import type { UnlockedKeyring } from '../../with-party/team/keyring.js';
|
|
7
7
|
/**
|
|
@@ -495,7 +495,7 @@ export declare class BlobSet {
|
|
|
495
495
|
* covered by rotation.
|
|
496
496
|
*
|
|
497
497
|
* This also makes one ordering rule true across the blob subsystem rather
|
|
498
|
-
* than two opposite ones: `
|
|
498
|
+
* than two opposite ones: `capsule/plumbing/rekey-blob.ts` already
|
|
499
499
|
* re-encrypts chunks before re-sealing their index entry, and documents that
|
|
500
500
|
* order as its resume property.
|
|
501
501
|
*
|
|
@@ -608,6 +608,8 @@ export declare class BlobSet {
|
|
|
608
608
|
shredded: string[];
|
|
609
609
|
retainedShared: string[];
|
|
610
610
|
residue: string[];
|
|
611
|
+
/** #28 — the eTag half of `residue` alone: the join key to `compact()`'s sweep. */
|
|
612
|
+
residueETags: string[];
|
|
611
613
|
}>;
|
|
612
614
|
/**
|
|
613
615
|
* Resolve a SHRED `BlobIntent` for this record, or `null` when the entry
|
|
@@ -1294,6 +1296,27 @@ export declare class BlobSet {
|
|
|
1294
1296
|
* and "its attachments are released" are one operation. Ungated: the record
|
|
1295
1297
|
* delete itself already passed the gate bus. Ref-counted like any release —
|
|
1296
1298
|
* content another record still holds survives.
|
|
1299
|
+
*
|
|
1300
|
+
* ⛔ RELEASE IS NOT ERASURE, AND THE API CANNOT TELL YOU WHICH YOU GOT
|
|
1301
|
+
* (noy-db/core#28). Releasing the slot is unconditional; when the BYTES
|
|
1302
|
+
* leave the store depends on the collection's key mode:
|
|
1303
|
+
*
|
|
1304
|
+
* - `perRecordKeys: true` — crypto-shredded on the spot at refCount 0.
|
|
1305
|
+
* - legacy (shared DEK) — chunks RETAINED under the collection DEK until
|
|
1306
|
+
* `vault.compact({ reclaimLegacyBlobs: true })` runs (#1453).
|
|
1307
|
+
*
|
|
1308
|
+
* Both give the caller the same `null` from `blob(id).get(slot)`, and the
|
|
1309
|
+
* record, the slot list and the store listing all agree it is gone — so
|
|
1310
|
+
* every signal a consumer has says "erased" while the ciphertext is still
|
|
1311
|
+
* on disk, recoverable by anyone holding the DEK. pilot-1 measured exactly
|
|
1312
|
+
* this (chunks 2 → 2 on delete) and reasonably read the deferral as a
|
|
1313
|
+
* broken cascade.
|
|
1314
|
+
*
|
|
1315
|
+
* ⭐ So: if a delete is meant to ERASE — a subject-access request, a
|
|
1316
|
+
* retention policy — either put the blobs on a `perRecordKeys` collection
|
|
1317
|
+
* or run the reclaim pass, and assert on `compact()`'s
|
|
1318
|
+
* `unreferencedLegacyBlobs.reclaimed`, never on the null read. The seam is
|
|
1319
|
+
* pinned in `__tests__/1451-delete-releases-blobs.test.ts`.
|
|
1297
1320
|
*/
|
|
1298
1321
|
releaseAll(): Promise<void>;
|
|
1299
1322
|
/** The body of {@link delete}, minus the owner gate. */
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* are skipped, not counted: this is a tier-0 pass.
|
|
18
18
|
*/
|
|
19
19
|
import type { NoydbStore } from '../../kernel/types.js';
|
|
20
|
-
import { type EnclaveKey } from '../../
|
|
20
|
+
import { type EnclaveKey } from '../../capsule/index.js';
|
|
21
21
|
/** What `vault.compact()` reports (and, on request, reclaims) about legacy blobs. */
|
|
22
22
|
export interface UnreferencedLegacyBlobReport {
|
|
23
23
|
/** `_blob_index` rows with no `_cek` (legacy) and `refCount <= 0`. */
|
|
@@ -26,6 +26,22 @@ export interface UnreferencedLegacyBlobReport {
|
|
|
26
26
|
readonly chunks: number;
|
|
27
27
|
/** How many of those blobs this run deleted (chunks first, then the index row). */
|
|
28
28
|
readonly reclaimed: number;
|
|
29
|
+
/**
|
|
30
|
+
* #28 — the eTags this run actually deleted, so a deferred erasure set can be
|
|
31
|
+
* reconciled against the reclaim that finished it:
|
|
32
|
+
*
|
|
33
|
+
* ```ts
|
|
34
|
+
* const still = before.blobResidueETags.filter((e) => !report.reclaimedETags.includes(e))
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* ⛔ DO NOT PERSIST. An eTag is a content hash — see
|
|
38
|
+
* `ForgetResult.blobResidueETags` for why a stored receipt of them is a
|
|
39
|
+
* re-identification oracle. Reconcile in memory, persist the verdict.
|
|
40
|
+
*
|
|
41
|
+
* Empty on a `dryRun` (nothing was deleted), even though `blobs`/`chunks`
|
|
42
|
+
* still count what WOULD be.
|
|
43
|
+
*/
|
|
44
|
+
readonly reclaimedETags: readonly string[];
|
|
29
45
|
}
|
|
30
46
|
export declare function sweepUnreferencedLegacyBlobs(ctx: {
|
|
31
47
|
adapter: NoydbStore;
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* @module
|
|
12
12
|
*/
|
|
13
13
|
import type { FieldMeta } from './field-meta.js';
|
|
14
|
-
import {
|
|
14
|
+
import { schemaFieldKeys } from './field-meta.js';
|
|
15
15
|
export { schemaFieldKeys };
|
|
16
16
|
import type { CollectionMeta } from './meta.js';
|
|
17
17
|
import type { ViaDescriptor, ViaPosture } from '../../kernel/via/index.js';
|
|
@@ -22,7 +22,7 @@ import type { ComputedFields } from '../../with-formula/computed/index.js';
|
|
|
22
22
|
import type { RefDescriptor } from '../../kernel/refs.js';
|
|
23
23
|
import type { ClassifiedFieldSpec } from '../../via/classified/descriptor.js';
|
|
24
24
|
import type { NoydbStore } from '../../kernel/types.js';
|
|
25
|
-
import type { EnclaveKey } from '../../
|
|
25
|
+
import type { EnclaveKey } from '../../capsule/index.js';
|
|
26
26
|
export interface DescribedField {
|
|
27
27
|
readonly key: string;
|
|
28
28
|
/**
|
|
@@ -275,7 +275,6 @@ export interface BuildDescriptionInput {
|
|
|
275
275
|
*/
|
|
276
276
|
readonly fieldIds?: Record<string, string> | undefined;
|
|
277
277
|
}
|
|
278
|
-
export { FieldMetaUnknownFieldError };
|
|
279
278
|
/**
|
|
280
279
|
* Pure assembler: no I/O, no side effects.
|
|
281
280
|
* Builds a {@link CollectionDescription} from the collection's in-memory config.
|
|
@@ -13,6 +13,7 @@ export type { VaultIntrospectState } from './walk.js';
|
|
|
13
13
|
export { jsonSchemaToFields } from './fields.js';
|
|
14
14
|
export type { SchemaIntrospection } from './types.js';
|
|
15
15
|
export type { FieldMeta, SemanticType } from './field-meta.js';
|
|
16
|
+
export { FieldMetaUnknownFieldError } from './field-meta.js';
|
|
16
17
|
export type { CollectionDescription, DescribedField, DescribeOptions } from './describe.js';
|
|
17
18
|
export type { StandardSchemaV1Issue } from '../../kernel/schema.js';
|
|
18
19
|
export { applyListProjection } from './projection.js';
|
|
@@ -174,7 +174,7 @@ export interface InternalCollectionStats {
|
|
|
174
174
|
* documentation gate switching to the live report passes VACUOUSLY on a hub
|
|
175
175
|
* too old to answer. Measured by a consumer attempting that adoption.
|
|
176
176
|
*/
|
|
177
|
-
|
|
177
|
+
type SnapshotReport = 'via' | 'stats';
|
|
178
178
|
export interface VaultSchemaSnapshot {
|
|
179
179
|
readonly _noydb_snapshot: 2;
|
|
180
180
|
/**
|
|
@@ -209,3 +209,4 @@ export interface DumpSchemaOptions {
|
|
|
209
209
|
/** Sample N records per collection lacking a persisted/live schema. Default 50. `0` disables sampling. */
|
|
210
210
|
readonly sampleSize?: number;
|
|
211
211
|
}
|
|
212
|
+
export {};
|
|
@@ -10,7 +10,7 @@ import type { NoydbStore } from '../../kernel/types.js';
|
|
|
10
10
|
import type { UnlockedKeyring } from '../../with-party/team/keyring.js';
|
|
11
11
|
import type { RefRegistry } from '../../kernel/refs.js';
|
|
12
12
|
import type { VaultMeta } from './meta.js';
|
|
13
|
-
import type { EnclaveKey } from '../../
|
|
13
|
+
import type { EnclaveKey } from '../../capsule/index.js';
|
|
14
14
|
/**
|
|
15
15
|
* The minimal slice of Vault internal state the walker needs.
|
|
16
16
|
* Exposed via `vault._introspectState()` to keep the public Vault
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
import { type LinkRow, type LinkSpec, type LinkSetHandle } from './names.js';
|
|
15
15
|
import type { NoydbStore } from '../../kernel/types.js';
|
|
16
16
|
import type { NoydbEventEmitter } from '../../kernel/events.js';
|
|
17
|
-
import type { EnclaveKey } from '../../
|
|
17
|
+
import type { EnclaveKey } from '../../capsule/index.js';
|
|
18
18
|
/** @internal The lazy handle: public surface + facade cascade internals. */
|
|
19
19
|
export type LazyLinkSetHandle = LinkSetHandle & {
|
|
20
20
|
readonly _collectionName: string;
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
*/
|
|
20
20
|
import type { NoydbStore } from '../../kernel/types.js';
|
|
21
21
|
import type { NoydbEventEmitter } from '../../kernel/events.js';
|
|
22
|
-
import { type EnclaveKey } from '../../
|
|
22
|
+
import { type EnclaveKey } from '../../capsule/index.js';
|
|
23
23
|
import { NoydbError } from '../../kernel/errors.js';
|
|
24
24
|
export { LINK_COLLECTION_PREFIX, linkCollectionName, isLinkCollectionName, linkRowKey, LinkIntegrityError, } from './names.js';
|
|
25
25
|
export type { LinkOnDelete, LinkSpec, LinkRow, LinkSetHandle } from './names.js';
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
*
|
|
43
43
|
* @module
|
|
44
44
|
*/
|
|
45
|
-
import type { EnclaveKey } from '../../
|
|
45
|
+
import type { EnclaveKey } from '../../capsule/index.js';
|
|
46
46
|
import type { NoydbStore } from '../../kernel/types.js';
|
|
47
47
|
import type { SchemaManifest } from './types.js';
|
|
48
48
|
/**
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
*
|
|
21
21
|
* @module
|
|
22
22
|
*/
|
|
23
|
-
import { type EnclaveKey } from '../../
|
|
23
|
+
import { type EnclaveKey } from '../../capsule/index.js';
|
|
24
24
|
import type { NoydbStore } from '../../kernel/types.js';
|
|
25
25
|
import { type SchemaManifest, type SchemaManifestEntry } from './types.js';
|
|
26
26
|
/** A resolver for a collection's DEK — the same shape as `Vault`'s internal `getDEK`. */
|
|
@@ -18,7 +18,7 @@ import type { SchemaUpdateStrategy, UpdateDecision } from '../schema-update/type
|
|
|
18
18
|
import type { NoydbStore, ClassifiedMarker } from '../../kernel/types.js';
|
|
19
19
|
import type { PersistedSchemaEnvelope } from './types.js';
|
|
20
20
|
import type { PairingMarker } from '../satellites/types.js';
|
|
21
|
-
import type { EnclaveKey } from '../../
|
|
21
|
+
import type { EnclaveKey } from '../../capsule/index.js';
|
|
22
22
|
export interface PersistSchemaResult {
|
|
23
23
|
/** True when a fresh envelope was written to storage. */
|
|
24
24
|
readonly written: boolean;
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
*
|
|
15
15
|
* @module
|
|
16
16
|
*/
|
|
17
|
-
import { type EnclaveKey } from '../../
|
|
17
|
+
import { type EnclaveKey } from '../../capsule/index.js';
|
|
18
18
|
import type { NoydbStore } from '../../kernel/types.js';
|
|
19
19
|
import type { PersistedSchemaEnvelope } from './types.js';
|
|
20
20
|
/** Reserved collection name where persisted schemas live. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { NoydbStore } from '../../kernel/types.js';
|
|
2
|
-
import type { EnclaveKey } from '../../
|
|
2
|
+
import type { EnclaveKey } from '../../capsule/index.js';
|
|
3
3
|
/**
|
|
4
4
|
* Build a live-base id set for every satellite collection detectable from
|
|
5
5
|
* its persisted `_schemas/<name>` pairing marker (#591 Task 10).
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* `Vault` import — the kernel supplies a {@link SatelliteDeclareContext}.
|
|
9
9
|
*/
|
|
10
10
|
import type { NoydbStore } from '../../kernel/types.js';
|
|
11
|
-
import type { EnclaveKey } from '../../
|
|
11
|
+
import type { EnclaveKey } from '../../capsule/index.js';
|
|
12
12
|
import { SatelliteRegistry } from './registry.js';
|
|
13
13
|
/** The narrow slice of Vault that declaration wiring needs. */
|
|
14
14
|
export interface SatelliteDeclareContext {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { NoydbStore } from '../../kernel/types.js';
|
|
2
|
-
import type { EnclaveKey } from '../../
|
|
2
|
+
import type { EnclaveKey } from '../../capsule/index.js';
|
|
3
3
|
import type { SatelliteSpec } from './types.js';
|
|
4
4
|
/**
|
|
5
5
|
* Persist-or-reconcile the pairing marker in `_schemas/<satellite>`.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { NoydbStore } from '../../kernel/types.js';
|
|
2
|
-
import type { EnclaveKey } from '../../
|
|
2
|
+
import type { EnclaveKey } from '../../capsule/index.js';
|
|
3
3
|
import type { SatelliteSpec } from './types.js';
|
|
4
4
|
import type { SatelliteRegistry } from './registry.js';
|
|
5
5
|
/** Async post-registration: R-S9 marker reconcile + R-S1/R-S5 derivable-schema cross-check. Failures poison, never throw. */
|
|
@@ -18,6 +18,13 @@ export interface FenceDoc {
|
|
|
18
18
|
*/
|
|
19
19
|
readonly schemaHash?: string;
|
|
20
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* `FENCE_RECORD_ID` — PUBLISHED API, reachable from @noy-db/hub, @noy-db/hub/cover. Flagged as unused because
|
|
23
|
+
* nothing inside hub imports it from this module; a consumer does. Do not narrow
|
|
24
|
+
* or delete without a seam change (#55).
|
|
25
|
+
*
|
|
26
|
+
* @public
|
|
27
|
+
*/
|
|
21
28
|
export declare const FENCE_RECORD_ID = "schema-fence";
|
|
22
29
|
export declare const DEFAULT_FENCE: FenceDoc;
|
|
23
30
|
export declare function loadFence(store: NoydbStore, vault: string): Promise<FenceDoc>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { NoydbStore, DirtyEntry, ConflictStrategy, CollectionConflictResolver, PushOptions, PullOptions, PushResult, PullResult, SyncStatus, SyncTargetRole } from '../kernel/types.js';
|
|
1
|
+
import type { NoydbStore, DirtyEntry, ConflictStrategy, CollectionConflictResolver, PushOptions, PullOptions, PushResult, PullResult, SyncStatus, SyncTargetRole, RealignResult } from '../kernel/types.js';
|
|
2
2
|
import type { MergeAuthority } from '../port/with/merge-authority.js';
|
|
3
3
|
import { type PeriodPullSource } from './period-scope.js';
|
|
4
4
|
import type { NoydbEventEmitter } from '../kernel/events.js';
|
|
@@ -89,11 +89,27 @@ export declare class SyncEngine {
|
|
|
89
89
|
private periodPullSource?;
|
|
90
90
|
/** Wire the period-window source (#807). Same injection pattern as `setReservedLookupSource`. */
|
|
91
91
|
setPeriodPullSource(source: PeriodPullSource): void;
|
|
92
|
+
/** core#82 — when a pull replaces the caller's OWN keyring file, the vault reloads it in place. */
|
|
93
|
+
private rosterReload?;
|
|
94
|
+
/** Wire the roster-reload seam (core#82). Same injection pattern as `setCacheInvalidator`. */
|
|
95
|
+
setRosterReload(seam: {
|
|
96
|
+
userId: string;
|
|
97
|
+
reload: () => Promise<void>;
|
|
98
|
+
}): void;
|
|
99
|
+
/** core#81 — the running sync's latest progress sample; `null` when idle. Read by `status()`. */
|
|
100
|
+
private inFlight;
|
|
101
|
+
private progressLastEmit;
|
|
102
|
+
private progressLastRecords;
|
|
103
|
+
/** Emit `sync:progress` no more than every 25 records or ~250 ms; `force` for the final sample. */
|
|
104
|
+
private progress;
|
|
105
|
+
private progressDone;
|
|
92
106
|
/** #807: KPI accumulator `applyRemote` feeds during a period-scoped `pull()` — pointed at the
|
|
93
107
|
* active phase's counters (summaries → records) and cleared before pull returns. Approximate
|
|
94
108
|
* by design: a push interleaved mid-pull on the same engine would attribute its converge
|
|
95
109
|
* applies to the open phase; the counters are a download-budget KPI, not an audit source. */
|
|
96
110
|
private pullByteSink;
|
|
111
|
+
/** core#81 — ciphertext bytes applied by the running pull, for `sync:progress`. */
|
|
112
|
+
private pullBytes;
|
|
97
113
|
constructor(opts: {
|
|
98
114
|
local: NoydbStore;
|
|
99
115
|
remote: NoydbStore;
|
|
@@ -181,6 +197,19 @@ export declare class SyncEngine {
|
|
|
181
197
|
*/
|
|
182
198
|
private recordOutcome;
|
|
183
199
|
/** Get current sync status. */
|
|
200
|
+
/**
|
|
201
|
+
* core#82 — re-align a CORRUPTED local from the target. An ordinary pull
|
|
202
|
+
* cannot repair a damaged local envelope: it keeps its `_v`, so it wins
|
|
203
|
+
* (or ties) against the target's healthy copy. Here every local
|
|
204
|
+
* user-collection envelope is verified with the same `MergeAuthority`
|
|
205
|
+
* check pull runs on remote envelopes; one that fails is replaced by the
|
|
206
|
+
* target's copy when THAT verifies, and the dirty log is dropped (a dirty
|
|
207
|
+
* entry over a damaged record would push the damage). Records at a tier
|
|
208
|
+
* the caller holds no key for pass unverified, as in pull — this repairs
|
|
209
|
+
* what the caller can read. Requires a `MergeAuthority` (a vault-attached
|
|
210
|
+
* engine on an encrypted vault).
|
|
211
|
+
*/
|
|
212
|
+
realign(): Promise<RealignResult>;
|
|
184
213
|
status(): SyncStatus;
|
|
185
214
|
/** Start auto-sync: listen for online/offline events, optional periodic sync. */
|
|
186
215
|
startAutoSync(intervalMs?: number): void;
|