@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,934 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkEZEEWCFJ_cjs = require('./chunk-EZEEWCFJ.cjs');
4
- var chunk5PRKMB24_cjs = require('./chunk-5PRKMB24.cjs');
5
- var chunkFQPEMEWX_cjs = require('./chunk-FQPEMEWX.cjs');
6
- var chunkEDN4Y4ZG_cjs = require('./chunk-EDN4Y4ZG.cjs');
7
- var chunkHAHNRASW_cjs = require('./chunk-HAHNRASW.cjs');
8
- var chunkMRDBBHIZ_cjs = require('./chunk-MRDBBHIZ.cjs');
9
- var chunkN66HCGCY_cjs = require('./chunk-N66HCGCY.cjs');
10
-
11
- // src/store/types.ts
12
- var AUTO_REFRESH_STATISTICS_ROW_THRESHOLD = 1e3;
13
- var TRANSACTION_RUNTIME = chunkEDN4Y4ZG_cjs.typeGraphGlobalSymbol(
14
- "transaction-runtime-v1"
15
- );
16
-
17
- // src/store/runtime-port.ts
18
- var STORE_RUNTIME = chunkEDN4Y4ZG_cjs.typeGraphGlobalSymbol("store-runtime-v1");
19
- function storeRuntime(store) {
20
- const runtime = store[STORE_RUNTIME];
21
- if (runtime === void 0) {
22
- throw new TypeError(
23
- "Cannot access this Store's runtime port. The Store may come from an incompatible TypeGraph version."
24
- );
25
- }
26
- return runtime;
27
- }
28
- function storeBackend(store) {
29
- return storeRuntime(store).backend;
30
- }
31
- function transactionBackend(transaction) {
32
- const runtime = transaction[TRANSACTION_RUNTIME];
33
- if (runtime === void 0) {
34
- throw new TypeError(
35
- "Cannot access this transaction's runtime port. The transaction may come from an incompatible TypeGraph version."
36
- );
37
- }
38
- return runtime.backend;
39
- }
40
- function transactionNodeOperationHookRunner(transaction) {
41
- const runtime = transaction[TRANSACTION_RUNTIME];
42
- if (runtime === void 0) {
43
- throw new TypeError(
44
- "Cannot access this transaction's runtime port. The transaction may come from an incompatible TypeGraph version."
45
- );
46
- }
47
- return runtime.runNodeOperationHooks;
48
- }
49
-
50
- // src/store/embedding-sync.ts
51
- var embeddingFieldsCache = /* @__PURE__ */ new WeakMap();
52
- function getEmbeddingFields(schema) {
53
- const cached = embeddingFieldsCache.get(schema);
54
- if (cached) return cached;
55
- const fields = chunkHAHNRASW_cjs.resolveEmbeddingFields(schema);
56
- embeddingFieldsCache.set(schema, fields);
57
- return fields;
58
- }
59
- async function syncEmbeddings(ctx, schema, props) {
60
- const { backend } = ctx;
61
- if (!backend.upsertEmbedding || !backend.deleteEmbedding) {
62
- return;
63
- }
64
- const embeddingFields = getEmbeddingFields(schema);
65
- if (embeddingFields.length === 0) {
66
- return;
67
- }
68
- for (const field of embeddingFields) {
69
- const value = chunkN66HCGCY_cjs.readOwnProperty(props, field.fieldPath);
70
- if (isValidEmbeddingValue(value)) {
71
- await backend.upsertEmbedding({
72
- graphId: ctx.graphId,
73
- nodeKind: ctx.nodeKind,
74
- nodeId: ctx.nodeId,
75
- fieldPath: field.fieldPath,
76
- embedding: value,
77
- dimensions: field.dimensions,
78
- metric: field.metric,
79
- indexType: field.indexType
80
- });
81
- } else if (value === void 0) {
82
- await backend.deleteEmbedding({
83
- graphId: ctx.graphId,
84
- nodeKind: ctx.nodeKind,
85
- nodeId: ctx.nodeId,
86
- fieldPath: field.fieldPath,
87
- dimensions: field.dimensions,
88
- metric: field.metric,
89
- indexType: field.indexType
90
- });
91
- }
92
- }
93
- }
94
- async function syncEmbeddingsBatchForKind(args, schema, items) {
95
- const { graphId, nodeKind, backend } = args;
96
- if (!backend.upsertEmbedding || !backend.deleteEmbedding) {
97
- return;
98
- }
99
- const embeddingFields = getEmbeddingFields(schema);
100
- if (embeddingFields.length === 0) {
101
- return;
102
- }
103
- for (const field of embeddingFields) {
104
- const rows = [];
105
- const deletionIds = [];
106
- for (const item of items) {
107
- const value = chunkN66HCGCY_cjs.readOwnProperty(item.props, field.fieldPath);
108
- if (isValidEmbeddingValue(value)) {
109
- rows.push({ nodeId: item.nodeId, embedding: value });
110
- } else if (value === void 0) {
111
- deletionIds.push(item.nodeId);
112
- }
113
- }
114
- if (rows.length > 0) {
115
- if (backend.upsertEmbeddingBatch === void 0) {
116
- for (const row of rows) {
117
- await backend.upsertEmbedding({
118
- graphId,
119
- nodeKind,
120
- nodeId: row.nodeId,
121
- fieldPath: field.fieldPath,
122
- embedding: row.embedding,
123
- dimensions: field.dimensions,
124
- metric: field.metric,
125
- indexType: field.indexType
126
- });
127
- }
128
- } else {
129
- await backend.upsertEmbeddingBatch({
130
- graphId,
131
- nodeKind,
132
- fieldPath: field.fieldPath,
133
- dimensions: field.dimensions,
134
- metric: field.metric,
135
- indexType: field.indexType,
136
- rows
137
- });
138
- }
139
- }
140
- if (deletionIds.length > 0 && backend.deleteEmbeddingBatch !== void 0) {
141
- await backend.deleteEmbeddingBatch({
142
- graphId,
143
- nodeKind,
144
- nodeIds: deletionIds,
145
- fieldPath: field.fieldPath,
146
- dimensions: field.dimensions,
147
- metric: field.metric,
148
- indexType: field.indexType
149
- });
150
- } else {
151
- for (const nodeId of deletionIds) {
152
- await backend.deleteEmbedding({
153
- graphId,
154
- nodeKind,
155
- nodeId,
156
- fieldPath: field.fieldPath,
157
- dimensions: field.dimensions,
158
- metric: field.metric,
159
- indexType: field.indexType
160
- });
161
- }
162
- }
163
- }
164
- }
165
- async function deleteNodeEmbeddings(ctx, schema) {
166
- const { backend } = ctx;
167
- if (!backend.deleteEmbedding) {
168
- return;
169
- }
170
- const embeddingFields = getEmbeddingFields(schema);
171
- if (embeddingFields.length === 0) {
172
- return;
173
- }
174
- for (const field of embeddingFields) {
175
- await backend.deleteEmbedding({
176
- graphId: ctx.graphId,
177
- nodeKind: ctx.nodeKind,
178
- nodeId: ctx.nodeId,
179
- fieldPath: field.fieldPath,
180
- dimensions: field.dimensions,
181
- metric: field.metric,
182
- indexType: field.indexType
183
- });
184
- }
185
- }
186
- function isValidEmbeddingValue(value) {
187
- if (!Array.isArray(value)) {
188
- return false;
189
- }
190
- return value.every((n) => typeof n === "number" && Number.isFinite(n));
191
- }
192
-
193
- // src/store/fulltext-sync.ts
194
- var FIELD_SEPARATOR = "\n";
195
- function resolveCombinedLanguage(fields) {
196
- return fields[0]?.metadata.language ?? chunkHAHNRASW_cjs.DEFAULT_SEARCHABLE_LANGUAGE;
197
- }
198
- function computeFulltextContent(schema, props) {
199
- const searchableFields = chunkHAHNRASW_cjs.getSearchableFields(schema);
200
- if (searchableFields.length === 0) return void 0;
201
- const parts = [];
202
- for (const field of searchableFields) {
203
- const value = chunkN66HCGCY_cjs.readOwnProperty(props, field.fieldPath);
204
- if (typeof value === "string" && value.length > 0) {
205
- parts.push(value);
206
- }
207
- }
208
- if (parts.length === 0) return void 0;
209
- return {
210
- content: parts.join(FIELD_SEPARATOR),
211
- language: resolveCombinedLanguage(searchableFields)
212
- };
213
- }
214
- async function syncFulltext(ctx, schema, props) {
215
- const { backend } = ctx;
216
- if (!backend.upsertFulltext || !backend.deleteFulltext) {
217
- return;
218
- }
219
- const computed = computeFulltextContent(schema, props);
220
- if (computed !== void 0) {
221
- await backend.upsertFulltext({
222
- graphId: ctx.graphId,
223
- nodeKind: ctx.nodeKind,
224
- nodeId: ctx.nodeId,
225
- content: computed.content,
226
- language: computed.language
227
- });
228
- return;
229
- }
230
- if (chunkHAHNRASW_cjs.getSearchableFields(schema).length === 0) return;
231
- await backend.deleteFulltext({
232
- graphId: ctx.graphId,
233
- nodeKind: ctx.nodeKind,
234
- nodeId: ctx.nodeId
235
- });
236
- }
237
- async function syncFulltextBatchForKind(args, schema, items) {
238
- const { graphId, nodeKind, backend } = args;
239
- if (!backend.upsertFulltext || !backend.deleteFulltext) {
240
- return;
241
- }
242
- const rows = [];
243
- const emptyContentIds = [];
244
- const hasSearchableFields = chunkHAHNRASW_cjs.getSearchableFields(schema).length > 0;
245
- for (const item of items) {
246
- const computed = computeFulltextContent(schema, item.props);
247
- if (computed !== void 0) {
248
- rows.push({
249
- nodeId: item.nodeId,
250
- content: computed.content,
251
- language: computed.language
252
- });
253
- } else if (hasSearchableFields) {
254
- emptyContentIds.push(item.nodeId);
255
- }
256
- }
257
- if (rows.length > 0) {
258
- if (backend.upsertFulltextBatch === void 0) {
259
- for (const row of rows) {
260
- await backend.upsertFulltext({
261
- graphId,
262
- nodeKind,
263
- nodeId: row.nodeId,
264
- content: row.content,
265
- language: row.language
266
- });
267
- }
268
- } else {
269
- await backend.upsertFulltextBatch({ graphId, nodeKind, rows });
270
- }
271
- }
272
- if (emptyContentIds.length > 0) {
273
- if (backend.deleteFulltextBatch === void 0) {
274
- for (const nodeId of emptyContentIds) {
275
- await backend.deleteFulltext({ graphId, nodeKind, nodeId });
276
- }
277
- } else {
278
- await backend.deleteFulltextBatch({
279
- graphId,
280
- nodeKind,
281
- nodeIds: emptyContentIds
282
- });
283
- }
284
- }
285
- }
286
- async function deleteNodeFulltext(ctx, schema) {
287
- const { backend } = ctx;
288
- if (!backend.deleteFulltext) {
289
- return;
290
- }
291
- if (chunkHAHNRASW_cjs.getSearchableFields(schema).length === 0) {
292
- return;
293
- }
294
- await backend.deleteFulltext({
295
- graphId: ctx.graphId,
296
- nodeKind: ctx.nodeKind,
297
- nodeId: ctx.nodeId
298
- });
299
- }
300
-
301
- // src/store/uniqueness.ts
302
- function createUniquenessContext(graphId, registry, backend) {
303
- return { graphId, registry, backend };
304
- }
305
- function nodeIdentityKey(reference) {
306
- return chunkEZEEWCFJ_cjs.encodeTupleKey([reference.kind, reference.id]);
307
- }
308
- function proposedUniqueClaims(ctx, upserts) {
309
- const claims = [];
310
- const claimsByCheckedKind = /* @__PURE__ */ new Map();
311
- const claimsByOwnKind = /* @__PURE__ */ new Map();
312
- const orderedConstraints = [];
313
- const seenConstraints = /* @__PURE__ */ new Set();
314
- for (const upsert of upserts) {
315
- for (const constraint of upsert.constraints) {
316
- if (seenConstraints.has(constraint)) continue;
317
- seenConstraints.add(constraint);
318
- orderedConstraints.push(constraint);
319
- }
320
- }
321
- for (const constraint of orderedConstraints) {
322
- for (const upsert of upserts) {
323
- if (!upsert.constraints.includes(constraint)) continue;
324
- if (!chunkFQPEMEWX_cjs.checkWherePredicate(constraint, upsert.props)) continue;
325
- const claim = {
326
- kind: upsert.kind,
327
- id: upsert.id,
328
- constraint,
329
- key: chunkFQPEMEWX_cjs.computeUniqueKey(
330
- upsert.props,
331
- constraint.fields,
332
- constraint.collation
333
- ),
334
- kindsToCheck: chunkFQPEMEWX_cjs.getKindsForUniquenessCheck(
335
- upsert.kind,
336
- constraint.scope,
337
- ctx.registry
338
- )
339
- };
340
- const identity = nodeIdentityKey(claim);
341
- const candidateGroups = [
342
- claimsByCheckedKind.get(
343
- chunkEZEEWCFJ_cjs.encodeTupleKey([constraint.name, claim.key, claim.kind])
344
- ) ?? [],
345
- ...claim.kindsToCheck.map(
346
- (kind) => claimsByOwnKind.get(
347
- chunkEZEEWCFJ_cjs.encodeTupleKey([constraint.name, claim.key, kind])
348
- ) ?? []
349
- )
350
- ];
351
- const collision = candidateGroups.flat().find((existing) => nodeIdentityKey(existing) !== identity);
352
- if (collision !== void 0) {
353
- throw new chunkMRDBBHIZ_cjs.UniquenessError({
354
- constraintName: constraint.name,
355
- kind: collision.kind,
356
- existingId: collision.id,
357
- newId: upsert.id,
358
- fields: constraint.fields
359
- });
360
- }
361
- claims.push(claim);
362
- const ownKindKey = chunkEZEEWCFJ_cjs.encodeTupleKey([
363
- constraint.name,
364
- claim.key,
365
- claim.kind
366
- ]);
367
- const sameKindClaims = claimsByOwnKind.get(ownKindKey);
368
- if (sameKindClaims === void 0) {
369
- claimsByOwnKind.set(ownKindKey, [claim]);
370
- } else {
371
- sameKindClaims.push(claim);
372
- }
373
- for (const kind of claim.kindsToCheck) {
374
- const checkedKindKey = chunkEZEEWCFJ_cjs.encodeTupleKey([
375
- constraint.name,
376
- claim.key,
377
- kind
378
- ]);
379
- const sameDomainClaims = claimsByCheckedKind.get(checkedKindKey);
380
- if (sameDomainClaims === void 0) {
381
- claimsByCheckedKind.set(checkedKindKey, [claim]);
382
- } else {
383
- sameDomainClaims.push(claim);
384
- }
385
- }
386
- }
387
- }
388
- return claims;
389
- }
390
- function groupUniqueClaimsForBatchProbe(claims) {
391
- const groups = /* @__PURE__ */ new Map();
392
- for (const claim of claims) {
393
- for (const nodeKind of claim.kindsToCheck) {
394
- const groupKey = chunkEZEEWCFJ_cjs.encodeTupleKey([nodeKind, claim.constraint.name]);
395
- const existing = groups.get(groupKey);
396
- if (existing === void 0) {
397
- groups.set(groupKey, {
398
- nodeKind,
399
- constraintName: claim.constraint.name,
400
- claimsByKey: /* @__PURE__ */ new Map([[claim.key, claim]])
401
- });
402
- continue;
403
- }
404
- existing.claimsByKey.set(claim.key, claim);
405
- }
406
- }
407
- return [...groups.values()];
408
- }
409
- async function validateResolvedNodeUniqueness(ctx, upserts, releases = []) {
410
- const checkUniqueBatch = ctx.backend.checkUniqueBatch;
411
- if (checkUniqueBatch === void 0) {
412
- throw new chunkMRDBBHIZ_cjs.ConfigurationError(
413
- "Resolved node writes require batched uniqueness probes",
414
- { code: "RESOLVED_NODE_UNIQUENESS_UNSUPPORTED" }
415
- );
416
- }
417
- const claims = proposedUniqueClaims(ctx, upserts);
418
- if (claims.length === 0) return;
419
- const affectedOwners = new Set(
420
- [...upserts, ...releases].map((reference) => nodeIdentityKey(reference))
421
- );
422
- for (const group of groupUniqueClaimsForBatchProbe(claims)) {
423
- const existingRows = await checkUniqueBatch({
424
- graphId: ctx.graphId,
425
- nodeKind: group.nodeKind,
426
- constraintName: group.constraintName,
427
- keys: [...group.claimsByKey.keys()]
428
- });
429
- for (const existing of existingRows) {
430
- if (affectedOwners.has(
431
- nodeIdentityKey({
432
- kind: existing.concrete_kind,
433
- id: existing.node_id
434
- })
435
- )) {
436
- continue;
437
- }
438
- const claim = group.claimsByKey.get(existing.key);
439
- if (claim === void 0) continue;
440
- throw new chunkMRDBBHIZ_cjs.UniquenessError({
441
- constraintName: group.constraintName,
442
- kind: group.nodeKind,
443
- existingId: existing.node_id,
444
- newId: claim.id,
445
- fields: claim.constraint.fields
446
- });
447
- }
448
- }
449
- }
450
- async function prepareResolvedNodeUniqueness(ctx, upserts, releases) {
451
- const hardDeleteUniquesByNodeIds = ctx.backend.hardDeleteUniquesByNodeIds;
452
- if (ctx.backend.checkUniqueBatch === void 0 || ctx.backend.insertUniqueBatch === void 0 || hardDeleteUniquesByNodeIds === void 0) {
453
- throw new chunkMRDBBHIZ_cjs.ConfigurationError(
454
- "Resolved node writes require batched uniqueness operations",
455
- { code: "RESOLVED_NODE_UNIQUENESS_UNSUPPORTED" }
456
- );
457
- }
458
- await validateResolvedNodeUniqueness(ctx, upserts, releases);
459
- const idsByKind = /* @__PURE__ */ new Map();
460
- for (const reference of [...upserts, ...releases]) {
461
- const ids = idsByKind.get(reference.kind) ?? /* @__PURE__ */ new Set();
462
- ids.add(reference.id);
463
- idsByKind.set(reference.kind, ids);
464
- }
465
- for (const [concreteKind, nodeIds] of idsByKind) {
466
- await hardDeleteUniquesByNodeIds({
467
- graphId: ctx.graphId,
468
- concreteKind,
469
- nodeIds: [...nodeIds]
470
- });
471
- }
472
- }
473
- async function applyResolvedNodeUniqueness(ctx, upserts, releases, apply) {
474
- await prepareResolvedNodeUniqueness(ctx, upserts, releases);
475
- const result = await apply();
476
- await insertUniquenessEntriesBatch(ctx, upserts);
477
- return result;
478
- }
479
- async function probeUniqueKey(ctx, kind, id, constraint, key) {
480
- const kindsToCheck = chunkFQPEMEWX_cjs.getKindsForUniquenessCheck(
481
- kind,
482
- constraint.scope,
483
- ctx.registry
484
- );
485
- let heldByThisNode = false;
486
- for (const kindToCheck of kindsToCheck) {
487
- const existing = await ctx.backend.checkUnique({
488
- graphId: ctx.graphId,
489
- nodeKind: kindToCheck,
490
- constraintName: constraint.name,
491
- key
492
- });
493
- if (existing === void 0) continue;
494
- if (existing.node_id !== id) {
495
- throw new chunkMRDBBHIZ_cjs.UniquenessError({
496
- constraintName: constraint.name,
497
- kind: kindToCheck,
498
- existingId: existing.node_id,
499
- newId: id,
500
- fields: constraint.fields
501
- });
502
- }
503
- if (kindToCheck === kind) heldByThisNode = true;
504
- }
505
- return heldByThisNode;
506
- }
507
- async function checkUniquenessConstraints(ctx, kind, id, props, constraints) {
508
- for (const constraint of constraints) {
509
- if (!chunkFQPEMEWX_cjs.checkWherePredicate(constraint, props)) {
510
- continue;
511
- }
512
- await probeUniqueKey(
513
- ctx,
514
- kind,
515
- id,
516
- constraint,
517
- chunkFQPEMEWX_cjs.computeUniqueKey(props, constraint.fields, constraint.collation)
518
- );
519
- }
520
- }
521
- async function insertUniquenessEntries(ctx, kind, id, props, constraints) {
522
- for (const constraint of constraints) {
523
- if (!chunkFQPEMEWX_cjs.checkWherePredicate(constraint, props)) {
524
- continue;
525
- }
526
- const key = chunkFQPEMEWX_cjs.computeUniqueKey(
527
- props,
528
- constraint.fields,
529
- constraint.collation
530
- );
531
- await ctx.backend.insertUnique({
532
- graphId: ctx.graphId,
533
- nodeKind: kind,
534
- constraintName: constraint.name,
535
- key,
536
- nodeId: id,
537
- concreteKind: kind
538
- });
539
- }
540
- }
541
- async function insertUniquenessEntriesBatch(ctx, items) {
542
- const entries = [];
543
- for (const item of items) {
544
- for (const constraint of item.constraints) {
545
- if (!chunkFQPEMEWX_cjs.checkWherePredicate(constraint, item.props)) {
546
- continue;
547
- }
548
- entries.push({
549
- graphId: ctx.graphId,
550
- nodeKind: item.kind,
551
- constraintName: constraint.name,
552
- key: chunkFQPEMEWX_cjs.computeUniqueKey(
553
- item.props,
554
- constraint.fields,
555
- constraint.collation
556
- ),
557
- nodeId: item.id,
558
- concreteKind: item.kind
559
- });
560
- }
561
- }
562
- if (entries.length === 0) return;
563
- if (ctx.backend.insertUniqueBatch !== void 0) {
564
- await ctx.backend.insertUniqueBatch(entries);
565
- return;
566
- }
567
- for (const entry of entries) {
568
- await ctx.backend.insertUnique(entry);
569
- }
570
- }
571
- async function deleteUniquenessEntries(ctx, kind, props, constraints) {
572
- for (const constraint of constraints) {
573
- if (!chunkFQPEMEWX_cjs.checkWherePredicate(constraint, props)) {
574
- continue;
575
- }
576
- const key = chunkFQPEMEWX_cjs.computeUniqueKey(
577
- props,
578
- constraint.fields,
579
- constraint.collation
580
- );
581
- await ctx.backend.deleteUnique({
582
- graphId: ctx.graphId,
583
- nodeKind: kind,
584
- constraintName: constraint.name,
585
- key
586
- });
587
- }
588
- }
589
- async function planUniquenessUpdate(ctx, kind, id, oldProps, newProps, constraints) {
590
- const pending = [];
591
- for (const constraint of constraints) {
592
- const oldApplies = chunkFQPEMEWX_cjs.checkWherePredicate(constraint, oldProps);
593
- const newApplies = chunkFQPEMEWX_cjs.checkWherePredicate(constraint, newProps);
594
- const oldKey = oldApplies ? chunkFQPEMEWX_cjs.computeUniqueKey(oldProps, constraint.fields, constraint.collation) : void 0;
595
- const newKey = newApplies ? chunkFQPEMEWX_cjs.computeUniqueKey(newProps, constraint.fields, constraint.collation) : void 0;
596
- if (!oldApplies && !newApplies) {
597
- continue;
598
- }
599
- if (oldApplies && newApplies && oldKey === newKey) {
600
- continue;
601
- }
602
- const alreadyHeld = newKey === void 0 ? false : await probeUniqueKey(ctx, kind, id, constraint, newKey);
603
- pending.push({
604
- constraintName: constraint.name,
605
- release: oldKey,
606
- claim: alreadyHeld ? void 0 : newKey
607
- });
608
- }
609
- return pending;
610
- }
611
- async function planUniquenessReinsert(ctx, kind, id, props, constraints) {
612
- const pending = [];
613
- for (const constraint of constraints) {
614
- if (!chunkFQPEMEWX_cjs.checkWherePredicate(constraint, props)) continue;
615
- const key = chunkFQPEMEWX_cjs.computeUniqueKey(
616
- props,
617
- constraint.fields,
618
- constraint.collation
619
- );
620
- const alreadyHeld = await probeUniqueKey(ctx, kind, id, constraint, key);
621
- pending.push({
622
- constraintName: constraint.name,
623
- release: void 0,
624
- claim: alreadyHeld ? void 0 : key
625
- });
626
- }
627
- return pending;
628
- }
629
- async function releaseUniqueKeys(ctx, kind, keys) {
630
- for (const entry of keys) {
631
- await ctx.backend.deleteUnique({
632
- graphId: ctx.graphId,
633
- nodeKind: kind,
634
- constraintName: entry.constraintName,
635
- key: entry.key
636
- });
637
- }
638
- }
639
- async function claimUniqueKeysThen(ctx, kind, id, plan, gatedWrite) {
640
- const claimed = [];
641
- try {
642
- for (const mutation of plan) {
643
- if (mutation.claim === void 0) continue;
644
- await ctx.backend.insertUnique({
645
- graphId: ctx.graphId,
646
- nodeKind: kind,
647
- constraintName: mutation.constraintName,
648
- key: mutation.claim,
649
- nodeId: id,
650
- concreteKind: kind
651
- });
652
- claimed.push({
653
- constraintName: mutation.constraintName,
654
- key: mutation.claim
655
- });
656
- }
657
- return await gatedWrite();
658
- } catch (error) {
659
- await releaseUniqueKeys(ctx, kind, claimed);
660
- throw error;
661
- }
662
- }
663
- async function withUniquenessTransition(ctx, kind, id, plan, gatedWrite) {
664
- const result = await claimUniqueKeysThen(ctx, kind, id, plan, gatedWrite);
665
- await releaseUniqueKeys(
666
- ctx,
667
- kind,
668
- plan.flatMap(
669
- (mutation) => mutation.release === void 0 ? [] : [{ constraintName: mutation.constraintName, key: mutation.release }]
670
- )
671
- );
672
- return result;
673
- }
674
-
675
- // src/store/operations/node-write-pipeline.ts
676
- function createNodeWriteContext(graphId, registry, lock) {
677
- return { graphId, registry, lock };
678
- }
679
- function uniquenessContext(ctx, backend) {
680
- return createUniquenessContext(ctx.graphId, ctx.registry, backend);
681
- }
682
- function nodeSyncContext(ctx, kind, id, backend) {
683
- return { graphId: ctx.graphId, nodeKind: kind, nodeId: id, backend };
684
- }
685
- async function enforceNodeDeleteBehavior(ctx, args, backend, policy) {
686
- if (policy?.enforceDeleteBehavior === false) return;
687
- const behavior = args.onDelete ?? "restrict";
688
- const connectedEdges = await backend.findEdgesConnectedTo({
689
- graphId: ctx.graphId,
690
- nodeKind: args.kind,
691
- nodeId: args.id
692
- });
693
- if (connectedEdges.length === 0) return;
694
- switch (behavior) {
695
- case "restrict": {
696
- throw new chunkMRDBBHIZ_cjs.RestrictedDeleteError({
697
- nodeKind: args.kind,
698
- nodeId: args.id,
699
- edgeCount: connectedEdges.length,
700
- edgeKinds: [...new Set(connectedEdges.map((edge) => edge.kind))]
701
- });
702
- }
703
- case "cascade":
704
- case "disconnect": {
705
- const batchDelete = args.mode === "hard" ? backend.hardDeleteEdgesBatch : backend.deleteEdgesBatch;
706
- if (batchDelete !== void 0) {
707
- await batchDelete({
708
- graphId: ctx.graphId,
709
- ids: connectedEdges.map((edge) => edge.id)
710
- });
711
- break;
712
- }
713
- for (const edge of connectedEdges) {
714
- await (args.mode === "hard" ? backend.hardDeleteEdge({ graphId: ctx.graphId, id: edge.id }) : backend.deleteEdge({ graphId: ctx.graphId, id: edge.id }));
715
- }
716
- break;
717
- }
718
- }
719
- }
720
- async function applyNodeInsertSideEffects(ctx, args, backend) {
721
- await insertUniquenessEntries(
722
- uniquenessContext(ctx, backend),
723
- args.kind,
724
- args.id,
725
- args.props,
726
- args.uniqueConstraints
727
- );
728
- await Promise.all([
729
- syncEmbeddings(
730
- nodeSyncContext(ctx, args.kind, args.id, backend),
731
- args.schema,
732
- args.props
733
- ),
734
- syncFulltext(
735
- nodeSyncContext(ctx, args.kind, args.id, backend),
736
- args.schema,
737
- args.props
738
- )
739
- ]);
740
- }
741
- async function applyNodeInsertSideEffectsBatch(ctx, items, backend) {
742
- if (items.length === 0) return;
743
- await insertUniquenessEntriesBatch(
744
- uniquenessContext(ctx, backend),
745
- items.map((item) => ({
746
- kind: item.kind,
747
- id: item.id,
748
- props: item.props,
749
- constraints: item.uniqueConstraints
750
- }))
751
- );
752
- const byKind = /* @__PURE__ */ new Map();
753
- for (const item of items) {
754
- const group = byKind.get(item.kind) ?? { schema: item.schema, rows: [] };
755
- group.rows.push({ nodeId: item.id, props: item.props });
756
- byKind.set(item.kind, group);
757
- }
758
- await Promise.all(
759
- [...byKind.entries()].flatMap(([kind, group]) => {
760
- const syncArguments = { graphId: ctx.graphId, nodeKind: kind, backend };
761
- return [
762
- syncEmbeddingsBatchForKind(syncArguments, group.schema, group.rows),
763
- syncFulltextBatchForKind(syncArguments, group.schema, group.rows)
764
- ];
765
- })
766
- );
767
- }
768
- function parseRowProps(row) {
769
- return chunk5PRKMB24_cjs.rowPropsToObject(row.props);
770
- }
771
- async function planNodeUpdateUniqueness(ctx, args, backend) {
772
- const { kind, id } = args.existing;
773
- if (args.existing.deleted_at !== void 0) {
774
- return planUniquenessReinsert(
775
- uniquenessContext(ctx, backend),
776
- kind,
777
- id,
778
- args.validatedProps,
779
- args.uniqueConstraints
780
- );
781
- }
782
- return planUniquenessUpdate(
783
- uniquenessContext(ctx, backend),
784
- kind,
785
- id,
786
- parseRowProps(args.existing),
787
- args.validatedProps,
788
- args.uniqueConstraints
789
- );
790
- }
791
- async function applyNodeUpdate(ctx, args, backend) {
792
- const { kind, id } = args.existing;
793
- const plan = await planNodeUpdateUniqueness(
794
- ctx,
795
- {
796
- existing: args.existing,
797
- validatedProps: args.validatedProps,
798
- uniqueConstraints: args.uniqueConstraints
799
- },
800
- backend
801
- );
802
- const updateParams = {
803
- graphId: ctx.graphId,
804
- kind,
805
- id,
806
- props: args.validatedProps,
807
- incrementVersion: true
808
- };
809
- if (args.validFrom !== void 0) updateParams.validFrom = args.validFrom;
810
- if (args.expectedValidFrom !== void 0) {
811
- updateParams.expectedValidFrom = args.expectedValidFrom;
812
- }
813
- if (args.clearDeleted) updateParams.clearDeleted = true;
814
- const row = await withUniquenessTransition(
815
- uniquenessContext(ctx, backend),
816
- kind,
817
- id,
818
- plan,
819
- () => backend.updateNode({
820
- ...updateParams,
821
- ...args.clearValidTo === true ? { clearValidTo: true } : args.validTo === void 0 ? {} : { validTo: args.validTo }
822
- })
823
- );
824
- await Promise.all([
825
- syncEmbeddings(
826
- nodeSyncContext(ctx, kind, id, backend),
827
- args.schema,
828
- args.validatedProps
829
- ),
830
- syncFulltext(
831
- nodeSyncContext(ctx, kind, id, backend),
832
- args.schema,
833
- args.validatedProps
834
- )
835
- ]);
836
- return row;
837
- }
838
- async function applyNodeSoftDelete(ctx, args, backend, policy) {
839
- const { kind, id } = args.existing;
840
- await enforceNodeDeleteBehavior(
841
- ctx,
842
- { kind, id, mode: "soft", onDelete: args.onDelete },
843
- backend,
844
- policy
845
- );
846
- await backend.deleteNode({
847
- graphId: ctx.graphId,
848
- kind,
849
- id
850
- });
851
- await deleteUniquenessEntries(
852
- uniquenessContext(ctx, backend),
853
- kind,
854
- parseRowProps(args.existing),
855
- args.uniqueConstraints
856
- );
857
- await deleteNodeEmbeddings(
858
- nodeSyncContext(ctx, kind, id, backend),
859
- args.schema
860
- );
861
- await deleteNodeFulltext(
862
- nodeSyncContext(ctx, kind, id, backend),
863
- args.schema
864
- );
865
- }
866
- async function applyNodeHardDelete(ctx, args, backend) {
867
- await enforceNodeDeleteBehavior(
868
- ctx,
869
- { kind: args.kind, id: args.id, mode: "hard", onDelete: args.onDelete },
870
- backend
871
- );
872
- await backend.hardDeleteNode({
873
- graphId: ctx.graphId,
874
- kind: args.kind,
875
- id: args.id
876
- });
877
- await deleteNodeEmbeddings(
878
- nodeSyncContext(ctx, args.kind, args.id, backend),
879
- args.schema
880
- );
881
- }
882
- async function applyNodeResurrect(ctx, args, backend) {
883
- const { kind, id } = args.existing;
884
- const props = parseRowProps(args.existing);
885
- const plan = await planUniquenessReinsert(
886
- uniquenessContext(ctx, backend),
887
- kind,
888
- id,
889
- props,
890
- args.uniqueConstraints
891
- );
892
- const row = await withUniquenessTransition(
893
- uniquenessContext(ctx, backend),
894
- kind,
895
- id,
896
- plan,
897
- () => backend.updateNode({
898
- graphId: ctx.graphId,
899
- kind,
900
- id,
901
- props,
902
- incrementVersion: true,
903
- clearDeleted: true
904
- })
905
- );
906
- await Promise.all([
907
- syncEmbeddings(nodeSyncContext(ctx, kind, id, backend), args.schema, props),
908
- syncFulltext(nodeSyncContext(ctx, kind, id, backend), args.schema, props)
909
- ]);
910
- return row;
911
- }
912
-
913
- exports.AUTO_REFRESH_STATISTICS_ROW_THRESHOLD = AUTO_REFRESH_STATISTICS_ROW_THRESHOLD;
914
- exports.STORE_RUNTIME = STORE_RUNTIME;
915
- exports.TRANSACTION_RUNTIME = TRANSACTION_RUNTIME;
916
- exports.applyNodeHardDelete = applyNodeHardDelete;
917
- exports.applyNodeInsertSideEffects = applyNodeInsertSideEffects;
918
- exports.applyNodeInsertSideEffectsBatch = applyNodeInsertSideEffectsBatch;
919
- exports.applyNodeResurrect = applyNodeResurrect;
920
- exports.applyNodeSoftDelete = applyNodeSoftDelete;
921
- exports.applyNodeUpdate = applyNodeUpdate;
922
- exports.applyResolvedNodeUniqueness = applyResolvedNodeUniqueness;
923
- exports.checkUniquenessConstraints = checkUniquenessConstraints;
924
- exports.computeFulltextContent = computeFulltextContent;
925
- exports.createNodeWriteContext = createNodeWriteContext;
926
- exports.createUniquenessContext = createUniquenessContext;
927
- exports.getEmbeddingFields = getEmbeddingFields;
928
- exports.storeBackend = storeBackend;
929
- exports.storeRuntime = storeRuntime;
930
- exports.transactionBackend = transactionBackend;
931
- exports.transactionNodeOperationHookRunner = transactionNodeOperationHookRunner;
932
- exports.validateResolvedNodeUniqueness = validateResolvedNodeUniqueness;
933
- //# sourceMappingURL=chunk-3KOY4FH3.cjs.map
934
- //# sourceMappingURL=chunk-3KOY4FH3.cjs.map