@nicia-ai/typegraph 0.48.0 → 0.50.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 (327) hide show
  1. package/dist/backend/drizzle/indexes.cjs +9 -9
  2. package/dist/backend/drizzle/indexes.d.cts +1 -1
  3. package/dist/backend/drizzle/indexes.d.ts +1 -1
  4. package/dist/backend/drizzle/indexes.js +5 -5
  5. package/dist/backend/index.cjs +56 -52
  6. package/dist/backend/index.d.cts +3 -3
  7. package/dist/backend/index.d.ts +3 -3
  8. package/dist/backend/index.js +11 -11
  9. package/dist/backend/postgres/index.cjs +34 -28
  10. package/dist/backend/postgres/index.d.cts +7 -7
  11. package/dist/backend/postgres/index.d.ts +7 -7
  12. package/dist/backend/postgres/index.js +17 -15
  13. package/dist/backend/postgres/pglite-store.cjs +36 -35
  14. package/dist/backend/postgres/pglite-store.cjs.map +1 -1
  15. package/dist/backend/postgres/pglite-store.d.cts +8 -8
  16. package/dist/backend/postgres/pglite-store.d.ts +8 -8
  17. package/dist/backend/postgres/pglite-store.js +32 -31
  18. package/dist/backend/postgres/pglite-store.js.map +1 -1
  19. package/dist/backend/postgres/pglite.cjs +19 -17
  20. package/dist/backend/postgres/pglite.d.cts +3 -3
  21. package/dist/backend/postgres/pglite.d.ts +3 -3
  22. package/dist/backend/postgres/pglite.js +18 -16
  23. package/dist/backend/sqlite/index.cjs +31 -25
  24. package/dist/backend/sqlite/index.d.cts +7 -7
  25. package/dist/backend/sqlite/index.d.ts +7 -7
  26. package/dist/backend/sqlite/index.js +15 -13
  27. package/dist/backend/sqlite/libsql.cjs +22 -20
  28. package/dist/backend/sqlite/libsql.cjs.map +1 -1
  29. package/dist/backend/sqlite/libsql.d.cts +3 -3
  30. package/dist/backend/sqlite/libsql.d.ts +3 -3
  31. package/dist/backend/sqlite/libsql.js +17 -15
  32. package/dist/backend/sqlite/libsql.js.map +1 -1
  33. package/dist/backend/sqlite/local-store.cjs +37 -36
  34. package/dist/backend/sqlite/local-store.cjs.map +1 -1
  35. package/dist/backend/sqlite/local-store.d.cts +8 -8
  36. package/dist/backend/sqlite/local-store.d.ts +8 -8
  37. package/dist/backend/sqlite/local-store.js +33 -32
  38. package/dist/backend/sqlite/local-store.js.map +1 -1
  39. package/dist/backend/sqlite/local.cjs +20 -18
  40. package/dist/backend/sqlite/local.d.cts +3 -3
  41. package/dist/backend/sqlite/local.d.ts +3 -3
  42. package/dist/backend/sqlite/local.js +18 -16
  43. package/dist/{chunk-AX6JGVTZ.js → chunk-2CYI5HRH.js} +276 -206
  44. package/dist/chunk-2CYI5HRH.js.map +1 -0
  45. package/dist/{chunk-KF6K7TGH.js → chunk-2GIV5X4P.js} +702 -422
  46. package/dist/chunk-2GIV5X4P.js.map +1 -0
  47. package/dist/{chunk-2TYSSBU5.js → chunk-2Q45FAIE.js} +15 -15
  48. package/dist/{chunk-2TYSSBU5.js.map → chunk-2Q45FAIE.js.map} +1 -1
  49. package/dist/{chunk-WODMN3Q2.cjs → chunk-45YZXI6X.cjs} +27 -27
  50. package/dist/{chunk-WODMN3Q2.cjs.map → chunk-45YZXI6X.cjs.map} +1 -1
  51. package/dist/{chunk-3DMMGT6S.js → chunk-46UGOVRW.js} +3 -3
  52. package/dist/{chunk-3DMMGT6S.js.map → chunk-46UGOVRW.js.map} +1 -1
  53. package/dist/{chunk-GLHXM7C4.js → chunk-5LKOVCPP.js} +60 -23
  54. package/dist/chunk-5LKOVCPP.js.map +1 -0
  55. package/dist/{chunk-JFRT7S3B.cjs → chunk-5OWHU7Z7.cjs} +261 -459
  56. package/dist/chunk-5OWHU7Z7.cjs.map +1 -0
  57. package/dist/{chunk-7SQSZN2J.js → chunk-5PP4KRPV.js} +5 -5
  58. package/dist/{chunk-7SQSZN2J.js.map → chunk-5PP4KRPV.js.map} +1 -1
  59. package/dist/chunk-6KQEICJ6.cjs +12 -0
  60. package/dist/{chunk-MKJ4KXL5.cjs.map → chunk-6KQEICJ6.cjs.map} +1 -1
  61. package/dist/{chunk-6SWPJEYN.js → chunk-6LEOAIIB.js} +40 -6
  62. package/dist/chunk-6LEOAIIB.js.map +1 -0
  63. package/dist/{chunk-DZAICA5J.js → chunk-6NKSE5AU.js} +4 -4
  64. package/dist/{chunk-DZAICA5J.js.map → chunk-6NKSE5AU.js.map} +1 -1
  65. package/dist/{chunk-OVI7IXYX.js → chunk-6S3PTHL4.js} +3 -3
  66. package/dist/{chunk-OVI7IXYX.js.map → chunk-6S3PTHL4.js.map} +1 -1
  67. package/dist/{chunk-3FPR224C.cjs → chunk-7CCMCMJO.cjs} +102 -102
  68. package/dist/{chunk-3FPR224C.cjs.map → chunk-7CCMCMJO.cjs.map} +1 -1
  69. package/dist/{chunk-SHFBB23Q.js → chunk-7OWE7WD6.js} +6 -4
  70. package/dist/chunk-7OWE7WD6.js.map +1 -0
  71. package/dist/chunk-7PRMDZIA.cjs +182 -0
  72. package/dist/chunk-7PRMDZIA.cjs.map +1 -0
  73. package/dist/{chunk-CHAOFCHV.js → chunk-AH2A74OZ.js} +3 -3
  74. package/dist/{chunk-CHAOFCHV.js.map → chunk-AH2A74OZ.js.map} +1 -1
  75. package/dist/{chunk-OORXGFL5.cjs → chunk-BYBDM423.cjs} +48 -48
  76. package/dist/{chunk-OORXGFL5.cjs.map → chunk-BYBDM423.cjs.map} +1 -1
  77. package/dist/{chunk-JB6T4GLL.cjs → chunk-C76WFIVZ.cjs} +808 -519
  78. package/dist/chunk-C76WFIVZ.cjs.map +1 -0
  79. package/dist/{chunk-OTUPEF2W.cjs → chunk-CS6JTQQ2.cjs} +328 -257
  80. package/dist/chunk-CS6JTQQ2.cjs.map +1 -0
  81. package/dist/{chunk-AOSSQDVO.cjs → chunk-CSNOYIB4.cjs} +13 -13
  82. package/dist/{chunk-AOSSQDVO.cjs.map → chunk-CSNOYIB4.cjs.map} +1 -1
  83. package/dist/{chunk-HEV35TGT.js → chunk-DI6VC62F.js} +13 -4
  84. package/dist/chunk-DI6VC62F.js.map +1 -0
  85. package/dist/{chunk-2QGYQBS2.cjs → chunk-DWUDZ66O.cjs} +10 -10
  86. package/dist/{chunk-2QGYQBS2.cjs.map → chunk-DWUDZ66O.cjs.map} +1 -1
  87. package/dist/{chunk-ZDKTPBGV.js → chunk-EDLKIQRI.js} +4 -4
  88. package/dist/{chunk-ZDKTPBGV.js.map → chunk-EDLKIQRI.js.map} +1 -1
  89. package/dist/chunk-EH3JZJUM.cjs +567 -0
  90. package/dist/chunk-EH3JZJUM.cjs.map +1 -0
  91. package/dist/{chunk-S5TERQVW.js → chunk-FX5ZW6PN.js} +196 -33
  92. package/dist/chunk-FX5ZW6PN.js.map +1 -0
  93. package/dist/{chunk-XVWOYKIK.js → chunk-FZHF5UWR.js} +3 -3
  94. package/dist/{chunk-XVWOYKIK.js.map → chunk-FZHF5UWR.js.map} +1 -1
  95. package/dist/{chunk-BFUOME67.cjs → chunk-G2TLHH6T.cjs} +20 -11
  96. package/dist/chunk-G2TLHH6T.cjs.map +1 -0
  97. package/dist/{chunk-5PRKMB24.cjs → chunk-GHZPZNFC.cjs} +12 -4
  98. package/dist/chunk-GHZPZNFC.cjs.map +1 -0
  99. package/dist/{chunk-ZFMCDJGB.js → chunk-GVYVGGPJ.js} +11 -199
  100. package/dist/chunk-GVYVGGPJ.js.map +1 -0
  101. package/dist/{chunk-SDBBMD4N.js → chunk-H3XP6BAV.js} +3 -3
  102. package/dist/{chunk-SDBBMD4N.js.map → chunk-H3XP6BAV.js.map} +1 -1
  103. package/dist/{chunk-ROR5ZR6A.cjs → chunk-HSEZ7X6Y.cjs} +45 -45
  104. package/dist/{chunk-ROR5ZR6A.cjs.map → chunk-HSEZ7X6Y.cjs.map} +1 -1
  105. package/dist/{chunk-LRQKXRXO.cjs → chunk-HY5BNOUN.cjs} +4 -4
  106. package/dist/{chunk-LRQKXRXO.cjs.map → chunk-HY5BNOUN.cjs.map} +1 -1
  107. package/dist/chunk-HZUB5CON.js +27 -0
  108. package/dist/chunk-HZUB5CON.js.map +1 -0
  109. package/dist/{chunk-MYKHJI2J.js → chunk-I5C6OTKR.js} +3 -3
  110. package/dist/{chunk-MYKHJI2J.js.map → chunk-I5C6OTKR.js.map} +1 -1
  111. package/dist/{chunk-3U5ABFDW.cjs → chunk-IHK5KA2Q.cjs} +31 -28
  112. package/dist/chunk-IHK5KA2Q.cjs.map +1 -0
  113. package/dist/{chunk-26YKDNUD.cjs → chunk-IPRP6TDL.cjs} +12 -10
  114. package/dist/chunk-IPRP6TDL.cjs.map +1 -0
  115. package/dist/{chunk-UGHG7PGX.js → chunk-IRPYOHRC.js} +26 -4
  116. package/dist/chunk-IRPYOHRC.js.map +1 -0
  117. package/dist/{chunk-7XUYFFR4.cjs → chunk-ISKCIQF2.cjs} +20 -20
  118. package/dist/{chunk-7XUYFFR4.cjs.map → chunk-ISKCIQF2.cjs.map} +1 -1
  119. package/dist/{chunk-OD4SSY2U.js → chunk-JG5XIJDY.js} +57 -31
  120. package/dist/chunk-JG5XIJDY.js.map +1 -0
  121. package/dist/{chunk-2HIYYMWY.cjs → chunk-K2XYLVVB.cjs} +134 -133
  122. package/dist/chunk-K2XYLVVB.cjs.map +1 -0
  123. package/dist/{chunk-5K2BKEBD.js → chunk-K46SDNQD.js} +10 -4
  124. package/dist/chunk-K46SDNQD.js.map +1 -0
  125. package/dist/{chunk-TZEGUG6D.cjs → chunk-K6VKTBST.cjs} +4 -4
  126. package/dist/{chunk-TZEGUG6D.cjs.map → chunk-K6VKTBST.cjs.map} +1 -1
  127. package/dist/chunk-KWNWG4RC.cjs +12 -0
  128. package/dist/{chunk-CICO5GXD.cjs.map → chunk-KWNWG4RC.cjs.map} +1 -1
  129. package/dist/{chunk-FQPEMEWX.cjs → chunk-LLVOQOWE.cjs} +80 -32
  130. package/dist/chunk-LLVOQOWE.cjs.map +1 -0
  131. package/dist/{chunk-TQHGE7UC.cjs → chunk-M5MSP3BI.cjs} +18 -10
  132. package/dist/chunk-M5MSP3BI.cjs.map +1 -0
  133. package/dist/{chunk-ACGSAMD3.js → chunk-MJPZNEJZ.js} +274 -292
  134. package/dist/chunk-MJPZNEJZ.js.map +1 -0
  135. package/dist/{chunk-TUNPBZY3.cjs → chunk-MM3JHVKZ.cjs} +4 -4
  136. package/dist/{chunk-TUNPBZY3.cjs.map → chunk-MM3JHVKZ.cjs.map} +1 -1
  137. package/dist/{chunk-BRRP76WO.js → chunk-MX7EKQPM.js} +457 -299
  138. package/dist/chunk-MX7EKQPM.js.map +1 -0
  139. package/dist/{chunk-2SYZXD54.js → chunk-MZ34E2GN.js} +13 -12
  140. package/dist/chunk-MZ34E2GN.js.map +1 -0
  141. package/dist/{chunk-EDN4Y4ZG.cjs → chunk-OJHD3LXJ.cjs} +9 -9
  142. package/dist/{chunk-EDN4Y4ZG.cjs.map → chunk-OJHD3LXJ.cjs.map} +1 -1
  143. package/dist/{chunk-DO7SAMEK.cjs → chunk-ON47CBE4.cjs} +47 -47
  144. package/dist/{chunk-DO7SAMEK.cjs.map → chunk-ON47CBE4.cjs.map} +1 -1
  145. package/dist/{chunk-6LN7FIVU.js → chunk-PALYTHGM.js} +11 -4
  146. package/dist/chunk-PALYTHGM.js.map +1 -0
  147. package/dist/{chunk-YVF2EM7B.js → chunk-R7MRFE5P.js} +3 -3
  148. package/dist/{chunk-YVF2EM7B.js.map → chunk-R7MRFE5P.js.map} +1 -1
  149. package/dist/{chunk-EZEEWCFJ.cjs → chunk-RDP6ZRSM.cjs} +435 -265
  150. package/dist/chunk-RDP6ZRSM.cjs.map +1 -0
  151. package/dist/{chunk-GYEG3ZLZ.cjs → chunk-RJMHU2MG.cjs} +121 -18
  152. package/dist/chunk-RJMHU2MG.cjs.map +1 -0
  153. package/dist/chunk-RWUWTJQY.cjs +30 -0
  154. package/dist/chunk-RWUWTJQY.cjs.map +1 -0
  155. package/dist/{chunk-CT3ZKTOF.js → chunk-S33YQEL7.js} +7 -7
  156. package/dist/{chunk-CT3ZKTOF.js.map → chunk-S33YQEL7.js.map} +1 -1
  157. package/dist/chunk-S3SDEQMC.js +532 -0
  158. package/dist/chunk-S3SDEQMC.js.map +1 -0
  159. package/dist/{chunk-OI2GQ25X.cjs → chunk-SHC7BCG5.cjs} +7 -7
  160. package/dist/{chunk-OI2GQ25X.cjs.map → chunk-SHC7BCG5.cjs.map} +1 -1
  161. package/dist/{chunk-L3LQNR34.cjs → chunk-TEC24ZDA.cjs} +161 -161
  162. package/dist/{chunk-L3LQNR34.cjs.map → chunk-TEC24ZDA.cjs.map} +1 -1
  163. package/dist/{chunk-HDL2ARHX.cjs → chunk-TP4NJTI3.cjs} +63 -27
  164. package/dist/chunk-TP4NJTI3.cjs.map +1 -0
  165. package/dist/{chunk-UMGZDVOA.cjs → chunk-TTCOPKUL.cjs} +124 -124
  166. package/dist/{chunk-UMGZDVOA.cjs.map → chunk-TTCOPKUL.cjs.map} +1 -1
  167. package/dist/chunk-TUVD4DFR.cjs +1207 -0
  168. package/dist/chunk-TUVD4DFR.cjs.map +1 -0
  169. package/dist/{chunk-PFBRJBUL.cjs → chunk-TYGGUWMS.cjs} +178 -152
  170. package/dist/chunk-TYGGUWMS.cjs.map +1 -0
  171. package/dist/{chunk-4WMMBDS5.js → chunk-U3Z7XKAG.js} +7 -7
  172. package/dist/{chunk-4WMMBDS5.js.map → chunk-U3Z7XKAG.js.map} +1 -1
  173. package/dist/{chunk-NACVVDWB.js → chunk-U5EL6JUV.js} +10 -10
  174. package/dist/{chunk-NACVVDWB.js.map → chunk-U5EL6JUV.js.map} +1 -1
  175. package/dist/{chunk-OMZ37BM2.js → chunk-V76FGHY3.js} +5 -5
  176. package/dist/{chunk-OMZ37BM2.js.map → chunk-V76FGHY3.js.map} +1 -1
  177. package/dist/{chunk-6NGW27EO.cjs → chunk-VLBTRXA2.cjs} +10 -10
  178. package/dist/{chunk-6NGW27EO.cjs.map → chunk-VLBTRXA2.cjs.map} +1 -1
  179. package/dist/chunk-VTJVMP4I.js +1182 -0
  180. package/dist/chunk-VTJVMP4I.js.map +1 -0
  181. package/dist/{chunk-QTD6HX4O.js → chunk-W5SOCUBL.js} +5 -5
  182. package/dist/{chunk-QTD6HX4O.js.map → chunk-W5SOCUBL.js.map} +1 -1
  183. package/dist/{chunk-SR725PWF.cjs → chunk-WCLMKNQE.cjs} +1750 -1592
  184. package/dist/chunk-WCLMKNQE.cjs.map +1 -0
  185. package/dist/{chunk-TKZXMWQF.cjs → chunk-WK23PGTP.cjs} +13 -13
  186. package/dist/{chunk-TKZXMWQF.cjs.map → chunk-WK23PGTP.cjs.map} +1 -1
  187. package/dist/{chunk-KKBDXCLQ.js → chunk-WQBAQZHR.js} +4 -4
  188. package/dist/{chunk-KKBDXCLQ.js.map → chunk-WQBAQZHR.js.map} +1 -1
  189. package/dist/{chunk-MRDBBHIZ.cjs → chunk-X4GDXBOP.cjs} +2 -2
  190. package/dist/chunk-X4GDXBOP.cjs.map +1 -0
  191. package/dist/{chunk-WCCATHMB.cjs → chunk-XMY2SXOH.cjs} +438 -456
  192. package/dist/chunk-XMY2SXOH.cjs.map +1 -0
  193. package/dist/{chunk-D5R42W5D.js → chunk-XZW2CTNO.js} +115 -12
  194. package/dist/chunk-XZW2CTNO.js.map +1 -0
  195. package/dist/{chunk-NVY5CJFP.js → chunk-Y55DLLEG.js} +9 -6
  196. package/dist/chunk-Y55DLLEG.js.map +1 -0
  197. package/dist/chunk-YA36ABIL.js +174 -0
  198. package/dist/chunk-YA36ABIL.js.map +1 -0
  199. package/dist/{chunk-ZLONH2UD.js → chunk-YDEJQWOL.js} +2 -2
  200. package/dist/chunk-YDEJQWOL.js.map +1 -0
  201. package/dist/{chunk-JONXFAPO.js → chunk-ZAQUKCUC.js} +5 -5
  202. package/dist/{chunk-JONXFAPO.js.map → chunk-ZAQUKCUC.js.map} +1 -1
  203. package/dist/{chunk-SIT26LAZ.cjs → chunk-ZBFZGLZE.cjs} +29 -5
  204. package/dist/chunk-ZBFZGLZE.cjs.map +1 -0
  205. package/dist/{chunk-P6YLZTRE.js → chunk-ZRJTM7MT.js} +3 -3
  206. package/dist/{chunk-P6YLZTRE.js.map → chunk-ZRJTM7MT.js.map} +1 -1
  207. package/dist/core/index.cjs +29 -28
  208. package/dist/core/index.d.cts +4 -4
  209. package/dist/core/index.d.ts +4 -4
  210. package/dist/core/index.js +9 -8
  211. package/dist/{ddl-D_oW-EVO.d.ts → ddl-B49O7dB_.d.ts} +3 -3
  212. package/dist/{ddl-BL1NZLMY.d.cts → ddl-DcZG660s.d.cts} +3 -3
  213. package/dist/graph-extension/index.cjs +21 -20
  214. package/dist/graph-extension/index.d.cts +4 -4
  215. package/dist/graph-extension/index.d.ts +4 -4
  216. package/dist/graph-extension/index.js +5 -4
  217. package/dist/graph-merge/index.cjs +327 -302
  218. package/dist/graph-merge/index.cjs.map +1 -1
  219. package/dist/graph-merge/index.d.cts +14 -11
  220. package/dist/graph-merge/index.d.ts +14 -11
  221. package/dist/graph-merge/index.js +52 -27
  222. package/dist/graph-merge/index.js.map +1 -1
  223. package/dist/{index-D7d1u2gr.d.ts → index-B0PrmE3K.d.cts} +16 -2
  224. package/dist/{index-COs_z6nV.d.cts → index-CwcXsL5R.d.ts} +16 -2
  225. package/dist/index.cjs +223 -222
  226. package/dist/index.cjs.map +1 -1
  227. package/dist/index.d.cts +12 -12
  228. package/dist/index.d.ts +12 -12
  229. package/dist/index.js +37 -36
  230. package/dist/index.js.map +1 -1
  231. package/dist/indexes/index.cjs +13 -13
  232. package/dist/indexes/index.d.cts +4 -4
  233. package/dist/indexes/index.d.ts +4 -4
  234. package/dist/indexes/index.js +6 -6
  235. package/dist/ingestion-import-target-CI8OWIkM.d.ts +17 -0
  236. package/dist/ingestion-import-target-DCpfM1PX.d.cts +17 -0
  237. package/dist/interchange/index.cjs +55 -54
  238. package/dist/interchange/index.cjs.map +1 -1
  239. package/dist/interchange/index.d.cts +26 -12
  240. package/dist/interchange/index.d.ts +26 -12
  241. package/dist/interchange/index.js +19 -18
  242. package/dist/interchange/index.js.map +1 -1
  243. package/dist/{manager-D9eRT_ns.d.ts → manager-Cfg1ENj1.d.ts} +30 -2
  244. package/dist/{manager-CYaff3n3.d.cts → manager-D348fa6W.d.cts} +30 -2
  245. package/dist/{materialize-indexes-DJ3ykH59.d.ts → materialize-indexes-C9GG3O3C.d.ts} +1 -1
  246. package/dist/{materialize-indexes-DTtAnvfY.d.cts → materialize-indexes-CrSiW_lT.d.cts} +1 -1
  247. package/dist/{postgres-DMj39MEu.d.cts → postgres-CH1kkM5J.d.cts} +279 -2
  248. package/dist/{postgres-CcL4bAHS.d.ts → postgres-UStOycLI.d.ts} +279 -2
  249. package/dist/profiler/index.d.cts +9 -9
  250. package/dist/profiler/index.d.ts +9 -9
  251. package/dist/provenance/index.cjs +46 -44
  252. package/dist/provenance/index.cjs.map +1 -1
  253. package/dist/provenance/index.d.cts +7 -7
  254. package/dist/provenance/index.d.ts +7 -7
  255. package/dist/provenance/index.js +12 -10
  256. package/dist/provenance/index.js.map +1 -1
  257. package/dist/{repair-validity-windows-DlUSqwCg.d.ts → repair-validity-windows-BtOEe2pS.d.ts} +2 -2
  258. package/dist/{repair-validity-windows-BFNZvd_H.d.cts → repair-validity-windows-aWX7VNvv.d.cts} +2 -2
  259. package/dist/schema/index.cjs +46 -46
  260. package/dist/schema/index.d.cts +6 -6
  261. package/dist/schema/index.d.ts +6 -6
  262. package/dist/schema/index.js +19 -19
  263. package/dist/{searchable-DHJMh_nj.d.cts → searchable-C8-RrL3l.d.cts} +1 -1
  264. package/dist/{searchable-bpE1bBfc.d.ts → searchable-z4BiFfHI.d.ts} +1 -1
  265. package/dist/{sqlite-D7Oz0SQh.d.ts → sqlite-Cyx9j9o6.d.cts} +309 -2
  266. package/dist/{sqlite-YppHrNFb.d.cts → sqlite-axLw5Lo5.d.ts} +309 -2
  267. package/dist/{store-JUVvtmR4.d.cts → store-CTfQ9taw.d.ts} +110 -13
  268. package/dist/{store-UzrGvZOo.d.ts → store-DR9J7JVB.d.cts} +110 -13
  269. package/dist/{temporal-5GqpYCk2.d.cts → temporal-B4Ky4wzh.d.cts} +1 -1
  270. package/dist/{temporal-CbnLzTmM.d.ts → temporal-CBOrERz5.d.ts} +1 -1
  271. package/dist/{types-CXAhpW-c.d.cts → types-BE921wRl.d.cts} +1 -1
  272. package/dist/{types-Bx74kaTt.d.ts → types-BScHXVM7.d.ts} +1 -1
  273. package/dist/{types-BqFZTQmV.d.cts → types-CWg4dTjj.d.cts} +257 -6
  274. package/dist/{types-BqFZTQmV.d.ts → types-CWg4dTjj.d.ts} +257 -6
  275. package/dist/{where-O-k2wgYm.d.ts → where-BWXUPV3C.d.ts} +1 -1
  276. package/dist/{where-DI_Fqz-X.d.cts → where-CNtx1aLc.d.cts} +1 -1
  277. package/package.json +4 -4
  278. package/dist/chunk-26YKDNUD.cjs.map +0 -1
  279. package/dist/chunk-2HIYYMWY.cjs.map +0 -1
  280. package/dist/chunk-2SYZXD54.js.map +0 -1
  281. package/dist/chunk-3KOY4FH3.cjs +0 -934
  282. package/dist/chunk-3KOY4FH3.cjs.map +0 -1
  283. package/dist/chunk-3U5ABFDW.cjs.map +0 -1
  284. package/dist/chunk-5K2BKEBD.js.map +0 -1
  285. package/dist/chunk-5PRKMB24.cjs.map +0 -1
  286. package/dist/chunk-6LN7FIVU.js.map +0 -1
  287. package/dist/chunk-6SWPJEYN.js.map +0 -1
  288. package/dist/chunk-ACGSAMD3.js.map +0 -1
  289. package/dist/chunk-AX6JGVTZ.js.map +0 -1
  290. package/dist/chunk-BFUOME67.cjs.map +0 -1
  291. package/dist/chunk-BRRP76WO.js.map +0 -1
  292. package/dist/chunk-CICO5GXD.cjs +0 -12
  293. package/dist/chunk-D5R42W5D.js.map +0 -1
  294. package/dist/chunk-EZEEWCFJ.cjs.map +0 -1
  295. package/dist/chunk-FA2AFWLP.cjs +0 -167
  296. package/dist/chunk-FA2AFWLP.cjs.map +0 -1
  297. package/dist/chunk-FQPEMEWX.cjs.map +0 -1
  298. package/dist/chunk-GLHXM7C4.js.map +0 -1
  299. package/dist/chunk-GYEG3ZLZ.cjs.map +0 -1
  300. package/dist/chunk-HDL2ARHX.cjs.map +0 -1
  301. package/dist/chunk-HEV35TGT.js.map +0 -1
  302. package/dist/chunk-I4GAZH5Z.js +0 -913
  303. package/dist/chunk-I4GAZH5Z.js.map +0 -1
  304. package/dist/chunk-JB6T4GLL.cjs.map +0 -1
  305. package/dist/chunk-JBQQ7THH.js +0 -20
  306. package/dist/chunk-JBQQ7THH.js.map +0 -1
  307. package/dist/chunk-JFRT7S3B.cjs.map +0 -1
  308. package/dist/chunk-KF6K7TGH.js.map +0 -1
  309. package/dist/chunk-MKJ4KXL5.cjs +0 -12
  310. package/dist/chunk-MRDBBHIZ.cjs.map +0 -1
  311. package/dist/chunk-NVY5CJFP.js.map +0 -1
  312. package/dist/chunk-OD4SSY2U.js.map +0 -1
  313. package/dist/chunk-OTUPEF2W.cjs.map +0 -1
  314. package/dist/chunk-PFBRJBUL.cjs.map +0 -1
  315. package/dist/chunk-PWLJ77UV.cjs +0 -23
  316. package/dist/chunk-PWLJ77UV.cjs.map +0 -1
  317. package/dist/chunk-S5TERQVW.js.map +0 -1
  318. package/dist/chunk-SHFBB23Q.js.map +0 -1
  319. package/dist/chunk-SIT26LAZ.cjs.map +0 -1
  320. package/dist/chunk-SR725PWF.cjs.map +0 -1
  321. package/dist/chunk-TQHGE7UC.cjs.map +0 -1
  322. package/dist/chunk-UGHG7PGX.js.map +0 -1
  323. package/dist/chunk-WCCATHMB.cjs.map +0 -1
  324. package/dist/chunk-YIURNGXI.js +0 -155
  325. package/dist/chunk-YIURNGXI.js.map +0 -1
  326. package/dist/chunk-ZFMCDJGB.js.map +0 -1
  327. package/dist/chunk-ZLONH2UD.js.map +0 -1
