@nicia-ai/typegraph 0.50.0 → 0.51.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.
Files changed (326) hide show
  1. package/README.md +12 -0
  2. package/dist/backend/drizzle/indexes.cjs +10 -8
  3. package/dist/backend/drizzle/indexes.d.cts +1 -1
  4. package/dist/backend/drizzle/indexes.d.ts +1 -1
  5. package/dist/backend/drizzle/indexes.js +6 -4
  6. package/dist/backend/index.cjs +183 -50
  7. package/dist/backend/index.d.cts +90 -4
  8. package/dist/backend/index.d.ts +90 -4
  9. package/dist/backend/index.js +6 -9
  10. package/dist/backend/postgres/index.cjs +30 -28
  11. package/dist/backend/postgres/index.d.cts +7 -7
  12. package/dist/backend/postgres/index.d.ts +7 -7
  13. package/dist/backend/postgres/index.js +16 -14
  14. package/dist/backend/postgres/pglite-store.cjs +6 -62
  15. package/dist/backend/postgres/pglite-store.cjs.map +1 -1
  16. package/dist/backend/postgres/pglite-store.d.cts +8 -8
  17. package/dist/backend/postgres/pglite-store.d.ts +8 -8
  18. package/dist/backend/postgres/pglite-store.js +6 -62
  19. package/dist/backend/postgres/pglite-store.js.map +1 -1
  20. package/dist/backend/postgres/pglite.cjs +18 -16
  21. package/dist/backend/postgres/pglite.d.cts +3 -3
  22. package/dist/backend/postgres/pglite.d.ts +3 -3
  23. package/dist/backend/postgres/pglite.js +17 -15
  24. package/dist/backend/sqlite/index.cjs +27 -25
  25. package/dist/backend/sqlite/index.d.cts +7 -7
  26. package/dist/backend/sqlite/index.d.ts +7 -7
  27. package/dist/backend/sqlite/index.js +14 -12
  28. package/dist/backend/sqlite/libsql.cjs +21 -19
  29. package/dist/backend/sqlite/libsql.cjs.map +1 -1
  30. package/dist/backend/sqlite/libsql.d.cts +3 -3
  31. package/dist/backend/sqlite/libsql.d.ts +3 -3
  32. package/dist/backend/sqlite/libsql.js +16 -14
  33. package/dist/backend/sqlite/libsql.js.map +1 -1
  34. package/dist/backend/sqlite/local-store.cjs +8 -64
  35. package/dist/backend/sqlite/local-store.cjs.map +1 -1
  36. package/dist/backend/sqlite/local-store.d.cts +8 -8
  37. package/dist/backend/sqlite/local-store.d.ts +8 -8
  38. package/dist/backend/sqlite/local-store.js +7 -64
  39. package/dist/backend/sqlite/local-store.js.map +1 -1
  40. package/dist/backend/sqlite/local.cjs +22 -19
  41. package/dist/backend/sqlite/local.d.cts +3 -3
  42. package/dist/backend/sqlite/local.d.ts +3 -3
  43. package/dist/backend/sqlite/local.js +18 -15
  44. package/dist/{chunk-TUVD4DFR.cjs → chunk-2CVDZCXH.cjs} +122 -51
  45. package/dist/chunk-2CVDZCXH.cjs.map +1 -0
  46. package/dist/{chunk-I5C6OTKR.js → chunk-2DWTBNSH.js} +3 -3
  47. package/dist/{chunk-I5C6OTKR.js.map → chunk-2DWTBNSH.js.map} +1 -1
  48. package/dist/{chunk-C76WFIVZ.cjs → chunk-2KCTP3U2.cjs} +180 -127
  49. package/dist/chunk-2KCTP3U2.cjs.map +1 -0
  50. package/dist/{chunk-BYBDM423.cjs → chunk-322TBTOQ.cjs} +48 -48
  51. package/dist/{chunk-BYBDM423.cjs.map → chunk-322TBTOQ.cjs.map} +1 -1
  52. package/dist/chunk-36SX6QXP.cjs +186 -0
  53. package/dist/chunk-36SX6QXP.cjs.map +1 -0
  54. package/dist/{chunk-H3XP6BAV.js → chunk-36VYWVQU.js} +3 -3
  55. package/dist/{chunk-H3XP6BAV.js.map → chunk-36VYWVQU.js.map} +1 -1
  56. package/dist/{chunk-VTJVMP4I.js → chunk-4DKY6RIU.js} +102 -31
  57. package/dist/chunk-4DKY6RIU.js.map +1 -0
  58. package/dist/chunk-4QKOZYMV.js +9 -0
  59. package/dist/chunk-4QKOZYMV.js.map +1 -0
  60. package/dist/{chunk-U3Z7XKAG.js → chunk-57JM6NW3.js} +8 -18
  61. package/dist/chunk-57JM6NW3.js.map +1 -0
  62. package/dist/{chunk-XMY2SXOH.cjs → chunk-5WWEYV4H.cjs} +2208 -579
  63. package/dist/chunk-5WWEYV4H.cjs.map +1 -0
  64. package/dist/{chunk-WQBAQZHR.js → chunk-6NLYIMJO.js} +4 -4
  65. package/dist/{chunk-WQBAQZHR.js.map → chunk-6NLYIMJO.js.map} +1 -1
  66. package/dist/{chunk-G2TLHH6T.cjs → chunk-7B7I7YAW.cjs} +6 -6
  67. package/dist/{chunk-G2TLHH6T.cjs.map → chunk-7B7I7YAW.cjs.map} +1 -1
  68. package/dist/{chunk-EDLKIQRI.js → chunk-7G5IYROL.js} +6 -548
  69. package/dist/chunk-7G5IYROL.js.map +1 -0
  70. package/dist/{chunk-46UGOVRW.js → chunk-7QFRK6PU.js} +3 -7
  71. package/dist/chunk-7QFRK6PU.js.map +1 -0
  72. package/dist/chunk-A4C4NJ5U.cjs +12 -0
  73. package/dist/chunk-A4C4NJ5U.cjs.map +1 -0
  74. package/dist/{chunk-TYGGUWMS.cjs → chunk-B3MN7EJR.cjs} +177 -137
  75. package/dist/chunk-B3MN7EJR.cjs.map +1 -0
  76. package/dist/{chunk-K6VKTBST.cjs → chunk-BZ5MVITP.cjs} +4 -4
  77. package/dist/{chunk-K6VKTBST.cjs.map → chunk-BZ5MVITP.cjs.map} +1 -1
  78. package/dist/{chunk-R7MRFE5P.js → chunk-CAI6SMP6.js} +3 -3
  79. package/dist/{chunk-R7MRFE5P.js.map → chunk-CAI6SMP6.js.map} +1 -1
  80. package/dist/{chunk-ZAQUKCUC.js → chunk-CBOD7TXH.js} +5 -5
  81. package/dist/{chunk-ZAQUKCUC.js.map → chunk-CBOD7TXH.js.map} +1 -1
  82. package/dist/{chunk-LLVOQOWE.cjs → chunk-CRZ56SZU.cjs} +6 -5
  83. package/dist/chunk-CRZ56SZU.cjs.map +1 -0
  84. package/dist/{chunk-ON47CBE4.cjs → chunk-D3GWARN7.cjs} +47 -47
  85. package/dist/{chunk-ON47CBE4.cjs.map → chunk-D3GWARN7.cjs.map} +1 -1
  86. package/dist/{chunk-W5SOCUBL.js → chunk-D3OUDFU7.js} +5 -5
  87. package/dist/{chunk-W5SOCUBL.js.map → chunk-D3OUDFU7.js.map} +1 -1
  88. package/dist/chunk-EKG2UXNX.cjs +23 -0
  89. package/dist/chunk-EKG2UXNX.cjs.map +1 -0
  90. package/dist/{chunk-7PRMDZIA.cjs → chunk-FMMW3KX7.cjs} +21 -55
  91. package/dist/chunk-FMMW3KX7.cjs.map +1 -0
  92. package/dist/chunk-H2VWDQWC.cjs +571 -0
  93. package/dist/chunk-H2VWDQWC.cjs.map +1 -0
  94. package/dist/chunk-H4FY6OZK.js +13 -0
  95. package/dist/chunk-H4FY6OZK.js.map +1 -0
  96. package/dist/{chunk-OJHD3LXJ.cjs → chunk-H5IJSROF.cjs} +2 -8
  97. package/dist/chunk-H5IJSROF.cjs.map +1 -0
  98. package/dist/{chunk-U5EL6JUV.js → chunk-I5IOSA27.js} +101 -103
  99. package/dist/chunk-I5IOSA27.js.map +1 -0
  100. package/dist/{chunk-SHC7BCG5.cjs → chunk-I7YAY2VQ.cjs} +7 -7
  101. package/dist/{chunk-SHC7BCG5.cjs.map → chunk-I7YAY2VQ.cjs.map} +1 -1
  102. package/dist/chunk-IRCWIA3R.js +20 -0
  103. package/dist/chunk-IRCWIA3R.js.map +1 -0
  104. package/dist/chunk-IVQBLXBK.cjs +55 -0
  105. package/dist/chunk-IVQBLXBK.cjs.map +1 -0
  106. package/dist/{chunk-5PP4KRPV.js → chunk-IZD4HTCP.js} +5 -5
  107. package/dist/{chunk-5PP4KRPV.js.map → chunk-IZD4HTCP.js.map} +1 -1
  108. package/dist/{chunk-7CCMCMJO.cjs → chunk-JHRUZ73O.cjs} +75 -66
  109. package/dist/chunk-JHRUZ73O.cjs.map +1 -0
  110. package/dist/{chunk-RDP6ZRSM.cjs → chunk-JQKMEKKW.cjs} +261 -204
  111. package/dist/chunk-JQKMEKKW.cjs.map +1 -0
  112. package/dist/chunk-JVA3KDEA.cjs +691 -0
  113. package/dist/chunk-JVA3KDEA.cjs.map +1 -0
  114. package/dist/{chunk-JG5XIJDY.js → chunk-K67P5DLL.js} +62 -22
  115. package/dist/chunk-K67P5DLL.js.map +1 -0
  116. package/dist/{chunk-CS6JTQQ2.cjs → chunk-KACEYDYV.cjs} +94 -62
  117. package/dist/chunk-KACEYDYV.cjs.map +1 -0
  118. package/dist/{chunk-5OWHU7Z7.cjs → chunk-L6EVYIID.cjs} +248 -210
  119. package/dist/chunk-L6EVYIID.cjs.map +1 -0
  120. package/dist/{chunk-7OWE7WD6.js → chunk-LI4K2KEJ.js} +4 -4
  121. package/dist/{chunk-7OWE7WD6.js.map → chunk-LI4K2KEJ.js.map} +1 -1
  122. package/dist/chunk-LKZDQ2B4.js +1581 -0
  123. package/dist/chunk-LKZDQ2B4.js.map +1 -0
  124. package/dist/{chunk-45YZXI6X.cjs → chunk-LLFPQOBA.cjs} +27 -27
  125. package/dist/{chunk-45YZXI6X.cjs.map → chunk-LLFPQOBA.cjs.map} +1 -1
  126. package/dist/{chunk-ZRJTM7MT.js → chunk-LZMQ3SFK.js} +3 -3
  127. package/dist/{chunk-ZRJTM7MT.js.map → chunk-LZMQ3SFK.js.map} +1 -1
  128. package/dist/{chunk-DI6VC62F.js → chunk-M3VTS3F6.js} +3 -3
  129. package/dist/{chunk-DI6VC62F.js.map → chunk-M3VTS3F6.js.map} +1 -1
  130. package/dist/{chunk-MZ34E2GN.js → chunk-NBOS7BY3.js} +60 -21
  131. package/dist/chunk-NBOS7BY3.js.map +1 -0
  132. package/dist/{chunk-YA36ABIL.js → chunk-NGQDGL5X.js} +14 -48
  133. package/dist/chunk-NGQDGL5X.js.map +1 -0
  134. package/dist/{chunk-ZBFZGLZE.cjs → chunk-NLX5OWK7.cjs} +6 -2
  135. package/dist/chunk-NLX5OWK7.cjs.map +1 -0
  136. package/dist/chunk-NUQ2YFFH.cjs +1637 -0
  137. package/dist/chunk-NUQ2YFFH.cjs.map +1 -0
  138. package/dist/{chunk-TTCOPKUL.cjs → chunk-OGL4X4PH.cjs} +182 -184
  139. package/dist/chunk-OGL4X4PH.cjs.map +1 -0
  140. package/dist/{chunk-HY5BNOUN.cjs → chunk-OTNTGEXR.cjs} +4 -4
  141. package/dist/{chunk-HY5BNOUN.cjs.map → chunk-OTNTGEXR.cjs.map} +1 -1
  142. package/dist/chunk-OTWE63BW.js +53 -0
  143. package/dist/chunk-OTWE63BW.js.map +1 -0
  144. package/dist/chunk-PC5NGH5A.js +549 -0
  145. package/dist/chunk-PC5NGH5A.js.map +1 -0
  146. package/dist/{chunk-IPRP6TDL.cjs → chunk-PS3TUWJM.cjs} +7 -7
  147. package/dist/{chunk-IPRP6TDL.cjs.map → chunk-PS3TUWJM.cjs.map} +1 -1
  148. package/dist/{chunk-V76FGHY3.js → chunk-PVFFH7TL.js} +5 -5
  149. package/dist/{chunk-V76FGHY3.js.map → chunk-PVFFH7TL.js.map} +1 -1
  150. package/dist/chunk-QCD5JKU4.cjs +15 -0
  151. package/dist/chunk-QCD5JKU4.cjs.map +1 -0
  152. package/dist/{chunk-IRPYOHRC.js → chunk-QG5VEOKX.js} +6 -2
  153. package/dist/chunk-QG5VEOKX.js.map +1 -0
  154. package/dist/{chunk-MM3JHVKZ.cjs → chunk-QLLZM5I3.cjs} +4 -4
  155. package/dist/{chunk-MM3JHVKZ.cjs.map → chunk-QLLZM5I3.cjs.map} +1 -1
  156. package/dist/{chunk-MX7EKQPM.js → chunk-RCBG6YMT.js} +345 -97
  157. package/dist/chunk-RCBG6YMT.js.map +1 -0
  158. package/dist/{chunk-2CYI5HRH.js → chunk-RI7RJH4G.js} +49 -17
  159. package/dist/chunk-RI7RJH4G.js.map +1 -0
  160. package/dist/{chunk-5LKOVCPP.js → chunk-RVUL2HXY.js} +6 -5
  161. package/dist/chunk-RVUL2HXY.js.map +1 -0
  162. package/dist/{chunk-WK23PGTP.cjs → chunk-S5GU4LUN.cjs} +11 -11
  163. package/dist/{chunk-WK23PGTP.cjs.map → chunk-S5GU4LUN.cjs.map} +1 -1
  164. package/dist/{chunk-S33YQEL7.js → chunk-SDPWO2Z5.js} +6 -6
  165. package/dist/{chunk-S33YQEL7.js.map → chunk-SDPWO2Z5.js.map} +1 -1
  166. package/dist/{chunk-6S3PTHL4.js → chunk-SLGGT2XD.js} +3 -3
  167. package/dist/{chunk-6S3PTHL4.js.map → chunk-SLGGT2XD.js.map} +1 -1
  168. package/dist/{chunk-HSEZ7X6Y.cjs → chunk-TIJUA4I6.cjs} +45 -45
  169. package/dist/{chunk-HSEZ7X6Y.cjs.map → chunk-TIJUA4I6.cjs.map} +1 -1
  170. package/dist/{chunk-CSNOYIB4.cjs → chunk-TM54OBHX.cjs} +13 -13
  171. package/dist/{chunk-CSNOYIB4.cjs.map → chunk-TM54OBHX.cjs.map} +1 -1
  172. package/dist/{chunk-2GIV5X4P.js → chunk-TYEYRCXL.js} +86 -33
  173. package/dist/chunk-TYEYRCXL.js.map +1 -0
  174. package/dist/{chunk-MJPZNEJZ.js → chunk-UKOVGCRN.js} +2095 -496
  175. package/dist/chunk-UKOVGCRN.js.map +1 -0
  176. package/dist/chunk-UYKDYE5D.cjs +12 -0
  177. package/dist/{chunk-KWNWG4RC.cjs.map → chunk-UYKDYE5D.cjs.map} +1 -1
  178. package/dist/{chunk-FX5ZW6PN.js → chunk-VAAC7L57.js} +95 -40
  179. package/dist/chunk-VAAC7L57.js.map +1 -0
  180. package/dist/{chunk-ISKCIQF2.cjs → chunk-VKHXYVN7.cjs} +14 -25
  181. package/dist/chunk-VKHXYVN7.cjs.map +1 -0
  182. package/dist/chunk-VUQZNUHU.js +171 -0
  183. package/dist/chunk-VUQZNUHU.js.map +1 -0
  184. package/dist/{chunk-K2XYLVVB.cjs → chunk-WDM5WQK4.cjs} +175 -136
  185. package/dist/chunk-WDM5WQK4.cjs.map +1 -0
  186. package/dist/{chunk-GVYVGGPJ.js → chunk-WFSYYU4W.js} +66 -28
  187. package/dist/chunk-WFSYYU4W.js.map +1 -0
  188. package/dist/{chunk-WCLMKNQE.cjs → chunk-WRBV2FNH.cjs} +1356 -1108
  189. package/dist/chunk-WRBV2FNH.cjs.map +1 -0
  190. package/dist/chunk-XORONCV3.js +202 -0
  191. package/dist/chunk-XORONCV3.js.map +1 -0
  192. package/dist/{chunk-2Q45FAIE.js → chunk-YT2IVFAI.js} +26 -17
  193. package/dist/chunk-YT2IVFAI.js.map +1 -0
  194. package/dist/chunk-ZGVTNKTX.cjs +217 -0
  195. package/dist/chunk-ZGVTNKTX.cjs.map +1 -0
  196. package/dist/core/index.cjs +20 -20
  197. package/dist/core/index.d.cts +4 -4
  198. package/dist/core/index.d.ts +4 -4
  199. package/dist/core/index.js +4 -4
  200. package/dist/{ddl-B49O7dB_.d.ts → ddl-BvcbgzHo.d.ts} +3 -3
  201. package/dist/{ddl-DcZG660s.d.cts → ddl-Ufebz5q5.d.cts} +3 -3
  202. package/dist/graph-extension/index.d.cts +2 -4
  203. package/dist/graph-extension/index.d.ts +2 -4
  204. package/dist/graph-merge/index.cjs +140 -125
  205. package/dist/graph-merge/index.cjs.map +1 -1
  206. package/dist/graph-merge/index.d.cts +8 -9
  207. package/dist/graph-merge/index.d.ts +8 -9
  208. package/dist/graph-merge/index.js +42 -27
  209. package/dist/graph-merge/index.js.map +1 -1
  210. package/dist/index.cjs +144 -143
  211. package/dist/index.cjs.map +1 -1
  212. package/dist/index.d.cts +11 -12
  213. package/dist/index.d.ts +11 -12
  214. package/dist/index.js +30 -29
  215. package/dist/index.js.map +1 -1
  216. package/dist/indexes/index.cjs +14 -12
  217. package/dist/indexes/index.d.cts +4 -4
  218. package/dist/indexes/index.d.ts +4 -4
  219. package/dist/indexes/index.js +7 -5
  220. package/dist/{ingestion-import-target-CI8OWIkM.d.ts → ingestion-import-target-CAs1OX-l.d.cts} +1 -1
  221. package/dist/{ingestion-import-target-DCpfM1PX.d.cts → ingestion-import-target-DCQSPfNx.d.ts} +1 -1
  222. package/dist/interchange/index.cjs +41 -39
  223. package/dist/interchange/index.cjs.map +1 -1
  224. package/dist/interchange/index.d.cts +8 -8
  225. package/dist/interchange/index.d.ts +8 -8
  226. package/dist/interchange/index.js +16 -14
  227. package/dist/interchange/index.js.map +1 -1
  228. package/dist/local-store-impl-6DDTFM32.cjs +77 -0
  229. package/dist/local-store-impl-6DDTFM32.cjs.map +1 -0
  230. package/dist/local-store-impl-OXTOVU2J.js +75 -0
  231. package/dist/local-store-impl-OXTOVU2J.js.map +1 -0
  232. package/dist/{manager-Cfg1ENj1.d.ts → manager-B68OrPR2.d.ts} +1 -2
  233. package/dist/{manager-D348fa6W.d.cts → manager-D_t7oK69.d.cts} +1 -2
  234. package/dist/pglite-store-impl-6EMZGL7K.js +73 -0
  235. package/dist/pglite-store-impl-6EMZGL7K.js.map +1 -0
  236. package/dist/pglite-store-impl-GJG3Y7RP.cjs +75 -0
  237. package/dist/pglite-store-impl-GJG3Y7RP.cjs.map +1 -0
  238. package/dist/{postgres-UStOycLI.d.ts → postgres-BPLSVyHM.d.ts} +1 -1
  239. package/dist/{postgres-CH1kkM5J.d.cts → postgres-CqvtFC2y.d.cts} +1 -1
  240. package/dist/profiler/index.d.cts +9 -9
  241. package/dist/profiler/index.d.ts +9 -9
  242. package/dist/provenance/index.cjs +33 -20
  243. package/dist/provenance/index.cjs.map +1 -1
  244. package/dist/provenance/index.d.cts +7 -7
  245. package/dist/provenance/index.d.ts +7 -7
  246. package/dist/provenance/index.js +24 -11
  247. package/dist/provenance/index.js.map +1 -1
  248. package/dist/{repair-validity-windows-aWX7VNvv.d.cts → repair-validity-windows-DEzCKAdy.d.cts} +7 -3
  249. package/dist/{repair-validity-windows-BtOEe2pS.d.ts → repair-validity-windows-GMdaS2AH.d.ts} +7 -3
  250. package/dist/resolve-D_H8MHtq.d.ts +1805 -0
  251. package/dist/resolve-WEW8gWws.d.cts +1805 -0
  252. package/dist/schema/index.cjs +42 -40
  253. package/dist/schema/index.d.cts +4 -6
  254. package/dist/schema/index.d.ts +4 -6
  255. package/dist/schema/index.js +15 -13
  256. package/dist/{searchable-z4BiFfHI.d.ts → searchable-C_UREI9K.d.ts} +1 -1
  257. package/dist/{searchable-C8-RrL3l.d.cts → searchable-ClgET_i7.d.cts} +1 -1
  258. package/dist/{sqlite-axLw5Lo5.d.ts → sqlite-D1mXO9Kp.d.cts} +2 -1
  259. package/dist/{sqlite-Cyx9j9o6.d.cts → sqlite-MZA3oZNB.d.ts} +2 -1
  260. package/dist/{store-CTfQ9taw.d.ts → store-CuFX7fCx.d.cts} +38 -41
  261. package/dist/{store-DR9J7JVB.d.cts → store-D-ZjXQpW.d.ts} +38 -41
  262. package/dist/{temporal-CBOrERz5.d.ts → temporal-CpyEiRY8.d.cts} +1 -1
  263. package/dist/{temporal-B4Ky4wzh.d.cts → temporal-y0Aep9Su.d.ts} +1 -1
  264. package/dist/{types-CWg4dTjj.d.ts → types-6yf0Vv-_.d.cts} +1672 -1
  265. package/dist/{types-CWg4dTjj.d.cts → types-6yf0Vv-_.d.ts} +1672 -1
  266. package/dist/{types-BScHXVM7.d.ts → types-DzJ4dlzk.d.cts} +1 -1
  267. package/dist/{types-BE921wRl.d.cts → types-_vVSB9k-.d.ts} +1 -1
  268. package/dist/{where-BWXUPV3C.d.ts → where-DuG2LCLe.d.ts} +1 -1
  269. package/dist/{where-CNtx1aLc.d.cts → where-Mhf_yyKX.d.cts} +1 -1
  270. package/package.json +5 -1
  271. package/dist/chunk-2CYI5HRH.js.map +0 -1
  272. package/dist/chunk-2GIV5X4P.js.map +0 -1
  273. package/dist/chunk-2Q45FAIE.js.map +0 -1
  274. package/dist/chunk-46UGOVRW.js.map +0 -1
  275. package/dist/chunk-5LKOVCPP.js.map +0 -1
  276. package/dist/chunk-5OWHU7Z7.cjs.map +0 -1
  277. package/dist/chunk-6LEOAIIB.js +0 -1160
  278. package/dist/chunk-6LEOAIIB.js.map +0 -1
  279. package/dist/chunk-7CCMCMJO.cjs.map +0 -1
  280. package/dist/chunk-7PRMDZIA.cjs.map +0 -1
  281. package/dist/chunk-C76WFIVZ.cjs.map +0 -1
  282. package/dist/chunk-CS6JTQQ2.cjs.map +0 -1
  283. package/dist/chunk-EDLKIQRI.js.map +0 -1
  284. package/dist/chunk-EH3JZJUM.cjs +0 -567
  285. package/dist/chunk-EH3JZJUM.cjs.map +0 -1
  286. package/dist/chunk-FX5ZW6PN.js.map +0 -1
  287. package/dist/chunk-GHZPZNFC.cjs +0 -132
  288. package/dist/chunk-GHZPZNFC.cjs.map +0 -1
  289. package/dist/chunk-GVYVGGPJ.js.map +0 -1
  290. package/dist/chunk-IHK5KA2Q.cjs +0 -262
  291. package/dist/chunk-IHK5KA2Q.cjs.map +0 -1
  292. package/dist/chunk-IRPYOHRC.js.map +0 -1
  293. package/dist/chunk-ISKCIQF2.cjs.map +0 -1
  294. package/dist/chunk-JG5XIJDY.js.map +0 -1
  295. package/dist/chunk-K2XYLVVB.cjs.map +0 -1
  296. package/dist/chunk-KWNWG4RC.cjs +0 -12
  297. package/dist/chunk-LLVOQOWE.cjs.map +0 -1
  298. package/dist/chunk-MJPZNEJZ.js.map +0 -1
  299. package/dist/chunk-MX7EKQPM.js.map +0 -1
  300. package/dist/chunk-MZ34E2GN.js.map +0 -1
  301. package/dist/chunk-OJHD3LXJ.cjs.map +0 -1
  302. package/dist/chunk-PALYTHGM.js +0 -114
  303. package/dist/chunk-PALYTHGM.js.map +0 -1
  304. package/dist/chunk-RDP6ZRSM.cjs.map +0 -1
  305. package/dist/chunk-S3SDEQMC.js +0 -532
  306. package/dist/chunk-S3SDEQMC.js.map +0 -1
  307. package/dist/chunk-TEC24ZDA.cjs +0 -1254
  308. package/dist/chunk-TEC24ZDA.cjs.map +0 -1
  309. package/dist/chunk-TP4NJTI3.cjs +0 -1192
  310. package/dist/chunk-TP4NJTI3.cjs.map +0 -1
  311. package/dist/chunk-TTCOPKUL.cjs.map +0 -1
  312. package/dist/chunk-TUVD4DFR.cjs.map +0 -1
  313. package/dist/chunk-TYGGUWMS.cjs.map +0 -1
  314. package/dist/chunk-U3Z7XKAG.js.map +0 -1
  315. package/dist/chunk-U5EL6JUV.js.map +0 -1
  316. package/dist/chunk-VTJVMP4I.js.map +0 -1
  317. package/dist/chunk-WCLMKNQE.cjs.map +0 -1
  318. package/dist/chunk-XMY2SXOH.cjs.map +0 -1
  319. package/dist/chunk-Y55DLLEG.js +0 -247
  320. package/dist/chunk-Y55DLLEG.js.map +0 -1
  321. package/dist/chunk-YA36ABIL.js.map +0 -1
  322. package/dist/chunk-ZBFZGLZE.cjs.map +0 -1
  323. package/dist/index-B0PrmE3K.d.cts +0 -1146
  324. package/dist/index-CwcXsL5R.d.ts +0 -1146
  325. package/dist/materialize-indexes-C9GG3O3C.d.ts +0 -266
  326. package/dist/materialize-indexes-CrSiW_lT.d.cts +0 -266
@@ -1,18 +1,1213 @@
1
1
  'use strict';
2
2
 
3
- var chunkEH3JZJUM_cjs = require('./chunk-EH3JZJUM.cjs');
4
- var chunkTP4NJTI3_cjs = require('./chunk-TP4NJTI3.cjs');
5
- var chunk45YZXI6X_cjs = require('./chunk-45YZXI6X.cjs');
6
- var chunk7PRMDZIA_cjs = require('./chunk-7PRMDZIA.cjs');
7
- var chunkZBFZGLZE_cjs = require('./chunk-ZBFZGLZE.cjs');
8
- var chunkLLVOQOWE_cjs = require('./chunk-LLVOQOWE.cjs');
3
+ var chunkLLFPQOBA_cjs = require('./chunk-LLFPQOBA.cjs');
4
+ var chunk36SX6QXP_cjs = require('./chunk-36SX6QXP.cjs');
5
+ var chunkFMMW3KX7_cjs = require('./chunk-FMMW3KX7.cjs');
6
+ var chunkNLX5OWK7_cjs = require('./chunk-NLX5OWK7.cjs');
7
+ var chunkNUQ2YFFH_cjs = require('./chunk-NUQ2YFFH.cjs');
8
+ var chunkCRZ56SZU_cjs = require('./chunk-CRZ56SZU.cjs');
9
9
  var chunkM5MSP3BI_cjs = require('./chunk-M5MSP3BI.cjs');
10
+ var chunkI7YAY2VQ_cjs = require('./chunk-I7YAY2VQ.cjs');
10
11
  var chunkZY4GXIVN_cjs = require('./chunk-ZY4GXIVN.cjs');
11
- var chunkTEC24ZDA_cjs = require('./chunk-TEC24ZDA.cjs');
12
- var chunkOJHD3LXJ_cjs = require('./chunk-OJHD3LXJ.cjs');
12
+ var chunkJVA3KDEA_cjs = require('./chunk-JVA3KDEA.cjs');
13
+ var chunkH2VWDQWC_cjs = require('./chunk-H2VWDQWC.cjs');
14
+ var chunkH5IJSROF_cjs = require('./chunk-H5IJSROF.cjs');
13
15
  var chunkX4GDXBOP_cjs = require('./chunk-X4GDXBOP.cjs');
14
16
  var chunkN66HCGCY_cjs = require('./chunk-N66HCGCY.cjs');
15
17
  var drizzleOrm = require('drizzle-orm');
