@nicia-ai/typegraph 0.41.0 → 0.42.1

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 (265) hide show
  1. package/dist/backend/drizzle/indexes.cjs +9 -9
  2. package/dist/backend/drizzle/indexes.d.cts +1 -2
  3. package/dist/backend/drizzle/indexes.d.ts +1 -2
  4. package/dist/backend/drizzle/indexes.js +5 -5
  5. package/dist/backend/index.cjs +50 -50
  6. package/dist/backend/index.d.cts +3 -4
  7. package/dist/backend/index.d.ts +3 -4
  8. package/dist/backend/index.js +11 -11
  9. package/dist/backend/postgres/index.cjs +26 -26
  10. package/dist/backend/postgres/index.d.cts +5 -6
  11. package/dist/backend/postgres/index.d.ts +5 -6
  12. package/dist/backend/postgres/index.js +13 -13
  13. package/dist/backend/postgres/pglite-store.cjs +34 -34
  14. package/dist/backend/postgres/pglite-store.d.cts +7 -8
  15. package/dist/backend/postgres/pglite-store.d.ts +7 -8
  16. package/dist/backend/postgres/pglite-store.js +30 -30
  17. package/dist/backend/postgres/pglite.cjs +15 -15
  18. package/dist/backend/postgres/pglite.d.cts +2 -3
  19. package/dist/backend/postgres/pglite.d.ts +2 -3
  20. package/dist/backend/postgres/pglite.js +14 -14
  21. package/dist/backend/sqlite/index.cjs +23 -23
  22. package/dist/backend/sqlite/index.d.cts +5 -6
  23. package/dist/backend/sqlite/index.d.ts +5 -6
  24. package/dist/backend/sqlite/index.js +11 -11
  25. package/dist/backend/sqlite/libsql.cjs +17 -17
  26. package/dist/backend/sqlite/libsql.d.cts +2 -3
  27. package/dist/backend/sqlite/libsql.d.ts +2 -3
  28. package/dist/backend/sqlite/libsql.js +13 -13
  29. package/dist/backend/sqlite/local-store.cjs +35 -35
  30. package/dist/backend/sqlite/local-store.d.cts +7 -8
  31. package/dist/backend/sqlite/local-store.d.ts +7 -8
  32. package/dist/backend/sqlite/local-store.js +31 -31
  33. package/dist/backend/sqlite/local.cjs +16 -16
  34. package/dist/backend/sqlite/local.d.cts +2 -3
  35. package/dist/backend/sqlite/local.d.ts +2 -3
  36. package/dist/backend/sqlite/local.js +14 -14
  37. package/dist/{chunk-LOKG3KQV.cjs → chunk-277UZV7X.cjs} +1113 -1089
  38. package/dist/chunk-277UZV7X.cjs.map +1 -0
  39. package/dist/{chunk-2I3DNNBU.js → chunk-2G6ZEGYO.js} +4 -4
  40. package/dist/{chunk-2I3DNNBU.js.map → chunk-2G6ZEGYO.js.map} +1 -1
  41. package/dist/{chunk-76HE7DJP.js → chunk-2HKIID5K.js} +5 -5
  42. package/dist/{chunk-76HE7DJP.js.map → chunk-2HKIID5K.js.map} +1 -1
  43. package/dist/{chunk-QOHTVDHU.js → chunk-2OOY4OYT.js} +4 -4
  44. package/dist/{chunk-QOHTVDHU.js.map → chunk-2OOY4OYT.js.map} +1 -1
  45. package/dist/{chunk-UCHW2MGP.cjs → chunk-2SO5I5AI.cjs} +196 -196
  46. package/dist/{chunk-UCHW2MGP.cjs.map → chunk-2SO5I5AI.cjs.map} +1 -1
  47. package/dist/{chunk-LFFVD5ZR.cjs → chunk-33PAKPED.cjs} +41 -41
  48. package/dist/{chunk-LFFVD5ZR.cjs.map → chunk-33PAKPED.cjs.map} +1 -1
  49. package/dist/{chunk-QCKD3RCI.cjs → chunk-3RPQDGUE.cjs} +5 -5
  50. package/dist/{chunk-QCKD3RCI.cjs.map → chunk-3RPQDGUE.cjs.map} +1 -1
  51. package/dist/{chunk-PH4IJ3V5.js → chunk-3V6D5DEC.js} +3 -3
  52. package/dist/{chunk-PH4IJ3V5.js.map → chunk-3V6D5DEC.js.map} +1 -1
  53. package/dist/{chunk-Y5UC3IXF.js → chunk-42XYPKZU.js} +3 -3
  54. package/dist/{chunk-Y5UC3IXF.js.map → chunk-42XYPKZU.js.map} +1 -1
  55. package/dist/{chunk-XZA3Y4YH.js → chunk-4WYFRACU.js} +3 -3
  56. package/dist/{chunk-XZA3Y4YH.js.map → chunk-4WYFRACU.js.map} +1 -1
  57. package/dist/{chunk-AQVDAKXH.js → chunk-4XRP2N6B.js} +3 -3
  58. package/dist/{chunk-AQVDAKXH.js.map → chunk-4XRP2N6B.js.map} +1 -1
  59. package/dist/{chunk-PWXGB77L.cjs → chunk-5AERZSHC.cjs} +4 -4
  60. package/dist/{chunk-PWXGB77L.cjs.map → chunk-5AERZSHC.cjs.map} +1 -1
  61. package/dist/{chunk-K6CD6W5J.js → chunk-5C75HQYQ.js} +5 -5
  62. package/dist/{chunk-K6CD6W5J.js.map → chunk-5C75HQYQ.js.map} +1 -1
  63. package/dist/{chunk-2J5NMMVR.cjs → chunk-5GV4JQNA.cjs} +43 -43
  64. package/dist/{chunk-2J5NMMVR.cjs.map → chunk-5GV4JQNA.cjs.map} +1 -1
  65. package/dist/{chunk-KHNKYSGP.cjs → chunk-5P6IPIT6.cjs} +41 -41
  66. package/dist/{chunk-KHNKYSGP.cjs.map → chunk-5P6IPIT6.cjs.map} +1 -1
  67. package/dist/{chunk-M2RPZS7J.cjs → chunk-5Q3P6OIC.cjs} +12 -12
  68. package/dist/{chunk-M2RPZS7J.cjs.map → chunk-5Q3P6OIC.cjs.map} +1 -1
  69. package/dist/{chunk-QXKVUJLI.cjs → chunk-5ZPRE4CV.cjs} +206 -166
  70. package/dist/chunk-5ZPRE4CV.cjs.map +1 -0
  71. package/dist/{chunk-53BSOG3O.js → chunk-6NB73BXV.js} +11 -11
  72. package/dist/{chunk-53BSOG3O.js.map → chunk-6NB73BXV.js.map} +1 -1
  73. package/dist/{chunk-SE422RES.cjs → chunk-6TJ6PKPS.cjs} +27 -27
  74. package/dist/{chunk-SE422RES.cjs.map → chunk-6TJ6PKPS.cjs.map} +1 -1
  75. package/dist/{chunk-7WLEQIHA.cjs → chunk-7Y6BV3TK.cjs} +100 -100
  76. package/dist/{chunk-7WLEQIHA.cjs.map → chunk-7Y6BV3TK.cjs.map} +1 -1
  77. package/dist/{chunk-HP6LWBLB.cjs → chunk-AO2WPYFZ.cjs} +4 -4
  78. package/dist/{chunk-HP6LWBLB.cjs.map → chunk-AO2WPYFZ.cjs.map} +1 -1
  79. package/dist/{chunk-7UTUKH4E.cjs → chunk-AQR6BHB3.cjs} +10 -10
  80. package/dist/{chunk-7UTUKH4E.cjs.map → chunk-AQR6BHB3.cjs.map} +1 -1
  81. package/dist/{chunk-X4PVHAZ6.cjs → chunk-ARN3ZODS.cjs} +6 -6
  82. package/dist/{chunk-X4PVHAZ6.cjs.map → chunk-ARN3ZODS.cjs.map} +1 -1
  83. package/dist/{chunk-YYLMXERH.js → chunk-CDYRPI5U.js} +4 -4
  84. package/dist/{chunk-YYLMXERH.js.map → chunk-CDYRPI5U.js.map} +1 -1
  85. package/dist/{chunk-3LKL3S6X.js → chunk-CI5NPLXX.js} +3 -3
  86. package/dist/{chunk-3LKL3S6X.js.map → chunk-CI5NPLXX.js.map} +1 -1
  87. package/dist/{chunk-UUIBACKJ.js → chunk-CUPJL6TS.js} +3 -3
  88. package/dist/{chunk-UUIBACKJ.js.map → chunk-CUPJL6TS.js.map} +1 -1
  89. package/dist/{chunk-JZYMOHHM.cjs → chunk-CVK4T34X.cjs} +22 -22
  90. package/dist/{chunk-JZYMOHHM.cjs.map → chunk-CVK4T34X.cjs.map} +1 -1
  91. package/dist/{chunk-L3DDZUZP.js → chunk-CVNGKTHO.js} +4 -4
  92. package/dist/{chunk-L3DDZUZP.js.map → chunk-CVNGKTHO.js.map} +1 -1
  93. package/dist/{chunk-RW24SAHI.cjs → chunk-DMZEVJGL.cjs} +13 -13
  94. package/dist/{chunk-RW24SAHI.cjs.map → chunk-DMZEVJGL.cjs.map} +1 -1
  95. package/dist/{chunk-MQBF3XGY.js → chunk-DP7KC6CL.js} +47 -23
  96. package/dist/chunk-DP7KC6CL.js.map +1 -0
  97. package/dist/{chunk-QYDUCWD2.cjs → chunk-ECU53PMN.cjs} +4 -4
  98. package/dist/{chunk-QYDUCWD2.cjs.map → chunk-ECU53PMN.cjs.map} +1 -1
  99. package/dist/{chunk-SCTZRFW5.js → chunk-EQOQOT55.js} +5 -5
  100. package/dist/{chunk-SCTZRFW5.js.map → chunk-EQOQOT55.js.map} +1 -1
  101. package/dist/{chunk-JHK6NPFV.js → chunk-EVFL2ZY5.js} +9 -9
  102. package/dist/{chunk-JHK6NPFV.js.map → chunk-EVFL2ZY5.js.map} +1 -1
  103. package/dist/{chunk-SAMJLDGG.cjs → chunk-F2KVJ6FF.cjs} +112 -112
  104. package/dist/{chunk-SAMJLDGG.cjs.map → chunk-F2KVJ6FF.cjs.map} +1 -1
  105. package/dist/{chunk-NMQ6C6TS.cjs → chunk-F7TDKSVB.cjs} +4 -4
  106. package/dist/{chunk-NMQ6C6TS.cjs.map → chunk-F7TDKSVB.cjs.map} +1 -1
  107. package/dist/{chunk-HQRZEYYB.cjs → chunk-FFQGI67R.cjs} +44 -44
  108. package/dist/{chunk-HQRZEYYB.cjs.map → chunk-FFQGI67R.cjs.map} +1 -1
  109. package/dist/{chunk-YIRLBUNN.js → chunk-FMPZPOUD.js} +3 -3
  110. package/dist/{chunk-YIRLBUNN.js.map → chunk-FMPZPOUD.js.map} +1 -1
  111. package/dist/{chunk-LL5D5T5W.cjs → chunk-FSCJOTHF.cjs} +10 -10
  112. package/dist/{chunk-LL5D5T5W.cjs.map → chunk-FSCJOTHF.cjs.map} +1 -1
  113. package/dist/{chunk-2X73QTIC.cjs → chunk-FY4VY5EV.cjs} +20 -20
  114. package/dist/{chunk-2X73QTIC.cjs.map → chunk-FY4VY5EV.cjs.map} +1 -1
  115. package/dist/{chunk-3SHAUJRB.js → chunk-GT7NEXSU.js} +3 -3
  116. package/dist/{chunk-3SHAUJRB.js.map → chunk-GT7NEXSU.js.map} +1 -1
  117. package/dist/{chunk-W66YCXWT.js → chunk-HHBKGPEI.js} +11 -10
  118. package/dist/chunk-HHBKGPEI.js.map +1 -0
  119. package/dist/{chunk-CKFBZ4LV.cjs → chunk-I73ATSAH.cjs} +4 -4
  120. package/dist/{chunk-CKFBZ4LV.cjs.map → chunk-I73ATSAH.cjs.map} +1 -1
  121. package/dist/{chunk-ELA3V6UN.js → chunk-JOYPNY33.js} +9 -9
  122. package/dist/{chunk-ELA3V6UN.js.map → chunk-JOYPNY33.js.map} +1 -1
  123. package/dist/{chunk-YIX3BEBR.cjs → chunk-K2HHCWZO.cjs} +108 -108
  124. package/dist/{chunk-YIX3BEBR.cjs.map → chunk-K2HHCWZO.cjs.map} +1 -1
  125. package/dist/{chunk-SAFZ6JTI.cjs → chunk-KTBTSHU6.cjs} +19 -2
  126. package/dist/chunk-KTBTSHU6.cjs.map +1 -0
  127. package/dist/{chunk-KOI7UEI5.js → chunk-LDCWO5B6.js} +3 -3
  128. package/dist/{chunk-KOI7UEI5.js.map → chunk-LDCWO5B6.js.map} +1 -1
  129. package/dist/{chunk-I5CRUPKO.js → chunk-LQLVJWUH.js} +7 -7
  130. package/dist/{chunk-I5CRUPKO.js.map → chunk-LQLVJWUH.js.map} +1 -1
  131. package/dist/{chunk-6N7QBIWN.js → chunk-M4GYQF2H.js} +3 -3
  132. package/dist/{chunk-6N7QBIWN.js.map → chunk-M4GYQF2H.js.map} +1 -1
  133. package/dist/{chunk-ZE7E46IZ.js → chunk-NXIZL7ZZ.js} +6 -6
  134. package/dist/{chunk-ZE7E46IZ.js.map → chunk-NXIZL7ZZ.js.map} +1 -1
  135. package/dist/{chunk-XRU7V7FF.cjs → chunk-O2GZM7UK.cjs} +7 -7
  136. package/dist/{chunk-XRU7V7FF.cjs.map → chunk-O2GZM7UK.cjs.map} +1 -1
  137. package/dist/{chunk-ZE6NVENI.js → chunk-O3USVVWS.js} +3 -3
  138. package/dist/{chunk-ZE6NVENI.js.map → chunk-O3USVVWS.js.map} +1 -1
  139. package/dist/{chunk-UDS5DZNY.cjs → chunk-O7XVCLXW.cjs} +68 -67
  140. package/dist/chunk-O7XVCLXW.cjs.map +1 -0
  141. package/dist/{chunk-KLR77R5A.cjs → chunk-OM6RIOA5.cjs} +13 -13
  142. package/dist/{chunk-KLR77R5A.cjs.map → chunk-OM6RIOA5.cjs.map} +1 -1
  143. package/dist/{chunk-LLHMAHG4.cjs → chunk-OMQ2NBOR.cjs} +27 -27
  144. package/dist/{chunk-LLHMAHG4.cjs.map → chunk-OMQ2NBOR.cjs.map} +1 -1
  145. package/dist/{chunk-DPNA466P.js → chunk-OYJSYDIH.js} +19 -3
  146. package/dist/chunk-OYJSYDIH.js.map +1 -0
  147. package/dist/{chunk-V3S74J44.js → chunk-RAWG2FEU.js} +134 -22
  148. package/dist/chunk-RAWG2FEU.js.map +1 -0
  149. package/dist/{chunk-TAUGGLNQ.js → chunk-RXOAXO3R.js} +3 -3
  150. package/dist/{chunk-TAUGGLNQ.js.map → chunk-RXOAXO3R.js.map} +1 -1
  151. package/dist/{chunk-LLE25NRD.cjs → chunk-TRC646QQ.cjs} +7 -7
  152. package/dist/{chunk-LLE25NRD.cjs.map → chunk-TRC646QQ.cjs.map} +1 -1
  153. package/dist/chunk-U3YRCZ5L.cjs +12 -0
  154. package/dist/{chunk-IMQKXL4E.cjs.map → chunk-U3YRCZ5L.cjs.map} +1 -1
  155. package/dist/{chunk-ZVME6OSV.js → chunk-UJRWOV5B.js} +5 -5
  156. package/dist/{chunk-ZVME6OSV.js.map → chunk-UJRWOV5B.js.map} +1 -1
  157. package/dist/{chunk-HAQVISUF.cjs → chunk-UTTW2Q3M.cjs} +133 -133
  158. package/dist/{chunk-HAQVISUF.cjs.map → chunk-UTTW2Q3M.cjs.map} +1 -1
  159. package/dist/{chunk-L5ET7FYQ.js → chunk-UZLEQFTV.js} +3 -3
  160. package/dist/{chunk-L5ET7FYQ.js.map → chunk-UZLEQFTV.js.map} +1 -1
  161. package/dist/{chunk-JP5EICR6.cjs → chunk-V2GZBPY2.cjs} +179 -65
  162. package/dist/chunk-V2GZBPY2.cjs.map +1 -0
  163. package/dist/{chunk-BUZWMDNL.js → chunk-VC26BUNP.js} +5 -5
  164. package/dist/{chunk-BUZWMDNL.js.map → chunk-VC26BUNP.js.map} +1 -1
  165. package/dist/chunk-VGMNGWBR.cjs +12 -0
  166. package/dist/{chunk-5YBDB7UG.cjs.map → chunk-VGMNGWBR.cjs.map} +1 -1
  167. package/dist/{chunk-XMEYZYGE.js → chunk-WYQILW5V.js} +8 -8
  168. package/dist/{chunk-XMEYZYGE.js.map → chunk-WYQILW5V.js.map} +1 -1
  169. package/dist/{chunk-YX3H63VV.cjs → chunk-X2XOQZT3.cjs} +9 -9
  170. package/dist/{chunk-YX3H63VV.cjs.map → chunk-X2XOQZT3.cjs.map} +1 -1
  171. package/dist/{chunk-N2V3HJFV.cjs → chunk-XDMPDUKL.cjs} +9 -9
  172. package/dist/{chunk-N2V3HJFV.cjs.map → chunk-XDMPDUKL.cjs.map} +1 -1
  173. package/dist/{chunk-EFZ4S22A.js → chunk-YPVQYM3L.js} +107 -67
  174. package/dist/chunk-YPVQYM3L.js.map +1 -0
  175. package/dist/{chunk-5J4VNCUD.js → chunk-Z3WIL6S3.js} +5 -5
  176. package/dist/{chunk-5J4VNCUD.js.map → chunk-Z3WIL6S3.js.map} +1 -1
  177. package/dist/{chunk-MNURF4RF.cjs → chunk-ZBV4LQD2.cjs} +4 -4
  178. package/dist/{chunk-MNURF4RF.cjs.map → chunk-ZBV4LQD2.cjs.map} +1 -1
  179. package/dist/{chunk-YGX4PMG6.js → chunk-ZGOUVMVS.js} +5 -5
  180. package/dist/{chunk-YGX4PMG6.js.map → chunk-ZGOUVMVS.js.map} +1 -1
  181. package/dist/{chunk-QZYGZVUI.js → chunk-ZIRC2U6G.js} +11 -11
  182. package/dist/{chunk-QZYGZVUI.js.map → chunk-ZIRC2U6G.js.map} +1 -1
  183. package/dist/{chunk-6QP4QXBR.js → chunk-ZOHCFYXE.js} +3 -3
  184. package/dist/{chunk-6QP4QXBR.js.map → chunk-ZOHCFYXE.js.map} +1 -1
  185. package/dist/{chunk-VWEFXG73.js → chunk-ZP2KPDNN.js} +3 -3
  186. package/dist/{chunk-VWEFXG73.js.map → chunk-ZP2KPDNN.js.map} +1 -1
  187. package/dist/{chunk-NT6ILURI.cjs → chunk-ZPCKPLMX.cjs} +8 -8
  188. package/dist/{chunk-NT6ILURI.cjs.map → chunk-ZPCKPLMX.cjs.map} +1 -1
  189. package/dist/core/index.cjs +28 -28
  190. package/dist/core/index.d.cts +5 -6
  191. package/dist/core/index.d.ts +5 -6
  192. package/dist/core/index.js +8 -8
  193. package/dist/{ddl-BCXFRLWg.d.cts → ddl-3unqC-kg.d.cts} +3 -3
  194. package/dist/{ddl-ByLmGgn9.d.ts → ddl-Bc4Dl8fu.d.ts} +3 -3
  195. package/dist/{define-graph-BSviZubs.d.ts → define-graph-Byslw2OO.d.cts} +1 -2
  196. package/dist/{define-graph-XyJheaFm.d.cts → define-graph-DBFnc7u_.d.ts} +1 -2
  197. package/dist/graph-extension/index.cjs +20 -20
  198. package/dist/graph-extension/index.d.cts +4 -4
  199. package/dist/graph-extension/index.d.ts +4 -4
  200. package/dist/graph-extension/index.js +5 -5
  201. package/dist/graph-merge/index.cjs +105 -105
  202. package/dist/graph-merge/index.d.cts +8 -9
  203. package/dist/graph-merge/index.d.ts +8 -9
  204. package/dist/graph-merge/index.js +25 -25
  205. package/dist/{index-BD_3TCgh.d.ts → index-DHXw7QAl.d.cts} +19 -4
  206. package/dist/{index-BihFPsPu.d.cts → index-DQzVJBHa.d.ts} +19 -4
  207. package/dist/index.cjs +206 -202
  208. package/dist/index.d.cts +13 -15
  209. package/dist/index.d.ts +13 -15
  210. package/dist/index.js +35 -35
  211. package/dist/indexes/index.cjs +13 -13
  212. package/dist/indexes/index.d.cts +4 -5
  213. package/dist/indexes/index.d.ts +4 -5
  214. package/dist/indexes/index.js +6 -6
  215. package/dist/interchange/index.cjs +40 -40
  216. package/dist/interchange/index.d.cts +9 -10
  217. package/dist/interchange/index.d.ts +9 -10
  218. package/dist/interchange/index.js +14 -14
  219. package/dist/{manager-C7iC5bk_.d.ts → manager-Dl0-er1G.d.ts} +21 -156
  220. package/dist/{manager-Dm6MCYO7.d.cts → manager-U9_zopqr.d.cts} +21 -156
  221. package/dist/materialize-indexes-BM3u0aXE.d.ts +258 -0
  222. package/dist/materialize-indexes-DzMCetZe.d.cts +258 -0
  223. package/dist/{postgres-DZxwzCQ8.d.cts → postgres-C5-WMKFA.d.ts} +1 -1
  224. package/dist/{postgres-Cb6ceh4-.d.ts → postgres-DpJqtbSX.d.cts} +1 -1
  225. package/dist/profiler/index.d.cts +9 -10
  226. package/dist/profiler/index.d.ts +9 -10
  227. package/dist/provenance/index.cjs +39 -39
  228. package/dist/provenance/index.d.cts +7 -8
  229. package/dist/provenance/index.d.ts +7 -8
  230. package/dist/provenance/index.js +9 -9
  231. package/dist/schema/index.cjs +48 -39
  232. package/dist/schema/index.d.cts +7 -8
  233. package/dist/schema/index.d.ts +7 -8
  234. package/dist/schema/index.js +15 -14
  235. package/dist/{searchable-aUaKh3_r.d.cts → searchable-B4mUXZT6.d.cts} +2 -2
  236. package/dist/{searchable-Cet4Oztt.d.ts → searchable-C7jmPNLT.d.ts} +2 -2
  237. package/dist/{sqlite-Cb3Ilj9_.d.ts → sqlite-Ch5tSYQY.d.ts} +1 -1
  238. package/dist/{sqlite-Dxklpizv.d.cts → sqlite-Da7jiYu9.d.cts} +1 -1
  239. package/dist/{store-view-PCT7vTKH.d.cts → store-view-6C2vTWqf.d.ts} +8 -7
  240. package/dist/{store-view-BDjGFjpN.d.ts → store-view-CNcOG8bQ.d.cts} +8 -7
  241. package/dist/{temporal-CyFsSPe8.d.ts → temporal-BtrTYTiB.d.ts} +1 -1
  242. package/dist/{temporal-Dn_JADWY.d.cts → temporal-CMpigMCW.d.cts} +1 -1
  243. package/dist/{types-CFZiEEPh.d.ts → types-D2rU5Taq.d.ts} +1 -2
  244. package/dist/{types-D-vOo_pM.d.ts → types-Dh-EgT-w.d.cts} +569 -2
  245. package/dist/{types-ho4DJJb_.d.cts → types-Dh-EgT-w.d.ts} +569 -2
  246. package/dist/{types-CsaG00wS.d.cts → types-G4sVM-76.d.cts} +1 -2
  247. package/dist/{where-DLYaXa4L.d.ts → where-B8Y21kig.d.ts} +1 -2
  248. package/dist/{where-udes1WRA.d.cts → where-DbZ9XDOI.d.cts} +1 -2
  249. package/package.json +1 -1
  250. package/dist/chunk-5YBDB7UG.cjs +0 -12
  251. package/dist/chunk-DPNA466P.js.map +0 -1
  252. package/dist/chunk-EFZ4S22A.js.map +0 -1
  253. package/dist/chunk-IMQKXL4E.cjs +0 -12
  254. package/dist/chunk-JP5EICR6.cjs.map +0 -1
  255. package/dist/chunk-LOKG3KQV.cjs.map +0 -1
  256. package/dist/chunk-MQBF3XGY.js.map +0 -1
  257. package/dist/chunk-QXKVUJLI.cjs.map +0 -1
  258. package/dist/chunk-SAFZ6JTI.cjs.map +0 -1
  259. package/dist/chunk-UDS5DZNY.cjs.map +0 -1
  260. package/dist/chunk-V3S74J44.js.map +0 -1
  261. package/dist/chunk-W66YCXWT.js.map +0 -1
  262. package/dist/extension-types-BLEVH4SG.d.cts +0 -571
  263. package/dist/extension-types-BLEVH4SG.d.ts +0 -571
  264. package/dist/materialize-indexes-D4iei4Kp.d.ts +0 -90
  265. package/dist/materialize-indexes-ExQ6OrAh.d.cts +0 -90
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/backend/postgres/pglite.ts"],"names":["tables"],"mappings":";;;;;;;AAiIA,eAAe,4BAAA,GAAmD;AAChE,EAAA,IAAI;AACF,IAAA,MAAM,OAAA,GAAU,MAAM,OAAO,+BAA+B,CAAA;AAC5D,IAAA,OAAO,OAAA,CAAQ,MAAA;AAAA,EACjB,SAAS,KAAA,EAAO;AACd,IAAA,MAAM,IAAI,kBAAA;AAAA,MACR,2PAAA;AAAA,MAIA,EAAE,OAAA,EAAS,QAAA,EAAU,UAAA,EAAY,+BAAA,EAAgC;AAAA,MACjE,EAAE,OAAO,KAAA;AAAM,KACjB;AAAA,EACF;AACF;AAoBA,eAAsB,wBAAA,CACpB,OAAA,GAAqC,EAAC,EACH;AACnC,EAAA,MAAMA,OAAAA,GAAS,QAAQ,MAAA,IAAU,MAAA;AAMjC,EAAA,MAAM,eAAA,GACJ,QAAQ,MAAA,KAAW,KAAA,GACjB,SACC,OAAA,CAAQ,MAAA,IAAW,MAAM,4BAAA,EAA6B;AAC3D,EAAA,MAAM,gBAAgB,eAAA,KAAoB,MAAA;AAO1C,EAAA,MAAM,MAAA,GAAS,MAAM,MAAA,CAAO,MAAA,CAAO;AAAA,IACjC,GAAI,QAAQ,OAAA,KAAY,MAAA,GAAY,EAAC,GAAI,EAAE,OAAA,EAAS,OAAA,CAAQ,OAAA,EAAQ;AAAA,IACpE,GAAI,eAAA,KAAoB,MAAA,GACtB,EAAC,GACD,EAAE,UAAA,EAAY,EAAE,MAAA,EAAQ,eAAA,EAAgB;AAAE,GAC7C,CAAA;AAED,EAAA,IAAI;AAGF,IAAA,MAAM,YAAA,GACJ,gBACE,4BAAA,CAA6BA,OAAM,IACnC,mBAAA,CAAoBA,OAAM,CAAA,CAAE,IAAA,CAAK,MAAM,CAAA;AAC3C,IAAA,MAAM,MAAA,CAAO,KAAK,YAAY,CAAA;AAE9B,IAAA,MAAM,EAAA,GAAK,QAAQ,MAAM,CAAA;AACzB,IAAA,MAAM,OAAA,GAAU,sBAAsB,EAAA,EAAI;AAAA,MACxC,MAAA,EAAAA,OAAAA;AAAA,MACA,GAAI,aAAA,GAAgB,EAAC,GAAI,EAAE,QAAQ,KAAA;AAAM,KAC1C,CAAA;AACD,IAAA,MAAM,cAAA,GAAiB,oBAAA,CAAqB,OAAA,EAAS,YAAY;AAC/D,MAAA,MAAM,OAAO,KAAA,EAAM;AAAA,IACrB,CAAC,CAAA;AAED,IAAA,OAAO,EAAE,OAAA,EAAS,cAAA,EAAgB,EAAA,EAAI,MAAA,EAAO;AAAA,EAC/C,SAAS,KAAA,EAAO;AACd,IAAA,OAAO,iBAAA,CAAkB,QAAQ,KAAK,CAAA;AAAA,EACxC;AACF","file":"chunk-ZE7E46IZ.js","sourcesContent":["/**\n * Local PGlite backend — Postgres-in-WASM, running in-process.\n *\n * [PGlite](https://pglite.dev/) is a full Postgres compiled to WebAssembly\n * that runs inside the Node/Bun/Deno/browser process with no server and no\n * native addon. This is the batteries-included Postgres analog of\n * `createLocalSqliteBackend`: it constructs a PGlite instance, loads the\n * pgvector extension, runs the schema DDL, and returns a ready\n * `{ backend, db }` pair whose `close()` disposes the engine.\n *\n * `@electric-sql/pglite` is an optional peer dependency. Vector support\n * additionally needs `@electric-sql/pglite-pgvector` (PGlite ≥ 0.5 ships\n * pgvector as a separate package). Install what you need:\n *\n * ```bash\n * pnpm add @electric-sql/pglite @electric-sql/pglite-pgvector\n * ```\n *\n * @example In-memory database (default, vector enabled)\n * ```typescript\n * import { createLocalPgliteBackend } from \"@nicia-ai/typegraph/adapters/drizzle/postgres/pglite\";\n *\n * const { backend } = await createLocalPgliteBackend();\n * const store = createStore(graph, backend);\n * ```\n *\n * @example Persistent on-disk database\n * ```typescript\n * const { backend, db } = await createLocalPgliteBackend({ dataDir: \"./pgdata\" });\n * ```\n *\n * @example No vector support (skip the pgvector extension)\n * ```typescript\n * const { backend } = await createLocalPgliteBackend({ vector: false });\n * ```\n *\n * PGlite is single-connection and serial: there is no pooling, so concurrent\n * `store.transaction()` calls queue rather than run in parallel.\n */\nimport { type Extension, PGlite } from \"@electric-sql/pglite\";\nimport { drizzle, type PgliteDatabase } from \"drizzle-orm/pglite\";\n\nimport { ConfigurationError } from \"../../errors\";\nimport {\n generatePostgresDDL,\n generatePostgresMigrationSQL,\n} from \"../drizzle/ddl\";\nimport { type AnyPgTransaction } from \"../drizzle/execution\";\nexport type { AnyPgDatabase, AnyPgTransaction } from \"../drizzle/execution\";\nimport {\n createPostgresBackend,\n type PostgresTables,\n tables as defaultTables,\n} from \"../drizzle/postgres\";\nimport {\n type AdapterBackend,\n closeAfterFailure,\n wrapWithManagedClose,\n} from \"../types\";\n\n// ============================================================\n// Types\n// ============================================================\n\n/**\n * Options for creating a local PGlite backend.\n */\nexport type LocalPgliteBackendOptions = Readonly<{\n /**\n * PGlite data directory. Omit for an in-memory database (the default).\n * Accepts any PGlite data-dir spec: a filesystem path (`\"./pgdata\"`),\n * `\"memory://\"`, or a browser/runtime-specific scheme such as\n * `\"idb://my-db\"`.\n */\n dataDir?: string;\n\n /**\n * Custom table definitions. Defaults to standard TypeGraph table names.\n */\n tables?: PostgresTables;\n\n /**\n * Controls the pgvector stack:\n *\n * - **omitted (default)** — load pgvector from `@electric-sql/pglite-pgvector`\n * and run `CREATE EXTENSION vector`, so embedding fields work out of the\n * box. Throws a {@link ConfigurationError} if the package isn't installed.\n * - **`false`** — skip the extension entirely; the backend advertises no\n * vector capability (mirroring a SQLite connection without sqlite-vec).\n * Use when a graph carries no embeddings, or to avoid the extension dep.\n * - **a PGlite `Extension`** — bring your own pgvector build or custom\n * extension packaging. Decouples this helper from a specific pgvector\n * package version.\n */\n vector?: false | Extension;\n}>;\n\n/**\n * Result of creating a local PGlite backend.\n */\nexport type LocalPgliteBackendResult = Readonly<{\n /**\n * The GraphBackend instance for use with createStore. Its `close()`\n * disposes the underlying PGlite engine.\n */\n backend: AdapterBackend<AnyPgTransaction>;\n\n /**\n * The underlying Drizzle database instance. Useful for direct SQL access.\n */\n db: PgliteDatabase;\n\n /**\n * The raw PGlite instance, for engine-specific operations such as\n * `dumpDataDir()` / `clone()` not surfaced through Drizzle.\n */\n client: PGlite;\n}>;\n\n// ============================================================\n// Vector extension loading\n// ============================================================\n\n/**\n * Dynamically loads the default pgvector extension from\n * `@electric-sql/pglite-pgvector`. Kept as a runtime import so the package\n * stays an optional peer dependency — callers using `vector: false` or\n * supplying their own extension never need it installed.\n */\nasync function loadDefaultPgvectorExtension(): Promise<Extension> {\n try {\n const module_ = await import(\"@electric-sql/pglite-pgvector\");\n return module_.vector;\n } catch (error) {\n throw new ConfigurationError(\n \"createLocalPgliteBackend needs the pgvector extension but \" +\n \"`@electric-sql/pglite-pgvector` could not be loaded. Install it \" +\n \"(`pnpm add @electric-sql/pglite-pgvector`), pass your own `vector` \" +\n \"extension, or set `vector: false` to disable vector support.\",\n { backend: \"pglite\", dependency: \"@electric-sql/pglite-pgvector\" },\n { cause: error },\n );\n }\n}\n\n// ============================================================\n// Factory Function\n// ============================================================\n\n/**\n * Creates a TypeGraph backend backed by an in-process PGlite database.\n *\n * Constructs the PGlite engine (loading pgvector unless disabled), executes\n * the schema DDL, and wires the standard Postgres backend. The returned\n * backend owns the engine: call `backend.close()` to dispose it.\n *\n * For production Postgres, or a PGlite instance you construct yourself,\n * use `createPostgresBackend` directly with your own Drizzle database — the\n * execution fast path detects PGlite and routes it correctly.\n *\n * @param options - Configuration options\n * @returns Backend, Drizzle database, and raw PGlite client\n */\nexport async function createLocalPgliteBackend(\n options: LocalPgliteBackendOptions = {},\n): Promise<LocalPgliteBackendResult> {\n const tables = options.tables ?? defaultTables;\n\n // pgvector lives in the WASM instance, so the extension must be passed at\n // construction — `CREATE EXTENSION vector` alone can't pull it in. An\n // explicitly supplied extension wins; `false` disables; otherwise load the\n // default package.\n const vectorExtension =\n options.vector === false ?\n undefined\n : (options.vector ?? (await loadDefaultPgvectorExtension()));\n const vectorEnabled = vectorExtension !== undefined;\n\n // Construct via the single options-object form (passing `dataDir` as a\n // field), not the positional `create(dataDir, options)` overload: with a\n // leading `undefined` dataDir, that overload silently drops `extensions`\n // (\"extension vector is not available\"). The options form loads them for\n // both the in-memory and on-disk cases.\n const client = await PGlite.create({\n ...(options.dataDir === undefined ? {} : { dataDir: options.dataDir }),\n ...(vectorExtension === undefined ?\n {}\n : { extensions: { vector: vectorExtension } }),\n });\n\n try {\n // `exec` runs a multi-statement batch (DDL + the pgvector `CREATE\n // EXTENSION` when enabled) in one round trip.\n const migrationSql =\n vectorEnabled ?\n generatePostgresMigrationSQL(tables)\n : generatePostgresDDL(tables).join(\"\\n\\n\");\n await client.exec(migrationSql);\n\n const db = drizzle(client);\n const backend = createPostgresBackend(db, {\n tables,\n ...(vectorEnabled ? {} : { vector: false }),\n });\n const managedBackend = wrapWithManagedClose(backend, async () => {\n await client.close();\n });\n\n return { backend: managedBackend, db, client };\n } catch (error) {\n return closeAfterFailure(client, error);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/backend/postgres/pglite.ts"],"names":["tables"],"mappings":";;;;;;;AAiIA,eAAe,4BAAA,GAAmD;AAChE,EAAA,IAAI;AACF,IAAA,MAAM,OAAA,GAAU,MAAM,OAAO,+BAA+B,CAAA;AAC5D,IAAA,OAAO,OAAA,CAAQ,MAAA;AAAA,EACjB,SAAS,KAAA,EAAO;AACd,IAAA,MAAM,IAAI,kBAAA;AAAA,MACR,2PAAA;AAAA,MAIA,EAAE,OAAA,EAAS,QAAA,EAAU,UAAA,EAAY,+BAAA,EAAgC;AAAA,MACjE,EAAE,OAAO,KAAA;AAAM,KACjB;AAAA,EACF;AACF;AAoBA,eAAsB,wBAAA,CACpB,OAAA,GAAqC,EAAC,EACH;AACnC,EAAA,MAAMA,OAAAA,GAAS,QAAQ,MAAA,IAAU,MAAA;AAMjC,EAAA,MAAM,eAAA,GACJ,QAAQ,MAAA,KAAW,KAAA,GACjB,SACC,OAAA,CAAQ,MAAA,IAAW,MAAM,4BAAA,EAA6B;AAC3D,EAAA,MAAM,gBAAgB,eAAA,KAAoB,MAAA;AAO1C,EAAA,MAAM,MAAA,GAAS,MAAM,MAAA,CAAO,MAAA,CAAO;AAAA,IACjC,GAAI,QAAQ,OAAA,KAAY,MAAA,GAAY,EAAC,GAAI,EAAE,OAAA,EAAS,OAAA,CAAQ,OAAA,EAAQ;AAAA,IACpE,GAAI,eAAA,KAAoB,MAAA,GACtB,EAAC,GACD,EAAE,UAAA,EAAY,EAAE,MAAA,EAAQ,eAAA,EAAgB;AAAE,GAC7C,CAAA;AAED,EAAA,IAAI;AAGF,IAAA,MAAM,YAAA,GACJ,gBACE,4BAAA,CAA6BA,OAAM,IACnC,mBAAA,CAAoBA,OAAM,CAAA,CAAE,IAAA,CAAK,MAAM,CAAA;AAC3C,IAAA,MAAM,MAAA,CAAO,KAAK,YAAY,CAAA;AAE9B,IAAA,MAAM,EAAA,GAAK,QAAQ,MAAM,CAAA;AACzB,IAAA,MAAM,OAAA,GAAU,sBAAsB,EAAA,EAAI;AAAA,MACxC,MAAA,EAAAA,OAAAA;AAAA,MACA,GAAI,aAAA,GAAgB,EAAC,GAAI,EAAE,QAAQ,KAAA;AAAM,KAC1C,CAAA;AACD,IAAA,MAAM,cAAA,GAAiB,oBAAA,CAAqB,OAAA,EAAS,YAAY;AAC/D,MAAA,MAAM,OAAO,KAAA,EAAM;AAAA,IACrB,CAAC,CAAA;AAED,IAAA,OAAO,EAAE,OAAA,EAAS,cAAA,EAAgB,EAAA,EAAI,MAAA,EAAO;AAAA,EAC/C,SAAS,KAAA,EAAO;AACd,IAAA,OAAO,iBAAA,CAAkB,QAAQ,KAAK,CAAA;AAAA,EACxC;AACF","file":"chunk-NXIZL7ZZ.js","sourcesContent":["/**\n * Local PGlite backend — Postgres-in-WASM, running in-process.\n *\n * [PGlite](https://pglite.dev/) is a full Postgres compiled to WebAssembly\n * that runs inside the Node/Bun/Deno/browser process with no server and no\n * native addon. This is the batteries-included Postgres analog of\n * `createLocalSqliteBackend`: it constructs a PGlite instance, loads the\n * pgvector extension, runs the schema DDL, and returns a ready\n * `{ backend, db }` pair whose `close()` disposes the engine.\n *\n * `@electric-sql/pglite` is an optional peer dependency. Vector support\n * additionally needs `@electric-sql/pglite-pgvector` (PGlite ≥ 0.5 ships\n * pgvector as a separate package). Install what you need:\n *\n * ```bash\n * pnpm add @electric-sql/pglite @electric-sql/pglite-pgvector\n * ```\n *\n * @example In-memory database (default, vector enabled)\n * ```typescript\n * import { createLocalPgliteBackend } from \"@nicia-ai/typegraph/adapters/drizzle/postgres/pglite\";\n *\n * const { backend } = await createLocalPgliteBackend();\n * const store = createStore(graph, backend);\n * ```\n *\n * @example Persistent on-disk database\n * ```typescript\n * const { backend, db } = await createLocalPgliteBackend({ dataDir: \"./pgdata\" });\n * ```\n *\n * @example No vector support (skip the pgvector extension)\n * ```typescript\n * const { backend } = await createLocalPgliteBackend({ vector: false });\n * ```\n *\n * PGlite is single-connection and serial: there is no pooling, so concurrent\n * `store.transaction()` calls queue rather than run in parallel.\n */\nimport { type Extension, PGlite } from \"@electric-sql/pglite\";\nimport { drizzle, type PgliteDatabase } from \"drizzle-orm/pglite\";\n\nimport { ConfigurationError } from \"../../errors\";\nimport {\n generatePostgresDDL,\n generatePostgresMigrationSQL,\n} from \"../drizzle/ddl\";\nimport { type AnyPgTransaction } from \"../drizzle/execution\";\nexport type { AnyPgDatabase, AnyPgTransaction } from \"../drizzle/execution\";\nimport {\n createPostgresBackend,\n type PostgresTables,\n tables as defaultTables,\n} from \"../drizzle/postgres\";\nimport {\n type AdapterBackend,\n closeAfterFailure,\n wrapWithManagedClose,\n} from \"../types\";\n\n// ============================================================\n// Types\n// ============================================================\n\n/**\n * Options for creating a local PGlite backend.\n */\nexport type LocalPgliteBackendOptions = Readonly<{\n /**\n * PGlite data directory. Omit for an in-memory database (the default).\n * Accepts any PGlite data-dir spec: a filesystem path (`\"./pgdata\"`),\n * `\"memory://\"`, or a browser/runtime-specific scheme such as\n * `\"idb://my-db\"`.\n */\n dataDir?: string;\n\n /**\n * Custom table definitions. Defaults to standard TypeGraph table names.\n */\n tables?: PostgresTables;\n\n /**\n * Controls the pgvector stack:\n *\n * - **omitted (default)** — load pgvector from `@electric-sql/pglite-pgvector`\n * and run `CREATE EXTENSION vector`, so embedding fields work out of the\n * box. Throws a {@link ConfigurationError} if the package isn't installed.\n * - **`false`** — skip the extension entirely; the backend advertises no\n * vector capability (mirroring a SQLite connection without sqlite-vec).\n * Use when a graph carries no embeddings, or to avoid the extension dep.\n * - **a PGlite `Extension`** — bring your own pgvector build or custom\n * extension packaging. Decouples this helper from a specific pgvector\n * package version.\n */\n vector?: false | Extension;\n}>;\n\n/**\n * Result of creating a local PGlite backend.\n */\nexport type LocalPgliteBackendResult = Readonly<{\n /**\n * The GraphBackend instance for use with createStore. Its `close()`\n * disposes the underlying PGlite engine.\n */\n backend: AdapterBackend<AnyPgTransaction>;\n\n /**\n * The underlying Drizzle database instance. Useful for direct SQL access.\n */\n db: PgliteDatabase;\n\n /**\n * The raw PGlite instance, for engine-specific operations such as\n * `dumpDataDir()` / `clone()` not surfaced through Drizzle.\n */\n client: PGlite;\n}>;\n\n// ============================================================\n// Vector extension loading\n// ============================================================\n\n/**\n * Dynamically loads the default pgvector extension from\n * `@electric-sql/pglite-pgvector`. Kept as a runtime import so the package\n * stays an optional peer dependency — callers using `vector: false` or\n * supplying their own extension never need it installed.\n */\nasync function loadDefaultPgvectorExtension(): Promise<Extension> {\n try {\n const module_ = await import(\"@electric-sql/pglite-pgvector\");\n return module_.vector;\n } catch (error) {\n throw new ConfigurationError(\n \"createLocalPgliteBackend needs the pgvector extension but \" +\n \"`@electric-sql/pglite-pgvector` could not be loaded. Install it \" +\n \"(`pnpm add @electric-sql/pglite-pgvector`), pass your own `vector` \" +\n \"extension, or set `vector: false` to disable vector support.\",\n { backend: \"pglite\", dependency: \"@electric-sql/pglite-pgvector\" },\n { cause: error },\n );\n }\n}\n\n// ============================================================\n// Factory Function\n// ============================================================\n\n/**\n * Creates a TypeGraph backend backed by an in-process PGlite database.\n *\n * Constructs the PGlite engine (loading pgvector unless disabled), executes\n * the schema DDL, and wires the standard Postgres backend. The returned\n * backend owns the engine: call `backend.close()` to dispose it.\n *\n * For production Postgres, or a PGlite instance you construct yourself,\n * use `createPostgresBackend` directly with your own Drizzle database — the\n * execution fast path detects PGlite and routes it correctly.\n *\n * @param options - Configuration options\n * @returns Backend, Drizzle database, and raw PGlite client\n */\nexport async function createLocalPgliteBackend(\n options: LocalPgliteBackendOptions = {},\n): Promise<LocalPgliteBackendResult> {\n const tables = options.tables ?? defaultTables;\n\n // pgvector lives in the WASM instance, so the extension must be passed at\n // construction — `CREATE EXTENSION vector` alone can't pull it in. An\n // explicitly supplied extension wins; `false` disables; otherwise load the\n // default package.\n const vectorExtension =\n options.vector === false ?\n undefined\n : (options.vector ?? (await loadDefaultPgvectorExtension()));\n const vectorEnabled = vectorExtension !== undefined;\n\n // Construct via the single options-object form (passing `dataDir` as a\n // field), not the positional `create(dataDir, options)` overload: with a\n // leading `undefined` dataDir, that overload silently drops `extensions`\n // (\"extension vector is not available\"). The options form loads them for\n // both the in-memory and on-disk cases.\n const client = await PGlite.create({\n ...(options.dataDir === undefined ? {} : { dataDir: options.dataDir }),\n ...(vectorExtension === undefined ?\n {}\n : { extensions: { vector: vectorExtension } }),\n });\n\n try {\n // `exec` runs a multi-statement batch (DDL + the pgvector `CREATE\n // EXTENSION` when enabled) in one round trip.\n const migrationSql =\n vectorEnabled ?\n generatePostgresMigrationSQL(tables)\n : generatePostgresDDL(tables).join(\"\\n\\n\");\n await client.exec(migrationSql);\n\n const db = drizzle(client);\n const backend = createPostgresBackend(db, {\n tables,\n ...(vectorEnabled ? {} : { vector: false }),\n });\n const managedBackend = wrapWithManagedClose(backend, async () => {\n await client.close();\n });\n\n return { backend: managedBackend, db, client };\n } catch (error) {\n return closeAfterFailure(client, error);\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkSAFZ6JTI_cjs = require('./chunk-SAFZ6JTI.cjs');
3
+ var chunkKTBTSHU6_cjs = require('./chunk-KTBTSHU6.cjs');
4
4
 
5
5
  // src/store/reserved-keys.ts
6
6
  var RESERVED_NODE_KEYS = /* @__PURE__ */ new Set([
@@ -32,7 +32,7 @@ function assertSchemaKeysAreFree(entityKind, name, keys, reservedStructuralKeys)
32
32
  );
33
33
  if (structuralConflicts.length > 0) {
34
34
  const label = entityKind.toLowerCase();
35
- throw new chunkSAFZ6JTI_cjs.ConfigurationError(
35
+ throw new chunkKTBTSHU6_cjs.ConfigurationError(
36
36
  `${entityKind} "${name}" schema contains reserved property names: ${structuralConflicts.join(", ")}`,
37
37
  {
38
38
  [`${label}Type`]: name,
@@ -47,7 +47,7 @@ function assertSchemaKeysAreFree(entityKind, name, keys, reservedStructuralKeys)
47
47
  const prefixConflicts = keys.filter((key) => isReservedPropertyName(key));
48
48
  if (prefixConflicts.length > 0) {
49
49
  const label = entityKind.toLowerCase();
50
- throw new chunkSAFZ6JTI_cjs.ConfigurationError(
50
+ throw new chunkKTBTSHU6_cjs.ConfigurationError(
51
51
  `${entityKind} "${name}" schema uses the reserved "${RESERVED_PROPERTY_PREFIX}" prefix on: ${prefixConflicts.join(", ")}`,
52
52
  {
53
53
  [`${label}Type`]: name,
@@ -63,7 +63,7 @@ function assertSchemaKeysAreFree(entityKind, name, keys, reservedStructuralKeys)
63
63
  function validateProjectionField(field, entityType, kind) {
64
64
  const reserved = entityType === "node" ? RESERVED_NODE_KEYS : RESERVED_EDGE_KEYS;
65
65
  if (reserved.has(field)) {
66
- throw new chunkSAFZ6JTI_cjs.ConfigurationError(
66
+ throw new chunkKTBTSHU6_cjs.ConfigurationError(
67
67
  `Projection field "${field}" on ${entityType} kind "${kind}" conflicts with a reserved structural key`,
68
68
  { field, kind, entityType, reservedKeys: [...reserved] },
69
69
  {
@@ -72,7 +72,7 @@ function validateProjectionField(field, entityType, kind) {
72
72
  );
73
73
  }
74
74
  if (PROTOTYPE_POLLUTION_KEYS.has(field)) {
75
- throw new chunkSAFZ6JTI_cjs.ConfigurationError(
75
+ throw new chunkKTBTSHU6_cjs.ConfigurationError(
76
76
  `Projection field "${field}" on ${entityType} kind "${kind}" is not allowed`,
77
77
  { field, kind, entityType },
78
78
  {
@@ -96,5 +96,5 @@ exports.RESERVED_NODE_KEYS = RESERVED_NODE_KEYS;
96
96
  exports.assertSchemaKeysAreFree = assertSchemaKeysAreFree;
97
97
  exports.filterReservedKeys = filterReservedKeys;
98
98
  exports.validateProjectionField = validateProjectionField;
99
- //# sourceMappingURL=chunk-XRU7V7FF.cjs.map
100
- //# sourceMappingURL=chunk-XRU7V7FF.cjs.map
99
+ //# sourceMappingURL=chunk-O2GZM7UK.cjs.map
100
+ //# sourceMappingURL=chunk-O2GZM7UK.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/store/reserved-keys.ts"],"names":["ConfigurationError"],"mappings":"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","file":"chunk-XRU7V7FF.cjs","sourcesContent":["/**\n * Reserved Keys for Store Entities\n *\n * Structural keys that cannot be overwritten by user-defined properties.\n * Shared across row-mappers, subgraph projection, and schema validation.\n */\nimport type { KindEntity } from \"../core/types\";\nimport { ConfigurationError } from \"../errors\";\n\nexport const RESERVED_NODE_KEYS: ReadonlySet<string> = new Set([\n \"id\",\n \"kind\",\n \"meta\",\n]);\n\nexport const RESERVED_EDGE_KEYS: ReadonlySet<string> = new Set([\n \"id\",\n \"kind\",\n \"meta\",\n \"fromKind\",\n \"fromId\",\n \"toKind\",\n \"toId\",\n]);\n\nconst PROTOTYPE_POLLUTION_KEYS: ReadonlySet<string> = new Set([\n \"__proto__\",\n \"constructor\",\n \"prototype\",\n]);\n\n/**\n * Properties starting with `$` are reserved for TypeGraph-owned accessors\n * on the query-builder node/edge proxies (today: `$fulltext`). Reserving\n * the whole prefix — not just the currently-used names — keeps future\n * accessors (e.g. `$vector`, `$json`) from colliding with user fields.\n */\nconst RESERVED_PROPERTY_PREFIX = \"$\";\n\n/**\n * True if a user-defined field name is reserved by TypeGraph's accessor\n * namespace. `defineNode` / `defineEdge` call this against schema keys so\n * the collision fails fast at graph-definition time rather than silently\n * at query time.\n */\nfunction isReservedPropertyName(name: string): boolean {\n return name.startsWith(RESERVED_PROPERTY_PREFIX);\n}\n\n/**\n * Validates that a node or edge schema does not use any reserved property\n * name. Covers both the structural keys (`id`, `kind`, etc.) and the\n * `$`-prefix accessor namespace. Throws a single `ConfigurationError`\n * per conflict class so the user sees all collisions in one pass.\n */\nexport function assertSchemaKeysAreFree(\n entityKind: \"Node\" | \"Edge\",\n name: string,\n keys: readonly string[],\n reservedStructuralKeys: ReadonlySet<string>,\n): void {\n const structuralConflicts = keys.filter((key) =>\n reservedStructuralKeys.has(key),\n );\n if (structuralConflicts.length > 0) {\n const label = entityKind.toLowerCase();\n throw new ConfigurationError(\n `${entityKind} \"${name}\" schema contains reserved property names: ${structuralConflicts.join(\", \")}`,\n {\n [`${label}Type`]: name,\n conflicts: structuralConflicts,\n reservedKeys: [...reservedStructuralKeys],\n },\n {\n suggestion: `Rename the conflicting properties. Reserved names (${[...reservedStructuralKeys].join(\", \")}) are added automatically to all ${label}s.`,\n },\n );\n }\n\n const prefixConflicts = keys.filter((key) => isReservedPropertyName(key));\n if (prefixConflicts.length > 0) {\n const label = entityKind.toLowerCase();\n throw new ConfigurationError(\n `${entityKind} \"${name}\" schema uses the reserved \"${RESERVED_PROPERTY_PREFIX}\" prefix on: ${prefixConflicts.join(\", \")}`,\n {\n [`${label}Type`]: name,\n conflicts: prefixConflicts,\n reservedPrefix: RESERVED_PROPERTY_PREFIX,\n },\n {\n suggestion: `Property names starting with \"${RESERVED_PROPERTY_PREFIX}\" are reserved for TypeGraph accessors (e.g. $fulltext). Rename each field.`,\n },\n );\n }\n}\n\n/**\n * Validates that a projection field name is safe to assign onto a result object.\n * Rejects reserved structural keys and prototype-pollution vectors.\n *\n * @throws ConfigurationError if the field is reserved or dangerous\n */\nexport function validateProjectionField(\n field: string,\n entityType: KindEntity,\n kind: string,\n): void {\n const reserved =\n entityType === \"node\" ? RESERVED_NODE_KEYS : RESERVED_EDGE_KEYS;\n\n if (reserved.has(field)) {\n throw new ConfigurationError(\n `Projection field \"${field}\" on ${entityType} kind \"${kind}\" conflicts with a reserved structural key`,\n { field, kind, entityType, reservedKeys: [...reserved] },\n {\n suggestion: `Remove \"${field}\" from the projection. Structural fields (${[...reserved].join(\", \")}) are included automatically when relevant.`,\n },\n );\n }\n\n if (PROTOTYPE_POLLUTION_KEYS.has(field)) {\n throw new ConfigurationError(\n `Projection field \"${field}\" on ${entityType} kind \"${kind}\" is not allowed`,\n { field, kind, entityType },\n {\n suggestion: `\"${field}\" cannot be used as a projection field name.`,\n },\n );\n }\n}\n\n/**\n * Filters out reserved keys from a props object to prevent runtime collisions.\n */\nexport function filterReservedKeys(\n props: Record<string, unknown>,\n reservedKeys: ReadonlySet<string>,\n): Record<string, unknown> {\n const filtered: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(props)) {\n if (!reservedKeys.has(key)) {\n filtered[key] = value;\n }\n }\n return filtered;\n}\n"]}
1
+ {"version":3,"sources":["../src/store/reserved-keys.ts"],"names":["ConfigurationError"],"mappings":"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","file":"chunk-O2GZM7UK.cjs","sourcesContent":["/**\n * Reserved Keys for Store Entities\n *\n * Structural keys that cannot be overwritten by user-defined properties.\n * Shared across row-mappers, subgraph projection, and schema validation.\n */\nimport type { KindEntity } from \"../core/types\";\nimport { ConfigurationError } from \"../errors\";\n\nexport const RESERVED_NODE_KEYS: ReadonlySet<string> = new Set([\n \"id\",\n \"kind\",\n \"meta\",\n]);\n\nexport const RESERVED_EDGE_KEYS: ReadonlySet<string> = new Set([\n \"id\",\n \"kind\",\n \"meta\",\n \"fromKind\",\n \"fromId\",\n \"toKind\",\n \"toId\",\n]);\n\nconst PROTOTYPE_POLLUTION_KEYS: ReadonlySet<string> = new Set([\n \"__proto__\",\n \"constructor\",\n \"prototype\",\n]);\n\n/**\n * Properties starting with `$` are reserved for TypeGraph-owned accessors\n * on the query-builder node/edge proxies (today: `$fulltext`). Reserving\n * the whole prefix — not just the currently-used names — keeps future\n * accessors (e.g. `$vector`, `$json`) from colliding with user fields.\n */\nconst RESERVED_PROPERTY_PREFIX = \"$\";\n\n/**\n * True if a user-defined field name is reserved by TypeGraph's accessor\n * namespace. `defineNode` / `defineEdge` call this against schema keys so\n * the collision fails fast at graph-definition time rather than silently\n * at query time.\n */\nfunction isReservedPropertyName(name: string): boolean {\n return name.startsWith(RESERVED_PROPERTY_PREFIX);\n}\n\n/**\n * Validates that a node or edge schema does not use any reserved property\n * name. Covers both the structural keys (`id`, `kind`, etc.) and the\n * `$`-prefix accessor namespace. Throws a single `ConfigurationError`\n * per conflict class so the user sees all collisions in one pass.\n */\nexport function assertSchemaKeysAreFree(\n entityKind: \"Node\" | \"Edge\",\n name: string,\n keys: readonly string[],\n reservedStructuralKeys: ReadonlySet<string>,\n): void {\n const structuralConflicts = keys.filter((key) =>\n reservedStructuralKeys.has(key),\n );\n if (structuralConflicts.length > 0) {\n const label = entityKind.toLowerCase();\n throw new ConfigurationError(\n `${entityKind} \"${name}\" schema contains reserved property names: ${structuralConflicts.join(\", \")}`,\n {\n [`${label}Type`]: name,\n conflicts: structuralConflicts,\n reservedKeys: [...reservedStructuralKeys],\n },\n {\n suggestion: `Rename the conflicting properties. Reserved names (${[...reservedStructuralKeys].join(\", \")}) are added automatically to all ${label}s.`,\n },\n );\n }\n\n const prefixConflicts = keys.filter((key) => isReservedPropertyName(key));\n if (prefixConflicts.length > 0) {\n const label = entityKind.toLowerCase();\n throw new ConfigurationError(\n `${entityKind} \"${name}\" schema uses the reserved \"${RESERVED_PROPERTY_PREFIX}\" prefix on: ${prefixConflicts.join(\", \")}`,\n {\n [`${label}Type`]: name,\n conflicts: prefixConflicts,\n reservedPrefix: RESERVED_PROPERTY_PREFIX,\n },\n {\n suggestion: `Property names starting with \"${RESERVED_PROPERTY_PREFIX}\" are reserved for TypeGraph accessors (e.g. $fulltext). Rename each field.`,\n },\n );\n }\n}\n\n/**\n * Validates that a projection field name is safe to assign onto a result object.\n * Rejects reserved structural keys and prototype-pollution vectors.\n *\n * @throws ConfigurationError if the field is reserved or dangerous\n */\nexport function validateProjectionField(\n field: string,\n entityType: KindEntity,\n kind: string,\n): void {\n const reserved =\n entityType === \"node\" ? RESERVED_NODE_KEYS : RESERVED_EDGE_KEYS;\n\n if (reserved.has(field)) {\n throw new ConfigurationError(\n `Projection field \"${field}\" on ${entityType} kind \"${kind}\" conflicts with a reserved structural key`,\n { field, kind, entityType, reservedKeys: [...reserved] },\n {\n suggestion: `Remove \"${field}\" from the projection. Structural fields (${[...reserved].join(\", \")}) are included automatically when relevant.`,\n },\n );\n }\n\n if (PROTOTYPE_POLLUTION_KEYS.has(field)) {\n throw new ConfigurationError(\n `Projection field \"${field}\" on ${entityType} kind \"${kind}\" is not allowed`,\n { field, kind, entityType },\n {\n suggestion: `\"${field}\" cannot be used as a projection field name.`,\n },\n );\n }\n}\n\n/**\n * Filters out reserved keys from a props object to prevent runtime collisions.\n */\nexport function filterReservedKeys(\n props: Record<string, unknown>,\n reservedKeys: ReadonlySet<string>,\n): Record<string, unknown> {\n const filtered: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(props)) {\n if (!reservedKeys.has(key)) {\n filtered[key] = value;\n }\n }\n return filtered;\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { ValidationError } from './chunk-DPNA466P.js';
1
+ import { ValidationError } from './chunk-OYJSYDIH.js';
2
2
 
3
3
  // src/errors/validation.ts
4
4
  function zodIssuesToValidationIssues(error) {
@@ -73,5 +73,5 @@ function createValidationError(message, issues, context) {
73
73
  }
74
74
 
75
75
  export { createValidationError, validateEdgeProps, validateNodeProps, validateProps, wrapZodError };
76
- //# sourceMappingURL=chunk-ZE6NVENI.js.map
77
- //# sourceMappingURL=chunk-ZE6NVENI.js.map
76
+ //# sourceMappingURL=chunk-O3USVVWS.js.map
77
+ //# sourceMappingURL=chunk-O3USVVWS.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/errors/validation.ts"],"names":[],"mappings":"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","file":"chunk-ZE6NVENI.js","sourcesContent":["/**\n * Contextual Validation Utilities\n *\n * Provides Zod validation wrappers that include full context about\n * which entity (node/edge) and operation (create/update) failed.\n *\n * @example\n * ```typescript\n * const props = validateNodeProps(schema, input, {\n * kind: \"Person\",\n * operation: \"create\",\n * });\n * ```\n */\n\nimport { type ZodError, type ZodType } from \"zod\";\n\nimport type { KindEntity } from \"../core/types\";\nimport { ValidationError, type ValidationIssue } from \"./index\";\n\n// ============================================================\n// Types\n// ============================================================\n\n/**\n * Context for validation operations.\n */\nexport type ValidationContext = Readonly<{\n /** Type of entity being validated */\n entityType: KindEntity;\n /** Kind/type name of the entity */\n kind: string;\n /** Operation being performed */\n operation: \"create\" | \"update\";\n /** Entity ID (for updates) */\n id?: string;\n}>;\n\n// ============================================================\n// Validation Functions\n// ============================================================\n\n/**\n * Converts Zod issues to ValidationIssue format.\n */\nfunction zodIssuesToValidationIssues(error: ZodError): ValidationIssue[] {\n return error.issues.map((issue) => ({\n path: issue.path.join(\".\"),\n message: issue.message,\n code: issue.code,\n }));\n}\n\n/**\n * Builds a descriptive location string for error messages.\n */\nfunction buildLocationString(context: ValidationContext): string {\n if (context.id) {\n return `${context.kind}/${context.id}`;\n }\n return `new ${context.kind}`;\n}\n\n/**\n * Validates props with full context for error messages.\n *\n * @param schema - Zod schema to validate against\n * @param props - Properties to validate\n * @param context - Context about the entity and operation\n * @returns Validated and transformed props\n * @throws ValidationError with full context if validation fails\n *\n * @example\n * ```typescript\n * const validatedProps = validateProps(personSchema, input, {\n * entityType: \"node\",\n * kind: \"Person\",\n * operation: \"create\",\n * });\n * ```\n */\nexport function validateProps<T>(\n schema: ZodType<T>,\n props: unknown,\n context: ValidationContext,\n): T {\n const result = schema.safeParse(props);\n\n if (result.success) {\n return result.data;\n }\n\n const issues = zodIssuesToValidationIssues(result.error);\n const location = buildLocationString(context);\n\n throw new ValidationError(\n `Invalid ${context.entityType} props for ${location}: ${result.error.message}`,\n {\n entityType: context.entityType,\n kind: context.kind,\n operation: context.operation,\n ...(context.id !== undefined && { id: context.id }),\n issues,\n },\n { cause: result.error },\n );\n}\n\n/**\n * Validates node props with full context.\n *\n * Convenience wrapper around validateProps for node operations.\n *\n * @example\n * ```typescript\n * const props = validateNodeProps(schema, input, {\n * kind: \"Person\",\n * operation: \"create\",\n * });\n * ```\n */\nexport function validateNodeProps<T>(\n schema: ZodType<T>,\n props: unknown,\n context: Readonly<{\n kind: string;\n operation: \"create\" | \"update\";\n id?: string;\n }>,\n): T {\n return validateProps(schema, props, {\n entityType: \"node\",\n ...context,\n });\n}\n\n/**\n * Validates edge props with full context.\n *\n * Convenience wrapper around validateProps for edge operations.\n *\n * @example\n * ```typescript\n * const props = validateEdgeProps(schema, input, {\n * kind: \"worksAt\",\n * operation: \"create\",\n * });\n * ```\n */\nexport function validateEdgeProps<T>(\n schema: ZodType<T>,\n props: unknown,\n context: Readonly<{\n kind: string;\n operation: \"create\" | \"update\";\n id?: string;\n }>,\n): T {\n return validateProps(schema, props, {\n entityType: \"edge\",\n ...context,\n });\n}\n\n/**\n * Wraps a Zod error with TypeGraph context.\n *\n * Use this when you've already caught a ZodError and want to\n * convert it to a ValidationError with context.\n *\n * @example\n * ```typescript\n * try {\n * schema.parse(input);\n * } catch (error) {\n * if (error instanceof ZodError) {\n * throw wrapZodError(error, {\n * entityType: \"node\",\n * kind: \"Person\",\n * operation: \"create\",\n * });\n * }\n * throw error;\n * }\n * ```\n */\nexport function wrapZodError(\n error: ZodError,\n context: ValidationContext,\n): ValidationError {\n const issues = zodIssuesToValidationIssues(error);\n const location = buildLocationString(context);\n\n return new ValidationError(\n `Validation failed for ${context.entityType} ${location}: ${error.message}`,\n {\n entityType: context.entityType,\n kind: context.kind,\n operation: context.operation,\n ...(context.id !== undefined && { id: context.id }),\n issues,\n },\n { cause: error },\n );\n}\n\n/**\n * Creates a simple ValidationError without Zod context.\n *\n * Use this for custom validation rules that aren't part of a Zod schema.\n *\n * @example\n * ```typescript\n * if (startDate > endDate) {\n * throw createValidationError(\n * \"Start date must be before end date\",\n * [{ path: \"startDate\", message: \"Must be before endDate\" }],\n * { entityType: \"edge\", kind: \"employment\", operation: \"create\" }\n * );\n * }\n * ```\n */\nexport function createValidationError(\n message: string,\n issues: ValidationIssue[],\n context?: Partial<ValidationContext>,\n): ValidationError {\n return new ValidationError(message, {\n ...(context?.entityType !== undefined && {\n entityType: context.entityType,\n }),\n ...(context?.kind !== undefined && { kind: context.kind }),\n ...(context?.operation !== undefined && { operation: context.operation }),\n ...(context?.id !== undefined && { id: context.id }),\n issues,\n });\n}\n"]}
1
+ {"version":3,"sources":["../src/errors/validation.ts"],"names":[],"mappings":";;;AA6CA,SAAS,4BAA4B,KAAA,EAAoC;AACvE,EAAA,OAAO,KAAA,CAAM,MAAA,CAAO,GAAA,CAAI,CAAC,KAAA,MAAW;AAAA,IAClC,IAAA,EAAM,KAAA,CAAM,IAAA,CAAK,IAAA,CAAK,GAAG,CAAA;AAAA,IACzB,SAAS,KAAA,CAAM,OAAA;AAAA,IACf,MAAM,KAAA,CAAM;AAAA,GACd,CAAE,CAAA;AACJ;AAKA,SAAS,oBAAoB,OAAA,EAAoC;AAC/D,EAAA,IAAI,QAAQ,EAAA,EAAI;AACd,IAAA,OAAO,CAAA,EAAG,OAAA,CAAQ,IAAI,CAAA,CAAA,EAAI,QAAQ,EAAE,CAAA,CAAA;AAAA,EACtC;AACA,EAAA,OAAO,CAAA,IAAA,EAAO,QAAQ,IAAI,CAAA,CAAA;AAC5B;AAoBO,SAAS,aAAA,CACd,MAAA,EACA,KAAA,EACA,OAAA,EACG;AACH,EAAA,MAAM,MAAA,GAAS,MAAA,CAAO,SAAA,CAAU,KAAK,CAAA;AAErC,EAAA,IAAI,OAAO,OAAA,EAAS;AAClB,IAAA,OAAO,MAAA,CAAO,IAAA;AAAA,EAChB;AAEA,EAAA,MAAM,MAAA,GAAS,2BAAA,CAA4B,MAAA,CAAO,KAAK,CAAA;AACvD,EAAA,MAAM,QAAA,GAAW,oBAAoB,OAAO,CAAA;AAE5C,EAAA,MAAM,IAAI,eAAA;AAAA,IACR,CAAA,QAAA,EAAW,QAAQ,UAAU,CAAA,WAAA,EAAc,QAAQ,CAAA,EAAA,EAAK,MAAA,CAAO,MAAM,OAAO,CAAA,CAAA;AAAA,IAC5E;AAAA,MACE,YAAY,OAAA,CAAQ,UAAA;AAAA,MACpB,MAAM,OAAA,CAAQ,IAAA;AAAA,MACd,WAAW,OAAA,CAAQ,SAAA;AAAA,MACnB,GAAI,OAAA,CAAQ,EAAA,KAAO,UAAa,EAAE,EAAA,EAAI,QAAQ,EAAA,EAAG;AAAA,MACjD;AAAA,KACF;AAAA,IACA,EAAE,KAAA,EAAO,MAAA,CAAO,KAAA;AAAM,GACxB;AACF;AAeO,SAAS,iBAAA,CACd,MAAA,EACA,KAAA,EACA,OAAA,EAKG;AACH,EAAA,OAAO,aAAA,CAAc,QAAQ,KAAA,EAAO;AAAA,IAClC,UAAA,EAAY,MAAA;AAAA,IACZ,GAAG;AAAA,GACJ,CAAA;AACH;AAeO,SAAS,iBAAA,CACd,MAAA,EACA,KAAA,EACA,OAAA,EAKG;AACH,EAAA,OAAO,aAAA,CAAc,QAAQ,KAAA,EAAO;AAAA,IAClC,UAAA,EAAY,MAAA;AAAA,IACZ,GAAG;AAAA,GACJ,CAAA;AACH;AAwBO,SAAS,YAAA,CACd,OACA,OAAA,EACiB;AACjB,EAAA,MAAM,MAAA,GAAS,4BAA4B,KAAK,CAAA;AAChD,EAAA,MAAM,QAAA,GAAW,oBAAoB,OAAO,CAAA;AAE5C,EAAA,OAAO,IAAI,eAAA;AAAA,IACT,yBAAyB,OAAA,CAAQ,UAAU,IAAI,QAAQ,CAAA,EAAA,EAAK,MAAM,OAAO,CAAA,CAAA;AAAA,IACzE;AAAA,MACE,YAAY,OAAA,CAAQ,UAAA;AAAA,MACpB,MAAM,OAAA,CAAQ,IAAA;AAAA,MACd,WAAW,OAAA,CAAQ,SAAA;AAAA,MACnB,GAAI,OAAA,CAAQ,EAAA,KAAO,UAAa,EAAE,EAAA,EAAI,QAAQ,EAAA,EAAG;AAAA,MACjD;AAAA,KACF;AAAA,IACA,EAAE,OAAO,KAAA;AAAM,GACjB;AACF;AAkBO,SAAS,qBAAA,CACd,OAAA,EACA,MAAA,EACA,OAAA,EACiB;AACjB,EAAA,OAAO,IAAI,gBAAgB,OAAA,EAAS;AAAA,IAClC,GAAI,OAAA,EAAS,UAAA,KAAe,MAAA,IAAa;AAAA,MACvC,YAAY,OAAA,CAAQ;AAAA,KACtB;AAAA,IACA,GAAI,OAAA,EAAS,IAAA,KAAS,UAAa,EAAE,IAAA,EAAM,QAAQ,IAAA,EAAK;AAAA,IACxD,GAAI,OAAA,EAAS,SAAA,KAAc,UAAa,EAAE,SAAA,EAAW,QAAQ,SAAA,EAAU;AAAA,IACvE,GAAI,OAAA,EAAS,EAAA,KAAO,UAAa,EAAE,EAAA,EAAI,QAAQ,EAAA,EAAG;AAAA,IAClD;AAAA,GACD,CAAA;AACH","file":"chunk-O3USVVWS.js","sourcesContent":["/**\n * Contextual Validation Utilities\n *\n * Provides Zod validation wrappers that include full context about\n * which entity (node/edge) and operation (create/update) failed.\n *\n * @example\n * ```typescript\n * const props = validateNodeProps(schema, input, {\n * kind: \"Person\",\n * operation: \"create\",\n * });\n * ```\n */\n\nimport { type ZodError, type ZodType } from \"zod\";\n\nimport type { KindEntity } from \"../core/types\";\nimport { ValidationError, type ValidationIssue } from \"./index\";\n\n// ============================================================\n// Types\n// ============================================================\n\n/**\n * Context for validation operations.\n */\nexport type ValidationContext = Readonly<{\n /** Type of entity being validated */\n entityType: KindEntity;\n /** Kind/type name of the entity */\n kind: string;\n /** Operation being performed */\n operation: \"create\" | \"update\";\n /** Entity ID (for updates) */\n id?: string;\n}>;\n\n// ============================================================\n// Validation Functions\n// ============================================================\n\n/**\n * Converts Zod issues to ValidationIssue format.\n */\nfunction zodIssuesToValidationIssues(error: ZodError): ValidationIssue[] {\n return error.issues.map((issue) => ({\n path: issue.path.join(\".\"),\n message: issue.message,\n code: issue.code,\n }));\n}\n\n/**\n * Builds a descriptive location string for error messages.\n */\nfunction buildLocationString(context: ValidationContext): string {\n if (context.id) {\n return `${context.kind}/${context.id}`;\n }\n return `new ${context.kind}`;\n}\n\n/**\n * Validates props with full context for error messages.\n *\n * @param schema - Zod schema to validate against\n * @param props - Properties to validate\n * @param context - Context about the entity and operation\n * @returns Validated and transformed props\n * @throws ValidationError with full context if validation fails\n *\n * @example\n * ```typescript\n * const validatedProps = validateProps(personSchema, input, {\n * entityType: \"node\",\n * kind: \"Person\",\n * operation: \"create\",\n * });\n * ```\n */\nexport function validateProps<T>(\n schema: ZodType<T>,\n props: unknown,\n context: ValidationContext,\n): T {\n const result = schema.safeParse(props);\n\n if (result.success) {\n return result.data;\n }\n\n const issues = zodIssuesToValidationIssues(result.error);\n const location = buildLocationString(context);\n\n throw new ValidationError(\n `Invalid ${context.entityType} props for ${location}: ${result.error.message}`,\n {\n entityType: context.entityType,\n kind: context.kind,\n operation: context.operation,\n ...(context.id !== undefined && { id: context.id }),\n issues,\n },\n { cause: result.error },\n );\n}\n\n/**\n * Validates node props with full context.\n *\n * Convenience wrapper around validateProps for node operations.\n *\n * @example\n * ```typescript\n * const props = validateNodeProps(schema, input, {\n * kind: \"Person\",\n * operation: \"create\",\n * });\n * ```\n */\nexport function validateNodeProps<T>(\n schema: ZodType<T>,\n props: unknown,\n context: Readonly<{\n kind: string;\n operation: \"create\" | \"update\";\n id?: string;\n }>,\n): T {\n return validateProps(schema, props, {\n entityType: \"node\",\n ...context,\n });\n}\n\n/**\n * Validates edge props with full context.\n *\n * Convenience wrapper around validateProps for edge operations.\n *\n * @example\n * ```typescript\n * const props = validateEdgeProps(schema, input, {\n * kind: \"worksAt\",\n * operation: \"create\",\n * });\n * ```\n */\nexport function validateEdgeProps<T>(\n schema: ZodType<T>,\n props: unknown,\n context: Readonly<{\n kind: string;\n operation: \"create\" | \"update\";\n id?: string;\n }>,\n): T {\n return validateProps(schema, props, {\n entityType: \"edge\",\n ...context,\n });\n}\n\n/**\n * Wraps a Zod error with TypeGraph context.\n *\n * Use this when you've already caught a ZodError and want to\n * convert it to a ValidationError with context.\n *\n * @example\n * ```typescript\n * try {\n * schema.parse(input);\n * } catch (error) {\n * if (error instanceof ZodError) {\n * throw wrapZodError(error, {\n * entityType: \"node\",\n * kind: \"Person\",\n * operation: \"create\",\n * });\n * }\n * throw error;\n * }\n * ```\n */\nexport function wrapZodError(\n error: ZodError,\n context: ValidationContext,\n): ValidationError {\n const issues = zodIssuesToValidationIssues(error);\n const location = buildLocationString(context);\n\n return new ValidationError(\n `Validation failed for ${context.entityType} ${location}: ${error.message}`,\n {\n entityType: context.entityType,\n kind: context.kind,\n operation: context.operation,\n ...(context.id !== undefined && { id: context.id }),\n issues,\n },\n { cause: error },\n );\n}\n\n/**\n * Creates a simple ValidationError without Zod context.\n *\n * Use this for custom validation rules that aren't part of a Zod schema.\n *\n * @example\n * ```typescript\n * if (startDate > endDate) {\n * throw createValidationError(\n * \"Start date must be before end date\",\n * [{ path: \"startDate\", message: \"Must be before endDate\" }],\n * { entityType: \"edge\", kind: \"employment\", operation: \"create\" }\n * );\n * }\n * ```\n */\nexport function createValidationError(\n message: string,\n issues: ValidationIssue[],\n context?: Partial<ValidationContext>,\n): ValidationError {\n return new ValidationError(message, {\n ...(context?.entityType !== undefined && {\n entityType: context.entityType,\n }),\n ...(context?.kind !== undefined && { kind: context.kind }),\n ...(context?.operation !== undefined && { operation: context.operation }),\n ...(context?.id !== undefined && { id: context.id }),\n issues,\n });\n}\n"]}
@@ -1,22 +1,22 @@
1
1
  'use strict';
2
2
 
3
- var chunk7UTUKH4E_cjs = require('./chunk-7UTUKH4E.cjs');
4
- var chunkLLHMAHG4_cjs = require('./chunk-LLHMAHG4.cjs');
5
- var chunkSE422RES_cjs = require('./chunk-SE422RES.cjs');
3
+ var chunkAQR6BHB3_cjs = require('./chunk-AQR6BHB3.cjs');
4
+ var chunkOMQ2NBOR_cjs = require('./chunk-OMQ2NBOR.cjs');
5
+ var chunk6TJ6PKPS_cjs = require('./chunk-6TJ6PKPS.cjs');
6
6
  var chunkZDH3DX3C_cjs = require('./chunk-ZDH3DX3C.cjs');
7
- var chunkQYDUCWD2_cjs = require('./chunk-QYDUCWD2.cjs');
7
+ var chunkECU53PMN_cjs = require('./chunk-ECU53PMN.cjs');
8
8
  var chunkACSVZPK7_cjs = require('./chunk-ACSVZPK7.cjs');
9
- var chunkHP6LWBLB_cjs = require('./chunk-HP6LWBLB.cjs');
9
+ var chunkAO2WPYFZ_cjs = require('./chunk-AO2WPYFZ.cjs');
10
10
  var chunkZY4GXIVN_cjs = require('./chunk-ZY4GXIVN.cjs');
11
- var chunkYX3H63VV_cjs = require('./chunk-YX3H63VV.cjs');
11
+ var chunkX2XOQZT3_cjs = require('./chunk-X2XOQZT3.cjs');
12
12
  var chunk764JHTLT_cjs = require('./chunk-764JHTLT.cjs');
13
- var chunkSAFZ6JTI_cjs = require('./chunk-SAFZ6JTI.cjs');
13
+ var chunkKTBTSHU6_cjs = require('./chunk-KTBTSHU6.cjs');
14
14
  var drizzleOrm = require('drizzle-orm');
15
15
 
16
16
  // src/backend/live-node-candidates.ts
17
17
  function buildLiveNodeCandidates(nodesTableName, graphId, nodeKind, now) {
18
- const nodes = chunkYX3H63VV_cjs.sql.identifier(nodesTableName);
19
- return chunkYX3H63VV_cjs.sql`
18
+ const nodes = chunkX2XOQZT3_cjs.sql.identifier(nodesTableName);
19
+ return chunkX2XOQZT3_cjs.sql`
20
20
  SELECT "id" AS node_id
21
21
  FROM ${nodes}
22
22
  WHERE "graph_id" = ${graphId}
@@ -57,10 +57,10 @@ function vectorSlotFromDropIndexParams(params) {
57
57
  };
58
58
  }
59
59
  function mapVectorWriteError(error, params) {
60
- const mismatch = chunkHP6LWBLB_cjs.parseDimensionMismatch(error);
60
+ const mismatch = chunkAO2WPYFZ_cjs.parseDimensionMismatch(error);
61
61
  if (mismatch === void 0) return error;
62
62
  const attempted = mismatch.actual ?? "a different number of";
63
- return new chunkSAFZ6JTI_cjs.EmbeddingDimensionChangedError(
63
+ return new chunkKTBTSHU6_cjs.EmbeddingDimensionChangedError(
64
64
  `Embedding "${params.nodeKind}.${params.fieldPath}" was written with ${attempted} dimensions, but its per-field storage expects ${mismatch.expected}. The field's embedding dimension changed; existing vectors must be recreated and re-embedded.`,
65
65
  {
66
66
  kind: params.nodeKind,
@@ -76,7 +76,7 @@ var SQLITE_CONTRIBUTION_MAT_TIMESTAMPS = {
76
76
  encode: (value) => value
77
77
  };
78
78
  var POSTGRES_CONTRIBUTION_MAT_TIMESTAMPS = {
79
- decode: chunk7UTUKH4E_cjs.formatPostgresTimestamp,
79
+ decode: chunkAQR6BHB3_cjs.formatPostgresTimestamp,
80
80
  encode: (value) => new Date(value)
81
81
  };
82
82
  function mapContributionMaterializationRow(row, decode) {
@@ -190,7 +190,7 @@ function gateFulltextMethods(source, assert) {
190
190
  return gated;
191
191
  }
192
192
  function gateFulltext(tx, assert) {
193
- return chunkQYDUCWD2_cjs.createBackendOverlay(
193
+ return chunkECU53PMN_cjs.createBackendOverlay(
194
194
  tx,
195
195
  gateFulltextMethods(tx, assert)
196
196
  );
@@ -237,7 +237,7 @@ function createContributionMaterializer(deps) {
237
237
  }
238
238
  }
239
239
  function runtimeContributions() {
240
- return chunkLLHMAHG4_cjs.runtimeStrategyContributions(fulltextStrategy, fulltextTableName);
240
+ return chunkOMQ2NBOR_cjs.runtimeStrategyContributions(fulltextStrategy, fulltextTableName);
241
241
  }
242
242
  async function materializeOne(graphId, contribution, signature, existing, options) {
243
243
  const force = options?.force === true;
@@ -259,13 +259,13 @@ function createContributionMaterializer(deps) {
259
259
  await deps.recordMarker({
260
260
  ...identity,
261
261
  signature,
262
- attemptedAt: chunk7UTUKH4E_cjs.nowIso(),
262
+ attemptedAt: chunkAQR6BHB3_cjs.nowIso(),
263
263
  materializedAt: void 0,
264
264
  error: error.message
265
265
  });
266
266
  throw error;
267
267
  }
268
- const attemptedAt = chunk7UTUKH4E_cjs.nowIso();
268
+ const attemptedAt = chunkAQR6BHB3_cjs.nowIso();
269
269
  try {
270
270
  for (const statement of contribution.createDdl) {
271
271
  await deps.execDdl(statement);
@@ -301,7 +301,7 @@ function createContributionMaterializer(deps) {
301
301
  rows: indexMarkerRows(graphId, await deps.getMarkers(graphId))
302
302
  };
303
303
  } catch (error) {
304
- if (!chunkHP6LWBLB_cjs.isMissingTableError(error)) throw error;
304
+ if (!chunkAO2WPYFZ_cjs.isMissingTableError(error)) throw error;
305
305
  return { kind: "missing-table", error };
306
306
  }
307
307
  }
@@ -373,7 +373,7 @@ function createContributionMaterializer(deps) {
373
373
  if (read.kind === "missing-table") {
374
374
  const first = pending[0];
375
375
  if (first === void 0) return;
376
- throw new chunkSAFZ6JTI_cjs.StoreNotInitializedError(graphId, "missing", {
376
+ throw new chunkKTBTSHU6_cjs.StoreNotInitializedError(graphId, "missing", {
377
377
  cause: read.error,
378
378
  details: { logicalName: first.contribution.logicalName }
379
379
  });
@@ -382,7 +382,7 @@ function createContributionMaterializer(deps) {
382
382
  const { contribution, key, signature } = entry;
383
383
  const state = evaluateContributionState(read.rows.get(key), signature);
384
384
  if (state !== "initialized") {
385
- throw new chunkSAFZ6JTI_cjs.StoreNotInitializedError(graphId, state, {
385
+ throw new chunkKTBTSHU6_cjs.StoreNotInitializedError(graphId, state, {
386
386
  details: { logicalName: contribution.logicalName }
387
387
  });
388
388
  }
@@ -446,7 +446,7 @@ var SQLITE_INDEX_MAT_TIMESTAMPS = {
446
446
  encode: (value) => value
447
447
  };
448
448
  var POSTGRES_INDEX_MAT_TIMESTAMPS = {
449
- decode: chunk7UTUKH4E_cjs.formatPostgresTimestamp,
449
+ decode: chunkAQR6BHB3_cjs.formatPostgresTimestamp,
450
450
  encode: (value) => new Date(value)
451
451
  };
452
452
  function mapMaterializationRow(row, decode) {
@@ -504,7 +504,7 @@ var SQLITE_KIND_REMOVAL_TIMESTAMPS = {
504
504
  encode: (value) => value
505
505
  };
506
506
  var POSTGRES_KIND_REMOVAL_TIMESTAMPS = {
507
- decode: chunk7UTUKH4E_cjs.formatPostgresTimestamp,
507
+ decode: chunkAQR6BHB3_cjs.formatPostgresTimestamp,
508
508
  encode: (value) => new Date(value)
509
509
  };
510
510
  function mapKindRemovalRow(row, decode) {
@@ -671,12 +671,12 @@ function present(value) {
671
671
  function mapHybridSearchRow(row, toNodeRow) {
672
672
  return {
673
673
  node: toNodeRow(row),
674
- fusedScore: chunk7UTUKH4E_cjs.coerceNumericScore(row["fused_score"]),
674
+ fusedScore: chunkAQR6BHB3_cjs.coerceNumericScore(row["fused_score"]),
675
675
  ...present(row["vector_rank"]) ? { vectorRank: Number(row["vector_rank"]) } : {},
676
- ...present(row["vector_score"]) ? { vectorScore: chunk7UTUKH4E_cjs.coerceNumericScore(row["vector_score"]) } : {},
676
+ ...present(row["vector_score"]) ? { vectorScore: chunkAQR6BHB3_cjs.coerceNumericScore(row["vector_score"]) } : {},
677
677
  ...present(row["fulltext_rank"]) ? { fulltextRank: Number(row["fulltext_rank"]) } : {},
678
678
  ...present(row["fulltext_score"]) ? {
679
- fulltextScore: chunk7UTUKH4E_cjs.coerceNumericScore(
679
+ fulltextScore: chunkAQR6BHB3_cjs.coerceNumericScore(
680
680
  row["fulltext_score"]
681
681
  )
682
682
  } : {},
@@ -1082,11 +1082,11 @@ function buildFulltextSearch(tableName, params, strategy, dialect, candidates) {
1082
1082
  assertValidSearchParams(params);
1083
1083
  const mode = resolveMode(params.mode);
1084
1084
  const table = quotedTableName(tableName);
1085
- const matchCondition = chunkSE422RES_cjs.toDrizzleSql(
1085
+ const matchCondition = chunk6TJ6PKPS_cjs.toDrizzleSql(
1086
1086
  strategy.matchCondition(tableName, params.query, mode, params.language),
1087
1087
  dialect
1088
1088
  );
1089
- const rankExpression = chunkSE422RES_cjs.toDrizzleSql(
1089
+ const rankExpression = chunk6TJ6PKPS_cjs.toDrizzleSql(
1090
1090
  strategy.rankExpression(tableName, params.query, mode, params.language),
1091
1091
  dialect
1092
1092
  );
@@ -1099,10 +1099,10 @@ function buildFulltextSearch(tableName, params, strategy, dialect, candidates) {
1099
1099
  conditions.push(drizzleOrm.sql`${rankExpression} >= ${params.minScore}`);
1100
1100
  }
1101
1101
  if (candidates !== void 0) {
1102
- const candidateSql = chunkYX3H63VV_cjs.isSqlFragment(candidates) ? chunkSE422RES_cjs.toDrizzleSql(candidates, dialect) : candidates;
1102
+ const candidateSql = chunkX2XOQZT3_cjs.isSqlFragment(candidates) ? chunk6TJ6PKPS_cjs.toDrizzleSql(candidates, dialect) : candidates;
1103
1103
  conditions.push(drizzleOrm.sql`"node_id" IN (${candidateSql})`);
1104
1104
  }
1105
- const snippetExpr = params.includeSnippets === true && strategy.supportsSnippets ? chunkSE422RES_cjs.toDrizzleSql(
1105
+ const snippetExpr = params.includeSnippets === true && strategy.supportsSnippets ? chunk6TJ6PKPS_cjs.toDrizzleSql(
1106
1106
  strategy.snippetExpression(
1107
1107
  tableName,
1108
1108
  params.query,
@@ -1587,15 +1587,15 @@ function createCommonOperationStrategy(tables, dialect, fulltextStrategy) {
1587
1587
  );
1588
1588
  const fulltextTable = tables.fulltextTableName;
1589
1589
  const fulltextBuilders = {
1590
- buildUpsertFulltext: (params, timestamp) => fulltextStrategy.buildUpsert(fulltextTable, params, timestamp).map((statement) => chunkSE422RES_cjs.toDrizzleSql(statement, dialect)),
1591
- buildDeleteFulltext: (params) => fulltextStrategy.buildDelete(fulltextTable, params).map((statement) => chunkSE422RES_cjs.toDrizzleSql(statement, dialect)),
1590
+ buildUpsertFulltext: (params, timestamp) => fulltextStrategy.buildUpsert(fulltextTable, params, timestamp).map((statement) => chunk6TJ6PKPS_cjs.toDrizzleSql(statement, dialect)),
1591
+ buildDeleteFulltext: (params) => fulltextStrategy.buildDelete(fulltextTable, params).map((statement) => chunk6TJ6PKPS_cjs.toDrizzleSql(statement, dialect)),
1592
1592
  buildDeleteFulltextByNode: (graphId, nodeKind, nodeId) => fulltextStrategy.buildDelete(fulltextTable, {
1593
1593
  graphId,
1594
1594
  nodeKind,
1595
1595
  nodeId
1596
- }).map((statement) => chunkSE422RES_cjs.toDrizzleSql(statement, dialect)),
1597
- buildUpsertFulltextBatch: (params, timestamp) => fulltextStrategy.buildBatchUpsert(fulltextTable, params, timestamp).map((statement) => chunkSE422RES_cjs.toDrizzleSql(statement, dialect)),
1598
- buildDeleteFulltextBatch: (params) => fulltextStrategy.buildBatchDelete(fulltextTable, params).map((statement) => chunkSE422RES_cjs.toDrizzleSql(statement, dialect)),
1596
+ }).map((statement) => chunk6TJ6PKPS_cjs.toDrizzleSql(statement, dialect)),
1597
+ buildUpsertFulltextBatch: (params, timestamp) => fulltextStrategy.buildBatchUpsert(fulltextTable, params, timestamp).map((statement) => chunk6TJ6PKPS_cjs.toDrizzleSql(statement, dialect)),
1598
+ buildDeleteFulltextBatch: (params) => fulltextStrategy.buildBatchDelete(fulltextTable, params).map((statement) => chunk6TJ6PKPS_cjs.toDrizzleSql(statement, dialect)),
1599
1599
  buildFulltextSearch: (params) => buildFulltextSearch(
1600
1600
  fulltextTable,
1601
1601
  params,
@@ -1607,7 +1607,7 @@ function createCommonOperationStrategy(tables, dialect, fulltextStrategy) {
1607
1607
  tables.nodes,
1608
1608
  params.graphId,
1609
1609
  params.nodeKind,
1610
- chunk7UTUKH4E_cjs.nowIso()
1610
+ chunkAQR6BHB3_cjs.nowIso()
1611
1611
  )
1612
1612
  ),
1613
1613
  buildHybridSearch: (params, vectorSql, vectorScoreDescending) => {
@@ -1615,7 +1615,7 @@ function createCommonOperationStrategy(tables, dialect, fulltextStrategy) {
1615
1615
  tables.nodes,
1616
1616
  params.graphId,
1617
1617
  params.nodeKind,
1618
- chunk7UTUKH4E_cjs.nowIso()
1618
+ chunkAQR6BHB3_cjs.nowIso()
1619
1619
  );
1620
1620
  const fulltextSql = buildFulltextSearch(
1621
1621
  fulltextTable,
@@ -1636,7 +1636,7 @@ function createCommonOperationStrategy(tables, dialect, fulltextStrategy) {
1636
1636
  hybridCandidatesRef()
1637
1637
  );
1638
1638
  return buildHybridSearchStatement({
1639
- candidatesSql: chunkYX3H63VV_cjs.isSqlFragment(candidates) ? chunkSE422RES_cjs.toDrizzleSql(candidates, dialect) : candidates,
1639
+ candidatesSql: chunkX2XOQZT3_cjs.isSqlFragment(candidates) ? chunk6TJ6PKPS_cjs.toDrizzleSql(candidates, dialect) : candidates,
1640
1640
  vectorSql,
1641
1641
  vectorScoreDescending,
1642
1642
  fulltextSql,
@@ -1730,7 +1730,7 @@ var DRIZZLE_DIALECT_LABELS = {
1730
1730
  function assertAdoptedDialect(externalTx, brand, backend) {
1731
1731
  if (drizzleOrm.is(externalTx, brand)) return;
1732
1732
  const label = DRIZZLE_DIALECT_LABELS[backend];
1733
- throw new chunkSAFZ6JTI_cjs.ConfigurationError(
1733
+ throw new chunkKTBTSHU6_cjs.ConfigurationError(
1734
1734
  `adoptTransaction received a handle that is not a ${label} Drizzle transaction. Pass the \`tx\` from a ${label} \`db.transaction(...)\` opened on this backend's connection.`,
1735
1735
  { backend, capability: "adoptTransaction" }
1736
1736
  );
@@ -1738,7 +1738,7 @@ function assertAdoptedDialect(externalTx, brand, backend) {
1738
1738
  function verifyExpectedActiveVersion(graphId, expected, actualActiveVersion) {
1739
1739
  const expectedVersion = expected.kind === "active" ? expected.version : 0;
1740
1740
  if (actualActiveVersion !== expectedVersion) {
1741
- throw new chunkSAFZ6JTI_cjs.StaleVersionError({
1741
+ throw new chunkKTBTSHU6_cjs.StaleVersionError({
1742
1742
  graphId,
1743
1743
  expected: expectedVersion,
1744
1744
  actual: actualActiveVersion
@@ -1747,7 +1747,7 @@ function verifyExpectedActiveVersion(graphId, expected, actualActiveVersion) {
1747
1747
  }
1748
1748
  function createCommonOperationBackend(options) {
1749
1749
  const { batchConfig, execution, operationStrategy, rowMappers } = options;
1750
- const nowIso2 = options.nowIso ?? chunk7UTUKH4E_cjs.nowIso;
1750
+ const nowIso2 = options.nowIso ?? chunkAQR6BHB3_cjs.nowIso;
1751
1751
  const requiredClearTableExists = createCachedTableExistence(
1752
1752
  (tableName) => execution.execGet(
1753
1753
  operationStrategy.buildTableExists(tableName)
@@ -1778,7 +1778,7 @@ function createCommonOperationBackend(options) {
1778
1778
  const query = operationStrategy.buildInsertNode(params, timestamp);
1779
1779
  const row = await execution.execGet(query);
1780
1780
  if (!row)
1781
- throw new chunkSAFZ6JTI_cjs.DatabaseOperationError(
1781
+ throw new chunkKTBTSHU6_cjs.DatabaseOperationError(
1782
1782
  "Insert node failed: no row returned",
1783
1783
  { operation: "insert", entity: "node" }
1784
1784
  );
@@ -1838,7 +1838,7 @@ function createCommonOperationBackend(options) {
1838
1838
  const query = operationStrategy.buildUpdateNode(params, timestamp);
1839
1839
  const row = await execution.execGet(query);
1840
1840
  if (!row)
1841
- throw new chunkSAFZ6JTI_cjs.DatabaseOperationError(
1841
+ throw new chunkKTBTSHU6_cjs.DatabaseOperationError(
1842
1842
  "Update node failed: no row returned",
1843
1843
  { operation: "update", entity: "node" }
1844
1844
  );
@@ -1886,7 +1886,7 @@ function createCommonOperationBackend(options) {
1886
1886
  const query = operationStrategy.buildInsertEdge(params, timestamp);
1887
1887
  const row = await execution.execGet(query);
1888
1888
  if (!row)
1889
- throw new chunkSAFZ6JTI_cjs.DatabaseOperationError(
1889
+ throw new chunkKTBTSHU6_cjs.DatabaseOperationError(
1890
1890
  "Insert edge failed: no row returned",
1891
1891
  { operation: "insert", entity: "edge" }
1892
1892
  );
@@ -1946,7 +1946,7 @@ function createCommonOperationBackend(options) {
1946
1946
  const query = operationStrategy.buildUpdateEdge(params, timestamp);
1947
1947
  const row = await execution.execGet(query);
1948
1948
  if (!row)
1949
- throw new chunkSAFZ6JTI_cjs.DatabaseOperationError(
1949
+ throw new chunkKTBTSHU6_cjs.DatabaseOperationError(
1950
1950
  "Update edge failed: no row returned",
1951
1951
  { operation: "update", entity: "edge" }
1952
1952
  );
@@ -2028,7 +2028,7 @@ function createCommonOperationBackend(options) {
2028
2028
  const query = operationStrategy.buildInsertUnique(params);
2029
2029
  const result = await execution.execGet(query);
2030
2030
  if (result && result.node_id !== params.nodeId) {
2031
- throw new chunkSAFZ6JTI_cjs.UniquenessError({
2031
+ throw new chunkKTBTSHU6_cjs.UniquenessError({
2032
2032
  constraintName: params.constraintName,
2033
2033
  kind: params.nodeKind,
2034
2034
  existingId: result.node_id,
@@ -2048,7 +2048,7 @@ function createCommonOperationBackend(options) {
2048
2048
  continue;
2049
2049
  }
2050
2050
  if (existing.nodeId !== entry.nodeId) {
2051
- throw new chunkSAFZ6JTI_cjs.UniquenessError({
2051
+ throw new chunkKTBTSHU6_cjs.UniquenessError({
2052
2052
  constraintName: entry.constraintName,
2053
2053
  kind: entry.nodeKind,
2054
2054
  existingId: existing.nodeId,
@@ -2073,7 +2073,7 @@ function createCommonOperationBackend(options) {
2073
2073
  for (const entry of chunk2) {
2074
2074
  const owner = ownerByTarget.get(targetKey(entry));
2075
2075
  if (owner !== void 0 && owner !== entry.nodeId) {
2076
- throw new chunkSAFZ6JTI_cjs.UniquenessError({
2076
+ throw new chunkKTBTSHU6_cjs.UniquenessError({
2077
2077
  constraintName: entry.constraintName,
2078
2078
  kind: entry.nodeKind,
2079
2079
  existingId: owner,
@@ -2128,7 +2128,7 @@ function createCommonOperationBackend(options) {
2128
2128
  if (existingRaw !== void 0) {
2129
2129
  const existing = rowMappers.toSchemaVersionRow(existingRaw);
2130
2130
  if (existing.schema_hash !== params.schemaHash) {
2131
- throw new chunkSAFZ6JTI_cjs.SchemaContentConflictError({
2131
+ throw new chunkKTBTSHU6_cjs.SchemaContentConflictError({
2132
2132
  graphId: params.graphId,
2133
2133
  version: params.version,
2134
2134
  existingHash: existing.schema_hash,
@@ -2176,7 +2176,7 @@ function createCommonOperationBackend(options) {
2176
2176
  );
2177
2177
  const insertedRaw = await execution.execGet(insertQuery);
2178
2178
  if (!insertedRaw) {
2179
- throw new chunkSAFZ6JTI_cjs.DatabaseOperationError(
2179
+ throw new chunkKTBTSHU6_cjs.DatabaseOperationError(
2180
2180
  "Insert schema failed: no row returned",
2181
2181
  { operation: "insert", entity: "schema" }
2182
2182
  );
@@ -2194,12 +2194,13 @@ function createCommonOperationBackend(options) {
2194
2194
  operationStrategy.buildGetSchemaVersion(params.graphId, params.version)
2195
2195
  );
2196
2196
  if (!targetRaw) {
2197
- throw new chunkSAFZ6JTI_cjs.MigrationError(
2197
+ throw new chunkKTBTSHU6_cjs.MigrationError(
2198
2198
  `Cannot activate version ${params.version}: version does not exist for graph "${params.graphId}".`,
2199
2199
  {
2200
2200
  graphId: params.graphId,
2201
2201
  fromVersion: actualActiveVersion,
2202
- toVersion: params.version
2202
+ toVersion: params.version,
2203
+ reason: "version-not-found"
2203
2204
  }
2204
2205
  );
2205
2206
  }
@@ -2226,7 +2227,7 @@ function quoteSqlIdentifier(identifier) {
2226
2227
  }
2227
2228
  function requireRawExecution(backend) {
2228
2229
  if (backend.executeRaw === void 0) {
2229
- throw new chunkSAFZ6JTI_cjs.TrustedImportError(
2230
+ throw new chunkKTBTSHU6_cjs.TrustedImportError(
2230
2231
  "This backend cannot execute the raw statements required by trusted import.",
2231
2232
  "backend_unsupported"
2232
2233
  );
@@ -2235,7 +2236,7 @@ function requireRawExecution(backend) {
2235
2236
  }
2236
2237
  function requireStatementExecution(backend) {
2237
2238
  if (backend.executeStatement === void 0) {
2238
- throw new chunkSAFZ6JTI_cjs.TrustedImportError(
2239
+ throw new chunkKTBTSHU6_cjs.TrustedImportError(
2239
2240
  "This backend cannot execute the index lifecycle required by trusted import.",
2240
2241
  "backend_unsupported"
2241
2242
  );
@@ -2257,7 +2258,7 @@ async function assertTrustedImportDatabaseEmpty(backend, tableNames) {
2257
2258
  []
2258
2259
  );
2259
2260
  if (!rowIndicatesExistingData(rows[0])) return;
2260
- throw new chunkSAFZ6JTI_cjs.TrustedImportError(
2261
+ throw new chunkKTBTSHU6_cjs.TrustedImportError(
2261
2262
  "Trusted import requires globally empty TypeGraph node and edge tables.",
2262
2263
  "database_not_empty",
2263
2264
  { tables: [tableNames.nodes, tableNames.edges] },
@@ -2269,8 +2270,8 @@ async function assertTrustedImportDatabaseEmpty(backend, tableNames) {
2269
2270
  async function lockPostgresTrustedImportTables(backend, tableNames) {
2270
2271
  const executeStatement = requireStatementExecution(backend);
2271
2272
  await executeStatement(
2272
- chunkYX3H63VV_cjs.asCompiledStatementSql(
2273
- chunkYX3H63VV_cjs.sql.raw(
2273
+ chunkX2XOQZT3_cjs.asCompiledStatementSql(
2274
+ chunkX2XOQZT3_cjs.sql.raw(
2274
2275
  `LOCK TABLE ${quoteSqlIdentifier(tableNames.nodes)}, ${quoteSqlIdentifier(tableNames.edges)} IN ACCESS EXCLUSIVE MODE`
2275
2276
  )
2276
2277
  )
@@ -2290,8 +2291,8 @@ async function suspendSqliteSecondaryIndexes(backend, tableNames) {
2290
2291
  );
2291
2292
  for (const definition of definitions) {
2292
2293
  await executeStatement(
2293
- chunkYX3H63VV_cjs.asCompiledStatementSql(
2294
- chunkYX3H63VV_cjs.sql.raw(`DROP INDEX ${quoteSqlIdentifier(definition.index_name)}`)
2294
+ chunkX2XOQZT3_cjs.asCompiledStatementSql(
2295
+ chunkX2XOQZT3_cjs.sql.raw(`DROP INDEX ${quoteSqlIdentifier(definition.index_name)}`)
2295
2296
  )
2296
2297
  );
2297
2298
  }
@@ -2321,8 +2322,8 @@ async function suspendPostgresSecondaryIndexes(backend, tableNames) {
2321
2322
  );
2322
2323
  for (const definition of definitions) {
2323
2324
  await executeStatement(
2324
- chunkYX3H63VV_cjs.asCompiledStatementSql(
2325
- chunkYX3H63VV_cjs.sql.raw(`DROP INDEX ${quoteSqlIdentifier(definition.index_name)}`)
2325
+ chunkX2XOQZT3_cjs.asCompiledStatementSql(
2326
+ chunkX2XOQZT3_cjs.sql.raw(`DROP INDEX ${quoteSqlIdentifier(definition.index_name)}`)
2326
2327
  )
2327
2328
  );
2328
2329
  }
@@ -2332,20 +2333,20 @@ async function restoreSecondaryIndexes(backend, definitions) {
2332
2333
  const executeStatement = requireStatementExecution(backend);
2333
2334
  for (const definition of definitions) {
2334
2335
  await executeStatement(
2335
- chunkYX3H63VV_cjs.asCompiledStatementSql(chunkYX3H63VV_cjs.sql.raw(definition.index_definition))
2336
+ chunkX2XOQZT3_cjs.asCompiledStatementSql(chunkX2XOQZT3_cjs.sql.raw(definition.index_definition))
2336
2337
  );
2337
2338
  }
2338
2339
  }
2339
2340
  async function analyzeImportedTables(backend, tableNames) {
2340
2341
  const executeStatement = requireStatementExecution(backend);
2341
2342
  await executeStatement(
2342
- chunkYX3H63VV_cjs.asCompiledStatementSql(
2343
- chunkYX3H63VV_cjs.sql.raw(`ANALYZE ${quoteSqlIdentifier(tableNames.nodes)}`)
2343
+ chunkX2XOQZT3_cjs.asCompiledStatementSql(
2344
+ chunkX2XOQZT3_cjs.sql.raw(`ANALYZE ${quoteSqlIdentifier(tableNames.nodes)}`)
2344
2345
  )
2345
2346
  );
2346
2347
  await executeStatement(
2347
- chunkYX3H63VV_cjs.asCompiledStatementSql(
2348
- chunkYX3H63VV_cjs.sql.raw(`ANALYZE ${quoteSqlIdentifier(tableNames.edges)}`)
2348
+ chunkX2XOQZT3_cjs.asCompiledStatementSql(
2349
+ chunkX2XOQZT3_cjs.sql.raw(`ANALYZE ${quoteSqlIdentifier(tableNames.edges)}`)
2349
2350
  )
2350
2351
  );
2351
2352
  }
@@ -2360,7 +2361,7 @@ function postgresArray(values) {
2360
2361
  function createSqliteTrustedImportSession(executionAdapter, tableNames) {
2361
2362
  const executePreparedRunBatch = executionAdapter.executePreparedRunBatch;
2362
2363
  if (executePreparedRunBatch === void 0) {
2363
- throw new chunkSAFZ6JTI_cjs.TrustedImportError(
2364
+ throw new chunkKTBTSHU6_cjs.TrustedImportError(
2364
2365
  "Trusted import requires a synchronous SQLite driver with prepared statement support.",
2365
2366
  "backend_unsupported"
2366
2367
  );
@@ -2527,5 +2528,5 @@ exports.suspendSqliteSecondaryIndexes = suspendSqliteSecondaryIndexes;
2527
2528
  exports.vectorSlotFromCreateIndexParams = vectorSlotFromCreateIndexParams;
2528
2529
  exports.vectorSlotFromDropIndexParams = vectorSlotFromDropIndexParams;
2529
2530
  exports.vectorSlotFromParams = vectorSlotFromParams;
2530
- //# sourceMappingURL=chunk-UDS5DZNY.cjs.map
2531
- //# sourceMappingURL=chunk-UDS5DZNY.cjs.map
2531
+ //# sourceMappingURL=chunk-O7XVCLXW.cjs.map
2532
+ //# sourceMappingURL=chunk-O7XVCLXW.cjs.map