@jinn-network/client 0.1.8 → 0.1.9-canary.144d87d2

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 (397) hide show
  1. package/README.md +6 -0
  2. package/dist/adapters/mech/adapter.d.ts +21 -1
  3. package/dist/adapters/mech/adapter.js +77 -10
  4. package/dist/adapters/mech/adapter.js.map +1 -1
  5. package/dist/adapters/mech/contracts.js +62 -28
  6. package/dist/adapters/mech/contracts.js.map +1 -1
  7. package/dist/adapters/mech/safe-revert.d.ts +4 -0
  8. package/dist/adapters/mech/safe-revert.js +5 -1
  9. package/dist/adapters/mech/safe-revert.js.map +1 -1
  10. package/dist/adapters/mech/safe.js +5 -1
  11. package/dist/adapters/mech/safe.js.map +1 -1
  12. package/dist/adapters/mech/verdict-code.js +1 -1
  13. package/dist/adapters/mech/verdict-code.js.map +1 -1
  14. package/dist/api/bootstrap-endpoint.d.ts +1 -0
  15. package/dist/api/bootstrap-endpoint.js +1 -0
  16. package/dist/api/bootstrap-endpoint.js.map +1 -1
  17. package/dist/api/discovery-endpoint.d.ts +1 -0
  18. package/dist/api/discovery-endpoint.js +24 -0
  19. package/dist/api/discovery-endpoint.js.map +1 -1
  20. package/dist/api/fleet-build.d.ts +1 -7
  21. package/dist/api/fleet-build.js +0 -7
  22. package/dist/api/fleet-build.js.map +1 -1
  23. package/dist/api/gather-status.d.ts +8 -2
  24. package/dist/api/gather-status.js +29 -117
  25. package/dist/api/gather-status.js.map +1 -1
  26. package/dist/api/loop-completion-build.d.ts +79 -0
  27. package/dist/api/loop-completion-build.js +155 -0
  28. package/dist/api/loop-completion-build.js.map +1 -0
  29. package/dist/api/operator-artifacts-endpoint.js +1 -1
  30. package/dist/api/operator-artifacts-endpoint.js.map +1 -1
  31. package/dist/api/peers.js +2 -0
  32. package/dist/api/peers.js.map +1 -1
  33. package/dist/api/setup-endpoints.d.ts +32 -0
  34. package/dist/api/setup-endpoints.js +94 -24
  35. package/dist/api/setup-endpoints.js.map +1 -1
  36. package/dist/api/solvernets-endpoints.js +4 -1
  37. package/dist/api/solvernets-endpoints.js.map +1 -1
  38. package/dist/api/status-build.d.ts +43 -33
  39. package/dist/api/status-build.js +3 -26
  40. package/dist/api/status-build.js.map +1 -1
  41. package/dist/api/status-rollup-build.d.ts +0 -4
  42. package/dist/api/status-rollup-build.js +0 -4
  43. package/dist/api/status-rollup-build.js.map +1 -1
  44. package/dist/api/stop-hook.d.ts +1 -1
  45. package/dist/api/stop-hook.js +1 -1
  46. package/dist/api/stop-hook.js.map +1 -1
  47. package/dist/build-info.json +4 -4
  48. package/dist/build-meta.json +1 -1
  49. package/dist/cli/commands/codedigest-revert-check.js +6 -2
  50. package/dist/cli/commands/codedigest-revert-check.js.map +1 -1
  51. package/dist/cli/commands/doctor.d.ts +3 -0
  52. package/dist/cli/commands/doctor.js +37 -2
  53. package/dist/cli/commands/doctor.js.map +1 -1
  54. package/dist/cli/commands/eval.d.ts +87 -0
  55. package/dist/cli/commands/eval.js +481 -0
  56. package/dist/cli/commands/eval.js.map +1 -0
  57. package/dist/cli/commands/rewards.d.ts +2 -0
  58. package/dist/cli/commands/rewards.js +30 -3
  59. package/dist/cli/commands/rewards.js.map +1 -1
  60. package/dist/cli/commands/solver-nets.js +68 -0
  61. package/dist/cli/commands/solver-nets.js.map +1 -1
  62. package/dist/cli/commands/status.js +0 -1
  63. package/dist/cli/commands/status.js.map +1 -1
  64. package/dist/cli/index.js +2 -0
  65. package/dist/cli/index.js.map +1 -1
  66. package/dist/config.d.ts +102 -15
  67. package/dist/config.js +166 -19
  68. package/dist/config.js.map +1 -1
  69. package/dist/daemon/ai-units-gate.d.ts +6 -6
  70. package/dist/daemon/ai-units-gate.js +11 -10
  71. package/dist/daemon/ai-units-gate.js.map +1 -1
  72. package/dist/daemon/balance-topup-loop.js +3 -0
  73. package/dist/daemon/balance-topup-loop.js.map +1 -1
  74. package/dist/daemon/checkpoint-loop.js +2 -2
  75. package/dist/daemon/creator.d.ts +1 -0
  76. package/dist/daemon/creator.js +26 -14
  77. package/dist/daemon/creator.js.map +1 -1
  78. package/dist/daemon/daemon.d.ts +15 -0
  79. package/dist/daemon/daemon.js +78 -22
  80. package/dist/daemon/daemon.js.map +1 -1
  81. package/dist/daemon/eviction-loop.d.ts +7 -0
  82. package/dist/daemon/eviction-loop.js +19 -3
  83. package/dist/daemon/eviction-loop.js.map +1 -1
  84. package/dist/daemon/jinn-claim-loop.js +3 -0
  85. package/dist/daemon/jinn-claim-loop.js.map +1 -1
  86. package/dist/daemon/join-applier.d.ts +35 -0
  87. package/dist/daemon/join-applier.js +49 -0
  88. package/dist/daemon/join-applier.js.map +1 -0
  89. package/dist/daemon/loop-heartbeat.d.ts +34 -0
  90. package/dist/daemon/loop-heartbeat.js +39 -0
  91. package/dist/daemon/loop-heartbeat.js.map +1 -0
  92. package/dist/daemon/reward-claim-loop.js +4 -1
  93. package/dist/daemon/reward-claim-loop.js.map +1 -1
  94. package/dist/daemon/watchdog-loop.d.ts +84 -0
  95. package/dist/daemon/watchdog-loop.js +91 -0
  96. package/dist/daemon/watchdog-loop.js.map +1 -0
  97. package/dist/dashboard/assets/index-8tAiMbUV.css +1 -0
  98. package/dist/dashboard/assets/index-D6a-DfaM.js +171 -0
  99. package/dist/dashboard/index.html +2 -2
  100. package/dist/discovery/http.d.ts +17 -0
  101. package/dist/discovery/http.js +295 -25
  102. package/dist/discovery/http.js.map +1 -1
  103. package/dist/discovery/onchain.js +155 -1
  104. package/dist/discovery/onchain.js.map +1 -1
  105. package/dist/discovery/types.d.ts +106 -0
  106. package/dist/discovery/types.js +40 -0
  107. package/dist/discovery/types.js.map +1 -1
  108. package/dist/discovery/with-fallback.js +14 -0
  109. package/dist/discovery/with-fallback.js.map +1 -1
  110. package/dist/earning/bootstrap.d.ts +25 -0
  111. package/dist/earning/bootstrap.js +79 -28
  112. package/dist/earning/bootstrap.js.map +1 -1
  113. package/dist/earning/faucet.d.ts +1 -1
  114. package/dist/earning/faucet.js +2 -2
  115. package/dist/earning/faucet.js.map +1 -1
  116. package/dist/earning/safe-adapter.js +11 -0
  117. package/dist/earning/safe-adapter.js.map +1 -1
  118. package/dist/earning/stolas-claim.js +5 -5
  119. package/dist/earning/types.d.ts +1 -1
  120. package/dist/earning/types.js +1 -1
  121. package/dist/earning/types.js.map +1 -1
  122. package/dist/eval/eval-harness-run.d.ts +63 -0
  123. package/dist/eval/eval-harness-run.js +123 -0
  124. package/dist/eval/eval-harness-run.js.map +1 -0
  125. package/dist/eval/orchestrator.d.ts +224 -0
  126. package/dist/eval/orchestrator.js +250 -0
  127. package/dist/eval/orchestrator.js.map +1 -0
  128. package/dist/eval/paired.d.ts +68 -0
  129. package/dist/eval/paired.js +93 -0
  130. package/dist/eval/paired.js.map +1 -0
  131. package/dist/eval/resolve-slate-tasks.d.ts +35 -0
  132. package/dist/eval/resolve-slate-tasks.js +56 -0
  133. package/dist/eval/resolve-slate-tasks.js.map +1 -0
  134. package/dist/eval/screen-discovery.d.ts +22 -0
  135. package/dist/eval/screen-discovery.js +71 -0
  136. package/dist/eval/screen-discovery.js.map +1 -0
  137. package/dist/eval/screen-progress.d.ts +41 -0
  138. package/dist/eval/screen-progress.js +60 -0
  139. package/dist/eval/screen-progress.js.map +1 -0
  140. package/dist/eval/screen-runner.d.ts +30 -0
  141. package/dist/eval/screen-runner.js +289 -0
  142. package/dist/eval/screen-runner.js.map +1 -0
  143. package/dist/eval/screen.d.ts +107 -0
  144. package/dist/eval/screen.js +159 -0
  145. package/dist/eval/screen.js.map +1 -0
  146. package/dist/eval/slope.d.ts +29 -0
  147. package/dist/eval/slope.js +46 -0
  148. package/dist/eval/slope.js.map +1 -0
  149. package/dist/eval/train-sequence.d.ts +35 -0
  150. package/dist/eval/train-sequence.js +59 -0
  151. package/dist/eval/train-sequence.js.map +1 -0
  152. package/dist/eval/wilson.d.ts +45 -0
  153. package/dist/eval/wilson.js +48 -0
  154. package/dist/eval/wilson.js.map +1 -0
  155. package/dist/events/types.d.ts +1 -1
  156. package/dist/events/types.js +1 -1
  157. package/dist/events/types.js.map +1 -1
  158. package/dist/harnesses/engine/canonical-json.js +5 -3
  159. package/dist/harnesses/engine/canonical-json.js.map +1 -1
  160. package/dist/harnesses/engine/engine.d.ts +24 -0
  161. package/dist/harnesses/engine/engine.js +72 -9
  162. package/dist/harnesses/engine/engine.js.map +1 -1
  163. package/dist/harnesses/engine/packaging.js +1 -1
  164. package/dist/harnesses/engine/packaging.js.map +1 -1
  165. package/dist/harnesses/engine/persistence.d.ts +17 -0
  166. package/dist/harnesses/engine/persistence.js +28 -0
  167. package/dist/harnesses/engine/persistence.js.map +1 -1
  168. package/dist/harnesses/impls/claude-mcp-hyperliquid/mcp-tools.d.ts +1 -1
  169. package/dist/harnesses/impls/claude-mcp-hyperliquid/mcp-tools.js +1 -1
  170. package/dist/harnesses/impls/claude-mcp-hyperliquid/mcp-tools.js.map +1 -1
  171. package/dist/harnesses/impls/hermes-agent/adapter.d.ts +2 -0
  172. package/dist/harnesses/impls/hermes-agent/adapter.js +8 -5
  173. package/dist/harnesses/impls/hermes-agent/adapter.js.map +1 -1
  174. package/dist/harnesses/impls/hermes-agent/bootstrap.d.ts +1 -0
  175. package/dist/harnesses/impls/hermes-agent/bootstrap.js +6 -1
  176. package/dist/harnesses/impls/hermes-agent/bootstrap.js.map +1 -1
  177. package/dist/harnesses/impls/hermes-agent/harness.d.ts +17 -3
  178. package/dist/harnesses/impls/hermes-agent/harness.js +68 -5
  179. package/dist/harnesses/impls/hermes-agent/harness.js.map +1 -1
  180. package/dist/harnesses/impls/index.d.ts +2 -0
  181. package/dist/harnesses/impls/index.js +9 -0
  182. package/dist/harnesses/impls/index.js.map +1 -1
  183. package/dist/harnesses/impls/jinn-repo-evaluator/eval-runner.d.ts +34 -0
  184. package/dist/harnesses/impls/jinn-repo-evaluator/eval-runner.js +111 -0
  185. package/dist/harnesses/impls/jinn-repo-evaluator/eval-runner.js.map +1 -0
  186. package/dist/harnesses/impls/jinn-repo-evaluator/evaluator.d.ts +24 -0
  187. package/dist/harnesses/impls/jinn-repo-evaluator/evaluator.js +19 -0
  188. package/dist/harnesses/impls/jinn-repo-evaluator/evaluator.js.map +1 -0
  189. package/dist/harnesses/impls/jinn-repo-evaluator/harness.d.ts +64 -0
  190. package/dist/harnesses/impls/jinn-repo-evaluator/harness.js +125 -0
  191. package/dist/harnesses/impls/jinn-repo-evaluator/harness.js.map +1 -0
  192. package/dist/harnesses/impls/jinn-repo-evaluator/repro.d.ts +32 -0
  193. package/dist/harnesses/impls/jinn-repo-evaluator/repro.js +73 -0
  194. package/dist/harnesses/impls/jinn-repo-evaluator/repro.js.map +1 -0
  195. package/dist/harnesses/impls/learner/adapters/claude-code.js +5 -0
  196. package/dist/harnesses/impls/learner/adapters/claude-code.js.map +1 -1
  197. package/dist/harnesses/impls/learner/harness.d.ts +17 -1
  198. package/dist/harnesses/impls/learner/harness.js +51 -1
  199. package/dist/harnesses/impls/learner/harness.js.map +1 -1
  200. package/dist/harnesses/impls/learner/harvest.d.ts +2 -0
  201. package/dist/harnesses/impls/learner/harvest.js +51 -1
  202. package/dist/harnesses/impls/learner/harvest.js.map +1 -1
  203. package/dist/harnesses/impls/learner/plugin-path.js +1 -0
  204. package/dist/harnesses/impls/learner/plugin-path.js.map +1 -1
  205. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js +3 -1
  206. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js.map +1 -1
  207. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.d.ts +2 -2
  208. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js +3 -1
  209. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js.map +1 -1
  210. package/dist/harnesses/readiness-registry.d.ts +10 -0
  211. package/dist/harnesses/readiness-registry.js +13 -0
  212. package/dist/harnesses/readiness-registry.js.map +1 -1
  213. package/dist/harnesses/types.d.ts +14 -0
  214. package/dist/learner/revert-decision.d.ts +16 -1
  215. package/dist/learner/revert-decision.js +38 -18
  216. package/dist/learner/revert-decision.js.map +1 -1
  217. package/dist/learner/revert-stats.d.ts +14 -0
  218. package/dist/learner/revert-stats.js +42 -0
  219. package/dist/learner/revert-stats.js.map +1 -1
  220. package/dist/local-provider-url.d.ts +3 -0
  221. package/dist/local-provider-url.js +28 -0
  222. package/dist/local-provider-url.js.map +1 -0
  223. package/dist/main.js +94 -25
  224. package/dist/main.js.map +1 -1
  225. package/dist/mcp/operator-server.js +1 -1
  226. package/dist/mcp/operator-server.js.map +1 -1
  227. package/dist/mcp/server.js +1 -1
  228. package/dist/mcp/server.js.map +1 -1
  229. package/dist/plugins/learner/.claude-plugin/plugin.json +1 -1
  230. package/dist/plugins/learner/.codex-plugin/plugin.json +1 -1
  231. package/dist/plugins/learner/hooks/session-start +30 -1
  232. package/dist/plugins/learner/skills/learn/consolidator-prompt.md +4 -0
  233. package/dist/preflight/deployment-readiness.d.ts +147 -0
  234. package/dist/preflight/deployment-readiness.js +366 -0
  235. package/dist/preflight/deployment-readiness.js.map +1 -0
  236. package/dist/preflight/pidfile-liveness.d.ts +7 -1
  237. package/dist/preflight/pidfile-liveness.js +14 -0
  238. package/dist/preflight/pidfile-liveness.js.map +1 -1
  239. package/dist/rpc/transport.d.ts +43 -5
  240. package/dist/rpc/transport.js +131 -30
  241. package/dist/rpc/transport.js.map +1 -1
  242. package/dist/scripts/swe-rebench-v2-seed-pool.json +2 -1
  243. package/dist/solver-nets/registry.d.ts +19 -0
  244. package/dist/solver-nets/registry.js +95 -66
  245. package/dist/solver-nets/registry.js.map +1 -1
  246. package/dist/solver-types/_jinn-repo-pool.d.ts +27 -0
  247. package/dist/solver-types/_jinn-repo-pool.js +27 -0
  248. package/dist/solver-types/_jinn-repo-pool.js.map +1 -0
  249. package/dist/solver-types/_swe-rebench-v2-held-out-slate.d.ts +76 -0
  250. package/dist/solver-types/_swe-rebench-v2-held-out-slate.js +156 -0
  251. package/dist/solver-types/_swe-rebench-v2-held-out-slate.js.map +1 -0
  252. package/dist/solver-types/_swe-rebench-v2-pool-recovery.d.ts +81 -0
  253. package/dist/solver-types/_swe-rebench-v2-pool-recovery.js +116 -0
  254. package/dist/solver-types/_swe-rebench-v2-pool-recovery.js.map +1 -0
  255. package/dist/solver-types/_swe-rebench-v2-state.d.ts +9 -0
  256. package/dist/solver-types/_swe-rebench-v2-state.js +14 -0
  257. package/dist/solver-types/_swe-rebench-v2-state.js.map +1 -1
  258. package/dist/solver-types/_swe-rebench-v2-validated-pool.d.ts +30 -0
  259. package/dist/solver-types/_swe-rebench-v2-validated-pool.js +40 -0
  260. package/dist/solver-types/_swe-rebench-v2-validated-pool.js.map +1 -1
  261. package/dist/solver-types/index.js +2 -0
  262. package/dist/solver-types/index.js.map +1 -1
  263. package/dist/solver-types/jinn-repo-admit.d.ts +17 -0
  264. package/dist/solver-types/jinn-repo-admit.js +16 -0
  265. package/dist/solver-types/jinn-repo-admit.js.map +1 -0
  266. package/dist/solver-types/jinn-repo-auto.d.ts +60 -0
  267. package/dist/solver-types/jinn-repo-auto.js +163 -0
  268. package/dist/solver-types/jinn-repo-auto.js.map +1 -0
  269. package/dist/solver-types/jinn-repo-definition.d.ts +15 -0
  270. package/dist/solver-types/jinn-repo-definition.js +34 -0
  271. package/dist/solver-types/jinn-repo-definition.js.map +1 -0
  272. package/dist/solver-types/jinn-repo-extract.d.ts +16 -0
  273. package/dist/solver-types/jinn-repo-extract.js +32 -0
  274. package/dist/solver-types/jinn-repo-extract.js.map +1 -0
  275. package/dist/solver-types/jinn-repo.d.ts +21 -0
  276. package/dist/solver-types/jinn-repo.js +23 -0
  277. package/dist/solver-types/jinn-repo.js.map +1 -0
  278. package/dist/solver-types/learner-loop-test.js +1 -1
  279. package/dist/solver-types/learner-loop-test.js.map +1 -1
  280. package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v1.json +20 -0
  281. package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v2.json +19 -0
  282. package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v2.screening-report.json +628 -0
  283. package/dist/solver-types/solver-type.d.ts +8 -0
  284. package/dist/solver-types/swe-rebench-v2.d.ts +2 -0
  285. package/dist/solver-types/swe-rebench-v2.js +115 -10
  286. package/dist/solver-types/swe-rebench-v2.js.map +1 -1
  287. package/dist/solvernets/launched-record-dispatcher.d.ts +5 -0
  288. package/dist/solvernets/launched-record-dispatcher.js +8 -1
  289. package/dist/solvernets/launched-record-dispatcher.js.map +1 -1
  290. package/dist/solvernets/registry-client-erc8004.js +29 -37
  291. package/dist/solvernets/registry-client-erc8004.js.map +1 -1
  292. package/dist/solvernets/registry-client.d.ts +6 -0
  293. package/dist/solvernets/store.d.ts +1 -1
  294. package/dist/solvernets/store.js +8 -3
  295. package/dist/solvernets/store.js.map +1 -1
  296. package/dist/spend/ai-units-config.d.ts +10 -0
  297. package/dist/spend/ai-units-config.js +7 -1
  298. package/dist/spend/ai-units-config.js.map +1 -1
  299. package/dist/spend/ai-units.d.ts +51 -0
  300. package/dist/spend/ai-units.js +73 -0
  301. package/dist/spend/ai-units.js.map +1 -1
  302. package/dist/spend/record.js +12 -5
  303. package/dist/spend/record.js.map +1 -1
  304. package/dist/store/store.d.ts +91 -5
  305. package/dist/store/store.js +170 -7
  306. package/dist/store/store.js.map +1 -1
  307. package/dist/trajectory/harness-bundle-schema.d.ts +1 -1
  308. package/dist/trajectory/harness-bundle-schema.js +1 -1
  309. package/dist/trajectory/harness-bundle-schema.js.map +1 -1
  310. package/dist/trajectory/schema.d.ts +1 -1
  311. package/dist/trajectory/schema.js +1 -1
  312. package/dist/trajectory/schema.js.map +1 -1
  313. package/dist/trajectory/transcript-parsers/types.d.ts +1 -1
  314. package/dist/trajectory/transcript-parsers/types.js +1 -1
  315. package/dist/trajectory/transcript-parsers/types.js.map +1 -1
  316. package/dist/types/envelope.d.ts +1 -1
  317. package/dist/types/envelope.js +1 -1
  318. package/dist/types/envelope.js.map +1 -1
  319. package/dist/types/payloads/index.d.ts +1 -1
  320. package/dist/types/payloads/index.js +7 -1
  321. package/dist/types/payloads/index.js.map +1 -1
  322. package/dist/types/payloads/portfolio-v0.d.ts +1 -1
  323. package/dist/types/payloads/portfolio-v0.js +1 -1
  324. package/dist/types/payloads/portfolio-v0.js.map +1 -1
  325. package/dist/types/payloads/prediction-apy-v0.d.ts +1 -1
  326. package/dist/types/payloads/prediction-apy-v0.js +1 -1
  327. package/dist/types/payloads/prediction-apy-v0.js.map +1 -1
  328. package/dist/types/payloads/prediction-v0.d.ts +1 -1
  329. package/dist/types/payloads/prediction-v0.js +1 -1
  330. package/dist/types/payloads/prediction-v0.js.map +1 -1
  331. package/dist/types/portfolio.d.ts +1 -1
  332. package/dist/types/portfolio.js +1 -1
  333. package/dist/types/portfolio.js.map +1 -1
  334. package/dist/types/prediction-apy.d.ts +1 -1
  335. package/dist/types/prediction-apy.js +1 -1
  336. package/dist/types/prediction-apy.js.map +1 -1
  337. package/dist/types/prediction.d.ts +1 -1
  338. package/dist/types/prediction.js +1 -1
  339. package/dist/types/prediction.js.map +1 -1
  340. package/dist/types/session-provenance.d.ts +1 -1
  341. package/dist/types/session-provenance.js +1 -1
  342. package/dist/types/session-provenance.js.map +1 -1
  343. package/dist/types/task-document.d.ts +1 -1
  344. package/dist/types/task-document.js +1 -1
  345. package/dist/types/task-document.js.map +1 -1
  346. package/dist/types/task.d.ts +1 -1
  347. package/dist/types/task.js +1 -1
  348. package/dist/types/task.js.map +1 -1
  349. package/dist/types/window.d.ts +1 -1
  350. package/dist/types/window.js +1 -1
  351. package/dist/types/window.js.map +1 -1
  352. package/dist/vendor/@jinn-network/sdk/dist/checkpoint.d.ts +1 -1
  353. package/dist/vendor/@jinn-network/sdk/dist/checkpoint.js +1 -1
  354. package/dist/vendor/@jinn-network/sdk/dist/contracts.d.ts +3 -2
  355. package/dist/vendor/@jinn-network/sdk/dist/contracts.js +49 -0
  356. package/dist/vendor/@jinn-network/sdk/dist/jinn-repo.d.ts +44 -0
  357. package/dist/vendor/@jinn-network/sdk/dist/jinn-repo.js +25 -0
  358. package/dist/vendor/@jinn-network/sdk/dist/json-schema.d.ts +1 -1
  359. package/dist/vendor/@jinn-network/sdk/dist/json-schema.js +1 -1
  360. package/dist/vendor/@jinn-network/sdk/dist/payloads/jinn-repo.d.ts +38 -0
  361. package/dist/vendor/@jinn-network/sdk/dist/payloads/jinn-repo.js +22 -0
  362. package/dist/vendor/@jinn-network/sdk/dist/payloads/prediction-v1.d.ts +1 -1
  363. package/dist/vendor/@jinn-network/sdk/dist/payloads/prediction-v1.js +1 -1
  364. package/dist/vendor/@jinn-network/sdk/dist/payloads/session-derived.d.ts +1 -1
  365. package/dist/vendor/@jinn-network/sdk/dist/payloads/session-derived.js +1 -1
  366. package/dist/vendor/@jinn-network/sdk/dist/payloads/swe-rebench-v2.d.ts +109 -2
  367. package/dist/vendor/@jinn-network/sdk/dist/payloads/swe-rebench-v2.js +26 -2
  368. package/dist/vendor/@jinn-network/sdk/dist/prediction-v1.d.ts +1 -1
  369. package/dist/vendor/@jinn-network/sdk/dist/prediction-v1.js +1 -1
  370. package/dist/vendor/@jinn-network/sdk/dist/solvernets/jinn-repo.d.ts +4 -0
  371. package/dist/vendor/@jinn-network/sdk/dist/solvernets/jinn-repo.js +2 -0
  372. package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.d.ts +1 -1
  373. package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.js +1 -1
  374. package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2-held-out-slate.d.ts +65 -0
  375. package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2-held-out-slate.js +123 -0
  376. package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2.d.ts +2 -2
  377. package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2.js +1 -1
  378. package/dist/vendor/@jinn-network/sdk/dist/swe-rebench-v2.d.ts +1 -1
  379. package/dist/vendor/@jinn-network/sdk/dist/swe-rebench-v2.js +1 -1
  380. package/dist/vendor/@jinn-network/sdk/package.json +9 -1
  381. package/docker-compose.yml +3 -2
  382. package/package.json +23 -20
  383. package/plugins/jinn-repo-runtime/.claude-plugin/plugin.json +5 -0
  384. package/plugins/jinn-repo-runtime/.codex-plugin/plugin.json +39 -0
  385. package/plugins/jinn-repo-runtime/README.md +27 -0
  386. package/plugins/jinn-repo-runtime/hooks/hooks.json +16 -0
  387. package/plugins/jinn-repo-runtime/hooks/session-start +73 -0
  388. package/plugins/jinn-repo-runtime/jinn.plugin.json +11 -0
  389. package/plugins/jinn-repo-runtime/skills/task/SKILL.md +92 -0
  390. package/plugins/learner/.claude-plugin/plugin.json +1 -1
  391. package/plugins/learner/.codex-plugin/plugin.json +1 -1
  392. package/plugins/learner/hooks/session-start +30 -1
  393. package/plugins/learner/skills/learn/consolidator-prompt.md +4 -0
  394. package/plugins/swe-rebench-v2-runtime/hooks/hooks.json +16 -0
  395. package/plugins/swe-rebench-v2-runtime/hooks/session-start +74 -0
  396. package/dist/dashboard/assets/index-CzKxvMcU.css +0 -32
  397. package/dist/dashboard/assets/index-yVemxHot.js +0 -351
