@nicia-ai/typegraph 0.49.0 → 0.51.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (370) hide show
  1. package/README.md +12 -0
  2. package/dist/backend/drizzle/indexes.cjs +11 -9
  3. package/dist/backend/drizzle/indexes.d.cts +1 -1
  4. package/dist/backend/drizzle/indexes.d.ts +1 -1
  5. package/dist/backend/drizzle/indexes.js +7 -5
  6. package/dist/backend/index.cjs +190 -53
  7. package/dist/backend/index.d.cts +90 -4
  8. package/dist/backend/index.d.ts +90 -4
  9. package/dist/backend/index.js +9 -12
  10. package/dist/backend/postgres/index.cjs +36 -28
  11. package/dist/backend/postgres/index.d.cts +7 -7
  12. package/dist/backend/postgres/index.d.ts +7 -7
  13. package/dist/backend/postgres/index.js +19 -15
  14. package/dist/backend/postgres/pglite-store.cjs +7 -62
  15. package/dist/backend/postgres/pglite-store.cjs.map +1 -1
  16. package/dist/backend/postgres/pglite-store.d.cts +8 -8
  17. package/dist/backend/postgres/pglite-store.d.ts +8 -8
  18. package/dist/backend/postgres/pglite-store.js +7 -62
  19. package/dist/backend/postgres/pglite-store.js.map +1 -1
  20. package/dist/backend/postgres/pglite.cjs +21 -17
  21. package/dist/backend/postgres/pglite.d.cts +3 -3
  22. package/dist/backend/postgres/pglite.d.ts +3 -3
  23. package/dist/backend/postgres/pglite.js +20 -16
  24. package/dist/backend/sqlite/index.cjs +33 -25
  25. package/dist/backend/sqlite/index.d.cts +7 -7
  26. package/dist/backend/sqlite/index.d.ts +7 -7
  27. package/dist/backend/sqlite/index.js +17 -13
  28. package/dist/backend/sqlite/libsql.cjs +24 -20
  29. package/dist/backend/sqlite/libsql.cjs.map +1 -1
  30. package/dist/backend/sqlite/libsql.d.cts +3 -3
  31. package/dist/backend/sqlite/libsql.d.ts +3 -3
  32. package/dist/backend/sqlite/libsql.js +19 -15
  33. package/dist/backend/sqlite/libsql.js.map +1 -1
  34. package/dist/backend/sqlite/local-store.cjs +9 -64
  35. package/dist/backend/sqlite/local-store.cjs.map +1 -1
  36. package/dist/backend/sqlite/local-store.d.cts +8 -8
  37. package/dist/backend/sqlite/local-store.d.ts +8 -8
  38. package/dist/backend/sqlite/local-store.js +8 -64
  39. package/dist/backend/sqlite/local-store.js.map +1 -1
  40. package/dist/backend/sqlite/local.cjs +25 -20
  41. package/dist/backend/sqlite/local.d.cts +3 -3
  42. package/dist/backend/sqlite/local.d.ts +3 -3
  43. package/dist/backend/sqlite/local.js +21 -16
  44. package/dist/chunk-2CVDZCXH.cjs +1278 -0
  45. package/dist/chunk-2CVDZCXH.cjs.map +1 -0
  46. package/dist/{chunk-MYKHJI2J.js → chunk-2DWTBNSH.js} +3 -3
  47. package/dist/{chunk-MYKHJI2J.js.map → chunk-2DWTBNSH.js.map} +1 -1
  48. package/dist/{chunk-JB6T4GLL.cjs → chunk-2KCTP3U2.cjs} +870 -528
  49. package/dist/chunk-2KCTP3U2.cjs.map +1 -0
  50. package/dist/{chunk-OORXGFL5.cjs → chunk-322TBTOQ.cjs} +48 -48
  51. package/dist/{chunk-OORXGFL5.cjs.map → chunk-322TBTOQ.cjs.map} +1 -1
  52. package/dist/{chunk-FA2AFWLP.cjs → chunk-36SX6QXP.cjs} +31 -12
  53. package/dist/chunk-36SX6QXP.cjs.map +1 -0
  54. package/dist/{chunk-SDBBMD4N.js → chunk-36VYWVQU.js} +3 -3
  55. package/dist/{chunk-SDBBMD4N.js.map → chunk-36VYWVQU.js.map} +1 -1
  56. package/dist/chunk-4DKY6RIU.js +1253 -0
  57. package/dist/chunk-4DKY6RIU.js.map +1 -0
  58. package/dist/chunk-4QKOZYMV.js +9 -0
  59. package/dist/chunk-4QKOZYMV.js.map +1 -0
  60. package/dist/{chunk-WIC7DRXW.js → chunk-57JM6NW3.js} +9 -19
  61. package/dist/chunk-57JM6NW3.js.map +1 -0
  62. package/dist/chunk-5WWEYV4H.cjs +5113 -0
  63. package/dist/chunk-5WWEYV4H.cjs.map +1 -0
  64. package/dist/chunk-6KQEICJ6.cjs +12 -0
  65. package/dist/{chunk-MKJ4KXL5.cjs.map → chunk-6KQEICJ6.cjs.map} +1 -1
  66. package/dist/{chunk-DZAICA5J.js → chunk-6NKSE5AU.js} +4 -4
  67. package/dist/{chunk-DZAICA5J.js.map → chunk-6NKSE5AU.js.map} +1 -1
  68. package/dist/{chunk-KKBDXCLQ.js → chunk-6NLYIMJO.js} +4 -4
  69. package/dist/{chunk-KKBDXCLQ.js.map → chunk-6NLYIMJO.js.map} +1 -1
  70. package/dist/{chunk-BFUOME67.cjs → chunk-7B7I7YAW.cjs} +20 -11
  71. package/dist/chunk-7B7I7YAW.cjs.map +1 -0
  72. package/dist/{chunk-ZDKTPBGV.js → chunk-7G5IYROL.js} +6 -548
  73. package/dist/chunk-7G5IYROL.js.map +1 -0
  74. package/dist/{chunk-3DMMGT6S.js → chunk-7QFRK6PU.js} +4 -8
  75. package/dist/chunk-7QFRK6PU.js.map +1 -0
  76. package/dist/chunk-A4C4NJ5U.cjs +12 -0
  77. package/dist/chunk-A4C4NJ5U.cjs.map +1 -0
  78. package/dist/{chunk-CHAOFCHV.js → chunk-AH2A74OZ.js} +3 -3
  79. package/dist/{chunk-CHAOFCHV.js.map → chunk-AH2A74OZ.js.map} +1 -1
  80. package/dist/{chunk-UGHQV7MP.cjs → chunk-B3MN7EJR.cjs} +228 -162
  81. package/dist/chunk-B3MN7EJR.cjs.map +1 -0
  82. package/dist/{chunk-TZEGUG6D.cjs → chunk-BZ5MVITP.cjs} +4 -4
  83. package/dist/{chunk-TZEGUG6D.cjs.map → chunk-BZ5MVITP.cjs.map} +1 -1
  84. package/dist/{chunk-YVF2EM7B.js → chunk-CAI6SMP6.js} +3 -3
  85. package/dist/{chunk-YVF2EM7B.js.map → chunk-CAI6SMP6.js.map} +1 -1
  86. package/dist/{chunk-JONXFAPO.js → chunk-CBOD7TXH.js} +5 -5
  87. package/dist/{chunk-JONXFAPO.js.map → chunk-CBOD7TXH.js.map} +1 -1
  88. package/dist/{chunk-FQPEMEWX.cjs → chunk-CRZ56SZU.cjs} +81 -32
  89. package/dist/chunk-CRZ56SZU.cjs.map +1 -0
  90. package/dist/{chunk-DO7SAMEK.cjs → chunk-D3GWARN7.cjs} +47 -47
  91. package/dist/{chunk-DO7SAMEK.cjs.map → chunk-D3GWARN7.cjs.map} +1 -1
  92. package/dist/{chunk-QTD6HX4O.js → chunk-D3OUDFU7.js} +5 -5
  93. package/dist/{chunk-QTD6HX4O.js.map → chunk-D3OUDFU7.js.map} +1 -1
  94. package/dist/{chunk-2QGYQBS2.cjs → chunk-DWUDZ66O.cjs} +10 -10
  95. package/dist/{chunk-2QGYQBS2.cjs.map → chunk-DWUDZ66O.cjs.map} +1 -1
  96. package/dist/chunk-EKG2UXNX.cjs +23 -0
  97. package/dist/chunk-EKG2UXNX.cjs.map +1 -0
  98. package/dist/chunk-FMMW3KX7.cjs +148 -0
  99. package/dist/chunk-FMMW3KX7.cjs.map +1 -0
  100. package/dist/{chunk-XVWOYKIK.js → chunk-FZHF5UWR.js} +3 -3
  101. package/dist/{chunk-XVWOYKIK.js.map → chunk-FZHF5UWR.js.map} +1 -1
  102. package/dist/chunk-H2VWDQWC.cjs +571 -0
  103. package/dist/chunk-H2VWDQWC.cjs.map +1 -0
  104. package/dist/chunk-H4FY6OZK.js +13 -0
  105. package/dist/chunk-H4FY6OZK.js.map +1 -0
  106. package/dist/{chunk-EDN4Y4ZG.cjs → chunk-H5IJSROF.cjs} +9 -15
  107. package/dist/chunk-H5IJSROF.cjs.map +1 -0
  108. package/dist/chunk-HZUB5CON.js +27 -0
  109. package/dist/chunk-HZUB5CON.js.map +1 -0
  110. package/dist/{chunk-NACVVDWB.js → chunk-I5IOSA27.js} +103 -105
  111. package/dist/chunk-I5IOSA27.js.map +1 -0
  112. package/dist/{chunk-OI2GQ25X.cjs → chunk-I7YAY2VQ.cjs} +7 -7
  113. package/dist/{chunk-OI2GQ25X.cjs.map → chunk-I7YAY2VQ.cjs.map} +1 -1
  114. package/dist/chunk-IRCWIA3R.js +20 -0
  115. package/dist/chunk-IRCWIA3R.js.map +1 -0
  116. package/dist/chunk-IVQBLXBK.cjs +55 -0
  117. package/dist/chunk-IVQBLXBK.cjs.map +1 -0
  118. package/dist/{chunk-7SQSZN2J.js → chunk-IZD4HTCP.js} +5 -5
  119. package/dist/{chunk-7SQSZN2J.js.map → chunk-IZD4HTCP.js.map} +1 -1
  120. package/dist/{chunk-3FPR224C.cjs → chunk-JHRUZ73O.cjs} +116 -107
  121. package/dist/chunk-JHRUZ73O.cjs.map +1 -0
  122. package/dist/{chunk-EZEEWCFJ.cjs → chunk-JQKMEKKW.cjs} +525 -298
  123. package/dist/chunk-JQKMEKKW.cjs.map +1 -0
  124. package/dist/chunk-JVA3KDEA.cjs +691 -0
  125. package/dist/chunk-JVA3KDEA.cjs.map +1 -0
  126. package/dist/{chunk-5K2BKEBD.js → chunk-K46SDNQD.js} +10 -4
  127. package/dist/chunk-K46SDNQD.js.map +1 -0
  128. package/dist/{chunk-7LZJNLA5.js → chunk-K67P5DLL.js} +108 -42
  129. package/dist/chunk-K67P5DLL.js.map +1 -0
  130. package/dist/{chunk-3G5W2U2L.cjs → chunk-KACEYDYV.cjs} +335 -258
  131. package/dist/chunk-KACEYDYV.cjs.map +1 -0
  132. package/dist/{chunk-JFRT7S3B.cjs → chunk-L6EVYIID.cjs} +318 -478
  133. package/dist/chunk-L6EVYIID.cjs.map +1 -0
  134. package/dist/{chunk-SHFBB23Q.js → chunk-LI4K2KEJ.js} +6 -4
  135. package/dist/chunk-LI4K2KEJ.js.map +1 -0
  136. package/dist/chunk-LKZDQ2B4.js +1581 -0
  137. package/dist/chunk-LKZDQ2B4.js.map +1 -0
  138. package/dist/{chunk-WODMN3Q2.cjs → chunk-LLFPQOBA.cjs} +27 -27
  139. package/dist/{chunk-WODMN3Q2.cjs.map → chunk-LLFPQOBA.cjs.map} +1 -1
  140. package/dist/{chunk-P6YLZTRE.js → chunk-LZMQ3SFK.js} +3 -3
  141. package/dist/{chunk-P6YLZTRE.js.map → chunk-LZMQ3SFK.js.map} +1 -1
  142. package/dist/{chunk-HEV35TGT.js → chunk-M3VTS3F6.js} +13 -4
  143. package/dist/chunk-M3VTS3F6.js.map +1 -0
  144. package/dist/{chunk-TQHGE7UC.cjs → chunk-M5MSP3BI.cjs} +18 -10
  145. package/dist/chunk-M5MSP3BI.cjs.map +1 -0
  146. package/dist/{chunk-D4QLTJSM.js → chunk-NBOS7BY3.js} +63 -23
  147. package/dist/chunk-NBOS7BY3.js.map +1 -0
  148. package/dist/chunk-NGQDGL5X.js +140 -0
  149. package/dist/chunk-NGQDGL5X.js.map +1 -0
  150. package/dist/{chunk-SIT26LAZ.cjs → chunk-NLX5OWK7.cjs} +33 -5
  151. package/dist/chunk-NLX5OWK7.cjs.map +1 -0
  152. package/dist/chunk-NUQ2YFFH.cjs +1637 -0
  153. package/dist/chunk-NUQ2YFFH.cjs.map +1 -0
  154. package/dist/{chunk-UMGZDVOA.cjs → chunk-OGL4X4PH.cjs} +206 -208
  155. package/dist/chunk-OGL4X4PH.cjs.map +1 -0
  156. package/dist/{chunk-LRQKXRXO.cjs → chunk-OTNTGEXR.cjs} +4 -4
  157. package/dist/{chunk-LRQKXRXO.cjs.map → chunk-OTNTGEXR.cjs.map} +1 -1
  158. package/dist/chunk-OTWE63BW.js +53 -0
  159. package/dist/chunk-OTWE63BW.js.map +1 -0
  160. package/dist/chunk-PC5NGH5A.js +549 -0
  161. package/dist/chunk-PC5NGH5A.js.map +1 -0
  162. package/dist/{chunk-26YKDNUD.cjs → chunk-PS3TUWJM.cjs} +12 -10
  163. package/dist/chunk-PS3TUWJM.cjs.map +1 -0
  164. package/dist/{chunk-OMZ37BM2.js → chunk-PVFFH7TL.js} +5 -5
  165. package/dist/{chunk-OMZ37BM2.js.map → chunk-PVFFH7TL.js.map} +1 -1
  166. package/dist/chunk-QCD5JKU4.cjs +15 -0
  167. package/dist/chunk-QCD5JKU4.cjs.map +1 -0
  168. package/dist/{chunk-UGHG7PGX.js → chunk-QG5VEOKX.js} +30 -4
  169. package/dist/chunk-QG5VEOKX.js.map +1 -0
  170. package/dist/{chunk-TUNPBZY3.cjs → chunk-QLLZM5I3.cjs} +4 -4
  171. package/dist/{chunk-TUNPBZY3.cjs.map → chunk-QLLZM5I3.cjs.map} +1 -1
  172. package/dist/{chunk-BRRP76WO.js → chunk-RCBG6YMT.js} +781 -375
  173. package/dist/chunk-RCBG6YMT.js.map +1 -0
  174. package/dist/{chunk-LTXQOEIC.js → chunk-RI7RJH4G.js} +281 -204
  175. package/dist/chunk-RI7RJH4G.js.map +1 -0
  176. package/dist/{chunk-GYEG3ZLZ.cjs → chunk-RJMHU2MG.cjs} +121 -18
  177. package/dist/chunk-RJMHU2MG.cjs.map +1 -0
  178. package/dist/{chunk-GLHXM7C4.js → chunk-RVUL2HXY.js} +61 -23
  179. package/dist/chunk-RVUL2HXY.js.map +1 -0
  180. package/dist/chunk-RWUWTJQY.cjs +30 -0
  181. package/dist/chunk-RWUWTJQY.cjs.map +1 -0
  182. package/dist/{chunk-2O4PCIZ6.cjs → chunk-S5GU4LUN.cjs} +13 -13
  183. package/dist/{chunk-2O4PCIZ6.cjs.map → chunk-S5GU4LUN.cjs.map} +1 -1
  184. package/dist/{chunk-JPD2CTC3.js → chunk-SDPWO2Z5.js} +7 -7
  185. package/dist/{chunk-JPD2CTC3.js.map → chunk-SDPWO2Z5.js.map} +1 -1
  186. package/dist/{chunk-OVI7IXYX.js → chunk-SLGGT2XD.js} +3 -3
  187. package/dist/{chunk-OVI7IXYX.js.map → chunk-SLGGT2XD.js.map} +1 -1
  188. package/dist/{chunk-ROR5ZR6A.cjs → chunk-TIJUA4I6.cjs} +45 -45
  189. package/dist/{chunk-ROR5ZR6A.cjs.map → chunk-TIJUA4I6.cjs.map} +1 -1
  190. package/dist/{chunk-AOSSQDVO.cjs → chunk-TM54OBHX.cjs} +13 -13
  191. package/dist/{chunk-AOSSQDVO.cjs.map → chunk-TM54OBHX.cjs.map} +1 -1
  192. package/dist/{chunk-KF6K7TGH.js → chunk-TYEYRCXL.js} +766 -433
  193. package/dist/chunk-TYEYRCXL.js.map +1 -0
  194. package/dist/{chunk-Z2JCLZFJ.js → chunk-UKOVGCRN.js} +2151 -570
  195. package/dist/chunk-UKOVGCRN.js.map +1 -0
  196. package/dist/chunk-UYKDYE5D.cjs +12 -0
  197. package/dist/{chunk-CICO5GXD.cjs.map → chunk-UYKDYE5D.cjs.map} +1 -1
  198. package/dist/{chunk-S5TERQVW.js → chunk-VAAC7L57.js} +284 -66
  199. package/dist/chunk-VAAC7L57.js.map +1 -0
  200. package/dist/{chunk-7UOLHNWC.cjs → chunk-VKHXYVN7.cjs} +22 -33
  201. package/dist/chunk-VKHXYVN7.cjs.map +1 -0
  202. package/dist/{chunk-6NGW27EO.cjs → chunk-VLBTRXA2.cjs} +10 -10
  203. package/dist/{chunk-6NGW27EO.cjs.map → chunk-VLBTRXA2.cjs.map} +1 -1
  204. package/dist/{chunk-YIURNGXI.js → chunk-VUQZNUHU.js} +22 -6
  205. package/dist/chunk-VUQZNUHU.js.map +1 -0
  206. package/dist/{chunk-YYUHLYM2.cjs → chunk-WDM5WQK4.cjs} +183 -143
  207. package/dist/chunk-WDM5WQK4.cjs.map +1 -0
  208. package/dist/{chunk-ZFMCDJGB.js → chunk-WFSYYU4W.js} +70 -220
  209. package/dist/chunk-WFSYYU4W.js.map +1 -0
  210. package/dist/{chunk-SR725PWF.cjs → chunk-WRBV2FNH.cjs} +2065 -1659
  211. package/dist/chunk-WRBV2FNH.cjs.map +1 -0
  212. package/dist/{chunk-MRDBBHIZ.cjs → chunk-X4GDXBOP.cjs} +2 -2
  213. package/dist/chunk-X4GDXBOP.cjs.map +1 -0
  214. package/dist/chunk-XORONCV3.js +202 -0
  215. package/dist/chunk-XORONCV3.js.map +1 -0
  216. package/dist/{chunk-D5R42W5D.js → chunk-XZW2CTNO.js} +115 -12
  217. package/dist/chunk-XZW2CTNO.js.map +1 -0
  218. package/dist/{chunk-ZLONH2UD.js → chunk-YDEJQWOL.js} +2 -2
  219. package/dist/chunk-YDEJQWOL.js.map +1 -0
  220. package/dist/{chunk-2TYSSBU5.js → chunk-YT2IVFAI.js} +30 -21
  221. package/dist/chunk-YT2IVFAI.js.map +1 -0
  222. package/dist/chunk-ZGVTNKTX.cjs +217 -0
  223. package/dist/chunk-ZGVTNKTX.cjs.map +1 -0
  224. package/dist/core/index.cjs +29 -28
  225. package/dist/core/index.d.cts +4 -4
  226. package/dist/core/index.d.ts +4 -4
  227. package/dist/core/index.js +9 -8
  228. package/dist/{ddl-D_oW-EVO.d.ts → ddl-BvcbgzHo.d.ts} +3 -3
  229. package/dist/{ddl-BL1NZLMY.d.cts → ddl-Ufebz5q5.d.cts} +3 -3
  230. package/dist/graph-extension/index.cjs +21 -20
  231. package/dist/graph-extension/index.d.cts +2 -4
  232. package/dist/graph-extension/index.d.ts +2 -4
  233. package/dist/graph-extension/index.js +5 -4
  234. package/dist/graph-merge/index.cjs +324 -307
  235. package/dist/graph-merge/index.cjs.map +1 -1
  236. package/dist/graph-merge/index.d.cts +8 -9
  237. package/dist/graph-merge/index.d.ts +8 -9
  238. package/dist/graph-merge/index.js +51 -34
  239. package/dist/graph-merge/index.js.map +1 -1
  240. package/dist/index.cjs +224 -222
  241. package/dist/index.cjs.map +1 -1
  242. package/dist/index.d.cts +11 -12
  243. package/dist/index.d.ts +11 -12
  244. package/dist/index.js +38 -36
  245. package/dist/index.js.map +1 -1
  246. package/dist/indexes/index.cjs +15 -13
  247. package/dist/indexes/index.d.cts +4 -4
  248. package/dist/indexes/index.d.ts +4 -4
  249. package/dist/indexes/index.js +8 -6
  250. package/dist/{ingestion-import-target-dNeL7iAv.d.ts → ingestion-import-target-CAs1OX-l.d.cts} +1 -1
  251. package/dist/{ingestion-import-target-XPxZYw89.d.cts → ingestion-import-target-DCQSPfNx.d.ts} +1 -1
  252. package/dist/interchange/index.cjs +57 -54
  253. package/dist/interchange/index.cjs.map +1 -1
  254. package/dist/interchange/index.d.cts +19 -8
  255. package/dist/interchange/index.d.ts +19 -8
  256. package/dist/interchange/index.js +21 -18
  257. package/dist/interchange/index.js.map +1 -1
  258. package/dist/local-store-impl-6DDTFM32.cjs +77 -0
  259. package/dist/local-store-impl-6DDTFM32.cjs.map +1 -0
  260. package/dist/local-store-impl-OXTOVU2J.js +75 -0
  261. package/dist/local-store-impl-OXTOVU2J.js.map +1 -0
  262. package/dist/{manager-CYaff3n3.d.cts → manager-B68OrPR2.d.ts} +29 -2
  263. package/dist/{manager-D9eRT_ns.d.ts → manager-D_t7oK69.d.cts} +29 -2
  264. package/dist/pglite-store-impl-6EMZGL7K.js +73 -0
  265. package/dist/pglite-store-impl-6EMZGL7K.js.map +1 -0
  266. package/dist/pglite-store-impl-GJG3Y7RP.cjs +75 -0
  267. package/dist/pglite-store-impl-GJG3Y7RP.cjs.map +1 -0
  268. package/dist/{postgres-CcL4bAHS.d.ts → postgres-BPLSVyHM.d.ts} +279 -2
  269. package/dist/{postgres-DMj39MEu.d.cts → postgres-CqvtFC2y.d.cts} +279 -2
  270. package/dist/profiler/index.d.cts +9 -9
  271. package/dist/profiler/index.d.ts +9 -9
  272. package/dist/provenance/index.cjs +59 -44
  273. package/dist/provenance/index.cjs.map +1 -1
  274. package/dist/provenance/index.d.cts +7 -7
  275. package/dist/provenance/index.d.ts +7 -7
  276. package/dist/provenance/index.js +28 -13
  277. package/dist/provenance/index.js.map +1 -1
  278. package/dist/{repair-validity-windows-BFNZvd_H.d.cts → repair-validity-windows-DEzCKAdy.d.cts} +7 -3
  279. package/dist/{repair-validity-windows-DlUSqwCg.d.ts → repair-validity-windows-GMdaS2AH.d.ts} +7 -3
  280. package/dist/resolve-D_H8MHtq.d.ts +1805 -0
  281. package/dist/resolve-WEW8gWws.d.cts +1805 -0
  282. package/dist/schema/index.cjs +48 -46
  283. package/dist/schema/index.d.cts +4 -6
  284. package/dist/schema/index.d.ts +4 -6
  285. package/dist/schema/index.js +21 -19
  286. package/dist/{searchable-bpE1bBfc.d.ts → searchable-C_UREI9K.d.ts} +1 -1
  287. package/dist/{searchable-DHJMh_nj.d.cts → searchable-ClgET_i7.d.cts} +1 -1
  288. package/dist/{sqlite-YppHrNFb.d.cts → sqlite-D1mXO9Kp.d.cts} +310 -2
  289. package/dist/{sqlite-D7Oz0SQh.d.ts → sqlite-MZA3oZNB.d.ts} +310 -2
  290. package/dist/{store-bphCSo7z.d.cts → store-CuFX7fCx.d.cts} +117 -31
  291. package/dist/{store-DRrFCx5x.d.ts → store-D-ZjXQpW.d.ts} +117 -31
  292. package/dist/{temporal-CbnLzTmM.d.ts → temporal-CpyEiRY8.d.cts} +1 -1
  293. package/dist/{temporal-5GqpYCk2.d.cts → temporal-y0Aep9Su.d.ts} +1 -1
  294. package/dist/{types-BqFZTQmV.d.cts → types-6yf0Vv-_.d.cts} +2016 -94
  295. package/dist/{types-BqFZTQmV.d.ts → types-6yf0Vv-_.d.ts} +2016 -94
  296. package/dist/{types-Bx74kaTt.d.ts → types-DzJ4dlzk.d.cts} +1 -1
  297. package/dist/{types-CXAhpW-c.d.cts → types-_vVSB9k-.d.ts} +1 -1
  298. package/dist/{where-O-k2wgYm.d.ts → where-DuG2LCLe.d.ts} +1 -1
  299. package/dist/{where-DI_Fqz-X.d.cts → where-Mhf_yyKX.d.cts} +1 -1
  300. package/package.json +7 -2
  301. package/dist/chunk-26YKDNUD.cjs.map +0 -1
  302. package/dist/chunk-2TYSSBU5.js.map +0 -1
  303. package/dist/chunk-3DMMGT6S.js.map +0 -1
  304. package/dist/chunk-3FPR224C.cjs.map +0 -1
  305. package/dist/chunk-3G5W2U2L.cjs.map +0 -1
  306. package/dist/chunk-3KOY4FH3.cjs +0 -934
  307. package/dist/chunk-3KOY4FH3.cjs.map +0 -1
  308. package/dist/chunk-3QNZ5SAJ.cjs +0 -3502
  309. package/dist/chunk-3QNZ5SAJ.cjs.map +0 -1
  310. package/dist/chunk-3U5ABFDW.cjs +0 -259
  311. package/dist/chunk-3U5ABFDW.cjs.map +0 -1
  312. package/dist/chunk-5K2BKEBD.js.map +0 -1
  313. package/dist/chunk-5PRKMB24.cjs +0 -124
  314. package/dist/chunk-5PRKMB24.cjs.map +0 -1
  315. package/dist/chunk-6LN7FIVU.js +0 -107
  316. package/dist/chunk-6LN7FIVU.js.map +0 -1
  317. package/dist/chunk-6SWPJEYN.js +0 -1126
  318. package/dist/chunk-6SWPJEYN.js.map +0 -1
  319. package/dist/chunk-7LZJNLA5.js.map +0 -1
  320. package/dist/chunk-7UOLHNWC.cjs.map +0 -1
  321. package/dist/chunk-BFUOME67.cjs.map +0 -1
  322. package/dist/chunk-BRRP76WO.js.map +0 -1
  323. package/dist/chunk-CICO5GXD.cjs +0 -12
  324. package/dist/chunk-D4QLTJSM.js.map +0 -1
  325. package/dist/chunk-D5R42W5D.js.map +0 -1
  326. package/dist/chunk-EDN4Y4ZG.cjs.map +0 -1
  327. package/dist/chunk-EZEEWCFJ.cjs.map +0 -1
  328. package/dist/chunk-FA2AFWLP.cjs.map +0 -1
  329. package/dist/chunk-FQPEMEWX.cjs.map +0 -1
  330. package/dist/chunk-GLHXM7C4.js.map +0 -1
  331. package/dist/chunk-GYEG3ZLZ.cjs.map +0 -1
  332. package/dist/chunk-HDL2ARHX.cjs +0 -1156
  333. package/dist/chunk-HDL2ARHX.cjs.map +0 -1
  334. package/dist/chunk-HEV35TGT.js.map +0 -1
  335. package/dist/chunk-I4GAZH5Z.js +0 -913
  336. package/dist/chunk-I4GAZH5Z.js.map +0 -1
  337. package/dist/chunk-JB6T4GLL.cjs.map +0 -1
  338. package/dist/chunk-JBQQ7THH.js +0 -20
  339. package/dist/chunk-JBQQ7THH.js.map +0 -1
  340. package/dist/chunk-JFRT7S3B.cjs.map +0 -1
  341. package/dist/chunk-KF6K7TGH.js.map +0 -1
  342. package/dist/chunk-L3LQNR34.cjs +0 -1254
  343. package/dist/chunk-L3LQNR34.cjs.map +0 -1
  344. package/dist/chunk-LTXQOEIC.js.map +0 -1
  345. package/dist/chunk-MKJ4KXL5.cjs +0 -12
  346. package/dist/chunk-MRDBBHIZ.cjs.map +0 -1
  347. package/dist/chunk-NACVVDWB.js.map +0 -1
  348. package/dist/chunk-NVY5CJFP.js +0 -244
  349. package/dist/chunk-NVY5CJFP.js.map +0 -1
  350. package/dist/chunk-PWLJ77UV.cjs +0 -23
  351. package/dist/chunk-PWLJ77UV.cjs.map +0 -1
  352. package/dist/chunk-S5TERQVW.js.map +0 -1
  353. package/dist/chunk-SHFBB23Q.js.map +0 -1
  354. package/dist/chunk-SIT26LAZ.cjs.map +0 -1
  355. package/dist/chunk-SR725PWF.cjs.map +0 -1
  356. package/dist/chunk-TQHGE7UC.cjs.map +0 -1
  357. package/dist/chunk-UGHG7PGX.js.map +0 -1
  358. package/dist/chunk-UGHQV7MP.cjs.map +0 -1
  359. package/dist/chunk-UMGZDVOA.cjs.map +0 -1
  360. package/dist/chunk-WIC7DRXW.js.map +0 -1
  361. package/dist/chunk-YIURNGXI.js.map +0 -1
  362. package/dist/chunk-YYUHLYM2.cjs.map +0 -1
  363. package/dist/chunk-Z2JCLZFJ.js.map +0 -1
  364. package/dist/chunk-ZDKTPBGV.js.map +0 -1
  365. package/dist/chunk-ZFMCDJGB.js.map +0 -1
  366. package/dist/chunk-ZLONH2UD.js.map +0 -1
  367. package/dist/index-COs_z6nV.d.cts +0 -1132
  368. package/dist/index-D7d1u2gr.d.ts +0 -1132
  369. package/dist/materialize-indexes-DJ3ykH59.d.ts +0 -266
  370. package/dist/materialize-indexes-DTtAnvfY.d.cts +0 -266
