@jinn-network/client 0.1.7 → 0.1.8-canary.09a3b2f6

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 (438) hide show
  1. package/README.md +67 -1
  2. package/dist/adapters/mech/adapter.d.ts +39 -2
  3. package/dist/adapters/mech/adapter.js +178 -20
  4. package/dist/adapters/mech/adapter.js.map +1 -1
  5. package/dist/adapters/mech/contracts.d.ts +22 -1
  6. package/dist/adapters/mech/contracts.js +96 -52
  7. package/dist/adapters/mech/contracts.js.map +1 -1
  8. package/dist/adapters/mech/safe-revert.d.ts +4 -0
  9. package/dist/adapters/mech/safe-revert.js +5 -1
  10. package/dist/adapters/mech/safe-revert.js.map +1 -1
  11. package/dist/adapters/mech/safe.d.ts +1 -1
  12. package/dist/adapters/mech/safe.js +10 -4
  13. package/dist/adapters/mech/safe.js.map +1 -1
  14. package/dist/adapters/mech/types.d.ts +6 -1
  15. package/dist/adapters/mech/types.js.map +1 -1
  16. package/dist/agent/operator-claude.js +8 -0
  17. package/dist/agent/operator-claude.js.map +1 -1
  18. package/dist/api/activity-events-endpoint.d.ts +14 -0
  19. package/dist/api/activity-events-endpoint.js +59 -0
  20. package/dist/api/activity-events-endpoint.js.map +1 -0
  21. package/dist/api/bootstrap-endpoint.d.ts +1 -2
  22. package/dist/api/bootstrap-endpoint.js +42 -24
  23. package/dist/api/bootstrap-endpoint.js.map +1 -1
  24. package/dist/api/codex-doctor-endpoint.d.ts +22 -5
  25. package/dist/api/codex-doctor-endpoint.js +136 -17
  26. package/dist/api/codex-doctor-endpoint.js.map +1 -1
  27. package/dist/api/debug-report-endpoint.d.ts +27 -0
  28. package/dist/api/debug-report-endpoint.js +157 -0
  29. package/dist/api/debug-report-endpoint.js.map +1 -0
  30. package/dist/api/discovery-endpoint.d.ts +1 -0
  31. package/dist/api/discovery-endpoint.js +24 -0
  32. package/dist/api/discovery-endpoint.js.map +1 -1
  33. package/dist/api/fleet-build.d.ts +1 -7
  34. package/dist/api/fleet-build.js +0 -7
  35. package/dist/api/fleet-build.js.map +1 -1
  36. package/dist/api/gather-status.d.ts +39 -0
  37. package/dist/api/gather-status.js +181 -84
  38. package/dist/api/gather-status.js.map +1 -1
  39. package/dist/api/hermes-doctor-endpoint.d.ts +15 -7
  40. package/dist/api/hermes-doctor-endpoint.js +56 -19
  41. package/dist/api/hermes-doctor-endpoint.js.map +1 -1
  42. package/dist/api/launcher-status.d.ts +4 -2
  43. package/dist/api/launcher-status.js +11 -10
  44. package/dist/api/launcher-status.js.map +1 -1
  45. package/dist/api/launcher-tasks.d.ts +1 -1
  46. package/dist/api/launcher-tasks.js +12 -8
  47. package/dist/api/launcher-tasks.js.map +1 -1
  48. package/dist/api/loop-completion-build.d.ts +79 -0
  49. package/dist/api/loop-completion-build.js +155 -0
  50. package/dist/api/loop-completion-build.js.map +1 -0
  51. package/dist/api/operator-artifacts-endpoint.js +73 -6
  52. package/dist/api/operator-artifacts-endpoint.js.map +1 -1
  53. package/dist/api/portfolio-v0-build.d.ts +7 -1
  54. package/dist/api/portfolio-v0-build.js +6 -2
  55. package/dist/api/portfolio-v0-build.js.map +1 -1
  56. package/dist/api/prediction-v1-build.d.ts +6 -0
  57. package/dist/api/prediction-v1-build.js +3 -1
  58. package/dist/api/prediction-v1-build.js.map +1 -1
  59. package/dist/api/server.d.ts +17 -0
  60. package/dist/api/server.js +40 -1
  61. package/dist/api/server.js.map +1 -1
  62. package/dist/api/setup-endpoints.d.ts +13 -9
  63. package/dist/api/setup-endpoints.js +50 -173
  64. package/dist/api/setup-endpoints.js.map +1 -1
  65. package/dist/api/solvernets-endpoints.js +33 -63
  66. package/dist/api/solvernets-endpoints.js.map +1 -1
  67. package/dist/api/status-build.d.ts +140 -17
  68. package/dist/api/status-build.js +47 -34
  69. package/dist/api/status-build.js.map +1 -1
  70. package/dist/api/status-harness-rollup.d.ts +35 -0
  71. package/dist/api/status-harness-rollup.js +45 -0
  72. package/dist/api/status-harness-rollup.js.map +1 -0
  73. package/dist/api/status-rollup-build.d.ts +0 -4
  74. package/dist/api/status-rollup-build.js +0 -4
  75. package/dist/api/status-rollup-build.js.map +1 -1
  76. package/dist/api/task-runs-build.d.ts +8 -0
  77. package/dist/api/task-runs-build.js +5 -1
  78. package/dist/api/task-runs-build.js.map +1 -1
  79. package/dist/build-info.json +4 -4
  80. package/dist/build-meta.json +1 -1
  81. package/dist/captures/live-publisher.js +24 -4
  82. package/dist/captures/live-publisher.js.map +1 -1
  83. package/dist/captures/publish.d.ts +1 -1
  84. package/dist/chain-read-errors.d.ts +12 -0
  85. package/dist/chain-read-errors.js +26 -1
  86. package/dist/chain-read-errors.js.map +1 -1
  87. package/dist/cli/commands/codedigest-revert-check.d.ts +33 -0
  88. package/dist/cli/commands/codedigest-revert-check.js +253 -0
  89. package/dist/cli/commands/codedigest-revert-check.js.map +1 -0
  90. package/dist/cli/commands/doctor.d.ts +3 -0
  91. package/dist/cli/commands/doctor.js +35 -0
  92. package/dist/cli/commands/doctor.js.map +1 -1
  93. package/dist/cli/commands/eval.d.ts +76 -0
  94. package/dist/cli/commands/eval.js +401 -0
  95. package/dist/cli/commands/eval.js.map +1 -0
  96. package/dist/cli/commands/rewards.d.ts +2 -0
  97. package/dist/cli/commands/rewards.js +27 -0
  98. package/dist/cli/commands/rewards.js.map +1 -1
  99. package/dist/cli/commands/solver-nets.d.ts +1 -0
  100. package/dist/cli/commands/solver-nets.js +245 -22
  101. package/dist/cli/commands/solver-nets.js.map +1 -1
  102. package/dist/cli/commands/solver-plugins-block.d.ts +33 -0
  103. package/dist/cli/commands/solver-plugins-block.js +118 -0
  104. package/dist/cli/commands/solver-plugins-block.js.map +1 -0
  105. package/dist/cli/commands/solver-plugins-feedback.d.ts +72 -0
  106. package/dist/cli/commands/solver-plugins-feedback.js +262 -0
  107. package/dist/cli/commands/solver-plugins-feedback.js.map +1 -0
  108. package/dist/cli/commands/solver-plugins-read.d.ts +54 -0
  109. package/dist/cli/commands/solver-plugins-read.js +259 -0
  110. package/dist/cli/commands/solver-plugins-read.js.map +1 -0
  111. package/dist/cli/commands/solver-plugins.d.ts +35 -0
  112. package/dist/cli/commands/solver-plugins.js +399 -2
  113. package/dist/cli/commands/solver-plugins.js.map +1 -1
  114. package/dist/cli/commands/status.js +0 -1
  115. package/dist/cli/commands/status.js.map +1 -1
  116. package/dist/cli/commands/tasks.js +15 -2
  117. package/dist/cli/commands/tasks.js.map +1 -1
  118. package/dist/cli/index.js +4 -0
  119. package/dist/cli/index.js.map +1 -1
  120. package/dist/cli/task-native-readiness.d.ts +7 -0
  121. package/dist/cli/task-native-readiness.js +7 -5
  122. package/dist/cli/task-native-readiness.js.map +1 -1
  123. package/dist/config.d.ts +206 -232
  124. package/dist/config.js +289 -107
  125. package/dist/config.js.map +1 -1
  126. package/dist/daemon/ai-units-gate.d.ts +54 -0
  127. package/dist/daemon/ai-units-gate.js +83 -0
  128. package/dist/daemon/ai-units-gate.js.map +1 -0
  129. package/dist/daemon/creator.js +13 -0
  130. package/dist/daemon/creator.js.map +1 -1
  131. package/dist/daemon/daemon.d.ts +10 -0
  132. package/dist/daemon/daemon.js +205 -30
  133. package/dist/daemon/daemon.js.map +1 -1
  134. package/dist/daemon/eviction-loop.d.ts +7 -0
  135. package/dist/daemon/eviction-loop.js +16 -0
  136. package/dist/daemon/eviction-loop.js.map +1 -1
  137. package/dist/daemon/gate-logger.d.ts +9 -0
  138. package/dist/daemon/gate-logger.js +2 -0
  139. package/dist/daemon/gate-logger.js.map +1 -0
  140. package/dist/daemon/jinn-claim-loop.js +22 -4
  141. package/dist/daemon/jinn-claim-loop.js.map +1 -1
  142. package/dist/daemon/readiness-gate.d.ts +1 -4
  143. package/dist/daemon/readiness-gate.js.map +1 -1
  144. package/dist/daemon/spend-cap-gate.d.ts +40 -0
  145. package/dist/daemon/spend-cap-gate.js +46 -0
  146. package/dist/daemon/spend-cap-gate.js.map +1 -0
  147. package/dist/dashboard/assets/index-3quVQqik.js +167 -0
  148. package/dist/dashboard/assets/index-BVAWkLwY.css +1 -0
  149. package/dist/dashboard/index.html +2 -2
  150. package/dist/discovery/http.d.ts +7 -0
  151. package/dist/discovery/http.js +567 -24
  152. package/dist/discovery/http.js.map +1 -1
  153. package/dist/discovery/onchain.js +197 -5
  154. package/dist/discovery/onchain.js.map +1 -1
  155. package/dist/discovery/types.d.ts +235 -0
  156. package/dist/discovery/types.js +40 -0
  157. package/dist/discovery/types.js.map +1 -1
  158. package/dist/discovery/with-fallback.js +41 -0
  159. package/dist/discovery/with-fallback.js.map +1 -1
  160. package/dist/earning/bootstrap.d.ts +31 -3
  161. package/dist/earning/bootstrap.js +94 -22
  162. package/dist/earning/bootstrap.js.map +1 -1
  163. package/dist/earning/faucet.d.ts +1 -1
  164. package/dist/earning/faucet.js +2 -2
  165. package/dist/earning/faucet.js.map +1 -1
  166. package/dist/earning/safe-adapter.js +34 -11
  167. package/dist/earning/safe-adapter.js.map +1 -1
  168. package/dist/earning/types.d.ts +6 -6
  169. package/dist/earning/viem-clients.d.ts +11 -4
  170. package/dist/earning/viem-clients.js +14 -5
  171. package/dist/earning/viem-clients.js.map +1 -1
  172. package/dist/erc8004/identity.d.ts +19 -3
  173. package/dist/erc8004/identity.js +38 -11
  174. package/dist/erc8004/identity.js.map +1 -1
  175. package/dist/erc8004/index.d.ts +1 -1
  176. package/dist/erc8004/index.js.map +1 -1
  177. package/dist/eval/eval-harness-run.d.ts +63 -0
  178. package/dist/eval/eval-harness-run.js +123 -0
  179. package/dist/eval/eval-harness-run.js.map +1 -0
  180. package/dist/eval/orchestrator.d.ts +163 -0
  181. package/dist/eval/orchestrator.js +232 -0
  182. package/dist/eval/orchestrator.js.map +1 -0
  183. package/dist/eval/paired.d.ts +68 -0
  184. package/dist/eval/paired.js +93 -0
  185. package/dist/eval/paired.js.map +1 -0
  186. package/dist/eval/resolve-slate-tasks.d.ts +35 -0
  187. package/dist/eval/resolve-slate-tasks.js +56 -0
  188. package/dist/eval/resolve-slate-tasks.js.map +1 -0
  189. package/dist/eval/screen-discovery.d.ts +22 -0
  190. package/dist/eval/screen-discovery.js +71 -0
  191. package/dist/eval/screen-discovery.js.map +1 -0
  192. package/dist/eval/screen-progress.d.ts +41 -0
  193. package/dist/eval/screen-progress.js +60 -0
  194. package/dist/eval/screen-progress.js.map +1 -0
  195. package/dist/eval/screen-runner.d.ts +30 -0
  196. package/dist/eval/screen-runner.js +289 -0
  197. package/dist/eval/screen-runner.js.map +1 -0
  198. package/dist/eval/screen.d.ts +107 -0
  199. package/dist/eval/screen.js +159 -0
  200. package/dist/eval/screen.js.map +1 -0
  201. package/dist/eval/slope.d.ts +29 -0
  202. package/dist/eval/slope.js +46 -0
  203. package/dist/eval/slope.js.map +1 -0
  204. package/dist/eval/train-sequence.d.ts +35 -0
  205. package/dist/eval/train-sequence.js +59 -0
  206. package/dist/eval/train-sequence.js.map +1 -0
  207. package/dist/eval/wilson.d.ts +45 -0
  208. package/dist/eval/wilson.js +48 -0
  209. package/dist/eval/wilson.js.map +1 -0
  210. package/dist/events/types.d.ts +2 -2
  211. package/dist/harnesses/cost-estimates.d.ts +10 -31
  212. package/dist/harnesses/cost-estimates.js +11 -43
  213. package/dist/harnesses/cost-estimates.js.map +1 -1
  214. package/dist/harnesses/engine/canonical-json.js +5 -3
  215. package/dist/harnesses/engine/canonical-json.js.map +1 -1
  216. package/dist/harnesses/engine/engine.d.ts +37 -4
  217. package/dist/harnesses/engine/engine.js +151 -20
  218. package/dist/harnesses/engine/engine.js.map +1 -1
  219. package/dist/harnesses/engine/persistence.d.ts +38 -4
  220. package/dist/harnesses/engine/persistence.js +71 -6
  221. package/dist/harnesses/engine/persistence.js.map +1 -1
  222. package/dist/harnesses/engine/state.d.ts +9 -0
  223. package/dist/harnesses/engine/state.js +23 -10
  224. package/dist/harnesses/engine/state.js.map +1 -1
  225. package/dist/harnesses/impls/hermes-agent/adapter.d.ts +2 -0
  226. package/dist/harnesses/impls/hermes-agent/adapter.js +8 -5
  227. package/dist/harnesses/impls/hermes-agent/adapter.js.map +1 -1
  228. package/dist/harnesses/impls/hermes-agent/bootstrap.d.ts +1 -0
  229. package/dist/harnesses/impls/hermes-agent/bootstrap.js +10 -3
  230. package/dist/harnesses/impls/hermes-agent/bootstrap.js.map +1 -1
  231. package/dist/harnesses/impls/hermes-agent/config-builder.d.ts +1 -1
  232. package/dist/harnesses/impls/hermes-agent/config-builder.js +4 -2
  233. package/dist/harnesses/impls/hermes-agent/config-builder.js.map +1 -1
  234. package/dist/harnesses/impls/hermes-agent/harness.d.ts +31 -3
  235. package/dist/harnesses/impls/hermes-agent/harness.js +84 -7
  236. package/dist/harnesses/impls/hermes-agent/harness.js.map +1 -1
  237. package/dist/harnesses/impls/hermes-agent/prompt.d.ts +6 -6
  238. package/dist/harnesses/impls/hermes-agent/prompt.js +6 -6
  239. package/dist/harnesses/impls/index.d.ts +2 -0
  240. package/dist/harnesses/impls/index.js +2 -0
  241. package/dist/harnesses/impls/index.js.map +1 -1
  242. package/dist/harnesses/impls/learner/adapters/claude-code.d.ts +17 -0
  243. package/dist/harnesses/impls/learner/adapters/claude-code.js +118 -14
  244. package/dist/harnesses/impls/learner/adapters/claude-code.js.map +1 -1
  245. package/dist/harnesses/impls/learner/adapters/codex-code.d.ts +9 -0
  246. package/dist/harnesses/impls/learner/adapters/codex-code.js +30 -8
  247. package/dist/harnesses/impls/learner/adapters/codex-code.js.map +1 -1
  248. package/dist/harnesses/impls/learner/harness.d.ts +41 -1
  249. package/dist/harnesses/impls/learner/harness.js +78 -4
  250. package/dist/harnesses/impls/learner/harness.js.map +1 -1
  251. package/dist/harnesses/impls/learner/harvest.d.ts +3 -1
  252. package/dist/harnesses/impls/learner/harvest.js +30 -6
  253. package/dist/harnesses/impls/learner/harvest.js.map +1 -1
  254. package/dist/harnesses/impls/learner/plugin-path.js +1 -0
  255. package/dist/harnesses/impls/learner/plugin-path.js.map +1 -1
  256. package/dist/harnesses/impls/learner/restoration-patch.d.ts +2 -2
  257. package/dist/harnesses/impls/learner/restoration-patch.js +25 -6
  258. package/dist/harnesses/impls/learner/restoration-patch.js.map +1 -1
  259. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js +21 -1
  260. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js.map +1 -1
  261. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js +3 -1
  262. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js.map +1 -1
  263. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.d.ts +74 -5
  264. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js +103 -32
  265. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js.map +1 -1
  266. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.d.ts +2 -2
  267. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js +3 -1
  268. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js.map +1 -1
  269. package/dist/harnesses/readiness-registry.d.ts +7 -0
  270. package/dist/harnesses/readiness-registry.js +9 -0
  271. package/dist/harnesses/readiness-registry.js.map +1 -1
  272. package/dist/harnesses/types.d.ts +14 -0
  273. package/dist/learner/revert-decision.d.ts +74 -0
  274. package/dist/learner/revert-decision.js +73 -0
  275. package/dist/learner/revert-decision.js.map +1 -0
  276. package/dist/learner/revert-stats.d.ts +38 -0
  277. package/dist/learner/revert-stats.js +86 -0
  278. package/dist/learner/revert-stats.js.map +1 -0
  279. package/dist/local-provider-url.d.ts +3 -0
  280. package/dist/local-provider-url.js +28 -0
  281. package/dist/local-provider-url.js.map +1 -0
  282. package/dist/main.js +199 -104
  283. package/dist/main.js.map +1 -1
  284. package/dist/mcp/get-codedigest-reward.d.ts +13 -0
  285. package/dist/mcp/get-codedigest-reward.js +23 -0
  286. package/dist/mcp/get-codedigest-reward.js.map +1 -0
  287. package/dist/mcp/server.js +23 -0
  288. package/dist/mcp/server.js.map +1 -1
  289. package/dist/observability/debug-report-assemble.d.ts +43 -0
  290. package/dist/observability/debug-report-assemble.js +80 -0
  291. package/dist/observability/debug-report-assemble.js.map +1 -0
  292. package/dist/observability/emit-event.d.ts +9 -2
  293. package/dist/observability/emit-event.js +36 -2
  294. package/dist/observability/emit-event.js.map +1 -1
  295. package/dist/observability/file-logger.d.ts +69 -0
  296. package/dist/observability/file-logger.js +177 -0
  297. package/dist/observability/file-logger.js.map +1 -0
  298. package/dist/observability/redact-secrets.d.ts +65 -0
  299. package/dist/observability/redact-secrets.js +300 -0
  300. package/dist/observability/redact-secrets.js.map +1 -0
  301. package/dist/observability/tar.d.ts +30 -0
  302. package/dist/observability/tar.js +102 -0
  303. package/dist/observability/tar.js.map +1 -0
  304. package/dist/plugins/learner/.claude-plugin/plugin.json +1 -1
  305. package/dist/plugins/learner/.codex-plugin/plugin.json +1 -1
  306. package/dist/plugins/learner/hooks/session-start +30 -1
  307. package/dist/plugins/learner/skills/learn/consolidator-prompt.md +22 -1
  308. package/dist/plugins/learner/skills/learn/promoter-prompt.md +72 -1
  309. package/dist/preflight/deployment-readiness.d.ts +147 -0
  310. package/dist/preflight/deployment-readiness.js +366 -0
  311. package/dist/preflight/deployment-readiness.js.map +1 -0
  312. package/dist/preflight/pidfile-liveness.d.ts +50 -0
  313. package/dist/preflight/pidfile-liveness.js +117 -0
  314. package/dist/preflight/pidfile-liveness.js.map +1 -0
  315. package/dist/preflight/rpc-network.d.ts +40 -0
  316. package/dist/preflight/rpc-network.js +67 -1
  317. package/dist/preflight/rpc-network.js.map +1 -1
  318. package/dist/rpc/transport.d.ts +145 -0
  319. package/dist/rpc/transport.js +319 -0
  320. package/dist/rpc/transport.js.map +1 -0
  321. package/dist/scripts/donation-consumption-acceptance.js +7 -28
  322. package/dist/scripts/donation-consumption-acceptance.js.map +1 -1
  323. package/dist/scripts/swe-rebench-v2-pytest-missing.json +16 -0
  324. package/dist/solver-nets/prediction-operator-ux.d.ts +1 -2
  325. package/dist/solver-nets/prediction-operator-ux.js +56 -53
  326. package/dist/solver-nets/prediction-operator-ux.js.map +1 -1
  327. package/dist/solver-nets/registry.d.ts +19 -1
  328. package/dist/solver-nets/registry.js +37 -24
  329. package/dist/solver-nets/registry.js.map +1 -1
  330. package/dist/solver-types/_swe-rebench-v2-held-out-slate.d.ts +76 -0
  331. package/dist/solver-types/_swe-rebench-v2-held-out-slate.js +156 -0
  332. package/dist/solver-types/_swe-rebench-v2-held-out-slate.js.map +1 -0
  333. package/dist/solver-types/_swe-rebench-v2-pool-recovery.d.ts +81 -0
  334. package/dist/solver-types/_swe-rebench-v2-pool-recovery.js +116 -0
  335. package/dist/solver-types/_swe-rebench-v2-pool-recovery.js.map +1 -0
  336. package/dist/solver-types/_swe-rebench-v2-pool.d.ts +9 -2
  337. package/dist/solver-types/_swe-rebench-v2-pool.js +15 -20
  338. package/dist/solver-types/_swe-rebench-v2-pool.js.map +1 -1
  339. package/dist/solver-types/_swe-rebench-v2-state.d.ts +24 -0
  340. package/dist/solver-types/_swe-rebench-v2-state.js +33 -0
  341. package/dist/solver-types/_swe-rebench-v2-state.js.map +1 -1
  342. package/dist/solver-types/_swe-rebench-v2-validated-pool.d.ts +116 -2
  343. package/dist/solver-types/_swe-rebench-v2-validated-pool.js +296 -21
  344. package/dist/solver-types/_swe-rebench-v2-validated-pool.js.map +1 -1
  345. package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v1.json +20 -0
  346. package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v2.json +19 -0
  347. package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v2.screening-report.json +628 -0
  348. package/dist/solver-types/solver-type.d.ts +8 -0
  349. package/dist/solver-types/swe-rebench-v2-auto.d.ts +20 -11
  350. package/dist/solver-types/swe-rebench-v2-auto.js +64 -19
  351. package/dist/solver-types/swe-rebench-v2-auto.js.map +1 -1
  352. package/dist/solver-types/swe-rebench-v2.d.ts +10 -2
  353. package/dist/solver-types/swe-rebench-v2.js +233 -13
  354. package/dist/solver-types/swe-rebench-v2.js.map +1 -1
  355. package/dist/solvernets/daemon-init.d.ts +1 -1
  356. package/dist/solvernets/daemon-init.js +19 -4
  357. package/dist/solvernets/daemon-init.js.map +1 -1
  358. package/dist/solvernets/launched-record-dispatcher.d.ts +7 -0
  359. package/dist/solvernets/launched-record-dispatcher.js +10 -4
  360. package/dist/solvernets/launched-record-dispatcher.js.map +1 -1
  361. package/dist/solvernets/registry-client-erc8004.js +40 -37
  362. package/dist/solvernets/registry-client-erc8004.js.map +1 -1
  363. package/dist/solvernets/registry-client.d.ts +6 -0
  364. package/dist/solvernets/store.d.ts +2 -2
  365. package/dist/solvernets/store.js +7 -2
  366. package/dist/solvernets/store.js.map +1 -1
  367. package/dist/spend/ai-units-config.d.ts +49 -0
  368. package/dist/spend/ai-units-config.js +34 -0
  369. package/dist/spend/ai-units-config.js.map +1 -0
  370. package/dist/spend/ai-units.d.ts +140 -0
  371. package/dist/spend/ai-units.js +229 -0
  372. package/dist/spend/ai-units.js.map +1 -0
  373. package/dist/spend/cost-surface-status.d.ts +12 -0
  374. package/dist/spend/cost-surface-status.js +24 -0
  375. package/dist/spend/cost-surface-status.js.map +1 -0
  376. package/dist/spend/credential.d.ts +39 -0
  377. package/dist/spend/credential.js +71 -0
  378. package/dist/spend/credential.js.map +1 -0
  379. package/dist/spend/daemon-config.d.ts +13 -0
  380. package/dist/spend/daemon-config.js +24 -0
  381. package/dist/spend/daemon-config.js.map +1 -0
  382. package/dist/spend/pricing.d.ts +16 -0
  383. package/dist/spend/pricing.js +26 -0
  384. package/dist/spend/pricing.js.map +1 -0
  385. package/dist/spend/record.d.ts +13 -0
  386. package/dist/spend/record.js +43 -0
  387. package/dist/spend/record.js.map +1 -0
  388. package/dist/spend/usage.d.ts +27 -0
  389. package/dist/spend/usage.js +113 -0
  390. package/dist/spend/usage.js.map +1 -0
  391. package/dist/store/store.d.ts +187 -0
  392. package/dist/store/store.js +467 -4
  393. package/dist/store/store.js.map +1 -1
  394. package/dist/trajectory/transcript-parsers/codex-session.d.ts +12 -6
  395. package/dist/trajectory/transcript-parsers/codex-session.js +114 -13
  396. package/dist/trajectory/transcript-parsers/codex-session.js.map +1 -1
  397. package/dist/trajectory/transcript-parsers/types.d.ts +8 -8
  398. package/dist/trajectory/transcript-session-dirs.d.ts +18 -0
  399. package/dist/trajectory/transcript-session-dirs.js +85 -0
  400. package/dist/trajectory/transcript-session-dirs.js.map +1 -0
  401. package/dist/trajectory/transcript-watcher.d.ts +20 -1
  402. package/dist/trajectory/transcript-watcher.js +108 -32
  403. package/dist/trajectory/transcript-watcher.js.map +1 -1
  404. package/dist/tx-retry.d.ts +25 -0
  405. package/dist/tx-retry.js +95 -7
  406. package/dist/tx-retry.js.map +1 -1
  407. package/dist/types/payloads/portfolio-v0.d.ts +3 -3
  408. package/dist/types/payloads/prediction-apy-v0.d.ts +3 -3
  409. package/dist/types/payloads/prediction-v0.d.ts +12 -12
  410. package/dist/vendor/@jinn-network/sdk/dist/payloads/swe-rebench-v2.d.ts +108 -1
  411. package/dist/vendor/@jinn-network/sdk/dist/payloads/swe-rebench-v2.js +25 -1
  412. package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2-held-out-slate.d.ts +65 -0
  413. package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2-held-out-slate.js +123 -0
  414. package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2.d.ts +2 -2
  415. package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2.js +1 -1
  416. package/dist/vendor/@jinn-network/sdk/package.json +4 -0
  417. package/docker-compose.yml +3 -2
  418. package/package.json +30 -18
  419. package/plugins/learner/.claude-plugin/plugin.json +1 -1
  420. package/plugins/learner/.codex-plugin/plugin.json +1 -1
  421. package/plugins/learner/hooks/session-start +30 -1
  422. package/plugins/learner/skills/learn/consolidator-prompt.md +22 -1
  423. package/plugins/learner/skills/learn/promoter-prompt.md +72 -1
  424. package/plugins/swe-rebench-v2-diffmin/README.md +10 -9
  425. package/plugins/swe-rebench-v2-diffmin/jinn.plugin.json +1 -1
  426. package/plugins/swe-rebench-v2-diffmin/skills/diffmin/SKILL.md +15 -10
  427. package/plugins/swe-rebench-v2-diffmin/skills/test-map/SKILL.md +10 -12
  428. package/plugins/swe-rebench-v2-runtime/.claude-plugin/plugin.json +1 -1
  429. package/plugins/swe-rebench-v2-runtime/.codex-plugin/plugin.json +3 -3
  430. package/plugins/swe-rebench-v2-runtime/README.md +6 -6
  431. package/plugins/swe-rebench-v2-runtime/hooks/hooks.json +16 -0
  432. package/plugins/swe-rebench-v2-runtime/hooks/session-start +74 -0
  433. package/plugins/swe-rebench-v2-runtime/jinn.plugin.json +2 -3
  434. package/plugins/swe-rebench-v2-runtime/skills/task/SKILL.md +81 -0
  435. package/dist/dashboard/assets/index-BUlE8F3Y.js +0 -330
  436. package/dist/dashboard/assets/index-blqc7eqq.css +0 -32
  437. package/plugins/swe-rebench-v2-runtime/skills/orient/SKILL.md +0 -29
  438. package/plugins/swe-rebench-v2-runtime/skills/plan/SKILL.md +0 -53
