@jinn-network/client 0.1.6 → 0.1.7-canary.08ebd916

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 (390) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +67 -1
  3. package/deployments/deployment-jinn-mvi-l1-sepolia-fast.json +23 -4
  4. package/deployments/deployment-jinn-mvi-l1-sepolia.json +23 -4
  5. package/deployments/deployment-jinn-mvi-l2-baseSepolia.json +5 -4
  6. package/dist/adapters/mech/adapter.d.ts +38 -2
  7. package/dist/adapters/mech/adapter.js +269 -62
  8. package/dist/adapters/mech/adapter.js.map +1 -1
  9. package/dist/adapters/mech/contracts.d.ts +17 -4
  10. package/dist/adapters/mech/contracts.js +8 -2
  11. package/dist/adapters/mech/contracts.js.map +1 -1
  12. package/dist/adapters/mech/safe-revert.d.ts +20 -0
  13. package/dist/adapters/mech/safe-revert.js +12 -4
  14. package/dist/adapters/mech/safe-revert.js.map +1 -1
  15. package/dist/adapters/mech/safe.d.ts +6 -2
  16. package/dist/adapters/mech/safe.js +32 -11
  17. package/dist/adapters/mech/safe.js.map +1 -1
  18. package/dist/adapters/mech/types.d.ts +6 -1
  19. package/dist/adapters/mech/types.js.map +1 -1
  20. package/dist/adapters/mech/verdict-code.d.ts +1 -0
  21. package/dist/adapters/mech/verdict-code.js +18 -0
  22. package/dist/adapters/mech/verdict-code.js.map +1 -1
  23. package/dist/agent/operator-claude.js +8 -0
  24. package/dist/agent/operator-claude.js.map +1 -1
  25. package/dist/api/activity-events-endpoint.d.ts +14 -0
  26. package/dist/api/activity-events-endpoint.js +59 -0
  27. package/dist/api/activity-events-endpoint.js.map +1 -0
  28. package/dist/api/admin-endpoint.d.ts +15 -3
  29. package/dist/api/admin-endpoint.js +24 -2
  30. package/dist/api/admin-endpoint.js.map +1 -1
  31. package/dist/api/bootstrap-endpoint.d.ts +1 -2
  32. package/dist/api/bootstrap-endpoint.js +85 -18
  33. package/dist/api/bootstrap-endpoint.js.map +1 -1
  34. package/dist/api/codex-doctor-endpoint.d.ts +90 -0
  35. package/dist/api/codex-doctor-endpoint.js +296 -0
  36. package/dist/api/codex-doctor-endpoint.js.map +1 -0
  37. package/dist/api/discovery-endpoint.d.ts +1 -0
  38. package/dist/api/discovery-endpoint.js +26 -0
  39. package/dist/api/discovery-endpoint.js.map +1 -1
  40. package/dist/api/fleet-build.d.ts +1 -0
  41. package/dist/api/fleet-build.js +2 -1
  42. package/dist/api/fleet-build.js.map +1 -1
  43. package/dist/api/gather-status.d.ts +37 -0
  44. package/dist/api/gather-status.js +572 -19
  45. package/dist/api/gather-status.js.map +1 -1
  46. package/dist/api/hermes-doctor-endpoint.d.ts +128 -3
  47. package/dist/api/hermes-doctor-endpoint.js +265 -22
  48. package/dist/api/hermes-doctor-endpoint.js.map +1 -1
  49. package/dist/api/launcher-status.d.ts +25 -17
  50. package/dist/api/launcher-status.js +13 -11
  51. package/dist/api/launcher-status.js.map +1 -1
  52. package/dist/api/launcher-tasks.d.ts +1 -1
  53. package/dist/api/launcher-tasks.js +12 -8
  54. package/dist/api/launcher-tasks.js.map +1 -1
  55. package/dist/api/operator-artifacts-endpoint.js +73 -6
  56. package/dist/api/operator-artifacts-endpoint.js.map +1 -1
  57. package/dist/api/portfolio-v0-build.d.ts +10 -0
  58. package/dist/api/portfolio-v0-build.js +24 -5
  59. package/dist/api/portfolio-v0-build.js.map +1 -1
  60. package/dist/api/prediction-v1-build.d.ts +10 -0
  61. package/dist/api/prediction-v1-build.js +7 -1
  62. package/dist/api/prediction-v1-build.js.map +1 -1
  63. package/dist/api/server.d.ts +31 -1
  64. package/dist/api/server.js +95 -2
  65. package/dist/api/server.js.map +1 -1
  66. package/dist/api/setup-endpoints.d.ts +16 -0
  67. package/dist/api/setup-endpoints.js +89 -135
  68. package/dist/api/setup-endpoints.js.map +1 -1
  69. package/dist/api/setup-retry-endpoint.d.ts +19 -0
  70. package/dist/api/setup-retry-endpoint.js +32 -0
  71. package/dist/api/setup-retry-endpoint.js.map +1 -0
  72. package/dist/api/solvernets-endpoints.d.ts +8 -0
  73. package/dist/api/solvernets-endpoints.js +99 -60
  74. package/dist/api/solvernets-endpoints.js.map +1 -1
  75. package/dist/api/status-build.d.ts +168 -2
  76. package/dist/api/status-build.js +116 -27
  77. package/dist/api/status-build.js.map +1 -1
  78. package/dist/api/status-harness-rollup.d.ts +35 -0
  79. package/dist/api/status-harness-rollup.js +45 -0
  80. package/dist/api/status-harness-rollup.js.map +1 -0
  81. package/dist/api/task-run-routing.d.ts +7 -0
  82. package/dist/api/task-run-routing.js +12 -0
  83. package/dist/api/task-run-routing.js.map +1 -0
  84. package/dist/api/task-runs-build.d.ts +21 -0
  85. package/dist/api/task-runs-build.js +14 -1
  86. package/dist/api/task-runs-build.js.map +1 -1
  87. package/dist/build-info.json +4 -4
  88. package/dist/build-meta.json +1 -1
  89. package/dist/captures/live-publisher.js +24 -4
  90. package/dist/captures/live-publisher.js.map +1 -1
  91. package/dist/captures/publish.d.ts +1 -1
  92. package/dist/chain-read-errors.d.ts +10 -0
  93. package/dist/chain-read-errors.js +15 -0
  94. package/dist/chain-read-errors.js.map +1 -1
  95. package/dist/cli/commands/auth.js +1 -1
  96. package/dist/cli/commands/auth.js.map +1 -1
  97. package/dist/cli/commands/create.js +3 -2
  98. package/dist/cli/commands/create.js.map +1 -1
  99. package/dist/cli/commands/doctor.d.ts +2 -0
  100. package/dist/cli/commands/doctor.js +2 -0
  101. package/dist/cli/commands/doctor.js.map +1 -1
  102. package/dist/cli/commands/rewards.js +11 -7
  103. package/dist/cli/commands/rewards.js.map +1 -1
  104. package/dist/cli/commands/solver-nets.js +101 -15
  105. package/dist/cli/commands/solver-nets.js.map +1 -1
  106. package/dist/cli/commands/solver-plugins-block.d.ts +33 -0
  107. package/dist/cli/commands/solver-plugins-block.js +118 -0
  108. package/dist/cli/commands/solver-plugins-block.js.map +1 -0
  109. package/dist/cli/commands/solver-plugins-feedback.d.ts +72 -0
  110. package/dist/cli/commands/solver-plugins-feedback.js +262 -0
  111. package/dist/cli/commands/solver-plugins-feedback.js.map +1 -0
  112. package/dist/cli/commands/solver-plugins-read.d.ts +54 -0
  113. package/dist/cli/commands/solver-plugins-read.js +259 -0
  114. package/dist/cli/commands/solver-plugins-read.js.map +1 -0
  115. package/dist/cli/commands/solver-plugins.d.ts +35 -0
  116. package/dist/cli/commands/solver-plugins.js +399 -2
  117. package/dist/cli/commands/solver-plugins.js.map +1 -1
  118. package/dist/cli/commands/status.js +1 -1
  119. package/dist/cli/commands/status.js.map +1 -1
  120. package/dist/cli/commands/tasks.js +101 -11
  121. package/dist/cli/commands/tasks.js.map +1 -1
  122. package/dist/cli/commands/update.d.ts +10 -0
  123. package/dist/cli/commands/update.js +36 -0
  124. package/dist/cli/commands/update.js.map +1 -1
  125. package/dist/cli/introspection-context.js +5 -0
  126. package/dist/cli/introspection-context.js.map +1 -1
  127. package/dist/cli/task-native-readiness.d.ts +10 -1
  128. package/dist/cli/task-native-readiness.js +30 -6
  129. package/dist/cli/task-native-readiness.js.map +1 -1
  130. package/dist/config.d.ts +273 -235
  131. package/dist/config.js +305 -114
  132. package/dist/config.js.map +1 -1
  133. package/dist/daemon/checkpoint-loop.d.ts +48 -0
  134. package/dist/daemon/checkpoint-loop.js +76 -0
  135. package/dist/daemon/checkpoint-loop.js.map +1 -0
  136. package/dist/daemon/creator.d.ts +1 -1
  137. package/dist/daemon/creator.js +7 -3
  138. package/dist/daemon/creator.js.map +1 -1
  139. package/dist/daemon/daemon.d.ts +22 -0
  140. package/dist/daemon/daemon.js +156 -23
  141. package/dist/daemon/daemon.js.map +1 -1
  142. package/dist/daemon/eviction-loop.d.ts +40 -0
  143. package/dist/daemon/eviction-loop.js +67 -0
  144. package/dist/daemon/eviction-loop.js.map +1 -0
  145. package/dist/daemon/gate-logger.d.ts +9 -0
  146. package/dist/daemon/gate-logger.js +2 -0
  147. package/dist/daemon/gate-logger.js.map +1 -0
  148. package/dist/daemon/jinn-claim-loop-wiring.d.ts +33 -0
  149. package/dist/daemon/jinn-claim-loop-wiring.js +40 -0
  150. package/dist/daemon/jinn-claim-loop-wiring.js.map +1 -0
  151. package/dist/daemon/jinn-claim-loop.d.ts +24 -17
  152. package/dist/daemon/jinn-claim-loop.js +77 -23
  153. package/dist/daemon/jinn-claim-loop.js.map +1 -1
  154. package/dist/daemon/readiness-gate.d.ts +1 -4
  155. package/dist/daemon/readiness-gate.js.map +1 -1
  156. package/dist/daemon/skip-log-dedup.d.ts +69 -0
  157. package/dist/daemon/skip-log-dedup.js +106 -0
  158. package/dist/daemon/skip-log-dedup.js.map +1 -0
  159. package/dist/daemon/spend-cap-gate.d.ts +40 -0
  160. package/dist/daemon/spend-cap-gate.js +46 -0
  161. package/dist/daemon/spend-cap-gate.js.map +1 -0
  162. package/dist/dashboard/assets/index-C4huIsUW.css +32 -0
  163. package/dist/dashboard/assets/index-DkTglWXU.js +345 -0
  164. package/dist/dashboard/index.html +2 -2
  165. package/dist/discovery/factory.d.ts +17 -5
  166. package/dist/discovery/factory.js +46 -18
  167. package/dist/discovery/factory.js.map +1 -1
  168. package/dist/discovery/http.js +216 -3
  169. package/dist/discovery/http.js.map +1 -1
  170. package/dist/discovery/onchain.d.ts +5 -0
  171. package/dist/discovery/onchain.js +418 -15
  172. package/dist/discovery/onchain.js.map +1 -1
  173. package/dist/discovery/types.d.ts +75 -1
  174. package/dist/discovery/types.js +8 -10
  175. package/dist/discovery/types.js.map +1 -1
  176. package/dist/discovery/with-fallback.d.ts +7 -0
  177. package/dist/discovery/with-fallback.js +20 -0
  178. package/dist/discovery/with-fallback.js.map +1 -1
  179. package/dist/earning/bootstrap.d.ts +100 -4
  180. package/dist/earning/bootstrap.js +221 -74
  181. package/dist/earning/bootstrap.js.map +1 -1
  182. package/dist/earning/contracts.d.ts +14 -0
  183. package/dist/earning/contracts.js +17 -5
  184. package/dist/earning/contracts.js.map +1 -1
  185. package/dist/earning/funding-plan.js +27 -18
  186. package/dist/earning/funding-plan.js.map +1 -1
  187. package/dist/earning/jinn-rewards.d.ts +46 -0
  188. package/dist/earning/jinn-rewards.js +32 -0
  189. package/dist/earning/jinn-rewards.js.map +1 -1
  190. package/dist/earning/safe-adapter.d.ts +2 -0
  191. package/dist/earning/safe-adapter.js +37 -11
  192. package/dist/earning/safe-adapter.js.map +1 -1
  193. package/dist/earning/store.d.ts +8 -0
  194. package/dist/earning/store.js.map +1 -1
  195. package/dist/earning/testnet-setup-migration.d.ts +12 -0
  196. package/dist/earning/testnet-setup-migration.js +27 -1
  197. package/dist/earning/testnet-setup-migration.js.map +1 -1
  198. package/dist/earning/types.d.ts +21 -6
  199. package/dist/earning/viem-clients.d.ts +11 -4
  200. package/dist/earning/viem-clients.js +14 -5
  201. package/dist/earning/viem-clients.js.map +1 -1
  202. package/dist/erc8004/identity.d.ts +19 -3
  203. package/dist/erc8004/identity.js +21 -6
  204. package/dist/erc8004/identity.js.map +1 -1
  205. package/dist/erc8004/index.d.ts +1 -1
  206. package/dist/erc8004/index.js.map +1 -1
  207. package/dist/erc8004/reputation.d.ts +8 -0
  208. package/dist/erc8004/reputation.js +22 -3
  209. package/dist/erc8004/reputation.js.map +1 -1
  210. package/dist/events/types.d.ts +2 -2
  211. package/dist/harnesses/cost-estimates.d.ts +145 -0
  212. package/dist/harnesses/cost-estimates.js +297 -0
  213. package/dist/harnesses/cost-estimates.js.map +1 -0
  214. package/dist/harnesses/engine/engine.d.ts +78 -0
  215. package/dist/harnesses/engine/engine.js +153 -11
  216. package/dist/harnesses/engine/engine.js.map +1 -1
  217. package/dist/harnesses/engine/persistence.d.ts +51 -1
  218. package/dist/harnesses/engine/persistence.js +118 -5
  219. package/dist/harnesses/engine/persistence.js.map +1 -1
  220. package/dist/harnesses/engine/work-dir-reaper.d.ts +65 -0
  221. package/dist/harnesses/engine/work-dir-reaper.js +100 -0
  222. package/dist/harnesses/engine/work-dir-reaper.js.map +1 -0
  223. package/dist/harnesses/impls/hermes-agent/adapter.js +40 -0
  224. package/dist/harnesses/impls/hermes-agent/adapter.js.map +1 -1
  225. package/dist/harnesses/impls/hermes-agent/bootstrap.d.ts +20 -0
  226. package/dist/harnesses/impls/hermes-agent/bootstrap.js +40 -6
  227. package/dist/harnesses/impls/hermes-agent/bootstrap.js.map +1 -1
  228. package/dist/harnesses/impls/hermes-agent/harness.d.ts +59 -1
  229. package/dist/harnesses/impls/hermes-agent/harness.js +104 -0
  230. package/dist/harnesses/impls/hermes-agent/harness.js.map +1 -1
  231. package/dist/harnesses/impls/hermes-agent/prompt.d.ts +6 -6
  232. package/dist/harnesses/impls/hermes-agent/prompt.js +6 -6
  233. package/dist/harnesses/impls/index.d.ts +7 -0
  234. package/dist/harnesses/impls/index.js +16 -1
  235. package/dist/harnesses/impls/index.js.map +1 -1
  236. package/dist/harnesses/impls/learner/adapters/codex-code.d.ts +9 -0
  237. package/dist/harnesses/impls/learner/adapters/codex-code.js +30 -8
  238. package/dist/harnesses/impls/learner/adapters/codex-code.js.map +1 -1
  239. package/dist/harnesses/impls/learner/harness.d.ts +38 -4
  240. package/dist/harnesses/impls/learner/harness.js +96 -2
  241. package/dist/harnesses/impls/learner/harness.js.map +1 -1
  242. package/dist/harnesses/impls/learner/harvest.d.ts +1 -1
  243. package/dist/harnesses/impls/learner/harvest.js +23 -5
  244. package/dist/harnesses/impls/learner/harvest.js.map +1 -1
  245. package/dist/harnesses/impls/learner/plugin-path.d.ts +0 -13
  246. package/dist/harnesses/impls/learner/plugin-path.js +35 -15
  247. package/dist/harnesses/impls/learner/plugin-path.js.map +1 -1
  248. package/dist/harnesses/impls/learner/restoration-patch.d.ts +2 -2
  249. package/dist/harnesses/impls/learner/restoration-patch.js +25 -6
  250. package/dist/harnesses/impls/learner/restoration-patch.js.map +1 -1
  251. package/dist/harnesses/impls/learner/types.d.ts +11 -0
  252. package/dist/harnesses/impls/stub.d.ts +58 -0
  253. package/dist/harnesses/impls/stub.js +89 -0
  254. package/dist/harnesses/impls/stub.js.map +1 -0
  255. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.d.ts +69 -50
  256. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js +178 -93
  257. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js.map +1 -1
  258. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.d.ts +12 -1
  259. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js +121 -7
  260. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js.map +1 -1
  261. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.d.ts +88 -4
  262. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js +143 -22
  263. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js.map +1 -1
  264. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.d.ts +6 -0
  265. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js +1 -1
  266. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js.map +1 -1
  267. package/dist/harnesses/readiness-registry.d.ts +7 -0
  268. package/dist/harnesses/readiness-registry.js +18 -1
  269. package/dist/harnesses/readiness-registry.js.map +1 -1
  270. package/dist/main.js +419 -111
  271. package/dist/main.js.map +1 -1
  272. package/dist/observability/emit-event.d.ts +3 -2
  273. package/dist/observability/emit-event.js +22 -1
  274. package/dist/observability/emit-event.js.map +1 -1
  275. package/dist/operator-errors.d.ts +7 -0
  276. package/dist/operator-errors.js +13 -1
  277. package/dist/operator-errors.js.map +1 -1
  278. package/dist/plugins/learner/.claude-plugin/plugin.json +9 -0
  279. package/dist/plugins/learner/.codex-plugin/plugin.json +39 -0
  280. package/dist/plugins/learner/AGENTS.md +40 -0
  281. package/dist/plugins/learner/CLAUDE.md +33 -0
  282. package/dist/plugins/learner/README.md +59 -0
  283. package/dist/plugins/learner/hooks/hooks.json +16 -0
  284. package/dist/plugins/learner/hooks/session-start +38 -0
  285. package/dist/plugins/learner/skills/learn/SKILL.md +412 -0
  286. package/dist/plugins/learner/skills/learn/analyst-prompt.md +68 -0
  287. package/dist/plugins/learner/skills/learn/consolidator-prompt.md +94 -0
  288. package/dist/plugins/learner/skills/learn/explorer-prompt.md +53 -0
  289. package/dist/plugins/learner/skills/learn/planner-prompt.md +87 -0
  290. package/dist/plugins/learner/skills/learn/promoter-prompt.md +113 -0
  291. package/dist/plugins/learner/skills/learn/step-worker-prompt.md +47 -0
  292. package/dist/plugins/learner/skills/learn/strategist-prompt.md +85 -0
  293. package/dist/preflight/rpc-network.d.ts +40 -0
  294. package/dist/preflight/rpc-network.js +67 -1
  295. package/dist/preflight/rpc-network.js.map +1 -1
  296. package/dist/restart-daemon.d.ts +90 -0
  297. package/dist/restart-daemon.js +95 -0
  298. package/dist/restart-daemon.js.map +1 -0
  299. package/dist/rpc/transport.d.ts +109 -0
  300. package/dist/rpc/transport.js +220 -0
  301. package/dist/rpc/transport.js.map +1 -0
  302. package/dist/scripts/donation-consumption-acceptance.js +7 -28
  303. package/dist/scripts/donation-consumption-acceptance.js.map +1 -1
  304. package/dist/setup/halt-mode.d.ts +14 -0
  305. package/dist/setup/halt-mode.js +17 -0
  306. package/dist/setup/halt-mode.js.map +1 -0
  307. package/dist/solver-nets/prediction-operator-ux.d.ts +1 -2
  308. package/dist/solver-nets/prediction-operator-ux.js +90 -47
  309. package/dist/solver-nets/prediction-operator-ux.js.map +1 -1
  310. package/dist/solver-nets/registry.d.ts +20 -1
  311. package/dist/solver-nets/registry.js +38 -25
  312. package/dist/solver-nets/registry.js.map +1 -1
  313. package/dist/solver-types/_swe-rebench-v2-pool-cache.d.ts +58 -0
  314. package/dist/solver-types/_swe-rebench-v2-pool-cache.js +87 -0
  315. package/dist/solver-types/_swe-rebench-v2-pool-cache.js.map +1 -0
  316. package/dist/solver-types/_swe-rebench-v2-pool.d.ts +9 -2
  317. package/dist/solver-types/_swe-rebench-v2-pool.js +15 -20
  318. package/dist/solver-types/_swe-rebench-v2-pool.js.map +1 -1
  319. package/dist/solver-types/_swe-rebench-v2-substrate.d.ts +1 -0
  320. package/dist/solver-types/_swe-rebench-v2-substrate.js +10 -0
  321. package/dist/solver-types/_swe-rebench-v2-substrate.js.map +1 -1
  322. package/dist/solver-types/_swe-rebench-v2-validated-pool.d.ts +94 -1
  323. package/dist/solver-types/_swe-rebench-v2-validated-pool.js +305 -39
  324. package/dist/solver-types/_swe-rebench-v2-validated-pool.js.map +1 -1
  325. package/dist/solver-types/swe-rebench-v2-auto.d.ts +22 -7
  326. package/dist/solver-types/swe-rebench-v2-auto.js +57 -20
  327. package/dist/solver-types/swe-rebench-v2-auto.js.map +1 -1
  328. package/dist/solver-types/swe-rebench-v2.d.ts +18 -2
  329. package/dist/solver-types/swe-rebench-v2.js +310 -94
  330. package/dist/solver-types/swe-rebench-v2.js.map +1 -1
  331. package/dist/solvernets/daemon-init.d.ts +10 -2
  332. package/dist/solvernets/daemon-init.js +22 -2
  333. package/dist/solvernets/daemon-init.js.map +1 -1
  334. package/dist/solvernets/launched-record-dispatcher.d.ts +4 -0
  335. package/dist/solvernets/launched-record-dispatcher.js +44 -7
  336. package/dist/solvernets/launched-record-dispatcher.js.map +1 -1
  337. package/dist/solvernets/store.d.ts +5 -0
  338. package/dist/solvernets/store.js +1 -0
  339. package/dist/solvernets/store.js.map +1 -1
  340. package/dist/spend/credential.d.ts +8 -0
  341. package/dist/spend/credential.js +30 -0
  342. package/dist/spend/credential.js.map +1 -0
  343. package/dist/spend/daemon-config.d.ts +13 -0
  344. package/dist/spend/daemon-config.js +24 -0
  345. package/dist/spend/daemon-config.js.map +1 -0
  346. package/dist/spend/pricing.d.ts +16 -0
  347. package/dist/spend/pricing.js +26 -0
  348. package/dist/spend/pricing.js.map +1 -0
  349. package/dist/spend/record.d.ts +13 -0
  350. package/dist/spend/record.js +30 -0
  351. package/dist/spend/record.js.map +1 -0
  352. package/dist/spend/usage.d.ts +27 -0
  353. package/dist/spend/usage.js +113 -0
  354. package/dist/spend/usage.js.map +1 -0
  355. package/dist/store/store.d.ts +61 -0
  356. package/dist/store/store.js +302 -7
  357. package/dist/store/store.js.map +1 -1
  358. package/dist/tasks/sources.d.ts +18 -1
  359. package/dist/tasks/sources.js +33 -5
  360. package/dist/tasks/sources.js.map +1 -1
  361. package/dist/trajectory/transcript-parsers/types.d.ts +8 -8
  362. package/dist/tx-retry.d.ts +166 -19
  363. package/dist/tx-retry.js +310 -32
  364. package/dist/tx-retry.js.map +1 -1
  365. package/dist/types/payloads/prediction-apy-v0.d.ts +5 -5
  366. package/dist/types/payloads/prediction-v0.d.ts +5 -5
  367. package/dist/types/task-document.d.ts +392 -0
  368. package/dist/types/task-document.js +10 -0
  369. package/dist/types/task-document.js.map +1 -1
  370. package/dist/types/task.d.ts +28 -0
  371. package/dist/util/extract-tx-hash.d.ts +14 -0
  372. package/dist/util/extract-tx-hash.js +19 -0
  373. package/dist/util/extract-tx-hash.js.map +1 -0
  374. package/dist/vendor/@jinn-network/sdk/dist/contracts.js +1 -1
  375. package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.d.ts +3 -0
  376. package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.js +1 -0
  377. package/package.json +36 -13
  378. package/plugins/swe-rebench-v2-diffmin/README.md +10 -9
  379. package/plugins/swe-rebench-v2-diffmin/jinn.plugin.json +1 -1
  380. package/plugins/swe-rebench-v2-diffmin/skills/diffmin/SKILL.md +15 -10
  381. package/plugins/swe-rebench-v2-diffmin/skills/test-map/SKILL.md +10 -12
  382. package/plugins/swe-rebench-v2-runtime/.claude-plugin/plugin.json +1 -1
  383. package/plugins/swe-rebench-v2-runtime/.codex-plugin/plugin.json +3 -3
  384. package/plugins/swe-rebench-v2-runtime/README.md +6 -6
  385. package/plugins/swe-rebench-v2-runtime/jinn.plugin.json +2 -3
  386. package/plugins/swe-rebench-v2-runtime/skills/task/SKILL.md +69 -0
  387. package/dist/dashboard/assets/index-DOlzFN8a.css +0 -32
  388. package/dist/dashboard/assets/index-NkZ7CTAT.js +0 -140
  389. package/plugins/swe-rebench-v2-runtime/skills/orient/SKILL.md +0 -29
  390. package/plugins/swe-rebench-v2-runtime/skills/plan/SKILL.md +0 -53
