@jinn-network/client 0.1.3-canary.8e61ba74 → 0.1.3-canary.941614bc

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 (183) hide show
  1. package/README.md +2 -8
  2. package/deployments/deployment-task-coordinator-router-v3-baseSepolia-fast.json +38 -0
  3. package/dist/agent/agent-ws.d.ts +2 -1
  4. package/dist/agent/agent-ws.js +2 -1
  5. package/dist/agent/agent-ws.js.map +1 -1
  6. package/dist/api/agent-binding-endpoint.d.ts +26 -0
  7. package/dist/api/agent-binding-endpoint.js +28 -0
  8. package/dist/api/agent-binding-endpoint.js.map +1 -0
  9. package/dist/api/bootstrap-endpoint.d.ts +8 -0
  10. package/dist/api/bootstrap-endpoint.js +27 -2
  11. package/dist/api/bootstrap-endpoint.js.map +1 -1
  12. package/dist/api/gather-status.d.ts +4 -0
  13. package/dist/api/gather-status.js +99 -0
  14. package/dist/api/gather-status.js.map +1 -1
  15. package/dist/api/prediction-v1-build.d.ts +47 -0
  16. package/dist/api/prediction-v1-build.js +73 -0
  17. package/dist/api/prediction-v1-build.js.map +1 -0
  18. package/dist/api/server.d.ts +16 -7
  19. package/dist/api/server.js +59 -12
  20. package/dist/api/server.js.map +1 -1
  21. package/dist/api/setup-endpoints.d.ts +8 -0
  22. package/dist/api/setup-endpoints.js +193 -3
  23. package/dist/api/setup-endpoints.js.map +1 -1
  24. package/dist/api/solvernets-catalog-build.d.ts +37 -0
  25. package/dist/api/solvernets-catalog-build.js +19 -0
  26. package/dist/api/solvernets-catalog-build.js.map +1 -0
  27. package/dist/api/solvernets-endpoint.d.ts +15 -0
  28. package/dist/api/solvernets-endpoint.js +5 -0
  29. package/dist/api/solvernets-endpoint.js.map +1 -0
  30. package/dist/api/status-build.d.ts +5 -0
  31. package/dist/api/status-build.js +1 -0
  32. package/dist/api/status-build.js.map +1 -1
  33. package/dist/build-info.json +4 -4
  34. package/dist/build-meta.json +1 -1
  35. package/dist/cli/commands/doctor.d.ts +15 -0
  36. package/dist/cli/commands/doctor.js +21 -0
  37. package/dist/cli/commands/doctor.js.map +1 -1
  38. package/dist/cli/commands/prediction-scoreboard.d.ts +10 -0
  39. package/dist/cli/commands/prediction-scoreboard.js +136 -0
  40. package/dist/cli/commands/prediction-scoreboard.js.map +1 -0
  41. package/dist/cli/commands/run.js +10 -0
  42. package/dist/cli/commands/run.js.map +1 -1
  43. package/dist/cli/commands/solver-nets.js +27 -5
  44. package/dist/cli/commands/solver-nets.js.map +1 -1
  45. package/dist/cli/commands/status.d.ts +3 -0
  46. package/dist/cli/commands/status.js +11 -3
  47. package/dist/cli/commands/status.js.map +1 -1
  48. package/dist/cli/commands/update.d.ts +8 -1
  49. package/dist/cli/commands/update.js +232 -7
  50. package/dist/cli/commands/update.js.map +1 -1
  51. package/dist/cli/index.js +2 -0
  52. package/dist/cli/index.js.map +1 -1
  53. package/dist/cli/task-native-readiness.d.ts +27 -0
  54. package/dist/cli/task-native-readiness.js +170 -0
  55. package/dist/cli/task-native-readiness.js.map +1 -0
  56. package/dist/config.d.ts +92 -48
  57. package/dist/config.js +91 -124
  58. package/dist/config.js.map +1 -1
  59. package/dist/corpus/envelope-projection.d.ts +12 -0
  60. package/dist/corpus/envelope-projection.js +110 -0
  61. package/dist/corpus/envelope-projection.js.map +1 -0
  62. package/dist/corpus/index.d.ts +3 -0
  63. package/dist/corpus/index.js +3 -0
  64. package/dist/corpus/index.js.map +1 -1
  65. package/dist/corpus/prediction-brier-scoreboard-report.d.ts +17 -0
  66. package/dist/corpus/prediction-brier-scoreboard-report.js +148 -0
  67. package/dist/corpus/prediction-brier-scoreboard-report.js.map +1 -0
  68. package/dist/corpus/prediction-brier-scoreboard.d.ts +56 -0
  69. package/dist/corpus/prediction-brier-scoreboard.js +269 -0
  70. package/dist/corpus/prediction-brier-scoreboard.js.map +1 -0
  71. package/dist/corpus/prediction-scoreable-verdicts.d.ts +4 -0
  72. package/dist/corpus/prediction-scoreable-verdicts.js +23 -0
  73. package/dist/corpus/prediction-scoreable-verdicts.js.map +1 -0
  74. package/dist/corpus/types.d.ts +43 -1
  75. package/dist/corpus/types.js.map +1 -1
  76. package/dist/daemon/daemon.js +1 -1
  77. package/dist/daemon/daemon.js.map +1 -1
  78. package/dist/dashboard/assets/index-5ArwpmyK.js +76 -0
  79. package/dist/dashboard/assets/{index-DQ3u_vP5.css → index-Bx5KH3YV.css} +1 -1
  80. package/dist/dashboard/index.html +2 -2
  81. package/dist/earning/bootstrap.d.ts +24 -0
  82. package/dist/earning/bootstrap.js +84 -23
  83. package/dist/earning/bootstrap.js.map +1 -1
  84. package/dist/earning/contracts.d.ts +1 -0
  85. package/dist/earning/contracts.js +16 -0
  86. package/dist/earning/contracts.js.map +1 -1
  87. package/dist/earning/faucet.d.ts +31 -0
  88. package/dist/earning/faucet.js +37 -0
  89. package/dist/earning/faucet.js.map +1 -1
  90. package/dist/earning/safe-adapter.js +45 -3
  91. package/dist/earning/safe-adapter.js.map +1 -1
  92. package/dist/earning/store.d.ts +8 -0
  93. package/dist/earning/store.js +41 -0
  94. package/dist/earning/store.js.map +1 -1
  95. package/dist/earning/types.d.ts +4 -0
  96. package/dist/events/types.d.ts +2 -2
  97. package/dist/harnesses/engine/engine.d.ts +5 -3
  98. package/dist/harnesses/engine/engine.js +33 -11
  99. package/dist/harnesses/engine/engine.js.map +1 -1
  100. package/dist/harnesses/engine/registry.d.ts +2 -0
  101. package/dist/harnesses/engine/registry.js +3 -0
  102. package/dist/harnesses/engine/registry.js.map +1 -1
  103. package/dist/harnesses/impls/claude-code-learner/adapters/claude-code.d.ts +19 -0
  104. package/dist/harnesses/impls/claude-code-learner/adapters/claude-code.js +37 -2
  105. package/dist/harnesses/impls/claude-code-learner/adapters/claude-code.js.map +1 -1
  106. package/dist/harnesses/impls/claude-code-learner/harness.js +2 -0
  107. package/dist/harnesses/impls/claude-code-learner/harness.js.map +1 -1
  108. package/dist/harnesses/impls/claude-code-learner/harvest.js +132 -2
  109. package/dist/harnesses/impls/claude-code-learner/harvest.js.map +1 -1
  110. package/dist/harnesses/impls/claude-code-learner/test-utils/fake-plugin-outputs.d.ts +20 -0
  111. package/dist/harnesses/impls/claude-code-learner/test-utils/fake-plugin-outputs.js +65 -0
  112. package/dist/harnesses/impls/claude-code-learner/test-utils/fake-plugin-outputs.js.map +1 -1
  113. package/dist/harnesses/impls/claude-code-learner/types.d.ts +5 -0
  114. package/dist/harnesses/impls/claude-mcp-hyperliquid/index.js +4 -3
  115. package/dist/harnesses/impls/claude-mcp-hyperliquid/index.js.map +1 -1
  116. package/dist/harnesses/impls/claude-mcp-prediction/index.js +6 -5
  117. package/dist/harnesses/impls/claude-mcp-prediction/index.js.map +1 -1
  118. package/dist/harnesses/impls/claude-mcp-prediction-apy/index.js +6 -5
  119. package/dist/harnesses/impls/claude-mcp-prediction-apy/index.js.map +1 -1
  120. package/dist/harnesses/impls/index.d.ts +2 -2
  121. package/dist/harnesses/impls/index.js +8 -9
  122. package/dist/harnesses/impls/index.js.map +1 -1
  123. package/dist/harnesses/impls/legacy-claude/index.d.ts +2 -2
  124. package/dist/harnesses/impls/prediction-v1-evaluator/index.js +33 -12
  125. package/dist/harnesses/impls/prediction-v1-evaluator/index.js.map +1 -1
  126. package/dist/harnesses/types.d.ts +6 -1
  127. package/dist/harnesses/types.js.map +1 -1
  128. package/dist/main.d.ts +13 -1
  129. package/dist/main.js +178 -18
  130. package/dist/main.js.map +1 -1
  131. package/dist/mcp/search-records.d.ts +92 -0
  132. package/dist/mcp/search-records.js +393 -0
  133. package/dist/mcp/search-records.js.map +1 -0
  134. package/dist/mcp/server.js +56 -15
  135. package/dist/mcp/server.js.map +1 -1
  136. package/dist/operator-errors.d.ts +14 -0
  137. package/dist/operator-errors.js +35 -5
  138. package/dist/operator-errors.js.map +1 -1
  139. package/dist/plugins/resolvers.js +45 -7
  140. package/dist/plugins/resolvers.js.map +1 -1
  141. package/dist/plugins/validator.js +8 -0
  142. package/dist/plugins/validator.js.map +1 -1
  143. package/dist/runner/runner.d.ts +6 -6
  144. package/dist/solver-nets/prediction-operator-ux.d.ts +105 -0
  145. package/dist/solver-nets/prediction-operator-ux.js +438 -0
  146. package/dist/solver-nets/prediction-operator-ux.js.map +1 -0
  147. package/dist/solver-nets/registry.d.ts +13 -6
  148. package/dist/solver-nets/registry.js +50 -16
  149. package/dist/solver-nets/registry.js.map +1 -1
  150. package/dist/solver-types/index.d.ts +11 -0
  151. package/dist/solver-types/index.js +8 -1
  152. package/dist/solver-types/index.js.map +1 -1
  153. package/dist/solver-types/prediction-v0.d.ts +1 -1
  154. package/dist/solver-types/prediction-v0.js +1 -1
  155. package/dist/solver-types/prediction-v0.js.map +1 -1
  156. package/dist/solver-types/prediction-v1-auto.d.ts +2 -0
  157. package/dist/solver-types/prediction-v1-auto.js +56 -7
  158. package/dist/solver-types/prediction-v1-auto.js.map +1 -1
  159. package/dist/solver-types/prediction-v1.js +25 -1
  160. package/dist/solver-types/prediction-v1.js.map +1 -1
  161. package/dist/solver-types/solver-type.d.ts +18 -5
  162. package/dist/store/store.d.ts +44 -2
  163. package/dist/store/store.js +387 -8
  164. package/dist/store/store.js.map +1 -1
  165. package/dist/tx-retry.js +11 -0
  166. package/dist/tx-retry.js.map +1 -1
  167. package/dist/vendor/@jinn-network/sdk/dist/contracts.d.ts +1 -1
  168. package/dist/vendor/@jinn-network/sdk/dist/contracts.js +1 -1
  169. package/package.json +1 -1
  170. package/plugins/jinn-prediction-plugin/.claude-plugin/plugin.json +4 -1
  171. package/plugins/jinn-prediction-plugin/GEMINI.md +5 -1
  172. package/plugins/jinn-prediction-plugin/jinn.plugin.json +5 -2
  173. package/plugins/jinn-prediction-plugin/mcp/polymarket-server.mjs +321 -1
  174. package/plugins/jinn-prediction-plugin/skills/common-biases/SKILL.md +3 -0
  175. package/plugins/jinn-prediction-plugin/skills/polymarket-task-handling/SKILL.md +5 -0
  176. package/plugins/jinn-prediction-plugin/skills/prediction-corpus-retrieval/SKILL.md +35 -0
  177. package/plugins/network-tools/.claude-plugin/plugin.json +12 -0
  178. package/plugins/network-tools/jinn.plugin.json +29 -0
  179. package/plugins/network-tools/mcp/jinn-client-server.mjs +110 -0
  180. package/dist/dashboard/assets/index-CaUOdCs6.js +0 -68
  181. package/dist/mcp/search-artifacts.d.ts +0 -31
  182. package/dist/mcp/search-artifacts.js +0 -40
  183. package/dist/mcp/search-artifacts.js.map +0 -1
