@jinn-network/client 0.1.8 → 0.1.9-canary.050a41b1

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 (263) hide show
  1. package/dist/adapters/mech/adapter.d.ts +21 -1
  2. package/dist/adapters/mech/adapter.js +77 -10
  3. package/dist/adapters/mech/adapter.js.map +1 -1
  4. package/dist/adapters/mech/contracts.js +62 -28
  5. package/dist/adapters/mech/contracts.js.map +1 -1
  6. package/dist/adapters/mech/safe-revert.d.ts +4 -0
  7. package/dist/adapters/mech/safe-revert.js +5 -1
  8. package/dist/adapters/mech/safe-revert.js.map +1 -1
  9. package/dist/adapters/mech/safe.js +5 -1
  10. package/dist/adapters/mech/safe.js.map +1 -1
  11. package/dist/adapters/mech/verdict-code.js +1 -1
  12. package/dist/adapters/mech/verdict-code.js.map +1 -1
  13. package/dist/api/bootstrap-endpoint.d.ts +1 -0
  14. package/dist/api/bootstrap-endpoint.js +1 -0
  15. package/dist/api/bootstrap-endpoint.js.map +1 -1
  16. package/dist/api/discovery-endpoint.d.ts +1 -0
  17. package/dist/api/discovery-endpoint.js +24 -0
  18. package/dist/api/discovery-endpoint.js.map +1 -1
  19. package/dist/api/fleet-build.d.ts +1 -7
  20. package/dist/api/fleet-build.js +0 -7
  21. package/dist/api/fleet-build.js.map +1 -1
  22. package/dist/api/gather-status.d.ts +8 -2
  23. package/dist/api/gather-status.js +29 -117
  24. package/dist/api/gather-status.js.map +1 -1
  25. package/dist/api/loop-completion-build.d.ts +79 -0
  26. package/dist/api/loop-completion-build.js +155 -0
  27. package/dist/api/loop-completion-build.js.map +1 -0
  28. package/dist/api/peers.js +2 -0
  29. package/dist/api/peers.js.map +1 -1
  30. package/dist/api/setup-endpoints.d.ts +32 -0
  31. package/dist/api/setup-endpoints.js +93 -23
  32. package/dist/api/setup-endpoints.js.map +1 -1
  33. package/dist/api/solvernets-endpoints.js +3 -0
  34. package/dist/api/solvernets-endpoints.js.map +1 -1
  35. package/dist/api/status-build.d.ts +43 -33
  36. package/dist/api/status-build.js +3 -26
  37. package/dist/api/status-build.js.map +1 -1
  38. package/dist/api/status-rollup-build.d.ts +0 -4
  39. package/dist/api/status-rollup-build.js +0 -4
  40. package/dist/api/status-rollup-build.js.map +1 -1
  41. package/dist/build-info.json +4 -4
  42. package/dist/build-meta.json +1 -1
  43. package/dist/cli/commands/codedigest-revert-check.js +6 -2
  44. package/dist/cli/commands/codedigest-revert-check.js.map +1 -1
  45. package/dist/cli/commands/doctor.d.ts +3 -0
  46. package/dist/cli/commands/doctor.js +37 -2
  47. package/dist/cli/commands/doctor.js.map +1 -1
  48. package/dist/cli/commands/eval.d.ts +76 -0
  49. package/dist/cli/commands/eval.js +401 -0
  50. package/dist/cli/commands/eval.js.map +1 -0
  51. package/dist/cli/commands/rewards.d.ts +2 -0
  52. package/dist/cli/commands/rewards.js +30 -3
  53. package/dist/cli/commands/rewards.js.map +1 -1
  54. package/dist/cli/commands/solver-nets.js +68 -0
  55. package/dist/cli/commands/solver-nets.js.map +1 -1
  56. package/dist/cli/commands/status.js +0 -1
  57. package/dist/cli/commands/status.js.map +1 -1
  58. package/dist/cli/index.js +2 -0
  59. package/dist/cli/index.js.map +1 -1
  60. package/dist/config.d.ts +58 -7
  61. package/dist/config.js +96 -7
  62. package/dist/config.js.map +1 -1
  63. package/dist/daemon/ai-units-gate.d.ts +6 -6
  64. package/dist/daemon/ai-units-gate.js +11 -10
  65. package/dist/daemon/ai-units-gate.js.map +1 -1
  66. package/dist/daemon/balance-topup-loop.js +3 -0
  67. package/dist/daemon/balance-topup-loop.js.map +1 -1
  68. package/dist/daemon/creator.js +2 -0
  69. package/dist/daemon/creator.js.map +1 -1
  70. package/dist/daemon/daemon.d.ts +15 -0
  71. package/dist/daemon/daemon.js +78 -22
  72. package/dist/daemon/daemon.js.map +1 -1
  73. package/dist/daemon/eviction-loop.d.ts +7 -0
  74. package/dist/daemon/eviction-loop.js +16 -0
  75. package/dist/daemon/eviction-loop.js.map +1 -1
  76. package/dist/daemon/jinn-claim-loop.js +3 -0
  77. package/dist/daemon/jinn-claim-loop.js.map +1 -1
  78. package/dist/daemon/join-applier.d.ts +35 -0
  79. package/dist/daemon/join-applier.js +49 -0
  80. package/dist/daemon/join-applier.js.map +1 -0
  81. package/dist/daemon/loop-heartbeat.d.ts +34 -0
  82. package/dist/daemon/loop-heartbeat.js +39 -0
  83. package/dist/daemon/loop-heartbeat.js.map +1 -0
  84. package/dist/daemon/reward-claim-loop.js +3 -0
  85. package/dist/daemon/reward-claim-loop.js.map +1 -1
  86. package/dist/daemon/watchdog-loop.d.ts +84 -0
  87. package/dist/daemon/watchdog-loop.js +91 -0
  88. package/dist/daemon/watchdog-loop.js.map +1 -0
  89. package/dist/dashboard/assets/index-8tAiMbUV.css +1 -0
  90. package/dist/dashboard/assets/index-CSFVwGFh.js +167 -0
  91. package/dist/dashboard/index.html +2 -2
  92. package/dist/discovery/http.d.ts +7 -0
  93. package/dist/discovery/http.js +241 -25
  94. package/dist/discovery/http.js.map +1 -1
  95. package/dist/discovery/onchain.js +155 -1
  96. package/dist/discovery/onchain.js.map +1 -1
  97. package/dist/discovery/types.d.ts +106 -0
  98. package/dist/discovery/types.js +40 -0
  99. package/dist/discovery/types.js.map +1 -1
  100. package/dist/discovery/with-fallback.js +14 -0
  101. package/dist/discovery/with-fallback.js.map +1 -1
  102. package/dist/earning/bootstrap.d.ts +23 -0
  103. package/dist/earning/bootstrap.js +76 -27
  104. package/dist/earning/bootstrap.js.map +1 -1
  105. package/dist/earning/faucet.d.ts +1 -1
  106. package/dist/earning/faucet.js +2 -2
  107. package/dist/earning/faucet.js.map +1 -1
  108. package/dist/earning/safe-adapter.js +11 -0
  109. package/dist/earning/safe-adapter.js.map +1 -1
  110. package/dist/eval/eval-harness-run.d.ts +63 -0
  111. package/dist/eval/eval-harness-run.js +123 -0
  112. package/dist/eval/eval-harness-run.js.map +1 -0
  113. package/dist/eval/orchestrator.d.ts +163 -0
  114. package/dist/eval/orchestrator.js +232 -0
  115. package/dist/eval/orchestrator.js.map +1 -0
  116. package/dist/eval/paired.d.ts +68 -0
  117. package/dist/eval/paired.js +93 -0
  118. package/dist/eval/paired.js.map +1 -0
  119. package/dist/eval/resolve-slate-tasks.d.ts +35 -0
  120. package/dist/eval/resolve-slate-tasks.js +56 -0
  121. package/dist/eval/resolve-slate-tasks.js.map +1 -0
  122. package/dist/eval/screen-discovery.d.ts +22 -0
  123. package/dist/eval/screen-discovery.js +71 -0
  124. package/dist/eval/screen-discovery.js.map +1 -0
  125. package/dist/eval/screen-progress.d.ts +41 -0
  126. package/dist/eval/screen-progress.js +60 -0
  127. package/dist/eval/screen-progress.js.map +1 -0
  128. package/dist/eval/screen-runner.d.ts +30 -0
  129. package/dist/eval/screen-runner.js +289 -0
  130. package/dist/eval/screen-runner.js.map +1 -0
  131. package/dist/eval/screen.d.ts +107 -0
  132. package/dist/eval/screen.js +159 -0
  133. package/dist/eval/screen.js.map +1 -0
  134. package/dist/eval/slope.d.ts +29 -0
  135. package/dist/eval/slope.js +46 -0
  136. package/dist/eval/slope.js.map +1 -0
  137. package/dist/eval/train-sequence.d.ts +35 -0
  138. package/dist/eval/train-sequence.js +59 -0
  139. package/dist/eval/train-sequence.js.map +1 -0
  140. package/dist/eval/wilson.d.ts +45 -0
  141. package/dist/eval/wilson.js +48 -0
  142. package/dist/eval/wilson.js.map +1 -0
  143. package/dist/harnesses/engine/canonical-json.js +5 -3
  144. package/dist/harnesses/engine/canonical-json.js.map +1 -1
  145. package/dist/harnesses/engine/engine.d.ts +24 -0
  146. package/dist/harnesses/engine/engine.js +72 -9
  147. package/dist/harnesses/engine/engine.js.map +1 -1
  148. package/dist/harnesses/engine/persistence.d.ts +17 -0
  149. package/dist/harnesses/engine/persistence.js +28 -0
  150. package/dist/harnesses/engine/persistence.js.map +1 -1
  151. package/dist/harnesses/impls/hermes-agent/adapter.d.ts +2 -0
  152. package/dist/harnesses/impls/hermes-agent/adapter.js +8 -5
  153. package/dist/harnesses/impls/hermes-agent/adapter.js.map +1 -1
  154. package/dist/harnesses/impls/hermes-agent/bootstrap.d.ts +1 -0
  155. package/dist/harnesses/impls/hermes-agent/bootstrap.js +6 -1
  156. package/dist/harnesses/impls/hermes-agent/bootstrap.js.map +1 -1
  157. package/dist/harnesses/impls/hermes-agent/harness.d.ts +17 -3
  158. package/dist/harnesses/impls/hermes-agent/harness.js +68 -5
  159. package/dist/harnesses/impls/hermes-agent/harness.js.map +1 -1
  160. package/dist/harnesses/impls/index.d.ts +2 -0
  161. package/dist/harnesses/impls/index.js +2 -0
  162. package/dist/harnesses/impls/index.js.map +1 -1
  163. package/dist/harnesses/impls/learner/adapters/claude-code.js +5 -0
  164. package/dist/harnesses/impls/learner/adapters/claude-code.js.map +1 -1
  165. package/dist/harnesses/impls/learner/harness.d.ts +17 -1
  166. package/dist/harnesses/impls/learner/harness.js +51 -1
  167. package/dist/harnesses/impls/learner/harness.js.map +1 -1
  168. package/dist/harnesses/impls/learner/harvest.d.ts +2 -0
  169. package/dist/harnesses/impls/learner/harvest.js +7 -1
  170. package/dist/harnesses/impls/learner/harvest.js.map +1 -1
  171. package/dist/harnesses/impls/learner/plugin-path.js +1 -0
  172. package/dist/harnesses/impls/learner/plugin-path.js.map +1 -1
  173. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js +3 -1
  174. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js.map +1 -1
  175. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.d.ts +2 -2
  176. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js +3 -1
  177. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js.map +1 -1
  178. package/dist/harnesses/readiness-registry.d.ts +10 -0
  179. package/dist/harnesses/readiness-registry.js +13 -0
  180. package/dist/harnesses/readiness-registry.js.map +1 -1
  181. package/dist/harnesses/types.d.ts +14 -0
  182. package/dist/learner/revert-decision.d.ts +16 -1
  183. package/dist/learner/revert-decision.js +38 -18
  184. package/dist/learner/revert-decision.js.map +1 -1
  185. package/dist/learner/revert-stats.d.ts +14 -0
  186. package/dist/learner/revert-stats.js +42 -0
  187. package/dist/learner/revert-stats.js.map +1 -1
  188. package/dist/local-provider-url.d.ts +3 -0
  189. package/dist/local-provider-url.js +28 -0
  190. package/dist/local-provider-url.js.map +1 -0
  191. package/dist/main.js +94 -25
  192. package/dist/main.js.map +1 -1
  193. package/dist/plugins/learner/.claude-plugin/plugin.json +1 -1
  194. package/dist/plugins/learner/.codex-plugin/plugin.json +1 -1
  195. package/dist/plugins/learner/hooks/session-start +30 -1
  196. package/dist/plugins/learner/skills/learn/consolidator-prompt.md +4 -0
  197. package/dist/preflight/deployment-readiness.d.ts +147 -0
  198. package/dist/preflight/deployment-readiness.js +366 -0
  199. package/dist/preflight/deployment-readiness.js.map +1 -0
  200. package/dist/preflight/pidfile-liveness.d.ts +7 -1
  201. package/dist/preflight/pidfile-liveness.js +14 -0
  202. package/dist/preflight/pidfile-liveness.js.map +1 -1
  203. package/dist/rpc/transport.d.ts +36 -0
  204. package/dist/rpc/transport.js +123 -24
  205. package/dist/rpc/transport.js.map +1 -1
  206. package/dist/scripts/swe-rebench-v2-seed-pool.json +2 -1
  207. package/dist/solver-nets/registry.d.ts +19 -0
  208. package/dist/solver-nets/registry.js +92 -66
  209. package/dist/solver-nets/registry.js.map +1 -1
  210. package/dist/solver-types/_swe-rebench-v2-held-out-slate.d.ts +76 -0
  211. package/dist/solver-types/_swe-rebench-v2-held-out-slate.js +156 -0
  212. package/dist/solver-types/_swe-rebench-v2-held-out-slate.js.map +1 -0
  213. package/dist/solver-types/_swe-rebench-v2-pool-recovery.d.ts +81 -0
  214. package/dist/solver-types/_swe-rebench-v2-pool-recovery.js +116 -0
  215. package/dist/solver-types/_swe-rebench-v2-pool-recovery.js.map +1 -0
  216. package/dist/solver-types/_swe-rebench-v2-state.d.ts +9 -0
  217. package/dist/solver-types/_swe-rebench-v2-state.js +14 -0
  218. package/dist/solver-types/_swe-rebench-v2-state.js.map +1 -1
  219. package/dist/solver-types/_swe-rebench-v2-validated-pool.d.ts +30 -0
  220. package/dist/solver-types/_swe-rebench-v2-validated-pool.js +40 -0
  221. package/dist/solver-types/_swe-rebench-v2-validated-pool.js.map +1 -1
  222. package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v1.json +20 -0
  223. package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v2.json +19 -0
  224. package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v2.screening-report.json +628 -0
  225. package/dist/solver-types/solver-type.d.ts +8 -0
  226. package/dist/solver-types/swe-rebench-v2.d.ts +2 -0
  227. package/dist/solver-types/swe-rebench-v2.js +115 -10
  228. package/dist/solver-types/swe-rebench-v2.js.map +1 -1
  229. package/dist/solvernets/launched-record-dispatcher.d.ts +3 -0
  230. package/dist/solvernets/launched-record-dispatcher.js.map +1 -1
  231. package/dist/solvernets/registry-client-erc8004.js +29 -37
  232. package/dist/solvernets/registry-client-erc8004.js.map +1 -1
  233. package/dist/solvernets/registry-client.d.ts +6 -0
  234. package/dist/solvernets/store.js +7 -2
  235. package/dist/solvernets/store.js.map +1 -1
  236. package/dist/spend/ai-units-config.d.ts +10 -0
  237. package/dist/spend/ai-units-config.js +7 -1
  238. package/dist/spend/ai-units-config.js.map +1 -1
  239. package/dist/spend/ai-units.d.ts +51 -0
  240. package/dist/spend/ai-units.js +73 -0
  241. package/dist/spend/ai-units.js.map +1 -1
  242. package/dist/spend/record.js +12 -5
  243. package/dist/spend/record.js.map +1 -1
  244. package/dist/store/store.d.ts +91 -5
  245. package/dist/store/store.js +170 -7
  246. package/dist/store/store.js.map +1 -1
  247. package/dist/vendor/@jinn-network/sdk/dist/payloads/swe-rebench-v2.d.ts +108 -1
  248. package/dist/vendor/@jinn-network/sdk/dist/payloads/swe-rebench-v2.js +25 -1
  249. package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2-held-out-slate.d.ts +65 -0
  250. package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2-held-out-slate.js +123 -0
  251. package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2.d.ts +2 -2
  252. package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2.js +1 -1
  253. package/dist/vendor/@jinn-network/sdk/package.json +4 -0
  254. package/docker-compose.yml +3 -2
  255. package/package.json +22 -18
  256. package/plugins/learner/.claude-plugin/plugin.json +1 -1
  257. package/plugins/learner/.codex-plugin/plugin.json +1 -1
  258. package/plugins/learner/hooks/session-start +30 -1
  259. package/plugins/learner/skills/learn/consolidator-prompt.md +4 -0
  260. package/plugins/swe-rebench-v2-runtime/hooks/hooks.json +16 -0
  261. package/plugins/swe-rebench-v2-runtime/hooks/session-start +74 -0
  262. package/dist/dashboard/assets/index-CzKxvMcU.css +0 -32
  263. package/dist/dashboard/assets/index-yVemxHot.js +0 -351