@@ -10,8 +10,8 @@
10
10
  href="https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@400;500;600&display=swap"
11
11
  rel="stylesheet"
12
12
  />
13
- <script type="module" crossorigin src="/assets/index-NkZ7CTAT.js"></script>
14
- <link rel="stylesheet" crossorigin href="/assets/index-DOlzFN8a.css">
13
+ <script type="module" crossorigin src="/assets/index-DkTglWXU.js"></script>
14
+ <link rel="stylesheet" crossorigin href="/assets/index-C4huIsUW.css">
15
15
  </head>
16
16
  <body>
17
17
  <div id="root"></div>
@@ -1,9 +1,18 @@
1
1
  /**
2
2
  * createDiscoveryAPI factory — builds a DiscoveryAPI from the daemon config.
3
3
  *
4
- * Selects the primary implementation per config.discovery.mode, always builds
5
- * an OnchainDiscoveryAPI floor, and returns a withFallback composition when
6
- * fallbackToOnchain is true (the default).
4
+ * Selects the primary implementation per config.discovery.mode, builds an
5
+ * OnchainDiscoveryAPI floor *only* when `fallbackToOnchain` is explicitly
6
+ * `true`, and returns a withFallback composition in that case.
7
+ *
8
+ * `fallbackToOnchain` defaults to `false` (since the 2026-05-23 substrate
9
+ * incident): silent fall-through to direct `eth_getLogs` masks indexer
10
+ * outages and turns every daemon into its own indexer, which storms shared
11
+ * RPC quota. Operators opt in explicitly when they want the fallback —
12
+ * usually only when they self-host an alternate RPC with generous getLogs
13
+ * quotas. When `false`, an indexer outage propagates as
14
+ * DiscoveryUnavailableError so the operator-app surfaces it and the daemon
15
+ * stops claiming until the indexer is back.
7
16
  *
8
17
  * Spec: spec/2026-05-11-discovery-api-and-shared-indexer.md §9.1–9.2.
9
18
  */
