@graphrefly/graphrefly 0.31.0 → 0.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (290) hide show
  1. package/dist/{cascading-D3sapjue.d.ts → cascading-Bg0a4VSf.d.ts} +2 -2
  2. package/dist/{cascading-BfQmSmjU.d.cts → cascading-DKIb6Pk8.d.cts} +2 -2
  3. package/dist/chunk-2JO6LXFT.js +7 -0
  4. package/dist/{chunk-FTA5TB2A.js → chunk-2LZ6DL45.js} +1 -1
  5. package/dist/{chunk-WQ7I7JVU.js → chunk-4F564IPP.js} +1 -1
  6. package/dist/{chunk-YQJPYEAL.js → chunk-4NYSEUKV.js} +1 -1
  7. package/dist/{chunk-N2KKISCE.js → chunk-533RQFF6.js} +1 -1
  8. package/dist/{chunk-ZM7C2FUM.js → chunk-55T3K37W.js} +1 -1
  9. package/dist/chunk-6HQ6HVTF.js +1 -0
  10. package/dist/{chunk-4VXL3UZK.js → chunk-7Q2WPFQ7.js} +1 -1
  11. package/dist/{chunk-3Q2WXM6X.js → chunk-BY4WKPKM.js} +1 -1
  12. package/dist/{chunk-4ZPO2EL5.js → chunk-C5DINHNP.js} +1 -1
  13. package/dist/{chunk-I4U3TPK2.js → chunk-CJMFZXIZ.js} +1 -1
  14. package/dist/{chunk-W6FQIFVE.js → chunk-CLD3F4R5.js} +1 -1
  15. package/dist/chunk-DUK7LTJO.js +43 -0
  16. package/dist/{chunk-RWGJQQLT.js → chunk-FKRPIRE6.js} +1 -1
  17. package/dist/{chunk-PZP4MEXK.js → chunk-GAOX6OPT.js} +1 -1
  18. package/dist/{chunk-OKQUPJRY.js → chunk-GCUYSIM4.js} +1 -1
  19. package/dist/chunk-HIJ2RKVP.js +1 -0
  20. package/dist/{chunk-XRSHMHEG.js → chunk-HTBOCKVD.js} +1 -1
  21. package/dist/{chunk-JXRZXP3N.js → chunk-IB64M7VP.js} +1 -1
  22. package/dist/{chunk-Q2SY7M7K.js → chunk-IJFSR4NU.js} +1 -1
  23. package/dist/{chunk-YZKGGMPT.js → chunk-INXDSJRC.js} +1 -1
  24. package/dist/{chunk-WLPVGXQ6.js → chunk-IPNJDNE7.js} +1 -1
  25. package/dist/{chunk-4UUDNFYG.js → chunk-KGKJCHEK.js} +1 -1
  26. package/dist/{chunk-A4JT4SAD.js → chunk-KRH66M4O.js} +1 -1
  27. package/dist/{chunk-K54OKWNY.js → chunk-L3KUKDZC.js} +1 -1
  28. package/dist/{chunk-Y26UN6J5.js → chunk-LOF5HSD3.js} +1 -1
  29. package/dist/chunk-LYCLF26R.js +1 -0
  30. package/dist/{chunk-CZVYLXFK.js → chunk-M27MVZCP.js} +1 -1
  31. package/dist/{chunk-DWIAG62L.js → chunk-NNKJUORL.js} +1 -1
  32. package/dist/{chunk-PNTBXOQ6.js → chunk-O2WY22L7.js} +1 -1
  33. package/dist/{chunk-JMGGCSIC.js → chunk-PBN426RU.js} +1 -1
  34. package/dist/{chunk-7EQPXQ7H.js → chunk-Q46YJCQH.js} +1 -1
  35. package/dist/{chunk-4KAUNEKV.js → chunk-SFIM774L.js} +1 -1
  36. package/dist/{chunk-EBQ6FXKW.js → chunk-T2TB37TW.js} +1 -1
  37. package/dist/{chunk-UMH3HSP7.js → chunk-T7EQPKOP.js} +1 -1
  38. package/dist/{chunk-3JRKP4BH.js → chunk-TONEKQM3.js} +1 -1
  39. package/dist/{chunk-GF5T7PGC.js → chunk-TZLEMGAK.js} +1 -1
  40. package/dist/{chunk-LWGLBCMU.js → chunk-TZQPPQEQ.js} +1 -1
  41. package/dist/chunk-U2T2XWDA.js +80 -0
  42. package/dist/{chunk-7EJTWGKW.js → chunk-UF746BQ4.js} +1 -1
  43. package/dist/{chunk-7QMVU3IX.js → chunk-WBWBY6LI.js} +1 -1
  44. package/dist/{chunk-WYJTXYWX.js → chunk-Y63GWRHO.js} +1 -1
  45. package/dist/{chunk-YZ6VYLFD.js → chunk-YDWTVO4E.js} +1 -1
  46. package/dist/{chunk-Z3UWIJ3A.js → chunk-YUBV7EEE.js} +1 -1
  47. package/dist/chunk-Z4GXBOWO.js +61 -0
  48. package/dist/compat/index.cjs +5 -5
  49. package/dist/compat/index.d.cts +14 -14
  50. package/dist/compat/index.d.ts +14 -14
  51. package/dist/compat/index.js +1 -1
  52. package/dist/compat/jotai/index.cjs +1 -1
  53. package/dist/compat/jotai/index.d.cts +2 -2
  54. package/dist/compat/jotai/index.d.ts +2 -2
  55. package/dist/compat/jotai/index.js +1 -1
  56. package/dist/compat/nanostores/index.cjs +1 -1
  57. package/dist/compat/nanostores/index.d.cts +2 -2
  58. package/dist/compat/nanostores/index.d.ts +2 -2
  59. package/dist/compat/nanostores/index.js +1 -1
  60. package/dist/compat/nestjs/index.cjs +5 -5
  61. package/dist/compat/nestjs/index.d.cts +6 -6
  62. package/dist/compat/nestjs/index.d.ts +6 -6
  63. package/dist/compat/nestjs/index.js +1 -1
  64. package/dist/compat/react/index.d.cts +2 -2
  65. package/dist/compat/react/index.d.ts +2 -2
  66. package/dist/compat/solid/index.d.cts +2 -2
  67. package/dist/compat/solid/index.d.ts +2 -2
  68. package/dist/compat/svelte/index.d.cts +2 -2
  69. package/dist/compat/svelte/index.d.ts +2 -2
  70. package/dist/compat/vue/index.d.cts +2 -2
  71. package/dist/compat/vue/index.d.ts +2 -2
  72. package/dist/compat/zustand/index.cjs +3 -3
  73. package/dist/compat/zustand/index.d.cts +4 -4
  74. package/dist/compat/zustand/index.d.ts +4 -4
  75. package/dist/compat/zustand/index.js +1 -1
  76. package/dist/{composite-BY9hMxN7.d.ts → composite-BPDU_XV1.d.ts} +2 -2
  77. package/dist/{composite-CH0S8DFn.d.cts → composite-CmvdhTJe.d.cts} +2 -2
  78. package/dist/core/index.cjs +1 -1
  79. package/dist/core/index.d.cts +4 -4
  80. package/dist/core/index.d.ts +4 -4
  81. package/dist/core/index.js +1 -1
  82. package/dist/extra/browser.cjs +1 -1
  83. package/dist/extra/browser.d.cts +1 -1
  84. package/dist/extra/browser.d.ts +1 -1
  85. package/dist/extra/browser.js +1 -1
  86. package/dist/extra/index.cjs +16 -16
  87. package/dist/extra/index.d.cts +9 -9
  88. package/dist/extra/index.d.ts +9 -9
  89. package/dist/extra/index.js +1 -1
  90. package/dist/extra/node.cjs +1 -1
  91. package/dist/extra/node.d.cts +1 -1
  92. package/dist/extra/node.d.ts +1 -1
  93. package/dist/extra/node.js +1 -1
  94. package/dist/extra/operators.cjs +1 -1
  95. package/dist/extra/operators.d.cts +1 -1
  96. package/dist/extra/operators.d.ts +1 -1
  97. package/dist/extra/operators.js +1 -1
  98. package/dist/extra/reactive.cjs +1 -1
  99. package/dist/extra/reactive.d.cts +3 -3
  100. package/dist/extra/reactive.d.ts +3 -3
  101. package/dist/extra/reactive.js +1 -1
  102. package/dist/extra/sources.cjs +1 -1
  103. package/dist/extra/sources.d.cts +1 -1
  104. package/dist/extra/sources.d.ts +1 -1
  105. package/dist/extra/sources.js +1 -1
  106. package/dist/extra/storage-browser.cjs +1 -1
  107. package/dist/extra/storage-browser.d.cts +1 -1
  108. package/dist/extra/storage-browser.d.ts +1 -1
  109. package/dist/extra/storage-browser.js +1 -1
  110. package/dist/{fallback-Cb3GH1O7.d.cts → fallback-9YznPvPP.d.cts} +1 -1
  111. package/dist/{fallback-DRjJ_ZM8.d.ts → fallback-mYSd8vQo.d.ts} +1 -1
  112. package/dist/graph/index.cjs +4 -4
  113. package/dist/graph/index.d.cts +5 -5
  114. package/dist/graph/index.d.ts +5 -5
  115. package/dist/graph/index.js +1 -1
  116. package/dist/{graph-CWeI0aHd.d.ts → graph-BROUZPG9.d.ts} +12 -2
  117. package/dist/{graph-C4Uxwv0T.d.cts → graph-DaoydJ_u.d.cts} +12 -2
  118. package/dist/{index-BXzl1NDD.d.ts → index--BTb6HUO.d.ts} +332 -108
  119. package/dist/{index-Dm3_D5Ta.d.cts → index-B-KCkW4M.d.cts} +4 -4
  120. package/dist/{index-CDK5RsV5.d.cts → index-B1hFhK1K.d.cts} +1 -1
  121. package/dist/{index-CJymKyzT.d.ts → index-B5eS17Bz.d.ts} +7 -7
  122. package/dist/{index-UZO988ox.d.cts → index-BDEhWLF4.d.cts} +3 -3
  123. package/dist/{index-DGb1awva.d.ts → index-BFHpNSsV.d.ts} +4 -4
  124. package/dist/{index-DDo-eqQ4.d.cts → index-BO6t0HjV.d.cts} +1 -1
  125. package/dist/{index-CrC7urhX.d.ts → index-BRisOxlx.d.ts} +1 -1
  126. package/dist/{index-CfFYyLR8.d.ts → index-BUtCR0k6.d.ts} +13 -4
  127. package/dist/{index-BydMDMf7.d.cts → index-BVTjuKeP.d.cts} +1 -1
  128. package/dist/{index-BX22kvjh.d.ts → index-BWiX5foT.d.ts} +1 -1
  129. package/dist/{index-DxMS0cHM.d.ts → index-Bd2AjMQY.d.ts} +2 -2
  130. package/dist/{index-CvS9IuTG.d.ts → index-Bi4ZP6Hc.d.ts} +2 -2
  131. package/dist/{index-D-kHVedZ.d.cts → index-BkfL5MXh.d.cts} +24 -3
  132. package/dist/{index-9iguV3bF.d.cts → index-BpjQanLs.d.cts} +2 -2
  133. package/dist/{index-D9HrBx2J.d.ts → index-BsxqmV6u.d.ts} +2 -2
  134. package/dist/{index-DVNLe3pS.d.cts → index-C2Dey3L-.d.cts} +12 -3
  135. package/dist/{index-CwhcFzTA.d.ts → index-C5uMGVJw.d.ts} +4 -4
  136. package/dist/{index-D9Y_u6BG.d.cts → index-C8_bnDBZ.d.cts} +3 -3
  137. package/dist/{index-C5Ghnp5B.d.ts → index-CD7qmvSf.d.ts} +3 -3
  138. package/dist/{index-wIx1Jisk.d.ts → index-CI5fULSz.d.ts} +1 -1
  139. package/dist/{index-BBINVimG.d.ts → index-CNxdDb2e.d.ts} +3 -3
  140. package/dist/{index-FBqTfL_S.d.cts → index-CQ1gt4rn.d.cts} +1 -1
  141. package/dist/{index-DD7RhHNJ.d.cts → index-C_cXlbu0.d.cts} +332 -108
  142. package/dist/{index-B-z8WaSd.d.cts → index-Ccv_61jG.d.cts} +2 -2
  143. package/dist/{index-RQg6lTrN.d.ts → index-Ced0dphF.d.ts} +9 -9
  144. package/dist/{index-DylQCKEL.d.cts → index-ChZvMC4M.d.cts} +13 -4
  145. package/dist/{index-CcS0t-l2.d.ts → index-Chi9IiHJ.d.ts} +24 -3
  146. package/dist/{index-CcpEvuPl.d.cts → index-ClJUZAOr.d.cts} +18 -3
  147. package/dist/{index-D7XxY1Ff.d.cts → index-ClKm7CFB.d.cts} +1 -1
  148. package/dist/{index-C98oJsEs.d.cts → index-Cn3taOmp.d.cts} +2 -2
  149. package/dist/{index-yIdWFo2b.d.cts → index-CoR-tOZA.d.cts} +4 -4
  150. package/dist/{index-BpFWP7Bq.d.cts → index-Cp91Sxbo.d.cts} +5 -4
  151. package/dist/{index-IZ3l_vQ9.d.ts → index-Cq7Uqgu4.d.ts} +2 -2
  152. package/dist/{index-DBQUKh59.d.cts → index-D23g00HE.d.cts} +4 -4
  153. package/dist/{index-Docdiu9a.d.ts → index-D80nGRb9.d.ts} +3 -3
  154. package/dist/{index-Bd6oFZqO.d.ts → index-DDf8PoPO.d.ts} +439 -67
  155. package/dist/{index-CRAkoq-y.d.cts → index-DR3XqZlV.d.cts} +1 -1
  156. package/dist/{index-BANwzwBV.d.ts → index-Db21wuaD.d.ts} +5 -4
  157. package/dist/{index-CZChc85Q.d.cts → index-Dgcd59CJ.d.cts} +439 -67
  158. package/dist/{index-CIXaiYDE.d.cts → index-DhWrMTI6.d.cts} +1 -1
  159. package/dist/{index-CotRMjtJ.d.ts → index-DheNs40A.d.ts} +2 -2
  160. package/dist/{index-C6NBfXj-.d.ts → index-Dia4yc2y.d.ts} +3 -3
  161. package/dist/{index-Bs3-LC83.d.cts → index-Ds3Rz9m9.d.cts} +3 -3
  162. package/dist/{index-FrYrV-Vf.d.ts → index-Dtpr2FIB.d.ts} +18 -3
  163. package/dist/{index-ByPnK85n.d.ts → index-DupIl9wI.d.ts} +1 -1
  164. package/dist/{index-B5iVOD7w.d.ts → index-DuvQAU02.d.ts} +2 -2
  165. package/dist/{index-D0C_USMR.d.ts → index-DxEcY7Om.d.ts} +1 -1
  166. package/dist/{index-CFW32Dy1.d.ts → index-HvJ90_tX.d.ts} +12 -3
  167. package/dist/{index-DR3gf_DG.d.cts → index-Jgl7ev9I.d.cts} +9 -9
  168. package/dist/{index-BMe3pCom.d.cts → index-RJX4snyi.d.cts} +2 -2
  169. package/dist/{index-gJQqJTKx.d.cts → index-ZIQaKIdY.d.cts} +7 -7
  170. package/dist/{index-BEpRsvhg.d.ts → index-b4a6Sg0R.d.ts} +4 -4
  171. package/dist/{index-lKuLYmHO.d.cts → index-iKsmdnq6.d.cts} +2 -2
  172. package/dist/{index-Bvi5uJxX.d.ts → index-nP13Qe6T.d.ts} +1 -1
  173. package/dist/{index-iBp74eGU.d.cts → index-p0bkNfby.d.cts} +3 -3
  174. package/dist/{index-SSGqF8mI.d.cts → index-wcfc7W-f.d.cts} +2 -2
  175. package/dist/{index-Cy7eFeIX.d.cts → index-yJY9thRY.d.cts} +2 -2
  176. package/dist/{index-DnrZghBB.d.ts → index-ygRFoyrN.d.ts} +2 -2
  177. package/dist/{index-Ip3q9T9x.d.ts → index-zA1uVtk0.d.ts} +1 -1
  178. package/dist/index.cjs +53 -50
  179. package/dist/index.d.cts +44 -44
  180. package/dist/index.d.ts +44 -44
  181. package/dist/index.js +1 -1
  182. package/dist/{meta-COtmHLwT.d.cts → meta-BdjSt8ky.d.cts} +1 -1
  183. package/dist/{meta-BMwx3ExI.d.ts → meta-CtDjj7cU.d.ts} +1 -1
  184. package/dist/{node-BVV7G1bq.d.cts → node-8qx0kgYt.d.cts} +49 -1
  185. package/dist/{node-BVV7G1bq.d.ts → node-8qx0kgYt.d.ts} +49 -1
  186. package/dist/{observable-BrUAPeH_.d.cts → observable-B6Ba-TTI.d.cts} +1 -1
  187. package/dist/{observable-ITikPXz3.d.ts → observable-DOniYM2B.d.ts} +1 -1
  188. package/dist/patterns/ai/browser.cjs +4 -4
  189. package/dist/patterns/ai/browser.d.cts +4 -4
  190. package/dist/patterns/ai/browser.d.ts +4 -4
  191. package/dist/patterns/ai/browser.js +1 -1
  192. package/dist/patterns/ai/index.cjs +21 -18
  193. package/dist/patterns/ai/index.d.cts +16 -16
  194. package/dist/patterns/ai/index.d.ts +16 -16
  195. package/dist/patterns/ai/index.js +1 -1
  196. package/dist/patterns/ai/node.cjs +2 -2
  197. package/dist/patterns/ai/node.d.cts +4 -4
  198. package/dist/patterns/ai/node.d.ts +4 -4
  199. package/dist/patterns/ai/node.js +1 -1
  200. package/dist/patterns/audit/index.cjs +7 -7
  201. package/dist/patterns/audit/index.d.cts +5 -5
  202. package/dist/patterns/audit/index.d.ts +5 -5
  203. package/dist/patterns/audit/index.js +1 -1
  204. package/dist/patterns/cqrs/index.cjs +3 -3
  205. package/dist/patterns/cqrs/index.d.cts +4 -4
  206. package/dist/patterns/cqrs/index.d.ts +4 -4
  207. package/dist/patterns/cqrs/index.js +1 -1
  208. package/dist/patterns/demo-shell/index.cjs +6 -6
  209. package/dist/patterns/demo-shell/index.d.cts +5 -5
  210. package/dist/patterns/demo-shell/index.d.ts +5 -5
  211. package/dist/patterns/demo-shell/index.js +1 -1
  212. package/dist/patterns/domain-templates/index.cjs +5 -5
  213. package/dist/patterns/domain-templates/index.d.cts +4 -4
  214. package/dist/patterns/domain-templates/index.d.ts +4 -4
  215. package/dist/patterns/domain-templates/index.js +1 -1
  216. package/dist/patterns/graphspec/index.cjs +27 -25
  217. package/dist/patterns/graphspec/index.d.cts +5 -5
  218. package/dist/patterns/graphspec/index.d.ts +5 -5
  219. package/dist/patterns/graphspec/index.js +1 -1
  220. package/dist/patterns/guarded-execution/index.cjs +7 -7
  221. package/dist/patterns/guarded-execution/index.d.cts +6 -6
  222. package/dist/patterns/guarded-execution/index.d.ts +6 -6
  223. package/dist/patterns/guarded-execution/index.js +1 -1
  224. package/dist/patterns/harness/index.cjs +12 -11
  225. package/dist/patterns/harness/index.d.cts +10 -9
  226. package/dist/patterns/harness/index.d.ts +10 -9
  227. package/dist/patterns/harness/index.js +1 -1
  228. package/dist/patterns/job-queue/index.cjs +7 -7
  229. package/dist/patterns/job-queue/index.d.cts +4 -4
  230. package/dist/patterns/job-queue/index.d.ts +4 -4
  231. package/dist/patterns/job-queue/index.js +1 -1
  232. package/dist/patterns/lens/index.cjs +5 -5
  233. package/dist/patterns/lens/index.d.cts +6 -6
  234. package/dist/patterns/lens/index.d.ts +6 -6
  235. package/dist/patterns/lens/index.js +1 -1
  236. package/dist/patterns/memory/index.cjs +4 -4
  237. package/dist/patterns/memory/index.d.cts +4 -4
  238. package/dist/patterns/memory/index.d.ts +4 -4
  239. package/dist/patterns/memory/index.js +1 -1
  240. package/dist/patterns/messaging/index.cjs +4 -4
  241. package/dist/patterns/messaging/index.d.cts +4 -4
  242. package/dist/patterns/messaging/index.d.ts +4 -4
  243. package/dist/patterns/messaging/index.js +1 -1
  244. package/dist/patterns/orchestration/index.cjs +7 -7
  245. package/dist/patterns/orchestration/index.d.cts +5 -5
  246. package/dist/patterns/orchestration/index.d.ts +5 -5
  247. package/dist/patterns/orchestration/index.js +1 -1
  248. package/dist/patterns/reactive-layout/index.cjs +2 -2
  249. package/dist/patterns/reactive-layout/index.d.cts +5 -5
  250. package/dist/patterns/reactive-layout/index.d.ts +5 -5
  251. package/dist/patterns/reactive-layout/index.js +1 -1
  252. package/dist/patterns/reduction/index.cjs +2 -2
  253. package/dist/patterns/reduction/index.d.cts +4 -4
  254. package/dist/patterns/reduction/index.d.ts +4 -4
  255. package/dist/patterns/reduction/index.js +1 -1
  256. package/dist/patterns/refine-loop/index.cjs +7 -7
  257. package/dist/patterns/refine-loop/index.d.cts +5 -5
  258. package/dist/patterns/refine-loop/index.d.ts +5 -5
  259. package/dist/patterns/refine-loop/index.js +1 -1
  260. package/dist/patterns/resilient-pipeline/index.cjs +1 -1
  261. package/dist/patterns/resilient-pipeline/index.d.cts +6 -6
  262. package/dist/patterns/resilient-pipeline/index.d.ts +6 -6
  263. package/dist/patterns/resilient-pipeline/index.js +1 -1
  264. package/dist/patterns/surface/index.cjs +15 -13
  265. package/dist/patterns/surface/index.d.cts +6 -6
  266. package/dist/patterns/surface/index.d.ts +6 -6
  267. package/dist/patterns/surface/index.js +1 -1
  268. package/dist/{reactive-layout-BAr6-_o5.d.ts → reactive-layout-DBJ3Vz-m.d.ts} +2 -2
  269. package/dist/{reactive-layout-5oEn8lHM.d.cts → reactive-layout-Dk9AOQb_.d.cts} +2 -2
  270. package/dist/{reactive-log-5jFeNRmd.d.cts → reactive-log-CWC7jO4J.d.cts} +1 -1
  271. package/dist/{reactive-log-BOJDCI5x.d.ts → reactive-log-CqaBg8nf.d.ts} +1 -1
  272. package/dist/{reactive-map-IJIfZxoh.d.cts → reactive-map-Cm89Hk0c.d.cts} +1 -1
  273. package/dist/{reactive-map-CtRaCddO.d.ts → reactive-map-LjwjcFaW.d.ts} +1 -1
  274. package/dist/{resilience-IVNDYORD.js → resilience-7UZHSSGC.js} +1 -1
  275. package/dist/{resilience-Q6Bt_7y0.d.cts → resilience-N_VtLf7W.d.cts} +1 -1
  276. package/dist/{resilience-CludlzcP.d.ts → resilience-RjDIHZNZ.d.ts} +1 -1
  277. package/dist/{sugar-BHbAACDG.d.ts → sugar-CQkn_rxB.d.ts} +1 -1
  278. package/dist/{sugar-CqR6DJ7v.d.cts → sugar-DVEYhR7a.d.cts} +1 -1
  279. package/dist/{topology-tree-CVREibAc.d.cts → topology-tree-BB6oJxMz.d.cts} +1 -1
  280. package/dist/{topology-tree-CkjojcB6.d.ts → topology-tree-CAFOG5S5.d.ts} +1 -1
  281. package/dist/{types-CdfO2QTt.d.ts → types-B2LfBvNc.d.ts} +16 -2
  282. package/dist/{types-BgMqbc7N.d.cts → types-Cp_4coR_.d.cts} +16 -2
  283. package/package.json +1 -1
  284. package/dist/chunk-5LJAQTSS.js +0 -1
  285. package/dist/chunk-7AJKUA36.js +0 -1
  286. package/dist/chunk-ASDKRNOJ.js +0 -60
  287. package/dist/chunk-KN4Q5MQO.js +0 -1
  288. package/dist/chunk-PSQNYY72.js +0 -7
  289. package/dist/chunk-X2VHDT26.js +0 -43
  290. package/dist/chunk-XEFAMCEA.js +0 -78