@@ -15,6 +15,9 @@ import type { Store } from '../store/store.js';
15
15
  import { type X402Config } from '../x402/handler.js';
16
16
  import { type StatusGatherConfig } from './gather-status.js';
17
17
  import type { Corpus } from '../corpus/index.js';
18
+ import { type BootstrapEndpointConfig } from './bootstrap-endpoint.js';
19
+ import { type SolverNetsRegistry } from './solvernets-endpoint.js';
20
+ import { type AgentBindingRoutesConfig } from './agent-binding-endpoint.js';
18
21
  import { type SetupRoutesConfig } from './setup-endpoints.js';
19
22
  export interface ApiServerConfig {
20
23
  port: number;
@@ -56,18 +59,24 @@ export interface ApiServerConfig {
56
59
  * `access.endpoint` URLs and drain the operator's USDC balance via the
57
60
  * payment dance.
58
61
  *
59
- * Asymmetry with `search_artifacts`: search is keyless (subgraph + IPFS
60
- * gateway only) and stays client-side in the MCP server. Acquire is the
61
- * only path that needs the signing key for x402 payments, so it's the only
62
- * one that moves to the daemon. See spec/2026-04-30-phase-a-umbrella.md §4.
62
+ * Asymmetry with `search_records` / `inspect_record`: record discovery is
63
+ * keyless (subgraph + IPFS gateway only) and stays client-side in the MCP
64
+ * server. Artifact acquisition is the only path that needs the signing key
65
+ * for x402 payments, so it's the only one that moves to the daemon. See
66
+ * spec/2026-04-30-phase-a-umbrella.md §4.
63
67
  */
64
68
  corpus?: Corpus | (() => Corpus | undefined);
65
69
  /** When set, GET /v1/bootstrap reads <earningDir>/earning_state.json. */
66
- bootstrap?: {
67
- earningDir: string;
68
- };
70
+ bootstrap?: BootstrapEndpointConfig;
69
71
  /** Optional panel-driven setup actions such as testnet faucet funding. */
70
72
  setup?: SetupRoutesConfig;
73
+ /** When set, GET /v1/solvernets exposes the catalog from a daemon registry. */
74
+ solverNets?: {
75
+ registry: SolverNetsRegistry;
76
+ };
77
+ /** When set, POST /v1/setup/agent-binding/retry is mounted so the SPA can
78
+ * retry the ERC-1271 bind step for unbound services. */
79
+ agentBinding?: AgentBindingRoutesConfig;
71
80
  /** When set, /auth/handshake is mounted and SPA-only routes are gated by the token. */
72
81
  ui?: {
73
82
  token: string;
@@ -23,18 +23,57 @@ import { gatherStatusForApi } from './gather-status.js';
23
23
  import { AcquireError, HashMismatchError } from '../corpus/index.js';
24
24
  import { addEventsRoutes } from './events-endpoint.js';
25
25
  import { addBootstrapRoutes } from './bootstrap-endpoint.js';
26
+ import { addSolverNetsRoutes } from './solvernets-endpoint.js';
27
+ import { addAgentBindingRoutes } from './agent-binding-endpoint.js';
26
28
  import { addHandshakeRoutes, requireUiToken } from './handshake.js';
27
29
  import { addAdminRoutes } from './admin-endpoint.js';
28
30
  import { addSetupRoutes } from './setup-endpoints.js';
29
31
  const __dirname = dirname(fileURLToPath(import.meta.url));
30
- const dashboardDir = join(__dirname, '..', 'dashboard');
32
+ /**
33
+ * Resolve the operator dashboard directory.
34
+ *
35
+ * jinn-client is meant to be installed as a package and run via the `jinn`
36
+ * binary, which executes the compiled `dist/` tree — there `__dirname` is
37
+ * `dist/api/` and the SPA lives at `dist/dashboard/`.
38
+ *
39
+ * Repo contributors running `yarn jinn run` (tsx + src/) do not have
40
+ * `dist/dashboard/` next to `src/api/`. They build the SPA into
41
+ * `src/dashboard/spa/dist/` via `yarn build:spa`. We try both so the dev
42
+ * loop produces the same UI as production after a single SPA build.
43
+ *
44
+ * If neither candidate has an `index.html`, the daemon emits a clear error
45
+ * page rather than silently serving stale or missing assets.
46
+ */
47
+ function resolveDashboardDir() {
48
+ const candidates = [
49
+ join(__dirname, '..', 'dashboard'), // packaged: dist/api/.. = dist/dashboard
50
+ join(__dirname, '..', 'dashboard', 'spa', 'dist'), // dev: src/api/.. = src/dashboard/spa/dist
51
+ ];
52
+ for (const candidate of candidates) {
53
+ if (existsSync(join(candidate, 'index.html'))) {
54
+ return candidate;
55
+ }
56
+ }
57
+ return null;
58
+ }
59
+ const dashboardDir = resolveDashboardDir() ?? join(__dirname, '..', 'dashboard');
31
60
  const assetsDir = join(dashboardDir, 'assets');
32
61
  function readSpaIndex() {
33
62
  try {
34
63
  return readFileSync(join(dashboardDir, 'index.html'), 'utf-8');
35
64
  }
36
65
  catch {
37
- return '<html><body><p>SPA not built. Run <code>yarn build</code>.</p></body></html>';
66
+ return [
67
+ '<!doctype html><html><body style="font-family:system-ui;padding:2rem;max-width:48rem;line-height:1.5">',
68
+ '<h1>jinn dashboard bundle missing</h1>',
69
+ '<p>jinn-client is meant to be installed as a published package and launched via the <code>jinn</code> binary. ',
70
+ 'On a healthy install, the operator dashboard ships inside the package.</p>',
71
+ '<p>If you installed jinn from npm and are seeing this page, the package is corrupted — re-install it.</p>',
72
+ '<p>If you are running from a checkout of this repo (e.g. <code>yarn jinn run</code>), build the SPA first:</p>',
73
+ '<pre>yarn build # full build (recommended)\nyarn build:spa # SPA only</pre>',
74
+ '<p>Then re-run <code>jinn run</code>.</p>',
75
+ '</body></html>',
76
+ ].join('');
38
77
  }
39
78
  }
40
79
  const ASSET_MIME = {
@@ -124,27 +163,34 @@ export async function startApiServer(config) {
124
163
  }, 500);
125
164
  }
126
165
  });