18
+ var pgCore = require('drizzle-orm/pg-core');
19
+ var sqliteCore = require('drizzle-orm/sqlite-core');
20
+
21
+ var regconfig = pgCore.customType({
22
+ dataType: () => "regconfig"
23
+ });
24
+ var tsvector = pgCore.customType({
25
+ dataType: () => "tsvector"
26
+ });
27
+
28
+ // src/backend/drizzle/schema/postgres.ts
29
+ var DEFAULT_TABLE_NAMES = {
30
+ nodes: "typegraph_nodes",
31
+ edges: "typegraph_edges",
32
+ recordedNodes: "typegraph_recorded_nodes",
33
+ recordedEdges: "typegraph_recorded_edges",
34
+ recordedClock: "typegraph_recorded_clock",
35
+ revisionOrigins: "typegraph_revision_origins",
36
+ identityAssertions: "typegraph_identity_assertions",
37
+ recordedIdentityAssertions: "typegraph_recorded_identity_assertions",
38
+ identityClosure: "typegraph_identity_closure",
39
+ identitySeparation: "typegraph_identity_separation",
40
+ uniques: "typegraph_node_uniques",
41
+ edgeClaims: "typegraph_edge_claims",
42
+ schemaVersions: "typegraph_schema_versions",
43
+ fulltext: "typegraph_node_fulltext",
44
+ indexMaterializations: "typegraph_index_materializations",
45
+ contributionMaterializations: "typegraph_contribution_materializations",
46
+ kindRemovals: "typegraph_kind_removals",
47
+ reconciliationMarkers: "typegraph_reconciliation_markers"
48
+ };
49
+ function createPostgresTables(names = {}, options = {}) {
50
+ const n = { ...DEFAULT_TABLE_NAMES, ...names };
51
+ const indexes = options.indexes ?? [];
52
+ chunkI7YAY2VQ_cjs.assertNoSystemIndexNameCollision(indexes, n);
53
+ const nodes3 = pgCore.pgTable(
54
+ n.nodes,
55
+ {
56
+ graphId: pgCore.text("graph_id").notNull(),
57
+ kind: pgCore.text("kind").notNull(),
58
+ id: pgCore.text("id").notNull(),
59
+ props: pgCore.jsonb("props").notNull(),
60
+ version: pgCore.integer("version").notNull().default(1),
61
+ validFrom: pgCore.timestamp("valid_from", { withTimezone: true }),
62
+ validTo: pgCore.timestamp("valid_to", { withTimezone: true }),
63
+ createdAt: pgCore.timestamp("created_at", { withTimezone: true }).notNull(),
64
+ updatedAt: pgCore.timestamp("updated_at", { withTimezone: true }).notNull(),
65
+ deletedAt: pgCore.timestamp("deleted_at", { withTimezone: true })
66
+ },
67
+ (t) => [
68
+ pgCore.primaryKey({ columns: [t.graphId, t.kind, t.id] }),
69
+ // System indexes come from SYSTEM_INDEX_DECLARATIONS (single source
70
+ // for both dialects + the runtime materializer).
71
+ ...chunkLLFPQOBA_cjs.buildPostgresSystemIndexBuilders("nodes", n.nodes, t),
72
+ ...chunkLLFPQOBA_cjs.buildPostgresNodeIndexBuilders(t, indexes)
73
+ ]
74
+ );
75
+ const edges3 = pgCore.pgTable(
76
+ n.edges,
77
+ {
78
+ graphId: pgCore.text("graph_id").notNull(),
79
+ id: pgCore.text("id").notNull(),
80
+ kind: pgCore.text("kind").notNull(),
81
+ fromKind: pgCore.text("from_kind").notNull(),
82
+ fromId: pgCore.text("from_id").notNull(),
83
+ toKind: pgCore.text("to_kind").notNull(),
84
+ toId: pgCore.text("to_id").notNull(),
85
+ props: pgCore.jsonb("props").notNull(),
86
+ validFrom: pgCore.timestamp("valid_from", { withTimezone: true }),
87
+ validTo: pgCore.timestamp("valid_to", { withTimezone: true }),
88
+ createdAt: pgCore.timestamp("created_at", { withTimezone: true }).notNull(),
89
+ updatedAt: pgCore.timestamp("updated_at", { withTimezone: true }).notNull(),
90
+ deletedAt: pgCore.timestamp("deleted_at", { withTimezone: true })
91
+ },
92
+ (t) => [
93
+ pgCore.primaryKey({ columns: [t.graphId, t.id] }),
94
+ ...chunkLLFPQOBA_cjs.buildPostgresSystemIndexBuilders("edges", n.edges, t),
95
+ ...chunkLLFPQOBA_cjs.buildPostgresEdgeIndexBuilders(t, indexes)
96
+ ]
97
+ );
98
+ const recordedNodes3 = pgCore.pgTable(
99
+ n.recordedNodes,
100
+ {
101
+ historyId: pgCore.text("history_id").notNull(),
102
+ graphId: pgCore.text("graph_id").notNull(),
103
+ kind: pgCore.text("kind").notNull(),
104
+ id: pgCore.text("id").notNull(),
105
+ props: pgCore.jsonb("props").notNull(),
106
+ version: pgCore.integer("version").notNull(),
107
+ validFrom: pgCore.timestamp("valid_from", { withTimezone: true }),
108
+ validTo: pgCore.timestamp("valid_to", { withTimezone: true }),
109
+ createdAt: pgCore.timestamp("created_at", { withTimezone: true }).notNull(),
110
+ updatedAt: pgCore.timestamp("updated_at", { withTimezone: true }).notNull(),
111
+ deletedAt: pgCore.timestamp("deleted_at", { withTimezone: true }),
112
+ recordedFrom: pgCore.bigint("recorded_from", { mode: "number" }).notNull(),
113
+ recordedTo: pgCore.bigint("recorded_to", { mode: "number" }).notNull(),
114
+ op: pgCore.text("op").notNull(),
115
+ schemaVersion: pgCore.integer("schema_version"),
116
+ txId: pgCore.text("tx_id"),
117
+ meta: pgCore.jsonb("meta")
118
+ },
119
+ (t) => [
120
+ pgCore.primaryKey({ columns: [t.historyId] }),
121
+ ...chunkLLFPQOBA_cjs.buildPostgresSystemIndexBuilders("recordedNodes", n.recordedNodes, t)
122
+ ]
123
+ );
124
+ const recordedEdges3 = pgCore.pgTable(
125
+ n.recordedEdges,
126
+ {
127
+ historyId: pgCore.text("history_id").notNull(),
128
+ graphId: pgCore.text("graph_id").notNull(),
129
+ id: pgCore.text("id").notNull(),
130
+ kind: pgCore.text("kind").notNull(),
131
+ fromKind: pgCore.text("from_kind").notNull(),
132
+ fromId: pgCore.text("from_id").notNull(),
133
+ toKind: pgCore.text("to_kind").notNull(),
134
+ toId: pgCore.text("to_id").notNull(),
135
+ props: pgCore.jsonb("props").notNull(),
136
+ validFrom: pgCore.timestamp("valid_from", { withTimezone: true }),
137
+ validTo: pgCore.timestamp("valid_to", { withTimezone: true }),
138
+ createdAt: pgCore.timestamp("created_at", { withTimezone: true }).notNull(),
139
+ updatedAt: pgCore.timestamp("updated_at", { withTimezone: true }).notNull(),
140
+ deletedAt: pgCore.timestamp("deleted_at", { withTimezone: true }),
141
+ recordedFrom: pgCore.bigint("recorded_from", { mode: "number" }).notNull(),
142
+ recordedTo: pgCore.bigint("recorded_to", { mode: "number" }).notNull(),
143
+ op: pgCore.text("op").notNull(),
144
+ schemaVersion: pgCore.integer("schema_version"),
145
+ txId: pgCore.text("tx_id"),
146
+ meta: pgCore.jsonb("meta")
147
+ },
148
+ (t) => [
149
+ pgCore.primaryKey({ columns: [t.historyId] }),
150
+ ...chunkLLFPQOBA_cjs.buildPostgresSystemIndexBuilders("recordedEdges", n.recordedEdges, t)
151
+ ]
152
+ );
153
+ const recordedClock3 = pgCore.pgTable(
154
+ n.recordedClock,
155
+ {
156
+ graphId: pgCore.text("graph_id").notNull(),
157
+ revision: pgCore.bigint("revision", { mode: "number" }).notNull(),
158
+ recordedAt: pgCore.timestamp("recorded_at", { withTimezone: true }).notNull()
159
+ },
160
+ (t) => [pgCore.primaryKey({ columns: [t.graphId] })]
161
+ );
162
+ const revisionOrigins = pgCore.pgTable(
163
+ n.revisionOrigins,
164
+ {
165
+ graphId: pgCore.text("graph_id").notNull(),
166
+ origin: pgCore.text("origin").notNull()
167
+ },
168
+ (t) => [pgCore.primaryKey({ columns: [t.graphId] })]
169
+ );
170
+ const identityAssertions = pgCore.pgTable(
171
+ n.identityAssertions,
172
+ {
173
+ graphId: pgCore.text("graph_id").notNull(),
174
+ id: pgCore.text("id").notNull(),
175
+ relation: pgCore.text("rel").notNull(),
176
+ aKind: pgCore.text("a_kind").notNull(),
177
+ aId: pgCore.text("a_id").notNull(),
178
+ bKind: pgCore.text("b_kind").notNull(),
179
+ bId: pgCore.text("b_id").notNull(),
180
+ validFrom: pgCore.timestamp("valid_from", { withTimezone: true }).notNull(),
181
+ validTo: pgCore.timestamp("valid_to", { withTimezone: true }),
182
+ createdAt: pgCore.timestamp("created_at", { withTimezone: true }).notNull(),
183
+ updatedAt: pgCore.timestamp("updated_at", { withTimezone: true }).notNull(),
184
+ deletedAt: pgCore.timestamp("deleted_at", { withTimezone: true }),
185
+ endedByKind: pgCore.text("ended_by_kind"),
186
+ endedById: pgCore.text("ended_by_id")
187
+ },
188
+ (t) => [
189
+ pgCore.primaryKey({ columns: [t.graphId, t.id] }),
190
+ pgCore.index(`${n.identityAssertions}_a_idx`).on(
191
+ t.graphId,
192
+ t.aKind,
193
+ t.aId,
194
+ t.validTo
195
+ ),
196
+ pgCore.index(`${n.identityAssertions}_b_idx`).on(
197
+ t.graphId,
198
+ t.bKind,
199
+ t.bId,
200
+ t.validTo
201
+ ),
202
+ pgCore.uniqueIndex(`${n.identityAssertions}_current_pair_idx`).on(t.graphId, t.relation, t.aKind, t.aId, t.bKind, t.bId).where(drizzleOrm.sql`${t.validTo} IS NULL`),
203
+ pgCore.check(
204
+ `${n.identityAssertions}_ended_by_check`,
205
+ drizzleOrm.sql`(ended_by_kind IS NULL) = (ended_by_id IS NULL) AND (ended_by_kind IS NULL OR (valid_to IS NOT NULL AND ((ended_by_kind = a_kind AND ended_by_id = a_id) OR (ended_by_kind = b_kind AND ended_by_id = b_id))))`
206
+ )
207
+ ]
208
+ );
209
+ const recordedIdentityAssertions = pgCore.pgTable(
210
+ n.recordedIdentityAssertions,
211
+ {
212
+ historyId: pgCore.text("history_id").notNull(),
213
+ graphId: pgCore.text("graph_id").notNull(),
214
+ id: pgCore.text("id").notNull(),
215
+ relation: pgCore.text("rel").notNull(),
216
+ aKind: pgCore.text("a_kind").notNull(),
217
+ aId: pgCore.text("a_id").notNull(),
218
+ bKind: pgCore.text("b_kind").notNull(),
219
+ bId: pgCore.text("b_id").notNull(),
220
+ validFrom: pgCore.timestamp("valid_from", { withTimezone: true }).notNull(),
221
+ validTo: pgCore.timestamp("valid_to", { withTimezone: true }),
222
+ createdAt: pgCore.timestamp("created_at", { withTimezone: true }).notNull(),
223
+ updatedAt: pgCore.timestamp("updated_at", { withTimezone: true }).notNull(),
224
+ deletedAt: pgCore.timestamp("deleted_at", { withTimezone: true }),
225
+ endedByKind: pgCore.text("ended_by_kind"),
226
+ endedById: pgCore.text("ended_by_id"),
227
+ recordedFrom: pgCore.bigint("recorded_from", { mode: "number" }).notNull(),
228
+ recordedTo: pgCore.bigint("recorded_to", { mode: "number" }).notNull(),
229
+ op: pgCore.text("op").notNull(),
230
+ schemaVersion: pgCore.integer("schema_version"),
231
+ txId: pgCore.text("tx_id"),
232
+ meta: pgCore.jsonb("meta")
233
+ },
234
+ (t) => [
235
+ pgCore.primaryKey({ columns: [t.historyId] }),
236
+ pgCore.index(`${n.recordedIdentityAssertions}_entity_idx`).on(
237
+ t.graphId,
238
+ t.id,
239
+ t.recordedFrom,
240
+ t.recordedTo
241
+ ),
242
+ pgCore.index(`${n.recordedIdentityAssertions}_a_idx`).on(
243
+ t.graphId,
244
+ t.aKind,
245
+ t.aId,
246
+ t.recordedFrom,
247
+ t.recordedTo
248
+ ),
249
+ pgCore.index(`${n.recordedIdentityAssertions}_b_idx`).on(
250
+ t.graphId,
251
+ t.bKind,
252
+ t.bId,
253
+ t.recordedFrom,
254
+ t.recordedTo
255
+ )
256
+ ]
257
+ );
258
+ const identityClosure = pgCore.pgTable(
259
+ n.identityClosure,
260
+ {
261
+ graphId: pgCore.text("graph_id").notNull(),
262
+ memberKind: pgCore.text("member_kind").notNull(),
263
+ memberId: pgCore.text("member_id").notNull(),
264
+ classKind: pgCore.text("class_kind").notNull(),
265
+ classId: pgCore.text("class_id").notNull()
266
+ },
267
+ (t) => [
268
+ pgCore.primaryKey({ columns: [t.graphId, t.memberKind, t.memberId] }),
269
+ pgCore.index(`${n.identityClosure}_class_idx`).on(
270
+ t.graphId,
271
+ t.classKind,
272
+ t.classId
273
+ )
274
+ ]
275
+ );
276
+ const identitySeparation = pgCore.pgTable(
277
+ n.identitySeparation,
278
+ {
279
+ graphId: pgCore.text("graph_id").notNull(),
280
+ classKeyLow: pgCore.text("class_key_low").notNull(),
281
+ classKeyHigh: pgCore.text("class_key_high").notNull()
282
+ },
283
+ (t) => [
284
+ pgCore.primaryKey({ columns: [t.graphId, t.classKeyLow, t.classKeyHigh] }),
285
+ pgCore.index(`${n.identitySeparation}_high_idx`).on(t.graphId, t.classKeyHigh),
286
+ pgCore.check(
287
+ `${n.identitySeparation}_ordered_pair_check`,
288
+ drizzleOrm.sql`class_key_low COLLATE "C" < class_key_high COLLATE "C"`
289
+ )
290
+ ]
291
+ );
292
+ const uniques3 = pgCore.pgTable(
293
+ n.uniques,
294
+ {
295
+ graphId: pgCore.text("graph_id").notNull(),
296
+ nodeKind: pgCore.text("node_kind").notNull(),
297
+ constraintName: pgCore.text("constraint_name").notNull(),
298
+ key: pgCore.text("key").notNull(),
299
+ nodeId: pgCore.text("node_id").notNull(),
300
+ concreteKind: pgCore.text("concrete_kind").notNull(),
301
+ deletedAt: pgCore.timestamp("deleted_at", { withTimezone: true })
302
+ },
303
+ (t) => [
304
+ pgCore.primaryKey({
305
+ columns: [t.graphId, t.nodeKind, t.constraintName, t.key]
306
+ }),
307
+ pgCore.index(`${n.uniques}_node_idx`).on(t.graphId, t.concreteKind, t.nodeId)
308
+ ]
309
+ );
310
+ const edgeClaims3 = pgCore.pgTable(
311
+ n.edgeClaims,
312
+ {
313
+ graphId: pgCore.text("graph_id").notNull(),
314
+ axis: pgCore.text("axis").notNull(),
315
+ key: pgCore.text("key").notNull(),
316
+ edgeId: pgCore.text("edge_id").notNull(),
317
+ updatedAt: pgCore.timestamp("updated_at", { withTimezone: true }).notNull()
318
+ },
319
+ (t) => [
320
+ pgCore.primaryKey({ columns: [t.graphId, t.axis, t.key] }),
321
+ pgCore.index(`${n.edgeClaims}_edge_idx`).on(t.graphId, t.edgeId)
322
+ ]
323
+ );
324
+ const schemaVersions3 = pgCore.pgTable(
325
+ n.schemaVersions,
326
+ {
327
+ graphId: pgCore.text("graph_id").notNull(),
328
+ version: pgCore.integer("version").notNull(),
329
+ schemaHash: pgCore.text("schema_hash").notNull(),
330
+ schemaDoc: pgCore.jsonb("schema_doc").notNull(),
331
+ createdAt: pgCore.timestamp("created_at", { withTimezone: true }).notNull(),
332
+ isActive: pgCore.boolean("is_active").notNull().default(false)
333
+ },
334
+ (t) => [
335
+ pgCore.primaryKey({ columns: [t.graphId, t.version] }),
336
+ pgCore.index(`${n.schemaVersions}_active_idx`).on(t.graphId, t.isActive),
337
+ // Partial unique index enforcing the "at most one active version
338
+ // per graph" invariant at the storage layer. Defense in depth
339
+ // against buggy backend implementations or out-of-band writes.
340
+ // Forces the deactivate-then-activate ordering used by
341
+ // `commitSchemaVersion` and `setActiveVersion`.
342
+ pgCore.uniqueIndex(`${n.schemaVersions}_one_active_per_graph_idx`).on(t.graphId).where(drizzleOrm.sql`${t.isActive} = TRUE`)
343
+ ]
344
+ );
345
+ const indexMaterializations = pgCore.pgTable(
346
+ n.indexMaterializations,
347
+ {
348
+ indexName: pgCore.text("index_name").notNull(),
349
+ graphId: pgCore.text("graph_id").notNull(),
350
+ entity: pgCore.text("entity").notNull(),
351
+ kind: pgCore.text("kind").notNull(),
352
+ signature: pgCore.text("signature").notNull(),
353
+ schemaVersion: pgCore.integer("schema_version").notNull(),
354
+ materializedAt: pgCore.timestamp("materialized_at", { withTimezone: true }),
355
+ lastAttemptedAt: pgCore.timestamp("last_attempted_at", {
356
+ withTimezone: true
357
+ }).notNull(),
358
+ lastError: pgCore.text("last_error"),
359
+ // Cross-caller build claim: while `building_since` is fresh (within
360
+ // the lease), exactly one materializer owns this index's CREATE
361
+ // INDEX CONCURRENTLY. Serializes same-index CIC across processes —
362
+ // two concurrent expression-index CICs deadlock each other (no
363
+ // safe-snapshot exemption). NULL when no build is in flight.
364
+ buildingSince: pgCore.timestamp("building_since", { withTimezone: true }),
365
+ claimToken: pgCore.text("claim_token")
366
+ },
367
+ (t) => [pgCore.primaryKey({ columns: [t.indexName] })]
368
+ );
369
+ const kindRemovals = pgCore.pgTable(
370
+ n.kindRemovals,
371
+ {
372
+ graphId: pgCore.text("graph_id").notNull(),
373
+ kindName: pgCore.text("kind_name").notNull(),
374
+ entity: pgCore.text("entity").notNull(),
375
+ schemaVersion: pgCore.integer("schema_version").notNull(),
376
+ removedAt: pgCore.timestamp("removed_at", { withTimezone: true }),
377
+ lastAttemptedAt: pgCore.timestamp("last_attempted_at", {
378
+ withTimezone: true
379
+ }).notNull(),
380
+ lastError: pgCore.text("last_error")
381
+ },
382
+ (t) => [
383
+ pgCore.primaryKey({
384
+ columns: [t.graphId, t.kindName, t.entity, t.schemaVersion]
385
+ })
386
+ ]
387
+ );
388
+ const reconciliationMarkers = pgCore.pgTable(
389
+ n.reconciliationMarkers,
390
+ {
391
+ graphId: pgCore.text("graph_id").notNull(),
392
+ reconciledToVersion: pgCore.integer("reconciled_to_version").notNull()
393
+ },
394
+ (t) => [pgCore.primaryKey({ columns: [t.graphId] })]
395
+ );
396
+ const contributionMaterializations = pgCore.pgTable(
397
+ n.contributionMaterializations,
398
+ {
399
+ graphId: pgCore.text("graph_id").notNull(),
400
+ logicalName: pgCore.text("logical_name").notNull(),
401
+ owner: pgCore.text("owner").notNull(),
402
+ tableName: pgCore.text("table_name").notNull(),
403
+ signature: pgCore.text("signature").notNull(),
404
+ materializedAt: pgCore.timestamp("materialized_at", { withTimezone: true }),
405
+ lastAttemptedAt: pgCore.timestamp("last_attempted_at", {
406
+ withTimezone: true
407
+ }).notNull(),
408
+ lastError: pgCore.text("last_error")
409
+ },
410
+ (t) => [
411
+ pgCore.primaryKey({
412
+ columns: [t.graphId, t.logicalName, t.owner, t.tableName]
413
+ })
414
+ ]
415
+ );
416
+ const fulltext2 = pgCore.pgTable(
417
+ n.fulltext,
418
+ {
419
+ graphId: pgCore.text("graph_id").notNull(),
420
+ nodeKind: pgCore.text("node_kind").notNull(),
421
+ nodeId: pgCore.text("node_id").notNull(),
422
+ content: pgCore.text("content").notNull(),
423
+ language: regconfig("language").notNull(),
424
+ tsv: tsvector("tsv").generatedAlwaysAs(drizzleOrm.sql`to_tsvector("language", "content")`).notNull(),
425
+ updatedAt: pgCore.timestamp("updated_at", { withTimezone: true }).notNull()
426
+ },
427
+ (t) => [
428
+ pgCore.primaryKey({ columns: [t.graphId, t.nodeKind, t.nodeId] }),
429
+ pgCore.index(`${n.fulltext}_tsv_idx`).using("gin", t.tsv),
430
+ pgCore.index(`${n.fulltext}_kind_idx`).on(t.graphId, t.nodeKind)
431
+ ]
432
+ );
433
+ return {
434
+ nodes: nodes3,
435
+ edges: edges3,
436
+ recordedNodes: recordedNodes3,
437
+ recordedEdges: recordedEdges3,
438
+ recordedClock: recordedClock3,
439
+ revisionOrigins,
440
+ identityAssertions,
441
+ recordedIdentityAssertions,
442
+ identityClosure,
443
+ identitySeparation,
444
+ uniques: uniques3,
445
+ edgeClaims: edgeClaims3,
446
+ schemaVersions: schemaVersions3,
447
+ indexMaterializations,
448
+ contributionMaterializations,
449
+ kindRemovals,
450
+ reconciliationMarkers,
451
+ fulltext: fulltext2,
452
+ fulltextTableName: n.fulltext
453
+ };
454
+ }
455
+ var tables = createPostgresTables();
456
+ var {
457
+ nodes,
458
+ edges,
459
+ recordedNodes,
460
+ recordedEdges,
461
+ recordedClock,
462
+ uniques,
463
+ edgeClaims,
464
+ schemaVersions,
465
+ fulltext
466
+ } = tables;
467
+ var DEFAULT_TABLE_NAMES2 = {
468
+ nodes: "typegraph_nodes",
469
+ edges: "typegraph_edges",
470
+ recordedNodes: "typegraph_recorded_nodes",
471
+ recordedEdges: "typegraph_recorded_edges",
472
+ recordedClock: "typegraph_recorded_clock",
473
+ revisionOrigins: "typegraph_revision_origins",
474
+ identityAssertions: "typegraph_identity_assertions",
475
+ recordedIdentityAssertions: "typegraph_recorded_identity_assertions",
476
+ identityClosure: "typegraph_identity_closure",
477
+ identitySeparation: "typegraph_identity_separation",
478
+ uniques: "typegraph_node_uniques",
479
+ edgeClaims: "typegraph_edge_claims",
480
+ schemaVersions: "typegraph_schema_versions",
481
+ fulltext: "typegraph_node_fulltext",
482
+ indexMaterializations: "typegraph_index_materializations",
483
+ contributionMaterializations: "typegraph_contribution_materializations",
484
+ kindRemovals: "typegraph_kind_removals",
485
+ reconciliationMarkers: "typegraph_reconciliation_markers"
486
+ };
487
+ function createSqliteTables(names = {}, options = {}) {
488
+ const n = { ...DEFAULT_TABLE_NAMES2, ...names };
489
+ const indexes = options.indexes ?? [];
490
+ chunkI7YAY2VQ_cjs.assertNoSystemIndexNameCollision(indexes, n);
491
+ const nodes3 = sqliteCore.sqliteTable(
492
+ n.nodes,
493
+ {
494
+ graphId: sqliteCore.text("graph_id").notNull(),
495
+ kind: sqliteCore.text("kind").notNull(),
496
+ id: sqliteCore.text("id").notNull(),
497
+ props: sqliteCore.text("props").notNull(),
498
+ version: sqliteCore.integer("version").notNull().default(1),
499
+ validFrom: sqliteCore.text("valid_from"),
500
+ validTo: sqliteCore.text("valid_to"),
501
+ createdAt: sqliteCore.text("created_at").notNull(),
502
+ updatedAt: sqliteCore.text("updated_at").notNull(),
503
+ deletedAt: sqliteCore.text("deleted_at")
504
+ },
505
+ (t) => [
506
+ sqliteCore.primaryKey({ columns: [t.graphId, t.kind, t.id] }),
507
+ // System indexes come from SYSTEM_INDEX_DECLARATIONS (single source
508
+ // for both dialects + the runtime materializer).
509
+ ...chunkLLFPQOBA_cjs.buildSqliteSystemIndexBuilders("nodes", n.nodes, t),
510
+ ...chunkLLFPQOBA_cjs.buildSqliteNodeIndexBuilders(t, indexes)
511
+ ]
512
+ );
513
+ const edges3 = sqliteCore.sqliteTable(
514
+ n.edges,
515
+ {
516
+ graphId: sqliteCore.text("graph_id").notNull(),
517
+ id: sqliteCore.text("id").notNull(),
518
+ kind: sqliteCore.text("kind").notNull(),
519
+ fromKind: sqliteCore.text("from_kind").notNull(),
520
+ fromId: sqliteCore.text("from_id").notNull(),
521
+ toKind: sqliteCore.text("to_kind").notNull(),
522
+ toId: sqliteCore.text("to_id").notNull(),
523
+ props: sqliteCore.text("props").notNull(),
524
+ validFrom: sqliteCore.text("valid_from"),
525
+ validTo: sqliteCore.text("valid_to"),
526
+ createdAt: sqliteCore.text("created_at").notNull(),
527
+ updatedAt: sqliteCore.text("updated_at").notNull(),
528
+ deletedAt: sqliteCore.text("deleted_at")
529
+ },
530
+ (t) => [
531
+ sqliteCore.primaryKey({ columns: [t.graphId, t.id] }),
532
+ ...chunkLLFPQOBA_cjs.buildSqliteSystemIndexBuilders("edges", n.edges, t),
533
+ ...chunkLLFPQOBA_cjs.buildSqliteEdgeIndexBuilders(t, indexes)
534
+ ]
535
+ );
536
+ const recordedNodes3 = sqliteCore.sqliteTable(
537
+ n.recordedNodes,
538
+ {
539
+ historyId: sqliteCore.text("history_id").notNull(),
540
+ graphId: sqliteCore.text("graph_id").notNull(),
541
+ kind: sqliteCore.text("kind").notNull(),
542
+ id: sqliteCore.text("id").notNull(),
543
+ props: sqliteCore.text("props").notNull(),
544
+ version: sqliteCore.integer("version").notNull(),
545
+ validFrom: sqliteCore.text("valid_from"),
546
+ validTo: sqliteCore.text("valid_to"),
547
+ createdAt: sqliteCore.text("created_at").notNull(),
548
+ updatedAt: sqliteCore.text("updated_at").notNull(),
549
+ deletedAt: sqliteCore.text("deleted_at"),
550
+ recordedFrom: sqliteCore.integer("recorded_from").notNull(),
551
+ recordedTo: sqliteCore.integer("recorded_to").notNull(),
552
+ op: sqliteCore.text("op").notNull(),
553
+ schemaVersion: sqliteCore.integer("schema_version"),
554
+ txId: sqliteCore.text("tx_id"),
555
+ meta: sqliteCore.text("meta")
556
+ },
557
+ (t) => [
558
+ sqliteCore.primaryKey({ columns: [t.historyId] }),
559
+ ...chunkLLFPQOBA_cjs.buildSqliteSystemIndexBuilders("recordedNodes", n.recordedNodes, t)
560
+ ]
561
+ );
562
+ const recordedEdges3 = sqliteCore.sqliteTable(
563
+ n.recordedEdges,
564
+ {
565
+ historyId: sqliteCore.text("history_id").notNull(),
566
+ graphId: sqliteCore.text("graph_id").notNull(),
567
+ id: sqliteCore.text("id").notNull(),
568
+ kind: sqliteCore.text("kind").notNull(),
569
+ fromKind: sqliteCore.text("from_kind").notNull(),
570
+ fromId: sqliteCore.text("from_id").notNull(),
571
+ toKind: sqliteCore.text("to_kind").notNull(),
572
+ toId: sqliteCore.text("to_id").notNull(),
573
+ props: sqliteCore.text("props").notNull(),
574
+ validFrom: sqliteCore.text("valid_from"),
575
+ validTo: sqliteCore.text("valid_to"),
576
+ createdAt: sqliteCore.text("created_at").notNull(),
577
+ updatedAt: sqliteCore.text("updated_at").notNull(),
578
+ deletedAt: sqliteCore.text("deleted_at"),
579
+ recordedFrom: sqliteCore.integer("recorded_from").notNull(),
580
+ recordedTo: sqliteCore.integer("recorded_to").notNull(),
581
+ op: sqliteCore.text("op").notNull(),
582
+ schemaVersion: sqliteCore.integer("schema_version"),
583
+ txId: sqliteCore.text("tx_id"),
584
+ meta: sqliteCore.text("meta")
585
+ },
586
+ (t) => [
587
+ sqliteCore.primaryKey({ columns: [t.historyId] }),
588
+ ...chunkLLFPQOBA_cjs.buildSqliteSystemIndexBuilders("recordedEdges", n.recordedEdges, t)
589
+ ]
590
+ );
591
+ const recordedClock3 = sqliteCore.sqliteTable(
592
+ n.recordedClock,
593
+ {
594
+ graphId: sqliteCore.text("graph_id").notNull(),
595
+ revision: sqliteCore.integer("revision").notNull(),
596
+ recordedAt: sqliteCore.text("recorded_at").notNull()
597
+ },
598
+ (t) => [sqliteCore.primaryKey({ columns: [t.graphId] })]
599
+ );
600
+ const revisionOrigins = sqliteCore.sqliteTable(
601
+ n.revisionOrigins,
602
+ {
603
+ graphId: sqliteCore.text("graph_id").notNull(),
604
+ origin: sqliteCore.text("origin").notNull()
605
+ },
606
+ (t) => [sqliteCore.primaryKey({ columns: [t.graphId] })]
607
+ );
608
+ const identityAssertions = sqliteCore.sqliteTable(
609
+ n.identityAssertions,
610
+ {
611
+ graphId: sqliteCore.text("graph_id").notNull(),
612
+ id: sqliteCore.text("id").notNull(),
613
+ relation: sqliteCore.text("rel").notNull(),
614
+ aKind: sqliteCore.text("a_kind").notNull(),
615
+ aId: sqliteCore.text("a_id").notNull(),
616
+ bKind: sqliteCore.text("b_kind").notNull(),
617
+ bId: sqliteCore.text("b_id").notNull(),
618
+ validFrom: sqliteCore.text("valid_from").notNull(),
619
+ validTo: sqliteCore.text("valid_to"),
620
+ createdAt: sqliteCore.text("created_at").notNull(),
621
+ updatedAt: sqliteCore.text("updated_at").notNull(),
622
+ deletedAt: sqliteCore.text("deleted_at"),
623
+ endedByKind: sqliteCore.text("ended_by_kind"),
624
+ endedById: sqliteCore.text("ended_by_id")
625
+ },
626
+ (t) => [
627
+ sqliteCore.primaryKey({ columns: [t.graphId, t.id] }),
628
+ sqliteCore.index(`${n.identityAssertions}_a_idx`).on(
629
+ t.graphId,
630
+ t.aKind,
631
+ t.aId,
632
+ t.validTo
633
+ ),
634
+ sqliteCore.index(`${n.identityAssertions}_b_idx`).on(
635
+ t.graphId,
636
+ t.bKind,
637
+ t.bId,
638
+ t.validTo
639
+ ),
640
+ sqliteCore.uniqueIndex(`${n.identityAssertions}_current_pair_idx`).on(t.graphId, t.relation, t.aKind, t.aId, t.bKind, t.bId).where(drizzleOrm.sql`${t.validTo} IS NULL`),
641
+ sqliteCore.check(
642
+ `${n.identityAssertions}_ended_by_check`,
643
+ drizzleOrm.sql`(ended_by_kind IS NULL) = (ended_by_id IS NULL) AND (ended_by_kind IS NULL OR (valid_to IS NOT NULL AND ((ended_by_kind = a_kind AND ended_by_id = a_id) OR (ended_by_kind = b_kind AND ended_by_id = b_id))))`
644
+ )
645
+ ]
646
+ );
647
+ const recordedIdentityAssertions = sqliteCore.sqliteTable(
648
+ n.recordedIdentityAssertions,
649
+ {
650
+ historyId: sqliteCore.text("history_id").notNull(),
651
+ graphId: sqliteCore.text("graph_id").notNull(),
652
+ id: sqliteCore.text("id").notNull(),
653
+ relation: sqliteCore.text("rel").notNull(),
654
+ aKind: sqliteCore.text("a_kind").notNull(),
655
+ aId: sqliteCore.text("a_id").notNull(),
656
+ bKind: sqliteCore.text("b_kind").notNull(),
657
+ bId: sqliteCore.text("b_id").notNull(),
658
+ validFrom: sqliteCore.text("valid_from").notNull(),
659
+ validTo: sqliteCore.text("valid_to"),
660
+ createdAt: sqliteCore.text("created_at").notNull(),
661
+ updatedAt: sqliteCore.text("updated_at").notNull(),
662
+ deletedAt: sqliteCore.text("deleted_at"),
663
+ endedByKind: sqliteCore.text("ended_by_kind"),
664
+ endedById: sqliteCore.text("ended_by_id"),
665
+ recordedFrom: sqliteCore.integer("recorded_from").notNull(),
666
+ recordedTo: sqliteCore.integer("recorded_to").notNull(),
667
+ op: sqliteCore.text("op").notNull(),
668
+ schemaVersion: sqliteCore.integer("schema_version"),
669
+ txId: sqliteCore.text("tx_id"),
670
+ meta: sqliteCore.text("meta")
671
+ },
672
+ (t) => [
673
+ sqliteCore.primaryKey({ columns: [t.historyId] }),
674
+ sqliteCore.index(`${n.recordedIdentityAssertions}_entity_idx`).on(
675
+ t.graphId,
676
+ t.id,
677
+ t.recordedFrom,
678
+ t.recordedTo
679
+ ),
680
+ sqliteCore.index(`${n.recordedIdentityAssertions}_a_idx`).on(
681
+ t.graphId,
682
+ t.aKind,
683
+ t.aId,
684
+ t.recordedFrom,
685
+ t.recordedTo
686
+ ),
687
+ sqliteCore.index(`${n.recordedIdentityAssertions}_b_idx`).on(
688
+ t.graphId,
689
+ t.bKind,
690
+ t.bId,
691
+ t.recordedFrom,
692
+ t.recordedTo
693
+ )
694
+ ]
695
+ );
696
+ const identityClosure = sqliteCore.sqliteTable(
697
+ n.identityClosure,
698
+ {
699
+ graphId: sqliteCore.text("graph_id").notNull(),
700
+ memberKind: sqliteCore.text("member_kind").notNull(),
701
+ memberId: sqliteCore.text("member_id").notNull(),
702
+ classKind: sqliteCore.text("class_kind").notNull(),
703
+ classId: sqliteCore.text("class_id").notNull()
704
+ },
705
+ (t) => [
706
+ sqliteCore.primaryKey({ columns: [t.graphId, t.memberKind, t.memberId] }),
707
+ sqliteCore.index(`${n.identityClosure}_class_idx`).on(
708
+ t.graphId,
709
+ t.classKind,
710
+ t.classId
711
+ )
712
+ ]
713
+ );
714
+ const identitySeparation = sqliteCore.sqliteTable(
715
+ n.identitySeparation,
716
+ {
717
+ graphId: sqliteCore.text("graph_id").notNull(),
718
+ classKeyLow: sqliteCore.text("class_key_low").notNull(),
719
+ classKeyHigh: sqliteCore.text("class_key_high").notNull()
720
+ },
721
+ (t) => [
722
+ sqliteCore.primaryKey({ columns: [t.graphId, t.classKeyLow, t.classKeyHigh] }),
723
+ sqliteCore.index(`${n.identitySeparation}_high_idx`).on(t.graphId, t.classKeyHigh),
724
+ sqliteCore.check(
725
+ `${n.identitySeparation}_ordered_pair_check`,
726
+ drizzleOrm.sql`class_key_low < class_key_high`
727
+ )
728
+ ]
729
+ );
730
+ const uniques3 = sqliteCore.sqliteTable(
731
+ n.uniques,
732
+ {
733
+ graphId: sqliteCore.text("graph_id").notNull(),
734
+ nodeKind: sqliteCore.text("node_kind").notNull(),
735
+ constraintName: sqliteCore.text("constraint_name").notNull(),
736
+ key: sqliteCore.text("key").notNull(),
737
+ nodeId: sqliteCore.text("node_id").notNull(),
738
+ concreteKind: sqliteCore.text("concrete_kind").notNull(),
739
+ deletedAt: sqliteCore.text("deleted_at")
740
+ },
741
+ (t) => [
742
+ sqliteCore.primaryKey({
743
+ columns: [t.graphId, t.nodeKind, t.constraintName, t.key]
744
+ }),
745
+ sqliteCore.index(`${n.uniques}_node_idx`).on(t.graphId, t.concreteKind, t.nodeId)
746
+ ]
747
+ );
748
+ const edgeClaims3 = sqliteCore.sqliteTable(
749
+ n.edgeClaims,
750
+ {
751
+ graphId: sqliteCore.text("graph_id").notNull(),
752
+ axis: sqliteCore.text("axis").notNull(),
753
+ key: sqliteCore.text("key").notNull(),
754
+ edgeId: sqliteCore.text("edge_id").notNull(),
755
+ updatedAt: sqliteCore.text("updated_at").notNull()
756
+ },
757
+ (t) => [
758
+ sqliteCore.primaryKey({ columns: [t.graphId, t.axis, t.key] }),
759
+ sqliteCore.index(`${n.edgeClaims}_edge_idx`).on(t.graphId, t.edgeId)
760
+ ]
761
+ );
762
+ const schemaVersions3 = sqliteCore.sqliteTable(
763
+ n.schemaVersions,
764
+ {
765
+ graphId: sqliteCore.text("graph_id").notNull(),
766
+ version: sqliteCore.integer("version").notNull(),
767
+ schemaHash: sqliteCore.text("schema_hash").notNull(),
768
+ schemaDoc: sqliteCore.text("schema_doc").notNull(),
769
+ createdAt: sqliteCore.text("created_at").notNull(),
770
+ isActive: sqliteCore.integer("is_active", { mode: "boolean" }).notNull().default(false)
771
+ },
772
+ (t) => [
773
+ sqliteCore.primaryKey({ columns: [t.graphId, t.version] }),
774
+ sqliteCore.index(`${n.schemaVersions}_active_idx`).on(t.graphId, t.isActive),
775
+ // Partial unique index enforcing the "at most one active version
776
+ // per graph" invariant at the storage layer. Defense in depth
777
+ // against buggy backend implementations or out-of-band writes.
778
+ // Forces the deactivate-then-activate ordering used by
779
+ // `commitSchemaVersion` and `setActiveVersion`.
780
+ sqliteCore.uniqueIndex(`${n.schemaVersions}_one_active_per_graph_idx`).on(t.graphId).where(drizzleOrm.sql`${t.isActive} = 1`)
781
+ ]
782
+ );
783
+ const indexMaterializations = sqliteCore.sqliteTable(
784
+ n.indexMaterializations,
785
+ {
786
+ indexName: sqliteCore.text("index_name").notNull(),
787
+ graphId: sqliteCore.text("graph_id").notNull(),
788
+ entity: sqliteCore.text("entity").notNull(),
789
+ kind: sqliteCore.text("kind").notNull(),
790
+ signature: sqliteCore.text("signature").notNull(),
791
+ schemaVersion: sqliteCore.integer("schema_version").notNull(),
792
+ materializedAt: sqliteCore.text("materialized_at"),
793
+ lastAttemptedAt: sqliteCore.text("last_attempted_at").notNull(),
794
+ lastError: sqliteCore.text("last_error")
795
+ },
796
+ (t) => [sqliteCore.primaryKey({ columns: [t.indexName] })]
797
+ );
798
+ const kindRemovals = sqliteCore.sqliteTable(
799
+ n.kindRemovals,
800
+ {
801
+ graphId: sqliteCore.text("graph_id").notNull(),
802
+ kindName: sqliteCore.text("kind_name").notNull(),
803
+ entity: sqliteCore.text("entity").notNull(),
804
+ schemaVersion: sqliteCore.integer("schema_version").notNull(),
805
+ removedAt: sqliteCore.text("removed_at"),
806
+ lastAttemptedAt: sqliteCore.text("last_attempted_at").notNull(),
807
+ lastError: sqliteCore.text("last_error")
808
+ },
809
+ (t) => [
810
+ sqliteCore.primaryKey({
811
+ columns: [t.graphId, t.kindName, t.entity, t.schemaVersion]
812
+ })
813
+ ]
814
+ );
815
+ const reconciliationMarkers = sqliteCore.sqliteTable(
816
+ n.reconciliationMarkers,
817
+ {
818
+ graphId: sqliteCore.text("graph_id").notNull(),
819
+ reconciledToVersion: sqliteCore.integer("reconciled_to_version").notNull()
820
+ },
821
+ (t) => [sqliteCore.primaryKey({ columns: [t.graphId] })]
822
+ );
823
+ const contributionMaterializations = sqliteCore.sqliteTable(
824
+ n.contributionMaterializations,
825
+ {
826
+ graphId: sqliteCore.text("graph_id").notNull(),
827
+ logicalName: sqliteCore.text("logical_name").notNull(),
828
+ owner: sqliteCore.text("owner").notNull(),
829
+ tableName: sqliteCore.text("table_name").notNull(),
830
+ signature: sqliteCore.text("signature").notNull(),
831
+ materializedAt: sqliteCore.text("materialized_at"),
832
+ lastAttemptedAt: sqliteCore.text("last_attempted_at").notNull(),
833
+ lastError: sqliteCore.text("last_error")
834
+ },
835
+ (t) => [
836
+ sqliteCore.primaryKey({
837
+ columns: [t.graphId, t.logicalName, t.owner, t.tableName]
838
+ })
839
+ ]
840
+ );
841
+ return {
842
+ nodes: nodes3,
843
+ edges: edges3,
844
+ recordedNodes: recordedNodes3,
845
+ recordedEdges: recordedEdges3,
846
+ recordedClock: recordedClock3,
847
+ revisionOrigins,
848
+ identityAssertions,
849
+ recordedIdentityAssertions,
850
+ identityClosure,
851
+ identitySeparation,
852
+ uniques: uniques3,
853
+ edgeClaims: edgeClaims3,
854
+ schemaVersions: schemaVersions3,
855
+ indexMaterializations,
856
+ contributionMaterializations,
857
+ kindRemovals,
858
+ reconciliationMarkers,
859
+ /**
860
+ * The fulltext storage is a FTS5 virtual table which Drizzle cannot
861
+ * represent. DDL is emitted as raw SQL and operations query it via
862
+ * `sql.raw()`.
863
+ */
864
+ fulltextTableName: n.fulltext
865
+ };
866
+ }
867
+ var tables2 = createSqliteTables();
868
+ var {
869
+ nodes: nodes2,
870
+ edges: edges2,
871
+ recordedNodes: recordedNodes2,
872
+ recordedEdges: recordedEdges2,
873
+ recordedClock: recordedClock2,
874
+ uniques: uniques2,
875
+ edgeClaims: edgeClaims2,
876
+ schemaVersions: schemaVersions2
877
+ } = tables2;
878
+ function getSqliteColumnType(column) {
879
+ switch (column.columnType) {
880
+ case "SQLiteText": {
881
+ return "TEXT";
882
+ }
883
+ case "SQLiteInteger": {
884
+ return "INTEGER";
885
+ }
886
+ case "SQLiteReal": {
887
+ return "REAL";
888
+ }
889
+ case "SQLiteBlob": {
890
+ return "BLOB";
891
+ }
892
+ default: {
893
+ return "TEXT";
894
+ }
895
+ }
896
+ }
897
+ function formatDefaultValue(value) {
898
+ if (value === null) return "NULL";
899
+ if (typeof value === "string") return `'${value}'`;
900
+ if (typeof value === "number") return String(value);
901
+ if (typeof value === "boolean") return value ? "1" : "0";
902
+ return JSON.stringify(value);
903
+ }
904
+ function generateSqliteCreateTableSQL(table) {
905
+ const config = sqliteCore.getTableConfig(table);
906
+ const columnDefs = [];
907
+ for (const column of config.columns) {
908
+ const parts = [
909
+ `"${column.name}"`,
910
+ getSqliteColumnType(column)
911
+ ];
912
+ if (column.notNull) {
913
+ parts.push("NOT NULL");
914
+ }
915
+ if (column.hasDefault && column.default !== void 0) {
916
+ parts.push(`DEFAULT ${formatDefaultValue(column.default)}`);
917
+ }
918
+ columnDefs.push(parts.join(" "));
919
+ }
920
+ const pk = config.primaryKeys[0];
921
+ if (pk) {
922
+ const pkColumns = pk.columns.map((c) => `"${c.name}"`).join(", ");
923
+ columnDefs.push(`PRIMARY KEY (${pkColumns})`);
924
+ }
925
+ columnDefs.push(...renderTableChecks(config.checks, config.name));
926
+ return `CREATE TABLE IF NOT EXISTS "${config.name}" (
927
+ ${columnDefs.join(",\n ")}
928
+ );`;
929
+ }
930
+ function renderTableChecks(checks, tableName) {
931
+ return checks.map(
932
+ (check3) => `CONSTRAINT "${check3.name}" CHECK (${inlineSqlOrThrow(
933
+ check3.value,
934
+ `table "${tableName}" CHECK constraint "${check3.name}"`
935
+ )})`
936
+ );
937
+ }
938
+ function renderIndexColumn(col) {
939
+ if (col && typeof col === "object" && "name" in col) {
940
+ return `"${col.name}"`;
941
+ }
942
+ const sql19 = tryInlineSql(col);
943
+ if (sql19 !== void 0) {
944
+ return sql19;
945
+ }
946
+ return "unknown";
947
+ }
948
+ function tryInlineSql(value) {
949
+ if (value && typeof value === "object" && "getSQL" in value) {
950
+ const maybe = value;
951
+ if (typeof maybe.getSQL === "function") {
952
+ return inlineSql(maybe.getSQL());
953
+ }
954
+ }
955
+ return inlineSql(value);
956
+ }
957
+ function flattenSqlChunk(chunk2) {
958
+ if (typeof chunk2 === "string") {
959
+ return chunk2;
960
+ }
961
+ if (typeof chunk2 === "object" && chunk2 !== null) {
962
+ if ("name" in chunk2 && typeof chunk2.name === "string") {
963
+ return `"${chunk2.name}"`;
964
+ }
965
+ if ("value" in chunk2) {
966
+ const value = chunk2.value;
967
+ if (typeof value === "string") {
968
+ return value;
969
+ }
970
+ if (Array.isArray(value)) {
971
+ return value.map((part) => flattenSqlChunk(part)).join("");
972
+ }
973
+ }
974
+ if ("queryChunks" in chunk2 && Array.isArray(chunk2.queryChunks)) {
975
+ return chunk2.queryChunks.map((part) => flattenSqlChunk(part)).join("");
976
+ }
977
+ if ("getSQL" in chunk2) {
978
+ const maybe = chunk2;
979
+ if (typeof maybe.getSQL === "function") {
980
+ return flattenSqlChunk(maybe.getSQL());
981
+ }
982
+ }
983
+ }
984
+ throw new Error(`Unable to inline SQL chunk: ${String(chunk2)}`);
985
+ }
986
+ function inlineSql(value) {
987
+ try {
988
+ return flattenSqlChunk(value);
989
+ } catch {
990
+ return void 0;
991
+ }
992
+ }
993
+ function inlineSqlOrThrow(value, context) {
994
+ const inlined = inlineSql(value);
995
+ if (inlined === void 0) {
996
+ throw new Error(`Unable to inline SQL for ${context}`);
997
+ }
998
+ return inlined;
999
+ }
1000
+ function generateSqliteCreateIndexSQL(table) {
1001
+ const config = sqliteCore.getTableConfig(table);
1002
+ const statements = [];
1003
+ for (const index3 of config.indexes) {
1004
+ const indexConfig = index3.config;
1005
+ const columns = indexConfig.columns.map((c) => renderIndexColumn(c)).join(", ");
1006
+ const unique = indexConfig.unique ? "UNIQUE " : "";
1007
+ const where = indexConfig.where ? ` WHERE ${inlineSqlOrThrow(indexConfig.where, `SQLite index "${indexConfig.name}" WHERE clause`)}` : "";
1008
+ statements.push(
1009
+ `CREATE ${unique}INDEX IF NOT EXISTS "${indexConfig.name}" ON "${config.name}" (${columns})${where};`
1010
+ );
1011
+ }
1012
+ return statements;
1013
+ }
1014
+ function isSqliteTable(value) {
1015
+ return drizzleOrm.is(value, sqliteCore.SQLiteTable);
1016
+ }
1017
+ function runtimeStrategyContributions(fulltextStrategy, fulltextTableName) {
1018
+ return fulltextStrategy.ownedTables(fulltextTableName).filter((contribution) => contribution.runtimeEnsure);
1019
+ }
1020
+ function sqliteContributions(tables3 = tables2, fulltextStrategy = chunkH2VWDQWC_cjs.fts5Strategy) {
1021
+ const contributions = [];
1022
+ for (const [key, table] of Object.entries(tables3)) {
1023
+ if (!isSqliteTable(table)) continue;
1024
+ contributions.push({
1025
+ logicalName: key,
1026
+ owner: chunkH2VWDQWC_cjs.BASE_CONTRIBUTION_OWNER,
1027
+ tableName: sqliteCore.getTableConfig(table).name,
1028
+ createDdl: [
1029
+ generateSqliteCreateTableSQL(table),
1030
+ ...generateSqliteCreateIndexSQL(table)
1031
+ ],
1032
+ runtimeEnsure: false
1033
+ });
1034
+ }
1035
+ for (const declared of fulltextStrategy.ownedTables(
1036
+ tables3.fulltextTableName
1037
+ )) {
1038
+ contributions.push(declared);
1039
+ }
1040
+ return contributions;
1041
+ }
1042
+ function generateSqliteDDL(tables3 = tables2, fulltextStrategy = chunkH2VWDQWC_cjs.fts5Strategy) {
1043
+ return sqliteContributions(tables3, fulltextStrategy).flatMap(
1044
+ (contribution) => [...contribution.createDdl]
1045
+ );
1046
+ }
1047
+ function generateSqliteMigrationSQL(tables3 = tables2, fulltextStrategy = chunkH2VWDQWC_cjs.fts5Strategy) {
1048
+ return generateSqliteDDL(tables3, fulltextStrategy).join("\n\n");
1049
+ }
1050
+ function getPgColumnType(column) {
1051
+ switch (column.columnType) {
1052
+ case "PgText": {
1053
+ return "TEXT";
1054
+ }
1055
+ case "PgInteger": {
1056
+ return "INTEGER";
1057
+ }
1058
+ case "PgBigInt53":
1059
+ case "PgBigInt64": {
1060
+ return "BIGINT";
1061
+ }
1062
+ case "PgBoolean": {
1063
+ return "BOOLEAN";
1064
+ }
1065
+ case "PgJsonb": {
1066
+ return "JSONB";
1067
+ }
1068
+ case "PgTimestamp": {
1069
+ return column.config?.withTimezone ? "TIMESTAMPTZ" : "TIMESTAMP";
1070
+ }
1071
+ case "PgReal": {
1072
+ return "REAL";
1073
+ }
1074
+ case "PgDoublePrecision": {
1075
+ return "DOUBLE PRECISION";
1076
+ }
1077
+ case "PgCustomColumn": {
1078
+ const dataType = column.getSQLType?.();
1079
+ return dataType ?? "TEXT";
1080
+ }
1081
+ default: {
1082
+ return "TEXT";
1083
+ }
1084
+ }
1085
+ }
1086
+ function formatPgDefaultValue(value) {
1087
+ if (value === null) return "NULL";
1088
+ if (typeof value === "string") return `'${value}'`;
1089
+ if (typeof value === "number") return String(value);
1090
+ if (typeof value === "boolean") return value ? "TRUE" : "FALSE";
1091
+ return JSON.stringify(value);
1092
+ }
1093
+ function generatePgCreateTableSQL(table) {
1094
+ const config = pgCore.getTableConfig(table);
1095
+ const columnDefs = [];
1096
+ for (const column of config.columns) {
1097
+ const parts = [`"${column.name}"`, getPgColumnType(column)];
1098
+ if (column.notNull) {
1099
+ parts.push("NOT NULL");
1100
+ }
1101
+ if (column.hasDefault && column.default !== void 0) {
1102
+ parts.push(`DEFAULT ${formatPgDefaultValue(column.default)}`);
1103
+ }
1104
+ columnDefs.push(parts.join(" "));
1105
+ }
1106
+ const pk = config.primaryKeys[0];
1107
+ if (pk) {
1108
+ const pkColumns = pk.columns.map((c) => `"${c.name}"`).join(", ");
1109
+ columnDefs.push(`PRIMARY KEY (${pkColumns})`);
1110
+ }
1111
+ columnDefs.push(...renderTableChecks(config.checks, config.name));
1112
+ return `CREATE TABLE IF NOT EXISTS "${config.name}" (
1113
+ ${columnDefs.join(",\n ")}
1114
+ );`;
1115
+ }
1116
+ function generatePgCreateIndexSQL(table) {
1117
+ const config = pgCore.getTableConfig(table);
1118
+ const statements = [];
1119
+ for (const index3 of config.indexes) {
1120
+ const indexConfig = index3.config;
1121
+ const columns = indexConfig.columns.map((c) => renderIndexColumn(c)).join(", ");
1122
+ const unique = indexConfig.unique ? "UNIQUE " : "";
1123
+ const method = indexConfig.method && indexConfig.method !== "btree" ? ` USING ${indexConfig.method}` : "";
1124
+ const where = indexConfig.where ? ` WHERE ${inlineSqlOrThrow(indexConfig.where, `PostgreSQL index "${indexConfig.name}" WHERE clause`)}` : "";
1125
+ statements.push(
1126
+ `CREATE ${unique}INDEX IF NOT EXISTS "${indexConfig.name}" ON "${config.name}"${method} (${columns})${where};`
1127
+ );
1128
+ }
1129
+ return statements;
1130
+ }
1131
+ function isPgTable(value) {
1132
+ return drizzleOrm.is(value, pgCore.PgTable);
1133
+ }
1134
+ function postgresContributions(tables3 = tables, fulltextStrategy = chunkH2VWDQWC_cjs.tsvectorStrategy) {
1135
+ const contributions = [];
1136
+ for (const [key, table] of Object.entries(tables3)) {
1137
+ if (!isPgTable(table)) continue;
1138
+ if (table === tables3.fulltext) continue;
1139
+ contributions.push({
1140
+ logicalName: key,
1141
+ owner: chunkH2VWDQWC_cjs.BASE_CONTRIBUTION_OWNER,
1142
+ tableName: pgCore.getTableConfig(table).name,
1143
+ createDdl: [
1144
+ generatePgCreateTableSQL(table),
1145
+ ...generatePgCreateIndexSQL(table)
1146
+ ],
1147
+ runtimeEnsure: false
1148
+ });
1149
+ }
1150
+ for (const declared of fulltextStrategy.ownedTables(
1151
+ tables3.fulltextTableName
1152
+ )) {
1153
+ contributions.push(declared);
1154
+ }
1155
+ return contributions;
1156
+ }
1157
+ function generatePostgresDDL(tables3 = tables, fulltextStrategy = chunkH2VWDQWC_cjs.tsvectorStrategy) {
1158
+ return postgresContributions(tables3, fulltextStrategy).flatMap(
1159
+ (contribution) => [...contribution.createDdl]
1160
+ );
1161
+ }
1162
+ function generatePostgresMigrationSQL(tables3 = tables, fulltextStrategy = chunkH2VWDQWC_cjs.tsvectorStrategy) {
1163
+ const extensionSql = "-- Enable pgvector extension for vector similarity search\nCREATE EXTENSION IF NOT EXISTS vector;";
1164
+ const ddlSql = generatePostgresDDL(tables3, fulltextStrategy).join("\n\n");
1165
+ return `${extensionSql}
1166
+
1167
+ ${ddlSql}`;
1168
+ }
1169
+
1170
+ // src/backend/capabilities/declarations.ts
1171
+ function deepFreeze(value) {
1172
+ if (typeof value !== "object" || value === null || Object.isFrozen(value)) {
1173
+ return value;
1174
+ }
1175
+ Object.freeze(value);
1176
+ for (const propertyValue of Object.values(value)) {
1177
+ deepFreeze(propertyValue);
1178
+ }
1179
+ return value;
1180
+ }
1181
+ function assertBundledCapabilityDeclarations(capabilities) {
1182
+ const { recursiveTraversal } = capabilities;
1183
+ if (recursiveTraversal?.supported === false && recursiveTraversal.reason === void 0) {
1184
+ throw new chunkX4GDXBOP_cjs.ConfigurationError(
1185
+ "Backend capability declaration is contradictory: recursiveTraversal.supported is false but no reason is given.",
1186
+ {
1187
+ code: "CAPABILITY_DECLARATION_CONTRADICTION",
1188
+ member: "recursiveTraversal",
1189
+ missing: "reason"
1190
+ },
1191
+ {
1192
+ suggestion: "Supply a `reason` explaining why this backend cannot perform recursive traversal."
1193
+ }
1194
+ );
1195
+ }
1196
+ if (recursiveTraversal?.supported === true && recursiveTraversal.reason !== void 0) {
1197
+ throw new chunkX4GDXBOP_cjs.ConfigurationError(
1198
+ "Backend capability declaration is contradictory: recursiveTraversal.supported is true but a dangling reason is present.",
1199
+ {
1200
+ code: "CAPABILITY_DECLARATION_CONTRADICTION",
1201
+ member: "recursiveTraversal",
1202
+ danglingReason: recursiveTraversal.reason
1203
+ },
1204
+ {
1205
+ suggestion: "Remove `reason` when recursiveTraversal.supported is true \u2014 it is only meaningful alongside `supported: false`."
1206
+ }
1207
+ );
1208
+ }
1209
+ return deepFreeze(structuredClone(capabilities));
1210
+ }
16
1211
 
