@jinn-network/client 0.1.6 → 0.1.7-canary.17a8ecb8

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 (351) 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 -1
  7. package/dist/adapters/mech/adapter.js +268 -57
  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/api/activity-events-endpoint.d.ts +14 -0
  24. package/dist/api/activity-events-endpoint.js +59 -0
  25. package/dist/api/activity-events-endpoint.js.map +1 -0
  26. package/dist/api/admin-endpoint.d.ts +15 -3
  27. package/dist/api/admin-endpoint.js +24 -2
  28. package/dist/api/admin-endpoint.js.map +1 -1
  29. package/dist/api/bootstrap-endpoint.d.ts +1 -2
  30. package/dist/api/bootstrap-endpoint.js +49 -1
  31. package/dist/api/bootstrap-endpoint.js.map +1 -1
  32. package/dist/api/codex-doctor-endpoint.d.ts +73 -0
  33. package/dist/api/codex-doctor-endpoint.js +177 -0
  34. package/dist/api/codex-doctor-endpoint.js.map +1 -0
  35. package/dist/api/discovery-endpoint.d.ts +1 -0
  36. package/dist/api/discovery-endpoint.js +26 -0
  37. package/dist/api/discovery-endpoint.js.map +1 -1
  38. package/dist/api/fleet-build.d.ts +1 -0
  39. package/dist/api/fleet-build.js +2 -1
  40. package/dist/api/fleet-build.js.map +1 -1
  41. package/dist/api/gather-status.d.ts +14 -0
  42. package/dist/api/gather-status.js +494 -19
  43. package/dist/api/gather-status.js.map +1 -1
  44. package/dist/api/hermes-doctor-endpoint.d.ts +117 -0
  45. package/dist/api/hermes-doctor-endpoint.js +229 -23
  46. package/dist/api/hermes-doctor-endpoint.js.map +1 -1
  47. package/dist/api/launcher-status.d.ts +22 -17
  48. package/dist/api/launcher-status.js +13 -11
  49. package/dist/api/launcher-status.js.map +1 -1
  50. package/dist/api/launcher-tasks.d.ts +1 -1
  51. package/dist/api/launcher-tasks.js +12 -8
  52. package/dist/api/launcher-tasks.js.map +1 -1
  53. package/dist/api/portfolio-v0-build.d.ts +10 -0
  54. package/dist/api/portfolio-v0-build.js +24 -5
  55. package/dist/api/portfolio-v0-build.js.map +1 -1
  56. package/dist/api/prediction-v1-build.d.ts +10 -0
  57. package/dist/api/prediction-v1-build.js +7 -1
  58. package/dist/api/prediction-v1-build.js.map +1 -1
  59. package/dist/api/server.d.ts +31 -1
  60. package/dist/api/server.js +72 -1
  61. package/dist/api/server.js.map +1 -1
  62. package/dist/api/setup-endpoints.d.ts +16 -0
  63. package/dist/api/setup-endpoints.js +89 -135
  64. package/dist/api/setup-endpoints.js.map +1 -1
  65. package/dist/api/setup-retry-endpoint.d.ts +19 -0
  66. package/dist/api/setup-retry-endpoint.js +32 -0
  67. package/dist/api/setup-retry-endpoint.js.map +1 -0
  68. package/dist/api/solvernets-endpoints.d.ts +8 -0
  69. package/dist/api/solvernets-endpoints.js +71 -43
  70. package/dist/api/solvernets-endpoints.js.map +1 -1
  71. package/dist/api/status-build.d.ts +112 -0
  72. package/dist/api/status-build.js +98 -18
  73. package/dist/api/status-build.js.map +1 -1
  74. package/dist/api/task-run-routing.d.ts +7 -0
  75. package/dist/api/task-run-routing.js +12 -0
  76. package/dist/api/task-run-routing.js.map +1 -0
  77. package/dist/api/task-runs-build.d.ts +21 -0
  78. package/dist/api/task-runs-build.js +14 -1
  79. package/dist/api/task-runs-build.js.map +1 -1
  80. package/dist/build-info.json +4 -4
  81. package/dist/build-meta.json +1 -1
  82. package/dist/chain-read-errors.d.ts +10 -0
  83. package/dist/chain-read-errors.js +15 -0
  84. package/dist/chain-read-errors.js.map +1 -1
  85. package/dist/cli/commands/auth.js +1 -1
  86. package/dist/cli/commands/auth.js.map +1 -1
  87. package/dist/cli/commands/create.js +3 -2
  88. package/dist/cli/commands/create.js.map +1 -1
  89. package/dist/cli/commands/doctor.d.ts +2 -0
  90. package/dist/cli/commands/doctor.js +2 -0
  91. package/dist/cli/commands/doctor.js.map +1 -1
  92. package/dist/cli/commands/rewards.js +11 -7
  93. package/dist/cli/commands/rewards.js.map +1 -1
  94. package/dist/cli/commands/solver-nets.js +101 -15
  95. package/dist/cli/commands/solver-nets.js.map +1 -1
  96. package/dist/cli/commands/solver-plugins-block.d.ts +33 -0
  97. package/dist/cli/commands/solver-plugins-block.js +118 -0
  98. package/dist/cli/commands/solver-plugins-block.js.map +1 -0
  99. package/dist/cli/commands/solver-plugins-feedback.d.ts +72 -0
  100. package/dist/cli/commands/solver-plugins-feedback.js +262 -0
  101. package/dist/cli/commands/solver-plugins-feedback.js.map +1 -0
  102. package/dist/cli/commands/solver-plugins-read.d.ts +54 -0
  103. package/dist/cli/commands/solver-plugins-read.js +259 -0
  104. package/dist/cli/commands/solver-plugins-read.js.map +1 -0
  105. package/dist/cli/commands/solver-plugins.d.ts +35 -0
  106. package/dist/cli/commands/solver-plugins.js +399 -2
  107. package/dist/cli/commands/solver-plugins.js.map +1 -1
  108. package/dist/cli/commands/status.js +1 -1
  109. package/dist/cli/commands/status.js.map +1 -1
  110. package/dist/cli/commands/tasks.js +101 -11
  111. package/dist/cli/commands/tasks.js.map +1 -1
  112. package/dist/cli/commands/update.d.ts +10 -0
  113. package/dist/cli/commands/update.js +36 -0
  114. package/dist/cli/commands/update.js.map +1 -1
  115. package/dist/cli/introspection-context.js +5 -0
  116. package/dist/cli/introspection-context.js.map +1 -1
  117. package/dist/cli/task-native-readiness.d.ts +10 -1
  118. package/dist/cli/task-native-readiness.js +30 -6
  119. package/dist/cli/task-native-readiness.js.map +1 -1
  120. package/dist/config.d.ts +273 -235
  121. package/dist/config.js +305 -114
  122. package/dist/config.js.map +1 -1
  123. package/dist/daemon/checkpoint-loop.d.ts +48 -0
  124. package/dist/daemon/checkpoint-loop.js +76 -0
  125. package/dist/daemon/checkpoint-loop.js.map +1 -0
  126. package/dist/daemon/creator.d.ts +1 -1
  127. package/dist/daemon/creator.js +7 -3
  128. package/dist/daemon/creator.js.map +1 -1
  129. package/dist/daemon/daemon.d.ts +22 -0
  130. package/dist/daemon/daemon.js +156 -23
  131. package/dist/daemon/daemon.js.map +1 -1
  132. package/dist/daemon/eviction-loop.d.ts +40 -0
  133. package/dist/daemon/eviction-loop.js +67 -0
  134. package/dist/daemon/eviction-loop.js.map +1 -0
  135. package/dist/daemon/gate-logger.d.ts +9 -0
  136. package/dist/daemon/gate-logger.js +2 -0
  137. package/dist/daemon/gate-logger.js.map +1 -0
  138. package/dist/daemon/jinn-claim-loop-wiring.d.ts +33 -0
  139. package/dist/daemon/jinn-claim-loop-wiring.js +40 -0
  140. package/dist/daemon/jinn-claim-loop-wiring.js.map +1 -0
  141. package/dist/daemon/jinn-claim-loop.d.ts +24 -17
  142. package/dist/daemon/jinn-claim-loop.js +77 -23
  143. package/dist/daemon/jinn-claim-loop.js.map +1 -1
  144. package/dist/daemon/readiness-gate.d.ts +1 -4
  145. package/dist/daemon/readiness-gate.js.map +1 -1
  146. package/dist/daemon/skip-log-dedup.d.ts +69 -0
  147. package/dist/daemon/skip-log-dedup.js +106 -0
  148. package/dist/daemon/skip-log-dedup.js.map +1 -0
  149. package/dist/daemon/spend-cap-gate.d.ts +40 -0
  150. package/dist/daemon/spend-cap-gate.js +46 -0
  151. package/dist/daemon/spend-cap-gate.js.map +1 -0
  152. package/dist/dashboard/assets/index-8yHQgi7p.js +345 -0
  153. package/dist/dashboard/assets/index-BOBhJ76-.css +32 -0
  154. package/dist/dashboard/index.html +2 -2
  155. package/dist/discovery/factory.d.ts +17 -5
  156. package/dist/discovery/factory.js +46 -18
  157. package/dist/discovery/factory.js.map +1 -1
  158. package/dist/discovery/http.js +142 -3
  159. package/dist/discovery/http.js.map +1 -1
  160. package/dist/discovery/onchain.d.ts +5 -0
  161. package/dist/discovery/onchain.js +407 -15
  162. package/dist/discovery/onchain.js.map +1 -1
  163. package/dist/discovery/types.d.ts +45 -1
  164. package/dist/discovery/types.js +8 -10
  165. package/dist/discovery/types.js.map +1 -1
  166. package/dist/discovery/with-fallback.d.ts +7 -0
  167. package/dist/discovery/with-fallback.js +10 -0
  168. package/dist/discovery/with-fallback.js.map +1 -1
  169. package/dist/earning/bootstrap.d.ts +92 -1
  170. package/dist/earning/bootstrap.js +203 -63
  171. package/dist/earning/bootstrap.js.map +1 -1
  172. package/dist/earning/contracts.d.ts +14 -0
  173. package/dist/earning/contracts.js +17 -5
  174. package/dist/earning/contracts.js.map +1 -1
  175. package/dist/earning/funding-plan.js +27 -18
  176. package/dist/earning/funding-plan.js.map +1 -1
  177. package/dist/earning/jinn-rewards.d.ts +46 -0
  178. package/dist/earning/jinn-rewards.js +32 -0
  179. package/dist/earning/jinn-rewards.js.map +1 -1
  180. package/dist/earning/safe-adapter.d.ts +2 -0
  181. package/dist/earning/safe-adapter.js +37 -11
  182. package/dist/earning/safe-adapter.js.map +1 -1
  183. package/dist/earning/store.d.ts +8 -0
  184. package/dist/earning/store.js.map +1 -1
  185. package/dist/earning/testnet-setup-migration.d.ts +12 -0
  186. package/dist/earning/testnet-setup-migration.js +27 -1
  187. package/dist/earning/testnet-setup-migration.js.map +1 -1
  188. package/dist/earning/types.d.ts +21 -6
  189. package/dist/earning/viem-clients.d.ts +11 -4
  190. package/dist/earning/viem-clients.js +14 -5
  191. package/dist/earning/viem-clients.js.map +1 -1
  192. package/dist/erc8004/reputation.d.ts +8 -0
  193. package/dist/erc8004/reputation.js +22 -3
  194. package/dist/erc8004/reputation.js.map +1 -1
  195. package/dist/events/types.d.ts +2 -2
  196. package/dist/harnesses/cost-estimates.d.ts +145 -0
  197. package/dist/harnesses/cost-estimates.js +297 -0
  198. package/dist/harnesses/cost-estimates.js.map +1 -0
  199. package/dist/harnesses/engine/engine.d.ts +72 -0
  200. package/dist/harnesses/engine/engine.js +118 -8
  201. package/dist/harnesses/engine/engine.js.map +1 -1
  202. package/dist/harnesses/engine/persistence.d.ts +51 -1
  203. package/dist/harnesses/engine/persistence.js +118 -5
  204. package/dist/harnesses/engine/persistence.js.map +1 -1
  205. package/dist/harnesses/engine/work-dir-reaper.d.ts +65 -0
  206. package/dist/harnesses/engine/work-dir-reaper.js +100 -0
  207. package/dist/harnesses/engine/work-dir-reaper.js.map +1 -0
  208. package/dist/harnesses/impls/hermes-agent/adapter.js +40 -0
  209. package/dist/harnesses/impls/hermes-agent/adapter.js.map +1 -1
  210. package/dist/harnesses/impls/hermes-agent/bootstrap.d.ts +20 -0
  211. package/dist/harnesses/impls/hermes-agent/bootstrap.js +40 -6
  212. package/dist/harnesses/impls/hermes-agent/bootstrap.js.map +1 -1
  213. package/dist/harnesses/impls/hermes-agent/harness.d.ts +59 -1
  214. package/dist/harnesses/impls/hermes-agent/harness.js +104 -0
  215. package/dist/harnesses/impls/hermes-agent/harness.js.map +1 -1
  216. package/dist/harnesses/impls/index.d.ts +7 -0
  217. package/dist/harnesses/impls/index.js +16 -1
  218. package/dist/harnesses/impls/index.js.map +1 -1
  219. package/dist/harnesses/impls/learner/harness.d.ts +38 -4
  220. package/dist/harnesses/impls/learner/harness.js +96 -2
  221. package/dist/harnesses/impls/learner/harness.js.map +1 -1
  222. package/dist/harnesses/impls/learner/plugin-path.d.ts +0 -13
  223. package/dist/harnesses/impls/learner/plugin-path.js +35 -15
  224. package/dist/harnesses/impls/learner/plugin-path.js.map +1 -1
  225. package/dist/harnesses/impls/learner/types.d.ts +11 -0
  226. package/dist/harnesses/impls/stub.d.ts +58 -0
  227. package/dist/harnesses/impls/stub.js +89 -0
  228. package/dist/harnesses/impls/stub.js.map +1 -0
  229. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.d.ts +69 -50
  230. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js +178 -93
  231. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js.map +1 -1
  232. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.d.ts +12 -1
  233. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js +121 -7
  234. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js.map +1 -1
  235. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.d.ts +88 -4
  236. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js +143 -22
  237. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js.map +1 -1
  238. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.d.ts +6 -0
  239. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js +1 -1
  240. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js.map +1 -1
  241. package/dist/harnesses/readiness-registry.js +9 -1
  242. package/dist/harnesses/readiness-registry.js.map +1 -1
  243. package/dist/main.js +413 -111
  244. package/dist/main.js.map +1 -1
  245. package/dist/observability/emit-event.d.ts +3 -2
  246. package/dist/observability/emit-event.js +22 -1
  247. package/dist/observability/emit-event.js.map +1 -1
  248. package/dist/operator-errors.d.ts +7 -0
  249. package/dist/operator-errors.js +13 -1
  250. package/dist/operator-errors.js.map +1 -1
  251. package/dist/plugins/learner/.claude-plugin/plugin.json +9 -0
  252. package/dist/plugins/learner/.codex-plugin/plugin.json +39 -0
  253. package/dist/plugins/learner/AGENTS.md +40 -0
  254. package/dist/plugins/learner/CLAUDE.md +33 -0
  255. package/dist/plugins/learner/README.md +59 -0
  256. package/dist/plugins/learner/hooks/hooks.json +16 -0
  257. package/dist/plugins/learner/hooks/session-start +38 -0
  258. package/dist/plugins/learner/skills/learn/SKILL.md +412 -0
  259. package/dist/plugins/learner/skills/learn/analyst-prompt.md +68 -0
  260. package/dist/plugins/learner/skills/learn/consolidator-prompt.md +94 -0
  261. package/dist/plugins/learner/skills/learn/explorer-prompt.md +53 -0
  262. package/dist/plugins/learner/skills/learn/planner-prompt.md +87 -0
  263. package/dist/plugins/learner/skills/learn/promoter-prompt.md +113 -0
  264. package/dist/plugins/learner/skills/learn/step-worker-prompt.md +47 -0
  265. package/dist/plugins/learner/skills/learn/strategist-prompt.md +85 -0
  266. package/dist/preflight/rpc-network.d.ts +40 -0
  267. package/dist/preflight/rpc-network.js +67 -1
  268. package/dist/preflight/rpc-network.js.map +1 -1
  269. package/dist/restart-daemon.d.ts +90 -0
  270. package/dist/restart-daemon.js +95 -0
  271. package/dist/restart-daemon.js.map +1 -0
  272. package/dist/rpc/transport.d.ts +109 -0
  273. package/dist/rpc/transport.js +220 -0
  274. package/dist/rpc/transport.js.map +1 -0
  275. package/dist/scripts/donation-consumption-acceptance.js +7 -28
  276. package/dist/scripts/donation-consumption-acceptance.js.map +1 -1
  277. package/dist/setup/halt-mode.d.ts +14 -0
  278. package/dist/setup/halt-mode.js +17 -0
  279. package/dist/setup/halt-mode.js.map +1 -0
  280. package/dist/solver-nets/prediction-operator-ux.d.ts +1 -2
  281. package/dist/solver-nets/prediction-operator-ux.js +90 -47
  282. package/dist/solver-nets/prediction-operator-ux.js.map +1 -1
  283. package/dist/solver-nets/registry.d.ts +20 -1
  284. package/dist/solver-nets/registry.js +38 -25
  285. package/dist/solver-nets/registry.js.map +1 -1
  286. package/dist/solver-types/_swe-rebench-v2-pool-cache.d.ts +58 -0
  287. package/dist/solver-types/_swe-rebench-v2-pool-cache.js +87 -0
  288. package/dist/solver-types/_swe-rebench-v2-pool-cache.js.map +1 -0
  289. package/dist/solver-types/_swe-rebench-v2-pool.d.ts +9 -2
  290. package/dist/solver-types/_swe-rebench-v2-pool.js +15 -20
  291. package/dist/solver-types/_swe-rebench-v2-pool.js.map +1 -1
  292. package/dist/solver-types/_swe-rebench-v2-substrate.d.ts +1 -0
  293. package/dist/solver-types/_swe-rebench-v2-substrate.js +10 -0
  294. package/dist/solver-types/_swe-rebench-v2-substrate.js.map +1 -1
  295. package/dist/solver-types/_swe-rebench-v2-validated-pool.d.ts +94 -1
  296. package/dist/solver-types/_swe-rebench-v2-validated-pool.js +305 -39
  297. package/dist/solver-types/_swe-rebench-v2-validated-pool.js.map +1 -1
  298. package/dist/solver-types/swe-rebench-v2-auto.d.ts +22 -7
  299. package/dist/solver-types/swe-rebench-v2-auto.js +45 -20
  300. package/dist/solver-types/swe-rebench-v2-auto.js.map +1 -1
  301. package/dist/solver-types/swe-rebench-v2.d.ts +13 -2
  302. package/dist/solver-types/swe-rebench-v2.js +237 -95
  303. package/dist/solver-types/swe-rebench-v2.js.map +1 -1
  304. package/dist/solvernets/daemon-init.d.ts +10 -2
  305. package/dist/solvernets/daemon-init.js +22 -2
  306. package/dist/solvernets/daemon-init.js.map +1 -1
  307. package/dist/solvernets/launched-record-dispatcher.js +35 -7
  308. package/dist/solvernets/launched-record-dispatcher.js.map +1 -1
  309. package/dist/solvernets/store.d.ts +5 -0
  310. package/dist/solvernets/store.js +1 -0
  311. package/dist/solvernets/store.js.map +1 -1
  312. package/dist/spend/credential.d.ts +8 -0
  313. package/dist/spend/credential.js +30 -0
  314. package/dist/spend/credential.js.map +1 -0
  315. package/dist/spend/daemon-config.d.ts +13 -0
  316. package/dist/spend/daemon-config.js +24 -0
  317. package/dist/spend/daemon-config.js.map +1 -0
  318. package/dist/spend/pricing.d.ts +16 -0
  319. package/dist/spend/pricing.js +26 -0
  320. package/dist/spend/pricing.js.map +1 -0
  321. package/dist/spend/record.d.ts +13 -0
  322. package/dist/spend/record.js +30 -0
  323. package/dist/spend/record.js.map +1 -0
  324. package/dist/spend/usage.d.ts +27 -0
  325. package/dist/spend/usage.js +113 -0
  326. package/dist/spend/usage.js.map +1 -0
  327. package/dist/store/store.d.ts +43 -0
  328. package/dist/store/store.js +236 -7
  329. package/dist/store/store.js.map +1 -1
  330. package/dist/tasks/sources.d.ts +18 -1
  331. package/dist/tasks/sources.js +33 -5
  332. package/dist/tasks/sources.js.map +1 -1
  333. package/dist/trajectory/transcript-parsers/types.d.ts +8 -8
  334. package/dist/tx-retry.d.ts +166 -19
  335. package/dist/tx-retry.js +310 -32
  336. package/dist/tx-retry.js.map +1 -1
  337. package/dist/types/payloads/prediction-apy-v0.d.ts +5 -5
  338. package/dist/types/payloads/prediction-v0.d.ts +5 -5
  339. package/dist/types/task-document.d.ts +392 -0
  340. package/dist/types/task-document.js +10 -0
  341. package/dist/types/task-document.js.map +1 -1
  342. package/dist/types/task.d.ts +28 -0
  343. package/dist/util/extract-tx-hash.d.ts +14 -0
  344. package/dist/util/extract-tx-hash.js +19 -0
  345. package/dist/util/extract-tx-hash.js.map +1 -0
  346. package/dist/vendor/@jinn-network/sdk/dist/contracts.js +1 -1
  347. package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.d.ts +3 -0
  348. package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.js +1 -0
  349. package/package.json +30 -12
  350. package/dist/dashboard/assets/index-DOlzFN8a.css +0 -32
  351. package/dist/dashboard/assets/index-NkZ7CTAT.js +0 -140
