@jinn-network/client 0.1.6 → 0.1.7-canary.205587f0

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 (291) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/deployments/deployment-jinn-mvi-l1-sepolia-fast.json +23 -4
  3. package/deployments/deployment-jinn-mvi-l1-sepolia.json +23 -4
  4. package/deployments/deployment-jinn-mvi-l2-baseSepolia.json +5 -4
  5. package/dist/adapters/mech/adapter.d.ts +38 -1
  6. package/dist/adapters/mech/adapter.js +241 -54
  7. package/dist/adapters/mech/adapter.js.map +1 -1
  8. package/dist/adapters/mech/contracts.d.ts +17 -4
  9. package/dist/adapters/mech/contracts.js +8 -2
  10. package/dist/adapters/mech/contracts.js.map +1 -1
  11. package/dist/adapters/mech/safe-revert.d.ts +20 -0
  12. package/dist/adapters/mech/safe-revert.js +12 -4
  13. package/dist/adapters/mech/safe-revert.js.map +1 -1
  14. package/dist/adapters/mech/safe.d.ts +5 -1
  15. package/dist/adapters/mech/safe.js +27 -8
  16. package/dist/adapters/mech/safe.js.map +1 -1
  17. package/dist/adapters/mech/verdict-code.d.ts +1 -0
  18. package/dist/adapters/mech/verdict-code.js +18 -0
  19. package/dist/adapters/mech/verdict-code.js.map +1 -1
  20. package/dist/api/admin-endpoint.d.ts +15 -3
  21. package/dist/api/admin-endpoint.js +24 -2
  22. package/dist/api/admin-endpoint.js.map +1 -1
  23. package/dist/api/bootstrap-endpoint.js +49 -0
  24. package/dist/api/bootstrap-endpoint.js.map +1 -1
  25. package/dist/api/codex-doctor-endpoint.d.ts +73 -0
  26. package/dist/api/codex-doctor-endpoint.js +177 -0
  27. package/dist/api/codex-doctor-endpoint.js.map +1 -0
  28. package/dist/api/discovery-endpoint.d.ts +1 -0
  29. package/dist/api/discovery-endpoint.js +26 -0
  30. package/dist/api/discovery-endpoint.js.map +1 -1
  31. package/dist/api/fleet-build.d.ts +1 -0
  32. package/dist/api/fleet-build.js +2 -1
  33. package/dist/api/fleet-build.js.map +1 -1
  34. package/dist/api/gather-status.d.ts +11 -0
  35. package/dist/api/gather-status.js +467 -4
  36. package/dist/api/gather-status.js.map +1 -1
  37. package/dist/api/hermes-doctor-endpoint.d.ts +117 -0
  38. package/dist/api/hermes-doctor-endpoint.js +229 -23
  39. package/dist/api/hermes-doctor-endpoint.js.map +1 -1
  40. package/dist/api/launcher-status.d.ts +21 -16
  41. package/dist/api/launcher-status.js +2 -1
  42. package/dist/api/launcher-status.js.map +1 -1
  43. package/dist/api/portfolio-v0-build.d.ts +10 -0
  44. package/dist/api/portfolio-v0-build.js +24 -5
  45. package/dist/api/portfolio-v0-build.js.map +1 -1
  46. package/dist/api/prediction-v1-build.d.ts +10 -0
  47. package/dist/api/prediction-v1-build.js +7 -1
  48. package/dist/api/prediction-v1-build.js.map +1 -1
  49. package/dist/api/server.d.ts +31 -1
  50. package/dist/api/server.js +68 -1
  51. package/dist/api/server.js.map +1 -1
  52. package/dist/api/setup-endpoints.d.ts +16 -0
  53. package/dist/api/setup-endpoints.js +78 -4
  54. package/dist/api/setup-endpoints.js.map +1 -1
  55. package/dist/api/setup-retry-endpoint.d.ts +19 -0
  56. package/dist/api/setup-retry-endpoint.js +32 -0
  57. package/dist/api/setup-retry-endpoint.js.map +1 -0
  58. package/dist/api/solvernets-endpoints.d.ts +8 -0
  59. package/dist/api/solvernets-endpoints.js +71 -43
  60. package/dist/api/solvernets-endpoints.js.map +1 -1
  61. package/dist/api/status-build.d.ts +78 -0
  62. package/dist/api/status-build.js +74 -18
  63. package/dist/api/status-build.js.map +1 -1
  64. package/dist/api/task-run-routing.d.ts +7 -0
  65. package/dist/api/task-run-routing.js +12 -0
  66. package/dist/api/task-run-routing.js.map +1 -0
  67. package/dist/api/task-runs-build.d.ts +21 -0
  68. package/dist/api/task-runs-build.js +14 -1
  69. package/dist/api/task-runs-build.js.map +1 -1
  70. package/dist/build-info.json +4 -4
  71. package/dist/build-meta.json +1 -1
  72. package/dist/chain-read-errors.d.ts +10 -0
  73. package/dist/chain-read-errors.js +15 -0
  74. package/dist/chain-read-errors.js.map +1 -1
  75. package/dist/cli/commands/auth.js +1 -1
  76. package/dist/cli/commands/auth.js.map +1 -1
  77. package/dist/cli/commands/create.js +3 -2
  78. package/dist/cli/commands/create.js.map +1 -1
  79. package/dist/cli/commands/doctor.d.ts +2 -0
  80. package/dist/cli/commands/doctor.js +2 -0
  81. package/dist/cli/commands/doctor.js.map +1 -1
  82. package/dist/cli/commands/rewards.js +11 -7
  83. package/dist/cli/commands/rewards.js.map +1 -1
  84. package/dist/cli/commands/solver-nets.js +24 -9
  85. package/dist/cli/commands/solver-nets.js.map +1 -1
  86. package/dist/cli/commands/status.js +1 -1
  87. package/dist/cli/commands/status.js.map +1 -1
  88. package/dist/cli/commands/tasks.js +86 -9
  89. package/dist/cli/commands/tasks.js.map +1 -1
  90. package/dist/cli/commands/update.d.ts +10 -0
  91. package/dist/cli/commands/update.js +36 -0
  92. package/dist/cli/commands/update.js.map +1 -1
  93. package/dist/cli/introspection-context.js +5 -0
  94. package/dist/cli/introspection-context.js.map +1 -1
  95. package/dist/cli/task-native-readiness.d.ts +3 -1
  96. package/dist/cli/task-native-readiness.js +28 -6
  97. package/dist/cli/task-native-readiness.js.map +1 -1
  98. package/dist/config.d.ts +118 -5
  99. package/dist/config.js +132 -18
  100. package/dist/config.js.map +1 -1
  101. package/dist/daemon/checkpoint-loop.d.ts +48 -0
  102. package/dist/daemon/checkpoint-loop.js +76 -0
  103. package/dist/daemon/checkpoint-loop.js.map +1 -0
  104. package/dist/daemon/creator.d.ts +1 -1
  105. package/dist/daemon/creator.js +7 -3
  106. package/dist/daemon/creator.js.map +1 -1
  107. package/dist/daemon/daemon.d.ts +19 -0
  108. package/dist/daemon/daemon.js +68 -1
  109. package/dist/daemon/daemon.js.map +1 -1
  110. package/dist/daemon/eviction-loop.d.ts +40 -0
  111. package/dist/daemon/eviction-loop.js +67 -0
  112. package/dist/daemon/eviction-loop.js.map +1 -0
  113. package/dist/daemon/jinn-claim-loop-wiring.d.ts +33 -0
  114. package/dist/daemon/jinn-claim-loop-wiring.js +40 -0
  115. package/dist/daemon/jinn-claim-loop-wiring.js.map +1 -0
  116. package/dist/daemon/jinn-claim-loop.d.ts +24 -17
  117. package/dist/daemon/jinn-claim-loop.js +77 -23
  118. package/dist/daemon/jinn-claim-loop.js.map +1 -1
  119. package/dist/daemon/skip-log-dedup.d.ts +69 -0
  120. package/dist/daemon/skip-log-dedup.js +106 -0
  121. package/dist/daemon/skip-log-dedup.js.map +1 -0
  122. package/dist/dashboard/assets/index-DMm7Y4f7.css +32 -0
  123. package/dist/dashboard/assets/index-Dt1RV0Ee.js +330 -0
  124. package/dist/dashboard/index.html +2 -2
  125. package/dist/discovery/factory.d.ts +17 -5
  126. package/dist/discovery/factory.js +46 -18
  127. package/dist/discovery/factory.js.map +1 -1
  128. package/dist/discovery/http.js +142 -3
  129. package/dist/discovery/http.js.map +1 -1
  130. package/dist/discovery/onchain.d.ts +5 -0
  131. package/dist/discovery/onchain.js +407 -15
  132. package/dist/discovery/onchain.js.map +1 -1
  133. package/dist/discovery/types.d.ts +45 -1
  134. package/dist/discovery/types.js +8 -10
  135. package/dist/discovery/types.js.map +1 -1
  136. package/dist/discovery/with-fallback.d.ts +7 -0
  137. package/dist/discovery/with-fallback.js +10 -0
  138. package/dist/discovery/with-fallback.js.map +1 -1
  139. package/dist/earning/bootstrap.d.ts +92 -1
  140. package/dist/earning/bootstrap.js +203 -63
  141. package/dist/earning/bootstrap.js.map +1 -1
  142. package/dist/earning/contracts.d.ts +14 -0
  143. package/dist/earning/contracts.js +17 -5
  144. package/dist/earning/contracts.js.map +1 -1
  145. package/dist/earning/funding-plan.js +27 -18
  146. package/dist/earning/funding-plan.js.map +1 -1
  147. package/dist/earning/jinn-rewards.d.ts +46 -0
  148. package/dist/earning/jinn-rewards.js +32 -0
  149. package/dist/earning/jinn-rewards.js.map +1 -1
  150. package/dist/earning/safe-adapter.d.ts +2 -0
  151. package/dist/earning/safe-adapter.js +26 -12
  152. package/dist/earning/safe-adapter.js.map +1 -1
  153. package/dist/earning/store.d.ts +8 -0
  154. package/dist/earning/store.js.map +1 -1
  155. package/dist/earning/testnet-setup-migration.d.ts +12 -0
  156. package/dist/earning/testnet-setup-migration.js +27 -1
  157. package/dist/earning/testnet-setup-migration.js.map +1 -1
  158. package/dist/earning/types.d.ts +15 -0
  159. package/dist/erc8004/reputation.d.ts +8 -0
  160. package/dist/erc8004/reputation.js +22 -3
  161. package/dist/erc8004/reputation.js.map +1 -1
  162. package/dist/harnesses/cost-estimates.d.ts +145 -0
  163. package/dist/harnesses/cost-estimates.js +297 -0
  164. package/dist/harnesses/cost-estimates.js.map +1 -0
  165. package/dist/harnesses/engine/engine.d.ts +72 -0
  166. package/dist/harnesses/engine/engine.js +105 -8
  167. package/dist/harnesses/engine/engine.js.map +1 -1
  168. package/dist/harnesses/engine/persistence.d.ts +51 -1
  169. package/dist/harnesses/engine/persistence.js +118 -5
  170. package/dist/harnesses/engine/persistence.js.map +1 -1
  171. package/dist/harnesses/engine/work-dir-reaper.d.ts +65 -0
  172. package/dist/harnesses/engine/work-dir-reaper.js +100 -0
  173. package/dist/harnesses/engine/work-dir-reaper.js.map +1 -0
  174. package/dist/harnesses/impls/hermes-agent/adapter.js +40 -0
  175. package/dist/harnesses/impls/hermes-agent/adapter.js.map +1 -1
  176. package/dist/harnesses/impls/hermes-agent/bootstrap.d.ts +20 -0
  177. package/dist/harnesses/impls/hermes-agent/bootstrap.js +40 -6
  178. package/dist/harnesses/impls/hermes-agent/bootstrap.js.map +1 -1
  179. package/dist/harnesses/impls/hermes-agent/harness.d.ts +59 -1
  180. package/dist/harnesses/impls/hermes-agent/harness.js +104 -0
  181. package/dist/harnesses/impls/hermes-agent/harness.js.map +1 -1
  182. package/dist/harnesses/impls/index.d.ts +9 -0
  183. package/dist/harnesses/impls/index.js +19 -1
  184. package/dist/harnesses/impls/index.js.map +1 -1
  185. package/dist/harnesses/impls/learner/adapters/codex-code.d.ts +3 -0
  186. package/dist/harnesses/impls/learner/adapters/codex-code.js +49 -0
  187. package/dist/harnesses/impls/learner/adapters/codex-code.js.map +1 -1
  188. package/dist/harnesses/impls/learner/harness.d.ts +41 -4
  189. package/dist/harnesses/impls/learner/harness.js +114 -2
  190. package/dist/harnesses/impls/learner/harness.js.map +1 -1
  191. package/dist/harnesses/impls/learner/plugin-path.d.ts +0 -13
  192. package/dist/harnesses/impls/learner/plugin-path.js +35 -15
  193. package/dist/harnesses/impls/learner/plugin-path.js.map +1 -1
  194. package/dist/harnesses/impls/learner/types.d.ts +15 -0
  195. package/dist/harnesses/impls/stub.d.ts +58 -0
  196. package/dist/harnesses/impls/stub.js +89 -0
  197. package/dist/harnesses/impls/stub.js.map +1 -0
  198. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.d.ts +69 -50
  199. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js +178 -93
  200. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js.map +1 -1
  201. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.d.ts +12 -1
  202. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js +121 -7
  203. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js.map +1 -1
  204. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.d.ts +15 -0
  205. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js +54 -4
  206. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js.map +1 -1
  207. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.d.ts +6 -0
  208. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js +1 -1
  209. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js.map +1 -1
  210. package/dist/harnesses/readiness-registry.js +9 -1
  211. package/dist/harnesses/readiness-registry.js.map +1 -1
  212. package/dist/main.js +373 -82
  213. package/dist/main.js.map +1 -1
  214. package/dist/observability/emit-event.d.ts +1 -1
  215. package/dist/observability/emit-event.js.map +1 -1
  216. package/dist/operator-errors.d.ts +7 -0
  217. package/dist/operator-errors.js +13 -1
  218. package/dist/operator-errors.js.map +1 -1
  219. package/dist/plugins/learner/.claude-plugin/plugin.json +9 -0
  220. package/dist/plugins/learner/.codex-plugin/plugin.json +39 -0
  221. package/dist/plugins/learner/AGENTS.md +40 -0
  222. package/dist/plugins/learner/CLAUDE.md +33 -0
  223. package/dist/plugins/learner/README.md +59 -0
  224. package/dist/plugins/learner/hooks/hooks.json +16 -0
  225. package/dist/plugins/learner/hooks/session-start +38 -0
  226. package/dist/plugins/learner/skills/learn/SKILL.md +412 -0
  227. package/dist/plugins/learner/skills/learn/analyst-prompt.md +68 -0
  228. package/dist/plugins/learner/skills/learn/consolidator-prompt.md +94 -0
  229. package/dist/plugins/learner/skills/learn/explorer-prompt.md +53 -0
  230. package/dist/plugins/learner/skills/learn/planner-prompt.md +87 -0
  231. package/dist/plugins/learner/skills/learn/promoter-prompt.md +113 -0
  232. package/dist/plugins/learner/skills/learn/step-worker-prompt.md +47 -0
  233. package/dist/plugins/learner/skills/learn/strategist-prompt.md +85 -0
  234. package/dist/restart-daemon.d.ts +90 -0
  235. package/dist/restart-daemon.js +95 -0
  236. package/dist/restart-daemon.js.map +1 -0
  237. package/dist/setup/halt-mode.d.ts +14 -0
  238. package/dist/setup/halt-mode.js +17 -0
  239. package/dist/setup/halt-mode.js.map +1 -0
  240. package/dist/solver-nets/prediction-operator-ux.js +43 -3
  241. package/dist/solver-nets/prediction-operator-ux.js.map +1 -1
  242. package/dist/solver-nets/registry.d.ts +1 -0
  243. package/dist/solver-nets/registry.js +1 -1
  244. package/dist/solver-nets/registry.js.map +1 -1
  245. package/dist/solver-types/_swe-rebench-v2-pool-cache.d.ts +58 -0
  246. package/dist/solver-types/_swe-rebench-v2-pool-cache.js +87 -0
  247. package/dist/solver-types/_swe-rebench-v2-pool-cache.js.map +1 -0
  248. package/dist/solver-types/_swe-rebench-v2-substrate.d.ts +1 -0
  249. package/dist/solver-types/_swe-rebench-v2-substrate.js +10 -0
  250. package/dist/solver-types/_swe-rebench-v2-substrate.js.map +1 -1
  251. package/dist/solver-types/_swe-rebench-v2-validated-pool.d.ts +65 -0
  252. package/dist/solver-types/_swe-rebench-v2-validated-pool.js +243 -26
  253. package/dist/solver-types/_swe-rebench-v2-validated-pool.js.map +1 -1
  254. package/dist/solver-types/swe-rebench-v2-auto.d.ts +22 -7
  255. package/dist/solver-types/swe-rebench-v2-auto.js +45 -20
  256. package/dist/solver-types/swe-rebench-v2-auto.js.map +1 -1
  257. package/dist/solver-types/swe-rebench-v2.d.ts +13 -2
  258. package/dist/solver-types/swe-rebench-v2.js +233 -94
  259. package/dist/solver-types/swe-rebench-v2.js.map +1 -1
  260. package/dist/solvernets/daemon-init.d.ts +10 -2
  261. package/dist/solvernets/daemon-init.js +22 -2
  262. package/dist/solvernets/daemon-init.js.map +1 -1
  263. package/dist/solvernets/launched-record-dispatcher.js +35 -7
  264. package/dist/solvernets/launched-record-dispatcher.js.map +1 -1
  265. package/dist/solvernets/store.d.ts +5 -0
  266. package/dist/solvernets/store.js +1 -0
  267. package/dist/solvernets/store.js.map +1 -1
  268. package/dist/store/store.d.ts +15 -0
  269. package/dist/store/store.js +118 -3
  270. package/dist/store/store.js.map +1 -1
  271. package/dist/tasks/sources.d.ts +18 -1
  272. package/dist/tasks/sources.js +33 -5
  273. package/dist/tasks/sources.js.map +1 -1
  274. package/dist/tx-retry.d.ts +151 -19
  275. package/dist/tx-retry.js +286 -32
  276. package/dist/tx-retry.js.map +1 -1
  277. package/dist/types/payloads/prediction-apy-v0.d.ts +5 -5
  278. package/dist/types/payloads/prediction-v0.d.ts +5 -5
  279. package/dist/types/task-document.d.ts +392 -0
  280. package/dist/types/task-document.js +10 -0
  281. package/dist/types/task-document.js.map +1 -1
  282. package/dist/types/task.d.ts +28 -0
  283. package/dist/util/extract-tx-hash.d.ts +14 -0
  284. package/dist/util/extract-tx-hash.js +19 -0
  285. package/dist/util/extract-tx-hash.js.map +1 -0
  286. package/dist/vendor/@jinn-network/sdk/dist/contracts.js +1 -1
  287. package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.d.ts +3 -0
  288. package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.js +1 -0
  289. package/package.json +29 -12
  290. package/dist/dashboard/assets/index-DOlzFN8a.css +0 -32
  291. package/dist/dashboard/assets/index-NkZ7CTAT.js +0 -140
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../../src/harnesses/impls/hermes-agent/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../../src/harnesses/impls/hermes-agent/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,26 @@
1
- import type { Harness, HarnessContext, Solution } from '../../types.js';
1
+ import type { Harness, HarnessContext, ReadyStatus, Solution } from '../../types.js';
2
2
  import type { HermesHarnessAdapter } from './adapter.js';