17
1212
  // src/backend/edge-endpoint-sets.ts
18
1213
  var FIND_EDGES_ENDPOINT_FIXED_PARAM_COUNT = 6;
@@ -81,10 +1276,10 @@ function resolveHeterogeneousEdgeRead(params, maxBindParameters) {
81
1276
 
82
1277
  // src/backend/live-node-candidates.ts
83
1278
  function buildLiveNodeCandidates(nodesTableName, graphId, nodeKind, now) {
84
- const nodes = chunkOJHD3LXJ_cjs.sql.identifier(nodesTableName);
85
- return chunkOJHD3LXJ_cjs.sql`
1279
+ const nodes3 = chunkH5IJSROF_cjs.sql.identifier(nodesTableName);
1280
+ return chunkH5IJSROF_cjs.sql`
86
1281
  SELECT "id" AS node_id
87
- FROM ${nodes}
1282
+ FROM ${nodes3}
88
1283
  WHERE "graph_id" = ${graphId}
89
1284
  AND "kind" = ${nodeKind}
90
1285
  AND "deleted_at" IS NULL
@@ -123,7 +1318,7 @@ function vectorSlotFromDropIndexParams(params) {
123
1318
  };
124
1319
  }
125
1320
  function mapVectorWriteError(error, params) {
126
- const mismatch = chunkZBFZGLZE_cjs.parseDimensionMismatch(error);
1321
+ const mismatch = chunkNLX5OWK7_cjs.parseDimensionMismatch(error);
127
1322
  if (mismatch === void 0) return error;
128
1323
  const attempted = mismatch.actual ?? "a different number of";
129
1324
  return new chunkX4GDXBOP_cjs.EmbeddingDimensionChangedError(
@@ -142,7 +1337,7 @@ var SQLITE_CONTRIBUTION_MAT_TIMESTAMPS = {
142
1337
  encode: (value) => value
143
1338
  };
144
1339
  var POSTGRES_CONTRIBUTION_MAT_TIMESTAMPS = {
145
- decode: chunkEH3JZJUM_cjs.formatPostgresTimestamp,
1340
+ decode: chunk36SX6QXP_cjs.formatPostgresTimestamp,
146
1341
  encode: (value) => new Date(value)
147
1342
  };
148
1343
  function mapContributionMaterializationRow(row, decode) {
@@ -192,7 +1387,7 @@ function contributionSignatureInput(dialect, identity, createDdl) {
192
1387
  tableName: identity.tableName,
193
1388
  createDdl
194
1389
  };
195
- return JSON.stringify(hashable, chunkZBFZGLZE_cjs.sortedReplacer);
1390
+ return JSON.stringify(hashable, chunkNLX5OWK7_cjs.sortedReplacer);
196
1391
  }
197
1392
  function evaluateContributionState(row, signature) {
198
1393
  if (row === void 0) return "missing";
@@ -251,7 +1446,7 @@ function identityOf(graphId, contribution) {
251
1446
  }
252
1447
  function missingTableErrorNames(error, tableName) {
253
1448
  const quotedTableName2 = `"${tableName.replaceAll('"', '""')}"`;
254
- for (const link of chunkZBFZGLZE_cjs.errorChain(error)) {
1449
+ for (const link of chunkNLX5OWK7_cjs.errorChain(error)) {
255
1450
  const message = errorMessage(link);
256
1451
  if (typeof message !== "string") continue;
257
1452
  const sqliteMatch = /\bno such table:\s*([^\s;:]+)/i.exec(message);
@@ -356,13 +1551,13 @@ function gateFulltextMethods(source, assert, refuseUnavailable) {
356
1551
  return gated;
357
1552
  }
358
1553
  function gateFulltext(tx, assert, refuseUnavailable) {
359
- return chunkZBFZGLZE_cjs.deriveBackend(
1554
+ return chunkNLX5OWK7_cjs.deriveBackend(
360
1555
  tx,
361
1556
  gateFulltextMethods(tx, assert, refuseUnavailable)
362
1557
  );
363
1558
  }
364
1559
  function contributionRebuildSupported(fulltextStrategy, fulltextTableName, transactional) {
365
- return transactional && chunkTP4NJTI3_cjs.runtimeStrategyContributions(fulltextStrategy, fulltextTableName).every(
1560
+ return transactional && runtimeStrategyContributions(fulltextStrategy, fulltextTableName).every(
366
1561
  (contribution) => contribution.dropDdl !== void 0
367
1562
  );
368
1563
  }
@@ -387,7 +1582,7 @@ function createContributionMaterializer(deps) {
387
1582
  const cachedCreateDdl = cached?.createDdl;
388
1583
  const cachedSignature = cached?.signature;
389
1584
  if (cachedCreateDdl?.length === contribution.createDdl.length && cachedSignature !== void 0 && contribution.createDdl.every(
390
- (statement, index) => cachedCreateDdl[index] === statement
1585
+ (statement, index3) => cachedCreateDdl[index3] === statement
391
1586
  )) {
392
1587
  return cachedSignature;
393
1588
  }
@@ -411,7 +1606,7 @@ function createContributionMaterializer(deps) {
411
1606
  }
412
1607
  }
413
1608
  function runtimeContributions() {
414
- return chunkTP4NJTI3_cjs.runtimeStrategyContributions(fulltextStrategy, fulltextTableName);
1609
+ return runtimeStrategyContributions(fulltextStrategy, fulltextTableName);
415
1610
  }
416
1611
  function cacheInitializedSignature(key, signature) {
417
1612
  if (!uncacheableKeys.has(key)) {
@@ -438,13 +1633,13 @@ function createContributionMaterializer(deps) {
438
1633
  await deps.recordMarker({
439
1634
  ...identity,
440
1635
  signature: existing.signature,
441
- attemptedAt: chunkEH3JZJUM_cjs.nowIso(),
1636
+ attemptedAt: chunk36SX6QXP_cjs.nowIso(),
442
1637
  materializedAt: void 0,
443
1638
  error: error.message
444
1639
  });
445
1640
  throw error;
446
1641
  }
447
- const attemptedAt = chunkEH3JZJUM_cjs.nowIso();
1642
+ const attemptedAt = chunk36SX6QXP_cjs.nowIso();
448
1643
  try {
449
1644
  for (const statement of contribution.createDdl) {
450
1645
  await deps.execDdl(statement);
@@ -480,7 +1675,7 @@ function createContributionMaterializer(deps) {
480
1675
  rows: indexMarkerRows(graphId, await deps.getMarkers(graphId))
481
1676
  };
482
1677
  } catch (error) {
483
- if (!chunkZBFZGLZE_cjs.isMissingTableError(error)) throw error;
1678
+ if (!chunkNLX5OWK7_cjs.isMissingTableError(error)) throw error;
484
1679
  return { kind: "missing-table", error };
485
1680
  }
486
1681
  }
@@ -583,7 +1778,7 @@ function createContributionMaterializer(deps) {
583
1778
  }
584
1779
  async function refuseUnavailableFulltext(graphId, error) {
585
1780
  await Promise.resolve();
586
- if (!chunkZBFZGLZE_cjs.isMissingTableError(error)) throw error;
1781
+ if (!chunkNLX5OWK7_cjs.isMissingTableError(error)) throw error;
587
1782
  const missingContribution = runtimeContributions().find(
588
1783
  (contribution) => contribution.logicalName === "fulltext" && missingTableErrorNames(error, contribution.tableName)
589
1784
  );
@@ -755,25 +1950,47 @@ function createContributionMaterializer(deps) {
755
1950
  };
756
1951
  }
757
1952
  async function lockContributionDdl(tx) {
758
- if (dialect !== "postgres") return;
759
- await tx.execute(
760
- chunkOJHD3LXJ_cjs.asCompiledRowsSql(
761
- chunkOJHD3LXJ_cjs.sql`SELECT pg_advisory_xact_lock(hashtext(${CONTRIBUTION_DDL_LOCK_KEY}), 0)`
762
- )
763
- );
1953
+ const plan = chunkNUQ2YFFH_cjs.resolveWriteFencePlan(deps.fenceTarget);
1954
+ const fence = chunkNUQ2YFFH_cjs.requireWriteFence(plan, "contribution DDL", "advisory-lock");
1955
+ switch (fence.kind) {
1956
+ case "lock": {
1957
+ await tx.execute(
1958
+ chunkH5IJSROF_cjs.asCompiledRowsSql(
1959
+ chunkH5IJSROF_cjs.sql`SELECT pg_advisory_xact_lock(hashtext(${CONTRIBUTION_DDL_LOCK_KEY}), 0)`
1960
+ )
1961
+ );
1962
+ return;
1963
+ }
1964
+ case "engine-serialized": {
1965
+ return;
1966
+ }
1967
+ }
764
1968
  }
765
1969
  async function lockSharedFulltextTable(tx, tableName) {
766
- if (dialect !== "postgres") return;
767
- await tx.executeStatement(
768
- chunkOJHD3LXJ_cjs.asCompiledStatementSql(
769
- chunkOJHD3LXJ_cjs.sql`LOCK TABLE ${chunkOJHD3LXJ_cjs.sql.identifier(tableName)} IN ACCESS EXCLUSIVE MODE`
770
- )
1970
+ const plan = chunkNUQ2YFFH_cjs.resolveWriteFencePlan(deps.fenceTarget);
1971
+ const fence = chunkNUQ2YFFH_cjs.requireWriteFence(
1972
+ plan,
1973
+ "shared fulltext table lock",
1974
+ "table-lock"
771
1975
  );
1976
+ switch (fence.kind) {
1977
+ case "lock": {
1978
+ await tx.executeStatement(
1979
+ chunkH5IJSROF_cjs.asCompiledStatementSql(
1980
+ chunkH5IJSROF_cjs.sql`LOCK TABLE ${chunkH5IJSROF_cjs.sql.identifier(tableName)} IN ACCESS EXCLUSIVE MODE`
1981
+ )
1982
+ );
1983
+ return;
1984
+ }
1985
+ case "engine-serialized": {
1986
+ return;
1987
+ }
1988
+ }
772
1989
  }
773
1990
  async function readForeignGraphIds(tx, tableName, graphId) {
774
1991
  const rows = await tx.execute(
775
- chunkOJHD3LXJ_cjs.asCompiledRowsSql(
776
- chunkTEC24ZDA_cjs.buildForeignFulltextGraphProbe(
1992
+ chunkH5IJSROF_cjs.asCompiledRowsSql(
1993
+ chunkH2VWDQWC_cjs.buildForeignFulltextGraphProbe(
777
1994
  tableName,
778
1995
  graphId,
779
1996
  FOREIGN_GRAPH_REPORT_LIMIT
@@ -876,13 +2093,13 @@ function createContributionMaterializer(deps) {
876
2093
  }
877
2094
  if (!recreateStorage) {
878
2095
  await tx.executeStatement(
879
- chunkOJHD3LXJ_cjs.asCompiledStatementSql(
880
- chunkTEC24ZDA_cjs.buildFulltextGraphDelete(sharedTable, graphId)
2096
+ chunkH5IJSROF_cjs.asCompiledStatementSql(
2097
+ chunkH2VWDQWC_cjs.buildFulltextGraphDelete(sharedTable, graphId)
881
2098
  )
882
2099
  );
883
2100
  }
884
2101
  const stats = await repopulate(tx);
885
- const now = chunkEH3JZJUM_cjs.nowIso();
2102
+ const now = chunk36SX6QXP_cjs.nowIso();
886
2103
  for (const { contribution, signature } of stamps) {
887
2104
  await record({
888
2105
  ...identityOf(graphId, contribution),
@@ -944,7 +2161,7 @@ var SQLITE_INDEX_MAT_TIMESTAMPS = {
944
2161
  encode: (value) => value
945
2162
  };
946
2163
  var POSTGRES_INDEX_MAT_TIMESTAMPS = {
947
- decode: chunkEH3JZJUM_cjs.formatPostgresTimestamp,
2164
+ decode: chunk36SX6QXP_cjs.formatPostgresTimestamp,
948
2165
  encode: (value) => new Date(value)
949
2166
  };
950
2167
  function mapMaterializationRow(row, decode) {
@@ -1002,7 +2219,7 @@ var SQLITE_KIND_REMOVAL_TIMESTAMPS = {
1002
2219
  encode: (value) => value
1003
2220
  };
1004
2221
  var POSTGRES_KIND_REMOVAL_TIMESTAMPS = {
1005
- decode: chunkEH3JZJUM_cjs.formatPostgresTimestamp,
2222
+ decode: chunk36SX6QXP_cjs.formatPostgresTimestamp,
1006
2223
  encode: (value) => new Date(value)
1007
2224
  };
1008
2225
  function mapKindRemovalRow(row, decode) {
@@ -1043,27 +2260,87 @@ function buildKindRemovalOnConflictSet(removedAtColumn, paramsRemovedAt) {
1043
2260
  lastError: drizzleOrm.sql`excluded.${drizzleOrm.sql.identifier("last_error")}`
1044
2261
  };
1045
2262
  }
2263
+ function primaryKeyConstraintNames(relation, keyColumns) {
2264
+ return [`${relation}_pkey`, `${relation}_${keyColumns.join("_")}_pk`];
2265
+ }
2266
+ function nodePrimaryKeyConstraint(nodes3) {
2267
+ const relation = drizzleOrm.getTableName(nodes3);
2268
+ return {
2269
+ table: relation,
2270
+ constraintNames: primaryKeyConstraintNames(relation, [
2271
+ nodes3.graphId.name,
2272
+ nodes3.kind.name,
2273
+ nodes3.id.name
2274
+ ])
2275
+ };
2276
+ }
2277
+ function edgePrimaryKeyConstraint(edges3) {
2278
+ const relation = drizzleOrm.getTableName(edges3);
2279
+ return {
2280
+ table: relation,
2281
+ constraintNames: primaryKeyConstraintNames(relation, [
2282
+ edges3.graphId.name,
2283
+ edges3.id.name
2284
+ ])
2285
+ };
2286
+ }
2287
+ function sqlNull(value) {
2288
+ return value ?? drizzleOrm.sql.raw("NULL");
2289
+ }
2290
+ function expectedValidFromPredicate(column, expected) {
2291
+ if (expected === void 0) return drizzleOrm.sql.empty();
2292
+ if (expected === null) return drizzleOrm.sql` AND ${column} IS NULL`;
2293
+ return drizzleOrm.sql` AND ${column} = ${expected}`;
2294
+ }
2295
+ function quotedColumn(column) {
2296
+ return drizzleOrm.sql.raw(`"${column.name.replaceAll('"', '""')}"`);
2297
+ }
2298
+ function quotedTableName(tableName) {
2299
+ return drizzleOrm.sql.raw(`"${tableName.replaceAll('"', '""')}"`);
2300
+ }
2301
+ var CODE_POINT_ORDER_BUILDERS = {
2302
+ postgres: (value) => drizzleOrm.sql`${value} COLLATE "C"`,
2303
+ sqlite: (value) => value
2304
+ };
2305
+ function codePointOrderKey(column, dialect) {
2306
+ return CODE_POINT_ORDER_BUILDERS[dialect](column);
2307
+ }
2308
+ function liveNodeIdsSubquery(nodes3, graphId, nodeKind, nowIso2) {
2309
+ return drizzleOrm.sql`SELECT ${nodes3.id} AS node_id FROM ${nodes3} WHERE ${nodes3.graphId} = ${graphId} AND ${nodes3.kind} = ${nodeKind} AND ${nodes3.deletedAt} IS NULL AND (${nodes3.validFrom} IS NULL OR ${nodes3.validFrom} <= ${nowIso2}) AND (${nodes3.validTo} IS NULL OR ${nodes3.validTo} > ${nowIso2})`;
2310
+ }
2311
+ function nodeColumnList(nodes3) {
2312
+ return drizzleOrm.sql.raw(
2313
+ `"${nodes3.graphId.name}", "${nodes3.kind.name}", "${nodes3.id.name}", "${nodes3.props.name}", "${nodes3.version.name}", "${nodes3.validFrom.name}", "${nodes3.validTo.name}", "${nodes3.createdAt.name}", "${nodes3.updatedAt.name}"`
2314
+ );
2315
+ }
2316
+ function edgeColumnList(edges3) {
2317
+ return drizzleOrm.sql.raw(
2318
+ `"${edges3.graphId.name}", "${edges3.id.name}", "${edges3.kind.name}", "${edges3.fromKind.name}", "${edges3.fromId.name}", "${edges3.toKind.name}", "${edges3.toId.name}", "${edges3.props.name}", "${edges3.validFrom.name}", "${edges3.validTo.name}", "${edges3.createdAt.name}", "${edges3.updatedAt.name}"`
2319
+ );
2320
+ }
2321
+
2322
+ // src/backend/drizzle/operations/hybrid.ts
1046
2323
  function nodeIdOrderKey(dialect) {
1047
- return chunkEH3JZJUM_cjs.codePointOrderKey(drizzleOrm.sql.raw("node_id"), dialect);
2324
+ return codePointOrderKey(drizzleOrm.sql.raw("node_id"), dialect);
1048
2325
  }
1049
2326
  function hybridCandidatesRef() {
1050
2327
  return drizzleOrm.sql`SELECT node_id FROM tg_hybrid_cand`;
1051
2328
  }
1052
2329
  function buildHybridSearchStatement(input) {
1053
- const { nodes } = input;
2330
+ const { nodes: nodes3 } = input;
1054
2331
  const nodeIdOrder = nodeIdOrderKey(input.dialect);
1055
2332
  const vectorOrder = input.vectorScoreDescending ? drizzleOrm.sql`score DESC, ${nodeIdOrder} ASC` : drizzleOrm.sql`score ASC, ${nodeIdOrder} ASC`;
1056
2333
  const columnPairs = [
1057
- [nodes.graphId, "graph_id"],
1058
- [nodes.kind, "kind"],
1059
- [nodes.id, "id"],
1060
- [nodes.props, "props"],
1061
- [nodes.version, "version"],
1062
- [nodes.validFrom, "valid_from"],
1063
- [nodes.validTo, "valid_to"],
1064
- [nodes.createdAt, "created_at"],
1065
- [nodes.updatedAt, "updated_at"],
1066
- [nodes.deletedAt, "deleted_at"]
2334
+ [nodes3.graphId, "graph_id"],
2335
+ [nodes3.kind, "kind"],
2336
+ [nodes3.id, "id"],
2337
+ [nodes3.props, "props"],
2338
+ [nodes3.version, "version"],
2339
+ [nodes3.validFrom, "valid_from"],
2340
+ [nodes3.validTo, "valid_to"],
2341
+ [nodes3.createdAt, "created_at"],
2342
+ [nodes3.updatedAt, "updated_at"],
2343
+ [nodes3.deletedAt, "deleted_at"]
1067
2344
  ];
1068
2345
  const nodeColumns = drizzleOrm.sql.raw(
1069
2346
  columnPairs.map(
@@ -1116,17 +2393,17 @@ function buildHybridSearchStatement(input) {
1116
2393
  tg_hybrid_fused.snippet AS snippet,
1117
2394
  ${nodeColumns}
1118
2395
  FROM tg_hybrid_fused
1119
- JOIN ${nodes} AS tg_hybrid_node
1120
- ON ${qualified(nodes, "graphId")} = ${input.graphId}
1121
- AND ${qualified(nodes, "kind")} = ${input.nodeKind}
1122
- AND ${qualified(nodes, "id")} = tg_hybrid_fused.node_id
1123
- AND ${qualified(nodes, "deletedAt")} IS NULL
2396
+ JOIN ${nodes3} AS tg_hybrid_node
2397
+ ON ${qualified(nodes3, "graphId")} = ${input.graphId}
2398
+ AND ${qualified(nodes3, "kind")} = ${input.nodeKind}
2399
+ AND ${qualified(nodes3, "id")} = tg_hybrid_fused.node_id
2400
+ AND ${qualified(nodes3, "deletedAt")} IS NULL
1124
2401
  ORDER BY fused_score DESC, ${nodeIdOrder} ASC
1125
2402
  LIMIT ${input.limit} OFFSET ${input.offset}
1126
2403
  `;
1127
2404
  }
1128
- function qualified(nodes, member) {
1129
- return drizzleOrm.sql`tg_hybrid_node.${chunkEH3JZJUM_cjs.quotedColumn(nodes[member])}`;
2405
+ function qualified(nodes3, member) {
2406
+ return drizzleOrm.sql`tg_hybrid_node.${quotedColumn(nodes3[member])}`;
1130
2407
  }
1131
2408
  function present(value) {
1132
2409
  return value !== null && value !== void 0;
@@ -1134,61 +2411,61 @@ function present(value) {
1134
2411
  function mapHybridSearchRow(row, toNodeRow) {
1135
2412
  return {
1136
2413
  node: toNodeRow(row),
1137
- fusedScore: chunkEH3JZJUM_cjs.coerceNumericScore(row["fused_score"]),
2414
+ fusedScore: chunk36SX6QXP_cjs.coerceNumericScore(row["fused_score"]),
1138
2415
  ...present(row["vector_rank"]) ? { vectorRank: Number(row["vector_rank"]) } : {},
1139
- ...present(row["vector_score"]) ? { vectorScore: chunkEH3JZJUM_cjs.coerceNumericScore(row["vector_score"]) } : {},
2416
+ ...present(row["vector_score"]) ? { vectorScore: chunk36SX6QXP_cjs.coerceNumericScore(row["vector_score"]) } : {},
1140
2417
  ...present(row["fulltext_rank"]) ? { fulltextRank: Number(row["fulltext_rank"]) } : {},
1141
2418
  ...present(row["fulltext_score"]) ? {
1142
- fulltextScore: chunkEH3JZJUM_cjs.coerceNumericScore(
2419
+ fulltextScore: chunk36SX6QXP_cjs.coerceNumericScore(
1143
2420
  row["fulltext_score"]
1144
2421
  )
1145
2422
  } : {},
1146
2423
  ...present(row["snippet"]) ? { snippet: String(row["snippet"]) } : {}
1147
2424
  };
1148
2425
  }
1149
- function buildClearGraph(tables, graphId) {
2426
+ function buildClearGraph(tables3, graphId) {
1150
2427
  return [
1151
2428
  // The fulltext table is shared by every graph in the database, so its
1152
2429
  // graph-scoped delete is owned by one builder the destructive
1153
2430
  // contribution rebuild calls too — see `buildFulltextGraphDelete`.
1154
- { query: chunkTEC24ZDA_cjs.buildFulltextGraphDelete(tables.fulltextTableName, graphId) },
2431
+ { query: chunkH2VWDQWC_cjs.buildFulltextGraphDelete(tables3.fulltextTableName, graphId) },
1155
2432
  {
1156
- query: drizzleOrm.sql`DELETE FROM ${tables.recordedIdentityAssertions} WHERE ${tables.recordedIdentityAssertions.graphId} = ${graphId}`,
2433
+ query: drizzleOrm.sql`DELETE FROM ${tables3.recordedIdentityAssertions} WHERE ${tables3.recordedIdentityAssertions.graphId} = ${graphId}`,
1157
2434
  ignoreMissingTable: true,
1158
- requiredTableName: drizzleOrm.getTableName(tables.recordedIdentityAssertions)
2435
+ requiredTableName: drizzleOrm.getTableName(tables3.recordedIdentityAssertions)
1159
2436
  },
1160
2437
  {
1161
- query: drizzleOrm.sql`DELETE FROM ${tables.recordedEdges} WHERE ${tables.recordedEdges.graphId} = ${graphId}`,
2438
+ query: drizzleOrm.sql`DELETE FROM ${tables3.recordedEdges} WHERE ${tables3.recordedEdges.graphId} = ${graphId}`,
1162
2439
  ignoreMissingTable: true,
1163
- requiredTableName: drizzleOrm.getTableName(tables.recordedEdges)
2440
+ requiredTableName: drizzleOrm.getTableName(tables3.recordedEdges)
1164
2441
  },
1165
2442
  {
1166
- query: drizzleOrm.sql`DELETE FROM ${tables.recordedNodes} WHERE ${tables.recordedNodes.graphId} = ${graphId}`,
2443
+ query: drizzleOrm.sql`DELETE FROM ${tables3.recordedNodes} WHERE ${tables3.recordedNodes.graphId} = ${graphId}`,
1167
2444
  ignoreMissingTable: true,
1168
- requiredTableName: drizzleOrm.getTableName(tables.recordedNodes)
2445
+ requiredTableName: drizzleOrm.getTableName(tables3.recordedNodes)
1169
2446
  },
1170
2447
  {
1171
- query: drizzleOrm.sql`DELETE FROM ${tables.recordedClock} WHERE ${tables.recordedClock.graphId} = ${graphId}`,
2448
+ query: drizzleOrm.sql`DELETE FROM ${tables3.recordedClock} WHERE ${tables3.recordedClock.graphId} = ${graphId}`,
1172
2449
  ignoreMissingTable: true,
1173
- requiredTableName: drizzleOrm.getTableName(tables.recordedClock)
2450
+ requiredTableName: drizzleOrm.getTableName(tables3.recordedClock)
1174
2451
  },
1175
2452
  {
1176
- query: drizzleOrm.sql`DELETE FROM ${tables.identitySeparation} WHERE ${tables.identitySeparation.graphId} = ${graphId}`,
2453
+ query: drizzleOrm.sql`DELETE FROM ${tables3.identitySeparation} WHERE ${tables3.identitySeparation.graphId} = ${graphId}`,
1177
2454
  ignoreMissingTable: true,
1178
- requiredTableName: drizzleOrm.getTableName(tables.identitySeparation)
2455
+ requiredTableName: drizzleOrm.getTableName(tables3.identitySeparation)
1179
2456
  },
1180
2457
  {
1181
- query: drizzleOrm.sql`DELETE FROM ${tables.identityClosure} WHERE ${tables.identityClosure.graphId} = ${graphId}`,
2458
+ query: drizzleOrm.sql`DELETE FROM ${tables3.identityClosure} WHERE ${tables3.identityClosure.graphId} = ${graphId}`,
1182
2459
  ignoreMissingTable: true,
1183
- requiredTableName: drizzleOrm.getTableName(tables.identityClosure)
2460
+ requiredTableName: drizzleOrm.getTableName(tables3.identityClosure)
1184
2461
  },
1185
2462
  {
1186
- query: drizzleOrm.sql`DELETE FROM ${tables.identityAssertions} WHERE ${tables.identityAssertions.graphId} = ${graphId}`,
2463
+ query: drizzleOrm.sql`DELETE FROM ${tables3.identityAssertions} WHERE ${tables3.identityAssertions.graphId} = ${graphId}`,
1187
2464
  ignoreMissingTable: true,
1188
- requiredTableName: drizzleOrm.getTableName(tables.identityAssertions)
2465
+ requiredTableName: drizzleOrm.getTableName(tables3.identityAssertions)
1189
2466
  },
1190
2467
  {
1191
- query: drizzleOrm.sql`DELETE FROM ${tables.uniques} WHERE ${tables.uniques.graphId} = ${graphId}`
2468
+ query: drizzleOrm.sql`DELETE FROM ${tables3.uniques} WHERE ${tables3.uniques.graphId} = ${graphId}`
1192
2469
  },
1193
2470
  // Edge claims name the edges they are held by, so they are cleared
1194
2471
  // BEFORE the edges — the same ordering `uniques` gets against `nodes`.
@@ -1197,27 +2474,27 @@ function buildClearGraph(tables, graphId) {
1197
2474
  // existed has no such table, and clearing a graph must not become the
1198
2475
  // operation that fails on it.
1199
2476
  {
1200
- query: drizzleOrm.sql`DELETE FROM ${tables.edgeClaims} WHERE ${tables.edgeClaims.graphId} = ${graphId}`,
2477
+ query: drizzleOrm.sql`DELETE FROM ${tables3.edgeClaims} WHERE ${tables3.edgeClaims.graphId} = ${graphId}`,
1201
2478
  ignoreMissingTable: true,
1202
- requiredTableName: drizzleOrm.getTableName(tables.edgeClaims)
2479
+ requiredTableName: drizzleOrm.getTableName(tables3.edgeClaims)
1203
2480
  },
1204
2481
  {
1205
- query: drizzleOrm.sql`DELETE FROM ${tables.edges} WHERE ${tables.edges.graphId} = ${graphId}`
2482
+ query: drizzleOrm.sql`DELETE FROM ${tables3.edges} WHERE ${tables3.edges.graphId} = ${graphId}`
1206
2483
  },
1207
2484
  {
1208
- query: drizzleOrm.sql`DELETE FROM ${tables.nodes} WHERE ${tables.nodes.graphId} = ${graphId}`
2485
+ query: drizzleOrm.sql`DELETE FROM ${tables3.nodes} WHERE ${tables3.nodes.graphId} = ${graphId}`
1209
2486
  },
1210
2487
  {
1211
- query: drizzleOrm.sql`DELETE FROM ${tables.indexMaterializations} WHERE ${tables.indexMaterializations.graphId} = ${graphId}`
2488
+ query: drizzleOrm.sql`DELETE FROM ${tables3.indexMaterializations} WHERE ${tables3.indexMaterializations.graphId} = ${graphId}`
1212
2489
  },
1213
2490
  {
1214
- query: drizzleOrm.sql`DELETE FROM ${tables.kindRemovals} WHERE ${tables.kindRemovals.graphId} = ${graphId}`
2491
+ query: drizzleOrm.sql`DELETE FROM ${tables3.kindRemovals} WHERE ${tables3.kindRemovals.graphId} = ${graphId}`
1215
2492
  },
1216
2493
  {
1217
- query: drizzleOrm.sql`DELETE FROM ${tables.reconciliationMarkers} WHERE ${tables.reconciliationMarkers.graphId} = ${graphId}`
2494
+ query: drizzleOrm.sql`DELETE FROM ${tables3.reconciliationMarkers} WHERE ${tables3.reconciliationMarkers.graphId} = ${graphId}`
1218
2495
  },
1219
2496
  {
1220
- query: drizzleOrm.sql`DELETE FROM ${tables.schemaVersions} WHERE ${tables.schemaVersions.graphId} = ${graphId}`
2497
+ query: drizzleOrm.sql`DELETE FROM ${tables3.schemaVersions} WHERE ${tables3.schemaVersions.graphId} = ${graphId}`
1221
2498
  }
1222
2499
  ];
1223
2500
  }
@@ -1239,21 +2516,21 @@ function buildTemporalConditions(table, params) {
1239
2516
  }
1240
2517
  return conditions;
1241
2518
  }
1242
- function buildFindNodesByKind(tables, params) {
1243
- const { nodes } = tables;
2519
+ function buildFindNodesByKind(tables3, params) {
2520
+ const { nodes: nodes3 } = tables3;
1244
2521
  const conditions = [
1245
- drizzleOrm.sql`${nodes.graphId} = ${params.graphId}`,
1246
- drizzleOrm.sql`${nodes.kind} = ${params.kind}`,
1247
- ...buildTemporalConditions(nodes, params)
2522
+ drizzleOrm.sql`${nodes3.graphId} = ${params.graphId}`,
2523
+ drizzleOrm.sql`${nodes3.kind} = ${params.kind}`,
2524
+ ...buildTemporalConditions(nodes3, params)
1248
2525
  ];
1249
2526
  if (params.orderBy === "id" && params.after !== void 0) {
1250
- conditions.push(drizzleOrm.sql`${nodes.id} > ${params.after}`);
2527
+ conditions.push(drizzleOrm.sql`${nodes3.id} > ${params.after}`);
1251
2528
  }
1252
2529
  const whereClause = drizzleOrm.sql.join(conditions, drizzleOrm.sql` AND `);
1253
- const orderByClause = params.orderBy === "id" ? drizzleOrm.sql`${nodes.id} ASC` : drizzleOrm.sql`${nodes.createdAt} DESC, ${nodes.id} DESC`;
2530
+ const orderByClause = params.orderBy === "id" ? drizzleOrm.sql`${nodes3.id} ASC` : drizzleOrm.sql`${nodes3.createdAt} DESC, ${nodes3.id} DESC`;
1254
2531
  if (params.limit !== void 0 && params.offset !== void 0) {
1255
2532
  return drizzleOrm.sql`
1256
- SELECT * FROM ${nodes}
2533
+ SELECT * FROM ${nodes3}
1257
2534
  WHERE ${whereClause}
1258
2535
  ORDER BY ${orderByClause}
1259
2536
  LIMIT ${params.limit} OFFSET ${params.offset}
@@ -1261,28 +2538,28 @@ function buildFindNodesByKind(tables, params) {
1261
2538
  }
1262
2539
  if (params.limit !== void 0) {
1263
2540
  return drizzleOrm.sql`
1264
- SELECT * FROM ${nodes}
2541
+ SELECT * FROM ${nodes3}
1265
2542
  WHERE ${whereClause}
1266
2543
  ORDER BY ${orderByClause}
1267
2544
  LIMIT ${params.limit}
1268
2545
  `;
1269
2546
  }
1270
2547
  return drizzleOrm.sql`
1271
- SELECT * FROM ${nodes}
2548
+ SELECT * FROM ${nodes3}
1272
2549
  WHERE ${whereClause}
1273
2550
  ORDER BY ${orderByClause}
1274
2551
  `;
1275
2552
  }
1276
- function buildCountNodesByKind(tables, params) {
1277
- const { nodes } = tables;
2553
+ function buildCountNodesByKind(tables3, params) {
2554
+ const { nodes: nodes3 } = tables3;
1278
2555
  const conditions = [
1279
- drizzleOrm.sql`${nodes.graphId} = ${params.graphId}`,
1280
- drizzleOrm.sql`${nodes.kind} = ${params.kind}`,
1281
- ...buildTemporalConditions(nodes, params)
2556
+ drizzleOrm.sql`${nodes3.graphId} = ${params.graphId}`,
2557
+ drizzleOrm.sql`${nodes3.kind} = ${params.kind}`,
2558
+ ...buildTemporalConditions(nodes3, params)
1282
2559
  ];
1283
2560
  const whereClause = drizzleOrm.sql.join(conditions, drizzleOrm.sql` AND `);
1284
2561
  return drizzleOrm.sql`
1285
- SELECT COUNT(*) as count FROM ${nodes}
2562
+ SELECT COUNT(*) as count FROM ${nodes3}
1286
2563
  WHERE ${whereClause}
1287
2564
  `;
1288
2565
  }
@@ -1292,43 +2569,43 @@ function buildIdSetCondition(column, ids) {
1292
2569
  drizzleOrm.sql`, `
1293
2570
  )})`;
1294
2571
  }
1295
- function buildEdgeOrdering(tables, orderBy) {
1296
- const { edges } = tables;
1297
- return orderBy === "id" ? { qualified: drizzleOrm.sql`${edges.id} ASC`, bare: drizzleOrm.sql.raw(`"id" ASC`) } : {
1298
- qualified: drizzleOrm.sql`${edges.createdAt} DESC, ${edges.id} DESC`,
2572
+ function buildEdgeOrdering(tables3, orderBy) {
2573
+ const { edges: edges3 } = tables3;
2574
+ return orderBy === "id" ? { qualified: drizzleOrm.sql`${edges3.id} ASC`, bare: drizzleOrm.sql.raw(`"id" ASC`) } : {
2575
+ qualified: drizzleOrm.sql`${edges3.createdAt} DESC, ${edges3.id} DESC`,
1299
2576
  bare: drizzleOrm.sql.raw(`"created_at" DESC, "id" DESC`)
1300
2577
  };
1301
2578
  }
1302
- function buildFindEdgesByKind(tables, params) {
1303
- const { edges } = tables;
2579
+ function buildFindEdgesByKind(tables3, params) {
2580
+ const { edges: edges3 } = tables3;
1304
2581
  const conditions = [
1305
- drizzleOrm.sql`${edges.graphId} = ${params.graphId}`,
1306
- drizzleOrm.sql`${edges.kind} = ${params.kind}`,
1307
- ...buildTemporalConditions(edges, params)
2582
+ drizzleOrm.sql`${edges3.graphId} = ${params.graphId}`,
2583
+ drizzleOrm.sql`${edges3.kind} = ${params.kind}`,
2584
+ ...buildTemporalConditions(edges3, params)
1308
2585
  ];
1309
2586
  if (params.fromKind !== void 0) {
1310
- conditions.push(drizzleOrm.sql`${edges.fromKind} = ${params.fromKind}`);
2587
+ conditions.push(drizzleOrm.sql`${edges3.fromKind} = ${params.fromKind}`);
1311
2588
  }
1312
2589
  if (params.fromId !== void 0) {
1313
- conditions.push(drizzleOrm.sql`${edges.fromId} = ${params.fromId}`);
2590
+ conditions.push(drizzleOrm.sql`${edges3.fromId} = ${params.fromId}`);
1314
2591
  }
1315
2592
  if (params.toKind !== void 0) {
1316
- conditions.push(drizzleOrm.sql`${edges.toKind} = ${params.toKind}`);
2593
+ conditions.push(drizzleOrm.sql`${edges3.toKind} = ${params.toKind}`);
1317
2594
  }
1318
2595
  if (params.toId !== void 0) {
1319
- conditions.push(drizzleOrm.sql`${edges.toId} = ${params.toId}`);
2596
+ conditions.push(drizzleOrm.sql`${edges3.toId} = ${params.toId}`);
1320
2597
  }
1321
2598
  if (params.orderBy === "id" && params.after !== void 0) {
1322
- conditions.push(drizzleOrm.sql`${edges.id} > ${params.after}`);
2599
+ conditions.push(drizzleOrm.sql`${edges3.id} > ${params.after}`);
1323
2600
  }
1324
2601
  const whereClause = drizzleOrm.sql.join(conditions, drizzleOrm.sql` AND `);
1325
2602
  const { qualified: orderByClause } = buildEdgeOrdering(
1326
- tables,
2603
+ tables3,
1327
2604
  params.orderBy
1328
2605
  );
1329
2606
  if (params.limit !== void 0 && params.offset !== void 0) {
1330
2607
  return drizzleOrm.sql`
1331
- SELECT * FROM ${edges}
2608
+ SELECT * FROM ${edges3}
1332
2609
  WHERE ${whereClause}
1333
2610
  ORDER BY ${orderByClause}
1334
2611
  LIMIT ${params.limit} OFFSET ${params.offset}
@@ -1336,37 +2613,37 @@ function buildFindEdgesByKind(tables, params) {
1336
2613
  }
1337
2614
  if (params.limit !== void 0) {
1338
2615
  return drizzleOrm.sql`
1339
- SELECT * FROM ${edges}
2616
+ SELECT * FROM ${edges3}
1340
2617
  WHERE ${whereClause}
1341
2618
  ORDER BY ${orderByClause}
1342
2619
  LIMIT ${params.limit}
1343
2620
  `;
1344
2621
  }
1345
2622
  return drizzleOrm.sql`
1346
- SELECT * FROM ${edges}
2623
+ SELECT * FROM ${edges3}
1347
2624
  WHERE ${whereClause}
1348
2625
  ORDER BY ${orderByClause}
1349
2626
  `;
1350
2627
  }
1351
- function buildFindEdgesByEndpointSet(tables, params, endpointIds) {
1352
- const { edges } = tables;
2628
+ function buildFindEdgesByEndpointSet(tables3, params, endpointIds) {
2629
+ const { edges: edges3 } = tables3;
1353
2630
  const fromSide = params.side === "from";
1354
- const kindColumn = fromSide ? edges.fromKind : edges.toKind;
1355
- const idColumn = fromSide ? edges.fromId : edges.toId;
2631
+ const kindColumn = fromSide ? edges3.fromKind : edges3.toKind;
2632
+ const idColumn = fromSide ? edges3.fromId : edges3.toId;
1356
2633
  const whereClause = drizzleOrm.sql.join(
1357
2634
  [
1358
- drizzleOrm.sql`${edges.graphId} = ${params.graphId}`,
1359
- drizzleOrm.sql`${edges.kind} = ${params.kind}`,
1360
- ...buildTemporalConditions(edges, params),
2635
+ drizzleOrm.sql`${edges3.graphId} = ${params.graphId}`,
2636
+ drizzleOrm.sql`${edges3.kind} = ${params.kind}`,
2637
+ ...buildTemporalConditions(edges3, params),
1361
2638
  drizzleOrm.sql`${kindColumn} = ${params.endpointKind}`,
1362
2639
  buildIdSetCondition(idColumn, endpointIds)
1363
2640
  ],
1364
2641
  drizzleOrm.sql` AND `
1365
2642
  );
1366
- const { qualified: orderByClause, bare: derivedOrderByClause } = buildEdgeOrdering(tables, void 0);
2643
+ const { qualified: orderByClause, bare: derivedOrderByClause } = buildEdgeOrdering(tables3, void 0);
1367
2644
  if (params.limitPerEndpoint === void 0) {
1368
2645
  return drizzleOrm.sql`
1369
- SELECT * FROM ${edges}
2646
+ SELECT * FROM ${edges3}
1370
2647
  WHERE ${whereClause}
1371
2648
  ORDER BY ${orderByClause}
1372
2649
  `;
@@ -1375,7 +2652,7 @@ function buildFindEdgesByEndpointSet(tables, params, endpointIds) {
1375
2652
  SELECT *, ROW_NUMBER() OVER (
1376
2653
  PARTITION BY ${idColumn} ORDER BY ${orderByClause}
1377
2654
  ) AS endpoint_rank
1378
- FROM ${edges}
2655
+ FROM ${edges3}
1379
2656
  WHERE ${whereClause}
1380
2657
  `;
1381
2658
  return drizzleOrm.sql`
@@ -1384,11 +2661,11 @@ function buildFindEdgesByEndpointSet(tables, params, endpointIds) {
1384
2661
  ORDER BY ${derivedOrderByClause}
1385
2662
  `;
1386
2663
  }
1387
- function buildFindEdgesByHeterogeneousEndpointSet(tables, params, endpoints, edgeKinds) {
1388
- const { edges } = tables;
2664
+ function buildFindEdgesByHeterogeneousEndpointSet(tables3, params, endpoints, edgeKinds) {
2665
+ const { edges: edges3 } = tables3;
1389
2666
  const fromSide = params.side === "from";
1390
- const kindColumn = fromSide ? edges.fromKind : edges.toKind;
1391
- const idColumn = fromSide ? edges.fromId : edges.toId;
2667
+ const kindColumn = fromSide ? edges3.fromKind : edges3.toKind;
2668
+ const idColumn = fromSide ? edges3.fromId : edges3.toId;
1392
2669
  const requestedKind = drizzleOrm.sql.raw(`requested_endpoints."endpoint_kind"`);
1393
2670
  const requestedId = drizzleOrm.sql.raw(`requested_endpoints."endpoint_id"`);
1394
2671
  const requestedRows = drizzleOrm.sql.join(
@@ -1397,32 +2674,32 @@ function buildFindEdgesByHeterogeneousEndpointSet(tables, params, endpoints, edg
1397
2674
  );
1398
2675
  const whereClause = drizzleOrm.sql.join(
1399
2676
  [
1400
- drizzleOrm.sql`${edges.graphId} = ${params.graphId}`,
1401
- buildIdSetCondition(edges.kind, edgeKinds),
1402
- ...buildTemporalConditions(edges, params)
2677
+ drizzleOrm.sql`${edges3.graphId} = ${params.graphId}`,
2678
+ buildIdSetCondition(edges3.kind, edgeKinds),
2679
+ ...buildTemporalConditions(edges3, params)
1403
2680
  ],
1404
2681
  drizzleOrm.sql` AND `
1405
2682
  );
1406
2683
  const joinClause = drizzleOrm.sql`
1407
- FROM ${edges}
2684
+ FROM ${edges3}
1408
2685
  INNER JOIN requested_endpoints
1409
2686
  ON ${kindColumn} = ${requestedKind}
1410
2687
  AND ${idColumn} = ${requestedId}
1411
2688
  WHERE ${whereClause}
1412
2689
  `;
1413
- const { qualified: orderByClause, bare: derivedOrderByClause } = buildEdgeOrdering(tables, void 0);
2690
+ const { qualified: orderByClause, bare: derivedOrderByClause } = buildEdgeOrdering(tables3, void 0);
1414
2691
  if (params.limitPerEndpoint === void 0) {
1415
2692
  return drizzleOrm.sql`
1416
2693
  WITH requested_endpoints(endpoint_kind, endpoint_id) AS (
1417
2694
  VALUES ${requestedRows}
1418
2695
  )
1419
- SELECT ${edges}.*
2696
+ SELECT ${edges3}.*
1420
2697
  ${joinClause}
1421
2698
  ORDER BY ${orderByClause}
1422
2699
  `;
1423
2700
  }
1424
2701
  const ranked = drizzleOrm.sql`
1425
- SELECT ${edges}.*, ROW_NUMBER() OVER (
2702
+ SELECT ${edges3}.*, ROW_NUMBER() OVER (
1426
2703
  PARTITION BY ${kindColumn}, ${idColumn} ORDER BY ${orderByClause}
1427
2704
  ) AS endpoint_rank
1428
2705
  ${joinClause}
@@ -1436,28 +2713,28 @@ function buildFindEdgesByHeterogeneousEndpointSet(tables, params, endpoints, edg
1436
2713
  ORDER BY ${derivedOrderByClause}
1437
2714
  `;
1438
2715
  }
1439
- function buildCountEdgesByKind(tables, params) {
1440
- const { edges } = tables;
2716
+ function buildCountEdgesByKind(tables3, params) {
2717
+ const { edges: edges3 } = tables3;
1441
2718
  const conditions = [
1442
- drizzleOrm.sql`${edges.graphId} = ${params.graphId}`,
1443
- drizzleOrm.sql`${edges.kind} = ${params.kind}`,
1444
- ...buildTemporalConditions(edges, params)
2719
+ drizzleOrm.sql`${edges3.graphId} = ${params.graphId}`,
2720
+ drizzleOrm.sql`${edges3.kind} = ${params.kind}`,
2721
+ ...buildTemporalConditions(edges3, params)
1445
2722
  ];
1446
2723
  if (params.fromKind !== void 0) {
1447
- conditions.push(drizzleOrm.sql`${edges.fromKind} = ${params.fromKind}`);
2724
+ conditions.push(drizzleOrm.sql`${edges3.fromKind} = ${params.fromKind}`);
1448
2725
  }
1449
2726
  if (params.fromId !== void 0) {
1450
- conditions.push(drizzleOrm.sql`${edges.fromId} = ${params.fromId}`);
2727
+ conditions.push(drizzleOrm.sql`${edges3.fromId} = ${params.fromId}`);
1451
2728
  }
1452
2729
  if (params.toKind !== void 0) {
1453
- conditions.push(drizzleOrm.sql`${edges.toKind} = ${params.toKind}`);
2730
+ conditions.push(drizzleOrm.sql`${edges3.toKind} = ${params.toKind}`);
1454
2731
  }
1455
2732
  if (params.toId !== void 0) {
1456
- conditions.push(drizzleOrm.sql`${edges.toId} = ${params.toId}`);
2733
+ conditions.push(drizzleOrm.sql`${edges3.toId} = ${params.toId}`);
1457
2734
  }
1458
2735
  const whereClause = drizzleOrm.sql.join(conditions, drizzleOrm.sql` AND `);
1459
2736
  return drizzleOrm.sql`
1460
- SELECT COUNT(*) as count FROM ${edges}
2737
+ SELECT COUNT(*) as count FROM ${edges3}
1461
2738
  WHERE ${whereClause}
1462
2739
  `;
1463
2740
  }
@@ -1471,313 +2748,382 @@ function inList(values) {
1471
2748
  drizzleOrm.sql`, `
1472
2749
  );
1473
2750
  }
1474
- function buildContendedUniqueRowAudit(tables, graphId, constraintNames) {
1475
- const { uniques } = tables;
1476
- const relation = drizzleOrm.getTableName(uniques);
2751
+ function buildContendedUniqueRowAudit(tables3, graphId, constraintNames) {
2752
+ const { uniques: uniques3 } = tables3;
2753
+ const relation = drizzleOrm.getTableName(uniques3);
1477
2754
  return drizzleOrm.sql`
1478
2755
  SELECT
1479
- ${chunkEH3JZJUM_cjs.quotedColumn(uniques.nodeKind)} as node_kind,
1480
- ${chunkEH3JZJUM_cjs.quotedColumn(uniques.constraintName)} as constraint_name,
1481
- ${chunkEH3JZJUM_cjs.quotedColumn(uniques.key)} as key,
1482
- ${chunkEH3JZJUM_cjs.quotedColumn(uniques.concreteKind)} as concrete_kind,
1483
- ${chunkEH3JZJUM_cjs.quotedColumn(uniques.nodeId)} as node_id
1484
- FROM ${uniques}
1485
- WHERE ${qualified2(relation, uniques.graphId)} = ${graphId}
1486
- AND ${qualified2(relation, uniques.constraintName)} IN (${inList(constraintNames)})
1487
- AND ${qualified2(relation, uniques.deletedAt)} IS NULL
2756
+ ${quotedColumn(uniques3.nodeKind)} as node_kind,
2757
+ ${quotedColumn(uniques3.constraintName)} as constraint_name,
2758
+ ${quotedColumn(uniques3.key)} as key,
2759
+ ${quotedColumn(uniques3.concreteKind)} as concrete_kind,
2760
+ ${quotedColumn(uniques3.nodeId)} as node_id
2761
+ FROM ${uniques3}
2762
+ WHERE ${qualified2(relation, uniques3.graphId)} = ${graphId}
2763
+ AND ${qualified2(relation, uniques3.constraintName)} IN (${inList(constraintNames)})
2764
+ AND ${qualified2(relation, uniques3.deletedAt)} IS NULL
1488
2765
  AND EXISTS (
1489
- SELECT 1 FROM ${uniques} AS ${drizzleOrm.sql.raw(`"${PEER}"`)}
1490
- WHERE ${qualified2(PEER, uniques.graphId)} = ${qualified2(relation, uniques.graphId)}
1491
- AND ${qualified2(PEER, uniques.constraintName)} = ${qualified2(relation, uniques.constraintName)}
1492
- AND ${qualified2(PEER, uniques.key)} = ${qualified2(relation, uniques.key)}
1493
- AND ${qualified2(PEER, uniques.deletedAt)} IS NULL
1494
- AND ${qualified2(PEER, uniques.nodeKind)} <> ${qualified2(relation, uniques.nodeKind)}
2766
+ SELECT 1 FROM ${uniques3} AS ${drizzleOrm.sql.raw(`"${PEER}"`)}
2767
+ WHERE ${qualified2(PEER, uniques3.graphId)} = ${qualified2(relation, uniques3.graphId)}
2768
+ AND ${qualified2(PEER, uniques3.constraintName)} = ${qualified2(relation, uniques3.constraintName)}
2769
+ AND ${qualified2(PEER, uniques3.key)} = ${qualified2(relation, uniques3.key)}
2770
+ AND ${qualified2(PEER, uniques3.deletedAt)} IS NULL
2771
+ AND ${qualified2(PEER, uniques3.nodeKind)} <> ${qualified2(relation, uniques3.nodeKind)}
1495
2772
  )
1496
2773
  `;
1497
2774
  }
1498
- function buildContendedEdgeRowAudit(tables, graphId, cardinality, edgeKinds) {
1499
- const { edges } = tables;
1500
- const relation = drizzleOrm.getTableName(edges);
1501
- const spec = chunk7PRMDZIA_cjs.EDGE_CARDINALITY_SPECS[cardinality];
1502
- const activeOnly = spec.holderLiveness === "liveAndActive" ? drizzleOrm.sql` AND ${qualified2(relation, edges.validTo)} IS NULL` : drizzleOrm.sql.empty();
1503
- const peerActiveOnly = spec.holderLiveness === "liveAndActive" ? drizzleOrm.sql` AND ${qualified2(PEER, edges.validTo)} IS NULL` : drizzleOrm.sql.empty();
2775
+ function buildContendedEdgeRowAudit(tables3, graphId, cardinality, edgeKinds) {
2776
+ const { edges: edges3 } = tables3;
2777
+ const relation = drizzleOrm.getTableName(edges3);
2778
+ const spec = chunkFMMW3KX7_cjs.EDGE_CARDINALITY_SPECS[cardinality];
2779
+ const activeOnly = spec.holderLiveness === "liveAndActive" ? drizzleOrm.sql` AND ${qualified2(relation, edges3.validTo)} IS NULL` : drizzleOrm.sql.empty();
2780
+ const peerActiveOnly = spec.holderLiveness === "liveAndActive" ? drizzleOrm.sql` AND ${qualified2(PEER, edges3.validTo)} IS NULL` : drizzleOrm.sql.empty();
1504
2781
  const peerToEndpoints = spec.keyShape === "fromAndTo" ? drizzleOrm.sql`
1505
- AND ${qualified2(PEER, edges.toKind)} = ${qualified2(relation, edges.toKind)}
1506
- AND ${qualified2(PEER, edges.toId)} = ${qualified2(relation, edges.toId)}
2782
+ AND ${qualified2(PEER, edges3.toKind)} = ${qualified2(relation, edges3.toKind)}
2783
+ AND ${qualified2(PEER, edges3.toId)} = ${qualified2(relation, edges3.toId)}
1507
2784
  ` : drizzleOrm.sql.empty();
1508
2785
  return drizzleOrm.sql`
1509
2786
  SELECT
1510
- ${chunkEH3JZJUM_cjs.quotedColumn(edges.id)} as edge_id,
1511
- ${chunkEH3JZJUM_cjs.quotedColumn(edges.kind)} as edge_kind,
1512
- ${chunkEH3JZJUM_cjs.quotedColumn(edges.fromKind)} as from_kind,
1513
- ${chunkEH3JZJUM_cjs.quotedColumn(edges.fromId)} as from_id,
1514
- ${chunkEH3JZJUM_cjs.quotedColumn(edges.toKind)} as to_kind,
1515
- ${chunkEH3JZJUM_cjs.quotedColumn(edges.toId)} as to_id
1516
- FROM ${edges}
1517
- WHERE ${qualified2(relation, edges.graphId)} = ${graphId}
1518
- AND ${qualified2(relation, edges.kind)} IN (${inList(edgeKinds)})
1519
- AND ${qualified2(relation, edges.deletedAt)} IS NULL${activeOnly}
2787
+ ${quotedColumn(edges3.id)} as edge_id,
2788
+ ${quotedColumn(edges3.kind)} as edge_kind,
2789
+ ${quotedColumn(edges3.fromKind)} as from_kind,
2790
+ ${quotedColumn(edges3.fromId)} as from_id,
2791
+ ${quotedColumn(edges3.toKind)} as to_kind,
2792
+ ${quotedColumn(edges3.toId)} as to_id
2793
+ FROM ${edges3}
2794
+ WHERE ${qualified2(relation, edges3.graphId)} = ${graphId}
2795
+ AND ${qualified2(relation, edges3.kind)} IN (${inList(edgeKinds)})
2796
+ AND ${qualified2(relation, edges3.deletedAt)} IS NULL${activeOnly}
1520
2797
  AND EXISTS (
1521
- SELECT 1 FROM ${edges} AS ${drizzleOrm.sql.raw(`"${PEER}"`)}
1522
- WHERE ${qualified2(PEER, edges.graphId)} = ${qualified2(relation, edges.graphId)}
1523
- AND ${qualified2(PEER, edges.kind)} = ${qualified2(relation, edges.kind)}
1524
- AND ${qualified2(PEER, edges.fromKind)} = ${qualified2(relation, edges.fromKind)}
1525
- AND ${qualified2(PEER, edges.fromId)} = ${qualified2(relation, edges.fromId)}${peerToEndpoints}
1526
- AND ${qualified2(PEER, edges.deletedAt)} IS NULL${peerActiveOnly}
1527
- AND ${qualified2(PEER, edges.id)} <> ${qualified2(relation, edges.id)}
2798
+ SELECT 1 FROM ${edges3} AS ${drizzleOrm.sql.raw(`"${PEER}"`)}
2799
+ WHERE ${qualified2(PEER, edges3.graphId)} = ${qualified2(relation, edges3.graphId)}
2800
+ AND ${qualified2(PEER, edges3.kind)} = ${qualified2(relation, edges3.kind)}
2801
+ AND ${qualified2(PEER, edges3.fromKind)} = ${qualified2(relation, edges3.fromKind)}
2802
+ AND ${qualified2(PEER, edges3.fromId)} = ${qualified2(relation, edges3.fromId)}${peerToEndpoints}
2803
+ AND ${qualified2(PEER, edges3.deletedAt)} IS NULL${peerActiveOnly}
2804
+ AND ${qualified2(PEER, edges3.id)} <> ${qualified2(relation, edges3.id)}
1528
2805
  )
1529
2806
  `;
1530
2807
  }
1531
- function buildDisjointOverlapAudit(tables, graphId, kinds) {
1532
- const { nodes } = tables;
1533
- const relation = drizzleOrm.getTableName(nodes);
2808
+ function buildDisjointOverlapAudit(tables3, graphId, kinds) {
2809
+ const { nodes: nodes3 } = tables3;
2810
+ const relation = drizzleOrm.getTableName(nodes3);
1534
2811
  const liveIdsOfKind = (kind) => drizzleOrm.sql`
1535
- SELECT ${chunkEH3JZJUM_cjs.quotedColumn(nodes.id)} as node_id
1536
- FROM ${nodes}
1537
- WHERE ${qualified2(relation, nodes.graphId)} = ${graphId}
1538
- AND ${qualified2(relation, nodes.kind)} = ${kind}
1539
- AND ${qualified2(relation, nodes.deletedAt)} IS NULL
2812
+ SELECT ${quotedColumn(nodes3.id)} as node_id
2813
+ FROM ${nodes3}
2814
+ WHERE ${qualified2(relation, nodes3.graphId)} = ${graphId}
2815
+ AND ${qualified2(relation, nodes3.kind)} = ${kind}
2816
+ AND ${qualified2(relation, nodes3.deletedAt)} IS NULL
1540
2817
  `;
1541
2818
  return drizzleOrm.sql`${liveIdsOfKind(kinds[0])} INTERSECT ${liveIdsOfKind(kinds[1])}`;
1542
2819
  }
1543
- function buildInsertEdge(tables, params, timestamp) {
1544
- const { edges } = tables;
2820
+ function qualified3(tableName, column) {
2821
+ return drizzleOrm.sql.raw(`"${tableName}"."${column.name}"`);
2822
+ }
2823
+ function buildLockEdgeClaims(tables3, entries, timestamp2) {
2824
+ const { edgeClaims: edgeClaims3 } = tables3;
2825
+ const claimsName = drizzleOrm.getTableName(edgeClaims3);
2826
+ const columns = drizzleOrm.sql.raw(
2827
+ `"${edgeClaims3.graphId.name}", "${edgeClaims3.axis.name}", "${edgeClaims3.key.name}", "${edgeClaims3.edgeId.name}", "${edgeClaims3.updatedAt.name}"`
2828
+ );
2829
+ const conflictColumns = drizzleOrm.sql.raw(
2830
+ `"${edgeClaims3.graphId.name}", "${edgeClaims3.axis.name}", "${edgeClaims3.key.name}"`
2831
+ );
2832
+ const valueRows = drizzleOrm.sql.join(
2833
+ entries.map((entry) => {
2834
+ const target = chunkFMMW3KX7_cjs.edgeCardinalityClaimTarget(entry);
2835
+ return drizzleOrm.sql`(${entry.graphId}, ${target.axis}, ${target.key}, ${entry.edgeId}, ${timestamp2})`;
2836
+ }),
2837
+ drizzleOrm.sql`, `
2838
+ );
2839
+ return drizzleOrm.sql`
2840
+ INSERT INTO ${edgeClaims3} (${columns})
2841
+ VALUES ${valueRows}
2842
+ ON CONFLICT (${conflictColumns})
2843
+ DO UPDATE SET ${quotedColumn(edgeClaims3.updatedAt)} = ${qualified3(claimsName, edgeClaims3.updatedAt)}
2844
+ RETURNING
2845
+ ${quotedColumn(edgeClaims3.axis)} as axis,
2846
+ ${quotedColumn(edgeClaims3.key)} as key,
2847
+ ${quotedColumn(edgeClaims3.edgeId)} as holder_edge_id
2848
+ `;
2849
+ }
2850
+ function buildTakeOverEdgeClaim(tables3, params, timestamp2) {
2851
+ const { edgeClaims: edgeClaims3, edges: edges3 } = tables3;
2852
+ const claimsName = drizzleOrm.getTableName(edgeClaims3);
2853
+ const edgesName = drizzleOrm.getTableName(edges3);
2854
+ const spec = chunkFMMW3KX7_cjs.EDGE_CARDINALITY_SPECS[params.cardinality];
2855
+ const target = chunkFMMW3KX7_cjs.edgeCardinalityClaimTarget(params);
2856
+ const toEndpointTerms = spec.keyShape === "fromAndTo" ? drizzleOrm.sql` AND ${qualified3(edgesName, edges3.toKind)} = ${params.toKind} AND ${qualified3(edgesName, edges3.toId)} = ${params.toId}` : drizzleOrm.sql``;
2857
+ const activeTerm = spec.holderLiveness === "liveAndActive" ? drizzleOrm.sql` AND ${qualified3(edgesName, edges3.validTo)} IS NULL` : drizzleOrm.sql``;
2858
+ return drizzleOrm.sql`
2859
+ UPDATE ${edgeClaims3}
2860
+ SET ${quotedColumn(edgeClaims3.edgeId)} = ${params.edgeId},
2861
+ ${quotedColumn(edgeClaims3.updatedAt)} = ${timestamp2}
2862
+ WHERE ${qualified3(claimsName, edgeClaims3.graphId)} = ${params.graphId}
2863
+ AND ${qualified3(claimsName, edgeClaims3.axis)} = ${target.axis}
2864
+ AND ${qualified3(claimsName, edgeClaims3.key)} = ${target.key}
2865
+ AND ${qualified3(claimsName, edgeClaims3.edgeId)} <> ${params.edgeId}
2866
+ AND NOT EXISTS (
2867
+ SELECT 1 FROM ${edges3}
2868
+ WHERE ${qualified3(edgesName, edges3.graphId)} = ${qualified3(claimsName, edgeClaims3.graphId)}
2869
+ AND ${qualified3(edgesName, edges3.id)} = ${qualified3(claimsName, edgeClaims3.edgeId)}
2870
+ AND ${qualified3(edgesName, edges3.deletedAt)} IS NULL
2871
+ AND ${qualified3(edgesName, edges3.kind)} = ${params.edgeKind}
2872
+ AND ${qualified3(edgesName, edges3.fromKind)} = ${params.fromKind}
2873
+ AND ${qualified3(edgesName, edges3.fromId)} = ${params.fromId}${toEndpointTerms}${activeTerm}
2874
+ )
2875
+ RETURNING ${quotedColumn(edgeClaims3.edgeId)} as holder_edge_id
2876
+ `;
2877
+ }
2878
+ function buildPurgeEdgeClaims(tables3, params) {
2879
+ const { edgeClaims: edgeClaims3 } = tables3;
2880
+ return drizzleOrm.sql`
2881
+ DELETE FROM ${edgeClaims3}
2882
+ WHERE ${edgeClaims3.graphId} = ${params.graphId}
2883
+ AND ${edgeClaims3.edgeId} IN (${drizzleOrm.sql.join(
2884
+ params.edgeIds.map((edgeId) => drizzleOrm.sql`${edgeId}`),
2885
+ drizzleOrm.sql`, `
2886
+ )})
2887
+ `;
2888
+ }
2889
+ function buildInsertEdge(tables3, params, timestamp2) {
2890
+ const { edges: edges3 } = tables3;
1545
2891
  const propsJson = JSON.stringify(params.props);
1546
- const columns = chunkEH3JZJUM_cjs.edgeColumnList(edges);
2892
+ const columns = edgeColumnList(edges3);
1547
2893
  return drizzleOrm.sql`
1548
- INSERT INTO ${edges} (${columns})
2894
+ INSERT INTO ${edges3} (${columns})
1549
2895
  VALUES (
1550
2896
  ${params.graphId}, ${params.id}, ${params.kind},
1551
2897
  ${params.fromKind}, ${params.fromId}, ${params.toKind}, ${params.toId},
1552
- ${propsJson}, ${chunkEH3JZJUM_cjs.sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(params.validFrom, params.validTo, timestamp))}, ${chunkEH3JZJUM_cjs.sqlNull(params.validTo)},
1553
- ${timestamp}, ${timestamp}
2898
+ ${propsJson}, ${sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(params.validFrom, params.validTo, timestamp2))}, ${sqlNull(params.validTo)},
2899
+ ${timestamp2}, ${timestamp2}
1554
2900
  )
1555
2901
  RETURNING *
1556
2902
  `;
1557
2903
  }
1558
- function buildInsertEdgeNoReturn(tables, params, timestamp) {
1559
- const { edges } = tables;
2904
+ function buildInsertEdgeNoReturn(tables3, params, timestamp2) {
2905
+ const { edges: edges3 } = tables3;
1560
2906
  const propsJson = JSON.stringify(params.props);
1561
- const columns = chunkEH3JZJUM_cjs.edgeColumnList(edges);
2907
+ const columns = edgeColumnList(edges3);
1562
2908
  return drizzleOrm.sql`
1563
- INSERT INTO ${edges} (${columns})
2909
+ INSERT INTO ${edges3} (${columns})
1564
2910
  VALUES (
1565
2911
  ${params.graphId}, ${params.id}, ${params.kind},
1566
2912
  ${params.fromKind}, ${params.fromId}, ${params.toKind}, ${params.toId},
1567
- ${propsJson}, ${chunkEH3JZJUM_cjs.sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(params.validFrom, params.validTo, timestamp))}, ${chunkEH3JZJUM_cjs.sqlNull(params.validTo)},
1568
- ${timestamp}, ${timestamp}
2913
+ ${propsJson}, ${sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(params.validFrom, params.validTo, timestamp2))}, ${sqlNull(params.validTo)},
2914
+ ${timestamp2}, ${timestamp2}
1569
2915
  )
1570
2916
  `;
1571
2917
  }
1572
- function buildInsertEdgesBatch(tables, params, timestamp) {
1573
- const { edges } = tables;
1574
- const columns = chunkEH3JZJUM_cjs.edgeColumnList(edges);
2918
+ function buildInsertEdgesBatch(tables3, params, timestamp2) {
2919
+ const { edges: edges3 } = tables3;
2920
+ const columns = edgeColumnList(edges3);
1575
2921
  const values = params.map((edgeParams) => {
1576
2922
  const propsJson = JSON.stringify(edgeParams.props);
1577
- return drizzleOrm.sql`(${edgeParams.graphId}, ${edgeParams.id}, ${edgeParams.kind}, ${edgeParams.fromKind}, ${edgeParams.fromId}, ${edgeParams.toKind}, ${edgeParams.toId}, ${propsJson}, ${chunkEH3JZJUM_cjs.sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(edgeParams.validFrom, edgeParams.validTo, timestamp))}, ${chunkEH3JZJUM_cjs.sqlNull(edgeParams.validTo)}, ${timestamp}, ${timestamp})`;
2923
+ return drizzleOrm.sql`(${edgeParams.graphId}, ${edgeParams.id}, ${edgeParams.kind}, ${edgeParams.fromKind}, ${edgeParams.fromId}, ${edgeParams.toKind}, ${edgeParams.toId}, ${propsJson}, ${sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(edgeParams.validFrom, edgeParams.validTo, timestamp2))}, ${sqlNull(edgeParams.validTo)}, ${timestamp2}, ${timestamp2})`;
1578
2924
  });
1579
2925
  return drizzleOrm.sql`
1580
- INSERT INTO ${edges} (${columns})
2926
+ INSERT INTO ${edges3} (${columns})
1581
2927
  VALUES ${drizzleOrm.sql.join(values, drizzleOrm.sql`, `)}
1582
2928
  `;
1583
2929
  }
1584
- function buildInsertEdgesBatchReturning(tables, params, timestamp) {
1585
- const { edges } = tables;
1586
- const columns = chunkEH3JZJUM_cjs.edgeColumnList(edges);
2930
+ function buildInsertEdgesBatchReturning(tables3, params, timestamp2) {
2931
+ const { edges: edges3 } = tables3;
2932
+ const columns = edgeColumnList(edges3);
1587
2933
  const values = params.map((edgeParams) => {
1588
2934
  const propsJson = JSON.stringify(edgeParams.props);
1589
- return drizzleOrm.sql`(${edgeParams.graphId}, ${edgeParams.id}, ${edgeParams.kind}, ${edgeParams.fromKind}, ${edgeParams.fromId}, ${edgeParams.toKind}, ${edgeParams.toId}, ${propsJson}, ${chunkEH3JZJUM_cjs.sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(edgeParams.validFrom, edgeParams.validTo, timestamp))}, ${chunkEH3JZJUM_cjs.sqlNull(edgeParams.validTo)}, ${timestamp}, ${timestamp})`;
2935
+ return drizzleOrm.sql`(${edgeParams.graphId}, ${edgeParams.id}, ${edgeParams.kind}, ${edgeParams.fromKind}, ${edgeParams.fromId}, ${edgeParams.toKind}, ${edgeParams.toId}, ${propsJson}, ${sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(edgeParams.validFrom, edgeParams.validTo, timestamp2))}, ${sqlNull(edgeParams.validTo)}, ${timestamp2}, ${timestamp2})`;
1590
2936
  });
1591
2937
  return drizzleOrm.sql`
1592
- INSERT INTO ${edges} (${columns})
2938
+ INSERT INTO ${edges3} (${columns})
1593
2939
  VALUES ${drizzleOrm.sql.join(values, drizzleOrm.sql`, `)}
1594
2940
  RETURNING *
1595
2941
  `;
1596
2942
  }
1597
- function buildGetEdge(tables, graphId, id) {
1598
- const { edges } = tables;
2943
+ function buildGetEdge(tables3, graphId, id) {
2944
+ const { edges: edges3 } = tables3;
1599
2945
  return drizzleOrm.sql`
1600
- SELECT * FROM ${edges}
1601
- WHERE ${edges.graphId} = ${graphId}
1602
- AND ${edges.id} = ${id}
2946
+ SELECT * FROM ${edges3}
2947
+ WHERE ${edges3.graphId} = ${graphId}
2948
+ AND ${edges3.id} = ${id}
1603
2949
  `;
1604
2950
  }
1605
- function buildGetEdges(tables, graphId, ids) {
1606
- const { edges } = tables;
2951
+ function buildGetEdges(tables3, graphId, ids) {
2952
+ const { edges: edges3 } = tables3;
1607
2953
  return drizzleOrm.sql`
1608
- SELECT * FROM ${edges}
1609
- WHERE ${edges.graphId} = ${graphId}
1610
- AND ${edges.id} IN (${drizzleOrm.sql.join(
2954
+ SELECT * FROM ${edges3}
2955
+ WHERE ${edges3.graphId} = ${graphId}
2956
+ AND ${edges3.id} IN (${drizzleOrm.sql.join(
1611
2957
  ids.map((id) => drizzleOrm.sql`${id}`),
1612
2958
  drizzleOrm.sql`, `
1613
2959
  )})
1614
2960
  `;
1615
2961
  }
1616
- function expectedIdentityPredicate(tables, expected) {
1617
- const { edges } = tables;
2962
+ function expectedIdentityPredicate(tables3, expected) {
2963
+ const { edges: edges3 } = tables3;
1618
2964
  const parts = [
1619
- expected.kind === void 0 ? void 0 : drizzleOrm.sql` AND ${edges.kind} = ${expected.kind}`,
1620
- expected.fromKind === void 0 ? void 0 : drizzleOrm.sql` AND ${edges.fromKind} = ${expected.fromKind}`,
1621
- expected.fromId === void 0 ? void 0 : drizzleOrm.sql` AND ${edges.fromId} = ${expected.fromId}`,
1622
- expected.toKind === void 0 ? void 0 : drizzleOrm.sql` AND ${edges.toKind} = ${expected.toKind}`,
1623
- expected.toId === void 0 ? void 0 : drizzleOrm.sql` AND ${edges.toId} = ${expected.toId}`
2965
+ expected.kind === void 0 ? void 0 : drizzleOrm.sql` AND ${edges3.kind} = ${expected.kind}`,
2966
+ expected.fromKind === void 0 ? void 0 : drizzleOrm.sql` AND ${edges3.fromKind} = ${expected.fromKind}`,
2967
+ expected.fromId === void 0 ? void 0 : drizzleOrm.sql` AND ${edges3.fromId} = ${expected.fromId}`,
2968
+ expected.toKind === void 0 ? void 0 : drizzleOrm.sql` AND ${edges3.toKind} = ${expected.toKind}`,
2969
+ expected.toId === void 0 ? void 0 : drizzleOrm.sql` AND ${edges3.toId} = ${expected.toId}`
1624
2970
  ].filter((part) => part !== void 0);
1625
2971
  return parts.length === 0 ? drizzleOrm.sql.empty() : drizzleOrm.sql.join(parts, drizzleOrm.sql``);
1626
2972
  }
1627
- function buildUpdateEdge(tables, params, timestamp) {
1628
- const { edges } = tables;
2973
+ function buildUpdateEdge(tables3, params, timestamp2) {
2974
+ const { edges: edges3 } = tables3;
1629
2975
  const propsJson = JSON.stringify(params.props);
1630
2976
  const setParts = [
1631
- drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(edges.props)} = ${propsJson}`,
1632
- drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(edges.updatedAt)} = ${timestamp}`
2977
+ drizzleOrm.sql`${quotedColumn(edges3.props)} = ${propsJson}`,
2978
+ drizzleOrm.sql`${quotedColumn(edges3.updatedAt)} = ${timestamp2}`
1633
2979
  ];
1634
2980
  if (params.clearDeleted && params.validFrom !== void 0) {
1635
2981
  setParts.push(
1636
- drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(edges.validFrom)} = ${chunkEH3JZJUM_cjs.sqlNull(chunkM5MSP3BI_cjs.resolveStatedValidityLowerBound(params.validFrom))}`,
1637
- drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(edges.validTo)} = ${chunkEH3JZJUM_cjs.sqlNull(params.validTo)}`
2982
+ drizzleOrm.sql`${quotedColumn(edges3.validFrom)} = ${sqlNull(chunkM5MSP3BI_cjs.resolveStatedValidityLowerBound(params.validFrom))}`,
2983
+ drizzleOrm.sql`${quotedColumn(edges3.validTo)} = ${sqlNull(params.validTo)}`
1638
2984
  );
1639
2985
  } else if (params.clearValidTo === true) {
1640
- setParts.push(drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(edges.validTo)} = NULL`);
2986
+ setParts.push(drizzleOrm.sql`${quotedColumn(edges3.validTo)} = NULL`);
1641
2987
  } else if (params.validTo !== void 0) {
1642
- setParts.push(drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(edges.validTo)} = ${params.validTo}`);
2988
+ setParts.push(drizzleOrm.sql`${quotedColumn(edges3.validTo)} = ${params.validTo}`);
1643
2989
  }
1644
2990
  if (params.clearDeleted) {
1645
- setParts.push(drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(edges.deletedAt)} = NULL`);
2991
+ setParts.push(drizzleOrm.sql`${quotedColumn(edges3.deletedAt)} = NULL`);
1646
2992
  }
1647
2993
  const setClause = drizzleOrm.sql.join(setParts, drizzleOrm.sql`, `);
1648
- const expectedIdentity = expectedIdentityPredicate(tables, params);
1649
- const expectedValidFrom = chunkEH3JZJUM_cjs.expectedValidFromPredicate(
1650
- edges.validFrom,
2994
+ const expectedIdentity = expectedIdentityPredicate(tables3, params);
2995
+ const expectedValidFrom = expectedValidFromPredicate(
2996
+ edges3.validFrom,
1651
2997
  params.expectedValidFrom
1652
2998
  );
1653
- const expectedValidTo = chunkEH3JZJUM_cjs.expectedValidFromPredicate(
1654
- edges.validTo,
2999
+ const expectedValidTo = expectedValidFromPredicate(
3000
+ edges3.validTo,
1655
3001
  params.expectedValidTo
1656
3002
  );
1657
3003
  if (params.clearDeleted) {
1658
3004
  return drizzleOrm.sql`
1659
- UPDATE ${edges}
3005
+ UPDATE ${edges3}
1660
3006
  SET ${setClause}
1661
- WHERE ${edges.graphId} = ${params.graphId}
1662
- AND ${edges.id} = ${params.id}${expectedIdentity}${expectedValidFrom}${expectedValidTo}
3007
+ WHERE ${edges3.graphId} = ${params.graphId}
3008
+ AND ${edges3.id} = ${params.id}${expectedIdentity}${expectedValidFrom}${expectedValidTo}
1663
3009
  RETURNING *
1664
3010
  `;
1665
3011
  }
1666
3012
  return drizzleOrm.sql`
1667
- UPDATE ${edges}
3013
+ UPDATE ${edges3}
1668
3014
  SET ${setClause}
1669
- WHERE ${edges.graphId} = ${params.graphId}
1670
- AND ${edges.id} = ${params.id}${expectedIdentity}${expectedValidFrom}${expectedValidTo}
1671
- AND ${edges.deletedAt} IS NULL
3015
+ WHERE ${edges3.graphId} = ${params.graphId}
3016
+ AND ${edges3.id} = ${params.id}${expectedIdentity}${expectedValidFrom}${expectedValidTo}
3017
+ AND ${edges3.deletedAt} IS NULL
1672
3018
  RETURNING *
1673
3019
  `;
1674
3020
  }
1675
- function buildDeleteEdge(tables, params, timestamp) {
1676
- const { edges } = tables;
3021
+ function buildDeleteEdge(tables3, params, timestamp2) {
3022
+ const { edges: edges3 } = tables3;
1677
3023
  return drizzleOrm.sql`
1678
- UPDATE ${edges}
1679
- SET ${chunkEH3JZJUM_cjs.quotedColumn(edges.deletedAt)} = ${timestamp}
1680
- WHERE ${edges.graphId} = ${params.graphId}
1681
- AND ${edges.id} = ${params.id}${expectedIdentityPredicate(tables, params.kind === void 0 ? {} : { kind: params.kind })}
1682
- AND ${edges.deletedAt} IS NULL
3024
+ UPDATE ${edges3}
3025
+ SET ${quotedColumn(edges3.deletedAt)} = ${timestamp2}
3026
+ WHERE ${edges3.graphId} = ${params.graphId}
3027
+ AND ${edges3.id} = ${params.id}${expectedIdentityPredicate(tables3, params.kind === void 0 ? {} : { kind: params.kind })}
3028
+ AND ${edges3.deletedAt} IS NULL
1683
3029
  `;
1684
3030
  }
1685
- function buildDeleteEdgesBatch(tables, params, timestamp) {
1686
- const { edges } = tables;
3031
+ function buildDeleteEdgesBatch(tables3, params, timestamp2) {
3032
+ const { edges: edges3 } = tables3;
1687
3033
  return drizzleOrm.sql`
1688
- UPDATE ${edges}
1689
- SET ${chunkEH3JZJUM_cjs.quotedColumn(edges.deletedAt)} = ${timestamp}
1690
- WHERE ${edges.graphId} = ${params.graphId}
1691
- AND ${edges.id} IN (${drizzleOrm.sql.join(
3034
+ UPDATE ${edges3}
3035
+ SET ${quotedColumn(edges3.deletedAt)} = ${timestamp2}
3036
+ WHERE ${edges3.graphId} = ${params.graphId}
3037
+ AND ${edges3.id} IN (${drizzleOrm.sql.join(
1692
3038
  params.ids.map((id) => drizzleOrm.sql`${id}`),
1693
3039
  drizzleOrm.sql`, `
1694
3040
  )})
1695
- AND ${edges.deletedAt} IS NULL
3041
+ AND ${edges3.deletedAt} IS NULL
1696
3042
  `;
1697
3043
  }
1698
- function buildHardDeleteEdgesBatch(tables, params) {
1699
- const { edges } = tables;
3044
+ function buildHardDeleteEdgesBatch(tables3, params) {
3045
+ const { edges: edges3 } = tables3;
1700
3046
  return drizzleOrm.sql`
1701
- DELETE FROM ${edges}
1702
- WHERE ${edges.graphId} = ${params.graphId}
1703
- AND ${edges.id} IN (${drizzleOrm.sql.join(
3047
+ DELETE FROM ${edges3}
3048
+ WHERE ${edges3.graphId} = ${params.graphId}
3049
+ AND ${edges3.id} IN (${drizzleOrm.sql.join(
1704
3050
  params.ids.map((id) => drizzleOrm.sql`${id}`),
1705
3051
  drizzleOrm.sql`, `
1706
3052
  )})
1707
3053
  `;
1708
3054
  }
1709
- function buildHardDeleteEdge(tables, params) {
1710
- const { edges } = tables;
3055
+ function buildHardDeleteEdge(tables3, params) {
3056
+ const { edges: edges3 } = tables3;
1711
3057
  return drizzleOrm.sql`
1712
- DELETE FROM ${edges}
1713
- WHERE ${edges.graphId} = ${params.graphId}
1714
- AND ${edges.id} = ${params.id}${expectedIdentityPredicate(tables, params.kind === void 0 ? {} : { kind: params.kind })}
3058
+ DELETE FROM ${edges3}
3059
+ WHERE ${edges3.graphId} = ${params.graphId}
3060
+ AND ${edges3.id} = ${params.id}${expectedIdentityPredicate(tables3, params.kind === void 0 ? {} : { kind: params.kind })}
1715
3061
  `;
1716
3062
  }
1717
- function buildHardDeleteEdgesByNode(tables, graphId, nodeKind, nodeId) {
1718
- const { edges } = tables;
3063
+ function buildHardDeleteEdgesByNode(tables3, graphId, nodeKind, nodeId) {
3064
+ const { edges: edges3 } = tables3;
1719
3065
  return drizzleOrm.sql`
1720
- DELETE FROM ${edges}
1721
- WHERE ${edges.graphId} = ${graphId}
3066
+ DELETE FROM ${edges3}
3067
+ WHERE ${edges3.graphId} = ${graphId}
1722
3068
  AND (
1723
- (${edges.fromKind} = ${nodeKind} AND ${edges.fromId} = ${nodeId})
1724
- OR (${edges.toKind} = ${nodeKind} AND ${edges.toId} = ${nodeId})
3069
+ (${edges3.fromKind} = ${nodeKind} AND ${edges3.fromId} = ${nodeId})
3070
+ OR (${edges3.toKind} = ${nodeKind} AND ${edges3.toId} = ${nodeId})
1725
3071
  )
1726
3072
  `;
1727
3073
  }
1728
- function buildCountEdgesFrom(tables, params) {
1729
- const { edges } = tables;
3074
+ function buildCountEdgesFrom(tables3, params) {
3075
+ const { edges: edges3 } = tables3;
1730
3076
  if (params.activeOnly) {
1731
3077
  return drizzleOrm.sql`
1732
- SELECT COUNT(*) as count FROM ${edges}
1733
- WHERE ${edges.graphId} = ${params.graphId}
1734
- AND ${edges.kind} = ${params.edgeKind}
1735
- AND ${edges.fromKind} = ${params.fromKind}
1736
- AND ${edges.fromId} = ${params.fromId}
1737
- AND ${edges.deletedAt} IS NULL
1738
- AND ${edges.validTo} IS NULL
3078
+ SELECT COUNT(*) as count FROM ${edges3}
3079
+ WHERE ${edges3.graphId} = ${params.graphId}
3080
+ AND ${edges3.kind} = ${params.edgeKind}
3081
+ AND ${edges3.fromKind} = ${params.fromKind}
3082
+ AND ${edges3.fromId} = ${params.fromId}
3083
+ AND ${edges3.deletedAt} IS NULL
3084
+ AND ${edges3.validTo} IS NULL
1739
3085
  `;
1740
3086
  }
1741
3087
  return drizzleOrm.sql`
1742
- SELECT COUNT(*) as count FROM ${edges}
1743
- WHERE ${edges.graphId} = ${params.graphId}
1744
- AND ${edges.kind} = ${params.edgeKind}
1745
- AND ${edges.fromKind} = ${params.fromKind}
1746
- AND ${edges.fromId} = ${params.fromId}
1747
- AND ${edges.deletedAt} IS NULL
3088
+ SELECT COUNT(*) as count FROM ${edges3}
3089
+ WHERE ${edges3.graphId} = ${params.graphId}
3090
+ AND ${edges3.kind} = ${params.edgeKind}
3091
+ AND ${edges3.fromKind} = ${params.fromKind}
3092
+ AND ${edges3.fromId} = ${params.fromId}
3093
+ AND ${edges3.deletedAt} IS NULL
1748
3094
  `;
1749
3095
  }
1750
- function buildEdgeExistsBetween(tables, params) {
1751
- const { edges } = tables;
3096
+ function buildEdgeExistsBetween(tables3, params) {
3097
+ const { edges: edges3 } = tables3;
1752
3098
  return drizzleOrm.sql`
1753
- SELECT 1 FROM ${edges}
1754
- WHERE ${edges.graphId} = ${params.graphId}
1755
- AND ${edges.kind} = ${params.edgeKind}
1756
- AND ${edges.fromKind} = ${params.fromKind}
1757
- AND ${edges.fromId} = ${params.fromId}
1758
- AND ${edges.toKind} = ${params.toKind}
1759
- AND ${edges.toId} = ${params.toId}
1760
- AND ${edges.deletedAt} IS NULL
3099
+ SELECT 1 FROM ${edges3}
3100
+ WHERE ${edges3.graphId} = ${params.graphId}
3101
+ AND ${edges3.kind} = ${params.edgeKind}
3102
+ AND ${edges3.fromKind} = ${params.fromKind}
3103
+ AND ${edges3.fromId} = ${params.fromId}
3104
+ AND ${edges3.toKind} = ${params.toKind}
3105
+ AND ${edges3.toId} = ${params.toId}
3106
+ AND ${edges3.deletedAt} IS NULL
1761
3107
  LIMIT 1
1762
3108
  `;
1763
3109
  }
1764
- function buildFindEdgesConnectedTo(tables, params) {
1765
- const { edges } = tables;
3110
+ function buildFindEdgesConnectedTo(tables3, params) {
3111
+ const { edges: edges3 } = tables3;
1766
3112
  return drizzleOrm.sql`
1767
- SELECT * FROM ${edges}
1768
- WHERE ${edges.graphId} = ${params.graphId}
1769
- AND ${edges.deletedAt} IS NULL
1770
- AND ${edges.fromKind} = ${params.nodeKind}
1771
- AND ${edges.fromId} = ${params.nodeId}
3113
+ SELECT * FROM ${edges3}
3114
+ WHERE ${edges3.graphId} = ${params.graphId}
3115
+ AND ${edges3.deletedAt} IS NULL
3116
+ AND ${edges3.fromKind} = ${params.nodeKind}
3117
+ AND ${edges3.fromId} = ${params.nodeId}
1772
3118
  UNION ALL
1773
- SELECT * FROM ${edges}
1774
- WHERE ${edges.graphId} = ${params.graphId}
1775
- AND ${edges.deletedAt} IS NULL
1776
- AND ${edges.toKind} = ${params.nodeKind}
1777
- AND ${edges.toId} = ${params.nodeId}
3119
+ SELECT * FROM ${edges3}
3120
+ WHERE ${edges3.graphId} = ${params.graphId}
3121
+ AND ${edges3.deletedAt} IS NULL
3122
+ AND ${edges3.toKind} = ${params.nodeKind}
3123
+ AND ${edges3.toId} = ${params.nodeId}
1778
3124
  AND NOT (
1779
- ${edges.fromKind} = ${params.nodeKind}
1780
- AND ${edges.fromId} = ${params.nodeId}
3125
+ ${edges3.fromKind} = ${params.nodeKind}
3126
+ AND ${edges3.fromId} = ${params.nodeId}
1781
3127
  )
1782
3128
  `;
1783
3129
  }
@@ -1787,12 +3133,12 @@ function resolveMode(mode) {
1787
3133
  function buildFulltextSearch(tableName, params, strategy, dialect, candidates) {
1788
3134
  assertValidSearchParams(params);
1789
3135
  const mode = resolveMode(params.mode);
1790
- const table = chunkEH3JZJUM_cjs.quotedTableName(tableName);
1791
- const matchCondition = chunk45YZXI6X_cjs.toDrizzleSql(
3136
+ const table = quotedTableName(tableName);
3137
+ const matchCondition = chunkLLFPQOBA_cjs.toDrizzleSql(
1792
3138
  strategy.matchCondition(tableName, params.query, mode, params.language),
1793
3139
  dialect
1794
3140
  );
1795
- const rankExpression = chunk45YZXI6X_cjs.toDrizzleSql(
3141
+ const rankExpression = chunkLLFPQOBA_cjs.toDrizzleSql(
1796
3142
  strategy.rankExpression(tableName, params.query, mode, params.language),
1797
3143
  dialect
1798
3144
  );
@@ -1805,10 +3151,10 @@ function buildFulltextSearch(tableName, params, strategy, dialect, candidates) {
1805
3151
  conditions.push(drizzleOrm.sql`${rankExpression} >= ${params.minScore}`);
1806
3152
  }
1807
3153
  if (candidates !== void 0) {
1808
- const candidateSql = chunkOJHD3LXJ_cjs.isSqlFragment(candidates) ? chunk45YZXI6X_cjs.toDrizzleSql(candidates, dialect) : candidates;
3154
+ const candidateSql = chunkH5IJSROF_cjs.isSqlFragment(candidates) ? chunkLLFPQOBA_cjs.toDrizzleSql(candidates, dialect) : candidates;
1809
3155
  conditions.push(drizzleOrm.sql`"node_id" IN (${candidateSql})`);
1810
3156
  }
1811
- const snippetExpr = params.includeSnippets === true && strategy.supportsSnippets ? chunk45YZXI6X_cjs.toDrizzleSql(
3157
+ const snippetExpr = params.includeSnippets === true && strategy.supportsSnippets ? chunkLLFPQOBA_cjs.toDrizzleSql(
1812
3158
  strategy.snippetExpression(
1813
3159
  tableName,
1814
3160
  params.query,
@@ -1825,7 +3171,7 @@ function buildFulltextSearch(tableName, params, strategy, dialect, candidates) {
1825
3171
  ${snippetExpr} AS snippet
1826
3172
  FROM ${table}
1827
3173
  WHERE ${drizzleOrm.sql.join(conditions, drizzleOrm.sql` AND `)}
1828
- ORDER BY ${rankExpression} DESC, ${chunkEH3JZJUM_cjs.codePointOrderKey(drizzleOrm.sql.raw('"node_id"'), dialect)} ASC
3174
+ ORDER BY ${rankExpression} DESC, ${codePointOrderKey(drizzleOrm.sql.raw('"node_id"'), dialect)} ASC
1829
3175
  ${pageClause}
1830
3176
  `;
1831
3177
  }
@@ -1839,179 +3185,179 @@ function assertValidSearchParams(params) {
1839
3185
  );
1840
3186
  }
1841
3187
  }
1842
- function buildInsertNode(tables, params, timestamp) {
1843
- const { nodes } = tables;
3188
+ function buildInsertNode(tables3, params, timestamp2) {
3189
+ const { nodes: nodes3 } = tables3;
1844
3190
  const propsJson = JSON.stringify(params.props);
1845
- const columns = chunkEH3JZJUM_cjs.nodeColumnList(nodes);
3191
+ const columns = nodeColumnList(nodes3);
1846
3192
  return drizzleOrm.sql`
1847
- INSERT INTO ${nodes} (${columns})
3193
+ INSERT INTO ${nodes3} (${columns})
1848
3194
  VALUES (
1849
3195
  ${params.graphId}, ${params.kind}, ${params.id}, ${propsJson},
1850
- 1, ${chunkEH3JZJUM_cjs.sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(params.validFrom, params.validTo, timestamp))}, ${chunkEH3JZJUM_cjs.sqlNull(params.validTo)},
1851
- ${timestamp}, ${timestamp}
3196
+ 1, ${sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(params.validFrom, params.validTo, timestamp2))}, ${sqlNull(params.validTo)},
3197
+ ${timestamp2}, ${timestamp2}
1852
3198
  )
1853
3199
  RETURNING *
1854
3200
  `;
1855
3201
  }
1856
- function buildInsertNodeNoReturn(tables, params, timestamp) {
1857
- const { nodes } = tables;
3202
+ function buildInsertNodeNoReturn(tables3, params, timestamp2) {
3203
+ const { nodes: nodes3 } = tables3;
1858
3204
  const propsJson = JSON.stringify(params.props);
1859
- const columns = chunkEH3JZJUM_cjs.nodeColumnList(nodes);
3205
+ const columns = nodeColumnList(nodes3);
1860
3206
  return drizzleOrm.sql`
1861
- INSERT INTO ${nodes} (${columns})
3207
+ INSERT INTO ${nodes3} (${columns})
1862
3208
  VALUES (
1863
3209
  ${params.graphId}, ${params.kind}, ${params.id}, ${propsJson},
1864
- 1, ${chunkEH3JZJUM_cjs.sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(params.validFrom, params.validTo, timestamp))}, ${chunkEH3JZJUM_cjs.sqlNull(params.validTo)},
1865
- ${timestamp}, ${timestamp}
3210
+ 1, ${sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(params.validFrom, params.validTo, timestamp2))}, ${sqlNull(params.validTo)},
3211
+ ${timestamp2}, ${timestamp2}
1866
3212
  )
1867
3213
  `;
1868
3214
  }
1869
- function buildInsertNodesBatch(tables, params, timestamp) {
1870
- const { nodes } = tables;
1871
- const columns = chunkEH3JZJUM_cjs.nodeColumnList(nodes);
3215
+ function buildInsertNodesBatch(tables3, params, timestamp2) {
3216
+ const { nodes: nodes3 } = tables3;
3217
+ const columns = nodeColumnList(nodes3);
1872
3218
  const values = params.map((nodeParams) => {
1873
3219
  const propsJson = JSON.stringify(nodeParams.props);
1874
- return drizzleOrm.sql`(${nodeParams.graphId}, ${nodeParams.kind}, ${nodeParams.id}, ${propsJson}, 1, ${chunkEH3JZJUM_cjs.sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(nodeParams.validFrom, nodeParams.validTo, timestamp))}, ${chunkEH3JZJUM_cjs.sqlNull(nodeParams.validTo)}, ${timestamp}, ${timestamp})`;
3220
+ return drizzleOrm.sql`(${nodeParams.graphId}, ${nodeParams.kind}, ${nodeParams.id}, ${propsJson}, 1, ${sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(nodeParams.validFrom, nodeParams.validTo, timestamp2))}, ${sqlNull(nodeParams.validTo)}, ${timestamp2}, ${timestamp2})`;
1875
3221
  });
1876
3222
  return drizzleOrm.sql`
1877
- INSERT INTO ${nodes} (${columns})
3223
+ INSERT INTO ${nodes3} (${columns})
1878
3224
  VALUES ${drizzleOrm.sql.join(values, drizzleOrm.sql`, `)}
1879
3225
  `;
1880
3226
  }
1881
- function buildInsertNodesBatchReturning(tables, params, timestamp) {
1882
- const { nodes } = tables;
1883
- const columns = chunkEH3JZJUM_cjs.nodeColumnList(nodes);
3227
+ function buildInsertNodesBatchReturning(tables3, params, timestamp2) {
3228
+ const { nodes: nodes3 } = tables3;
3229
+ const columns = nodeColumnList(nodes3);
1884
3230
  const values = params.map((nodeParams) => {
1885
3231
  const propsJson = JSON.stringify(nodeParams.props);
1886
- return drizzleOrm.sql`(${nodeParams.graphId}, ${nodeParams.kind}, ${nodeParams.id}, ${propsJson}, 1, ${chunkEH3JZJUM_cjs.sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(nodeParams.validFrom, nodeParams.validTo, timestamp))}, ${chunkEH3JZJUM_cjs.sqlNull(nodeParams.validTo)}, ${timestamp}, ${timestamp})`;
3232
+ return drizzleOrm.sql`(${nodeParams.graphId}, ${nodeParams.kind}, ${nodeParams.id}, ${propsJson}, 1, ${sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(nodeParams.validFrom, nodeParams.validTo, timestamp2))}, ${sqlNull(nodeParams.validTo)}, ${timestamp2}, ${timestamp2})`;
1887
3233
  });
1888
3234
  return drizzleOrm.sql`
1889
- INSERT INTO ${nodes} (${columns})
3235
+ INSERT INTO ${nodes3} (${columns})
1890
3236
  VALUES ${drizzleOrm.sql.join(values, drizzleOrm.sql`, `)}
1891
3237
  RETURNING *
1892
3238
  `;
1893
3239
  }
1894
- function buildGetNode(tables, graphId, kind, id) {
1895
- const { nodes } = tables;
3240
+ function buildGetNode(tables3, graphId, kind, id) {
3241
+ const { nodes: nodes3 } = tables3;
1896
3242
  return drizzleOrm.sql`
1897
- SELECT * FROM ${nodes}
1898
- WHERE ${nodes.graphId} = ${graphId}
1899
- AND ${nodes.kind} = ${kind}
1900
- AND ${nodes.id} = ${id}
3243
+ SELECT * FROM ${nodes3}
3244
+ WHERE ${nodes3.graphId} = ${graphId}
3245
+ AND ${nodes3.kind} = ${kind}
3246
+ AND ${nodes3.id} = ${id}
1901
3247
  `;
1902
3248
  }
1903
- function buildGetNodes(tables, graphId, kind, ids) {
1904
- const { nodes } = tables;
3249
+ function buildGetNodes(tables3, graphId, kind, ids) {
3250
+ const { nodes: nodes3 } = tables3;
1905
3251
  return drizzleOrm.sql`
1906
- SELECT * FROM ${nodes}
1907
- WHERE ${nodes.graphId} = ${graphId}
1908
- AND ${nodes.kind} = ${kind}
1909
- AND ${nodes.id} IN (${drizzleOrm.sql.join(
3252
+ SELECT * FROM ${nodes3}
3253
+ WHERE ${nodes3.graphId} = ${graphId}
3254
+ AND ${nodes3.kind} = ${kind}
3255
+ AND ${nodes3.id} IN (${drizzleOrm.sql.join(
1910
3256
  ids.map((id) => drizzleOrm.sql`${id}`),
1911
3257
  drizzleOrm.sql`, `
1912
3258
  )})
1913
3259
  `;
1914
3260
  }
1915
- function buildUpdateNode(tables, params, timestamp) {
1916
- const { nodes } = tables;
3261
+ function buildUpdateNode(tables3, params, timestamp2) {
3262
+ const { nodes: nodes3 } = tables3;
1917
3263
  const propsJson = JSON.stringify(params.props);
1918
3264
  const setParts = [
1919
- drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(nodes.props)} = ${propsJson}`,
1920
- drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(nodes.updatedAt)} = ${timestamp}`
3265
+ drizzleOrm.sql`${quotedColumn(nodes3.props)} = ${propsJson}`,
3266
+ drizzleOrm.sql`${quotedColumn(nodes3.updatedAt)} = ${timestamp2}`
1921
3267
  ];
1922
3268
  if (params.incrementVersion) {
1923
3269
  setParts.push(
1924
- drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(nodes.version)} = ${chunkEH3JZJUM_cjs.quotedColumn(nodes.version)} + 1`
3270
+ drizzleOrm.sql`${quotedColumn(nodes3.version)} = ${quotedColumn(nodes3.version)} + 1`
1925
3271
  );
1926
3272
  }
1927
3273
  if (params.clearDeleted) {
1928
3274
  setParts.push(
1929
- drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(nodes.validFrom)} = ${chunkEH3JZJUM_cjs.sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(params.validFrom, params.validTo, timestamp))}`,
1930
- drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(nodes.validTo)} = ${chunkEH3JZJUM_cjs.sqlNull(params.validTo)}`
3275
+ drizzleOrm.sql`${quotedColumn(nodes3.validFrom)} = ${sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(params.validFrom, params.validTo, timestamp2))}`,
3276
+ drizzleOrm.sql`${quotedColumn(nodes3.validTo)} = ${sqlNull(params.validTo)}`
1931
3277
  );
1932
3278
  } else if (params.clearValidTo === true) {
1933
- setParts.push(drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(nodes.validTo)} = NULL`);
3279
+ setParts.push(drizzleOrm.sql`${quotedColumn(nodes3.validTo)} = NULL`);
1934
3280
  } else if (params.validTo !== void 0) {
1935
- setParts.push(drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(nodes.validTo)} = ${params.validTo}`);
3281
+ setParts.push(drizzleOrm.sql`${quotedColumn(nodes3.validTo)} = ${params.validTo}`);
1936
3282
  }
1937
3283
  if (params.clearDeleted) {
1938
- setParts.push(drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(nodes.deletedAt)} = NULL`);
3284
+ setParts.push(drizzleOrm.sql`${quotedColumn(nodes3.deletedAt)} = NULL`);
1939
3285
  }
1940
3286
  const setClause = drizzleOrm.sql.join(setParts, drizzleOrm.sql`, `);
1941
- const expectedValidFrom = chunkEH3JZJUM_cjs.expectedValidFromPredicate(
1942
- nodes.validFrom,
3287
+ const expectedValidFrom = expectedValidFromPredicate(
3288
+ nodes3.validFrom,
1943
3289
  params.expectedValidFrom
1944
3290
  );
1945
3291
  if (params.clearDeleted) {
1946
3292
  return drizzleOrm.sql`
1947
- UPDATE ${nodes}
3293
+ UPDATE ${nodes3}
1948
3294
  SET ${setClause}
1949
- WHERE ${nodes.graphId} = ${params.graphId}
1950
- AND ${nodes.kind} = ${params.kind}
1951
- AND ${nodes.id} = ${params.id}${expectedValidFrom}
1952
- AND ${nodes.deletedAt} IS NOT NULL
3295
+ WHERE ${nodes3.graphId} = ${params.graphId}
3296
+ AND ${nodes3.kind} = ${params.kind}
3297
+ AND ${nodes3.id} = ${params.id}${expectedValidFrom}
3298
+ AND ${nodes3.deletedAt} IS NOT NULL
1953
3299
  RETURNING *
1954
3300
  `;
1955
3301
  }
1956
3302
  return drizzleOrm.sql`
1957
- UPDATE ${nodes}
3303
+ UPDATE ${nodes3}
1958
3304
  SET ${setClause}
1959
- WHERE ${nodes.graphId} = ${params.graphId}
1960
- AND ${nodes.kind} = ${params.kind}
1961
- AND ${nodes.id} = ${params.id}${expectedValidFrom}
1962
- AND ${nodes.deletedAt} IS NULL
3305
+ WHERE ${nodes3.graphId} = ${params.graphId}
3306
+ AND ${nodes3.kind} = ${params.kind}
3307
+ AND ${nodes3.id} = ${params.id}${expectedValidFrom}
3308
+ AND ${nodes3.deletedAt} IS NULL
1963
3309
  RETURNING *
1964
3310
  `;
1965
3311
  }
1966
- function buildUpdateNodeSet(tables, dialect, params, timestamp) {
1967
- const { nodes } = tables;
1968
- const adapter = chunkTEC24ZDA_cjs.getDialect(dialect);
1969
- const patchedProps = chunk45YZXI6X_cjs.toDrizzleSql(
3312
+ function buildUpdateNodeSet(tables3, dialect, params, timestamp2) {
3313
+ const { nodes: nodes3 } = tables3;
3314
+ const adapter = chunkJVA3KDEA_cjs.getDialect(dialect);
3315
+ const patchedProps = chunkLLFPQOBA_cjs.toDrizzleSql(
1970
3316
  adapter.jsonSetProperties(
1971
- chunkOJHD3LXJ_cjs.sql.identifier(nodes.props.name),
3317
+ chunkH5IJSROF_cjs.sql.identifier(nodes3.props.name),
1972
3318
  params.patch,
1973
3319
  params.unsetProperties ?? []
1974
3320
  ),
1975
3321
  dialect
1976
3322
  );
1977
- const candidateIds = chunk45YZXI6X_cjs.toDrizzleSql(params.candidateIds, dialect);
1978
- const candidateIdColumn = chunk45YZXI6X_cjs.toDrizzleSql(
1979
- chunkOJHD3LXJ_cjs.sql.identifier(params.candidateIdColumn),
3323
+ const candidateIds = chunkLLFPQOBA_cjs.toDrizzleSql(params.candidateIds, dialect);
3324
+ const candidateIdColumn = chunkLLFPQOBA_cjs.toDrizzleSql(
3325
+ chunkH5IJSROF_cjs.sql.identifier(params.candidateIdColumn),
1980
3326
  dialect
1981
3327
  );
1982
3328
  return drizzleOrm.sql`
1983
- UPDATE ${nodes}
1984
- SET ${chunkEH3JZJUM_cjs.quotedColumn(nodes.props)} = ${patchedProps},
1985
- ${chunkEH3JZJUM_cjs.quotedColumn(nodes.updatedAt)} = ${timestamp},
1986
- ${chunkEH3JZJUM_cjs.quotedColumn(nodes.version)} = ${chunkEH3JZJUM_cjs.quotedColumn(nodes.version)} + 1
1987
- WHERE ${nodes.graphId} = ${params.graphId}
1988
- AND ${nodes.kind} = ${params.kind}
1989
- AND ${nodes.deletedAt} IS NULL
1990
- AND ${nodes.id} IN (
3329
+ UPDATE ${nodes3}
3330
+ SET ${quotedColumn(nodes3.props)} = ${patchedProps},
3331
+ ${quotedColumn(nodes3.updatedAt)} = ${timestamp2},
3332
+ ${quotedColumn(nodes3.version)} = ${quotedColumn(nodes3.version)} + 1
3333
+ WHERE ${nodes3.graphId} = ${params.graphId}
3334
+ AND ${nodes3.kind} = ${params.kind}
3335
+ AND ${nodes3.deletedAt} IS NULL
3336
+ AND ${nodes3.id} IN (
1991
3337
  SELECT ${candidateIdColumn}
1992
3338
  FROM (${candidateIds}) AS tg_set_candidates
1993
3339
  )
1994
3340
  RETURNING *
1995
3341
  `;
1996
3342
  }
1997
- function buildDeleteNode(tables, params, timestamp) {
1998
- const { nodes } = tables;
3343
+ function buildDeleteNode(tables3, params, timestamp2) {
3344
+ const { nodes: nodes3 } = tables3;
1999
3345
  return drizzleOrm.sql`
2000
- UPDATE ${nodes}
2001
- SET ${chunkEH3JZJUM_cjs.quotedColumn(nodes.deletedAt)} = ${timestamp}
2002
- WHERE ${nodes.graphId} = ${params.graphId}
2003
- AND ${nodes.kind} = ${params.kind}
2004
- AND ${nodes.id} = ${params.id}
2005
- AND ${nodes.deletedAt} IS NULL
3346
+ UPDATE ${nodes3}
3347
+ SET ${quotedColumn(nodes3.deletedAt)} = ${timestamp2}
3348
+ WHERE ${nodes3.graphId} = ${params.graphId}
3349
+ AND ${nodes3.kind} = ${params.kind}
3350
+ AND ${nodes3.id} = ${params.id}
3351
+ AND ${nodes3.deletedAt} IS NULL
2006
3352
  `;
2007
3353
  }
2008
- function buildHardDeleteNode(tables, params) {
2009
- const { nodes } = tables;
3354
+ function buildHardDeleteNode(tables3, params) {
3355
+ const { nodes: nodes3 } = tables3;
2010
3356
  return drizzleOrm.sql`
2011
- DELETE FROM ${nodes}
2012
- WHERE ${nodes.graphId} = ${params.graphId}
2013
- AND ${nodes.kind} = ${params.kind}
2014
- AND ${nodes.id} = ${params.id}
3357
+ DELETE FROM ${nodes3}
3358
+ WHERE ${nodes3.graphId} = ${params.graphId}
3359
+ AND ${nodes3.kind} = ${params.kind}
3360
+ AND ${nodes3.id} = ${params.id}
2015
3361
  `;
2016
3362
  }
2017
3363
  function createSchemaDialectStrategy(dialect) {
@@ -2032,66 +3378,319 @@ var SCHEMA_DIALECT_STRATEGIES = {
2032
3378
  postgres: createSchemaDialectStrategy("postgres"),
2033
3379
  sqlite: createSchemaDialectStrategy("sqlite")
2034
3380
  };
2035
- function buildInsertSchema(tables, params, timestamp, dialect = "sqlite") {
2036
- const { schemaVersions } = tables;
3381
+ function buildInsertSchema(tables3, params, timestamp2, dialect = "sqlite") {
3382
+ const { schemaVersions: schemaVersions3 } = tables3;
2037
3383
  const strategy = SCHEMA_DIALECT_STRATEGIES[dialect];
2038
3384
  const schemaDocumentJson = JSON.stringify(params.schemaDoc);
2039
3385
  const isActiveValue = strategy.booleanLiteral(params.isActive);
2040
3386
  const columns = drizzleOrm.sql.raw(
2041
- `"${schemaVersions.graphId.name}", "${schemaVersions.version.name}", "${schemaVersions.schemaHash.name}", "${schemaVersions.schemaDoc.name}", "${schemaVersions.createdAt.name}", "${schemaVersions.isActive.name}"`
3387
+ `"${schemaVersions3.graphId.name}", "${schemaVersions3.version.name}", "${schemaVersions3.schemaHash.name}", "${schemaVersions3.schemaDoc.name}", "${schemaVersions3.createdAt.name}", "${schemaVersions3.isActive.name}"`
2042
3388
  );
2043
3389
  return drizzleOrm.sql`
2044
- INSERT INTO ${schemaVersions} (${columns})
3390
+ INSERT INTO ${schemaVersions3} (${columns})
2045
3391
  VALUES (
2046
3392
  ${params.graphId}, ${params.version},
2047
3393
  ${params.schemaHash}, ${schemaDocumentJson},
2048
- ${timestamp}, ${isActiveValue}
3394
+ ${timestamp2}, ${isActiveValue}
2049
3395
  )
2050
3396
  RETURNING *
2051
3397
  `;
2052
3398
  }
2053
- function buildGetActiveSchema(tables, graphId, dialect = "sqlite") {
2054
- const { schemaVersions } = tables;
3399
+ function buildGetActiveSchema(tables3, graphId, dialect = "sqlite") {
3400
+ const { schemaVersions: schemaVersions3 } = tables3;
2055
3401
  const strategy = SCHEMA_DIALECT_STRATEGIES[dialect];
2056
3402
  return drizzleOrm.sql`
2057
- SELECT * FROM ${schemaVersions}
2058
- WHERE ${schemaVersions.graphId} = ${graphId}
2059
- AND ${schemaVersions.isActive} = ${strategy.booleanLiteral(true)}
3403
+ SELECT * FROM ${schemaVersions3}
3404
+ WHERE ${schemaVersions3.graphId} = ${graphId}
3405
+ AND ${schemaVersions3.isActive} = ${strategy.booleanLiteral(true)}
2060
3406
  `;
2061
3407
  }
2062
- function buildGetSchemaVersion(tables, graphId, version) {
2063
- const { schemaVersions } = tables;
3408
+ function buildGetSchemaVersion(tables3, graphId, version) {
3409
+ const { schemaVersions: schemaVersions3 } = tables3;
2064
3410
  return drizzleOrm.sql`
2065
- SELECT * FROM ${schemaVersions}
2066
- WHERE ${schemaVersions.graphId} = ${graphId}
2067
- AND ${schemaVersions.version} = ${version}
3411
+ SELECT * FROM ${schemaVersions3}
3412
+ WHERE ${schemaVersions3.graphId} = ${graphId}
3413
+ AND ${schemaVersions3.version} = ${version}
2068
3414
  `;
2069
3415
  }
2070
- function buildSetActiveSchema(tables, graphId, version, dialect = "sqlite") {
2071
- const { schemaVersions } = tables;
3416
+ function buildSetActiveSchema(tables3, graphId, version, dialect = "sqlite") {
3417
+ const { schemaVersions: schemaVersions3 } = tables3;
2072
3418
  const strategy = SCHEMA_DIALECT_STRATEGIES[dialect];
2073
3419
  const deactivateAll = drizzleOrm.sql`
2074
- UPDATE ${schemaVersions}
2075
- SET ${chunkEH3JZJUM_cjs.quotedColumn(schemaVersions.isActive)} = ${strategy.booleanLiteral(false)}
2076
- WHERE ${schemaVersions.graphId} = ${graphId}
3420
+ UPDATE ${schemaVersions3}
3421
+ SET ${quotedColumn(schemaVersions3.isActive)} = ${strategy.booleanLiteral(false)}
3422
+ WHERE ${schemaVersions3.graphId} = ${graphId}
2077
3423
  `;
2078
3424
  const activateVersion = drizzleOrm.sql`
2079
- UPDATE ${schemaVersions}
2080
- SET ${chunkEH3JZJUM_cjs.quotedColumn(schemaVersions.isActive)} = ${strategy.booleanLiteral(true)}
2081
- WHERE ${schemaVersions.graphId} = ${graphId}
2082
- AND ${schemaVersions.version} = ${version}
3425
+ UPDATE ${schemaVersions3}
3426
+ SET ${quotedColumn(schemaVersions3.isActive)} = ${strategy.booleanLiteral(true)}
3427
+ WHERE ${schemaVersions3.graphId} = ${graphId}
3428
+ AND ${schemaVersions3.version} = ${version}
2083
3429
  `;
2084
3430
  return { deactivateAll, activateVersion };
2085
3431
  }
3432
+ function drizzleSqlTag(strings, ...expressions) {
3433
+ return drizzleOrm.sql(strings, ...expressions);
3434
+ }
3435
+ function ownerColumnNames(uniques3) {
3436
+ return {
3437
+ nodeId: uniques3.nodeId.name,
3438
+ concreteKind: uniques3.concreteKind.name
3439
+ };
3440
+ }
3441
+ function boundOwnerColumn(uniques3, params) {
3442
+ return (columnName) => columnName === uniques3.nodeId.name ? drizzleOrm.sql`${params.nodeId}` : drizzleOrm.sql`${params.concreteKind}`;
3443
+ }
3444
+ function excludedColumnByName(columnName) {
3445
+ return drizzleOrm.sql`excluded.${quotedColumn({ name: columnName })}`;
3446
+ }
3447
+ function excludedColumn(column) {
3448
+ return excludedColumnByName(column.name);
3449
+ }
3450
+ function buildInsertUniqueSqlite(tables3, params) {
3451
+ const { uniques: uniques3 } = tables3;
3452
+ const columns = drizzleOrm.sql.raw(
3453
+ `"${uniques3.graphId.name}", "${uniques3.nodeKind.name}", "${uniques3.constraintName.name}", "${uniques3.key.name}", "${uniques3.nodeId.name}", "${uniques3.concreteKind.name}", "${uniques3.deletedAt.name}"`
3454
+ );
3455
+ const conflictColumns = drizzleOrm.sql.raw(
3456
+ `"${uniques3.graphId.name}", "${uniques3.nodeKind.name}", "${uniques3.constraintName.name}", "${uniques3.key.name}"`
3457
+ );
3458
+ const ownerMatches = chunkCRZ56SZU_cjs.claimOwnerMatchesSql(
3459
+ drizzleSqlTag,
3460
+ (columnName) => quotedColumn({ name: columnName }),
3461
+ boundOwnerColumn(uniques3, params),
3462
+ ownerColumnNames(uniques3)
3463
+ );
3464
+ return drizzleOrm.sql`
3465
+ INSERT INTO ${uniques3} (${columns})
3466
+ VALUES (
3467
+ ${params.graphId}, ${params.nodeKind}, ${params.constraintName},
3468
+ ${params.key}, ${params.nodeId}, ${params.concreteKind}, ${drizzleOrm.sql.raw("NULL")}
3469
+ )
3470
+ ON CONFLICT (${conflictColumns})
3471
+ DO UPDATE SET
3472
+ ${quotedColumn(uniques3.nodeId)} = CASE
3473
+ WHEN ${ownerMatches} THEN ${params.nodeId}
3474
+ WHEN ${quotedColumn(uniques3.deletedAt)} IS NOT NULL THEN ${params.nodeId}
3475
+ ELSE ${quotedColumn(uniques3.nodeId)}
3476
+ END,
3477
+ ${quotedColumn(uniques3.concreteKind)} = CASE
3478
+ WHEN ${ownerMatches} THEN ${params.concreteKind}
3479
+ WHEN ${quotedColumn(uniques3.deletedAt)} IS NOT NULL THEN ${params.concreteKind}
3480
+ ELSE ${quotedColumn(uniques3.concreteKind)}
3481
+ END,
3482
+ ${quotedColumn(uniques3.deletedAt)} = CASE
3483
+ WHEN ${ownerMatches} THEN NULL
3484
+ WHEN ${quotedColumn(uniques3.deletedAt)} IS NOT NULL THEN NULL
3485
+ ELSE ${quotedColumn(uniques3.deletedAt)}
3486
+ END
3487
+ RETURNING
3488
+ ${quotedColumn(uniques3.nodeId)} as node_id,
3489
+ ${quotedColumn(uniques3.concreteKind)} as concrete_kind
3490
+ `;
3491
+ }
3492
+ function buildInsertUniquePostgres(tables3, params) {
3493
+ const { uniques: uniques3 } = tables3;
3494
+ const columns = drizzleOrm.sql.raw(
3495
+ `"${uniques3.graphId.name}", "${uniques3.nodeKind.name}", "${uniques3.constraintName.name}", "${uniques3.key.name}", "${uniques3.nodeId.name}", "${uniques3.concreteKind.name}", "${uniques3.deletedAt.name}"`
3496
+ );
3497
+ const conflictColumns = drizzleOrm.sql.raw(
3498
+ `"${uniques3.graphId.name}", "${uniques3.nodeKind.name}", "${uniques3.constraintName.name}", "${uniques3.key.name}"`
3499
+ );
3500
+ const tableName = drizzleOrm.getTableName(uniques3);
3501
+ const existingColumnByName = (columnName) => drizzleOrm.sql`${quotedTableName(tableName)}.${quotedColumn({ name: columnName })}`;
3502
+ const existingColumn = (column) => existingColumnByName(column.name);
3503
+ const ownerMatches = chunkCRZ56SZU_cjs.claimOwnerMatchesSql(
3504
+ drizzleSqlTag,
3505
+ (columnName) => existingColumnByName(columnName),
3506
+ boundOwnerColumn(uniques3, params),
3507
+ ownerColumnNames(uniques3)
3508
+ );
3509
+ return drizzleOrm.sql`
3510
+ INSERT INTO ${uniques3} (${columns})
3511
+ VALUES (
3512
+ ${params.graphId}, ${params.nodeKind}, ${params.constraintName},
3513
+ ${params.key}, ${params.nodeId}, ${params.concreteKind}, ${drizzleOrm.sql.raw("NULL")}
3514
+ )
3515
+ ON CONFLICT (${conflictColumns})
3516
+ DO UPDATE SET
3517
+ ${quotedColumn(uniques3.nodeId)} = CASE
3518
+ WHEN ${ownerMatches} THEN ${params.nodeId}
3519
+ WHEN ${existingColumn(uniques3.deletedAt)} IS NOT NULL THEN ${params.nodeId}
3520
+ ELSE ${existingColumn(uniques3.nodeId)}
3521
+ END,
3522
+ ${quotedColumn(uniques3.concreteKind)} = CASE
3523
+ WHEN ${ownerMatches} THEN ${params.concreteKind}
3524
+ WHEN ${existingColumn(uniques3.deletedAt)} IS NOT NULL THEN ${params.concreteKind}
3525
+ ELSE ${existingColumn(uniques3.concreteKind)}
3526
+ END,
3527
+ ${quotedColumn(uniques3.deletedAt)} = CASE
3528
+ WHEN ${ownerMatches} THEN NULL
3529
+ WHEN ${existingColumn(uniques3.deletedAt)} IS NOT NULL THEN NULL
3530
+ ELSE ${existingColumn(uniques3.deletedAt)}
3531
+ END
3532
+ RETURNING
3533
+ ${quotedColumn(uniques3.nodeId)} as node_id,
3534
+ ${quotedColumn(uniques3.concreteKind)} as concrete_kind
3535
+ `;
3536
+ }
3537
+ var UNIQUE_INSERT_BUILDERS = {
3538
+ postgres: buildInsertUniquePostgres,
3539
+ sqlite: buildInsertUniqueSqlite
3540
+ };
3541
+ function buildInsertUnique(tables3, dialect, params) {
3542
+ const builder = UNIQUE_INSERT_BUILDERS[dialect];
3543
+ return builder(tables3, params);
3544
+ }
3545
+ function buildInsertUniqueBatch(tables3, dialect, entries) {
3546
+ const { uniques: uniques3 } = tables3;
3547
+ const columns = drizzleOrm.sql.raw(
3548
+ `"${uniques3.graphId.name}", "${uniques3.nodeKind.name}", "${uniques3.constraintName.name}", "${uniques3.key.name}", "${uniques3.nodeId.name}", "${uniques3.concreteKind.name}", "${uniques3.deletedAt.name}"`
3549
+ );
3550
+ const conflictColumns = drizzleOrm.sql.raw(
3551
+ `"${uniques3.graphId.name}", "${uniques3.nodeKind.name}", "${uniques3.constraintName.name}", "${uniques3.key.name}"`
3552
+ );
3553
+ const tableName = drizzleOrm.getTableName(uniques3);
3554
+ const existingColumnByName = (columnName) => {
3555
+ switch (dialect) {
3556
+ case "postgres": {
3557
+ return drizzleOrm.sql`${quotedTableName(tableName)}.${quotedColumn({ name: columnName })}`;
3558
+ }
3559
+ case "sqlite": {
3560
+ return quotedColumn({ name: columnName });
3561
+ }
3562
+ default: {
3563
+ return dialect;
3564
+ }
3565
+ }
3566
+ };
3567
+ const existingColumn = (column) => existingColumnByName(column.name);
3568
+ const ownerMatches = chunkCRZ56SZU_cjs.claimOwnerMatchesSql(
3569
+ drizzleSqlTag,
3570
+ (columnName) => existingColumnByName(columnName),
3571
+ excludedColumnByName,
3572
+ ownerColumnNames(uniques3)
3573
+ );
3574
+ const valueRows = drizzleOrm.sql.join(
3575
+ entries.map(
3576
+ (params) => drizzleOrm.sql`(${params.graphId}, ${params.nodeKind}, ${params.constraintName}, ${params.key}, ${params.nodeId}, ${params.concreteKind}, ${drizzleOrm.sql.raw("NULL")})`
3577
+ ),
3578
+ drizzleOrm.sql`, `
3579
+ );
3580
+ return drizzleOrm.sql`
3581
+ INSERT INTO ${uniques3} (${columns})
3582
+ VALUES ${valueRows}
3583
+ ON CONFLICT (${conflictColumns})
3584
+ DO UPDATE SET
3585
+ ${quotedColumn(uniques3.nodeId)} = CASE
3586
+ WHEN ${ownerMatches} THEN ${excludedColumn(uniques3.nodeId)}
3587
+ WHEN ${existingColumn(uniques3.deletedAt)} IS NOT NULL THEN ${excludedColumn(uniques3.nodeId)}
3588
+ ELSE ${existingColumn(uniques3.nodeId)}
3589
+ END,
3590
+ ${quotedColumn(uniques3.concreteKind)} = CASE
3591
+ WHEN ${ownerMatches} THEN ${excludedColumn(uniques3.concreteKind)}
3592
+ WHEN ${existingColumn(uniques3.deletedAt)} IS NOT NULL THEN ${excludedColumn(uniques3.concreteKind)}
3593
+ ELSE ${existingColumn(uniques3.concreteKind)}
3594
+ END,
3595
+ ${quotedColumn(uniques3.deletedAt)} = CASE
3596
+ WHEN ${ownerMatches} THEN NULL
3597
+ WHEN ${existingColumn(uniques3.deletedAt)} IS NOT NULL THEN NULL
3598
+ ELSE ${existingColumn(uniques3.deletedAt)}
3599
+ END
3600
+ RETURNING
3601
+ ${quotedColumn(uniques3.nodeKind)} as node_kind,
3602
+ ${quotedColumn(uniques3.constraintName)} as constraint_name,
3603
+ ${quotedColumn(uniques3.key)} as key,
3604
+ ${quotedColumn(uniques3.nodeId)} as node_id,
3605
+ ${quotedColumn(uniques3.concreteKind)} as concrete_kind
3606
+ `;
3607
+ }
3608
+ function buildDeleteUnique(tables3, params, timestamp2) {
3609
+ const { uniques: uniques3 } = tables3;
3610
+ const axisTerm = params.nodeKind === void 0 ? drizzleOrm.sql`` : drizzleOrm.sql` AND ${uniques3.nodeKind} = ${params.nodeKind}`;
3611
+ return drizzleOrm.sql`
3612
+ UPDATE ${uniques3}
3613
+ SET ${quotedColumn(uniques3.deletedAt)} = ${timestamp2}
3614
+ WHERE ${uniques3.graphId} = ${params.graphId}
3615
+ AND ${uniques3.concreteKind} = ${params.concreteKind}
3616
+ AND ${uniques3.nodeId} = ${params.nodeId}
3617
+ AND ${uniques3.constraintName} = ${params.constraintName}
3618
+ AND ${uniques3.key} = ${params.key}${axisTerm}
3619
+ AND ${uniques3.deletedAt} IS NULL
3620
+ `;
3621
+ }
3622
+ function buildHardDeleteUniquesByNode(tables3, graphId, concreteKind, nodeId) {
3623
+ return buildHardDeleteUniquesByNodeIds(tables3, {
3624
+ graphId,
3625
+ concreteKind,
3626
+ nodeIds: [nodeId]
3627
+ });
3628
+ }
3629
+ function buildHardDeleteUniquesByNodeIds(tables3, params) {
3630
+ const { uniques: uniques3 } = tables3;
3631
+ return drizzleOrm.sql`
3632
+ DELETE FROM ${uniques3}
3633
+ WHERE ${uniques3.graphId} = ${params.graphId}
3634
+ AND ${uniques3.concreteKind} = ${params.concreteKind}
3635
+ AND ${uniques3.nodeId} IN (${drizzleOrm.sql.join(
3636
+ params.nodeIds.map((nodeId) => drizzleOrm.sql`${nodeId}`),
3637
+ drizzleOrm.sql`, `
3638
+ )})
3639
+ `;
3640
+ }
3641
+ function buildCheckUnique(tables3, params) {
3642
+ const { uniques: uniques3 } = tables3;
3643
+ if (params.includeDeleted) {
3644
+ return drizzleOrm.sql`
3645
+ SELECT * FROM ${uniques3}
3646
+ WHERE ${uniques3.graphId} = ${params.graphId}
3647
+ AND ${uniques3.nodeKind} = ${params.nodeKind}
3648
+ AND ${uniques3.constraintName} = ${params.constraintName}
3649
+ AND ${uniques3.key} = ${params.key}
3650
+ `;
3651
+ }
3652
+ return drizzleOrm.sql`
3653
+ SELECT * FROM ${uniques3}
3654
+ WHERE ${uniques3.graphId} = ${params.graphId}
3655
+ AND ${uniques3.nodeKind} = ${params.nodeKind}
3656
+ AND ${uniques3.constraintName} = ${params.constraintName}
3657
+ AND ${uniques3.key} = ${params.key}
3658
+ AND ${uniques3.deletedAt} IS NULL
3659
+ `;
3660
+ }
3661
+ function buildCheckUniqueBatch(tables3, params) {
3662
+ const { uniques: uniques3 } = tables3;
3663
+ const keyPlaceholders = drizzleOrm.sql.join(
3664
+ params.keys.map((key) => drizzleOrm.sql`${key}`),
3665
+ drizzleOrm.sql`, `
3666
+ );
3667
+ if (params.includeDeleted) {
3668
+ return drizzleOrm.sql`
3669
+ SELECT * FROM ${uniques3}
3670
+ WHERE ${uniques3.graphId} = ${params.graphId}
3671
+ AND ${uniques3.nodeKind} = ${params.nodeKind}
3672
+ AND ${uniques3.constraintName} = ${params.constraintName}
3673
+ AND ${uniques3.key} IN (${keyPlaceholders})
3674
+ `;
3675
+ }
3676
+ return drizzleOrm.sql`
3677
+ SELECT * FROM ${uniques3}
3678
+ WHERE ${uniques3.graphId} = ${params.graphId}
3679
+ AND ${uniques3.nodeKind} = ${params.nodeKind}
3680
+ AND ${uniques3.constraintName} = ${params.constraintName}
3681
+ AND ${uniques3.key} IN (${keyPlaceholders})
3682
+ AND ${uniques3.deletedAt} IS NULL
3683
+ `;
3684
+ }
2086
3685
 
2087
3686
  // src/backend/drizzle/operations/strategy.ts
2088
3687
  function nullableText(value) {
2089
3688
  return value === void 0 ? drizzleOrm.sql`NULL` : drizzleOrm.sql`${value}`;
2090
3689
  }
2091
- function bindTableOperationBuilders(tables, builders) {
3690
+ function bindTableOperationBuilders(tables3, builders) {
2092
3691
  const boundEntries = Object.entries(builders).map(([name, builder]) => {
2093
3692
  function boundBuilder(...args) {
2094
- return builder(tables, ...args);
3693
+ return builder(tables3, ...args);
2095
3694
  }
2096
3695
  return [name, boundBuilder];
2097
3696
  });
@@ -2130,30 +3729,30 @@ var COMMON_TABLE_OPERATION_BUILDERS = {
2130
3729
  buildFindEdgesByEndpointSet,
2131
3730
  buildFindEdgesByHeterogeneousEndpointSet,
2132
3731
  buildCountEdgesByKind,
2133
- buildDeleteUnique: chunkEH3JZJUM_cjs.buildDeleteUnique,
2134
- buildHardDeleteUniquesByNode: chunkEH3JZJUM_cjs.buildHardDeleteUniquesByNode,
2135
- buildHardDeleteUniquesByNodeIds: chunkEH3JZJUM_cjs.buildHardDeleteUniquesByNodeIds,
2136
- buildCheckUnique: chunkEH3JZJUM_cjs.buildCheckUnique,
2137
- buildCheckUniqueBatch: chunkEH3JZJUM_cjs.buildCheckUniqueBatch,
3732
+ buildDeleteUnique,
3733
+ buildHardDeleteUniquesByNode,
3734
+ buildHardDeleteUniquesByNodeIds,
3735
+ buildCheckUnique,
3736
+ buildCheckUniqueBatch,
2138
3737
  buildGetSchemaVersion
2139
3738
  };
2140
- function createCommonOperationStrategy(tables, dialect, fulltextStrategy) {
3739
+ function createCommonOperationStrategy(tables3, dialect, fulltextStrategy) {
2141
3740
  const tableOperations = bindTableOperationBuilders(
2142
- tables,
3741
+ tables3,
2143
3742
  COMMON_TABLE_OPERATION_BUILDERS
2144
3743
  );
2145
- const fulltextTable = tables.fulltextTableName;
2146
- const contributionMaterializations = tables.contributionMaterializations;
3744
+ const fulltextTable = tables3.fulltextTableName;
3745
+ const contributionMaterializations = tables3.contributionMaterializations;
2147
3746
  const fulltextBuilders = {
2148
- buildUpsertFulltext: (params, timestamp) => fulltextStrategy.buildUpsert(fulltextTable, params, timestamp).map((statement) => chunk45YZXI6X_cjs.toDrizzleSql(statement, dialect)),
2149
- buildDeleteFulltext: (params) => fulltextStrategy.buildDelete(fulltextTable, params).map((statement) => chunk45YZXI6X_cjs.toDrizzleSql(statement, dialect)),
3747
+ buildUpsertFulltext: (params, timestamp2) => fulltextStrategy.buildUpsert(fulltextTable, params, timestamp2).map((statement) => chunkLLFPQOBA_cjs.toDrizzleSql(statement, dialect)),
3748
+ buildDeleteFulltext: (params) => fulltextStrategy.buildDelete(fulltextTable, params).map((statement) => chunkLLFPQOBA_cjs.toDrizzleSql(statement, dialect)),
2150
3749
  buildDeleteFulltextByNode: (graphId, nodeKind, nodeId) => fulltextStrategy.buildDelete(fulltextTable, {
2151
3750
  graphId,
2152
3751
  nodeKind,
2153
3752
  nodeId
2154
- }).map((statement) => chunk45YZXI6X_cjs.toDrizzleSql(statement, dialect)),
2155
- buildUpsertFulltextBatch: (params, timestamp) => fulltextStrategy.buildBatchUpsert(fulltextTable, params, timestamp).map((statement) => chunk45YZXI6X_cjs.toDrizzleSql(statement, dialect)),
2156
- buildDeleteFulltextBatch: (params) => fulltextStrategy.buildBatchDelete(fulltextTable, params).map((statement) => chunk45YZXI6X_cjs.toDrizzleSql(statement, dialect)),
3753
+ }).map((statement) => chunkLLFPQOBA_cjs.toDrizzleSql(statement, dialect)),
3754
+ buildUpsertFulltextBatch: (params, timestamp2) => fulltextStrategy.buildBatchUpsert(fulltextTable, params, timestamp2).map((statement) => chunkLLFPQOBA_cjs.toDrizzleSql(statement, dialect)),
3755
+ buildDeleteFulltextBatch: (params) => fulltextStrategy.buildBatchDelete(fulltextTable, params).map((statement) => chunkLLFPQOBA_cjs.toDrizzleSql(statement, dialect)),
2157
3756
  buildFulltextSearch: (params) => buildFulltextSearch(
2158
3757
  fulltextTable,
2159
3758
  params,
@@ -2161,19 +3760,19 @@ function createCommonOperationStrategy(tables, dialect, fulltextStrategy) {
2161
3760
  dialect,
2162
3761
  // Store-compiled candidates (predicates + subclass + currency)
2163
3762
  // take precedence; the live-node default covers direct backend use.
2164
- params.candidates ?? chunkEH3JZJUM_cjs.liveNodeIdsSubquery(
2165
- tables.nodes,
3763
+ params.candidates ?? liveNodeIdsSubquery(
3764
+ tables3.nodes,
2166
3765
  params.graphId,
2167
3766
  params.nodeKind,
2168
- chunkEH3JZJUM_cjs.nowIso()
3767
+ chunk36SX6QXP_cjs.nowIso()
2169
3768
  )
2170
3769
  ),
2171
3770
  buildHybridSearch: (params, vectorSql, vectorScoreDescending) => {
2172
- const candidates = params.candidates ?? chunkEH3JZJUM_cjs.liveNodeIdsSubquery(
2173
- tables.nodes,
3771
+ const candidates = params.candidates ?? liveNodeIdsSubquery(
3772
+ tables3.nodes,
2174
3773
  params.graphId,
2175
3774
  params.nodeKind,
2176
- chunkEH3JZJUM_cjs.nowIso()
3775
+ chunk36SX6QXP_cjs.nowIso()
2177
3776
  );
2178
3777
  const fulltextSql = buildFulltextSearch(
2179
3778
  fulltextTable,
@@ -2194,11 +3793,11 @@ function createCommonOperationStrategy(tables, dialect, fulltextStrategy) {
2194
3793
  hybridCandidatesRef()
2195
3794
  );
2196
3795
  return buildHybridSearchStatement({
2197
- candidatesSql: chunkOJHD3LXJ_cjs.isSqlFragment(candidates) ? chunk45YZXI6X_cjs.toDrizzleSql(candidates, dialect) : candidates,
3796
+ candidatesSql: chunkH5IJSROF_cjs.isSqlFragment(candidates) ? chunkLLFPQOBA_cjs.toDrizzleSql(candidates, dialect) : candidates,
2198
3797
  vectorSql,
2199
3798
  vectorScoreDescending,
2200
3799
  fulltextSql,
2201
- nodes: tables.nodes,
3800
+ nodes: tables3.nodes,
2202
3801
  dialect,
2203
3802
  graphId: params.graphId,
2204
3803
  nodeKind: params.nodeKind,
@@ -2241,57 +3840,57 @@ function createCommonOperationStrategy(tables, dialect, fulltextStrategy) {
2241
3840
  ...tableOperations,
2242
3841
  ...fulltextBuilders,
2243
3842
  primaryKeyConstraints: {
2244
- nodes: chunkEH3JZJUM_cjs.nodePrimaryKeyConstraint(tables.nodes),
2245
- edges: chunkEH3JZJUM_cjs.edgePrimaryKeyConstraint(tables.edges)
3843
+ nodes: nodePrimaryKeyConstraint(tables3.nodes),
3844
+ edges: edgePrimaryKeyConstraint(tables3.edges)
2246
3845
  },
2247
- buildUpdateNodeSet(params, timestamp) {
2248
- return buildUpdateNodeSet(tables, dialect, params, timestamp);
3846
+ buildUpdateNodeSet(params, timestamp2) {
3847
+ return buildUpdateNodeSet(tables3, dialect, params, timestamp2);
2249
3848
  },
2250
3849
  buildDeleteContributionMaterialization,
2251
3850
  buildInsertContributionMaterialization,
2252
3851
  buildInsertUnique(params) {
2253
- return chunkEH3JZJUM_cjs.buildInsertUnique(tables, dialect, params);
3852
+ return buildInsertUnique(tables3, dialect, params);
2254
3853
  },
2255
3854
  buildInsertUniqueBatch(entries) {
2256
- return chunkEH3JZJUM_cjs.buildInsertUniqueBatch(tables, dialect, entries);
3855
+ return buildInsertUniqueBatch(tables3, dialect, entries);
2257
3856
  },
2258
3857
  buildHardDeleteUniquesByConcreteKind(params) {
2259
- return chunkEH3JZJUM_cjs.buildHardDeleteUniquesByConcreteKind(
2260
- drizzleOrm.getTableName(tables.uniques),
3858
+ return chunk36SX6QXP_cjs.buildHardDeleteUniquesByConcreteKind(
3859
+ drizzleOrm.getTableName(tables3.uniques),
2261
3860
  params
2262
3861
  );
2263
3862
  },
2264
- buildLockEdgeClaims(entries, timestamp) {
2265
- return chunkEH3JZJUM_cjs.buildLockEdgeClaims(tables, entries, timestamp);
3863
+ buildLockEdgeClaims(entries, timestamp2) {
3864
+ return buildLockEdgeClaims(tables3, entries, timestamp2);
2266
3865
  },
2267
- buildTakeOverEdgeClaim(params, timestamp) {
2268
- return chunkEH3JZJUM_cjs.buildTakeOverEdgeClaim(tables, params, timestamp);
3866
+ buildTakeOverEdgeClaim(params, timestamp2) {
3867
+ return buildTakeOverEdgeClaim(tables3, params, timestamp2);
2269
3868
  },
2270
3869
  buildPurgeEdgeClaims(params) {
2271
- return chunkEH3JZJUM_cjs.buildPurgeEdgeClaims(tables, params);
3870
+ return buildPurgeEdgeClaims(tables3, params);
2272
3871
  },
2273
3872
  buildContendedUniqueRowAudit(graphId, constraintNames) {
2274
- return buildContendedUniqueRowAudit(tables, graphId, constraintNames);
3873
+ return buildContendedUniqueRowAudit(tables3, graphId, constraintNames);
2275
3874
  },
2276
3875
  buildContendedEdgeRowAudit(graphId, cardinality, edgeKinds) {
2277
3876
  return buildContendedEdgeRowAudit(
2278
- tables,
3877
+ tables3,
2279
3878
  graphId,
2280
3879
  cardinality,
2281
3880
  edgeKinds
2282
3881
  );
2283
3882
  },
2284
3883
  buildDisjointOverlapAudit(graphId, kinds) {
2285
- return buildDisjointOverlapAudit(tables, graphId, kinds);
3884
+ return buildDisjointOverlapAudit(tables3, graphId, kinds);
2286
3885
  },
2287
3886
  buildGetActiveSchema(graphId) {
2288
- return buildGetActiveSchema(tables, graphId, dialect);
3887
+ return buildGetActiveSchema(tables3, graphId, dialect);
2289
3888
  },
2290
- buildInsertSchema(params, timestamp) {
2291
- return buildInsertSchema(tables, params, timestamp, dialect);
3889
+ buildInsertSchema(params, timestamp2) {
3890
+ return buildInsertSchema(tables3, params, timestamp2, dialect);
2292
3891
  },
2293
3892
  buildSetActiveSchema(graphId, version) {
2294
- return buildSetActiveSchema(tables, graphId, version, dialect);
3893
+ return buildSetActiveSchema(tables3, graphId, version, dialect);
2295
3894
  },
2296
3895
  buildTableExists(tableName) {
2297
3896
  switch (dialect) {
@@ -2314,7 +3913,7 @@ function createCommonOperationStrategy(tables, dialect, fulltextStrategy) {
2314
3913
  }
2315
3914
  },
2316
3915
  buildClearGraph(graphId) {
2317
- return buildClearGraph(tables, graphId);
3916
+ return buildClearGraph(tables3, graphId);
2318
3917
  }
2319
3918
  };
2320
3919
  }
@@ -2340,11 +3939,11 @@ function createCachedTableExistence(probe, options) {
2340
3939
  return exists;
2341
3940
  };
2342
3941
  }
2343
- function createSqliteOperationStrategy(tables, fulltextStrategy) {
2344
- return createCommonOperationStrategy(tables, "sqlite", fulltextStrategy);
3942
+ function createSqliteOperationStrategy(tables3, fulltextStrategy) {
3943
+ return createCommonOperationStrategy(tables3, "sqlite", fulltextStrategy);
2345
3944
  }
2346
- function createPostgresOperationStrategy(tables, fulltextStrategy) {
2347
- return createCommonOperationStrategy(tables, "postgres", fulltextStrategy);
3945
+ function createPostgresOperationStrategy(tables3, fulltextStrategy) {
3946
+ return createCommonOperationStrategy(tables3, "postgres", fulltextStrategy);
2348
3947
  }
2349
3948
  function claimOwnerOf(params) {
2350
3949
  return { concreteKind: params.concreteKind, nodeId: params.nodeId };
@@ -2365,7 +3964,7 @@ async function withDuplicateKeyClassification(run, context) {
2365
3964
  try {
2366
3965
  return await run();
2367
3966
  } catch (error) {
2368
- if (!chunkZBFZGLZE_cjs.isDuplicatePrimaryKeyError(error, context.relation)) throw error;
3967
+ if (!chunkNLX5OWK7_cjs.isDuplicatePrimaryKeyError(error, context.relation)) throw error;
2369
3968
  throw new chunkX4GDXBOP_cjs.DatabaseOperationError(
2370
3969
  `Insert ${context.entity} failed: a row with this identity already exists`,
2371
3970
  {
@@ -2437,7 +4036,7 @@ function createCommonOperationBackend(options) {
2437
4036
  operationStrategy,
2438
4037
  rowMappers
2439
4038
  } = options;
2440
- const nowIso2 = options.nowIso ?? chunkEH3JZJUM_cjs.nowIso;
4039
+ const nowIso2 = options.nowIso ?? chunk36SX6QXP_cjs.nowIso;
2441
4040
  const tableExists = createCachedTableExistence(
2442
4041
  (tableName) => execution.execGet(
2443
4042
  operationStrategy.buildTableExists(tableName)
@@ -2453,7 +4052,7 @@ function createCommonOperationBackend(options) {
2453
4052
  async function claimEdgeCardinalityEntries(entries) {
2454
4053
  if (entries.length === 0) return [];
2455
4054
  const targetKey = (entry) => {
2456
- const target = chunk7PRMDZIA_cjs.edgeCardinalityClaimTarget(entry);
4055
+ const target = chunkFMMW3KX7_cjs.edgeCardinalityClaimTarget(entry);
2457
4056
  return `${target.axis}\0${target.key}`;
2458
4057
  };
2459
4058
  const seen = /* @__PURE__ */ new Set();
@@ -2468,7 +4067,7 @@ function createCommonOperationBackend(options) {
2468
4067
  seen.add(key);
2469
4068
  }
2470
4069
  const outcomes = /* @__PURE__ */ new Map();
2471
- for (const chunk2 of chunkZBFZGLZE_cjs.chunk(entries, batchConfig.edgeInsertBatchSize)) {
4070
+ for (const chunk2 of chunkNLX5OWK7_cjs.chunk(entries, batchConfig.edgeInsertBatchSize)) {
2472
4071
  const lockQuery = operationStrategy.buildLockEdgeClaims(chunk2, nowIso2());
2473
4072
  const rows = await execution.execAll(lockQuery);
2474
4073
  const holderByTarget = new Map(
@@ -2503,7 +4102,7 @@ function createCommonOperationBackend(options) {
2503
4102
  return {
2504
4103
  tableExists,
2505
4104
  async executeSchemaDdl(ddl) {
2506
- await execution.execRun(chunkOJHD3LXJ_cjs.asCompiledStatementSql(chunkOJHD3LXJ_cjs.sql.raw(ddl)));
4105
+ await execution.execRun(chunkH5IJSROF_cjs.asCompiledStatementSql(chunkH5IJSROF_cjs.sql.raw(ddl)));
2507
4106
  },
2508
4107
  async executeStatement(query) {
2509
4108
  await execution.execRun(query);
@@ -2512,8 +4111,8 @@ function createCommonOperationBackend(options) {
2512
4111
  await execution.execRun(query);
2513
4112
  },
2514
4113
  async insertNode(params) {
2515
- const timestamp = nowIso2();
2516
- const query = operationStrategy.buildInsertNode(params, timestamp);
4114
+ const timestamp2 = nowIso2();
4115
+ const query = operationStrategy.buildInsertNode(params, timestamp2);
2517
4116
  const row = await withDuplicateKeyClassification(
2518
4117
  () => execution.execGet(query),
2519
4118
  {
@@ -2534,10 +4133,10 @@ function createCommonOperationBackend(options) {
2534
4133
  return rowMappers.toNodeRow(row);
2535
4134
  },
2536
4135
  async insertNodeNoReturn(params) {
2537
- const timestamp = nowIso2();
4136
+ const timestamp2 = nowIso2();
2538
4137
  const query = operationStrategy.buildInsertNodeNoReturn(
2539
4138
  params,
2540
- timestamp
4139
+ timestamp2
2541
4140
  );
2542
4141
  await withDuplicateKeyClassification(() => execution.execRun(query), {
2543
4142
  entity: "node",
@@ -2549,9 +4148,9 @@ function createCommonOperationBackend(options) {
2549
4148
  if (params.length === 0) {
2550
4149
  return;
2551
4150
  }
2552
- const timestamp = nowIso2();
2553
- for (const chunk2 of chunkZBFZGLZE_cjs.chunk(params, batchConfig.nodeInsertBatchSize)) {
2554
- const query = operationStrategy.buildInsertNodesBatch(chunk2, timestamp);
4151
+ const timestamp2 = nowIso2();
4152
+ for (const chunk2 of chunkNLX5OWK7_cjs.chunk(params, batchConfig.nodeInsertBatchSize)) {
4153
+ const query = operationStrategy.buildInsertNodesBatch(chunk2, timestamp2);
2555
4154
  await withDuplicateKeyClassification(() => execution.execRun(query), {
2556
4155
  entity: "node",
2557
4156
  relation: operationStrategy.primaryKeyConstraints.nodes,
@@ -2563,12 +4162,12 @@ function createCommonOperationBackend(options) {
2563
4162
  if (params.length === 0) {
2564
4163
  return [];
2565
4164
  }
2566
- const timestamp = nowIso2();
4165
+ const timestamp2 = nowIso2();
2567
4166
  const allRows = [];
2568
- for (const chunk2 of chunkZBFZGLZE_cjs.chunk(params, batchConfig.nodeInsertBatchSize)) {
4167
+ for (const chunk2 of chunkNLX5OWK7_cjs.chunk(params, batchConfig.nodeInsertBatchSize)) {
2569
4168
  const query = operationStrategy.buildInsertNodesBatchReturning(
2570
4169
  chunk2,
2571
- timestamp
4170
+ timestamp2
2572
4171
  );
2573
4172
  const rows = await withDuplicateKeyClassification(
2574
4173
  () => execution.execAll(query),
@@ -2590,7 +4189,7 @@ function createCommonOperationBackend(options) {
2590
4189
  async getNodes(graphId, kind, ids) {
2591
4190
  if (ids.length === 0) return [];
2592
4191
  const allRows = [];
2593
- for (const chunk2 of chunkZBFZGLZE_cjs.chunk(ids, batchConfig.getNodesChunkSize)) {
4192
+ for (const chunk2 of chunkNLX5OWK7_cjs.chunk(ids, batchConfig.getNodesChunkSize)) {
2594
4193
  const query = operationStrategy.buildGetNodes(graphId, kind, chunk2);
2595
4194
  const rows = await execution.execAll(query);
2596
4195
  allRows.push(...rows.map((row) => rowMappers.toNodeRow(row)));
@@ -2598,8 +4197,8 @@ function createCommonOperationBackend(options) {
2598
4197
  return allRows;
2599
4198
  },
2600
4199
  async updateNode(params) {
2601
- const timestamp = nowIso2();
2602
- const query = operationStrategy.buildUpdateNode(params, timestamp);
4200
+ const timestamp2 = nowIso2();
4201
+ const query = operationStrategy.buildUpdateNode(params, timestamp2);
2603
4202
  const row = await execution.execGet(query);
2604
4203
  if (!row)
2605
4204
  throw new chunkX4GDXBOP_cjs.DatabaseOperationError(
@@ -2625,15 +4224,15 @@ function createCommonOperationBackend(options) {
2625
4224
  { operation: "updateNodeSet", kind: params.kind }
2626
4225
  );
2627
4226
  }
2628
- const timestamp = nowIso2();
2629
- const query = operationStrategy.buildUpdateNodeSet(params, timestamp);
4227
+ const timestamp2 = nowIso2();
4228
+ const query = operationStrategy.buildUpdateNodeSet(params, timestamp2);
2630
4229
  const rows = await execution.execAll(query);
2631
4230
  const updatedRows = rows.map((row) => rowMappers.toNodeRow(row));
2632
4231
  return { affectedCount: updatedRows.length, rows: updatedRows };
2633
4232
  },
2634
4233
  async deleteNode(params) {
2635
- const timestamp = nowIso2();
2636
- const query = operationStrategy.buildDeleteNode(params, timestamp);
4234
+ const timestamp2 = nowIso2();
4235
+ const query = operationStrategy.buildDeleteNode(params, timestamp2);
2637
4236
  await execution.execRun(query);
2638
4237
  },
2639
4238
  // IMPORTANT: This cascade is not atomic. Callers must ensure this runs
@@ -2670,8 +4269,8 @@ function createCommonOperationBackend(options) {
2670
4269
  await execution.execRun(query);
2671
4270
  },
2672
4271
  async insertEdge(params) {
2673
- const timestamp = nowIso2();
2674
- const query = operationStrategy.buildInsertEdge(params, timestamp);
4272
+ const timestamp2 = nowIso2();
4273
+ const query = operationStrategy.buildInsertEdge(params, timestamp2);
2675
4274
  const row = await withDuplicateKeyClassification(
2676
4275
  () => execution.execGet(query),
2677
4276
  {
@@ -2692,10 +4291,10 @@ function createCommonOperationBackend(options) {
2692
4291
  return rowMappers.toEdgeRow(row);
2693
4292
  },
2694
4293
  async insertEdgeNoReturn(params) {
2695
- const timestamp = nowIso2();
4294
+ const timestamp2 = nowIso2();
2696
4295
  const query = operationStrategy.buildInsertEdgeNoReturn(
2697
4296
  params,
2698
- timestamp
4297
+ timestamp2
2699
4298
  );
2700
4299
  await withDuplicateKeyClassification(() => execution.execRun(query), {
2701
4300
  entity: "edge",
@@ -2707,9 +4306,9 @@ function createCommonOperationBackend(options) {
2707
4306
  if (params.length === 0) {
2708
4307
  return;
2709
4308
  }
2710
- const timestamp = nowIso2();
2711
- for (const chunk2 of chunkZBFZGLZE_cjs.chunk(params, batchConfig.edgeInsertBatchSize)) {
2712
- const query = operationStrategy.buildInsertEdgesBatch(chunk2, timestamp);
4309
+ const timestamp2 = nowIso2();
4310
+ for (const chunk2 of chunkNLX5OWK7_cjs.chunk(params, batchConfig.edgeInsertBatchSize)) {
4311
+ const query = operationStrategy.buildInsertEdgesBatch(chunk2, timestamp2);
2713
4312
  await withDuplicateKeyClassification(() => execution.execRun(query), {
2714
4313
  entity: "edge",
2715
4314
  relation: operationStrategy.primaryKeyConstraints.edges,
@@ -2721,12 +4320,12 @@ function createCommonOperationBackend(options) {
2721
4320
  if (params.length === 0) {
2722
4321
  return [];
2723
4322
  }
2724
- const timestamp = nowIso2();
4323
+ const timestamp2 = nowIso2();
2725
4324
  const allRows = [];
2726
- for (const chunk2 of chunkZBFZGLZE_cjs.chunk(params, batchConfig.edgeInsertBatchSize)) {
4325
+ for (const chunk2 of chunkNLX5OWK7_cjs.chunk(params, batchConfig.edgeInsertBatchSize)) {
2727
4326
  const query = operationStrategy.buildInsertEdgesBatchReturning(
2728
4327
  chunk2,
2729
- timestamp
4328
+ timestamp2
2730
4329
  );
2731
4330
  const rows = await withDuplicateKeyClassification(
2732
4331
  () => execution.execAll(query),
@@ -2748,7 +4347,7 @@ function createCommonOperationBackend(options) {
2748
4347
  async getEdges(graphId, ids) {
2749
4348
  if (ids.length === 0) return [];
2750
4349
  const allRows = [];
2751
- for (const chunk2 of chunkZBFZGLZE_cjs.chunk(ids, batchConfig.getEdgesChunkSize)) {
4350
+ for (const chunk2 of chunkNLX5OWK7_cjs.chunk(ids, batchConfig.getEdgesChunkSize)) {
2752
4351
  const query = operationStrategy.buildGetEdges(graphId, chunk2);
2753
4352
  const rows = await execution.execAll(query);
2754
4353
  allRows.push(...rows.map((row) => rowMappers.toEdgeRow(row)));
@@ -2756,8 +4355,8 @@ function createCommonOperationBackend(options) {
2756
4355
  return allRows;
2757
4356
  },
2758
4357
  async updateEdge(params) {
2759
- const timestamp = nowIso2();
2760
- const query = operationStrategy.buildUpdateEdge(params, timestamp);
4358
+ const timestamp2 = nowIso2();
4359
+ const query = operationStrategy.buildUpdateEdge(params, timestamp2);
2761
4360
  const row = await execution.execGet(query);
2762
4361
  if (!row)
2763
4362
  throw new chunkX4GDXBOP_cjs.DatabaseOperationError(
@@ -2771,8 +4370,8 @@ function createCommonOperationBackend(options) {
2771
4370
  return rowMappers.toEdgeRow(row);
2772
4371
  },
2773
4372
  async deleteEdge(params) {
2774
- const timestamp = nowIso2();
2775
- const query = operationStrategy.buildDeleteEdge(params, timestamp);
4373
+ const timestamp2 = nowIso2();
4374
+ const query = operationStrategy.buildDeleteEdge(params, timestamp2);
2776
4375
  await execution.execRun(query);
2777
4376
  },
2778
4377
  async hardDeleteEdge(params) {
@@ -2781,22 +4380,22 @@ function createCommonOperationBackend(options) {
2781
4380
  },
2782
4381
  async deleteEdgesBatch(params) {
2783
4382
  if (params.ids.length === 0) return;
2784
- const timestamp = nowIso2();
4383
+ const timestamp2 = nowIso2();
2785
4384
  const softDeleteChunkSize = Math.max(
2786
4385
  1,
2787
4386
  batchConfig.getEdgesChunkSize - 1
2788
4387
  );
2789
- for (const chunk2 of chunkZBFZGLZE_cjs.chunk(params.ids, softDeleteChunkSize)) {
4388
+ for (const chunk2 of chunkNLX5OWK7_cjs.chunk(params.ids, softDeleteChunkSize)) {
2790
4389
  const query = operationStrategy.buildDeleteEdgesBatch(
2791
4390
  { graphId: params.graphId, ids: chunk2 },
2792
- timestamp
4391
+ timestamp2
2793
4392
  );
2794
4393
  await execution.execRun(query);
2795
4394
  }
2796
4395
  },
2797
4396
  async hardDeleteEdgesBatch(params) {
2798
4397
  if (params.ids.length === 0) return;
2799
- for (const chunk2 of chunkZBFZGLZE_cjs.chunk(
4398
+ for (const chunk2 of chunkNLX5OWK7_cjs.chunk(
2800
4399
  params.ids,
2801
4400
  batchConfig.getEdgesChunkSize
2802
4401
  )) {
@@ -2840,7 +4439,7 @@ function createCommonOperationBackend(options) {
2840
4439
  async findEdgesByEndpointSet(params) {
2841
4440
  const ids = resolveEdgeEndpointIds(params);
2842
4441
  const edgeRows = [];
2843
- for (const idChunk of chunkZBFZGLZE_cjs.chunk(
4442
+ for (const idChunk of chunkNLX5OWK7_cjs.chunk(
2844
4443
  ids,
2845
4444
  batchConfig.findEdgesEndpointChunkSize
2846
4445
  )) {
@@ -2857,7 +4456,7 @@ function createCommonOperationBackend(options) {
2857
4456
  const { edgeKinds, endpoints, endpointChunkSize } = resolveHeterogeneousEdgeRead(params, maxBindParameters);
2858
4457
  if (edgeKinds.length === 0 || endpoints.length === 0) return [];
2859
4458
  const edgeRows = [];
2860
- for (const endpointChunk of chunkZBFZGLZE_cjs.chunk(endpoints, endpointChunkSize)) {
4459
+ for (const endpointChunk of chunkNLX5OWK7_cjs.chunk(endpoints, endpointChunkSize)) {
2861
4460
  const query = operationStrategy.buildFindEdgesByHeterogeneousEndpointSet(
2862
4461
  params,
2863
4462
  endpointChunk,
@@ -2876,7 +4475,7 @@ function createCommonOperationBackend(options) {
2876
4475
  async insertUnique(params) {
2877
4476
  const query = operationStrategy.buildInsertUnique(params);
2878
4477
  const result = await execution.execGet(query);
2879
- if (result && !chunkLLVOQOWE_cjs.isSameClaimOwner(
4478
+ if (result && !chunkCRZ56SZU_cjs.isSameClaimOwner(
2880
4479
  { concreteKind: result.concrete_kind, nodeId: result.node_id },
2881
4480
  claimOwnerOf(params)
2882
4481
  )) {
@@ -2906,7 +4505,7 @@ function createCommonOperationBackend(options) {
2906
4505
  byTarget.set(targetKey(entry), entry);
2907
4506
  continue;
2908
4507
  }
2909
- if (!chunkLLVOQOWE_cjs.isSameClaimOwner(claimOwnerOf(existing), claimOwnerOf(entry))) {
4508
+ if (!chunkCRZ56SZU_cjs.isSameClaimOwner(claimOwnerOf(existing), claimOwnerOf(entry))) {
2910
4509
  throw new chunkX4GDXBOP_cjs.UniquenessError({
2911
4510
  constraintName: entry.constraintName,
2912
4511
  kind: existing.concreteKind,
@@ -2918,7 +4517,7 @@ function createCommonOperationBackend(options) {
2918
4517
  }
2919
4518
  }
2920
4519
  const deduped = [...byTarget.values()];
2921
- for (const chunk2 of chunkZBFZGLZE_cjs.chunk(
4520
+ for (const chunk2 of chunkNLX5OWK7_cjs.chunk(
2922
4521
  deduped,
2923
4522
  batchConfig.uniqueInsertBatchSize
2924
4523
  )) {
@@ -2932,7 +4531,7 @@ function createCommonOperationBackend(options) {
2932
4531
  );
2933
4532
  for (const entry of chunk2) {
2934
4533
  const owner = ownerByTarget.get(targetKey(entry));
2935
- if (owner !== void 0 && !chunkLLVOQOWE_cjs.isSameClaimOwner(owner, claimOwnerOf(entry))) {
4534
+ if (owner !== void 0 && !chunkCRZ56SZU_cjs.isSameClaimOwner(owner, claimOwnerOf(entry))) {
2936
4535
  throw new chunkX4GDXBOP_cjs.UniquenessError({
2937
4536
  constraintName: entry.constraintName,
2938
4537
  kind: owner.concreteKind,
@@ -2946,13 +4545,13 @@ function createCommonOperationBackend(options) {
2946
4545
  }
2947
4546
  },
2948
4547
  async deleteUnique(params) {
2949
- const timestamp = nowIso2();
2950
- const query = operationStrategy.buildDeleteUnique(params, timestamp);
4548
+ const timestamp2 = nowIso2();
4549
+ const query = operationStrategy.buildDeleteUnique(params, timestamp2);
2951
4550
  await execution.execRun(query);
2952
4551
  },
2953
4552
  async hardDeleteUniquesByNodeIds(params) {
2954
4553
  const nodeIds = [...new Set(params.nodeIds)];
2955
- for (const chunk2 of chunkZBFZGLZE_cjs.chunk(
4554
+ for (const chunk2 of chunkNLX5OWK7_cjs.chunk(
2956
4555
  nodeIds,
2957
4556
  batchConfig.uniqueDeleteChunkSize
2958
4557
  )) {
@@ -2976,7 +4575,7 @@ function createCommonOperationBackend(options) {
2976
4575
  },
2977
4576
  async purgeEdgeClaims(params) {
2978
4577
  const edgeIds = [...new Set(params.edgeIds)];
2979
- for (const chunk2 of chunkZBFZGLZE_cjs.chunk(edgeIds, batchConfig.getEdgesChunkSize)) {
4578
+ for (const chunk2 of chunkNLX5OWK7_cjs.chunk(edgeIds, batchConfig.getEdgesChunkSize)) {
2980
4579
  const query = operationStrategy.buildPurgeEdgeClaims({
2981
4580
  ...params,
2982
4581
  edgeIds: chunk2
@@ -3043,7 +4642,7 @@ function createCommonOperationBackend(options) {
3043
4642
  async checkUniqueBatch(params) {
3044
4643
  if (params.keys.length === 0) return [];
3045
4644
  const allRows = [];
3046
- for (const chunk2 of chunkZBFZGLZE_cjs.chunk(
4645
+ for (const chunk2 of chunkNLX5OWK7_cjs.chunk(
3047
4646
  params.keys,
3048
4647
  batchConfig.checkUniqueBatchChunkSize
3049
4648
  )) {
@@ -3109,7 +4708,7 @@ function createCommonOperationBackend(options) {
3109
4708
  );
3110
4709
  await execution.execRun(flip.deactivateAll);
3111
4710
  }
3112
- const timestamp = nowIso2();
4711
+ const timestamp2 = nowIso2();
3113
4712
  const insertQuery = operationStrategy.buildInsertSchema(
3114
4713
  {
3115
4714
  graphId: params.graphId,
@@ -3118,7 +4717,7 @@ function createCommonOperationBackend(options) {
3118
4717
  schemaDoc: params.schemaDoc,
3119
4718
  isActive: true
3120
4719
  },
3121
- timestamp
4720
+ timestamp2
3122
4721
  );
3123
4722
  const insertedRaw = await execution.execGet(insertQuery);
3124
4723
  if (!insertedRaw) {
@@ -3216,8 +4815,8 @@ async function assertTrustedImportDatabaseEmpty(backend, tableNames) {
3216
4815
  async function lockPostgresTrustedImportTables(backend, tableNames) {
3217
4816
  const executeStatement = requireStatementExecution(backend);
3218
4817
  await executeStatement(
3219
- chunkOJHD3LXJ_cjs.asCompiledStatementSql(
3220
- chunkOJHD3LXJ_cjs.sql.raw(
4818
+ chunkH5IJSROF_cjs.asCompiledStatementSql(
4819
+ chunkH5IJSROF_cjs.sql.raw(
3221
4820
  `LOCK TABLE ${quoteSqlIdentifier(tableNames.nodes)}, ${quoteSqlIdentifier(tableNames.edges)} IN ACCESS EXCLUSIVE MODE`
3222
4821
  )
3223
4822
  )
@@ -3237,8 +4836,8 @@ async function suspendSqliteSecondaryIndexes(backend, tableNames) {
3237
4836
  );
3238
4837
  for (const definition of definitions) {
3239
4838
  await executeStatement(
3240
- chunkOJHD3LXJ_cjs.asCompiledStatementSql(
3241
- chunkOJHD3LXJ_cjs.sql.raw(`DROP INDEX ${quoteSqlIdentifier(definition.index_name)}`)
4839
+ chunkH5IJSROF_cjs.asCompiledStatementSql(
4840
+ chunkH5IJSROF_cjs.sql.raw(`DROP INDEX ${quoteSqlIdentifier(definition.index_name)}`)
3242
4841
  )
3243
4842
  );
3244
4843
  }
@@ -3268,8 +4867,8 @@ async function suspendPostgresSecondaryIndexes(backend, tableNames) {
3268
4867
  );
3269
4868
  for (const definition of definitions) {
3270
4869
  await executeStatement(
3271
- chunkOJHD3LXJ_cjs.asCompiledStatementSql(
3272
- chunkOJHD3LXJ_cjs.sql.raw(`DROP INDEX ${quoteSqlIdentifier(definition.index_name)}`)
4870
+ chunkH5IJSROF_cjs.asCompiledStatementSql(
4871
+ chunkH5IJSROF_cjs.sql.raw(`DROP INDEX ${quoteSqlIdentifier(definition.index_name)}`)
3273
4872
  )
3274
4873
  );
3275
4874
  }
@@ -3279,20 +4878,20 @@ async function restoreSecondaryIndexes(backend, definitions) {
3279
4878
  const executeStatement = requireStatementExecution(backend);
3280
4879
  for (const definition of definitions) {
3281
4880
  await executeStatement(
3282
- chunkOJHD3LXJ_cjs.asCompiledStatementSql(chunkOJHD3LXJ_cjs.sql.raw(definition.index_definition))
4881
+ chunkH5IJSROF_cjs.asCompiledStatementSql(chunkH5IJSROF_cjs.sql.raw(definition.index_definition))
3283
4882
  );
3284
4883
  }
3285
4884
  }
3286
4885
  async function analyzeImportedTables(backend, tableNames) {
3287
4886
  const executeStatement = requireStatementExecution(backend);
3288
4887
  await executeStatement(
3289
- chunkOJHD3LXJ_cjs.asCompiledStatementSql(
3290
- chunkOJHD3LXJ_cjs.sql.raw(`ANALYZE ${quoteSqlIdentifier(tableNames.nodes)}`)
4888
+ chunkH5IJSROF_cjs.asCompiledStatementSql(
4889
+ chunkH5IJSROF_cjs.sql.raw(`ANALYZE ${quoteSqlIdentifier(tableNames.nodes)}`)
3291
4890
  )
3292
4891
  );
3293
4892
  await executeStatement(
3294
- chunkOJHD3LXJ_cjs.asCompiledStatementSql(
3295
- chunkOJHD3LXJ_cjs.sql.raw(`ANALYZE ${quoteSqlIdentifier(tableNames.edges)}`)
4893
+ chunkH5IJSROF_cjs.asCompiledStatementSql(
4894
+ chunkH5IJSROF_cjs.sql.raw(`ANALYZE ${quoteSqlIdentifier(tableNames.edges)}`)
3296
4895
  )
3297
4896
  );
3298
4897
  }
@@ -3318,7 +4917,7 @@ function createSqliteTrustedImportSession(executionAdapter, tableNames) {
3318
4917
  return {
3319
4918
  async insertNodes(params) {
3320
4919
  if (params.length === 0) return;
3321
- const timestamp = (/* @__PURE__ */ new Date()).toISOString();
4920
+ const timestamp2 = (/* @__PURE__ */ new Date()).toISOString();
3322
4921
  await executePreparedRunBatch(
3323
4922
  nodeSql,
3324
4923
  params.map((item) => [
@@ -3326,16 +4925,16 @@ function createSqliteTrustedImportSession(executionAdapter, tableNames) {
3326
4925
  item.kind,
3327
4926
  item.id,
3328
4927
  JSON.stringify(item.props),
3329
- chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(item.validFrom, item.validTo, timestamp) ?? DATABASE_NULL,
4928
+ chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(item.validFrom, item.validTo, timestamp2) ?? DATABASE_NULL,
3330
4929
  item.validTo ?? DATABASE_NULL,
3331
- timestamp,
3332
- timestamp
4930
+ timestamp2,
4931
+ timestamp2
3333
4932
  ])
3334
4933
  );
3335
4934
  },
3336
4935
  async insertEdges(params) {
3337
4936
  if (params.length === 0) return;
3338
- const timestamp = (/* @__PURE__ */ new Date()).toISOString();
4937
+ const timestamp2 = (/* @__PURE__ */ new Date()).toISOString();
3339
4938
  await executePreparedRunBatch(
3340
4939
  edgeSql,
3341
4940
  params.map((item) => [
@@ -3347,10 +4946,10 @@ function createSqliteTrustedImportSession(executionAdapter, tableNames) {
3347
4946
  item.toKind,
3348
4947
  item.toId,
3349
4948
  JSON.stringify(item.props),
3350
- chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(item.validFrom, item.validTo, timestamp) ?? DATABASE_NULL,
4949
+ chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(item.validFrom, item.validTo, timestamp2) ?? DATABASE_NULL,
3351
4950
  item.validTo ?? DATABASE_NULL,
3352
- timestamp,
3353
- timestamp
4951
+ timestamp2,
4952
+ timestamp2
3354
4953
  ])
3355
4954
  );
3356
4955
  }
@@ -3380,7 +4979,7 @@ function createPostgresTrustedImportSession(backend, tableNames) {
3380
4979
  return {
3381
4980
  async insertNodes(params) {
3382
4981
  if (params.length === 0) return;
3383
- const timestamp = (/* @__PURE__ */ new Date()).toISOString();
4982
+ const timestamp2 = (/* @__PURE__ */ new Date()).toISOString();
3384
4983
  await executeRaw(nodeSql, [
3385
4984
  postgresArray(params.map((item) => item.graphId)),
3386
4985
  postgresArray(params.map((item) => item.kind)),
@@ -3388,16 +4987,16 @@ function createPostgresTrustedImportSession(backend, tableNames) {
3388
4987
  postgresArray(params.map((item) => JSON.stringify(item.props))),
3389
4988
  postgresArray(
3390
4989
  params.map(
3391
- (item) => chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(item.validFrom, item.validTo, timestamp) ?? DATABASE_NULL
4990
+ (item) => chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(item.validFrom, item.validTo, timestamp2) ?? DATABASE_NULL
3392
4991
  )
3393
4992
  ),
3394
4993
  postgresArray(params.map((item) => item.validTo ?? DATABASE_NULL)),
3395
- postgresArray(params.map(() => timestamp))
4994
+ postgresArray(params.map(() => timestamp2))
3396
4995
  ]);
3397
4996
  },
3398
4997
  async insertEdges(params) {
3399
4998
  if (params.length === 0) return;
3400
- const timestamp = (/* @__PURE__ */ new Date()).toISOString();
4999
+ const timestamp2 = (/* @__PURE__ */ new Date()).toISOString();
3401
5000
  await executeRaw(edgeSql, [
3402
5001
  postgresArray(params.map((item) => item.graphId)),
3403
5002
  postgresArray(params.map((item) => item.id)),
@@ -3409,11 +5008,11 @@ function createPostgresTrustedImportSession(backend, tableNames) {
3409
5008
  postgresArray(params.map((item) => JSON.stringify(item.props))),
3410
5009
  postgresArray(
3411
5010
  params.map(
3412
- (item) => chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(item.validFrom, item.validTo, timestamp) ?? DATABASE_NULL
5011
+ (item) => chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(item.validFrom, item.validTo, timestamp2) ?? DATABASE_NULL
3413
5012
  )
3414
5013
  ),
3415
5014
  postgresArray(params.map((item) => item.validTo ?? DATABASE_NULL)),
3416
- postgresArray(params.map(() => timestamp))
5015
+ postgresArray(params.map(() => timestamp2))
3417
5016
  ]);
3418
5017
  }
3419
5018
  };
@@ -3447,6 +5046,7 @@ exports.SQLITE_KIND_REMOVAL_TIMESTAMPS = SQLITE_KIND_REMOVAL_TIMESTAMPS;
3447
5046
  exports.analyzeImportedTables = analyzeImportedTables;
3448
5047
  exports.assertActiveSchemaVersion = assertActiveSchemaVersion;
3449
5048
  exports.assertAdoptedDialect = assertAdoptedDialect;
5049
+ exports.assertBundledCapabilityDeclarations = assertBundledCapabilityDeclarations;
3450
5050
  exports.assertTrustedImportDatabaseEmpty = assertTrustedImportDatabaseEmpty;
3451
5051
  exports.buildContributionInsertValues = buildContributionInsertValues;
3452
5052
  exports.buildContributionOnConflictSet = buildContributionOnConflictSet;
@@ -3461,11 +5061,24 @@ exports.createCachedTableExistence = createCachedTableExistence;
3461
5061
  exports.createCommonOperationBackend = createCommonOperationBackend;
3462
5062
  exports.createContributionMaterializer = createContributionMaterializer;
3463
5063
  exports.createPostgresOperationStrategy = createPostgresOperationStrategy;
5064
+ exports.createPostgresTables = createPostgresTables;
3464
5065
  exports.createPostgresTrustedImportSession = createPostgresTrustedImportSession;
3465
5066
  exports.createSqliteOperationStrategy = createSqliteOperationStrategy;
5067
+ exports.createSqliteTables = createSqliteTables;
3466
5068
  exports.createSqliteTrustedImportSession = createSqliteTrustedImportSession;
5069
+ exports.edgeClaims = edgeClaims;
5070
+ exports.edgeClaims2 = edgeClaims2;
5071
+ exports.edges = edges;
5072
+ exports.edges2 = edges2;
5073
+ exports.fulltext = fulltext;
3467
5074
  exports.gateFulltext = gateFulltext;
3468
5075
  exports.gateFulltextMethods = gateFulltextMethods;
5076
+ exports.generatePgCreateTableSQL = generatePgCreateTableSQL;
5077
+ exports.generatePostgresDDL = generatePostgresDDL;
5078
+ exports.generatePostgresMigrationSQL = generatePostgresMigrationSQL;
5079
+ exports.generateSqliteCreateTableSQL = generateSqliteCreateTableSQL;
5080
+ exports.generateSqliteDDL = generateSqliteDDL;
5081
+ exports.generateSqliteMigrationSQL = generateSqliteMigrationSQL;
3469
5082
  exports.getOrCreateLru = getOrCreateLru;
3470
5083
  exports.lockPostgresTrustedImportTables = lockPostgresTrustedImportTables;
3471
5084
  exports.mapContributionMaterializationRow = mapContributionMaterializationRow;
@@ -3473,12 +5086,28 @@ exports.mapHybridSearchRow = mapHybridSearchRow;
3473
5086
  exports.mapKindRemovalRow = mapKindRemovalRow;
3474
5087
  exports.mapMaterializationRow = mapMaterializationRow;
3475
5088
  exports.mapVectorWriteError = mapVectorWriteError;
5089
+ exports.nodes = nodes;
5090
+ exports.nodes2 = nodes2;
5091
+ exports.postgresContributions = postgresContributions;
5092
+ exports.recordedClock = recordedClock;
5093
+ exports.recordedClock2 = recordedClock2;
5094
+ exports.recordedEdges = recordedEdges;
5095
+ exports.recordedEdges2 = recordedEdges2;
5096
+ exports.recordedNodes = recordedNodes;
5097
+ exports.recordedNodes2 = recordedNodes2;
3476
5098
  exports.restoreSecondaryIndexes = restoreSecondaryIndexes;
5099
+ exports.schemaVersions = schemaVersions;
5100
+ exports.schemaVersions2 = schemaVersions2;
5101
+ exports.sqliteContributions = sqliteContributions;
3477
5102
  exports.suspendPostgresSecondaryIndexes = suspendPostgresSecondaryIndexes;
3478
5103
  exports.suspendSqliteSecondaryIndexes = suspendSqliteSecondaryIndexes;
3479
5104
  exports.tableExistsFromRow = tableExistsFromRow;
5105
+ exports.tables = tables;
5106
+ exports.tables2 = tables2;
5107
+ exports.uniques = uniques;
5108
+ exports.uniques2 = uniques2;
3480
5109
  exports.vectorSlotFromCreateIndexParams = vectorSlotFromCreateIndexParams;
3481
5110
  exports.vectorSlotFromDropIndexParams = vectorSlotFromDropIndexParams;
3482
5111
  exports.vectorSlotFromParams = vectorSlotFromParams;
3483
- //# sourceMappingURL=chunk-XMY2SXOH.cjs.map
3484
- //# sourceMappingURL=chunk-XMY2SXOH.cjs.map
5112
+ //# sourceMappingURL=chunk-5WWEYV4H.cjs.map
5113
+ //# sourceMappingURL=chunk-5WWEYV4H.cjs.map