@jinn-network/client 0.1.7 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/README.md +67 -1
  2. package/dist/adapters/mech/adapter.d.ts +19 -1
  3. package/dist/adapters/mech/adapter.js +130 -14
  4. package/dist/adapters/mech/adapter.js.map +1 -1
  5. package/dist/adapters/mech/contracts.d.ts +22 -1
  6. package/dist/adapters/mech/contracts.js +34 -24
  7. package/dist/adapters/mech/contracts.js.map +1 -1
  8. package/dist/adapters/mech/safe.d.ts +1 -1
  9. package/dist/adapters/mech/safe.js +5 -3
  10. package/dist/adapters/mech/safe.js.map +1 -1
  11. package/dist/adapters/mech/types.d.ts +6 -1
  12. package/dist/adapters/mech/types.js.map +1 -1
  13. package/dist/agent/operator-claude.js +8 -0
  14. package/dist/agent/operator-claude.js.map +1 -1
  15. package/dist/api/activity-events-endpoint.d.ts +14 -0
  16. package/dist/api/activity-events-endpoint.js +59 -0
  17. package/dist/api/activity-events-endpoint.js.map +1 -0
  18. package/dist/api/bootstrap-endpoint.d.ts +1 -2
  19. package/dist/api/bootstrap-endpoint.js +42 -24
  20. package/dist/api/bootstrap-endpoint.js.map +1 -1
  21. package/dist/api/codex-doctor-endpoint.d.ts +22 -5
  22. package/dist/api/codex-doctor-endpoint.js +136 -17
  23. package/dist/api/codex-doctor-endpoint.js.map +1 -1
  24. package/dist/api/debug-report-endpoint.d.ts +27 -0
  25. package/dist/api/debug-report-endpoint.js +157 -0
  26. package/dist/api/debug-report-endpoint.js.map +1 -0
  27. package/dist/api/gather-status.d.ts +33 -0
  28. package/dist/api/gather-status.js +211 -26
  29. package/dist/api/gather-status.js.map +1 -1
  30. package/dist/api/hermes-doctor-endpoint.d.ts +15 -7
  31. package/dist/api/hermes-doctor-endpoint.js +56 -19
  32. package/dist/api/hermes-doctor-endpoint.js.map +1 -1
  33. package/dist/api/launcher-status.d.ts +4 -2
  34. package/dist/api/launcher-status.js +11 -10
  35. package/dist/api/launcher-status.js.map +1 -1
  36. package/dist/api/launcher-tasks.d.ts +1 -1
  37. package/dist/api/launcher-tasks.js +12 -8
  38. package/dist/api/launcher-tasks.js.map +1 -1
  39. package/dist/api/operator-artifacts-endpoint.js +73 -6
  40. package/dist/api/operator-artifacts-endpoint.js.map +1 -1
  41. package/dist/api/portfolio-v0-build.d.ts +7 -1
  42. package/dist/api/portfolio-v0-build.js +6 -2
  43. package/dist/api/portfolio-v0-build.js.map +1 -1
  44. package/dist/api/prediction-v1-build.d.ts +6 -0
  45. package/dist/api/prediction-v1-build.js +3 -1
  46. package/dist/api/prediction-v1-build.js.map +1 -1
  47. package/dist/api/server.d.ts +17 -0
  48. package/dist/api/server.js +40 -1
  49. package/dist/api/server.js.map +1 -1
  50. package/dist/api/setup-endpoints.d.ts +0 -9
  51. package/dist/api/setup-endpoints.js +11 -153
  52. package/dist/api/setup-endpoints.js.map +1 -1
  53. package/dist/api/solvernets-endpoints.js +30 -63
  54. package/dist/api/solvernets-endpoints.js.map +1 -1
  55. package/dist/api/status-build.d.ts +115 -2
  56. package/dist/api/status-build.js +47 -11
  57. package/dist/api/status-build.js.map +1 -1
  58. package/dist/api/status-harness-rollup.d.ts +35 -0
  59. package/dist/api/status-harness-rollup.js +45 -0
  60. package/dist/api/status-harness-rollup.js.map +1 -0
  61. package/dist/api/task-runs-build.d.ts +8 -0
  62. package/dist/api/task-runs-build.js +5 -1
  63. package/dist/api/task-runs-build.js.map +1 -1
  64. package/dist/build-info.json +4 -4
  65. package/dist/build-meta.json +1 -1
  66. package/dist/captures/live-publisher.js +24 -4
  67. package/dist/captures/live-publisher.js.map +1 -1
  68. package/dist/captures/publish.d.ts +1 -1
  69. package/dist/chain-read-errors.d.ts +12 -0
  70. package/dist/chain-read-errors.js +26 -1
  71. package/dist/chain-read-errors.js.map +1 -1
  72. package/dist/cli/commands/codedigest-revert-check.d.ts +33 -0
  73. package/dist/cli/commands/codedigest-revert-check.js +249 -0
  74. package/dist/cli/commands/codedigest-revert-check.js.map +1 -0
  75. package/dist/cli/commands/solver-nets.d.ts +1 -0
  76. package/dist/cli/commands/solver-nets.js +177 -22
  77. package/dist/cli/commands/solver-nets.js.map +1 -1
  78. package/dist/cli/commands/solver-plugins-block.d.ts +33 -0
  79. package/dist/cli/commands/solver-plugins-block.js +118 -0
  80. package/dist/cli/commands/solver-plugins-block.js.map +1 -0
  81. package/dist/cli/commands/solver-plugins-feedback.d.ts +72 -0
  82. package/dist/cli/commands/solver-plugins-feedback.js +262 -0
  83. package/dist/cli/commands/solver-plugins-feedback.js.map +1 -0
  84. package/dist/cli/commands/solver-plugins-read.d.ts +54 -0
  85. package/dist/cli/commands/solver-plugins-read.js +259 -0
  86. package/dist/cli/commands/solver-plugins-read.js.map +1 -0
  87. package/dist/cli/commands/solver-plugins.d.ts +35 -0
  88. package/dist/cli/commands/solver-plugins.js +399 -2
  89. package/dist/cli/commands/solver-plugins.js.map +1 -1
  90. package/dist/cli/commands/tasks.js +15 -2
  91. package/dist/cli/commands/tasks.js.map +1 -1
  92. package/dist/cli/index.js +2 -0
  93. package/dist/cli/index.js.map +1 -1
  94. package/dist/cli/task-native-readiness.d.ts +7 -0
  95. package/dist/cli/task-native-readiness.js +7 -5
  96. package/dist/cli/task-native-readiness.js.map +1 -1
  97. package/dist/config.d.ts +183 -232
  98. package/dist/config.js +232 -107
  99. package/dist/config.js.map +1 -1
  100. package/dist/daemon/ai-units-gate.d.ts +54 -0
  101. package/dist/daemon/ai-units-gate.js +82 -0
  102. package/dist/daemon/ai-units-gate.js.map +1 -0
  103. package/dist/daemon/creator.js +13 -0
  104. package/dist/daemon/creator.js.map +1 -1
  105. package/dist/daemon/daemon.d.ts +10 -0
  106. package/dist/daemon/daemon.js +203 -30
  107. package/dist/daemon/daemon.js.map +1 -1
  108. package/dist/daemon/gate-logger.d.ts +9 -0
  109. package/dist/daemon/gate-logger.js +2 -0
  110. package/dist/daemon/gate-logger.js.map +1 -0
  111. package/dist/daemon/jinn-claim-loop.js +22 -4
  112. package/dist/daemon/jinn-claim-loop.js.map +1 -1
  113. package/dist/daemon/readiness-gate.d.ts +1 -4
  114. package/dist/daemon/readiness-gate.js.map +1 -1
  115. package/dist/daemon/spend-cap-gate.d.ts +40 -0
  116. package/dist/daemon/spend-cap-gate.js +46 -0
  117. package/dist/daemon/spend-cap-gate.js.map +1 -0
  118. package/dist/dashboard/assets/index-CzKxvMcU.css +32 -0
  119. package/dist/dashboard/assets/index-yVemxHot.js +351 -0
  120. package/dist/dashboard/index.html +2 -2
  121. package/dist/discovery/http.js +328 -1
  122. package/dist/discovery/http.js.map +1 -1
  123. package/dist/discovery/onchain.js +42 -4
  124. package/dist/discovery/onchain.js.map +1 -1
  125. package/dist/discovery/types.d.ts +129 -0
  126. package/dist/discovery/types.js.map +1 -1
  127. package/dist/discovery/with-fallback.js +27 -0
  128. package/dist/discovery/with-fallback.js.map +1 -1
  129. package/dist/earning/bootstrap.d.ts +8 -3
  130. package/dist/earning/bootstrap.js +36 -13
  131. package/dist/earning/bootstrap.js.map +1 -1
  132. package/dist/earning/safe-adapter.js +23 -11
  133. package/dist/earning/safe-adapter.js.map +1 -1
  134. package/dist/earning/types.d.ts +6 -6
  135. package/dist/earning/viem-clients.d.ts +11 -4
  136. package/dist/earning/viem-clients.js +14 -5
  137. package/dist/earning/viem-clients.js.map +1 -1
  138. package/dist/erc8004/identity.d.ts +19 -3
  139. package/dist/erc8004/identity.js +38 -11
  140. package/dist/erc8004/identity.js.map +1 -1
  141. package/dist/erc8004/index.d.ts +1 -1
  142. package/dist/erc8004/index.js.map +1 -1
  143. package/dist/events/types.d.ts +2 -2
  144. package/dist/harnesses/cost-estimates.d.ts +10 -31
  145. package/dist/harnesses/cost-estimates.js +11 -43
  146. package/dist/harnesses/cost-estimates.js.map +1 -1
  147. package/dist/harnesses/engine/engine.d.ts +28 -4
  148. package/dist/harnesses/engine/engine.js +103 -17
  149. package/dist/harnesses/engine/engine.js.map +1 -1
  150. package/dist/harnesses/engine/persistence.d.ts +21 -4
  151. package/dist/harnesses/engine/persistence.js +43 -6
  152. package/dist/harnesses/engine/persistence.js.map +1 -1
  153. package/dist/harnesses/engine/state.d.ts +9 -0
  154. package/dist/harnesses/engine/state.js +23 -10
  155. package/dist/harnesses/engine/state.js.map +1 -1
  156. package/dist/harnesses/impls/hermes-agent/bootstrap.js +4 -2
  157. package/dist/harnesses/impls/hermes-agent/bootstrap.js.map +1 -1
  158. package/dist/harnesses/impls/hermes-agent/config-builder.d.ts +1 -1
  159. package/dist/harnesses/impls/hermes-agent/config-builder.js +4 -2
  160. package/dist/harnesses/impls/hermes-agent/config-builder.js.map +1 -1
  161. package/dist/harnesses/impls/hermes-agent/harness.d.ts +14 -0
  162. package/dist/harnesses/impls/hermes-agent/harness.js +16 -2
  163. package/dist/harnesses/impls/hermes-agent/harness.js.map +1 -1
  164. package/dist/harnesses/impls/hermes-agent/prompt.d.ts +6 -6
  165. package/dist/harnesses/impls/hermes-agent/prompt.js +6 -6
  166. package/dist/harnesses/impls/learner/adapters/claude-code.d.ts +17 -0
  167. package/dist/harnesses/impls/learner/adapters/claude-code.js +113 -14
  168. package/dist/harnesses/impls/learner/adapters/claude-code.js.map +1 -1
  169. package/dist/harnesses/impls/learner/adapters/codex-code.d.ts +9 -0
  170. package/dist/harnesses/impls/learner/adapters/codex-code.js +30 -8
  171. package/dist/harnesses/impls/learner/adapters/codex-code.js.map +1 -1
  172. package/dist/harnesses/impls/learner/harness.d.ts +24 -0
  173. package/dist/harnesses/impls/learner/harness.js +27 -3
  174. package/dist/harnesses/impls/learner/harness.js.map +1 -1
  175. package/dist/harnesses/impls/learner/harvest.d.ts +1 -1
  176. package/dist/harnesses/impls/learner/harvest.js +23 -5
  177. package/dist/harnesses/impls/learner/harvest.js.map +1 -1
  178. package/dist/harnesses/impls/learner/restoration-patch.d.ts +2 -2
  179. package/dist/harnesses/impls/learner/restoration-patch.js +25 -6
  180. package/dist/harnesses/impls/learner/restoration-patch.js.map +1 -1
  181. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js +21 -1
  182. package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js.map +1 -1
  183. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.d.ts +74 -5
  184. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js +103 -32
  185. package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js.map +1 -1
  186. package/dist/harnesses/readiness-registry.d.ts +7 -0
  187. package/dist/harnesses/readiness-registry.js +9 -0
  188. package/dist/harnesses/readiness-registry.js.map +1 -1
  189. package/dist/learner/revert-decision.d.ts +59 -0
  190. package/dist/learner/revert-decision.js +53 -0
  191. package/dist/learner/revert-decision.js.map +1 -0
  192. package/dist/learner/revert-stats.d.ts +24 -0
  193. package/dist/learner/revert-stats.js +44 -0
  194. package/dist/learner/revert-stats.js.map +1 -0
  195. package/dist/main.js +177 -104
  196. package/dist/main.js.map +1 -1
  197. package/dist/mcp/get-codedigest-reward.d.ts +13 -0
  198. package/dist/mcp/get-codedigest-reward.js +23 -0
  199. package/dist/mcp/get-codedigest-reward.js.map +1 -0
  200. package/dist/mcp/server.js +23 -0
  201. package/dist/mcp/server.js.map +1 -1
  202. package/dist/observability/debug-report-assemble.d.ts +43 -0
  203. package/dist/observability/debug-report-assemble.js +80 -0
  204. package/dist/observability/debug-report-assemble.js.map +1 -0
  205. package/dist/observability/emit-event.d.ts +9 -2
  206. package/dist/observability/emit-event.js +36 -2
  207. package/dist/observability/emit-event.js.map +1 -1
  208. package/dist/observability/file-logger.d.ts +69 -0
  209. package/dist/observability/file-logger.js +177 -0
  210. package/dist/observability/file-logger.js.map +1 -0
  211. package/dist/observability/redact-secrets.d.ts +65 -0
  212. package/dist/observability/redact-secrets.js +300 -0
  213. package/dist/observability/redact-secrets.js.map +1 -0
  214. package/dist/observability/tar.d.ts +30 -0
  215. package/dist/observability/tar.js +102 -0
  216. package/dist/observability/tar.js.map +1 -0
  217. package/dist/plugins/learner/skills/learn/consolidator-prompt.md +18 -1
  218. package/dist/plugins/learner/skills/learn/promoter-prompt.md +72 -1
  219. package/dist/preflight/pidfile-liveness.d.ts +44 -0
  220. package/dist/preflight/pidfile-liveness.js +103 -0
  221. package/dist/preflight/pidfile-liveness.js.map +1 -0
  222. package/dist/preflight/rpc-network.d.ts +40 -0
  223. package/dist/preflight/rpc-network.js +67 -1
  224. package/dist/preflight/rpc-network.js.map +1 -1
  225. package/dist/rpc/transport.d.ts +109 -0
  226. package/dist/rpc/transport.js +220 -0
  227. package/dist/rpc/transport.js.map +1 -0
  228. package/dist/scripts/donation-consumption-acceptance.js +7 -28
  229. package/dist/scripts/donation-consumption-acceptance.js.map +1 -1
  230. package/dist/scripts/swe-rebench-v2-pytest-missing.json +16 -0
  231. package/dist/solver-nets/prediction-operator-ux.d.ts +1 -2
  232. package/dist/solver-nets/prediction-operator-ux.js +56 -53
  233. package/dist/solver-nets/prediction-operator-ux.js.map +1 -1
  234. package/dist/solver-nets/registry.d.ts +19 -1
  235. package/dist/solver-nets/registry.js +37 -24
  236. package/dist/solver-nets/registry.js.map +1 -1
  237. package/dist/solver-types/_swe-rebench-v2-pool.d.ts +9 -2
  238. package/dist/solver-types/_swe-rebench-v2-pool.js +15 -20
  239. package/dist/solver-types/_swe-rebench-v2-pool.js.map +1 -1
  240. package/dist/solver-types/_swe-rebench-v2-state.d.ts +15 -0
  241. package/dist/solver-types/_swe-rebench-v2-state.js +19 -0
  242. package/dist/solver-types/_swe-rebench-v2-state.js.map +1 -1
  243. package/dist/solver-types/_swe-rebench-v2-validated-pool.d.ts +116 -2
  244. package/dist/solver-types/_swe-rebench-v2-validated-pool.js +296 -21
  245. package/dist/solver-types/_swe-rebench-v2-validated-pool.js.map +1 -1
  246. package/dist/solver-types/swe-rebench-v2-auto.d.ts +20 -11
  247. package/dist/solver-types/swe-rebench-v2-auto.js +64 -19
  248. package/dist/solver-types/swe-rebench-v2-auto.js.map +1 -1
  249. package/dist/solver-types/swe-rebench-v2.d.ts +8 -2
  250. package/dist/solver-types/swe-rebench-v2.js +127 -11
  251. package/dist/solver-types/swe-rebench-v2.js.map +1 -1
  252. package/dist/solvernets/daemon-init.d.ts +1 -1
  253. package/dist/solvernets/daemon-init.js +19 -4
  254. package/dist/solvernets/daemon-init.js.map +1 -1
  255. package/dist/solvernets/launched-record-dispatcher.d.ts +4 -0
  256. package/dist/solvernets/launched-record-dispatcher.js +10 -4
  257. package/dist/solvernets/launched-record-dispatcher.js.map +1 -1
  258. package/dist/solvernets/registry-client-erc8004.js +11 -0
  259. package/dist/solvernets/registry-client-erc8004.js.map +1 -1
  260. package/dist/solvernets/store.d.ts +2 -2
  261. package/dist/spend/ai-units-config.d.ts +39 -0
  262. package/dist/spend/ai-units-config.js +28 -0
  263. package/dist/spend/ai-units-config.js.map +1 -0
  264. package/dist/spend/ai-units.d.ts +89 -0
  265. package/dist/spend/ai-units.js +156 -0
  266. package/dist/spend/ai-units.js.map +1 -0
  267. package/dist/spend/cost-surface-status.d.ts +12 -0
  268. package/dist/spend/cost-surface-status.js +24 -0
  269. package/dist/spend/cost-surface-status.js.map +1 -0
  270. package/dist/spend/credential.d.ts +39 -0
  271. package/dist/spend/credential.js +71 -0
  272. package/dist/spend/credential.js.map +1 -0
  273. package/dist/spend/daemon-config.d.ts +13 -0
  274. package/dist/spend/daemon-config.js +24 -0
  275. package/dist/spend/daemon-config.js.map +1 -0
  276. package/dist/spend/pricing.d.ts +16 -0
  277. package/dist/spend/pricing.js +26 -0
  278. package/dist/spend/pricing.js.map +1 -0
  279. package/dist/spend/record.d.ts +13 -0
  280. package/dist/spend/record.js +36 -0
  281. package/dist/spend/record.js.map +1 -0
  282. package/dist/spend/usage.d.ts +27 -0
  283. package/dist/spend/usage.js +113 -0
  284. package/dist/spend/usage.js.map +1 -0
  285. package/dist/store/store.d.ts +101 -0
  286. package/dist/store/store.js +304 -4
  287. package/dist/store/store.js.map +1 -1
  288. package/dist/trajectory/transcript-parsers/codex-session.d.ts +12 -6
  289. package/dist/trajectory/transcript-parsers/codex-session.js +114 -13
  290. package/dist/trajectory/transcript-parsers/codex-session.js.map +1 -1
  291. package/dist/trajectory/transcript-parsers/types.d.ts +8 -8
  292. package/dist/trajectory/transcript-session-dirs.d.ts +18 -0
  293. package/dist/trajectory/transcript-session-dirs.js +85 -0
  294. package/dist/trajectory/transcript-session-dirs.js.map +1 -0
  295. package/dist/trajectory/transcript-watcher.d.ts +20 -1
  296. package/dist/trajectory/transcript-watcher.js +108 -32
  297. package/dist/trajectory/transcript-watcher.js.map +1 -1
  298. package/dist/tx-retry.d.ts +25 -0
  299. package/dist/tx-retry.js +95 -7
  300. package/dist/tx-retry.js.map +1 -1
  301. package/dist/types/payloads/portfolio-v0.d.ts +3 -3
  302. package/dist/types/payloads/prediction-apy-v0.d.ts +3 -3
  303. package/dist/types/payloads/prediction-v0.d.ts +12 -12
  304. package/package.json +11 -3
  305. package/plugins/learner/skills/learn/consolidator-prompt.md +18 -1
  306. package/plugins/learner/skills/learn/promoter-prompt.md +72 -1
  307. package/plugins/swe-rebench-v2-diffmin/README.md +10 -9
  308. package/plugins/swe-rebench-v2-diffmin/jinn.plugin.json +1 -1
  309. package/plugins/swe-rebench-v2-diffmin/skills/diffmin/SKILL.md +15 -10
  310. package/plugins/swe-rebench-v2-diffmin/skills/test-map/SKILL.md +10 -12
  311. package/plugins/swe-rebench-v2-runtime/.claude-plugin/plugin.json +1 -1
  312. package/plugins/swe-rebench-v2-runtime/.codex-plugin/plugin.json +3 -3
  313. package/plugins/swe-rebench-v2-runtime/README.md +6 -6
  314. package/plugins/swe-rebench-v2-runtime/jinn.plugin.json +2 -3
  315. package/plugins/swe-rebench-v2-runtime/skills/task/SKILL.md +81 -0
  316. package/dist/dashboard/assets/index-BUlE8F3Y.js +0 -330
  317. package/dist/dashboard/assets/index-blqc7eqq.css +0 -32
  318. package/plugins/swe-rebench-v2-runtime/skills/orient/SKILL.md +0 -29
  319. package/plugins/swe-rebench-v2-runtime/skills/plan/SKILL.md +0 -53
