@nicia-ai/typegraph 0.50.0 → 0.51.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (326) hide show
  1. package/README.md +12 -0
  2. package/dist/backend/drizzle/indexes.cjs +10 -8
  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 +6 -4
  6. package/dist/backend/index.cjs +183 -50
  7. package/dist/backend/index.d.cts +90 -4
  8. package/dist/backend/index.d.ts +90 -4
  9. package/dist/backend/index.js +6 -9
  10. package/dist/backend/postgres/index.cjs +30 -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 +16 -14
  14. package/dist/backend/postgres/pglite-store.cjs +6 -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 +6 -62
  19. package/dist/backend/postgres/pglite-store.js.map +1 -1
  20. package/dist/backend/postgres/pglite.cjs +18 -16
  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 +17 -15
  24. package/dist/backend/sqlite/index.cjs +27 -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 +14 -12
  28. package/dist/backend/sqlite/libsql.cjs +21 -19
  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 +16 -14
  33. package/dist/backend/sqlite/libsql.js.map +1 -1
  34. package/dist/backend/sqlite/local-store.cjs +8 -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 +7 -64
  39. package/dist/backend/sqlite/local-store.js.map +1 -1
  40. package/dist/backend/sqlite/local.cjs +22 -19
  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 +18 -15
  44. package/dist/{chunk-TUVD4DFR.cjs → chunk-2CVDZCXH.cjs} +122 -51
  45. package/dist/chunk-2CVDZCXH.cjs.map +1 -0
  46. package/dist/{chunk-I5C6OTKR.js → chunk-2DWTBNSH.js} +3 -3
  47. package/dist/{chunk-I5C6OTKR.js.map → chunk-2DWTBNSH.js.map} +1 -1
  48. package/dist/{chunk-C76WFIVZ.cjs → chunk-2KCTP3U2.cjs} +180 -127
  49. package/dist/chunk-2KCTP3U2.cjs.map +1 -0
  50. package/dist/{chunk-BYBDM423.cjs → chunk-322TBTOQ.cjs} +48 -48
  51. package/dist/{chunk-BYBDM423.cjs.map → chunk-322TBTOQ.cjs.map} +1 -1
  52. package/dist/chunk-36SX6QXP.cjs +186 -0
  53. package/dist/chunk-36SX6QXP.cjs.map +1 -0
  54. package/dist/{chunk-H3XP6BAV.js → chunk-36VYWVQU.js} +3 -3
  55. package/dist/{chunk-H3XP6BAV.js.map → chunk-36VYWVQU.js.map} +1 -1
  56. package/dist/{chunk-VTJVMP4I.js → chunk-4DKY6RIU.js} +102 -31
  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-U3Z7XKAG.js → chunk-57JM6NW3.js} +8 -18
  61. package/dist/chunk-57JM6NW3.js.map +1 -0
  62. package/dist/{chunk-WCLMKNQE.cjs → chunk-5FVZSE3B.cjs} +1356 -1108
  63. package/dist/chunk-5FVZSE3B.cjs.map +1 -0
  64. package/dist/{chunk-XMY2SXOH.cjs → chunk-5WWEYV4H.cjs} +2208 -579
  65. package/dist/chunk-5WWEYV4H.cjs.map +1 -0
  66. package/dist/{chunk-WQBAQZHR.js → chunk-6NLYIMJO.js} +4 -4
  67. package/dist/{chunk-WQBAQZHR.js.map → chunk-6NLYIMJO.js.map} +1 -1
  68. package/dist/{chunk-G2TLHH6T.cjs → chunk-7B7I7YAW.cjs} +6 -6
  69. package/dist/{chunk-G2TLHH6T.cjs.map → chunk-7B7I7YAW.cjs.map} +1 -1
  70. package/dist/{chunk-EDLKIQRI.js → chunk-7G5IYROL.js} +6 -548
  71. package/dist/chunk-7G5IYROL.js.map +1 -0
  72. package/dist/{chunk-46UGOVRW.js → chunk-7QFRK6PU.js} +3 -7
  73. package/dist/chunk-7QFRK6PU.js.map +1 -0
  74. package/dist/chunk-A4C4NJ5U.cjs +12 -0
  75. package/dist/chunk-A4C4NJ5U.cjs.map +1 -0
  76. package/dist/{chunk-7CCMCMJO.cjs → chunk-AOGOC6JF.cjs} +77 -68
  77. package/dist/chunk-AOGOC6JF.cjs.map +1 -0
  78. package/dist/{chunk-TYGGUWMS.cjs → chunk-B3MN7EJR.cjs} +177 -137
  79. package/dist/chunk-B3MN7EJR.cjs.map +1 -0
  80. package/dist/{chunk-K6VKTBST.cjs → chunk-BZ5MVITP.cjs} +4 -4
  81. package/dist/{chunk-K6VKTBST.cjs.map → chunk-BZ5MVITP.cjs.map} +1 -1
  82. package/dist/{chunk-ZAQUKCUC.js → chunk-CBOD7TXH.js} +5 -5
  83. package/dist/{chunk-ZAQUKCUC.js.map → chunk-CBOD7TXH.js.map} +1 -1
  84. package/dist/{chunk-LLVOQOWE.cjs → chunk-CRZ56SZU.cjs} +6 -5
  85. package/dist/chunk-CRZ56SZU.cjs.map +1 -0
  86. package/dist/{chunk-ON47CBE4.cjs → chunk-D3GWARN7.cjs} +47 -47
  87. package/dist/{chunk-ON47CBE4.cjs.map → chunk-D3GWARN7.cjs.map} +1 -1
  88. package/dist/{chunk-W5SOCUBL.js → chunk-D3OUDFU7.js} +5 -5
  89. package/dist/{chunk-W5SOCUBL.js.map → chunk-D3OUDFU7.js.map} +1 -1
  90. package/dist/chunk-EKG2UXNX.cjs +23 -0
  91. package/dist/chunk-EKG2UXNX.cjs.map +1 -0
  92. package/dist/{chunk-2Q45FAIE.js → chunk-EVYW3532.js} +28 -19
  93. package/dist/chunk-EVYW3532.js.map +1 -0
  94. package/dist/{chunk-7PRMDZIA.cjs → chunk-FMMW3KX7.cjs} +21 -55
  95. package/dist/chunk-FMMW3KX7.cjs.map +1 -0
  96. package/dist/chunk-H2VWDQWC.cjs +571 -0
  97. package/dist/chunk-H2VWDQWC.cjs.map +1 -0
  98. package/dist/chunk-H4FY6OZK.js +13 -0
  99. package/dist/chunk-H4FY6OZK.js.map +1 -0
  100. package/dist/{chunk-OJHD3LXJ.cjs → chunk-H5IJSROF.cjs} +2 -8
  101. package/dist/chunk-H5IJSROF.cjs.map +1 -0
  102. package/dist/{chunk-U5EL6JUV.js → chunk-I5IOSA27.js} +101 -103
  103. package/dist/chunk-I5IOSA27.js.map +1 -0
  104. package/dist/{chunk-SHC7BCG5.cjs → chunk-I7YAY2VQ.cjs} +7 -7
  105. package/dist/{chunk-SHC7BCG5.cjs.map → chunk-I7YAY2VQ.cjs.map} +1 -1
  106. package/dist/chunk-IRCWIA3R.js +20 -0
  107. package/dist/chunk-IRCWIA3R.js.map +1 -0
  108. package/dist/chunk-IVQBLXBK.cjs +55 -0
  109. package/dist/chunk-IVQBLXBK.cjs.map +1 -0
  110. package/dist/{chunk-5PP4KRPV.js → chunk-IZD4HTCP.js} +5 -5
  111. package/dist/{chunk-5PP4KRPV.js.map → chunk-IZD4HTCP.js.map} +1 -1
  112. package/dist/{chunk-RDP6ZRSM.cjs → chunk-JQKMEKKW.cjs} +261 -204
  113. package/dist/chunk-JQKMEKKW.cjs.map +1 -0
  114. package/dist/chunk-JVA3KDEA.cjs +691 -0
  115. package/dist/chunk-JVA3KDEA.cjs.map +1 -0
  116. package/dist/{chunk-JG5XIJDY.js → chunk-K67P5DLL.js} +62 -22
  117. package/dist/chunk-K67P5DLL.js.map +1 -0
  118. package/dist/{chunk-MX7EKQPM.js → chunk-K6OZIHKI.js} +345 -97
  119. package/dist/chunk-K6OZIHKI.js.map +1 -0
  120. package/dist/{chunk-CS6JTQQ2.cjs → chunk-KACEYDYV.cjs} +94 -62
  121. package/dist/chunk-KACEYDYV.cjs.map +1 -0
  122. package/dist/{chunk-5OWHU7Z7.cjs → chunk-L6EVYIID.cjs} +248 -210
  123. package/dist/chunk-L6EVYIID.cjs.map +1 -0
  124. package/dist/{chunk-7OWE7WD6.js → chunk-LI4K2KEJ.js} +4 -4
  125. package/dist/{chunk-7OWE7WD6.js.map → chunk-LI4K2KEJ.js.map} +1 -1
  126. package/dist/chunk-LKZDQ2B4.js +1581 -0
  127. package/dist/chunk-LKZDQ2B4.js.map +1 -0
  128. package/dist/{chunk-45YZXI6X.cjs → chunk-LLFPQOBA.cjs} +27 -27
  129. package/dist/{chunk-45YZXI6X.cjs.map → chunk-LLFPQOBA.cjs.map} +1 -1
  130. package/dist/{chunk-ZRJTM7MT.js → chunk-LZMQ3SFK.js} +3 -3
  131. package/dist/{chunk-ZRJTM7MT.js.map → chunk-LZMQ3SFK.js.map} +1 -1
  132. package/dist/{chunk-DI6VC62F.js → chunk-M3VTS3F6.js} +3 -3
  133. package/dist/{chunk-DI6VC62F.js.map → chunk-M3VTS3F6.js.map} +1 -1
  134. package/dist/{chunk-MZ34E2GN.js → chunk-NBOS7BY3.js} +60 -21
  135. package/dist/chunk-NBOS7BY3.js.map +1 -0
  136. package/dist/{chunk-YA36ABIL.js → chunk-NGQDGL5X.js} +14 -48
  137. package/dist/chunk-NGQDGL5X.js.map +1 -0
  138. package/dist/{chunk-ZBFZGLZE.cjs → chunk-NLX5OWK7.cjs} +6 -2
  139. package/dist/chunk-NLX5OWK7.cjs.map +1 -0
  140. package/dist/chunk-NUQ2YFFH.cjs +1637 -0
  141. package/dist/chunk-NUQ2YFFH.cjs.map +1 -0
  142. package/dist/{chunk-TTCOPKUL.cjs → chunk-OGL4X4PH.cjs} +182 -184
  143. package/dist/chunk-OGL4X4PH.cjs.map +1 -0
  144. package/dist/{chunk-HY5BNOUN.cjs → chunk-OTNTGEXR.cjs} +4 -4
  145. package/dist/{chunk-HY5BNOUN.cjs.map → chunk-OTNTGEXR.cjs.map} +1 -1
  146. package/dist/chunk-OTWE63BW.js +53 -0
  147. package/dist/chunk-OTWE63BW.js.map +1 -0
  148. package/dist/chunk-PC5NGH5A.js +549 -0
  149. package/dist/chunk-PC5NGH5A.js.map +1 -0
  150. package/dist/{chunk-IPRP6TDL.cjs → chunk-PS3TUWJM.cjs} +7 -7
  151. package/dist/{chunk-IPRP6TDL.cjs.map → chunk-PS3TUWJM.cjs.map} +1 -1
  152. package/dist/{chunk-V76FGHY3.js → chunk-PVFFH7TL.js} +5 -5
  153. package/dist/{chunk-V76FGHY3.js.map → chunk-PVFFH7TL.js.map} +1 -1
  154. package/dist/chunk-QCD5JKU4.cjs +15 -0
  155. package/dist/chunk-QCD5JKU4.cjs.map +1 -0
  156. package/dist/{chunk-IRPYOHRC.js → chunk-QG5VEOKX.js} +6 -2
  157. package/dist/chunk-QG5VEOKX.js.map +1 -0
  158. package/dist/{chunk-2CYI5HRH.js → chunk-RI7RJH4G.js} +49 -17
  159. package/dist/chunk-RI7RJH4G.js.map +1 -0
  160. package/dist/{chunk-5LKOVCPP.js → chunk-RVUL2HXY.js} +6 -5
  161. package/dist/chunk-RVUL2HXY.js.map +1 -0
  162. package/dist/{chunk-WK23PGTP.cjs → chunk-S5GU4LUN.cjs} +11 -11
  163. package/dist/{chunk-WK23PGTP.cjs.map → chunk-S5GU4LUN.cjs.map} +1 -1
  164. package/dist/{chunk-S33YQEL7.js → chunk-SDPWO2Z5.js} +6 -6
  165. package/dist/{chunk-S33YQEL7.js.map → chunk-SDPWO2Z5.js.map} +1 -1
  166. package/dist/{chunk-6S3PTHL4.js → chunk-SLGGT2XD.js} +3 -3
  167. package/dist/{chunk-6S3PTHL4.js.map → chunk-SLGGT2XD.js.map} +1 -1
  168. package/dist/{chunk-HSEZ7X6Y.cjs → chunk-TIJUA4I6.cjs} +45 -45
  169. package/dist/{chunk-HSEZ7X6Y.cjs.map → chunk-TIJUA4I6.cjs.map} +1 -1
  170. package/dist/{chunk-CSNOYIB4.cjs → chunk-TM54OBHX.cjs} +13 -13
  171. package/dist/{chunk-CSNOYIB4.cjs.map → chunk-TM54OBHX.cjs.map} +1 -1
  172. package/dist/{chunk-MM3JHVKZ.cjs → chunk-TUWSVL6I.cjs} +4 -4
  173. package/dist/{chunk-MM3JHVKZ.cjs.map → chunk-TUWSVL6I.cjs.map} +1 -1
  174. package/dist/{chunk-2GIV5X4P.js → chunk-TYEYRCXL.js} +86 -33
  175. package/dist/chunk-TYEYRCXL.js.map +1 -0
  176. package/dist/{chunk-MJPZNEJZ.js → chunk-UKOVGCRN.js} +2095 -496
  177. package/dist/chunk-UKOVGCRN.js.map +1 -0
  178. package/dist/chunk-UYKDYE5D.cjs +12 -0
  179. package/dist/{chunk-KWNWG4RC.cjs.map → chunk-UYKDYE5D.cjs.map} +1 -1
  180. package/dist/{chunk-FX5ZW6PN.js → chunk-VAAC7L57.js} +95 -40
  181. package/dist/chunk-VAAC7L57.js.map +1 -0
  182. package/dist/{chunk-ISKCIQF2.cjs → chunk-VKHXYVN7.cjs} +14 -25
  183. package/dist/chunk-VKHXYVN7.cjs.map +1 -0
  184. package/dist/chunk-VUQZNUHU.js +171 -0
  185. package/dist/chunk-VUQZNUHU.js.map +1 -0
  186. package/dist/{chunk-K2XYLVVB.cjs → chunk-WDM5WQK4.cjs} +175 -136
  187. package/dist/chunk-WDM5WQK4.cjs.map +1 -0
  188. package/dist/{chunk-GVYVGGPJ.js → chunk-WFSYYU4W.js} +66 -28
  189. package/dist/chunk-WFSYYU4W.js.map +1 -0
  190. package/dist/{chunk-R7MRFE5P.js → chunk-WS5MT2UJ.js} +3 -3
  191. package/dist/{chunk-R7MRFE5P.js.map → chunk-WS5MT2UJ.js.map} +1 -1
  192. package/dist/chunk-XORONCV3.js +202 -0
  193. package/dist/chunk-XORONCV3.js.map +1 -0
  194. package/dist/chunk-ZGVTNKTX.cjs +217 -0
  195. package/dist/chunk-ZGVTNKTX.cjs.map +1 -0
  196. package/dist/core/index.cjs +20 -20
  197. package/dist/core/index.d.cts +4 -4
  198. package/dist/core/index.d.ts +4 -4
  199. package/dist/core/index.js +4 -4
  200. package/dist/{ddl-B49O7dB_.d.ts → ddl-BvcbgzHo.d.ts} +3 -3
  201. package/dist/{ddl-DcZG660s.d.cts → ddl-Ufebz5q5.d.cts} +3 -3
  202. package/dist/graph-extension/index.d.cts +2 -4
  203. package/dist/graph-extension/index.d.ts +2 -4
  204. package/dist/graph-merge/index.cjs +140 -125
  205. package/dist/graph-merge/index.cjs.map +1 -1
  206. package/dist/graph-merge/index.d.cts +8 -9
  207. package/dist/graph-merge/index.d.ts +8 -9
  208. package/dist/graph-merge/index.js +42 -27
  209. package/dist/graph-merge/index.js.map +1 -1
  210. package/dist/index.cjs +144 -143
  211. package/dist/index.cjs.map +1 -1
  212. package/dist/index.d.cts +11 -12
  213. package/dist/index.d.ts +11 -12
  214. package/dist/index.js +30 -29
  215. package/dist/index.js.map +1 -1
  216. package/dist/indexes/index.cjs +14 -12
  217. package/dist/indexes/index.d.cts +4 -4
  218. package/dist/indexes/index.d.ts +4 -4
  219. package/dist/indexes/index.js +7 -5
  220. package/dist/{ingestion-import-target-CI8OWIkM.d.ts → ingestion-import-target-CAs1OX-l.d.cts} +1 -1
  221. package/dist/{ingestion-import-target-DCpfM1PX.d.cts → ingestion-import-target-DCQSPfNx.d.ts} +1 -1
  222. package/dist/interchange/index.cjs +41 -39
  223. package/dist/interchange/index.cjs.map +1 -1
  224. package/dist/interchange/index.d.cts +8 -8
  225. package/dist/interchange/index.d.ts +8 -8
  226. package/dist/interchange/index.js +16 -14
  227. package/dist/interchange/index.js.map +1 -1
  228. package/dist/local-store-impl-JC7OBRAW.js +75 -0
  229. package/dist/local-store-impl-JC7OBRAW.js.map +1 -0
  230. package/dist/local-store-impl-UOS2LUIG.cjs +77 -0
  231. package/dist/local-store-impl-UOS2LUIG.cjs.map +1 -0
  232. package/dist/{manager-Cfg1ENj1.d.ts → manager-B68OrPR2.d.ts} +1 -2
  233. package/dist/{manager-D348fa6W.d.cts → manager-D_t7oK69.d.cts} +1 -2
  234. package/dist/pglite-store-impl-J5J5AA52.cjs +75 -0
  235. package/dist/pglite-store-impl-J5J5AA52.cjs.map +1 -0
  236. package/dist/pglite-store-impl-LDRH2DUH.js +73 -0
  237. package/dist/pglite-store-impl-LDRH2DUH.js.map +1 -0
  238. package/dist/{postgres-UStOycLI.d.ts → postgres-BPLSVyHM.d.ts} +1 -1
  239. package/dist/{postgres-CH1kkM5J.d.cts → postgres-CqvtFC2y.d.cts} +1 -1
  240. package/dist/profiler/index.d.cts +9 -9
  241. package/dist/profiler/index.d.ts +9 -9
  242. package/dist/provenance/index.cjs +33 -20
  243. package/dist/provenance/index.cjs.map +1 -1
  244. package/dist/provenance/index.d.cts +7 -7
  245. package/dist/provenance/index.d.ts +7 -7
  246. package/dist/provenance/index.js +24 -11
  247. package/dist/provenance/index.js.map +1 -1
  248. package/dist/{repair-validity-windows-aWX7VNvv.d.cts → repair-validity-windows-DEzCKAdy.d.cts} +7 -3
  249. package/dist/{repair-validity-windows-BtOEe2pS.d.ts → repair-validity-windows-GMdaS2AH.d.ts} +7 -3
  250. package/dist/resolve-D_H8MHtq.d.ts +1805 -0
  251. package/dist/resolve-WEW8gWws.d.cts +1805 -0
  252. package/dist/schema/index.cjs +42 -40
  253. package/dist/schema/index.d.cts +4 -6
  254. package/dist/schema/index.d.ts +4 -6
  255. package/dist/schema/index.js +15 -13
  256. package/dist/{searchable-z4BiFfHI.d.ts → searchable-C_UREI9K.d.ts} +1 -1
  257. package/dist/{searchable-C8-RrL3l.d.cts → searchable-ClgET_i7.d.cts} +1 -1
  258. package/dist/{sqlite-axLw5Lo5.d.ts → sqlite-D1mXO9Kp.d.cts} +2 -1
  259. package/dist/{sqlite-Cyx9j9o6.d.cts → sqlite-MZA3oZNB.d.ts} +2 -1
  260. package/dist/{store-CTfQ9taw.d.ts → store-CuFX7fCx.d.cts} +38 -41
  261. package/dist/{store-DR9J7JVB.d.cts → store-D-ZjXQpW.d.ts} +38 -41
  262. package/dist/{temporal-CBOrERz5.d.ts → temporal-CpyEiRY8.d.cts} +1 -1
  263. package/dist/{temporal-B4Ky4wzh.d.cts → temporal-y0Aep9Su.d.ts} +1 -1
  264. package/dist/{types-CWg4dTjj.d.ts → types-6yf0Vv-_.d.cts} +1672 -1
  265. package/dist/{types-CWg4dTjj.d.cts → types-6yf0Vv-_.d.ts} +1672 -1
  266. package/dist/{types-BScHXVM7.d.ts → types-DzJ4dlzk.d.cts} +1 -1
  267. package/dist/{types-BE921wRl.d.cts → types-_vVSB9k-.d.ts} +1 -1
  268. package/dist/{where-BWXUPV3C.d.ts → where-DuG2LCLe.d.ts} +1 -1
  269. package/dist/{where-CNtx1aLc.d.cts → where-Mhf_yyKX.d.cts} +1 -1
  270. package/package.json +5 -1
  271. package/dist/chunk-2CYI5HRH.js.map +0 -1
  272. package/dist/chunk-2GIV5X4P.js.map +0 -1
  273. package/dist/chunk-2Q45FAIE.js.map +0 -1
  274. package/dist/chunk-46UGOVRW.js.map +0 -1
  275. package/dist/chunk-5LKOVCPP.js.map +0 -1
  276. package/dist/chunk-5OWHU7Z7.cjs.map +0 -1
  277. package/dist/chunk-6LEOAIIB.js +0 -1160
  278. package/dist/chunk-6LEOAIIB.js.map +0 -1
  279. package/dist/chunk-7CCMCMJO.cjs.map +0 -1
  280. package/dist/chunk-7PRMDZIA.cjs.map +0 -1
  281. package/dist/chunk-C76WFIVZ.cjs.map +0 -1
  282. package/dist/chunk-CS6JTQQ2.cjs.map +0 -1
  283. package/dist/chunk-EDLKIQRI.js.map +0 -1
  284. package/dist/chunk-EH3JZJUM.cjs +0 -567
  285. package/dist/chunk-EH3JZJUM.cjs.map +0 -1
  286. package/dist/chunk-FX5ZW6PN.js.map +0 -1
  287. package/dist/chunk-GHZPZNFC.cjs +0 -132
  288. package/dist/chunk-GHZPZNFC.cjs.map +0 -1
  289. package/dist/chunk-GVYVGGPJ.js.map +0 -1
  290. package/dist/chunk-IHK5KA2Q.cjs +0 -262
  291. package/dist/chunk-IHK5KA2Q.cjs.map +0 -1
  292. package/dist/chunk-IRPYOHRC.js.map +0 -1
  293. package/dist/chunk-ISKCIQF2.cjs.map +0 -1
  294. package/dist/chunk-JG5XIJDY.js.map +0 -1
  295. package/dist/chunk-K2XYLVVB.cjs.map +0 -1
  296. package/dist/chunk-KWNWG4RC.cjs +0 -12
  297. package/dist/chunk-LLVOQOWE.cjs.map +0 -1
  298. package/dist/chunk-MJPZNEJZ.js.map +0 -1
  299. package/dist/chunk-MX7EKQPM.js.map +0 -1
  300. package/dist/chunk-MZ34E2GN.js.map +0 -1
  301. package/dist/chunk-OJHD3LXJ.cjs.map +0 -1
  302. package/dist/chunk-PALYTHGM.js +0 -114
  303. package/dist/chunk-PALYTHGM.js.map +0 -1
  304. package/dist/chunk-RDP6ZRSM.cjs.map +0 -1
  305. package/dist/chunk-S3SDEQMC.js +0 -532
  306. package/dist/chunk-S3SDEQMC.js.map +0 -1
  307. package/dist/chunk-TEC24ZDA.cjs +0 -1254
  308. package/dist/chunk-TEC24ZDA.cjs.map +0 -1
  309. package/dist/chunk-TP4NJTI3.cjs +0 -1192
  310. package/dist/chunk-TP4NJTI3.cjs.map +0 -1
  311. package/dist/chunk-TTCOPKUL.cjs.map +0 -1
  312. package/dist/chunk-TUVD4DFR.cjs.map +0 -1
  313. package/dist/chunk-TYGGUWMS.cjs.map +0 -1
  314. package/dist/chunk-U3Z7XKAG.js.map +0 -1
  315. package/dist/chunk-U5EL6JUV.js.map +0 -1
  316. package/dist/chunk-VTJVMP4I.js.map +0 -1
  317. package/dist/chunk-WCLMKNQE.cjs.map +0 -1
  318. package/dist/chunk-XMY2SXOH.cjs.map +0 -1
  319. package/dist/chunk-Y55DLLEG.js +0 -247
  320. package/dist/chunk-Y55DLLEG.js.map +0 -1
  321. package/dist/chunk-YA36ABIL.js.map +0 -1
  322. package/dist/chunk-ZBFZGLZE.cjs.map +0 -1
  323. package/dist/index-B0PrmE3K.d.cts +0 -1146
  324. package/dist/index-CwcXsL5R.d.ts +0 -1146
  325. package/dist/materialize-indexes-C9GG3O3C.d.ts +0 -266
  326. package/dist/materialize-indexes-CrSiW_lT.d.cts +0 -266
