@jinn-network/client 0.1.6 → 0.1.7-canary.db7ab51d

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 (288) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/deployments/deployment-jinn-mvi-l1-sepolia-fast.json +23 -4
  3. package/deployments/deployment-jinn-mvi-l1-sepolia.json +23 -4
  4. package/deployments/deployment-jinn-mvi-l2-baseSepolia.json +5 -4
  5. package/dist/adapters/mech/adapter.d.ts +38 -1
  6. package/dist/adapters/mech/adapter.js +241 -54
  7. package/dist/adapters/mech/adapter.js.map +1 -1
  8. package/dist/adapters/mech/contracts.d.ts +17 -4
  9. package/dist/adapters/mech/contracts.js +8 -2
  10. package/dist/adapters/mech/contracts.js.map +1 -1
  11. package/dist/adapters/mech/safe-revert.d.ts +20 -0
  12. package/dist/adapters/mech/safe-revert.js +12 -4
  13. package/dist/adapters/mech/safe-revert.js.map +1 -1
  14. package/dist/adapters/mech/safe.d.ts +5 -1
  15. package/dist/adapters/mech/safe.js +27 -8
  16. package/dist/adapters/mech/safe.js.map +1 -1
  17. package/dist/adapters/mech/verdict-code.d.ts +1 -0
  18. package/dist/adapters/mech/verdict-code.js +18 -0
  19. package/dist/adapters/mech/verdict-code.js.map +1 -1
  20. package/dist/api/admin-endpoint.d.ts +15 -3
  21. package/dist/api/admin-endpoint.js +24 -2
  22. package/dist/api/admin-endpoint.js.map +1 -1
  23. package/dist/api/bootstrap-endpoint.js +49 -0
  24. package/dist/api/bootstrap-endpoint.js.map +1 -1
  25. package/dist/api/codex-doctor-endpoint.d.ts +73 -0
  26. package/dist/api/codex-doctor-endpoint.js +177 -0
  27. package/dist/api/codex-doctor-endpoint.js.map +1 -0
  28. package/dist/api/discovery-endpoint.d.ts +1 -0
  29. package/dist/api/discovery-endpoint.js +26 -0
  30. package/dist/api/discovery-endpoint.js.map +1 -1
  31. package/dist/api/fleet-build.d.ts +1 -0
  32. package/dist/api/fleet-build.js +2 -1
  33. package/dist/api/fleet-build.js.map +1 -1
  34. package/dist/api/gather-status.d.ts +11 -0
  35. package/dist/api/gather-status.js +400 -4
  36. package/dist/api/gather-status.js.map +1 -1
  37. package/dist/api/hermes-doctor-endpoint.d.ts +117 -0
  38. package/dist/api/hermes-doctor-endpoint.js +229 -23
  39. package/dist/api/hermes-doctor-endpoint.js.map +1 -1
  40. package/dist/api/launcher-status.d.ts +21 -16
  41. package/dist/api/launcher-status.js +2 -1
  42. package/dist/api/launcher-status.js.map +1 -1
  43. package/dist/api/portfolio-v0-build.d.ts +10 -0
  44. package/dist/api/portfolio-v0-build.js +24 -5
  45. package/dist/api/portfolio-v0-build.js.map +1 -1
  46. package/dist/api/prediction-v1-build.d.ts +10 -0
  47. package/dist/api/prediction-v1-build.js +7 -1
  48. package/dist/api/prediction-v1-build.js.map +1 -1
  49. package/dist/api/server.d.ts +31 -1
  50. package/dist/api/server.js +68 -1
  51. package/dist/api/server.js.map +1 -1
  52. package/dist/api/setup-endpoints.d.ts +16 -0
  53. package/dist/api/setup-endpoints.js +78 -4
  54. package/dist/api/setup-endpoints.js.map +1 -1
  55. package/dist/api/setup-retry-endpoint.d.ts +19 -0
  56. package/dist/api/setup-retry-endpoint.js +32 -0
  57. package/dist/api/setup-retry-endpoint.js.map +1 -0
  58. package/dist/api/solvernets-endpoints.d.ts +8 -0
  59. package/dist/api/solvernets-endpoints.js +71 -43
  60. package/dist/api/solvernets-endpoints.js.map +1 -1
  61. package/dist/api/status-build.d.ts +72 -0
  62. package/dist/api/status-build.js +73 -18
  63. package/dist/api/status-build.js.map +1 -1
  64. package/dist/api/task-run-routing.d.ts +7 -0
  65. package/dist/api/task-run-routing.js +12 -0
  66. package/dist/api/task-run-routing.js.map +1 -0
  67. package/dist/api/task-runs-build.d.ts +21 -0
  68. package/dist/api/task-runs-build.js +14 -1
  69. package/dist/api/task-runs-build.js.map +1 -1
  70. package/dist/build-info.json +4 -4
  71. package/dist/build-meta.json +1 -1
  72. package/dist/chain-read-errors.d.ts +10 -0
  73. package/dist/chain-read-errors.js +15 -0
  74. package/dist/chain-read-errors.js.map +1 -1
  75. package/dist/cli/commands/auth.js +1 -1
  76. package/dist/cli/commands/auth.js.map +1 -1
  77. package/dist/cli/commands/create.js +3 -2
  78. package/dist/cli/commands/create.js.map +1 -1
  79. package/dist/cli/commands/doctor.d.ts +2 -0
  80. package/dist/cli/commands/doctor.js +2 -0
  81. package/dist/cli/commands/doctor.js.map +1 -1
  82. package/dist/cli/commands/rewards.js +11 -7
  83. package/dist/cli/commands/rewards.js.map +1 -1
  84. package/dist/cli/commands/solver-nets.js +24 -9
  85. package/dist/cli/commands/solver-nets.js.map +1 -1
  86. package/dist/cli/commands/status.js +1 -1
  87. package/dist/cli/commands/status.js.map +1 -1
  88. package/dist/cli/commands/tasks.js +86 -9
  89. package/dist/cli/commands/tasks.js.map +1 -1
  90. package/dist/cli/commands/update.d.ts +10 -0
  91. package/dist/cli/commands/update.js +36 -0
  92. package/dist/cli/commands/update.js.map +1 -1
  93. package/dist/cli/introspection-context.js +5 -0
  94. package/dist/cli/introspection-context.js.map +1 -1
  95. package/dist/cli/task-native-readiness.d.ts +3 -1
  96. package/dist/cli/task-native-readiness.js +28 -6
  97. package/dist/cli/task-native-readiness.js.map +1 -1
  98. package/dist/config.d.ts +106 -5
  99. package/dist/config.js +97 -18
  100. package/dist/config.js.map +1 -1
  101. package/dist/daemon/checkpoint-loop.d.ts +48 -0
  102. package/dist/daemon/checkpoint-loop.js +76 -0
  103. package/dist/daemon/checkpoint-loop.js.map +1 -0
  104. package/dist/daemon/creator.d.ts +1 -1
  105. package/dist/daemon/creator.js +7 -3
  106. package/dist/daemon/creator.js.map +1 -1
  107. package/dist/daemon/daemon.d.ts +19 -0
  108. package/dist/daemon/daemon.js +68 -1
  109. package/dist/daemon/daemon.js.map +1 -1
  110. package/dist/daemon/eviction-loop.d.ts +40 -0
  111. package/dist/daemon/eviction-loop.js +67 -0
  112. package/dist/daemon/eviction-loop.js.map +1 -0
  113. package/dist/daemon/jinn-claim-loop-wiring.d.ts +33 -0
  114. package/dist/daemon/jinn-claim-loop-wiring.js +40 -0
  115. package/dist/daemon/jinn-claim-loop-wiring.js.map +1 -0
  116. package/dist/daemon/jinn-claim-loop.d.ts +24 -17
  117. package/dist/daemon/jinn-claim-loop.js +77 -23
  118. package/dist/daemon/jinn-claim-loop.js.map +1 -1
  119. package/dist/daemon/skip-log-dedup.d.ts +69 -0
  120. package/dist/daemon/skip-log-dedup.js +106 -0
  121. package/dist/daemon/skip-log-dedup.js.map +1 -0
  122. package/dist/dashboard/assets/index-BUlE8F3Y.js +330 -0
  123. package/dist/dashboard/assets/index-blqc7eqq.css +32 -0
  124. package/dist/dashboard/index.html +2 -2
  125. package/dist/discovery/factory.d.ts +17 -5
  126. package/dist/discovery/factory.js +46 -18
  127. package/dist/discovery/factory.js.map +1 -1
  128. package/dist/discovery/http.js +142 -3
  129. package/dist/discovery/http.js.map +1 -1
  130. package/dist/discovery/onchain.d.ts +5 -0
  131. package/dist/discovery/onchain.js +407 -15
  132. package/dist/discovery/onchain.js.map +1 -1
  133. package/dist/discovery/types.d.ts +45 -1
  134. package/dist/discovery/types.js +8 -10
  135. package/dist/discovery/types.js.map +1 -1
  136. package/dist/discovery/with-fallback.d.ts +7 -0
  137. package/dist/discovery/with-fallback.js +10 -0
  138. package/dist/discovery/with-fallback.js.map +1 -1
  139. package/dist/earning/bootstrap.d.ts +92 -1
  140. package/dist/earning/bootstrap.js +203 -63
  141. package/dist/earning/bootstrap.js.map +1 -1
  142. package/dist/earning/contracts.d.ts +14 -0
  143. package/dist/earning/contracts.js +17 -5
  144. package/dist/earning/contracts.js.map +1 -1
  145. package/dist/earning/funding-plan.js +27 -18
  146. package/dist/earning/funding-plan.js.map +1 -1
  147. package/dist/earning/jinn-rewards.d.ts +46 -0
  148. package/dist/earning/jinn-rewards.js +32 -0
  149. package/dist/earning/jinn-rewards.js.map +1 -1
  150. package/dist/earning/safe-adapter.d.ts +2 -0
  151. package/dist/earning/safe-adapter.js +26 -12
  152. package/dist/earning/safe-adapter.js.map +1 -1
  153. package/dist/earning/store.d.ts +8 -0
  154. package/dist/earning/store.js.map +1 -1
  155. package/dist/earning/testnet-setup-migration.d.ts +12 -0
  156. package/dist/earning/testnet-setup-migration.js +27 -1
  157. package/dist/earning/testnet-setup-migration.js.map +1 -1
  158. package/dist/earning/types.d.ts +15 -0
  159. package/dist/erc8004/reputation.d.ts +8 -0
  160. package/dist/erc8004/reputation.js +22 -3
  161. package/dist/erc8004/reputation.js.map +1 -1
  162. package/dist/harnesses/cost-estimates.d.ts +145 -0
  163. package/dist/harnesses/cost-estimates.js +297 -0
  164. package/dist/harnesses/cost-estimates.js.map +1 -0
  165. package/dist/harnesses/engine/engine.d.ts +72 -0
  166. package/dist/harnesses/engine/engine.js +105 -8
  167. package/dist/harnesses/engine/engine.js.map +1 -1
  168. package/dist/harnesses/engine/persistence.d.ts +51 -1
  169. package/dist/harnesses/engine/persistence.js +118 -5
  170. package/dist/harnesses/engine/persistence.js.map +1 -1
  171. package/dist/harnesses/engine/work-dir-reaper.d.ts +65 -0
  172. package/dist/harnesses/engine/work-dir-reaper.js +100 -0
  173. package/dist/harnesses/engine/work-dir-reaper.js.map +1 -0
  174. package/dist/harnesses/impls/hermes-agent/adapter.js +40 -0
  175. package/dist/harnesses/impls/hermes-agent/adapter.js.map +1 -1
  176. package/dist/harnesses/impls/hermes-agent/bootstrap.d.ts +20 -0
  177. package/dist/harnesses/impls/hermes-agent/bootstrap.js +40 -6
  178. package/dist/harnesses/impls/hermes-agent/bootstrap.js.map +1 -1
  179. package/dist/harnesses/impls/hermes-agent/harness.d.ts +59 -1
  180. package/dist/harnesses/impls/hermes-agent/harness.js +104 -0
  181. package/dist/harnesses/impls/hermes-agent/harness.js.map +1 -1
  182. package/dist/harnesses/impls/index.d.ts +7 -0
  183. package/dist/harnesses/impls/index.js +16 -1
  184. package/dist/harnesses/impls/index.js.map +1 -1
  185. package/dist/harnesses/impls/learner/harness.d.ts +38 -4
  186. package/dist/harnesses/impls/learner/harness.js +96 -2
  187. package/dist/harnesses/impls/learner/harness.js.map +1 -1
  188. package/dist/harnesses/impls/learner/plugin-path.d.ts +0 -13
  189. package/dist/harnesses/impls/learner/plugin-path.js +35 -15
  190. package/dist/harnesses/impls/learner/plugin-path.js.map +1 -1
  191. package/dist/harnesses/impls/learner/types.d.ts +11 -0
  192. package/dist/harnesses/impls/stub.d.ts +58 -0
  193. package/dist/harnesses/impls/stub.js +89 -0
  194. package/dist/harnesses/impls/stub.js.map +1 -0
  195. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.d.ts +69 -50
  196. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js +178 -93
  197. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js.map +1 -1
  198. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.d.ts +12 -1
  199. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js +121 -7
  200. package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js.map +1 -1
  201. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.d.ts +15 -0
  202. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js +54 -4
  203. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js.map +1 -1
  204. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.d.ts +6 -0
  205. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js +1 -1
  206. package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js.map +1 -1
  207. package/dist/harnesses/readiness-registry.js +9 -1
  208. package/dist/harnesses/readiness-registry.js.map +1 -1
  209. package/dist/main.js +371 -82
  210. package/dist/main.js.map +1 -1
  211. package/dist/observability/emit-event.d.ts +1 -1
  212. package/dist/observability/emit-event.js.map +1 -1
  213. package/dist/operator-errors.d.ts +7 -0
  214. package/dist/operator-errors.js +13 -1
  215. package/dist/operator-errors.js.map +1 -1
  216. package/dist/plugins/learner/.claude-plugin/plugin.json +9 -0
  217. package/dist/plugins/learner/.codex-plugin/plugin.json +39 -0
  218. package/dist/plugins/learner/AGENTS.md +40 -0
  219. package/dist/plugins/learner/CLAUDE.md +33 -0
  220. package/dist/plugins/learner/README.md +59 -0
  221. package/dist/plugins/learner/hooks/hooks.json +16 -0
  222. package/dist/plugins/learner/hooks/session-start +38 -0
  223. package/dist/plugins/learner/skills/learn/SKILL.md +412 -0
  224. package/dist/plugins/learner/skills/learn/analyst-prompt.md +68 -0
  225. package/dist/plugins/learner/skills/learn/consolidator-prompt.md +94 -0
  226. package/dist/plugins/learner/skills/learn/explorer-prompt.md +53 -0
  227. package/dist/plugins/learner/skills/learn/planner-prompt.md +87 -0
  228. package/dist/plugins/learner/skills/learn/promoter-prompt.md +113 -0
  229. package/dist/plugins/learner/skills/learn/step-worker-prompt.md +47 -0
  230. package/dist/plugins/learner/skills/learn/strategist-prompt.md +85 -0
  231. package/dist/restart-daemon.d.ts +90 -0
  232. package/dist/restart-daemon.js +95 -0
  233. package/dist/restart-daemon.js.map +1 -0
  234. package/dist/setup/halt-mode.d.ts +14 -0
  235. package/dist/setup/halt-mode.js +17 -0
  236. package/dist/setup/halt-mode.js.map +1 -0
  237. package/dist/solver-nets/prediction-operator-ux.js +43 -3
  238. package/dist/solver-nets/prediction-operator-ux.js.map +1 -1
  239. package/dist/solver-nets/registry.d.ts +1 -0
  240. package/dist/solver-nets/registry.js +1 -1
  241. package/dist/solver-nets/registry.js.map +1 -1
  242. package/dist/solver-types/_swe-rebench-v2-pool-cache.d.ts +58 -0
  243. package/dist/solver-types/_swe-rebench-v2-pool-cache.js +87 -0
  244. package/dist/solver-types/_swe-rebench-v2-pool-cache.js.map +1 -0
  245. package/dist/solver-types/_swe-rebench-v2-substrate.d.ts +1 -0
  246. package/dist/solver-types/_swe-rebench-v2-substrate.js +10 -0
  247. package/dist/solver-types/_swe-rebench-v2-substrate.js.map +1 -1
  248. package/dist/solver-types/_swe-rebench-v2-validated-pool.d.ts +65 -0
  249. package/dist/solver-types/_swe-rebench-v2-validated-pool.js +243 -26
  250. package/dist/solver-types/_swe-rebench-v2-validated-pool.js.map +1 -1
  251. package/dist/solver-types/swe-rebench-v2-auto.d.ts +22 -7
  252. package/dist/solver-types/swe-rebench-v2-auto.js +45 -20
  253. package/dist/solver-types/swe-rebench-v2-auto.js.map +1 -1
  254. package/dist/solver-types/swe-rebench-v2.d.ts +13 -2
  255. package/dist/solver-types/swe-rebench-v2.js +233 -94
  256. package/dist/solver-types/swe-rebench-v2.js.map +1 -1
  257. package/dist/solvernets/daemon-init.d.ts +10 -2
  258. package/dist/solvernets/daemon-init.js +22 -2
  259. package/dist/solvernets/daemon-init.js.map +1 -1
  260. package/dist/solvernets/launched-record-dispatcher.js +35 -7
  261. package/dist/solvernets/launched-record-dispatcher.js.map +1 -1
  262. package/dist/solvernets/store.d.ts +5 -0
  263. package/dist/solvernets/store.js +1 -0
  264. package/dist/solvernets/store.js.map +1 -1
  265. package/dist/store/store.d.ts +15 -0
  266. package/dist/store/store.js +118 -3
  267. package/dist/store/store.js.map +1 -1
  268. package/dist/tasks/sources.d.ts +18 -1
  269. package/dist/tasks/sources.js +33 -5
  270. package/dist/tasks/sources.js.map +1 -1
  271. package/dist/tx-retry.d.ts +151 -19
  272. package/dist/tx-retry.js +286 -32
  273. package/dist/tx-retry.js.map +1 -1
  274. package/dist/types/payloads/prediction-apy-v0.d.ts +5 -5
  275. package/dist/types/payloads/prediction-v0.d.ts +5 -5
  276. package/dist/types/task-document.d.ts +392 -0
  277. package/dist/types/task-document.js +10 -0
  278. package/dist/types/task-document.js.map +1 -1
  279. package/dist/types/task.d.ts +28 -0
  280. package/dist/util/extract-tx-hash.d.ts +14 -0
  281. package/dist/util/extract-tx-hash.js +19 -0
  282. package/dist/util/extract-tx-hash.js.map +1 -0
  283. package/dist/vendor/@jinn-network/sdk/dist/contracts.js +1 -1
  284. package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.d.ts +3 -0
  285. package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.js +1 -0
  286. package/package.json +29 -12
  287. package/dist/dashboard/assets/index-DOlzFN8a.css +0 -32
  288. package/dist/dashboard/assets/index-NkZ7CTAT.js +0 -140