@@ -1,9 +1,109 @@
1
- import { a as Node } from './node-BVV7G1bq.cjs';
2
- import { T as TopicGraph } from './index-B-z8WaSd.cjs';
3
- import { E as Evaluator, D as DatasetItem, a as EvalResult$1, R as RefineStrategy, b as RefineStatus, c as RefineLoopOptions } from './index-DylQCKEL.cjs';
4
- import { G as Graph, s as GraphProfileResult, r as GraphProfileOptions } from './graph-C4Uxwv0T.cjs';
5
- import { L as LLMAdapter } from './types-BgMqbc7N.cjs';
6
- import { G as GateController } from './index-DVNLe3pS.cjs';
1
+ import { a as Node } from './node-8qx0kgYt.cjs';
2
+ import { T as TopicGraph, M as MessagingHubGraph } from './index-Ccv_61jG.cjs';
3
+ import { L as LLMAdapter } from './types-Cp_4coR_.cjs';
4
+ import { E as Evaluator, D as DatasetItem, a as EvalResult$1, R as RefineStrategy, b as RefineLoopOptions, c as RefineStatus } from './index-ChZvMC4M.cjs';
5
+ import { G as Graph, s as GraphProfileResult, r as GraphProfileOptions } from './graph-DaoydJ_u.cjs';
6
+ import { G as GateController } from './index-C2Dey3L-.cjs';
7
+ import { J as JobQueueGraph } from './index-ClJUZAOr.cjs';
8
+
9
+ /**
10
+ * Strategy model and priority scoring (roadmap §9.0).
11
+ *
12
+ * Pure-computation derived nodes — no LLM, no async.
13
+ *
14
+ * @module
15
+ */
16
+
17
+ /** Snapshot shape for the strategy model node. */
18
+ type StrategySnapshot = ReadonlyMap<StrategyKey, StrategyEntry>;
19
+ /** Bundle returned by {@link strategyModel}. */
20
+ interface StrategyModelBundle {
21
+ /** Reactive node — current strategy map. */
22
+ readonly node: Node<StrategySnapshot>;
23
+ /** Record a completed issue (success or failure). */
24
+ record(rootCause: RootCause, intervention: Intervention, success: boolean): void;
25
+ /** Look up effectiveness for a specific pair. */
26
+ lookup(rootCause: RootCause, intervention: Intervention): StrategyEntry | undefined;
27
+ /** Tear down internal keepalive subscriptions. */
28
+ dispose(): void;
29
+ }
30
+ /**
31
+ * Create a strategy model that tracks `rootCause × intervention → successRate`
32
+ * over completed issues. Pure derived computation — no LLM.
33
+ *
34
+ * The model feeds back into TRIAGE for routing hints.
35
+ */
36
+ declare function strategyModel(): StrategyModelBundle;
37
+ /**
38
+ * Create a priority scoring derived node for a single triaged item.
39
+ *
40
+ * Combines severity weight, attention decay, strategy model effectiveness,
41
+ * and an optional external urgency signal.
42
+ *
43
+ * **Age sampling caveat.** The `ageSeconds` term is computed as
44
+ * `monotonicNs() - lastInteractionNs.cache` at *each reactive update*. If
45
+ * nothing upstream settles, the score node does not recompute — so a
46
+ * long-idle queue may show a stale score. Pass a `fromTimer(...)`-driven
47
+ * node as a dep (or re-emit on `lastInteractionNs`) when live age decay
48
+ * matters.
49
+ *
50
+ * **Not the same as `TriagedItem.priority`.** The LLM-emitted
51
+ * `priority: 0..100` field on each triaged item is decorative today — the
52
+ * queue consumption order ignores it (tracked in `docs/optimizations.md`
53
+ * as a priority-ordered queue enhancement). This function computes an
54
+ * orthogonal reactive score; it does NOT override the LLM's per-item
55
+ * priority, nor does it drive queue ordering. Wire it to
56
+ * `HarnessGraph.priorityScores` to surface per-route pressure.
57
+ *
58
+ * @param item - Node holding the triaged item.
59
+ * @param strategy - Strategy model node.
60
+ * @param lastInteractionNs - Node holding the monotonic timestamp (ns) of last human interaction.
61
+ * @param urgency - Optional external urgency signal node (0–1 scale).
62
+ * @param signals - Configurable scoring parameters.
63
+ */
64
+ declare function priorityScore(item: Node<TriagedItem>, strategy: Node<StrategySnapshot>, lastInteractionNs: Node<number>, urgency?: Node<number>, signals?: PrioritySignals): Node<number>;
65
+
66
+ /**
67
+ * Harness runtime defaults (roadmap §9.0).
68
+ *
69
+ * Split out from `types.ts` in Wave B Unit 15 G so the type file holds
70
+ * only type declarations and plug-in contracts. Runtime constants and
71
+ * helpers live here; the harness barrel (`index.ts`) re-exports both so
72
+ * external consumers see a single surface.
73
+ *
74
+ * @module
75
+ */
76
+
77
+ /** Ordered queue route names for iteration. */
78
+ declare const QUEUE_NAMES: readonly QueueRoute[];
79
+ /** Default queue configurations. */
80
+ declare const DEFAULT_QUEUE_CONFIGS: Record<QueueRoute, QueueConfig>;
81
+ /** Default severity weights. */
82
+ declare const DEFAULT_SEVERITY_WEIGHTS: Record<Severity, number>;
83
+ /** Default decay rate: ~7-day half-life. */
84
+ declare const DEFAULT_DECAY_RATE: number;
85
+ /** Canonical `${RootCause}→${Intervention}` join char; used by the `StrategyKey` template literal. */
86
+ declare function strategyKey(rootCause: RootCause, intervention: Intervention): StrategyKey;
87
+ /** Default error classifier: parse/config errors are self-correctable. */
88
+ declare const defaultErrorClassifier: ErrorClassifier;
89
+ /** Default TRIAGE prompt — LLM classifies intake items into root-cause + intervention + route + priority. */
90
+ declare const DEFAULT_TRIAGE_PROMPT = "You are a triage classifier for a reactive collaboration harness.\n\nGiven an intake item, classify it and output JSON:\n{\n \"rootCause\": \"composition\" | \"missing-fn\" | \"bad-docs\" | \"schema-gap\" | \"regression\" | \"unknown\",\n \"intervention\": \"template\" | \"catalog-fn\" | \"docs\" | \"wrapper\" | \"schema-change\" | \"investigate\",\n \"route\": \"auto-fix\" | \"needs-decision\" | \"investigation\" | \"backlog\",\n \"priority\": <number 0-100>,\n \"triageReasoning\": \"<one sentence>\"\n}\n\nStrategy model (past effectiveness):\n{{strategy}}\n\nIntake item:\n{{item}}";
91
+ /** Default EXECUTE prompt — LLM produces a fix given a triaged issue. */
92
+ declare const DEFAULT_EXECUTE_PROMPT = "You are an implementation agent.\n\nGiven a triaged issue with root cause and intervention type, produce a fix.\n\nIssue:\n{{item}}\n\nOutput JSON:\n{\n \"outcome\": \"success\" | \"failure\" | \"partial\",\n \"detail\": \"<description of what was done or what failed>\"\n}";
93
+ /** Default VERIFY prompt — LLM reviews an execution result against the original issue. */
94
+ declare const DEFAULT_VERIFY_PROMPT = "You are a QA reviewer.\n\nGiven an execution result, verify whether the fix is correct.\n\nExecution:\n{{execution}}\n\nOriginal issue:\n{{item}}\n\nOutput JSON:\n{\n \"verified\": true/false,\n \"findings\": [\"<finding1>\", ...],\n \"errorClass\": \"self-correctable\" | \"structural\" // only if verified=false\n}";
95
+ /**
96
+ * Collapse the `string | ((input: In) => string) | undefined` prompt-template
97
+ * pattern into a single `(input: In) => string`. A function `raw` is used as-is
98
+ * (the caller opted into full control). Otherwise `raw ?? fallbackTemplate`
99
+ * is fed through `substitute`, which does the placeholder replacement.
100
+ *
101
+ * Used by the three harness stages (TRIAGE / EXECUTE / VERIFY), which each
102
+ * accept a `string | function` config but use different placeholder schemes
103
+ * (`{{item}}`, `{{execution}}`, `{{strategy}}`). The helper absorbs only the
104
+ * branch logic; the per-stage placeholder substitution lives at the call site.
105
+ */
106
+ declare function resolvePromptFn<In>(raw: string | ((input: In) => string) | undefined, fallbackTemplate: string, substitute: (template: string, input: In) => string): (input: In) => string;
7
107
 
