@nicia-ai/typegraph 0.49.0 → 0.51.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (370) hide show
  1. package/README.md +12 -0
  2. package/dist/backend/drizzle/indexes.cjs +11 -9
  3. package/dist/backend/drizzle/indexes.d.cts +1 -1
  4. package/dist/backend/drizzle/indexes.d.ts +1 -1
  5. package/dist/backend/drizzle/indexes.js +7 -5
  6. package/dist/backend/index.cjs +190 -53
  7. package/dist/backend/index.d.cts +90 -4
  8. package/dist/backend/index.d.ts +90 -4
  9. package/dist/backend/index.js +9 -12
  10. package/dist/backend/postgres/index.cjs +36 -28
  11. package/dist/backend/postgres/index.d.cts +7 -7
  12. package/dist/backend/postgres/index.d.ts +7 -7
  13. package/dist/backend/postgres/index.js +19 -15
  14. package/dist/backend/postgres/pglite-store.cjs +7 -62
  15. package/dist/backend/postgres/pglite-store.cjs.map +1 -1
  16. package/dist/backend/postgres/pglite-store.d.cts +8 -8
  17. package/dist/backend/postgres/pglite-store.d.ts +8 -8
  18. package/dist/backend/postgres/pglite-store.js +7 -62
  19. package/dist/backend/postgres/pglite-store.js.map +1 -1
  20. package/dist/backend/postgres/pglite.cjs +21 -17
  21. package/dist/backend/postgres/pglite.d.cts +3 -3
  22. package/dist/backend/postgres/pglite.d.ts +3 -3
  23. package/dist/backend/postgres/pglite.js +20 -16
  24. package/dist/backend/sqlite/index.cjs +33 -25
  25. package/dist/backend/sqlite/index.d.cts +7 -7
  26. package/dist/backend/sqlite/index.d.ts +7 -7
  27. package/dist/backend/sqlite/index.js +17 -13
  28. package/dist/backend/sqlite/libsql.cjs +24 -20
  29. package/dist/backend/sqlite/libsql.cjs.map +1 -1
  30. package/dist/backend/sqlite/libsql.d.cts +3 -3
  31. package/dist/backend/sqlite/libsql.d.ts +3 -3
  32. package/dist/backend/sqlite/libsql.js +19 -15
  33. package/dist/backend/sqlite/libsql.js.map +1 -1
  34. package/dist/backend/sqlite/local-store.cjs +9 -64
  35. package/dist/backend/sqlite/local-store.cjs.map +1 -1
  36. package/dist/backend/sqlite/local-store.d.cts +8 -8
  37. package/dist/backend/sqlite/local-store.d.ts +8 -8
  38. package/dist/backend/sqlite/local-store.js +8 -64
  39. package/dist/backend/sqlite/local-store.js.map +1 -1
  40. package/dist/backend/sqlite/local.cjs +25 -20
  41. package/dist/backend/sqlite/local.d.cts +3 -3
  42. package/dist/backend/sqlite/local.d.ts +3 -3
  43. package/dist/backend/sqlite/local.js +21 -16
  44. package/dist/chunk-2CVDZCXH.cjs +1278 -0
  45. package/dist/chunk-2CVDZCXH.cjs.map +1 -0
  46. package/dist/{chunk-MYKHJI2J.js → chunk-2DWTBNSH.js} +3 -3
  47. package/dist/{chunk-MYKHJI2J.js.map → chunk-2DWTBNSH.js.map} +1 -1
  48. package/dist/{chunk-JB6T4GLL.cjs → chunk-2KCTP3U2.cjs} +870 -528
  49. package/dist/chunk-2KCTP3U2.cjs.map +1 -0
  50. package/dist/{chunk-OORXGFL5.cjs → chunk-322TBTOQ.cjs} +48 -48
  51. package/dist/{chunk-OORXGFL5.cjs.map → chunk-322TBTOQ.cjs.map} +1 -1
  52. package/dist/{chunk-FA2AFWLP.cjs → chunk-36SX6QXP.cjs} +31 -12
  53. package/dist/chunk-36SX6QXP.cjs.map +1 -0
  54. package/dist/{chunk-SDBBMD4N.js → chunk-36VYWVQU.js} +3 -3
  55. package/dist/{chunk-SDBBMD4N.js.map → chunk-36VYWVQU.js.map} +1 -1
  56. package/dist/chunk-4DKY6RIU.js +1253 -0
  57. package/dist/chunk-4DKY6RIU.js.map +1 -0
  58. package/dist/chunk-4QKOZYMV.js +9 -0
  59. package/dist/chunk-4QKOZYMV.js.map +1 -0
  60. package/dist/{chunk-WIC7DRXW.js → chunk-57JM6NW3.js} +9 -19
  61. package/dist/chunk-57JM6NW3.js.map +1 -0
  62. package/dist/chunk-5WWEYV4H.cjs +5113 -0
  63. package/dist/chunk-5WWEYV4H.cjs.map +1 -0
  64. package/dist/chunk-6KQEICJ6.cjs +12 -0
  65. package/dist/{chunk-MKJ4KXL5.cjs.map → chunk-6KQEICJ6.cjs.map} +1 -1
  66. package/dist/{chunk-DZAICA5J.js → chunk-6NKSE5AU.js} +4 -4
  67. package/dist/{chunk-DZAICA5J.js.map → chunk-6NKSE5AU.js.map} +1 -1
  68. package/dist/{chunk-KKBDXCLQ.js → chunk-6NLYIMJO.js} +4 -4
  69. package/dist/{chunk-KKBDXCLQ.js.map → chunk-6NLYIMJO.js.map} +1 -1
  70. package/dist/{chunk-BFUOME67.cjs → chunk-7B7I7YAW.cjs} +20 -11
  71. package/dist/chunk-7B7I7YAW.cjs.map +1 -0
  72. package/dist/{chunk-ZDKTPBGV.js → chunk-7G5IYROL.js} +6 -548
  73. package/dist/chunk-7G5IYROL.js.map +1 -0
  74. package/dist/{chunk-3DMMGT6S.js → chunk-7QFRK6PU.js} +4 -8
  75. package/dist/chunk-7QFRK6PU.js.map +1 -0
  76. package/dist/chunk-A4C4NJ5U.cjs +12 -0
  77. package/dist/chunk-A4C4NJ5U.cjs.map +1 -0
  78. package/dist/{chunk-CHAOFCHV.js → chunk-AH2A74OZ.js} +3 -3
  79. package/dist/{chunk-CHAOFCHV.js.map → chunk-AH2A74OZ.js.map} +1 -1
  80. package/dist/{chunk-UGHQV7MP.cjs → chunk-B3MN7EJR.cjs} +228 -162
  81. package/dist/chunk-B3MN7EJR.cjs.map +1 -0
  82. package/dist/{chunk-TZEGUG6D.cjs → chunk-BZ5MVITP.cjs} +4 -4
  83. package/dist/{chunk-TZEGUG6D.cjs.map → chunk-BZ5MVITP.cjs.map} +1 -1
  84. package/dist/{chunk-YVF2EM7B.js → chunk-CAI6SMP6.js} +3 -3
  85. package/dist/{chunk-YVF2EM7B.js.map → chunk-CAI6SMP6.js.map} +1 -1
  86. package/dist/{chunk-JONXFAPO.js → chunk-CBOD7TXH.js} +5 -5
  87. package/dist/{chunk-JONXFAPO.js.map → chunk-CBOD7TXH.js.map} +1 -1
  88. package/dist/{chunk-FQPEMEWX.cjs → chunk-CRZ56SZU.cjs} +81 -32
  89. package/dist/chunk-CRZ56SZU.cjs.map +1 -0
  90. package/dist/{chunk-DO7SAMEK.cjs → chunk-D3GWARN7.cjs} +47 -47
  91. package/dist/{chunk-DO7SAMEK.cjs.map → chunk-D3GWARN7.cjs.map} +1 -1
  92. package/dist/{chunk-QTD6HX4O.js → chunk-D3OUDFU7.js} +5 -5
  93. package/dist/{chunk-QTD6HX4O.js.map → chunk-D3OUDFU7.js.map} +1 -1
  94. package/dist/{chunk-2QGYQBS2.cjs → chunk-DWUDZ66O.cjs} +10 -10
  95. package/dist/{chunk-2QGYQBS2.cjs.map → chunk-DWUDZ66O.cjs.map} +1 -1
  96. package/dist/chunk-EKG2UXNX.cjs +23 -0
  97. package/dist/chunk-EKG2UXNX.cjs.map +1 -0
  98. package/dist/chunk-FMMW3KX7.cjs +148 -0
  99. package/dist/chunk-FMMW3KX7.cjs.map +1 -0
  100. package/dist/{chunk-XVWOYKIK.js → chunk-FZHF5UWR.js} +3 -3
  101. package/dist/{chunk-XVWOYKIK.js.map → chunk-FZHF5UWR.js.map} +1 -1
  102. package/dist/chunk-H2VWDQWC.cjs +571 -0
  103. package/dist/chunk-H2VWDQWC.cjs.map +1 -0
  104. package/dist/chunk-H4FY6OZK.js +13 -0
  105. package/dist/chunk-H4FY6OZK.js.map +1 -0
  106. package/dist/{chunk-EDN4Y4ZG.cjs → chunk-H5IJSROF.cjs} +9 -15
  107. package/dist/chunk-H5IJSROF.cjs.map +1 -0
  108. package/dist/chunk-HZUB5CON.js +27 -0
  109. package/dist/chunk-HZUB5CON.js.map +1 -0
  110. package/dist/{chunk-NACVVDWB.js → chunk-I5IOSA27.js} +103 -105
  111. package/dist/chunk-I5IOSA27.js.map +1 -0
  112. package/dist/{chunk-OI2GQ25X.cjs → chunk-I7YAY2VQ.cjs} +7 -7
  113. package/dist/{chunk-OI2GQ25X.cjs.map → chunk-I7YAY2VQ.cjs.map} +1 -1
  114. package/dist/chunk-IRCWIA3R.js +20 -0
  115. package/dist/chunk-IRCWIA3R.js.map +1 -0
  116. package/dist/chunk-IVQBLXBK.cjs +55 -0
  117. package/dist/chunk-IVQBLXBK.cjs.map +1 -0
  118. package/dist/{chunk-7SQSZN2J.js → chunk-IZD4HTCP.js} +5 -5
  119. package/dist/{chunk-7SQSZN2J.js.map → chunk-IZD4HTCP.js.map} +1 -1
  120. package/dist/{chunk-3FPR224C.cjs → chunk-JHRUZ73O.cjs} +116 -107
  121. package/dist/chunk-JHRUZ73O.cjs.map +1 -0
  122. package/dist/{chunk-EZEEWCFJ.cjs → chunk-JQKMEKKW.cjs} +525 -298
  123. package/dist/chunk-JQKMEKKW.cjs.map +1 -0
  124. package/dist/chunk-JVA3KDEA.cjs +691 -0
  125. package/dist/chunk-JVA3KDEA.cjs.map +1 -0
  126. package/dist/{chunk-5K2BKEBD.js → chunk-K46SDNQD.js} +10 -4
  127. package/dist/chunk-K46SDNQD.js.map +1 -0
  128. package/dist/{chunk-7LZJNLA5.js → chunk-K67P5DLL.js} +108 -42
  129. package/dist/chunk-K67P5DLL.js.map +1 -0
  130. package/dist/{chunk-3G5W2U2L.cjs → chunk-KACEYDYV.cjs} +335 -258
  131. package/dist/chunk-KACEYDYV.cjs.map +1 -0
  132. package/dist/{chunk-JFRT7S3B.cjs → chunk-L6EVYIID.cjs} +318 -478
  133. package/dist/chunk-L6EVYIID.cjs.map +1 -0
  134. package/dist/{chunk-SHFBB23Q.js → chunk-LI4K2KEJ.js} +6 -4
  135. package/dist/chunk-LI4K2KEJ.js.map +1 -0
  136. package/dist/chunk-LKZDQ2B4.js +1581 -0
  137. package/dist/chunk-LKZDQ2B4.js.map +1 -0
  138. package/dist/{chunk-WODMN3Q2.cjs → chunk-LLFPQOBA.cjs} +27 -27
  139. package/dist/{chunk-WODMN3Q2.cjs.map → chunk-LLFPQOBA.cjs.map} +1 -1
  140. package/dist/{chunk-P6YLZTRE.js → chunk-LZMQ3SFK.js} +3 -3
  141. package/dist/{chunk-P6YLZTRE.js.map → chunk-LZMQ3SFK.js.map} +1 -1
  142. package/dist/{chunk-HEV35TGT.js → chunk-M3VTS3F6.js} +13 -4
  143. package/dist/chunk-M3VTS3F6.js.map +1 -0
  144. package/dist/{chunk-TQHGE7UC.cjs → chunk-M5MSP3BI.cjs} +18 -10
  145. package/dist/chunk-M5MSP3BI.cjs.map +1 -0
  146. package/dist/{chunk-D4QLTJSM.js → chunk-NBOS7BY3.js} +63 -23
  147. package/dist/chunk-NBOS7BY3.js.map +1 -0
  148. package/dist/chunk-NGQDGL5X.js +140 -0
  149. package/dist/chunk-NGQDGL5X.js.map +1 -0
  150. package/dist/{chunk-SIT26LAZ.cjs → chunk-NLX5OWK7.cjs} +33 -5
  151. package/dist/chunk-NLX5OWK7.cjs.map +1 -0
  152. package/dist/chunk-NUQ2YFFH.cjs +1637 -0
  153. package/dist/chunk-NUQ2YFFH.cjs.map +1 -0
  154. package/dist/{chunk-UMGZDVOA.cjs → chunk-OGL4X4PH.cjs} +206 -208
  155. package/dist/chunk-OGL4X4PH.cjs.map +1 -0
  156. package/dist/{chunk-LRQKXRXO.cjs → chunk-OTNTGEXR.cjs} +4 -4
  157. package/dist/{chunk-LRQKXRXO.cjs.map → chunk-OTNTGEXR.cjs.map} +1 -1
  158. package/dist/chunk-OTWE63BW.js +53 -0
  159. package/dist/chunk-OTWE63BW.js.map +1 -0
  160. package/dist/chunk-PC5NGH5A.js +549 -0
  161. package/dist/chunk-PC5NGH5A.js.map +1 -0
  162. package/dist/{chunk-26YKDNUD.cjs → chunk-PS3TUWJM.cjs} +12 -10
  163. package/dist/chunk-PS3TUWJM.cjs.map +1 -0
  164. package/dist/{chunk-OMZ37BM2.js → chunk-PVFFH7TL.js} +5 -5
  165. package/dist/{chunk-OMZ37BM2.js.map → chunk-PVFFH7TL.js.map} +1 -1
  166. package/dist/chunk-QCD5JKU4.cjs +15 -0
  167. package/dist/chunk-QCD5JKU4.cjs.map +1 -0
  168. package/dist/{chunk-UGHG7PGX.js → chunk-QG5VEOKX.js} +30 -4
  169. package/dist/chunk-QG5VEOKX.js.map +1 -0
  170. package/dist/{chunk-TUNPBZY3.cjs → chunk-QLLZM5I3.cjs} +4 -4
  171. package/dist/{chunk-TUNPBZY3.cjs.map → chunk-QLLZM5I3.cjs.map} +1 -1
  172. package/dist/{chunk-BRRP76WO.js → chunk-RCBG6YMT.js} +781 -375
  173. package/dist/chunk-RCBG6YMT.js.map +1 -0
  174. package/dist/{chunk-LTXQOEIC.js → chunk-RI7RJH4G.js} +281 -204
  175. package/dist/chunk-RI7RJH4G.js.map +1 -0
  176. package/dist/{chunk-GYEG3ZLZ.cjs → chunk-RJMHU2MG.cjs} +121 -18
  177. package/dist/chunk-RJMHU2MG.cjs.map +1 -0
  178. package/dist/{chunk-GLHXM7C4.js → chunk-RVUL2HXY.js} +61 -23
  179. package/dist/chunk-RVUL2HXY.js.map +1 -0
  180. package/dist/chunk-RWUWTJQY.cjs +30 -0
  181. package/dist/chunk-RWUWTJQY.cjs.map +1 -0
  182. package/dist/{chunk-2O4PCIZ6.cjs → chunk-S5GU4LUN.cjs} +13 -13
  183. package/dist/{chunk-2O4PCIZ6.cjs.map → chunk-S5GU4LUN.cjs.map} +1 -1
  184. package/dist/{chunk-JPD2CTC3.js → chunk-SDPWO2Z5.js} +7 -7
  185. package/dist/{chunk-JPD2CTC3.js.map → chunk-SDPWO2Z5.js.map} +1 -1
  186. package/dist/{chunk-OVI7IXYX.js → chunk-SLGGT2XD.js} +3 -3
  187. package/dist/{chunk-OVI7IXYX.js.map → chunk-SLGGT2XD.js.map} +1 -1
  188. package/dist/{chunk-ROR5ZR6A.cjs → chunk-TIJUA4I6.cjs} +45 -45
  189. package/dist/{chunk-ROR5ZR6A.cjs.map → chunk-TIJUA4I6.cjs.map} +1 -1
  190. package/dist/{chunk-AOSSQDVO.cjs → chunk-TM54OBHX.cjs} +13 -13
  191. package/dist/{chunk-AOSSQDVO.cjs.map → chunk-TM54OBHX.cjs.map} +1 -1
  192. package/dist/{chunk-KF6K7TGH.js → chunk-TYEYRCXL.js} +766 -433
  193. package/dist/chunk-TYEYRCXL.js.map +1 -0
  194. package/dist/{chunk-Z2JCLZFJ.js → chunk-UKOVGCRN.js} +2151 -570
  195. package/dist/chunk-UKOVGCRN.js.map +1 -0
  196. package/dist/chunk-UYKDYE5D.cjs +12 -0
  197. package/dist/{chunk-CICO5GXD.cjs.map → chunk-UYKDYE5D.cjs.map} +1 -1
  198. package/dist/{chunk-S5TERQVW.js → chunk-VAAC7L57.js} +284 -66
  199. package/dist/chunk-VAAC7L57.js.map +1 -0
  200. package/dist/{chunk-7UOLHNWC.cjs → chunk-VKHXYVN7.cjs} +22 -33
  201. package/dist/chunk-VKHXYVN7.cjs.map +1 -0
  202. package/dist/{chunk-6NGW27EO.cjs → chunk-VLBTRXA2.cjs} +10 -10
  203. package/dist/{chunk-6NGW27EO.cjs.map → chunk-VLBTRXA2.cjs.map} +1 -1
  204. package/dist/{chunk-YIURNGXI.js → chunk-VUQZNUHU.js} +22 -6
  205. package/dist/chunk-VUQZNUHU.js.map +1 -0
  206. package/dist/{chunk-YYUHLYM2.cjs → chunk-WDM5WQK4.cjs} +183 -143
  207. package/dist/chunk-WDM5WQK4.cjs.map +1 -0
  208. package/dist/{chunk-ZFMCDJGB.js → chunk-WFSYYU4W.js} +70 -220
  209. package/dist/chunk-WFSYYU4W.js.map +1 -0
  210. package/dist/{chunk-SR725PWF.cjs → chunk-WRBV2FNH.cjs} +2065 -1659
  211. package/dist/chunk-WRBV2FNH.cjs.map +1 -0
  212. package/dist/{chunk-MRDBBHIZ.cjs → chunk-X4GDXBOP.cjs} +2 -2
  213. package/dist/chunk-X4GDXBOP.cjs.map +1 -0
  214. package/dist/chunk-XORONCV3.js +202 -0
  215. package/dist/chunk-XORONCV3.js.map +1 -0
  216. package/dist/{chunk-D5R42W5D.js → chunk-XZW2CTNO.js} +115 -12
  217. package/dist/chunk-XZW2CTNO.js.map +1 -0
  218. package/dist/{chunk-ZLONH2UD.js → chunk-YDEJQWOL.js} +2 -2
  219. package/dist/chunk-YDEJQWOL.js.map +1 -0
  220. package/dist/{chunk-2TYSSBU5.js → chunk-YT2IVFAI.js} +30 -21
  221. package/dist/chunk-YT2IVFAI.js.map +1 -0
  222. package/dist/chunk-ZGVTNKTX.cjs +217 -0
  223. package/dist/chunk-ZGVTNKTX.cjs.map +1 -0
  224. package/dist/core/index.cjs +29 -28
  225. package/dist/core/index.d.cts +4 -4
  226. package/dist/core/index.d.ts +4 -4
  227. package/dist/core/index.js +9 -8
  228. package/dist/{ddl-D_oW-EVO.d.ts → ddl-BvcbgzHo.d.ts} +3 -3
  229. package/dist/{ddl-BL1NZLMY.d.cts → ddl-Ufebz5q5.d.cts} +3 -3
  230. package/dist/graph-extension/index.cjs +21 -20
  231. package/dist/graph-extension/index.d.cts +2 -4
  232. package/dist/graph-extension/index.d.ts +2 -4
  233. package/dist/graph-extension/index.js +5 -4
  234. package/dist/graph-merge/index.cjs +324 -307
  235. package/dist/graph-merge/index.cjs.map +1 -1
  236. package/dist/graph-merge/index.d.cts +8 -9
  237. package/dist/graph-merge/index.d.ts +8 -9
  238. package/dist/graph-merge/index.js +51 -34
  239. package/dist/graph-merge/index.js.map +1 -1
  240. package/dist/index.cjs +224 -222
  241. package/dist/index.cjs.map +1 -1
  242. package/dist/index.d.cts +11 -12
  243. package/dist/index.d.ts +11 -12
  244. package/dist/index.js +38 -36
  245. package/dist/index.js.map +1 -1
  246. package/dist/indexes/index.cjs +15 -13
  247. package/dist/indexes/index.d.cts +4 -4
  248. package/dist/indexes/index.d.ts +4 -4
  249. package/dist/indexes/index.js +8 -6
  250. package/dist/{ingestion-import-target-dNeL7iAv.d.ts → ingestion-import-target-CAs1OX-l.d.cts} +1 -1
  251. package/dist/{ingestion-import-target-XPxZYw89.d.cts → ingestion-import-target-DCQSPfNx.d.ts} +1 -1
  252. package/dist/interchange/index.cjs +57 -54
  253. package/dist/interchange/index.cjs.map +1 -1
  254. package/dist/interchange/index.d.cts +19 -8
  255. package/dist/interchange/index.d.ts +19 -8
  256. package/dist/interchange/index.js +21 -18
  257. package/dist/interchange/index.js.map +1 -1
  258. package/dist/local-store-impl-6DDTFM32.cjs +77 -0
  259. package/dist/local-store-impl-6DDTFM32.cjs.map +1 -0
  260. package/dist/local-store-impl-OXTOVU2J.js +75 -0
  261. package/dist/local-store-impl-OXTOVU2J.js.map +1 -0
  262. package/dist/{manager-CYaff3n3.d.cts → manager-B68OrPR2.d.ts} +29 -2
  263. package/dist/{manager-D9eRT_ns.d.ts → manager-D_t7oK69.d.cts} +29 -2
  264. package/dist/pglite-store-impl-6EMZGL7K.js +73 -0
  265. package/dist/pglite-store-impl-6EMZGL7K.js.map +1 -0
  266. package/dist/pglite-store-impl-GJG3Y7RP.cjs +75 -0
  267. package/dist/pglite-store-impl-GJG3Y7RP.cjs.map +1 -0
  268. package/dist/{postgres-CcL4bAHS.d.ts → postgres-BPLSVyHM.d.ts} +279 -2
  269. package/dist/{postgres-DMj39MEu.d.cts → postgres-CqvtFC2y.d.cts} +279 -2
  270. package/dist/profiler/index.d.cts +9 -9
  271. package/dist/profiler/index.d.ts +9 -9
  272. package/dist/provenance/index.cjs +59 -44
  273. package/dist/provenance/index.cjs.map +1 -1
  274. package/dist/provenance/index.d.cts +7 -7
  275. package/dist/provenance/index.d.ts +7 -7
  276. package/dist/provenance/index.js +28 -13
  277. package/dist/provenance/index.js.map +1 -1
  278. package/dist/{repair-validity-windows-BFNZvd_H.d.cts → repair-validity-windows-DEzCKAdy.d.cts} +7 -3
  279. package/dist/{repair-validity-windows-DlUSqwCg.d.ts → repair-validity-windows-GMdaS2AH.d.ts} +7 -3
  280. package/dist/resolve-D_H8MHtq.d.ts +1805 -0
  281. package/dist/resolve-WEW8gWws.d.cts +1805 -0
  282. package/dist/schema/index.cjs +48 -46
  283. package/dist/schema/index.d.cts +4 -6
  284. package/dist/schema/index.d.ts +4 -6
  285. package/dist/schema/index.js +21 -19
  286. package/dist/{searchable-bpE1bBfc.d.ts → searchable-C_UREI9K.d.ts} +1 -1
  287. package/dist/{searchable-DHJMh_nj.d.cts → searchable-ClgET_i7.d.cts} +1 -1
  288. package/dist/{sqlite-YppHrNFb.d.cts → sqlite-D1mXO9Kp.d.cts} +310 -2
  289. package/dist/{sqlite-D7Oz0SQh.d.ts → sqlite-MZA3oZNB.d.ts} +310 -2
  290. package/dist/{store-bphCSo7z.d.cts → store-CuFX7fCx.d.cts} +117 -31
  291. package/dist/{store-DRrFCx5x.d.ts → store-D-ZjXQpW.d.ts} +117 -31
  292. package/dist/{temporal-CbnLzTmM.d.ts → temporal-CpyEiRY8.d.cts} +1 -1
  293. package/dist/{temporal-5GqpYCk2.d.cts → temporal-y0Aep9Su.d.ts} +1 -1
  294. package/dist/{types-BqFZTQmV.d.cts → types-6yf0Vv-_.d.cts} +2016 -94
  295. package/dist/{types-BqFZTQmV.d.ts → types-6yf0Vv-_.d.ts} +2016 -94
  296. package/dist/{types-Bx74kaTt.d.ts → types-DzJ4dlzk.d.cts} +1 -1
  297. package/dist/{types-CXAhpW-c.d.cts → types-_vVSB9k-.d.ts} +1 -1
  298. package/dist/{where-O-k2wgYm.d.ts → where-DuG2LCLe.d.ts} +1 -1
  299. package/dist/{where-DI_Fqz-X.d.cts → where-Mhf_yyKX.d.cts} +1 -1
  300. package/package.json +7 -2
  301. package/dist/chunk-26YKDNUD.cjs.map +0 -1
  302. package/dist/chunk-2TYSSBU5.js.map +0 -1
  303. package/dist/chunk-3DMMGT6S.js.map +0 -1
  304. package/dist/chunk-3FPR224C.cjs.map +0 -1
  305. package/dist/chunk-3G5W2U2L.cjs.map +0 -1
  306. package/dist/chunk-3KOY4FH3.cjs +0 -934
  307. package/dist/chunk-3KOY4FH3.cjs.map +0 -1
  308. package/dist/chunk-3QNZ5SAJ.cjs +0 -3502
  309. package/dist/chunk-3QNZ5SAJ.cjs.map +0 -1
  310. package/dist/chunk-3U5ABFDW.cjs +0 -259
  311. package/dist/chunk-3U5ABFDW.cjs.map +0 -1
  312. package/dist/chunk-5K2BKEBD.js.map +0 -1
  313. package/dist/chunk-5PRKMB24.cjs +0 -124
  314. package/dist/chunk-5PRKMB24.cjs.map +0 -1
  315. package/dist/chunk-6LN7FIVU.js +0 -107
  316. package/dist/chunk-6LN7FIVU.js.map +0 -1
  317. package/dist/chunk-6SWPJEYN.js +0 -1126
  318. package/dist/chunk-6SWPJEYN.js.map +0 -1
  319. package/dist/chunk-7LZJNLA5.js.map +0 -1
  320. package/dist/chunk-7UOLHNWC.cjs.map +0 -1
  321. package/dist/chunk-BFUOME67.cjs.map +0 -1
  322. package/dist/chunk-BRRP76WO.js.map +0 -1
  323. package/dist/chunk-CICO5GXD.cjs +0 -12
  324. package/dist/chunk-D4QLTJSM.js.map +0 -1
  325. package/dist/chunk-D5R42W5D.js.map +0 -1
  326. package/dist/chunk-EDN4Y4ZG.cjs.map +0 -1
  327. package/dist/chunk-EZEEWCFJ.cjs.map +0 -1
  328. package/dist/chunk-FA2AFWLP.cjs.map +0 -1
  329. package/dist/chunk-FQPEMEWX.cjs.map +0 -1
  330. package/dist/chunk-GLHXM7C4.js.map +0 -1
  331. package/dist/chunk-GYEG3ZLZ.cjs.map +0 -1
  332. package/dist/chunk-HDL2ARHX.cjs +0 -1156
  333. package/dist/chunk-HDL2ARHX.cjs.map +0 -1
  334. package/dist/chunk-HEV35TGT.js.map +0 -1
  335. package/dist/chunk-I4GAZH5Z.js +0 -913
  336. package/dist/chunk-I4GAZH5Z.js.map +0 -1
  337. package/dist/chunk-JB6T4GLL.cjs.map +0 -1
  338. package/dist/chunk-JBQQ7THH.js +0 -20
  339. package/dist/chunk-JBQQ7THH.js.map +0 -1
  340. package/dist/chunk-JFRT7S3B.cjs.map +0 -1
  341. package/dist/chunk-KF6K7TGH.js.map +0 -1
  342. package/dist/chunk-L3LQNR34.cjs +0 -1254
  343. package/dist/chunk-L3LQNR34.cjs.map +0 -1
  344. package/dist/chunk-LTXQOEIC.js.map +0 -1
  345. package/dist/chunk-MKJ4KXL5.cjs +0 -12
  346. package/dist/chunk-MRDBBHIZ.cjs.map +0 -1
  347. package/dist/chunk-NACVVDWB.js.map +0 -1
  348. package/dist/chunk-NVY5CJFP.js +0 -244
  349. package/dist/chunk-NVY5CJFP.js.map +0 -1
  350. package/dist/chunk-PWLJ77UV.cjs +0 -23
  351. package/dist/chunk-PWLJ77UV.cjs.map +0 -1
  352. package/dist/chunk-S5TERQVW.js.map +0 -1
  353. package/dist/chunk-SHFBB23Q.js.map +0 -1
  354. package/dist/chunk-SIT26LAZ.cjs.map +0 -1
  355. package/dist/chunk-SR725PWF.cjs.map +0 -1
  356. package/dist/chunk-TQHGE7UC.cjs.map +0 -1
  357. package/dist/chunk-UGHG7PGX.js.map +0 -1
  358. package/dist/chunk-UGHQV7MP.cjs.map +0 -1
  359. package/dist/chunk-UMGZDVOA.cjs.map +0 -1
  360. package/dist/chunk-WIC7DRXW.js.map +0 -1
  361. package/dist/chunk-YIURNGXI.js.map +0 -1
  362. package/dist/chunk-YYUHLYM2.cjs.map +0 -1
  363. package/dist/chunk-Z2JCLZFJ.js.map +0 -1
  364. package/dist/chunk-ZDKTPBGV.js.map +0 -1
  365. package/dist/chunk-ZFMCDJGB.js.map +0 -1
  366. package/dist/chunk-ZLONH2UD.js.map +0 -1
  367. package/dist/index-COs_z6nV.d.cts +0 -1132
  368. package/dist/index-D7d1u2gr.d.ts +0 -1132
  369. package/dist/materialize-indexes-DJ3ykH59.d.ts +0 -266
  370. package/dist/materialize-indexes-DTtAnvfY.d.cts +0 -266