@@ -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-yVemxHot.js"></script>
14
- <link rel="stylesheet" crossorigin href="/assets/index-CzKxvMcU.css">
13
+ <script type="module" crossorigin src="/assets/index-D6a-DfaM.js"></script>
14
+ <link rel="stylesheet" crossorigin href="/assets/index-8tAiMbUV.css">
15
15
  </head>
16
16
  <body>
17
17
  <div id="root"></div>
@@ -29,6 +29,23 @@ export interface HttpDiscoveryAPIOptions {
29
29
  * Exposed mostly for tests.
30
30
  */
31
31
  readyProbeTtlMs?: number;
32
+ /**
33
+ * Backoff schedule (ms) for transparent retries on transient indexer
34
+ * failures (502/503 responses and network-level fetch errors). The number of
35
+ * retries equals `retryDelaysMs.length`: a `[200, 500]` schedule retries
36
+ * twice (sleep 200ms before the first retry, 500ms before the second) for a
37
+ * worst-case added latency of 700ms (< 800ms, #782 AC#1). Defaults to
38
+ * RETRY_DELAYS_MS. Tests pass `[0, 0]` to retry instantly. An empty array
39
+ * disables retry entirely. Exposed mostly for tests.
40
+ */
41
+ retryDelaysMs?: readonly number[];
42
+ /**
43
+ * Per-request timeout (ms) applied to every indexer fetch — the `/ready`
44
+ * probe and all GraphQL POSTs. Defaults to FETCH_TIMEOUT_MS. Bounds the fetch
45
+ * so an indexer whose socket goes half-open (e.g. mid-redeploy) cannot wedge
46
+ * a discovery loop forever (#1038). Exposed mostly for tests.
47
+ */
48
+ fetchTimeoutMs?: number;
32
49
  }