3
+ import { probeOpenRouterCredit, type OpenRouterCreditConfig } from '../../../api/hermes-doctor-endpoint.js';
3
4
  export interface HermesHarnessConfig {
4
5
  adapter: HermesHarnessAdapter;
5
6
  version?: string;
7
+ /** Hermes binary path used by `isReady()`. Defaults to `hermes` (PATH lookup). */
8
+ hermesPath?: string;
9
+ /** Timeout for the `hermes doctor` probe. Defaults to 30s. */
10
+ hermesDoctorTimeoutMs?: number;
11
+ /**
12
+ * Per-task OpenRouter credit floor in USD. Below this, `isReady()` reports
13
+ * not-ready with a top-up nextStep. Defaults to
14
+ * {@link DEFAULT_OPENROUTER_CREDIT_FLOOR_USD}. Tests can inject a custom
15
+ * `creditProbe` to bypass the network probe entirely.
16
+ */
17
+ openrouterCreditFloorUsd?: number;
18
+ /**
19
+ * Optional injection point for the OpenRouter credit probe — tests use this
20
+ * to mock the network round-trip. Production code lets the harness call the
21
+ * exported `probeOpenRouterCredit` directly.
22
+ */
23
+ creditProbe?: (config: OpenRouterCreditConfig) => Promise<Awaited<ReturnType<typeof probeOpenRouterCredit>>>;
6
24
  }
