@noy-db/hub 0.4.0-pre.0 → 0.4.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 +3 -4
- package/dist/api-ZDKTWNBB.js +20 -0
- package/dist/attestation/index.js +18 -18
- package/dist/{backup-YPUEKIJC.js → backup-2UX7PRM5.js} +13 -13
- package/dist/blobs/index.js +30 -15
- package/dist/blobs/index.js.map +1 -1
- package/dist/broker/index.js +12 -12
- package/dist/broker/index.js.map +1 -1
- package/dist/cargo/index.js +58 -29
- package/dist/{chunk-IY23KFNZ.js → chunk-35NMVJ7I.js} +3 -3
- package/dist/{chunk-S3BFKGET.js → chunk-3HUYRN24.js} +4 -4
- package/dist/chunk-3HUYRN24.js.map +1 -0
- package/dist/{walk-IPLXE36W.js → chunk-3V3XR4S4.js} +4 -13
- package/dist/{walk-IPLXE36W.js.map → chunk-3V3XR4S4.js.map} +1 -1
- package/dist/{chunk-RTEK4C4I.js → chunk-4JQK3L4V.js} +2 -2
- package/dist/{chunk-3ELCWU56.js → chunk-4ZKNC6A6.js} +2 -2
- package/dist/{chunk-VQNJ7UZL.js → chunk-55LKVALY.js} +106 -10
- package/dist/chunk-55LKVALY.js.map +1 -0
- package/dist/{chunk-VAIS3SOM.js → chunk-55LX6FSX.js} +2 -2
- package/dist/chunk-5D2ALSM5.js +19 -0
- package/dist/chunk-5D2ALSM5.js.map +1 -0
- package/dist/{chunk-6HPG2YNX.js → chunk-5DRROK5W.js} +2 -2
- package/dist/{chunk-S6Q37VGE.js → chunk-5GQEU4DN.js} +2 -2
- package/dist/chunk-5JOFWL4G.js +25 -0
- package/dist/chunk-5JOFWL4G.js.map +1 -0
- package/dist/{chunk-ZXEZCY6F.js → chunk-63FE525P.js} +6 -6
- package/dist/chunk-6LJY7X5A.js +18 -0
- package/dist/chunk-6LJY7X5A.js.map +1 -0
- package/dist/{chunk-JVBO4SZL.js → chunk-6UBZ6I5Z.js} +2 -2
- package/dist/{chunk-BOKIKJJB.js → chunk-6ZNSB3H6.js} +5 -17
- package/dist/chunk-6ZNSB3H6.js.map +1 -0
- package/dist/{chunk-IK43HLDQ.js → chunk-7YVBQJ7K.js} +13 -355
- package/dist/chunk-7YVBQJ7K.js.map +1 -0
- package/dist/{chunk-VRBTNCM4.js → chunk-ABS7FMMD.js} +6 -6
- package/dist/chunk-AFHQATY4.js +47 -0
- package/dist/chunk-AFHQATY4.js.map +1 -0
- package/dist/{chunk-HOONYZY2.js → chunk-AKKRXT23.js} +7 -7
- package/dist/chunk-AKKRXT23.js.map +1 -0
- package/dist/{chunk-DDHM2TLX.js → chunk-AT2JJEKJ.js} +4 -4
- package/dist/chunk-AT2JJEKJ.js.map +1 -0
- package/dist/{chunk-M75ZZHSR.js → chunk-BLBAQRBM.js} +2 -2
- package/dist/{chunk-554KLAAN.js → chunk-BLCWSJLN.js} +88 -81
- package/dist/chunk-BLCWSJLN.js.map +1 -0
- package/dist/chunk-CADUYBQD.js +151 -0
- package/dist/chunk-CADUYBQD.js.map +1 -0
- package/dist/{chunk-WOM2HTML.js → chunk-CI32CAFS.js} +5 -5
- package/dist/{chunk-FH52K7EG.js → chunk-CUZLNGD5.js} +2 -6
- package/dist/{chunk-FH52K7EG.js.map → chunk-CUZLNGD5.js.map} +1 -1
- package/dist/{chunk-U6JMEH2P.js → chunk-CXQW2NWO.js} +145 -3
- package/dist/chunk-CXQW2NWO.js.map +1 -0
- package/dist/{chunk-EO43ANYJ.js → chunk-DABACXEF.js} +3 -3
- package/dist/{chunk-CJ5KKU6X.js → chunk-DMH3VZU5.js} +4 -4
- package/dist/chunk-DSDXAKIP.js +50 -0
- package/dist/chunk-DSDXAKIP.js.map +1 -0
- package/dist/{chunk-WZSHL6DQ.js → chunk-DZ2JXHWK.js} +5 -5
- package/dist/chunk-DZFQVICS.js +23 -0
- package/dist/chunk-DZFQVICS.js.map +1 -0
- package/dist/chunk-E23UGFVC.js +63 -0
- package/dist/chunk-E23UGFVC.js.map +1 -0
- package/dist/{chunk-Z4PD65VQ.js → chunk-EE7UHLKH.js} +4 -4
- package/dist/chunk-EIPVYUEP.js +654 -0
- package/dist/chunk-EIPVYUEP.js.map +1 -0
- package/dist/{chunk-RNG4VRP4.js → chunk-EKRSCRNM.js} +3 -3
- package/dist/{chunk-YMUGBZN2.js → chunk-FQ5CHJR7.js} +1 -1
- package/dist/chunk-FQ5CHJR7.js.map +1 -0
- package/dist/{chunk-RFI7GGFO.js → chunk-FQZ6XTQ7.js} +17 -20
- package/dist/chunk-FQZ6XTQ7.js.map +1 -0
- package/dist/{chunk-MT62YSPZ.js → chunk-FRMPM7WG.js} +4 -4
- package/dist/{chunk-W4TCUGQR.js → chunk-G2JUIDFA.js} +13 -9
- package/dist/{chunk-W4TCUGQR.js.map → chunk-G2JUIDFA.js.map} +1 -1
- package/dist/{chunk-T3GY65MA.js → chunk-G6WWZNJP.js} +13 -13
- package/dist/chunk-G6WWZNJP.js.map +1 -0
- package/dist/chunk-GJW4HX2O.js +1 -0
- package/dist/{chunk-KS6SAVCZ.js → chunk-GU3IP74F.js} +6 -6
- package/dist/{chunk-UHNGNKLV.js → chunk-GWWOGNBK.js} +308 -18
- package/dist/chunk-GWWOGNBK.js.map +1 -0
- package/dist/{chunk-5PFOMHTB.js → chunk-H2GPHUZD.js} +12 -13
- package/dist/chunk-H2GPHUZD.js.map +1 -0
- package/dist/{chunk-H2KSZMIX.js → chunk-HMU5P6RL.js} +5 -5
- package/dist/chunk-HMU5P6RL.js.map +1 -0
- package/dist/{chunk-JFCV5QIK.js → chunk-I5GEJX3R.js} +5 -5
- package/dist/chunk-I5GEJX3R.js.map +1 -0
- package/dist/{chunk-GWKAVKHI.js → chunk-IG6KUWBX.js} +2 -2
- package/dist/chunk-IG6KUWBX.js.map +1 -0
- package/dist/{chunk-LVGTA624.js → chunk-IPUG56GJ.js} +15 -5
- package/dist/{chunk-LVGTA624.js.map → chunk-IPUG56GJ.js.map} +1 -1
- package/dist/{chunk-SMIRGMS7.js → chunk-IXNCZTWA.js} +2 -2
- package/dist/{chunk-WQIYTNJV.js → chunk-IXTSNGYY.js} +3 -3
- package/dist/{chunk-WHXXI3W5.js → chunk-IYZISPGD.js} +7 -5
- package/dist/chunk-IYZISPGD.js.map +1 -0
- package/dist/{chunk-HQBM64EE.js → chunk-JDOMW53O.js} +145 -16
- package/dist/chunk-JDOMW53O.js.map +1 -0
- package/dist/{chunk-NCCBLYEB.js → chunk-JJZGIE4U.js} +6 -5
- package/dist/{chunk-DRWBEDYO.js → chunk-JYJFGD2H.js} +2 -2
- package/dist/{chunk-TAGR72IR.js → chunk-KRCBZYTZ.js} +26 -177
- package/dist/chunk-KRCBZYTZ.js.map +1 -0
- package/dist/{chunk-DSBQODMZ.js → chunk-L2DGWBCT.js} +14 -14
- package/dist/chunk-L2DGWBCT.js.map +1 -0
- package/dist/{chunk-VEALDPHW.js → chunk-L3YYLT4E.js} +15 -2
- package/dist/chunk-L3YYLT4E.js.map +1 -0
- package/dist/{chunk-FXZDAV62.js → chunk-LNPUSMZL.js} +29 -31
- package/dist/chunk-LNPUSMZL.js.map +1 -0
- package/dist/{chunk-XJMBYYQK.js → chunk-LNZKOUJR.js} +2 -2
- package/dist/{chunk-R3BLCFD2.js → chunk-MBKVNOJS.js} +6 -6
- package/dist/chunk-MCHBCNCE.js +367 -0
- package/dist/chunk-MCHBCNCE.js.map +1 -0
- package/dist/{chunk-VCBHAE4R.js → chunk-MHMLXJ3I.js} +2 -2
- package/dist/chunk-MHMLXJ3I.js.map +1 -0
- package/dist/{chunk-WNGGJWF7.js → chunk-MSMJJB4J.js} +2 -2
- package/dist/chunk-MSMJJB4J.js.map +1 -0
- package/dist/{chunk-T36RFODW.js → chunk-MXUT7FTE.js} +2 -2
- package/dist/chunk-MXUT7FTE.js.map +1 -0
- package/dist/{chunk-WG4QBZDN.js → chunk-N4BBNYIB.js} +11 -9
- package/dist/chunk-N4BBNYIB.js.map +1 -0
- package/dist/{chunk-PK6JIDQ4.js → chunk-NFIBXF4V.js} +1084 -1583
- package/dist/chunk-NFIBXF4V.js.map +1 -0
- package/dist/{chunk-VKCADNMR.js → chunk-NFNJLRY7.js} +368 -52
- package/dist/chunk-NFNJLRY7.js.map +1 -0
- package/dist/{chunk-N6WF5PKC.js → chunk-NFZGZ4AK.js} +2 -2
- package/dist/{chunk-JRBNCUNT.js → chunk-NGSJZFGL.js} +21 -4
- package/dist/chunk-NGSJZFGL.js.map +1 -0
- package/dist/chunk-NJ4DYYO5.js +81 -0
- package/dist/chunk-NJ4DYYO5.js.map +1 -0
- package/dist/chunk-NM5UYF6Q.js +24 -0
- package/dist/chunk-NM5UYF6Q.js.map +1 -0
- package/dist/{chunk-JBBSYJHP.js → chunk-NYEFP7DY.js} +4 -4
- package/dist/chunk-NYEFP7DY.js.map +1 -0
- package/dist/{chunk-GDG5VVYG.js → chunk-NZ24MX4J.js} +8 -46
- package/dist/chunk-NZ24MX4J.js.map +1 -0
- package/dist/{chunk-IFJTPAQQ.js → chunk-OLEPKFTW.js} +4 -4
- package/dist/chunk-OLEPKFTW.js.map +1 -0
- package/dist/{chunk-THVIPWRF.js → chunk-PEATRIYJ.js} +9 -9
- package/dist/chunk-PEOZ34EM.js +13 -0
- package/dist/chunk-PEOZ34EM.js.map +1 -0
- package/dist/{chunk-UC2ETWF3.js → chunk-PTHKZWEH.js} +2 -14
- package/dist/{chunk-UC2ETWF3.js.map → chunk-PTHKZWEH.js.map} +1 -1
- package/dist/chunk-PVEWA2DU.js +23 -0
- package/dist/chunk-PVEWA2DU.js.map +1 -0
- package/dist/{chunk-VCTXU4AT.js → chunk-QBAC3GXA.js} +1 -1
- package/dist/chunk-QBAC3GXA.js.map +1 -0
- package/dist/{chunk-RDXW3OBQ.js → chunk-QD46HPZG.js} +2 -2
- package/dist/chunk-QD46HPZG.js.map +1 -0
- package/dist/{chunk-YZQOGE2L.js → chunk-QDIH2744.js} +2 -2
- package/dist/{chunk-6HY2X62D.js → chunk-QJNCB5SK.js} +2 -2
- package/dist/{chunk-IAO54J4R.js → chunk-QX76XVQH.js} +6 -6
- package/dist/chunk-QX76XVQH.js.map +1 -0
- package/dist/{chunk-W2OG6JOL.js → chunk-QZWTRENR.js} +24 -7
- package/dist/chunk-QZWTRENR.js.map +1 -0
- package/dist/{chunk-6NQMXTYC.js → chunk-RO5NM6UI.js} +2 -2
- package/dist/chunk-RO5NM6UI.js.map +1 -0
- package/dist/chunk-SGDPRCC4.js +1075 -0
- package/dist/chunk-SGDPRCC4.js.map +1 -0
- package/dist/{chunk-2PCAVW2I.js → chunk-SHEEBRZ4.js} +2 -2
- package/dist/chunk-SMY5X46Z.js +14 -0
- package/dist/chunk-SMY5X46Z.js.map +1 -0
- package/dist/{chunk-ISMV2QVG.js → chunk-TG634KCO.js} +11 -2
- package/dist/chunk-TG634KCO.js.map +1 -0
- package/dist/{chunk-XUW3PXHU.js → chunk-TUXQSFHZ.js} +4 -16
- package/dist/{chunk-XUW3PXHU.js.map → chunk-TUXQSFHZ.js.map} +1 -1
- package/dist/{chunk-GULTLPFB.js → chunk-UADPR6F4.js} +3 -3
- package/dist/{chunk-GULTLPFB.js.map → chunk-UADPR6F4.js.map} +1 -1
- package/dist/{chunk-XTHCN77N.js → chunk-UDHBXYGG.js} +29 -19
- package/dist/chunk-UDHBXYGG.js.map +1 -0
- package/dist/{chunk-RA5VTXXG.js → chunk-V6UQZA2H.js} +2 -2
- package/dist/chunk-VG2ZSFYD.js +32 -0
- package/dist/chunk-VG2ZSFYD.js.map +1 -0
- package/dist/chunk-VKQCVU2Z.js +21 -0
- package/dist/chunk-VKQCVU2Z.js.map +1 -0
- package/dist/{chunk-QDPZWTN2.js → chunk-W3G5REIU.js} +2 -2
- package/dist/{chunk-A4FXFAKF.js → chunk-W3L64Y3J.js} +2 -2
- package/dist/{chunk-ONTBCHCP.js → chunk-W66AM5IB.js} +2 -2
- package/dist/chunk-W66AM5IB.js.map +1 -0
- package/dist/{chunk-A5BDDEXK.js → chunk-WBKZUO5V.js} +26 -43
- package/dist/chunk-WBKZUO5V.js.map +1 -0
- package/dist/{chunk-XDIAFPUM.js → chunk-WLXMTYGO.js} +2 -2
- package/dist/{chunk-RJ6K6K5M.js → chunk-X3F5YJG2.js} +2 -2
- package/dist/{chunk-WKGF2TJR.js → chunk-X45JYIAY.js} +3 -3
- package/dist/chunk-X45JYIAY.js.map +1 -0
- package/dist/{chunk-6XE5TMPR.js → chunk-X4MVWPHV.js} +3 -3
- package/dist/chunk-X4MVWPHV.js.map +1 -0
- package/dist/chunk-XZHEOSQ2.js +16 -0
- package/dist/chunk-XZHEOSQ2.js.map +1 -0
- package/dist/chunk-Y2NBBT6K.js +18 -0
- package/dist/chunk-Y2NBBT6K.js.map +1 -0
- package/dist/{chunk-CZTLE22N.js → chunk-Y2NJBNX3.js} +8 -8
- package/dist/{chunk-CZTLE22N.js.map → chunk-Y2NJBNX3.js.map} +1 -1
- package/dist/{chunk-YTGDPCPW.js → chunk-Y6B6HVKC.js} +2 -2
- package/dist/chunk-YMUFFJCO.js +23 -0
- package/dist/chunk-YMUFFJCO.js.map +1 -0
- package/dist/{chunk-SV6EAJEP.js → chunk-YWWQM7KP.js} +5 -14
- package/dist/chunk-YWWQM7KP.js.map +1 -0
- package/dist/{chunk-UDSR4X4L.js → chunk-YZJSJOUI.js} +239 -16
- package/dist/chunk-YZJSJOUI.js.map +1 -0
- package/dist/{chunk-5WZXVULX.js → chunk-ZTLOXFPB.js} +2 -2
- package/dist/chunk-ZTLOXFPB.js.map +1 -0
- package/dist/classified/index.js +5 -5
- package/dist/{classified-marker-QWMASIT7.js → classified-marker-7PKJBFCG.js} +3 -3
- package/dist/collection-facade-6I5K5IOD.js +45 -0
- package/dist/{computed-DSMPXG2Y.js → computed-AB45PS4V.js} +3 -3
- package/dist/consent/index.js +13 -9
- package/dist/consent/index.js.map +1 -1
- package/dist/cover/index.js +37 -0
- package/dist/crdt/index.js +4 -0
- package/dist/crdt/index.js.map +1 -1
- package/dist/custody/index.js +26 -0
- package/dist/{dead-filter-66VGI6JV.js → dead-filter-FL3WIUZS.js} +2 -2
- package/dist/{chunk-OCVM6KDH.js → delegation-QXZ4MPPH.js} +12 -6
- package/dist/{chunk-OCVM6KDH.js.map → delegation-QXZ4MPPH.js.map} +1 -1
- package/dist/derivations/index.js +12 -12
- package/dist/derive-VGS7FKE3.js +22 -0
- package/dist/directory/index.js +46 -0
- package/dist/dispatch-EGGC7UD7.js +72 -0
- package/dist/dispatch-EGGC7UD7.js.map +1 -0
- package/dist/dispatch-GDSTUTVP.js +194 -0
- package/dist/dispatch-GDSTUTVP.js.map +1 -0
- package/dist/{enclave-TKPN2G2U.js → enclave-SPEEDYZ4.js} +13 -11
- package/dist/executor-IEBLTBCW.js +9 -0
- package/dist/executor-OTF556PL.js +28 -0
- package/dist/executor-RM7XWQDU.js +9 -0
- package/dist/export-accessible-P42BQ4PB.js +23 -0
- package/dist/extract-partition-TCYXRWBN.js +38 -0
- package/dist/{fanout-sidecar-B5LVUMQX.js → fanout-sidecar-SSMRSC2L.js} +9 -9
- package/dist/find-OZMTRIK3.js +11 -0
- package/dist/forget/index.js +11 -11
- package/dist/forget/index.js.map +1 -1
- package/dist/guards/index.js +4 -4
- package/dist/history/index.js +16 -12
- package/dist/history/index.js.map +1 -1
- package/dist/i18n/index.js +16 -14
- package/dist/i18n/index.js.map +1 -1
- package/dist/index.d.ts +42 -42
- package/dist/index.js +332 -2106
- package/dist/index.js.map +1 -1
- package/dist/indexing/index.js +4 -2
- package/dist/indexing/index.js.map +1 -1
- package/dist/introspection/index.js +28 -0
- package/dist/issue-FCKN5O6C.js +19 -0
- package/dist/kernel/best-effort-revert.d.ts +9 -1
- package/dist/kernel/collection-config.d.ts +12 -70
- package/dist/kernel/collection.d.ts +11 -23
- package/dist/kernel/enclave/crypto.d.ts +8 -8
- package/dist/kernel/enclave/index.d.ts +4 -4
- package/dist/kernel/enclave/record-keys/envelope-body.d.ts +8 -0
- package/dist/kernel/errors.d.ts +41 -22
- package/dist/kernel/lazy.d.ts +30 -0
- package/dist/kernel/noydb.d.ts +81 -124
- package/dist/kernel/query/builder.d.ts +10 -10
- package/dist/kernel/query/index.d.ts +0 -6
- package/dist/kernel/query/scan-builder.d.ts +4 -4
- package/dist/kernel/sync-policy.d.ts +76 -4
- package/dist/kernel/types.d.ts +187 -86
- package/dist/kernel/validation.d.ts +33 -33
- package/dist/kernel/vault.d.ts +41 -229
- package/dist/kernel/via/dispatch.d.ts +7 -0
- package/dist/{ledger-PTK7XZYT.js → ledger-6XBEVWYP.js} +11 -11
- package/dist/liberate-CYUOS4NC.js +24 -0
- package/dist/{link-set-SLJHDNRB.js → link-set-NK6L2A5S.js} +11 -11
- package/dist/materialized-views/index.js +22 -19
- package/dist/money/index.js +31 -0
- package/dist/noydb-FZZIMLCI.js +81 -0
- package/dist/overlay-views/index.js +4 -4
- package/dist/periods/index.js +21 -17
- package/dist/pod/index.js +26 -12
- package/dist/{policy-YDLCOX4P.js → policy/index.js} +6 -6
- package/dist/port/with/archive-strategy.d.ts +31 -0
- package/dist/port/with/blob-strategy.d.ts +15 -5
- package/dist/port/with/collection-options.d.ts +171 -0
- package/dist/port/with/collection-registries.d.ts +62 -0
- package/dist/port/with/strategies.d.ts +134 -0
- package/dist/port/with/team-strategy.d.ts +3 -2
- package/dist/portability/index.js +8 -8
- package/dist/{post-register-2YHSADFI.js → post-register-VFIYISUK.js} +6 -6
- package/dist/query/index.js +6 -46
- package/dist/{aggregate → reduce}/index.js +24 -17
- package/dist/reduce/index.js.map +1 -0
- package/dist/register-UKU2J6MN.js +25 -0
- package/dist/registry-2VCWVHZS.js +19 -0
- package/dist/registry-7Y5WF7GS.js +9 -0
- package/dist/{registry-VW6P6A3J.js → registry-BWD2ED52.js} +2 -2
- package/dist/registry-DTWRJLSF.js +18 -0
- package/dist/request-withdrawal-JYDZ5XY2.js +31 -0
- package/dist/{reveal-HWO4YMTJ.js → reveal-CL2BCW6A.js} +6 -6
- package/dist/revoke-2TSAD2T4.js +24 -0
- package/dist/satellites/index.js +1 -1
- package/dist/schema-update/index.js +26 -0
- package/dist/sealed-record/index.js +12 -12
- package/dist/search/index.js +36 -0
- package/dist/{seed-3ZMF5EQA.js → seed-NUVJEL7T.js} +12 -12
- package/dist/seed-NUVJEL7T.js.map +1 -0
- package/dist/sequence/index.js +30 -0
- package/dist/session/index.js +13 -9
- package/dist/session/index.js.map +1 -1
- package/dist/shadow/index.js +6 -2
- package/dist/shadow/index.js.map +1 -1
- package/dist/share-link/index.d.ts +19 -0
- package/dist/share-link/index.js +201 -0
- package/dist/share-link/index.js.map +1 -0
- package/dist/share-link/share-link.d.ts +123 -0
- package/dist/signer-K7Z2EOMG.js +25 -0
- package/dist/snapshots/index.js +14 -10
- package/dist/snapshots/index.js.map +1 -1
- package/dist/{stale-VZL4OGUB.js → stale-A4J26OIC.js} +11 -10
- package/dist/storage-YVHZUISN.js +23 -0
- package/dist/store/index.js +22 -0
- package/dist/{store-coordination-provider-FKX3F6TQ.js → store-coordination-provider-EWRZL7XF.js} +3 -3
- package/dist/sync/index.js +15 -11
- package/dist/sync/index.js.map +1 -1
- package/dist/team/index.js +33 -47
- package/dist/tiers/index.js +10 -10
- package/dist/to/index.js +1 -1
- package/dist/{tx → transactions}/index.js +7 -3
- package/dist/transactions/index.js.map +1 -0
- package/dist/util/index.js +1 -1
- package/dist/{verify-26Y5GNMK.js → verify-7XWHJWUN.js} +5 -5
- package/dist/via/blob/active.d.ts +23 -7
- package/dist/via/blob/binding.d.ts +1 -1
- package/dist/via/blob/index.d.ts +7 -1
- package/dist/via/i18n/core.d.ts +1 -1
- package/dist/via/i18n/index.d.ts +2 -0
- package/dist/via/money/money-reducer.d.ts +2 -2
- package/dist/walk-P5D6CF4V.js +21 -0
- package/dist/with-audit/consent/index.d.ts +2 -0
- package/dist/with-audit/forget/active.d.ts +3 -3
- package/dist/with-audit/forget/index.d.ts +6 -5
- package/dist/with-audit/forget/strategy.d.ts +3 -3
- package/dist/with-audit/guards/executor.d.ts +4 -4
- package/dist/with-audit/guards/immutable-guard.d.ts +3 -3
- package/dist/with-audit/guards/index.d.ts +1 -1
- package/dist/with-audit/guards/registry.d.ts +3 -3
- package/dist/with-audit/guards/transition-guard.d.ts +3 -3
- package/dist/with-audit/guards/types.d.ts +10 -10
- package/dist/with-audit/guards/with-guard.d.ts +2 -2
- package/dist/with-audit/periods/index.d.ts +2 -0
- package/dist/with-audit/periods/periods.d.ts +1 -16
- package/dist/with-audit/periods/vault-facade.d.ts +6 -0
- package/dist/with-audit/periods/window.d.ts +16 -0
- package/dist/with-audit/portability/export-accessible.d.ts +4 -4
- package/dist/with-audit/portability/request-withdrawal.d.ts +3 -3
- package/dist/with-audit/portability/withdraw-accessible.d.ts +2 -2
- package/dist/with-audit/sealed-record/strategy.d.ts +1 -1
- package/dist/with-audit/tiers/index.d.ts +1 -0
- package/dist/with-cargo/adopt-partition.d.ts +7 -7
- package/dist/{legacy/kernel.d.ts → with-cargo/floor.d.ts} +4 -4
- package/dist/with-cargo/index.d.ts +15 -2
- package/dist/with-commit/crdt/index.d.ts +2 -0
- package/dist/with-commit/history/index.d.ts +2 -0
- package/dist/with-commit/history/time-machine.d.ts +2 -2
- package/dist/with-commit/numbering/descriptor.d.ts +16 -6
- package/dist/with-commit/tx/active.d.ts +5 -5
- package/dist/with-commit/tx/index.d.ts +2 -2
- package/dist/with-commit/tx/invariants.d.ts +1 -1
- package/dist/with-commit/tx/strategy.d.ts +3 -3
- package/dist/with-fork/shadow/index.d.ts +2 -0
- package/dist/with-fork/snapshots/active.d.ts +2 -2
- package/dist/with-fork/snapshots/index.d.ts +3 -1
- package/dist/with-fork/snapshots/noydb-facade.d.ts +3 -3
- package/dist/with-fork/snapshots/strategy.d.ts +2 -2
- package/dist/with-formula/derivations/dispatch.d.ts +98 -0
- package/dist/with-formula/derivations/executor.d.ts +2 -2
- package/dist/with-formula/derivations/index.d.ts +4 -1
- package/dist/with-formula/derivations/registry.d.ts +3 -3
- package/dist/with-formula/derivations/stale.d.ts +2 -2
- package/dist/with-formula/derivations/types.d.ts +3 -3
- package/dist/with-formula/derivations/with-derivation.d.ts +2 -2
- package/dist/with-formula/derivations/with-rollup.d.ts +15 -8
- package/dist/with-formula/materialized-views/dependency-analyzer.d.ts +3 -3
- package/dist/with-formula/materialized-views/dispatch.d.ts +75 -0
- package/dist/with-formula/materialized-views/index.d.ts +2 -1
- package/dist/with-formula/materialized-views/registry.d.ts +4 -4
- package/dist/with-formula/materialized-views/types.d.ts +11 -11
- package/dist/with-formula/materialized-views/with-materialized-view.d.ts +2 -2
- package/dist/with-formula/overlay-views/index.d.ts +1 -1
- package/dist/with-formula/overlay-views/registry.d.ts +4 -4
- package/dist/with-formula/overlay-views/types.d.ts +3 -3
- package/dist/with-formula/overlay-views/virtual-collection.d.ts +2 -2
- package/dist/with-formula/overlay-views/with-overlayed-view.d.ts +2 -2
- package/dist/with-lookup/indexing/active.d.ts +5 -5
- package/dist/with-lookup/indexing/index.d.ts +3 -1
- package/dist/with-lookup/indexing/strategy.d.ts +3 -3
- package/dist/with-lookup/{aggregate → reduce}/active.d.ts +8 -8
- package/dist/with-lookup/{aggregate → reduce}/groupby.d.ts +21 -21
- package/dist/with-lookup/reduce/index.d.ts +34 -0
- package/dist/with-lookup/{aggregate → reduce}/reducers.d.ts +11 -12
- package/dist/with-lookup/{aggregate/aggregation.d.ts → reduce/reduction.d.ts} +21 -21
- package/dist/with-lookup/{aggregate → reduce}/strategy.d.ts +15 -15
- package/dist/with-lookup/search/build-docs.d.ts +7 -2
- package/dist/with-lookup/search/index.d.ts +1 -1
- package/dist/with-party/broker/index.d.ts +1 -0
- package/dist/with-party/broker/seed.d.ts +1 -1
- package/dist/with-party/custody/liberate.d.ts +3 -3
- package/dist/with-party/directory/cover/index.d.ts +1 -5
- package/dist/with-party/directory/cover/schema.d.ts +0 -6
- package/dist/with-party/directory/cover/storage.d.ts +0 -8
- package/dist/with-party/directory/cover/types.d.ts +0 -21
- package/dist/with-party/directory/index.d.ts +2 -0
- package/dist/with-party/session/dev-unlock.d.ts +2 -2
- package/dist/with-party/session/index.d.ts +2 -0
- package/dist/with-party/session/session.d.ts +2 -2
- package/dist/with-party/team/deed.d.ts +8 -8
- package/dist/with-party/team/index.d.ts +4 -7
- package/dist/with-party/team/keyring.d.ts +83 -35
- package/dist/with-party/team/{managed-passphrase.d.ts → managed-secret.d.ts} +27 -27
- package/dist/with-party/team/noydb-facade.d.ts +43 -42
- package/dist/with-party/team/peer-recover.d.ts +13 -13
- package/dist/with-party/team/recovery.d.ts +5 -5
- package/dist/with-party/team/rotate-recover.d.ts +30 -30
- package/dist/with-pod/bundle.d.ts +30 -32
- package/dist/with-pod/format.d.ts +2 -2
- package/dist/with-pod/index.d.ts +2 -1
- package/dist/with-shape/blobs/blob-compaction.d.ts +43 -3
- package/dist/with-shape/blobs/blob-pinning.d.ts +112 -0
- package/dist/with-shape/blobs/blob-set.d.ts +86 -2
- package/dist/with-shape/introspection/index.d.ts +6 -0
- package/dist/with-shape/schema-update/index.d.ts +1 -0
- package/dist/with-store/index.d.ts +3 -2
- package/dist/with-store/route-store.d.ts +1 -1
- package/dist/{with-party/team/sync-active.d.ts → with-sync/active.d.ts} +1 -1
- package/dist/{with-party/team/sync-credentials.d.ts → with-sync/credentials.d.ts} +3 -3
- package/dist/{with-party/team/sync.d.ts → with-sync/engine.d.ts} +17 -4
- package/dist/{with-party/sync → with-sync}/index.d.ts +4 -2
- package/dist/with-sync/period-scope.d.ts +78 -0
- package/dist/{with-party/team → with-sync}/presence.d.ts +2 -2
- package/dist/{with-party/team/sync-strategy.d.ts → with-sync/strategy.d.ts} +6 -6
- package/dist/{with-party/team/sync-transaction.d.ts → with-sync/transaction.d.ts} +3 -3
- package/dist/withdraw-accessible-A2PWF5MZ.js +28 -0
- package/dist/withdraw-accessible-A2PWF5MZ.js.map +1 -0
- package/package.json +49 -36
- package/dist/aggregate/index.js.map +0 -1
- package/dist/api-3A3S4SHH.js +0 -20
- package/dist/as/index.js +0 -30
- package/dist/at/index.js +0 -1
- package/dist/bundle/index.js +0 -153
- package/dist/bundle/index.js.map +0 -1
- package/dist/by/index.js +0 -11
- package/dist/chunk-554KLAAN.js.map +0 -1
- package/dist/chunk-5PFOMHTB.js.map +0 -1
- package/dist/chunk-5WZXVULX.js.map +0 -1
- package/dist/chunk-6NQMXTYC.js.map +0 -1
- package/dist/chunk-6XE5TMPR.js.map +0 -1
- package/dist/chunk-A5BDDEXK.js.map +0 -1
- package/dist/chunk-ANATMTOA.js +0 -205
- package/dist/chunk-ANATMTOA.js.map +0 -1
- package/dist/chunk-BOKIKJJB.js.map +0 -1
- package/dist/chunk-CHFZDSE4.js +0 -1
- package/dist/chunk-DDHM2TLX.js.map +0 -1
- package/dist/chunk-DSBQODMZ.js.map +0 -1
- package/dist/chunk-EWPOHMN2.js +0 -255
- package/dist/chunk-EWPOHMN2.js.map +0 -1
- package/dist/chunk-FXZDAV62.js.map +0 -1
- package/dist/chunk-GDG5VVYG.js.map +0 -1
- package/dist/chunk-GWKAVKHI.js.map +0 -1
- package/dist/chunk-H2KSZMIX.js.map +0 -1
- package/dist/chunk-HOONYZY2.js.map +0 -1
- package/dist/chunk-HQBM64EE.js.map +0 -1
- package/dist/chunk-IAO54J4R.js.map +0 -1
- package/dist/chunk-IFJTPAQQ.js.map +0 -1
- package/dist/chunk-IK43HLDQ.js.map +0 -1
- package/dist/chunk-ISMV2QVG.js.map +0 -1
- package/dist/chunk-JBBSYJHP.js.map +0 -1
- package/dist/chunk-JFCV5QIK.js.map +0 -1
- package/dist/chunk-JRBNCUNT.js.map +0 -1
- package/dist/chunk-LB7FD65R.js +0 -163
- package/dist/chunk-LB7FD65R.js.map +0 -1
- package/dist/chunk-ONTBCHCP.js.map +0 -1
- package/dist/chunk-PK6JIDQ4.js.map +0 -1
- package/dist/chunk-RDXW3OBQ.js.map +0 -1
- package/dist/chunk-RFI7GGFO.js.map +0 -1
- package/dist/chunk-S3BFKGET.js.map +0 -1
- package/dist/chunk-SV6EAJEP.js.map +0 -1
- package/dist/chunk-T36RFODW.js.map +0 -1
- package/dist/chunk-T3GY65MA.js.map +0 -1
- package/dist/chunk-TAGR72IR.js.map +0 -1
- package/dist/chunk-TIGPQDYP.js +0 -14
- package/dist/chunk-TIGPQDYP.js.map +0 -1
- package/dist/chunk-U6JMEH2P.js.map +0 -1
- package/dist/chunk-UDSR4X4L.js.map +0 -1
- package/dist/chunk-UHNGNKLV.js.map +0 -1
- package/dist/chunk-VCBHAE4R.js.map +0 -1
- package/dist/chunk-VCTXU4AT.js.map +0 -1
- package/dist/chunk-VEALDPHW.js.map +0 -1
- package/dist/chunk-VKCADNMR.js.map +0 -1
- package/dist/chunk-VQNJ7UZL.js.map +0 -1
- package/dist/chunk-W2OG6JOL.js.map +0 -1
- package/dist/chunk-WG4QBZDN.js.map +0 -1
- package/dist/chunk-WHXXI3W5.js.map +0 -1
- package/dist/chunk-WKGF2TJR.js.map +0 -1
- package/dist/chunk-WNGGJWF7.js.map +0 -1
- package/dist/chunk-XTHCN77N.js.map +0 -1
- package/dist/chunk-YCH5GBN6.js +0 -99
- package/dist/chunk-YCH5GBN6.js.map +0 -1
- package/dist/chunk-YMUGBZN2.js.map +0 -1
- package/dist/collection-facade-KMBWNCYP.js +0 -44
- package/dist/cover-QJRXINN5.js +0 -52
- package/dist/delegation-SU6CV3W7.js +0 -25
- package/dist/derive-6RWU4EOA.js +0 -21
- package/dist/executor-KGNLJD6M.js +0 -9
- package/dist/executor-UX4FASYZ.js +0 -26
- package/dist/executor-XGIS6CR7.js +0 -9
- package/dist/export-accessible-LKW3QV22.js +0 -23
- package/dist/extract-partition-UP2ARO75.js +0 -38
- package/dist/find-YS6XWB46.js +0 -11
- package/dist/in/index.js +0 -1
- package/dist/issue-3ACYX7LO.js +0 -19
- package/dist/legacy/bundle.d.ts +0 -30
- package/dist/liberate-MQQXBUCY.js +0 -24
- package/dist/noydb-ANIW5FLE.js +0 -69
- package/dist/on/index.js +0 -17
- package/dist/port/as/index.d.ts +0 -26
- package/dist/port/at/index.d.ts +0 -18
- package/dist/port/in/index.d.ts +0 -21
- package/dist/port/on/index.d.ts +0 -27
- package/dist/port/ui/index.d.ts +0 -21
- package/dist/port/with/index.d.ts +0 -18
- package/dist/register-PAM3ASRZ.js +0 -23
- package/dist/registry-4S2U2TR4.js +0 -19
- package/dist/registry-NPOWJHC4.js +0 -9
- package/dist/registry-VZ3CCI2R.js +0 -18
- package/dist/request-withdrawal-DI3H5WUI.js +0 -31
- package/dist/revoke-R5CZSVUT.js +0 -24
- package/dist/seed-3ZMF5EQA.js.map +0 -1
- package/dist/signer-MBVHW4WE.js +0 -25
- package/dist/storage-3MEJUENZ.js +0 -23
- package/dist/tx/index.js.map +0 -1
- package/dist/ui/index.js +0 -1
- package/dist/with/index.js +0 -31
- package/dist/with-lookup/aggregate/index.d.ts +0 -23
- package/dist/withdraw-accessible-TZDATQVR.js +0 -28
- /package/dist/{api-3A3S4SHH.js.map → api-ZDKTWNBB.js.map} +0 -0
- /package/dist/{backup-YPUEKIJC.js.map → backup-2UX7PRM5.js.map} +0 -0
- /package/dist/{chunk-IY23KFNZ.js.map → chunk-35NMVJ7I.js.map} +0 -0
- /package/dist/{chunk-RTEK4C4I.js.map → chunk-4JQK3L4V.js.map} +0 -0
- /package/dist/{chunk-3ELCWU56.js.map → chunk-4ZKNC6A6.js.map} +0 -0
- /package/dist/{chunk-VAIS3SOM.js.map → chunk-55LX6FSX.js.map} +0 -0
- /package/dist/{chunk-6HPG2YNX.js.map → chunk-5DRROK5W.js.map} +0 -0
- /package/dist/{chunk-S6Q37VGE.js.map → chunk-5GQEU4DN.js.map} +0 -0
- /package/dist/{chunk-ZXEZCY6F.js.map → chunk-63FE525P.js.map} +0 -0
- /package/dist/{chunk-JVBO4SZL.js.map → chunk-6UBZ6I5Z.js.map} +0 -0
- /package/dist/{chunk-VRBTNCM4.js.map → chunk-ABS7FMMD.js.map} +0 -0
- /package/dist/{chunk-M75ZZHSR.js.map → chunk-BLBAQRBM.js.map} +0 -0
- /package/dist/{chunk-WOM2HTML.js.map → chunk-CI32CAFS.js.map} +0 -0
- /package/dist/{chunk-EO43ANYJ.js.map → chunk-DABACXEF.js.map} +0 -0
- /package/dist/{chunk-CJ5KKU6X.js.map → chunk-DMH3VZU5.js.map} +0 -0
- /package/dist/{chunk-WZSHL6DQ.js.map → chunk-DZ2JXHWK.js.map} +0 -0
- /package/dist/{chunk-Z4PD65VQ.js.map → chunk-EE7UHLKH.js.map} +0 -0
- /package/dist/{chunk-RNG4VRP4.js.map → chunk-EKRSCRNM.js.map} +0 -0
- /package/dist/{chunk-MT62YSPZ.js.map → chunk-FRMPM7WG.js.map} +0 -0
- /package/dist/{as/index.js.map → chunk-GJW4HX2O.js.map} +0 -0
- /package/dist/{chunk-KS6SAVCZ.js.map → chunk-GU3IP74F.js.map} +0 -0
- /package/dist/{chunk-SMIRGMS7.js.map → chunk-IXNCZTWA.js.map} +0 -0
- /package/dist/{chunk-WQIYTNJV.js.map → chunk-IXTSNGYY.js.map} +0 -0
- /package/dist/{chunk-NCCBLYEB.js.map → chunk-JJZGIE4U.js.map} +0 -0
- /package/dist/{chunk-DRWBEDYO.js.map → chunk-JYJFGD2H.js.map} +0 -0
- /package/dist/{chunk-XJMBYYQK.js.map → chunk-LNZKOUJR.js.map} +0 -0
- /package/dist/{chunk-R3BLCFD2.js.map → chunk-MBKVNOJS.js.map} +0 -0
- /package/dist/{chunk-N6WF5PKC.js.map → chunk-NFZGZ4AK.js.map} +0 -0
- /package/dist/{chunk-THVIPWRF.js.map → chunk-PEATRIYJ.js.map} +0 -0
- /package/dist/{chunk-YZQOGE2L.js.map → chunk-QDIH2744.js.map} +0 -0
- /package/dist/{chunk-6HY2X62D.js.map → chunk-QJNCB5SK.js.map} +0 -0
- /package/dist/{chunk-2PCAVW2I.js.map → chunk-SHEEBRZ4.js.map} +0 -0
- /package/dist/{chunk-RA5VTXXG.js.map → chunk-V6UQZA2H.js.map} +0 -0
- /package/dist/{chunk-QDPZWTN2.js.map → chunk-W3G5REIU.js.map} +0 -0
- /package/dist/{chunk-A4FXFAKF.js.map → chunk-W3L64Y3J.js.map} +0 -0
- /package/dist/{chunk-XDIAFPUM.js.map → chunk-WLXMTYGO.js.map} +0 -0
- /package/dist/{chunk-RJ6K6K5M.js.map → chunk-X3F5YJG2.js.map} +0 -0
- /package/dist/{chunk-YTGDPCPW.js.map → chunk-Y6B6HVKC.js.map} +0 -0
- /package/dist/{classified-marker-QWMASIT7.js.map → classified-marker-7PKJBFCG.js.map} +0 -0
- /package/dist/{at/index.js.map → collection-facade-6I5K5IOD.js.map} +0 -0
- /package/dist/{by/index.js.map → computed-AB45PS4V.js.map} +0 -0
- /package/dist/{in → cover}/index.js.map +0 -0
- /package/dist/{on → custody}/index.js.map +0 -0
- /package/dist/{dead-filter-66VGI6JV.js.map → dead-filter-FL3WIUZS.js.map} +0 -0
- /package/dist/{chunk-CHFZDSE4.js.map → derive-VGS7FKE3.js.map} +0 -0
- /package/dist/{ui → directory}/index.js.map +0 -0
- /package/dist/{collection-facade-KMBWNCYP.js.map → enclave-SPEEDYZ4.js.map} +0 -0
- /package/dist/{computed-DSMPXG2Y.js.map → executor-IEBLTBCW.js.map} +0 -0
- /package/dist/{cover-QJRXINN5.js.map → executor-OTF556PL.js.map} +0 -0
- /package/dist/{delegation-SU6CV3W7.js.map → executor-RM7XWQDU.js.map} +0 -0
- /package/dist/{derive-6RWU4EOA.js.map → export-accessible-P42BQ4PB.js.map} +0 -0
- /package/dist/{enclave-TKPN2G2U.js.map → extract-partition-TCYXRWBN.js.map} +0 -0
- /package/dist/{fanout-sidecar-B5LVUMQX.js.map → fanout-sidecar-SSMRSC2L.js.map} +0 -0
- /package/dist/{executor-KGNLJD6M.js.map → find-OZMTRIK3.js.map} +0 -0
- /package/dist/{with → introspection}/index.js.map +0 -0
- /package/dist/{executor-UX4FASYZ.js.map → issue-FCKN5O6C.js.map} +0 -0
- /package/dist/{executor-XGIS6CR7.js.map → ledger-6XBEVWYP.js.map} +0 -0
- /package/dist/{export-accessible-LKW3QV22.js.map → liberate-CYUOS4NC.js.map} +0 -0
- /package/dist/{extract-partition-UP2ARO75.js.map → link-set-NK6L2A5S.js.map} +0 -0
- /package/dist/{find-YS6XWB46.js.map → money/index.js.map} +0 -0
- /package/dist/{issue-3ACYX7LO.js.map → noydb-FZZIMLCI.js.map} +0 -0
- /package/dist/{ledger-PTK7XZYT.js.map → policy/index.js.map} +0 -0
- /package/dist/{post-register-2YHSADFI.js.map → post-register-VFIYISUK.js.map} +0 -0
- /package/dist/{liberate-MQQXBUCY.js.map → register-UKU2J6MN.js.map} +0 -0
- /package/dist/{link-set-SLJHDNRB.js.map → registry-2VCWVHZS.js.map} +0 -0
- /package/dist/{noydb-ANIW5FLE.js.map → registry-7Y5WF7GS.js.map} +0 -0
- /package/dist/{policy-YDLCOX4P.js.map → registry-BWD2ED52.js.map} +0 -0
- /package/dist/{register-PAM3ASRZ.js.map → registry-DTWRJLSF.js.map} +0 -0
- /package/dist/{registry-4S2U2TR4.js.map → request-withdrawal-JYDZ5XY2.js.map} +0 -0
- /package/dist/{reveal-HWO4YMTJ.js.map → reveal-CL2BCW6A.js.map} +0 -0
- /package/dist/{registry-NPOWJHC4.js.map → revoke-2TSAD2T4.js.map} +0 -0
- /package/dist/{registry-VW6P6A3J.js.map → schema-update/index.js.map} +0 -0
- /package/dist/{registry-VZ3CCI2R.js.map → search/index.js.map} +0 -0
- /package/dist/{request-withdrawal-DI3H5WUI.js.map → sequence/index.js.map} +0 -0
- /package/dist/{revoke-R5CZSVUT.js.map → signer-K7Z2EOMG.js.map} +0 -0
- /package/dist/{signer-MBVHW4WE.js.map → stale-A4J26OIC.js.map} +0 -0
- /package/dist/{stale-VZL4OGUB.js.map → storage-YVHZUISN.js.map} +0 -0
- /package/dist/{storage-3MEJUENZ.js.map → store/index.js.map} +0 -0
- /package/dist/{store-coordination-provider-FKX3F6TQ.js.map → store-coordination-provider-EWRZL7XF.js.map} +0 -0
- /package/dist/{verify-26Y5GNMK.js.map → verify-7XWHJWUN.js.map} +0 -0
- /package/dist/{withdraw-accessible-TZDATQVR.js.map → walk-P5D6CF4V.js.map} +0 -0
- /package/dist/with-lookup/{aggregate → reduce}/canonical-key.d.ts +0 -0
- /package/dist/{with-party → with-sync}/tab-coordination.d.ts +0 -0
- /package/dist/{with-party → with-sync}/tab-write-relay.d.ts +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Secret validation — phrase format (per the three-tier session-tiers
|
|
3
3
|
* design, locked 2026-05-04).
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Secrets are **phrases**: multiple simple words, easy to remember,
|
|
6
6
|
* structurally constrained so a weak choice cannot silently collapse the
|
|
7
7
|
* security floor. The format is intentionally narrow: lowercase letters
|
|
8
8
|
* and single spaces only, no punctuation, no symbols, no digits.
|
|
@@ -12,17 +12,17 @@
|
|
|
12
12
|
* - Per-word minimum: 3 characters (excludes "a", "is", "of").
|
|
13
13
|
* - Adjacent repeats rejected ("the the").
|
|
14
14
|
*
|
|
15
|
-
* The hub runs validation default-on at every
|
|
16
|
-
* (`createOwnerKeyring`, `grant`, `
|
|
17
|
-
* CLI scripts override via `{
|
|
15
|
+
* The hub runs validation default-on at every secret ingress
|
|
16
|
+
* (`createOwnerKeyring`, `grant`, `rotateSecret`); test fixtures and
|
|
17
|
+
* CLI scripts override via `{ allowWeakSecret: true }`.
|
|
18
18
|
*
|
|
19
19
|
* @module
|
|
20
20
|
*/
|
|
21
21
|
import { NoydbError } from './errors.js';
|
|
22
22
|
/** All reasons a phrase can be rejected. */
|
|
23
|
-
export type
|
|
24
|
-
/** Per-vault knobs. Aligns with `VaultPolicy.
|
|
25
|
-
export interface
|
|
23
|
+
export type WeakSecretReason = 'empty' | 'invalid-chars' | 'leading-or-trailing-space' | 'double-space' | 'too-few-words' | 'word-too-short' | 'repeated-adjacent';
|
|
24
|
+
/** Per-vault knobs. Aligns with `VaultPolicy.secret`. */
|
|
25
|
+
export interface SecretPolicy {
|
|
26
26
|
/** Minimum number of words. Default 6. Strict policy uses 8. */
|
|
27
27
|
readonly minWords?: number;
|
|
28
28
|
/** Minimum characters per word. Default 3. */
|
|
@@ -42,7 +42,7 @@ export interface PassphrasePolicy {
|
|
|
42
42
|
* // Thai + English mix with digits permitted
|
|
43
43
|
* pattern: /^[\p{L}0-9 ]+( [\p{L}0-9 ]+)*$/u
|
|
44
44
|
*
|
|
45
|
-
* // Allow uppercase + hyphens (
|
|
45
|
+
* // Allow uppercase + hyphens (secret-with-hyphens style)
|
|
46
46
|
* pattern: /^[A-Za-z]+([- ][A-Za-z]+)*$/
|
|
47
47
|
* ```
|
|
48
48
|
*
|
|
@@ -55,7 +55,7 @@ export interface PassphrasePolicy {
|
|
|
55
55
|
readonly pattern?: RegExp;
|
|
56
56
|
/**
|
|
57
57
|
* Replace ALL validation entirely with a custom function. When set,
|
|
58
|
-
* none of the other
|
|
58
|
+
* none of the other SecretPolicy fields apply — the consumer
|
|
59
59
|
* owns every rule (word splitting, character classes, entropy
|
|
60
60
|
* thresholds, allowlist/denylist). Use sparingly; this is the
|
|
61
61
|
* escape hatch for domain-specific phrase formats:
|
|
@@ -64,50 +64,50 @@ export interface PassphrasePolicy {
|
|
|
64
64
|
* - BIP-39 seed phrases (24 words, fixed wordlist, etc.)
|
|
65
65
|
* - Organization-specific HR password policies
|
|
66
66
|
*
|
|
67
|
-
* The returned `
|
|
68
|
-
* {@link
|
|
69
|
-
* `ok: false` throws `
|
|
67
|
+
* The returned `SecretValidationResult` is what
|
|
68
|
+
* {@link assertStrongSecret} dispatches on — `ok: true` accepts;
|
|
69
|
+
* `ok: false` throws `WeakSecretError` with the supplied reason.
|
|
70
70
|
*
|
|
71
71
|
*/
|
|
72
|
-
readonly customValidator?: (phrase: string) =>
|
|
72
|
+
readonly customValidator?: (phrase: string) => SecretValidationResult;
|
|
73
73
|
}
|
|
74
74
|
/** Result of a check. Discriminated union — compile-time exhaustive. */
|
|
75
|
-
export type
|
|
75
|
+
export type SecretValidationResult = {
|
|
76
76
|
readonly ok: true;
|
|
77
77
|
readonly words: number;
|
|
78
78
|
} | {
|
|
79
79
|
readonly ok: false;
|
|
80
|
-
readonly reason:
|
|
80
|
+
readonly reason: WeakSecretReason;
|
|
81
81
|
readonly minimum?: number;
|
|
82
82
|
readonly got?: number;
|
|
83
83
|
};
|
|
84
84
|
/**
|
|
85
|
-
* Thrown by `
|
|
86
|
-
* point (`createOwnerKeyring`, `grant`, `
|
|
85
|
+
* Thrown by `assertStrongSecret()` and by every hub ingress
|
|
86
|
+
* point (`createOwnerKeyring`, `grant`, `rotateSecret`) when a
|
|
87
87
|
* supplied phrase fails the structural rules above.
|
|
88
88
|
*/
|
|
89
|
-
export declare class
|
|
90
|
-
readonly reason:
|
|
89
|
+
export declare class WeakSecretError extends NoydbError {
|
|
90
|
+
readonly reason: WeakSecretReason;
|
|
91
91
|
readonly suggestion: string;
|
|
92
|
-
constructor(reason:
|
|
92
|
+
constructor(reason: WeakSecretReason, suggestion: string);
|
|
93
93
|
}
|
|
94
94
|
/**
|
|
95
95
|
* Inspect a phrase against the format rules and return a structured
|
|
96
96
|
* verdict. Never throws — callers either branch on `ok` or pass the
|
|
97
|
-
* result to {@link
|
|
97
|
+
* result to {@link assertStrongSecret} for the throwing flavour.
|
|
98
98
|
*/
|
|
99
|
-
export declare function
|
|
99
|
+
export declare function validateSecret(s: string, opts?: SecretPolicy): SecretValidationResult;
|
|
100
100
|
/**
|
|
101
|
-
* Throw {@link
|
|
102
|
-
* `createOwnerKeyring`, `grant`, and `
|
|
101
|
+
* Throw {@link WeakSecretError} when the phrase fails. Used by
|
|
102
|
+
* `createOwnerKeyring`, `grant`, and `rotateSecret` at ingress.
|
|
103
103
|
*
|
|
104
|
-
* Pass `{
|
|
104
|
+
* Pass `{ allowWeakSecret: true }` to bypass — intended for test
|
|
105
105
|
* fixtures, CLI scripts, and dev environments. The override never
|
|
106
106
|
* loosens the cryptographic key derivation; it only relaxes the
|
|
107
107
|
* structural-strength gate.
|
|
108
108
|
*/
|
|
109
|
-
export declare function
|
|
110
|
-
|
|
109
|
+
export declare function assertStrongSecret(s: string, opts?: SecretPolicy & {
|
|
110
|
+
allowWeakSecret?: boolean;
|
|
111
111
|
}): void;
|
|
112
112
|
/**
|
|
113
113
|
* Estimate the entropy of a phrase, given the EFF 7,776-word list as
|
|
@@ -117,14 +117,14 @@ export declare function assertStrongPassphrase(s: string, opts?: PassphrasePolic
|
|
|
117
117
|
* estimates aren't comparable to phrase entropy, and surfacing 0 makes
|
|
118
118
|
* weak inputs visible in any UI that displays an entropy meter.
|
|
119
119
|
*/
|
|
120
|
-
export declare function estimateEntropy(
|
|
120
|
+
export declare function estimateEntropy(secret: string): number;
|
|
121
121
|
/**
|
|
122
122
|
* Internal compatibility shim. Older code paths used the throwing
|
|
123
|
-
* `
|
|
124
|
-
* to the new `
|
|
123
|
+
* `validateSecret(s)` directly; some still do via re-exports. Routes
|
|
124
|
+
* to the new `assertStrongSecret` so the contract holds for both
|
|
125
125
|
* shapes during the transition. New code should call
|
|
126
|
-
* {@link
|
|
126
|
+
* {@link assertStrongSecret} directly.
|
|
127
127
|
*
|
|
128
128
|
* @internal
|
|
129
129
|
*/
|
|
130
|
-
export declare function
|
|
130
|
+
export declare function legacyAssertSecret(s: string): void;
|
package/dist/kernel/vault.d.ts
CHANGED
|
@@ -1,86 +1,58 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { OpenCollectionOptions } from '../port/with/collection-options.js';
|
|
2
|
+
import type { StrategyBag } from '../port/with/strategies.js';
|
|
3
|
+
import type { NoydbStore, EncryptedEnvelope, HistoryConfig, ExportStreamOptions, ExportChunk, CollectionConflictResolver, CrossTierAccessEvent, Role, VaultUserApi, CollectionShape, SensitiveOf, IndexedOf, MoneyOf } from './types.js';
|
|
2
4
|
import type { Noydb } from './noydb.js';
|
|
3
5
|
import type { IssueDelegationOptions, DelegationToken } from '../with-party/team/delegation.js';
|
|
4
6
|
import { Collection } from './collection.js';
|
|
5
|
-
import type { CacheOptions } from './collection.js';
|
|
6
7
|
import type { JoinableSource } from './query/index.js';
|
|
7
8
|
import type { OnDirtyCallback } from './collection.js';
|
|
8
9
|
import type { UnlockedKeyring, BundleRecipient } from '../with-party/team/keyring.js';
|
|
9
|
-
import { type PortabilityStrategy } from '../with-audit/portability/strategy.js';
|
|
10
10
|
import type { MaterializedViewRegistry } from '../with-formula/materialized-views/registry.js';
|
|
11
|
-
import type {
|
|
11
|
+
import type { MaterializedViewStrategy } from '../with-formula/materialized-views/types.js';
|
|
12
12
|
import type { OverlayedViewRegistry } from '../with-formula/overlay-views/registry.js';
|
|
13
|
-
import type {
|
|
13
|
+
import type { OverlayedViewStrategy } from '../with-formula/overlay-views/types.js';
|
|
14
14
|
import type { Cover } from '../with-party/directory/cover/types.js';
|
|
15
|
-
import type { ExportFormat, KeyringFile
|
|
15
|
+
import type { ExportFormat, KeyringFile } from './types.js';
|
|
16
16
|
import { ElevatedHandle } from '../with-commit/tx/elevated-handle.js';
|
|
17
17
|
import type { NoydbEventEmitter } from './events.js';
|
|
18
|
-
import type { StandardSchemaV1 } from './schema.js';
|
|
19
|
-
import type { BlobStrategy } from '../port/with/blob-strategy.js';
|
|
20
18
|
import type { ObjectProjection } from '../with-shape/blobs/object-projection.js';
|
|
21
|
-
import type {
|
|
22
|
-
import type { ArchivePolicy, ArchiveResult, ArchiveRunOptions } from '../with-fork/archive/index.js';
|
|
19
|
+
import type { ArchiveResult, ArchiveRunOptions } from '../with-fork/archive/index.js';
|
|
23
20
|
import { type SequenceHandle, type FormattedSequenceHandle, type SequenceOptions } from '../with-commit/sequence/index.js';
|
|
24
|
-
import { type SequenceStrategy } from '../with-commit/sequence/strategy.js';
|
|
25
21
|
import { type Assignment } from '../with-commit/numbering/index.js';
|
|
26
22
|
import type { DeferredNumberingConfig } from '../with-commit/numbering/descriptor.js';
|
|
27
|
-
import type {
|
|
28
|
-
import type { LazyStrategy } from '../port/with/lazy-strategy.js';
|
|
29
|
-
import type { AggregateStrategy } from '../with-lookup/aggregate/strategy.js';
|
|
30
|
-
import type { CrdtStrategy } from './types.js';
|
|
31
|
-
import type { TiersStrategy, TierMoveResult } from '../with-audit/tiers/strategy.js';
|
|
32
|
-
import type { SearchStrategy } from '../with-lookup/search/strategy.js';
|
|
23
|
+
import type { TierMoveResult } from '../with-audit/tiers/strategy.js';
|
|
33
24
|
import { type CargoStrategy } from '../with-cargo/strategy.js';
|
|
34
|
-
import { type
|
|
25
|
+
import { type CredentialBrokerHandle } from '../port/with/broker-strategy.js';
|
|
35
26
|
import type { LedgerStore } from '../with-commit/history/ledger/store.js';
|
|
36
27
|
import type { VaultInstant } from '../with-commit/history/time-machine.js';
|
|
37
|
-
import { type
|
|
38
|
-
import { type ForgetStrategy, type ForgetResult } from '../with-audit/forget/strategy.js';
|
|
28
|
+
import { type ForgetResult } from '../with-audit/forget/strategy.js';
|
|
39
29
|
import { type SubjectRef } from '../with-audit/forget/subject-index.js';
|
|
40
30
|
import type { VaultFrame } from '../with-fork/shadow/vault-frame.js';
|
|
41
|
-
import { type ShadowStrategy } from '../with-fork/shadow/strategy.js';
|
|
42
31
|
import type { ConsentContext, ConsentAuditEntry, ConsentAuditFilter, ConsentOp } from '../with-audit/consent/consent.js';
|
|
43
|
-
import { type ConsentStrategy } from '../with-audit/consent/strategy.js';
|
|
44
|
-
import { type PeriodsStrategy } from '../with-audit/periods/strategy.js';
|
|
45
32
|
import { type RefDescriptor, type RefViolation } from './refs.js';
|
|
46
|
-
import type { DictionaryHandle, DictionaryOptions
|
|
47
|
-
import { // #653
|
|
48
|
-
type LookupDescriptor } from '../port/with/lookup-strategy.js';
|
|
33
|
+
import type { DictionaryHandle, DictionaryOptions } from '../port/with/i18n-strategy.js';
|
|
49
34
|
import { type LinkSpec, type LinkSetHandle } from '../with-shape/links/names.js';
|
|
50
|
-
import type { EmbeddingDescriptor } from '../with-lookup/embeddings/index.js';
|
|
51
|
-
import type { ComputedFields } from '../with-formula/computed/index.js';
|
|
52
|
-
import { type I18nStrategy, type I18nTextDescriptor } from '../port/with/i18n-strategy.js';
|
|
53
|
-
import { type ViaFieldSpec } from './via/compose.js';
|
|
54
35
|
import { ViaGraph } from './via/graph.js';
|
|
55
36
|
import { type RollupDeleteIntent } from './via/dispatch.js';
|
|
56
|
-
import { type SyncStrategy } from '../with-party/team/sync-strategy.js';
|
|
57
37
|
import type { GuardRegistry } from '../with-audit/guards/registry.js';
|
|
58
|
-
import type {
|
|
38
|
+
import type { GuardStrategyAny } from '../with-audit/guards/types.js';
|
|
59
39
|
import type { ReadOnlyVaultFacade } from '../with-audit/guards/read-only-facade.js';
|
|
60
40
|
import type { DerivationRegistry } from '../with-formula/derivations/registry.js';
|
|
61
|
-
import type {
|
|
62
|
-
import type { ConflictPolicy } from './types.js';
|
|
63
|
-
import type { CrdtMode } from '../with-commit/crdt/crdt.js';
|
|
41
|
+
import type { DerivationStrategy } from '../with-formula/derivations/types.js';
|
|
64
42
|
import type { JoinedHandle } from '../with-shape/satellites/types.js';
|
|
65
43
|
import { type PeriodRecord, type ClosePeriodOptions, type OpenPeriodOptions } from '../with-audit/periods/index.js';
|
|
66
44
|
import { type EnclaveKey } from './enclave/index.js';
|
|
67
|
-
import type { RecipientSealer } from '../with-party/team/managed-
|
|
45
|
+
import type { RecipientSealer } from '../with-party/team/managed-secret.js';
|
|
68
46
|
import { type ExportBlobsOptions, type ExportBlobsHandle } from '../with-shape/blobs/export-blobs.js';
|
|
69
|
-
import { type
|
|
47
|
+
import { type CompactRunOptions, type CompactionResult } from '../with-shape/blobs/blob-compaction.js';
|
|
70
48
|
import { type IssueMagicLinkGrantOptions, type MagicLinkGrantRecord } from '../with-party/team/magic-link-grant.js';
|
|
71
49
|
import { CustodyApi } from '../with-party/custody/index.js';
|
|
72
50
|
import { SchemaFenceController } from '../with-shape/schema-update/fence-controller.js';
|
|
73
51
|
import { type FenceDoc } from '../with-shape/schema-update/fence.js';
|
|
74
|
-
import type {
|
|
75
|
-
import type { AttestationFieldSchema, RevocationList } from '@noy-db/attestation';
|
|
76
|
-
import { type AttestationStrategy } from '../with-audit/attestation/vault-facade.js';
|
|
77
|
-
import { type SealedRecordStrategy } from '../with-audit/sealed-record/strategy.js';
|
|
52
|
+
import type { RevocationList } from '@noy-db/attestation';
|
|
78
53
|
import type { DumpSchemaOptions, VaultSchemaSnapshot, SchemaIntrospection } from '../with-shape/introspection/types.js';
|
|
79
54
|
import type { VaultIntrospectState } from '../with-shape/introspection/walk.js';
|
|
80
|
-
import type {
|
|
81
|
-
import type { CollectionMeta, VaultMeta } from '../with-shape/introspection/meta.js';
|
|
82
|
-
import { type ClassifiedEntry, type ClassifiedStrategy } from '../port/with/classified-strategy.js';
|
|
83
|
-
/** A vault (tenant namespace) containing collections. */
|
|
55
|
+
import type { VaultMeta } from '../with-shape/introspection/meta.js';
|
|
84
56
|
export declare class Vault {
|
|
85
57
|
#private;
|
|
86
58
|
private readonly adapter;
|
|
@@ -99,36 +71,20 @@ export declare class Vault {
|
|
|
99
71
|
private readonly syncAdapter;
|
|
100
72
|
private readonly getPurgeableTargets;
|
|
101
73
|
private readonly historyConfig;
|
|
102
|
-
/**
|
|
103
|
-
*
|
|
104
|
-
|
|
74
|
+
/**
|
|
75
|
+
* Every opt-in service, resolved once by `createNoydb` (#838). Shared by
|
|
76
|
+
* reference with the owning `Noydb` and with every `Collection` this vault
|
|
77
|
+
* opens, so all three always agree about which services are enabled.
|
|
78
|
+
*/
|
|
79
|
+
private readonly strategies;
|
|
105
80
|
private readonly objectStore;
|
|
106
|
-
/** Cold-storage archival strategy (the archive target store). */
|
|
107
|
-
private readonly archiveStrategy;
|
|
108
81
|
/** Per-collection record archival policies. Indexed by collection name. */
|
|
109
82
|
private readonly archiveRegistry;
|
|
110
|
-
private readonly indexStrategy;
|
|
111
|
-
private readonly lazyStrategy;
|
|
112
|
-
private readonly aggregateStrategy;
|
|
113
|
-
private readonly crdtStrategy;
|
|
114
|
-
private readonly tiersStrategy;
|
|
115
|
-
private readonly searchStrategy;
|
|
116
|
-
/** Cargo (partition extraction) strategy — `NO_CARGO` (throwing) unless `withCargo()` was passed.
|
|
117
|
-
* Public so the `extractPartition` free function (which takes a `Vault`) routes through it. */
|
|
118
|
-
readonly cargoStrategy: CargoStrategy;
|
|
119
|
-
private readonly brokerStrategy;
|
|
120
|
-
private readonly sealedRecordStrategy;
|
|
121
|
-
private readonly portabilityStrategy;
|
|
122
|
-
private readonly sequenceStrategy;
|
|
123
|
-
private readonly consentStrategy;
|
|
124
83
|
private readonly periods;
|
|
125
84
|
private readonly linksEnforcer;
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
private readonly i18nStrategy;
|
|
130
|
-
private readonly syncStrategy;
|
|
131
|
-
private readonly classifiedStrategy;
|
|
85
|
+
/** Cargo (partition extraction) strategy — `NO_CARGO` (throwing) unless `withCargo()` was passed.
|
|
86
|
+
* Public so the `extractPartition` free function (which takes a `Vault`) routes through it. */
|
|
87
|
+
get cargoStrategy(): CargoStrategy;
|
|
132
88
|
/** Per-vault guard registry; `null` until `_initGuards()` runs (or for vaults that never register
|
|
133
89
|
* one) — the runtime class is dynamic-imported on demand to keep it out of the floor bundle. */
|
|
134
90
|
private guardRegistry;
|
|
@@ -177,7 +133,7 @@ export declare class Vault {
|
|
|
177
133
|
* @see docs/superpowers/specs/2026-06-17-fr6-deed-custodian-liberate-design.md
|
|
178
134
|
*/
|
|
179
135
|
readonly custody: CustodyApi;
|
|
180
|
-
/** Re-derives an UnlockedKeyring from the adapter using the active user's
|
|
136
|
+
/** Re-derives an UnlockedKeyring from the adapter using the active user's secret; called by
|
|
181
137
|
* `load()` after the on-disk keyring file has been replaced. Provided by Noydb at openVault()
|
|
182
138
|
* time; `undefined` in tests that construct Vault directly (load() then skips the refresh). */
|
|
183
139
|
private readonly reloadKeyring;
|
|
@@ -317,31 +273,15 @@ export declare class Vault {
|
|
|
317
273
|
* `undefined` => every `collection.blob(id)` throws with a pointer
|
|
318
274
|
* at `@noy-db/hub/blobs`.
|
|
319
275
|
*/
|
|
320
|
-
|
|
276
|
+
/**
|
|
277
|
+
* Every opt-in service, already resolved by `createNoydb` (#838). Not
|
|
278
|
+
* optional: a Vault cannot be built without it, which is what makes the
|
|
279
|
+
* partially-populated construction path of #834 unrepresentable.
|
|
280
|
+
*/
|
|
281
|
+
strategies: StrategyBag;
|
|
321
282
|
objectStore?: ObjectProjection | undefined;
|
|
322
|
-
|
|
323
|
-
indexStrategy?: IndexStrategy | undefined;
|
|
324
|
-
lazyStrategy?: LazyStrategy | undefined;
|
|
325
|
-
aggregateStrategy?: AggregateStrategy | undefined;
|
|
326
|
-
crdtStrategy?: CrdtStrategy | undefined;
|
|
327
|
-
tiersStrategy?: TiersStrategy | undefined;
|
|
328
|
-
searchStrategy?: SearchStrategy | undefined;
|
|
329
|
-
cargoStrategy?: CargoStrategy | undefined;
|
|
330
|
-
brokerStrategy?: BrokerStrategy | undefined;
|
|
331
|
-
consentStrategy?: ConsentStrategy | undefined;
|
|
332
|
-
periodsStrategy?: PeriodsStrategy | undefined;
|
|
333
|
-
shadowStrategy?: ShadowStrategy | undefined;
|
|
334
|
-
historyStrategy?: HistoryStrategy | undefined;
|
|
335
|
-
i18nStrategy?: I18nStrategy | undefined;
|
|
336
|
-
syncStrategy?: SyncStrategy | undefined;
|
|
337
|
-
guardStrategies?: ReadonlyArray<GuardStrategyHandleAny> | undefined;
|
|
283
|
+
guardStrategies?: ReadonlyArray<GuardStrategyAny> | undefined;
|
|
338
284
|
numberingConfigs?: ReadonlyArray<DeferredNumberingConfig> | undefined;
|
|
339
|
-
forgetStrategy?: ForgetStrategy | undefined;
|
|
340
|
-
attestationStrategy?: AttestationStrategy | undefined;
|
|
341
|
-
classifiedStrategy?: ClassifiedStrategy | undefined;
|
|
342
|
-
sealedRecordStrategy?: SealedRecordStrategy | undefined;
|
|
343
|
-
portabilityStrategy?: PortabilityStrategy | undefined;
|
|
344
|
-
sequenceStrategy?: SequenceStrategy | undefined;
|
|
345
285
|
/** Vault-level descriptive metadata — set once at construction (first-wins). */
|
|
346
286
|
meta?: VaultMeta | undefined;
|
|
347
287
|
});
|
|
@@ -386,131 +326,7 @@ export declare class Vault {
|
|
|
386
326
|
/** Assembles {@link ViaReconcileVaultCtx} — the plain structural bag the #664 `via/reconcile.ts`
|
|
387
327
|
* dispatch reads/writes — from this vault's OWN privates, rather than passing `this` itself. */
|
|
388
328
|
private _viaReconcileCtx;
|
|
389
|
-
collection<T,
|
|
390
|
-
indexes?: readonly IndexDefFor<IndexFieldName<T, S, Q>>[];
|
|
391
|
-
/** — auto-reconcile policy for persisted-index drift. */
|
|
392
|
-
reconcileOnOpen?: 'off' | 'dry-run' | 'auto';
|
|
393
|
-
prefetch?: boolean;
|
|
394
|
-
cache?: CacheOptions;
|
|
395
|
-
schema?: StandardSchemaV1<unknown, T>;
|
|
396
|
-
refs?: Record<string, RefDescriptor>;
|
|
397
|
-
/** — declare i18nText fields for locale-aware reads. */
|
|
398
|
-
i18nFields?: Record<string, I18nTextDescriptor>;
|
|
399
|
-
/** — embedding config for write-time vector derivation + semantic retrieval. */
|
|
400
|
-
embeddings?: EmbeddingDescriptor;
|
|
401
|
-
/** — string fields exposed to client-side `retrieve()`. */
|
|
402
|
-
textIndexes?: readonly IndexFieldName<T, S>[];
|
|
403
|
-
/** — pre-build the lexical index on open (eager-only). */
|
|
404
|
-
warmIndexOnOpen?: boolean;
|
|
405
|
-
/** — persist the lexical index as an opaque encrypted blob at `_ftindex/<name>`. */
|
|
406
|
-
textIndexPersist?: boolean;
|
|
407
|
-
/** — declare dictKey / staticDict fields for label resolution on reads. */
|
|
408
|
-
dictKeyFields?: Record<string, DictKeyDescriptor | StaticDictDescriptor>;
|
|
409
|
-
/** — declare lookup() / enumOf() / dict() fields (#650 Task 2 — the 'lookup' via binding's three tiers). */
|
|
410
|
-
lookupFields?: Record<string, LookupDescriptor>;
|
|
411
|
-
/** Consumer-neutral per-field descriptors (label/unit/semanticType/sensitivity…). See collection.describe(). */
|
|
412
|
-
fieldMeta?: Record<string, FieldMeta>;
|
|
413
|
-
/** The collection's own descriptive metadata (label/description/icon). See collection.describe(). */
|
|
414
|
-
meta?: CollectionMeta;
|
|
415
|
-
/** — declare money() fields for currency-safe decimal storage/formatting. */
|
|
416
|
-
moneyFields?: MoneyFieldsOpt<T, M>;
|
|
417
|
-
viaFields?: Record<string, ViaFieldSpec>;
|
|
418
|
-
/** — declare computed scalar fields, evaluated on write (schema-owned). Each entry may be
|
|
419
|
-
* a plain `(record) => value` function, OR `{ fn, deps }` to declare source fields for
|
|
420
|
-
* taint propagation (#638 Task 7 — supersedes the retired `computedDeps` option). */
|
|
421
|
-
computed?: ComputedFields<T>;
|
|
422
|
-
/** — declare classified() sensitive-field descriptors. See the classified-fields spec. */
|
|
423
|
-
classifiedFields?: Record<string, ClassifiedEntry>;
|
|
424
|
-
/** — per-collection conflict resolution policy. */
|
|
425
|
-
conflictPolicy?: ConflictPolicy<T>;
|
|
426
|
-
/** — CRDT mode for collaborative editing without conflicts. */
|
|
427
|
-
crdt?: CrdtMode;
|
|
428
|
-
/**
|
|
429
|
-
* declare deterministic-encryption fields for blind
|
|
430
|
-
* equality search. See `Collection` constructor docs for the full
|
|
431
|
-
* trade-off. Requires `acknowledgeDeterministicRisk: true`.
|
|
432
|
-
*/
|
|
433
|
-
deterministicFields?: readonly IndexFieldName<T, S>[];
|
|
434
|
-
/** — explicit ack that deterministic encryption leaks equality. */
|
|
435
|
-
acknowledgeDeterministicRisk?: boolean;
|
|
436
|
-
/** — explicit ack for the classified `equatable` knob (R8 door). Required
|
|
437
|
-
* when any classified field declares `equatable: true`. */
|
|
438
|
-
acknowledgeEquatableRisk?: boolean;
|
|
439
|
-
/**
|
|
440
|
-
* — structural group-encryption. Fields sealed into their own
|
|
441
|
-
* `_sealed[field]` envelope slot (per-field key), kept out of the open
|
|
442
|
-
* `_data` blob. Default-off; byte-identical output when absent.
|
|
443
|
-
*/
|
|
444
|
-
sensitive?: SensitiveOpt<T, S>;
|
|
445
|
-
/**
|
|
446
|
-
* — per-record content-encryption keys. When `true`, every record
|
|
447
|
-
* body is encrypted under a fresh per-record CEK wrapped under the
|
|
448
|
-
* collection DEK (`_cek`), stable across versions. Foundation for
|
|
449
|
-
* per-record erasure / record-scoped sealing. Off by
|
|
450
|
-
* default; non-adopting collections take the legacy path unchanged.
|
|
451
|
-
*/
|
|
452
|
-
perRecordKeys?: boolean;
|
|
453
|
-
satelliteOf?: string;
|
|
454
|
-
fields?: readonly string[];
|
|
455
|
-
joined?: string;
|
|
456
|
-
/**
|
|
457
|
-
* Per-record provenance tracking. When `true`, `put()` calls that
|
|
458
|
-
* supply a `source` option stamp `_source` / `_sourceTs` onto the
|
|
459
|
-
* unencrypted envelope metadata. Off by default.
|
|
460
|
-
*/
|
|
461
|
-
provenance?: boolean;
|
|
462
|
-
/**
|
|
463
|
-
* declarative blob retention / TTL policy per slot
|
|
464
|
-
* name. Values are `{ retainDays?, evictWhen? }`. Evaluated only
|
|
465
|
-
* when `vault.compact()` runs.
|
|
466
|
-
*/
|
|
467
|
-
blobFields?: BlobFieldsConfig<T>;
|
|
468
|
-
blobTierPolicy?: 'isolate' | 'dedup';
|
|
469
|
-
/** — declarative record archival policy: `{ archiveWhen, legalHold? }`. Evaluated when `vault.archive()` runs. */
|
|
470
|
-
archive?: ArchivePolicy<T>;
|
|
471
|
-
/** — declared tiers for this collection. */
|
|
472
|
-
tiers?: readonly number[];
|
|
473
|
-
/** — how lower-tier reads see above-tier records. */
|
|
474
|
-
tierMode?: TierMode;
|
|
475
|
-
/**
|
|
476
|
-
* Opt-in persisted JSON Schema. When `true` AND a Zod `schema` is
|
|
477
|
-
* provided, hub derives a JSON Schema via `zod-to-json-schema`
|
|
478
|
-
* (optional peer-dep) and writes an encrypted snapshot to
|
|
479
|
-
* `_schemas/<collectionName>`. Re-runs on every open; hash-skip
|
|
480
|
-
* avoids write churn when the schema is unchanged.
|
|
481
|
-
*
|
|
482
|
-
* Default: `false`. Non-Zod Standard Schema validators receive a
|
|
483
|
-
* stub envelope flagging the kind without a JSON Schema body.
|
|
484
|
-
*
|
|
485
|
-
* @see docs/superpowers/specs/2026-05-22-schema-dump-design.md
|
|
486
|
-
*/
|
|
487
|
-
persistJsonSchema?: boolean;
|
|
488
|
-
/**
|
|
489
|
-
* Ordered schema-update strategies. On a detected schema
|
|
490
|
-
* change, evaluated in order; the first non-`allow` decision wins.
|
|
491
|
-
* A `reject` is enforced at the write path (`put`/`delete` throw).
|
|
492
|
-
* Requires `persistJsonSchema: true` (detection needs the baseline).
|
|
493
|
-
*/
|
|
494
|
-
schemaUpdate?: readonly SchemaUpdateStrategy[];
|
|
495
|
-
/** — declare the per-field schema for document attestation (issue side). */
|
|
496
|
-
attestation?: AttestationFieldSchema;
|
|
497
|
-
/**
|
|
498
|
-
* Per-collection history & tamper-ledger scoping. Overrides the
|
|
499
|
-
* vault-wide `history` config for THIS collection only (wholesale, not
|
|
500
|
-
* merged). `enabled: false` suppresses per-record snapshots for this
|
|
501
|
-
* collection; `ledger: false` excludes its writes from the vault-wide
|
|
502
|
-
* hash-chained tamper ledger. Lets you confine version snapshots +
|
|
503
|
-
* tamper-evidence to the few collections where they carry legal weight,
|
|
504
|
-
* without paying snapshot + ledger-entry-per-write across operational /
|
|
505
|
-
* derived collections. Defaults to the vault-wide `history` config.
|
|
506
|
-
*/
|
|
507
|
-
historyConfig?: HistoryConfig;
|
|
508
|
-
/**
|
|
509
|
-
* Opt-in: keep the working set encrypted in RAM, decrypting on read (future phase).
|
|
510
|
-
* Default false — the working set is plaintext.
|
|
511
|
-
*/
|
|
512
|
-
ramCiphertext?: boolean;
|
|
513
|
-
}): Collection<T, S, Q, M>;
|
|
329
|
+
collection<T, O extends CollectionShape<T> = Record<never, never>>(collectionName: string, options?: OpenCollectionOptions<T, SensitiveOf<T, O>, IndexedOf<T, O>, MoneyOf<T, O>>): Collection<T, SensitiveOf<T, O>, IndexedOf<T, O>, MoneyOf<T, O>>;
|
|
514
330
|
/** Full-record handle for a satellite pair registered with `joined:` (spec #591). Narrow type — not a Collection. */
|
|
515
331
|
joined<T extends Record<string, unknown>>(name: string): JoinedHandle<T>;
|
|
516
332
|
/**
|
|
@@ -750,7 +566,7 @@ export declare class Vault {
|
|
|
750
566
|
* is re-keyed for distinct recipients.
|
|
751
567
|
*
|
|
752
568
|
* Each recipient becomes its own `KeyringFile` sealed with that
|
|
753
|
-
* recipient's
|
|
569
|
+
* recipient's secret. The DEKs wrapped into each slot are
|
|
754
570
|
* exactly those the recipient's role + permissions justify, and
|
|
755
571
|
* never wider than the source keyring's own DEK set
|
|
756
572
|
* (privilege-escalation check).
|
|
@@ -1022,7 +838,7 @@ export declare class Vault {
|
|
|
1022
838
|
* stay decryptable; migrate, then re-forget) and `blobResidueCollections` (blob attachments, keyed
|
|
1023
839
|
* off a separate `_blob` DEK, out of scope here).
|
|
1024
840
|
*
|
|
1025
|
-
* @throws ForgetStrategyNotConfiguredError when no `
|
|
841
|
+
* @throws ForgetStrategyNotConfiguredError when no `withForget` was set.
|
|
1026
842
|
*/
|
|
1027
843
|
forget(subjectId: string): Promise<ForgetResult>;
|
|
1028
844
|
/**
|
|
@@ -1102,7 +918,7 @@ export declare class Vault {
|
|
|
1102
918
|
* accessor `_getReadOnlyFacade()` (called from the tx amendment
|
|
1103
919
|
* runner) stays synchronous.
|
|
1104
920
|
*/
|
|
1105
|
-
_initGuards(handles: ReadonlyArray<
|
|
921
|
+
_initGuards(handles: ReadonlyArray<GuardStrategyAny>): Promise<void>;
|
|
1106
922
|
/**
|
|
1107
923
|
* @internal — The gate handler in Noydb.#registerGuardGate calls into
|
|
1108
924
|
* this. Returns `null` for vaults that never registered any guard
|
|
@@ -1118,7 +934,7 @@ export declare class Vault {
|
|
|
1118
934
|
* bundle for consumers that don't use derivations. Throws
|
|
1119
935
|
* `DerivationCycleError` if a cycle is detected after registration.
|
|
1120
936
|
*/
|
|
1121
|
-
_initDerivations(handles: ReadonlyArray<
|
|
937
|
+
_initDerivations(handles: ReadonlyArray<DerivationStrategy>): Promise<void>;
|
|
1122
938
|
/**
|
|
1123
939
|
* @internal — consumed by `Collection.put` at write-time. Returns
|
|
1124
940
|
* `null` for vaults that never registered any derivation strategy.
|
|
@@ -1133,7 +949,7 @@ export declare class Vault {
|
|
|
1133
949
|
* the MV service out of the floor bundle (mirrors the derivation lazy-import pattern).
|
|
1134
950
|
* Throws `MaterializedViewCycleError` if a cycle is detected.
|
|
1135
951
|
*/
|
|
1136
|
-
_initMaterializedViews(handles: ReadonlyArray<
|
|
952
|
+
_initMaterializedViews(handles: ReadonlyArray<MaterializedViewStrategy>): Promise<void>;
|
|
1137
953
|
/**
|
|
1138
954
|
* @internal — consumed by `Collection.put` at write-time. Returns
|
|
1139
955
|
* `null` for vaults that never registered any MV strategy.
|
|
@@ -1145,7 +961,7 @@ export declare class Vault {
|
|
|
1145
961
|
* validates against the MV registry for name/base/overlay collisions.
|
|
1146
962
|
* Throws on validation failure.
|
|
1147
963
|
*/
|
|
1148
|
-
_initOverlayedViews(handles: ReadonlyArray<
|
|
964
|
+
_initOverlayedViews(handles: ReadonlyArray<OverlayedViewStrategy>): Promise<void>;
|
|
1149
965
|
/**
|
|
1150
966
|
* @internal — consumed by `Vault.collection()`. Returns `null` for
|
|
1151
967
|
* vaults with no overlays registered.
|
|
@@ -1519,10 +1335,6 @@ export declare class Vault {
|
|
|
1519
1335
|
getCover(opts?: {
|
|
1520
1336
|
readonly locale?: string;
|
|
1521
1337
|
}): Promise<Cover | undefined>;
|
|
1522
|
-
/** @deprecated Use {@link Vault.getCover} (#799 rename). */
|
|
1523
|
-
getPublicEnvelope(opts?: {
|
|
1524
|
-
readonly locale?: string;
|
|
1525
|
-
}): Promise<Cover | undefined>;
|
|
1526
1338
|
/**
|
|
1527
1339
|
* Dump vault as a verifiable encrypted JSON backup string.
|
|
1528
1340
|
*
|
|
@@ -192,4 +192,11 @@ export declare function forgetDerivedFanout(vault: VaultLike, ref: {
|
|
|
192
192
|
readonly collection: string;
|
|
193
193
|
readonly id: string;
|
|
194
194
|
}, envelope: EncryptedEnvelope | null, stats: ForgetFanoutStats, lookupCompareKeys: ReadonlyMap<string, string | undefined>): Promise<void>;
|
|
195
|
+
/**
|
|
196
|
+
* Value-equality for a single self-write reverse-denorm field. Scalars
|
|
197
|
+
* compare by identity; objects by canonical JSON (denorm values should be
|
|
198
|
+
* deterministically shaped). Used as the cycle guard — when every denorm
|
|
199
|
+
* field already matches, no write is issued and the self-write recursion ends.
|
|
200
|
+
*/
|
|
201
|
+
export declare function selfWriteFieldEqual(a: unknown, b: unknown): boolean;
|
|
195
202
|
export {};
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
LedgerStore,
|
|
4
4
|
applyPatch,
|
|
5
5
|
computePatch
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-ABS7FMMD.js";
|
|
7
7
|
import {
|
|
8
8
|
LEDGER_COLLECTION,
|
|
9
9
|
LEDGER_DELTAS_COLLECTION
|
|
@@ -15,16 +15,16 @@ import {
|
|
|
15
15
|
paddedIndex,
|
|
16
16
|
parseIndex,
|
|
17
17
|
sha256Hex
|
|
18
|
-
} from "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
18
|
+
} from "./chunk-IXTSNGYY.js";
|
|
19
|
+
import "./chunk-G2JUIDFA.js";
|
|
20
|
+
import "./chunk-W3L64Y3J.js";
|
|
21
|
+
import "./chunk-35NMVJ7I.js";
|
|
22
|
+
import "./chunk-NFZGZ4AK.js";
|
|
23
|
+
import "./chunk-QJNCB5SK.js";
|
|
24
24
|
import "./chunk-LP7BEXCT.js";
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-AKKRXT23.js";
|
|
26
|
+
import "./chunk-QBAC3GXA.js";
|
|
27
|
+
import "./chunk-QZWTRENR.js";
|
|
28
28
|
import "./chunk-PZ5AY32C.js";
|
|
29
29
|
export {
|
|
30
30
|
LEDGER_COLLECTION,
|
|
@@ -39,4 +39,4 @@ export {
|
|
|
39
39
|
parseIndex,
|
|
40
40
|
sha256Hex
|
|
41
41
|
};
|
|
42
|
-
//# sourceMappingURL=ledger-
|
|
42
|
+
//# sourceMappingURL=ledger-6XBEVWYP.js.map
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import {
|
|
2
|
+
liberateVault
|
|
3
|
+
} from "./chunk-H2GPHUZD.js";
|
|
4
|
+
import "./chunk-FQZ6XTQ7.js";
|
|
5
|
+
import "./chunk-I5GEJX3R.js";
|
|
6
|
+
import "./chunk-X45JYIAY.js";
|
|
7
|
+
import "./chunk-LNPUSMZL.js";
|
|
8
|
+
import "./chunk-TUXQSFHZ.js";
|
|
9
|
+
import "./chunk-BLCWSJLN.js";
|
|
10
|
+
import "./chunk-JJZGIE4U.js";
|
|
11
|
+
import "./chunk-G2JUIDFA.js";
|
|
12
|
+
import "./chunk-W3L64Y3J.js";
|
|
13
|
+
import "./chunk-35NMVJ7I.js";
|
|
14
|
+
import "./chunk-NFZGZ4AK.js";
|
|
15
|
+
import "./chunk-QJNCB5SK.js";
|
|
16
|
+
import "./chunk-LP7BEXCT.js";
|
|
17
|
+
import "./chunk-AKKRXT23.js";
|
|
18
|
+
import "./chunk-QBAC3GXA.js";
|
|
19
|
+
import "./chunk-QZWTRENR.js";
|
|
20
|
+
import "./chunk-PZ5AY32C.js";
|
|
21
|
+
export {
|
|
22
|
+
liberateVault
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=liberate-CYUOS4NC.js.map
|