@@ -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-BUlE8F3Y.js"></script>
14
- <link rel="stylesheet" crossorigin href="/assets/index-blqc7eqq.css">
13
+ <script type="module" crossorigin src="/assets/index-yVemxHot.js"></script>
14
+ <link rel="stylesheet" crossorigin href="/assets/index-CzKxvMcU.css">
15
15
  </head>
16
16
  <body>
17
17
  <div id="root"></div>
@@ -181,6 +181,71 @@ query OperatorCountAttempts($taskIds: [String!]!, $chainId: Int!, $limit: Int!,
181
181
  }
182
182
  }
183
183
  `;
184
+ /**
185
+ * Paginated read of verdictEnvelopeMeta rows for swe-rebench-v2 successes,
186
+ * scoped to a single SolverNet via `solverNetManifestCid` so multi-SolverNet
187
+ * operators with overlapping instance_id pools don't cross-tenant over-count
188
+ * (#669 Finding 2).
189
+ *
190
+ * Ponder's auto-GraphQL does not expose GROUP BY / count aggregations, so
191
+ * getInstanceSuccessCounts pages this query with the `after` cursor and
192
+ * groups client-side. Capped at 1000 per page (Ponder's upper bound on
193
+ * plural-query `limit`).
194
+ */
195
+ const INSTANCE_SUCCESS_COUNTS_QUERY = `
196
+ query InstanceSuccessCounts($solverNetManifestCid: String!, $limit: Int!, $after: String) {
197
+ verdictEnvelopeMetas(
198
+ where: {
199
+ solverNetManifestCid: $solverNetManifestCid,
200
+ solverType_starts_with: "swe-rebench-v2",
201
+ actualPassed: true,
202
+ enrichmentStatus: "ok",
203
+ instanceId_not: ""
204
+ },
205
+ limit: $limit,
206
+ after: $after,
207
+ orderBy: "enrichedAtBlock",
208
+ orderDirection: "asc"
209
+ ) {
210
+ items {
211
+ requestId
212
+ chainId
213
+ instanceId
214
+ }
215
+ pageInfo {
216
+ hasNextPage
217
+ endCursor
218
+ }
219
+ }
220
+ }
221
+ `;
222
+ /**
223
+ * Leg 1 of getInstanceClaimCounts (#802): page every task id + maxClaims for a
224
+ * SolverNet's manifestDigest. Leg 2 reuses ATTEMPTS_FOR_TASKS_QUERY to count
225
+ * attempts (= consumed slots) per task. Same two-leg shape as
226
+ * getSolverNetOperatorCount; the only delta is selecting maxClaims here.
227
+ */
228
+ const CLAIM_COUNT_TASKS_QUERY = `
229
+ query ClaimCountTasks($manifestDigest: String!, $limit: Int!, $after: String) {
230
+ tasks(
231
+ where: { manifestDigest: $manifestDigest },
232
+ limit: $limit,
233
+ after: $after,
234
+ orderBy: "id",
235
+ orderDirection: "asc"
236
+ ) {
237
+ items {
238
+ id
239
+ maxClaims
240
+ chainId
241
+ }
242
+ pageInfo {
243
+ hasNextPage
244
+ endCursor
245
+ }
246
+ }
247
+ }
248
+ `;
184
249
  const QUERY_ENVELOPES_QUERY = `