127
- addEventsRoutes(app);
128
- if (config.bootstrap) {
129
- addBootstrapRoutes(app, config.bootstrap);
130
- }
131
166
  if (config.ui) {
132
167
  addHandshakeRoutes(app, config.ui);
133
168
  // Gate SPA-only routes (do NOT gate /v1/status or /artifacts/*).
134
169
  app.use('/v1/events', requireUiToken(config.ui.token));
135
170
  app.use('/v1/events/*', requireUiToken(config.ui.token));
136
171
  app.use('/v1/bootstrap', requireUiToken(config.ui.token));
172
+ app.use('/v1/solvernets', requireUiToken(config.ui.token));
173
+ app.use('/v1/auth/*', requireUiToken(config.ui.token));
174
+ app.use('/v1/setup/*', requireUiToken(config.ui.token));
175
+ app.use('/api/admin/*', requireUiToken(config.ui.token));
176
+ }
177
+ addEventsRoutes(app);
178
+ if (config.bootstrap) {
179
+ addBootstrapRoutes(app, config.bootstrap);
180
+ }
181
+ if (config.solverNets) {
182
+ addSolverNetsRoutes(app, { registry: config.solverNets.registry });
183
+ }
184
+ if (config.agentBinding) {
185
+ addAgentBindingRoutes(app, config.agentBinding);
137
186
  }
