@nicia-ai/typegraph 0.37.0 → 0.38.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 (372) hide show
  1. package/README.md +12 -10
  2. package/dist/backend/drizzle/indexes.cjs +32 -0
  3. package/dist/backend/drizzle/indexes.cjs.map +1 -0
  4. package/dist/backend/drizzle/indexes.d.cts +43 -0
  5. package/dist/backend/drizzle/indexes.d.ts +43 -0
  6. package/dist/backend/drizzle/indexes.js +11 -0
  7. package/dist/backend/drizzle/indexes.js.map +1 -0
  8. package/dist/backend/index.cjs +161 -0
  9. package/dist/backend/index.cjs.map +1 -0
  10. package/dist/backend/index.d.cts +3 -0
  11. package/dist/backend/index.d.ts +3 -0
  12. package/dist/backend/index.js +8 -0
  13. package/dist/backend/index.js.map +1 -0
  14. package/dist/backend/postgres/index.cjs +32 -28
  15. package/dist/backend/postgres/index.d.cts +13 -12
  16. package/dist/backend/postgres/index.d.ts +13 -12
  17. package/dist/backend/postgres/index.js +19 -15
  18. package/dist/backend/postgres/pglite-store.cjs +67 -0
  19. package/dist/backend/postgres/pglite-store.cjs.map +1 -0
  20. package/dist/backend/postgres/pglite-store.d.cts +38 -0
  21. package/dist/backend/postgres/pglite-store.d.ts +38 -0
  22. package/dist/backend/postgres/pglite-store.js +65 -0
  23. package/dist/backend/postgres/pglite-store.js.map +1 -0
  24. package/dist/backend/postgres/pglite.cjs +25 -50
  25. package/dist/backend/postgres/pglite.cjs.map +1 -1
  26. package/dist/backend/postgres/pglite.d.cts +10 -9
  27. package/dist/backend/postgres/pglite.d.ts +10 -9
  28. package/dist/backend/postgres/pglite.js +20 -52
  29. package/dist/backend/postgres/pglite.js.map +1 -1
  30. package/dist/backend/sqlite/index.cjs +29 -25
  31. package/dist/backend/sqlite/index.d.cts +11 -11
  32. package/dist/backend/sqlite/index.d.ts +11 -11
  33. package/dist/backend/sqlite/index.js +17 -13
  34. package/dist/backend/sqlite/libsql.cjs +23 -19
  35. package/dist/backend/sqlite/libsql.cjs.map +1 -1
  36. package/dist/backend/sqlite/libsql.d.cts +9 -10
  37. package/dist/backend/sqlite/libsql.d.ts +9 -10
  38. package/dist/backend/sqlite/libsql.js +19 -15
  39. package/dist/backend/sqlite/libsql.js.map +1 -1
  40. package/dist/backend/sqlite/local-store.cjs +72 -0
  41. package/dist/backend/sqlite/local-store.cjs.map +1 -0
  42. package/dist/backend/sqlite/local-store.d.cts +42 -0
  43. package/dist/backend/sqlite/local-store.d.ts +42 -0
  44. package/dist/backend/sqlite/local-store.js +67 -0
  45. package/dist/backend/sqlite/local-store.js.map +1 -0
  46. package/dist/backend/sqlite/local.cjs +28 -183
  47. package/dist/backend/sqlite/local.cjs.map +1 -1
  48. package/dist/backend/sqlite/local.d.cts +8 -81
  49. package/dist/backend/sqlite/local.d.ts +8 -81
  50. package/dist/backend/sqlite/local.js +20 -180
  51. package/dist/backend/sqlite/local.js.map +1 -1
  52. package/dist/chunk-2EBMPJBO.js +16 -0
  53. package/dist/chunk-2EBMPJBO.js.map +1 -0
  54. package/dist/{chunk-NBP2WTJW.cjs → chunk-2SL7OGPR.cjs} +2900 -1597
  55. package/dist/chunk-2SL7OGPR.cjs.map +1 -0
  56. package/dist/chunk-35S6P5ZU.js +27 -0
  57. package/dist/chunk-35S6P5ZU.js.map +1 -0
  58. package/dist/chunk-3LKL3S6X.js +50 -0
  59. package/dist/chunk-3LKL3S6X.js.map +1 -0
  60. package/dist/chunk-6G5CQ6JX.js +47 -0
  61. package/dist/chunk-6G5CQ6JX.js.map +1 -0
  62. package/dist/chunk-6XDBRDZE.js +312 -0
  63. package/dist/chunk-6XDBRDZE.js.map +1 -0
  64. package/dist/chunk-764JHTLT.cjs +15 -0
  65. package/dist/chunk-764JHTLT.cjs.map +1 -0
  66. package/dist/chunk-76HE7DJP.js +68 -0
  67. package/dist/chunk-76HE7DJP.js.map +1 -0
  68. package/dist/{chunk-VGDDG3XJ.cjs → chunk-7M3NACL3.cjs} +12 -12
  69. package/dist/{chunk-VGDDG3XJ.cjs.map → chunk-7M3NACL3.cjs.map} +1 -1
  70. package/dist/{chunk-NXQFATMF.cjs → chunk-7VLCN3JB.cjs} +153 -123
  71. package/dist/chunk-7VLCN3JB.cjs.map +1 -0
  72. package/dist/{chunk-552KNYQJ.js → chunk-A2FGSWMQ.js} +1907 -607
  73. package/dist/chunk-A2FGSWMQ.js.map +1 -0
  74. package/dist/chunk-AOL64O4Z.js +165 -0
  75. package/dist/chunk-AOL64O4Z.js.map +1 -0
  76. package/dist/{chunk-27SSDCEP.cjs → chunk-B63IFHXR.cjs} +53 -74
  77. package/dist/chunk-B63IFHXR.cjs.map +1 -0
  78. package/dist/{chunk-3XXGYU62.cjs → chunk-BKAKAVRW.cjs} +56 -53
  79. package/dist/chunk-BKAKAVRW.cjs.map +1 -0
  80. package/dist/{chunk-YTSN73ND.js → chunk-BQITNFQJ.js} +3 -3
  81. package/dist/{chunk-YTSN73ND.js.map → chunk-BQITNFQJ.js.map} +1 -1
  82. package/dist/{chunk-NUIG3BCV.cjs → chunk-CQC6VBAF.cjs} +93 -155
  83. package/dist/chunk-CQC6VBAF.cjs.map +1 -0
  84. package/dist/{chunk-6EEO3OVU.cjs → chunk-CWX77JB4.cjs} +22 -59
  85. package/dist/chunk-CWX77JB4.cjs.map +1 -0
  86. package/dist/{chunk-UGZUAYAR.js → chunk-D7PG5D5K.js} +4 -3
  87. package/dist/chunk-D7PG5D5K.js.map +1 -0
  88. package/dist/chunk-DDCIXXOO.js +9 -0
  89. package/dist/chunk-DDCIXXOO.js.map +1 -0
  90. package/dist/chunk-DDCYVIVV.cjs +44 -0
  91. package/dist/chunk-DDCYVIVV.cjs.map +1 -0
  92. package/dist/{chunk-XPCZADMT.cjs → chunk-DOVMTPKE.cjs} +89 -27
  93. package/dist/chunk-DOVMTPKE.cjs.map +1 -0
  94. package/dist/{chunk-5PNMDJ7J.js → chunk-DPNA466P.js} +14 -9
  95. package/dist/chunk-DPNA466P.js.map +1 -0
  96. package/dist/{chunk-BYPOGQWK.js → chunk-DRACN6XG.js} +6 -4
  97. package/dist/chunk-DRACN6XG.js.map +1 -0
  98. package/dist/chunk-E6TXEISH.cjs +175 -0
  99. package/dist/chunk-E6TXEISH.cjs.map +1 -0
  100. package/dist/{chunk-TKT2XHED.js → chunk-E6YZRKMM.js} +13 -12
  101. package/dist/chunk-E6YZRKMM.js.map +1 -0
  102. package/dist/{chunk-3C2RYI6L.cjs → chunk-EOJFGECD.cjs} +11 -11
  103. package/dist/chunk-EOJFGECD.cjs.map +1 -0
  104. package/dist/{chunk-XWV4JT34.js → chunk-ERZ4QPQX.js} +27 -22
  105. package/dist/chunk-ERZ4QPQX.js.map +1 -0
  106. package/dist/{chunk-DFVLCOP6.js → chunk-EZH7FNUS.js} +3 -3
  107. package/dist/{chunk-DFVLCOP6.js.map → chunk-EZH7FNUS.js.map} +1 -1
  108. package/dist/{chunk-WWFHO375.cjs → chunk-FJMPR3OH.cjs} +4 -3
  109. package/dist/chunk-FJMPR3OH.cjs.map +1 -0
  110. package/dist/chunk-FMNUSGZ4.cjs +12 -0
  111. package/dist/chunk-FMNUSGZ4.cjs.map +1 -0
  112. package/dist/{chunk-K3Q3LJY3.js → chunk-G32AO634.js} +201 -100
  113. package/dist/chunk-G32AO634.js.map +1 -0
  114. package/dist/{chunk-EXU3RASM.js → chunk-G3CSQLLT.js} +20 -474
  115. package/dist/chunk-G3CSQLLT.js.map +1 -0
  116. package/dist/chunk-GNPGGLAE.cjs +212 -0
  117. package/dist/chunk-GNPGGLAE.cjs.map +1 -0
  118. package/dist/{chunk-QARBLBXT.cjs → chunk-GUUWKPTK.cjs} +7 -7
  119. package/dist/{chunk-QARBLBXT.cjs.map → chunk-GUUWKPTK.cjs.map} +1 -1
  120. package/dist/chunk-GYA4JRP5.js +31 -0
  121. package/dist/chunk-GYA4JRP5.js.map +1 -0
  122. package/dist/chunk-I6FX7AAG.js +39 -0
  123. package/dist/chunk-I6FX7AAG.js.map +1 -0
  124. package/dist/chunk-IMQKXL4E.cjs +12 -0
  125. package/dist/{chunk-QSXTWU4U.cjs.map → chunk-IMQKXL4E.cjs.map} +1 -1
  126. package/dist/chunk-J6IJARLG.js +94 -0
  127. package/dist/chunk-J6IJARLG.js.map +1 -0
  128. package/dist/{chunk-W63OVYY4.js → chunk-K34OPSJK.js} +3 -3
  129. package/dist/{chunk-W63OVYY4.js.map → chunk-K34OPSJK.js.map} +1 -1
  130. package/dist/{chunk-TGOMW4MB.cjs → chunk-KCLZHYPU.cjs} +110 -109
  131. package/dist/chunk-KCLZHYPU.cjs.map +1 -0
  132. package/dist/{chunk-XGPUQ56G.js → chunk-KFLXWVUJ.js} +4 -38
  133. package/dist/chunk-KFLXWVUJ.js.map +1 -0
  134. package/dist/{chunk-3DS7Z4T4.cjs → chunk-LZ3TVJY4.cjs} +44 -43
  135. package/dist/chunk-LZ3TVJY4.cjs.map +1 -0
  136. package/dist/{chunk-UXLSNRYL.js → chunk-MTNEGGM2.js} +4 -4
  137. package/dist/chunk-MTNEGGM2.js.map +1 -0
  138. package/dist/{chunk-IP3CGGPA.cjs → chunk-N2V3HJFV.cjs} +92 -185
  139. package/dist/chunk-N2V3HJFV.cjs.map +1 -0
  140. package/dist/chunk-NAUA4PW5.cjs +28 -0
  141. package/dist/chunk-NAUA4PW5.cjs.map +1 -0
  142. package/dist/chunk-NMQ6C6TS.cjs +61 -0
  143. package/dist/chunk-NMQ6C6TS.cjs.map +1 -0
  144. package/dist/{chunk-2N6EOBTH.cjs → chunk-NPWACFQJ.cjs} +58 -53
  145. package/dist/chunk-NPWACFQJ.cjs.map +1 -0
  146. package/dist/{chunk-5KEQ74YU.cjs → chunk-NT6ILURI.cjs} +9 -86
  147. package/dist/chunk-NT6ILURI.cjs.map +1 -0
  148. package/dist/chunk-NU23DUSJ.cjs +192 -0
  149. package/dist/chunk-NU23DUSJ.cjs.map +1 -0
  150. package/dist/{chunk-WOJMKB3N.cjs → chunk-NWYCOFEZ.cjs} +1677 -308
  151. package/dist/chunk-NWYCOFEZ.cjs.map +1 -0
  152. package/dist/{chunk-3GH67G4Z.cjs → chunk-O5H62ZWJ.cjs} +4 -42
  153. package/dist/chunk-O5H62ZWJ.cjs.map +1 -0
  154. package/dist/{chunk-3SLPDKHQ.js → chunk-PH4IJ3V5.js} +5 -77
  155. package/dist/chunk-PH4IJ3V5.js.map +1 -0
  156. package/dist/chunk-PWXGB77L.cjs +56 -0
  157. package/dist/chunk-PWXGB77L.cjs.map +1 -0
  158. package/dist/chunk-PZHC5GCD.js +193 -0
  159. package/dist/chunk-PZHC5GCD.js.map +1 -0
  160. package/dist/chunk-QMQLUA66.js +12 -0
  161. package/dist/chunk-QMQLUA66.js.map +1 -0
  162. package/dist/{chunk-5WWVZMVX.js → chunk-QZ7A6HBM.js} +2 -2
  163. package/dist/{chunk-5WWVZMVX.js.map → chunk-QZ7A6HBM.js.map} +1 -1
  164. package/dist/{chunk-VKGKDOKR.js → chunk-RQPRCEIO.js} +1539 -206
  165. package/dist/chunk-RQPRCEIO.js.map +1 -0
  166. package/dist/chunk-RW24SAHI.cjs +74 -0
  167. package/dist/chunk-RW24SAHI.cjs.map +1 -0
  168. package/dist/{chunk-BVRDGYXQ.cjs → chunk-SAFZ6JTI.cjs} +14 -9
  169. package/dist/chunk-SAFZ6JTI.cjs.map +1 -0
  170. package/dist/{chunk-L7HQ2OSI.js → chunk-SCTZRFW5.js} +87 -166
  171. package/dist/chunk-SCTZRFW5.js.map +1 -0
  172. package/dist/{chunk-5KPNWT6X.js → chunk-SDHV2MWU.js} +24 -45
  173. package/dist/chunk-SDHV2MWU.js.map +1 -0
  174. package/dist/chunk-SVJ5GEXW.cjs +45 -0
  175. package/dist/chunk-SVJ5GEXW.cjs.map +1 -0
  176. package/dist/chunk-SVUKGWSN.cjs +102 -0
  177. package/dist/chunk-SVUKGWSN.cjs.map +1 -0
  178. package/dist/chunk-TAUGGLNQ.js +59 -0
  179. package/dist/chunk-TAUGGLNQ.js.map +1 -0
  180. package/dist/{chunk-J4IUSYFF.js → chunk-TE5ZA4VX.js} +69 -27
  181. package/dist/chunk-TE5ZA4VX.js.map +1 -0
  182. package/dist/{chunk-A42GCBGX.cjs → chunk-TRF4EBJT.cjs} +6 -4
  183. package/dist/chunk-TRF4EBJT.cjs.map +1 -0
  184. package/dist/{chunk-KQJ54OG5.js → chunk-U4JDJKPD.js} +19 -56
  185. package/dist/chunk-U4JDJKPD.js.map +1 -0
  186. package/dist/chunk-UH2USOMG.cjs +627 -0
  187. package/dist/chunk-UH2USOMG.cjs.map +1 -0
  188. package/dist/{chunk-RCVLFTCT.js → chunk-UPXDVI3T.js} +13 -12
  189. package/dist/chunk-UPXDVI3T.js.map +1 -0
  190. package/dist/{chunk-5VQM6VWP.cjs → chunk-UWG5GX6E.cjs} +2 -2
  191. package/dist/{chunk-5VQM6VWP.cjs.map → chunk-UWG5GX6E.cjs.map} +1 -1
  192. package/dist/{chunk-3RWZPJKV.js → chunk-VBH7ZXSZ.js} +21 -78
  193. package/dist/chunk-VBH7ZXSZ.js.map +1 -0
  194. package/dist/{chunk-K5UBVGJN.js → chunk-VDYA2HMS.js} +6 -6
  195. package/dist/{chunk-K5UBVGJN.js.map → chunk-VDYA2HMS.js.map} +1 -1
  196. package/dist/chunk-X4PVHAZ6.cjs +83 -0
  197. package/dist/chunk-X4PVHAZ6.cjs.map +1 -0
  198. package/dist/{chunk-UYQMBBWJ.js → chunk-X6CNEA32.js} +23 -20
  199. package/dist/chunk-X6CNEA32.js.map +1 -0
  200. package/dist/chunk-X6RDQ5NB.cjs +335 -0
  201. package/dist/chunk-X6RDQ5NB.cjs.map +1 -0
  202. package/dist/chunk-XD6X7O5R.js +184 -0
  203. package/dist/chunk-XD6X7O5R.js.map +1 -0
  204. package/dist/{chunk-DIQ3AV5W.cjs → chunk-XFY73JWD.cjs} +324 -224
  205. package/dist/chunk-XFY73JWD.cjs.map +1 -0
  206. package/dist/{chunk-DEFQM7JU.cjs → chunk-XRU7V7FF.cjs} +7 -7
  207. package/dist/{chunk-DEFQM7JU.cjs.map → chunk-XRU7V7FF.cjs.map} +1 -1
  208. package/dist/{chunk-TPF25IG6.js → chunk-XZA3Y4YH.js} +3 -3
  209. package/dist/{chunk-TPF25IG6.js.map → chunk-XZA3Y4YH.js.map} +1 -1
  210. package/dist/chunk-Y7M44XEK.js +462 -0
  211. package/dist/chunk-Y7M44XEK.js.map +1 -0
  212. package/dist/{chunk-RRSNR3TP.js → chunk-YIRLBUNN.js} +3 -3
  213. package/dist/{chunk-RRSNR3TP.js.map → chunk-YIRLBUNN.js.map} +1 -1
  214. package/dist/{chunk-IXGYRP2P.js → chunk-YJDSPA5E.js} +79 -49
  215. package/dist/chunk-YJDSPA5E.js.map +1 -0
  216. package/dist/{chunk-JBNOGRKW.cjs → chunk-YLINFV7Z.cjs} +157 -115
  217. package/dist/chunk-YLINFV7Z.cjs.map +1 -0
  218. package/dist/{chunk-QERAIDRJ.js → chunk-Z2PPIVOO.js} +82 -22
  219. package/dist/chunk-Z2PPIVOO.js.map +1 -0
  220. package/dist/chunk-Z5QHVL5U.cjs +12 -0
  221. package/dist/chunk-Z5QHVL5U.cjs.map +1 -0
  222. package/dist/chunk-ZDH3DX3C.cjs +30 -0
  223. package/dist/chunk-ZDH3DX3C.cjs.map +1 -0
  224. package/dist/chunk-ZE6NVENI.js +77 -0
  225. package/dist/chunk-ZE6NVENI.js.map +1 -0
  226. package/dist/chunk-ZHX4KEM7.cjs +49 -0
  227. package/dist/chunk-ZHX4KEM7.cjs.map +1 -0
  228. package/dist/chunk-ZKZAIX42.cjs +479 -0
  229. package/dist/chunk-ZKZAIX42.cjs.map +1 -0
  230. package/dist/{chunk-TEDRJXOG.cjs → chunk-ZY4GXIVN.cjs} +5 -5
  231. package/dist/{chunk-TEDRJXOG.cjs.map → chunk-ZY4GXIVN.cjs.map} +1 -1
  232. package/dist/core/index.cjs +117 -0
  233. package/dist/core/index.cjs.map +1 -0
  234. package/dist/core/index.d.cts +225 -0
  235. package/dist/core/index.d.ts +225 -0
  236. package/dist/core/index.js +12 -0
  237. package/dist/core/index.js.map +1 -0
  238. package/dist/{ddl-CS0KUVwB.d.ts → ddl-Dx3Z0_WC.d.ts} +3 -3
  239. package/dist/{ddl-BD-ZfKeX.d.cts → ddl-J6sDyABg.d.cts} +3 -3
  240. package/dist/define-graph-CzEvA_8F.d.cts +174 -0
  241. package/dist/define-graph-DRo9xpYN.d.ts +174 -0
  242. package/dist/{extension-types-BM2ACfYO.d.cts → extension-types-BLEVH4SG.d.cts} +1 -1
  243. package/dist/{extension-types-BM2ACfYO.d.ts → extension-types-BLEVH4SG.d.ts} +1 -1
  244. package/dist/graph-extension/index.cjs +21 -19
  245. package/dist/graph-extension/index.d.cts +4 -4
  246. package/dist/graph-extension/index.d.ts +4 -4
  247. package/dist/graph-extension/index.js +6 -4
  248. package/dist/graph-merge/index.cjs +265 -214
  249. package/dist/graph-merge/index.cjs.map +1 -1
  250. package/dist/graph-merge/index.d.cts +8 -89
  251. package/dist/graph-merge/index.d.ts +8 -89
  252. package/dist/graph-merge/index.js +141 -90
  253. package/dist/graph-merge/index.js.map +1 -1
  254. package/dist/{index-BeacbPoe.d.ts → index-BD_3TCgh.d.ts} +6 -4
  255. package/dist/{index-BPM59vsg.d.cts → index-BihFPsPu.d.cts} +6 -4
  256. package/dist/{fulltext-strategy-C27vXaeB.d.cts → index-Bq7vSPHy.d.ts} +3195 -2646
  257. package/dist/{fulltext-strategy-DebsMrqg.d.ts → index-CrFL_ENI.d.cts} +3195 -2646
  258. package/dist/index.cjs +326 -315
  259. package/dist/index.cjs.map +1 -1
  260. package/dist/index.d.cts +59 -240
  261. package/dist/index.d.ts +59 -240
  262. package/dist/index.js +46 -79
  263. package/dist/index.js.map +1 -1
  264. package/dist/indexes/index.cjs +26 -38
  265. package/dist/indexes/index.d.cts +6 -41
  266. package/dist/indexes/index.d.ts +6 -41
  267. package/dist/indexes/index.js +14 -10
  268. package/dist/interchange/index.cjs +48 -39
  269. package/dist/interchange/index.cjs.map +1 -1
  270. package/dist/interchange/index.d.cts +7 -8
  271. package/dist/interchange/index.d.ts +7 -8
  272. package/dist/interchange/index.js +23 -14
  273. package/dist/interchange/index.js.map +1 -1
  274. package/dist/local-options-CZ1BnIoF.d.cts +29 -0
  275. package/dist/local-options-CZ1BnIoF.d.ts +29 -0
  276. package/dist/{manager-D00_NXvT.d.ts → manager-CASfhmzV.d.ts} +4 -173
  277. package/dist/{manager-nU1vTJLy.d.cts → manager-nCEJiYBb.d.cts} +4 -173
  278. package/dist/{materialize-indexes-zK2J_flP.d.ts → materialize-indexes-D4iei4Kp.d.ts} +1 -1
  279. package/dist/{materialize-indexes-CuR3gAZb.d.cts → materialize-indexes-ExQ6OrAh.d.cts} +1 -1
  280. package/dist/{postgres-IaBA4RgE.d.ts → postgres-Cl1ZAN1G.d.ts} +1 -1
  281. package/dist/{postgres-YrYmPlaU.d.cts → postgres-DMgIKQU-.d.cts} +1 -1
  282. package/dist/postgres-execution-fKW0qRiN.d.cts +14 -0
  283. package/dist/postgres-execution-fKW0qRiN.d.ts +14 -0
  284. package/dist/profiler/index.cjs +9 -8
  285. package/dist/profiler/index.cjs.map +1 -1
  286. package/dist/profiler/index.d.cts +9 -17
  287. package/dist/profiler/index.d.ts +9 -17
  288. package/dist/profiler/index.js +8 -7
  289. package/dist/profiler/index.js.map +1 -1
  290. package/dist/provenance/index.cjs +61 -55
  291. package/dist/provenance/index.cjs.map +1 -1
  292. package/dist/provenance/index.d.cts +7 -8
  293. package/dist/provenance/index.d.ts +7 -8
  294. package/dist/provenance/index.js +34 -28
  295. package/dist/provenance/index.js.map +1 -1
  296. package/dist/schema/index.cjs +46 -37
  297. package/dist/schema/index.cjs.map +1 -1
  298. package/dist/schema/index.d.cts +8 -10
  299. package/dist/schema/index.d.ts +8 -10
  300. package/dist/schema/index.js +22 -13
  301. package/dist/schema/index.js.map +1 -1
  302. package/dist/{sqlite-BUOHPx7p.d.ts → sqlite-BDkW39aa.d.cts} +1 -1
  303. package/dist/{sqlite-Pp8O19WE.d.cts → sqlite-CYfhvESj.d.ts} +1 -1
  304. package/dist/sqlite-execution-DwbE2a9y.d.cts +32 -0
  305. package/dist/sqlite-execution-DwbE2a9y.d.ts +32 -0
  306. package/dist/{store-view-X96Rd00T.d.cts → store-view-BoHqdHjB.d.cts} +394 -1393
  307. package/dist/{store-view-ANL6mTph.d.ts → store-view-Ctq-3OHy.d.ts} +394 -1393
  308. package/dist/temporal-BC_NQV5Y.d.cts +281 -0
  309. package/dist/temporal-DqtOEo_B.d.ts +281 -0
  310. package/dist/{types-r-Zyq2Hz.d.cts → types-COq3-vMC.d.cts} +2 -2
  311. package/dist/{types-wsvuBgPK.d.ts → types-CUevi_D1.d.ts} +2 -2
  312. package/dist/{where-CJOpJj3a.d.ts → where-BdE_cYtx.d.ts} +5 -5
  313. package/dist/{where-K3uBP33l.d.cts → where-C92TXCzT.d.cts} +5 -5
  314. package/package.json +37 -6
  315. package/dist/chunk-27SSDCEP.cjs.map +0 -1
  316. package/dist/chunk-2N6EOBTH.cjs.map +0 -1
  317. package/dist/chunk-3C2RYI6L.cjs.map +0 -1
  318. package/dist/chunk-3DS7Z4T4.cjs.map +0 -1
  319. package/dist/chunk-3GH67G4Z.cjs.map +0 -1
  320. package/dist/chunk-3RWZPJKV.js.map +0 -1
  321. package/dist/chunk-3SLPDKHQ.js.map +0 -1
  322. package/dist/chunk-3XXGYU62.cjs.map +0 -1
  323. package/dist/chunk-44TA22QT.js +0 -1478
  324. package/dist/chunk-44TA22QT.js.map +0 -1
  325. package/dist/chunk-552KNYQJ.js.map +0 -1
  326. package/dist/chunk-5KEQ74YU.cjs.map +0 -1
  327. package/dist/chunk-5KPNWT6X.js.map +0 -1
  328. package/dist/chunk-5PNMDJ7J.js.map +0 -1
  329. package/dist/chunk-6EEO3OVU.cjs.map +0 -1
  330. package/dist/chunk-7YSP4V4R.cjs +0 -69
  331. package/dist/chunk-7YSP4V4R.cjs.map +0 -1
  332. package/dist/chunk-A42GCBGX.cjs.map +0 -1
  333. package/dist/chunk-BVRDGYXQ.cjs.map +0 -1
  334. package/dist/chunk-BYPOGQWK.js.map +0 -1
  335. package/dist/chunk-CUHM5CWJ.cjs +0 -12
  336. package/dist/chunk-CUHM5CWJ.cjs.map +0 -1
  337. package/dist/chunk-DIQ3AV5W.cjs.map +0 -1
  338. package/dist/chunk-EXU3RASM.js.map +0 -1
  339. package/dist/chunk-IP3CGGPA.cjs.map +0 -1
  340. package/dist/chunk-IPSVVTWT.cjs +0 -1540
  341. package/dist/chunk-IPSVVTWT.cjs.map +0 -1
  342. package/dist/chunk-IXGYRP2P.js.map +0 -1
  343. package/dist/chunk-J4IUSYFF.js.map +0 -1
  344. package/dist/chunk-JBNOGRKW.cjs.map +0 -1
  345. package/dist/chunk-K3Q3LJY3.js.map +0 -1
  346. package/dist/chunk-KQJ54OG5.js.map +0 -1
  347. package/dist/chunk-L7HQ2OSI.js.map +0 -1
  348. package/dist/chunk-M6VES7V6.js +0 -239
  349. package/dist/chunk-M6VES7V6.js.map +0 -1
  350. package/dist/chunk-NBP2WTJW.cjs.map +0 -1
  351. package/dist/chunk-NUIG3BCV.cjs.map +0 -1
  352. package/dist/chunk-NXQFATMF.cjs.map +0 -1
  353. package/dist/chunk-OHMP6N2J.js +0 -47
  354. package/dist/chunk-OHMP6N2J.js.map +0 -1
  355. package/dist/chunk-QERAIDRJ.js.map +0 -1
  356. package/dist/chunk-QSXTWU4U.cjs +0 -12
  357. package/dist/chunk-RCVLFTCT.js.map +0 -1
  358. package/dist/chunk-TGOMW4MB.cjs.map +0 -1
  359. package/dist/chunk-TKT2XHED.js.map +0 -1
  360. package/dist/chunk-UGZUAYAR.js.map +0 -1
  361. package/dist/chunk-UXLSNRYL.js.map +0 -1
  362. package/dist/chunk-UYQMBBWJ.js.map +0 -1
  363. package/dist/chunk-VKGKDOKR.js.map +0 -1
  364. package/dist/chunk-VL2V6PEN.cjs +0 -261
  365. package/dist/chunk-VL2V6PEN.cjs.map +0 -1
  366. package/dist/chunk-WOJMKB3N.cjs.map +0 -1
  367. package/dist/chunk-WWFHO375.cjs.map +0 -1
  368. package/dist/chunk-XGPUQ56G.js.map +0 -1
  369. package/dist/chunk-XGU7DZDA.cjs +0 -1095
  370. package/dist/chunk-XGU7DZDA.cjs.map +0 -1
  371. package/dist/chunk-XPCZADMT.cjs.map +0 -1
  372. package/dist/chunk-XWV4JT34.js.map +0 -1