185
250
  query QueryEnvelopes($where: envelopeFilter, $limit: Int!) {
186
251
  envelopes(
@@ -199,6 +264,61 @@ query QueryEnvelopes($where: envelopeFilter, $limit: Int!) {
199
264
  }
200
265
  }
201
266
  `;
267
+ // ── Per-codeDigest reward aggregates (#764) ──────────────────────────────────
268
+ const CODEDIGEST_ATTEMPTS_QUERY = `
269
+ query CodeDigestAttempts($codeDigests: [String!]!, $limit: Int!, $after: String) {
270
+ attemptEnvelopeMetas(
271
+ where: { codeDigest_in: $codeDigests, mode: "train", enrichmentStatus: "ok" },
272
+ limit: $limit,
273
+ after: $after,
274
+ orderBy: "enrichedAtBlock",
275
+ orderDirection: "desc"
276
+ ) {
277
+ items { requestId chainId codeDigest }
278
+ pageInfo { hasNextPage endCursor }
279
+ }
280
+ }
281
+ `;
282
+ // The verdict leg is the only place per-SolverNet scoping is queryable: of the
283
+ // tables this method touches, only `verdictEnvelopeMeta` carries
284
+ // `solverNetManifestCid` (ponder.schema.ts:657 — written by the same IPFS
285
+ // task-body enrichment that resolves instanceId). `attemptEnvelopeMeta` has no
286
+ // SolverNet column. Aggregation (step 4) only counts requests that HAVE a
287
+ // verdict, so filtering the verdict leg correctly scopes the whole aggregate to
288
+ // the given SolverNet. The filter is emitted only when scoping is requested —
289
+ // Ponder treats a `null` `where` value as "IS NULL", not "skip the filter", so
290
+ // an unscoped call must omit the field entirely (#764).
291
+ function codeDigestVerdictsQuery(scopeBySolverNet) {
292
+ return `
293
+ query CodeDigestVerdicts($requestIds: [String!]!, $limit: Int!, $after: String${scopeBySolverNet ? ', $solverNetManifestCid: String!' : ''}) {
294
+ verdictEnvelopeMetas(
295
+ where: { requestId_in: $requestIds${scopeBySolverNet ? ', solverNetManifestCid: $solverNetManifestCid' : ''} },
296
+ limit: $limit,
297
+ after: $after,
298
+ orderBy: "requestId",
299
+ orderDirection: "asc"
300
+ ) {
301
+ items { requestId chainId actualPassed actualScore }
302
+ pageInfo { hasNextPage endCursor }
303
+ }
304
+ }
305
+ `;
306
+ }
307
+ // Optional operator scoping: restrict attempts to those the operator claimed.
308
+ const CODEDIGEST_OPERATOR_ATTEMPTS_QUERY = `
309
+ query CodeDigestOperatorAttempts($requestIds: [String!]!, $operator: String!, $limit: Int!, $after: String) {
310
+ attempts(
311
+ where: { requestId_in: $requestIds, operator: $operator },
312
+ limit: $limit,
313
+ after: $after,
314
+ orderBy: "createdAtBlock",
315
+ orderDirection: "asc"
316
+ ) {
317
+ items { requestId chainId }
318
+ pageInfo { hasNextPage endCursor }
319
+ }
320
+ }
321
+ `;
202
322
  // ── Plug-in publication queries (attd) ───────────────────────────────────────
203
323
  const LIST_PLUGIN_PUBLICATIONS_QUERY = `
204
324
  query ListPluginPublications($where: pluginPublicationFilter, $limit: Int!) {
@@ -448,7 +568,10 @@ export function createHttpDiscoveryAPI(opts) {
448
568
  // by id ASC and pages are appended in page order), but sort defensively
449
569
  // so the round-robin always pulls the lowest unclaimed id from each CID
450
570
  // even if upstream ordering ever changes.
451
- bucket.sort((a, b) => Number(BigInt(a.taskId) - BigInt(b.taskId)));
571
+ bucket.sort((a, b) => {
572
+ const diff = BigInt(a.taskId) - BigInt(b.taskId);
573
+ return diff < 0n ? -1 : diff > 0n ? 1 : 0;
574
+ });
452
575
  buckets.push(bucket);
453
576
  }
454
577
  // Round-robin interleave across CID buckets: pull index 0 from each CID
@@ -672,6 +795,207 @@ export function createHttpDiscoveryAPI(opts) {
672
795
  });
673
796
  return plugins;
674
797
  }
