@nicia-ai/typegraph 0.46.0 → 0.46.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/backend/drizzle/indexes.cjs +9 -9
- package/dist/backend/drizzle/indexes.d.cts +1 -1
- package/dist/backend/drizzle/indexes.d.ts +1 -1
- package/dist/backend/drizzle/indexes.js +5 -5
- package/dist/backend/index.cjs +49 -49
- package/dist/backend/index.d.cts +3 -3
- package/dist/backend/index.d.ts +3 -3
- package/dist/backend/index.js +10 -10
- package/dist/backend/postgres/index.cjs +26 -26
- package/dist/backend/postgres/index.d.cts +6 -6
- package/dist/backend/postgres/index.d.ts +6 -6
- package/dist/backend/postgres/index.js +13 -13
- package/dist/backend/postgres/pglite-store.cjs +33 -33
- package/dist/backend/postgres/pglite-store.d.cts +8 -8
- package/dist/backend/postgres/pglite-store.d.ts +8 -8
- package/dist/backend/postgres/pglite-store.js +29 -29
- package/dist/backend/postgres/pglite.cjs +15 -15
- package/dist/backend/postgres/pglite.d.cts +3 -3
- package/dist/backend/postgres/pglite.d.ts +3 -3
- package/dist/backend/postgres/pglite.js +14 -14
- package/dist/backend/sqlite/index.cjs +23 -23
- package/dist/backend/sqlite/index.d.cts +6 -6
- package/dist/backend/sqlite/index.d.ts +6 -6
- package/dist/backend/sqlite/index.js +11 -11
- package/dist/backend/sqlite/libsql.cjs +18 -18
- package/dist/backend/sqlite/libsql.d.cts +3 -3
- package/dist/backend/sqlite/libsql.d.ts +3 -3
- package/dist/backend/sqlite/libsql.js +13 -13
- package/dist/backend/sqlite/local-store.cjs +34 -34
- package/dist/backend/sqlite/local-store.d.cts +8 -8
- package/dist/backend/sqlite/local-store.d.ts +8 -8
- package/dist/backend/sqlite/local-store.js +30 -30
- package/dist/backend/sqlite/local.cjs +16 -16
- package/dist/backend/sqlite/local.d.cts +3 -3
- package/dist/backend/sqlite/local.d.ts +3 -3
- package/dist/backend/sqlite/local.js +14 -14
- package/dist/{chunk-VCRRKBLN.cjs → chunk-2ZWM2RFH.cjs} +9 -9
- package/dist/{chunk-VCRRKBLN.cjs.map → chunk-2ZWM2RFH.cjs.map} +1 -1
- package/dist/{chunk-TTAITEPJ.cjs → chunk-32UETY6S.cjs} +26 -26
- package/dist/chunk-32UETY6S.cjs.map +1 -0
- package/dist/{chunk-JXA2ZP2Q.js → chunk-36LIJXWC.js} +4 -4
- package/dist/{chunk-JXA2ZP2Q.js.map → chunk-36LIJXWC.js.map} +1 -1
- package/dist/{chunk-Q7Q4WSLJ.cjs → chunk-5PDSCELM.cjs} +18 -14
- package/dist/chunk-5PDSCELM.cjs.map +1 -0
- package/dist/{chunk-775A4ZMN.js → chunk-5ZJOB5YS.js} +4 -4
- package/dist/{chunk-775A4ZMN.js.map → chunk-5ZJOB5YS.js.map} +1 -1
- package/dist/{chunk-J3WZ3FA2.js → chunk-62ZXBMSD.js} +24 -3
- package/dist/chunk-62ZXBMSD.js.map +1 -0
- package/dist/{chunk-7BQXPCGN.cjs → chunk-6BD6ZBKT.cjs} +10 -10
- package/dist/{chunk-7BQXPCGN.cjs.map → chunk-6BD6ZBKT.cjs.map} +1 -1
- package/dist/chunk-6LAXM4J2.cjs +12 -0
- package/dist/{chunk-VQH4VAWD.cjs.map → chunk-6LAXM4J2.cjs.map} +1 -1
- package/dist/{chunk-MSY7FSX4.js → chunk-72WUT4GG.js} +4 -4
- package/dist/{chunk-MSY7FSX4.js.map → chunk-72WUT4GG.js.map} +1 -1
- package/dist/chunk-73MWKDFK.cjs +12 -0
- package/dist/{chunk-A4OC4DVN.cjs.map → chunk-73MWKDFK.cjs.map} +1 -1
- package/dist/{chunk-BKCUOV7A.js → chunk-7TKNK32B.js} +5 -5
- package/dist/{chunk-BKCUOV7A.js.map → chunk-7TKNK32B.js.map} +1 -1
- package/dist/{chunk-JIVMTW7W.js → chunk-A2LJG5GM.js} +9 -9
- package/dist/{chunk-JIVMTW7W.js.map → chunk-A2LJG5GM.js.map} +1 -1
- package/dist/{chunk-XMQSEJCF.cjs → chunk-A4R3H7RU.cjs} +237 -237
- package/dist/{chunk-XMQSEJCF.cjs.map → chunk-A4R3H7RU.cjs.map} +1 -1
- package/dist/{chunk-RMQLSPA2.cjs → chunk-A7NMUYEL.cjs} +27 -27
- package/dist/{chunk-RMQLSPA2.cjs.map → chunk-A7NMUYEL.cjs.map} +1 -1
- package/dist/{chunk-U63GDNRC.cjs → chunk-AF3TWL5C.cjs} +4 -4
- package/dist/{chunk-U63GDNRC.cjs.map → chunk-AF3TWL5C.cjs.map} +1 -1
- package/dist/{chunk-XBYVV3MP.cjs → chunk-ANKOXPCC.cjs} +4 -4
- package/dist/chunk-ANKOXPCC.cjs.map +1 -0
- package/dist/{chunk-OH5E5KIO.js → chunk-AT3MLMJV.js} +10 -10
- package/dist/{chunk-OH5E5KIO.js.map → chunk-AT3MLMJV.js.map} +1 -1
- package/dist/{chunk-UV3SN74I.js → chunk-AU3IJNNP.js} +5 -5
- package/dist/{chunk-UV3SN74I.js.map → chunk-AU3IJNNP.js.map} +1 -1
- package/dist/{chunk-YAAM3M2S.cjs → chunk-BEB4OFZF.cjs} +10 -10
- package/dist/{chunk-YAAM3M2S.cjs.map → chunk-BEB4OFZF.cjs.map} +1 -1
- package/dist/{chunk-7GT72YHH.cjs → chunk-BQM5P2NO.cjs} +169 -167
- package/dist/chunk-BQM5P2NO.cjs.map +1 -0
- package/dist/{chunk-YWGVVALJ.js → chunk-BRN3RGD2.js} +3 -3
- package/dist/{chunk-YWGVVALJ.js.map → chunk-BRN3RGD2.js.map} +1 -1
- package/dist/{chunk-UDISNXDL.cjs → chunk-BZZI7B43.cjs} +47 -47
- package/dist/{chunk-UDISNXDL.cjs.map → chunk-BZZI7B43.cjs.map} +1 -1
- package/dist/{chunk-TQR4KBY2.cjs → chunk-C2ZP5YS6.cjs} +135 -133
- package/dist/chunk-C2ZP5YS6.cjs.map +1 -0
- package/dist/{chunk-PNN7RHVR.cjs → chunk-C4DYN2SD.cjs} +48 -48
- package/dist/{chunk-PNN7RHVR.cjs.map → chunk-C4DYN2SD.cjs.map} +1 -1
- package/dist/{chunk-XDF2UPEQ.cjs → chunk-C6KE2HSQ.cjs} +1364 -1311
- package/dist/chunk-C6KE2HSQ.cjs.map +1 -0
- package/dist/{chunk-LBJKZXDE.cjs → chunk-D6GCNNMK.cjs} +10 -10
- package/dist/{chunk-LBJKZXDE.cjs.map → chunk-D6GCNNMK.cjs.map} +1 -1
- package/dist/{chunk-JZUR7ZWE.js → chunk-DSAWGCMP.js} +3 -3
- package/dist/{chunk-JZUR7ZWE.js.map → chunk-DSAWGCMP.js.map} +1 -1
- package/dist/{chunk-U5SON7R2.cjs → chunk-DYPRZ53S.cjs} +27 -27
- package/dist/{chunk-U5SON7R2.cjs.map → chunk-DYPRZ53S.cjs.map} +1 -1
- package/dist/{chunk-YVWGEQJE.cjs → chunk-E4OSGBCM.cjs} +139 -133
- package/dist/chunk-E4OSGBCM.cjs.map +1 -0
- package/dist/{chunk-YDFDBE6D.js → chunk-EAMVXR5B.js} +4 -4
- package/dist/{chunk-YDFDBE6D.js.map → chunk-EAMVXR5B.js.map} +1 -1
- package/dist/{chunk-NQ6BRJBE.js → chunk-EDHV4CBU.js} +8 -8
- package/dist/{chunk-NQ6BRJBE.js.map → chunk-EDHV4CBU.js.map} +1 -1
- package/dist/{chunk-DCQVHAYQ.js → chunk-EDJDDY6H.js} +4 -4
- package/dist/{chunk-DCQVHAYQ.js.map → chunk-EDJDDY6H.js.map} +1 -1
- package/dist/{chunk-5262ZMTR.js → chunk-EJSYWAEV.js} +5 -5
- package/dist/{chunk-5262ZMTR.js.map → chunk-EJSYWAEV.js.map} +1 -1
- package/dist/{chunk-N3257XE6.cjs → chunk-F36KZDFX.cjs} +91 -91
- package/dist/{chunk-N3257XE6.cjs.map → chunk-F36KZDFX.cjs.map} +1 -1
- package/dist/{chunk-AKLS3BYZ.js → chunk-FA6Z7B5L.js} +3 -3
- package/dist/chunk-FA6Z7B5L.js.map +1 -0
- package/dist/{chunk-ASTI57H3.js → chunk-FCIZNUW5.js} +3 -3
- package/dist/{chunk-ASTI57H3.js.map → chunk-FCIZNUW5.js.map} +1 -1
- package/dist/{chunk-CBTIUB76.js → chunk-FSLTU57P.js} +3 -3
- package/dist/{chunk-CBTIUB76.js.map → chunk-FSLTU57P.js.map} +1 -1
- package/dist/{chunk-2LG2XB2M.js → chunk-FXNHZFZV.js} +3 -3
- package/dist/{chunk-2LG2XB2M.js.map → chunk-FXNHZFZV.js.map} +1 -1
- package/dist/{chunk-BSFJMMV3.cjs → chunk-GVAMRRZR.cjs} +4 -4
- package/dist/{chunk-BSFJMMV3.cjs.map → chunk-GVAMRRZR.cjs.map} +1 -1
- package/dist/{chunk-CNV4TXJG.js → chunk-GWUWRZXW.js} +3 -3
- package/dist/{chunk-CNV4TXJG.js.map → chunk-GWUWRZXW.js.map} +1 -1
- package/dist/{chunk-C23WSN5E.js → chunk-GWXXHOLU.js} +20 -14
- package/dist/chunk-GWXXHOLU.js.map +1 -0
- package/dist/{chunk-ONU3HIED.cjs → chunk-HNYLMPQQ.cjs} +68 -68
- package/dist/{chunk-ONU3HIED.cjs.map → chunk-HNYLMPQQ.cjs.map} +1 -1
- package/dist/{chunk-NMWDXFPH.js → chunk-IHRDX7K6.js} +4 -4
- package/dist/{chunk-NMWDXFPH.js.map → chunk-IHRDX7K6.js.map} +1 -1
- package/dist/{chunk-VGTJPTIC.js → chunk-JCNTKRAK.js} +5 -5
- package/dist/{chunk-VGTJPTIC.js.map → chunk-JCNTKRAK.js.map} +1 -1
- package/dist/{chunk-MXJDTH5B.cjs → chunk-JL5UEBWT.cjs} +45 -45
- package/dist/{chunk-MXJDTH5B.cjs.map → chunk-JL5UEBWT.cjs.map} +1 -1
- package/dist/{chunk-QLRESYPU.js → chunk-KA4L2NZ3.js} +14 -14
- package/dist/{chunk-QLRESYPU.js.map → chunk-KA4L2NZ3.js.map} +1 -1
- package/dist/{chunk-NI72YOJB.cjs → chunk-KCH7WQA5.cjs} +24 -2
- package/dist/chunk-KCH7WQA5.cjs.map +1 -0
- package/dist/{chunk-2NA5DYLO.cjs → chunk-KOAI3KIV.cjs} +4 -4
- package/dist/{chunk-2NA5DYLO.cjs.map → chunk-KOAI3KIV.cjs.map} +1 -1
- package/dist/{chunk-7VQXLT5O.js → chunk-KXSMF6PL.js} +101 -25
- package/dist/chunk-KXSMF6PL.js.map +1 -0
- package/dist/{chunk-WEVQJ5LH.js → chunk-LHYSY6SE.js} +6 -6
- package/dist/chunk-LHYSY6SE.js.map +1 -0
- package/dist/{chunk-WDGA7IYB.js → chunk-LNIWCQR4.js} +3 -3
- package/dist/{chunk-WDGA7IYB.js.map → chunk-LNIWCQR4.js.map} +1 -1
- package/dist/{chunk-XNSI2FJO.cjs → chunk-N3QTGPC7.cjs} +99 -99
- package/dist/{chunk-XNSI2FJO.cjs.map → chunk-N3QTGPC7.cjs.map} +1 -1
- package/dist/{chunk-K5ELX2GT.js → chunk-OZJCH7ZS.js} +3 -3
- package/dist/{chunk-K5ELX2GT.js.map → chunk-OZJCH7ZS.js.map} +1 -1
- package/dist/{chunk-62ZP23AW.cjs → chunk-PYKF7UIL.cjs} +13 -13
- package/dist/{chunk-62ZP23AW.cjs.map → chunk-PYKF7UIL.cjs.map} +1 -1
- package/dist/{chunk-PQBQG7IM.js → chunk-QOJ2L2AD.js} +3 -3
- package/dist/{chunk-PQBQG7IM.js.map → chunk-QOJ2L2AD.js.map} +1 -1
- package/dist/{chunk-XNLIZYRZ.cjs → chunk-QPOQX2DI.cjs} +235 -235
- package/dist/{chunk-XNLIZYRZ.cjs.map → chunk-QPOQX2DI.cjs.map} +1 -1
- package/dist/{chunk-NFCVHQ5P.cjs → chunk-QU7QLJA4.cjs} +26 -26
- package/dist/{chunk-NFCVHQ5P.cjs.map → chunk-QU7QLJA4.cjs.map} +1 -1
- package/dist/{chunk-DLNROMQ7.js → chunk-R7EWHKID.js} +7 -4
- package/dist/chunk-R7EWHKID.js.map +1 -0
- package/dist/{chunk-HFHTMECK.js → chunk-RFDEYLIK.js} +7 -7
- package/dist/{chunk-HFHTMECK.js.map → chunk-RFDEYLIK.js.map} +1 -1
- package/dist/{chunk-MUK4BU7K.cjs → chunk-RHDOAQCT.cjs} +200 -124
- package/dist/chunk-RHDOAQCT.cjs.map +1 -0
- package/dist/{chunk-YBFHZUXX.js → chunk-S3G5VLSW.js} +6 -6
- package/dist/{chunk-YBFHZUXX.js.map → chunk-S3G5VLSW.js.map} +1 -1
- package/dist/{chunk-M4BDU5RX.cjs → chunk-S7WIRFNS.cjs} +12 -12
- package/dist/{chunk-M4BDU5RX.cjs.map → chunk-S7WIRFNS.cjs.map} +1 -1
- package/dist/{chunk-T4XNKYXB.js → chunk-SXWLLQ3D.js} +4 -4
- package/dist/{chunk-T4XNKYXB.js.map → chunk-SXWLLQ3D.js.map} +1 -1
- package/dist/{chunk-NK5Q7UNE.cjs → chunk-TCT66A7N.cjs} +10 -10
- package/dist/{chunk-NK5Q7UNE.cjs.map → chunk-TCT66A7N.cjs.map} +1 -1
- package/dist/{chunk-3DHZCOT7.cjs → chunk-UTVQPZPN.cjs} +20 -20
- package/dist/{chunk-3DHZCOT7.cjs.map → chunk-UTVQPZPN.cjs.map} +1 -1
- package/dist/{chunk-CXBHOOIQ.cjs → chunk-WA64ZSCA.cjs} +11 -11
- package/dist/{chunk-CXBHOOIQ.cjs.map → chunk-WA64ZSCA.cjs.map} +1 -1
- package/dist/{chunk-QWX5YA3K.js → chunk-WEJHA7AD.js} +18 -16
- package/dist/chunk-WEJHA7AD.js.map +1 -0
- package/dist/{chunk-5UVRGXD3.js → chunk-WHS2Y43J.js} +5 -5
- package/dist/{chunk-5UVRGXD3.js.map → chunk-WHS2Y43J.js.map} +1 -1
- package/dist/{chunk-I5MOXA4H.js → chunk-WMKEGJG4.js} +3 -3
- package/dist/{chunk-I5MOXA4H.js.map → chunk-WMKEGJG4.js.map} +1 -1
- package/dist/{chunk-5763DULU.js → chunk-WYFB7BN3.js} +16 -14
- package/dist/chunk-WYFB7BN3.js.map +1 -0
- package/dist/{chunk-XQSCL77R.cjs → chunk-XBHRKLZU.cjs} +4 -4
- package/dist/{chunk-XQSCL77R.cjs.map → chunk-XBHRKLZU.cjs.map} +1 -1
- package/dist/{chunk-7Z5OR7KO.js → chunk-YQ4JONWE.js} +102 -49
- package/dist/chunk-YQ4JONWE.js.map +1 -0
- package/dist/{chunk-RJS7DECT.js → chunk-Z43KWLZF.js} +8 -8
- package/dist/{chunk-RJS7DECT.js.map → chunk-Z43KWLZF.js.map} +1 -1
- package/dist/{chunk-E4WNQBEF.cjs → chunk-ZBVZ7HXD.cjs} +12 -12
- package/dist/{chunk-E4WNQBEF.cjs.map → chunk-ZBVZ7HXD.cjs.map} +1 -1
- package/dist/{chunk-4UGOKMI5.cjs → chunk-ZHOAZD7Q.cjs} +161 -161
- package/dist/{chunk-4UGOKMI5.cjs.map → chunk-ZHOAZD7Q.cjs.map} +1 -1
- package/dist/{chunk-XCAGZAKP.cjs → chunk-ZIH42CRX.cjs} +7 -7
- package/dist/{chunk-XCAGZAKP.cjs.map → chunk-ZIH42CRX.cjs.map} +1 -1
- package/dist/core/index.cjs +27 -27
- package/dist/core/index.d.cts +4 -4
- package/dist/core/index.d.ts +4 -4
- package/dist/core/index.js +7 -7
- package/dist/{ddl-BJcOp4WZ.d.cts → ddl-mE07h_EM.d.cts} +3 -3
- package/dist/{ddl-BXfGHbPN.d.ts → ddl-opIn8DfX.d.ts} +3 -3
- package/dist/graph-extension/index.cjs +20 -20
- package/dist/graph-extension/index.d.cts +4 -4
- package/dist/graph-extension/index.d.ts +4 -4
- package/dist/graph-extension/index.js +4 -4
- package/dist/graph-merge/index.cjs +248 -248
- package/dist/graph-merge/index.d.cts +8 -8
- package/dist/graph-merge/index.d.ts +8 -8
- package/dist/graph-merge/index.js +24 -24
- package/dist/{index-DxaYCv8Y.d.cts → index-Deyu8IXL.d.ts} +20 -3
- package/dist/{index-BSHvKfok.d.ts → index-DrRS51Ld.d.cts} +20 -3
- package/dist/index.cjs +219 -215
- package/dist/index.d.cts +11 -11
- package/dist/index.d.ts +11 -11
- package/dist/index.js +34 -34
- package/dist/indexes/index.cjs +13 -13
- package/dist/indexes/index.d.cts +4 -4
- package/dist/indexes/index.d.ts +4 -4
- package/dist/indexes/index.js +6 -6
- package/dist/interchange/index.cjs +52 -52
- package/dist/interchange/index.d.cts +7 -7
- package/dist/interchange/index.d.ts +7 -7
- package/dist/interchange/index.js +16 -16
- package/dist/{manager-CfZAimti.d.ts → manager-DX983gJ0.d.ts} +2 -2
- package/dist/{manager-HGk6E_HW.d.cts → manager-ptr3JLRP.d.cts} +2 -2
- package/dist/{materialize-indexes-6A7dWGtb.d.cts → materialize-indexes-BXz77YqO.d.cts} +1 -1
- package/dist/{materialize-indexes-BMJP6Tms.d.ts → materialize-indexes-CpXoggWU.d.ts} +1 -1
- package/dist/{postgres-DFYWENdR.d.cts → postgres-DwgEXSPI.d.cts} +1 -1
- package/dist/{postgres-e7a9TdvR.d.ts → postgres-QdOMHTBz.d.ts} +1 -1
- package/dist/profiler/index.d.cts +9 -9
- package/dist/profiler/index.d.ts +9 -9
- package/dist/provenance/index.cjs +42 -42
- package/dist/provenance/index.d.cts +7 -7
- package/dist/provenance/index.d.ts +7 -7
- package/dist/provenance/index.js +9 -9
- package/dist/schema/index.cjs +44 -44
- package/dist/schema/index.d.cts +6 -6
- package/dist/schema/index.d.ts +6 -6
- package/dist/schema/index.js +17 -17
- package/dist/{searchable-9OQoPuRs.d.ts → searchable-BOUuA83f.d.ts} +1 -1
- package/dist/{searchable-CIje5XYD.d.cts → searchable-BrUh0pdc.d.cts} +1 -1
- package/dist/{sqlite-DerU5tc7.d.ts → sqlite-BfYcV61E.d.cts} +1 -1
- package/dist/{sqlite-DitnISa9.d.cts → sqlite-DK40XVR1.d.ts} +1 -1
- package/dist/{store-DawaWWjJ.d.ts → store-Bo1psfVZ.d.ts} +27 -8
- package/dist/{store-RwTJx8LX.d.cts → store-FTqBpuJD.d.cts} +27 -8
- package/dist/{temporal-Bn-Fi8FJ.d.cts → temporal-CXewwLTB.d.cts} +1 -1
- package/dist/{temporal-BtM4UALv.d.ts → temporal-DPtn0HOu.d.ts} +1 -1
- package/dist/{types-KFfk-8Ah.d.ts → types-CeT7xM4M.d.ts} +1 -1
- package/dist/{types-HkveCCx0.d.cts → types-Du78EvpN.d.cts} +7 -6
- package/dist/{types-HkveCCx0.d.ts → types-Du78EvpN.d.ts} +7 -6
- package/dist/{types-CoIx8HX5.d.cts → types-XR1nHERK.d.cts} +1 -1
- package/dist/{where--fk7_0kv.d.cts → where-CJsp-YUf.d.cts} +1 -1
- package/dist/{where-ws5hf-Ov.d.ts → where-CMbFiWwp.d.ts} +1 -1
- package/package.json +3 -3
- package/dist/chunk-5763DULU.js.map +0 -1
- package/dist/chunk-7GT72YHH.cjs.map +0 -1
- package/dist/chunk-7VQXLT5O.js.map +0 -1
- package/dist/chunk-7Z5OR7KO.js.map +0 -1
- package/dist/chunk-A4OC4DVN.cjs +0 -12
- package/dist/chunk-AKLS3BYZ.js.map +0 -1
- package/dist/chunk-C23WSN5E.js.map +0 -1
- package/dist/chunk-DLNROMQ7.js.map +0 -1
- package/dist/chunk-J3WZ3FA2.js.map +0 -1
- package/dist/chunk-MUK4BU7K.cjs.map +0 -1
- package/dist/chunk-NI72YOJB.cjs.map +0 -1
- package/dist/chunk-Q7Q4WSLJ.cjs.map +0 -1
- package/dist/chunk-QWX5YA3K.js.map +0 -1
- package/dist/chunk-TQR4KBY2.cjs.map +0 -1
- package/dist/chunk-TTAITEPJ.cjs.map +0 -1
- package/dist/chunk-VQH4VAWD.cjs +0 -12
- package/dist/chunk-WEVQJ5LH.js.map +0 -1
- package/dist/chunk-XBYVV3MP.cjs.map +0 -1
- package/dist/chunk-XDF2UPEQ.cjs.map +0 -1
- package/dist/chunk-YVWGEQJE.cjs.map +0 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
3
|
+
var chunkA4R3H7RU_cjs = require('./chunk-A4R3H7RU.cjs');
|
|
4
|
+
var chunkGVAMRRZR_cjs = require('./chunk-GVAMRRZR.cjs');
|
|
5
|
+
var chunkANKOXPCC_cjs = require('./chunk-ANKOXPCC.cjs');
|
|
6
|
+
var chunk5PDSCELM_cjs = require('./chunk-5PDSCELM.cjs');
|
|
7
|
+
var chunkZHOAZD7Q_cjs = require('./chunk-ZHOAZD7Q.cjs');
|
|
8
|
+
var chunk2ZWM2RFH_cjs = require('./chunk-2ZWM2RFH.cjs');
|
|
9
|
+
var chunkKCH7WQA5_cjs = require('./chunk-KCH7WQA5.cjs');
|
|
10
10
|
var chunkN66HCGCY_cjs = require('./chunk-N66HCGCY.cjs');
|
|
11
11
|
|
|
12
12
|
// src/errors/validation.ts
|
|
@@ -30,7 +30,7 @@ function validateProps(schema, props, context) {
|
|
|
30
30
|
}
|
|
31
31
|
const issues = zodIssuesToValidationIssues(result.error);
|
|
32
32
|
const location = buildLocationString(context);
|
|
33
|
-
throw new
|
|
33
|
+
throw new chunkKCH7WQA5_cjs.ValidationError(
|
|
34
34
|
`Invalid ${context.entityType} props for ${location}: ${result.error.message}`,
|
|
35
35
|
{
|
|
36
36
|
entityType: context.entityType,
|
|
@@ -57,7 +57,7 @@ function validateEdgeProps(schema, props, context) {
|
|
|
57
57
|
function wrapZodError(error, context) {
|
|
58
58
|
const issues = zodIssuesToValidationIssues(error);
|
|
59
59
|
const location = buildLocationString(context);
|
|
60
|
-
return new
|
|
60
|
+
return new chunkKCH7WQA5_cjs.ValidationError(
|
|
61
61
|
`Validation failed for ${context.entityType} ${location}: ${error.message}`,
|
|
62
62
|
{
|
|
63
63
|
entityType: context.entityType,
|
|
@@ -70,7 +70,7 @@ function wrapZodError(error, context) {
|
|
|
70
70
|
);
|
|
71
71
|
}
|
|
72
72
|
function createValidationError(message, issues, context) {
|
|
73
|
-
return new
|
|
73
|
+
return new chunkKCH7WQA5_cjs.ValidationError(message, {
|
|
74
74
|
...context?.entityType !== void 0 && {
|
|
75
75
|
entityType: context.entityType
|
|
76
76
|
},
|
|
@@ -88,9 +88,9 @@ function encodeTupleKey(values) {
|
|
|
88
88
|
|
|
89
89
|
// src/identity/row-codec.ts
|
|
90
90
|
function toCanonicalIdentityTimestamp(value) {
|
|
91
|
-
const canonical =
|
|
91
|
+
const canonical = chunk5PDSCELM_cjs.canonicalizeDatabaseTimestamp(value);
|
|
92
92
|
if (canonical === void 0) {
|
|
93
|
-
throw new
|
|
93
|
+
throw new chunkKCH7WQA5_cjs.ConfigurationError(
|
|
94
94
|
"Identity relation returned a timestamp that is not a representable instant.",
|
|
95
95
|
{ value },
|
|
96
96
|
{
|
|
@@ -138,8 +138,8 @@ function identityReferenceKey(ref) {
|
|
|
138
138
|
return encodeTupleKey([ref.kind, ref.id]);
|
|
139
139
|
}
|
|
140
140
|
function compareIdentityReferences(left, right) {
|
|
141
|
-
const kindOrder =
|
|
142
|
-
return kindOrder === 0 ?
|
|
141
|
+
const kindOrder = chunkA4R3H7RU_cjs.compareCodePoints(left.kind, right.kind);
|
|
142
|
+
return kindOrder === 0 ? chunkA4R3H7RU_cjs.compareCodePoints(left.id, right.id) : kindOrder;
|
|
143
143
|
}
|
|
144
144
|
function normalizeIdentityPair(first, second) {
|
|
145
145
|
return compareIdentityReferences(first, second) <= 0 ? [first, second] : [second, first];
|
|
@@ -174,12 +174,12 @@ function spanningDifferentAssertion(assertions, first, second) {
|
|
|
174
174
|
// src/identity/sql-target.ts
|
|
175
175
|
var MAX_REFERENCE_CHUNK_SIZE = 200;
|
|
176
176
|
function identityChunkSize(target, input) {
|
|
177
|
-
const parameterLimit =
|
|
177
|
+
const parameterLimit = chunkA4R3H7RU_cjs.recordedBindParamBudget(target);
|
|
178
178
|
const chunkSize = Math.floor(
|
|
179
179
|
(parameterLimit - input.fixedParameters) / input.parametersPerItem
|
|
180
180
|
);
|
|
181
181
|
if (chunkSize < 1) {
|
|
182
|
-
throw new
|
|
182
|
+
throw new chunkKCH7WQA5_cjs.ConfigurationError(
|
|
183
183
|
"Operational Identity cannot fit this statement within the backend bind-parameter limit.",
|
|
184
184
|
{
|
|
185
185
|
code: "IDENTITY_BIND_BUDGET_TOO_SMALL",
|
|
@@ -193,7 +193,7 @@ function identityChunkSize(target, input) {
|
|
|
193
193
|
}
|
|
194
194
|
function requireStatementTarget(target) {
|
|
195
195
|
if (target.executeStatement === void 0) {
|
|
196
|
-
throw new
|
|
196
|
+
throw new chunkKCH7WQA5_cjs.ConfigurationError(
|
|
197
197
|
"Operational Identity requires statement execution support.",
|
|
198
198
|
{ code: "IDENTITY_REQUIRES_STATEMENT_EXECUTION" },
|
|
199
199
|
{
|
|
@@ -203,7 +203,7 @@ function requireStatementTarget(target) {
|
|
|
203
203
|
}
|
|
204
204
|
}
|
|
205
205
|
function identityWriterSlotError(cause) {
|
|
206
|
-
return new
|
|
206
|
+
return new chunkKCH7WQA5_cjs.ConfigurationError(
|
|
207
207
|
"Operational Identity could not take the SQLite writer slot: this transaction was begun DEFERRED and another connection committed before the identity write, so its read snapshot is stale.",
|
|
208
208
|
{
|
|
209
209
|
code: "IDENTITY_TRANSACTION_NOT_WRITE_FENCED",
|
|
@@ -218,9 +218,9 @@ function identityWriterSlotError(cause) {
|
|
|
218
218
|
async function executeIdentityStatement(target, statement) {
|
|
219
219
|
requireStatementTarget(target);
|
|
220
220
|
try {
|
|
221
|
-
await target.executeStatement(
|
|
221
|
+
await target.executeStatement(chunk2ZWM2RFH_cjs.asCompiledStatementSql(statement));
|
|
222
222
|
} catch (error) {
|
|
223
|
-
if (!
|
|
223
|
+
if (!chunkGVAMRRZR_cjs.isSqliteStaleSnapshotError(error)) throw error;
|
|
224
224
|
throw identityWriterSlotError(error);
|
|
225
225
|
}
|
|
226
226
|
}
|
|
@@ -234,7 +234,7 @@ function plainRef(ref) {
|
|
|
234
234
|
function registeredPlainRef(ctx, ref) {
|
|
235
235
|
const result = plainRef(ref);
|
|
236
236
|
if (!ctx.registry.nodeKinds.has(result.kind)) {
|
|
237
|
-
throw new
|
|
237
|
+
throw new chunkKCH7WQA5_cjs.KindNotFoundError(result.kind, "node", {
|
|
238
238
|
graphId: ctx.graphId
|
|
239
239
|
});
|
|
240
240
|
}
|
|
@@ -253,7 +253,7 @@ function normalizePair(first, second) {
|
|
|
253
253
|
return normalizeIdentityPair(first, second);
|
|
254
254
|
}
|
|
255
255
|
function clampValidTo(timestamp, validFrom) {
|
|
256
|
-
return
|
|
256
|
+
return chunkA4R3H7RU_cjs.compareCodePoints(timestamp, validFrom) < 0 ? validFrom : timestamp;
|
|
257
257
|
}
|
|
258
258
|
function publicAssertion(row) {
|
|
259
259
|
return {
|
|
@@ -274,7 +274,7 @@ function publicNodeRef(ref) {
|
|
|
274
274
|
async function lockIdentityGraph(target, graphId) {
|
|
275
275
|
if (target.dialect !== "postgres") return;
|
|
276
276
|
await target.execute(
|
|
277
|
-
|
|
277
|
+
chunk2ZWM2RFH_cjs.asCompiledRowsSql(chunk2ZWM2RFH_cjs.sql`
|
|
278
278
|
SELECT pg_advisory_xact_lock(
|
|
279
279
|
hashtext('typegraph:identity'),
|
|
280
280
|
hashtext(${graphId})
|
|
@@ -286,14 +286,14 @@ async function lockIdentityEnablementNodes(target, schema) {
|
|
|
286
286
|
if (target.dialect !== "postgres") return;
|
|
287
287
|
await executeIdentityStatement(
|
|
288
288
|
target,
|
|
289
|
-
|
|
289
|
+
chunk2ZWM2RFH_cjs.sql`LOCK TABLE ${schema.nodesTable} IN SHARE MODE`
|
|
290
290
|
);
|
|
291
291
|
}
|
|
292
292
|
async function loadNodeSnapshot(target, schema, graphId, coordinate) {
|
|
293
|
-
const sqlCoordinate =
|
|
293
|
+
const sqlCoordinate = chunkA4R3H7RU_cjs.identitySqlCoordinate(coordinate, chunk5PDSCELM_cjs.nowIso());
|
|
294
294
|
const rows = await target.execute(
|
|
295
|
-
|
|
296
|
-
|
|
295
|
+
chunk2ZWM2RFH_cjs.asCompiledRowsSql(
|
|
296
|
+
chunkA4R3H7RU_cjs.identityNodeSnapshotSource(schema, graphId, sqlCoordinate)
|
|
297
297
|
)
|
|
298
298
|
);
|
|
299
299
|
return rows.map((row) => ({
|
|
@@ -319,7 +319,7 @@ async function loadCurrentStructuralClasses(target, schema, graphId, references)
|
|
|
319
319
|
});
|
|
320
320
|
if (uniqueReferences.length > chunkSize) {
|
|
321
321
|
const combined = /* @__PURE__ */ new Map();
|
|
322
|
-
for (const refChunk of
|
|
322
|
+
for (const refChunk of chunkGVAMRRZR_cjs.chunk(uniqueReferences, chunkSize)) {
|
|
323
323
|
const classes2 = await loadCurrentStructuralClasses(
|
|
324
324
|
target,
|
|
325
325
|
schema,
|
|
@@ -330,12 +330,12 @@ async function loadCurrentStructuralClasses(target, schema, graphId, references)
|
|
|
330
330
|
}
|
|
331
331
|
return combined;
|
|
332
332
|
}
|
|
333
|
-
const seedRows =
|
|
334
|
-
uniqueReferences.map((ref) =>
|
|
335
|
-
|
|
333
|
+
const seedRows = chunk2ZWM2RFH_cjs.sql.join(
|
|
334
|
+
uniqueReferences.map((ref) => chunk2ZWM2RFH_cjs.sql`(${ref.kind}, ${ref.id})`),
|
|
335
|
+
chunk2ZWM2RFH_cjs.sql`, `
|
|
336
336
|
);
|
|
337
337
|
const rows = await target.execute(
|
|
338
|
-
|
|
338
|
+
chunk2ZWM2RFH_cjs.asCompiledRowsSql(chunk2ZWM2RFH_cjs.sql`
|
|
339
339
|
WITH seeds(seed_kind, seed_id) AS (
|
|
340
340
|
VALUES ${seedRows}
|
|
341
341
|
), anchors AS (
|
|
@@ -373,10 +373,10 @@ async function loadCurrentStructuralClasses(target, schema, graphId, references)
|
|
|
373
373
|
);
|
|
374
374
|
}
|
|
375
375
|
async function loadCurrentVisibleMembers(target, schema, graphId, ref) {
|
|
376
|
-
const now =
|
|
377
|
-
const coordinate =
|
|
376
|
+
const now = chunk5PDSCELM_cjs.nowIso();
|
|
377
|
+
const coordinate = chunkA4R3H7RU_cjs.identitySqlCoordinate(void 0, now);
|
|
378
378
|
const rows = await target.execute(
|
|
379
|
-
|
|
379
|
+
chunk2ZWM2RFH_cjs.asCompiledRowsSql(chunk2ZWM2RFH_cjs.sql`
|
|
380
380
|
WITH anchor AS (
|
|
381
381
|
SELECT class_kind, class_id
|
|
382
382
|
FROM ${schema.identityClosureTable}
|
|
@@ -400,7 +400,7 @@ async function loadCurrentVisibleMembers(target, schema, graphId, ref) {
|
|
|
400
400
|
WHERE n.graph_id = ${graphId}
|
|
401
401
|
AND n.kind = m.kind
|
|
402
402
|
AND n.id = m.id
|
|
403
|
-
AND ${
|
|
403
|
+
AND ${chunkA4R3H7RU_cjs.identityNodeVisibilitySql(coordinate, "n")}
|
|
404
404
|
`)
|
|
405
405
|
);
|
|
406
406
|
const members = rows.map((row) => ({ kind: row.kind, id: row.id })).toSorted((left, right) => compareReferences(left, right));
|
|
@@ -435,7 +435,7 @@ async function loadHistoricalClasses(target, schema, graphId, references, coordi
|
|
|
435
435
|
});
|
|
436
436
|
if (uniqueReferences.length > chunkSize) {
|
|
437
437
|
const combined = /* @__PURE__ */ new Map();
|
|
438
|
-
for (const refChunk of
|
|
438
|
+
for (const refChunk of chunkGVAMRRZR_cjs.chunk(uniqueReferences, chunkSize)) {
|
|
439
439
|
const classes = await loadHistoricalClasses(
|
|
440
440
|
target,
|
|
441
441
|
schema,
|
|
@@ -448,26 +448,26 @@ async function loadHistoricalClasses(target, schema, graphId, references, coordi
|
|
|
448
448
|
}
|
|
449
449
|
return combined;
|
|
450
450
|
}
|
|
451
|
-
const currentInstant =
|
|
452
|
-
const sqlCoordinate =
|
|
453
|
-
const seeds =
|
|
454
|
-
uniqueReferences.map((ref) =>
|
|
455
|
-
|
|
451
|
+
const currentInstant = chunk5PDSCELM_cjs.nowIso();
|
|
452
|
+
const sqlCoordinate = chunkA4R3H7RU_cjs.identitySqlCoordinate(coordinate, currentInstant);
|
|
453
|
+
const seeds = chunk2ZWM2RFH_cjs.sql.join(
|
|
454
|
+
uniqueReferences.map((ref) => chunk2ZWM2RFH_cjs.sql`(${ref.kind}, ${ref.id})`),
|
|
455
|
+
chunk2ZWM2RFH_cjs.sql`, `
|
|
456
456
|
);
|
|
457
|
-
const reconstruction =
|
|
457
|
+
const reconstruction = chunkA4R3H7RU_cjs.historicalIdentityReconstructionCtes({
|
|
458
458
|
schema,
|
|
459
459
|
graphId,
|
|
460
460
|
coordinate: sqlCoordinate,
|
|
461
|
-
seedSource:
|
|
461
|
+
seedSource: chunk2ZWM2RFH_cjs.sql`VALUES ${seeds}`,
|
|
462
462
|
sameIdAcrossKinds
|
|
463
463
|
});
|
|
464
464
|
const rows = await target.execute(
|
|
465
|
-
|
|
465
|
+
chunk2ZWM2RFH_cjs.asCompiledRowsSql(chunk2ZWM2RFH_cjs.sql`
|
|
466
466
|
WITH RECURSIVE
|
|
467
467
|
${reconstruction}
|
|
468
468
|
SELECT member.seed_kind, member.seed_id,
|
|
469
469
|
member.kind AS member_kind, member.id AS member_id,
|
|
470
|
-
CASE WHEN ${
|
|
470
|
+
CASE WHEN ${chunkA4R3H7RU_cjs.identityNodeVisibilitySql(sqlCoordinate, "n")}
|
|
471
471
|
THEN 1 ELSE 0 END AS is_visible
|
|
472
472
|
FROM identity_members member
|
|
473
473
|
JOIN node_snapshot n ON n.kind = member.kind AND n.id = member.id
|
|
@@ -518,24 +518,24 @@ function visibleMembersAtCoordinate(ctx, ref) {
|
|
|
518
518
|
);
|
|
519
519
|
}
|
|
520
520
|
async function loadAssertions(target, schema, graphId, coordinate, currentInstant) {
|
|
521
|
-
const source =
|
|
521
|
+
const source = chunkA4R3H7RU_cjs.identityAssertionSnapshotSource(
|
|
522
522
|
schema,
|
|
523
523
|
graphId,
|
|
524
|
-
|
|
524
|
+
chunkA4R3H7RU_cjs.identitySqlCoordinate(coordinate, currentInstant),
|
|
525
525
|
void 0
|
|
526
526
|
);
|
|
527
527
|
const rows = await target.execute(
|
|
528
|
-
|
|
528
|
+
chunk2ZWM2RFH_cjs.asCompiledRowsSql(source)
|
|
529
529
|
);
|
|
530
530
|
return rows.map((row) => normalizeIdentityAssertionRow(row));
|
|
531
531
|
}
|
|
532
532
|
function referenceCondition(kindColumn, idColumn, references) {
|
|
533
|
-
if (references.length === 0) return
|
|
534
|
-
return
|
|
533
|
+
if (references.length === 0) return chunk2ZWM2RFH_cjs.sql`1 = 0`;
|
|
534
|
+
return chunk2ZWM2RFH_cjs.sql`(${chunk2ZWM2RFH_cjs.sql.join(
|
|
535
535
|
references.map(
|
|
536
|
-
(ref) =>
|
|
536
|
+
(ref) => chunk2ZWM2RFH_cjs.sql`(${kindColumn} = ${ref.kind} AND ${idColumn} = ${ref.id})`
|
|
537
537
|
),
|
|
538
|
-
|
|
538
|
+
chunk2ZWM2RFH_cjs.sql` OR `
|
|
539
539
|
)})`;
|
|
540
540
|
}
|
|
541
541
|
async function loadAssertionsTouching(target, schema, graphId, references, coordinate, relation) {
|
|
@@ -547,7 +547,7 @@ async function loadAssertionsTouching(target, schema, graphId, references, coord
|
|
|
547
547
|
});
|
|
548
548
|
if (references.length > chunkSize) {
|
|
549
549
|
const byId = /* @__PURE__ */ new Map();
|
|
550
|
-
for (const refChunk of
|
|
550
|
+
for (const refChunk of chunkGVAMRRZR_cjs.chunk(references, chunkSize)) {
|
|
551
551
|
const assertions = await loadAssertionsTouching(
|
|
552
552
|
target,
|
|
553
553
|
schema,
|
|
@@ -560,25 +560,25 @@ async function loadAssertionsTouching(target, schema, graphId, references, coord
|
|
|
560
560
|
}
|
|
561
561
|
return [...byId.values()];
|
|
562
562
|
}
|
|
563
|
-
const source =
|
|
563
|
+
const source = chunkA4R3H7RU_cjs.identityAssertionSnapshotSource(
|
|
564
564
|
schema,
|
|
565
565
|
graphId,
|
|
566
|
-
|
|
566
|
+
chunkA4R3H7RU_cjs.identitySqlCoordinate(coordinate, chunk5PDSCELM_cjs.nowIso()),
|
|
567
567
|
relation
|
|
568
568
|
);
|
|
569
569
|
const aMatches = referenceCondition(
|
|
570
|
-
|
|
571
|
-
|
|
570
|
+
chunk2ZWM2RFH_cjs.sql`identity_assertions.a_kind`,
|
|
571
|
+
chunk2ZWM2RFH_cjs.sql`identity_assertions.a_id`,
|
|
572
572
|
references
|
|
573
573
|
);
|
|
574
574
|
const bMatches = referenceCondition(
|
|
575
|
-
|
|
576
|
-
|
|
575
|
+
chunk2ZWM2RFH_cjs.sql`identity_assertions.b_kind`,
|
|
576
|
+
chunk2ZWM2RFH_cjs.sql`identity_assertions.b_id`,
|
|
577
577
|
references
|
|
578
578
|
);
|
|
579
579
|
const rows = await target.execute(
|
|
580
|
-
|
|
581
|
-
SELECT ${
|
|
580
|
+
chunk2ZWM2RFH_cjs.asCompiledRowsSql(chunk2ZWM2RFH_cjs.sql`
|
|
581
|
+
SELECT ${chunkA4R3H7RU_cjs.IDENTITY_ASSERTION_COLUMNS}
|
|
582
582
|
FROM (${source}) identity_assertions
|
|
583
583
|
WHERE ${aMatches} OR ${bMatches}
|
|
584
584
|
`)
|
|
@@ -599,11 +599,11 @@ async function loadSpanningDifferentAssertion(target, schema, graphId, firstClas
|
|
|
599
599
|
|
|
600
600
|
// src/identity/interchange-read.ts
|
|
601
601
|
function codePointOrderedAssertionId(target) {
|
|
602
|
-
return
|
|
602
|
+
return chunkZHOAZD7Q_cjs.getDialect(target.dialect).binaryText(chunk2ZWM2RFH_cjs.sql`identity_assertions.id`);
|
|
603
603
|
}
|
|
604
604
|
async function readIdentityAssertionPageAtTarget(ctx, target, mode, options) {
|
|
605
605
|
if (!Number.isSafeInteger(options.limit) || options.limit <= 0) {
|
|
606
|
-
throw new
|
|
606
|
+
throw new chunkKCH7WQA5_cjs.ConfigurationError(
|
|
607
607
|
"Identity assertion page limit must be a positive safe integer.",
|
|
608
608
|
{ limit: options.limit }
|
|
609
609
|
);
|
|
@@ -615,17 +615,17 @@ async function readIdentityAssertionPageAtTarget(ctx, target, mode, options) {
|
|
|
615
615
|
parametersPerItem: 2
|
|
616
616
|
});
|
|
617
617
|
const filterKindsInMemory = nodeKinds !== void 0 && nodeKinds.length > kindFilterChunkSize;
|
|
618
|
-
const kindFilter = nodeKinds === void 0 ?
|
|
619
|
-
AND identity_assertions.a_kind IN (${
|
|
620
|
-
nodeKinds.map((kind) =>
|
|
621
|
-
|
|
618
|
+
const kindFilter = nodeKinds === void 0 ? chunk2ZWM2RFH_cjs.sql`` : nodeKinds.length === 0 ? chunk2ZWM2RFH_cjs.sql`AND 1 = 0` : filterKindsInMemory ? chunk2ZWM2RFH_cjs.sql`` : chunk2ZWM2RFH_cjs.sql`
|
|
619
|
+
AND identity_assertions.a_kind IN (${chunk2ZWM2RFH_cjs.sql.join(
|
|
620
|
+
nodeKinds.map((kind) => chunk2ZWM2RFH_cjs.sql`${kind}`),
|
|
621
|
+
chunk2ZWM2RFH_cjs.sql`, `
|
|
622
622
|
)})
|
|
623
|
-
AND identity_assertions.b_kind IN (${
|
|
624
|
-
nodeKinds.map((kind) =>
|
|
625
|
-
|
|
623
|
+
AND identity_assertions.b_kind IN (${chunk2ZWM2RFH_cjs.sql.join(
|
|
624
|
+
nodeKinds.map((kind) => chunk2ZWM2RFH_cjs.sql`${kind}`),
|
|
625
|
+
chunk2ZWM2RFH_cjs.sql`, `
|
|
626
626
|
)})
|
|
627
627
|
`;
|
|
628
|
-
const liveEndpointJoins = options.includeDeleted === false ?
|
|
628
|
+
const liveEndpointJoins = options.includeDeleted === false ? chunk2ZWM2RFH_cjs.sql`
|
|
629
629
|
JOIN ${ctx.schema.nodesTable} identity_a_node
|
|
630
630
|
ON identity_a_node.graph_id = identity_assertions.graph_id
|
|
631
631
|
AND identity_a_node.kind = identity_assertions.a_kind
|
|
@@ -636,10 +636,10 @@ async function readIdentityAssertionPageAtTarget(ctx, target, mode, options) {
|
|
|
636
636
|
AND identity_b_node.kind = identity_assertions.b_kind
|
|
637
637
|
AND identity_b_node.id = identity_assertions.b_id
|
|
638
638
|
AND identity_b_node.deleted_at IS NULL
|
|
639
|
-
` :
|
|
639
|
+
` : chunk2ZWM2RFH_cjs.sql``;
|
|
640
640
|
const assertionIdKey = codePointOrderedAssertionId(target);
|
|
641
641
|
const rows = await target.execute(
|
|
642
|
-
|
|
642
|
+
chunk2ZWM2RFH_cjs.asCompiledRowsSql(chunk2ZWM2RFH_cjs.sql`
|
|
643
643
|
SELECT identity_assertions.graph_id AS graph_id,
|
|
644
644
|
identity_assertions.id AS id,
|
|
645
645
|
identity_assertions.rel AS rel,
|
|
@@ -658,8 +658,8 @@ async function readIdentityAssertionPageAtTarget(ctx, target, mode, options) {
|
|
|
658
658
|
${liveEndpointJoins}
|
|
659
659
|
WHERE identity_assertions.graph_id = ${ctx.graphId}
|
|
660
660
|
AND identity_assertions.deleted_at IS NULL
|
|
661
|
-
${options.after === void 0 ?
|
|
662
|
-
${mode === "state" ?
|
|
661
|
+
${options.after === void 0 ? chunk2ZWM2RFH_cjs.sql`` : chunk2ZWM2RFH_cjs.sql`AND ${assertionIdKey} > ${options.after}`}
|
|
662
|
+
${mode === "state" ? chunk2ZWM2RFH_cjs.sql`AND identity_assertions.valid_to IS NULL` : chunk2ZWM2RFH_cjs.sql``}
|
|
663
663
|
${kindFilter}
|
|
664
664
|
ORDER BY ${assertionIdKey} ASC
|
|
665
665
|
LIMIT ${options.limit}
|
|
@@ -696,7 +696,7 @@ async function withWriteTransactionSession(target, ctx, fn) {
|
|
|
696
696
|
try {
|
|
697
697
|
const result = await fn();
|
|
698
698
|
if (session.wrote && ctx.revisionTrackingEnabled && !ctx.historyEnabled) {
|
|
699
|
-
await
|
|
699
|
+
await chunkA4R3H7RU_cjs.advanceRevisionClock(target, ctx.revisionSchema, ctx.graphId, true);
|
|
700
700
|
}
|
|
701
701
|
return result;
|
|
702
702
|
} finally {
|
|
@@ -707,7 +707,7 @@ async function lockSchemaVersionForStoreWrite(ctx, backend) {
|
|
|
707
707
|
const expectedVersion = ctx.schemaVersion;
|
|
708
708
|
if (expectedVersion === void 0) return;
|
|
709
709
|
if ("transaction" in backend && !backend.capabilities.transactions) {
|
|
710
|
-
throw new
|
|
710
|
+
throw new chunkKCH7WQA5_cjs.ConfigurationError(
|
|
711
711
|
"Schema-managed Store writes require a transactional backend so schema changes and entity writes can share one fence.",
|
|
712
712
|
{
|
|
713
713
|
code: "SCHEMA_WRITE_FENCE_UNSUPPORTED",
|
|
@@ -717,7 +717,7 @@ async function lockSchemaVersionForStoreWrite(ctx, backend) {
|
|
|
717
717
|
}
|
|
718
718
|
const lockSchemaVersionForWrite = backend.lockSchemaVersionForWrite;
|
|
719
719
|
if (lockSchemaVersionForWrite === void 0) {
|
|
720
|
-
throw new
|
|
720
|
+
throw new chunkKCH7WQA5_cjs.ConfigurationError(
|
|
721
721
|
"This backend cannot fence schema-managed Store writes against a concurrent schema change.",
|
|
722
722
|
{
|
|
723
723
|
code: "SCHEMA_WRITE_FENCE_UNSUPPORTED",
|
|
@@ -740,7 +740,7 @@ function graphWriteFenceRefusal(ctx, backend, reason) {
|
|
|
740
740
|
if (!("transaction" in backend) || backend.capabilities.transactions) {
|
|
741
741
|
return void 0;
|
|
742
742
|
}
|
|
743
|
-
return new
|
|
743
|
+
return new chunkKCH7WQA5_cjs.ConfigurationError(
|
|
744
744
|
"This backend cannot fence a constrained write: enforcing a declared constraint requires a transaction to scope the per-graph write lock to, and this backend has no transactions.",
|
|
745
745
|
{
|
|
746
746
|
code: "CONSTRAINT_WRITE_FENCE_UNSUPPORTED",
|
|
@@ -758,19 +758,19 @@ function runInWriteTransaction(ctx, backend, fn, options) {
|
|
|
758
758
|
const refusal = fenceReason === void 0 ? void 0 : graphWriteFenceRefusal(ctx, backend, fenceReason);
|
|
759
759
|
if (refusal !== void 0) return Promise.reject(refusal);
|
|
760
760
|
const needsGraphWriteLock = ctx.historyEnabled || ctx.revisionTrackingEnabled || fenceReason !== void 0;
|
|
761
|
-
return
|
|
761
|
+
return chunkANKOXPCC_cjs.runOptionallyInTransaction(backend, async (target) => {
|
|
762
762
|
await lockSchemaVersionForStoreWrite(ctx, target);
|
|
763
763
|
const session = needsGraphWriteLock ? writeTransactionSessions.get(target) : void 0;
|
|
764
764
|
const held = heldGraphWriteLocks.get(target) ?? /* @__PURE__ */ new Set();
|
|
765
765
|
heldGraphWriteLocks.set(target, held);
|
|
766
766
|
const acquiresLock = needsGraphWriteLock && session?.lock === void 0 && !held.has(ctx.graphId);
|
|
767
767
|
if (acquiresLock) held.add(ctx.graphId);
|
|
768
|
-
const lock = acquiresLock ? await
|
|
768
|
+
const lock = acquiresLock ? await chunkA4R3H7RU_cjs.lockRecordedGraphWrite(target, ctx.graphId).catch(
|
|
769
769
|
(error) => {
|
|
770
770
|
held.delete(ctx.graphId);
|
|
771
771
|
throw error;
|
|
772
772
|
}
|
|
773
|
-
) : session?.lock ??
|
|
773
|
+
) : session?.lock ?? chunkA4R3H7RU_cjs.uncapturedGraphWriteLock();
|
|
774
774
|
if (session !== void 0) session.lock = lock;
|
|
775
775
|
const result = await (acquiresLock ? fn(target, lock).finally(() => held.delete(ctx.graphId)) : fn(target, lock));
|
|
776
776
|
if (session !== void 0) {
|
|
@@ -778,7 +778,7 @@ function runInWriteTransaction(ctx, backend, fn, options) {
|
|
|
778
778
|
return result;
|
|
779
779
|
}
|
|
780
780
|
if (ctx.revisionTrackingEnabled && !ctx.historyEnabled && (options?.didWrite?.(result) ?? true)) {
|
|
781
|
-
await
|
|
781
|
+
await chunkA4R3H7RU_cjs.advanceRevisionClock(
|
|
782
782
|
target,
|
|
783
783
|
ctx.revisionSchema,
|
|
784
784
|
ctx.graphId,
|
|
@@ -897,7 +897,7 @@ function identityActiveKinds(registry) {
|
|
|
897
897
|
return new Set(registry.nodeKinds.keys());
|
|
898
898
|
}
|
|
899
899
|
async function loadSnapshot(target, schema, graphId, coordinate, allowedKinds, sameIdAcrossKinds = "fold") {
|
|
900
|
-
const currentInstant =
|
|
900
|
+
const currentInstant = chunk5PDSCELM_cjs.nowIso();
|
|
901
901
|
const [nodes, assertions] = await Promise.all([
|
|
902
902
|
loadNodeSnapshot(target, schema, graphId, coordinate),
|
|
903
903
|
loadAssertions(target, schema, graphId, coordinate, currentInstant)
|
|
@@ -981,7 +981,7 @@ function validateSnapshotIntegrity(snapshot, registry, graphId) {
|
|
|
981
981
|
const a = { kind: assertion.a_kind, id: assertion.a_id };
|
|
982
982
|
const b = { kind: assertion.b_kind, id: assertion.b_id };
|
|
983
983
|
if (!structuralKeys.has(refKey(a)) || !structuralKeys.has(refKey(b))) {
|
|
984
|
-
throw new
|
|
984
|
+
throw new chunkKCH7WQA5_cjs.ConfigurationError(
|
|
985
985
|
"Operational Identity contains a current assertion with a missing or deleted endpoint.",
|
|
986
986
|
{
|
|
987
987
|
code: "IDENTITY_SCHEMA_CONTRADICTION",
|
|
@@ -993,7 +993,7 @@ function validateSnapshotIntegrity(snapshot, registry, graphId) {
|
|
|
993
993
|
);
|
|
994
994
|
}
|
|
995
995
|
if (assertion.rel === "different" && sameComponent(snapshot, a, b)) {
|
|
996
|
-
throw new
|
|
996
|
+
throw new chunkKCH7WQA5_cjs.ConfigurationError(
|
|
997
997
|
"Operational Identity contains a different assertion within one identity class.",
|
|
998
998
|
{
|
|
999
999
|
code: "IDENTITY_SCHEMA_CONTRADICTION",
|
|
@@ -1015,7 +1015,7 @@ function validateSnapshotIntegrity(snapshot, registry, graphId) {
|
|
|
1015
1015
|
component
|
|
1016
1016
|
);
|
|
1017
1017
|
if (conflictingKinds !== void 0) {
|
|
1018
|
-
throw new
|
|
1018
|
+
throw new chunkKCH7WQA5_cjs.ConfigurationError(
|
|
1019
1019
|
"Operational Identity class conflicts with ontology disjointness.",
|
|
1020
1020
|
{
|
|
1021
1021
|
code: "IDENTITY_SCHEMA_CONTRADICTION",
|
|
@@ -1028,7 +1028,7 @@ function validateSnapshotIntegrity(snapshot, registry, graphId) {
|
|
|
1028
1028
|
}
|
|
1029
1029
|
}
|
|
1030
1030
|
function closureMismatchError(graphId, detail) {
|
|
1031
|
-
return new
|
|
1031
|
+
return new chunkKCH7WQA5_cjs.ConfigurationError(
|
|
1032
1032
|
"Operational Identity materialized closure does not match computed identity components.",
|
|
1033
1033
|
{ code: "IDENTITY_SCHEMA_CONTRADICTION", graphId, ...detail },
|
|
1034
1034
|
{
|
|
@@ -1049,7 +1049,7 @@ async function assertClosureMatchesComponents(target, schema, graphId, component
|
|
|
1049
1049
|
}
|
|
1050
1050
|
}
|
|
1051
1051
|
const rows = await target.execute(
|
|
1052
|
-
|
|
1052
|
+
chunk2ZWM2RFH_cjs.asCompiledRowsSql(chunk2ZWM2RFH_cjs.sql`
|
|
1053
1053
|
SELECT member_kind, member_id, class_kind, class_id
|
|
1054
1054
|
FROM ${schema.identityClosureTable}
|
|
1055
1055
|
WHERE graph_id = ${graphId}
|
|
@@ -1079,7 +1079,7 @@ async function assertClosureMatchesComponents(target, schema, graphId, component
|
|
|
1079
1079
|
}
|
|
1080
1080
|
}
|
|
1081
1081
|
function selfAssertionError(relation) {
|
|
1082
|
-
return new
|
|
1082
|
+
return new chunkKCH7WQA5_cjs.ValidationError(
|
|
1083
1083
|
`Identity ${relation} assertions require two distinct node references.`,
|
|
1084
1084
|
{
|
|
1085
1085
|
issues: [
|
|
@@ -1098,7 +1098,7 @@ function selfAssertionError(relation) {
|
|
|
1098
1098
|
async function requireLiveEndpoint(target, graphId, ref) {
|
|
1099
1099
|
const row = await target.getNode(graphId, ref.kind, ref.id);
|
|
1100
1100
|
if (row === void 0 || row.deleted_at !== void 0) {
|
|
1101
|
-
throw new
|
|
1101
|
+
throw new chunkKCH7WQA5_cjs.NodeNotFoundError(ref.kind, ref.id);
|
|
1102
1102
|
}
|
|
1103
1103
|
}
|
|
1104
1104
|
async function loadLiveReferences(target, schema, graphId, references) {
|
|
@@ -1110,15 +1110,15 @@ async function loadLiveReferences(target, schema, graphId, references) {
|
|
|
1110
1110
|
});
|
|
1111
1111
|
if (references.length > chunkSize) {
|
|
1112
1112
|
const byKey = /* @__PURE__ */ new Map();
|
|
1113
|
-
for (const refChunk of
|
|
1113
|
+
for (const refChunk of chunkGVAMRRZR_cjs.chunk(references, chunkSize)) {
|
|
1114
1114
|
const live = await loadLiveReferences(target, schema, graphId, refChunk);
|
|
1115
1115
|
for (const ref of live) byKey.set(refKey(ref), ref);
|
|
1116
1116
|
}
|
|
1117
1117
|
return [...byKey.values()];
|
|
1118
1118
|
}
|
|
1119
|
-
const matches = referenceCondition(
|
|
1119
|
+
const matches = referenceCondition(chunk2ZWM2RFH_cjs.sql`kind`, chunk2ZWM2RFH_cjs.sql`id`, references);
|
|
1120
1120
|
const rows = await target.execute(
|
|
1121
|
-
|
|
1121
|
+
chunk2ZWM2RFH_cjs.asCompiledRowsSql(chunk2ZWM2RFH_cjs.sql`
|
|
1122
1122
|
SELECT kind, id
|
|
1123
1123
|
FROM ${schema.nodesTable}
|
|
1124
1124
|
WHERE graph_id = ${graphId}
|
|
@@ -1134,7 +1134,7 @@ async function requireLiveEndpoints(target, schema, graphId, references) {
|
|
|
1134
1134
|
const live = await loadLiveReferences(target, schema, graphId, references);
|
|
1135
1135
|
const liveKeys = new Set(live.map((ref) => refKey(ref)));
|
|
1136
1136
|
for (const [key, ref] of uniqueByKey) {
|
|
1137
|
-
if (!liveKeys.has(key)) throw new
|
|
1137
|
+
if (!liveKeys.has(key)) throw new chunkKCH7WQA5_cjs.NodeNotFoundError(ref.kind, ref.id);
|
|
1138
1138
|
}
|
|
1139
1139
|
}
|
|
1140
1140
|
async function requireStructuralEndpoints(target, schema, graphId, references) {
|
|
@@ -1148,10 +1148,10 @@ async function requireStructuralEndpoints(target, schema, graphId, references) {
|
|
|
1148
1148
|
parametersPerItem: 2
|
|
1149
1149
|
});
|
|
1150
1150
|
const presentKeys = /* @__PURE__ */ new Set();
|
|
1151
|
-
for (const refChunk of
|
|
1152
|
-
const matches = referenceCondition(
|
|
1151
|
+
for (const refChunk of chunkGVAMRRZR_cjs.chunk(unique, chunkSize)) {
|
|
1152
|
+
const matches = referenceCondition(chunk2ZWM2RFH_cjs.sql`kind`, chunk2ZWM2RFH_cjs.sql`id`, refChunk);
|
|
1153
1153
|
const rows = await target.execute(
|
|
1154
|
-
|
|
1154
|
+
chunk2ZWM2RFH_cjs.asCompiledRowsSql(chunk2ZWM2RFH_cjs.sql`
|
|
1155
1155
|
SELECT kind, id
|
|
1156
1156
|
FROM ${schema.nodesTable}
|
|
1157
1157
|
WHERE graph_id = ${graphId}
|
|
@@ -1163,7 +1163,7 @@ async function requireStructuralEndpoints(target, schema, graphId, references) {
|
|
|
1163
1163
|
}
|
|
1164
1164
|
}
|
|
1165
1165
|
for (const [key, ref] of uniqueByKey) {
|
|
1166
|
-
if (!presentKeys.has(key)) throw new
|
|
1166
|
+
if (!presentKeys.has(key)) throw new chunkKCH7WQA5_cjs.NodeNotFoundError(ref.kind, ref.id);
|
|
1167
1167
|
}
|
|
1168
1168
|
}
|
|
1169
1169
|
|
|
@@ -1177,7 +1177,7 @@ function pairKey(pair) {
|
|
|
1177
1177
|
return `${pair.low}${PAIR_KEY_SEPARATOR}${pair.high}`;
|
|
1178
1178
|
}
|
|
1179
1179
|
function orderedPair(first, second) {
|
|
1180
|
-
return
|
|
1180
|
+
return chunkA4R3H7RU_cjs.compareCodePoints(first, second) <= 0 ? { low: first, high: second } : { low: second, high: first };
|
|
1181
1181
|
}
|
|
1182
1182
|
function buildSeparationProjection(assertions, classKeyOf) {
|
|
1183
1183
|
const pairs = /* @__PURE__ */ new Map();
|
|
@@ -1202,7 +1202,7 @@ function buildSeparationProjection(assertions, classKeyOf) {
|
|
|
1202
1202
|
async function deleteSeparationForGraph(target, schema, graphId) {
|
|
1203
1203
|
await executeIdentityStatement(
|
|
1204
1204
|
target,
|
|
1205
|
-
|
|
1205
|
+
chunk2ZWM2RFH_cjs.sql`DELETE FROM ${schema.identitySeparationTable} WHERE graph_id = ${graphId}`
|
|
1206
1206
|
);
|
|
1207
1207
|
}
|
|
1208
1208
|
async function deleteSeparationForClassKeys(target, schema, graphId, classKeys) {
|
|
@@ -1213,14 +1213,14 @@ async function deleteSeparationForClassKeys(target, schema, graphId, classKeys)
|
|
|
1213
1213
|
maxItems: MAX_REFERENCE_CHUNK_SIZE,
|
|
1214
1214
|
parametersPerItem: 2
|
|
1215
1215
|
});
|
|
1216
|
-
for (const keyChunk of
|
|
1217
|
-
const keyList =
|
|
1218
|
-
keyChunk.map((key) =>
|
|
1219
|
-
|
|
1216
|
+
for (const keyChunk of chunkGVAMRRZR_cjs.chunk(unique, chunkSize)) {
|
|
1217
|
+
const keyList = chunk2ZWM2RFH_cjs.sql.join(
|
|
1218
|
+
keyChunk.map((key) => chunk2ZWM2RFH_cjs.sql`${key}`),
|
|
1219
|
+
chunk2ZWM2RFH_cjs.sql`, `
|
|
1220
1220
|
);
|
|
1221
1221
|
await executeIdentityStatement(
|
|
1222
1222
|
target,
|
|
1223
|
-
|
|
1223
|
+
chunk2ZWM2RFH_cjs.sql`
|
|
1224
1224
|
DELETE FROM ${schema.identitySeparationTable}
|
|
1225
1225
|
WHERE graph_id = ${graphId}
|
|
1226
1226
|
AND (class_key_low IN (${keyList}) OR class_key_high IN (${keyList}))
|
|
@@ -1257,7 +1257,7 @@ function proveSeparationReadiness(registry, graphId) {
|
|
|
1257
1257
|
async function probeSeparationPair(target, schema, graphId, pair) {
|
|
1258
1258
|
try {
|
|
1259
1259
|
const rows = await target.execute(
|
|
1260
|
-
|
|
1260
|
+
chunk2ZWM2RFH_cjs.asCompiledRowsSql(chunk2ZWM2RFH_cjs.sql`
|
|
1261
1261
|
SELECT
|
|
1262
1262
|
(
|
|
1263
1263
|
SELECT COUNT(*) FROM ${schema.identitySeparationTable}
|
|
@@ -1280,7 +1280,7 @@ async function probeSeparationPair(target, schema, graphId, pair) {
|
|
|
1280
1280
|
pairSeparated: countOf(row, "pair_rows") > 0
|
|
1281
1281
|
};
|
|
1282
1282
|
} catch (error) {
|
|
1283
|
-
if (!
|
|
1283
|
+
if (!chunkGVAMRRZR_cjs.isMissingTableError(error)) throw error;
|
|
1284
1284
|
throw separationUnreadableError(graphId, schema, error);
|
|
1285
1285
|
}
|
|
1286
1286
|
}
|
|
@@ -1288,7 +1288,7 @@ function countOf(row, column) {
|
|
|
1288
1288
|
return Number(row?.[column] ?? 0);
|
|
1289
1289
|
}
|
|
1290
1290
|
function separationUnreadableError(graphId, schema, cause) {
|
|
1291
|
-
return new
|
|
1291
|
+
return new chunkKCH7WQA5_cjs.ConfigurationError(
|
|
1292
1292
|
"Operational Identity could not read the materialized separation relation.",
|
|
1293
1293
|
{
|
|
1294
1294
|
code: "IDENTITY_STORAGE_MISSING",
|
|
@@ -1302,7 +1302,7 @@ function separationUnreadableError(graphId, schema, cause) {
|
|
|
1302
1302
|
);
|
|
1303
1303
|
}
|
|
1304
1304
|
function separationUnfilledError(graphId, schema) {
|
|
1305
|
-
return new
|
|
1305
|
+
return new chunkKCH7WQA5_cjs.ConfigurationError(
|
|
1306
1306
|
"Operational Identity found the separation relation present but never filled for this graph.",
|
|
1307
1307
|
{
|
|
1308
1308
|
code: "IDENTITY_STORAGE_MISSING",
|
|
@@ -1328,7 +1328,7 @@ async function separationRebuildRequired(target, schema, graphId, options) {
|
|
|
1328
1328
|
}
|
|
1329
1329
|
async function hasSeparationRows(target, schema, graphId) {
|
|
1330
1330
|
const rows = await target.execute(
|
|
1331
|
-
|
|
1331
|
+
chunk2ZWM2RFH_cjs.asCompiledRowsSql(chunk2ZWM2RFH_cjs.sql`
|
|
1332
1332
|
SELECT 1 AS present
|
|
1333
1333
|
FROM ${schema.identitySeparationTable}
|
|
1334
1334
|
WHERE graph_id = ${graphId}
|
|
@@ -1341,7 +1341,7 @@ async function hasLiveDifferentAssertions(target, schema, graphId, registry) {
|
|
|
1341
1341
|
if (!await probeAnyLiveDifferent(target, schema, graphId)) return false;
|
|
1342
1342
|
const activeKinds = [...identityActiveKinds(registry)];
|
|
1343
1343
|
if (activeKinds.length === 0) return false;
|
|
1344
|
-
const kindChunks =
|
|
1344
|
+
const kindChunks = chunkGVAMRRZR_cjs.chunk(activeKinds, owedProbeChunkSize(target));
|
|
1345
1345
|
for (const first of kindChunks) {
|
|
1346
1346
|
for (const second of kindChunks) {
|
|
1347
1347
|
if (await probeOwedSeparation(target, schema, graphId, [first, second])) {
|
|
@@ -1355,7 +1355,7 @@ var IDENTITY_SNAPSHOT_PARAMETERS = 4;
|
|
|
1355
1355
|
var OWED_SEPARATION_PROBE_PARAMETERS = IDENTITY_SNAPSHOT_PARAMETERS + 2;
|
|
1356
1356
|
async function probeAnyLiveDifferent(target, schema, graphId) {
|
|
1357
1357
|
const rows = await target.execute(
|
|
1358
|
-
|
|
1358
|
+
chunk2ZWM2RFH_cjs.asCompiledRowsSql(chunk2ZWM2RFH_cjs.sql`
|
|
1359
1359
|
SELECT 1 AS present
|
|
1360
1360
|
FROM (${liveDifferentSource(schema, graphId)}) live_different
|
|
1361
1361
|
LIMIT 1
|
|
@@ -1365,7 +1365,7 @@ async function probeAnyLiveDifferent(target, schema, graphId) {
|
|
|
1365
1365
|
}
|
|
1366
1366
|
async function probeOwedSeparation(target, schema, graphId, kinds) {
|
|
1367
1367
|
const rows = await target.execute(
|
|
1368
|
-
|
|
1368
|
+
chunk2ZWM2RFH_cjs.asCompiledRowsSql(chunk2ZWM2RFH_cjs.sql`
|
|
1369
1369
|
SELECT 1 AS present
|
|
1370
1370
|
FROM (${liveDifferentSource(schema, graphId)}) live_different
|
|
1371
1371
|
LEFT JOIN ${schema.identityClosureTable} class_a
|
|
@@ -1397,22 +1397,22 @@ function owedProbeChunkSize(target) {
|
|
|
1397
1397
|
});
|
|
1398
1398
|
}
|
|
1399
1399
|
function liveDifferentSource(schema, graphId) {
|
|
1400
|
-
return
|
|
1400
|
+
return chunkA4R3H7RU_cjs.identityAssertionSnapshotSource(
|
|
1401
1401
|
schema,
|
|
1402
1402
|
graphId,
|
|
1403
|
-
|
|
1403
|
+
chunkA4R3H7RU_cjs.identitySqlCoordinate(void 0, chunk5PDSCELM_cjs.nowIso()),
|
|
1404
1404
|
"different"
|
|
1405
1405
|
);
|
|
1406
1406
|
}
|
|
1407
1407
|
function kindList(kinds) {
|
|
1408
|
-
return
|
|
1409
|
-
kinds.map((kind) =>
|
|
1410
|
-
|
|
1408
|
+
return chunk2ZWM2RFH_cjs.sql.join(
|
|
1409
|
+
kinds.map((kind) => chunk2ZWM2RFH_cjs.sql`${kind}`),
|
|
1410
|
+
chunk2ZWM2RFH_cjs.sql`, `
|
|
1411
1411
|
);
|
|
1412
1412
|
}
|
|
1413
1413
|
async function readSeparationForGraph(target, schema, graphId) {
|
|
1414
1414
|
const rows = await target.execute(
|
|
1415
|
-
|
|
1415
|
+
chunk2ZWM2RFH_cjs.asCompiledRowsSql(chunk2ZWM2RFH_cjs.sql`
|
|
1416
1416
|
SELECT class_key_low, class_key_high
|
|
1417
1417
|
FROM ${schema.identitySeparationTable}
|
|
1418
1418
|
WHERE graph_id = ${graphId}
|
|
@@ -1429,23 +1429,23 @@ async function insertSeparationRows(target, schema, graphId, projection) {
|
|
|
1429
1429
|
maxItems: MAX_SEPARATION_INSERT_CHUNK_SIZE,
|
|
1430
1430
|
parametersPerItem: 3
|
|
1431
1431
|
});
|
|
1432
|
-
for (const pairChunk of
|
|
1432
|
+
for (const pairChunk of chunkGVAMRRZR_cjs.chunk(projection.pairs, chunkSize)) {
|
|
1433
1433
|
const values = pairChunk.map(
|
|
1434
|
-
(pair) =>
|
|
1434
|
+
(pair) => chunk2ZWM2RFH_cjs.sql`(${graphId}, ${pair.low}, ${pair.high})`
|
|
1435
1435
|
);
|
|
1436
1436
|
try {
|
|
1437
1437
|
await executeIdentityStatement(
|
|
1438
1438
|
target,
|
|
1439
|
-
|
|
1439
|
+
chunk2ZWM2RFH_cjs.sql`
|
|
1440
1440
|
INSERT INTO ${schema.identitySeparationTable} (
|
|
1441
1441
|
graph_id, class_key_low, class_key_high
|
|
1442
|
-
) VALUES ${
|
|
1442
|
+
) VALUES ${chunk2ZWM2RFH_cjs.sql.join(values, chunk2ZWM2RFH_cjs.sql`, `)}
|
|
1443
1443
|
`
|
|
1444
1444
|
);
|
|
1445
1445
|
} catch (error) {
|
|
1446
1446
|
const collapsed = collapsedIn(projection, pairChunk);
|
|
1447
1447
|
if (collapsed === void 0) throw error;
|
|
1448
|
-
throw new
|
|
1448
|
+
throw new chunkKCH7WQA5_cjs.IdentitySeparationViolationError(
|
|
1449
1449
|
{ graphId, enforcedBy: "database", ...collapsed },
|
|
1450
1450
|
{ cause: error }
|
|
1451
1451
|
);
|
|
@@ -1453,7 +1453,7 @@ async function insertSeparationRows(target, schema, graphId, projection) {
|
|
|
1453
1453
|
}
|
|
1454
1454
|
const accepted = projection.collapsed[0];
|
|
1455
1455
|
if (accepted === void 0) return;
|
|
1456
|
-
throw new
|
|
1456
|
+
throw new chunkKCH7WQA5_cjs.IdentitySeparationViolationError({
|
|
1457
1457
|
graphId,
|
|
1458
1458
|
enforcedBy: "writer",
|
|
1459
1459
|
...accepted
|
|
@@ -1483,7 +1483,7 @@ function assertSeparationMatchesProjection(graphId, persisted, projection) {
|
|
|
1483
1483
|
}
|
|
1484
1484
|
}
|
|
1485
1485
|
function separationMismatchError(graphId, detail) {
|
|
1486
|
-
return new
|
|
1486
|
+
return new chunkKCH7WQA5_cjs.ConfigurationError(
|
|
1487
1487
|
"Operational Identity materialized separation relation does not match the assertion ledger.",
|
|
1488
1488
|
{ code: "IDENTITY_SCHEMA_CONTRADICTION", graphId, ...detail },
|
|
1489
1489
|
{
|
|
@@ -1504,7 +1504,7 @@ async function validateCurrentRelation(ctx, target, relation, operation, a, b) {
|
|
|
1504
1504
|
const bClass = chunkN66HCGCY_cjs.requireDefined(classes.get(refKey(b)));
|
|
1505
1505
|
if (relation === "different") {
|
|
1506
1506
|
if (!containsRef(aClass, b)) return;
|
|
1507
|
-
throw new
|
|
1507
|
+
throw new chunkKCH7WQA5_cjs.IdentityContradictionError({
|
|
1508
1508
|
operation,
|
|
1509
1509
|
a,
|
|
1510
1510
|
b,
|
|
@@ -1523,7 +1523,7 @@ async function validateCurrentRelation(ctx, target, relation, operation, a, b) {
|
|
|
1523
1523
|
);
|
|
1524
1524
|
if (different === void 0)
|
|
1525
1525
|
throw unexpectedSeparationError(ctx.graphId, aKey, bKey);
|
|
1526
|
-
throw new
|
|
1526
|
+
throw new chunkKCH7WQA5_cjs.IdentityContradictionError({
|
|
1527
1527
|
operation,
|
|
1528
1528
|
a,
|
|
1529
1529
|
b,
|
|
@@ -1533,7 +1533,7 @@ async function validateCurrentRelation(ctx, target, relation, operation, a, b) {
|
|
|
1533
1533
|
}
|
|
1534
1534
|
const disjointKinds = classHasDisjointKinds(ctx.registry, aClass, bClass);
|
|
1535
1535
|
if (disjointKinds === void 0) return;
|
|
1536
|
-
throw new
|
|
1536
|
+
throw new chunkKCH7WQA5_cjs.IdentityContradictionError({
|
|
1537
1537
|
operation,
|
|
1538
1538
|
a,
|
|
1539
1539
|
b,
|
|
@@ -1543,8 +1543,8 @@ async function validateCurrentRelation(ctx, target, relation, operation, a, b) {
|
|
|
1543
1543
|
}
|
|
1544
1544
|
async function currentAssertionForPair(target, schema, graphId, relation, a, b) {
|
|
1545
1545
|
const rows = await target.execute(
|
|
1546
|
-
|
|
1547
|
-
SELECT ${
|
|
1546
|
+
chunk2ZWM2RFH_cjs.asCompiledRowsSql(chunk2ZWM2RFH_cjs.sql`
|
|
1547
|
+
SELECT ${chunkA4R3H7RU_cjs.IDENTITY_ASSERTION_COLUMNS}
|
|
1548
1548
|
FROM ${schema.identityAssertionsTable}
|
|
1549
1549
|
WHERE graph_id = ${graphId}
|
|
1550
1550
|
AND rel = ${relation}
|
|
@@ -1568,7 +1568,7 @@ async function insertAssertion(target, schema, graphId, relation, a, b, timestam
|
|
|
1568
1568
|
function buildAssertionRow(graphId, relation, a, b, timestamp, preserved) {
|
|
1569
1569
|
return {
|
|
1570
1570
|
graph_id: graphId,
|
|
1571
|
-
id: preserved?.id ??
|
|
1571
|
+
id: preserved?.id ?? chunkA4R3H7RU_cjs.generateId(),
|
|
1572
1572
|
rel: relation,
|
|
1573
1573
|
a_kind: a.kind,
|
|
1574
1574
|
a_id: a.id,
|
|
@@ -1584,7 +1584,7 @@ function buildAssertionRow(graphId, relation, a, b, timestamp, preserved) {
|
|
|
1584
1584
|
};
|
|
1585
1585
|
}
|
|
1586
1586
|
function nullableAssertionValue(value) {
|
|
1587
|
-
return value === void 0 ?
|
|
1587
|
+
return value === void 0 ? chunk2ZWM2RFH_cjs.sql`NULL` : chunk2ZWM2RFH_cjs.sql`${value}`;
|
|
1588
1588
|
}
|
|
1589
1589
|
async function insertAssertionRows(target, schema, rows) {
|
|
1590
1590
|
if (rows.length === 0) return;
|
|
@@ -1593,9 +1593,9 @@ async function insertAssertionRows(target, schema, rows) {
|
|
|
1593
1593
|
maxItems: MAX_ASSERTION_INSERT_CHUNK_SIZE,
|
|
1594
1594
|
parametersPerItem: 14
|
|
1595
1595
|
});
|
|
1596
|
-
for (const rowChunk of
|
|
1596
|
+
for (const rowChunk of chunkGVAMRRZR_cjs.chunk(rows, chunkSize)) {
|
|
1597
1597
|
const values = rowChunk.map(
|
|
1598
|
-
(row) =>
|
|
1598
|
+
(row) => chunk2ZWM2RFH_cjs.sql`
|
|
1599
1599
|
(
|
|
1600
1600
|
${row.graph_id}, ${row.id}, ${row.rel}, ${row.a_kind}, ${row.a_id},
|
|
1601
1601
|
${row.b_kind}, ${row.b_id}, ${row.valid_from},
|
|
@@ -1609,8 +1609,8 @@ async function insertAssertionRows(target, schema, rows) {
|
|
|
1609
1609
|
);
|
|
1610
1610
|
await executeIdentityStatement(
|
|
1611
1611
|
target,
|
|
1612
|
-
|
|
1613
|
-
INSERT INTO ${schema.identityAssertionsTable} (${
|
|
1612
|
+
chunk2ZWM2RFH_cjs.sql`
|
|
1613
|
+
INSERT INTO ${schema.identityAssertionsTable} (${chunkA4R3H7RU_cjs.IDENTITY_ASSERTION_COLUMNS}) VALUES ${chunk2ZWM2RFH_cjs.sql.join(values, chunk2ZWM2RFH_cjs.sql`, `)}
|
|
1614
1614
|
`
|
|
1615
1615
|
);
|
|
1616
1616
|
}
|
|
@@ -1624,14 +1624,14 @@ async function loadAssertionsByIds(target, schema, graphId, ids) {
|
|
|
1624
1624
|
maxItems: MAX_REFERENCE_CHUNK_SIZE,
|
|
1625
1625
|
parametersPerItem: 1
|
|
1626
1626
|
});
|
|
1627
|
-
for (const idChunk of
|
|
1628
|
-
const idList =
|
|
1629
|
-
idChunk.map((id) =>
|
|
1630
|
-
|
|
1627
|
+
for (const idChunk of chunkGVAMRRZR_cjs.chunk(uniqueIds, chunkSize)) {
|
|
1628
|
+
const idList = chunk2ZWM2RFH_cjs.sql.join(
|
|
1629
|
+
idChunk.map((id) => chunk2ZWM2RFH_cjs.sql`${id}`),
|
|
1630
|
+
chunk2ZWM2RFH_cjs.sql`, `
|
|
1631
1631
|
);
|
|
1632
1632
|
const rows = await target.execute(
|
|
1633
|
-
|
|
1634
|
-
SELECT ${
|
|
1633
|
+
chunk2ZWM2RFH_cjs.asCompiledRowsSql(chunk2ZWM2RFH_cjs.sql`
|
|
1634
|
+
SELECT ${chunkA4R3H7RU_cjs.IDENTITY_ASSERTION_COLUMNS}
|
|
1635
1635
|
FROM ${schema.identityAssertionsTable}
|
|
1636
1636
|
WHERE graph_id = ${graphId} AND id IN (${idList})
|
|
1637
1637
|
`)
|
|
@@ -1653,13 +1653,13 @@ async function loadCurrentClassAnchors(target, schema, graphId, references) {
|
|
|
1653
1653
|
maxItems: MAX_REFERENCE_CHUNK_SIZE,
|
|
1654
1654
|
parametersPerItem: 2
|
|
1655
1655
|
});
|
|
1656
|
-
for (const refChunk of
|
|
1657
|
-
const seedRows =
|
|
1658
|
-
refChunk.map((ref) =>
|
|
1659
|
-
|
|
1656
|
+
for (const refChunk of chunkGVAMRRZR_cjs.chunk(uniqueReferences, chunkSize)) {
|
|
1657
|
+
const seedRows = chunk2ZWM2RFH_cjs.sql.join(
|
|
1658
|
+
refChunk.map((ref) => chunk2ZWM2RFH_cjs.sql`(${ref.kind}, ${ref.id})`),
|
|
1659
|
+
chunk2ZWM2RFH_cjs.sql`, `
|
|
1660
1660
|
);
|
|
1661
1661
|
const rows = await target.execute(
|
|
1662
|
-
|
|
1662
|
+
chunk2ZWM2RFH_cjs.asCompiledRowsSql(chunk2ZWM2RFH_cjs.sql`
|
|
1663
1663
|
WITH seeds(seed_kind, seed_id) AS (
|
|
1664
1664
|
VALUES ${seedRows}
|
|
1665
1665
|
)
|
|
@@ -1754,7 +1754,7 @@ async function replaceClosure(target, schema, graphId, allowedKinds, sameIdAcros
|
|
|
1754
1754
|
);
|
|
1755
1755
|
await executeIdentityStatement(
|
|
1756
1756
|
target,
|
|
1757
|
-
|
|
1757
|
+
chunk2ZWM2RFH_cjs.sql`DELETE FROM ${schema.identityClosureTable} WHERE graph_id = ${graphId}`
|
|
1758
1758
|
);
|
|
1759
1759
|
await insertClosureComponents(target, schema, graphId, snapshot.components);
|
|
1760
1760
|
await deleteSeparationForGraph(target, schema, graphId);
|
|
@@ -1777,7 +1777,7 @@ async function insertClosureComponents(target, schema, graphId, components) {
|
|
|
1777
1777
|
for (const member of component) {
|
|
1778
1778
|
emitted.add(refKey(member));
|
|
1779
1779
|
values.push(
|
|
1780
|
-
|
|
1780
|
+
chunk2ZWM2RFH_cjs.sql`(${graphId}, ${member.kind}, ${member.id}, ${canonical.kind}, ${canonical.id})`
|
|
1781
1781
|
);
|
|
1782
1782
|
}
|
|
1783
1783
|
}
|
|
@@ -1787,13 +1787,13 @@ async function insertClosureComponents(target, schema, graphId, components) {
|
|
|
1787
1787
|
maxItems: MAX_CLOSURE_INSERT_CHUNK_SIZE,
|
|
1788
1788
|
parametersPerItem: 5
|
|
1789
1789
|
});
|
|
1790
|
-
for (const valueChunk of
|
|
1790
|
+
for (const valueChunk of chunkGVAMRRZR_cjs.chunk(values, chunkSize)) {
|
|
1791
1791
|
await executeIdentityStatement(
|
|
1792
1792
|
target,
|
|
1793
|
-
|
|
1793
|
+
chunk2ZWM2RFH_cjs.sql`
|
|
1794
1794
|
INSERT INTO ${schema.identityClosureTable} (
|
|
1795
1795
|
graph_id, member_kind, member_id, class_kind, class_id
|
|
1796
|
-
) VALUES ${
|
|
1796
|
+
) VALUES ${chunk2ZWM2RFH_cjs.sql.join(valueChunk, chunk2ZWM2RFH_cjs.sql`, `)}
|
|
1797
1797
|
`
|
|
1798
1798
|
);
|
|
1799
1799
|
}
|
|
@@ -1832,15 +1832,15 @@ async function replaceAffectedClosure(target, schema, graphId, references, sameI
|
|
|
1832
1832
|
maxItems: MAX_REFERENCE_CHUNK_SIZE,
|
|
1833
1833
|
parametersPerItem: 2
|
|
1834
1834
|
});
|
|
1835
|
-
for (const affectedChunk of
|
|
1835
|
+
for (const affectedChunk of chunkGVAMRRZR_cjs.chunk(affected, chunkSize)) {
|
|
1836
1836
|
const matches = referenceCondition(
|
|
1837
|
-
|
|
1838
|
-
|
|
1837
|
+
chunk2ZWM2RFH_cjs.sql`member_kind`,
|
|
1838
|
+
chunk2ZWM2RFH_cjs.sql`member_id`,
|
|
1839
1839
|
affectedChunk
|
|
1840
1840
|
);
|
|
1841
1841
|
await executeIdentityStatement(
|
|
1842
1842
|
target,
|
|
1843
|
-
|
|
1843
|
+
chunk2ZWM2RFH_cjs.sql`
|
|
1844
1844
|
DELETE FROM ${schema.identityClosureTable}
|
|
1845
1845
|
WHERE graph_id = ${graphId} AND ${matches}
|
|
1846
1846
|
`
|
|
@@ -1876,7 +1876,7 @@ async function mergeCurrentClasses(target, schema, graphId, a, b) {
|
|
|
1876
1876
|
if (refKey(previousCanonical) === refKey(canonical)) return;
|
|
1877
1877
|
await executeIdentityStatement(
|
|
1878
1878
|
target,
|
|
1879
|
-
|
|
1879
|
+
chunk2ZWM2RFH_cjs.sql`
|
|
1880
1880
|
UPDATE ${schema.identityClosureTable}
|
|
1881
1881
|
SET class_kind = ${canonical.kind}, class_id = ${canonical.id}
|
|
1882
1882
|
WHERE graph_id = ${graphId}
|
|
@@ -1892,14 +1892,14 @@ async function mergeCurrentClasses(target, schema, graphId, a, b) {
|
|
|
1892
1892
|
);
|
|
1893
1893
|
if (singletonMembers.length > 0) {
|
|
1894
1894
|
const values = singletonMembers.map(
|
|
1895
|
-
(member) =>
|
|
1895
|
+
(member) => chunk2ZWM2RFH_cjs.sql`(${graphId}, ${member.kind}, ${member.id}, ${canonical.kind}, ${canonical.id})`
|
|
1896
1896
|
);
|
|
1897
1897
|
await executeIdentityStatement(
|
|
1898
1898
|
target,
|
|
1899
|
-
|
|
1899
|
+
chunk2ZWM2RFH_cjs.sql`
|
|
1900
1900
|
INSERT INTO ${schema.identityClosureTable} (
|
|
1901
1901
|
graph_id, member_kind, member_id, class_kind, class_id
|
|
1902
|
-
) VALUES ${
|
|
1902
|
+
) VALUES ${chunk2ZWM2RFH_cjs.sql.join(values, chunk2ZWM2RFH_cjs.sql`, `)}
|
|
1903
1903
|
`
|
|
1904
1904
|
);
|
|
1905
1905
|
}
|
|
@@ -1940,7 +1940,7 @@ async function assertPair(ctx, target, relation, firstInput, secondInput, touch)
|
|
|
1940
1940
|
relation,
|
|
1941
1941
|
a,
|
|
1942
1942
|
b,
|
|
1943
|
-
|
|
1943
|
+
chunk5PDSCELM_cjs.nowIso(),
|
|
1944
1944
|
touch
|
|
1945
1945
|
);
|
|
1946
1946
|
if (relation === "same") {
|
|
@@ -2053,7 +2053,7 @@ async function bulkAssertPairs(ctx, target, relation, pairs, touch) {
|
|
|
2053
2053
|
const createdRows = [];
|
|
2054
2054
|
const results = [];
|
|
2055
2055
|
const closureReferences = [];
|
|
2056
|
-
const timestamp =
|
|
2056
|
+
const timestamp = chunk5PDSCELM_cjs.nowIso();
|
|
2057
2057
|
const operation = relation === "same" ? "assertSame" : "assertDifferent";
|
|
2058
2058
|
for (const [a, b] of normalizedPairs) {
|
|
2059
2059
|
const semanticKey = assertionSemanticKey(relation, a, b);
|
|
@@ -2066,7 +2066,7 @@ async function bulkAssertPairs(ctx, target, relation, pairs, touch) {
|
|
|
2066
2066
|
const rootB = unionFind.root(b);
|
|
2067
2067
|
if (relation === "different") {
|
|
2068
2068
|
if (rootA === rootB) {
|
|
2069
|
-
throw new
|
|
2069
|
+
throw new chunkKCH7WQA5_cjs.IdentityContradictionError({
|
|
2070
2070
|
operation,
|
|
2071
2071
|
a,
|
|
2072
2072
|
b,
|
|
@@ -2076,7 +2076,7 @@ async function bulkAssertPairs(ctx, target, relation, pairs, touch) {
|
|
|
2076
2076
|
} else {
|
|
2077
2077
|
const spanning = differentByRoot.get(rootA)?.get(rootB);
|
|
2078
2078
|
if (spanning !== void 0) {
|
|
2079
|
-
throw new
|
|
2079
|
+
throw new chunkKCH7WQA5_cjs.IdentityContradictionError({
|
|
2080
2080
|
operation,
|
|
2081
2081
|
a,
|
|
2082
2082
|
b,
|
|
@@ -2090,7 +2090,7 @@ async function bulkAssertPairs(ctx, target, relation, pairs, touch) {
|
|
|
2090
2090
|
kindsByRoot.get(rootB) ?? /* @__PURE__ */ new Set([b.kind])
|
|
2091
2091
|
);
|
|
2092
2092
|
if (disjointKinds !== void 0) {
|
|
2093
|
-
throw new
|
|
2093
|
+
throw new chunkKCH7WQA5_cjs.IdentityContradictionError({
|
|
2094
2094
|
operation,
|
|
2095
2095
|
a,
|
|
2096
2096
|
b,
|
|
@@ -2149,8 +2149,8 @@ async function bulkAssertPairs(ctx, target, relation, pairs, touch) {
|
|
|
2149
2149
|
}
|
|
2150
2150
|
async function findCurrentAssertionById(target, schema, graphId, id) {
|
|
2151
2151
|
const rows = await target.execute(
|
|
2152
|
-
|
|
2153
|
-
SELECT ${
|
|
2152
|
+
chunk2ZWM2RFH_cjs.asCompiledRowsSql(chunk2ZWM2RFH_cjs.sql`
|
|
2153
|
+
SELECT ${chunkA4R3H7RU_cjs.IDENTITY_ASSERTION_COLUMNS}
|
|
2154
2154
|
FROM ${schema.identityAssertionsTable}
|
|
2155
2155
|
WHERE graph_id = ${graphId}
|
|
2156
2156
|
AND id = ${id}
|
|
@@ -2169,12 +2169,12 @@ async function retractById(ctx, target, id, touch) {
|
|
|
2169
2169
|
id
|
|
2170
2170
|
);
|
|
2171
2171
|
if (existing === void 0) return void 0;
|
|
2172
|
-
const now =
|
|
2172
|
+
const now = chunk5PDSCELM_cjs.nowIso();
|
|
2173
2173
|
const validTo = clampValidTo(now, existing.valid_from);
|
|
2174
2174
|
const ended = { ...existing, valid_to: validTo, updated_at: now };
|
|
2175
2175
|
await executeIdentityStatement(
|
|
2176
2176
|
target,
|
|
2177
|
-
|
|
2177
|
+
chunk2ZWM2RFH_cjs.sql`
|
|
2178
2178
|
UPDATE ${ctx.schema.identityAssertionsTable}
|
|
2179
2179
|
SET valid_to = ${validTo}, updated_at = ${now}
|
|
2180
2180
|
WHERE graph_id = ${ctx.graphId}
|
|
@@ -2194,14 +2194,14 @@ async function retractByIds(ctx, target, ids, touch) {
|
|
|
2194
2194
|
maxItems: MAX_REFERENCE_CHUNK_SIZE,
|
|
2195
2195
|
parametersPerItem: 1
|
|
2196
2196
|
});
|
|
2197
|
-
for (const idChunk of
|
|
2198
|
-
const placeholders =
|
|
2199
|
-
idChunk.map((id) =>
|
|
2200
|
-
|
|
2197
|
+
for (const idChunk of chunkGVAMRRZR_cjs.chunk(uniqueIds, readChunkSize)) {
|
|
2198
|
+
const placeholders = chunk2ZWM2RFH_cjs.sql.join(
|
|
2199
|
+
idChunk.map((id) => chunk2ZWM2RFH_cjs.sql`${id}`),
|
|
2200
|
+
chunk2ZWM2RFH_cjs.sql`, `
|
|
2201
2201
|
);
|
|
2202
2202
|
const rows = await target.execute(
|
|
2203
|
-
|
|
2204
|
-
SELECT ${
|
|
2203
|
+
chunk2ZWM2RFH_cjs.asCompiledRowsSql(chunk2ZWM2RFH_cjs.sql`
|
|
2204
|
+
SELECT ${chunkA4R3H7RU_cjs.IDENTITY_ASSERTION_COLUMNS}
|
|
2205
2205
|
FROM ${ctx.schema.identityAssertionsTable}
|
|
2206
2206
|
WHERE graph_id = ${ctx.graphId}
|
|
2207
2207
|
AND id IN (${placeholders})
|
|
@@ -2212,7 +2212,7 @@ async function retractByIds(ctx, target, ids, touch) {
|
|
|
2212
2212
|
current.push(...rows.map((row) => normalizeIdentityAssertionRow(row)));
|
|
2213
2213
|
}
|
|
2214
2214
|
if (current.length === 0) return [];
|
|
2215
|
-
const now =
|
|
2215
|
+
const now = chunk5PDSCELM_cjs.nowIso();
|
|
2216
2216
|
const byValidTo = /* @__PURE__ */ new Map();
|
|
2217
2217
|
const endedById = /* @__PURE__ */ new Map();
|
|
2218
2218
|
for (const row of current) {
|
|
@@ -2228,14 +2228,14 @@ async function retractByIds(ctx, target, ids, touch) {
|
|
|
2228
2228
|
parametersPerItem: 1
|
|
2229
2229
|
});
|
|
2230
2230
|
for (const [validTo, ids2] of byValidTo) {
|
|
2231
|
-
for (const idChunk of
|
|
2232
|
-
const placeholders =
|
|
2233
|
-
idChunk.map((id) =>
|
|
2234
|
-
|
|
2231
|
+
for (const idChunk of chunkGVAMRRZR_cjs.chunk(ids2, updateChunkSize)) {
|
|
2232
|
+
const placeholders = chunk2ZWM2RFH_cjs.sql.join(
|
|
2233
|
+
idChunk.map((id) => chunk2ZWM2RFH_cjs.sql`${id}`),
|
|
2234
|
+
chunk2ZWM2RFH_cjs.sql`, `
|
|
2235
2235
|
);
|
|
2236
2236
|
await executeIdentityStatement(
|
|
2237
2237
|
target,
|
|
2238
|
-
|
|
2238
|
+
chunk2ZWM2RFH_cjs.sql`
|
|
2239
2239
|
UPDATE ${ctx.schema.identityAssertionsTable}
|
|
2240
2240
|
SET valid_to = ${validTo}, updated_at = ${now}
|
|
2241
2241
|
WHERE graph_id = ${ctx.graphId}
|
|
@@ -2275,7 +2275,7 @@ async function runIdentityMutation(ctx, fn) {
|
|
|
2275
2275
|
ctx.backend,
|
|
2276
2276
|
async (target) => {
|
|
2277
2277
|
await lockIdentityGraph(target, ctx.graphId);
|
|
2278
|
-
return
|
|
2278
|
+
return chunkA4R3H7RU_cjs.withRecordedIdentityMutationTarget(
|
|
2279
2279
|
target,
|
|
2280
2280
|
(rawTarget, touch) => fn(
|
|
2281
2281
|
rawTarget,
|
|
@@ -2400,7 +2400,7 @@ function createIdentityReadFacade(ctx) {
|
|
|
2400
2400
|
);
|
|
2401
2401
|
return assertions.filter(
|
|
2402
2402
|
(assertion) => assertion.a_kind === ref.kind && assertion.a_id === ref.id || assertion.b_kind === ref.kind && assertion.b_id === ref.id
|
|
2403
|
-
).toSorted((left, right) =>
|
|
2403
|
+
).toSorted((left, right) => chunkA4R3H7RU_cjs.compareCodePoints(left.id, right.id)).map((assertion) => publicAssertion(assertion));
|
|
2404
2404
|
}
|
|
2405
2405
|
};
|
|
2406
2406
|
}
|
|
@@ -2551,7 +2551,7 @@ function createIdentityFacade(ctx) {
|
|
|
2551
2551
|
|
|
2552
2552
|
// src/identity/service-interchange-write.ts
|
|
2553
2553
|
function transferShapeError(assertion, message, issue) {
|
|
2554
|
-
return new
|
|
2554
|
+
return new chunkKCH7WQA5_cjs.ValidationError(message, {
|
|
2555
2555
|
issues: [
|
|
2556
2556
|
{
|
|
2557
2557
|
path: "identity.assertions",
|
|
@@ -2604,8 +2604,8 @@ function validateTransferShape(ctx, assertion, mode) {
|
|
|
2604
2604
|
}
|
|
2605
2605
|
);
|
|
2606
2606
|
}
|
|
2607
|
-
const now =
|
|
2608
|
-
if (assertion.validTo === void 0 &&
|
|
2607
|
+
const now = chunk5PDSCELM_cjs.nowIso();
|
|
2608
|
+
if (assertion.validTo === void 0 && chunkA4R3H7RU_cjs.compareCodePoints(assertion.validFrom, now) > 0) {
|
|
2609
2609
|
throw transferShapeError(
|
|
2610
2610
|
assertion,
|
|
2611
2611
|
"Identity import cannot contain future-dated open assertions.",
|
|
@@ -2615,7 +2615,7 @@ function validateTransferShape(ctx, assertion, mode) {
|
|
|
2615
2615
|
}
|
|
2616
2616
|
);
|
|
2617
2617
|
}
|
|
2618
|
-
if (assertion.validTo !== void 0 &&
|
|
2618
|
+
if (assertion.validTo !== void 0 && chunkA4R3H7RU_cjs.compareCodePoints(assertion.validTo, assertion.validFrom) < 0) {
|
|
2619
2619
|
throw transferShapeError(
|
|
2620
2620
|
assertion,
|
|
2621
2621
|
"Identity assertion validity window is empty.",
|
|
@@ -2648,7 +2648,7 @@ function validateTransferShape(ctx, assertion, mode) {
|
|
|
2648
2648
|
);
|
|
2649
2649
|
}
|
|
2650
2650
|
}
|
|
2651
|
-
if (assertion.validTo !== void 0 &&
|
|
2651
|
+
if (assertion.validTo !== void 0 && chunkA4R3H7RU_cjs.compareCodePoints(assertion.validTo, now) > 0) {
|
|
2652
2652
|
throw transferShapeError(
|
|
2653
2653
|
assertion,
|
|
2654
2654
|
"Identity import cannot contain assertions that end in the future.",
|
|
@@ -2684,7 +2684,7 @@ function rethrowTaggedWithAssertion(error, assertionId, progress) {
|
|
|
2684
2684
|
async function importIdentityAssertionsIntoTarget(ctx, target, assertions, mode) {
|
|
2685
2685
|
let created = 0;
|
|
2686
2686
|
let skipped = 0;
|
|
2687
|
-
await
|
|
2687
|
+
await chunkA4R3H7RU_cjs.withRecordedIdentityMutationTarget(target, async (rawTarget, touch) => {
|
|
2688
2688
|
const normalized = assertions.map((assertion) => ({
|
|
2689
2689
|
assertion,
|
|
2690
2690
|
endpoints: validateTransferShape(ctx, assertion, mode)
|
|
@@ -2706,7 +2706,7 @@ async function importIdentityAssertionsIntoTarget(ctx, target, assertions, mode)
|
|
|
2706
2706
|
}
|
|
2707
2707
|
}
|
|
2708
2708
|
const attributeMissingEndpoint = (error, ended) => {
|
|
2709
|
-
if (error instanceof
|
|
2709
|
+
if (error instanceof chunkKCH7WQA5_cjs.NodeNotFoundError) {
|
|
2710
2710
|
const missing = { kind: error.details.kind, id: error.details.id };
|
|
2711
2711
|
const failing = normalized.find(
|
|
2712
2712
|
({ assertion, endpoints }) => assertion.validTo !== void 0 === ended && endpoints.some(
|
|
@@ -2752,7 +2752,7 @@ async function importIdentityAssertionsIntoTarget(ctx, target, assertions, mode)
|
|
|
2752
2752
|
skipped += 1;
|
|
2753
2753
|
continue;
|
|
2754
2754
|
}
|
|
2755
|
-
throw new
|
|
2755
|
+
throw new chunkKCH7WQA5_cjs.ConfigurationError(
|
|
2756
2756
|
`Identity assertion id ${assertion.id} already identifies different truth.`,
|
|
2757
2757
|
{
|
|
2758
2758
|
code: "IDENTITY_IMPORT_ID_CONFLICT",
|
|
@@ -2812,7 +2812,7 @@ async function importIdentityAssertionsIntoTarget(ctx, target, assertions, mode)
|
|
|
2812
2812
|
assertion.relation,
|
|
2813
2813
|
a,
|
|
2814
2814
|
b,
|
|
2815
|
-
|
|
2815
|
+
chunk5PDSCELM_cjs.nowIso(),
|
|
2816
2816
|
touch,
|
|
2817
2817
|
{ id: assertion.id, validFrom: assertion.validFrom }
|
|
2818
2818
|
);
|
|
@@ -2871,7 +2871,7 @@ async function applyIdentityChangesForContext(ctx, retractionIds, assertions) {
|
|
|
2871
2871
|
// src/identity/service-maintenance.ts
|
|
2872
2872
|
function requireAtomicIdentityBackend(backend, graphId) {
|
|
2873
2873
|
if (!backend.capabilities.transactions) {
|
|
2874
|
-
throw new
|
|
2874
|
+
throw new chunkKCH7WQA5_cjs.ConfigurationError(
|
|
2875
2875
|
"Operational Identity requires atomic transaction support.",
|
|
2876
2876
|
{ code: "IDENTITY_REQUIRES_ATOMIC_BACKEND", graphId }
|
|
2877
2877
|
);
|
|
@@ -2888,7 +2888,7 @@ async function rebuildIdentityClosureForContext(ctx) {
|
|
|
2888
2888
|
requireAtomicIdentityBackend(ctx.backend, ctx.graphId);
|
|
2889
2889
|
async function rebuildAtTarget(target) {
|
|
2890
2890
|
await lockIdentityGraph(target, ctx.graphId);
|
|
2891
|
-
await
|
|
2891
|
+
await chunkA4R3H7RU_cjs.withRecordedIdentityMutationTarget(target, async (rawTarget) => {
|
|
2892
2892
|
const activeKinds = identityActiveKinds(ctx.registry);
|
|
2893
2893
|
const snapshot = await loadSnapshot(
|
|
2894
2894
|
rawTarget,
|
|
@@ -2986,7 +2986,7 @@ async function findAffectedClassInconsistency(ctx, target, seeds) {
|
|
|
2986
2986
|
const [leftKind, rightKind] = conflictingKinds;
|
|
2987
2987
|
return {
|
|
2988
2988
|
kind: "contradiction",
|
|
2989
|
-
error: new
|
|
2989
|
+
error: new chunkKCH7WQA5_cjs.IdentityContradictionError({
|
|
2990
2990
|
operation: "merge",
|
|
2991
2991
|
a: firstMemberOfKind(members, leftKind),
|
|
2992
2992
|
b: firstMemberOfKind(members, rightKind),
|
|
@@ -3012,7 +3012,7 @@ async function findAffectedClassInconsistency(ctx, target, seeds) {
|
|
|
3012
3012
|
if (aClassKey === void 0 || aClassKey !== bClassKey) continue;
|
|
3013
3013
|
return {
|
|
3014
3014
|
kind: "contradiction",
|
|
3015
|
-
error: new
|
|
3015
|
+
error: new chunkKCH7WQA5_cjs.IdentityContradictionError({
|
|
3016
3016
|
operation: "merge",
|
|
3017
3017
|
a,
|
|
3018
3018
|
b,
|
|
@@ -3080,7 +3080,7 @@ async function assertAffectedIdentityClassesConsistent(ctx, target, seeds) {
|
|
|
3080
3080
|
await lockIdentityGraph(target, ctx.graphId);
|
|
3081
3081
|
const observed = await findAffectedClassInconsistency(ctx, target, seeds);
|
|
3082
3082
|
if (observed === void 0) return;
|
|
3083
|
-
await
|
|
3083
|
+
await chunkA4R3H7RU_cjs.withRecordedIdentityMutationTarget(target, async (rawTarget) => {
|
|
3084
3084
|
await replaceClosure(
|
|
3085
3085
|
rawTarget,
|
|
3086
3086
|
ctx.schema,
|
|
@@ -3103,14 +3103,14 @@ async function deleteAssertionsTouchingKinds(target, schema, graphId, kinds, tou
|
|
|
3103
3103
|
maxItems: MAX_REFERENCE_CHUNK_SIZE,
|
|
3104
3104
|
parametersPerItem: 2
|
|
3105
3105
|
});
|
|
3106
|
-
for (const kindChunk of
|
|
3107
|
-
const kindList2 =
|
|
3108
|
-
kindChunk.map((kind) =>
|
|
3109
|
-
|
|
3106
|
+
for (const kindChunk of chunkGVAMRRZR_cjs.chunk(removedKinds, kindChunkSize)) {
|
|
3107
|
+
const kindList2 = chunk2ZWM2RFH_cjs.sql.join(
|
|
3108
|
+
kindChunk.map((kind) => chunk2ZWM2RFH_cjs.sql`${kind}`),
|
|
3109
|
+
chunk2ZWM2RFH_cjs.sql`, `
|
|
3110
3110
|
);
|
|
3111
3111
|
const rows = await target.execute(
|
|
3112
|
-
|
|
3113
|
-
SELECT ${
|
|
3112
|
+
chunk2ZWM2RFH_cjs.asCompiledRowsSql(chunk2ZWM2RFH_cjs.sql`
|
|
3113
|
+
SELECT ${chunkA4R3H7RU_cjs.IDENTITY_ASSERTION_COLUMNS}
|
|
3114
3114
|
FROM ${schema.identityAssertionsTable}
|
|
3115
3115
|
WHERE graph_id = ${graphId}
|
|
3116
3116
|
AND (a_kind IN (${kindList2}) OR b_kind IN (${kindList2}))
|
|
@@ -3127,14 +3127,14 @@ async function deleteAssertionsTouchingKinds(target, schema, graphId, kinds, tou
|
|
|
3127
3127
|
maxItems: MAX_REFERENCE_CHUNK_SIZE,
|
|
3128
3128
|
parametersPerItem: 1
|
|
3129
3129
|
});
|
|
3130
|
-
for (const idChunk of
|
|
3131
|
-
const idList =
|
|
3132
|
-
idChunk.map((id) =>
|
|
3133
|
-
|
|
3130
|
+
for (const idChunk of chunkGVAMRRZR_cjs.chunk(ids, idChunkSize)) {
|
|
3131
|
+
const idList = chunk2ZWM2RFH_cjs.sql.join(
|
|
3132
|
+
idChunk.map((id) => chunk2ZWM2RFH_cjs.sql`${id}`),
|
|
3133
|
+
chunk2ZWM2RFH_cjs.sql`, `
|
|
3134
3134
|
);
|
|
3135
3135
|
await executeIdentityStatement(
|
|
3136
3136
|
target,
|
|
3137
|
-
|
|
3137
|
+
chunk2ZWM2RFH_cjs.sql`
|
|
3138
3138
|
DELETE FROM ${schema.identityAssertionsTable}
|
|
3139
3139
|
WHERE graph_id = ${graphId} AND id IN (${idList})
|
|
3140
3140
|
`
|
|
@@ -3151,13 +3151,13 @@ async function hasAssertionsTouchingKinds(target, schema, graphId, kinds) {
|
|
|
3151
3151
|
maxItems: MAX_REFERENCE_CHUNK_SIZE,
|
|
3152
3152
|
parametersPerItem: 2
|
|
3153
3153
|
});
|
|
3154
|
-
for (const kindChunk of
|
|
3155
|
-
const kindList2 =
|
|
3156
|
-
kindChunk.map((kind) =>
|
|
3157
|
-
|
|
3154
|
+
for (const kindChunk of chunkGVAMRRZR_cjs.chunk(probedKinds, kindChunkSize)) {
|
|
3155
|
+
const kindList2 = chunk2ZWM2RFH_cjs.sql.join(
|
|
3156
|
+
kindChunk.map((kind) => chunk2ZWM2RFH_cjs.sql`${kind}`),
|
|
3157
|
+
chunk2ZWM2RFH_cjs.sql`, `
|
|
3158
3158
|
);
|
|
3159
3159
|
const rows = await target.execute(
|
|
3160
|
-
|
|
3160
|
+
chunk2ZWM2RFH_cjs.asCompiledRowsSql(chunk2ZWM2RFH_cjs.sql`
|
|
3161
3161
|
SELECT id
|
|
3162
3162
|
FROM ${schema.identityAssertionsTable}
|
|
3163
3163
|
WHERE graph_id = ${graphId}
|
|
@@ -3171,7 +3171,7 @@ async function hasAssertionsTouchingKinds(target, schema, graphId, kinds) {
|
|
|
3171
3171
|
}
|
|
3172
3172
|
async function purgeAssertionsWithUnregisteredKinds(target, schema, graphId, registeredKinds, touch) {
|
|
3173
3173
|
const pairs = await target.execute(
|
|
3174
|
-
|
|
3174
|
+
chunk2ZWM2RFH_cjs.asCompiledRowsSql(chunk2ZWM2RFH_cjs.sql`
|
|
3175
3175
|
SELECT DISTINCT a_kind, b_kind
|
|
3176
3176
|
FROM ${schema.identityAssertionsTable}
|
|
3177
3177
|
WHERE graph_id = ${graphId}
|
|
@@ -3221,13 +3221,13 @@ async function liveNodeKindsSharingIds(ctx, target, ids) {
|
|
|
3221
3221
|
maxItems: MAX_REFERENCE_CHUNK_SIZE,
|
|
3222
3222
|
parametersPerItem: 1
|
|
3223
3223
|
});
|
|
3224
|
-
for (const idChunk of
|
|
3225
|
-
const idList =
|
|
3226
|
-
idChunk.map((id) =>
|
|
3227
|
-
|
|
3224
|
+
for (const idChunk of chunkGVAMRRZR_cjs.chunk(uniqueIds, chunkSize)) {
|
|
3225
|
+
const idList = chunk2ZWM2RFH_cjs.sql.join(
|
|
3226
|
+
idChunk.map((id) => chunk2ZWM2RFH_cjs.sql`${id}`),
|
|
3227
|
+
chunk2ZWM2RFH_cjs.sql`, `
|
|
3228
3228
|
);
|
|
3229
3229
|
const rows = await target.execute(
|
|
3230
|
-
|
|
3230
|
+
chunk2ZWM2RFH_cjs.asCompiledRowsSql(chunk2ZWM2RFH_cjs.sql`
|
|
3231
3231
|
SELECT kind, id
|
|
3232
3232
|
FROM ${ctx.schema.nodesTable}
|
|
3233
3233
|
WHERE graph_id = ${ctx.graphId}
|
|
@@ -3247,7 +3247,7 @@ async function liveNodeKindsSharingIds(ctx, target, ids) {
|
|
|
3247
3247
|
async function foldIdentityForCreatedNodes(ctx, target, references) {
|
|
3248
3248
|
if (references.length === 0 || ctx.sameIdAcrossKinds === "ignore") return;
|
|
3249
3249
|
await lockIdentityGraph(target, ctx.graphId);
|
|
3250
|
-
await
|
|
3250
|
+
await chunkA4R3H7RU_cjs.withRecordedIdentityMutationTarget(target, async (rawTarget) => {
|
|
3251
3251
|
const liveKindsById = await liveNodeKindsSharingIds(
|
|
3252
3252
|
ctx,
|
|
3253
3253
|
rawTarget,
|
|
@@ -3287,7 +3287,7 @@ async function foldIdentityForCreatedNodes(ctx, target, references) {
|
|
|
3287
3287
|
}
|
|
3288
3288
|
async function hasMaterializedIdentityClass(target, schema, graphId, ref) {
|
|
3289
3289
|
const rows = await target.execute(
|
|
3290
|
-
|
|
3290
|
+
chunk2ZWM2RFH_cjs.asCompiledRowsSql(chunk2ZWM2RFH_cjs.sql`
|
|
3291
3291
|
SELECT member_kind, member_id
|
|
3292
3292
|
FROM ${schema.identityClosureTable}
|
|
3293
3293
|
WHERE graph_id = ${graphId}
|
|
@@ -3300,7 +3300,7 @@ async function hasMaterializedIdentityClass(target, schema, graphId, ref) {
|
|
|
3300
3300
|
}
|
|
3301
3301
|
async function readNodeDeletionInstant(target, schema, graphId, ref) {
|
|
3302
3302
|
const rows = await target.execute(
|
|
3303
|
-
|
|
3303
|
+
chunk2ZWM2RFH_cjs.asCompiledRowsSql(chunk2ZWM2RFH_cjs.sql`
|
|
3304
3304
|
SELECT deleted_at
|
|
3305
3305
|
FROM ${schema.nodesTable}
|
|
3306
3306
|
WHERE graph_id = ${graphId}
|
|
@@ -3314,17 +3314,17 @@ async function readNodeDeletionInstant(target, schema, graphId, ref) {
|
|
|
3314
3314
|
}
|
|
3315
3315
|
async function detachIdentityForNode(ctx, target, ref, mode) {
|
|
3316
3316
|
await lockIdentityGraph(target, ctx.graphId);
|
|
3317
|
-
await
|
|
3318
|
-
const touchesNode =
|
|
3317
|
+
await chunkA4R3H7RU_cjs.withRecordedIdentityMutationTarget(target, async (rawTarget, touch) => {
|
|
3318
|
+
const touchesNode = chunk2ZWM2RFH_cjs.sql`
|
|
3319
3319
|
(
|
|
3320
3320
|
(a_kind = ${ref.kind} AND a_id = ${ref.id})
|
|
3321
3321
|
OR (b_kind = ${ref.kind} AND b_id = ${ref.id})
|
|
3322
3322
|
)
|
|
3323
3323
|
`;
|
|
3324
|
-
const scope = mode === "hard" ?
|
|
3324
|
+
const scope = mode === "hard" ? chunk2ZWM2RFH_cjs.sql`` : chunk2ZWM2RFH_cjs.sql`AND valid_to IS NULL AND deleted_at IS NULL`;
|
|
3325
3325
|
const rows = await rawTarget.execute(
|
|
3326
|
-
|
|
3327
|
-
SELECT ${
|
|
3326
|
+
chunk2ZWM2RFH_cjs.asCompiledRowsSql(chunk2ZWM2RFH_cjs.sql`
|
|
3327
|
+
SELECT ${chunkA4R3H7RU_cjs.IDENTITY_ASSERTION_COLUMNS}
|
|
3328
3328
|
FROM ${ctx.schema.identityAssertionsTable}
|
|
3329
3329
|
WHERE graph_id = ${ctx.graphId}
|
|
3330
3330
|
${scope}
|
|
@@ -3339,7 +3339,7 @@ async function detachIdentityForNode(ctx, target, ref, mode) {
|
|
|
3339
3339
|
)) {
|
|
3340
3340
|
return;
|
|
3341
3341
|
}
|
|
3342
|
-
const now =
|
|
3342
|
+
const now = chunk5PDSCELM_cjs.nowIso();
|
|
3343
3343
|
const cascadeInstant = mode === "hard" || rows.length === 0 ? now : await readNodeDeletionInstant(
|
|
3344
3344
|
rawTarget,
|
|
3345
3345
|
ctx.schema,
|
|
@@ -3351,7 +3351,7 @@ async function detachIdentityForNode(ctx, target, ref, mode) {
|
|
|
3351
3351
|
if (mode === "hard") {
|
|
3352
3352
|
await executeIdentityStatement(
|
|
3353
3353
|
rawTarget,
|
|
3354
|
-
|
|
3354
|
+
chunk2ZWM2RFH_cjs.sql`
|
|
3355
3355
|
DELETE FROM ${ctx.schema.identityAssertionsTable}
|
|
3356
3356
|
WHERE graph_id = ${ctx.graphId} AND id = ${row.id}
|
|
3357
3357
|
`
|
|
@@ -3368,7 +3368,7 @@ async function detachIdentityForNode(ctx, target, ref, mode) {
|
|
|
3368
3368
|
};
|
|
3369
3369
|
await executeIdentityStatement(
|
|
3370
3370
|
rawTarget,
|
|
3371
|
-
|
|
3371
|
+
chunk2ZWM2RFH_cjs.sql`
|
|
3372
3372
|
UPDATE ${ctx.schema.identityAssertionsTable}
|
|
3373
3373
|
SET valid_to = ${validTo},
|
|
3374
3374
|
updated_at = ${now},
|
|
@@ -3428,5 +3428,5 @@ exports.validateNodeProps = validateNodeProps;
|
|
|
3428
3428
|
exports.validateProps = validateProps;
|
|
3429
3429
|
exports.withWriteTransactionSession = withWriteTransactionSession;
|
|
3430
3430
|
exports.wrapZodError = wrapZodError;
|
|
3431
|
-
//# sourceMappingURL=chunk-
|
|
3432
|
-
//# sourceMappingURL=chunk-
|
|
3431
|
+
//# sourceMappingURL=chunk-QPOQX2DI.cjs.map
|
|
3432
|
+
//# sourceMappingURL=chunk-QPOQX2DI.cjs.map
|