@@ -43,7 +52,10 @@ export interface DiscoveryConfig {
43
52
  * - 'http' → HttpDiscoveryAPI backed by a Ponder GraphQL endpoint (280n.4)
44
53
  * - 'embedded' → not yet shipped (280n.5); throws at boot
45
54
  *
46
- * When `fallbackToOnchain` is true (default), the primary is wrapped in
47
- * withFallback(primary, floor). When false, the primary is returned directly.
55
+ * When `fallbackToOnchain` is true (explicit opt-in), the primary is wrapped
56
+ * in withFallback(primary, floor) and a boot warning is logged so operators
57
+ * can see they're in fall-through mode. The default is false: the primary is
58
+ * returned directly and an indexer outage surfaces as
59
+ * DiscoveryUnavailableError.
48
60
  */
49
61
  export declare function createDiscoveryAPI(config: DiscoveryConfig, deps: DiscoveryFactoryDeps): DiscoveryAPI;
@@ -1,9 +1,18 @@
1
1
  /**
2
2
  * createDiscoveryAPI factory — builds a DiscoveryAPI from the daemon config.
3
3
  *
4
- * Selects the primary implementation per config.discovery.mode, always builds
5
- * an OnchainDiscoveryAPI floor, and returns a withFallback composition when
6
- * fallbackToOnchain is true (the default).
4
+ * Selects the primary implementation per config.discovery.mode, builds an
5
+ * OnchainDiscoveryAPI floor *only* when `fallbackToOnchain` is explicitly
6
+ * `true`, and returns a withFallback composition in that case.
7
+ *
8
+ * `fallbackToOnchain` defaults to `false` (since the 2026-05-23 substrate
9
+ * incident): silent fall-through to direct `eth_getLogs` masks indexer
10
+ * outages and turns every daemon into its own indexer, which storms shared
11
+ * RPC quota. Operators opt in explicitly when they want the fallback —
12
+ * usually only when they self-host an alternate RPC with generous getLogs
13
+ * quotas. When `false`, an indexer outage propagates as
14
+ * DiscoveryUnavailableError so the operator-app surfaces it and the daemon
15
+ * stops claiming until the indexer is back.
7
16
  *
8
17
  * Spec: spec/2026-05-11-discovery-api-and-shared-indexer.md §9.1–9.2.
9
18
  */
@@ -19,26 +28,29 @@ import { createHttpDiscoveryAPI } from './http.js';
19
28
  * - 'http' → HttpDiscoveryAPI backed by a Ponder GraphQL endpoint (280n.4)
20
29
  * - 'embedded' → not yet shipped (280n.5); throws at boot
21
30
  *
22
- * When `fallbackToOnchain` is true (default), the primary is wrapped in
23
- * withFallback(primary, floor). When false, the primary is returned directly.
31
+ * When `fallbackToOnchain` is true (explicit opt-in), the primary is wrapped
32
+ * in withFallback(primary, floor) and a boot warning is logged so operators
33
+ * can see they're in fall-through mode. The default is false: the primary is
34
+ * returned directly and an indexer outage surfaces as
35
+ * DiscoveryUnavailableError.
24
36
  */
25
37
  export function createDiscoveryAPI(config, deps) {
26
38
  const mode = config.mode ?? 'onchain';
27
- const fallbackToOnchain = config.fallbackToOnchain ?? true;
28
- // Always build the on-chain floor it's the always-live fallback.
29
- const floor = createOnchainDiscoveryAPI({
30
- rpcUrl: deps.rpcUrl,
31
- chainId: deps.chainId,
32
- routerAddress: deps.routerAddress,
33
- identityRegistryAddress: deps.identityRegistryAddress,
34
- safeAddress: deps.safeAddress,
35
- mechAddress: deps.mechAddress,
36
- taskDiscoveryFromBlock: deps.taskDiscoveryFromBlock,
37
- });
39
+ // Default-off (since the 2026-05-23 substrate incident): silent fall-through
40
+ // to on-chain getLogs is opt-in. See docstring above.
41
+ const fallbackToOnchain = config.fallbackToOnchain ?? false;
38
42
  if (mode === 'onchain') {
39
- // For the floor-only mode, return directly — withFallback(floor, floor)
43
+ // For the floor-only mode, return the floor alone — withFallback(floor, floor)
40
44
  // would be pointless overhead.
41
- return floor;
45
+ return createOnchainDiscoveryAPI({
46
+ rpcUrl: deps.rpcUrl,
47
+ chainId: deps.chainId,
48
+ routerAddress: deps.routerAddress,
49
+ identityRegistryAddress: deps.identityRegistryAddress,
50
+ safeAddress: deps.safeAddress,
51
+ mechAddress: deps.mechAddress,
52
+ taskDiscoveryFromBlock: deps.taskDiscoveryFromBlock,
53
+ });
42
54
  }
43
55
  if (mode === 'http') {
44
56
  if (!config.url) {
@@ -55,6 +67,22 @@ export function createDiscoveryAPI(config, deps) {
55
67
  if (!fallbackToOnchain) {
56
68
  return primary;
57
69
  }
70
+ // Operator explicitly opted in to silent fall-through. Log once at boot
71
+ // so the choice is visible — without this, operators can't tell from
72
+ // logs whether they're in indexer-only or indexer-with-fallback mode.
73
+ console.warn('[discovery] fallbackToOnchain=true — daemon will silently fall through to ' +
74
+ 'eth_getLogs when the indexer is unreachable. This trades observability of ' +
75
+ 'indexer outages for availability. Only recommended when you self-host an RPC ' +
76
+ 'with generous getLogs quotas.');
77
+ const floor = createOnchainDiscoveryAPI({
78
+ rpcUrl: deps.rpcUrl,
79
+ chainId: deps.chainId,
80
+ routerAddress: deps.routerAddress,
81
+ identityRegistryAddress: deps.identityRegistryAddress,
82
+ safeAddress: deps.safeAddress,
83
+ mechAddress: deps.mechAddress,
84
+ taskDiscoveryFromBlock: deps.taskDiscoveryFromBlock,
85
+ });
58
86
  return withFallback(primary, floor);
59
87
  }
60
88
  // mode === 'embedded'
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/discovery/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAmCnD,iFAAiF;AAEjF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAuB,EACvB,IAA0B;IAE1B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC;IACtC,MAAM,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC;IAE3D,mEAAmE;IACnE,MAAM,KAAK,GAAG,yBAAyB,CAAC;QACtC,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;QACrD,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;KACpD,CAAC,CAAC;IAEH,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,wEAAwE;QACxE,+BAA+B;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAChB,qEAAqE;YACrE,kEAAkE;YAClE,2FAA2F;YAC3F,MAAM,IAAI,KAAK,CACb,0DAA0D;gBAC1D,0EAA0E,CAC3E,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,sBAAsB,CAAC;YACrC,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,OAAO,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,sBAAsB;IACtB,sEAAsE;IACtE,MAAM,IAAI,KAAK,CACb,kDAAkD;QAClD,wDAAwD;QACxD,4CAA4C,CAC7C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/discovery/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAmCnD,iFAAiF;AAEjF;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAuB,EACvB,IAA0B;IAE1B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC;IACtC,6EAA6E;IAC7E,sDAAsD;IACtD,MAAM,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,KAAK,CAAC;IAE5D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,+EAA+E;QAC/E,+BAA+B;QAC/B,OAAO,yBAAyB,CAAC;YAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;SACpD,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAChB,qEAAqE;YACrE,kEAAkE;YAClE,2FAA2F;YAC3F,MAAM,IAAI,KAAK,CACb,0DAA0D;gBAC1D,0EAA0E,CAC3E,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,sBAAsB,CAAC;YACrC,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,wEAAwE;QACxE,qEAAqE;QACrE,sEAAsE;QACtE,OAAO,CAAC,IAAI,CACV,4EAA4E;YAC5E,4EAA4E;YAC5E,+EAA+E;YAC/E,+BAA+B,CAChC,CAAC;QAEF,MAAM,KAAK,GAAG,yBAAyB,CAAC;YACtC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;SACpD,CAAC,CAAC;QAEH,OAAO,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,sBAAsB;IACtB,sEAAsE;IACtE,MAAM,IAAI,KAAK,CACb,kDAAkD;QAClD,wDAAwD;QACxD,4CAA4C,CAC7C,CAAC;AACJ,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { DiscoveryUnavailableError } from './types.js';
2
+ import { manifestDigestForCid } from '../adapters/mech/digest.js';
2
3
  // ── GraphQL query strings ─────────────────────────────────────────────────────
3
4
  /**
4
5
  * Claimable tasks query. Fetches task rows in pages; attempt counts are
@@ -59,6 +60,14 @@ query Tasks(
59
60
  * Client-side grouping by taskId produces per-task counts.
60
61
  */
61
62
  const ATTEMPTS_PAGE_LIMIT = 1000;
63
+ /**
64
+ * Hard cap on `OPERATOR_COUNT_TASKS_QUERY` pages (leg 1 of the operator-count
65
+ * query). At `ATTEMPTS_PAGE_LIMIT` rows per page that is 50_000 tasks — far
66
+ * beyond any realistic SolverNet — and bounds the scan so the dashboard's
67
+ * recurring poll cannot trigger an unbounded walk. On a SolverNet past the cap
68
+ * the resulting count is a lower bound; see `getSolverNetOperatorCount`.
69
+ */
70
+ const MAX_OPERATOR_COUNT_TASK_PAGES = 50;
62
71
  const ATTEMPTS_FOR_TASKS_QUERY = `
63
72
  query AttemptsForTasks($taskIds: [String!]!, $chainId: Int!, $limit: Int!, $after: String) {
64
73
  attempts(
@@ -116,6 +125,100 @@ query GetLifecycleStatus($manifestCid: String!) {
116
125
  }
117
126
  }
118
127
  `;
128
+ /**
129
+ * Per-SolverNet attempt fetch for the operator-count query. Pages through every
130
+ * `attempt` row whose `taskId` belongs to a task with the given
131
+ * `manifestDigest`. The caller de-duplicates `operator` client-side to derive
132
+ * the distinct-operator count.
133
+ *
134
+ * There is no single GraphQL field joining `attempt` to `task.manifestDigest`,
135
+ * so this runs in two legs: first `OPERATOR_COUNT_TASKS_QUERY` (task ids for
136
+ * the digest), then `OPERATOR_COUNT_ATTEMPTS_QUERY` batched over those ids via
137
+ * the `_in` operator — the same pattern `findClaimableTasks` already uses.
138
+ *
139
+ * The task query intentionally does NOT filter `finalized` / `refunded`: the
140
+ * on-chain backing reads raw `TaskAttemptCreated` logs and cannot see lifecycle
141
+ * state, so adding the filter here would make HTTP and on-chain disagree. The
142
+ * count is an *ever-participated* signal across all task lifecycle states — see
143
+ * `DiscoveryAPI.getSolverNetOperatorCount`.
144
+ */
145
+ const OPERATOR_COUNT_TASKS_QUERY = `
146
+ query OperatorCountTasks($manifestDigest: String!, $limit: Int!, $after: String) {
147
+ tasks(
148
+ where: { manifestDigest: $manifestDigest },
149
+ limit: $limit,
150
+ after: $after,
151
+ orderBy: "id",
152
+ orderDirection: "asc"
153
+ ) {
154
+ items {
155
+ id
156
+ chainId
157
+ }
158
+ pageInfo {
159
+ hasNextPage
160
+ endCursor
161
+ }
162
+ }
163
+ }
164
+ `;
165
+ const OPERATOR_COUNT_ATTEMPTS_QUERY = `
166
+ query OperatorCountAttempts($taskIds: [String!]!, $chainId: Int!, $limit: Int!, $after: String) {
167
+ attempts(
168
+ where: { taskId_in: $taskIds, chainId: $chainId },
169
+ limit: $limit,
170
+ after: $after,
171
+ orderBy: "attemptIndex",
172
+ orderDirection: "asc"
173
+ ) {
174
+ items {
175
+ operator
176
+ }
177
+ pageInfo {
178
+ hasNextPage
179
+ endCursor
180
+ }
181
+ }
182
+ }
183
+ `;
184
+ /**
185
+ * Paginated read of verdictEnvelopeMeta rows for swe-rebench-v2 successes,
186
+ * scoped to a single SolverNet via `solverNetManifestCid` so multi-SolverNet
187
+ * operators with overlapping instance_id pools don't cross-tenant over-count
188
+ * (#669 Finding 2).
189
+ *
190
+ * Ponder's auto-GraphQL does not expose GROUP BY / count aggregations, so
191
+ * getInstanceSuccessCounts pages this query with the `after` cursor and
192
+ * groups client-side. Capped at 1000 per page (Ponder's upper bound on
193
+ * plural-query `limit`).
194
+ */
195
+ const INSTANCE_SUCCESS_COUNTS_QUERY = `
196
+ query InstanceSuccessCounts($solverNetManifestCid: String!, $limit: Int!, $after: String) {
197
+ verdictEnvelopeMetas(
198
+ where: {
199
+ solverNetManifestCid: $solverNetManifestCid,
200
+ solverType_starts_with: "swe-rebench-v2",
201
+ actualPassed: true,
202
+ enrichmentStatus: "ok",
203
+ instanceId_not: ""
204
+ },
205
+ limit: $limit,
206
+ after: $after,
207
+ orderBy: "enrichedAtBlock",
208
+ orderDirection: "asc"
209
+ ) {
210
+ items {
211
+ requestId
212
+ chainId
213
+ instanceId
214
+ }
215
+ pageInfo {
216
+ hasNextPage
217
+ endCursor
218
+ }
219
+ }
220
+ }
221
+ `;
119
222
  const QUERY_ENVELOPES_QUERY = `
120
223
  query QueryEnvelopes($where: envelopeFilter, $limit: Int!) {
121
224
  envelopes(
@@ -285,9 +388,16 @@ export function createHttpDiscoveryAPI(opts) {
285
388
  const operatorLower = args.operatorAddress.toLowerCase();
286
389
  const now = args.nowSeconds ?? Math.floor(Date.now() / 1000);
287
390
  const seen = new Set();
288
- const out = [];
391
+ // Per-CID buckets. We must not flatten + global-sort by taskId across CIDs
392
+ // — that lets a backlogged SolverNet monopolise the per-tick yield in the
393
+ // adapter (which yields one announcement per cycle), starving siblings.
394
+ // Each bucket holds its CID's candidates in lowest-taskId-first order (the
395
+ // TASKS_QUERY already orders ASC by id, so the page-merged list is also
396
+ // ASC). After collection we interleave the buckets round-robin.
397
+ const buckets = [];
289
398
  for (const cid of cids) {
290
399
  const manifestDigest = keccak256(toBytes(cid));
400
+ const bucket = [];
291
401
  for (let page = 0; page < maxPages; page++) {
292
402
  const data = await postGql(gqlUrl, fetchImpl, TASKS_QUERY, { manifestDigest, limit: pageSize, offset: page * pageSize });
293
403
  const rows = data.tasks?.items ?? [];
@@ -366,14 +476,32 @@ export function createHttpDiscoveryAPI(opts) {
366
476
  candidate.claimWindowEnd = claimWindowEnd;
367
477
  if (maxClaims !== undefined)
368
478
  candidate.maxClaims = maxClaims;
369
- out.push(candidate);
479
+ bucket.push(candidate);
370
480
  }
371
481
  const hasNextPage = data.tasks?.pageInfo?.hasNextPage ?? (rows.length === pageSize);
372
482
  if (!hasNextPage)
373
483
  break;
374
484
  }
485
+ // Each bucket is already ASC by taskId (the GraphQL TASKS_QUERY orders
486
+ // by id ASC and pages are appended in page order), but sort defensively
487
+ // so the round-robin always pulls the lowest unclaimed id from each CID
488
+ // even if upstream ordering ever changes.
489
+ bucket.sort((a, b) => Number(BigInt(a.taskId) - BigInt(b.taskId)));
490
+ buckets.push(bucket);
491
+ }
492
+ // Round-robin interleave across CID buckets: pull index 0 from each CID
493
+ // first, then index 1 from each, etc. This guarantees that a backlog on
494
+ // one SolverNet cannot starve a sibling SolverNet that also has claimable
495
+ // work, because `discoverSubgraphRestorationTasks` in adapter.ts yields
496
+ // only one announcement per poll cycle.
497
+ const out = [];
498
+ const maxBucketLen = buckets.reduce((m, b) => Math.max(m, b.length), 0);
499
+ for (let i = 0; i < maxBucketLen; i++) {
500
+ for (const bucket of buckets) {
501
+ if (i < bucket.length)
502
+ out.push(bucket[i]);
503
+ }
375
504
  }
376
- out.sort((a, b) => Number(BigInt(a.taskId) - BigInt(b.taskId)));
377
505
  return out;
378
506
  }
379
507
  // ── listLaunchedSolverNets ────────────────────────────────────────────────
@@ -425,6 +553,54 @@ export function createHttpDiscoveryAPI(opts) {
425
553
  : '0x'),
426
554
  };
427
555
  }
556
+ // ── getSolverNetOperatorCount ─────────────────────────────────────────────
557
+ async function getSolverNetOperatorCount(manifestCid) {
558
+ await ensureReady();
559
+ // The indexer keys tasks by `manifestDigest = keccak256(toBytes(cid))`,
560
+ // not by the cid string. Compute the digest so the task filter matches.
561
+ const manifestDigest = manifestDigestForCid(manifestCid).toLowerCase();
562
+ // Leg 1: page every task id for this SolverNet. Single-chain query, so all
563
+ // rows share a chainId — captured for the leg-2 attempt filter. Capped at
564
+ // MAX_OPERATOR_COUNT_TASK_PAGES so the dashboard's recurring poll cannot
565
+ // trigger an unbounded scan.
566
+ const taskIds = [];
567
+ let chainId;
568
+ let taskCursor = null;
569
+ for (let page = 0; page < MAX_OPERATOR_COUNT_TASK_PAGES; page++) {
570
+ const data = await postGql(gqlUrl, fetchImpl, OPERATOR_COUNT_TASKS_QUERY, { manifestDigest, limit: ATTEMPTS_PAGE_LIMIT, after: taskCursor });
571
+ const items = data.tasks?.items ?? [];
572
+ for (const row of items) {
573
+ taskIds.push(row.id);
574
+ if (chainId === undefined)
575
+ chainId = row.chainId;
576
+ }
577
+ const pageInfo = data.tasks?.pageInfo;
578
+ if (!pageInfo?.hasNextPage || !pageInfo.endCursor)
579
+ break;
580
+ taskCursor = pageInfo.endCursor;
581
+ }
582
+ // No tasks → no attempts → no participating operators.
583
+ if (taskIds.length === 0 || chainId === undefined)
584
+ return 0;
585
+ // Leg 2: page every attempt for those task ids, collecting distinct
586
+ // operators. Batched over the id set via the `_in` operator (Ponder caps
587
+ // plural-query limit at 1000, hence ATTEMPTS_PAGE_LIMIT paging).
588
+ const operators = new Set();
589
+ let attemptCursor = null;
590
+ for (;;) {
591
+ const data = await postGql(gqlUrl, fetchImpl, OPERATOR_COUNT_ATTEMPTS_QUERY, { taskIds, chainId, limit: ATTEMPTS_PAGE_LIMIT, after: attemptCursor });
592
+ for (const row of data.attempts?.items ?? []) {
593
+ if (typeof row.operator === 'string' && row.operator.length > 0) {
594
+ operators.add(row.operator.toLowerCase());
595
+ }
596
+ }
597
+ const pageInfo = data.attempts?.pageInfo;
598
+ if (!pageInfo?.hasNextPage || !pageInfo.endCursor)
599
+ break;
600
+ attemptCursor = pageInfo.endCursor;
601
+ }
602
+ return operators.size;
603
+ }
428
604
  // ── queryEnvelopes ────────────────────────────────────────────────────────
429
605
  async function queryEnvelopes(query) {
430
606
  await ensureReady();
@@ -534,14 +710,51 @@ export function createHttpDiscoveryAPI(opts) {
534
710
  });
535
711
  return plugins;
536
712
  }
713
+ // ── getInstanceSuccessCounts (#669) ────────────────────────────────────────
714
+ // Scoped to a single SolverNet via `verdictEnvelopeMeta.solverNetManifestCid`
715
+ // — the indexer enrichment writes this column from the task body's top-level
716
+ // `solverNetManifestCid` (task.v1 schema). Prevents multi-SolverNet operators
717
+ // with overlapping instance_id pools from cross-tenant over-counting
718
+ // (#669 Finding 2).
719
+ async function getInstanceSuccessCounts(args) {
720
+ await ensureReady();
721
+ // Defensive cap: 10 × 1000 rows. Expected ~125 successes per SolverNet
722
+ // (25 candidates × N_target_successes), so two orders of magnitude head.
723
+ const MAX_PAGES = 10;
724
+ const PAGE_LIMIT = 1000;
725
+ const counts = new Map();
726
+ const seen = new Set(); // (requestId|chainId) dedupe across pages
727
+ let cursor = null;
728
+ for (let page = 0; page < MAX_PAGES; page++) {
729
+ const data = await postGql(gqlUrl, fetchImpl, INSTANCE_SUCCESS_COUNTS_QUERY, { solverNetManifestCid: args.manifestCid, limit: PAGE_LIMIT, after: cursor });
730
+ const rows = data.verdictEnvelopeMetas?.items ?? [];
731
+ for (const row of rows) {
732
+ const key = `${row.requestId}|${row.chainId}`;
733
+ if (seen.has(key))
734
+ continue;
735
+ seen.add(key);
736
+ const id = row.instanceId;
737
+ if (!id)
738
+ continue;
739
+ counts.set(id, (counts.get(id) ?? 0) + 1);
740
+ }
741
+ const pageInfo = data.verdictEnvelopeMetas?.pageInfo;
742
+ if (!pageInfo?.hasNextPage || !pageInfo.endCursor)
743
+ break;
744
+ cursor = pageInfo.endCursor;
745
+ }
746
+ return counts;
747
+ }
537
748
  return {
538
749
  findClaimableTasks,
539
750
  listLaunchedSolverNets,
540
751
  getLifecycleStatus,
752
+ getSolverNetOperatorCount,
541
753
  queryEnvelopes,
542
754
  listPluginPublications,
543
755
  getPluginScores,
544
756
  listBuilderArtifacts,
757
+ getInstanceSuccessCounts,
545
758
  };
546
759
  }
547
760
  //# sourceMappingURL=http.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/discovery/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/discovery/http.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,11 @@
16
16
  * from IdentityRegistry (key prefix `solvernet-manifest:`) and fold via the
17
17
  * existing `resolveMostRecentWins` helper.
18
18
  *
19
+ * - `listPluginPublications` / `listBuilderArtifacts` read `MetadataSet` events
20
+ * (key prefix `plugin:`), decode the on-chain PLUGIN_PAYLOAD_TUPLE /
21
+ * REVOCATION_PAYLOAD_TUPLE, and fold most-recent-wins so the operator app's
22
+ * /build registry panels keep rendering during an indexer outage (gh#290).
23
+ *
19
24
  * - `queryEnvelopes` delegates to the existing `runOnchainCorpusQuery`.
20
25
  *
21
26
  * - `cursorCache` is an optional injection point: when provided, the start