798
+ // ── getInstanceSuccessCounts (#669) ────────────────────────────────────────
799
+ // Scoped to a single SolverNet via `verdictEnvelopeMeta.solverNetManifestCid`
800
+ // — the indexer enrichment writes this column from the task body's top-level
801
+ // `solverNetManifestCid` (task.v1 schema). Prevents multi-SolverNet operators
802
+ // with overlapping instance_id pools from cross-tenant over-counting
803
+ // (#669 Finding 2).
804
+ async function getInstanceSuccessCounts(args) {
805
+ await ensureReady();
806
+ // Defensive cap: 10 × 1000 rows. Expected ~125 successes per SolverNet
807
+ // (25 candidates × N_target_successes), so two orders of magnitude head.
808
+ const MAX_PAGES = 10;
809
+ const PAGE_LIMIT = 1000;
810
+ const counts = new Map();
811
+ const seen = new Set(); // (requestId|chainId) dedupe across pages
812
+ let cursor = null;
813
+ for (let page = 0; page < MAX_PAGES; page++) {
814
+ const data = await postGql(gqlUrl, fetchImpl, INSTANCE_SUCCESS_COUNTS_QUERY, { solverNetManifestCid: args.manifestCid, limit: PAGE_LIMIT, after: cursor });
815
+ const rows = data.verdictEnvelopeMetas?.items ?? [];
816
+ for (const row of rows) {
817
+ const key = `${row.requestId}|${row.chainId}`;
818
+ if (seen.has(key))
819
+ continue;
820
+ seen.add(key);
821
+ const id = row.instanceId;
822
+ if (!id)
823
+ continue;
824
+ counts.set(id, (counts.get(id) ?? 0) + 1);
825
+ }
826
+ const pageInfo = data.verdictEnvelopeMetas?.pageInfo;
827
+ if (!pageInfo?.hasNextPage || !pageInfo.endCursor)
828
+ break;
829
+ cursor = pageInfo.endCursor;
830
+ }
831
+ return counts;
832
+ }
833
+ async function getCodeDigestRewards(args) {
834
+ if (args.codeDigests.length === 0)
835
+ return [];
836
+ await ensureReady();
837
+ const MAX_PAGES = 20;
838
+ const PAGE_LIMIT = 1000;
839
+ // Per-digest recency cap (#764 C1). CODEDIGEST_ATTEMPTS_QUERY orders by
840
+ // enrichedAtBlock desc, so attempt rows arrive newest-first. Ponder's
841
+ // GraphQL `limit` is global across all requested codeDigests, so the window
842
+ // MUST be enforced client-side per-digest — we keep only the first `window`
843
+ // rows seen for each codeDigest (i.e. the most recent). When undefined, no
844
+ // cap is applied (behaviour identical to before this change).
845
+ const windowCap = typeof args.window === 'number' && Number.isFinite(args.window) && args.window > 0
846
+ ? Math.floor(args.window)
847
+ : undefined;
848
+ // 1) Pull train-mode attempt-meta rows for the requested codeDigests,
849
+ // capped to the most-recent `window` per codeDigest when set.
850
+ const requestKeyToDigest = new Map(); // "requestId|chainId" -> codeDigest
851
+ const keptPerDigest = new Map(); // codeDigest -> rows kept
852
+ let cursor = null;
853
+ for (let page = 0; page < MAX_PAGES; page++) {
854
+ const data = await postGql(gqlUrl, fetchImpl, CODEDIGEST_ATTEMPTS_QUERY, { codeDigests: args.codeDigests, limit: PAGE_LIMIT, after: cursor });
855
+ for (const row of data.attemptEnvelopeMetas?.items ?? []) {
856
+ if (windowCap !== undefined) {
857
+ const kept = keptPerDigest.get(row.codeDigest) ?? 0;
858
+ if (kept >= windowCap)
859
+ continue; // already have the window's worth for this digest
860
+ keptPerDigest.set(row.codeDigest, kept + 1);
861
+ }
862
+ requestKeyToDigest.set(`${row.requestId}|${row.chainId}`, row.codeDigest);
863
+ }
864
+ const pi = data.attemptEnvelopeMetas?.pageInfo;
865
+ if (!pi?.hasNextPage || !pi.endCursor)
866
+ break;
867
+ // Short-circuit pagination once every requested digest has filled its
868
+ // window — no need to keep paging history we'll discard.
869
+ if (windowCap !== undefined &&
870
+ args.codeDigests.every((d) => (keptPerDigest.get(d) ?? 0) >= windowCap))
871
+ break;
872
+ cursor = pi.endCursor;
873
+ }
874
+ if (requestKeyToDigest.size === 0)
875
+ return [];
876
+ const requestIds = [...new Set([...requestKeyToDigest.keys()].map((k) => k.split('|')[0]))];
877
+ // 2) Optional operator scoping: keep only requests the operator claimed.
878
+ let allowedKeys = null;
879
+ if (args.operator) {
880
+ allowedKeys = new Set();
881
+ cursor = null;
882
+ for (let page = 0; page < MAX_PAGES; page++) {
883
+ const data = await postGql(gqlUrl, fetchImpl, CODEDIGEST_OPERATOR_ATTEMPTS_QUERY, { requestIds, operator: args.operator, limit: PAGE_LIMIT, after: cursor });
884
+ for (const row of data.attempts?.items ?? [])
885
+ allowedKeys.add(`${row.requestId}|${row.chainId}`);
886
+ const pi = data.attempts?.pageInfo;
887
+ if (!pi?.hasNextPage || !pi.endCursor)
888
+ break;
889
+ cursor = pi.endCursor;
890
+ }
891
+ }
892
+ // 3) Pull verdict-meta rows for those requestIds (actualPassed/actualScore).
893
+ // Optionally scope to a single SolverNet: verdictEnvelopeMeta is the only
894
+ // queryable table carrying solverNetManifestCid, and only requests with a
895
+ // verdict are aggregated (step 4), so filtering here scopes the aggregate.
896
+ const scopeBySolverNet = typeof args.solverNetManifestCid === 'string' && args.solverNetManifestCid.length > 0;
897
+ const verdictsQuery = codeDigestVerdictsQuery(scopeBySolverNet);
898
+ const verdictByKey = new Map();
899
+ cursor = null;
900
+ for (let page = 0; page < MAX_PAGES; page++) {
901
+ const variables = { requestIds, limit: PAGE_LIMIT, after: cursor };
902
+ if (scopeBySolverNet)
903
+ variables.solverNetManifestCid = args.solverNetManifestCid;
904
+ const data = await postGql(gqlUrl, fetchImpl, verdictsQuery, variables);
905
+ for (const row of data.verdictEnvelopeMetas?.items ?? []) {
906
+ const key = `${row.requestId}|${row.chainId}`;
907
+ const scoreNum = Number(row.actualScore);
908
+ verdictByKey.set(key, {
909
+ passed: Boolean(row.actualPassed),
910
+ score: Number.isFinite(scoreNum) && row.actualScore !== '' ? scoreNum : null,
911
+ });
912
+ }
913
+ const pi = data.verdictEnvelopeMetas?.pageInfo;
914
+ if (!pi?.hasNextPage || !pi.endCursor)
915
+ break;
916
+ cursor = pi.endCursor;
917
+ }
918
+ // 4) Aggregate per codeDigest (only requests that HAVE a verdict count).
919
+ const agg = new Map();
920
+ for (const [key, digest] of requestKeyToDigest) {
921
+ if (allowedKeys && !allowedKeys.has(key))
922
+ continue;
923
+ const v = verdictByKey.get(key);
924
+ if (!v)
925
+ continue; // no verdict yet — not a completed attempt
926
+ const cur = agg.get(digest) ?? { attempts: 0, passes: 0, scoreSum: 0, scoreN: 0 };
927
+ cur.attempts += 1;
928
+ if (v.passed)
929
+ cur.passes += 1;
930
+ if (v.score !== null) {
931
+ cur.scoreSum += v.score;
932
+ cur.scoreN += 1;
933
+ }
934
+ agg.set(digest, cur);
935
+ }
936
+ const rows = [];
937
+ for (const [codeDigest, a] of agg) {
938
+ rows.push({
939
+ codeDigest,
940
+ attempts: a.attempts,
941
+ passes: a.passes,
942
+ passRate: a.attempts > 0 ? a.passes / a.attempts : 0,
943
+ avgScore: a.scoreN > 0 ? a.scoreSum / a.scoreN : 0,
944
+ });
945
+ }
946
+ return rows;
947
+ }
948
+ // ── getInstanceClaimCounts (#802) ──────────────────────────────────────────
949
+ // Per-task consumed-vs-maxClaims for a SolverNet. Two legs, mirroring
950
+ // getSolverNetOperatorCount: leg 1 pages tasks (+ maxClaims) for the
951
+ // manifestDigest; leg 2 pages attempts (consumed slots) batched by taskId_in.
952
+ async function getInstanceClaimCounts(args) {
953
+ await ensureReady();
954
+ const manifestDigest = manifestDigestForCid(args.manifestCid).toLowerCase();
955
+ // Leg 1: task ids + maxClaims for this SolverNet (single-chain → shared chainId).
956
+ const maxClaimsByTaskId = new Map();
957
+ const taskIds = [];
958
+ let chainId;
959
+ let taskCursor = null;
960
+ for (let page = 0; page < MAX_OPERATOR_COUNT_TASK_PAGES; page++) {
961
+ const data = await postGql(gqlUrl, fetchImpl, CLAIM_COUNT_TASKS_QUERY, { manifestDigest, limit: ATTEMPTS_PAGE_LIMIT, after: taskCursor });
962
+ for (const row of data.tasks?.items ?? []) {
963
+ taskIds.push(row.id);
964
+ maxClaimsByTaskId.set(row.id, row.maxClaims);
965
+ if (chainId === undefined)
966
+ chainId = row.chainId;
967
+ }
968
+ const pageInfo = data.tasks?.pageInfo;
969
+ if (!pageInfo?.hasNextPage || !pageInfo.endCursor)
970
+ break;
971
+ taskCursor = pageInfo.endCursor;
972
+ }
973
+ if (taskIds.length === 0 || chainId === undefined) {
974
+ return new Map();
975
+ }
976
+ // Leg 2: count attempts per taskId (= consumed slots), batched by taskId_in.
977
+ const consumedByTaskId = new Map();
978
+ let attemptCursor = null;
979
+ for (;;) {
980
+ const data = await postGql(gqlUrl, fetchImpl, ATTEMPTS_FOR_TASKS_QUERY, { taskIds, chainId, limit: ATTEMPTS_PAGE_LIMIT, after: attemptCursor });
981
+ for (const a of data.attempts?.items ?? []) {
982
+ consumedByTaskId.set(a.taskId, (consumedByTaskId.get(a.taskId) ?? 0) + 1);
983
+ }
984
+ const pageInfo = data.attempts?.pageInfo;
985
+ if (!pageInfo?.hasNextPage || !pageInfo.endCursor)
986
+ break;
987
+ attemptCursor = pageInfo.endCursor;
988
+ }
989
+ const out = new Map();
990
+ for (const taskId of taskIds) {
991
+ out.set(taskId, {
992
+ taskId,
993
+ consumed: consumedByTaskId.get(taskId) ?? 0,
994
+ maxClaims: maxClaimsByTaskId.get(taskId) ?? 0,
995
+ });
996
+ }
997
+ return out;
998
+ }
675
999
  return {
676
1000
  findClaimableTasks,
677
1001
  listLaunchedSolverNets,
@@ -681,6 +1005,9 @@ export function createHttpDiscoveryAPI(opts) {
681
1005
  listPluginPublications,
682
1006
  getPluginScores,
683
1007
  listBuilderArtifacts,
1008
+ getInstanceSuccessCounts,
1009
+ getCodeDigestRewards,
1010
+ getInstanceClaimCounts,
684
1011
  };
685
1012
  }