package/CHANGELOG.md CHANGED
@@ -2,6 +2,39 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ### Embedded agent surface hidden by default (issue #326)
6
+
7
+ - **The embedded Claude agent chat surface no longer renders in the operator
8
+ app by default.** The right-rail agent panel (running mode) and the
9
+ "Ask Claude" panel (onboarding) are hidden. The 2026-05-19 v0.1.6 dogfood
10
+ found the surface isn't robust enough for first-time operators — it is the
11
+ only daemon-side surface that strictly requires Claude auth, and its
12
+ action-authority / plugin-scope shape is still in design (#177 / #178).
13
+ - **Feature flag: `JINN_ENABLE_EMBEDDED_AGENT`.** Set
14
+ `JINN_ENABLE_EMBEDDED_AGENT=1` (also accepts `true`) to re-enable the
15
+ surface for development. Default is off. When off, the daemon does not
16
+ mount the `/api/agent/ws` bridge and the SPA renders no agent panel; when
17
+ on, the dev-time path works end-to-end as before. (Issue #367: the SPA now
18
+ reads this flag through the injected `window.__JINN_FEATURES__`, the same
19
+ channel as the plug-in builder UI flag — no behaviour change for operators.)
20
+ - **Claude-Code-as-a-solver-harness is unaffected.** Operators can still pick
21
+ Claude Code as their SolverNet harness — that path is independent of the
22
+ embedded chat surface and its WebSocket bridge.
23
+
24
+ ### Operator app
25
+
26
+ - **Plug-in builder UI surfaces hidden by default (issue #327).** The `/build`
27
+ route and the Build top-tab no longer appear in the operator app. Hitting
28
+ `/build` by direct URL redirects to `/overview`. The plug-in substrate stays
29
+ fully live — `jinn solver-plugins publish` / `revoke`, the Ponder indexer,
30
+ the Discovery API endpoints, and the `client/docs/build/` tree are
31
+ unchanged, so direct-CLI builders following the docs are not blocked. The
32
+ surfaces are gated to keep the operator-app first-run UX focused; they will
33
+ be re-promoted once that UX is solid and plug-in indexing is end-to-end
34
+ populated. Set `JINN_ENABLE_PLUGIN_BUILDER_UI=1` on the daemon to re-enable
35
+ the full builder surface for development and design work — the daemon injects
36
+ the flag into the SPA via `window.__JINN_FEATURES__`.
37
+
5
38
  ### SWE-rebench v2 admission
6
39
 
7
40
  - **Admission semantics bumped from `'2'` → `'3'`.** Operators running the
@@ -20,8 +20,13 @@
20
20
  },
21
21
  "messenger": {
22
22
  "mode": "mock",
23
- "address": "0x30E2f1A5691a999053A54e8DAf9496CD7ccF2DFD",
24
- "owner": "0x34516dB851f03f8E14d0c1cD56200175e914cCf0"
23
+ "address": "0xd229A2C20333B747675090Ce38B8a1Fb2dafe6AC",
24
+ "owner": "0x15e78734481bD31F6e183dad05225505a45ACd07",
25
+ "previousAddress": "0x30E2f1A5691a999053A54e8DAf9496CD7ccF2DFD",
26
+ "rotatedAt": "2026-05-20T17:14:48.591Z",
27
+ "deployTxHash": "0x44c0fc6f92e1c8247304dceb195b8cfa1ae114a79e7a6ce1305e4305de45b9af",
28
+ "setMessengerTxHash": "0x13313c9cc29ae9d7ce1e13ca78472359fdb6213b5d1d936d73f89ca051867c00",
29
+ "rotationBlockNumber": 10886858
25
30
  },
26
31
  "handover": {
27
32
  "renounceAdmin": false
@@ -31,6 +36,20 @@
31
36
  "TimelockController": "0x5CE9c7E24f0509490a91a1cD285DDFF70A9C058D",
32
37
  "JinnGovernor": "0xbbc43A1B5AC699de09577dAE4A1007a3bA704D9E",
33
38
  "JinnDistributor": "0xaC9CD847660d05e77D82A3684aFC4EbFd94fBfe6",
34
- "Messenger": "0x30E2f1A5691a999053A54e8DAf9496CD7ccF2DFD"
35
- }
39
+ "Messenger": "0xd229A2C20333B747675090Ce38B8a1Fb2dafe6AC",
40
+ "MockMessenger": "0xd229A2C20333B747675090Ce38B8a1Fb2dafe6AC"
41
+ },
42
+ "rotations": [
43
+ {
44
+ "type": "mock-messenger",
45
+ "previousMessenger": "0x30E2f1A5691a999053A54e8DAf9496CD7ccF2DFD",
46
+ "newMessenger": "0xd229A2C20333B747675090Ce38B8a1Fb2dafe6AC",
47
+ "owner": "0x15e78734481bD31F6e183dad05225505a45ACd07",
48
+ "distributor": "0xaC9CD847660d05e77D82A3684aFC4EbFd94fBfe6",
49
+ "deployTxHash": "0x44c0fc6f92e1c8247304dceb195b8cfa1ae114a79e7a6ce1305e4305de45b9af",
50
+ "setMessengerTxHash": "0x13313c9cc29ae9d7ce1e13ca78472359fdb6213b5d1d936d73f89ca051867c00",
51
+ "blockNumber": 10886858,
52
+ "rotatedAt": "2026-05-20T17:14:48.591Z"
53
+ }
54
+ ]
36
55
  }
