@nicia-ai/typegraph 0.46.2 → 0.48.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 (310) hide show
  1. package/README.md +20 -1
  2. package/dist/backend/drizzle/indexes.cjs +9 -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 +5 -5
  6. package/dist/backend/index.cjs +58 -49
  7. package/dist/backend/index.d.cts +37 -55
  8. package/dist/backend/index.d.ts +37 -55
  9. package/dist/backend/index.js +11 -10
  10. package/dist/backend/postgres/index.cjs +27 -26
  11. package/dist/backend/postgres/index.d.cts +21 -7
  12. package/dist/backend/postgres/index.d.ts +21 -7
  13. package/dist/backend/postgres/index.js +14 -13
  14. package/dist/backend/postgres/pglite-store.cjs +34 -33
  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 +30 -29
  19. package/dist/backend/postgres/pglite-store.js.map +1 -1
  20. package/dist/backend/postgres/pglite.cjs +16 -15
  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 +15 -14
  24. package/dist/backend/sqlite/index.cjs +24 -23
  25. package/dist/backend/sqlite/index.d.cts +20 -7
  26. package/dist/backend/sqlite/index.d.ts +20 -7
  27. package/dist/backend/sqlite/index.js +12 -11
  28. package/dist/backend/sqlite/libsql.cjs +19 -18
  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 +14 -13
  33. package/dist/backend/sqlite/libsql.js.map +1 -1
  34. package/dist/backend/sqlite/local-store.cjs +35 -34
  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 +31 -30
  39. package/dist/backend/sqlite/local-store.js.map +1 -1
  40. package/dist/backend/sqlite/local.cjs +17 -16
  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 +15 -14
  44. package/dist/{chunk-TCT66A7N.cjs → chunk-26YKDNUD.cjs} +10 -10
  45. package/dist/{chunk-TCT66A7N.cjs.map → chunk-26YKDNUD.cjs.map} +1 -1
  46. package/dist/{chunk-E4OSGBCM.cjs → chunk-2HIYYMWY.cjs} +139 -136
  47. package/dist/chunk-2HIYYMWY.cjs.map +1 -0
  48. package/dist/chunk-2QGYQBS2.cjs +161 -0
  49. package/dist/chunk-2QGYQBS2.cjs.map +1 -0
  50. package/dist/{chunk-GWXXHOLU.js → chunk-2SYZXD54.js} +21 -18
  51. package/dist/chunk-2SYZXD54.js.map +1 -0
  52. package/dist/{chunk-KA4L2NZ3.js → chunk-2TYSSBU5.js} +14 -14
  53. package/dist/{chunk-KA4L2NZ3.js.map → chunk-2TYSSBU5.js.map} +1 -1
  54. package/dist/{chunk-QOJ2L2AD.js → chunk-3DMMGT6S.js} +3 -3
  55. package/dist/{chunk-QOJ2L2AD.js.map → chunk-3DMMGT6S.js.map} +1 -1
  56. package/dist/{chunk-F36KZDFX.cjs → chunk-3FPR224C.cjs} +91 -91
  57. package/dist/{chunk-F36KZDFX.cjs.map → chunk-3FPR224C.cjs.map} +1 -1
  58. package/dist/{chunk-32UETY6S.cjs → chunk-3KOY4FH3.cjs} +207 -28
  59. package/dist/chunk-3KOY4FH3.cjs.map +1 -0
  60. package/dist/{chunk-QU7QLJA4.cjs → chunk-3U5ABFDW.cjs} +26 -26
  61. package/dist/{chunk-QU7QLJA4.cjs.map → chunk-3U5ABFDW.cjs.map} +1 -1
  62. package/dist/{chunk-RFDEYLIK.js → chunk-4WMMBDS5.js} +7 -7
  63. package/dist/chunk-4WMMBDS5.js.map +1 -0
  64. package/dist/{chunk-R7EWHKID.js → chunk-5K2BKEBD.js} +19 -145
  65. package/dist/chunk-5K2BKEBD.js.map +1 -0
  66. package/dist/chunk-5PRKMB24.cjs +124 -0
  67. package/dist/chunk-5PRKMB24.cjs.map +1 -0
  68. package/dist/chunk-6LN7FIVU.js +107 -0
  69. package/dist/chunk-6LN7FIVU.js.map +1 -0
  70. package/dist/{chunk-D6GCNNMK.cjs → chunk-6NGW27EO.cjs} +10 -10
  71. package/dist/{chunk-D6GCNNMK.cjs.map → chunk-6NGW27EO.cjs.map} +1 -1
  72. package/dist/{chunk-WHS2Y43J.js → chunk-6SWPJEYN.js} +5 -5
  73. package/dist/{chunk-WHS2Y43J.js.map → chunk-6SWPJEYN.js.map} +1 -1
  74. package/dist/{chunk-7TKNK32B.js → chunk-7SQSZN2J.js} +5 -5
  75. package/dist/{chunk-7TKNK32B.js.map → chunk-7SQSZN2J.js.map} +1 -1
  76. package/dist/{chunk-UTVQPZPN.cjs → chunk-7XUYFFR4.cjs} +20 -20
  77. package/dist/chunk-7XUYFFR4.cjs.map +1 -0
  78. package/dist/{chunk-KXSMF6PL.js → chunk-ACGSAMD3.js} +39 -34
  79. package/dist/chunk-ACGSAMD3.js.map +1 -0
  80. package/dist/{chunk-PYKF7UIL.cjs → chunk-AOSSQDVO.cjs} +13 -13
  81. package/dist/{chunk-PYKF7UIL.cjs.map → chunk-AOSSQDVO.cjs.map} +1 -1
  82. package/dist/{chunk-AT3MLMJV.js → chunk-AX6JGVTZ.js} +91 -20
  83. package/dist/chunk-AX6JGVTZ.js.map +1 -0
  84. package/dist/{chunk-WA64ZSCA.cjs → chunk-BFUOME67.cjs} +11 -11
  85. package/dist/{chunk-WA64ZSCA.cjs.map → chunk-BFUOME67.cjs.map} +1 -1
  86. package/dist/{chunk-YQ4JONWE.js → chunk-BRRP76WO.js} +401 -131
  87. package/dist/chunk-BRRP76WO.js.map +1 -0
  88. package/dist/{chunk-FCIZNUW5.js → chunk-CHAOFCHV.js} +3 -3
  89. package/dist/{chunk-FCIZNUW5.js.map → chunk-CHAOFCHV.js.map} +1 -1
  90. package/dist/chunk-CICO5GXD.cjs +12 -0
  91. package/dist/{chunk-73MWKDFK.cjs.map → chunk-CICO5GXD.cjs.map} +1 -1
  92. package/dist/{chunk-S3G5VLSW.js → chunk-CT3ZKTOF.js} +7 -6
  93. package/dist/chunk-CT3ZKTOF.js.map +1 -0
  94. package/dist/{chunk-SXWLLQ3D.js → chunk-D5R42W5D.js} +4 -4
  95. package/dist/{chunk-SXWLLQ3D.js.map → chunk-D5R42W5D.js.map} +1 -1
  96. package/dist/{chunk-BZZI7B43.cjs → chunk-DO7SAMEK.cjs} +47 -47
  97. package/dist/{chunk-BZZI7B43.cjs.map → chunk-DO7SAMEK.cjs.map} +1 -1
  98. package/dist/chunk-DZAICA5J.js +147 -0
  99. package/dist/chunk-DZAICA5J.js.map +1 -0
  100. package/dist/{chunk-2ZWM2RFH.cjs → chunk-EDN4Y4ZG.cjs} +9 -9
  101. package/dist/{chunk-2ZWM2RFH.cjs.map → chunk-EDN4Y4ZG.cjs.map} +1 -1
  102. package/dist/{chunk-A4R3H7RU.cjs → chunk-EZEEWCFJ.cjs} +264 -361
  103. package/dist/chunk-EZEEWCFJ.cjs.map +1 -0
  104. package/dist/{chunk-BEB4OFZF.cjs → chunk-FA2AFWLP.cjs} +51 -59
  105. package/dist/chunk-FA2AFWLP.cjs.map +1 -0
  106. package/dist/{chunk-ZBVZ7HXD.cjs → chunk-FQPEMEWX.cjs} +12 -12
  107. package/dist/{chunk-ZBVZ7HXD.cjs.map → chunk-FQPEMEWX.cjs.map} +1 -1
  108. package/dist/{chunk-LNIWCQR4.js → chunk-GLHXM7C4.js} +3 -3
  109. package/dist/{chunk-LNIWCQR4.js.map → chunk-GLHXM7C4.js.map} +1 -1
  110. package/dist/{chunk-6BD6ZBKT.cjs → chunk-GYEG3ZLZ.cjs} +10 -10
  111. package/dist/{chunk-6BD6ZBKT.cjs.map → chunk-GYEG3ZLZ.cjs.map} +1 -1
  112. package/dist/{chunk-A7NMUYEL.cjs → chunk-HDL2ARHX.cjs} +27 -27
  113. package/dist/{chunk-A7NMUYEL.cjs.map → chunk-HDL2ARHX.cjs.map} +1 -1
  114. package/dist/{chunk-5ZJOB5YS.js → chunk-HEV35TGT.js} +4 -4
  115. package/dist/{chunk-5ZJOB5YS.js.map → chunk-HEV35TGT.js.map} +1 -1
  116. package/dist/{chunk-LHYSY6SE.js → chunk-I4GAZH5Z.js} +186 -9
  117. package/dist/chunk-I4GAZH5Z.js.map +1 -0
  118. package/dist/{chunk-BQM5P2NO.cjs → chunk-JB6T4GLL.cjs} +260 -223
  119. package/dist/chunk-JB6T4GLL.cjs.map +1 -0
  120. package/dist/{chunk-QPOQX2DI.cjs → chunk-JFRT7S3B.cjs} +1026 -369
  121. package/dist/chunk-JFRT7S3B.cjs.map +1 -0
  122. package/dist/{chunk-JCNTKRAK.js → chunk-JONXFAPO.js} +5 -5
  123. package/dist/{chunk-JCNTKRAK.js.map → chunk-JONXFAPO.js.map} +1 -1
  124. package/dist/{chunk-WEJHA7AD.js → chunk-KF6K7TGH.js} +109 -75
  125. package/dist/chunk-KF6K7TGH.js.map +1 -0
  126. package/dist/{chunk-EDJDDY6H.js → chunk-KKBDXCLQ.js} +4 -4
  127. package/dist/{chunk-EDJDDY6H.js.map → chunk-KKBDXCLQ.js.map} +1 -1
  128. package/dist/{chunk-ZHOAZD7Q.cjs → chunk-L3LQNR34.cjs} +161 -161
  129. package/dist/{chunk-ZHOAZD7Q.cjs.map → chunk-L3LQNR34.cjs.map} +1 -1
  130. package/dist/{chunk-AF3TWL5C.cjs → chunk-LRQKXRXO.cjs} +4 -4
  131. package/dist/{chunk-AF3TWL5C.cjs.map → chunk-LRQKXRXO.cjs.map} +1 -1
  132. package/dist/chunk-MKJ4KXL5.cjs +12 -0
  133. package/dist/{chunk-6LAXM4J2.cjs.map → chunk-MKJ4KXL5.cjs.map} +1 -1
  134. package/dist/{chunk-KCH7WQA5.cjs → chunk-MRDBBHIZ.cjs} +48 -2
  135. package/dist/chunk-MRDBBHIZ.cjs.map +1 -0
  136. package/dist/{chunk-FXNHZFZV.js → chunk-MYKHJI2J.js} +3 -3
  137. package/dist/{chunk-FXNHZFZV.js.map → chunk-MYKHJI2J.js.map} +1 -1
  138. package/dist/{chunk-Z43KWLZF.js → chunk-NACVVDWB.js} +213 -12
  139. package/dist/chunk-NACVVDWB.js.map +1 -0
  140. package/dist/{chunk-72WUT4GG.js → chunk-NVY5CJFP.js} +4 -4
  141. package/dist/{chunk-72WUT4GG.js.map → chunk-NVY5CJFP.js.map} +1 -1
  142. package/dist/{chunk-WYFB7BN3.js → chunk-OD4SSY2U.js} +166 -48
  143. package/dist/chunk-OD4SSY2U.js.map +1 -0
  144. package/dist/{chunk-ZIH42CRX.cjs → chunk-OI2GQ25X.cjs} +7 -7
  145. package/dist/{chunk-ZIH42CRX.cjs.map → chunk-OI2GQ25X.cjs.map} +1 -1
  146. package/dist/{chunk-AU3IJNNP.js → chunk-OMZ37BM2.js} +5 -5
  147. package/dist/{chunk-AU3IJNNP.js.map → chunk-OMZ37BM2.js.map} +1 -1
  148. package/dist/{chunk-C4DYN2SD.cjs → chunk-OORXGFL5.cjs} +48 -48
  149. package/dist/{chunk-C4DYN2SD.cjs.map → chunk-OORXGFL5.cjs.map} +1 -1
  150. package/dist/{chunk-HNYLMPQQ.cjs → chunk-OTUPEF2W.cjs} +149 -78
  151. package/dist/chunk-OTUPEF2W.cjs.map +1 -0
  152. package/dist/{chunk-BRN3RGD2.js → chunk-OVI7IXYX.js} +3 -3
  153. package/dist/{chunk-BRN3RGD2.js.map → chunk-OVI7IXYX.js.map} +1 -1
  154. package/dist/{chunk-WMKEGJG4.js → chunk-P6YLZTRE.js} +3 -3
  155. package/dist/{chunk-WMKEGJG4.js.map → chunk-P6YLZTRE.js.map} +1 -1
  156. package/dist/{chunk-C2ZP5YS6.cjs → chunk-PFBRJBUL.cjs} +278 -160
  157. package/dist/chunk-PFBRJBUL.cjs.map +1 -0
  158. package/dist/{chunk-EJSYWAEV.js → chunk-QTD6HX4O.js} +5 -5
  159. package/dist/{chunk-EJSYWAEV.js.map → chunk-QTD6HX4O.js.map} +1 -1
  160. package/dist/{chunk-JL5UEBWT.cjs → chunk-ROR5ZR6A.cjs} +45 -45
  161. package/dist/{chunk-JL5UEBWT.cjs.map → chunk-ROR5ZR6A.cjs.map} +1 -1
  162. package/dist/{chunk-EDHV4CBU.js → chunk-S5TERQVW.js} +37 -134
  163. package/dist/chunk-S5TERQVW.js.map +1 -0
  164. package/dist/{chunk-FSLTU57P.js → chunk-SDBBMD4N.js} +3 -3
  165. package/dist/{chunk-FSLTU57P.js.map → chunk-SDBBMD4N.js.map} +1 -1
  166. package/dist/{chunk-36LIJXWC.js → chunk-SHFBB23Q.js} +4 -4
  167. package/dist/{chunk-36LIJXWC.js.map → chunk-SHFBB23Q.js.map} +1 -1
  168. package/dist/chunk-SIT26LAZ.cjs +614 -0
  169. package/dist/chunk-SIT26LAZ.cjs.map +1 -0
  170. package/dist/{chunk-C6KE2HSQ.cjs → chunk-SR725PWF.cjs} +1662 -1392
  171. package/dist/chunk-SR725PWF.cjs.map +1 -0
  172. package/dist/{chunk-S7WIRFNS.cjs → chunk-TKZXMWQF.cjs} +13 -12
  173. package/dist/chunk-TKZXMWQF.cjs.map +1 -0
  174. package/dist/{chunk-5PDSCELM.cjs → chunk-TQHGE7UC.cjs} +29 -164
  175. package/dist/chunk-TQHGE7UC.cjs.map +1 -0
  176. package/dist/{chunk-XBHRKLZU.cjs → chunk-TUNPBZY3.cjs} +4 -4
  177. package/dist/{chunk-XBHRKLZU.cjs.map → chunk-TUNPBZY3.cjs.map} +1 -1
  178. package/dist/{chunk-KOAI3KIV.cjs → chunk-TZEGUG6D.cjs} +4 -4
  179. package/dist/{chunk-KOAI3KIV.cjs.map → chunk-TZEGUG6D.cjs.map} +1 -1
  180. package/dist/chunk-UGHG7PGX.js +592 -0
  181. package/dist/chunk-UGHG7PGX.js.map +1 -0
  182. package/dist/{chunk-N3QTGPC7.cjs → chunk-UMGZDVOA.cjs} +303 -101
  183. package/dist/chunk-UMGZDVOA.cjs.map +1 -0
  184. package/dist/{chunk-RHDOAQCT.cjs → chunk-WCCATHMB.cjs} +140 -135
  185. package/dist/chunk-WCCATHMB.cjs.map +1 -0
  186. package/dist/{chunk-DYPRZ53S.cjs → chunk-WODMN3Q2.cjs} +27 -27
  187. package/dist/{chunk-DYPRZ53S.cjs.map → chunk-WODMN3Q2.cjs.map} +1 -1
  188. package/dist/{chunk-OZJCH7ZS.js → chunk-XVWOYKIK.js} +3 -3
  189. package/dist/{chunk-OZJCH7ZS.js.map → chunk-XVWOYKIK.js.map} +1 -1
  190. package/dist/{chunk-IHRDX7K6.js → chunk-YIURNGXI.js} +46 -56
  191. package/dist/chunk-YIURNGXI.js.map +1 -0
  192. package/dist/{chunk-GWUWRZXW.js → chunk-YVF2EM7B.js} +3 -3
  193. package/dist/{chunk-GWUWRZXW.js.map → chunk-YVF2EM7B.js.map} +1 -1
  194. package/dist/{chunk-EAMVXR5B.js → chunk-ZDKTPBGV.js} +4 -4
  195. package/dist/{chunk-EAMVXR5B.js.map → chunk-ZDKTPBGV.js.map} +1 -1
  196. package/dist/{chunk-A2LJG5GM.js → chunk-ZFMCDJGB.js} +803 -148
  197. package/dist/chunk-ZFMCDJGB.js.map +1 -0
  198. package/dist/{chunk-62ZXBMSD.js → chunk-ZLONH2UD.js} +46 -3
  199. package/dist/chunk-ZLONH2UD.js.map +1 -0
  200. package/dist/core/index.cjs +28 -27
  201. package/dist/core/index.d.cts +4 -4
  202. package/dist/core/index.d.ts +4 -4
  203. package/dist/core/index.js +8 -7
  204. package/dist/ddl-BL1NZLMY.d.cts +78 -0
  205. package/dist/ddl-D_oW-EVO.d.ts +78 -0
  206. package/dist/graph-extension/index.cjs +20 -20
  207. package/dist/graph-extension/index.d.cts +4 -4
  208. package/dist/graph-extension/index.d.ts +4 -4
  209. package/dist/graph-extension/index.js +4 -4
  210. package/dist/graph-merge/index.cjs +3418 -706
  211. package/dist/graph-merge/index.cjs.map +1 -1
  212. package/dist/graph-merge/index.d.cts +550 -58
  213. package/dist/graph-merge/index.d.ts +550 -58
  214. package/dist/graph-merge/index.js +3191 -497
  215. package/dist/graph-merge/index.js.map +1 -1
  216. package/dist/{index-Deyu8IXL.d.ts → index-COs_z6nV.d.cts} +47 -3
  217. package/dist/{index-DrRS51Ld.d.cts → index-D7d1u2gr.d.ts} +47 -3
  218. package/dist/index.cjs +233 -216
  219. package/dist/index.cjs.map +1 -1
  220. package/dist/index.d.cts +12 -12
  221. package/dist/index.d.ts +12 -12
  222. package/dist/index.js +35 -34
  223. package/dist/index.js.map +1 -1
  224. package/dist/indexes/index.cjs +13 -13
  225. package/dist/indexes/index.d.cts +4 -4
  226. package/dist/indexes/index.d.ts +4 -4
  227. package/dist/indexes/index.js +6 -6
  228. package/dist/interchange/index.cjs +53 -52
  229. package/dist/interchange/index.cjs.map +1 -1
  230. package/dist/interchange/index.d.cts +17 -13
  231. package/dist/interchange/index.d.ts +17 -13
  232. package/dist/interchange/index.js +17 -16
  233. package/dist/interchange/index.js.map +1 -1
  234. package/dist/{manager-ptr3JLRP.d.cts → manager-CYaff3n3.d.cts} +2 -2
  235. package/dist/{manager-DX983gJ0.d.ts → manager-D9eRT_ns.d.ts} +2 -2
  236. package/dist/{materialize-indexes-CpXoggWU.d.ts → materialize-indexes-DJ3ykH59.d.ts} +1 -1
  237. package/dist/{materialize-indexes-BXz77YqO.d.cts → materialize-indexes-DTtAnvfY.d.cts} +1 -1
  238. package/dist/{postgres-DwgEXSPI.d.cts → postgres-CcL4bAHS.d.ts} +1 -1
  239. package/dist/{postgres-QdOMHTBz.d.ts → postgres-DMj39MEu.d.cts} +1 -1
  240. package/dist/profiler/index.d.cts +9 -9
  241. package/dist/profiler/index.d.ts +9 -9
  242. package/dist/provenance/index.cjs +46 -46
  243. package/dist/provenance/index.cjs.map +1 -1
  244. package/dist/provenance/index.d.cts +7 -7
  245. package/dist/provenance/index.d.ts +7 -7
  246. package/dist/provenance/index.js +13 -13
  247. package/dist/provenance/index.js.map +1 -1
  248. package/dist/repair-validity-windows-BFNZvd_H.d.cts +166 -0
  249. package/dist/repair-validity-windows-DlUSqwCg.d.ts +166 -0
  250. package/dist/schema/index.cjs +45 -44
  251. package/dist/schema/index.d.cts +6 -6
  252. package/dist/schema/index.d.ts +6 -6
  253. package/dist/schema/index.js +18 -17
  254. package/dist/{searchable-BOUuA83f.d.ts → searchable-DHJMh_nj.d.cts} +1 -1
  255. package/dist/{searchable-BrUh0pdc.d.cts → searchable-bpE1bBfc.d.ts} +1 -1
  256. package/dist/{sqlite-BfYcV61E.d.cts → sqlite-D7Oz0SQh.d.ts} +1 -1
  257. package/dist/{sqlite-DK40XVR1.d.ts → sqlite-YppHrNFb.d.cts} +1 -1
  258. package/dist/{store-FTqBpuJD.d.cts → store-JUVvtmR4.d.cts} +228 -92
  259. package/dist/{store-Bo1psfVZ.d.ts → store-UzrGvZOo.d.ts} +228 -92
  260. package/dist/{temporal-DPtn0HOu.d.ts → temporal-5GqpYCk2.d.cts} +1 -1
  261. package/dist/{temporal-CXewwLTB.d.cts → temporal-CbnLzTmM.d.ts} +1 -1
  262. package/dist/{types-Du78EvpN.d.ts → types-BqFZTQmV.d.cts} +60 -9
  263. package/dist/{types-Du78EvpN.d.cts → types-BqFZTQmV.d.ts} +60 -9
  264. package/dist/{types-CeT7xM4M.d.ts → types-Bx74kaTt.d.ts} +1 -1
  265. package/dist/{types-XR1nHERK.d.cts → types-CXAhpW-c.d.cts} +1 -1
  266. package/dist/{where-CJsp-YUf.d.cts → where-DI_Fqz-X.d.cts} +1 -1
  267. package/dist/{where-CMbFiWwp.d.ts → where-O-k2wgYm.d.ts} +1 -1
  268. package/package.json +1 -1
  269. package/dist/chunk-32UETY6S.cjs.map +0 -1
  270. package/dist/chunk-5PDSCELM.cjs.map +0 -1
  271. package/dist/chunk-62ZXBMSD.js.map +0 -1
  272. package/dist/chunk-6LAXM4J2.cjs +0 -12
  273. package/dist/chunk-73MWKDFK.cjs +0 -12
  274. package/dist/chunk-A2LJG5GM.js.map +0 -1
  275. package/dist/chunk-A4R3H7RU.cjs.map +0 -1
  276. package/dist/chunk-ANKOXPCC.cjs +0 -267
  277. package/dist/chunk-ANKOXPCC.cjs.map +0 -1
  278. package/dist/chunk-AT3MLMJV.js.map +0 -1
  279. package/dist/chunk-BEB4OFZF.cjs.map +0 -1
  280. package/dist/chunk-BQM5P2NO.cjs.map +0 -1
  281. package/dist/chunk-C2ZP5YS6.cjs.map +0 -1
  282. package/dist/chunk-C6KE2HSQ.cjs.map +0 -1
  283. package/dist/chunk-DSAWGCMP.js +0 -254
  284. package/dist/chunk-DSAWGCMP.js.map +0 -1
  285. package/dist/chunk-E4OSGBCM.cjs.map +0 -1
  286. package/dist/chunk-EDHV4CBU.js.map +0 -1
  287. package/dist/chunk-FA6Z7B5L.js +0 -244
  288. package/dist/chunk-FA6Z7B5L.js.map +0 -1
  289. package/dist/chunk-GVAMRRZR.cjs +0 -268
  290. package/dist/chunk-GVAMRRZR.cjs.map +0 -1
  291. package/dist/chunk-GWXXHOLU.js.map +0 -1
  292. package/dist/chunk-HNYLMPQQ.cjs.map +0 -1
  293. package/dist/chunk-IHRDX7K6.js.map +0 -1
  294. package/dist/chunk-KCH7WQA5.cjs.map +0 -1
  295. package/dist/chunk-KXSMF6PL.js.map +0 -1
  296. package/dist/chunk-LHYSY6SE.js.map +0 -1
  297. package/dist/chunk-N3QTGPC7.cjs.map +0 -1
  298. package/dist/chunk-QPOQX2DI.cjs.map +0 -1
  299. package/dist/chunk-R7EWHKID.js.map +0 -1
  300. package/dist/chunk-RFDEYLIK.js.map +0 -1
  301. package/dist/chunk-RHDOAQCT.cjs.map +0 -1
  302. package/dist/chunk-S3G5VLSW.js.map +0 -1
  303. package/dist/chunk-S7WIRFNS.cjs.map +0 -1
  304. package/dist/chunk-UTVQPZPN.cjs.map +0 -1
  305. package/dist/chunk-WEJHA7AD.js.map +0 -1
  306. package/dist/chunk-WYFB7BN3.js.map +0 -1
  307. package/dist/chunk-YQ4JONWE.js.map +0 -1
  308. package/dist/chunk-Z43KWLZF.js.map +0 -1
  309. package/dist/ddl-mE07h_EM.d.cts +0 -38
  310. package/dist/ddl-opIn8DfX.d.ts +0 -38
