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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (537) hide show
  1. package/README.md +6 -0
  2. package/deployments/deployment-phase1b-mech-baseSepolia-fast.json +3 -3
  3. package/deployments/deployment-stolas-l2-baseSepolia-fast.json +23 -3
  4. package/deployments/deployment-task-coordinator-router-v3-baseSepolia-fast.json +34 -6
  5. package/dist/adapters/mech/adapter.d.ts +21 -1
  6. package/dist/adapters/mech/adapter.js +107 -52
  7. package/dist/adapters/mech/adapter.js.map +1 -1
  8. package/dist/adapters/mech/contracts.d.ts +174 -13
  9. package/dist/adapters/mech/contracts.js +99 -49
  10. package/dist/adapters/mech/contracts.js.map +1 -1
  11. package/dist/adapters/mech/safe-revert.d.ts +4 -0
  12. package/dist/adapters/mech/safe-revert.js +5 -1
  13. package/dist/adapters/mech/safe-revert.js.map +1 -1
  14. package/dist/adapters/mech/safe.js +77 -1
  15. package/dist/adapters/mech/safe.js.map +1 -1
  16. package/dist/adapters/mech/types.d.ts +4 -42
  17. package/dist/adapters/mech/types.js +8 -20
  18. package/dist/adapters/mech/types.js.map +1 -1
  19. package/dist/adapters/mech/verdict-code.js +1 -1
  20. package/dist/adapters/mech/verdict-code.js.map +1 -1
  21. package/dist/api/bootstrap-endpoint.d.ts +1 -0
  22. package/dist/api/bootstrap-endpoint.js +1 -0
  23. package/dist/api/bootstrap-endpoint.js.map +1 -1
  24. package/dist/api/discovery-endpoint.d.ts +1 -0
  25. package/dist/api/discovery-endpoint.js +24 -0
  26. package/dist/api/discovery-endpoint.js.map +1 -1
  27. package/dist/api/fleet-build.d.ts +1 -7
  28. package/dist/api/fleet-build.js +0 -7
  29. package/dist/api/fleet-build.js.map +1 -1
  30. package/dist/api/gather-status.d.ts +26 -17
  31. package/dist/api/gather-status.js +57 -516
  32. package/dist/api/gather-status.js.map +1 -1
  33. package/dist/api/harness-auth-status-endpoint.d.ts +21 -0
  34. package/dist/api/harness-auth-status-endpoint.js +17 -0
  35. package/dist/api/harness-auth-status-endpoint.js.map +1 -0
  36. package/dist/api/loop-completion-build.d.ts +79 -0
  37. package/dist/api/loop-completion-build.js +155 -0
  38. package/dist/api/loop-completion-build.js.map +1 -0
  39. package/dist/api/operator-artifacts-endpoint.js +1 -1
  40. package/dist/api/operator-artifacts-endpoint.js.map +1 -1
  41. package/dist/api/peers.js +2 -0
  42. package/dist/api/peers.js.map +1 -1
  43. package/dist/api/rewards-build.d.ts +8 -1
  44. package/dist/api/rewards-build.js +32 -4
  45. package/dist/api/rewards-build.js.map +1 -1
  46. package/dist/api/rewards-endpoint.d.ts +12 -0
  47. package/dist/api/rewards-endpoint.js +46 -0
  48. package/dist/api/rewards-endpoint.js.map +1 -0
  49. package/dist/api/server.d.ts +6 -16
  50. package/dist/api/server.js +29 -26
  51. package/dist/api/server.js.map +1 -1
  52. package/dist/api/setup-endpoints.d.ts +41 -0
  53. package/dist/api/setup-endpoints.js +258 -45
  54. package/dist/api/setup-endpoints.js.map +1 -1
  55. package/dist/api/solvernets-endpoints.js +4 -1
  56. package/dist/api/solvernets-endpoints.js.map +1 -1
  57. package/dist/api/status-build.d.ts +71 -94
  58. package/dist/api/status-build.js +11 -77
  59. package/dist/api/status-build.js.map +1 -1
  60. package/dist/api/status-rollup-build.d.ts +0 -4
  61. package/dist/api/status-rollup-build.js +0 -4
  62. package/dist/api/status-rollup-build.js.map +1 -1
  63. package/dist/api/stop-hook.d.ts +1 -1
  64. package/dist/api/stop-hook.js +1 -1
  65. package/dist/api/stop-hook.js.map +1 -1
  66. package/dist/build-info.json +4 -4
  67. package/dist/build-meta.json +1 -1
  68. package/dist/captures/live-publisher.d.ts +9 -0
  69. package/dist/captures/live-publisher.js +1 -0
  70. package/dist/captures/live-publisher.js.map +1 -1
  71. package/dist/captures/publish.d.ts +11 -0
  72. package/dist/captures/publish.js +15 -5
  73. package/dist/captures/publish.js.map +1 -1
  74. package/dist/cli/commands/codedigest-revert-check.js +6 -2
  75. package/dist/cli/commands/codedigest-revert-check.js.map +1 -1
  76. package/dist/cli/commands/doctor.d.ts +3 -0
  77. package/dist/cli/commands/doctor.js +36 -4
  78. package/dist/cli/commands/doctor.js.map +1 -1
  79. package/dist/cli/commands/eval.d.ts +87 -0
  80. package/dist/cli/commands/eval.js +481 -0
  81. package/dist/cli/commands/eval.js.map +1 -0
  82. package/dist/cli/commands/rewards.d.ts +2 -0
  83. package/dist/cli/commands/rewards.js +39 -10
  84. package/dist/cli/commands/rewards.js.map +1 -1
  85. package/dist/cli/commands/solver-nets.js +68 -0
  86. package/dist/cli/commands/solver-nets.js.map +1 -1
  87. package/dist/cli/commands/status.js +0 -1
  88. package/dist/cli/commands/status.js.map +1 -1
  89. package/dist/cli/commands/update.js +8 -0
  90. package/dist/cli/commands/update.js.map +1 -1
  91. package/dist/cli/commands/version.js +4 -0
  92. package/dist/cli/commands/version.js.map +1 -1
  93. package/dist/cli/index.js +2 -0
  94. package/dist/cli/index.js.map +1 -1
  95. package/dist/cli/introspection-context.js +0 -3
  96. package/dist/cli/introspection-context.js.map +1 -1
  97. package/dist/config.d.ts +158 -541
  98. package/dist/config.js +189 -196
  99. package/dist/config.js.map +1 -1
  100. package/dist/corpus/acquire.d.ts +7 -6
  101. package/dist/corpus/acquire.js +10 -10
  102. package/dist/corpus/acquire.js.map +1 -1
  103. package/dist/corpus/fetch-artifact.d.ts +21 -0
  104. package/dist/corpus/fetch-artifact.js +33 -0
  105. package/dist/corpus/fetch-artifact.js.map +1 -0
  106. package/dist/corpus/index.d.ts +2 -2
  107. package/dist/corpus/route-resolver.d.ts +3 -3
  108. package/dist/corpus/route-resolver.js +3 -3
  109. package/dist/daemon/ai-units-gate.d.ts +6 -6
  110. package/dist/daemon/ai-units-gate.js +11 -10
  111. package/dist/daemon/ai-units-gate.js.map +1 -1
  112. package/dist/daemon/balance-topup-loop.js +3 -0
  113. package/dist/daemon/balance-topup-loop.js.map +1 -1
  114. package/dist/daemon/checkpoint-loop.js +2 -2
  115. package/dist/daemon/creator.d.ts +1 -0
  116. package/dist/daemon/creator.js +26 -14
  117. package/dist/daemon/creator.js.map +1 -1
  118. package/dist/daemon/daemon.d.ts +15 -10
  119. package/dist/daemon/daemon.js +71 -39
  120. package/dist/daemon/daemon.js.map +1 -1
  121. package/dist/daemon/delivery-watcher.d.ts +9 -0
  122. package/dist/daemon/delivery-watcher.js +24 -1
  123. package/dist/daemon/delivery-watcher.js.map +1 -1
  124. package/dist/daemon/eviction-loop.d.ts +7 -0
  125. package/dist/daemon/eviction-loop.js +19 -3
  126. package/dist/daemon/eviction-loop.js.map +1 -1
  127. package/dist/daemon/join-applier.d.ts +35 -0
  128. package/dist/daemon/join-applier.js +49 -0
  129. package/dist/daemon/join-applier.js.map +1 -0
  130. package/dist/daemon/loop-heartbeat.d.ts +34 -0
  131. package/dist/daemon/loop-heartbeat.js +38 -0
  132. package/dist/daemon/loop-heartbeat.js.map +1 -0
  133. package/dist/daemon/reward-claim-loop.js +4 -1
  134. package/dist/daemon/reward-claim-loop.js.map +1 -1
  135. package/dist/daemon/skip-log-dedup.d.ts +1 -1
  136. package/dist/daemon/skip-log-dedup.js +3 -0
  137. package/dist/daemon/skip-log-dedup.js.map +1 -1
  138. package/dist/daemon/watchdog-loop.d.ts +84 -0
  139. package/dist/daemon/watchdog-loop.js +91 -0
  140. package/dist/daemon/watchdog-loop.js.map +1 -0
  141. package/dist/dashboard/assets/index-BsrAAmvC.js +171 -0
  142. package/dist/dashboard/assets/index-DQOWJ2SF.css +1 -0
  143. package/dist/dashboard/index.html +2 -2
  144. package/dist/discovery/http.d.ts +17 -0
  145. package/dist/discovery/http.js +295 -25
  146. package/dist/discovery/http.js.map +1 -1
  147. package/dist/discovery/onchain.js +158 -2
  148. package/dist/discovery/onchain.js.map +1 -1
  149. package/dist/discovery/types.d.ts +106 -0
  150. package/dist/discovery/types.js +40 -0
  151. package/dist/discovery/types.js.map +1 -1
  152. package/dist/discovery/with-fallback.js +14 -0
  153. package/dist/discovery/with-fallback.js.map +1 -1
  154. package/dist/earning/bootstrap.d.ts +25 -0
  155. package/dist/earning/bootstrap.js +79 -28
  156. package/dist/earning/bootstrap.js.map +1 -1
  157. package/dist/earning/contracts.d.ts +0 -229
  158. package/dist/earning/contracts.js +4 -184
  159. package/dist/earning/contracts.js.map +1 -1
  160. package/dist/earning/faucet-topup-store.d.ts +41 -0
  161. package/dist/earning/faucet-topup-store.js +89 -0
  162. package/dist/earning/faucet-topup-store.js.map +1 -0
  163. package/dist/earning/faucet.d.ts +1 -1
  164. package/dist/earning/faucet.js +2 -2
  165. package/dist/earning/faucet.js.map +1 -1
  166. package/dist/earning/safe-adapter.js +11 -0
  167. package/dist/earning/safe-adapter.js.map +1 -1
  168. package/dist/earning/stolas-claim.js +8 -8
  169. package/dist/earning/stolas-claim.js.map +1 -1
  170. package/dist/earning/{jinn-rewards.d.ts → stolas-staking.d.ts} +4 -8
  171. package/dist/earning/{jinn-rewards.js → stolas-staking.js} +6 -10
  172. package/dist/earning/stolas-staking.js.map +1 -0
  173. package/dist/earning/testnet-setup-migration.d.ts +1 -0
  174. package/dist/earning/testnet-setup-migration.js +7 -2
  175. package/dist/earning/testnet-setup-migration.js.map +1 -1
  176. package/dist/earning/types.d.ts +1 -1
  177. package/dist/earning/types.js +1 -1
  178. package/dist/earning/types.js.map +1 -1
  179. package/dist/earning/viem-clients.d.ts +3 -19
  180. package/dist/earning/viem-clients.js +4 -31
  181. package/dist/earning/viem-clients.js.map +1 -1
  182. package/dist/eval/eval-harness-run.d.ts +63 -0
  183. package/dist/eval/eval-harness-run.js +123 -0
  184. package/dist/eval/eval-harness-run.js.map +1 -0
  185. package/dist/eval/orchestrator.d.ts +224 -0
  186. package/dist/eval/orchestrator.js +250 -0
  187. package/dist/eval/orchestrator.js.map +1 -0
  188. package/dist/eval/paired.d.ts +68 -0
  189. package/dist/eval/paired.js +93 -0
  190. package/dist/eval/paired.js.map +1 -0
  191. package/dist/eval/resolve-slate-tasks.d.ts +35 -0
  192. package/dist/eval/resolve-slate-tasks.js +56 -0
  193. package/dist/eval/resolve-slate-tasks.js.map +1 -0
  194. package/dist/eval/screen-discovery.d.ts +22 -0
  195. package/dist/eval/screen-discovery.js +71 -0
  196. package/dist/eval/screen-discovery.js.map +1 -0
  197. package/dist/eval/screen-progress.d.ts +41 -0
  198. package/dist/eval/screen-progress.js +60 -0
  199. package/dist/eval/screen-progress.js.map +1 -0
  200. package/dist/eval/screen-runner.d.ts +30 -0
  201. package/dist/eval/screen-runner.js +289 -0
  202. package/dist/eval/screen-runner.js.map +1 -0
  203. package/dist/eval/screen.d.ts +107 -0
  204. package/dist/eval/screen.js +159 -0
  205. package/dist/eval/screen.js.map +1 -0
  206. package/dist/eval/slope.d.ts +29 -0
  207. package/dist/eval/slope.js +46 -0
  208. package/dist/eval/slope.js.map +1 -0
  209. package/dist/eval/train-sequence.d.ts +35 -0
  210. package/dist/eval/train-sequence.js +59 -0
  211. package/dist/eval/train-sequence.js.map +1 -0
  212. package/dist/eval/wilson.d.ts +45 -0
  213. package/dist/eval/wilson.js +48 -0
  214. package/dist/eval/wilson.js.map +1 -0
  215. package/dist/events/types.d.ts +1 -1
  216. package/dist/events/types.js +1 -1
  217. package/dist/events/types.js.map +1 -1
  218. package/dist/harnesses/auth-source.d.ts +51 -0
  219. package/dist/harnesses/auth-source.js +155 -0
  220. package/dist/harnesses/auth-source.js.map +1 -0
  221. package/dist/harnesses/engine/canonical-json.js +5 -3
  222. package/dist/harnesses/engine/canonical-json.js.map +1 -1
  223. package/dist/harnesses/engine/engine.d.ts +32 -0
  224. package/dist/harnesses/engine/engine.js +76 -9
  225. package/dist/harnesses/engine/engine.js.map +1 -1
  226. package/dist/harnesses/engine/packaging.js +5 -5
  227. package/dist/harnesses/engine/packaging.js.map +1 -1
  228. package/dist/harnesses/engine/persistence.d.ts +17 -0
  229. package/dist/harnesses/engine/persistence.js +28 -0
  230. package/dist/harnesses/engine/persistence.js.map +1 -1
  231. package/dist/harnesses/impls/claude-mcp-hyperliquid/mcp-tools.d.ts +1 -1
  232. package/dist/harnesses/impls/claude-mcp-hyperliquid/mcp-tools.js +1 -1
  233. package/dist/harnesses/impls/claude-mcp-hyperliquid/mcp-tools.js.map +1 -1
  234. package/dist/harnesses/impls/hermes-agent/adapter.d.ts +2 -0
  235. package/dist/harnesses/impls/hermes-agent/adapter.js +8 -5
  236. package/dist/harnesses/impls/hermes-agent/adapter.js.map +1 -1
  237. package/dist/harnesses/impls/hermes-agent/bootstrap.d.ts +1 -0
  238. package/dist/harnesses/impls/hermes-agent/bootstrap.js +6 -1
  239. package/dist/harnesses/impls/hermes-agent/bootstrap.js.map +1 -1
  240. package/dist/harnesses/impls/hermes-agent/harness.d.ts +25 -3
  241. package/dist/harnesses/impls/hermes-agent/harness.js +89 -5
  242. package/dist/harnesses/impls/hermes-agent/harness.js.map +1 -1
  243. package/dist/harnesses/impls/index.d.ts +2 -0
  244. package/dist/harnesses/impls/index.js +10 -1
  245. package/dist/harnesses/impls/index.js.map +1 -1
  246. package/dist/harnesses/impls/jinn-repo-evaluator/eval-runner.d.ts +34 -0
  247. package/dist/harnesses/impls/jinn-repo-evaluator/eval-runner.js +111 -0
  248. package/dist/harnesses/impls/jinn-repo-evaluator/eval-runner.js.map +1 -0
  249. package/dist/harnesses/impls/jinn-repo-evaluator/evaluator.d.ts +24 -0
  250. package/dist/harnesses/impls/jinn-repo-evaluator/evaluator.js +19 -0
  251. package/dist/harnesses/impls/jinn-repo-evaluator/evaluator.js.map +1 -0
  252. package/dist/harnesses/impls/jinn-repo-evaluator/harness.d.ts +64 -0
  253. package/dist/harnesses/impls/jinn-repo-evaluator/harness.js +125 -0
  254. package/dist/harnesses/impls/jinn-repo-evaluator/harness.js.map +1 -0
  255. package/dist/harnesses/impls/jinn-repo-evaluator/repro.d.ts +32 -0
  256. package/dist/harnesses/impls/jinn-repo-evaluator/repro.js +73 -0
  257. package/dist/harnesses/impls/jinn-repo-evaluator/repro.js.map +1 -0
  258. package/dist/harnesses/impls/learner/adapters/claude-code.js +5 -0
  259. package/dist/harnesses/impls/learner/adapters/claude-code.js.map +1 -1
  260. package/dist/harnesses/impls/learner/adapters/codex-code.d.ts +8 -0
  261. package/dist/harnesses/impls/learner/adapters/codex-code.js +91 -11
  262. package/dist/harnesses/impls/learner/adapters/codex-code.js.map +1 -1
  263. package/dist/harnesses/impls/learner/harness.d.ts +29 -1
  264. package/dist/harnesses/impls/learner/harness.js +85 -1
  265. package/dist/harnesses/impls/learner/harness.js.map +1 -1
  266. package/dist/harnesses/impls/learner/harvest.d.ts +2 -0
  267. package/dist/harnesses/impls/learner/harvest.js +51 -1
  268. package/dist/harnesses/impls/learner/harvest.js.map +1 -1
  269. package/dist/harnesses/impls/learner/plugin-path.js +1 -0
  270. package/dist/harnesses/impls/learner/plugin-path.js.map +1 -1
  271. package/dist/harnesses/impls/stub.d.ts +2 -2
  272. package/dist/harnesses/impls/stub.js +2 -2
  273. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js +3 -1
  274. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js.map +1 -1
  275. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.d.ts +2 -2
  276. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js +3 -1
  277. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js.map +1 -1
  278. package/dist/harnesses/readiness-registry.d.ts +16 -0
  279. package/dist/harnesses/readiness-registry.js +28 -6
  280. package/dist/harnesses/readiness-registry.js.map +1 -1
  281. package/dist/harnesses/types.d.ts +26 -0
  282. package/dist/learner/revert-decision.d.ts +16 -1
  283. package/dist/learner/revert-decision.js +38 -18
  284. package/dist/learner/revert-decision.js.map +1 -1
  285. package/dist/learner/revert-stats.d.ts +14 -0
  286. package/dist/learner/revert-stats.js +42 -0
  287. package/dist/learner/revert-stats.js.map +1 -1
  288. package/dist/local-provider-url.d.ts +3 -0
  289. package/dist/local-provider-url.js +28 -0
  290. package/dist/local-provider-url.js.map +1 -0
  291. package/dist/main.js +125 -120
  292. package/dist/main.js.map +1 -1
  293. package/dist/mcp/acquire-artifact.d.ts +3 -3
  294. package/dist/mcp/acquire-artifact.js +3 -3
  295. package/dist/mcp/operator-server.js +1 -1
  296. package/dist/mcp/operator-server.js.map +1 -1
  297. package/dist/mcp/server.js +5 -6
  298. package/dist/mcp/server.js.map +1 -1
  299. package/dist/observability/emit-event.d.ts +1 -1
  300. package/dist/observability/emit-event.js +0 -4
  301. package/dist/observability/emit-event.js.map +1 -1
  302. package/dist/plugins/learner/.claude-plugin/plugin.json +1 -1
  303. package/dist/plugins/learner/.codex-plugin/plugin.json +1 -1
  304. package/dist/plugins/learner/hooks/session-start +30 -1
  305. package/dist/plugins/learner/skills/learn/consolidator-prompt.md +4 -0
  306. package/dist/preflight/deployment-readiness.d.ts +127 -0
  307. package/dist/preflight/deployment-readiness.js +308 -0
  308. package/dist/preflight/deployment-readiness.js.map +1 -0
  309. package/dist/preflight/pidfile-liveness.d.ts +7 -1
  310. package/dist/preflight/pidfile-liveness.js +14 -0
  311. package/dist/preflight/pidfile-liveness.js.map +1 -1
  312. package/dist/rpc/transport.d.ts +43 -5
  313. package/dist/rpc/transport.js +131 -30
  314. package/dist/rpc/transport.js.map +1 -1
  315. package/dist/scripts/swe-rebench-v2-seed-pool.json +2 -1
  316. package/dist/solver-nets/registry.d.ts +19 -0
  317. package/dist/solver-nets/registry.js +95 -66
  318. package/dist/solver-nets/registry.js.map +1 -1
  319. package/dist/solver-types/_jinn-repo-pool.d.ts +27 -0
  320. package/dist/solver-types/_jinn-repo-pool.js +27 -0
  321. package/dist/solver-types/_jinn-repo-pool.js.map +1 -0
  322. package/dist/solver-types/_swe-rebench-v2-held-out-slate.d.ts +76 -0
  323. package/dist/solver-types/_swe-rebench-v2-held-out-slate.js +156 -0
  324. package/dist/solver-types/_swe-rebench-v2-held-out-slate.js.map +1 -0
  325. package/dist/solver-types/_swe-rebench-v2-pool-recovery.d.ts +81 -0
  326. package/dist/solver-types/_swe-rebench-v2-pool-recovery.js +116 -0
  327. package/dist/solver-types/_swe-rebench-v2-pool-recovery.js.map +1 -0
  328. package/dist/solver-types/_swe-rebench-v2-state.d.ts +9 -0
  329. package/dist/solver-types/_swe-rebench-v2-state.js +14 -0
  330. package/dist/solver-types/_swe-rebench-v2-state.js.map +1 -1
  331. package/dist/solver-types/_swe-rebench-v2-validated-pool.d.ts +30 -0
  332. package/dist/solver-types/_swe-rebench-v2-validated-pool.js +40 -0
  333. package/dist/solver-types/_swe-rebench-v2-validated-pool.js.map +1 -1
  334. package/dist/solver-types/index.js +2 -0
  335. package/dist/solver-types/index.js.map +1 -1
  336. package/dist/solver-types/jinn-repo-admit.d.ts +17 -0
  337. package/dist/solver-types/jinn-repo-admit.js +16 -0
  338. package/dist/solver-types/jinn-repo-admit.js.map +1 -0
  339. package/dist/solver-types/jinn-repo-auto.d.ts +60 -0
  340. package/dist/solver-types/jinn-repo-auto.js +163 -0
  341. package/dist/solver-types/jinn-repo-auto.js.map +1 -0
  342. package/dist/solver-types/jinn-repo-definition.d.ts +15 -0
  343. package/dist/solver-types/jinn-repo-definition.js +34 -0
  344. package/dist/solver-types/jinn-repo-definition.js.map +1 -0
  345. package/dist/solver-types/jinn-repo-extract.d.ts +16 -0
  346. package/dist/solver-types/jinn-repo-extract.js +32 -0
  347. package/dist/solver-types/jinn-repo-extract.js.map +1 -0
  348. package/dist/solver-types/jinn-repo.d.ts +21 -0
  349. package/dist/solver-types/jinn-repo.js +23 -0
  350. package/dist/solver-types/jinn-repo.js.map +1 -0
  351. package/dist/solver-types/learner-loop-test.js +1 -1
  352. package/dist/solver-types/learner-loop-test.js.map +1 -1
  353. package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v1.json +20 -0
  354. package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v2.json +19 -0
  355. package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v2.screening-report.json +628 -0
  356. package/dist/solver-types/solver-type.d.ts +8 -0
  357. package/dist/solver-types/swe-rebench-v2.d.ts +2 -0
  358. package/dist/solver-types/swe-rebench-v2.js +115 -10
  359. package/dist/solver-types/swe-rebench-v2.js.map +1 -1
  360. package/dist/solvernets/launched-record-dispatcher.d.ts +5 -0
  361. package/dist/solvernets/launched-record-dispatcher.js +8 -1
  362. package/dist/solvernets/launched-record-dispatcher.js.map +1 -1
  363. package/dist/solvernets/registry-client-erc8004.js +29 -37
  364. package/dist/solvernets/registry-client-erc8004.js.map +1 -1
  365. package/dist/solvernets/registry-client.d.ts +6 -0
  366. package/dist/solvernets/store.d.ts +1 -1
  367. package/dist/solvernets/store.js +8 -3
  368. package/dist/solvernets/store.js.map +1 -1
  369. package/dist/spend/ai-units-config.d.ts +10 -0
  370. package/dist/spend/ai-units-config.js +7 -1
  371. package/dist/spend/ai-units-config.js.map +1 -1
  372. package/dist/spend/ai-units.d.ts +51 -0
  373. package/dist/spend/ai-units.js +73 -0
  374. package/dist/spend/ai-units.js.map +1 -1
  375. package/dist/spend/record.js +12 -5
  376. package/dist/spend/record.js.map +1 -1
  377. package/dist/spend/usage.js +39 -3
  378. package/dist/spend/usage.js.map +1 -1
  379. package/dist/store/store.d.ts +92 -5
  380. package/dist/store/store.js +184 -7
  381. package/dist/store/store.js.map +1 -1
  382. package/dist/trajectory/emit.d.ts +6 -0
  383. package/dist/trajectory/emit.js +9 -1
  384. package/dist/trajectory/emit.js.map +1 -1
  385. package/dist/trajectory/harness-bundle-schema.d.ts +1 -1
  386. package/dist/trajectory/harness-bundle-schema.js +1 -1
  387. package/dist/trajectory/harness-bundle-schema.js.map +1 -1
  388. package/dist/trajectory/schema.d.ts +1 -1
  389. package/dist/trajectory/schema.js +1 -1
  390. package/dist/trajectory/schema.js.map +1 -1
  391. package/dist/trajectory/scrub/build.d.ts +27 -0
  392. package/dist/trajectory/scrub/build.js +43 -0
  393. package/dist/trajectory/scrub/build.js.map +1 -0
  394. package/dist/trajectory/scrub/emit-scrub.d.ts +41 -0
  395. package/dist/trajectory/scrub/emit-scrub.js +88 -0
  396. package/dist/trajectory/scrub/emit-scrub.js.map +1 -0
  397. package/dist/trajectory/scrub/key-policy.d.ts +20 -0
  398. package/dist/trajectory/scrub/key-policy.js +43 -0
  399. package/dist/trajectory/scrub/key-policy.js.map +1 -0
  400. package/dist/trajectory/scrub/ml-pii-stage.d.ts +24 -0
  401. package/dist/trajectory/scrub/ml-pii-stage.js +43 -0
  402. package/dist/trajectory/scrub/ml-pii-stage.js.map +1 -0
  403. package/dist/trajectory/scrub/openredaction-stage.d.ts +14 -0
  404. package/dist/trajectory/scrub/openredaction-stage.js +36 -0
  405. package/dist/trajectory/scrub/openredaction-stage.js.map +1 -0
  406. package/dist/trajectory/scrub/pii-build.d.ts +31 -0
  407. package/dist/trajectory/scrub/pii-build.js +64 -0
  408. package/dist/trajectory/scrub/pii-build.js.map +1 -0
  409. package/dist/trajectory/scrub/pipeline.d.ts +16 -0
  410. package/dist/trajectory/scrub/pipeline.js +26 -0
  411. package/dist/trajectory/scrub/pipeline.js.map +1 -0
  412. package/dist/trajectory/scrub/secretlint-stage.d.ts +13 -0
  413. package/dist/trajectory/scrub/secretlint-stage.js +121 -0
  414. package/dist/trajectory/scrub/secretlint-stage.js.map +1 -0
  415. package/dist/trajectory/scrub/transformers-detector.d.ts +35 -0
  416. package/dist/trajectory/scrub/transformers-detector.js +68 -0
  417. package/dist/trajectory/scrub/transformers-detector.js.map +1 -0
  418. package/dist/trajectory/scrub/types.d.ts +25 -0
  419. package/dist/trajectory/scrub/types.js +2 -0
  420. package/dist/trajectory/scrub/types.js.map +1 -0
  421. package/dist/trajectory/transcript-parsers/types.d.ts +1 -1
  422. package/dist/trajectory/transcript-parsers/types.js +1 -1
  423. package/dist/trajectory/transcript-parsers/types.js.map +1 -1
  424. package/dist/tx-retry.d.ts +12 -0
  425. package/dist/tx-retry.js +41 -12
  426. package/dist/tx-retry.js.map +1 -1
  427. package/dist/types/envelope.d.ts +1 -1
  428. package/dist/types/envelope.js +1 -1
  429. package/dist/types/envelope.js.map +1 -1
  430. package/dist/types/payloads/index.d.ts +1 -1
  431. package/dist/types/payloads/index.js +7 -1
  432. package/dist/types/payloads/index.js.map +1 -1
  433. package/dist/types/payloads/portfolio-v0.d.ts +1 -1
  434. package/dist/types/payloads/portfolio-v0.js +1 -1
  435. package/dist/types/payloads/portfolio-v0.js.map +1 -1
  436. package/dist/types/payloads/prediction-apy-v0.d.ts +1 -1
  437. package/dist/types/payloads/prediction-apy-v0.js +1 -1
  438. package/dist/types/payloads/prediction-apy-v0.js.map +1 -1
  439. package/dist/types/payloads/prediction-v0.d.ts +1 -1
  440. package/dist/types/payloads/prediction-v0.js +1 -1
  441. package/dist/types/payloads/prediction-v0.js.map +1 -1
  442. package/dist/types/portfolio.d.ts +1 -1
  443. package/dist/types/portfolio.js +1 -1
  444. package/dist/types/portfolio.js.map +1 -1
  445. package/dist/types/prediction-apy.d.ts +1 -1
  446. package/dist/types/prediction-apy.js +1 -1
  447. package/dist/types/prediction-apy.js.map +1 -1
  448. package/dist/types/prediction.d.ts +1 -1
  449. package/dist/types/prediction.js +1 -1
  450. package/dist/types/prediction.js.map +1 -1
  451. package/dist/types/session-provenance.d.ts +1 -1
  452. package/dist/types/session-provenance.js +1 -1
  453. package/dist/types/session-provenance.js.map +1 -1
  454. package/dist/types/task-document.d.ts +315 -1
  455. package/dist/types/task-document.js +9 -1
  456. package/dist/types/task-document.js.map +1 -1
  457. package/dist/types/task.d.ts +29 -1
  458. package/dist/types/task.js +1 -1
  459. package/dist/types/task.js.map +1 -1
  460. package/dist/types/window.d.ts +1 -1
  461. package/dist/types/window.js +1 -1
  462. package/dist/types/window.js.map +1 -1
  463. package/dist/vendor/@jinn-network/sdk/dist/checkpoint.d.ts +1 -1
  464. package/dist/vendor/@jinn-network/sdk/dist/checkpoint.js +1 -1
  465. package/dist/vendor/@jinn-network/sdk/dist/contracts.d.ts +3 -2
  466. package/dist/vendor/@jinn-network/sdk/dist/contracts.js +49 -0
  467. package/dist/vendor/@jinn-network/sdk/dist/jinn-repo.d.ts +44 -0
  468. package/dist/vendor/@jinn-network/sdk/dist/jinn-repo.js +25 -0
  469. package/dist/vendor/@jinn-network/sdk/dist/json-schema.d.ts +1 -1
  470. package/dist/vendor/@jinn-network/sdk/dist/json-schema.js +1 -1
  471. package/dist/vendor/@jinn-network/sdk/dist/payloads/jinn-repo.d.ts +38 -0
  472. package/dist/vendor/@jinn-network/sdk/dist/payloads/jinn-repo.js +22 -0
  473. package/dist/vendor/@jinn-network/sdk/dist/payloads/prediction-v1.d.ts +1 -1
  474. package/dist/vendor/@jinn-network/sdk/dist/payloads/prediction-v1.js +1 -1
  475. package/dist/vendor/@jinn-network/sdk/dist/payloads/session-derived.d.ts +1 -1
  476. package/dist/vendor/@jinn-network/sdk/dist/payloads/session-derived.js +1 -1
  477. package/dist/vendor/@jinn-network/sdk/dist/payloads/swe-rebench-v2.d.ts +109 -2
  478. package/dist/vendor/@jinn-network/sdk/dist/payloads/swe-rebench-v2.js +26 -2
  479. package/dist/vendor/@jinn-network/sdk/dist/prediction-v1.d.ts +1 -1
  480. package/dist/vendor/@jinn-network/sdk/dist/prediction-v1.js +1 -1
  481. package/dist/vendor/@jinn-network/sdk/dist/solvernets/jinn-repo.d.ts +4 -0
  482. package/dist/vendor/@jinn-network/sdk/dist/solvernets/jinn-repo.js +2 -0
  483. package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.d.ts +1 -1
  484. package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.js +1 -1
  485. package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2-held-out-slate.d.ts +65 -0
  486. package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2-held-out-slate.js +123 -0
  487. package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2.d.ts +2 -2
  488. package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2.js +1 -1
  489. package/dist/vendor/@jinn-network/sdk/dist/swe-rebench-v2.d.ts +1 -1
  490. package/dist/vendor/@jinn-network/sdk/dist/swe-rebench-v2.js +1 -1
  491. package/dist/vendor/@jinn-network/sdk/package.json +9 -1
  492. package/docker-compose.yml +3 -2
  493. package/package.json +36 -26
  494. package/plugins/jinn-repo-runtime/.claude-plugin/plugin.json +5 -0
  495. package/plugins/jinn-repo-runtime/.codex-plugin/plugin.json +39 -0
  496. package/plugins/jinn-repo-runtime/README.md +27 -0
  497. package/plugins/jinn-repo-runtime/hooks/hooks.json +16 -0
  498. package/plugins/jinn-repo-runtime/hooks/session-start +73 -0
  499. package/plugins/jinn-repo-runtime/jinn.plugin.json +11 -0
  500. package/plugins/jinn-repo-runtime/skills/task/SKILL.md +92 -0
  501. package/plugins/learner/.claude-plugin/plugin.json +1 -1
  502. package/plugins/learner/.codex-plugin/plugin.json +1 -1
  503. package/plugins/learner/hooks/session-start +30 -1
  504. package/plugins/learner/skills/learn/consolidator-prompt.md +4 -0
  505. package/plugins/swe-rebench-v2-runtime/hooks/hooks.json +16 -0
  506. package/plugins/swe-rebench-v2-runtime/hooks/session-start +74 -0
  507. package/deployments/deployment-jinn-mvi-l1-sepolia-fast.json +0 -55
  508. package/deployments/deployment-jinn-mvi-l1-sepolia.json +0 -55
  509. package/deployments/deployment-jinn-mvi-l2-baseSepolia.json +0 -13
  510. package/deployments/deployment-jinn-testnet-faucet-baseSepolia-fast.json +0 -15
  511. package/dist/daemon/jinn-claim-loop-canonical.d.ts +0 -207
  512. package/dist/daemon/jinn-claim-loop-canonical.js +0 -296
  513. package/dist/daemon/jinn-claim-loop-canonical.js.map +0 -1
  514. package/dist/daemon/jinn-claim-loop-mock.d.ts +0 -61
  515. package/dist/daemon/jinn-claim-loop-mock.js +0 -122
  516. package/dist/daemon/jinn-claim-loop-mock.js.map +0 -1
  517. package/dist/daemon/jinn-claim-loop-wiring.d.ts +0 -33
  518. package/dist/daemon/jinn-claim-loop-wiring.js +0 -40
  519. package/dist/daemon/jinn-claim-loop-wiring.js.map +0 -1
  520. package/dist/daemon/jinn-claim-loop.d.ts +0 -130
  521. package/dist/daemon/jinn-claim-loop.js +0 -328
  522. package/dist/daemon/jinn-claim-loop.js.map +0 -1
  523. package/dist/dashboard/assets/index-CzKxvMcU.css +0 -32
  524. package/dist/dashboard/assets/index-yVemxHot.js +0 -351
  525. package/dist/earning/jinn-rewards.js.map +0 -1
  526. package/dist/scripts/donation-consumption-acceptance.d.ts +0 -85
  527. package/dist/scripts/donation-consumption-acceptance.js +0 -1382
  528. package/dist/scripts/donation-consumption-acceptance.js.map +0 -1
  529. package/dist/x402/acquire.d.ts +0 -17
  530. package/dist/x402/acquire.js +0 -49
  531. package/dist/x402/acquire.js.map +0 -1
  532. package/dist/x402/facilitator.d.ts +0 -11
  533. package/dist/x402/facilitator.js +0 -52
  534. package/dist/x402/facilitator.js.map +0 -1
  535. package/dist/x402/handler.d.ts +0 -27
  536. package/dist/x402/handler.js +0 -236
  537. package/dist/x402/handler.js.map +0 -1