@@ -1,1156 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkWODMN3Q2_cjs = require('./chunk-WODMN3Q2.cjs');
4
- var chunkOI2GQ25X_cjs = require('./chunk-OI2GQ25X.cjs');
5
- var chunkL3LQNR34_cjs = require('./chunk-L3LQNR34.cjs');
6
- var drizzleOrm = require('drizzle-orm');
7
- var pgCore = require('drizzle-orm/pg-core');
8
- var sqliteCore = require('drizzle-orm/sqlite-core');
9
-
10
- var regconfig = pgCore.customType({
11
- dataType: () => "regconfig"
12
- });
13
- var tsvector = pgCore.customType({
14
- dataType: () => "tsvector"
15
- });
16
-
17
- // src/backend/drizzle/schema/postgres.ts
18
- var DEFAULT_TABLE_NAMES = {
19
- nodes: "typegraph_nodes",
20
- edges: "typegraph_edges",
21
- recordedNodes: "typegraph_recorded_nodes",
22
- recordedEdges: "typegraph_recorded_edges",
23
- recordedClock: "typegraph_recorded_clock",
24
- revisionOrigins: "typegraph_revision_origins",
25
- identityAssertions: "typegraph_identity_assertions",
26
- recordedIdentityAssertions: "typegraph_recorded_identity_assertions",
27
- identityClosure: "typegraph_identity_closure",
28
- identitySeparation: "typegraph_identity_separation",
29
- uniques: "typegraph_node_uniques",
30
- schemaVersions: "typegraph_schema_versions",
31
- fulltext: "typegraph_node_fulltext",
32
- indexMaterializations: "typegraph_index_materializations",
33
- contributionMaterializations: "typegraph_contribution_materializations",
34
- kindRemovals: "typegraph_kind_removals",
35
- reconciliationMarkers: "typegraph_reconciliation_markers"
36
- };
37
- function createPostgresTables(names = {}, options = {}) {
38
- const n = { ...DEFAULT_TABLE_NAMES, ...names };
39
- const indexes = options.indexes ?? [];
40
- chunkOI2GQ25X_cjs.assertNoSystemIndexNameCollision(indexes, n);
41
- const nodes3 = pgCore.pgTable(
42
- n.nodes,
43
- {
44
- graphId: pgCore.text("graph_id").notNull(),
45
- kind: pgCore.text("kind").notNull(),
46
- id: pgCore.text("id").notNull(),
47
- props: pgCore.jsonb("props").notNull(),
48
- version: pgCore.integer("version").notNull().default(1),
49
- validFrom: pgCore.timestamp("valid_from", { withTimezone: true }),
50
- validTo: pgCore.timestamp("valid_to", { withTimezone: true }),
51
- createdAt: pgCore.timestamp("created_at", { withTimezone: true }).notNull(),
52
- updatedAt: pgCore.timestamp("updated_at", { withTimezone: true }).notNull(),
53
- deletedAt: pgCore.timestamp("deleted_at", { withTimezone: true })
54
- },
55
- (t) => [
56
- pgCore.primaryKey({ columns: [t.graphId, t.kind, t.id] }),
57
- // System indexes come from SYSTEM_INDEX_DECLARATIONS (single source
58
- // for both dialects + the runtime materializer).
59
- ...chunkWODMN3Q2_cjs.buildPostgresSystemIndexBuilders("nodes", n.nodes, t),
60
- ...chunkWODMN3Q2_cjs.buildPostgresNodeIndexBuilders(t, indexes)
61
- ]
62
- );
63
- const edges3 = pgCore.pgTable(
64
- n.edges,
65
- {
66
- graphId: pgCore.text("graph_id").notNull(),
67
- id: pgCore.text("id").notNull(),
68
- kind: pgCore.text("kind").notNull(),
69
- fromKind: pgCore.text("from_kind").notNull(),
70
- fromId: pgCore.text("from_id").notNull(),
71
- toKind: pgCore.text("to_kind").notNull(),
72
- toId: pgCore.text("to_id").notNull(),
73
- props: pgCore.jsonb("props").notNull(),
74
- validFrom: pgCore.timestamp("valid_from", { withTimezone: true }),
75
- validTo: pgCore.timestamp("valid_to", { withTimezone: true }),
76
- createdAt: pgCore.timestamp("created_at", { withTimezone: true }).notNull(),
77
- updatedAt: pgCore.timestamp("updated_at", { withTimezone: true }).notNull(),
78
- deletedAt: pgCore.timestamp("deleted_at", { withTimezone: true })
79
- },
80
- (t) => [
81
- pgCore.primaryKey({ columns: [t.graphId, t.id] }),
82
- ...chunkWODMN3Q2_cjs.buildPostgresSystemIndexBuilders("edges", n.edges, t),
83
- ...chunkWODMN3Q2_cjs.buildPostgresEdgeIndexBuilders(t, indexes)
84
- ]
85
- );
86
- const recordedNodes3 = pgCore.pgTable(
87
- n.recordedNodes,
88
- {
89
- historyId: pgCore.text("history_id").notNull(),
90
- graphId: pgCore.text("graph_id").notNull(),
91
- kind: pgCore.text("kind").notNull(),
92
- id: pgCore.text("id").notNull(),
93
- props: pgCore.jsonb("props").notNull(),
94
- version: pgCore.integer("version").notNull(),
95
- validFrom: pgCore.timestamp("valid_from", { withTimezone: true }),
96
- validTo: pgCore.timestamp("valid_to", { withTimezone: true }),
97
- createdAt: pgCore.timestamp("created_at", { withTimezone: true }).notNull(),
98
- updatedAt: pgCore.timestamp("updated_at", { withTimezone: true }).notNull(),
99
- deletedAt: pgCore.timestamp("deleted_at", { withTimezone: true }),
100
- recordedFrom: pgCore.bigint("recorded_from", { mode: "number" }).notNull(),
101
- recordedTo: pgCore.bigint("recorded_to", { mode: "number" }).notNull(),
102
- op: pgCore.text("op").notNull(),
103
- schemaVersion: pgCore.integer("schema_version"),
104
- txId: pgCore.text("tx_id"),
105
- meta: pgCore.jsonb("meta")
106
- },
107
- (t) => [
108
- pgCore.primaryKey({ columns: [t.historyId] }),
109
- ...chunkWODMN3Q2_cjs.buildPostgresSystemIndexBuilders("recordedNodes", n.recordedNodes, t)
110
- ]
111
- );
112
- const recordedEdges3 = pgCore.pgTable(
113
- n.recordedEdges,
114
- {
115
- historyId: pgCore.text("history_id").notNull(),
116
- graphId: pgCore.text("graph_id").notNull(),
117
- id: pgCore.text("id").notNull(),
118
- kind: pgCore.text("kind").notNull(),
119
- fromKind: pgCore.text("from_kind").notNull(),
120
- fromId: pgCore.text("from_id").notNull(),
121
- toKind: pgCore.text("to_kind").notNull(),
122
- toId: pgCore.text("to_id").notNull(),
123
- props: pgCore.jsonb("props").notNull(),
124
- validFrom: pgCore.timestamp("valid_from", { withTimezone: true }),
125
- validTo: pgCore.timestamp("valid_to", { withTimezone: true }),
126
- createdAt: pgCore.timestamp("created_at", { withTimezone: true }).notNull(),
127
- updatedAt: pgCore.timestamp("updated_at", { withTimezone: true }).notNull(),
128
- deletedAt: pgCore.timestamp("deleted_at", { withTimezone: true }),
129
- recordedFrom: pgCore.bigint("recorded_from", { mode: "number" }).notNull(),
130
- recordedTo: pgCore.bigint("recorded_to", { mode: "number" }).notNull(),
131
- op: pgCore.text("op").notNull(),
132
- schemaVersion: pgCore.integer("schema_version"),
133
- txId: pgCore.text("tx_id"),
134
- meta: pgCore.jsonb("meta")
135
- },
136
- (t) => [
137
- pgCore.primaryKey({ columns: [t.historyId] }),
138
- ...chunkWODMN3Q2_cjs.buildPostgresSystemIndexBuilders("recordedEdges", n.recordedEdges, t)
139
- ]
140
- );
141
- const recordedClock3 = pgCore.pgTable(
142
- n.recordedClock,
143
- {
144
- graphId: pgCore.text("graph_id").notNull(),
145
- revision: pgCore.bigint("revision", { mode: "number" }).notNull(),
146
- recordedAt: pgCore.timestamp("recorded_at", { withTimezone: true }).notNull()
147
- },
148
- (t) => [pgCore.primaryKey({ columns: [t.graphId] })]
149
- );
150
- const revisionOrigins = pgCore.pgTable(
151
- n.revisionOrigins,
152
- {
153
- graphId: pgCore.text("graph_id").notNull(),
154
- origin: pgCore.text("origin").notNull()
155
- },
156
- (t) => [pgCore.primaryKey({ columns: [t.graphId] })]
157
- );
158
- const identityAssertions = pgCore.pgTable(
159
- n.identityAssertions,
160
- {
161
- graphId: pgCore.text("graph_id").notNull(),
162
- id: pgCore.text("id").notNull(),
163
- relation: pgCore.text("rel").notNull(),
164
- aKind: pgCore.text("a_kind").notNull(),
165
- aId: pgCore.text("a_id").notNull(),
166
- bKind: pgCore.text("b_kind").notNull(),
167
- bId: pgCore.text("b_id").notNull(),
168
- validFrom: pgCore.timestamp("valid_from", { withTimezone: true }).notNull(),
169
- validTo: pgCore.timestamp("valid_to", { withTimezone: true }),
170
- createdAt: pgCore.timestamp("created_at", { withTimezone: true }).notNull(),
171
- updatedAt: pgCore.timestamp("updated_at", { withTimezone: true }).notNull(),
172
- deletedAt: pgCore.timestamp("deleted_at", { withTimezone: true }),
173
- endedByKind: pgCore.text("ended_by_kind"),
174
- endedById: pgCore.text("ended_by_id")
175
- },
176
- (t) => [
177
- pgCore.primaryKey({ columns: [t.graphId, t.id] }),
178
- pgCore.index(`${n.identityAssertions}_a_idx`).on(
179
- t.graphId,
180
- t.aKind,
181
- t.aId,
182
- t.validTo
183
- ),
184
- pgCore.index(`${n.identityAssertions}_b_idx`).on(
185
- t.graphId,
186
- t.bKind,
187
- t.bId,
188
- t.validTo
189
- ),
190
- pgCore.uniqueIndex(`${n.identityAssertions}_current_pair_idx`).on(t.graphId, t.relation, t.aKind, t.aId, t.bKind, t.bId).where(drizzleOrm.sql`${t.validTo} IS NULL`),
191
- pgCore.check(
192
- `${n.identityAssertions}_ended_by_check`,
193
- drizzleOrm.sql`(ended_by_kind IS NULL) = (ended_by_id IS NULL) AND (ended_by_kind IS NULL OR (valid_to IS NOT NULL AND ((ended_by_kind = a_kind AND ended_by_id = a_id) OR (ended_by_kind = b_kind AND ended_by_id = b_id))))`
194
- )
195
- ]
196
- );
197
- const recordedIdentityAssertions = pgCore.pgTable(
198
- n.recordedIdentityAssertions,
199
- {
200
- historyId: pgCore.text("history_id").notNull(),
201
- graphId: pgCore.text("graph_id").notNull(),
202
- id: pgCore.text("id").notNull(),
203
- relation: pgCore.text("rel").notNull(),
204
- aKind: pgCore.text("a_kind").notNull(),
205
- aId: pgCore.text("a_id").notNull(),
206
- bKind: pgCore.text("b_kind").notNull(),
207
- bId: pgCore.text("b_id").notNull(),
208
- validFrom: pgCore.timestamp("valid_from", { withTimezone: true }).notNull(),
209
- validTo: pgCore.timestamp("valid_to", { withTimezone: true }),
210
- createdAt: pgCore.timestamp("created_at", { withTimezone: true }).notNull(),
211
- updatedAt: pgCore.timestamp("updated_at", { withTimezone: true }).notNull(),
212
- deletedAt: pgCore.timestamp("deleted_at", { withTimezone: true }),
213
- endedByKind: pgCore.text("ended_by_kind"),
214
- endedById: pgCore.text("ended_by_id"),
215
- recordedFrom: pgCore.bigint("recorded_from", { mode: "number" }).notNull(),
216
- recordedTo: pgCore.bigint("recorded_to", { mode: "number" }).notNull(),
217
- op: pgCore.text("op").notNull(),
218
- schemaVersion: pgCore.integer("schema_version"),
219
- txId: pgCore.text("tx_id"),
220
- meta: pgCore.jsonb("meta")
221
- },
222
- (t) => [
223
- pgCore.primaryKey({ columns: [t.historyId] }),
224
- pgCore.index(`${n.recordedIdentityAssertions}_entity_idx`).on(
225
- t.graphId,
226
- t.id,
227
- t.recordedFrom,
228
- t.recordedTo
229
- ),
230
- pgCore.index(`${n.recordedIdentityAssertions}_a_idx`).on(
231
- t.graphId,
232
- t.aKind,
233
- t.aId,
234
- t.recordedFrom,
235
- t.recordedTo
236
- ),
237
- pgCore.index(`${n.recordedIdentityAssertions}_b_idx`).on(
238
- t.graphId,
239
- t.bKind,
240
- t.bId,
241
- t.recordedFrom,
242
- t.recordedTo
243
- )
244
- ]
245
- );
246
- const identityClosure = pgCore.pgTable(
247
- n.identityClosure,
248
- {
249
- graphId: pgCore.text("graph_id").notNull(),
250
- memberKind: pgCore.text("member_kind").notNull(),
251
- memberId: pgCore.text("member_id").notNull(),
252
- classKind: pgCore.text("class_kind").notNull(),
253
- classId: pgCore.text("class_id").notNull()
254
- },
255
- (t) => [
256
- pgCore.primaryKey({ columns: [t.graphId, t.memberKind, t.memberId] }),
257
- pgCore.index(`${n.identityClosure}_class_idx`).on(
258
- t.graphId,
259
- t.classKind,
260
- t.classId
261
- )
262
- ]
263
- );
264
- const identitySeparation = pgCore.pgTable(
265
- n.identitySeparation,
266
- {
267
- graphId: pgCore.text("graph_id").notNull(),
268
- classKeyLow: pgCore.text("class_key_low").notNull(),
269
- classKeyHigh: pgCore.text("class_key_high").notNull()
270
- },
271
- (t) => [
272
- pgCore.primaryKey({ columns: [t.graphId, t.classKeyLow, t.classKeyHigh] }),
273
- pgCore.index(`${n.identitySeparation}_high_idx`).on(t.graphId, t.classKeyHigh),
274
- pgCore.check(
275
- `${n.identitySeparation}_ordered_pair_check`,
276
- drizzleOrm.sql`class_key_low COLLATE "C" < class_key_high COLLATE "C"`
277
- )
278
- ]
279
- );
280
- const uniques3 = pgCore.pgTable(
281
- n.uniques,
282
- {
283
- graphId: pgCore.text("graph_id").notNull(),
284
- nodeKind: pgCore.text("node_kind").notNull(),
285
- constraintName: pgCore.text("constraint_name").notNull(),
286
- key: pgCore.text("key").notNull(),
287
- nodeId: pgCore.text("node_id").notNull(),
288
- concreteKind: pgCore.text("concrete_kind").notNull(),
289
- deletedAt: pgCore.timestamp("deleted_at", { withTimezone: true })
290
- },
291
- (t) => [
292
- pgCore.primaryKey({
293
- columns: [t.graphId, t.nodeKind, t.constraintName, t.key]
294
- }),
295
- pgCore.index(`${n.uniques}_node_idx`).on(t.graphId, t.concreteKind, t.nodeId)
296
- ]
297
- );
298
- const schemaVersions3 = pgCore.pgTable(
299
- n.schemaVersions,
300
- {
301
- graphId: pgCore.text("graph_id").notNull(),
302
- version: pgCore.integer("version").notNull(),
303
- schemaHash: pgCore.text("schema_hash").notNull(),
304
- schemaDoc: pgCore.jsonb("schema_doc").notNull(),
305
- createdAt: pgCore.timestamp("created_at", { withTimezone: true }).notNull(),
306
- isActive: pgCore.boolean("is_active").notNull().default(false)
307
- },
308
- (t) => [
309
- pgCore.primaryKey({ columns: [t.graphId, t.version] }),
310
- pgCore.index(`${n.schemaVersions}_active_idx`).on(t.graphId, t.isActive),
311
- // Partial unique index enforcing the "at most one active version
312
- // per graph" invariant at the storage layer. Defense in depth
313
- // against buggy backend implementations or out-of-band writes.
314
- // Forces the deactivate-then-activate ordering used by
315
- // `commitSchemaVersion` and `setActiveVersion`.
316
- pgCore.uniqueIndex(`${n.schemaVersions}_one_active_per_graph_idx`).on(t.graphId).where(drizzleOrm.sql`${t.isActive} = TRUE`)
317
- ]
318
- );
319
- const indexMaterializations = pgCore.pgTable(
320
- n.indexMaterializations,
321
- {
322
- indexName: pgCore.text("index_name").notNull(),
323
- graphId: pgCore.text("graph_id").notNull(),
324
- entity: pgCore.text("entity").notNull(),
325
- kind: pgCore.text("kind").notNull(),
326
- signature: pgCore.text("signature").notNull(),
327
- schemaVersion: pgCore.integer("schema_version").notNull(),
328
- materializedAt: pgCore.timestamp("materialized_at", { withTimezone: true }),
329
- lastAttemptedAt: pgCore.timestamp("last_attempted_at", {
330
- withTimezone: true
331
- }).notNull(),
332
- lastError: pgCore.text("last_error"),
333
- // Cross-caller build claim: while `building_since` is fresh (within
334
- // the lease), exactly one materializer owns this index's CREATE
335
- // INDEX CONCURRENTLY. Serializes same-index CIC across processes —
336
- // two concurrent expression-index CICs deadlock each other (no
337
- // safe-snapshot exemption). NULL when no build is in flight.
338
- buildingSince: pgCore.timestamp("building_since", { withTimezone: true }),
339
- claimToken: pgCore.text("claim_token")
340
- },
341
- (t) => [pgCore.primaryKey({ columns: [t.indexName] })]
342
- );
343
- const kindRemovals = pgCore.pgTable(
344
- n.kindRemovals,
345
- {
346
- graphId: pgCore.text("graph_id").notNull(),
347
- kindName: pgCore.text("kind_name").notNull(),
348
- entity: pgCore.text("entity").notNull(),
349
- schemaVersion: pgCore.integer("schema_version").notNull(),
350
- removedAt: pgCore.timestamp("removed_at", { withTimezone: true }),
351
- lastAttemptedAt: pgCore.timestamp("last_attempted_at", {
352
- withTimezone: true
353
- }).notNull(),
354
- lastError: pgCore.text("last_error")
355
- },
356
- (t) => [
357
- pgCore.primaryKey({
358
- columns: [t.graphId, t.kindName, t.entity, t.schemaVersion]
359
- })
360
- ]
361
- );
362
- const reconciliationMarkers = pgCore.pgTable(
363
- n.reconciliationMarkers,
364
- {
365
- graphId: pgCore.text("graph_id").notNull(),
366
- reconciledToVersion: pgCore.integer("reconciled_to_version").notNull()
367
- },
368
- (t) => [pgCore.primaryKey({ columns: [t.graphId] })]
369
- );
370
- const contributionMaterializations = pgCore.pgTable(
371
- n.contributionMaterializations,
372
- {
373
- graphId: pgCore.text("graph_id").notNull(),
374
- logicalName: pgCore.text("logical_name").notNull(),
375
- owner: pgCore.text("owner").notNull(),
376
- tableName: pgCore.text("table_name").notNull(),
377
- signature: pgCore.text("signature").notNull(),
378
- materializedAt: pgCore.timestamp("materialized_at", { withTimezone: true }),
379
- lastAttemptedAt: pgCore.timestamp("last_attempted_at", {
380
- withTimezone: true
381
- }).notNull(),
382
- lastError: pgCore.text("last_error")
383
- },
384
- (t) => [
385
- pgCore.primaryKey({
386
- columns: [t.graphId, t.logicalName, t.owner, t.tableName]
387
- })
388
- ]
389
- );
390
- const fulltext2 = pgCore.pgTable(
391
- n.fulltext,
392
- {
393
- graphId: pgCore.text("graph_id").notNull(),
394
- nodeKind: pgCore.text("node_kind").notNull(),
395
- nodeId: pgCore.text("node_id").notNull(),
396
- content: pgCore.text("content").notNull(),
397
- language: regconfig("language").notNull(),
398
- tsv: tsvector("tsv").generatedAlwaysAs(drizzleOrm.sql`to_tsvector("language", "content")`).notNull(),
399
- updatedAt: pgCore.timestamp("updated_at", { withTimezone: true }).notNull()
400
- },
401
- (t) => [
402
- pgCore.primaryKey({ columns: [t.graphId, t.nodeKind, t.nodeId] }),
403
- pgCore.index(`${n.fulltext}_tsv_idx`).using("gin", t.tsv),
404
- pgCore.index(`${n.fulltext}_kind_idx`).on(t.graphId, t.nodeKind)
405
- ]
406
- );
407
- return {
408
- nodes: nodes3,
409
- edges: edges3,
410
- recordedNodes: recordedNodes3,
411
- recordedEdges: recordedEdges3,
412
- recordedClock: recordedClock3,
413
- revisionOrigins,
414
- identityAssertions,
415
- recordedIdentityAssertions,
416
- identityClosure,
417
- identitySeparation,
418
- uniques: uniques3,
419
- schemaVersions: schemaVersions3,
420
- indexMaterializations,
421
- contributionMaterializations,
422
- kindRemovals,
423
- reconciliationMarkers,
424
- fulltext: fulltext2,
425
- fulltextTableName: n.fulltext
426
- };
427
- }
428
- var tables = createPostgresTables();
429
- var {
430
- nodes,
431
- edges,
432
- recordedNodes,
433
- recordedEdges,
434
- recordedClock,
435
- uniques,
436
- schemaVersions,
437
- fulltext
438
- } = tables;
439
- var LEGACY_EMBEDDINGS_TABLE_NAME = "typegraph_node_embeddings";
440
- var DEFAULT_TABLE_NAMES2 = {
441
- nodes: "typegraph_nodes",
442
- edges: "typegraph_edges",
443
- recordedNodes: "typegraph_recorded_nodes",
444
- recordedEdges: "typegraph_recorded_edges",
445
- recordedClock: "typegraph_recorded_clock",
446
- revisionOrigins: "typegraph_revision_origins",
447
- identityAssertions: "typegraph_identity_assertions",
448
- recordedIdentityAssertions: "typegraph_recorded_identity_assertions",
449
- identityClosure: "typegraph_identity_closure",
450
- identitySeparation: "typegraph_identity_separation",
451
- uniques: "typegraph_node_uniques",
452
- schemaVersions: "typegraph_schema_versions",
453
- fulltext: "typegraph_node_fulltext",
454
- indexMaterializations: "typegraph_index_materializations",
455
- contributionMaterializations: "typegraph_contribution_materializations",
456
- kindRemovals: "typegraph_kind_removals",
457
- reconciliationMarkers: "typegraph_reconciliation_markers"
458
- };
459
- function createSqliteTables(names = {}, options = {}) {
460
- const n = { ...DEFAULT_TABLE_NAMES2, ...names };
461
- const indexes = options.indexes ?? [];
462
- chunkOI2GQ25X_cjs.assertNoSystemIndexNameCollision(indexes, n);
463
- const nodes3 = sqliteCore.sqliteTable(
464
- n.nodes,
465
- {
466
- graphId: sqliteCore.text("graph_id").notNull(),
467
- kind: sqliteCore.text("kind").notNull(),
468
- id: sqliteCore.text("id").notNull(),
469
- props: sqliteCore.text("props").notNull(),
470
- version: sqliteCore.integer("version").notNull().default(1),
471
- validFrom: sqliteCore.text("valid_from"),
472
- validTo: sqliteCore.text("valid_to"),
473
- createdAt: sqliteCore.text("created_at").notNull(),
474
- updatedAt: sqliteCore.text("updated_at").notNull(),
475
- deletedAt: sqliteCore.text("deleted_at")
476
- },
477
- (t) => [
478
- sqliteCore.primaryKey({ columns: [t.graphId, t.kind, t.id] }),
479
- // System indexes come from SYSTEM_INDEX_DECLARATIONS (single source
480
- // for both dialects + the runtime materializer).
481
- ...chunkWODMN3Q2_cjs.buildSqliteSystemIndexBuilders("nodes", n.nodes, t),
482
- ...chunkWODMN3Q2_cjs.buildSqliteNodeIndexBuilders(t, indexes)
483
- ]
484
- );
485
- const edges3 = sqliteCore.sqliteTable(
486
- n.edges,
487
- {
488
- graphId: sqliteCore.text("graph_id").notNull(),
489
- id: sqliteCore.text("id").notNull(),
490
- kind: sqliteCore.text("kind").notNull(),
491
- fromKind: sqliteCore.text("from_kind").notNull(),
492
- fromId: sqliteCore.text("from_id").notNull(),
493
- toKind: sqliteCore.text("to_kind").notNull(),
494
- toId: sqliteCore.text("to_id").notNull(),
495
- props: sqliteCore.text("props").notNull(),
496
- validFrom: sqliteCore.text("valid_from"),
497
- validTo: sqliteCore.text("valid_to"),
498
- createdAt: sqliteCore.text("created_at").notNull(),
499
- updatedAt: sqliteCore.text("updated_at").notNull(),
500
- deletedAt: sqliteCore.text("deleted_at")
501
- },
502
- (t) => [
503
- sqliteCore.primaryKey({ columns: [t.graphId, t.id] }),
504
- ...chunkWODMN3Q2_cjs.buildSqliteSystemIndexBuilders("edges", n.edges, t),
505
- ...chunkWODMN3Q2_cjs.buildSqliteEdgeIndexBuilders(t, indexes)
506
- ]
507
- );
508
- const recordedNodes3 = sqliteCore.sqliteTable(
509
- n.recordedNodes,
510
- {
511
- historyId: sqliteCore.text("history_id").notNull(),
512
- graphId: sqliteCore.text("graph_id").notNull(),
513
- kind: sqliteCore.text("kind").notNull(),
514
- id: sqliteCore.text("id").notNull(),
515
- props: sqliteCore.text("props").notNull(),
516
- version: sqliteCore.integer("version").notNull(),
517
- validFrom: sqliteCore.text("valid_from"),
518
- validTo: sqliteCore.text("valid_to"),
519
- createdAt: sqliteCore.text("created_at").notNull(),
520
- updatedAt: sqliteCore.text("updated_at").notNull(),
521
- deletedAt: sqliteCore.text("deleted_at"),
522
- recordedFrom: sqliteCore.integer("recorded_from").notNull(),
523
- recordedTo: sqliteCore.integer("recorded_to").notNull(),
524
- op: sqliteCore.text("op").notNull(),
525
- schemaVersion: sqliteCore.integer("schema_version"),
526
- txId: sqliteCore.text("tx_id"),
527
- meta: sqliteCore.text("meta")
528
- },
529
- (t) => [
530
- sqliteCore.primaryKey({ columns: [t.historyId] }),
531
- ...chunkWODMN3Q2_cjs.buildSqliteSystemIndexBuilders("recordedNodes", n.recordedNodes, t)
532
- ]
533
- );
534
- const recordedEdges3 = sqliteCore.sqliteTable(
535
- n.recordedEdges,
536
- {
537
- historyId: sqliteCore.text("history_id").notNull(),
538
- graphId: sqliteCore.text("graph_id").notNull(),
539
- id: sqliteCore.text("id").notNull(),
540
- kind: sqliteCore.text("kind").notNull(),
541
- fromKind: sqliteCore.text("from_kind").notNull(),
542
- fromId: sqliteCore.text("from_id").notNull(),
543
- toKind: sqliteCore.text("to_kind").notNull(),
544
- toId: sqliteCore.text("to_id").notNull(),
545
- props: sqliteCore.text("props").notNull(),
546
- validFrom: sqliteCore.text("valid_from"),
547
- validTo: sqliteCore.text("valid_to"),
548
- createdAt: sqliteCore.text("created_at").notNull(),
549
- updatedAt: sqliteCore.text("updated_at").notNull(),
550
- deletedAt: sqliteCore.text("deleted_at"),
551
- recordedFrom: sqliteCore.integer("recorded_from").notNull(),
552
- recordedTo: sqliteCore.integer("recorded_to").notNull(),
553
- op: sqliteCore.text("op").notNull(),
554
- schemaVersion: sqliteCore.integer("schema_version"),
555
- txId: sqliteCore.text("tx_id"),
556
- meta: sqliteCore.text("meta")
557
- },
558
- (t) => [
559
- sqliteCore.primaryKey({ columns: [t.historyId] }),
560
- ...chunkWODMN3Q2_cjs.buildSqliteSystemIndexBuilders("recordedEdges", n.recordedEdges, t)
561
- ]
562
- );
563
- const recordedClock3 = sqliteCore.sqliteTable(
564
- n.recordedClock,
565
- {
566
- graphId: sqliteCore.text("graph_id").notNull(),
567
- revision: sqliteCore.integer("revision").notNull(),
568
- recordedAt: sqliteCore.text("recorded_at").notNull()
569
- },
570
- (t) => [sqliteCore.primaryKey({ columns: [t.graphId] })]
571
- );
572
- const revisionOrigins = sqliteCore.sqliteTable(
573
- n.revisionOrigins,
574
- {
575
- graphId: sqliteCore.text("graph_id").notNull(),
576
- origin: sqliteCore.text("origin").notNull()
577
- },
578
- (t) => [sqliteCore.primaryKey({ columns: [t.graphId] })]
579
- );
580
- const identityAssertions = sqliteCore.sqliteTable(
581
- n.identityAssertions,
582
- {
583
- graphId: sqliteCore.text("graph_id").notNull(),
584
- id: sqliteCore.text("id").notNull(),
585
- relation: sqliteCore.text("rel").notNull(),
586
- aKind: sqliteCore.text("a_kind").notNull(),
587
- aId: sqliteCore.text("a_id").notNull(),
588
- bKind: sqliteCore.text("b_kind").notNull(),
589
- bId: sqliteCore.text("b_id").notNull(),
590
- validFrom: sqliteCore.text("valid_from").notNull(),
591
- validTo: sqliteCore.text("valid_to"),
592
- createdAt: sqliteCore.text("created_at").notNull(),
593
- updatedAt: sqliteCore.text("updated_at").notNull(),
594
- deletedAt: sqliteCore.text("deleted_at"),
595
- endedByKind: sqliteCore.text("ended_by_kind"),
596
- endedById: sqliteCore.text("ended_by_id")
597
- },
598
- (t) => [
599
- sqliteCore.primaryKey({ columns: [t.graphId, t.id] }),
600
- sqliteCore.index(`${n.identityAssertions}_a_idx`).on(
601
- t.graphId,
602
- t.aKind,
603
- t.aId,
604
- t.validTo
605
- ),
606
- sqliteCore.index(`${n.identityAssertions}_b_idx`).on(
607
- t.graphId,
608
- t.bKind,
609
- t.bId,
610
- t.validTo
611
- ),
612
- sqliteCore.uniqueIndex(`${n.identityAssertions}_current_pair_idx`).on(t.graphId, t.relation, t.aKind, t.aId, t.bKind, t.bId).where(drizzleOrm.sql`${t.validTo} IS NULL`),
613
- sqliteCore.check(
614
- `${n.identityAssertions}_ended_by_check`,
615
- drizzleOrm.sql`(ended_by_kind IS NULL) = (ended_by_id IS NULL) AND (ended_by_kind IS NULL OR (valid_to IS NOT NULL AND ((ended_by_kind = a_kind AND ended_by_id = a_id) OR (ended_by_kind = b_kind AND ended_by_id = b_id))))`
616
- )
617
- ]
618
- );
619
- const recordedIdentityAssertions = sqliteCore.sqliteTable(
620
- n.recordedIdentityAssertions,
621
- {
622
- historyId: sqliteCore.text("history_id").notNull(),
623
- graphId: sqliteCore.text("graph_id").notNull(),
624
- id: sqliteCore.text("id").notNull(),
625
- relation: sqliteCore.text("rel").notNull(),
626
- aKind: sqliteCore.text("a_kind").notNull(),
627
- aId: sqliteCore.text("a_id").notNull(),
628
- bKind: sqliteCore.text("b_kind").notNull(),
629
- bId: sqliteCore.text("b_id").notNull(),
630
- validFrom: sqliteCore.text("valid_from").notNull(),
631
- validTo: sqliteCore.text("valid_to"),
632
- createdAt: sqliteCore.text("created_at").notNull(),
633
- updatedAt: sqliteCore.text("updated_at").notNull(),
634
- deletedAt: sqliteCore.text("deleted_at"),
635
- endedByKind: sqliteCore.text("ended_by_kind"),
636
- endedById: sqliteCore.text("ended_by_id"),
637
- recordedFrom: sqliteCore.integer("recorded_from").notNull(),
638
- recordedTo: sqliteCore.integer("recorded_to").notNull(),
639
- op: sqliteCore.text("op").notNull(),
640
- schemaVersion: sqliteCore.integer("schema_version"),
641
- txId: sqliteCore.text("tx_id"),
642
- meta: sqliteCore.text("meta")
643
- },
644
- (t) => [
645
- sqliteCore.primaryKey({ columns: [t.historyId] }),
646
- sqliteCore.index(`${n.recordedIdentityAssertions}_entity_idx`).on(
647
- t.graphId,
648
- t.id,
649
- t.recordedFrom,
650
- t.recordedTo
651
- ),
652
- sqliteCore.index(`${n.recordedIdentityAssertions}_a_idx`).on(
653
- t.graphId,
654
- t.aKind,
655
- t.aId,
656
- t.recordedFrom,
657
- t.recordedTo
658
- ),
659
- sqliteCore.index(`${n.recordedIdentityAssertions}_b_idx`).on(
660
- t.graphId,
661
- t.bKind,
662
- t.bId,
663
- t.recordedFrom,
664
- t.recordedTo
665
- )
666
- ]
667
- );
668
- const identityClosure = sqliteCore.sqliteTable(
669
- n.identityClosure,
670
- {
671
- graphId: sqliteCore.text("graph_id").notNull(),
672
- memberKind: sqliteCore.text("member_kind").notNull(),
673
- memberId: sqliteCore.text("member_id").notNull(),
674
- classKind: sqliteCore.text("class_kind").notNull(),
675
- classId: sqliteCore.text("class_id").notNull()
676
- },
677
- (t) => [
678
- sqliteCore.primaryKey({ columns: [t.graphId, t.memberKind, t.memberId] }),
679
- sqliteCore.index(`${n.identityClosure}_class_idx`).on(
680
- t.graphId,
681
- t.classKind,
682
- t.classId
683
- )
684
- ]
685
- );
686
- const identitySeparation = sqliteCore.sqliteTable(
687
- n.identitySeparation,
688
- {
689
- graphId: sqliteCore.text("graph_id").notNull(),
690
- classKeyLow: sqliteCore.text("class_key_low").notNull(),
691
- classKeyHigh: sqliteCore.text("class_key_high").notNull()
692
- },
693
- (t) => [
694
- sqliteCore.primaryKey({ columns: [t.graphId, t.classKeyLow, t.classKeyHigh] }),
695
- sqliteCore.index(`${n.identitySeparation}_high_idx`).on(t.graphId, t.classKeyHigh),
696
- sqliteCore.check(
697
- `${n.identitySeparation}_ordered_pair_check`,
698
- drizzleOrm.sql`class_key_low < class_key_high`
699
- )
700
- ]
701
- );
702
- const uniques3 = sqliteCore.sqliteTable(
703
- n.uniques,
704
- {
705
- graphId: sqliteCore.text("graph_id").notNull(),
706
- nodeKind: sqliteCore.text("node_kind").notNull(),
707
- constraintName: sqliteCore.text("constraint_name").notNull(),
708
- key: sqliteCore.text("key").notNull(),
709
- nodeId: sqliteCore.text("node_id").notNull(),
710
- concreteKind: sqliteCore.text("concrete_kind").notNull(),
711
- deletedAt: sqliteCore.text("deleted_at")
712
- },
713
- (t) => [
714
- sqliteCore.primaryKey({
715
- columns: [t.graphId, t.nodeKind, t.constraintName, t.key]
716
- }),
717
- sqliteCore.index(`${n.uniques}_node_idx`).on(t.graphId, t.concreteKind, t.nodeId)
718
- ]
719
- );
720
- const schemaVersions3 = sqliteCore.sqliteTable(
721
- n.schemaVersions,
722
- {
723
- graphId: sqliteCore.text("graph_id").notNull(),
724
- version: sqliteCore.integer("version").notNull(),
725
- schemaHash: sqliteCore.text("schema_hash").notNull(),
726
- schemaDoc: sqliteCore.text("schema_doc").notNull(),
727
- createdAt: sqliteCore.text("created_at").notNull(),
728
- isActive: sqliteCore.integer("is_active", { mode: "boolean" }).notNull().default(false)
729
- },
730
- (t) => [
731
- sqliteCore.primaryKey({ columns: [t.graphId, t.version] }),
732
- sqliteCore.index(`${n.schemaVersions}_active_idx`).on(t.graphId, t.isActive),
733
- // Partial unique index enforcing the "at most one active version
734
- // per graph" invariant at the storage layer. Defense in depth
735
- // against buggy backend implementations or out-of-band writes.
736
- // Forces the deactivate-then-activate ordering used by
737
- // `commitSchemaVersion` and `setActiveVersion`.
738
- sqliteCore.uniqueIndex(`${n.schemaVersions}_one_active_per_graph_idx`).on(t.graphId).where(drizzleOrm.sql`${t.isActive} = 1`)
739
- ]
740
- );
741
- const indexMaterializations = sqliteCore.sqliteTable(
742
- n.indexMaterializations,
743
- {
744
- indexName: sqliteCore.text("index_name").notNull(),
745
- graphId: sqliteCore.text("graph_id").notNull(),
746
- entity: sqliteCore.text("entity").notNull(),
747
- kind: sqliteCore.text("kind").notNull(),
748
- signature: sqliteCore.text("signature").notNull(),
749
- schemaVersion: sqliteCore.integer("schema_version").notNull(),
750
- materializedAt: sqliteCore.text("materialized_at"),
751
- lastAttemptedAt: sqliteCore.text("last_attempted_at").notNull(),
752
- lastError: sqliteCore.text("last_error")
753
- },
754
- (t) => [sqliteCore.primaryKey({ columns: [t.indexName] })]
755
- );
756
- const kindRemovals = sqliteCore.sqliteTable(
757
- n.kindRemovals,
758
- {
759
- graphId: sqliteCore.text("graph_id").notNull(),
760
- kindName: sqliteCore.text("kind_name").notNull(),
761
- entity: sqliteCore.text("entity").notNull(),
762
- schemaVersion: sqliteCore.integer("schema_version").notNull(),
763
- removedAt: sqliteCore.text("removed_at"),
764
- lastAttemptedAt: sqliteCore.text("last_attempted_at").notNull(),
765
- lastError: sqliteCore.text("last_error")
766
- },
767
- (t) => [
768
- sqliteCore.primaryKey({
769
- columns: [t.graphId, t.kindName, t.entity, t.schemaVersion]
770
- })
771
- ]
772
- );
773
- const reconciliationMarkers = sqliteCore.sqliteTable(
774
- n.reconciliationMarkers,
775
- {
776
- graphId: sqliteCore.text("graph_id").notNull(),
777
- reconciledToVersion: sqliteCore.integer("reconciled_to_version").notNull()
778
- },
779
- (t) => [sqliteCore.primaryKey({ columns: [t.graphId] })]
780
- );
781
- const contributionMaterializations = sqliteCore.sqliteTable(
782
- n.contributionMaterializations,
783
- {
784
- graphId: sqliteCore.text("graph_id").notNull(),
785
- logicalName: sqliteCore.text("logical_name").notNull(),
786
- owner: sqliteCore.text("owner").notNull(),
787
- tableName: sqliteCore.text("table_name").notNull(),
788
- signature: sqliteCore.text("signature").notNull(),
789
- materializedAt: sqliteCore.text("materialized_at"),
790
- lastAttemptedAt: sqliteCore.text("last_attempted_at").notNull(),
791
- lastError: sqliteCore.text("last_error")
792
- },
793
- (t) => [
794
- sqliteCore.primaryKey({
795
- columns: [t.graphId, t.logicalName, t.owner, t.tableName]
796
- })
797
- ]
798
- );
799
- return {
800
- nodes: nodes3,
801
- edges: edges3,
802
- recordedNodes: recordedNodes3,
803
- recordedEdges: recordedEdges3,
804
- recordedClock: recordedClock3,
805
- revisionOrigins,
806
- identityAssertions,
807
- recordedIdentityAssertions,
808
- identityClosure,
809
- identitySeparation,
810
- uniques: uniques3,
811
- schemaVersions: schemaVersions3,
812
- indexMaterializations,
813
- contributionMaterializations,
814
- kindRemovals,
815
- reconciliationMarkers,
816
- /**
817
- * The fulltext storage is a FTS5 virtual table which Drizzle cannot
818
- * represent. DDL is emitted as raw SQL and operations query it via
819
- * `sql.raw()`.
820
- */
821
- fulltextTableName: n.fulltext
822
- };
823
- }
824
- var tables2 = createSqliteTables();
825
- var {
826
- nodes: nodes2,
827
- edges: edges2,
828
- recordedNodes: recordedNodes2,
829
- recordedEdges: recordedEdges2,
830
- recordedClock: recordedClock2,
831
- uniques: uniques2,
832
- schemaVersions: schemaVersions2
833
- } = tables2;
834
- function getSqliteColumnType(column) {
835
- switch (column.columnType) {
836
- case "SQLiteText": {
837
- return "TEXT";
838
- }
839
- case "SQLiteInteger": {
840
- return "INTEGER";
841
- }
842
- case "SQLiteReal": {
843
- return "REAL";
844
- }
845
- case "SQLiteBlob": {
846
- return "BLOB";
847
- }
848
- default: {
849
- return "TEXT";
850
- }
851
- }
852
- }
853
- function formatDefaultValue(value) {
854
- if (value === null) return "NULL";
855
- if (typeof value === "string") return `'${value}'`;
856
- if (typeof value === "number") return String(value);
857
- if (typeof value === "boolean") return value ? "1" : "0";
858
- return JSON.stringify(value);
859
- }
860
- function generateSqliteCreateTableSQL(table) {
861
- const config = sqliteCore.getTableConfig(table);
862
- const columnDefs = [];
863
- for (const column of config.columns) {
864
- const parts = [
865
- `"${column.name}"`,
866
- getSqliteColumnType(column)
867
- ];
868
- if (column.notNull) {
869
- parts.push("NOT NULL");
870
- }
871
- if (column.hasDefault && column.default !== void 0) {
872
- parts.push(`DEFAULT ${formatDefaultValue(column.default)}`);
873
- }
874
- columnDefs.push(parts.join(" "));
875
- }
876
- const pk = config.primaryKeys[0];
877
- if (pk) {
878
- const pkColumns = pk.columns.map((c) => `"${c.name}"`).join(", ");
879
- columnDefs.push(`PRIMARY KEY (${pkColumns})`);
880
- }
881
- columnDefs.push(...renderTableChecks(config.checks, config.name));
882
- return `CREATE TABLE IF NOT EXISTS "${config.name}" (
883
- ${columnDefs.join(",\n ")}
884
- );`;
885
- }
886
- function renderTableChecks(checks, tableName) {
887
- return checks.map(
888
- (check3) => `CONSTRAINT "${check3.name}" CHECK (${inlineSqlOrThrow(
889
- check3.value,
890
- `table "${tableName}" CHECK constraint "${check3.name}"`
891
- )})`
892
- );
893
- }
894
- function renderIndexColumn(col) {
895
- if (col && typeof col === "object" && "name" in col) {
896
- return `"${col.name}"`;
897
- }
898
- const sql3 = tryInlineSql(col);
899
- if (sql3 !== void 0) {
900
- return sql3;
901
- }
902
- return "unknown";
903
- }
904
- function tryInlineSql(value) {
905
- if (value && typeof value === "object" && "getSQL" in value) {
906
- const maybe = value;
907
- if (typeof maybe.getSQL === "function") {
908
- return inlineSql(maybe.getSQL());
909
- }
910
- }
911
- return inlineSql(value);
912
- }
913
- function flattenSqlChunk(chunk) {
914
- if (typeof chunk === "string") {
915
- return chunk;
916
- }
917
- if (typeof chunk === "object" && chunk !== null) {
918
- if ("name" in chunk && typeof chunk.name === "string") {
919
- return `"${chunk.name}"`;
920
- }
921
- if ("value" in chunk) {
922
- const value = chunk.value;
923
- if (typeof value === "string") {
924
- return value;
925
- }
926
- if (Array.isArray(value)) {
927
- return value.map((part) => flattenSqlChunk(part)).join("");
928
- }
929
- }
930
- if ("queryChunks" in chunk && Array.isArray(chunk.queryChunks)) {
931
- return chunk.queryChunks.map((part) => flattenSqlChunk(part)).join("");
932
- }
933
- if ("getSQL" in chunk) {
934
- const maybe = chunk;
935
- if (typeof maybe.getSQL === "function") {
936
- return flattenSqlChunk(maybe.getSQL());
937
- }
938
- }
939
- }
940
- throw new Error(`Unable to inline SQL chunk: ${String(chunk)}`);
941
- }
942
- function inlineSql(value) {
943
- try {
944
- return flattenSqlChunk(value);
945
- } catch {
946
- return void 0;
947
- }
948
- }
949
- function inlineSqlOrThrow(value, context) {
950
- const inlined = inlineSql(value);
951
- if (inlined === void 0) {
952
- throw new Error(`Unable to inline SQL for ${context}`);
953
- }
954
- return inlined;
955
- }
956
- function generateSqliteCreateIndexSQL(table) {
957
- const config = sqliteCore.getTableConfig(table);
958
- const statements = [];
959
- for (const index3 of config.indexes) {
960
- const indexConfig = index3.config;
961
- const columns = indexConfig.columns.map((c) => renderIndexColumn(c)).join(", ");
962
- const unique = indexConfig.unique ? "UNIQUE " : "";
963
- const where = indexConfig.where ? ` WHERE ${inlineSqlOrThrow(indexConfig.where, `SQLite index "${indexConfig.name}" WHERE clause`)}` : "";
964
- statements.push(
965
- `CREATE ${unique}INDEX IF NOT EXISTS "${indexConfig.name}" ON "${config.name}" (${columns})${where};`
966
- );
967
- }
968
- return statements;
969
- }
970
- function isSqliteTable(value) {
971
- return drizzleOrm.is(value, sqliteCore.SQLiteTable);
972
- }
973
- function runtimeStrategyContributions(fulltextStrategy, fulltextTableName) {
974
- return fulltextStrategy.ownedTables(fulltextTableName).filter((contribution) => contribution.runtimeEnsure);
975
- }
976
- function sqliteContributions(tables3 = tables2, fulltextStrategy = chunkL3LQNR34_cjs.fts5Strategy) {
977
- const contributions = [];
978
- for (const [key, table] of Object.entries(tables3)) {
979
- if (!isSqliteTable(table)) continue;
980
- contributions.push({
981
- logicalName: key,
982
- owner: chunkL3LQNR34_cjs.BASE_CONTRIBUTION_OWNER,
983
- tableName: sqliteCore.getTableConfig(table).name,
984
- createDdl: [
985
- generateSqliteCreateTableSQL(table),
986
- ...generateSqliteCreateIndexSQL(table)
987
- ],
988
- runtimeEnsure: false
989
- });
990
- }
991
- for (const declared of fulltextStrategy.ownedTables(
992
- tables3.fulltextTableName
993
- )) {
994
- contributions.push(declared);
995
- }
996
- return contributions;
997
- }
998
- function generateSqliteDDL(tables3 = tables2, fulltextStrategy = chunkL3LQNR34_cjs.fts5Strategy) {
999
- return sqliteContributions(tables3, fulltextStrategy).flatMap(
1000
- (contribution) => [...contribution.createDdl]
1001
- );
1002
- }
1003
- function generateSqliteMigrationSQL(tables3 = tables2, fulltextStrategy = chunkL3LQNR34_cjs.fts5Strategy) {
1004
- return generateSqliteDDL(tables3, fulltextStrategy).join("\n\n");
1005
- }
1006
- function getPgColumnType(column) {
1007
- switch (column.columnType) {
1008
- case "PgText": {
1009
- return "TEXT";
1010
- }
1011
- case "PgInteger": {
1012
- return "INTEGER";
1013
- }
1014
- case "PgBigInt53":
1015
- case "PgBigInt64": {
1016
- return "BIGINT";
1017
- }
1018
- case "PgBoolean": {
1019
- return "BOOLEAN";
1020
- }
1021
- case "PgJsonb": {
1022
- return "JSONB";
1023
- }
1024
- case "PgTimestamp": {
1025
- return column.config?.withTimezone ? "TIMESTAMPTZ" : "TIMESTAMP";
1026
- }
1027
- case "PgReal": {
1028
- return "REAL";
1029
- }
1030
- case "PgDoublePrecision": {
1031
- return "DOUBLE PRECISION";
1032
- }
1033
- case "PgCustomColumn": {
1034
- const dataType = column.getSQLType?.();
1035
- return dataType ?? "TEXT";
1036
- }
1037
- default: {
1038
- return "TEXT";
1039
- }
1040
- }
1041
- }
1042
- function formatPgDefaultValue(value) {
1043
- if (value === null) return "NULL";
1044
- if (typeof value === "string") return `'${value}'`;
1045
- if (typeof value === "number") return String(value);
1046
- if (typeof value === "boolean") return value ? "TRUE" : "FALSE";
1047
- return JSON.stringify(value);
1048
- }
1049
- function generatePgCreateTableSQL(table) {
1050
- const config = pgCore.getTableConfig(table);
1051
- const columnDefs = [];
1052
- for (const column of config.columns) {
1053
- const parts = [`"${column.name}"`, getPgColumnType(column)];
1054
- if (column.notNull) {
1055
- parts.push("NOT NULL");
1056
- }
1057
- if (column.hasDefault && column.default !== void 0) {
1058
- parts.push(`DEFAULT ${formatPgDefaultValue(column.default)}`);
1059
- }
1060
- columnDefs.push(parts.join(" "));
1061
- }
1062
- const pk = config.primaryKeys[0];
1063
- if (pk) {
1064
- const pkColumns = pk.columns.map((c) => `"${c.name}"`).join(", ");
1065
- columnDefs.push(`PRIMARY KEY (${pkColumns})`);
1066
- }
1067
- columnDefs.push(...renderTableChecks(config.checks, config.name));
1068
- return `CREATE TABLE IF NOT EXISTS "${config.name}" (
1069
- ${columnDefs.join(",\n ")}
1070
- );`;
1071
- }
1072
- function generatePgCreateIndexSQL(table) {
1073
- const config = pgCore.getTableConfig(table);
1074
- const statements = [];
1075
- for (const index3 of config.indexes) {
1076
- const indexConfig = index3.config;
1077
- const columns = indexConfig.columns.map((c) => renderIndexColumn(c)).join(", ");
1078
- const unique = indexConfig.unique ? "UNIQUE " : "";
1079
- const method = indexConfig.method && indexConfig.method !== "btree" ? ` USING ${indexConfig.method}` : "";
1080
- const where = indexConfig.where ? ` WHERE ${inlineSqlOrThrow(indexConfig.where, `PostgreSQL index "${indexConfig.name}" WHERE clause`)}` : "";
1081
- statements.push(
1082
- `CREATE ${unique}INDEX IF NOT EXISTS "${indexConfig.name}" ON "${config.name}"${method} (${columns})${where};`
1083
- );
1084
- }
1085
- return statements;
1086
- }
1087
- function isPgTable(value) {
1088
- return drizzleOrm.is(value, pgCore.PgTable);
1089
- }
1090
- function postgresContributions(tables3 = tables, fulltextStrategy = chunkL3LQNR34_cjs.tsvectorStrategy) {
1091
- const contributions = [];
1092
- for (const [key, table] of Object.entries(tables3)) {
1093
- if (!isPgTable(table)) continue;
1094
- if (table === tables3.fulltext) continue;
1095
- contributions.push({
1096
- logicalName: key,
1097
- owner: chunkL3LQNR34_cjs.BASE_CONTRIBUTION_OWNER,
1098
- tableName: pgCore.getTableConfig(table).name,
1099
- createDdl: [
1100
- generatePgCreateTableSQL(table),
1101
- ...generatePgCreateIndexSQL(table)
1102
- ],
1103
- runtimeEnsure: false
1104
- });
1105
- }
1106
- for (const declared of fulltextStrategy.ownedTables(
1107
- tables3.fulltextTableName
1108
- )) {
1109
- contributions.push(declared);
1110
- }
1111
- return contributions;
1112
- }
1113
- function generatePostgresDDL(tables3 = tables, fulltextStrategy = chunkL3LQNR34_cjs.tsvectorStrategy) {
1114
- return postgresContributions(tables3, fulltextStrategy).flatMap(
1115
- (contribution) => [...contribution.createDdl]
1116
- );
1117
- }
1118
- function generatePostgresMigrationSQL(tables3 = tables, fulltextStrategy = chunkL3LQNR34_cjs.tsvectorStrategy) {
1119
- const extensionSql = "-- Enable pgvector extension for vector similarity search\nCREATE EXTENSION IF NOT EXISTS vector;";
1120
- const ddlSql = generatePostgresDDL(tables3, fulltextStrategy).join("\n\n");
1121
- return `${extensionSql}
1122
-
1123
- ${ddlSql}`;
1124
- }
1125
-
1126
- exports.LEGACY_EMBEDDINGS_TABLE_NAME = LEGACY_EMBEDDINGS_TABLE_NAME;
1127
- exports.createPostgresTables = createPostgresTables;
1128
- exports.createSqliteTables = createSqliteTables;
1129
- exports.edges = edges;
1130
- exports.edges2 = edges2;
1131
- exports.fulltext = fulltext;
1132
- exports.generatePgCreateTableSQL = generatePgCreateTableSQL;
1133
- exports.generatePostgresDDL = generatePostgresDDL;
1134
- exports.generatePostgresMigrationSQL = generatePostgresMigrationSQL;
1135
- exports.generateSqliteCreateTableSQL = generateSqliteCreateTableSQL;
1136
- exports.generateSqliteDDL = generateSqliteDDL;
1137
- exports.generateSqliteMigrationSQL = generateSqliteMigrationSQL;
1138
- exports.nodes = nodes;
1139
- exports.nodes2 = nodes2;
1140
- exports.postgresContributions = postgresContributions;
1141
- exports.recordedClock = recordedClock;
1142
- exports.recordedClock2 = recordedClock2;
1143
- exports.recordedEdges = recordedEdges;
1144
- exports.recordedEdges2 = recordedEdges2;
1145
- exports.recordedNodes = recordedNodes;
1146
- exports.recordedNodes2 = recordedNodes2;
1147
- exports.runtimeStrategyContributions = runtimeStrategyContributions;
1148
- exports.schemaVersions = schemaVersions;
1149
- exports.schemaVersions2 = schemaVersions2;
1150
- exports.sqliteContributions = sqliteContributions;
1151
- exports.tables = tables;
1152
- exports.tables2 = tables2;
1153
- exports.uniques = uniques;
1154
- exports.uniques2 = uniques2;
1155
- //# sourceMappingURL=chunk-HDL2ARHX.cjs.map
1156
- //# sourceMappingURL=chunk-HDL2ARHX.cjs.map