@@ -0,0 +1,1805 @@
1
+ import { e as GraphBackend, cn as SqlDialect, B as BackendCapabilities } from './types-6yf0Vv-_.js';
2
+
3
+ /**
4
+ * The PILOT capability-bundle registry — DATA ONLY, sibling in spirit to
5
+ * `backend/member-classes.ts`.
6
+ *
7
+ * A bundle is a named set of {@link GraphBackend} member names split into a
8
+ * required core and a set of graduated extras, with a dialect scope, an
9
+ * optional declaration source and cross-check mode, a port-surface refusal
10
+ * code, a per-operation disposition table naming the sites and the extras
11
+ * each operation requires, and one verdict resolver (`resolve.ts`) plus one
12
+ * member accessor (`bind.ts`). It is not a re-shaping of `GraphBackend`.
13
+ *
14
+ * Two definition kinds, because the measurement has two shapes:
15
+ *
16
+ * - A GATED bundle has a non-empty required core (every member required).
17
+ * Its resolver returns supported-with-core-member-names or
18
+ * unsupported-with-`missing`. Pilot: `claims`, `statementExecution`,
19
+ * `recordedRevisionOrigins`.
20
+ * - A GRADUATED bundle has no required core: every member is an extra with
21
+ * its own measured disposition. Its resolver returns the per-extra verdict
22
+ * map and no `supported` field at all. Pilot: `uniqueSidecarBatch`,
23
+ * `batchPointRead`, `contributionHealth`.
24
+ *
25
+ * Deliberately absent, by round-5 ruling (no pilot consumer for either):
26
+ * `arity` on core members, `requiresBundles` edges, `AnyOfSelection`,
27
+ * `CapabilityCoreMember`, `AllOfMembers`, `AnyOfMembers`. Both are designed
28
+ * and seeded for WS5b in the design document's appendix, beside their first
29
+ * real consumers.
30
+ *
31
+ * This is the PILOT of a larger sweep (WS5b): 15 of the 82 optional
32
+ * `GraphBackend` members are bundled here; the other 67 are classified in
33
+ * {@link UNBUNDLED_OPTIONAL_MEMBERS} as either `reasoned` (no bundle should
34
+ * ever own them) or `deferred` (WS5b's seed, with a measured ceiling).
35
+ */
36
+
37
+ /**
38
+ * The keys of `T` that are optional — i.e. `undefined` may stand in for the
39
+ * member without violating the type. `object extends Pick<T, K>` is true
40
+ * exactly when `Pick<T, K>` accepts `{}`, which is true exactly when `K` is
41
+ * optional on `T`.
42
+ */
43
+ type OptionalKeys<T> = {
44
+ [K in keyof T]-?: object extends Pick<T, K> ? K : never;
45
+ }[keyof T];
46
+ /**
47
+ * Every optional `GraphBackend` member — 82 of them, verified equal to the
48
+ * names parsed from `etc/typegraph-backend.api.md` (§Baselines). Derived,
49
+ * never hand-written: a member added or removed from `GraphBackend` changes
50
+ * this type automatically, and the totality proof below fails loudly if the
51
+ * registry has not kept up.
52
+ */
53
+ type OptionalGraphBackendMember = OptionalKeys<GraphBackend>;
54
+ /** How an operation degrades — or refuses — when a member it needs is absent. */
55
+ type CapabilityBundleDisposition =
56
+ /** Absence refuses, with ONE typed error per operation. */
57
+ Readonly<{
58
+ kind: "refuse";
59
+ code: string;
60
+ }>
61
+ /** Absence degrades along a named, tested path. Never refuses. */
62
+ | Readonly<{
63
+ kind: "fallback";
64
+ fallback: string;
65
+ }>;
66
+ /**
67
+ * A graduated extra: present ⇒ a better path, absent ⇒ this exact
68
+ * disposition. `members` is a list because an extra MAY be an all-or-nothing
69
+ * group; every pilot extra is single-membered (the measured group,
70
+ * `indexMaterialization`'s build-claim protocol, is deferred).
71
+ */
72
+ type CapabilityBundleExtra<Id extends string, M extends OptionalGraphBackendMember> = Readonly<{
73
+ id: Id;
74
+ members: readonly M[];
75
+ /** REQUIRED, and typed — never a bare `fallback: string`. */
76
+ disposition: CapabilityBundleDisposition;
77
+ }>;
78
+ type CapabilityCrossCheck =
79
+ /** Presence alone. The default, and 5 of the 6 pilot bundles. */
80
+ "none"
81
+ /**
82
+ * Declared-but-missing refuses; implements-without-declaring resolves
83
+ * supported. One-directional. No bundle uses this today — it exists so a
84
+ * future cross-check has a shape to grow into, one that must carry its own
85
+ * justification row when adopted.
86
+ */
87
+ | "declared-implies-members"
88
+ /**
89
+ * Disagreement in EITHER direction refuses. `claims` only — the existing
90
+ * `CONSTRAINT_CLAIM_SURFACE_MISMATCH`, whose bidirectionality carries a
91
+ * fence-specific justification ("a silent fallback would unfence exactly
92
+ * the writes the capability exists to fence") that no other family has.
93
+ */
94
+ | "bidirectional";
95
+ /** One inventory key an operation row owns. */
96
+ type CapabilityBundleOperationSite = Readonly<{
97
+ file: string;
98
+ member: OptionalGraphBackendMember;
99
+ /**
100
+ * Disambiguator, required only where one `(file, member)` pair is split
101
+ * across two or more operation rows. Three pairs need it in the pilot:
102
+ * `node-operations.ts#checkUniqueBatch`, `guards.ts#executeStatement` and
103
+ * `migrate-recorded-time.ts#executeStatement`.
104
+ */
105
+ lines?: readonly number[];
106
+ /**
107
+ * Set when B7's rewiring pass reclassified this site AWAY from `pilot`
108
+ * instead of rewiring it — additive, optional, and read by nothing but the
109
+ * inventory/report tooling. `"deferred"` names a site whose receiver family
110
+ * needs plumbing this batch must not force (WS5b's input); `"reasoned"`
111
+ * names one this batch decided a verdict must never gate at all. The
112
+ * `code`/`disposition` above stay the classification data they always were;
113
+ * this is a SEPARATE fact about the site, not a replacement for either.
114
+ */
115
+ rewiring?: Readonly<{
116
+ class: "deferred" | "reasoned";
117
+ reason: string;
118
+ }>;
119
+ }>;
120
+ /** Every caller-visible operation that consumes a bundle. */
121
+ type CapabilityBundleOperation = Readonly<{
122
+ /** The caller-visible name that lands in `details.operation`. */
123
+ operation: string;
124
+ disposition: CapabilityBundleDisposition;
125
+ /** The extras this operation needs, by id. */
126
+ requires?: readonly string[];
127
+ /** Every inventory key this row owns, as `(file, member)` pairs. */
128
+ sites: readonly CapabilityBundleOperationSite[];
129
+ /**
130
+ * Set only where the site itself reads the declaration to decide between
131
+ * refusing and degrading. One measured instance in the pilot:
132
+ * `probeContributions` (`store.ts:4406`).
133
+ */
134
+ declarationGate?: true;
135
+ }>;
136
+ type CapabilityBundleCommon = Readonly<{
137
+ /**
138
+ * The registry's own id namespace is derived from `CAPABILITY_BUNDLES`
139
+ * below (never hand-written) — but the derivation cannot be fed back into
140
+ * THIS type: `CapabilityBundleId` is `(typeof CAPABILITY_BUNDLES)[number]
141
+ * ["id"]`, and `CAPABILITY_BUNDLES` is built from values (`CLAIMS`, …)
142
+ * whose own type is checked against `CapabilityBundleDefinition` — which
143
+ * embeds this type. Typing this field `CapabilityBundleId` therefore makes
144
+ * every bundle constant's type depend on its own initializer
145
+ * (`TS2502`/`TS2456`, confirmed by compiling the literal design text).
146
+ * `string` here is the minimal break: each bundle constant still infers
147
+ * its literal id via `as const`, and `CapabilityBundleId` below is still
148
+ * wholly derived from `CAPABILITY_BUNDLES`, never hand-written.
149
+ */
150
+ id: string;
151
+ /** Dialects whose first-party factory implements this bundle's core. Default: both. */
152
+ dialects?: readonly SqlDialect[];
153
+ /** The `BackendCapabilities` field that DECLARES the bundle, when one exists. */
154
+ declaration?: keyof BackendCapabilities;
155
+ /** Read only when not `"none"` (ruling F2). */
156
+ crossCheck: CapabilityCrossCheck;
157
+ /** The code the MEMBER ACCESSOR throws when the port disagrees with the verdict (I20). */
158
+ portSurfaceCode: string;
159
+ operations: readonly CapabilityBundleOperation[];
160
+ }>;
161
+ /** A bundle with a required core. */
162
+ type GatedBundleDefinition<MCore extends OptionalGraphBackendMember, XId extends string = never, MExtra extends OptionalGraphBackendMember = never> = CapabilityBundleCommon & Readonly<{
163
+ kind: "gated";
164
+ /** Every name required. No arity wrapper — no pilot bundle has an `any-of` core. */
165
+ core: readonly MCore[];
166
+ extras?: readonly CapabilityBundleExtra<XId, MExtra>[];
167
+ /** The bundle-wide disposition when the CORE is unsatisfied. */
168
+ disposition: CapabilityBundleDisposition;
169
+ }>;
170
+ /** A bundle with no required core: every member is a graduated extra. */
171
+ type GraduatedBundleDefinition<XId extends string, MExtra extends OptionalGraphBackendMember> = CapabilityBundleCommon & Readonly<{
172
+ kind: "graduated";
173
+ extras: readonly CapabilityBundleExtra<XId, MExtra>[];
174
+ }>;
175
+ type CapabilityBundleDefinition = GatedBundleDefinition<OptionalGraphBackendMember, string, OptionalGraphBackendMember> | GraduatedBundleDefinition<string, OptionalGraphBackendMember>;
176
+ /**
177
+ * `claimSupport` (`store/claims/backing.ts`) is the ONE bidirectional
178
+ * cross-check consumer in the tree. Since B7 it delegates to
179
+ * `resolveBundle`, which runs `resolve.ts`'s `assertClaimsBidirectionalAgreement`
180
+ * — the check's only remaining owner; there is no second copy left in
181
+ * `backing.ts` to keep byte-for-byte in sync with.
182
+ */
183
+ declare const CLAIMS: {
184
+ readonly id: "claims";
185
+ readonly kind: "gated";
186
+ readonly core: readonly ["claimEdgeCardinality", "claimEdgeCardinalityBatch", "purgeEdgeClaims", "hardDeleteUniquesByConcreteKind"];
187
+ readonly declaration: "constraintClaims";
188
+ readonly crossCheck: "bidirectional";
189
+ readonly portSurfaceCode: "CONSTRAINT_CLAIM_SURFACE_MISMATCH";
190
+ readonly disposition: {
191
+ readonly kind: "fallback";
192
+ readonly fallback: "unclaimed writes; the caller's own supported:false branch";
193
+ };
194
+ readonly operations: readonly [{
195
+ readonly operation: "edge claim write";
196
+ readonly disposition: {
197
+ readonly kind: "fallback";
198
+ readonly fallback: "unclaimed writes; the caller's own supported:false branch";
199
+ };
200
+ readonly sites: readonly [{
201
+ readonly file: "store/claims/backing.ts";
202
+ readonly member: "claimEdgeCardinality";
203
+ }, {
204
+ readonly file: "store/claims/backing.ts";
205
+ readonly member: "claimEdgeCardinalityBatch";
206
+ }, {
207
+ readonly file: "store/claims/backing.ts";
208
+ readonly member: "purgeEdgeClaims";
209
+ }, {
210
+ readonly file: "store/claims/backing.ts";
211
+ readonly member: "hardDeleteUniquesByConcreteKind";
212
+ }];
213
+ }];
214
+ };
215
+ /**
216
+ * Three independently-guarded extras. Measured, `hardDeleteUniquesByNodeIds`'
217
+ * only standalone site (`node-claims.ts:732`) reaches the member through
218
+ * `requireDefined` rather than a degrading guard, so — the round-5
219
+ * enumeration's correction to the round-4 table — its disposition is
220
+ * `refuse`, not the fallback round 4 assumed from the bundle's name.
221
+ */
222
+ declare const UNIQUE_SIDECAR_BATCH: {
223
+ readonly id: "uniqueSidecarBatch";
224
+ readonly kind: "graduated";
225
+ readonly crossCheck: "none";
226
+ readonly portSurfaceCode: "BUNDLE_PORT_SURFACE_MISMATCH";
227
+ readonly extras: readonly [{
228
+ readonly id: "insertUniqueBatch";
229
+ readonly members: readonly ["insertUniqueBatch"];
230
+ readonly disposition: {
231
+ readonly kind: "fallback";
232
+ readonly fallback: "issueClaimsIndividually";
233
+ };
234
+ }, {
235
+ readonly id: "checkUniqueBatch";
236
+ readonly members: readonly ["checkUniqueBatch"];
237
+ readonly disposition: {
238
+ readonly kind: "fallback";
239
+ readonly fallback: "per-key checkUnique loop";
240
+ };
241
+ }, {
242
+ readonly id: "hardDeleteUniquesByNodeIds";
243
+ readonly members: readonly ["hardDeleteUniquesByNodeIds"];
244
+ readonly disposition: {
245
+ readonly kind: "refuse";
246
+ readonly code: "UNIQUE_REAP_BY_NODE_IDS_UNSUPPORTED";
247
+ };
248
+ }];
249
+ readonly operations: readonly [{
250
+ readonly operation: "unique batch probe";
251
+ readonly disposition: {
252
+ readonly kind: "fallback";
253
+ readonly fallback: "per-key checkUnique loop";
254
+ };
255
+ readonly requires: readonly ["checkUniqueBatch"];
256
+ readonly sites: readonly [{
257
+ readonly file: "store/operations/node-operations.ts";
258
+ readonly member: "checkUniqueBatch";
259
+ readonly lines: readonly [1275, 1320];
260
+ }, {
261
+ readonly file: "store/operations/node-operations.ts";
262
+ readonly member: "checkUniqueBatch";
263
+ readonly lines: readonly [1575, 1593];
264
+ }];
265
+ }, {
266
+ readonly operation: "unique claim issue";
267
+ readonly disposition: {
268
+ readonly kind: "fallback";
269
+ readonly fallback: "issueClaimsIndividually";
270
+ };
271
+ readonly requires: readonly ["insertUniqueBatch"];
272
+ readonly sites: readonly [{
273
+ readonly file: "store/claims/node-claims.ts";
274
+ readonly member: "insertUniqueBatch";
275
+ }];
276
+ }, {
277
+ readonly operation: "unique reap by node ids";
278
+ readonly disposition: {
279
+ readonly kind: "refuse";
280
+ readonly code: "UNIQUE_REAP_BY_NODE_IDS_UNSUPPORTED";
281
+ };
282
+ readonly requires: readonly ["hardDeleteUniquesByNodeIds"];
283
+ readonly sites: readonly [{
284
+ readonly file: "store/claims/node-claims.ts";
285
+ readonly member: "hardDeleteUniquesByNodeIds";
286
+ }];
287
+ }, {
288
+ readonly operation: "set-based node update";
289
+ readonly disposition: {
290
+ readonly kind: "refuse";
291
+ readonly code: "SET_UPDATE_UNIQUENESS_UNSUPPORTED";
292
+ };
293
+ readonly requires: readonly ["hardDeleteUniquesByNodeIds", "insertUniqueBatch", "checkUniqueBatch"];
294
+ readonly sites: readonly [{
295
+ readonly file: "store/operations/node-write-pipeline.ts";
296
+ readonly member: "hardDeleteUniquesByNodeIds";
297
+ }, {
298
+ readonly file: "store/operations/node-write-pipeline.ts";
299
+ readonly member: "insertUniqueBatch";
300
+ }, {
301
+ readonly file: "store/operations/node-write-pipeline.ts";
302
+ readonly member: "checkUniqueBatch";
303
+ }, {
304
+ readonly file: "store/operations/node-operations.ts";
305
+ readonly member: "hardDeleteUniquesByNodeIds";
306
+ }, {
307
+ readonly file: "store/operations/node-operations.ts";
308
+ readonly member: "insertUniqueBatch";
309
+ }, {
310
+ readonly file: "store/operations/node-operations.ts";
311
+ readonly member: "checkUniqueBatch";
312
+ readonly lines: readonly [1993];
313
+ }];
314
+ }, {
315
+ readonly operation: "resolved node write";
316
+ readonly disposition: {
317
+ readonly kind: "refuse";
318
+ readonly code: "RESOLVED_NODE_UNIQUENESS_UNSUPPORTED";
319
+ };
320
+ readonly requires: readonly ["hardDeleteUniquesByNodeIds", "insertUniqueBatch", "checkUniqueBatch"];
321
+ readonly sites: readonly [{
322
+ readonly file: "store/claims/resolved-node-claims.ts";
323
+ readonly member: "checkUniqueBatch";
324
+ readonly lines: readonly [211];
325
+ }, {
326
+ readonly file: "store/claims/resolved-node-claims.ts";
327
+ readonly member: "checkUniqueBatch";
328
+ readonly lines: readonly [292];
329
+ }, {
330
+ readonly file: "store/claims/resolved-node-claims.ts";
331
+ readonly member: "hardDeleteUniquesByNodeIds";
332
+ }, {
333
+ readonly file: "store/claims/resolved-node-claims.ts";
334
+ readonly member: "insertUniqueBatch";
335
+ }];
336
+ }];
337
+ };
338
+ /** Two independently-guarded extras, both fallback. */
339
+ declare const BATCH_POINT_READ: {
340
+ readonly id: "batchPointRead";
341
+ readonly kind: "graduated";
342
+ readonly crossCheck: "none";
343
+ readonly portSurfaceCode: "BUNDLE_PORT_SURFACE_MISMATCH";
344
+ readonly extras: readonly [{
345
+ readonly id: "getNodes";
346
+ readonly members: readonly ["getNodes"];
347
+ readonly disposition: {
348
+ readonly kind: "fallback";
349
+ readonly fallback: "per-id getNode";
350
+ };
351
+ }, {
352
+ readonly id: "getEdges";
353
+ readonly members: readonly ["getEdges"];
354
+ readonly disposition: {
355
+ readonly kind: "fallback";
356
+ readonly fallback: "per-id getEdge";
357
+ };
358
+ }];
359
+ readonly operations: readonly [{
360
+ readonly operation: "search hydration";
361
+ readonly disposition: {
362
+ readonly kind: "fallback";
363
+ readonly fallback: "per-id getNode";
364
+ };
365
+ readonly requires: readonly ["getNodes"];
366
+ readonly sites: readonly [{
367
+ readonly file: "store/search.ts";
368
+ readonly member: "getNodes";
369
+ }];
370
+ }, {
371
+ readonly operation: "import reference validation";
372
+ readonly disposition: {
373
+ readonly kind: "fallback";
374
+ readonly fallback: "per-row getNode in the routing loop";
375
+ };
376
+ readonly requires: readonly ["getNodes"];
377
+ readonly sites: readonly [{
378
+ readonly file: "interchange/import.ts";
379
+ readonly member: "getNodes";
380
+ }];
381
+ }, {
382
+ readonly operation: "import edge endpoint hydration";
383
+ readonly disposition: {
384
+ readonly kind: "fallback";
385
+ readonly fallback: "per-row getEdge";
386
+ };
387
+ readonly requires: readonly ["getEdges"];
388
+ readonly sites: readonly [{
389
+ readonly file: "interchange/import.ts";
390
+ readonly member: "getEdges";
391
+ }];
392
+ }, {
393
+ readonly operation: "edge batch endpoint priming";
394
+ readonly disposition: {
395
+ readonly kind: "fallback";
396
+ readonly fallback: "skip the priming pass; endpoint validation reads per-row";
397
+ };
398
+ readonly requires: readonly ["getNodes"];
399
+ readonly sites: readonly [{
400
+ readonly file: "store/operations/edge-operations.ts";
401
+ readonly member: "getNodes";
402
+ }];
403
+ }, {
404
+ readonly operation: "node create batch priming";
405
+ readonly disposition: {
406
+ readonly kind: "fallback";
407
+ readonly fallback: "skip priming; per-row probes";
408
+ };
409
+ readonly requires: readonly ["getNodes"];
410
+ readonly sites: readonly [{
411
+ readonly file: "store/operations/node-operations.ts";
412
+ readonly member: "getNodes";
413
+ }];
414
+ }, {
415
+ readonly operation: "node collection batch load";
416
+ readonly disposition: {
417
+ readonly kind: "fallback";
418
+ readonly fallback: "per-id getNode";
419
+ };
420
+ readonly requires: readonly ["getNodes"];
421
+ readonly sites: readonly [{
422
+ readonly file: "store/collections/node-collection.ts";
423
+ readonly member: "getNodes";
424
+ }];
425
+ }, {
426
+ readonly operation: "node batch fetch";
427
+ readonly disposition: {
428
+ readonly kind: "fallback";
429
+ readonly fallback: "per-id getNode";
430
+ };
431
+ readonly requires: readonly ["getNodes"];
432
+ readonly sites: readonly [{
433
+ readonly file: "store/node-fetch.ts";
434
+ readonly member: "getNodes";
435
+ }];
436
+ }, {
437
+ readonly operation: "edge batch fetch";
438
+ readonly disposition: {
439
+ readonly kind: "fallback";
440
+ readonly fallback: "per-id getEdge";
441
+ };
442
+ readonly requires: readonly ["getEdges"];
443
+ readonly sites: readonly [{
444
+ readonly file: "store/edge-fetch.ts";
445
+ readonly member: "getEdges";
446
+ }];
447
+ }, {
448
+ readonly operation: "identity member hydration";
449
+ readonly disposition: {
450
+ readonly kind: "fallback";
451
+ readonly fallback: "per-id getNode";
452
+ };
453
+ readonly requires: readonly ["getNodes"];
454
+ readonly sites: readonly [{
455
+ readonly file: "store/store.ts";
456
+ readonly member: "getNodes";
457
+ }];
458
+ }];
459
+ };
460
+ /**
461
+ * Core `executeStatement`. `IDENTITY_REQUIRES_STATEMENT_EXECUTION` and
462
+ * `IDENTITY_REQUIRES_ATOMIC_BACKEND` are the existing `details.code` values
463
+ * at `identity/sql-target.ts:101` and `store/store.ts:921`; the remaining
464
+ * rows' underlying throws carry no domain code of their own today, so their
465
+ * `code` here is registry-assigned classification (documented per row).
466
+ */
467
+ declare const STATEMENT_EXECUTION: {
468
+ readonly id: "statementExecution";
469
+ readonly kind: "gated";
470
+ readonly core: readonly ["executeStatement"];
471
+ readonly crossCheck: "none";
472
+ readonly portSurfaceCode: "BUNDLE_PORT_SURFACE_MISMATCH";
473
+ readonly disposition: {
474
+ readonly kind: "refuse";
475
+ readonly code: "IDENTITY_REQUIRES_STATEMENT_EXECUTION";
476
+ };
477
+ readonly operations: readonly [{
478
+ readonly operation: "identity statement execution";
479
+ readonly disposition: {
480
+ readonly kind: "refuse";
481
+ readonly code: "IDENTITY_REQUIRES_STATEMENT_EXECUTION";
482
+ };
483
+ readonly sites: readonly [{
484
+ readonly file: "identity/sql-target.ts";
485
+ readonly member: "executeStatement";
486
+ readonly rewiring: {
487
+ readonly class: "deferred";
488
+ readonly reason: "requires verdict threading through IdentityServiceContext / the capture session — WS5b input, measured at ~13 files/~35 signatures";
489
+ };
490
+ }];
491
+ }, {
492
+ readonly operation: "recorded capture statement";
493
+ readonly disposition: {
494
+ readonly kind: "refuse";
495
+ readonly code: "RECORDED_CAPTURE_STATEMENT_UNSUPPORTED";
496
+ };
497
+ readonly sites: readonly [{
498
+ readonly file: "store/recorded-capture/guards.ts";
499
+ readonly member: "executeStatement";
500
+ readonly lines: readonly [62, 79];
501
+ readonly rewiring: {
502
+ readonly class: "deferred";
503
+ readonly reason: "requires verdict threading through IdentityServiceContext / the capture session — WS5b input, measured at ~13 files/~35 signatures";
504
+ };
505
+ }];
506
+ }, {
507
+ readonly operation: "history construction gate";
508
+ readonly disposition: {
509
+ readonly kind: "refuse";
510
+ readonly code: "HISTORY_REQUIRES_STATEMENT_EXECUTION";
511
+ };
512
+ readonly sites: readonly [{
513
+ readonly file: "store/recorded-capture/guards.ts";
514
+ readonly member: "executeStatement";
515
+ readonly lines: readonly [251];
516
+ }];
517
+ }, {
518
+ readonly operation: "revision tracking construction gate";
519
+ readonly disposition: {
520
+ readonly kind: "refuse";
521
+ readonly code: "REVISION_TRACKING_REQUIRES_STATEMENT_EXECUTION";
522
+ };
523
+ readonly sites: readonly [{
524
+ readonly file: "store/recorded-capture/guards.ts";
525
+ readonly member: "executeStatement";
526
+ readonly lines: readonly [299];
527
+ }];
528
+ }, {
529
+ readonly operation: "history-unsafe raw write overlay";
530
+ readonly disposition: {
531
+ readonly kind: "fallback";
532
+ readonly fallback: "omit the overriding member; the port's own absence stands";
533
+ };
534
+ readonly sites: readonly [{
535
+ readonly file: "store/recorded-capture/guards.ts";
536
+ readonly member: "executeStatement";
537
+ readonly lines: readonly [219];
538
+ readonly rewiring: {
539
+ readonly class: "reasoned";
540
+ readonly reason: "genuinely a port-surface presence test; re-keying it on a verdict changes behavior in both directions (a phantom-rejecting stub one way, a raw-write escape on a history-enabled store the other — a safety regression), and adding a non-throwing gated accessor to the frozen binder surface for ONE site is the over-generalization anti-pattern";
541
+ };
542
+ }];
543
+ }, {
544
+ readonly operation: "identity construction gate";
545
+ readonly disposition: {
546
+ readonly kind: "refuse";
547
+ readonly code: "IDENTITY_REQUIRES_ATOMIC_BACKEND";
548
+ };
549
+ readonly sites: readonly [{
550
+ readonly file: "store/store.ts";
551
+ readonly member: "executeStatement";
552
+ readonly lines: readonly [921];
553
+ }, {
554
+ readonly file: "store/store.ts";
555
+ readonly member: "executeStatement";
556
+ readonly lines: readonly [928];
557
+ }];
558
+ }, {
559
+ readonly operation: "validity window repair";
560
+ readonly disposition: {
561
+ readonly kind: "refuse";
562
+ readonly code: "VALIDITY_WINDOW_REPAIR_REQUIRES_STATEMENT_EXECUTION";
563
+ };
564
+ readonly sites: readonly [{
565
+ readonly file: "backend/repair-validity-windows.ts";
566
+ readonly member: "executeStatement";
567
+ }];
568
+ }, {
569
+ readonly operation: "recorded-time migration";
570
+ readonly disposition: {
571
+ readonly kind: "refuse";
572
+ readonly code: "RECORDED_TIME_MIGRATION_REQUIRES_STATEMENT_EXECUTION";
573
+ };
574
+ readonly sites: readonly [{
575
+ readonly file: "backend/migrate-recorded-time.ts";
576
+ readonly member: "executeStatement";
577
+ readonly lines: readonly [154, 161, 801];
578
+ readonly rewiring: {
579
+ readonly class: "deferred";
580
+ readonly reason: "the delete path's public Pick-typed backend cannot reach resolveBundle, and the shared module-private helpers make a single-path rewire two owners";
581
+ };
582
+ }];
583
+ }];
584
+ };
585
+ /**
586
+ * Four extras, one per public `Store` method, each read alone. Three refuse
587
+ * with their own existing error; `probeContributions` is the pilot's one
588
+ * `declarationGate` row — fallback to `{ entries: [] }` when
589
+ * `capabilities.contributions` is undeclared, refuse when it is declared.
590
+ */
591
+ declare const CONTRIBUTION_HEALTH: {
592
+ readonly id: "contributionHealth";
593
+ readonly kind: "graduated";
594
+ readonly declaration: "contributions";
595
+ readonly crossCheck: "none";
596
+ readonly portSurfaceCode: "BUNDLE_PORT_SURFACE_MISMATCH";
597
+ readonly extras: readonly [{
598
+ readonly id: "verifyContributions";
599
+ readonly members: readonly ["verifyContributions"];
600
+ readonly disposition: {
601
+ readonly kind: "refuse";
602
+ readonly code: "CONTRIBUTION_VERIFY_UNSUPPORTED";
603
+ };
604
+ }, {
605
+ readonly id: "repairContributions";
606
+ readonly members: readonly ["repairContributions"];
607
+ readonly disposition: {
608
+ readonly kind: "refuse";
609
+ readonly code: "CONTRIBUTION_REPAIR_UNSUPPORTED";
610
+ };
611
+ }, {
612
+ readonly id: "rebuildContribution";
613
+ readonly members: readonly ["rebuildContribution"];
614
+ readonly disposition: {
615
+ readonly kind: "refuse";
616
+ readonly code: "CONTRIBUTION_REBUILD_UNSUPPORTED";
617
+ };
618
+ }, {
619
+ readonly id: "probeContributions";
620
+ readonly members: readonly ["probeContributions"];
621
+ readonly disposition: {
622
+ readonly kind: "fallback";
623
+ readonly fallback: "{entries: []}";
624
+ };
625
+ }];
626
+ readonly operations: readonly [{
627
+ readonly operation: "contribution verify";
628
+ readonly disposition: {
629
+ readonly kind: "refuse";
630
+ readonly code: "CONTRIBUTION_VERIFY_UNSUPPORTED";
631
+ };
632
+ readonly requires: readonly ["verifyContributions"];
633
+ readonly sites: readonly [{
634
+ readonly file: "store/store.ts";
635
+ readonly member: "verifyContributions";
636
+ }];
637
+ }, {
638
+ readonly operation: "contribution repair";
639
+ readonly disposition: {
640
+ readonly kind: "refuse";
641
+ readonly code: "CONTRIBUTION_REPAIR_UNSUPPORTED";
642
+ };
643
+ readonly requires: readonly ["repairContributions"];
644
+ readonly sites: readonly [{
645
+ readonly file: "store/store.ts";
646
+ readonly member: "repairContributions";
647
+ }];
648
+ }, {
649
+ readonly operation: "contribution rebuild";
650
+ readonly disposition: {
651
+ readonly kind: "refuse";
652
+ readonly code: "CONTRIBUTION_REBUILD_UNSUPPORTED";
653
+ };
654
+ readonly requires: readonly ["rebuildContribution"];
655
+ readonly sites: readonly [{
656
+ readonly file: "store/store.ts";
657
+ readonly member: "rebuildContribution";
658
+ }];
659
+ }, {
660
+ readonly operation: "contribution probe";
661
+ readonly disposition: {
662
+ readonly kind: "fallback";
663
+ readonly fallback: "{entries: []}";
664
+ };
665
+ readonly requires: readonly ["probeContributions"];
666
+ readonly sites: readonly [{
667
+ readonly file: "store/store.ts";
668
+ readonly member: "probeContributions";
669
+ }];
670
+ readonly declarationGate: true;
671
+ }];
672
+ };
673
+ /**
674
+ * Core `ensureRevisionOriginsTable`, both refusals existing typed throws
675
+ * (registry-assigned codes; neither underlying throw carries a domain code
676
+ * of its own today).
677
+ */
678
+ declare const RECORDED_REVISION_ORIGINS: {
679
+ readonly id: "recordedRevisionOrigins";
680
+ readonly kind: "gated";
681
+ readonly core: readonly ["ensureRevisionOriginsTable"];
682
+ readonly crossCheck: "none";
683
+ readonly portSurfaceCode: "BUNDLE_PORT_SURFACE_MISMATCH";
684
+ readonly disposition: {
685
+ readonly kind: "refuse";
686
+ readonly code: "REVISION_TRACKING_REQUIRES_REVISION_ORIGINS";
687
+ };
688
+ readonly operations: readonly [{
689
+ readonly operation: "revision tracking construction gate";
690
+ readonly disposition: {
691
+ readonly kind: "refuse";
692
+ readonly code: "REVISION_TRACKING_REQUIRES_REVISION_ORIGINS";
693
+ };
694
+ readonly sites: readonly [{
695
+ readonly file: "store/recorded-capture/guards.ts";
696
+ readonly member: "ensureRevisionOriginsTable";
697
+ }];
698
+ }, {
699
+ readonly operation: "revision origin bootstrap";
700
+ readonly disposition: {
701
+ readonly kind: "refuse";
702
+ readonly code: "REVISION_ORIGIN_BOOTSTRAP_UNSUPPORTED";
703
+ };
704
+ readonly sites: readonly [{
705
+ readonly file: "store/recorded-capture/clock.ts";
706
+ readonly member: "ensureRevisionOriginsTable";
707
+ }];
708
+ }];
709
+ };
710
+ /** The pilot registry: six bundles, 15 members, 30 operation rows. */
711
+ declare const CAPABILITY_BUNDLES: readonly [{
712
+ readonly id: "claims";
713
+ readonly kind: "gated";
714
+ readonly core: readonly ["claimEdgeCardinality", "claimEdgeCardinalityBatch", "purgeEdgeClaims", "hardDeleteUniquesByConcreteKind"];
715
+ readonly declaration: "constraintClaims";
716
+ readonly crossCheck: "bidirectional";
717
+ readonly portSurfaceCode: "CONSTRAINT_CLAIM_SURFACE_MISMATCH";
718
+ readonly disposition: {
719
+ readonly kind: "fallback";
720
+ readonly fallback: "unclaimed writes; the caller's own supported:false branch";
721
+ };
722
+ readonly operations: readonly [{
723
+ readonly operation: "edge claim write";
724
+ readonly disposition: {
725
+ readonly kind: "fallback";
726
+ readonly fallback: "unclaimed writes; the caller's own supported:false branch";
727
+ };
728
+ readonly sites: readonly [{
729
+ readonly file: "store/claims/backing.ts";
730
+ readonly member: "claimEdgeCardinality";
731
+ }, {
732
+ readonly file: "store/claims/backing.ts";
733
+ readonly member: "claimEdgeCardinalityBatch";
734
+ }, {
735
+ readonly file: "store/claims/backing.ts";
736
+ readonly member: "purgeEdgeClaims";
737
+ }, {
738
+ readonly file: "store/claims/backing.ts";
739
+ readonly member: "hardDeleteUniquesByConcreteKind";
740
+ }];
741
+ }];
742
+ }, {
743
+ readonly id: "uniqueSidecarBatch";
744
+ readonly kind: "graduated";
745
+ readonly crossCheck: "none";
746
+ readonly portSurfaceCode: "BUNDLE_PORT_SURFACE_MISMATCH";
747
+ readonly extras: readonly [{
748
+ readonly id: "insertUniqueBatch";
749
+ readonly members: readonly ["insertUniqueBatch"];
750
+ readonly disposition: {
751
+ readonly kind: "fallback";
752
+ readonly fallback: "issueClaimsIndividually";
753
+ };
754
+ }, {
755
+ readonly id: "checkUniqueBatch";
756
+ readonly members: readonly ["checkUniqueBatch"];
757
+ readonly disposition: {
758
+ readonly kind: "fallback";
759
+ readonly fallback: "per-key checkUnique loop";
760
+ };
761
+ }, {
762
+ readonly id: "hardDeleteUniquesByNodeIds";
763
+ readonly members: readonly ["hardDeleteUniquesByNodeIds"];
764
+ readonly disposition: {
765
+ readonly kind: "refuse";
766
+ readonly code: "UNIQUE_REAP_BY_NODE_IDS_UNSUPPORTED";
767
+ };
768
+ }];
769
+ readonly operations: readonly [{
770
+ readonly operation: "unique batch probe";
771
+ readonly disposition: {
772
+ readonly kind: "fallback";
773
+ readonly fallback: "per-key checkUnique loop";
774
+ };
775
+ readonly requires: readonly ["checkUniqueBatch"];
776
+ readonly sites: readonly [{
777
+ readonly file: "store/operations/node-operations.ts";
778
+ readonly member: "checkUniqueBatch";
779
+ readonly lines: readonly [1275, 1320];
780
+ }, {
781
+ readonly file: "store/operations/node-operations.ts";
782
+ readonly member: "checkUniqueBatch";
783
+ readonly lines: readonly [1575, 1593];
784
+ }];
785
+ }, {
786
+ readonly operation: "unique claim issue";
787
+ readonly disposition: {
788
+ readonly kind: "fallback";
789
+ readonly fallback: "issueClaimsIndividually";
790
+ };
791
+ readonly requires: readonly ["insertUniqueBatch"];
792
+ readonly sites: readonly [{
793
+ readonly file: "store/claims/node-claims.ts";
794
+ readonly member: "insertUniqueBatch";
795
+ }];
796
+ }, {
797
+ readonly operation: "unique reap by node ids";
798
+ readonly disposition: {
799
+ readonly kind: "refuse";
800
+ readonly code: "UNIQUE_REAP_BY_NODE_IDS_UNSUPPORTED";
801
+ };
802
+ readonly requires: readonly ["hardDeleteUniquesByNodeIds"];
803
+ readonly sites: readonly [{
804
+ readonly file: "store/claims/node-claims.ts";
805
+ readonly member: "hardDeleteUniquesByNodeIds";
806
+ }];
807
+ }, {
808
+ readonly operation: "set-based node update";
809
+ readonly disposition: {
810
+ readonly kind: "refuse";
811
+ readonly code: "SET_UPDATE_UNIQUENESS_UNSUPPORTED";
812
+ };
813
+ readonly requires: readonly ["hardDeleteUniquesByNodeIds", "insertUniqueBatch", "checkUniqueBatch"];
814
+ readonly sites: readonly [{
815
+ readonly file: "store/operations/node-write-pipeline.ts";
816
+ readonly member: "hardDeleteUniquesByNodeIds";
817
+ }, {
818
+ readonly file: "store/operations/node-write-pipeline.ts";
819
+ readonly member: "insertUniqueBatch";
820
+ }, {
821
+ readonly file: "store/operations/node-write-pipeline.ts";
822
+ readonly member: "checkUniqueBatch";
823
+ }, {
824
+ readonly file: "store/operations/node-operations.ts";
825
+ readonly member: "hardDeleteUniquesByNodeIds";
826
+ }, {
827
+ readonly file: "store/operations/node-operations.ts";
828
+ readonly member: "insertUniqueBatch";
829
+ }, {
830
+ readonly file: "store/operations/node-operations.ts";
831
+ readonly member: "checkUniqueBatch";
832
+ readonly lines: readonly [1993];
833
+ }];
834
+ }, {
835
+ readonly operation: "resolved node write";
836
+ readonly disposition: {
837
+ readonly kind: "refuse";
838
+ readonly code: "RESOLVED_NODE_UNIQUENESS_UNSUPPORTED";
839
+ };
840
+ readonly requires: readonly ["hardDeleteUniquesByNodeIds", "insertUniqueBatch", "checkUniqueBatch"];
841
+ readonly sites: readonly [{
842
+ readonly file: "store/claims/resolved-node-claims.ts";
843
+ readonly member: "checkUniqueBatch";
844
+ readonly lines: readonly [211];
845
+ }, {
846
+ readonly file: "store/claims/resolved-node-claims.ts";
847
+ readonly member: "checkUniqueBatch";
848
+ readonly lines: readonly [292];
849
+ }, {
850
+ readonly file: "store/claims/resolved-node-claims.ts";
851
+ readonly member: "hardDeleteUniquesByNodeIds";
852
+ }, {
853
+ readonly file: "store/claims/resolved-node-claims.ts";
854
+ readonly member: "insertUniqueBatch";
855
+ }];
856
+ }];
857
+ }, {
858
+ readonly id: "batchPointRead";
859
+ readonly kind: "graduated";
860
+ readonly crossCheck: "none";
861
+ readonly portSurfaceCode: "BUNDLE_PORT_SURFACE_MISMATCH";
862
+ readonly extras: readonly [{
863
+ readonly id: "getNodes";
864
+ readonly members: readonly ["getNodes"];
865
+ readonly disposition: {
866
+ readonly kind: "fallback";
867
+ readonly fallback: "per-id getNode";
868
+ };
869
+ }, {
870
+ readonly id: "getEdges";
871
+ readonly members: readonly ["getEdges"];
872
+ readonly disposition: {
873
+ readonly kind: "fallback";
874
+ readonly fallback: "per-id getEdge";
875
+ };
876
+ }];
877
+ readonly operations: readonly [{
878
+ readonly operation: "search hydration";
879
+ readonly disposition: {
880
+ readonly kind: "fallback";
881
+ readonly fallback: "per-id getNode";
882
+ };
883
+ readonly requires: readonly ["getNodes"];
884
+ readonly sites: readonly [{
885
+ readonly file: "store/search.ts";
886
+ readonly member: "getNodes";
887
+ }];
888
+ }, {
889
+ readonly operation: "import reference validation";
890
+ readonly disposition: {
891
+ readonly kind: "fallback";
892
+ readonly fallback: "per-row getNode in the routing loop";
893
+ };
894
+ readonly requires: readonly ["getNodes"];
895
+ readonly sites: readonly [{
896
+ readonly file: "interchange/import.ts";
897
+ readonly member: "getNodes";
898
+ }];
899
+ }, {
900
+ readonly operation: "import edge endpoint hydration";
901
+ readonly disposition: {
902
+ readonly kind: "fallback";
903
+ readonly fallback: "per-row getEdge";
904
+ };
905
+ readonly requires: readonly ["getEdges"];
906
+ readonly sites: readonly [{
907
+ readonly file: "interchange/import.ts";
908
+ readonly member: "getEdges";
909
+ }];
910
+ }, {
911
+ readonly operation: "edge batch endpoint priming";
912
+ readonly disposition: {
913
+ readonly kind: "fallback";
914
+ readonly fallback: "skip the priming pass; endpoint validation reads per-row";
915
+ };
916
+ readonly requires: readonly ["getNodes"];
917
+ readonly sites: readonly [{
918
+ readonly file: "store/operations/edge-operations.ts";
919
+ readonly member: "getNodes";
920
+ }];
921
+ }, {
922
+ readonly operation: "node create batch priming";
923
+ readonly disposition: {
924
+ readonly kind: "fallback";
925
+ readonly fallback: "skip priming; per-row probes";
926
+ };
927
+ readonly requires: readonly ["getNodes"];
928
+ readonly sites: readonly [{
929
+ readonly file: "store/operations/node-operations.ts";
930
+ readonly member: "getNodes";
931
+ }];
932
+ }, {
933
+ readonly operation: "node collection batch load";
934
+ readonly disposition: {
935
+ readonly kind: "fallback";
936
+ readonly fallback: "per-id getNode";
937
+ };
938
+ readonly requires: readonly ["getNodes"];
939
+ readonly sites: readonly [{
940
+ readonly file: "store/collections/node-collection.ts";
941
+ readonly member: "getNodes";
942
+ }];
943
+ }, {
944
+ readonly operation: "node batch fetch";
945
+ readonly disposition: {
946
+ readonly kind: "fallback";
947
+ readonly fallback: "per-id getNode";
948
+ };
949
+ readonly requires: readonly ["getNodes"];
950
+ readonly sites: readonly [{
951
+ readonly file: "store/node-fetch.ts";
952
+ readonly member: "getNodes";
953
+ }];
954
+ }, {
955
+ readonly operation: "edge batch fetch";
956
+ readonly disposition: {
957
+ readonly kind: "fallback";
958
+ readonly fallback: "per-id getEdge";
959
+ };
960
+ readonly requires: readonly ["getEdges"];
961
+ readonly sites: readonly [{
962
+ readonly file: "store/edge-fetch.ts";
963
+ readonly member: "getEdges";
964
+ }];
965
+ }, {
966
+ readonly operation: "identity member hydration";
967
+ readonly disposition: {
968
+ readonly kind: "fallback";
969
+ readonly fallback: "per-id getNode";
970
+ };
971
+ readonly requires: readonly ["getNodes"];
972
+ readonly sites: readonly [{
973
+ readonly file: "store/store.ts";
974
+ readonly member: "getNodes";
975
+ }];
976
+ }];
977
+ }, {
978
+ readonly id: "statementExecution";
979
+ readonly kind: "gated";
980
+ readonly core: readonly ["executeStatement"];
981
+ readonly crossCheck: "none";
982
+ readonly portSurfaceCode: "BUNDLE_PORT_SURFACE_MISMATCH";
983
+ readonly disposition: {
984
+ readonly kind: "refuse";
985
+ readonly code: "IDENTITY_REQUIRES_STATEMENT_EXECUTION";
986
+ };
987
+ readonly operations: readonly [{
988
+ readonly operation: "identity statement execution";
989
+ readonly disposition: {
990
+ readonly kind: "refuse";
991
+ readonly code: "IDENTITY_REQUIRES_STATEMENT_EXECUTION";
992
+ };
993
+ readonly sites: readonly [{
994
+ readonly file: "identity/sql-target.ts";
995
+ readonly member: "executeStatement";
996
+ readonly rewiring: {
997
+ readonly class: "deferred";
998
+ readonly reason: "requires verdict threading through IdentityServiceContext / the capture session — WS5b input, measured at ~13 files/~35 signatures";
999
+ };
1000
+ }];
1001
+ }, {
1002
+ readonly operation: "recorded capture statement";
1003
+ readonly disposition: {
1004
+ readonly kind: "refuse";
1005
+ readonly code: "RECORDED_CAPTURE_STATEMENT_UNSUPPORTED";
1006
+ };
1007
+ readonly sites: readonly [{
1008
+ readonly file: "store/recorded-capture/guards.ts";
1009
+ readonly member: "executeStatement";
1010
+ readonly lines: readonly [62, 79];
1011
+ readonly rewiring: {
1012
+ readonly class: "deferred";
1013
+ readonly reason: "requires verdict threading through IdentityServiceContext / the capture session — WS5b input, measured at ~13 files/~35 signatures";
1014
+ };
1015
+ }];
1016
+ }, {
1017
+ readonly operation: "history construction gate";
1018
+ readonly disposition: {
1019
+ readonly kind: "refuse";
1020
+ readonly code: "HISTORY_REQUIRES_STATEMENT_EXECUTION";
1021
+ };
1022
+ readonly sites: readonly [{
1023
+ readonly file: "store/recorded-capture/guards.ts";
1024
+ readonly member: "executeStatement";
1025
+ readonly lines: readonly [251];
1026
+ }];
1027
+ }, {
1028
+ readonly operation: "revision tracking construction gate";
1029
+ readonly disposition: {
1030
+ readonly kind: "refuse";
1031
+ readonly code: "REVISION_TRACKING_REQUIRES_STATEMENT_EXECUTION";
1032
+ };
1033
+ readonly sites: readonly [{
1034
+ readonly file: "store/recorded-capture/guards.ts";
1035
+ readonly member: "executeStatement";
1036
+ readonly lines: readonly [299];
1037
+ }];
1038
+ }, {
1039
+ readonly operation: "history-unsafe raw write overlay";
1040
+ readonly disposition: {
1041
+ readonly kind: "fallback";
1042
+ readonly fallback: "omit the overriding member; the port's own absence stands";
1043
+ };
1044
+ readonly sites: readonly [{
1045
+ readonly file: "store/recorded-capture/guards.ts";
1046
+ readonly member: "executeStatement";
1047
+ readonly lines: readonly [219];
1048
+ readonly rewiring: {
1049
+ readonly class: "reasoned";
1050
+ readonly reason: "genuinely a port-surface presence test; re-keying it on a verdict changes behavior in both directions (a phantom-rejecting stub one way, a raw-write escape on a history-enabled store the other — a safety regression), and adding a non-throwing gated accessor to the frozen binder surface for ONE site is the over-generalization anti-pattern";
1051
+ };
1052
+ }];
1053
+ }, {
1054
+ readonly operation: "identity construction gate";
1055
+ readonly disposition: {
1056
+ readonly kind: "refuse";
1057
+ readonly code: "IDENTITY_REQUIRES_ATOMIC_BACKEND";
1058
+ };
1059
+ readonly sites: readonly [{
1060
+ readonly file: "store/store.ts";
1061
+ readonly member: "executeStatement";
1062
+ readonly lines: readonly [921];
1063
+ }, {
1064
+ readonly file: "store/store.ts";
1065
+ readonly member: "executeStatement";
1066
+ readonly lines: readonly [928];
1067
+ }];
1068
+ }, {
1069
+ readonly operation: "validity window repair";
1070
+ readonly disposition: {
1071
+ readonly kind: "refuse";
1072
+ readonly code: "VALIDITY_WINDOW_REPAIR_REQUIRES_STATEMENT_EXECUTION";
1073
+ };
1074
+ readonly sites: readonly [{
1075
+ readonly file: "backend/repair-validity-windows.ts";
1076
+ readonly member: "executeStatement";
1077
+ }];
1078
+ }, {
1079
+ readonly operation: "recorded-time migration";
1080
+ readonly disposition: {
1081
+ readonly kind: "refuse";
1082
+ readonly code: "RECORDED_TIME_MIGRATION_REQUIRES_STATEMENT_EXECUTION";
1083
+ };
1084
+ readonly sites: readonly [{
1085
+ readonly file: "backend/migrate-recorded-time.ts";
1086
+ readonly member: "executeStatement";
1087
+ readonly lines: readonly [154, 161, 801];
1088
+ readonly rewiring: {
1089
+ readonly class: "deferred";
1090
+ readonly reason: "the delete path's public Pick-typed backend cannot reach resolveBundle, and the shared module-private helpers make a single-path rewire two owners";
1091
+ };
1092
+ }];
1093
+ }];
1094
+ }, {
1095
+ readonly id: "contributionHealth";
1096
+ readonly kind: "graduated";
1097
+ readonly declaration: "contributions";
1098
+ readonly crossCheck: "none";
1099
+ readonly portSurfaceCode: "BUNDLE_PORT_SURFACE_MISMATCH";
1100
+ readonly extras: readonly [{
1101
+ readonly id: "verifyContributions";
1102
+ readonly members: readonly ["verifyContributions"];
1103
+ readonly disposition: {
1104
+ readonly kind: "refuse";
1105
+ readonly code: "CONTRIBUTION_VERIFY_UNSUPPORTED";
1106
+ };
1107
+ }, {
1108
+ readonly id: "repairContributions";
1109
+ readonly members: readonly ["repairContributions"];
1110
+ readonly disposition: {
1111
+ readonly kind: "refuse";
1112
+ readonly code: "CONTRIBUTION_REPAIR_UNSUPPORTED";
1113
+ };
1114
+ }, {
1115
+ readonly id: "rebuildContribution";
1116
+ readonly members: readonly ["rebuildContribution"];
1117
+ readonly disposition: {
1118
+ readonly kind: "refuse";
1119
+ readonly code: "CONTRIBUTION_REBUILD_UNSUPPORTED";
1120
+ };
1121
+ }, {
1122
+ readonly id: "probeContributions";
1123
+ readonly members: readonly ["probeContributions"];
1124
+ readonly disposition: {
1125
+ readonly kind: "fallback";
1126
+ readonly fallback: "{entries: []}";
1127
+ };
1128
+ }];
1129
+ readonly operations: readonly [{
1130
+ readonly operation: "contribution verify";
1131
+ readonly disposition: {
1132
+ readonly kind: "refuse";
1133
+ readonly code: "CONTRIBUTION_VERIFY_UNSUPPORTED";
1134
+ };
1135
+ readonly requires: readonly ["verifyContributions"];
1136
+ readonly sites: readonly [{
1137
+ readonly file: "store/store.ts";
1138
+ readonly member: "verifyContributions";
1139
+ }];
1140
+ }, {
1141
+ readonly operation: "contribution repair";
1142
+ readonly disposition: {
1143
+ readonly kind: "refuse";
1144
+ readonly code: "CONTRIBUTION_REPAIR_UNSUPPORTED";
1145
+ };
1146
+ readonly requires: readonly ["repairContributions"];
1147
+ readonly sites: readonly [{
1148
+ readonly file: "store/store.ts";
1149
+ readonly member: "repairContributions";
1150
+ }];
1151
+ }, {
1152
+ readonly operation: "contribution rebuild";
1153
+ readonly disposition: {
1154
+ readonly kind: "refuse";
1155
+ readonly code: "CONTRIBUTION_REBUILD_UNSUPPORTED";
1156
+ };
1157
+ readonly requires: readonly ["rebuildContribution"];
1158
+ readonly sites: readonly [{
1159
+ readonly file: "store/store.ts";
1160
+ readonly member: "rebuildContribution";
1161
+ }];
1162
+ }, {
1163
+ readonly operation: "contribution probe";
1164
+ readonly disposition: {
1165
+ readonly kind: "fallback";
1166
+ readonly fallback: "{entries: []}";
1167
+ };
1168
+ readonly requires: readonly ["probeContributions"];
1169
+ readonly sites: readonly [{
1170
+ readonly file: "store/store.ts";
1171
+ readonly member: "probeContributions";
1172
+ }];
1173
+ readonly declarationGate: true;
1174
+ }];
1175
+ }, {
1176
+ readonly id: "recordedRevisionOrigins";
1177
+ readonly kind: "gated";
1178
+ readonly core: readonly ["ensureRevisionOriginsTable"];
1179
+ readonly crossCheck: "none";
1180
+ readonly portSurfaceCode: "BUNDLE_PORT_SURFACE_MISMATCH";
1181
+ readonly disposition: {
1182
+ readonly kind: "refuse";
1183
+ readonly code: "REVISION_TRACKING_REQUIRES_REVISION_ORIGINS";
1184
+ };
1185
+ readonly operations: readonly [{
1186
+ readonly operation: "revision tracking construction gate";
1187
+ readonly disposition: {
1188
+ readonly kind: "refuse";
1189
+ readonly code: "REVISION_TRACKING_REQUIRES_REVISION_ORIGINS";
1190
+ };
1191
+ readonly sites: readonly [{
1192
+ readonly file: "store/recorded-capture/guards.ts";
1193
+ readonly member: "ensureRevisionOriginsTable";
1194
+ }];
1195
+ }, {
1196
+ readonly operation: "revision origin bootstrap";
1197
+ readonly disposition: {
1198
+ readonly kind: "refuse";
1199
+ readonly code: "REVISION_ORIGIN_BOOTSTRAP_UNSUPPORTED";
1200
+ };
1201
+ readonly sites: readonly [{
1202
+ readonly file: "store/recorded-capture/clock.ts";
1203
+ readonly member: "ensureRevisionOriginsTable";
1204
+ }];
1205
+ }];
1206
+ }];
1207
+ type CapabilityBundleId = (typeof CAPABILITY_BUNDLES)[number]["id"];
1208
+ /** No bundle should ever own this member; the reason is the fact to preserve. */
1209
+ type ReasonedUnbundledMember = Readonly<{
1210
+ kind: "reasoned";
1211
+ reason: string;
1212
+ /** Measured receiver-scoped access count (§Baselines). May be 0. */
1213
+ accesses: number;
1214
+ }>;
1215
+ /** The 15 WS5b bundle ids, retained from the round-4 sweep table. */
1216
+ type Ws5bBundleId = "batchEntityWrite" | "endpointSetRead" | "heterogeneousEndpointSetRead" | "vectorOperations" | "hybridSearch" | "vectorSlotContributions" | "fulltextOperations" | "fulltextProvisioning" | "databaseExtensions" | "contributionProvisioning" | "indexMaterialization" | "ddlExecution" | "temporaryStatements" | "rawStatementReuse" | "trustedImport";
1217
+ /** WS5b's residue: this bundle owns it, and the access count may not grow. */
1218
+ type DeferredUnbundledMember = Readonly<{
1219
+ kind: "deferred";
1220
+ workstream: "WS5b";
1221
+ bundle: Ws5bBundleId;
1222
+ /** Measured receiver-scoped access count (§Baselines) — the ceiling. */
1223
+ ceiling: number;
1224
+ }>;
1225
+ type UnbundledOptionalMember = ReasonedUnbundledMember | DeferredUnbundledMember;
1226
+ /**
1227
+ * The 20 `reasoned` + 47 `deferred` members — 61 + 190 = 251 accesses
1228
+ * (B9's scanner corrected two `reasoned` counts: `tableNames` 22→23,
1229
+ * `ensureIdentityTables` 3→4; #520 then added `recordedTableDdl` with one
1230
+ * access), 15 + 67 = 82 members total with the pilot's 15.
1231
+ */
1232
+ declare const UNBUNDLED_OPTIONAL_MEMBERS: {
1233
+ readonly bootstrapTables: {
1234
+ readonly kind: "reasoned";
1235
+ readonly reason: "One-shot provisioning hook consulted by createStore before any capability question exists; it has no operation that could refuse or degrade.";
1236
+ readonly accesses: 3;
1237
+ };
1238
+ readonly tableNames: {
1239
+ readonly kind: "reasoned";
1240
+ readonly reason: "Not a capability — a name map the compiler reads on every backend. Absence is impossible in practice and meaningless as a decision.";
1241
+ readonly accesses: 23;
1242
+ };
1243
+ readonly commitSchemaVersionIfKindsEmpty: {
1244
+ readonly kind: "reasoned";
1245
+ readonly reason: "Schema-version write fence, a SchemaCommitBackend role member. Its absence is dispositioned by the schema manager's own gate, which is a write-pipeline decision, not a feature-family one.";
1246
+ readonly accesses: 1;
1247
+ };
1248
+ readonly commitSchemaVersionWithPreflight: {
1249
+ readonly kind: "reasoned";
1250
+ readonly reason: "Same schema-version write-fence family as commitSchemaVersionIfKindsEmpty.";
1251
+ readonly accesses: 2;
1252
+ };
1253
+ readonly lockSchemaVersionForWrite: {
1254
+ readonly kind: "reasoned";
1255
+ readonly reason: "Same family; also the one schema member on TransactionBackend, so bundling it would re-open the accessor's B-1 port-typing question for no pilot consumer.";
1256
+ readonly accesses: 1;
1257
+ };
1258
+ readonly schemaWriteTransaction: {
1259
+ readonly kind: "reasoned";
1260
+ readonly reason: "Same family — and it returns a narrowed transaction backend, so it is a port constructor rather than an operation.";
1261
+ readonly accesses: 4;
1262
+ };
1263
+ readonly ensureIdentityTables: {
1264
+ readonly kind: "reasoned";
1265
+ readonly reason: "Identity DDL, gated by the identity construction gate (store.ts:918-935), which is the write-fence design's decision and must stay one owner there.";
1266
+ readonly accesses: 4;
1267
+ };
1268
+ readonly identityTableDdl: {
1269
+ readonly kind: "reasoned";
1270
+ readonly reason: "Same identity-DDL family as ensureIdentityTables.";
1271
+ readonly accesses: 2;
1272
+ };
1273
+ readonly recordedTableDdl: {
1274
+ readonly kind: "reasoned";
1275
+ readonly reason: "Recorded-time migration DDL factory; its only consumer has its own typed capability refusal, so it is a provisioning port rather than a feature-family operation.";
1276
+ readonly accesses: 1;
1277
+ };
1278
+ readonly ensureKindRemovalsTable: {
1279
+ readonly kind: "reasoned";
1280
+ readonly reason: "Kind-removal provisioning; the removal path's own gate is a schema-lifecycle decision with a single consumer (materialize-removals.ts) and no second theory to consolidate.";
1281
+ readonly accesses: 3;
1282
+ };
1283
+ readonly getAllKindRemovals: {
1284
+ readonly kind: "reasoned";
1285
+ readonly reason: "Same kind-removal family as ensureKindRemovalsTable.";
1286
+ readonly accesses: 2;
1287
+ };
1288
+ readonly getPendingKindRemovals: {
1289
+ readonly kind: "reasoned";
1290
+ readonly reason: "Same kind-removal family as ensureKindRemovalsTable.";
1291
+ readonly accesses: 4;
1292
+ };
1293
+ readonly recordKindRemoval: {
1294
+ readonly kind: "reasoned";
1295
+ readonly reason: "Same kind-removal family as ensureKindRemovalsTable.";
1296
+ readonly accesses: 4;
1297
+ };
1298
+ readonly ensureReconciliationMarkersTable: {
1299
+ readonly kind: "reasoned";
1300
+ readonly reason: "Reconciliation-marker family; single consumer, single gate, same reasoning.";
1301
+ readonly accesses: 2;
1302
+ };
1303
+ readonly getReconciliationMarker: {
1304
+ readonly kind: "reasoned";
1305
+ readonly reason: "Same reconciliation-marker family.";
1306
+ readonly accesses: 2;
1307
+ };
1308
+ readonly setReconciliationMarker: {
1309
+ readonly kind: "reasoned";
1310
+ readonly reason: "Same reconciliation-marker family.";
1311
+ readonly accesses: 2;
1312
+ };
1313
+ readonly readConstraintFenceViolations: {
1314
+ readonly kind: "reasoned";
1315
+ readonly reason: "Read-only fence audit with exactly one caller and a documented \"absent ⇒ the report is unavailable\" contract (history-store-backend.ts:105-108); no operation degrades or refuses on it.";
1316
+ readonly accesses: 1;
1317
+ };
1318
+ readonly ensureContributionMaterializationsTable: {
1319
+ readonly kind: "reasoned";
1320
+ readonly reason: "Zero consumers in src/** outside the backend implementations — measured, not inferred. A member no code path consults has no measurable arity or disposition.";
1321
+ readonly accesses: 0;
1322
+ };
1323
+ readonly getContributionMaterialization: {
1324
+ readonly kind: "reasoned";
1325
+ readonly reason: "Same zero-consumer family as ensureContributionMaterializationsTable.";
1326
+ readonly accesses: 0;
1327
+ };
1328
+ readonly recordContributionMaterialization: {
1329
+ readonly kind: "reasoned";
1330
+ readonly reason: "Zero consumers outside the backend implementations; its only in-tree use is a backend implementation calling its own member (backend/drizzle/contribution-materializations.ts:1588), which the scanner excludes by scope.";
1331
+ readonly accesses: 0;
1332
+ };
1333
+ readonly assertRuntimeContributionsInitialized: {
1334
+ readonly kind: "deferred";
1335
+ readonly workstream: "WS5b";
1336
+ readonly bundle: "contributionProvisioning";
1337
+ readonly ceiling: 1;
1338
+ };
1339
+ readonly assertVectorSlotInitialized: {
1340
+ readonly kind: "deferred";
1341
+ readonly workstream: "WS5b";
1342
+ readonly bundle: "vectorSlotContributions";
1343
+ readonly ceiling: 1;
1344
+ };
1345
+ readonly assertVectorSlotsInitialized: {
1346
+ readonly kind: "deferred";
1347
+ readonly workstream: "WS5b";
1348
+ readonly bundle: "vectorSlotContributions";
1349
+ readonly ceiling: 1;
1350
+ };
1351
+ readonly claimIndexMaterialization: {
1352
+ readonly kind: "deferred";
1353
+ readonly workstream: "WS5b";
1354
+ readonly bundle: "indexMaterialization";
1355
+ readonly ceiling: 2;
1356
+ };
1357
+ readonly compileSql: {
1358
+ readonly kind: "deferred";
1359
+ readonly workstream: "WS5b";
1360
+ readonly bundle: "rawStatementReuse";
1361
+ readonly ceiling: 9;
1362
+ };
1363
+ readonly createVectorIndex: {
1364
+ readonly kind: "deferred";
1365
+ readonly workstream: "WS5b";
1366
+ readonly bundle: "vectorOperations";
1367
+ readonly ceiling: 4;
1368
+ };
1369
+ readonly deleteEdgesBatch: {
1370
+ readonly kind: "deferred";
1371
+ readonly workstream: "WS5b";
1372
+ readonly bundle: "batchEntityWrite";
1373
+ readonly ceiling: 5;
1374
+ };
1375
+ readonly deleteEmbedding: {
1376
+ readonly kind: "deferred";
1377
+ readonly workstream: "WS5b";
1378
+ readonly bundle: "vectorOperations";
1379
+ readonly ceiling: 8;
1380
+ };
1381
+ readonly deleteEmbeddingBatch: {
1382
+ readonly kind: "deferred";
1383
+ readonly workstream: "WS5b";
1384
+ readonly bundle: "vectorOperations";
1385
+ readonly ceiling: 4;
1386
+ };
1387
+ readonly deleteFulltext: {
1388
+ readonly kind: "deferred";
1389
+ readonly workstream: "WS5b";
1390
+ readonly bundle: "fulltextOperations";
1391
+ readonly ceiling: 11;
1392
+ };
1393
+ readonly deleteFulltextBatch: {
1394
+ readonly kind: "deferred";
1395
+ readonly workstream: "WS5b";
1396
+ readonly bundle: "fulltextOperations";
1397
+ readonly ceiling: 6;
1398
+ };
1399
+ readonly deleteVectorSlotContribution: {
1400
+ readonly kind: "deferred";
1401
+ readonly workstream: "WS5b";
1402
+ readonly bundle: "vectorSlotContributions";
1403
+ readonly ceiling: 0;
1404
+ };
1405
+ readonly dropVectorIndex: {
1406
+ readonly kind: "deferred";
1407
+ readonly workstream: "WS5b";
1408
+ readonly bundle: "vectorOperations";
1409
+ readonly ceiling: 0;
1410
+ };
1411
+ readonly ensureExtension: {
1412
+ readonly kind: "deferred";
1413
+ readonly workstream: "WS5b";
1414
+ readonly bundle: "databaseExtensions";
1415
+ readonly ceiling: 2;
1416
+ };
1417
+ readonly ensureFulltextTable: {
1418
+ readonly kind: "deferred";
1419
+ readonly workstream: "WS5b";
1420
+ readonly bundle: "fulltextProvisioning";
1421
+ readonly ceiling: 1;
1422
+ };
1423
+ readonly ensureIndexMaterializationsTable: {
1424
+ readonly kind: "deferred";
1425
+ readonly workstream: "WS5b";
1426
+ readonly bundle: "indexMaterialization";
1427
+ readonly ceiling: 2;
1428
+ };
1429
+ readonly ensureRuntimeContributions: {
1430
+ readonly kind: "deferred";
1431
+ readonly workstream: "WS5b";
1432
+ readonly bundle: "contributionProvisioning";
1433
+ readonly ceiling: 2;
1434
+ };
1435
+ readonly ensureTrigramExtension: {
1436
+ readonly kind: "deferred";
1437
+ readonly workstream: "WS5b";
1438
+ readonly bundle: "databaseExtensions";
1439
+ readonly ceiling: 2;
1440
+ };
1441
+ readonly ensureVectorSlotContribution: {
1442
+ readonly kind: "deferred";
1443
+ readonly workstream: "WS5b";
1444
+ readonly bundle: "vectorSlotContributions";
1445
+ readonly ceiling: 4;
1446
+ };
1447
+ readonly ensureVectorSlotContributions: {
1448
+ readonly kind: "deferred";
1449
+ readonly workstream: "WS5b";
1450
+ readonly bundle: "vectorSlotContributions";
1451
+ readonly ceiling: 1;
1452
+ };
1453
+ readonly executeDdl: {
1454
+ readonly kind: "deferred";
1455
+ readonly workstream: "WS5b";
1456
+ readonly bundle: "ddlExecution";
1457
+ readonly ceiling: 13;
1458
+ };
1459
+ readonly executeRaw: {
1460
+ readonly kind: "deferred";
1461
+ readonly workstream: "WS5b";
1462
+ readonly bundle: "rawStatementReuse";
1463
+ readonly ceiling: 7;
1464
+ };
1465
+ readonly executeTemporaryStatement: {
1466
+ readonly kind: "deferred";
1467
+ readonly workstream: "WS5b";
1468
+ readonly bundle: "temporaryStatements";
1469
+ readonly ceiling: 3;
1470
+ };
1471
+ readonly findEdgesByEndpointSet: {
1472
+ readonly kind: "deferred";
1473
+ readonly workstream: "WS5b";
1474
+ readonly bundle: "endpointSetRead";
1475
+ readonly ceiling: 1;
1476
+ };
1477
+ readonly findEdgesByHeterogeneousEndpointSet: {
1478
+ readonly kind: "deferred";
1479
+ readonly workstream: "WS5b";
1480
+ readonly bundle: "heterogeneousEndpointSetRead";
1481
+ readonly ceiling: 1;
1482
+ };
1483
+ readonly fulltextSearch: {
1484
+ readonly kind: "deferred";
1485
+ readonly workstream: "WS5b";
1486
+ readonly bundle: "fulltextOperations";
1487
+ readonly ceiling: 4;
1488
+ };
1489
+ readonly fulltextStrategy: {
1490
+ readonly kind: "deferred";
1491
+ readonly workstream: "WS5b";
1492
+ readonly bundle: "fulltextOperations";
1493
+ readonly ceiling: 2;
1494
+ };
1495
+ readonly getIndexMaterialization: {
1496
+ readonly kind: "deferred";
1497
+ readonly workstream: "WS5b";
1498
+ readonly bundle: "indexMaterialization";
1499
+ readonly ceiling: 3;
1500
+ };
1501
+ readonly getIndexMaterializations: {
1502
+ readonly kind: "deferred";
1503
+ readonly workstream: "WS5b";
1504
+ readonly bundle: "indexMaterialization";
1505
+ readonly ceiling: 2;
1506
+ };
1507
+ readonly hardDeleteEdgesBatch: {
1508
+ readonly kind: "deferred";
1509
+ readonly workstream: "WS5b";
1510
+ readonly bundle: "batchEntityWrite";
1511
+ readonly ceiling: 5;
1512
+ };
1513
+ readonly hybridSearch: {
1514
+ readonly kind: "deferred";
1515
+ readonly workstream: "WS5b";
1516
+ readonly bundle: "hybridSearch";
1517
+ readonly ceiling: 2;
1518
+ };
1519
+ readonly insertEdgeNoReturn: {
1520
+ readonly kind: "deferred";
1521
+ readonly workstream: "WS5b";
1522
+ readonly bundle: "batchEntityWrite";
1523
+ readonly ceiling: 4;
1524
+ };
1525
+ readonly insertEdgesBatch: {
1526
+ readonly kind: "deferred";
1527
+ readonly workstream: "WS5b";
1528
+ readonly bundle: "batchEntityWrite";
1529
+ readonly ceiling: 4;
1530
+ };
1531
+ readonly insertEdgesBatchReturning: {
1532
+ readonly kind: "deferred";
1533
+ readonly workstream: "WS5b";
1534
+ readonly bundle: "batchEntityWrite";
1535
+ readonly ceiling: 4;
1536
+ };
1537
+ readonly insertNodeNoReturn: {
1538
+ readonly kind: "deferred";
1539
+ readonly workstream: "WS5b";
1540
+ readonly bundle: "batchEntityWrite";
1541
+ readonly ceiling: 4;
1542
+ };
1543
+ readonly insertNodesBatch: {
1544
+ readonly kind: "deferred";
1545
+ readonly workstream: "WS5b";
1546
+ readonly bundle: "batchEntityWrite";
1547
+ readonly ceiling: 4;
1548
+ };
1549
+ readonly insertNodesBatchReturning: {
1550
+ readonly kind: "deferred";
1551
+ readonly workstream: "WS5b";
1552
+ readonly bundle: "batchEntityWrite";
1553
+ readonly ceiling: 4;
1554
+ };
1555
+ readonly recordIndexMaterialization: {
1556
+ readonly kind: "deferred";
1557
+ readonly workstream: "WS5b";
1558
+ readonly bundle: "indexMaterialization";
1559
+ readonly ceiling: 6;
1560
+ };
1561
+ readonly releaseIndexMaterializationClaim: {
1562
+ readonly kind: "deferred";
1563
+ readonly workstream: "WS5b";
1564
+ readonly bundle: "indexMaterialization";
1565
+ readonly ceiling: 2;
1566
+ };
1567
+ readonly trustedImport: {
1568
+ readonly kind: "deferred";
1569
+ readonly workstream: "WS5b";
1570
+ readonly bundle: "trustedImport";
1571
+ readonly ceiling: 1;
1572
+ };
1573
+ readonly updateNodeSet: {
1574
+ readonly kind: "deferred";
1575
+ readonly workstream: "WS5b";
1576
+ readonly bundle: "batchEntityWrite";
1577
+ readonly ceiling: 6;
1578
+ };
1579
+ readonly upsertEmbedding: {
1580
+ readonly kind: "deferred";
1581
+ readonly workstream: "WS5b";
1582
+ readonly bundle: "vectorOperations";
1583
+ readonly ceiling: 10;
1584
+ };
1585
+ readonly upsertEmbeddingBatch: {
1586
+ readonly kind: "deferred";
1587
+ readonly workstream: "WS5b";
1588
+ readonly bundle: "vectorOperations";
1589
+ readonly ceiling: 4;
1590
+ };
1591
+ readonly upsertFulltext: {
1592
+ readonly kind: "deferred";
1593
+ readonly workstream: "WS5b";
1594
+ readonly bundle: "fulltextOperations";
1595
+ readonly ceiling: 9;
1596
+ };
1597
+ readonly upsertFulltextBatch: {
1598
+ readonly kind: "deferred";
1599
+ readonly workstream: "WS5b";
1600
+ readonly bundle: "fulltextOperations";
1601
+ readonly ceiling: 6;
1602
+ };
1603
+ readonly vectorSearch: {
1604
+ readonly kind: "deferred";
1605
+ readonly workstream: "WS5b";
1606
+ readonly bundle: "vectorOperations";
1607
+ readonly ceiling: 4;
1608
+ };
1609
+ readonly vectorStrategy: {
1610
+ readonly kind: "deferred";
1611
+ readonly workstream: "WS5b";
1612
+ readonly bundle: "vectorOperations";
1613
+ readonly ceiling: 9;
1614
+ };
1615
+ };
1616
+ /**
1617
+ * The appendix's 15 WS5b bundles, as (bundle id → member names) — written
1618
+ * INDEPENDENTLY of `UNBUNDLED_OPTIONAL_MEMBERS`'s `deferred` entries, so the
1619
+ * totality proof below is not a tautology: grouping the `deferred` entries
1620
+ * by `bundle` must reproduce this table exactly.
1621
+ */
1622
+ declare const WS5B_SEED_BUNDLES: {
1623
+ readonly batchEntityWrite: readonly ["insertNodesBatch", "insertNodesBatchReturning", "insertEdgesBatch", "insertEdgesBatchReturning", "deleteEdgesBatch", "hardDeleteEdgesBatch", "insertNodeNoReturn", "insertEdgeNoReturn", "updateNodeSet"];
1624
+ readonly endpointSetRead: readonly ["findEdgesByEndpointSet"];
1625
+ readonly heterogeneousEndpointSetRead: readonly ["findEdgesByHeterogeneousEndpointSet"];
1626
+ readonly vectorOperations: readonly ["upsertEmbedding", "deleteEmbedding", "upsertEmbeddingBatch", "deleteEmbeddingBatch", "vectorSearch", "vectorStrategy", "createVectorIndex", "dropVectorIndex"];
1627
+ readonly hybridSearch: readonly ["hybridSearch"];
1628
+ readonly vectorSlotContributions: readonly ["assertVectorSlotsInitialized", "assertVectorSlotInitialized", "ensureVectorSlotContributions", "ensureVectorSlotContribution", "deleteVectorSlotContribution"];
1629
+ readonly fulltextOperations: readonly ["upsertFulltext", "deleteFulltext", "upsertFulltextBatch", "deleteFulltextBatch", "fulltextSearch", "fulltextStrategy"];
1630
+ readonly fulltextProvisioning: readonly ["ensureFulltextTable"];
1631
+ readonly databaseExtensions: readonly ["ensureExtension", "ensureTrigramExtension"];
1632
+ readonly contributionProvisioning: readonly ["ensureRuntimeContributions", "assertRuntimeContributionsInitialized"];
1633
+ readonly indexMaterialization: readonly ["getIndexMaterialization", "recordIndexMaterialization", "getIndexMaterializations", "ensureIndexMaterializationsTable", "claimIndexMaterialization", "releaseIndexMaterializationClaim"];
1634
+ readonly ddlExecution: readonly ["executeDdl"];
1635
+ readonly temporaryStatements: readonly ["executeTemporaryStatement"];
1636
+ readonly rawStatementReuse: readonly ["executeRaw", "compileSql"];
1637
+ readonly trustedImport: readonly ["trustedImport"];
1638
+ };
1639
+
1640
+ /**
1641
+ * A bundle's extras, as a type-level map from extra id to the UNION of
1642
+ * member names that extra covers — derived from the definition's `extras`
1643
+ * array by `const` inference, never hand-written.
1644
+ */
1645
+ type CapabilityExtraSpec = Readonly<Record<string, OptionalGraphBackendMember>>;
1646
+ /**
1647
+ * One extra's verdict. `present: true` carries the member NAMES, not the
1648
+ * member functions (ruling B1) — the names are what the accessor binds
1649
+ * from, at the site, off the port.
1650
+ */
1651
+ type ExtraVerdict<M extends OptionalGraphBackendMember> = Readonly<{
1652
+ present: true;
1653
+ members: readonly M[];
1654
+ }> | Readonly<{
1655
+ present: false;
1656
+ missing: readonly M[];
1657
+ disposition: CapabilityBundleDisposition;
1658
+ }>;
1659
+ /** The verdict map: one entry per extra id, never a boolean. */
1660
+ type ExtraVerdicts<X extends CapabilityExtraSpec> = Readonly<{
1661
+ [K in keyof X]: ExtraVerdict<X[K]>;
1662
+ }>;
1663
+ type GatedBundleVerdict<MCore extends OptionalGraphBackendMember, X extends CapabilityExtraSpec> = Readonly<{
1664
+ supported: true;
1665
+ bundle: string;
1666
+ /** The core, guaranteed present. Names, not functions. */
1667
+ members: readonly MCore[];
1668
+ extras: ExtraVerdicts<X>;
1669
+ /** The `present: false` keys of `extras`. */
1670
+ missingExtras: readonly (keyof X)[];
1671
+ }> | Readonly<{
1672
+ supported: false;
1673
+ bundle: string;
1674
+ missing: readonly MCore[];
1675
+ /** Why it is unsupported: the bundle's own `disposition`, verbatim. */
1676
+ disposition: CapabilityBundleDisposition;
1677
+ }>;
1678
+ /** No `supported` field: a graduated bundle has no bundle-level verdict. */
1679
+ type GraduatedBundleVerdict<X extends CapabilityExtraSpec> = Readonly<{
1680
+ bundle: string;
1681
+ extras: ExtraVerdicts<X>;
1682
+ missingExtras: readonly (keyof X)[];
1683
+ }>;
1684
+ /**
1685
+ * Recovers the id→members map from a definition's `extras` TUPLE (not
1686
+ * `readonly CapabilityBundleExtra<XId, MExtra>[]` — over the array type the
1687
+ * id→members association is erased and `ExtraVerdicts<X>` degenerates to an
1688
+ * index signature).
1689
+ */
1690
+ type SpecOf<XS extends readonly CapabilityBundleExtra<string, OptionalGraphBackendMember>[]> = {
1691
+ [K in XS[number] as K["id"]]: K["members"][number];
1692
+ };
1693
+ type ExtrasOf<D extends CapabilityBundleDefinition> = SpecOf<NonNullable<D["extras"]>>;
1694
+ type ExtraMember<D extends CapabilityBundleDefinition, X extends keyof ExtrasOf<D>> = Extract<ExtrasOf<D>[X], OptionalGraphBackendMember>;
1695
+ /**
1696
+ * The definition union and the return-type mapping. Structural, matching
1697
+ * `bundle-registry.ts`'s `BundleMembers` helper's own lesson: reading `core`
1698
+ * off `D` directly (rather than re-matching `GatedBundleDefinition`) avoids
1699
+ * an unmatched `infer` silently widening to the member constraint.
1700
+ */
1701
+ type BundleVerdictOf<D extends CapabilityBundleDefinition> = D extends ({
1702
+ kind: "graduated";
1703
+ extras: infer XS extends readonly CapabilityBundleExtra<string, OptionalGraphBackendMember>[];
1704
+ }) ? GraduatedBundleVerdict<SpecOf<XS>> : D extends ({
1705
+ kind: "gated";
1706
+ core: readonly (infer MCore extends OptionalGraphBackendMember)[];
1707
+ extras?: infer XS extends readonly CapabilityBundleExtra<string, OptionalGraphBackendMember>[] | undefined;
1708
+ }) ? GatedBundleVerdict<MCore, SpecOf<XS extends (readonly CapabilityBundleExtra<string, OptionalGraphBackendMember>[]) ? XS : []>> : never;
1709
+ /**
1710
+ * Resolved ONCE, at construction or entry, against the top-level backend —
1711
+ * never against a `TransactionBackend` (I15's `@ts-expect-error` row).
1712
+ *
1713
+ * Rules: the member surface is read always; the declaration is read only
1714
+ * when the definition names one AND `crossCheck !== "none"` (only `claims`
1715
+ * qualifies in the pilot registry); a gated bundle's core must be complete
1716
+ * or the bundle is unsupported with `missing`; a graduated bundle has no
1717
+ * bundle-level verdict, only per-extra verdicts. `missingExtras` is built by
1718
+ * the SAME fold that builds `extras` (one pass, one owner).
1719
+ */
1720
+ declare function resolveBundle<const D extends CapabilityBundleDefinition>(backend: GraphBackend, definition: D): BundleVerdictOf<D>;
1721
+ /** The literal operation names a bundle's `operations` table declares. */
1722
+ type OperationNames<D extends CapabilityBundleDefinition> = D["operations"][number]["operation"];
1723
+ /** The extras a named operation `requires`, read from the ROW — never re-spelled at the call site. */
1724
+ type RequiredExtrasOf<D extends CapabilityBundleDefinition, Op extends OperationNames<D>> = Extract<D["operations"][number], {
1725
+ operation: Op;
1726
+ }> extends ({
1727
+ requires: infer R extends readonly string[];
1728
+ }) ? R[number] : never;
1729
+ /**
1730
+ * The registry's row lookup plus the presence fold, extracted verbatim from
1731
+ * {@link requireExtras}'s body (ruling B8 spec item 3): the ONE owner of
1732
+ * "what this operation requires" that both `requireExtras`'s default throw
1733
+ * and a call site's own `refuse` callback consult.
1734
+ *
1735
+ * `operation` is the literal key of the bundle's `operations` tuple, so the
1736
+ * required extras are looked up TYPE-LEVEL from the registry — no second
1737
+ * spelling of `requires` at the call site.
1738
+ *
1739
+ * @throws {ConfigurationError} naming the unknown operation when `operation`
1740
+ * is not a row of `definition.operations`.
1741
+ */
1742
+ declare function missingRequiredExtras<const D extends CapabilityBundleDefinition, Op extends OperationNames<D>>(definition: D, verdict: BundleVerdictOf<D>, operation: Op): readonly string[];
1743
+ /**
1744
+ * The refusal for an operation whose `requires` extras are absent — how a
1745
+ * GRADUATED bundle refuses where the tree refuses today: the row names the
1746
+ * operation and the extras, this asserts they are present, and
1747
+ * {@link bindExtra} (`bind.ts`) binds them off the port.
1748
+ *
1749
+ * `refuse`, when supplied, is called instead of the registry-coded throw
1750
+ * below — this is how a call site keeps its OWN existing error text (message,
1751
+ * `details` shape, order relative to other refusals) while the registry
1752
+ * stays the one owner of "what this operation requires" (ruling B8 spec item
1753
+ * 3). Omitting it keeps the default behavior byte-identical to before this
1754
+ * parameter existed.
1755
+ *
1756
+ * @throws {ConfigurationError} naming the row's own `code` when one or more
1757
+ * required extras is absent from the verdict and no `refuse` callback is
1758
+ * supplied; otherwise calls `refuse(missing)`, which never returns.
1759
+ */
1760
+ declare function requireExtras<const D extends CapabilityBundleDefinition, Op extends OperationNames<D>>(definition: D, verdict: BundleVerdictOf<D>, operation: Op, refuse?: (missing: readonly string[]) => never): asserts verdict is BundleVerdictOf<D> & {
1761
+ extras: {
1762
+ [K in RequiredExtrasOf<D, Op> & keyof ExtrasOf<D>]: Extract<ExtraVerdict<ExtraMember<D, K>>, {
1763
+ present: true;
1764
+ }>;
1765
+ };
1766
+ };
1767
+ declare function claimsVerdict(backend: GraphBackend): BundleVerdictOf<typeof CLAIMS>;
1768
+ declare function uniqueSidecarBatchVerdict(backend: GraphBackend): BundleVerdictOf<typeof UNIQUE_SIDECAR_BATCH>;
1769
+ declare function batchPointReadVerdict(backend: GraphBackend): BundleVerdictOf<typeof BATCH_POINT_READ>;
1770
+ declare function statementExecutionVerdict(backend: GraphBackend): BundleVerdictOf<typeof STATEMENT_EXECUTION>;
1771
+ declare function contributionHealthVerdict(backend: GraphBackend): BundleVerdictOf<typeof CONTRIBUTION_HEALTH>;
1772
+ declare function recordedRevisionOriginsVerdict(backend: GraphBackend): BundleVerdictOf<typeof RECORDED_REVISION_ORIGINS>;
1773
+ /**
1774
+ * A memoized, at-most-once resolution of the `claims` bundle's verdict
1775
+ * against ONE backend.
1776
+ *
1777
+ * Eager resolution at store construction is forbidden: T14's
1778
+ * contradictory-declaration backends must still be able to construct a store
1779
+ * and create nodes — only a constrained edge write may legally reach the
1780
+ * bidirectional cross-check's throw, and it must do so lazily, at the first
1781
+ * write that needs the verdict.
1782
+ *
1783
+ * A cached verdict cannot go stale because `GraphBackend` is deep-frozen (B1):
1784
+ * nothing can flip `capabilities.constraintClaims` or add/remove a claim
1785
+ * member on a backend object after this thunk has already resolved it, so
1786
+ * "resolve once and reuse forever" is exactly as safe as "resolve every
1787
+ * time" — for one backend object, they observe the same immutable answer.
1788
+ */
1789
+ type ClaimsVerdictThunk = () => BundleVerdictOf<typeof CLAIMS>;
1790
+ /**
1791
+ * Mints — or returns the already-minted — {@link ClaimsVerdictThunk} for
1792
+ * `backend`.
1793
+ *
1794
+ * The thunk resolves {@link resolveBundle}`(backend, CLAIMS)` on its first
1795
+ * call and caches the outcome, INCLUDING a thrown `ConfigurationError`: a
1796
+ * refusal is cached and re-thrown on every subsequent call, never
1797
+ * re-resolved. Both layers — interning here, memoization inside the thunk —
1798
+ * are required: interning alone would still let two independently-memoized
1799
+ * thunks exist for one backend if a caller ignored the shared one; memoizing
1800
+ * alone would still let two different call sites mint two different thunks
1801
+ * that could disagree about whether they had already resolved.
1802
+ */
1803
+ declare function createClaimsVerdictThunk(backend: GraphBackend): ClaimsVerdictThunk;
1804
+
1805
+ export { batchPointReadVerdict as A, BATCH_POINT_READ as B, type CapabilityBundleId as C, type DeferredUnbundledMember as D, type ExtraMember as E, claimsVerdict as F, type GatedBundleDefinition as G, contributionHealthVerdict as H, createClaimsVerdictThunk as I, missingRequiredExtras as J, recordedRevisionOriginsVerdict as K, requireExtras as L, resolveBundle as M, statementExecutionVerdict as N, type OptionalGraphBackendMember as O, uniqueSidecarBatchVerdict as P, RECORDED_REVISION_ORIGINS as R, STATEMENT_EXECUTION as S, UNIQUE_SIDECAR_BATCH as U, WS5B_SEED_BUNDLES as W, type ExtrasOf as a, type BundleVerdictOf as b, type ExtraVerdict as c, CLAIMS as d, CONTRIBUTION_HEALTH as e, CAPABILITY_BUNDLES as f, type CapabilityBundleDefinition as g, type CapabilityBundleDisposition as h, type CapabilityBundleExtra as i, type CapabilityBundleOperation as j, type CapabilityBundleOperationSite as k, type CapabilityCrossCheck as l, type CapabilityExtraSpec as m, type ClaimsVerdictThunk as n, type ExtraVerdicts as o, type GatedBundleVerdict as p, type GraduatedBundleDefinition as q, type GraduatedBundleVerdict as r, type OperationNames as s, type OptionalKeys as t, type ReasonedUnbundledMember as u, type RequiredExtrasOf as v, type SpecOf as w, UNBUNDLED_OPTIONAL_MEMBERS as x, type UnbundledOptionalMember as y, type Ws5bBundleId as z };