@@ -10,6 +10,8 @@ import { BalanceTopupLoop } from './balance-topup-loop.js';
10
10
  import { EvictionLoop } from './eviction-loop.js';
11
11
  import { CheckpointLoop } from './checkpoint-loop.js';
12
12
  import { JinnClaimLoop } from './jinn-claim-loop.js';
13
+ import { WatchdogLoop } from './watchdog-loop.js';
14
+ import { recordLoopTick } from './loop-heartbeat.js';
13
15
  import { emitEvent } from '../observability/emit-event.js';
14
16
  import { emitStructured } from '../events/emitter.js';
15
17
  import { SafeInnerRevertError, isNonRecoverableInnerRevert, formatDecodedRevert, } from '../adapters/mech/safe-revert.js';
@@ -17,7 +19,7 @@ import { StaticConfiguredTaskSource } from '../tasks/sources.js';
17
19
  import { gateClaimByReadiness } from './readiness-gate.js';
18
20
  import { gateClaimBySpendCap } from './spend-cap-gate.js';
19
21
  import { gateClaimByAiUnits } from './ai-units-gate.js';
20
- import { blockIdUtc, GPT_5_4_MINI_USD_PER_BLOCK } from '../spend/ai-units.js';
22
+ import { blockIdUtc } from '../spend/ai-units.js';
21
23
  import { SkipLogDeduper } from './skip-log-dedup.js';