33
50
  /**
34
51
  * Create a DiscoveryAPI backed by a Ponder GraphQL endpoint.
@@ -1,4 +1,4 @@
1
- import { DiscoveryUnavailableError } from './types.js';
1
+ import { DiscoveryUnavailableError, TASK_POST_WINDOW_BLOCKS, bucketTaskPostCounts } from './types.js';
2
2
  import { manifestDigestForCid } from '../adapters/mech/digest.js';
3
3
  // ── GraphQL query strings ─────────────────────────────────────────────────────
4
4
  /**
@@ -68,6 +68,8 @@ const ATTEMPTS_PAGE_LIMIT = 1000;
68
68
  * the resulting count is a lower bound; see `getSolverNetOperatorCount`.
69
69
  */
70
70
  const MAX_OPERATOR_COUNT_TASK_PAGES = 50;
71
+ /** Page cap for the task-post-rate scan (1000 rows/page → 50k recent tasks). */
72
+ const MAX_TASK_POST_PAGES = 50;
71
73
  const ATTEMPTS_FOR_TASKS_QUERY = `
72
74
  query AttemptsForTasks($taskIds: [String!]!, $chainId: Int!, $limit: Int!, $after: String) {
73
75
  attempts(
@@ -97,6 +99,43 @@ query AttemptsForTasks($taskIds: [String!]!, $chainId: Int!, $limit: Int!, $afte
97
99
  // scalar variables into a literal `where: { ... }` block is a bug.
98
100
  const LIST_SOLVER_NETS_QUERY = `
