@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
@@ -21,6 +21,14 @@ function isTaskNativeService(service) {
21
21
  isNonZeroAddress(service.safe_address) &&
22
22
  isNonZeroAddress(service.mech_address);
23
23
  }
24
+ function hasConfiguredEvaluatorRole(config) {
25
+ const legacySolverNets = Object.values(config.solverNets ?? {});
26
+ const legacyHasEvaluator = legacySolverNets.some((entry) => (entry.enabled !== false && entry.roles.includes('evaluating')));
27
+ if (legacyHasEvaluator)
28
+ return true;
29
+ const joinedSolverNets = Object.values(config.joinedSolverNets ?? {});
30
+ return joinedSolverNets.some((entry) => entry.roles.includes('evaluator'));
31
+ }
24
32
  function loadFleetState(config) {
25
33
  const path = taskNativeStatePath(config);
26
34
  if (!existsSync(path)) {
@@ -48,6 +56,8 @@ export function resolveTaskNativeReadiness(config) {
48
56
  ok: false,
49
57
  solverReady: false,
50
58
  evaluatorReady: false,
59
+ evaluatorRoleReady: false,
60
+ distinctEvaluatorServiceReady: false,
51
61
  detail: source
52
62
  ? `Task-native deployment artifact is not bundled at ${source}`
53
63
  : `Task-native deployment artifact is not bundled for ${chain}`,
@@ -70,6 +80,8 @@ export function resolveTaskNativeReadiness(config) {
70
80
  ok: false,
71
81
  solverReady: false,
72
82
  evaluatorReady: false,
83
+ evaluatorRoleReady: false,
84
+ distinctEvaluatorServiceReady: false,
73
85
  detail: `Task-native deployment config could not be resolved: ${err instanceof Error ? err.message : String(err)}`,
74
86
  remedy: 'Verify bundled deployment artifacts and deployment path overrides.',
75
87
  source,
@@ -85,6 +97,8 @@ export function resolveTaskNativeReadiness(config) {
85
97
  ok: false,
86
98
  solverReady: false,
87
99
  evaluatorReady: false,
100
+ evaluatorRoleReady: false,
101
+ distinctEvaluatorServiceReady: false,
88
102
  detail: `Task-native deployment artifact could not be parsed at ${source}: ${err instanceof Error ? err.message : String(err)}`,
89
103
  remedy: 'Refresh the bundled TaskCoordinator/JinnRouterV3 deployment artifact.',
90
104
  source,
@@ -119,6 +133,7 @@ export function resolveTaskNativeReadiness(config) {
119
133
  const evaluator = active
120
134
  ? taskNativeServices.find((svc) => svc.safe_address.toLowerCase() !== active.safe_address.toLowerCase())
121
135
  : undefined;
136
+ const configuredEvaluatorRole = hasConfiguredEvaluatorRole(config);
122
137
  const stateChainReady = state?.chain === expectedFleetChain;
123
138
  const operatorState = {
124
139
  statePath: stateLoad.path,
@@ -129,7 +144,7 @@ export function resolveTaskNativeReadiness(config) {
129
144
  ...(active?.mech_address ? { activeMech: active.mech_address } : {}),
130
145
  ...(evaluator?.safe_address ? { evaluatorSafe: evaluator.safe_address } : {}),
131
146
  ...(evaluator?.mech_address ? { evaluatorMech: evaluator.mech_address } : {}),
132
- selfEvaluationAllowed: false,
147
+ distinctEvaluatorServiceReady: Boolean(evaluator),
133
148
  };
134
149
  const stateIssues = [
135
150
  stateLoad.error ?? null,
@@ -144,17 +159,24 @@ export function resolveTaskNativeReadiness(config) {
144
159
  claimVariantReady ? null : `router claim variant is ${chainCfg.routerClaimDeliveryVersion}, expected v3`,
145
160
  ].filter((part) => part !== null);
146
161
  const solverReady = deploymentReady && stateChainReady && Boolean(active);
147
- const evaluatorReady = solverReady && Boolean(evaluator);
148
- const evaluatorDetail = evaluatorReady
149
- ? `evaluator-ready=true evaluatorSafe=${evaluator.safe_address} evaluatorMech=${evaluator.mech_address}`
150
- : 'evaluator-ready=false (self-evaluation is disabled and no distinct evaluator Safe/Mech is configured)';
162
+ const evaluatorRoleReady = solverReady && configuredEvaluatorRole;
163
+ const distinctEvaluatorServiceReady = solverReady && Boolean(evaluator);
164
+ const evaluatorReady = evaluatorRoleReady;
165
+ const evaluatorRoleDetail = evaluatorRoleReady
166
+ ? 'evaluator-role=ready'
167
+ : 'evaluator-role=not-ready (operator has not joined any evaluator role)';
168
+ const evaluatorTopologyDetail = distinctEvaluatorServiceReady
169
+ ? `evaluator-topology=distinct evaluatorSafe=${evaluator.safe_address} evaluatorMech=${evaluator.mech_address}`
170
+ : 'evaluator-topology=same-service (no distinct evaluator Safe/Mech configured)';
151
171
  const detail = solverReady
152
- ? `Task-native solver-ready=true ${evaluatorDetail} on ${chain}: TaskCoordinator=${taskCoordinator}, JinnRouterV3=${jinnRouterV3}, TaskActivityCheckerV3=${taskActivityCheckerV3}; activeSafe=${active.safe_address} activeMech=${active.mech_address}`
172
+ ? `Task-native solver-ready=true evaluator-ready=${evaluatorReady ? 'true' : 'false'} ${evaluatorRoleDetail}; ${evaluatorTopologyDetail} on ${chain}: TaskCoordinator=${taskCoordinator}, JinnRouterV3=${jinnRouterV3}, TaskActivityCheckerV3=${taskActivityCheckerV3}; activeSafe=${active.safe_address} activeMech=${active.mech_address}`
153
173
  : `Task-native not ready on ${chain}: ${[...deploymentIssues, ...stateIssues].join('; ')}`;
154
174
  return {
155
175
  ok: solverReady,
156
176
  solverReady,
157
177
  evaluatorReady,
178
+ evaluatorRoleReady,
179
+ distinctEvaluatorServiceReady,
158
180
  detail,
159
181
  ...(solverReady
160
182
  ? {}
@@ -1 +1 @@
1
- {"version":3,"file":"task-native-readiness.js","sourceRoot":"","sources":["../../src/cli/task-native-readiness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-native-readiness.js","sourceRoot":"","sources":["../../src/cli/task-native-readiness.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -96,6 +96,20 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
96
96
  * Set to 0 to disable. Env: JINN_BALANCE_TOPUP_INTERVAL_MS
97
97
  */
98
98
  balanceTopupIntervalMs: z.ZodDefault<z.ZodNumber>;
99
+ /**
100
+ * Interval between eviction-state polls for the staking proxy (ms).
101
+ * Default 60000 (1 min). Set to 0 to disable. Env: JINN_EVICTION_CHECK_INTERVAL_MS
102
+ */
103
+ evictionCheckIntervalMs: z.ZodDefault<z.ZodNumber>;
104
+ /**
105
+ * Interval between proactive `checkpoint()` tx calls to each staked
106
+ * proxy (ms). Keeps `tsCheckpoint` advancing so the activity-rate window
107
+ * stays narrow — without it operators silently fail liveness on realistic
108
+ * cadence (issue #505). Default 300_000 (5 min), matching the standard
109
+ * `livenessPeriod` on stOLAS staking proxies. Set to 0 to disable.
110
+ * Env: JINN_CHECKPOINT_INTERVAL_MS.
111
+ */
112
+ checkpointIntervalMs: z.ZodDefault<z.ZodNumber>;
99
113
  /** HTTP API port */
100
114
  apiPort: z.ZodDefault<z.ZodNumber>;
101
115
  /**
@@ -123,6 +137,17 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
123
137
  * Default 30 000 ms. Env: JINN_HERMES_DOCTOR_TIMEOUT_MS.
124
138
  */
125
139
  hermesDoctorTimeoutMs: z.ZodDefault<z.ZodNumber>;
140
+ /** Path to the `codex` executable. Defaults to `codex` when unset. */
141
+ codexPath: z.ZodOptional<z.ZodString>;
142
+ /** Default Codex model when a SolverNet does not specify one. */
143
+ codexModel: z.ZodOptional<z.ZodString>;
144
+ /** Local Codex provider base URL, e.g. http://127.0.0.1:11434/v1 for Ollama. */
145
+ codexBaseUrl: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
146
+ /**
147
+ * Timeout in ms for `codex --version` health-check runs.
148
+ * Default 30 000 ms. Env: JINN_CODEX_DOCTOR_TIMEOUT_MS.
149
+ */
150
+ codexDoctorTimeoutMs: z.ZodDefault<z.ZodNumber>;
126
151
  /**
127
152
  * How the operator runs the daemon. Set once by app-guided setup or the
128
153
  * legacy `jinn auth` compatibility command, then read by every command that
@@ -208,6 +233,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
208
233
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
209
234
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
210
235
  policyHook: z.ZodOptional<z.ZodString>;
236
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
211
237
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
212
238
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
213
239
  maxClaims: z.ZodNumber;
@@ -217,6 +243,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
217
243
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
218
244
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
219
245
  policyHook: z.ZodOptional<z.ZodString>;
246
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
220
247
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
221
248
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
222
249
  maxClaims: z.ZodNumber;
@@ -226,6 +253,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
226
253
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
227
254
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
228
255
  policyHook: z.ZodOptional<z.ZodString>;
256
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
229
257
  }, z.ZodTypeAny, "passthrough">>>;
230
258
  signedTask: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodObject<{
231
259
  signature: z.ZodObject<{
@@ -273,6 +301,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
273
301
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
274
302
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
275
303
  policyHook: z.ZodOptional<z.ZodString>;
304
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
276
305
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
277
306
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
278
307
  maxClaims: z.ZodNumber;
@@ -282,6 +311,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
282
311
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
283
312
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
284
313
  policyHook: z.ZodOptional<z.ZodString>;
314
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
285
315
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
286
316
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
287
317
  maxClaims: z.ZodNumber;
@@ -291,6 +321,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
291
321
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
292
322
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
293
323
  policyHook: z.ZodOptional<z.ZodString>;
324
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
294
325
  }, z.ZodTypeAny, "passthrough">>;
295
326
  creator: z.ZodObject<{
296
327
  safeAddress: z.ZodString;
@@ -349,6 +380,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
349
380
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
350
381
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
351
382
  policyHook: z.ZodOptional<z.ZodString>;
383
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
352
384
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
353
385
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
354
386
  maxClaims: z.ZodNumber;
@@ -358,6 +390,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
358
390
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
359
391
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
360
392
  policyHook: z.ZodOptional<z.ZodString>;
393
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
361
394
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
362
395
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
363
396
  maxClaims: z.ZodNumber;
@@ -367,6 +400,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
367
400
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
368
401
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
369
402
  policyHook: z.ZodOptional<z.ZodString>;
403
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
370
404
  }, z.ZodTypeAny, "passthrough">>;
371
405
  creator: z.ZodObject<{
372
406
  safeAddress: z.ZodString;
@@ -425,6 +459,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
425
459
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
426
460
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
427
461
  policyHook: z.ZodOptional<z.ZodString>;
462
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
428
463
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
429
464
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
430
465
  maxClaims: z.ZodNumber;
@@ -434,6 +469,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
434
469
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
435
470
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
436
471
  policyHook: z.ZodOptional<z.ZodString>;
472
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
437
473
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
438
474
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
439
475
  maxClaims: z.ZodNumber;
@@ -443,6 +479,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
443
479
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
444
480
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
445
481
  policyHook: z.ZodOptional<z.ZodString>;
482
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
446
483
  }, z.ZodTypeAny, "passthrough">>;
447
484
  creator: z.ZodObject<{
448
485
  safeAddress: z.ZodString;
@@ -501,6 +538,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
501
538
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
502
539
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
503
540
  policyHook: z.ZodOptional<z.ZodString>;
541
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
504
542
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
505
543
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
506
544
  maxClaims: z.ZodNumber;
@@ -510,6 +548,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
510
548
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
511
549
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
512
550
  policyHook: z.ZodOptional<z.ZodString>;
551
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
513
552
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
514
553
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
515
554
  maxClaims: z.ZodNumber;
@@ -519,6 +558,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
519
558
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
520
559
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
521
560
  policyHook: z.ZodOptional<z.ZodString>;
561
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
522
562
  }, z.ZodTypeAny, "passthrough">>;
523
563
  creator: z.ZodObject<{
524
564
  safeAddress: z.ZodString;
@@ -577,6 +617,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
577
617
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
578
618
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
579
619
  policyHook: z.ZodOptional<z.ZodString>;
620
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
580
621
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
581
622
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
582
623
  maxClaims: z.ZodNumber;
@@ -586,6 +627,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
586
627
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
587
628
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
588
629
  policyHook: z.ZodOptional<z.ZodString>;
630
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
589
631
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
590
632
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
591
633
  maxClaims: z.ZodNumber;
@@ -595,6 +637,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
595
637
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
596
638
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
597
639
  policyHook: z.ZodOptional<z.ZodString>;
640
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
598
641
  }, z.ZodTypeAny, "passthrough">>;
599
642
  creator: z.ZodObject<{
600
643
  safeAddress: z.ZodString;
@@ -637,6 +680,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
637
680
  claimWindowEndTs?: number | undefined;
638
681
  submissionDeadlineTs?: number | undefined;
639
682
  policyHook?: string | undefined;
683
+ requiredVerdicts?: number | undefined;
640
684
  } & {
641
685
  [k: string]: unknown;
642
686
  };
@@ -691,6 +735,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
691
735
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
692
736
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
693
737
  policyHook: z.ZodOptional<z.ZodString>;
738
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
694
739
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
695
740
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
696
741
  maxClaims: z.ZodNumber;
@@ -700,6 +745,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
700
745
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
701
746
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
702
747
  policyHook: z.ZodOptional<z.ZodString>;
748
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
703
749
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
704
750
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
705
751
  maxClaims: z.ZodNumber;
@@ -709,6 +755,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
709
755
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
710
756
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
711
757
  policyHook: z.ZodOptional<z.ZodString>;
758
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
712
759
  }, z.ZodTypeAny, "passthrough">>;
713
760
  creator: z.ZodObject<{
714
761
  safeAddress: z.ZodString;
@@ -745,6 +792,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
745
792
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
746
793
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
747
794
  policyHook: z.ZodOptional<z.ZodString>;
795
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
748
796
  }, z.ZodTypeAny, "passthrough"> | undefined;
749
797
  context?: Record<string, unknown> | undefined;
750
798
  attemptId?: string | undefined;
@@ -780,6 +828,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
780
828
  claimWindowEndTs?: number | undefined;
781
829
  submissionDeadlineTs?: number | undefined;
782
830
  policyHook?: string | undefined;
831
+ requiredVerdicts?: number | undefined;
783
832
  } & {
784
833
  [k: string]: unknown;
785
834
  };
@@ -812,6 +861,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
812
861
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
813
862
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
814
863
  policyHook: z.ZodOptional<z.ZodString>;
864
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
815
865
  }, z.ZodTypeAny, "passthrough"> | undefined;
816
866
  context?: Record<string, unknown> | undefined;
817
867
  attemptId?: string | undefined;
@@ -863,6 +913,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
863
913
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
864
914
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
865
915
  policyHook: z.ZodOptional<z.ZodString>;
916
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
866
917
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
867
918
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
868
919
  maxClaims: z.ZodNumber;
@@ -872,6 +923,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
872
923
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
873
924
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
874
925
  policyHook: z.ZodOptional<z.ZodString>;
926
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
875
927
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
876
928
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
877
929
  maxClaims: z.ZodNumber;
@@ -881,6 +933,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
881
933
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
882
934
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
883
935
  policyHook: z.ZodOptional<z.ZodString>;
936
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
884
937
  }, z.ZodTypeAny, "passthrough">>;
885
938
  creator: z.ZodObject<{
886
939
  safeAddress: z.ZodString;
@@ -922,7 +975,8 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
922
975
  jinnMviL2DeploymentPath: z.ZodOptional<z.ZodString>;
923
976
  /**
924
977
  * RPC endpoint for the L1 governance chain (Ethereum / Sepolia) where the
925
- * JinnDistributor lives. Required when jinnDistributorAddress is set.
978
+ * JinnDistributor lives. Testnet defaults to a public Sepolia RPC; mainnet
979
+ * requires an operator override when L1 submit mode is configured.
926
980
  * Env: JINN_ETHEREUM_RPC_URL.
927
981
  */
928
982
  ethereumRpcUrl: z.ZodOptional<z.ZodString>;
@@ -939,10 +993,10 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
939
993
  */
940
994
  jinnL1Network: z.ZodDefault<z.ZodEnum<["sepolia", "ethereum"]>>;
941
995
  /**
942
- * JinnDistributor address on the L1 governance chain. Setting this enables
943
- * the cross-chain claim loop. When set, ethereumRpcUrl MUST also be set.
944
- * Resolved from jinnMviL1DeploymentPath when omitted; otherwise a manual
945
- * override. Env: JINN_DISTRIBUTOR_ADDRESS.
996
+ * JinnDistributor address on the L1 governance chain. Required for
997
+ * jinnClaimSubmissionMode='submit'. When set for submit mode, ethereumRpcUrl
998
+ * MUST also be set. Resolved from jinnMviL1DeploymentPath when omitted;
999
+ * otherwise a manual override. Env: JINN_DISTRIBUTOR_ADDRESS.
946
1000
  */
947
1001
  jinnDistributorAddress: z.ZodOptional<z.ZodString>;
948
1002
  /**
@@ -967,6 +1021,20 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
967
1021
  * Env: JINN_MESSENGER_MODE.
968
1022
  */
969
1023
  jinnMessengerMode: z.ZodDefault<z.ZodEnum<["canonical", "mock"]>>;
1024
+ /**
1025
+ * Claim submission mode. `emit-only` only submits TaskClaimEmitter.emitClaim
1026
+ * on L2 and records the resulting ticket. `submit` continues into the L1
1027
+ * messenger/distributor path.
1028
+ * Env: JINN_CLAIM_SUBMISSION_MODE.
1029
+ */
1030
+ jinnClaimSubmissionMode: z.ZodDefault<z.ZodEnum<["emit-only", "submit"]>>;
1031
+ /**
1032
+ * Explicit operator gate for the cross-chain JINN claim loop. The schema
1033
+ * default stays off for mainnet/unknown networks; loadConfig defaults this
1034
+ * on for testnet now that the emitter and standing relayer are live.
1035
+ * Env: JINN_CLAIM_LOOP_ENABLED=1|true|yes.
1036
+ */
1037
+ jinnClaimLoopEnabled: z.ZodDefault<z.ZodBoolean>;
970
1038
  /**
971
1039
  * How often the daemon ticks the cross-chain JINN claim loop (ms). Default
972
1040
  * 3 600 000 (1 hour) — well below mainnet challenge windows while
@@ -1384,10 +1452,13 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1384
1452
  pollIntervalMs: number;
1385
1453
  rewardClaimIntervalMs: number;
1386
1454
  balanceTopupIntervalMs: number;
1455
+ evictionCheckIntervalMs: number;
1456
+ checkpointIntervalMs: number;
1387
1457
  apiPort: number;
1388
1458
  claudePath: string;
1389
1459
  claudeModel: string;
1390
1460
  hermesDoctorTimeoutMs: number;
1461
+ codexDoctorTimeoutMs: number;
1391
1462
  peers: string[];
1392
1463
  tasks: {
1393
1464
  id?: string | undefined;
@@ -1412,6 +1483,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1412
1483
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
1413
1484
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
1414
1485
  policyHook: z.ZodOptional<z.ZodString>;
1486
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
1415
1487
  }, z.ZodTypeAny, "passthrough"> | undefined;
1416
1488
  context?: Record<string, unknown> | undefined;
1417
1489
  attemptId?: string | undefined;
@@ -1447,6 +1519,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1447
1519
  claimWindowEndTs?: number | undefined;
1448
1520
  submissionDeadlineTs?: number | undefined;
1449
1521
  policyHook?: string | undefined;
1522
+ requiredVerdicts?: number | undefined;
1450
1523
  } & {
1451
1524
  [k: string]: unknown;
1452
1525
  };
@@ -1461,6 +1534,8 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1461
1534
  ipfsGatewayUrl: string;
1462
1535
  jinnL1Network: "sepolia" | "ethereum";
1463
1536
  jinnMessengerMode: "canonical" | "mock";
1537
+ jinnClaimSubmissionMode: "emit-only" | "submit";
1538
+ jinnClaimLoopEnabled: boolean;
1464
1539
  jinnClaimLoopIntervalMs: number;
1465
1540
  stakingMode: "standard" | "self-bond";
1466
1541
  targetServices: number;
@@ -1495,6 +1570,9 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1495
1570
  hermesPath?: string | undefined;
1496
1571
  hermesModel?: string | undefined;
1497
1572
  hermesProvider?: string | undefined;
1573
+ codexPath?: string | undefined;
1574
+ codexModel?: string | undefined;
1575
+ codexBaseUrl?: string | undefined;
1498
1576
  runtimeMode?: "bare" | "docker-compose" | "container" | undefined;
1499
1577
  discovery?: {
1500
1578
  mode?: "http" | "embedded" | "onchain" | undefined;
@@ -1572,6 +1650,8 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1572
1650
  pollIntervalMs?: number | undefined;
1573
1651
  rewardClaimIntervalMs?: number | undefined;
1574
1652
  balanceTopupIntervalMs?: number | undefined;
1653
+ evictionCheckIntervalMs?: number | undefined;
1654
+ checkpointIntervalMs?: number | undefined;
1575
1655
  apiPort?: number | undefined;
1576
1656
  apiBindHost?: string | undefined;
1577
1657
  claudePath?: string | undefined;
@@ -1580,6 +1660,10 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1580
1660
  hermesModel?: string | undefined;
1581
1661
  hermesProvider?: string | undefined;
1582
1662
  hermesDoctorTimeoutMs?: number | undefined;
1663
+ codexPath?: string | undefined;
1664
+ codexModel?: string | undefined;
1665
+ codexBaseUrl?: string | undefined;
1666
+ codexDoctorTimeoutMs?: number | undefined;
1583
1667
  runtimeMode?: "bare" | "docker-compose" | "container" | undefined;
1584
1668
  peers?: string | string[] | undefined;
1585
1669
  discovery?: {
@@ -1612,6 +1696,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1612
1696
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
1613
1697
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
1614
1698
  policyHook: z.ZodOptional<z.ZodString>;
1699
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
1615
1700
  }, z.ZodTypeAny, "passthrough"> | undefined;
1616
1701
  context?: Record<string, unknown> | undefined;
1617
1702
  attemptId?: string | undefined;
@@ -1663,6 +1748,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1663
1748
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
1664
1749
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
1665
1750
  policyHook: z.ZodOptional<z.ZodString>;
1751
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
1666
1752
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1667
1753
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
1668
1754
  maxClaims: z.ZodNumber;
@@ -1672,6 +1758,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1672
1758
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
1673
1759
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
1674
1760
  policyHook: z.ZodOptional<z.ZodString>;
1761
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
1675
1762
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1676
1763
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
1677
1764
  maxClaims: z.ZodNumber;
@@ -1681,6 +1768,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1681
1768
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
1682
1769
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
1683
1770
  policyHook: z.ZodOptional<z.ZodString>;
1771
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
1684
1772
  }, z.ZodTypeAny, "passthrough">>;
1685
1773
  creator: z.ZodObject<{
1686
1774
  safeAddress: z.ZodString;
@@ -1710,6 +1798,8 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1710
1798
  jinnClaimEmitterAddress?: string | undefined;
1711
1799
  jinnMessengerAddress?: string | undefined;
1712
1800
  jinnMessengerMode?: "canonical" | "mock" | undefined;
1801
+ jinnClaimSubmissionMode?: "emit-only" | "submit" | undefined;
1802
+ jinnClaimLoopEnabled?: boolean | undefined;
1713
1803
  jinnClaimLoopIntervalMs?: number | undefined;
1714
1804
  stakingMode?: "standard" | "self-bond" | undefined;
1715
1805
  targetServices?: number | undefined;
@@ -1778,10 +1868,13 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1778
1868
  pollIntervalMs: number;
1779
1869
  rewardClaimIntervalMs: number;
1780
1870
  balanceTopupIntervalMs: number;
1871
+ evictionCheckIntervalMs: number;
1872
+ checkpointIntervalMs: number;
1781
1873
  apiPort: number;
1782
1874
  claudePath: string;
1783
1875
  claudeModel: string;
1784
1876
  hermesDoctorTimeoutMs: number;
1877
+ codexDoctorTimeoutMs: number;
1785
1878
  peers: string[];
1786
1879
  tasks: {
1787
1880
  id?: string | undefined;
@@ -1806,6 +1899,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1806
1899
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
1807
1900
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
1808
1901
  policyHook: z.ZodOptional<z.ZodString>;
1902
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
1809
1903
  }, z.ZodTypeAny, "passthrough"> | undefined;
1810
1904
  context?: Record<string, unknown> | undefined;
1811
1905
  attemptId?: string | undefined;
@@ -1841,6 +1935,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1841
1935
  claimWindowEndTs?: number | undefined;
1842
1936
  submissionDeadlineTs?: number | undefined;
1843
1937
  policyHook?: string | undefined;
1938
+ requiredVerdicts?: number | undefined;
1844
1939
  } & {
1845
1940
  [k: string]: unknown;
1846
1941
  };
@@ -1855,6 +1950,8 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1855
1950
  ipfsGatewayUrl: string;
1856
1951
  jinnL1Network: "sepolia" | "ethereum";
1857
1952
  jinnMessengerMode: "canonical" | "mock";
1953
+ jinnClaimSubmissionMode: "emit-only" | "submit";
1954
+ jinnClaimLoopEnabled: boolean;
1858
1955
  jinnClaimLoopIntervalMs: number;
1859
1956
  stakingMode: "standard" | "self-bond";
1860
1957
  targetServices: number;
@@ -1889,6 +1986,9 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1889
1986
  hermesPath?: string | undefined;
1890
1987
  hermesModel?: string | undefined;
1891
1988
  hermesProvider?: string | undefined;
1989
+ codexPath?: string | undefined;
1990
+ codexModel?: string | undefined;
1991
+ codexBaseUrl?: string | undefined;
1892
1992
  runtimeMode?: "bare" | "docker-compose" | "container" | undefined;
1893
1993
  discovery?: {
1894
1994
  mode?: "http" | "embedded" | "onchain" | undefined;
@@ -1966,6 +2066,8 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1966
2066
  pollIntervalMs?: number | undefined;
1967
2067
  rewardClaimIntervalMs?: number | undefined;
1968
2068
  balanceTopupIntervalMs?: number | undefined;
2069
+ evictionCheckIntervalMs?: number | undefined;
2070
+ checkpointIntervalMs?: number | undefined;
1969
2071
  apiPort?: number | undefined;
1970
2072
  apiBindHost?: string | undefined;
1971
2073
  claudePath?: string | undefined;
@@ -1974,6 +2076,10 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1974
2076
  hermesModel?: string | undefined;
1975
2077
  hermesProvider?: string | undefined;
1976
2078
  hermesDoctorTimeoutMs?: number | undefined;
2079
+ codexPath?: string | undefined;
2080
+ codexModel?: string | undefined;
2081
+ codexBaseUrl?: string | undefined;
2082
+ codexDoctorTimeoutMs?: number | undefined;
1977
2083
  runtimeMode?: "bare" | "docker-compose" | "container" | undefined;
1978
2084
  peers?: string | string[] | undefined;
1979
2085
  discovery?: {
@@ -2006,6 +2112,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
2006
2112
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
2007
2113
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
2008
2114
  policyHook: z.ZodOptional<z.ZodString>;
2115
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
2009
2116
  }, z.ZodTypeAny, "passthrough"> | undefined;
2010
2117
  context?: Record<string, unknown> | undefined;
2011
2118
  attemptId?: string | undefined;
@@ -2057,6 +2164,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
2057
2164
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
2058
2165
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
2059
2166
  policyHook: z.ZodOptional<z.ZodString>;
2167
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
2060
2168
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
2061
2169
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
2062
2170
  maxClaims: z.ZodNumber;
@@ -2066,6 +2174,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
2066
2174
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
2067
2175
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
2068
2176
  policyHook: z.ZodOptional<z.ZodString>;
2177
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
2069
2178
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
2070
2179
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
2071
2180
  maxClaims: z.ZodNumber;
@@ -2075,6 +2184,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
2075
2184
  submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
2076
2185
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
2077
2186
  policyHook: z.ZodOptional<z.ZodString>;
2187
+ requiredVerdicts: z.ZodOptional<z.ZodNumber>;
2078
2188
  }, z.ZodTypeAny, "passthrough">>;
2079
2189
  creator: z.ZodObject<{
2080
2190
  safeAddress: z.ZodString;
@@ -2104,6 +2214,8 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
2104
2214
  jinnClaimEmitterAddress?: string | undefined;
2105
2215
  jinnMessengerAddress?: string | undefined;
2106
2216
  jinnMessengerMode?: "canonical" | "mock" | undefined;
2217
+ jinnClaimSubmissionMode?: "emit-only" | "submit" | undefined;
2218
+ jinnClaimLoopEnabled?: boolean | undefined;
2107
2219
  jinnClaimLoopIntervalMs?: number | undefined;
2108
2220
  stakingMode?: "standard" | "self-bond" | undefined;
2109
2221
  targetServices?: number | undefined;
@@ -2181,6 +2293,7 @@ export declare const DEFAULT_CONFIG_PATH: string;
2181
2293
  * historical sync — see ponder.config.ts).
2182
2294
  */
2183
2295
  export declare const DEFAULT_TESTNET_DISCOVERY_URL = "https://jinn-indexer-production.up.railway.app";
2296
+ export declare const DEFAULT_TESTNET_ETHEREUM_RPC_URL = "https://ethereum-sepolia-rpc.publicnode.com";
2184
2297
  export type ConfigLoadErrorCode = 'config_file_not_found' | 'config_json_invalid' | 'tasks_file_not_found' | 'tasks_json_invalid' | 'config_invalid';
2185
2298
  export declare class ConfigLoadError extends Error {
2186
2299
  readonly code: ConfigLoadErrorCode;