@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
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import type { Vault } from '../kernel/vault.js';
|
|
10
10
|
import type { EncryptedEnvelope } from '../kernel/types.js';
|
|
11
|
-
import { type EnclaveKey } from '../
|
|
11
|
+
import { type EnclaveKey } from '../capsule/index.js';
|
|
12
12
|
import { type WalkClosureOptions, type DanglingRefNotice } from './walk-closure.js';
|
|
13
13
|
import { type TransferSealPayload } from '../with-pod/pod.js';
|
|
14
14
|
/** Re-keyed collections snapshot + the fresh DEKs used. */
|
|
@@ -50,52 +50,6 @@ export interface ReKeyLedgerResult {
|
|
|
50
50
|
* `_ledger_deltas`/`_history` are deferred to slice 2.
|
|
51
51
|
*/
|
|
52
52
|
export declare function reKeyLedger(vault: Vault, closure: Map<string, Set<string>>, reKeyedCollections: Record<string, Record<string, EncryptedEnvelope>>, ledgerDek: EnclaveKey): Promise<ReKeyLedgerResult>;
|
|
53
|
-
/** Carried blob internals + the fresh transfer `_blob` DEK (present only when
|
|
54
|
-
* the closure references at least one chunk-based blob). */
|
|
55
|
-
export interface ReKeyBlobsResult {
|
|
56
|
-
/** `_blob_slots_<C>` / `_blob_versions_<C>` / `_blob_index` / `_blob_chunks`
|
|
57
|
-
* envelopes for the bundle's `_internal` map. */
|
|
58
|
-
readonly internal: Record<string, Record<string, EncryptedEnvelope>>;
|
|
59
|
-
/** Fresh transfer `_blob` DEK — seal it so owner-creation wraps it under the
|
|
60
|
-
* recipient KEK. Undefined when no blob travels (source keyring untouched). */
|
|
61
|
-
readonly blobDek?: EnclaveKey;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Carry the FK-closed slice's blobs — HARDENED key handling (no master-key leak).
|
|
65
|
-
*
|
|
66
|
-
* The source vault's shared `_blob` DEK decrypts (or unwraps the content CEK of)
|
|
67
|
-
* EVERY blob in the source. Sealing it into the transfer would hand the recipient
|
|
68
|
-
* a key to blobs far outside their slice. Instead we mint a **fresh transfer
|
|
69
|
-
* `_blob` DEK** and arrange every carried blob into per-blob-CEK mode under it:
|
|
70
|
-
*
|
|
71
|
-
* - **erasable blob** (`_cek` present): unwrap the per-blob content CEK under the
|
|
72
|
-
* SOURCE `_blob` DEK, re-wrap it under the FRESH transfer DEK. Chunks travel
|
|
73
|
-
* **verbatim** (still ciphertext under that same content CEK — passthrough).
|
|
74
|
-
* - **legacy blob** (no `_cek`, chunks under the shared `_blob` DEK): promote it
|
|
75
|
-
* IN-BUNDLE — mint a fresh content CEK, decrypt each chunk under the source
|
|
76
|
-
* `_blob` DEK and re-encrypt under the content CEK (same AAD, so the eTag-bound
|
|
77
|
-
* integrity holds), then wrap the content CEK under the transfer DEK. The
|
|
78
|
-
* SOURCE is never mutated (non-destructive), and the bundle never holds
|
|
79
|
-
* plaintext blob bytes (zero-knowledge preserved).
|
|
80
|
-
*
|
|
81
|
-
* **eTag identity is preserved** (not re-HMAC'd). eTags are HMAC-keyed off the
|
|
82
|
-
* `_blob` DEK, but they are stored as OPAQUE keys (`_blob_index/<eTag>`,
|
|
83
|
-
* `_blob_chunks/<eTag>_<i>`) and never recomputed on read — only on a `put()`
|
|
84
|
-
* for dedup. Keeping them verbatim keeps every slot/version/index/chunk key and
|
|
85
|
-
* the chunk AAD coherent with zero chunk-key churn. The only consequence: a
|
|
86
|
-
* future `put()` of identical bytes in the adopted vault computes a different
|
|
87
|
-
* eTag (HMAC under the fresh DEK) and will NOT dedup against the carried blob —
|
|
88
|
-
* an accepted, documented trade for hardened key isolation.
|
|
89
|
-
*
|
|
90
|
-
* Slots/versions are re-keyed under their parent collection's destination DEK
|
|
91
|
-
* (honoring `fieldProjection` — projected-out blob fields' slots never travel);
|
|
92
|
-
* `BlobObject.refCount` is recomputed from carried references only.
|
|
93
|
-
*
|
|
94
|
-
* `external` slots reference an unencrypted shared-bucket object that is not in
|
|
95
|
-
* the bundle — their slot metadata travels (so the catalog entry survives) but
|
|
96
|
-
* the bytes do not (a documented v1 limitation; their eTag is `''`).
|
|
97
|
-
*/
|
|
98
|
-
export declare function reKeyBlobs(vault: Vault, closure: Map<string, Set<string>>, destDeks: Map<string, EnclaveKey>, fieldProjection?: Record<string, readonly string[]>): Promise<ReKeyBlobsResult>;
|
|
99
53
|
/** A minted transfer key (raw 32 bytes) + the seal carrying the DEK set. */
|
|
100
54
|
export interface SealResult {
|
|
101
55
|
readonly seal: TransferSealPayload;
|
|
@@ -13,7 +13,7 @@ export { readPath } from '../kernel/query/predicate.js';
|
|
|
13
13
|
export { reduceRecords } from '../with-lookup/reduce/reduction.js';
|
|
14
14
|
export { groupAndReduce } from '../with-lookup/reduce/groupby.js';
|
|
15
15
|
export { generateULID } from '../with-pod/ulid.js';
|
|
16
|
-
export { sha256Hex } from '../
|
|
16
|
+
export { sha256Hex } from '../capsule/index.js';
|
|
17
17
|
export { isQuorum, runDrainBarrier } from '../port/by/index.js';
|
|
18
18
|
export { fuseRetrieval } from '../with-lookup/search/fuse.js';
|
|
19
19
|
export { CrossShardJoinError, DataResidencyError, NoAccessError, ReservedVaultNameError, ShardProvisioningError, UnknownShardError, ValidationError, VaultTemplateNotFoundError, } from '../kernel/errors.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { RecordIdentity } from '../../
|
|
1
|
+
import type { RecordIdentity } from '../../capsule/index.js';
|
|
2
2
|
import type { NoydbStore, EncryptedEnvelope, HistoryOptions, PruneOptions } from '../../kernel/types.js';
|
|
3
|
-
import { type EnclaveKey } from '../../
|
|
3
|
+
import { type EnclaveKey } from '../../capsule/index.js';
|
|
4
4
|
/**
|
|
5
5
|
* The identity a history snapshot is **sealed against** — its STORAGE location,
|
|
6
6
|
* not the live record it is a copy of (#1041).
|
|
@@ -30,4 +30,4 @@ export { VaultInstant, CollectionInstant } from './time-machine.js';
|
|
|
30
30
|
export type { VaultEngine } from './time-machine.js';
|
|
31
31
|
/** The un-opted-in stub for this service — exported so callers can compare against it (#844). */
|
|
32
32
|
export { NO_HISTORY } from './strategy.js';
|
|
33
|
-
export type { RecordIdentity } from '../../
|
|
33
|
+
export type { RecordIdentity } from '../../capsule/index.js';
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
* puts via `collection('_ledger')` would bypass the `append()` logic.
|
|
45
45
|
*/
|
|
46
46
|
import type { NoydbStore } from '../../../kernel/types.js';
|
|
47
|
-
import { type EnclaveKey } from '../../../
|
|
47
|
+
import { type EnclaveKey } from '../../../capsule/index.js';
|
|
48
48
|
import { type LedgerEntry } from './entry.js';
|
|
49
49
|
import type { JsonPatch } from './patch.js';
|
|
50
50
|
import { LEDGER_COLLECTION, LEDGER_DELTAS_COLLECTION } from './constants.js';
|
|
@@ -33,7 +33,7 @@ import type { LedgerStore } from './ledger/store.js';
|
|
|
33
33
|
import type { JsonPatch } from './ledger/patch.js';
|
|
34
34
|
import type { DiffEntry } from './diff.js';
|
|
35
35
|
import type { VaultInstant, VaultEngine } from './time-machine.js';
|
|
36
|
-
import type { EnclaveKey, RecordIdentity } from '../../
|
|
36
|
+
import type { EnclaveKey, RecordIdentity } from '../../capsule/index.js';
|
|
37
37
|
/**
|
|
38
38
|
* Options accepted by `HistoryStrategy.buildLedger`. Mirrors the
|
|
39
39
|
* `LedgerStore` constructor verbatim — kept in this file so `core`
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
*/
|
|
49
49
|
import type { NoydbStore } from '../../kernel/types.js';
|
|
50
50
|
import type { LedgerStore } from './ledger/store.js';
|
|
51
|
-
import { type EnclaveKey } from '../../
|
|
51
|
+
import { type EnclaveKey } from '../../capsule/index.js';
|
|
52
52
|
/**
|
|
53
53
|
* Narrow view of a {@link Vault}'s internals that
|
|
54
54
|
* {@link VaultInstant} needs. Passed in by `Vault.at()` rather than
|
|
@@ -1,8 +1,6 @@
|
|
|
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 { DeferredNumberingConfig } from './descriptor.js';
|
|
4
|
-
export declare const NUMBERING_HEAD_COLLECTION = "_numbering_head";
|
|
5
|
-
export declare const NUMBERING_PENDING_COLLECTION = "_numbering_pending";
|
|
6
4
|
export interface Assignment {
|
|
7
5
|
recordId: string;
|
|
8
6
|
serial: number;
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* to its record in the same operation.
|
|
20
20
|
*/
|
|
21
21
|
import type { NoydbStore } from '../../kernel/types.js';
|
|
22
|
-
import { type EnclaveKey } from '../../
|
|
22
|
+
import { type EnclaveKey } from '../../capsule/index.js';
|
|
23
23
|
export { withSequence } from './active.js';
|
|
24
24
|
export { NO_SEQUENCE, type SequenceStrategy } from './strategy.js';
|
|
25
25
|
export { SequenceNotEnabledError } from '../../kernel/errors.js';
|
|
@@ -57,8 +57,8 @@
|
|
|
57
57
|
* **Crash window.** On the OCC fallback, steps 2–3 are not a
|
|
58
58
|
* storage-layer transaction — if the process dies between two executed
|
|
59
59
|
* ops, the on-disk state is partial. The atomic path above closes that
|
|
60
|
-
* window for the write set itself (`
|
|
61
|
-
* `noy-db-to` implement `tx()`); a crash between the batch landing and
|
|
60
|
+
* window for the write set itself (`memoryStore({ full: true })` and the SQL
|
|
61
|
+
* stores in `noy-db-to` implement `tx()`); a crash between the batch landing and
|
|
62
62
|
* the finalize loop finishing still leaves per-op side effects (history,
|
|
63
63
|
* ledger, cache) incomplete. Stores that cannot commit a batch
|
|
64
64
|
* atomically (file, S3) omit `tx()` and keep the fallback.
|
|
@@ -209,27 +209,5 @@ export declare class TxCollection<T> {
|
|
|
209
209
|
* revert alongside the bulk-put source ops.
|
|
210
210
|
*/
|
|
211
211
|
export declare function runTransaction<T>(db: Noydb, fn: (tx: TxContext) => Promise<T> | T, options?: AmendmentTxOptions, txInvariants?: ReadonlyArray<TransactionInvariant>): Promise<T>;
|
|
212
|
-
/**
|
|
213
|
-
* Phase 3 helper — restore captured prior envelopes via the raw store
|
|
214
|
-
* to avoid re-firing Collection-level side effects (we don't want a
|
|
215
|
-
* cascade of change events undoing themselves). The ledger is left
|
|
216
|
-
* as-is: each committed op appended an entry; the revert is
|
|
217
|
-
* deliberately NOT recorded as a compensating entry because the
|
|
218
|
-
* caller-facing contract is "atomic or not at all," not "every write
|
|
219
|
-
* visible in the audit trail." Auditors who need the intermediate
|
|
220
|
-
* state can still reconstruct it by walking the ledger through the
|
|
221
|
-
* failed-tx timestamp.
|
|
222
|
-
*
|
|
223
|
-
* Delegates the reverse/best-effort/raw-revert shape to the shared
|
|
224
|
-
* `bestEffortRevert` helper (`kernel/best-effort-revert.ts`); the cache
|
|
225
|
-
* invalidation below rides along as that helper's per-leg `compensate`
|
|
226
|
-
* callback, gated on `db` exactly as before.
|
|
227
|
-
*
|
|
228
|
-
* @internal — shared between `runTransaction` and
|
|
229
|
-
* `Collection.putManyAtomic`. Both register source ops + nested
|
|
230
|
-
* derivation side-effect ops onto `_executed`; this helper unwinds the
|
|
231
|
-
* combined list in reverse on rollback.
|
|
232
|
-
*/
|
|
233
|
-
export declare function revertExecuted(executed: ReadonlyArray<ExecutedOp>, store: Noydb['_store'], db?: Noydb): Promise<void>;
|
|
234
212
|
/** @internal — shared (vault, collection, id) key shape; also used by `atomic-eligibility.ts`'s duplicate-key scan. */
|
|
235
213
|
export declare function keyOf(op: StagedOp): string;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*
|
|
10
10
|
* @packageDocumentation
|
|
11
11
|
*/
|
|
12
|
-
import { type EnclaveKey } from '../../
|
|
12
|
+
import { type EnclaveKey } from '../../capsule/index.js';
|
|
13
13
|
import type { NoydbStore } from '../../kernel/types.js';
|
|
14
14
|
/** `{ recordId → version }` for one bucket. */
|
|
15
15
|
export type BucketBody = Record<string, number>;
|
|
@@ -7,4 +7,4 @@ export { withVaultHead } from './active.js';
|
|
|
7
7
|
export { verifyVaultHead, type HeadDiscrepancy, type HeadVerifyResult, type HeadVerdict, type HeadUnverifiableReason } from './verify.js';
|
|
8
8
|
export { NO_VAULT_HEAD, VAULT_HEAD_COLLECTION, DEFAULT_HEAD_BUCKETS, type VaultHeadStrategy, type WithVaultHeadOptions, type HeadEntry, } from './strategy.js';
|
|
9
9
|
export type { NoydbStore, EncryptedEnvelope } from '../../kernel/types.js';
|
|
10
|
-
export type { EnclaveKey } from '../../
|
|
10
|
+
export type { EnclaveKey } from '../../capsule/index.js';
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
* @packageDocumentation
|
|
64
64
|
*/
|
|
65
65
|
import type { NoydbStore, EncryptedEnvelope } from '../../kernel/types.js';
|
|
66
|
-
import type { EnclaveKey } from '../../
|
|
66
|
+
import type { EnclaveKey } from '../../capsule/index.js';
|
|
67
67
|
/** Reserved collection the head's buckets live in. */
|
|
68
68
|
export declare const VAULT_HEAD_COLLECTION: "_head";
|
|
69
69
|
/** Default bucket count — see the sizing table above. */
|
|
@@ -124,4 +124,11 @@ export interface VaultHeadStrategy {
|
|
|
124
124
|
* would look exactly like a clean sweep.
|
|
125
125
|
*/
|
|
126
126
|
export declare const NO_VAULT_HEAD: VaultHeadStrategy;
|
|
127
|
+
/**
|
|
128
|
+
* `EncryptedEnvelope` — PUBLISHED API, reachable from @noy-db/hub, @noy-db/hub/debug, @noy-db/hub/tiers, @noy-db/hub/to, @noy-db/hub/vault-head. Flagged as unused because
|
|
129
|
+
* nothing inside hub imports it from this module; a consumer does. Do not narrow
|
|
130
|
+
* or delete without a seam change (#55).
|
|
131
|
+
*
|
|
132
|
+
* @public
|
|
133
|
+
*/
|
|
127
134
|
export type { EncryptedEnvelope };
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @packageDocumentation
|
|
10
10
|
*/
|
|
11
11
|
import type { NoydbStore } from '../../kernel/types.js';
|
|
12
|
-
import type { EnclaveKey } from '../../
|
|
12
|
+
import type { EnclaveKey } from '../../capsule/index.js';
|
|
13
13
|
import type { VaultHeadStrategy } from './strategy.js';
|
|
14
14
|
/** One record the store is not serving faithfully. */
|
|
15
15
|
export interface HeadDiscrepancy {
|
|
@@ -61,4 +61,11 @@ export declare class NoydbSnapshots {
|
|
|
61
61
|
/** Stop the cadence scheduler (called from `Noydb.close()`). */
|
|
62
62
|
stop(): void;
|
|
63
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* `NO_SNAPSHOTS` — PUBLISHED API, reachable from @noy-db/hub/snapshots. Flagged as unused because
|
|
66
|
+
* nothing inside hub imports it from this module; a consumer does. Do not narrow
|
|
67
|
+
* or delete without a seam change (#55).
|
|
68
|
+
*
|
|
69
|
+
* @public
|
|
70
|
+
*/
|
|
64
71
|
export { NO_SNAPSHOTS };
|
|
@@ -26,7 +26,7 @@ import type { TxContext } from '../../with-commit/tx/transaction.js';
|
|
|
26
26
|
import type { DerivationRegistry } from './registry.js';
|
|
27
27
|
import type { ReadOnlyVaultFacade } from '../../with-audit/guards/types.js';
|
|
28
28
|
import type { Collection } from '../../kernel/collection.js';
|
|
29
|
-
import type { EnclaveKey } from '../../
|
|
29
|
+
import type { EnclaveKey } from '../../capsule/index.js';
|
|
30
30
|
import type { EncryptedEnvelope } from '../../kernel/types.js';
|
|
31
31
|
import type { ledgerAuditHook, WaveContext } from '../../kernel/via/dispatch.js';
|
|
32
32
|
/** The per-write dispatch context threaded into `putDerivedOutput`. */
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* @module
|
|
22
22
|
*/
|
|
23
23
|
import type { NoydbStore } from '../../kernel/types.js';
|
|
24
|
-
import { type EnclaveKey } from '../../
|
|
24
|
+
import { type EnclaveKey } from '../../capsule/index.js';
|
|
25
25
|
type GetDEK = (collectionName: string) => Promise<EnclaveKey>;
|
|
26
26
|
/** Magic-prefixed JSON payload at `_meta/<recordId>`. */
|
|
27
27
|
export interface FanoutSidecar {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* @module
|
|
15
15
|
*/
|
|
16
16
|
/** One declared hop through an intermediate collection (#1277). */
|
|
17
|
-
|
|
17
|
+
interface MatchVia {
|
|
18
18
|
/** The intermediate collection to resolve through. */
|
|
19
19
|
readonly collection: string;
|
|
20
20
|
/** Field on the intermediate whose value equals `written[from]`. */
|
|
@@ -27,8 +27,6 @@ export interface MatchPair {
|
|
|
27
27
|
readonly to: string;
|
|
28
28
|
readonly via?: MatchVia;
|
|
29
29
|
}
|
|
30
|
-
/** True when any pair in this trigger resolves through an intermediate. */
|
|
31
|
-
export declare function hasHop(match: ReadonlyArray<MatchPair>): boolean;
|
|
32
30
|
/** Every intermediate collection named by a trigger's pairs, deduplicated. */
|
|
33
31
|
export declare function hopCollections(match: ReadonlyArray<MatchPair>): string[];
|
|
34
32
|
export interface NormalizedTrigger {
|
|
@@ -100,5 +98,10 @@ export declare function sameTuple(a: Array<{
|
|
|
100
98
|
}> | null): boolean;
|
|
101
99
|
/** Moved to the kernel (#1249) so `collection.ts` can import statically without
|
|
102
100
|
* dragging derivations code into the floor bundle; re-exported here for
|
|
103
|
-
* compatibility with existing consumers of this module.
|
|
104
|
-
|
|
101
|
+
* compatibility with existing consumers of this module.
|
|
102
|
+
*
|
|
103
|
+
* ⚠️ `findMatchingIdsByPairs` was re-exported here too and NOTHING took it
|
|
104
|
+
* from this module (#55) — consumers import it from the kernel directly.
|
|
105
|
+
* Dropped rather than kept as a compatibility shim for a consumer that does
|
|
106
|
+
* not exist; the kernel module remains its home. */
|
|
107
|
+
export { recordMatchesPairs } from '../../kernel/match-pairs.js';
|
|
@@ -17,8 +17,6 @@ export declare function emitMemoKey(vault: string, mvName: string, outputCollect
|
|
|
17
17
|
export declare function readEmitMemo(key: string, stamp: number | null): ReadonlyMap<string, string> | null;
|
|
18
18
|
/** Record what this refresh actually left on disk. A `null` stamp records nothing. */
|
|
19
19
|
export declare function writeEmitMemo(key: string, stamp: number | null, rows: Map<string, string>): void;
|
|
20
|
-
/** Forget one MV's output entirely. Used when a refresh could not complete cleanly. */
|
|
21
|
-
export declare function dropEmitMemo(key: string): void;
|
|
22
20
|
/**
|
|
23
21
|
* A canonical string for the row a refresh is about to write, or `null` when no
|
|
24
22
|
* safe one exists.
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
export { cosine } from './cosine.js';
|
|
2
1
|
export { embeddingSourceText, type EmbeddingDescriptor } from './descriptor.js';
|
|
3
|
-
export { VectorSet, type StoredVector
|
|
2
|
+
export { VectorSet, type StoredVector } from './vector-set.js';
|
|
4
3
|
export { withVectorIndex, DEFAULT_INDEX_MIN_VECTORS, type VectorIndexOptions } from './with-vector-index.js';
|
|
5
4
|
export type { VectorIndex, VectorIndexConfig, VectorIndexSearchOptions } from './vector-index.js';
|
|
6
5
|
export { encodeVecId } from './vec-id.js';
|
|
@@ -21,12 +21,12 @@
|
|
|
21
21
|
* Internal service — not exported as a `@noy-db/hub/*` subpath.
|
|
22
22
|
*/
|
|
23
23
|
import type { NoydbStore, EncryptedEnvelope } from '../../kernel/types.js';
|
|
24
|
-
import type { RecordCodec } from '../../
|
|
24
|
+
import type { RecordCodec } from '../../capsule/index.js';
|
|
25
25
|
import type { NoydbEventEmitter } from '../../kernel/events.js';
|
|
26
26
|
import { type CollectionIndexes, type IndexDef } from './eager-indexes.js';
|
|
27
27
|
import type { UniqueConstraintSet } from './unique-constraints.js';
|
|
28
28
|
import { type PersistedCollectionIndex } from './persisted-indexes.js';
|
|
29
|
-
import { PersistedFieldIndexes
|
|
29
|
+
import { PersistedFieldIndexes } from './persisted-field-indexes.js';
|
|
30
30
|
export type { PersistedFieldIndexes } from './persisted-field-indexes.js';
|
|
31
31
|
/** Everything the moving index-maintenance methods touched on `this.*`. */
|
|
32
32
|
export interface IndexingContext<T> {
|
|
@@ -68,20 +68,6 @@ export interface IndexingContext<T> {
|
|
|
68
68
|
* `indexes.upsert()`/`.remove()` directly, so this only fires for full reloads.
|
|
69
69
|
*/
|
|
70
70
|
export declare function rebuildEagerIndexesFromCache<T>(ctx: IndexingContext<T>, skip?: ReadonlySet<string>): void;
|
|
71
|
-
/**
|
|
72
|
-
* Bridge the crypto-free {@link PersistedFieldIndexes} to this collection's
|
|
73
|
-
* codec + adapter — the exact division `buildPersistedIndexCallbacks` uses for
|
|
74
|
-
* the search index: crypto lives here, the store does not know it exists.
|
|
75
|
-
*
|
|
76
|
-
* One record per `(collection, index)`, at `_fieldidx / <collection>/<key>`.
|
|
77
|
-
* The freshness stamp rides INSIDE the encrypted body (`{fp, idx}`) rather
|
|
78
|
-
* than on the envelope, so the `EncryptedEnvelope` shape is never extended and
|
|
79
|
-
* the stamp is not readable at rest.
|
|
80
|
-
*
|
|
81
|
-
* Takes a context THUNK for the same reason the search bridge does: it is
|
|
82
|
-
* built from the `Collection` constructor, before `this.codec` is assigned.
|
|
83
|
-
*/
|
|
84
|
-
export declare function buildFieldIndexCallbacks<T>(provideCtx: () => IndexingContext<T>, debounceMs?: number): FieldIndexCallbacks;
|
|
85
71
|
/**
|
|
86
72
|
* Build this collection's sidecar coordinator, or `null` when no index asked
|
|
87
73
|
* to be persisted — so every other collection pays nothing. Kept here rather
|
|
@@ -81,7 +81,7 @@ export type IndexDef = string | {
|
|
|
81
81
|
* `orderBy(field).limit(n)`. A `'sorted'` declaration keeps the hash
|
|
82
82
|
* index too — `==`/`in` stay O(1).
|
|
83
83
|
*/
|
|
84
|
-
|
|
84
|
+
type IndexKind = 'hash' | 'sorted';
|
|
85
85
|
/**
|
|
86
86
|
* Normalize a declared `IndexDef[]` into a uniform `{ fields, unique? }`
|
|
87
87
|
* shape: `string` → `{fields:[s]}`, `string[]` → `{fields}`, object →
|
|
@@ -299,3 +299,4 @@ export declare class CollectionIndexes {
|
|
|
299
299
|
*/
|
|
300
300
|
bucketRepresentatives(field: string): readonly string[] | null;
|
|
301
301
|
}
|
|
302
|
+
export {};
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* Internal service — not exported as a `@noy-db/hub/*` subpath.
|
|
23
23
|
*/
|
|
24
24
|
import type { NoydbStore } from '../../kernel/types.js';
|
|
25
|
-
import type { RecordCodec } from '../../
|
|
25
|
+
import type { RecordCodec } from '../../capsule/index.js';
|
|
26
26
|
import { type I18nTextDescriptor } from '../../via/i18n/core.js';
|
|
27
27
|
import { type DictKeyDescriptor, type StaticDictDescriptor, type DictionaryHandle } from '../../via/i18n/dictionary.js';
|
|
28
28
|
import type { BlobSet } from '../../with-shape/blobs/blob-set.js';
|
|
@@ -31,7 +31,6 @@ import { type VectorSet, type EmbeddingDescriptor } from '../embeddings/index.js
|
|
|
31
31
|
import { type SearchOptions, type SearchResult } from './index.js';
|
|
32
32
|
import type { IndexStore } from './index-store.js';
|
|
33
33
|
import type { PersistedIndexCallbacks } from './persisted-index-store.js';
|
|
34
|
-
import type { IndexDoc, IndexBuildOptions } from './inverted-index.js';
|
|
35
34
|
import type { RetrieveOptions, RetrieveHit, SimilarToOptions } from './retrieve-types.js';
|
|
36
35
|
/** Everything the moving search/retrieval methods touched on `this.*`. */
|
|
37
36
|
export interface SearchContext<T> {
|
|
@@ -78,17 +77,6 @@ export interface SearchContext<T> {
|
|
|
78
77
|
* nothing searchable is written to the store.
|
|
79
78
|
*/
|
|
80
79
|
export declare function search<T>(ctx: SearchContext<T>, field: string, query: string, opts?: SearchOptions): Promise<SearchResult<T>[]>;
|
|
81
|
-
/** L1 — build IndexDoc[] for the configured text fields over the live cache. */
|
|
82
|
-
export declare function buildRetrievalDocs<T>(ctx: SearchContext<T>, labelMaps: Map<string, Map<string, Record<string, string>>>, blobFilenames: Map<string, Map<string, string[]>>, only?: readonly string[]): IndexDoc[];
|
|
83
|
-
/**
|
|
84
|
-
* L1 — the positional-postings opt-in for this collection (#1354), or
|
|
85
|
-
* `undefined` when nothing opted in. Returning `undefined` rather than
|
|
86
|
-
* `{ positions: [] }` keeps the no-opt-in path byte-identical to a caller that
|
|
87
|
-
* never heard of positions.
|
|
88
|
-
*/
|
|
89
|
-
export declare function positionBuildOptions<T>(ctx: SearchContext<T>): IndexBuildOptions | undefined;
|
|
90
|
-
/** L1 — true iff any configured text index is also a blob field (gates ALL slot I/O). */
|
|
91
|
-
export declare function hasIndexedBlobFields<T>(ctx: SearchContext<T>, only?: readonly string[]): boolean;
|
|
92
80
|
/** L1.5 — force-persist the lexical index now (e.g. on save/idle). Persists only when textIndexPersist is enabled; a no-op otherwise. */
|
|
93
81
|
export declare function flushIndex<T>(ctx: SearchContext<T>): Promise<void>;
|
|
94
82
|
/**
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
export { withBroker } from './active.js';
|
|
15
15
|
export { NO_BROKER, type BrokerStrategy, type BrokerCtx, type BrokerConfig, type CredentialBrokerHandle, } from '../../port/with/broker-strategy.js';
|
|
16
16
|
export { BrokerNotEnabledError, BrokerEnrolmentError, BrokerProofError } from '../../kernel/errors.js';
|
|
17
|
-
import { verifyBrokerProof } from '../../
|
|
18
|
-
import type { IssuedChallenge, VerifyBrokerProofArgs } from '../../
|
|
17
|
+
import { verifyBrokerProof } from '../../capsule/index.js';
|
|
18
|
+
import type { IssuedChallenge, VerifyBrokerProofArgs, BrokerMemberIdentity } from '../../capsule/index.js';
|
|
19
19
|
/**
|
|
20
20
|
* {@link issueChallengeRaw} (the enclave's mechanical primitive) with a
|
|
21
21
|
* `[10s, 60s]` TTL clamp applied, so a reference host built on this barrel
|
|
@@ -25,5 +25,5 @@ export declare function issueChallenge(opts?: {
|
|
|
25
25
|
ttlMs?: number;
|
|
26
26
|
}): IssuedChallenge;
|
|
27
27
|
export { verifyBrokerProof };
|
|
28
|
-
export type { VerifyBrokerProofArgs };
|
|
29
|
-
export type { IssuedChallenge } from '../../
|
|
28
|
+
export type { VerifyBrokerProofArgs, BrokerMemberIdentity };
|
|
29
|
+
export type { IssuedChallenge } from '../../capsule/index.js';
|
|
@@ -37,16 +37,6 @@
|
|
|
37
37
|
*/
|
|
38
38
|
import type { StoreCredentials } from '../../kernel/types.js';
|
|
39
39
|
import type { BrokerSeedCtx } from '../../port/with/broker-strategy.js';
|
|
40
|
-
/** The `_broker/<brokerId>` record payload (spec §3). */
|
|
41
|
-
export interface BrokerSeedRecord {
|
|
42
|
-
readonly brokerId: string;
|
|
43
|
-
/** base64(32 random bytes). */
|
|
44
|
-
readonly seed: string;
|
|
45
|
-
readonly endpoint: string;
|
|
46
|
-
readonly createdAt: string;
|
|
47
|
-
/** `true` only once `/enroll` has returned a 2xx for this seed (I9). */
|
|
48
|
-
readonly registered: boolean;
|
|
49
|
-
}
|
|
50
40
|
/**
|
|
51
41
|
* Enrol (idempotent, two-phase commit — I9): create-if-absent the `_broker`
|
|
52
42
|
* seed (I4), derive+register its proof key with the broker host, and only
|
|
@@ -65,6 +55,31 @@ export declare function enrollSeed(ctx: BrokerSeedCtx): Promise<void>;
|
|
|
65
55
|
* cache lives in that closure, not here.
|
|
66
56
|
*/
|
|
67
57
|
export declare function rotateSeed(ctx: BrokerSeedCtx): Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* core#73 — enrol a freshly granted MEMBER with the host under its own key.
|
|
60
|
+
* Called by the kernel right after `grant()`, while the grantor still holds
|
|
61
|
+
* the grantee's secret: that secret opens the grantee's keyring, whose
|
|
62
|
+
* `_broker_member` DEK (minted by `grant()` for this grantee alone) is the
|
|
63
|
+
* only key that can seal the member record. Register-first, then persist,
|
|
64
|
+
* so a record on disk always means a registered member (the same order as
|
|
65
|
+
* `rotateSeed`). Owner/admin grantees use the shared seed and are skipped.
|
|
66
|
+
*
|
|
67
|
+
* A re-grant (role change) lands here again with a NEW DEK and mints a NEW
|
|
68
|
+
* seed, so the host's record for this userId is REPLACED — key and role — and
|
|
69
|
+
* a device still holding the previous enrolment is refused from then on.
|
|
70
|
+
*/
|
|
71
|
+
export declare function enrolMemberSeed(ctx: BrokerSeedCtx, member: {
|
|
72
|
+
readonly userId: string;
|
|
73
|
+
readonly secret: string;
|
|
74
|
+
}): Promise<void>;
|
|
75
|
+
/**
|
|
76
|
+
* core#73 — de-register a member with the host and drop its record. Called
|
|
77
|
+
* by the kernel right after `revoke()`; the local record goes first (cheap,
|
|
78
|
+
* always succeeds), then the host — a host failure surfaces as
|
|
79
|
+
* {@link BrokerEnrolmentError} AFTER the keyring revocation has completed,
|
|
80
|
+
* so the caller retries the host half, never the revocation.
|
|
81
|
+
*/
|
|
82
|
+
export declare function revokeMemberSeed(ctx: BrokerSeedCtx, userId: string): Promise<void>;
|
|
68
83
|
/**
|
|
69
84
|
* The challenge/response round trip: `POST /challenge`, derive+sign the
|
|
70
85
|
* proof from the decrypted seed, `POST /credentials`. One network round
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* @module
|
|
18
18
|
*/
|
|
19
19
|
import type { NoydbStore, UserEnvelope } from '../../../kernel/types.js';
|
|
20
|
-
import { type EnclaveKey } from '../../../
|
|
20
|
+
import { type EnclaveKey } from '../../../capsule/index.js';
|
|
21
21
|
/**
|
|
22
22
|
* Read and decrypt the user envelope for `keyringId`. Returns `null`
|
|
23
23
|
* when no envelope has been persisted (either the principal has never
|
|
@@ -1,34 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare class NoydbPolicy implements NoydbPolicyApi {
|
|
3
|
-
private readonly deps;
|
|
4
|
-
constructor(deps: NoydbPolicyDeps);
|
|
5
|
-
/**
|
|
6
|
-
* Touch the policy enforcer for a vault (records activity, resets
|
|
7
|
-
* idle timer). Also touches the legacy session timer. No-op if no enforcer.
|
|
8
|
-
*/
|
|
9
|
-
touchPolicy(vault?: string): void;
|
|
10
|
-
/**
|
|
11
|
-
* Check that a policy-guarded operation is permitted.
|
|
12
|
-
* Throws `SessionPolicyError` if re-auth is required.
|
|
13
|
-
*/
|
|
14
|
-
checkPolicyOperation(vault: string, op: ReAuthOperation): void;
|
|
15
|
-
/**
|
|
16
|
-
* Read the active policy for a vault. Loads from `_meta/policy` on
|
|
17
|
-
* first call; subsequent calls hit the in-memory cache. Throws
|
|
18
|
-
* `ValidationError` if the vault has not been opened.
|
|
19
|
-
*/
|
|
20
|
-
getPolicy(vault: string): Promise<VaultPolicy>;
|
|
21
|
-
/**
|
|
22
|
-
* Replace the policy document at `_meta/policy` and update the
|
|
23
|
-
* in-memory cache. Gated by the `enroll-user` policy (a policy
|
|
24
|
-
* change is fundamentally a privilege-management action).
|
|
25
|
-
*/
|
|
26
|
-
updatePolicy(vault: string, override: Partial<VaultPolicy>): Promise<VaultPolicy>;
|
|
27
|
-
/** Read or persist the vault policy at `_meta/policy` on first open. */
|
|
28
|
-
bootstrapPolicy(vault: string, opts?: {
|
|
29
|
-
skipManagedCheck?: boolean;
|
|
30
|
-
}): Promise<void>;
|
|
31
|
-
}
|
|
1
|
+
import type { NoydbPolicyFactory } from '../../kernel/types.js';
|
|
32
2
|
/**
|
|
33
3
|
* Factory that builds the `NoydbPolicy` service. `createNoydb()`
|
|
34
4
|
* pre-resolves this via a dynamic import (mirrors
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
*/
|
|
41
41
|
import type { NoydbStore } from '../../kernel/types.js';
|
|
42
42
|
import type { UnlockedKeyring } from './keyring.js';
|
|
43
|
-
import { type EnclaveKey } from '../../
|
|
43
|
+
import { type EnclaveKey } from '../../capsule/index.js';
|
|
44
44
|
export declare const DELEGATIONS_COLLECTION = "_delegations";
|
|
45
45
|
/**
|
|
46
46
|
* Durable payload of a delegation token. Encrypted under the vault's
|
|
@@ -52,12 +52,45 @@ export interface DelegationToken {
|
|
|
52
52
|
readonly toUser: string;
|
|
53
53
|
readonly fromUser: string;
|
|
54
54
|
readonly tier: number;
|
|
55
|
-
/**
|
|
55
|
+
/**
|
|
56
|
+
* Collection name, or `null` for a COLLECTION-WIDE token — see
|
|
57
|
+
* {@link DelegationToken.wrappedDeks} for what that means and what it cannot
|
|
58
|
+
* mean.
|
|
59
|
+
*/
|
|
56
60
|
readonly collection: string | null;
|
|
57
61
|
/** Optional specific record id scope. */
|
|
58
62
|
readonly record?: string;
|
|
59
63
|
readonly until: string;
|
|
60
|
-
|
|
64
|
+
/**
|
|
65
|
+
* The delegated tier DEK for {@link DelegationToken.collection}, wrapped
|
|
66
|
+
* under the target's KEK. Present on a per-collection token; absent on a
|
|
67
|
+
* collection-wide one, which carries {@link DelegationToken.wrappedDeks}.
|
|
68
|
+
*/
|
|
69
|
+
readonly wrappedDek?: string;
|
|
70
|
+
/**
|
|
71
|
+
* A collection-wide token's payload: `<collection>#<tier>` → wrapped DEK, one
|
|
72
|
+
* entry per collection the grantor held at that tier (core#56).
|
|
73
|
+
*
|
|
74
|
+
* ## ⛔ Why a MAP and not one key
|
|
75
|
+
*
|
|
76
|
+
* Every collection has its OWN tier DEK — measured, `docs#1` and `ledger#1`
|
|
77
|
+
* are different keys. The original design tried to express "every collection"
|
|
78
|
+
* as a single DEK under a wildcard slot `__any#<tier>`, which cannot work: one
|
|
79
|
+
* key decrypts one collection. A wildcard accepted at the access gate would
|
|
80
|
+
* have passed the check and then failed decryption — a gate that says yes
|
|
81
|
+
* followed by a crypto error. `__any#` is gone; every entry here merges under
|
|
82
|
+
* its REAL `<collection>#<tier>` key, so `assertTierAccess` needs no wildcard
|
|
83
|
+
* and gains no new privilege surface.
|
|
84
|
+
*
|
|
85
|
+
* ## ⚠️ "Every collection" means "every collection AS OF ISSUE TIME"
|
|
86
|
+
*
|
|
87
|
+
* This is a SNAPSHOT. A collection created after the token was issued is not
|
|
88
|
+
* in it and will not be granted by it — the grantor did not hold its DEK to
|
|
89
|
+
* wrap. That is a real limit of the shape, not an oversight, and it is stated
|
|
90
|
+
* here because a caller who reads "all collections" will otherwise assume
|
|
91
|
+
* otherwise.
|
|
92
|
+
*/
|
|
93
|
+
readonly wrappedDeks?: Readonly<Record<string, string>>;
|
|
61
94
|
readonly createdAt: string;
|
|
62
95
|
}
|
|
63
96
|
export interface IssueDelegationOptions {
|
|
@@ -73,6 +106,29 @@ export interface IssueDelegationOptions {
|
|
|
73
106
|
* (so the `wrappedDek` can be re-wrapped against their KEK).
|
|
74
107
|
*/
|
|
75
108
|
export declare function issueDelegation(store: NoydbStore, vault: string, grantor: UnlockedKeyring, targetKek: EnclaveKey | null, delegationsDek: EnclaveKey, opts: IssueDelegationOptions): Promise<DelegationToken>;
|
|
109
|
+
/**
|
|
110
|
+
* ## Why the vault calls this EXPLICITLY, and never from `openVault` (core#56)
|
|
111
|
+
*
|
|
112
|
+
* The module header above describes a runtime that scans on every open. Doing
|
|
113
|
+
* that automatically would call `getDEK('_delegations')`, which MINTS a DEK when
|
|
114
|
+
* absent and persists the keyring — so merely opening a vault would write to it.
|
|
115
|
+
* Worse, on a vault whose shared `_delegations` DEK this user does not hold, it
|
|
116
|
+
* would mint a WRONG one and then fail to decrypt every token under it.
|
|
117
|
+
*
|
|
118
|
+
* ⛔ A read path must not have that side effect. `Vault.refreshDelegations()`
|
|
119
|
+
* therefore lists first, returns `[]` when nothing is written, and looks the DEK
|
|
120
|
+
* up WITHOUT minting — which also makes the module header's "at each open"
|
|
121
|
+
* cheap to honour, and its "periodic intervals (tracked by the caller)" is what
|
|
122
|
+
* an explicit method is.
|
|
123
|
+
*
|
|
124
|
+
* ## ⚠️ Cross-user delegation does not work yet
|
|
125
|
+
*
|
|
126
|
+
* `Vault.delegate()` wraps against the GRANTOR's own KEK — its own comment calls
|
|
127
|
+
* that "a simpler first cut" pending a per-target KEK exchange. A token issued
|
|
128
|
+
* to somebody else cannot be unwrapped by them, and this function skips it. What
|
|
129
|
+
* works today is a token whose target shares the issuing KEK. That limit belongs
|
|
130
|
+
* to `delegate()`; do not "fix" it here.
|
|
131
|
+
*/
|
|
76
132
|
/**
|
|
77
133
|
* Enumerate every live (non-expired) delegation addressed to `toUser`
|
|
78
134
|
* and merge the unwrapped tier DEKs into their keyring. Returns the
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* (`verifyTypedEcho`) for that degraded path.
|
|
18
18
|
*
|
|
19
19
|
* Deriving the actual KEK from all three parts together is
|
|
20
|
-
* `deriveEchoKey`/`encodeEchoParts` (`
|
|
20
|
+
* `deriveEchoKey`/`encodeEchoParts` (`capsule/enclave-aes/crypto.ts`) — a
|
|
21
21
|
* separate concern from this module's per-part verifiers.
|
|
22
22
|
*
|
|
23
23
|
* Known, accepted disclosure: `prompt_verifier` and `echo_verifier` are
|
|
@@ -28,11 +28,9 @@
|
|
|
28
28
|
*
|
|
29
29
|
* @module
|
|
30
30
|
*/
|
|
31
|
-
import { type EchoSecretParts } from '../../
|
|
31
|
+
import { type EchoSecretParts } from '../../capsule/index.js';
|
|
32
32
|
import type { KeyringEchoBlock } from '../../kernel/types.js';
|
|
33
33
|
import type { NoydbDeviceSeal } from './device-seal.js';
|
|
34
|
-
/** Same iteration floor as the KEK (spec resolved question 1). */
|
|
35
|
-
export declare const ECHO_KDF_ITERATIONS = 600000;
|
|
36
34
|
export type EchoRevealChoice = {
|
|
37
35
|
readonly kind: 'portable';
|
|
38
36
|
} | {
|