99
101
  query ListSolverNets($where: solverNetManifestFilter, $limit: Int!) {
102
+ solverNetManifests(
103
+ where: $where,
104
+ limit: $limit,
105
+ orderBy: "anchorBlock",
106
+ orderDirection: "desc"
107
+ ) {
108
+ items {
109
+ id
110
+ launcherAgentId
111
+ status
112
+ statusUpdatedAt
113
+ manifestHash
114
+ anchorBlock
115
+ chainId
116
+ name
117
+ network
118
+ solutionPriceWei
119
+ verdictPriceWei
120
+ openRoles
121
+ launcherSafeAddress
122
+ contractId
123
+ contractVersion
124
+ solverNetId
125
+ manifestEnrichmentStatus
126
+ }
127
+ }
128
+ }
129
+ `;
130
+ // Legacy selection for the backward-compat degrade path (issue #985): the
131
+ // pre-enrichment field set, safe against an OLD indexer that lacks the
132
+ // enriched columns. The projection fills sentinels for the missing fields and
133
+ // leaves manifestEnrichmentStatus undefined → treated as not-ok → sentinels.
134
+ // These rows surface unenriched on the LIST path (empty name, '0' prices, zero
135
+ // address); they are not re-enriched anywhere — full fields require an indexer
136
+ // that persists the enriched columns, or the hash-verified getManifest detail path.
137
+ const LIST_SOLVER_NETS_QUERY_LEGACY = `
138
+ query ListSolverNetsLegacy($where: solverNetManifestFilter, $limit: Int!) {
100
139
  solverNetManifests(
101
140
  where: $where,
102
141
  limit: $limit,
@@ -246,6 +285,61 @@ query ClaimCountTasks($manifestDigest: String!, $limit: Int!, $after: String) {
246
285
  }
247
286
  }
248
287
  `;
288
+ /**
289
+ * Task-post-rate query (#918). Pages the most-recent tasks ordered by
290
+ * createdAtBlock desc; the daemon reads the top row's block as the window head
291
+ * and buckets the three windows (1h / 6h / 24h) AND the per-cid totals
292
+ * client-side from createdAtBlock + manifestDigest.
293
+ *
294
+ * We do NOT push a `manifestDigest_in` / `createdAtBlock_gte` filter into the
295
+ * query: `manifestDigest_in` is not a stable Ponder filter operator across all
296
+ * deploys, and the chain-wide total needs every recent task anyway. A
297
+ * client-side scan-then-bucket over the most-recent N pages is the portable
298
+ * shape. `windowEndBlock` for the HTTP backing is the indexer's latest indexed
299
+ * task block (the top row), not the chain head.
300
+ */
301
+ const TASK_POST_COUNTS_QUERY = `
302
+ query TaskPostCounts($limit: Int!, $after: String) {
303
+ tasks(
304
+ limit: $limit,
305
+ after: $after,
306
+ orderBy: "createdAtBlock",
307
+ orderDirection: "desc"
308
+ ) {
309
+ items {
310
+ id
311
+ manifestDigest
312
+ createdAtBlock
313
+ }
314
+ pageInfo {
315
+ hasNextPage
316
+ endCursor
317
+ }
318
+ }
319
+ }
320
+ `;
321
+ /**
322
+ * Most-recent task for a SolverNet (#957). Filters the `task` table by
323
+ * `manifestDigest = keccak256(manifestCid)` (the same digest join the other
324
+ * task queries use), orders newest-first by `createdAtBlock`, limit 1. Returns
325
+ * the row's `taskCidDigest` + `id` so the caller can reconstruct the IPFS task
326
+ * CID and read its eligibility ref.
327
+ */
328
+ const MOST_RECENT_TASK_QUERY = `
329
+ query MostRecentTask($manifestDigest: String!) {
330
+ tasks(
331
+ where: { manifestDigest: $manifestDigest },
332
+ limit: 1,
333
+ orderBy: "createdAtBlock",
334
+ orderDirection: "desc"
335
+ ) {
336
+ items {
337
+ id
338
+ taskCidDigest
339
+ }
340
+ }
341
+ }
342
+ `;
249
343
  const QUERY_ENVELOPES_QUERY = `
250
344
  query QueryEnvelopes($where: envelopeFilter, $limit: Int!) {
251
345
  envelopes(
@@ -264,6 +358,12 @@ query QueryEnvelopes($where: envelopeFilter, $limit: Int!) {
264
358
  }
265
359
  }
266
360
  `;
361
+ /** Sentinel for an unenriched / unknown launcher safe address. */
362
+ const ZERO_ADDR = '0x0000000000000000000000000000000000000000';
363
+ /** Coerce an indexer-supplied address to a typed hex, or fall back to the zero sentinel. */
364
+ function safeAddr(a) {
365
+ return typeof a === 'string' && /^0x[0-9a-fA-F]{40}$/.test(a) ? a : ZERO_ADDR;
366
+ }
267
367
  // ── Per-codeDigest reward aggregates (#764) ──────────────────────────────────
268
368
  const CODEDIGEST_ATTEMPTS_QUERY = `
269
369
  query CodeDigestAttempts($codeDigests: [String!]!, $limit: Int!, $after: String) {
@@ -298,7 +398,7 @@ query CodeDigestVerdicts($requestIds: [String!]!, $limit: Int!, $after: String${
298
398
  orderBy: "requestId",
299
399
  orderDirection: "asc"
300
400
  ) {
301
- items { requestId chainId actualPassed actualScore }
401
+ items { requestId chainId actualPassed actualScore passedCount totalCount }
302
402
  pageInfo { hasNextPage endCursor }
303
403
  }
304
404
  }
@@ -368,7 +468,62 @@ query GetPluginScores($pluginCid: String!, $limit: Int!) {
368
468
  * a sync stall low without hammering the endpoint.
369
469
  */
370
470
  const READY_PROBE_TTL_MS = 20_000;
471
+ /**
472
+ * Per-request timeout for every indexer fetch (the `/ready` probe and all
473
+ * GraphQL POSTs). A healthy indexer answers in well under a second; 15s is
474
+ * generous headroom that still recovers quickly. Its purpose is to convert a
475
+ * never-settling fetch (half-open socket during an indexer redeploy) into a
476
+ * catchable `DiscoveryUnavailableError` so the discovery/generator/catalog
477
+ * loops skip the tick and retry on the next poll, rather than wedging forever
478
+ * with no self-recovery while the indexer-independent loops mask the outage
479
+ * (#1038).
480
+ */
481
+ const FETCH_TIMEOUT_MS = 15_000;
482
+ /**
483
+ * Default backoff schedule for transparent retries on transient indexer
484
+ * failures. `[200, 500]` retries twice — worst-case added latency 700ms, under
485
+ * the 800ms cap (#782 AC#1). Indexer flake (502/503) is bursty: a single
486
+ * transient 502 otherwise silences a daemon poll for a full poll interval, so
487
+ * a short transparent retry recovers without surfacing an outage.
488
+ *
489
+ * Retry is safe here because every retried POST is a read-only GraphQL *query*
490
+ * (no mutations in this client), so re-issuing it is idempotent.
491
+ */
492
+ const RETRY_DELAYS_MS = [200, 500];
371
493
  // ── Helpers ───────────────────────────────────────────────────────────────────
494
+ /**
495
+ * Wrap a fetch with transparent retry on transient indexer failures: 502/503
496
+ * responses and network-level fetch errors (TCP/TLS/DNS). Retries follow the
497
+ * `retryDelaysMs` schedule (one retry per entry). On exhaustion the last 502/503
498
+ * Response is returned unchanged — so `postGql`'s `!response.ok` raiser
499
+ * preserves the original status — or the last thrown error is re-thrown
500
+ * unchanged — so the network-path raiser preserves the original cause. Any
501
+ * non-502/503 response and any non-network outcome is returned/propagated on the
502
+ * first attempt (NOT retried); GraphQL-level `errors[]` are not visible here
503
+ * (they arrive in a 200 body) so they are likewise never retried.
504
+ */
505
+ function fetchWithRetry(baseFetch, retryDelaysMs) {
506
+ const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
507
+ return async (input, init) => {
508
+ for (let attempt = 0;; attempt++) {
509
+ try {
510
+ const res = await baseFetch(input, init);
511
+ if ((res.status === 502 || res.status === 503) && attempt < retryDelaysMs.length) {
512
+ await sleep(retryDelaysMs[attempt]);
513
+ continue;
514
+ }
515
+ return res;
516
+ }
517
+ catch (err) {
518
+ if (attempt < retryDelaysMs.length) {
519
+ await sleep(retryDelaysMs[attempt]);
520
+ continue;
521
+ }
522
+ throw err;
523
+ }
524
+ }
525
+ };
526
+ }
372
527
  function parseOptionalNumber(value) {
373
528
  if (typeof value === 'number')
374
529
  return Number.isFinite(value) ? value : undefined;
@@ -426,10 +581,30 @@ export function createHttpDiscoveryAPI(opts) {
426
581
  // Ponder's `/ready` lives at the host root, not under `/graphql`.
427
582
  const readyUrl = `${opts.url.replace(/\/graphql\/?$/, '').replace(/\/$/, '')}/ready`;
428
583
  const readyTtlMs = opts.readyProbeTtlMs ?? READY_PROBE_TTL_MS;
429
- const fetchImpl = opts.fetchImpl ?? globalThis.fetch;
430
- if (!fetchImpl) {
584
+ const fetchTimeoutMs = opts.fetchTimeoutMs ?? FETCH_TIMEOUT_MS;
585
+ const retryDelaysMs = opts.retryDelaysMs ?? RETRY_DELAYS_MS;
586
+ const baseFetch = opts.fetchImpl ?? globalThis.fetch;
587
+ if (!baseFetch) {
431
588
  throw new Error('No fetch implementation available; pass fetchImpl in options');
432
589
  }
590
+ // Bound every indexer fetch with an AbortSignal timeout. Without it, a single
591
+ // fetch against an indexer whose socket went half-open (e.g. mid-redeploy)
592
+ // never resolves or rejects — and since the fetch is unbounded, the awaiting
593
+ // discovery/generator/catalog loop wedges forever with no self-recovery,
594
+ // while the indexer-independent loops keep running and mask the outage
595
+ // on-chain (#1038). A timeout turns the hang into the same
596
+ // DiscoveryUnavailableError those loops already catch and retry. A caller
597
+ // that supplies its own signal keeps it.
598
+ //
599
+ // The AbortSignal-timeout wrap is INSIDE the retry loop (each retry attempt
600
+ // gets a fresh per-request timeout), and transient 502/503 responses and
601
+ // network-level fetch errors are transparently retried on the retryDelaysMs
602
+ // schedule before the failure is allowed to settle. This means a single
603
+ // bursty indexer flake no longer silences a whole daemon poll (#782); the
604
+ // bad-state `/ready` cache is also only written once the retrying fetch
605
+ // settles, so a transient probe blip cannot poison the cache (#782 AC#4).
606
+ const timeoutFetch = (input, init) => baseFetch(input, { ...init, signal: init?.signal ?? AbortSignal.timeout(fetchTimeoutMs) });
607
+ const fetchImpl = fetchWithRetry(timeoutFetch, retryDelaysMs);
433
608
  // ── /ready probe (memoized with a short TTL) ──────────────────────────────
434
609
  // Ponder serves GraphQL with 200 + stale/empty data while still catching up;
435
610
  // `/ready` returns non-200 until it is at realtime. The daemon's fallback
@@ -600,26 +775,51 @@ export function createHttpDiscoveryAPI(opts) {
600
775
  where['status_in'] = args.status;
601
776
  if (args?.launcherAgentId)
602
777
  where['launcherAgentId'] = args.launcherAgentId;
603
- const data = await postGql(gqlUrl, fetchImpl, LIST_SOLVER_NETS_QUERY, { where, limit: 200 });
604
- return (data.solverNetManifests?.items ?? []).map((row) => ({
605
- manifestCid: row.id,
606
- // The 8 fields below are IPFS-only: not stored in the indexer. Populate
607
- // with the same sentinels used by OnchainDiscoveryAPI.listLaunchedSolverNets
608
- // in client/src/discovery/onchain.ts. Consumers enrich via IPFS fetch.
609
- solverNetId: row.id, // best-effort: cid as id
610
- name: '', // requires IPFS fetch
611
- network: '', // requires IPFS fetch
612
- launcherSafeAddress: '0x0000000000000000000000000000000000000000', // requires IPFS fetch
613
- contractId: '', // requires IPFS fetch
614
- contractVersion: '', // requires IPFS fetch
615
- solutionPriceWei: '0', // requires IPFS fetch
616
- verdictPriceWei: '0', // requires IPFS fetch
617
- openRoles: [], // requires IPFS fetch
618
- launcherAgentId: row.launcherAgentId,
619
- status: row.status ?? 'launched',
620
- statusUpdatedAt: row.statusUpdatedAt,
621
- anchorBlock: Number(row.anchorBlock),
622
- }));
778
+ let data;
779
+ try {
780
+ data = await postGql(gqlUrl, fetchImpl, LIST_SOLVER_NETS_QUERY, { where, limit: 200 });
781
+ }
782
+ catch (err) {
783
+ // Backward-compat degrade (issue #985): an OLD indexer that predates the
784
+ // enriched columns rejects the extended selection set with a GraphQL
785
+ // validation error. Mirror the getPluginScores degrade pattern: re-run
786
+ // the minimal legacy query and project sentinels, so a daemon on a new
787
+ // build still lists against an old indexer (consumers re-enrich via IPFS).
788
+ if (err instanceof Error && /Unknown type|Cannot query|Cannot query field/.test(err.message)) {
789
+ data = await postGql(gqlUrl, fetchImpl, LIST_SOLVER_NETS_QUERY_LEGACY, { where, limit: 200 });
790
+ }
791
+ else {
792
+ throw err;
793
+ }
794
+ }
795
+ return (data.solverNetManifests?.items ?? []).map((row) => {
796
+ // Only trust enriched fields when the indexer marked the row 'ok'. A
797
+ // pending/failed row (or an old indexer that omits the field) keeps the
798
+ // sentinel rather than presenting an empty-string price as a real value.
799
+ // On the LIST hot path these rows pass through unenriched (degraded but
800
+ // present — empty name, '0' prices, zero address); full fields arrive once
801
+ // indexer enrichment lands, or via the hash-verified getManifest detail path.
802
+ const enriched = row.manifestEnrichmentStatus === 'ok';
803
+ return {
804
+ manifestCid: row.id,
805
+ solverNetId: enriched && row.solverNetId ? row.solverNetId : row.id,
806
+ name: enriched ? (row.name ?? '') : '',
807
+ network: enriched ? (row.network ?? '') : '',
808
+ launcherSafeAddress: enriched ? safeAddr(row.launcherSafeAddress) : ZERO_ADDR,
809
+ contractId: enriched ? (row.contractId ?? '') : '',
810
+ contractVersion: enriched ? (row.contractVersion ?? '') : '',
811
+ solutionPriceWei: enriched ? (row.solutionPriceWei ?? '0') : '0',
812
+ verdictPriceWei: enriched ? (row.verdictPriceWei ?? '0') : '0',
813
+ openRoles: enriched
814
+ ? ((row.openRoles ?? []).filter((r) => r === 'solver' || r === 'evaluator'))
815
+ : [],
816
+ launcherAgentId: row.launcherAgentId,
817
+ status: row.status ?? 'launched',
818
+ statusUpdatedAt: row.statusUpdatedAt,
819
+ anchorBlock: Number(row.anchorBlock),
820
+ chainId: row.chainId,
821
+ };
822
+ });
623
823
  }
624
824
  // ── getLifecycleStatus ────────────────────────────────────────────────────
625
825
  async function getLifecycleStatus(manifestCid) {
@@ -905,9 +1105,13 @@ export function createHttpDiscoveryAPI(opts) {
905
1105
  for (const row of data.verdictEnvelopeMetas?.items ?? []) {
906
1106
  const key = `${row.requestId}|${row.chainId}`;
907
1107
  const scoreNum = Number(row.actualScore);
1108
+ const pc = Number(row.passedCount);
1109
+ const tc = Number(row.totalCount);
1110
+ const graded = Number.isFinite(tc) && tc > 0 ? pc / tc : null;
908
1111
  verdictByKey.set(key, {
909
1112
  passed: Boolean(row.actualPassed),
910
1113
  score: Number.isFinite(scoreNum) && row.actualScore !== '' ? scoreNum : null,
1114
+ graded,
911
1115
  });
912
1116
  }
913
1117
  const pi = data.verdictEnvelopeMetas?.pageInfo;
@@ -923,7 +1127,7 @@ export function createHttpDiscoveryAPI(opts) {
923
1127
  const v = verdictByKey.get(key);
924
1128
  if (!v)
925
1129
  continue; // no verdict yet — not a completed attempt
926
- const cur = agg.get(digest) ?? { attempts: 0, passes: 0, scoreSum: 0, scoreN: 0 };
1130
+ const cur = agg.get(digest) ?? { attempts: 0, passes: 0, scoreSum: 0, scoreN: 0, gradedScores: [] };
927
1131
  cur.attempts += 1;
928
1132
  if (v.passed)
929
1133
  cur.passes += 1;
@@ -931,6 +1135,8 @@ export function createHttpDiscoveryAPI(opts) {
931
1135
  cur.scoreSum += v.score;
932
1136
  cur.scoreN += 1;
933
1137
  }
1138
+ if (v.graded !== null)
1139
+ cur.gradedScores.push(v.graded);
934
1140
  agg.set(digest, cur);
935
1141
  }
936
1142
  const rows = [];
@@ -941,6 +1147,7 @@ export function createHttpDiscoveryAPI(opts) {
941
1147
  passes: a.passes,
942
1148
  passRate: a.attempts > 0 ? a.passes / a.attempts : 0,
943
1149
  avgScore: a.scoreN > 0 ? a.scoreSum / a.scoreN : 0,
1150
+ gradedScores: a.gradedScores,
944
1151
  });
945
1152
  }
946
1153
  return rows;
@@ -996,6 +1203,67 @@ export function createHttpDiscoveryAPI(opts) {
996
1203
  }
997
1204
  return out;
998
1205
  }
1206
+ // ── getTaskPostCounts (#918) ───────────────────────────────────────────────
1207
+ // Page the most-recent tasks (createdAtBlock desc); the top row's block is the
1208
+ // window head. Bucket the three windows AND the per-cid totals client-side.
1209
+ // windowEndBlock here is the indexer's latest indexed task block, not the
1210
+ // chain head (the indexer is the source of truth on the HTTP path).
1211
+ async function getTaskPostCounts(args) {
1212
+ await ensureReady();
1213
+ const windowEndTs = Math.floor(Date.now() / 1000);
1214
+ const cids = Array.from(new Set((args?.manifestCids ?? []).filter(Boolean)));
1215
+ const cidByDigest = new Map();
1216
+ for (const cid of cids) {
1217
+ cidByDigest.set(manifestDigestForCid(cid).toLowerCase(), cid);
1218
+ }
1219
+ // Page createdAtBlock desc. The first row sets the window head; we stop
1220
+ // paging once a page's oldest row falls before the 24h cut (everything
1221
+ // beyond is outside every window).
1222
+ const rows = [];
1223
+ let head;
1224
+ let cursor = null;
1225
+ for (let page = 0; page < MAX_TASK_POST_PAGES; page++) {
1226
+ const data = await postGql(gqlUrl, fetchImpl, TASK_POST_COUNTS_QUERY, { limit: 1000, after: cursor });
1227
+ const items = data.tasks?.items ?? [];
1228
+ for (const row of items) {
1229
+ const block = Number(row.createdAtBlock);
1230
+ if (!Number.isFinite(block))
1231
+ continue;
1232
+ if (head === undefined)
1233
+ head = block;
1234
+ rows.push({ digest: (row.manifestDigest ?? '').toLowerCase(), block });
1235
+ }
1236
+ const pageInfo = data.tasks?.pageInfo;
1237
+ // Once the oldest row this page is past the 24h cut, no further page can
1238
+ // contribute (desc order) — stop early.
1239
+ if (head !== undefined && items.length > 0) {
1240
+ const oldest = Number(items[items.length - 1].createdAtBlock);
1241
+ if (Number.isFinite(oldest) && oldest < head - TASK_POST_WINDOW_BLOCKS.h24)
1242
+ break;
1243
+ }
1244
+ if (!pageInfo?.hasNextPage || !pageInfo.endCursor)
1245
+ break;
1246
+ cursor = pageInfo.endCursor;
1247
+ }
1248
+ const windowEndBlock = head ?? 0;
1249
+ const { chain, byCid } = bucketTaskPostCounts(windowEndBlock, windowEndTs, rows, cidByDigest);
1250
+ return { windowEndBlock, windowEndTs, chain, byCid };
1251
+ }
1252
+ // ── getMostRecentTaskCidDigest (#957) ──────────────────────────────────────
1253
+ // Single newest task (createdAtBlock desc, limit 1) for the SolverNet's
1254
+ // manifestDigest. Pure indexer read — no IPFS hop; the caller reconstructs the
1255
+ // task CID from the returned digest.
1256
+ async function getMostRecentTaskCidDigest(manifestCid) {
1257
+ await ensureReady();
1258
+ // The indexer keys tasks by `manifestDigest = keccak256(toBytes(cid))`, not
1259
+ // by the cid string — same join the other task queries use.
1260
+ const manifestDigest = manifestDigestForCid(manifestCid).toLowerCase();
1261
+ const data = await postGql(gqlUrl, fetchImpl, MOST_RECENT_TASK_QUERY, { manifestDigest });
1262
+ const row = data.tasks?.items?.[0];
1263
+ if (!row || !isHex(row.taskCidDigest))
1264
+ return undefined;
1265
+ return { taskCidDigest: row.taskCidDigest, taskId: row.id };
1266
+ }
999
1267
  return {
1000
1268
  findClaimableTasks,
1001
1269
  listLaunchedSolverNets,
@@ -1008,6 +1276,8 @@ export function createHttpDiscoveryAPI(opts) {
1008
1276
  getInstanceSuccessCounts,
1009
1277
  getCodeDigestRewards,
1010
1278
  getInstanceClaimCounts,
1279
+ getTaskPostCounts,
1280
+ getMostRecentTaskCidDigest,
1011
1281
  };
1012
1282
  }
1013
1283
  //# 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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"}