@@ -1 +1 @@
1
- {"version":3,"file":"gather-status.js","sourceRoot":"","sources":["../../src/api/gather-status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gather-status.js","sourceRoot":"","sources":["../../src/api/gather-status.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,10 @@
11
11
  * `installed: false` means the binary was not found (ENOENT or equivalent).
12
12
  * `exitCode !== 0` (with `installed: true`) means the binary exists but
13
13
  * reports a config problem.
14
+ *
15
+ * The probe logic is exported as `probeHermesDoctor` so the Hermes harness
16
+ * can reuse it from `isReady()` — same source of truth for the SPA
17
+ * precheck panel and the daemon's claim-readiness gate (#330).
14
18
  */
15
19
  import type { Hono } from 'hono';
16
20
  export interface HermesDoctorResponse {
@@ -23,4 +27,117 @@ export interface HermesDoctorConfig {
23
27
  hermesPath?: string;
24
28
  hermesDoctorTimeoutMs?: number;
25
29
  }
30
+ /**
31
+ * Synchronously runs `hermes doctor` and classifies the result. Pure (no
32
+ * Hono dependency) so the harness layer can call it without pulling the API
33
+ * server in.
34
+ */
35
+ export declare function probeHermesDoctor(config?: HermesDoctorConfig): HermesDoctorResponse;
36
+ /**
37
+ * Result of probing a single Hermes model provider's auth state.
38
+ */
39
+ export interface HermesAuthStatus {
40
+ /** Provider name probed, e.g. `openrouter`. */
41
+ provider: string;
42
+ /** True only when the provider has a usable credential. */
43
+ authed: boolean;
44
+ /** Raw `hermes auth list <provider>` stdout (trimmed, truncated). */
45
+ raw: string;
46
+ }
47
+ /**
48
+ * Synchronously runs `hermes auth list <provider>` and classifies whether the
49
+ * provider has a usable credential (API-key OR OAuth) in Hermes's credential
50
+ * pool.
51
+ *
52
+ * WHY `auth list`, not `auth status`: `hermes auth status <provider>` only
53
+ * reflects interactive-OAuth-login state (the `providers` block in
54
+ * `~/.hermes/auth.json`). It prints `<provider>: logged out` whenever there
55
+ * is no OAuth session — even when an API-key credential is present and
56
+ * working. An operator who authenticated to OpenRouter the normal way
57
+ * (`OPENROUTER_API_KEY` env var, or `hermes auth add`) would be wrongly
58
+ * reported not-ready and gated out of every claim. `hermes auth list` reads
59
+ * the `credential_pool`, so it sees api_key credentials too.
60
+ *
61
+ * Parsing (`auth list <provider>` output, see `auth_list_command` in
62
+ * hermes_cli/auth_commands.py):
63
+ * - empty stdout → no credential of any kind → not authed
64
+ * - a `<provider> (N credentials):` header followed by ` #<idx> ...` lines,
65
+ * one per pooled credential → authed iff at least one line is *usable*
66
+ * (not exhausted with a wait window still open, not a hard auth failure)
67
+ * - ENOENT / spawn error → not authed (binary not on PATH)
68
+ *
69
+ * `hermes auth list` exits 0 in all of these cases; the signal is entirely in
70
+ * stdout. Pure (no Hono dependency) so the harness layer can call it without
71
+ * pulling the API server in. This is the third readiness gate for Hermes:
72
+ * `hermes doctor` exits 0 even when every provider is logged out (it treats
73
+ * missing providers as warnings), so the harness must probe auth directly.
74
+ */
75
+ export declare function probeHermesAuthStatus(provider: string, config?: HermesDoctorConfig): HermesAuthStatus;
26
76
  export declare function addHermesDoctorRoutes(app: Hono, config?: HermesDoctorConfig): void;
77
+ /**
78
+ * Result of probing OpenRouter's `/api/v1/key` endpoint for spendable credit.
79
+ *
80
+ * `state` is the verdict we feed into readiness:
81
+ * - `ok` → remaining credit is at or above the floor → ready
82
+ * - `exhausted` → remaining credit is below the floor → NOT ready (clear
83
+ * actionable signal: operator must top up)
84
+ * - `unknown` → couldn't determine — network error, non-200, malformed
85
+ * JSON, missing API key. Readiness MUST treat this as
86
+ * fail-safe (ready=true) so a transient OpenRouter outage
87
+ * does not shut every operator down (#332 / production
88
+ * bug 2026-05-23: false-positive ready when credit
89
+ * exhausted, but we explicitly do NOT want the inverse
90
+ * false-negative).
91
+ *
92
+ * `remainingUsd` and `floorUsd` are populated when known (state=`ok` or
93
+ * `exhausted`) so the readiness `nextStep` can show the operator how short
94
+ * they are. `raw` carries the truncated response body for diagnostics.
95
+ */
96
+ export interface OpenRouterCreditStatus {
97
+ state: 'ok' | 'exhausted' | 'unknown';
98
+ remainingUsd?: number;
99
+ limitUsd?: number | null;
100
+ usageUsd?: number;
101
+ floorUsd: number;
102
+ reason?: string;
103
+ raw?: string;
104
+ }
105
+ export interface OpenRouterCreditConfig {
106
+ /**
107
+ * Per-task credit floor in USD. The default is generous enough to cover a
108
+ * single SWE-rebench solve with `max_tokens=32000` against the priciest
109
+ * frontier models at typical 2026 OpenRouter rates ($3-$5 / Mtok output =
110
+ * $0.10-$0.16 per solve), with headroom for input-token cost and the
111
+ * occasional retry. Tune via the env override below if a SolverNet pins
112
+ * a different model class.
113
+ */
114
+ floorUsd?: number;
115
+ /** Override the OpenRouter API key (defaults to `process.env.OPENROUTER_API_KEY`). */
116
+ apiKey?: string;
117
+ /** Inject a custom fetch for tests; defaults to global `fetch`. */
118
+ fetchFn?: typeof fetch;
119
+ /** HTTP timeout in ms. Defaults to 5s — readiness probes must not stall the daemon. */
120
+ timeoutMs?: number;
121
+ }
122
+ export declare const DEFAULT_OPENROUTER_CREDIT_FLOOR_USD: number;
123
+ /**
124
+ * Probes `GET https://openrouter.ai/api/v1/key` to determine whether the
125
+ * operator's OpenRouter credential has spendable credit above the per-task
126
+ * floor.
127
+ *
128
+ * WHY this gate exists (production bug, 2026-05-23): the existing readiness
129
+ * gates — `hermes doctor` + `hermes auth list openrouter` — verify that a
130
+ * credential is *present* and pool-healthy, but say nothing about whether
131
+ * the credential's *credit balance* is sufficient to run a task. On
132
+ * 2026-05-23 every solve attempt for the day returned `HTTP 402` from
133
+ * OpenRouter ("This request requires more credits, or fewer max_tokens.")
134
+ * while readiness reported ready=true — the harness silently burned 12
135
+ * sessions. This probe closes that gap.
136
+ *
137
+ * Fail-safe philosophy: a clearly-confirmed insufficient-credit signal flips
138
+ * `ready=false`; anything ambiguous (network failure, non-200, missing key)
139
+ * returns `state=unknown` so the caller treats the harness as ready. The
140
+ * inverse false-negative — shutting every operator down because OpenRouter
141
+ * is transiently down — is worse than the original bug.
142
+ */
143
+ export declare function probeOpenRouterCredit(config?: OpenRouterCreditConfig): Promise<OpenRouterCreditStatus>;
@@ -1,29 +1,235 @@
1
1
  import { spawnSync } from 'node:child_process';
2
+ /**
3
+ * Shared `hermes <args>` spawn scaffolding for both probes: resolves the binary
4
+ * and timeout from config, runs `spawnSync`, and extracts the spawn-error code.
5
+ * Each probe applies its own classification/parsing to the returned result.
6
+ */
7
+ function runHermes(args, config) {
8
+ const hermesBin = config.hermesPath ?? 'hermes';
9
+ const timeoutMs = config.hermesDoctorTimeoutMs ?? 30_000;
10
+ const result = spawnSync(hermesBin, args, {
11
+ timeout: timeoutMs,
12
+ encoding: 'utf8',
13
+ });
14
+ const errorCode = result.error?.code;
15
+ return { result, errorCode };
16
+ }
17
+ /**
18
+ * Synchronously runs `hermes doctor` and classifies the result. Pure (no
19
+ * Hono dependency) so the harness layer can call it without pulling the API
20
+ * server in.
21
+ */
22
+ export function probeHermesDoctor(config = {}) {
23
+ const { result, errorCode } = runHermes(['doctor'], config);
24
+ // installed=true means we found the binary on disk. ENOENT is the only
25
+ // definitive not-installed signal. Other errors (EACCES = wrong
26
+ // permissions; ETIMEDOUT = ran but didn't finish in time) indicate the
27
+ // binary exists but couldn't be exercised cleanly — surface those as
28
+ // config-issue, not missing.
29
+ const notFound = errorCode === 'ENOENT';
30
+ const installed = !notFound && (result.status !== null
31
+ || result.signal !== null
32
+ || (errorCode != null && errorCode !== 'ENOENT'));
33
+ return {
34
+ installed,
35
+ exitCode: result.status,
36
+ stdout: (result.stdout ?? '').slice(0, 4000),
37
+ stderr: (result.stderr ?? '').slice(0, 4000),
38
+ };
39
+ }
40
+ /**
41
+ * Detects whether a single `hermes auth list` credential line is currently
42
+ * *unusable* — i.e. the credential pool has flagged it exhausted with retry
43
+ * time still on the clock, or marked it as a hard auth failure.
44
+ *
45
+ * `hermes auth list` annotates exhausted entries via
46
+ * `_format_exhausted_status` (hermes_cli/auth_commands.py). The annotation
47
+ * forms we treat as still-usable:
48
+ * - no annotation at all → healthy credential
49
+ * - `... (ready to retry)` → exhaustion window has elapsed; usable
50
+ * The forms we treat as unusable:
51
+ * - `... rate-limited ... (12m 3s left)` / `... exhausted ... (1h 4m left)`
52
+ * - `... auth failed ... (re-auth may be required)`
53
+ *
54
+ * A line that carries an exhaustion keyword but no `(ready to retry)` and no
55
+ * `re-auth` hint (e.g. exhausted with a wait window still open) is unusable.
56
+ */
57
+ function isCredentialLineUnusable(line) {
58
+ // `(ready to retry)` means the exhaustion window has elapsed — usable.
59
+ if (/\(ready to retry\)/i.test(line))
60
+ return false;
61
+ // A hard auth failure or any still-open exhaustion window → unusable.
62
+ return /\bauth failed\b|\(re-auth may be required\)|\brate-limited\b|\bexhausted\b/i.test(line);
63
+ }
64
+ /**
65
+ * Synchronously runs `hermes auth list <provider>` and classifies whether the
66
+ * provider has a usable credential (API-key OR OAuth) in Hermes's credential
67
+ * pool.
68
+ *
69
+ * WHY `auth list`, not `auth status`: `hermes auth status <provider>` only
70
+ * reflects interactive-OAuth-login state (the `providers` block in
71
+ * `~/.hermes/auth.json`). It prints `<provider>: logged out` whenever there
72
+ * is no OAuth session — even when an API-key credential is present and
73
+ * working. An operator who authenticated to OpenRouter the normal way
74
+ * (`OPENROUTER_API_KEY` env var, or `hermes auth add`) would be wrongly
75
+ * reported not-ready and gated out of every claim. `hermes auth list` reads
76
+ * the `credential_pool`, so it sees api_key credentials too.
77
+ *
78
+ * Parsing (`auth list <provider>` output, see `auth_list_command` in
79
+ * hermes_cli/auth_commands.py):
80
+ * - empty stdout → no credential of any kind → not authed
81
+ * - a `<provider> (N credentials):` header followed by ` #<idx> ...` lines,
82
+ * one per pooled credential → authed iff at least one line is *usable*
83
+ * (not exhausted with a wait window still open, not a hard auth failure)
84
+ * - ENOENT / spawn error → not authed (binary not on PATH)
85
+ *
86
+ * `hermes auth list` exits 0 in all of these cases; the signal is entirely in
87
+ * stdout. Pure (no Hono dependency) so the harness layer can call it without
88
+ * pulling the API server in. This is the third readiness gate for Hermes:
89
+ * `hermes doctor` exits 0 even when every provider is logged out (it treats
90
+ * missing providers as warnings), so the harness must probe auth directly.
91
+ */
92
+ export function probeHermesAuthStatus(provider, config = {}) {
93
+ const { result, errorCode } = runHermes(['auth', 'list', provider], config);
94
+ const raw = (result.stdout ?? '').trim().slice(0, 4000);
95
+ // Binary not found, or any other spawn error, or no output → not authed.
96
+ // Empty stdout means `auth_list_command` skipped the provider section
97
+ // because the credential pool has zero entries for it.
98
+ if (errorCode != null || raw.length === 0) {
99
+ return { provider, authed: false, raw };
100
+ }
101
+ // Credential lines are the ` #<idx> ...` rows under the provider header.
102
+ // A provider is usable when at least one of its pooled credentials is not
103
+ // currently exhausted / hard-failed.
104
+ const credentialLines = raw
105
+ .split('\n')
106
+ .filter((line) => /^\s*#\d+\b/.test(line));
107
+ if (credentialLines.length === 0) {
108
+ // Header present but no credential rows parsed — treat as not authed
109
+ // rather than guess.
110
+ return { provider, authed: false, raw };
111
+ }
112
+ const hasUsableCredential = credentialLines.some((line) => !isCredentialLineUnusable(line));
113
+ return { provider, authed: hasUsableCredential, raw };
114
+ }
2
115
  export function addHermesDoctorRoutes(app, config = {}) {
3
116
  app.get('/api/hermes/doctor', (c) => {
4
- const hermesBin = config.hermesPath ?? 'hermes';
5
- const timeoutMs = config.hermesDoctorTimeoutMs ?? 30_000;
6
- const result = spawnSync(hermesBin, ['doctor'], {
7
- timeout: timeoutMs,
8
- encoding: 'utf8',
9
- });
10
- const errorCode = result.error?.code;
11
- // installed=true means we found the binary on disk. ENOENT is the only
12
- // definitive not-installed signal. Other errors (EACCES = wrong
13
- // permissions; ETIMEDOUT = ran but didn't finish in time) indicate the
14
- // binary exists but couldn't be exercised cleanly — surface those as
15
- // config-issue, not missing.
16
- const notFound = errorCode === 'ENOENT';
17
- const installed = !notFound && (result.status !== null
18
- || result.signal !== null
19
- || (errorCode != null && errorCode !== 'ENOENT'));
20
- const body = {
21
- installed,
22
- exitCode: result.status,
23
- stdout: (result.stdout ?? '').slice(0, 4000),
24
- stderr: (result.stderr ?? '').slice(0, 4000),
25
- };
26
- return c.json(body);
117
+ return c.json(probeHermesDoctor(config));
27
118
  });
28
119
  }
120
+ /**
121
+ * Default per-task credit floor (USD). See {@link OpenRouterCreditConfig}.
122
+ *
123
+ * Sized to comfortably cover one solve on a cheap routed model (e.g.
124
+ * `deepseek/deepseek-v4-flash` — typical solve costs ~$0.01-0.02 with the
125
+ * `JINN_HERMES_MAX_TOKENS_CAP` of 32000). An operator using a premium model
126
+ * (Sonnet, GPT-5) should override via the `JINN_HERMES_CREDIT_FLOOR_USD`
127
+ * env var (or pass `floorUsd` explicitly).
128
+ *
129
+ * History: a too-conservative initial default of $0.50 — sized for Sonnet —
130
+ * silently gated out deepseek operators with $0.43 remaining (enough for
131
+ * ~25 solves) on 2026-05-23. The right size is the cost of *one* task with
132
+ * comfortable headroom, not a Sonnet-class reserve.
133
+ */
134
+ const DEFAULT_OPENROUTER_CREDIT_FLOOR_USD_FALLBACK = 0.02;
135
+ const envFloor = process.env['JINN_HERMES_CREDIT_FLOOR_USD'];
136
+ const envFloorParsed = envFloor !== undefined ? Number(envFloor) : NaN;
137
+ export const DEFAULT_OPENROUTER_CREDIT_FLOOR_USD = Number.isFinite(envFloorParsed) && envFloorParsed > 0
138
+ ? envFloorParsed
139
+ : DEFAULT_OPENROUTER_CREDIT_FLOOR_USD_FALLBACK;
140
+ /**
141
+ * Probes `GET https://openrouter.ai/api/v1/key` to determine whether the
142
+ * operator's OpenRouter credential has spendable credit above the per-task
143
+ * floor.
144
+ *
145
+ * WHY this gate exists (production bug, 2026-05-23): the existing readiness
146
+ * gates — `hermes doctor` + `hermes auth list openrouter` — verify that a
147
+ * credential is *present* and pool-healthy, but say nothing about whether
148
+ * the credential's *credit balance* is sufficient to run a task. On
149
+ * 2026-05-23 every solve attempt for the day returned `HTTP 402` from
150
+ * OpenRouter ("This request requires more credits, or fewer max_tokens.")
151
+ * while readiness reported ready=true — the harness silently burned 12
152
+ * sessions. This probe closes that gap.
153
+ *
154
+ * Fail-safe philosophy: a clearly-confirmed insufficient-credit signal flips
155
+ * `ready=false`; anything ambiguous (network failure, non-200, missing key)
156
+ * returns `state=unknown` so the caller treats the harness as ready. The
157
+ * inverse false-negative — shutting every operator down because OpenRouter
158
+ * is transiently down — is worse than the original bug.
159
+ */
160
+ export async function probeOpenRouterCredit(config = {}) {
161
+ const floorUsd = config.floorUsd ?? DEFAULT_OPENROUTER_CREDIT_FLOOR_USD;
162
+ const apiKey = config.apiKey ?? process.env['OPENROUTER_API_KEY'];
163
+ const fetchFn = config.fetchFn ?? fetch;
164
+ const timeoutMs = config.timeoutMs ?? 5_000;
165
+ // No API key → unknown (fail-safe). The auth-list gate would have caught
166
+ // a missing credential already; if we somehow get here without one, do
167
+ // not flip the operator into not-ready on a probe we can't even run.
168
+ if (!apiKey) {
169
+ return { state: 'unknown', floorUsd, reason: 'OPENROUTER_API_KEY not set' };
170
+ }
171
+ const controller = new AbortController();
172
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
173
+ try {
174
+ const response = await fetchFn('https://openrouter.ai/api/v1/key', {
175
+ method: 'GET',
176
+ headers: { Authorization: `Bearer ${apiKey}` },
177
+ signal: controller.signal,
178
+ });
179
+ if (!response.ok) {
180
+ // Non-200 (including 401/403/5xx) — unknown, not exhausted. A 401
181
+ // would imply the credential is broken, but the auth-list gate
182
+ // already covered presence; treating an auth-broken state here as
183
+ // "exhausted" would mis-classify it. Fail-safe to unknown.
184
+ const raw = await safeReadResponse(response);
185
+ return {
186
+ state: 'unknown',
187
+ floorUsd,
188
+ reason: `OpenRouter /api/v1/key returned HTTP ${response.status}`,
189
+ raw,
190
+ };
191
+ }
192
+ const body = (await response.json());
193
+ const data = body?.data;
194
+ if (!data || typeof data !== 'object') {
195
+ return { state: 'unknown', floorUsd, reason: 'OpenRouter /api/v1/key returned malformed body' };
196
+ }
197
+ const usageUsd = typeof data.usage === 'number' ? data.usage : 0;
198
+ // `limit` can be `null` for unlimited keys — treat that as plenty of credit.
199
+ // `undefined` means the field was absent from the response body, which is
200
+ // ambiguous (API schema drift?) — return `unknown` so a future shape
201
+ // change does not silently pass readiness.
202
+ if (data.limit === null) {
203
+ return { state: 'ok', floorUsd, limitUsd: null, usageUsd };
204
+ }
205
+ if (data.limit === undefined) {
206
+ return { state: 'unknown', floorUsd, reason: 'OpenRouter /api/v1/key response missing `data.limit`' };
207
+ }
208
+ const limitUsd = data.limit;
209
+ // Prefer the API's `data.limit_remaining` (authoritative for the current
210
+ // billing window when the key has a periodic reset) over `limit - usage`
211
+ // (which is all-time and underestimates remaining credit on resetting
212
+ // keys). Fall back to the subtraction when `limit_remaining` is absent.
213
+ const remainingUsd = typeof data.limit_remaining === 'number' ? data.limit_remaining : limitUsd - usageUsd;
214
+ const state = remainingUsd >= floorUsd ? 'ok' : 'exhausted';
215
+ return { state, floorUsd, remainingUsd, limitUsd, usageUsd };
216
+ }
217
+ catch (err) {
218
+ // Network error, timeout, abort, JSON parse failure — unknown (fail-safe).
219
+ const reason = err instanceof Error ? err.message : String(err);
220
+ return { state: 'unknown', floorUsd, reason };
221
+ }
222
+ finally {
223
+ clearTimeout(timer);
224
+ }
225
+ }
226
+ async function safeReadResponse(response) {
227
+ try {
228
+ const text = await response.text();
229
+ return text.slice(0, 4000);
230
+ }
231
+ catch {
232
+ return '';
233
+ }
234
+ }
29
235
  //# sourceMappingURL=hermes-doctor-endpoint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hermes-doctor-endpoint.js","sourceRoot":"","sources":["../../src/api/hermes-doctor-endpoint.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAc/C,MAAM,UAAU,qBAAqB,CAAC,GAAS,EAAE,SAA6B,EAAE;IAC9E,GAAG,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE;QAClC,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,IAAI,QAAQ,CAAC;QAChD,MAAM,SAAS,GAAG,MAAM,CAAC,qBAAqB,IAAI,MAAM,CAAC;QAEzD,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE;YAC9C,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC;QAEH,MAAM,SAAS,GAAI,MAAM,CAAC,KAA2C,EAAE,IAAI,CAAC;QAC5E,uEAAuE;QACvE,gEAAgE;QAChE,uEAAuE;QACvE,qEAAqE;QACrE,6BAA6B;QAC7B,MAAM,QAAQ,GAAG,SAAS,KAAK,QAAQ,CAAC;QACxC,MAAM,SAAS,GAAG,CAAC,QAAQ,IAAI,CAC7B,MAAM,CAAC,MAAM,KAAK,IAAI;eACnB,MAAM,CAAC,MAAM,KAAK,IAAI;eACtB,CAAC,SAAS,IAAI,IAAI,IAAI,SAAS,KAAK,QAAQ,CAAC,CACjD,CAAC;QACF,MAAM,IAAI,GAAyB;YACjC,SAAS;YACT,QAAQ,EAAE,MAAM,CAAC,MAAM;YACvB,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;YAC5C,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;SAC7C,CAAC;QAEF,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"hermes-doctor-endpoint.js","sourceRoot":"","sources":["../../src/api/hermes-doctor-endpoint.ts"],"names":[],"mappings":"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"}
@@ -8,10 +8,10 @@
8
8
  * spec/2026-05-05-solvernet-creation-and-launch.md dropped that enum value);
9
9
  * the launched-record subsystem owns that signal now.
10
10
  *
11
- * Stale-poll detection is computed here from the generator's reported
12
- * `lastPollAt` and `cadenceMs`: a poll is stale when the wall clock has
13
- * advanced past `lastPollAt + 2 * cadenceMs`. The factor matches
14
- * spec/2026-05-05-launcher-role-and-mode.md §5.3.
11
+ * Stale-poll detection is computed here when a generator reports a cadence:
12
+ * a poll is stale when the wall clock has advanced past `lastPollAt + 2 *
13
+ * cadenceMs`. Fill-the-pool generators may omit cadence and are never marked
14
+ * stale by this generic status surface.
15
15
  *
16
16
  * The deps shape is intentionally narrow — every external surface is a
17
17
  * function so tests can inject deterministic state without standing up the
@@ -23,18 +23,27 @@ import type { JinnConfig } from '../config.js';
23
23
  export interface LauncherStatusGeneratorView {
24
24
  state: 'active' | 'paused' | 'errored';
25
25
  lastPollAt?: string;
26
- lastPollSummary?: {
27
- evaluated: number;
28
- posted: number;
29
- skipped: number;
30
- };
26
+ lastPollSummary?: LauncherGeneratorPollSummary;
31
27
  lastError?: {
32
28
  message: string;
33
29
  at: string;
34
30
  };
35
- cadenceMs: number;
31
+ cadenceMs?: number;
36
32
  stale: boolean;
37
33
  }
34
+ export type LauncherGeneratorPollSummary = {
35
+ evaluated: number;
36
+ posted: number;
37
+ skipped: number;
38
+ } | {
39
+ poolSize: number;
40
+ posted: number;
41
+ unposted: number;
42
+ live: number;
43
+ repostable: number;
44
+ saturated: number;
45
+ abandoned: number;
46
+ };
38
47
  export interface LauncherStatusBudgetView {
39
48
  safeAddress: string;
40
49
  safeBalanceWei: string;
@@ -60,19 +69,15 @@ export interface LauncherStatusResponse {
60
69
  */
61
70
  export interface LauncherGeneratorStateSnapshot {
62
71
  lastPollAt?: string;
63
- lastPollSummary?: {
64
- evaluated: number;
65
- posted: number;
66
- skipped: number;
67
- };
72
+ lastPollSummary?: LauncherGeneratorPollSummary;
68
73
  lastError?: {
69
74
  message: string;
70
75
  at: string;
71
76
  };
72
- cadenceMs: number;
77
+ cadenceMs?: number;
73
78
  }
74
79
  export interface GatherLauncherStatusDeps {
75
- config: Pick<JinnConfig, 'solverNets'>;
80
+ config: Pick<JinnConfig, 'joinedSolverNets'>;
76
81
  /** Returns the generator's live state, or `undefined` if the SolverNet has no generator. */
77
82
  getGeneratorState: (netName: string) => LauncherGeneratorStateSnapshot | undefined;
78
83
  /** Count of Tasks created by the operator that are still in flight for the named SolverNet. */
@@ -1,3 +1,4 @@
1
+ import { joinedDisplayName, solverTypeFromJoinedContract } from '../solver-nets/registry.js';
1
2
  /**
2
3
  * Derive the high-level generator state. `errored` wins over `active`/`paused`
3
4
  * because the operator wants to see the failure first; `paused` only fires
@@ -37,24 +38,26 @@ function isStalePoll(snapshot, now) {
37
38
  export async function gatherLauncherStatus(deps) {
38
39
  const now = deps.now?.() ?? Date.now();
39
40
  const nets = [];
40
- for (const [name, net] of Object.entries(deps.config.solverNets ?? {})) {
41
- // Task 22 of spec/2026-05-05-solvernet-creation-and-launch.md removed
42
- // the operator-config `'launching'` role; surface every loaded SolverNet
43
- // entry. Launched-record ownership filters happen at the launched-record
44
- // surface, not here.
45
- const snapshot = deps.getGeneratorState(name);
41
+ for (const [cid, joined] of Object.entries(deps.config.joinedSolverNets ?? {})) {
42
+ // Issue #421 removed the legacy `solverNets` config block; iterate the
43
+ // operator's joined SolverNets keyed by manifestCid. Launched-record
44
+ // ownership filters happen at the launched-record surface, not here.
45
+ const displayName = joinedDisplayName(cid, joined);
46
+ const solverType = solverTypeFromJoinedContract(joined);
47
+ const snapshot = deps.getGeneratorState(displayName);
46
48
  const generatorState = deriveGeneratorState(snapshot);
47
49
  const stale = isStalePoll(snapshot, now);
48
50
  const [openTasks, reservedBudgetWei, safeBalanceWei] = await Promise.all([
49
- Promise.resolve(deps.getOpenTaskCount(name)),
50
- Promise.resolve(deps.getReservedBudgetWei(name)),
51
+ Promise.resolve(deps.getOpenTaskCount(displayName)),
52
+ Promise.resolve(deps.getReservedBudgetWei(displayName)),
51
53
  Promise.resolve(deps.getSafeBalanceWei()),
52
54
  ]);
53
55
  const generator = {
54
56
  state: generatorState,
55
- cadenceMs: snapshot?.cadenceMs ?? 0,
56
57
  stale,
57
58
  };
59
+ if (snapshot?.cadenceMs !== undefined)
60
+ generator.cadenceMs = snapshot.cadenceMs;
58
61
  if (snapshot?.lastPollAt)
59
62
  generator.lastPollAt = snapshot.lastPollAt;
60
63
  if (snapshot?.lastPollSummary)
@@ -62,9 +65,8 @@ export async function gatherLauncherStatus(deps) {
62
65
  if (snapshot?.lastError)
63
66
  generator.lastError = { ...snapshot.lastError };
64
67
  const safeAddress = typeof deps.safeAddress === 'function' ? deps.safeAddress() : deps.safeAddress;
65
- const solverType = net?.solverType;
66
68
  nets.push({
67
- name,
69
+ name: displayName,
68
70
  ...(typeof solverType === 'string' && solverType.length > 0 ? { solverType } : {}),
69
71
  generator,
70
72
  openTasks,