@noy-db/hub 0.4.0-pre.1 → 0.4.0-pre.11
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-LU2DTZTI.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 +53 -43
- package/dist/{chunk-YTGDPCPW.js → chunk-2J6UEN2V.js} +42 -18
- package/dist/chunk-2J6UEN2V.js.map +1 -0
- 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-XS3PKM6I.js → chunk-3V3XR4S4.js} +4 -13
- package/dist/{walk-XS3PKM6I.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-TOPYT5U5.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-BMQWTQZ4.js → chunk-7YVBQJ7K.js} +13 -355
- package/dist/chunk-7YVBQJ7K.js.map +1 -0
- package/dist/{chunk-UFEVO57O.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-3SV2EPMN.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-G6EQYAL6.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-2P7EGNKF.js → chunk-CXQW2NWO.js} +145 -3
- package/dist/chunk-CXQW2NWO.js.map +1 -0
- package/dist/{chunk-6B4DYGWO.js → chunk-DABACXEF.js} +3 -3
- package/dist/{chunk-F6T6L2UK.js → chunk-DMH3VZU5.js} +4 -4
- package/dist/chunk-DSDXAKIP.js +50 -0
- package/dist/chunk-DSDXAKIP.js.map +1 -0
- package/dist/{chunk-MQ6WOPSY.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-UBNCR3YK.js → chunk-EE7UHLKH.js} +4 -4
- package/dist/chunk-EIPVYUEP.js +654 -0
- package/dist/chunk-EIPVYUEP.js.map +1 -0
- package/dist/{chunk-EGCRBCNA.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-LB6OH6K2.js → chunk-FQZ6XTQ7.js} +17 -20
- package/dist/chunk-FQZ6XTQ7.js.map +1 -0
- package/dist/{chunk-IRQY7IR5.js → chunk-FRMPM7WG.js} +4 -4
- package/dist/{chunk-DVUZMT2W.js → chunk-G2JUIDFA.js} +9 -9
- package/dist/{chunk-DVUZMT2W.js.map → chunk-G2JUIDFA.js.map} +1 -1
- package/dist/{chunk-RND5ZPNP.js → chunk-G6WWZNJP.js} +13 -13
- package/dist/chunk-G6WWZNJP.js.map +1 -0
- package/dist/chunk-GJW4HX2O.js +1 -0
- package/dist/{chunk-T6GU5PPZ.js → chunk-GU3IP74F.js} +6 -6
- package/dist/{chunk-5OI6BR4H.js → chunk-GWWOGNBK.js} +308 -18
- package/dist/chunk-GWWOGNBK.js.map +1 -0
- package/dist/{chunk-UNCOC7QH.js → chunk-H2GPHUZD.js} +12 -13
- package/dist/chunk-H2GPHUZD.js.map +1 -0
- package/dist/{chunk-7CI6CP7Z.js → chunk-HMU5P6RL.js} +5 -5
- package/dist/chunk-HMU5P6RL.js.map +1 -0
- package/dist/{chunk-YJV2UZ7H.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-MTQPRQHB.js → chunk-IPUG56GJ.js} +15 -5
- package/dist/{chunk-MTQPRQHB.js.map → chunk-IPUG56GJ.js.map} +1 -1
- package/dist/{chunk-SMIRGMS7.js → chunk-IXNCZTWA.js} +2 -2
- package/dist/{chunk-RM2XV574.js → chunk-IXTSNGYY.js} +3 -3
- package/dist/{chunk-KUPKLSX5.js → chunk-IYZISPGD.js} +7 -5
- package/dist/chunk-IYZISPGD.js.map +1 -0
- package/dist/{chunk-SMGEYW6G.js → chunk-JDOMW53O.js} +26 -16
- package/dist/chunk-JDOMW53O.js.map +1 -0
- package/dist/{chunk-PK6QCH2C.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-HPUWOVR7.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-A7JJLVGH.js → chunk-LNPUSMZL.js} +29 -31
- package/dist/chunk-LNPUSMZL.js.map +1 -0
- package/dist/{chunk-KUIB4B5Q.js → chunk-LNZKOUJR.js} +2 -2
- package/dist/{chunk-IM3QVF53.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-BGK233EA.js → chunk-N4BBNYIB.js} +11 -9
- package/dist/chunk-N4BBNYIB.js.map +1 -0
- package/dist/{chunk-3PF6CRDT.js → chunk-NFIBXF4V.js} +1082 -1583
- package/dist/chunk-NFIBXF4V.js.map +1 -0
- package/dist/{chunk-LOF2W3JU.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-2IALOXZS.js → chunk-NM5UYF6Q.js} +2 -2
- 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-CCOP5XDW.js → chunk-NZ24MX4J.js} +8 -46
- package/dist/chunk-NZ24MX4J.js.map +1 -0
- package/dist/{chunk-KWVJAOIN.js → chunk-OLEPKFTW.js} +4 -4
- package/dist/chunk-OLEPKFTW.js.map +1 -0
- package/dist/{chunk-OF75ACKS.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-LSASLXGC.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-N55W7KUL.js → chunk-QDIH2744.js} +2 -2
- package/dist/{chunk-6HY2X62D.js → chunk-QJNCB5SK.js} +2 -2
- package/dist/{chunk-4BRCIYFG.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-J6Q7UVQE.js → chunk-TUXQSFHZ.js} +4 -16
- package/dist/{chunk-J6Q7UVQE.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-ZEQWCBCM.js → chunk-UDHBXYGG.js} +27 -5
- 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-WEYZTLXN.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-CBSY2N76.js → chunk-WLXMTYGO.js} +2 -2
- package/dist/{chunk-3U3FBR7O.js → chunk-X3F5YJG2.js} +2 -2
- package/dist/{chunk-GQNGCEP5.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-DDATL6PU.js → chunk-Y2NJBNX3.js} +8 -8
- package/dist/{chunk-DDATL6PU.js.map → chunk-Y2NJBNX3.js.map} +1 -1
- package/dist/chunk-YMUFFJCO.js +23 -0
- package/dist/chunk-YMUFFJCO.js.map +1 -0
- package/dist/{chunk-O7WJ47EF.js → chunk-YWWQM7KP.js} +5 -14
- package/dist/chunk-YWWQM7KP.js.map +1 -0
- package/dist/{chunk-7O3AYBC7.js → chunk-YZJSJOUI.js} +235 -65
- 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-WQVIJAW2.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-2A7IAJ3D.js → dead-filter-FL3WIUZS.js} +2 -2
- package/dist/{chunk-GYYCX5K6.js → delegation-QXZ4MPPH.js} +12 -6
- package/dist/{chunk-GYYCX5K6.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-7MW6ZGXW.js → enclave-SPEEDYZ4.js} +11 -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-WDYQ77VB.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 +6 -6
- 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 +330 -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 +3 -3
- 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 +146 -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-33BC4TR7.js → ledger-6XBEVWYP.js} +11 -11
- package/dist/liberate-CYUOS4NC.js +24 -0
- package/dist/{link-set-QK22TDEX.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 +15 -13
- package/dist/pod/index.js +26 -12
- package/dist/{policy-NAHB2TUT.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-JVTMJ6OW.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-LGBOM2BO.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-PWK45HDF.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/signer-K7Z2EOMG.js +25 -0
- package/dist/snapshots/index.js +14 -10
- package/dist/snapshots/index.js.map +1 -1
- package/dist/{stale-FJED42DM.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-APODTV4W.js → store-coordination-provider-EWRZL7XF.js} +3 -3
- package/dist/sync/index.js +15 -12
- package/dist/sync/index.js.map +1 -1
- package/dist/team/index.js +33 -48
- 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/vault-facade.d.ts +6 -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 +9 -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} +5 -5
- package/dist/{with-party/sync → with-sync}/index.d.ts +4 -2
- package/dist/{with-party/team/sync-period-scope.d.ts → with-sync/period-scope.d.ts} +2 -2
- 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/package.json +45 -36
- package/dist/aggregate/index.js.map +0 -1
- package/dist/api-IQFZJSQO.js +0 -20
- package/dist/as/index.js +0 -30
- package/dist/at/index.js +0 -1
- package/dist/bundle/index.js +0 -105
- package/dist/by/index.js +0 -11
- package/dist/chunk-2IALOXZS.js.map +0 -1
- package/dist/chunk-2MUZ3LY6.js +0 -205
- package/dist/chunk-2MUZ3LY6.js.map +0 -1
- package/dist/chunk-2P7EGNKF.js.map +0 -1
- package/dist/chunk-3PF6CRDT.js.map +0 -1
- package/dist/chunk-3SV2EPMN.js.map +0 -1
- package/dist/chunk-4BRCIYFG.js.map +0 -1
- package/dist/chunk-5OI6BR4H.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-7CI6CP7Z.js.map +0 -1
- package/dist/chunk-7O3AYBC7.js.map +0 -1
- package/dist/chunk-A5BDDEXK.js.map +0 -1
- package/dist/chunk-A7JJLVGH.js.map +0 -1
- package/dist/chunk-BGK233EA.js.map +0 -1
- package/dist/chunk-BMQWTQZ4.js.map +0 -1
- package/dist/chunk-BOKIKJJB.js.map +0 -1
- package/dist/chunk-CCOP5XDW.js.map +0 -1
- package/dist/chunk-CHFZDSE4.js +0 -1
- package/dist/chunk-DDHM2TLX.js.map +0 -1
- package/dist/chunk-GQNGCEP5.js.map +0 -1
- package/dist/chunk-GVZQ4NAM.js +0 -14
- package/dist/chunk-GVZQ4NAM.js.map +0 -1
- package/dist/chunk-GWKAVKHI.js.map +0 -1
- package/dist/chunk-HOONYZY2.js.map +0 -1
- package/dist/chunk-HPUWOVR7.js.map +0 -1
- package/dist/chunk-ISMV2QVG.js.map +0 -1
- package/dist/chunk-JBBSYJHP.js.map +0 -1
- package/dist/chunk-JRBNCUNT.js.map +0 -1
- package/dist/chunk-JZWWLLVY.js +0 -99
- package/dist/chunk-JZWWLLVY.js.map +0 -1
- package/dist/chunk-KUPKLSX5.js.map +0 -1
- package/dist/chunk-KWVJAOIN.js.map +0 -1
- package/dist/chunk-LB6OH6K2.js.map +0 -1
- package/dist/chunk-LB7FD65R.js +0 -163
- package/dist/chunk-LB7FD65R.js.map +0 -1
- package/dist/chunk-LOF2W3JU.js.map +0 -1
- package/dist/chunk-LSASLXGC.js.map +0 -1
- package/dist/chunk-O7WJ47EF.js.map +0 -1
- package/dist/chunk-ONTBCHCP.js.map +0 -1
- package/dist/chunk-PT37L5DV.js +0 -255
- package/dist/chunk-PT37L5DV.js.map +0 -1
- package/dist/chunk-RDXW3OBQ.js.map +0 -1
- package/dist/chunk-RND5ZPNP.js.map +0 -1
- package/dist/chunk-S3BFKGET.js.map +0 -1
- package/dist/chunk-SMGEYW6G.js.map +0 -1
- package/dist/chunk-T36RFODW.js.map +0 -1
- package/dist/chunk-TAGR72IR.js.map +0 -1
- package/dist/chunk-UNCOC7QH.js.map +0 -1
- package/dist/chunk-VCBHAE4R.js.map +0 -1
- package/dist/chunk-VEALDPHW.js.map +0 -1
- package/dist/chunk-VQNJ7UZL.js.map +0 -1
- package/dist/chunk-W2OG6JOL.js.map +0 -1
- package/dist/chunk-WNGGJWF7.js.map +0 -1
- package/dist/chunk-YJV2UZ7H.js.map +0 -1
- package/dist/chunk-YMUGBZN2.js.map +0 -1
- package/dist/chunk-YTGDPCPW.js.map +0 -1
- package/dist/chunk-ZEQWCBCM.js.map +0 -1
- package/dist/collection-facade-MJXSC3Q6.js +0 -44
- package/dist/cover-B5SJDHR3.js +0 -52
- package/dist/delegation-A5A75KQO.js +0 -25
- package/dist/derive-HJSMH7RA.js +0 -21
- package/dist/executor-AXE4XMLT.js +0 -26
- package/dist/executor-KGNLJD6M.js +0 -9
- package/dist/executor-XGIS6CR7.js +0 -9
- package/dist/export-accessible-VVBJM3MM.js +0 -23
- package/dist/extract-partition-LGGBTQET.js +0 -38
- package/dist/find-YS6XWB46.js +0 -11
- package/dist/in/index.js +0 -1
- package/dist/issue-LSR5PS6H.js +0 -19
- package/dist/legacy/bundle.d.ts +0 -30
- package/dist/liberate-GBSAYLPJ.js +0 -24
- package/dist/noydb-MTUBMWFE.js +0 -70
- 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-X462DNDM.js +0 -23
- package/dist/registry-3XMCT7MQ.js +0 -18
- package/dist/registry-KHD2I3M2.js +0 -19
- package/dist/registry-NPOWJHC4.js +0 -9
- package/dist/request-withdrawal-U7K3JTMY.js +0 -31
- package/dist/revoke-OCWDSWRQ.js +0 -24
- package/dist/seed-PWK45HDF.js.map +0 -1
- package/dist/signer-3YFBLZRN.js +0 -25
- package/dist/storage-W3GURVFU.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-Y3B2535F.js +0 -28
- /package/dist/{api-IQFZJSQO.js.map → api-ZDKTWNBB.js.map} +0 -0
- /package/dist/{backup-LU2DTZTI.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-TOPYT5U5.js.map → chunk-63FE525P.js.map} +0 -0
- /package/dist/{chunk-JVBO4SZL.js.map → chunk-6UBZ6I5Z.js.map} +0 -0
- /package/dist/{chunk-UFEVO57O.js.map → chunk-ABS7FMMD.js.map} +0 -0
- /package/dist/{chunk-M75ZZHSR.js.map → chunk-BLBAQRBM.js.map} +0 -0
- /package/dist/{chunk-G6EQYAL6.js.map → chunk-CI32CAFS.js.map} +0 -0
- /package/dist/{chunk-6B4DYGWO.js.map → chunk-DABACXEF.js.map} +0 -0
- /package/dist/{chunk-F6T6L2UK.js.map → chunk-DMH3VZU5.js.map} +0 -0
- /package/dist/{chunk-MQ6WOPSY.js.map → chunk-DZ2JXHWK.js.map} +0 -0
- /package/dist/{chunk-UBNCR3YK.js.map → chunk-EE7UHLKH.js.map} +0 -0
- /package/dist/{chunk-EGCRBCNA.js.map → chunk-EKRSCRNM.js.map} +0 -0
- /package/dist/{chunk-IRQY7IR5.js.map → chunk-FRMPM7WG.js.map} +0 -0
- /package/dist/{as/index.js.map → chunk-GJW4HX2O.js.map} +0 -0
- /package/dist/{chunk-T6GU5PPZ.js.map → chunk-GU3IP74F.js.map} +0 -0
- /package/dist/{chunk-SMIRGMS7.js.map → chunk-IXNCZTWA.js.map} +0 -0
- /package/dist/{chunk-RM2XV574.js.map → chunk-IXTSNGYY.js.map} +0 -0
- /package/dist/{chunk-PK6QCH2C.js.map → chunk-JJZGIE4U.js.map} +0 -0
- /package/dist/{chunk-DRWBEDYO.js.map → chunk-JYJFGD2H.js.map} +0 -0
- /package/dist/{chunk-KUIB4B5Q.js.map → chunk-LNZKOUJR.js.map} +0 -0
- /package/dist/{chunk-IM3QVF53.js.map → chunk-MBKVNOJS.js.map} +0 -0
- /package/dist/{chunk-N6WF5PKC.js.map → chunk-NFZGZ4AK.js.map} +0 -0
- /package/dist/{chunk-OF75ACKS.js.map → chunk-PEATRIYJ.js.map} +0 -0
- /package/dist/{chunk-N55W7KUL.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-WEYZTLXN.js.map → chunk-W3L64Y3J.js.map} +0 -0
- /package/dist/{chunk-CBSY2N76.js.map → chunk-WLXMTYGO.js.map} +0 -0
- /package/dist/{chunk-3U3FBR7O.js.map → chunk-X3F5YJG2.js.map} +0 -0
- /package/dist/{classified-marker-WQVIJAW2.js.map → classified-marker-7PKJBFCG.js.map} +0 -0
- /package/dist/{at/index.js.map → collection-facade-6I5K5IOD.js.map} +0 -0
- /package/dist/{bundle/index.js.map → computed-AB45PS4V.js.map} +0 -0
- /package/dist/{by → cover}/index.js.map +0 -0
- /package/dist/{in → custody}/index.js.map +0 -0
- /package/dist/{dead-filter-2A7IAJ3D.js.map → dead-filter-FL3WIUZS.js.map} +0 -0
- /package/dist/{chunk-CHFZDSE4.js.map → derive-VGS7FKE3.js.map} +0 -0
- /package/dist/{on → directory}/index.js.map +0 -0
- /package/dist/{collection-facade-MJXSC3Q6.js.map → enclave-SPEEDYZ4.js.map} +0 -0
- /package/dist/{computed-DSMPXG2Y.js.map → executor-IEBLTBCW.js.map} +0 -0
- /package/dist/{cover-B5SJDHR3.js.map → executor-OTF556PL.js.map} +0 -0
- /package/dist/{delegation-A5A75KQO.js.map → executor-RM7XWQDU.js.map} +0 -0
- /package/dist/{derive-HJSMH7RA.js.map → export-accessible-P42BQ4PB.js.map} +0 -0
- /package/dist/{enclave-7MW6ZGXW.js.map → extract-partition-TCYXRWBN.js.map} +0 -0
- /package/dist/{fanout-sidecar-WDYQ77VB.js.map → fanout-sidecar-SSMRSC2L.js.map} +0 -0
- /package/dist/{executor-AXE4XMLT.js.map → find-OZMTRIK3.js.map} +0 -0
- /package/dist/{ui → introspection}/index.js.map +0 -0
- /package/dist/{executor-KGNLJD6M.js.map → issue-FCKN5O6C.js.map} +0 -0
- /package/dist/{executor-XGIS6CR7.js.map → ledger-6XBEVWYP.js.map} +0 -0
- /package/dist/{export-accessible-VVBJM3MM.js.map → liberate-CYUOS4NC.js.map} +0 -0
- /package/dist/{extract-partition-LGGBTQET.js.map → link-set-NK6L2A5S.js.map} +0 -0
- /package/dist/{with → money}/index.js.map +0 -0
- /package/dist/{find-YS6XWB46.js.map → noydb-FZZIMLCI.js.map} +0 -0
- /package/dist/{issue-LSR5PS6H.js.map → policy/index.js.map} +0 -0
- /package/dist/{post-register-JVTMJ6OW.js.map → post-register-VFIYISUK.js.map} +0 -0
- /package/dist/{ledger-33BC4TR7.js.map → register-UKU2J6MN.js.map} +0 -0
- /package/dist/{liberate-GBSAYLPJ.js.map → registry-2VCWVHZS.js.map} +0 -0
- /package/dist/{link-set-QK22TDEX.js.map → registry-7Y5WF7GS.js.map} +0 -0
- /package/dist/{noydb-MTUBMWFE.js.map → registry-BWD2ED52.js.map} +0 -0
- /package/dist/{policy-NAHB2TUT.js.map → registry-DTWRJLSF.js.map} +0 -0
- /package/dist/{register-X462DNDM.js.map → request-withdrawal-JYDZ5XY2.js.map} +0 -0
- /package/dist/{reveal-LGBOM2BO.js.map → reveal-CL2BCW6A.js.map} +0 -0
- /package/dist/{registry-3XMCT7MQ.js.map → revoke-2TSAD2T4.js.map} +0 -0
- /package/dist/{registry-KHD2I3M2.js.map → schema-update/index.js.map} +0 -0
- /package/dist/{registry-NPOWJHC4.js.map → search/index.js.map} +0 -0
- /package/dist/{registry-VW6P6A3J.js.map → sequence/index.js.map} +0 -0
- /package/dist/{request-withdrawal-U7K3JTMY.js.map → signer-K7Z2EOMG.js.map} +0 -0
- /package/dist/{revoke-OCWDSWRQ.js.map → stale-A4J26OIC.js.map} +0 -0
- /package/dist/{signer-3YFBLZRN.js.map → storage-YVHZUISN.js.map} +0 -0
- /package/dist/{stale-FJED42DM.js.map → store/index.js.map} +0 -0
- /package/dist/{store-coordination-provider-APODTV4W.js.map → store-coordination-provider-EWRZL7XF.js.map} +0 -0
- /package/dist/{verify-26Y5GNMK.js.map → verify-7XWHJWUN.js.map} +0 -0
- /package/dist/{storage-W3GURVFU.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
- /package/dist/{withdraw-accessible-Y3B2535F.js.map → withdraw-accessible-A2PWF5MZ.js.map} +0 -0
package/dist/indexing/index.js
CHANGED
|
@@ -2,17 +2,18 @@ import {
|
|
|
2
2
|
COMPOSITE_DELIMITER,
|
|
3
3
|
IDX_PREFIX,
|
|
4
4
|
LazyQuery,
|
|
5
|
+
NO_INDEXING,
|
|
5
6
|
PersistedCollectionIndex,
|
|
6
7
|
compositeKey,
|
|
7
8
|
decodeIdxId,
|
|
8
9
|
encodeIdxId,
|
|
9
10
|
isIdxId
|
|
10
|
-
} from "../chunk-
|
|
11
|
+
} from "../chunk-L3YYLT4E.js";
|
|
11
12
|
import {
|
|
12
13
|
CollectionIndexes
|
|
13
14
|
} from "../chunk-KPZS5QAQ.js";
|
|
14
15
|
import "../chunk-IGJCYUT5.js";
|
|
15
|
-
import "../chunk-
|
|
16
|
+
import "../chunk-QZWTRENR.js";
|
|
16
17
|
import "../chunk-PZ5AY32C.js";
|
|
17
18
|
|
|
18
19
|
// src/with-lookup/indexing/active.ts
|
|
@@ -68,6 +69,7 @@ export {
|
|
|
68
69
|
CollectionIndexes,
|
|
69
70
|
IDX_PREFIX,
|
|
70
71
|
LazyQuery,
|
|
72
|
+
NO_INDEXING,
|
|
71
73
|
PersistedCollectionIndex,
|
|
72
74
|
compositeKey,
|
|
73
75
|
decodeIdxId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/with-lookup/indexing/active.ts"],"sourcesContent":["/**\n * Active indexing strategy factory. Calling `withIndexing()` returns\n * an `
|
|
1
|
+
{"version":3,"sources":["../../src/with-lookup/indexing/active.ts"],"sourcesContent":["/**\n * Active indexing strategy factory. Calling `withIndexing()` returns\n * an `IndexingStrategy` whose `createState` constructs a real\n * `CollectionIndexes` (eager) or `PersistedCollectionIndex` (lazy)\n * per Collection, depending on the collection's `prefetch` mode and\n * its declared `IndexDef[]`.\n *\n * This module is only reachable through the `@noy-db/hub/indexing`\n * subpath — a consumer that never imports the subpath ships none of\n * this (ESM tree-shaking + hub's `\"sideEffects\": false`).\n */\n\nimport { CollectionIndexes } from './eager-indexes.js'\nimport type { IndexDef } from './eager-indexes.js'\nimport { PersistedCollectionIndex } from './persisted-indexes.js'\nimport type { IndexingStrategy, IndexState } from './strategy.js'\n\n/**\n * Build the default indexing strategy. Pass into\n * `createNoydb({ indexingStrategy: withIndexing() })` to light up the\n * eager-mode `==/in` fast-path on `.query()` and the full lazy-mode\n * `.lazyQuery()` + rebuild / reconcile / auto-reconcile surface.\n *\n * @example\n * ```ts\n * import { createNoydb } from '@noy-db/hub'\n * import { withIndexing } from '@noy-db/hub/indexing'\n *\n * const db = await createNoydb({\n * store, user, secret,\n * indexingStrategy: withIndexing(),\n * })\n * ```\n */\nexport function withIndexing(): IndexingStrategy {\n return {\n createState({ defs, lazy }) {\n if (lazy) {\n const persisted = new PersistedCollectionIndex()\n declareAll(persisted, defs)\n return makeLazyState(persisted)\n }\n const eager = new CollectionIndexes()\n for (const def of defs) {\n if (typeof def === 'string') {\n eager.declare(def)\n } else if (Array.isArray(def)) {\n for (const f of def as readonly string[]) eager.declare(f)\n } else {\n for (const f of (def as { fields: readonly string[] }).fields) eager.declare(f)\n }\n }\n return makeEagerState(eager)\n },\n }\n}\n\nfunction declareAll(persisted: PersistedCollectionIndex, defs: readonly IndexDef[]): void {\n for (const def of defs) {\n if (typeof def === 'string') {\n persisted.declare(def)\n } else {\n const fields = Array.isArray(def) ? (def as readonly string[]) : (def as { fields: readonly string[] }).fields\n // #698: decompose a composite into its component single-field indexes\n // (like the eager branch above), so a composite-only declaration still\n // provides the single-field driver the #696 Via-covered fall-through\n // and single-field queries need. The composite mirror is kept for the\n // multi-field fast path.\n for (const f of fields) persisted.declare(f)\n persisted.declareComposite(fields)\n }\n }\n}\n\nfunction makeEagerState(eager: CollectionIndexes): IndexState {\n return {\n isEnabled: true,\n getEagerIndexes: () => eager,\n getPersistedIndexes: () => null,\n }\n}\n\nfunction makeLazyState(persisted: PersistedCollectionIndex): IndexState {\n return {\n isEnabled: true,\n getEagerIndexes: () => null,\n getPersistedIndexes: () => persisted,\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAkCO,SAAS,eAAiC;AAC/C,SAAO;AAAA,IACL,YAAY,EAAE,MAAM,KAAK,GAAG;AAC1B,UAAI,MAAM;AACR,cAAM,YAAY,IAAI,yBAAyB;AAC/C,mBAAW,WAAW,IAAI;AAC1B,eAAO,cAAc,SAAS;AAAA,MAChC;AACA,YAAM,QAAQ,IAAI,kBAAkB;AACpC,iBAAW,OAAO,MAAM;AACtB,YAAI,OAAO,QAAQ,UAAU;AAC3B,gBAAM,QAAQ,GAAG;AAAA,QACnB,WAAW,MAAM,QAAQ,GAAG,GAAG;AAC7B,qBAAW,KAAK,IAA0B,OAAM,QAAQ,CAAC;AAAA,QAC3D,OAAO;AACL,qBAAW,KAAM,IAAsC,OAAQ,OAAM,QAAQ,CAAC;AAAA,QAChF;AAAA,MACF;AACA,aAAO,eAAe,KAAK;AAAA,IAC7B;AAAA,EACF;AACF;AAEA,SAAS,WAAW,WAAqC,MAAiC;AACxF,aAAW,OAAO,MAAM;AACtB,QAAI,OAAO,QAAQ,UAAU;AAC3B,gBAAU,QAAQ,GAAG;AAAA,IACvB,OAAO;AACL,YAAM,SAAS,MAAM,QAAQ,GAAG,IAAK,MAA6B,IAAsC;AAMxG,iBAAW,KAAK,OAAQ,WAAU,QAAQ,CAAC;AAC3C,gBAAU,iBAAiB,MAAM;AAAA,IACnC;AAAA,EACF;AACF;AAEA,SAAS,eAAe,OAAsC;AAC5D,SAAO;AAAA,IACL,WAAW;AAAA,IACX,iBAAiB,MAAM;AAAA,IACvB,qBAAqB,MAAM;AAAA,EAC7B;AACF;AAEA,SAAS,cAAc,WAAiD;AACtE,SAAO;AAAA,IACL,WAAW;AAAA,IACX,iBAAiB,MAAM;AAAA,IACvB,qBAAqB,MAAM;AAAA,EAC7B;AACF;","names":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import {
|
|
2
|
+
dumpVaultSchema
|
|
3
|
+
} from "../chunk-3V3XR4S4.js";
|
|
4
|
+
import {
|
|
5
|
+
applyListProjection
|
|
6
|
+
} from "../chunk-VG2ZSFYD.js";
|
|
7
|
+
import {
|
|
8
|
+
jsonSchemaToFields
|
|
9
|
+
} from "../chunk-VYYM3MEN.js";
|
|
10
|
+
import "../chunk-6ZNSB3H6.js";
|
|
11
|
+
import "../chunk-Y2NBBT6K.js";
|
|
12
|
+
import "../chunk-DMH3VZU5.js";
|
|
13
|
+
import "../chunk-G2JUIDFA.js";
|
|
14
|
+
import "../chunk-W3L64Y3J.js";
|
|
15
|
+
import "../chunk-35NMVJ7I.js";
|
|
16
|
+
import "../chunk-NFZGZ4AK.js";
|
|
17
|
+
import "../chunk-QJNCB5SK.js";
|
|
18
|
+
import "../chunk-LP7BEXCT.js";
|
|
19
|
+
import "../chunk-AKKRXT23.js";
|
|
20
|
+
import "../chunk-QBAC3GXA.js";
|
|
21
|
+
import "../chunk-QZWTRENR.js";
|
|
22
|
+
import "../chunk-PZ5AY32C.js";
|
|
23
|
+
export {
|
|
24
|
+
applyListProjection,
|
|
25
|
+
dumpVaultSchema,
|
|
26
|
+
jsonSchemaToFields
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {
|
|
2
|
+
issueAttestationCore
|
|
3
|
+
} from "./chunk-DZ2JXHWK.js";
|
|
4
|
+
import "./chunk-CI32CAFS.js";
|
|
5
|
+
import "./chunk-ZJADGNYF.js";
|
|
6
|
+
import "./chunk-G2JUIDFA.js";
|
|
7
|
+
import "./chunk-W3L64Y3J.js";
|
|
8
|
+
import "./chunk-35NMVJ7I.js";
|
|
9
|
+
import "./chunk-NFZGZ4AK.js";
|
|
10
|
+
import "./chunk-QJNCB5SK.js";
|
|
11
|
+
import "./chunk-LP7BEXCT.js";
|
|
12
|
+
import "./chunk-AKKRXT23.js";
|
|
13
|
+
import "./chunk-QBAC3GXA.js";
|
|
14
|
+
import "./chunk-QZWTRENR.js";
|
|
15
|
+
import "./chunk-PZ5AY32C.js";
|
|
16
|
+
export {
|
|
17
|
+
issueAttestationCore
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=issue-FCKN5O6C.js.map
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
*
|
|
31
31
|
* @internal — implementation-sharing only, not part of the public surface.
|
|
32
32
|
*/
|
|
33
|
-
import type { EncryptedEnvelope } from './types.js';
|
|
33
|
+
import type { EncryptedEnvelope, StoreCapabilities, TxOp } from './types.js';
|
|
34
34
|
/** One already-executed write a revert pass needs to unwind. */
|
|
35
35
|
export interface BestEffortRevertLeg {
|
|
36
36
|
readonly vaultName: string;
|
|
@@ -43,6 +43,14 @@ export interface BestEffortRevertLeg {
|
|
|
43
43
|
export interface BestEffortRevertAdapter {
|
|
44
44
|
put(vaultName: string, collectionName: string, id: string, envelope: EncryptedEnvelope): Promise<void>;
|
|
45
45
|
delete(vaultName: string, collectionName: string, id: string): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Optional storage-layer transaction (#886). When the store declares
|
|
48
|
+
* `txAtomic`, the whole revert is submitted as ONE operation instead of a
|
|
49
|
+
* per-leg loop, so a crash mid-revert can no longer leave the vault
|
|
50
|
+
* half-unwound.
|
|
51
|
+
*/
|
|
52
|
+
tx?(ops: readonly TxOp[]): Promise<void>;
|
|
53
|
+
readonly capabilities?: StoreCapabilities;
|
|
46
54
|
}
|
|
47
55
|
/**
|
|
48
56
|
* Revert `executed` in reverse order via the raw adapter, best-effort.
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
* signature can't be exposed via a method without breaking `Collection<T>`
|
|
18
18
|
* assignability to `Collection<unknown>`).
|
|
19
19
|
*/
|
|
20
|
+
import type { StrategyBag } from '../port/with/strategies.js';
|
|
20
21
|
import type { NoydbStore, ConflictPolicy, CollectionConflictResolver, HistoryConfig, TierMode, CrossTierAccessEvent, VdigFieldPolicy } from './types.js';
|
|
21
22
|
import type { EnclaveKey } from './enclave/index.js';
|
|
22
23
|
import type { UnlockedKeyring } from '../with-party/team/keyring.js';
|
|
@@ -29,24 +30,15 @@ import type { SchemaFenceController } from '../with-shape/schema-update/fence-co
|
|
|
29
30
|
import type { StandardSchemaV1 } from './schema.js';
|
|
30
31
|
import type { LedgerStore } from '../with-commit/history/ledger/index.js';
|
|
31
32
|
import type { CrdtMode } from '../with-commit/crdt/crdt.js';
|
|
32
|
-
import type { CrdtStrategy } from './types.js';
|
|
33
|
-
import { type HistoryStrategy } from '../with-commit/history/strategy.js';
|
|
34
|
-
import { type I18nStrategy } from '../port/with/i18n-strategy.js';
|
|
35
|
-
import { type SyncStrategy } from '../with-party/team/sync-strategy.js';
|
|
36
|
-
import { type BlobStrategy } from '../port/with/blob-strategy.js';
|
|
37
|
-
import { type AggregateStrategy } from '../with-lookup/aggregate/strategy.js';
|
|
38
|
-
import { type TiersStrategy } from '../with-audit/tiers/strategy.js';
|
|
39
|
-
import { type SearchStrategy } from '../with-lookup/search/strategy.js';
|
|
40
33
|
import type { ObjectProjection } from '../with-shape/blobs/object-projection.js';
|
|
41
34
|
import type { BlobFieldsConfig } from '../with-shape/blobs/blob-compaction.js';
|
|
42
|
-
import type { IndexStrategy } from '../with-lookup/indexing/strategy.js';
|
|
43
35
|
import type { IndexDef } from '../with-lookup/indexing/eager-indexes.js';
|
|
44
36
|
import type { I18nTextDescriptor, DictKeyDescriptor, StaticDictDescriptor, DictionaryHandle } from '../port/with/i18n-strategy.js';
|
|
45
37
|
import type { LookupDescriptor, MaterializedBacking } from '../port/with/lookup-strategy.js';
|
|
46
38
|
import type { ComputedFields, ComputedFn, ComputedFieldEntry } from '../with-formula/computed/index.js';
|
|
47
39
|
import type { RollupDeleteIntent } from './via/dispatch.js';
|
|
48
40
|
import '../port/with/computed-strategy.js';
|
|
49
|
-
import { type ClassifiedEntry, type ResolvedClassified, type ClassifiedGuardCtx, type
|
|
41
|
+
import { type ClassifiedEntry, type ResolvedClassified, type ClassifiedGuardCtx, type ClassifiedViaConfig } from '../port/with/classified-strategy.js';
|
|
50
42
|
import type { FieldRef, Grain } from './via/graph.js';
|
|
51
43
|
import type { FieldMeta } from '../with-shape/introspection/field-meta.js';
|
|
52
44
|
import type { CollectionMeta } from '../with-shape/introspection/meta.js';
|
|
@@ -60,7 +52,6 @@ import type { TxContext } from '../with-commit/tx/transaction.js';
|
|
|
60
52
|
import type { MaterializedViewRegistry } from '../with-formula/materialized-views/registry.js';
|
|
61
53
|
import type { MVQueryContext } from '../with-formula/materialized-views/types.js';
|
|
62
54
|
import type { Collection, OnDirtyCallback, CacheOptions } from './collection.js';
|
|
63
|
-
import type { LazyStrategy } from '../port/with/lazy-strategy.js';
|
|
64
55
|
import { ViaPipeline } from './via/pipeline.js';
|
|
65
56
|
import { type ViaBinding, type ViaDescriptor } from './via/index.js';
|
|
66
57
|
import { type ViaFieldSpec } from './via/compose.js';
|
|
@@ -74,6 +65,14 @@ export interface CollectionOpts<T> {
|
|
|
74
65
|
name: string;
|
|
75
66
|
keyring: UnlockedKeyring;
|
|
76
67
|
encrypted: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Every opt-in service, resolved once by `createNoydb` (#838). Replaces the
|
|
70
|
+
* eleven optional `*Strategy` fields this interface used to declare, each of
|
|
71
|
+
* which re-applied a `?? NO_*` default that had already been applied
|
|
72
|
+
* upstream. Each entry is a tree-shake seam: an un-opted-in service holds
|
|
73
|
+
* its `NO_*` stub, so the real machinery never reaches the bundle.
|
|
74
|
+
*/
|
|
75
|
+
strategies: StrategyBag;
|
|
77
76
|
/**
|
|
78
77
|
* Opt-in: keep the working set encrypted in RAM, decrypting on read (future phase).
|
|
79
78
|
* Default false — the working set is plaintext.
|
|
@@ -113,13 +112,6 @@ export interface CollectionOpts<T> {
|
|
|
113
112
|
* back to an unconditional store read on re-create.
|
|
114
113
|
*/
|
|
115
114
|
tabCoordinated?: (() => boolean) | undefined;
|
|
116
|
-
/**
|
|
117
|
-
* tree-shake seam. When omitted, `collection.blob(id)` throws
|
|
118
|
-
* with a pointer at the `@noy-db/hub/blobs` subpath. When set (via
|
|
119
|
-
* `createNoydb({ blobStrategy: blobs() })`), blob storage is live.
|
|
120
|
-
* `@internal` by virtue of `BlobStrategy` being `@internal`.
|
|
121
|
-
*/
|
|
122
|
-
blobStrategy?: BlobStrategy | undefined;
|
|
123
115
|
objectStore?: ObjectProjection | undefined;
|
|
124
116
|
blobFields?: BlobFieldsConfig | undefined;
|
|
125
117
|
/**
|
|
@@ -132,26 +124,6 @@ export interface CollectionOpts<T> {
|
|
|
132
124
|
* decryptable at rest under the flat `_blob` DEK (documented residue).
|
|
133
125
|
*/
|
|
134
126
|
blobTierPolicy?: 'isolate' | 'dedup' | undefined;
|
|
135
|
-
aggregateStrategy?: AggregateStrategy | undefined;
|
|
136
|
-
crdtStrategy?: CrdtStrategy | undefined;
|
|
137
|
-
/**
|
|
138
|
-
* tree-shake seam — strategy for optional history/ledger/
|
|
139
|
-
* time-machine. When omitted, history snapshots and ledger appends
|
|
140
|
-
* become silent no-ops (data still writes); the read APIs
|
|
141
|
-
* (`history`, `getVersion`, `revert`, `diff`, `clearHistory`,
|
|
142
|
-
* `pruneRecordHistory`) throw with a pointer at `@noy-db/hub/history`.
|
|
143
|
-
*/
|
|
144
|
-
historyStrategy?: HistoryStrategy | undefined;
|
|
145
|
-
i18nStrategy?: I18nStrategy | undefined;
|
|
146
|
-
syncStrategy?: SyncStrategy | undefined;
|
|
147
|
-
/**
|
|
148
|
-
* tree-shake seam. When omitted, indexing is off for this
|
|
149
|
-
* collection — every `.lazyQuery()` call throws, `.rebuildIndexes()`
|
|
150
|
-
* is a no-op, and `indexes: [...]` declarations are ignored. Enable
|
|
151
|
-
* by passing `withIndexing()` from `@noy-db/hub/indexing` at
|
|
152
|
-
* `createNoydb` time.
|
|
153
|
-
*/
|
|
154
|
-
indexStrategy?: IndexStrategy | undefined;
|
|
155
127
|
indexes?: IndexDef[] | undefined;
|
|
156
128
|
/**
|
|
157
129
|
* Auto-reconcile behavior for persisted-index drift on lazy-mode
|
|
@@ -183,12 +155,6 @@ export interface CollectionOpts<T> {
|
|
|
183
155
|
* unbounded lazy cache defeats the purpose.
|
|
184
156
|
*/
|
|
185
157
|
cache?: CacheOptions | undefined;
|
|
186
|
-
/**
|
|
187
|
-
* Lazy service seam (#267) — supplies the bounded-LRU working-set cache
|
|
188
|
-
* when `prefetch: false`. Omitted → the deprecated IMPLICIT_LAZY
|
|
189
|
-
* back-compat default (identical behavior + one-time warn).
|
|
190
|
-
*/
|
|
191
|
-
lazyStrategy?: LazyStrategy | undefined;
|
|
192
158
|
/**
|
|
193
159
|
* Optional Standard Schema v1 validator (Zod, Valibot, ArkType,
|
|
194
160
|
* Effect Schema, etc.). When set, every `put()` is validated before
|
|
@@ -262,7 +228,7 @@ export interface CollectionOpts<T> {
|
|
|
262
228
|
classifiedFields?: Record<string, ClassifiedEntry> | undefined;
|
|
263
229
|
/**
|
|
264
230
|
* The forget-cascade subject key for this collection (from
|
|
265
|
-
* `
|
|
231
|
+
* `withForget({ subjects })`), plumbed by the Vault. Consumed by the
|
|
266
232
|
* classified refusal matrix (R4: a digest-only field cannot be the subject key).
|
|
267
233
|
*/
|
|
268
234
|
subjectKeyField?: string | undefined;
|
|
@@ -274,8 +240,6 @@ export interface CollectionOpts<T> {
|
|
|
274
240
|
* `undefined` when no forget strategy declares this collection (no-op).
|
|
275
241
|
*/
|
|
276
242
|
addSubjectRef?: ((id: string, record: unknown) => Promise<void>) | undefined;
|
|
277
|
-
/** — tree-shake seam for `collection.reveal()`. Defaults to `NO_CLASSIFIED`. */
|
|
278
|
-
classifiedStrategy?: ClassifiedStrategy | undefined;
|
|
279
243
|
/**
|
|
280
244
|
* async callback that resolves a dict key to its label
|
|
281
245
|
* for a given locale. Provided by the Vault.
|
|
@@ -433,20 +397,6 @@ export interface CollectionOpts<T> {
|
|
|
433
397
|
* throw). Tier 0 is implicit and always available.
|
|
434
398
|
*/
|
|
435
399
|
tiers?: readonly number[] | undefined;
|
|
436
|
-
/**
|
|
437
|
-
* tree-shake seam — strategy for the collection-level tier operations
|
|
438
|
-
* (`putAtTier`/`getAtTier`/`listAtTier`/`elevate`/`demote`). When omitted,
|
|
439
|
-
* every tier operation throws `TiersNotEnabledError`. Enable by passing
|
|
440
|
-
* `withTiers()` from `@noy-db/hub/tiers` at `createNoydb` time.
|
|
441
|
-
*/
|
|
442
|
-
tiersStrategy?: TiersStrategy | undefined;
|
|
443
|
-
/**
|
|
444
|
-
* Search / retrieval capability strategy. When omitted, a collection's
|
|
445
|
-
* `search`/`retrieve`/`similarTo`/`warmIndex`/`flushIndex` methods and the
|
|
446
|
-
* embedding write-hook throw `SearchNotEnabledError`. Enable by passing
|
|
447
|
-
* `withSearch()` from `@noy-db/hub` at `createNoydb` time.
|
|
448
|
-
*/
|
|
449
|
-
searchStrategy?: SearchStrategy | undefined;
|
|
450
400
|
/**
|
|
451
401
|
* what a lower-tier caller sees for above-tier
|
|
452
402
|
* records. Default `'invisibility'`.
|
|
@@ -702,14 +652,9 @@ export declare function resolveCollectionConfig<T>(opts: CollectionOpts<T>): {
|
|
|
702
652
|
writeHooks: WriteHookRegistry | undefined;
|
|
703
653
|
subsystemBus: ServiceBus | undefined;
|
|
704
654
|
activeTxId: (() => string | null) | undefined;
|
|
705
|
-
|
|
655
|
+
strategies: StrategyBag;
|
|
706
656
|
objectStore: ObjectProjection | undefined;
|
|
707
657
|
blobFields: BlobFieldsConfig | undefined;
|
|
708
|
-
aggregateStrategy: AggregateStrategy;
|
|
709
|
-
crdtStrategy: CrdtStrategy;
|
|
710
|
-
historyStrategy: HistoryStrategy;
|
|
711
|
-
i18nStrategy: I18nStrategy;
|
|
712
|
-
syncStrategy: SyncStrategy;
|
|
713
658
|
reconcileOnOpen: "auto" | "off" | "dry-run";
|
|
714
659
|
getDEK: (collectionName: string) => Promise<EnclaveKey>;
|
|
715
660
|
onDirty: OnDirtyCallback | undefined;
|
|
@@ -742,7 +687,6 @@ export declare function resolveCollectionConfig<T>(opts: CollectionOpts<T>): {
|
|
|
742
687
|
moneyFields: Record<string, ViaDescriptor> | undefined;
|
|
743
688
|
classified: ResolvedClassified | undefined;
|
|
744
689
|
classifiedGuardCtx: ClassifiedGuardCtx;
|
|
745
|
-
classifiedStrategy: ClassifiedStrategy;
|
|
746
690
|
computed: ComputedFields | undefined;
|
|
747
691
|
computedEdges: readonly GraphEdge[];
|
|
748
692
|
viaDepsEdges: readonly GraphEdge[];
|
|
@@ -794,8 +738,6 @@ export declare function resolveCollectionConfig<T>(opts: CollectionOpts<T>): {
|
|
|
794
738
|
collectDelete(collection: string, id: string, intents: readonly RollupDeleteIntent[]): void;
|
|
795
739
|
} | undefined;
|
|
796
740
|
tiers: Set<number> | null;
|
|
797
|
-
tiersStrategy: TiersStrategy;
|
|
798
|
-
searchStrategy: SearchStrategy;
|
|
799
741
|
tierMode: TierMode;
|
|
800
742
|
blobTierPolicy: "isolate" | "dedup";
|
|
801
743
|
onCrossTierAccess: ((event: CrossTierAccessEvent) => void) | undefined;
|
|
@@ -24,7 +24,7 @@ import type { RetrieveOptions, RetrieveHit } from '../with-lookup/search/retriev
|
|
|
24
24
|
import { type CollectionDescription, type DescribeOptions } from '../with-shape/introspection/describe.js';
|
|
25
25
|
import type { CollectionConfig } from '../with-shape/introspection/types.js';
|
|
26
26
|
import { type LruStats } from './cache/index.js';
|
|
27
|
-
import type { PresenceHandle } from '../with-
|
|
27
|
+
import type { PresenceHandle } from '../with-sync/presence.js';
|
|
28
28
|
import type { BlobSet } from '../with-shape/blobs/blob-set.js';
|
|
29
29
|
import type { TxContext } from '../with-commit/tx/transaction.js';
|
|
30
30
|
import { type CollectionOpts } from './collection-config.js';
|
|
@@ -96,24 +96,19 @@ export declare class Collection<T, S extends keyof T = never, Q extends keyof T
|
|
|
96
96
|
/** True when the caller explicitly provided a `historyConfig` option (vs. inheriting the vault default). */
|
|
97
97
|
private readonly historyConfigExplicit;
|
|
98
98
|
/**
|
|
99
|
-
*
|
|
100
|
-
*
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
* reaches the bundle
|
|
99
|
+
* Every opt-in service, resolved once by `createNoydb` (#838) and shared by
|
|
100
|
+
* reference with the owning `Vault` and `Noydb`.
|
|
101
|
+
*
|
|
102
|
+
* Each entry is a tree-shake seam. An un-opted-in service resolves to its
|
|
103
|
+
* `NO_*` stub — a tiny module that throws with an actionable message —
|
|
104
|
+
* so, for example, none of the BlobSet / chunk / MIME-magic machinery
|
|
105
|
+
* reaches the bundle unless the consumer imports `@noy-db/hub/blobs` and
|
|
106
|
+
* passes `blobsStrategy: blobs()` to `createNoydb`.
|
|
106
107
|
*/
|
|
107
|
-
private readonly
|
|
108
|
+
private readonly strategies;
|
|
108
109
|
private readonly objectStore;
|
|
109
110
|
private readonly blobFields;
|
|
110
111
|
private readonly blobTierPolicy;
|
|
111
|
-
private readonly aggregateStrategy;
|
|
112
|
-
private readonly crdtStrategy;
|
|
113
|
-
private readonly tiersStrategy;
|
|
114
|
-
private readonly searchStrategy;
|
|
115
|
-
private readonly historyStrategy;
|
|
116
|
-
private readonly syncStrategy;
|
|
117
112
|
private readonly cache;
|
|
118
113
|
private hydrated;
|
|
119
114
|
/**
|
|
@@ -146,7 +141,7 @@ export declare class Collection<T, S extends keyof T = never, Q extends keyof T
|
|
|
146
141
|
private readonly lru;
|
|
147
142
|
/**
|
|
148
143
|
* tree-shake seam — per-Collection indexing state. Owned by the
|
|
149
|
-
* `
|
|
144
|
+
* `IndexingStrategy` passed through from `createNoydb({ indexingStrategy })`.
|
|
150
145
|
* Defaults to a disabled state (both accessors return null) so the
|
|
151
146
|
* `CollectionIndexes` / `PersistedCollectionIndex` / `LazyQuery`
|
|
152
147
|
* classes never reach the bundle when indexing is unused.
|
|
@@ -275,12 +270,6 @@ export declare class Collection<T, S extends keyof T = never, Q extends keyof T
|
|
|
275
270
|
/** C-A/R10 memoization: marker declared-set lookup (undefined=unresolved) + classified-handle persist-once flag. */
|
|
276
271
|
private _markerDigestOnlyCache;
|
|
277
272
|
private _markerPersisted;
|
|
278
|
-
/**
|
|
279
|
-
* Tree-shake seam for `reveal()` — defaults to `NO_CLASSIFIED`, which
|
|
280
|
-
* throws `ClassifiedNotEnabledError`. Set via the `classifiedStrategy`
|
|
281
|
-
* `createNoydb()` option (opt in with `withClassified()`).
|
|
282
|
-
*/
|
|
283
|
-
private readonly classifiedStrategy;
|
|
284
273
|
/** Async callback provided by the Vault to open a dynamic dictionary handle (for label-map pre-computation in the search index). Only used in `resolveDictLabelMaps()`; static dicts bypass this entirely. Mutable, assign-once — see {@link _reconcileReadState} (#671 item 1). */
|
|
285
274
|
private getDictionary;
|
|
286
275
|
/**
|
|
@@ -676,7 +665,6 @@ export declare class Collection<T, S extends keyof T = never, Q extends keyof T
|
|
|
676
665
|
* right back out, defeating C6.
|
|
677
666
|
*/
|
|
678
667
|
private _toCacheableRecord;
|
|
679
|
-
/** @internal Untracked put body — call {@link put}, not this. */
|
|
680
668
|
private _putInternal;
|
|
681
669
|
/**
|
|
682
670
|
* Fire registered MV strategies whose dependency set includes this
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* ## Key lifecycle
|
|
23
23
|
*
|
|
24
24
|
* ```
|
|
25
|
-
*
|
|
25
|
+
* secret + salt
|
|
26
26
|
* └─► deriveKey() → KEK (CryptoKey, extractable: false)
|
|
27
27
|
* └─► wrapKey() → wrapped DEK bytes [stored in keyring]
|
|
28
28
|
* └─► unwrapKey() → DEK (CryptoKey) [memory only during session]
|
|
@@ -46,26 +46,26 @@
|
|
|
46
46
|
* between barrel functions (`encrypt`/`decrypt`/`wrapKey`/`unwrapKey`/…).
|
|
47
47
|
*/
|
|
48
48
|
export type EnclaveKey = CryptoKey;
|
|
49
|
-
/** Derive a KEK from a
|
|
50
|
-
export declare function deriveKey(
|
|
49
|
+
/** Derive a KEK from a secret and salt using PBKDF2-SHA256. */
|
|
50
|
+
export declare function deriveKey(secret: string, salt: Uint8Array): Promise<CryptoKey>;
|
|
51
51
|
/**
|
|
52
|
-
* Which AES algorithm/usage a {@link
|
|
52
|
+
* Which AES algorithm/usage a {@link deriveSecretKey} result is for:
|
|
53
53
|
* `'aes-kw'` mints a key-wrapping key (`wrapKey`/`unwrapKey`, e.g. for
|
|
54
54
|
* KEK derivation); `'aes-gcm'` mints a direct encrypt/decrypt key (e.g.
|
|
55
55
|
* for the wrap-DEKs primitive in `with-party/team/wrapped-deks.ts`).
|
|
56
56
|
*/
|
|
57
|
-
export type
|
|
57
|
+
export type SecretKeyUsage = 'aes-kw' | 'aes-gcm';
|
|
58
58
|
/**
|
|
59
|
-
* Derive a non-extractable AES key from a
|
|
59
|
+
* Derive a non-extractable AES key from a secret/credential and salt
|
|
60
60
|
* via PBKDF2-SHA256, generalizing {@link deriveKey}'s AES-KW derivation to
|
|
61
61
|
* also cover AES-GCM-usage keys. Callers pin their own `iterations` and
|
|
62
62
|
* `keyUsage` so an existing call site's exact parameters (and thus its
|
|
63
63
|
* derived-key bytes) are preserved verbatim when migrated onto this
|
|
64
64
|
* shared primitive — this is call-site consolidation, not a KDF change.
|
|
65
65
|
*/
|
|
66
|
-
export declare function
|
|
66
|
+
export declare function deriveSecretKey(secret: string, salt: Uint8Array, params: {
|
|
67
67
|
iterations: number;
|
|
68
|
-
keyUsage:
|
|
68
|
+
keyUsage: SecretKeyUsage;
|
|
69
69
|
}): Promise<CryptoKey>;
|
|
70
70
|
/** Generate a random AES-256-GCM data encryption key. */
|
|
71
71
|
export declare function generateDEK(): Promise<CryptoKey>;
|
|
@@ -54,10 +54,10 @@
|
|
|
54
54
|
* every consumer regardless of which enclave is wired in. noy-db's own
|
|
55
55
|
* enclave supports every group, so it never throws this error.
|
|
56
56
|
*/
|
|
57
|
-
export type { EnclaveKey } from './crypto.js';
|
|
57
|
+
export type { EnclaveKey, EncryptResult } from './crypto.js';
|
|
58
58
|
export { encrypt, decrypt, encryptBytes, decryptBytes, encryptBytesWithAAD, decryptBytesWithAAD, encryptDeterministic, decryptDeterministic, sha256Hex, hmacSha256Hex, } from './crypto.js';
|
|
59
|
-
export { deriveKey,
|
|
60
|
-
export type {
|
|
59
|
+
export { deriveKey, deriveSecretKey, generateDEK, generateSalt, generateIV, wrapKey, unwrapKey, bufferToBase64, base64ToBuffer, derivePresenceKey, deriveDeterministicKey, deriveSealedFieldKey, deriveSealedFieldKeyFromCek, wrapCek, unwrapCek, importCek, } from './crypto.js';
|
|
60
|
+
export type { SecretKeyUsage } from './crypto.js';
|
|
61
61
|
export { resolveStableCek, rewrapBodyToDek, rewrapEnvelope, applyRewrappedBody, isRewrappedUnder } from './record-keys/lifecycle.js';
|
|
62
62
|
export type { RewrappedBody } from './record-keys/lifecycle.js';
|
|
63
63
|
export { RecordCodec } from './record-keys/record-codec.js';
|
package/dist/kernel/errors.d.ts
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* ├─ Crypto errors
|
|
11
11
|
* │ ├─ DecryptionError — AES-GCM tag failure
|
|
12
12
|
* │ ├─ TamperedError — ciphertext modified after write
|
|
13
|
-
* │ └─ InvalidKeyError — wrong
|
|
13
|
+
* │ └─ InvalidKeyError — wrong secret / corrupt keyring
|
|
14
14
|
* ├─ Access errors
|
|
15
15
|
* │ ├─ NoAccessError — no DEK for this collection
|
|
16
16
|
* │ ├─ ReadOnlyError — ro permission, write attempted
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
* └─ Computed field errors
|
|
63
63
|
* └─ ComputedFieldError — computed function threw during a write
|
|
64
64
|
* └─ Erasure errors
|
|
65
|
-
* └─ ForgetStrategyNotConfiguredError — vault.forget() with no
|
|
65
|
+
* └─ ForgetStrategyNotConfiguredError — vault.forget() with no withForget
|
|
66
66
|
* ├─ Sealed-record errors (record-scoped CEK sealing)
|
|
67
67
|
* │ ├─ SealedRecordExpiredError — sealed CEK binding past expiresAt
|
|
68
68
|
* │ ├─ SealedRecordMismatchError — CEK sealed for record A used on record B
|
|
@@ -78,9 +78,9 @@
|
|
|
78
78
|
* import { NoydbError, InvalidKeyError, ConflictError } from '@noy-db/hub'
|
|
79
79
|
*
|
|
80
80
|
* try {
|
|
81
|
-
* await vault.unlock(
|
|
81
|
+
* await vault.unlock(secret)
|
|
82
82
|
* } catch (e) {
|
|
83
|
-
* if (e instanceof InvalidKeyError) {
|
|
83
|
+
* if (e instanceof InvalidKeyError) { showBadSecretUI(); return }
|
|
84
84
|
* if (e instanceof NoydbError) { logToSentry(e.code, e); return }
|
|
85
85
|
* throw e // unexpected — re-throw
|
|
86
86
|
* }
|
|
@@ -125,8 +125,8 @@ export declare class DebugReservedFieldError extends NoydbError {
|
|
|
125
125
|
/**
|
|
126
126
|
* Thrown when AES-GCM decryption fails.
|
|
127
127
|
*
|
|
128
|
-
* The most common cause is a wrong
|
|
129
|
-
* A `DecryptionError` at the wrong
|
|
128
|
+
* The most common cause is a wrong secret or a corrupted ciphertext.
|
|
129
|
+
* A `DecryptionError` at the wrong secret level is caught internally
|
|
130
130
|
* and re-thrown as `InvalidKeyError` — so in practice this surfaces for
|
|
131
131
|
* per-record corruption rather than authentication failures.
|
|
132
132
|
*/
|
|
@@ -146,12 +146,12 @@ export declare class TamperedError extends NoydbError {
|
|
|
146
146
|
constructor(message?: string);
|
|
147
147
|
}
|
|
148
148
|
/**
|
|
149
|
-
* Thrown when key unwrapping fails, typically because the
|
|
149
|
+
* Thrown when key unwrapping fails, typically because the secret is wrong
|
|
150
150
|
* or the keyring file is corrupted.
|
|
151
151
|
*
|
|
152
152
|
* NOYDB uses AES-KW (RFC 3394) to wrap DEKs with the KEK. If AES-KW
|
|
153
153
|
* unwrapping fails, it means either the KEK was derived from the wrong
|
|
154
|
-
*
|
|
154
|
+
* secret (PBKDF2 with 600K iterations) or the keyring bytes are
|
|
155
155
|
* corrupted. This is the error shown to the user on a failed unlock attempt.
|
|
156
156
|
*/
|
|
157
157
|
export declare class InvalidKeyError extends NoydbError {
|
|
@@ -160,7 +160,7 @@ export declare class InvalidKeyError extends NoydbError {
|
|
|
160
160
|
/**
|
|
161
161
|
* Thrown when a keyring's wrapped-DEK set unwraps partially — at least
|
|
162
162
|
* one DEK succeeds (proving the KEK is correct) but at least one fails.
|
|
163
|
-
* The
|
|
163
|
+
* The secret is right; the failed entries are corrupted.
|
|
164
164
|
*
|
|
165
165
|
* This is distinct from {@link InvalidKeyError} so that
|
|
166
166
|
* `NoydbOptions.onInvalidKey: 'reset'` does NOT fire — resetting on
|
|
@@ -273,7 +273,7 @@ export declare class ExportCapabilityError extends NoydbError {
|
|
|
273
273
|
* Thrown when a keyring file's `expires_at` cutoff has passed.
|
|
274
274
|
* Surfaced by `loadKeyring` before any DEK unwrap is attempted —
|
|
275
275
|
* past the cutoff the slot refuses to open even with the right
|
|
276
|
-
*
|
|
276
|
+
* secret. Distinct from PBKDF2 / unwrap errors so consumer code
|
|
277
277
|
* can show a precise "this bundle slot has expired" message instead
|
|
278
278
|
* of the generic decryption-failure UX.
|
|
279
279
|
*
|
|
@@ -546,6 +546,25 @@ export declare class BlobIntentPendingError extends NoydbError {
|
|
|
546
546
|
readonly recordId: string;
|
|
547
547
|
constructor(collection: string, recordId: string);
|
|
548
548
|
}
|
|
549
|
+
/**
|
|
550
|
+
* Thrown by a blob content read when the bytes are not available locally and
|
|
551
|
+
* cannot be fetched right now (#808 offline read taxonomy) — an `external`
|
|
552
|
+
* slot with no local cached copy while the object store is unreachable, or an
|
|
553
|
+
* internal (chunked) blob whose chunk envelopes are absent from the local
|
|
554
|
+
* store (not yet synced to this device, or evicted). The content still exists
|
|
555
|
+
* at its authoritative home — retry when online/synced, or `pin()` the slot
|
|
556
|
+
* while online to keep it readable offline. Deliberately typed (never a hang,
|
|
557
|
+
* never a silent `null`) so UIs can render "available when online".
|
|
558
|
+
*
|
|
559
|
+
* `slotName` is `undefined` when the failing read was not slot-addressed
|
|
560
|
+
* (e.g. a published-version fetch resolving chunks by eTag).
|
|
561
|
+
*/
|
|
562
|
+
export declare class BlobOfflineError extends NoydbError {
|
|
563
|
+
readonly collection: string;
|
|
564
|
+
readonly recordId: string;
|
|
565
|
+
readonly slotName?: string;
|
|
566
|
+
constructor(collection: string, recordId: string, slotName: string | undefined, detail: string, cause?: unknown);
|
|
567
|
+
}
|
|
549
568
|
/**
|
|
550
569
|
* Thrown when an elevated-handle operation runs after the elevation's
|
|
551
570
|
* TTL expired. Reads continue at the original tier; only writes
|
|
@@ -929,14 +948,14 @@ export declare class BundleIntegrityError extends NoydbError {
|
|
|
929
948
|
}
|
|
930
949
|
/**
|
|
931
950
|
* Thrown by `readPod` when the bundle carries
|
|
932
|
-
* sealed per-user
|
|
951
|
+
* sealed per-user secrets but no supplied `SealingKeyProvider`
|
|
933
952
|
* has a `.id` (= `pid`) matching the sealed entry's `pid`.
|
|
934
953
|
*
|
|
935
954
|
* Carries the failing pid + the user id so the recipient can
|
|
936
955
|
* surface an actionable prompt:
|
|
937
956
|
*
|
|
938
957
|
* ```
|
|
939
|
-
* BundleSealMismatchError: bundle carries sealed
|
|
958
|
+
* BundleSealMismatchError: bundle carries sealed secret for user "alice"
|
|
940
959
|
* under provider "macos-keychain:com.acme.app/alice@acme.example",
|
|
941
960
|
* but no registered provider matches that pid.
|
|
942
961
|
* ```
|
|
@@ -1271,7 +1290,7 @@ export declare class CustodyNotEnabledError extends NoydbError {
|
|
|
1271
1290
|
* (#267 keyring-grant → team split): enable multi-user grant/revoke/rotate
|
|
1272
1291
|
* with `teamStrategy: withTeam()` from "@noy-db/hub/team" in createNoydb().
|
|
1273
1292
|
* Single-user primitives (owner keyring, unlock, `listUsers`, `updateUser`,
|
|
1274
|
-
*
|
|
1293
|
+
* secret rotate/recover) stay ungated.
|
|
1275
1294
|
*/
|
|
1276
1295
|
export declare class TeamNotEnabledError extends NoydbError {
|
|
1277
1296
|
constructor(message?: string);
|
|
@@ -1367,7 +1386,7 @@ export declare class SessionNotFoundError extends NoydbError {
|
|
|
1367
1386
|
*
|
|
1368
1387
|
* The `operation` field names the specific operation that was blocked
|
|
1369
1388
|
* (e.g. `'export'`, `'grant'`, `'rotate'`) so the caller can surface
|
|
1370
|
-
* a targeted prompt ("Please re-enter your
|
|
1389
|
+
* a targeted prompt ("Please re-enter your secret to export data").
|
|
1371
1390
|
*/
|
|
1372
1391
|
export declare class SessionPolicyError extends NoydbError {
|
|
1373
1392
|
readonly operation: string;
|
|
@@ -1699,7 +1718,7 @@ export declare class VaultTemplateNotFoundError extends NoydbError {
|
|
|
1699
1718
|
* record index to know which records belong to a data subject; without
|
|
1700
1719
|
* one there is nothing to erase and a silent no-op would be a dangerous
|
|
1701
1720
|
* false "erased" signal. Configure with
|
|
1702
|
-
* `forgetStrategy:
|
|
1721
|
+
* `forgetStrategy: withForget({ subjects: { invoices: 'buyerId' } })`.
|
|
1703
1722
|
*/
|
|
1704
1723
|
export declare class ForgetStrategyNotConfiguredError extends NoydbError {
|
|
1705
1724
|
constructor(message?: string);
|
|
@@ -1806,7 +1825,7 @@ export declare class PolicyDeniedError extends NoydbError {
|
|
|
1806
1825
|
}
|
|
1807
1826
|
/**
|
|
1808
1827
|
* Raised by `createNoydb({ ... })` when the developer omits a recovery
|
|
1809
|
-
* profile and `recover-
|
|
1828
|
+
* profile and `recover-secret` is not explicitly disabled. Vaults
|
|
1810
1829
|
* MUST have at least one recovery path enrolled before being
|
|
1811
1830
|
* production-ready (paper, shamir, multi-channel, or admin-mediated).
|
|
1812
1831
|
*
|
|
@@ -1816,10 +1835,10 @@ export declare class RecoveryNotEnrolledError extends NoydbError {
|
|
|
1816
1835
|
constructor(message?: string);
|
|
1817
1836
|
}
|
|
1818
1837
|
/**
|
|
1819
|
-
* Raised by `openVault` when a managed-
|
|
1838
|
+
* Raised by `openVault` when a managed-secret-mode vault has no
|
|
1820
1839
|
* STRONG recovery profile enrolled.
|
|
1821
1840
|
*
|
|
1822
|
-
* Managed mode means the user never types a
|
|
1841
|
+
* Managed mode means the user never types a secret — the unlock
|
|
1823
1842
|
* material lives in a `SealingKeyProvider` (`at-*` package). If that
|
|
1824
1843
|
* provider's key is lost AND no strong recovery is enrolled, the
|
|
1825
1844
|
* vault is irrecoverable. To prevent that footgun, managed-mode vaults
|
|
@@ -1827,11 +1846,11 @@ export declare class RecoveryNotEnrolledError extends NoydbError {
|
|
|
1827
1846
|
* multi-channel / admin-mediated when those ship).
|
|
1828
1847
|
*
|
|
1829
1848
|
* Paper recovery alone is NOT strong under managed mode: the user has
|
|
1830
|
-
* no memorized
|
|
1849
|
+
* no memorized secret to fall back on, so losing the paper sheet =
|
|
1831
1850
|
* losing every record permanently.
|
|
1832
1851
|
*
|
|
1833
|
-
* Bootstrap with `db.openVaultAndEnrollRecovery(vault, { recovery: [{ profile: "shamir", k, n }] })`
|
|
1834
|
-
* to atomically create-and-enroll, or call `db.enrollRecovery(vault, { profile: "shamir", ... })`
|
|
1852
|
+
* Bootstrap with `db.team.openVaultAndEnrollRecovery(vault, { recovery: [{ profile: "shamir", k, n }] })`
|
|
1853
|
+
* to atomically create-and-enroll, or call `db.team.enrollRecovery(vault, { profile: "shamir", ... })`
|
|
1835
1854
|
* separately before re-attempting `openVault`.
|
|
1836
1855
|
*/
|
|
1837
1856
|
export declare class ManagedRecoveryNotEnrolledError extends NoydbError {
|
|
@@ -1839,7 +1858,7 @@ export declare class ManagedRecoveryNotEnrolledError extends NoydbError {
|
|
|
1839
1858
|
constructor(vault: string);
|
|
1840
1859
|
}
|
|
1841
1860
|
/**
|
|
1842
|
-
* Raised by `db.
|
|
1861
|
+
* Raised by `db.recoverSecret` / `db.enrollRecovery` /
|
|
1843
1862
|
* `db.rotateRecovery` when the developer requests a recovery profile
|
|
1844
1863
|
* not yet wired in this hub release.
|
|
1845
1864
|
*
|