@@ -1,46 +1,49 @@
1
1
  'use strict';
2
2
 
3
- var chunkSR725PWF_cjs = require('../chunk-SR725PWF.cjs');
4
- require('../chunk-FA2AFWLP.cjs');
5
- var chunk3G5W2U2L_cjs = require('../chunk-3G5W2U2L.cjs');
6
- require('../chunk-JB6T4GLL.cjs');
7
- var chunk3KOY4FH3_cjs = require('../chunk-3KOY4FH3.cjs');
8
- var chunk3FPR224C_cjs = require('../chunk-3FPR224C.cjs');
9
- var chunk26YKDNUD_cjs = require('../chunk-26YKDNUD.cjs');
10
- var chunkJFRT7S3B_cjs = require('../chunk-JFRT7S3B.cjs');
11
- var chunkEZEEWCFJ_cjs = require('../chunk-EZEEWCFJ.cjs');
12
- var chunkPWLJ77UV_cjs = require('../chunk-PWLJ77UV.cjs');
13
- var chunkSIT26LAZ_cjs = require('../chunk-SIT26LAZ.cjs');
14
- var chunk3U5ABFDW_cjs = require('../chunk-3U5ABFDW.cjs');
15
- require('../chunk-5PRKMB24.cjs');
16
- var chunkBFUOME67_cjs = require('../chunk-BFUOME67.cjs');
17
- var chunkFQPEMEWX_cjs = require('../chunk-FQPEMEWX.cjs');
18
- require('../chunk-2QGYQBS2.cjs');
19
- var chunkTQHGE7UC_cjs = require('../chunk-TQHGE7UC.cjs');
20
- require('../chunk-AOSSQDVO.cjs');
21
- require('../chunk-OI2GQ25X.cjs');
22
- require('../chunk-LRQKXRXO.cjs');
3
+ var chunkWRBV2FNH_cjs = require('../chunk-WRBV2FNH.cjs');
4
+ require('../chunk-36SX6QXP.cjs');
5
+ var chunkKACEYDYV_cjs = require('../chunk-KACEYDYV.cjs');
6
+ require('../chunk-2KCTP3U2.cjs');
7
+ var chunk2CVDZCXH_cjs = require('../chunk-2CVDZCXH.cjs');
8
+ require('../chunk-FMMW3KX7.cjs');
9
+ var chunkJHRUZ73O_cjs = require('../chunk-JHRUZ73O.cjs');
10
+ var chunkPS3TUWJM_cjs = require('../chunk-PS3TUWJM.cjs');
11
+ var chunkL6EVYIID_cjs = require('../chunk-L6EVYIID.cjs');
12
+ var chunkJQKMEKKW_cjs = require('../chunk-JQKMEKKW.cjs');
13
+ var chunkNLX5OWK7_cjs = require('../chunk-NLX5OWK7.cjs');
14
+ require('../chunk-ZGVTNKTX.cjs');
15
+ var chunkNUQ2YFFH_cjs = require('../chunk-NUQ2YFFH.cjs');
16
+ var chunk7B7I7YAW_cjs = require('../chunk-7B7I7YAW.cjs');
17
+ var chunkCRZ56SZU_cjs = require('../chunk-CRZ56SZU.cjs');
18
+ require('../chunk-DWUDZ66O.cjs');
19
+ var chunkM5MSP3BI_cjs = require('../chunk-M5MSP3BI.cjs');
20
+ require('../chunk-TM54OBHX.cjs');
21
+ require('../chunk-I7YAY2VQ.cjs');
22
+ require('../chunk-OTNTGEXR.cjs');
23
23
  var chunkZY4GXIVN_cjs = require('../chunk-ZY4GXIVN.cjs');
24
+ require('../chunk-JVA3KDEA.cjs');
25
+ require('../chunk-A4C4NJ5U.cjs');
24
26
  require('../chunk-NAUA4PW5.cjs');
25
- require('../chunk-L3LQNR34.cjs');
26
- var chunkEDN4Y4ZG_cjs = require('../chunk-EDN4Y4ZG.cjs');
27
+ require('../chunk-H2VWDQWC.cjs');
28
+ var chunkH5IJSROF_cjs = require('../chunk-H5IJSROF.cjs');
27
29
  require('../chunk-7EO3TCQB.cjs');
28
30
  require('../chunk-RT5ZY4XA.cjs');
29
31
  require('../chunk-HAHNRASW.cjs');
30
- var chunkGYEG3ZLZ_cjs = require('../chunk-GYEG3ZLZ.cjs');
32
+ var chunkRJMHU2MG_cjs = require('../chunk-RJMHU2MG.cjs');
31
33
  var chunkXUO3KQFO_cjs = require('../chunk-XUO3KQFO.cjs');
32
- require('../chunk-6NGW27EO.cjs');
33
- var chunkMRDBBHIZ_cjs = require('../chunk-MRDBBHIZ.cjs');
34
+ require('../chunk-VLBTRXA2.cjs');
35
+ var chunkRWUWTJQY_cjs = require('../chunk-RWUWTJQY.cjs');
36
+ var chunkX4GDXBOP_cjs = require('../chunk-X4GDXBOP.cjs');
34
37
  require('../chunk-A7J2YDDI.cjs');
35
38
  var chunkN66HCGCY_cjs = require('../chunk-N66HCGCY.cjs');
36
39
  var zod = require('zod');
37
40
 
38
41
  // src/graph-merge/canonical-props.ts
39
42
  function canonicalizeProps(props) {
40
- return JSON.stringify(props, chunkPWLJ77UV_cjs.sortedReplacer);
43
+ return JSON.stringify(props, chunkNLX5OWK7_cjs.sortedReplacer);
41
44
  }
42
45
  function canonicalValueKey(value) {
43
- return JSON.stringify(value, chunkPWLJ77UV_cjs.sortedReplacer);
46
+ return JSON.stringify(value, chunkNLX5OWK7_cjs.sortedReplacer);
44
47
  }
