@noy-db/hub 0.3.0 → 0.4.0-pre.1
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-IQFZJSQO.js +20 -0
- package/dist/as/index.js +11 -11
- package/dist/attestation/index.js +18 -18
- package/dist/{backup-BJ57IKAO.js → backup-LU2DTZTI.js} +11 -11
- package/dist/blobs/index.js +12 -12
- package/dist/broker/index.js +12 -12
- package/dist/bundle/index.js +26 -74
- package/dist/bundle/index.js.map +1 -1
- package/dist/by/index.js +2 -2
- package/dist/cargo/index.js +41 -22
- package/dist/chunk-2IALOXZS.js +24 -0
- package/dist/chunk-2IALOXZS.js.map +1 -0
- package/dist/{chunk-EVVGJDRQ.js → chunk-2MUZ3LY6.js} +3 -3
- package/dist/{chunk-NWSGI5C7.js → chunk-2P7EGNKF.js} +3 -3
- package/dist/{chunk-ZAJAVEXY.js → chunk-2PCAVW2I.js} +2 -2
- package/dist/{chunk-HTJQYHZP.js → chunk-3ELCWU56.js} +2 -2
- package/dist/{chunk-X7QBD67R.js → chunk-3PF6CRDT.js} +136 -114
- package/dist/chunk-3PF6CRDT.js.map +1 -0
- package/dist/{chunk-J2ZX2XUV.js → chunk-3SV2EPMN.js} +5 -5
- package/dist/{chunk-FUG4SFN3.js → chunk-3U3FBR7O.js} +2 -2
- package/dist/{chunk-VFUPHI2Z.js → chunk-4BRCIYFG.js} +6 -6
- package/dist/{chunk-SNZ6URZZ.js → chunk-5OI6BR4H.js} +7 -7
- package/dist/{chunk-B3HJYUOF.js → chunk-5WZXVULX.js} +2 -2
- package/dist/{chunk-LASZKVMO.js → chunk-6B4DYGWO.js} +3 -3
- package/dist/{chunk-ZJ2AK4V7.js → chunk-6HPG2YNX.js} +2 -2
- package/dist/{chunk-5M5DVGV7.js → chunk-6HY2X62D.js} +2 -2
- package/dist/{chunk-QRB7NAOJ.js → chunk-6NQMXTYC.js} +2 -2
- package/dist/{chunk-RIX4V2TB.js → chunk-6XE5TMPR.js} +3 -3
- package/dist/{chunk-BDVFPG6Y.js → chunk-7CI6CP7Z.js} +5 -5
- package/dist/{chunk-VLFCJYTL.js → chunk-7O3AYBC7.js} +63 -10
- package/dist/chunk-7O3AYBC7.js.map +1 -0
- package/dist/{chunk-454JXE57.js → chunk-A5BDDEXK.js} +10 -170
- package/dist/chunk-A5BDDEXK.js.map +1 -0
- package/dist/{chunk-FHS2HQSH.js → chunk-A7JJLVGH.js} +11 -8
- package/dist/chunk-A7JJLVGH.js.map +1 -0
- package/dist/{chunk-FM3G3NOY.js → chunk-BGK233EA.js} +83 -6
- package/dist/chunk-BGK233EA.js.map +1 -0
- package/dist/{chunk-OSDB5WW3.js → chunk-BMQWTQZ4.js} +11 -11
- package/dist/{chunk-W22IKJE2.js → chunk-BOKIKJJB.js} +2 -2
- package/dist/{chunk-CRI4OUV4.js → chunk-CBSY2N76.js} +2 -2
- package/dist/{chunk-2NVOWNI3.js → chunk-CCOP5XDW.js} +4 -4
- package/dist/{chunk-CDUQTA3Z.js → chunk-DDATL6PU.js} +7 -7
- package/dist/{chunk-RCVJZMFE.js → chunk-DDHM2TLX.js} +4 -4
- package/dist/{chunk-PN2XMATY.js → chunk-DRWBEDYO.js} +2 -2
- package/dist/{chunk-XDYREZWE.js → chunk-DVUZMT2W.js} +12 -8
- package/dist/{chunk-XDYREZWE.js.map → chunk-DVUZMT2W.js.map} +1 -1
- package/dist/{chunk-T2FFWNPK.js → chunk-EGCRBCNA.js} +3 -3
- package/dist/{chunk-VZRODIM3.js → chunk-F6T6L2UK.js} +4 -4
- package/dist/chunk-FH52K7EG.js +50 -0
- package/dist/chunk-FH52K7EG.js.map +1 -0
- package/dist/{chunk-EXK7QRWF.js → chunk-G6EQYAL6.js} +5 -5
- package/dist/{chunk-F64IRYG3.js → chunk-GQNGCEP5.js} +2 -2
- package/dist/{chunk-6JTIAGHD.js → chunk-GULTLPFB.js} +3 -3
- package/dist/chunk-GULTLPFB.js.map +1 -0
- package/dist/{chunk-ZUODRVHY.js → chunk-GVZQ4NAM.js} +2 -2
- package/dist/{chunk-3B5VVCNY.js → chunk-GWKAVKHI.js} +2 -2
- package/dist/{chunk-SLFHQTTW.js → chunk-GYYCX5K6.js} +5 -5
- package/dist/{chunk-CIE2BASH.js → chunk-HOONYZY2.js} +2 -2
- package/dist/{chunk-EYZ6IQ6X.js → chunk-HPUWOVR7.js} +5 -5
- package/dist/{chunk-IL6POWCW.js → chunk-IM3QVF53.js} +6 -6
- package/dist/{chunk-NJ4EOKMB.js → chunk-IRQY7IR5.js} +4 -4
- package/dist/{chunk-3QCRBHCY.js → chunk-ISMV2QVG.js} +2 -2
- package/dist/{chunk-HB3RFQSC.js → chunk-IY23KFNZ.js} +3 -3
- package/dist/chunk-J6Q7UVQE.js +248 -0
- package/dist/chunk-J6Q7UVQE.js.map +1 -0
- package/dist/{chunk-6CRIV7DE.js → chunk-JBBSYJHP.js} +2 -2
- package/dist/{chunk-MEFJPTZ4.js → chunk-JRBNCUNT.js} +3 -3
- package/dist/{chunk-4VNQOLML.js → chunk-JVBO4SZL.js} +2 -2
- package/dist/{chunk-I6GALP6E.js → chunk-JZWWLLVY.js} +6 -6
- package/dist/{chunk-RYCTDFUX.js → chunk-KUIB4B5Q.js} +2 -2
- package/dist/{chunk-HDQIIUPH.js → chunk-KUPKLSX5.js} +3 -3
- package/dist/{chunk-5O3XF4DV.js → chunk-KWVJAOIN.js} +4 -4
- package/dist/{chunk-3LQ2YKO4.js → chunk-LB6OH6K2.js} +2 -2
- package/dist/{chunk-AUSTCW2X.js → chunk-LOF2W3JU.js} +8 -8
- package/dist/{chunk-JNAI2HN2.js → chunk-LSASLXGC.js} +1 -1
- package/dist/chunk-LSASLXGC.js.map +1 -0
- package/dist/{chunk-K5IMOGHB.js → chunk-M75ZZHSR.js} +2 -2
- package/dist/{chunk-GTGPO5KW.js → chunk-MQ6WOPSY.js} +5 -5
- package/dist/{chunk-4CTHCN4J.js → chunk-MTQPRQHB.js} +4 -4
- package/dist/{chunk-UNFPPVNI.js → chunk-N55W7KUL.js} +2 -2
- package/dist/{chunk-JKJOGPZN.js → chunk-N6WF5PKC.js} +2 -2
- package/dist/{chunk-6T2SCQRU.js → chunk-O7WJ47EF.js} +4 -4
- package/dist/{chunk-JIF24JPM.js → chunk-OF75ACKS.js} +9 -9
- package/dist/{chunk-GKEWXIV5.js → chunk-ONTBCHCP.js} +2 -2
- package/dist/{chunk-4JBYV75E.js → chunk-PK6QCH2C.js} +5 -5
- package/dist/{chunk-6QTNZJBS.js → chunk-PT37L5DV.js} +3 -3
- package/dist/{chunk-EVX47VBM.js → chunk-QDPZWTN2.js} +2 -2
- package/dist/chunk-RA5VTXXG.js +173 -0
- package/dist/chunk-RA5VTXXG.js.map +1 -0
- package/dist/{chunk-QLWMEXCT.js → chunk-RDXW3OBQ.js} +2 -2
- package/dist/{chunk-Q5VNKNE5.js → chunk-RM2XV574.js} +3 -3
- package/dist/{chunk-ERJ7FU55.js → chunk-RND5ZPNP.js} +3 -3
- package/dist/{chunk-JZUV47FZ.js → chunk-RTEK4C4I.js} +2 -2
- package/dist/{chunk-KSKBRKGJ.js → chunk-S3BFKGET.js} +84 -6
- package/dist/chunk-S3BFKGET.js.map +1 -0
- package/dist/{chunk-5YOLBEQ6.js → chunk-S6Q37VGE.js} +2 -2
- package/dist/{chunk-HDMEGAQE.js → chunk-SMGEYW6G.js} +127 -8
- package/dist/chunk-SMGEYW6G.js.map +1 -0
- package/dist/{chunk-E5ZQT5KX.js → chunk-SMIRGMS7.js} +2 -2
- package/dist/chunk-T36RFODW.js +180 -0
- package/dist/chunk-T36RFODW.js.map +1 -0
- package/dist/{chunk-EQO2UVP4.js → chunk-T6GU5PPZ.js} +6 -6
- package/dist/{chunk-LXEXBTKL.js → chunk-TAGR72IR.js} +4 -4
- package/dist/{chunk-YFXZEAYK.js → chunk-TOPYT5U5.js} +6 -6
- package/dist/{chunk-MV43JSJF.js → chunk-UBNCR3YK.js} +4 -4
- package/dist/{chunk-ZICD77GM.js → chunk-UC2ETWF3.js} +2 -2
- package/dist/{chunk-XWZVFISC.js → chunk-UFEVO57O.js} +6 -6
- package/dist/{chunk-NR5LT5RY.js → chunk-UNCOC7QH.js} +7 -7
- package/dist/{chunk-R4ROFEYC.js → chunk-VAIS3SOM.js} +2 -2
- package/dist/{chunk-VN3DBQAU.js → chunk-VCBHAE4R.js} +2 -2
- package/dist/{chunk-M4CV6BRT.js → chunk-VEALDPHW.js} +2 -2
- package/dist/{chunk-BIOUI4HL.js → chunk-W2OG6JOL.js} +1 -1
- package/dist/{chunk-BIOUI4HL.js.map → chunk-W2OG6JOL.js.map} +1 -1
- package/dist/{chunk-7DSTRQIJ.js → chunk-WEYZTLXN.js} +2 -2
- package/dist/{chunk-CAF6WOK7.js → chunk-WNGGJWF7.js} +2 -2
- package/dist/{chunk-IU6SNYX6.js → chunk-YJV2UZ7H.js} +5 -5
- package/dist/{chunk-RZ5SVOYR.js → chunk-YTGDPCPW.js} +2 -2
- package/dist/{chunk-DLG74CNB.js → chunk-ZEQWCBCM.js} +7 -19
- package/dist/chunk-ZEQWCBCM.js.map +1 -0
- package/dist/classified/index.js +5 -5
- package/dist/{classified-marker-CZKA6ITE.js → classified-marker-WQVIJAW2.js} +3 -3
- package/dist/collection-facade-MJXSC3Q6.js +44 -0
- package/dist/{computed-ZIQTYTDI.js → computed-DSMPXG2Y.js} +3 -3
- package/dist/consent/index.js +9 -9
- package/dist/{public-envelope-B4KNWVUA.js → cover-B5SJDHR3.js} +25 -5
- package/dist/{dead-filter-ESOBZZP5.js → dead-filter-2A7IAJ3D.js} +2 -2
- package/dist/delegation-A5A75KQO.js +25 -0
- package/dist/derivations/index.js +12 -12
- package/dist/derive-HJSMH7RA.js +21 -0
- package/dist/{enclave-AP3I5W7O.js → enclave-7MW6ZGXW.js} +11 -9
- package/dist/executor-AXE4XMLT.js +26 -0
- package/dist/executor-KGNLJD6M.js +9 -0
- package/dist/executor-XGIS6CR7.js +9 -0
- package/dist/export-accessible-VVBJM3MM.js +23 -0
- package/dist/extract-partition-LGGBTQET.js +38 -0
- package/dist/{fanout-sidecar-A765THMX.js → fanout-sidecar-WDYQ77VB.js} +9 -9
- package/dist/find-YS6XWB46.js +11 -0
- package/dist/forget/index.js +9 -9
- package/dist/guards/index.js +6 -6
- package/dist/history/index.js +12 -12
- package/dist/i18n/index.js +14 -14
- package/dist/index.d.ts +6 -3
- package/dist/index.js +140 -117
- package/dist/index.js.map +1 -1
- package/dist/indexing/index.js +2 -2
- package/dist/issue-LSR5PS6H.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 +10 -5
- package/dist/kernel/noydb.d.ts +21 -11
- package/dist/kernel/types.d.ts +53 -6
- package/dist/kernel/vault.d.ts +10 -6
- package/dist/{ledger-GFBKVPV4.js → ledger-33BC4TR7.js} +11 -11
- package/dist/liberate-GBSAYLPJ.js +24 -0
- package/dist/{link-set-Z7Q2ASFX.js → link-set-QK22TDEX.js} +11 -11
- package/dist/materialized-views/index.js +19 -18
- package/dist/noydb-MTUBMWFE.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 +13 -11
- package/dist/{policy-Z3RUAIY2.js → policy-NAHB2TUT.js} +5 -5
- package/dist/portability/index.js +8 -8
- package/dist/{post-register-JTH76BLY.js → post-register-JVTMJ6OW.js} +6 -6
- package/dist/query/index.js +10 -8
- package/dist/register-X462DNDM.js +23 -0
- package/dist/registry-3XMCT7MQ.js +18 -0
- package/dist/registry-KHD2I3M2.js +19 -0
- package/dist/registry-NPOWJHC4.js +9 -0
- package/dist/request-withdrawal-U7K3JTMY.js +31 -0
- package/dist/{reveal-DIBHLUZX.js → reveal-LGBOM2BO.js} +6 -6
- package/dist/revoke-OCWDSWRQ.js +24 -0
- package/dist/satellites/index.js +1 -1
- package/dist/sealed-record/index.js +12 -12
- package/dist/{seed-Q6M2IZFL.js → seed-PWK45HDF.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-3YFBLZRN.js +25 -0
- package/dist/snapshots/index.js +10 -10
- package/dist/{stale-OSQ7J3AA.js → stale-FJED42DM.js} +10 -10
- package/dist/storage-W3GURVFU.js +23 -0
- package/dist/{store-coordination-provider-64OEZFGS.js → store-coordination-provider-APODTV4W.js} +3 -3
- package/dist/sync/index.js +10 -9
- package/dist/sync/index.js.map +1 -1
- package/dist/team/index.js +16 -15
- 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-ZASTRNPR.js → verify-26Y5GNMK.js} +5 -5
- package/dist/via/i18n/policy.d.ts +1 -1
- package/dist/{walk-SVNDIZ62.js → walk-XS3PKM6I.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/window.d.ts +16 -0
- package/dist/with-cargo/index.d.ts +6 -0
- package/dist/with-formula/materialized-views/dependency-analyzer.d.ts +15 -0
- package/dist/with-formula/materialized-views/index.d.ts +1 -1
- package/dist/with-formula/materialized-views/registry.d.ts +29 -0
- package/dist/with-formula/materialized-views/types.d.ts +81 -0
- package/dist/with-formula/materialized-views/with-materialized-view.d.ts +9 -5
- package/dist/with-party/directory/cover/custom.d.ts +34 -0
- package/dist/with-party/directory/cover/index.d.ts +19 -0
- package/dist/with-party/directory/cover/schema.d.ts +39 -0
- package/dist/with-party/directory/cover/storage.d.ts +71 -0
- package/dist/with-party/directory/cover/types.d.ts +149 -0
- package/dist/with-party/team/noydb-facade.d.ts +1 -1
- 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 +9 -7
- package/dist/with-pod/format.d.ts +8 -4
- package/dist/with-pod/index.d.ts +2 -1
- package/dist/withdraw-accessible-Y3B2535F.js +28 -0
- package/package.json +7 -3
- package/dist/api-ZGS6LCOF.js +0 -20
- package/dist/chunk-454JXE57.js.map +0 -1
- package/dist/chunk-4NXKCLLQ.js +0 -97
- package/dist/chunk-4NXKCLLQ.js.map +0 -1
- package/dist/chunk-6JTIAGHD.js.map +0 -1
- package/dist/chunk-DLG74CNB.js.map +0 -1
- package/dist/chunk-FHS2HQSH.js.map +0 -1
- package/dist/chunk-FM3G3NOY.js.map +0 -1
- package/dist/chunk-HDMEGAQE.js.map +0 -1
- package/dist/chunk-JNAI2HN2.js.map +0 -1
- package/dist/chunk-KSKBRKGJ.js.map +0 -1
- package/dist/chunk-VLFCJYTL.js.map +0 -1
- package/dist/chunk-WXSYDNBT.js +0 -39
- package/dist/chunk-WXSYDNBT.js.map +0 -1
- package/dist/chunk-X3YYQWOQ.js +0 -155
- package/dist/chunk-X3YYQWOQ.js.map +0 -1
- package/dist/chunk-X7QBD67R.js.map +0 -1
- package/dist/collection-facade-TLWIPI76.js +0 -44
- package/dist/delegation-W7ZV2322.js +0 -25
- package/dist/derive-H2BJTLUI.js +0 -21
- package/dist/executor-KGWTNEQD.js +0 -9
- package/dist/executor-OVEXR6RT.js +0 -9
- package/dist/executor-UNEH5ZYH.js +0 -25
- package/dist/export-accessible-PCMXSUZS.js +0 -23
- package/dist/extract-partition-SWHFSYJO.js +0 -38
- package/dist/find-N6345CNT.js +0 -11
- package/dist/issue-5OKB6I2R.js +0 -19
- package/dist/liberate-3VDOT4KO.js +0 -24
- package/dist/noydb-ZCJOYBDI.js +0 -68
- package/dist/register-VAHONCID.js +0 -23
- package/dist/registry-7MLVD3VO.js +0 -19
- package/dist/registry-EPKPD5SM.js +0 -18
- package/dist/registry-P5T7PS2U.js +0 -9
- package/dist/request-withdrawal-TI3A5WPS.js +0 -31
- package/dist/revoke-FDRD6GRW.js +0 -24
- package/dist/signer-MUWEIUI6.js +0 -25
- package/dist/storage-MVFCGEQE.js +0 -23
- package/dist/with-party/directory/public-envelope/index.d.ts +0 -12
- package/dist/with-party/directory/public-envelope/schema.d.ts +0 -24
- package/dist/with-party/directory/public-envelope/storage.d.ts +0 -59
- package/dist/with-party/directory/public-envelope/types.d.ts +0 -80
- package/dist/withdraw-accessible-WZIEVWSR.js +0 -28
- /package/dist/{api-ZGS6LCOF.js.map → api-IQFZJSQO.js.map} +0 -0
- /package/dist/{backup-BJ57IKAO.js.map → backup-LU2DTZTI.js.map} +0 -0
- /package/dist/{chunk-EVVGJDRQ.js.map → chunk-2MUZ3LY6.js.map} +0 -0
- /package/dist/{chunk-NWSGI5C7.js.map → chunk-2P7EGNKF.js.map} +0 -0
- /package/dist/{chunk-ZAJAVEXY.js.map → chunk-2PCAVW2I.js.map} +0 -0
- /package/dist/{chunk-HTJQYHZP.js.map → chunk-3ELCWU56.js.map} +0 -0
- /package/dist/{chunk-J2ZX2XUV.js.map → chunk-3SV2EPMN.js.map} +0 -0
- /package/dist/{chunk-FUG4SFN3.js.map → chunk-3U3FBR7O.js.map} +0 -0
- /package/dist/{chunk-VFUPHI2Z.js.map → chunk-4BRCIYFG.js.map} +0 -0
- /package/dist/{chunk-SNZ6URZZ.js.map → chunk-5OI6BR4H.js.map} +0 -0
- /package/dist/{chunk-B3HJYUOF.js.map → chunk-5WZXVULX.js.map} +0 -0
- /package/dist/{chunk-LASZKVMO.js.map → chunk-6B4DYGWO.js.map} +0 -0
- /package/dist/{chunk-ZJ2AK4V7.js.map → chunk-6HPG2YNX.js.map} +0 -0
- /package/dist/{chunk-5M5DVGV7.js.map → chunk-6HY2X62D.js.map} +0 -0
- /package/dist/{chunk-QRB7NAOJ.js.map → chunk-6NQMXTYC.js.map} +0 -0
- /package/dist/{chunk-RIX4V2TB.js.map → chunk-6XE5TMPR.js.map} +0 -0
- /package/dist/{chunk-BDVFPG6Y.js.map → chunk-7CI6CP7Z.js.map} +0 -0
- /package/dist/{chunk-OSDB5WW3.js.map → chunk-BMQWTQZ4.js.map} +0 -0
- /package/dist/{chunk-W22IKJE2.js.map → chunk-BOKIKJJB.js.map} +0 -0
- /package/dist/{chunk-CRI4OUV4.js.map → chunk-CBSY2N76.js.map} +0 -0
- /package/dist/{chunk-2NVOWNI3.js.map → chunk-CCOP5XDW.js.map} +0 -0
- /package/dist/{chunk-CDUQTA3Z.js.map → chunk-DDATL6PU.js.map} +0 -0
- /package/dist/{chunk-RCVJZMFE.js.map → chunk-DDHM2TLX.js.map} +0 -0
- /package/dist/{chunk-PN2XMATY.js.map → chunk-DRWBEDYO.js.map} +0 -0
- /package/dist/{chunk-T2FFWNPK.js.map → chunk-EGCRBCNA.js.map} +0 -0
- /package/dist/{chunk-VZRODIM3.js.map → chunk-F6T6L2UK.js.map} +0 -0
- /package/dist/{chunk-EXK7QRWF.js.map → chunk-G6EQYAL6.js.map} +0 -0
- /package/dist/{chunk-F64IRYG3.js.map → chunk-GQNGCEP5.js.map} +0 -0
- /package/dist/{chunk-ZUODRVHY.js.map → chunk-GVZQ4NAM.js.map} +0 -0
- /package/dist/{chunk-3B5VVCNY.js.map → chunk-GWKAVKHI.js.map} +0 -0
- /package/dist/{chunk-SLFHQTTW.js.map → chunk-GYYCX5K6.js.map} +0 -0
- /package/dist/{chunk-CIE2BASH.js.map → chunk-HOONYZY2.js.map} +0 -0
- /package/dist/{chunk-EYZ6IQ6X.js.map → chunk-HPUWOVR7.js.map} +0 -0
- /package/dist/{chunk-IL6POWCW.js.map → chunk-IM3QVF53.js.map} +0 -0
- /package/dist/{chunk-NJ4EOKMB.js.map → chunk-IRQY7IR5.js.map} +0 -0
- /package/dist/{chunk-3QCRBHCY.js.map → chunk-ISMV2QVG.js.map} +0 -0
- /package/dist/{chunk-HB3RFQSC.js.map → chunk-IY23KFNZ.js.map} +0 -0
- /package/dist/{chunk-6CRIV7DE.js.map → chunk-JBBSYJHP.js.map} +0 -0
- /package/dist/{chunk-MEFJPTZ4.js.map → chunk-JRBNCUNT.js.map} +0 -0
- /package/dist/{chunk-4VNQOLML.js.map → chunk-JVBO4SZL.js.map} +0 -0
- /package/dist/{chunk-I6GALP6E.js.map → chunk-JZWWLLVY.js.map} +0 -0
- /package/dist/{chunk-RYCTDFUX.js.map → chunk-KUIB4B5Q.js.map} +0 -0
- /package/dist/{chunk-HDQIIUPH.js.map → chunk-KUPKLSX5.js.map} +0 -0
- /package/dist/{chunk-5O3XF4DV.js.map → chunk-KWVJAOIN.js.map} +0 -0
- /package/dist/{chunk-3LQ2YKO4.js.map → chunk-LB6OH6K2.js.map} +0 -0
- /package/dist/{chunk-AUSTCW2X.js.map → chunk-LOF2W3JU.js.map} +0 -0
- /package/dist/{chunk-K5IMOGHB.js.map → chunk-M75ZZHSR.js.map} +0 -0
- /package/dist/{chunk-GTGPO5KW.js.map → chunk-MQ6WOPSY.js.map} +0 -0
- /package/dist/{chunk-4CTHCN4J.js.map → chunk-MTQPRQHB.js.map} +0 -0
- /package/dist/{chunk-UNFPPVNI.js.map → chunk-N55W7KUL.js.map} +0 -0
- /package/dist/{chunk-JKJOGPZN.js.map → chunk-N6WF5PKC.js.map} +0 -0
- /package/dist/{chunk-6T2SCQRU.js.map → chunk-O7WJ47EF.js.map} +0 -0
- /package/dist/{chunk-JIF24JPM.js.map → chunk-OF75ACKS.js.map} +0 -0
- /package/dist/{chunk-GKEWXIV5.js.map → chunk-ONTBCHCP.js.map} +0 -0
- /package/dist/{chunk-4JBYV75E.js.map → chunk-PK6QCH2C.js.map} +0 -0
- /package/dist/{chunk-6QTNZJBS.js.map → chunk-PT37L5DV.js.map} +0 -0
- /package/dist/{chunk-EVX47VBM.js.map → chunk-QDPZWTN2.js.map} +0 -0
- /package/dist/{chunk-QLWMEXCT.js.map → chunk-RDXW3OBQ.js.map} +0 -0
- /package/dist/{chunk-Q5VNKNE5.js.map → chunk-RM2XV574.js.map} +0 -0
- /package/dist/{chunk-ERJ7FU55.js.map → chunk-RND5ZPNP.js.map} +0 -0
- /package/dist/{chunk-JZUV47FZ.js.map → chunk-RTEK4C4I.js.map} +0 -0
- /package/dist/{chunk-5YOLBEQ6.js.map → chunk-S6Q37VGE.js.map} +0 -0
- /package/dist/{chunk-E5ZQT5KX.js.map → chunk-SMIRGMS7.js.map} +0 -0
- /package/dist/{chunk-EQO2UVP4.js.map → chunk-T6GU5PPZ.js.map} +0 -0
- /package/dist/{chunk-LXEXBTKL.js.map → chunk-TAGR72IR.js.map} +0 -0
- /package/dist/{chunk-YFXZEAYK.js.map → chunk-TOPYT5U5.js.map} +0 -0
- /package/dist/{chunk-MV43JSJF.js.map → chunk-UBNCR3YK.js.map} +0 -0
- /package/dist/{chunk-ZICD77GM.js.map → chunk-UC2ETWF3.js.map} +0 -0
- /package/dist/{chunk-XWZVFISC.js.map → chunk-UFEVO57O.js.map} +0 -0
- /package/dist/{chunk-NR5LT5RY.js.map → chunk-UNCOC7QH.js.map} +0 -0
- /package/dist/{chunk-R4ROFEYC.js.map → chunk-VAIS3SOM.js.map} +0 -0
- /package/dist/{chunk-VN3DBQAU.js.map → chunk-VCBHAE4R.js.map} +0 -0
- /package/dist/{chunk-M4CV6BRT.js.map → chunk-VEALDPHW.js.map} +0 -0
- /package/dist/{chunk-7DSTRQIJ.js.map → chunk-WEYZTLXN.js.map} +0 -0
- /package/dist/{chunk-CAF6WOK7.js.map → chunk-WNGGJWF7.js.map} +0 -0
- /package/dist/{chunk-IU6SNYX6.js.map → chunk-YJV2UZ7H.js.map} +0 -0
- /package/dist/{chunk-RZ5SVOYR.js.map → chunk-YTGDPCPW.js.map} +0 -0
- /package/dist/{classified-marker-CZKA6ITE.js.map → classified-marker-WQVIJAW2.js.map} +0 -0
- /package/dist/{collection-facade-TLWIPI76.js.map → collection-facade-MJXSC3Q6.js.map} +0 -0
- /package/dist/{computed-ZIQTYTDI.js.map → computed-DSMPXG2Y.js.map} +0 -0
- /package/dist/{delegation-W7ZV2322.js.map → cover-B5SJDHR3.js.map} +0 -0
- /package/dist/{dead-filter-ESOBZZP5.js.map → dead-filter-2A7IAJ3D.js.map} +0 -0
- /package/dist/{derive-H2BJTLUI.js.map → delegation-A5A75KQO.js.map} +0 -0
- /package/dist/{enclave-AP3I5W7O.js.map → derive-HJSMH7RA.js.map} +0 -0
- /package/dist/{executor-KGWTNEQD.js.map → enclave-7MW6ZGXW.js.map} +0 -0
- /package/dist/{executor-OVEXR6RT.js.map → executor-AXE4XMLT.js.map} +0 -0
- /package/dist/{executor-UNEH5ZYH.js.map → executor-KGNLJD6M.js.map} +0 -0
- /package/dist/{export-accessible-PCMXSUZS.js.map → executor-XGIS6CR7.js.map} +0 -0
- /package/dist/{extract-partition-SWHFSYJO.js.map → export-accessible-VVBJM3MM.js.map} +0 -0
- /package/dist/{find-N6345CNT.js.map → extract-partition-LGGBTQET.js.map} +0 -0
- /package/dist/{fanout-sidecar-A765THMX.js.map → fanout-sidecar-WDYQ77VB.js.map} +0 -0
- /package/dist/{issue-5OKB6I2R.js.map → find-YS6XWB46.js.map} +0 -0
- /package/dist/{ledger-GFBKVPV4.js.map → issue-LSR5PS6H.js.map} +0 -0
- /package/dist/{liberate-3VDOT4KO.js.map → ledger-33BC4TR7.js.map} +0 -0
- /package/dist/{link-set-Z7Q2ASFX.js.map → liberate-GBSAYLPJ.js.map} +0 -0
- /package/dist/{noydb-ZCJOYBDI.js.map → link-set-QK22TDEX.js.map} +0 -0
- /package/dist/{policy-Z3RUAIY2.js.map → noydb-MTUBMWFE.js.map} +0 -0
- /package/dist/{public-envelope-B4KNWVUA.js.map → policy-NAHB2TUT.js.map} +0 -0
- /package/dist/{post-register-JTH76BLY.js.map → post-register-JVTMJ6OW.js.map} +0 -0
- /package/dist/{register-VAHONCID.js.map → register-X462DNDM.js.map} +0 -0
- /package/dist/{registry-7MLVD3VO.js.map → registry-3XMCT7MQ.js.map} +0 -0
- /package/dist/{registry-EPKPD5SM.js.map → registry-KHD2I3M2.js.map} +0 -0
- /package/dist/{registry-P5T7PS2U.js.map → registry-NPOWJHC4.js.map} +0 -0
- /package/dist/{request-withdrawal-TI3A5WPS.js.map → request-withdrawal-U7K3JTMY.js.map} +0 -0
- /package/dist/{reveal-DIBHLUZX.js.map → reveal-LGBOM2BO.js.map} +0 -0
- /package/dist/{revoke-FDRD6GRW.js.map → revoke-OCWDSWRQ.js.map} +0 -0
- /package/dist/{seed-Q6M2IZFL.js.map → seed-PWK45HDF.js.map} +0 -0
- /package/dist/{signer-MUWEIUI6.js.map → signer-3YFBLZRN.js.map} +0 -0
- /package/dist/{stale-OSQ7J3AA.js.map → stale-FJED42DM.js.map} +0 -0
- /package/dist/{storage-MVFCGEQE.js.map → storage-W3GURVFU.js.map} +0 -0
- /package/dist/{store-coordination-provider-64OEZFGS.js.map → store-coordination-provider-APODTV4W.js.map} +0 -0
- /package/dist/{verify-ZASTRNPR.js.map → verify-26Y5GNMK.js.map} +0 -0
- /package/dist/{walk-SVNDIZ62.js.map → walk-XS3PKM6I.js.map} +0 -0
- /package/dist/{withdraw-accessible-WZIEVWSR.js.map → withdraw-accessible-Y3B2535F.js.map} +0 -0
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-JRBNCUNT.js";
|
|
7
7
|
import "../chunk-ZJADGNYF.js";
|
|
8
|
-
import "../chunk-
|
|
8
|
+
import "../chunk-W2OG6JOL.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-KGNLJD6M.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-IY23KFNZ.js";
|
|
6
6
|
import {
|
|
7
7
|
dualReadSealedSlot
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-N6WF5PKC.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-HOONYZY2.js";
|
|
18
18
|
import {
|
|
19
19
|
ClassifiedConfigError,
|
|
20
20
|
ClassifiedVerifyError
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-W2OG6JOL.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-26Y5GNMK.js.map
|
|
@@ -32,7 +32,7 @@ export type OnMissing = 'substitute' | 'null' | 'throw';
|
|
|
32
32
|
* - `join` — a joined record expanded onto a row.
|
|
33
33
|
* - `mv` — materialized-view input.
|
|
34
34
|
* - `derivation` — derivation input.
|
|
35
|
-
* - `export` — bundle/
|
|
35
|
+
* - `export` — bundle/cover export.
|
|
36
36
|
*/
|
|
37
37
|
export type Layer = 'read' | 'guard' | 'join' | 'mv' | 'derivation' | 'export';
|
|
38
38
|
/** Field-level policy: a single scalar, or a per-layer map. */
|
|
@@ -3,19 +3,19 @@ import {
|
|
|
3
3
|
} from "./chunk-VYYM3MEN.js";
|
|
4
4
|
import {
|
|
5
5
|
derivePersistedSchema
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-BOKIKJJB.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-F6T6L2UK.js";
|
|
10
|
+
import "./chunk-DVUZMT2W.js";
|
|
11
|
+
import "./chunk-WEYZTLXN.js";
|
|
12
|
+
import "./chunk-IY23KFNZ.js";
|
|
13
|
+
import "./chunk-N6WF5PKC.js";
|
|
14
|
+
import "./chunk-6HY2X62D.js";
|
|
15
15
|
import "./chunk-LP7BEXCT.js";
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-HOONYZY2.js";
|
|
17
|
+
import "./chunk-LSASLXGC.js";
|
|
18
|
+
import "./chunk-W2OG6JOL.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-XS3PKM6I.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-PT37L5DV.js";
|
|
10
|
+
import "../chunk-3SV2EPMN.js";
|
|
11
|
+
import "../chunk-PK6QCH2C.js";
|
|
12
|
+
import "../chunk-DVUZMT2W.js";
|
|
13
|
+
import "../chunk-WEYZTLXN.js";
|
|
14
|
+
import "../chunk-IY23KFNZ.js";
|
|
15
|
+
import "../chunk-N6WF5PKC.js";
|
|
16
|
+
import "../chunk-6HY2X62D.js";
|
|
17
17
|
import "../chunk-LP7BEXCT.js";
|
|
18
|
-
import "../chunk-
|
|
19
|
-
import "../chunk-
|
|
20
|
-
import "../chunk-
|
|
18
|
+
import "../chunk-HOONYZY2.js";
|
|
19
|
+
import "../chunk-LSASLXGC.js";
|
|
20
|
+
import "../chunk-W2OG6JOL.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.
|
|
@@ -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;
|
|
@@ -26,6 +26,12 @@ 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';
|
|
29
35
|
export type { WriteHook } from '../port/with/write-hooks.js';
|
|
30
36
|
export type { WriteQueue } from '../kernel/write-queue.js';
|
|
31
37
|
export type { WriteConflict } from '../kernel/types.js';
|
|
@@ -56,3 +56,18 @@ export declare function summarizeQueryPlan(query: Query<any>): string;
|
|
|
56
56
|
* `map` semantics change non-equivalently.
|
|
57
57
|
*/
|
|
58
58
|
export declare function summarizeUnionPlan<T extends Record<string, unknown>>(spec: MaterializedViewStrategy<T>): string;
|
|
59
|
+
/**
|
|
60
|
+
* Canonical string description of a projection MV's plan (#810), used
|
|
61
|
+
* as input to `computeQueryHash`.
|
|
62
|
+
*
|
|
63
|
+
* Leg descriptors ARE sorted (contrast with UNION arm order): every
|
|
64
|
+
* leg attaches under a distinct `as` alias, forward legs are
|
|
65
|
+
* one-to-one attachments and collect legs are independent
|
|
66
|
+
* hash-grouped passes, so declaration order never changes the
|
|
67
|
+
* materialized rows — a pure reorder must NOT force a refresh.
|
|
68
|
+
*
|
|
69
|
+
* The projection `map` is NOT fingerprinted (identical limitation as
|
|
70
|
+
* the UNION arm `map`); consumers must bump the MV's `name` when
|
|
71
|
+
* `map` semantics change non-equivalently.
|
|
72
|
+
*/
|
|
73
|
+
export declare function summarizeProjectionPlan<T extends Record<string, unknown>>(spec: MaterializedViewStrategy<T>): string;
|
|
@@ -5,7 +5,7 @@ export { analyzeDependencies, summarizeQueryPlan } from './dependency-analyzer.j
|
|
|
5
5
|
export { computeQueryHash, canonicalizeQueryPlan } from './query-hash.js';
|
|
6
6
|
export { markMVStale, resolveStaleMVOnRead, isMVStale, clearMVStale } from './stale.js';
|
|
7
7
|
export type { MVStaleAccessor } from './stale.js';
|
|
8
|
-
export type { MaterializedViewStrategy, MaterializedViewStrategyHandle, MaterializedViewOutput, MaterializedFromMeta, UnionSource, UnionArmJoin, } from './types.js';
|
|
8
|
+
export type { MaterializedViewStrategy, MaterializedViewStrategyHandle, MaterializedViewOutput, MaterializedFromMeta, UnionSource, UnionArmJoin, ProjectionSpec, ProjectionJoinLeg, } from './types.js';
|
|
9
9
|
export type { RegisteredMV } from './registry.js';
|
|
10
10
|
export type { MVExecutorAccessor, RefreshResult } from './executor.js';
|
|
11
11
|
export { MaterializedViewCycleError, MaterializedViewConfigError, MaterializedViewSourceUnknownError, MaterializedViewTooLargeError, } from '../../kernel/errors.js';
|
|
@@ -40,6 +40,20 @@ export declare class MaterializedViewRegistry {
|
|
|
40
40
|
private readonly _byName;
|
|
41
41
|
/** Keyed by dependency source-collection → MVs that depend on it. */
|
|
42
42
|
private readonly _bySource;
|
|
43
|
+
/**
|
|
44
|
+
* Projection MVs (#810) whose forward-leg ref() targets could not be
|
|
45
|
+
* resolved at registration time. A forward leg names only the FK
|
|
46
|
+
* FIELD; its dependency is the field's ref() TARGET, declared on the
|
|
47
|
+
* source collection — but registration runs at vault open, BEFORE
|
|
48
|
+
* user code declares collections (and their refs). Constructing the
|
|
49
|
+
* source collection here to look them up would be worse: a later
|
|
50
|
+
* `vault.collection(source, { refs })` call only registers refs on a
|
|
51
|
+
* cache miss, so an early construction would silently drop them.
|
|
52
|
+
* Instead each entry carries a non-constructive ref-registry probe;
|
|
53
|
+
* `mvsForSource` retries on every dispatch until every forward
|
|
54
|
+
* target has resolved (see `_resolvePendingForwardDeps`).
|
|
55
|
+
*/
|
|
56
|
+
private readonly _pendingForwardDeps;
|
|
43
57
|
/**
|
|
44
58
|
* Register an MV. Invokes `spec.query()` once at registration time to
|
|
45
59
|
* read the plan + join context; the resulting `Query<T>` is discarded
|
|
@@ -56,6 +70,21 @@ export declare class MaterializedViewRegistry {
|
|
|
56
70
|
}): Promise<void>;
|
|
57
71
|
/** All MVs that depend on `source`, in registration order. */
|
|
58
72
|
mvsForSource(source: string): ReadonlyArray<RegisteredMV>;
|
|
73
|
+
/**
|
|
74
|
+
* Retry ref() resolution for every pending projection forward leg
|
|
75
|
+
* (#810). A field resolves once its source collection's refs have
|
|
76
|
+
* been declared; the target then folds into the owning MV's
|
|
77
|
+
* dependency set and `_bySource`, so subsequent writes to it
|
|
78
|
+
* dispatch a refresh. Idempotent and cheap — the pending list
|
|
79
|
+
* empties as fields resolve, and `mvsForSource` skips the call
|
|
80
|
+
* entirely once it's empty.
|
|
81
|
+
*
|
|
82
|
+
* Late-resolved targets do NOT retro-feed `edges()` — the cycle
|
|
83
|
+
* pass runs once at vault open, before refs exist. A cycle routed
|
|
84
|
+
* exclusively through a forward leg is therefore not detected at
|
|
85
|
+
* open (collect + source edges, the literal names, are).
|
|
86
|
+
*/
|
|
87
|
+
private _resolvePendingForwardDeps;
|
|
59
88
|
/** Single MV by name, or `undefined`. */
|
|
60
89
|
byName(name: string): RegisteredMV | undefined;
|
|
61
90
|
/** Iterate over every registered MV. */
|
|
@@ -118,6 +118,68 @@ export interface UnionArmJoin {
|
|
|
118
118
|
/** Planner strategy override. `undefined` → auto-select. */
|
|
119
119
|
readonly strategy?: JoinStrategy;
|
|
120
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* Projection-form registration (#810): one output row per record of a
|
|
123
|
+
* primary `source` collection, enriched with forward FK legs and
|
|
124
|
+
* reverse one-to-many "collect" legs BEFORE `map` shapes the MV row.
|
|
125
|
+
* The niwat federated read-model shape — a bill row carrying its
|
|
126
|
+
* client lookup plus the receipt / application / credit-note sets
|
|
127
|
+
* that point back at it.
|
|
128
|
+
*/
|
|
129
|
+
export interface ProjectionSpec<TRow extends Record<string, unknown>> {
|
|
130
|
+
/** Primary collection. One output row per primary record (unless {@link map} omits). */
|
|
131
|
+
readonly source: string;
|
|
132
|
+
/** Join legs attached to each primary row BEFORE {@link map} runs. */
|
|
133
|
+
readonly joins: ReadonlyArray<ProjectionJoinLeg>;
|
|
134
|
+
/**
|
|
135
|
+
* Pure projection: primary row + leg attachments → MV row. Called
|
|
136
|
+
* once per primary record at materialization time, AFTER every leg
|
|
137
|
+
* has attached under its `as` alias.
|
|
138
|
+
*
|
|
139
|
+
* Returning `null` or `undefined` **omits** the primary record from
|
|
140
|
+
* the materialized output entirely (same contract as the UNION arm
|
|
141
|
+
* `map`) — filtering lives here; there is no `where` on the
|
|
142
|
+
* projection form.
|
|
143
|
+
*/
|
|
144
|
+
readonly map: (row: Record<string, unknown>) => TRow | null | undefined;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* One join leg of a projection MV. Discriminated by the presence of
|
|
148
|
+
* `collect` (reverse leg) vs `field` (forward leg); `as` aliases must
|
|
149
|
+
* be unique across legs and non-empty.
|
|
150
|
+
*
|
|
151
|
+
* - **Forward FK leg** — identical shape + machinery as
|
|
152
|
+
* {@link UnionArmJoin} / `Query.join()`: resolves a `ref()`-declared
|
|
153
|
+
* FK on the projection source into an attached right-side record
|
|
154
|
+
* (record | null) under `as`.
|
|
155
|
+
* - **Reverse "collect" leg** — every row of `collect` whose `on`
|
|
156
|
+
* field references the primary record's id, attached as a
|
|
157
|
+
* possibly-empty ARRAY under `as`. `on` must carry a `ref()`
|
|
158
|
+
* declared on the `collect` collection targeting the projection
|
|
159
|
+
* `source` — checked at first materialization (parity with
|
|
160
|
+
* join-time ref errors). `maxRows` here is a PER-PRIMARY-ROW
|
|
161
|
+
* fan-out ceiling (default: the join default); exceeding it throws
|
|
162
|
+
* `JoinTooLargeError`.
|
|
163
|
+
*/
|
|
164
|
+
export type ProjectionJoinLeg = {
|
|
165
|
+
/** FK field on the projection source (must have a `ref()` declared). */
|
|
166
|
+
readonly field: string;
|
|
167
|
+
/** Alias under which the resolved right-side record attaches. */
|
|
168
|
+
readonly as: string;
|
|
169
|
+
/** Per-side row ceiling override. `undefined` → the join default. */
|
|
170
|
+
readonly maxRows?: number;
|
|
171
|
+
/** Planner strategy override. `undefined` → auto-select. */
|
|
172
|
+
readonly strategy?: JoinStrategy;
|
|
173
|
+
} | {
|
|
174
|
+
/** Sibling collection to collect from. */
|
|
175
|
+
readonly collect: string;
|
|
176
|
+
/** FK field on `collect` (`ref()` targeting the projection source required). */
|
|
177
|
+
readonly on: string;
|
|
178
|
+
/** Alias under which the collected array attaches. */
|
|
179
|
+
readonly as: string;
|
|
180
|
+
/** Per-primary-row fan-out ceiling. `undefined` → the join default. */
|
|
181
|
+
readonly maxRows?: number;
|
|
182
|
+
};
|
|
121
183
|
/**
|
|
122
184
|
* Registration shape passed to `withMaterializedView()`.
|
|
123
185
|
*
|
|
@@ -167,6 +229,25 @@ export interface MaterializedViewStrategy<TRow extends Record<string, unknown>>
|
|
|
167
229
|
* {@link sources} is ignored.
|
|
168
230
|
*/
|
|
169
231
|
unionSources?: ReadonlyArray<UnionSource<TRow>>;
|
|
232
|
+
/**
|
|
233
|
+
* Projection-form registration (#810): one output row per primary
|
|
234
|
+
* record of `projection.source`, enriched with forward FK legs and
|
|
235
|
+
* reverse one-to-many "collect" legs before `projection.map` shapes
|
|
236
|
+
* the MV row. Post-map {@link groupBy} + {@link aggregate} are
|
|
237
|
+
* supported exactly as in UNION mode.
|
|
238
|
+
*
|
|
239
|
+
* Mutually exclusive with {@link query} and {@link unionSources} —
|
|
240
|
+
* a strategy must declare exactly one of the three forms.
|
|
241
|
+
* Registration throws `MaterializedViewConfigError` otherwise.
|
|
242
|
+
*
|
|
243
|
+
* Dependencies are all AUTO: `{source} ∪ forward ref() targets ∪
|
|
244
|
+
* collect collections` (explicit {@link sources} remains additive).
|
|
245
|
+
* Forward targets resolve from the source collection's `ref()`
|
|
246
|
+
* declarations; those are declared by user code AFTER the vault
|
|
247
|
+
* opens (registration time), so the registry folds them into the
|
|
248
|
+
* dependency set on the first MV dispatch that finds them declared.
|
|
249
|
+
*/
|
|
250
|
+
projection?: ProjectionSpec<TRow>;
|
|
170
251
|
/**
|
|
171
252
|
* Group-key field(s) for UNION mode. Applied to the
|
|
172
253
|
* concatenated mapped-row stream from {@link unionSources} before
|
|
@@ -7,18 +7,22 @@ import type { MaterializedViewStrategy, MaterializedViewStrategyHandle } from '.
|
|
|
7
7
|
* user `onDelete` guards on the output collection aren't tripped by
|
|
8
8
|
* housekeeping.
|
|
9
9
|
*
|
|
10
|
-
*
|
|
10
|
+
* Three registration modes:
|
|
11
11
|
* - **single-source** — declare `query: (db) => Query<TRow>`; the
|
|
12
12
|
* dependency analyzer derives source collections from the plan.
|
|
13
13
|
* - **UNION** — declare `unionSources: [{ collection, map }, ...]`
|
|
14
14
|
* plus optional `groupBy` + `aggregate`; the executor reads each
|
|
15
15
|
* arm, maps to the unified row shape, concatenates, then groups
|
|
16
16
|
* and aggregates.
|
|
17
|
+
* - **projection** (#810) — declare `projection: { source, joins,
|
|
18
|
+
* map }`; one output row per primary record, enriched with
|
|
19
|
+
* forward FK legs and reverse "collect" legs before `map` runs.
|
|
17
20
|
*
|
|
18
|
-
* The
|
|
19
|
-
* `unionSources` must be set at registration time.
|
|
21
|
+
* The three modes are mutually exclusive — exactly one of `query` /
|
|
22
|
+
* `unionSources` / `projection` must be set at registration time.
|
|
20
23
|
*
|
|
21
|
-
* See docs/superpowers/specs/2026-05-20-dim14-mv-v2-design.md (single-source v2)
|
|
22
|
-
*
|
|
24
|
+
* See docs/superpowers/specs/2026-05-20-dim14-mv-v2-design.md (single-source v2),
|
|
25
|
+
* docs/superpowers/specs/2026-05-21-dim14-mv-multikey-and-union.md (UNION),
|
|
26
|
+
* and docs/superpowers/specs/2026-07-25-join-projection-mv-design.md (projection).
|
|
23
27
|
*/
|
|
24
28
|
export declare function withMaterializedView<TRow extends Record<string, unknown>>(spec: MaterializedViewStrategy<TRow>): MaterializedViewStrategyHandle;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Cover, JsonValue, ResolvedCoverSchema } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Validate the owner-supplied `custom` input: the field must be a
|
|
4
|
+
* plain object, every key must match {@link CUSTOM_KEY_PATTERN}, and
|
|
5
|
+
* every value must be JSON-serializable (no functions, `undefined`,
|
|
6
|
+
* symbols, bigints, or cycles) within the depth cap. `null` is
|
|
7
|
+
* accepted — it is the delete-this-namespace directive and never
|
|
8
|
+
* persists. Throws `ValidationError` on the first violation.
|
|
9
|
+
*/
|
|
10
|
+
export declare function validateCustomInput(custom: Record<string, JsonValue>): void;
|
|
11
|
+
/**
|
|
12
|
+
* Namespace-level patch merge for `setCover`: provided namespaces
|
|
13
|
+
* replace their previous value, absent namespaces are preserved, and
|
|
14
|
+
* an explicit `null` deletes that namespace (so `null` never persists
|
|
15
|
+
* as a namespace value). A whole-`custom`-absent patch preserves the
|
|
16
|
+
* previous custom, consistent with the other cover fields. Rationale:
|
|
17
|
+
* framework A must never need read-modify-write of framework B's data.
|
|
18
|
+
*
|
|
19
|
+
* Returns a spreadable fragment — `{ custom }` when the merge leaves
|
|
20
|
+
* at least one namespace, `{}` when it leaves none (the field is
|
|
21
|
+
* dropped from the persisted document rather than stored empty).
|
|
22
|
+
*/
|
|
23
|
+
export declare function mergeCustom(existing: Record<string, JsonValue> | undefined, patch: Record<string, JsonValue> | undefined): {
|
|
24
|
+
custom: Record<string, JsonValue>;
|
|
25
|
+
} | Record<string, never>;
|
|
26
|
+
/**
|
|
27
|
+
* Post-merge size caps — validates the WOULD-BE-PERSISTED document
|
|
28
|
+
* (after the namespace merge), so a small patch can't tip the stored
|
|
29
|
+
* cover over a cap unnoticed. `maxCoverBytes` bounds the entire
|
|
30
|
+
* serialized document, which also closes the unbounded locale-map
|
|
31
|
+
* key-count hole for `name` / `description`. Sizes are measured as
|
|
32
|
+
* `JSON.stringify` length. Throws `ValidationError` on violation.
|
|
33
|
+
*/
|
|
34
|
+
export declare function validateCoverSize(cover: Cover, schema: ResolvedCoverSchema): void;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cover service — barrel export. (Formerly "public envelope"; the
|
|
3
|
+
* old names remain as deprecated aliases for one pre-release window.)
|
|
4
|
+
*
|
|
5
|
+
* @see https://github.com/vLannaAi/noy-db-docs/blob/main/content/docs/services/public-envelope.md
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
export type { Cover, CoverText, CoverSchema, CoverField, JsonValue, ResolvedCoverSchema, } from './types.js';
|
|
10
|
+
export { COVER_FIELDS, DEFAULT_COVER_SCHEMA, resolveSchema, } from './types.js';
|
|
11
|
+
export type { SetCoverInput } from './schema.js';
|
|
12
|
+
export { validateCoverInput, isCover } from './schema.js';
|
|
13
|
+
export { mergeCustom, validateCoverSize } from './custom.js';
|
|
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';
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { Cover, CoverText, JsonValue, ResolvedCoverSchema } from './types.js';
|
|
2
|
+
/** Owner-supplied input — the subset of {@link Cover} the owner can set. */
|
|
3
|
+
export interface SetCoverInput {
|
|
4
|
+
readonly name?: CoverText;
|
|
5
|
+
readonly description?: CoverText;
|
|
6
|
+
readonly icon?: string;
|
|
7
|
+
readonly defaultLocale?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Namespace-level patch for the cover's `custom` slot (#800):
|
|
10
|
+
* provided namespaces replace their previous value, absent
|
|
11
|
+
* namespaces are preserved, an explicit `null` deletes that
|
|
12
|
+
* namespace. Requires `'custom'` in the schema's `fields` list —
|
|
13
|
+
* the `cover: true` shorthand does NOT enable it.
|
|
14
|
+
*/
|
|
15
|
+
readonly custom?: Record<string, JsonValue>;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Validate an owner-supplied cover input against the developer's
|
|
19
|
+
* resolved schema. Throws `ValidationError` on the first violation;
|
|
20
|
+
* returns void on success.
|
|
21
|
+
*
|
|
22
|
+
* The validator is deliberately strict: every fail mode is a hard
|
|
23
|
+
* error rather than a silent drop, so the owner finds out immediately
|
|
24
|
+
* which field they oversized rather than discovering a truncated
|
|
25
|
+
* label months later.
|
|
26
|
+
*/
|
|
27
|
+
export declare function validateCoverInput(input: SetCoverInput, schema: ResolvedCoverSchema): void;
|
|
28
|
+
/**
|
|
29
|
+
* Lightweight runtime predicate — used by the bundle header
|
|
30
|
+
* validator to recognise a cover without requiring it. (The wire
|
|
31
|
+
* discriminator keeps its frozen name: `_noydb_public: 1`.)
|
|
32
|
+
*/
|
|
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;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persistence helpers for `_meta/public-envelope` — the cover's
|
|
3
|
+
* frozen wire location. Mirrors the bypass-AES pattern used by
|
|
4
|
+
* `_meta/handle` and `_meta/policy` — the document is plaintext
|
|
5
|
+
* JSON, the envelope's `_iv` field is left empty.
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
import type { NoydbStore } from '../../../kernel/types.js';
|
|
10
|
+
import type { Cover } from './types.js';
|
|
11
|
+
/**
|
|
12
|
+
* Reserved id for the vault-level cover record. The VALUE is frozen
|
|
13
|
+
* wire format — the record predates the #799 rename and stays at
|
|
14
|
+
* `_meta/public-envelope` so existing vaults need no migration.
|
|
15
|
+
*/
|
|
16
|
+
export declare const COVER_RECORD_ID = "public-envelope";
|
|
17
|
+
/**
|
|
18
|
+
* Read the cover from `_meta/public-envelope`. Returns `undefined`
|
|
19
|
+
* when no cover has been persisted (fresh vault, or a vault written
|
|
20
|
+
* before the feature was enabled). Tolerates corrupted documents —
|
|
21
|
+
* a JSON parse failure surfaces as `undefined`, not a thrown error,
|
|
22
|
+
* mirroring `_meta/handle`'s contract.
|
|
23
|
+
*/
|
|
24
|
+
export declare function loadCover(store: NoydbStore, vault: string): Promise<Cover | undefined>;
|
|
25
|
+
/** Persist the cover. Idempotent — overwrites any prior write. */
|
|
26
|
+
export declare function saveCover(store: NoydbStore, vault: string, cover: Cover): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Public, no-key reader. Plain function, not a method on `Noydb` —
|
|
29
|
+
* the whole point is it works without an authenticated session, so
|
|
30
|
+
* a UI can show "Acme 2026 Tax Records" before unlocking.
|
|
31
|
+
*
|
|
32
|
+
* Resolves any `name` / `description` locale map through the supplied
|
|
33
|
+
* `locale` (when provided). Omitting `locale` returns the raw
|
|
34
|
+
* cover, which a multilingual picker can render as it pleases.
|
|
35
|
+
*/
|
|
36
|
+
export declare function readCover(store: NoydbStore, vault: string, opts?: {
|
|
37
|
+
readonly locale?: string;
|
|
38
|
+
}): Promise<Cover | undefined>;
|
|
39
|
+
/**
|
|
40
|
+
* Resolve the locale-map fields (`name`, `description`) of a cover
|
|
41
|
+
* to plain strings for the requested locale, falling back through
|
|
42
|
+
* `defaultLocale` and then any available translation.
|
|
43
|
+
*
|
|
44
|
+
* @internal
|
|
45
|
+
*/
|
|
46
|
+
export declare function resolveLocale(cover: Cover, locale: string): Cover;
|
|
47
|
+
/**
|
|
48
|
+
* Resolve a `string | { [locale]: string }` value to a string for a
|
|
49
|
+
* given locale. Exported so the bundle reader can reuse it without
|
|
50
|
+
* duplicating the fallback chain.
|
|
51
|
+
*
|
|
52
|
+
* **Looser than `resolveI18nText`** — the hub's record-field resolver
|
|
53
|
+
* throws `LocaleNotSpecifiedError` when no translation matches, but
|
|
54
|
+
* label semantics deliberately prefer "show *something*" over
|
|
55
|
+
* throwing. The fallback chain is:
|
|
56
|
+
* 1. Exact `locale` match.
|
|
57
|
+
* 2. `defaultLocale` (when supplied on the cover).
|
|
58
|
+
* 3. First non-empty value in the map.
|
|
59
|
+
* 4. Empty string (only if every translation is empty — pathological).
|
|
60
|
+
*
|
|
61
|
+
* This deviation is documented in `https://github.com/vLannaAi/noy-db-docs/blob/main/content/docs/services/public-envelope.md`.
|
|
62
|
+
*/
|
|
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;
|