@jinn-network/client 0.1.6 → 0.1.7-canary.8d94ba3f

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 +467 -4
  36. package/dist/api/gather-status.js.map +1 -1
  37. package/dist/api/hermes-doctor-endpoint.d.ts +117 -0
  38. package/dist/api/hermes-doctor-endpoint.js +229 -23
  39. package/dist/api/hermes-doctor-endpoint.js.map +1 -1
  40. package/dist/api/launcher-status.d.ts +21 -16
  41. package/dist/api/launcher-status.js +2 -1
  42. package/dist/api/launcher-status.js.map +1 -1
  43. package/dist/api/portfolio-v0-build.d.ts +10 -0
  44. package/dist/api/portfolio-v0-build.js +24 -5
  45. package/dist/api/portfolio-v0-build.js.map +1 -1
  46. package/dist/api/prediction-v1-build.d.ts +10 -0
  47. package/dist/api/prediction-v1-build.js +7 -1
  48. package/dist/api/prediction-v1-build.js.map +1 -1
  49. package/dist/api/server.d.ts +31 -1
  50. package/dist/api/server.js +68 -1
  51. package/dist/api/server.js.map +1 -1
  52. package/dist/api/setup-endpoints.d.ts +16 -0
  53. package/dist/api/setup-endpoints.js +78 -4
  54. package/dist/api/setup-endpoints.js.map +1 -1
  55. package/dist/api/setup-retry-endpoint.d.ts +19 -0
  56. package/dist/api/setup-retry-endpoint.js +32 -0
  57. package/dist/api/setup-retry-endpoint.js.map +1 -0
  58. package/dist/api/solvernets-endpoints.d.ts +8 -0
  59. package/dist/api/solvernets-endpoints.js +71 -43
  60. package/dist/api/solvernets-endpoints.js.map +1 -1
  61. package/dist/api/status-build.d.ts +78 -0
  62. package/dist/api/status-build.js +74 -18
  63. package/dist/api/status-build.js.map +1 -1
  64. package/dist/api/task-run-routing.d.ts +7 -0
  65. package/dist/api/task-run-routing.js +12 -0
  66. package/dist/api/task-run-routing.js.map +1 -0
  67. package/dist/api/task-runs-build.d.ts +21 -0
  68. package/dist/api/task-runs-build.js +14 -1
  69. package/dist/api/task-runs-build.js.map +1 -1
  70. package/dist/build-info.json +4 -4
  71. package/dist/build-meta.json +1 -1
  72. package/dist/chain-read-errors.d.ts +10 -0
  73. package/dist/chain-read-errors.js +15 -0
  74. package/dist/chain-read-errors.js.map +1 -1
  75. package/dist/cli/commands/auth.js +1 -1
  76. package/dist/cli/commands/auth.js.map +1 -1
  77. package/dist/cli/commands/create.js +3 -2
  78. package/dist/cli/commands/create.js.map +1 -1
  79. package/dist/cli/commands/doctor.d.ts +2 -0
  80. package/dist/cli/commands/doctor.js +2 -0
  81. package/dist/cli/commands/doctor.js.map +1 -1
  82. package/dist/cli/commands/rewards.js +11 -7
  83. package/dist/cli/commands/rewards.js.map +1 -1
  84. package/dist/cli/commands/solver-nets.js +24 -9
  85. package/dist/cli/commands/solver-nets.js.map +1 -1
  86. package/dist/cli/commands/status.js +1 -1
  87. package/dist/cli/commands/status.js.map +1 -1
  88. package/dist/cli/commands/tasks.js +86 -9
  89. package/dist/cli/commands/tasks.js.map +1 -1
  90. package/dist/cli/commands/update.d.ts +10 -0
  91. package/dist/cli/commands/update.js +36 -0
  92. package/dist/cli/commands/update.js.map +1 -1
  93. package/dist/cli/introspection-context.js +5 -0
  94. package/dist/cli/introspection-context.js.map +1 -1
  95. package/dist/cli/task-native-readiness.d.ts +3 -1
  96. package/dist/cli/task-native-readiness.js +28 -6
  97. package/dist/cli/task-native-readiness.js.map +1 -1
  98. package/dist/config.d.ts +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-DMm7Y4f7.css +32 -0
  123. package/dist/dashboard/assets/index-Dt1RV0Ee.js +330 -0
  124. package/dist/dashboard/index.html +2 -2
  125. package/dist/discovery/factory.d.ts +17 -5
  126. package/dist/discovery/factory.js +46 -18
  127. package/dist/discovery/factory.js.map +1 -1
  128. package/dist/discovery/http.js +142 -3
  129. package/dist/discovery/http.js.map +1 -1
  130. package/dist/discovery/onchain.d.ts +5 -0
  131. package/dist/discovery/onchain.js +407 -15
  132. package/dist/discovery/onchain.js.map +1 -1
  133. package/dist/discovery/types.d.ts +45 -1
  134. package/dist/discovery/types.js +8 -10
  135. package/dist/discovery/types.js.map +1 -1
  136. package/dist/discovery/with-fallback.d.ts +7 -0
  137. package/dist/discovery/with-fallback.js +10 -0
  138. package/dist/discovery/with-fallback.js.map +1 -1
  139. package/dist/earning/bootstrap.d.ts +92 -1
  140. package/dist/earning/bootstrap.js +203 -63
  141. package/dist/earning/bootstrap.js.map +1 -1
  142. package/dist/earning/contracts.d.ts +14 -0
  143. package/dist/earning/contracts.js +17 -5
  144. package/dist/earning/contracts.js.map +1 -1
  145. package/dist/earning/funding-plan.js +27 -18
  146. package/dist/earning/funding-plan.js.map +1 -1
  147. package/dist/earning/jinn-rewards.d.ts +46 -0
  148. package/dist/earning/jinn-rewards.js +32 -0
  149. package/dist/earning/jinn-rewards.js.map +1 -1
  150. package/dist/earning/safe-adapter.d.ts +2 -0
  151. package/dist/earning/safe-adapter.js +26 -12
  152. package/dist/earning/safe-adapter.js.map +1 -1
  153. package/dist/earning/store.d.ts +8 -0
  154. package/dist/earning/store.js.map +1 -1
  155. package/dist/earning/testnet-setup-migration.d.ts +12 -0
  156. package/dist/earning/testnet-setup-migration.js +27 -1
  157. package/dist/earning/testnet-setup-migration.js.map +1 -1
  158. package/dist/earning/types.d.ts +15 -0
  159. package/dist/erc8004/reputation.d.ts +8 -0
  160. package/dist/erc8004/reputation.js +22 -3
  161. package/dist/erc8004/reputation.js.map +1 -1
  162. package/dist/harnesses/cost-estimates.d.ts +145 -0
  163. package/dist/harnesses/cost-estimates.js +297 -0
  164. package/dist/harnesses/cost-estimates.js.map +1 -0
  165. package/dist/harnesses/engine/engine.d.ts +72 -0
  166. package/dist/harnesses/engine/engine.js +105 -8
  167. package/dist/harnesses/engine/engine.js.map +1 -1
  168. package/dist/harnesses/engine/persistence.d.ts +51 -1
  169. package/dist/harnesses/engine/persistence.js +118 -5
  170. package/dist/harnesses/engine/persistence.js.map +1 -1
  171. package/dist/harnesses/engine/work-dir-reaper.d.ts +65 -0
  172. package/dist/harnesses/engine/work-dir-reaper.js +100 -0
  173. package/dist/harnesses/engine/work-dir-reaper.js.map +1 -0
  174. package/dist/harnesses/impls/hermes-agent/adapter.js +40 -0
  175. package/dist/harnesses/impls/hermes-agent/adapter.js.map +1 -1
  176. package/dist/harnesses/impls/hermes-agent/bootstrap.d.ts +20 -0
  177. package/dist/harnesses/impls/hermes-agent/bootstrap.js +40 -6
  178. package/dist/harnesses/impls/hermes-agent/bootstrap.js.map +1 -1
  179. package/dist/harnesses/impls/hermes-agent/harness.d.ts +59 -1
  180. package/dist/harnesses/impls/hermes-agent/harness.js +104 -0
  181. package/dist/harnesses/impls/hermes-agent/harness.js.map +1 -1
  182. package/dist/harnesses/impls/index.d.ts +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
