@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.
- package/README.md +67 -1
- package/dist/adapters/mech/adapter.d.ts +19 -1
- package/dist/adapters/mech/adapter.js +130 -14
- package/dist/adapters/mech/adapter.js.map +1 -1
- package/dist/adapters/mech/contracts.d.ts +22 -1
- package/dist/adapters/mech/contracts.js +34 -24
- package/dist/adapters/mech/contracts.js.map +1 -1
- package/dist/adapters/mech/safe.d.ts +1 -1
- package/dist/adapters/mech/safe.js +5 -3
- package/dist/adapters/mech/safe.js.map +1 -1
- package/dist/adapters/mech/types.d.ts +6 -1
- package/dist/adapters/mech/types.js.map +1 -1
- package/dist/agent/operator-claude.js +8 -0
- package/dist/agent/operator-claude.js.map +1 -1
- package/dist/api/activity-events-endpoint.d.ts +14 -0
- package/dist/api/activity-events-endpoint.js +59 -0
- package/dist/api/activity-events-endpoint.js.map +1 -0
- package/dist/api/bootstrap-endpoint.d.ts +1 -2
- package/dist/api/bootstrap-endpoint.js +42 -24
- package/dist/api/bootstrap-endpoint.js.map +1 -1
- package/dist/api/codex-doctor-endpoint.d.ts +22 -5
- package/dist/api/codex-doctor-endpoint.js +136 -17
- package/dist/api/codex-doctor-endpoint.js.map +1 -1
- package/dist/api/debug-report-endpoint.d.ts +27 -0
- package/dist/api/debug-report-endpoint.js +157 -0
- package/dist/api/debug-report-endpoint.js.map +1 -0
- package/dist/api/gather-status.d.ts +33 -0
- package/dist/api/gather-status.js +211 -26
- package/dist/api/gather-status.js.map +1 -1
- package/dist/api/hermes-doctor-endpoint.d.ts +15 -7
- package/dist/api/hermes-doctor-endpoint.js +56 -19
- package/dist/api/hermes-doctor-endpoint.js.map +1 -1
- package/dist/api/launcher-status.d.ts +4 -2
- package/dist/api/launcher-status.js +11 -10
- package/dist/api/launcher-status.js.map +1 -1
- package/dist/api/launcher-tasks.d.ts +1 -1
- package/dist/api/launcher-tasks.js +12 -8
- package/dist/api/launcher-tasks.js.map +1 -1
- package/dist/api/operator-artifacts-endpoint.js +73 -6
- package/dist/api/operator-artifacts-endpoint.js.map +1 -1
- package/dist/api/portfolio-v0-build.d.ts +7 -1
- package/dist/api/portfolio-v0-build.js +6 -2
- package/dist/api/portfolio-v0-build.js.map +1 -1
- package/dist/api/prediction-v1-build.d.ts +6 -0
- package/dist/api/prediction-v1-build.js +3 -1
- package/dist/api/prediction-v1-build.js.map +1 -1
- package/dist/api/server.d.ts +17 -0
- package/dist/api/server.js +40 -1
- package/dist/api/server.js.map +1 -1
- package/dist/api/setup-endpoints.d.ts +0 -9
- package/dist/api/setup-endpoints.js +11 -153
- package/dist/api/setup-endpoints.js.map +1 -1
- package/dist/api/solvernets-endpoints.js +30 -63
- package/dist/api/solvernets-endpoints.js.map +1 -1
- package/dist/api/status-build.d.ts +115 -2
- package/dist/api/status-build.js +47 -11
- package/dist/api/status-build.js.map +1 -1
- package/dist/api/status-harness-rollup.d.ts +35 -0
- package/dist/api/status-harness-rollup.js +45 -0
- package/dist/api/status-harness-rollup.js.map +1 -0
- package/dist/api/task-runs-build.d.ts +8 -0
- package/dist/api/task-runs-build.js +5 -1
- package/dist/api/task-runs-build.js.map +1 -1
- package/dist/build-info.json +4 -4
- package/dist/build-meta.json +1 -1
- package/dist/captures/live-publisher.js +24 -4
- package/dist/captures/live-publisher.js.map +1 -1
- package/dist/captures/publish.d.ts +1 -1
- package/dist/chain-read-errors.d.ts +12 -0
- package/dist/chain-read-errors.js +26 -1
- package/dist/chain-read-errors.js.map +1 -1
- package/dist/cli/commands/codedigest-revert-check.d.ts +33 -0
- package/dist/cli/commands/codedigest-revert-check.js +249 -0
- package/dist/cli/commands/codedigest-revert-check.js.map +1 -0
- package/dist/cli/commands/solver-nets.d.ts +1 -0
- package/dist/cli/commands/solver-nets.js +177 -22
- package/dist/cli/commands/solver-nets.js.map +1 -1
- package/dist/cli/commands/solver-plugins-block.d.ts +33 -0
- package/dist/cli/commands/solver-plugins-block.js +118 -0
- package/dist/cli/commands/solver-plugins-block.js.map +1 -0
- package/dist/cli/commands/solver-plugins-feedback.d.ts +72 -0
- package/dist/cli/commands/solver-plugins-feedback.js +262 -0
- package/dist/cli/commands/solver-plugins-feedback.js.map +1 -0
- package/dist/cli/commands/solver-plugins-read.d.ts +54 -0
- package/dist/cli/commands/solver-plugins-read.js +259 -0
- package/dist/cli/commands/solver-plugins-read.js.map +1 -0
- package/dist/cli/commands/solver-plugins.d.ts +35 -0
- package/dist/cli/commands/solver-plugins.js +399 -2
- package/dist/cli/commands/solver-plugins.js.map +1 -1
- package/dist/cli/commands/tasks.js +15 -2
- package/dist/cli/commands/tasks.js.map +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/task-native-readiness.d.ts +7 -0
- package/dist/cli/task-native-readiness.js +7 -5
- package/dist/cli/task-native-readiness.js.map +1 -1
- package/dist/config.d.ts +183 -232
- package/dist/config.js +232 -107
- package/dist/config.js.map +1 -1
- package/dist/daemon/ai-units-gate.d.ts +54 -0
- package/dist/daemon/ai-units-gate.js +82 -0
- package/dist/daemon/ai-units-gate.js.map +1 -0
- package/dist/daemon/creator.js +13 -0
- package/dist/daemon/creator.js.map +1 -1
- package/dist/daemon/daemon.d.ts +10 -0
- package/dist/daemon/daemon.js +203 -30
- package/dist/daemon/daemon.js.map +1 -1
- package/dist/daemon/gate-logger.d.ts +9 -0
- package/dist/daemon/gate-logger.js +2 -0
- package/dist/daemon/gate-logger.js.map +1 -0
- package/dist/daemon/jinn-claim-loop.js +22 -4
- package/dist/daemon/jinn-claim-loop.js.map +1 -1
- package/dist/daemon/readiness-gate.d.ts +1 -4
- package/dist/daemon/readiness-gate.js.map +1 -1
- package/dist/daemon/spend-cap-gate.d.ts +40 -0
- package/dist/daemon/spend-cap-gate.js +46 -0
- package/dist/daemon/spend-cap-gate.js.map +1 -0
- package/dist/dashboard/assets/index-CzKxvMcU.css +32 -0
- package/dist/dashboard/assets/index-yVemxHot.js +351 -0
- package/dist/dashboard/index.html +2 -2
- package/dist/discovery/http.js +328 -1
- package/dist/discovery/http.js.map +1 -1
- package/dist/discovery/onchain.js +42 -4
- package/dist/discovery/onchain.js.map +1 -1
- package/dist/discovery/types.d.ts +129 -0
- package/dist/discovery/types.js.map +1 -1
- package/dist/discovery/with-fallback.js +27 -0
- package/dist/discovery/with-fallback.js.map +1 -1
- package/dist/earning/bootstrap.d.ts +8 -3
- package/dist/earning/bootstrap.js +36 -13
- package/dist/earning/bootstrap.js.map +1 -1
- package/dist/earning/safe-adapter.js +23 -11
- package/dist/earning/safe-adapter.js.map +1 -1
- package/dist/earning/types.d.ts +6 -6
- package/dist/earning/viem-clients.d.ts +11 -4
- package/dist/earning/viem-clients.js +14 -5
- package/dist/earning/viem-clients.js.map +1 -1
- package/dist/erc8004/identity.d.ts +19 -3
- package/dist/erc8004/identity.js +38 -11
- package/dist/erc8004/identity.js.map +1 -1
- package/dist/erc8004/index.d.ts +1 -1
- package/dist/erc8004/index.js.map +1 -1
- package/dist/events/types.d.ts +2 -2
- package/dist/harnesses/cost-estimates.d.ts +10 -31
- package/dist/harnesses/cost-estimates.js +11 -43
- package/dist/harnesses/cost-estimates.js.map +1 -1
- package/dist/harnesses/engine/engine.d.ts +28 -4
- package/dist/harnesses/engine/engine.js +103 -17
- package/dist/harnesses/engine/engine.js.map +1 -1
- package/dist/harnesses/engine/persistence.d.ts +21 -4
- package/dist/harnesses/engine/persistence.js +43 -6
- package/dist/harnesses/engine/persistence.js.map +1 -1
- package/dist/harnesses/engine/state.d.ts +9 -0
- package/dist/harnesses/engine/state.js +23 -10
- package/dist/harnesses/engine/state.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/bootstrap.js +4 -2
- package/dist/harnesses/impls/hermes-agent/bootstrap.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/config-builder.d.ts +1 -1
- package/dist/harnesses/impls/hermes-agent/config-builder.js +4 -2
- package/dist/harnesses/impls/hermes-agent/config-builder.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/harness.d.ts +14 -0
- package/dist/harnesses/impls/hermes-agent/harness.js +16 -2
- package/dist/harnesses/impls/hermes-agent/harness.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/prompt.d.ts +6 -6
- package/dist/harnesses/impls/hermes-agent/prompt.js +6 -6
- package/dist/harnesses/impls/learner/adapters/claude-code.d.ts +17 -0
- package/dist/harnesses/impls/learner/adapters/claude-code.js +113 -14
- package/dist/harnesses/impls/learner/adapters/claude-code.js.map +1 -1
- package/dist/harnesses/impls/learner/adapters/codex-code.d.ts +9 -0
- package/dist/harnesses/impls/learner/adapters/codex-code.js +30 -8
- package/dist/harnesses/impls/learner/adapters/codex-code.js.map +1 -1
- package/dist/harnesses/impls/learner/harness.d.ts +24 -0
- package/dist/harnesses/impls/learner/harness.js +27 -3
- package/dist/harnesses/impls/learner/harness.js.map +1 -1
- package/dist/harnesses/impls/learner/harvest.d.ts +1 -1
- package/dist/harnesses/impls/learner/harvest.js +23 -5
- package/dist/harnesses/impls/learner/harvest.js.map +1 -1
- package/dist/harnesses/impls/learner/restoration-patch.d.ts +2 -2
- package/dist/harnesses/impls/learner/restoration-patch.js +25 -6
- package/dist/harnesses/impls/learner/restoration-patch.js.map +1 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js +21 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js.map +1 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.d.ts +74 -5
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js +103 -32
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js.map +1 -1
- package/dist/harnesses/readiness-registry.d.ts +7 -0
- package/dist/harnesses/readiness-registry.js +9 -0
- package/dist/harnesses/readiness-registry.js.map +1 -1
- package/dist/learner/revert-decision.d.ts +59 -0
- package/dist/learner/revert-decision.js +53 -0
- package/dist/learner/revert-decision.js.map +1 -0
- package/dist/learner/revert-stats.d.ts +24 -0
- package/dist/learner/revert-stats.js +44 -0
- package/dist/learner/revert-stats.js.map +1 -0
- package/dist/main.js +177 -104
- package/dist/main.js.map +1 -1
- package/dist/mcp/get-codedigest-reward.d.ts +13 -0
- package/dist/mcp/get-codedigest-reward.js +23 -0
- package/dist/mcp/get-codedigest-reward.js.map +1 -0
- package/dist/mcp/server.js +23 -0
- package/dist/mcp/server.js.map +1 -1
- package/dist/observability/debug-report-assemble.d.ts +43 -0
- package/dist/observability/debug-report-assemble.js +80 -0
- package/dist/observability/debug-report-assemble.js.map +1 -0
- package/dist/observability/emit-event.d.ts +9 -2
- package/dist/observability/emit-event.js +36 -2
- package/dist/observability/emit-event.js.map +1 -1
- package/dist/observability/file-logger.d.ts +69 -0
- package/dist/observability/file-logger.js +177 -0
- package/dist/observability/file-logger.js.map +1 -0
- package/dist/observability/redact-secrets.d.ts +65 -0
- package/dist/observability/redact-secrets.js +300 -0
- package/dist/observability/redact-secrets.js.map +1 -0
- package/dist/observability/tar.d.ts +30 -0
- package/dist/observability/tar.js +102 -0
- package/dist/observability/tar.js.map +1 -0
- package/dist/plugins/learner/skills/learn/consolidator-prompt.md +18 -1
- package/dist/plugins/learner/skills/learn/promoter-prompt.md +72 -1
- package/dist/preflight/pidfile-liveness.d.ts +44 -0
- package/dist/preflight/pidfile-liveness.js +103 -0
- package/dist/preflight/pidfile-liveness.js.map +1 -0
- package/dist/preflight/rpc-network.d.ts +40 -0
- package/dist/preflight/rpc-network.js +67 -1
- package/dist/preflight/rpc-network.js.map +1 -1
- package/dist/rpc/transport.d.ts +109 -0
- package/dist/rpc/transport.js +220 -0
- package/dist/rpc/transport.js.map +1 -0
- package/dist/scripts/donation-consumption-acceptance.js +7 -28
- package/dist/scripts/donation-consumption-acceptance.js.map +1 -1
- package/dist/scripts/swe-rebench-v2-pytest-missing.json +16 -0
- package/dist/solver-nets/prediction-operator-ux.d.ts +1 -2
- package/dist/solver-nets/prediction-operator-ux.js +56 -53
- package/dist/solver-nets/prediction-operator-ux.js.map +1 -1
- package/dist/solver-nets/registry.d.ts +19 -1
- package/dist/solver-nets/registry.js +37 -24
- package/dist/solver-nets/registry.js.map +1 -1
- package/dist/solver-types/_swe-rebench-v2-pool.d.ts +9 -2
- package/dist/solver-types/_swe-rebench-v2-pool.js +15 -20
- package/dist/solver-types/_swe-rebench-v2-pool.js.map +1 -1
- package/dist/solver-types/_swe-rebench-v2-state.d.ts +15 -0
- package/dist/solver-types/_swe-rebench-v2-state.js +19 -0
- package/dist/solver-types/_swe-rebench-v2-state.js.map +1 -1
- package/dist/solver-types/_swe-rebench-v2-validated-pool.d.ts +116 -2
- package/dist/solver-types/_swe-rebench-v2-validated-pool.js +296 -21
- package/dist/solver-types/_swe-rebench-v2-validated-pool.js.map +1 -1
- package/dist/solver-types/swe-rebench-v2-auto.d.ts +20 -11
- package/dist/solver-types/swe-rebench-v2-auto.js +64 -19
- package/dist/solver-types/swe-rebench-v2-auto.js.map +1 -1
- package/dist/solver-types/swe-rebench-v2.d.ts +8 -2
- package/dist/solver-types/swe-rebench-v2.js +127 -11
- package/dist/solver-types/swe-rebench-v2.js.map +1 -1
- package/dist/solvernets/daemon-init.d.ts +1 -1
- package/dist/solvernets/daemon-init.js +19 -4
- package/dist/solvernets/daemon-init.js.map +1 -1
- package/dist/solvernets/launched-record-dispatcher.d.ts +4 -0
- package/dist/solvernets/launched-record-dispatcher.js +10 -4
- package/dist/solvernets/launched-record-dispatcher.js.map +1 -1
- package/dist/solvernets/registry-client-erc8004.js +11 -0
- package/dist/solvernets/registry-client-erc8004.js.map +1 -1
- package/dist/solvernets/store.d.ts +2 -2
- package/dist/spend/ai-units-config.d.ts +39 -0
- package/dist/spend/ai-units-config.js +28 -0
- package/dist/spend/ai-units-config.js.map +1 -0
- package/dist/spend/ai-units.d.ts +89 -0
- package/dist/spend/ai-units.js +156 -0
- package/dist/spend/ai-units.js.map +1 -0
- package/dist/spend/cost-surface-status.d.ts +12 -0
- package/dist/spend/cost-surface-status.js +24 -0
- package/dist/spend/cost-surface-status.js.map +1 -0
- package/dist/spend/credential.d.ts +39 -0
- package/dist/spend/credential.js +71 -0
- package/dist/spend/credential.js.map +1 -0
- package/dist/spend/daemon-config.d.ts +13 -0
- package/dist/spend/daemon-config.js +24 -0
- package/dist/spend/daemon-config.js.map +1 -0
- package/dist/spend/pricing.d.ts +16 -0
- package/dist/spend/pricing.js +26 -0
- package/dist/spend/pricing.js.map +1 -0
- package/dist/spend/record.d.ts +13 -0
- package/dist/spend/record.js +36 -0
- package/dist/spend/record.js.map +1 -0
- package/dist/spend/usage.d.ts +27 -0
- package/dist/spend/usage.js +113 -0
- package/dist/spend/usage.js.map +1 -0
- package/dist/store/store.d.ts +101 -0
- package/dist/store/store.js +304 -4
- package/dist/store/store.js.map +1 -1
- package/dist/trajectory/transcript-parsers/codex-session.d.ts +12 -6
- package/dist/trajectory/transcript-parsers/codex-session.js +114 -13
- package/dist/trajectory/transcript-parsers/codex-session.js.map +1 -1
- package/dist/trajectory/transcript-parsers/types.d.ts +8 -8
- package/dist/trajectory/transcript-session-dirs.d.ts +18 -0
- package/dist/trajectory/transcript-session-dirs.js +85 -0
- package/dist/trajectory/transcript-session-dirs.js.map +1 -0
- package/dist/trajectory/transcript-watcher.d.ts +20 -1
- package/dist/trajectory/transcript-watcher.js +108 -32
- package/dist/trajectory/transcript-watcher.js.map +1 -1
- package/dist/tx-retry.d.ts +25 -0
- package/dist/tx-retry.js +95 -7
- package/dist/tx-retry.js.map +1 -1
- package/dist/types/payloads/portfolio-v0.d.ts +3 -3
- package/dist/types/payloads/prediction-apy-v0.d.ts +3 -3
- package/dist/types/payloads/prediction-v0.d.ts +12 -12
- package/package.json +11 -3
- package/plugins/learner/skills/learn/consolidator-prompt.md +18 -1
- package/plugins/learner/skills/learn/promoter-prompt.md +72 -1
- package/plugins/swe-rebench-v2-diffmin/README.md +10 -9
- package/plugins/swe-rebench-v2-diffmin/jinn.plugin.json +1 -1
- package/plugins/swe-rebench-v2-diffmin/skills/diffmin/SKILL.md +15 -10
- package/plugins/swe-rebench-v2-diffmin/skills/test-map/SKILL.md +10 -12
- package/plugins/swe-rebench-v2-runtime/.claude-plugin/plugin.json +1 -1
- package/plugins/swe-rebench-v2-runtime/.codex-plugin/plugin.json +3 -3
- package/plugins/swe-rebench-v2-runtime/README.md +6 -6
- package/plugins/swe-rebench-v2-runtime/jinn.plugin.json +2 -3
- package/plugins/swe-rebench-v2-runtime/skills/task/SKILL.md +81 -0
- package/dist/dashboard/assets/index-BUlE8F3Y.js +0 -330
- package/dist/dashboard/assets/index-blqc7eqq.css +0 -32
- package/plugins/swe-rebench-v2-runtime/skills/orient/SKILL.md +0 -29
- package/plugins/swe-rebench-v2-runtime/skills/plan/SKILL.md +0 -53
package/dist/config.d.ts
CHANGED
|
@@ -15,45 +15,6 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { z } from 'zod';
|
|
17
17
|
import type { Task } from './types/task.js';
|
|
18
|
-
export interface DefaultSolverNetConfig extends Record<string, unknown> {
|
|
19
|
-
enabled?: boolean;
|
|
20
|
-
solverType: string;
|
|
21
|
-
/**
|
|
22
|
-
* Operator-selected roles for this SolverNet. A non-empty subset of
|
|
23
|
-
* `['solving', 'evaluating']`. Multiple roles can run concurrently — the
|
|
24
|
-
* daemon enforces `disallowSolverSelfEvaluation` on-chain so the operator
|
|
25
|
-
* never evaluates its own Solutions, and the on-chain
|
|
26
|
-
* TaskActivityCheckerV3 keeps `solutionDeliveryWeight` and
|
|
27
|
-
* `verdictDeliveryWeight` as independent additive counters.
|
|
28
|
-
*
|
|
29
|
-
* Launcher-side flagging is no longer expressed as an operator role —
|
|
30
|
-
* launcher ownership is determined by the launched-record subsystem
|
|
31
|
-
* (spec/2026-05-05-solvernet-creation-and-launch.md §11). Operator config
|
|
32
|
-
* carries only the participation roles.
|
|
33
|
-
*
|
|
34
|
-
* Legacy `role: 'solving' | 'evaluating'` configs are auto-migrated to
|
|
35
|
-
* `roles: [<role>]` by the loader (zod preprocessor on solverNets[*]).
|
|
36
|
-
*/
|
|
37
|
-
roles?: Array<'solving' | 'evaluating'>;
|
|
38
|
-
harness?: string;
|
|
39
|
-
model?: string;
|
|
40
|
-
plugins?: Array<string | {
|
|
41
|
-
name?: string;
|
|
42
|
-
source: string;
|
|
43
|
-
version?: string;
|
|
44
|
-
}>;
|
|
45
|
-
taskGenerator?: {
|
|
46
|
-
enabled?: boolean;
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Default `solverNets` is empty per Decision 5 of
|
|
51
|
-
* spec/2026-05-05-solvernet-creation-and-launch.md — pre-release, no
|
|
52
|
-
* migration burden. Fresh installs no longer seed the `prediction` entry;
|
|
53
|
-
* the operator joins SolverNets through the registry (Task 21's
|
|
54
|
-
* `joinedSolverNets` block).
|
|
55
|
-
*/
|
|
56
|
-
export declare const DEFAULT_SOLVER_NETS: Record<string, DefaultSolverNetConfig>;
|
|
57
18
|
export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
58
19
|
/**
|
|
59
20
|
* Network to connect to.
|
|
@@ -64,19 +25,24 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
64
25
|
*/
|
|
65
26
|
network: z.ZodDefault<z.ZodEnum<["mainnet", "testnet"]>>;
|
|
66
27
|
/**
|
|
67
|
-
* Base RPC endpoint.
|
|
68
|
-
*
|
|
69
|
-
*
|
|
28
|
+
* Base RPC endpoint(s). Accepts either a single URL string or an array of
|
|
29
|
+
* URLs. When an array (or a comma-separated env var) is supplied, the
|
|
30
|
+
* daemon builds a viem `fallback()` chain in slot order (primary first).
|
|
31
|
+
* See `client/src/rpc/transport.ts` for the wrapper. Defaults to the
|
|
32
|
+
* publicnode+sepolia.base.org two-provider chain on testnet and the public
|
|
33
|
+
* `mainnet.base.org` on mainnet. Set explicitly to override.
|
|
34
|
+
*
|
|
35
|
+
* Env: JINN_RPC_URL / BASE_SEPOLIA_RPC_URL / BASE_RPC_URL (comma-separated).
|
|
70
36
|
*/
|
|
71
|
-
rpcUrl: z.ZodOptional<z.ZodString
|
|
72
|
-
archiveRpcUrl: z.ZodOptional<z.ZodString
|
|
37
|
+
rpcUrl: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
|
|
38
|
+
archiveRpcUrl: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
|
|
73
39
|
/**
|
|
74
|
-
* Optional L2 proof/archive RPC endpoint for canonical cross-chain canaries.
|
|
40
|
+
* Optional L2 proof/archive RPC endpoint(s) for canonical cross-chain canaries.
|
|
75
41
|
* The daemon can use its normal rpcUrl for writes while proof construction
|
|
76
42
|
* uses this endpoint for historical eth_getProof at OP dispute-game blocks.
|
|
77
|
-
* Env: JINN_L2_PROOF_RPC_URL.
|
|
43
|
+
* Accepts string or array form (see rpcUrl). Env: JINN_L2_PROOF_RPC_URL.
|
|
78
44
|
*/
|
|
79
|
-
l2ProofRpcUrl: z.ZodOptional<z.ZodString
|
|
45
|
+
l2ProofRpcUrl: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
|
|
80
46
|
/** Earning state directory */
|
|
81
47
|
earningDir: z.ZodDefault<z.ZodString>;
|
|
82
48
|
/** SQLite database path */
|
|
@@ -193,6 +159,16 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
193
159
|
* backlog while proving one fresh task path.
|
|
194
160
|
*/
|
|
195
161
|
taskDiscoveryAllowedTaskIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
162
|
+
/**
|
|
163
|
+
* Opt-in lower bound (L2 block number) for the mech adapter's canonical
|
|
164
|
+
* on-chain TaskCreated backlog scan. Unset → the adapter's per-chain default
|
|
165
|
+
* (DEFAULT_TASK_DISCOVERY_FROM_BLOCK) flows through (see gh #300). Set this to
|
|
166
|
+
* a recent block to bound the scan to a small recent window so the indexer
|
|
167
|
+
* (DiscoveryAPI.findClaimableTasks) carries the bulk of discovery — the
|
|
168
|
+
* canonical getLogs scan over a large/bloated history parses huge responses
|
|
169
|
+
* on the main thread and can stall the event loop. Env: JINN_TASK_DISCOVERY_FROM_BLOCK.
|
|
170
|
+
*/
|
|
171
|
+
taskDiscoveryOnchainFromBlock: z.ZodOptional<z.ZodNumber>;
|
|
196
172
|
/** This node's public HTTP endpoint (for 8004 registration) */
|
|
197
173
|
nodeEndpoint: z.ZodOptional<z.ZodString>;
|
|
198
174
|
/** Tasks to create and solve. Empty by default; enabled SolverNet generators fill the loop. */
|
|
@@ -970,18 +946,19 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
970
946
|
*/
|
|
971
947
|
jinnMviL2DeploymentPath: z.ZodOptional<z.ZodString>;
|
|
972
948
|
/**
|
|
973
|
-
* RPC endpoint for the L1 governance chain (Ethereum / Sepolia) where
|
|
974
|
-
* JinnDistributor lives.
|
|
975
|
-
*
|
|
976
|
-
*
|
|
949
|
+
* RPC endpoint(s) for the L1 governance chain (Ethereum / Sepolia) where
|
|
950
|
+
* the JinnDistributor lives. Accepts string or array form (see rpcUrl) and
|
|
951
|
+
* supports comma-separated env values. Testnet defaults to a public Sepolia
|
|
952
|
+
* RPC; mainnet requires an operator override when L1 submit mode is
|
|
953
|
+
* configured. Env: JINN_ETHEREUM_RPC_URL.
|
|
977
954
|
*/
|
|
978
|
-
ethereumRpcUrl: z.ZodOptional<z.ZodString
|
|
955
|
+
ethereumRpcUrl: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
|
|
979
956
|
/**
|
|
980
|
-
* Optional archive RPC endpoint for the L1 governance chain. Used for
|
|
981
|
-
* historical block lookups when constructing canonical-mode proofs.
|
|
982
|
-
* Env: JINN_ETHEREUM_ARCHIVE_RPC_URL.
|
|
957
|
+
* Optional archive RPC endpoint(s) for the L1 governance chain. Used for
|
|
958
|
+
* historical block lookups when constructing canonical-mode proofs. Accepts
|
|
959
|
+
* string or array form. Env: JINN_ETHEREUM_ARCHIVE_RPC_URL.
|
|
983
960
|
*/
|
|
984
|
-
ethereumArchiveRpcUrl: z.ZodOptional<z.ZodString
|
|
961
|
+
ethereumArchiveRpcUrl: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
|
|
985
962
|
/**
|
|
986
963
|
* L1 network used by the cross-chain claim loop. 'sepolia' tracks Base
|
|
987
964
|
* Sepolia testnet; 'ethereum' tracks Base mainnet. Defaults to 'sepolia'
|
|
@@ -1137,97 +1114,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1137
1114
|
mode?: "train" | "frozen" | undefined;
|
|
1138
1115
|
}>>;
|
|
1139
1116
|
/**
|
|
1140
|
-
*
|
|
1141
|
-
*
|
|
1142
|
-
* Each entry's `roles` is a non-empty subset of `['solving', 'evaluating']`.
|
|
1143
|
-
* Multiple roles can run concurrently for the same SolverNet; the
|
|
1144
|
-
* protocol-level `disallowSolverSelfEvaluation` flag prevents the operator
|
|
1145
|
-
* from evaluating its own Solutions and the on-chain
|
|
1146
|
-
* TaskActivityCheckerV3 tracks Solution and Verdict counters independently
|
|
1147
|
-
* (additive into `eligibleActivityWeight`).
|
|
1148
|
-
*
|
|
1149
|
-
* Launcher ownership lives in the launched-record subsystem
|
|
1150
|
-
* (spec/2026-05-05-solvernet-creation-and-launch.md §11), not in operator
|
|
1151
|
-
* config — there is no `'launching'` operator role. Legacy entries that
|
|
1152
|
-
* include `'launching'` in `roles` have it stripped by the preprocessor so
|
|
1153
|
-
* older config files keep loading.
|
|
1154
|
-
*
|
|
1155
|
-
* Backwards-compat: a legacy `role: 'solving' | 'evaluating'` field is
|
|
1156
|
-
* auto-promoted to `roles: [<role>]` by the zod preprocessor below so
|
|
1157
|
-
* existing `~/.jinn-client/config.json` files keep loading without an
|
|
1158
|
-
* operator migration step.
|
|
1159
|
-
*/
|
|
1160
|
-
solverNets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodEffects<z.ZodObject<{
|
|
1161
|
-
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1162
|
-
solverType: z.ZodString;
|
|
1163
|
-
roles: z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodEnum<["solving", "evaluating"]>, "many">>, ("solving" | "evaluating")[], ("solving" | "evaluating")[] | undefined>;
|
|
1164
|
-
harness: z.ZodDefault<z.ZodEffects<z.ZodString, string, string>>;
|
|
1165
|
-
model: z.ZodOptional<z.ZodString>;
|
|
1166
|
-
plugins: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
|
|
1167
|
-
name: z.ZodOptional<z.ZodString>;
|
|
1168
|
-
source: z.ZodString;
|
|
1169
|
-
version: z.ZodOptional<z.ZodString>;
|
|
1170
|
-
}, "strip", z.ZodTypeAny, {
|
|
1171
|
-
source: string;
|
|
1172
|
-
name?: string | undefined;
|
|
1173
|
-
version?: string | undefined;
|
|
1174
|
-
}, {
|
|
1175
|
-
source: string;
|
|
1176
|
-
name?: string | undefined;
|
|
1177
|
-
version?: string | undefined;
|
|
1178
|
-
}>]>, "many">>;
|
|
1179
|
-
taskGenerator: z.ZodDefault<z.ZodObject<{
|
|
1180
|
-
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1181
|
-
}, "strip", z.ZodTypeAny, {
|
|
1182
|
-
enabled: boolean;
|
|
1183
|
-
}, {
|
|
1184
|
-
enabled?: boolean | undefined;
|
|
1185
|
-
}>>;
|
|
1186
|
-
}, "strip", z.ZodTypeAny, {
|
|
1187
|
-
solverType: string;
|
|
1188
|
-
enabled: boolean;
|
|
1189
|
-
roles: ("solving" | "evaluating")[];
|
|
1190
|
-
harness: string;
|
|
1191
|
-
plugins: (string | {
|
|
1192
|
-
source: string;
|
|
1193
|
-
name?: string | undefined;
|
|
1194
|
-
version?: string | undefined;
|
|
1195
|
-
})[];
|
|
1196
|
-
taskGenerator: {
|
|
1197
|
-
enabled: boolean;
|
|
1198
|
-
};
|
|
1199
|
-
model?: string | undefined;
|
|
1200
|
-
}, {
|
|
1201
|
-
solverType: string;
|
|
1202
|
-
enabled?: boolean | undefined;
|
|
1203
|
-
roles?: ("solving" | "evaluating")[] | undefined;
|
|
1204
|
-
harness?: string | undefined;
|
|
1205
|
-
model?: string | undefined;
|
|
1206
|
-
plugins?: (string | {
|
|
1207
|
-
source: string;
|
|
1208
|
-
name?: string | undefined;
|
|
1209
|
-
version?: string | undefined;
|
|
1210
|
-
})[] | undefined;
|
|
1211
|
-
taskGenerator?: {
|
|
1212
|
-
enabled?: boolean | undefined;
|
|
1213
|
-
} | undefined;
|
|
1214
|
-
}>, {
|
|
1215
|
-
solverType: string;
|
|
1216
|
-
enabled: boolean;
|
|
1217
|
-
roles: ("solving" | "evaluating")[];
|
|
1218
|
-
harness: string;
|
|
1219
|
-
plugins: (string | {
|
|
1220
|
-
source: string;
|
|
1221
|
-
name?: string | undefined;
|
|
1222
|
-
version?: string | undefined;
|
|
1223
|
-
})[];
|
|
1224
|
-
taskGenerator: {
|
|
1225
|
-
enabled: boolean;
|
|
1226
|
-
};
|
|
1227
|
-
model?: string | undefined;
|
|
1228
|
-
}, unknown>>>;
|
|
1229
|
-
/**
|
|
1230
|
-
* Manifest-keyed joined SolverNets (Task 21).
|
|
1117
|
+
* Manifest-keyed joined SolverNets.
|
|
1231
1118
|
*
|
|
1232
1119
|
* Spec: spec/2026-05-05-solvernet-creation-and-launch.md §12.
|
|
1233
1120
|
*
|
|
@@ -1236,10 +1123,10 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1236
1123
|
* (CIDv0 / CIDv1) — the only stable identifier that maps back to a
|
|
1237
1124
|
* launched-instance authority across launchers.
|
|
1238
1125
|
*
|
|
1239
|
-
*
|
|
1240
|
-
*
|
|
1241
|
-
*
|
|
1242
|
-
*
|
|
1126
|
+
* The daemon narrows this block into runtime SolverNet registry entries on
|
|
1127
|
+
* restart. Legacy short-name-keyed `solverNets` blocks on operator config
|
|
1128
|
+
* files are auto-migrated into synthetic `legacy:<short-name>`-keyed
|
|
1129
|
+
* entries at load time (see `migrateLegacySolverNets`).
|
|
1243
1130
|
*/
|
|
1244
1131
|
joinedSolverNets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
1245
1132
|
manifestCid: z.ZodString;
|
|
@@ -1260,28 +1147,28 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1260
1147
|
plugins: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
1261
1148
|
disabledDefaultPlugins: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
1262
1149
|
}, "strip", z.ZodTypeAny, {
|
|
1150
|
+
manifestCid: string;
|
|
1263
1151
|
roles: ("solver" | "evaluator")[];
|
|
1264
1152
|
plugins: string[];
|
|
1265
|
-
manifestCid: string;
|
|
1266
1153
|
disabledDefaultPlugins: string[];
|
|
1267
1154
|
name?: string | undefined;
|
|
1268
1155
|
harness?: string | undefined;
|
|
1269
|
-
model?: string | undefined;
|
|
1270
1156
|
contract?: {
|
|
1271
1157
|
id: string;
|
|
1272
1158
|
version: string;
|
|
1273
1159
|
} | undefined;
|
|
1160
|
+
model?: string | undefined;
|
|
1274
1161
|
}, {
|
|
1275
|
-
roles: ("solver" | "evaluator")[];
|
|
1276
1162
|
manifestCid: string;
|
|
1163
|
+
roles: ("solver" | "evaluator")[];
|
|
1277
1164
|
name?: string | undefined;
|
|
1278
1165
|
harness?: string | undefined;
|
|
1279
|
-
model?: string | undefined;
|
|
1280
|
-
plugins?: string[] | undefined;
|
|
1281
1166
|
contract?: {
|
|
1282
1167
|
id: string;
|
|
1283
1168
|
version: string;
|
|
1284
1169
|
} | undefined;
|
|
1170
|
+
model?: string | undefined;
|
|
1171
|
+
plugins?: string[] | undefined;
|
|
1285
1172
|
disabledDefaultPlugins?: string[] | undefined;
|
|
1286
1173
|
}>>>;
|
|
1287
1174
|
/**
|
|
@@ -1438,10 +1325,36 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1438
1325
|
* Env: JINN_REPUTATION_ENABLED
|
|
1439
1326
|
*/
|
|
1440
1327
|
reputationEnabled: z.ZodDefault<z.ZodBoolean>;
|
|
1328
|
+
/**
|
|
1329
|
+
* Per-credential daily spend caps (USD). Keys are credential identifiers
|
|
1330
|
+
* (e.g. `'anthropic:api-key'`); values are positive numbers representing
|
|
1331
|
+
* the maximum USD spend per day for that credential.
|
|
1332
|
+
*
|
|
1333
|
+
* `JINN_SPEND_CAP_USD` (env-only, consumed directly by the spend-budget
|
|
1334
|
+
* subsystem in Task 9) is tracked for provenance in TRACKED_ENV_VARS below
|
|
1335
|
+
* but is NOT a config-file field and has no entry in this schema.
|
|
1336
|
+
*/
|
|
1337
|
+
spendCaps: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
1338
|
+
/**
|
|
1339
|
+
* Operator-local SolverPlugin trust state.
|
|
1340
|
+
*
|
|
1341
|
+
* `blockedCids` is the list of plug-in CIDs the operator has chosen to
|
|
1342
|
+
* refuse to load — populated by `jinn solver-plugins block <cid>` and read
|
|
1343
|
+
* at daemon startup. The block list complements the on-chain
|
|
1344
|
+
* `giveFeedback(score=0)` write (which is the public-trust signal); the
|
|
1345
|
+
* local list is the operator's own refusal to execute, applied even when
|
|
1346
|
+
* the network write fails. File-managed only — no env override.
|
|
1347
|
+
*
|
|
1348
|
+
* See spec/2026-05-26-117-design.md "Failure modes" and "Local-only effects".
|
|
1349
|
+
*/
|
|
1350
|
+
solverPlugins: z.ZodDefault<z.ZodObject<{
|
|
1351
|
+
blockedCids: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
1352
|
+
}, "strip", z.ZodTypeAny, {
|
|
1353
|
+
blockedCids: string[];
|
|
1354
|
+
}, {
|
|
1355
|
+
blockedCids?: string[] | undefined;
|
|
1356
|
+
}>>;
|
|
1441
1357
|
}, "strip", z.ZodTypeAny, {
|
|
1442
|
-
harness: {
|
|
1443
|
-
mode: "train" | "frozen";
|
|
1444
|
-
};
|
|
1445
1358
|
network: "testnet" | "mainnet";
|
|
1446
1359
|
earningDir: string;
|
|
1447
1360
|
dbPath: string;
|
|
@@ -1536,21 +1449,9 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1536
1449
|
stakingMode: "standard" | "self-bond";
|
|
1537
1450
|
targetServices: number;
|
|
1538
1451
|
debug: boolean;
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
roles: ("solving" | "evaluating")[];
|
|
1543
|
-
harness: string;
|
|
1544
|
-
plugins: (string | {
|
|
1545
|
-
source: string;
|
|
1546
|
-
name?: string | undefined;
|
|
1547
|
-
version?: string | undefined;
|
|
1548
|
-
})[];
|
|
1549
|
-
taskGenerator: {
|
|
1550
|
-
enabled: boolean;
|
|
1551
|
-
};
|
|
1552
|
-
model?: string | undefined;
|
|
1553
|
-
}>;
|
|
1452
|
+
harness: {
|
|
1453
|
+
mode: "train" | "frozen";
|
|
1454
|
+
};
|
|
1554
1455
|
captures: {
|
|
1555
1456
|
llmProxy: {
|
|
1556
1457
|
enabled: boolean;
|
|
@@ -1559,9 +1460,12 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1559
1460
|
};
|
|
1560
1461
|
runLegacyMigrations: boolean;
|
|
1561
1462
|
reputationEnabled: boolean;
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1463
|
+
solverPlugins: {
|
|
1464
|
+
blockedCids: string[];
|
|
1465
|
+
};
|
|
1466
|
+
rpcUrl?: string | string[] | undefined;
|
|
1467
|
+
archiveRpcUrl?: string | string[] | undefined;
|
|
1468
|
+
l2ProofRpcUrl?: string | string[] | undefined;
|
|
1565
1469
|
apiBindHost?: string | undefined;
|
|
1566
1470
|
hermesPath?: string | undefined;
|
|
1567
1471
|
hermesModel?: string | undefined;
|
|
@@ -1574,6 +1478,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1574
1478
|
fallbackToOnchain?: boolean | undefined;
|
|
1575
1479
|
} | undefined;
|
|
1576
1480
|
taskDiscoveryAllowedTaskIds?: string[] | undefined;
|
|
1481
|
+
taskDiscoveryOnchainFromBlock?: number | undefined;
|
|
1577
1482
|
nodeEndpoint?: string | undefined;
|
|
1578
1483
|
testnetL2DeploymentPath?: string | undefined;
|
|
1579
1484
|
testnetL2TokenDeploymentPath?: string | undefined;
|
|
@@ -1581,8 +1486,8 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1581
1486
|
testnetStolasDeploymentPath?: string | undefined;
|
|
1582
1487
|
jinnMviL1DeploymentPath?: string | undefined;
|
|
1583
1488
|
jinnMviL2DeploymentPath?: string | undefined;
|
|
1584
|
-
ethereumRpcUrl?: string | undefined;
|
|
1585
|
-
ethereumArchiveRpcUrl?: string | undefined;
|
|
1489
|
+
ethereumRpcUrl?: string | string[] | undefined;
|
|
1490
|
+
ethereumArchiveRpcUrl?: string | string[] | undefined;
|
|
1586
1491
|
jinnDistributorAddress?: string | undefined;
|
|
1587
1492
|
jinnClaimEmitterAddress?: string | undefined;
|
|
1588
1493
|
jinnMessengerAddress?: string | undefined;
|
|
@@ -1600,17 +1505,17 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1600
1505
|
}[] | undefined;
|
|
1601
1506
|
} | undefined;
|
|
1602
1507
|
joinedSolverNets?: Record<string, {
|
|
1508
|
+
manifestCid: string;
|
|
1603
1509
|
roles: ("solver" | "evaluator")[];
|
|
1604
1510
|
plugins: string[];
|
|
1605
|
-
manifestCid: string;
|
|
1606
1511
|
disabledDefaultPlugins: string[];
|
|
1607
1512
|
name?: string | undefined;
|
|
1608
1513
|
harness?: string | undefined;
|
|
1609
|
-
model?: string | undefined;
|
|
1610
1514
|
contract?: {
|
|
1611
1515
|
id: string;
|
|
1612
1516
|
version: string;
|
|
1613
1517
|
} | undefined;
|
|
1518
|
+
model?: string | undefined;
|
|
1614
1519
|
}> | undefined;
|
|
1615
1520
|
trustedImplSigners?: {
|
|
1616
1521
|
publicKey: string;
|
|
@@ -1631,14 +1536,12 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1631
1536
|
} | undefined;
|
|
1632
1537
|
identityRegistryAddress?: string | undefined;
|
|
1633
1538
|
validationRegistryAddress?: string | undefined;
|
|
1539
|
+
spendCaps?: Record<string, number> | undefined;
|
|
1634
1540
|
}, {
|
|
1635
|
-
harness?: {
|
|
1636
|
-
mode?: "train" | "frozen" | undefined;
|
|
1637
|
-
} | undefined;
|
|
1638
1541
|
network?: "testnet" | "mainnet" | undefined;
|
|
1639
|
-
rpcUrl?: string | undefined;
|
|
1640
|
-
archiveRpcUrl?: string | undefined;
|
|
1641
|
-
l2ProofRpcUrl?: string | undefined;
|
|
1542
|
+
rpcUrl?: string | string[] | undefined;
|
|
1543
|
+
archiveRpcUrl?: string | string[] | undefined;
|
|
1544
|
+
l2ProofRpcUrl?: string | string[] | undefined;
|
|
1642
1545
|
earningDir?: string | undefined;
|
|
1643
1546
|
dbPath?: string | undefined;
|
|
1644
1547
|
pollIntervalMs?: number | undefined;
|
|
@@ -1664,6 +1567,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1664
1567
|
fallbackToOnchain?: boolean | undefined;
|
|
1665
1568
|
} | undefined;
|
|
1666
1569
|
taskDiscoveryAllowedTaskIds?: string[] | undefined;
|
|
1570
|
+
taskDiscoveryOnchainFromBlock?: number | undefined;
|
|
1667
1571
|
nodeEndpoint?: string | undefined;
|
|
1668
1572
|
tasks?: {
|
|
1669
1573
|
id?: string | undefined;
|
|
@@ -1783,8 +1687,8 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1783
1687
|
testnetStolasDeploymentPath?: string | undefined;
|
|
1784
1688
|
jinnMviL1DeploymentPath?: string | undefined;
|
|
1785
1689
|
jinnMviL2DeploymentPath?: string | undefined;
|
|
1786
|
-
ethereumRpcUrl?: string | undefined;
|
|
1787
|
-
ethereumArchiveRpcUrl?: string | undefined;
|
|
1690
|
+
ethereumRpcUrl?: string | string[] | undefined;
|
|
1691
|
+
ethereumArchiveRpcUrl?: string | string[] | undefined;
|
|
1788
1692
|
jinnL1Network?: "sepolia" | "ethereum" | undefined;
|
|
1789
1693
|
jinnDistributorAddress?: string | undefined;
|
|
1790
1694
|
jinnClaimEmitterAddress?: string | undefined;
|
|
@@ -1809,18 +1713,20 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1809
1713
|
version?: string | undefined;
|
|
1810
1714
|
}[] | undefined;
|
|
1811
1715
|
} | undefined;
|
|
1812
|
-
|
|
1716
|
+
harness?: {
|
|
1717
|
+
mode?: "train" | "frozen" | undefined;
|
|
1718
|
+
} | undefined;
|
|
1813
1719
|
joinedSolverNets?: Record<string, {
|
|
1814
|
-
roles: ("solver" | "evaluator")[];
|
|
1815
1720
|
manifestCid: string;
|
|
1721
|
+
roles: ("solver" | "evaluator")[];
|
|
1816
1722
|
name?: string | undefined;
|
|
1817
1723
|
harness?: string | undefined;
|
|
1818
|
-
model?: string | undefined;
|
|
1819
|
-
plugins?: string[] | undefined;
|
|
1820
1724
|
contract?: {
|
|
1821
1725
|
id: string;
|
|
1822
1726
|
version: string;
|
|
1823
1727
|
} | undefined;
|
|
1728
|
+
model?: string | undefined;
|
|
1729
|
+
plugins?: string[] | undefined;
|
|
1824
1730
|
disabledDefaultPlugins?: string[] | undefined;
|
|
1825
1731
|
}> | undefined;
|
|
1826
1732
|
trustedImplSigners?: {
|
|
@@ -1850,10 +1756,11 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1850
1756
|
identityRegistryAddress?: string | undefined;
|
|
1851
1757
|
validationRegistryAddress?: string | undefined;
|
|
1852
1758
|
reputationEnabled?: boolean | undefined;
|
|
1759
|
+
spendCaps?: Record<string, number> | undefined;
|
|
1760
|
+
solverPlugins?: {
|
|
1761
|
+
blockedCids?: string[] | undefined;
|
|
1762
|
+
} | undefined;
|
|
1853
1763
|
}>, {
|
|
1854
|
-
harness: {
|
|
1855
|
-
mode: "train" | "frozen";
|
|
1856
|
-
};
|
|
1857
1764
|
network: "testnet" | "mainnet";
|
|
1858
1765
|
earningDir: string;
|
|
1859
1766
|
dbPath: string;
|
|
@@ -1948,21 +1855,9 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1948
1855
|
stakingMode: "standard" | "self-bond";
|
|
1949
1856
|
targetServices: number;
|
|
1950
1857
|
debug: boolean;
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
roles: ("solving" | "evaluating")[];
|
|
1955
|
-
harness: string;
|
|
1956
|
-
plugins: (string | {
|
|
1957
|
-
source: string;
|
|
1958
|
-
name?: string | undefined;
|
|
1959
|
-
version?: string | undefined;
|
|
1960
|
-
})[];
|
|
1961
|
-
taskGenerator: {
|
|
1962
|
-
enabled: boolean;
|
|
1963
|
-
};
|
|
1964
|
-
model?: string | undefined;
|
|
1965
|
-
}>;
|
|
1858
|
+
harness: {
|
|
1859
|
+
mode: "train" | "frozen";
|
|
1860
|
+
};
|
|
1966
1861
|
captures: {
|
|
1967
1862
|
llmProxy: {
|
|
1968
1863
|
enabled: boolean;
|
|
@@ -1971,9 +1866,12 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1971
1866
|
};
|
|
1972
1867
|
runLegacyMigrations: boolean;
|
|
1973
1868
|
reputationEnabled: boolean;
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
1869
|
+
solverPlugins: {
|
|
1870
|
+
blockedCids: string[];
|
|
1871
|
+
};
|
|
1872
|
+
rpcUrl?: string | string[] | undefined;
|
|
1873
|
+
archiveRpcUrl?: string | string[] | undefined;
|
|
1874
|
+
l2ProofRpcUrl?: string | string[] | undefined;
|
|
1977
1875
|
apiBindHost?: string | undefined;
|
|
1978
1876
|
hermesPath?: string | undefined;
|
|
1979
1877
|
hermesModel?: string | undefined;
|
|
@@ -1986,6 +1884,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1986
1884
|
fallbackToOnchain?: boolean | undefined;
|
|
1987
1885
|
} | undefined;
|
|
1988
1886
|
taskDiscoveryAllowedTaskIds?: string[] | undefined;
|
|
1887
|
+
taskDiscoveryOnchainFromBlock?: number | undefined;
|
|
1989
1888
|
nodeEndpoint?: string | undefined;
|
|
1990
1889
|
testnetL2DeploymentPath?: string | undefined;
|
|
1991
1890
|
testnetL2TokenDeploymentPath?: string | undefined;
|
|
@@ -1993,8 +1892,8 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1993
1892
|
testnetStolasDeploymentPath?: string | undefined;
|
|
1994
1893
|
jinnMviL1DeploymentPath?: string | undefined;
|
|
1995
1894
|
jinnMviL2DeploymentPath?: string | undefined;
|
|
1996
|
-
ethereumRpcUrl?: string | undefined;
|
|
1997
|
-
ethereumArchiveRpcUrl?: string | undefined;
|
|
1895
|
+
ethereumRpcUrl?: string | string[] | undefined;
|
|
1896
|
+
ethereumArchiveRpcUrl?: string | string[] | undefined;
|
|
1998
1897
|
jinnDistributorAddress?: string | undefined;
|
|
1999
1898
|
jinnClaimEmitterAddress?: string | undefined;
|
|
2000
1899
|
jinnMessengerAddress?: string | undefined;
|
|
@@ -2012,17 +1911,17 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2012
1911
|
}[] | undefined;
|
|
2013
1912
|
} | undefined;
|
|
2014
1913
|
joinedSolverNets?: Record<string, {
|
|
1914
|
+
manifestCid: string;
|
|
2015
1915
|
roles: ("solver" | "evaluator")[];
|
|
2016
1916
|
plugins: string[];
|
|
2017
|
-
manifestCid: string;
|
|
2018
1917
|
disabledDefaultPlugins: string[];
|
|
2019
1918
|
name?: string | undefined;
|
|
2020
1919
|
harness?: string | undefined;
|
|
2021
|
-
model?: string | undefined;
|
|
2022
1920
|
contract?: {
|
|
2023
1921
|
id: string;
|
|
2024
1922
|
version: string;
|
|
2025
1923
|
} | undefined;
|
|
1924
|
+
model?: string | undefined;
|
|
2026
1925
|
}> | undefined;
|
|
2027
1926
|
trustedImplSigners?: {
|
|
2028
1927
|
publicKey: string;
|
|
@@ -2043,14 +1942,12 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2043
1942
|
} | undefined;
|
|
2044
1943
|
identityRegistryAddress?: string | undefined;
|
|
2045
1944
|
validationRegistryAddress?: string | undefined;
|
|
1945
|
+
spendCaps?: Record<string, number> | undefined;
|
|
2046
1946
|
}, {
|
|
2047
|
-
harness?: {
|
|
2048
|
-
mode?: "train" | "frozen" | undefined;
|
|
2049
|
-
} | undefined;
|
|
2050
1947
|
network?: "testnet" | "mainnet" | undefined;
|
|
2051
|
-
rpcUrl?: string | undefined;
|
|
2052
|
-
archiveRpcUrl?: string | undefined;
|
|
2053
|
-
l2ProofRpcUrl?: string | undefined;
|
|
1948
|
+
rpcUrl?: string | string[] | undefined;
|
|
1949
|
+
archiveRpcUrl?: string | string[] | undefined;
|
|
1950
|
+
l2ProofRpcUrl?: string | string[] | undefined;
|
|
2054
1951
|
earningDir?: string | undefined;
|
|
2055
1952
|
dbPath?: string | undefined;
|
|
2056
1953
|
pollIntervalMs?: number | undefined;
|
|
@@ -2076,6 +1973,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2076
1973
|
fallbackToOnchain?: boolean | undefined;
|
|
2077
1974
|
} | undefined;
|
|
2078
1975
|
taskDiscoveryAllowedTaskIds?: string[] | undefined;
|
|
1976
|
+
taskDiscoveryOnchainFromBlock?: number | undefined;
|
|
2079
1977
|
nodeEndpoint?: string | undefined;
|
|
2080
1978
|
tasks?: {
|
|
2081
1979
|
id?: string | undefined;
|
|
@@ -2195,8 +2093,8 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2195
2093
|
testnetStolasDeploymentPath?: string | undefined;
|
|
2196
2094
|
jinnMviL1DeploymentPath?: string | undefined;
|
|
2197
2095
|
jinnMviL2DeploymentPath?: string | undefined;
|
|
2198
|
-
ethereumRpcUrl?: string | undefined;
|
|
2199
|
-
ethereumArchiveRpcUrl?: string | undefined;
|
|
2096
|
+
ethereumRpcUrl?: string | string[] | undefined;
|
|
2097
|
+
ethereumArchiveRpcUrl?: string | string[] | undefined;
|
|
2200
2098
|
jinnL1Network?: "sepolia" | "ethereum" | undefined;
|
|
2201
2099
|
jinnDistributorAddress?: string | undefined;
|
|
2202
2100
|
jinnClaimEmitterAddress?: string | undefined;
|
|
@@ -2221,18 +2119,20 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2221
2119
|
version?: string | undefined;
|
|
2222
2120
|
}[] | undefined;
|
|
2223
2121
|
} | undefined;
|
|
2224
|
-
|
|
2122
|
+
harness?: {
|
|
2123
|
+
mode?: "train" | "frozen" | undefined;
|
|
2124
|
+
} | undefined;
|
|
2225
2125
|
joinedSolverNets?: Record<string, {
|
|
2226
|
-
roles: ("solver" | "evaluator")[];
|
|
2227
2126
|
manifestCid: string;
|
|
2127
|
+
roles: ("solver" | "evaluator")[];
|
|
2228
2128
|
name?: string | undefined;
|
|
2229
2129
|
harness?: string | undefined;
|
|
2230
|
-
model?: string | undefined;
|
|
2231
|
-
plugins?: string[] | undefined;
|
|
2232
2130
|
contract?: {
|
|
2233
2131
|
id: string;
|
|
2234
2132
|
version: string;
|
|
2235
2133
|
} | undefined;
|
|
2134
|
+
model?: string | undefined;
|
|
2135
|
+
plugins?: string[] | undefined;
|
|
2236
2136
|
disabledDefaultPlugins?: string[] | undefined;
|
|
2237
2137
|
}> | undefined;
|
|
2238
2138
|
trustedImplSigners?: {
|
|
@@ -2262,10 +2162,33 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2262
2162
|
identityRegistryAddress?: string | undefined;
|
|
2263
2163
|
validationRegistryAddress?: string | undefined;
|
|
2264
2164
|
reputationEnabled?: boolean | undefined;
|
|
2165
|
+
spendCaps?: Record<string, number> | undefined;
|
|
2166
|
+
solverPlugins?: {
|
|
2167
|
+
blockedCids?: string[] | undefined;
|
|
2168
|
+
} | undefined;
|
|
2265
2169
|
}>;
|
|
2266
|
-
/**
|
|
2267
|
-
|
|
2170
|
+
/**
|
|
2171
|
+
* JinnConfig with rpcUrl guaranteed to be resolved (never undefined) and tasks
|
|
2172
|
+
* with id always assigned.
|
|
2173
|
+
*
|
|
2174
|
+
* `rpcUrl` is the head of the fallback chain (the slot-0 URL) and is kept as
|
|
2175
|
+
* a `string` for display continuity — the ~30 places that log/display
|
|
2176
|
+
* `config.rpcUrl` (provenance, error formatting, `[main] daemon starting on …`)
|
|
2177
|
+
* keep working unchanged. The full chain lives in `rpcUrls: readonly string[]`,
|
|
2178
|
+
* which is what `buildFallbackTransport()` consumes. Same shape for the L1
|
|
2179
|
+
* (ethereum) and optional archive/proof variants.
|
|
2180
|
+
*/
|
|
2181
|
+
export type JinnConfig = Omit<z.infer<typeof JinnConfigSchema>, 'rpcUrl' | 'archiveRpcUrl' | 'l2ProofRpcUrl' | 'ethereumRpcUrl' | 'ethereumArchiveRpcUrl' | 'tasks' | 'engine'> & {
|
|
2268
2182
|
rpcUrl: string;
|
|
2183
|
+
rpcUrls: readonly string[];
|
|
2184
|
+
archiveRpcUrl?: string;
|
|
2185
|
+
archiveRpcUrls?: readonly string[];
|
|
2186
|
+
l2ProofRpcUrl?: string;
|
|
2187
|
+
l2ProofRpcUrls?: readonly string[];
|
|
2188
|
+
ethereumRpcUrl?: string;
|
|
2189
|
+
ethereumRpcUrls?: readonly string[];
|
|
2190
|
+
ethereumArchiveRpcUrl?: string;
|
|
2191
|
+
ethereumArchiveRpcUrls?: readonly string[];
|
|
2269
2192
|
tasks: Task[];
|
|
2270
2193
|
engine: {
|
|
2271
2194
|
workingDirRoot: string;
|
|
@@ -2282,12 +2205,40 @@ export declare const DEFAULT_CONFIG_PATH: string;
|
|
|
2282
2205
|
*/
|
|
2283
2206
|
export declare const DEFAULT_TESTNET_DISCOVERY_URL = "https://jinn-indexer-production.up.railway.app";
|
|
2284
2207
|
export declare const DEFAULT_TESTNET_ETHEREUM_RPC_URL = "https://ethereum-sepolia-rpc.publicnode.com";
|
|
2208
|
+
/**
|
|
2209
|
+
* Default fallback chain for the L2 measurement chain (Base Sepolia) on
|
|
2210
|
+
* testnet. Per AC2 of issue #592:
|
|
2211
|
+
* slot 0 — `https://base-sepolia.publicnode.com` (no-auth, 50k-block
|
|
2212
|
+
* getLogs cap, no shared-quota cliff).
|
|
2213
|
+
* slot 1 — `https://sepolia.base.org` (free public Coinbase endpoint,
|
|
2214
|
+
* 2k-block cap; last-resort backup).
|
|
2215
|
+
* Operators are encouraged to prepend a paid primary key (Alchemy, Tenderly,
|
|
2216
|
+
* etc.) via `rpcUrl` config or `JINN_RPC_URL` / `BASE_SEPOLIA_RPC_URL` env.
|
|
2217
|
+
*/
|
|
2218
|
+
export declare const DEFAULT_TESTNET_RPC_URLS: readonly string[];
|
|
2285
2219
|
export type ConfigLoadErrorCode = 'config_file_not_found' | 'config_json_invalid' | 'tasks_file_not_found' | 'tasks_json_invalid' | 'config_invalid';
|
|
2286
2220
|
export declare class ConfigLoadError extends Error {
|
|
2287
2221
|
readonly code: ConfigLoadErrorCode;
|
|
2288
2222
|
readonly details?: Record<string, unknown>;
|
|
2289
2223
|
constructor(code: ConfigLoadErrorCode, message: string, details?: Record<string, unknown>);
|
|
2290
2224
|
}
|
|
2225
|
+
/**
|
|
2226
|
+
* Translate any legacy short-name-keyed `solverNets` block on the raw parsed
|
|
2227
|
+
* config into manifest-keyed `joinedSolverNets` entries with synthetic
|
|
2228
|
+
* `legacy:<short-name>` keys.
|
|
2229
|
+
*
|
|
2230
|
+
* This is the auto-migration path for operators upgrading past issue #421.
|
|
2231
|
+
* The runtime claim filter remains manifest-digest gated, so synthetic-keyed
|
|
2232
|
+
* entries don't change task eligibility — they exist purely so the diagnostic
|
|
2233
|
+
* surfaces (Overview SOLVING-ON eyebrow, prediction-operator-status) keep
|
|
2234
|
+
* showing the operator's previous SolverNets until they re-join via the SPA.
|
|
2235
|
+
*
|
|
2236
|
+
* Returns the number of legacy entries migrated. Idempotent — calling on an
|
|
2237
|
+
* already-migrated raw config is a no-op.
|
|
2238
|
+
*
|
|
2239
|
+
* @param raw — the JSON-parsed config file contents (mutated in place).
|
|
2240
|
+
*/
|
|
2241
|
+
export declare function migrateLegacySolverNets(raw: Record<string, unknown>): number;
|
|
2291
2242
|
/**
|
|
2292
2243
|
* Load config with resolution: env > config file > defaults.
|
|
2293
2244
|
*
|