686
1013
  //# sourceMappingURL=http.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/discovery/http.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,iFAAiF;AAEjF;;;;;;;;;;GAUG;AACH,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCnB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAEjC;;;;;;GAMG;AACH,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAEzC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;CAoBhC,CAAC;AAEF,6EAA6E;AAC7E,gFAAgF;AAChF,8EAA8E;AAC9E,6EAA6E;AAC7E,8EAA8E;AAC9E,mEAAmE;AAEnE,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;CAmB9B,CAAC;AAEF,MAAM,0BAA0B,GAAG;;;;;;;;;CASlC,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;CAmBlC,CAAC;AAEF,MAAM,6BAA6B,GAAG;;;;;;;;;;;;;;;;;;CAkBrC,CAAC;AAEF,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;CAiB7B,CAAC;AA4FF,gFAAgF;AAEhF,MAAM,8BAA8B,GAAG;;;;;;;;;;;;;;;;;;;;;;CAsBtC,CAAC;AAEF,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;CAgB/B,CAAC;AAsCF;;;;;;GAMG;AACH,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC,iFAAiF;AAEjF,SAAS,mBAAmB,CAAC,KAAyC;IACpE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACjF,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACxB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC;AAED,SAAS,KAAK,CAAC,KAAyB;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,OAAO,CACpB,GAAW,EACX,SAAuB,EACvB,KAAa,EACb,SAAkC;IAElC,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE;YAC9B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;SAC3C,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,yBAAyB,CAAC,iCAAiC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC3F,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,yBAAyB,CACjC,uBAAuB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAChE,CAAC;IACJ,CAAC;IAED,IAAI,IAAoB,CAAC;IACzB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAoB,CAAC;IACjD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,yBAAyB,CAAC,wCAAwC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAClG,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,IAAI,yBAAyB,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,IAAI,yBAAyB,CAAC,4CAA4C,CAAC,CAAC;IACpF,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAED,iFAAiF;AAEjF;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAA6B;IAClE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC;IAChF,kEAAkE;IAClE,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC;IACrF,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,IAAI,kBAAkB,CAAC;IAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC;IAErD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IAED,6EAA6E;IAC7E,6EAA6E;IAC7E,0EAA0E;IAC1E,6EAA6E;IAC7E,wEAAwE;IACxE,4EAA4E;IAC5E,IAAI,UAAU,GAAuD,IAAI,CAAC;IAE1E,KAAK,UAAU,WAAW;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,UAAU,IAAI,GAAG,GAAG,UAAU,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC;YACnD,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;gBACnB,MAAM,IAAI,yBAAyB,CAAC,sBAAsB,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;YACjF,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,GAAa,CAAC;QAClB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,UAAU,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,yBAAyB,CAAC,gCAAgC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC1F,CAAC;QACD,UAAU,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;QACzD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,yBAAyB,CAAC,sBAAsB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,6EAA6E;IAE7E,KAAK,UAAU,kBAAkB,CAAC,IAMjC;QACC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEjC,MAAM,WAAW,EAAE,CAAC;QAEpB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;QACjD,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAE/B,2EAA2E;QAC3E,0EAA0E;QAC1E,wEAAwE;QACxE,2EAA2E;QAC3E,wEAAwE;QACxE,gEAAgE;QAChE,MAAM,OAAO,GAA+B,EAAE,CAAC;QAE/C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/C,MAAM,MAAM,GAA6B,EAAE,CAAC;YAE5C,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;gBAC3C,MAAM,IAAI,GAAG,MAAM,OAAO,CACxB,MAAM,EACN,SAAS,EACT,WAAW,EACX,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAG,QAAQ,EAAE,CAC7D,CAAC;gBAEF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC;gBAErC,iEAAiE;gBACjE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;oBACpC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,OAAO,KAAK,CAAC;oBACnC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC;wBAAE,OAAO,KAAK,CAAC;oBAC1E,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;gBAEH,4DAA4D;gBAC5D,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAkB,CAAC;gBACvD,MAAM,4BAA4B,GAAG,IAAI,GAAG,EAAkB,CAAC;gBAE/D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,qEAAqE;oBACrE,qEAAqE;oBACrE,qEAAqE;oBACrE,oEAAoE;oBACpE,qEAAqE;oBACrE,kDAAkD;oBAClD,EAAE;oBACF,0DAA0D;oBAC1D,sEAAsE;oBACtE,iEAAiE;oBACjE,+DAA+D;oBAC/D,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAE3C,qEAAqE;oBACrE,yCAAyC;oBACzC,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBAEzC,IAAI,KAAK,GAAkB,IAAI,CAAC;oBAChC,sEAAsE;oBACtE,sEAAsE;oBACtE,eAAe;oBACf,KAAK,IAAI,YAAY,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC;wBAC7E,MAAM,OAAO,GAAiB,MAAM,OAAO,CACzC,MAAM,EACN,SAAS,EACT,wBAAwB,EACxB,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,CACrE,CAAC;wBACF,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;4BAC9C,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;4BAClF,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,aAAa,EAAE,CAAC;gCAC/C,4BAA4B,CAAC,GAAG,CAC9B,CAAC,CAAC,MAAM,EACR,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CACtD,CAAC;4BACJ,CAAC;wBACH,CAAC;wBACD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC;wBAC5C,IAAI,CAAC,QAAQ,EAAE,WAAW,IAAI,CAAC,QAAQ,CAAC,SAAS;4BAAE,MAAM;wBACzD,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC;oBAC7B,CAAC;gBACH,CAAC;gBAED,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;oBAC5B,MAAM,YAAY,GAAG,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;oBAC3D,MAAM,oBAAoB,GAAG,4BAA4B,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;oBAE3E,iDAAiD;oBACjD,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,IAAI,GAAG,CAAC,SAAS,GAAG,CAAC;wBACtE,CAAC,CAAC,GAAG,CAAC,SAAS;wBACf,CAAC,CAAC,SAAS,CAAC;oBACd,IAAI,SAAS,KAAK,SAAS,IAAI,YAAY,IAAI,SAAS;wBAAE,SAAS;oBAEnE,0DAA0D;oBAC1D,MAAM,cAAc,GAAG,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;oBAC/D,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,GAAG,GAAG;wBAAE,SAAS;oBAEnE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAEjB,MAAM,SAAS,GAA2B;wBACxC,MAAM,EAAE,GAAG,CAAC,EAAE;wBACd,aAAa,EAAE,GAAG,CAAC,aAA8B;wBACjD,cAAc,EAAE,GAAG,CAAC,cAA+B;wBACnD,YAAY;wBACZ,oBAAoB;qBACrB,CAAC;oBAEF,MAAM,cAAc,GAAG,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;oBAC/D,IAAI,cAAc,KAAK,SAAS;wBAAE,SAAS,CAAC,cAAc,GAAG,cAAc,CAAC;oBAC5E,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,IAAI,SAAS,CAAC;wBAAE,SAAS,CAAC,WAAW,GAAG,GAAG,CAAC,WAA4B,CAAC;oBAClG,IAAI,cAAc,KAAK,SAAS;wBAAE,SAAS,CAAC,cAAc,GAAG,cAAc,CAAC;oBAC5E,IAAI,SAAS,KAAK,SAAS;wBAAE,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC;oBAE7D,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACzB,CAAC;gBAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;gBACpF,IAAI,CAAC,WAAW;oBAAE,MAAM;YAC1B,CAAC;YAED,uEAAuE;YACvE,wEAAwE;YACxE,wEAAwE;YACxE,0CAA0C;YAC1C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACnE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QAED,wEAAwE;QACxE,wEAAwE;QACxE,0EAA0E;QAC1E,wEAAwE;QACxE,wCAAwC;QACxC,MAAM,GAAG,GAA6B,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACxE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM;oBAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,6EAA6E;IAE7E,KAAK,UAAU,sBAAsB,CAAC,IAGrC;QACC,MAAM,WAAW,EAAE,CAAC;QAEpB,0EAA0E;QAC1E,wEAAwE;QACxE,wCAAwC;QACxC,MAAM,KAAK,GAA4B,EAAE,CAAC;QAC1C,IAAI,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7E,IAAI,IAAI,EAAE,eAAe;YAAE,KAAK,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAE3E,MAAM,IAAI,GAAG,MAAM,OAAO,CACxB,MAAM,EACN,SAAS,EACT,sBAAsB,EACtB,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CACtB,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAA4B,EAAE,CAAC,CAAC;YACpF,WAAW,EAAE,GAAG,CAAC,EAAE;YACnB,wEAAwE;YACxE,6EAA6E;YAC7E,uEAAuE;YACvE,WAAW,EAAE,GAAG,CAAC,EAAE,EAA2C,yBAAyB;YACvF,IAAI,EAAE,EAAE,EAAuD,sBAAsB;YACrF,OAAO,EAAE,EAAE,EAAoD,sBAAsB;YACrF,mBAAmB,EAAE,4CAA4C,EAAE,sBAAsB;YACzF,UAAU,EAAE,EAAE,EAAiD,sBAAsB;YACrF,eAAe,EAAE,EAAE,EAA4C,sBAAsB;YACrF,gBAAgB,EAAE,GAAG,EAAyC,sBAAsB;YACpF,eAAe,EAAE,GAAG,EAA0C,sBAAsB;YACpF,SAAS,EAAE,EAAE,EAAkD,sBAAsB;YACrF,eAAe,EAAE,GAAG,CAAC,eAAe;YACpC,MAAM,EAAG,GAAG,CAAC,MAA4C,IAAI,UAAU;YACvE,eAAe,EAAE,GAAG,CAAC,eAAe;YACpC,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC;SACrC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,6EAA6E;IAE7E,KAAK,UAAU,kBAAkB,CAAC,WAAmB;QACnD,MAAM,WAAW,EAAE,CAAC;QAEpB,MAAM,IAAI,GAAG,MAAM,OAAO,CACxB,MAAM,EACN,SAAS,EACT,0BAA0B,EAC1B,EAAE,WAAW,EAAE,CAChB,CAAC;QAEF,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACnC,IAAI,CAAC,GAAG;YAAE,OAAO,SAAS,CAAC;QAE3B,MAAM,WAAW,GAAG,CAAC,CAAS,EAA0C,EAAE,CACxE,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,SAAS,CAAC;QAExD,OAAO;YACL,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU;YACzD,eAAe,EAAE,GAAG,CAAC,eAAe;YACpC,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC;YACpC,YAAY,EAAE,CAAC,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;gBAC9F,CAAC,CAAC,GAAG,CAAC,YAAY;gBAClB,CAAC,CAAC,IAAI,CAAkB;SAC3B,CAAC;IACJ,CAAC;IAED,6EAA6E;IAE7E,KAAK,UAAU,yBAAyB,CAAC,WAAmB;QAC1D,MAAM,WAAW,EAAE,CAAC;QAEpB,wEAAwE;QACxE,wEAAwE;QACxE,MAAM,cAAc,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;QAEvE,2EAA2E;QAC3E,0EAA0E;QAC1E,yEAAyE;QACzE,6BAA6B;QAC7B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,OAA2B,CAAC;QAChC,IAAI,UAAU,GAAkB,IAAI,CAAC;QACrC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,6BAA6B,EAAE,IAAI,EAAE,EAAE,CAAC;YAChE,MAAM,IAAI,GAA2B,MAAM,OAAO,CAChD,MAAM,EACN,SAAS,EACT,0BAA0B,EAC1B,EAAE,cAAc,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,UAAU,EAAE,CAClE,CAAC;YACF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC;YACtC,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACrB,IAAI,OAAO,KAAK,SAAS;oBAAE,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YACnD,CAAC;YACD,MAAM,QAAQ,GAAgD,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC;YACnF,IAAI,CAAC,QAAQ,EAAE,WAAW,IAAI,CAAC,QAAQ,CAAC,SAAS;gBAAE,MAAM;YACzD,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC;QAClC,CAAC;QAED,uDAAuD;QACvD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC;QAE5D,oEAAoE;QACpE,yEAAyE;QACzE,iEAAiE;QACjE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QACpC,IAAI,aAAa,GAAkB,IAAI,CAAC;QACxC,SAAS,CAAC;YACR,MAAM,IAAI,GAA8B,MAAM,OAAO,CACnD,MAAM,EACN,SAAS,EACT,6BAA6B,EAC7B,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,aAAa,EAAE,CACvE,CAAC;YACF,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;gBAC7C,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;YACD,MAAM,QAAQ,GAAsD,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;YAC5F,IAAI,CAAC,QAAQ,EAAE,WAAW,IAAI,CAAC,QAAQ,CAAC,SAAS;gBAAE,MAAM;YACzD,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAC;QACrC,CAAC;QAED,OAAO,SAAS,CAAC,IAAI,CAAC;IACxB,CAAC;IAED,6EAA6E;IAE7E,KAAK,UAAU,cAAc,CAAC,KAAkB;QAC9C,MAAM,WAAW,EAAE,CAAC;QAEpB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;QAE5D,0EAA0E;QAC1E,wEAAwE;QACxE,oEAAoE;QACpE,4EAA4E;QAC5E,6EAA6E;QAC7E,8EAA8E;QAC9E,yEAAyE;QACzE,MAAM,KAAK,GAA4B,EAAE,CAAC;QAC1C,IAAI,KAAK,CAAC,YAAY;YAAE,KAAK,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC;QACnE,IAAI,KAAK,CAAC,YAAY;YAAE,KAAK,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC;QAEnE,MAAM,IAAI,GAAG,MAAM,OAAO,CACxB,MAAM,EACN,SAAS,EACT,qBAAqB,EACrB,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;QAEF,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC;QAE1C,yEAAyE;QACzE,0EAA0E;QAC1E,4CAA4C;QAC5C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAe,EAAE,CAAC,CAAC;YACtC,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,QAAQ,EAAE;gBACR,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,WAAW,EAAE,EAAE;aAChB;YACD,YAAY,EAAG,GAAG,CAAC,YAA4C,IAAI,SAAS;YAC5E,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;SAC1C,CAAC,CAAC,CAAC;IACN,CAAC;IAED,6EAA6E;IAE7E,KAAK,UAAU,sBAAsB,CAAC,IAKrC;QACC,MAAM,WAAW,EAAE,CAAC;QACpB,MAAM,KAAK,GAA4B,EAAE,CAAC;QAC1C,IAAI,IAAI,EAAE,UAAU;YAAE,KAAK,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAC9D,IAAI,IAAI,EAAE,cAAc;YAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QACxE,IAAI,IAAI,EAAE,cAAc,KAAK,KAAK;YAAE,KAAK,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC;QAE7D,MAAM,IAAI,GAAG,MAAM,OAAO,CACxB,MAAM,EACN,SAAS,EACT,8BAA8B,EAC9B,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAqB,EAAE,CAAC,CAAC;YAC7E,YAAY,EAAE,QAAQ;YACtB,cAAc,EAAE,GAAG,CAAC,cAAc;YAClC,GAAG,EAAE,GAAG,CAAC,SAAS;YAClB,IAAI,EAAE,GAAG,CAAC,UAAU;YACpB,OAAO,EAAE,GAAG,CAAC,aAAa;YAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC;YACpC,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,SAAS;YAC7C,YAAY,EAAG,GAAG,CAAC,YAA8B;SAClD,CAAC,CAAC,CAAC;IACN,CAAC;IAED,8EAA8E;IAE9E,KAAK,UAAU,eAAe,CAAC,IAG9B;QACC,MAAM,WAAW,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAUxB,MAAM,EACN,SAAS,EACT,uBAAuB,EACvB,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CACrC,CAAC;YACF,uEAAuE;YACvE,yEAAyE;YACzE,+DAA+D;YAC/D,wEAAwE;YACxE,uEAAuE;YACvE,sEAAsE;YACtE,0DAA0D;YAC1D,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAA2B,EAAE;gBACvF,IAAI,OAAO,GAA4C,EAAE,CAAC;gBAC1D,IAAI,CAAC;oBAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAmB,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC;oBAAC,OAAO,EAAE,CAAC;gBAAC,CAAC;gBACrF,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC5D,IAAI,CAAC,KAAK;oBAAE,OAAO,EAAE,CAAC;gBACtB,OAAO,CAAC;wBACN,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,MAAM,EAAE,EAAE;wBACV,eAAe,EAAE,EAAE;wBACnB,OAAO,EAAE,SAAS;wBAClB,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;wBAC/B,aAAa,EAAE,KAAK;qBACrB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,0EAA0E;YAC1E,IAAI,GAAG,YAAY,KAAK,IAAI,gDAAgD,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/F,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,8EAA8E;IAE9E,KAAK,UAAU,oBAAoB,CAAC,IAGnC;QACC,0EAA0E;QAC1E,oEAAoE;QACpE,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC;YAC3C,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO;QACL,kBAAkB;QAClB,sBAAsB;QACtB,kBAAkB;QAClB,yBAAyB;QACzB,cAAc;QACd,sBAAsB;QACtB,eAAe;QACf,oBAAoB;KACrB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/discovery/http.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ import { JINN_ROUTER_ABI } from '../adapters/mech/types.js';