package/dist/config.d.ts CHANGED
@@ -13,9 +13,9 @@
13
13
  * Router claims: JINN_ROUTER_CLAIM_DELIVERY_VERSION=v1|v2 overrides chain default
14
14
  * (mainnet V1, testnet V2) for JinnRouter claimDelivery encoding.
15
15
  */
16
- import { z } from 'zod';
16
+ import { z } from 'zod/v3';
17
17
  import type { Task } from './types/task.js';
18
- export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
18
+ export declare const JinnConfigSchema: z.ZodObject<{
19
19
  /**
20
20
  * Network to connect to.
21
21
  * 'testnet' → Base Sepolia (default during Phase 1b; fast epochs, free funds).
@@ -37,12 +37,17 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
37
37
  rpcUrl: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
38
38
  archiveRpcUrl: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
39
39
  /**
40
- * Optional L2 proof/archive RPC endpoint(s) for canonical cross-chain canaries.
41
- * The daemon can use its normal rpcUrl for writes while proof construction
42
- * uses this endpoint for historical eth_getProof at OP dispute-game blocks.
43
- * Accepts string or array form (see rpcUrl). Env: JINN_L2_PROOF_RPC_URL.
40
+ * Single volume-aware durable-state root. When set (env JINN_STATE_DIR or
41
+ * this file field), `earningDir`, `dbPath`, `engine.implStateDirRoot`, and
42
+ * the swe-rebench-v2 pool dir derive from it as `<stateDir>/<subdir>`
43
+ * UNLESS each is individually overridden, in which case the per-key value
44
+ * wins (derive-don't-collapse). With `stateDir` unset, every default is
45
+ * byte-identical to the legacy `~/.jinn-client/<subdir>` paths. Hosted
46
+ * deploys collapse four ENV lines to one `JINN_STATE_DIR=/data`.
47
+ * `engine.workingDirRoot` is deliberately NOT derived — it stays ephemeral
48
+ * (reaped per-task).
44
49
  */
45
- l2ProofRpcUrl: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
50
+ stateDir: z.ZodOptional<z.ZodString>;
46
51
  /** Earning state directory */
47
52
  earningDir: z.ZodDefault<z.ZodString>;
48
53
  /** SQLite database path */
@@ -51,8 +56,8 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
51
56
  pollIntervalMs: z.ZodDefault<z.ZodNumber>;
52
57
  /**
53
58
  * How often the daemon attempts stOLAS ExternalStakingDistributor.claim for each staked
54
- * fleet service (ms). Default 600000 (10 min) well under typical checkpoint liveness windows
55
- * on Base while limiting RPC/gas churn. Set to 0 to disable auto-claim.
59
+ * fleet service (ms). Default 0 so operators claim OLAS manually from the app.
60
+ * Set JINN_REWARD_CLAIM_INTERVAL_MS=600000 for managed/headless auto-claim.
56
61
  * Env: JINN_REWARD_CLAIM_INTERVAL_MS
57
62
  */
58
63
  rewardClaimIntervalMs: z.ZodDefault<z.ZodNumber>;
@@ -98,6 +103,8 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
98
103
  hermesModel: z.ZodOptional<z.ZodString>;
99
104
  /** Hermes provider (e.g. 'anthropic'). */
100
105
  hermesProvider: z.ZodOptional<z.ZodString>;
106
+ /** Local OpenAI-compatible Hermes base URL, e.g. http://127.0.0.1:11434/v1 for Ollama. */
107
+ hermesBaseUrl: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
101
108
  /**
102
109
  * Timeout in ms for `hermes doctor` health-check runs.
103
110
  * Default 30 000 ms. Env: JINN_HERMES_DOCTOR_TIMEOUT_MS.
@@ -157,16 +164,18 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
157
164
  * Narrow task discovery to specific on-chain task ids. This is primarily
158
165
  * for live acceptance gates that must avoid claiming unrelated public
159
166
  * backlog while proving one fresh task path.
167
+ * Env: JINN_TASK_DISCOVERY_ALLOWED_TASK_IDS (comma-separated).
160
168
  */
161
169
  taskDiscoveryAllowedTaskIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
162
170
  /**
163
- * Opt-in lower bound (L2 block number) for the mech adapter's canonical
164
- * on-chain TaskCreated backlog scan. Unset → the adapter's per-chain default
165
- * (DEFAULT_TASK_DISCOVERY_FROM_BLOCK) flows through (see gh #300). Set this to
166
- * a recent block to bound the scan to a small recent window so the indexer
167
- * (DiscoveryAPI.findClaimableTasks) carries the bulk of discovery the
168
- * canonical getLogs scan over a large/bloated history parses huge responses
169
- * on the main thread and can stall the event loop. Env: JINN_TASK_DISCOVERY_FROM_BLOCK.
171
+ * Explicit absolute lower bound (L2 block number) for the mech adapter's
172
+ * on-chain TaskCreated backlog scan. Unset → the scan defaults to a bounded
173
+ * rolling window (`head DEFAULT_ONCHAIN_SCAN_WINDOW_BLOCKS`, ~28h on Base),
174
+ * so a restart no longer replays full chain history every boot (#801); the
175
+ * indexer (DiscoveryAPI.findClaimableTasks) is the primary discovery path and
176
+ * the on-chain scan is a bounded backstop. Set this to widen the backstop to a
177
+ * specific block (the value pins both the scan start and the gh #300 admission
178
+ * floor). Env: JINN_TASK_DISCOVERY_FROM_BLOCK.
170
179
  */
171
180
  taskDiscoveryOnchainFromBlock: z.ZodOptional<z.ZodNumber>;
172
181
  /** This node's public HTTP endpoint (for 8004 registration) */
@@ -206,6 +215,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
206
215
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
207
216
  policyHook: z.ZodOptional<z.ZodString>;
208
217
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
218
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
209
219
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
210
220
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
211
221
  maxClaims: z.ZodNumber;
@@ -216,6 +226,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
216
226
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
217
227
  policyHook: z.ZodOptional<z.ZodString>;
218
228
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
229
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
219
230
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
220
231
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
221
232
  maxClaims: z.ZodNumber;
@@ -226,6 +237,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
226
237
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
227
238
  policyHook: z.ZodOptional<z.ZodString>;
228
239
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
240
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
229
241
  }, z.ZodTypeAny, "passthrough">>>;