8
108
  /**
9
109
  * Harness wiring types (roadmap §9.0).
@@ -12,26 +112,39 @@ import { G as GateController } from './index-DVNLe3pS.cjs';
12
112
  * gate, execute, verify, reflect. These types are intentionally domain-agnostic
13
113
  * — the harness loop is not specific to eval workflows.
14
114
  *
115
+ * Runtime constants and helpers live in `./defaults.ts`. The harness barrel
116
+ * (`./index.ts`) re-exports both so external consumers see a single surface.
117
+ *
15
118
  * @module
16
119
  */
17
120
 
18
- /** Sources that can produce intake items. */
19
- type IntakeSource = "eval" | "test" | "human" | "code-change" | "hypothesis" | "parity";
121
+ /** Known intake source tags. */
122
+ type KnownIntakeSource = "eval" | "test" | "human" | "code-change" | "hypothesis" | "parity";
123
+ /**
124
+ * Sources that can produce intake items. Open union — the known tags
125
+ * retain IDE autocomplete while user-supplied strings (e.g. `"schema"`,
126
+ * `"slack"`) pass through without a type change.
127
+ */
128
+ type IntakeSource = KnownIntakeSource | (string & {});
20
129
  /** Severity levels for intake items. */
21
130
  type Severity = "critical" | "high" | "medium" | "low";
