@noy-db/hub 0.4.0-pre.0 → 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-YPUEKIJC.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 +51 -22
- package/dist/{chunk-QDPZWTN2.js → chunk-25G7U6RD.js} +2 -2
- package/dist/{chunk-WKGF2TJR.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-U6JMEH2P.js → chunk-2KL6NDD4.js} +90 -3
- package/dist/chunk-2KL6NDD4.js.map +1 -0
- package/dist/{chunk-RJ6K6K5M.js → chunk-2RMDVWGB.js} +2 -2
- package/dist/{chunk-VAIS3SOM.js → chunk-2U7Y7BNJ.js} +2 -2
- package/dist/{chunk-WZSHL6DQ.js → chunk-2VUISNGP.js} +5 -5
- package/dist/chunk-2YELV6TV.js +1 -0
- package/dist/{chunk-ANATMTOA.js → chunk-3O62PVDW.js} +3 -3
- package/dist/{chunk-VKCADNMR.js → chunk-4JYYIFHW.js} +12 -12
- package/dist/{chunk-6HY2X62D.js → chunk-5BB3N4KU.js} +2 -2
- package/dist/{chunk-VCTXU4AT.js → chunk-5BHNQNBI.js} +1 -1
- package/dist/chunk-5BHNQNBI.js.map +1 -0
- package/dist/{chunk-6NQMXTYC.js → chunk-5OZCCLNC.js} +2 -2
- package/dist/{chunk-HOONYZY2.js → chunk-5P5AAXYA.js} +2 -2
- package/dist/{chunk-KS6SAVCZ.js → chunk-5SZ24DL5.js} +6 -6
- package/dist/{chunk-NCCBLYEB.js → chunk-7B4GPCX7.js} +5 -5
- package/dist/{chunk-SV6EAJEP.js → chunk-A64XXIIB.js} +4 -4
- package/dist/{chunk-WOM2HTML.js → chunk-AFBJHD55.js} +5 -5
- package/dist/{chunk-RFI7GGFO.js → chunk-BCOKZC4B.js} +2 -2
- package/dist/{chunk-XUW3PXHU.js → chunk-BVZGNMVM.js} +4 -16
- package/dist/{chunk-XUW3PXHU.js.map → chunk-BVZGNMVM.js.map} +1 -1
- package/dist/{chunk-MT62YSPZ.js → chunk-BZEPJJOK.js} +4 -4
- package/dist/{chunk-OCVM6KDH.js → chunk-BZK6JEX4.js} +5 -5
- package/dist/{chunk-H2KSZMIX.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-F4COUZLL.js +24 -0
- package/dist/chunk-F4COUZLL.js.map +1 -0
- package/dist/{chunk-JRBNCUNT.js → chunk-FLHOTGOO.js} +3 -3
- package/dist/{chunk-6XE5TMPR.js → chunk-GBEXTC6Z.js} +3 -3
- package/dist/{chunk-YZQOGE2L.js → chunk-GS3Q2KOZ.js} +2 -2
- package/dist/{chunk-M75ZZHSR.js → chunk-GYB2QK5H.js} +2 -2
- package/dist/{chunk-EO43ANYJ.js → chunk-GZ2GKOF6.js} +3 -3
- package/dist/{chunk-VCBHAE4R.js → chunk-H4SMS4O2.js} +2 -2
- package/dist/{chunk-LVGTA624.js → chunk-HGVFJL63.js} +4 -4
- package/dist/{chunk-554KLAAN.js → chunk-HVZT5T22.js} +5 -5
- package/dist/{chunk-CJ5KKU6X.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-CZTLE22N.js → chunk-IU22SQGU.js} +7 -7
- package/dist/{chunk-RTEK4C4I.js → chunk-IUIVDVXM.js} +2 -2
- package/dist/{chunk-Z4PD65VQ.js → chunk-IZX3WZBF.js} +4 -4
- package/dist/{chunk-RDXW3OBQ.js → chunk-J3VW4J4E.js} +2 -2
- package/dist/{chunk-IK43HLDQ.js → chunk-J6U4BOKP.js} +11 -11
- package/dist/{chunk-XJMBYYQK.js → chunk-JA5B3SLH.js} +2 -2
- package/dist/{chunk-IAO54J4R.js → chunk-JA5O7UEZ.js} +6 -6
- package/dist/{chunk-6HPG2YNX.js → chunk-JKWNG3TM.js} +2 -2
- package/dist/{chunk-WQIYTNJV.js → chunk-JLHKBAFY.js} +3 -3
- package/dist/{chunk-ISMV2QVG.js → chunk-KMONEHDJ.js} +2 -2
- package/dist/{chunk-XTHCN77N.js → chunk-KR5EGWI4.js} +7 -19
- package/dist/chunk-KR5EGWI4.js.map +1 -0
- 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-FXZDAV62.js → chunk-MEKAMERX.js} +5 -7
- package/dist/{chunk-FXZDAV62.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-DSBQODMZ.js → chunk-NOT7XA7Q.js} +5 -5
- package/dist/{chunk-RA5VTXXG.js → chunk-OGFPMCSP.js} +2 -2
- package/dist/{chunk-WHXXI3W5.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-THVIPWRF.js → chunk-OVFCAS7U.js} +9 -9
- package/dist/{chunk-IFJTPAQQ.js → chunk-OWE4BNTM.js} +4 -4
- package/dist/{chunk-W4TCUGQR.js → chunk-PEY6ZTCF.js} +12 -8
- package/dist/{chunk-W4TCUGQR.js.map → chunk-PEY6ZTCF.js.map} +1 -1
- package/dist/{chunk-UDSR4X4L.js → chunk-PWZKD4HW.js} +74 -10
- package/dist/chunk-PWZKD4HW.js.map +1 -0
- package/dist/{chunk-HQBM64EE.js → chunk-QAFWRGVD.js} +127 -8
- package/dist/chunk-QAFWRGVD.js.map +1 -0
- package/dist/{chunk-ZXEZCY6F.js → chunk-QCUH2G77.js} +6 -6
- package/dist/{chunk-XDIAFPUM.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-A4FXFAKF.js → chunk-QXPOEAKR.js} +2 -2
- package/dist/{chunk-EWPOHMN2.js → chunk-RGL53NXZ.js} +3 -3
- package/dist/{chunk-TAGR72IR.js → chunk-RI3OKC3Y.js} +4 -4
- package/dist/{chunk-5PFOMHTB.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-WG4QBZDN.js → chunk-TYBXP6WE.js} +7 -7
- package/dist/{chunk-T3GY65MA.js → chunk-UEO5CHOP.js} +3 -3
- package/dist/{chunk-RNG4VRP4.js → chunk-V3YB7RGR.js} +3 -3
- package/dist/{chunk-R3BLCFD2.js → chunk-V7RGFJ3Z.js} +6 -6
- package/dist/{chunk-SMIRGMS7.js → chunk-VEX6G3YL.js} +2 -2
- package/dist/{chunk-PK6JIDQ4.js → chunk-VZELV7ZJ.js} +116 -119
- package/dist/chunk-VZELV7ZJ.js.map +1 -0
- package/dist/{chunk-GULTLPFB.js → chunk-XGVDLQJE.js} +3 -3
- package/dist/{chunk-JFCV5QIK.js → chunk-XULHFSHO.js} +5 -5
- package/dist/{chunk-S6Q37VGE.js → chunk-XW7NWO4A.js} +2 -2
- package/dist/{chunk-YCH5GBN6.js → chunk-Y5E6CH6S.js} +6 -6
- package/dist/{chunk-GDG5VVYG.js → chunk-YG2EG6CB.js} +4 -4
- package/dist/{chunk-UHNGNKLV.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-VRBTNCM4.js → chunk-ZJGZDOQO.js} +6 -6
- package/dist/classified/index.js +5 -5
- package/dist/{classified-marker-QWMASIT7.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-66VGI6JV.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-TKPN2G2U.js → enclave-YFKA3GJT.js} +11 -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-B5LVUMQX.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 +3 -3
- 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 +151 -168
- package/dist/index.js.map +1 -1
- package/dist/indexing/index.js +2 -2
- package/dist/issue-7JJ4Z7E2.js +19 -0
- package/dist/kernel/enclave/index.d.ts +1 -1
- package/dist/kernel/enclave/record-keys/envelope-body.d.ts +8 -0
- package/dist/kernel/errors.d.ts +19 -0
- package/dist/kernel/noydb.d.ts +0 -6
- package/dist/kernel/types.d.ts +61 -17
- package/dist/kernel/vault.d.ts +0 -4
- package/dist/{ledger-PTK7XZYT.js → ledger-SW6QQOAV.js} +11 -11
- package/dist/liberate-W5MDWYOV.js +24 -0
- package/dist/{link-set-SLJHDNRB.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 +19 -17
- package/dist/pod/index.js +27 -12
- package/dist/{policy-YDLCOX4P.js → policy-EAXSJNOT.js} +5 -5
- package/dist/portability/index.js +8 -8
- package/dist/{post-register-2YHSADFI.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-HWO4YMTJ.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-3ZMF5EQA.js → seed-6GTDHL4E.js} +11 -11
- package/dist/session/index.js +9 -9
- package/dist/shadow/index.js +2 -2
- package/dist/share-link/index.d.ts +19 -0
- package/dist/share-link/index.js +201 -0
- package/dist/share-link/index.js.map +1 -0
- package/dist/share-link/share-link.d.ts +123 -0
- package/dist/signer-ZMH35FT4.js +25 -0
- package/dist/snapshots/index.js +10 -10
- package/dist/{stale-VZL4OGUB.js → stale-NB5BGRVU.js} +10 -10
- package/dist/storage-QOZKQMID.js +23 -0
- package/dist/{store-coordination-provider-FKX3F6TQ.js → store-coordination-provider-3AELCZ4Y.js} +3 -3
- package/dist/sync/index.js +10 -9
- package/dist/sync/index.js.map +1 -1
- package/dist/team/index.js +29 -28
- 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-IPLXE36W.js → walk-H4YE52S2.js} +11 -11
- package/dist/with/index.js +11 -11
- package/dist/with-audit/periods/periods.d.ts +1 -16
- package/dist/with-audit/periods/vault-facade.d.ts +6 -0
- package/dist/with-audit/periods/window.d.ts +16 -0
- package/dist/{legacy/kernel.d.ts → with-cargo/floor.d.ts} +1 -1
- package/dist/with-cargo/index.d.ts +12 -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-party/team/sync-period-scope.d.ts +78 -0
- package/dist/with-party/team/sync.d.ts +13 -0
- 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 +7 -7
- package/dist/api-3A3S4SHH.js +0 -20
- package/dist/bundle/index.js +0 -153
- package/dist/bundle/index.js.map +0 -1
- package/dist/chunk-CHFZDSE4.js +0 -1
- package/dist/chunk-HQBM64EE.js.map +0 -1
- package/dist/chunk-PK6JIDQ4.js.map +0 -1
- package/dist/chunk-TIGPQDYP.js +0 -14
- package/dist/chunk-TIGPQDYP.js.map +0 -1
- package/dist/chunk-U6JMEH2P.js.map +0 -1
- package/dist/chunk-UDSR4X4L.js.map +0 -1
- package/dist/chunk-UHNGNKLV.js.map +0 -1
- package/dist/chunk-VCTXU4AT.js.map +0 -1
- package/dist/chunk-W2OG6JOL.js.map +0 -1
- package/dist/chunk-XTHCN77N.js.map +0 -1
- package/dist/collection-facade-KMBWNCYP.js +0 -44
- package/dist/cover-QJRXINN5.js +0 -52
- package/dist/delegation-SU6CV3W7.js +0 -25
- package/dist/derive-6RWU4EOA.js +0 -21
- package/dist/executor-KGNLJD6M.js +0 -9
- package/dist/executor-UX4FASYZ.js +0 -26
- package/dist/executor-XGIS6CR7.js +0 -9
- package/dist/export-accessible-LKW3QV22.js +0 -23
- package/dist/extract-partition-UP2ARO75.js +0 -38
- package/dist/find-YS6XWB46.js +0 -11
- package/dist/issue-3ACYX7LO.js +0 -19
- package/dist/legacy/bundle.d.ts +0 -30
- package/dist/liberate-MQQXBUCY.js +0 -24
- package/dist/noydb-ANIW5FLE.js +0 -69
- package/dist/register-PAM3ASRZ.js +0 -23
- package/dist/registry-4S2U2TR4.js +0 -19
- package/dist/registry-NPOWJHC4.js +0 -9
- package/dist/registry-VZ3CCI2R.js +0 -18
- package/dist/request-withdrawal-DI3H5WUI.js +0 -31
- package/dist/revoke-R5CZSVUT.js +0 -24
- package/dist/signer-MBVHW4WE.js +0 -25
- package/dist/storage-3MEJUENZ.js +0 -23
- package/dist/withdraw-accessible-TZDATQVR.js +0 -28
- /package/dist/{api-3A3S4SHH.js.map → api-UPAT2O3M.js.map} +0 -0
- /package/dist/{backup-YPUEKIJC.js.map → backup-JL2GOTYQ.js.map} +0 -0
- /package/dist/{chunk-QDPZWTN2.js.map → chunk-25G7U6RD.js.map} +0 -0
- /package/dist/{chunk-WKGF2TJR.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-RJ6K6K5M.js.map → chunk-2RMDVWGB.js.map} +0 -0
- /package/dist/{chunk-VAIS3SOM.js.map → chunk-2U7Y7BNJ.js.map} +0 -0
- /package/dist/{chunk-WZSHL6DQ.js.map → chunk-2VUISNGP.js.map} +0 -0
- /package/dist/{chunk-CHFZDSE4.js.map → chunk-2YELV6TV.js.map} +0 -0
- /package/dist/{chunk-ANATMTOA.js.map → chunk-3O62PVDW.js.map} +0 -0
- /package/dist/{chunk-VKCADNMR.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-KS6SAVCZ.js.map → chunk-5SZ24DL5.js.map} +0 -0
- /package/dist/{chunk-NCCBLYEB.js.map → chunk-7B4GPCX7.js.map} +0 -0
- /package/dist/{chunk-SV6EAJEP.js.map → chunk-A64XXIIB.js.map} +0 -0
- /package/dist/{chunk-WOM2HTML.js.map → chunk-AFBJHD55.js.map} +0 -0
- /package/dist/{chunk-RFI7GGFO.js.map → chunk-BCOKZC4B.js.map} +0 -0
- /package/dist/{chunk-MT62YSPZ.js.map → chunk-BZEPJJOK.js.map} +0 -0
- /package/dist/{chunk-OCVM6KDH.js.map → chunk-BZK6JEX4.js.map} +0 -0
- /package/dist/{chunk-H2KSZMIX.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-JRBNCUNT.js.map → chunk-FLHOTGOO.js.map} +0 -0
- /package/dist/{chunk-6XE5TMPR.js.map → chunk-GBEXTC6Z.js.map} +0 -0
- /package/dist/{chunk-YZQOGE2L.js.map → chunk-GS3Q2KOZ.js.map} +0 -0
- /package/dist/{chunk-M75ZZHSR.js.map → chunk-GYB2QK5H.js.map} +0 -0
- /package/dist/{chunk-EO43ANYJ.js.map → chunk-GZ2GKOF6.js.map} +0 -0
- /package/dist/{chunk-VCBHAE4R.js.map → chunk-H4SMS4O2.js.map} +0 -0
- /package/dist/{chunk-LVGTA624.js.map → chunk-HGVFJL63.js.map} +0 -0
- /package/dist/{chunk-554KLAAN.js.map → chunk-HVZT5T22.js.map} +0 -0
- /package/dist/{chunk-CJ5KKU6X.js.map → chunk-IGAIOGCN.js.map} +0 -0
- /package/dist/{chunk-GWKAVKHI.js.map → chunk-ITI3SJRB.js.map} +0 -0
- /package/dist/{chunk-CZTLE22N.js.map → chunk-IU22SQGU.js.map} +0 -0
- /package/dist/{chunk-RTEK4C4I.js.map → chunk-IUIVDVXM.js.map} +0 -0
- /package/dist/{chunk-Z4PD65VQ.js.map → chunk-IZX3WZBF.js.map} +0 -0
- /package/dist/{chunk-RDXW3OBQ.js.map → chunk-J3VW4J4E.js.map} +0 -0
- /package/dist/{chunk-IK43HLDQ.js.map → chunk-J6U4BOKP.js.map} +0 -0
- /package/dist/{chunk-XJMBYYQK.js.map → chunk-JA5B3SLH.js.map} +0 -0
- /package/dist/{chunk-IAO54J4R.js.map → chunk-JA5O7UEZ.js.map} +0 -0
- /package/dist/{chunk-6HPG2YNX.js.map → chunk-JKWNG3TM.js.map} +0 -0
- /package/dist/{chunk-WQIYTNJV.js.map → chunk-JLHKBAFY.js.map} +0 -0
- /package/dist/{chunk-ISMV2QVG.js.map → chunk-KMONEHDJ.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-DSBQODMZ.js.map → chunk-NOT7XA7Q.js.map} +0 -0
- /package/dist/{chunk-RA5VTXXG.js.map → chunk-OGFPMCSP.js.map} +0 -0
- /package/dist/{chunk-WHXXI3W5.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-THVIPWRF.js.map → chunk-OVFCAS7U.js.map} +0 -0
- /package/dist/{chunk-IFJTPAQQ.js.map → chunk-OWE4BNTM.js.map} +0 -0
- /package/dist/{chunk-ZXEZCY6F.js.map → chunk-QCUH2G77.js.map} +0 -0
- /package/dist/{chunk-XDIAFPUM.js.map → chunk-QDNVHA2F.js.map} +0 -0
- /package/dist/{chunk-A4FXFAKF.js.map → chunk-QXPOEAKR.js.map} +0 -0
- /package/dist/{chunk-EWPOHMN2.js.map → chunk-RGL53NXZ.js.map} +0 -0
- /package/dist/{chunk-TAGR72IR.js.map → chunk-RI3OKC3Y.js.map} +0 -0
- /package/dist/{chunk-5PFOMHTB.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-WG4QBZDN.js.map → chunk-TYBXP6WE.js.map} +0 -0
- /package/dist/{chunk-T3GY65MA.js.map → chunk-UEO5CHOP.js.map} +0 -0
- /package/dist/{chunk-RNG4VRP4.js.map → chunk-V3YB7RGR.js.map} +0 -0
- /package/dist/{chunk-R3BLCFD2.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-JFCV5QIK.js.map → chunk-XULHFSHO.js.map} +0 -0
- /package/dist/{chunk-S6Q37VGE.js.map → chunk-XW7NWO4A.js.map} +0 -0
- /package/dist/{chunk-YCH5GBN6.js.map → chunk-Y5E6CH6S.js.map} +0 -0
- /package/dist/{chunk-GDG5VVYG.js.map → chunk-YG2EG6CB.js.map} +0 -0
- /package/dist/{chunk-YTGDPCPW.js.map → chunk-YHPUDB7Q.js.map} +0 -0
- /package/dist/{chunk-VRBTNCM4.js.map → chunk-ZJGZDOQO.js.map} +0 -0
- /package/dist/{classified-marker-QWMASIT7.js.map → classified-marker-7S5IEP6Q.js.map} +0 -0
- /package/dist/{collection-facade-KMBWNCYP.js.map → collection-facade-ENLTJZBT.js.map} +0 -0
- /package/dist/{computed-DSMPXG2Y.js.map → computed-WZNKRLCY.js.map} +0 -0
- /package/dist/{cover-QJRXINN5.js.map → cover-B5MY43CK.js.map} +0 -0
- /package/dist/{dead-filter-66VGI6JV.js.map → dead-filter-KRRD57MR.js.map} +0 -0
- /package/dist/{delegation-SU6CV3W7.js.map → delegation-UT76AQIG.js.map} +0 -0
- /package/dist/{derive-6RWU4EOA.js.map → derive-SGRCCKVP.js.map} +0 -0
- /package/dist/{enclave-TKPN2G2U.js.map → enclave-YFKA3GJT.js.map} +0 -0
- /package/dist/{executor-KGNLJD6M.js.map → executor-TEZYRDN3.js.map} +0 -0
- /package/dist/{executor-UX4FASYZ.js.map → executor-UF7LTX6O.js.map} +0 -0
- /package/dist/{executor-XGIS6CR7.js.map → executor-WQQRU6DO.js.map} +0 -0
- /package/dist/{export-accessible-LKW3QV22.js.map → export-accessible-HXMKW5LJ.js.map} +0 -0
- /package/dist/{extract-partition-UP2ARO75.js.map → extract-partition-QGQ2R42J.js.map} +0 -0
- /package/dist/{fanout-sidecar-B5LVUMQX.js.map → fanout-sidecar-HJV3A7PM.js.map} +0 -0
- /package/dist/{find-YS6XWB46.js.map → find-VV6PBIHK.js.map} +0 -0
- /package/dist/{issue-3ACYX7LO.js.map → issue-7JJ4Z7E2.js.map} +0 -0
- /package/dist/{ledger-PTK7XZYT.js.map → ledger-SW6QQOAV.js.map} +0 -0
- /package/dist/{liberate-MQQXBUCY.js.map → liberate-W5MDWYOV.js.map} +0 -0
- /package/dist/{link-set-SLJHDNRB.js.map → link-set-GNGGCFI4.js.map} +0 -0
- /package/dist/{noydb-ANIW5FLE.js.map → noydb-U63S3Z7F.js.map} +0 -0
- /package/dist/{policy-YDLCOX4P.js.map → policy-EAXSJNOT.js.map} +0 -0
- /package/dist/{post-register-2YHSADFI.js.map → post-register-A7HCFBP5.js.map} +0 -0
- /package/dist/{register-PAM3ASRZ.js.map → register-YBMRLZLO.js.map} +0 -0
- /package/dist/{registry-4S2U2TR4.js.map → registry-3LXKNXWI.js.map} +0 -0
- /package/dist/{registry-NPOWJHC4.js.map → registry-4V4YQCXJ.js.map} +0 -0
- /package/dist/{registry-VZ3CCI2R.js.map → registry-ZULMLCJK.js.map} +0 -0
- /package/dist/{request-withdrawal-DI3H5WUI.js.map → request-withdrawal-SEVUEUDG.js.map} +0 -0
- /package/dist/{reveal-HWO4YMTJ.js.map → reveal-PB3YG544.js.map} +0 -0
- /package/dist/{revoke-R5CZSVUT.js.map → revoke-5QULL5GT.js.map} +0 -0
- /package/dist/{seed-3ZMF5EQA.js.map → seed-6GTDHL4E.js.map} +0 -0
- /package/dist/{signer-MBVHW4WE.js.map → signer-ZMH35FT4.js.map} +0 -0
- /package/dist/{stale-VZL4OGUB.js.map → stale-NB5BGRVU.js.map} +0 -0
- /package/dist/{storage-3MEJUENZ.js.map → storage-QOZKQMID.js.map} +0 -0
- /package/dist/{store-coordination-provider-FKX3F6TQ.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-IPLXE36W.js.map → walk-H4YE52S2.js.map} +0 -0
- /package/dist/{withdraw-accessible-TZDATQVR.js.map → withdraw-accessible-HPOVNG2G.js.map} +0 -0
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,
|
|
@@ -146,14 +146,7 @@
|
|
|
146
146
|
*/
|
|
147
147
|
import type { NoydbStore, EncryptedEnvelope } from '../../kernel/types.js';
|
|
148
148
|
import type { LedgerStore } from '../../with-commit/history/ledger/index.js';
|
|
149
|
-
|
|
150
|
-
export declare const PERIODS_COLLECTION = "_periods";
|
|
151
|
-
/** Sibling of {@link PERIODS_COLLECTION} holding freeze companions (#604). */
|
|
152
|
-
export declare const PERIOD_FREEZES_COLLECTION = "_period_freezes";
|
|
153
|
-
/** Sibling of {@link PERIODS_COLLECTION} holding archive companions (#613). */
|
|
154
|
-
export declare const PERIOD_ARCHIVES_COLLECTION = "_period_archives";
|
|
155
|
-
/** Sibling of {@link PERIODS_COLLECTION} holding target-purge companions (#615). */
|
|
156
|
-
export declare const PERIOD_TARGET_PURGES_COLLECTION = "_period_target_purges";
|
|
149
|
+
export { PERIODS_COLLECTION, PERIOD_FREEZES_COLLECTION, PERIOD_ARCHIVES_COLLECTION, PERIOD_TARGET_PURGES_COLLECTION, periodExclusiveUpperBound, } from './window.js';
|
|
157
150
|
/**
|
|
158
151
|
* Companion record recording that a closed period was frozen (its delete
|
|
159
152
|
* markers physically purged). Stored in {@link PERIOD_FREEZES_COLLECTION},
|
|
@@ -196,14 +189,6 @@ export interface PeriodTargetPurgeRecord {
|
|
|
196
189
|
readonly purgedBy: string;
|
|
197
190
|
readonly targets: readonly TargetPurgeCount[];
|
|
198
191
|
}
|
|
199
|
-
/**
|
|
200
|
-
* Exclusive upper bound for a period's delete-marker purge window (#604).
|
|
201
|
-
* Markers carry no business date (empty body), only write-time `_ts`, so freeze
|
|
202
|
-
* purges markers with `_ts < bound`, `bound` being the instant just after the
|
|
203
|
-
* period's inclusive `endDate`: a date-only `endDate` seals through end-of-day
|
|
204
|
-
* → next midnight; a full-timestamp `endDate` seals through that instant → +1ms.
|
|
205
|
-
*/
|
|
206
|
-
export declare function periodExclusiveUpperBound(endDate: string): string;
|
|
207
192
|
/**
|
|
208
193
|
* Stored record for one closed or opened accounting period. One entry
|
|
209
194
|
* per period, keyed by `name` in the reserved `_periods` collection.
|
|
@@ -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;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** The reserved collection name holding closed-period metadata. */
|
|
2
|
+
export declare const PERIODS_COLLECTION = "_periods";
|
|
3
|
+
/** Sibling of {@link PERIODS_COLLECTION} holding freeze companions (#604). */
|
|
4
|
+
export declare const PERIOD_FREEZES_COLLECTION = "_period_freezes";
|
|
5
|
+
/** Sibling of {@link PERIODS_COLLECTION} holding archive companions (#613). */
|
|
6
|
+
export declare const PERIOD_ARCHIVES_COLLECTION = "_period_archives";
|
|
7
|
+
/** Sibling of {@link PERIODS_COLLECTION} holding target-purge companions (#615). */
|
|
8
|
+
export declare const PERIOD_TARGET_PURGES_COLLECTION = "_period_target_purges";
|
|
9
|
+
/**
|
|
10
|
+
* Exclusive upper bound for a period's delete-marker purge window (#604).
|
|
11
|
+
* Markers carry no business date (empty body), only write-time `_ts`, so freeze
|
|
12
|
+
* purges markers with `_ts < bound`, `bound` being the instant just after the
|
|
13
|
+
* period's inclusive `endDate`: a date-only `endDate` seals through end-of-day
|
|
14
|
+
* → next midnight; a full-timestamp `endDate` seals through that instant → +1ms.
|
|
15
|
+
*/
|
|
16
|
+
export declare function periodExclusiveUpperBound(endDate: string): string;
|
|
@@ -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';
|
|
@@ -26,6 +26,17 @@ export { withCargo } from './active.js';
|
|
|
26
26
|
export { NO_CARGO } from './strategy.js';
|
|
27
27
|
export type { CargoStrategy } from './strategy.js';
|
|
28
28
|
export { CargoNotEnabledError } from '../kernel/errors.js';
|
|
29
|
+
export { extractPartition } from './extract-partition.js';
|
|
30
|
+
export { walkClosure } from './walk-closure.js';
|
|
31
|
+
export { describeExtraction } from './describe-extraction.js';
|
|
32
|
+
export { decryptExtractedPartition } from './decrypt-partition.js';
|
|
33
|
+
export type { ExtractionPreview } from './describe-extraction.js';
|
|
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';
|
|
29
40
|
export type { WriteHook } from '../port/with/write-hooks.js';
|
|
30
41
|
export type { WriteQueue } from '../kernel/write-queue.js';
|
|
31
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
|
-
};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* #807 — period-scoped pull support for the `SyncEngine` (thin-client
|
|
3
|
+
* bootstrap: first sync pulls the current period + the period summaries;
|
|
4
|
+
* historical periods backfill on demand via `pull({ periods: ['<name>'] })`).
|
|
5
|
+
*
|
|
6
|
+
* ## Membership law
|
|
7
|
+
*
|
|
8
|
+
* The engine only ever sees ciphertext envelopes, so period membership at
|
|
9
|
+
* the sync tier is by write-time `_ts` against the closed periods' windows
|
|
10
|
+
* (`periodExclusiveUpperBound`) — the SAME store-tier law freeze (#604) and
|
|
11
|
+
* archive (#613) use, NOT the business-date (`dateField`) seal the write
|
|
12
|
+
* guard applies inside the trust boundary. A late-booked record (in-period
|
|
13
|
+
* business date, current write-time) therefore syncs with the current
|
|
14
|
+
* period — mirroring how it archives at the NEXT period's archive.
|
|
15
|
+
*
|
|
16
|
+
* Closed periods partition the timeline by their exclusive upper bounds:
|
|
17
|
+
* the earliest closed period's window is unbounded below (a close seals
|
|
18
|
+
* everything at-or-before its `endDate`), each later one starts at its
|
|
19
|
+
* predecessor's bound, and the CURRENT window is everything at-or-after
|
|
20
|
+
* the latest closed bound (everything, when no period was ever closed).
|
|
21
|
+
*
|
|
22
|
+
* ## What a period filter can never drop
|
|
23
|
+
*
|
|
24
|
+
* - **Period summaries** (`_periods` + freeze/archive/target-purge
|
|
25
|
+
* companions) — the navigation index; always pulled in full, exempt from
|
|
26
|
+
* every filter (`collections`, `periods`, `modifiedSince`).
|
|
27
|
+
* - **Delete markers and tombstones** — an erasure or delete must never be
|
|
28
|
+
* skipped by partial sync (the #589/#590 law, mirroring the
|
|
29
|
+
* `modifiedSince` exemption). This is what makes a device that never
|
|
30
|
+
* pulled period P converge instead of resurrecting P's deleted records
|
|
31
|
+
* when it later backfills.
|
|
32
|
+
* - **Reserved lookups** (`_dict_*`/`_lookup_*`) — vocabulary/config rows
|
|
33
|
+
* are not period-partitioned data; their explicit pull loop is exempt.
|
|
34
|
+
*
|
|
35
|
+
* Push is NEVER period-filtered — `PushOptions` has no `periods` member at
|
|
36
|
+
* all; a thin client's writes always flow up in full.
|
|
37
|
+
*/
|
|
38
|
+
import type { EncryptedEnvelope } from '../../kernel/types.js';
|
|
39
|
+
import { PERIODS_COLLECTION } from '../../with-audit/periods/window.js';
|
|
40
|
+
export { PERIODS_COLLECTION };
|
|
41
|
+
/**
|
|
42
|
+
* The reserved period-metadata collections a period-scoped pull always
|
|
43
|
+
* fetches first (phase 1, "summaries"): the hash-chained `_periods` index
|
|
44
|
+
* plus its freeze/archive/target-purge companions.
|
|
45
|
+
*/
|
|
46
|
+
export declare const PERIOD_SUMMARY_COLLECTIONS: readonly string[];
|
|
47
|
+
/** The subset of a decrypted `PeriodRecord` the window computation needs. */
|
|
48
|
+
export interface PeriodSyncRecord {
|
|
49
|
+
readonly name: string;
|
|
50
|
+
readonly kind: 'closed' | 'opened';
|
|
51
|
+
readonly endDate: string;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Vault-injected source of decrypted period records, wired via
|
|
55
|
+
* `SyncEngine.setPeriodPullSource` (same injection pattern as
|
|
56
|
+
* `setReservedLookupSource`). MUST re-read from the local store on every
|
|
57
|
+
* call — the engine invokes it right after the summaries phase applied
|
|
58
|
+
* freshly pulled `_periods` envelopes.
|
|
59
|
+
*/
|
|
60
|
+
export interface PeriodPullSource {
|
|
61
|
+
periods(): Promise<readonly PeriodSyncRecord[]>;
|
|
62
|
+
}
|
|
63
|
+
/** Validate the raw `PullOptions.periods` value (runtime shape only). */
|
|
64
|
+
export declare function validatePeriodsOption(periods: unknown): asserts periods is readonly string[] | {
|
|
65
|
+
readonly current: true;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Resolve the selected `_ts` windows and return the pull-scope predicate:
|
|
69
|
+
* `true` = the envelope is in scope for this pull. Tombstones and delete
|
|
70
|
+
* markers are unconditionally in scope (see module doc).
|
|
71
|
+
*
|
|
72
|
+
* Throws `ValidationError` for a name that is not a closed period in the
|
|
73
|
+
* (freshly synced) `_periods` index — a typo'd backfill must fail loudly,
|
|
74
|
+
* never silently pull nothing.
|
|
75
|
+
*/
|
|
76
|
+
export declare function buildPeriodScope(option: readonly string[] | {
|
|
77
|
+
readonly current: true;
|
|
78
|
+
}, records: readonly PeriodSyncRecord[]): (envelope: EncryptedEnvelope) => boolean;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { NoydbStore, DirtyEntry, ConflictStrategy, CollectionConflictResolver, PushOptions, PullOptions, PushResult, PullResult, SyncStatus, SyncTargetRole } from '../../kernel/types.js';
|
|
2
|
+
import { type PeriodPullSource } from './sync-period-scope.js';
|
|
2
3
|
import type { NoydbEventEmitter } from '../../kernel/events.js';
|
|
3
4
|
import type { SyncPolicy } from '../../kernel/sync-policy.js';
|
|
4
5
|
import { SyncScheduler } from '../../kernel/sync-policy.js';
|
|
@@ -66,6 +67,18 @@ export declare class SyncEngine {
|
|
|
66
67
|
private reservedDictExpander?;
|
|
67
68
|
/** Wire the reserved-dict expansion function (#653). Same injection pattern as `setPairExpander`. */
|
|
68
69
|
setReservedDictExpander(expander: (names: readonly string[]) => readonly string[]): void;
|
|
70
|
+
/** #807: vault-injected source of decrypted period records — resolves the `_ts` windows a
|
|
71
|
+
* `pull({ periods })` scopes to. Re-read AFTER the summaries phase, so a fresh device's
|
|
72
|
+
* freshly pulled `_periods` index is what the windows are computed from. `undefined` on a
|
|
73
|
+
* standalone engine that was never vault-attached (period-scoped pull then throws). */
|
|
74
|
+
private periodPullSource?;
|
|
75
|
+
/** Wire the period-window source (#807). Same injection pattern as `setReservedLookupSource`. */
|
|
76
|
+
setPeriodPullSource(source: PeriodPullSource): void;
|
|
77
|
+
/** #807: KPI accumulator `applyRemote` feeds during a period-scoped `pull()` — pointed at the
|
|
78
|
+
* active phase's counters (summaries → records) and cleared before pull returns. Approximate
|
|
79
|
+
* by design: a push interleaved mid-pull on the same engine would attribute its converge
|
|
80
|
+
* applies to the open phase; the counters are a download-budget KPI, not an audit source. */
|
|
81
|
+
private pullByteSink;
|
|
69
82
|
constructor(opts: {
|
|
70
83
|
local: NoydbStore;
|
|
71
84
|
remote: NoydbStore;
|
|
@@ -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>;
|