22
24
  const DEFAULT_API_PORT = 7331;
23
25
  /**
@@ -77,6 +79,7 @@ export class Daemon {
77
79
  evictionLoop;
78
80
  checkpointLoop;
79
81
  jinnClaimLoop;
82
+ watchdogLoop;
80
83
  skipLogDeduper = new SkipLogDeduper();
81
84
  constructor(config) {
82
85
  this.config = config;
@@ -281,6 +284,56 @@ export class Daemon {
281
284
  });
282
285
  }));
283
286
  }
287
+ // #1043 loop watchdog. Inert unless config.watchdog is supplied.
288
+ //
289
+ // IDEMPOTENCY (AC#3): the only recovery action is the watchdog's non-zero
290
+ // process.exit (see watchdog-loop.ts WATCHDOG_EXIT_CODE). It does NOT add a
291
+ // mid-flight re-execution path to any loop. A wedged daemon recovers by
292
+ // exiting → Railway ON_FAILURE restart (deploy/railway-*-operator/
293
+ // railway.toml, maxRetries=10) → the existing idempotent boot path:
294
+ // engine.recoverInFlight() above (daemon.ts) re-drives in-flight tasks and
295
+ // src/preflight/pidfile-liveness.ts clears a stale lock. Both are already
296
+ // idempotent, so a restart cannot double-claim / double-deliver / double-pay.
297
+ if (this.config.watchdog) {
298
+ const interval = this.config.pollIntervalMs ?? 5000;
299
+ const FOR_AWAIT_FLOOR_MS = 5 * 60_000; // the #1038 wedge lasted 4.5h
300
+ const registrations = [
301
+ { name: 'creator', intervalMs: 5000 },
302
+ { name: 'engine-tick', intervalMs: interval },
303
+ { name: 'engine-watcher', intervalMs: interval, floorMs: FOR_AWAIT_FLOOR_MS },
304
+ { name: 'delivery-watcher', intervalMs: interval, floorMs: FOR_AWAIT_FLOOR_MS },
305
+ ];
306
+ if (this.rewardClaimLoop)
307
+ registrations.push({ name: 'reward-claim', intervalMs: this.config.rewardClaim.intervalMs });
308
+ if (this.balanceTopupLoop)
309
+ registrations.push({ name: 'balance-topup', intervalMs: this.config.balanceTopup.intervalMs });
310
+ if (this.jinnClaimLoop)
311
+ registrations.push({ name: 'jinn-claim', intervalMs: this.config.jinnClaim.intervalMs });
312
+ if (peers.length > 0)
313
+ registrations.push({ name: 'peer-sync', intervalMs: 60_000 });
314
+ // Seed every started loop so the watchdog never trips on first boot
315
+ // before any loop has had a chance to tick.
316
+ for (const reg of registrations) {
317
+ recordLoopTick(this.store, reg.name);
318
+ }
319
+ this.watchdogLoop = new WatchdogLoop({
320
+ store: this.store,
321
+ loops: registrations,
322
+ stalenessFactor: this.config.watchdog.stalenessFactor,
323
+ checkIntervalMs: this.config.watchdog.checkIntervalMs,
324
+ autoRestart: this.config.watchdog.autoRestart,
325
+ isActive: () => this.cachedShutdownState === 'running',
326
+ });
327
+ this.loopPromises.push(this.watchdogLoop.run().catch(err => {
328
+ console.error('[daemon] watchdog crashed:', err);
329
+ emitStructured({
330
+ kind: 'error',
331
+ message: 'watchdog loop crashed',
332
+ errorCode: 'watchdog_crashed',
333
+ details: { error: err instanceof Error ? err.message : String(err) },
334
+ });
335
+ }));
336
+ }
284
337
  emitStructured({ kind: 'system', message: 'daemon loops started' });
285
338
  }
286
339
  async stop() {
@@ -304,6 +357,7 @@ export class Daemon {
304
357
  this.checkpointLoop?.stop();
305
358
  this.jinnClaimLoop?.stop();
306
359
  this.peerSync?.stop();
360
+ this.watchdogLoop?.stop();
307
361
  // Stop the adapter to unblock any pending async iterators
308
362
  await this.adapter.stop();
309
363
  // Only close the API server if we started it. When main.ts injected a
@@ -395,10 +449,14 @@ export class Daemon {
395
449
  continue;
396
450
  }
397
451
  }
398
- // AI-units gate (issue #815): skip claims for a credential whose
399
- // 6h-block or 7d-window AI-units sum + projected debit would exceed
400
- // the matching cap. Layered on TOP of the spend-cap gate below — the
401
- // first guard to fire skips the claim.
452
+ // Spend gate (issues #815, #1004): skip claims for a credential whose
453
+ // 6h-block or 7d-window ACTUAL USD spend + this claim's projected debit
454
+ // would exceed the matching USD cap. The accumulator reads
455
+ // actual_cost_usd_micros (delivered rows) / estimated_cost_usd_micros
456
+ // (in-flight), so the gate bounds real token spend, not a flat
457
+ // projection. For subscription credentials the USD ceiling is a *proxy*
458
+ // budget, not an exact bound on the provider's plan quota. Layered on
459
+ // top of the spend-cap gate below — the first guard to fire skips.
402
460
  let aiUnitsForRow = null;
403
461
  let estimatedCostUsdMicrosForRow = null;
404
462
  let modelForRow = null;
@@ -406,27 +464,25 @@ export class Daemon {
406
464
  if (aiUnitsCfg && manifestCid) {
407
465
  const credentialId = aiUnitsCfg.manifestCredentials[manifestCid];
408
466
  if (credentialId) {
409
- const projectedAiUnits = aiUnitsCfg.manifestProjectedAiUnits[manifestCid] ?? null;
410
- aiUnitsForRow = projectedAiUnits;
467
+ // #1006: ai_units stays on the row for the legacy unit-denominated
468
+ // /v1/status surface the SPA still reads. Remove when #1006 migrates.
469
+ aiUnitsForRow = aiUnitsCfg.manifestProjectedAiUnits[manifestCid] ?? null;
411
470
  modelForRow = aiUnitsCfg.manifestModels[manifestCid] ?? null;
412
- // estimatedCostUsdMicros captured for the row (claimed/claim_failed) —
413
- // computed from projectedAiUnits via the GPT-5.4-mini peg so the row's
414
- // estimated_cost_usd_micros field stays meaningful even when the
415
- // harness later emits no actuals.
416
- if (projectedAiUnits != null) {
417
- // peg-inverted: units / 100 * GPT_5_4_MINI_USD_PER_BLOCK = USD
418
- // GPT_5_4_MINI_USD_PER_BLOCK is small enough to round to micros cleanly.
419
- const usd = (projectedAiUnits / 100) * GPT_5_4_MINI_USD_PER_BLOCK;
420
- estimatedCostUsdMicrosForRow = Math.round(usd * 1_000_000);
421
- }
471
+ const projectedUsdMicros = aiUnitsCfg.manifestProjectedUsdMicros[manifestCid] ?? null;
472
+ // Capture the claim-time USD estimate on the row so the accumulator
473
+ // has a value to read while the claim is in flight (before the
474
+ // delivered actual replaces it via finalizeClaimDelivered).
475
+ estimatedCostUsdMicrosForRow = projectedUsdMicros;
422
476
  const now = new Date();
477
+ const block = this.store.usdMicrosThisBlock(credentialId, now);
478
+ const week = this.store.usdMicrosThisWeek(credentialId, now);
423
479
  const aiGate = gateClaimByAiUnits({
424
480
  credentialId,
425
- projectedAiUnits,
426
- unitsThisBlock: this.store.aiUnitsThisBlock(credentialId, now),
427
- unitsThisWeek: this.store.aiUnitsThisWeek(credentialId, now),
428
- capPerBlock: aiUnitsCfg.capPerBlock,
429
- capPerWeek: aiUnitsCfg.capPerWeek,
481
+ projectedUsdMicros,
482
+ usdMicrosThisBlock: block.usdMicros,
483
+ usdMicrosThisWeek: week.usdMicros,
484
+ capPerBlockUsdMicros: aiUnitsCfg.capPerBlockUsdMicros,
485
+ capPerWeekUsdMicros: aiUnitsCfg.capPerWeekUsdMicros,
430
486
  blockId: blockIdUtc(now),
431
487
  logger: gateLogger,
432
488
  hasPersistedCapReached: (w, bid) => this.store.hasAiUnitsCapReachedFor(credentialId, w, bid),
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/daemon/daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/daemon/daemon.ts"],"names":[],"mappings":"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"}
@@ -29,10 +29,17 @@ export interface EvictionLoopConfig {
29
29
  * Accepts a ServiceState and kicks off the reStake call.
30
30
  */