@@ -10,8 +10,8 @@
10
10
  href="https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@400;500;600&display=swap"
11
11
  rel="stylesheet"
12
12
  />
13
- <script type="module" crossorigin src="/assets/index-NkZ7CTAT.js"></script>
14
- <link rel="stylesheet" crossorigin href="/assets/index-DOlzFN8a.css">
13
+ <script type="module" crossorigin src="/assets/index-Dt1RV0Ee.js"></script>
14
+ <link rel="stylesheet" crossorigin href="/assets/index-DMm7Y4f7.css">
15
15
  </head>
16
16
  <body>
17
17
  <div id="root"></div>
@@ -1,9 +1,18 @@
1
1
  /**
2
2
  * createDiscoveryAPI factory — builds a DiscoveryAPI from the daemon config.
3
3
  *
4
- * Selects the primary implementation per config.discovery.mode, always builds
5
- * an OnchainDiscoveryAPI floor, and returns a withFallback composition when
6
- * fallbackToOnchain is true (the default).
4
+ * Selects the primary implementation per config.discovery.mode, builds an
5
+ * OnchainDiscoveryAPI floor *only* when `fallbackToOnchain` is explicitly
6
+ * `true`, and returns a withFallback composition in that case.
7
+ *
8
+ * `fallbackToOnchain` defaults to `false` (since the 2026-05-23 substrate
9
+ * incident): silent fall-through to direct `eth_getLogs` masks indexer
10
+ * outages and turns every daemon into its own indexer, which storms shared
11
+ * RPC quota. Operators opt in explicitly when they want the fallback —
12
+ * usually only when they self-host an alternate RPC with generous getLogs
13
+ * quotas. When `false`, an indexer outage propagates as
14
+ * DiscoveryUnavailableError so the operator-app surfaces it and the daemon
15
+ * stops claiming until the indexer is back.
7
16
  *
8
17
  * Spec: spec/2026-05-11-discovery-api-and-shared-indexer.md §9.1–9.2.
9
18
  */
