@noy-db/hub 0.4.0-pre.1 → 0.4.0-pre.2
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/dist/aggregate/index.js +4 -4
- package/dist/api-UPAT2O3M.js +20 -0
- package/dist/as/index.js +12 -12
- package/dist/attestation/index.js +18 -18
- package/dist/{backup-LU2DTZTI.js → backup-JL2GOTYQ.js} +11 -11
- package/dist/blobs/index.js +27 -15
- package/dist/blobs/index.js.map +1 -1
- package/dist/broker/index.js +12 -12
- package/dist/by/index.js +2 -2
- package/dist/cargo/index.js +46 -36
- package/dist/{chunk-QDPZWTN2.js → chunk-25G7U6RD.js} +2 -2
- package/dist/{chunk-GQNGCEP5.js → chunk-25ZDB25Z.js} +2 -2
- package/dist/{chunk-5WZXVULX.js → chunk-2ITLQZV5.js} +2 -2
- package/dist/{chunk-WNGGJWF7.js → chunk-2JZ763FV.js} +2 -2
- package/dist/{chunk-2P7EGNKF.js → chunk-2KL6NDD4.js} +90 -3
- package/dist/chunk-2KL6NDD4.js.map +1 -0
- package/dist/{chunk-3U3FBR7O.js → chunk-2RMDVWGB.js} +2 -2
- package/dist/{chunk-VAIS3SOM.js → chunk-2U7Y7BNJ.js} +2 -2
- package/dist/{chunk-MQ6WOPSY.js → chunk-2VUISNGP.js} +5 -5
- package/dist/chunk-2YELV6TV.js +1 -0
- package/dist/{chunk-2MUZ3LY6.js → chunk-3O62PVDW.js} +3 -3
- package/dist/{chunk-LOF2W3JU.js → chunk-4JYYIFHW.js} +12 -12
- package/dist/{chunk-6HY2X62D.js → chunk-5BB3N4KU.js} +2 -2
- package/dist/{chunk-LSASLXGC.js → chunk-5BHNQNBI.js} +1 -1
- package/dist/{chunk-LSASLXGC.js.map → chunk-5BHNQNBI.js.map} +1 -1
- package/dist/{chunk-6NQMXTYC.js → chunk-5OZCCLNC.js} +2 -2
- package/dist/{chunk-HOONYZY2.js → chunk-5P5AAXYA.js} +2 -2
- package/dist/{chunk-T6GU5PPZ.js → chunk-5SZ24DL5.js} +6 -6
- package/dist/{chunk-PK6QCH2C.js → chunk-7B4GPCX7.js} +5 -5
- package/dist/{chunk-O7WJ47EF.js → chunk-A64XXIIB.js} +4 -4
- package/dist/{chunk-G6EQYAL6.js → chunk-AFBJHD55.js} +5 -5
- package/dist/{chunk-LB6OH6K2.js → chunk-BCOKZC4B.js} +2 -2
- package/dist/{chunk-J6Q7UVQE.js → chunk-BVZGNMVM.js} +4 -16
- package/dist/{chunk-J6Q7UVQE.js.map → chunk-BVZGNMVM.js.map} +1 -1
- package/dist/{chunk-IRQY7IR5.js → chunk-BZEPJJOK.js} +4 -4
- package/dist/{chunk-GYYCX5K6.js → chunk-BZK6JEX4.js} +5 -5
- package/dist/{chunk-7CI6CP7Z.js → chunk-CCT4WZI6.js} +5 -5
- package/dist/{chunk-VEALDPHW.js → chunk-CGPO3ZYB.js} +2 -2
- package/dist/{chunk-S3BFKGET.js → chunk-DEQ2JTBR.js} +3 -3
- package/dist/{chunk-3ELCWU56.js → chunk-E2R5NRZD.js} +2 -2
- package/dist/{chunk-BOKIKJJB.js → chunk-EDC6MLXV.js} +2 -2
- package/dist/{chunk-2IALOXZS.js → chunk-F4COUZLL.js} +2 -2
- package/dist/{chunk-JRBNCUNT.js → chunk-FLHOTGOO.js} +3 -3
- package/dist/{chunk-6XE5TMPR.js → chunk-GBEXTC6Z.js} +3 -3
- package/dist/{chunk-N55W7KUL.js → chunk-GS3Q2KOZ.js} +2 -2
- package/dist/{chunk-M75ZZHSR.js → chunk-GYB2QK5H.js} +2 -2
- package/dist/{chunk-6B4DYGWO.js → chunk-GZ2GKOF6.js} +3 -3
- package/dist/{chunk-VCBHAE4R.js → chunk-H4SMS4O2.js} +2 -2
- package/dist/{chunk-MTQPRQHB.js → chunk-HGVFJL63.js} +4 -4
- package/dist/{chunk-3SV2EPMN.js → chunk-HVZT5T22.js} +5 -5
- package/dist/{chunk-F6T6L2UK.js → chunk-IGAIOGCN.js} +4 -4
- package/dist/{chunk-W2OG6JOL.js → chunk-IGM563N5.js} +18 -1
- package/dist/chunk-IGM563N5.js.map +1 -0
- package/dist/{chunk-GWKAVKHI.js → chunk-ITI3SJRB.js} +2 -2
- package/dist/{chunk-DDATL6PU.js → chunk-IU22SQGU.js} +7 -7
- package/dist/{chunk-RTEK4C4I.js → chunk-IUIVDVXM.js} +2 -2
- package/dist/{chunk-UBNCR3YK.js → chunk-IZX3WZBF.js} +4 -4
- package/dist/{chunk-RDXW3OBQ.js → chunk-J3VW4J4E.js} +2 -2
- package/dist/{chunk-BMQWTQZ4.js → chunk-J6U4BOKP.js} +11 -11
- package/dist/{chunk-KUIB4B5Q.js → chunk-JA5B3SLH.js} +2 -2
- package/dist/{chunk-4BRCIYFG.js → chunk-JA5O7UEZ.js} +6 -6
- package/dist/{chunk-6HPG2YNX.js → chunk-JKWNG3TM.js} +2 -2
- package/dist/{chunk-RM2XV574.js → chunk-JLHKBAFY.js} +3 -3
- package/dist/{chunk-ISMV2QVG.js → chunk-KMONEHDJ.js} +2 -2
- package/dist/{chunk-ZEQWCBCM.js → chunk-KR5EGWI4.js} +5 -5
- package/dist/{chunk-JBBSYJHP.js → chunk-KVHWEPT2.js} +2 -2
- package/dist/{chunk-2PCAVW2I.js → chunk-L4OA7G5T.js} +2 -2
- package/dist/{chunk-IY23KFNZ.js → chunk-LLVW4V7R.js} +3 -3
- package/dist/{chunk-N6WF5PKC.js → chunk-M25ZIEB2.js} +2 -2
- package/dist/{chunk-A7JJLVGH.js → chunk-MEKAMERX.js} +5 -7
- package/dist/{chunk-A7JJLVGH.js.map → chunk-MEKAMERX.js.map} +1 -1
- package/dist/{chunk-UC2ETWF3.js → chunk-MSO2C3KG.js} +2 -2
- package/dist/{chunk-ONTBCHCP.js → chunk-N4FZ6ITM.js} +2 -2
- package/dist/{chunk-DRWBEDYO.js → chunk-NM4LVUXH.js} +2 -2
- package/dist/{chunk-HPUWOVR7.js → chunk-NOT7XA7Q.js} +5 -5
- package/dist/{chunk-RA5VTXXG.js → chunk-OGFPMCSP.js} +2 -2
- package/dist/{chunk-KUPKLSX5.js → chunk-OGY4ELVE.js} +3 -3
- package/dist/{chunk-T36RFODW.js → chunk-OOTTXUNV.js} +2 -2
- package/dist/{chunk-A5BDDEXK.js → chunk-OTU5ZI3U.js} +4 -4
- package/dist/{chunk-OF75ACKS.js → chunk-OVFCAS7U.js} +9 -9
- package/dist/{chunk-KWVJAOIN.js → chunk-OWE4BNTM.js} +4 -4
- package/dist/{chunk-DVUZMT2W.js → chunk-PEY6ZTCF.js} +8 -8
- package/dist/{chunk-7O3AYBC7.js → chunk-PWZKD4HW.js} +70 -59
- package/dist/chunk-PWZKD4HW.js.map +1 -0
- package/dist/{chunk-SMGEYW6G.js → chunk-QAFWRGVD.js} +7 -7
- package/dist/{chunk-TOPYT5U5.js → chunk-QCUH2G77.js} +6 -6
- package/dist/{chunk-CBSY2N76.js → chunk-QDNVHA2F.js} +2 -2
- package/dist/{chunk-FH52K7EG.js → chunk-QRHEAZ2Q.js} +2 -6
- package/dist/{chunk-FH52K7EG.js.map → chunk-QRHEAZ2Q.js.map} +1 -1
- package/dist/{chunk-WEYZTLXN.js → chunk-QXPOEAKR.js} +2 -2
- package/dist/{chunk-PT37L5DV.js → chunk-RGL53NXZ.js} +3 -3
- package/dist/{chunk-TAGR72IR.js → chunk-RI3OKC3Y.js} +4 -4
- package/dist/{chunk-UNCOC7QH.js → chunk-S3OYXPSE.js} +9 -9
- package/dist/{chunk-JVBO4SZL.js → chunk-STR7WBOB.js} +2 -2
- package/dist/{chunk-DDHM2TLX.js → chunk-T7S4V52L.js} +4 -4
- package/dist/{chunk-BGK233EA.js → chunk-TYBXP6WE.js} +7 -7
- package/dist/{chunk-RND5ZPNP.js → chunk-UEO5CHOP.js} +3 -3
- package/dist/{chunk-EGCRBCNA.js → chunk-V3YB7RGR.js} +3 -3
- package/dist/{chunk-IM3QVF53.js → chunk-V7RGFJ3Z.js} +6 -6
- package/dist/{chunk-SMIRGMS7.js → chunk-VEX6G3YL.js} +2 -2
- package/dist/{chunk-3PF6CRDT.js → chunk-VZELV7ZJ.js} +115 -120
- package/dist/{chunk-3PF6CRDT.js.map → chunk-VZELV7ZJ.js.map} +1 -1
- package/dist/{chunk-GULTLPFB.js → chunk-XGVDLQJE.js} +3 -3
- package/dist/{chunk-YJV2UZ7H.js → chunk-XULHFSHO.js} +5 -5
- package/dist/{chunk-S6Q37VGE.js → chunk-XW7NWO4A.js} +2 -2
- package/dist/{chunk-JZWWLLVY.js → chunk-Y5E6CH6S.js} +6 -6
- package/dist/{chunk-CCOP5XDW.js → chunk-YG2EG6CB.js} +4 -4
- package/dist/{chunk-5OI6BR4H.js → chunk-YGBIBOCR.js} +307 -17
- package/dist/chunk-YGBIBOCR.js.map +1 -0
- package/dist/{chunk-YTGDPCPW.js → chunk-YHPUDB7Q.js} +2 -2
- package/dist/{chunk-UFEVO57O.js → chunk-ZJGZDOQO.js} +6 -6
- package/dist/classified/index.js +5 -5
- package/dist/{classified-marker-WQVIJAW2.js → classified-marker-7S5IEP6Q.js} +3 -3
- package/dist/collection-facade-ENLTJZBT.js +44 -0
- package/dist/{computed-DSMPXG2Y.js → computed-WZNKRLCY.js} +3 -3
- package/dist/consent/index.js +9 -9
- package/dist/cover-B5MY43CK.js +36 -0
- package/dist/{dead-filter-2A7IAJ3D.js → dead-filter-KRRD57MR.js} +2 -2
- package/dist/delegation-UT76AQIG.js +25 -0
- package/dist/derivations/index.js +12 -12
- package/dist/derive-SGRCCKVP.js +21 -0
- package/dist/{enclave-7MW6ZGXW.js → enclave-YFKA3GJT.js} +9 -9
- package/dist/executor-TEZYRDN3.js +9 -0
- package/dist/executor-UF7LTX6O.js +26 -0
- package/dist/executor-WQQRU6DO.js +9 -0
- package/dist/export-accessible-HXMKW5LJ.js +23 -0
- package/dist/extract-partition-QGQ2R42J.js +38 -0
- package/dist/{fanout-sidecar-WDYQ77VB.js → fanout-sidecar-HJV3A7PM.js} +9 -9
- package/dist/find-VV6PBIHK.js +11 -0
- package/dist/forget/index.js +9 -9
- package/dist/guards/index.js +6 -6
- package/dist/history/index.js +12 -12
- package/dist/i18n/index.js +14 -14
- package/dist/index.d.ts +1 -4
- package/dist/index.js +173 -192
- package/dist/index.js.map +1 -1
- package/dist/indexing/index.js +2 -2
- package/dist/issue-7JJ4Z7E2.js +19 -0
- package/dist/kernel/errors.d.ts +19 -0
- package/dist/kernel/noydb.d.ts +0 -6
- package/dist/kernel/types.d.ts +20 -17
- package/dist/kernel/vault.d.ts +0 -4
- package/dist/{ledger-33BC4TR7.js → ledger-SW6QQOAV.js} +11 -11
- package/dist/liberate-W5MDWYOV.js +24 -0
- package/dist/{link-set-QK22TDEX.js → link-set-GNGGCFI4.js} +11 -11
- package/dist/materialized-views/index.js +19 -19
- package/dist/noydb-U63S3Z7F.js +70 -0
- package/dist/on/index.js +9 -9
- package/dist/overlay-views/index.js +4 -4
- package/dist/periods/index.js +13 -13
- package/dist/pod/index.js +27 -12
- package/dist/{policy-NAHB2TUT.js → policy-EAXSJNOT.js} +5 -5
- package/dist/portability/index.js +8 -8
- package/dist/{post-register-JVTMJ6OW.js → post-register-A7HCFBP5.js} +6 -6
- package/dist/query/index.js +6 -6
- package/dist/register-YBMRLZLO.js +23 -0
- package/dist/registry-3LXKNXWI.js +9 -0
- package/dist/registry-4V4YQCXJ.js +19 -0
- package/dist/registry-ZULMLCJK.js +18 -0
- package/dist/request-withdrawal-SEVUEUDG.js +31 -0
- package/dist/{reveal-LGBOM2BO.js → reveal-PB3YG544.js} +6 -6
- package/dist/revoke-5QULL5GT.js +24 -0
- package/dist/satellites/index.js +1 -1
- package/dist/sealed-record/index.js +12 -12
- package/dist/{seed-PWK45HDF.js → seed-6GTDHL4E.js} +11 -11
- package/dist/session/index.js +9 -9
- package/dist/shadow/index.js +2 -2
- package/dist/signer-ZMH35FT4.js +25 -0
- package/dist/snapshots/index.js +10 -10
- package/dist/{stale-FJED42DM.js → stale-NB5BGRVU.js} +10 -10
- package/dist/storage-QOZKQMID.js +23 -0
- package/dist/{store-coordination-provider-APODTV4W.js → store-coordination-provider-3AELCZ4Y.js} +3 -3
- package/dist/sync/index.js +10 -10
- package/dist/team/index.js +29 -29
- package/dist/tiers/index.js +10 -10
- package/dist/to/index.js +1 -1
- package/dist/tx/index.js +3 -3
- package/dist/util/index.js +1 -1
- package/dist/{verify-26Y5GNMK.js → verify-MXN66IIH.js} +5 -5
- package/dist/via/blob/active.d.ts +27 -1
- package/dist/via/blob/index.d.ts +4 -0
- package/dist/{walk-XS3PKM6I.js → walk-H4YE52S2.js} +11 -11
- package/dist/with/index.js +11 -11
- package/dist/with-audit/periods/vault-facade.d.ts +6 -0
- package/dist/{legacy/kernel.d.ts → with-cargo/floor.d.ts} +1 -1
- package/dist/with-cargo/index.d.ts +6 -1
- package/dist/with-party/directory/cover/index.d.ts +0 -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-pod/bundle.d.ts +0 -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 +85 -1
- package/dist/withdraw-accessible-HPOVNG2G.js +28 -0
- package/package.json +3 -7
- package/dist/api-IQFZJSQO.js +0 -20
- package/dist/bundle/index.js +0 -105
- package/dist/chunk-2P7EGNKF.js.map +0 -1
- package/dist/chunk-5OI6BR4H.js.map +0 -1
- package/dist/chunk-7O3AYBC7.js.map +0 -1
- package/dist/chunk-CHFZDSE4.js +0 -1
- package/dist/chunk-GVZQ4NAM.js +0 -14
- package/dist/chunk-GVZQ4NAM.js.map +0 -1
- package/dist/chunk-W2OG6JOL.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/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/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/signer-3YFBLZRN.js +0 -25
- package/dist/storage-W3GURVFU.js +0 -23
- package/dist/withdraw-accessible-Y3B2535F.js +0 -28
- package/dist/withdraw-accessible-Y3B2535F.js.map +0 -1
- /package/dist/{api-IQFZJSQO.js.map → api-UPAT2O3M.js.map} +0 -0
- /package/dist/{backup-LU2DTZTI.js.map → backup-JL2GOTYQ.js.map} +0 -0
- /package/dist/{chunk-QDPZWTN2.js.map → chunk-25G7U6RD.js.map} +0 -0
- /package/dist/{chunk-GQNGCEP5.js.map → chunk-25ZDB25Z.js.map} +0 -0
- /package/dist/{chunk-5WZXVULX.js.map → chunk-2ITLQZV5.js.map} +0 -0
- /package/dist/{chunk-WNGGJWF7.js.map → chunk-2JZ763FV.js.map} +0 -0
- /package/dist/{chunk-3U3FBR7O.js.map → chunk-2RMDVWGB.js.map} +0 -0
- /package/dist/{chunk-VAIS3SOM.js.map → chunk-2U7Y7BNJ.js.map} +0 -0
- /package/dist/{chunk-MQ6WOPSY.js.map → chunk-2VUISNGP.js.map} +0 -0
- /package/dist/{bundle/index.js.map → chunk-2YELV6TV.js.map} +0 -0
- /package/dist/{chunk-2MUZ3LY6.js.map → chunk-3O62PVDW.js.map} +0 -0
- /package/dist/{chunk-LOF2W3JU.js.map → chunk-4JYYIFHW.js.map} +0 -0
- /package/dist/{chunk-6HY2X62D.js.map → chunk-5BB3N4KU.js.map} +0 -0
- /package/dist/{chunk-6NQMXTYC.js.map → chunk-5OZCCLNC.js.map} +0 -0
- /package/dist/{chunk-HOONYZY2.js.map → chunk-5P5AAXYA.js.map} +0 -0
- /package/dist/{chunk-T6GU5PPZ.js.map → chunk-5SZ24DL5.js.map} +0 -0
- /package/dist/{chunk-PK6QCH2C.js.map → chunk-7B4GPCX7.js.map} +0 -0
- /package/dist/{chunk-O7WJ47EF.js.map → chunk-A64XXIIB.js.map} +0 -0
- /package/dist/{chunk-G6EQYAL6.js.map → chunk-AFBJHD55.js.map} +0 -0
- /package/dist/{chunk-LB6OH6K2.js.map → chunk-BCOKZC4B.js.map} +0 -0
- /package/dist/{chunk-IRQY7IR5.js.map → chunk-BZEPJJOK.js.map} +0 -0
- /package/dist/{chunk-GYYCX5K6.js.map → chunk-BZK6JEX4.js.map} +0 -0
- /package/dist/{chunk-7CI6CP7Z.js.map → chunk-CCT4WZI6.js.map} +0 -0
- /package/dist/{chunk-VEALDPHW.js.map → chunk-CGPO3ZYB.js.map} +0 -0
- /package/dist/{chunk-S3BFKGET.js.map → chunk-DEQ2JTBR.js.map} +0 -0
- /package/dist/{chunk-3ELCWU56.js.map → chunk-E2R5NRZD.js.map} +0 -0
- /package/dist/{chunk-BOKIKJJB.js.map → chunk-EDC6MLXV.js.map} +0 -0
- /package/dist/{chunk-2IALOXZS.js.map → chunk-F4COUZLL.js.map} +0 -0
- /package/dist/{chunk-JRBNCUNT.js.map → chunk-FLHOTGOO.js.map} +0 -0
- /package/dist/{chunk-6XE5TMPR.js.map → chunk-GBEXTC6Z.js.map} +0 -0
- /package/dist/{chunk-N55W7KUL.js.map → chunk-GS3Q2KOZ.js.map} +0 -0
- /package/dist/{chunk-M75ZZHSR.js.map → chunk-GYB2QK5H.js.map} +0 -0
- /package/dist/{chunk-6B4DYGWO.js.map → chunk-GZ2GKOF6.js.map} +0 -0
- /package/dist/{chunk-VCBHAE4R.js.map → chunk-H4SMS4O2.js.map} +0 -0
- /package/dist/{chunk-MTQPRQHB.js.map → chunk-HGVFJL63.js.map} +0 -0
- /package/dist/{chunk-3SV2EPMN.js.map → chunk-HVZT5T22.js.map} +0 -0
- /package/dist/{chunk-F6T6L2UK.js.map → chunk-IGAIOGCN.js.map} +0 -0
- /package/dist/{chunk-GWKAVKHI.js.map → chunk-ITI3SJRB.js.map} +0 -0
- /package/dist/{chunk-DDATL6PU.js.map → chunk-IU22SQGU.js.map} +0 -0
- /package/dist/{chunk-RTEK4C4I.js.map → chunk-IUIVDVXM.js.map} +0 -0
- /package/dist/{chunk-UBNCR3YK.js.map → chunk-IZX3WZBF.js.map} +0 -0
- /package/dist/{chunk-RDXW3OBQ.js.map → chunk-J3VW4J4E.js.map} +0 -0
- /package/dist/{chunk-BMQWTQZ4.js.map → chunk-J6U4BOKP.js.map} +0 -0
- /package/dist/{chunk-KUIB4B5Q.js.map → chunk-JA5B3SLH.js.map} +0 -0
- /package/dist/{chunk-4BRCIYFG.js.map → chunk-JA5O7UEZ.js.map} +0 -0
- /package/dist/{chunk-6HPG2YNX.js.map → chunk-JKWNG3TM.js.map} +0 -0
- /package/dist/{chunk-RM2XV574.js.map → chunk-JLHKBAFY.js.map} +0 -0
- /package/dist/{chunk-ISMV2QVG.js.map → chunk-KMONEHDJ.js.map} +0 -0
- /package/dist/{chunk-ZEQWCBCM.js.map → chunk-KR5EGWI4.js.map} +0 -0
- /package/dist/{chunk-JBBSYJHP.js.map → chunk-KVHWEPT2.js.map} +0 -0
- /package/dist/{chunk-2PCAVW2I.js.map → chunk-L4OA7G5T.js.map} +0 -0
- /package/dist/{chunk-IY23KFNZ.js.map → chunk-LLVW4V7R.js.map} +0 -0
- /package/dist/{chunk-N6WF5PKC.js.map → chunk-M25ZIEB2.js.map} +0 -0
- /package/dist/{chunk-UC2ETWF3.js.map → chunk-MSO2C3KG.js.map} +0 -0
- /package/dist/{chunk-ONTBCHCP.js.map → chunk-N4FZ6ITM.js.map} +0 -0
- /package/dist/{chunk-DRWBEDYO.js.map → chunk-NM4LVUXH.js.map} +0 -0
- /package/dist/{chunk-HPUWOVR7.js.map → chunk-NOT7XA7Q.js.map} +0 -0
- /package/dist/{chunk-RA5VTXXG.js.map → chunk-OGFPMCSP.js.map} +0 -0
- /package/dist/{chunk-KUPKLSX5.js.map → chunk-OGY4ELVE.js.map} +0 -0
- /package/dist/{chunk-T36RFODW.js.map → chunk-OOTTXUNV.js.map} +0 -0
- /package/dist/{chunk-A5BDDEXK.js.map → chunk-OTU5ZI3U.js.map} +0 -0
- /package/dist/{chunk-OF75ACKS.js.map → chunk-OVFCAS7U.js.map} +0 -0
- /package/dist/{chunk-KWVJAOIN.js.map → chunk-OWE4BNTM.js.map} +0 -0
- /package/dist/{chunk-DVUZMT2W.js.map → chunk-PEY6ZTCF.js.map} +0 -0
- /package/dist/{chunk-SMGEYW6G.js.map → chunk-QAFWRGVD.js.map} +0 -0
- /package/dist/{chunk-TOPYT5U5.js.map → chunk-QCUH2G77.js.map} +0 -0
- /package/dist/{chunk-CBSY2N76.js.map → chunk-QDNVHA2F.js.map} +0 -0
- /package/dist/{chunk-WEYZTLXN.js.map → chunk-QXPOEAKR.js.map} +0 -0
- /package/dist/{chunk-PT37L5DV.js.map → chunk-RGL53NXZ.js.map} +0 -0
- /package/dist/{chunk-TAGR72IR.js.map → chunk-RI3OKC3Y.js.map} +0 -0
- /package/dist/{chunk-UNCOC7QH.js.map → chunk-S3OYXPSE.js.map} +0 -0
- /package/dist/{chunk-JVBO4SZL.js.map → chunk-STR7WBOB.js.map} +0 -0
- /package/dist/{chunk-DDHM2TLX.js.map → chunk-T7S4V52L.js.map} +0 -0
- /package/dist/{chunk-BGK233EA.js.map → chunk-TYBXP6WE.js.map} +0 -0
- /package/dist/{chunk-RND5ZPNP.js.map → chunk-UEO5CHOP.js.map} +0 -0
- /package/dist/{chunk-EGCRBCNA.js.map → chunk-V3YB7RGR.js.map} +0 -0
- /package/dist/{chunk-IM3QVF53.js.map → chunk-V7RGFJ3Z.js.map} +0 -0
- /package/dist/{chunk-SMIRGMS7.js.map → chunk-VEX6G3YL.js.map} +0 -0
- /package/dist/{chunk-GULTLPFB.js.map → chunk-XGVDLQJE.js.map} +0 -0
- /package/dist/{chunk-YJV2UZ7H.js.map → chunk-XULHFSHO.js.map} +0 -0
- /package/dist/{chunk-S6Q37VGE.js.map → chunk-XW7NWO4A.js.map} +0 -0
- /package/dist/{chunk-JZWWLLVY.js.map → chunk-Y5E6CH6S.js.map} +0 -0
- /package/dist/{chunk-CCOP5XDW.js.map → chunk-YG2EG6CB.js.map} +0 -0
- /package/dist/{chunk-YTGDPCPW.js.map → chunk-YHPUDB7Q.js.map} +0 -0
- /package/dist/{chunk-UFEVO57O.js.map → chunk-ZJGZDOQO.js.map} +0 -0
- /package/dist/{classified-marker-WQVIJAW2.js.map → classified-marker-7S5IEP6Q.js.map} +0 -0
- /package/dist/{chunk-CHFZDSE4.js.map → collection-facade-ENLTJZBT.js.map} +0 -0
- /package/dist/{collection-facade-MJXSC3Q6.js.map → computed-WZNKRLCY.js.map} +0 -0
- /package/dist/{computed-DSMPXG2Y.js.map → cover-B5MY43CK.js.map} +0 -0
- /package/dist/{dead-filter-2A7IAJ3D.js.map → dead-filter-KRRD57MR.js.map} +0 -0
- /package/dist/{cover-B5SJDHR3.js.map → delegation-UT76AQIG.js.map} +0 -0
- /package/dist/{delegation-A5A75KQO.js.map → derive-SGRCCKVP.js.map} +0 -0
- /package/dist/{derive-HJSMH7RA.js.map → enclave-YFKA3GJT.js.map} +0 -0
- /package/dist/{enclave-7MW6ZGXW.js.map → executor-TEZYRDN3.js.map} +0 -0
- /package/dist/{executor-AXE4XMLT.js.map → executor-UF7LTX6O.js.map} +0 -0
- /package/dist/{executor-KGNLJD6M.js.map → executor-WQQRU6DO.js.map} +0 -0
- /package/dist/{executor-XGIS6CR7.js.map → export-accessible-HXMKW5LJ.js.map} +0 -0
- /package/dist/{export-accessible-VVBJM3MM.js.map → extract-partition-QGQ2R42J.js.map} +0 -0
- /package/dist/{fanout-sidecar-WDYQ77VB.js.map → fanout-sidecar-HJV3A7PM.js.map} +0 -0
- /package/dist/{extract-partition-LGGBTQET.js.map → find-VV6PBIHK.js.map} +0 -0
- /package/dist/{find-YS6XWB46.js.map → issue-7JJ4Z7E2.js.map} +0 -0
- /package/dist/{issue-LSR5PS6H.js.map → ledger-SW6QQOAV.js.map} +0 -0
- /package/dist/{ledger-33BC4TR7.js.map → liberate-W5MDWYOV.js.map} +0 -0
- /package/dist/{liberate-GBSAYLPJ.js.map → link-set-GNGGCFI4.js.map} +0 -0
- /package/dist/{link-set-QK22TDEX.js.map → noydb-U63S3Z7F.js.map} +0 -0
- /package/dist/{noydb-MTUBMWFE.js.map → policy-EAXSJNOT.js.map} +0 -0
- /package/dist/{post-register-JVTMJ6OW.js.map → post-register-A7HCFBP5.js.map} +0 -0
- /package/dist/{policy-NAHB2TUT.js.map → register-YBMRLZLO.js.map} +0 -0
- /package/dist/{register-X462DNDM.js.map → registry-3LXKNXWI.js.map} +0 -0
- /package/dist/{registry-3XMCT7MQ.js.map → registry-4V4YQCXJ.js.map} +0 -0
- /package/dist/{registry-KHD2I3M2.js.map → registry-ZULMLCJK.js.map} +0 -0
- /package/dist/{registry-NPOWJHC4.js.map → request-withdrawal-SEVUEUDG.js.map} +0 -0
- /package/dist/{reveal-LGBOM2BO.js.map → reveal-PB3YG544.js.map} +0 -0
- /package/dist/{request-withdrawal-U7K3JTMY.js.map → revoke-5QULL5GT.js.map} +0 -0
- /package/dist/{seed-PWK45HDF.js.map → seed-6GTDHL4E.js.map} +0 -0
- /package/dist/{revoke-OCWDSWRQ.js.map → signer-ZMH35FT4.js.map} +0 -0
- /package/dist/{signer-3YFBLZRN.js.map → stale-NB5BGRVU.js.map} +0 -0
- /package/dist/{stale-FJED42DM.js.map → storage-QOZKQMID.js.map} +0 -0
- /package/dist/{store-coordination-provider-APODTV4W.js.map → store-coordination-provider-3AELCZ4Y.js.map} +0 -0
- /package/dist/{verify-26Y5GNMK.js.map → verify-MXN66IIH.js.map} +0 -0
- /package/dist/{walk-XS3PKM6I.js.map → walk-H4YE52S2.js.map} +0 -0
- /package/dist/{storage-W3GURVFU.js.map → withdraw-accessible-HPOVNG2G.js.map} +0 -0
package/dist/tiers/index.js
CHANGED
|
@@ -11,19 +11,19 @@ import {
|
|
|
11
11
|
putAtTier,
|
|
12
12
|
syncDerivedOutputs,
|
|
13
13
|
withTiers
|
|
14
|
-
} from "../chunk-
|
|
15
|
-
import "../chunk-
|
|
16
|
-
import "../chunk-
|
|
17
|
-
import "../chunk-
|
|
18
|
-
import "../chunk-
|
|
19
|
-
import "../chunk-
|
|
20
|
-
import "../chunk-
|
|
14
|
+
} from "../chunk-IU22SQGU.js";
|
|
15
|
+
import "../chunk-MSO2C3KG.js";
|
|
16
|
+
import "../chunk-PEY6ZTCF.js";
|
|
17
|
+
import "../chunk-QXPOEAKR.js";
|
|
18
|
+
import "../chunk-LLVW4V7R.js";
|
|
19
|
+
import "../chunk-M25ZIEB2.js";
|
|
20
|
+
import "../chunk-5BB3N4KU.js";
|
|
21
21
|
import "../chunk-LP7BEXCT.js";
|
|
22
|
-
import "../chunk-
|
|
23
|
-
import "../chunk-
|
|
22
|
+
import "../chunk-5P5AAXYA.js";
|
|
23
|
+
import "../chunk-5BHNQNBI.js";
|
|
24
24
|
import {
|
|
25
25
|
TiersNotEnabledError
|
|
26
|
-
} from "../chunk-
|
|
26
|
+
} from "../chunk-IGM563N5.js";
|
|
27
27
|
import "../chunk-PZ5AY32C.js";
|
|
28
28
|
export {
|
|
29
29
|
NO_TIERS,
|
package/dist/to/index.js
CHANGED
package/dist/tx/index.js
CHANGED
|
@@ -3,9 +3,9 @@ import {
|
|
|
3
3
|
TxContext,
|
|
4
4
|
TxVault,
|
|
5
5
|
runTransaction
|
|
6
|
-
} from "../chunk-
|
|
6
|
+
} from "../chunk-FLHOTGOO.js";
|
|
7
7
|
import "../chunk-ZJADGNYF.js";
|
|
8
|
-
import "../chunk-
|
|
8
|
+
import "../chunk-IGM563N5.js";
|
|
9
9
|
import "../chunk-PZ5AY32C.js";
|
|
10
10
|
|
|
11
11
|
// src/with-commit/tx/dry-run.ts
|
|
@@ -44,7 +44,7 @@ async function runDryRun(db, fn) {
|
|
|
44
44
|
const gctx = { existing: before, vault: facade, userId: v.userId, role: v.role };
|
|
45
45
|
try {
|
|
46
46
|
await registry.runChecks(op.collectionName, after, gctx);
|
|
47
|
-
const { GuardExecutor } = await import("../executor-
|
|
47
|
+
const { GuardExecutor } = await import("../executor-WQQRU6DO.js");
|
|
48
48
|
for (const g of guards) {
|
|
49
49
|
await GuardExecutor.checkFrozenFields(g, op.id, before, after);
|
|
50
50
|
}
|
package/dist/util/index.js
CHANGED
|
@@ -2,10 +2,10 @@ import {
|
|
|
2
2
|
blindedEqual,
|
|
3
3
|
evaluateKofN,
|
|
4
4
|
openVdigPayload
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-LLVW4V7R.js";
|
|
6
6
|
import {
|
|
7
7
|
dualReadSealedSlot
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-M25ZIEB2.js";
|
|
9
9
|
import {
|
|
10
10
|
VDIG_ITERATIONS,
|
|
11
11
|
normalizeForVerify,
|
|
@@ -14,11 +14,11 @@ import {
|
|
|
14
14
|
import {
|
|
15
15
|
base64ToBuffer,
|
|
16
16
|
generateSalt
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-5P5AAXYA.js";
|
|
18
18
|
import {
|
|
19
19
|
ClassifiedConfigError,
|
|
20
20
|
ClassifiedVerifyError
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-IGM563N5.js";
|
|
22
22
|
import "./chunk-PZ5AY32C.js";
|
|
23
23
|
|
|
24
24
|
// src/kernel/enclave/classify/verify.ts
|
|
@@ -137,4 +137,4 @@ export {
|
|
|
137
137
|
verifyDigestField,
|
|
138
138
|
verifyTextField
|
|
139
139
|
};
|
|
140
|
-
//# sourceMappingURL=verify-
|
|
140
|
+
//# sourceMappingURL=verify-MXN66IIH.js.map
|
|
@@ -10,6 +10,29 @@
|
|
|
10
10
|
* this (ESM tree-shaking + hub's `"sideEffects": false`).
|
|
11
11
|
*/
|
|
12
12
|
import type { BlobStrategy } from '../../port/with/blob-strategy.js';
|
|
13
|
+
import type { BlobPinStore, BlobCacheStats } from '../../with-shape/blobs/blob-pinning.js';
|
|
14
|
+
/** Options for {@link withBlobs} (#808). */
|
|
15
|
+
export interface WithBlobsOptions {
|
|
16
|
+
/**
|
|
17
|
+
* Device-local backend for the offline-pin registry + external side-cache
|
|
18
|
+
* (`collection.blob(id).pin()`, the `cacheBudget` LRU stamps). Default:
|
|
19
|
+
* in-memory — pins then last one app session. Supply a durable,
|
|
20
|
+
* DEVICE-LOCAL store (IndexedDB-backed on the web; it must never sync) to
|
|
21
|
+
* keep pins across restarts. See `BlobPinStore`'s doc for the posture.
|
|
22
|
+
*/
|
|
23
|
+
readonly pinStore?: BlobPinStore;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The strategy `withBlobs()` returns — a `BlobStrategy` plus the device-local
|
|
27
|
+
* blob-cache KPI surface (#808).
|
|
28
|
+
*/
|
|
29
|
+
export interface BlobsService extends BlobStrategy {
|
|
30
|
+
/**
|
|
31
|
+
* Snapshot of this device's blob-cache KPI counters: local-read hits,
|
|
32
|
+
* network misses, and total bytes downloaded from the object store.
|
|
33
|
+
*/
|
|
34
|
+
cacheStats(): BlobCacheStats;
|
|
35
|
+
}
|
|
13
36
|
/**
|
|
14
37
|
* Build a default `BlobStrategy` ready to pass into `createNoydb`.
|
|
15
38
|
*
|
|
@@ -17,6 +40,9 @@ import type { BlobStrategy } from '../../port/with/blob-strategy.js';
|
|
|
17
40
|
* avoid shadowing the very common local idiom
|
|
18
41
|
* `const blobs = invoices.blob(id)` in user code.
|
|
19
42
|
*
|
|
43
|
+
* One `withBlobs()` instance owns one device-local pin registry + KPI
|
|
44
|
+
* counter set (#808) — treat it as "this device's" blob service.
|
|
45
|
+
*
|
|
20
46
|
* @example
|
|
21
47
|
* ```ts
|
|
22
48
|
* import { createNoydb } from '@noy-db/hub'
|
|
@@ -31,4 +57,4 @@ import type { BlobStrategy } from '../../port/with/blob-strategy.js';
|
|
|
31
57
|
* await db.vault('acme').collection('invoices').blob('inv-1').put('receipt.pdf', bytes)
|
|
32
58
|
* ```
|
|
33
59
|
*/
|
|
34
|
-
export declare function withBlobs():
|
|
60
|
+
export declare function withBlobs(options?: WithBlobsOptions): BlobsService;
|
package/dist/via/blob/index.d.ts
CHANGED
|
@@ -19,7 +19,11 @@
|
|
|
19
19
|
* code should prefer this subpath so the import boundary is explicit.
|
|
20
20
|
*/
|
|
21
21
|
export { withBlobs } from './active.js';
|
|
22
|
+
export type { WithBlobsOptions, BlobsService } from './active.js';
|
|
22
23
|
export type { BlobStrategy, BlobStrategyOpenArgs } from '../../port/with/blob-strategy.js';
|
|
24
|
+
export { memoryBlobPinStore, blobPinKey } from '../../with-shape/blobs/blob-pinning.js';
|
|
25
|
+
export type { BlobPinStore, BlobPinEntry, BlobCacheStats } from '../../with-shape/blobs/blob-pinning.js';
|
|
26
|
+
export { BlobOfflineError } from '../../kernel/errors.js';
|
|
23
27
|
export { memoryObjectProjection } from '../../with-shape/blobs/object-projection.js';
|
|
24
28
|
export type { ObjectProjection, ObjectMeta, ObjectListEntry, PutObjectOptions, ObjectUrlOptions, PutUrlOptions, } from '../../with-shape/blobs/object-projection.js';
|
|
25
29
|
export { importExternalObjects } from '../../with-shape/blobs/import-external.js';
|
|
@@ -3,19 +3,19 @@ import {
|
|
|
3
3
|
} from "./chunk-VYYM3MEN.js";
|
|
4
4
|
import {
|
|
5
5
|
derivePersistedSchema
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-EDC6MLXV.js";
|
|
7
7
|
import {
|
|
8
8
|
loadPersistedSchema
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-IGAIOGCN.js";
|
|
10
|
+
import "./chunk-PEY6ZTCF.js";
|
|
11
|
+
import "./chunk-QXPOEAKR.js";
|
|
12
|
+
import "./chunk-LLVW4V7R.js";
|
|
13
|
+
import "./chunk-M25ZIEB2.js";
|
|
14
|
+
import "./chunk-5BB3N4KU.js";
|
|
15
15
|
import "./chunk-LP7BEXCT.js";
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-5P5AAXYA.js";
|
|
17
|
+
import "./chunk-5BHNQNBI.js";
|
|
18
|
+
import "./chunk-IGM563N5.js";
|
|
19
19
|
import "./chunk-PZ5AY32C.js";
|
|
20
20
|
|
|
21
21
|
// src/with-shape/introspection/walk.ts
|
|
@@ -238,4 +238,4 @@ function summariseAggregateOp(value) {
|
|
|
238
238
|
export {
|
|
239
239
|
dumpVaultSchema
|
|
240
240
|
};
|
|
241
|
-
//# sourceMappingURL=walk-
|
|
241
|
+
//# sourceMappingURL=walk-H4YE52S2.js.map
|
package/dist/with/index.js
CHANGED
|
@@ -6,18 +6,18 @@ import {
|
|
|
6
6
|
assertCanImport,
|
|
7
7
|
canExport,
|
|
8
8
|
canImport
|
|
9
|
-
} from "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-
|
|
16
|
-
import "../chunk-
|
|
9
|
+
} from "../chunk-RGL53NXZ.js";
|
|
10
|
+
import "../chunk-HVZT5T22.js";
|
|
11
|
+
import "../chunk-7B4GPCX7.js";
|
|
12
|
+
import "../chunk-PEY6ZTCF.js";
|
|
13
|
+
import "../chunk-QXPOEAKR.js";
|
|
14
|
+
import "../chunk-LLVW4V7R.js";
|
|
15
|
+
import "../chunk-M25ZIEB2.js";
|
|
16
|
+
import "../chunk-5BB3N4KU.js";
|
|
17
17
|
import "../chunk-LP7BEXCT.js";
|
|
18
|
-
import "../chunk-
|
|
19
|
-
import "../chunk-
|
|
20
|
-
import "../chunk-
|
|
18
|
+
import "../chunk-5P5AAXYA.js";
|
|
19
|
+
import "../chunk-5BHNQNBI.js";
|
|
20
|
+
import "../chunk-IGM563N5.js";
|
|
21
21
|
import "../chunk-PZ5AY32C.js";
|
|
22
22
|
export {
|
|
23
23
|
ServiceBus,
|
|
@@ -28,6 +28,12 @@ export interface VaultPeriodsDeps {
|
|
|
28
28
|
archiveRecords(before: string): Promise<number>;
|
|
29
29
|
/** #615: sweep delete markers off the vault's push-only sync targets. Bound to `vault._purgePeriodTargets`. */
|
|
30
30
|
purgeTargets(before: string): Promise<readonly TargetPurgeCount[]>;
|
|
31
|
+
/**
|
|
32
|
+
* #822: mark a reserved-collection write dirty so the sync engine pushes
|
|
33
|
+
* it. Bound to the vault's `onDirty` when sync is configured, `undefined`
|
|
34
|
+
* otherwise. Only `_periods` uses it — see `writeReserved`.
|
|
35
|
+
*/
|
|
36
|
+
onDirty?: ((collection: string, id: string, action: 'put', version: number) => Promise<void>) | undefined;
|
|
31
37
|
}
|
|
32
38
|
export declare class VaultPeriods {
|
|
33
39
|
private readonly deps;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* The `@noy-db/hub/kernel` published subpath has been retired (coordinated
|
|
3
3
|
* removal; consumers migrated to `@noy-db/hub/cargo`). This file survives
|
|
4
4
|
* unpublished as `/cargo`'s internal re-export floor — `with-cargo/index.ts`
|
|
5
|
-
* does `export * from '
|
|
5
|
+
* does `export * from './floor.js'` to consolidate this runtime-helper
|
|
6
6
|
* / error-class / type surface into the cargo seam, and
|
|
7
7
|
* `cargo-surface-golden.test.ts` reads this file directly as part of that
|
|
8
8
|
* union. Do not reintroduce it as a tsup entry or package.json export.
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
*
|
|
13
13
|
* @packageDocumentation
|
|
14
14
|
*/
|
|
15
|
-
export * from '
|
|
15
|
+
export * from './floor.js';
|
|
16
16
|
export { CustodyApi } from '../with-party/custody/index.js';
|
|
17
17
|
export type { GrantCustodianOptions } from '../with-party/custody/index.js';
|
|
18
18
|
export { liberateVault } from '../with-party/custody/liberate.js';
|
|
@@ -32,6 +32,11 @@ export { describeExtraction } from './describe-extraction.js';
|
|
|
32
32
|
export { decryptExtractedPartition } from './decrypt-partition.js';
|
|
33
33
|
export type { ExtractionPreview } from './describe-extraction.js';
|
|
34
34
|
export type { DecryptedRecord } from './decrypt-partition.js';
|
|
35
|
+
export type { WalkClosureOptions, ClosureResult, DanglingRefNotice } from './walk-closure.js';
|
|
36
|
+
export type { ExtractPartitionResult } from './extract-partition.js';
|
|
37
|
+
export { adoptPartition, unsealDeks, createOwnerOnAdoptedPartition } from './adopt-partition.js';
|
|
38
|
+
export type { AdoptPartitionOptions, AdoptPartitionResult, CreateOwnerResult, CreateOwnerOptions, CreateOwnerStandardOptions, CreateOwnerManagedOptions, } from './adopt-partition.js';
|
|
39
|
+
export { TransferSealError, AdoptionStateError, PartitionExtractionError } from '../kernel/errors.js';
|
|
35
40
|
export type { WriteHook } from '../port/with/write-hooks.js';
|
|
36
41
|
export type { WriteQueue } from '../kernel/write-queue.js';
|
|
37
42
|
export type { WriteConflict } from '../kernel/types.js';
|
|
@@ -12,8 +12,3 @@ export type { SetCoverInput } from './schema.js';
|
|
|
12
12
|
export { validateCoverInput, isCover } from './schema.js';
|
|
13
13
|
export { mergeCustom, validateCoverSize } from './custom.js';
|
|
14
14
|
export { loadCover, saveCover, readCover, resolveLocale, pickLocale, COVER_RECORD_ID, } from './storage.js';
|
|
15
|
-
export type { PublicEnvelope, PublicEnvelopeText, PublicEnvelopeSchema, PublicEnvelopeField, ResolvedPublicEnvelopeSchema, } from './types.js';
|
|
16
|
-
export { PUBLIC_ENVELOPE_FIELDS, DEFAULT_PUBLIC_ENVELOPE_SCHEMA, } from './types.js';
|
|
17
|
-
export type { SetPublicEnvelopeInput } from './schema.js';
|
|
18
|
-
export { validatePublicEnvelopeInput, isPublicEnvelope } from './schema.js';
|
|
19
|
-
export { loadPublicEnvelope, savePublicEnvelope, readPublicEnvelope, PUBLIC_ENVELOPE_RECORD_ID, } from './storage.js';
|
|
@@ -31,9 +31,3 @@ export declare function validateCoverInput(input: SetCoverInput, schema: Resolve
|
|
|
31
31
|
* discriminator keeps its frozen name: `_noydb_public: 1`.)
|
|
32
32
|
*/
|
|
33
33
|
export declare function isCover(x: unknown): x is Cover;
|
|
34
|
-
/** @deprecated Use {@link SetCoverInput}. */
|
|
35
|
-
export type SetPublicEnvelopeInput = SetCoverInput;
|
|
36
|
-
/** @deprecated Use {@link validateCoverInput}. */
|
|
37
|
-
export declare const validatePublicEnvelopeInput: typeof validateCoverInput;
|
|
38
|
-
/** @deprecated Use {@link isCover}. */
|
|
39
|
-
export declare const isPublicEnvelope: typeof isCover;
|
|
@@ -61,11 +61,3 @@ export declare function resolveLocale(cover: Cover, locale: string): Cover;
|
|
|
61
61
|
* This deviation is documented in `https://github.com/vLannaAi/noy-db-docs/blob/main/content/docs/services/public-envelope.md`.
|
|
62
62
|
*/
|
|
63
63
|
export declare function pickLocale(value: string | Record<string, string>, locale: string, defaultLocale: string | undefined): string;
|
|
64
|
-
/** @deprecated Use {@link COVER_RECORD_ID}. */
|
|
65
|
-
export declare const PUBLIC_ENVELOPE_RECORD_ID = "public-envelope";
|
|
66
|
-
/** @deprecated Use {@link loadCover}. */
|
|
67
|
-
export declare const loadPublicEnvelope: typeof loadCover;
|
|
68
|
-
/** @deprecated Use {@link saveCover}. */
|
|
69
|
-
export declare const savePublicEnvelope: typeof saveCover;
|
|
70
|
-
/** @deprecated Use {@link readCover}. */
|
|
71
|
-
export declare const readPublicEnvelope: typeof readCover;
|
|
@@ -126,24 +126,3 @@ export interface ResolvedCoverSchema {
|
|
|
126
126
|
* overrides the keys it provides.
|
|
127
127
|
*/
|
|
128
128
|
export declare function resolveSchema(schema: true | CoverSchema | undefined): ResolvedCoverSchema | undefined;
|
|
129
|
-
/** @deprecated Use {@link Cover}. */
|
|
130
|
-
export type PublicEnvelope = Cover;
|
|
131
|
-
/** @deprecated Use {@link CoverText}. */
|
|
132
|
-
export type PublicEnvelopeText = CoverText;
|
|
133
|
-
/** @deprecated Use {@link CoverField}. */
|
|
134
|
-
export type PublicEnvelopeField = CoverField;
|
|
135
|
-
/** @deprecated Use {@link CoverSchema}. */
|
|
136
|
-
export type PublicEnvelopeSchema = CoverSchema;
|
|
137
|
-
/** @deprecated Use {@link ResolvedCoverSchema}. */
|
|
138
|
-
export type ResolvedPublicEnvelopeSchema = ResolvedCoverSchema;
|
|
139
|
-
/** @deprecated Use {@link COVER_FIELDS}. */
|
|
140
|
-
export declare const PUBLIC_ENVELOPE_FIELDS: readonly ["name", "description", "icon", "createdAt", "updatedAt", "defaultLocale", "custom"];
|
|
141
|
-
/** @deprecated Use {@link DEFAULT_COVER_SCHEMA}. */
|
|
142
|
-
export declare const DEFAULT_PUBLIC_ENVELOPE_SCHEMA: {
|
|
143
|
-
readonly fields: readonly ["name", "description", "icon", "createdAt", "updatedAt", "defaultLocale"];
|
|
144
|
-
readonly maxIconBytes: number;
|
|
145
|
-
readonly iconMimeTypes: readonly ["image/png", "image/svg+xml"];
|
|
146
|
-
readonly maxStringChars: 200;
|
|
147
|
-
readonly maxCustomBytes: number;
|
|
148
|
-
readonly maxCoverBytes: number;
|
|
149
|
-
};
|
|
@@ -391,8 +391,6 @@ export declare const readNoydbBundleHeader: typeof readPodHeader;
|
|
|
391
391
|
export declare function readPodCover(bytes: Uint8Array, opts?: {
|
|
392
392
|
readonly locale?: string;
|
|
393
393
|
}): Cover | undefined;
|
|
394
|
-
/** @deprecated Use `readPodCover` (#799 rename). */
|
|
395
|
-
export declare const readNoydbBundlePublicEnvelope: typeof readPodCover;
|
|
396
394
|
/**
|
|
397
395
|
* Read a full `.noydb` bundle: validate magic + header, verify
|
|
398
396
|
* integrity hash over the body bytes, decompress, and return the
|
package/dist/with-pod/index.d.ts
CHANGED
|
@@ -14,8 +14,9 @@
|
|
|
14
14
|
export { writePod, readPod, readPodHeader, readPodCover, writeNoydbBundle, readNoydbBundle, readNoydbBundleHeader, resetBrotliSupportCache, } from './bundle.js';
|
|
15
15
|
export type { Cover } from '../with-party/directory/cover/types.js';
|
|
16
16
|
export type { WritePodOptions, WriteNoydbBundleOptions, ReadNoydbBundleOptions, NoydbBundleReadResult, } from './bundle.js';
|
|
17
|
-
export { NOYDB_BUNDLE_MAGIC, NOYDB_BUNDLE_PREFIX_BYTES, NOYDB_BUNDLE_FORMAT_VERSION, FLAG_COMPRESSED, FLAG_HAS_INTEGRITY_HASH, COMPRESSION_NONE, COMPRESSION_GZIP, COMPRESSION_BROTLI, validateBundleHeader, encodeBundleHeader, } from './format.js';
|
|
17
|
+
export { NOYDB_BUNDLE_MAGIC, NOYDB_BUNDLE_PREFIX_BYTES, NOYDB_BUNDLE_FORMAT_VERSION, FLAG_COMPRESSED, FLAG_HAS_INTEGRITY_HASH, COMPRESSION_NONE, COMPRESSION_GZIP, COMPRESSION_BROTLI, validateBundleHeader, encodeBundleHeader, hasNoydbBundleMagic, } from './format.js';
|
|
18
18
|
export type { CompressionAlgo, NoydbPodHeader, NoydbBundleHeader, } from './format.js';
|
|
19
19
|
export { generateULID, isULID } from './ulid.js';
|
|
20
20
|
export { wrapPodStore, createPodStore, wrapBundleStore, createBundleStore } from './pod-store.js';
|
|
21
21
|
export type { WrappedPodNoydbStore, WrapPodStoreOptions, WrappedBundleNoydbStore, WrapBundleStoreOptions, } from './pod-store.js';
|
|
22
|
+
export { BundleIntegrityError, BundleSealMismatchError, PodVersionConflictError, BundleVersionConflictError, BackupLedgerError, BackupCorruptedError, } from '../kernel/errors.js';
|
|
@@ -105,24 +105,41 @@ export interface BlobEvictionEntry {
|
|
|
105
105
|
readonly recordId: string;
|
|
106
106
|
readonly slotName: string;
|
|
107
107
|
readonly blobHash: string;
|
|
108
|
-
|
|
108
|
+
/** `'budget'` — evicted by the #808 cache-budget LRU pass, not a policy. */
|
|
109
|
+
readonly reason: 'ttl' | 'predicate' | 'both' | 'budget';
|
|
109
110
|
readonly evictedAt: string;
|
|
110
111
|
readonly actor: string;
|
|
111
112
|
}
|
|
112
113
|
export interface CompactionResult {
|
|
113
|
-
/** Number of blob slots evicted across all collections. */
|
|
114
|
+
/** Number of blob slots evicted by the policy pass across all collections. */
|
|
114
115
|
readonly evicted: number;
|
|
115
116
|
/** Number of records touched (iterated + policy checked). */
|
|
116
117
|
readonly records: number;
|
|
117
118
|
/** Number of collections with `blobFields` configured. */
|
|
118
119
|
readonly collections: number;
|
|
119
|
-
/**
|
|
120
|
+
/**
|
|
121
|
+
* Number of audit entries written — one per policy eviction plus one per
|
|
122
|
+
* budget SLOT eviction (dropping a device-local cache copy writes none).
|
|
123
|
+
*/
|
|
120
124
|
readonly auditEntries: number;
|
|
121
125
|
/**
|
|
122
126
|
* Number of slots that would have evicted (TTL/predicate triggered)
|
|
123
127
|
* but were retained by a `legalHold` or `retainUntil` floor.
|
|
124
128
|
*/
|
|
125
129
|
readonly held: number;
|
|
130
|
+
/**
|
|
131
|
+
* #808: number of slots whose due policy eviction was skipped because they
|
|
132
|
+
* are pinned for offline on THIS device (pin state is device-local).
|
|
133
|
+
*/
|
|
134
|
+
readonly pinned: number;
|
|
135
|
+
/**
|
|
136
|
+
* #808: number of evictions performed by the `cacheBudget` LRU pass —
|
|
137
|
+
* internal slots evicted through the standard eviction writer plus
|
|
138
|
+
* device-local external cache copies dropped. 0 when no budget was given.
|
|
139
|
+
*/
|
|
140
|
+
readonly budgetEvicted: number;
|
|
141
|
+
/** #808: plaintext bytes freed by the `cacheBudget` LRU pass. */
|
|
142
|
+
readonly budgetBytesFreed: number;
|
|
126
143
|
/** Per-collection breakdown for diagnostics. */
|
|
127
144
|
readonly byCollection: Record<string, {
|
|
128
145
|
records: number;
|
|
@@ -143,6 +160,22 @@ export interface CompactRunOptions {
|
|
|
143
160
|
* what would happen.
|
|
144
161
|
*/
|
|
145
162
|
readonly dryRun?: boolean;
|
|
163
|
+
/**
|
|
164
|
+
* #808 mobile cache budget: cap the locally-cached UNPINNED blob bytes.
|
|
165
|
+
* After the policy pass, a dedicated LRU pass walks every collection's
|
|
166
|
+
* slots (pinned slots and `legalHold`/`retainUntil`-held slots are exempt
|
|
167
|
+
* and uncounted) and evicts oldest-access-first — internal slots through
|
|
168
|
+
* the standard eviction writer (`deleteSlot` + a `'budget'` audit entry),
|
|
169
|
+
* external slots by dropping their device-local encrypted cache copy only
|
|
170
|
+
* (the object-store copy is authoritative and untouched) — until the
|
|
171
|
+
* remaining unpinned bytes fit `maxBytes`. Internal slots count their
|
|
172
|
+
* uncompressed `size`; external slots count `cachedBytes` (0 = nothing
|
|
173
|
+
* local, nothing to evict). LRU order comes from the device-local
|
|
174
|
+
* `lastAccessAt` stamp, falling back to `uploadedAt`.
|
|
175
|
+
*/
|
|
176
|
+
readonly cacheBudget?: {
|
|
177
|
+
readonly maxBytes: number;
|
|
178
|
+
};
|
|
146
179
|
}
|
|
147
180
|
export interface CompactionContext {
|
|
148
181
|
readonly adapter: NoydbStore;
|
|
@@ -166,5 +199,12 @@ export interface CompactionContext {
|
|
|
166
199
|
readonly listSlots: (collection: string, id: string) => Promise<SlotInfo[]>;
|
|
167
200
|
/** Delete a slot and decrement its blob's refCount. */
|
|
168
201
|
readonly deleteSlot: (collection: string, id: string, slotName: string) => Promise<void>;
|
|
202
|
+
/**
|
|
203
|
+
* #808: drop a slot's DEVICE-LOCAL cached copy (the encrypted external
|
|
204
|
+
* side-cache) without touching the slot or the object store. Returns the
|
|
205
|
+
* plaintext bytes freed. Optional — absent (or a 0 return) means external
|
|
206
|
+
* cache entries simply cannot be budget-evicted through this context.
|
|
207
|
+
*/
|
|
208
|
+
readonly dropLocalCache?: (collection: string, id: string, slotName: string) => Promise<number>;
|
|
169
209
|
}
|
|
170
210
|
export declare function runCompaction(ctx: CompactionContext, options?: CompactRunOptions): Promise<CompactionResult>;
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* #808 — device-local blob pin registry + external side-cache + KPI counters.
|
|
3
|
+
*
|
|
4
|
+
* Pinning marks a blob slot "keep this available offline" **for this device
|
|
5
|
+
* only**. Pin state is intentionally NEVER written to the vault's
|
|
6
|
+
* `NoydbStore` — the vault store is the synced/shared substrate, and each
|
|
7
|
+
* device pins for itself. Instead, `withBlobs()` owns one {@link BlobPinCache}
|
|
8
|
+
* per strategy instance and threads it into every `BlobSet` it opens; the
|
|
9
|
+
* registry rows live in a pluggable {@link BlobPinStore}.
|
|
10
|
+
*
|
|
11
|
+
* The default backend is in-memory ({@link memoryBlobPinStore}) — the hub has
|
|
12
|
+
* NO device-persistence idiom of its own (it never touches IndexedDB or any
|
|
13
|
+
* Node fs API; persistence backends are the `to-*` package family), so a
|
|
14
|
+
* durable registry is supplied by the consumer:
|
|
15
|
+
* `withBlobs({ pinStore: myIdbBackedStore })`. The interface is four async
|
|
16
|
+
* methods, deliberately trivial to implement over IndexedDB / SQLite / a file.
|
|
17
|
+
*
|
|
18
|
+
* ## What a registry row holds
|
|
19
|
+
*
|
|
20
|
+
* One row per `{vault, collection, record, slot}` ({@link blobPinKey}):
|
|
21
|
+
* - the pin flag + timestamps (LRU input for the cache-budget pass), and
|
|
22
|
+
* - for `external: true` slots, the **local encrypted copy** of the object's
|
|
23
|
+
* bytes ({@link BlobPinEntry.cipher}). The object-store copy of an external
|
|
24
|
+
* blob lives OUTSIDE the zero-knowledge envelope by design; the local copy
|
|
25
|
+
* does NOT — it is AES-256-GCM-encrypted under the vault's `_blob` DEK
|
|
26
|
+
* through the same enclave path that encrypts blob chunks
|
|
27
|
+
* (`encryptBytesWithAAD`, AAD-bound to the row's pin key), so a stolen
|
|
28
|
+
* device store leaks nothing the vault store wouldn't.
|
|
29
|
+
*
|
|
30
|
+
* Internal (chunked) blobs never store bytes here — their ciphertext already
|
|
31
|
+
* lives in `_blob_chunks`; the registry only carries their pin flag and
|
|
32
|
+
* access times.
|
|
33
|
+
*
|
|
34
|
+
* @module
|
|
35
|
+
*/
|
|
36
|
+
/** One device-local registry row — see the module doc for the field posture. */
|
|
37
|
+
export interface BlobPinEntry {
|
|
38
|
+
/** Slot is pinned for offline on THIS device. */
|
|
39
|
+
readonly pinned: boolean;
|
|
40
|
+
/** ISO timestamp of the pin (absent when not pinned). */
|
|
41
|
+
readonly pinnedAt?: string;
|
|
42
|
+
/** ISO timestamp of the last local read — LRU input for the budget pass. */
|
|
43
|
+
readonly lastAccessAt?: string;
|
|
44
|
+
/** Plaintext byte length of the cached external copy (external slots only). */
|
|
45
|
+
readonly cachedBytes?: number;
|
|
46
|
+
/**
|
|
47
|
+
* Encrypted local copy of an external slot's bytes: base64 IV + base64
|
|
48
|
+
* AES-256-GCM ciphertext under the vault's `_blob` DEK, AAD-bound to the
|
|
49
|
+
* row's {@link blobPinKey}. On an UNENCRYPTED vault (`encrypt: false`) the
|
|
50
|
+
* fallback mirrors the envelope convention: `iv === ''`, `data` = base64
|
|
51
|
+
* plaintext.
|
|
52
|
+
*/
|
|
53
|
+
readonly cipher?: {
|
|
54
|
+
readonly iv: string;
|
|
55
|
+
readonly data: string;
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Pluggable device-local backend for the pin registry (#808). Implementations
|
|
60
|
+
* MUST be device-local (never synced) — an IndexedDB- or file-backed store is
|
|
61
|
+
* the expected production shape; {@link memoryBlobPinStore} is the default.
|
|
62
|
+
*/
|
|
63
|
+
export interface BlobPinStore {
|
|
64
|
+
get(key: string): Promise<BlobPinEntry | null>;
|
|
65
|
+
set(key: string, entry: BlobPinEntry): Promise<void>;
|
|
66
|
+
delete(key: string): Promise<void>;
|
|
67
|
+
/** All rows whose key starts with `prefix` (`''` = every row). */
|
|
68
|
+
entries(prefix: string): Promise<Array<{
|
|
69
|
+
key: string;
|
|
70
|
+
entry: BlobPinEntry;
|
|
71
|
+
}>>;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* In-memory {@link BlobPinStore} — the default. Pin state then lasts for the
|
|
75
|
+
* strategy instance's lifetime (one app session); pass a durable store to
|
|
76
|
+
* `withBlobs({ pinStore })` to keep pins across restarts.
|
|
77
|
+
*/
|
|
78
|
+
export declare function memoryBlobPinStore(): BlobPinStore;
|
|
79
|
+
/**
|
|
80
|
+
* Device-local blob-cache KPI counters (#808) — read via
|
|
81
|
+
* `withBlobs().cacheStats()`. "Local" reads (internal chunks, cached external
|
|
82
|
+
* copies) count as hits; network fetches from the object store count as
|
|
83
|
+
* misses and add to `bytesDownloaded` (the 4G-budget number).
|
|
84
|
+
*/
|
|
85
|
+
export interface BlobCacheStats {
|
|
86
|
+
readonly hits: number;
|
|
87
|
+
readonly misses: number;
|
|
88
|
+
readonly bytesDownloaded: number;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* The per-strategy bundle `withBlobs()` threads into every `BlobSet`: the
|
|
92
|
+
* registry backend plus the shared mutable KPI counters.
|
|
93
|
+
*
|
|
94
|
+
* @internal
|
|
95
|
+
*/
|
|
96
|
+
export interface BlobPinCache {
|
|
97
|
+
readonly store: BlobPinStore;
|
|
98
|
+
readonly stats: {
|
|
99
|
+
hits: number;
|
|
100
|
+
misses: number;
|
|
101
|
+
bytesDownloaded: number;
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
/** @internal */
|
|
105
|
+
export declare function createBlobPinCache(store?: BlobPinStore): BlobPinCache;
|
|
106
|
+
/**
|
|
107
|
+
* Registry key for one slot's row: `{vault}::{collection}::{record}::{slot}`
|
|
108
|
+
* (the blobs' established `::` separator — record ids and slot names are
|
|
109
|
+
* already `::`-refused at the write surface, see `assertKeyPartSafe`).
|
|
110
|
+
* Omitting `slotName` yields the record's row PREFIX (for per-record scans).
|
|
111
|
+
*/
|
|
112
|
+
export declare function blobPinKey(vault: string, collection: string, recordId: string, slotName?: string): string;
|