@jinn-network/client 0.1.8 → 0.1.9-canary.02befda9

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 (537) hide show
  1. package/README.md +6 -0
  2. package/deployments/deployment-phase1b-mech-baseSepolia-fast.json +3 -3
  3. package/deployments/deployment-stolas-l2-baseSepolia-fast.json +23 -3
  4. package/deployments/deployment-task-coordinator-router-v3-baseSepolia-fast.json +34 -6
  5. package/dist/adapters/mech/adapter.d.ts +21 -1
  6. package/dist/adapters/mech/adapter.js +107 -52
  7. package/dist/adapters/mech/adapter.js.map +1 -1
  8. package/dist/adapters/mech/contracts.d.ts +174 -13
  9. package/dist/adapters/mech/contracts.js +99 -49
  10. package/dist/adapters/mech/contracts.js.map +1 -1
  11. package/dist/adapters/mech/safe-revert.d.ts +4 -0
  12. package/dist/adapters/mech/safe-revert.js +5 -1
  13. package/dist/adapters/mech/safe-revert.js.map +1 -1
  14. package/dist/adapters/mech/safe.js +77 -1
  15. package/dist/adapters/mech/safe.js.map +1 -1
  16. package/dist/adapters/mech/types.d.ts +4 -42
  17. package/dist/adapters/mech/types.js +8 -20
  18. package/dist/adapters/mech/types.js.map +1 -1
  19. package/dist/adapters/mech/verdict-code.js +1 -1
  20. package/dist/adapters/mech/verdict-code.js.map +1 -1
  21. package/dist/api/bootstrap-endpoint.d.ts +1 -0
  22. package/dist/api/bootstrap-endpoint.js +1 -0
  23. package/dist/api/bootstrap-endpoint.js.map +1 -1
  24. package/dist/api/discovery-endpoint.d.ts +1 -0
  25. package/dist/api/discovery-endpoint.js +24 -0
  26. package/dist/api/discovery-endpoint.js.map +1 -1
  27. package/dist/api/fleet-build.d.ts +1 -7
  28. package/dist/api/fleet-build.js +0 -7
  29. package/dist/api/fleet-build.js.map +1 -1
  30. package/dist/api/gather-status.d.ts +26 -17
  31. package/dist/api/gather-status.js +57 -516
  32. package/dist/api/gather-status.js.map +1 -1
  33. package/dist/api/harness-auth-status-endpoint.d.ts +21 -0
  34. package/dist/api/harness-auth-status-endpoint.js +17 -0
  35. package/dist/api/harness-auth-status-endpoint.js.map +1 -0
  36. package/dist/api/loop-completion-build.d.ts +79 -0
  37. package/dist/api/loop-completion-build.js +155 -0
  38. package/dist/api/loop-completion-build.js.map +1 -0
  39. package/dist/api/operator-artifacts-endpoint.js +1 -1
  40. package/dist/api/operator-artifacts-endpoint.js.map +1 -1
  41. package/dist/api/peers.js +2 -0
  42. package/dist/api/peers.js.map +1 -1
  43. package/dist/api/rewards-build.d.ts +8 -1
  44. package/dist/api/rewards-build.js +32 -4
  45. package/dist/api/rewards-build.js.map +1 -1
  46. package/dist/api/rewards-endpoint.d.ts +12 -0
  47. package/dist/api/rewards-endpoint.js +46 -0
  48. package/dist/api/rewards-endpoint.js.map +1 -0
  49. package/dist/api/server.d.ts +6 -16
  50. package/dist/api/server.js +29 -26
  51. package/dist/api/server.js.map +1 -1
  52. package/dist/api/setup-endpoints.d.ts +41 -0
  53. package/dist/api/setup-endpoints.js +258 -45
  54. package/dist/api/setup-endpoints.js.map +1 -1
  55. package/dist/api/solvernets-endpoints.js +4 -1
  56. package/dist/api/solvernets-endpoints.js.map +1 -1
  57. package/dist/api/status-build.d.ts +71 -94
  58. package/dist/api/status-build.js +11 -77
  59. package/dist/api/status-build.js.map +1 -1
  60. package/dist/api/status-rollup-build.d.ts +0 -4
  61. package/dist/api/status-rollup-build.js +0 -4
  62. package/dist/api/status-rollup-build.js.map +1 -1
  63. package/dist/api/stop-hook.d.ts +1 -1
  64. package/dist/api/stop-hook.js +1 -1
  65. package/dist/api/stop-hook.js.map +1 -1
  66. package/dist/build-info.json +4 -4
  67. package/dist/build-meta.json +1 -1
  68. package/dist/captures/live-publisher.d.ts +9 -0
  69. package/dist/captures/live-publisher.js +1 -0
  70. package/dist/captures/live-publisher.js.map +1 -1
  71. package/dist/captures/publish.d.ts +11 -0
  72. package/dist/captures/publish.js +15 -5
  73. package/dist/captures/publish.js.map +1 -1
  74. package/dist/cli/commands/codedigest-revert-check.js +6 -2
  75. package/dist/cli/commands/codedigest-revert-check.js.map +1 -1
  76. package/dist/cli/commands/doctor.d.ts +3 -0
  77. package/dist/cli/commands/doctor.js +36 -4
  78. package/dist/cli/commands/doctor.js.map +1 -1
  79. package/dist/cli/commands/eval.d.ts +87 -0
  80. package/dist/cli/commands/eval.js +481 -0
  81. package/dist/cli/commands/eval.js.map +1 -0
  82. package/dist/cli/commands/rewards.d.ts +2 -0
  83. package/dist/cli/commands/rewards.js +39 -10
  84. package/dist/cli/commands/rewards.js.map +1 -1
  85. package/dist/cli/commands/solver-nets.js +68 -0
  86. package/dist/cli/commands/solver-nets.js.map +1 -1
  87. package/dist/cli/commands/status.js +0 -1
  88. package/dist/cli/commands/status.js.map +1 -1
  89. package/dist/cli/commands/update.js +8 -0
  90. package/dist/cli/commands/update.js.map +1 -1
  91. package/dist/cli/commands/version.js +4 -0
  92. package/dist/cli/commands/version.js.map +1 -1
  93. package/dist/cli/index.js +2 -0
  94. package/dist/cli/index.js.map +1 -1
  95. package/dist/cli/introspection-context.js +0 -3
  96. package/dist/cli/introspection-context.js.map +1 -1
  97. package/dist/config.d.ts +158 -541
  98. package/dist/config.js +189 -196
  99. package/dist/config.js.map +1 -1
  100. package/dist/corpus/acquire.d.ts +7 -6
  101. package/dist/corpus/acquire.js +10 -10
  102. package/dist/corpus/acquire.js.map +1 -1
  103. package/dist/corpus/fetch-artifact.d.ts +21 -0
  104. package/dist/corpus/fetch-artifact.js +33 -0
  105. package/dist/corpus/fetch-artifact.js.map +1 -0
  106. package/dist/corpus/index.d.ts +2 -2
  107. package/dist/corpus/route-resolver.d.ts +3 -3
  108. package/dist/corpus/route-resolver.js +3 -3
  109. package/dist/daemon/ai-units-gate.d.ts +6 -6
  110. package/dist/daemon/ai-units-gate.js +11 -10
  111. package/dist/daemon/ai-units-gate.js.map +1 -1
  112. package/dist/daemon/balance-topup-loop.js +3 -0
  113. package/dist/daemon/balance-topup-loop.js.map +1 -1
  114. package/dist/daemon/checkpoint-loop.js +2 -2
  115. package/dist/daemon/creator.d.ts +1 -0
  116. package/dist/daemon/creator.js +26 -14
  117. package/dist/daemon/creator.js.map +1 -1
  118. package/dist/daemon/daemon.d.ts +15 -10
  119. package/dist/daemon/daemon.js +71 -39
  120. package/dist/daemon/daemon.js.map +1 -1
  121. package/dist/daemon/delivery-watcher.d.ts +9 -0
  122. package/dist/daemon/delivery-watcher.js +24 -1
  123. package/dist/daemon/delivery-watcher.js.map +1 -1
  124. package/dist/daemon/eviction-loop.d.ts +7 -0
  125. package/dist/daemon/eviction-loop.js +19 -3
  126. package/dist/daemon/eviction-loop.js.map +1 -1
  127. package/dist/daemon/join-applier.d.ts +35 -0
  128. package/dist/daemon/join-applier.js +49 -0
  129. package/dist/daemon/join-applier.js.map +1 -0
  130. package/dist/daemon/loop-heartbeat.d.ts +34 -0
  131. package/dist/daemon/loop-heartbeat.js +38 -0
  132. package/dist/daemon/loop-heartbeat.js.map +1 -0
  133. package/dist/daemon/reward-claim-loop.js +4 -1
  134. package/dist/daemon/reward-claim-loop.js.map +1 -1
  135. package/dist/daemon/skip-log-dedup.d.ts +1 -1
  136. package/dist/daemon/skip-log-dedup.js +3 -0
  137. package/dist/daemon/skip-log-dedup.js.map +1 -1
  138. package/dist/daemon/watchdog-loop.d.ts +84 -0
  139. package/dist/daemon/watchdog-loop.js +91 -0
  140. package/dist/daemon/watchdog-loop.js.map +1 -0
  141. package/dist/dashboard/assets/index-BsrAAmvC.js +171 -0
  142. package/dist/dashboard/assets/index-DQOWJ2SF.css +1 -0
  143. package/dist/dashboard/index.html +2 -2
  144. package/dist/discovery/http.d.ts +17 -0
  145. package/dist/discovery/http.js +295 -25
  146. package/dist/discovery/http.js.map +1 -1
  147. package/dist/discovery/onchain.js +158 -2
  148. package/dist/discovery/onchain.js.map +1 -1
  149. package/dist/discovery/types.d.ts +106 -0
  150. package/dist/discovery/types.js +40 -0
  151. package/dist/discovery/types.js.map +1 -1
  152. package/dist/discovery/with-fallback.js +14 -0
  153. package/dist/discovery/with-fallback.js.map +1 -1
  154. package/dist/earning/bootstrap.d.ts +25 -0
  155. package/dist/earning/bootstrap.js +79 -28
  156. package/dist/earning/bootstrap.js.map +1 -1
  157. package/dist/earning/contracts.d.ts +0 -229
  158. package/dist/earning/contracts.js +4 -184
  159. package/dist/earning/contracts.js.map +1 -1
  160. package/dist/earning/faucet-topup-store.d.ts +41 -0
  161. package/dist/earning/faucet-topup-store.js +89 -0
  162. package/dist/earning/faucet-topup-store.js.map +1 -0
  163. package/dist/earning/faucet.d.ts +1 -1
  164. package/dist/earning/faucet.js +2 -2
  165. package/dist/earning/faucet.js.map +1 -1
  166. package/dist/earning/safe-adapter.js +11 -0
  167. package/dist/earning/safe-adapter.js.map +1 -1
  168. package/dist/earning/stolas-claim.js +8 -8
  169. package/dist/earning/stolas-claim.js.map +1 -1
  170. package/dist/earning/{jinn-rewards.d.ts → stolas-staking.d.ts} +4 -8
  171. package/dist/earning/{jinn-rewards.js → stolas-staking.js} +6 -10
  172. package/dist/earning/stolas-staking.js.map +1 -0
  173. package/dist/earning/testnet-setup-migration.d.ts +1 -0
  174. package/dist/earning/testnet-setup-migration.js +7 -2
  175. package/dist/earning/testnet-setup-migration.js.map +1 -1
  176. package/dist/earning/types.d.ts +1 -1
  177. package/dist/earning/types.js +1 -1
  178. package/dist/earning/types.js.map +1 -1
  179. package/dist/earning/viem-clients.d.ts +3 -19
  180. package/dist/earning/viem-clients.js +4 -31
  181. package/dist/earning/viem-clients.js.map +1 -1
  182. package/dist/eval/eval-harness-run.d.ts +63 -0
  183. package/dist/eval/eval-harness-run.js +123 -0
  184. package/dist/eval/eval-harness-run.js.map +1 -0
  185. package/dist/eval/orchestrator.d.ts +224 -0
  186. package/dist/eval/orchestrator.js +250 -0
  187. package/dist/eval/orchestrator.js.map +1 -0
  188. package/dist/eval/paired.d.ts +68 -0
  189. package/dist/eval/paired.js +93 -0
  190. package/dist/eval/paired.js.map +1 -0
  191. package/dist/eval/resolve-slate-tasks.d.ts +35 -0
  192. package/dist/eval/resolve-slate-tasks.js +56 -0
  193. package/dist/eval/resolve-slate-tasks.js.map +1 -0
  194. package/dist/eval/screen-discovery.d.ts +22 -0
  195. package/dist/eval/screen-discovery.js +71 -0
  196. package/dist/eval/screen-discovery.js.map +1 -0
  197. package/dist/eval/screen-progress.d.ts +41 -0
  198. package/dist/eval/screen-progress.js +60 -0
  199. package/dist/eval/screen-progress.js.map +1 -0
  200. package/dist/eval/screen-runner.d.ts +30 -0
  201. package/dist/eval/screen-runner.js +289 -0
  202. package/dist/eval/screen-runner.js.map +1 -0
  203. package/dist/eval/screen.d.ts +107 -0
  204. package/dist/eval/screen.js +159 -0
  205. package/dist/eval/screen.js.map +1 -0
  206. package/dist/eval/slope.d.ts +29 -0
  207. package/dist/eval/slope.js +46 -0
  208. package/dist/eval/slope.js.map +1 -0
  209. package/dist/eval/train-sequence.d.ts +35 -0
  210. package/dist/eval/train-sequence.js +59 -0
  211. package/dist/eval/train-sequence.js.map +1 -0
  212. package/dist/eval/wilson.d.ts +45 -0
  213. package/dist/eval/wilson.js +48 -0
  214. package/dist/eval/wilson.js.map +1 -0
  215. package/dist/events/types.d.ts +1 -1
  216. package/dist/events/types.js +1 -1
  217. package/dist/events/types.js.map +1 -1
  218. package/dist/harnesses/auth-source.d.ts +51 -0
  219. package/dist/harnesses/auth-source.js +155 -0
  220. package/dist/harnesses/auth-source.js.map +1 -0
  221. package/dist/harnesses/engine/canonical-json.js +5 -3
  222. package/dist/harnesses/engine/canonical-json.js.map +1 -1
  223. package/dist/harnesses/engine/engine.d.ts +32 -0
  224. package/dist/harnesses/engine/engine.js +76 -9
  225. package/dist/harnesses/engine/engine.js.map +1 -1
  226. package/dist/harnesses/engine/packaging.js +5 -5
  227. package/dist/harnesses/engine/packaging.js.map +1 -1
  228. package/dist/harnesses/engine/persistence.d.ts +17 -0
  229. package/dist/harnesses/engine/persistence.js +28 -0
  230. package/dist/harnesses/engine/persistence.js.map +1 -1
  231. package/dist/harnesses/impls/claude-mcp-hyperliquid/mcp-tools.d.ts +1 -1
  232. package/dist/harnesses/impls/claude-mcp-hyperliquid/mcp-tools.js +1 -1
  233. package/dist/harnesses/impls/claude-mcp-hyperliquid/mcp-tools.js.map +1 -1
  234. package/dist/harnesses/impls/hermes-agent/adapter.d.ts +2 -0
  235. package/dist/harnesses/impls/hermes-agent/adapter.js +8 -5
  236. package/dist/harnesses/impls/hermes-agent/adapter.js.map +1 -1
  237. package/dist/harnesses/impls/hermes-agent/bootstrap.d.ts +1 -0
  238. package/dist/harnesses/impls/hermes-agent/bootstrap.js +6 -1
  239. package/dist/harnesses/impls/hermes-agent/bootstrap.js.map +1 -1
  240. package/dist/harnesses/impls/hermes-agent/harness.d.ts +25 -3
  241. package/dist/harnesses/impls/hermes-agent/harness.js +89 -5
  242. package/dist/harnesses/impls/hermes-agent/harness.js.map +1 -1
  243. package/dist/harnesses/impls/index.d.ts +2 -0
  244. package/dist/harnesses/impls/index.js +10 -1
  245. package/dist/harnesses/impls/index.js.map +1 -1
  246. package/dist/harnesses/impls/jinn-repo-evaluator/eval-runner.d.ts +34 -0
  247. package/dist/harnesses/impls/jinn-repo-evaluator/eval-runner.js +111 -0
  248. package/dist/harnesses/impls/jinn-repo-evaluator/eval-runner.js.map +1 -0
  249. package/dist/harnesses/impls/jinn-repo-evaluator/evaluator.d.ts +24 -0
  250. package/dist/harnesses/impls/jinn-repo-evaluator/evaluator.js +19 -0
  251. package/dist/harnesses/impls/jinn-repo-evaluator/evaluator.js.map +1 -0
  252. package/dist/harnesses/impls/jinn-repo-evaluator/harness.d.ts +64 -0
  253. package/dist/harnesses/impls/jinn-repo-evaluator/harness.js +125 -0
  254. package/dist/harnesses/impls/jinn-repo-evaluator/harness.js.map +1 -0
  255. package/dist/harnesses/impls/jinn-repo-evaluator/repro.d.ts +32 -0
  256. package/dist/harnesses/impls/jinn-repo-evaluator/repro.js +73 -0
  257. package/dist/harnesses/impls/jinn-repo-evaluator/repro.js.map +1 -0
  258. package/dist/harnesses/impls/learner/adapters/claude-code.js +5 -0
  259. package/dist/harnesses/impls/learner/adapters/claude-code.js.map +1 -1
  260. package/dist/harnesses/impls/learner/adapters/codex-code.d.ts +8 -0
  261. package/dist/harnesses/impls/learner/adapters/codex-code.js +91 -11
  262. package/dist/harnesses/impls/learner/adapters/codex-code.js.map +1 -1
  263. package/dist/harnesses/impls/learner/harness.d.ts +29 -1
  264. package/dist/harnesses/impls/learner/harness.js +85 -1
  265. package/dist/harnesses/impls/learner/harness.js.map +1 -1
  266. package/dist/harnesses/impls/learner/harvest.d.ts +2 -0
  267. package/dist/harnesses/impls/learner/harvest.js +51 -1
  268. package/dist/harnesses/impls/learner/harvest.js.map +1 -1
  269. package/dist/harnesses/impls/learner/plugin-path.js +1 -0
  270. package/dist/harnesses/impls/learner/plugin-path.js.map +1 -1
  271. package/dist/harnesses/impls/stub.d.ts +2 -2
  272. package/dist/harnesses/impls/stub.js +2 -2
  273. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js +3 -1
  274. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js.map +1 -1
  275. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.d.ts +2 -2
  276. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js +3 -1
  277. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js.map +1 -1
  278. package/dist/harnesses/readiness-registry.d.ts +16 -0
  279. package/dist/harnesses/readiness-registry.js +28 -6
  280. package/dist/harnesses/readiness-registry.js.map +1 -1
  281. package/dist/harnesses/types.d.ts +26 -0
  282. package/dist/learner/revert-decision.d.ts +16 -1
  283. package/dist/learner/revert-decision.js +38 -18
  284. package/dist/learner/revert-decision.js.map +1 -1
  285. package/dist/learner/revert-stats.d.ts +14 -0
  286. package/dist/learner/revert-stats.js +42 -0
  287. package/dist/learner/revert-stats.js.map +1 -1
  288. package/dist/local-provider-url.d.ts +3 -0
  289. package/dist/local-provider-url.js +28 -0
  290. package/dist/local-provider-url.js.map +1 -0
  291. package/dist/main.js +125 -120
  292. package/dist/main.js.map +1 -1
  293. package/dist/mcp/acquire-artifact.d.ts +3 -3
  294. package/dist/mcp/acquire-artifact.js +3 -3
  295. package/dist/mcp/operator-server.js +1 -1
  296. package/dist/mcp/operator-server.js.map +1 -1
  297. package/dist/mcp/server.js +5 -6
  298. package/dist/mcp/server.js.map +1 -1
  299. package/dist/observability/emit-event.d.ts +1 -1
  300. package/dist/observability/emit-event.js +0 -4
  301. package/dist/observability/emit-event.js.map +1 -1
  302. package/dist/plugins/learner/.claude-plugin/plugin.json +1 -1
  303. package/dist/plugins/learner/.codex-plugin/plugin.json +1 -1
  304. package/dist/plugins/learner/hooks/session-start +30 -1
  305. package/dist/plugins/learner/skills/learn/consolidator-prompt.md +4 -0
  306. package/dist/preflight/deployment-readiness.d.ts +127 -0
  307. package/dist/preflight/deployment-readiness.js +308 -0
  308. package/dist/preflight/deployment-readiness.js.map +1 -0
  309. package/dist/preflight/pidfile-liveness.d.ts +7 -1
  310. package/dist/preflight/pidfile-liveness.js +14 -0
  311. package/dist/preflight/pidfile-liveness.js.map +1 -1
  312. package/dist/rpc/transport.d.ts +43 -5
  313. package/dist/rpc/transport.js +131 -30
  314. package/dist/rpc/transport.js.map +1 -1
  315. package/dist/scripts/swe-rebench-v2-seed-pool.json +2 -1
  316. package/dist/solver-nets/registry.d.ts +19 -0
  317. package/dist/solver-nets/registry.js +95 -66
  318. package/dist/solver-nets/registry.js.map +1 -1
  319. package/dist/solver-types/_jinn-repo-pool.d.ts +27 -0
  320. package/dist/solver-types/_jinn-repo-pool.js +27 -0
  321. package/dist/solver-types/_jinn-repo-pool.js.map +1 -0
  322. package/dist/solver-types/_swe-rebench-v2-held-out-slate.d.ts +76 -0
  323. package/dist/solver-types/_swe-rebench-v2-held-out-slate.js +156 -0
  324. package/dist/solver-types/_swe-rebench-v2-held-out-slate.js.map +1 -0
  325. package/dist/solver-types/_swe-rebench-v2-pool-recovery.d.ts +81 -0
  326. package/dist/solver-types/_swe-rebench-v2-pool-recovery.js +116 -0
  327. package/dist/solver-types/_swe-rebench-v2-pool-recovery.js.map +1 -0
  328. package/dist/solver-types/_swe-rebench-v2-state.d.ts +9 -0
  329. package/dist/solver-types/_swe-rebench-v2-state.js +14 -0
  330. package/dist/solver-types/_swe-rebench-v2-state.js.map +1 -1
  331. package/dist/solver-types/_swe-rebench-v2-validated-pool.d.ts +30 -0
  332. package/dist/solver-types/_swe-rebench-v2-validated-pool.js +40 -0
  333. package/dist/solver-types/_swe-rebench-v2-validated-pool.js.map +1 -1
  334. package/dist/solver-types/index.js +2 -0
  335. package/dist/solver-types/index.js.map +1 -1
  336. package/dist/solver-types/jinn-repo-admit.d.ts +17 -0
  337. package/dist/solver-types/jinn-repo-admit.js +16 -0
  338. package/dist/solver-types/jinn-repo-admit.js.map +1 -0
  339. package/dist/solver-types/jinn-repo-auto.d.ts +60 -0
  340. package/dist/solver-types/jinn-repo-auto.js +163 -0
  341. package/dist/solver-types/jinn-repo-auto.js.map +1 -0
  342. package/dist/solver-types/jinn-repo-definition.d.ts +15 -0
  343. package/dist/solver-types/jinn-repo-definition.js +34 -0
  344. package/dist/solver-types/jinn-repo-definition.js.map +1 -0
  345. package/dist/solver-types/jinn-repo-extract.d.ts +16 -0
  346. package/dist/solver-types/jinn-repo-extract.js +32 -0
  347. package/dist/solver-types/jinn-repo-extract.js.map +1 -0
  348. package/dist/solver-types/jinn-repo.d.ts +21 -0
  349. package/dist/solver-types/jinn-repo.js +23 -0
  350. package/dist/solver-types/jinn-repo.js.map +1 -0
  351. package/dist/solver-types/learner-loop-test.js +1 -1
  352. package/dist/solver-types/learner-loop-test.js.map +1 -1
  353. package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v1.json +20 -0
  354. package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v2.json +19 -0
  355. package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v2.screening-report.json +628 -0
  356. package/dist/solver-types/solver-type.d.ts +8 -0
  357. package/dist/solver-types/swe-rebench-v2.d.ts +2 -0
  358. package/dist/solver-types/swe-rebench-v2.js +115 -10
  359. package/dist/solver-types/swe-rebench-v2.js.map +1 -1
  360. package/dist/solvernets/launched-record-dispatcher.d.ts +5 -0
  361. package/dist/solvernets/launched-record-dispatcher.js +8 -1
  362. package/dist/solvernets/launched-record-dispatcher.js.map +1 -1
  363. package/dist/solvernets/registry-client-erc8004.js +29 -37
  364. package/dist/solvernets/registry-client-erc8004.js.map +1 -1
  365. package/dist/solvernets/registry-client.d.ts +6 -0
  366. package/dist/solvernets/store.d.ts +1 -1
  367. package/dist/solvernets/store.js +8 -3
  368. package/dist/solvernets/store.js.map +1 -1
  369. package/dist/spend/ai-units-config.d.ts +10 -0
  370. package/dist/spend/ai-units-config.js +7 -1
  371. package/dist/spend/ai-units-config.js.map +1 -1
  372. package/dist/spend/ai-units.d.ts +51 -0
  373. package/dist/spend/ai-units.js +73 -0
  374. package/dist/spend/ai-units.js.map +1 -1
  375. package/dist/spend/record.js +12 -5
  376. package/dist/spend/record.js.map +1 -1
  377. package/dist/spend/usage.js +39 -3
  378. package/dist/spend/usage.js.map +1 -1
  379. package/dist/store/store.d.ts +92 -5
  380. package/dist/store/store.js +184 -7
  381. package/dist/store/store.js.map +1 -1
  382. package/dist/trajectory/emit.d.ts +6 -0
  383. package/dist/trajectory/emit.js +9 -1
  384. package/dist/trajectory/emit.js.map +1 -1
  385. package/dist/trajectory/harness-bundle-schema.d.ts +1 -1
  386. package/dist/trajectory/harness-bundle-schema.js +1 -1
  387. package/dist/trajectory/harness-bundle-schema.js.map +1 -1
  388. package/dist/trajectory/schema.d.ts +1 -1
  389. package/dist/trajectory/schema.js +1 -1
  390. package/dist/trajectory/schema.js.map +1 -1
  391. package/dist/trajectory/scrub/build.d.ts +27 -0
  392. package/dist/trajectory/scrub/build.js +43 -0
  393. package/dist/trajectory/scrub/build.js.map +1 -0
  394. package/dist/trajectory/scrub/emit-scrub.d.ts +41 -0
  395. package/dist/trajectory/scrub/emit-scrub.js +88 -0
  396. package/dist/trajectory/scrub/emit-scrub.js.map +1 -0
  397. package/dist/trajectory/scrub/key-policy.d.ts +20 -0
  398. package/dist/trajectory/scrub/key-policy.js +43 -0
  399. package/dist/trajectory/scrub/key-policy.js.map +1 -0
  400. package/dist/trajectory/scrub/ml-pii-stage.d.ts +24 -0
  401. package/dist/trajectory/scrub/ml-pii-stage.js +43 -0
  402. package/dist/trajectory/scrub/ml-pii-stage.js.map +1 -0
  403. package/dist/trajectory/scrub/openredaction-stage.d.ts +14 -0
  404. package/dist/trajectory/scrub/openredaction-stage.js +36 -0
  405. package/dist/trajectory/scrub/openredaction-stage.js.map +1 -0
  406. package/dist/trajectory/scrub/pii-build.d.ts +31 -0
  407. package/dist/trajectory/scrub/pii-build.js +64 -0
  408. package/dist/trajectory/scrub/pii-build.js.map +1 -0
  409. package/dist/trajectory/scrub/pipeline.d.ts +16 -0
  410. package/dist/trajectory/scrub/pipeline.js +26 -0
  411. package/dist/trajectory/scrub/pipeline.js.map +1 -0
  412. package/dist/trajectory/scrub/secretlint-stage.d.ts +13 -0
  413. package/dist/trajectory/scrub/secretlint-stage.js +121 -0
  414. package/dist/trajectory/scrub/secretlint-stage.js.map +1 -0
  415. package/dist/trajectory/scrub/transformers-detector.d.ts +35 -0
  416. package/dist/trajectory/scrub/transformers-detector.js +68 -0
  417. package/dist/trajectory/scrub/transformers-detector.js.map +1 -0
  418. package/dist/trajectory/scrub/types.d.ts +25 -0
  419. package/dist/trajectory/scrub/types.js +2 -0
  420. package/dist/trajectory/scrub/types.js.map +1 -0
  421. package/dist/trajectory/transcript-parsers/types.d.ts +1 -1
  422. package/dist/trajectory/transcript-parsers/types.js +1 -1
  423. package/dist/trajectory/transcript-parsers/types.js.map +1 -1
  424. package/dist/tx-retry.d.ts +12 -0
  425. package/dist/tx-retry.js +41 -12
  426. package/dist/tx-retry.js.map +1 -1
  427. package/dist/types/envelope.d.ts +1 -1
  428. package/dist/types/envelope.js +1 -1
  429. package/dist/types/envelope.js.map +1 -1
  430. package/dist/types/payloads/index.d.ts +1 -1
  431. package/dist/types/payloads/index.js +7 -1
  432. package/dist/types/payloads/index.js.map +1 -1
  433. package/dist/types/payloads/portfolio-v0.d.ts +1 -1
  434. package/dist/types/payloads/portfolio-v0.js +1 -1
  435. package/dist/types/payloads/portfolio-v0.js.map +1 -1
  436. package/dist/types/payloads/prediction-apy-v0.d.ts +1 -1
  437. package/dist/types/payloads/prediction-apy-v0.js +1 -1
  438. package/dist/types/payloads/prediction-apy-v0.js.map +1 -1
  439. package/dist/types/payloads/prediction-v0.d.ts +1 -1
  440. package/dist/types/payloads/prediction-v0.js +1 -1
  441. package/dist/types/payloads/prediction-v0.js.map +1 -1
  442. package/dist/types/portfolio.d.ts +1 -1
  443. package/dist/types/portfolio.js +1 -1
  444. package/dist/types/portfolio.js.map +1 -1
  445. package/dist/types/prediction-apy.d.ts +1 -1
  446. package/dist/types/prediction-apy.js +1 -1
  447. package/dist/types/prediction-apy.js.map +1 -1
  448. package/dist/types/prediction.d.ts +1 -1
  449. package/dist/types/prediction.js +1 -1
  450. package/dist/types/prediction.js.map +1 -1
  451. package/dist/types/session-provenance.d.ts +1 -1
  452. package/dist/types/session-provenance.js +1 -1
  453. package/dist/types/session-provenance.js.map +1 -1
  454. package/dist/types/task-document.d.ts +315 -1
  455. package/dist/types/task-document.js +9 -1
  456. package/dist/types/task-document.js.map +1 -1
  457. package/dist/types/task.d.ts +29 -1
  458. package/dist/types/task.js +1 -1
  459. package/dist/types/task.js.map +1 -1
  460. package/dist/types/window.d.ts +1 -1
  461. package/dist/types/window.js +1 -1
  462. package/dist/types/window.js.map +1 -1
  463. package/dist/vendor/@jinn-network/sdk/dist/checkpoint.d.ts +1 -1
  464. package/dist/vendor/@jinn-network/sdk/dist/checkpoint.js +1 -1
  465. package/dist/vendor/@jinn-network/sdk/dist/contracts.d.ts +3 -2
  466. package/dist/vendor/@jinn-network/sdk/dist/contracts.js +49 -0
  467. package/dist/vendor/@jinn-network/sdk/dist/jinn-repo.d.ts +44 -0
  468. package/dist/vendor/@jinn-network/sdk/dist/jinn-repo.js +25 -0
  469. package/dist/vendor/@jinn-network/sdk/dist/json-schema.d.ts +1 -1
  470. package/dist/vendor/@jinn-network/sdk/dist/json-schema.js +1 -1
  471. package/dist/vendor/@jinn-network/sdk/dist/payloads/jinn-repo.d.ts +38 -0
  472. package/dist/vendor/@jinn-network/sdk/dist/payloads/jinn-repo.js +22 -0
  473. package/dist/vendor/@jinn-network/sdk/dist/payloads/prediction-v1.d.ts +1 -1
  474. package/dist/vendor/@jinn-network/sdk/dist/payloads/prediction-v1.js +1 -1
  475. package/dist/vendor/@jinn-network/sdk/dist/payloads/session-derived.d.ts +1 -1
  476. package/dist/vendor/@jinn-network/sdk/dist/payloads/session-derived.js +1 -1
  477. package/dist/vendor/@jinn-network/sdk/dist/payloads/swe-rebench-v2.d.ts +109 -2
  478. package/dist/vendor/@jinn-network/sdk/dist/payloads/swe-rebench-v2.js +26 -2
  479. package/dist/vendor/@jinn-network/sdk/dist/prediction-v1.d.ts +1 -1
  480. package/dist/vendor/@jinn-network/sdk/dist/prediction-v1.js +1 -1
  481. package/dist/vendor/@jinn-network/sdk/dist/solvernets/jinn-repo.d.ts +4 -0
  482. package/dist/vendor/@jinn-network/sdk/dist/solvernets/jinn-repo.js +2 -0
  483. package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.d.ts +1 -1
  484. package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.js +1 -1
  485. package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2-held-out-slate.d.ts +65 -0
  486. package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2-held-out-slate.js +123 -0
  487. package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2.d.ts +2 -2
  488. package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2.js +1 -1
  489. package/dist/vendor/@jinn-network/sdk/dist/swe-rebench-v2.d.ts +1 -1
  490. package/dist/vendor/@jinn-network/sdk/dist/swe-rebench-v2.js +1 -1
  491. package/dist/vendor/@jinn-network/sdk/package.json +9 -1
  492. package/docker-compose.yml +3 -2
  493. package/package.json +36 -26
  494. package/plugins/jinn-repo-runtime/.claude-plugin/plugin.json +5 -0
  495. package/plugins/jinn-repo-runtime/.codex-plugin/plugin.json +39 -0
  496. package/plugins/jinn-repo-runtime/README.md +27 -0
  497. package/plugins/jinn-repo-runtime/hooks/hooks.json +16 -0
  498. package/plugins/jinn-repo-runtime/hooks/session-start +73 -0
  499. package/plugins/jinn-repo-runtime/jinn.plugin.json +11 -0
  500. package/plugins/jinn-repo-runtime/skills/task/SKILL.md +92 -0
  501. package/plugins/learner/.claude-plugin/plugin.json +1 -1
  502. package/plugins/learner/.codex-plugin/plugin.json +1 -1
  503. package/plugins/learner/hooks/session-start +30 -1
  504. package/plugins/learner/skills/learn/consolidator-prompt.md +4 -0
  505. package/plugins/swe-rebench-v2-runtime/hooks/hooks.json +16 -0
  506. package/plugins/swe-rebench-v2-runtime/hooks/session-start +74 -0
  507. package/deployments/deployment-jinn-mvi-l1-sepolia-fast.json +0 -55
  508. package/deployments/deployment-jinn-mvi-l1-sepolia.json +0 -55
  509. package/deployments/deployment-jinn-mvi-l2-baseSepolia.json +0 -13
  510. package/deployments/deployment-jinn-testnet-faucet-baseSepolia-fast.json +0 -15
  511. package/dist/daemon/jinn-claim-loop-canonical.d.ts +0 -207
  512. package/dist/daemon/jinn-claim-loop-canonical.js +0 -296
  513. package/dist/daemon/jinn-claim-loop-canonical.js.map +0 -1
  514. package/dist/daemon/jinn-claim-loop-mock.d.ts +0 -61
  515. package/dist/daemon/jinn-claim-loop-mock.js +0 -122
  516. package/dist/daemon/jinn-claim-loop-mock.js.map +0 -1
  517. package/dist/daemon/jinn-claim-loop-wiring.d.ts +0 -33
  518. package/dist/daemon/jinn-claim-loop-wiring.js +0 -40
  519. package/dist/daemon/jinn-claim-loop-wiring.js.map +0 -1
  520. package/dist/daemon/jinn-claim-loop.d.ts +0 -130
  521. package/dist/daemon/jinn-claim-loop.js +0 -328
  522. package/dist/daemon/jinn-claim-loop.js.map +0 -1
  523. package/dist/dashboard/assets/index-CzKxvMcU.css +0 -32
  524. package/dist/dashboard/assets/index-yVemxHot.js +0 -351
  525. package/dist/earning/jinn-rewards.js.map +0 -1
  526. package/dist/scripts/donation-consumption-acceptance.d.ts +0 -85
  527. package/dist/scripts/donation-consumption-acceptance.js +0 -1382
  528. package/dist/scripts/donation-consumption-acceptance.js.map +0 -1
  529. package/dist/x402/acquire.d.ts +0 -17
  530. package/dist/x402/acquire.js +0 -49
  531. package/dist/x402/acquire.js.map +0 -1
  532. package/dist/x402/facilitator.d.ts +0 -11
  533. package/dist/x402/facilitator.js +0 -52
  534. package/dist/x402/facilitator.js.map +0 -1
  535. package/dist/x402/handler.d.ts +0 -27
  536. package/dist/x402/handler.js +0 -236
  537. package/dist/x402/handler.js.map +0 -1