@@ -0,0 +1,319 @@
1
+ /**
2
+ * RPC transport helper — builds a viem `fallback()` transport from a single
3
+ * URL, an array of URLs, or a comma-separated string. The substrate for issue
4
+ * #592 (multi-RPC fallback chain across daemon / relayer / indexer / CI).
5
+ *
6
+ * Design:
7
+ * - `parseRpcUrls` normalises `string | readonly string[]` to a deduplicated
8
+ * non-empty array, splits comma-strings, trims, drops empties, and caps the
9
+ * chain at {@link MAX_RPC_CHAIN_LENGTH} providers (extras are dropped with a
10
+ * warning). Throws when no URLs remain.
11
+ * - `buildFallbackTransport` wraps `http(url)` per slot inside viem's
12
+ * `fallback([...], { rank: false, retryCount: 0 })`. `rank: false` is
13
+ * explicit — the issue's "Tenderly stays in slot 3" constraint requires
14
+ * order preservation (no latency-based reshuffling). `retryCount: 0` keeps
15
+ * the helper from doubling retries on top of the existing
16
+ * `withRecoverableRetry` wrapper used by callers like the mech adapter.
17
+ * - On exhausted fall-through the helper rejects with `AllRpcsFailedError`,
18
+ * which carries a structured `providers: readonly string[]` list of masked
19
+ * hosts so callers and tests can assert on it.
20
+ * - `describeFallbackChain` formats the canonical AC7 boot-log summary line:
21
+ * `fallback chain (N providers) — primary=<host>`.
22
+ *
23
+ * Do not conflate with `discovery.fallbackToOnchain` — that's a separate layer
24
+ * at the read-API level (Ponder → eth_getLogs floor). This helper sits beneath
25
+ * both layers at the JSON-RPC transport level.
26
+ */
27
+ import { ExecutionRevertedError, fallback, http, LimitExceededRpcError, TransactionRejectedRpcError, UserRejectedRequestError, } from 'viem';
28
+ /**
29
+ * Hard cap on the number of providers in a single fallback chain. Four covers
30
+ * the "operator paid primary + public publicnode + public sepolia.base.org +
31
+ * Tenderly slot-3" shape from the issue; beyond that the boot probe takes too
32
+ * long and slot 5+ is almost always copy-paste noise.
33
+ */
34
+ export const MAX_RPC_CHAIN_LENGTH = 4;
35
+ /**
36
+ * Normalise `string | readonly string[]` into a non-empty, deduplicated,
37
+ * capped list of RPC URLs. Comma-separated strings are split (operator
38
+ * convention, see `peers` in `config.ts`). Duplicates are removed before the
39
+ * cap is applied so the effective chain length matches operator intent (an
40
+ * operator who prepends their paid primary to the existing fallback list
41
+ * shouldn't burn a slot on the duplicate).
42
+ *
43
+ * @throws if the input yields zero non-empty URLs.
44
+ */
45
+ export function parseRpcUrls(input, options = {}) {
46
+ const log = options.log ?? ((m) => process.stderr.write(`${m}\n`));
47
+ const raw = typeof input === 'string' ? input.split(',') : [...input];
48
+ const cleaned = raw.map((u) => u.trim()).filter((u) => u.length > 0);
49
+ if (cleaned.length === 0) {
50
+ throw new Error('parseRpcUrls: at least one RPC URL is required');
51
+ }
52
+ // Dedup before applying the cap so repeated URLs (easy to introduce when an
53
+ // operator prepends a paid primary that already exists in the fallback list)
54
+ // don't burn slots of the 4-slot chain. `Set` preserves first-seen insertion
55
+ // order, which matches the "primary stays in slot 0" constraint.
56
+ const deduped = [...new Set(cleaned)];
57
+ if (deduped.length > MAX_RPC_CHAIN_LENGTH) {
58
+ log(`[rpc] capped fallback chain to ${MAX_RPC_CHAIN_LENGTH} providers ` +
59
+ `(dropped ${deduped.length - MAX_RPC_CHAIN_LENGTH} extra slots)`);
60
+ return deduped.slice(0, MAX_RPC_CHAIN_LENGTH);
61
+ }
62
+ return deduped;
63
+ }
64
+ /**
65
+ * Error thrown when every provider in a fallback chain has failed. Carries
66
+ * the masked host list so callers can surface a useful operator-facing message
67
+ * without leaking secret query strings (api-key paths).
68
+ */
69
+ export class AllRpcsFailedError extends Error {
70
+ providers;
71
+ cause;
72
+ constructor(providers, cause) {
73
+ super(`All RPC providers in the fallback chain failed (providers=${providers.join(', ')})`);
74
+ this.name = 'AllRpcsFailedError';
75
+ this.providers = providers;
76
+ this.cause = cause;
77
+ }
78
+ }
79
+ /**
80
+ * Detect errors that viem's `fallback()` short-circuits on (via its
81
+ * `shouldThrow(err)` fast-exit) — `ExecutionRevertedError`,
82
+ * `TransactionRejectedRpcError`, `UserRejectedRequestError`,
83
+ * `WalletConnectSessionSettlementError`, and CAIP user-rejected (code
84
+ * `5000`). These are EVM- or wallet-level signals, NOT transport-level
85
+ * failures, so they must propagate unchanged. Wrapping them as
86
+ * `AllRpcsFailedError` would give the operator-app a false-positive
87
+ * "all RPCs failed" message when the actual problem is e.g. a contract
88
+ * revert on a view function.
89
+ *
90
+ * Mirrors viem's own predicate at
91
+ * `node_modules/viem/clients/transports/fallback.ts` (`shouldThrow`),
92
+ * dispatching by **numeric JSON-RPC code** (the path that catches real
93
+ * `RpcRequestError` instances coming out of the HTTP transport) plus the
94
+ * `ExecutionRevertedError.nodeMessage` regex (the path that catches reverts
95
+ * surfaced as plain `Error` with no numeric code). The cause-chain walk by
96
+ * class `name` remains as a third path for wallet-provider stacks that
97
+ * deliver proper class instances (and for already-normalised errors after
98
+ * viem's `buildRequest` re-wrap pass).
99
+ */
100
+ export function isViemShouldThrowError(err) {
101
+ // 1. Code-based dispatch — matches what viem's own `shouldThrow` does,
102
+ // so a raw `RpcRequestError { code: 3 | -32003 | 4001 | 7000 | 5000 }`
103
+ // from the HTTP transport is caught here regardless of class name.
104
+ // Codes are pulled from the viem error classes (no magic numbers) where
105
+ // available; 7000 and 5000 are inline because
106
+ // `WalletConnectSessionSettlementError` is not re-exported from the
107
+ // top-level `viem` package and 5000 is the CAIP user-rejected code
108
+ // viem hard-codes alongside it.
109
+ if (err instanceof Error && 'code' in err && typeof err.code === 'number') {
110
+ const code = err.code;
111
+ if (code === ExecutionRevertedError.code || // 3 — contract revert
112
+ code === TransactionRejectedRpcError.code || // -32003 — tx rejected
113
+ code === UserRejectedRequestError.code || // 4001 — user-rejected
114
+ code === 7000 || // WalletConnectSessionSettlementError
115
+ code === 5000 // CAIP user-rejected
116
+ )
117
+ return true;
118
+ // 2. nodeMessage regex — catches reverts that arrive as a plain `Error`
119
+ // (no numeric code, no recognised class name). Viem's own
120
+ // `shouldThrow` runs this check too.
121
+ if (ExecutionRevertedError.nodeMessage.test(err.message))
122
+ return true;
123
+ }
124
+ // 3. Cause-chain walk — viem wraps low-level RPC errors in higher-level
125
+ // error classes (e.g. `ContractFunctionExecutionError` →
126
+ // `RpcRequestError` → `ExecutionRevertedError`), and wallet providers
127
+ // can deliver proper class instances directly. Walk with cycle
128
+ // detection so a self-referential `.cause` cannot infinite-loop.
129
+ const seen = new Set();
130
+ let cursor = err;
131
+ while (cursor instanceof Error && !seen.has(cursor)) {
132
+ seen.add(cursor);
133
+ if (cursor.name === 'ExecutionRevertedError')
134
+ return true;
135
+ if (cursor.name === 'TransactionRejectedRpcError')
136
+ return true;
137
+ if (cursor.name === 'UserRejectedRequestError')
138
+ return true;
139
+ if (cursor.name === 'WalletConnectSessionSettlementError')
140
+ return true;
141
+ cursor = cursor.cause;
142
+ }
143
+ return false;
144
+ }
145
+ /**
146
+ * Default cooldown applied to a slot that returns a quota / rate-limit error
147
+ * (#835). After this window the demoted slot becomes eligible again rather than
148
+ * being permanently disabled (AC2), so a transient 429 / monthly-quota blip
149
+ * never strands an operator on a degraded provider for the rest of the process.
150
+ */
151
+ export const DEFAULT_RPC_COOLDOWN_MS = 60_000;
152
+ /**
153
+ * Detect quota / rate-limit errors from an RPC provider (#835). Unlike
154
+ * {@link isViemShouldThrowError} (which marks EVM/wallet-level signals that must
155
+ * NOT trigger fallback), a quota error means the *slot* is temporarily unusable
156
+ * and should be demoted behind healthy slots for a cooldown window. Walks the
157
+ * cause chain (cycle-safe, mirroring `isViemShouldThrowError`) and matches on:
158
+ * - HTTP `status === 429` (the `http()` transport's `HttpRequestError`);
159
+ * - JSON-RPC `code === LimitExceededRpcError.code` (-32005);
160
+ * - a narrow message regex backstop covering unambiguous provider phrasings
161
+ * ("rate limit", "too many requests", "429", "quota", "compute unit",
162
+ * "request rate", "throughput") — deliberately excluding the ambiguous
163
+ * "limit"/"exceeded" words that collide with gas-limit errors.
164
+ *
165
+ * Deliberately narrow: a 5xx / network error is NOT a quota error (it falls
166
+ * through via viem but does not cool the slot — AC3 keeps static order when no
167
+ * quota errors occur), and a contract revert (code 3) is never a quota error.
168
+ */
169
+ export function isRpcQuotaError(err) {
170
+ // HTTP 429 (below) and JSON-RPC -32005 (LimitExceededRpcError) are the PRIMARY
171
+ // detectors. This message regex is only a backstop for providers that surface
172
+ // quota errors as plain text. It deliberately avoids the ambiguous "limit" /
173
+ // "exceeded" words: a bare `exceeded.*limit` alternative false-positives on
174
+ // gas errors like "exceeded block gas limit" / "gas limit exceeded", which can
175
+ // arrive with a non-shouldThrow code (e.g. -32000) and would wrongly cool a
176
+ // healthy slot. The phrases below are unambiguously quota/rate-limit and never
177
+ // appear in gas/execution errors; the only thing dropped is a text-only quota
178
+ // error carrying no 429 / -32005, which no major provider (Alchemy / Infura /
179
+ // publicnode / Tenderly) produces.
180
+ const quotaMessage = /rate.?limit|too many requests|429|quota|compute unit|request rate|throughput/i;
181
+ const seen = new Set();
182
+ let cursor = err;
183
+ while (cursor instanceof Error && !seen.has(cursor)) {
184
+ seen.add(cursor);
185
+ // Comparing against a numeric constant already excludes non-numbers, so no
186
+ // separate `typeof === 'number'` guard is needed here.
187
+ if (cursor.status === 429)
188
+ return true;
189
+ if (cursor.code === LimitExceededRpcError.code)
190
+ return true;
191
+ if (quotaMessage.test(cursor.message))
192
+ return true;
193
+ cursor = cursor.cause;
194
+ }
195
+ return false;
196
+ }
197
+ /**
198
+ * Mask an RPC URL down to its hostname for display / error reporting. Drops
199
+ * the path so api-key segments in the URL don't leak into logs.
200
+ */
201
+ export function maskRpcHost(url) {
202
+ try {
203
+ const parsed = new URL(url);
204
+ return parsed.hostname || '(unknown host)';
205
+ }
206
+ catch {
207
+ return '(invalid rpc url)';
208
+ }
209
+ }
210
+ /**
211
+ * Build a viem fallback transport over the given URLs. Returns a callable
212
+ * transport suitable for `createPublicClient({ transport })`.
213
+ *
214
+ * Errors that exhaust the chain are wrapped in `AllRpcsFailedError`.
215
+ */
216
+ export function buildFallbackTransport(urls, options = {}) {
217
+ const transports = urls.map((url) => http(url));
218
+ return buildFallbackTransport.buildFromTransports(transports, urls, options);
219
+ }
220
+ /**
221
+ * Internal helper exposed for tests: build a fallback transport from
222
+ * pre-constructed viem transports (e.g. `custom()` mocks) so tests can drive
223
+ * each slot deterministically without an actual HTTP fetch.
224
+ */
225
+ buildFallbackTransport.buildFromTransports = function buildFromTransports(transports, urls, options = {}) {
226
+ const maskedProviders = urls.map(maskRpcHost);
227
+ const now = options.now ?? Date.now;
228
+ const cooldownMs = options.cooldownMs ?? DEFAULT_RPC_COOLDOWN_MS;
229
+ const rank = options.rank ?? false;
230
+ // Cooldown bookkeeping, indexed by ORIGINAL slot index (#835). A slot that
231
+ // returns a quota / rate-limit error is demoted behind the healthy slots
232
+ // until `cooldownUntil[i]`, then becomes eligible again (AC1 + AC2). When no
233
+ // quota errors occur every entry stays 0 and the configured order is
234
+ // preserved verbatim (AC3).
235
+ const cooldownUntil = new Array(transports.length).fill(0);
236
+ // Self-stamping slot wrappers, built ONCE over the original slot order. Each
237
+ // wraps its original transport FACTORY, closing over its ORIGINAL index `i`.
238
+ // When the instantiated slot's request rejects with a quota error it stamps
239
+ // its OWN `cooldownUntil[i]` and re-throws unchanged. This per-slot
240
+ // self-stamping is why we don't use viem's `onResponse` — its `transport`
241
+ // arg is a freshly-instantiated instance that can't be mapped back to a slot
242
+ // index. Only the wrapper ARRAY is reordered per request (below); the
243
+ // wrappers themselves keep their original index for the lifetime of the
244
+ // chain.
245
+ const stampingTransports = transports.map((make, i) => {
246
+ return ((config) => {
247
+ const instance = make(config);
248
+ const innerRequest = instance.request.bind(instance);
249
+ instance.request = (async (args) => {
250
+ try {
251
+ return await innerRequest(args);
252
+ }
253
+ catch (err) {
254
+ // A revert / user-rejected (shouldThrow-class) is an EVM/wallet
255
+ // signal, never a transport quota problem — must NOT cool the slot.
256
+ if (!isViemShouldThrowError(err) && isRpcQuotaError(err)) {
257
+ cooldownUntil[i] = now() + cooldownMs;
258
+ }
259
+ throw err;
260
+ }
261
+ });
262
+ return instance;
263
+ });
264
+ });
265
+ // Per-request slot order: healthy slots (in original order) first, then
266
+ // cooling slots (in original order) as a last resort. Strict `<` means a
267
+ // slot is healthy again exactly at `now() === cooldownUntil[i]`.
268
+ const orderSlots = () => {
269
+ const healthy = [];
270
+ const cooling = [];
271
+ const t = now();
272
+ for (let i = 0; i < stampingTransports.length; i++) {
273
+ if (t < cooldownUntil[i])
274
+ cooling.push(stampingTransports[i]);
275
+ else
276
+ healthy.push(stampingTransports[i]);
277
+ }
278
+ return [...healthy, ...cooling];
279
+ };
280
+ const wrapped = ((config) => {
281
+ // Instantiate one inner fallback so the returned object carries the
282
+ // canonical `FallbackTransport` shape (`type: 'fallback'`, `onResponse`,
283
+ // `transports`). Its `request` is overridden to rebuild a fresh
284
+ // `fallback()` over the reordered slots on every call — the reorder is the
285
+ // whole point of #835, and a fresh chain with `retryCount: 0` reproduces
286
+ // the existing per-slot fall-through behaviour exactly.
287
+ const shape = fallback(stampingTransports, { rank, retryCount: 0 })(config);
288
+ shape.request = (async (args) => {
289
+ const perCall = fallback(orderSlots(), { rank, retryCount: 0 })(config);
290
+ try {
291
+ return await perCall.request(args);
292
+ }
293
+ catch (err) {
294
+ // shouldThrow-class errors (revert, user-rejected, CAIP 5000) are
295
+ // EVM/wallet-level — propagate unchanged so a single-slot revert is
296
+ // never misread as an exhausted-chain outage.
297
+ if (isViemShouldThrowError(err))
298
+ throw err;
299
+ // The whole chain is exhausted. viem has no distinct "all transports
300
+ // failed" class, so wrap the last underlying error in our structured
301
+ // `AllRpcsFailedError` carrying the masked host list in ORIGINAL
302
+ // configured order (never reordered).
303
+ throw new AllRpcsFailedError(maskedProviders, err);
304
+ }
305
+ });
306
+ return shape;
307
+ });
308
+ return wrapped;
309
+ };
310
+ /**
311
+ * Boot-log summary line for a fallback chain. Matches the canonical AC7
312
+ * format: `fallback chain (N providers) — primary=<host>`.
313
+ */
314
+ export function describeFallbackChain(urls) {
315
+ if (urls.length === 0)
316
+ return 'fallback chain (0 providers)';
317
+ return `fallback chain (${urls.length} providers) — primary=${maskRpcHost(urls[0])}`;
318
+ }
319
+ //# sourceMappingURL=transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/rpc/transport.ts"],"names":[],"mappings":"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"}
@@ -503,7 +503,6 @@ function buildConsumerHarnesses(raw) {
503
503
  }