45
48
  function edgeStateSignature(edge) {
46
49
  return JSON.stringify([
@@ -131,7 +134,7 @@ function toTypeGraphErrorOptions(category, options) {
131
134
  ...options.cause === void 0 ? {} : { cause: options.cause }
132
135
  };
133
136
  }
134
- var MergeError = class extends chunkMRDBBHIZ_cjs.TypeGraphError {
137
+ var MergeError = class extends chunkX4GDXBOP_cjs.TypeGraphError {
135
138
  static errorCategory = "system";
136
139
  constructor(message, options = {}) {
137
140
  const errorClass = new.target;
@@ -151,7 +154,7 @@ var InvalidMergeOptionsError = class extends MergeError {
151
154
  this.name = "InvalidMergeOptionsError";
152
155
  }
153
156
  };
154
- var BranchError = class extends chunkMRDBBHIZ_cjs.TypeGraphError {
157
+ var BranchError = class extends chunkX4GDXBOP_cjs.TypeGraphError {
155
158
  constructor(message, options = {}) {
156
159
  super(
157
160
  message,
@@ -197,7 +200,7 @@ var MergeConstraintConflictError = class extends MergeError {
197
200
  };
198
201
  function translateMergeCommitError(error) {
199
202
  if (error instanceof MergeError) return error;
200
- if (!(error instanceof chunkMRDBBHIZ_cjs.TypeGraphError)) return error;
203
+ if (!(error instanceof chunkX4GDXBOP_cjs.TypeGraphError)) return error;
201
204
  if (error.category !== "constraint" || error.code.startsWith("IDENTITY_")) {
202
205
  return error;
203
206
  }
@@ -716,10 +719,10 @@ function endpointTuple(assertion) {
716
719
  return [assertion.a.kind, assertion.a.id, assertion.b.kind, assertion.b.id];
717
720
  }
718
721
  function identityEndpointKey(assertion) {
719
- return chunkEZEEWCFJ_cjs.encodeTupleKey(endpointTuple(assertion));
722
+ return chunkCRZ56SZU_cjs.encodeTupleKey(endpointTuple(assertion));
720
723
  }
721
724
  function identitySemanticKey(assertion) {
722
- return chunkJFRT7S3B_cjs.identityAssertionSemanticKey(
725
+ return chunkL6EVYIID_cjs.identityAssertionSemanticKey(
723
726
  assertion.relation,
724
727
  assertion.a,
725
728
  assertion.b
@@ -728,11 +731,11 @@ function identitySemanticKey(assertion) {
728
731
  function identityDedupeKey(assertion) {
729
732
  const semantic = identitySemanticKey(assertion);
730
733
  if (assertion.validTo === void 0) return semantic;
731
- return chunkEZEEWCFJ_cjs.encodeTupleKey([semantic, assertion.validFrom, assertion.validTo]);
734
+ return chunkCRZ56SZU_cjs.encodeTupleKey([semantic, assertion.validFrom, assertion.validTo]);
732
735
  }
733
736
  function compareIdentitySurvivors(left, right) {
734
- const byValidity = chunkEZEEWCFJ_cjs.compareCodePoints(left.validFrom, right.validFrom);
735
- return byValidity === 0 ? chunkEZEEWCFJ_cjs.compareCodePoints(left.id, right.id) : byValidity;
737
+ const byValidity = chunkRWUWTJQY_cjs.compareCodePoints(left.validFrom, right.validFrom);
738
+ return byValidity === 0 ? chunkRWUWTJQY_cjs.compareCodePoints(left.id, right.id) : byValidity;
736
739
  }
737
740
  var DUPLICATE_IDENTITY_ASSERTION_DROP_REASON = "identity:duplicate-assertion";
738
741
  var REDUNDANT_IDENTITY_ASSERTION_DROP_REASON = "identity:endpoints-collapsed";
@@ -763,7 +766,7 @@ function dedupeIdentityAssertions(assertions, committedIds) {
763
766
  }
764
767
  return {
765
768
  survivors: [...survivorBySemantic.values()].toSorted(
766
- (left, right) => chunkEZEEWCFJ_cjs.compareCodePoints(identityDedupeKey(left), identityDedupeKey(right))
769
+ (left, right) => chunkRWUWTJQY_cjs.compareCodePoints(identityDedupeKey(left), identityDedupeKey(right))
767
770
  ),
768
771
  dropped
769
772
  };
@@ -783,7 +786,7 @@ function assertNoOpposingIdentityRelations(assertions) {
783
786
  );
784
787
  for (const sameAssertion of same) {
785
788
  for (const differentAssertion of different) {
786
- if (!chunkJFRT7S3B_cjs.identityValidityWindowsOverlap(sameAssertion, differentAssertion)) {
789
+ if (!chunkL6EVYIID_cjs.identityValidityWindowsOverlap(sameAssertion, differentAssertion)) {
787
790
  continue;
788
791
  }
789
792
  throw new IdentityMergeConflictError(
@@ -900,7 +903,7 @@ function planIdentityChanges(staging, storedIdentityRowsById) {
900
903
  return {
901
904
  assertions: deduped.survivors,
902
905
  retractions: retractions.toSorted(
903
- (left, right) => chunkEZEEWCFJ_cjs.compareCodePoints(left.id, right.id)
906
+ (left, right) => chunkRWUWTJQY_cjs.compareCodePoints(left.id, right.id)
904
907
  ),
905
908
  dropped: [...deduped.dropped, ...retractionDropped]
906
909
  };
@@ -943,7 +946,7 @@ function remapIdentityAssertionEndpoints(assertions, canonicalOf, retypeMap, sto
943
946
  );
944
947
  continue;
945
948
  }
946
- const [a, b] = chunkJFRT7S3B_cjs.normalizeIdentityPair(remappedA, remappedB);
949
+ const [a, b] = chunkL6EVYIID_cjs.normalizeIdentityPair(remappedA, remappedB);
947
950
  const endpointWindowA = endpointWindows.get(mergeKeyOf(a));
948
951
  const endpointWindowB = endpointWindows.get(mergeKeyOf(b));
949
952
  const validFrom = [
@@ -951,17 +954,17 @@ function remapIdentityAssertionEndpoints(assertions, canonicalOf, retypeMap, sto
951
954
  endpointWindowA?.validFrom,
952
955
  endpointWindowB?.validFrom
953
956
  ].filter((bound) => bound !== void 0).reduce(
954
- (latest, bound) => chunkEZEEWCFJ_cjs.compareCodePoints(latest, bound) < 0 ? bound : latest
957
+ (latest, bound) => chunkRWUWTJQY_cjs.compareCodePoints(latest, bound) < 0 ? bound : latest
955
958
  );
956
959
  const validTo = [
957
960
  assertion.validTo,
958
961
  endpointWindowA?.validTo,
959
962
  endpointWindowB?.validTo
960
963
  ].filter((bound) => bound !== void 0).reduce(
961
- (earliest, bound) => earliest === void 0 || chunkEZEEWCFJ_cjs.compareCodePoints(bound, earliest) < 0 ? bound : earliest,
964
+ (earliest, bound) => earliest === void 0 || chunkRWUWTJQY_cjs.compareCodePoints(bound, earliest) < 0 ? bound : earliest,
962
965
  void 0
963
966
  );
964
- if (validTo !== void 0 && chunkEZEEWCFJ_cjs.compareCodePoints(validFrom, validTo) >= 0) {
967
+ if (validTo !== void 0 && chunkRWUWTJQY_cjs.compareCodePoints(validFrom, validTo) >= 0) {
965
968
  dropped.push(
966
969
  droppedIdentityAssertion(
967
970
  assertion,
@@ -1098,7 +1101,7 @@ async function buildIdentityPeerProbe(target, probedIds, targetPeers, plan, prof
1098
1101
  (group) => group.map((member) => mergeKey(member.kind, member.id))
1099
1102
  )
1100
1103
  ]);
1101
- const ledger = (await relevantLedgerAssertions(target, memberKeys, chunk3KOY4FH3_cjs.storeBackend(target))).filter(
1104
+ const ledger = (await relevantLedgerAssertions(target, memberKeys, chunk2CVDZCXH_cjs.storeBackend(target))).filter(
1102
1105
  (assertion) => !plannedDeletions.has(mergeKey(assertion.a.kind, assertion.a.id)) && !plannedDeletions.has(mergeKey(assertion.b.kind, assertion.b.id))
1103
1106
  );
1104
1107
  return {
@@ -1119,7 +1122,7 @@ async function buildIdentityPeerProbe(target, probedIds, targetPeers, plan, prof
1119
1122
  };
1120
1123
  }
1121
1124
  async function snapshotIdentityClasses(target, seeds, liveKeys, plannedDeletions, txBackend) {
1122
- const classes = await chunk3KOY4FH3_cjs.storeRuntime(target).structuralIdentityClasses(
1125
+ const classes = await chunk2CVDZCXH_cjs.storeRuntime(target).structuralIdentityClasses(
1123
1126
  seeds,
1124
1127
  txBackend
1125
1128
  );
@@ -1127,7 +1130,7 @@ async function snapshotIdentityClasses(target, seeds, liveKeys, plannedDeletions
1127
1130
  const groups = [];
1128
1131
  for (const seed of seeds) {
1129
1132
  const key = mergeKey(seed.kind, seed.id);
1130
- const members = (classes.get(chunkJFRT7S3B_cjs.identityReferenceKey(seed)) ?? [seed]).filter(
1133
+ const members = (classes.get(chunkL6EVYIID_cjs.identityReferenceKey(seed)) ?? [seed]).filter(
1131
1134
  (member) => !plannedDeletions.has(mergeKey(member.kind, member.id))
1132
1135
  );
1133
1136
  groups.push(members);
@@ -1136,7 +1139,7 @@ async function snapshotIdentityClasses(target, seeds, liveKeys, plannedDeletions
1136
1139
  return { fingerprints, groups };
1137
1140
  }
1138
1141
  async function relevantLedgerAssertions(target, memberKeys, backend) {
1139
- const current = await chunk3KOY4FH3_cjs.storeRuntime(target).identityAssertionsAtTarget(
1142
+ const current = await chunk2CVDZCXH_cjs.storeRuntime(target).identityAssertionsAtTarget(
1140
1143
  backend,
1141
1144
  "state"
1142
1145
  );
@@ -1147,7 +1150,7 @@ async function relevantLedgerAssertions(target, memberKeys, backend) {
1147
1150
  function differentLedgerFingerprint(assertions) {
1148
1151
  return JSON.stringify(
1149
1152
  assertions.filter((assertion) => assertion.relation === "different").map((assertion) => [assertion.id, ...endpointTuple(assertion)]).toSorted(
1150
- (left, right) => chunkEZEEWCFJ_cjs.compareStrings(chunkEZEEWCFJ_cjs.encodeTupleKey(left), chunkEZEEWCFJ_cjs.encodeTupleKey(right))
1153
+ (left, right) => chunkRWUWTJQY_cjs.compareStrings(chunkCRZ56SZU_cjs.encodeTupleKey(left), chunkCRZ56SZU_cjs.encodeTupleKey(right))
1151
1154
  )
1152
1155
  );
1153
1156
  }
@@ -1209,7 +1212,7 @@ async function assertPlannedIdentityIdsFresh(target, txBackend, plan) {
1209
1212
  ...plan.identityRetractions.map((retraction) => retraction.id)
1210
1213
  ];
1211
1214
  if (plannedIds.length === 0) return;
1212
- const storedById = await chunk3KOY4FH3_cjs.storeRuntime(target).identityAssertionRowsByIds(
1215
+ const storedById = await chunk2CVDZCXH_cjs.storeRuntime(target).identityAssertionRowsByIds(
1213
1216
  plannedIds,
1214
1217
  txBackend
1215
1218
  );
@@ -1262,7 +1265,7 @@ function affectedIdentityClassSeeds(plan, profile) {
1262
1265
  return [...seedsByKey.values()];
1263
1266
  }
1264
1267
  async function assertMergedIdentityClassesConsistent(target, txBackend, plan) {
1265
- await chunk3KOY4FH3_cjs.storeRuntime(target).assertIdentityClassesConsistentAtTarget(
1268
+ await chunk2CVDZCXH_cjs.storeRuntime(target).assertIdentityClassesConsistentAtTarget(
1266
1269
  txBackend,
1267
1270
  affectedIdentityClassSeeds(plan, target.graph.identity?.sameIdAcrossKinds)
1268
1271
  );
@@ -1301,9 +1304,9 @@ function identityRefusalCode(error) {
1301
1304
  }
1302
1305
  function translateIdentityCommitError(error) {
1303
1306
  if (error instanceof MergeError) return error;
1304
- if (!(error instanceof chunkMRDBBHIZ_cjs.TypeGraphError)) return error;
1307
+ if (!(error instanceof chunkX4GDXBOP_cjs.TypeGraphError)) return error;
1305
1308
  const identityCode = identityRefusalCode(error);
1306
- const identityRefusal = error instanceof chunkMRDBBHIZ_cjs.IdentityContradictionError || error instanceof chunkMRDBBHIZ_cjs.NodeNotFoundError || identityCode !== void 0 && !IDENTITY_ENVIRONMENT_CODES.has(identityCode);
1309
+ const identityRefusal = error instanceof chunkX4GDXBOP_cjs.IdentityContradictionError || error instanceof chunkX4GDXBOP_cjs.NodeNotFoundError || identityCode !== void 0 && !IDENTITY_ENVIRONMENT_CODES.has(identityCode);
1307
1310
  if (!identityRefusal) return error;
1308
1311
  return new IdentityMergeConflictError(
1309
1312
  `The identity applier refused the resolved plan inside the commit transaction \u2014 identity truth on the target is incompatible with the plan. Cause: ${describeCause(error)}`,
@@ -1316,7 +1319,7 @@ function translateIdentityCommitError(error) {
1316
1319
  }
1317
1320
  async function assertIdentityPeersStable(target, txBackend, probe, plan) {
1318
1321
  if (probe === void 0) return;
1319
- const live = (await chunk3KOY4FH3_cjs.storeRuntime(target).liveNodesSharingIds(probe.ids, txBackend)).filter((peer) => !probe.plannedDeletions.has(mergeKey(peer.kind, peer.id)));
1322
+ const live = (await chunk2CVDZCXH_cjs.storeRuntime(target).liveNodesSharingIds(probe.ids, txBackend)).filter((peer) => !probe.plannedDeletions.has(mergeKey(peer.kind, peer.id)));
1320
1323
  const seedKindsById = /* @__PURE__ */ new Map();
1321
1324
  for (const seed of probe.seeds) {
1322
1325
  const kinds = seedKindsById.get(seed.id) ?? /* @__PURE__ */ new Set();
@@ -1341,7 +1344,7 @@ async function assertIdentityPeersStable(target, txBackend, probe, plan) {
1341
1344
  probe.plannedDeletions,
1342
1345
  txBackend
1343
1346
  );
1344
- const drifted = [...probe.classFingerprints].filter(([key, fingerprint]) => liveFingerprints.get(key) !== fingerprint).map(([key]) => key).sort((left, right) => chunkEZEEWCFJ_cjs.compareStrings(left, right));
1347
+ const drifted = [...probe.classFingerprints].filter(([key, fingerprint]) => liveFingerprints.get(key) !== fingerprint).map(([key]) => key).sort((left, right) => chunkRWUWTJQY_cjs.compareStrings(left, right));
1345
1348
  if (drifted.length > 0) {
1346
1349
  throw new BaseVersionMismatchError(
1347
1350
  `mergeIncremental() validated identity against the classes visible at planning, but the identity class of ${drifted.length} node(s) the plan folds on changed before the commit transaction. Committing the plan could contradict identity truth it never validated.`,
@@ -1385,8 +1388,8 @@ var ENUMERATION_PAGE_SIZE = 1e3;
1385
1388
  var EXPLICIT_RETRACTION = { kind: "explicit" };
1386
1389
  function validWindowOf(row) {
1387
1390
  return {
1388
- validFrom: chunkTQHGE7UC_cjs.canonicalizeDatabaseTimestamp(row.valid_from),
1389
- validTo: chunkTQHGE7UC_cjs.canonicalizeDatabaseTimestamp(row.valid_to)
1391
+ validFrom: chunkM5MSP3BI_cjs.canonicalizeDatabaseTimestamp(row.valid_from),
1392
+ validTo: chunkM5MSP3BI_cjs.canonicalizeDatabaseTimestamp(row.valid_to)
1390
1393
  };
1391
1394
  }
1392
1395
  function windowsDiffer(left, right) {
@@ -1498,7 +1501,7 @@ function diffNodeKind(kind, baseRows, forkRows) {
1498
1501
  deleted.push({
1499
1502
  id: baseRow.id,
1500
1503
  kind,
1501
- deletedAt: forkRow === void 0 ? void 0 : chunkTQHGE7UC_cjs.canonicalizeDatabaseTimestamp(forkRow.deleted_at)
1504
+ deletedAt: forkRow === void 0 ? void 0 : chunkM5MSP3BI_cjs.canonicalizeDatabaseTimestamp(forkRow.deleted_at)
1502
1505
  });
1503
1506
  }
1504
1507
  }
@@ -1609,15 +1612,15 @@ function classifyRetractions(retracted, deletedNodes, forkRowsById) {
1609
1612
  });
1610
1613
  }
1611
1614
  function byId(left, right) {
1612
- return chunkEZEEWCFJ_cjs.compareStrings(left.id, right.id);
1615
+ return chunkRWUWTJQY_cjs.compareStrings(left.id, right.id);
1613
1616
  }
1614
1617
  async function diffAgainstBase(baseStore, forkStore, captureForkState = true) {
1615
1618
  const graph = baseStore.graph;
1616
- const nodeKinds = chunkBFUOME67_cjs.getNodeKinds(graph);
1617
- const edgeKinds = chunkBFUOME67_cjs.getEdgeKinds(graph);
1619
+ const nodeKinds = chunk7B7I7YAW_cjs.getNodeKinds(graph);
1620
+ const edgeKinds = chunk7B7I7YAW_cjs.getEdgeKinds(graph);
1618
1621
  const [baseIdentity, forkIdentity] = await Promise.all([
1619
- chunk3KOY4FH3_cjs.storeRuntime(baseStore).readCurrentIdentityAssertions("archival"),
1620
- chunk3KOY4FH3_cjs.storeRuntime(forkStore).readCurrentIdentityAssertions("archival")
1622
+ chunk2CVDZCXH_cjs.storeRuntime(baseStore).readCurrentIdentityAssertions("archival"),
1623
+ chunk2CVDZCXH_cjs.storeRuntime(forkStore).readCurrentIdentityAssertions("archival")
1621
1624
  ]);
1622
1625
  const baseIdentityById = new Map(
1623
1626
  baseIdentity.map((assertion) => [assertion.id, assertion])
@@ -1632,12 +1635,12 @@ async function diffAgainstBase(baseStore, forkStore, captureForkState = true) {
1632
1635
  const forkNodeVersions = /* @__PURE__ */ new Map();
1633
1636
  for (const kind of nodeKinds) {
1634
1637
  const baseRows = await enumerateAllNodes(
1635
- chunk3KOY4FH3_cjs.storeBackend(baseStore),
1638
+ chunk2CVDZCXH_cjs.storeBackend(baseStore),
1636
1639
  baseStore.graphId,
1637
1640
  kind
1638
1641
  );
1639
1642
  const forkRows = await enumerateAllNodes(
1640
- chunk3KOY4FH3_cjs.storeBackend(forkStore),
1643
+ chunk2CVDZCXH_cjs.storeBackend(forkStore),
1641
1644
  forkStore.graphId,
1642
1645
  kind
1643
1646
  );
@@ -1667,12 +1670,12 @@ async function diffAgainstBase(baseStore, forkStore, captureForkState = true) {
1667
1670
  const forkEdgeSignatures = /* @__PURE__ */ new Map();
1668
1671
  for (const kind of edgeKinds) {
1669
1672
  const baseRows = await enumerateAllEdges(
1670
- chunk3KOY4FH3_cjs.storeBackend(baseStore),
1673
+ chunk2CVDZCXH_cjs.storeBackend(baseStore),
1671
1674
  baseStore.graphId,
1672
1675
  kind
1673
1676
  );
1674
1677
  const forkRows = await enumerateAllEdges(
1675
- chunk3KOY4FH3_cjs.storeBackend(forkStore),
1678
+ chunk2CVDZCXH_cjs.storeBackend(forkStore),
1676
1679
  forkStore.graphId,
1677
1680
  kind
1678
1681
  );
@@ -1708,7 +1711,7 @@ async function diffAgainstBase(baseStore, forkStore, captureForkState = true) {
1708
1711
  const retractedAssertions = baseIdentity.filter((assertion) => {
1709
1712
  const fork = forkIdentityById.get(assertion.id);
1710
1713
  return fork === void 0 || assertionTruthKey(fork) !== assertionTruthKey(assertion);
1711
- }).toSorted((left, right) => chunkEZEEWCFJ_cjs.compareStrings(left.id, right.id));
1714
+ }).toSorted((left, right) => chunkRWUWTJQY_cjs.compareStrings(left.id, right.id));
1712
1715
  const classifiedRetractions = classifyRetractions(
1713
1716
  retractedAssertions,
1714
1717
  deletedNodes,
@@ -1739,7 +1742,7 @@ async function diffAgainstBase(baseStore, forkStore, captureForkState = true) {
1739
1742
  new: forkIdentity.filter((assertion) => {
1740
1743
  const base = baseIdentityById.get(assertion.id);
1741
1744
  return base === void 0 || assertionIdentityKey(base) !== assertionIdentityKey(assertion) && assertionTruthKey(base) !== assertionTruthKey(assertion);
1742
- }).toSorted((left, right) => chunkEZEEWCFJ_cjs.compareStrings(left.id, right.id)),
1745
+ }).toSorted((left, right) => chunkRWUWTJQY_cjs.compareStrings(left.id, right.id)),
1743
1746
  retracted: classifiedRetractions
1744
1747
  },
1745
1748
  forkNodeVersions,
@@ -1769,19 +1772,19 @@ async function readActiveSchemaVersion(backend, graphId) {
1769
1772
  }
1770
1773
  async function computeSchemaComponent(store) {
1771
1774
  const version = await readActiveSchemaVersion(
1772
- chunk3KOY4FH3_cjs.storeBackend(store),
1775
+ chunk2CVDZCXH_cjs.storeBackend(store),
1773
1776
  store.graphId
1774
1777
  );
1775
- return chunk3FPR224C_cjs.computeSchemaHash(chunk3FPR224C_cjs.serializeSchema(store.graph, version));
1778
+ return chunkJHRUZ73O_cjs.computeSchemaHash(chunkJHRUZ73O_cjs.serializeSchema(store.graph, version));
1776
1779
  }
1777
1780
  function byDigestEntry(left, right) {
1778
- const byKind = chunkEZEEWCFJ_cjs.compareStrings(left.kind, right.kind);
1779
- return byKind === 0 ? chunkEZEEWCFJ_cjs.compareStrings(left.id, right.id) : byKind;
1781
+ const byKind = chunkRWUWTJQY_cjs.compareStrings(left.kind, right.kind);
1782
+ return byKind === 0 ? chunkRWUWTJQY_cjs.compareStrings(left.id, right.id) : byKind;
1780
1783
  }
1781
1784
  var CONTENT_FINGERPRINT_BYTES = 16;
1782
1785
  async function computeContentComponent(backend, graphId, graph, identityAssertions) {
1783
- const nodeKinds = chunkBFUOME67_cjs.getNodeKinds(graph);
1784
- const edgeKinds = chunkBFUOME67_cjs.getEdgeKinds(graph);
1786
+ const nodeKinds = chunk7B7I7YAW_cjs.getNodeKinds(graph);
1787
+ const edgeKinds = chunk7B7I7YAW_cjs.getEdgeKinds(graph);
1785
1788
  const nodeDigest = [];
1786
1789
  for (const kind of nodeKinds) {
1787
1790
  const rows = await enumerateAllNodes(backend, graphId, kind);
@@ -1831,7 +1834,7 @@ async function computeBaseVersion(store) {
1831
1834
  computeSchemaComponent(store),
1832
1835
  store.revisionOriginNow(),
1833
1836
  store.revisionNow(),
1834
- readActiveSchemaVersion(chunk3KOY4FH3_cjs.storeBackend(store), store.graphId)
1837
+ readActiveSchemaVersion(chunk2CVDZCXH_cjs.storeBackend(store), store.graphId)
1835
1838
  ]);
1836
1839
  return asBaseVersion(
1837
1840
  `${schemaComponent2}${SCHEMA_VERSION_TAG}${activeVersion}${TOKEN_SEPARATOR}${revisionComponent(origin, revision)}`
@@ -1846,9 +1849,9 @@ async function computeBaseVersion(store) {
1846
1849
  );
1847
1850
  }
1848
1851
  async function computeStoreContentComponent(store) {
1849
- const identityAssertions = await chunk3KOY4FH3_cjs.storeRuntime(store).readCurrentIdentityAssertions("state");
1852
+ const identityAssertions = await chunk2CVDZCXH_cjs.storeRuntime(store).readCurrentIdentityAssertions("state");
1850
1853
  return computeContentComponent(
1851
- chunk3KOY4FH3_cjs.storeBackend(store),
1854
+ chunk2CVDZCXH_cjs.storeBackend(store),
1852
1855
  store.graphId,
1853
1856
  store.graph,
1854
1857
  identityAssertions
@@ -1902,7 +1905,7 @@ function cloneWorkingCopyWithGraphStrategy(makeBackend, graphForClone) {
1902
1905
  create: async (baseStore) => {
1903
1906
  const backend = await makeBackend();
1904
1907
  try {
1905
- const [freshStore] = await chunkSR725PWF_cjs.createStoreWithSchema(
1908
+ const [freshStore] = await chunkWRBV2FNH_cjs.createStoreWithSchema(
1906
1909
  graphForClone(baseStore),
1907
1910
  backend,
1908
1911
  {
@@ -1923,16 +1926,16 @@ function cloneWorkingCopyWithGraphStrategy(makeBackend, graphForClone) {
1923
1926
  validateReferences: true,
1924
1927
  batchSize: CLONE_IMPORT_BATCH_SIZE
1925
1928
  };
1926
- const result = chunkSIT26LAZ_cjs.snapshotExportContention(
1927
- chunk3KOY4FH3_cjs.storeBackend(baseStore),
1928
- chunk3KOY4FH3_cjs.storeBackend(freshStore)
1929
- ) === void 0 ? await chunk3G5W2U2L_cjs.importGraphStream(
1929
+ const result = chunkNLX5OWK7_cjs.snapshotExportContention(
1930
+ chunk2CVDZCXH_cjs.storeBackend(baseStore),
1931
+ chunk2CVDZCXH_cjs.storeBackend(freshStore)
1932
+ ) === void 0 ? await chunkKACEYDYV_cjs.importGraphStream(
1930
1933
  freshStore,
1931
- chunk3G5W2U2L_cjs.exportGraphStream(baseStore, exportOptions),
1934
+ chunkKACEYDYV_cjs.exportGraphStream(baseStore, exportOptions),
1932
1935
  importOptions
1933
- ) : await chunk3G5W2U2L_cjs.importGraph(
1936
+ ) : await chunkKACEYDYV_cjs.importGraph(
1934
1937
  freshStore,
1935
- await chunk3G5W2U2L_cjs.exportGraph(baseStore, exportOptions),
1938
+ await chunkKACEYDYV_cjs.exportGraph(baseStore, exportOptions),
1936
1939
  importOptions
1937
1940
  );
1938
1941
  if (!result.success) {
@@ -1981,18 +1984,18 @@ function graphWithoutNodeUniqueness(graph) {
1981
1984
  async function branch(baseStore, makeBackend, options, strategy) {
1982
1985
  try {
1983
1986
  const base = await computeBaseVersion(baseStore);
1984
- const id = options?.id ?? asBranchId(chunkEZEEWCFJ_cjs.generateId());
1987
+ const id = options?.id ?? asBranchId(chunkJQKMEKKW_cjs.generateId());
1985
1988
  const workingCopyStrategy = strategy ?? cloneWorkingCopyStrategy(makeBackend);
1986
1989
  const store = await workingCopyStrategy.create(baseStore);
1987
1990
  const schemaAnchor = await captureBranchSchemaAnchor(store);
1988
- return chunkGYEG3ZLZ_cjs.ok({
1991
+ return chunkRJMHU2MG_cjs.ok({
1989
1992
  id,
1990
1993
  base,
1991
1994
  store,
1992
1995
  ...schemaAnchor === void 0 ? { schemaAnchor: void 0 } : { schemaAnchor }
1993
1996
  });
1994
1997
  } catch (error) {
1995
- return chunkGYEG3ZLZ_cjs.err(
1998
+ return chunkRJMHU2MG_cjs.err(
1996
1999
  new BranchError("Failed to create working-copy branch of base store", {
1997
2000
  cause: error
1998
2001
  })
@@ -2001,11 +2004,11 @@ async function branch(baseStore, makeBackend, options, strategy) {
2001
2004
  }
2002
2005
  async function captureBranchSchemaAnchor(store) {
2003
2006
  try {
2004
- const schemaRow = await chunk3KOY4FH3_cjs.storeBackend(store).getActiveSchema(store.graphId);
2007
+ const schemaRow = await chunk2CVDZCXH_cjs.storeBackend(store).getActiveSchema(store.graphId);
2005
2008
  return schemaRow === void 0 ? void 0 : { version: schemaRow.version, hash: schemaRow.schema_hash };
2006
2009
  } catch (error) {
2007
2010
  try {
2008
- await chunk3KOY4FH3_cjs.storeBackend(store).close();
2011
+ await chunk2CVDZCXH_cjs.storeBackend(store).close();
2009
2012
  } catch {
2010
2013
  }
2011
2014
  throw error;
@@ -2038,8 +2041,8 @@ async function ingestionBranch(baseStore, makeBackend, options) {
2038
2041
  options,
2039
2042
  cloneIngestionWorkingCopyStrategy(makeBackend)
2040
2043
  );
2041
- if (chunkGYEG3ZLZ_cjs.isErr(created)) {
2042
- return chunkGYEG3ZLZ_cjs.err(
2044
+ if (chunkRJMHU2MG_cjs.isErr(created)) {
2045
+ return chunkRJMHU2MG_cjs.err(
2043
2046
  new BranchError("Failed to create constraint-aware ingestion branch", {
2044
2047
  cause: created.error
2045
2048
  })
@@ -2058,13 +2061,13 @@ async function ingestionBranch(baseStore, makeBackend, options) {
2058
2061
  nodes: store.nodes,
2059
2062
  edges: store.edges,
2060
2063
  ...identityAccess,
2061
- close: async () => chunk3KOY4FH3_cjs.storeBackend(store).close()
2064
+ close: async () => chunk2CVDZCXH_cjs.storeBackend(store).close()
2062
2065
  });
2063
2066
  PRIVATE_BRANCHES.set(handle, privateBranch);
2064
- chunk3G5W2U2L_cjs.registerIngestionImportTarget(handle, store);
2065
- return chunkGYEG3ZLZ_cjs.ok(handle);
2067
+ chunkKACEYDYV_cjs.registerIngestionImportTarget(handle, store);
2068
+ return chunkRJMHU2MG_cjs.ok(handle);
2066
2069
  } catch (error) {
2067
- return chunkGYEG3ZLZ_cjs.err(
2070
+ return chunkRJMHU2MG_cjs.err(
2068
2071
  new BranchError("Failed to create constraint-aware ingestion branch", {
2069
2072
  cause: error
2070
2073
  })
@@ -2106,7 +2109,7 @@ function constraintSignature(node, constraint) {
2106
2109
  return void 0;
2107
2110
  }
2108
2111
  }
2109
- return `${constraint.name}${KEY_PART_SEPARATOR}${chunkFQPEMEWX_cjs.computeUniqueKey(
2112
+ return `${constraint.name}${KEY_PART_SEPARATOR}${chunkCRZ56SZU_cjs.computeUniqueKey(
2110
2113
  props,
2111
2114
  constraint.fields,
2112
2115
  constraint.collation
@@ -2143,12 +2146,12 @@ function blockNodes(newNodes, resolveConfig, uniqueConstraints = []) {
2143
2146
  }
2144
2147
  }
2145
2148
  const sortedKeys = [...buckets.keys()].sort(
2146
- (left, right) => chunkEZEEWCFJ_cjs.compareStrings(left, right)
2149
+ (left, right) => chunkRWUWTJQY_cjs.compareStrings(left, right)
2147
2150
  );
2148
2151
  const ordered = /* @__PURE__ */ new Map();
2149
2152
  for (const key of sortedKeys) {
2150
2153
  const members = [...chunkN66HCGCY_cjs.requireDefined(buckets.get(key))].sort(
2151
- (left, right) => chunkEZEEWCFJ_cjs.compareStrings(left.id, right.id)
2154
+ (left, right) => chunkRWUWTJQY_cjs.compareStrings(left.id, right.id)
2152
2155
  );
2153
2156
  ordered.set(key, members);
2154
2157
  }
@@ -2165,7 +2168,7 @@ function buildBranchRank(branchOrder, allBranchIds) {
2165
2168
  next += 1;
2166
2169
  }
2167
2170
  }
2168
- const remaining = allBranchIds.filter((branchId) => !rank.has(branchId)).sort((left, right) => chunkEZEEWCFJ_cjs.compareStrings(left, right));
2171
+ const remaining = allBranchIds.filter((branchId) => !rank.has(branchId)).sort((left, right) => chunkRWUWTJQY_cjs.compareStrings(left, right));
2169
2172
  for (const branchId of remaining) {
2170
2173
  if (!rank.has(branchId)) {
2171
2174
  rank.set(branchId, next);
@@ -2237,8 +2240,8 @@ function collectConflictingValues(property, contributions) {
2237
2240
  values.push({ branchId, value });
2238
2241
  }
2239
2242
  return [...values].sort((left, right) => {
2240
- const byBranch = chunkEZEEWCFJ_cjs.compareStrings(left.branchId, right.branchId);
2241
- return byBranch === 0 ? chunkEZEEWCFJ_cjs.compareStrings(
2243
+ const byBranch = chunkRWUWTJQY_cjs.compareStrings(left.branchId, right.branchId);
2244
+ return byBranch === 0 ? chunkRWUWTJQY_cjs.compareStrings(
2242
2245
  canonicalValueKey(left.value),
2243
2246
  canonicalValueKey(right.value)
2244
2247
  ) : byBranch;
@@ -2368,7 +2371,7 @@ function unionProperties(canonicalMember, members, context, baseContext, branchR
2368
2371
  const props = chunkN66HCGCY_cjs.createDataKeyedBag();
2369
2372
  const conflicts = [];
2370
2373
  for (const property of [...propertyNames].sort(
2371
- (left, right) => chunkEZEEWCFJ_cjs.compareStrings(left, right)
2374
+ (left, right) => chunkRWUWTJQY_cjs.compareStrings(left, right)
2372
2375
  )) {
2373
2376
  const values = collectConflictingValues(property, members);
2374
2377
  if (values.length === 0) {
@@ -2433,14 +2436,14 @@ function canonicalizeCluster(cluster, members, policy, branchRank, weights, cano
2433
2436
  );
2434
2437
  const memberIds = [
2435
2438
  ...new Set(cluster.members.map((member) => idOf(member)))
2436
- ].sort((left, right) => chunkEZEEWCFJ_cjs.compareStrings(left, right));
2439
+ ].sort((left, right) => chunkRWUWTJQY_cjs.compareStrings(left, right));
2437
2440
  const branchOrigins = [
2438
2441
  ...new Set(
2439
2442
  members.map((member) => member.branchId).filter(
2440
2443
  (branchId) => branchId !== BASE_PROVENANCE_BRANCH && branchId !== preferredBranchId
2441
2444
  )
2442
2445
  )
2443
- ].sort((left, right) => chunkEZEEWCFJ_cjs.compareStrings(left, right));
2446
+ ].sort((left, right) => chunkRWUWTJQY_cjs.compareStrings(left, right));
2444
2447
  const resolution = {
2445
2448
  canonicalId,
2446
2449
  memberIds,
@@ -2520,7 +2523,7 @@ var EQUIVALENCE_META_EDGES = /* @__PURE__ */ new Set([
2520
2523
  chunkXUO3KQFO_cjs.META_EDGE_SAME_AS
2521
2524
  ]);
2522
2525
  function buildSubClassClosure(ontology) {
2523
- const unionFind = new UnionFind(chunkEZEEWCFJ_cjs.compareStrings);
2526
+ const unionFind = new UnionFind(chunkRWUWTJQY_cjs.compareStrings);
2524
2527
  for (const relation of ontology) {
2525
2528
  unionFind.add(relation.from);
2526
2529
  unionFind.add(relation.to);
@@ -2551,7 +2554,7 @@ function buildSubClassClosure(ontology) {
2551
2554
  relations.push([child, parent]);
2552
2555
  }
2553
2556
  return {
2554
- closure: chunkGYEG3ZLZ_cjs.computeTransitiveClosure(relations),
2557
+ closure: chunkRJMHU2MG_cjs.computeTransitiveClosure(relations),
2555
2558
  canonicalOf
2556
2559
  };
2557
2560
  }
@@ -2564,7 +2567,7 @@ function isReachable2(closure, from, to) {
2564
2567
  if (fromRep === toRep) {
2565
2568
  return from !== to;
2566
2569
  }
2567
- return chunkGYEG3ZLZ_cjs.isReachable(closure.closure, fromRep, toRep);
2570
+ return chunkRJMHU2MG_cjs.isReachable(closure.closure, fromRep, toRep);
2568
2571
  }
2569
2572
 
2570
2573
  // src/graph-merge/evidence.ts
@@ -2616,7 +2619,7 @@ function sourceKey(source) {
2616
2619
  }
2617
2620
  }
2618
2621
  function compareMatchSources(left, right) {
2619
- return chunkEZEEWCFJ_cjs.compareStrings(sourceKey(left), sourceKey(right));
2622
+ return chunkRWUWTJQY_cjs.compareStrings(sourceKey(left), sourceKey(right));
2620
2623
  }
2621
2624
  function compareEntityRefs(left, right) {
2622
2625
  return compareMergeKeys(
@@ -2845,7 +2848,7 @@ function scorePrepared(left, right, strategy, ctx) {
2845
2848
  try {
2846
2849
  raw = strategy.score(left.node, right.node);
2847
2850
  } catch (error) {
2848
- return chunkGYEG3ZLZ_cjs.err(
2851
+ return chunkRJMHU2MG_cjs.err(
2849
2852
  new MatchEvidenceError("Custom similarity scorer failed.", {
2850
2853
  details: {
2851
2854
  kind: left.node.kind,
@@ -2857,7 +2860,7 @@ function scorePrepared(left, right, strategy, ctx) {
2857
2860
  );
2858
2861
  }
2859
2862
  if (!Number.isFinite(raw)) {
2860
- return chunkGYEG3ZLZ_cjs.err(
2863
+ return chunkRJMHU2MG_cjs.err(
2861
2864
  new MatchEvidenceError(
2862
2865
  "Custom similarity scorer returned a non-finite score.",
2863
2866
  {
@@ -2871,37 +2874,37 @@ function scorePrepared(left, right, strategy, ctx) {
2871
2874
  )
2872
2875
  );
2873
2876
  }
2874
- return chunkGYEG3ZLZ_cjs.ok(clampScore(raw));
2877
+ return chunkRJMHU2MG_cjs.ok(clampScore(raw));
2875
2878
  }
2876
2879
  case "fulltext": {
2877
2880
  if (left.text.length === 0 || right.text.length === 0) {
2878
- return chunkGYEG3ZLZ_cjs.ok(NO_EVIDENCE_SCORE);
2881
+ return chunkRJMHU2MG_cjs.ok(NO_EVIDENCE_SCORE);
2879
2882
  }
2880
- return chunkGYEG3ZLZ_cjs.ok(clampScore(diceFromMultisets(left.grams, right.grams)));
2883
+ return chunkRJMHU2MG_cjs.ok(clampScore(diceFromMultisets(left.grams, right.grams)));
2881
2884
  }
2882
2885
  case "vector": {
2883
2886
  if (ctx.embeddings === void 0) {
2884
- return chunkGYEG3ZLZ_cjs.err(embedderUnavailable("vector", ctx));
2887
+ return chunkRJMHU2MG_cjs.err(embedderUnavailable("vector", ctx));
2885
2888
  }
2886
2889
  if (left.text.length === 0 || right.text.length === 0) {
2887
- return chunkGYEG3ZLZ_cjs.ok(NO_EVIDENCE_SCORE);
2890
+ return chunkRJMHU2MG_cjs.ok(NO_EVIDENCE_SCORE);
2888
2891
  }
2889
2892
  const cosine = cosineFromLookup(ctx.embeddings, left.text, right.text);
2890
- return chunkGYEG3ZLZ_cjs.ok(clampScore(cosine));
2893
+ return chunkRJMHU2MG_cjs.ok(clampScore(cosine));
2891
2894
  }
2892
2895
  case "hybrid": {
2893
2896
  if (ctx.embeddings === void 0) {
2894
- return chunkGYEG3ZLZ_cjs.err(embedderUnavailable("hybrid", ctx));
2897
+ return chunkRJMHU2MG_cjs.err(embedderUnavailable("hybrid", ctx));
2895
2898
  }
2896
2899
  if (left.text.length === 0 || right.text.length === 0) {
2897
- return chunkGYEG3ZLZ_cjs.ok(NO_EVIDENCE_SCORE);
2900
+ return chunkRJMHU2MG_cjs.ok(NO_EVIDENCE_SCORE);
2898
2901
  }
2899
2902
  const vectorScore = clampScore(
2900
2903
  cosineFromLookup(ctx.embeddings, left.text, right.text)
2901
2904
  );
2902
2905
  const fulltextScore = diceFromMultisets(left.grams, right.grams);
2903
2906
  const weights = normalizeHybridWeights(strategy.weights);
2904
- return chunkGYEG3ZLZ_cjs.ok(
2907
+ return chunkRJMHU2MG_cjs.ok(
2905
2908
  clampScore(
2906
2909
  weights.vector * vectorScore + weights.fulltext * fulltextScore
2907
2910
  )
@@ -2985,7 +2988,7 @@ function scoreCandidates(input, resolveConfig, ctx, ceilingPolicy, maxComparison
2985
2988
  });
2986
2989
  if (maxComparisonsPerKind !== void 0 && fuzzy.length > maxComparisonsPerKind) {
2987
2990
  if (ceilingPolicy === "error") {
2988
- return chunkGYEG3ZLZ_cjs.err(
2991
+ return chunkRJMHU2MG_cjs.err(
2989
2992
  new MergeError(
2990
2993
  `Comparison ceiling exceeded: ${fuzzy.length} candidate pairs > maxComparisonsPerKind ${maxComparisonsPerKind}.`,
2991
2994
  {
@@ -2998,7 +3001,7 @@ function scoreCandidates(input, resolveConfig, ctx, ceilingPolicy, maxComparison
2998
3001
  )
2999
3002
  );
3000
3003
  }
3001
- return chunkGYEG3ZLZ_cjs.ok({
3004
+ return chunkRJMHU2MG_cjs.ok({
3002
3005
  edges: [...forced].sort(
3003
3006
  (left, right) => compareCandidateEdges(left, right)
3004
3007
  ),
@@ -3020,9 +3023,9 @@ function scoreCandidates(input, resolveConfig, ctx, ceilingPolicy, maxComparison
3020
3023
  let diagnosticsTotal = 0;
3021
3024
  for (const { left, right, a, b, sources } of fuzzy) {
3022
3025
  const scored = scorer(a, left, b, right);
3023
- if (chunkGYEG3ZLZ_cjs.isErr(scored)) {
3026
+ if (chunkRJMHU2MG_cjs.isErr(scored)) {
3024
3027
  if (similarity.kind === "custom" && scored.error instanceof MatchEvidenceError) {
3025
- return chunkGYEG3ZLZ_cjs.err(
3028
+ return chunkRJMHU2MG_cjs.err(
3026
3029
  new MatchEvidenceError(scored.error.message, {
3027
3030
  cause: scored.error,
3028
3031
  details: {
@@ -3036,10 +3039,10 @@ function scoreCandidates(input, resolveConfig, ctx, ceilingPolicy, maxComparison
3036
3039
  })
3037
3040
  );
3038
3041
  }
3039
- return chunkGYEG3ZLZ_cjs.err(scored.error);
3042
+ return chunkRJMHU2MG_cjs.err(scored.error);
3040
3043
  }
3041
3044
  if (!Number.isFinite(scored.data)) {
3042
- return chunkGYEG3ZLZ_cjs.err(
3045
+ return chunkRJMHU2MG_cjs.err(
3043
3046
  new MatchEvidenceError(
3044
3047
  "Similarity scorer returned a non-finite score.",
3045
3048
  {
@@ -3079,7 +3082,7 @@ function scoreCandidates(input, resolveConfig, ctx, ceilingPolicy, maxComparison
3079
3082
  });
3080
3083
  }
3081
3084
  }
3082
- return chunkGYEG3ZLZ_cjs.ok({
3085
+ return chunkRJMHU2MG_cjs.ok({
3083
3086
  edges: edges.sort((left, right) => compareCandidateEdges(left, right)),
3084
3087
  warnings: [],
3085
3088
  diagnostics,
@@ -3358,7 +3361,7 @@ function pickHighestPriorityBranch(branchIds, branchRank) {
3358
3361
  let chosenRank = branchRank.get(chosen) ?? Number.MAX_SAFE_INTEGER;
3359
3362
  for (const candidate of branchIds.slice(1)) {
3360
3363
  const candidateRank = branchRank.get(candidate) ?? Number.MAX_SAFE_INTEGER;
3361
- if (candidateRank < chosenRank || candidateRank === chosenRank && chunkEZEEWCFJ_cjs.compareStrings(candidate, chosen) < 0) {
3364
+ if (candidateRank < chosenRank || candidateRank === chosenRank && chunkRWUWTJQY_cjs.compareStrings(candidate, chosen) < 0) {
3362
3365
  chosen = candidate;
3363
3366
  chosenRank = candidateRank;
3364
3367
  }
@@ -3451,20 +3454,20 @@ function resolveDeleteModifyOver(modified, deleted, modifiedEntity, deletedEntit
3451
3454
  }
3452
3455
  return {
3453
3456
  survivingModifications: [...survivingModifications].sort((left, right) => {
3454
- const byId2 = chunkEZEEWCFJ_cjs.compareStrings(
3457
+ const byId2 = chunkRWUWTJQY_cjs.compareStrings(
3455
3458
  modifiedEntity(left).id,
3456
3459
  modifiedEntity(right).id
3457
3460
  );
3458
- return byId2 === 0 ? chunkEZEEWCFJ_cjs.compareStrings(left.branchId, right.branchId) : byId2;
3461
+ return byId2 === 0 ? chunkRWUWTJQY_cjs.compareStrings(left.branchId, right.branchId) : byId2;
3459
3462
  }),
3460
3463
  deletions: [...deletions].sort(
3461
- (left, right) => chunkEZEEWCFJ_cjs.compareStrings(left.id, right.id)
3464
+ (left, right) => chunkRWUWTJQY_cjs.compareStrings(left.id, right.id)
3462
3465
  ),
3463
3466
  conflicts: [...conflicts].sort(
3464
- (left, right) => chunkEZEEWCFJ_cjs.compareStrings(left.entityId, right.entityId)
3467
+ (left, right) => chunkRWUWTJQY_cjs.compareStrings(left.entityId, right.entityId)
3465
3468
  ),
3466
3469
  dropped: [...dropped].sort(
3467
- (left, right) => chunkEZEEWCFJ_cjs.compareStrings(left.id, right.id)
3470
+ (left, right) => chunkRWUWTJQY_cjs.compareStrings(left.id, right.id)
3468
3471
  )
3469
3472
  };
3470
3473
  }
@@ -3508,11 +3511,11 @@ function reconcileOver(survivingModifications, entityOf, rebuild, policy, branch
3508
3511
  }
3509
3512
  return {
3510
3513
  survivingModifications: [...out].sort((left, right) => {
3511
- const byId2 = chunkEZEEWCFJ_cjs.compareStrings(entityOf(left).id, entityOf(right).id);
3512
- return byId2 === 0 ? chunkEZEEWCFJ_cjs.compareStrings(left.branchId, right.branchId) : byId2;
3514
+ const byId2 = chunkRWUWTJQY_cjs.compareStrings(entityOf(left).id, entityOf(right).id);
3515
+ return byId2 === 0 ? chunkRWUWTJQY_cjs.compareStrings(left.branchId, right.branchId) : byId2;
3513
3516
  }),
3514
3517
  conflicts: conflicts.sort(
3515
- (left, right) => chunkEZEEWCFJ_cjs.compareStrings(
3518
+ (left, right) => chunkRWUWTJQY_cjs.compareStrings(
3516
3519
  `${left.entityId}|${left.property}`,
3517
3520
  `${right.entityId}|${right.property}`
3518
3521
  )
@@ -3546,7 +3549,7 @@ function threeWayMergeProps(entityId, kind, baseProps, contributions, context, b
3546
3549
  propertyNames.add(name);
3547
3550
  }
3548
3551
  }
3549
- for (const property of [...propertyNames].sort(chunkEZEEWCFJ_cjs.compareStrings)) {
3552
+ for (const property of [...propertyNames].sort(chunkRWUWTJQY_cjs.compareStrings)) {
3550
3553
  const baseHas = chunkN66HCGCY_cjs.hasOwnKey(baseProps, property);
3551
3554
  const baseKey = baseHas ? canonicalValueKey(chunkN66HCGCY_cjs.requireDefined(baseProps[property])) : void 0;
3552
3555
  const changed = contributions.filter((contribution) => {
@@ -3646,7 +3649,7 @@ function earliestEnd(claims) {
3646
3649
  let earliest;
3647
3650
  for (const claim of claims) {
3648
3651
  if (claim.change.kind !== "set") continue;
3649
- if (earliest === void 0 || chunkEZEEWCFJ_cjs.compareStrings(claim.change.validTo, earliest) < 0) {
3652
+ if (earliest === void 0 || chunkRWUWTJQY_cjs.compareStrings(claim.change.validTo, earliest) < 0) {
3650
3653
  earliest = claim.change.validTo;
3651
3654
  }
3652
3655
  }
@@ -3662,7 +3665,7 @@ function resolveEndClaims(claims, preferredBranchId) {
3662
3665
  }
3663
3666
  function claimingBranches(claims) {
3664
3667
  return [...new Set(claims.map((claim) => claim.branchId))].sort(
3665
- (left, right) => chunkEZEEWCFJ_cjs.compareStrings(left, right)
3668
+ (left, right) => chunkRWUWTJQY_cjs.compareStrings(left, right)
3666
3669
  );
3667
3670
  }
3668
3671
  function sameValidToChange(left, right) {
@@ -3759,7 +3762,7 @@ function resolvePopulation(entity, deltas, deletions, preferredBranchId, dropIte
3759
3762
  mergeKey(right.kind, right.id)
3760
3763
  )
3761
3764
  ),
3762
- dropped: dropped.sort((left, right) => chunkEZEEWCFJ_cjs.compareStrings(left.id, right.id))
3765
+ dropped: dropped.sort((left, right) => chunkRWUWTJQY_cjs.compareStrings(left.id, right.id))
3763
3766
  };
3764
3767
  }
3765
3768
  function resolveValidWindows(staging, nodeDeletions, edgeDeletions, preferredBranchId) {
@@ -3848,7 +3851,7 @@ function rowsById(groupEdges) {
3848
3851
  function sourcePairByRow(rows) {
3849
3852
  const pairs = /* @__PURE__ */ new Map();
3850
3853
  for (const [id, members] of rows) {
3851
- const sorted = members.map((member) => member.sourcePair).sort((left, right) => chunkEZEEWCFJ_cjs.compareStrings(left, right));
3854
+ const sorted = members.map((member) => member.sourcePair).sort((left, right) => chunkRWUWTJQY_cjs.compareStrings(left, right));
3852
3855
  pairs.set(id, chunkN66HCGCY_cjs.requireDefined(sorted[0]));
3853
3856
  }
3854
3857
  return pairs;
@@ -3859,14 +3862,14 @@ function foldSets(groupEdges) {
3859
3862
  const representatives = /* @__PURE__ */ new Map();
3860
3863
  for (const [id, pair] of sourcePairs) {
3861
3864
  const representative = representatives.get(pair);
3862
- if (representative === void 0 || chunkEZEEWCFJ_cjs.compareStrings(id, representative) < 0) {
3865
+ if (representative === void 0 || chunkRWUWTJQY_cjs.compareStrings(id, representative) < 0) {
3863
3866
  representatives.set(pair, id);
3864
3867
  }
3865
3868
  }
3866
3869
  const collapsed = [];
3867
3870
  const parallel = [];
3868
3871
  for (const id of [...rows.keys()].sort(
3869
- (left, right) => chunkEZEEWCFJ_cjs.compareStrings(left, right)
3872
+ (left, right) => chunkRWUWTJQY_cjs.compareStrings(left, right)
3870
3873
  )) {
3871
3874
  const members = chunkN66HCGCY_cjs.requireDefined(rows.get(id));
3872
3875
  const pair = chunkN66HCGCY_cjs.requireDefined(sourcePairs.get(id));
@@ -3879,7 +3882,7 @@ function foldSets(groupEdges) {
3879
3882
  return [collapsed, ...parallel];
3880
3883
  }
3881
3884
  function compareMembers(left, right, preferredBranchId) {
3882
- const byId2 = chunkEZEEWCFJ_cjs.compareStrings(left.staged.id, right.staged.id);
3885
+ const byId2 = chunkRWUWTJQY_cjs.compareStrings(left.staged.id, right.staged.id);
3883
3886
  if (byId2 !== 0) {
3884
3887
  return byId2;
3885
3888
  }
@@ -3888,7 +3891,7 @@ function compareMembers(left, right, preferredBranchId) {
3888
3891
  if (leftPreferred !== rightPreferred) {
3889
3892
  return leftPreferred ? -1 : 1;
3890
3893
  }
3891
- return chunkEZEEWCFJ_cjs.compareStrings(left.staged.branchId, right.staged.branchId);
3894
+ return chunkRWUWTJQY_cjs.compareStrings(left.staged.branchId, right.staged.branchId);
3892
3895
  }
3893
3896
  function pickSurvivor(edges, preferredBranchId) {
3894
3897
  const inherited = edges.filter(
@@ -3914,8 +3917,8 @@ function authoredProperty(edge, property) {
3914
3917
  }
3915
3918
  function unauthoredValue(property, edges) {
3916
3919
  const carriers = edges.filter((edge) => chunkN66HCGCY_cjs.hasOwnKey(edge.staged.props, property)).sort((left, right) => {
3917
- const byId2 = chunkEZEEWCFJ_cjs.compareStrings(left.staged.id, right.staged.id);
3918
- return byId2 === 0 ? chunkEZEEWCFJ_cjs.compareStrings(
3920
+ const byId2 = chunkRWUWTJQY_cjs.compareStrings(left.staged.id, right.staged.id);
3921
+ return byId2 === 0 ? chunkRWUWTJQY_cjs.compareStrings(
3919
3922
  canonicalValueKey(left.staged.props[property]),
3920
3923
  canonicalValueKey(right.staged.props[property])
3921
3924
  ) : byId2;
@@ -3932,7 +3935,7 @@ function unionEdgeProps(survivorId, kind, survivor, edges, context, branchRank,
3932
3935
  const props = chunkN66HCGCY_cjs.createDataKeyedBag();
3933
3936
  const conflicts = [];
3934
3937
  for (const property of [...propertyNames].sort(
3935
- (left, right) => chunkEZEEWCFJ_cjs.compareStrings(left, right)
3938
+ (left, right) => chunkRWUWTJQY_cjs.compareStrings(left, right)
3936
3939
  )) {
3937
3940
  const claimants = edges.filter((edge) => authoredProperty(edge, property)).map((edge) => edge.staged);
3938
3941
  const values = collectConflictingValues(property, claimants);
@@ -3965,7 +3968,7 @@ function unionEdgeProps(survivorId, kind, survivor, edges, context, branchRank,
3965
3968
  function foldEdgeSet(foldSet, context, branchRank, preferredBranchId) {
3966
3969
  const survivor = pickSurvivor(foldSet, preferredBranchId);
3967
3970
  const survivorId = survivor.staged.id;
3968
- const mergedIds = foldSet.map((edge) => edge.staged.id).sort((left, right) => chunkEZEEWCFJ_cjs.compareStrings(left, right));
3971
+ const mergedIds = foldSet.map((edge) => edge.staged.id).sort((left, right) => chunkRWUWTJQY_cjs.compareStrings(left, right));
3969
3972
  const fromId = idOf(survivor.fromKey);
3970
3973
  const fromKind = kindOf(survivor.fromKey);
3971
3974
  const toId = idOf(survivor.toKey);
@@ -4063,7 +4066,7 @@ function repointEdges(stagedEdges, canonicalOf, deletedNodeIds, policy, branchRa
4063
4066
  const merged = [];
4064
4067
  const conflicts = [];
4065
4068
  const sortedGroups = [...liveByGroup.keys()].sort(
4066
- (left, right) => chunkEZEEWCFJ_cjs.compareStrings(left, right)
4069
+ (left, right) => chunkRWUWTJQY_cjs.compareStrings(left, right)
4067
4070
  );
4068
4071
  for (const group of sortedGroups) {
4069
4072
  const groupEdges = chunkN66HCGCY_cjs.requireDefined(liveByGroup.get(group));
@@ -4091,12 +4094,12 @@ function repointEdges(stagedEdges, canonicalOf, deletedNodeIds, policy, branchRa
4091
4094
  ),
4092
4095
  edge.id
4093
4096
  ])
4094
- })).sort((left, right) => chunkEZEEWCFJ_cjs.compareStrings(left.sortKey, right.sortKey)).map(({ edge }) => edge);
4097
+ })).sort((left, right) => chunkRWUWTJQY_cjs.compareStrings(left.sortKey, right.sortKey)).map(({ edge }) => edge);
4095
4098
  return {
4096
4099
  edges: sortedEdges,
4097
- dropped: dropped.sort((left, right) => chunkEZEEWCFJ_cjs.compareStrings(left.id, right.id)),
4100
+ dropped: dropped.sort((left, right) => chunkRWUWTJQY_cjs.compareStrings(left.id, right.id)),
4098
4101
  conflicts: conflicts.sort(
4099
- (left, right) => chunkEZEEWCFJ_cjs.compareStrings(
4102
+ (left, right) => chunkRWUWTJQY_cjs.compareStrings(
4100
4103
  `${left.entityId}|${left.property}`,
4101
4104
  `${right.entityId}|${right.property}`
4102
4105
  )
@@ -4767,7 +4770,7 @@ var mergePlanArtifactV1Schema = mergePlanArtifactV1BaseSchema.superRefine(
4767
4770
  // src/graph-merge/plan-canonical.ts
4768
4771
  function canonicalMergePlanJson(artifact) {
4769
4772
  const digestless = "digest" in artifact ? omitDigest(artifact) : artifact;
4770
- return JSON.stringify(digestless, chunkPWLJ77UV_cjs.sortedReplacer);
4773
+ return JSON.stringify(digestless, chunkNLX5OWK7_cjs.sortedReplacer);
4771
4774
  }
4772
4775
  async function computeMergePlanDigest(artifact) {
4773
4776
  return chunkZY4GXIVN_cjs.sha256Hex(canonicalMergePlanJson(artifact), 32);
@@ -4781,7 +4784,7 @@ async function finalizeMergePlanArtifact(artifact) {
4781
4784
  }
4782
4785
  };
4783
4786
  const canonical = JSON.parse(
4784
- JSON.stringify(finalized, chunkPWLJ77UV_cjs.sortedReplacer)
4787
+ JSON.stringify(finalized, chunkNLX5OWK7_cjs.sortedReplacer)
4785
4788
  );
4786
4789
  return canonical;
4787
4790
  }
@@ -4846,7 +4849,7 @@ function readFormatVersion(input) {
4846
4849
  }
4847
4850
  var PROVENANCE_KIND = "Provenance";
4848
4851
  var PROVENANCE_OWNER_KIND = "ProvenanceOwner";
4849
- var Provenance = chunk26YKDNUD_cjs.defineNode(PROVENANCE_KIND, {
4852
+ var Provenance = chunkPS3TUWJM_cjs.defineNode(PROVENANCE_KIND, {
4850
4853
  schema: zod.z.object({
4851
4854
  targetGraphId: zod.z.string(),
4852
4855
  role: zod.z.enum(["node", "edge"]),
@@ -4859,7 +4862,7 @@ var Provenance = chunk26YKDNUD_cjs.defineNode(PROVENANCE_KIND, {
4859
4862
  var PROVENANCE_OWNER = "@nicia-ai/typegraph/merge-provenance";
4860
4863
  var PROVENANCE_OWNER_VERSION = 1;
4861
4864
  var PROVENANCE_OWNER_ID = "merge-provenance-owner";
4862
- var ProvenanceOwner = chunk26YKDNUD_cjs.defineNode(PROVENANCE_OWNER_KIND, {
4865
+ var ProvenanceOwner = chunkPS3TUWJM_cjs.defineNode(PROVENANCE_OWNER_KIND, {
4863
4866
  schema: zod.z.object({
4864
4867
  owner: zod.z.literal(PROVENANCE_OWNER),
4865
4868
  version: zod.z.literal(PROVENANCE_OWNER_VERSION),
@@ -4870,7 +4873,7 @@ function provenanceGraphId(targetGraphId) {
4870
4873
  return `${targetGraphId}::merge-provenance`;
4871
4874
  }
4872
4875
  function buildOwnedProvenanceGraph(targetGraphId) {
4873
- return chunkBFUOME67_cjs.defineInternalGraph({
4876
+ return chunk7B7I7YAW_cjs.defineInternalGraph({
4874
4877
  id: provenanceGraphId(targetGraphId),
4875
4878
  nodes: {
4876
4879
  Provenance: { type: Provenance },
@@ -4880,14 +4883,14 @@ function buildOwnedProvenanceGraph(targetGraphId) {
4880
4883
  });
4881
4884
  }
4882
4885
  function buildProvenanceGraph(targetGraphId) {
4883
- return chunkBFUOME67_cjs.defineInternalGraph({
4886
+ return chunk7B7I7YAW_cjs.defineInternalGraph({
4884
4887
  id: provenanceGraphId(targetGraphId),
4885
4888
  nodes: { Provenance: { type: Provenance } },
4886
4889
  edges: {}
4887
4890
  });
4888
4891
  }
4889
4892
  async function openProvenanceStore(...args) {
4890
- const [backend, targetGraphId] = args.length === 1 ? [chunk3KOY4FH3_cjs.storeBackend(args[0]), args[0].graphId] : args;
4893
+ const [backend, targetGraphId] = args.length === 1 ? [chunk2CVDZCXH_cjs.storeBackend(args[0]), args[0].graphId] : args;
4891
4894
  const graph = buildOwnedProvenanceGraph(targetGraphId);
4892
4895
  const preflight = await inspectSidecarGraphId(backend, graph, targetGraphId);
4893
4896
  if (preflight.state === "refuse") {
@@ -4899,7 +4902,7 @@ async function openProvenanceStore(...args) {
4899
4902
  throw provenanceGraphIdCollision(graph.id, targetGraphId, claim.reason);
4900
4903
  }
4901
4904
  }
4902
- const [store] = await chunkSR725PWF_cjs.createStoreWithSchema(graph, backend);
4905
+ const [store] = await chunkWRBV2FNH_cjs.createStoreWithSchema(graph, backend);
4903
4906
  return store;
4904
4907
  }
4905
4908
  async function claimSidecarOwnership(backend, graph, targetGraphId) {
@@ -4925,13 +4928,26 @@ async function claimSidecarOwnership(backend, graph, targetGraphId) {
4925
4928
  });
4926
4929
  }
4927
4930
  async function drainUnfencedRowWriters(tx) {
4928
- if (tx.dialect !== "postgres") return;
4929
- const schema = chunk3U5ABFDW_cjs.createSqlSchema(tx.tableNames);
4930
- await tx.executeStatement(
4931
- chunkEDN4Y4ZG_cjs.asCompiledStatementSql(
4932
- chunkEDN4Y4ZG_cjs.sql`LOCK TABLE ${schema.nodesTable}, ${schema.edgesTable} IN SHARE ROW EXCLUSIVE MODE`
4933
- )
4934
- );
4931
+ const plan = chunkNUQ2YFFH_cjs.resolveWriteFencePlan(tx);
4932
+ const fence = chunkNUQ2YFFH_cjs.requireWriteFence(
4933
+ plan,
4934
+ "graph-merge provenance fence",
4935
+ "table-lock"
4936
+ );
4937
+ switch (fence.kind) {
4938
+ case "lock": {
4939
+ const schema = chunkNUQ2YFFH_cjs.createSqlSchema(tx.tableNames);
4940
+ await tx.executeStatement(
4941
+ chunkH5IJSROF_cjs.asCompiledStatementSql(
4942
+ chunkH5IJSROF_cjs.sql`LOCK TABLE ${schema.nodesTable}, ${schema.edgesTable} IN SHARE ROW EXCLUSIVE MODE`
4943
+ )
4944
+ );
4945
+ return;
4946
+ }
4947
+ case "engine-serialized": {
4948
+ return;
4949
+ }
4950
+ }
4935
4951
  }
4936
4952
  async function inspectSidecarGraphId(port, graph, targetGraphId) {
4937
4953
  const activeSchema = await port.getActiveSchema(graph.id);
@@ -4948,14 +4964,14 @@ async function inspectSidecarGraphId(port, graph, targetGraphId) {
4948
4964
  if (activeSchema === void 0) {
4949
4965
  return { state: "refuse", reason: "application-graph" };
4950
4966
  }
4951
- const ownedHash = await chunk3FPR224C_cjs.computeSchemaHash(
4952
- chunk3FPR224C_cjs.serializeSchema(graph, activeSchema.version)
4967
+ const ownedHash = await chunkJHRUZ73O_cjs.computeSchemaHash(
4968
+ chunkJHRUZ73O_cjs.serializeSchema(graph, activeSchema.version)
4953
4969
  );
4954
4970
  if (activeSchema.schema_hash === ownedHash) {
4955
4971
  return { state: "refuse", reason: "unowned-exact-schema-graph" };
4956
4972
  }
4957
- const legacyHash = await chunk3FPR224C_cjs.computeSchemaHash(
4958
- chunk3FPR224C_cjs.serializeSchema(buildProvenanceGraph(targetGraphId), activeSchema.version)
4973
+ const legacyHash = await chunkJHRUZ73O_cjs.computeSchemaHash(
4974
+ chunkJHRUZ73O_cjs.serializeSchema(buildProvenanceGraph(targetGraphId), activeSchema.version)
4959
4975
  );
4960
4976
  if (activeSchema.schema_hash !== legacyHash) {
4961
4977
  return { state: "refuse", reason: "application-graph" };
@@ -4995,7 +5011,7 @@ var SIDECAR_REFUSALS = {
4995
5011
  };
4996
5012
  function provenanceGraphIdCollision(graphId, targetGraphId, reason) {
4997
5013
  const refusal = SIDECAR_REFUSALS[reason];
4998
- return new chunkMRDBBHIZ_cjs.ConfigurationError(
5014
+ return new chunkX4GDXBOP_cjs.ConfigurationError(
4999
5015
  refusal.describe(graphId, targetGraphId),
5000
5016
  {
5001
5017
  code: "GRAPH_MERGE_PROVENANCE_ID_COLLISION",
@@ -5007,7 +5023,7 @@ function provenanceGraphIdCollision(graphId, targetGraphId, reason) {
5007
5023
  );
5008
5024
  }
5009
5025
  function provenanceClaimUnfenced(graphId, targetGraphId) {
5010
- return new chunkMRDBBHIZ_cjs.ConfigurationError(
5026
+ return new chunkX4GDXBOP_cjs.ConfigurationError(
5011
5027
  `Claiming graph id "${graphId}" for merge provenance requires a transactional schema fence, which this backend does not provide.`,
5012
5028
  {
5013
5029
  code: "GRAPH_MERGE_PROVENANCE_CLAIM_UNFENCED",
@@ -5059,12 +5075,12 @@ async function* readRowsOfKind(port, graphId, kind) {
5059
5075
  }
5060
5076
  }
5061
5077
  async function hasRowsUnderGraphId(port, graphId, scope) {
5062
- const schema = chunk3U5ABFDW_cjs.createSqlSchema(port.tableNames);
5063
- const kindFilter = scope === "any" ? chunkEDN4Y4ZG_cjs.sql.empty() : chunkEDN4Y4ZG_cjs.sql` AND kind <> ${PROVENANCE_KIND}`;
5078
+ const schema = chunkNUQ2YFFH_cjs.createSqlSchema(port.tableNames);
5079
+ const kindFilter = scope === "any" ? chunkH5IJSROF_cjs.sql.empty() : chunkH5IJSROF_cjs.sql` AND kind <> ${PROVENANCE_KIND}`;
5064
5080
  if (await hasRowsInTable(port, schema.tables.nodes, graphId, kindFilter)) {
5065
5081
  return true;
5066
5082
  }
5067
- if (await hasRowsInTable(port, schema.tables.edges, graphId, chunkEDN4Y4ZG_cjs.sql.empty())) {
5083
+ if (await hasRowsInTable(port, schema.tables.edges, graphId, chunkH5IJSROF_cjs.sql.empty())) {
5068
5084
  return true;
5069
5085
  }
5070
5086
  for (const tableName of secondaryRowTableNames(schema.tables)) {
@@ -5084,14 +5100,15 @@ function secondaryRowTableNames(tables) {
5084
5100
  tables.identityClosure,
5085
5101
  tables.identitySeparation,
5086
5102
  tables.fulltext,
5087
- tables.uniques
5103
+ tables.uniques,
5104
+ tables.edgeClaims
5088
5105
  ])
5089
5106
  ];
5090
5107
  }
5091
5108
  async function hasRowsInTable(port, tableName, graphId, filter) {
5092
5109
  const rows = await port.execute(
5093
- chunkEDN4Y4ZG_cjs.asCompiledRowsSql(
5094
- chunkEDN4Y4ZG_cjs.sql`SELECT 1 AS present FROM ${chunkEDN4Y4ZG_cjs.sql.identifier(tableName)} WHERE graph_id = ${graphId}${filter} LIMIT 1`
5110
+ chunkH5IJSROF_cjs.asCompiledRowsSql(
5111
+ chunkH5IJSROF_cjs.sql`SELECT 1 AS present FROM ${chunkH5IJSROF_cjs.sql.identifier(tableName)} WHERE graph_id = ${graphId}${filter} LIMIT 1`
5095
5112
  )
5096
5113
  );
5097
5114
  return rows.length > 0;
@@ -5099,10 +5116,10 @@ async function hasRowsInTable(port, tableName, graphId, filter) {
5099
5116
  async function hasRowsInSecondaryTable(port, tableName, graphId) {
5100
5117
  const tableExists = port.tableExists;
5101
5118
  if (tableExists !== void 0) {
5102
- return await tableExists(tableName) && await hasRowsInTable(port, tableName, graphId, chunkEDN4Y4ZG_cjs.sql.empty());
5119
+ return await tableExists(tableName) && await hasRowsInTable(port, tableName, graphId, chunkH5IJSROF_cjs.sql.empty());
5103
5120
  }
5104
5121
  try {
5105
- return await hasRowsInTable(port, tableName, graphId, chunkEDN4Y4ZG_cjs.sql.empty());
5122
+ return await hasRowsInTable(port, tableName, graphId, chunkH5IJSROF_cjs.sql.empty());
5106
5123
  } catch {
5107
5124
  return false;
5108
5125
  }
@@ -5147,7 +5164,7 @@ function contributionKey(record) {
5147
5164
  ]);
5148
5165
  }
5149
5166
  function encodeProvenanceTuple(values) {
5150
- return values.some((value) => value.includes(ID_SEPARATOR)) ? chunkEZEEWCFJ_cjs.encodeTupleKey(values) : values.join(ID_SEPARATOR);
5167
+ return values.some((value) => value.includes(ID_SEPARATOR)) ? chunkCRZ56SZU_cjs.encodeTupleKey(values) : values.join(ID_SEPARATOR);
5151
5168
  }
5152
5169
  async function provenanceNodeId(targetGraphId, record) {
5153
5170
  const tuple = encodeProvenanceTuple([
@@ -5190,7 +5207,7 @@ async function readProvenance(store, query = {}) {
5190
5207
  const all = await store.nodes.Provenance.find();
5191
5208
  return all.filter(
5192
5209
  (node) => (query.branchId === void 0 || node.branchId === query.branchId) && (query.canonicalId === void 0 || node.canonicalId === query.canonicalId) && (query.role === void 0 || node.role === query.role)
5193
- ).sort((left, right) => chunkEZEEWCFJ_cjs.compareStrings(left.id, right.id));
5210
+ ).sort((left, right) => chunkRWUWTJQY_cjs.compareStrings(left.id, right.id));
5194
5211
  }
5195
5212
 
5196
5213
  // src/graph-merge/sources.ts
@@ -5200,10 +5217,10 @@ function orderEndpoints(left, right, sources) {
5200
5217
  return compareMergeKeys(leftKey, rightKey) <= 0 ? { a: leftKey, b: rightKey, left, right, sources } : { a: rightKey, b: leftKey, left: right, right: left, sources };
5201
5218
  }
5202
5219
  function sortMembersById(members) {
5203
- return [...members].sort((left, right) => chunkEZEEWCFJ_cjs.compareStrings(left.id, right.id));
5220
+ return [...members].sort((left, right) => chunkRWUWTJQY_cjs.compareStrings(left.id, right.id));
5204
5221
  }
5205
5222
  function sortedBucketKeys(blocks) {
5206
- return [...blocks.keys()].sort((left, right) => chunkEZEEWCFJ_cjs.compareStrings(left, right));
5223
+ return [...blocks.keys()].sort((left, right) => chunkRWUWTJQY_cjs.compareStrings(left, right));
5207
5224
  }
5208
5225
  var NODE_SYSTEM_FIELDS = /* @__PURE__ */ new Set(["id", "kind", "meta"]);
5209
5226
  function nodeProps(node) {
@@ -5231,7 +5248,7 @@ function windowedPairs(members, config) {
5231
5248
  key: fieldText(node, config.sortFields)
5232
5249
  }));
5233
5250
  keyed.sort(
5234
- (left, right) => left.key === right.key ? chunkEZEEWCFJ_cjs.compareStrings(left.node.id, right.node.id) : chunkEZEEWCFJ_cjs.compareStrings(left.key, right.key)
5251
+ (left, right) => left.key === right.key ? chunkRWUWTJQY_cjs.compareStrings(left.node.id, right.node.id) : chunkRWUWTJQY_cjs.compareStrings(left.key, right.key)
5235
5252
  );
5236
5253
  const pairs = [];
5237
5254
  for (let index = 0; index < keyed.length; index += 1) {
@@ -5342,7 +5359,7 @@ function ontologyRetypeEdges(stagedIdentities, isRetypeCompatible) {
5342
5359
  }
5343
5360
  }
5344
5361
  const edges = [];
5345
- for (const id of [...identitiesById.keys()].sort(chunkEZEEWCFJ_cjs.compareStrings)) {
5362
+ for (const id of [...identitiesById.keys()].sort(chunkRWUWTJQY_cjs.compareStrings)) {
5346
5363
  const identities = [...new Set(identitiesById.get(id))].sort(
5347
5364
  compareMergeKeys
5348
5365
  );
@@ -5450,7 +5467,7 @@ var baseUniqueSource = {
5450
5467
  const forcedEdges = [];
5451
5468
  const baseMembers = /* @__PURE__ */ new Map();
5452
5469
  const constraints = [...uniqueConstraints].sort(
5453
- (left, right) => chunkEZEEWCFJ_cjs.compareStrings(left.name, right.name)
5470
+ (left, right) => chunkRWUWTJQY_cjs.compareStrings(left.name, right.name)
5454
5471
  );
5455
5472
  const items = nodes.map((node) => ({ props: nodeProps(node) }));
5456
5473
  const matchesByConstraint = await Promise.all(
@@ -5520,7 +5537,7 @@ var baseUniqueSource = {
5520
5537
  pairs: [],
5521
5538
  forcedEdges,
5522
5539
  baseMembers: [...baseMembers.values()].sort(
5523
- (left, right) => chunkEZEEWCFJ_cjs.compareStrings(left.id, right.id)
5540
+ (left, right) => chunkRWUWTJQY_cjs.compareStrings(left.id, right.id)
5524
5541
  )
5525
5542
  };
5526
5543
  }
@@ -5598,7 +5615,7 @@ var baseKeySource = {
5598
5615
  pairs,
5599
5616
  forcedEdges: [],
5600
5617
  baseMembers: [...baseMembers.values()].sort(
5601
- (left, right) => chunkEZEEWCFJ_cjs.compareStrings(left.id, right.id)
5618
+ (left, right) => chunkRWUWTJQY_cjs.compareStrings(left.id, right.id)
5602
5619
  )
5603
5620
  };
5604
5621
  }
@@ -5610,16 +5627,16 @@ var CANDIDATE_SOURCES = [
5610
5627
 
5611
5628
  // src/graph-merge/staging.ts
5612
5629
  function compareByIdThenBranch(left, right) {
5613
- const byId2 = chunkEZEEWCFJ_cjs.compareStrings(left.id, right.id);
5614
- return byId2 === 0 ? chunkEZEEWCFJ_cjs.compareStrings(left.branchId, right.branchId) : byId2;
5630
+ const byId2 = chunkRWUWTJQY_cjs.compareStrings(left.id, right.id);
5631
+ return byId2 === 0 ? chunkRWUWTJQY_cjs.compareStrings(left.branchId, right.branchId) : byId2;
5615
5632
  }
5616
5633
  function compareByKindIdBranch(left, right) {
5617
- const byKind = chunkEZEEWCFJ_cjs.compareStrings(left.kind, right.kind);
5634
+ const byKind = chunkRWUWTJQY_cjs.compareStrings(left.kind, right.kind);
5618
5635
  if (byKind !== 0) {
5619
5636
  return byKind;
5620
5637
  }
5621
- const byId2 = chunkEZEEWCFJ_cjs.compareStrings(left.id, right.id);
5622
- return byId2 === 0 ? chunkEZEEWCFJ_cjs.compareStrings(left.branchId, right.branchId) : byId2;
5638
+ const byId2 = chunkRWUWTJQY_cjs.compareStrings(left.id, right.id);
5639
+ return byId2 === 0 ? chunkRWUWTJQY_cjs.compareStrings(left.branchId, right.branchId) : byId2;
5623
5640
  }
5624
5641
  function groupByKind(items) {
5625
5642
  const buckets = /* @__PURE__ */ new Map();
@@ -5633,7 +5650,7 @@ function groupByKind(items) {
5633
5650
  }
5634
5651
  const ordered = /* @__PURE__ */ new Map();
5635
5652
  for (const kind of [...buckets.keys()].sort(
5636
- (left, right) => chunkEZEEWCFJ_cjs.compareStrings(left, right)
5653
+ (left, right) => chunkRWUWTJQY_cjs.compareStrings(left, right)
5637
5654
  )) {
5638
5655
  ordered.set(
5639
5656
  kind,
@@ -5655,7 +5672,7 @@ async function stageBranches(baseStore, branches, captureTargetStateFor) {
5655
5672
  const windowedEdges = [];
5656
5673
  const newIdentityAssertions = [];
5657
5674
  const retractedIdentityAssertions = [];
5658
- const baseIdentityAssertions = await chunk3KOY4FH3_cjs.storeRuntime(baseStore).readCurrentIdentityAssertions("state");
5675
+ const baseIdentityAssertions = await chunk2CVDZCXH_cjs.storeRuntime(baseStore).readCurrentIdentityAssertions("state");
5659
5676
  let targetNodeVersions = /* @__PURE__ */ new Map();
5660
5677
  let targetEdgeSignatures = /* @__PURE__ */ new Map();
5661
5678
  for (const branch2 of branches) {
@@ -5726,17 +5743,17 @@ async function stageBranches(baseStore, branches, captureTargetStateFor) {
5726
5743
  (left, right) => compareByKindIdBranch(left, right)
5727
5744
  ),
5728
5745
  newIdentityAssertions: newIdentityAssertions.toSorted((left, right) => {
5729
- const byId2 = chunkEZEEWCFJ_cjs.compareStrings(left.assertion.id, right.assertion.id);
5730
- return byId2 === 0 ? chunkEZEEWCFJ_cjs.compareStrings(left.branchId, right.branchId) : byId2;
5746
+ const byId2 = chunkRWUWTJQY_cjs.compareStrings(left.assertion.id, right.assertion.id);
5747
+ return byId2 === 0 ? chunkRWUWTJQY_cjs.compareStrings(left.branchId, right.branchId) : byId2;
5731
5748
  }),
5732
5749
  retractedIdentityAssertions: retractedIdentityAssertions.toSorted(
5733
5750
  (left, right) => {
5734
- const byId2 = chunkEZEEWCFJ_cjs.compareStrings(left.assertion.id, right.assertion.id);
5735
- return byId2 === 0 ? chunkEZEEWCFJ_cjs.compareStrings(left.branchId, right.branchId) : byId2;
5751
+ const byId2 = chunkRWUWTJQY_cjs.compareStrings(left.assertion.id, right.assertion.id);
5752
+ return byId2 === 0 ? chunkRWUWTJQY_cjs.compareStrings(left.branchId, right.branchId) : byId2;
5736
5753
  }
5737
5754
  ),
5738
5755
  baseIdentityAssertions: baseIdentityAssertions.toSorted(
5739
- (left, right) => chunkEZEEWCFJ_cjs.compareStrings(left.id, right.id)
5756
+ (left, right) => chunkRWUWTJQY_cjs.compareStrings(left.id, right.id)
5740
5757
  ),
5741
5758
  targetNodeVersions,
5742
5759
  targetEdgeSignatures
@@ -5788,7 +5805,7 @@ async function withTxConflictRetry(commit) {
5788
5805
  // src/graph-merge/type-reconcile.ts
5789
5806
  var INCOMPATIBLE_TYPES_FLAG_REASON = "type-reconcile:incompatible-kinds";
5790
5807
  function distinctKinds(kinds) {
5791
- return [...new Set(kinds)].sort((left, right) => chunkEZEEWCFJ_cjs.compareStrings(left, right));
5808
+ return [...new Set(kinds)].sort((left, right) => chunkRWUWTJQY_cjs.compareStrings(left, right));
5792
5809
  }
5793
5810
  function areEquivalent(closure, left, right) {
5794
5811
  return left !== right && isReachable2(closure, left, right) && isReachable2(closure, right, left);
@@ -5807,7 +5824,7 @@ function mostSpecificCommonKind(closure, kinds) {
5807
5824
  return void 0;
5808
5825
  }
5809
5826
  return chunkN66HCGCY_cjs.requireDefined(
5810
- [...qualifiers].sort((left, right) => chunkEZEEWCFJ_cjs.compareStrings(left, right))[0]
5827
+ [...qualifiers].sort((left, right) => chunkRWUWTJQY_cjs.compareStrings(left, right))[0]
5811
5828
  );
5812
5829
  }
5813
5830
  function reconcileTypes(clusters, closure, mode) {
@@ -5845,10 +5862,10 @@ function reconcileTypes(clusters, closure, mode) {
5845
5862
  }
5846
5863
  return {
5847
5864
  reconciliations: reconciliations.sort(
5848
- (left, right) => chunkEZEEWCFJ_cjs.compareStrings(left.entityId, right.entityId)
5865
+ (left, right) => chunkRWUWTJQY_cjs.compareStrings(left.entityId, right.entityId)
5849
5866
  ),
5850
5867
  retypeMap,
5851
- dropped: dropped.sort((left, right) => chunkEZEEWCFJ_cjs.compareStrings(left.id, right.id))
5868
+ dropped: dropped.sort((left, right) => chunkRWUWTJQY_cjs.compareStrings(left.id, right.id))
5852
5869
  };
5853
5870
  }
5854
5871
 
@@ -5866,8 +5883,8 @@ function newNodesByKind(staging) {
5866
5883
  ordered.set(
5867
5884
  kind,
5868
5885
  [...items].sort((left, right) => {
5869
- const byId2 = chunkEZEEWCFJ_cjs.compareStrings(left.node.id, right.node.id);
5870
- return byId2 === 0 ? chunkEZEEWCFJ_cjs.compareStrings(left.branchId, right.branchId) : byId2;
5886
+ const byId2 = chunkRWUWTJQY_cjs.compareStrings(left.node.id, right.node.id);
5887
+ return byId2 === 0 ? chunkRWUWTJQY_cjs.compareStrings(left.branchId, right.branchId) : byId2;
5871
5888
  })
5872
5889
  );
5873
5890
  }
@@ -5901,7 +5918,7 @@ async function precomputeEmbeddings(byKind, resolve, embedder) {
5901
5918
  }
5902
5919
  async function embedSortedTexts(texts, embedder) {
5903
5920
  const orderedTexts = [...texts].sort(
5904
- (left, right) => chunkEZEEWCFJ_cjs.compareStrings(left, right)
5921
+ (left, right) => chunkRWUWTJQY_cjs.compareStrings(left, right)
5905
5922
  );
5906
5923
  const vectors = await embedder(orderedTexts);
5907
5924
  if (vectors.length !== orderedTexts.length) {
@@ -5953,7 +5970,7 @@ async function generateAllCandidates(target, staging, options, introspectionKind
5953
5970
  async ([kind, items]) => {
5954
5971
  const resolveConfig = options.resolve[kind];
5955
5972
  if (resolveConfig === void 0) {
5956
- return chunkGYEG3ZLZ_cjs.ok({
5973
+ return chunkRJMHU2MG_cjs.ok({
5957
5974
  edges: [],
5958
5975
  warnings: [],
5959
5976
  baseMembers: [],
@@ -6003,10 +6020,10 @@ async function generateAllCandidates(target, staging, options, introspectionKind
6003
6020
  options.maxComparisonsPerKind,
6004
6021
  options.candidateDiagnostics?.limit ?? 0
6005
6022
  );
6006
- if (chunkGYEG3ZLZ_cjs.isErr(scored)) {
6007
- return chunkGYEG3ZLZ_cjs.err(scored.error);
6023
+ if (chunkRJMHU2MG_cjs.isErr(scored)) {
6024
+ return chunkRJMHU2MG_cjs.err(scored.error);
6008
6025
  }
6009
- return chunkGYEG3ZLZ_cjs.ok({
6026
+ return chunkRJMHU2MG_cjs.ok({
6010
6027
  edges: scored.data.edges,
6011
6028
  warnings: scored.data.warnings.map(
6012
6029
  (warning) => `[${kind}] ${warning.message}`
@@ -6019,8 +6036,8 @@ async function generateAllCandidates(target, staging, options, introspectionKind
6019
6036
  )
6020
6037
  );
6021
6038
  for (const result of perKind) {
6022
- if (chunkGYEG3ZLZ_cjs.isErr(result)) {
6023
- return chunkGYEG3ZLZ_cjs.err(result.error);
6039
+ if (chunkRJMHU2MG_cjs.isErr(result)) {
6040
+ return chunkRJMHU2MG_cjs.err(result.error);
6024
6041
  }
6025
6042
  allEdges.push(...result.data.edges);
6026
6043
  warnings.push(...result.data.warnings);
@@ -6034,7 +6051,7 @@ async function generateAllCandidates(target, staging, options, introspectionKind
6034
6051
  }
6035
6052
  diagnosticsTotal += result.data.diagnosticsTotal;
6036
6053
  }
6037
- return chunkGYEG3ZLZ_cjs.ok({
6054
+ return chunkRJMHU2MG_cjs.ok({
6038
6055
  // The ONE shared `(a, b)` edge comparator (id-first `(kind, id)` order), so this
6039
6056
  // stage emits edges in exactly the order clustering consumes them.
6040
6057
  edges: allEdges.sort((left, right) => compareCandidateEdges(left, right)),
@@ -6176,9 +6193,9 @@ function buildProvenanceIndex(records) {
6176
6193
  for (const [branchId, sets] of byBranch) {
6177
6194
  frozen.set(branchId, {
6178
6195
  nodeIds: [...sets.nodeIds].sort(
6179
- (left, right) => chunkEZEEWCFJ_cjs.compareStrings(left, right)
6196
+ (left, right) => chunkRWUWTJQY_cjs.compareStrings(left, right)
6180
6197
  ),
6181
- edgeIds: [...sets.edgeIds].sort((left, right) => chunkEZEEWCFJ_cjs.compareStrings(left, right)).map((id) => id)
6198
+ edgeIds: [...sets.edgeIds].sort((left, right) => chunkRWUWTJQY_cjs.compareStrings(left, right)).map((id) => id)
6182
6199
  });
6183
6200
  }
6184
6201
  return {
@@ -6578,7 +6595,7 @@ function buildInternalMergePlan(staging, candidateEdges, candidateWarnings, cand
6578
6595
  ...identityRemap.dropped,
6579
6596
  ...validWindows.dropped
6580
6597
  ].sort(
6581
- (left, right) => chunkEZEEWCFJ_cjs.compareStrings(`${left.kind}|${left.id}`, `${right.kind}|${right.id}`)
6598
+ (left, right) => chunkRWUWTJQY_cjs.compareStrings(`${left.kind}|${left.id}`, `${right.kind}|${right.id}`)
6582
6599
  );
6583
6600
  return {
6584
6601
  canonicalEntities,
@@ -6615,7 +6632,7 @@ function buildInternalMergePlan(staging, candidateEdges, candidateWarnings, cand
6615
6632
  mergeKey(left.kind, left.entityId),
6616
6633
  mergeKey(right.kind, right.entityId)
6617
6634
  );
6618
- return byEntity === 0 ? chunkEZEEWCFJ_cjs.compareStrings(left.property, right.property) : byEntity;
6635
+ return byEntity === 0 ? chunkRWUWTJQY_cjs.compareStrings(left.property, right.property) : byEntity;
6619
6636
  }
6620
6637
  ),
6621
6638
  deleteModifyConflicts: [
@@ -6798,7 +6815,7 @@ async function applyNodeRows(target, txBackend, nodesApi, deletions, upserts) {
6798
6815
  afterImages.set(mergeKey(kind, item.id), props);
6799
6816
  }
6800
6817
  }
6801
- return chunk3KOY4FH3_cjs.storeRuntime(target).applyResolvedNodeUniqueness(
6818
+ return chunk2CVDZCXH_cjs.storeRuntime(target).applyResolvedNodeUniqueness(
6802
6819
  txBackend,
6803
6820
  {
6804
6821
  upserts: upserts.map((upsert) => ({
@@ -6846,7 +6863,7 @@ async function applyEdgeRows(edgesApi, deletions, upserts) {
6846
6863
  }
6847
6864
  async function applyIdentityRows(target, txBackend, assertions, retractions, assertConsistent) {
6848
6865
  try {
6849
- const applied = await chunk3KOY4FH3_cjs.storeRuntime(target).applyIdentityMergeAtTarget(
6866
+ const applied = await chunk2CVDZCXH_cjs.storeRuntime(target).applyIdentityMergeAtTarget(
6850
6867
  txBackend,
6851
6868
  retractions,
6852
6869
  assertions
@@ -6894,7 +6911,7 @@ async function applyInternalMergePlan(plan, nodesApi, edgesApi, target, txBacken
6894
6911
  nodeUpserts
6895
6912
  );
6896
6913
  } catch (error) {
6897
- throw error instanceof chunkMRDBBHIZ_cjs.IdentityEndpointValidityError ? translateIdentityCommitError(error) : error;
6914
+ throw error instanceof chunkX4GDXBOP_cjs.IdentityEndpointValidityError ? translateIdentityCommitError(error) : error;
6898
6915
  }
6899
6916
  const edgeDeletions = [...plan.edgeDeletions].map(([identity, kind]) => ({
6900
6917
  kind,
@@ -6944,7 +6961,7 @@ async function applyInternalMergePlan(plan, nodesApi, edgesApi, target, txBacken
6944
6961
  };
6945
6962
  }
6946
6963
  async function commitPlan(target, plan, expectedBaseVersion) {
6947
- if (!chunk3KOY4FH3_cjs.storeBackend(target).capabilities.transactions) {
6964
+ if (!chunk2CVDZCXH_cjs.storeBackend(target).capabilities.transactions) {
6948
6965
  throw new MergeError(
6949
6966
  "merge() requires a transaction-capable target backend. The merged plan (canonical upserts, soft-deletes, edge upserts) must commit atomically; a non-transactional fallback would leave a partially-merged graph on a mid-commit failure. (mergeIncremental() enforces the same requirement.)",
6950
6967
  { details: { capability: "transactions" } }
@@ -6955,14 +6972,14 @@ async function commitPlan(target, plan, expectedBaseVersion) {
6955
6972
  () => target.transaction(async (tx) => {
6956
6973
  if (expectedBaseVersion !== void 0) {
6957
6974
  await assertTargetUnchanged(
6958
- chunk3KOY4FH3_cjs.transactionBackend(tx),
6975
+ chunk2CVDZCXH_cjs.transactionBackend(tx),
6959
6976
  target,
6960
6977
  expectedBaseVersion
6961
6978
  );
6962
6979
  }
6963
6980
  await assertPlannedIdentityIdsFresh(
6964
6981
  target,
6965
- chunk3KOY4FH3_cjs.transactionBackend(tx),
6982
+ chunk2CVDZCXH_cjs.transactionBackend(tx),
6966
6983
  plan
6967
6984
  );
6968
6985
  return applyInternalMergePlan(
@@ -6970,7 +6987,7 @@ async function commitPlan(target, plan, expectedBaseVersion) {
6970
6987
  tx.nodes,
6971
6988
  tx.edges,
6972
6989
  target,
6973
- chunk3KOY4FH3_cjs.transactionBackend(tx)
6990
+ chunk2CVDZCXH_cjs.transactionBackend(tx)
6974
6991
  );
6975
6992
  }, mergeCommitTransactionOptions(target))
6976
6993
  )
@@ -6991,9 +7008,9 @@ function mergeCommitTransactionOptions(target) {
6991
7008
  }
6992
7009
  async function assertTargetUnchanged(txBackend, target, expectedBaseVersion) {
6993
7010
  if (hasRevisionAnchor(expectedBaseVersion)) {
6994
- await chunkEZEEWCFJ_cjs.lockRecordedGraphWrite(txBackend, target.graphId);
7011
+ await chunkJQKMEKKW_cjs.lockRecordedGraphWrite(txBackend, target.graphId);
6995
7012
  const expectedOrigin = revisionOriginOf(expectedBaseVersion);
6996
- const liveOrigin = await chunkEZEEWCFJ_cjs.readRevisionOrigin(
7013
+ const liveOrigin = await chunkJQKMEKKW_cjs.readRevisionOrigin(
6997
7014
  txBackend,
6998
7015
  target.revisionSchema,
6999
7016
  target.graphId
@@ -7007,7 +7024,7 @@ async function assertTargetUnchanged(txBackend, target, expectedBaseVersion) {
7007
7024
  }
7008
7025
  );
7009
7026
  }
7010
- const liveRevision = await chunkEZEEWCFJ_cjs.readRecordedClock(
7027
+ const liveRevision = await chunkJQKMEKKW_cjs.readRecordedClock(
7011
7028
  txBackend,
7012
7029
  target.revisionSchema,
7013
7030
  target.graphId
@@ -7028,7 +7045,7 @@ async function assertTargetUnchanged(txBackend, target, expectedBaseVersion) {
7028
7045
  txBackend,
7029
7046
  target.graphId,
7030
7047
  target.graph,
7031
- await chunk3KOY4FH3_cjs.storeRuntime(target).identityAssertionsAtTarget(txBackend, "state")
7048
+ await chunk2CVDZCXH_cjs.storeRuntime(target).identityAssertionsAtTarget(txBackend, "state")
7032
7049
  );
7033
7050
  const expectedContent = contentComponentOf(expectedBaseVersion);
7034
7051
  if (liveContent !== expectedContent) {
@@ -7066,7 +7083,7 @@ async function validateBaseVersions(target, branches) {
7066
7083
  const targetVersion = await computeBaseVersion(target);
7067
7084
  for (const branch2 of branches) {
7068
7085
  if (branch2.base !== targetVersion) {
7069
- return chunkGYEG3ZLZ_cjs.err(
7086
+ return chunkRJMHU2MG_cjs.err(
7070
7087
  new BaseVersionMismatchError(
7071
7088
  `Branch "${branch2.id}" forked from base@V "${branch2.base}", which does not match the merge target's current base@V "${targetVersion}".`,
7072
7089
  {
@@ -7080,14 +7097,14 @@ async function validateBaseVersions(target, branches) {
7080
7097
  );
7081
7098
  }
7082
7099
  }
7083
- return chunkGYEG3ZLZ_cjs.ok(targetVersion);
7100
+ return chunkRJMHU2MG_cjs.ok(targetVersion);
7084
7101
  }
7085
7102
  function tryNormalize(optionsInput, refusedOptions = []) {
7086
7103
  const refusedOption = refusedOptions.find(
7087
7104
  (option) => chunkN66HCGCY_cjs.hasOwnKey(optionsInput, option)
7088
7105
  );
7089
7106
  if (refusedOption !== void 0) {
7090
- return chunkGYEG3ZLZ_cjs.err(
7107
+ return chunkRJMHU2MG_cjs.err(
7091
7108
  new InvalidMergeOptionsError(
7092
7109
  `This merge operation does not accept options.${refusedOption}.`,
7093
7110
  { details: { option: refusedOption } }
@@ -7095,18 +7112,18 @@ function tryNormalize(optionsInput, refusedOptions = []) {
7095
7112
  );
7096
7113
  }
7097
7114
  try {
7098
- return chunkGYEG3ZLZ_cjs.ok(normalizeMergeOptions(optionsInput));
7115
+ return chunkRJMHU2MG_cjs.ok(normalizeMergeOptions(optionsInput));
7099
7116
  } catch (error) {
7100
- return chunkGYEG3ZLZ_cjs.err(
7117
+ return chunkRJMHU2MG_cjs.err(
7101
7118
  new InvalidMergeOptionsError("Invalid merge options.", { cause: error })
7102
7119
  );
7103
7120
  }
7104
7121
  }
7105
7122
  async function tryOpenProvenanceStore(target) {
7106
7123
  try {
7107
- return chunkGYEG3ZLZ_cjs.ok(await openProvenanceStore(target));
7124
+ return chunkRJMHU2MG_cjs.ok(await openProvenanceStore(target));
7108
7125
  } catch (error) {
7109
- const code = error instanceof chunkMRDBBHIZ_cjs.TypeGraphError ? error.details?.code : void 0;
7126
+ const code = error instanceof chunkX4GDXBOP_cjs.TypeGraphError ? error.details?.code : void 0;
7110
7127
  const details = {
7111
7128
  option: "persistProvenance",
7112
7129
  graphId: provenanceGraphId(target.graphId),
@@ -7114,13 +7131,13 @@ async function tryOpenProvenanceStore(target) {
7114
7131
  ...typeof code === "string" ? { provenanceErrorCode: code } : {}
7115
7132
  };
7116
7133
  const message = `options.persistProvenance was requested but the merge-provenance sidecar cannot be opened: ${describeCause(error)}`;
7117
- return chunkGYEG3ZLZ_cjs.err(
7134
+ return chunkRJMHU2MG_cjs.err(
7118
7135
  code === "GRAPH_MERGE_PROVENANCE_ID_COLLISION" || code === "GRAPH_MERGE_PROVENANCE_CLAIM_UNFENCED" ? new InvalidMergeOptionsError(message, { details, cause: error }) : new MergeError(message, { details, cause: error })
7119
7136
  );
7120
7137
  }
7121
7138
  }
7122
7139
  function assertPublicPlanCapability(target) {
7123
- if (!chunk3KOY4FH3_cjs.storeBackend(target).capabilities.transactions) {
7140
+ if (!chunk2CVDZCXH_cjs.storeBackend(target).capabilities.transactions) {
7124
7141
  throw new MergePlanCapabilityError(
7125
7142
  "Public merge plans require a transaction-capable target backend.",
7126
7143
  { details: { capability: "transactions" } }
@@ -7139,7 +7156,7 @@ function assertPublicPlanCapability(target) {
7139
7156
  async function captureMergePlanTargetFence(target) {
7140
7157
  assertPublicPlanCapability(target);
7141
7158
  const [activeSchema, schemaHash, origin, revision] = await Promise.all([
7142
- chunk3KOY4FH3_cjs.storeBackend(target).getActiveSchema(target.graphId),
7159
+ chunk2CVDZCXH_cjs.storeBackend(target).getActiveSchema(target.graphId),
7143
7160
  computeSchemaComponent(target),
7144
7161
  target.revisionOriginNow(),
7145
7162
  target.revisionNow()
@@ -7168,7 +7185,7 @@ async function assertPlanningFenceUnchanged(target, startingFence) {
7168
7185
  function splitWireProps(props) {
7169
7186
  const setProps = chunkN66HCGCY_cjs.createDataKeyedBag();
7170
7187
  const unsetProps = [];
7171
- for (const key of Object.keys(props).sort(chunkEZEEWCFJ_cjs.compareStrings)) {
7188
+ for (const key of Object.keys(props).sort(chunkRWUWTJQY_cjs.compareStrings)) {
7172
7189
  const value = props[key];
7173
7190
  if (value === void 0) {
7174
7191
  unsetProps.push(key);
@@ -7285,7 +7302,7 @@ async function resolveMerge(store, target, branches, options, useBaseSources, in
7285
7302
  let targetBranchSeen = false;
7286
7303
  for (const branch2 of branches) {
7287
7304
  if (branch2.id === BASE_PROVENANCE_BRANCH) {
7288
- return chunkGYEG3ZLZ_cjs.err(
7305
+ return chunkRJMHU2MG_cjs.err(
7289
7306
  new MergeError(
7290
7307
  `Branch id "${BASE_PROVENANCE_BRANCH}" is reserved for committed-base provenance and cannot be used as a branch id.`,
7291
7308
  { details: { branchId: branch2.id } }
@@ -7294,7 +7311,7 @@ async function resolveMerge(store, target, branches, options, useBaseSources, in
7294
7311
  }
7295
7312
  if (branch2.id === COMMITTED_TARGET_BRANCH) {
7296
7313
  if (incremental?.targetBranchId !== COMMITTED_TARGET_BRANCH || targetBranchSeen) {
7297
- return chunkGYEG3ZLZ_cjs.err(
7314
+ return chunkRJMHU2MG_cjs.err(
7298
7315
  new MergeError(
7299
7316
  `Branch id "${COMMITTED_TARGET_BRANCH}" is reserved for the committed incremental target and cannot be used as a branch id.`,
7300
7317
  { details: { branchId: branch2.id } }
@@ -7305,7 +7322,7 @@ async function resolveMerge(store, target, branches, options, useBaseSources, in
7305
7322
  }
7306
7323
  }
7307
7324
  for (const branch2 of branches) {
7308
- const branchSchemaRow = await chunk3KOY4FH3_cjs.storeBackend(branch2.store).getActiveSchema(
7325
+ const branchSchemaRow = await chunk2CVDZCXH_cjs.storeBackend(branch2.store).getActiveSchema(
7309
7326
  branch2.store.graphId
7310
7327
  );
7311
7328
  let drifted;
@@ -7313,13 +7330,13 @@ async function resolveMerge(store, target, branches, options, useBaseSources, in
7313
7330
  const anchor = branch2.schemaAnchor;
7314
7331
  drifted = anchor === void 0 ? branchSchemaRow !== void 0 : branchSchemaRow?.version !== anchor.version || branchSchemaRow.schema_hash !== anchor.hash;
7315
7332
  } else {
7316
- const sourceSchemaRow = await chunk3KOY4FH3_cjs.storeBackend(store).getActiveSchema(
7333
+ const sourceSchemaRow = await chunk2CVDZCXH_cjs.storeBackend(store).getActiveSchema(
7317
7334
  store.graphId
7318
7335
  );
7319
7336
  drifted = branchSchemaRow?.schema_hash !== sourceSchemaRow?.schema_hash;
7320
7337
  }
7321
7338
  if (drifted) {
7322
- return chunkGYEG3ZLZ_cjs.err(
7339
+ return chunkRJMHU2MG_cjs.err(
7323
7340
  new BaseVersionMismatchError(
7324
7341
  `Branch "${branch2.id}"'s store has a committed schema different from its at-fork state \u2014 a schema operation ran on the branch after forking. Merge carries data changes only; apply the schema change to the target first (or re-fork), then merge.`,
7325
7342
  {
@@ -7358,7 +7375,7 @@ async function resolveMerge(store, target, branches, options, useBaseSources, in
7358
7375
  options.embedder
7359
7376
  );
7360
7377
  const ctx = {
7361
- backend: chunk3KOY4FH3_cjs.storeBackend(store),
7378
+ backend: chunk2CVDZCXH_cjs.storeBackend(store),
7362
7379
  ...embeddings === void 0 ? {} : { embeddings }
7363
7380
  };
7364
7381
  const candidates = await generateAllCandidates(
@@ -7370,8 +7387,8 @@ async function resolveMerge(store, target, branches, options, useBaseSources, in
7370
7387
  useBaseSources,
7371
7388
  options.embedder
7372
7389
  );
7373
- if (chunkGYEG3ZLZ_cjs.isErr(candidates)) {
7374
- return chunkGYEG3ZLZ_cjs.err(candidates.error);
7390
+ if (chunkRJMHU2MG_cjs.isErr(candidates)) {
7391
+ return chunkRJMHU2MG_cjs.err(candidates.error);
7375
7392
  }
7376
7393
  const identityProbeIds = target.graph.identity === void 0 ? void 0 : [
7377
7394
  .../* @__PURE__ */ new Set([
@@ -7386,7 +7403,7 @@ async function resolveMerge(store, target, branches, options, useBaseSources, in
7386
7403
  ])
7387
7404
  ])
7388
7405
  ];
7389
- const targetPeers = identityProbeIds === void 0 ? [] : await chunk3KOY4FH3_cjs.storeRuntime(target).liveNodesSharingIds(identityProbeIds);
7406
+ const targetPeers = identityProbeIds === void 0 ? [] : await chunk2CVDZCXH_cjs.storeRuntime(target).liveNodesSharingIds(identityProbeIds);
7390
7407
  const stagedIdentityIds = [
7391
7408
  .../* @__PURE__ */ new Set([
7392
7409
  ...staging.newIdentityAssertions.map((staged) => staged.assertion.id),
@@ -7395,7 +7412,7 @@ async function resolveMerge(store, target, branches, options, useBaseSources, in
7395
7412
  )
7396
7413
  ])
7397
7414
  ];
7398
- const storedIdentityRowsById = stagedIdentityIds.length === 0 || target.graph.identity === void 0 ? NO_STORED_ASSERTIONS : await chunk3KOY4FH3_cjs.storeRuntime(target).identityAssertionRowsByIds(
7415
+ const storedIdentityRowsById = stagedIdentityIds.length === 0 || target.graph.identity === void 0 ? NO_STORED_ASSERTIONS : await chunk2CVDZCXH_cjs.storeRuntime(target).identityAssertionRowsByIds(
7399
7416
  stagedIdentityIds
7400
7417
  );
7401
7418
  const identityContext = {
@@ -7420,14 +7437,14 @@ async function resolveMerge(store, target, branches, options, useBaseSources, in
7420
7437
  if (plan.identityAssertions.length > 0) {
7421
7438
  assertOneIdOneTruth(
7422
7439
  plan.identityAssertions,
7423
- await chunk3KOY4FH3_cjs.storeRuntime(target).identityAssertionRowsByIds(
7440
+ await chunk2CVDZCXH_cjs.storeRuntime(target).identityAssertionRowsByIds(
7424
7441
  plan.identityAssertions.map((assertion) => assertion.id)
7425
7442
  )
7426
7443
  );
7427
7444
  }
7428
7445
  let identityGuard;
7429
7446
  if (identityProbeIds !== void 0 && incremental !== void 0) {
7430
- const freshPeers = await chunk3KOY4FH3_cjs.storeRuntime(target).liveNodesSharingIds(identityProbeIds);
7447
+ const freshPeers = await chunk2CVDZCXH_cjs.storeRuntime(target).liveNodesSharingIds(identityProbeIds);
7431
7448
  const built = await buildIdentityPeerProbe(
7432
7449
  target,
7433
7450
  identityProbeIds,
@@ -7475,7 +7492,7 @@ async function resolveMerge(store, target, branches, options, useBaseSources, in
7475
7492
  targetNodeVersions: staging.targetNodeVersions,
7476
7493
  targetEdgeSignatures: staging.targetEdgeSignatures
7477
7494
  };
7478
- return chunkGYEG3ZLZ_cjs.ok(
7495
+ return chunkRJMHU2MG_cjs.ok(
7479
7496
  await complete({
7480
7497
  target,
7481
7498
  plan,
@@ -7486,9 +7503,9 @@ async function resolveMerge(store, target, branches, options, useBaseSources, in
7486
7503
  );
7487
7504
  } catch (error) {
7488
7505
  if (error instanceof MergeError) {
7489
- return chunkGYEG3ZLZ_cjs.err(error);
7506
+ return chunkRJMHU2MG_cjs.err(error);
7490
7507
  }
7491
- return chunkGYEG3ZLZ_cjs.err(
7508
+ return chunkRJMHU2MG_cjs.err(
7492
7509
  new MergeError(
7493
7510
  `Merge failed while staging or committing: ${describeCause(error)}`,
7494
7511
  { cause: error }
@@ -7499,14 +7516,14 @@ async function resolveMerge(store, target, branches, options, useBaseSources, in
7499
7516
  async function commitResolvedMerge(resolved) {
7500
7517
  const { target, plan, options } = resolved;
7501
7518
  const provenanceStore = options.persistProvenance ? await tryOpenProvenanceStore(target) : void 0;
7502
- if (provenanceStore !== void 0 && chunkGYEG3ZLZ_cjs.isErr(provenanceStore)) {
7519
+ if (provenanceStore !== void 0 && chunkRJMHU2MG_cjs.isErr(provenanceStore)) {
7503
7520
  throw provenanceStore.error;
7504
7521
  }
7505
7522
  const merged = resolved.incrementalGuard === void 0 ? await commitPlan(target, plan, resolved.expectedBaseVersion) : await commitIncrementalPlan(target, plan, resolved.incrementalGuard);
7506
7523
  const provenance = options.provenance ? buildProvenanceIndex(plan.provenanceRecords) : { byBranch: () => ({ nodeIds: [], edgeIds: [] }) };
7507
7524
  const warnings = [...plan.warnings];
7508
7525
  let provenancePersisted;
7509
- if (provenanceStore !== void 0 && !chunkGYEG3ZLZ_cjs.isErr(provenanceStore)) {
7526
+ if (provenanceStore !== void 0 && !chunkRJMHU2MG_cjs.isErr(provenanceStore)) {
7510
7527
  try {
7511
7528
  const count = await persistProvenanceRecords(
7512
7529
  provenanceStore.data,
@@ -7559,14 +7576,14 @@ function incrementalSchemaError() {
7559
7576
  async function planMerge(store, branchInputs, optionsInput = {}) {
7560
7577
  const branches = unwrapMergeBranches(branchInputs);
7561
7578
  const normalized = tryNormalize(optionsInput);
7562
- if (chunkGYEG3ZLZ_cjs.isErr(normalized)) return chunkGYEG3ZLZ_cjs.err(normalized.error);
7579
+ if (chunkRJMHU2MG_cjs.isErr(normalized)) return chunkRJMHU2MG_cjs.err(normalized.error);
7563
7580
  const options = normalized.data;
7564
7581
  const target = options.target ?? store;
7565
7582
  let targetFence;
7566
7583
  try {
7567
7584
  targetFence = await captureMergePlanTargetFence(target);
7568
7585
  } catch (error) {
7569
- return chunkGYEG3ZLZ_cjs.err(
7586
+ return chunkRJMHU2MG_cjs.err(
7570
7587
  error instanceof MergeError ? error : new MergePlanCapabilityError(
7571
7588
  `Unable to capture the target's durable plan fence: ${describeCause(error)}`,
7572
7589
  { cause: error }
@@ -7574,11 +7591,11 @@ async function planMerge(store, branchInputs, optionsInput = {}) {
7574
7591
  );
7575
7592
  }
7576
7593
  const precondition = await validateBaseVersions(target, branches);
7577
- if (chunkGYEG3ZLZ_cjs.isErr(precondition)) return chunkGYEG3ZLZ_cjs.err(precondition.error);
7594
+ if (chunkRJMHU2MG_cjs.isErr(precondition)) return chunkRJMHU2MG_cjs.err(precondition.error);
7578
7595
  const anchors = {
7579
7596
  kind: "snapshot",
7580
7597
  base: { graphId: store.graphId, baseVersion: precondition.data },
7581
- branches: [...branches].sort((left, right) => chunkEZEEWCFJ_cjs.compareStrings(left.id, right.id)).map((branch2) => ({
7598
+ branches: [...branches].sort((left, right) => chunkRWUWTJQY_cjs.compareStrings(left.id, right.id)).map((branch2) => ({
7582
7599
  branchId: branch2.id,
7583
7600
  baseVersion: branch2.base
7584
7601
  }))
@@ -7601,16 +7618,16 @@ async function planMergeIncremental(args) {
7601
7618
  const { forkPoint, target } = args;
7602
7619
  const branches = unwrapMergeBranches(args.branches);
7603
7620
  const normalized = tryNormalize(args.options ?? {}, ["target"]);
7604
- if (chunkGYEG3ZLZ_cjs.isErr(normalized)) return chunkGYEG3ZLZ_cjs.err(normalized.error);
7621
+ if (chunkRJMHU2MG_cjs.isErr(normalized)) return chunkRJMHU2MG_cjs.err(normalized.error);
7605
7622
  const options = normalized.data;
7606
7623
  if (options.onBasePropertyConflict !== "flag") {
7607
- return chunkGYEG3ZLZ_cjs.err(incrementalBaseConflictPolicyError(options));
7624
+ return chunkRJMHU2MG_cjs.err(incrementalBaseConflictPolicyError(options));
7608
7625
  }
7609
7626
  let targetFence;
7610
7627
  try {
7611
7628
  targetFence = await captureMergePlanTargetFence(target);
7612
7629
  } catch (error) {
7613
- return chunkGYEG3ZLZ_cjs.err(
7630
+ return chunkRJMHU2MG_cjs.err(
7614
7631
  error instanceof MergeError ? error : new MergePlanCapabilityError(
7615
7632
  `Unable to capture the target's durable plan fence: ${describeCause(error)}`,
7616
7633
  { cause: error }
@@ -7618,14 +7635,14 @@ async function planMergeIncremental(args) {
7618
7635
  );
7619
7636
  }
7620
7637
  const forkPrecondition = await validateForkPointVersions(forkPoint, branches);
7621
- if (chunkGYEG3ZLZ_cjs.isErr(forkPrecondition)) return chunkGYEG3ZLZ_cjs.err(forkPrecondition.error);
7638
+ if (chunkRJMHU2MG_cjs.isErr(forkPrecondition)) return chunkRJMHU2MG_cjs.err(forkPrecondition.error);
7622
7639
  const forkVersion = forkPrecondition.data;
7623
7640
  const [forkSchema, targetSchema] = await Promise.all([
7624
7641
  computeSchemaComponent(forkPoint),
7625
7642
  computeSchemaComponent(target)
7626
7643
  ]);
7627
- if (forkSchema !== targetSchema) return chunkGYEG3ZLZ_cjs.err(incrementalSchemaError());
7628
- const forkActiveSchema = await chunk3KOY4FH3_cjs.storeBackend(forkPoint).getActiveSchema(
7644
+ if (forkSchema !== targetSchema) return chunkRJMHU2MG_cjs.err(incrementalSchemaError());
7645
+ const forkActiveSchema = await chunk2CVDZCXH_cjs.storeBackend(forkPoint).getActiveSchema(
7629
7646
  forkPoint.graphId
7630
7647
  );
7631
7648
  const targetBranch = {
@@ -7644,7 +7661,7 @@ async function planMergeIncremental(args) {
7644
7661
  hash: forkActiveSchema?.schema_hash ?? forkSchema
7645
7662
  }
7646
7663
  },
7647
- branches: [...branches].sort((left, right) => chunkEZEEWCFJ_cjs.compareStrings(left.id, right.id)).map((branch2) => ({
7664
+ branches: [...branches].sort((left, right) => chunkRWUWTJQY_cjs.compareStrings(left.id, right.id)).map((branch2) => ({
7648
7665
  branchId: branch2.id,
7649
7666
  baseVersion: branch2.base
7650
7667
  }))
@@ -7866,7 +7883,7 @@ async function preflightWireMergeWrites(target, nodesApi, edgesApi, artifact) {
7866
7883
  }
7867
7884
  for (const upsert of artifact.writes.edgeUpserts) {
7868
7885
  const registration = chunkN66HCGCY_cjs.requireDefined(graphEdges[upsert.kind]);
7869
- const endpointError = chunkFQPEMEWX_cjs.validateEdgeEndpoints(
7886
+ const endpointError = chunkCRZ56SZU_cjs.validateEdgeEndpoints(
7870
7887
  upsert.kind,
7871
7888
  upsert.from.kind,
7872
7889
  upsert.to.kind,
@@ -7969,7 +7986,7 @@ async function preflightWireMergeWrites(target, nodesApi, edgesApi, artifact) {
7969
7986
  }
7970
7987
  }
7971
7988
  async function assertMergePlanFenceInsideTransaction(target, txBackend, artifact) {
7972
- await chunkEZEEWCFJ_cjs.lockRecordedGraphWrite(txBackend, target.graphId);
7989
+ await chunkJQKMEKKW_cjs.lockRecordedGraphWrite(txBackend, target.graphId);
7973
7990
  const activeSchema = await txBackend.getActiveSchema(target.graphId);
7974
7991
  const liveSchema = {
7975
7992
  managed: activeSchema !== void 0,
@@ -7982,7 +7999,7 @@ async function assertMergePlanFenceInsideTransaction(target, txBackend, artifact
7982
7999
  { details: { expected: artifact.target.schema, live: liveSchema } }
7983
8000
  );
7984
8001
  }
7985
- const liveOrigin = await chunkEZEEWCFJ_cjs.readRevisionOrigin(
8002
+ const liveOrigin = await chunkJQKMEKKW_cjs.readRevisionOrigin(
7986
8003
  txBackend,
7987
8004
  target.revisionSchema,
7988
8005
  target.graphId
@@ -7998,7 +8015,7 @@ async function assertMergePlanFenceInsideTransaction(target, txBackend, artifact
7998
8015
  }
7999
8016
  );
8000
8017
  }
8001
- const liveRevision = await chunkEZEEWCFJ_cjs.readRecordedClock(
8018
+ const liveRevision = await chunkJQKMEKKW_cjs.readRecordedClock(
8002
8019
  txBackend,
8003
8020
  target.revisionSchema,
8004
8021
  target.graphId
@@ -8074,7 +8091,7 @@ async function applyWireMergeWrites(target, nodesApi, edgesApi, txBackend, artif
8074
8091
  txBackend,
8075
8092
  identityAssertions,
8076
8093
  identityRetractions,
8077
- () => chunk3KOY4FH3_cjs.storeRuntime(target).assertIdentityClassesConsistentAtTarget(
8094
+ () => chunk2CVDZCXH_cjs.storeRuntime(target).assertIdentityClassesConsistentAtTarget(
8078
8095
  txBackend,
8079
8096
  identityConsistencySeeds(
8080
8097
  artifact,
@@ -8082,8 +8099,8 @@ async function applyWireMergeWrites(target, nodesApi, edgesApi, txBackend, artif
8082
8099
  )
8083
8100
  )
8084
8101
  );
8085
- if (!chunkEZEEWCFJ_cjs.forceRecordedGraphRevision(txBackend, target.graphId) && !chunkJFRT7S3B_cjs.forceWriteTransactionRevision(txBackend)) {
8086
- await chunkEZEEWCFJ_cjs.advanceRevisionClock(
8102
+ if (!chunkJQKMEKKW_cjs.forceRecordedGraphRevision(txBackend, target.graphId) && !chunkJQKMEKKW_cjs.forceWriteTransactionRevision(txBackend)) {
8103
+ await chunkJQKMEKKW_cjs.advanceRevisionClock(
8087
8104
  txBackend,
8088
8105
  target.revisionSchema,
8089
8106
  target.graphId,
@@ -8123,7 +8140,7 @@ async function applyMergePlan(target, input) {
8123
8140
  try {
8124
8141
  validation = await validateMergePlanArtifact(input);
8125
8142
  } catch (error) {
8126
- return chunkGYEG3ZLZ_cjs.err(
8143
+ return chunkRJMHU2MG_cjs.err(
8127
8144
  new InvalidMergePlanError(
8128
8145
  `Merge plan validation failed: ${describeCause(error)}`,
8129
8146
  { cause: error }
@@ -8131,10 +8148,10 @@ async function applyMergePlan(target, input) {
8131
8148
  );
8132
8149
  }
8133
8150
  if (!validation.success)
8134
- return chunkGYEG3ZLZ_cjs.err(mergePlanValidationError(validation.error));
8151
+ return chunkRJMHU2MG_cjs.err(mergePlanValidationError(validation.error));
8135
8152
  const artifact = validation.artifact;
8136
8153
  if (artifact.target.graphId !== target.graphId) {
8137
- return chunkGYEG3ZLZ_cjs.err(
8154
+ return chunkRJMHU2MG_cjs.err(
8138
8155
  new MergePlanTargetMismatchError(
8139
8156
  "The merge plan names a different target graph.",
8140
8157
  {
@@ -8149,12 +8166,12 @@ async function applyMergePlan(target, input) {
8149
8166
  try {
8150
8167
  assertPublicPlanCapability(target);
8151
8168
  const provenanceStore = artifact.provenance.persist ? await tryOpenProvenanceStore(target) : void 0;
8152
- if (provenanceStore !== void 0 && chunkGYEG3ZLZ_cjs.isErr(provenanceStore)) {
8153
- return chunkGYEG3ZLZ_cjs.err(provenanceStore.error);
8169
+ if (provenanceStore !== void 0 && chunkRJMHU2MG_cjs.isErr(provenanceStore)) {
8170
+ return chunkRJMHU2MG_cjs.err(provenanceStore.error);
8154
8171
  }
8155
8172
  const merged = await withTxConflictRetry(
8156
8173
  () => target.transaction(async (tx) => {
8157
- const txBackend = chunk3KOY4FH3_cjs.transactionBackend(tx);
8174
+ const txBackend = chunk2CVDZCXH_cjs.transactionBackend(tx);
8158
8175
  await assertMergePlanFenceInsideTransaction(
8159
8176
  target,
8160
8177
  txBackend,
@@ -8181,7 +8198,7 @@ async function applyMergePlan(target, input) {
8181
8198
  );
8182
8199
  const warnings = [...artifact.review.warnings];
8183
8200
  let provenancePersisted;
8184
- if (provenanceStore !== void 0 && !chunkGYEG3ZLZ_cjs.isErr(provenanceStore)) {
8201
+ if (provenanceStore !== void 0 && !chunkRJMHU2MG_cjs.isErr(provenanceStore)) {
8185
8202
  try {
8186
8203
  const records = artifact.review.provenanceRecords;
8187
8204
  const count = await persistProvenanceRecords(
@@ -8199,12 +8216,12 @@ async function applyMergePlan(target, input) {
8199
8216
  );
8200
8217
  }
8201
8218
  }
8202
- return chunkGYEG3ZLZ_cjs.ok(
8219
+ return chunkRJMHU2MG_cjs.ok(
8203
8220
  reportFromArtifact(artifact, merged, warnings, provenancePersisted)
8204
8221
  );
8205
8222
  } catch (error) {
8206
8223
  const translated = translateMergeCommitError(error);
8207
- return chunkGYEG3ZLZ_cjs.err(
8224
+ return chunkRJMHU2MG_cjs.err(
8208
8225
  translated instanceof MergeError ? translated : new MergeError(
8209
8226
  `Merge plan apply failed: ${describeCause(translated)}`,
8210
8227
  {
@@ -8217,14 +8234,14 @@ async function applyMergePlan(target, input) {
8217
8234
  async function merge(store, branchInputs, optionsInput = {}) {
8218
8235
  const branches = unwrapMergeBranches(branchInputs);
8219
8236
  const normalized = tryNormalize(optionsInput);
8220
- if (chunkGYEG3ZLZ_cjs.isErr(normalized)) {
8221
- return chunkGYEG3ZLZ_cjs.err(normalized.error);
8237
+ if (chunkRJMHU2MG_cjs.isErr(normalized)) {
8238
+ return chunkRJMHU2MG_cjs.err(normalized.error);
8222
8239
  }
8223
8240
  const options = normalized.data;
8224
8241
  const target = options.target ?? store;
8225
8242
  const precondition = await validateBaseVersions(target, branches);
8226
- if (chunkGYEG3ZLZ_cjs.isErr(precondition)) {
8227
- return chunkGYEG3ZLZ_cjs.err(precondition.error);
8243
+ if (chunkRJMHU2MG_cjs.isErr(precondition)) {
8244
+ return chunkRJMHU2MG_cjs.err(precondition.error);
8228
8245
  }
8229
8246
  return resolveMerge(
8230
8247
  store,
@@ -8241,7 +8258,7 @@ async function validateForkPointVersions(forkPoint, branches) {
8241
8258
  const forkVersion = await computeBaseVersion(forkPoint);
8242
8259
  for (const branch2 of branches) {
8243
8260
  if (branch2.base !== forkVersion) {
8244
- return chunkGYEG3ZLZ_cjs.err(
8261
+ return chunkRJMHU2MG_cjs.err(
8245
8262
  new BaseVersionMismatchError(
8246
8263
  `Branch "${branch2.id}" forked from base@V "${branch2.base}", which does not match the fork-point's base@V "${forkVersion}". mergeIncremental() requires every branch to have forked from the supplied forkPoint.`,
8247
8264
  {
@@ -8255,7 +8272,7 @@ async function validateForkPointVersions(forkPoint, branches) {
8255
8272
  );
8256
8273
  }
8257
8274
  }
8258
- return chunkGYEG3ZLZ_cjs.ok(forkVersion);
8275
+ return chunkRJMHU2MG_cjs.ok(forkVersion);
8259
8276
  }
8260
8277
  function nodeSchemaFor(target, kind) {
8261
8278
  const registry = target.graph.nodes;
@@ -8410,7 +8427,7 @@ async function validateIncrementalEdgeWrites(target, edgesApi, plan) {
8410
8427
  }
8411
8428
  }
8412
8429
  }
8413
- const notFound = [...plannedKindById.keys()].filter((id) => !existingById.has(id)).sort((left, right) => chunkEZEEWCFJ_cjs.compareStrings(left, right));
8430
+ const notFound = [...plannedKindById.keys()].filter((id) => !existingById.has(id)).sort((left, right) => chunkRWUWTJQY_cjs.compareStrings(left, right));
8414
8431
  if (notFound.length > 0) {
8415
8432
  const crossKindById = /* @__PURE__ */ new Map();
8416
8433
  for (const kind of Object.keys(target.graph.edges)) {
@@ -8647,7 +8664,7 @@ async function assertForkPointUnchanged(precondition) {
8647
8664
  );
8648
8665
  }
8649
8666
  async function commitIncrementalPlan(target, plan, guard) {
8650
- if (!chunk3KOY4FH3_cjs.storeBackend(target).capabilities.transactions) {
8667
+ if (!chunk2CVDZCXH_cjs.storeBackend(target).capabilities.transactions) {
8651
8668
  throw new MergeError(
8652
8669
  "mergeIncremental() requires a transaction-capable target backend. Incremental writes must preflight existing rows and commit atomically; non-transactional fallback would allow partial graph writes.",
8653
8670
  { details: { capability: "transactions" } }
@@ -8657,7 +8674,7 @@ async function commitIncrementalPlan(target, plan, guard) {
8657
8674
  () => withTxConflictRetry(
8658
8675
  () => target.transaction(async (tx) => {
8659
8676
  if (target.revisionTrackingEnabled) {
8660
- await chunkEZEEWCFJ_cjs.lockRecordedGraphWrite(chunk3KOY4FH3_cjs.transactionBackend(tx), target.graphId);
8677
+ await chunkJQKMEKKW_cjs.lockRecordedGraphWrite(chunk2CVDZCXH_cjs.transactionBackend(tx), target.graphId);
8661
8678
  }
8662
8679
  await assertForkPointUnchanged(guard.forkPoint);
8663
8680
  const nodesApi = tx.nodes;
@@ -8668,12 +8685,12 @@ async function commitIncrementalPlan(target, plan, guard) {
8668
8685
  );
8669
8686
  await assertPlannedIdentityIdsFresh(
8670
8687
  target,
8671
- chunk3KOY4FH3_cjs.transactionBackend(tx),
8688
+ chunk2CVDZCXH_cjs.transactionBackend(tx),
8672
8689
  plan
8673
8690
  );
8674
8691
  await assertIdentityPeersStable(
8675
8692
  target,
8676
- chunk3KOY4FH3_cjs.transactionBackend(tx),
8693
+ chunk2CVDZCXH_cjs.transactionBackend(tx),
8677
8694
  guard.identityPeerProbe,
8678
8695
  plan
8679
8696
  );
@@ -8685,7 +8702,7 @@ async function commitIncrementalPlan(target, plan, guard) {
8685
8702
  nodesApi,
8686
8703
  edgesApi,
8687
8704
  target,
8688
- chunk3KOY4FH3_cjs.transactionBackend(tx)
8705
+ chunk2CVDZCXH_cjs.transactionBackend(tx)
8689
8706
  );
8690
8707
  }, mergeCommitTransactionOptions(target))
8691
8708
  )
@@ -8695,16 +8712,16 @@ async function mergeIncremental(args) {
8695
8712
  const { forkPoint, target } = args;
8696
8713
  const branches = unwrapMergeBranches(args.branches);
8697
8714
  const normalized = tryNormalize(args.options ?? {}, ["target"]);
8698
- if (chunkGYEG3ZLZ_cjs.isErr(normalized)) {
8699
- return chunkGYEG3ZLZ_cjs.err(normalized.error);
8715
+ if (chunkRJMHU2MG_cjs.isErr(normalized)) {
8716
+ return chunkRJMHU2MG_cjs.err(normalized.error);
8700
8717
  }
8701
8718
  const options = normalized.data;
8702
8719
  if (options.onBasePropertyConflict !== "flag") {
8703
- return chunkGYEG3ZLZ_cjs.err(incrementalBaseConflictPolicyError(options));
8720
+ return chunkRJMHU2MG_cjs.err(incrementalBaseConflictPolicyError(options));
8704
8721
  }
8705
8722
  const forkPrecondition = await validateForkPointVersions(forkPoint, branches);
8706
- if (chunkGYEG3ZLZ_cjs.isErr(forkPrecondition)) {
8707
- return chunkGYEG3ZLZ_cjs.err(forkPrecondition.error);
8723
+ if (chunkRJMHU2MG_cjs.isErr(forkPrecondition)) {
8724
+ return chunkRJMHU2MG_cjs.err(forkPrecondition.error);
8708
8725
  }
8709
8726
  const forkVersion = forkPrecondition.data;
8710
8727
  const [forkSchema, targetSchema] = await Promise.all([
@@ -8712,7 +8729,7 @@ async function mergeIncremental(args) {
8712
8729
  computeSchemaComponent(target)
8713
8730
  ]);
8714
8731
  if (forkSchema !== targetSchema) {
8715
- return chunkGYEG3ZLZ_cjs.err(incrementalSchemaError());
8732
+ return chunkRJMHU2MG_cjs.err(incrementalSchemaError());
8716
8733
  }
8717
8734
  const targetBranch = {
8718
8735
  id: COMMITTED_TARGET_BRANCH,
@@ -8739,15 +8756,15 @@ async function mergeIncremental(args) {
8739
8756
 
8740
8757
  Object.defineProperty(exports, "isErr", {
8741
8758
  enumerable: true,
8742
- get: function () { return chunkGYEG3ZLZ_cjs.isErr; }
8759
+ get: function () { return chunkRJMHU2MG_cjs.isErr; }
8743
8760
  });
8744
8761
  Object.defineProperty(exports, "isOk", {
8745
8762
  enumerable: true,
8746
- get: function () { return chunkGYEG3ZLZ_cjs.isOk; }
8763
+ get: function () { return chunkRJMHU2MG_cjs.isOk; }
8747
8764
  });
8748
8765
  Object.defineProperty(exports, "unwrap", {
8749
8766
  enumerable: true,
8750
- get: function () { return chunkGYEG3ZLZ_cjs.unwrap; }
8767
+ get: function () { return chunkRJMHU2MG_cjs.unwrap; }
8751
8768
  });
8752
8769
  exports.BaseVersionMismatchError = BaseVersionMismatchError;
8753
8770
  exports.BranchError = BranchError;