@jinn-network/client 0.1.7 → 0.1.8

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 (319) hide show
  1. package/README.md +67 -1
  2. package/dist/adapters/mech/adapter.d.ts +19 -1
  3. package/dist/adapters/mech/adapter.js +130 -14
  4. package/dist/adapters/mech/adapter.js.map +1 -1
  5. package/dist/adapters/mech/contracts.d.ts +22 -1
  6. package/dist/adapters/mech/contracts.js +34 -24
  7. package/dist/adapters/mech/contracts.js.map +1 -1
  8. package/dist/adapters/mech/safe.d.ts +1 -1
  9. package/dist/adapters/mech/safe.js +5 -3
  10. package/dist/adapters/mech/safe.js.map +1 -1
  11. package/dist/adapters/mech/types.d.ts +6 -1
  12. package/dist/adapters/mech/types.js.map +1 -1
  13. package/dist/agent/operator-claude.js +8 -0
  14. package/dist/agent/operator-claude.js.map +1 -1
  15. package/dist/api/activity-events-endpoint.d.ts +14 -0
  16. package/dist/api/activity-events-endpoint.js +59 -0
  17. package/dist/api/activity-events-endpoint.js.map +1 -0
  18. package/dist/api/bootstrap-endpoint.d.ts +1 -2
  19. package/dist/api/bootstrap-endpoint.js +42 -24
  20. package/dist/api/bootstrap-endpoint.js.map +1 -1
  21. package/dist/api/codex-doctor-endpoint.d.ts +22 -5
  22. package/dist/api/codex-doctor-endpoint.js +136 -17
  23. package/dist/api/codex-doctor-endpoint.js.map +1 -1
  24. package/dist/api/debug-report-endpoint.d.ts +27 -0
  25. package/dist/api/debug-report-endpoint.js +157 -0
  26. package/dist/api/debug-report-endpoint.js.map +1 -0
  27. package/dist/api/gather-status.d.ts +33 -0
  28. package/dist/api/gather-status.js +211 -26
  29. package/dist/api/gather-status.js.map +1 -1
  30. package/dist/api/hermes-doctor-endpoint.d.ts +15 -7
  31. package/dist/api/hermes-doctor-endpoint.js +56 -19
  32. package/dist/api/hermes-doctor-endpoint.js.map +1 -1
  33. package/dist/api/launcher-status.d.ts +4 -2
  34. package/dist/api/launcher-status.js +11 -10
  35. package/dist/api/launcher-status.js.map +1 -1
  36. package/dist/api/launcher-tasks.d.ts +1 -1
  37. package/dist/api/launcher-tasks.js +12 -8
  38. package/dist/api/launcher-tasks.js.map +1 -1
  39. package/dist/api/operator-artifacts-endpoint.js +73 -6
  40. package/dist/api/operator-artifacts-endpoint.js.map +1 -1
  41. package/dist/api/portfolio-v0-build.d.ts +7 -1
  42. package/dist/api/portfolio-v0-build.js +6 -2
  43. package/dist/api/portfolio-v0-build.js.map +1 -1
  44. package/dist/api/prediction-v1-build.d.ts +6 -0
  45. package/dist/api/prediction-v1-build.js +3 -1
  46. package/dist/api/prediction-v1-build.js.map +1 -1
  47. package/dist/api/server.d.ts +17 -0
  48. package/dist/api/server.js +40 -1
  49. package/dist/api/server.js.map +1 -1
  50. package/dist/api/setup-endpoints.d.ts +0 -9
  51. package/dist/api/setup-endpoints.js +11 -153
  52. package/dist/api/setup-endpoints.js.map +1 -1
  53. package/dist/api/solvernets-endpoints.js +30 -63
  54. package/dist/api/solvernets-endpoints.js.map +1 -1
  55. package/dist/api/status-build.d.ts +115 -2
  56. package/dist/api/status-build.js +47 -11
  57. package/dist/api/status-build.js.map +1 -1
  58. package/dist/api/status-harness-rollup.d.ts +35 -0
  59. package/dist/api/status-harness-rollup.js +45 -0
  60. package/dist/api/status-harness-rollup.js.map +1 -0
  61. package/dist/api/task-runs-build.d.ts +8 -0
  62. package/dist/api/task-runs-build.js +5 -1
  63. package/dist/api/task-runs-build.js.map +1 -1
  64. package/dist/build-info.json +4 -4
  65. package/dist/build-meta.json +1 -1
  66. package/dist/captures/live-publisher.js +24 -4
  67. package/dist/captures/live-publisher.js.map +1 -1
  68. package/dist/captures/publish.d.ts +1 -1
  69. package/dist/chain-read-errors.d.ts +12 -0
  70. package/dist/chain-read-errors.js +26 -1
  71. package/dist/chain-read-errors.js.map +1 -1
  72. package/dist/cli/commands/codedigest-revert-check.d.ts +33 -0
  73. package/dist/cli/commands/codedigest-revert-check.js +249 -0
  74. package/dist/cli/commands/codedigest-revert-check.js.map +1 -0
  75. package/dist/cli/commands/solver-nets.d.ts +1 -0
  76. package/dist/cli/commands/solver-nets.js +177 -22
  77. package/dist/cli/commands/solver-nets.js.map +1 -1
  78. package/dist/cli/commands/solver-plugins-block.d.ts +33 -0
  79. package/dist/cli/commands/solver-plugins-block.js +118 -0
  80. package/dist/cli/commands/solver-plugins-block.js.map +1 -0
  81. package/dist/cli/commands/solver-plugins-feedback.d.ts +72 -0
  82. package/dist/cli/commands/solver-plugins-feedback.js +262 -0
  83. package/dist/cli/commands/solver-plugins-feedback.js.map +1 -0
  84. package/dist/cli/commands/solver-plugins-read.d.ts +54 -0
  85. package/dist/cli/commands/solver-plugins-read.js +259 -0
  86. package/dist/cli/commands/solver-plugins-read.js.map +1 -0
  87. package/dist/cli/commands/solver-plugins.d.ts +35 -0
  88. package/dist/cli/commands/solver-plugins.js +399 -2
  89. package/dist/cli/commands/solver-plugins.js.map +1 -1
  90. package/dist/cli/commands/tasks.js +15 -2
  91. package/dist/cli/commands/tasks.js.map +1 -1
  92. package/dist/cli/index.js +2 -0
  93. package/dist/cli/index.js.map +1 -1
  94. package/dist/cli/task-native-readiness.d.ts +7 -0
  95. package/dist/cli/task-native-readiness.js +7 -5
  96. package/dist/cli/task-native-readiness.js.map +1 -1
  97. package/dist/config.d.ts +183 -232
  98. package/dist/config.js +232 -107
  99. package/dist/config.js.map +1 -1
  100. package/dist/daemon/ai-units-gate.d.ts +54 -0
  101. package/dist/daemon/ai-units-gate.js +82 -0
  102. package/dist/daemon/ai-units-gate.js.map +1 -0
  103. package/dist/daemon/creator.js +13 -0
  104. package/dist/daemon/creator.js.map +1 -1
  105. package/dist/daemon/daemon.d.ts +10 -0
  106. package/dist/daemon/daemon.js +203 -30
  107. package/dist/daemon/daemon.js.map +1 -1
  108. package/dist/daemon/gate-logger.d.ts +9 -0
  109. package/dist/daemon/gate-logger.js +2 -0
  110. package/dist/daemon/gate-logger.js.map +1 -0
  111. package/dist/daemon/jinn-claim-loop.js +22 -4
  112. package/dist/daemon/jinn-claim-loop.js.map +1 -1
  113. package/dist/daemon/readiness-gate.d.ts +1 -4
  114. package/dist/daemon/readiness-gate.js.map +1 -1
  115. package/dist/daemon/spend-cap-gate.d.ts +40 -0
  116. package/dist/daemon/spend-cap-gate.js +46 -0
  117. package/dist/daemon/spend-cap-gate.js.map +1 -0
  118. package/dist/dashboard/assets/index-CzKxvMcU.css +32 -0
  119. package/dist/dashboard/assets/index-yVemxHot.js +351 -0
  120. package/dist/dashboard/index.html +2 -2
  121. package/dist/discovery/http.js +328 -1
  122. package/dist/discovery/http.js.map +1 -1
  123. package/dist/discovery/onchain.js +42 -4
  124. package/dist/discovery/onchain.js.map +1 -1
  125. package/dist/discovery/types.d.ts +129 -0
  126. package/dist/discovery/types.js.map +1 -1
  127. package/dist/discovery/with-fallback.js +27 -0
  128. package/dist/discovery/with-fallback.js.map +1 -1
  129. package/dist/earning/bootstrap.d.ts +8 -3
  130. package/dist/earning/bootstrap.js +36 -13
  131. package/dist/earning/bootstrap.js.map +1 -1
  132. package/dist/earning/safe-adapter.js +23 -11
  133. package/dist/earning/safe-adapter.js.map +1 -1
  134. package/dist/earning/types.d.ts +6 -6
  135. package/dist/earning/viem-clients.d.ts +11 -4
  136. package/dist/earning/viem-clients.js +14 -5
  137. package/dist/earning/viem-clients.js.map +1 -1
  138. package/dist/erc8004/identity.d.ts +19 -3
  139. package/dist/erc8004/identity.js +38 -11
  140. package/dist/erc8004/identity.js.map +1 -1
  141. package/dist/erc8004/index.d.ts +1 -1
  142. package/dist/erc8004/index.js.map +1 -1
  143. package/dist/events/types.d.ts +2 -2
  144. package/dist/harnesses/cost-estimates.d.ts +10 -31
  145. package/dist/harnesses/cost-estimates.js +11 -43
  146. package/dist/harnesses/cost-estimates.js.map +1 -1
  147. package/dist/harnesses/engine/engine.d.ts +28 -4
  148. package/dist/harnesses/engine/engine.js +103 -17
  149. package/dist/harnesses/engine/engine.js.map +1 -1
  150. package/dist/harnesses/engine/persistence.d.ts +21 -4
  151. package/dist/harnesses/engine/persistence.js +43 -6
  152. package/dist/harnesses/engine/persistence.js.map +1 -1
  153. package/dist/harnesses/engine/state.d.ts +9 -0
  154. package/dist/harnesses/engine/state.js +23 -10
  155. package/dist/harnesses/engine/state.js.map +1 -1
  156. package/dist/harnesses/impls/hermes-agent/bootstrap.js +4 -2
  157. package/dist/harnesses/impls/hermes-agent/bootstrap.js.map +1 -1
  158. package/dist/harnesses/impls/hermes-agent/config-builder.d.ts +1 -1
  159. package/dist/harnesses/impls/hermes-agent/config-builder.js +4 -2
  160. package/dist/harnesses/impls/hermes-agent/config-builder.js.map +1 -1
  161. package/dist/harnesses/impls/hermes-agent/harness.d.ts +14 -0
  162. package/dist/harnesses/impls/hermes-agent/harness.js +16 -2
  163. package/dist/harnesses/impls/hermes-agent/harness.js.map +1 -1
  164. package/dist/harnesses/impls/hermes-agent/prompt.d.ts +6 -6
  165. package/dist/harnesses/impls/hermes-agent/prompt.js +6 -6
  166. package/dist/harnesses/impls/learner/adapters/claude-code.d.ts +17 -0
  167. package/dist/harnesses/impls/learner/adapters/claude-code.js +113 -14
  168. package/dist/harnesses/impls/learner/adapters/claude-code.js.map +1 -1
  169. package/dist/harnesses/impls/learner/adapters/codex-code.d.ts +9 -0
  170. package/dist/harnesses/impls/learner/adapters/codex-code.js +30 -8
  171. package/dist/harnesses/impls/learner/adapters/codex-code.js.map +1 -1
  172. package/dist/harnesses/impls/learner/harness.d.ts +24 -0
  173. package/dist/harnesses/impls/learner/harness.js +27 -3
  174. package/dist/harnesses/impls/learner/harness.js.map +1 -1
  175. package/dist/harnesses/impls/learner/harvest.d.ts +1 -1
  176. package/dist/harnesses/impls/learner/harvest.js +23 -5
  177. package/dist/harnesses/impls/learner/harvest.js.map +1 -1
  178. package/dist/harnesses/impls/learner/restoration-patch.d.ts +2 -2
  179. package/dist/harnesses/impls/learner/restoration-patch.js +25 -6
  180. package/dist/harnesses/impls/learner/restoration-patch.js.map +1 -1
  181. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js +21 -1
  182. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js.map +1 -1
  183. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.d.ts +74 -5
  184. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js +103 -32
  185. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js.map +1 -1
  186. package/dist/harnesses/readiness-registry.d.ts +7 -0
  187. package/dist/harnesses/readiness-registry.js +9 -0
  188. package/dist/harnesses/readiness-registry.js.map +1 -1
  189. package/dist/learner/revert-decision.d.ts +59 -0
  190. package/dist/learner/revert-decision.js +53 -0
  191. package/dist/learner/revert-decision.js.map +1 -0
  192. package/dist/learner/revert-stats.d.ts +24 -0
  193. package/dist/learner/revert-stats.js +44 -0
  194. package/dist/learner/revert-stats.js.map +1 -0
  195. package/dist/main.js +177 -104
  196. package/dist/main.js.map +1 -1
  197. package/dist/mcp/get-codedigest-reward.d.ts +13 -0
  198. package/dist/mcp/get-codedigest-reward.js +23 -0
  199. package/dist/mcp/get-codedigest-reward.js.map +1 -0
  200. package/dist/mcp/server.js +23 -0
  201. package/dist/mcp/server.js.map +1 -1
  202. package/dist/observability/debug-report-assemble.d.ts +43 -0
  203. package/dist/observability/debug-report-assemble.js +80 -0
  204. package/dist/observability/debug-report-assemble.js.map +1 -0
  205. package/dist/observability/emit-event.d.ts +9 -2
  206. package/dist/observability/emit-event.js +36 -2
  207. package/dist/observability/emit-event.js.map +1 -1
  208. package/dist/observability/file-logger.d.ts +69 -0
  209. package/dist/observability/file-logger.js +177 -0
  210. package/dist/observability/file-logger.js.map +1 -0
  211. package/dist/observability/redact-secrets.d.ts +65 -0
  212. package/dist/observability/redact-secrets.js +300 -0
  213. package/dist/observability/redact-secrets.js.map +1 -0
  214. package/dist/observability/tar.d.ts +30 -0
  215. package/dist/observability/tar.js +102 -0
  216. package/dist/observability/tar.js.map +1 -0
  217. package/dist/plugins/learner/skills/learn/consolidator-prompt.md +18 -1
  218. package/dist/plugins/learner/skills/learn/promoter-prompt.md +72 -1
  219. package/dist/preflight/pidfile-liveness.d.ts +44 -0
  220. package/dist/preflight/pidfile-liveness.js +103 -0
  221. package/dist/preflight/pidfile-liveness.js.map +1 -0
  222. package/dist/preflight/rpc-network.d.ts +40 -0
  223. package/dist/preflight/rpc-network.js +67 -1
  224. package/dist/preflight/rpc-network.js.map +1 -1
  225. package/dist/rpc/transport.d.ts +109 -0
  226. package/dist/rpc/transport.js +220 -0
  227. package/dist/rpc/transport.js.map +1 -0
  228. package/dist/scripts/donation-consumption-acceptance.js +7 -28
  229. package/dist/scripts/donation-consumption-acceptance.js.map +1 -1
  230. package/dist/scripts/swe-rebench-v2-pytest-missing.json +16 -0
  231. package/dist/solver-nets/prediction-operator-ux.d.ts +1 -2
  232. package/dist/solver-nets/prediction-operator-ux.js +56 -53
  233. package/dist/solver-nets/prediction-operator-ux.js.map +1 -1
  234. package/dist/solver-nets/registry.d.ts +19 -1
  235. package/dist/solver-nets/registry.js +37 -24
  236. package/dist/solver-nets/registry.js.map +1 -1
  237. package/dist/solver-types/_swe-rebench-v2-pool.d.ts +9 -2
  238. package/dist/solver-types/_swe-rebench-v2-pool.js +15 -20
  239. package/dist/solver-types/_swe-rebench-v2-pool.js.map +1 -1
  240. package/dist/solver-types/_swe-rebench-v2-state.d.ts +15 -0
  241. package/dist/solver-types/_swe-rebench-v2-state.js +19 -0
  242. package/dist/solver-types/_swe-rebench-v2-state.js.map +1 -1
  243. package/dist/solver-types/_swe-rebench-v2-validated-pool.d.ts +116 -2
  244. package/dist/solver-types/_swe-rebench-v2-validated-pool.js +296 -21
  245. package/dist/solver-types/_swe-rebench-v2-validated-pool.js.map +1 -1
  246. package/dist/solver-types/swe-rebench-v2-auto.d.ts +20 -11
  247. package/dist/solver-types/swe-rebench-v2-auto.js +64 -19
  248. package/dist/solver-types/swe-rebench-v2-auto.js.map +1 -1
  249. package/dist/solver-types/swe-rebench-v2.d.ts +8 -2
  250. package/dist/solver-types/swe-rebench-v2.js +127 -11
  251. package/dist/solver-types/swe-rebench-v2.js.map +1 -1
  252. package/dist/solvernets/daemon-init.d.ts +1 -1
  253. package/dist/solvernets/daemon-init.js +19 -4
  254. package/dist/solvernets/daemon-init.js.map +1 -1
  255. package/dist/solvernets/launched-record-dispatcher.d.ts +4 -0
  256. package/dist/solvernets/launched-record-dispatcher.js +10 -4
  257. package/dist/solvernets/launched-record-dispatcher.js.map +1 -1
  258. package/dist/solvernets/registry-client-erc8004.js +11 -0
  259. package/dist/solvernets/registry-client-erc8004.js.map +1 -1
  260. package/dist/solvernets/store.d.ts +2 -2
  261. package/dist/spend/ai-units-config.d.ts +39 -0
  262. package/dist/spend/ai-units-config.js +28 -0
  263. package/dist/spend/ai-units-config.js.map +1 -0
  264. package/dist/spend/ai-units.d.ts +89 -0
  265. package/dist/spend/ai-units.js +156 -0
  266. package/dist/spend/ai-units.js.map +1 -0
  267. package/dist/spend/cost-surface-status.d.ts +12 -0
  268. package/dist/spend/cost-surface-status.js +24 -0
  269. package/dist/spend/cost-surface-status.js.map +1 -0
  270. package/dist/spend/credential.d.ts +39 -0
  271. package/dist/spend/credential.js +71 -0
  272. package/dist/spend/credential.js.map +1 -0
  273. package/dist/spend/daemon-config.d.ts +13 -0
  274. package/dist/spend/daemon-config.js +24 -0
  275. package/dist/spend/daemon-config.js.map +1 -0
  276. package/dist/spend/pricing.d.ts +16 -0
  277. package/dist/spend/pricing.js +26 -0
  278. package/dist/spend/pricing.js.map +1 -0
  279. package/dist/spend/record.d.ts +13 -0
  280. package/dist/spend/record.js +36 -0
  281. package/dist/spend/record.js.map +1 -0
  282. package/dist/spend/usage.d.ts +27 -0
  283. package/dist/spend/usage.js +113 -0
  284. package/dist/spend/usage.js.map +1 -0
  285. package/dist/store/store.d.ts +101 -0
  286. package/dist/store/store.js +304 -4
  287. package/dist/store/store.js.map +1 -1
  288. package/dist/trajectory/transcript-parsers/codex-session.d.ts +12 -6
  289. package/dist/trajectory/transcript-parsers/codex-session.js +114 -13
  290. package/dist/trajectory/transcript-parsers/codex-session.js.map +1 -1
  291. package/dist/trajectory/transcript-parsers/types.d.ts +8 -8
  292. package/dist/trajectory/transcript-session-dirs.d.ts +18 -0
  293. package/dist/trajectory/transcript-session-dirs.js +85 -0
  294. package/dist/trajectory/transcript-session-dirs.js.map +1 -0
  295. package/dist/trajectory/transcript-watcher.d.ts +20 -1
  296. package/dist/trajectory/transcript-watcher.js +108 -32
  297. package/dist/trajectory/transcript-watcher.js.map +1 -1
  298. package/dist/tx-retry.d.ts +25 -0
  299. package/dist/tx-retry.js +95 -7
  300. package/dist/tx-retry.js.map +1 -1
  301. package/dist/types/payloads/portfolio-v0.d.ts +3 -3
  302. package/dist/types/payloads/prediction-apy-v0.d.ts +3 -3
  303. package/dist/types/payloads/prediction-v0.d.ts +12 -12
  304. package/package.json +11 -3
  305. package/plugins/learner/skills/learn/consolidator-prompt.md +18 -1
  306. package/plugins/learner/skills/learn/promoter-prompt.md +72 -1
  307. package/plugins/swe-rebench-v2-diffmin/README.md +10 -9
  308. package/plugins/swe-rebench-v2-diffmin/jinn.plugin.json +1 -1
  309. package/plugins/swe-rebench-v2-diffmin/skills/diffmin/SKILL.md +15 -10
  310. package/plugins/swe-rebench-v2-diffmin/skills/test-map/SKILL.md +10 -12
  311. package/plugins/swe-rebench-v2-runtime/.claude-plugin/plugin.json +1 -1
  312. package/plugins/swe-rebench-v2-runtime/.codex-plugin/plugin.json +3 -3
  313. package/plugins/swe-rebench-v2-runtime/README.md +6 -6
  314. package/plugins/swe-rebench-v2-runtime/jinn.plugin.json +2 -3
  315. package/plugins/swe-rebench-v2-runtime/skills/task/SKILL.md +81 -0
  316. package/dist/dashboard/assets/index-BUlE8F3Y.js +0 -330
  317. package/dist/dashboard/assets/index-blqc7eqq.css +0 -32
  318. package/plugins/swe-rebench-v2-runtime/skills/orient/SKILL.md +0 -29
  319. package/plugins/swe-rebench-v2-runtime/skills/plan/SKILL.md +0 -53