230
242
  signedTask: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodObject<{
231
243
  signature: z.ZodObject<{
@@ -274,6 +286,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
274
286
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
275
287
  policyHook: z.ZodOptional<z.ZodString>;
276
288
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
289
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
277
290
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
278
291
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
279
292
  maxClaims: z.ZodNumber;
@@ -284,6 +297,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
284
297
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
285
298
  policyHook: z.ZodOptional<z.ZodString>;
286
299
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
300
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
287
301
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
288
302
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
289
303
  maxClaims: z.ZodNumber;
@@ -294,6 +308,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
294
308
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
295
309
  policyHook: z.ZodOptional<z.ZodString>;
296
310
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
311
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
297
312
  }, z.ZodTypeAny, "passthrough">>;
298
313
  creator: z.ZodObject<{
299
314
  safeAddress: z.ZodString;
@@ -353,6 +368,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
353
368
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
354
369
  policyHook: z.ZodOptional<z.ZodString>;
355
370
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
371
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
356
372
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
357
373
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
358
374
  maxClaims: z.ZodNumber;
@@ -363,6 +379,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
363
379
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
364
380
  policyHook: z.ZodOptional<z.ZodString>;
365
381
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
382
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
366
383
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
367
384
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
368
385
  maxClaims: z.ZodNumber;
@@ -373,6 +390,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
373
390
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
374
391
  policyHook: z.ZodOptional<z.ZodString>;
375
392
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
393
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
376
394
  }, z.ZodTypeAny, "passthrough">>;
377
395
  creator: z.ZodObject<{
378
396
  safeAddress: z.ZodString;
@@ -432,6 +450,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
432
450
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
433
451
  policyHook: z.ZodOptional<z.ZodString>;
434
452
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
453
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
435
454
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
436
455
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
437
456
  maxClaims: z.ZodNumber;
@@ -442,6 +461,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
442
461
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
443
462
  policyHook: z.ZodOptional<z.ZodString>;
444
463
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
464
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
445
465
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
446
466
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
447
467
  maxClaims: z.ZodNumber;
@@ -452,6 +472,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
452
472
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
453
473
  policyHook: z.ZodOptional<z.ZodString>;
454
474
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
475
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
455
476
  }, z.ZodTypeAny, "passthrough">>;
456
477
  creator: z.ZodObject<{
457
478
  safeAddress: z.ZodString;
@@ -511,6 +532,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
511
532
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
512
533
  policyHook: z.ZodOptional<z.ZodString>;
513
534
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
535
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
514
536
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
515
537
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
516
538
  maxClaims: z.ZodNumber;
@@ -521,6 +543,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
521
543
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
522
544
  policyHook: z.ZodOptional<z.ZodString>;
523
545
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
546
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
524
547
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
525
548
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
526
549
  maxClaims: z.ZodNumber;
@@ -531,6 +554,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
531
554
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
532
555
  policyHook: z.ZodOptional<z.ZodString>;
533
556
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
557
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
534
558
  }, z.ZodTypeAny, "passthrough">>;
535
559
  creator: z.ZodObject<{
536
560
  safeAddress: z.ZodString;
@@ -590,6 +614,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
590
614
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
591
615
  policyHook: z.ZodOptional<z.ZodString>;
592
616
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
617
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
593
618
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
594
619
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
595
620
  maxClaims: z.ZodNumber;
@@ -600,6 +625,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
600
625
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
601
626
  policyHook: z.ZodOptional<z.ZodString>;
602
627
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
628
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
603
629
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
604
630
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
605
631
  maxClaims: z.ZodNumber;
@@ -610,6 +636,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
610
636
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
611
637
  policyHook: z.ZodOptional<z.ZodString>;
612
638
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
639
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
613
640
  }, z.ZodTypeAny, "passthrough">>;
614
641
  creator: z.ZodObject<{
615
642
  safeAddress: z.ZodString;
@@ -653,6 +680,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
653
680
  submissionDeadlineTs?: number | undefined;
654
681
  policyHook?: string | undefined;
655
682
  requiredVerdicts?: number | undefined;
683
+ allowSolverSelfEvaluation?: boolean | undefined;
656
684
  } & {
657
685
  [k: string]: unknown;
658
686
  };
@@ -708,6 +736,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
708
736
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
709
737
  policyHook: z.ZodOptional<z.ZodString>;
710
738
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
739
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
711
740
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
712
741
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
713
742
  maxClaims: z.ZodNumber;
@@ -718,6 +747,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
718
747
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
719
748
  policyHook: z.ZodOptional<z.ZodString>;
720
749
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
750
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
721
751
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
722
752
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
723
753
  maxClaims: z.ZodNumber;
@@ -728,6 +758,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
728
758
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
729
759
  policyHook: z.ZodOptional<z.ZodString>;
730
760
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
761
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
731
762
  }, z.ZodTypeAny, "passthrough">>;