@@ -20,8 +20,13 @@
20
20
  },
21
21
  "messenger": {
22
22
  "mode": "mock",
23
- "address": "0x30E2f1A5691a999053A54e8DAf9496CD7ccF2DFD",
24
- "owner": "0x34516dB851f03f8E14d0c1cD56200175e914cCf0"
23
+ "address": "0xd229A2C20333B747675090Ce38B8a1Fb2dafe6AC",
24
+ "owner": "0x15e78734481bD31F6e183dad05225505a45ACd07",
25
+ "previousAddress": "0x30E2f1A5691a999053A54e8DAf9496CD7ccF2DFD",
26
+ "rotatedAt": "2026-05-20T17:14:48.591Z",
27
+ "deployTxHash": "0x44c0fc6f92e1c8247304dceb195b8cfa1ae114a79e7a6ce1305e4305de45b9af",
28
+ "setMessengerTxHash": "0x13313c9cc29ae9d7ce1e13ca78472359fdb6213b5d1d936d73f89ca051867c00",
29
+ "rotationBlockNumber": 10886858
25
30
  },
26
31
  "handover": {
27
32
  "renounceAdmin": false
@@ -31,6 +36,20 @@
31
36
  "TimelockController": "0x5CE9c7E24f0509490a91a1cD285DDFF70A9C058D",
32
37
  "JinnGovernor": "0xbbc43A1B5AC699de09577dAE4A1007a3bA704D9E",
33
38
  "JinnDistributor": "0xaC9CD847660d05e77D82A3684aFC4EbFd94fBfe6",
34
- "Messenger": "0x30E2f1A5691a999053A54e8DAf9496CD7ccF2DFD"
35
- }
39
+ "Messenger": "0xd229A2C20333B747675090Ce38B8a1Fb2dafe6AC",
40
+ "MockMessenger": "0xd229A2C20333B747675090Ce38B8a1Fb2dafe6AC"
41
+ },
42
+ "rotations": [
43
+ {
44
+ "type": "mock-messenger",
45
+ "previousMessenger": "0x30E2f1A5691a999053A54e8DAf9496CD7ccF2DFD",
46
+ "newMessenger": "0xd229A2C20333B747675090Ce38B8a1Fb2dafe6AC",
47
+ "owner": "0x15e78734481bD31F6e183dad05225505a45ACd07",
48
+ "distributor": "0xaC9CD847660d05e77D82A3684aFC4EbFd94fBfe6",
49
+ "deployTxHash": "0x44c0fc6f92e1c8247304dceb195b8cfa1ae114a79e7a6ce1305e4305de45b9af",
50
+ "setMessengerTxHash": "0x13313c9cc29ae9d7ce1e13ca78472359fdb6213b5d1d936d73f89ca051867c00",
51
+ "blockNumber": 10886858,
52
+ "rotatedAt": "2026-05-20T17:14:48.591Z"
53
+ }
54
+ ]
36
55
  }