@@ -1,1095 +0,0 @@
1
- 'use strict';
2
-
3
- var chunk7YSP4V4R_cjs = require('./chunk-7YSP4V4R.cjs');
4
- var chunkTDXIBCGY_cjs = require('./chunk-TDXIBCGY.cjs');
5
- var drizzleOrm = require('drizzle-orm');
6
-
7
- // src/backend/table-contribution.ts
8
- var FULLTEXT_CONTRIBUTION_NAME = "fulltext";
9
- var BASE_CONTRIBUTION_OWNER = "base";
10
-
11
- // src/query/dialect/fulltext-strategy.ts
12
- var ALL_FULLTEXT_MODES = [
13
- "websearch",
14
- "phrase",
15
- "plain",
16
- "raw"
17
- ];
18
- function buildFulltextCapabilities(strategy) {
19
- return {
20
- supported: true,
21
- languages: strategy.languages,
22
- phraseQueries: strategy.supportedModes.includes("phrase"),
23
- prefixQueries: strategy.supportsPrefix,
24
- highlighting: strategy.supportsSnippets
25
- };
26
- }
27
- function quoteIdentifier(name) {
28
- return `"${name.replaceAll('"', '""')}"`;
29
- }
30
- function tsvectorColumn(tableName) {
31
- return drizzleOrm.sql`${chunk7YSP4V4R_cjs.quotedTableName(tableName)}."tsv"`;
32
- }
33
- function dedupeFulltextBatchRows(rows) {
34
- const seen = /* @__PURE__ */ new Map();
35
- for (const row of rows) seen.set(row.nodeId, row);
36
- return [...seen.values()];
37
- }
38
- function buildPkScopedDelete(tableName, params) {
39
- const table = chunk7YSP4V4R_cjs.quotedTableName(tableName);
40
- return drizzleOrm.sql`
41
- DELETE FROM ${table}
42
- WHERE "graph_id" = ${params.graphId}
43
- AND "node_kind" = ${params.nodeKind}
44
- AND "node_id" = ${params.nodeId}
45
- `;
46
- }
47
- function buildPkScopedBatchDelete(tableName, params) {
48
- if (params.nodeIds.length === 0) return void 0;
49
- const unique = [...new Set(params.nodeIds)];
50
- const table = chunk7YSP4V4R_cjs.quotedTableName(tableName);
51
- return drizzleOrm.sql`
52
- DELETE FROM ${table}
53
- WHERE "graph_id" = ${params.graphId}
54
- AND "node_kind" = ${params.nodeKind}
55
- AND "node_id" IN (${drizzleOrm.sql.join(
56
- unique.map((id) => drizzleOrm.sql`${id}`),
57
- drizzleOrm.sql`, `
58
- )})
59
- `;
60
- }
61
- function postgresTsquery(mode, query, language) {
62
- const langExpr = language === void 0 ? drizzleOrm.sql`"language"` : drizzleOrm.sql`${language}::regconfig`;
63
- switch (mode) {
64
- case "websearch": {
65
- return drizzleOrm.sql`websearch_to_tsquery(${langExpr}, ${query})`;
66
- }
67
- case "phrase": {
68
- return drizzleOrm.sql`phraseto_tsquery(${langExpr}, ${query})`;
69
- }
70
- case "plain": {
71
- return drizzleOrm.sql`plainto_tsquery(${langExpr}, ${query})`;
72
- }
73
- case "raw": {
74
- return drizzleOrm.sql`to_tsquery(${langExpr}, ${query})`;
75
- }
76
- default: {
77
- const _exhaustive = mode;
78
- throw new Error(`Unsupported fulltext mode: ${String(_exhaustive)}`);
79
- }
80
- }
81
- }
82
- var tsvectorStrategy = {
83
- name: "tsvector",
84
- supportedModes: ALL_FULLTEXT_MODES,
85
- supportsSnippets: true,
86
- // `raw` mode exposes `foo:*` prefix-match syntax to callers.
87
- supportsPrefix: true,
88
- supportsLanguageOverride: true,
89
- // Canonical Postgres stemmers; every stock install ships these plus a
90
- // few others. Runtime `to_tsvector` accepts any installed regconfig
91
- // name — this list is advisory for capability discovery.
92
- languages: [
93
- "simple",
94
- "english",
95
- "french",
96
- "german",
97
- "italian",
98
- "portuguese",
99
- "russian",
100
- "spanish",
101
- "swedish"
102
- ],
103
- matchCondition(tableName, query, mode, language) {
104
- const q = postgresTsquery(mode, query, language);
105
- return drizzleOrm.sql`${tsvectorColumn(tableName)} @@ ${q}`;
106
- },
107
- rankExpression(tableName, query, mode, language) {
108
- const q = postgresTsquery(mode, query, language);
109
- return drizzleOrm.sql`ts_rank_cd(${tsvectorColumn(tableName)}, ${q})`;
110
- },
111
- snippetExpression(_tableName, query, mode, language) {
112
- const langExpr = language === void 0 ? drizzleOrm.sql`"language"` : drizzleOrm.sql`${language}::regconfig`;
113
- const q = postgresTsquery(mode, query, language);
114
- return drizzleOrm.sql`ts_headline(${langExpr}, "content", ${q}, 'StartSel=<mark>,StopSel=</mark>,MaxFragments=1,MinWords=5,MaxWords=30,ShortWord=3')`;
115
- },
116
- ownedTables(primaryTableName) {
117
- const name = quoteIdentifier(primaryTableName);
118
- const gin = quoteIdentifier(`${primaryTableName}_tsv_idx`);
119
- const kind = quoteIdentifier(`${primaryTableName}_kind_idx`);
120
- const createDdl = [
121
- `CREATE TABLE IF NOT EXISTS ${name} (
122
- "graph_id" TEXT NOT NULL,
123
- "node_kind" TEXT NOT NULL,
124
- "node_id" TEXT NOT NULL,
125
- "content" TEXT NOT NULL,
126
- "language" regconfig NOT NULL,
127
- "tsv" tsvector NOT NULL
128
- GENERATED ALWAYS AS (to_tsvector("language", "content")) STORED,
129
- "updated_at" TIMESTAMPTZ NOT NULL,
130
- PRIMARY KEY ("graph_id", "node_kind", "node_id")
131
- );`,
132
- `CREATE INDEX IF NOT EXISTS ${gin} ON ${name} USING GIN ("tsv");`,
133
- `CREATE INDEX IF NOT EXISTS ${kind} ON ${name} ("graph_id", "node_kind");`
134
- ];
135
- return [
136
- {
137
- logicalName: FULLTEXT_CONTRIBUTION_NAME,
138
- owner: "tsvector",
139
- tableName: primaryTableName,
140
- createDdl,
141
- runtimeEnsure: true
142
- }
143
- ];
144
- },
145
- buildUpsert(tableName, params, timestamp) {
146
- const table = chunk7YSP4V4R_cjs.quotedTableName(tableName);
147
- return [
148
- drizzleOrm.sql`
149
- INSERT INTO ${table} ("graph_id", "node_kind", "node_id", "content", "language", "updated_at")
150
- VALUES (
151
- ${params.graphId}, ${params.nodeKind}, ${params.nodeId},
152
- ${params.content}, ${params.language}::regconfig,
153
- ${timestamp}
154
- )
155
- ON CONFLICT ("graph_id", "node_kind", "node_id")
156
- DO UPDATE SET
157
- "content" = EXCLUDED."content",
158
- "language" = EXCLUDED."language",
159
- "updated_at" = EXCLUDED."updated_at"
160
- `
161
- ];
162
- },
163
- buildBatchUpsert(tableName, params, timestamp) {
164
- const rows = dedupeFulltextBatchRows(params.rows);
165
- if (rows.length === 0) return [];
166
- const table = chunk7YSP4V4R_cjs.quotedTableName(tableName);
167
- const valueTuples = rows.map(
168
- (row) => drizzleOrm.sql`
169
- (
170
- ${params.graphId}, ${params.nodeKind}, ${row.nodeId},
171
- ${row.content}, ${row.language}::regconfig,
172
- ${timestamp}
173
- )
174
- `
175
- );
176
- return [
177
- drizzleOrm.sql`
178
- INSERT INTO ${table} ("graph_id", "node_kind", "node_id", "content", "language", "updated_at")
179
- VALUES ${drizzleOrm.sql.join(valueTuples, drizzleOrm.sql`, `)}
180
- ON CONFLICT ("graph_id", "node_kind", "node_id")
181
- DO UPDATE SET
182
- "content" = EXCLUDED."content",
183
- "language" = EXCLUDED."language",
184
- "updated_at" = EXCLUDED."updated_at"
185
- `
186
- ];
187
- },
188
- buildDelete(tableName, params) {
189
- return [buildPkScopedDelete(tableName, params)];
190
- },
191
- buildBatchDelete(tableName, params) {
192
- const stmt = buildPkScopedBatchDelete(tableName, params);
193
- return stmt === void 0 ? [] : [stmt];
194
- }
195
- };
196
- function translateToFts5Query(query, mode) {
197
- switch (mode) {
198
- case "phrase": {
199
- return `"${query.replaceAll('"', '""')}"`;
200
- }
201
- case "plain": {
202
- return query.trim().split(/\s+/u).filter((token) => token.length > 0).map((token) => `"${token.replaceAll('"', '""')}"`).join(" ");
203
- }
204
- case "websearch": {
205
- return translateWebsearchToFts5(query);
206
- }
207
- case "raw": {
208
- return query;
209
- }
210
- default: {
211
- const _exhaustive = mode;
212
- throw new Error(`Unsupported fulltext mode: ${String(_exhaustive)}`);
213
- }
214
- }
215
- }
216
- function translateWebsearchToFts5(query) {
217
- const tokens = [];
218
- let index = 0;
219
- function skipWhitespace() {
220
- while (index < query.length && /\s/u.test(query[index] ?? "")) {
221
- index += 1;
222
- }
223
- }
224
- function readPhrase() {
225
- index += 1;
226
- let content = "";
227
- while (index < query.length && query[index] !== '"') {
228
- content += query[index] ?? "";
229
- index += 1;
230
- }
231
- if (query[index] === '"') index += 1;
232
- return `"${content.replaceAll('"', '""')}"`;
233
- }
234
- function readBareTerm() {
235
- let term = "";
236
- while (index < query.length && !/\s/u.test(query[index] ?? "")) {
237
- term += query[index] ?? "";
238
- index += 1;
239
- }
240
- return term;
241
- }
242
- while (index < query.length) {
243
- skipWhitespace();
244
- if (index >= query.length) break;
245
- const ch = query[index];
246
- if (ch === '"') {
247
- tokens.push(readPhrase());
248
- continue;
249
- }
250
- if (ch === "-") {
251
- index += 1;
252
- const term = query[index] === '"' ? readPhrase() : `"${readBareTerm().replaceAll('"', '""')}"`;
253
- tokens.push(`NOT ${term}`);
254
- continue;
255
- }
256
- if (ch === "+") {
257
- index += 1;
258
- continue;
259
- }
260
- const bare = readBareTerm();
261
- if (bare.length === 0) continue;
262
- if (bare.toUpperCase() === "OR") {
263
- tokens.push("OR");
264
- continue;
265
- }
266
- tokens.push(`"${bare.replaceAll('"', '""')}"`);
267
- }
268
- if (tokens.length > 0 && tokens[0]?.startsWith("NOT ")) {
269
- tokens.shift();
270
- }
271
- return tokens.join(" ");
272
- }
273
- var fts5Strategy = {
274
- name: "fts5",
275
- supportedModes: ALL_FULLTEXT_MODES,
276
- supportsSnippets: true,
277
- // FTS5 supports `foo*` prefix matching natively.
278
- supportsPrefix: true,
279
- // FTS5 tokenizer is fixed at table-create time; per-row / per-query
280
- // language metadata is stored but not consulted.
281
- supportsLanguageOverride: false,
282
- // The built-in tokenizer is `porter unicode61 remove_diacritics 2`; the
283
- // `language` field on searchable() is recorded for future use but not
284
- // applied at query time.
285
- languages: ["porter", "unicode61", "trigram"],
286
- matchCondition(tableName, query, mode, _language) {
287
- const matchExpression = translateToFts5Query(query, mode);
288
- return drizzleOrm.sql`${chunk7YSP4V4R_cjs.quotedTableName(tableName)} MATCH ${matchExpression}`;
289
- },
290
- rankExpression(tableName, _query, _mode, _language) {
291
- return drizzleOrm.sql`-bm25(${chunk7YSP4V4R_cjs.quotedTableName(tableName)})`;
292
- },
293
- snippetExpression(tableName, _query, _mode, _language) {
294
- return drizzleOrm.sql`snippet(${chunk7YSP4V4R_cjs.quotedTableName(tableName)}, -1, '<mark>', '</mark>', '…', 20)`;
295
- },
296
- ownedTables(primaryTableName) {
297
- const name = quoteIdentifier(primaryTableName);
298
- return [
299
- {
300
- logicalName: FULLTEXT_CONTRIBUTION_NAME,
301
- owner: "fts5",
302
- tableName: primaryTableName,
303
- createDdl: [
304
- `CREATE VIRTUAL TABLE IF NOT EXISTS ${name} USING fts5(
305
- graph_id UNINDEXED,
306
- node_kind UNINDEXED,
307
- node_id UNINDEXED,
308
- language UNINDEXED,
309
- updated_at UNINDEXED,
310
- content,
311
- tokenize='porter unicode61 remove_diacritics 2'
312
- );`
313
- ],
314
- runtimeEnsure: true
315
- }
316
- ];
317
- },
318
- buildUpsert(tableName, params, timestamp) {
319
- const table = chunk7YSP4V4R_cjs.quotedTableName(tableName);
320
- return [
321
- drizzleOrm.sql`
322
- DELETE FROM ${table}
323
- WHERE "graph_id" = ${params.graphId}
324
- AND "node_kind" = ${params.nodeKind}
325
- AND "node_id" = ${params.nodeId}
326
- `,
327
- drizzleOrm.sql`
328
- INSERT INTO ${table} (graph_id, node_kind, node_id, content, language, updated_at)
329
- VALUES (${params.graphId}, ${params.nodeKind}, ${params.nodeId}, ${params.content}, ${params.language}, ${timestamp})
330
- `
331
- ];
332
- },
333
- buildBatchUpsert(tableName, params, timestamp) {
334
- const rows = dedupeFulltextBatchRows(params.rows);
335
- if (rows.length === 0) return [];
336
- const table = chunk7YSP4V4R_cjs.quotedTableName(tableName);
337
- const nodeIds = rows.map((row) => row.nodeId);
338
- const deleteStmt = drizzleOrm.sql`
339
- DELETE FROM ${table}
340
- WHERE "graph_id" = ${params.graphId}
341
- AND "node_kind" = ${params.nodeKind}
342
- AND "node_id" IN (${drizzleOrm.sql.join(
343
- nodeIds.map((id) => drizzleOrm.sql`${id}`),
344
- drizzleOrm.sql`, `
345
- )})
346
- `;
347
- const valueTuples = rows.map(
348
- (row) => drizzleOrm.sql`
349
- (
350
- ${params.graphId}, ${params.nodeKind}, ${row.nodeId},
351
- ${row.content}, ${row.language}, ${timestamp}
352
- )
353
- `
354
- );
355
- const insertStmt = drizzleOrm.sql`
356
- INSERT INTO ${table} (graph_id, node_kind, node_id, content, language, updated_at)
357
- VALUES ${drizzleOrm.sql.join(valueTuples, drizzleOrm.sql`, `)}
358
- `;
359
- return [deleteStmt, insertStmt];
360
- },
361
- buildDelete(tableName, params) {
362
- return [buildPkScopedDelete(tableName, params)];
363
- },
364
- buildBatchDelete(tableName, params) {
365
- const stmt = buildPkScopedBatchDelete(tableName, params);
366
- return stmt === void 0 ? [] : [stmt];
367
- }
368
- };
369
- var VECTOR_CONTRIBUTION_PREFIX = "vector";
370
- function buildVectorCapabilities(strategy) {
371
- return strategy.capabilities;
372
- }
373
- function vectorScoreExpression(distanceExpression, metric) {
374
- switch (metric) {
375
- case "cosine": {
376
- return drizzleOrm.sql`(1 - (${distanceExpression}))`;
377
- }
378
- case "l2":
379
- case "inner_product": {
380
- return distanceExpression;
381
- }
382
- default: {
383
- const _exhaustive = metric;
384
- throw new Error(`Unsupported vector metric: ${String(_exhaustive)}`);
385
- }
386
- }
387
- }
388
- function vectorMinScoreCondition(distanceExpression, metric, minScore) {
389
- assertVectorMinScore(minScore, metric);
390
- switch (metric) {
391
- case "cosine": {
392
- return drizzleOrm.sql`${distanceExpression} <= ${1 - minScore}`;
393
- }
394
- case "l2": {
395
- return drizzleOrm.sql`${distanceExpression} <= ${minScore}`;
396
- }
397
- case "inner_product": {
398
- return drizzleOrm.sql`${distanceExpression} <= ${-minScore}`;
399
- }
400
- default: {
401
- const _exhaustive = metric;
402
- throw new Error(`Unsupported vector metric: ${String(_exhaustive)}`);
403
- }
404
- }
405
- }
406
- function assertFiniteEmbedding(embedding, name) {
407
- for (const [index, value] of embedding.entries()) {
408
- if (typeof value !== "number" || !Number.isFinite(value)) {
409
- throw new TypeError(
410
- `${name}[${index}] must be a finite number, got: ${value}`
411
- );
412
- }
413
- }
414
- }
415
- function assertVectorSearchLimit(limit) {
416
- if (!Number.isInteger(limit) || limit <= 0) {
417
- throw new RangeError(
418
- `vectorSearch limit must be a positive integer, got: ${limit}`
419
- );
420
- }
421
- }
422
- function assertVectorMinScore(minScore, metric, label = "minScore") {
423
- if (!Number.isFinite(minScore)) {
424
- throw new RangeError(`${label} must be a finite number, got: ${minScore}`);
425
- }
426
- if (metric === "cosine" && Math.abs(minScore) > 1) {
427
- throw new RangeError(
428
- `${label} for the cosine metric must be between -1 and 1, got: ${minScore}`
429
- );
430
- }
431
- }
432
- var MAX_VECTOR_IDENTIFIER_LENGTH = 63;
433
- function sanitizeIdentifierPart(value) {
434
- return value.toLowerCase().replaceAll(/[^a-z0-9_]/g, "_");
435
- }
436
- function shortHash(input) {
437
- let h1 = 3735928559;
438
- let h2 = 1103547991;
439
- for (let index = 0; index < input.length; index++) {
440
- const ch = input.codePointAt(index);
441
- h1 = Math.imul(h1 ^ ch, 2654435761);
442
- h2 = Math.imul(h2 ^ ch, 1597334677);
443
- }
444
- h1 = Math.imul(h1 ^ h1 >>> 16, 2246822507) ^ Math.imul(h2 ^ h2 >>> 13, 3266489909);
445
- h2 = Math.imul(h2 ^ h2 >>> 16, 2246822507) ^ Math.imul(h1 ^ h1 >>> 13, 3266489909);
446
- const hi = (h2 >>> 0).toString(16).padStart(8, "0");
447
- const lo = (h1 >>> 0).toString(16).padStart(8, "0");
448
- return `${hi}${lo}`.slice(0, 8);
449
- }
450
- function vectorPhysicalName(prefix, graphId, nodeKind, fieldPath) {
451
- const readable = `${prefix}_${sanitizeIdentifierPart(graphId)}_${sanitizeIdentifierPart(nodeKind)}_${sanitizeIdentifierPart(fieldPath)}`;
452
- const hash = shortHash(JSON.stringify([graphId, nodeKind, fieldPath]));
453
- const full = `${readable}_${hash}`;
454
- if (full.length <= MAX_VECTOR_IDENTIFIER_LENGTH) return full;
455
- return `${readable.slice(0, MAX_VECTOR_IDENTIFIER_LENGTH - 1 - hash.length)}_${hash}`;
456
- }
457
- function quoteIdentifier2(name) {
458
- return `"${name.replaceAll('"', '""')}"`;
459
- }
460
- function escapePostgresLiteral(value) {
461
- if (value.includes("\\")) {
462
- return `E'${value.replaceAll("\\", "\\\\").replaceAll("'", "''")}'`;
463
- }
464
- return `'${value.replaceAll("'", "''")}'`;
465
- }
466
- function toPostgresPath(pointer) {
467
- if (!pointer || pointer === "" || pointer === "/") {
468
- return drizzleOrm.sql.raw("ARRAY[]::text[]");
469
- }
470
- const segments = chunkTDXIBCGY_cjs.parseJsonPointer(pointer);
471
- if (segments.length === 0) {
472
- return drizzleOrm.sql.raw("ARRAY[]::text[]");
473
- }
474
- const escapedSegments = segments.map((segment) => escapePostgresLiteral(segment)).join(", ");
475
- return drizzleOrm.sql.raw(`ARRAY[${escapedSegments}]`);
476
- }
477
- var postgresDialect = {
478
- name: "postgres",
479
- capabilities: {
480
- standardQueryStrategy: "cte_project",
481
- recursiveQueryStrategy: "recursive_cte",
482
- materializeIntermediateTraversalCtes: false,
483
- emitNotMaterializedHint: true,
484
- forceRecursiveWorktableOuterJoinOrder: false,
485
- vectorPredicateStrategy: "native",
486
- vectorMetrics: ["cosine", "l2", "inner_product"],
487
- supportsFulltext: true
488
- },
489
- binaryText(expression) {
490
- return drizzleOrm.sql`${expression} COLLATE "C"`;
491
- },
492
- analyzeTemporaryTable(table) {
493
- return drizzleOrm.sql`ANALYZE ${table}`;
494
- },
495
- setTransactionWorkingMemory(workingMemory) {
496
- return drizzleOrm.sql`SELECT set_config('work_mem', ${workingMemory}, true)`;
497
- },
498
- // ============================================================
499
- // JSON Path Operations
500
- // ============================================================
501
- compilePath(pointer) {
502
- return toPostgresPath(pointer);
503
- },
504
- jsonExtract(column, pointer) {
505
- const path = toPostgresPath(pointer);
506
- return drizzleOrm.sql`${column} #> ${path}`;
507
- },
508
- jsonExtractText(column, pointer) {
509
- const path = toPostgresPath(pointer);
510
- return drizzleOrm.sql`${column} #>> ${path}`;
511
- },
512
- jsonExtractNumber(column, pointer) {
513
- const path = toPostgresPath(pointer);
514
- return drizzleOrm.sql`(${column} #>> ${path})::numeric`;
515
- },
516
- jsonExtractDouble(column, pointer) {
517
- const path = toPostgresPath(pointer);
518
- return drizzleOrm.sql`(${column} #>> ${path})::double precision`;
519
- },
520
- jsonExtractBoolean(column, pointer) {
521
- const path = toPostgresPath(pointer);
522
- return drizzleOrm.sql`(${column} #>> ${path})::boolean`;
523
- },
524
- jsonExtractDate(column, pointer) {
525
- const path = toPostgresPath(pointer);
526
- return drizzleOrm.sql`(${column} #>> ${path})::timestamptz`;
527
- },
528
- // ============================================================
529
- // JSON Array Operations
530
- // ============================================================
531
- jsonArrayLength(column) {
532
- return drizzleOrm.sql`jsonb_array_length(${column})`;
533
- },
534
- jsonArrayContains(column, value) {
535
- const jsonValue = JSON.stringify([value]);
536
- return drizzleOrm.sql`${column} @> ${jsonValue}::jsonb`;
537
- },
538
- jsonArrayContainsAll(column, values) {
539
- if (values.length === 0) {
540
- return drizzleOrm.sql.raw("1=1");
541
- }
542
- const jsonValue = JSON.stringify(values);
543
- return drizzleOrm.sql`${column} @> ${jsonValue}::jsonb`;
544
- },
545
- jsonArrayContainsAny(column, values) {
546
- if (values.length === 0) {
547
- return drizzleOrm.sql.raw("1=0");
548
- }
549
- const conditions = values.map((value) => {
550
- const jsonValue = JSON.stringify([value]);
551
- return drizzleOrm.sql`${column} @> ${jsonValue}::jsonb`;
552
- });
553
- return drizzleOrm.sql`(${drizzleOrm.sql.join(conditions, drizzleOrm.sql` OR `)})`;
554
- },
555
- // ============================================================
556
- // JSON Object Operations
557
- // ============================================================
558
- jsonHasPath(column, pointer) {
559
- const path = toPostgresPath(pointer);
560
- return drizzleOrm.sql`${column} #> ${path} IS NOT NULL`;
561
- },
562
- jsonPathIsNull(column, pointer) {
563
- const path = toPostgresPath(pointer);
564
- return drizzleOrm.sql`COALESCE(jsonb_typeof(${column} #> ${path}) = 'null', TRUE)`;
565
- },
566
- jsonPathIsNumber(column, pointer) {
567
- const path = toPostgresPath(pointer);
568
- return drizzleOrm.sql`COALESCE(jsonb_typeof(${column} #> ${path}) = 'number', FALSE)`;
569
- },
570
- jsonPathIsNotNull(column, pointer) {
571
- const path = toPostgresPath(pointer);
572
- return drizzleOrm.sql`COALESCE(jsonb_typeof(${column} #> ${path}) <> 'null', FALSE)`;
573
- },
574
- // ============================================================
575
- // Comparison Operations
576
- // ============================================================
577
- nullSafeEquals(left, right) {
578
- return drizzleOrm.sql`${left} IS NOT DISTINCT FROM ${right}`;
579
- },
580
- inList(left, values, negated) {
581
- const operator = negated ? drizzleOrm.sql.raw("NOT IN") : drizzleOrm.sql.raw("IN");
582
- const placeholders = values.map((value) => drizzleOrm.sql`${value}`);
583
- return drizzleOrm.sql`${left} ${operator} (${drizzleOrm.sql.join(placeholders, drizzleOrm.sql`, `)})`;
584
- },
585
- // ============================================================
586
- // String Operations
587
- // ============================================================
588
- ilike(column, pattern) {
589
- return drizzleOrm.sql`${column} ILIKE ${pattern} ${chunk7YSP4V4R_cjs.likeEscapeClause}`;
590
- },
591
- // ============================================================
592
- // Set Operations
593
- // ============================================================
594
- wrapSetOperationOperand(inner) {
595
- return drizzleOrm.sql`(${inner})`;
596
- },
597
- // ============================================================
598
- // Recursive CTE Path Operations
599
- // ============================================================
600
- initializePath(nodeId) {
601
- return drizzleOrm.sql`ARRAY[${nodeId}]`;
602
- },
603
- extendPath(currentPath, nodeId) {
604
- return drizzleOrm.sql`${currentPath} || ${nodeId}`;
605
- },
606
- cycleCheck(nodeId, path) {
607
- return drizzleOrm.sql`${nodeId} != ALL(${path})`;
608
- },
609
- // ============================================================
610
- // Value Binding & Literals
611
- // ============================================================
612
- bindValue(value) {
613
- return value;
614
- },
615
- booleanLiteral(value) {
616
- return drizzleOrm.sql.raw(this.booleanLiteralString(value));
617
- },
618
- booleanLiteralString(value) {
619
- return value ? "TRUE" : "FALSE";
620
- },
621
- quoteIdentifier(name) {
622
- return `"${name.replaceAll('"', '""')}"`;
623
- },
624
- // ============================================================
625
- // Vector Operations
626
- // ============================================================
627
- // Compile-time gate for `field.similarTo(...)`; the active
628
- // `VectorStrategy` (pgvector) owns the distance SQL.
629
- supportsVectors: true,
630
- // ============================================================
631
- // Fulltext Operations
632
- // ============================================================
633
- fulltext: tsvectorStrategy
634
- };
635
- function escapeSqliteLiteral(value) {
636
- return `'${value.replaceAll("'", "''")}'`;
637
- }
638
- function toSqlitePath(pointer) {
639
- if (!pointer || pointer === "" || pointer === "/") {
640
- return "$";
641
- }
642
- const segments = chunkTDXIBCGY_cjs.parseJsonPointer(pointer);
643
- const parts = ["$"];
644
- for (const segment of segments) {
645
- if (isArrayIndex(segment)) {
646
- parts.push(`[${segment}]`);
647
- } else {
648
- parts.push(`.${JSON.stringify(segment)}`);
649
- }
650
- }
651
- return parts.join("");
652
- }
653
- function isArrayIndex(segment) {
654
- return /^\d+$/.test(segment);
655
- }
656
- var sqliteDialect = {
657
- name: "sqlite",
658
- capabilities: {
659
- standardQueryStrategy: "cte_project",
660
- recursiveQueryStrategy: "recursive_cte",
661
- materializeIntermediateTraversalCtes: true,
662
- emitNotMaterializedHint: false,
663
- forceRecursiveWorktableOuterJoinOrder: true,
664
- vectorPredicateStrategy: "native",
665
- vectorMetrics: ["cosine", "l2"],
666
- supportsFulltext: true
667
- },
668
- binaryText(expression) {
669
- return expression;
670
- },
671
- analyzeTemporaryTable() {
672
- return;
673
- },
674
- setTransactionWorkingMemory() {
675
- return;
676
- },
677
- // ============================================================
678
- // JSON Path Operations
679
- // ============================================================
680
- compilePath(pointer) {
681
- return drizzleOrm.sql.raw(escapeSqliteLiteral(toSqlitePath(pointer)));
682
- },
683
- jsonExtract(column, pointer) {
684
- const path = toSqlitePath(pointer);
685
- return drizzleOrm.sql`json_extract(${column}, ${drizzleOrm.sql.raw(escapeSqliteLiteral(path))})`;
686
- },
687
- jsonExtractText(column, pointer) {
688
- const path = toSqlitePath(pointer);
689
- return drizzleOrm.sql`json_extract(${column}, ${drizzleOrm.sql.raw(escapeSqliteLiteral(path))})`;
690
- },
691
- jsonExtractNumber(column, pointer) {
692
- const path = toSqlitePath(pointer);
693
- return drizzleOrm.sql`json_extract(${column}, ${drizzleOrm.sql.raw(escapeSqliteLiteral(path))})`;
694
- },
695
- jsonExtractDouble(column, pointer) {
696
- const path = toSqlitePath(pointer);
697
- return drizzleOrm.sql`json_extract(${column}, ${drizzleOrm.sql.raw(escapeSqliteLiteral(path))})`;
698
- },
699
- jsonExtractBoolean(column, pointer) {
700
- const path = toSqlitePath(pointer);
701
- return drizzleOrm.sql`json_extract(${column}, ${drizzleOrm.sql.raw(escapeSqliteLiteral(path))})`;
702
- },
703
- jsonExtractDate(column, pointer) {
704
- const path = toSqlitePath(pointer);
705
- return drizzleOrm.sql`json_extract(${column}, ${drizzleOrm.sql.raw(escapeSqliteLiteral(path))})`;
706
- },
707
- // ============================================================
708
- // JSON Array Operations
709
- // ============================================================
710
- jsonArrayLength(column) {
711
- return drizzleOrm.sql`json_array_length(${column})`;
712
- },
713
- jsonArrayContains(column, value) {
714
- return drizzleOrm.sql`EXISTS (SELECT 1 FROM json_each(${column}) WHERE json_each.value = ${value})`;
715
- },
716
- jsonArrayContainsAll(column, values) {
717
- if (values.length === 0) {
718
- return drizzleOrm.sql.raw("1=1");
719
- }
720
- const packedValues = JSON.stringify(values);
721
- return drizzleOrm.sql`
722
- NOT EXISTS (
723
- SELECT 1 FROM json_each(${packedValues}) AS tg_required
724
- WHERE NOT EXISTS (
725
- SELECT 1 FROM json_each(${column}) AS tg_actual
726
- WHERE tg_actual.value = tg_required.value
727
- )
728
- )
729
- `;
730
- },
731
- jsonArrayContainsAny(column, values) {
732
- if (values.length === 0) {
733
- return drizzleOrm.sql.raw("1=0");
734
- }
735
- const packedValues = JSON.stringify(values);
736
- return drizzleOrm.sql`
737
- EXISTS (
738
- SELECT 1
739
- FROM json_each(${column}) AS tg_actual
740
- JOIN json_each(${packedValues}) AS tg_wanted
741
- ON tg_actual.value = tg_wanted.value
742
- )
743
- `;
744
- },
745
- // ============================================================
746
- // JSON Object Operations
747
- // ============================================================
748
- jsonHasPath(column, pointer) {
749
- const path = toSqlitePath(pointer);
750
- return drizzleOrm.sql`json_type(${column}, ${drizzleOrm.sql.raw(escapeSqliteLiteral(path))}) IS NOT NULL`;
751
- },
752
- jsonPathIsNull(column, pointer) {
753
- const path = toSqlitePath(pointer);
754
- const pathSql = drizzleOrm.sql.raw(escapeSqliteLiteral(path));
755
- return drizzleOrm.sql`COALESCE(json_type(${column}, ${pathSql}) = 'null', 1)`;
756
- },
757
- jsonPathIsNumber(column, pointer) {
758
- const path = toSqlitePath(pointer);
759
- const pathSql = drizzleOrm.sql.raw(escapeSqliteLiteral(path));
760
- return drizzleOrm.sql`COALESCE(json_type(${column}, ${pathSql}) IN ('integer', 'real'), 0)`;
761
- },
762
- jsonPathIsNotNull(column, pointer) {
763
- const path = toSqlitePath(pointer);
764
- const pathSql = drizzleOrm.sql.raw(escapeSqliteLiteral(path));
765
- return drizzleOrm.sql`COALESCE(json_type(${column}, ${pathSql}) <> 'null', 0)`;
766
- },
767
- // ============================================================
768
- // Comparison Operations
769
- // ============================================================
770
- nullSafeEquals(left, right) {
771
- return drizzleOrm.sql`${left} IS ${right}`;
772
- },
773
- inList(left, values, negated) {
774
- const operator = negated ? drizzleOrm.sql.raw("NOT IN") : drizzleOrm.sql.raw("IN");
775
- const packedValues = JSON.stringify(values);
776
- return drizzleOrm.sql`${left} ${operator} (SELECT value FROM json_each(${packedValues}))`;
777
- },
778
- // ============================================================
779
- // String Operations
780
- // ============================================================
781
- ilike(column, pattern) {
782
- return drizzleOrm.sql`LOWER(${column}) LIKE LOWER(${pattern}) ${chunk7YSP4V4R_cjs.likeEscapeClause}`;
783
- },
784
- // ============================================================
785
- // Set Operations
786
- // ============================================================
787
- wrapSetOperationOperand(inner) {
788
- return drizzleOrm.sql`SELECT * FROM (${inner})`;
789
- },
790
- // ============================================================
791
- // Recursive CTE Path Operations
792
- // ============================================================
793
- initializePath(nodeId) {
794
- return drizzleOrm.sql`'|' || ${nodeId} || '|'`;
795
- },
796
- extendPath(currentPath, nodeId) {
797
- return drizzleOrm.sql`${currentPath} || ${nodeId} || '|'`;
798
- },
799
- cycleCheck(nodeId, path) {
800
- return drizzleOrm.sql`INSTR(${path}, '|' || ${nodeId} || '|') = 0`;
801
- },
802
- // ============================================================
803
- // Value Binding & Literals
804
- // ============================================================
805
- bindValue(value) {
806
- if (typeof value === "boolean") {
807
- return value ? 1 : 0;
808
- }
809
- return value;
810
- },
811
- booleanLiteral(value) {
812
- return drizzleOrm.sql.raw(this.booleanLiteralString(value));
813
- },
814
- booleanLiteralString(value) {
815
- return value ? "1" : "0";
816
- },
817
- quoteIdentifier(name) {
818
- return `"${name.replaceAll('"', '""')}"`;
819
- },
820
- // ============================================================
821
- // Vector Operations
822
- // ============================================================
823
- // Compile-time gate for `field.similarTo(...)`; the active
824
- // `VectorStrategy` (sqlite-vec / libSQL-native) owns the distance SQL.
825
- supportsVectors: true,
826
- // ============================================================
827
- // Fulltext Operations
828
- // ============================================================
829
- fulltext: fts5Strategy
830
- };
831
-
832
- // src/query/dialect/index.ts
833
- var DIALECT_ADAPTERS = {
834
- sqlite: sqliteDialect,
835
- postgres: postgresDialect
836
- };
837
- function getDialect(dialect) {
838
- return DIALECT_ADAPTERS[dialect];
839
- }
840
- function compileNodeIndexKeys(index, dialect, propsColumn, systemColumn) {
841
- const adapter = getDialect(dialect);
842
- const keys = [];
843
- const systemColumns = [
844
- ...getNodeScopeColumns(index.scope),
845
- ...index.keySystemColumns ?? []
846
- ];
847
- for (const column of systemColumns) {
848
- keys.push(systemColumn(column));
849
- }
850
- const allPointers = [...index.fields, ...index.coveringFields];
851
- const allValueTypes = [
852
- ...index.fieldValueTypes,
853
- ...index.coveringFieldValueTypes
854
- ];
855
- for (const [pointerIndex, pointer] of allPointers.entries()) {
856
- const valueType = allValueTypes[pointerIndex];
857
- const extracted = compileIndexKeyValue(
858
- adapter,
859
- propsColumn,
860
- pointer,
861
- valueType
862
- );
863
- keys.push(drizzleOrm.sql`(${extracted})`);
864
- }
865
- return { keys };
866
- }
867
- function compileEdgeIndexKeys(index, dialect, propsColumn, systemColumn) {
868
- const adapter = getDialect(dialect);
869
- const keys = [];
870
- for (const column of getEdgeScopeColumns(index.scope, index.direction)) {
871
- keys.push(systemColumn(column));
872
- }
873
- const allPointers = [...index.fields, ...index.coveringFields];
874
- const allValueTypes = [
875
- ...index.fieldValueTypes,
876
- ...index.coveringFieldValueTypes
877
- ];
878
- for (const [pointerIndex, pointer] of allPointers.entries()) {
879
- const valueType = allValueTypes[pointerIndex];
880
- const extracted = compileIndexKeyValue(
881
- adapter,
882
- propsColumn,
883
- pointer,
884
- valueType
885
- );
886
- keys.push(drizzleOrm.sql`(${extracted})`);
887
- }
888
- return { keys };
889
- }
890
- function compileNodeIndexFieldKeys(index, ctx) {
891
- const adapter = getDialect(ctx.dialect);
892
- const keys = [];
893
- for (const [position, pointer] of index.fields.entries()) {
894
- const extracted = compileIndexKeyValue(
895
- adapter,
896
- ctx.propsColumn,
897
- pointer,
898
- index.fieldValueTypes[position]
899
- );
900
- keys.push(drizzleOrm.sql`(${extracted})`);
901
- }
902
- return keys;
903
- }
904
- function compileIndexKeyValue(dialect, propsColumn, pointer, valueType) {
905
- switch (valueType) {
906
- case "number": {
907
- return dialect.jsonExtractNumber(propsColumn, pointer);
908
- }
909
- case "boolean": {
910
- return dialect.jsonExtractBoolean(propsColumn, pointer);
911
- }
912
- case "date": {
913
- return dialect.jsonExtractDate(propsColumn, pointer);
914
- }
915
- case "string":
916
- case "unknown":
917
- case void 0: {
918
- return dialect.jsonExtractText(propsColumn, pointer);
919
- }
920
- case "array":
921
- case "object":
922
- case "embedding": {
923
- return dialect.jsonExtract(propsColumn, pointer);
924
- }
925
- }
926
- }
927
- function getNodeScopeColumns(scope) {
928
- switch (scope) {
929
- case "graphAndKind": {
930
- return ["graph_id", "kind"];
931
- }
932
- case "graph": {
933
- return ["graph_id"];
934
- }
935
- case "none": {
936
- return [];
937
- }
938
- }
939
- }
940
- function getEdgeScopeColumns(scope, direction) {
941
- const base = scope === "graphAndKind" ? ["graph_id", "kind"] : scope === "graph" ? ["graph_id"] : [];
942
- if (direction === "out") {
943
- return [...base, "from_id"];
944
- }
945
- if (direction === "in") {
946
- return [...base, "to_id"];
947
- }
948
- return [...base];
949
- }
950
- function isIndexWhereLiteralList(value) {
951
- return Array.isArray(value);
952
- }
953
- function compileIndexWhere(ctx, expression) {
954
- switch (expression.__type) {
955
- case "index_where_and": {
956
- return drizzleOrm.sql`(${drizzleOrm.sql.join(
957
- expression.predicates.map((p) => compileIndexWhere(ctx, p)),
958
- drizzleOrm.sql` AND `
959
- )})`;
960
- }
961
- case "index_where_or": {
962
- return drizzleOrm.sql`(${drizzleOrm.sql.join(
963
- expression.predicates.map((p) => compileIndexWhere(ctx, p)),
964
- drizzleOrm.sql` OR `
965
- )})`;
966
- }
967
- case "index_where_not": {
968
- return drizzleOrm.sql`(NOT ${compileIndexWhere(ctx, expression.predicate)})`;
969
- }
970
- case "index_where_null_check": {
971
- const operand = compileIndexWhereOperand(ctx, expression.operand);
972
- return expression.op === "isNull" ? drizzleOrm.sql`${operand} IS NULL` : drizzleOrm.sql`${operand} IS NOT NULL`;
973
- }
974
- case "index_where_comparison": {
975
- const left = compileIndexWhereOperand(ctx, expression.left);
976
- const right = expression.right;
977
- if (isIndexWhereLiteralList(right)) {
978
- if (expression.op !== "in" && expression.op !== "notIn") {
979
- throw new Error(
980
- `Operator "${expression.op}" does not support list comparison in index WHERE clause`
981
- );
982
- }
983
- const values = right.map(
984
- (literal) => compileIndexWhereLiteral(ctx.dialect, literal)
985
- );
986
- const operator = expression.op === "in" ? drizzleOrm.sql`IN` : drizzleOrm.sql`NOT IN`;
987
- return drizzleOrm.sql`${left} ${operator} (${drizzleOrm.sql.join(values, drizzleOrm.sql`, `)})`;
988
- }
989
- if (expression.op === "in" || expression.op === "notIn") {
990
- throw new Error(
991
- `Operator "${expression.op}" requires a list of values in index WHERE clause`
992
- );
993
- }
994
- const rightLiteral = compileIndexWhereLiteral(ctx.dialect, right);
995
- const opSql = compileComparisonOperator(expression.op);
996
- return drizzleOrm.sql`${left} ${opSql} ${rightLiteral}`;
997
- }
998
- }
999
- }
1000
- function compileIndexWhereOperand(ctx, operand) {
1001
- if (operand.__type === "index_operand_system") {
1002
- return ctx.systemColumn(operand.column);
1003
- }
1004
- const adapter = getDialect(ctx.dialect);
1005
- const pointer = chunkTDXIBCGY_cjs.jsonPointer([operand.field]);
1006
- switch (operand.valueType) {
1007
- case "number": {
1008
- return adapter.jsonExtractNumber(ctx.propsColumn, pointer);
1009
- }
1010
- case "boolean": {
1011
- return adapter.jsonExtractBoolean(ctx.propsColumn, pointer);
1012
- }
1013
- case "date": {
1014
- return adapter.jsonExtractDate(ctx.propsColumn, pointer);
1015
- }
1016
- case "array":
1017
- case "object":
1018
- case "embedding": {
1019
- return adapter.jsonExtract(ctx.propsColumn, pointer);
1020
- }
1021
- case "string":
1022
- case "unknown":
1023
- case void 0: {
1024
- return adapter.jsonExtractText(ctx.propsColumn, pointer);
1025
- }
1026
- }
1027
- }
1028
- function compileIndexWhereLiteral(dialect, literal) {
1029
- switch (literal.valueType) {
1030
- case "string":
1031
- case "date": {
1032
- return drizzleOrm.sql.raw(escapeStringLiteral(literal.value.toString()));
1033
- }
1034
- case "number": {
1035
- return drizzleOrm.sql.raw(literal.value.toString());
1036
- }
1037
- case "boolean": {
1038
- return getDialect(dialect).booleanLiteral(literal.value);
1039
- }
1040
- case "array":
1041
- case "object":
1042
- case "embedding":
1043
- case "unknown": {
1044
- return drizzleOrm.sql.raw(escapeStringLiteral(literal.value.toString()));
1045
- }
1046
- }
1047
- }
1048
- function compileComparisonOperator(op) {
1049
- switch (op) {
1050
- case "eq": {
1051
- return drizzleOrm.sql`=`;
1052
- }
1053
- case "neq": {
1054
- return drizzleOrm.sql`<>`;
1055
- }
1056
- case "gt": {
1057
- return drizzleOrm.sql`>`;
1058
- }
1059
- case "gte": {
1060
- return drizzleOrm.sql`>=`;
1061
- }
1062
- case "lt": {
1063
- return drizzleOrm.sql`<`;
1064
- }
1065
- case "lte": {
1066
- return drizzleOrm.sql`<=`;
1067
- }
1068
- }
1069
- }
1070
- function escapeStringLiteral(value) {
1071
- return `'${value.replaceAll("'", "''")}'`;
1072
- }
1073
-
1074
- exports.BASE_CONTRIBUTION_OWNER = BASE_CONTRIBUTION_OWNER;
1075
- exports.VECTOR_CONTRIBUTION_PREFIX = VECTOR_CONTRIBUTION_PREFIX;
1076
- exports.assertFiniteEmbedding = assertFiniteEmbedding;
1077
- exports.assertVectorMinScore = assertVectorMinScore;
1078
- exports.assertVectorSearchLimit = assertVectorSearchLimit;
1079
- exports.buildFulltextCapabilities = buildFulltextCapabilities;
1080
- exports.buildVectorCapabilities = buildVectorCapabilities;
1081
- exports.compileEdgeIndexKeys = compileEdgeIndexKeys;
1082
- exports.compileIndexWhere = compileIndexWhere;
1083
- exports.compileNodeIndexFieldKeys = compileNodeIndexFieldKeys;
1084
- exports.compileNodeIndexKeys = compileNodeIndexKeys;
1085
- exports.fts5Strategy = fts5Strategy;
1086
- exports.getDialect = getDialect;
1087
- exports.getNodeScopeColumns = getNodeScopeColumns;
1088
- exports.quoteIdentifier = quoteIdentifier2;
1089
- exports.shortHash = shortHash;
1090
- exports.tsvectorStrategy = tsvectorStrategy;
1091
- exports.vectorMinScoreCondition = vectorMinScoreCondition;
1092
- exports.vectorPhysicalName = vectorPhysicalName;
1093
- exports.vectorScoreExpression = vectorScoreExpression;
1094
- //# sourceMappingURL=chunk-XGU7DZDA.cjs.map
1095
- //# sourceMappingURL=chunk-XGU7DZDA.cjs.map