732
763
  creator: z.ZodObject<{
733
764
  safeAddress: z.ZodString;
@@ -765,6 +796,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
765
796
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
766
797
  policyHook: z.ZodOptional<z.ZodString>;
767
798
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
799
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
768
800
  }, z.ZodTypeAny, "passthrough"> | undefined;
769
801
  context?: Record<string, unknown> | undefined;
770
802
  attemptId?: string | undefined;
@@ -801,6 +833,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
801
833
  submissionDeadlineTs?: number | undefined;
802
834
  policyHook?: string | undefined;
803
835
  requiredVerdicts?: number | undefined;
836
+ allowSolverSelfEvaluation?: boolean | undefined;
804
837
  } & {
805
838
  [k: string]: unknown;
806
839
  };
@@ -834,6 +867,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
834
867
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
835
868
  policyHook: z.ZodOptional<z.ZodString>;
836
869
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
870
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
837
871
  }, z.ZodTypeAny, "passthrough"> | undefined;
838
872
  context?: Record<string, unknown> | undefined;
839
873
  attemptId?: string | undefined;
@@ -886,6 +920,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
886
920
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
887
921
  policyHook: z.ZodOptional<z.ZodString>;
888
922
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
923
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
889
924
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
890
925
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
891
926
  maxClaims: z.ZodNumber;