@@ -2,11 +2,12 @@
2
2
  "network": "baseSepolia",
3
3
  "chainId": 84532,
4
4
  "deployer": "0x15e78734481bD31F6e183dad05225505a45ACd07",
5
- "deployedAt": "2026-04-29T11:37:34.801Z",
5
+ "deployedAt": "2026-05-20T15:23:10.000Z",
6
+ "deployBlock": 41761151,
7
+ "txHash": "0x97524384c024a2bcfe11b3699bad53e8533bc25f43e64101ce1e0e4170491f9b",
6
8
  "contracts": {
7
- "JinnClaimEmitter": "0xDB2f776D78d9aF12792C2C0f9875465eDaa859E7",
8
- "RestorationActivityCheckerV2": "0x0e1B5f264F4FAdcFAA950fb00c58d9A39C040f70",
9
- "JinnRouterV2": "0x13dae57a54A7DF862113BcA8Ee2fd3dEf6a6A94A",
9
+ "TaskClaimEmitter": "0xF60055534E377F4020eEA80356C0643E02f4f307",
10
+ "TaskActivityCheckerV3": "0x0e1B5f264F4FAdcFAA950fb00c58d9A39C040f70",
10
11
  "ServiceRegistry": "0x31D3202d8744B16A120117A053459DDFAE93c855"
11
12
  }