@@ -1,12 +1,13 @@
1
1
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
2
2
  import { homedir } from 'node:os';
3
3
  import { dirname, join } from 'node:path';
4
- import { z } from 'zod';
4
+ import { z } from 'zod/v3';
5
5
  import { stage1MinMasterEth } from '../earning/bootstrap.js';
6
6
  import { getChainConfig } from '../earning/contracts.js';
7
7
  import { FleetStateStore } from '../earning/store.js';
8
8
  import { decryptMnemonic, encryptMnemonic } from '../earning/wallet.js';
9
9
  import { DEFAULT_FAUCET_LOOP_TIMEOUT_MS, computeFaucetDripCap, requestTestnetFunding, } from '../earning/faucet.js';
10
+ import { computeTopupQuota, readFaucetTopupState, writeFaucetTopupRecord, } from '../earning/faucet-topup-store.js';
10
11
  import { createJinnPublicClient } from '../earning/viem-clients.js';
11
12
  import { detectAuthContext, probeClaudeAuth } from '../preflight/claude-auth.js';
12
13
  import { checkClaudeBinary } from '../preflight/claude-binary.js';
@@ -31,6 +32,43 @@ export function addSetupRoutes(app, config = {}) {
31
32
  const persistConfigValue = config.persistConfigValue ?? persistTopLevelConfigValue;
32
33
  const currentClaudePath = () => config.getClaudePath?.() ?? config.claudePath ?? 'claude';
33
34
  let installInFlight = null;
35
+ // Issue #560 H1: per-address guard so two concurrent batch POSTs for the
36
+ // same wallet can't both read `callsRemaining` before either persists and
37
+ // run up to 2 × dailyCap drips. Mirrors the `installInFlight` dedupe idiom.
38
+ const batchDripInFlight = new Set();
39
+ const resolveEarningDir = () => config.earningDir ??
40
+ process.env['JINN_EARNING_DIR'] ??
41
+ join(process.env['HOME'] ?? homedir(), '.jinn-client', 'earning');
42
+ // Issue #560 batched-topup defaults. Resolved once so the POST /drip batch
43
+ // branch and GET /drip/quota route can't drift. Production callers always
44
+ // pass these (JinnConfig schema defaults); the `??` covers tests that build
45
+ // addSetupRoutes directly.
46
+ const faucetDailyTopupCap = config.faucetDailyTopupCap ?? 10;
47
+ const faucetTopupCooldownMs = config.faucetTopupCooldownMs ?? 24 * 60 * 60 * 1000;
48
+ /**
49
+ * Shared master-address + chain resolution for the faucet drip + quota
50
+ * routes. Returns either the resolved address/earningDir/chain or a ready
51
+ * `{ error, status }` envelope for the caller to return verbatim.
52
+ */
53
+ const resolveFaucetTarget = () => {
54
+ const earningDir = resolveEarningDir();
55
+ const statePath = join(earningDir, 'earning_state.json');
56
+ if (!existsSync(statePath)) {
57
+ return { ok: false, body: { ok: false, reason: 'fleet_state_missing' }, status: 404 };
58
+ }
59
+ let parsed;
60
+ try {
61
+ parsed = JSON.parse(readFileSync(statePath, 'utf-8'));
62
+ }
63
+ catch {
64
+ return { ok: false, body: { ok: false, reason: 'fleet_state_unreadable' }, status: 500 };
65
+ }
66
+ const address = parsed.master_address;
67
+ if (!address) {
68
+ return { ok: false, body: { ok: false, reason: 'master_address_missing' }, status: 404 };
69
+ }
70
+ return { ok: true, address, earningDir, chain: config.chain ?? parsed.chain };
71
+ };
34
72
  app.get('/v1/auth/claude', async (c) => {
35
73
  const cwd = process.cwd();
36
74
  const context = detectAuthContext({ cwd, configuredMode: config.runtimeMode });
@@ -92,27 +130,16 @@ export function addSetupRoutes(app, config = {}) {
92
130
  // rejects.
93
131
  app.post('/v1/setup/drip', async (c) => {
94
132
  const singleDrip = c.req.query('singleDrip') === 'true';
95
- const earningDir = config.earningDir ??
96
- process.env['JINN_EARNING_DIR'] ??
97
- join(process.env['HOME'] ?? homedir(), '.jinn-client', 'earning');
98
- const statePath = join(earningDir, 'earning_state.json');
99
- if (!existsSync(statePath)) {
100
- return c.json({ ok: false, reason: 'fleet_state_missing' }, 404);
101
- }
102
- let parsed;
103
- try {
104
- parsed = JSON.parse(readFileSync(statePath, 'utf-8'));
105
- }
106
- catch {
107
- return c.json({ ok: false, reason: 'fleet_state_unreadable' }, 500);
108
- }
109
- const address = parsed.master_address;
110
- if (!address) {
111
- return c.json({ ok: false, reason: 'master_address_missing' }, 404);
112
- }
113
- const chain = config.chain ?? parsed.chain;
133
+ // Issue #560: `?batch=true` issues drips up to the daily cap in one click.
134
+ // If both batch and singleDrip are present, singleDrip wins (decided).
135
+ const batch = c.req.query('batch') === 'true' && !singleDrip;
136
+ const resolved = resolveFaucetTarget();
137
+ if (!resolved.ok) {
138
+ return c.json(resolved.body, resolved.status);
139
+ }
140
+ const { address, earningDir, chain } = resolved;
114
141
  if (chain !== 'base-sepolia') {
115
- return c.json({ ok: false, reason: 'drip_only_on_base_sepolia', chain: chain ?? parsed.chain }, 409);
142
+ return c.json({ ok: false, reason: 'drip_only_on_base_sepolia', chain }, 409);
116
143
  }
117
144
  const requestFunding = config.requestFunding ?? requestTestnetFunding;
118
145
  const interDripPauseMs = config.interDripPauseMs ?? 1_000;
@@ -132,11 +159,12 @@ export function addSetupRoutes(app, config = {}) {
132
159
  : null;
133
160
  const now = config.now ?? Date.now;
134
161
  const faucetLoopTimeoutMs = config.faucetLoopTimeoutMs ?? DEFAULT_FAUCET_LOOP_TIMEOUT_MS;
135
- const getBalance = async () => {
136
- if (!publicClient)
137
- return null;
138
- return publicClient.getBalance({ address: address });
139
- };
162
+ const getBalance = config.getBalance ??
163
+ (async () => {
164
+ if (!publicClient)
165
+ return null;
166
+ return publicClient.getBalance({ address: address });
167
+ });
140
168
  const persistFundingGate = (balanceWei) => {
141
169
  if (targetWei === null || balanceWei === null)
142
170
  return;
@@ -177,7 +205,10 @@ export function addSetupRoutes(app, config = {}) {
177
205
  ok: false,
178
206
  address,
179
207
  txHashes,
180
- attempts: 0,
208
+ // One funding attempt was made (requestFunding ran once above),
209
+ // even though it failed — report 1 to stay consistent with the
210
+ // success path's `attempts: txHashes.length`.
211
+ attempts: 1,
181
212
  balanceWei: balanceWei?.toString(),
182
213
  targetWei: targetWei?.toString(),
183
214
  reason: result.reason,
@@ -203,12 +234,106 @@ export function addSetupRoutes(app, config = {}) {
203
234
  reason: txHashes.length > 0 ? undefined : 'faucet_did_not_send',
204
235
  }, txHashes.length > 0 ? 202 : 200);
205
236
  }
237
+ // Batched daily-cap top-up (issue #560). The running-mode Dashboard "Top
238
+ // up from faucet" button issues drips up to the per-wallet daily cap in
239
+ // ONE click, then disables itself until a cooldown elapses since the
240
+ // first call of that batch. State persists per master address so the cap
241
+ // survives a restart. Distinct from the bootstrap loop below (which
242
+ // chases the Stage-1 ETH target); this branch caps by COUNT, not balance.
243
+ if (batch) {
244
+ const lockKey = address.toLowerCase();
245
+ // H1: reject a concurrent batch for the same wallet rather than letting
246
+ // both read `callsRemaining` and double-spend the cap. The lock is
247
+ // released in the `finally` below.
248
+ if (batchDripInFlight.has(lockKey)) {
249
+ return c.json({ ok: false, address, reason: 'batch_in_progress' }, 409);
250
+ }
251
+ batchDripInFlight.add(lockKey);
252
+ try {
253
+ const dailyCap = faucetDailyTopupCap;
254
+ const cooldownMs = faucetTopupCooldownMs;
255
+ const nowMs = now();
256
+ const existing = readFaucetTopupState(earningDir).byAddress[address.toLowerCase()];
257
+ const quota = computeTopupQuota({ record: existing, dailyCap, cooldownMs, now: nowMs });
258
+ // Cap reached and the window is still active → cooldown; do not call
259
+ // the faucet.
260
+ if (quota.callsRemaining === 0) {
261
+ return c.json({
262
+ ok: false,
263
+ address,
264
+ reason: 'topup_cooldown',
265
+ dailyCap,
266
+ callsRemaining: 0,
267
+ cooldownExpiresAt: quota.cooldownExpiresAt,
268
+ }, 200);
269
+ }
270
+ // Window elapsed (or no record) → fresh batch starting now. Otherwise
271
+ // continue the active batch from its recorded start.
272
+ const startingFresh = !quota.windowActive;
273
+ let callsToday = startingFresh ? 0 : existing?.callsToday ?? 0;
274
+ const batchStartedAt = startingFresh ? nowMs : existing?.batchStartedAt ?? nowMs;
275
+ let rateLimited = false;
276
+ for (let i = 0; i < quota.callsRemaining; i++) {
277
+ const result = await requestFunding(address, 'base-sepolia');
278
+ if (!result.ok) {
279
+ // A rate-limit stops the batch but is not an error (operator can
280
+ // retry after the CDP per-address window). Any other failure also
281
+ // stops the batch and surfaces its reason.
282
+ if (result.rateLimited)
283
+ rateLimited = true;
284
+ if (txHashes.length === 0) {
285
+ return c.json({
286
+ ok: false,
287
+ address,
288
+ txHashes,
289
+ attempts: 0,
290
+ dailyCap,
291
+ callsRemaining: dailyCap - callsToday,
292
+ cooldownExpiresAt: batchStartedAt + cooldownMs,
293
+ reason: result.reason,
294
+ rateLimited: result.rateLimited,
295
+ }, 200);
296
+ }
297
+ break;
298
+ }
299
+ if (result.txHash)
300
+ txHashes.push(result.txHash);
301
+ callsToday += 1;
302
+ // Persist write-through after each success so a crash mid-batch does
303
+ // not re-grant the whole cap.
304
+ writeFaucetTopupRecord(earningDir, address, { callsToday, batchStartedAt });
305
+ }
306
+ return c.json({
307
+ ok: txHashes.length > 0,
308
+ address,
309
+ txHashes,
310
+ attempts: txHashes.length,
311
+ dailyCap,
312
+ callsRemaining: Math.max(0, dailyCap - callsToday),
313
+ cooldownExpiresAt: batchStartedAt + cooldownMs,
314
+ ...(rateLimited ? { rateLimited: true } : {}),
315
+ }, txHashes.length > 0 ? 202 : 200);
316
+ }
317
+ finally {
318
+ batchDripInFlight.delete(lockKey);
319
+ }
320
+ }
206
321
  const maxFaucetIters = computeFaucetDripCap({
207
322
  override: config.maxFaucetIters,
208
323
  targetWei,
209
324
  balanceWei,
210
325
  });
211
326
  const deadline = now() + faucetLoopTimeoutMs;
327
+ // requestFunding returns synchronously with a txHash and there is no
328
+ // on-chain confirmation to wait for between drips, so the happy path
329
+ // carries NO fixed inter-drip sleep (issue #984 work unit 1). A transient
330
+ // CDP 429 backs off and retries within the session instead of ending it
331
+ // on the first throttle; the wall-clock deadline stays the safety rail.
332
+ // Backoff is skippable in tests by passing faucetRateLimitBackoffMs: 0.
333
+ const MAX_RATE_LIMIT_RETRIES = 3;
334
+ const RATE_LIMIT_BACKOFF_MS = 15_000;
335
+ const rateLimitBackoffMs = config.faucetRateLimitBackoffMs ?? RATE_LIMIT_BACKOFF_MS;
336
+ let rateLimitRetries = 0;
212
337
  for (let i = 0; i < maxFaucetIters; i++) {
213
338
  if (now() >= deadline) {
214
339
  return c.json({
@@ -224,6 +349,11 @@ export function addSetupRoutes(app, config = {}) {
224
349
  }
225
350
  const result = await requestFunding(address, 'base-sepolia');
226
351
  if (!result.ok) {
352
+ if (result.rateLimited && rateLimitRetries < MAX_RATE_LIMIT_RETRIES) {
353
+ rateLimitRetries++;
354
+ await new Promise((r) => setTimeout(r, rateLimitBackoffMs));
355
+ continue;
356
+ }
227
357
  return c.json({
228
358
  ok: false,
229
359
  address,
@@ -238,21 +368,24 @@ export function addSetupRoutes(app, config = {}) {
238
368
  }
239
369
  if (result.txHash)
240
370
  txHashes.push(result.txHash);
241
- if (i < maxFaucetIters - 1) {
242
- await new Promise((r) => setTimeout(r, interDripPauseMs));
243
- }
244
- balanceWei = await getBalance();
245
- persistFundingGate(balanceWei);
246
- if (targetWei !== null && balanceWei !== null && balanceWei >= targetWei) {
247
- return c.json({
248
- ok: true,
249
- address,
250
- txHash: result.txHash,
251
- txHashes,
252
- attempts: i + 1,
253
- balanceWei: balanceWei.toString(),
254
- targetWei: targetWei.toString(),
255
- }, 202);
371
+ // Balance is no longer read once per drip — only every 5th drip and on
372
+ // the final iteration. Target/early-exit is only checked on iterations
373
+ // where balance was just refreshed.
374
+ const refreshBalance = (i + 1) % 5 === 0 || i === maxFaucetIters - 1;
375
+ if (refreshBalance) {
376
+ balanceWei = await getBalance();
377
+ persistFundingGate(balanceWei);
378
+ if (targetWei !== null && balanceWei !== null && balanceWei >= targetWei) {
379
+ return c.json({
380
+ ok: true,
381
+ address,
382
+ txHash: result.txHash,
383
+ txHashes,
384
+ attempts: i + 1,
385
+ balanceWei: balanceWei.toString(),
386
+ targetWei: targetWei.toString(),
387
+ }, 202);
388
+ }
256
389
  }
257
390
  }
258
391
  return c.json({
@@ -273,6 +406,35 @@ export function addSetupRoutes(app, config = {}) {
273
406
  }, 500);
274
407
  }
275
408
  });
409
+ // GET /v1/setup/drip/quota — issue #560. Reports the operator's remaining
410
+ // batched top-up quota for today and the cooldown expiry, so the WalletCard
411
+ // can render "{n} of {cap} top-ups left today" and disable the button when
412
+ // the cap is reached. Soft-renders the full cap when no fleet state exists
413
+ // yet (pre-bootstrap SPA) so the card still has something to show.
414
+ app.get('/v1/setup/drip/quota', async (c) => {
415
+ const dailyCap = faucetDailyTopupCap;
416
+ const cooldownMs = faucetTopupCooldownMs;
417
+ const now = config.now ?? Date.now;
418
+ const resolved = resolveFaucetTarget();
419
+ if (!resolved.ok) {
420
+ // Pre-bootstrap (no fleet state / no master address): soft-render the
421
+ // full cap so the SPA can render the card before the wallet exists.
422
+ return c.json({ ok: true, dailyCap, callsRemaining: dailyCap, cooldownExpiresAt: null });
423
+ }
424
+ const { address, earningDir, chain } = resolved;
425
+ if (chain !== 'base-sepolia') {
426
+ return c.json({ ok: false, reason: 'drip_only_on_base_sepolia', chain }, 409);
427
+ }
428
+ const record = readFaucetTopupState(earningDir).byAddress[address.toLowerCase()];
429
+ const quota = computeTopupQuota({ record, dailyCap, cooldownMs, now: now() });
430
+ return c.json({
431
+ ok: true,
432
+ address,
433
+ dailyCap,
434
+ callsRemaining: quota.callsRemaining,
435
+ cooldownExpiresAt: quota.cooldownExpiresAt,
436
+ });
437
+ });
276
438
  // The legacy POST /v1/setup/solvernets/:name route persisted into the
277
439
  // now-removed `solverNets` config field. Issue #421 retired the route;
278
440
  // operators join SolverNets via POST /v1/operator/join/:cid (or the SPA
@@ -397,6 +559,7 @@ export function addSetupRoutes(app, config = {}) {
397
559
  joinedSolverNets[k] = entry;
398
560
  }
399
561
  const previous = joinedSolverNets[cid];
562
+ const previousName = typeof previous?.['name'] === 'string' ? previous['name'] : undefined;
400
563
  const previousContractRecord = isRecord(previous?.['contract'])
401
564
  ? previous?.['contract']
402
565
  : undefined;
@@ -412,14 +575,30 @@ export function addSetupRoutes(app, config = {}) {
412
575
  manifestCid: cid,
413
576
  roles,
414
577
  };
415
- if (typeof body.name === 'string')
416
- entry['name'] = body.name;
578
+ // A partial upsert (e.g. #983's Enter-dashboard second join, which sends
579
+ // only roles+harness+model) must not drop a `name` a prior join wrote:
580
+ // the live join applier (daemon/join-applier.ts) keys the in-memory
581
+ // SolverNet registry by `name`, so dropping it here makes the applier's
582
+ // `unregister(entry.name ?? cid)` miss the prior registration and insert a
583
+ // phantom duplicate keyed by cid — `forSolverType` then resolves the stale
584
+ // first entry, silently running the wrong harness/model live. Mirror the
585
+ // `previousContract` fallback below.
586
+ const nextName = typeof body.name === 'string' ? body.name : previousName;
587
+ if (nextName !== undefined)
588
+ entry['name'] = nextName;
417
589
  if (contract ?? previousContract)
418
590
  entry['contract'] = contract ?? previousContract;
419
591
  // `harness` / `model` / `plugins` are solver-side. Persist whatever the
420
592
  // SPA sent; the daemon-side runtime ignores them when only the
421
593
  // `evaluator` role is selected (evaluator harness comes from
422
594
  // `manifest.contract.evaluationFunction.implementation`).
595
+ //
596
+ // Unlike `name` / `contract` above, these are intentionally taken from the
597
+ // request body WITHOUT a previous-value fallback: the #983 onboarding
598
+ // Enter-dashboard step always sends harness+model, so this is correct for
599
+ // that flow. Callers doing a PARTIAL re-join that omits these fields will
600
+ // drop the prior values — any caller wanting them preserved must include
601
+ // them in the body.
423
602
  if (typeof body.harness === 'string')
424
603
  entry['harness'] = canonicalHarnessName(body.harness);
425
604
  if (typeof body.model === 'string')
@@ -439,13 +618,47 @@ export function addSetupRoutes(app, config = {}) {
439
618
  detail: err instanceof Error ? err.message : String(err),
440
619
  }, 500);
441
620
  }
621
+ // #1037: hot-apply to the running daemon if the applier is wired and the
622
+ // daemon has reached running mode. The on-disk write above already
623
+ // succeeded, so any live-apply failure (holder empty pre-running, or the
624
+ // applier throwing) degrades gracefully to restartRequired:true.
625
+ let restartRequired = true;
626
+ const applier = config.joinApplier?.current;
627
+ if (applier) {
628
+ try {
629
+ await applier(entry);
630
+ restartRequired = false;
631
+ }
632
+ catch (err) {
633
+ console.error('[join] live apply failed; operator must restart to pick up the join:', err instanceof Error ? err.message : err);
634
+ }
635
+ }
442
636
  return c.json({
443
637
  ok: true,
444
- restartRequired: true,
638
+ restartRequired,
445
639
  manifestCid: cid,
446
640
  config: entry,
447
641
  });
448
642
  });
643
+ // POST /v1/operator/onboarding-complete — #983. The operator clicked
644
+ // "Enter dashboard" at the end of the guided onboarding takeover (gated SPA-
645
+ // side on ≥1 join AND a ready solver harness AND a selected model). Persists
646
+ // the flag to disk and mutates the in-memory config so GET /v1/bootstrap
647
+ // reflects it live; App.tsx then drops the takeover for <Operating>.
648
+ app.post('/v1/operator/onboarding-complete', (c) => {
649
+ const cfgPath = config.configPath ?? DEFAULT_CONFIG_PATH;
650
+ try {
651
+ persistConfigValue('onboardingComplete', true, cfgPath);
652
+ }
653
+ catch (err) {
654
+ return c.json({
655
+ error: 'config_write_failed',
656
+ detail: err instanceof Error ? err.message : String(err),
657
+ }, 500);
658
+ }
659
+ config.markOnboardingComplete?.();
660
+ return c.json({ ok: true, onboardingComplete: true });
661
+ });
449
662
  // DELETE /v1/operator/join/:cid — operator leaves a joined SolverNet.
450
663
  // Removes the manifest-keyed entry from `config.joinedSolverNets`. Returns
451
664
  // 404 if no such entry exists so the SPA can distinguish "I left
@@ -1 +1 @@
1
- {"version":3,"file":"setup-endpoints.js","sourceRoot":"","sources":["../../src/api/setup-endpoints.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-endpoints.js","sourceRoot":"","sources":["../../src/api/setup-endpoints.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { randomUUID } from 'node:crypto';
2
- import { z } from 'zod';
2
+ import { z } from 'zod/v3';
3
3
  import { getSolverNetContract, } from '../vendor/@jinn-network/sdk/dist/solvernets/index.js';
4
4
  import { DraftSolverNetRecordSchema, LaunchedSolverNetRecordSchema, } from '../solvernets/store.js';
5
5
  import { manifestHash, signManifest, } from '../solvernets/manifest.js';
@@ -368,6 +368,9 @@ function summarizeLaunchedRecord(record, manifest) {
368
368
  verdictPriceWei: manifest.verdictPriceWei,
369
369
  openRoles: manifest.openRoles,
370
370
  anchorBlock: record.registry.metadataBlockNumber ?? 0,
371
+ // Issue #985: derive the indexed chain id from the manifest network so this
372
+ // local-record projection matches the registry/discovery summary shape.
373
+ chainId: manifest.network === 'base' ? 8453 : 84532,
371
374
  };
372
375
  }
373
376
  /**