@@ -896,6 +931,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
896
931
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
897
932
  policyHook: z.ZodOptional<z.ZodString>;
898
933
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
934
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
899
935
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
900
936
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
901
937
  maxClaims: z.ZodNumber;
@@ -906,6 +942,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
906
942
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
907
943
  policyHook: z.ZodOptional<z.ZodString>;
908
944
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
945
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
909
946
  }, z.ZodTypeAny, "passthrough">>;
910
947
  creator: z.ZodObject<{
911
948
  safeAddress: z.ZodString;
@@ -933,88 +970,12 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
933
970
  /** Optional Base Sepolia stOLAS deployment artifact path */
934
971
  testnetStolasDeploymentPath: z.ZodOptional<z.ZodString>;
935
972
  /**
936
- * Optional deployment artifact for the v0 MVI L1 stack
937
- * (deployment-jinn-mvi-l1-{network}{,-fast}.json). Provides addresses for
938
- * JINN, Timelock, JinnGovernor, JinnDistributor, and Messenger.
939
- * When set the daemon enables the cross-chain JINN claim loop.
973
+ * Loop-watchdog auto-restart gate (#1043). Default OFF (the locked Option A
974
+ * decision): the watchdog always detects a stale loop and loud-logs + emits
975
+ * a `loop_watchdog_stale` event, but the non-zero process.exit recovery only
976
+ * fires when this is on. Env: JINN_WATCHDOG_AUTO_RESTART=1|true|yes.
940
977
  */
941
- jinnMviL1DeploymentPath: z.ZodOptional<z.ZodString>;
942
- /**
943
- * Optional deployment artifact for the v0 MVI L2 emitter
944
- * (deployment-jinn-mvi-l2-{network}.json). Provides the
945
- * TaskClaimEmitter address on the measurement chain (Base / Base Sepolia).
946
- */
947
- jinnMviL2DeploymentPath: z.ZodOptional<z.ZodString>;
948
- /**
949
- * RPC endpoint(s) for the L1 governance chain (Ethereum / Sepolia) where
950
- * the JinnDistributor lives. Accepts string or array form (see rpcUrl) and
951
- * supports comma-separated env values. Testnet defaults to a public Sepolia
952
- * RPC; mainnet requires an operator override when L1 submit mode is
953
- * configured. Env: JINN_ETHEREUM_RPC_URL.
954
- */
955
- ethereumRpcUrl: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
956
- /**
957
- * Optional archive RPC endpoint(s) for the L1 governance chain. Used for
958
- * historical block lookups when constructing canonical-mode proofs. Accepts
959
- * string or array form. Env: JINN_ETHEREUM_ARCHIVE_RPC_URL.
960
- */
961
- ethereumArchiveRpcUrl: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
962
- /**
963
- * L1 network used by the cross-chain claim loop. 'sepolia' tracks Base
964
- * Sepolia testnet; 'ethereum' tracks Base mainnet. Defaults to 'sepolia'
965
- * during Phase 1b. Env: JINN_L1_NETWORK.
966
- */
967
- jinnL1Network: z.ZodDefault<z.ZodEnum<["sepolia", "ethereum"]>>;
968
- /**
969
- * JinnDistributor address on the L1 governance chain. Required for
970
- * jinnClaimSubmissionMode='submit'. When set for submit mode, ethereumRpcUrl
971
- * MUST also be set. Resolved from jinnMviL1DeploymentPath when omitted;
972
- * otherwise a manual override. Env: JINN_DISTRIBUTOR_ADDRESS.
973
- */
974
- jinnDistributorAddress: z.ZodOptional<z.ZodString>;
975
- /**
976
- * TaskClaimEmitter address on the L2 measurement chain (Base / Base
977
- * Sepolia). Resolved from jinnMviL2DeploymentPath when omitted.
978
- * Env: JINN_CLAIM_EMITTER_ADDRESS.
979
- */
980
- jinnClaimEmitterAddress: z.ZodOptional<z.ZodString>;
981
- /**
982
- * Messenger address on the L1 governance chain. Resolved from
983
- * jinnMviL1DeploymentPath when omitted.
984
- * Env: JINN_MESSENGER_ADDRESS.
985
- */
986
- jinnMessengerAddress: z.ZodOptional<z.ZodString>;
987
- /**
988
- * Messenger mode driving proof construction. `mock` submits MockMessenger
989
- * fixtures — required for automated Sepolia burn-in (`runOnce`). `canonical`
990
- * builds OP-Stack storage proofs for verifier-only checks; scheduled daemon
991
- * ticks **skip** canonical mode (multi-day finality) — use
992
- * `tsx scripts/verify-canonical-canary.ts` after finality instead. Defaults
993
- * to `canonical`.
994
- * Env: JINN_MESSENGER_MODE.
995
- */
996
- jinnMessengerMode: z.ZodDefault<z.ZodEnum<["canonical", "mock"]>>;
997
- /**
998
- * Claim submission mode. `emit-only` only submits TaskClaimEmitter.emitClaim
999
- * on L2 and records the resulting ticket. `submit` continues into the L1
1000
- * messenger/distributor path.
1001
- * Env: JINN_CLAIM_SUBMISSION_MODE.
1002
- */
1003
- jinnClaimSubmissionMode: z.ZodDefault<z.ZodEnum<["emit-only", "submit"]>>;
1004
- /**
1005
- * Explicit operator gate for the cross-chain JINN claim loop. The schema
1006
- * default stays off for mainnet/unknown networks; loadConfig defaults this
1007
- * on for testnet now that the emitter and standing relayer are live.
1008
- * Env: JINN_CLAIM_LOOP_ENABLED=1|true|yes.
1009
- */
1010
- jinnClaimLoopEnabled: z.ZodDefault<z.ZodBoolean>;
1011
- /**
1012
- * How often the daemon ticks the cross-chain JINN claim loop (ms). Default
1013
- * 3 600 000 (1 hour) — well below mainnet challenge windows while
1014
- * minimising RPC/gas churn. Set to 0 to disable when the address is set.
1015
- * Env: JINN_CLAIM_LOOP_INTERVAL_MS.
1016
- */
1017
- jinnClaimLoopIntervalMs: z.ZodDefault<z.ZodNumber>;
978
+ watchdogAutoRestart: z.ZodDefault<z.ZodBoolean>;
1018
979
  /** Staking mode: 'standard' uses stOLAS (no OLAS needed), 'self-bond' uses operator-provided OLAS. */
1019
980
  stakingMode: z.ZodDefault<z.ZodEnum<["standard", "self-bond"]>>;
1020
981
  /** Number of services to bootstrap and run. */
@@ -1040,6 +1001,21 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1040
1001
  * Env: JINN_MIN_SAFE_ETH_WEI
1041
1002
  */
1042
1003
  minSafeEthWei: z.ZodOptional<z.ZodString>;
1004
+ /**
1005
+ * Faucet top-up daily cap + cooldown (issue #560). Single source of truth
1006
+ * for the running-mode Dashboard "Top up from faucet" batch action, shared
1007
+ * by the daemon endpoint and surfaced to the SPA via GET /v1/setup/drip/quota.
1008
+ *
1009
+ * `faucetDailyTopupCap` — number of faucet drips a single operator click may
1010
+ * issue in one batch (and the per-24h ceiling per wallet). Env:
1011
+ * JINN_FAUCET_DAILY_TOPUP_CAP.
1012
+ *
1013
+ * `faucetTopupCooldownMs` — once the cap is reached, the top-up action is
1014
+ * disabled until this window elapses since the first call of that batch.
1015
+ * Env: JINN_FAUCET_TOPUP_COOLDOWN_MS.
1016
+ */
1017
+ faucetDailyTopupCap: z.ZodDefault<z.ZodNumber>;
1018
+ faucetTopupCooldownMs: z.ZodDefault<z.ZodNumber>;
1043
1019
  /**
1044
1020
  * Operator-controlled Harness inventory.
1045
1021
  */
@@ -1171,6 +1147,18 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1171
1147
  plugins?: string[] | undefined;
1172
1148
  disabledDefaultPlugins?: string[] | undefined;
1173
1149
  }>>>;