@@ -1,15 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var chunkFA2AFWLP_cjs = require('./chunk-FA2AFWLP.cjs');
4
- var chunkHDL2ARHX_cjs = require('./chunk-HDL2ARHX.cjs');
5
- var chunkWODMN3Q2_cjs = require('./chunk-WODMN3Q2.cjs');
6
- var chunkPWLJ77UV_cjs = require('./chunk-PWLJ77UV.cjs');
7
- var chunkSIT26LAZ_cjs = require('./chunk-SIT26LAZ.cjs');
8
- var chunkTQHGE7UC_cjs = require('./chunk-TQHGE7UC.cjs');
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');
9
+ var chunkM5MSP3BI_cjs = require('./chunk-M5MSP3BI.cjs');
9
10
  var chunkZY4GXIVN_cjs = require('./chunk-ZY4GXIVN.cjs');
10
- var chunkL3LQNR34_cjs = require('./chunk-L3LQNR34.cjs');
11
- var chunkEDN4Y4ZG_cjs = require('./chunk-EDN4Y4ZG.cjs');
12
- var chunkMRDBBHIZ_cjs = require('./chunk-MRDBBHIZ.cjs');
11
+ var chunkTEC24ZDA_cjs = require('./chunk-TEC24ZDA.cjs');
12
+ var chunkOJHD3LXJ_cjs = require('./chunk-OJHD3LXJ.cjs');
13
+ var chunkX4GDXBOP_cjs = require('./chunk-X4GDXBOP.cjs');
13
14
  var chunkN66HCGCY_cjs = require('./chunk-N66HCGCY.cjs');
14
15
  var drizzleOrm = require('drizzle-orm');
15
16
 
