@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
@@ -29,6 +29,16 @@ export const TaskClaimPolicySchema = z.object({
29
29
  submissionDeadlineTs: z.number().int().optional(),
30
30
  claimLeaseTtlSeconds: z.number().int().positive().default(30 * 60),
31
31
  policyHook: HexStringSchema.optional(),
32
+ /**
33
+ * On-chain `evaluationPolicy.requiredVerdicts` — the number of verdict
34
+ * claim slots per attempt. Optional; the adapter defaults it to 1. A value
35
+ * > 1 lets an honest evaluator still claim and deliver a verdict slot when
36
+ * other (e.g. non-delivering) evaluators have already taken some slots —
37
+ * the per-evaluator cap (`maxVerdictsPerEvaluator: 1`) means no single
38
+ * evaluator can monopolise all of them. Useful on a shared/adversarial
39
+ * network where verdict slots may be squatted.
40
+ */
41
+ requiredVerdicts: z.number().int().positive().optional(),
32
42
  }).passthrough();
33
43
  const NoLegacyKindSchema = z.record(z.unknown()).superRefine((spec, ctx) => {
34
44
  if (Object.prototype.hasOwnProperty.call(spec, 'kind')) {
@@ -1 +1 @@
1
- {"version":3,"file":"task-document.js","sourceRoot":"","sources":["../../src/types/task-document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-document.js","sourceRoot":"","sources":["../../src/types/task-document.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,7 @@ export declare const TaskSchema: z.ZodObject<{
52
52
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
53
53
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
54
54
  policyHook: z.ZodOptional<z.ZodString>;
55
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
55
56
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
56
57
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
57
58
  maxClaims: z.ZodNumber;
@@ -61,6 +62,7 @@ export declare const TaskSchema: z.ZodObject<{
61
62
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
62
63
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
63
64
  policyHook: z.ZodOptional<z.ZodString>;
65
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
64
66
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
65
67
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
66
68
  maxClaims: z.ZodNumber;
@@ -70,6 +72,7 @@ export declare const TaskSchema: z.ZodObject<{
70
72
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
71
73
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
72
74
  policyHook: z.ZodOptional<z.ZodString>;
75
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
73
76
  }, z.ZodTypeAny, "passthrough">>>;
74
77
  signedTask: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodObject<{
75
78
  signature: z.ZodObject<{
@@ -117,6 +120,7 @@ export declare const TaskSchema: z.ZodObject<{
117
120
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
118
121
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
119
122
  policyHook: z.ZodOptional<z.ZodString>;
123
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
120
124
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
121
125
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
122
126
  maxClaims: z.ZodNumber;
@@ -126,6 +130,7 @@ export declare const TaskSchema: z.ZodObject<{
126
130
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
127
131
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
128
132
  policyHook: z.ZodOptional<z.ZodString>;
133
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
129
134
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
130
135
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
131
136
  maxClaims: z.ZodNumber;
@@ -135,6 +140,7 @@ export declare const TaskSchema: z.ZodObject<{
135
140
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
136
141
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
137
142
  policyHook: z.ZodOptional<z.ZodString>;
143
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
138
144
  }, z.ZodTypeAny, "passthrough">>;
139
145
  creator: z.ZodObject<{
140
146
  safeAddress: z.ZodString;
@@ -193,6 +199,7 @@ export declare const TaskSchema: z.ZodObject<{
193
199
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
194
200
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
195
201
  policyHook: z.ZodOptional<z.ZodString>;
202
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
196
203
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
197
204
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
198
205
  maxClaims: z.ZodNumber;
@@ -202,6 +209,7 @@ export declare const TaskSchema: z.ZodObject<{
202
209
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
203
210
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
204
211
  policyHook: z.ZodOptional<z.ZodString>;
212
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
205
213
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
206
214
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
207
215
  maxClaims: z.ZodNumber;
@@ -211,6 +219,7 @@ export declare const TaskSchema: z.ZodObject<{
211
219
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
212
220
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
213
221
  policyHook: z.ZodOptional<z.ZodString>;
222
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
214
223
  }, z.ZodTypeAny, "passthrough">>;
215
224
  creator: z.ZodObject<{
216
225
  safeAddress: z.ZodString;
@@ -269,6 +278,7 @@ export declare const TaskSchema: z.ZodObject<{
269
278
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
270
279
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
271
280
  policyHook: z.ZodOptional<z.ZodString>;
281
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
272
282
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
273
283
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
274
284
  maxClaims: z.ZodNumber;
@@ -278,6 +288,7 @@ export declare const TaskSchema: z.ZodObject<{
278
288
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
279
289
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
280
290
  policyHook: z.ZodOptional<z.ZodString>;
291
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
281
292
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
282
293
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
283
294
  maxClaims: z.ZodNumber;
@@ -287,6 +298,7 @@ export declare const TaskSchema: z.ZodObject<{
287
298
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
288
299
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
289
300
  policyHook: z.ZodOptional<z.ZodString>;
301
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
290
302
  }, z.ZodTypeAny, "passthrough">>;
291
303
  creator: z.ZodObject<{
292
304
  safeAddress: z.ZodString;
@@ -345,6 +357,7 @@ export declare const TaskSchema: z.ZodObject<{
345
357
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
346
358
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
347
359
  policyHook: z.ZodOptional<z.ZodString>;
360
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
348
361
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
349
362
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
350
363
  maxClaims: z.ZodNumber;
@@ -354,6 +367,7 @@ export declare const TaskSchema: z.ZodObject<{
354
367
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
355
368
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
356
369
  policyHook: z.ZodOptional<z.ZodString>;
370
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
357
371
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
358
372
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
359
373
  maxClaims: z.ZodNumber;
@@ -363,6 +377,7 @@ export declare const TaskSchema: z.ZodObject<{
363
377
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
364
378
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
365
379
  policyHook: z.ZodOptional<z.ZodString>;
380
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
366
381
  }, z.ZodTypeAny, "passthrough">>;
367
382
  creator: z.ZodObject<{
368
383
  safeAddress: z.ZodString;
@@ -421,6 +436,7 @@ export declare const TaskSchema: z.ZodObject<{
421
436
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
422
437
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
423
438
  policyHook: z.ZodOptional<z.ZodString>;
439
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
424
440
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
425
441
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
426
442
  maxClaims: z.ZodNumber;
@@ -430,6 +446,7 @@ export declare const TaskSchema: z.ZodObject<{
430
446
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
431
447
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
432
448
  policyHook: z.ZodOptional<z.ZodString>;
449
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
433
450
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
434
451
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
435
452
  maxClaims: z.ZodNumber;
@@ -439,6 +456,7 @@ export declare const TaskSchema: z.ZodObject<{
439
456
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
440
457
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
441
458
  policyHook: z.ZodOptional<z.ZodString>;
459
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
442
460
  }, z.ZodTypeAny, "passthrough">>;
443
461
  creator: z.ZodObject<{
444
462
  safeAddress: z.ZodString;
@@ -481,6 +499,7 @@ export declare const TaskSchema: z.ZodObject<{
481
499
  claimWindowEndTs?: number | undefined;
482
500
  submissionDeadlineTs?: number | undefined;
483
501
  policyHook?: string | undefined;
502
+ requiredVerdicts?: number | undefined;
484
503
  } & {
485
504
  [k: string]: unknown;
486
505
  };
@@ -535,6 +554,7 @@ export declare const TaskSchema: z.ZodObject<{
535
554
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
536
555
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
537
556
  policyHook: z.ZodOptional<z.ZodString>;
557
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
538
558
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
539
559
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
540
560
  maxClaims: z.ZodNumber;
@@ -544,6 +564,7 @@ export declare const TaskSchema: z.ZodObject<{
544
564
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
545
565
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
546
566
  policyHook: z.ZodOptional<z.ZodString>;
567
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
547
568
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
548
569
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
549
570
  maxClaims: z.ZodNumber;
@@ -553,6 +574,7 @@ export declare const TaskSchema: z.ZodObject<{
553
574
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
554
575
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
555
576
  policyHook: z.ZodOptional<z.ZodString>;
577
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
556
578
  }, z.ZodTypeAny, "passthrough">>;
557
579
  creator: z.ZodObject<{
558
580
  safeAddress: z.ZodString;
@@ -589,6 +611,7 @@ export declare const TaskSchema: z.ZodObject<{
589
611
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
590
612
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
591
613
  policyHook: z.ZodOptional<z.ZodString>;
614
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
592
615
  }, z.ZodTypeAny, "passthrough"> | undefined;
593
616
  context?: Record<string, unknown> | undefined;
594
617
  attemptId?: string | undefined;
@@ -624,6 +647,7 @@ export declare const TaskSchema: z.ZodObject<{
624
647
  claimWindowEndTs?: number | undefined;
625
648
  submissionDeadlineTs?: number | undefined;
626
649
  policyHook?: string | undefined;
650
+ requiredVerdicts?: number | undefined;
627
651
  } & {
628
652
  [k: string]: unknown;
629
653
  };
@@ -656,6 +680,7 @@ export declare const TaskSchema: z.ZodObject<{
656
680
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
657
681
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
658
682
  policyHook: z.ZodOptional<z.ZodString>;
683
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
659
684
  }, z.ZodTypeAny, "passthrough"> | undefined;
660
685
  context?: Record<string, unknown> | undefined;
661
686
  attemptId?: string | undefined;
@@ -707,6 +732,7 @@ export declare const TaskSchema: z.ZodObject<{
707
732
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
708
733
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
709
734
  policyHook: z.ZodOptional<z.ZodString>;
735
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
710
736
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
711
737
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
712
738
  maxClaims: z.ZodNumber;
@@ -716,6 +742,7 @@ export declare const TaskSchema: z.ZodObject<{
716
742
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
717
743
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
718
744
  policyHook: z.ZodOptional<z.ZodString>;
745
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
719
746
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
720
747
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
721
748
  maxClaims: z.ZodNumber;
@@ -725,6 +752,7 @@ export declare const TaskSchema: z.ZodObject<{
725
752
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
726
753
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
727
754
  policyHook: z.ZodOptional<z.ZodString>;
755
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
728
756
  }, z.ZodTypeAny, "passthrough">>;
729
757
  creator: z.ZodObject<{
730
758
  safeAddress: z.ZodString;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Shared utility for extracting an Ethereum transaction hash from a string.
3
+ *
4
+ * The same regex is needed by the bootstrap state machine (to surface a
5
+ * block-explorer link in fatal error envelopes) and by the SPA Onboarding
6
+ * region (to render that link). The SPA cannot import from this file directly
7
+ * due to bundler boundaries, so a copy lives at:
8
+ * client/src/dashboard/spa/src/lib/extract-tx-hash.ts
9
+ * Keep the two in sync when changing the regex or signature.
10
+ */
11
+ /**
12
+ * Returns the first Ethereum transaction hash found in `s`, or `null` if none.
13
+ */
14
+ export declare function extractTxHashFromString(s: string): string | null;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Shared utility for extracting an Ethereum transaction hash from a string.
3
+ *
4
+ * The same regex is needed by the bootstrap state machine (to surface a
5
+ * block-explorer link in fatal error envelopes) and by the SPA Onboarding
6
+ * region (to render that link). The SPA cannot import from this file directly
7
+ * due to bundler boundaries, so a copy lives at:
8
+ * client/src/dashboard/spa/src/lib/extract-tx-hash.ts
9
+ * Keep the two in sync when changing the regex or signature.
10
+ */
11
+ const TX_HASH_RE = /(0x[a-fA-F0-9]{64})/;
12
+ /**
13
+ * Returns the first Ethereum transaction hash found in `s`, or `null` if none.
14
+ */
15
+ export function extractTxHashFromString(s) {
16
+ const m = TX_HASH_RE.exec(s);
17
+ return m ? m[1] ?? null : null;
18
+ }
19
+ //# sourceMappingURL=extract-tx-hash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-tx-hash.js","sourceRoot":"","sources":["../../src/util/extract-tx-hash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,UAAU,GAAG,qBAAqB,CAAC;AAEzC;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,CAAS;IAC/C,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7B,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACjC,CAAC"}
@@ -82,7 +82,7 @@ export const SWE_REBENCH_V2_V1_SOLVER_NET_CONTRACT = {
82
82
  },
83
83
  claimPolicyDefaults: {
84
84
  mode: 'parallel',
85
- maxClaims: 50,
85
+ maxClaims: 5,
86
86
  maxClaimsPerOperator: 5,
87
87
  claimLeaseTtlSeconds: 60 * 60, // 1 hour per Task — coding tasks need more time than predictions
88
88
  },
@@ -348,6 +348,7 @@ export declare const SolverNetManifestV1Schema: z.ZodObject<{
348
348
  solutionPriceWei: z.ZodString;
349
349
  verdictPriceWei: z.ZodString;
350
350
  openRoles: z.ZodArray<z.ZodEnum<["solver", "evaluator"]>, "many">;
351
+ generatorConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
351
352
  registry: z.ZodOptional<z.ZodObject<{
352
353
  manifestCid: z.ZodOptional<z.ZodString>;
353
354
  registryUrl: z.ZodOptional<z.ZodString>;
@@ -447,6 +448,7 @@ export declare const SolverNetManifestV1Schema: z.ZodObject<{
447
448
  manifestCid?: string | undefined;
448
449
  registryUrl?: string | undefined;
449
450
  } | undefined;
451
+ generatorConfig?: Record<string, unknown> | undefined;
450
452
  }, {
451
453
  description: string;
452
454
  schemaVersion: "solvernet.manifest.v1";
@@ -521,6 +523,7 @@ export declare const SolverNetManifestV1Schema: z.ZodObject<{
521
523
  manifestCid?: string | undefined;
522
524
  registryUrl?: string | undefined;
523
525
  } | undefined;
526
+ generatorConfig?: Record<string, unknown> | undefined;
524
527
  }>;
525
528
  /**
526
529
  * The canonical TypeScript shape of a SolverNetManifestV1, derived from the
@@ -103,6 +103,7 @@ export const SolverNetManifestV1Schema = z.object({
103
103
  solutionPriceWei: NumericStringZ,
104
104
  verdictPriceWei: NumericStringZ,
105
105
  openRoles: z.array(z.enum(['solver', 'evaluator'])).min(1),
106
+ generatorConfig: z.record(z.string(), z.unknown()).optional(),
106
107
  registry: RegistryZ.optional(),
107
108
  createdAt: z.string().min(1),
108
109
  launchedAt: z.string().min(1),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jinn-network/client",
3
- "version": "0.1.6",
3
+ "version": "0.1.7-canary.08ebd916",
4
4
  "description": "Jinn protocol client — headless daemon for the restoration training loop",
5
5
  "type": "module",
6
6
  "packageManager": "yarn@4.13.0",
@@ -24,16 +24,16 @@
24
24
  "main": "./dist/index.js",
25
25
  "types": "./dist/index.d.ts",
26
26
  "files": [
27
- "dist/",
28
- "deployments/",
29
- "plugins/",
30
- "skills/",
31
- "templates/",
32
- "docker-compose.yml",
33
- "CONTRIBUTING.md",
34
- "CHANGELOG.md",
35
- "README.md",
36
- "LICENSE"
27
+ "/dist/",
28
+ "/deployments/",
29
+ "/plugins/",
30
+ "/skills/",
31
+ "/templates/",
32
+ "/docker-compose.yml",
33
+ "/CONTRIBUTING.md",
34
+ "/CHANGELOG.md",
35
+ "/README.md",
36
+ "/LICENSE"
37
37
  ],
38
38
  "publishConfig": {
39
39
  "access": "public"
@@ -45,7 +45,7 @@
45
45
  "jinn": "tsx src/bin/jinn.ts",
46
46
  "dev": "yarn build && node dist/bin/jinn.js",
47
47
  "build:sdk": "yarn --cwd ../packages/sdk install --immutable && yarn --cwd ../packages/sdk build",
48
- "build": "yarn build:sdk && yarn build:spa && tsc && chmod +x dist/bin/jinn.js && rm -rf dist/dashboard && mkdir -p dist/dashboard && cp -R src/dashboard/spa/dist/. dist/dashboard/ && rm -rf dist/templates && cp -R templates dist/templates && mkdir -p dist/scripts && cp scripts/fix-node-pty.mjs scripts/swe-rebench-v2-seed-pool.json scripts/swe-rebench-v2-known-bad.json dist/scripts/ && node scripts/vendor-sdk.mjs && node scripts/write-dist-build-meta.mjs",
48
+ "build": "yarn build:sdk && yarn build:spa && tsc && chmod +x dist/bin/jinn.js && rm -rf dist/dashboard && mkdir -p dist/dashboard && cp -R src/dashboard/spa/dist/. dist/dashboard/ && rm -rf dist/templates && cp -R templates dist/templates && rm -rf dist/plugins/learner && mkdir -p dist/plugins && cp -R plugins/learner dist/plugins/learner && mkdir -p dist/scripts && cp scripts/fix-node-pty.mjs scripts/swe-rebench-v2-seed-pool.json scripts/swe-rebench-v2-known-bad.json dist/scripts/ && node scripts/vendor-sdk.mjs && node scripts/write-dist-build-meta.mjs",
49
49
  "typecheck": "yarn build:sdk && tsc --noEmit",
50
50
  "test": "yarn build:sdk && vitest run",
51
51
  "lint:no-late-mount": "node scripts/check-no-late-route-mount.mjs",
@@ -58,6 +58,17 @@
58
58
  "pack:smoke": "node scripts/smoke-test-pack.mjs",
59
59
  "release:client": "node scripts/release-client.mjs",
60
60
  "release:operator-gate": "yarn staking && yarn e2e",
61
+ "release:tier-1": "tsx scripts/release/run-tier-1.ts",
62
+ "release:tier-1:T1.1": "vitest run --config vitest.release-tier-1.config.ts test/release/tier-1/T1.1-bootstrap-fresh-anvil.test.ts",
63
+ "release:tier-1:T1.2": "vitest run --config vitest.release-tier-1.config.ts test/release/tier-1/T1.2-harness-readiness-contract.test.ts",
64
+ "release:tier-1:T1.3": "vitest run test/release/tier-1/T1.3-indexer-round-trip.test.ts",
65
+ "release:tier-1:T1.4": "playwright test --config=playwright.config.ts test/dashboard/release-prep/spa-route-smoke.e2e.test.ts",
66
+ "release:tier-2": "tsx scripts/release/run-tier-2.ts",
67
+ "release:tier-2:T2.1": "vitest run test/release/tier-2/T2.1-cross-op-donation.test.ts",
68
+ "release:tier-2:T2.2": "vitest run test/release/tier-2/T2.2-producer-evaluator.test.ts",
69
+ "release:tier-2:T2.3": "playwright test --config=playwright.config.ts test/dashboard/multi-op/launcher-join-flow.e2e.test.ts",
70
+ "release:tier-3": "tsx scripts/release/run-tier-3.ts",
71
+ "release:tier-3:T3.1": "JINN_T31_REAL=1 vitest run test/release/tier-3/T3.1-producer-evaluator-real.test.ts",
61
72
  "release:donation-consumption": "node dist/scripts/donation-consumption-acceptance.js",
62
73
  "setup:testnet-acceptance-operator": "node scripts/setup-testnet-acceptance-operator-docker.mjs",
63
74
  "setup:testnet-acceptance-operator:docker": "node scripts/setup-testnet-acceptance-operator-docker.mjs",
@@ -66,6 +77,7 @@
66
77
  "release:testnet-acceptance:docker": "node scripts/testnet-acceptance-docker.mjs",
67
78
  "release:testnet-acceptance:host": "node scripts/testnet-acceptance.mjs",
68
79
  "status": "tsx scripts/status.ts",
80
+ "cleanup:engine-work": "tsx scripts/cleanup-engine-work.ts",
69
81
  "e2e": "tsx test/e2e/validate.ts",
70
82
  "e2e:task-first-local": "tsx test/e2e/task-first-local.ts",
71
83
  "e2e:claude-code-learner": "tsx test/e2e/claude-code-learner-portfolio-v0.ts",
@@ -79,6 +91,11 @@
79
91
  "e2e:capture": "tsx scripts/e2e-capture-validate.ts",
80
92
  "staking": "tsx test/e2e/staking.ts",
81
93
  "stolas": "tsx test/e2e/stolas.ts",
94
+ "substrate:adopt": "tsx scripts/release/substrate-adopt.ts",
95
+ "substrate:copy": "tsx scripts/release/substrate-copy.ts",
96
+ "substrate:reap": "tsx scripts/release/substrate-reap.ts",
97
+ "substrate:topup": "tsx scripts/release/substrate-topup.ts",
98
+ "substrate:verify": "tsx scripts/release/substrate-verify.ts",
82
99
  "withdraw": "tsx scripts/withdraw.ts",
83
100
  "build:spa": "yarn workspace @jinn-network/operator-spa build",
84
101
  "dev:spa": "yarn workspace @jinn-network/operator-spa dev",
@@ -88,6 +105,11 @@
88
105
  "e2e:dashboard": "yarn build && playwright test --config=playwright.config.ts",
89
106
  "e2e:donation": "vitest run test/smoke/donation-mode-smoke.test.ts test/smoke/donation-ipfs-http-smoke.test.ts"
90
107
  },
108
+ "resolutions": {
109
+ "axios": "^1.15.2",
110
+ "fast-uri": "^3.1.2",
111
+ "protobufjs": "^8.0.3"
112
+ },
91
113
  "dependencies": {
92
114
  "@ethereumjs/wallet": "^10.0.0",
93
115
  "@grpc/grpc-js": "^1.14.3",
@@ -98,7 +120,7 @@
98
120
  "@noble/hashes": "^2.2.0",
99
121
  "@opentelemetry/api": "^1.9.1",
100
122
  "@opentelemetry/core": "^2.7.1",
101
- "@opentelemetry/exporter-trace-otlp-grpc": "^0.217.0",
123
+ "@opentelemetry/exporter-trace-otlp-grpc": "^0.218.0",
102
124
  "@opentelemetry/exporter-trace-otlp-http": "^0.217.0",
103
125
  "@opentelemetry/resources": "^2.7.1",
104
126
  "@opentelemetry/sdk-node": "^0.217.0",
@@ -123,6 +145,7 @@
123
145
  "node-pty": "^1.1.0",
124
146
  "protobufjs": "^8.0.3",
125
147
  "semver": "^7.7.4",
148
+ "tokenlens": "^1.3.1",
126
149
  "viem": "^2.0.0",
127
150
  "ws": "^8.20.0",
128
151
  "yaml": "^2.8.4",
@@ -2,10 +2,10 @@
2
2
 
3
3
  Minimal-diff discipline and PASS\_TO\_PASS test-mapping skills for the
4
4
  `swe-rebench-v2.v1` SolverNet. This plugin competes on a different vertical
5
- than `swe-rebench-v2-runtime`: where the runtime plugin teaches the solver to
6
- orient and plan, this plugin constrains how the solver patches — keeping diffs
7
- small, renames absent, and PASS\_TO\_PASS coverage explicit before the first
8
- line of code is written.
5
+ than `swe-rebench-v2-runtime`: where the runtime plugin describes the
6
+ swe-rebench-v2.v1 task contract (input shape, test-set semantics, output
7
+ schema), this plugin constrains how the solver patches keeping diffs small,
8
+ renames absent, and PASS\_TO\_PASS coverage explicit.
9
9
 
10
10
  ## What the skills do
11
11
 
@@ -18,8 +18,8 @@ line of code is written.
18
18
 
19
19
  - **`swe-rebench-v2-test-map`** — PASS\_TO\_PASS test mapping. Greps test names
20
20
  to source files, computes test-to-source coverage ratios, pre-loads the call
21
- graph for the function under fix. Produces an edit-constraint list before
22
- the Execute phase begins.
21
+ graph for the function under fix. Produces an edit-constraint list that
22
+ feeds the patch.
23
23
 
24
24
  Both skills reference real SWE-rebench v2 mechanics (`FAIL_TO_PASS`,
25
25
  `PASS_TO_PASS`, `base_commit`, `instance_id`, `goal.spec`). They read like a
@@ -38,12 +38,13 @@ gets the full set of skills:
38
38
 
39
39
  | Plugin | Skills |
40
40
  |--------|--------|
41
- | `swe-rebench-v2-runtime` | `supports: ["swe-rebench-v2.v1"]` — orient, plan |
41
+ | `swe-rebench-v2-runtime` | `supports: ["swe-rebench-v2.v1"]` — task |
42
42
  | `swe-rebench-v2-diffmin` | `supports: ["swe-rebench-v2.v1"]` — diffmin, test-map |
43
43
 
44
44
  The harness loads skills from all plugins that declare `swe-rebench-v2.v1`
45
- support. Adding this plugin alongside the runtime plugin gives the solver four
46
- complementary skills for a single task: orient plan test-map diffmin.
45
+ support. The runtime plugin's `task` skill describes the swe-rebench-v2.v1
46
+ task contract; the diffmin and test-map skills here describe complementary
47
+ patching techniques.
47
48
 
48
49
  ## Bundled MCP tool: diff_stats
49
50
 
@@ -7,6 +7,6 @@
7
7
  "skills/diffmin/SKILL.md",
8
8
  "skills/test-map/SKILL.md"
9
9
  ],
10
- "description": "Minimal-diff discipline + PASS_TO_PASS test-mapping skills for swe-rebench-v2.v1. Complementary to swe-rebench-v2-runtime's orient/plan skills; the two stack."
10
+ "description": "Minimal-diff discipline + PASS_TO_PASS test-mapping skills for swe-rebench-v2.v1. Stacks with swe-rebench-v2-runtime, which describes the swe-rebench-v2.v1 task contract."
11
11
  }
12
12
  }
@@ -7,8 +7,10 @@ description: Bias the patch toward the smallest change that flips FAIL_TO_PASS w
7
7
 
8
8
  This skill keeps your patch as small as possible. Smaller diffs are easier to
9
9
  verify, less likely to introduce regressions, and align with how maintainers
10
- actually ship fixes. Apply it after the Orient phase has identified the root
11
- cause and before writing the patch in the Execute phase.
10
+ actually ship fixes. The `swe-rebench-v2-task` skill (in
11
+ `swe-rebench-v2-runtime`) describes the swe-rebench-v2.v1 task contract
12
+ read it first if you're not already familiar with the input shape and output
13
+ schema.
12
14
 
13
15
  ## Core heuristics
14
16
 
@@ -102,15 +104,18 @@ in intent but violates every heuristic.
102
104
  All checks pass. The `FAIL_TO_PASS` test now sees a proper empty string
103
105
  instead of garbage; `PASS_TO_PASS` tests are untouched.
104
106
 
105
- ## Integration with the Plan skill
107
+ ## Relationship to the task contract
106
108
 
107
- The `swe-rebench-v2-plan` skill from `swe-rebench-v2-runtime` sketches the
108
- edit list. Run this diffmin skill after Plan and before submitting:
109
+ The `swe-rebench-v2-task` skill (in `swe-rebench-v2-runtime`) describes the
110
+ swe-rebench-v2.v1 task contract input fields, FAIL_TO_PASS / PASS_TO_PASS
111
+ semantics, and the `swe-rebench-v2-solution.v1` output schema. This diffmin
112
+ skill describes a technique for shaping the patch you embed in that output:
109
113
 
110
- 1. Plan produces: "change line 402 in `libsrc/var.c` from `!=` to `==`."
111
- 2. Execute writes the patch.
112
- 3. **This skill validates:** call `mcp__diff-stats__diff_stats` on the patch,
114
+ 1. Whatever edit list you've arrived at, e.g. "change line 402 in
115
+ `libsrc/var.c` from `!=` to `==`."
116
+ 2. Once the patch is written, call `mcp__diff-stats__diff_stats` on it and
113
117
  confirm `hunks: 1, filesTouched: 1, hasRenames: false`.
114
- 4. Submit via `submit_typed_payload` only after validation passes.
118
+ 3. If validation fails, trim the patch and re-validate.
115
119
 
116
- If validation fails, trim the patch and re-validate before submitting.
120
+ The diff_stats checks are about the shape of the patch, not about when in the
121
+ solve loop you run them.
@@ -61,7 +61,7 @@ branch reachable from `test_fill_value`."
61
61
 
62
62
  ### Step 4: Pre-load the call graph for the affected function
63
63
 
64
- Read the function you intend to edit (identified by the Orient skill). Trace:
64
+ Read the function you intend to edit. Trace:
65
65
  - Which sub-functions does it call?
66
66
  - Which of those sub-functions appear in the PASS_TO_PASS test map?
67
67
 
@@ -71,7 +71,7 @@ step 3's ratio.
71
71
 
72
72
  ### Step 5: Write the edit constraint list
73
73
 
74
- Output a structured list before starting Execute:
74
+ Output a structured list summarising what the patch may and may not touch:
75
75
 
76
76
  ```
77
77
  Edit constraint list:
@@ -83,7 +83,7 @@ Edit constraint list:
83
83
  - Safe to change: local variable stat comparison on line 402
84
84
  ```
85
85
 
86
- Pass this list to the Plan/Execute phase.
86
+ This list is the input to writing the patch itself.
87
87
 
88
88
  ## Worked example: org__repo-42 (fictional)
89
89
 
@@ -114,13 +114,11 @@ Pass this list to the Plan/Execute phase.
114
114
  This constraint list feeds directly into the diffmin skill's heuristics: one
115
115
  hunk, one file, no renames, no changes to `_validate_token`.
116
116
 
117
- ## Integration with the diffmin skill
117
+ ## Relationship to the diffmin skill
118
118
 
119
- Run this test-map skill in parallel with the Orient skill. By the time Plan
120
- begins, you should have:
121
- 1. The Orient summary (hypothesis + target function).
122
- 2. The test-map constraint list (which sub-functions are covered by PASS_TO_PASS).
123
-
124
- Both feed into the Plan phase. After Execute produces the patch, run
125
- `mcp__diff-stats__diff_stats` via the diffmin skill to confirm the diff
126
- satisfies the hunk and file count constraints before submitting.
119
+ The test-map constraint list (which sub-functions are covered by
120
+ PASS_TO_PASS) is the natural input to the diffmin skill's heuristics: it
121
+ tells you which functions are safe to touch and which would inflate
122
+ regression risk. The `mcp__diff-stats__diff_stats` tool described in the
123
+ diffmin skill can then confirm that the resulting patch satisfies the hunk
124
+ and file count constraints.
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "swe-rebench-v2-runtime",
3
3
  "version": "0.1.0",
4
- "description": "Runtime plugin for the swe-rebench-v2.v1 SolverNet — provides Solver-side orientation skills for code-issue resolution tasks."
4
+ "description": "Runtime plugin for the swe-rebench-v2.v1 SolverNet — provides domain reference for swe-rebench-v2.v1 task shape, repo handling, FAIL_TO_PASS / PASS_TO_PASS semantics, and the solution payload schema."
5
5
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "swe-rebench-v2-runtime",
3
3
  "version": "0.1.0",
4
- "description": "Runtime plugin for the swe-rebench-v2.v1 SolverNet - provides orientation and planning skills for code-issue resolution tasks.",
4
+ "description": "Runtime plugin for the swe-rebench-v2.v1 SolverNet provides domain reference for task shape, repo handling, FAIL_TO_PASS / PASS_TO_PASS semantics, and the solution payload schema.",
5
5
  "author": {
6
6
  "name": "Jinn Network",
7
7
  "url": "https://github.com/Jinn-Network/mono"
@@ -18,8 +18,8 @@
18
18
  "skills": "./skills/",
19
19
  "interface": {
20
20
  "displayName": "SWE-rebench v2 Runtime",
21
- "shortDescription": "SWE-rebench v2 orient and plan skills",
22
- "longDescription": "Provides Solver-side orientation and planning skills for SWE-rebench v2 code-issue tasks.",
21
+ "shortDescription": "SWE-rebench v2 task domain reference",
22
+ "longDescription": "Provides Solver-side domain reference for SWE-rebench v2 code-issue tasks — task input shape, repo handling, FAIL_TO_PASS / PASS_TO_PASS semantics, and the swe-rebench-v2-solution.v1 payload schema.",
23
23
  "developerName": "Jinn Network",
24
24
  "category": "Coding",
25
25
  "capabilities": [