@noy-db/hub 0.6.0-pre.21 → 0.6.0-pre.23
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/CHANGELOG.md +238 -0
- package/dist/api-ETB5Y4DY.js +20 -0
- package/dist/attestation/index.js +16 -16
- package/dist/{backup-FSC36VWC.js → backup-UOLAXOJ4.js} +10 -10
- package/dist/blobs/index.js +20 -18
- package/dist/blobs/index.js.map +1 -1
- package/dist/broker/index.js +10 -10
- package/dist/cargo/index.js +28 -28
- package/dist/{chunk-3B6S6RSI.js → chunk-22VRCUV2.js} +2 -2
- package/dist/{chunk-ESKIAXO2.js → chunk-23ODLABM.js} +4 -4
- package/dist/{chunk-IJ46VCWD.js → chunk-2DHEBIJA.js} +2 -2
- package/dist/{chunk-TMBSPLUG.js → chunk-2LHPMFSR.js} +2 -2
- package/dist/{chunk-ONVD6GBY.js → chunk-2QN6NPV6.js} +2 -2
- package/dist/{chunk-NW4TY6VC.js → chunk-3UIS6O6N.js} +3 -3
- package/dist/{chunk-LXECF2ZR.js → chunk-3ZOER5GD.js} +6 -2
- package/dist/chunk-3ZOER5GD.js.map +1 -0
- package/dist/{chunk-EKEIEJL6.js → chunk-4UZDDS4S.js} +3 -3
- package/dist/{chunk-S56VYR4Q.js → chunk-5FRZ7YYU.js} +2 -2
- package/dist/{chunk-H3G4I3PN.js → chunk-5MU7PUNA.js} +2 -2
- package/dist/{chunk-NCCEDL2K.js → chunk-66X4XWTM.js} +6 -6
- package/dist/{chunk-TQPASLY4.js → chunk-6G4NORTR.js} +2 -2
- package/dist/{chunk-RKCRPPNB.js → chunk-6W3BZCW6.js} +3 -3
- package/dist/{chunk-DVRZYAGT.js → chunk-6ZN6X2LW.js} +4 -4
- package/dist/{chunk-PPCOKVFA.js → chunk-6ZTPSVY7.js} +2 -2
- package/dist/{chunk-MZTUTEHP.js → chunk-7DRKK5FQ.js} +3 -3
- package/dist/{chunk-GBBDFE6C.js → chunk-7LWBD3NO.js} +2 -2
- package/dist/{chunk-KX57HODD.js → chunk-7W765AVV.js} +6 -6
- package/dist/{chunk-LN7P6MZB.js → chunk-7ZPAL3F7.js} +2 -2
- package/dist/{chunk-CAGI4LLJ.js → chunk-AK6EWGDO.js} +5 -5
- package/dist/chunk-AK6EWGDO.js.map +1 -0
- package/dist/{chunk-CADUYBQD.js → chunk-ATL3ZVXT.js} +2 -2
- package/dist/{chunk-RSXQNFGO.js → chunk-ATSIGJRX.js} +2 -2
- package/dist/{chunk-MSLPDFK2.js → chunk-AZPPARMG.js} +6 -6
- package/dist/{chunk-NR2SUJ3H.js → chunk-B3X6S37C.js} +2 -2
- package/dist/{chunk-GWO2IDAB.js → chunk-BNGGSNO7.js} +2 -2
- package/dist/{chunk-JLYQQNY4.js → chunk-BYX3AUXH.js} +80 -22
- package/dist/chunk-BYX3AUXH.js.map +1 -0
- package/dist/{chunk-INMHEMXX.js → chunk-C7B3XUI4.js} +2 -2
- package/dist/{chunk-D3R7Q4QK.js → chunk-CJU3KXHJ.js} +2 -2
- package/dist/{chunk-RFO4UXKQ.js → chunk-CWYTN4IK.js} +5 -5
- package/dist/{chunk-HR5R5JOM.js → chunk-D5DZ4R7X.js} +2 -2
- package/dist/{chunk-6YD5SYQS.js → chunk-DEKA2MV3.js} +2 -2
- package/dist/{chunk-SYS46BL7.js → chunk-DG4KFJNA.js} +2 -2
- package/dist/{chunk-P2MR5UNE.js → chunk-DRVF2YS5.js} +55 -16
- package/dist/chunk-DRVF2YS5.js.map +1 -0
- package/dist/{chunk-B6IYATME.js → chunk-DXJXVWWE.js} +6 -6
- package/dist/{chunk-O742QBZZ.js → chunk-DZBZCFS7.js} +5 -5
- package/dist/{chunk-FW7NGYLT.js → chunk-FNCX4N7X.js} +4 -4
- package/dist/{chunk-OHOKBMTM.js → chunk-FUE2KPKM.js} +6 -6
- package/dist/{chunk-YALD3SST.js → chunk-G4577GK7.js} +4 -4
- package/dist/{chunk-DIZ6HM7Q.js → chunk-G6DAESDS.js} +5 -5
- package/dist/{chunk-HYYVT2KZ.js → chunk-GAZTPQ3D.js} +2 -2
- package/dist/{chunk-LX46B56Q.js → chunk-GJ5TMHKC.js} +4 -4
- package/dist/{chunk-KRVS7YWY.js → chunk-GNSLP7KA.js} +2 -2
- package/dist/{chunk-CWM4GQD2.js → chunk-HKANJAOP.js} +28 -5
- package/dist/chunk-HKANJAOP.js.map +1 -0
- package/dist/{chunk-5Q7AJ7DN.js → chunk-I3D67XD7.js} +4 -4
- package/dist/{chunk-GQ3BX5EA.js → chunk-I3ISCYT7.js} +2 -2
- package/dist/{chunk-HQSPF5IY.js → chunk-ISRAQIYY.js} +5 -5
- package/dist/{chunk-JWMBG5S3.js → chunk-J2KGT2A5.js} +6 -6
- package/dist/{chunk-BEZDLIDG.js → chunk-JMN3I4OC.js} +4 -4
- package/dist/{chunk-7PJ3BKHS.js → chunk-JO4MRPEY.js} +5 -5
- package/dist/{chunk-4N5Q23KV.js → chunk-JXFQEOAQ.js} +5 -5
- package/dist/{chunk-ICDHUUMQ.js → chunk-KF34JCIJ.js} +4 -4
- package/dist/{chunk-6KTVJ5ZZ.js → chunk-KKVVBFKW.js} +3 -3
- package/dist/{chunk-DXKLLKME.js → chunk-L374ZR75.js} +3 -3
- package/dist/{chunk-EES37S2V.js → chunk-L5PTLL7A.js} +3 -3
- package/dist/{chunk-2LFOMUEA.js → chunk-LBDG6FHB.js} +3 -3
- package/dist/{chunk-T7JGWTES.js → chunk-LIWA5ROZ.js} +51 -16
- package/dist/chunk-LIWA5ROZ.js.map +1 -0
- package/dist/{chunk-3O72ZD2E.js → chunk-LPVZDTQF.js} +135 -18
- package/dist/chunk-LPVZDTQF.js.map +1 -0
- package/dist/{chunk-OIBEJN5H.js → chunk-LYQUFIHL.js} +2 -2
- package/dist/{chunk-JNMTN5D5.js → chunk-LZHIYH32.js} +2 -2
- package/dist/{chunk-7KAE7CQ2.js → chunk-M2KVSM43.js} +2 -2
- package/dist/{chunk-IGJCYUT5.js → chunk-NSITFOCJ.js} +1 -1
- package/dist/chunk-NSITFOCJ.js.map +1 -0
- package/dist/{chunk-32B7VCKU.js → chunk-O2A5YCFF.js} +2 -2
- package/dist/{chunk-4A34KWOU.js → chunk-OGB2UTBC.js} +5 -5
- package/dist/{chunk-GQXFOAYZ.js → chunk-OMXUQAZJ.js} +3 -3
- package/dist/{chunk-45YHJ3GV.js → chunk-PFHF3A72.js} +3 -3
- package/dist/{chunk-KV6JM2IA.js → chunk-PUGHLCBW.js} +2 -2
- package/dist/{chunk-ZZXLB6AS.js → chunk-R6BGN6IY.js} +2 -2
- package/dist/{chunk-CLAHBPOI.js → chunk-RBBTJ2HY.js} +3 -3
- package/dist/{chunk-YKXZHUOW.js → chunk-RGUAY5IX.js} +4 -4
- package/dist/{chunk-AU3AUJIZ.js → chunk-RQQIB7CD.js} +2 -2
- package/dist/{chunk-TX5MKAHA.js → chunk-RTKREHPV.js} +2 -2
- package/dist/{chunk-BAHOV5I5.js → chunk-SIACMXFK.js} +8 -8
- package/dist/{chunk-6WO62AJW.js → chunk-SZFNO7L4.js} +3 -3
- package/dist/{chunk-4OQZNXQG.js → chunk-TA67ZQUH.js} +53 -6
- package/dist/chunk-TA67ZQUH.js.map +1 -0
- package/dist/{chunk-U27Y4DJZ.js → chunk-TWELPVXG.js} +3 -3
- package/dist/{chunk-WVE6YKMX.js → chunk-U5ZDYJLQ.js} +3 -3
- package/dist/{chunk-4YL2LMXK.js → chunk-UW5YKCE4.js} +6 -6
- package/dist/{chunk-E5SC6ENM.js → chunk-UWRVDBDC.js} +10 -10
- package/dist/{chunk-GTHVPVAR.js → chunk-VNPSPQNN.js} +10 -10
- package/dist/{chunk-A4TOGAUW.js → chunk-VXH5Z22C.js} +2 -2
- package/dist/{chunk-FS7NTGCJ.js → chunk-WBFJZCDJ.js} +2 -2
- package/dist/{chunk-4RAS6HN6.js → chunk-WBRLSPA7.js} +2 -2
- package/dist/{chunk-AUPSEJ7O.js → chunk-WG66ZPEV.js} +4 -4
- package/dist/{chunk-QSIEL6TL.js → chunk-XXONVJWA.js} +5 -5
- package/dist/{chunk-ZLHHE5XZ.js → chunk-YLIGPHN4.js} +3 -3
- package/dist/{chunk-VVSOPRUE.js → chunk-YNWBBHQK.js} +3 -3
- package/dist/{chunk-I6QKB7MT.js → chunk-Z6UMKUAI.js} +2 -2
- package/dist/{chunk-7LNE2N2V.js → chunk-Z7AHYSZF.js} +5 -5
- package/dist/{chunk-3PMFMUFX.js → chunk-ZA3RBGT3.js} +2 -2
- package/dist/{chunk-LGFTOU27.js → chunk-ZILONQGE.js} +95 -80
- package/dist/chunk-ZILONQGE.js.map +1 -0
- package/dist/{chunk-TDSN2O2V.js → chunk-ZKZXS352.js} +5 -5
- package/dist/{chunk-OMYCSTXL.js → chunk-ZLU3IWHK.js} +3 -3
- package/dist/{chunk-6JPGVL7X.js → chunk-ZYG4UWHF.js} +2 -2
- package/dist/classified/index.js +4 -4
- package/dist/{classified-marker-NA6HUV33.js → classified-marker-RYWYYZDB.js} +3 -3
- package/dist/{collection-facade-VBM35WAH.js → collection-facade-XV3IMJBO.js} +15 -15
- package/dist/{computed-GSTLWSY5.js → computed-M4QZVSPX.js} +3 -3
- package/dist/consent/index.js +7 -7
- package/dist/cover/index.js +7 -7
- package/dist/custody/index.js +9 -9
- package/dist/{dead-filter-UALP5DJX.js → dead-filter-DRKJDNSF.js} +2 -2
- package/dist/debug/index.js +1 -1
- package/dist/{delegation-JLNXM7KH.js → delegation-UEJN2LDC.js} +9 -9
- package/dist/derivations/index.js +10 -10
- package/dist/{derive-YUO3TQYN.js → derive-WIWSPZ5M.js} +8 -8
- package/dist/directory/index.js +8 -8
- package/dist/{dispatch-77CB75KB.js → dispatch-2ZE7Z5V2.js} +16 -16
- package/dist/{dispatch-4ZHLSFZQ.js → dispatch-KNWYDUYM.js} +9 -6
- package/dist/dispatch-KNWYDUYM.js.map +1 -0
- package/dist/{enclave-O4NOROCJ.js → enclave-VNHDWCB6.js} +7 -7
- package/dist/executor-4SMYWPSU.js +29 -0
- package/dist/executor-BJ7PCXCV.js +9 -0
- package/dist/executor-O4UP4M3C.js +9 -0
- package/dist/export-accessible-A3N2V4IX.js +23 -0
- package/dist/extract-partition-3EUJXWYG.js +38 -0
- package/dist/{fanout-sidecar-NLQ7QAYW.js → fanout-sidecar-PBEVZ5IQ.js} +7 -7
- package/dist/find-W2DL2BEE.js +11 -0
- package/dist/forget/index.js +7 -7
- package/dist/guards/index.js +4 -4
- package/dist/history/index.js +11 -11
- package/dist/i18n/index.js +12 -12
- package/dist/index.d.ts +1 -1
- package/dist/index.js +91 -89
- package/dist/index.js.map +1 -1
- package/dist/indexing/index.js +4 -4
- package/dist/introspection/index.js +9 -9
- package/dist/issue-NLJ3FCKL.js +19 -0
- package/dist/kernel/collection.d.ts +8 -2
- package/dist/kernel/errors.d.ts +26 -0
- package/dist/kernel/query/builder.d.ts +36 -2
- package/dist/kernel/query/live.d.ts +31 -9
- package/dist/kernel/query/predicate.d.ts +9 -0
- package/dist/kernel/refs.d.ts +3 -1
- package/dist/kernel/via/reconcile.d.ts +12 -0
- package/dist/{ledger-MVPNG5OS.js → ledger-DDIDLWA3.js} +9 -9
- package/dist/liberate-EPTCY3DF.js +24 -0
- package/dist/{link-set-3POMQR3I.js → link-set-2AYA6BEI.js} +9 -9
- package/dist/{managed-secret-IARIJJ7Q.js → managed-secret-6QTGWZTW.js} +7 -7
- package/dist/materialized-views/index.js +20 -20
- package/dist/{migrate-cek-XM2ETTZW.js → migrate-cek-YBNJDJ2Q.js} +2 -2
- package/dist/money/index.js +5 -5
- package/dist/noydb-RFBNRUHH.js +85 -0
- package/dist/overlay-views/index.js +4 -4
- package/dist/periods/index.js +10 -10
- package/dist/pod/index.js +54 -53
- package/dist/{pod-handle-MELERCKU.js → pod-handle-77YAUM4J.js} +7 -7
- package/dist/policy/index.js +7 -7
- package/dist/portability/index.js +8 -8
- package/dist/{post-register-Z5T7FY45.js → post-register-WBDTOLWD.js} +6 -6
- package/dist/query/index.js +6 -6
- package/dist/reduce/index.js +6 -6
- package/dist/{register-UZ37QPDB.js → register-VSPL7VRW.js} +13 -13
- package/dist/registry-A7JADQXC.js +9 -0
- package/dist/registry-AOPJN2V4.js +18 -0
- package/dist/registry-I4I3QIQ6.js +9 -0
- package/dist/registry-QSMKWF4O.js +19 -0
- package/dist/{request-withdrawal-PVFEYX57.js → request-withdrawal-VL5N623Q.js} +12 -12
- package/dist/{reveal-DQ2E3QAZ.js → reveal-Z2X4JW6E.js} +4 -4
- package/dist/{revoke-YXY6SHUH.js → revoke-XQ5STGT4.js} +9 -9
- package/dist/satellites/index.js +1 -1
- package/dist/schema-update/index.js +2 -2
- package/dist/sealed-record/index.js +10 -10
- package/dist/search/index.js +4 -4
- package/dist/{seed-DZ4ORU5N.js → seed-WJWCFPZL.js} +9 -9
- package/dist/sequence/index.js +7 -7
- package/dist/session/index.js +7 -7
- package/dist/shadow/index.js +2 -2
- package/dist/{signer-Q7XQBMPA.js → signer-N5TGVOTN.js} +8 -8
- package/dist/snapshots/index.js +8 -8
- package/dist/{stale-NI7SAXAZ.js → stale-MIO5KGEP.js} +8 -8
- package/dist/{storage-3VNGSHXS.js → storage-NLYOMCDM.js} +8 -8
- package/dist/{store-coordination-provider-TYKNR3OU.js → store-coordination-provider-XCX77ZBE.js} +7 -7
- package/dist/sync/index.js +8 -8
- package/dist/team/index.js +12 -12
- package/dist/tiers/index.js +9 -9
- package/dist/to/index.js +1 -1
- package/dist/transactions/index.js +3 -3
- package/dist/util/index.js +1 -1
- package/dist/vault-head/index.js +6 -6
- package/dist/{verify-6J2YLKSO.js → verify-5QI3DGO2.js} +5 -5
- package/dist/via/blob/index.d.ts +3 -0
- package/dist/walk-G5OAA3RE.js +21 -0
- package/dist/with-formula/materialized-views/dependency-analyzer.d.ts +4 -0
- package/dist/with-formula/materialized-views/projection-legs.d.ts +59 -0
- package/dist/with-formula/materialized-views/registry.d.ts +50 -0
- package/dist/with-formula/materialized-views/types.d.ts +68 -10
- package/dist/with-shape/blobs/blob-compaction.d.ts +13 -0
- package/dist/with-shape/blobs/blob-set.d.ts +61 -7
- package/dist/with-shape/blobs/orphan-report.d.ts +62 -0
- package/dist/{withdraw-accessible-4JTDFRFZ.js → withdraw-accessible-H7G2AMSP.js} +11 -11
- package/package.json +3 -3
- package/dist/api-EYNT6KGS.js +0 -20
- package/dist/chunk-3O72ZD2E.js.map +0 -1
- package/dist/chunk-4OQZNXQG.js.map +0 -1
- package/dist/chunk-CAGI4LLJ.js.map +0 -1
- package/dist/chunk-CWM4GQD2.js.map +0 -1
- package/dist/chunk-IGJCYUT5.js.map +0 -1
- package/dist/chunk-JLYQQNY4.js.map +0 -1
- package/dist/chunk-LGFTOU27.js.map +0 -1
- package/dist/chunk-LXECF2ZR.js.map +0 -1
- package/dist/chunk-P2MR5UNE.js.map +0 -1
- package/dist/chunk-T7JGWTES.js.map +0 -1
- package/dist/dispatch-4ZHLSFZQ.js.map +0 -1
- package/dist/executor-CZDXBXKE.js +0 -29
- package/dist/executor-DVJAWN3B.js +0 -9
- package/dist/executor-VRLG4TQJ.js +0 -9
- package/dist/export-accessible-UXSMG7AB.js +0 -23
- package/dist/extract-partition-TVY7AMKH.js +0 -38
- package/dist/find-WSARMJBW.js +0 -11
- package/dist/issue-3JNJNPT3.js +0 -19
- package/dist/liberate-4LOJOLDT.js +0 -24
- package/dist/noydb-IRILUDED.js +0 -84
- package/dist/registry-ETJNA7PO.js +0 -9
- package/dist/registry-F7U6KSLX.js +0 -9
- package/dist/registry-L4ELKX6C.js +0 -18
- package/dist/registry-SDT5LIGO.js +0 -19
- package/dist/walk-WRA7RAPY.js +0 -21
- /package/dist/{api-EYNT6KGS.js.map → api-ETB5Y4DY.js.map} +0 -0
- /package/dist/{backup-FSC36VWC.js.map → backup-UOLAXOJ4.js.map} +0 -0
- /package/dist/{chunk-3B6S6RSI.js.map → chunk-22VRCUV2.js.map} +0 -0
- /package/dist/{chunk-ESKIAXO2.js.map → chunk-23ODLABM.js.map} +0 -0
- /package/dist/{chunk-IJ46VCWD.js.map → chunk-2DHEBIJA.js.map} +0 -0
- /package/dist/{chunk-TMBSPLUG.js.map → chunk-2LHPMFSR.js.map} +0 -0
- /package/dist/{chunk-ONVD6GBY.js.map → chunk-2QN6NPV6.js.map} +0 -0
- /package/dist/{chunk-NW4TY6VC.js.map → chunk-3UIS6O6N.js.map} +0 -0
- /package/dist/{chunk-EKEIEJL6.js.map → chunk-4UZDDS4S.js.map} +0 -0
- /package/dist/{chunk-S56VYR4Q.js.map → chunk-5FRZ7YYU.js.map} +0 -0
- /package/dist/{chunk-H3G4I3PN.js.map → chunk-5MU7PUNA.js.map} +0 -0
- /package/dist/{chunk-NCCEDL2K.js.map → chunk-66X4XWTM.js.map} +0 -0
- /package/dist/{chunk-TQPASLY4.js.map → chunk-6G4NORTR.js.map} +0 -0
- /package/dist/{chunk-RKCRPPNB.js.map → chunk-6W3BZCW6.js.map} +0 -0
- /package/dist/{chunk-DVRZYAGT.js.map → chunk-6ZN6X2LW.js.map} +0 -0
- /package/dist/{chunk-PPCOKVFA.js.map → chunk-6ZTPSVY7.js.map} +0 -0
- /package/dist/{chunk-MZTUTEHP.js.map → chunk-7DRKK5FQ.js.map} +0 -0
- /package/dist/{chunk-GBBDFE6C.js.map → chunk-7LWBD3NO.js.map} +0 -0
- /package/dist/{chunk-KX57HODD.js.map → chunk-7W765AVV.js.map} +0 -0
- /package/dist/{chunk-LN7P6MZB.js.map → chunk-7ZPAL3F7.js.map} +0 -0
- /package/dist/{chunk-CADUYBQD.js.map → chunk-ATL3ZVXT.js.map} +0 -0
- /package/dist/{chunk-RSXQNFGO.js.map → chunk-ATSIGJRX.js.map} +0 -0
- /package/dist/{chunk-MSLPDFK2.js.map → chunk-AZPPARMG.js.map} +0 -0
- /package/dist/{chunk-NR2SUJ3H.js.map → chunk-B3X6S37C.js.map} +0 -0
- /package/dist/{chunk-GWO2IDAB.js.map → chunk-BNGGSNO7.js.map} +0 -0
- /package/dist/{chunk-INMHEMXX.js.map → chunk-C7B3XUI4.js.map} +0 -0
- /package/dist/{chunk-D3R7Q4QK.js.map → chunk-CJU3KXHJ.js.map} +0 -0
- /package/dist/{chunk-RFO4UXKQ.js.map → chunk-CWYTN4IK.js.map} +0 -0
- /package/dist/{chunk-HR5R5JOM.js.map → chunk-D5DZ4R7X.js.map} +0 -0
- /package/dist/{chunk-6YD5SYQS.js.map → chunk-DEKA2MV3.js.map} +0 -0
- /package/dist/{chunk-SYS46BL7.js.map → chunk-DG4KFJNA.js.map} +0 -0
- /package/dist/{chunk-B6IYATME.js.map → chunk-DXJXVWWE.js.map} +0 -0
- /package/dist/{chunk-O742QBZZ.js.map → chunk-DZBZCFS7.js.map} +0 -0
- /package/dist/{chunk-FW7NGYLT.js.map → chunk-FNCX4N7X.js.map} +0 -0
- /package/dist/{chunk-OHOKBMTM.js.map → chunk-FUE2KPKM.js.map} +0 -0
- /package/dist/{chunk-YALD3SST.js.map → chunk-G4577GK7.js.map} +0 -0
- /package/dist/{chunk-DIZ6HM7Q.js.map → chunk-G6DAESDS.js.map} +0 -0
- /package/dist/{chunk-HYYVT2KZ.js.map → chunk-GAZTPQ3D.js.map} +0 -0
- /package/dist/{chunk-LX46B56Q.js.map → chunk-GJ5TMHKC.js.map} +0 -0
- /package/dist/{chunk-KRVS7YWY.js.map → chunk-GNSLP7KA.js.map} +0 -0
- /package/dist/{chunk-5Q7AJ7DN.js.map → chunk-I3D67XD7.js.map} +0 -0
- /package/dist/{chunk-GQ3BX5EA.js.map → chunk-I3ISCYT7.js.map} +0 -0
- /package/dist/{chunk-HQSPF5IY.js.map → chunk-ISRAQIYY.js.map} +0 -0
- /package/dist/{chunk-JWMBG5S3.js.map → chunk-J2KGT2A5.js.map} +0 -0
- /package/dist/{chunk-BEZDLIDG.js.map → chunk-JMN3I4OC.js.map} +0 -0
- /package/dist/{chunk-7PJ3BKHS.js.map → chunk-JO4MRPEY.js.map} +0 -0
- /package/dist/{chunk-4N5Q23KV.js.map → chunk-JXFQEOAQ.js.map} +0 -0
- /package/dist/{chunk-ICDHUUMQ.js.map → chunk-KF34JCIJ.js.map} +0 -0
- /package/dist/{chunk-6KTVJ5ZZ.js.map → chunk-KKVVBFKW.js.map} +0 -0
- /package/dist/{chunk-DXKLLKME.js.map → chunk-L374ZR75.js.map} +0 -0
- /package/dist/{chunk-EES37S2V.js.map → chunk-L5PTLL7A.js.map} +0 -0
- /package/dist/{chunk-2LFOMUEA.js.map → chunk-LBDG6FHB.js.map} +0 -0
- /package/dist/{chunk-OIBEJN5H.js.map → chunk-LYQUFIHL.js.map} +0 -0
- /package/dist/{chunk-JNMTN5D5.js.map → chunk-LZHIYH32.js.map} +0 -0
- /package/dist/{chunk-7KAE7CQ2.js.map → chunk-M2KVSM43.js.map} +0 -0
- /package/dist/{chunk-32B7VCKU.js.map → chunk-O2A5YCFF.js.map} +0 -0
- /package/dist/{chunk-4A34KWOU.js.map → chunk-OGB2UTBC.js.map} +0 -0
- /package/dist/{chunk-GQXFOAYZ.js.map → chunk-OMXUQAZJ.js.map} +0 -0
- /package/dist/{chunk-45YHJ3GV.js.map → chunk-PFHF3A72.js.map} +0 -0
- /package/dist/{chunk-KV6JM2IA.js.map → chunk-PUGHLCBW.js.map} +0 -0
- /package/dist/{chunk-ZZXLB6AS.js.map → chunk-R6BGN6IY.js.map} +0 -0
- /package/dist/{chunk-CLAHBPOI.js.map → chunk-RBBTJ2HY.js.map} +0 -0
- /package/dist/{chunk-YKXZHUOW.js.map → chunk-RGUAY5IX.js.map} +0 -0
- /package/dist/{chunk-AU3AUJIZ.js.map → chunk-RQQIB7CD.js.map} +0 -0
- /package/dist/{chunk-TX5MKAHA.js.map → chunk-RTKREHPV.js.map} +0 -0
- /package/dist/{chunk-BAHOV5I5.js.map → chunk-SIACMXFK.js.map} +0 -0
- /package/dist/{chunk-6WO62AJW.js.map → chunk-SZFNO7L4.js.map} +0 -0
- /package/dist/{chunk-U27Y4DJZ.js.map → chunk-TWELPVXG.js.map} +0 -0
- /package/dist/{chunk-WVE6YKMX.js.map → chunk-U5ZDYJLQ.js.map} +0 -0
- /package/dist/{chunk-4YL2LMXK.js.map → chunk-UW5YKCE4.js.map} +0 -0
- /package/dist/{chunk-E5SC6ENM.js.map → chunk-UWRVDBDC.js.map} +0 -0
- /package/dist/{chunk-GTHVPVAR.js.map → chunk-VNPSPQNN.js.map} +0 -0
- /package/dist/{chunk-A4TOGAUW.js.map → chunk-VXH5Z22C.js.map} +0 -0
- /package/dist/{chunk-FS7NTGCJ.js.map → chunk-WBFJZCDJ.js.map} +0 -0
- /package/dist/{chunk-4RAS6HN6.js.map → chunk-WBRLSPA7.js.map} +0 -0
- /package/dist/{chunk-AUPSEJ7O.js.map → chunk-WG66ZPEV.js.map} +0 -0
- /package/dist/{chunk-QSIEL6TL.js.map → chunk-XXONVJWA.js.map} +0 -0
- /package/dist/{chunk-ZLHHE5XZ.js.map → chunk-YLIGPHN4.js.map} +0 -0
- /package/dist/{chunk-VVSOPRUE.js.map → chunk-YNWBBHQK.js.map} +0 -0
- /package/dist/{chunk-I6QKB7MT.js.map → chunk-Z6UMKUAI.js.map} +0 -0
- /package/dist/{chunk-7LNE2N2V.js.map → chunk-Z7AHYSZF.js.map} +0 -0
- /package/dist/{chunk-3PMFMUFX.js.map → chunk-ZA3RBGT3.js.map} +0 -0
- /package/dist/{chunk-TDSN2O2V.js.map → chunk-ZKZXS352.js.map} +0 -0
- /package/dist/{chunk-OMYCSTXL.js.map → chunk-ZLU3IWHK.js.map} +0 -0
- /package/dist/{chunk-6JPGVL7X.js.map → chunk-ZYG4UWHF.js.map} +0 -0
- /package/dist/{classified-marker-NA6HUV33.js.map → classified-marker-RYWYYZDB.js.map} +0 -0
- /package/dist/{collection-facade-VBM35WAH.js.map → collection-facade-XV3IMJBO.js.map} +0 -0
- /package/dist/{computed-GSTLWSY5.js.map → computed-M4QZVSPX.js.map} +0 -0
- /package/dist/{dead-filter-UALP5DJX.js.map → dead-filter-DRKJDNSF.js.map} +0 -0
- /package/dist/{delegation-JLNXM7KH.js.map → delegation-UEJN2LDC.js.map} +0 -0
- /package/dist/{derive-YUO3TQYN.js.map → derive-WIWSPZ5M.js.map} +0 -0
- /package/dist/{dispatch-77CB75KB.js.map → dispatch-2ZE7Z5V2.js.map} +0 -0
- /package/dist/{enclave-O4NOROCJ.js.map → enclave-VNHDWCB6.js.map} +0 -0
- /package/dist/{executor-CZDXBXKE.js.map → executor-4SMYWPSU.js.map} +0 -0
- /package/dist/{executor-DVJAWN3B.js.map → executor-BJ7PCXCV.js.map} +0 -0
- /package/dist/{executor-VRLG4TQJ.js.map → executor-O4UP4M3C.js.map} +0 -0
- /package/dist/{export-accessible-UXSMG7AB.js.map → export-accessible-A3N2V4IX.js.map} +0 -0
- /package/dist/{extract-partition-TVY7AMKH.js.map → extract-partition-3EUJXWYG.js.map} +0 -0
- /package/dist/{fanout-sidecar-NLQ7QAYW.js.map → fanout-sidecar-PBEVZ5IQ.js.map} +0 -0
- /package/dist/{find-WSARMJBW.js.map → find-W2DL2BEE.js.map} +0 -0
- /package/dist/{issue-3JNJNPT3.js.map → issue-NLJ3FCKL.js.map} +0 -0
- /package/dist/{ledger-MVPNG5OS.js.map → ledger-DDIDLWA3.js.map} +0 -0
- /package/dist/{liberate-4LOJOLDT.js.map → liberate-EPTCY3DF.js.map} +0 -0
- /package/dist/{link-set-3POMQR3I.js.map → link-set-2AYA6BEI.js.map} +0 -0
- /package/dist/{managed-secret-IARIJJ7Q.js.map → managed-secret-6QTGWZTW.js.map} +0 -0
- /package/dist/{migrate-cek-XM2ETTZW.js.map → migrate-cek-YBNJDJ2Q.js.map} +0 -0
- /package/dist/{noydb-IRILUDED.js.map → noydb-RFBNRUHH.js.map} +0 -0
- /package/dist/{pod-handle-MELERCKU.js.map → pod-handle-77YAUM4J.js.map} +0 -0
- /package/dist/{post-register-Z5T7FY45.js.map → post-register-WBDTOLWD.js.map} +0 -0
- /package/dist/{register-UZ37QPDB.js.map → register-VSPL7VRW.js.map} +0 -0
- /package/dist/{registry-ETJNA7PO.js.map → registry-A7JADQXC.js.map} +0 -0
- /package/dist/{registry-F7U6KSLX.js.map → registry-AOPJN2V4.js.map} +0 -0
- /package/dist/{registry-L4ELKX6C.js.map → registry-I4I3QIQ6.js.map} +0 -0
- /package/dist/{registry-SDT5LIGO.js.map → registry-QSMKWF4O.js.map} +0 -0
- /package/dist/{request-withdrawal-PVFEYX57.js.map → request-withdrawal-VL5N623Q.js.map} +0 -0
- /package/dist/{reveal-DQ2E3QAZ.js.map → reveal-Z2X4JW6E.js.map} +0 -0
- /package/dist/{revoke-YXY6SHUH.js.map → revoke-XQ5STGT4.js.map} +0 -0
- /package/dist/{seed-DZ4ORU5N.js.map → seed-WJWCFPZL.js.map} +0 -0
- /package/dist/{signer-Q7XQBMPA.js.map → signer-N5TGVOTN.js.map} +0 -0
- /package/dist/{stale-NI7SAXAZ.js.map → stale-MIO5KGEP.js.map} +0 -0
- /package/dist/{storage-3VNGSHXS.js.map → storage-NLYOMCDM.js.map} +0 -0
- /package/dist/{store-coordination-provider-TYKNR3OU.js.map → store-coordination-provider-XCX77ZBE.js.map} +0 -0
- /package/dist/{verify-6J2YLKSO.js.map → verify-5QI3DGO2.js.map} +0 -0
- /package/dist/{walk-WRA7RAPY.js.map → walk-G5OAA3RE.js.map} +0 -0
- /package/dist/{withdraw-accessible-4JTDFRFZ.js.map → withdraw-accessible-H7G2AMSP.js.map} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,243 @@
|
|
|
1
1
|
# Changelog — hub
|
|
2
2
|
|
|
3
|
+
## 0.6.0-pre.23
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Query-form materialized views can join a declared ref, and a late `refs` declaration is no longer silently discarded.
|
|
8
|
+
|
|
9
|
+
**#1141 — `refs` declared on an already-constructed collection were dropped.** The declaration fan-out ran only when `vault.collection()` missed its cache, so any earlier touch of the collection silently discarded a later `refs` declaration: strict FK enforcement never engaged (a dangling `put()` was accepted) and `.join()` kept reporting "no ref() declared". `refs` now late-attaches through the same reconcile ladder every other declaration already used. An identical redeclaration stays a no-op; a conflicting one still throws.
|
|
10
|
+
|
|
11
|
+
**#1139 — a query-form MV that joins a declared FK threw at `openVault()`, with no ordering that avoided it.** MV strategies register during `openVault()`, but a collection's refs can only be declared after it returns, so the plan was built before any ref could exist. Such a strategy is now parked and replanned on the first write dispatch or `vault.refreshView()`, matching the projection form's timing. Every other planning failure still throws out of `openVault()` immediately — only a not-yet-declared ref defers.
|
|
12
|
+
|
|
13
|
+
Adds `RefNotDeclaredError` to the root barrel: `.join()` now throws it instead of a bare `Error`, with an unchanged message, so the deferral condition is matched on a type rather than on text.
|
|
14
|
+
|
|
15
|
+
- Report blob chunks that outlived their index row (#1133).
|
|
16
|
+
|
|
17
|
+
`vault.compact()` now returns `orphanBlobChunks` — a count of `_blob_chunks` rows whose eTag has no `_blob_index` entry, the distinct eTags involved, a small sample to inspect, and a separate count of ids that do not fit the `{eTag}_{index}` grammar at all. `reportOrphanBlobChunks(store, vault)` is exported from `@noy-db/hub/blobs` for callers that want it on its own.
|
|
18
|
+
|
|
19
|
+
This is the residue #1127 stopped producing: before that fix a crash between deleting a blob's index row and its chunks stranded bodies no reader and no key rotation can reach, which for a legacy blob leaves bytes openable under a retired `_blob` DEK.
|
|
20
|
+
|
|
21
|
+
**It reports and never reclaims, deliberately.** Deciding "orphaned" means trusting `store.list`, and the store is untrusted — one withheld index row would make a live blob's chunks look orphaned, so a reclaim pass would convert withholding, which is reversible, into permanent destruction. A lying store can only inflate this count.
|
|
22
|
+
|
|
23
|
+
- Projection MV legs can attach to another leg's alias (#1140).
|
|
24
|
+
|
|
25
|
+
`ProjectionJoinLeg` gains `from`, naming a previously-declared FORWARD leg. A collect leg then matches against that leg's record id instead of the primary row's, and a forward leg reads its FK off that record — which makes a lookup two FKs away expressible for the first time:
|
|
26
|
+
|
|
27
|
+
```ts
|
|
28
|
+
joins: [
|
|
29
|
+
{ field: "entityId", as: "entity" },
|
|
30
|
+
{ from: "entity", collect: "clients", on: "entityId", as: "clients" },
|
|
31
|
+
];
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Every leg previously attached to the primary row, so `bill → entity → client` had no shape: the bill has no `clientId`, and `clients.entityId` refs `entities`, not `bills`. The two workarounds were denormalizing a redundant FK onto the source — reintroducing the duplicated relationship a projection MV exists to avoid — or dropping back to app code and forfeiting the dependency tracking.
|
|
35
|
+
|
|
36
|
+
`from` may only name a leg declared earlier, and only a forward one (a collect leg holds an array, not a record). Both are refused at `withMaterializedView()` construction, alongside the rest of the leg-shape checks. The backward-only rule is also why no depth cap is needed: a cycle cannot be spelled. `from` is folded into the plan summary, so two structurally different projections cannot share a `queryHash`.
|
|
37
|
+
|
|
38
|
+
## 0.6.0-pre.22
|
|
39
|
+
|
|
40
|
+
### Minor Changes
|
|
41
|
+
|
|
42
|
+
- `.crossJoin()` gains a typed `outer` option (#1130).
|
|
43
|
+
|
|
44
|
+
`.crossJoin()` emits the left row once per matching right row, so an empty `on:`
|
|
45
|
+
subset dropped it entirely — no error, no warning, no count mismatch. It bites
|
|
46
|
+
hardest on a **reverse FK**, because `.join()` is forward-only on a declared
|
|
47
|
+
`ref()` and cannot express that direction, so `.crossJoin()` is the only tool
|
|
48
|
+
available. The reported case measured three rows in and one row out, with the
|
|
49
|
+
missing two vanishing silently from a list view.
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
.crossJoin('clients', { as: 'client', outer: true, on: (b) => byEntity.get(b.entityId) ?? [] })
|
|
53
|
+
// every left row survives; `client` is `Client | null`
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
`outer` applies to both call shapes: with `on:` the empty thing is that left
|
|
57
|
+
row's subset, and without it an empty TARGET collection is what would otherwise
|
|
58
|
+
drop every row — two separate branches in `applyCrossJoin`, both covered.
|
|
59
|
+
|
|
60
|
+
**The alias widens to `TTarget | null` only under `outer: true`**, via a third
|
|
61
|
+
type parameter rather than a plain boolean, so existing inner-mode callers are
|
|
62
|
+
untouched and are not made to null-check something that cannot occur. Both
|
|
63
|
+
directions are asserted at compile time in `cross-join-outer.test-d.ts`, because
|
|
64
|
+
neither mistake would show up in a runtime test.
|
|
65
|
+
|
|
66
|
+
The previously documented `?? [null]` idiom still works and is exactly what
|
|
67
|
+
`outer` does internally — a test asserts the two produce identical rows. Prefer
|
|
68
|
+
the flag: the idiom types the alias as non-null while the row can hold null, and
|
|
69
|
+
a later "simplification" that removes the `[null]` silently reintroduces the row
|
|
70
|
+
loss.
|
|
71
|
+
|
|
72
|
+
`outer` is folded into the query-plan summary, so a materialized view built on
|
|
73
|
+
the inner form is not served for an outer query, and a substituted null row
|
|
74
|
+
counts toward `maxRows` like any other row.
|
|
75
|
+
|
|
76
|
+
### Patch Changes
|
|
77
|
+
|
|
78
|
+
- `@noy-db/in-vue` ships `useLiveQuery()`, and `in-pinia` now delegates to it (#1131).
|
|
79
|
+
|
|
80
|
+
`kernel/query/live.ts` described a Vue wrapper for `LiveQuery` as though it were
|
|
81
|
+
provided, plus React/Solid/Svelte adapters that have never existed. #1132
|
|
82
|
+
corrected the prose. This ships the thing.
|
|
83
|
+
|
|
84
|
+
**There was exactly one implementation in the family and it was unreachable.**
|
|
85
|
+
`@noy-db/in-pinia`'s `store.liveQuery()` already did this correctly — subscribe
|
|
86
|
+
once, mirror into a `ShallowRef`, re-read `error` on every notification, dispose
|
|
87
|
+
via `onScopeDispose` — but it is a **store method, not an export**, so an export
|
|
88
|
+
enumeration cannot find it, and a Vue consumer not using Pinia had no route at
|
|
89
|
+
all. A pilot consumer hand-rolled the glue instead.
|
|
90
|
+
|
|
91
|
+
So `useLiveQuery` lands in `@noy-db/in-vue` (the base binding, no Pinia
|
|
92
|
+
required) and `in-pinia` calls it, keeping the readiness check and the query
|
|
93
|
+
build and nothing else. One implementation rather than two that drift — and
|
|
94
|
+
only one of two copies ever gets an error-semantics fix. `NoydbLiveQuery<R>` is
|
|
95
|
+
now an alias of `UseLiveQueryReturn<R>`, so the type has one definition too.
|
|
96
|
+
|
|
97
|
+
```ts
|
|
98
|
+
const { items, error } = useLiveQuery(
|
|
99
|
+
vault.collection("bills").query().join("entityId", { as: "entity" }).live()
|
|
100
|
+
);
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**A hub doc-comment correction came out of building it, and it was backwards in
|
|
104
|
+
both halves.** `LiveQuery.value` was documented as _"updated in place… the
|
|
105
|
+
reference returned is the same array"_, advising callers to copy for change
|
|
106
|
+
detection. `refresh()` assigns `this._value = this.recompute()`, so the array is
|
|
107
|
+
**replaced**: the reference changes on every re-run, reference identity IS a
|
|
108
|
+
valid change signal (which is what makes a `shallowRef` correct and a copy
|
|
109
|
+
unnecessary), and a consumer who caches `value` holds a snapshot that never
|
|
110
|
+
updates. Verified by running it, not by reading it — two reads across a
|
|
111
|
+
notification are not `===`, and the first array still holds the old contents.
|
|
112
|
+
|
|
113
|
+
⚠️ **Consumer-visible:** `@noy-db/in-pinia` now declares `@noy-db/in-vue` as a
|
|
114
|
+
(non-optional) peer, matching how the family already wires satellite-to-satellite
|
|
115
|
+
deps — `in-nextjs` → `in-react`, `in-nuxt` → `in-pinia`/`in-vue`,
|
|
116
|
+
`in-devtools-tui` → `in-devtools`. A Nuxt consumer already has it, since
|
|
117
|
+
`in-nuxt` peers on both. A **plain Pinia** consumer must add one line to their
|
|
118
|
+
install; the two ship on the same lockstep version line. It is deliberately not
|
|
119
|
+
optional — `store.liveQuery()` does not work without it, and an optional peer
|
|
120
|
+
would turn that into a runtime resolution failure instead of an install-time one.
|
|
121
|
+
|
|
122
|
+
The test suite asserts through a `watch` inside an `effectScope` rather than by
|
|
123
|
+
reading `items.value`. Reading the ref passes even if Vue reactivity is entirely
|
|
124
|
+
broken, since the value is correct either way; only a watcher proves a component
|
|
125
|
+
would re-render.
|
|
126
|
+
|
|
127
|
+
- `KeyringTamperedError` stops accusing the store when the cause is an upgrade (#1129).
|
|
128
|
+
|
|
129
|
+
`roster_tag` and the reserved `_roster` key ship for the first time in
|
|
130
|
+
`0.6.0-pre.21`, so **no keyring written by any earlier release carries either**.
|
|
131
|
+
Every existing vault therefore fails at unlock on upgrade — and was told _"The
|
|
132
|
+
store serving this vault may have altered the roster."_ Measured, not assumed: a
|
|
133
|
+
vault written by published `0.6.0-pre.20` and opened by `pre.21` reports
|
|
134
|
+
`roster-key-missing` (the roster-key check precedes the tag check).
|
|
135
|
+
|
|
136
|
+
The refusal is correct and unchanged — the format is replaced, not migrated
|
|
137
|
+
(#1100, ADR 0003 Decision 5), and the vault must be re-seeded. What changes is
|
|
138
|
+
what the user reads. The absence labels now lead with the format transition,
|
|
139
|
+
because that is the overwhelming base rate on upgrade day, while still naming the
|
|
140
|
+
attack reading and still refusing. `roster-tag-mismatch` keeps its unqualified
|
|
141
|
+
alert: no released version ever wrote a mismatched tag, so it is not reachable by
|
|
142
|
+
a format transition.
|
|
143
|
+
|
|
144
|
+
**No benign/attack discriminant was added, and none is possible.** #1103 could
|
|
145
|
+
build one for records because the benign case must produce a body that _decrypts
|
|
146
|
+
under the DEK_, which an untrusted store cannot fabricate — a successful retry is
|
|
147
|
+
positive evidence. A keyring's benign case is a _deleted field_, which a store
|
|
148
|
+
produces with no key at all. Verified by probe: stripping `_roster` and
|
|
149
|
+
`roster_tag` from a genuine `pre.21` file gives output byte-identical to opening a
|
|
150
|
+
real `pre.20` vault. "Absent means old and fine" would be a downgrade path.
|
|
151
|
+
|
|
152
|
+
A code comment claiming an absent canary "is not an old file" is corrected: the
|
|
153
|
+
policy it justified is right, the factual claim was wrong (`canary` was optional
|
|
154
|
+
through `pre.19`, and its own doc said older keyrings have none). `SECURITY.md`
|
|
155
|
+
gains a _Reading a `KeyringTamperedError`_ section stating that, unlike
|
|
156
|
+
`TamperedError.reason`, these five values are mechanism labels and **not** a
|
|
157
|
+
benign-vs-attack verdict.
|
|
158
|
+
|
|
159
|
+
- A crash mid-shred no longer strands blob chunks under a retired DEK (#1127).
|
|
160
|
+
|
|
161
|
+
`releaseRef` deleted a blob's index row BEFORE its chunks. A crash in between
|
|
162
|
+
left chunk bodies nothing can ever reach: `loadBlobObject` returns null so no
|
|
163
|
+
reader addresses them, and `rekeyBlobSet` derives chunk ids from each index
|
|
164
|
+
entry's `chunkCount`, so a rotation walks straight past. For a **legacy** blob —
|
|
165
|
+
bytes under the `_blob` DEK itself rather than a per-blob content CEK — those
|
|
166
|
+
bodies stayed openable under the retired `_blob` DEK, which is exactly the key a
|
|
167
|
+
revoked member walked away with. Crash during `forget()`, revoke later, and real
|
|
168
|
+
blob content sat readable indefinitely.
|
|
169
|
+
|
|
170
|
+
It was silent on every side: no error at crash time (the marked shred path
|
|
171
|
+
catches per-hold and files the eTag under `residue`), no error at rotation time,
|
|
172
|
+
and the rotation reported success.
|
|
173
|
+
|
|
174
|
+
**The fix is the deletion ORDER, not a cleanup pass.** Chunks are now deleted
|
|
175
|
+
before the index row, so every chunk that survives has an index row, is
|
|
176
|
+
therefore reachable by `rekeyBlobSet`, and is therefore re-keyed. There is no
|
|
177
|
+
orphan to sweep because none is produced. The residue this leaves instead — an
|
|
178
|
+
index row whose chunks are partly gone — is strictly better: it is reachable, so
|
|
179
|
+
re-running `releaseRef` completes idempotently; `rekeyBlobSet` already tolerates
|
|
180
|
+
it; and it cannot leak, because the bytes that survive are the ones rotation
|
|
181
|
+
still covers.
|
|
182
|
+
|
|
183
|
+
This also makes one ordering rule true across the blob subsystem instead of two
|
|
184
|
+
opposite ones — `rekey-blob.ts` already re-encrypts chunks before re-sealing
|
|
185
|
+
their index entry and documents that order as its resume property.
|
|
186
|
+
|
|
187
|
+
**Deliberately not bundled: a sweep that deletes pre-existing orphans.** Such a
|
|
188
|
+
sweep must decide "orphaned" from `store.list(_blob_index)`, and the store is
|
|
189
|
+
untrusted. A store withholding one index row could make a live blob's chunks
|
|
190
|
+
look orphaned and have us destroy them — converting withholding, which is
|
|
191
|
+
reversible, into permanent loss. That is #1133.
|
|
192
|
+
|
|
193
|
+
One reader path needed a matching correction, found by the full suite rather
|
|
194
|
+
than by reasoning: `resolveRehomedVersionETag` read the OLD blob's bytes while
|
|
195
|
+
resuming a rehome. Under the previous order a crashed delete had already removed
|
|
196
|
+
the index row, so that read happened to see "absent"; with chunks going first
|
|
197
|
+
the row can outlive its own bytes, and the read raised `BlobOfflineError` on
|
|
198
|
+
content that was deliberately destroyed. It now keys off the LOGICAL state —
|
|
199
|
+
`refCount <= 0` means the last hold is released and the row is an un-reaped
|
|
200
|
+
tombstone — and still completes the interrupted deletion, which is what a resume
|
|
201
|
+
owes there. That is more correct under either order than relying on the row's
|
|
202
|
+
physical absence.
|
|
203
|
+
|
|
204
|
+
Two regression rows reproduce the crash window by throwing on the first chunk
|
|
205
|
+
delete, which is the injection point that separates the two orderings (an index
|
|
206
|
+
delete would pass under both). Verified to fail before the fix, with three real
|
|
207
|
+
chunk bodies still opening under `_blob` after revocation.
|
|
208
|
+
|
|
209
|
+
- Document two silent traps in the query DSL that no gate could see (#1130, #1131).
|
|
210
|
+
|
|
211
|
+
Both were found by a pilot consumer, and both cost real time because the
|
|
212
|
+
published prose described a world that did not exist. Neither is a behaviour
|
|
213
|
+
change — the code is unchanged.
|
|
214
|
+
|
|
215
|
+
**`.crossJoin()` is an INNER join and says so nowhere.** Each left row is
|
|
216
|
+
emitted once per matching right row (`builder.ts:1487`), so an empty `on:`
|
|
217
|
+
subset drops the row with no error, no warning and no count mismatch. This
|
|
218
|
+
bites hardest on a reverse FK, where `.join()` — forward-only, and already a
|
|
219
|
+
genuine LEFT outer join — does not apply, so `.crossJoin()` is the only tool
|
|
220
|
+
and the natural fixture always has both sides present. The method doc now
|
|
221
|
+
carries the warning and the `[null]` idiom that restores the row, with a note
|
|
222
|
+
that `[null]` is load-bearing rather than a redundant fallback. A typed
|
|
223
|
+
`outer:` option is #1130.
|
|
224
|
+
|
|
225
|
+
**`live()`'s doc comment described four framework adapters, none of which
|
|
226
|
+
existed.** It named "the Vue layer" plus React/Solid/Svelte. The only binding
|
|
227
|
+
in the repo that wraps a `LiveQuery` is `@noy-db/in-pinia`'s
|
|
228
|
+
`store.liveQuery()` — which does subscribe-once, mirror into a `ShallowRef`,
|
|
229
|
+
re-read `error` on every notification, and dispose via `onScopeDispose`. A
|
|
230
|
+
consumer followed the comment to `@noy-db/in-vue`, found nothing, and
|
|
231
|
+
hand-rolled the glue; the error semantics are the half a hand-rolled wrapper
|
|
232
|
+
usually gets wrong. The comment now names the package and states outright that
|
|
233
|
+
the other bindings have no wrapper.
|
|
234
|
+
|
|
235
|
+
That claim is now enforced by `scripts/__tests__/live-query-bindings.test.ts`,
|
|
236
|
+
which asserts on **which packages actually call `.live()`** rather than on the
|
|
237
|
+
comment's wording — so it fails both when a documented wrapper disappears and
|
|
238
|
+
when an undocumented one appears. Verified capable of failing, not merely
|
|
239
|
+
passing. Same defect class as #1063/#1072: prose no gate reads.
|
|
240
|
+
|
|
3
241
|
## 0.6.0-pre.21
|
|
4
242
|
|
|
5
243
|
### Patch Changes
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import {
|
|
2
|
+
UserApi,
|
|
3
|
+
createUserApi
|
|
4
|
+
} from "./chunk-6W3BZCW6.js";
|
|
5
|
+
import "./chunk-GJ5TMHKC.js";
|
|
6
|
+
import "./chunk-FUE2KPKM.js";
|
|
7
|
+
import "./chunk-PENPHA45.js";
|
|
8
|
+
import "./chunk-OMXUQAZJ.js";
|
|
9
|
+
import "./chunk-PUGHLCBW.js";
|
|
10
|
+
import "./chunk-2LHPMFSR.js";
|
|
11
|
+
import "./chunk-LP7BEXCT.js";
|
|
12
|
+
import "./chunk-RQQIB7CD.js";
|
|
13
|
+
import "./chunk-IGNJOJEP.js";
|
|
14
|
+
import "./chunk-HKANJAOP.js";
|
|
15
|
+
import "./chunk-PZ5AY32C.js";
|
|
16
|
+
export {
|
|
17
|
+
UserApi,
|
|
18
|
+
createUserApi
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=api-ETB5Y4DY.js.map
|
|
@@ -1,42 +1,42 @@
|
|
|
1
1
|
import {
|
|
2
2
|
issueAttestationCore
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-Z7AHYSZF.js";
|
|
4
4
|
import {
|
|
5
5
|
getRevokedDocIdsCore,
|
|
6
6
|
publishRevocationListCore,
|
|
7
7
|
revokeDocCore,
|
|
8
8
|
unrevokeDocCore
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-G6DAESDS.js";
|
|
10
10
|
import {
|
|
11
11
|
ATTESTATIONS_COLLECTION
|
|
12
|
-
} from "../chunk-
|
|
12
|
+
} from "../chunk-23ODLABM.js";
|
|
13
13
|
import {
|
|
14
14
|
NO_ATTESTATION
|
|
15
|
-
} from "../chunk-
|
|
15
|
+
} from "../chunk-D5DZ4R7X.js";
|
|
16
16
|
import "../chunk-4AOERLTV.js";
|
|
17
|
-
import "../chunk-
|
|
17
|
+
import "../chunk-FUE2KPKM.js";
|
|
18
18
|
import "../chunk-PENPHA45.js";
|
|
19
|
-
import "../chunk-
|
|
20
|
-
import "../chunk-
|
|
21
|
-
import "../chunk-
|
|
19
|
+
import "../chunk-OMXUQAZJ.js";
|
|
20
|
+
import "../chunk-PUGHLCBW.js";
|
|
21
|
+
import "../chunk-2LHPMFSR.js";
|
|
22
22
|
import "../chunk-LP7BEXCT.js";
|
|
23
|
-
import "../chunk-
|
|
23
|
+
import "../chunk-RQQIB7CD.js";
|
|
24
24
|
import "../chunk-IGNJOJEP.js";
|
|
25
25
|
import {
|
|
26
26
|
AttestationError,
|
|
27
27
|
AttestationNotEnabledError
|
|
28
|
-
} from "../chunk-
|
|
28
|
+
} from "../chunk-HKANJAOP.js";
|
|
29
29
|
import "../chunk-PZ5AY32C.js";
|
|
30
30
|
|
|
31
31
|
// src/with-audit/attestation/active.ts
|
|
32
32
|
function withAttestation() {
|
|
33
33
|
return {
|
|
34
34
|
async issueAttestation(ctx, args) {
|
|
35
|
-
const { issueAttestationCore: issueAttestationCore2 } = await import("../issue-
|
|
35
|
+
const { issueAttestationCore: issueAttestationCore2 } = await import("../issue-NLJ3FCKL.js");
|
|
36
36
|
return issueAttestationCore2(ctx, args);
|
|
37
37
|
},
|
|
38
38
|
async getDocumentSigningPublicKey(deps) {
|
|
39
|
-
const { loadSigner, loadOrCreateSigner } = await import("../signer-
|
|
39
|
+
const { loadSigner, loadOrCreateSigner } = await import("../signer-N5TGVOTN.js");
|
|
40
40
|
const existing = await loadSigner(deps.adapter, deps.vault, deps.getDEK);
|
|
41
41
|
if (existing) return { keyId: existing.keyId, publicKeyB64: existing.publicKeyB64 };
|
|
42
42
|
if (deps.role !== "owner") {
|
|
@@ -46,19 +46,19 @@ function withAttestation() {
|
|
|
46
46
|
return { keyId: signer.keyId, publicKeyB64: signer.publicKeyB64 };
|
|
47
47
|
},
|
|
48
48
|
async revokeAttestation(ctx, docId) {
|
|
49
|
-
const { revokeDocCore: revokeDocCore2 } = await import("../revoke-
|
|
49
|
+
const { revokeDocCore: revokeDocCore2 } = await import("../revoke-XQ5STGT4.js");
|
|
50
50
|
return revokeDocCore2(ctx, docId);
|
|
51
51
|
},
|
|
52
52
|
async unrevokeAttestation(ctx, docId) {
|
|
53
|
-
const { unrevokeDocCore: unrevokeDocCore2 } = await import("../revoke-
|
|
53
|
+
const { unrevokeDocCore: unrevokeDocCore2 } = await import("../revoke-XQ5STGT4.js");
|
|
54
54
|
return unrevokeDocCore2(ctx, docId);
|
|
55
55
|
},
|
|
56
56
|
async getRevokedDocIds(ctx) {
|
|
57
|
-
const { getRevokedDocIdsCore: getRevokedDocIdsCore2 } = await import("../revoke-
|
|
57
|
+
const { getRevokedDocIdsCore: getRevokedDocIdsCore2 } = await import("../revoke-XQ5STGT4.js");
|
|
58
58
|
return getRevokedDocIdsCore2(ctx);
|
|
59
59
|
},
|
|
60
60
|
async publishRevocationList(ctx) {
|
|
61
|
-
const { publishRevocationListCore: publishRevocationListCore2 } = await import("../revoke-
|
|
61
|
+
const { publishRevocationListCore: publishRevocationListCore2 } = await import("../revoke-XQ5STGT4.js");
|
|
62
62
|
return publishRevocationListCore2(ctx);
|
|
63
63
|
}
|
|
64
64
|
};
|
|
@@ -3,37 +3,37 @@ import {
|
|
|
3
3
|
} from "./chunk-EPFF7LOX.js";
|
|
4
4
|
import {
|
|
5
5
|
SCHEMAS_COLLECTION
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-SZFNO7L4.js";
|
|
7
7
|
import {
|
|
8
8
|
SEQUENCE_COLLECTION
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-G4577GK7.js";
|
|
10
10
|
import {
|
|
11
11
|
PERIODS_COLLECTION,
|
|
12
12
|
PERIOD_ARCHIVES_COLLECTION,
|
|
13
13
|
PERIOD_FREEZES_COLLECTION,
|
|
14
14
|
PERIOD_REOPENS_COLLECTION,
|
|
15
15
|
PERIOD_TARGET_PURGES_COLLECTION
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-VXH5Z22C.js";
|
|
17
17
|
import {
|
|
18
18
|
LEDGER_COLLECTION,
|
|
19
19
|
LEDGER_DELTAS_COLLECTION
|
|
20
20
|
} from "./chunk-I7FD46FF.js";
|
|
21
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-FUE2KPKM.js";
|
|
22
22
|
import {
|
|
23
23
|
buildRecordEnvelope
|
|
24
24
|
} from "./chunk-PENPHA45.js";
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-OMXUQAZJ.js";
|
|
26
|
+
import "./chunk-PUGHLCBW.js";
|
|
27
|
+
import "./chunk-2LHPMFSR.js";
|
|
28
28
|
import "./chunk-LP7BEXCT.js";
|
|
29
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-RQQIB7CD.js";
|
|
30
30
|
import {
|
|
31
31
|
NOYDB_BACKUP_VERSION
|
|
32
32
|
} from "./chunk-IGNJOJEP.js";
|
|
33
33
|
import {
|
|
34
34
|
BackupCorruptedError,
|
|
35
35
|
BackupLedgerError
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-HKANJAOP.js";
|
|
37
37
|
import "./chunk-PZ5AY32C.js";
|
|
38
38
|
|
|
39
39
|
// src/with-pod/backup.ts
|
|
@@ -262,4 +262,4 @@ export {
|
|
|
262
262
|
loadVault,
|
|
263
263
|
verifyBackupIntegrity
|
|
264
264
|
};
|
|
265
|
-
//# sourceMappingURL=backup-
|
|
265
|
+
//# sourceMappingURL=backup-UOLAXOJ4.js.map
|
package/dist/blobs/index.js
CHANGED
|
@@ -2,6 +2,15 @@ import {
|
|
|
2
2
|
importExternalObjects,
|
|
3
3
|
memoryObjectProjection
|
|
4
4
|
} from "../chunk-4Q6HSHHL.js";
|
|
5
|
+
import {
|
|
6
|
+
BLOB_EVICTION_AUDIT_COLLECTION,
|
|
7
|
+
EXPORT_AUDIT_COLLECTION,
|
|
8
|
+
ExportBlobsAbortedError,
|
|
9
|
+
NO_BLOBS,
|
|
10
|
+
createExportBlobsHandle,
|
|
11
|
+
reportOrphanBlobChunks,
|
|
12
|
+
runCompaction
|
|
13
|
+
} from "../chunk-TA67ZQUH.js";
|
|
5
14
|
import {
|
|
6
15
|
BLOB_CHUNKS_COLLECTION,
|
|
7
16
|
BLOB_COLLECTION,
|
|
@@ -16,29 +25,21 @@ import {
|
|
|
16
25
|
detectMimeType,
|
|
17
26
|
isPreCompressed,
|
|
18
27
|
memoryBlobPinStore
|
|
19
|
-
} from "../chunk-
|
|
20
|
-
import
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
NO_BLOBS,
|
|
25
|
-
createExportBlobsHandle,
|
|
26
|
-
runCompaction
|
|
27
|
-
} from "../chunk-4OQZNXQG.js";
|
|
28
|
-
import "../chunk-JNMTN5D5.js";
|
|
29
|
-
import "../chunk-NW4TY6VC.js";
|
|
30
|
-
import "../chunk-PPCOKVFA.js";
|
|
31
|
-
import "../chunk-OHOKBMTM.js";
|
|
28
|
+
} from "../chunk-BYX3AUXH.js";
|
|
29
|
+
import "../chunk-LZHIYH32.js";
|
|
30
|
+
import "../chunk-3UIS6O6N.js";
|
|
31
|
+
import "../chunk-6ZTPSVY7.js";
|
|
32
|
+
import "../chunk-FUE2KPKM.js";
|
|
32
33
|
import "../chunk-PENPHA45.js";
|
|
33
|
-
import "../chunk-
|
|
34
|
-
import "../chunk-
|
|
35
|
-
import "../chunk-
|
|
34
|
+
import "../chunk-OMXUQAZJ.js";
|
|
35
|
+
import "../chunk-PUGHLCBW.js";
|
|
36
|
+
import "../chunk-2LHPMFSR.js";
|
|
36
37
|
import "../chunk-LP7BEXCT.js";
|
|
37
|
-
import "../chunk-
|
|
38
|
+
import "../chunk-RQQIB7CD.js";
|
|
38
39
|
import "../chunk-IGNJOJEP.js";
|
|
39
40
|
import {
|
|
40
41
|
BlobOfflineError
|
|
41
|
-
} from "../chunk-
|
|
42
|
+
} from "../chunk-HKANJAOP.js";
|
|
42
43
|
import "../chunk-PZ5AY32C.js";
|
|
43
44
|
|
|
44
45
|
// src/via/blob/active.ts
|
|
@@ -74,6 +75,7 @@ export {
|
|
|
74
75
|
isPreCompressed,
|
|
75
76
|
memoryBlobPinStore,
|
|
76
77
|
memoryObjectProjection,
|
|
78
|
+
reportOrphanBlobChunks,
|
|
77
79
|
runCompaction,
|
|
78
80
|
withBlobs
|
|
79
81
|
};
|
package/dist/blobs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/via/blob/active.ts"],"sourcesContent":["/**\n * Active blob strategy factory. Calling `blobs()` returns a\n * `BlobsStrategy` whose `openSlot` constructs a real `BlobSet` bound\n * to the caller's record. The returned strategy is passed into\n * `createNoydb({ blobsStrategy: blobs() })` to light up the\n * `collection.blob(id)` path.\n *\n * This module is only reachable through the `@noy-db/hub/blobs`\n * subpath — a consumer that never imports the subpath ships none of\n * this (ESM tree-shaking + hub's `\"sideEffects\": false`).\n */\n\nimport { BlobSet } from '../../with-shape/blobs/blob-set.js'\nimport type { BlobsStrategy } from '../../port/with/blob-strategy.js'\nimport { createBlobPinCache } from '../../with-shape/blobs/blob-pinning.js'\nimport type { BlobPinStore } from '../../with-shape/blobs/blob-pinning.js'\n\n/** Options for {@link withBlobs} (#808). */\nexport interface WithBlobsOptions {\n /**\n * Device-local backend for the offline-pin registry + external side-cache\n * (`collection.blob(id).pin()`, the `cacheBudget` LRU stamps). Default:\n * in-memory — pins then last one app session. Supply a durable,\n * DEVICE-LOCAL store (IndexedDB-backed on the web; it must never sync) to\n * keep pins across restarts. See `BlobPinStore`'s doc for the posture.\n */\n readonly pinStore?: BlobPinStore\n}\n\n/**\n * Build a default `BlobsStrategy` ready to pass into `createNoydb`.\n *\n * Named `withBlobs` (plugin-pattern canonical) rather than `blobs` to\n * avoid shadowing the very common local idiom\n * `const blobs = invoices.blob(id)` in user code.\n *\n * One `withBlobs()` instance owns one device-local pin registry + KPI\n * counter set (#808) — treat it as \"this device's\" blob service.\n *\n * @example\n * ```ts\n * import { createNoydb } from '@noy-db/hub'\n * import { withBlobs } from '@noy-db/hub/blobs'\n *\n * const db = await createNoydb({\n * store, user, secret,\n * blobsStrategy: withBlobs(),\n * })\n *\n * // Now live — delegates to BlobSet.\n * const vault = await db.openVault('acme')\n * await vault.collection('invoices').blob('inv-1').put('receipt.pdf', bytes)\n * ```\n */\nexport function withBlobs(options: WithBlobsOptions = {}): BlobsStrategy {\n const pinCache = createBlobPinCache(options.pinStore)\n return {\n openSlot(args) {\n return new BlobSet({ ...args, pinCache })\n },\n cacheStats() {\n return { ...pinCache.stats }\n },\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/via/blob/active.ts"],"sourcesContent":["/**\n * Active blob strategy factory. Calling `blobs()` returns a\n * `BlobsStrategy` whose `openSlot` constructs a real `BlobSet` bound\n * to the caller's record. The returned strategy is passed into\n * `createNoydb({ blobsStrategy: blobs() })` to light up the\n * `collection.blob(id)` path.\n *\n * This module is only reachable through the `@noy-db/hub/blobs`\n * subpath — a consumer that never imports the subpath ships none of\n * this (ESM tree-shaking + hub's `\"sideEffects\": false`).\n */\n\nimport { BlobSet } from '../../with-shape/blobs/blob-set.js'\nimport type { BlobsStrategy } from '../../port/with/blob-strategy.js'\nimport { createBlobPinCache } from '../../with-shape/blobs/blob-pinning.js'\nimport type { BlobPinStore } from '../../with-shape/blobs/blob-pinning.js'\n\n/** Options for {@link withBlobs} (#808). */\nexport interface WithBlobsOptions {\n /**\n * Device-local backend for the offline-pin registry + external side-cache\n * (`collection.blob(id).pin()`, the `cacheBudget` LRU stamps). Default:\n * in-memory — pins then last one app session. Supply a durable,\n * DEVICE-LOCAL store (IndexedDB-backed on the web; it must never sync) to\n * keep pins across restarts. See `BlobPinStore`'s doc for the posture.\n */\n readonly pinStore?: BlobPinStore\n}\n\n/**\n * Build a default `BlobsStrategy` ready to pass into `createNoydb`.\n *\n * Named `withBlobs` (plugin-pattern canonical) rather than `blobs` to\n * avoid shadowing the very common local idiom\n * `const blobs = invoices.blob(id)` in user code.\n *\n * One `withBlobs()` instance owns one device-local pin registry + KPI\n * counter set (#808) — treat it as \"this device's\" blob service.\n *\n * @example\n * ```ts\n * import { createNoydb } from '@noy-db/hub'\n * import { withBlobs } from '@noy-db/hub/blobs'\n *\n * const db = await createNoydb({\n * store, user, secret,\n * blobsStrategy: withBlobs(),\n * })\n *\n * // Now live — delegates to BlobSet.\n * const vault = await db.openVault('acme')\n * await vault.collection('invoices').blob('inv-1').put('receipt.pdf', bytes)\n * ```\n */\nexport function withBlobs(options: WithBlobsOptions = {}): BlobsStrategy {\n const pinCache = createBlobPinCache(options.pinStore)\n return {\n openSlot(args) {\n return new BlobSet({ ...args, pinCache })\n },\n cacheStats() {\n return { ...pinCache.stats }\n },\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDO,SAAS,UAAU,UAA4B,CAAC,GAAkB;AACvE,QAAM,WAAW,mBAAmB,QAAQ,QAAQ;AACpD,SAAO;AAAA,IACL,SAAS,MAAM;AACb,aAAO,IAAI,QAAQ,EAAE,GAAG,MAAM,SAAS,CAAC;AAAA,IAC1C;AAAA,IACA,aAAa;AACX,aAAO,EAAE,GAAG,SAAS,MAAM;AAAA,IAC7B;AAAA,EACF;AACF;","names":[]}
|
package/dist/broker/index.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import {
|
|
2
2
|
NO_BROKER
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-LYQUFIHL.js";
|
|
4
4
|
import {
|
|
5
5
|
issueChallenge,
|
|
6
6
|
verifyBrokerProof
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-FUE2KPKM.js";
|
|
8
8
|
import "../chunk-PENPHA45.js";
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
9
|
+
import "../chunk-OMXUQAZJ.js";
|
|
10
|
+
import "../chunk-PUGHLCBW.js";
|
|
11
|
+
import "../chunk-2LHPMFSR.js";
|
|
12
12
|
import "../chunk-LP7BEXCT.js";
|
|
13
|
-
import "../chunk-
|
|
13
|
+
import "../chunk-RQQIB7CD.js";
|
|
14
14
|
import "../chunk-IGNJOJEP.js";
|
|
15
15
|
import {
|
|
16
16
|
BrokerEnrolmentError,
|
|
17
17
|
BrokerNotEnabledError,
|
|
18
18
|
BrokerProofError
|
|
19
|
-
} from "../chunk-
|
|
19
|
+
} from "../chunk-HKANJAOP.js";
|
|
20
20
|
import "../chunk-PZ5AY32C.js";
|
|
21
21
|
|
|
22
22
|
// src/with-party/broker/active.ts
|
|
@@ -30,7 +30,7 @@ function withBroker(config) {
|
|
|
30
30
|
const cache = /* @__PURE__ */ new Map();
|
|
31
31
|
return {
|
|
32
32
|
async enroll(ctx) {
|
|
33
|
-
const { enrollSeed } = await import("../seed-
|
|
33
|
+
const { enrollSeed } = await import("../seed-WJWCFPZL.js");
|
|
34
34
|
return enrollSeed({ ...ctx, config });
|
|
35
35
|
},
|
|
36
36
|
async rotate(ctx) {
|
|
@@ -39,7 +39,7 @@ function withBroker(config) {
|
|
|
39
39
|
const inFlight = scoped.map(([, e]) => e.inFlight).filter((p) => p !== void 0);
|
|
40
40
|
await Promise.allSettled(inFlight);
|
|
41
41
|
for (const [key] of scoped) cache.delete(key);
|
|
42
|
-
const { rotateSeed } = await import("../seed-
|
|
42
|
+
const { rotateSeed } = await import("../seed-WJWCFPZL.js");
|
|
43
43
|
return rotateSeed({ ...ctx, config });
|
|
44
44
|
},
|
|
45
45
|
credentialSource(ctx, profile) {
|
|
@@ -56,7 +56,7 @@ function withBroker(config) {
|
|
|
56
56
|
const skewMs = config.skewMs ?? DEFAULT_SKEW_MS;
|
|
57
57
|
const capturedEntry = entry;
|
|
58
58
|
const inFlight = (async () => {
|
|
59
|
-
const { mintStoreCredentials } = await import("../seed-
|
|
59
|
+
const { mintStoreCredentials } = await import("../seed-WJWCFPZL.js");
|
|
60
60
|
const creds = await mintStoreCredentials({ ...ctx, config }, profile);
|
|
61
61
|
capturedEntry.cached = { creds, validUntil: cacheFloor(creds, skewMs) };
|
|
62
62
|
return creds;
|
package/dist/cargo/index.js
CHANGED
|
@@ -6,66 +6,66 @@ import {
|
|
|
6
6
|
diffVault,
|
|
7
7
|
unsealDeks,
|
|
8
8
|
withCargo
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-UWRVDBDC.js";
|
|
10
10
|
import {
|
|
11
11
|
extractPartition,
|
|
12
12
|
walkClosure
|
|
13
|
-
} from "../chunk-
|
|
13
|
+
} from "../chunk-SIACMXFK.js";
|
|
14
14
|
import {
|
|
15
15
|
createDeedOwner,
|
|
16
16
|
isDeedVault,
|
|
17
17
|
liberateVault,
|
|
18
18
|
loadDeedMarker
|
|
19
|
-
} from "../chunk-
|
|
20
|
-
import "../chunk-
|
|
21
|
-
import "../chunk-
|
|
19
|
+
} from "../chunk-ISRAQIYY.js";
|
|
20
|
+
import "../chunk-I3D67XD7.js";
|
|
21
|
+
import "../chunk-7LWBD3NO.js";
|
|
22
22
|
import {
|
|
23
23
|
NO_CARGO,
|
|
24
24
|
isQuorum,
|
|
25
25
|
runDrainBarrier
|
|
26
|
-
} from "../chunk-
|
|
26
|
+
} from "../chunk-WBFJZCDJ.js";
|
|
27
27
|
import "../chunk-OTHHO3KI.js";
|
|
28
|
-
import "../chunk-
|
|
28
|
+
import "../chunk-SZFNO7L4.js";
|
|
29
29
|
import {
|
|
30
30
|
CustodyApi
|
|
31
|
-
} from "../chunk-
|
|
32
|
-
import "../chunk-
|
|
33
|
-
import "../chunk-
|
|
31
|
+
} from "../chunk-WG66ZPEV.js";
|
|
32
|
+
import "../chunk-XXONVJWA.js";
|
|
33
|
+
import "../chunk-5FRZ7YYU.js";
|
|
34
34
|
import {
|
|
35
35
|
fuseRetrieval
|
|
36
36
|
} from "../chunk-AURFOK3D.js";
|
|
37
|
-
import "../chunk-
|
|
37
|
+
import "../chunk-BYX3AUXH.js";
|
|
38
38
|
import {
|
|
39
39
|
groupAndReduce,
|
|
40
40
|
reduceRecords
|
|
41
|
-
} from "../chunk-
|
|
41
|
+
} from "../chunk-DXJXVWWE.js";
|
|
42
42
|
import "../chunk-XZHEOSQ2.js";
|
|
43
|
-
import "../chunk-
|
|
43
|
+
import "../chunk-ATL3ZVXT.js";
|
|
44
44
|
import {
|
|
45
45
|
readPath
|
|
46
|
-
} from "../chunk-
|
|
47
|
-
import "../chunk-
|
|
48
|
-
import "../chunk-
|
|
49
|
-
import "../chunk-
|
|
50
|
-
import "../chunk-
|
|
51
|
-
import "../chunk-
|
|
46
|
+
} from "../chunk-NSITFOCJ.js";
|
|
47
|
+
import "../chunk-U5ZDYJLQ.js";
|
|
48
|
+
import "../chunk-LZHIYH32.js";
|
|
49
|
+
import "../chunk-AK6EWGDO.js";
|
|
50
|
+
import "../chunk-GJ5TMHKC.js";
|
|
51
|
+
import "../chunk-3UIS6O6N.js";
|
|
52
52
|
import {
|
|
53
53
|
generateULID
|
|
54
54
|
} from "../chunk-4AOERLTV.js";
|
|
55
55
|
import "../chunk-SVLR4POP.js";
|
|
56
|
-
import "../chunk-
|
|
56
|
+
import "../chunk-OGB2UTBC.js";
|
|
57
57
|
import "../chunk-I7FD46FF.js";
|
|
58
|
-
import "../chunk-
|
|
59
|
-
import "../chunk-
|
|
60
|
-
import "../chunk-
|
|
58
|
+
import "../chunk-YLIGPHN4.js";
|
|
59
|
+
import "../chunk-6ZTPSVY7.js";
|
|
60
|
+
import "../chunk-FUE2KPKM.js";
|
|
61
61
|
import "../chunk-PENPHA45.js";
|
|
62
|
-
import "../chunk-
|
|
63
|
-
import "../chunk-
|
|
64
|
-
import "../chunk-
|
|
62
|
+
import "../chunk-OMXUQAZJ.js";
|
|
63
|
+
import "../chunk-PUGHLCBW.js";
|
|
64
|
+
import "../chunk-2LHPMFSR.js";
|
|
65
65
|
import "../chunk-LP7BEXCT.js";
|
|
66
66
|
import {
|
|
67
67
|
sha256Hex
|
|
68
|
-
} from "../chunk-
|
|
68
|
+
} from "../chunk-RQQIB7CD.js";
|
|
69
69
|
import "../chunk-IGNJOJEP.js";
|
|
70
70
|
import {
|
|
71
71
|
AdoptionStateError,
|
|
@@ -81,7 +81,7 @@ import {
|
|
|
81
81
|
UnknownShardError,
|
|
82
82
|
ValidationError,
|
|
83
83
|
VaultTemplateNotFoundError
|
|
84
|
-
} from "../chunk-
|
|
84
|
+
} from "../chunk-HKANJAOP.js";
|
|
85
85
|
import "../chunk-PZ5AY32C.js";
|
|
86
86
|
export {
|
|
87
87
|
AdoptionStateError,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
linkI18nVia
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-U5ZDYJLQ.js";
|
|
4
4
|
|
|
5
5
|
// src/via/i18n/dictionary.ts
|
|
6
6
|
function dictKey(name, keysOrMap, opts) {
|
|
@@ -71,4 +71,4 @@ export {
|
|
|
71
71
|
dictKey,
|
|
72
72
|
staticDict
|
|
73
73
|
};
|
|
74
|
-
//# sourceMappingURL=chunk-
|
|
74
|
+
//# sourceMappingURL=chunk-22VRCUV2.js.map
|