@noy-db/hub 0.7.1-pre.0 → 0.8.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 +147 -14
- package/LICENSE +202 -21
- package/NOTICE +1 -0
- package/README.md +5 -5
- package/codemods/0.8.0-pre.json +61 -0
- package/dist/api-OS747DS4.js +18 -0
- package/dist/as/index.js +11 -12
- package/dist/as/index.js.map +1 -1
- package/dist/at/index.js +9 -10
- package/dist/attestation/index.js +37 -26
- package/dist/attestation/index.js.map +1 -1
- package/dist/{backup-XKCXVKV3.js → backup-YE2VQ26S.js} +15 -16
- package/dist/backup-YE2VQ26S.js.map +1 -0
- package/dist/blobs/index.js +13 -14
- package/dist/blobs/index.js.map +1 -1
- package/dist/broker/index.js +12 -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/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 +335 -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 +80 -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-VOLX3QRQ.js +209 -0
- package/dist/cargo/index.js +39 -36
- package/dist/{chunk-Q2MPFCQ7.js → chunk-23D6M6VM.js} +5 -5
- package/dist/chunk-23D6M6VM.js.map +1 -0
- package/dist/{chunk-R7BX2NB3.js → chunk-244QBK7Z.js} +4 -4
- package/dist/chunk-244QBK7Z.js.map +1 -0
- package/dist/chunk-2AFX33YA.js +936 -0
- package/dist/chunk-2AFX33YA.js.map +1 -0
- package/dist/{chunk-MVMXZYXT.js → chunk-2GHDLTPE.js} +2 -2
- package/dist/{chunk-GYGLAVCX.js → chunk-2MG3SW7Q.js} +6 -2
- package/dist/chunk-2MG3SW7Q.js.map +1 -0
- package/dist/{chunk-XLMEZIAJ.js → chunk-2ODVB6LZ.js} +2 -2
- package/dist/{chunk-HJUWN7JN.js → chunk-2PVXF5CS.js} +33 -8
- package/dist/chunk-2PVXF5CS.js.map +1 -0
- package/dist/{chunk-YJRT5UQM.js → chunk-2RH777HH.js} +21 -20
- package/dist/{chunk-YJRT5UQM.js.map → chunk-2RH777HH.js.map} +1 -1
- package/dist/{chunk-7O3Y4PPD.js → chunk-37EPTBBR.js} +153 -16
- package/dist/chunk-37EPTBBR.js.map +1 -0
- package/dist/{chunk-2ENE6445.js → chunk-3A5DUZ56.js} +102 -16
- package/dist/chunk-3A5DUZ56.js.map +1 -0
- package/dist/chunk-3EWS67C7.js +461 -0
- package/dist/chunk-3EWS67C7.js.map +1 -0
- package/dist/{chunk-SGZAIJCV.js → chunk-3L2NBKDR.js} +4 -8
- package/dist/chunk-3L2NBKDR.js.map +1 -0
- package/dist/{chunk-YMUFFJCO.js → chunk-3TDUWVWB.js} +5 -2
- package/dist/chunk-3TDUWVWB.js.map +1 -0
- package/dist/{chunk-4GVM6QZA.js → chunk-3XJQBBZD.js} +26 -28
- package/dist/chunk-3XJQBBZD.js.map +1 -0
- package/dist/{chunk-4ZS56W5S.js → chunk-42ALPZ2B.js} +672 -664
- package/dist/chunk-42ALPZ2B.js.map +1 -0
- package/dist/chunk-4CIQDWRB.js +524 -0
- package/dist/chunk-4CIQDWRB.js.map +1 -0
- package/dist/{chunk-RMS3NEA3.js → chunk-4JPMZTJY.js} +2 -2
- package/dist/{chunk-P3MG6QCN.js → chunk-4T3SE27M.js} +5 -9
- package/dist/chunk-4T3SE27M.js.map +1 -0
- package/dist/chunk-4V3Q35WG.js +204 -0
- package/dist/chunk-4V3Q35WG.js.map +1 -0
- package/dist/{chunk-NQKIUNW5.js → chunk-52MGURXO.js} +2 -2
- package/dist/{chunk-EQEYOJBM.js → chunk-5A4345TG.js} +4 -4
- package/dist/chunk-5A4345TG.js.map +1 -0
- package/dist/{chunk-334WSVOW.js → chunk-5FE75J4S.js} +6 -6
- package/dist/chunk-5FE75J4S.js.map +1 -0
- package/dist/chunk-5KC7QYEC.js +565 -0
- package/dist/chunk-5KC7QYEC.js.map +1 -0
- package/dist/{chunk-RSGLUIO6.js → chunk-5UMK7GRI.js} +13 -12
- package/dist/chunk-5UMK7GRI.js.map +1 -0
- package/dist/chunk-5WWDGFOS.js +275 -0
- package/dist/chunk-5WWDGFOS.js.map +1 -0
- package/dist/{chunk-QPQUVOZ2.js → chunk-6QVKPHBF.js} +3 -5
- package/dist/chunk-6QVKPHBF.js.map +1 -0
- package/dist/{chunk-ACAQ2DSG.js → chunk-747G6CT3.js} +2 -2
- package/dist/chunk-747G6CT3.js.map +1 -0
- package/dist/{chunk-QTQUH4DS.js → chunk-7R2Q7CPL.js} +16 -16
- package/dist/chunk-7R2Q7CPL.js.map +1 -0
- package/dist/{chunk-UGTBXF5U.js → chunk-7XMHMVTS.js} +3 -3
- package/dist/{chunk-YJX7EOJD.js → chunk-A4XMIZT3.js} +6 -6
- package/dist/{chunk-YJX7EOJD.js.map → chunk-A4XMIZT3.js.map} +1 -1
- package/dist/{chunk-A66I4JOA.js → chunk-AEQGFRU4.js} +4 -4
- package/dist/chunk-AEQGFRU4.js.map +1 -0
- package/dist/chunk-AL6ML4LA.js +1558 -0
- package/dist/chunk-AL6ML4LA.js.map +1 -0
- package/dist/{chunk-BZ3534YM.js → chunk-AUKKUPVB.js} +2 -2
- package/dist/{chunk-CUZLNGD5.js → chunk-B2YY6WDD.js} +1 -1
- package/dist/chunk-B2YY6WDD.js.map +1 -0
- package/dist/chunk-BKT776R5.js +1 -0
- package/dist/chunk-BNWA3WG5.js +22 -0
- package/dist/chunk-BNWA3WG5.js.map +1 -0
- package/dist/{chunk-VXANTWBJ.js → chunk-BPWYQ25R.js} +92 -6
- package/dist/{chunk-VXANTWBJ.js.map → chunk-BPWYQ25R.js.map} +1 -1
- package/dist/{chunk-6LKOJBV6.js → chunk-BVCUTXE3.js} +2 -2
- package/dist/chunk-CY2CYVWZ.js +41 -0
- package/dist/chunk-CY2CYVWZ.js.map +1 -0
- package/dist/{chunk-M4YPHYEH.js → chunk-DHHGL42E.js} +70 -25
- package/dist/chunk-DHHGL42E.js.map +1 -0
- package/dist/{chunk-VTFVLCUH.js → chunk-DIZLQVAA.js} +2 -2
- package/dist/{chunk-G73UVHCA.js → chunk-DLD5LGDS.js} +11 -12
- package/dist/chunk-DLD5LGDS.js.map +1 -0
- package/dist/{chunk-WQBG4SZS.js → chunk-DQESF6RP.js} +60 -49
- package/dist/chunk-DQESF6RP.js.map +1 -0
- package/dist/{chunk-LWBCUYZW.js → chunk-E2N2T5ZO.js} +2 -2
- package/dist/{chunk-3PGS7TYR.js → chunk-EGVJ7TM4.js} +29 -32
- package/dist/chunk-EGVJ7TM4.js.map +1 -0
- package/dist/{chunk-JVIBCBC7.js → chunk-EJLV62NI.js} +2 -2
- package/dist/{chunk-KKEESNPE.js → chunk-EYG2CY2X.js} +126 -19
- package/dist/chunk-EYG2CY2X.js.map +1 -0
- package/dist/{enclave-55PAM4YO.js → chunk-EZGV6F47.js} +83 -56
- package/dist/chunk-EZGV6F47.js.map +1 -0
- package/dist/{chunk-CHQCZZWC.js → chunk-EZOAKKTB.js} +36 -27
- package/dist/chunk-EZOAKKTB.js.map +1 -0
- package/dist/chunk-F6NCB7KT.js +13 -0
- package/dist/chunk-F6NCB7KT.js.map +1 -0
- package/dist/chunk-FFJFE4T7.js +100 -0
- package/dist/chunk-FFJFE4T7.js.map +1 -0
- package/dist/{chunk-JMGDHKQF.js → chunk-FLPCETP6.js} +2 -2
- package/dist/chunk-FOEDQATO.js +53 -0
- package/dist/chunk-FOEDQATO.js.map +1 -0
- package/dist/{chunk-DGOZ4UZD.js → chunk-FVH5QYY2.js} +2 -2
- package/dist/{chunk-HIWCKBEY.js → chunk-G2MVBDFP.js} +54 -28
- package/dist/chunk-G2MVBDFP.js.map +1 -0
- package/dist/chunk-GMKGGY7V.js +234 -0
- package/dist/chunk-GMKGGY7V.js.map +1 -0
- package/dist/{chunk-EIPVYUEP.js → chunk-GQ4MF3CM.js} +3 -3
- package/dist/chunk-GQ4MF3CM.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-5VCRVKOZ.js → chunk-GUZET4SG.js} +12 -4
- package/dist/chunk-GUZET4SG.js.map +1 -0
- package/dist/{chunk-JBDFMYKQ.js → chunk-GZT3NQRA.js} +2 -2
- package/dist/{chunk-K23VKTN4.js → chunk-H23XHRTT.js} +19 -34
- package/dist/chunk-H23XHRTT.js.map +1 -0
- package/dist/{chunk-TFR7DSOV.js → chunk-H427H63K.js} +2 -2
- package/dist/{chunk-DFMWUOU5.js → chunk-H7JBY4P7.js} +23 -32
- package/dist/chunk-H7JBY4P7.js.map +1 -0
- package/dist/{chunk-SKGMN35F.js → chunk-HS554XAF.js} +3 -3
- package/dist/chunk-HS554XAF.js.map +1 -0
- package/dist/{chunk-HK67PX4J.js → chunk-HW7CMKUG.js} +1 -1
- package/dist/chunk-HW7CMKUG.js.map +1 -0
- package/dist/{chunk-3BVH633C.js → chunk-IMQKWR46.js} +5 -7
- package/dist/chunk-IMQKWR46.js.map +1 -0
- package/dist/{chunk-R42NSZI6.js → chunk-IUBMZPHM.js} +7 -7
- package/dist/chunk-IUBMZPHM.js.map +1 -0
- package/dist/{chunk-CUQPWYRX.js → chunk-IUT3GWP3.js} +75 -386
- package/dist/chunk-IUT3GWP3.js.map +1 -0
- package/dist/{chunk-RF6D3Y5E.js → chunk-JDEYF3PJ.js} +4 -8
- package/dist/{chunk-RF6D3Y5E.js.map → chunk-JDEYF3PJ.js.map} +1 -1
- package/dist/{chunk-PPTHY5QO.js → chunk-JIBUPZHA.js} +99 -8
- package/dist/chunk-JIBUPZHA.js.map +1 -0
- package/dist/{chunk-SMH6SRX7.js → chunk-JOSPH3E5.js} +2 -2
- package/dist/chunk-JQYKPKG6.js +193 -0
- package/dist/chunk-JQYKPKG6.js.map +1 -0
- package/dist/{chunk-7APJ6CO6.js → chunk-JSMTXZR3.js} +45 -13
- package/dist/chunk-JSMTXZR3.js.map +1 -0
- package/dist/chunk-JWWYRR4Q.js +12 -0
- package/dist/chunk-JWWYRR4Q.js.map +1 -0
- package/dist/{chunk-BVN6KXL2.js → chunk-KZXDLBY6.js} +14 -9
- package/dist/chunk-KZXDLBY6.js.map +1 -0
- package/dist/chunk-LGNDFRYC.js +23 -0
- package/dist/chunk-LGNDFRYC.js.map +1 -0
- package/dist/{chunk-XKWGNJ26.js → chunk-LIOVX5TJ.js} +7 -11
- package/dist/chunk-LIOVX5TJ.js.map +1 -0
- package/dist/{chunk-AYX7AINO.js → chunk-LNSVGRHO.js} +5 -7
- package/dist/chunk-LNSVGRHO.js.map +1 -0
- package/dist/chunk-M5B2W6YY.js +293 -0
- package/dist/chunk-M5B2W6YY.js.map +1 -0
- package/dist/chunk-MBMTND6D.js +456 -0
- package/dist/chunk-MBMTND6D.js.map +1 -0
- package/dist/{chunk-3BZZJJMQ.js → chunk-MILI22XQ.js} +3 -3
- package/dist/{chunk-A2HKRLPV.js → chunk-MXKI4ABF.js} +18 -59
- package/dist/chunk-MXKI4ABF.js.map +1 -0
- package/dist/{chunk-ZYIYHJ5R.js → chunk-MXOQ5JCG.js} +869 -238
- package/dist/chunk-MXOQ5JCG.js.map +1 -0
- package/dist/{chunk-V7ZRRCRJ.js → chunk-N7EVQD5S.js} +9 -13
- package/dist/chunk-N7EVQD5S.js.map +1 -0
- package/dist/chunk-N7UDP5VU.js +757 -0
- package/dist/chunk-N7UDP5VU.js.map +1 -0
- package/dist/chunk-NBQ3KK6X.js +270 -0
- package/dist/chunk-NBQ3KK6X.js.map +1 -0
- package/dist/{chunk-ZORTV6NH.js → chunk-NCO25JZO.js} +88 -4
- package/dist/chunk-NCO25JZO.js.map +1 -0
- package/dist/chunk-NH2UOV3B.js +18 -0
- package/dist/chunk-NH2UOV3B.js.map +1 -0
- package/dist/chunk-NYMLINRP.js +28 -0
- package/dist/chunk-NYMLINRP.js.map +1 -0
- package/dist/{chunk-YYP7WSEB.js → chunk-O2IMQSNA.js} +2 -2
- package/dist/chunk-O46CHQT7.js +215 -0
- package/dist/chunk-O46CHQT7.js.map +1 -0
- package/dist/chunk-OIEO4WDL.js +27 -0
- package/dist/chunk-OIEO4WDL.js.map +1 -0
- package/dist/{chunk-TRGTKX5E.js → chunk-OKSTSITU.js} +27 -4
- package/dist/chunk-OKSTSITU.js.map +1 -0
- package/dist/chunk-OYW3I5M4.js +31 -0
- package/dist/chunk-OYW3I5M4.js.map +1 -0
- package/dist/{chunk-Q7HZX3IF.js → chunk-PD64727P.js} +2 -2
- package/dist/chunk-PD64727P.js.map +1 -0
- package/dist/{chunk-FET5XCAT.js → chunk-PP3K67AJ.js} +34 -6
- package/dist/chunk-PP3K67AJ.js.map +1 -0
- package/dist/chunk-Q2XRFWOI.js +40 -0
- package/dist/chunk-Q2XRFWOI.js.map +1 -0
- package/dist/{chunk-QIZPZMUI.js → chunk-Q4UHJ5SN.js} +2 -2
- package/dist/{chunk-FAHMLERK.js → chunk-QBLT6POL.js} +2 -2
- package/dist/chunk-QMWY2FDS.js +157 -0
- package/dist/chunk-QMWY2FDS.js.map +1 -0
- package/dist/{chunk-LH5A3ZPG.js → chunk-RB4DOPGZ.js} +150 -22
- package/dist/chunk-RB4DOPGZ.js.map +1 -0
- package/dist/chunk-RHVMZSUU.js +7 -0
- package/dist/chunk-RHVMZSUU.js.map +1 -0
- package/dist/{chunk-BUE2D7PX.js → chunk-SMV2HRDU.js} +2 -2
- package/dist/chunk-SUZKW6UR.js +25 -0
- package/dist/chunk-SUZKW6UR.js.map +1 -0
- package/dist/{chunk-7MG7SJT7.js → chunk-SV2PM2OY.js} +1 -1
- package/dist/chunk-SV2PM2OY.js.map +1 -0
- package/dist/{chunk-UXVWEX5L.js → chunk-SYNY3VB5.js} +6 -2
- package/dist/chunk-SYNY3VB5.js.map +1 -0
- package/dist/{chunk-4GFX6MPA.js → chunk-TEHHROZL.js} +6 -8
- package/dist/chunk-TEHHROZL.js.map +1 -0
- package/dist/chunk-TKVUE4JF.js +1289 -0
- package/dist/chunk-TKVUE4JF.js.map +1 -0
- package/dist/{chunk-SFAWCTEM.js → chunk-TZZBXPZK.js} +2 -2
- package/dist/{chunk-F3W6YMDC.js → chunk-U2FZNEWJ.js} +4 -4
- package/dist/chunk-U2FZNEWJ.js.map +1 -0
- package/dist/{chunk-BLN54W3L.js → chunk-UA372JHH.js} +56 -3
- package/dist/chunk-UA372JHH.js.map +1 -0
- package/dist/{chunk-6YXCPL4T.js → chunk-UEFOQH74.js} +2 -2
- package/dist/chunk-UEFOQH74.js.map +1 -0
- package/dist/{chunk-2N5ML6HT.js → chunk-UIYESRD6.js} +9 -11
- package/dist/chunk-UIYESRD6.js.map +1 -0
- package/dist/{chunk-UHHPLO3I.js → chunk-V3RWOOSO.js} +4 -4
- package/dist/{chunk-KTFRCC5C.js → chunk-V7ADQF5O.js} +82 -8
- package/dist/chunk-V7ADQF5O.js.map +1 -0
- package/dist/{chunk-453F654R.js → chunk-VAORSCSU.js} +3 -3
- package/dist/chunk-VAORSCSU.js.map +1 -0
- package/dist/{chunk-GPNTB4Y7.js → chunk-VFHCKG5M.js} +6 -10
- package/dist/chunk-VFHCKG5M.js.map +1 -0
- package/dist/{chunk-2577DKXB.js → chunk-VHBKYN2J.js} +3 -3
- package/dist/chunk-VHBKYN2J.js.map +1 -0
- package/dist/chunk-VHM7HCKB.js +220 -0
- package/dist/chunk-VHM7HCKB.js.map +1 -0
- package/dist/{chunk-ZHKOPKE3.js → chunk-VKI2EB3N.js} +3 -3
- package/dist/chunk-VKI2EB3N.js.map +1 -0
- package/dist/{chunk-UDHWDSRL.js → chunk-VMV5SBE4.js} +16 -17
- package/dist/chunk-VMV5SBE4.js.map +1 -0
- package/dist/{chunk-SPYWXKJN.js → chunk-VQDZYB2B.js} +3 -3
- package/dist/chunk-VQDZYB2B.js.map +1 -0
- package/dist/{chunk-Q2PU57HC.js → chunk-VVOLDVIR.js} +2 -2
- package/dist/{chunk-3VF3WQ4F.js → chunk-WPOYWFSE.js} +7 -7
- package/dist/{chunk-3VF3WQ4F.js.map → chunk-WPOYWFSE.js.map} +1 -1
- package/dist/{chunk-OTQZ7ZWU.js → chunk-WXE4W2U6.js} +7 -11
- package/dist/chunk-WXE4W2U6.js.map +1 -0
- package/dist/chunk-XBKH4FOC.js +195 -0
- package/dist/chunk-XBKH4FOC.js.map +1 -0
- package/dist/{chunk-TUFM4UZP.js → chunk-XQRFSKYM.js} +2 -2
- package/dist/{chunk-3V4KWFX7.js → chunk-XSPFDUDG.js} +58 -53
- package/dist/chunk-XSPFDUDG.js.map +1 -0
- package/dist/{chunk-GY4WYNNG.js → chunk-Y2RKVFKR.js} +2 -2
- package/dist/{chunk-UP4BECPY.js → chunk-Y3LPTBG7.js} +89 -27
- package/dist/chunk-Y3LPTBG7.js.map +1 -0
- package/dist/{chunk-4OZNXTO4.js → chunk-YRXFFWG4.js} +2 -2
- package/dist/classified/index.js +5 -5
- package/dist/{classified-marker-BWOFVYAC.js → classified-marker-SIYKUU5L.js} +3 -3
- package/dist/classified-marker-SIYKUU5L.js.map +1 -0
- package/dist/collection-facade-CS7CA2XO.js +47 -0
- package/dist/{computed-VPOKQK4N.js → computed-FAD7SED4.js} +3 -3
- package/dist/consent/index.js +10 -11
- package/dist/consent/index.js.map +1 -1
- package/dist/cover/index.js +10 -11
- package/dist/coverage/index.js +306 -0
- package/dist/coverage/index.js.map +1 -0
- package/dist/custody/index.js +12 -13
- package/dist/{dead-filter-PKQDLOT4.js → dead-filter-4F3LWYKH.js} +11 -3
- package/dist/dead-filter-4F3LWYKH.js.map +1 -0
- package/dist/debug/index.js +11 -2
- package/dist/debug/index.js.map +1 -1
- package/dist/{delegation-DS5NRILW.js → delegation-NANZDG4N.js} +13 -16
- package/dist/delegation-NANZDG4N.js.map +1 -0
- package/dist/derivations/index.js +25 -23
- package/dist/derive-XLOJVXPU.js +20 -0
- package/dist/directory/index.js +10 -11
- package/dist/{dispatch-IEPAVQUM.js → dispatch-H4HV32AM.js} +5 -5
- package/dist/{dispatch-Q6MWLOJY.js → dispatch-JDZNGEB3.js} +20 -21
- package/dist/dispatch-JDZNGEB3.js.map +1 -0
- package/dist/executor-FMPVN6DT.js +35 -0
- package/dist/executor-LBBBRTN5.js +8 -0
- package/dist/executor-OSRZST2U.js +8 -0
- package/dist/export-accessible-RAOJAAU5.js +22 -0
- package/dist/extract-partition-JD5CUSTG.js +37 -0
- package/dist/{fanout-sidecar-S3QL53YX.js → fanout-sidecar-L7NHPIOC.js} +13 -15
- package/dist/fanout-sidecar-L7NHPIOC.js.map +1 -0
- package/dist/find-JRN4RNQ5.js +10 -0
- package/dist/forget/index.js +9 -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 +36 -14
- package/dist/index.js +970 -163
- package/dist/index.js.map +1 -1
- package/dist/indexing/index.js +13 -5
- package/dist/indexing/index.js.map +1 -1
- package/dist/introspection/index.js +11 -12
- package/dist/issue-YIVBZUTH.js +19 -0
- package/dist/ivf-flat-UZ6DQDLS.js +314 -0
- package/dist/ivf-flat-UZ6DQDLS.js.map +1 -0
- package/dist/{json-schema-V3M5MUCM.js → json-schema-3SHX72CC.js} +2 -1
- package/dist/json-schema-3SHX72CC.js.map +1 -0
- package/dist/kernel/attestation-types.d.ts +62 -0
- package/dist/kernel/collection-config.d.ts +5 -68
- package/dist/kernel/collection.d.ts +30 -9
- package/dist/kernel/cutover-transform.d.ts +1 -1
- package/dist/kernel/errors.d.ts +257 -38
- package/dist/kernel/generation-map.d.ts +48 -0
- package/dist/kernel/merge-authority.d.ts +1 -1
- package/dist/kernel/noydb.d.ts +6 -1
- package/dist/kernel/paths.d.ts +29 -5
- package/dist/kernel/prepared-write.d.ts +1 -1
- package/dist/kernel/present-cache.d.ts +58 -0
- package/dist/kernel/query/all.d.ts +7 -0
- package/dist/kernel/query/builder.d.ts +601 -270
- package/dist/kernel/query/civil-date.d.ts +64 -0
- package/dist/kernel/query/cursor.d.ts +40 -0
- package/dist/kernel/query/distinct-key.d.ts +98 -0
- package/dist/kernel/query/hydration.d.ts +76 -0
- package/dist/kernel/query/index.d.ts +31 -15
- package/dist/kernel/query/internal/core.d.ts +30 -0
- package/dist/kernel/query/internal/hooks.d.ts +22 -0
- package/dist/kernel/query/internal/maintenance.d.ts +43 -0
- package/dist/kernel/query/live/incremental.d.ts +314 -0
- package/dist/kernel/query/live/index.d.ts +22 -0
- package/dist/kernel/query/live/install.d.ts +2 -0
- package/dist/kernel/query/{live.d.ts → live/live.d.ts} +39 -9
- package/dist/kernel/query/live/methods.d.ts +107 -0
- package/dist/kernel/query/predicate.d.ts +119 -1
- package/dist/kernel/query/reduce/date-trunc.d.ts +75 -0
- package/dist/kernel/query/reduce/index.d.ts +36 -0
- package/dist/kernel/query/reduce/install.d.ts +2 -0
- package/dist/kernel/query/reduce/methods.d.ts +259 -0
- package/dist/kernel/query/reduce/scan-methods.d.ts +121 -0
- package/dist/kernel/query/relate/explain.d.ts +199 -0
- package/dist/kernel/query/relate/index.d.ts +48 -0
- package/dist/kernel/query/relate/install.d.ts +2 -0
- package/dist/kernel/query/relate/join-on.d.ts +126 -0
- package/dist/kernel/query/relate/join-reduce.d.ts +16 -0
- package/dist/kernel/query/relate/join.d.ts +452 -0
- package/dist/kernel/query/relate/methods.d.ts +426 -0
- package/dist/kernel/query/relate/partition.d.ts +87 -0
- package/dist/kernel/query/relate/scan-methods.d.ts +163 -0
- package/dist/kernel/query/relate/traverse.d.ts +109 -0
- package/dist/kernel/query/scan-builder.d.ts +79 -176
- package/dist/kernel/query/sort-key.d.ts +52 -0
- package/dist/kernel/secret-mode.d.ts +1 -1
- package/dist/kernel/tx-write-gate.d.ts +77 -0
- package/dist/kernel/types.d.ts +113 -8
- package/dist/kernel/validation.d.ts +27 -10
- package/dist/kernel/vault.d.ts +11 -6
- package/dist/kernel/via/compose.d.ts +3 -0
- package/dist/kernel/via/index.d.ts +56 -0
- package/dist/kernel/via/pipeline.d.ts +48 -0
- package/dist/kernel/write-queue.d.ts +17 -0
- package/dist/{ledger-EDXFFZQL.js → ledger-5ZMGE44K.js} +11 -12
- package/dist/liberate-WZSZM2W6.js +24 -0
- package/dist/link-set-MFXC24VK.js +29 -0
- package/dist/{managed-secret-NCWEMPUQ.js → managed-secret-MFTFT22X.js} +10 -11
- package/dist/materialized-views/index.js +30 -24
- package/dist/{migrate-cek-5ENH64AA.js → migrate-cek-DZRFFOHW.js} +2 -2
- package/dist/money/index.js +5 -5
- package/dist/noydb-ITIGNKUF.js +96 -0
- package/dist/overlay-views/index.js +4 -4
- package/dist/periods/index.js +12 -13
- package/dist/pod/index.js +74 -67
- package/dist/{pod-handle-ECVCDIXW.js → pod-handle-A3LET7NO.js} +10 -11
- package/dist/pod-handle-A3LET7NO.js.map +1 -0
- package/dist/policy/index.js +10 -11
- package/dist/port/on/index.d.ts +1 -1
- package/dist/port/to/index.d.ts +1 -1
- package/dist/port/with/blob-strategy.d.ts +10 -1
- package/dist/port/with/classified-strategy.d.ts +1 -1
- package/dist/port/with/collection-options.d.ts +6 -1
- package/dist/port/with/collection-registries.d.ts +1 -1
- package/dist/port/with/coverage-strategy.d.ts +83 -0
- package/dist/port/with/lookup-strategy.d.ts +2 -2
- package/dist/port/with/service-bus.d.ts +46 -0
- package/dist/port/with/strategies.d.ts +2 -0
- package/dist/portability/index.js +8 -8
- package/dist/{post-register-3IPCSG6Q.js → post-register-7ND27CF2.js} +6 -6
- package/dist/post-register-7ND27CF2.js.map +1 -0
- package/dist/query/all/index.js +31 -0
- package/dist/query/index.js +20 -32
- package/dist/query/live/index.js +21 -0
- package/dist/query/live/index.js.map +1 -0
- package/dist/query/reduce/index.js +33 -0
- package/dist/query/reduce/index.js.map +1 -0
- package/dist/query/relate/index.js +56 -0
- package/dist/query/relate/index.js.map +1 -0
- package/dist/reduce/index.js +72 -18
- package/dist/reduce/index.js.map +1 -1
- package/dist/register-DT5HZ2LZ.js +30 -0
- package/dist/registry-BHRZGZHF.js +8 -0
- package/dist/registry-ET6ZFFWA.js +34 -0
- package/dist/registry-HXFGLGTG.js +8 -0
- package/dist/registry-THCPDEOD.js +23 -0
- package/dist/request-withdrawal-AV2MJJKY.js +30 -0
- package/dist/{reveal-QZDHSGD4.js → reveal-B2TLP4JQ.js} +10 -9
- package/dist/reveal-B2TLP4JQ.js.map +1 -0
- package/dist/revoke-6DWIEOCV.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 +11 -5
- package/dist/{seed-X5CC22CQ.js → seed-XNSE4U3S.js} +15 -18
- package/dist/seed-XNSE4U3S.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-MHGW3OIL.js +23 -0
- package/dist/snapshots/index.js +11 -11
- package/dist/stale-6GCFMOOR.js +28 -0
- package/dist/storage-BYN5LO6Z.js +21 -0
- package/dist/storage-BYN5LO6Z.js.map +1 -0
- package/dist/store/index.js +1 -1
- package/dist/{store-coordination-provider-4WZAIRHC.js → store-coordination-provider-C4BPT5XF.js} +11 -12
- package/dist/store-coordination-provider-C4BPT5XF.js.map +1 -0
- package/dist/sync/index.js +10 -11
- package/dist/sync/index.js.map +1 -1
- package/dist/team/index.js +17 -16
- package/dist/tiers/index.js +13 -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-6MDTIUEV.js → verify-UKALW7C2.js} +14 -12
- package/dist/verify-UKALW7C2.js.map +1 -0
- package/dist/via/blob/index.d.ts +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/geo/binding.d.ts +31 -0
- package/dist/via/geo/descriptor.d.ts +54 -0
- package/dist/via/geo/geohash.d.ts +95 -0
- package/dist/via/geo/index.d.ts +13 -0
- package/dist/via/geo/where.d.ts +50 -0
- package/dist/via/i18n/core.d.ts +1 -1
- package/dist/via/lookup/handle.d.ts +4 -4
- package/dist/via/lookup/registry.d.ts +1 -1
- package/dist/via/lookup/snapshot.d.ts +3 -3
- package/dist/walk-4VPK7AS4.js +20 -0
- package/dist/walk-4VPK7AS4.js.map +1 -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 +2 -2
- package/dist/with-audit/attestation/types.d.ts +10 -0
- package/dist/with-audit/attestation/vault-facade.d.ts +2 -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/coverage/accounting.d.ts +112 -0
- package/dist/with-audit/coverage/active.d.ts +29 -0
- package/dist/with-audit/coverage/index.d.ts +61 -0
- package/dist/with-audit/coverage/sketch.d.ts +75 -0
- package/dist/with-audit/forget/subject-index.d.ts +1 -1
- package/dist/with-audit/periods/periods.d.ts +55 -7
- package/dist/with-audit/periods/reserved-collections.d.ts +3 -0
- package/dist/with-audit/periods/vault-facade.d.ts +18 -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 +53 -2
- package/dist/with-audit/tiers/strategy.d.ts +8 -0
- package/dist/with-cargo/adopt-partition.d.ts +1 -1
- package/dist/with-cargo/extract-partition.d.ts +1 -1
- package/dist/with-cargo/floor.d.ts +3 -3
- 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 -1
- package/dist/with-commit/sequence/index.d.ts +1 -1
- package/dist/with-commit/tx/invariants.d.ts +1 -1
- package/dist/with-commit/tx/transaction.d.ts +13 -3
- 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 +1 -1
- package/dist/with-commit/vault-head/verify.d.ts +1 -1
- 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/materialized-views/dependency-analyzer.d.ts +4 -3
- package/dist/with-formula/materialized-views/emit-memo.d.ts +40 -0
- package/dist/with-formula/materialized-views/executor.d.ts +8 -0
- package/dist/with-formula/materialized-views/index.d.ts +1 -1
- package/dist/with-formula/materialized-views/registry.d.ts +15 -0
- package/dist/with-formula/materialized-views/types.d.ts +106 -14
- package/dist/with-formula/materialized-views/window-stage.d.ts +11 -0
- package/dist/with-formula/overlay-views/types.d.ts +1 -1
- package/dist/with-formula/overlay-views/virtual-collection.d.ts +13 -4
- package/dist/with-lookup/embeddings/chunks.d.ts +79 -0
- package/dist/with-lookup/embeddings/descriptor.d.ts +21 -0
- package/dist/with-lookup/embeddings/index.d.ts +3 -0
- package/dist/with-lookup/embeddings/ivf-flat.d.ts +93 -0
- package/dist/with-lookup/embeddings/vector-index.d.ts +73 -0
- package/dist/with-lookup/embeddings/vector-set.d.ts +94 -1
- package/dist/with-lookup/embeddings/with-vector-index.d.ts +67 -0
- package/dist/with-lookup/indexing/collection-facade.d.ts +86 -3
- package/dist/with-lookup/indexing/compound-indexes.d.ts +129 -0
- package/dist/with-lookup/indexing/eager-indexes.d.ts +170 -1
- package/dist/with-lookup/indexing/index-snapshot.d.ts +62 -0
- package/dist/with-lookup/indexing/lazy-builder.d.ts +33 -0
- package/dist/with-lookup/indexing/persisted-field-indexes.d.ts +104 -0
- package/dist/with-lookup/indexing/persisted-indexes.d.ts +12 -0
- package/dist/with-lookup/indexing/sorted-indexes.d.ts +117 -0
- package/dist/with-lookup/indexing/unique-constraints.d.ts +106 -23
- package/dist/with-lookup/reduce/active.d.ts +2 -24
- package/dist/with-lookup/reduce/group-core.d.ts +43 -0
- package/dist/with-lookup/reduce/groupby.d.ts +195 -36
- package/dist/with-lookup/reduce/incremental-group.d.ts +153 -0
- package/dist/with-lookup/reduce/index.d.ts +26 -5
- package/dist/with-lookup/reduce/reducers.d.ts +255 -1
- package/dist/with-lookup/reduce/reduction.d.ts +44 -13
- package/dist/with-lookup/reduce/strategy.d.ts +43 -3
- package/dist/with-lookup/reduce/window.d.ts +262 -0
- package/dist/with-lookup/search/collection-facade.d.ts +45 -9
- package/dist/with-lookup/search/index-store.d.ts +5 -3
- package/dist/with-lookup/search/index.d.ts +4 -2
- package/dist/with-lookup/search/inverted-index.d.ts +38 -2
- package/dist/with-lookup/search/persisted-index-store.d.ts +5 -2
- package/dist/with-lookup/search/phrase.d.ts +28 -0
- package/dist/with-lookup/search/retrieve-types.d.ts +57 -1
- package/dist/with-lookup/search/serialize.d.ts +29 -3
- package/dist/with-lookup/search/strategy.d.ts +2 -6
- package/dist/with-party/broker/index.d.ts +3 -3
- package/dist/with-party/directory/cover/index.d.ts +1 -1
- package/dist/with-party/directory/cover/storage.d.ts +1 -1
- package/dist/with-party/directory/cover/types.d.ts +1 -1
- package/dist/with-party/directory/index.d.ts +1 -1
- package/dist/with-party/directory/types.d.ts +1 -1
- package/dist/with-party/directory/user-envelope/api.d.ts +1 -1
- package/dist/with-party/directory/user-envelope/storage.d.ts +1 -1
- package/dist/with-party/policy/engine.d.ts +1 -1
- package/dist/with-party/policy/index.d.ts +1 -1
- package/dist/with-party/policy/presets.d.ts +1 -1
- package/dist/with-party/team/authenticators.d.ts +91 -1
- package/dist/with-party/team/delegation.d.ts +1 -1
- package/dist/with-party/team/echo-secret.d.ts +2 -2
- package/dist/with-party/team/index.d.ts +4 -3
- package/dist/with-party/team/keyring.d.ts +2 -2
- package/dist/with-party/team/magic-link-grant.d.ts +1 -1
- package/dist/with-party/team/managed-secret.d.ts +1 -1
- package/dist/with-party/team/noydb-facade.d.ts +12 -3
- package/dist/with-party/team/recovery.d.ts +1 -1
- package/dist/with-party/team/roster-tag.d.ts +1 -1
- package/dist/with-party/team/rotate-recover.d.ts +1 -1
- package/dist/with-party/team/wrapped-deks.d.ts +1 -1
- package/dist/with-pod/format.d.ts +1 -1
- package/dist/with-pod/index.d.ts +1 -1
- package/dist/with-pod/pod.d.ts +1 -1
- package/dist/with-shape/blobs/blob-compaction.d.ts +17 -1
- package/dist/with-shape/blobs/blob-intent.d.ts +1 -1
- package/dist/with-shape/blobs/blob-set.d.ts +23 -4
- package/dist/with-shape/blobs/legacy-sweep.d.ts +35 -0
- package/dist/with-shape/introspection/describe.d.ts +7 -1
- package/dist/with-shape/introspection/field-meta.d.ts +18 -0
- package/dist/with-shape/introspection/types.d.ts +57 -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/links/vault-facade.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-store/partitioned/index.d.ts +337 -0
- package/dist/with-sync/change-broadcast.d.ts +153 -0
- package/dist/with-sync/presence.d.ts +5 -10
- package/dist/withdraw-accessible-HL7GACUE.js +27 -0
- package/dist/withdraw-accessible-HL7GACUE.js.map +1 -0
- package/package.json +48 -12
- package/dist/api-WYW4YEQG.js +0 -19
- package/dist/backup-XKCXVKV3.js.map +0 -1
- package/dist/chunk-2577DKXB.js.map +0 -1
- package/dist/chunk-2ENE6445.js.map +0 -1
- package/dist/chunk-2N5ML6HT.js.map +0 -1
- package/dist/chunk-334WSVOW.js.map +0 -1
- package/dist/chunk-3BVH633C.js.map +0 -1
- package/dist/chunk-3PGS7TYR.js.map +0 -1
- package/dist/chunk-3V4KWFX7.js.map +0 -1
- package/dist/chunk-453F654R.js.map +0 -1
- package/dist/chunk-4GFX6MPA.js.map +0 -1
- package/dist/chunk-4GVM6QZA.js.map +0 -1
- package/dist/chunk-4ZS56W5S.js.map +0 -1
- package/dist/chunk-5VCRVKOZ.js.map +0 -1
- package/dist/chunk-6YXCPL4T.js.map +0 -1
- package/dist/chunk-7APJ6CO6.js.map +0 -1
- package/dist/chunk-7MG2LHO5.js +0 -1616
- package/dist/chunk-7MG2LHO5.js.map +0 -1
- package/dist/chunk-7MG7SJT7.js.map +0 -1
- package/dist/chunk-7O3Y4PPD.js.map +0 -1
- package/dist/chunk-A2HKRLPV.js.map +0 -1
- package/dist/chunk-A66I4JOA.js.map +0 -1
- package/dist/chunk-ACAQ2DSG.js.map +0 -1
- package/dist/chunk-ATL3ZVXT.js +0 -151
- package/dist/chunk-ATL3ZVXT.js.map +0 -1
- package/dist/chunk-AYX7AINO.js.map +0 -1
- package/dist/chunk-BLN54W3L.js.map +0 -1
- package/dist/chunk-BRLKZUBT.js +0 -95
- package/dist/chunk-BRLKZUBT.js.map +0 -1
- package/dist/chunk-BTDR2PXY.js +0 -29
- package/dist/chunk-BTDR2PXY.js.map +0 -1
- package/dist/chunk-BVN6KXL2.js.map +0 -1
- package/dist/chunk-CHQCZZWC.js.map +0 -1
- package/dist/chunk-CUQPWYRX.js.map +0 -1
- package/dist/chunk-CUZLNGD5.js.map +0 -1
- package/dist/chunk-DFMWUOU5.js.map +0 -1
- package/dist/chunk-EIPVYUEP.js.map +0 -1
- package/dist/chunk-EQEYOJBM.js.map +0 -1
- package/dist/chunk-F3W6YMDC.js.map +0 -1
- package/dist/chunk-FET5XCAT.js.map +0 -1
- package/dist/chunk-G73UVHCA.js.map +0 -1
- package/dist/chunk-GPNTB4Y7.js.map +0 -1
- package/dist/chunk-GYGLAVCX.js.map +0 -1
- package/dist/chunk-HIWCKBEY.js.map +0 -1
- package/dist/chunk-HJUWN7JN.js.map +0 -1
- package/dist/chunk-HK67PX4J.js.map +0 -1
- package/dist/chunk-HPVZCW43.js +0 -479
- package/dist/chunk-HPVZCW43.js.map +0 -1
- package/dist/chunk-I3ISCYT7.js +0 -159
- package/dist/chunk-I3ISCYT7.js.map +0 -1
- package/dist/chunk-K23VKTN4.js.map +0 -1
- package/dist/chunk-KKEESNPE.js.map +0 -1
- package/dist/chunk-KTFRCC5C.js.map +0 -1
- package/dist/chunk-LH5A3ZPG.js.map +0 -1
- package/dist/chunk-LP7BEXCT.js +0 -32
- package/dist/chunk-LP7BEXCT.js.map +0 -1
- package/dist/chunk-M4YPHYEH.js.map +0 -1
- package/dist/chunk-NSITFOCJ.js +0 -99
- package/dist/chunk-NSITFOCJ.js.map +0 -1
- package/dist/chunk-OTQZ7ZWU.js.map +0 -1
- package/dist/chunk-P3MG6QCN.js.map +0 -1
- package/dist/chunk-PEOZ34EM.js.map +0 -1
- package/dist/chunk-PPTHY5QO.js.map +0 -1
- package/dist/chunk-Q2MPFCQ7.js.map +0 -1
- package/dist/chunk-Q7HZX3IF.js.map +0 -1
- package/dist/chunk-QPQUVOZ2.js.map +0 -1
- package/dist/chunk-QTQUH4DS.js.map +0 -1
- package/dist/chunk-R42NSZI6.js.map +0 -1
- package/dist/chunk-R7BX2NB3.js.map +0 -1
- package/dist/chunk-RSGLUIO6.js.map +0 -1
- package/dist/chunk-RTBJ5IOO.js +0 -87
- package/dist/chunk-RTBJ5IOO.js.map +0 -1
- package/dist/chunk-SGZAIJCV.js.map +0 -1
- package/dist/chunk-SKGMN35F.js.map +0 -1
- package/dist/chunk-SPYWXKJN.js.map +0 -1
- package/dist/chunk-SZJ3DLZA.js +0 -66
- package/dist/chunk-SZJ3DLZA.js.map +0 -1
- package/dist/chunk-TRGTKX5E.js.map +0 -1
- package/dist/chunk-UDHWDSRL.js.map +0 -1
- package/dist/chunk-UP4BECPY.js.map +0 -1
- package/dist/chunk-UXVWEX5L.js.map +0 -1
- package/dist/chunk-V7ZRRCRJ.js.map +0 -1
- package/dist/chunk-WQBG4SZS.js.map +0 -1
- package/dist/chunk-XKWGNJ26.js.map +0 -1
- package/dist/chunk-YMUFFJCO.js.map +0 -1
- package/dist/chunk-ZHKOPKE3.js.map +0 -1
- package/dist/chunk-ZN4FD4PE.js +0 -364
- package/dist/chunk-ZN4FD4PE.js.map +0 -1
- package/dist/chunk-ZORTV6NH.js.map +0 -1
- package/dist/chunk-ZYIYHJ5R.js.map +0 -1
- package/dist/classified-marker-BWOFVYAC.js.map +0 -1
- package/dist/collection-facade-JSJYIKS4.js +0 -45
- package/dist/dead-filter-PKQDLOT4.js.map +0 -1
- package/dist/delegation-DS5NRILW.js.map +0 -1
- package/dist/derive-E642AOUB.js +0 -21
- package/dist/dispatch-Q6MWLOJY.js.map +0 -1
- package/dist/executor-5NIMLSKZ.js +0 -8
- package/dist/executor-7UQ3BZ4F.js +0 -29
- package/dist/executor-AQVXV5GZ.js +0 -8
- package/dist/export-accessible-ORMKLA3E.js +0 -22
- package/dist/extract-partition-NKYO3WNG.js +0 -37
- package/dist/fanout-sidecar-S3QL53YX.js.map +0 -1
- package/dist/find-NOGJ25VX.js +0 -10
- package/dist/issue-3DTQ7VJJ.js +0 -18
- package/dist/json-schema-V3M5MUCM.js.map +0 -1
- 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/kernel/query/join.d.ts +0 -232
- package/dist/liberate-V35QUHJP.js +0 -24
- package/dist/link-set-2TTM3IZC.js +0 -30
- package/dist/noydb-62MX4QUG.js +0 -90
- package/dist/pod-handle-ECVCDIXW.js.map +0 -1
- package/dist/post-register-3IPCSG6Q.js.map +0 -1
- package/dist/register-HHLXEQDN.js +0 -31
- package/dist/registry-23WF3TGH.js +0 -8
- package/dist/registry-4AYVUNXK.js +0 -8
- package/dist/registry-JS3YFQQM.js +0 -18
- package/dist/registry-XX2Z7B46.js +0 -32
- package/dist/request-withdrawal-CHPATE4G.js +0 -30
- package/dist/reveal-QZDHSGD4.js.map +0 -1
- package/dist/revoke-7M2VW4ON.js +0 -23
- package/dist/seed-X5CC22CQ.js.map +0 -1
- package/dist/signer-SJQJVSM6.js +0 -24
- package/dist/stale-BZS6H2RY.js +0 -29
- package/dist/storage-RW4QBS23.js +0 -22
- package/dist/store-coordination-provider-4WZAIRHC.js.map +0 -1
- package/dist/verify-6MDTIUEV.js.map +0 -1
- package/dist/walk-ZURCH6RZ.js +0 -21
- package/dist/withdraw-accessible-PXR4IXDX.js +0 -27
- /package/dist/{api-WYW4YEQG.js.map → api-OS747DS4.js.map} +0 -0
- /package/dist/{computed-VPOKQK4N.js.map → capsule/contract.js.map} +0 -0
- /package/dist/{kernel/enclave → capsule/enclave-aes}/broker/proof.d.ts +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/{collection-facade-JSJYIKS4.js.map → capsule-VOLX3QRQ.js.map} +0 -0
- /package/dist/{chunk-MVMXZYXT.js.map → chunk-2GHDLTPE.js.map} +0 -0
- /package/dist/{chunk-XLMEZIAJ.js.map → chunk-2ODVB6LZ.js.map} +0 -0
- /package/dist/{chunk-RMS3NEA3.js.map → chunk-4JPMZTJY.js.map} +0 -0
- /package/dist/{chunk-NQKIUNW5.js.map → chunk-52MGURXO.js.map} +0 -0
- /package/dist/{chunk-UGTBXF5U.js.map → chunk-7XMHMVTS.js.map} +0 -0
- /package/dist/{chunk-BZ3534YM.js.map → chunk-AUKKUPVB.js.map} +0 -0
- /package/dist/{derive-E642AOUB.js.map → chunk-BKT776R5.js.map} +0 -0
- /package/dist/{chunk-6LKOJBV6.js.map → chunk-BVCUTXE3.js.map} +0 -0
- /package/dist/{chunk-VTFVLCUH.js.map → chunk-DIZLQVAA.js.map} +0 -0
- /package/dist/{chunk-LWBCUYZW.js.map → chunk-E2N2T5ZO.js.map} +0 -0
- /package/dist/{chunk-JVIBCBC7.js.map → chunk-EJLV62NI.js.map} +0 -0
- /package/dist/{chunk-JMGDHKQF.js.map → chunk-FLPCETP6.js.map} +0 -0
- /package/dist/{chunk-DGOZ4UZD.js.map → chunk-FVH5QYY2.js.map} +0 -0
- /package/dist/{chunk-JBDFMYKQ.js.map → chunk-GZT3NQRA.js.map} +0 -0
- /package/dist/{chunk-TFR7DSOV.js.map → chunk-H427H63K.js.map} +0 -0
- /package/dist/{chunk-SMH6SRX7.js.map → chunk-JOSPH3E5.js.map} +0 -0
- /package/dist/{chunk-3BZZJJMQ.js.map → chunk-MILI22XQ.js.map} +0 -0
- /package/dist/{chunk-YYP7WSEB.js.map → chunk-O2IMQSNA.js.map} +0 -0
- /package/dist/{chunk-QIZPZMUI.js.map → chunk-Q4UHJ5SN.js.map} +0 -0
- /package/dist/{chunk-FAHMLERK.js.map → chunk-QBLT6POL.js.map} +0 -0
- /package/dist/{chunk-BUE2D7PX.js.map → chunk-SMV2HRDU.js.map} +0 -0
- /package/dist/{chunk-SFAWCTEM.js.map → chunk-TZZBXPZK.js.map} +0 -0
- /package/dist/{chunk-UHHPLO3I.js.map → chunk-V3RWOOSO.js.map} +0 -0
- /package/dist/{chunk-Q2PU57HC.js.map → chunk-VVOLDVIR.js.map} +0 -0
- /package/dist/{chunk-TUFM4UZP.js.map → chunk-XQRFSKYM.js.map} +0 -0
- /package/dist/{chunk-GY4WYNNG.js.map → chunk-Y2RKVFKR.js.map} +0 -0
- /package/dist/{chunk-4OZNXTO4.js.map → chunk-YRXFFWG4.js.map} +0 -0
- /package/dist/{enclave-55PAM4YO.js.map → collection-facade-CS7CA2XO.js.map} +0 -0
- /package/dist/{executor-5NIMLSKZ.js.map → computed-FAD7SED4.js.map} +0 -0
- /package/dist/{executor-7UQ3BZ4F.js.map → derive-XLOJVXPU.js.map} +0 -0
- /package/dist/{dispatch-IEPAVQUM.js.map → dispatch-H4HV32AM.js.map} +0 -0
- /package/dist/{executor-AQVXV5GZ.js.map → executor-FMPVN6DT.js.map} +0 -0
- /package/dist/{export-accessible-ORMKLA3E.js.map → executor-LBBBRTN5.js.map} +0 -0
- /package/dist/{extract-partition-NKYO3WNG.js.map → executor-OSRZST2U.js.map} +0 -0
- /package/dist/{find-NOGJ25VX.js.map → export-accessible-RAOJAAU5.js.map} +0 -0
- /package/dist/{issue-3DTQ7VJJ.js.map → extract-partition-JD5CUSTG.js.map} +0 -0
- /package/dist/{ledger-EDXFFZQL.js.map → find-JRN4RNQ5.js.map} +0 -0
- /package/dist/{liberate-V35QUHJP.js.map → issue-YIVBZUTH.js.map} +0 -0
- /package/dist/{link-set-2TTM3IZC.js.map → ledger-5ZMGE44K.js.map} +0 -0
- /package/dist/{managed-secret-NCWEMPUQ.js.map → liberate-WZSZM2W6.js.map} +0 -0
- /package/dist/{noydb-62MX4QUG.js.map → link-set-MFXC24VK.js.map} +0 -0
- /package/dist/{register-HHLXEQDN.js.map → managed-secret-MFTFT22X.js.map} +0 -0
- /package/dist/{migrate-cek-5ENH64AA.js.map → migrate-cek-DZRFFOHW.js.map} +0 -0
- /package/dist/{registry-23WF3TGH.js.map → noydb-ITIGNKUF.js.map} +0 -0
- /package/dist/{registry-4AYVUNXK.js.map → query/all/index.js.map} +0 -0
- /package/dist/{registry-JS3YFQQM.js.map → register-DT5HZ2LZ.js.map} +0 -0
- /package/dist/{registry-XX2Z7B46.js.map → registry-BHRZGZHF.js.map} +0 -0
- /package/dist/{request-withdrawal-CHPATE4G.js.map → registry-ET6ZFFWA.js.map} +0 -0
- /package/dist/{revoke-7M2VW4ON.js.map → registry-HXFGLGTG.js.map} +0 -0
- /package/dist/{signer-SJQJVSM6.js.map → registry-THCPDEOD.js.map} +0 -0
- /package/dist/{stale-BZS6H2RY.js.map → request-withdrawal-AV2MJJKY.js.map} +0 -0
- /package/dist/{storage-RW4QBS23.js.map → revoke-6DWIEOCV.js.map} +0 -0
- /package/dist/{walk-ZURCH6RZ.js.map → signer-MHGW3OIL.js.map} +0 -0
- /package/dist/{withdraw-accessible-PXR4IXDX.js.map → stale-6GCFMOOR.js.map} +0 -0
|
@@ -15,8 +15,50 @@ export interface RetrieveOptions<T = unknown> {
|
|
|
15
15
|
readonly mode?: 'lexical' | 'semantic' | 'hybrid';
|
|
16
16
|
/** L2 — minimum cosine score for semantic hits (semantic mode only). */
|
|
17
17
|
readonly minScore?: number;
|
|
18
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* L3 — intersect hits with a structured query (retrieve ∩ where). Eager-mode
|
|
20
|
+
* only. Also the typed half of retrieval (#1343): money / number / date /
|
|
21
|
+
* boolean fields are not tokenised into the lexical index, so a typed match
|
|
22
|
+
* is expressed here as a `Query` and compared in the field's canonical space
|
|
23
|
+
* by the query engine. Scoring stays global, `limit` counts NARROWED hits,
|
|
24
|
+
* an empty result set yields no hits, and an empty text query paired with a
|
|
25
|
+
* `within` is typed-only retrieval. See `retrieve()` in `collection-facade`.
|
|
26
|
+
*/
|
|
19
27
|
readonly within?: Query<T>;
|
|
28
|
+
/**
|
|
29
|
+
* Per-field score weights (#1354), e.g. `{ boost: { name: 3, notes: 1 } }`.
|
|
30
|
+
* Query-side only — the index is unchanged, and omitting this leaves every
|
|
31
|
+
* score exactly as it was. Fields not named weigh 1.
|
|
32
|
+
*/
|
|
33
|
+
readonly boost?: Readonly<Record<string, number>>;
|
|
34
|
+
/**
|
|
35
|
+
* #1360 part 2 — force an EXACT brute-force semantic scan for this call,
|
|
36
|
+
* bypassing any approximate index the collection opted into. Ignored in
|
|
37
|
+
* lexical mode. Exactness must stay reachable per query: a caller who needs
|
|
38
|
+
* a guaranteed complete top-k (an audit, a recall measurement, a test) asks
|
|
39
|
+
* for it here rather than being told to reconfigure the collection.
|
|
40
|
+
*/
|
|
41
|
+
readonly exact?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* #1360 part 2 — per-query recall dial for the approximate index (lists
|
|
44
|
+
* probed). Overrides `withVectorIndex({ nprobe })` for this call. No effect
|
|
45
|
+
* when the query is exact.
|
|
46
|
+
*/
|
|
47
|
+
readonly nprobe?: number;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Options for `collection.similarTo()` — raw-vector kNN. Lives here beside
|
|
51
|
+
* {@link RetrieveOptions} because it is the same kind of thing: a public
|
|
52
|
+
* option bag on the retrieval surface.
|
|
53
|
+
*/
|
|
54
|
+
export interface SimilarToOptions {
|
|
55
|
+
readonly k?: number;
|
|
56
|
+
readonly minScore?: number;
|
|
57
|
+
readonly includeRecord?: boolean;
|
|
58
|
+
/** #1360 part 2 — force the exact brute-force scan, whatever the index policy says. */
|
|
59
|
+
readonly exact?: boolean;
|
|
60
|
+
/** #1360 part 2 — per-query recall dial (lists probed) for the approximate index. */
|
|
61
|
+
readonly nprobe?: number;
|
|
20
62
|
}
|
|
21
63
|
export interface RetrieveHit<T> {
|
|
22
64
|
readonly id: string;
|
|
@@ -26,4 +68,18 @@ export interface RetrieveHit<T> {
|
|
|
26
68
|
readonly snippet: string;
|
|
27
69
|
readonly locale?: string;
|
|
28
70
|
readonly record?: T;
|
|
71
|
+
/**
|
|
72
|
+
* #1360 — for a semantic hit on a CHUNKED record: the winning chunk's id and
|
|
73
|
+
* its `[start, end)` character offsets into
|
|
74
|
+
* `embeddingSourceText(record, descriptor.source)` (the joined source text,
|
|
75
|
+
* not a single field). `snippet` already carries `sourceText.slice(start,
|
|
76
|
+
* end)` when the record is in the eager cache; the offsets are returned so a
|
|
77
|
+
* consumer can highlight in place. Absent for lexical hits and for
|
|
78
|
+
* unchunked (single-vector) semantic hits.
|
|
79
|
+
*/
|
|
80
|
+
readonly chunk?: {
|
|
81
|
+
readonly id: string;
|
|
82
|
+
readonly start: number;
|
|
83
|
+
readonly end: number;
|
|
84
|
+
};
|
|
29
85
|
}
|
|
@@ -1,4 +1,30 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* (De)serialize an InvertedIndex to/from a JSON string for persistence (L1.5).
|
|
3
|
+
*
|
|
4
|
+
* ## Why a validator, and why its failure mode is "rebuild" (#1354)
|
|
5
|
+
*
|
|
6
|
+
* Positional postings changed the persisted shape, so this module adopts the
|
|
7
|
+
* discipline #1359 established for the field-index sidecars: a blob is used
|
|
8
|
+
* only if it is EXACTLY the current format, and anything else is discarded
|
|
9
|
+
* whole and rebuilt from the record cache. There is no migration path and no
|
|
10
|
+
* partial load, because a half-trusted index answers confidently and wrongly —
|
|
11
|
+
* a pre-#1354 blob read leniently would report "no positions here", which a
|
|
12
|
+
* phrase query cannot distinguish from "your phrase is not in this record".
|
|
13
|
+
*
|
|
14
|
+
* ⭐ An out-of-order position list is REJECTED, not re-sorted. Re-sorting would
|
|
15
|
+
* launder a corrupt blob into a plausible-looking answer; the cache can always
|
|
16
|
+
* rebuild the truth.
|
|
17
|
+
*/
|
|
18
|
+
import { InvertedIndex, type IndexSnapshot } from './inverted-index.js';
|
|
3
19
|
export declare function serializeIndex(idx: InvertedIndex): string;
|
|
4
|
-
|
|
20
|
+
/** `null` ⇒ the blob is unusable and the caller must rebuild. Never throws. */
|
|
21
|
+
export declare function deserializeIndex(json: string): InvertedIndex | null;
|
|
22
|
+
/**
|
|
23
|
+
* Decode + structurally validate a persisted index snapshot. Returns `null` for
|
|
24
|
+
* anything that is not exactly the current format: torn JSON, a stamp from
|
|
25
|
+
* another release, a shape mismatch, a position list that is not strictly
|
|
26
|
+
* ascending or that names a token the doc does not have, or a `pos`/`posFields`
|
|
27
|
+
* disagreement (a doc whose field opted in but carries no positions would make
|
|
28
|
+
* every phrase query silently miss it).
|
|
29
|
+
*/
|
|
30
|
+
export declare function parseIndexSnapshot(json: string): IndexSnapshot | null;
|
|
@@ -16,15 +16,11 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import type { SearchContext } from './collection-facade.js';
|
|
18
18
|
import type { SearchOptions, SearchResult } from './index.js';
|
|
19
|
-
import type { RetrieveOptions, RetrieveHit } from './retrieve-types.js';
|
|
19
|
+
import type { RetrieveOptions, RetrieveHit, SimilarToOptions } from './retrieve-types.js';
|
|
20
20
|
export interface SearchStrategy {
|
|
21
21
|
search<T>(ctx: SearchContext<T>, field: string, query: string, opts?: SearchOptions): Promise<SearchResult<T>[]>;
|
|
22
22
|
retrieve<T>(ctx: SearchContext<T>, query: string, opts?: RetrieveOptions<T>): Promise<RetrieveHit<T>[]>;
|
|
23
|
-
similarTo<T>(ctx: SearchContext<T>, vector: Float32Array, opts?:
|
|
24
|
-
k?: number;
|
|
25
|
-
minScore?: number;
|
|
26
|
-
includeRecord?: boolean;
|
|
27
|
-
}): Promise<RetrieveHit<T>[]>;
|
|
23
|
+
similarTo<T>(ctx: SearchContext<T>, vector: Float32Array, opts?: SimilarToOptions): Promise<RetrieveHit<T>[]>;
|
|
28
24
|
warmIndex<T>(ctx: SearchContext<T>): Promise<void>;
|
|
29
25
|
flushIndex<T>(ctx: SearchContext<T>): Promise<void>;
|
|
30
26
|
embedOnWrite<T>(ctx: SearchContext<T>, id: string, record: T, version: number): Promise<void>;
|
|
@@ -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 } 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
|
|
@@ -26,4 +26,4 @@ export declare function issueChallenge(opts?: {
|
|
|
26
26
|
}): IssuedChallenge;
|
|
27
27
|
export { verifyBrokerProof };
|
|
28
28
|
export type { VerifyBrokerProofArgs };
|
|
29
|
-
export type { IssuedChallenge } from '../../
|
|
29
|
+
export type { IssuedChallenge } from '../../capsule/index.js';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Cover service — barrel export. (Formerly "public envelope"; the
|
|
3
3
|
* old names remain as deprecated aliases for one pre-release window.)
|
|
4
4
|
*
|
|
5
|
-
* @see https://github.com/
|
|
5
|
+
* @see https://github.com/noy-db/docs/blob/main/content/docs/services/public-envelope.md
|
|
6
6
|
*
|
|
7
7
|
* @module
|
|
8
8
|
*/
|
|
@@ -50,6 +50,6 @@ export declare function resolveLocale(cover: Cover, locale: string): Cover;
|
|
|
50
50
|
* 3. First non-empty value in the map.
|
|
51
51
|
* 4. Empty string (only if every translation is empty — pathological).
|
|
52
52
|
*
|
|
53
|
-
* This deviation is documented in `https://github.com/
|
|
53
|
+
* This deviation is documented in `https://github.com/noy-db/docs/blob/main/content/docs/services/public-envelope.md`.
|
|
54
54
|
*/
|
|
55
55
|
export declare function pickLocale(value: string | Record<string, string>, locale: string, defaultLocale: string | undefined): string;
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* record still lives at `_meta/public-envelope` and carries the
|
|
9
9
|
* `_noydb_public: 1` discriminator.)
|
|
10
10
|
*
|
|
11
|
-
* @see https://github.com/
|
|
11
|
+
* @see https://github.com/noy-db/docs/blob/main/content/docs/services/public-envelope.md
|
|
12
12
|
*
|
|
13
13
|
* @module
|
|
14
14
|
*/
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* User-list visibility — barrel export for the
|
|
3
3
|
* `@noy-db/hub/directory` surface.
|
|
4
4
|
*
|
|
5
|
-
* @see https://github.com/
|
|
5
|
+
* @see https://github.com/noy-db/docs/blob/main/content/docs/services/user-envelope.md → Directory visibility
|
|
6
6
|
*
|
|
7
7
|
* @module
|
|
8
8
|
*/
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* flags exist to keep admin-UI listings tidy, not to hide principals
|
|
15
15
|
* from a determined attacker.
|
|
16
16
|
*
|
|
17
|
-
* @see https://github.com/
|
|
17
|
+
* @see https://github.com/noy-db/docs/blob/main/content/docs/services/user-envelope.md → Directory visibility
|
|
18
18
|
*
|
|
19
19
|
* @module
|
|
20
20
|
*/
|
|
@@ -130,7 +130,7 @@ export declare class UserApi implements VaultUserApi {
|
|
|
130
130
|
* Honest caveat: this is a UX flag, not a privacy guarantee. The
|
|
131
131
|
* envelope ciphertext at `_users/<keyringId>` and the keyring file at
|
|
132
132
|
* `_keyring/<userId>` are both still observable to anyone with direct
|
|
133
|
-
* store read access. See `https://github.com/
|
|
133
|
+
* store read access. See `https://github.com/noy-db/docs/blob/main/content/docs/services/user-envelope.md` →
|
|
134
134
|
* "Directory visibility".
|
|
135
135
|
*/
|
|
136
136
|
setMyVisibility(visibility: UserVisibility): Promise<void>;
|
|
@@ -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
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* a stable {@link PolicyDenyReason} so consumers can branch in error
|
|
8
8
|
* UIs.
|
|
9
9
|
*
|
|
10
|
-
* @see https://github.com/
|
|
10
|
+
* @see https://github.com/noy-db/docs/blob/main/content/docs/services/session-tiers.md → checkGate() API
|
|
11
11
|
*
|
|
12
12
|
* @module
|
|
13
13
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Policy gate DSL — barrel export for the `@noy-db/hub/policy` surface.
|
|
3
3
|
*
|
|
4
|
-
* @see https://github.com/
|
|
4
|
+
* @see https://github.com/noy-db/docs/blob/main/content/docs/services/session-tiers.md → Policy gates DSL
|
|
5
5
|
*
|
|
6
6
|
* @module
|
|
7
7
|
*/
|
|
@@ -9,7 +9,7 @@ import type { VaultPolicy } from '../../kernel/types.js';
|
|
|
9
9
|
* The unspecified gates (e.g. `view-user-auth`) inherit the engine
|
|
10
10
|
* default of `{ enabled: false, minTier: 1 }` — they fail closed.
|
|
11
11
|
*
|
|
12
|
-
* @see https://github.com/
|
|
12
|
+
* @see https://github.com/noy-db/docs/blob/main/content/docs/services/session-tiers.md → Built-in gates
|
|
13
13
|
*/
|
|
14
14
|
export declare const PERSONAL_POLICY: VaultPolicy;
|
|
15
15
|
/**
|
|
@@ -9,12 +9,14 @@
|
|
|
9
9
|
* (`on-webauthn`, `on-oidc`, `on-password`); this module accepts the
|
|
10
10
|
* package's `wrapped_kek` ciphertext + `meta` payload and persists it.
|
|
11
11
|
*
|
|
12
|
-
* @see https://github.com/
|
|
12
|
+
* @see https://github.com/noy-db/docs/blob/main/content/docs/services/session-tiers.md → Tier 2 — Authenticate
|
|
13
13
|
*
|
|
14
14
|
* @module
|
|
15
15
|
*/
|
|
16
16
|
import type { NoydbStore, KeyringAuthenticator } from '../../kernel/types.js';
|
|
17
17
|
import type { UnlockedKeyring } from './keyring.js';
|
|
18
|
+
import { type SlotRewrapCeremony } from './rotate-recover.js';
|
|
19
|
+
import type { RotateSecretInput } from './rotate-recover.js';
|
|
18
20
|
/** Fields shared across both wrap-KEK and wrap-DEKs enroll inputs. */
|
|
19
21
|
interface EnrollAuthenticatorBase {
|
|
20
22
|
readonly id: string;
|
|
@@ -84,6 +86,29 @@ export declare function updateAuthenticator(store: NoydbStore, vault: string, ke
|
|
|
84
86
|
/**
|
|
85
87
|
* Drop a slot by id. No-op if the slot doesn't exist (idempotent —
|
|
86
88
|
* removing a non-existent slot is a recoverable retry, not an error).
|
|
89
|
+
*
|
|
90
|
+
* ⛔ **THIS HIDES A CREDENTIAL. IT DOES NOT REVOKE ONE.** (#1445) The slot
|
|
91
|
+
* leaves the keyring file and nothing else happens — no key material moves. A
|
|
92
|
+
* slot blob captured before removal, or cached by an honest client earlier in
|
|
93
|
+
* the same session, still unwraps the FULL LIVE DEK SET and reads every record,
|
|
94
|
+
* for as long as those DEKs remain current.
|
|
95
|
+
*
|
|
96
|
+
* That is not a leak in one `on-*` package. `@noy-db/on-password`'s
|
|
97
|
+
* `unwrapDeksWithPassword` and `@noy-db/on-webauthn`'s `unwrapKeyringSummary`
|
|
98
|
+
* both carry the DEK map inside the blob and need no store, no keyring and no
|
|
99
|
+
* network — the blob authenticates itself. A membership check inside a verifier
|
|
100
|
+
* cannot close it, because a blob holder calls the primitive directly and never
|
|
101
|
+
* reaches the verifier.
|
|
102
|
+
*
|
|
103
|
+
* ⭐ To actually revoke, see {@link revokeAuthenticator} — removal, then a DEK
|
|
104
|
+
* rotation, then a re-wrap of the slots that stay. Every step is required and
|
|
105
|
+
* the reasons are measured, not assumed; read that doc before assembling the
|
|
106
|
+
* sequence by hand.
|
|
107
|
+
*
|
|
108
|
+
* ⚠️ Idempotency is only sound when the slot list is actually
|
|
109
|
+
* visible — see {@link assertSlotListVisible} (#1426).
|
|
110
|
+
*
|
|
111
|
+
* @throws `ValidationError` when the session cannot see the slot list.
|
|
87
112
|
*/
|
|
88
113
|
export declare function removeAuthenticator(store: NoydbStore, vault: string, keyring: UnlockedKeyring, slotId: string): Promise<UnlockedKeyring>;
|
|
89
114
|
/**
|
|
@@ -92,4 +117,69 @@ export declare function removeAuthenticator(store: NoydbStore, vault: string, ke
|
|
|
92
117
|
* before invoking the method-specific verifier.
|
|
93
118
|
*/
|
|
94
119
|
export declare function findAuthenticator(keyring: UnlockedKeyring, slotId: string): KeyringAuthenticator | undefined;
|
|
120
|
+
/** Inputs for {@link revokeAuthenticator}. */
|
|
121
|
+
export interface RevokeAuthenticatorOptions {
|
|
122
|
+
/** The slot to revoke. */
|
|
123
|
+
readonly slotId: string;
|
|
124
|
+
/**
|
|
125
|
+
* The vault owner's CURRENT secret. Passed as both `oldSecret` and
|
|
126
|
+
* `newSecret` to `rotateSecret`, which accepts them being equal — measured,
|
|
127
|
+
* so revoking one credential does not force everyone onto a new phrase.
|
|
128
|
+
*/
|
|
129
|
+
readonly secret: RotateSecretInput['oldSecret'];
|
|
130
|
+
/**
|
|
131
|
+
* A re-wrap ceremony for EVERY slot that stays, keyed by slot id.
|
|
132
|
+
*
|
|
133
|
+
* ⛔ A slot with no ceremony is DROPPED, not preserved — that is
|
|
134
|
+
* `rotateSecret`'s existing behaviour (#29 / PR5: "without `slotCeremonies`,
|
|
135
|
+
* rotation drops every slot"), and it is the honest outcome, because after
|
|
136
|
+
* step 2 its blob wraps DEKs that no longer exist. Supplying one requires
|
|
137
|
+
* that credential to be present: the password for `on-password`, a live
|
|
138
|
+
* assertion for `on-webauthn`. There is no way around that — re-wrapping a
|
|
139
|
+
* credential is the credential's own operation.
|
|
140
|
+
*/
|
|
141
|
+
readonly slotCeremonies?: {
|
|
142
|
+
readonly [slotId: string]: SlotRewrapCeremony;
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Actually revoke an authenticator slot: remove it, mint fresh DEKs, and
|
|
147
|
+
* re-wrap the slots that stay (#1445).
|
|
148
|
+
*
|
|
149
|
+
* ## Why this is three steps and not one
|
|
150
|
+
*
|
|
151
|
+
* Each was measured, because the composition looks obvious and the obvious
|
|
152
|
+
* compositions do not work:
|
|
153
|
+
*
|
|
154
|
+
* 1. **{@link removeAuthenticator}** hides the slot. On its own it revokes
|
|
155
|
+
* nothing — the captured blob carries its own DEKs.
|
|
156
|
+
* 2. **`rotateKeys`** is the step that revokes. It is the ONLY one that calls
|
|
157
|
+
* `generateDEK()`. Measured: a collection's DEK is byte-identical across a
|
|
158
|
+
* `rotateSecret` and different across a `rotateKeys`.
|
|
159
|
+
* ⚠️ `rotateSecret` alone does NOT revoke, however it reads:
|
|
160
|
+
* it unwraps every DEK with the old KEK and rewraps THE SAME KEY MATERIAL
|
|
161
|
+
* under the new one. A captured blob holds DEK VALUES and records are
|
|
162
|
+
* encrypted with DEKs, so rewrapping them changes nothing the holder needs.
|
|
163
|
+
* 3. **`rotateSecret` with `slotCeremonies`** re-wraps the remaining slots
|
|
164
|
+
* around the new DEKs. Without it they survive step 2 BYTE-IDENTICAL
|
|
165
|
+
* (measured: `rotateKeys` never touches `authenticators[]`) and therefore
|
|
166
|
+
* silently wrap keys that no longer exist — every other credential in the
|
|
167
|
+
* vault dies quietly. This step is what makes the operation safe for
|
|
168
|
+
* everyone who was not being revoked.
|
|
169
|
+
*
|
|
170
|
+
* ⭐ Neither primitive is sufficient alone and they are not interchangeable:
|
|
171
|
+
* `rotateKeys` mints keys but cannot re-wrap slots; `rotateSecret` re-wraps
|
|
172
|
+
* slots but cannot mint keys.
|
|
173
|
+
*
|
|
174
|
+
* ## Cost
|
|
175
|
+
*
|
|
176
|
+
* Step 2 re-encrypts every record in every affected collection, and every
|
|
177
|
+
* remaining credential holder must be present for step 3. This is expensive on
|
|
178
|
+
* purpose: it is what revocation costs when the credential is a bearer token.
|
|
179
|
+
*
|
|
180
|
+
* @throws `ValidationError` when the session cannot see the slot list
|
|
181
|
+
* ({@link assertSlotListVisible}) — a tier-1 unlock is required, and #1432
|
|
182
|
+
* guarantees the KEK rotation needs is present at this point.
|
|
183
|
+
*/
|
|
184
|
+
export declare function revokeAuthenticator(store: NoydbStore, vault: string, keyring: UnlockedKeyring, options: RevokeAuthenticatorOptions): Promise<UnlockedKeyring>;
|
|
95
185
|
export {};
|
|
@@ -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
|
|
@@ -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,7 +28,7 @@
|
|
|
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
34
|
/** Same iteration floor as the KEK (spec resolved question 1). */
|
|
@@ -19,8 +19,9 @@ export type { UnlockedKeyring } from './keyring.js';
|
|
|
19
19
|
export { loadKeyring, createOwnerKeyring, grant, revoke, changeSecret, listUsers, listUsersWithEnvelopes, ensureCollectionDEK, persistKeyring, updateKeyringIdentity, buildRecipientKeyringFile, } from './keyring.js';
|
|
20
20
|
export type { PodRecipient, ListUsersOptions } from './keyring.js';
|
|
21
21
|
export type { LoadKeyringOptions, CreateOwnerKeyringOptions, RotateKeysOptions, ChangeSecretOptions, } from './keyring.js';
|
|
22
|
-
export { enrollAuthenticator, removeAuthenticator,
|
|
23
|
-
|
|
22
|
+
export { enrollAuthenticator, removeAuthenticator, revokeAuthenticator, // #1445 — the three-step revocation; removeAuthenticator alone only hides
|
|
23
|
+
updateAuthenticator, findAuthenticator, } from './authenticators.js';
|
|
24
|
+
export type { EnrollAuthenticatorOptions, EnrollAuthenticatorWrappingKEKOptions, EnrollAuthenticatorWrappingDEKsOptions, UpdateAuthenticatorOptions, RevokeAuthenticatorOptions, } from './authenticators.js';
|
|
24
25
|
export { rotateSecret, recoverSecret, } from './rotate-recover.js';
|
|
25
26
|
export type { RotateSecretInput, RecoverSecretInput, RecoverSecretResult, RecoveryProof, SlotRewrapContext, SlotRewrapCeremony, } from './rotate-recover.js';
|
|
26
27
|
export { recoverUser } from './peer-recover.js';
|
|
@@ -38,6 +39,6 @@ export { beginEchoUnlock } from './echo-ceremony.js';
|
|
|
38
39
|
export type { BeginEchoUnlockOptions, EchoCeremony } from './echo-ceremony.js';
|
|
39
40
|
export { MemoryDeviceSeal } from './device-seal.js';
|
|
40
41
|
export type { NoydbDeviceSeal } from './device-seal.js';
|
|
41
|
-
export type { EchoSecretParts } from '../../
|
|
42
|
+
export type { EchoSecretParts } from '../../capsule/index.js';
|
|
42
43
|
export type { KeyringEchoBlock, NoydbStore } from '../../kernel/types.js';
|
|
43
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';
|
|
@@ -497,7 +497,7 @@ export interface ListUsersOptions {
|
|
|
497
497
|
* strong as the role the calling layer passes in. The hub-level wrapper
|
|
498
498
|
* on `Vault` sources `callerRole` from the unlocked keyring's `role`
|
|
499
499
|
* field, which is signed-by-construction (it lives in the user's own
|
|
500
|
-
* keyring file). See `https://github.com/
|
|
500
|
+
* keyring file). See `https://github.com/noy-db/docs/blob/main/content/docs/services/user-envelope.md` →
|
|
501
501
|
* "Directory visibility".
|
|
502
502
|
*
|
|
503
503
|
* Principals without a persisted envelope (legacy keyrings predating
|
|
@@ -49,7 +49,7 @@
|
|
|
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. */
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
* - Mandatory strong-recovery enforcement.
|
|
44
44
|
* - Recovery flow under managed mode (generates fresh sealed phrase).
|
|
45
45
|
*
|
|
46
|
-
* @see https://github.com/
|
|
46
|
+
* @see https://github.com/noy-db/docs/blob/main/content/docs/services/session-tiers.md → Managed-secret mode
|
|
47
47
|
*
|
|
48
48
|
* @module
|
|
49
49
|
*/
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* Internal service — reached through `noydb.team.rotateSecret(...)` etc.
|
|
20
20
|
*/
|
|
21
21
|
import type { NoydbOptions, NoydbStore, KeyringAuthenticator } from '../../kernel/types.js';
|
|
22
|
-
import type
|
|
22
|
+
import { type RotateResult, type RotateKeysOptions, type RosterVerifyResult, type QuarantineResult } from './keyring.js';
|
|
23
23
|
import { type RotateSecretInput, type RecoverSecretInput, type RecoverSecretResult, type RotateRecoveryOptions, type RotateRecoveryResult, type EnrollRecoveryResult, type RecoveryEnrollmentInput, type RecoveryProof } from './rotate-recover.js';
|
|
24
24
|
import { type RecoverUserOptions } from './peer-recover.js';
|
|
25
25
|
import { type PaperRecoveryEntry, type ShamirRecoveryEntry } from './recovery.js';
|
|
@@ -92,9 +92,18 @@ export declare class TeamFacade {
|
|
|
92
92
|
*/
|
|
93
93
|
enrollAuthenticator(vault: string, options: EnrollAuthenticatorOptions, factors?: FactorProofBundle): Promise<void>;
|
|
94
94
|
/**
|
|
95
|
-
* Remove a tier-2 authenticator slot. Idempotent — removing a
|
|
96
|
-
*
|
|
95
|
+
* Remove a tier-2 authenticator slot. Idempotent — removing a slot
|
|
96
|
+
* that is not in the keyring is a successful no-op. Gated by
|
|
97
97
|
* `remove-authenticator`.
|
|
98
|
+
*
|
|
99
|
+
* ⚠️ Idempotency needs the slot list to be VISIBLE, and a tier-3
|
|
100
|
+
* PIN-resumed / session-restored keyring carries an empty one
|
|
101
|
+
* (#1426). Such a session throws `ValidationError` rather than
|
|
102
|
+
* reporting a removal it did not perform — re-authenticate at tier 1
|
|
103
|
+
* first.
|
|
104
|
+
*
|
|
105
|
+
* @throws `ValidationError` when the active keyring cannot see its
|
|
106
|
+
* slot list (`kek === null`).
|
|
98
107
|
*/
|
|
99
108
|
removeAuthenticator(vault: string, slotId: string, factors?: FactorProofBundle): Promise<void>;
|
|
100
109
|
/** Read the slot list for a vault. Internal — `describeAuthConfig` consumes this. */
|
|
@@ -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
|
/**
|
|
@@ -39,7 +39,7 @@
|
|
|
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;
|
|
@@ -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';
|
|
@@ -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.
|
|
@@ -113,7 +113,7 @@ export interface NoydbPodHeader {
|
|
|
113
113
|
/** SHA-256 of the compressed body bytes (lowercase hex). Lets readers verify integrity without decompressing. */
|
|
114
114
|
readonly bodySha256: string;
|
|
115
115
|
/**
|
|
116
|
-
* Owner-curated cover (`https://github.com/
|
|
116
|
+
* Owner-curated cover (`https://github.com/noy-db/docs/blob/main/content/docs/services/public-envelope.md`).
|
|
117
117
|
* Optional — present only when the source vault has a
|
|
118
118
|
* `_meta/public-envelope` document AND the writer's hub is opted
|
|
119
119
|
* into the feature. Treat as **untrusted hint**; the body's
|
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';
|
package/dist/with-pod/pod.d.ts
CHANGED
|
@@ -471,7 +471,7 @@ export interface PodVerifyResult {
|
|
|
471
471
|
*/
|
|
472
472
|
export declare function verifyPodHeader(bytes: Uint8Array, trustedKeys: Readonly<Record<string, string>>): Promise<PodVerifyResult>;
|
|
473
473
|
/**
|
|
474
|
-
* Read just the bundle's cover (`https://github.com/
|
|
474
|
+
* Read just the bundle's cover (`https://github.com/noy-db/docs/blob/main/content/docs/services/public-envelope.md`)
|
|
475
475
|
* — without verifying the body or even parsing the dump JSON. Pass
|
|
476
476
|
* the raw bundle bytes; receive the owner-curated metadata or
|
|
477
477
|
* `undefined` if the bundle was written without one.
|
|
@@ -29,8 +29,9 @@
|
|
|
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
|
+
import { type UnreferencedLegacyBlobReport } from './legacy-sweep.js';
|
|
34
35
|
export interface BlobFieldPolicy<T = unknown> {
|
|
35
36
|
/**
|
|
36
37
|
* Via port brand marker — lets a `BlobFieldPolicy` satisfy the kernel's
|
|
@@ -158,6 +159,15 @@ export interface CompactionResult {
|
|
|
158
159
|
* is the expected reading everywhere else.
|
|
159
160
|
*/
|
|
160
161
|
readonly orphanBlobChunks: OrphanChunkReport;
|
|
162
|
+
/**
|
|
163
|
+
* #1453 — legacy (no `_cek`) blobs at `refCount <= 0`: released by every
|
|
164
|
+
* reference-drop path but never reclaimed, because a legacy chunk has no
|
|
165
|
+
* eager shred. Counted on every run; deleted only with
|
|
166
|
+
* `reclaimLegacyBlobs: true`. Not an orphan in the `orphanBlobChunks`
|
|
167
|
+
* sense — these rows keep their index entry, which is exactly why that
|
|
168
|
+
* report could not see them.
|
|
169
|
+
*/
|
|
170
|
+
readonly unreferencedLegacyBlobs: UnreferencedLegacyBlobReport;
|
|
161
171
|
}
|
|
162
172
|
export interface CompactRunOptions {
|
|
163
173
|
/** Override "now" for deterministic testing. */
|
|
@@ -189,6 +199,12 @@ export interface CompactRunOptions {
|
|
|
189
199
|
readonly cacheBudget?: {
|
|
190
200
|
readonly maxBytes: number;
|
|
191
201
|
};
|
|
202
|
+
/**
|
|
203
|
+
* #1453 — reclaim unreferenced legacy blobs (chunks first, then the index
|
|
204
|
+
* row). Off by default: reclaiming is irreversible and the default posture
|
|
205
|
+
* for a maintenance pass is to report. Ignored under `dryRun`.
|
|
206
|
+
*/
|
|
207
|
+
readonly reclaimLegacyBlobs?: boolean;
|
|
192
208
|
}
|
|
193
209
|
export interface CompactionContext {
|
|
194
210
|
readonly adapter: NoydbStore;
|
|
@@ -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
|
/**
|