37
37
  import { canClaimTask } from '../adapters/mech/contracts.js';
38
38
  import { manifestDigestForCid } from '../adapters/mech/digest.js';
39
39
  import { resolveMostRecentWins } from '../solvernets/most-recent-wins.js';
40
- import { isRateLimitedEthReadError } from '../chain-read-errors.js';
40
+ import { isRateLimitedEthReadError, withTransientEthReadRetry } from '../chain-read-errors.js';
41
41
  import { PLUGIN_PAYLOAD_TUPLE, REVOCATION_PAYLOAD_TUPLE } from '../erc8004/abis.js';
42
42
  import { PLUGIN_METADATA_KEY_PREFIX } from '../erc8004/plugin-registry.js';
43
43
  /**
@@ -587,7 +587,7 @@ export function createOnchainDiscoveryAPI(opts) {
587
587
  const client = getClient();
588
588
  let currentBlock;
589
589
  try {
590
- currentBlock = await client.getBlockNumber();
590
+ currentBlock = await withTransientEthReadRetry(() => client.getBlockNumber());
591
591
  }
592
592
  catch (err) {
593
593
  throw discoveryUnavailableFromReadError(`OnchainDiscoveryAPI: failed to get block number`, err);
@@ -595,7 +595,7 @@ export function createOnchainDiscoveryAPI(opts) {
595
595
  const fromBlock = resolveFromBlock(opts, 'solvernets', currentBlock);
596
596
  let events;
597
597
  try {
598
- events = await scanLogsInChunks(async (start, end) => {
598
+ events = await scanLogsInChunks(async (start, end) => withTransientEthReadRetry(async () => {
599
599
  const logs = await client.getLogs({
600
600
  address: identityRegistryAddress,
601
601
  fromBlock: start,
@@ -608,7 +608,7 @@ export function createOnchainDiscoveryAPI(opts) {
608
608
  decoded.push(event);
609
609
  }
610
610
  return decoded;
611
- }, fromBlock, currentBlock, chunk);
611
+ }), fromBlock, currentBlock, chunk);
612
612
  }
613
613
  catch (err) {
614
614
  if (err instanceof DiscoveryUnavailableError)
@@ -930,6 +930,41 @@ export function createOnchainDiscoveryAPI(opts) {
930
930
  // Score history needs the indexer's `attemptEnvelopeMeta` + `verdict`
931
931
  // enrichment join, which the on-chain floor cannot reconstruct. Stays a stub.
932
932
  async function getPluginScores() { return []; }
933
+ // ── getInstanceSuccessCounts (#669) — empty Map stub ───────────────────────
934
+ // Network-truth success counts are derived from the indexer's IPFS
935
+ // enrichment of evaluation envelopes (verdictEnvelopeMeta.instanceId), which
936
+ // the on-chain floor cannot reconstruct without fetching IPFS bodies for
937
+ // every MetadataSet event with key 'evaluation:*'. That is a non-trivial
938
+ // scan + IPFS fan-out and is out of scope for the floor. Returning an empty
939
+ // Map is the documented contract: callers see local counters as the floor.
940
+ async function getInstanceSuccessCounts() {
941
+ return new Map();
942
+ }
943
+ // ── getCodeDigestRewards (#764) — empty-array stub ─────────────────────────
944
+ // Per-codeDigest aggregates derive from the indexer's IPFS enrichment
945
+ // (attempt/verdict envelope meta), which the on-chain floor cannot
946
+ // reconstruct. withFallback never routes here (no silent fall-through).
947
+ async function getCodeDigestRewards(_args) {
948
+ // `window` accepted for interface parity; the floor returns no rows.
949
+ void _args;
950
+ return [];
951
+ }
952
+ // ── getInstanceClaimCounts (#802) — empty Map stub ─────────────────────────
953
+ // The claim data (task.maxClaims + attempt counts) IS reconstructible from
954
+ // TaskCreated / TaskAttemptCreated logs, but the floor stays a no-op for two
955
+ // distinct paths:
956
+ // (1) http + fallbackToOnchain=true — withFallback never routes this method
957
+ // to the floor, so this stub is never reached; the primary's error
958
+ // propagates and the launcher aborts the tick (abort-on-outage).
959
+ // (2) mode='onchain' (mainnet default) — the factory returns this floor
960
+ // un-wrapped, so this stub IS the runtime path. The empty Map makes the
961
+ // generator's classifier treat every known posting's taskId as absent =
962
+ // not-yet-indexed = `live`, so the generator goes safely INERT (posts
963
+ // each instance once, never tops up) instead of storming. A live
964
+ // on-chain claim scan is deferred to its own scoped issue.
965
+ async function getInstanceClaimCounts() {
966
+ return new Map();
967
+ }
933
968
  return {
934
969
  findClaimableTasks,
935
970
  listLaunchedSolverNets,
@@ -939,6 +974,9 @@ export function createOnchainDiscoveryAPI(opts) {
939
974
  listPluginPublications,
940
975
  getPluginScores,
941
976
  listBuilderArtifacts,
977
+ getInstanceSuccessCounts,
978
+ getCodeDigestRewards,
979
+ getInstanceClaimCounts,
942
980
  };
943
981
  }
944
982
  //# sourceMappingURL=onchain.js.map