138
187
  if (config.ui && config.admin) {
139
- app.use('/api/admin/*', requireUiToken(config.ui.token));
140
188
  addAdminRoutes(app, config.admin);
141
189
  }
142
190
  if (config.ui) {
143
191
  // Setup routes (claude auth probe + login spawn, keystore password change)
144
192
  // gated behind the UI token so external callers can't fingerprint the host
145
193
  // or rotate keys.
146
- app.use('/v1/auth/*', requireUiToken(config.ui.token));
147
- app.use('/v1/setup/*', requireUiToken(config.ui.token));
148
194
  addSetupRoutes(app, config.setup);
149
195
  }
150
196
  // x402 payment-gated routes (if configured)
@@ -238,9 +284,10 @@ export async function startApiServer(config) {
238
284
  // NOT be exposed across the network without an auth layer because the
239
285
  // daemon will sign x402 payments on the caller's behalf.
240
286
  //
241
- // Asymmetry with `search_artifacts`: that path stays client-side because
242
- // subgraph queries and IPFS manifest fetches are keyless. Only the buyer
243
- // side of x402 needs the signing key, so only the buyer path moves here.
287
+ // Asymmetry with `search_records` / `inspect_record`: record lookup stays
288
+ // client-side because subgraph queries and IPFS manifest fetches are keyless.
289
+ // Only the buyer side of x402 needs the signing key, so only the buyer path
290
+ // moves here.
244
291
  // See spec/2026-04-30-phase-a-umbrella.md §4.
245
292
  if (config.corpus) {
246
293
  const resolveCorpus = () => typeof config.corpus === 'function' ? config.corpus() : config.corpus;
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/api/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/api/server.ts"],"names":[],"mappings":"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"}
@@ -41,9 +41,17 @@ export interface SetupRoutesConfig {
41
41
  execFileAsync?: ExecFileAsync;
42
42
  persistConfigValue?: typeof persistTopLevelConfigValue;
43
43
  onClaudePathSelected?: (claudePath: string) => void;
44
+ onSolverNetsUpdated?: (solverNets: Record<string, Record<string, unknown>>) => void;
44
45
  requestFunding?: typeof requestTestnetFunding;
45
46
  maxFaucetIters?: number;
46
47
  interDripPauseMs?: number;
48
+ /** Wall-clock cutoff for the drip loop; reaching target/rate-limit still wins first. */
49
+ faucetLoopTimeoutMs?: number;
50
+ /** Now-source override for deterministic faucet-loop tests. */
51
+ now?: () => number;
52
+ /** Returns the chain default RPC URL — used by POST /v1/setup/network when
53
+ * the operator clears the field to revert to the default. */
54
+ defaultRpcUrlForChain?: () => string;
47
55
  }
48
56
  export declare function addSetupRoutes(app: Hono, config?: SetupRoutesConfig): void;
49
57
  export interface InstallClaudeCodeResponse {
@@ -4,17 +4,23 @@ import { dirname, join } from 'node:path';
4
4
  import { z } from 'zod';
5
5
  import { FleetStateStore } from '../earning/store.js';
6
6
  import { decryptMnemonic, encryptMnemonic } from '../earning/wallet.js';
7
- import { requestTestnetFunding } from '../earning/faucet.js';
7
+ import { DEFAULT_FAUCET_LOOP_TIMEOUT_MS, computeFaucetDripCap, requestTestnetFunding, } from '../earning/faucet.js';
8
8
  import { createJinnPublicClient } from '../earning/viem-clients.js';
9
9
  import { detectAuthContext, probeClaudeAuth } from '../preflight/claude-auth.js';
10
10
  import { checkClaudeBinary } from '../preflight/claude-binary.js';
11
11
  import { triggerAgentSpawn } from '../agent/agent-ws.js';
12
- import { DEFAULT_CONFIG_PATH, persistTopLevelConfigValue } from '../config.js';
12
+ import { DEFAULT_CONFIG_PATH, DEFAULT_SOLVER_NETS, persistTopLevelConfigValue } from '../config.js';
13
13
  import { installClaudeCodeLocally, } from '../setup/claude-code-install.js';
14
14
  const ChangePasswordSchema = z.object({
15
15
  current: z.string().min(1),
16
16
  next: z.string().min(8),
17
17
  });
18
+ function isRecord(value) {
19
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
20
+ }
21
+ function cloneRecord(value) {
22
+ return JSON.parse(JSON.stringify(value));
23
+ }
18
24
  export function addSetupRoutes(app, config = {}) {
19
25
  const checkBinary = config.checkClaudeBinary ?? checkClaudeBinary;
20
26
  const probeAuth = config.probeClaudeAuth ?? probeClaudeAuth;
@@ -99,20 +105,34 @@ export function addSetupRoutes(app, config = {}) {
99
105
  return c.json({ ok: false, reason: 'drip_only_on_base_sepolia', chain: chain ?? parsed.chain }, 409);
100
106
  }
101
107
  const requestFunding = config.requestFunding ?? requestTestnetFunding;
102
- const maxFaucetIters = config.maxFaucetIters ?? 60;
103
108
  const interDripPauseMs = config.interDripPauseMs ?? 1_000;
104
109
  const targetWei = config.minEoaGasWei ? BigInt(config.minEoaGasWei) : null;
105
110
  const publicClient = config.rpcUrl
106
111
  ? createJinnPublicClient(config.rpcUrl, 'base-sepolia')
107
112
  : null;
113
+ const now = config.now ?? Date.now;
114
+ const faucetLoopTimeoutMs = config.faucetLoopTimeoutMs ?? DEFAULT_FAUCET_LOOP_TIMEOUT_MS;
108
115
  const getBalance = async () => {
109
116
  if (!publicClient)
110
117
  return null;
111
118
  return publicClient.getBalance({ address: address });
112
119
  };
120
+ const persistFundingGate = (balanceWei) => {
121
+ if (targetWei === null || balanceWei === null)
122
+ return;
123
+ const requiredWei = balanceWei >= targetWei ? 0n : targetWei - balanceWei;
124
+ writeFileSync(join(earningDir, 'bootstrap-funding.json'), `${JSON.stringify({
125
+ schemaVersion: 1,
126
+ generatedAt: new Date().toISOString(),
127
+ master_address: address,
128
+ eth_required: requiredWei.toString(),
129
+ eth_balance: balanceWei.toString(),
130
+ }, null, 2)}\n`, { mode: 0o600 });
131
+ };
113
132
  try {
114
133
  const txHashes = [];
115
134
  let balanceWei = await getBalance();
135
+ persistFundingGate(balanceWei);
116
136
  if (targetWei !== null && balanceWei !== null && balanceWei >= targetWei) {
117
137
  return c.json({
118
138
  ok: true,
@@ -123,7 +143,25 @@ export function addSetupRoutes(app, config = {}) {
123
143
  targetWei: targetWei.toString(),
124
144
  });
125
145
  }
146
+ const maxFaucetIters = computeFaucetDripCap({
147
+ override: config.maxFaucetIters,
148
+ targetWei,
149
+ balanceWei,
150
+ });
151
+ const deadline = now() + faucetLoopTimeoutMs;
126
152
  for (let i = 0; i < maxFaucetIters; i++) {
153
+ if (now() >= deadline) {
154
+ return c.json({
155
+ ok: txHashes.length > 0,
156
+ address,
157
+ txHash: txHashes.at(-1),
158
+ txHashes,
159
+ attempts: i,
160
+ balanceWei: balanceWei?.toString(),
161
+ targetWei: targetWei?.toString(),
162
+ reason: 'faucet_loop_timeout',
163
+ }, txHashes.length > 0 ? 202 : 200);
164
+ }
127
165
  const result = await requestFunding(address, 'base-sepolia');
128
166
  if (!result.ok) {
129
167
  return c.json({
@@ -144,6 +182,7 @@ export function addSetupRoutes(app, config = {}) {
144
182
  await new Promise((r) => setTimeout(r, interDripPauseMs));
145
183
  }
146
184
  balanceWei = await getBalance();
185
+ persistFundingGate(balanceWei);
147
186
  if (targetWei !== null && balanceWei !== null && balanceWei >= targetWei) {
148
187
  return c.json({
149
188
  ok: true,
@@ -174,6 +213,157 @@ export function addSetupRoutes(app, config = {}) {
174
213
  }, 500);
175
214
  }
176
215
  });
216
+ // Edit a single SolverNet's enabled flag and/or solverType from the SPA.
217
+ // The operator click that triggers this is the in-app replacement for
218
+ // hand-editing config.json; the daemon does not hot-reload, so callers
219
+ // must follow up with /api/admin/restart (the existing "Restart Node"
220
+ // affordance) for the change to take effect. See jinn-mono-* (config-UX).
221
+ app.post('/v1/setup/solvernets/:name', async (c) => {
222
+ const name = c.req.param('name');
223
+ if (!name)
224
+ return c.json({ error: 'invalid_invocation', detail: 'missing solvernet name' }, 400);
225
+ let body;
226
+ try {
227
+ body = await c.req.json();
228
+ }
229
+ catch {
230
+ return c.json({ error: 'invalid_body', detail: 'expected JSON body' }, 400);
231
+ }
232
+ const editableFields = [
233
+ 'enabled', 'solverType', 'role', 'harness', 'model', 'plugins',
234
+ ];
235
+ if (!editableFields.some((f) => body[f] !== undefined)) {
236
+ return c.json({ error: 'invalid_body', detail: 'must include at least one editable field' }, 400);
237
+ }
238
+ if (body.enabled !== undefined && typeof body.enabled !== 'boolean') {
239
+ return c.json({ error: 'invalid_body', detail: '`enabled` must be a boolean' }, 400);
240
+ }
241
+ const KNOWN_SOLVER_TYPES = ['prediction.v0', 'prediction.v1'];
242
+ if (body.solverType !== undefined && (typeof body.solverType !== 'string' || !KNOWN_SOLVER_TYPES.includes(body.solverType))) {
243
+ return c.json({
244
+ error: 'invalid_body',
245
+ detail: `\`solverType\` must be one of ${KNOWN_SOLVER_TYPES.join(', ')}`,
246
+ }, 400);
247
+ }
248
+ const KNOWN_ROLES = ['solving', 'evaluating'];
249
+ if (body.role !== undefined && (typeof body.role !== 'string' || !KNOWN_ROLES.includes(body.role))) {
250
+ return c.json({ error: 'invalid_body', detail: '`role` must be `solving` or `evaluating`' }, 400);
251
+ }
252
+ if (body.harness !== undefined && typeof body.harness !== 'string') {
253
+ return c.json({ error: 'invalid_body', detail: '`harness` must be a string' }, 400);
254
+ }
255
+ if (body.model !== undefined && typeof body.model !== 'string') {
256
+ return c.json({ error: 'invalid_body', detail: '`model` must be a string' }, 400);
257
+ }
258
+ if (body.plugins !== undefined) {
259
+ if (!Array.isArray(body.plugins) || !body.plugins.every((p) => typeof p === 'string')) {
260
+ return c.json({ error: 'invalid_body', detail: '`plugins` must be an array of plugin names' }, 400);
261
+ }
262
+ }
263
+ const cfgPath = config.configPath ?? DEFAULT_CONFIG_PATH;
264
+ let current = {};
265
+ try {
266
+ if (existsSync(cfgPath)) {
267
+ current = JSON.parse(readFileSync(cfgPath, 'utf-8'));
268
+ }
269
+ }
270
+ catch (err) {
271
+ return c.json({
272
+ error: 'config_unreadable',
273
+ detail: err instanceof Error ? err.message : String(err),
274
+ }, 500);
275
+ }
276
+ const rawSolverNets = isRecord(current.solverNets) ? current.solverNets : {};
277
+ const solverNets = {};
278
+ for (const [netName, netConfig] of Object.entries(rawSolverNets)) {
279
+ if (isRecord(netConfig))
280
+ solverNets[netName] = { ...netConfig };
281
+ }
282
+ const defaultNet = DEFAULT_SOLVER_NETS[name];
283
+ const existing = solverNets[name] ?? (isRecord(defaultNet) ? cloneRecord(defaultNet) : undefined);
284
+ if (!existing) {
285
+ const available = [...new Set([...Object.keys(DEFAULT_SOLVER_NETS), ...Object.keys(solverNets)])];
286
+ return c.json({ error: 'solvernet_not_found', name, available }, 404);
287
+ }
288
+ if (body.enabled !== undefined)
289
+ existing.enabled = body.enabled;
290
+ if (body.solverType !== undefined)
291
+ existing.solverType = body.solverType;
292
+ if (body.role !== undefined)
293
+ existing.role = body.role;
294
+ if (body.harness !== undefined)
295
+ existing.harness = body.harness;
296
+ if (body.model !== undefined)
297
+ existing.model = body.model;
298
+ if (body.plugins !== undefined)
299
+ existing.plugins = body.plugins;
300
+ solverNets[name] = existing;
301
+ try {
302
+ persistConfigValue('solverNets', solverNets, cfgPath);
303
+ config.onSolverNetsUpdated?.(solverNets);
304
+ }
305
+ catch (err) {
306
+ return c.json({
307
+ error: 'config_write_failed',
308
+ detail: err instanceof Error ? err.message : String(err),
309
+ }, 500);
310
+ }
311
+ return c.json({
312
+ ok: true,
313
+ restartRequired: true,
314
+ name,
315
+ config: existing,
316
+ });
317
+ });
318
+ // Edit the chain's RPC URL from the SPA's Configuration > Network section.
319
+ // Chain itself is read-only here; switching chains is a separate flow.
320
+ // Empty / null rpcUrl reverts to the chain's bundled default.
321
+ app.post('/v1/setup/network', async (c) => {
322
+ let body;
323
+ try {
324
+ body = await c.req.json();
325
+ }
326
+ catch {
327
+ return c.json({ error: 'invalid_body', detail: 'expected JSON body' }, 400);
328
+ }
329
+ const cfgPath = config.configPath ?? DEFAULT_CONFIG_PATH;
330
+ if (!existsSync(cfgPath)) {
331
+ return c.json({ error: 'config_not_found', path: cfgPath }, 404);
332
+ }
333
+ let nextRpcUrl;
334
+ if (body.rpcUrl === null || body.rpcUrl === '') {
335
+ nextRpcUrl = config.defaultRpcUrlForChain?.() ?? 'https://sepolia.base.org';
336
+ }
337
+ else if (typeof body.rpcUrl === 'string') {
338
+ try {
339
+ const parsed = new URL(body.rpcUrl);
340
+ if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
341
+ return c.json({ error: 'invalid_body', detail: '`rpcUrl` must use http or https' }, 400);
342
+ }
343
+ nextRpcUrl = body.rpcUrl;
344
+ }
345
+ catch {
346
+ return c.json({ error: 'invalid_body', detail: '`rpcUrl` is not a valid URL' }, 400);
347
+ }
348
+ }
349
+ else {
350
+ return c.json({ error: 'invalid_body', detail: '`rpcUrl` must be a string or null' }, 400);
351
+ }
352
+ try {
353
+ persistConfigValue('rpcUrl', nextRpcUrl, cfgPath);
354
+ }
355
+ catch (err) {
356
+ return c.json({
357
+ error: 'config_write_failed',
358
+ detail: err instanceof Error ? err.message : String(err),
359
+ }, 500);
360
+ }
361
+ return c.json({
362
+ ok: true,
363
+ restartRequired: true,
364
+ rpcUrl: nextRpcUrl,
365
+ });
366
+ });
177
367
  app.post('/v1/setup/change-password', async (c) => {
178
368
  let body;
179
369
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"setup-endpoints.js","sourceRoot":"","sources":["../../src/api/setup-endpoints.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-endpoints.js","sourceRoot":"","sources":["../../src/api/setup-endpoints.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Build the SolverNet catalog response from the daemon's in-memory
3
+ * SolverNet registry. The catalog is descriptive — it tells the SPA what
4
+ * SolverNets exist and what each one supports, so the SPA can render the
5
+ * Configuration > SolverNets section as a catalog of opt-in cards.
6
+ *
7
+ * Operator selection (enabled / role / harness / plugins) is NOT part of
8
+ * the catalog; that lives in `~/.jinn-client/config.json` and is read via
9
+ * `/v1/bootstrap`. The catalog is purely the registry's view of what is
10
+ * available.
11
+ */
12
+ export interface SolverNetCatalogEntry {
13
+ name: string;
14
+ description: string;
15
+ state: 'live' | 'available' | 'coming_soon';
16
+ intrinsicSolverType: string;
17
+ supportedRoles: ('solving' | 'evaluating')[];
18
+ compatibleHarnesses: Array<{
19
+ name: string;
20
+ version: string;
21
+ supportsRoles: ('solving' | 'evaluating')[];
22
+ }>;
23
+ compatiblePlugins: Array<{
24
+ name: string;
25
+ version: string;
26
+ source: string;
27
+ }>;
28
+ }
29
+ export interface SolverNetsCatalogResponse {
30
+ schemaVersion: 1;
31
+ generatedAt: string;
32
+ nets: SolverNetCatalogEntry[];
33
+ }
34
+ export interface BuildSolverNetsCatalogInput {
35
+ registered: SolverNetCatalogEntry[];
36
+ }
37
+ export declare function buildSolverNetsCatalog(input: BuildSolverNetsCatalogInput): SolverNetsCatalogResponse;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Build the SolverNet catalog response from the daemon's in-memory
3
+ * SolverNet registry. The catalog is descriptive — it tells the SPA what
4
+ * SolverNets exist and what each one supports, so the SPA can render the
5
+ * Configuration > SolverNets section as a catalog of opt-in cards.
6
+ *
7
+ * Operator selection (enabled / role / harness / plugins) is NOT part of
8
+ * the catalog; that lives in `~/.jinn-client/config.json` and is read via
9
+ * `/v1/bootstrap`. The catalog is purely the registry's view of what is
10
+ * available.
11
+ */
12
+ export function buildSolverNetsCatalog(input) {
13
+ return {
14
+ schemaVersion: 1,
15
+ generatedAt: new Date().toISOString(),
16
+ nets: input.registered,
17
+ };
18
+ }
19
+ //# sourceMappingURL=solvernets-catalog-build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solvernets-catalog-build.js","sourceRoot":"","sources":["../../src/api/solvernets-catalog-build.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA0BH,MAAM,UAAU,sBAAsB,CAAC,KAAkC;IACvE,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,IAAI,EAAE,KAAK,CAAC,UAAU;KACvB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * GET /v1/solvernets — exposes the SolverNet registry catalog to the SPA.
3
+ *
4
+ * Driven by the daemon's in-memory registry; descriptive only. Operator
5
+ * config edits go through `/v1/setup/solvernets/:name`, not here.
6
+ */
7
+ import type { Hono } from 'hono';
8
+ import { type SolverNetCatalogEntry } from './solvernets-catalog-build.js';
9
+ export interface SolverNetsRegistry {
10
+ list(): SolverNetCatalogEntry[];
11
+ }
12
+ export interface SolverNetsRoutesConfig {
13
+ registry: SolverNetsRegistry;
14
+ }
15
+ export declare function addSolverNetsRoutes(app: Hono, config: SolverNetsRoutesConfig): void;