12
13
  }
@@ -33,6 +33,17 @@ export declare class MechAdapter implements ExecutionAdapter {
33
33
  private deliveryBlockCursor;
34
34
  private pendingEvaluations;
35
35
  private observedTasks;
36
+ /**
37
+ * Read-through cache for `restorationAnnouncementForTaskId` — the restoration
38
+ * task body looked up *while building an evaluation opportunity*. Kept
39
+ * SEPARATE from `observedTasks` (the `watchForTasks` discovery dedup set) on
40
+ * purpose: writing the restoration body into `observedTasks` made the
41
+ * TaskCreated scan skip that taskId as a *restoration* opportunity just
42
+ * because the daemon had built an *evaluation* opportunity for someone
43
+ * else's attempt on it. That blocked the creator's own daemon from claiming
44
+ * its own attempt on a multi-attempt (`maxClaims > 1`) task it posted.
45
+ */
46
+ private restorationBodyCache;
36
47
  private requestKinds;
37
48
  private claimedRestorationTaskIds;
38
49
  private evaluationOpportunities;
@@ -51,6 +62,9 @@ export declare class MechAdapter implements ExecutionAdapter {
51
62
  private persistPendingEvaluationSolutions;
52
63
  private rememberPendingEvaluationSolution;
53
64
  private forgetPendingEvaluationSolution;
65
+ private clearPendingDeliveryRecoveryState;
66
+ private recoveryDeliveryExpirySeconds;
67
+ private shouldSkipExpiredRecoveryDelivery;
54
68
  postTask(state: Task): Promise<PostedTask>;
55
69
  private signTaskDocument;
56
70
  private contractPolicyForTask;
@@ -58,6 +72,17 @@ export declare class MechAdapter implements ExecutionAdapter {
58
72
  private restorationAnnouncementForTaskId;
59
73
  private restorationAnnouncementFromDigest;
60
74
  private discoverSubgraphRestorationTasks;
75
+ /**
76
+ * Look up the Deliver-event envelope CID for a pending evaluation solution.
77
+ *
78
+ * Returns `null` when the Deliver event is not present in the configured
79
+ * lookback window. This is a terminal signal for the caller — re-running the
80
+ * same lookup later is deterministically futile when `solution.blockNumber`
81
+ * is set (toBlock is fixed at the SolutionDeliveryClaimed block), and is
82
+ * monotonically less likely to find the event when toBlock follows chain head
83
+ * (the window slides forward, away from any older Deliver event). Callers
84
+ * should prune the pending solution on `null` rather than retry — see #553.
85
+ */
61
86
  private deliveryEnvelopeCidForSolution;
62
87
  private evaluationAnnouncementForSolution;
63
88
  private retryPendingEvaluationSolutions;
@@ -74,8 +99,20 @@ export declare class MechAdapter implements ExecutionAdapter {
74
99
  }>;
75
100
  submitSolutionDelivery(requestId: RequestId, solutionDigest: Hex): Promise<void>;
76
101
  submitVerdictDelivery(requestId: RequestId, verdictDigest: Hex, verdictCode: VerdictCode): Promise<void>;
77
- private evidenceHashForDelivery;
102
+ private deliveryClaimForDelivery;
78
103
  private ensureDeliveryClaimed;
104
+ /**
105
+ * Paginate `getLogs` over `[deliveryBlockCursor+1, currentBlock]` chunked by
106
+ * `DEFAULT_ROUTER_LOG_CHUNK_BLOCKS` to honor RPC provider block-range limits
107
+ * (Tenderly base-sepolia caps at 100k; sepolia.base.org ~1k). Advances +
108
+ * persists `deliveryBlockCursor` per chunk so a mid-scan RPC failure on a
109
+ * later chunk does not strand the cursor at the pre-poll value (#552).
110
+ *
111
+ * Yields each chunk's decoded Deliver entries so the consumer can process
112
+ * them with the live "current block" context (needed for the recovery-
113
+ * delivery timestamp cache).
114
+ */
115
+ private scanDeliveryLogChunks;
79
116
  watchForDeliveries(): AsyncIterable<DeliveredResult>;
80
117
  stop(): Promise<void>;
81
118
  }