504
504
  export function buildConsumerConfig(opts) {
505
505
  const clientHome = defaultClientHome(opts.consumerHome);
506
- const solverNets = cloneSolverNetsForConsumer(opts.producerConfig.solverNets);
507
506
  const base = {
508
507
  network: opts.producerConfig.network ?? 'testnet',
509
508
  rpcUrl: opts.producerConfig.rpcUrl,
@@ -525,7 +524,8 @@ export function buildConsumerConfig(opts) {
525
524
  ...(opts.producerConfig.runtimeMode ? { runtimeMode: opts.producerConfig.runtimeMode } : {}),
526
525
  ...(opts.producerConfig.harness ? { harness: opts.producerConfig.harness } : {}),
527
526
  harnesses: buildConsumerHarnesses(opts.producerConfig.harnesses),
528
- ...(solverNets ? { solverNets } : {}),
527
+ // Issue #421: the legacy `solverNets` block is retired; consumer config
528
+ // inherits the producer's `joinedSolverNets` only.
529
529
  ...(opts.producerConfig.joinedSolverNets ? { joinedSolverNets: opts.producerConfig.joinedSolverNets } : {}),
530
530
  engine: {
531
531
  workingDirRoot: join(clientHome, 'engine', 'work'),
@@ -582,22 +582,6 @@ export function ensureConsumerSweEvaluatorState(opts) {
582
582
  }
583
583
  return consumerStatePath;
584
584
  }
585
- function cloneSolverNetsForConsumer(raw) {
586
- if (!raw || typeof raw !== 'object' || Array.isArray(raw))
587
- return undefined;
588
- const out = {};
589
- for (const [name, value] of Object.entries(raw)) {
590
- if (!value || typeof value !== 'object' || Array.isArray(value))
591
- continue;
592
- const entry = { ...value };
593
- const taskGenerator = entry.taskGenerator && typeof entry.taskGenerator === 'object' && !Array.isArray(entry.taskGenerator)
594
- ? { ...entry.taskGenerator, enabled: false }
595
- : { enabled: false };
596
- entry.taskGenerator = taskGenerator;
597
- out[name] = entry;
598
- }
599
- return Object.keys(out).length > 0 ? out : undefined;
600
- }
601
585
  function sourceName(value) {
602
586
  if (typeof value === 'string')
603
587
  return value;
@@ -628,16 +612,11 @@ function assertConsumerConfiguredForSwe(config, configPath) {
628
612
  const solverEntries = sweEntries.filter((entry) => (Array.isArray(entry.roles) && entry.roles.includes('solver')));
629
613
  const evaluatorEntries = sweEntries.filter((entry) => (Array.isArray(entry.roles) && entry.roles.includes('evaluator')));
630
614
  const joinedRuntimeEnabled = solverEntries.some((entry) => (!disablesSweRuntime(entry.disabledDefaultPlugins) || includesSweRuntimePlugin(entry.plugins)));
631
- const solverNets = config.solverNets && typeof config.solverNets === 'object' && !Array.isArray(config.solverNets)
632
- ? Object.values(config.solverNets)
633
- : [];
634
- const legacySweEntries = solverNets.filter((entry) => (entry.enabled !== false && entry.solverType === 'swe-rebench-v2.v1'));
635
- const legacyHasSolver = legacySweEntries.some((entry) => (!Array.isArray(entry.roles) || entry.roles.includes('solving')));
636
- const legacyHasEvaluator = legacySweEntries.some((entry) => (Array.isArray(entry.roles) && entry.roles.includes('evaluating')));
637
- const legacyRuntimeEnabled = legacySweEntries.some((entry) => includesSweRuntimePlugin(entry.plugins));
638
- const hasSolver = solverEntries.length > 0 || legacyHasSolver;
639
- const hasEvaluator = evaluatorEntries.length > 0 || legacyHasEvaluator;
640
- const runtimeEnabled = joinedRuntimeEnabled || legacyRuntimeEnabled;
615
+ // Issue #421: legacy `solverNets` is retired; SWE-rebench v2 SolverNet
616
+ // membership is asserted via joinedSolverNets exclusively.
617
+ const hasSolver = solverEntries.length > 0;
618
+ const hasEvaluator = evaluatorEntries.length > 0;
619
+ const runtimeEnabled = joinedRuntimeEnabled;
641
620
  if (!hasSolver || !hasEvaluator || !runtimeEnabled) {
642
621
  fail('consumer_swe_join_required', 'Consumer config is not joined to SWE-rebench v2 for the live donation gate.', {
643
622
  configPath,
@@ -1 +1 @@
1
- {"version":3,"file":"donation-consumption-acceptance.js","sourceRoot":"","sources":["../../src/scripts/donation-consumption-acceptance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"donation-consumption-acceptance.js","sourceRoot":"","sources":["../../src/scripts/donation-consumption-acceptance.ts"],"names":[],"mappings":"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"}