1150
+ /**
1151
+ * Set true once the operator clicks "Enter dashboard" at the end of the
1152
+ * #983 guided onboarding takeover. Distinct from `joinedSolverNets` being
1153
+ * non-empty: a node can have a membership mid-onboarding (the first join
1154
+ * populates the map) yet not have finished harness/model selection. The SPA
1155
+ * gates the bootstrap→dashboard hand-off on this flag (see App.tsx), so the
1156
+ * first join no longer ejects the operator before the harness step.
1157
+ *
1158
+ * Written by POST /v1/operator/onboarding-complete (persisted to disk AND
1159
+ * mutated in-memory so GET /v1/bootstrap reflects it without a restart).
1160
+ */
1161
+ onboardingComplete: z.ZodOptional<z.ZodBoolean>;
1174
1162
  /**
1175
1163
  * Trusted ed25519 publishers for external harness impls. The daemon
1176
1164
  * refuses to load any external impl whose manifest signature is not
@@ -1276,16 +1264,45 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1276
1264
  enabled?: boolean | undefined;
1277
1265
  port?: number | undefined;
1278
1266
  }>>;
1267
+ /**
1268
+ * Seller-side ML PII detection (Transformers.js NER, in-process) applied
1269
+ * before captures (and task trajectories) are published. Off by default:
1270
+ * the structural key policy + openredaction + secretlint/entropy stages
1271
+ * always scrub (the non-ML guarantee); this adds person/org/location NER
1272
+ * at the cost of a one-time model download. When enabled, a model-load
1273
+ * failure fails closed at the publish altitude — the trajectory is not
1274
+ * published — while the daemon's other loops keep running.
1275
+ * Env: JINN_CAPTURES_PII_DETECTION_ENABLED=1|true|yes,
1276
+ * JINN_CAPTURES_PII_DETECTION_MODEL=<hf-model-id>
1277
+ */
1278
+ piiDetection: z.ZodDefault<z.ZodObject<{
1279
+ enabled: z.ZodDefault<z.ZodBoolean>;
1280
+ model: z.ZodOptional<z.ZodString>;
1281
+ }, "strip", z.ZodTypeAny, {
1282
+ enabled: boolean;
1283
+ model?: string | undefined;
1284
+ }, {
1285
+ model?: string | undefined;
1286
+ enabled?: boolean | undefined;
1287
+ }>>;
1279
1288
  }, "strip", z.ZodTypeAny, {
1280
1289
  llmProxy: {
1281
1290
  enabled: boolean;
1282
1291
  port: number;
1283
1292
  };
1293
+ piiDetection: {
1294
+ enabled: boolean;
1295
+ model?: string | undefined;
1296
+ };
1284
1297
  }, {
1285
1298
  llmProxy?: {
1286
1299
  enabled?: boolean | undefined;
1287
1300
  port?: number | undefined;
1288
1301
  } | undefined;
1302
+ piiDetection?: {
1303
+ model?: string | undefined;
1304
+ enabled?: boolean | undefined;
1305
+ } | undefined;
1289
1306
  }>>;
