@noy-db/hub 0.2.0-pre.9 → 0.3.0-pre.10
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/README.md +129 -3
- package/dist/aggregate/index.d.ts +5 -2
- package/dist/aggregate/index.js +25 -16
- package/dist/aggregate/index.js.map +1 -1
- package/dist/api-TX2EX2FX.js +20 -0
- package/dist/as/index.d.ts +6 -0
- package/dist/as/index.js +30 -0
- package/dist/at/index.d.ts +4 -0
- package/dist/at/index.js +1 -0
- package/dist/attestation/index.d.ts +14 -47
- package/dist/attestation/index.js +60 -10
- package/dist/attestation/index.js.map +1 -1
- package/dist/backup-R7NTDFKY.js +225 -0
- package/dist/backup-R7NTDFKY.js.map +1 -0
- package/dist/blobs/index.d.ts +5 -8
- package/dist/blobs/index.js +25 -12
- package/dist/blobs/index.js.map +1 -1
- package/dist/bundle/index.d.ts +15 -70
- package/dist/bundle/index.js +45 -476
- package/dist/bundle/index.js.map +1 -1
- package/dist/{ulid-CJ8RzRrm.d.ts → bundle-D6GxiUfq.d.ts} +31 -86
- package/dist/by/index.d.ts +1 -0
- package/dist/by/index.js +11 -0
- package/dist/cargo/index.d.ts +7 -0
- package/dist/cargo/index.js +95 -0
- package/dist/chunk-2OV5NVE7.js +95 -0
- package/dist/chunk-2OV5NVE7.js.map +1 -0
- package/dist/chunk-2OZXVKVP.js +367 -0
- package/dist/chunk-2OZXVKVP.js.map +1 -0
- package/dist/{chunk-HNRHLRDC.js → chunk-2REPHKET.js} +6 -5
- package/dist/chunk-2REPHKET.js.map +1 -0
- package/dist/{chunk-PE2FR4J3.js → chunk-3JXPAHOZ.js} +17 -17
- package/dist/chunk-3JXPAHOZ.js.map +1 -0
- package/dist/{chunk-H2X3ISXG.js → chunk-3MATJ6O4.js} +7 -7
- package/dist/chunk-3MATJ6O4.js.map +1 -0
- package/dist/{chunk-PP6W64Y3.js → chunk-3OPY6MK2.js} +132 -3
- package/dist/chunk-3OPY6MK2.js.map +1 -0
- package/dist/{chunk-T7JEBOGN.js → chunk-3QSIU3UT.js} +49 -71
- package/dist/chunk-3QSIU3UT.js.map +1 -0
- package/dist/{chunk-ZYWZWG6G.js → chunk-4OMCIY6F.js} +32 -12
- package/dist/chunk-4OMCIY6F.js.map +1 -0
- package/dist/chunk-4Q6HSHHL.js +90 -0
- package/dist/chunk-4Q6HSHHL.js.map +1 -0
- package/dist/chunk-5I35DOHK.js +94 -0
- package/dist/chunk-5I35DOHK.js.map +1 -0
- package/dist/chunk-5VG4IJR7.js +235 -0
- package/dist/chunk-5VG4IJR7.js.map +1 -0
- package/dist/chunk-5YESYH2C.js +155 -0
- package/dist/chunk-5YESYH2C.js.map +1 -0
- package/dist/chunk-6G5ORS5D.js +202 -0
- package/dist/chunk-6G5ORS5D.js.map +1 -0
- package/dist/{chunk-VTKGMEPP.js → chunk-6P5XCKSD.js} +13 -3
- package/dist/chunk-6P5XCKSD.js.map +1 -0
- package/dist/{chunk-J66GRPNH.js → chunk-6S7T6WC4.js} +2 -2
- package/dist/chunk-6S7T6WC4.js.map +1 -0
- package/dist/{chunk-U26HQ6KJ.js → chunk-7BWJHO2A.js} +4 -4
- package/dist/chunk-7BWJHO2A.js.map +1 -0
- package/dist/chunk-7P2SDJG3.js +279 -0
- package/dist/chunk-7P2SDJG3.js.map +1 -0
- package/dist/chunk-ANB77BVV.js +150 -0
- package/dist/chunk-ANB77BVV.js.map +1 -0
- package/dist/chunk-AURFOK3D.js +35 -0
- package/dist/chunk-AURFOK3D.js.map +1 -0
- package/dist/chunk-BKARNZJN.js +382 -0
- package/dist/chunk-BKARNZJN.js.map +1 -0
- package/dist/{chunk-3BFJOWSU.js → chunk-BQISD5ZV.js} +35 -7
- package/dist/chunk-BQISD5ZV.js.map +1 -0
- package/dist/{chunk-2GLDA55J.js → chunk-BUAQ7YI3.js} +260 -135
- package/dist/chunk-BUAQ7YI3.js.map +1 -0
- package/dist/{chunk-2WUSG3IT.js → chunk-CB7CWSKW.js} +5 -5
- package/dist/chunk-CB7CWSKW.js.map +1 -0
- package/dist/chunk-CHFZDSE4.js +1 -0
- package/dist/{aggregate/index.cjs → chunk-DFVUTGT2.js} +206 -222
- package/dist/chunk-DFVUTGT2.js.map +1 -0
- package/dist/chunk-DJ7KIPLV.js +23 -0
- package/dist/chunk-DJ7KIPLV.js.map +1 -0
- package/dist/chunk-DSKDQP3G.js +14066 -0
- package/dist/chunk-DSKDQP3G.js.map +1 -0
- package/dist/{chunk-5T22KDPN.js → chunk-DV4HUP5G.js} +10 -8
- package/dist/chunk-DV4HUP5G.js.map +1 -0
- package/dist/chunk-EOXAAJTY.js +621 -0
- package/dist/chunk-EOXAAJTY.js.map +1 -0
- package/dist/chunk-ET67AY6B.js +74 -0
- package/dist/chunk-ET67AY6B.js.map +1 -0
- package/dist/chunk-F4CEK5YM.js +123 -0
- package/dist/chunk-F4CEK5YM.js.map +1 -0
- package/dist/chunk-FORYWFN6.js +130 -0
- package/dist/chunk-FORYWFN6.js.map +1 -0
- package/dist/{chunk-JWRVQKRZ.js → chunk-FRP6D2DM.js} +21 -20
- package/dist/chunk-FRP6D2DM.js.map +1 -0
- package/dist/chunk-FUOE7UUV.js +341 -0
- package/dist/chunk-FUOE7UUV.js.map +1 -0
- package/dist/chunk-G4JYND6L.js +42 -0
- package/dist/chunk-G4JYND6L.js.map +1 -0
- package/dist/{chunk-53XBRIRT.js → chunk-G6XV4H65.js} +9 -9
- package/dist/chunk-G6XV4H65.js.map +1 -0
- package/dist/chunk-GHVIKOHT.js +1 -0
- package/dist/{chunk-PX35GA7L.js → chunk-GNMXXTMN.js} +11 -9
- package/dist/chunk-GNMXXTMN.js.map +1 -0
- package/dist/chunk-GYGLAVCX.js +19 -0
- package/dist/chunk-GYGLAVCX.js.map +1 -0
- package/dist/chunk-HPWKV3YB.js +21 -0
- package/dist/chunk-HPWKV3YB.js.map +1 -0
- package/dist/chunk-HY3AUMFI.js +41 -0
- package/dist/chunk-HY3AUMFI.js.map +1 -0
- package/dist/chunk-HYR4WZZ3.js +69 -0
- package/dist/chunk-HYR4WZZ3.js.map +1 -0
- package/dist/chunk-I7FD46FF.js +9 -0
- package/dist/chunk-I7FD46FF.js.map +1 -0
- package/dist/{chunk-TFBP23BX.js → chunk-ICXIFFYZ.js} +66 -7
- package/dist/chunk-ICXIFFYZ.js.map +1 -0
- package/dist/{chunk-TV3YZ35S.js → chunk-IGJCYUT5.js} +17 -8
- package/dist/chunk-IGJCYUT5.js.map +1 -0
- package/dist/{chunk-F3GDRNUT.js → chunk-IVLTXX4W.js} +36 -68
- package/dist/chunk-IVLTXX4W.js.map +1 -0
- package/dist/{chunk-DONMZAD2.js → chunk-J4LPNIGK.js} +62 -169
- package/dist/chunk-J4LPNIGK.js.map +1 -0
- package/dist/chunk-JJZ2LW6T.js +36 -0
- package/dist/chunk-JJZ2LW6T.js.map +1 -0
- package/dist/chunk-JK733I5V.js +23 -0
- package/dist/chunk-JK733I5V.js.map +1 -0
- package/dist/{chunk-3YPCK6JX.js → chunk-KJ2BCBTL.js} +181 -422
- package/dist/chunk-KJ2BCBTL.js.map +1 -0
- package/dist/chunk-KNZB6JMR.js +129 -0
- package/dist/chunk-KNZB6JMR.js.map +1 -0
- package/dist/{chunk-OIF6LZUR.js → chunk-KPZS5QAQ.js} +30 -11
- package/dist/chunk-KPZS5QAQ.js.map +1 -0
- package/dist/chunk-LB7FD65R.js +163 -0
- package/dist/chunk-LB7FD65R.js.map +1 -0
- package/dist/{chunk-DO7C2TOG.js → chunk-LEJIKBBB.js} +3 -3
- package/dist/{chunk-DO7C2TOG.js.map → chunk-LEJIKBBB.js.map} +1 -1
- package/dist/{chunk-O3VZPBZG.js → chunk-LL2NIVUR.js} +56 -13
- package/dist/chunk-LL2NIVUR.js.map +1 -0
- package/dist/chunk-LP7BEXCT.js +32 -0
- package/dist/chunk-LP7BEXCT.js.map +1 -0
- package/dist/chunk-MCHVVJIA.js +968 -0
- package/dist/chunk-MCHVVJIA.js.map +1 -0
- package/dist/chunk-NO272T7Q.js +194 -0
- package/dist/chunk-NO272T7Q.js.map +1 -0
- package/dist/{chunk-22DWZL57.js → chunk-NUEQU36L.js} +70 -267
- package/dist/chunk-NUEQU36L.js.map +1 -0
- package/dist/chunk-O45M6LDB.js +38 -0
- package/dist/chunk-O45M6LDB.js.map +1 -0
- package/dist/chunk-OBKWYKYC.js +117 -0
- package/dist/chunk-OBKWYKYC.js.map +1 -0
- package/dist/{chunk-DJHHA6XH.js → chunk-OHHKHSJP.js} +50 -20
- package/dist/chunk-OHHKHSJP.js.map +1 -0
- package/dist/chunk-OT76OZL6.js +45 -0
- package/dist/chunk-OT76OZL6.js.map +1 -0
- package/dist/chunk-OVYRLHPE.js +150 -0
- package/dist/chunk-OVYRLHPE.js.map +1 -0
- package/dist/{chunk-ML236QKC.js → chunk-OXCSVM3B.js} +5 -5
- package/dist/chunk-OXCSVM3B.js.map +1 -0
- package/dist/chunk-P33LUIML.js +205 -0
- package/dist/chunk-P33LUIML.js.map +1 -0
- package/dist/{chunk-DL3HWOQ5.js → chunk-PLS64NCS.js} +10 -8
- package/dist/chunk-PLS64NCS.js.map +1 -0
- package/dist/{chunk-SYMWGEET.js → chunk-PS2NEWEX.js} +3 -3
- package/dist/chunk-PS2NEWEX.js.map +1 -0
- package/dist/chunk-PY4KJPYU.js +9 -0
- package/dist/chunk-PY4KJPYU.js.map +1 -0
- package/dist/chunk-PZ5AY32C.js +10 -0
- package/dist/chunk-QA2KUPCP.js +45 -0
- package/dist/chunk-QA2KUPCP.js.map +1 -0
- package/dist/chunk-QOC3VYL2.js +30 -0
- package/dist/chunk-QOC3VYL2.js.map +1 -0
- package/dist/{chunk-BVRYKATC.js → chunk-QSFOZUYL.js} +62 -34
- package/dist/chunk-QSFOZUYL.js.map +1 -0
- package/dist/chunk-RHK32N73.js +30 -0
- package/dist/chunk-RHK32N73.js.map +1 -0
- package/dist/{chunk-K3DK3NU5.js → chunk-RW3Y22MW.js} +20 -5
- package/dist/chunk-RW3Y22MW.js.map +1 -0
- package/dist/{chunk-B6PB7JLN.js → chunk-S7VFUQM2.js} +541 -6
- package/dist/chunk-S7VFUQM2.js.map +1 -0
- package/dist/chunk-SVLR4POP.js +64 -0
- package/dist/chunk-SVLR4POP.js.map +1 -0
- package/dist/chunk-T7WSLRAU.js +49 -0
- package/dist/chunk-T7WSLRAU.js.map +1 -0
- package/dist/{chunk-WPLVTJ5D.js → chunk-TAKWLZZX.js} +285 -63
- package/dist/chunk-TAKWLZZX.js.map +1 -0
- package/dist/chunk-THNJ3IKU.js +17 -0
- package/dist/chunk-THNJ3IKU.js.map +1 -0
- package/dist/{chunk-XJFLDA7A.js → chunk-TMBXVJKT.js} +9 -6
- package/dist/chunk-TMBXVJKT.js.map +1 -0
- package/dist/chunk-TWKKOM55.js +54 -0
- package/dist/chunk-TWKKOM55.js.map +1 -0
- package/dist/chunk-U3WZCU7E.js +14 -0
- package/dist/chunk-U3WZCU7E.js.map +1 -0
- package/dist/{chunk-Z6FNBOTC.js → chunk-UF362QVH.js} +15 -17
- package/dist/chunk-UF362QVH.js.map +1 -0
- package/dist/chunk-UN4FVIBH.js +135 -0
- package/dist/chunk-UN4FVIBH.js.map +1 -0
- package/dist/chunk-VEAVKDDB.js +29 -0
- package/dist/chunk-VEAVKDDB.js.map +1 -0
- package/dist/chunk-VEPTFUJY.js +29 -0
- package/dist/chunk-VEPTFUJY.js.map +1 -0
- package/dist/chunk-VJV7GKQK.js +662 -0
- package/dist/chunk-VJV7GKQK.js.map +1 -0
- package/dist/{chunk-2QR2PQTT.js → chunk-VQNJ7UZL.js} +5 -3
- package/dist/chunk-VQNJ7UZL.js.map +1 -0
- package/dist/chunk-VQRAIPYF.js +50 -0
- package/dist/chunk-VQRAIPYF.js.map +1 -0
- package/dist/{chunk-DFMLEQZB.js → chunk-VRIYFLBA.js} +5 -10
- package/dist/chunk-VRIYFLBA.js.map +1 -0
- package/dist/chunk-VWM3DAVB.js +265 -0
- package/dist/chunk-VWM3DAVB.js.map +1 -0
- package/dist/{chunk-NONAAENK.js → chunk-VWRRVE6D.js} +11 -4
- package/dist/chunk-VWRRVE6D.js.map +1 -0
- package/dist/chunk-VYYM3MEN.js +98 -0
- package/dist/chunk-VYYM3MEN.js.map +1 -0
- package/dist/chunk-WBJIQSLL.js +167 -0
- package/dist/chunk-WBJIQSLL.js.map +1 -0
- package/dist/chunk-WIGQB62E.js +164 -0
- package/dist/chunk-WIGQB62E.js.map +1 -0
- package/dist/{chunk-EMIGCR7X.js → chunk-WXSYDNBT.js} +2 -2
- package/dist/chunk-WXSYDNBT.js.map +1 -0
- package/dist/chunk-WZSCE6RM.js +466 -0
- package/dist/chunk-WZSCE6RM.js.map +1 -0
- package/dist/chunk-XGDAPN6M.js +255 -0
- package/dist/chunk-XGDAPN6M.js.map +1 -0
- package/dist/{chunk-QODLLGQ7.js → chunk-XH7XP3OL.js} +372 -37
- package/dist/chunk-XH7XP3OL.js.map +1 -0
- package/dist/chunk-XREOISSI.js +40 -0
- package/dist/chunk-XREOISSI.js.map +1 -0
- package/dist/chunk-XUBPSPKD.js +164 -0
- package/dist/chunk-XUBPSPKD.js.map +1 -0
- package/dist/chunk-Y3A5CB5G.js +247 -0
- package/dist/chunk-Y3A5CB5G.js.map +1 -0
- package/dist/{chunk-I5FOWO4J.js → chunk-YCXCR7VG.js} +52 -73
- package/dist/chunk-YCXCR7VG.js.map +1 -0
- package/dist/{chunk-A3JMGXPG.js → chunk-YMUGBZN2.js} +2 -2
- package/dist/chunk-YMUGBZN2.js.map +1 -0
- package/dist/chunk-YMVQD5Q5.js +453 -0
- package/dist/chunk-YMVQD5Q5.js.map +1 -0
- package/dist/chunk-YN5IAHN6.js +32 -0
- package/dist/chunk-YN5IAHN6.js.map +1 -0
- package/dist/{chunk-FZU343FL.js → chunk-ZJADGNYF.js} +2 -2
- package/dist/chunk-ZJADGNYF.js.map +1 -0
- package/dist/chunk-ZYJ55N7N.js +86 -0
- package/dist/chunk-ZYJ55N7N.js.map +1 -0
- package/dist/classified/index.d.ts +16 -0
- package/dist/classified/index.js +40 -0
- package/dist/classified-marker-H6YSHYNK.js +24 -0
- package/dist/classified-marker-H6YSHYNK.js.map +1 -0
- package/dist/collection-facade-LVD22JLM.js +39 -0
- package/dist/computed-EXDMQODG.js +11 -0
- package/dist/consent/index.d.ts +4 -7
- package/dist/consent/index.js +13 -5
- package/dist/consent/index.js.map +1 -1
- package/dist/crdt/index.d.ts +5 -2
- package/dist/crdt/index.js +3 -2
- package/dist/crdt/index.js.map +1 -1
- package/dist/dead-filter-HQIE2YG7.js +28 -0
- package/dist/dead-filter-HQIE2YG7.js.map +1 -0
- package/dist/decrypt-partition-IHtxEnTi.d.ts +21 -0
- package/dist/delegation-BJP73GAP.js +25 -0
- package/dist/derivations/index.d.ts +6 -9
- package/dist/derivations/index.js +18 -6
- package/dist/derive-BME7HDWO.js +21 -0
- package/dist/{dev-unlock-B4kDxep_.d.ts → dev-unlock-Bmm2pgJ0.d.ts} +1 -1
- package/dist/discriminant-BN9REW3o.d.ts +60 -0
- package/dist/enclave-NHORSWSF.js +125 -0
- package/dist/executor-FE6X4LFX.js +9 -0
- package/dist/executor-KSHKRJXP.js +25 -0
- package/dist/executor-ZHTJJICG.js +9 -0
- package/dist/export-accessible-DACHM5VT.js +23 -0
- package/dist/extract-partition-RNENZZ4T.js +36 -0
- package/dist/fanout-sidecar-OFWN3NM7.js +74 -0
- package/dist/fanout-sidecar-OFWN3NM7.js.map +1 -0
- package/dist/fence-watcher-DHQ775JB.js +69 -0
- package/dist/fence-watcher-DHQ775JB.js.map +1 -0
- package/dist/find-BNGBJNKP.js +11 -0
- package/dist/forget/index.d.ts +36 -0
- package/dist/forget/index.js +25 -0
- package/dist/forget/index.js.map +1 -0
- package/dist/guards/index.d.ts +12 -9
- package/dist/guards/index.js +12 -5
- package/dist/{hash-DdpVypUp.d.cts → hash-DAJjMsCE.d.ts} +10 -1
- package/dist/history/index.d.ts +5 -8
- package/dist/history/index.js +25 -12
- package/dist/history/index.js.map +1 -1
- package/dist/i18n/index.d.ts +25 -8
- package/dist/i18n/index.js +137 -29
- package/dist/i18n/index.js.map +1 -1
- package/dist/in/index.d.ts +4 -0
- package/dist/in/index.js +1 -0
- package/dist/in/index.js.map +1 -0
- package/dist/index-B9QdHytu.d.ts +123 -0
- package/dist/index-DjWbxsjb.d.ts +23579 -0
- package/dist/index-qwuNvO2B.d.ts +144 -0
- package/dist/index.d.ts +1179 -449
- package/dist/index.js +2524 -312
- package/dist/index.js.map +1 -1
- package/dist/indexing/index.d.ts +5 -3
- package/dist/indexing/index.js +6 -5
- package/dist/indexing/index.js.map +1 -1
- package/dist/issue-NDI4CVZU.js +19 -0
- package/dist/issue-NDI4CVZU.js.map +1 -0
- package/dist/json-schema-I22JCYCG.js +44 -0
- package/dist/json-schema-I22JCYCG.js.map +1 -0
- package/dist/lazy/index.d.ts +20 -0
- package/dist/lazy/index.js +12 -0
- package/dist/lazy/index.js.map +1 -0
- package/dist/ledger-6NDS2EO4.js +42 -0
- package/dist/ledger-6NDS2EO4.js.map +1 -0
- package/dist/liberate-HN3RIGIP.js +24 -0
- package/dist/liberate-HN3RIGIP.js.map +1 -0
- package/dist/link-set-SJB2MVJV.js +31 -0
- package/dist/link-set-SJB2MVJV.js.map +1 -0
- package/dist/materialized-views/index.d.ts +23 -20
- package/dist/materialized-views/index.js +26 -12
- package/dist/mime-magic-bBj5OgUC.d.ts +103 -0
- package/dist/noydb-BWF6EPIR.js +66 -0
- package/dist/noydb-BWF6EPIR.js.map +1 -0
- package/dist/on/index.d.ts +4 -0
- package/dist/on/index.js +17 -0
- package/dist/on/index.js.map +1 -0
- package/dist/overlay-views/index.d.ts +26 -11
- package/dist/overlay-views/index.js +7 -6
- package/dist/periods/index.d.ts +4 -7
- package/dist/periods/index.js +27 -9
- package/dist/pod/index.d.ts +62 -0
- package/dist/pod/index.js +67 -0
- package/dist/pod/index.js.map +1 -0
- package/dist/policy-WGNAG5H6.js +41 -0
- package/dist/policy-WGNAG5H6.js.map +1 -0
- package/dist/portability/index.d.ts +19 -0
- package/dist/portability/index.js +43 -0
- package/dist/portability/index.js.map +1 -0
- package/dist/post-register-CWKBQRC7.js +55 -0
- package/dist/post-register-CWKBQRC7.js.map +1 -0
- package/dist/{public-envelope-BW6OXORV.js → public-envelope-EJLVIFX7.js} +6 -5
- package/dist/public-envelope-EJLVIFX7.js.map +1 -0
- package/dist/query/index.d.ts +4 -3
- package/dist/query/index.js +24 -13
- package/dist/read-only-facade-CHCKSEPD.js +8 -0
- package/dist/read-only-facade-CHCKSEPD.js.map +1 -0
- package/dist/register-SBIX7TVV.js +23 -0
- package/dist/register-SBIX7TVV.js.map +1 -0
- package/dist/registry-3EQG6OOE.js +18 -0
- package/dist/registry-3EQG6OOE.js.map +1 -0
- package/dist/registry-CA327ACV.js +9 -0
- package/dist/registry-CA327ACV.js.map +1 -0
- package/dist/registry-E7OXOTSV.js +19 -0
- package/dist/registry-E7OXOTSV.js.map +1 -0
- package/dist/registry-VW6P6A3J.js +8 -0
- package/dist/registry-VW6P6A3J.js.map +1 -0
- package/dist/request-withdrawal-KAH2AAXC.js +31 -0
- package/dist/request-withdrawal-KAH2AAXC.js.map +1 -0
- package/dist/reveal-R3JLHMUF.js +38 -0
- package/dist/reveal-R3JLHMUF.js.map +1 -0
- package/dist/revoke-IXLOJ3IH.js +24 -0
- package/dist/revoke-IXLOJ3IH.js.map +1 -0
- package/dist/satellites/index.d.ts +4 -0
- package/dist/satellites/index.js +8 -0
- package/dist/satellites/index.js.map +1 -0
- package/dist/sealed-record/index.d.ts +68 -0
- package/dist/sealed-record/index.js +71 -0
- package/dist/sealed-record/index.js.map +1 -0
- package/dist/session/index.d.ts +5 -8
- package/dist/session/index.js +13 -5
- package/dist/session/index.js.map +1 -1
- package/dist/shadow/index.d.ts +4 -7
- package/dist/shadow/index.js +4 -3
- package/dist/shadow/index.js.map +1 -1
- package/dist/signer-Y46N2GJ3.js +25 -0
- package/dist/signer-Y46N2GJ3.js.map +1 -0
- package/dist/snapshots/index.d.ts +5 -8
- package/dist/snapshots/index.js +19 -11
- package/dist/snapshots/index.js.map +1 -1
- package/dist/{stale-6ZDBTQT7.js → stale-Z7IW6RIL.js} +3 -2
- package/dist/stale-Z7IW6RIL.js.map +1 -0
- package/dist/storage-ADNP2UWI.js +23 -0
- package/dist/storage-ADNP2UWI.js.map +1 -0
- package/dist/store-coordination-provider-DTDMI6VL.js +142 -0
- package/dist/store-coordination-provider-DTDMI6VL.js.map +1 -0
- package/dist/subject-index-CyOgGMJL.d.ts +380 -0
- package/dist/sync/index.d.ts +3 -6
- package/dist/sync/index.js +13 -6
- package/dist/sync/index.js.map +1 -1
- package/dist/team/index.d.ts +46 -10
- package/dist/team/index.js +35 -18
- package/dist/tiers/index.d.ts +4 -0
- package/dist/tiers/index.js +39 -0
- package/dist/tiers/index.js.map +1 -0
- package/dist/to/index.d.ts +4 -0
- package/dist/to/index.js +16 -0
- package/dist/to/index.js.map +1 -0
- package/dist/transition-guard-DI-krBsZ.d.ts +165 -0
- package/dist/tx/index.d.ts +22 -9
- package/dist/tx/index.js +13 -8
- package/dist/tx/index.js.map +1 -1
- package/dist/ui/index.d.ts +4 -0
- package/dist/ui/index.js +1 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ulid-DRH25k3y.d.ts +66 -0
- package/dist/ulid-PTAIMDG4.js +10 -0
- package/dist/ulid-PTAIMDG4.js.map +1 -0
- package/dist/util/index.d.ts +2 -0
- package/dist/util/index.js +7 -2
- package/dist/util/index.js.map +1 -1
- package/dist/validators-BUcli5Nh.d.ts +101 -0
- package/dist/vault-diff-Z2DUayMe.d.ts +147 -0
- package/dist/verify-JPF2YR5E.js +139 -0
- package/dist/verify-JPF2YR5E.js.map +1 -0
- package/dist/walk-XYA2O3LW.js +241 -0
- package/dist/walk-XYA2O3LW.js.map +1 -0
- package/dist/with/index.d.ts +37 -0
- package/dist/with/index.js +31 -0
- package/dist/with/index.js.map +1 -0
- package/dist/{with-materialized-view-BLkQxoQN.d.ts → with-materialized-view-BUmzlXue.d.ts} +1 -1
- package/dist/{with-overlayed-view-CRsSEwHR.d.ts → with-overlayed-view-m4FaXXTO.d.ts} +2 -3
- package/dist/with-rollup-DEKGI9vb.d.ts +47 -0
- package/dist/withdraw-accessible-WLV4MTEN.js +28 -0
- package/dist/withdraw-accessible-WLV4MTEN.js.map +1 -0
- package/dist/zod-HAJM7LMS.js +14763 -0
- package/dist/zod-HAJM7LMS.js.map +1 -0
- package/package.json +122 -202
- package/dist/aggregate/index.cjs.map +0 -1
- package/dist/aggregate/index.d.cts +0 -38
- package/dist/attestation/index.cjs +0 -305
- package/dist/attestation/index.cjs.map +0 -1
- package/dist/attestation/index.d.cts +0 -52
- package/dist/blobs/index.cjs +0 -1480
- package/dist/blobs/index.cjs.map +0 -1
- package/dist/blobs/index.d.cts +0 -46
- package/dist/bundle/index.cjs +0 -19264
- package/dist/bundle/index.cjs.map +0 -1
- package/dist/bundle/index.d.cts +0 -176
- package/dist/chunk-22DWZL57.js.map +0 -1
- package/dist/chunk-2GLDA55J.js.map +0 -1
- package/dist/chunk-2QR2PQTT.js.map +0 -1
- package/dist/chunk-2WUSG3IT.js.map +0 -1
- package/dist/chunk-3BFJOWSU.js.map +0 -1
- package/dist/chunk-3YPCK6JX.js.map +0 -1
- package/dist/chunk-53XBRIRT.js.map +0 -1
- package/dist/chunk-5T22KDPN.js.map +0 -1
- package/dist/chunk-5XHKQ56N.js +0 -340
- package/dist/chunk-5XHKQ56N.js.map +0 -1
- package/dist/chunk-6CME4UEK.js +0 -10329
- package/dist/chunk-6CME4UEK.js.map +0 -1
- package/dist/chunk-6STK5TQP.js +0 -139
- package/dist/chunk-6STK5TQP.js.map +0 -1
- package/dist/chunk-A3JMGXPG.js.map +0 -1
- package/dist/chunk-B6PB7JLN.js.map +0 -1
- package/dist/chunk-BVRYKATC.js.map +0 -1
- package/dist/chunk-DE6GKS6G.js +0 -79
- package/dist/chunk-DE6GKS6G.js.map +0 -1
- package/dist/chunk-DFMLEQZB.js.map +0 -1
- package/dist/chunk-DJHHA6XH.js.map +0 -1
- package/dist/chunk-DL3HWOQ5.js.map +0 -1
- package/dist/chunk-DONMZAD2.js.map +0 -1
- package/dist/chunk-EMIGCR7X.js.map +0 -1
- package/dist/chunk-F3GDRNUT.js.map +0 -1
- package/dist/chunk-FZU343FL.js.map +0 -1
- package/dist/chunk-H2X3ISXG.js.map +0 -1
- package/dist/chunk-HNRHLRDC.js.map +0 -1
- package/dist/chunk-I5FOWO4J.js.map +0 -1
- package/dist/chunk-J66GRPNH.js.map +0 -1
- package/dist/chunk-JWRVQKRZ.js.map +0 -1
- package/dist/chunk-K3DK3NU5.js.map +0 -1
- package/dist/chunk-ML236QKC.js.map +0 -1
- package/dist/chunk-NONAAENK.js.map +0 -1
- package/dist/chunk-O3VZPBZG.js.map +0 -1
- package/dist/chunk-OIF6LZUR.js.map +0 -1
- package/dist/chunk-OQ6PIGHA.js +0 -19
- package/dist/chunk-OQ6PIGHA.js.map +0 -1
- package/dist/chunk-PE2FR4J3.js.map +0 -1
- package/dist/chunk-PP6W64Y3.js.map +0 -1
- package/dist/chunk-PX35GA7L.js.map +0 -1
- package/dist/chunk-QEILDE6R.js +0 -793
- package/dist/chunk-QEILDE6R.js.map +0 -1
- package/dist/chunk-QODLLGQ7.js.map +0 -1
- package/dist/chunk-RAZ4OVLL.js +0 -51
- package/dist/chunk-RAZ4OVLL.js.map +0 -1
- package/dist/chunk-SYMWGEET.js.map +0 -1
- package/dist/chunk-T7JEBOGN.js.map +0 -1
- package/dist/chunk-TFBP23BX.js.map +0 -1
- package/dist/chunk-TV3YZ35S.js.map +0 -1
- package/dist/chunk-U26HQ6KJ.js.map +0 -1
- package/dist/chunk-UF3BUNQZ.js +0 -1
- package/dist/chunk-UMLVJTYV.js +0 -20
- package/dist/chunk-UMLVJTYV.js.map +0 -1
- package/dist/chunk-VTKGMEPP.js.map +0 -1
- package/dist/chunk-W6EQLGMB.js +0 -100
- package/dist/chunk-W6EQLGMB.js.map +0 -1
- package/dist/chunk-WIRRPTFH.js +0 -17
- package/dist/chunk-WIRRPTFH.js.map +0 -1
- package/dist/chunk-WPLVTJ5D.js.map +0 -1
- package/dist/chunk-XJFLDA7A.js.map +0 -1
- package/dist/chunk-Z6FNBOTC.js.map +0 -1
- package/dist/chunk-ZYWZWG6G.js.map +0 -1
- package/dist/consent/index.cjs +0 -204
- package/dist/consent/index.cjs.map +0 -1
- package/dist/consent/index.d.cts +0 -25
- package/dist/crdt/index.cjs +0 -152
- package/dist/crdt/index.cjs.map +0 -1
- package/dist/crdt/index.d.cts +0 -30
- package/dist/crypto-HTZ4FJOP.js +0 -44
- package/dist/delegation-RI54P6I5.js +0 -17
- package/dist/derivations/index.cjs +0 -351
- package/dist/derivations/index.cjs.map +0 -1
- package/dist/derivations/index.d.cts +0 -72
- package/dist/dev-unlock-BIoEFbwm.d.cts +0 -263
- package/dist/executor-5PNY7LGW.js +0 -8
- package/dist/executor-B4QIYGZX.js +0 -8
- package/dist/executor-BWXXDQ7K.js +0 -11
- package/dist/fanout-sidecar-OKPMMPLG.js +0 -51
- package/dist/fanout-sidecar-OKPMMPLG.js.map +0 -1
- package/dist/guards/index.cjs +0 -322
- package/dist/guards/index.cjs.map +0 -1
- package/dist/guards/index.d.cts +0 -31
- package/dist/hash-HJqD14vS.d.ts +0 -63
- package/dist/history/index.cjs +0 -1222
- package/dist/history/index.cjs.map +0 -1
- package/dist/history/index.d.cts +0 -63
- package/dist/i18n/index.cjs +0 -1100
- package/dist/i18n/index.cjs.map +0 -1
- package/dist/i18n/index.d.cts +0 -39
- package/dist/index-4fBVt8j9.d.cts +0 -2387
- package/dist/index-D8I_pyJD.d.ts +0 -2387
- package/dist/index.cjs +0 -24487
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -776
- package/dist/indexing/index.cjs +0 -742
- package/dist/indexing/index.cjs.map +0 -1
- package/dist/indexing/index.d.cts +0 -36
- package/dist/issue-VGDPP4B5.js +0 -12
- package/dist/lazy-builder-7tIpFyWN.d.ts +0 -304
- package/dist/lazy-builder-wY4pMCEe.d.cts +0 -304
- package/dist/ledger-TMRZYNVJ.js +0 -33
- package/dist/materialized-views/index.cjs +0 -854
- package/dist/materialized-views/index.cjs.map +0 -1
- package/dist/materialized-views/index.d.cts +0 -186
- package/dist/mime-magic-CBBSOkjm.d.cts +0 -50
- package/dist/mime-magic-CBBSOkjm.d.ts +0 -50
- package/dist/noydb-G725ZSZG.js +0 -34
- package/dist/overlay-views/index.cjs +0 -359
- package/dist/overlay-views/index.cjs.map +0 -1
- package/dist/overlay-views/index.d.cts +0 -82
- package/dist/periods/index.cjs +0 -1041
- package/dist/periods/index.cjs.map +0 -1
- package/dist/periods/index.d.cts +0 -22
- package/dist/predicate-BSAGEyu5.d.cts +0 -209
- package/dist/predicate-BSAGEyu5.d.ts +0 -209
- package/dist/query/index.cjs +0 -2375
- package/dist/query/index.cjs.map +0 -1
- package/dist/query/index.d.cts +0 -3
- package/dist/read-only-facade-ITU6L7BL.js +0 -7
- package/dist/registry-3QP3YKQS.js +0 -8
- package/dist/registry-DKEXOJVO.js +0 -7
- package/dist/registry-OJIOSBV6.js +0 -10
- package/dist/registry-USRVT6YF.js +0 -8
- package/dist/revoke-JCC7N56X.js +0 -17
- package/dist/session/index.cjs +0 -495
- package/dist/session/index.cjs.map +0 -1
- package/dist/session/index.d.cts +0 -46
- package/dist/shadow/index.cjs +0 -133
- package/dist/shadow/index.cjs.map +0 -1
- package/dist/shadow/index.d.cts +0 -17
- package/dist/signer-72QAUSVW.js +0 -18
- package/dist/snapshots/index.cjs +0 -937
- package/dist/snapshots/index.cjs.map +0 -1
- package/dist/snapshots/index.d.cts +0 -28
- package/dist/store/index.cjs +0 -1083
- package/dist/store/index.cjs.map +0 -1
- package/dist/store/index.d.cts +0 -492
- package/dist/store/index.d.ts +0 -492
- package/dist/store/index.js +0 -37
- package/dist/strategy-BSxFXGzb.d.cts +0 -110
- package/dist/strategy-BSxFXGzb.d.ts +0 -110
- package/dist/strategy-DSTrsZ8t.d.cts +0 -601
- package/dist/strategy-DSTrsZ8t.d.ts +0 -601
- package/dist/sync/index.cjs +0 -1062
- package/dist/sync/index.cjs.map +0 -1
- package/dist/sync/index.d.cts +0 -43
- package/dist/team/index.cjs +0 -2798
- package/dist/team/index.cjs.map +0 -1
- package/dist/team/index.d.cts +0 -118
- package/dist/tx/index.cjs +0 -544
- package/dist/tx/index.cjs.map +0 -1
- package/dist/tx/index.d.cts +0 -21
- package/dist/types-Df28QFKb.d.ts +0 -12818
- package/dist/types-DyXYr8rE.d.cts +0 -12818
- package/dist/ulid-COREQ2RQ.js +0 -9
- package/dist/ulid-Drr7ykr6.d.cts +0 -603
- package/dist/util/index.cjs +0 -230
- package/dist/util/index.cjs.map +0 -1
- package/dist/util/index.d.cts +0 -77
- package/dist/with-derivation-DFnFByiQ.d.ts +0 -13
- package/dist/with-derivation-DU3Sjazm.d.cts +0 -13
- package/dist/with-guard-ByyxmEe7.d.cts +0 -18
- package/dist/with-guard-qube6BMI.d.ts +0 -18
- package/dist/with-materialized-view-BmEToIR1.d.cts +0 -27
- package/dist/with-overlayed-view-BMsQQbWm.d.cts +0 -13
- /package/dist/{chunk-UF3BUNQZ.js.map → api-TX2EX2FX.js.map} +0 -0
- /package/dist/{store → as}/index.js.map +0 -0
- /package/dist/{crypto-HTZ4FJOP.js.map → at/index.js.map} +0 -0
- /package/dist/{delegation-RI54P6I5.js.map → by/index.js.map} +0 -0
- /package/dist/{executor-5PNY7LGW.js.map → cargo/index.js.map} +0 -0
- /package/dist/{executor-B4QIYGZX.js.map → chunk-CHFZDSE4.js.map} +0 -0
- /package/dist/{executor-BWXXDQ7K.js.map → chunk-GHVIKOHT.js.map} +0 -0
- /package/dist/{issue-VGDPP4B5.js.map → chunk-PZ5AY32C.js.map} +0 -0
- /package/dist/{ledger-TMRZYNVJ.js.map → classified/index.js.map} +0 -0
- /package/dist/{noydb-G725ZSZG.js.map → collection-facade-LVD22JLM.js.map} +0 -0
- /package/dist/{public-envelope-BW6OXORV.js.map → computed-EXDMQODG.js.map} +0 -0
- /package/dist/{read-only-facade-ITU6L7BL.js.map → delegation-BJP73GAP.js.map} +0 -0
- /package/dist/{registry-3QP3YKQS.js.map → derive-BME7HDWO.js.map} +0 -0
- /package/dist/{registry-DKEXOJVO.js.map → enclave-NHORSWSF.js.map} +0 -0
- /package/dist/{registry-OJIOSBV6.js.map → executor-FE6X4LFX.js.map} +0 -0
- /package/dist/{registry-USRVT6YF.js.map → executor-KSHKRJXP.js.map} +0 -0
- /package/dist/{revoke-JCC7N56X.js.map → executor-ZHTJJICG.js.map} +0 -0
- /package/dist/{signer-72QAUSVW.js.map → export-accessible-DACHM5VT.js.map} +0 -0
- /package/dist/{stale-6ZDBTQT7.js.map → extract-partition-RNENZZ4T.js.map} +0 -0
- /package/dist/{ulid-COREQ2RQ.js.map → find-BNGBJNKP.js.map} +0 -0
|
@@ -1,365 +1,151 @@
|
|
|
1
|
+
import {
|
|
2
|
+
burnPaperRecoveryEntry,
|
|
3
|
+
loadPaperRecoveryEntries,
|
|
4
|
+
loadShamirRecoveryEntries,
|
|
5
|
+
unwrapDeksFromPaperEntry,
|
|
6
|
+
unwrapDeksFromShamirEntry
|
|
7
|
+
} from "./chunk-P33LUIML.js";
|
|
1
8
|
import {
|
|
2
9
|
dekKey
|
|
3
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-7BWJHO2A.js";
|
|
4
11
|
import {
|
|
5
12
|
assertStrongPassphrase,
|
|
6
13
|
mintKeyringCanary,
|
|
7
14
|
persistKeyring
|
|
8
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-J4LPNIGK.js";
|
|
9
16
|
import {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
} from "./chunk-WIRRPTFH.js";
|
|
17
|
+
openEnvelopeJson
|
|
18
|
+
} from "./chunk-MCHVVJIA.js";
|
|
13
19
|
import {
|
|
14
20
|
base64ToBuffer,
|
|
15
21
|
bufferToBase64,
|
|
16
|
-
decrypt,
|
|
17
22
|
deriveKey,
|
|
18
23
|
encrypt,
|
|
19
24
|
generateSalt,
|
|
20
25
|
unwrapKey,
|
|
21
26
|
wrapKey
|
|
22
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-3OPY6MK2.js";
|
|
28
|
+
import {
|
|
29
|
+
NOYDB_KEYRING_VERSION
|
|
30
|
+
} from "./chunk-YN5IAHN6.js";
|
|
23
31
|
import {
|
|
24
32
|
DelegationTargetMissingError,
|
|
25
33
|
InvalidKeyError,
|
|
26
34
|
NoAccessError,
|
|
27
|
-
NoydbError,
|
|
28
35
|
PermissionDeniedError,
|
|
29
36
|
PrivilegeEscalationError,
|
|
37
|
+
RecoveryProfileNotImplementedError,
|
|
38
|
+
TeamNotEnabledError,
|
|
30
39
|
ValidationError
|
|
31
|
-
} from "./chunk-
|
|
32
|
-
|
|
33
|
-
// src/team/authenticators.ts
|
|
34
|
-
async function enrollAuthenticator(store, vault, keyring, options) {
|
|
35
|
-
const existing = keyring.authenticators.find((a) => a.id === options.id);
|
|
36
|
-
if (existing) {
|
|
37
|
-
throw new ValidationError(
|
|
38
|
-
`enrollAuthenticator: slot id "${options.id}" already exists in vault "${vault}". Remove the slot first or pick a unique id.`
|
|
39
|
-
);
|
|
40
|
-
}
|
|
41
|
-
const base = {
|
|
42
|
-
id: options.id,
|
|
43
|
-
method: options.method,
|
|
44
|
-
enrolled_at: (/* @__PURE__ */ new Date()).toISOString(),
|
|
45
|
-
enrolled_via_tier: options.enrolled_via_tier ?? 1,
|
|
46
|
-
meta: options.meta
|
|
47
|
-
};
|
|
48
|
-
const slot = options.wrapKind === "deks" ? {
|
|
49
|
-
...base,
|
|
50
|
-
wrapKind: "deks",
|
|
51
|
-
wrapped_deks: options.wrapped_deks,
|
|
52
|
-
iv: options.iv
|
|
53
|
-
} : {
|
|
54
|
-
...base,
|
|
55
|
-
wrapped_kek: options.wrapped_kek
|
|
56
|
-
};
|
|
57
|
-
const next = appendSlot(keyring, slot);
|
|
58
|
-
await persistKeyring(store, vault, next);
|
|
59
|
-
return next;
|
|
60
|
-
}
|
|
61
|
-
async function updateAuthenticator(store, vault, keyring, slotId, options) {
|
|
62
|
-
if (options.meta === void 0) {
|
|
63
|
-
throw new ValidationError(
|
|
64
|
-
`updateAuthenticator: at least one of meta must be provided (slotId: "${slotId}").`
|
|
65
|
-
);
|
|
66
|
-
}
|
|
67
|
-
const idx = keyring.authenticators.findIndex((a) => a.id === slotId);
|
|
68
|
-
if (idx === -1) {
|
|
69
|
-
throw new NoAccessError(
|
|
70
|
-
`updateAuthenticator: slot "${slotId}" not found in vault "${vault}".`
|
|
71
|
-
);
|
|
72
|
-
}
|
|
73
|
-
const existing = keyring.authenticators[idx];
|
|
74
|
-
const mergedMeta = { ...existing.meta };
|
|
75
|
-
for (const [k, v] of Object.entries(options.meta)) {
|
|
76
|
-
if (v === void 0) continue;
|
|
77
|
-
if (v === null) {
|
|
78
|
-
delete mergedMeta[k];
|
|
79
|
-
continue;
|
|
80
|
-
}
|
|
81
|
-
mergedMeta[k] = v;
|
|
82
|
-
}
|
|
83
|
-
const next = { ...existing, meta: mergedMeta };
|
|
84
|
-
const nextSlots = [...keyring.authenticators];
|
|
85
|
-
nextSlots[idx] = next;
|
|
86
|
-
const nextKeyring = {
|
|
87
|
-
...keyring,
|
|
88
|
-
authenticators: nextSlots
|
|
89
|
-
};
|
|
90
|
-
await persistKeyring(store, vault, nextKeyring);
|
|
91
|
-
return nextKeyring;
|
|
92
|
-
}
|
|
93
|
-
async function removeAuthenticator(store, vault, keyring, slotId) {
|
|
94
|
-
const filtered = keyring.authenticators.filter((a) => a.id !== slotId);
|
|
95
|
-
if (filtered.length === keyring.authenticators.length) {
|
|
96
|
-
return keyring;
|
|
97
|
-
}
|
|
98
|
-
const next = {
|
|
99
|
-
...keyring,
|
|
100
|
-
authenticators: filtered
|
|
101
|
-
};
|
|
102
|
-
await persistKeyring(store, vault, next);
|
|
103
|
-
return next;
|
|
104
|
-
}
|
|
105
|
-
function findAuthenticator(keyring, slotId) {
|
|
106
|
-
return keyring.authenticators.find((a) => a.id === slotId);
|
|
107
|
-
}
|
|
108
|
-
function appendSlot(keyring, slot) {
|
|
109
|
-
return {
|
|
110
|
-
...keyring,
|
|
111
|
-
authenticators: [...keyring.authenticators, slot]
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
// src/policy/errors.ts
|
|
116
|
-
var PolicyDeniedError = class extends NoydbError {
|
|
117
|
-
gate;
|
|
118
|
-
reason;
|
|
119
|
-
required;
|
|
120
|
-
constructor(gate, reason, required, message) {
|
|
121
|
-
super(
|
|
122
|
-
"POLICY_DENIED",
|
|
123
|
-
message ?? `Gate "${gate}" denied: ${reason}.`
|
|
124
|
-
);
|
|
125
|
-
this.name = "PolicyDeniedError";
|
|
126
|
-
this.gate = gate;
|
|
127
|
-
this.reason = reason;
|
|
128
|
-
this.required = required;
|
|
129
|
-
}
|
|
130
|
-
};
|
|
131
|
-
var RecoveryNotEnrolledError = class extends NoydbError {
|
|
132
|
-
constructor(message = 'Recovery profile not enrolled. Pass `recovery: [{ profile: "paper", codes: 10 }]` to `createNoydb()`, or set `policy.gates["recover-passphrase"].enabled = false` to opt out of recovery (passphrase loss = data loss). See docs/subsystems/session-tiers.md.') {
|
|
133
|
-
super("RECOVERY_NOT_ENROLLED", message);
|
|
134
|
-
this.name = "RecoveryNotEnrolledError";
|
|
135
|
-
}
|
|
136
|
-
};
|
|
137
|
-
var ManagedRecoveryNotEnrolledError = class extends NoydbError {
|
|
138
|
-
vault;
|
|
139
|
-
constructor(vault) {
|
|
140
|
-
super(
|
|
141
|
-
"MANAGED_RECOVERY_NOT_ENROLLED",
|
|
142
|
-
`Managed-mode vault "${vault}" requires at least one strong recovery profile (Shamir today; multi-channel / admin-mediated when they ship). Paper alone is NOT strong under managed mode \u2014 losing the paper sheet would mean losing every record permanently. Bootstrap with \`db.openVaultAndEnrollRecovery("${vault}", { recovery: [{ profile: "shamir", k: 2, n: 3 }] })\`, or call \`db.enrollRecovery(vault, { profile: "shamir", k, n })\` separately, then re-attempt \`openVault\`.`
|
|
143
|
-
);
|
|
144
|
-
this.name = "ManagedRecoveryNotEnrolledError";
|
|
145
|
-
this.vault = vault;
|
|
146
|
-
}
|
|
147
|
-
};
|
|
148
|
-
var RecoveryProfileNotImplementedError = class extends NoydbError {
|
|
149
|
-
profile;
|
|
150
|
-
tracking;
|
|
151
|
-
constructor(profile, tracking) {
|
|
152
|
-
super(
|
|
153
|
-
"RECOVERY_PROFILE_NOT_IMPLEMENTED",
|
|
154
|
-
`Recovery profile "${profile}" is not yet implemented in this hub release. Tracking: ${tracking}. Use the "paper" profile via @noy-db/on-recovery in the meantime.`
|
|
155
|
-
);
|
|
156
|
-
this.name = "RecoveryProfileNotImplementedError";
|
|
157
|
-
this.profile = profile;
|
|
158
|
-
this.tracking = tracking;
|
|
159
|
-
}
|
|
160
|
-
};
|
|
40
|
+
} from "./chunk-S7VFUQM2.js";
|
|
161
41
|
|
|
162
|
-
// src/team/
|
|
163
|
-
var
|
|
164
|
-
var
|
|
165
|
-
var
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
const
|
|
169
|
-
const
|
|
170
|
-
const
|
|
171
|
-
const
|
|
172
|
-
|
|
173
|
-
const raw = await subtle.exportKey("raw", dek);
|
|
174
|
-
exported[coll] = bytesToBase64(new Uint8Array(raw));
|
|
175
|
-
}
|
|
176
|
-
const plaintext = new TextEncoder().encode(JSON.stringify({ deks: exported }));
|
|
177
|
-
const ciphertext = await subtle.encrypt(
|
|
178
|
-
{ name: "AES-GCM", iv },
|
|
179
|
-
wrappingKey,
|
|
180
|
-
plaintext
|
|
181
|
-
);
|
|
182
|
-
return {
|
|
183
|
-
salt: bytesToBase64(salt),
|
|
184
|
-
iv: bytesToBase64(iv),
|
|
185
|
-
wrappedDeks: bytesToBase64(new Uint8Array(ciphertext))
|
|
186
|
-
};
|
|
187
|
-
}
|
|
188
|
-
async function unwrapDeksFromBlob(blob, credential) {
|
|
189
|
-
const wrappingKey = await deriveWrappingKey(credential, base64ToBytes(blob.salt));
|
|
190
|
-
const plaintext = await subtle.decrypt(
|
|
191
|
-
{ name: "AES-GCM", iv: base64ToBytes(blob.iv) },
|
|
192
|
-
wrappingKey,
|
|
193
|
-
base64ToBytes(blob.wrappedDeks)
|
|
194
|
-
);
|
|
195
|
-
const parsed = JSON.parse(new TextDecoder().decode(plaintext));
|
|
196
|
-
const deks = /* @__PURE__ */ new Map();
|
|
197
|
-
for (const [coll, b64] of Object.entries(parsed.deks)) {
|
|
198
|
-
const raw = base64ToBytes(b64);
|
|
199
|
-
const key = await subtle.importKey(
|
|
200
|
-
"raw",
|
|
201
|
-
raw,
|
|
202
|
-
{ name: "AES-GCM", length: 256 },
|
|
203
|
-
true,
|
|
204
|
-
["encrypt", "decrypt"]
|
|
205
|
-
);
|
|
206
|
-
deks.set(coll, key);
|
|
207
|
-
}
|
|
208
|
-
return deks;
|
|
209
|
-
}
|
|
210
|
-
async function deriveWrappingKey(credential, salt) {
|
|
211
|
-
const ikm = await subtle.importKey(
|
|
212
|
-
"raw",
|
|
213
|
-
new TextEncoder().encode(credential),
|
|
214
|
-
"PBKDF2",
|
|
215
|
-
false,
|
|
216
|
-
["deriveKey"]
|
|
217
|
-
);
|
|
42
|
+
// src/with-party/team/magic-link-grant.ts
|
|
43
|
+
var MAGIC_LINK_GRANTS_COLLECTION = "_magic_link_grants";
|
|
44
|
+
var MAGIC_LINK_CONTENT_INFO_PREFIX = "noydb-magic-link-content-v1:";
|
|
45
|
+
var MAGIC_LINK_KEK_INFO_PREFIX = "noydb-magic-link-v1:";
|
|
46
|
+
async function deriveMagicLinkContentKey(serverSecret, token, vault) {
|
|
47
|
+
const subtle = globalThis.crypto.subtle;
|
|
48
|
+
const ikmBytes = serverSecret instanceof Uint8Array ? serverSecret : new TextEncoder().encode(serverSecret);
|
|
49
|
+
const tokenBytes = new TextEncoder().encode(token);
|
|
50
|
+
const saltBuffer = await subtle.digest("SHA-256", tokenBytes);
|
|
51
|
+
const info = new TextEncoder().encode(MAGIC_LINK_CONTENT_INFO_PREFIX + vault);
|
|
52
|
+
const ikm = await subtle.importKey("raw", ikmBytes, "HKDF", false, ["deriveKey"]);
|
|
218
53
|
return subtle.deriveKey(
|
|
219
|
-
{
|
|
220
|
-
name: "PBKDF2",
|
|
221
|
-
salt,
|
|
222
|
-
iterations: PBKDF2_ITERATIONS,
|
|
223
|
-
hash: "SHA-256"
|
|
224
|
-
},
|
|
54
|
+
{ name: "HKDF", hash: "SHA-256", salt: saltBuffer, info },
|
|
225
55
|
ikm,
|
|
226
56
|
{ name: "AES-GCM", length: 256 },
|
|
227
57
|
false,
|
|
228
58
|
["encrypt", "decrypt"]
|
|
229
59
|
);
|
|
230
60
|
}
|
|
231
|
-
function
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
for (let i = 0; i < s.length; i++) out[i] = s.charCodeAt(i);
|
|
240
|
-
return out;
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
// src/team/recovery.ts
|
|
244
|
-
var PAPER_DOC_ID = "recovery-paper";
|
|
245
|
-
async function loadPaperRecoveryEntries(store, vault) {
|
|
246
|
-
const env = await store.get(vault, "_meta", PAPER_DOC_ID);
|
|
247
|
-
if (!env) return [];
|
|
248
|
-
try {
|
|
249
|
-
const doc = JSON.parse(env._data);
|
|
250
|
-
if (doc.profile !== "paper" || !Array.isArray(doc.entries)) return [];
|
|
251
|
-
return doc.entries;
|
|
252
|
-
} catch {
|
|
253
|
-
return [];
|
|
61
|
+
async function writeMagicLinkGrant(store, vault, grantor, contentKey, grantKek, recordId, opts) {
|
|
62
|
+
const collectionName = opts.collection ?? null;
|
|
63
|
+
const sourceKey = collectionName ? dekKey(collectionName, opts.tier) : `__any#${opts.tier}`;
|
|
64
|
+
const sourceDek = grantor.deks.get(sourceKey);
|
|
65
|
+
if (!sourceDek) {
|
|
66
|
+
throw new DelegationTargetMissingError(
|
|
67
|
+
`grantor cannot find tier ${opts.tier} DEK for ${collectionName ?? "(any)"}`
|
|
68
|
+
);
|
|
254
69
|
}
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
const
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
70
|
+
const wrappedDek = await wrapKey(sourceDek, grantKek);
|
|
71
|
+
const until = typeof opts.until === "string" ? opts.until : opts.until.toISOString();
|
|
72
|
+
const createdAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
73
|
+
const payload = {
|
|
74
|
+
id: recordId,
|
|
75
|
+
toUser: opts.toUser,
|
|
76
|
+
fromUser: grantor.userId,
|
|
77
|
+
tier: opts.tier,
|
|
78
|
+
collection: collectionName,
|
|
79
|
+
...opts.record && { record: opts.record },
|
|
80
|
+
until,
|
|
81
|
+
wrappedDek,
|
|
82
|
+
createdAt,
|
|
83
|
+
...opts.note && { note: opts.note }
|
|
261
84
|
};
|
|
85
|
+
const { iv, data } = await encrypt(JSON.stringify(payload), contentKey);
|
|
262
86
|
const envelope = {
|
|
263
|
-
_noydb:
|
|
87
|
+
_noydb: 1,
|
|
264
88
|
_v: 1,
|
|
265
|
-
_ts:
|
|
266
|
-
_iv:
|
|
267
|
-
_data:
|
|
89
|
+
_ts: createdAt,
|
|
90
|
+
_iv: iv,
|
|
91
|
+
_data: data,
|
|
92
|
+
_by: grantor.userId
|
|
268
93
|
};
|
|
269
|
-
await store.put(vault,
|
|
270
|
-
}
|
|
271
|
-
async function burnPaperRecoveryEntry(store, vault, codeId) {
|
|
272
|
-
const entries = await loadPaperRecoveryEntries(store, vault);
|
|
273
|
-
const remaining = entries.filter((e) => e.codeId !== codeId);
|
|
274
|
-
await savePaperRecoveryEntries(store, vault, remaining);
|
|
275
|
-
}
|
|
276
|
-
async function hasRecoveryEnrolled(store, vault) {
|
|
277
|
-
const paper = await loadPaperRecoveryEntries(store, vault);
|
|
278
|
-
if (paper.length > 0) return true;
|
|
279
|
-
const shamir = await loadShamirRecoveryEntries(store, vault);
|
|
280
|
-
return shamir.length > 0;
|
|
281
|
-
}
|
|
282
|
-
async function hasStrongRecoveryEnrolled(store, vault) {
|
|
283
|
-
const shamir = await loadShamirRecoveryEntries(store, vault);
|
|
284
|
-
return shamir.length > 0;
|
|
94
|
+
await store.put(vault, MAGIC_LINK_GRANTS_COLLECTION, recordId, envelope);
|
|
95
|
+
return { recordId, payload };
|
|
285
96
|
}
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
if (!env) return [];
|
|
97
|
+
async function readMagicLinkGrantRecord(store, vault, contentKey, recordId) {
|
|
98
|
+
const env = await store.get(vault, MAGIC_LINK_GRANTS_COLLECTION, recordId);
|
|
99
|
+
if (!env) return null;
|
|
290
100
|
try {
|
|
291
|
-
const
|
|
292
|
-
|
|
293
|
-
return doc.entries;
|
|
101
|
+
const json = await openEnvelopeJson(env, contentKey);
|
|
102
|
+
return JSON.parse(json);
|
|
294
103
|
} catch {
|
|
295
|
-
return
|
|
104
|
+
return null;
|
|
296
105
|
}
|
|
297
106
|
}
|
|
298
|
-
async function
|
|
299
|
-
const
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
_noydb: NOYDB_FORMAT_VERSION,
|
|
306
|
-
_v: 1,
|
|
307
|
-
_ts: (/* @__PURE__ */ new Date()).toISOString(),
|
|
308
|
-
_iv: "",
|
|
309
|
-
_data: JSON.stringify(doc)
|
|
310
|
-
};
|
|
311
|
-
await store.put(vault, "_meta", SHAMIR_DOC_ID, envelope);
|
|
312
|
-
}
|
|
313
|
-
async function mintShamirRecoveryEntry(provider, deks, entryId, k, n, label) {
|
|
314
|
-
const recoverySecret = crypto.getRandomValues(new Uint8Array(32));
|
|
315
|
-
try {
|
|
316
|
-
const credential = bytesToBase642(recoverySecret);
|
|
317
|
-
const blob = await mintWrappedDeksBlob(deks, credential);
|
|
318
|
-
const shareStrings = provider.splitToShares(recoverySecret, k, n);
|
|
319
|
-
const entry = {
|
|
320
|
-
...blob,
|
|
321
|
-
entryId,
|
|
322
|
-
k,
|
|
323
|
-
n,
|
|
324
|
-
enrolledAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
325
|
-
...label !== void 0 && { label }
|
|
326
|
-
};
|
|
327
|
-
return { entry, shareStrings };
|
|
328
|
-
} finally {
|
|
329
|
-
recoverySecret.fill(0);
|
|
107
|
+
async function listMagicLinkGrants(store, vault, contentKey, token) {
|
|
108
|
+
const ids = await store.list(vault, MAGIC_LINK_GRANTS_COLLECTION);
|
|
109
|
+
const matching = ids.filter((id) => id === token || id.startsWith(`${token}:`));
|
|
110
|
+
const out = [];
|
|
111
|
+
for (const id of matching) {
|
|
112
|
+
const payload = await readMagicLinkGrantRecord(store, vault, contentKey, id);
|
|
113
|
+
if (payload) out.push(payload);
|
|
330
114
|
}
|
|
115
|
+
return out;
|
|
331
116
|
}
|
|
332
|
-
async function
|
|
333
|
-
|
|
334
|
-
throw new Error(
|
|
335
|
-
`Insufficient shares: this Shamir entry needs ${entry.k} of ${entry.n}, but ${shareStrings.length} were provided.`
|
|
336
|
-
);
|
|
337
|
-
}
|
|
338
|
-
const secret = provider.combineShares(shareStrings);
|
|
339
|
-
try {
|
|
340
|
-
return await unwrapDeksFromBlob(entry, bytesToBase642(secret));
|
|
341
|
-
} finally {
|
|
342
|
-
secret.fill(0);
|
|
343
|
-
}
|
|
117
|
+
async function unwrapMagicLinkGrant(payload, grantKek) {
|
|
118
|
+
return unwrapKey(payload.wrappedDek, grantKek);
|
|
344
119
|
}
|
|
345
|
-
function
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
120
|
+
async function revokeMagicLinkGrant(store, vault, token) {
|
|
121
|
+
const ids = await store.list(vault, MAGIC_LINK_GRANTS_COLLECTION);
|
|
122
|
+
const matching = ids.filter((id) => id === token || id.startsWith(`${token}:`));
|
|
123
|
+
for (const id of matching) {
|
|
124
|
+
await store.delete(vault, MAGIC_LINK_GRANTS_COLLECTION, id);
|
|
125
|
+
}
|
|
126
|
+
return matching.length;
|
|
349
127
|
}
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
return {
|
|
353
|
-
...blob,
|
|
354
|
-
codeId,
|
|
355
|
-
enrolledAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
356
|
-
};
|
|
128
|
+
function magicLinkGrantRecordId(token, index) {
|
|
129
|
+
return index === 0 ? token : `${token}:${index}`;
|
|
357
130
|
}
|
|
358
|
-
|
|
359
|
-
return
|
|
131
|
+
function isMagicLinkGrantExpired(payload, now = /* @__PURE__ */ new Date()) {
|
|
132
|
+
return payload.until <= now.toISOString();
|
|
360
133
|
}
|
|
361
134
|
|
|
362
|
-
// src/team
|
|
135
|
+
// src/port/with/team-strategy.ts
|
|
136
|
+
var NO_TEAM = {
|
|
137
|
+
async grant() {
|
|
138
|
+
throw new TeamNotEnabledError();
|
|
139
|
+
},
|
|
140
|
+
async revoke() {
|
|
141
|
+
throw new TeamNotEnabledError();
|
|
142
|
+
},
|
|
143
|
+
async rotate() {
|
|
144
|
+
throw new TeamNotEnabledError();
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
// src/with-party/team/rotate-recover.ts
|
|
363
149
|
async function rotatePassphrase(store, vault, userId, input) {
|
|
364
150
|
if (!input.allowWeakPassphrase) {
|
|
365
151
|
assertStrongPassphrase(input.newPassphrase, input.passphrasePolicy);
|
|
@@ -631,7 +417,7 @@ async function writeKeyringFile(store, vault, userId, file) {
|
|
|
631
417
|
await store.put(vault, "_keyring", userId, envelope);
|
|
632
418
|
}
|
|
633
419
|
|
|
634
|
-
// src/team/peer-recover.ts
|
|
420
|
+
// src/with-party/team/peer-recover.ts
|
|
635
421
|
var ADMIN_RECOVERABLE_TARGETS = ["operator", "viewer", "client", "admin"];
|
|
636
422
|
function canRecover(callerRole, targetRole) {
|
|
637
423
|
if (callerRole === "owner") return true;
|
|
@@ -697,124 +483,89 @@ async function recoverUser(store, vault, callerKeyring, options) {
|
|
|
697
483
|
await store.put(vault, "_keyring", options.userId, envelope);
|
|
698
484
|
}
|
|
699
485
|
|
|
700
|
-
// src/team/
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
const ikmBytes = serverSecret instanceof Uint8Array ? serverSecret : new TextEncoder().encode(serverSecret);
|
|
707
|
-
const tokenBytes = new TextEncoder().encode(token);
|
|
708
|
-
const saltBuffer = await subtle2.digest("SHA-256", tokenBytes);
|
|
709
|
-
const info = new TextEncoder().encode(MAGIC_LINK_CONTENT_INFO_PREFIX + vault);
|
|
710
|
-
const ikm = await subtle2.importKey("raw", ikmBytes, "HKDF", false, ["deriveKey"]);
|
|
711
|
-
return subtle2.deriveKey(
|
|
712
|
-
{ name: "HKDF", hash: "SHA-256", salt: saltBuffer, info },
|
|
713
|
-
ikm,
|
|
714
|
-
{ name: "AES-GCM", length: 256 },
|
|
715
|
-
false,
|
|
716
|
-
["encrypt", "decrypt"]
|
|
717
|
-
);
|
|
718
|
-
}
|
|
719
|
-
async function writeMagicLinkGrant(store, vault, grantor, contentKey, grantKek, recordId, opts) {
|
|
720
|
-
const collectionName = opts.collection ?? null;
|
|
721
|
-
const sourceKey = collectionName ? dekKey(collectionName, opts.tier) : `__any#${opts.tier}`;
|
|
722
|
-
const sourceDek = grantor.deks.get(sourceKey);
|
|
723
|
-
if (!sourceDek) {
|
|
724
|
-
throw new DelegationTargetMissingError(
|
|
725
|
-
`grantor cannot find tier ${opts.tier} DEK for ${collectionName ?? "(any)"}`
|
|
486
|
+
// src/with-party/team/authenticators.ts
|
|
487
|
+
async function enrollAuthenticator(store, vault, keyring, options) {
|
|
488
|
+
const existing = keyring.authenticators.find((a) => a.id === options.id);
|
|
489
|
+
if (existing) {
|
|
490
|
+
throw new ValidationError(
|
|
491
|
+
`enrollAuthenticator: slot id "${options.id}" already exists in vault "${vault}". Remove the slot first or pick a unique id.`
|
|
726
492
|
);
|
|
727
493
|
}
|
|
728
|
-
const
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
fromUser: grantor.userId,
|
|
735
|
-
tier: opts.tier,
|
|
736
|
-
collection: collectionName,
|
|
737
|
-
...opts.record && { record: opts.record },
|
|
738
|
-
until,
|
|
739
|
-
wrappedDek,
|
|
740
|
-
createdAt,
|
|
741
|
-
...opts.note && { note: opts.note }
|
|
494
|
+
const base = {
|
|
495
|
+
id: options.id,
|
|
496
|
+
method: options.method,
|
|
497
|
+
enrolled_at: (/* @__PURE__ */ new Date()).toISOString(),
|
|
498
|
+
enrolled_via_tier: options.enrolled_via_tier ?? 1,
|
|
499
|
+
meta: options.meta
|
|
742
500
|
};
|
|
743
|
-
const
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
501
|
+
const slot = options.wrapKind === "deks" ? {
|
|
502
|
+
...base,
|
|
503
|
+
wrapKind: "deks",
|
|
504
|
+
wrapped_deks: options.wrapped_deks,
|
|
505
|
+
iv: options.iv
|
|
506
|
+
} : {
|
|
507
|
+
...base,
|
|
508
|
+
wrapped_kek: options.wrapped_kek
|
|
751
509
|
};
|
|
752
|
-
|
|
753
|
-
|
|
510
|
+
const next = appendSlot(keyring, slot);
|
|
511
|
+
await persistKeyring(store, vault, next);
|
|
512
|
+
return next;
|
|
754
513
|
}
|
|
755
|
-
async function
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
return JSON.parse(json);
|
|
761
|
-
} catch {
|
|
762
|
-
return null;
|
|
514
|
+
async function updateAuthenticator(store, vault, keyring, slotId, options) {
|
|
515
|
+
if (options.meta === void 0) {
|
|
516
|
+
throw new ValidationError(
|
|
517
|
+
`updateAuthenticator: at least one of meta must be provided (slotId: "${slotId}").`
|
|
518
|
+
);
|
|
763
519
|
}
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
for (const id of matching) {
|
|
770
|
-
const payload = await readMagicLinkGrantRecord(store, vault, contentKey, id);
|
|
771
|
-
if (payload) out.push(payload);
|
|
520
|
+
const idx = keyring.authenticators.findIndex((a) => a.id === slotId);
|
|
521
|
+
if (idx === -1) {
|
|
522
|
+
throw new NoAccessError(
|
|
523
|
+
`updateAuthenticator: slot "${slotId}" not found in vault "${vault}".`
|
|
524
|
+
);
|
|
772
525
|
}
|
|
773
|
-
|
|
774
|
-
}
|
|
775
|
-
|
|
776
|
-
|
|
526
|
+
const existing = keyring.authenticators[idx];
|
|
527
|
+
const mergedMeta = { ...existing.meta };
|
|
528
|
+
for (const [k, v] of Object.entries(options.meta)) {
|
|
529
|
+
if (v === void 0) continue;
|
|
530
|
+
if (v === null) {
|
|
531
|
+
delete mergedMeta[k];
|
|
532
|
+
continue;
|
|
533
|
+
}
|
|
534
|
+
mergedMeta[k] = v;
|
|
535
|
+
}
|
|
536
|
+
const next = { ...existing, meta: mergedMeta };
|
|
537
|
+
const nextSlots = [...keyring.authenticators];
|
|
538
|
+
nextSlots[idx] = next;
|
|
539
|
+
const nextKeyring = {
|
|
540
|
+
...keyring,
|
|
541
|
+
authenticators: nextSlots
|
|
542
|
+
};
|
|
543
|
+
await persistKeyring(store, vault, nextKeyring);
|
|
544
|
+
return nextKeyring;
|
|
777
545
|
}
|
|
778
|
-
async function
|
|
779
|
-
const
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
await store.delete(vault, MAGIC_LINK_GRANTS_COLLECTION, id);
|
|
546
|
+
async function removeAuthenticator(store, vault, keyring, slotId) {
|
|
547
|
+
const filtered = keyring.authenticators.filter((a) => a.id !== slotId);
|
|
548
|
+
if (filtered.length === keyring.authenticators.length) {
|
|
549
|
+
return keyring;
|
|
783
550
|
}
|
|
784
|
-
|
|
551
|
+
const next = {
|
|
552
|
+
...keyring,
|
|
553
|
+
authenticators: filtered
|
|
554
|
+
};
|
|
555
|
+
await persistKeyring(store, vault, next);
|
|
556
|
+
return next;
|
|
785
557
|
}
|
|
786
|
-
function
|
|
787
|
-
return
|
|
558
|
+
function findAuthenticator(keyring, slotId) {
|
|
559
|
+
return keyring.authenticators.find((a) => a.id === slotId);
|
|
788
560
|
}
|
|
789
|
-
function
|
|
790
|
-
return
|
|
561
|
+
function appendSlot(keyring, slot) {
|
|
562
|
+
return {
|
|
563
|
+
...keyring,
|
|
564
|
+
authenticators: [...keyring.authenticators, slot]
|
|
565
|
+
};
|
|
791
566
|
}
|
|
792
567
|
|
|
793
568
|
export {
|
|
794
|
-
enrollAuthenticator,
|
|
795
|
-
updateAuthenticator,
|
|
796
|
-
removeAuthenticator,
|
|
797
|
-
findAuthenticator,
|
|
798
|
-
PolicyDeniedError,
|
|
799
|
-
RecoveryNotEnrolledError,
|
|
800
|
-
ManagedRecoveryNotEnrolledError,
|
|
801
|
-
RecoveryProfileNotImplementedError,
|
|
802
|
-
mintWrappedDeksBlob,
|
|
803
|
-
unwrapDeksFromBlob,
|
|
804
|
-
loadPaperRecoveryEntries,
|
|
805
|
-
savePaperRecoveryEntries,
|
|
806
|
-
burnPaperRecoveryEntry,
|
|
807
|
-
hasRecoveryEnrolled,
|
|
808
|
-
hasStrongRecoveryEnrolled,
|
|
809
|
-
loadShamirRecoveryEntries,
|
|
810
|
-
saveShamirRecoveryEntries,
|
|
811
|
-
mintShamirRecoveryEntry,
|
|
812
|
-
unwrapDeksFromShamirEntry,
|
|
813
|
-
mintPaperRecoveryEntry,
|
|
814
|
-
unwrapDeksFromPaperEntry,
|
|
815
|
-
rotatePassphrase,
|
|
816
|
-
recoverPassphrase,
|
|
817
|
-
recoverUser,
|
|
818
569
|
MAGIC_LINK_GRANTS_COLLECTION,
|
|
819
570
|
MAGIC_LINK_CONTENT_INFO_PREFIX,
|
|
820
571
|
MAGIC_LINK_KEK_INFO_PREFIX,
|
|
@@ -825,6 +576,14 @@ export {
|
|
|
825
576
|
unwrapMagicLinkGrant,
|
|
826
577
|
revokeMagicLinkGrant,
|
|
827
578
|
magicLinkGrantRecordId,
|
|
828
|
-
isMagicLinkGrantExpired
|
|
579
|
+
isMagicLinkGrantExpired,
|
|
580
|
+
NO_TEAM,
|
|
581
|
+
rotatePassphrase,
|
|
582
|
+
recoverPassphrase,
|
|
583
|
+
recoverUser,
|
|
584
|
+
enrollAuthenticator,
|
|
585
|
+
updateAuthenticator,
|
|
586
|
+
removeAuthenticator,
|
|
587
|
+
findAuthenticator
|
|
829
588
|
};
|
|
830
|
-
//# sourceMappingURL=chunk-
|
|
589
|
+
//# sourceMappingURL=chunk-KJ2BCBTL.js.map
|