@nicia-ai/typegraph 0.45.0 → 0.46.0
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 +11 -11
- package/dist/backend/drizzle/indexes.d.cts +1 -1
- package/dist/backend/drizzle/indexes.d.ts +1 -1
- package/dist/backend/drizzle/indexes.js +7 -7
- package/dist/backend/index.cjs +53 -54
- package/dist/backend/index.d.cts +3 -3
- package/dist/backend/index.d.ts +3 -3
- package/dist/backend/index.js +13 -14
- package/dist/backend/postgres/index.cjs +29 -30
- package/dist/backend/postgres/index.d.cts +7 -7
- package/dist/backend/postgres/index.d.ts +7 -7
- package/dist/backend/postgres/index.js +16 -17
- package/dist/backend/postgres/pglite-store.cjs +48 -42
- package/dist/backend/postgres/pglite-store.cjs.map +1 -1
- package/dist/backend/postgres/pglite-store.d.cts +15 -9
- package/dist/backend/postgres/pglite-store.d.ts +15 -9
- package/dist/backend/postgres/pglite-store.js +44 -38
- package/dist/backend/postgres/pglite-store.js.map +1 -1
- package/dist/backend/postgres/pglite.cjs +18 -19
- package/dist/backend/postgres/pglite.d.cts +4 -4
- package/dist/backend/postgres/pglite.d.ts +4 -4
- package/dist/backend/postgres/pglite.js +17 -18
- package/dist/backend/sqlite/index.cjs +26 -27
- package/dist/backend/sqlite/index.d.cts +6 -6
- package/dist/backend/sqlite/index.d.ts +6 -6
- package/dist/backend/sqlite/index.js +14 -15
- package/dist/backend/sqlite/libsql.cjs +21 -22
- package/dist/backend/sqlite/libsql.cjs.map +1 -1
- package/dist/backend/sqlite/libsql.d.cts +15 -8
- package/dist/backend/sqlite/libsql.d.ts +15 -8
- package/dist/backend/sqlite/libsql.js +17 -18
- package/dist/backend/sqlite/libsql.js.map +1 -1
- package/dist/backend/sqlite/local-store.cjs +49 -43
- package/dist/backend/sqlite/local-store.cjs.map +1 -1
- package/dist/backend/sqlite/local-store.d.cts +15 -10
- package/dist/backend/sqlite/local-store.d.ts +15 -10
- package/dist/backend/sqlite/local-store.js +45 -39
- package/dist/backend/sqlite/local-store.js.map +1 -1
- package/dist/backend/sqlite/local.cjs +19 -20
- package/dist/backend/sqlite/local.d.cts +3 -3
- package/dist/backend/sqlite/local.d.ts +3 -3
- package/dist/backend/sqlite/local.js +17 -18
- package/dist/{chunk-S3ZRKJHY.js → chunk-2LG2XB2M.js} +3 -3
- package/dist/{chunk-S3ZRKJHY.js.map → chunk-2LG2XB2M.js.map} +1 -1
- package/dist/{chunk-7PF2L3H6.cjs → chunk-2NA5DYLO.cjs} +4 -4
- package/dist/{chunk-7PF2L3H6.cjs.map → chunk-2NA5DYLO.cjs.map} +1 -1
- package/dist/{chunk-VVQM4CZD.cjs → chunk-3DHZCOT7.cjs} +20 -20
- package/dist/{chunk-VVQM4CZD.cjs.map → chunk-3DHZCOT7.cjs.map} +1 -1
- package/dist/{chunk-JXUTCSXX.cjs → chunk-4UGOKMI5.cjs} +250 -158
- package/dist/chunk-4UGOKMI5.cjs.map +1 -0
- package/dist/{chunk-RFRM3Q5K.js → chunk-5262ZMTR.js} +14 -5
- package/dist/chunk-5262ZMTR.js.map +1 -0
- package/dist/{chunk-QRNYDV5Z.js → chunk-5763DULU.js} +214 -69
- package/dist/chunk-5763DULU.js.map +1 -0
- package/dist/{chunk-BGYJW37L.js → chunk-5UVRGXD3.js} +277 -7
- package/dist/chunk-5UVRGXD3.js.map +1 -0
- package/dist/{chunk-QR24DJDF.cjs → chunk-62ZP23AW.cjs} +15 -15
- package/dist/{chunk-QR24DJDF.cjs.map → chunk-62ZP23AW.cjs.map} +1 -1
- package/dist/{chunk-S4KQ5LV4.js → chunk-775A4ZMN.js} +40 -6
- package/dist/chunk-775A4ZMN.js.map +1 -0
- package/dist/{chunk-J2ICGNHO.cjs → chunk-7BQXPCGN.cjs} +830 -169
- package/dist/chunk-7BQXPCGN.cjs.map +1 -0
- package/dist/{chunk-FJMPR3OH.cjs → chunk-7EO3TCQB.cjs} +33 -7
- package/dist/chunk-7EO3TCQB.cjs.map +1 -0
- package/dist/{chunk-UCQ3BFSY.cjs → chunk-7GT72YHH.cjs} +682 -332
- package/dist/chunk-7GT72YHH.cjs.map +1 -0
- package/dist/{chunk-DXEEHSGN.js → chunk-7VQXLT5O.js} +436 -43
- package/dist/chunk-7VQXLT5O.js.map +1 -0
- package/dist/{chunk-ID4WXTKL.js → chunk-7Z5OR7KO.js} +2360 -605
- package/dist/chunk-7Z5OR7KO.js.map +1 -0
- package/dist/chunk-A4OC4DVN.cjs +12 -0
- package/dist/{chunk-4SZ6XPTG.cjs.map → chunk-A4OC4DVN.cjs.map} +1 -1
- package/dist/{chunk-TDXIBCGY.cjs → chunk-A7J2YDDI.cjs} +5 -3
- package/dist/chunk-A7J2YDDI.cjs.map +1 -0
- package/dist/{chunk-55ITBQJI.js → chunk-AKLS3BYZ.js} +56 -5
- package/dist/chunk-AKLS3BYZ.js.map +1 -0
- package/dist/{chunk-D7PG5D5K.js → chunk-AMKPPFUO.js} +32 -6
- package/dist/chunk-AMKPPFUO.js.map +1 -0
- package/dist/{chunk-WUFASQUO.js → chunk-ASTI57H3.js} +3 -3
- package/dist/{chunk-WUFASQUO.js.map → chunk-ASTI57H3.js.map} +1 -1
- package/dist/{chunk-4QIKLIGG.js → chunk-BKCUOV7A.js} +15 -5
- package/dist/chunk-BKCUOV7A.js.map +1 -0
- package/dist/{chunk-JQXSZHF2.cjs → chunk-BSFJMMV3.cjs} +134 -7
- package/dist/chunk-BSFJMMV3.cjs.map +1 -0
- package/dist/{chunk-4GUTQPVO.js → chunk-C23WSN5E.js} +185 -24
- package/dist/chunk-C23WSN5E.js.map +1 -0
- package/dist/{chunk-QLUXRWKL.js → chunk-CBTIUB76.js} +3 -3
- package/dist/{chunk-QLUXRWKL.js.map → chunk-CBTIUB76.js.map} +1 -1
- package/dist/chunk-CNV4TXJG.js +58 -0
- package/dist/chunk-CNV4TXJG.js.map +1 -0
- package/dist/{chunk-QB6VMOJ2.cjs → chunk-CXBHOOIQ.cjs} +45 -10
- package/dist/chunk-CXBHOOIQ.cjs.map +1 -0
- package/dist/{chunk-FL5UQRES.js → chunk-DCQVHAYQ.js} +5 -5
- package/dist/{chunk-FL5UQRES.js.map → chunk-DCQVHAYQ.js.map} +1 -1
- package/dist/chunk-DLNROMQ7.js +306 -0
- package/dist/chunk-DLNROMQ7.js.map +1 -0
- package/dist/chunk-DYATYRY4.js +47 -0
- package/dist/chunk-DYATYRY4.js.map +1 -0
- package/dist/chunk-E4WNQBEF.cjs +217 -0
- package/dist/chunk-E4WNQBEF.cjs.map +1 -0
- package/dist/{chunk-G6Q5UM7U.js → chunk-FWJKWH6U.js} +5 -3
- package/dist/chunk-FWJKWH6U.js.map +1 -0
- package/dist/{chunk-VTN3C3CH.js → chunk-HFHTMECK.js} +7 -7
- package/dist/{chunk-VTN3C3CH.js.map → chunk-HFHTMECK.js.map} +1 -1
- package/dist/{chunk-FLEQ2HBK.js → chunk-I5MOXA4H.js} +20 -14
- package/dist/chunk-I5MOXA4H.js.map +1 -0
- package/dist/{chunk-4MB3AQAQ.js → chunk-J3WZ3FA2.js} +77 -3
- package/dist/chunk-J3WZ3FA2.js.map +1 -0
- package/dist/{chunk-UR7W5YQK.js → chunk-JBQQ7THH.js} +5 -3
- package/dist/chunk-JBQQ7THH.js.map +1 -0
- package/dist/chunk-JIVMTW7W.js +3393 -0
- package/dist/chunk-JIVMTW7W.js.map +1 -0
- package/dist/{chunk-TKP5T34P.js → chunk-JXA2ZP2Q.js} +6 -16
- package/dist/chunk-JXA2ZP2Q.js.map +1 -0
- package/dist/{chunk-GYA4JRP5.js → chunk-JXXDZTMN.js} +2 -2
- package/dist/chunk-JXXDZTMN.js.map +1 -0
- package/dist/chunk-JZUR7ZWE.js +254 -0
- package/dist/chunk-JZUR7ZWE.js.map +1 -0
- package/dist/{chunk-42PYUGLS.js → chunk-K5ELX2GT.js} +108 -8
- package/dist/chunk-K5ELX2GT.js.map +1 -0
- package/dist/{chunk-D54WH24V.cjs → chunk-LBJKZXDE.cjs} +115 -13
- package/dist/chunk-LBJKZXDE.cjs.map +1 -0
- package/dist/{chunk-4MEWSUVM.cjs → chunk-M4BDU5RX.cjs} +12 -12
- package/dist/chunk-M4BDU5RX.cjs.map +1 -0
- package/dist/{chunk-MIJKEVV7.js → chunk-MSY7FSX4.js} +37 -4
- package/dist/chunk-MSY7FSX4.js.map +1 -0
- package/dist/{chunk-H7VE3FL4.cjs → chunk-MUK4BU7K.cjs} +519 -125
- package/dist/chunk-MUK4BU7K.cjs.map +1 -0
- package/dist/{chunk-D56XG4EI.cjs → chunk-MXJDTH5B.cjs} +56 -45
- package/dist/chunk-MXJDTH5B.cjs.map +1 -0
- package/dist/{chunk-ZI6VQSZA.cjs → chunk-N3257XE6.cjs} +724 -577
- package/dist/chunk-N3257XE6.cjs.map +1 -0
- package/dist/chunk-N66HCGCY.cjs +57 -0
- package/dist/chunk-N66HCGCY.cjs.map +1 -0
- package/dist/{chunk-CPEL3YIR.cjs → chunk-NFCVHQ5P.cjs} +55 -22
- package/dist/chunk-NFCVHQ5P.cjs.map +1 -0
- package/dist/{chunk-C4F7VJ5D.cjs → chunk-NI72YOJB.cjs} +84 -2
- package/dist/chunk-NI72YOJB.cjs.map +1 -0
- package/dist/{chunk-BNS75YNF.cjs → chunk-NK5Q7UNE.cjs} +10 -20
- package/dist/chunk-NK5Q7UNE.cjs.map +1 -0
- package/dist/{chunk-YMTXMPV6.js → chunk-NMWDXFPH.js} +4 -4
- package/dist/{chunk-YMTXMPV6.js.map → chunk-NMWDXFPH.js.map} +1 -1
- package/dist/{chunk-TKORQCG4.js → chunk-NQ6BRJBE.js} +386 -862
- package/dist/chunk-NQ6BRJBE.js.map +1 -0
- package/dist/chunk-OH5E5KIO.js +2057 -0
- package/dist/chunk-OH5E5KIO.js.map +1 -0
- package/dist/chunk-ONU3HIED.cjs +2082 -0
- package/dist/chunk-ONU3HIED.cjs.map +1 -0
- package/dist/{chunk-NAAMUYMS.cjs → chunk-PNN7RHVR.cjs} +58 -48
- package/dist/chunk-PNN7RHVR.cjs.map +1 -0
- package/dist/{chunk-6DCB664D.js → chunk-PQBQG7IM.js} +3 -3
- package/dist/{chunk-6DCB664D.js.map → chunk-PQBQG7IM.js.map} +1 -1
- package/dist/{chunk-ACSVZPK7.cjs → chunk-PWLJ77UV.cjs} +5 -3
- package/dist/chunk-PWLJ77UV.cjs.map +1 -0
- package/dist/chunk-Q7Q4WSLJ.cjs +328 -0
- package/dist/chunk-Q7Q4WSLJ.cjs.map +1 -0
- package/dist/{chunk-FQ7ZPOTZ.js → chunk-QLRESYPU.js} +637 -493
- package/dist/chunk-QLRESYPU.js.map +1 -0
- package/dist/{chunk-Q6EDCUXV.js → chunk-QWX5YA3K.js} +554 -204
- package/dist/chunk-QWX5YA3K.js.map +1 -0
- package/dist/{chunk-5EKPX6QU.js → chunk-RJS7DECT.js} +8 -9
- package/dist/chunk-RJS7DECT.js.map +1 -0
- package/dist/{chunk-Z3WO6MND.cjs → chunk-RMQLSPA2.cjs} +297 -27
- package/dist/chunk-RMQLSPA2.cjs.map +1 -0
- package/dist/{chunk-SJDMVITW.cjs → chunk-RT5ZY4XA.cjs} +6 -5
- package/dist/chunk-RT5ZY4XA.cjs.map +1 -0
- package/dist/{chunk-4GUBTVPV.js → chunk-T4XNKYXB.js} +780 -126
- package/dist/chunk-T4XNKYXB.js.map +1 -0
- package/dist/{chunk-YDWLUT5V.cjs → chunk-TQR4KBY2.cjs} +323 -178
- package/dist/chunk-TQR4KBY2.cjs.map +1 -0
- package/dist/chunk-TTAITEPJ.cjs +755 -0
- package/dist/chunk-TTAITEPJ.cjs.map +1 -0
- package/dist/{chunk-OOA273IJ.cjs → chunk-U5SON7R2.cjs} +27 -27
- package/dist/{chunk-OOA273IJ.cjs.map → chunk-U5SON7R2.cjs.map} +1 -1
- package/dist/{chunk-IX64T5OL.cjs → chunk-U63GDNRC.cjs} +32 -26
- package/dist/chunk-U63GDNRC.cjs.map +1 -0
- package/dist/{chunk-WDBXJOU5.cjs → chunk-UDISNXDL.cjs} +56 -47
- package/dist/chunk-UDISNXDL.cjs.map +1 -0
- package/dist/{chunk-EFEOOCJ3.js → chunk-UV3SN74I.js} +5 -5
- package/dist/{chunk-EFEOOCJ3.js.map → chunk-UV3SN74I.js.map} +1 -1
- package/dist/{chunk-U5W4LKZV.cjs → chunk-VCRRKBLN.cjs} +9 -9
- package/dist/{chunk-U5W4LKZV.cjs.map → chunk-VCRRKBLN.cjs.map} +1 -1
- package/dist/{chunk-ISLPNELU.js → chunk-VGTJPTIC.js} +16 -5
- package/dist/chunk-VGTJPTIC.js.map +1 -0
- package/dist/chunk-VQH4VAWD.cjs +12 -0
- package/dist/{chunk-B3F2D3SP.cjs.map → chunk-VQH4VAWD.cjs.map} +1 -1
- package/dist/{chunk-SNXVDZAJ.js → chunk-W6OG3HDG.js} +5 -4
- package/dist/chunk-W6OG3HDG.js.map +1 -0
- package/dist/chunk-WDGA7IYB.js +207 -0
- package/dist/chunk-WDGA7IYB.js.map +1 -0
- package/dist/chunk-WEVQJ5LH.js +736 -0
- package/dist/chunk-WEVQJ5LH.js.map +1 -0
- package/dist/{chunk-EKFUG4G7.cjs → chunk-XBYVV3MP.cjs} +60 -5
- package/dist/chunk-XBYVV3MP.cjs.map +1 -0
- package/dist/{chunk-5GAONX5G.cjs → chunk-XCAGZAKP.cjs} +7 -7
- package/dist/{chunk-5GAONX5G.cjs.map → chunk-XCAGZAKP.cjs.map} +1 -1
- package/dist/{chunk-YOALGKRE.cjs → chunk-XDF2UPEQ.cjs} +3521 -1766
- package/dist/chunk-XDF2UPEQ.cjs.map +1 -0
- package/dist/{chunk-J7LXTUTP.cjs → chunk-XMQSEJCF.cjs} +604 -1094
- package/dist/chunk-XMQSEJCF.cjs.map +1 -0
- package/dist/chunk-XNLIZYRZ.cjs +3432 -0
- package/dist/chunk-XNLIZYRZ.cjs.map +1 -0
- package/dist/{chunk-KMXWZLQX.cjs → chunk-XNSI2FJO.cjs} +99 -100
- package/dist/chunk-XNSI2FJO.cjs.map +1 -0
- package/dist/chunk-XQSCL77R.cjs +60 -0
- package/dist/chunk-XQSCL77R.cjs.map +1 -0
- package/dist/{chunk-SVJ5GEXW.cjs → chunk-XUO3KQFO.cjs} +2 -2
- package/dist/chunk-XUO3KQFO.cjs.map +1 -0
- package/dist/{chunk-F4NHQHEZ.cjs → chunk-YAAM3M2S.cjs} +10 -10
- package/dist/{chunk-F4NHQHEZ.cjs.map → chunk-YAAM3M2S.cjs.map} +1 -1
- package/dist/{chunk-RUQS6M7G.js → chunk-YBFHZUXX.js} +6 -6
- package/dist/chunk-YBFHZUXX.js.map +1 -0
- package/dist/{chunk-PVUI6KGR.js → chunk-YDFDBE6D.js} +93 -6
- package/dist/chunk-YDFDBE6D.js.map +1 -0
- package/dist/{chunk-P7GTYOLB.cjs → chunk-YVWGEQJE.cjs} +297 -135
- package/dist/chunk-YVWGEQJE.cjs.map +1 -0
- package/dist/{chunk-QT6V3YRH.js → chunk-YWGVVALJ.js} +3 -3
- package/dist/{chunk-QT6V3YRH.js.map → chunk-YWGVVALJ.js.map} +1 -1
- package/dist/core/index.cjs +40 -40
- package/dist/core/index.d.cts +4 -5
- package/dist/core/index.d.ts +4 -5
- package/dist/core/index.js +8 -8
- package/dist/{ddl-BG4J805L.d.cts → ddl-BJcOp4WZ.d.cts} +3 -3
- package/dist/{ddl-CgiS9QLj.d.ts → ddl-BXfGHbPN.d.ts} +3 -3
- package/dist/graph-extension/index.cjs +26 -22
- package/dist/graph-extension/index.d.cts +16 -6
- package/dist/graph-extension/index.d.ts +16 -6
- package/dist/graph-extension/index.js +7 -7
- package/dist/graph-merge/index.cjs +2459 -654
- package/dist/graph-merge/index.cjs.map +1 -1
- package/dist/graph-merge/index.d.cts +170 -33
- package/dist/graph-merge/index.d.ts +170 -33
- package/dist/graph-merge/index.js +2269 -467
- package/dist/graph-merge/index.js.map +1 -1
- package/dist/{index-C3y_98iN.d.cts → index-BSHvKfok.d.ts} +221 -10
- package/dist/{index-BBxZCUdu.d.ts → index-DxaYCv8Y.d.cts} +221 -10
- package/dist/index.cjs +330 -268
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +590 -576
- package/dist/index.d.ts +590 -576
- package/dist/index.js +73 -49
- package/dist/index.js.map +1 -1
- package/dist/indexes/index.cjs +17 -17
- package/dist/indexes/index.d.cts +4 -4
- package/dist/indexes/index.d.ts +4 -4
- package/dist/indexes/index.js +10 -10
- package/dist/interchange/index.cjs +165 -51
- package/dist/interchange/index.cjs.map +1 -1
- package/dist/interchange/index.d.cts +261 -16
- package/dist/interchange/index.d.ts +261 -16
- package/dist/interchange/index.js +128 -25
- package/dist/interchange/index.js.map +1 -1
- package/dist/{manager-YoLEfcc1.d.ts → manager-CfZAimti.d.ts} +36 -5
- package/dist/{manager-KS7CGQQT.d.cts → manager-HGk6E_HW.d.cts} +36 -5
- package/dist/{materialize-indexes-Bhhyb1B3.d.ts → materialize-indexes-6A7dWGtb.d.cts} +10 -2
- package/dist/{materialize-indexes-OHRWypW6.d.cts → materialize-indexes-BMJP6Tms.d.ts} +10 -2
- package/dist/{postgres-DpkW3R5Y.d.cts → postgres-DFYWENdR.d.cts} +1961 -439
- package/dist/{postgres-DwqyIniy.d.ts → postgres-e7a9TdvR.d.ts} +1961 -439
- package/dist/profiler/index.cjs +15 -15
- package/dist/profiler/index.d.cts +9 -10
- package/dist/profiler/index.d.ts +9 -10
- package/dist/profiler/index.js +4 -4
- package/dist/provenance/index.cjs +46 -48
- package/dist/provenance/index.cjs.map +1 -1
- package/dist/provenance/index.d.cts +7 -7
- package/dist/provenance/index.d.ts +7 -7
- package/dist/provenance/index.js +12 -14
- package/dist/provenance/index.js.map +1 -1
- package/dist/schema/index.cjs +50 -48
- package/dist/schema/index.d.cts +9 -16
- package/dist/schema/index.d.ts +9 -16
- package/dist/schema/index.js +23 -21
- package/dist/{searchable-DLWEfC4a.d.ts → searchable-9OQoPuRs.d.ts} +1 -2
- package/dist/{searchable-CIZL8Hyw.d.cts → searchable-CIje5XYD.d.cts} +1 -2
- package/dist/{sqlite-DY0WODUK.d.cts → sqlite-DerU5tc7.d.ts} +2029 -347
- package/dist/{sqlite-L-VIRzqA.d.ts → sqlite-DitnISa9.d.cts} +2029 -347
- package/dist/{store-view-66p92IPi.d.ts → store-DawaWWjJ.d.ts} +1280 -767
- package/dist/{store-view-A85FFRnk.d.cts → store-RwTJx8LX.d.cts} +1280 -767
- package/dist/{temporal-BNbjXqer.d.cts → temporal-Bn-Fi8FJ.d.cts} +1 -1
- package/dist/{temporal-Bob6Nfbp.d.ts → temporal-BtM4UALv.d.ts} +1 -1
- package/dist/{types-DeORZhxn.d.cts → types-CoIx8HX5.d.cts} +1 -1
- package/dist/{types-Ch9a0Dx6.d.ts → types-HkveCCx0.d.cts} +726 -5
- package/dist/{types-Ch9a0Dx6.d.cts → types-HkveCCx0.d.ts} +726 -5
- package/dist/{types-ClCzT-dT.d.ts → types-KFfk-8Ah.d.ts} +1 -1
- package/dist/{where-DPw52ksb.d.cts → where--fk7_0kv.d.cts} +1 -1
- package/dist/{where-kWUZPvEA.d.ts → where-ws5hf-Ov.d.ts} +1 -1
- package/package.json +1 -1
- package/dist/chunk-2L54C2C2.js +0 -144
- package/dist/chunk-2L54C2C2.js.map +0 -1
- package/dist/chunk-35S6P5ZU.js +0 -27
- package/dist/chunk-35S6P5ZU.js.map +0 -1
- package/dist/chunk-42PYUGLS.js.map +0 -1
- package/dist/chunk-4GUBTVPV.js.map +0 -1
- package/dist/chunk-4GUTQPVO.js.map +0 -1
- package/dist/chunk-4MB3AQAQ.js.map +0 -1
- package/dist/chunk-4MEWSUVM.cjs.map +0 -1
- package/dist/chunk-4QIKLIGG.js.map +0 -1
- package/dist/chunk-4SZ6XPTG.cjs +0 -12
- package/dist/chunk-55ITBQJI.js.map +0 -1
- package/dist/chunk-5EKPX6QU.js.map +0 -1
- package/dist/chunk-6RYPD3NJ.cjs +0 -1282
- package/dist/chunk-6RYPD3NJ.cjs.map +0 -1
- package/dist/chunk-764JHTLT.cjs +0 -15
- package/dist/chunk-764JHTLT.cjs.map +0 -1
- package/dist/chunk-ACSVZPK7.cjs.map +0 -1
- package/dist/chunk-B3F2D3SP.cjs +0 -12
- package/dist/chunk-BGYJW37L.js.map +0 -1
- package/dist/chunk-BNS75YNF.cjs.map +0 -1
- package/dist/chunk-C4F7VJ5D.cjs.map +0 -1
- package/dist/chunk-CBKG6HEP.js +0 -1263
- package/dist/chunk-CBKG6HEP.js.map +0 -1
- package/dist/chunk-CPEL3YIR.cjs.map +0 -1
- package/dist/chunk-D54WH24V.cjs.map +0 -1
- package/dist/chunk-D56XG4EI.cjs.map +0 -1
- package/dist/chunk-D7PG5D5K.js.map +0 -1
- package/dist/chunk-DI74SMXS.cjs +0 -29
- package/dist/chunk-DI74SMXS.cjs.map +0 -1
- package/dist/chunk-DK2S42XB.js +0 -77
- package/dist/chunk-DK2S42XB.js.map +0 -1
- package/dist/chunk-DRACN6XG.js +0 -27
- package/dist/chunk-DRACN6XG.js.map +0 -1
- package/dist/chunk-DXEEHSGN.js.map +0 -1
- package/dist/chunk-EKFUG4G7.cjs.map +0 -1
- package/dist/chunk-EQ7JKLZO.cjs +0 -157
- package/dist/chunk-EQ7JKLZO.cjs.map +0 -1
- package/dist/chunk-FJMPR3OH.cjs.map +0 -1
- package/dist/chunk-FLEQ2HBK.js.map +0 -1
- package/dist/chunk-FQ7ZPOTZ.js.map +0 -1
- package/dist/chunk-G6Q5UM7U.js.map +0 -1
- package/dist/chunk-GYA4JRP5.js.map +0 -1
- package/dist/chunk-H7VE3FL4.cjs.map +0 -1
- package/dist/chunk-ID4WXTKL.js.map +0 -1
- package/dist/chunk-ISLPNELU.js.map +0 -1
- package/dist/chunk-ITE4IXAK.js +0 -25
- package/dist/chunk-ITE4IXAK.js.map +0 -1
- package/dist/chunk-IX64T5OL.cjs.map +0 -1
- package/dist/chunk-J2ICGNHO.cjs.map +0 -1
- package/dist/chunk-J7LXTUTP.cjs.map +0 -1
- package/dist/chunk-JQXSZHF2.cjs.map +0 -1
- package/dist/chunk-JXUTCSXX.cjs.map +0 -1
- package/dist/chunk-KCO5EFJU.js +0 -79
- package/dist/chunk-KCO5EFJU.js.map +0 -1
- package/dist/chunk-KKYELPZ2.cjs +0 -83
- package/dist/chunk-KKYELPZ2.cjs.map +0 -1
- package/dist/chunk-KMXWZLQX.cjs.map +0 -1
- package/dist/chunk-MIJKEVV7.js.map +0 -1
- package/dist/chunk-NAAMUYMS.cjs.map +0 -1
- package/dist/chunk-P7GTYOLB.cjs.map +0 -1
- package/dist/chunk-PVUI6KGR.js.map +0 -1
- package/dist/chunk-Q6EDCUXV.js.map +0 -1
- package/dist/chunk-QB6VMOJ2.cjs.map +0 -1
- package/dist/chunk-QC4MCOFV.cjs +0 -83
- package/dist/chunk-QC4MCOFV.cjs.map +0 -1
- package/dist/chunk-QMQLUA66.js +0 -12
- package/dist/chunk-QMQLUA66.js.map +0 -1
- package/dist/chunk-QRNYDV5Z.js.map +0 -1
- package/dist/chunk-RFRM3Q5K.js.map +0 -1
- package/dist/chunk-RUQS6M7G.js.map +0 -1
- package/dist/chunk-S4KQ5LV4.js.map +0 -1
- package/dist/chunk-SJDMVITW.cjs.map +0 -1
- package/dist/chunk-SNXVDZAJ.js.map +0 -1
- package/dist/chunk-SVJ5GEXW.cjs.map +0 -1
- package/dist/chunk-TDXIBCGY.cjs.map +0 -1
- package/dist/chunk-TKORQCG4.js.map +0 -1
- package/dist/chunk-TKP5T34P.js.map +0 -1
- package/dist/chunk-TRF4EBJT.cjs +0 -30
- package/dist/chunk-TRF4EBJT.cjs.map +0 -1
- package/dist/chunk-UCQ3BFSY.cjs.map +0 -1
- package/dist/chunk-UR7W5YQK.js.map +0 -1
- package/dist/chunk-V34A6R5V.js +0 -134
- package/dist/chunk-V34A6R5V.js.map +0 -1
- package/dist/chunk-WDAVPX46.js +0 -81
- package/dist/chunk-WDAVPX46.js.map +0 -1
- package/dist/chunk-WDBXJOU5.cjs.map +0 -1
- package/dist/chunk-YDWLUT5V.cjs.map +0 -1
- package/dist/chunk-YOALGKRE.cjs.map +0 -1
- package/dist/chunk-Z3WO6MND.cjs.map +0 -1
- package/dist/chunk-ZDH3DX3C.cjs +0 -30
- package/dist/chunk-ZDH3DX3C.cjs.map +0 -1
- package/dist/chunk-ZI6VQSZA.cjs.map +0 -1
- package/dist/chunk-ZTAJL4DT.cjs +0 -85
- package/dist/chunk-ZTAJL4DT.cjs.map +0 -1
- package/dist/define-graph-BGrJahvp.d.ts +0 -173
- package/dist/define-graph-alREY2wj.d.cts +0 -173
|
@@ -375,6 +375,31 @@ type TableContribution = Readonly<{
|
|
|
375
375
|
* signature.
|
|
376
376
|
*/
|
|
377
377
|
createDdl: readonly string[];
|
|
378
|
+
/**
|
|
379
|
+
* Idempotent (`DROP ... IF EXISTS`) statements that tear this
|
|
380
|
+
* contribution's storage down, ordered so that running the list
|
|
381
|
+
* leaves nothing behind. Declaring it is what makes a contribution
|
|
382
|
+
* *rebuildable*: the destructive
|
|
383
|
+
* `store.rebuildContribution()` path drops through these statements
|
|
384
|
+
* before re-running {@link createDdl}, which is the only repair for a
|
|
385
|
+
* table provisioned at a shape the current `createDdl` no longer
|
|
386
|
+
* produces.
|
|
387
|
+
*
|
|
388
|
+
* Optional because it is a capability, not an invariant. A
|
|
389
|
+
* contribution whose content cannot be reconstructed from data
|
|
390
|
+
* TypeGraph already stores has no business advertising a rebuild —
|
|
391
|
+
* dropping it would destroy the only copy — and a third-party
|
|
392
|
+
* strategy that predates this field keeps compiling and is reported
|
|
393
|
+
* as not rebuildable rather than silently rebuilt through a
|
|
394
|
+
* synthesized `DROP`. Backends surface the resulting gap as
|
|
395
|
+
* `capabilities.contributions.rebuild`.
|
|
396
|
+
*
|
|
397
|
+
* The rebuild visits a strategy's `runtimeEnsure` contributions, the
|
|
398
|
+
* same set the boot ensure provisions — so a companion table a strategy
|
|
399
|
+
* declares outside that set is neither dropped nor recreated, and must
|
|
400
|
+
* not be something the recreated storage depends on.
|
|
401
|
+
*/
|
|
402
|
+
dropDdl?: readonly string[];
|
|
378
403
|
/**
|
|
379
404
|
* When `true`, the post-schema-load focused ensure
|
|
380
405
|
* (`loadActiveSchemaWithBootstrap`) materializes this contribution
|
|
@@ -492,6 +517,14 @@ type FulltextStrategy = Readonly<{
|
|
|
492
517
|
* Replaces the former `generateDdl(tableName)`: DDL is now one field
|
|
493
518
|
* of a contribution rather than the strategy's whole storage
|
|
494
519
|
* surface. (Public API change — see #129.)
|
|
520
|
+
*
|
|
521
|
+
* Declare `dropDdl` on each contribution to opt the strategy into the
|
|
522
|
+
* destructive `store.rebuildContribution("fulltext")` path — the only
|
|
523
|
+
* repair for storage provisioned at a shape `createDdl` no longer
|
|
524
|
+
* produces. Fulltext content is reconstructed from the node rows, so a
|
|
525
|
+
* rebuild loses nothing; a strategy that omits `dropDdl` is reported
|
|
526
|
+
* as not rebuildable instead of being dropped through a synthesized
|
|
527
|
+
* statement.
|
|
495
528
|
*/
|
|
496
529
|
ownedTables: (this: void, primaryTableName: string) => readonly StrategyTableContribution[];
|
|
497
530
|
/**
|
|
@@ -572,7 +605,17 @@ type DialectCapabilities = Readonly<{
|
|
|
572
605
|
*/
|
|
573
606
|
emitNotMaterializedHint: boolean;
|
|
574
607
|
/**
|
|
575
|
-
* Whether
|
|
608
|
+
* Whether a traversal must pin its frontier ahead of the edge table with
|
|
609
|
+
* `CROSS JOIN`, because the engine reads FROM order as a join-order directive
|
|
610
|
+
* rather than costing the orderings itself.
|
|
611
|
+
*
|
|
612
|
+
* Set for engines whose planner has no useful statistics for the driving
|
|
613
|
+
* relation and can therefore choose to enumerate candidate edges instead —
|
|
614
|
+
* once per frontier row. Two traversal shapes need the pin: a recursive term,
|
|
615
|
+
* whose driving relation is the worktable, and an identity-expanded step,
|
|
616
|
+
* which reaches the edge through `COALESCE` over an outer join and so exposes
|
|
617
|
+
* no direct frontier-to-edge equality. Every other traversal joins on the
|
|
618
|
+
* frontier's own columns and is left to the planner.
|
|
576
619
|
*/
|
|
577
620
|
forceRecursiveWorktableOuterJoinOrder: boolean;
|
|
578
621
|
/**
|
|
@@ -1045,6 +1088,14 @@ type SqlTableNames = Readonly<{
|
|
|
1045
1088
|
recordedClock?: string | undefined;
|
|
1046
1089
|
/** Durable per-graph revision-origin table name (default: "typegraph_revision_origins") */
|
|
1047
1090
|
revisionOrigins?: string | undefined;
|
|
1091
|
+
/** Identity assertion ledger (default: "typegraph_identity_assertions") */
|
|
1092
|
+
identityAssertions?: string | undefined;
|
|
1093
|
+
/** Recorded identity assertion relation */
|
|
1094
|
+
recordedIdentityAssertions?: string | undefined;
|
|
1095
|
+
/** Derived current identity closure */
|
|
1096
|
+
identityClosure?: string | undefined;
|
|
1097
|
+
/** Derived separation relation over identity classes */
|
|
1098
|
+
identitySeparation?: string | undefined;
|
|
1048
1099
|
/** Node fulltext table name (default: "typegraph_node_fulltext") */
|
|
1049
1100
|
fulltext: string;
|
|
1050
1101
|
/** Node uniques table name (default: "typegraph_node_uniques") */
|
|
@@ -1063,6 +1114,10 @@ type ResolvedSqlTableNames = Readonly<{
|
|
|
1063
1114
|
recordedClock: string;
|
|
1064
1115
|
/** Durable per-graph revision-origin table name */
|
|
1065
1116
|
revisionOrigins: string;
|
|
1117
|
+
identityAssertions: string;
|
|
1118
|
+
recordedIdentityAssertions: string;
|
|
1119
|
+
identityClosure: string;
|
|
1120
|
+
identitySeparation: string;
|
|
1066
1121
|
/** Node fulltext table name */
|
|
1067
1122
|
fulltext: string;
|
|
1068
1123
|
/** Node uniques table name */
|
|
@@ -1083,6 +1138,14 @@ type SqlSchemaFields = Readonly<{
|
|
|
1083
1138
|
recordedClockTable: SqlFragment;
|
|
1084
1139
|
/** Get a `SqlFragment` reference to the durable per-graph revision origins. */
|
|
1085
1140
|
revisionOriginsTable: SqlFragment;
|
|
1141
|
+
/** Get a `SqlFragment` reference to the identity assertion ledger. */
|
|
1142
|
+
identityAssertionsTable: SqlFragment;
|
|
1143
|
+
/** Get a `SqlFragment` reference to the recorded identity assertion relation. */
|
|
1144
|
+
recordedIdentityAssertionsTable: SqlFragment;
|
|
1145
|
+
/** Get a `SqlFragment` reference to the derived identity closure. */
|
|
1146
|
+
identityClosureTable: SqlFragment;
|
|
1147
|
+
/** Get a `SqlFragment` reference to the derived identity separation relation. */
|
|
1148
|
+
identitySeparationTable: SqlFragment;
|
|
1086
1149
|
/** Get a `SqlFragment` reference to the fulltext table. */
|
|
1087
1150
|
fulltextTable: SqlFragment;
|
|
1088
1151
|
}>;
|
|
@@ -1102,6 +1165,10 @@ declare abstract class SqlSchema implements SqlSchemaFields {
|
|
|
1102
1165
|
abstract readonly recordedEdgesTable: SqlFragment;
|
|
1103
1166
|
abstract readonly recordedClockTable: SqlFragment;
|
|
1104
1167
|
abstract readonly revisionOriginsTable: SqlFragment;
|
|
1168
|
+
abstract readonly identityAssertionsTable: SqlFragment;
|
|
1169
|
+
abstract readonly recordedIdentityAssertionsTable: SqlFragment;
|
|
1170
|
+
abstract readonly identityClosureTable: SqlFragment;
|
|
1171
|
+
abstract readonly identitySeparationTable: SqlFragment;
|
|
1105
1172
|
abstract readonly fulltextTable: SqlFragment;
|
|
1106
1173
|
}
|
|
1107
1174
|
/**
|
|
@@ -1821,6 +1888,185 @@ type OntologyRelation = Readonly<{
|
|
|
1821
1888
|
*/
|
|
1822
1889
|
declare function isMetaEdge(value: unknown): value is MetaEdge;
|
|
1823
1890
|
|
|
1891
|
+
/** Brand key for GraphDef */
|
|
1892
|
+
declare const GRAPH_DEF_BRAND: "__graphDef";
|
|
1893
|
+
/**
|
|
1894
|
+
* An edge entry in the graph definition.
|
|
1895
|
+
* Can be:
|
|
1896
|
+
* - EdgeType directly (constrained or unconstrained)
|
|
1897
|
+
* - EdgeRegistration object (always works, can override/narrow defaults)
|
|
1898
|
+
*/
|
|
1899
|
+
type EdgeEntry = EdgeRegistration | AnyEdgeType;
|
|
1900
|
+
/**
|
|
1901
|
+
* Normalized edge map type - all entries become EdgeRegistration.
|
|
1902
|
+
* For bare EdgeTypes, constrained endpoints are extracted from the type;
|
|
1903
|
+
* unconstrained edges fall back to all node types in the graph.
|
|
1904
|
+
*/
|
|
1905
|
+
type NormalizedEdges<TNodes extends Record<string, NodeRegistration>, TEdges extends Record<string, EdgeEntry>> = {
|
|
1906
|
+
[K in keyof TEdges]: TEdges[K] extends EdgeRegistration ? TEdges[K] : TEdges[K] extends AnyEdgeType ? EdgeRegistration<TEdges[K], TEdges[K]["from"] extends readonly (infer N extends NodeType)[] ? N : TNodes[keyof TNodes]["type"], TEdges[K]["to"] extends readonly (infer N extends NodeType)[] ? N : TNodes[keyof TNodes]["type"]> : never;
|
|
1907
|
+
};
|
|
1908
|
+
/** Durable graph-level configuration for the TypeGraph Identity Profile. */
|
|
1909
|
+
type GraphIdentityConfig = Readonly<{
|
|
1910
|
+
/** Whether equal ids in different kinds implicitly join one identity class. */
|
|
1911
|
+
sameIdAcrossKinds: "fold" | "ignore";
|
|
1912
|
+
}>;
|
|
1913
|
+
/**
|
|
1914
|
+
* Configuration for defineGraph.
|
|
1915
|
+
*/
|
|
1916
|
+
type GraphDefConfig<TNodes extends Record<string, NodeRegistration>, TEdges extends Record<string, EdgeEntry>, TOntology extends readonly OntologyRelation[], TIdentity extends GraphIdentityConfig | undefined> = Readonly<{
|
|
1917
|
+
/** Unique identifier for this graph */
|
|
1918
|
+
id: string;
|
|
1919
|
+
/** Node registrations */
|
|
1920
|
+
nodes: TNodes;
|
|
1921
|
+
/** Edge registrations or EdgeTypes with built-in domain/range */
|
|
1922
|
+
edges: TEdges;
|
|
1923
|
+
/** Ontology relations */
|
|
1924
|
+
ontology?: TOntology;
|
|
1925
|
+
/** Graph-wide defaults */
|
|
1926
|
+
defaults?: GraphDefaults;
|
|
1927
|
+
/** Enables the TypeGraph Identity Profile for this graph. */
|
|
1928
|
+
identity?: TIdentity;
|
|
1929
|
+
/**
|
|
1930
|
+
* Index declarations attached to this graph.
|
|
1931
|
+
*
|
|
1932
|
+
* Accepts the outputs of `defineNodeIndex` / `defineEdgeIndex` (which
|
|
1933
|
+
* already return `IndexDeclaration` values) or pre-built declarations
|
|
1934
|
+
* reconstructed from a stored schema or graph extension.
|
|
1935
|
+
*
|
|
1936
|
+
* Validated at definition time: every index must reference a `kind`
|
|
1937
|
+
* that exists in `nodes` / `edges`, and index `name`s must be unique
|
|
1938
|
+
* within the graph.
|
|
1939
|
+
*
|
|
1940
|
+
* Index DDL is **not** generated by `defineGraph`. Indexes flow into
|
|
1941
|
+
* `SerializedSchema.indexes` so they can later be materialized via
|
|
1942
|
+
* `store.materializeIndexes()` — lifting the storage concern out of
|
|
1943
|
+
* the schema-version commit path.
|
|
1944
|
+
*/
|
|
1945
|
+
indexes?: readonly IndexDeclaration[];
|
|
1946
|
+
}>;
|
|
1947
|
+
/**
|
|
1948
|
+
* A graph definition.
|
|
1949
|
+
*
|
|
1950
|
+
* This is a compile-time artifact that describes the structure of a graph.
|
|
1951
|
+
* Use `createStore()` to create a runtime store from this definition.
|
|
1952
|
+
*/
|
|
1953
|
+
type GraphDef<TNodes extends Record<string, NodeRegistration> = Record<string, NodeRegistration>, TEdges extends Record<string, EdgeRegistration> = Record<string, EdgeRegistration>, TOntology extends readonly OntologyRelation[] = readonly OntologyRelation[], TIdentity extends GraphIdentityConfig | undefined = GraphIdentityConfig | undefined> = Readonly<{
|
|
1954
|
+
[GRAPH_DEF_BRAND]: true;
|
|
1955
|
+
id: string;
|
|
1956
|
+
nodes: TNodes;
|
|
1957
|
+
edges: TEdges;
|
|
1958
|
+
ontology: TOntology;
|
|
1959
|
+
/** Durable graph-level opt-in to the TypeGraph Identity Profile. */
|
|
1960
|
+
identity: TIdentity;
|
|
1961
|
+
defaults: Readonly<{
|
|
1962
|
+
onNodeDelete: DeleteBehavior;
|
|
1963
|
+
temporalMode: TemporalMode;
|
|
1964
|
+
}>;
|
|
1965
|
+
/**
|
|
1966
|
+
* Index declarations attached to this graph. Preserves whatever the
|
|
1967
|
+
* caller passed to `defineGraph` (including an explicit empty array)
|
|
1968
|
+
* for introspection purposes.
|
|
1969
|
+
*
|
|
1970
|
+
* The serialized canonical form is order-canonicalized (sorted by
|
|
1971
|
+
* `name`) and treats `undefined` and `[]` as the same "no slice" form
|
|
1972
|
+
* — an empty array does not bump the schema hash, since indexes are
|
|
1973
|
+
* an unordered set keyed by name and `[]` carries no semantic meaning
|
|
1974
|
+
* that an absent slice doesn't.
|
|
1975
|
+
*/
|
|
1976
|
+
indexes: readonly IndexDeclaration[] | undefined;
|
|
1977
|
+
/**
|
|
1978
|
+
* Graph extension this graph was merged with, if any. Set by
|
|
1979
|
+
* `mergeGraphExtension`; never set by `defineGraph` directly.
|
|
1980
|
+
* Exists solely so re-serialization is stable — the rest of the
|
|
1981
|
+
* system reads the merged kinds through `nodes` / `edges` /
|
|
1982
|
+
* `ontology` and never inspects this field. Absent on graphs that
|
|
1983
|
+
* have never been extended; legacy graphs hash byte-identically.
|
|
1984
|
+
*/
|
|
1985
|
+
extension: GraphExtension | undefined;
|
|
1986
|
+
/**
|
|
1987
|
+
* Soft-deprecated kind names attached to this graph. Set by the
|
|
1988
|
+
* loader from the persisted schema and by `store.deprecateKinds(...)`
|
|
1989
|
+
* / `store.undeprecateKinds(...)`. A purely informational signal
|
|
1990
|
+
* surfaced for introspection — does not gate reads, writes, or
|
|
1991
|
+
* queries. Defaults to the empty set on freshly-defined graphs.
|
|
1992
|
+
*/
|
|
1993
|
+
deprecatedKinds: ReadonlySet<string>;
|
|
1994
|
+
}>;
|
|
1995
|
+
/**
|
|
1996
|
+
* Extract node kind names from a GraphDef.
|
|
1997
|
+
*/
|
|
1998
|
+
type NodeKinds<G extends GraphDef> = keyof G["nodes"] & string;
|
|
1999
|
+
/**
|
|
2000
|
+
* Extract edge kind names from a GraphDef.
|
|
2001
|
+
*/
|
|
2002
|
+
type EdgeKinds<G extends GraphDef> = keyof G["edges"] & string;
|
|
2003
|
+
/**
|
|
2004
|
+
* Get a NodeType from a GraphDef by kind name.
|
|
2005
|
+
*/
|
|
2006
|
+
type GetNodeType<G extends GraphDef, K extends NodeKinds<G>> = G["nodes"][K]["type"];
|
|
2007
|
+
/**
|
|
2008
|
+
* Get an EdgeType from a GraphDef by kind name.
|
|
2009
|
+
*/
|
|
2010
|
+
type GetEdgeType<G extends GraphDef, K extends EdgeKinds<G>> = G["edges"][K]["type"];
|
|
2011
|
+
/**
|
|
2012
|
+
* Get all NodeTypes from a GraphDef.
|
|
2013
|
+
*/
|
|
2014
|
+
type AllNodeTypes<G extends GraphDef> = {
|
|
2015
|
+
[K in NodeKinds<G>]: G["nodes"][K]["type"];
|
|
2016
|
+
}[NodeKinds<G>];
|
|
2017
|
+
/**
|
|
2018
|
+
* Get all EdgeTypes from a GraphDef.
|
|
2019
|
+
*/
|
|
2020
|
+
type AllEdgeTypes<G extends GraphDef> = {
|
|
2021
|
+
[K in EdgeKinds<G>]: G["edges"][K]["type"];
|
|
2022
|
+
}[EdgeKinds<G>];
|
|
2023
|
+
/**
|
|
2024
|
+
* Creates a graph definition.
|
|
2025
|
+
*
|
|
2026
|
+
* @example
|
|
2027
|
+
* ```typescript
|
|
2028
|
+
* const graph = defineGraph({
|
|
2029
|
+
* id: "my_graph",
|
|
2030
|
+
* nodes: {
|
|
2031
|
+
* Person: { type: Person },
|
|
2032
|
+
* Company: { type: Company },
|
|
2033
|
+
* },
|
|
2034
|
+
* edges: {
|
|
2035
|
+
* // Traditional EdgeRegistration syntax
|
|
2036
|
+
* worksAt: {
|
|
2037
|
+
* type: worksAt,
|
|
2038
|
+
* from: [Person],
|
|
2039
|
+
* to: [Company],
|
|
2040
|
+
* cardinality: "many",
|
|
2041
|
+
* },
|
|
2042
|
+
* // Or use EdgeType directly if it has from/to defined
|
|
2043
|
+
* knows, // EdgeType with built-in domain/range
|
|
2044
|
+
* },
|
|
2045
|
+
* ontology: [
|
|
2046
|
+
* subClassOf(Company, Organization),
|
|
2047
|
+
* disjointWith(Person, Organization),
|
|
2048
|
+
* ],
|
|
2049
|
+
* defaults: {
|
|
2050
|
+
* onNodeDelete: "restrict",
|
|
2051
|
+
* temporalMode: "current",
|
|
2052
|
+
* },
|
|
2053
|
+
* });
|
|
2054
|
+
* ```
|
|
2055
|
+
*/
|
|
2056
|
+
declare function defineGraph<const TNodes extends Record<string, NodeRegistration<NodeType>>, const TEdges extends Record<string, EdgeEntry>, const TOntology extends readonly OntologyRelation[], const TIdentity extends GraphIdentityConfig | undefined = undefined>(config: GraphDefConfig<TNodes, TEdges, TOntology, TIdentity>): GraphDef<TNodes, NormalizedEdges<TNodes, TEdges>, TOntology, TIdentity>;
|
|
2057
|
+
/**
|
|
2058
|
+
* Checks if a value is a GraphDef.
|
|
2059
|
+
*/
|
|
2060
|
+
declare function isGraphDef(value: unknown): value is GraphDef;
|
|
2061
|
+
/**
|
|
2062
|
+
* Gets all node kind names from a GraphDef.
|
|
2063
|
+
*/
|
|
2064
|
+
declare function getNodeKinds<G extends GraphDef>(graph: G): readonly (keyof G["nodes"] & string)[];
|
|
2065
|
+
/**
|
|
2066
|
+
* Gets all edge kind names from a GraphDef.
|
|
2067
|
+
*/
|
|
2068
|
+
declare function getEdgeKinds<G extends GraphDef>(graph: G): readonly (keyof G["edges"] & string)[];
|
|
2069
|
+
|
|
1824
2070
|
/**
|
|
1825
2071
|
* JSON Schema type (subset used by Zod toJSONSchema).
|
|
1826
2072
|
*
|
|
@@ -1948,6 +2194,8 @@ type SerializedSchema = Readonly<{
|
|
|
1948
2194
|
onNodeDelete: DeleteBehavior;
|
|
1949
2195
|
temporalMode: TemporalMode;
|
|
1950
2196
|
}>;
|
|
2197
|
+
/** Durable opt-in to the TypeGraph Identity Profile. */
|
|
2198
|
+
identity?: GraphIdentityConfig;
|
|
1951
2199
|
/**
|
|
1952
2200
|
* Index declarations attached to the graph.
|
|
1953
2201
|
*
|
|
@@ -2058,6 +2306,48 @@ type FilteredApproximateSearch = Readonly<{
|
|
|
2058
2306
|
*/
|
|
2059
2307
|
guaranteesFullPage: boolean;
|
|
2060
2308
|
}>;
|
|
2309
|
+
/**
|
|
2310
|
+
* Whether an engine exposes a PER-SEARCH knob for the ANN candidate frontier —
|
|
2311
|
+
* the parameter {@link VectorSearchParams.efSearch} maps onto.
|
|
2312
|
+
*
|
|
2313
|
+
* Declared, never inferred: `efSearch` is an accepted option, so a backend that
|
|
2314
|
+
* cannot apply it must refuse it rather than ignore it (AGENTS.md contract
|
|
2315
|
+
* discipline). This capability is what the shared refusal predicate reads, and
|
|
2316
|
+
* what a caller reads to know whether passing `efSearch` will be honored.
|
|
2317
|
+
*
|
|
2318
|
+
* - **pgvector**: `hnsw.ef_search`, applied per search with `SET LOCAL` inside
|
|
2319
|
+
* the search's own transaction — hence `requiresTransactionScope`, since a
|
|
2320
|
+
* session-wide `SET` would leak the override into concurrent searches.
|
|
2321
|
+
* - **sqlite-vec**: `tunable: false`. A vec0 KNN takes `k` and nothing else;
|
|
2322
|
+
* there is no frontier to widen.
|
|
2323
|
+
* - **libSQL DiskANN**: `tunable: false`. `vector_top_k(idx, q, k)` is a table
|
|
2324
|
+
* function with no per-query parameters; DiskANN's `search_l` is fixed at
|
|
2325
|
+
* index-creation time.
|
|
2326
|
+
*/
|
|
2327
|
+
type VectorSearchFrontierTuning = Readonly<{
|
|
2328
|
+
tunable: true;
|
|
2329
|
+
/** Engine-native parameter `efSearch` maps to (`"hnsw.ef_search"`). */
|
|
2330
|
+
parameter: string;
|
|
2331
|
+
/**
|
|
2332
|
+
* The one index type whose search honors the parameter. `efSearch` on a
|
|
2333
|
+
* slot of any other index type is refused, not ignored: an IVFFlat or
|
|
2334
|
+
* brute-force slot would silently discard it.
|
|
2335
|
+
*/
|
|
2336
|
+
indexType: VectorIndexType;
|
|
2337
|
+
/**
|
|
2338
|
+
* `true` when applying the parameter needs a transaction to scope it to
|
|
2339
|
+
* the one search. A backend that reports `transactions: false` refuses
|
|
2340
|
+
* `efSearch` rather than leaking a session-wide setting.
|
|
2341
|
+
*/
|
|
2342
|
+
requiresTransactionScope: boolean;
|
|
2343
|
+
}> | Readonly<{
|
|
2344
|
+
tunable: false;
|
|
2345
|
+
/**
|
|
2346
|
+
* Why this engine has no per-search frontier knob — surfaced in the
|
|
2347
|
+
* refusal's details so the state is named rather than implied.
|
|
2348
|
+
*/
|
|
2349
|
+
reason: string;
|
|
2350
|
+
}>;
|
|
2061
2351
|
/**
|
|
2062
2352
|
* Vector search capabilities.
|
|
2063
2353
|
*/
|
|
@@ -2078,6 +2368,14 @@ type VectorCapabilities = Readonly<{
|
|
|
2078
2368
|
* an engine promise it does not keep.
|
|
2079
2369
|
*/
|
|
2080
2370
|
filteredApproximateSearch: FilteredApproximateSearch;
|
|
2371
|
+
/**
|
|
2372
|
+
* Whether a per-search ANN frontier override (`efSearch`) can be applied.
|
|
2373
|
+
* See {@link VectorSearchFrontierTuning}.
|
|
2374
|
+
*
|
|
2375
|
+
* Required, so a new vector strategy must state whether it honors the
|
|
2376
|
+
* option instead of inheriting silence — the exact defect this closes.
|
|
2377
|
+
*/
|
|
2378
|
+
searchFrontierTuning: VectorSearchFrontierTuning;
|
|
2081
2379
|
}>;
|
|
2082
2380
|
/**
|
|
2083
2381
|
* Query modes for fulltext search.
|
|
@@ -2123,6 +2421,46 @@ type GraphAnalyticsCapabilities = Readonly<{
|
|
|
2123
2421
|
supported: boolean;
|
|
2124
2422
|
mathFunctions: boolean;
|
|
2125
2423
|
}>;
|
|
2424
|
+
/**
|
|
2425
|
+
* How much of the contribution health lifecycle a backend can serve.
|
|
2426
|
+
*
|
|
2427
|
+
* The three rungs escalate — probe (read-only) → repair
|
|
2428
|
+
* (non-destructive) → rebuild (destructive) — and each is declared
|
|
2429
|
+
* separately because a backend can genuinely stop at any of them. A
|
|
2430
|
+
* backend that provisions contributions but cannot probe its own catalog
|
|
2431
|
+
* is a real gap, and the honest answer to `store.probeContributions()`
|
|
2432
|
+
* there is a refusal, not `ready`: "assessed and healthy" and "never
|
|
2433
|
+
* looked" must never share a return value.
|
|
2434
|
+
*/
|
|
2435
|
+
type ContributionCapabilities = Readonly<{
|
|
2436
|
+
/**
|
|
2437
|
+
* Whether strategy-owned contribution tables are provisioned and
|
|
2438
|
+
* attested by durable markers on this backend at all. `false` means
|
|
2439
|
+
* there is nothing to assess, and the probe reports no entries rather
|
|
2440
|
+
* than refusing.
|
|
2441
|
+
*/
|
|
2442
|
+
supported: boolean;
|
|
2443
|
+
/**
|
|
2444
|
+
* Whether the backend can cross its durable markers against the live
|
|
2445
|
+
* catalog — `store.probeContributions()` and
|
|
2446
|
+
* `store.verifyContributions()`. False with `supported: true` is the
|
|
2447
|
+
* declared gap: both refuse with `ConfigurationError`.
|
|
2448
|
+
*/
|
|
2449
|
+
probe: boolean;
|
|
2450
|
+
/**
|
|
2451
|
+
* Whether the backend can run the destructive drop → recreate →
|
|
2452
|
+
* repopulate → stamp rebuild (`store.rebuildContribution()`). Requires
|
|
2453
|
+
* both a strategy that declares `dropDdl` and a transactional schema
|
|
2454
|
+
* fence to run it under; false means `rebuildContribution` refuses.
|
|
2455
|
+
*
|
|
2456
|
+
* Describes the fulltext projection only. `rebuildContribution("vector")`
|
|
2457
|
+
* refuses on every backend regardless of this flag — embeddings exist
|
|
2458
|
+
* only in the storage a rebuild would drop, so there is nothing to
|
|
2459
|
+
* reconstruct them from — and `reembedVectorField` is the sanctioned
|
|
2460
|
+
* destructive path there.
|
|
2461
|
+
*/
|
|
2462
|
+
rebuild: boolean;
|
|
2463
|
+
}>;
|
|
2126
2464
|
|
|
2127
2465
|
/**
|
|
2128
2466
|
* Backend capabilities that vary by dialect.
|
|
@@ -2162,6 +2500,12 @@ type BackendCapabilities = Readonly<{
|
|
|
2162
2500
|
fulltext?: FulltextCapabilities | undefined;
|
|
2163
2501
|
/** Whole-graph analytics capabilities (undefined when unavailable). */
|
|
2164
2502
|
graphAnalytics?: GraphAnalyticsCapabilities | undefined;
|
|
2503
|
+
/**
|
|
2504
|
+
* How far up the contribution health ladder this backend goes
|
|
2505
|
+
* (undefined on a backend with no contribution machinery at all,
|
|
2506
|
+
* equivalent to every member `false`).
|
|
2507
|
+
*/
|
|
2508
|
+
contributions?: ContributionCapabilities | undefined;
|
|
2165
2509
|
}>;
|
|
2166
2510
|
/** Keeps session-scoped analytics honest when a required SQL feature is absent. */
|
|
2167
2511
|
declare function normalizeGraphAnalyticsCapabilities(capabilities: BackendCapabilities): BackendCapabilities;
|
|
@@ -2287,7 +2631,33 @@ type UpdateNodeParams = Readonly<{
|
|
|
2287
2631
|
kind: string;
|
|
2288
2632
|
id: string;
|
|
2289
2633
|
props: Readonly<Record<string, unknown>>;
|
|
2634
|
+
/** Applied when resurrecting a tombstone; omitted means the resurrection instant. */
|
|
2635
|
+
validFrom?: string | null;
|
|
2290
2636
|
validTo?: string;
|
|
2637
|
+
/**
|
|
2638
|
+
* The effective `valid_from` this write ASSERTS the target row already
|
|
2639
|
+
* carries, stated only by a caller whose decision DEPENDED on it.
|
|
2640
|
+
*
|
|
2641
|
+
* `(graph_id, kind, id)` does not pin a row across time. A caller that
|
|
2642
|
+
* validated the document's window against the bound it probed — interchange
|
|
2643
|
+
* import's `onConflict: "update"` is the case — decided what to write from a
|
|
2644
|
+
* value a concurrent `hardDelete` + recreate can replace between the probe
|
|
2645
|
+
* and the write, so a predicate on identity alone lets that decision land on
|
|
2646
|
+
* a row it was never computed for: the document's stated `validFrom` is
|
|
2647
|
+
* ignored, or a `valid_to` is persisted below the new row's `valid_from`.
|
|
2648
|
+
* Stating the bound here puts it in the UPDATE's own `WHERE`, which is the
|
|
2649
|
+
* only placement the race cannot slip past.
|
|
2650
|
+
*
|
|
2651
|
+
* NULL-SAFE: `null` asserts the row has NO lower bound (`IS NULL`), a string
|
|
2652
|
+
* asserts equality, and omitting it asserts nothing. `null` and `undefined`
|
|
2653
|
+
* are therefore NOT interchangeable here — see `expectedValidFromPredicate`.
|
|
2654
|
+
*
|
|
2655
|
+
* A backend MUST apply the predicate when it is present, on the same terms as
|
|
2656
|
+
* {@link UpdateEdgeParams.kind}: silently ignoring it re-opens the window the
|
|
2657
|
+
* caller stated it to close. A write whose stated bound does not match affects
|
|
2658
|
+
* zero rows and surfaces as a `no_row_returned` `DatabaseOperationError`.
|
|
2659
|
+
*/
|
|
2660
|
+
expectedValidFrom?: string | null;
|
|
2291
2661
|
incrementVersion?: boolean;
|
|
2292
2662
|
/** If true, clears deleted_at (un-deletes the node). Used by upsert. */
|
|
2293
2663
|
clearDeleted?: boolean;
|
|
@@ -2371,8 +2741,71 @@ type TrustedImportSession = Readonly<{
|
|
|
2371
2741
|
type UpdateEdgeParams = Readonly<{
|
|
2372
2742
|
graphId: string;
|
|
2373
2743
|
id: string;
|
|
2744
|
+
/**
|
|
2745
|
+
* The kind this write ASSERTS the target row already carries.
|
|
2746
|
+
*
|
|
2747
|
+
* Edge ids are graph-global while public collections are kind-scoped, so a
|
|
2748
|
+
* kind-scoped write has an expected kind and must not land on a row carrying
|
|
2749
|
+
* a different one. Stating it here puts the predicate in the write
|
|
2750
|
+
* statement's own `WHERE`, which is the only placement a concurrent
|
|
2751
|
+
* `hardDelete` + recreate cannot slip past: a read-then-write pair keyed on
|
|
2752
|
+
* `(graph_id, id)` alone re-resolves that id between the read and the write
|
|
2753
|
+
* under PostgreSQL READ COMMITTED. A write whose stated kind does not match
|
|
2754
|
+
* affects zero rows.
|
|
2755
|
+
*
|
|
2756
|
+
* A backend MUST apply the predicate when it is present — silently ignoring
|
|
2757
|
+
* it re-opens the window the caller stated it to close, and the ignoring
|
|
2758
|
+
* backend looks correct until it is raced.
|
|
2759
|
+
* `tests/edge-write-self-verification.test.ts` asserts the behavior against
|
|
2760
|
+
* the built-in backends.
|
|
2761
|
+
*
|
|
2762
|
+
* Omitted where the operation legitimately spans kinds: the node delete
|
|
2763
|
+
* cascade removes every connected edge whatever its kind, so it states none.
|
|
2764
|
+
* {@link DeleteEdgeParams} and {@link HardDeleteEdgeParams} carry the same
|
|
2765
|
+
* field with the same contract.
|
|
2766
|
+
*/
|
|
2767
|
+
kind?: string;
|
|
2768
|
+
/**
|
|
2769
|
+
* The ENDPOINTS this write asserts the target row already carries, stated
|
|
2770
|
+
* only by a write that actually checked them.
|
|
2771
|
+
*
|
|
2772
|
+
* Kind alone does not pin a row's identity. An edge's endpoints are immutable
|
|
2773
|
+
* for a given row, but the ID is not: a concurrent `hardDelete` + recreate
|
|
2774
|
+
* under the SAME kind with DIFFERENT endpoints satisfies a kind-only
|
|
2775
|
+
* predicate, so an upsert that resolved this id BY endpoints could otherwise
|
|
2776
|
+
* write to an edge pointing somewhere it never looked. Carrying them here
|
|
2777
|
+
* closes that, on the same terms and in the same `WHERE` as `kind`.
|
|
2778
|
+
*
|
|
2779
|
+
* All four move together or not at all — they are one assertion. A plain
|
|
2780
|
+
* `update` on a kind-scoped collection states none of them, because it
|
|
2781
|
+
* resolved the edge by id and kind and made no claim about where it points;
|
|
2782
|
+
* predicating on endpoints it never checked would refuse legitimate writes.
|
|
2783
|
+
* The same MUST-apply contract as `kind` binds a backend that receives them.
|
|
2784
|
+
*/
|
|
2785
|
+
fromKind?: string;
|
|
2786
|
+
fromId?: string;
|
|
2787
|
+
toKind?: string;
|
|
2788
|
+
toId?: string;
|
|
2374
2789
|
props: Readonly<Record<string, unknown>>;
|
|
2790
|
+
/**
|
|
2791
|
+
* Applied when resurrecting a tombstone, where it asserts a COMPLETE window:
|
|
2792
|
+
* `validTo` is rewritten alongside it (omitted `validTo` reopens the window).
|
|
2793
|
+
* Omitting `validFrom` on a resurrection leaves the stored window in place.
|
|
2794
|
+
*/
|
|
2795
|
+
validFrom?: string | null;
|
|
2375
2796
|
validTo?: string;
|
|
2797
|
+
/**
|
|
2798
|
+
* The effective `valid_from` this write asserts the target row already
|
|
2799
|
+
* carries. Same three states, same NULL-safety, and the same MUST-apply
|
|
2800
|
+
* contract as {@link UpdateNodeParams.expectedValidFrom}; stated by the same
|
|
2801
|
+
* kind of caller, one whose verdict READ that bound.
|
|
2802
|
+
*
|
|
2803
|
+
* Separate from the immutable-identity components above because it is not
|
|
2804
|
+
* immutable: a resurrection rewrites `valid_from`. It is asserted for the
|
|
2805
|
+
* opposite reason — precisely because it can change, a decision computed from
|
|
2806
|
+
* it must be fenced against it having changed.
|
|
2807
|
+
*/
|
|
2808
|
+
expectedValidFrom?: string | null;
|
|
2376
2809
|
clearDeleted?: boolean;
|
|
2377
2810
|
}>;
|
|
2378
2811
|
/**
|
|
@@ -2381,6 +2814,8 @@ type UpdateEdgeParams = Readonly<{
|
|
|
2381
2814
|
type DeleteEdgeParams = Readonly<{
|
|
2382
2815
|
graphId: string;
|
|
2383
2816
|
id: string;
|
|
2817
|
+
/** See {@link UpdateEdgeParams.kind}. */
|
|
2818
|
+
kind?: string;
|
|
2384
2819
|
}>;
|
|
2385
2820
|
/**
|
|
2386
2821
|
* Parameters for hard deleting a node (permanent removal).
|
|
@@ -2396,6 +2831,8 @@ type HardDeleteNodeParams = Readonly<{
|
|
|
2396
2831
|
type HardDeleteEdgeParams = Readonly<{
|
|
2397
2832
|
graphId: string;
|
|
2398
2833
|
id: string;
|
|
2834
|
+
/** See {@link UpdateEdgeParams.kind}. */
|
|
2835
|
+
kind?: string;
|
|
2399
2836
|
}>;
|
|
2400
2837
|
/** Parameters for a batched edge delete (soft or hard). */
|
|
2401
2838
|
type DeleteEdgesBatchParams = Readonly<{
|
|
@@ -2514,9 +2951,19 @@ type VectorSearchParams = Readonly<{
|
|
|
2514
2951
|
* trades latency for recall. The floor for the over-fetch to fill its
|
|
2515
2952
|
* candidate set is `efSearch >= limit`; ~2–4× is the high-recall
|
|
2516
2953
|
* target. Applied transaction-locally (`SET LOCAL`) on the Postgres
|
|
2517
|
-
* HNSW path only.
|
|
2518
|
-
*
|
|
2519
|
-
*
|
|
2954
|
+
* HNSW path only.
|
|
2955
|
+
*
|
|
2956
|
+
* APPLIED OR REFUSED, never ignored. Read
|
|
2957
|
+
* `capabilities.vector.searchFrontierTuning` to know which you get:
|
|
2958
|
+
*
|
|
2959
|
+
* - `tunable: false` (sqlite-vec, libSQL DiskANN — no per-search frontier
|
|
2960
|
+
* knob exists): `UnsupportedBackendCapabilityError`.
|
|
2961
|
+
* - a slot whose index type is not the tunable one (pgvector IVFFlat or
|
|
2962
|
+
* brute-force): `ConfigurationError`.
|
|
2963
|
+
* - `requiresTransactionScope` on a backend reporting
|
|
2964
|
+
* `transactions: false` (for example `drizzle-orm/neon-http`):
|
|
2965
|
+
* `UnsupportedBackendCapabilityError`, because `SET LOCAL` has no frame
|
|
2966
|
+
* to be local to.
|
|
2520
2967
|
*/
|
|
2521
2968
|
efSearch?: number;
|
|
2522
2969
|
}>;
|
|
@@ -2989,6 +3436,122 @@ type ContributionRepairResult = Readonly<{
|
|
|
2989
3436
|
results: readonly ContributionRepairEntry[];
|
|
2990
3437
|
remaining: readonly ContributionDiagnostic[];
|
|
2991
3438
|
}>;
|
|
3439
|
+
/**
|
|
3440
|
+
* The search projection a probe entry summarizes. Deliberately the
|
|
3441
|
+
* logical *class* rather than one physical table: a caller asking "is
|
|
3442
|
+
* search ready?" is deciding whether to issue a fulltext or a vector
|
|
3443
|
+
* query, and a per-`(kind, field)` breakdown of pgvector tables answers
|
|
3444
|
+
* a question they did not ask. The physical detail an operator needs to
|
|
3445
|
+
* act is one `verifyContributions()` call away, and
|
|
3446
|
+
* {@link ContributionProbeEntry.detail} names the affected slots.
|
|
3447
|
+
*/
|
|
3448
|
+
type ContributionProbeContribution = "fulltext" | "vector";
|
|
3449
|
+
/**
|
|
3450
|
+
* Readiness of one search projection.
|
|
3451
|
+
*
|
|
3452
|
+
* - `ready` — every contribution backing this projection is attested by
|
|
3453
|
+
* its durable marker and present in the catalog. Not a promise about
|
|
3454
|
+
* future coherence: a write that lands after the probe returns is
|
|
3455
|
+
* outside what any assessment can cover.
|
|
3456
|
+
* - `degraded` — at least one contribution is unusable. Queries against
|
|
3457
|
+
* this projection will be refused (`StoreNotInitializedError`) or will
|
|
3458
|
+
* read incomplete storage.
|
|
3459
|
+
* {@link ContributionProbeEntry.detail} says which and why.
|
|
3460
|
+
* - `building` — **reserved.** No shipped path publishes it. Recording
|
|
3461
|
+
* an in-flight marker would need a fifth
|
|
3462
|
+
* {@link ContributionDiagnosticState} and would widen the hot-path
|
|
3463
|
+
* gate's verdict set; the destructive rebuild instead runs inside one
|
|
3464
|
+
* transaction, so a concurrent probe observes the state before or
|
|
3465
|
+
* after it and never a partial one. Reserved rather than removed so a
|
|
3466
|
+
* future streaming/async materializer can populate it without a
|
|
3467
|
+
* breaking change — treat it as "not `ready`" today.
|
|
3468
|
+
*/
|
|
3469
|
+
type ContributionProbeState = "ready" | "degraded" | "building";
|
|
3470
|
+
/**
|
|
3471
|
+
* One search projection's readiness, from
|
|
3472
|
+
* {@link GraphBackend.probeContributions}.
|
|
3473
|
+
*/
|
|
3474
|
+
type ContributionProbeEntry = Readonly<{
|
|
3475
|
+
contribution: ContributionProbeContribution;
|
|
3476
|
+
state: ContributionProbeState;
|
|
3477
|
+
/**
|
|
3478
|
+
* Operator-facing summary of why the projection is not `ready` —
|
|
3479
|
+
* e.g. `"fulltext table \"typegraph_node_fulltext\" is missing
|
|
3480
|
+
* (orphaned-marker)"`. Absent on a `ready` entry.
|
|
3481
|
+
*
|
|
3482
|
+
* Human-readable and not a stable format: route on `state`, and call
|
|
3483
|
+
* `store.verifyContributions()` for the structured per-table
|
|
3484
|
+
* diagnostics this string is derived from.
|
|
3485
|
+
*/
|
|
3486
|
+
detail?: string;
|
|
3487
|
+
}>;
|
|
3488
|
+
/**
|
|
3489
|
+
* Result of {@link GraphBackend.probeContributions}.
|
|
3490
|
+
*
|
|
3491
|
+
* A projection with no declared contributions is omitted rather than
|
|
3492
|
+
* reported `ready`, so an empty `entries` array means "nothing to
|
|
3493
|
+
* assess" — a graph with no `searchable()` or `embedding()` fields, or a
|
|
3494
|
+
* backend with no contribution support — never "assessed and healthy".
|
|
3495
|
+
*/
|
|
3496
|
+
type ContributionProbeResult = Readonly<{
|
|
3497
|
+
/**
|
|
3498
|
+
* The durable graph revision the assessment was taken at, so a caller
|
|
3499
|
+
* can place this probe in the graph's committed history.
|
|
3500
|
+
*
|
|
3501
|
+
* Graph-global, like the clock it reads: it advances on every committed
|
|
3502
|
+
* capture from any writer, so an advance between two probes means
|
|
3503
|
+
* "something committed in between", never "the write this caller just
|
|
3504
|
+
* made landed". Confirm a specific write by observing the write itself.
|
|
3505
|
+
*
|
|
3506
|
+
* Absent unless the Store is revision-tracked (`revisionTracking:
|
|
3507
|
+
* true` or `history: true`) — the same condition under which
|
|
3508
|
+
* `store.revisionNow()` returns a value. This is the one honest shape:
|
|
3509
|
+
* a store with no durable revision clock has no revision to stamp, and
|
|
3510
|
+
* substituting a wall-clock timestamp or the schema version would be a
|
|
3511
|
+
* materially weaker guarantee wearing the name of a stronger one. The
|
|
3512
|
+
* schema version in particular does not advance on data writes, so it
|
|
3513
|
+
* could not order a probe against a caller's write at all.
|
|
3514
|
+
*/
|
|
3515
|
+
graphRevision?: string;
|
|
3516
|
+
entries: readonly ContributionProbeEntry[];
|
|
3517
|
+
}>;
|
|
3518
|
+
/**
|
|
3519
|
+
* Which search projection {@link GraphBackend.rebuildContribution}
|
|
3520
|
+
* targets. Scoped explicitly at the call site rather than inferred from
|
|
3521
|
+
* a diagnostic: the operation destroys storage, so which storage is the
|
|
3522
|
+
* caller's decision to state, not TypeGraph's to guess.
|
|
3523
|
+
*/
|
|
3524
|
+
type ContributionRebuildScope = ContributionProbeContribution;
|
|
3525
|
+
/**
|
|
3526
|
+
* What a rebuild's `repopulate` callback reconstructed. Reported back so
|
|
3527
|
+
* the rebuild result can distinguish "recreated empty storage" from
|
|
3528
|
+
* "recreated and refilled", which is the difference between a finished
|
|
3529
|
+
* repair and half of one.
|
|
3530
|
+
*/
|
|
3531
|
+
type ContributionRepopulationStats = Readonly<{
|
|
3532
|
+
/** Nodes scanned. */
|
|
3533
|
+
processed: number;
|
|
3534
|
+
/** Content rows written. */
|
|
3535
|
+
repopulated: number;
|
|
3536
|
+
/** Nodes whose stored `props` could not be read as an object. */
|
|
3537
|
+
skipped: number;
|
|
3538
|
+
}>;
|
|
3539
|
+
/** Outcome of one destructive contribution rebuild. */
|
|
3540
|
+
type ContributionRebuildResult = Readonly<{
|
|
3541
|
+
/** Physical tables dropped and recreated, in the order rebuilt. */
|
|
3542
|
+
rebuilt: readonly string[];
|
|
3543
|
+
/** Nodes scanned while reconstructing content from stored rows. */
|
|
3544
|
+
processed: number;
|
|
3545
|
+
/** Content rows written into the recreated storage. */
|
|
3546
|
+
repopulated: number;
|
|
3547
|
+
/**
|
|
3548
|
+
* Nodes whose stored `props` could not be read as an object, so no
|
|
3549
|
+
* content row could be reconstructed for them. Non-zero means the
|
|
3550
|
+
* rebuilt index is missing those nodes; the IDs come back from
|
|
3551
|
+
* `store.search.rebuildFulltext()`, which reports them individually.
|
|
3552
|
+
*/
|
|
3553
|
+
skipped: number;
|
|
3554
|
+
}>;
|
|
2992
3555
|
/**
|
|
2993
3556
|
* One row of the per-deployment `typegraph_kind_removals` table:
|
|
2994
3557
|
* a graph-extension kind that has been removed from the schema and whose
|
|
@@ -3035,6 +3598,21 @@ type TransactionOptions = Readonly<{
|
|
|
3035
3598
|
*/
|
|
3036
3599
|
accessMode?: "read_only" | "read_write";
|
|
3037
3600
|
}>;
|
|
3601
|
+
/**
|
|
3602
|
+
* The physical names of the four Operational Identity relations: the current
|
|
3603
|
+
* assertion ledger, its recorded-time twin, and the two DERIVED relations
|
|
3604
|
+
* (closure, separation) rebuilt from the ledger.
|
|
3605
|
+
*
|
|
3606
|
+
* Named once so the two ports that speak about them —
|
|
3607
|
+
* {@link GraphBackend.ensureIdentityTables} and
|
|
3608
|
+
* {@link GraphBackend.identityTableDdl} — cannot drift apart.
|
|
3609
|
+
*/
|
|
3610
|
+
type IdentityTableNames = Readonly<{
|
|
3611
|
+
identityAssertions: string;
|
|
3612
|
+
recordedIdentityAssertions: string;
|
|
3613
|
+
identityClosure: string;
|
|
3614
|
+
identitySeparation: string;
|
|
3615
|
+
}>;
|
|
3038
3616
|
/**
|
|
3039
3617
|
* The GraphBackend interface abstracts database operations.
|
|
3040
3618
|
*
|
|
@@ -3199,11 +3777,32 @@ type GraphBackend = Readonly<{
|
|
|
3199
3777
|
* transaction-scoped backend. PostgreSQL locks the active schema row, so a
|
|
3200
3778
|
* concurrent change either becomes visible at read committed or raises the
|
|
3201
3779
|
* database's native serialization failure at stronger isolation.
|
|
3780
|
+
*
|
|
3781
|
+
* On rejection the thrown `StaleVersionError` reports the active
|
|
3782
|
+
* version this transaction can observe after the conflict resolves, so
|
|
3783
|
+
* `details.actual` names the version that won rather than the absence the
|
|
3784
|
+
* blocked read momentarily saw.
|
|
3202
3785
|
*/
|
|
3203
3786
|
lockSchemaVersionForWrite?: (this: void, params: Readonly<{
|
|
3204
3787
|
graphId: string;
|
|
3205
3788
|
expectedVersion: number;
|
|
3206
3789
|
}>) => Promise<void>;
|
|
3790
|
+
/**
|
|
3791
|
+
* Internal schema-lifecycle seam for features whose data preflight must
|
|
3792
|
+
* commit atomically with the schema CAS. The callback runs in the same
|
|
3793
|
+
* write transaction after the schema write fence is acquired and before the
|
|
3794
|
+
* version write; it receives no schema-version write methods, so callers
|
|
3795
|
+
* cannot bypass the CAS.
|
|
3796
|
+
*
|
|
3797
|
+
* The preflight target is a {@link SchemaCommitPreflightBackend}: the
|
|
3798
|
+
* transaction backend plus the schema-write DDL primitive, because a
|
|
3799
|
+
* transition may have to CREATE the storage its own preflight then fills —
|
|
3800
|
+
* and creating it outside this transaction would publish it empty whenever
|
|
3801
|
+
* the commit is refused.
|
|
3802
|
+
*
|
|
3803
|
+
* @internal
|
|
3804
|
+
*/
|
|
3805
|
+
commitSchemaVersionWithPreflight?: (this: void, params: CommitSchemaVersionParams, preflight: (target: SchemaCommitPreflightBackend) => Promise<void>) => Promise<SchemaVersionRow>;
|
|
3207
3806
|
/**
|
|
3208
3807
|
* Atomically flips the active schema pointer to an existing version,
|
|
3209
3808
|
* with optimistic compare-and-swap on the currently active version.
|
|
@@ -3312,6 +3911,54 @@ type GraphBackend = Readonly<{
|
|
|
3312
3911
|
* without replaying all base-table DDL during a merge read.
|
|
3313
3912
|
*/
|
|
3314
3913
|
ensureRevisionOriginsTable?: (this: void) => Promise<void>;
|
|
3914
|
+
/**
|
|
3915
|
+
* Idempotently ensure ONLY the three Operational Identity relations exist —
|
|
3916
|
+
* the current-assertions table, the recorded-time assertions table, and the
|
|
3917
|
+
* derived closure and separation tables — with their indexes and CHECK
|
|
3918
|
+
* constraints (CREATE TABLE / CREATE INDEX IF NOT EXISTS).
|
|
3919
|
+
*
|
|
3920
|
+
* First enablement of identity on an existing populated deployment attaches
|
|
3921
|
+
* via `createStore` / `createSqliteBackend` / `createPostgresBackend`, none
|
|
3922
|
+
* of which run DDL, so the enablement preflight would otherwise
|
|
3923
|
+
* SELECT/DELETE/INSERT tables that do not exist yet. The store calls this
|
|
3924
|
+
* before the enablement locks and closure rebuild. Focused rather than
|
|
3925
|
+
* `bootstrapTables` for the same concurrency rationale as
|
|
3926
|
+
* {@link ensureRevisionOriginsTable}. Stores call it before opening the
|
|
3927
|
+
* schema-commit transaction so DDL does not re-enter its per-graph lock.
|
|
3928
|
+
* Returns the logical names that were absent before this call. Callers set
|
|
3929
|
+
* `provisionMissing` only for safe first enablement; on an already-enabled
|
|
3930
|
+
* graph, missing ledger tables are deliberately left absent so a failed open
|
|
3931
|
+
* cannot make its next retry silently accept empty replacement storage.
|
|
3932
|
+
*
|
|
3933
|
+
* @internal
|
|
3934
|
+
*/
|
|
3935
|
+
ensureIdentityTables?: (this: void, tableNames: IdentityTableNames, options: Readonly<{
|
|
3936
|
+
provisionMissing: boolean;
|
|
3937
|
+
}>) => Promise<readonly string[]>;
|
|
3938
|
+
/**
|
|
3939
|
+
* The idempotent CREATE statements for exactly the identity relations —
|
|
3940
|
+
* the same DDL {@link ensureIdentityTables} issues, handed back as data
|
|
3941
|
+
* instead of executed.
|
|
3942
|
+
*
|
|
3943
|
+
* Pure and synchronous: it executes nothing and probes no catalog, so it is
|
|
3944
|
+
* safe to call from inside an already-open transaction, where invoking a
|
|
3945
|
+
* top-level backend method would re-enter the backend's serialized statement
|
|
3946
|
+
* queue and deadlock. That is the whole point. Provisioning a missing DERIVED
|
|
3947
|
+
* relation (closure, separation) on an already-enabled graph has to CREATE it
|
|
3948
|
+
* and FILL it in one transaction, because a created-but-empty derived
|
|
3949
|
+
* relation is readable and answers every question with "nothing" — for the
|
|
3950
|
+
* separation relation, "nothing" means "not separated", which is exactly the
|
|
3951
|
+
* answer that lets a contradictory merge commit.
|
|
3952
|
+
*
|
|
3953
|
+
* A backend that omits this cannot offer that atomicity. Callers do not fall
|
|
3954
|
+
* back: when a fill is owed, the upgrade is REFUSED with the typed
|
|
3955
|
+
* `IDENTITY_UPGRADE_REQUIRES_ATOMIC_DDL` error naming this port — creating
|
|
3956
|
+
* and filling back-to-back would publish the readable-empty state the
|
|
3957
|
+
* paragraph above forbids.
|
|
3958
|
+
*
|
|
3959
|
+
* @internal
|
|
3960
|
+
*/
|
|
3961
|
+
identityTableDdl?: (this: void, tableNames: IdentityTableNames) => readonly string[];
|
|
3315
3962
|
/**
|
|
3316
3963
|
* Look up a recorded materialization for a declared index by its
|
|
3317
3964
|
* physical SQL index name. Returns `undefined` if no row exists.
|
|
@@ -3525,6 +4172,61 @@ type GraphBackend = Readonly<{
|
|
|
3525
4172
|
* strategy-owned contribution DDL.
|
|
3526
4173
|
*/
|
|
3527
4174
|
repairContributions?: (this: void, graphId: string, vectorSlots: readonly VectorSlot[]) => Promise<ContributionRepairResult>;
|
|
4175
|
+
/**
|
|
4176
|
+
* Read-only readiness probe: the same marker-versus-catalog audit
|
|
4177
|
+
* `verifyContributions` performs, projected onto one entry per search
|
|
4178
|
+
* projection. Shares that method's detection logic exactly — a second
|
|
4179
|
+
* implementation would be free to disagree with the one the hot-path
|
|
4180
|
+
* gate actually consults, and a health check that disagrees with the
|
|
4181
|
+
* gate is worse than none.
|
|
4182
|
+
*
|
|
4183
|
+
* Writes nothing: no DDL, no marker writes, no effect on the
|
|
4184
|
+
* per-instance caches the hot path relies on. Safe on a read path, on
|
|
4185
|
+
* a replica, and under a least-privilege role.
|
|
4186
|
+
*
|
|
4187
|
+
* Present only on backends that can probe their catalog; a backend
|
|
4188
|
+
* that provisions contributions without this method declares the gap
|
|
4189
|
+
* as `capabilities.contributions.probe === false`.
|
|
4190
|
+
*/
|
|
4191
|
+
probeContributions?: (this: void, graphId: string, vectorSlots: readonly VectorSlot[]) => Promise<readonly ContributionProbeEntry[]>;
|
|
4192
|
+
/**
|
|
4193
|
+
* Destructively rebuild one search projection for one graph: clear that
|
|
4194
|
+
* graph's rows from the projection's storage, ensure the storage matches
|
|
4195
|
+
* the current `createDdl`, reconstruct the graph's content, and stamp the
|
|
4196
|
+
* durable marker at the current signature.
|
|
4197
|
+
*
|
|
4198
|
+
* This is the repair `repairContributions` deliberately refuses to
|
|
4199
|
+
* perform, and it must never be reachable from it. A `stale`
|
|
4200
|
+
* contribution's table exists at the *old* physical shape, so the
|
|
4201
|
+
* idempotent `CREATE ... IF NOT EXISTS` in the ordinary ensure path
|
|
4202
|
+
* no-ops; re-stamping the marker there would leave it blessing a table
|
|
4203
|
+
* whose shape is wrong, which is exactly what the drift guard exists
|
|
4204
|
+
* to prevent. Only a drop makes the recreate meaningful, and destroying
|
|
4205
|
+
* content is a decision the caller states rather than one a flag named
|
|
4206
|
+
* `force` implies.
|
|
4207
|
+
*
|
|
4208
|
+
* The fulltext projection's storage is one physical table shared by every
|
|
4209
|
+
* graph in the database, while this call is fenced per graph.
|
|
4210
|
+
* Implementations must therefore scope the teardown to `graphId` and may
|
|
4211
|
+
* drop the storage only when doing so destroys no other graph's rows;
|
|
4212
|
+
* when the recorded shape is stale and the drop that would repair it is
|
|
4213
|
+
* not available, they refuse (`shared-storage-in-use`) rather than
|
|
4214
|
+
* re-stamp a shape nothing verified.
|
|
4215
|
+
*
|
|
4216
|
+
* Runs the whole sequence inside one transaction under the same
|
|
4217
|
+
* per-graph fence as a schema commit, so an interrupted rebuild leaves
|
|
4218
|
+
* the contribution exactly as it was rather than attested-but-empty.
|
|
4219
|
+
*
|
|
4220
|
+
* `repopulate` receives that transaction and reconstructs content from
|
|
4221
|
+
* rows TypeGraph already stores. The inversion exists because deciding
|
|
4222
|
+
* *what* content a node contributes needs the schema registry, which
|
|
4223
|
+
* is a Store-layer concern the backend must not reach into.
|
|
4224
|
+
*
|
|
4225
|
+
* @param scope which projection to rebuild. Implementations must
|
|
4226
|
+
* refuse `"vector"`: embeddings live only in the storage this would
|
|
4227
|
+
* drop, so there is nothing to reconstruct them from.
|
|
4228
|
+
*/
|
|
4229
|
+
rebuildContribution?: (this: void, graphId: string, scope: ContributionRebuildScope, repopulate: (target: TransactionBackend) => Promise<ContributionRepopulationStats>) => Promise<ContributionRebuildResult>;
|
|
3528
4230
|
/**
|
|
3529
4231
|
* Bootstraps the fulltext storage table the active `FulltextStrategy`
|
|
3530
4232
|
* owns. Same focused-bootstrap rationale as the other `ensure*Table`
|
|
@@ -3700,6 +4402,23 @@ type TransactionReadBackend = Readonly<BackendIdentity & GraphEntityReadBackend
|
|
|
3700
4402
|
* lifecycle owner rather than an already-open transaction.
|
|
3701
4403
|
*/
|
|
3702
4404
|
type TransactionBackend = Readonly<BackendIdentity & GraphEntityReadBackend & GraphEntityWriteBackend & UniqueConstraintBackend & SchemaReadBackend & Pick<GraphBackend, "lockSchemaVersionForWrite"> & VectorOperationBackend & FulltextOperationBackend & IndexMaterializationBackend & ContributionMaterializationBackend & RemovalMaterializationBackend & GraphLifecycleBackend & QueryExecutionBackend & RawQueryExecutionBackend & RawStatementExecutionBackend>;
|
|
4405
|
+
/**
|
|
4406
|
+
* The target a schema-commit preflight runs against: a transaction backend
|
|
4407
|
+
* that MAY also carry the schema-write DDL primitive.
|
|
4408
|
+
*
|
|
4409
|
+
* Optional, deliberately. Both bundled backends pass the same
|
|
4410
|
+
* {@link SchemaWriteTransactionBackend} their `schemaWriteTransaction` exposes,
|
|
4411
|
+
* so DDL is available there; a custom backend may implement
|
|
4412
|
+
* {@link GraphBackend.commitSchemaVersionWithPreflight} over a transaction that
|
|
4413
|
+
* cannot run DDL. Declaring the port as present-or-absent lets a preflight that
|
|
4414
|
+
* needs it refuse with a typed error naming the capability, instead of calling
|
|
4415
|
+
* `undefined` — or, far worse, skipping the DDL and continuing.
|
|
4416
|
+
*
|
|
4417
|
+
* @internal
|
|
4418
|
+
*/
|
|
4419
|
+
type SchemaCommitPreflightBackend = TransactionBackend & Readonly<{
|
|
4420
|
+
executeSchemaDdl?: (this: void, ddl: string) => Promise<void>;
|
|
4421
|
+
}>;
|
|
3703
4422
|
/**
|
|
3704
4423
|
* Parameters for inserting a unique constraint entry.
|
|
3705
4424
|
*/
|
|
@@ -4407,6 +5126,8 @@ type Traversal = Readonly<{
|
|
|
4407
5126
|
joinEdgeField: "from_id" | "to_id";
|
|
4408
5127
|
/** If true, use LEFT JOIN instead of INNER JOIN (optional match) */
|
|
4409
5128
|
optional: boolean;
|
|
5129
|
+
/** Expand this hop through coordinate-visible Operational Identity members. */
|
|
5130
|
+
includeIdentityMembers?: boolean;
|
|
4410
5131
|
/** Variable-length traversal configuration (for recursive CTEs) */
|
|
4411
5132
|
variableLength?: VariableLengthSpec;
|
|
4412
5133
|
}>;
|
|
@@ -4880,4 +5601,4 @@ type RelationalIndexDeclaration = NodeIndexDeclaration | EdgeIndexDeclaration;
|
|
|
4880
5601
|
type IndexDeclaration = RelationalIndexDeclaration | VectorIndexDeclaration;
|
|
4881
5602
|
type SystemColumnName = "graph_id" | "kind" | "id" | "from_kind" | "from_id" | "to_kind" | "to_id" | "deleted_at" | "valid_from" | "valid_to" | "created_at" | "updated_at" | "version";
|
|
4882
5603
|
|
|
4883
|
-
export { type SerializedOntology as $, type AdapterBackend as A, type BackendCapabilities as B, type ContributionDiagnostic as C, type DeleteBehavior as D, type EdgeRegistration as E, type FulltextStrategy as F, type GraphExtension as G, type SerializedSchema as H, type IndexDeclaration as I, type JsonPointer as J, type KindEntity as K, type SerializedNodeDef as L, type SerializedEdgeDef as M, type NodeRegistration as N, type OntologyRelation as O, type IndexEntity as P, type QueryAst as Q, type RelationalIndexDeclaration as R, type SqlDialect as S, type TemporalMode as T, type SerializedMetaEdge as U, type VectorStrategy as V, type SerializedOntologyRelation as W, type SerializedClosures as X, type SchemaHash as Y, type NullCheckOp as Z, type JsonSchema as _, type ContributionDiagnosticState as a, type NodeEntityWriteBackend as a$, type SerializedUniqueConstraint as a0, type InferenceType as a1, type EdgeType as a2, type AggregateExpr as a3, type FieldRef as a4, type ComparisonOp as a5, type AggregateComparisonPredicate as a6, type TraversalDirection as a7, type AdapterBackendTransactions as a8, type BackendIdentity as a9, type FulltextCapabilities as aA, type FulltextOperationBackend as aB, type FulltextQueryMode as aC, type FulltextSearchParams as aD, type FulltextSearchResult as aE, type GraphAnalyticsCapabilities as aF, type GraphEntityReadBackend as aG, type GraphEntityWriteBackend as aH, type GraphExtensionVersion as aI, type GraphLifecycleBackend as aJ, type HardDeleteUniquesByNodeIdsParams as aK, type HybridFusionOptions as aL, type IndexMaterializationBackend as aM, type IntentSql as aN, type JsonPointerFor as aO, type JsonPointerInput as aP, type JsonPointerSegment as aQ, type JsonPointerSegments as aR, type JsonPointerSegmentsFor as aS, type JsonValue as aT, type KindAnnotations as aU, LEGACY_GRAPH_EXTENSION_VERSION as aV, type LockSchemaVersionForWriteParams as aW, MAX_JSON_POINTER_DEPTH as aX, type MetaEdge as aY, type MetaEdgeProperties as aZ, type NodeEntityReadBackend as a_, type BackendLifecycle as aa, type BackendMaintenance as ab, type BackendTransactions as ac, CURRENT_GRAPH_EXTENSION_VERSION as ad, type Cardinality as ae, type Collation as af, type CommitSchemaVersionExpected as ag, type CommitSchemaVersionIfKindsEmptyResult as ah, type CommitSchemaVersionParams as ai, type CompiledRowsSql as aj, type CompiledSelectSql as ak, type CompiledStatementSql as al, type ContributionMaterializationBackend as am, DEFAULT_SQL_SCHEMA as an, type DeleteFulltextBatchParams as ao, type EdgeEntityReadBackend as ap, type EdgeEntityWriteBackend as aq, type EdgeId as ar, type EdgeProps as as, type EdgeTypeWithEndpoints as at, type EndpointExistence as au, type ExternalRecordedReadSource as av, type FilteredApproximateSearch as aw, type FilteredApproximateSearchMode as ax, type FindEdgesByHeterogeneousEndpointSetParams as ay, type FulltextBatchRow as az, type ContributionRepairEntry as b, renderPostgres as b$, type NodeId as b0, type NodeProps as b1, type OrderSpec as b2, type ParameterRef as b3, Placeholder as b4, type PopulatedSchemaKind as b5, type QueryExecutionBackend as b6, type RawQueryExecutionBackend as b7, type RawStatementExecutionBackend as b8, type RecordedRelationOptions as b9, type TransactionReadBackend as bA, type TraversalExpansion as bB, type TrustedImportOptions as bC, type TrustedImportSession as bD, type UniqueConstraint as bE, type UniqueConstraintBackend as bF, type UniquenessScope as bG, type UpdateNodeSetParams as bH, type UpdateNodeSetResult as bI, type UpsertFulltextBatchParams as bJ, type VectorCapabilities as bK, type VectorOperationBackend as bL, asEdgeId as bM, asNodeId as bN, buildVectorCapabilities as bO, createSqlSchema as bP, fts5Strategy as bQ, isEdgeType as bR, isEdgeTypeWithEndpoints as bS, isMetaEdge as bT, isNodeType as bU, isSqlFragment as bV, joinJsonPointers as bW, jsonPointer as bX, normalizeJsonPointer as bY, parseJsonPointer as bZ, recordedRelation as b_, type RemovalMaterializationBackend as ba, type RenderedSql as bb, type ResolveJsonPointer as bc, type ResolveJsonPointerSegments as bd, type ResolvedSqlTableNames as be, type RowProps as bf, type SchemaCommitBackend as bg, type SchemaKindEmptinessProbe as bh, type SchemaReadBackend as bi, type SchemaWriteFenceBackend as bj, type SetActiveVersionParams as bk, type SortDirection as bl, type SqlChunk as bm, type SqlFragment as bn, type SqlIdentifierChunk as bo, type SqlIntent as bp, type SqlParameterChunk as bq, type SqlPlaceholderChunk as br, SqlSchema as bs, type SqlTableNames as bt, type SqlTag as bu, type SqlTextChunk as bv, type StrategyTableContribution as bw, type TableContribution as bx, type TransactionBackend as by, type TransactionOptions as bz, type ContributionRepairResult as c, type ExtensionIndexWhere as c$, renderSql as c0, renderSqlInline as c1, renderSqlite as c2, rowPropsToJsonText as c3, rowPropsToObject as c4, sql as c5, tsvectorStrategy as c6, type ExtensionNodeDef as c7, type ExtensionEdgeDef as c8, type ExtensionOntologyRelation as c9, type ContributionMaterializationIdentity as cA, type ContributionMaterializationRow as cB, type CountEdgesByKindParams as cC, type CountEdgesFromParams as cD, type CountNodesByKindParams as cE, type CreateVectorIndexParams as cF, D1_MAX_BIND_PARAMETERS as cG, DURABLE_OBJECT_MAX_BIND_PARAMETERS as cH, type DeleteEdgeParams as cI, type DeleteEdgesBatchParams as cJ, type DeleteEmbeddingParams as cK, type DeleteFulltextParams as cL, type DeleteNodeParams as cM, type DeleteUniqueParams as cN, type DialectAdapter as cO, type DialectCapabilities as cP, type DialectRecursiveQueryStrategy as cQ, type DialectStandardQueryStrategy as cR, type DialectVectorPredicateStrategy as cS, type DropVectorIndexParams as cT, type EdgeExistsBetweenParams as cU, type ExtensionArrayItemType as cV, type ExtensionArrayProperty as cW, type ExtensionBooleanProperty as cX, type ExtensionEdgeIndex as cY, type ExtensionEmbeddingModifier as cZ, type ExtensionEnumProperty as c_, type ExtensionIndex as ca, type ValueType as cb, type PredicateExpression as cc, type VectorMetricType as cd, type Traversal as ce, type NodePredicate as cf, type ProjectedField as cg, type AggregateOrderSpec as ch, type GroupBySpec as ci, type RecursiveCyclePolicy as cj, type VectorSlotMap as ck, type RecordedReadBinding as cl, type SelectiveField as cm, type ComposableQuery as cn, type SetOperationType as co, type SetOperation as cp, type NodeRow as cq, type EdgeRow as cr, type VectorMetric as cs, ALL_FULLTEXT_MODES as ct, ALL_META_EDGE_NAMES as cu, BASE_CONTRIBUTION_OWNER as cv, type CheckUniqueBatchParams as cw, type CheckUniqueParams as cx, type ClaimIndexMaterializationParams as cy, type CompiledTemporaryStatementSql as cz, type NodeType as d, isTombstonedNodeRow as d$, type ExtensionNodeIndex as d0, type ExtensionNumberProperty as d1, type ExtensionObjectFieldProperty as d2, type ExtensionObjectProperty as d3, type ExtensionPropertyModifiers as d4, type ExtensionPropertyType as d5, type ExtensionSearchableModifier as d6, type ExtensionStringProperty as d7, type ExtensionUniqueConstraint as d8, type ExtensionUniqueWhere as d9, POSTGRES_MAX_BIND_PARAMETERS as dA, type RecordContributionMaterializationParams as dB, type RecordIndexMaterializationParams as dC, type RecordKindRemovalParams as dD, type RelationalIndexMethod as dE, type ReleaseIndexMaterializationClaimParams as dF, SQLITE_CAPABILITIES as dG, SQLITE_MAX_BIND_PARAMETERS as dH, type SqlCompilationBackend as dI, type TombstonedNodeRow as dJ, type UniqueRow as dK, type UpdateEdgeParams as dL, type UpdateNodeParams as dM, type UpsertEmbeddingBatchParams as dN, type UpsertEmbeddingBatchRow as dO, type UpsertEmbeddingParams as dP, type UpsertFulltextParams as dQ, VECTOR_CONTRIBUTION_PREFIX as dR, type VectorIndexType as dS, type VectorSearchParams as dT, type VectorSearchResult as dU, assertFiniteEmbedding as dV, assertVectorMinScore as dW, assertVectorSearchLimit as dX, buildFulltextCapabilities as dY, isLiveNodeRow as dZ, isSqlPlaceholder as d_, FULLTEXT_CONTRIBUTION_NAME as da, type FindEdgesByEndpointSetParams as db, type FindEdgesByKindParams as dc, type FindEdgesConnectedToParams as dd, type FindNodesByKindParams as de, type GraphReadBackend as df, type HardDeleteEdgeParams as dg, type HardDeleteNodeParams as dh, type HybridSearchParams as di, type HybridSearchRow as dj, type InListParameterOptions as dk, type IndexDeclarationBase as dl, type IndexMaterializationRow as dm, type IndexWhereLiteral as dn, type IndexWhereOp as dp, type IndexWhereOperand as dq, type InsertEdgeParams as dr, type InsertNodeParams as ds, type InsertSchemaParams as dt, type InsertUniqueParams as du, type KindRemovalRow as dv, type LiveNodeRow as dw, MODERN_SQLITE_MAX_BIND_PARAMETERS as dx, type MetaEdgeName as dy, POSTGRES_CAPABILITIES as dz, type AnyEdgeType as e, normalizeGraphAnalyticsCapabilities as e0, quoteIdentifier as e1, shortHash as e2, vectorMinScoreCondition as e3, vectorPhysicalName as e4, vectorScoreExpression as e5, GRAPH_EXTENSION_TOP_LEVEL_KEYS as e6, type GraphExtensionTopLevelKey as e7, type GraphDefaults as f, type EdgeIndexDeclaration as g, type NodeIndexDeclaration as h, type EdgeIndexConfig as i, type EdgeIndexDirection as j, type EdgeIndexWhereBuilder as k, type IndexOrigin as l, type IndexScope as m, type IndexWhereExpression as n, type IndexWhereFieldBuilder as o, type IndexWhereInput as p, type NodeIndexConfig as q, type NodeIndexWhereBuilder as r, type SystemColumnName as s, type VectorIndexDeclaration as t, type VectorIndexImplementation as u, type VectorIndexMetric as v, type VectorIndexParams as w, type VectorSlot as x, type SchemaVersionRow as y, type GraphBackend as z };
|
|
5604
|
+
export { type EdgeId as $, type AdapterBackend as A, type BackendCapabilities as B, type ContributionDiagnostic as C, type SerializedNodeDef as D, type EdgeIndexDeclaration as E, type FulltextStrategy as F, type GraphIdentityConfig as G, type SerializedEdgeDef as H, type IndexDeclaration as I, type JsonPointer as J, type KindEntity as K, type IndexEntity as L, type SerializedMetaEdge as M, type NodeIndexDeclaration as N, type SerializedOntologyRelation as O, type SerializedClosures as P, type QueryAst as Q, type RelationalIndexDeclaration as R, type SqlDialect as S, type TemporalMode as T, type SchemaHash as U, type VectorStrategy as V, type NullCheckOp as W, type JsonSchema as X, type SerializedOntology as Y, type SerializedUniqueConstraint as Z, type NodeId as _, type ContributionDiagnosticState as a, type GetEdgeType as a$, type JsonValue as a0, type NodeKinds as a1, type GetNodeType as a2, type KindAnnotations as a3, type MetaEdge as a4, type EdgeType as a5, type DeleteBehavior as a6, type GraphExtensionVersion as a7, type ExtensionNodeDef as a8, type ExtensionEdgeDef as a9, type ContributionMaterializationBackend as aA, type ContributionProbeContribution as aB, type ContributionProbeEntry as aC, type ContributionProbeResult as aD, type ContributionProbeState as aE, type ContributionRebuildResult as aF, type ContributionRebuildScope as aG, type ContributionRepopulationStats as aH, DEFAULT_SQL_SCHEMA as aI, type DeleteFulltextBatchParams as aJ, type EdgeEntityReadBackend as aK, type EdgeEntityWriteBackend as aL, type EdgeKinds as aM, type EdgeProps as aN, type EdgeRegistration as aO, type EdgeTypeWithEndpoints as aP, type EndpointExistence as aQ, type ExternalRecordedReadSource as aR, type FilteredApproximateSearch as aS, type FilteredApproximateSearchMode as aT, type FindEdgesByHeterogeneousEndpointSetParams as aU, type FulltextBatchRow as aV, type FulltextCapabilities as aW, type FulltextOperationBackend as aX, type FulltextQueryMode as aY, type FulltextSearchParams as aZ, type FulltextSearchResult as a_, type ExtensionOntologyRelation as aa, type ExtensionIndex as ab, type AggregateExpr as ac, type FieldRef as ad, type ComparisonOp as ae, type AggregateComparisonPredicate as af, type TraversalDirection as ag, type OntologyRelation as ah, type InferenceType as ai, type AdapterBackendTransactions as aj, type AllEdgeTypes as ak, type AllNodeTypes as al, type BackendIdentity as am, type BackendLifecycle as an, type BackendMaintenance as ao, type BackendTransactions as ap, CURRENT_GRAPH_EXTENSION_VERSION as aq, type Cardinality as ar, type Collation as as, type CommitSchemaVersionExpected as at, type CommitSchemaVersionIfKindsEmptyResult as au, type CommitSchemaVersionParams as av, type CompiledRowsSql as aw, type CompiledSelectSql as ax, type CompiledStatementSql as ay, type ContributionCapabilities as az, type ContributionRepairEntry as b, type UpdateNodeSetParams as b$, type GraphAnalyticsCapabilities as b0, type GraphDefaults as b1, type GraphEntityReadBackend as b2, type GraphEntityWriteBackend as b3, type GraphExtension as b4, type GraphLifecycleBackend as b5, type HardDeleteUniquesByNodeIdsParams as b6, type HybridFusionOptions as b7, type IndexMaterializationBackend as b8, type IntentSql as b9, type RowProps as bA, type SchemaCommitBackend as bB, type SchemaKindEmptinessProbe as bC, type SchemaReadBackend as bD, type SchemaWriteFenceBackend as bE, type SetActiveVersionParams as bF, type SortDirection as bG, type SqlChunk as bH, type SqlFragment as bI, type SqlIdentifierChunk as bJ, type SqlIntent as bK, type SqlParameterChunk as bL, type SqlPlaceholderChunk as bM, type SqlTableNames as bN, type SqlTag as bO, type SqlTextChunk as bP, type StrategyTableContribution as bQ, type TableContribution as bR, type TransactionBackend as bS, type TransactionOptions as bT, type TransactionReadBackend as bU, type TraversalExpansion as bV, type TrustedImportOptions as bW, type TrustedImportSession as bX, type UniqueConstraint as bY, type UniqueConstraintBackend as bZ, type UniquenessScope as b_, type JsonPointerFor as ba, type JsonPointerInput as bb, type JsonPointerSegment as bc, type JsonPointerSegments as bd, type JsonPointerSegmentsFor as be, LEGACY_GRAPH_EXTENSION_VERSION as bf, type LockSchemaVersionForWriteParams as bg, MAX_JSON_POINTER_DEPTH as bh, type MetaEdgeProperties as bi, type NodeEntityReadBackend as bj, type NodeEntityWriteBackend as bk, type NodeProps as bl, type NodeRegistration as bm, type OrderSpec as bn, type ParameterRef as bo, Placeholder as bp, type PopulatedSchemaKind as bq, type QueryExecutionBackend as br, type RawQueryExecutionBackend as bs, type RawStatementExecutionBackend as bt, type RecordedRelationOptions as bu, type RemovalMaterializationBackend as bv, type RenderedSql as bw, type ResolveJsonPointer as bx, type ResolveJsonPointerSegments as by, type ResolvedSqlTableNames as bz, type ContributionRepairResult as c, D1_MAX_BIND_PARAMETERS as c$, type UpdateNodeSetResult as c0, type UpsertFulltextBatchParams as c1, type VectorCapabilities as c2, type VectorOperationBackend as c3, type VectorSearchFrontierTuning as c4, asEdgeId as c5, asNodeId as c6, buildVectorCapabilities as c7, createSqlSchema as c8, defineGraph as c9, type NodePredicate as cA, type ProjectedField as cB, type AggregateOrderSpec as cC, type GroupBySpec as cD, type RecursiveCyclePolicy as cE, type VectorSlotMap as cF, type RecordedReadBinding as cG, type SelectiveField as cH, type ComposableQuery as cI, type SetOperationType as cJ, type SetOperation as cK, type NodeRow as cL, type EdgeRow as cM, type VectorMetric as cN, ALL_FULLTEXT_MODES as cO, ALL_META_EDGE_NAMES as cP, BASE_CONTRIBUTION_OWNER as cQ, type CheckUniqueBatchParams as cR, type CheckUniqueParams as cS, type ClaimIndexMaterializationParams as cT, type CompiledTemporaryStatementSql as cU, type ContributionMaterializationIdentity as cV, type ContributionMaterializationRow as cW, type CountEdgesByKindParams as cX, type CountEdgesFromParams as cY, type CountNodesByKindParams as cZ, type CreateVectorIndexParams as c_, fts5Strategy as ca, getEdgeKinds as cb, getNodeKinds as cc, isEdgeType as cd, isEdgeTypeWithEndpoints as ce, isGraphDef as cf, isMetaEdge as cg, isNodeType as ch, isSqlFragment as ci, joinJsonPointers as cj, jsonPointer as ck, normalizeJsonPointer as cl, parseJsonPointer as cm, recordedRelation as cn, renderPostgres as co, renderSql as cp, renderSqlInline as cq, renderSqlite as cr, rowPropsToJsonText as cs, rowPropsToObject as ct, sql as cu, tsvectorStrategy as cv, type ValueType as cw, type PredicateExpression as cx, type VectorMetricType as cy, type Traversal as cz, type GraphDef as d, type ReleaseIndexMaterializationClaimParams as d$, DURABLE_OBJECT_MAX_BIND_PARAMETERS as d0, type DeleteEdgeParams as d1, type DeleteEdgesBatchParams as d2, type DeleteEmbeddingParams as d3, type DeleteFulltextParams as d4, type DeleteNodeParams as d5, type DeleteUniqueParams as d6, type DialectAdapter as d7, type DialectCapabilities as d8, type DialectRecursiveQueryStrategy as d9, type FindNodesByKindParams as dA, type GraphReadBackend as dB, type HardDeleteEdgeParams as dC, type HardDeleteNodeParams as dD, type HybridSearchParams as dE, type HybridSearchRow as dF, type IdentityTableNames as dG, type InListParameterOptions as dH, type IndexDeclarationBase as dI, type IndexMaterializationRow as dJ, type IndexWhereLiteral as dK, type IndexWhereOp as dL, type IndexWhereOperand as dM, type InsertEdgeParams as dN, type InsertNodeParams as dO, type InsertSchemaParams as dP, type InsertUniqueParams as dQ, type KindRemovalRow as dR, type LiveNodeRow as dS, MODERN_SQLITE_MAX_BIND_PARAMETERS as dT, type MetaEdgeName as dU, POSTGRES_CAPABILITIES as dV, POSTGRES_MAX_BIND_PARAMETERS as dW, type RecordContributionMaterializationParams as dX, type RecordIndexMaterializationParams as dY, type RecordKindRemovalParams as dZ, type RelationalIndexMethod as d_, type DialectStandardQueryStrategy as da, type DialectVectorPredicateStrategy as db, type DropVectorIndexParams as dc, type EdgeExistsBetweenParams as dd, type ExtensionArrayItemType as de, type ExtensionArrayProperty as df, type ExtensionBooleanProperty as dg, type ExtensionEdgeIndex as dh, type ExtensionEmbeddingModifier as di, type ExtensionEnumProperty as dj, type ExtensionIndexWhere as dk, type ExtensionNodeIndex as dl, type ExtensionNumberProperty as dm, type ExtensionObjectFieldProperty as dn, type ExtensionObjectProperty as dp, type ExtensionPropertyModifiers as dq, type ExtensionPropertyType as dr, type ExtensionSearchableModifier as ds, type ExtensionStringProperty as dt, type ExtensionUniqueConstraint as du, type ExtensionUniqueWhere as dv, FULLTEXT_CONTRIBUTION_NAME as dw, type FindEdgesByEndpointSetParams as dx, type FindEdgesByKindParams as dy, type FindEdgesConnectedToParams as dz, type EdgeIndexConfig as e, SQLITE_CAPABILITIES as e0, SQLITE_MAX_BIND_PARAMETERS as e1, type SchemaCommitPreflightBackend as e2, type SqlCompilationBackend as e3, type TombstonedNodeRow as e4, type UniqueRow as e5, type UpdateEdgeParams as e6, type UpdateNodeParams as e7, type UpsertEmbeddingBatchParams as e8, type UpsertEmbeddingBatchRow as e9, type UpsertEmbeddingParams as ea, type UpsertFulltextParams as eb, VECTOR_CONTRIBUTION_PREFIX as ec, type VectorIndexType as ed, type VectorSearchParams as ee, type VectorSearchResult as ef, assertFiniteEmbedding as eg, assertVectorMinScore as eh, assertVectorSearchLimit as ei, buildFulltextCapabilities as ej, isLiveNodeRow as ek, isSqlPlaceholder as el, isTombstonedNodeRow as em, normalizeGraphAnalyticsCapabilities as en, quoteIdentifier as eo, shortHash as ep, vectorMinScoreCondition as eq, vectorPhysicalName as er, vectorScoreExpression as es, GRAPH_EXTENSION_TOP_LEVEL_KEYS as et, type GraphExtensionTopLevelKey as eu, type EdgeIndexDirection as f, type EdgeIndexWhereBuilder as g, type IndexOrigin as h, type IndexScope as i, type IndexWhereExpression as j, type IndexWhereFieldBuilder as k, type IndexWhereInput as l, type NodeIndexConfig as m, type NodeIndexWhereBuilder as n, type SystemColumnName as o, type VectorIndexDeclaration as p, type VectorIndexImplementation as q, type VectorIndexMetric as r, type VectorIndexParams as s, type VectorSlot as t, type NodeType as u, type AnyEdgeType as v, SqlSchema as w, type SchemaVersionRow as x, type GraphBackend as y, type SerializedSchema as z };
|