31
31
  recoverEvictedService: (svc: ServiceState) => Promise<void>;
32
+ /** Min ms between reStake attempts for the same service. Default 300_000. */
33
+ reStakeThrottleMs?: number;
34
+ /** Injectable clock for tests. Default () => Date.now(). */
35
+ now?: () => number;
32
36
  }
33
37
  export declare class EvictionLoop {
34
38
  private readonly config;
35
39
  private stopped;
40
+ private readonly lastReStakeAttemptMs;
41
+ private readonly reStakeThrottleMs;
42
+ private readonly now;
36
43
  constructor(config: EvictionLoopConfig);
37
44
  stop(): void;
38
45
  runOnce(): Promise<void>;
@@ -18,8 +18,16 @@ import { isStakedLikeServiceStep } from '../earning/types.js';
18
18
  export class EvictionLoop {
19
19
  config;
20
20
  stopped = false;
21
+ lastReStakeAttemptMs = new Map();
22
+ reStakeThrottleMs;
23
+ now;
21
24
  constructor(config) {
22
25
  this.config = config;
26
+ this.reStakeThrottleMs =
27
+ config.reStakeThrottleMs != null && config.reStakeThrottleMs > 0
28
+ ? config.reStakeThrottleMs
29
+ : 300_000;
30
+ this.now = config.now ?? (() => Date.now());
23
31
  }
24
32
  stop() {
25
33
  this.stopped = true;
@@ -40,7 +48,15 @@ export class EvictionLoop {
40
48
  args: [BigInt(svc.service_id)],
41
49
  });
42
50
  if (Number(stakingState) === 2) {
51
+ const id = String(svc.service_id);
52
+ const last = this.lastReStakeAttemptMs.get(id);
53
+ const ts = this.now();
54
+ if (last !== undefined && ts - last < this.reStakeThrottleMs) {
55
+ console.error(`[eviction-loop] Service ${displayIndex} (service_id ${svc.service_id}) still evicted; reStake throttled (last attempt ${ts - last}ms ago, window ${this.reStakeThrottleMs}ms)`);
56
+ continue;
57
+ }
43
58
  console.error(`[eviction-loop] Service ${displayIndex} (service_id ${svc.service_id}) is evicted; triggering auto-restake`);
59
+ this.lastReStakeAttemptMs.set(id, ts); // mark BEFORE awaiting so a revert is throttled like a success
44
60
  await this.config.recoverEvictedService(svc);
45
61
  }
46
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"eviction-loop.js","sourceRoot":"","sources":["../../src/daemon/eviction-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAqB,MAAM,MAAM,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAqB,MAAM,qBAAqB,CAAC;AA0BjF,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,MAAM,OAAO,YAAY;IAGM;IAFrB,OAAO,GAAG,KAAK,CAAC;IAExB,YAA6B,MAA0B;QAA1B,WAAM,GAAN,MAAM,CAAoB;IAAG,CAAC;IAE3D,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE9D,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjC,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC,eAAe;gBAAE,SAAS;YACtD,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YAEjD,MAAM,YAAY,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;YAEnD,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;oBAClD,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,eAAe,CAAkB;oBACzD,GAAG,EAAE,WAAW;oBAChB,YAAY,EAAE,iBAAiB;oBAC/B,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;iBAC/B,CAAC,CAAC;gBAEH,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC/B,OAAO,CAAC,KAAK,CACX,2BAA2B,YAAY,gBAAgB,GAAG,CAAC,UAAU,uCAAuC,CAC7G,CAAC;oBACF,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CACX,2BAA2B,YAAY,+CAA+C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CACjI,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG;QACP,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACvB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CACX,0CAA0C,EAC1C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CACzC,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"eviction-loop.js","sourceRoot":"","sources":["../../src/daemon/eviction-loop.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,7 @@ import { emitEvent } from '../observability/emit-event.js';
42
42
  import { displayFleetServiceIndex } from '../earning/fleet-display-index.js';
43
43
  import { viemSendTransactionWithRetry, waitForTransactionReceiptWithRetry } from '../tx-retry.js';
44
44
  import { CLAIM_TICKET_TOPIC0, JINN_CLAIM_EMITTER_ABI } from '../earning/contracts.js';
45
+ import { recordLoopTick } from './loop-heartbeat.js';
45
46
  import { fetchLatestClaimTicket, plantMockFixture, submitMockClaim, } from './jinn-claim-loop-mock.js';
46
47
  import { buildCanonicalProof, decodeClaimTicketFromReceipt, verifyCanonicalClaimCanary, } from './jinn-claim-loop-canonical.js';
47
48
  /**
@@ -321,6 +322,8 @@ export class JinnClaimLoop {
321
322
  }
322
323
  }
323
324
  this.config.jinnStore?.setConfigValue('last_jinn_claim_tick_at', new Date().toISOString());
325
+ if (this.config.jinnStore)
326
+ recordLoopTick(this.config.jinnStore, 'jinn-claim'); // #1043 loop watchdog
324
327
  await new Promise((r) => setTimeout(r, this.config.intervalMs));
325
328
  }
326
329
  }
@@ -1 +1 @@
1
- {"version":3,"file":"jinn-claim-loop.js","sourceRoot":"","sources":["../../src/daemon/jinn-claim-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAGH,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,4BAA4B,EAAE,kCAAkC,EAAE,MAAM,gBAAgB,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,GAEhB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,gCAAgC,CAAC;AAiDxC;;;;GAIG;AACH,MAAM,OAAO,aAAa;IAGK;IAFrB,OAAO,GAAG,KAAK,CAAC;IAExB,YAA6B,MAA2B;QAA3B,WAAM,GAAN,MAAM,CAAqB;IAAG,CAAC;IAE5D,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,MAAM,GAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAElF,4EAA4E;QAC5E,wEAAwE;QACxE,sEAAsE;QACtE,2DAA2D;QAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,KAAK,WAAW,EAAE,CAAC;YACzF,MAAM,MAAM,GACV,wFAAwF;gBACxF,kGAAkG;gBAClG,oDAAoD,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC1B,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;oBAC/B,IAAI,EAAE,2BAA2B;oBACjC,OAAO,EAAE,MAAM;oBACf,MAAM;iBACP,EAAE,YAAY,CAAC,CAAC;YACnB,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9D,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,OAAO;gBAAE,MAAM;YACxB,2DAA2D;YAC3D,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe;gBAAE,SAAS;YAClF,IAAI,GAAG,CAAC,UAAU,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY;gBAAE,SAAS;YAE1D,MAAM,YAAY,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;YACnD,MAAM,CAAC,KAAK,EAAE,CAAC;YAEf,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,WAAW,CAAC;oBACrB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;oBACjC,YAAY;oBACZ,QAAQ,EAAE,UAAU,CAAC,GAAG,CAAC,YAAY,CAAY;iBAClD,EAAE,MAAM,CAAC,CAAC;YACb,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChE,OAAO,CAAC,KAAK,CAAC,wBAAwB,GAAG,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC,CAAC;gBACnE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;oBAC1B,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;wBAC/B,IAAI,EAAE,YAAY;wBAClB,YAAY,EAAE,YAAY;wBAC1B,OAAO,EAAE,QAAQ;wBACjB,MAAM;qBACP,EAAE,YAAY,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CACf,IAAoE,EACpE,MAA2B;QAE3B,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAEnD,mCAAmC;QACnC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1B,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;gBAC/B,IAAI,EAAE,oBAAoB;gBAC1B,YAAY,EAAE,YAAY;gBAC1B,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,mCAAmC,SAAS,EAAE;aACvD,EAAE,YAAY,CAAC,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,KAAK,WAAW,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAChE,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC/D,MAAM,IAAI,KAAK,CACb,wCAAwC,QAAQ,CAAC,QAAQ,kBAAkB;oBACzE,oBAAoB,QAAQ,wCAAwC,CACvE,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GACV,gCAAgC,QAAQ,CAAC,OAAO,YAAY,SAAS,GAAG;gBACxE,WAAW,QAAQ,CAAC,kBAAkB,IAAI,QAAQ,CAAC,sBAAsB,GAAG;gBAC5E,GAAG,QAAQ,CAAC,qBAAqB,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,wBAAwB,SAAS,KAAK,MAAM,EAAE,CAAC,CAAC;YAC5D,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC1B,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;oBAC/B,IAAI,EAAE,4BAA4B;oBAClC,YAAY,EAAE,YAAY;oBAC1B,MAAM,EAAE,UAAU;oBAClB,OAAO,EAAE,IAAI;oBACb,MAAM;iBACP,EAAE,YAAY,CAAC,CAAC;YACnB,CAAC;YACD,OAAO;QACT,CAAC;QAED,gCAAgC;QAChC,IAAI,YAAiB,CAAC;QACtB,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,KAAK,MAAM,EAAE,CAAC;YACzC,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC;gBACnC,SAAS;gBACT,UAAU;gBACV,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC;gBACxC,SAAS;gBACT,UAAU;aACX,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1B,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;gBAC/B,IAAI,EAAE,sBAAsB;gBAC5B,YAAY,EAAE,YAAY;gBAC1B,MAAM,EAAE,YAAY;gBACpB,OAAO,EAAE,IAAI;gBACb,MAAM,EACJ,aAAa,IAAI,CAAC,MAAM,CAAC,aAAa,sBAAsB,SAAS,EAAE;aAC1E,EAAE,YAAY,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,KAAK,CAAC,QAAQ,CAAC,SAAiB;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC7C,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAErE,oDAAoD;QACpD,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAC1C,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB;YACxC,GAAG,EAAE,sBAAsB;YAC3B,YAAY,EAAE,WAAW;YACzB,IAAI,EAAE,CAAC,SAAS,CAAC;YACjB,OAAO;SACR,CAAC,CAAC;QAEH,4EAA4E;QAC5E,2EAA2E;QAC3E,6EAA6E;QAC7E,2EAA2E;QAC3E,2EAA2E;QAC3E,2EAA2E;QAC3E,2EAA2E;QAC3E,kEAAkE;QAClE,MAAM,IAAI,GAAG,kBAAkB,CAAC;YAC9B,GAAG,EAAE,sBAAsB;YAC3B,YAAY,EAAE,WAAW;YACzB,IAAI,EAAE,CAAC,SAAS,CAAC;SAClB,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC1F,OAAO;YACP,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB;YACnC,IAAI;SACL,CAAC,CAAC;QACH,MAAM,kCAAkC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2EAA2E;IAC3E,KAAK,CAAC,UAAU,CAAC,IAIhB;QACC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAClG,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1E,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CACb,wCAAwC,QAAQ,CAAC,QAAQ,kBAAkB;gBACzE,oBAAoB,IAAI,CAAC,QAAQ,mCAAmC,CACvE,CAAC;QACJ,CAAC;QAED,iEAAiE;QACjE,MAAM,SAAS,GAAG,MAAM,gBAAgB,CACtC,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,QAAQ,CACT,CAAC;QACF,MAAM,kCAAkC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAE9D,0BAA0B;QAC1B,MAAM,OAAO,GAAG,MAAM,eAAe,CACnC,QAAQ,EACR,QAAQ,EACR,kBAAkB,EAClB,QAAQ,CAAC,OAAO,CACjB,CAAC;QACF,MAAM,kCAAkC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5D,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,eAAe,CAAC,IAA4C;QAChE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACpE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,CAAC;YACjF,MAAM,IAAI,KAAK,CACb,6FAA6F,CAC9F,CAAC;QACJ,CAAC;QAED,kFAAkF;QAClF,MAAM,OAAO,GAAG,MAAM,kCAAkC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAChG,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CACzC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE;eACxE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,mBAAmB,CAAC,WAAW,EAAE,CACtE,CAAC;QACF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,mDAAmD,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,MAAM,QAAQ,GAAG,4BAA4B,CAC3C,OAAO,CAAC,IAAI,EACZ,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAC/B,QAAQ,CAAC,QAAQ,IAAI,CAAC,CACvB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,mBAAmB,CACtC;YACE,QAAQ;YACR,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ;YAChE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;YACtE,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,qBAAqB;YACjD,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,yBAAyB;YACzD,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB;SAC9C,EACD,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,WAAW,EAAE,CACjD,CAAC;QAEF,MAAM,0BAA0B,CAC9B,QAAQ,EACR,gBAAgB,EAChB,MAAM,CAAC,KAAK,CACb,CAAC;QACF,iFAAiF;QACjF,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,YAAY,CAAC,SAAiB,EAAE,UAAe;QAC3D,yEAAyE;QACzE,qEAAqE;QACrE,iEAAiE;QACjE,MAAM,OAAO,GAAG,MAAM,kCAAkC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC3F,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CACzC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE;eACxE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,mBAAmB,CAAC,WAAW,EAAE,CACtE,CAAC;QACF,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,4BAA4B,CAC3C,OAAO,CAAC,IAAI,EACZ,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAC/B,QAAQ,CAAC,QAAQ,IAAI,CAAC,CACvB,CAAC;YACF,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CACb,oCAAoC,QAAQ,CAAC,SAAS,oCAAoC,SAAS,EAAE,CACtG,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,GAAG,QAAQ;gBACX,UAAU;gBACV,eAAe,EAAE,OAAO,CAAC,WAAW;aACrC,CAAC;QACJ,CAAC;QAED,+CAA+C;QAC/C,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,EACpB,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAC/B,SAAS,EACT,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CACjC,CAAC;QACF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,iDAAiD,SAAS,YAAY,UAAU,EAAE,CACnF,CAAC;QACJ,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,qBAAqB;QAM3B,IACE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ;YACrB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ;YACrB,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB;YAC/B,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAC7B,CAAC;YACD,MAAM,IAAI,KAAK,CACb,gGAAgG,CACjG,CAAC;QACJ,CAAC;QACD,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB;YAClD,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;SAC/C,CAAC;IACJ,CAAC;IAED,yDAAyD;IACzD,KAAK,CAAC,GAAG;QACP,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC;YAAE,OAAO;QAExC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACvB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChE,OAAO,CAAC,KAAK,CAAC,yCAAyC,MAAM,EAAE,CAAC,CAAC;gBACjE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;oBAC1B,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;wBAC/B,IAAI,EAAE,YAAY;wBAClB,OAAO,EAAE,QAAQ;wBACjB,MAAM;qBACP,EAAE,YAAY,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,CACnC,yBAAyB,EACzB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CACzB,CAAC;YACF,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"jinn-claim-loop.js","sourceRoot":"","sources":["../../src/daemon/jinn-claim-loop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Hot-apply a SolverNet join to the RUNNING daemon (#1037).
3
+ *
4
+ * Four subsystems consume `joinedSolverNets`. Two re-read their config object
5
+ * live (the MechAdapter task-discovery cid array and the engine's
6
+ * JoinedSolverNetsView); two are frozen at construction (the
7
+ * HarnessReadinessRegistry cid→harness map and the SolverNetRegistry). This
8
+ * applier mutates all four on the live instances so a join applied to a
9
+ * running daemon takes effect within one claim poll — no restart.
10
+ *
11
+ * Wired in main.ts via `joinApplierHolder` (eager-register/late-populate,
12
+ * mirroring harnessReadinessRegistryHolder). The join endpoint
13
+ * (POST /v1/operator/join/:cid) calls it after writing config to disk.
14
+ */
15
+ import type { HarnessReadinessRegistry } from '../harnesses/readiness-registry.js';
16
+ import type { JoinedSolverNetsView } from '../harnesses/engine/engine.js';
17
+ import { SolverNetRegistry, type JoinedSolverNetConfig } from '../solver-nets/registry.js';
18
+ export interface JoinApplierDeps {
19
+ /** The MechAdapter's live taskDiscovery object (cid array is pushed onto). */
20
+ taskDiscovery: {
21
+ solverNetManifestCids: string[];
22
+ };
23
+ /** The engine's mutable joined view. */
24
+ view: JoinedSolverNetsView;
25
+ /** The live readiness registry. */
26
+ readiness: HarnessReadinessRegistry;
27
+ /** The live SolverNet registry. */
28
+ registry: SolverNetRegistry;
29
+ /** The in-memory operator config block (kept consistent for launcher reads). */
30
+ config: {
31
+ joinedSolverNets?: Record<string, JoinedSolverNetConfig>;
32
+ };
33
+ }
34
+ export type JoinApplier = (entry: JoinedSolverNetConfig) => Promise<void>;
35
+ export declare function createJoinApplier(deps: JoinApplierDeps): JoinApplier;
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Hot-apply a SolverNet join to the RUNNING daemon (#1037).
3
+ *
4
+ * Four subsystems consume `joinedSolverNets`. Two re-read their config object
5
+ * live (the MechAdapter task-discovery cid array and the engine's
6
+ * JoinedSolverNetsView); two are frozen at construction (the
7
+ * HarnessReadinessRegistry cid→harness map and the SolverNetRegistry). This
8
+ * applier mutates all four on the live instances so a join applied to a
9
+ * running daemon takes effect within one claim poll — no restart.
10
+ *
11
+ * Wired in main.ts via `joinApplierHolder` (eager-register/late-populate,
12
+ * mirroring harnessReadinessRegistryHolder). The join endpoint
13
+ * (POST /v1/operator/join/:cid) calls it after writing config to disk.
14
+ */
15
+ import { registerJoinedNet, } from '../solver-nets/registry.js';
16
+ export function createJoinApplier(deps) {
17
+ return async (entry) => {
18
+ const cid = entry.manifestCid;
19
+ // (a) task-discovery cid set — solver role only (mirrors main.ts), deduped
20
+ // so a re-apply does not double-push.
21
+ if (entry.roles.includes('solver') && !deps.taskDiscovery.solverNetManifestCids.includes(cid)) {
22
+ deps.taskDiscovery.solverNetManifestCids.push(cid);
23
+ }
24
+ // (b) engine eligibility view.
25
+ deps.view.set(cid, { roles: entry.roles });
26
+ // (c) readiness gate map — mirror boot's buildHarnessReadinessRegistry
27
+ // (main.ts), which adds an entry whenever `entry.harness` is truthy,
28
+ // role-agnostic. The endpoint persists `harness` for evaluator-only joins
29
+ // too, so gating this on the solver role made the live map diverge from the
30
+ // post-restart map and silently blocked evaluator-only claims.
31
+ if (entry.harness) {
32
+ await deps.readiness.setJoined(cid, { harnessName: entry.harness, roles: entry.roles });
33
+ }
34
+ // (d) SolverNet registry — shared boot/live registration (Task 1).
35
+ // Clear any prior registration under this net's name first so a re-join
36
+ // updates in place rather than inserting a phantom `name#2` duplicate
37
+ // (registerJoinedNet → register is non-idempotent by name). Boot rebuilds
38
+ // from scratch and never re-applies, so this only affects the live path.
39
+ deps.registry.unregister(entry.name ?? cid);
40
+ await registerJoinedNet(deps.registry, cid, entry);
41
+ // Keep the in-memory config consistent so launcher read-callbacks and any
42
+ // in-process re-read see the new entry. The on-disk write is owned by the
43
+ // join endpoint.
44
+ if (!deps.config.joinedSolverNets)
45
+ deps.config.joinedSolverNets = {};
46
+ deps.config.joinedSolverNets[cid] = entry;
47
+ };
48
+ }
49
+ //# sourceMappingURL=join-applier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"join-applier.js","sourceRoot":"","sources":["../../src/daemon/join-applier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EAEL,iBAAiB,GAElB,MAAM,4BAA4B,CAAC;AAiBpC,MAAM,UAAU,iBAAiB,CAAC,IAAqB;IACrD,OAAO,KAAK,EAAE,KAA4B,EAAiB,EAAE;QAC3D,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC;QAE9B,2EAA2E;QAC3E,sCAAsC;QACtC,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9F,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrD,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAE3C,uEAAuE;QACvE,qEAAqE;QACrE,0EAA0E;QAC1E,4EAA4E;QAC5E,+DAA+D;QAC/D,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1F,CAAC;QAED,mEAAmE;QACnE,wEAAwE;QACxE,sEAAsE;QACtE,0EAA0E;QAC1E,yEAAyE;QACzE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;QAC5C,MAAM,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAEnD,0EAA0E;QAC1E,0EAA0E;QAC1E,iBAAiB;QACjB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB;YAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,EAAE,CAAC;QACrE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC5C,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Loop heartbeat helper (#1043, follow-up to the #1038 wedge).
3
+ *
4
+ * Each long-running daemon loop records a standardized "last tick" heartbeat at
5
+ * the end of every iteration. The watchdog (watchdog-loop.ts) reads these rows
6
+ * to detect a loop whose last tick has gone stale (frozen mid-iteration / RPC
7
+ * wedge). The heartbeat is a NEW namespaced config row written ALONGSIDE the
8
+ * pre-existing `last_*_tick_at` rows (which other surfaces — e.g.
9
+ * gather-status.ts — already read); nothing here renames or replaces those.
10
+ *
11
+ * The stored value is `Date.now()` (wall-clock ms) as a string, so the watchdog
12
+ * can compute staleness with a single subtraction and no Date parsing.
13
+ */
14
+ import type { Store } from '../store/store.js';
15
+ /** Config-key namespace for per-loop heartbeats. */
16
+ export declare const LOOP_HEARTBEAT_PREFIX = "loop_heartbeat:";
17
+ /**
18
+ * The eight canonical long-running loops the watchdog supervises. The two
19
+ * for-await adapter loops (engine-watcher, delivery-watcher) heartbeat at the
20
+ * poll-cycle tail so an idle-but-polling loop never looks stale. The
21
+ * eviction/checkpoint loops use FleetStateStore (not this observability Store)
22
+ * and are deliberately NOT in this set.
23
+ */
24
+ export declare const LOOP_NAMES: readonly ["creator", "engine-tick", "engine-watcher", "delivery-watcher", "reward-claim", "balance-topup", "jinn-claim", "peer-sync"];
25
+ export type LoopName = (typeof LOOP_NAMES)[number];
26
+ /** The config-row key for a given loop's heartbeat. */
27
+ export declare function loopHeartbeatKey(name: LoopName): string;
28
+ /** Stamp the loop's heartbeat with the current wall-clock ms. */
29
+ export declare function recordLoopTick(store: Store, name: LoopName): void;
30
+ /**
31
+ * Read a loop's last heartbeat as wall-clock ms, or `null` if it has never
32
+ * ticked or the stored value is not a finite number.
33
+ */
34
+ export declare function getLoopTick(store: Store, name: LoopName): number | null;
@@ -0,0 +1,39 @@
1
+ /** Config-key namespace for per-loop heartbeats. */
2
+ export const LOOP_HEARTBEAT_PREFIX = 'loop_heartbeat:';
3
+ /**
4
+ * The eight canonical long-running loops the watchdog supervises. The two
5
+ * for-await adapter loops (engine-watcher, delivery-watcher) heartbeat at the
6
+ * poll-cycle tail so an idle-but-polling loop never looks stale. The
7
+ * eviction/checkpoint loops use FleetStateStore (not this observability Store)
8
+ * and are deliberately NOT in this set.
9
+ */
10
+ export const LOOP_NAMES = [
11
+ 'creator',
12
+ 'engine-tick',
13
+ 'engine-watcher',
14
+ 'delivery-watcher',
15
+ 'reward-claim',
16
+ 'balance-topup',
17
+ 'jinn-claim',
18
+ 'peer-sync',
19
+ ];
20
+ /** The config-row key for a given loop's heartbeat. */
21
+ export function loopHeartbeatKey(name) {
22
+ return `${LOOP_HEARTBEAT_PREFIX}${name}`;
23
+ }
24
+ /** Stamp the loop's heartbeat with the current wall-clock ms. */
25
+ export function recordLoopTick(store, name) {
26
+ store.setConfigValue(loopHeartbeatKey(name), Date.now().toString());
27
+ }
28
+ /**
29
+ * Read a loop's last heartbeat as wall-clock ms, or `null` if it has never
30
+ * ticked or the stored value is not a finite number.
31
+ */
32
+ export function getLoopTick(store, name) {
33
+ const raw = store.getConfigValue(loopHeartbeatKey(name));
34
+ if (raw === null)
35
+ return null;
36
+ const ms = Number(raw);
37
+ return Number.isFinite(ms) ? ms : null;
38
+ }
39
+ //# sourceMappingURL=loop-heartbeat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loop-heartbeat.js","sourceRoot":"","sources":["../../src/daemon/loop-heartbeat.ts"],"names":[],"mappings":"AAeA,oDAAoD;AACpD,MAAM,CAAC,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,SAAS;IACT,aAAa;IACb,gBAAgB;IAChB,kBAAkB;IAClB,cAAc;IACd,eAAe;IACf,YAAY;IACZ,WAAW;CACH,CAAC;AAIX,uDAAuD;AACvD,MAAM,UAAU,gBAAgB,CAAC,IAAc;IAC7C,OAAO,GAAG,qBAAqB,GAAG,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,cAAc,CAAC,KAAY,EAAE,IAAc;IACzD,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;AACtE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,KAAY,EAAE,IAAc;IACtD,MAAM,GAAG,GAAG,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACvB,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACzC,CAAC"}
@@ -9,6 +9,7 @@
9
9
  import { listStolasClaimTargets, tickStolasDistributorClaims, } from '../earning/stolas-claim.js';
10
10
  import { emitEvent } from '../observability/emit-event.js';
11
11
  import { displayFleetServiceIndex } from '../earning/fleet-display-index.js';
12
+ import { recordLoopTick } from './loop-heartbeat.js';
12
13
  export async function runRewardClaimOnce(cfg) {
13
14
  const state = await cfg.store.load(cfg.chain);
14
15
  const targets = listStolasClaimTargets(state.services);
@@ -83,6 +84,8 @@ export class RewardClaimLoop {
83
84
  }, 'reward-claim');
84
85
  }
85
86
  this.config.jinnStore?.setConfigValue('last_reward_claim_tick_at', new Date().toISOString());
87
+ if (this.config.jinnStore)
88
+ recordLoopTick(this.config.jinnStore, 'reward-claim'); // #1043 loop watchdog
86
89
  await new Promise(r => setTimeout(r, this.config.intervalMs));
87
90
  }
88
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"reward-claim-loop.js","sourceRoot":"","sources":["../../src/daemon/reward-claim-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reward-claim-loop.js","sourceRoot":"","sources":["../../src/daemon/reward-claim-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EACL,sBAAsB,EACtB,2BAA2B,GAE5B,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAoBrD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,GAA0B;IACjE,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvD,OAAO,2BAA2B,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE;QACrE,kBAAkB,EAAE,GAAG,CAAC,kBAAkB;QAC1C,WAAW,EAAE,KAAK,CAAC,YAAY;QAC/B,OAAO;QACP,MAAM,EAAE,GAAG,CAAC,MAAM;KACnB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,SAAgB,EAChB,KAAiB,EACjB,MAA6B,EAC7B,kBAAsC,EACtC,MAAM,GAAG,cAAc;IAEvB,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACvC,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA2C,CAAC;IAC9E,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjC,IAAI,GAAG,CAAC,UAAU,IAAI,IAAI;YAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC1E,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,YAAY,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;QACnD,SAAS,CAAC,iBAAiB,CAAC;YAC1B,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC5B,YAAY;YACZ,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,WAAW,EAAE,kBAAkB,IAAI,IAAI;YACvC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC,CAAC;QACH,SAAS,CAAC,SAAS,EAAE;YACnB,IAAI,EAAE,gBAAgB;YACtB,YAAY;YACZ,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,2CAA2C,KAAK,CAAC,SAAS,sBAAsB,KAAK,CAAC,SAAS,2CAA2C;SACnJ,EAAE,MAAM,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED,MAAM,OAAO,eAAe;IAGG;IAFrB,OAAO,GAAG,KAAK,CAAC;IAExB,YAA6B,MAA6B;QAA7B,WAAM,GAAN,MAAM,CAAuB;IAAG,CAAC;IAE9D,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACjE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9D,uBAAuB,CACrB,IAAI,CAAC,MAAM,CAAC,SAAS,EACrB,KAAK,EACL,MAAM,EACN,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAC9B,cAAc,CACf,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,GAAG;QACP,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACvB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACnG,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;oBACxD,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,QAAQ;oBACjB,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACzD,EAAE,cAAc,CAAC,CAAC;YACrB,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,2BAA2B,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YAC7F,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS;gBAAE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,sBAAsB;YACxG,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;CACF"}