7
25
  /**
8
26
  * Hermes Agent harness.
@@ -21,7 +39,47 @@ export declare class HermesHarness implements Harness {
21
39
  readonly version: string;
22
40
  readonly freezeStateHashIgnore: readonly ["auth", "auth.json", "bin/tirith", ".env", "config.yaml"];
23
41
  private readonly adapter;
42
+ private readonly hermesPath;
43
+ private readonly hermesDoctorTimeoutMs;
44
+ private readonly openrouterCreditFloorUsd;
45
+ private readonly creditProbe;
24
46
  constructor(config: HermesHarnessConfig);
47
+ /**
48
+ * Readiness probe — shells out to `hermes doctor` via the shared
49
+ * `probeHermesDoctor` helper (same logic the SPA precheck endpoint
50
+ * uses). Reports:
51
+ * - `installed: false` → binary not on PATH → ready=false with install
52
+ * nextStep so the operator sees an actionable message instead of
53
+ * N/N failed claims (#330).
54
+ * - `exitCode !== 0` → binary exists but `hermes doctor` reports a
55
+ * configuration problem (e.g. provider not signed in) → ready=false
56
+ * with a nextStep that points at the SPA precheck panel.
57
+ * - OpenRouter has no usable credential → ready=false. `hermes doctor`
58
+ * exits 0 even when every provider is logged out (it treats missing
59
+ * providers as warnings), so this third gate probes `hermes auth list
60
+ * openrouter` directly. `auth list` reads the credential pool, so it
61
+ * recognises API-key credentials (the normal `OPENROUTER_API_KEY`
62
+ * setup) as well as OAuth — unlike `auth status`, which only reflects
63
+ * interactive-OAuth-login state. Hermes is OpenRouter-only, so an
64
+ * OpenRouter with no usable credential means Hermes has no model
65
+ * provider and every claim would burn (#332/#330/#348).
66
+ * - OpenRouter credential is present but credit is exhausted → ready=false.
67
+ * Production bug, 2026-05-23: `auth list openrouter` reported the
68
+ * api_key credential as healthy, but every solve attempt for the day
69
+ * returned HTTP 402 ("This request requires more credits, or fewer
70
+ * max_tokens.") and the harness silently burned 12 claims. The fourth
71
+ * gate probes `GET https://openrouter.ai/api/v1/key` to verify the
72
+ * credential has spendable credit at or above the per-task floor.
73
+ * Fail-safe: network errors and non-200 responses are treated as
74
+ * unknown (ready), not exhausted, so a transient OpenRouter outage
75
+ * doesn't shut every operator down. Only a clearly-confirmed
76
+ * insufficient-credit signal flips ready=false.
77
+ * - all four gates pass → ready=true.
78
+ */
79
+ isReady(_ctx?: {
80
+ solverType: string;
81
+ role?: 'restoration' | 'evaluation';
82
+ }): Promise<ReadyStatus>;
25
83
  supports(spec: {
26
84
  solverType: string;
27
85
  role?: 'restoration' | 'evaluation';
@@ -1,5 +1,6 @@
1
1
  import { HERMES_AGENT_HARNESS } from '../../names.js';
2
2
  import { harvestOutput } from '../learner/harvest.js';
3
+ import { probeHermesDoctor, probeHermesAuthStatus, probeOpenRouterCredit, DEFAULT_OPENROUTER_CREDIT_FLOOR_USD, } from '../../../api/hermes-doctor-endpoint.js';
3
4
  /**
4
5
  * Hermes Agent harness.
5
6
  *
@@ -17,9 +18,112 @@ export class HermesHarness {
17
18
  version;
18
19
  freezeStateHashIgnore = ['auth', 'auth.json', 'bin/tirith', '.env', 'config.yaml'];
19
20
  adapter;
21
+ hermesPath;
22
+ hermesDoctorTimeoutMs;
23
+ openrouterCreditFloorUsd;
24
+ creditProbe;
20
25
  constructor(config) {
21
26
  this.adapter = config.adapter;
22
27
  this.version = config.version ?? '0.1.0';
28
+ this.hermesPath = config.hermesPath;
29
+ this.hermesDoctorTimeoutMs = config.hermesDoctorTimeoutMs;
30
+ this.openrouterCreditFloorUsd = config.openrouterCreditFloorUsd ?? DEFAULT_OPENROUTER_CREDIT_FLOOR_USD;
31
+ this.creditProbe = config.creditProbe ?? probeOpenRouterCredit;
32
+ }
33
+ /**
34
+ * Readiness probe — shells out to `hermes doctor` via the shared
35
+ * `probeHermesDoctor` helper (same logic the SPA precheck endpoint
36
+ * uses). Reports:
37
+ * - `installed: false` → binary not on PATH → ready=false with install
38
+ * nextStep so the operator sees an actionable message instead of
39
+ * N/N failed claims (#330).
40
+ * - `exitCode !== 0` → binary exists but `hermes doctor` reports a
41
+ * configuration problem (e.g. provider not signed in) → ready=false
42
+ * with a nextStep that points at the SPA precheck panel.
43
+ * - OpenRouter has no usable credential → ready=false. `hermes doctor`
44
+ * exits 0 even when every provider is logged out (it treats missing
45
+ * providers as warnings), so this third gate probes `hermes auth list
46
+ * openrouter` directly. `auth list` reads the credential pool, so it
47
+ * recognises API-key credentials (the normal `OPENROUTER_API_KEY`
48
+ * setup) as well as OAuth — unlike `auth status`, which only reflects
49
+ * interactive-OAuth-login state. Hermes is OpenRouter-only, so an
50
+ * OpenRouter with no usable credential means Hermes has no model
51
+ * provider and every claim would burn (#332/#330/#348).
52
+ * - OpenRouter credential is present but credit is exhausted → ready=false.
53
+ * Production bug, 2026-05-23: `auth list openrouter` reported the
54
+ * api_key credential as healthy, but every solve attempt for the day
55
+ * returned HTTP 402 ("This request requires more credits, or fewer
56
+ * max_tokens.") and the harness silently burned 12 claims. The fourth
57
+ * gate probes `GET https://openrouter.ai/api/v1/key` to verify the
58
+ * credential has spendable credit at or above the per-task floor.
59
+ * Fail-safe: network errors and non-200 responses are treated as
60
+ * unknown (ready), not exhausted, so a transient OpenRouter outage
61
+ * doesn't shut every operator down. Only a clearly-confirmed
62
+ * insufficient-credit signal flips ready=false.
63
+ * - all four gates pass → ready=true.
64
+ */
65
+ async isReady(_ctx) {
66
+ const config = {};
67
+ if (this.hermesPath !== undefined)
68
+ config.hermesPath = this.hermesPath;
69
+ if (this.hermesDoctorTimeoutMs !== undefined)
70
+ config.hermesDoctorTimeoutMs = this.hermesDoctorTimeoutMs;
71
+ const result = probeHermesDoctor(config);
72
+ if (!result.installed) {
73
+ return {
74
+ ready: false,
75
+ reason: 'hermes binary not installed',
76
+ nextStep: {
77
+ description: 'Install the Hermes agent runner — see the Hermes precheck panel in the operator dashboard for the install command.',
78
+ },
79
+ };
80
+ }
81
+ if (result.exitCode !== 0) {
82
+ const stderr = result.stderr.trim();
83
+ const stdout = result.stdout.trim();
84
+ const detail = stderr.length > 0 ? stderr : stdout;
85
+ return {
86
+ ready: false,
87
+ reason: `hermes doctor exit ${result.exitCode}${detail ? `: ${detail}` : ''}`,
88
+ nextStep: {
89
+ description: 'Run `hermes doctor` locally to surface the configuration problem, or open the Hermes precheck panel in the operator dashboard to sign in / select a provider.',
90
+ },
91
+ };
92
+ }
93
+ // Third gate: `hermes doctor` exits 0 even when every model provider is
94
+ // logged out. Hermes is OpenRouter-only, so probe OpenRouter auth
95
+ // directly — a logged-out OpenRouter means Hermes cannot run a task.
96
+ const auth = probeHermesAuthStatus('openrouter', config);
97
+ if (!auth.authed) {
98
+ return {
99
+ ready: false,
100
+ reason: 'OpenRouter not connected — Hermes has no usable model provider',
101
+ nextStep: {
102
+ description: 'Connect OpenRouter — sign in via the Hermes precheck panel in the operator dashboard, or run `hermes login` locally.',
103
+ },
104
+ };
105
+ }
106
+ // Fourth gate: probe OpenRouter's `/api/v1/key` for spendable credit.
107
+ // Catches the case where the credential is present and pool-healthy but
108
+ // the account is out of money — without this, the harness burns claims
109
+ // on 402 responses (production bug, 2026-05-23). Fail-safe: only a
110
+ // clearly-confirmed exhausted state flips ready=false.
111
+ const credit = await this.creditProbe({ floorUsd: this.openrouterCreditFloorUsd });
112
+ if (credit.state === 'exhausted') {
113
+ const remaining = typeof credit.remainingUsd === 'number'
114
+ ? `$${credit.remainingUsd.toFixed(2)}`
115
+ : 'below floor';
116
+ const floor = `$${credit.floorUsd.toFixed(2)}`;
117
+ return {
118
+ ready: false,
119
+ reason: `OpenRouter credit insufficient for the next solve — remaining ${remaining} < floor ${floor}`,
120
+ nextStep: {
121
+ description: 'OpenRouter credit insufficient for the next solve — top up at https://openrouter.ai/credits, then re-check readiness.',
122
+ url: 'https://openrouter.ai/credits',
123
+ },
124
+ };
125
+ }
126
+ return { ready: true };
23
127
  }
24
128
  supports(spec) {
25
129
  // Hermes currently ships a SWE-rebench v2 task prompt and runtime plugin.
@@ -1 +1 @@
1
- {"version":3,"file":"harness.js","sourceRoot":"","sources":["../../../../src/harnesses/impls/hermes-agent/harness.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAOtD;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,aAAa;IACf,IAAI,GAAG,oBAAoB,CAAC;IAC5B,OAAO,CAAS;IAChB,qBAAqB,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,CAAU,CAAC;IACpF,OAAO,CAAuB;IAE/C,YAAY,MAA2B;QACrC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC;IAC3C,CAAC;IAED,QAAQ,CAAC,IAAiE;QACxE,0EAA0E;QAC1E,oEAAoE;QACpE,wCAAwC;QACxC,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,UAAU,KAAK,mBAAmB,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAmB;QAC3B,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YACzB,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE;YACnB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU;YAC/B,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,KAAK;YAC3B,QAAQ,EAAE,GAAG,CAAC,IAAW;YACzB,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,WAAW,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;YAC/C,aAAa,EAAE,MAAM,CAAC,OAAO;YAC7B,WAAW,EAAE,MAAM,CAAC,KAAK;YACzB,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE;YAChC,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1E,OAAO,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;IAC9E,CAAC;CACF"}
1
+ {"version":3,"file":"harness.js","sourceRoot":"","sources":["../../../../src/harnesses/impls/hermes-agent/harness.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,13 @@ export interface HarnessEnv {
46
46
  codexPath?: string;
47
47
  /** Default Codex model when a SolverNet does not specify one. */
48
48
  codexModel?: string;
49
+ /** Local OpenAI-compatible Codex provider base URL. */
50
+ codexBaseUrl?: string;
51
+ /**
52
+ * Timeout (ms) for the `codex --version` probe in the Codex variant of
53
+ * `LearnerHarness.isReady`.
54
+ */
55
+ codexDoctorTimeoutMs?: number;
49
56
  /** Optional Polymarket Gamma API override for acceptance or private mirrors. */
50
57
  polymarketGammaBaseUrl?: string;
51
58
  /** Optional Polymarket CLOB API override for acceptance or private mirrors. */
@@ -82,6 +89,8 @@ export interface HarnessEnv {
82
89
  hermesModel?: string;
83
90
  /** Hermes provider (e.g. 'anthropic'). */
84
91
  hermesProvider?: string;
92
+ /** Timeout (ms) for the `hermes doctor` probe in HermesHarness.isReady. */
93
+ hermesDoctorTimeoutMs?: number;
85
94
  }
86
95
  /**
87
96
  * Build the canonical ordered list of first-party restoration/evaluation Harnesses.
@@ -15,6 +15,7 @@ import { LearnerHarness, } from './learner/index.js';
15
15
  import { ClaudeCodeHarnessAdapter, CodexCodeHarnessAdapter } from './learner/index.js';
16
16
  import { SweRebenchV2EvaluatorHarness } from './swe-rebench-v2-evaluator/harness.js';
17
17
  import { HermesHarness, HermesHarnessAdapter } from './hermes-agent/index.js';
18
+ import { maybeCreateStubHarnessFromEnv } from './stub.js';
18
19
  import { canonicalHarnessName, canonicalHarnessNameSet, CODEX_HARNESS, } from '../names.js';
19
20
  /**
20
21
  * Build the canonical ordered list of first-party restoration/evaluation Harnesses.
@@ -98,6 +99,12 @@ export function buildHarnesses(env) {
98
99
  : undefined,
99
100
  ipfsRegistryUrl: env.ipfsRegistryUrl,
100
101
  }));
102
+ // Env-gated stub harness for T2.2 release gate. Active only when
103
+ // JINN_HARNESS_STUB_INSTANCE is set; no-op otherwise.
104
+ const stub = maybeCreateStubHarnessFromEnv();
105
+ if (stub) {
106
+ out.push(stub);
107
+ }
101
108
  // Operator-supplied external Harnesses are appended before the default learner
102
109
  // so explicit SolverNet harness settings can select them.
103
110
  if (env.externalImpls && env.externalImpls.length > 0) {
@@ -123,6 +130,7 @@ export function buildHarnesses(env) {
123
130
  const codexLearnerAdapter = new CodexCodeHarnessAdapter({
124
131
  codexPath: env.codexPath,
125
132
  codexModel: env.codexModel,
133
+ codexBaseUrl: env.codexBaseUrl,
126
134
  storePath: env.storePath,
127
135
  daemonApiUrl: env.daemonApiUrl,
128
136
  daemonApiToken: env.daemonApiToken,
@@ -132,6 +140,12 @@ export function buildHarnesses(env) {
132
140
  name: CODEX_HARNESS,
133
141
  adapter: codexLearnerAdapter,
134
142
  claudePath: env.claudePath,
143
+ ...(env.codexPath !== undefined ? { codexPath: env.codexPath } : {}),
144
+ ...(env.codexModel !== undefined ? { codexModel: env.codexModel } : {}),
145
+ ...(env.codexBaseUrl !== undefined ? { codexBaseUrl: env.codexBaseUrl } : {}),
146
+ ...(env.codexDoctorTimeoutMs !== undefined
147
+ ? { codexDoctorTimeoutMs: env.codexDoctorTimeoutMs }
148
+ : {}),
135
149
  }));
136
150
  const hermesAdapter = new HermesHarnessAdapter({
137
151
  hermesPath: env.hermesPath,
@@ -142,7 +156,11 @@ export function buildHarnesses(env) {
142
156
  storePath: env.storePath,
143
157
  corpusEnv: env.corpusEnv ?? {},
144
158
  });
145
- out.push(new HermesHarness({ adapter: hermesAdapter }));
159
+ out.push(new HermesHarness({
160
+ adapter: hermesAdapter,
161
+ ...(env.hermesPath !== undefined ? { hermesPath: env.hermesPath } : {}),
162
+ ...(env.hermesDoctorTimeoutMs !== undefined ? { hermesDoctorTimeoutMs: env.hermesDoctorTimeoutMs } : {}),
163
+ }));
146
164
  if (env.disabledNames && env.disabledNames.length > 0) {
147
165
  const disabled = canonicalHarnessNameSet(env.disabledNames);
148
166
  return out.filter((impl) => !disabled.has(canonicalHarnessName(impl.name)));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/harnesses/impls/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/harnesses/impls/index.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import type { HarnessAdapter, TaskSessionInputs } from '../types.js';
3
3
  export interface CodexCodeHarnessAdapterConfig {
4
4
  codexPath?: string;
5
5
  codexModel?: string;
6
+ codexBaseUrl?: string;
6
7
  storePath?: string;
7
8
  daemonApiUrl?: string;
8
9
  daemonApiToken?: string;
@@ -19,11 +20,13 @@ export interface CodexCodeHarnessAdapterConfig {
19
20
  _spawnFn?: typeof spawn;
20
21
  _runSessionStartHook?: boolean;
21
22
  }
23
+ export declare function isLocalCodexBaseUrl(value: string): boolean;
22
24
  export declare class CodexCodeHarnessAdapter implements HarnessAdapter {
23
25
  readonly name = "codex-code";
24
26
  readonly allowsHarnessSelfModification = false;
25
27
  private readonly codexPath;
26
28
  private readonly codexModel;
29
+ private readonly codexBaseUrl;
27
30
  private readonly storePath;
28
31
  private readonly daemonApiUrl;
29
32
  private readonly daemonApiToken;
@@ -1,10 +1,12 @@
1
1
  import { spawn, spawnSync } from 'node:child_process';
2
2
  import { accessSync, constants, createWriteStream, mkdirSync } from 'node:fs';
3
+ import { isIP } from 'node:net';
3
4
  import { dirname, join, resolve } from 'node:path';
4
5
  import { finished } from 'node:stream/promises';
5
6
  import { fileURLToPath } from 'node:url';
6
7
  import { prepareCodexPluginWorkspace } from './codex-workspace.js';
7
8
  const DEFAULT_CODEX_MODEL = 'gpt-5.4-mini';
9
+ const LOCAL_CODEX_PROVIDER = 'jinn-local';
8
10
  const MACOS_CODEX_APP_BINARY = '/Applications/Codex.app/Contents/Resources/codex';
9
11
  const ENV_ALLOWLIST = [
10
12
  'PATH',
@@ -67,6 +69,48 @@ function taskContextJson(inputs) {
67
69
  return '';
68
70
  }
69
71
  }
72
+ function codexConfigPath(parts) {
73
+ return parts.map((part) => /^[A-Za-z0-9_-]+$/.test(part)
74
+ ? part
75
+ : `"${part.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`).join('.');
76
+ }
77
+ function codexConfigValue(value) {
78
+ return JSON.stringify(value);
79
+ }
80
+ export function isLocalCodexBaseUrl(value) {
81
+ try {
82
+ const url = new URL(value);
83
+ if (url.protocol !== 'http:' && url.protocol !== 'https:')
84
+ return false;
85
+ if (url.username || url.password)
86
+ return false;
87
+ const hostname = url.hostname.toLowerCase();
88
+ if (hostname === 'localhost')
89
+ return true;
90
+ if (hostname === '[::1]' || hostname === '::1')
91
+ return true;
92
+ return isIP(hostname) === 4 && hostname.startsWith('127.');
93
+ }
94
+ catch {
95
+ return false;
96
+ }
97
+ }
98
+ function codexProviderConfigArgs(baseUrl) {
99
+ const normalizedBaseUrl = baseUrl?.trim();
100
+ if (!normalizedBaseUrl)
101
+ return [];
102
+ if (normalizedBaseUrl && !isLocalCodexBaseUrl(normalizedBaseUrl)) {
103
+ throw new Error('codex-code adapter: codexBaseUrl must be local; remote custom providers are not supported');
104
+ }
105
+ const args = [`model_provider=${codexConfigValue(LOCAL_CODEX_PROVIDER)}`];
106
+ if (normalizedBaseUrl) {
107
+ const prefix = ['model_providers', LOCAL_CODEX_PROVIDER];
108
+ args.push(`${codexConfigPath([...prefix, 'name'])}=${codexConfigValue(LOCAL_CODEX_PROVIDER)}`);
109
+ args.push(`${codexConfigPath([...prefix, 'base_url'])}=${codexConfigValue(normalizedBaseUrl)}`);
110
+ args.push(`${codexConfigPath([...prefix, 'wire_api'])}=${codexConfigValue('responses')}`);
111
+ }
112
+ return args;
113
+ }
70
114
  /**
71
115
  * Construct the initial task prompt for the Codex Code agent.
72
116
  *
@@ -111,6 +155,7 @@ export class CodexCodeHarnessAdapter {
111
155
  allowsHarnessSelfModification = false;
112
156
  codexPath;
113
157
  codexModel;
158
+ codexBaseUrl;
114
159
  storePath;
115
160
  daemonApiUrl;
116
161
  daemonApiToken;
@@ -121,6 +166,7 @@ export class CodexCodeHarnessAdapter {
121
166
  constructor(config = {}) {
122
167
  this.codexPath = config.codexPath ?? defaultCodexPath();
123
168
  this.codexModel = config.codexModel ?? DEFAULT_CODEX_MODEL;
169
+ this.codexBaseUrl = config.codexBaseUrl;
124
170
  this.storePath = config.storePath;
125
171
  this.daemonApiUrl = config.daemonApiUrl;
126
172
  this.daemonApiToken = config.daemonApiToken;
@@ -187,6 +233,9 @@ export class CodexCodeHarnessAdapter {
187
233
  '-m',
188
234
  inputs.model ?? inputs.claudeModel ?? this.codexModel,
189
235
  ];
236
+ for (const configArg of codexProviderConfigArgs(this.codexBaseUrl)) {
237
+ args.push('-c', configArg);
238
+ }
190
239
  for (const configArg of prepared.configArgs) {
191
240
  args.push('-c', configArg);
192
241
  }
@@ -1 +1 @@
1
- {"version":3,"file":"codex-code.js","sourceRoot":"","sources":["../../../../../src/harnesses/impls/learner/adapters/codex-code.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-code.js","sourceRoot":"","sources":["../../../../../src/harnesses/impls/learner/adapters/codex-code.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Harness, HarnessContext, Solution } from '../../types.js';
1
+ import type { Harness, HarnessContext, ReadyStatus, Solution } from '../../types.js';
2
2
  import type { LearnerHarnessConfig } from './types.js';
3
3
  /**
4
4
  * `Harness` shell. Bridges the engine's dispatch contract
@@ -14,12 +14,49 @@ export declare class LearnerHarness implements Harness {
14
14
  private readonly adapter;
15
15
  private readonly pluginRoot;
16
16
  private readonly claudePath;
17
+ private readonly codexPath;
18
+ private readonly codexBaseUrl;
19
+ private readonly codexDoctorTimeoutMs;
17
20
  private readonly runtimeMode;
18
21
  constructor(config: LearnerHarnessConfig);
19
- isReady: (_ctx?: {
22
+ private readonly claudeIsReady;
23
+ /**
24
+ * Readiness probe.
25
+ *
26
+ * The `LearnerHarness` shell backs two distinct CLIs: claude-code (the
27
+ * default) and Codex (`name === CODEX_HARNESS`). The probe MUST match the
28
+ * CLI actually invoked — delegating the Codex variant to the claude auth
29
+ * probe makes a missing/unconfigured `codex` install look always-ready and
30
+ * burns N/N failed claims (#348, the same-shape bug as #330).
31
+ *
32
+ * - claude-code → `buildClaudeIsReady` (shells `claude auth status`).
33
+ * - Codex → `probeCodexDoctor` (shells `codex --version`, then
34
+ * checks for `OPENAI_API_KEY` / a `codex login` auth file).
35
+ */
36
+ isReady(ctx?: {
20
37
  solverType: string;
21
- role?: "restoration" | "evaluation";
22
- }) => Promise<import("../../types.js").ReadyStatus>;
38
+ role?: 'restoration' | 'evaluation';
39
+ }): Promise<ReadyStatus>;
40
+ /**
41
+ * Codex-specific readiness probe. Shells `codex --version` via the shared
42
+ * `probeCodexDoctor` helper (same logic the SPA precheck endpoint uses).
43
+ * Reports:
44
+ * - `installed: false` → binary not on PATH → ready=false with an install
45
+ * nextStep so the operator sees an actionable message instead of N/N
46
+ * failed claims (#348).
47
+ * - `exitCode !== 0` → binary exists but `codex --version` failed →
48
+ * ready=false pointing at the Codex precheck panel.
49
+ * - local `codexBaseUrl` → binary runs and the local sidecar owns auth, so
50
+ * Codex auth is not required.
51
+ * - `authStatus: 'not_configured'` → binary runs but no `OPENAI_API_KEY`
52
+ * and no `codex login` session → ready=false with a sign-in nextStep.
53
+ * - `authStatus: 'expired'` → an `auth.json` is present but its OAuth
54
+ * session has expired (or the file is malformed) → ready=false with a
55
+ * re-login nextStep. Distinct from `not_configured` so a logged-out
56
+ * operator with a leftover file is not treated as ready (#366).
57
+ * - otherwise → ready=true.
58
+ */
59
+ private codexIsReady;
23
60
  supports(spec: {
24
61
  solverType: string;
25
62
  role?: 'restoration' | 'evaluation';