1290
1307
  /**
1291
1308
  * Run idempotent legacy migrations at daemon startup (jinn-mono-jgp:
@@ -1393,6 +1410,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1393
1410
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
1394
1411
  policyHook: z.ZodOptional<z.ZodString>;
1395
1412
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
1413
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
1396
1414
  }, z.ZodTypeAny, "passthrough"> | undefined;
1397
1415
  context?: Record<string, unknown> | undefined;
1398
1416
  attemptId?: string | undefined;
@@ -1429,6 +1447,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1429
1447
  submissionDeadlineTs?: number | undefined;
1430
1448
  policyHook?: string | undefined;
1431
1449
  requiredVerdicts?: number | undefined;
1450
+ allowSolverSelfEvaluation?: boolean | undefined;
1432
1451
  } & {
1433
1452
  [k: string]: unknown;
1434
1453
  };
@@ -1441,14 +1460,12 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1441
1460
  }[];
1442
1461
  ipfsRegistryUrl: string;
1443
1462
  ipfsGatewayUrl: string;
1444
- jinnL1Network: "sepolia" | "ethereum";
1445
- jinnMessengerMode: "canonical" | "mock";
1446
- jinnClaimSubmissionMode: "emit-only" | "submit";
1447
- jinnClaimLoopEnabled: boolean;
1448
- jinnClaimLoopIntervalMs: number;
1463
+ watchdogAutoRestart: boolean;
1449
1464
  stakingMode: "standard" | "self-bond";
1450
1465
  targetServices: number;
1451
1466
  debug: boolean;
1467
+ faucetDailyTopupCap: number;
1468
+ faucetTopupCooldownMs: number;
1452
1469
  harness: {
1453
1470
  mode: "train" | "frozen";
1454
1471
  };
@@ -1457,411 +1474,9 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1457
1474
  enabled: boolean;
1458
1475
  port: number;
1459
1476
  };
1460
- };
1461
- runLegacyMigrations: boolean;
1462
- reputationEnabled: boolean;
1463
- solverPlugins: {
1464
- blockedCids: string[];
1465
- };
1466
- rpcUrl?: string | string[] | undefined;
1467
- archiveRpcUrl?: string | string[] | undefined;
1468
- l2ProofRpcUrl?: string | string[] | undefined;
1469
- apiBindHost?: string | undefined;
1470
- hermesPath?: string | undefined;
1471
- hermesModel?: string | undefined;
1472
- hermesProvider?: string | undefined;
1473
- codexPath?: string | undefined;
1474
- runtimeMode?: "bare" | "docker-compose" | "container" | undefined;
1475
- discovery?: {
1476
- mode?: "http" | "embedded" | "onchain" | undefined;
1477
- url?: string | undefined;
1478
- fallbackToOnchain?: boolean | undefined;
1479
- } | undefined;
1480
- taskDiscoveryAllowedTaskIds?: string[] | undefined;
1481
- taskDiscoveryOnchainFromBlock?: number | undefined;
1482
- nodeEndpoint?: string | undefined;
1483
- testnetL2DeploymentPath?: string | undefined;
1484
- testnetL2TokenDeploymentPath?: string | undefined;
1485
- testnetMechDeploymentPath?: string | undefined;
1486
- testnetStolasDeploymentPath?: string | undefined;
1487
- jinnMviL1DeploymentPath?: string | undefined;
1488
- jinnMviL2DeploymentPath?: string | undefined;
1489
- ethereumRpcUrl?: string | string[] | undefined;
1490
- ethereumArchiveRpcUrl?: string | string[] | undefined;
1491
- jinnDistributorAddress?: string | undefined;
1492
- jinnClaimEmitterAddress?: string | undefined;
1493
- jinnMessengerAddress?: string | undefined;
1494
- masterEthDailyEstimateWei?: string | undefined;
1495
- minEoaGasWei?: string | undefined;
1496
- minSafeEthWei?: string | undefined;
1497
- harnesses?: {
1498
- default?: string | undefined;
1499
- disabled?: string[] | undefined;
1500
- externalImpls?: {
1501
- name: string;
1502
- entry: string;
1503
- package?: string | undefined;
1504
- version?: string | undefined;
1505
- }[] | undefined;
1506
- } | undefined;
1507
- joinedSolverNets?: Record<string, {
1508
- manifestCid: string;
1509
- roles: ("solver" | "evaluator")[];
1510
- plugins: string[];
1511
- disabledDefaultPlugins: string[];
1512
- name?: string | undefined;
1513
- harness?: string | undefined;
1514
- contract?: {
1515
- id: string;
1516
- version: string;
1517
- } | undefined;
1518
- model?: string | undefined;
1519
- }> | undefined;
1520
- trustedImplSigners?: {
1521
- publicKey: string;
1522
- alg: "ed25519";
1523
- label?: string | undefined;
1524
- }[] | undefined;
1525
- engine?: {
1526
- workingDirRoot?: string | undefined;
1527
- implStateDirRoot?: string | undefined;
1528
- } | undefined;
1529
- operator?: {
1530
- defaultPriceUsdc: string;
1531
- perArtifactTypePrice: Record<string, string>;
1532
- donation: {
1533
- enabled: boolean;
1534
- };
1535
- publicEndpoint?: string | undefined;
1536
- } | undefined;
1537
- identityRegistryAddress?: string | undefined;
1538
- validationRegistryAddress?: string | undefined;
1539
- spendCaps?: Record<string, number> | undefined;
1540
- }, {
1541
- network?: "testnet" | "mainnet" | undefined;
1542
- rpcUrl?: string | string[] | undefined;
1543
- archiveRpcUrl?: string | string[] | undefined;
1544
- l2ProofRpcUrl?: string | string[] | undefined;
1545
- earningDir?: string | undefined;
1546
- dbPath?: string | undefined;
1547
- pollIntervalMs?: number | undefined;
1548
- rewardClaimIntervalMs?: number | undefined;
1549
- balanceTopupIntervalMs?: number | undefined;
1550
- evictionCheckIntervalMs?: number | undefined;
1551
- checkpointIntervalMs?: number | undefined;
1552
- apiPort?: number | undefined;
1553
- apiBindHost?: string | undefined;
1554
- claudePath?: string | undefined;
1555
- claudeModel?: string | undefined;
1556
- hermesPath?: string | undefined;
1557
- hermesModel?: string | undefined;
1558
- hermesProvider?: string | undefined;
1559
- hermesDoctorTimeoutMs?: number | undefined;
1560
- codexPath?: string | undefined;
1561
- codexDoctorTimeoutMs?: number | undefined;
1562
- runtimeMode?: "bare" | "docker-compose" | "container" | undefined;
1563
- peers?: string | string[] | undefined;
1564
- discovery?: {
1565
- mode?: "http" | "embedded" | "onchain" | undefined;
1566
- url?: string | undefined;
1567
- fallbackToOnchain?: boolean | undefined;
1568
- } | undefined;
1569
- taskDiscoveryAllowedTaskIds?: string[] | undefined;
1570
- taskDiscoveryOnchainFromBlock?: number | undefined;
1571
- nodeEndpoint?: string | undefined;
1572
- tasks?: {
1573
- id?: string | undefined;
1574
- solverType?: string | undefined;
1575
- solverNetManifestCid?: string | undefined;
1576
- contractId?: string | undefined;
1577
- contractVersion?: string | undefined;
1578
- role?: "restoration" | "evaluation" | undefined;
1579
- description?: string | undefined;
1580
- window?: {
1581
- startTs: number;
1582
- endTs: number;
1583
- } | undefined;
1584
- spec?: Record<string, unknown> | undefined;
1585
- eligibility?: Record<string, unknown> | undefined;
1586
- claimPolicy?: z.objectInputType<{
1587
- mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
1588
- maxClaims: z.ZodNumber;
1589
- maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
1590
- claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
1591
- claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
1592
- submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
1593
- claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
1594
- policyHook: z.ZodOptional<z.ZodString>;
1595
- requiredVerdicts: z.ZodOptional<z.ZodNumber>;
1596
- }, z.ZodTypeAny, "passthrough"> | undefined;
1597
- context?: Record<string, unknown> | undefined;
1598
- attemptId?: string | undefined;
1599
- attemptNumber?: number | undefined;
1600
- restorationRequestId?: string | undefined;
1601
- signedTask?: z.objectInputType<{
1602
- signature: z.ZodObject<{
1603
- algo: z.ZodLiteral<"secp256k1">;
1604
- signer: z.ZodString;
1605
- hash: z.ZodString;
1606
- sig: z.ZodString;
1607
- }, "strip", z.ZodTypeAny, {
1608
- hash: string;
1609
- algo: "secp256k1";
1610
- signer: string;
1611
- sig: string;
1612
- }, {
1613
- hash: string;
1614
- algo: "secp256k1";
1615
- signer: string;
1616
- sig: string;
1617
- }>;
1618
- schemaVersion: z.ZodLiteral<"task.v1">;
1619
- id: z.ZodString;
1620
- solverType: z.ZodString;
1621
- solverNetManifestCid: z.ZodString;
1622
- contractId: z.ZodString;
1623
- contractVersion: z.ZodString;
1624
- role: z.ZodDefault<z.ZodEnum<["restoration", "evaluation"]>>;
1625
- description: z.ZodString;
1626
- window: z.ZodObject<{
1627
- startTs: z.ZodNumber;
1628
- endTs: z.ZodNumber;
1629
- }, "strip", z.ZodTypeAny, {
1630
- startTs: number;
1631
- endTs: number;
1632
- }, {
1633
- startTs: number;
1634
- endTs: number;
1635
- }>;
1636
- spec: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnknown>, Record<string, unknown>, Record<string, unknown>>;
1637
- eligibility: z.ZodRecord<z.ZodString, z.ZodUnknown>;
1638
- claimPolicy: z.ZodObject<{
1639
- mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
1640
- maxClaims: z.ZodNumber;
1641
- maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
1642
- claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
1643
- claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
1644
- submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
1645
- claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
1646
- policyHook: z.ZodOptional<z.ZodString>;
1647
- requiredVerdicts: z.ZodOptional<z.ZodNumber>;
1648
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1649
- mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
1650
- maxClaims: z.ZodNumber;
1651
- maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
1652
- claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
1653
- claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
1654
- submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
1655
- claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
1656
- policyHook: z.ZodOptional<z.ZodString>;
1657
- requiredVerdicts: z.ZodOptional<z.ZodNumber>;
1658
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1659
- mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
1660
- maxClaims: z.ZodNumber;
1661
- maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
1662
- claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
1663
- claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
1664
- submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
1665
- claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
1666
- policyHook: z.ZodOptional<z.ZodString>;
1667
- requiredVerdicts: z.ZodOptional<z.ZodNumber>;
1668
- }, z.ZodTypeAny, "passthrough">>;
1669
- creator: z.ZodObject<{
1670
- safeAddress: z.ZodString;
1671
- agentEoa: z.ZodString;
1672
- }, "strip", z.ZodTypeAny, {
1673
- safeAddress: string;
1674
- agentEoa: string;
1675
- }, {
1676
- safeAddress: string;
1677
- agentEoa: string;
1678
- }>;
1679
- createdAt: z.ZodNumber;
1680
- }, z.ZodTypeAny, "passthrough"> | undefined;
1681
- }[] | undefined;
1682
- ipfsRegistryUrl?: string | undefined;
1683
- ipfsGatewayUrl?: string | undefined;
1684
- testnetL2DeploymentPath?: string | undefined;
1685
- testnetL2TokenDeploymentPath?: string | undefined;
1686
- testnetMechDeploymentPath?: string | undefined;
1687
- testnetStolasDeploymentPath?: string | undefined;
1688
- jinnMviL1DeploymentPath?: string | undefined;
1689
- jinnMviL2DeploymentPath?: string | undefined;
1690
- ethereumRpcUrl?: string | string[] | undefined;
1691
- ethereumArchiveRpcUrl?: string | string[] | undefined;
1692
- jinnL1Network?: "sepolia" | "ethereum" | undefined;
1693
- jinnDistributorAddress?: string | undefined;
1694
- jinnClaimEmitterAddress?: string | undefined;
1695
- jinnMessengerAddress?: string | undefined;
1696
- jinnMessengerMode?: "canonical" | "mock" | undefined;
1697
- jinnClaimSubmissionMode?: "emit-only" | "submit" | undefined;
1698
- jinnClaimLoopEnabled?: boolean | undefined;
1699
- jinnClaimLoopIntervalMs?: number | undefined;
1700
- stakingMode?: "standard" | "self-bond" | undefined;
1701
- targetServices?: number | undefined;
1702
- debug?: boolean | undefined;
1703
- masterEthDailyEstimateWei?: string | undefined;
1704
- minEoaGasWei?: string | undefined;
1705
- minSafeEthWei?: string | undefined;
1706
- harnesses?: {
1707
- default?: string | undefined;
1708
- disabled?: string[] | undefined;
1709
- externalImpls?: {
1710
- name: string;
1711
- entry: string;
1712
- package?: string | undefined;
1713
- version?: string | undefined;
1714
- }[] | undefined;
1715
- } | undefined;
1716
- harness?: {
1717
- mode?: "train" | "frozen" | undefined;
1718
- } | undefined;
1719
- joinedSolverNets?: Record<string, {
1720
- manifestCid: string;
1721
- roles: ("solver" | "evaluator")[];
1722
- name?: string | undefined;
1723
- harness?: string | undefined;
1724
- contract?: {
1725
- id: string;
1726
- version: string;
1727
- } | undefined;
1728
- model?: string | undefined;
1729
- plugins?: string[] | undefined;
1730
- disabledDefaultPlugins?: string[] | undefined;
1731
- }> | undefined;
1732
- trustedImplSigners?: {
1733
- publicKey: string;
1734
- alg: "ed25519";
1735
- label?: string | undefined;
1736
- }[] | undefined;
1737
- engine?: {
1738
- workingDirRoot?: string | undefined;
1739
- implStateDirRoot?: string | undefined;
1740
- } | undefined;
1741
- operator?: {
1742
- publicEndpoint?: string | undefined;
1743
- defaultPriceUsdc?: string | undefined;
1744
- perArtifactTypePrice?: Record<string, string> | undefined;
1745
- donation?: {
1746
- enabled?: boolean | undefined;
1747
- } | undefined;
1748
- } | undefined;
1749
- captures?: {
1750
- llmProxy?: {
1751
- enabled?: boolean | undefined;
1752
- port?: number | undefined;
1753
- } | undefined;
1754
- } | undefined;
1755
- runLegacyMigrations?: boolean | undefined;
1756
- identityRegistryAddress?: string | undefined;
1757
- validationRegistryAddress?: string | undefined;
1758
- reputationEnabled?: boolean | undefined;
1759
- spendCaps?: Record<string, number> | undefined;
1760
- solverPlugins?: {
1761
- blockedCids?: string[] | undefined;
1762
- } | undefined;
1763
- }>, {
1764
- network: "testnet" | "mainnet";
1765
- earningDir: string;
1766
- dbPath: string;
1767
- pollIntervalMs: number;
1768
- rewardClaimIntervalMs: number;
1769
- balanceTopupIntervalMs: number;
1770
- evictionCheckIntervalMs: number;
1771
- checkpointIntervalMs: number;
1772
- apiPort: number;
1773
- claudePath: string;
1774
- claudeModel: string;
1775
- hermesDoctorTimeoutMs: number;
1776
- codexDoctorTimeoutMs: number;
1777
- peers: string[];
1778
- tasks: {
1779
- id?: string | undefined;
1780
- solverType?: string | undefined;
1781
- solverNetManifestCid?: string | undefined;
1782
- contractId?: string | undefined;
1783
- contractVersion?: string | undefined;
1784
- role?: "restoration" | "evaluation" | undefined;
1785
- description?: string | undefined;
1786
- window?: {
1787
- startTs: number;
1788
- endTs: number;
1789
- } | undefined;
1790
- spec?: Record<string, unknown> | undefined;
1791
- eligibility?: Record<string, unknown> | undefined;
1792
- claimPolicy?: z.objectOutputType<{
1793
- mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
1794
- maxClaims: z.ZodNumber;
1795
- maxClaimsPerOperator: z.ZodDefault<z.ZodNumber>;
1796
- claimWindowStartTs: z.ZodOptional<z.ZodNumber>;
1797
- claimWindowEndTs: z.ZodOptional<z.ZodNumber>;
1798
- submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
1799
- claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
1800
- policyHook: z.ZodOptional<z.ZodString>;
1801
- requiredVerdicts: z.ZodOptional<z.ZodNumber>;
1802
- }, z.ZodTypeAny, "passthrough"> | undefined;
1803
- context?: Record<string, unknown> | undefined;
1804
- attemptId?: string | undefined;
1805
- attemptNumber?: number | undefined;
1806
- restorationRequestId?: string | undefined;
1807
- signedTask?: {
1808
- id: string;
1809
- signature: {
1810
- hash: string;
1811
- algo: "secp256k1";
1812
- signer: string;
1813
- sig: string;
1814
- };
1815
- schemaVersion: "task.v1";
1816
- solverType: string;
1817
- solverNetManifestCid: string;
1818
- contractId: string;
1819
- contractVersion: string;
1820
- role: "restoration" | "evaluation";
1821
- description: string;
1822
- window: {
1823
- startTs: number;
1824
- endTs: number;
1825
- };
1826
- spec: Record<string, unknown>;
1827
- eligibility: Record<string, unknown>;
1828
- claimPolicy: {
1829
- mode: "exclusive" | "parallel";
1830
- maxClaims: number;
1831
- maxClaimsPerOperator: number;
1832
- claimLeaseTtlSeconds: number;
1833
- claimWindowStartTs?: number | undefined;
1834
- claimWindowEndTs?: number | undefined;
1835
- submissionDeadlineTs?: number | undefined;
1836
- policyHook?: string | undefined;
1837
- requiredVerdicts?: number | undefined;
1838
- } & {
1839
- [k: string]: unknown;
1840
- };
1841
- creator: {
1842
- safeAddress: string;
1843
- agentEoa: string;
1844
- };
1845
- createdAt: number;
1846
- } | undefined;
1847
- }[];
1848
- ipfsRegistryUrl: string;
1849
- ipfsGatewayUrl: string;
1850
- jinnL1Network: "sepolia" | "ethereum";
1851
- jinnMessengerMode: "canonical" | "mock";
1852
- jinnClaimSubmissionMode: "emit-only" | "submit";
1853
- jinnClaimLoopEnabled: boolean;
1854
- jinnClaimLoopIntervalMs: number;
1855
- stakingMode: "standard" | "self-bond";
1856
- targetServices: number;
1857
- debug: boolean;
1858
- harness: {
1859
- mode: "train" | "frozen";
1860
- };
1861
- captures: {
1862
- llmProxy: {
1477
+ piiDetection: {
1863
1478
  enabled: boolean;
1864
- port: number;
1479
+ model?: string | undefined;
1865
1480
  };
1866
1481
  };
1867
1482
  runLegacyMigrations: boolean;
@@ -1871,11 +1486,12 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1871
1486
  };
1872
1487
  rpcUrl?: string | string[] | undefined;
1873
1488
  archiveRpcUrl?: string | string[] | undefined;
1874
- l2ProofRpcUrl?: string | string[] | undefined;
1489
+ stateDir?: string | undefined;
1875
1490
  apiBindHost?: string | undefined;
1876
1491
  hermesPath?: string | undefined;
1877
1492
  hermesModel?: string | undefined;
1878
1493
  hermesProvider?: string | undefined;
1494
+ hermesBaseUrl?: string | undefined;
1879
1495
  codexPath?: string | undefined;
1880
1496
  runtimeMode?: "bare" | "docker-compose" | "container" | undefined;
1881
1497
  discovery?: {
@@ -1890,13 +1506,6 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1890
1506
  testnetL2TokenDeploymentPath?: string | undefined;
1891
1507
  testnetMechDeploymentPath?: string | undefined;
1892
1508
  testnetStolasDeploymentPath?: string | undefined;
1893
- jinnMviL1DeploymentPath?: string | undefined;
1894
- jinnMviL2DeploymentPath?: string | undefined;
1895
- ethereumRpcUrl?: string | string[] | undefined;
1896
- ethereumArchiveRpcUrl?: string | string[] | undefined;
1897
- jinnDistributorAddress?: string | undefined;
1898
- jinnClaimEmitterAddress?: string | undefined;
1899
- jinnMessengerAddress?: string | undefined;
1900
1509
  masterEthDailyEstimateWei?: string | undefined;
1901
1510
  minEoaGasWei?: string | undefined;
1902
1511
  minSafeEthWei?: string | undefined;
@@ -1923,6 +1532,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1923
1532
  } | undefined;
1924
1533
  model?: string | undefined;
1925
1534
  }> | undefined;
1535
+ onboardingComplete?: boolean | undefined;
1926
1536
  trustedImplSigners?: {
1927
1537
  publicKey: string;
1928
1538
  alg: "ed25519";
@@ -1947,7 +1557,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1947
1557
  network?: "testnet" | "mainnet" | undefined;
1948
1558
  rpcUrl?: string | string[] | undefined;
1949
1559
  archiveRpcUrl?: string | string[] | undefined;
1950
- l2ProofRpcUrl?: string | string[] | undefined;
1560
+ stateDir?: string | undefined;
1951
1561
  earningDir?: string | undefined;
1952
1562
  dbPath?: string | undefined;
1953
1563
  pollIntervalMs?: number | undefined;
@@ -1962,6 +1572,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1962
1572
  hermesPath?: string | undefined;
1963
1573
  hermesModel?: string | undefined;
1964
1574
  hermesProvider?: string | undefined;
1575
+ hermesBaseUrl?: string | undefined;
1965
1576
  hermesDoctorTimeoutMs?: number | undefined;
1966
1577
  codexPath?: string | undefined;
1967
1578
  codexDoctorTimeoutMs?: number | undefined;
@@ -1999,6 +1610,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
1999
1610
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
2000
1611
  policyHook: z.ZodOptional<z.ZodString>;
2001
1612
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
1613
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
2002
1614
  }, z.ZodTypeAny, "passthrough"> | undefined;
2003
1615
  context?: Record<string, unknown> | undefined;
2004
1616
  attemptId?: string | undefined;
@@ -2051,6 +1663,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
2051
1663
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
2052
1664
  policyHook: z.ZodOptional<z.ZodString>;
2053
1665
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
1666
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
2054
1667
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
2055
1668
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
2056
1669
  maxClaims: z.ZodNumber;
@@ -2061,6 +1674,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
2061
1674
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
2062
1675
  policyHook: z.ZodOptional<z.ZodString>;
2063
1676
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
1677
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
2064
1678
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
2065
1679
  mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
2066
1680
  maxClaims: z.ZodNumber;
@@ -2071,6 +1685,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
2071
1685
  claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
2072
1686
  policyHook: z.ZodOptional<z.ZodString>;
2073
1687
  requiredVerdicts: z.ZodOptional<z.ZodNumber>;
1688
+ allowSolverSelfEvaluation: z.ZodOptional<z.ZodBoolean>;
2074
1689
  }, z.ZodTypeAny, "passthrough">>;
2075
1690
  creator: z.ZodObject<{
2076
1691
  safeAddress: z.ZodString;
@@ -2091,24 +1706,15 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
2091
1706
  testnetL2TokenDeploymentPath?: string | undefined;
2092
1707
  testnetMechDeploymentPath?: string | undefined;
2093
1708
  testnetStolasDeploymentPath?: string | undefined;
2094
- jinnMviL1DeploymentPath?: string | undefined;
2095
- jinnMviL2DeploymentPath?: string | undefined;
2096
- ethereumRpcUrl?: string | string[] | undefined;
2097
- ethereumArchiveRpcUrl?: string | string[] | undefined;
2098
- jinnL1Network?: "sepolia" | "ethereum" | undefined;
2099
- jinnDistributorAddress?: string | undefined;
2100
- jinnClaimEmitterAddress?: string | undefined;
2101
- jinnMessengerAddress?: string | undefined;
2102
- jinnMessengerMode?: "canonical" | "mock" | undefined;
2103
- jinnClaimSubmissionMode?: "emit-only" | "submit" | undefined;
2104
- jinnClaimLoopEnabled?: boolean | undefined;
2105
- jinnClaimLoopIntervalMs?: number | undefined;
1709
+ watchdogAutoRestart?: boolean | undefined;
2106
1710
  stakingMode?: "standard" | "self-bond" | undefined;
2107
1711
  targetServices?: number | undefined;
2108
1712
  debug?: boolean | undefined;
2109
1713
  masterEthDailyEstimateWei?: string | undefined;
2110
1714
  minEoaGasWei?: string | undefined;
2111
1715
  minSafeEthWei?: string | undefined;
1716
+ faucetDailyTopupCap?: number | undefined;
1717
+ faucetTopupCooldownMs?: number | undefined;
2112
1718
  harnesses?: {
2113
1719
  default?: string | undefined;
2114
1720
  disabled?: string[] | undefined;
@@ -2135,6 +1741,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
2135
1741
  plugins?: string[] | undefined;
2136
1742
  disabledDefaultPlugins?: string[] | undefined;
2137
1743
  }> | undefined;
1744
+ onboardingComplete?: boolean | undefined;
2138
1745
  trustedImplSigners?: {
2139
1746
  publicKey: string;
2140
1747
  alg: "ed25519";
@@ -2157,6 +1764,10 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
2157
1764
  enabled?: boolean | undefined;
2158
1765
  port?: number | undefined;
2159
1766
  } | undefined;
1767
+ piiDetection?: {
1768
+ model?: string | undefined;
1769
+ enabled?: boolean | undefined;
1770
+ } | undefined;
2160
1771
  } | undefined;
2161
1772
  runLegacyMigrations?: boolean | undefined;
2162
1773
  identityRegistryAddress?: string | undefined;
@@ -2178,17 +1789,11 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
2178
1789
  * which is what `buildFallbackTransport()` consumes. Same shape for the L1
2179
1790
  * (ethereum) and optional archive/proof variants.
2180
1791
  */