22
131
  /** Root cause categories for triage classification. */
23
132
  type RootCause = "composition" | "missing-fn" | "bad-docs" | "schema-gap" | "regression" | "unknown";
24
133
  /** Intervention types that address root causes. */
25
134
  type Intervention = "template" | "catalog-fn" | "docs" | "wrapper" | "schema-change" | "investigate";
26
- /** Routing destinations after triage. */
135
+ /** Routing destinations after triage. Closed union — iterated via `QUEUE_NAMES`. */
27
136
  type QueueRoute = "auto-fix" | "needs-decision" | "investigation" | "backlog";
28
- /** Ordered queue route names for iteration. */
29
- declare const QUEUE_NAMES: readonly QueueRoute[];
30
137
  /**
31
138
  * An item entering the harness loop via the INTAKE stage.
32
139
  *
33
140
  * All intake sources produce this uniform shape — the intake topic
34
141
  * doesn't care where items came from.
142
+ *
143
+ * `$`-prefix keys (`$reingestions`, `$retries` on {@link TriagedItem}) are
144
+ * framework-only — an LLM round-tripping the serialized item is far less
145
+ * likely to echo back a `$`-prefixed key than an `_`-prefixed one, which
146
+ * neutralizes the field-collision class that surfaced earlier in the
147
+ * router's spread order.
35
148
  */