package/dist/config.js CHANGED
@@ -18,15 +18,9 @@ import { homedir } from 'node:os';
18
18
  import { dirname, join } from 'node:path';
19
19
  import { z } from 'zod';
20
20
  import { TaskSchema, parseTask } from './types/task.js';
21
- import { canonicalHarnessName, CLAUDE_CODE_HARNESS } from './harnesses/names.js';
22
- /**
23
- * Default `solverNets` is empty per Decision 5 of
24
- * spec/2026-05-05-solvernet-creation-and-launch.md — pre-release, no
25
- * migration burden. Fresh installs no longer seed the `prediction` entry;
26
- * the operator joins SolverNets through the registry (Task 21's
27
- * `joinedSolverNets` block).
28
- */
29
- export const DEFAULT_SOLVER_NETS = {};
21
+ import { canonicalHarnessName } from './harnesses/names.js';
22
+ import { parseRpcUrls } from './rpc/transport.js';
23
+ // ── Schema ──────────────────────────────────────────────────────────────────
30
24
  const HarnessNameSchema = z.string().transform((name) => canonicalHarnessName(name));
31
25
  export const JinnConfigSchema = z.object({
32
26
  /**
@@ -38,19 +32,24 @@ export const JinnConfigSchema = z.object({
38
32
  */
39
33
  network: z.enum(['mainnet', 'testnet']).default('testnet'),
40
34
  /**
41
- * Base RPC endpoint.
42
- * Defaults to https://mainnet.base.org for 'mainnet' and
43
- * https://sepolia.base.org for 'testnet'. Set explicitly to override.
35
+ * Base RPC endpoint(s). Accepts either a single URL string or an array of
36
+ * URLs. When an array (or a comma-separated env var) is supplied, the
37
+ * daemon builds a viem `fallback()` chain in slot order (primary first).
38
+ * See `client/src/rpc/transport.ts` for the wrapper. Defaults to the
39
+ * publicnode+sepolia.base.org two-provider chain on testnet and the public
40
+ * `mainnet.base.org` on mainnet. Set explicitly to override.
41
+ *
42
+ * Env: JINN_RPC_URL / BASE_SEPOLIA_RPC_URL / BASE_RPC_URL (comma-separated).
44
43
  */
45
- rpcUrl: z.string().optional(),
46
- archiveRpcUrl: z.string().optional(),
44
+ rpcUrl: z.union([z.string(), z.array(z.string()).min(1)]).optional(),
45
+ archiveRpcUrl: z.union([z.string(), z.array(z.string()).min(1)]).optional(),
47
46
  /**
48
- * Optional L2 proof/archive RPC endpoint for canonical cross-chain canaries.
47
+ * Optional L2 proof/archive RPC endpoint(s) for canonical cross-chain canaries.
49
48
  * The daemon can use its normal rpcUrl for writes while proof construction
50
49
  * uses this endpoint for historical eth_getProof at OP dispute-game blocks.
51
- * Env: JINN_L2_PROOF_RPC_URL.
50
+ * Accepts string or array form (see rpcUrl). Env: JINN_L2_PROOF_RPC_URL.
52
51
  */
53
- l2ProofRpcUrl: z.string().url().optional(),
52
+ l2ProofRpcUrl: z.union([z.string(), z.array(z.string()).min(1)]).optional(),
54
53
  /** Earning state directory */
55
54
  earningDir: z.string().default(join(homedir(), '.jinn-client', 'earning')),
56
55
  /** SQLite database path */
@@ -164,6 +163,16 @@ export const JinnConfigSchema = z.object({
164
163
  * backlog while proving one fresh task path.
165
164
  */
166
165
  taskDiscoveryAllowedTaskIds: z.array(z.string()).optional(),
166
+ /**
167
+ * Opt-in lower bound (L2 block number) for the mech adapter's canonical
168
+ * on-chain TaskCreated backlog scan. Unset → the adapter's per-chain default
169
+ * (DEFAULT_TASK_DISCOVERY_FROM_BLOCK) flows through (see gh #300). Set this to
170
+ * a recent block to bound the scan to a small recent window so the indexer
171
+ * (DiscoveryAPI.findClaimableTasks) carries the bulk of discovery — the
172
+ * canonical getLogs scan over a large/bloated history parses huge responses
173
+ * on the main thread and can stall the event loop. Env: JINN_TASK_DISCOVERY_FROM_BLOCK.
174
+ */
175
+ taskDiscoveryOnchainFromBlock: z.number().int().min(0).optional(),
167
176
  /** This node's public HTTP endpoint (for 8004 registration) */
168
177
  nodeEndpoint: z.string().optional(),
169
178
  /** Tasks to create and solve. Empty by default; enabled SolverNet generators fill the loop. */
@@ -195,18 +204,19 @@ export const JinnConfigSchema = z.object({
195
204
  jinnMviL2DeploymentPath: z.string().optional(),
196
205
  // ── Cross-chain claim loop (Phase B / jinn-mono-7x5) ─────────────────────
197
206
  /**
198
- * RPC endpoint for the L1 governance chain (Ethereum / Sepolia) where the
199
- * JinnDistributor lives. Testnet defaults to a public Sepolia RPC; mainnet
200
- * requires an operator override when L1 submit mode is configured.
201
- * Env: JINN_ETHEREUM_RPC_URL.
207
+ * RPC endpoint(s) for the L1 governance chain (Ethereum / Sepolia) where
208
+ * the JinnDistributor lives. Accepts string or array form (see rpcUrl) and
209
+ * supports comma-separated env values. Testnet defaults to a public Sepolia
210
+ * RPC; mainnet requires an operator override when L1 submit mode is
211
+ * configured. Env: JINN_ETHEREUM_RPC_URL.
202
212
  */
203
- ethereumRpcUrl: z.string().url().optional(),
213
+ ethereumRpcUrl: z.union([z.string(), z.array(z.string()).min(1)]).optional(),
204
214
  /**
205
- * Optional archive RPC endpoint for the L1 governance chain. Used for
206
- * historical block lookups when constructing canonical-mode proofs.
207
- * Env: JINN_ETHEREUM_ARCHIVE_RPC_URL.
215
+ * Optional archive RPC endpoint(s) for the L1 governance chain. Used for
216
+ * historical block lookups when constructing canonical-mode proofs. Accepts
217
+ * string or array form. Env: JINN_ETHEREUM_ARCHIVE_RPC_URL.
208
218
  */
209
- ethereumArchiveRpcUrl: z.string().url().optional(),
219
+ ethereumArchiveRpcUrl: z.union([z.string(), z.array(z.string()).min(1)]).optional(),
210
220
  /**
211
221
  * L1 network used by the cross-chain claim loop. 'sepolia' tracks Base
212
222
  * Sepolia testnet; 'ethereum' tracks Base mainnet. Defaults to 'sepolia'
@@ -354,69 +364,7 @@ export const JinnConfigSchema = z.object({
354
364
  })
355
365
  .default({ mode: 'train' }),
356
366
  /**
357
- * SolverNet activation, Harness selection, and operator-configured runtime plugins.
358
- *
359
- * Each entry's `roles` is a non-empty subset of `['solving', 'evaluating']`.
360
- * Multiple roles can run concurrently for the same SolverNet; the
361
- * protocol-level `disallowSolverSelfEvaluation` flag prevents the operator
362
- * from evaluating its own Solutions and the on-chain
363
- * TaskActivityCheckerV3 tracks Solution and Verdict counters independently
364
- * (additive into `eligibleActivityWeight`).
365
- *
366
- * Launcher ownership lives in the launched-record subsystem
367
- * (spec/2026-05-05-solvernet-creation-and-launch.md §11), not in operator
368
- * config — there is no `'launching'` operator role. Legacy entries that
369
- * include `'launching'` in `roles` have it stripped by the preprocessor so
370
- * older config files keep loading.
371
- *
372
- * Backwards-compat: a legacy `role: 'solving' | 'evaluating'` field is
373
- * auto-promoted to `roles: [<role>]` by the zod preprocessor below so
374
- * existing `~/.jinn-client/config.json` files keep loading without an
375
- * operator migration step.
376
- */
377
- solverNets: z.record(z.preprocess((raw) => {
378
- if (typeof raw !== 'object' || raw === null)
379
- return raw;
380
- const obj = raw;
381
- // Promote legacy `role: X` → `roles: [X]` when only the singular form
382
- // is provided. If both are present (mid-migration third-party config),
383
- // `roles` wins and `role` is dropped.
384
- if (Array.isArray(obj['roles']) && obj['roles'].length > 0) {
385
- // Drop legacy `'launching'` entries — operator config no longer
386
- // carries the launcher role; ownership is via launched records.
387
- const filteredRoles = obj['roles'].filter((r) => r !== 'launching');
388
- const { role: _legacyRole, ...rest } = obj;
389
- return { ...rest, roles: filteredRoles };
390
- }
391
- if (typeof obj['role'] === 'string' && (obj['role'] === 'solving' || obj['role'] === 'evaluating')) {
392
- const { role, ...rest } = obj;
393
- return { ...rest, roles: [role] };
394
- }
395
- return obj;
396
- }, z.object({
397
- enabled: z.boolean().default(true),
398
- solverType: z.string(),
399
- roles: z.array(z.enum(['solving', 'evaluating']))
400
- .min(1, 'each SolverNet must enable at least one role')
401
- .default(['solving'])
402
- // Deduplicate to keep downstream consumers simple.
403
- .transform((arr) => Array.from(new Set(arr))),
404
- harness: HarnessNameSchema.default(CLAUDE_CODE_HARNESS),
405
- model: z.string().optional(),
406
- plugins: z.array(z.union([
407
- z.string(),
408
- z.object({
409
- name: z.string().optional(),
410
- source: z.string(),
411
- version: z.string().optional(),
412
- }),
413
- ])).default([]),
414
- taskGenerator: z.object({
415
- enabled: z.boolean().default(true),
416
- }).default({ enabled: true }),
417
- }))).default(DEFAULT_SOLVER_NETS),
418
- /**
419
- * Manifest-keyed joined SolverNets (Task 21).
367
+ * Manifest-keyed joined SolverNets.
420
368
  *
421
369
  * Spec: spec/2026-05-05-solvernet-creation-and-launch.md §12.
422
370
  *
@@ -425,10 +373,10 @@ export const JinnConfigSchema = z.object({
425
373
  * (CIDv0 / CIDv1) — the only stable identifier that maps back to a
426
374
  * launched-instance authority across launchers.
427
375
  *
428
- * Kept structurally separate from legacy `solverNets` for now. The daemon
429
- * narrows this block into runtime SolverNet registry entries on restart, and
430
- * Task 22 collapses both branches into a single manifest-keyed shape once
431
- * the legacy block is fully drained.
376
+ * The daemon narrows this block into runtime SolverNet registry entries on
377
+ * restart. Legacy short-name-keyed `solverNets` blocks on operator config
378
+ * files are auto-migrated into synthetic `legacy:<short-name>`-keyed
379
+ * entries at load time (see `migrateLegacySolverNets`).
432
380
  */
433
381
  joinedSolverNets: z
434
382
  .record(z.string(), z.object({
@@ -572,6 +520,33 @@ export const JinnConfigSchema = z.object({
572
520
  * Env: JINN_REPUTATION_ENABLED
573
521
  */
574
522
  reputationEnabled: z.boolean().default(false),
523
+ /**
524
+ * Per-credential daily spend caps (USD). Keys are credential identifiers
525
+ * (e.g. `'anthropic:api-key'`); values are positive numbers representing
526
+ * the maximum USD spend per day for that credential.
527
+ *
528
+ * `JINN_SPEND_CAP_USD` (env-only, consumed directly by the spend-budget
529
+ * subsystem in Task 9) is tracked for provenance in TRACKED_ENV_VARS below
530
+ * but is NOT a config-file field and has no entry in this schema.
531
+ */
532
+ spendCaps: z.record(z.string(), z.number().positive()).optional(),
533
+ /**
534
+ * Operator-local SolverPlugin trust state.
535
+ *
536
+ * `blockedCids` is the list of plug-in CIDs the operator has chosen to
537
+ * refuse to load — populated by `jinn solver-plugins block <cid>` and read
538
+ * at daemon startup. The block list complements the on-chain
539
+ * `giveFeedback(score=0)` write (which is the public-trust signal); the
540
+ * local list is the operator's own refusal to execute, applied even when
541
+ * the network write fails. File-managed only — no env override.
542
+ *
543
+ * See spec/2026-05-26-117-design.md "Failure modes" and "Local-only effects".
544
+ */
545
+ solverPlugins: z
546
+ .object({
547
+ blockedCids: z.array(z.string()).default([]),
548
+ })
549
+ .default({ blockedCids: [] }),
575
550
  }).refine((cfg) => cfg.jinnClaimSubmissionMode !== 'submit' ||
576
551
  !cfg.jinnDistributorAddress ||
577
552
  !!cfg.ethereumRpcUrl, {
@@ -596,6 +571,20 @@ export const DEFAULT_CONFIG_PATH = join(DEFAULT_DIR, 'config.json');
596
571
  */
597
572
  export const DEFAULT_TESTNET_DISCOVERY_URL = 'https://jinn-indexer-production.up.railway.app';
598
573
  export const DEFAULT_TESTNET_ETHEREUM_RPC_URL = 'https://ethereum-sepolia-rpc.publicnode.com';
574
+ /**
575
+ * Default fallback chain for the L2 measurement chain (Base Sepolia) on
576
+ * testnet. Per AC2 of issue #592:
577
+ * slot 0 — `https://base-sepolia.publicnode.com` (no-auth, 50k-block
578
+ * getLogs cap, no shared-quota cliff).
579
+ * slot 1 — `https://sepolia.base.org` (free public Coinbase endpoint,
580
+ * 2k-block cap; last-resort backup).
581
+ * Operators are encouraged to prepend a paid primary key (Alchemy, Tenderly,
582
+ * etc.) via `rpcUrl` config or `JINN_RPC_URL` / `BASE_SEPOLIA_RPC_URL` env.
583
+ */
584
+ export const DEFAULT_TESTNET_RPC_URLS = [
585
+ 'https://base-sepolia.publicnode.com',
586
+ 'https://sepolia.base.org',
587
+ ];
599
588
  export class ConfigLoadError extends Error {
600
589
  code;
601
590
  details;
@@ -606,7 +595,93 @@ export class ConfigLoadError extends Error {
606
595
  this.details = details;
607
596
  }
608
597
  }
609
- // ── Loader ──────────────────────────────────────────────────────────────────
598
+ /**
599
+ * Parse a legacy `<id>.<version>` solverType string into `{id, version}`.
600
+ * Falls back to `{ id: fallbackId, version: 'v1' }` when the string lacks a
601
+ * dot or terminates in one — this happens only on hand-edited operator
602
+ * configs and keeps the migration loud-but-non-fatal.
603
+ */
604
+ function parseSolverTypeRef(solverType, fallbackId) {
605
+ if (typeof solverType !== 'string') {
606
+ return { id: fallbackId, version: 'v1' };
607
+ }
608
+ const dot = solverType.lastIndexOf('.');
609
+ if (dot <= 0 || dot === solverType.length - 1) {
610
+ return { id: fallbackId, version: 'v1' };
611
+ }
612
+ return { id: solverType.slice(0, dot), version: solverType.slice(dot + 1) };
613
+ }
614
+ /**
615
+ * Translate any legacy short-name-keyed `solverNets` block on the raw parsed
616
+ * config into manifest-keyed `joinedSolverNets` entries with synthetic
617
+ * `legacy:<short-name>` keys.
618
+ *
619
+ * This is the auto-migration path for operators upgrading past issue #421.
620
+ * The runtime claim filter remains manifest-digest gated, so synthetic-keyed
621
+ * entries don't change task eligibility — they exist purely so the diagnostic
622
+ * surfaces (Overview SOLVING-ON eyebrow, prediction-operator-status) keep
623
+ * showing the operator's previous SolverNets until they re-join via the SPA.
624
+ *
625
+ * Returns the number of legacy entries migrated. Idempotent — calling on an
626
+ * already-migrated raw config is a no-op.
627
+ *
628
+ * @param raw — the JSON-parsed config file contents (mutated in place).
629
+ */
630
+ export function migrateLegacySolverNets(raw) {
631
+ const legacy = raw['solverNets'];
632
+ if (!legacy || typeof legacy !== 'object' || Array.isArray(legacy)) {
633
+ return 0;
634
+ }
635
+ const entries = Object.entries(legacy);
636
+ if (entries.length === 0) {
637
+ delete raw['solverNets'];
638
+ return 0;
639
+ }
640
+ const joined = (typeof raw['joinedSolverNets'] === 'object' && raw['joinedSolverNets'] !== null && !Array.isArray(raw['joinedSolverNets']))
641
+ ? raw['joinedSolverNets']
642
+ : {};
643
+ let migrated = 0;
644
+ for (const [name, entryRaw] of entries) {
645
+ if (!entryRaw || typeof entryRaw !== 'object')
646
+ continue;
647
+ const entry = entryRaw;
648
+ const syntheticKey = `legacy:${name}`;
649
+ // Do not overwrite a pre-existing joinedSolverNets entry under the same key.
650
+ if (joined[syntheticKey] !== undefined)
651
+ continue;
652
+ const contract = parseSolverTypeRef(entry.solverType, name);
653
+ const rolesIn = Array.isArray(entry.roles) && entry.roles.length > 0
654
+ ? entry.roles
655
+ : ['solving'];
656
+ const roles = [];
657
+ for (const r of rolesIn) {
658
+ if (r === 'solving')
659
+ roles.push('solver');
660
+ else if (r === 'evaluating')
661
+ roles.push('evaluator');
662
+ // 'launching' (and any other unknown role) is dropped — operator config
663
+ // no longer carries the launcher role per spec §11.
664
+ }
665
+ if (roles.length === 0)
666
+ roles.push('solver');
667
+ joined[syntheticKey] = {
668
+ manifestCid: syntheticKey,
669
+ name,
670
+ contract,
671
+ roles: Array.from(new Set(roles)),
672
+ ...(typeof entry.harness === 'string' ? { harness: entry.harness } : {}),
673
+ ...(typeof entry.model === 'string' ? { model: entry.model } : {}),
674
+ plugins: Array.isArray(entry.plugins) ? entry.plugins : [],
675
+ disabledDefaultPlugins: [],
676
+ };
677
+ migrated += 1;
678
+ }
679
+ if (Object.keys(joined).length > 0) {
680
+ raw['joinedSolverNets'] = joined;
681
+ }
682
+ delete raw['solverNets'];
683
+ return migrated;
684
+ }
610
685
  /**
611
686
  * Load config with resolution: env > config file > defaults.
612
687
  *
@@ -658,6 +733,9 @@ export function loadConfig(configPath) {
658
733
  if (env['JINN_CHECKPOINT_INTERVAL_MS'] !== undefined) {
659
734
  merged.checkpointIntervalMs = Number.parseInt(env['JINN_CHECKPOINT_INTERVAL_MS'], 10);
660
735
  }
736
+ if (env['JINN_TASK_DISCOVERY_FROM_BLOCK'] !== undefined) {
737
+ merged.taskDiscoveryOnchainFromBlock = Number.parseInt(env['JINN_TASK_DISCOVERY_FROM_BLOCK'], 10);
738
+ }
661
739
  if (env['JINN_API_PORT'])
662
740
  merged.apiPort = parseInt(env['JINN_API_PORT'], 10);
663
741
  if (env['JINN_API_BIND_HOST'])
@@ -911,6 +989,17 @@ export function loadConfig(configPath) {
911
989
  });
912
990
  }
913
991
  }
992
+ // Auto-migrate any legacy short-name-keyed `solverNets` block into
993
+ // `joinedSolverNets` with synthetic `legacy:<name>` keys. Operators upgrade
994
+ // without an explicit action; the warning surfaces the migration so they
995
+ // know to re-join via the SPA when they want a real manifest CID. See
996
+ // spec/2026-05-25-retire-legacy-solvernets-config.md and issue #421.
997
+ const migratedCount = migrateLegacySolverNets(merged);
998
+ if (migratedCount > 0) {
999
+ console.warn(`[config] Migrated ${migratedCount} legacy solverNets ${migratedCount === 1 ? 'entry' : 'entries'} to joinedSolverNets. ` +
1000
+ 'Open Operator > SolverNets in the dashboard to re-join via the registry ' +
1001
+ '(replaces the synthetic legacy:* keys with real manifest CIDs).');
1002
+ }
914
1003
  // 3. Validate
915
1004
  const result = JinnConfigSchema.safeParse(merged);
916
1005
  if (!result.success) {
@@ -922,21 +1011,56 @@ export function loadConfig(configPath) {
922
1011
  });
923
1012
  }
924
1013
  // 4. Resolve rpcUrl default based on network (if not explicitly set).
925
- // Testnet default is publicnode no-auth, no shared-key quota cliff. The
926
- // previous default was a Tenderly gateway with a shared project key; when
927
- // aggregate operator traffic hit the plan quota every default-config daemon
928
- // got HTTP 403 simultaneously (dashboard "Runway 0d", faucet 500s, daemon
929
- // hot-loops on every eth_*). See #554 + the panel's "shared RPC" warning in
930
- // NetworkSection.tsx for the operator-facing pitch to bring their own key.
931
- // The sibling Ethereum L1 default (DEFAULT_TESTNET_ETHEREUM_RPC_URL above)
932
- // is already publicnode — this keeps the two L1/L2 defaults symmetric.
1014
+ // Testnet default per AC2 (issue #592) is a two-provider fallback chain:
1015
+ // slot 0 base-sepolia.publicnode.com (50k-block getLogs cap, no quota)
1016
+ // slot 1 sepolia.base.org (free, 2k-block cap; last-resort backup)
1017
+ // Publicnode is no-auth, no shared-key quota cliff (avoids the Tenderly
1018
+ // shared-quota cliff of 2026-05-24 that took out every default-config
1019
+ // daemon at once). See #554 + the NetworkSection.tsx "shared RPC" panel for
1020
+ // the operator-facing pitch to bring their own key. The sibling Ethereum L1
1021
+ // default (DEFAULT_TESTNET_ETHEREUM_RPC_URL above) is already publicnode —
1022
+ // this keeps the two L1/L2 defaults symmetric.
933
1023
  const parsed = result.data;
934
- const defaultRpcUrl = parsed.network === 'testnet'
935
- ? 'https://base-sepolia-rpc.publicnode.com'
936
- : 'https://mainnet.base.org';
1024
+ const defaultRpcUrls = parsed.network === 'testnet'
1025
+ ? DEFAULT_TESTNET_RPC_URLS
1026
+ : ['https://mainnet.base.org'];
1027
+ const rpcUrlsResolved = parsed.rpcUrl !== undefined
1028
+ ? parseRpcUrls(parsed.rpcUrl)
1029
+ : [...defaultRpcUrls];
1030
+ const archiveRpcUrlsResolved = parsed.archiveRpcUrl !== undefined
1031
+ ? parseRpcUrls(parsed.archiveRpcUrl)
1032
+ : undefined;
1033
+ const l2ProofRpcUrlsResolved = parsed.l2ProofRpcUrl !== undefined
1034
+ ? parseRpcUrls(parsed.l2ProofRpcUrl)
1035
+ : undefined;
1036
+ const ethereumRpcUrlsResolved = parsed.ethereumRpcUrl !== undefined
1037
+ ? parseRpcUrls(parsed.ethereumRpcUrl)
1038
+ : undefined;
1039
+ const ethereumArchiveRpcUrlsResolved = parsed.ethereumArchiveRpcUrl !== undefined
1040
+ ? parseRpcUrls(parsed.ethereumArchiveRpcUrl)
1041
+ : undefined;
1042
+ // Strip the union-typed (string | string[]) RPC fields from `parsed` — the
1043
+ // returned shape carries the resolved head URL plus a `*Urls` array instead.
1044
+ const { rpcUrl: _rpcUrl, archiveRpcUrl: _archiveRpcUrl, l2ProofRpcUrl: _l2ProofRpcUrl, ethereumRpcUrl: _ethereumRpcUrl, ethereumArchiveRpcUrl: _ethereumArchiveRpcUrl, ...rest } = parsed;
937
1045
  return {
938
- ...parsed,
939
- rpcUrl: parsed.rpcUrl ?? defaultRpcUrl,
1046
+ ...rest,
1047
+ rpcUrl: rpcUrlsResolved[0],
1048
+ rpcUrls: rpcUrlsResolved,
1049
+ ...(archiveRpcUrlsResolved
1050
+ ? { archiveRpcUrl: archiveRpcUrlsResolved[0], archiveRpcUrls: archiveRpcUrlsResolved }
1051
+ : {}),
1052
+ ...(l2ProofRpcUrlsResolved
1053
+ ? { l2ProofRpcUrl: l2ProofRpcUrlsResolved[0], l2ProofRpcUrls: l2ProofRpcUrlsResolved }
1054
+ : {}),
1055
+ ...(ethereumRpcUrlsResolved
1056
+ ? { ethereumRpcUrl: ethereumRpcUrlsResolved[0], ethereumRpcUrls: ethereumRpcUrlsResolved }
1057
+ : {}),
1058
+ ...(ethereumArchiveRpcUrlsResolved
1059
+ ? {
1060
+ ethereumArchiveRpcUrl: ethereumArchiveRpcUrlsResolved[0],
1061
+ ethereumArchiveRpcUrls: ethereumArchiveRpcUrlsResolved,
1062
+ }
1063
+ : {}),
940
1064
  // parseTask assigns a UUID to any entry missing an id
941
1065
  tasks: parsed.tasks.map(parseTask),
942
1066
  engine: {
@@ -1040,6 +1164,7 @@ const TRACKED_ENV_VARS = [
1040
1164
  'JINN_CAPTURES_LLM_PROXY_ENABLED',
1041
1165
  'JINN_CAPTURES_LLM_PROXY_PORT',
1042
1166
  'JINN_BUILD_COMMIT',
1167
+ 'JINN_SPEND_CAP_USD',
1043
1168
  ];
1044
1169
  /**
1045
1170
  * Build a structured provenance block describing how the config was resolved.
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * AI-units claim gate — issue #815.
3
+ *
4
+ * Pure decision function: given the credential's current 6h-block sum,
5
+ * 7d-window sum, the projected debit for the next claim, and the
6
+ * per-block / per-week caps, decide whether the claim may proceed. The
7
+ * gate fails over to *proceed* when projection is unknown (paranoia: a
8
+ * model gap must not silently halt a working daemon — log loudly,
9
+ * keep claiming).
10
+ *
11
+ * Module-level memo tracks per-credential paused state keyed on
12
+ * (credentialId, window, blockId) so the daemon emits exactly one
13
+ * `ai_units_cap_reached` event + one warn log per pause edge, exactly
14
+ * as the issue's acceptance contract requires. Block rollover (new
15
+ * blockId) re-fires `newlyPaused` so the operator sees pauses in each
16
+ * new 6h block instead of one silent indefinite mute.
17
+ */
18
+ import type { GateLogger } from './gate-logger.js';
19
+ export type AiUnitsGateWindow = 'block' | 'week';
20
+ export interface AiUnitsGateArgs {
21
+ credentialId: string;
22
+ /** AI units projected for the next claim, or `null` when unknown. */
23
+ projectedAiUnits: number | null;
24
+ unitsThisBlock: number;
25
+ unitsThisWeek: number;
26
+ capPerBlock: number;
27
+ capPerWeek: number;
28
+ /** Stable id for the current 6h UTC block — used to dedupe pause logs. */
29
+ blockId: string;
30
+ logger: GateLogger;
31
+ /**
32
+ * Optional cross-restart memo hydration. Called the first time this
33
+ * process sees `(credentialId, window)` and an over-cap decision is
34
+ * being made — returns true iff an `ai_units_cap_reached` row was
35
+ * already persisted for `(credentialId, window, blockId)`. When true,
36
+ * the gate seeds its memo silently so the daemon does not re-emit the
37
+ * event after a restart inside the same 6h block. Issue #815 finding 1.
38
+ */
39
+ hasPersistedCapReached?: (window: AiUnitsGateWindow, blockId: string) => boolean;
40
+ }
41
+ export type AiUnitsGateDecision = {
42
+ proceed: true;
43
+ } | {
44
+ proceed: false;
45
+ window: AiUnitsGateWindow;
46
+ reason: string;
47
+ newlyPaused: boolean;
48
+ };
49
+ export declare function gateClaimByAiUnits(args: AiUnitsGateArgs): AiUnitsGateDecision;
50
+ /**
51
+ * Test-only: reset all module-level memos between tests. The gate stores
52
+ * per-credential paused state across calls so transitions log/event once.
53
+ */
54
+ export declare function _resetAiUnitsGateMemoForTests(): void;