@@ -20,7 +21,7 @@ function assertLimitPerEndpoint(operation, graphId, limitPerEndpoint, kind) {
20
21
  if (limitPerEndpoint === void 0 || Number.isInteger(limitPerEndpoint) && limitPerEndpoint > 0) {
21
22
  return;
22
23
  }
23
- throw new chunkMRDBBHIZ_cjs.ConfigurationError(
24
+ throw new chunkX4GDXBOP_cjs.ConfigurationError(
24
25
  `${operation} \`limitPerEndpoint\` must be a positive integer, received ${String(limitPerEndpoint)}.`,
25
26
  {
26
27
  code: "EDGE_ENDPOINT_SET_INVALID",
@@ -64,7 +65,7 @@ function resolveHeterogeneousEdgeRead(params, maxBindParameters) {
64
65
  if (endpointChunkSize >= 1) {
65
66
  return { edgeKinds, endpoints, endpointChunkSize };
66
67
  }
67
- throw new chunkMRDBBHIZ_cjs.ConfigurationError(
68
+ throw new chunkX4GDXBOP_cjs.ConfigurationError(
68
69
  "findEdgesByHeterogeneousEndpointSet cannot fit one endpoint and the selected edge kinds within the backend bind-parameter budget.",
69
70
  {
70
71
  code: "EDGE_HETEROGENEOUS_READ_BIND_BUDGET_EXCEEDED",
@@ -80,8 +81,8 @@ function resolveHeterogeneousEdgeRead(params, maxBindParameters) {
80
81
 
81
82
  // src/backend/live-node-candidates.ts
82
83
  function buildLiveNodeCandidates(nodesTableName, graphId, nodeKind, now) {
83
- const nodes = chunkEDN4Y4ZG_cjs.sql.identifier(nodesTableName);
84
- return chunkEDN4Y4ZG_cjs.sql`
84
+ const nodes = chunkOJHD3LXJ_cjs.sql.identifier(nodesTableName);
85
+ return chunkOJHD3LXJ_cjs.sql`
85
86
  SELECT "id" AS node_id
86
87
  FROM ${nodes}
87
88
  WHERE "graph_id" = ${graphId}
@@ -122,10 +123,10 @@ function vectorSlotFromDropIndexParams(params) {
122
123
  };
123
124
  }
124
125
  function mapVectorWriteError(error, params) {
125
- const mismatch = chunkSIT26LAZ_cjs.parseDimensionMismatch(error);
126
+ const mismatch = chunkZBFZGLZE_cjs.parseDimensionMismatch(error);
126
127
  if (mismatch === void 0) return error;
127
128
  const attempted = mismatch.actual ?? "a different number of";
128
- return new chunkMRDBBHIZ_cjs.EmbeddingDimensionChangedError(
129
+ return new chunkX4GDXBOP_cjs.EmbeddingDimensionChangedError(
129
130
  `Embedding "${params.nodeKind}.${params.fieldPath}" was written with ${attempted} dimensions, but its per-field storage expects ${mismatch.expected}. The field's embedding dimension changed; existing vectors must be recreated and re-embedded.`,
130
131
  {
131
132
  kind: params.nodeKind,
@@ -141,7 +142,7 @@ var SQLITE_CONTRIBUTION_MAT_TIMESTAMPS = {
141
142
  encode: (value) => value
142
143
  };
143
144
  var POSTGRES_CONTRIBUTION_MAT_TIMESTAMPS = {
144
- decode: chunkFA2AFWLP_cjs.formatPostgresTimestamp,
145
+ decode: chunkEH3JZJUM_cjs.formatPostgresTimestamp,
145
146
  encode: (value) => new Date(value)
146
147
  };
147
148
  function mapContributionMaterializationRow(row, decode) {
@@ -191,7 +192,7 @@ function contributionSignatureInput(dialect, identity, createDdl) {
191
192
  tableName: identity.tableName,
192
193
  createDdl
193
194
  };
194
- return JSON.stringify(hashable, chunkPWLJ77UV_cjs.sortedReplacer);
195
+ return JSON.stringify(hashable, chunkZBFZGLZE_cjs.sortedReplacer);
195
196
  }
196
197
  function evaluateContributionState(row, signature) {
197
198
  if (row === void 0) return "missing";
@@ -250,10 +251,10 @@ function identityOf(graphId, contribution) {
250
251
  }
251
252
  function missingTableErrorNames(error, tableName) {
252
253
  const quotedTableName2 = `"${tableName.replaceAll('"', '""')}"`;
253
- for (const link of chunkSIT26LAZ_cjs.errorChain(error)) {
254
+ for (const link of chunkZBFZGLZE_cjs.errorChain(error)) {
254
255
  const message = errorMessage(link);
255
256
  if (typeof message !== "string") continue;
256
- const sqliteMatch = /\bno such table:\s*([^\s;]+)/i.exec(message);
257
+ const sqliteMatch = /\bno such table:\s*([^\s;:]+)/i.exec(message);
257
258
  const sqliteName = unquoteSqliteIdentifier(sqliteMatch?.[1]);
258
259
  if (sqliteName === tableName) return true;
259
260
  const namesPostgresTable = message.includes(`relation ${quotedTableName2} does not exist`) || message.includes(`table ${quotedTableName2} does not exist`);
@@ -355,13 +356,13 @@ function gateFulltextMethods(source, assert, refuseUnavailable) {
355
356
  return gated;
356
357
  }
357
358
  function gateFulltext(tx, assert, refuseUnavailable) {
358
- return chunkSIT26LAZ_cjs.deriveBackend(
359
+ return chunkZBFZGLZE_cjs.deriveBackend(
359
360
  tx,
360
361
  gateFulltextMethods(tx, assert, refuseUnavailable)
361
362
  );
362
363
  }
363
364
  function contributionRebuildSupported(fulltextStrategy, fulltextTableName, transactional) {
364
- return transactional && chunkHDL2ARHX_cjs.runtimeStrategyContributions(fulltextStrategy, fulltextTableName).every(
365
+ return transactional && chunkTP4NJTI3_cjs.runtimeStrategyContributions(fulltextStrategy, fulltextTableName).every(
365
366
  (contribution) => contribution.dropDdl !== void 0
366
367
  );
367
368
  }
@@ -410,7 +411,7 @@ function createContributionMaterializer(deps) {
410
411
  }
411
412
  }
412
413
  function runtimeContributions() {
413
- return chunkHDL2ARHX_cjs.runtimeStrategyContributions(fulltextStrategy, fulltextTableName);
414
+ return chunkTP4NJTI3_cjs.runtimeStrategyContributions(fulltextStrategy, fulltextTableName);
414
415
  }
415
416
  function cacheInitializedSignature(key, signature) {
416
417
  if (!uncacheableKeys.has(key)) {
@@ -437,13 +438,13 @@ function createContributionMaterializer(deps) {
437
438
  await deps.recordMarker({
438
439
  ...identity,
439
440
  signature: existing.signature,
440
- attemptedAt: chunkFA2AFWLP_cjs.nowIso(),
441
+ attemptedAt: chunkEH3JZJUM_cjs.nowIso(),
441
442
  materializedAt: void 0,
442
443
  error: error.message
443
444
  });
444
445
  throw error;
445
446
  }
446
- const attemptedAt = chunkFA2AFWLP_cjs.nowIso();
447
+ const attemptedAt = chunkEH3JZJUM_cjs.nowIso();
447
448
  try {
448
449
  for (const statement of contribution.createDdl) {
449
450
  await deps.execDdl(statement);
@@ -479,7 +480,7 @@ function createContributionMaterializer(deps) {
479
480
  rows: indexMarkerRows(graphId, await deps.getMarkers(graphId))
480
481
  };
481
482
  } catch (error) {
482
- if (!chunkSIT26LAZ_cjs.isMissingTableError(error)) throw error;
483
+ if (!chunkZBFZGLZE_cjs.isMissingTableError(error)) throw error;
483
484
  return { kind: "missing-table", error };
484
485
  }
485
486
  }
@@ -558,7 +559,7 @@ function createContributionMaterializer(deps) {
558
559
  if (read.kind === "missing-table") {
559
560
  const first = pending[0];
560
561
  if (first === void 0) return;
561
- throw new chunkMRDBBHIZ_cjs.StoreNotInitializedError(graphId, "missing", {
562
+ throw new chunkX4GDXBOP_cjs.StoreNotInitializedError(graphId, "missing", {
562
563
  cause: read.error,
563
564
  details: { logicalName: first.contribution.logicalName }
564
565
  });
@@ -567,7 +568,7 @@ function createContributionMaterializer(deps) {
567
568
  const { contribution, key, signature } = entry;
568
569
  const state = evaluateContributionState(read.rows.get(key), signature);
569
570
  if (state !== "initialized") {
570
- throw new chunkMRDBBHIZ_cjs.StoreNotInitializedError(graphId, state, {
571
+ throw new chunkX4GDXBOP_cjs.StoreNotInitializedError(graphId, state, {
571
572
  details: { logicalName: contribution.logicalName }
572
573
  });
573
574
  }
@@ -582,12 +583,12 @@ function createContributionMaterializer(deps) {
582
583
  }
583
584
  async function refuseUnavailableFulltext(graphId, error) {
584
585
  await Promise.resolve();
585
- if (!chunkSIT26LAZ_cjs.isMissingTableError(error)) throw error;
586
+ if (!chunkZBFZGLZE_cjs.isMissingTableError(error)) throw error;
586
587
  const missingContribution = runtimeContributions().find(
587
588
  (contribution) => contribution.logicalName === "fulltext" && missingTableErrorNames(error, contribution.tableName)
588
589
  );
589
590
  if (missingContribution !== void 0) {
590
- throw new chunkMRDBBHIZ_cjs.ContributionUnavailableError(
591
+ throw new chunkX4GDXBOP_cjs.ContributionUnavailableError(
591
592
  graphId,
592
593
  missingContribution.tableName,
593
594
  { cause: error }
@@ -756,23 +757,23 @@ function createContributionMaterializer(deps) {
756
757
  async function lockContributionDdl(tx) {
757
758
  if (dialect !== "postgres") return;
758
759
  await tx.execute(
759
- chunkEDN4Y4ZG_cjs.asCompiledRowsSql(
760
- chunkEDN4Y4ZG_cjs.sql`SELECT pg_advisory_xact_lock(hashtext(${CONTRIBUTION_DDL_LOCK_KEY}), 0)`
760
+ chunkOJHD3LXJ_cjs.asCompiledRowsSql(
761
+ chunkOJHD3LXJ_cjs.sql`SELECT pg_advisory_xact_lock(hashtext(${CONTRIBUTION_DDL_LOCK_KEY}), 0)`
761
762
  )
762
763
  );
763
764
  }
764
765
  async function lockSharedFulltextTable(tx, tableName) {
765
766
  if (dialect !== "postgres") return;
766
767
  await tx.executeStatement(
767
- chunkEDN4Y4ZG_cjs.asCompiledStatementSql(
768
- chunkEDN4Y4ZG_cjs.sql`LOCK TABLE ${chunkEDN4Y4ZG_cjs.sql.identifier(tableName)} IN ACCESS EXCLUSIVE MODE`
768
+ chunkOJHD3LXJ_cjs.asCompiledStatementSql(
769
+ chunkOJHD3LXJ_cjs.sql`LOCK TABLE ${chunkOJHD3LXJ_cjs.sql.identifier(tableName)} IN ACCESS EXCLUSIVE MODE`
769
770
  )
770
771
  );
771
772
  }
772
773
  async function readForeignGraphIds(tx, tableName, graphId) {
773
774
  const rows = await tx.execute(
774
- chunkEDN4Y4ZG_cjs.asCompiledRowsSql(
775
- chunkL3LQNR34_cjs.buildForeignFulltextGraphProbe(
775
+ chunkOJHD3LXJ_cjs.asCompiledRowsSql(
776
+ chunkTEC24ZDA_cjs.buildForeignFulltextGraphProbe(
776
777
  tableName,
777
778
  graphId,
778
779
  FOREIGN_GRAPH_REPORT_LIMIT
@@ -783,7 +784,7 @@ function createContributionMaterializer(deps) {
783
784
  }
784
785
  async function rebuildContribution(graphId, scope, repopulate) {
785
786
  if (scope === "vector") {
786
- throw new chunkMRDBBHIZ_cjs.ContributionRebuildUnsupportedError(
787
+ throw new chunkX4GDXBOP_cjs.ContributionRebuildUnsupportedError(
787
788
  "vector-source-unavailable",
788
789
  { graphId, contribution: scope }
789
790
  );
@@ -793,7 +794,7 @@ function createContributionMaterializer(deps) {
793
794
  (contribution) => contribution.dropDdl === void 0
794
795
  );
795
796
  if (withoutTeardown !== void 0) {
796
- throw new chunkMRDBBHIZ_cjs.ContributionRebuildUnsupportedError("no-drop-ddl", {
797
+ throw new chunkX4GDXBOP_cjs.ContributionRebuildUnsupportedError("no-drop-ddl", {
797
798
  graphId,
798
799
  contribution: scope,
799
800
  owner: withoutTeardown.owner,
@@ -803,7 +804,7 @@ function createContributionMaterializer(deps) {
803
804
  }
804
805
  const fence = deps.schemaWriteTransaction;
805
806
  if (fence === void 0) {
806
- throw new chunkMRDBBHIZ_cjs.ContributionRebuildUnsupportedError("no-schema-fence", {
807
+ throw new chunkX4GDXBOP_cjs.ContributionRebuildUnsupportedError("no-schema-fence", {
807
808
  graphId,
808
809
  contribution: scope,
809
810
  backend: dialect
@@ -826,7 +827,7 @@ function createContributionMaterializer(deps) {
826
827
  const rebuilt = await fence(graphId, async (tx) => {
827
828
  const record = tx.recordContributionMaterialization;
828
829
  if (record === void 0) {
829
- throw new chunkMRDBBHIZ_cjs.ConfigurationError(
830
+ throw new chunkX4GDXBOP_cjs.ConfigurationError(
830
831
  "rebuildContribution requires a transaction-scoped backend that can write contribution markers; without it the drop, recreate, and stamp could not commit together.",
831
832
  {
832
833
  backend: dialect,
@@ -850,7 +851,7 @@ function createContributionMaterializer(deps) {
850
851
  ) === "stale"
851
852
  );
852
853
  if (staleStamp !== void 0) {
853
- throw new chunkMRDBBHIZ_cjs.ContributionRebuildUnsupportedError(
854
+ throw new chunkX4GDXBOP_cjs.ContributionRebuildUnsupportedError(
854
855
  "shared-storage-in-use",
855
856
  {
856
857
  graphId,
@@ -875,13 +876,13 @@ function createContributionMaterializer(deps) {
875
876
  }
876
877
  if (!recreateStorage) {
877
878
  await tx.executeStatement(
878
- chunkEDN4Y4ZG_cjs.asCompiledStatementSql(
879
- chunkL3LQNR34_cjs.buildFulltextGraphDelete(sharedTable, graphId)
879
+ chunkOJHD3LXJ_cjs.asCompiledStatementSql(
880
+ chunkTEC24ZDA_cjs.buildFulltextGraphDelete(sharedTable, graphId)
880
881
  )
881
882
  );
882
883
  }
883
884
  const stats = await repopulate(tx);
884
- const now = chunkFA2AFWLP_cjs.nowIso();
885
+ const now = chunkEH3JZJUM_cjs.nowIso();
885
886
  for (const { contribution, signature } of stamps) {
886
887
  await record({
887
888
  ...identityOf(graphId, contribution),
@@ -943,7 +944,7 @@ var SQLITE_INDEX_MAT_TIMESTAMPS = {
943
944
  encode: (value) => value
944
945
  };
945
946
  var POSTGRES_INDEX_MAT_TIMESTAMPS = {
946
- decode: chunkFA2AFWLP_cjs.formatPostgresTimestamp,
947
+ decode: chunkEH3JZJUM_cjs.formatPostgresTimestamp,
947
948
  encode: (value) => new Date(value)
948
949
  };
949
950
  function mapMaterializationRow(row, decode) {
@@ -1001,7 +1002,7 @@ var SQLITE_KIND_REMOVAL_TIMESTAMPS = {
1001
1002
  encode: (value) => value
1002
1003
  };
1003
1004
  var POSTGRES_KIND_REMOVAL_TIMESTAMPS = {
1004
- decode: chunkFA2AFWLP_cjs.formatPostgresTimestamp,
1005
+ decode: chunkEH3JZJUM_cjs.formatPostgresTimestamp,
1005
1006
  encode: (value) => new Date(value)
1006
1007
  };
1007
1008
  function mapKindRemovalRow(row, decode) {
@@ -1042,68 +1043,8 @@ function buildKindRemovalOnConflictSet(removedAtColumn, paramsRemovedAt) {
1042
1043
  lastError: drizzleOrm.sql`excluded.${drizzleOrm.sql.identifier("last_error")}`
1043
1044
  };
1044
1045
  }
1045
- function primaryKeyConstraintNames(relation, keyColumns) {
1046
- return [`${relation}_pkey`, `${relation}_${keyColumns.join("_")}_pk`];
1047
- }
1048
- function nodePrimaryKeyConstraint(nodes) {
1049
- const relation = drizzleOrm.getTableName(nodes);
1050
- return {
1051
- table: relation,
1052
- constraintNames: primaryKeyConstraintNames(relation, [
1053
- nodes.graphId.name,
1054
- nodes.kind.name,
1055
- nodes.id.name
1056
- ])
1057
- };
1058
- }
1059
- function edgePrimaryKeyConstraint(edges) {
1060
- const relation = drizzleOrm.getTableName(edges);
1061
- return {
1062
- table: relation,
1063
- constraintNames: primaryKeyConstraintNames(relation, [
1064
- edges.graphId.name,
1065
- edges.id.name
1066
- ])
1067
- };
1068
- }
1069
- function sqlNull(value) {
1070
- return value ?? drizzleOrm.sql.raw("NULL");
1071
- }
1072
- function expectedValidFromPredicate(column, expected) {
1073
- if (expected === void 0) return drizzleOrm.sql.empty();
1074
- if (expected === null) return drizzleOrm.sql` AND ${column} IS NULL`;
1075
- return drizzleOrm.sql` AND ${column} = ${expected}`;
1076
- }
1077
- function quotedColumn(column) {
1078
- return drizzleOrm.sql.raw(`"${column.name.replaceAll('"', '""')}"`);
1079
- }
1080
- function quotedTableName(tableName) {
1081
- return drizzleOrm.sql.raw(`"${tableName.replaceAll('"', '""')}"`);
1082
- }
1083
- var CODE_POINT_ORDER_BUILDERS = {
1084
- postgres: (value) => drizzleOrm.sql`${value} COLLATE "C"`,
1085
- sqlite: (value) => value
1086
- };
1087
- function codePointOrderKey(column, dialect) {
1088
- return CODE_POINT_ORDER_BUILDERS[dialect](column);
1089
- }
1090
- function liveNodeIdsSubquery(nodes, graphId, nodeKind, nowIso2) {
1091
- return drizzleOrm.sql`SELECT ${nodes.id} AS node_id FROM ${nodes} WHERE ${nodes.graphId} = ${graphId} AND ${nodes.kind} = ${nodeKind} AND ${nodes.deletedAt} IS NULL AND (${nodes.validFrom} IS NULL OR ${nodes.validFrom} <= ${nowIso2}) AND (${nodes.validTo} IS NULL OR ${nodes.validTo} > ${nowIso2})`;
1092
- }
1093
- function nodeColumnList(nodes) {
1094
- return drizzleOrm.sql.raw(
1095
- `"${nodes.graphId.name}", "${nodes.kind.name}", "${nodes.id.name}", "${nodes.props.name}", "${nodes.version.name}", "${nodes.validFrom.name}", "${nodes.validTo.name}", "${nodes.createdAt.name}", "${nodes.updatedAt.name}"`
1096
- );
1097
- }
1098
- function edgeColumnList(edges) {
1099
- return drizzleOrm.sql.raw(
1100
- `"${edges.graphId.name}", "${edges.id.name}", "${edges.kind.name}", "${edges.fromKind.name}", "${edges.fromId.name}", "${edges.toKind.name}", "${edges.toId.name}", "${edges.props.name}", "${edges.validFrom.name}", "${edges.validTo.name}", "${edges.createdAt.name}", "${edges.updatedAt.name}"`
1101
- );
1102
- }
1103
-
1104
- // src/backend/drizzle/operations/hybrid.ts
1105
1046
  function nodeIdOrderKey(dialect) {
1106
- return codePointOrderKey(drizzleOrm.sql.raw("node_id"), dialect);
1047
+ return chunkEH3JZJUM_cjs.codePointOrderKey(drizzleOrm.sql.raw("node_id"), dialect);
1107
1048
  }
1108
1049
  function hybridCandidatesRef() {
1109
1050
  return drizzleOrm.sql`SELECT node_id FROM tg_hybrid_cand`;
@@ -1185,7 +1126,7 @@ function buildHybridSearchStatement(input) {
1185
1126
  `;
1186
1127
  }
1187
1128
  function qualified(nodes, member) {
1188
- return drizzleOrm.sql`tg_hybrid_node.${quotedColumn(nodes[member])}`;
1129
+ return drizzleOrm.sql`tg_hybrid_node.${chunkEH3JZJUM_cjs.quotedColumn(nodes[member])}`;
1189
1130
  }
1190
1131
  function present(value) {
1191
1132
  return value !== null && value !== void 0;
@@ -1193,12 +1134,12 @@ function present(value) {
1193
1134
  function mapHybridSearchRow(row, toNodeRow) {
1194
1135
  return {
1195
1136
  node: toNodeRow(row),
1196
- fusedScore: chunkFA2AFWLP_cjs.coerceNumericScore(row["fused_score"]),
1137
+ fusedScore: chunkEH3JZJUM_cjs.coerceNumericScore(row["fused_score"]),
1197
1138
  ...present(row["vector_rank"]) ? { vectorRank: Number(row["vector_rank"]) } : {},
1198
- ...present(row["vector_score"]) ? { vectorScore: chunkFA2AFWLP_cjs.coerceNumericScore(row["vector_score"]) } : {},
1139
+ ...present(row["vector_score"]) ? { vectorScore: chunkEH3JZJUM_cjs.coerceNumericScore(row["vector_score"]) } : {},
1199
1140
  ...present(row["fulltext_rank"]) ? { fulltextRank: Number(row["fulltext_rank"]) } : {},
1200
1141
  ...present(row["fulltext_score"]) ? {
1201
- fulltextScore: chunkFA2AFWLP_cjs.coerceNumericScore(
1142
+ fulltextScore: chunkEH3JZJUM_cjs.coerceNumericScore(
1202
1143
  row["fulltext_score"]
1203
1144
  )
1204
1145
  } : {},
@@ -1210,7 +1151,7 @@ function buildClearGraph(tables, graphId) {
1210
1151
  // The fulltext table is shared by every graph in the database, so its
1211
1152
  // graph-scoped delete is owned by one builder the destructive
1212
1153
  // contribution rebuild calls too — see `buildFulltextGraphDelete`.
1213
- { query: chunkL3LQNR34_cjs.buildFulltextGraphDelete(tables.fulltextTableName, graphId) },
1154
+ { query: chunkTEC24ZDA_cjs.buildFulltextGraphDelete(tables.fulltextTableName, graphId) },
1214
1155
  {
1215
1156
  query: drizzleOrm.sql`DELETE FROM ${tables.recordedIdentityAssertions} WHERE ${tables.recordedIdentityAssertions.graphId} = ${graphId}`,
1216
1157
  ignoreMissingTable: true,
@@ -1249,6 +1190,17 @@ function buildClearGraph(tables, graphId) {
1249
1190
  {
1250
1191
  query: drizzleOrm.sql`DELETE FROM ${tables.uniques} WHERE ${tables.uniques.graphId} = ${graphId}`
1251
1192
  },
1193
+ // Edge claims name the edges they are held by, so they are cleared
1194
+ // BEFORE the edges — the same ordering `uniques` gets against `nodes`.
1195
+ // Tolerates absence for the reason the recorded relations do: bootstrap DDL
1196
+ // runs only on first boot, so a database initialized before this relation
1197
+ // existed has no such table, and clearing a graph must not become the
1198
+ // operation that fails on it.
1199
+ {
1200
+ query: drizzleOrm.sql`DELETE FROM ${tables.edgeClaims} WHERE ${tables.edgeClaims.graphId} = ${graphId}`,
1201
+ ignoreMissingTable: true,
1202
+ requiredTableName: drizzleOrm.getTableName(tables.edgeClaims)
1203
+ },
1252
1204
  {
1253
1205
  query: drizzleOrm.sql`DELETE FROM ${tables.edges} WHERE ${tables.edges.graphId} = ${graphId}`
1254
1206
  },
@@ -1509,16 +1461,95 @@ function buildCountEdgesByKind(tables, params) {
1509
1461
  WHERE ${whereClause}
1510
1462
  `;
1511
1463
  }
1464
+ var PEER = "peer";
1465
+ function qualified2(relation, column) {
1466
+ return drizzleOrm.sql.raw(`"${relation}"."${column.name}"`);
1467
+ }
1468
+ function inList(values) {
1469
+ return drizzleOrm.sql.join(
1470
+ values.map((value) => drizzleOrm.sql`${value}`),
1471
+ drizzleOrm.sql`, `
1472
+ );
1473
+ }
1474
+ function buildContendedUniqueRowAudit(tables, graphId, constraintNames) {
1475
+ const { uniques } = tables;
1476
+ const relation = drizzleOrm.getTableName(uniques);
1477
+ return drizzleOrm.sql`
1478
+ 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
1488
+ 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)}
1495
+ )
1496
+ `;
1497
+ }
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();
1504
+ 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)}
1507
+ ` : drizzleOrm.sql.empty();
1508
+ return drizzleOrm.sql`
1509
+ 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}
1520
+ 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)}
1528
+ )
1529
+ `;
1530
+ }
1531
+ function buildDisjointOverlapAudit(tables, graphId, kinds) {
1532
+ const { nodes } = tables;
1533
+ const relation = drizzleOrm.getTableName(nodes);
1534
+ 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
1540
+ `;
1541
+ return drizzleOrm.sql`${liveIdsOfKind(kinds[0])} INTERSECT ${liveIdsOfKind(kinds[1])}`;
1542
+ }
1512
1543
  function buildInsertEdge(tables, params, timestamp) {
1513
1544
  const { edges } = tables;
1514
1545
  const propsJson = JSON.stringify(params.props);
1515
- const columns = edgeColumnList(edges);
1546
+ const columns = chunkEH3JZJUM_cjs.edgeColumnList(edges);
1516
1547
  return drizzleOrm.sql`
1517
1548
  INSERT INTO ${edges} (${columns})
1518
1549
  VALUES (
1519
1550
  ${params.graphId}, ${params.id}, ${params.kind},
1520
1551
  ${params.fromKind}, ${params.fromId}, ${params.toKind}, ${params.toId},
1521
- ${propsJson}, ${sqlNull(chunkTQHGE7UC_cjs.resolveStampedValidityLowerBound(params.validFrom, params.validTo, timestamp))}, ${sqlNull(params.validTo)},
1552
+ ${propsJson}, ${chunkEH3JZJUM_cjs.sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(params.validFrom, params.validTo, timestamp))}, ${chunkEH3JZJUM_cjs.sqlNull(params.validTo)},
1522
1553
  ${timestamp}, ${timestamp}
1523
1554
  )
1524
1555
  RETURNING *
@@ -1527,23 +1558,23 @@ function buildInsertEdge(tables, params, timestamp) {
1527
1558
  function buildInsertEdgeNoReturn(tables, params, timestamp) {
1528
1559
  const { edges } = tables;
1529
1560
  const propsJson = JSON.stringify(params.props);
1530
- const columns = edgeColumnList(edges);
1561
+ const columns = chunkEH3JZJUM_cjs.edgeColumnList(edges);
1531
1562
  return drizzleOrm.sql`
1532
1563
  INSERT INTO ${edges} (${columns})
1533
1564
  VALUES (
1534
1565
  ${params.graphId}, ${params.id}, ${params.kind},
1535
1566
  ${params.fromKind}, ${params.fromId}, ${params.toKind}, ${params.toId},
1536
- ${propsJson}, ${sqlNull(chunkTQHGE7UC_cjs.resolveStampedValidityLowerBound(params.validFrom, params.validTo, timestamp))}, ${sqlNull(params.validTo)},
1567
+ ${propsJson}, ${chunkEH3JZJUM_cjs.sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(params.validFrom, params.validTo, timestamp))}, ${chunkEH3JZJUM_cjs.sqlNull(params.validTo)},
1537
1568
  ${timestamp}, ${timestamp}
1538
1569
  )
1539
1570
  `;
1540
1571
  }
1541
1572
  function buildInsertEdgesBatch(tables, params, timestamp) {
1542
1573
  const { edges } = tables;
1543
- const columns = edgeColumnList(edges);
1574
+ const columns = chunkEH3JZJUM_cjs.edgeColumnList(edges);
1544
1575
  const values = params.map((edgeParams) => {
1545
1576
  const propsJson = JSON.stringify(edgeParams.props);
1546
- return drizzleOrm.sql`(${edgeParams.graphId}, ${edgeParams.id}, ${edgeParams.kind}, ${edgeParams.fromKind}, ${edgeParams.fromId}, ${edgeParams.toKind}, ${edgeParams.toId}, ${propsJson}, ${sqlNull(chunkTQHGE7UC_cjs.resolveStampedValidityLowerBound(edgeParams.validFrom, edgeParams.validTo, timestamp))}, ${sqlNull(edgeParams.validTo)}, ${timestamp}, ${timestamp})`;
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})`;
1547
1578
  });
1548
1579
  return drizzleOrm.sql`
1549
1580
  INSERT INTO ${edges} (${columns})
@@ -1552,10 +1583,10 @@ function buildInsertEdgesBatch(tables, params, timestamp) {
1552
1583
  }
1553
1584
  function buildInsertEdgesBatchReturning(tables, params, timestamp) {
1554
1585
  const { edges } = tables;
1555
- const columns = edgeColumnList(edges);
1586
+ const columns = chunkEH3JZJUM_cjs.edgeColumnList(edges);
1556
1587
  const values = params.map((edgeParams) => {
1557
1588
  const propsJson = JSON.stringify(edgeParams.props);
1558
- return drizzleOrm.sql`(${edgeParams.graphId}, ${edgeParams.id}, ${edgeParams.kind}, ${edgeParams.fromKind}, ${edgeParams.fromId}, ${edgeParams.toKind}, ${edgeParams.toId}, ${propsJson}, ${sqlNull(chunkTQHGE7UC_cjs.resolveStampedValidityLowerBound(edgeParams.validFrom, edgeParams.validTo, timestamp))}, ${sqlNull(edgeParams.validTo)}, ${timestamp}, ${timestamp})`;
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})`;
1559
1590
  });
1560
1591
  return drizzleOrm.sql`
1561
1592
  INSERT INTO ${edges} (${columns})
@@ -1597,29 +1628,29 @@ function buildUpdateEdge(tables, params, timestamp) {
1597
1628
  const { edges } = tables;
1598
1629
  const propsJson = JSON.stringify(params.props);
1599
1630
  const setParts = [
1600
- drizzleOrm.sql`${quotedColumn(edges.props)} = ${propsJson}`,
1601
- drizzleOrm.sql`${quotedColumn(edges.updatedAt)} = ${timestamp}`
1631
+ drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(edges.props)} = ${propsJson}`,
1632
+ drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(edges.updatedAt)} = ${timestamp}`
1602
1633
  ];
1603
1634
  if (params.clearDeleted && params.validFrom !== void 0) {
1604
1635
  setParts.push(
1605
- drizzleOrm.sql`${quotedColumn(edges.validFrom)} = ${sqlNull(chunkTQHGE7UC_cjs.resolveStatedValidityLowerBound(params.validFrom))}`,
1606
- drizzleOrm.sql`${quotedColumn(edges.validTo)} = ${sqlNull(params.validTo)}`
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)}`
1607
1638
  );
1608
1639
  } else if (params.clearValidTo === true) {
1609
- setParts.push(drizzleOrm.sql`${quotedColumn(edges.validTo)} = NULL`);
1640
+ setParts.push(drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(edges.validTo)} = NULL`);
1610
1641
  } else if (params.validTo !== void 0) {
1611
- setParts.push(drizzleOrm.sql`${quotedColumn(edges.validTo)} = ${params.validTo}`);
1642
+ setParts.push(drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(edges.validTo)} = ${params.validTo}`);
1612
1643
  }
1613
1644
  if (params.clearDeleted) {
1614
- setParts.push(drizzleOrm.sql`${quotedColumn(edges.deletedAt)} = NULL`);
1645
+ setParts.push(drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(edges.deletedAt)} = NULL`);
1615
1646
  }
1616
1647
  const setClause = drizzleOrm.sql.join(setParts, drizzleOrm.sql`, `);
1617
1648
  const expectedIdentity = expectedIdentityPredicate(tables, params);
1618
- const expectedValidFrom = expectedValidFromPredicate(
1649
+ const expectedValidFrom = chunkEH3JZJUM_cjs.expectedValidFromPredicate(
1619
1650
  edges.validFrom,
1620
1651
  params.expectedValidFrom
1621
1652
  );
1622
- const expectedValidTo = expectedValidFromPredicate(
1653
+ const expectedValidTo = chunkEH3JZJUM_cjs.expectedValidFromPredicate(
1623
1654
  edges.validTo,
1624
1655
  params.expectedValidTo
1625
1656
  );
@@ -1645,7 +1676,7 @@ function buildDeleteEdge(tables, params, timestamp) {
1645
1676
  const { edges } = tables;
1646
1677
  return drizzleOrm.sql`
1647
1678
  UPDATE ${edges}
1648
- SET ${quotedColumn(edges.deletedAt)} = ${timestamp}
1679
+ SET ${chunkEH3JZJUM_cjs.quotedColumn(edges.deletedAt)} = ${timestamp}
1649
1680
  WHERE ${edges.graphId} = ${params.graphId}
1650
1681
  AND ${edges.id} = ${params.id}${expectedIdentityPredicate(tables, params.kind === void 0 ? {} : { kind: params.kind })}
1651
1682
  AND ${edges.deletedAt} IS NULL
@@ -1655,7 +1686,7 @@ function buildDeleteEdgesBatch(tables, params, timestamp) {
1655
1686
  const { edges } = tables;
1656
1687
  return drizzleOrm.sql`
1657
1688
  UPDATE ${edges}
1658
- SET ${quotedColumn(edges.deletedAt)} = ${timestamp}
1689
+ SET ${chunkEH3JZJUM_cjs.quotedColumn(edges.deletedAt)} = ${timestamp}
1659
1690
  WHERE ${edges.graphId} = ${params.graphId}
1660
1691
  AND ${edges.id} IN (${drizzleOrm.sql.join(
1661
1692
  params.ids.map((id) => drizzleOrm.sql`${id}`),
@@ -1756,12 +1787,12 @@ function resolveMode(mode) {
1756
1787
  function buildFulltextSearch(tableName, params, strategy, dialect, candidates) {
1757
1788
  assertValidSearchParams(params);
1758
1789
  const mode = resolveMode(params.mode);
1759
- const table = quotedTableName(tableName);
1760
- const matchCondition = chunkWODMN3Q2_cjs.toDrizzleSql(
1790
+ const table = chunkEH3JZJUM_cjs.quotedTableName(tableName);
1791
+ const matchCondition = chunk45YZXI6X_cjs.toDrizzleSql(
1761
1792
  strategy.matchCondition(tableName, params.query, mode, params.language),
1762
1793
  dialect
1763
1794
  );
1764
- const rankExpression = chunkWODMN3Q2_cjs.toDrizzleSql(
1795
+ const rankExpression = chunk45YZXI6X_cjs.toDrizzleSql(
1765
1796
  strategy.rankExpression(tableName, params.query, mode, params.language),
1766
1797
  dialect
1767
1798
  );
@@ -1774,10 +1805,10 @@ function buildFulltextSearch(tableName, params, strategy, dialect, candidates) {
1774
1805
  conditions.push(drizzleOrm.sql`${rankExpression} >= ${params.minScore}`);
1775
1806
  }
1776
1807
  if (candidates !== void 0) {
1777
- const candidateSql = chunkEDN4Y4ZG_cjs.isSqlFragment(candidates) ? chunkWODMN3Q2_cjs.toDrizzleSql(candidates, dialect) : candidates;
1808
+ const candidateSql = chunkOJHD3LXJ_cjs.isSqlFragment(candidates) ? chunk45YZXI6X_cjs.toDrizzleSql(candidates, dialect) : candidates;
1778
1809
  conditions.push(drizzleOrm.sql`"node_id" IN (${candidateSql})`);
1779
1810
  }
1780
- const snippetExpr = params.includeSnippets === true && strategy.supportsSnippets ? chunkWODMN3Q2_cjs.toDrizzleSql(
1811
+ const snippetExpr = params.includeSnippets === true && strategy.supportsSnippets ? chunk45YZXI6X_cjs.toDrizzleSql(
1781
1812
  strategy.snippetExpression(
1782
1813
  tableName,
1783
1814
  params.query,
@@ -1794,7 +1825,7 @@ function buildFulltextSearch(tableName, params, strategy, dialect, candidates) {
1794
1825
  ${snippetExpr} AS snippet
1795
1826
  FROM ${table}
1796
1827
  WHERE ${drizzleOrm.sql.join(conditions, drizzleOrm.sql` AND `)}
1797
- ORDER BY ${rankExpression} DESC, ${codePointOrderKey(drizzleOrm.sql.raw('"node_id"'), dialect)} ASC
1828
+ ORDER BY ${rankExpression} DESC, ${chunkEH3JZJUM_cjs.codePointOrderKey(drizzleOrm.sql.raw('"node_id"'), dialect)} ASC
1798
1829
  ${pageClause}
1799
1830
  `;
1800
1831
  }
@@ -1811,12 +1842,12 @@ function assertValidSearchParams(params) {
1811
1842
  function buildInsertNode(tables, params, timestamp) {
1812
1843
  const { nodes } = tables;
1813
1844
  const propsJson = JSON.stringify(params.props);
1814
- const columns = nodeColumnList(nodes);
1845
+ const columns = chunkEH3JZJUM_cjs.nodeColumnList(nodes);
1815
1846
  return drizzleOrm.sql`
1816
1847
  INSERT INTO ${nodes} (${columns})
1817
1848
  VALUES (
1818
1849
  ${params.graphId}, ${params.kind}, ${params.id}, ${propsJson},
1819
- 1, ${sqlNull(chunkTQHGE7UC_cjs.resolveStampedValidityLowerBound(params.validFrom, params.validTo, timestamp))}, ${sqlNull(params.validTo)},
1850
+ 1, ${chunkEH3JZJUM_cjs.sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(params.validFrom, params.validTo, timestamp))}, ${chunkEH3JZJUM_cjs.sqlNull(params.validTo)},
1820
1851
  ${timestamp}, ${timestamp}
1821
1852
  )
1822
1853
  RETURNING *
@@ -1825,22 +1856,22 @@ function buildInsertNode(tables, params, timestamp) {
1825
1856
  function buildInsertNodeNoReturn(tables, params, timestamp) {
1826
1857
  const { nodes } = tables;
1827
1858
  const propsJson = JSON.stringify(params.props);
1828
- const columns = nodeColumnList(nodes);
1859
+ const columns = chunkEH3JZJUM_cjs.nodeColumnList(nodes);
1829
1860
  return drizzleOrm.sql`
1830
1861
  INSERT INTO ${nodes} (${columns})
1831
1862
  VALUES (
1832
1863
  ${params.graphId}, ${params.kind}, ${params.id}, ${propsJson},
1833
- 1, ${sqlNull(chunkTQHGE7UC_cjs.resolveStampedValidityLowerBound(params.validFrom, params.validTo, timestamp))}, ${sqlNull(params.validTo)},
1864
+ 1, ${chunkEH3JZJUM_cjs.sqlNull(chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(params.validFrom, params.validTo, timestamp))}, ${chunkEH3JZJUM_cjs.sqlNull(params.validTo)},
1834
1865
  ${timestamp}, ${timestamp}
1835
1866
  )
1836
1867
  `;
1837
1868
  }
1838
1869
  function buildInsertNodesBatch(tables, params, timestamp) {
1839
1870
  const { nodes } = tables;
1840
- const columns = nodeColumnList(nodes);
1871
+ const columns = chunkEH3JZJUM_cjs.nodeColumnList(nodes);
1841
1872
  const values = params.map((nodeParams) => {
1842
1873
  const propsJson = JSON.stringify(nodeParams.props);
1843
- return drizzleOrm.sql`(${nodeParams.graphId}, ${nodeParams.kind}, ${nodeParams.id}, ${propsJson}, 1, ${sqlNull(chunkTQHGE7UC_cjs.resolveStampedValidityLowerBound(nodeParams.validFrom, nodeParams.validTo, timestamp))}, ${sqlNull(nodeParams.validTo)}, ${timestamp}, ${timestamp})`;
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})`;
1844
1875
  });
1845
1876
  return drizzleOrm.sql`
1846
1877
  INSERT INTO ${nodes} (${columns})
@@ -1849,10 +1880,10 @@ function buildInsertNodesBatch(tables, params, timestamp) {
1849
1880
  }
1850
1881
  function buildInsertNodesBatchReturning(tables, params, timestamp) {
1851
1882
  const { nodes } = tables;
1852
- const columns = nodeColumnList(nodes);
1883
+ const columns = chunkEH3JZJUM_cjs.nodeColumnList(nodes);
1853
1884
  const values = params.map((nodeParams) => {
1854
1885
  const propsJson = JSON.stringify(nodeParams.props);
1855
- return drizzleOrm.sql`(${nodeParams.graphId}, ${nodeParams.kind}, ${nodeParams.id}, ${propsJson}, 1, ${sqlNull(chunkTQHGE7UC_cjs.resolveStampedValidityLowerBound(nodeParams.validFrom, nodeParams.validTo, timestamp))}, ${sqlNull(nodeParams.validTo)}, ${timestamp}, ${timestamp})`;
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})`;
1856
1887
  });
1857
1888
  return drizzleOrm.sql`
1858
1889
  INSERT INTO ${nodes} (${columns})
@@ -1885,29 +1916,29 @@ function buildUpdateNode(tables, params, timestamp) {
1885
1916
  const { nodes } = tables;
1886
1917
  const propsJson = JSON.stringify(params.props);
1887
1918
  const setParts = [
1888
- drizzleOrm.sql`${quotedColumn(nodes.props)} = ${propsJson}`,
1889
- drizzleOrm.sql`${quotedColumn(nodes.updatedAt)} = ${timestamp}`
1919
+ drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(nodes.props)} = ${propsJson}`,
1920
+ drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(nodes.updatedAt)} = ${timestamp}`
1890
1921
  ];
1891
1922
  if (params.incrementVersion) {
1892
1923
  setParts.push(
1893
- drizzleOrm.sql`${quotedColumn(nodes.version)} = ${quotedColumn(nodes.version)} + 1`
1924
+ drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(nodes.version)} = ${chunkEH3JZJUM_cjs.quotedColumn(nodes.version)} + 1`
1894
1925
  );
1895
1926
  }
1896
1927
  if (params.clearDeleted) {
1897
1928
  setParts.push(
1898
- drizzleOrm.sql`${quotedColumn(nodes.validFrom)} = ${sqlNull(chunkTQHGE7UC_cjs.resolveStampedValidityLowerBound(params.validFrom, params.validTo, timestamp))}`,
1899
- drizzleOrm.sql`${quotedColumn(nodes.validTo)} = ${sqlNull(params.validTo)}`
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)}`
1900
1931
  );
1901
1932
  } else if (params.clearValidTo === true) {
1902
- setParts.push(drizzleOrm.sql`${quotedColumn(nodes.validTo)} = NULL`);
1933
+ setParts.push(drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(nodes.validTo)} = NULL`);
1903
1934
  } else if (params.validTo !== void 0) {
1904
- setParts.push(drizzleOrm.sql`${quotedColumn(nodes.validTo)} = ${params.validTo}`);
1935
+ setParts.push(drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(nodes.validTo)} = ${params.validTo}`);
1905
1936
  }
1906
1937
  if (params.clearDeleted) {
1907
- setParts.push(drizzleOrm.sql`${quotedColumn(nodes.deletedAt)} = NULL`);
1938
+ setParts.push(drizzleOrm.sql`${chunkEH3JZJUM_cjs.quotedColumn(nodes.deletedAt)} = NULL`);
1908
1939
  }
1909
1940
  const setClause = drizzleOrm.sql.join(setParts, drizzleOrm.sql`, `);
1910
- const expectedValidFrom = expectedValidFromPredicate(
1941
+ const expectedValidFrom = chunkEH3JZJUM_cjs.expectedValidFromPredicate(
1911
1942
  nodes.validFrom,
1912
1943
  params.expectedValidFrom
1913
1944
  );
@@ -1934,25 +1965,25 @@ function buildUpdateNode(tables, params, timestamp) {
1934
1965
  }
1935
1966
  function buildUpdateNodeSet(tables, dialect, params, timestamp) {
1936
1967
  const { nodes } = tables;
1937
- const adapter = chunkL3LQNR34_cjs.getDialect(dialect);
1938
- const patchedProps = chunkWODMN3Q2_cjs.toDrizzleSql(
1968
+ const adapter = chunkTEC24ZDA_cjs.getDialect(dialect);
1969
+ const patchedProps = chunk45YZXI6X_cjs.toDrizzleSql(
1939
1970
  adapter.jsonSetProperties(
1940
- chunkEDN4Y4ZG_cjs.sql.identifier(nodes.props.name),
1971
+ chunkOJHD3LXJ_cjs.sql.identifier(nodes.props.name),
1941
1972
  params.patch,
1942
1973
  params.unsetProperties ?? []
1943
1974
  ),
1944
1975
  dialect
1945
1976
  );
1946
- const candidateIds = chunkWODMN3Q2_cjs.toDrizzleSql(params.candidateIds, dialect);
1947
- const candidateIdColumn = chunkWODMN3Q2_cjs.toDrizzleSql(
1948
- chunkEDN4Y4ZG_cjs.sql.identifier(params.candidateIdColumn),
1977
+ const candidateIds = chunk45YZXI6X_cjs.toDrizzleSql(params.candidateIds, dialect);
1978
+ const candidateIdColumn = chunk45YZXI6X_cjs.toDrizzleSql(
1979
+ chunkOJHD3LXJ_cjs.sql.identifier(params.candidateIdColumn),
1949
1980
  dialect
1950
1981
  );
1951
1982
  return drizzleOrm.sql`
1952
1983
  UPDATE ${nodes}
1953
- SET ${quotedColumn(nodes.props)} = ${patchedProps},
1954
- ${quotedColumn(nodes.updatedAt)} = ${timestamp},
1955
- ${quotedColumn(nodes.version)} = ${quotedColumn(nodes.version)} + 1
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
1956
1987
  WHERE ${nodes.graphId} = ${params.graphId}
1957
1988
  AND ${nodes.kind} = ${params.kind}
1958
1989
  AND ${nodes.deletedAt} IS NULL
@@ -1967,7 +1998,7 @@ function buildDeleteNode(tables, params, timestamp) {
1967
1998
  const { nodes } = tables;
1968
1999
  return drizzleOrm.sql`
1969
2000
  UPDATE ${nodes}
1970
- SET ${quotedColumn(nodes.deletedAt)} = ${timestamp}
2001
+ SET ${chunkEH3JZJUM_cjs.quotedColumn(nodes.deletedAt)} = ${timestamp}
1971
2002
  WHERE ${nodes.graphId} = ${params.graphId}
1972
2003
  AND ${nodes.kind} = ${params.kind}
1973
2004
  AND ${nodes.id} = ${params.id}
@@ -2041,226 +2072,17 @@ function buildSetActiveSchema(tables, graphId, version, dialect = "sqlite") {
2041
2072
  const strategy = SCHEMA_DIALECT_STRATEGIES[dialect];
2042
2073
  const deactivateAll = drizzleOrm.sql`
2043
2074
  UPDATE ${schemaVersions}
2044
- SET ${quotedColumn(schemaVersions.isActive)} = ${strategy.booleanLiteral(false)}
2075
+ SET ${chunkEH3JZJUM_cjs.quotedColumn(schemaVersions.isActive)} = ${strategy.booleanLiteral(false)}
2045
2076
  WHERE ${schemaVersions.graphId} = ${graphId}
2046
2077
  `;
2047
2078
  const activateVersion = drizzleOrm.sql`
2048
2079
  UPDATE ${schemaVersions}
2049
- SET ${quotedColumn(schemaVersions.isActive)} = ${strategy.booleanLiteral(true)}
2080
+ SET ${chunkEH3JZJUM_cjs.quotedColumn(schemaVersions.isActive)} = ${strategy.booleanLiteral(true)}
2050
2081
  WHERE ${schemaVersions.graphId} = ${graphId}
2051
2082
  AND ${schemaVersions.version} = ${version}
2052
2083
  `;
2053
2084
  return { deactivateAll, activateVersion };
2054
2085
  }
2055
- function buildInsertUniqueSqlite(tables, params) {
2056
- const { uniques } = tables;
2057
- const columns = drizzleOrm.sql.raw(
2058
- `"${uniques.graphId.name}", "${uniques.nodeKind.name}", "${uniques.constraintName.name}", "${uniques.key.name}", "${uniques.nodeId.name}", "${uniques.concreteKind.name}", "${uniques.deletedAt.name}"`
2059
- );
2060
- const conflictColumns = drizzleOrm.sql.raw(
2061
- `"${uniques.graphId.name}", "${uniques.nodeKind.name}", "${uniques.constraintName.name}", "${uniques.key.name}"`
2062
- );
2063
- return drizzleOrm.sql`
2064
- INSERT INTO ${uniques} (${columns})
2065
- VALUES (
2066
- ${params.graphId}, ${params.nodeKind}, ${params.constraintName},
2067
- ${params.key}, ${params.nodeId}, ${params.concreteKind}, ${drizzleOrm.sql.raw("NULL")}
2068
- )
2069
- ON CONFLICT (${conflictColumns})
2070
- DO UPDATE SET
2071
- ${quotedColumn(uniques.nodeId)} = CASE
2072
- WHEN ${quotedColumn(uniques.nodeId)} = ${params.nodeId} THEN ${params.nodeId}
2073
- WHEN ${quotedColumn(uniques.deletedAt)} IS NOT NULL THEN ${params.nodeId}
2074
- ELSE ${quotedColumn(uniques.nodeId)}
2075
- END,
2076
- ${quotedColumn(uniques.concreteKind)} = CASE
2077
- WHEN ${quotedColumn(uniques.nodeId)} = ${params.nodeId} THEN ${params.concreteKind}
2078
- WHEN ${quotedColumn(uniques.deletedAt)} IS NOT NULL THEN ${params.concreteKind}
2079
- ELSE ${quotedColumn(uniques.concreteKind)}
2080
- END,
2081
- ${quotedColumn(uniques.deletedAt)} = CASE
2082
- WHEN ${quotedColumn(uniques.nodeId)} = ${params.nodeId} THEN NULL
2083
- WHEN ${quotedColumn(uniques.deletedAt)} IS NOT NULL THEN NULL
2084
- ELSE ${quotedColumn(uniques.deletedAt)}
2085
- END
2086
- RETURNING ${quotedColumn(uniques.nodeId)} as node_id
2087
- `;
2088
- }
2089
- function buildInsertUniquePostgres(tables, params) {
2090
- const { uniques } = tables;
2091
- const columns = drizzleOrm.sql.raw(
2092
- `"${uniques.graphId.name}", "${uniques.nodeKind.name}", "${uniques.constraintName.name}", "${uniques.key.name}", "${uniques.nodeId.name}", "${uniques.concreteKind.name}", "${uniques.deletedAt.name}"`
2093
- );
2094
- const conflictColumns = drizzleOrm.sql.raw(
2095
- `"${uniques.graphId.name}", "${uniques.nodeKind.name}", "${uniques.constraintName.name}", "${uniques.key.name}"`
2096
- );
2097
- const tableName = drizzleOrm.getTableName(uniques);
2098
- const existingColumn = (column) => drizzleOrm.sql.raw(`"${tableName}"."${column.name}"`);
2099
- return drizzleOrm.sql`
2100
- INSERT INTO ${uniques} (${columns})
2101
- VALUES (
2102
- ${params.graphId}, ${params.nodeKind}, ${params.constraintName},
2103
- ${params.key}, ${params.nodeId}, ${params.concreteKind}, ${drizzleOrm.sql.raw("NULL")}
2104
- )
2105
- ON CONFLICT (${conflictColumns})
2106
- DO UPDATE SET
2107
- ${quotedColumn(uniques.nodeId)} = CASE
2108
- WHEN ${existingColumn(uniques.nodeId)} = ${params.nodeId} THEN ${params.nodeId}
2109
- WHEN ${existingColumn(uniques.deletedAt)} IS NOT NULL THEN ${params.nodeId}
2110
- ELSE ${existingColumn(uniques.nodeId)}
2111
- END,
2112
- ${quotedColumn(uniques.concreteKind)} = CASE
2113
- WHEN ${existingColumn(uniques.nodeId)} = ${params.nodeId} THEN ${params.concreteKind}
2114
- WHEN ${existingColumn(uniques.deletedAt)} IS NOT NULL THEN ${params.concreteKind}
2115
- ELSE ${existingColumn(uniques.concreteKind)}
2116
- END,
2117
- ${quotedColumn(uniques.deletedAt)} = CASE
2118
- WHEN ${existingColumn(uniques.nodeId)} = ${params.nodeId} THEN NULL
2119
- WHEN ${existingColumn(uniques.deletedAt)} IS NOT NULL THEN NULL
2120
- ELSE ${existingColumn(uniques.deletedAt)}
2121
- END
2122
- RETURNING ${quotedColumn(uniques.nodeId)} as node_id
2123
- `;
2124
- }
2125
- var UNIQUE_INSERT_BUILDERS = {
2126
- postgres: buildInsertUniquePostgres,
2127
- sqlite: buildInsertUniqueSqlite
2128
- };
2129
- function buildInsertUnique(tables, dialect, params) {
2130
- const builder = UNIQUE_INSERT_BUILDERS[dialect];
2131
- return builder(tables, params);
2132
- }
2133
- function buildInsertUniqueBatch(tables, dialect, entries) {
2134
- const { uniques } = tables;
2135
- const columns = drizzleOrm.sql.raw(
2136
- `"${uniques.graphId.name}", "${uniques.nodeKind.name}", "${uniques.constraintName.name}", "${uniques.key.name}", "${uniques.nodeId.name}", "${uniques.concreteKind.name}", "${uniques.deletedAt.name}"`
2137
- );
2138
- const conflictColumns = drizzleOrm.sql.raw(
2139
- `"${uniques.graphId.name}", "${uniques.nodeKind.name}", "${uniques.constraintName.name}", "${uniques.key.name}"`
2140
- );
2141
- const tableName = drizzleOrm.getTableName(uniques);
2142
- const existingColumn = (column) => {
2143
- switch (dialect) {
2144
- case "postgres": {
2145
- return drizzleOrm.sql.raw(`"${tableName}"."${column.name}"`);
2146
- }
2147
- case "sqlite": {
2148
- return drizzleOrm.sql.raw(`"${column.name}"`);
2149
- }
2150
- default: {
2151
- return dialect;
2152
- }
2153
- }
2154
- };
2155
- const excludedColumn = (column) => drizzleOrm.sql.raw(`excluded."${column.name}"`);
2156
- const valueRows = drizzleOrm.sql.join(
2157
- entries.map(
2158
- (params) => drizzleOrm.sql`(${params.graphId}, ${params.nodeKind}, ${params.constraintName}, ${params.key}, ${params.nodeId}, ${params.concreteKind}, ${drizzleOrm.sql.raw("NULL")})`
2159
- ),
2160
- drizzleOrm.sql`, `
2161
- );
2162
- return drizzleOrm.sql`
2163
- INSERT INTO ${uniques} (${columns})
2164
- VALUES ${valueRows}
2165
- ON CONFLICT (${conflictColumns})
2166
- DO UPDATE SET
2167
- ${quotedColumn(uniques.nodeId)} = CASE
2168
- WHEN ${existingColumn(uniques.nodeId)} = ${excludedColumn(uniques.nodeId)} THEN ${excludedColumn(uniques.nodeId)}
2169
- WHEN ${existingColumn(uniques.deletedAt)} IS NOT NULL THEN ${excludedColumn(uniques.nodeId)}
2170
- ELSE ${existingColumn(uniques.nodeId)}
2171
- END,
2172
- ${quotedColumn(uniques.concreteKind)} = CASE
2173
- WHEN ${existingColumn(uniques.nodeId)} = ${excludedColumn(uniques.nodeId)} THEN ${excludedColumn(uniques.concreteKind)}
2174
- WHEN ${existingColumn(uniques.deletedAt)} IS NOT NULL THEN ${excludedColumn(uniques.concreteKind)}
2175
- ELSE ${existingColumn(uniques.concreteKind)}
2176
- END,
2177
- ${quotedColumn(uniques.deletedAt)} = CASE
2178
- WHEN ${existingColumn(uniques.nodeId)} = ${excludedColumn(uniques.nodeId)} THEN NULL
2179
- WHEN ${existingColumn(uniques.deletedAt)} IS NOT NULL THEN NULL
2180
- ELSE ${existingColumn(uniques.deletedAt)}
2181
- END
2182
- RETURNING
2183
- ${quotedColumn(uniques.nodeKind)} as node_kind,
2184
- ${quotedColumn(uniques.constraintName)} as constraint_name,
2185
- ${quotedColumn(uniques.key)} as key,
2186
- ${quotedColumn(uniques.nodeId)} as node_id
2187
- `;
2188
- }
2189
- function buildDeleteUnique(tables, params, timestamp) {
2190
- const { uniques } = tables;
2191
- return drizzleOrm.sql`
2192
- UPDATE ${uniques}
2193
- SET ${quotedColumn(uniques.deletedAt)} = ${timestamp}
2194
- WHERE ${uniques.graphId} = ${params.graphId}
2195
- AND ${uniques.nodeKind} = ${params.nodeKind}
2196
- AND ${uniques.constraintName} = ${params.constraintName}
2197
- AND ${uniques.key} = ${params.key}
2198
- AND ${uniques.deletedAt} IS NULL
2199
- `;
2200
- }
2201
- function buildHardDeleteUniquesByNode(tables, graphId, concreteKind, nodeId) {
2202
- return buildHardDeleteUniquesByNodeIds(tables, {
2203
- graphId,
2204
- concreteKind,
2205
- nodeIds: [nodeId]
2206
- });
2207
- }
2208
- function buildHardDeleteUniquesByNodeIds(tables, params) {
2209
- const { uniques } = tables;
2210
- return drizzleOrm.sql`
2211
- DELETE FROM ${uniques}
2212
- WHERE ${uniques.graphId} = ${params.graphId}
2213
- AND ${uniques.concreteKind} = ${params.concreteKind}
2214
- AND ${uniques.nodeId} IN (${drizzleOrm.sql.join(
2215
- params.nodeIds.map((nodeId) => drizzleOrm.sql`${nodeId}`),
2216
- drizzleOrm.sql`, `
2217
- )})
2218
- `;
2219
- }
2220
- function buildCheckUnique(tables, params) {
2221
- const { uniques } = tables;
2222
- if (params.includeDeleted) {
2223
- return drizzleOrm.sql`
2224
- SELECT * FROM ${uniques}
2225
- WHERE ${uniques.graphId} = ${params.graphId}
2226
- AND ${uniques.nodeKind} = ${params.nodeKind}
2227
- AND ${uniques.constraintName} = ${params.constraintName}
2228
- AND ${uniques.key} = ${params.key}
2229
- `;
2230
- }
2231
- return drizzleOrm.sql`
2232
- SELECT * FROM ${uniques}
2233
- WHERE ${uniques.graphId} = ${params.graphId}
2234
- AND ${uniques.nodeKind} = ${params.nodeKind}
2235
- AND ${uniques.constraintName} = ${params.constraintName}
2236
- AND ${uniques.key} = ${params.key}
2237
- AND ${uniques.deletedAt} IS NULL
2238
- `;
2239
- }
2240
- function buildCheckUniqueBatch(tables, params) {
2241
- const { uniques } = tables;
2242
- const keyPlaceholders = drizzleOrm.sql.join(
2243
- params.keys.map((key) => drizzleOrm.sql`${key}`),
2244
- drizzleOrm.sql`, `
2245
- );
2246
- if (params.includeDeleted) {
2247
- return drizzleOrm.sql`
2248
- SELECT * FROM ${uniques}
2249
- WHERE ${uniques.graphId} = ${params.graphId}
2250
- AND ${uniques.nodeKind} = ${params.nodeKind}
2251
- AND ${uniques.constraintName} = ${params.constraintName}
2252
- AND ${uniques.key} IN (${keyPlaceholders})
2253
- `;
2254
- }
2255
- return drizzleOrm.sql`
2256
- SELECT * FROM ${uniques}
2257
- WHERE ${uniques.graphId} = ${params.graphId}
2258
- AND ${uniques.nodeKind} = ${params.nodeKind}
2259
- AND ${uniques.constraintName} = ${params.constraintName}
2260
- AND ${uniques.key} IN (${keyPlaceholders})
2261
- AND ${uniques.deletedAt} IS NULL
2262
- `;
2263
- }
2264
2086
 
2265
2087
  // src/backend/drizzle/operations/strategy.ts
2266
2088
  function nullableText(value) {
@@ -2308,11 +2130,11 @@ var COMMON_TABLE_OPERATION_BUILDERS = {
2308
2130
  buildFindEdgesByEndpointSet,
2309
2131
  buildFindEdgesByHeterogeneousEndpointSet,
2310
2132
  buildCountEdgesByKind,
2311
- buildDeleteUnique,
2312
- buildHardDeleteUniquesByNode,
2313
- buildHardDeleteUniquesByNodeIds,
2314
- buildCheckUnique,
2315
- buildCheckUniqueBatch,
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,
2316
2138
  buildGetSchemaVersion
2317
2139
  };
2318
2140
  function createCommonOperationStrategy(tables, dialect, fulltextStrategy) {
@@ -2323,15 +2145,15 @@ function createCommonOperationStrategy(tables, dialect, fulltextStrategy) {
2323
2145
  const fulltextTable = tables.fulltextTableName;
2324
2146
  const contributionMaterializations = tables.contributionMaterializations;
2325
2147
  const fulltextBuilders = {
2326
- buildUpsertFulltext: (params, timestamp) => fulltextStrategy.buildUpsert(fulltextTable, params, timestamp).map((statement) => chunkWODMN3Q2_cjs.toDrizzleSql(statement, dialect)),
2327
- buildDeleteFulltext: (params) => fulltextStrategy.buildDelete(fulltextTable, params).map((statement) => chunkWODMN3Q2_cjs.toDrizzleSql(statement, dialect)),
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)),
2328
2150
  buildDeleteFulltextByNode: (graphId, nodeKind, nodeId) => fulltextStrategy.buildDelete(fulltextTable, {
2329
2151
  graphId,
2330
2152
  nodeKind,
2331
2153
  nodeId
2332
- }).map((statement) => chunkWODMN3Q2_cjs.toDrizzleSql(statement, dialect)),
2333
- buildUpsertFulltextBatch: (params, timestamp) => fulltextStrategy.buildBatchUpsert(fulltextTable, params, timestamp).map((statement) => chunkWODMN3Q2_cjs.toDrizzleSql(statement, dialect)),
2334
- buildDeleteFulltextBatch: (params) => fulltextStrategy.buildBatchDelete(fulltextTable, params).map((statement) => chunkWODMN3Q2_cjs.toDrizzleSql(statement, dialect)),
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)),
2335
2157
  buildFulltextSearch: (params) => buildFulltextSearch(
2336
2158
  fulltextTable,
2337
2159
  params,
@@ -2339,19 +2161,19 @@ function createCommonOperationStrategy(tables, dialect, fulltextStrategy) {
2339
2161
  dialect,
2340
2162
  // Store-compiled candidates (predicates + subclass + currency)
2341
2163
  // take precedence; the live-node default covers direct backend use.
2342
- params.candidates ?? liveNodeIdsSubquery(
2164
+ params.candidates ?? chunkEH3JZJUM_cjs.liveNodeIdsSubquery(
2343
2165
  tables.nodes,
2344
2166
  params.graphId,
2345
2167
  params.nodeKind,
2346
- chunkFA2AFWLP_cjs.nowIso()
2168
+ chunkEH3JZJUM_cjs.nowIso()
2347
2169
  )
2348
2170
  ),
2349
2171
  buildHybridSearch: (params, vectorSql, vectorScoreDescending) => {
2350
- const candidates = params.candidates ?? liveNodeIdsSubquery(
2172
+ const candidates = params.candidates ?? chunkEH3JZJUM_cjs.liveNodeIdsSubquery(
2351
2173
  tables.nodes,
2352
2174
  params.graphId,
2353
2175
  params.nodeKind,
2354
- chunkFA2AFWLP_cjs.nowIso()
2176
+ chunkEH3JZJUM_cjs.nowIso()
2355
2177
  );
2356
2178
  const fulltextSql = buildFulltextSearch(
2357
2179
  fulltextTable,
@@ -2372,7 +2194,7 @@ function createCommonOperationStrategy(tables, dialect, fulltextStrategy) {
2372
2194
  hybridCandidatesRef()
2373
2195
  );
2374
2196
  return buildHybridSearchStatement({
2375
- candidatesSql: chunkEDN4Y4ZG_cjs.isSqlFragment(candidates) ? chunkWODMN3Q2_cjs.toDrizzleSql(candidates, dialect) : candidates,
2197
+ candidatesSql: chunkOJHD3LXJ_cjs.isSqlFragment(candidates) ? chunk45YZXI6X_cjs.toDrizzleSql(candidates, dialect) : candidates,
2376
2198
  vectorSql,
2377
2199
  vectorScoreDescending,
2378
2200
  fulltextSql,
@@ -2419,8 +2241,8 @@ function createCommonOperationStrategy(tables, dialect, fulltextStrategy) {
2419
2241
  ...tableOperations,
2420
2242
  ...fulltextBuilders,
2421
2243
  primaryKeyConstraints: {
2422
- nodes: nodePrimaryKeyConstraint(tables.nodes),
2423
- edges: edgePrimaryKeyConstraint(tables.edges)
2244
+ nodes: chunkEH3JZJUM_cjs.nodePrimaryKeyConstraint(tables.nodes),
2245
+ edges: chunkEH3JZJUM_cjs.edgePrimaryKeyConstraint(tables.edges)
2424
2246
  },
2425
2247
  buildUpdateNodeSet(params, timestamp) {
2426
2248
  return buildUpdateNodeSet(tables, dialect, params, timestamp);
@@ -2428,10 +2250,39 @@ function createCommonOperationStrategy(tables, dialect, fulltextStrategy) {
2428
2250
  buildDeleteContributionMaterialization,
2429
2251
  buildInsertContributionMaterialization,
2430
2252
  buildInsertUnique(params) {
2431
- return buildInsertUnique(tables, dialect, params);
2253
+ return chunkEH3JZJUM_cjs.buildInsertUnique(tables, dialect, params);
2432
2254
  },
2433
2255
  buildInsertUniqueBatch(entries) {
2434
- return buildInsertUniqueBatch(tables, dialect, entries);
2256
+ return chunkEH3JZJUM_cjs.buildInsertUniqueBatch(tables, dialect, entries);
2257
+ },
2258
+ buildHardDeleteUniquesByConcreteKind(params) {
2259
+ return chunkEH3JZJUM_cjs.buildHardDeleteUniquesByConcreteKind(
2260
+ drizzleOrm.getTableName(tables.uniques),
2261
+ params
2262
+ );
2263
+ },
2264
+ buildLockEdgeClaims(entries, timestamp) {
2265
+ return chunkEH3JZJUM_cjs.buildLockEdgeClaims(tables, entries, timestamp);
2266
+ },
2267
+ buildTakeOverEdgeClaim(params, timestamp) {
2268
+ return chunkEH3JZJUM_cjs.buildTakeOverEdgeClaim(tables, params, timestamp);
2269
+ },
2270
+ buildPurgeEdgeClaims(params) {
2271
+ return chunkEH3JZJUM_cjs.buildPurgeEdgeClaims(tables, params);
2272
+ },
2273
+ buildContendedUniqueRowAudit(graphId, constraintNames) {
2274
+ return buildContendedUniqueRowAudit(tables, graphId, constraintNames);
2275
+ },
2276
+ buildContendedEdgeRowAudit(graphId, cardinality, edgeKinds) {
2277
+ return buildContendedEdgeRowAudit(
2278
+ tables,
2279
+ graphId,
2280
+ cardinality,
2281
+ edgeKinds
2282
+ );
2283
+ },
2284
+ buildDisjointOverlapAudit(graphId, kinds) {
2285
+ return buildDisjointOverlapAudit(tables, graphId, kinds);
2435
2286
  },
2436
2287
  buildGetActiveSchema(graphId) {
2437
2288
  return buildGetActiveSchema(tables, graphId, dialect);
@@ -2495,6 +2346,9 @@ function createSqliteOperationStrategy(tables, fulltextStrategy) {
2495
2346
  function createPostgresOperationStrategy(tables, fulltextStrategy) {
2496
2347
  return createCommonOperationStrategy(tables, "postgres", fulltextStrategy);
2497
2348
  }
2349
+ function claimOwnerOf(params) {
2350
+ return { concreteKind: params.concreteKind, nodeId: params.nodeId };
2351
+ }
2498
2352
  var DRIZZLE_DIALECT_LABELS = {
2499
2353
  postgres: "Postgres",
2500
2354
  sqlite: "SQLite"
@@ -2502,7 +2356,7 @@ var DRIZZLE_DIALECT_LABELS = {
2502
2356
  function assertAdoptedDialect(externalTx, brand, backend) {
2503
2357
  if (drizzleOrm.is(externalTx, brand)) return;
2504
2358
  const label = DRIZZLE_DIALECT_LABELS[backend];
2505
- throw new chunkMRDBBHIZ_cjs.ConfigurationError(
2359
+ throw new chunkX4GDXBOP_cjs.ConfigurationError(
2506
2360
  `adoptTransaction received a handle that is not a ${label} Drizzle transaction. Pass the \`tx\` from a ${label} \`db.transaction(...)\` opened on this backend's connection.`,
2507
2361
  { backend, capability: "adoptTransaction" }
2508
2362
  );
@@ -2511,8 +2365,8 @@ async function withDuplicateKeyClassification(run, context) {
2511
2365
  try {
2512
2366
  return await run();
2513
2367
  } catch (error) {
2514
- if (!chunkSIT26LAZ_cjs.isDuplicatePrimaryKeyError(error, context.relation)) throw error;
2515
- throw new chunkMRDBBHIZ_cjs.DatabaseOperationError(
2368
+ if (!chunkZBFZGLZE_cjs.isDuplicatePrimaryKeyError(error, context.relation)) throw error;
2369
+ throw new chunkX4GDXBOP_cjs.DatabaseOperationError(
2516
2370
  `Insert ${context.entity} failed: a row with this identity already exists`,
2517
2371
  {
2518
2372
  operation: "insert",
@@ -2533,7 +2387,7 @@ function verifyExpectedActiveVersion(graphId, expected, actualActiveVersion) {
2533
2387
  }
2534
2388
  function assertActiveSchemaVersion(graphId, expectedVersion, actualActiveVersion) {
2535
2389
  if (actualActiveVersion !== expectedVersion) {
2536
- throw new chunkMRDBBHIZ_cjs.StaleVersionError({
2390
+ throw new chunkX4GDXBOP_cjs.StaleVersionError({
2537
2391
  graphId,
2538
2392
  expected: expectedVersion,
2539
2393
  actual: actualActiveVersion
@@ -2583,7 +2437,7 @@ function createCommonOperationBackend(options) {
2583
2437
  operationStrategy,
2584
2438
  rowMappers
2585
2439
  } = options;
2586
- const nowIso2 = options.nowIso ?? chunkFA2AFWLP_cjs.nowIso;
2440
+ const nowIso2 = options.nowIso ?? chunkEH3JZJUM_cjs.nowIso;
2587
2441
  const tableExists = createCachedTableExistence(
2588
2442
  (tableName) => execution.execGet(
2589
2443
  operationStrategy.buildTableExists(tableName)
@@ -2596,6 +2450,50 @@ function createCommonOperationBackend(options) {
2596
2450
  }
2597
2451
  await execution.execRun(statement.query);
2598
2452
  }
2453
+ async function claimEdgeCardinalityEntries(entries) {
2454
+ if (entries.length === 0) return [];
2455
+ const targetKey = (entry) => {
2456
+ const target = chunk7PRMDZIA_cjs.edgeCardinalityClaimTarget(entry);
2457
+ return `${target.axis}\0${target.key}`;
2458
+ };
2459
+ const seen = /* @__PURE__ */ new Set();
2460
+ for (const entry of entries) {
2461
+ const key = targetKey(entry);
2462
+ if (seen.has(key)) {
2463
+ throw new chunkX4GDXBOP_cjs.DatabaseOperationError(
2464
+ "Two edge claims in one batch name the same cardinality axis and key; a multi-row upsert cannot affect one row twice.",
2465
+ { operation: "insert", entity: "edge" }
2466
+ );
2467
+ }
2468
+ seen.add(key);
2469
+ }
2470
+ const outcomes = /* @__PURE__ */ new Map();
2471
+ for (const chunk2 of chunkZBFZGLZE_cjs.chunk(entries, batchConfig.edgeInsertBatchSize)) {
2472
+ const lockQuery = operationStrategy.buildLockEdgeClaims(chunk2, nowIso2());
2473
+ const rows = await execution.execAll(lockQuery);
2474
+ const holderByTarget = new Map(
2475
+ rows.map((row) => [`${row.axis}\0${row.key}`, row.holder_edge_id])
2476
+ );
2477
+ for (const entry of chunk2) {
2478
+ const key = targetKey(entry);
2479
+ const holder = holderByTarget.get(key);
2480
+ if (holder === void 0 || holder === entry.edgeId) {
2481
+ outcomes.set(key, { status: "claimed" });
2482
+ continue;
2483
+ }
2484
+ const takeOver = await execution.execAll(
2485
+ operationStrategy.buildTakeOverEdgeClaim(entry, nowIso2())
2486
+ );
2487
+ outcomes.set(
2488
+ key,
2489
+ takeOver.length > 0 ? { status: "claimed" } : { status: "refused", holderEdgeId: holder }
2490
+ );
2491
+ }
2492
+ }
2493
+ return entries.map(
2494
+ (entry) => outcomes.get(targetKey(entry)) ?? { status: "claimed" }
2495
+ );
2496
+ }
2599
2497
  async function readActiveVersion(graphId) {
2600
2498
  const row = await execution.execGet(
2601
2499
  operationStrategy.buildGetActiveSchema(graphId)
@@ -2605,7 +2503,7 @@ function createCommonOperationBackend(options) {
2605
2503
  return {
2606
2504
  tableExists,
2607
2505
  async executeSchemaDdl(ddl) {
2608
- await execution.execRun(chunkEDN4Y4ZG_cjs.asCompiledStatementSql(chunkEDN4Y4ZG_cjs.sql.raw(ddl)));
2506
+ await execution.execRun(chunkOJHD3LXJ_cjs.asCompiledStatementSql(chunkOJHD3LXJ_cjs.sql.raw(ddl)));
2609
2507
  },
2610
2508
  async executeStatement(query) {
2611
2509
  await execution.execRun(query);
@@ -2625,7 +2523,7 @@ function createCommonOperationBackend(options) {
2625
2523
  }
2626
2524
  );
2627
2525
  if (!row)
2628
- throw new chunkMRDBBHIZ_cjs.DatabaseOperationError(
2526
+ throw new chunkX4GDXBOP_cjs.DatabaseOperationError(
2629
2527
  "Insert node failed: no row returned",
2630
2528
  {
2631
2529
  operation: "insert",
@@ -2652,7 +2550,7 @@ function createCommonOperationBackend(options) {
2652
2550
  return;
2653
2551
  }
2654
2552
  const timestamp = nowIso2();
2655
- for (const chunk2 of chunkSIT26LAZ_cjs.chunk(params, batchConfig.nodeInsertBatchSize)) {
2553
+ for (const chunk2 of chunkZBFZGLZE_cjs.chunk(params, batchConfig.nodeInsertBatchSize)) {
2656
2554
  const query = operationStrategy.buildInsertNodesBatch(chunk2, timestamp);
2657
2555
  await withDuplicateKeyClassification(() => execution.execRun(query), {
2658
2556
  entity: "node",
@@ -2667,7 +2565,7 @@ function createCommonOperationBackend(options) {
2667
2565
  }
2668
2566
  const timestamp = nowIso2();
2669
2567
  const allRows = [];
2670
- for (const chunk2 of chunkSIT26LAZ_cjs.chunk(params, batchConfig.nodeInsertBatchSize)) {
2568
+ for (const chunk2 of chunkZBFZGLZE_cjs.chunk(params, batchConfig.nodeInsertBatchSize)) {
2671
2569
  const query = operationStrategy.buildInsertNodesBatchReturning(
2672
2570
  chunk2,
2673
2571
  timestamp
@@ -2692,7 +2590,7 @@ function createCommonOperationBackend(options) {
2692
2590
  async getNodes(graphId, kind, ids) {
2693
2591
  if (ids.length === 0) return [];
2694
2592
  const allRows = [];
2695
- for (const chunk2 of chunkSIT26LAZ_cjs.chunk(ids, batchConfig.getNodesChunkSize)) {
2593
+ for (const chunk2 of chunkZBFZGLZE_cjs.chunk(ids, batchConfig.getNodesChunkSize)) {
2696
2594
  const query = operationStrategy.buildGetNodes(graphId, kind, chunk2);
2697
2595
  const rows = await execution.execAll(query);
2698
2596
  allRows.push(...rows.map((row) => rowMappers.toNodeRow(row)));
@@ -2704,7 +2602,7 @@ function createCommonOperationBackend(options) {
2704
2602
  const query = operationStrategy.buildUpdateNode(params, timestamp);
2705
2603
  const row = await execution.execGet(query);
2706
2604
  if (!row)
2707
- throw new chunkMRDBBHIZ_cjs.DatabaseOperationError(
2605
+ throw new chunkX4GDXBOP_cjs.DatabaseOperationError(
2708
2606
  "Update node failed: no row returned",
2709
2607
  {
2710
2608
  operation: "update",
@@ -2716,13 +2614,13 @@ function createCommonOperationBackend(options) {
2716
2614
  },
2717
2615
  async updateNodeSet(params) {
2718
2616
  if (Object.keys(params.patch).length === 0 && (params.unsetProperties?.length ?? 0) === 0) {
2719
- throw new chunkMRDBBHIZ_cjs.ConfigurationError(
2617
+ throw new chunkX4GDXBOP_cjs.ConfigurationError(
2720
2618
  "Set-based node update requires at least one property",
2721
2619
  { operation: "updateNodeSet", kind: params.kind }
2722
2620
  );
2723
2621
  }
2724
2622
  if (params.candidateIdColumn.length === 0) {
2725
- throw new chunkMRDBBHIZ_cjs.ConfigurationError(
2623
+ throw new chunkX4GDXBOP_cjs.ConfigurationError(
2726
2624
  "Set-based node update requires a candidate id column",
2727
2625
  { operation: "updateNodeSet", kind: params.kind }
2728
2626
  );
@@ -2783,7 +2681,7 @@ function createCommonOperationBackend(options) {
2783
2681
  }
2784
2682
  );
2785
2683
  if (!row)
2786
- throw new chunkMRDBBHIZ_cjs.DatabaseOperationError(
2684
+ throw new chunkX4GDXBOP_cjs.DatabaseOperationError(
2787
2685
  "Insert edge failed: no row returned",
2788
2686
  {
2789
2687
  operation: "insert",
@@ -2810,7 +2708,7 @@ function createCommonOperationBackend(options) {
2810
2708
  return;
2811
2709
  }
2812
2710
  const timestamp = nowIso2();
2813
- for (const chunk2 of chunkSIT26LAZ_cjs.chunk(params, batchConfig.edgeInsertBatchSize)) {
2711
+ for (const chunk2 of chunkZBFZGLZE_cjs.chunk(params, batchConfig.edgeInsertBatchSize)) {
2814
2712
  const query = operationStrategy.buildInsertEdgesBatch(chunk2, timestamp);
2815
2713
  await withDuplicateKeyClassification(() => execution.execRun(query), {
2816
2714
  entity: "edge",
@@ -2825,7 +2723,7 @@ function createCommonOperationBackend(options) {
2825
2723
  }
2826
2724
  const timestamp = nowIso2();
2827
2725
  const allRows = [];
2828
- for (const chunk2 of chunkSIT26LAZ_cjs.chunk(params, batchConfig.edgeInsertBatchSize)) {
2726
+ for (const chunk2 of chunkZBFZGLZE_cjs.chunk(params, batchConfig.edgeInsertBatchSize)) {
2829
2727
  const query = operationStrategy.buildInsertEdgesBatchReturning(
2830
2728
  chunk2,
2831
2729
  timestamp
@@ -2850,7 +2748,7 @@ function createCommonOperationBackend(options) {
2850
2748
  async getEdges(graphId, ids) {
2851
2749
  if (ids.length === 0) return [];
2852
2750
  const allRows = [];
2853
- for (const chunk2 of chunkSIT26LAZ_cjs.chunk(ids, batchConfig.getEdgesChunkSize)) {
2751
+ for (const chunk2 of chunkZBFZGLZE_cjs.chunk(ids, batchConfig.getEdgesChunkSize)) {
2854
2752
  const query = operationStrategy.buildGetEdges(graphId, chunk2);
2855
2753
  const rows = await execution.execAll(query);
2856
2754
  allRows.push(...rows.map((row) => rowMappers.toEdgeRow(row)));
@@ -2862,7 +2760,7 @@ function createCommonOperationBackend(options) {
2862
2760
  const query = operationStrategy.buildUpdateEdge(params, timestamp);
2863
2761
  const row = await execution.execGet(query);
2864
2762
  if (!row)
2865
- throw new chunkMRDBBHIZ_cjs.DatabaseOperationError(
2763
+ throw new chunkX4GDXBOP_cjs.DatabaseOperationError(
2866
2764
  "Update edge failed: no row returned",
2867
2765
  {
2868
2766
  operation: "update",
@@ -2888,7 +2786,7 @@ function createCommonOperationBackend(options) {
2888
2786
  1,
2889
2787
  batchConfig.getEdgesChunkSize - 1
2890
2788
  );
2891
- for (const chunk2 of chunkSIT26LAZ_cjs.chunk(params.ids, softDeleteChunkSize)) {
2789
+ for (const chunk2 of chunkZBFZGLZE_cjs.chunk(params.ids, softDeleteChunkSize)) {
2892
2790
  const query = operationStrategy.buildDeleteEdgesBatch(
2893
2791
  { graphId: params.graphId, ids: chunk2 },
2894
2792
  timestamp
@@ -2898,7 +2796,7 @@ function createCommonOperationBackend(options) {
2898
2796
  },
2899
2797
  async hardDeleteEdgesBatch(params) {
2900
2798
  if (params.ids.length === 0) return;
2901
- for (const chunk2 of chunkSIT26LAZ_cjs.chunk(
2799
+ for (const chunk2 of chunkZBFZGLZE_cjs.chunk(
2902
2800
  params.ids,
2903
2801
  batchConfig.getEdgesChunkSize
2904
2802
  )) {
@@ -2942,7 +2840,7 @@ function createCommonOperationBackend(options) {
2942
2840
  async findEdgesByEndpointSet(params) {
2943
2841
  const ids = resolveEdgeEndpointIds(params);
2944
2842
  const edgeRows = [];
2945
- for (const idChunk of chunkSIT26LAZ_cjs.chunk(
2843
+ for (const idChunk of chunkZBFZGLZE_cjs.chunk(
2946
2844
  ids,
2947
2845
  batchConfig.findEdgesEndpointChunkSize
2948
2846
  )) {
@@ -2959,7 +2857,7 @@ function createCommonOperationBackend(options) {
2959
2857
  const { edgeKinds, endpoints, endpointChunkSize } = resolveHeterogeneousEdgeRead(params, maxBindParameters);
2960
2858
  if (edgeKinds.length === 0 || endpoints.length === 0) return [];
2961
2859
  const edgeRows = [];
2962
- for (const endpointChunk of chunkSIT26LAZ_cjs.chunk(endpoints, endpointChunkSize)) {
2860
+ for (const endpointChunk of chunkZBFZGLZE_cjs.chunk(endpoints, endpointChunkSize)) {
2963
2861
  const query = operationStrategy.buildFindEdgesByHeterogeneousEndpointSet(
2964
2862
  params,
2965
2863
  endpointChunk,
@@ -2978,13 +2876,23 @@ function createCommonOperationBackend(options) {
2978
2876
  async insertUnique(params) {
2979
2877
  const query = operationStrategy.buildInsertUnique(params);
2980
2878
  const result = await execution.execGet(query);
2981
- if (result && result.node_id !== params.nodeId) {
2982
- throw new chunkMRDBBHIZ_cjs.UniquenessError({
2879
+ if (result && !chunkLLVOQOWE_cjs.isSameClaimOwner(
2880
+ { concreteKind: result.concrete_kind, nodeId: result.node_id },
2881
+ claimOwnerOf(params)
2882
+ )) {
2883
+ throw new chunkX4GDXBOP_cjs.UniquenessError({
2983
2884
  constraintName: params.constraintName,
2984
- kind: params.nodeKind,
2885
+ // The holder's own kind, never `nodeKind`: that column carries the
2886
+ // claim AXIS, which a shared scope folds across kinds, so it need not
2887
+ // be the holder's kind and usually is not.
2888
+ kind: result.concrete_kind,
2985
2889
  existingId: result.node_id,
2986
2890
  newId: params.nodeId,
2987
- fields: []
2891
+ fields: [],
2892
+ // The axis THIS statement attempted — `mapClaimRefusal`'s only way to
2893
+ // tell two disjoint pairs (or two scoped constraints) sharing a key
2894
+ // apart, since `constraintName` alone does not.
2895
+ axis: params.nodeKind
2988
2896
  });
2989
2897
  }
2990
2898
  },
@@ -2998,18 +2906,19 @@ function createCommonOperationBackend(options) {
2998
2906
  byTarget.set(targetKey(entry), entry);
2999
2907
  continue;
3000
2908
  }
3001
- if (existing.nodeId !== entry.nodeId) {
3002
- throw new chunkMRDBBHIZ_cjs.UniquenessError({
2909
+ if (!chunkLLVOQOWE_cjs.isSameClaimOwner(claimOwnerOf(existing), claimOwnerOf(entry))) {
2910
+ throw new chunkX4GDXBOP_cjs.UniquenessError({
3003
2911
  constraintName: entry.constraintName,
3004
- kind: entry.nodeKind,
2912
+ kind: existing.concreteKind,
3005
2913
  existingId: existing.nodeId,
3006
2914
  newId: entry.nodeId,
3007
- fields: []
2915
+ fields: [],
2916
+ axis: entry.nodeKind
3008
2917
  });
3009
2918
  }
3010
2919
  }
3011
2920
  const deduped = [...byTarget.values()];
3012
- for (const chunk2 of chunkSIT26LAZ_cjs.chunk(
2921
+ for (const chunk2 of chunkZBFZGLZE_cjs.chunk(
3013
2922
  deduped,
3014
2923
  batchConfig.uniqueInsertBatchSize
3015
2924
  )) {
@@ -3018,18 +2927,19 @@ function createCommonOperationBackend(options) {
3018
2927
  const ownerByTarget = new Map(
3019
2928
  rows.map((row) => [
3020
2929
  `${row.node_kind}\0${row.constraint_name}\0${row.key}`,
3021
- row.node_id
2930
+ { concreteKind: row.concrete_kind, nodeId: row.node_id }
3022
2931
  ])
3023
2932
  );
3024
2933
  for (const entry of chunk2) {
3025
2934
  const owner = ownerByTarget.get(targetKey(entry));
3026
- if (owner !== void 0 && owner !== entry.nodeId) {
3027
- throw new chunkMRDBBHIZ_cjs.UniquenessError({
2935
+ if (owner !== void 0 && !chunkLLVOQOWE_cjs.isSameClaimOwner(owner, claimOwnerOf(entry))) {
2936
+ throw new chunkX4GDXBOP_cjs.UniquenessError({
3028
2937
  constraintName: entry.constraintName,
3029
- kind: entry.nodeKind,
3030
- existingId: owner,
2938
+ kind: owner.concreteKind,
2939
+ existingId: owner.nodeId,
3031
2940
  newId: entry.nodeId,
3032
- fields: []
2941
+ fields: [],
2942
+ axis: entry.nodeKind
3033
2943
  });
3034
2944
  }
3035
2945
  }
@@ -3042,7 +2952,7 @@ function createCommonOperationBackend(options) {
3042
2952
  },
3043
2953
  async hardDeleteUniquesByNodeIds(params) {
3044
2954
  const nodeIds = [...new Set(params.nodeIds)];
3045
- for (const chunk2 of chunkSIT26LAZ_cjs.chunk(
2955
+ for (const chunk2 of chunkZBFZGLZE_cjs.chunk(
3046
2956
  nodeIds,
3047
2957
  batchConfig.uniqueDeleteChunkSize
3048
2958
  )) {
@@ -3053,6 +2963,78 @@ function createCommonOperationBackend(options) {
3053
2963
  await execution.execRun(query);
3054
2964
  }
3055
2965
  },
2966
+ async hardDeleteUniquesByConcreteKind(params) {
2967
+ const query = operationStrategy.buildHardDeleteUniquesByConcreteKind(params);
2968
+ await execution.execRun(query);
2969
+ },
2970
+ async claimEdgeCardinality(params) {
2971
+ const [outcome] = await claimEdgeCardinalityEntries([params]);
2972
+ return outcome ?? { status: "claimed" };
2973
+ },
2974
+ claimEdgeCardinalityBatch(entries) {
2975
+ return claimEdgeCardinalityEntries(entries);
2976
+ },
2977
+ async purgeEdgeClaims(params) {
2978
+ const edgeIds = [...new Set(params.edgeIds)];
2979
+ for (const chunk2 of chunkZBFZGLZE_cjs.chunk(edgeIds, batchConfig.getEdgesChunkSize)) {
2980
+ const query = operationStrategy.buildPurgeEdgeClaims({
2981
+ ...params,
2982
+ edgeIds: chunk2
2983
+ });
2984
+ await execution.execRun(query);
2985
+ }
2986
+ },
2987
+ async readConstraintFenceViolations(params) {
2988
+ const uniqueRows = params.uniqueConstraintNames.length === 0 ? [] : await execution.execAll(
2989
+ operationStrategy.buildContendedUniqueRowAudit(
2990
+ params.graphId,
2991
+ params.uniqueConstraintNames
2992
+ )
2993
+ );
2994
+ const contendedUniqueRows = uniqueRows.map((row) => ({
2995
+ nodeKind: row.node_kind,
2996
+ constraintName: row.constraint_name,
2997
+ key: row.key,
2998
+ concreteKind: row.concrete_kind,
2999
+ nodeId: row.node_id
3000
+ }));
3001
+ const edgeKindsByCardinality = /* @__PURE__ */ new Map();
3002
+ for (const declaration of params.edgeCardinalities) {
3003
+ const kinds = edgeKindsByCardinality.get(declaration.cardinality) ?? [];
3004
+ kinds.push(declaration.edgeKind);
3005
+ edgeKindsByCardinality.set(declaration.cardinality, kinds);
3006
+ }
3007
+ const contendedEdgeRows = [];
3008
+ for (const [cardinality, edgeKinds] of edgeKindsByCardinality) {
3009
+ const rows = await execution.execAll(
3010
+ operationStrategy.buildContendedEdgeRowAudit(
3011
+ params.graphId,
3012
+ cardinality,
3013
+ edgeKinds
3014
+ )
3015
+ );
3016
+ for (const row of rows) {
3017
+ contendedEdgeRows.push({
3018
+ edgeKind: row.edge_kind,
3019
+ cardinality,
3020
+ edgeId: row.edge_id,
3021
+ fromKind: row.from_kind,
3022
+ fromId: row.from_id,
3023
+ toKind: row.to_kind,
3024
+ toId: row.to_id
3025
+ });
3026
+ }
3027
+ }
3028
+ const disjointOverlaps = [];
3029
+ for (const kinds of params.disjointKindPairs) {
3030
+ const rows = await execution.execAll(
3031
+ operationStrategy.buildDisjointOverlapAudit(params.graphId, kinds)
3032
+ );
3033
+ for (const row of rows)
3034
+ disjointOverlaps.push({ kinds, nodeId: row.node_id });
3035
+ }
3036
+ return { contendedUniqueRows, contendedEdgeRows, disjointOverlaps };
3037
+ },
3056
3038
  async checkUnique(params) {
3057
3039
  const query = operationStrategy.buildCheckUnique(params);
3058
3040
  const row = await execution.execGet(query);
@@ -3061,7 +3043,7 @@ function createCommonOperationBackend(options) {
3061
3043
  async checkUniqueBatch(params) {
3062
3044
  if (params.keys.length === 0) return [];
3063
3045
  const allRows = [];
3064
- for (const chunk2 of chunkSIT26LAZ_cjs.chunk(
3046
+ for (const chunk2 of chunkZBFZGLZE_cjs.chunk(
3065
3047
  params.keys,
3066
3048
  batchConfig.checkUniqueBatchChunkSize
3067
3049
  )) {
@@ -3092,7 +3074,7 @@ function createCommonOperationBackend(options) {
3092
3074
  if (existingRaw !== void 0) {
3093
3075
  const existing = rowMappers.toSchemaVersionRow(existingRaw);
3094
3076
  if (existing.schema_hash !== params.schemaHash) {
3095
- throw new chunkMRDBBHIZ_cjs.SchemaContentConflictError({
3077
+ throw new chunkX4GDXBOP_cjs.SchemaContentConflictError({
3096
3078
  graphId: params.graphId,
3097
3079
  version: params.version,
3098
3080
  existingHash: existing.schema_hash,
@@ -3140,7 +3122,7 @@ function createCommonOperationBackend(options) {
3140
3122
  );
3141
3123
  const insertedRaw = await execution.execGet(insertQuery);
3142
3124
  if (!insertedRaw) {
3143
- throw new chunkMRDBBHIZ_cjs.DatabaseOperationError(
3125
+ throw new chunkX4GDXBOP_cjs.DatabaseOperationError(
3144
3126
  "Insert schema failed: no row returned",
3145
3127
  { operation: "insert", entity: "schema" }
3146
3128
  );
@@ -3158,7 +3140,7 @@ function createCommonOperationBackend(options) {
3158
3140
  operationStrategy.buildGetSchemaVersion(params.graphId, params.version)
3159
3141
  );
3160
3142
  if (!targetRaw) {
3161
- throw new chunkMRDBBHIZ_cjs.MigrationError(
3143
+ throw new chunkX4GDXBOP_cjs.MigrationError(
3162
3144
  `Cannot activate version ${params.version}: version does not exist for graph "${params.graphId}".`,
3163
3145
  {
3164
3146
  graphId: params.graphId,
@@ -3191,7 +3173,7 @@ function quoteSqlIdentifier(identifier) {
3191
3173
  }
3192
3174
  function requireRawExecution(backend) {
3193
3175
  if (backend.executeRaw === void 0) {
3194
- throw new chunkMRDBBHIZ_cjs.TrustedImportError(
3176
+ throw new chunkX4GDXBOP_cjs.TrustedImportError(
3195
3177
  "This backend cannot execute the raw statements required by trusted import.",
3196
3178
  "backend_unsupported"
3197
3179
  );
@@ -3200,7 +3182,7 @@ function requireRawExecution(backend) {
3200
3182
  }
3201
3183
  function requireStatementExecution(backend) {
3202
3184
  if (backend.executeStatement === void 0) {
3203
- throw new chunkMRDBBHIZ_cjs.TrustedImportError(
3185
+ throw new chunkX4GDXBOP_cjs.TrustedImportError(
3204
3186
  "This backend cannot execute the index lifecycle required by trusted import.",
3205
3187
  "backend_unsupported"
3206
3188
  );
@@ -3222,7 +3204,7 @@ async function assertTrustedImportDatabaseEmpty(backend, tableNames) {
3222
3204
  []
3223
3205
  );
3224
3206
  if (!rowIndicatesExistingData(rows[0])) return;
3225
- throw new chunkMRDBBHIZ_cjs.TrustedImportError(
3207
+ throw new chunkX4GDXBOP_cjs.TrustedImportError(
3226
3208
  "Trusted import requires globally empty TypeGraph node and edge tables.",
3227
3209
  "database_not_empty",
3228
3210
  { tables: [tableNames.nodes, tableNames.edges] },
@@ -3234,8 +3216,8 @@ async function assertTrustedImportDatabaseEmpty(backend, tableNames) {
3234
3216
  async function lockPostgresTrustedImportTables(backend, tableNames) {
3235
3217
  const executeStatement = requireStatementExecution(backend);
3236
3218
  await executeStatement(
3237
- chunkEDN4Y4ZG_cjs.asCompiledStatementSql(
3238
- chunkEDN4Y4ZG_cjs.sql.raw(
3219
+ chunkOJHD3LXJ_cjs.asCompiledStatementSql(
3220
+ chunkOJHD3LXJ_cjs.sql.raw(
3239
3221
  `LOCK TABLE ${quoteSqlIdentifier(tableNames.nodes)}, ${quoteSqlIdentifier(tableNames.edges)} IN ACCESS EXCLUSIVE MODE`
3240
3222
  )
3241
3223
  )
@@ -3255,8 +3237,8 @@ async function suspendSqliteSecondaryIndexes(backend, tableNames) {
3255
3237
  );
3256
3238
  for (const definition of definitions) {
3257
3239
  await executeStatement(
3258
- chunkEDN4Y4ZG_cjs.asCompiledStatementSql(
3259
- chunkEDN4Y4ZG_cjs.sql.raw(`DROP INDEX ${quoteSqlIdentifier(definition.index_name)}`)
3240
+ chunkOJHD3LXJ_cjs.asCompiledStatementSql(
3241
+ chunkOJHD3LXJ_cjs.sql.raw(`DROP INDEX ${quoteSqlIdentifier(definition.index_name)}`)
3260
3242
  )
3261
3243
  );
3262
3244
  }
@@ -3286,8 +3268,8 @@ async function suspendPostgresSecondaryIndexes(backend, tableNames) {
3286
3268
  );
3287
3269
  for (const definition of definitions) {
3288
3270
  await executeStatement(
3289
- chunkEDN4Y4ZG_cjs.asCompiledStatementSql(
3290
- chunkEDN4Y4ZG_cjs.sql.raw(`DROP INDEX ${quoteSqlIdentifier(definition.index_name)}`)
3271
+ chunkOJHD3LXJ_cjs.asCompiledStatementSql(
3272
+ chunkOJHD3LXJ_cjs.sql.raw(`DROP INDEX ${quoteSqlIdentifier(definition.index_name)}`)
3291
3273
  )
3292
3274
  );
3293
3275
  }
@@ -3297,20 +3279,20 @@ async function restoreSecondaryIndexes(backend, definitions) {
3297
3279
  const executeStatement = requireStatementExecution(backend);
3298
3280
  for (const definition of definitions) {
3299
3281
  await executeStatement(
3300
- chunkEDN4Y4ZG_cjs.asCompiledStatementSql(chunkEDN4Y4ZG_cjs.sql.raw(definition.index_definition))
3282
+ chunkOJHD3LXJ_cjs.asCompiledStatementSql(chunkOJHD3LXJ_cjs.sql.raw(definition.index_definition))
3301
3283
  );
3302
3284
  }
3303
3285
  }
3304
3286
  async function analyzeImportedTables(backend, tableNames) {
3305
3287
  const executeStatement = requireStatementExecution(backend);
3306
3288
  await executeStatement(
3307
- chunkEDN4Y4ZG_cjs.asCompiledStatementSql(
3308
- chunkEDN4Y4ZG_cjs.sql.raw(`ANALYZE ${quoteSqlIdentifier(tableNames.nodes)}`)
3289
+ chunkOJHD3LXJ_cjs.asCompiledStatementSql(
3290
+ chunkOJHD3LXJ_cjs.sql.raw(`ANALYZE ${quoteSqlIdentifier(tableNames.nodes)}`)
3309
3291
  )
3310
3292
  );
3311
3293
  await executeStatement(
3312
- chunkEDN4Y4ZG_cjs.asCompiledStatementSql(
3313
- chunkEDN4Y4ZG_cjs.sql.raw(`ANALYZE ${quoteSqlIdentifier(tableNames.edges)}`)
3294
+ chunkOJHD3LXJ_cjs.asCompiledStatementSql(
3295
+ chunkOJHD3LXJ_cjs.sql.raw(`ANALYZE ${quoteSqlIdentifier(tableNames.edges)}`)
3314
3296
  )
3315
3297
  );
3316
3298
  }
@@ -3322,7 +3304,7 @@ function postgresArray(values) {
3322
3304
  function createSqliteTrustedImportSession(executionAdapter, tableNames) {
3323
3305
  const executePreparedRunBatch = executionAdapter.executePreparedRunBatch;
3324
3306
  if (executePreparedRunBatch === void 0) {
3325
- throw new chunkMRDBBHIZ_cjs.TrustedImportError(
3307
+ throw new chunkX4GDXBOP_cjs.TrustedImportError(
3326
3308
  "Trusted import requires a synchronous SQLite driver with prepared statement support.",
3327
3309
  "backend_unsupported"
3328
3310
  );
@@ -3344,7 +3326,7 @@ function createSqliteTrustedImportSession(executionAdapter, tableNames) {
3344
3326
  item.kind,
3345
3327
  item.id,
3346
3328
  JSON.stringify(item.props),
3347
- chunkTQHGE7UC_cjs.resolveStampedValidityLowerBound(item.validFrom, item.validTo, timestamp) ?? DATABASE_NULL,
3329
+ chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(item.validFrom, item.validTo, timestamp) ?? DATABASE_NULL,
3348
3330
  item.validTo ?? DATABASE_NULL,
3349
3331
  timestamp,
3350
3332
  timestamp
@@ -3365,7 +3347,7 @@ function createSqliteTrustedImportSession(executionAdapter, tableNames) {
3365
3347
  item.toKind,
3366
3348
  item.toId,
3367
3349
  JSON.stringify(item.props),
3368
- chunkTQHGE7UC_cjs.resolveStampedValidityLowerBound(item.validFrom, item.validTo, timestamp) ?? DATABASE_NULL,
3350
+ chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(item.validFrom, item.validTo, timestamp) ?? DATABASE_NULL,
3369
3351
  item.validTo ?? DATABASE_NULL,
3370
3352
  timestamp,
3371
3353
  timestamp
@@ -3406,7 +3388,7 @@ function createPostgresTrustedImportSession(backend, tableNames) {
3406
3388
  postgresArray(params.map((item) => JSON.stringify(item.props))),
3407
3389
  postgresArray(
3408
3390
  params.map(
3409
- (item) => chunkTQHGE7UC_cjs.resolveStampedValidityLowerBound(item.validFrom, item.validTo, timestamp) ?? DATABASE_NULL
3391
+ (item) => chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(item.validFrom, item.validTo, timestamp) ?? DATABASE_NULL
3410
3392
  )
3411
3393
  ),
3412
3394
  postgresArray(params.map((item) => item.validTo ?? DATABASE_NULL)),
@@ -3427,7 +3409,7 @@ function createPostgresTrustedImportSession(backend, tableNames) {
3427
3409
  postgresArray(params.map((item) => JSON.stringify(item.props))),
3428
3410
  postgresArray(
3429
3411
  params.map(
3430
- (item) => chunkTQHGE7UC_cjs.resolveStampedValidityLowerBound(item.validFrom, item.validTo, timestamp) ?? DATABASE_NULL
3412
+ (item) => chunkM5MSP3BI_cjs.resolveStampedValidityLowerBound(item.validFrom, item.validTo, timestamp) ?? DATABASE_NULL
3431
3413
  )
3432
3414
  ),
3433
3415
  postgresArray(params.map((item) => item.validTo ?? DATABASE_NULL)),
@@ -3498,5 +3480,5 @@ exports.tableExistsFromRow = tableExistsFromRow;
3498
3480
  exports.vectorSlotFromCreateIndexParams = vectorSlotFromCreateIndexParams;
3499
3481
  exports.vectorSlotFromDropIndexParams = vectorSlotFromDropIndexParams;
3500
3482
  exports.vectorSlotFromParams = vectorSlotFromParams;
3501
- //# sourceMappingURL=chunk-WCCATHMB.cjs.map
3502
- //# sourceMappingURL=chunk-WCCATHMB.cjs.map
3483
+ //# sourceMappingURL=chunk-XMY2SXOH.cjs.map
3484
+ //# sourceMappingURL=chunk-XMY2SXOH.cjs.map