2181
- export type JinnConfig = Omit<z.infer<typeof JinnConfigSchema>, 'rpcUrl' | 'archiveRpcUrl' | 'l2ProofRpcUrl' | 'ethereumRpcUrl' | 'ethereumArchiveRpcUrl' | 'tasks' | 'engine'> & {
1792
+ export type JinnConfig = Omit<z.infer<typeof JinnConfigSchema>, 'rpcUrl' | 'archiveRpcUrl' | 'tasks' | 'engine'> & {
2182
1793
  rpcUrl: string;
2183
1794
  rpcUrls: readonly string[];
2184
1795
  archiveRpcUrl?: string;
2185
1796
  archiveRpcUrls?: readonly string[];
2186
- l2ProofRpcUrl?: string;
2187
- l2ProofRpcUrls?: readonly string[];
2188
- ethereumRpcUrl?: string;
2189
- ethereumRpcUrls?: readonly string[];
2190
- ethereumArchiveRpcUrl?: string;
2191
- ethereumArchiveRpcUrls?: readonly string[];
2192
1797
  tasks: Task[];
2193
1798
  engine: {
2194
1799
  workingDirRoot: string;
@@ -2204,18 +1809,30 @@ export declare const DEFAULT_CONFIG_PATH: string;
2204
1809
  * historical sync — see ponder.config.ts).
2205
1810
  */
2206
1811
  export declare const DEFAULT_TESTNET_DISCOVERY_URL = "https://jinn-indexer-production.up.railway.app";
2207
- export declare const DEFAULT_TESTNET_ETHEREUM_RPC_URL = "https://ethereum-sepolia-rpc.publicnode.com";
2208
1812
  /**
2209
- * Default fallback chain for the L2 measurement chain (Base Sepolia) on
2210
- * testnet. Per AC2 of issue #592:
2211
- * slot 0 `https://base-sepolia.publicnode.com` (no-auth, 50k-block
2212
- * getLogs cap, no shared-quota cliff).
2213
- * slot 1 `https://sepolia.base.org` (free public Coinbase endpoint,
2214
- * 2k-block cap; last-resort backup).
1813
+ * Default fallback chain for the L2 measurement chain (Base Sepolia, chain-id
1814
+ * 84532) on testnet. Originally a two-provider chain (AC2 of issue #592);
1815
+ * widened to ≥5 distinct free providers per issue #911 so a default-config
1816
+ * daemon tolerates a single-provider quota cliff (the Tenderly shared-quota
1817
+ * cliff of 2026-05-24) without an operator key.
1818
+ * slot 0 — `https://base-sepolia.publicnode.com` (#835 no-auth primary,
1819
+ * 50k-block getLogs cap, no shared-quota cliff).
1820
+ * slot 1 — `https://base-sepolia-rpc.publicnode.com`
1821
+ * slot 2 — `https://base-sepolia.drpc.org`
1822
+ * slot 3 — `https://base-sepolia.gateway.tenderly.co`
1823
+ * slot 4 — `https://sepolia.base.org` (free public Coinbase endpoint,
1824
+ * 2k-block cap; last-resort backup, stays last).
2215
1825
  * Operators are encouraged to prepend a paid primary key (Alchemy, Tenderly,
2216
1826
  * etc.) via `rpcUrl` config or `JINN_RPC_URL` / `BASE_SEPOLIA_RPC_URL` env.
1827
+ * All five endpoints live-verified to return chain-id 84532 (#911).
2217
1828
  */
2218
1829
  export declare const DEFAULT_TESTNET_RPC_URLS: readonly string[];
1830
+ /**
1831
+ * Default fallback chain for the L2 measurement chain (Base mainnet, chain-id
1832
+ * 8453). ≥5 distinct free providers per issue #911.
1833
+ * slot 0 — `https://mainnet.base.org` (free public Coinbase endpoint).
1834
+ */
1835
+ export declare const DEFAULT_MAINNET_RPC_URLS: readonly string[];
2219
1836
  export type ConfigLoadErrorCode = 'config_file_not_found' | 'config_json_invalid' | 'tasks_file_not_found' | 'tasks_json_invalid' | 'config_invalid';
2220
1837
  export declare class ConfigLoadError extends Error {
2221
1838
  readonly code: ConfigLoadErrorCode;