@@ -0,0 +1,614 @@
1
+ 'use strict';
2
+
3
+ var chunkMRDBBHIZ_cjs = require('./chunk-MRDBBHIZ.cjs');
4
+
5
+ // src/backend/graph-backend-keys.ts
6
+ var GRAPH_BACKEND_PROJECTION_KEYS = [
7
+ "dialect",
8
+ "capabilities",
9
+ "tableNames",
10
+ "fulltextStrategy",
11
+ "vectorStrategy",
12
+ "insertNode",
13
+ "insertNodeNoReturn",
14
+ "insertNodesBatch",
15
+ "insertNodesBatchReturning",
16
+ "updateNode",
17
+ "updateNodeSet",
18
+ "deleteNode",
19
+ "hardDeleteNode",
20
+ "getNode",
21
+ "getNodes",
22
+ "insertEdge",
23
+ "insertEdgeNoReturn",
24
+ "insertEdgesBatch",
25
+ "insertEdgesBatchReturning",
26
+ "updateEdge",
27
+ "deleteEdge",
28
+ "hardDeleteEdge",
29
+ "deleteEdgesBatch",
30
+ "hardDeleteEdgesBatch",
31
+ "getEdge",
32
+ "getEdges",
33
+ "countEdgesFrom",
34
+ "edgeExistsBetween",
35
+ "findEdgesConnectedTo",
36
+ "findNodesByKind",
37
+ "countNodesByKind",
38
+ "findEdgesByKind",
39
+ "findEdgesByEndpointSet",
40
+ "findEdgesByHeterogeneousEndpointSet",
41
+ "countEdgesByKind",
42
+ "insertUnique",
43
+ "insertUniqueBatch",
44
+ "deleteUnique",
45
+ "hardDeleteUniquesByNodeIds",
46
+ "checkUnique",
47
+ "checkUniqueBatch",
48
+ "getActiveSchema",
49
+ "getSchemaVersion",
50
+ "commitSchemaVersion",
51
+ "commitSchemaVersionIfKindsEmpty",
52
+ "lockSchemaVersionForWrite",
53
+ "commitSchemaVersionWithPreflight",
54
+ "setActiveVersion",
55
+ "schemaWriteTransaction",
56
+ "upsertEmbedding",
57
+ "upsertEmbeddingBatch",
58
+ "deleteEmbedding",
59
+ "deleteEmbeddingBatch",
60
+ "vectorSearch",
61
+ "createVectorIndex",
62
+ "dropVectorIndex",
63
+ "hybridSearch",
64
+ "upsertFulltext",
65
+ "deleteFulltext",
66
+ "upsertFulltextBatch",
67
+ "deleteFulltextBatch",
68
+ "fulltextSearch",
69
+ "ensureIndexMaterializationsTable",
70
+ "ensureTrigramExtension",
71
+ "ensureRevisionOriginsTable",
72
+ "getIndexMaterialization",
73
+ "getIndexMaterializations",
74
+ "recordIndexMaterialization",
75
+ "claimIndexMaterialization",
76
+ "releaseIndexMaterializationClaim",
77
+ "ensureContributionMaterializationsTable",
78
+ "getContributionMaterialization",
79
+ "recordContributionMaterialization",
80
+ "assertRuntimeContributionsInitialized",
81
+ "ensureKindRemovalsTable",
82
+ "getPendingKindRemovals",
83
+ "getAllKindRemovals",
84
+ "recordKindRemoval",
85
+ "ensureReconciliationMarkersTable",
86
+ "ensureRuntimeContributions",
87
+ "ensureVectorSlotContribution",
88
+ "ensureVectorSlotContributions",
89
+ "assertVectorSlotInitialized",
90
+ "assertVectorSlotsInitialized",
91
+ "deleteVectorSlotContribution",
92
+ "verifyContributions",
93
+ "repairContributions",
94
+ "probeContributions",
95
+ "rebuildContribution",
96
+ "ensureFulltextTable",
97
+ "ensureIdentityTables",
98
+ "identityTableDdl",
99
+ "getReconciliationMarker",
100
+ "setReconciliationMarker",
101
+ "clearGraph",
102
+ "bootstrapTables",
103
+ "refreshStatistics",
104
+ "trustedImport",
105
+ "execute",
106
+ "executeStatement",
107
+ "executeTemporaryStatement",
108
+ "executeRaw",
109
+ "compileSql",
110
+ "executeDdl",
111
+ "transaction",
112
+ "close"
113
+ ];
114
+
115
+ // src/backend/transaction-resource.ts
116
+ var BACKEND_RESOURCE_AUDITS = /* @__PURE__ */ new WeakMap();
117
+ var ACTIVE_SERIALIZED_STREAMS = /* @__PURE__ */ new Map();
118
+ function auditsAgree(left, right) {
119
+ if (left.kind === "serialized") {
120
+ return right.kind === "serialized" && left.resource === right.resource;
121
+ }
122
+ return right.kind === "independent" && left.identityLeaseResource === right.identityLeaseResource;
123
+ }
124
+ function formatAudit(audit) {
125
+ return audit.kind === "serialized" ? "serialized" : "independent";
126
+ }
127
+ var SERIALIZED_RESOURCE_CONFLICTS = /* @__PURE__ */ new WeakMap();
128
+ function describeSerializedResource(resource) {
129
+ const constructorName = resource.constructor?.name;
130
+ return typeof constructorName === "string" && constructorName !== "" ? constructorName : "Object";
131
+ }
132
+ function resolveDeclaredBackendResource(detected, declaration) {
133
+ switch (declaration?.mode) {
134
+ case "shared": {
135
+ if (detected !== void 0 && detected !== declaration.resource) {
136
+ const refusal = new chunkMRDBBHIZ_cjs.ConfigurationError(
137
+ `serializedResource declared { mode: "shared" } naming an object that is not the connection this backend was detected to run on. Two wrappers over one connection must name the SAME object, or the guards that refuse a concurrent export/import pair on it stop seeing them as one resource.`,
138
+ {
139
+ reason: "serialized-resource-conflict",
140
+ declaredKind: describeSerializedResource(declaration.resource),
141
+ detectedKind: describeSerializedResource(detected)
142
+ },
143
+ {
144
+ suggestion: `Declare the client TypeGraph already detected (or drop the declaration and let detection stand). Use { mode: "independent" } if the detection is wrong and this backend really does run on its own connection.`
145
+ }
146
+ );
147
+ SERIALIZED_RESOURCE_CONFLICTS.set(refusal, {
148
+ declared: declaration.resource,
149
+ detected
150
+ });
151
+ throw refusal;
152
+ }
153
+ return { kind: "serialized", resource: declaration.resource };
154
+ }
155
+ case "independent": {
156
+ return { kind: "independent", identityLeaseResource: {} };
157
+ }
158
+ case "detect":
159
+ case void 0: {
160
+ return detected === void 0 ? { kind: "independent" } : { kind: "serialized", resource: detected };
161
+ }
162
+ }
163
+ }
164
+ function auditBackendResource(backend, audit) {
165
+ const recorded = BACKEND_RESOURCE_AUDITS.get(backend);
166
+ if (recorded !== void 0) {
167
+ if (auditsAgree(recorded, audit)) return;
168
+ throw new TypeError(
169
+ `A backend's serialized-resource audit is written once: this backend was audited "${formatAudit(recorded)}" and a conflicting audit "${formatAudit(audit)}"${recorded.kind === "serialized" && audit.kind === "serialized" ? " naming a different connection" : ""} was attempted. The stream lease closes over the resource it claimed, so a verdict that changes under a live lease de-serializes a pair that really does share a connection.`
170
+ );
171
+ }
172
+ BACKEND_RESOURCE_AUDITS.set(backend, audit);
173
+ }
174
+ function carryBackendResourceAudit(derived, base) {
175
+ const audit = BACKEND_RESOURCE_AUDITS.get(base);
176
+ if (audit !== void 0) BACKEND_RESOURCE_AUDITS.set(derived, audit);
177
+ }
178
+ function resolveBackendAudit(backend) {
179
+ return BACKEND_RESOURCE_AUDITS.get(backend);
180
+ }
181
+ function sharesSerializedTransactionResource(left, right) {
182
+ const leftAudit = resolveBackendAudit(left);
183
+ if (leftAudit?.kind !== "serialized") return false;
184
+ const rightAudit = resolveBackendAudit(right);
185
+ return rightAudit?.kind === "serialized" && leftAudit.resource === rightAudit.resource;
186
+ }
187
+ function snapshotExportContention(source, target) {
188
+ if (!source.capabilities.transactions) return void 0;
189
+ if (source === target && source.dialect === "sqlite") {
190
+ return "same-sqlite-backend";
191
+ }
192
+ if (sharesSerializedTransactionResource(source, target)) {
193
+ return "shared-resource";
194
+ }
195
+ return void 0;
196
+ }
197
+ function streamLeaseResource(backend) {
198
+ const audit = resolveBackendAudit(backend);
199
+ if (audit?.kind === "serialized") return audit.resource;
200
+ if (audit?.kind === "independent" && audit.identityLeaseResource !== void 0 && backend.dialect === "sqlite" && backend.capabilities.transactions) {
201
+ return audit.identityLeaseResource;
202
+ }
203
+ return void 0;
204
+ }
205
+ function acquireSerializedStreamLease(backend, kind) {
206
+ const resource = streamLeaseResource(backend);
207
+ if (resource === void 0) {
208
+ return {
209
+ acquired: true,
210
+ resource: void 0,
211
+ release: () => {
212
+ }
213
+ };
214
+ }
215
+ const holder = ACTIVE_SERIALIZED_STREAMS.get(resource);
216
+ if (holder !== void 0) return { acquired: false, heldBy: holder };
217
+ ACTIVE_SERIALIZED_STREAMS.set(resource, kind);
218
+ let released = false;
219
+ return {
220
+ acquired: true,
221
+ resource,
222
+ release: () => {
223
+ if (released) return;
224
+ released = true;
225
+ ACTIVE_SERIALIZED_STREAMS.delete(resource);
226
+ }
227
+ };
228
+ }
229
+
230
+ // src/backend/derive-backend.ts
231
+ function deriveBackend(base, overrides) {
232
+ function hasOverlayProperty(property) {
233
+ return Object.hasOwn(overrides, property);
234
+ }
235
+ const decoratedBackend = new Proxy(base, {
236
+ get(targetObject, property) {
237
+ if (hasOverlayProperty(property)) {
238
+ return Reflect.get(overrides, property, overrides);
239
+ }
240
+ return Reflect.get(targetObject, property, targetObject);
241
+ },
242
+ has(targetObject, property) {
243
+ return hasOverlayProperty(property) || Reflect.has(targetObject, property);
244
+ },
245
+ ownKeys(targetObject) {
246
+ return [
247
+ .../* @__PURE__ */ new Set([
248
+ ...Reflect.ownKeys(targetObject),
249
+ ...Reflect.ownKeys(overrides)
250
+ ])
251
+ ];
252
+ },
253
+ getOwnPropertyDescriptor(targetObject, property) {
254
+ if (hasOverlayProperty(property)) {
255
+ const descriptor = Reflect.getOwnPropertyDescriptor(
256
+ overrides,
257
+ property
258
+ );
259
+ if (descriptor === void 0) return;
260
+ return { ...descriptor, configurable: true };
261
+ }
262
+ return Reflect.getOwnPropertyDescriptor(targetObject, property);
263
+ },
264
+ set(targetObject, property, value) {
265
+ if (hasOverlayProperty(property)) {
266
+ return Reflect.set(overrides, property, value, overrides);
267
+ }
268
+ return Reflect.set(targetObject, property, value, targetObject);
269
+ },
270
+ defineProperty(targetObject, property, attributes) {
271
+ if (hasOverlayProperty(property)) {
272
+ return Reflect.defineProperty(overrides, property, attributes);
273
+ }
274
+ return Reflect.defineProperty(targetObject, property, attributes);
275
+ },
276
+ deleteProperty(targetObject, property) {
277
+ if (hasOverlayProperty(property)) {
278
+ return Reflect.deleteProperty(overrides, property);
279
+ }
280
+ return Reflect.deleteProperty(targetObject, property);
281
+ }
282
+ });
283
+ carryBackendResourceAudit(decoratedBackend, base);
284
+ return decoratedBackend;
285
+ }
286
+ function projectBackend(base, keys) {
287
+ const entries = keys.flatMap((key) => {
288
+ if (!Reflect.has(base, key)) return [];
289
+ return [[key, Reflect.get(base, key)]];
290
+ });
291
+ const projection = Object.fromEntries(entries);
292
+ carryBackendResourceAudit(projection, base);
293
+ return projection;
294
+ }
295
+ function projectGraphBackend(base) {
296
+ return projectBackend(
297
+ base,
298
+ GRAPH_BACKEND_PROJECTION_KEYS
299
+ );
300
+ }
301
+ function wrapWithManagedClose(backend, teardown) {
302
+ let backendClosed = false;
303
+ let teardownComplete = false;
304
+ let closeInFlight;
305
+ async function closeManagedResources() {
306
+ const errors = [];
307
+ if (!backendClosed) {
308
+ try {
309
+ await backend.close();
310
+ backendClosed = true;
311
+ } catch (error) {
312
+ errors.push(error);
313
+ }
314
+ }
315
+ if (!teardownComplete) {
316
+ try {
317
+ await teardown();
318
+ teardownComplete = true;
319
+ } catch (error) {
320
+ errors.push(error);
321
+ }
322
+ }
323
+ if (errors.length === 1) throw errors[0];
324
+ if (errors.length > 1) {
325
+ throw new AggregateError(
326
+ errors,
327
+ "The backend and its managed resource both failed to close."
328
+ );
329
+ }
330
+ }
331
+ const closeOverlay = {
332
+ async close() {
333
+ if (backendClosed && teardownComplete) return;
334
+ closeInFlight ??= closeManagedResources().finally(() => {
335
+ closeInFlight = void 0;
336
+ });
337
+ await closeInFlight;
338
+ }
339
+ };
340
+ return deriveBackend(backend, closeOverlay);
341
+ }
342
+
343
+ // src/utils/sql-errors.ts
344
+ var SQLITE_MISSING_TABLE_PATTERN = "no such table";
345
+ var SQLITE_GENERIC_ERROR_CODE = "SQLITE_ERROR";
346
+ var SQLITE_NOT_AUTHORIZED_CODE = "SQLITE_AUTH";
347
+ var SQLITE_STALE_SNAPSHOT_CODE = "SQLITE_BUSY_SNAPSHOT";
348
+ var SQLITE_STALE_SNAPSHOT_EXTENDED_CODE = 517;
349
+ var DRIZZLE_QUERY_ERROR_PREFIX = "Failed query:";
350
+ var POSTGRES_UNDEFINED_RELATION_PATTERN = /\b(?:relation|table)\s+"[^"]+"\s+does not exist\b/i;
351
+ var POSTGRES_UNDEFINED_TABLE_CODE = "42P01";
352
+ var POSTGRES_UNIQUE_VIOLATION_CODE = "23505";
353
+ var POSTGRES_CONCURRENT_DDL_RACE_SQL_STATES = [
354
+ POSTGRES_UNIQUE_VIOLATION_CODE,
355
+ "42701"
356
+ ];
357
+ var POSTGRES_INTERNAL_ERROR_CODE = "XX000";
358
+ var POSTGRES_CONCURRENT_TUPLE_UPDATE_MESSAGE = "tuple concurrently updated";
359
+ var POSTGRES_TEMPORARY_TABLE_UNAVAILABLE_SQL_STATES = [
360
+ "25006",
361
+ "42501"
362
+ ];
363
+ var POSTGRES_READ_WRITE_REFUSED_SQL_STATES = ["0A000", "25006"];
364
+ function* errorChain(error) {
365
+ const seen = /* @__PURE__ */ new Set();
366
+ let current = error;
367
+ while (current !== void 0 && current !== null && !seen.has(current)) {
368
+ seen.add(current);
369
+ yield current;
370
+ current = canReadProperty(current) ? Reflect.get(current, "cause") : void 0;
371
+ }
372
+ }
373
+ function canReadProperty(value) {
374
+ return typeof value === "object" && value !== null || typeof value === "function";
375
+ }
376
+ function isPostgresUndefinedTable(link) {
377
+ return canReadProperty(link) && Reflect.get(link, "code") === POSTGRES_UNDEFINED_TABLE_CODE;
378
+ }
379
+ function messageProperty(link) {
380
+ if (typeof link === "string") return link;
381
+ if (link instanceof Error) return link.message;
382
+ const message = canReadProperty(link) ? Reflect.get(link, "message") : void 0;
383
+ return typeof message === "string" ? message : void 0;
384
+ }
385
+ function errorMessage(link) {
386
+ return messageProperty(link) ?? String(link);
387
+ }
388
+ function missingTableMessage(link) {
389
+ return typeof link === "string" || link instanceof Error ? messageProperty(link) : void 0;
390
+ }
391
+ function sqliteErrorCode(link) {
392
+ if (!canReadProperty(link)) return void 0;
393
+ return Reflect.get(link, "code");
394
+ }
395
+ function isBareSqliteErrorMarker(link) {
396
+ const message = messageProperty(link);
397
+ if (message === SQLITE_GENERIC_ERROR_CODE) return true;
398
+ if (sqliteErrorCode(link) !== SQLITE_GENERIC_ERROR_CODE) return false;
399
+ return message === void 0 || message === SQLITE_GENERIC_ERROR_CODE || message.includes(SQLITE_MISSING_TABLE_PATTERN);
400
+ }
401
+ function isPostgresUndefinedRelationMessage(link) {
402
+ const message = errorMessage(link);
403
+ if (message.startsWith(DRIZZLE_QUERY_ERROR_PREFIX)) return false;
404
+ return POSTGRES_UNDEFINED_RELATION_PATTERN.test(message);
405
+ }
406
+ function isInsufficientResourcesError(error) {
407
+ for (const link of errorChain(error)) {
408
+ if (!canReadProperty(link)) continue;
409
+ const code = Reflect.get(link, "code");
410
+ if (typeof code === "string" && code.length === 5 && code.startsWith("53"))
411
+ return true;
412
+ }
413
+ return false;
414
+ }
415
+ function isMissingTableError(error) {
416
+ let everyPriorLinkWasError = true;
417
+ for (const link of errorChain(error)) {
418
+ if (isPostgresUndefinedTable(link)) return true;
419
+ if (isPostgresUndefinedRelationMessage(link)) return true;
420
+ if (isBareSqliteErrorMarker(link)) return true;
421
+ if (everyPriorLinkWasError) {
422
+ const message = missingTableMessage(link);
423
+ if (message?.includes(SQLITE_MISSING_TABLE_PATTERN) === true) {
424
+ return true;
425
+ }
426
+ }
427
+ if (!(link instanceof Error)) everyPriorLinkWasError = false;
428
+ }
429
+ return false;
430
+ }
431
+ function isPostgresConcurrentTupleUpdate(link) {
432
+ if (!canReadProperty(link)) return false;
433
+ if (Reflect.get(link, "code") !== POSTGRES_INTERNAL_ERROR_CODE) return false;
434
+ return messageProperty(link)?.includes(
435
+ POSTGRES_CONCURRENT_TUPLE_UPDATE_MESSAGE
436
+ ) === true;
437
+ }
438
+ function isPostgresConcurrentDdlRaceError(error) {
439
+ for (const link of errorChain(error)) {
440
+ if (!canReadProperty(link)) continue;
441
+ if (isSqlStateIn(
442
+ Reflect.get(link, "code"),
443
+ POSTGRES_CONCURRENT_DDL_RACE_SQL_STATES
444
+ )) {
445
+ return true;
446
+ }
447
+ if (isPostgresConcurrentTupleUpdate(link)) return true;
448
+ }
449
+ return false;
450
+ }
451
+ var POSTGRES_CONSTRAINT_FIELDS = ["constraint", "constraint_name"];
452
+ var POSTGRES_RELATION_FIELDS = ["table", "table_name"];
453
+ var SQLITE_PRIMARY_KEY_VIOLATION_CODE = "SQLITE_CONSTRAINT_PRIMARYKEY";
454
+ var SQLITE_PRIMARY_KEY_VIOLATION_EXTENDED_CODE = 1555;
455
+ var SQLITE_EXTENDED_CODE_FIELDS = ["rawCode", "extendedCode"];
456
+ function firstStringField(link, fields) {
457
+ for (const field of fields) {
458
+ const value = Reflect.get(link, field);
459
+ if (typeof value === "string") return value;
460
+ }
461
+ return void 0;
462
+ }
463
+ function isPostgresPrimaryKeyViolation(link, relation) {
464
+ if (Reflect.get(link, "code") !== POSTGRES_UNIQUE_VIOLATION_CODE)
465
+ return false;
466
+ if (firstStringField(link, POSTGRES_RELATION_FIELDS) !== relation.table) {
467
+ return false;
468
+ }
469
+ const constraint = firstStringField(link, POSTGRES_CONSTRAINT_FIELDS);
470
+ return constraint !== void 0 && relation.constraintNames.includes(constraint);
471
+ }
472
+ function isSqlitePrimaryKeyViolation(link) {
473
+ if (Reflect.get(link, "code") === SQLITE_PRIMARY_KEY_VIOLATION_CODE) {
474
+ return true;
475
+ }
476
+ for (const field of SQLITE_EXTENDED_CODE_FIELDS) {
477
+ const value = Reflect.get(link, field);
478
+ if (typeof value === "number" && value === SQLITE_PRIMARY_KEY_VIOLATION_EXTENDED_CODE) {
479
+ return true;
480
+ }
481
+ }
482
+ return false;
483
+ }
484
+ function isDuplicatePrimaryKeyError(error, relation) {
485
+ for (const link of errorChain(error)) {
486
+ if (!canReadProperty(link)) continue;
487
+ if (isPostgresPrimaryKeyViolation(link, relation)) return true;
488
+ if (isSqlitePrimaryKeyViolation(link)) return true;
489
+ }
490
+ return false;
491
+ }
492
+ function isSqlStateIn(code, states) {
493
+ const known = states;
494
+ return typeof code === "string" && known.includes(code);
495
+ }
496
+ function matchSqlState(error, states) {
497
+ for (const link of errorChain(error)) {
498
+ if (!canReadProperty(link)) continue;
499
+ const code = Reflect.get(link, "code");
500
+ if (isSqlStateIn(code, states)) return code;
501
+ }
502
+ return void 0;
503
+ }
504
+ function postgresTemporaryTableUnavailableSqlState(error) {
505
+ return matchSqlState(error, POSTGRES_TEMPORARY_TABLE_UNAVAILABLE_SQL_STATES);
506
+ }
507
+ function postgresReadWriteRefusedSqlState(error) {
508
+ return matchSqlState(error, POSTGRES_READ_WRITE_REFUSED_SQL_STATES);
509
+ }
510
+ function isSqliteNotAuthorizedError(error) {
511
+ for (const link of errorChain(error)) {
512
+ if (sqliteErrorCode(link) === SQLITE_NOT_AUTHORIZED_CODE) return true;
513
+ const message = messageProperty(link);
514
+ if (message?.includes(SQLITE_NOT_AUTHORIZED_CODE) === true && message.toLowerCase().includes("not authorized")) {
515
+ return true;
516
+ }
517
+ }
518
+ return false;
519
+ }
520
+ function isSqliteStaleSnapshotError(error) {
521
+ for (const link of errorChain(error)) {
522
+ if (sqliteErrorCode(link) === SQLITE_STALE_SNAPSHOT_CODE) return true;
523
+ if (!canReadProperty(link)) continue;
524
+ for (const field of SQLITE_EXTENDED_CODE_FIELDS) {
525
+ if (Reflect.get(link, field) === SQLITE_STALE_SNAPSHOT_EXTENDED_CODE) {
526
+ return true;
527
+ }
528
+ }
529
+ }
530
+ return false;
531
+ }
532
+ function historyMissingRecordedRelationsError(details, cause) {
533
+ return new chunkMRDBBHIZ_cjs.ConfigurationError(
534
+ "history: true requires the recorded-time relations to exist, but a recorded relation is missing.",
535
+ details,
536
+ {
537
+ cause,
538
+ suggestion: "Create the recorded-time relations (typegraph_recorded_nodes, typegraph_recorded_edges, typegraph_recorded_clock) \u2014 e.g. re-run the generated migration SQL \u2014 on this database before enabling history capture."
539
+ }
540
+ );
541
+ }
542
+ async function withRecordedRelationsPrecondition(promise, details) {
543
+ try {
544
+ return await promise;
545
+ } catch (error) {
546
+ if (!isMissingTableError(error)) throw error;
547
+ throw historyMissingRecordedRelationsError(
548
+ { ...details, code: "RECORDED_RELATIONS_MISSING" },
549
+ error
550
+ );
551
+ }
552
+ }
553
+ var DIMENSION_MISMATCH_PATTERN = /expected (\d+) dimensions(?:[,\s]+(?:not|got|but got|but)\s*(\d+))?/i;
554
+ function parseDimensionMismatch(error) {
555
+ for (const link of errorChain(error)) {
556
+ const message = errorMessage(link);
557
+ const match = DIMENSION_MISMATCH_PATTERN.exec(message);
558
+ if (match) {
559
+ return {
560
+ expected: Number(match[1]),
561
+ actual: match[2] === void 0 ? void 0 : Number(match[2])
562
+ };
563
+ }
564
+ }
565
+ return void 0;
566
+ }
567
+
568
+ // src/utils/array.ts
569
+ function chunk(items, size) {
570
+ if (!Number.isSafeInteger(size) || size < 1) {
571
+ throw new RangeError(`chunk size must be a positive integer, got: ${size}`);
572
+ }
573
+ if (items.length === 0) return [];
574
+ if (items.length <= size) return [items];
575
+ const chunks = [];
576
+ for (let start = 0; start < items.length; start += size) {
577
+ chunks.push(items.slice(start, start + size));
578
+ }
579
+ return chunks;
580
+ }
581
+ function groupBy(items, keyFor) {
582
+ const groups = /* @__PURE__ */ new Map();
583
+ for (const item of items) {
584
+ const key = keyFor(item);
585
+ const group = groups.get(key) ?? [];
586
+ group.push(item);
587
+ groups.set(key, group);
588
+ }
589
+ return groups;
590
+ }
591
+
592
+ exports.acquireSerializedStreamLease = acquireSerializedStreamLease;
593
+ exports.auditBackendResource = auditBackendResource;
594
+ exports.chunk = chunk;
595
+ exports.deriveBackend = deriveBackend;
596
+ exports.errorChain = errorChain;
597
+ exports.groupBy = groupBy;
598
+ exports.isDuplicatePrimaryKeyError = isDuplicatePrimaryKeyError;
599
+ exports.isInsufficientResourcesError = isInsufficientResourcesError;
600
+ exports.isMissingTableError = isMissingTableError;
601
+ exports.isPostgresConcurrentDdlRaceError = isPostgresConcurrentDdlRaceError;
602
+ exports.isSqliteNotAuthorizedError = isSqliteNotAuthorizedError;
603
+ exports.isSqliteStaleSnapshotError = isSqliteStaleSnapshotError;
604
+ exports.parseDimensionMismatch = parseDimensionMismatch;
605
+ exports.postgresReadWriteRefusedSqlState = postgresReadWriteRefusedSqlState;
606
+ exports.postgresTemporaryTableUnavailableSqlState = postgresTemporaryTableUnavailableSqlState;
607
+ exports.projectBackend = projectBackend;
608
+ exports.projectGraphBackend = projectGraphBackend;
609
+ exports.resolveDeclaredBackendResource = resolveDeclaredBackendResource;
610
+ exports.snapshotExportContention = snapshotExportContention;
611
+ exports.withRecordedRelationsPrecondition = withRecordedRelationsPrecondition;
612
+ exports.wrapWithManagedClose = wrapWithManagedClose;
613
+ //# sourceMappingURL=chunk-SIT26LAZ.cjs.map
614
+ //# sourceMappingURL=chunk-SIT26LAZ.cjs.map