36
149
  interface IntakeItem {
37
150
  source: IntakeSource;
@@ -42,7 +155,7 @@ interface IntakeItem {
42
155
  severity?: Severity;
43
156
  relatedTo?: string[];
44
157
  /** Item-carried reingestion count. Incremented on each full-loop reingestion. */
45
- _reingestions?: number;
158
+ $reingestions?: number;
46
159
  }
47
160
  /** Output of the TRIAGE stage — enriched intake item with classification. */
48
161
  interface TriagedItem extends IntakeItem {
@@ -52,7 +165,7 @@ interface TriagedItem extends IntakeItem {
52
165
  priority: number;
53
166
  triageReasoning?: string;
54
167
  /** Item-carried retry count. Incremented on each fast-retry pass. */
55
- _retries?: number;
168
+ $retries?: number;
56
169
  }
57
170
  /** Effectiveness record for a rootCause→intervention pair. */
58
171
  interface StrategyEntry {
@@ -64,9 +177,15 @@ interface StrategyEntry {
64
177
  }
65
178
  /** Key format: `${rootCause}→${intervention}`. */
66
179
  type StrategyKey = `${RootCause}→${Intervention}`;
67
- declare function strategyKey(rootCause: RootCause, intervention: Intervention): StrategyKey;
68
- /** LLM output shape from the EXECUTE stage (partial — lacks `item`). */
69
- type ExecuteOutput = {
180
+ /**
181
+ * LLM output shape from the EXECUTE stage (partial — lacks `item`).
182
+ *
183
+ * Generic over the artifact type `A` so typed executors like
184
+ * `refineExecutor<T>` can flow `T` through to an `evalVerifier<T>` without
185
+ * the caller casting `artifact` at the boundary. Defaults to `unknown`
186
+ * for escape-hatch executors that carry opaque state.
187
+ */
188
+ type ExecuteOutput<A = unknown> = {
70
189
  outcome: "success" | "failure" | "partial";
71
190
  detail: string;
72
191
  /**
@@ -76,10 +195,10 @@ type ExecuteOutput = {
76
195
  * this — it's an escape hatch for reactive executors carrying structured
77
196
  * output (a refined prompt, a patched spec, a generated template, ...).
78
197
  */
79
- artifact?: unknown;
198
+ artifact?: A;
80
199
  };
81
200
  /** Full execution result assembled downstream (LLM output + context). */
82
- interface ExecutionResult {
201
+ interface ExecutionResult<A = unknown> {
83
202
  item: TriagedItem;
84
203
  outcome: "success" | "failure" | "partial";
85
204
  detail: string;
@@ -88,18 +207,16 @@ interface ExecutionResult {
88
207
  * one. Reactive executors like `refineExecutor` populate this; LLM-backed
89
208
  * default executors leave it undefined.
90
209
  */
91
- artifact?: unknown;
210
+ artifact?: A;
92
211
  }
93
212
  /** Whether an error is self-correctable (fast-retry) or structural (full loop). */
94
213
  type ErrorClass = "self-correctable" | "structural";
95
214
  /** Classifier for fast-retry path. */
96
215
  type ErrorClassifier = (result: ExecutionResult) => ErrorClass;
97
- /** Default error classifier: parse/config errors are self-correctable. */
98
- declare function defaultErrorClassifier(result: ExecutionResult): ErrorClass;
99
216
  /** Result of the VERIFY stage. */
100
- interface VerifyResult {
217
+ interface VerifyResult<A = unknown> {
101
218
  item: TriagedItem;
102
- execution: ExecutionResult;
219
+ execution: ExecutionResult<A>;
103
220
  verified: boolean;
104
221
  findings: string[];
105
222
  errorClass?: ErrorClass;
@@ -125,24 +242,19 @@ interface PrioritySignals {
125
242
  /** Strategy model effectiveness boost amount (default 15). */
126
243
  effectivenessBoost?: number;
127
244
  }
128
- /** Default severity weights. */
129
- declare const DEFAULT_SEVERITY_WEIGHTS: Record<Severity, number>;
130
- /** Default decay rate: ~7-day half-life. */
131
- declare const DEFAULT_DECAY_RATE: number;
245
+
132
246
  /** Per-queue configuration in the harness loop. */
133
247
  interface QueueConfig {
134
248
  /** Whether this queue is gated (requires human approval). */
135
249
  gated: boolean;
136
250
  /** Maximum pending items in the gate (default Infinity). */
137
251
  maxPending?: number;
138
- /** Start the gate in open (auto-approve) mode? */
252
+ /** Start the gate in open (auto-approve) mode? Only meaningful when `gated: true`. */
139
253
  startOpen?: boolean;
140
254
  }
141
- /** Default queue configurations. */
142
- declare const DEFAULT_QUEUE_CONFIGS: Record<QueueRoute, QueueConfig>;
143
255
  /**
144
256
  * Pluggable EXECUTE slot. Given the reactive `executeInput` stream of
145
- * triaged items, produce a stream of `ExecuteOutput` decisions.
257
+ * triaged items, produce a stream of `ExecuteOutput<A>` decisions.
146
258
  *
147
259
  * **Contract** (see design note in `docs/optimizations.md` / session log):
148
260
  * 1. Emit DATA exactly once per completed execution — not on input arrival.
@@ -157,50 +269,72 @@ declare const DEFAULT_QUEUE_CONFIGS: Record<QueueRoute, QueueConfig>;
157
269
  *
158
270
  * `refineExecutor` makes all four rules structurally unreachable.
159
271
  */
160
- type HarnessExecutor = (input: Node<TriagedItem | null>) => Node<ExecuteOutput | null>;
272
+ type HarnessExecutor<A = unknown> = (input: Node<TriagedItem | null>) => Node<ExecuteOutput<A> | null>;
161
273
  /**
162
- * Pluggable VERIFY slot. Receives `[executeOutput, triagedItem]` pairs
163
- * sampled via `withLatestFrom(executeNode, executeInput)` and produces
164
- * `VerifyOutput` decisions.
274
+ * Pluggable VERIFY slot. Receives a pre-paired `[executeOutput, triagedItem]`
275
+ * context node — the harness creates this via `withLatestFrom(executeNode,
276
+ * executeInput)` once and shares it with both the verifier and the internal
277
+ * fast-retry dispatcher, so verifier implementations do NOT need to build
278
+ * their own pairing node (and doubling the `withLatestFrom` would pay the
279
+ * subscription cost twice).
165
280
  *
166
281
  * Same contract rules 1–3 as {@link HarnessExecutor}. Rule 4 does not
167
282
  * apply (verify output isn't a primary to a further withLatestFrom).
168
283
  *
169
284
  * `evalVerifier` handles the re-evaluation case against affected eval tasks.
170
285
  */
171
- type HarnessVerifier = (context: Node<[ExecuteOutput | null, TriagedItem | null]>) => Node<VerifyOutput | null>;
286
+ type HarnessVerifier<A = unknown> = (context: Node<readonly [ExecuteOutput<A> | null, TriagedItem | null] | null>) => Node<VerifyOutput | null>;
287
+ /** Triage prompt callable shape — pair of `[intake item, strategy snapshot]`. */
288
+ type TriagePromptFn = (pair: readonly [IntakeItem, StrategySnapshot]) => string;
289
+ /** Execute prompt callable shape. */
290
+ type ExecutePromptFn = (item: TriagedItem) => string;
291
+ /** Verify prompt callable shape — pair of `[execute output, triaged item]`. */
292
+ type VerifyPromptFn<A = unknown> = (pair: readonly [ExecuteOutput<A> | null, TriagedItem | null]) => string;
172
293
  /** Options for {@link harnessLoop}. */
173
- interface HarnessLoopOptions {
294
+ interface HarnessLoopOptions<A = unknown> {
174
295
  /** LLM adapter for promptNode-based stages (triage + any default executor/verifier). */
175
- adapter: unknown;
176
- /** Custom triage prompt (receives IntakeItem + strategy model as context). */
177
- triagePrompt?: string | ((...args: unknown[]) => string);
296
+ adapter: LLMAdapter;
297
+ /** Custom triage prompt (receives IntakeItem + strategy snapshot as a tuple). */
298
+ triagePrompt?: string | TriagePromptFn;
178
299
  /**
179
300
  * Execute prompt — sugar over the default LLM executor. Ignored when
180
301
  * `executor` is set.
181
302
  */
182
- executePrompt?: string | ((...args: unknown[]) => string);
303
+ executePrompt?: string | ExecutePromptFn;
183
304
  /**
184
305
  * Verify prompt — sugar over the default LLM verifier. Ignored when
185
306
  * `verifier` is set.
186
307
  */
187
- verifyPrompt?: string | ((...args: unknown[]) => string);
308
+ verifyPrompt?: string | VerifyPromptFn<A>;
188
309
  /**
189
310
  * Pluggable EXECUTE slot. When omitted, the harness uses a `promptNode`
190
311
  * driven by `adapter` + `executePrompt`. Replace to plug in a
191
312
  * `refineExecutor`, tool-using agent, or any reactive execution pipeline.
192
313
  */
193
- executor?: HarnessExecutor;
314
+ executor?: HarnessExecutor<A>;
194
315
  /**
195
316
  * Pluggable VERIFY slot. When omitted, the harness uses a `promptNode`
196
317
  * driven by `adapter` + `verifyPrompt`. Replace to plug in an
197
318
  * `evalVerifier` that re-runs affected eval tasks.
198
319
  */
199
- verifier?: HarnessVerifier;
320
+ verifier?: HarnessVerifier<A>;
200
321
  /** Per-queue configuration overrides. */
201
322
  queues?: Partial<Record<QueueRoute, QueueConfig>>;
202
323
  /** Priority scoring signals. */
203
324
  priority?: PrioritySignals;
325
+ /**
326
+ * Reactive last-human-interaction timestamp (monotonic ns). Drives the
327
+ * priority score age-decay term for `HarnessGraph.priorityScores`.
328
+ *
329
+ * **Required when `opts.priority` is set.** Priority score nodes only
330
+ * re-derive when `topic.latest`, `strategy.node`, or this tick settles —
331
+ * an idle queue would freeze its age at construction time if we
332
+ * auto-defaulted. Typical sources:
333
+ * - `fromTimer(60_000)` — steady tick, uniform decay.
334
+ * - `state(monotonicNs())` — bumped from a human-interaction handler.
335
+ * - A reactive view over a DB column / external metrics source.
336
+ */
337
+ lastInteractionNs?: Node<number>;
204
338
  /** Error classifier for fast-retry path. */
205
339
  errorClassifier?: ErrorClassifier;
206
340
  /** Max fast-retries per item before routing to full intake (default 2). */
@@ -423,7 +557,7 @@ declare function notifyEffect<T>(topic: TopicGraph<T>, transport: NotifyTranspor
423
557
  * artifact instead of asking an LLM to opine on the fix.
424
558
  *
425
559
  * Pairs naturally with {@link refineExecutor}: refineExecutor emits an
426
- * `ExecuteOutput.artifact` holding the converged candidate; evalVerifier
560
+ * `ExecuteOutput<T>.artifact` holding the converged candidate; evalVerifier
427
561
  * pulls it out via `extractArtifact` and feeds a single-candidate batch
428
562
  * into the same `Evaluator<T>` shape that `refineLoop` used. Consistent
429
563
  * scoring between EXECUTE and VERIFY — no "LLM said it looks fine" gap.
@@ -463,7 +597,7 @@ interface EvalVerifierConfig<T> {
463
597
  * surfaces as a runtime error inside `evaluator`, not here — supply a
464
598
  * narrowing `extractArtifact` if you need stricter validation.
465
599
  */
466
- extractArtifact?: (exec: ExecuteOutput, item: TriagedItem) => T | null | undefined;
600
+ extractArtifact?: (exec: ExecuteOutput<T>, item: TriagedItem) => T | null | undefined;
467
601
  /**
468
602
  * Reactive evaluator — same contract as `refineLoop`'s `Evaluator<T>`.
469
603
  * Typically this is the SAME evaluator configured inside `refineExecutor`
@@ -487,6 +621,12 @@ interface EvalVerifierConfig<T> {
487
621
  * Build a {@link HarnessVerifier} that re-runs the eval suite against the
488
622
  * artifact produced by EXECUTE.
489
623
  *
624
+ * Consumes the shared `[executeOutput, item]` context node that the
625
+ * harness pre-pairs via `withLatestFrom` — no internal re-wrap here (QA
626
+ * round: "defaultLlmVerifier double-wraps withLatestFrom"). The harness's
627
+ * single `executeContextNode` is reused by both the verifier and the
628
+ * fast-retry dispatcher, so exec + item are subscribed once per wave.
629
+ *
490
630
  * @example Pair with refineExecutor for end-to-end eval consistency.
491
631
  * ```ts
492
632
  * const evaluator: Evaluator<CatalogEntry> = (cands, ds) => runEval(cands, ds);
@@ -497,49 +637,57 @@ interface EvalVerifierConfig<T> {
497
637
  * });
498
638
  * ```
499
639
  */
500
- declare function evalVerifier<T>(config: EvalVerifierConfig<T>): HarnessVerifier;
501
-
640
+ declare function evalVerifier<T>(config: EvalVerifierConfig<T>): HarnessVerifier<T>;
502
641
  /**
503
- * Strategy model and priority scoring (roadmap §9.0).
504
- *
505
- * Pure-computation derived nodes no LLM, no async.
506
- *
507
- * @module
642
+ * Config for {@link harnessEvalPair} the typed bundle that produces a
643
+ * matched `refineExecutor<T>` + `evalVerifier<T>` pair sharing one
644
+ * {@link Evaluator} and one `datasetFor` resolver.
508
645
  */
509
-
510
- /** Snapshot shape for the strategy model node. */
511
- type StrategySnapshot = ReadonlyMap<StrategyKey, StrategyEntry>;
512
- /** Bundle returned by {@link strategyModel}. */
513
- interface StrategyModelBundle {
514
- /** Reactive node — current strategy map. */
515
- readonly node: Node<StrategySnapshot>;
516
- /** Record a completed issue (success or failure). */
517
- record(rootCause: RootCause, intervention: Intervention, success: boolean): void;
518
- /** Look up effectiveness for a specific pair. */
519
- lookup(rootCause: RootCause, intervention: Intervention): StrategyEntry | undefined;
520
- /** Tear down internal keepalive subscriptions. */
521
- dispose(): void;
646
+ interface HarnessEvalPairConfig<T> {
647
+ /** Map a triaged item to the seed candidate. */
648
+ seedFrom: (item: TriagedItem) => T;
649
+ /** The reactive evaluator used by BOTH executor and verifier. */
650
+ evaluator: Evaluator<T>;
651
+ /** The refinement strategy (e.g. `errorCritique(teacher)`). */
652
+ strategy: RefineStrategy<T>;
653
+ /** Resolve dataset rows per triaged item. */
654
+ datasetFor: (item: TriagedItem) => readonly DatasetItem[];
655
+ /** Pass-threshold for the verifier. Default `0.5`. */
656
+ threshold?: number;
657
+ /** Convergence / budget options forwarded to each inner `refineLoop`. */
658
+ refine?: Omit<RefineLoopOptions, "dataset" | "name">;
659
+ /**
660
+ * Shared node-name prefix — the executor becomes `${name}-exec` and the
661
+ * verifier `${name}-verify` for distinct but related describe() paths.
662
+ * Default `"harness-pair"`.
663
+ */
664
+ name?: string;
522
665
  }
523
666
  /**
524
- * Create a strategy model that tracks `rootCause × intervention successRate`
525
- * over completed issues. Pure derived computation — no LLM.
667
+ * Typed factory that returns a matched `{ executor, verifier }` pair.
526
668
  *
527
- * The model feeds back into TRIAGE for routing hints.
528
- */
529
- declare function strategyModel(): StrategyModelBundle;
530
- /**
531
- * Create a priority scoring derived node for a single triaged item.
669
+ * Prevents the "executor wrote `A`, verifier expected `B`" class of runtime
670
+ * cast errors — `T` is threaded through both sides, so mixing up the
671
+ * configuration is a compile error instead of a silent `as T` in
672
+ * `extractArtifact`. Shares the evaluator so EXECUTE and VERIFY score with
673
+ * identical semantics (the whole point of `evalVerifier`).
532
674
  *
533
- * Combines severity weight, attention decay, strategy model effectiveness,
534
- * and an optional external urgency signal.
535
- *
536
- * @param item - Node holding the triaged item.
537
- * @param strategy - Strategy model node.
538
- * @param lastInteractionNs - Node holding the monotonic timestamp (ns) of last human interaction.
539
- * @param urgency - Optional external urgency signal node (0–1 scale).
540
- * @param signals - Configurable scoring parameters.
675
+ * @example
676
+ * ```ts
677
+ * const { executor, verifier } = harnessEvalPair<CatalogEntry>({
678
+ * seedFrom: (item) => initialCatalogEntry(item),
679
+ * evaluator: (cands, ds) => runEvalBatch(cands, ds),
680
+ * strategy: errorCritique({ teacher, width: 3 }),
681
+ * datasetFor: affectedTasksFor,
682
+ * threshold: 0.8,
683
+ * });
684
+ * const harness = harnessLoop<CatalogEntry>("repair", { adapter, executor, verifier });
685
+ * ```
541
686
  */
542
- declare function priorityScore(item: Node<TriagedItem>, strategy: Node<StrategySnapshot>, lastInteractionNs: Node<number>, urgency?: Node<number>, signals?: PrioritySignals): Node<number>;
687
+ declare function harnessEvalPair<T>(config: HarnessEvalPairConfig<T>): {
688
+ executor: HarnessExecutor<T>;
689
+ verifier: HarnessVerifier<T>;
690
+ };
543
691
 
544
692
  /**
545
693
  * harnessLoop() factory (roadmap §9.0).
@@ -548,6 +696,15 @@ declare function priorityScore(item: Node<TriagedItem>, strategy: Node<StrategyS
548
696
  * EXECUTE → VERIFY → REFLECT. Static topology, flowing data — the Kafka
549
697
  * insight applied to human+LLM collaboration.
550
698
  *
699
+ * **Hub model (Wave B Unit 20 C + Q1).** All reactive-wire-crossing topics
700
+ * live in one `MessagingHubGraph` exposed as `HarnessGraph.queues`: the
701
+ * four per-route queues, an `__unrouted` dead-letter, plus `intake`,
702
+ * `retry`, `verify-results`, and the `triage-output` fan-in topic. The
703
+ * router is a single derived/effect pair that publishes to `triage-output`;
704
+ * per-route `topicBridge`s fan out by `map:` predicate. Routing is data
705
+ * (topic name), not code — every routing decision is a visible edge in
706
+ * `describe()` / `explain()`.
707
+ *
551
708
  * @module
552
709
  */
553
710
 
@@ -565,33 +722,83 @@ declare function priorityScore(item: Node<TriagedItem>, strategy: Node<StrategyS
565
722
  * @param prompt - Prompt template (string or `(item) => string`). Defaults
566
723
  * to the harness's built-in execute prompt.
567
724
  */
568
- declare function defaultLlmExecutor(adapter: LLMAdapter, prompt?: HarnessLoopOptions["executePrompt"]): HarnessExecutor;
725
+ declare function defaultLlmExecutor<A = unknown>(adapter: LLMAdapter, prompt?: string | ExecutePromptFn): HarnessExecutor<A>;
569
726
  /**
570
- * Build the default VERIFY slot — a `promptNode` that reviews the
571
- * `[executeOutput, item]` pair from the execute-context.
727
+ * Build the default VERIFY slot — a `promptNode` that reviews a
728
+ * pre-paired `[executeOutput, item]` context node. The harness creates
729
+ * the pairing (via `withLatestFrom(executeNode, executeInput)`) once and
730
+ * shares it with both the verifier and the internal fast-retry
731
+ * dispatcher, so the default verifier can consume the context directly
732
+ * without building its own withLatestFrom.
572
733
  *
573
734
  * @param adapter - LLMAdapter for the verify call.
574
735
  * @param prompt - Prompt template. Defaults to the harness's built-in
575
736
  * verify prompt (receives the full pair, extracts both).
576
737
  */
577
- declare function defaultLlmVerifier(adapter: LLMAdapter, prompt?: HarnessLoopOptions["verifyPrompt"]): HarnessVerifier;
578
- /** The graph returned by {@link harnessLoop}. */
579
- declare class HarnessGraph extends Graph {
580
- /** Intake topic publish items here to enter the loop. */
581
- readonly intake: TopicGraph<IntakeItem>;
582
- /** Per-route queue topics. */
583
- readonly queues: ReadonlyMap<QueueRoute, TopicGraph<TriagedItem>>;
738
+ declare function defaultLlmVerifier<A = unknown>(adapter: LLMAdapter, prompt?: string | VerifyPromptFn<A>): HarnessVerifier<A>;
739
+ /**
740
+ * The graph returned by {@link harnessLoop}. Wraps a single
741
+ * {@link MessagingHubGraph} that owns all reactive-wire-crossing topics
742
+ * (intake, per-route queues, `__unrouted`, retry, verify-results,
743
+ * triage-output). Sugar getters expose the canonical topics so the
744
+ * surface stays ergonomic.
745
+ */
746
+ declare class HarnessGraph<A = unknown> extends Graph {
747
+ /** Messaging hub — the routing-data plane. Queue topics live here. */
748
+ readonly queues: MessagingHubGraph;
749
+ /**
750
+ * Per-route JobQueueGraph mirrors (Unit 20 D). Each triaged item that
751
+ * reaches a queue is also enqueued here, giving reactive `depth` +
752
+ * `pending` + `jobs` observables. `fastRetry` terminal decisions
753
+ * {@link JobQueueGraph.ack ack} / {@link JobQueueGraph.nack nack} the
754
+ * matching job. The executor dataflow is unchanged — claim/ack/nack
755
+ * runs as an audit-side layer (per Unit 21's "interface unchanged"
756
+ * decision). Inspect via `harness.jobs.get(route).depth.cache` for
757
+ * backpressure metrics.
758
+ */
759
+ readonly jobs: ReadonlyMap<QueueRoute, JobQueueGraph<TriagedItem>>;
584
760
  /** Per-route gate controllers (only for gated queues). */
585
761
  readonly gates: ReadonlyMap<QueueRoute, GateController<TriagedItem>>;
586
762
  /** Strategy model bundle — record outcomes, lookup effectiveness. */
587
763
  readonly strategy: StrategyModelBundle;
588
- /** Verify results topic — subscribe to see verification outcomes. */
589
- readonly verifyResults: TopicGraph<VerifyResult>;
590
764
  /** Global retry count across all items (circuit breaker). Reactive — subscribable. */
591
765
  readonly totalRetries: Node<number>;
592
766
  /** Global reingestion count across all items (circuit breaker). Reactive — subscribable. */
593
767
  readonly totalReingestions: Node<number>;
594
- constructor(name: string, intake: TopicGraph<IntakeItem>, queues: Map<QueueRoute, TopicGraph<TriagedItem>>, gates: Map<QueueRoute, GateController<TriagedItem>>, strategy: StrategyModelBundle, verifyResults: TopicGraph<VerifyResult>, totalRetries: Node<number>, totalReingestions: Node<number>);
768
+ /**
769
+ * Per-route priority score nodes, populated only when `opts.priority` is
770
+ * set on {@link harnessLoop}. Each node emits a score combining severity,
771
+ * attention decay, and strategy-model effectiveness for the route's
772
+ * current head-of-queue item. `undefined` means the caller did not opt
773
+ * in to priority scoring.
774
+ */
775
+ readonly priorityScores?: ReadonlyMap<QueueRoute, Node<number>>;
776
+ constructor(name: string, queues: MessagingHubGraph, jobs: Map<QueueRoute, JobQueueGraph<TriagedItem>>, gates: Map<QueueRoute, GateController<TriagedItem>>, strategy: StrategyModelBundle, totalRetries: Node<number>, totalReingestions: Node<number>, priorityScores?: Map<QueueRoute, Node<number>>);
777
+ /** Intake topic — publish items here to enter the loop. */
778
+ get intake(): TopicGraph<IntakeItem>;
779
+ /** Verify results topic — subscribe to see verification outcomes. */
780
+ get verifyResults(): TopicGraph<VerifyResult<A>>;
781
+ /** Retry feedback topic — fast-retry re-entry point. */
782
+ get retry(): TopicGraph<TriagedItem>;
783
+ /** Dead-letter topic for items whose LLM-chosen route is unknown. */
784
+ get unrouted(): TopicGraph<TriagedItem>;
785
+ /**
786
+ * Stage-label → observe-path map for the 7 pipeline stages (Unit 22 C).
787
+ *
788
+ * Decouples inspection tools (`harnessTrace`, `harnessProfile`, custom
789
+ * dashboards) from mount-structure churn: hub migration, future stage
790
+ * splits, or gate remounting won't require edits to `trace.ts` as long
791
+ * as this method stays accurate. Returned paths are resolvable via
792
+ * `harness.observe(path)` / `harness.resolve(path)`.
793
+ *
794
+ * Each stage yields `{ label, paths }` because QUEUE and GATE legitimately
795
+ * have multiple paths (one per route). Consumers iterate paths per stage
796
+ * and attach observers as needed.
797
+ */
798
+ stageNodes(): ReadonlyArray<{
799
+ label: string;
800
+ paths: readonly string[];
801
+ }>;
595
802
  }
596
803
  /**
597
804
  * Wire the reactive collaboration loop as a static-topology graph.
@@ -609,7 +816,7 @@ declare class HarnessGraph extends Graph {
609
816
  * @param opts - Configuration.
610
817
  * @returns HarnessGraph with controller accessors.
611
818
  */
612
- declare function harnessLoop(name: string, opts: HarnessLoopOptions): HarnessGraph;
819
+ declare function harnessLoop<A = unknown>(name: string, opts: HarnessLoopOptions<A>): HarnessGraph<A>;
613
820
 
614
821
  /**
615
822
  * Harness-specific graph profiling (roadmap §9.0).
@@ -634,6 +841,13 @@ interface HarnessProfileResult extends GraphProfileResult {
634
841
  /**
635
842
  * Profile a harness graph with domain-specific counters.
636
843
  *
844
+ * **Snapshot caveat (Unit 22 B).** Reads `.cache` values from the
845
+ * strategy / retry / reingestion nodes + each queue topic's `.retained()`
846
+ * view. These are point-in-time reads and are not transactional — if you
847
+ * invoke this during an in-flight reactive wave the values may reflect
848
+ * a partially-settled frame. For end-of-wave accuracy, call from outside
849
+ * any batch boundary.
850
+ *
637
851
  * @param harness - The HarnessGraph to profile.
638
852
  * @param opts - Optional base profile options.
639
853
  * @returns Harness profile with queue depths, strategy stats, and tracker sizes.
@@ -688,10 +902,10 @@ interface RefineExecutorConfig<T> {
688
902
  datasetFor: (item: TriagedItem) => readonly DatasetItem[];
689
903
  /**
690
904
  * Optional mapper from the inner loop's terminal snapshot to an
691
- * `ExecuteOutput`. Default: converged→success, budget→partial,
905
+ * `ExecuteOutput<T>`. Default: converged→success, budget→partial,
692
906
  * errored→failure.
693
907
  */
694
- toOutput?: (result: RefineExecutorResult<T>) => ExecuteOutput;
908
+ toOutput?: (result: RefineExecutorResult<T>) => ExecuteOutput<T>;
695
909
  /** Convergence / budget options forwarded to each inner `refineLoop`. */
696
910
  refine?: Omit<RefineLoopOptions, "dataset" | "name">;
697
911
  /** Node name prefix for introspection. Default `"refine-executor"`. */
@@ -714,7 +928,7 @@ interface RefineExecutorConfig<T> {
714
928
  * });
715
929
  * ```
716
930
  */
717
- declare function refineExecutor<T>(config: RefineExecutorConfig<T>): HarnessExecutor;
931
+ declare function refineExecutor<T>(config: RefineExecutorConfig<T>): HarnessExecutor<T>;
718
932
 
719
933
  /**
720
934
  * Harness pipeline trace — thin sugar over `graph.observe({ format: "stage-log" })`.
@@ -800,8 +1014,11 @@ declare function harnessTrace(harness: HarnessGraph, opts?: HarnessTraceOptions)
800
1014
  type index_CodeChange = CodeChange;
801
1015
  type index_CodeChangeBridgeOptions = CodeChangeBridgeOptions;
802
1016
  declare const index_DEFAULT_DECAY_RATE: typeof DEFAULT_DECAY_RATE;
1017
+ declare const index_DEFAULT_EXECUTE_PROMPT: typeof DEFAULT_EXECUTE_PROMPT;
803
1018
  declare const index_DEFAULT_QUEUE_CONFIGS: typeof DEFAULT_QUEUE_CONFIGS;
804
1019
  declare const index_DEFAULT_SEVERITY_WEIGHTS: typeof DEFAULT_SEVERITY_WEIGHTS;
1020
+ declare const index_DEFAULT_TRIAGE_PROMPT: typeof DEFAULT_TRIAGE_PROMPT;
1021
+ declare const index_DEFAULT_VERIFY_PROMPT: typeof DEFAULT_VERIFY_PROMPT;
805
1022
  type index_ErrorClass = ErrorClass;
806
1023
  type index_ErrorClassifier = ErrorClassifier;
807
1024
  type index_EvalDelta = EvalDelta;
@@ -812,20 +1029,23 @@ type index_EvalTaskDelta = EvalTaskDelta;
812
1029
  type index_EvalTaskResult = EvalTaskResult;
813
1030
  type index_EvalVerifierConfig<T> = EvalVerifierConfig<T>;
814
1031
  type index_EvalVerifierSummary = EvalVerifierSummary;
815
- type index_ExecuteOutput = ExecuteOutput;
816
- type index_ExecutionResult = ExecutionResult;
817
- type index_HarnessExecutor = HarnessExecutor;
818
- type index_HarnessGraph = HarnessGraph;
1032
+ type index_ExecuteOutput<A = unknown> = ExecuteOutput<A>;
1033
+ type index_ExecutePromptFn = ExecutePromptFn;
1034
+ type index_ExecutionResult<A = unknown> = ExecutionResult<A>;
1035
+ type index_HarnessEvalPairConfig<T> = HarnessEvalPairConfig<T>;
1036
+ type index_HarnessExecutor<A = unknown> = HarnessExecutor<A>;
1037
+ type index_HarnessGraph<A = unknown> = HarnessGraph<A>;
819
1038
  declare const index_HarnessGraph: typeof HarnessGraph;
820
- type index_HarnessLoopOptions = HarnessLoopOptions;
1039
+ type index_HarnessLoopOptions<A = unknown> = HarnessLoopOptions<A>;
821
1040
  type index_HarnessProfileResult = HarnessProfileResult;
822
1041
  type index_HarnessTraceHandle = HarnessTraceHandle;
823
1042
  type index_HarnessTraceOptions = HarnessTraceOptions;
824
- type index_HarnessVerifier = HarnessVerifier;
1043
+ type index_HarnessVerifier<A = unknown> = HarnessVerifier<A>;
825
1044
  type index_IntakeBridgeOptions = IntakeBridgeOptions;
826
1045
  type index_IntakeItem = IntakeItem;
827
1046
  type index_IntakeSource = IntakeSource;
828
1047
  type index_Intervention = Intervention;
1048
+ type index_KnownIntakeSource = KnownIntakeSource;
829
1049
  type index_LintError = LintError;
830
1050
  type index_NotifyEffectOptions = NotifyEffectOptions;
831
1051
  type index_NotifyTransport<T> = NotifyTransport<T>;
@@ -845,9 +1065,11 @@ type index_TestFailure = TestFailure;
845
1065
  type index_TraceDetail = TraceDetail;
846
1066
  type index_TraceEvent = TraceEvent;
847
1067
  type index_TraceEventType = TraceEventType;
1068
+ type index_TriagePromptFn = TriagePromptFn;
848
1069
  type index_TriagedItem = TriagedItem;
849
1070
  type index_VerifyOutput = VerifyOutput;
850
- type index_VerifyResult = VerifyResult;
1071
+ type index_VerifyPromptFn<A = unknown> = VerifyPromptFn<A>;
1072
+ type index_VerifyResult<A = unknown> = VerifyResult<A>;
851
1073
  declare const index_affectedTaskFilter: typeof affectedTaskFilter;
852
1074
  declare const index_beforeAfterCompare: typeof beforeAfterCompare;
853
1075
  declare const index_codeChangeBridge: typeof codeChangeBridge;
@@ -858,16 +1080,18 @@ declare const index_defaultLlmVerifier: typeof defaultLlmVerifier;
858
1080
  declare const index_evalIntakeBridge: typeof evalIntakeBridge;
859
1081
  declare const index_evalSource: typeof evalSource;
860
1082
  declare const index_evalVerifier: typeof evalVerifier;
1083
+ declare const index_harnessEvalPair: typeof harnessEvalPair;
861
1084
  declare const index_harnessLoop: typeof harnessLoop;
862
1085
  declare const index_harnessProfile: typeof harnessProfile;
863
1086
  declare const index_harnessTrace: typeof harnessTrace;
864
1087
  declare const index_notifyEffect: typeof notifyEffect;
865
1088
  declare const index_priorityScore: typeof priorityScore;
866
1089
  declare const index_refineExecutor: typeof refineExecutor;
1090
+ declare const index_resolvePromptFn: typeof resolvePromptFn;
867
1091
  declare const index_strategyKey: typeof strategyKey;
868
1092
  declare const index_strategyModel: typeof strategyModel;
869
1093
  declare namespace index {
870
- export { type index_CodeChange as CodeChange, type index_CodeChangeBridgeOptions as CodeChangeBridgeOptions, index_DEFAULT_DECAY_RATE as DEFAULT_DECAY_RATE, index_DEFAULT_QUEUE_CONFIGS as DEFAULT_QUEUE_CONFIGS, index_DEFAULT_SEVERITY_WEIGHTS as DEFAULT_SEVERITY_WEIGHTS, type index_ErrorClass as ErrorClass, type index_ErrorClassifier as ErrorClassifier, type index_EvalDelta as EvalDelta, type index_EvalIntakeBridgeOptions as EvalIntakeBridgeOptions, type index_EvalJudgeScore as EvalJudgeScore, type index_EvalResult as EvalResult, type index_EvalTaskDelta as EvalTaskDelta, type index_EvalTaskResult as EvalTaskResult, type index_EvalVerifierConfig as EvalVerifierConfig, type index_EvalVerifierSummary as EvalVerifierSummary, type index_ExecuteOutput as ExecuteOutput, type index_ExecutionResult as ExecutionResult, type index_HarnessExecutor as HarnessExecutor, index_HarnessGraph as HarnessGraph, type index_HarnessLoopOptions as HarnessLoopOptions, type index_HarnessProfileResult as HarnessProfileResult, type index_HarnessTraceHandle as HarnessTraceHandle, type index_HarnessTraceOptions as HarnessTraceOptions, type index_HarnessVerifier as HarnessVerifier, type index_IntakeBridgeOptions as IntakeBridgeOptions, type index_IntakeItem as IntakeItem, type index_IntakeSource as IntakeSource, type index_Intervention as Intervention, type index_LintError as LintError, type index_NotifyEffectOptions as NotifyEffectOptions, type index_NotifyTransport as NotifyTransport, type index_PrioritySignals as PrioritySignals, index_QUEUE_NAMES as QUEUE_NAMES, type index_QueueConfig as QueueConfig, type index_QueueRoute as QueueRoute, type index_RefineExecutorConfig as RefineExecutorConfig, type index_RefineExecutorResult as RefineExecutorResult, type index_RootCause as RootCause, type index_Severity as Severity, type index_StrategyEntry as StrategyEntry, type index_StrategyKey as StrategyKey, type index_StrategyModelBundle as StrategyModelBundle, type index_StrategySnapshot as StrategySnapshot, type index_TestFailure as TestFailure, type index_TraceDetail as TraceDetail, type index_TraceEvent as TraceEvent, type index_TraceEventType as TraceEventType, type index_TriagedItem as TriagedItem, type index_VerifyOutput as VerifyOutput, type index_VerifyResult as VerifyResult, index_affectedTaskFilter as affectedTaskFilter, index_beforeAfterCompare as beforeAfterCompare, index_codeChangeBridge as codeChangeBridge, index_createIntakeBridge as createIntakeBridge, index_defaultErrorClassifier as defaultErrorClassifier, index_defaultLlmExecutor as defaultLlmExecutor, index_defaultLlmVerifier as defaultLlmVerifier, index_evalIntakeBridge as evalIntakeBridge, index_evalSource as evalSource, index_evalVerifier as evalVerifier, index_harnessLoop as harnessLoop, index_harnessProfile as harnessProfile, index_harnessTrace as harnessTrace, index_notifyEffect as notifyEffect, index_priorityScore as priorityScore, index_refineExecutor as refineExecutor, index_strategyKey as strategyKey, index_strategyModel as strategyModel };
1094
+ export { type index_CodeChange as CodeChange, type index_CodeChangeBridgeOptions as CodeChangeBridgeOptions, index_DEFAULT_DECAY_RATE as DEFAULT_DECAY_RATE, index_DEFAULT_EXECUTE_PROMPT as DEFAULT_EXECUTE_PROMPT, index_DEFAULT_QUEUE_CONFIGS as DEFAULT_QUEUE_CONFIGS, index_DEFAULT_SEVERITY_WEIGHTS as DEFAULT_SEVERITY_WEIGHTS, index_DEFAULT_TRIAGE_PROMPT as DEFAULT_TRIAGE_PROMPT, index_DEFAULT_VERIFY_PROMPT as DEFAULT_VERIFY_PROMPT, type index_ErrorClass as ErrorClass, type index_ErrorClassifier as ErrorClassifier, type index_EvalDelta as EvalDelta, type index_EvalIntakeBridgeOptions as EvalIntakeBridgeOptions, type index_EvalJudgeScore as EvalJudgeScore, type index_EvalResult as EvalResult, type index_EvalTaskDelta as EvalTaskDelta, type index_EvalTaskResult as EvalTaskResult, type index_EvalVerifierConfig as EvalVerifierConfig, type index_EvalVerifierSummary as EvalVerifierSummary, type index_ExecuteOutput as ExecuteOutput, type index_ExecutePromptFn as ExecutePromptFn, type index_ExecutionResult as ExecutionResult, type index_HarnessEvalPairConfig as HarnessEvalPairConfig, type index_HarnessExecutor as HarnessExecutor, index_HarnessGraph as HarnessGraph, type index_HarnessLoopOptions as HarnessLoopOptions, type index_HarnessProfileResult as HarnessProfileResult, type index_HarnessTraceHandle as HarnessTraceHandle, type index_HarnessTraceOptions as HarnessTraceOptions, type index_HarnessVerifier as HarnessVerifier, type index_IntakeBridgeOptions as IntakeBridgeOptions, type index_IntakeItem as IntakeItem, type index_IntakeSource as IntakeSource, type index_Intervention as Intervention, type index_KnownIntakeSource as KnownIntakeSource, type index_LintError as LintError, type index_NotifyEffectOptions as NotifyEffectOptions, type index_NotifyTransport as NotifyTransport, type index_PrioritySignals as PrioritySignals, index_QUEUE_NAMES as QUEUE_NAMES, type index_QueueConfig as QueueConfig, type index_QueueRoute as QueueRoute, type index_RefineExecutorConfig as RefineExecutorConfig, type index_RefineExecutorResult as RefineExecutorResult, type index_RootCause as RootCause, type index_Severity as Severity, type index_StrategyEntry as StrategyEntry, type index_StrategyKey as StrategyKey, type index_StrategyModelBundle as StrategyModelBundle, type index_StrategySnapshot as StrategySnapshot, type index_TestFailure as TestFailure, type index_TraceDetail as TraceDetail, type index_TraceEvent as TraceEvent, type index_TraceEventType as TraceEventType, type index_TriagePromptFn as TriagePromptFn, type index_TriagedItem as TriagedItem, type index_VerifyOutput as VerifyOutput, type index_VerifyPromptFn as VerifyPromptFn, type index_VerifyResult as VerifyResult, index_affectedTaskFilter as affectedTaskFilter, index_beforeAfterCompare as beforeAfterCompare, index_codeChangeBridge as codeChangeBridge, index_createIntakeBridge as createIntakeBridge, index_defaultErrorClassifier as defaultErrorClassifier, index_defaultLlmExecutor as defaultLlmExecutor, index_defaultLlmVerifier as defaultLlmVerifier, index_evalIntakeBridge as evalIntakeBridge, index_evalSource as evalSource, index_evalVerifier as evalVerifier, index_harnessEvalPair as harnessEvalPair, index_harnessLoop as harnessLoop, index_harnessProfile as harnessProfile, index_harnessTrace as harnessTrace, index_notifyEffect as notifyEffect, index_priorityScore as priorityScore, index_refineExecutor as refineExecutor, index_resolvePromptFn as resolvePromptFn, index_strategyKey as strategyKey, index_strategyModel as strategyModel };
871
1095
  }
872
1096
 
873
- export { codeChangeBridge as $, type QueueRoute as A, type RefineExecutorResult as B, type CodeChange as C, DEFAULT_DECAY_RATE as D, type ErrorClass as E, type RootCause as F, type StrategyEntry as G, type HarnessExecutor as H, type IntakeBridgeOptions as I, type StrategyKey as J, type StrategyModelBundle as K, type LintError as L, type StrategySnapshot as M, type NotifyEffectOptions as N, type TraceDetail as O, type PrioritySignals as P, QUEUE_NAMES as Q, type RefineExecutorConfig as R, type Severity as S, type TestFailure as T, type TraceEvent as U, type TraceEventType as V, type TriagedItem as W, type VerifyOutput as X, type VerifyResult as Y, affectedTaskFilter as Z, beforeAfterCompare as _, type CodeChangeBridgeOptions as a, createIntakeBridge as a0, defaultErrorClassifier as a1, defaultLlmExecutor as a2, defaultLlmVerifier as a3, evalIntakeBridge as a4, evalSource as a5, evalVerifier as a6, harnessLoop as a7, harnessProfile as a8, harnessTrace as a9, notifyEffect as aa, priorityScore as ab, refineExecutor as ac, strategyKey as ad, strategyModel as ae, DEFAULT_QUEUE_CONFIGS as b, DEFAULT_SEVERITY_WEIGHTS as c, type ErrorClassifier as d, type EvalDelta as e, type EvalIntakeBridgeOptions as f, type EvalJudgeScore as g, type EvalResult as h, index as i, type EvalTaskDelta as j, type EvalTaskResult as k, type EvalVerifierConfig as l, type EvalVerifierSummary as m, type ExecuteOutput as n, type ExecutionResult as o, HarnessGraph as p, type HarnessLoopOptions as q, type HarnessProfileResult as r, type HarnessTraceHandle as s, type HarnessTraceOptions as t, type HarnessVerifier as u, type IntakeItem as v, type IntakeSource as w, type Intervention as x, type NotifyTransport as y, type QueueConfig as z };
1097
+ export { type TraceEventType as $, type IntakeItem as A, type IntakeSource as B, type CodeChange as C, DEFAULT_DECAY_RATE as D, type ErrorClass as E, type Intervention as F, type NotifyTransport as G, type HarnessEvalPairConfig as H, type IntakeBridgeOptions as I, type QueueConfig as J, type KnownIntakeSource as K, type LintError as L, type QueueRoute as M, type NotifyEffectOptions as N, type RefineExecutorResult as O, type PrioritySignals as P, QUEUE_NAMES as Q, type RefineExecutorConfig as R, type RootCause as S, type Severity as T, type StrategyEntry as U, type StrategyKey as V, type StrategyModelBundle as W, type StrategySnapshot as X, type TestFailure as Y, type TraceDetail as Z, type TraceEvent as _, type CodeChangeBridgeOptions as a, type TriagePromptFn as a0, type TriagedItem as a1, type VerifyOutput as a2, type VerifyPromptFn as a3, type VerifyResult as a4, affectedTaskFilter as a5, beforeAfterCompare as a6, codeChangeBridge as a7, createIntakeBridge as a8, defaultErrorClassifier as a9, defaultLlmExecutor as aa, defaultLlmVerifier as ab, evalIntakeBridge as ac, evalSource as ad, evalVerifier as ae, harnessEvalPair as af, harnessLoop as ag, harnessProfile as ah, harnessTrace as ai, notifyEffect as aj, priorityScore as ak, refineExecutor as al, resolvePromptFn as am, strategyKey as an, strategyModel as ao, DEFAULT_EXECUTE_PROMPT as b, DEFAULT_QUEUE_CONFIGS as c, DEFAULT_SEVERITY_WEIGHTS as d, DEFAULT_TRIAGE_PROMPT as e, DEFAULT_VERIFY_PROMPT as f, type ErrorClassifier as g, type EvalDelta as h, index as i, type EvalIntakeBridgeOptions as j, type EvalJudgeScore as k, type EvalResult as l, type EvalTaskDelta as m, type EvalTaskResult as n, type EvalVerifierConfig as o, type EvalVerifierSummary as p, type ExecuteOutput as q, type ExecutePromptFn as r, type ExecutionResult as s, type HarnessExecutor as t, HarnessGraph as u, type HarnessLoopOptions as v, type HarnessProfileResult as w, type HarnessTraceHandle as x, type HarnessTraceOptions as y, type HarnessVerifier as z };