@@ -43,7 +52,10 @@ export interface DiscoveryConfig {
43
52
  * - 'http' → HttpDiscoveryAPI backed by a Ponder GraphQL endpoint (280n.4)
44
53
  * - 'embedded' → not yet shipped (280n.5); throws at boot
45
54
  *
46
- * When `fallbackToOnchain` is true (default), the primary is wrapped in
47
- * withFallback(primary, floor). When false, the primary is returned directly.
55
+ * When `fallbackToOnchain` is true (explicit opt-in), the primary is wrapped
56
+ * in withFallback(primary, floor) and a boot warning is logged so operators
57
+ * can see they're in fall-through mode. The default is false: the primary is
58
+ * returned directly and an indexer outage surfaces as
59
+ * DiscoveryUnavailableError.
48
60
  */
49
61
  export declare function createDiscoveryAPI(config: DiscoveryConfig, deps: DiscoveryFactoryDeps): DiscoveryAPI;
@@ -1,9 +1,18 @@
1
1
  /**
2
2
  * createDiscoveryAPI factory — builds a DiscoveryAPI from the daemon config.
3
3
  *
4
- * Selects the primary implementation per config.discovery.mode, always builds
5
- * an OnchainDiscoveryAPI floor, and returns a withFallback composition when
6
- * fallbackToOnchain is true (the default).
4
+ * Selects the primary implementation per config.discovery.mode, builds an
5
+ * OnchainDiscoveryAPI floor *only* when `fallbackToOnchain` is explicitly
6
+ * `true`, and returns a withFallback composition in that case.
7
+ *
8
+ * `fallbackToOnchain` defaults to `false` (since the 2026-05-23 substrate
9
+ * incident): silent fall-through to direct `eth_getLogs` masks indexer
10
+ * outages and turns every daemon into its own indexer, which storms shared
11
+ * RPC quota. Operators opt in explicitly when they want the fallback —
12
+ * usually only when they self-host an alternate RPC with generous getLogs
13
+ * quotas. When `false`, an indexer outage propagates as
14
+ * DiscoveryUnavailableError so the operator-app surfaces it and the daemon
15
+ * stops claiming until the indexer is back.
7
16
  *
8
17
  * Spec: spec/2026-05-11-discovery-api-and-shared-indexer.md §9.1–9.2.
9
18
  */
@@ -19,26 +28,29 @@ import { createHttpDiscoveryAPI } from './http.js';
19
28
  * - 'http' → HttpDiscoveryAPI backed by a Ponder GraphQL endpoint (280n.4)
20
29
  * - 'embedded' → not yet shipped (280n.5); throws at boot
21
30
  *
22
- * When `fallbackToOnchain` is true (default), the primary is wrapped in
23
- * withFallback(primary, floor). When false, the primary is returned directly.
31
+ * When `fallbackToOnchain` is true (explicit opt-in), the primary is wrapped
32
+ * in withFallback(primary, floor) and a boot warning is logged so operators
33
+ * can see they're in fall-through mode. The default is false: the primary is
34
+ * returned directly and an indexer outage surfaces as
35
+ * DiscoveryUnavailableError.
24
36
  */
25
37
  export function createDiscoveryAPI(config, deps) {
26
38
  const mode = config.mode ?? 'onchain';
27
- const fallbackToOnchain = config.fallbackToOnchain ?? true;
28
- // Always build the on-chain floor it's the always-live fallback.
29
- const floor = createOnchainDiscoveryAPI({
30
- rpcUrl: deps.rpcUrl,
31
- chainId: deps.chainId,
32
- routerAddress: deps.routerAddress,
33
- identityRegistryAddress: deps.identityRegistryAddress,
34
- safeAddress: deps.safeAddress,
35
- mechAddress: deps.mechAddress,
36
- taskDiscoveryFromBlock: deps.taskDiscoveryFromBlock,
37
- });
39
+ // Default-off (since the 2026-05-23 substrate incident): silent fall-through
40
+ // to on-chain getLogs is opt-in. See docstring above.
41
+ const fallbackToOnchain = config.fallbackToOnchain ?? false;
38
42
  if (mode === 'onchain') {
39
- // For the floor-only mode, return directly — withFallback(floor, floor)
43
+ // For the floor-only mode, return the floor alone — withFallback(floor, floor)
40
44
  // would be pointless overhead.
41
- return floor;
45
+ return createOnchainDiscoveryAPI({
46
+ rpcUrl: deps.rpcUrl,
47
+ chainId: deps.chainId,
48
+ routerAddress: deps.routerAddress,
49
+ identityRegistryAddress: deps.identityRegistryAddress,
50
+ safeAddress: deps.safeAddress,
51
+ mechAddress: deps.mechAddress,
52
+ taskDiscoveryFromBlock: deps.taskDiscoveryFromBlock,
53
+ });
42
54
  }
43
55
  if (mode === 'http') {
44
56
  if (!config.url) {
@@ -55,6 +67,22 @@ export function createDiscoveryAPI(config, deps) {
55
67
  if (!fallbackToOnchain) {
56
68
  return primary;
57
69
  }
70
+ // Operator explicitly opted in to silent fall-through. Log once at boot
71
+ // so the choice is visible — without this, operators can't tell from
72
+ // logs whether they're in indexer-only or indexer-with-fallback mode.
73
+ console.warn('[discovery] fallbackToOnchain=true — daemon will silently fall through to ' +
74
+ 'eth_getLogs when the indexer is unreachable. This trades observability of ' +
75
+ 'indexer outages for availability. Only recommended when you self-host an RPC ' +
76
+ 'with generous getLogs quotas.');
77
+ const floor = createOnchainDiscoveryAPI({
78
+ rpcUrl: deps.rpcUrl,
79
+ chainId: deps.chainId,
80
+ routerAddress: deps.routerAddress,
81
+ identityRegistryAddress: deps.identityRegistryAddress,
82
+ safeAddress: deps.safeAddress,
83
+ mechAddress: deps.mechAddress,
84
+ taskDiscoveryFromBlock: deps.taskDiscoveryFromBlock,
85
+ });
58
86
  return withFallback(primary, floor);
59
87
  }
60
88
  // mode === 'embedded'
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/discovery/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAmCnD,iFAAiF;AAEjF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAuB,EACvB,IAA0B;IAE1B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC;IACtC,MAAM,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC;IAE3D,mEAAmE;IACnE,MAAM,KAAK,GAAG,yBAAyB,CAAC;QACtC,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;QACrD,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;KACpD,CAAC,CAAC;IAEH,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,wEAAwE;QACxE,+BAA+B;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAChB,qEAAqE;YACrE,kEAAkE;YAClE,2FAA2F;YAC3F,MAAM,IAAI,KAAK,CACb,0DAA0D;gBAC1D,0EAA0E,CAC3E,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,sBAAsB,CAAC;YACrC,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,OAAO,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,sBAAsB;IACtB,sEAAsE;IACtE,MAAM,IAAI,KAAK,CACb,kDAAkD;QAClD,wDAAwD;QACxD,4CAA4C,CAC7C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/discovery/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAmCnD,iFAAiF;AAEjF;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAuB,EACvB,IAA0B;IAE1B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC;IACtC,6EAA6E;IAC7E,sDAAsD;IACtD,MAAM,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,KAAK,CAAC;IAE5D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,+EAA+E;QAC/E,+BAA+B;QAC/B,OAAO,yBAAyB,CAAC;YAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;SACpD,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAChB,qEAAqE;YACrE,kEAAkE;YAClE,2FAA2F;YAC3F,MAAM,IAAI,KAAK,CACb,0DAA0D;gBAC1D,0EAA0E,CAC3E,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,sBAAsB,CAAC;YACrC,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,wEAAwE;QACxE,qEAAqE;QACrE,sEAAsE;QACtE,OAAO,CAAC,IAAI,CACV,4EAA4E;YAC5E,4EAA4E;YAC5E,+EAA+E;YAC/E,+BAA+B,CAChC,CAAC;QAEF,MAAM,KAAK,GAAG,yBAAyB,CAAC;YACtC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;SACpD,CAAC,CAAC;QAEH,OAAO,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,sBAAsB;IACtB,sEAAsE;IACtE,MAAM,IAAI,KAAK,CACb,kDAAkD;QAClD,wDAAwD;QACxD,4CAA4C,CAC7C,CAAC;AACJ,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { DiscoveryUnavailableError } from './types.js';
2
+ import { manifestDigestForCid } from '../adapters/mech/digest.js';
2
3
  // ── GraphQL query strings ─────────────────────────────────────────────────────
3
4
  /**
4
5
  * Claimable tasks query. Fetches task rows in pages; attempt counts are
@@ -59,6 +60,14 @@ query Tasks(
59
60
  * Client-side grouping by taskId produces per-task counts.
60
61
  */
61
62
  const ATTEMPTS_PAGE_LIMIT = 1000;
63
+ /**
64
+ * Hard cap on `OPERATOR_COUNT_TASKS_QUERY` pages (leg 1 of the operator-count
65
+ * query). At `ATTEMPTS_PAGE_LIMIT` rows per page that is 50_000 tasks — far
66
+ * beyond any realistic SolverNet — and bounds the scan so the dashboard's
67
+ * recurring poll cannot trigger an unbounded walk. On a SolverNet past the cap
68
+ * the resulting count is a lower bound; see `getSolverNetOperatorCount`.
69
+ */
70
+ const MAX_OPERATOR_COUNT_TASK_PAGES = 50;
62
71
  const ATTEMPTS_FOR_TASKS_QUERY = `
63
72
  query AttemptsForTasks($taskIds: [String!]!, $chainId: Int!, $limit: Int!, $after: String) {
64
73
  attempts(
@@ -116,6 +125,62 @@ query GetLifecycleStatus($manifestCid: String!) {
116
125
  }
117
126
  }
118
127
  `;
128
+ /**
129
+ * Per-SolverNet attempt fetch for the operator-count query. Pages through every
130
+ * `attempt` row whose `taskId` belongs to a task with the given
131
+ * `manifestDigest`. The caller de-duplicates `operator` client-side to derive
132
+ * the distinct-operator count.
133
+ *
134
+ * There is no single GraphQL field joining `attempt` to `task.manifestDigest`,
135
+ * so this runs in two legs: first `OPERATOR_COUNT_TASKS_QUERY` (task ids for
136
+ * the digest), then `OPERATOR_COUNT_ATTEMPTS_QUERY` batched over those ids via
137
+ * the `_in` operator — the same pattern `findClaimableTasks` already uses.
138
+ *
139
+ * The task query intentionally does NOT filter `finalized` / `refunded`: the
140
+ * on-chain backing reads raw `TaskAttemptCreated` logs and cannot see lifecycle
141
+ * state, so adding the filter here would make HTTP and on-chain disagree. The
142
+ * count is an *ever-participated* signal across all task lifecycle states — see
143
+ * `DiscoveryAPI.getSolverNetOperatorCount`.
144
+ */
145
+ const OPERATOR_COUNT_TASKS_QUERY = `
146
+ query OperatorCountTasks($manifestDigest: String!, $limit: Int!, $after: String) {
147
+ tasks(
148
+ where: { manifestDigest: $manifestDigest },
149
+ limit: $limit,
150
+ after: $after,
151
+ orderBy: "id",
152
+ orderDirection: "asc"
153
+ ) {
154
+ items {
155
+ id
156
+ chainId
157
+ }
158
+ pageInfo {
159
+ hasNextPage
160
+ endCursor
161
+ }
162
+ }
163
+ }
164
+ `;
165
+ const OPERATOR_COUNT_ATTEMPTS_QUERY = `
166
+ query OperatorCountAttempts($taskIds: [String!]!, $chainId: Int!, $limit: Int!, $after: String) {
167
+ attempts(
168
+ where: { taskId_in: $taskIds, chainId: $chainId },
169
+ limit: $limit,
170
+ after: $after,
171
+ orderBy: "attemptIndex",
172
+ orderDirection: "asc"
173
+ ) {
174
+ items {
175
+ operator
176
+ }
177
+ pageInfo {
178
+ hasNextPage
179
+ endCursor
180
+ }
181
+ }
182
+ }
183
+ `;
119
184
  const QUERY_ENVELOPES_QUERY = `
120
185
  query QueryEnvelopes($where: envelopeFilter, $limit: Int!) {
121
186
  envelopes(
@@ -285,9 +350,16 @@ export function createHttpDiscoveryAPI(opts) {
285
350
  const operatorLower = args.operatorAddress.toLowerCase();
286
351
  const now = args.nowSeconds ?? Math.floor(Date.now() / 1000);
287
352
  const seen = new Set();
288
- const out = [];
353
+ // Per-CID buckets. We must not flatten + global-sort by taskId across CIDs
354
+ // — that lets a backlogged SolverNet monopolise the per-tick yield in the
355
+ // adapter (which yields one announcement per cycle), starving siblings.
356
+ // Each bucket holds its CID's candidates in lowest-taskId-first order (the
357
+ // TASKS_QUERY already orders ASC by id, so the page-merged list is also
358
+ // ASC). After collection we interleave the buckets round-robin.
359
+ const buckets = [];
289
360
  for (const cid of cids) {
290
361
  const manifestDigest = keccak256(toBytes(cid));
362
+ const bucket = [];
291
363
  for (let page = 0; page < maxPages; page++) {
292
364
  const data = await postGql(gqlUrl, fetchImpl, TASKS_QUERY, { manifestDigest, limit: pageSize, offset: page * pageSize });
293
365
  const rows = data.tasks?.items ?? [];
@@ -366,14 +438,32 @@ export function createHttpDiscoveryAPI(opts) {
366
438
  candidate.claimWindowEnd = claimWindowEnd;
367
439
  if (maxClaims !== undefined)
368
440
  candidate.maxClaims = maxClaims;
369
- out.push(candidate);
441
+ bucket.push(candidate);
370
442
  }
371
443
  const hasNextPage = data.tasks?.pageInfo?.hasNextPage ?? (rows.length === pageSize);
372
444
  if (!hasNextPage)
373
445
  break;
374
446
  }
447
+ // Each bucket is already ASC by taskId (the GraphQL TASKS_QUERY orders
448
+ // by id ASC and pages are appended in page order), but sort defensively
449
+ // so the round-robin always pulls the lowest unclaimed id from each CID
450
+ // even if upstream ordering ever changes.
451
+ bucket.sort((a, b) => Number(BigInt(a.taskId) - BigInt(b.taskId)));
452
+ buckets.push(bucket);
453
+ }
454
+ // Round-robin interleave across CID buckets: pull index 0 from each CID
455
+ // first, then index 1 from each, etc. This guarantees that a backlog on
456
+ // one SolverNet cannot starve a sibling SolverNet that also has claimable
457
+ // work, because `discoverSubgraphRestorationTasks` in adapter.ts yields
458
+ // only one announcement per poll cycle.
459
+ const out = [];
460
+ const maxBucketLen = buckets.reduce((m, b) => Math.max(m, b.length), 0);
461
+ for (let i = 0; i < maxBucketLen; i++) {
462
+ for (const bucket of buckets) {
463
+ if (i < bucket.length)
464
+ out.push(bucket[i]);
465
+ }
375
466
  }
376
- out.sort((a, b) => Number(BigInt(a.taskId) - BigInt(b.taskId)));
377
467
  return out;
378
468
  }
379
469
  // ── listLaunchedSolverNets ────────────────────────────────────────────────
@@ -425,6 +515,54 @@ export function createHttpDiscoveryAPI(opts) {
425
515
  : '0x'),
426
516
  };
427
517
  }
518
+ // ── getSolverNetOperatorCount ─────────────────────────────────────────────
519
+ async function getSolverNetOperatorCount(manifestCid) {
520
+ await ensureReady();
521
+ // The indexer keys tasks by `manifestDigest = keccak256(toBytes(cid))`,
522
+ // not by the cid string. Compute the digest so the task filter matches.
523
+ const manifestDigest = manifestDigestForCid(manifestCid).toLowerCase();
524
+ // Leg 1: page every task id for this SolverNet. Single-chain query, so all
525
+ // rows share a chainId — captured for the leg-2 attempt filter. Capped at
526
+ // MAX_OPERATOR_COUNT_TASK_PAGES so the dashboard's recurring poll cannot
527
+ // trigger an unbounded scan.
528
+ const taskIds = [];
529
+ let chainId;
530
+ let taskCursor = null;
531
+ for (let page = 0; page < MAX_OPERATOR_COUNT_TASK_PAGES; page++) {
532
+ const data = await postGql(gqlUrl, fetchImpl, OPERATOR_COUNT_TASKS_QUERY, { manifestDigest, limit: ATTEMPTS_PAGE_LIMIT, after: taskCursor });
533
+ const items = data.tasks?.items ?? [];
534
+ for (const row of items) {
535
+ taskIds.push(row.id);
536
+ if (chainId === undefined)
537
+ chainId = row.chainId;
538
+ }
539
+ const pageInfo = data.tasks?.pageInfo;
540
+ if (!pageInfo?.hasNextPage || !pageInfo.endCursor)
541
+ break;
542
+ taskCursor = pageInfo.endCursor;
543
+ }
544
+ // No tasks → no attempts → no participating operators.
545
+ if (taskIds.length === 0 || chainId === undefined)
546
+ return 0;
547
+ // Leg 2: page every attempt for those task ids, collecting distinct
548
+ // operators. Batched over the id set via the `_in` operator (Ponder caps
549
+ // plural-query limit at 1000, hence ATTEMPTS_PAGE_LIMIT paging).
550
+ const operators = new Set();
551
+ let attemptCursor = null;
552
+ for (;;) {
553
+ const data = await postGql(gqlUrl, fetchImpl, OPERATOR_COUNT_ATTEMPTS_QUERY, { taskIds, chainId, limit: ATTEMPTS_PAGE_LIMIT, after: attemptCursor });
554
+ for (const row of data.attempts?.items ?? []) {
555
+ if (typeof row.operator === 'string' && row.operator.length > 0) {
556
+ operators.add(row.operator.toLowerCase());
557
+ }
558
+ }
559
+ const pageInfo = data.attempts?.pageInfo;
560
+ if (!pageInfo?.hasNextPage || !pageInfo.endCursor)
561
+ break;
562
+ attemptCursor = pageInfo.endCursor;
563
+ }
564
+ return operators.size;
565
+ }
428
566
  // ── queryEnvelopes ────────────────────────────────────────────────────────
429
567
  async function queryEnvelopes(query) {
430
568
  await ensureReady();
@@ -538,6 +676,7 @@ export function createHttpDiscoveryAPI(opts) {
538
676
  findClaimableTasks,
539
677
  listLaunchedSolverNets,
540
678
  getLifecycleStatus,
679
+ getSolverNetOperatorCount,
541
680
  queryEnvelopes,
542
681
  listPluginPublications,
543
682
  getPluginScores,
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/discovery/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/discovery/http.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,11 @@
16
16
  * from IdentityRegistry (key prefix `solvernet-manifest:`) and fold via the
17
17
  * existing `resolveMostRecentWins` helper.
18
18
  *
19
+ * - `listPluginPublications` / `listBuilderArtifacts` read `MetadataSet` events
20
+ * (key prefix `plugin:`), decode the on-chain PLUGIN_PAYLOAD_TUPLE /
21
+ * REVOCATION_PAYLOAD_TUPLE, and fold most-recent-wins so the operator app's
22
+ * /build registry panels keep rendering during an indexer outage (gh#290).
23
+ *
19
24
  * - `queryEnvelopes` delegates to the existing `runOnchainCorpusQuery`.
20
25
  *
21
26
  * - `cursorCache` is an optional injection point: when provided, the start