@jinn-network/client 0.1.6 → 0.1.7-canary.0a586ca9
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/CHANGELOG.md +33 -0
- package/README.md +67 -1
- package/deployments/deployment-jinn-mvi-l1-sepolia-fast.json +23 -4
- package/deployments/deployment-jinn-mvi-l1-sepolia.json +23 -4
- package/deployments/deployment-jinn-mvi-l2-baseSepolia.json +5 -4
- package/dist/adapters/mech/adapter.d.ts +57 -2
- package/dist/adapters/mech/adapter.js +366 -63
- package/dist/adapters/mech/adapter.js.map +1 -1
- package/dist/adapters/mech/contracts.d.ts +17 -4
- package/dist/adapters/mech/contracts.js +19 -4
- package/dist/adapters/mech/contracts.js.map +1 -1
- package/dist/adapters/mech/safe-revert.d.ts +20 -0
- package/dist/adapters/mech/safe-revert.js +12 -4
- package/dist/adapters/mech/safe-revert.js.map +1 -1
- package/dist/adapters/mech/safe.d.ts +6 -2
- package/dist/adapters/mech/safe.js +32 -11
- 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/adapters/mech/verdict-code.d.ts +1 -0
- package/dist/adapters/mech/verdict-code.js +18 -0
- package/dist/adapters/mech/verdict-code.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/admin-endpoint.d.ts +15 -3
- package/dist/api/admin-endpoint.js +24 -2
- package/dist/api/admin-endpoint.js.map +1 -1
- package/dist/api/bootstrap-endpoint.d.ts +1 -2
- package/dist/api/bootstrap-endpoint.js +85 -18
- package/dist/api/bootstrap-endpoint.js.map +1 -1
- package/dist/api/codex-doctor-endpoint.d.ts +90 -0
- package/dist/api/codex-doctor-endpoint.js +296 -0
- package/dist/api/codex-doctor-endpoint.js.map +1 -0
- package/dist/api/discovery-endpoint.d.ts +1 -0
- package/dist/api/discovery-endpoint.js +26 -0
- package/dist/api/discovery-endpoint.js.map +1 -1
- package/dist/api/fleet-build.d.ts +1 -0
- package/dist/api/fleet-build.js +2 -1
- package/dist/api/fleet-build.js.map +1 -1
- package/dist/api/gather-status.d.ts +37 -0
- package/dist/api/gather-status.js +572 -19
- package/dist/api/gather-status.js.map +1 -1
- package/dist/api/hermes-doctor-endpoint.d.ts +128 -3
- package/dist/api/hermes-doctor-endpoint.js +265 -22
- package/dist/api/hermes-doctor-endpoint.js.map +1 -1
- package/dist/api/launcher-status.d.ts +24 -17
- package/dist/api/launcher-status.js +13 -11
- 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 +10 -0
- package/dist/api/portfolio-v0-build.js +24 -5
- package/dist/api/portfolio-v0-build.js.map +1 -1
- package/dist/api/prediction-v1-build.d.ts +10 -0
- package/dist/api/prediction-v1-build.js +7 -1
- package/dist/api/prediction-v1-build.js.map +1 -1
- package/dist/api/server.d.ts +31 -1
- package/dist/api/server.js +95 -2
- package/dist/api/server.js.map +1 -1
- package/dist/api/setup-endpoints.d.ts +7 -0
- package/dist/api/setup-endpoints.js +67 -135
- package/dist/api/setup-endpoints.js.map +1 -1
- package/dist/api/setup-retry-endpoint.d.ts +19 -0
- package/dist/api/setup-retry-endpoint.js +32 -0
- package/dist/api/setup-retry-endpoint.js.map +1 -0
- package/dist/api/solvernets-endpoints.d.ts +8 -0
- package/dist/api/solvernets-endpoints.js +100 -105
- package/dist/api/solvernets-endpoints.js.map +1 -1
- package/dist/api/status-build.d.ts +167 -2
- package/dist/api/status-build.js +118 -27
- 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-run-routing.d.ts +7 -0
- package/dist/api/task-run-routing.js +12 -0
- package/dist/api/task-run-routing.js.map +1 -0
- package/dist/api/task-runs-build.d.ts +21 -0
- package/dist/api/task-runs-build.js +14 -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 +22 -0
- package/dist/chain-read-errors.js +41 -1
- package/dist/chain-read-errors.js.map +1 -1
- package/dist/cli/commands/auth.js +1 -1
- package/dist/cli/commands/auth.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/create.js +3 -2
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts +2 -0
- package/dist/cli/commands/doctor.js +2 -0
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/rewards.js +11 -7
- package/dist/cli/commands/rewards.js.map +1 -1
- package/dist/cli/commands/solver-nets.d.ts +1 -0
- package/dist/cli/commands/solver-nets.js +179 -16
- 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/status.js +1 -1
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/tasks.js +101 -11
- package/dist/cli/commands/tasks.js.map +1 -1
- package/dist/cli/commands/update.d.ts +10 -0
- package/dist/cli/commands/update.js +36 -0
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/introspection-context.js +5 -0
- package/dist/cli/introspection-context.js.map +1 -1
- package/dist/cli/task-native-readiness.d.ts +10 -1
- package/dist/cli/task-native-readiness.js +30 -6
- package/dist/cli/task-native-readiness.js.map +1 -1
- package/dist/config.d.ts +287 -235
- package/dist/config.js +318 -114
- package/dist/config.js.map +1 -1
- package/dist/daemon/checkpoint-loop.d.ts +48 -0
- package/dist/daemon/checkpoint-loop.js +76 -0
- package/dist/daemon/checkpoint-loop.js.map +1 -0
- package/dist/daemon/creator.d.ts +1 -1
- package/dist/daemon/creator.js +20 -3
- package/dist/daemon/creator.js.map +1 -1
- package/dist/daemon/daemon.d.ts +22 -0
- package/dist/daemon/daemon.js +174 -31
- package/dist/daemon/daemon.js.map +1 -1
- package/dist/daemon/eviction-loop.d.ts +40 -0
- package/dist/daemon/eviction-loop.js +67 -0
- package/dist/daemon/eviction-loop.js.map +1 -0
- 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-wiring.d.ts +33 -0
- package/dist/daemon/jinn-claim-loop-wiring.js +40 -0
- package/dist/daemon/jinn-claim-loop-wiring.js.map +1 -0
- package/dist/daemon/jinn-claim-loop.d.ts +24 -17
- package/dist/daemon/jinn-claim-loop.js +77 -23
- 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/skip-log-dedup.d.ts +69 -0
- package/dist/daemon/skip-log-dedup.js +106 -0
- package/dist/daemon/skip-log-dedup.js.map +1 -0
- 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-BNs_ewI6.js +345 -0
- package/dist/dashboard/assets/index-C4huIsUW.css +32 -0
- package/dist/dashboard/index.html +2 -2
- package/dist/discovery/factory.d.ts +17 -5
- package/dist/discovery/factory.js +46 -18
- package/dist/discovery/factory.js.map +1 -1
- package/dist/discovery/http.js +469 -3
- package/dist/discovery/http.js.map +1 -1
- package/dist/discovery/onchain.d.ts +5 -0
- package/dist/discovery/onchain.js +448 -18
- package/dist/discovery/onchain.js.map +1 -1
- package/dist/discovery/types.d.ts +174 -1
- package/dist/discovery/types.js +8 -10
- package/dist/discovery/types.js.map +1 -1
- package/dist/discovery/with-fallback.d.ts +7 -0
- package/dist/discovery/with-fallback.js +37 -0
- package/dist/discovery/with-fallback.js.map +1 -1
- package/dist/earning/bootstrap.d.ts +100 -4
- package/dist/earning/bootstrap.js +239 -76
- package/dist/earning/bootstrap.js.map +1 -1
- package/dist/earning/contracts.d.ts +14 -0
- package/dist/earning/contracts.js +17 -5
- package/dist/earning/contracts.js.map +1 -1
- package/dist/earning/funding-plan.js +27 -18
- package/dist/earning/funding-plan.js.map +1 -1
- package/dist/earning/jinn-rewards.d.ts +46 -0
- package/dist/earning/jinn-rewards.js +32 -0
- package/dist/earning/jinn-rewards.js.map +1 -1
- package/dist/earning/safe-adapter.d.ts +2 -0
- package/dist/earning/safe-adapter.js +37 -11
- package/dist/earning/safe-adapter.js.map +1 -1
- package/dist/earning/store.d.ts +8 -0
- package/dist/earning/store.js.map +1 -1
- package/dist/earning/testnet-setup-migration.d.ts +12 -0
- package/dist/earning/testnet-setup-migration.js +27 -1
- package/dist/earning/testnet-setup-migration.js.map +1 -1
- package/dist/earning/types.d.ts +21 -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 +21 -6
- 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/erc8004/reputation.d.ts +8 -0
- package/dist/erc8004/reputation.js +22 -3
- package/dist/erc8004/reputation.js.map +1 -1
- package/dist/events/types.d.ts +2 -2
- package/dist/harnesses/cost-estimates.d.ts +124 -0
- package/dist/harnesses/cost-estimates.js +265 -0
- package/dist/harnesses/cost-estimates.js.map +1 -0
- package/dist/harnesses/engine/engine.d.ts +78 -0
- package/dist/harnesses/engine/engine.js +153 -11
- package/dist/harnesses/engine/engine.js.map +1 -1
- package/dist/harnesses/engine/persistence.d.ts +51 -1
- package/dist/harnesses/engine/persistence.js +118 -5
- package/dist/harnesses/engine/persistence.js.map +1 -1
- package/dist/harnesses/engine/work-dir-reaper.d.ts +65 -0
- package/dist/harnesses/engine/work-dir-reaper.js +100 -0
- package/dist/harnesses/engine/work-dir-reaper.js.map +1 -0
- package/dist/harnesses/impls/hermes-agent/adapter.js +40 -0
- package/dist/harnesses/impls/hermes-agent/adapter.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/bootstrap.d.ts +20 -0
- package/dist/harnesses/impls/hermes-agent/bootstrap.js +44 -8
- 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 +59 -1
- package/dist/harnesses/impls/hermes-agent/harness.js +104 -0
- 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/index.d.ts +7 -0
- package/dist/harnesses/impls/index.js +16 -1
- package/dist/harnesses/impls/index.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 +47 -4
- package/dist/harnesses/impls/learner/harness.js +105 -2
- 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/plugin-path.d.ts +0 -13
- package/dist/harnesses/impls/learner/plugin-path.js +35 -15
- package/dist/harnesses/impls/learner/plugin-path.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/learner/types.d.ts +11 -0
- package/dist/harnesses/impls/stub.d.ts +58 -0
- package/dist/harnesses/impls/stub.js +89 -0
- package/dist/harnesses/impls/stub.js.map +1 -0
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.d.ts +69 -50
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js +199 -94
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js.map +1 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.d.ts +12 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js +121 -7
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js.map +1 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.d.ts +88 -4
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js +143 -22
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js.map +1 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.d.ts +6 -0
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js +1 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js.map +1 -1
- package/dist/harnesses/readiness-registry.d.ts +7 -0
- package/dist/harnesses/readiness-registry.js +18 -1
- 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 +470 -142
- 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/emit-event.d.ts +3 -2
- package/dist/observability/emit-event.js +22 -1
- package/dist/observability/emit-event.js.map +1 -1
- package/dist/operator-errors.d.ts +7 -0
- package/dist/operator-errors.js +13 -1
- package/dist/operator-errors.js.map +1 -1
- package/dist/plugins/learner/.claude-plugin/plugin.json +9 -0
- package/dist/plugins/learner/.codex-plugin/plugin.json +39 -0
- package/dist/plugins/learner/AGENTS.md +40 -0
- package/dist/plugins/learner/CLAUDE.md +33 -0
- package/dist/plugins/learner/README.md +59 -0
- package/dist/plugins/learner/hooks/hooks.json +16 -0
- package/dist/plugins/learner/hooks/session-start +38 -0
- package/dist/plugins/learner/skills/learn/SKILL.md +412 -0
- package/dist/plugins/learner/skills/learn/analyst-prompt.md +68 -0
- package/dist/plugins/learner/skills/learn/consolidator-prompt.md +111 -0
- package/dist/plugins/learner/skills/learn/explorer-prompt.md +53 -0
- package/dist/plugins/learner/skills/learn/planner-prompt.md +87 -0
- package/dist/plugins/learner/skills/learn/promoter-prompt.md +184 -0
- package/dist/plugins/learner/skills/learn/step-worker-prompt.md +47 -0
- package/dist/plugins/learner/skills/learn/strategist-prompt.md +85 -0
- 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/restart-daemon.d.ts +90 -0
- package/dist/restart-daemon.js +95 -0
- package/dist/restart-daemon.js.map +1 -0
- 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/setup/halt-mode.d.ts +14 -0
- package/dist/setup/halt-mode.js +17 -0
- package/dist/setup/halt-mode.js.map +1 -0
- package/dist/solver-nets/prediction-operator-ux.d.ts +1 -2
- package/dist/solver-nets/prediction-operator-ux.js +90 -47
- package/dist/solver-nets/prediction-operator-ux.js.map +1 -1
- package/dist/solver-nets/registry.d.ts +20 -1
- package/dist/solver-nets/registry.js +38 -25
- package/dist/solver-nets/registry.js.map +1 -1
- package/dist/solver-types/_swe-rebench-v2-pool-cache.d.ts +58 -0
- package/dist/solver-types/_swe-rebench-v2-pool-cache.js +87 -0
- package/dist/solver-types/_swe-rebench-v2-pool-cache.js.map +1 -0
- 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-substrate.d.ts +1 -0
- package/dist/solver-types/_swe-rebench-v2-substrate.js +10 -0
- package/dist/solver-types/_swe-rebench-v2-substrate.js.map +1 -1
- package/dist/solver-types/_swe-rebench-v2-validated-pool.d.ts +145 -2
- package/dist/solver-types/_swe-rebench-v2-validated-pool.js +482 -44
- package/dist/solver-types/_swe-rebench-v2-validated-pool.js.map +1 -1
- package/dist/solver-types/swe-rebench-v2-auto.d.ts +38 -14
- package/dist/solver-types/swe-rebench-v2-auto.js +87 -28
- package/dist/solver-types/swe-rebench-v2-auto.js.map +1 -1
- package/dist/solver-types/swe-rebench-v2.d.ts +19 -2
- package/dist/solver-types/swe-rebench-v2.js +351 -96
- package/dist/solver-types/swe-rebench-v2.js.map +1 -1
- package/dist/solvernets/daemon-init.d.ts +10 -2
- package/dist/solvernets/daemon-init.js +22 -2
- 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 +41 -7
- 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 +7 -2
- package/dist/solvernets/store.js +1 -0
- package/dist/solvernets/store.js.map +1 -1
- package/dist/spend/cost-surface-status.d.ts +10 -0
- package/dist/spend/cost-surface-status.js +22 -0
- package/dist/spend/cost-surface-status.js.map +1 -0
- package/dist/spend/credential.d.ts +8 -0
- package/dist/spend/credential.js +30 -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 +30 -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 +61 -0
- package/dist/store/store.js +302 -7
- package/dist/store/store.js.map +1 -1
- package/dist/tasks/sources.d.ts +18 -1
- package/dist/tasks/sources.js +33 -5
- package/dist/tasks/sources.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 +98 -32
- package/dist/trajectory/transcript-watcher.js.map +1 -1
- package/dist/tx-retry.d.ts +166 -19
- package/dist/tx-retry.js +310 -32
- 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 +8 -8
- package/dist/types/payloads/prediction-v0.d.ts +17 -17
- package/dist/types/task-document.d.ts +392 -0
- package/dist/types/task-document.js +10 -0
- package/dist/types/task-document.js.map +1 -1
- package/dist/types/task.d.ts +28 -0
- package/dist/util/extract-tx-hash.d.ts +14 -0
- package/dist/util/extract-tx-hash.js +19 -0
- package/dist/util/extract-tx-hash.js.map +1 -0
- package/dist/vendor/@jinn-network/sdk/dist/contracts.js +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.d.ts +3 -0
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.js +1 -0
- package/package.json +37 -13
- 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 +69 -0
- package/dist/dashboard/assets/index-DOlzFN8a.css +0 -32
- package/dist/dashboard/assets/index-NkZ7CTAT.js +0 -140
- 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 */
|
|
@@ -96,6 +62,20 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
96
62
|
* Set to 0 to disable. Env: JINN_BALANCE_TOPUP_INTERVAL_MS
|
|
97
63
|
*/
|
|
98
64
|
balanceTopupIntervalMs: z.ZodDefault<z.ZodNumber>;
|
|
65
|
+
/**
|
|
66
|
+
* Interval between eviction-state polls for the staking proxy (ms).
|
|
67
|
+
* Default 60000 (1 min). Set to 0 to disable. Env: JINN_EVICTION_CHECK_INTERVAL_MS
|
|
68
|
+
*/
|
|
69
|
+
evictionCheckIntervalMs: z.ZodDefault<z.ZodNumber>;
|
|
70
|
+
/**
|
|
71
|
+
* Interval between proactive `checkpoint()` tx calls to each staked
|
|
72
|
+
* proxy (ms). Keeps `tsCheckpoint` advancing so the activity-rate window
|
|
73
|
+
* stays narrow — without it operators silently fail liveness on realistic
|
|
74
|
+
* cadence (issue #505). Default 300_000 (5 min), matching the standard
|
|
75
|
+
* `livenessPeriod` on stOLAS staking proxies. Set to 0 to disable.
|
|
76
|
+
* Env: JINN_CHECKPOINT_INTERVAL_MS.
|
|
77
|
+
*/
|
|
78
|
+
checkpointIntervalMs: z.ZodDefault<z.ZodNumber>;
|
|
99
79
|
/** HTTP API port */
|
|
100
80
|
apiPort: z.ZodDefault<z.ZodNumber>;
|
|
101
81
|
/**
|
|
@@ -123,6 +103,13 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
123
103
|
* Default 30 000 ms. Env: JINN_HERMES_DOCTOR_TIMEOUT_MS.
|
|
124
104
|
*/
|
|
125
105
|
hermesDoctorTimeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
106
|
+
/** Path to the `codex` executable. Defaults to `codex` when unset. */
|
|
107
|
+
codexPath: z.ZodOptional<z.ZodString>;
|
|
108
|
+
/**
|
|
109
|
+
* Timeout in ms for `codex --version` health-check runs.
|
|
110
|
+
* Default 30 000 ms. Env: JINN_CODEX_DOCTOR_TIMEOUT_MS.
|
|
111
|
+
*/
|
|
112
|
+
codexDoctorTimeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
126
113
|
/**
|
|
127
114
|
* How the operator runs the daemon. Set once by app-guided setup or the
|
|
128
115
|
* legacy `jinn auth` compatibility command, then read by every command that
|
|
@@ -172,6 +159,16 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
172
159
|
* backlog while proving one fresh task path.
|
|
173
160
|
*/
|
|
174
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>;
|
|
175
172
|
/** This node's public HTTP endpoint (for 8004 registration) */
|
|
176
173
|
nodeEndpoint: z.ZodOptional<z.ZodString>;
|
|
177
174
|
/** Tasks to create and solve. Empty by default; enabled SolverNet generators fill the loop. */
|
|
@@ -208,6 +205,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
208
205
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
209
206
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
210
207
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
208
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
211
209
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
212
210
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
213
211
|
maxClaims: z.ZodNumber;
|
|
@@ -217,6 +215,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
217
215
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
218
216
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
219
217
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
218
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
220
219
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
221
220
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
222
221
|
maxClaims: z.ZodNumber;
|
|
@@ -226,6 +225,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
226
225
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
227
226
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
228
227
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
228
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
229
229
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
230
230
|
signedTask: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
|
231
231
|
signature: z.ZodObject<{
|
|
@@ -273,6 +273,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
273
273
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
274
274
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
275
275
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
276
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
276
277
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
277
278
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
278
279
|
maxClaims: z.ZodNumber;
|
|
@@ -282,6 +283,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
282
283
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
283
284
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
284
285
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
286
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
285
287
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
286
288
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
287
289
|
maxClaims: z.ZodNumber;
|
|
@@ -291,6 +293,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
291
293
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
292
294
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
293
295
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
296
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
294
297
|
}, z.ZodTypeAny, "passthrough">>;
|
|
295
298
|
creator: z.ZodObject<{
|
|
296
299
|
safeAddress: z.ZodString;
|
|
@@ -349,6 +352,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
349
352
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
350
353
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
351
354
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
355
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
352
356
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
353
357
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
354
358
|
maxClaims: z.ZodNumber;
|
|
@@ -358,6 +362,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
358
362
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
359
363
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
360
364
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
365
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
361
366
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
362
367
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
363
368
|
maxClaims: z.ZodNumber;
|
|
@@ -367,6 +372,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
367
372
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
368
373
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
369
374
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
375
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
370
376
|
}, z.ZodTypeAny, "passthrough">>;
|
|
371
377
|
creator: z.ZodObject<{
|
|
372
378
|
safeAddress: z.ZodString;
|
|
@@ -425,6 +431,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
425
431
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
426
432
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
427
433
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
434
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
428
435
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
429
436
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
430
437
|
maxClaims: z.ZodNumber;
|
|
@@ -434,6 +441,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
434
441
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
435
442
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
436
443
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
444
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
437
445
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
438
446
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
439
447
|
maxClaims: z.ZodNumber;
|
|
@@ -443,6 +451,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
443
451
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
444
452
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
445
453
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
454
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
446
455
|
}, z.ZodTypeAny, "passthrough">>;
|
|
447
456
|
creator: z.ZodObject<{
|
|
448
457
|
safeAddress: z.ZodString;
|
|
@@ -501,6 +510,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
501
510
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
502
511
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
503
512
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
513
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
504
514
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
505
515
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
506
516
|
maxClaims: z.ZodNumber;
|
|
@@ -510,6 +520,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
510
520
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
511
521
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
512
522
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
523
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
513
524
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
514
525
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
515
526
|
maxClaims: z.ZodNumber;
|
|
@@ -519,6 +530,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
519
530
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
520
531
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
521
532
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
533
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
522
534
|
}, z.ZodTypeAny, "passthrough">>;
|
|
523
535
|
creator: z.ZodObject<{
|
|
524
536
|
safeAddress: z.ZodString;
|
|
@@ -577,6 +589,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
577
589
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
578
590
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
579
591
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
592
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
580
593
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
581
594
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
582
595
|
maxClaims: z.ZodNumber;
|
|
@@ -586,6 +599,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
586
599
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
587
600
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
588
601
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
602
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
589
603
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
590
604
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
591
605
|
maxClaims: z.ZodNumber;
|
|
@@ -595,6 +609,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
595
609
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
596
610
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
597
611
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
612
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
598
613
|
}, z.ZodTypeAny, "passthrough">>;
|
|
599
614
|
creator: z.ZodObject<{
|
|
600
615
|
safeAddress: z.ZodString;
|
|
@@ -637,6 +652,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
637
652
|
claimWindowEndTs?: number | undefined;
|
|
638
653
|
submissionDeadlineTs?: number | undefined;
|
|
639
654
|
policyHook?: string | undefined;
|
|
655
|
+
requiredVerdicts?: number | undefined;
|
|
640
656
|
} & {
|
|
641
657
|
[k: string]: unknown;
|
|
642
658
|
};
|
|
@@ -691,6 +707,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
691
707
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
692
708
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
693
709
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
710
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
694
711
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
695
712
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
696
713
|
maxClaims: z.ZodNumber;
|
|
@@ -700,6 +717,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
700
717
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
701
718
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
702
719
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
720
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
703
721
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
704
722
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
705
723
|
maxClaims: z.ZodNumber;
|
|
@@ -709,6 +727,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
709
727
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
710
728
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
711
729
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
730
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
712
731
|
}, z.ZodTypeAny, "passthrough">>;
|
|
713
732
|
creator: z.ZodObject<{
|
|
714
733
|
safeAddress: z.ZodString;
|
|
@@ -745,6 +764,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
745
764
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
746
765
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
747
766
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
767
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
748
768
|
}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
749
769
|
context?: Record<string, unknown> | undefined;
|
|
750
770
|
attemptId?: string | undefined;
|
|
@@ -780,6 +800,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
780
800
|
claimWindowEndTs?: number | undefined;
|
|
781
801
|
submissionDeadlineTs?: number | undefined;
|
|
782
802
|
policyHook?: string | undefined;
|
|
803
|
+
requiredVerdicts?: number | undefined;
|
|
783
804
|
} & {
|
|
784
805
|
[k: string]: unknown;
|
|
785
806
|
};
|
|
@@ -812,6 +833,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
812
833
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
813
834
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
814
835
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
836
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
815
837
|
}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
816
838
|
context?: Record<string, unknown> | undefined;
|
|
817
839
|
attemptId?: string | undefined;
|
|
@@ -863,6 +885,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
863
885
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
864
886
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
865
887
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
888
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
866
889
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
867
890
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
868
891
|
maxClaims: z.ZodNumber;
|
|
@@ -872,6 +895,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
872
895
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
873
896
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
874
897
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
898
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
875
899
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
876
900
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
877
901
|
maxClaims: z.ZodNumber;
|
|
@@ -881,6 +905,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
881
905
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
882
906
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
883
907
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
908
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
884
909
|
}, z.ZodTypeAny, "passthrough">>;
|
|
885
910
|
creator: z.ZodObject<{
|
|
886
911
|
safeAddress: z.ZodString;
|
|
@@ -921,17 +946,19 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
921
946
|
*/
|
|
922
947
|
jinnMviL2DeploymentPath: z.ZodOptional<z.ZodString>;
|
|
923
948
|
/**
|
|
924
|
-
* RPC endpoint for the L1 governance chain (Ethereum / Sepolia) where
|
|
925
|
-
* JinnDistributor lives.
|
|
926
|
-
*
|
|
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.
|
|
927
954
|
*/
|
|
928
|
-
ethereumRpcUrl: z.ZodOptional<z.ZodString
|
|
955
|
+
ethereumRpcUrl: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
|
|
929
956
|
/**
|
|
930
|
-
* Optional archive RPC endpoint for the L1 governance chain. Used for
|
|
931
|
-
* historical block lookups when constructing canonical-mode proofs.
|
|
932
|
-
* 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.
|
|
933
960
|
*/
|
|
934
|
-
ethereumArchiveRpcUrl: z.ZodOptional<z.ZodString
|
|
961
|
+
ethereumArchiveRpcUrl: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
|
|
935
962
|
/**
|
|
936
963
|
* L1 network used by the cross-chain claim loop. 'sepolia' tracks Base
|
|
937
964
|
* Sepolia testnet; 'ethereum' tracks Base mainnet. Defaults to 'sepolia'
|
|
@@ -939,10 +966,10 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
939
966
|
*/
|
|
940
967
|
jinnL1Network: z.ZodDefault<z.ZodEnum<["sepolia", "ethereum"]>>;
|
|
941
968
|
/**
|
|
942
|
-
* JinnDistributor address on the L1 governance chain.
|
|
943
|
-
*
|
|
944
|
-
* Resolved from jinnMviL1DeploymentPath when omitted;
|
|
945
|
-
* override. Env: JINN_DISTRIBUTOR_ADDRESS.
|
|
969
|
+
* JinnDistributor address on the L1 governance chain. Required for
|
|
970
|
+
* jinnClaimSubmissionMode='submit'. When set for submit mode, ethereumRpcUrl
|
|
971
|
+
* MUST also be set. Resolved from jinnMviL1DeploymentPath when omitted;
|
|
972
|
+
* otherwise a manual override. Env: JINN_DISTRIBUTOR_ADDRESS.
|
|
946
973
|
*/
|
|
947
974
|
jinnDistributorAddress: z.ZodOptional<z.ZodString>;
|
|
948
975
|
/**
|
|
@@ -967,6 +994,20 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
967
994
|
* Env: JINN_MESSENGER_MODE.
|
|
968
995
|
*/
|
|
969
996
|
jinnMessengerMode: z.ZodDefault<z.ZodEnum<["canonical", "mock"]>>;
|
|
997
|
+
/**
|
|
998
|
+
* Claim submission mode. `emit-only` only submits TaskClaimEmitter.emitClaim
|
|
999
|
+
* on L2 and records the resulting ticket. `submit` continues into the L1
|
|
1000
|
+
* messenger/distributor path.
|
|
1001
|
+
* Env: JINN_CLAIM_SUBMISSION_MODE.
|
|
1002
|
+
*/
|
|
1003
|
+
jinnClaimSubmissionMode: z.ZodDefault<z.ZodEnum<["emit-only", "submit"]>>;
|
|
1004
|
+
/**
|
|
1005
|
+
* Explicit operator gate for the cross-chain JINN claim loop. The schema
|
|
1006
|
+
* default stays off for mainnet/unknown networks; loadConfig defaults this
|
|
1007
|
+
* on for testnet now that the emitter and standing relayer are live.
|
|
1008
|
+
* Env: JINN_CLAIM_LOOP_ENABLED=1|true|yes.
|
|
1009
|
+
*/
|
|
1010
|
+
jinnClaimLoopEnabled: z.ZodDefault<z.ZodBoolean>;
|
|
970
1011
|
/**
|
|
971
1012
|
* How often the daemon ticks the cross-chain JINN claim loop (ms). Default
|
|
972
1013
|
* 3 600 000 (1 hour) — well below mainnet challenge windows while
|
|
@@ -1073,97 +1114,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1073
1114
|
mode?: "train" | "frozen" | undefined;
|
|
1074
1115
|
}>>;
|
|
1075
1116
|
/**
|
|
1076
|
-
*
|
|
1077
|
-
*
|
|
1078
|
-
* Each entry's `roles` is a non-empty subset of `['solving', 'evaluating']`.
|
|
1079
|
-
* Multiple roles can run concurrently for the same SolverNet; the
|
|
1080
|
-
* protocol-level `disallowSolverSelfEvaluation` flag prevents the operator
|
|
1081
|
-
* from evaluating its own Solutions and the on-chain
|
|
1082
|
-
* TaskActivityCheckerV3 tracks Solution and Verdict counters independently
|
|
1083
|
-
* (additive into `eligibleActivityWeight`).
|
|
1084
|
-
*
|
|
1085
|
-
* Launcher ownership lives in the launched-record subsystem
|
|
1086
|
-
* (spec/2026-05-05-solvernet-creation-and-launch.md §11), not in operator
|
|
1087
|
-
* config — there is no `'launching'` operator role. Legacy entries that
|
|
1088
|
-
* include `'launching'` in `roles` have it stripped by the preprocessor so
|
|
1089
|
-
* older config files keep loading.
|
|
1090
|
-
*
|
|
1091
|
-
* Backwards-compat: a legacy `role: 'solving' | 'evaluating'` field is
|
|
1092
|
-
* auto-promoted to `roles: [<role>]` by the zod preprocessor below so
|
|
1093
|
-
* existing `~/.jinn-client/config.json` files keep loading without an
|
|
1094
|
-
* operator migration step.
|
|
1095
|
-
*/
|
|
1096
|
-
solverNets: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodEffects<z.ZodObject<{
|
|
1097
|
-
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1098
|
-
solverType: z.ZodString;
|
|
1099
|
-
roles: z.ZodEffects<z.ZodDefault<z.ZodArray<z.ZodEnum<["solving", "evaluating"]>, "many">>, ("solving" | "evaluating")[], ("solving" | "evaluating")[] | undefined>;
|
|
1100
|
-
harness: z.ZodDefault<z.ZodEffects<z.ZodString, string, string>>;
|
|
1101
|
-
model: z.ZodOptional<z.ZodString>;
|
|
1102
|
-
plugins: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
|
|
1103
|
-
name: z.ZodOptional<z.ZodString>;
|
|
1104
|
-
source: z.ZodString;
|
|
1105
|
-
version: z.ZodOptional<z.ZodString>;
|
|
1106
|
-
}, "strip", z.ZodTypeAny, {
|
|
1107
|
-
source: string;
|
|
1108
|
-
name?: string | undefined;
|
|
1109
|
-
version?: string | undefined;
|
|
1110
|
-
}, {
|
|
1111
|
-
source: string;
|
|
1112
|
-
name?: string | undefined;
|
|
1113
|
-
version?: string | undefined;
|
|
1114
|
-
}>]>, "many">>;
|
|
1115
|
-
taskGenerator: z.ZodDefault<z.ZodObject<{
|
|
1116
|
-
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
1117
|
-
}, "strip", z.ZodTypeAny, {
|
|
1118
|
-
enabled: boolean;
|
|
1119
|
-
}, {
|
|
1120
|
-
enabled?: boolean | undefined;
|
|
1121
|
-
}>>;
|
|
1122
|
-
}, "strip", z.ZodTypeAny, {
|
|
1123
|
-
solverType: string;
|
|
1124
|
-
enabled: boolean;
|
|
1125
|
-
roles: ("solving" | "evaluating")[];
|
|
1126
|
-
harness: string;
|
|
1127
|
-
plugins: (string | {
|
|
1128
|
-
source: string;
|
|
1129
|
-
name?: string | undefined;
|
|
1130
|
-
version?: string | undefined;
|
|
1131
|
-
})[];
|
|
1132
|
-
taskGenerator: {
|
|
1133
|
-
enabled: boolean;
|
|
1134
|
-
};
|
|
1135
|
-
model?: string | undefined;
|
|
1136
|
-
}, {
|
|
1137
|
-
solverType: string;
|
|
1138
|
-
enabled?: boolean | undefined;
|
|
1139
|
-
roles?: ("solving" | "evaluating")[] | undefined;
|
|
1140
|
-
harness?: string | undefined;
|
|
1141
|
-
model?: string | undefined;
|
|
1142
|
-
plugins?: (string | {
|
|
1143
|
-
source: string;
|
|
1144
|
-
name?: string | undefined;
|
|
1145
|
-
version?: string | undefined;
|
|
1146
|
-
})[] | undefined;
|
|
1147
|
-
taskGenerator?: {
|
|
1148
|
-
enabled?: boolean | undefined;
|
|
1149
|
-
} | undefined;
|
|
1150
|
-
}>, {
|
|
1151
|
-
solverType: string;
|
|
1152
|
-
enabled: boolean;
|
|
1153
|
-
roles: ("solving" | "evaluating")[];
|
|
1154
|
-
harness: string;
|
|
1155
|
-
plugins: (string | {
|
|
1156
|
-
source: string;
|
|
1157
|
-
name?: string | undefined;
|
|
1158
|
-
version?: string | undefined;
|
|
1159
|
-
})[];
|
|
1160
|
-
taskGenerator: {
|
|
1161
|
-
enabled: boolean;
|
|
1162
|
-
};
|
|
1163
|
-
model?: string | undefined;
|
|
1164
|
-
}, unknown>>>;
|
|
1165
|
-
/**
|
|
1166
|
-
* Manifest-keyed joined SolverNets (Task 21).
|
|
1117
|
+
* Manifest-keyed joined SolverNets.
|
|
1167
1118
|
*
|
|
1168
1119
|
* Spec: spec/2026-05-05-solvernet-creation-and-launch.md §12.
|
|
1169
1120
|
*
|
|
@@ -1172,10 +1123,10 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1172
1123
|
* (CIDv0 / CIDv1) — the only stable identifier that maps back to a
|
|
1173
1124
|
* launched-instance authority across launchers.
|
|
1174
1125
|
*
|
|
1175
|
-
*
|
|
1176
|
-
*
|
|
1177
|
-
*
|
|
1178
|
-
*
|
|
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`).
|
|
1179
1130
|
*/
|
|
1180
1131
|
joinedSolverNets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
1181
1132
|
manifestCid: z.ZodString;
|
|
@@ -1196,28 +1147,28 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1196
1147
|
plugins: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
1197
1148
|
disabledDefaultPlugins: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
1198
1149
|
}, "strip", z.ZodTypeAny, {
|
|
1150
|
+
manifestCid: string;
|
|
1199
1151
|
roles: ("solver" | "evaluator")[];
|
|
1200
1152
|
plugins: string[];
|
|
1201
|
-
manifestCid: string;
|
|
1202
1153
|
disabledDefaultPlugins: string[];
|
|
1203
1154
|
name?: string | undefined;
|
|
1204
1155
|
harness?: string | undefined;
|
|
1205
|
-
model?: string | undefined;
|
|
1206
1156
|
contract?: {
|
|
1207
1157
|
id: string;
|
|
1208
1158
|
version: string;
|
|
1209
1159
|
} | undefined;
|
|
1160
|
+
model?: string | undefined;
|
|
1210
1161
|
}, {
|
|
1211
|
-
roles: ("solver" | "evaluator")[];
|
|
1212
1162
|
manifestCid: string;
|
|
1163
|
+
roles: ("solver" | "evaluator")[];
|
|
1213
1164
|
name?: string | undefined;
|
|
1214
1165
|
harness?: string | undefined;
|
|
1215
|
-
model?: string | undefined;
|
|
1216
|
-
plugins?: string[] | undefined;
|
|
1217
1166
|
contract?: {
|
|
1218
1167
|
id: string;
|
|
1219
1168
|
version: string;
|
|
1220
1169
|
} | undefined;
|
|
1170
|
+
model?: string | undefined;
|
|
1171
|
+
plugins?: string[] | undefined;
|
|
1221
1172
|
disabledDefaultPlugins?: string[] | undefined;
|
|
1222
1173
|
}>>>;
|
|
1223
1174
|
/**
|
|
@@ -1374,20 +1325,49 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1374
1325
|
* Env: JINN_REPUTATION_ENABLED
|
|
1375
1326
|
*/
|
|
1376
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
|
+
}>>;
|
|
1377
1357
|
}, "strip", z.ZodTypeAny, {
|
|
1378
|
-
harness: {
|
|
1379
|
-
mode: "train" | "frozen";
|
|
1380
|
-
};
|
|
1381
1358
|
network: "testnet" | "mainnet";
|
|
1382
1359
|
earningDir: string;
|
|
1383
1360
|
dbPath: string;
|
|
1384
1361
|
pollIntervalMs: number;
|
|
1385
1362
|
rewardClaimIntervalMs: number;
|
|
1386
1363
|
balanceTopupIntervalMs: number;
|
|
1364
|
+
evictionCheckIntervalMs: number;
|
|
1365
|
+
checkpointIntervalMs: number;
|
|
1387
1366
|
apiPort: number;
|
|
1388
1367
|
claudePath: string;
|
|
1389
1368
|
claudeModel: string;
|
|
1390
1369
|
hermesDoctorTimeoutMs: number;
|
|
1370
|
+
codexDoctorTimeoutMs: number;
|
|
1391
1371
|
peers: string[];
|
|
1392
1372
|
tasks: {
|
|
1393
1373
|
id?: string | undefined;
|
|
@@ -1412,6 +1392,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1412
1392
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
1413
1393
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
1414
1394
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
1395
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
1415
1396
|
}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
1416
1397
|
context?: Record<string, unknown> | undefined;
|
|
1417
1398
|
attemptId?: string | undefined;
|
|
@@ -1447,6 +1428,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1447
1428
|
claimWindowEndTs?: number | undefined;
|
|
1448
1429
|
submissionDeadlineTs?: number | undefined;
|
|
1449
1430
|
policyHook?: string | undefined;
|
|
1431
|
+
requiredVerdicts?: number | undefined;
|
|
1450
1432
|
} & {
|
|
1451
1433
|
[k: string]: unknown;
|
|
1452
1434
|
};
|
|
@@ -1461,25 +1443,15 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1461
1443
|
ipfsGatewayUrl: string;
|
|
1462
1444
|
jinnL1Network: "sepolia" | "ethereum";
|
|
1463
1445
|
jinnMessengerMode: "canonical" | "mock";
|
|
1446
|
+
jinnClaimSubmissionMode: "emit-only" | "submit";
|
|
1447
|
+
jinnClaimLoopEnabled: boolean;
|
|
1464
1448
|
jinnClaimLoopIntervalMs: number;
|
|
1465
1449
|
stakingMode: "standard" | "self-bond";
|
|
1466
1450
|
targetServices: number;
|
|
1467
1451
|
debug: boolean;
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
roles: ("solving" | "evaluating")[];
|
|
1472
|
-
harness: string;
|
|
1473
|
-
plugins: (string | {
|
|
1474
|
-
source: string;
|
|
1475
|
-
name?: string | undefined;
|
|
1476
|
-
version?: string | undefined;
|
|
1477
|
-
})[];
|
|
1478
|
-
taskGenerator: {
|
|
1479
|
-
enabled: boolean;
|
|
1480
|
-
};
|
|
1481
|
-
model?: string | undefined;
|
|
1482
|
-
}>;
|
|
1452
|
+
harness: {
|
|
1453
|
+
mode: "train" | "frozen";
|
|
1454
|
+
};
|
|
1483
1455
|
captures: {
|
|
1484
1456
|
llmProxy: {
|
|
1485
1457
|
enabled: boolean;
|
|
@@ -1488,13 +1460,17 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1488
1460
|
};
|
|
1489
1461
|
runLegacyMigrations: boolean;
|
|
1490
1462
|
reputationEnabled: boolean;
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1463
|
+
solverPlugins: {
|
|
1464
|
+
blockedCids: string[];
|
|
1465
|
+
};
|
|
1466
|
+
rpcUrl?: string | string[] | undefined;
|
|
1467
|
+
archiveRpcUrl?: string | string[] | undefined;
|
|
1468
|
+
l2ProofRpcUrl?: string | string[] | undefined;
|
|
1494
1469
|
apiBindHost?: string | undefined;
|
|
1495
1470
|
hermesPath?: string | undefined;
|
|
1496
1471
|
hermesModel?: string | undefined;
|
|
1497
1472
|
hermesProvider?: string | undefined;
|
|
1473
|
+
codexPath?: string | undefined;
|
|
1498
1474
|
runtimeMode?: "bare" | "docker-compose" | "container" | undefined;
|
|
1499
1475
|
discovery?: {
|
|
1500
1476
|
mode?: "http" | "embedded" | "onchain" | undefined;
|
|
@@ -1502,6 +1478,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1502
1478
|
fallbackToOnchain?: boolean | undefined;
|
|
1503
1479
|
} | undefined;
|
|
1504
1480
|
taskDiscoveryAllowedTaskIds?: string[] | undefined;
|
|
1481
|
+
taskDiscoveryOnchainFromBlock?: number | undefined;
|
|
1505
1482
|
nodeEndpoint?: string | undefined;
|
|
1506
1483
|
testnetL2DeploymentPath?: string | undefined;
|
|
1507
1484
|
testnetL2TokenDeploymentPath?: string | undefined;
|
|
@@ -1509,8 +1486,8 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1509
1486
|
testnetStolasDeploymentPath?: string | undefined;
|
|
1510
1487
|
jinnMviL1DeploymentPath?: string | undefined;
|
|
1511
1488
|
jinnMviL2DeploymentPath?: string | undefined;
|
|
1512
|
-
ethereumRpcUrl?: string | undefined;
|
|
1513
|
-
ethereumArchiveRpcUrl?: string | undefined;
|
|
1489
|
+
ethereumRpcUrl?: string | string[] | undefined;
|
|
1490
|
+
ethereumArchiveRpcUrl?: string | string[] | undefined;
|
|
1514
1491
|
jinnDistributorAddress?: string | undefined;
|
|
1515
1492
|
jinnClaimEmitterAddress?: string | undefined;
|
|
1516
1493
|
jinnMessengerAddress?: string | undefined;
|
|
@@ -1528,17 +1505,17 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1528
1505
|
}[] | undefined;
|
|
1529
1506
|
} | undefined;
|
|
1530
1507
|
joinedSolverNets?: Record<string, {
|
|
1508
|
+
manifestCid: string;
|
|
1531
1509
|
roles: ("solver" | "evaluator")[];
|
|
1532
1510
|
plugins: string[];
|
|
1533
|
-
manifestCid: string;
|
|
1534
1511
|
disabledDefaultPlugins: string[];
|
|
1535
1512
|
name?: string | undefined;
|
|
1536
1513
|
harness?: string | undefined;
|
|
1537
|
-
model?: string | undefined;
|
|
1538
1514
|
contract?: {
|
|
1539
1515
|
id: string;
|
|
1540
1516
|
version: string;
|
|
1541
1517
|
} | undefined;
|
|
1518
|
+
model?: string | undefined;
|
|
1542
1519
|
}> | undefined;
|
|
1543
1520
|
trustedImplSigners?: {
|
|
1544
1521
|
publicKey: string;
|
|
@@ -1559,19 +1536,19 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1559
1536
|
} | undefined;
|
|
1560
1537
|
identityRegistryAddress?: string | undefined;
|
|
1561
1538
|
validationRegistryAddress?: string | undefined;
|
|
1539
|
+
spendCaps?: Record<string, number> | undefined;
|
|
1562
1540
|
}, {
|
|
1563
|
-
harness?: {
|
|
1564
|
-
mode?: "train" | "frozen" | undefined;
|
|
1565
|
-
} | undefined;
|
|
1566
1541
|
network?: "testnet" | "mainnet" | undefined;
|
|
1567
|
-
rpcUrl?: string | undefined;
|
|
1568
|
-
archiveRpcUrl?: string | undefined;
|
|
1569
|
-
l2ProofRpcUrl?: string | undefined;
|
|
1542
|
+
rpcUrl?: string | string[] | undefined;
|
|
1543
|
+
archiveRpcUrl?: string | string[] | undefined;
|
|
1544
|
+
l2ProofRpcUrl?: string | string[] | undefined;
|
|
1570
1545
|
earningDir?: string | undefined;
|
|
1571
1546
|
dbPath?: string | undefined;
|
|
1572
1547
|
pollIntervalMs?: number | undefined;
|
|
1573
1548
|
rewardClaimIntervalMs?: number | undefined;
|
|
1574
1549
|
balanceTopupIntervalMs?: number | undefined;
|
|
1550
|
+
evictionCheckIntervalMs?: number | undefined;
|
|
1551
|
+
checkpointIntervalMs?: number | undefined;
|
|
1575
1552
|
apiPort?: number | undefined;
|
|
1576
1553
|
apiBindHost?: string | undefined;
|
|
1577
1554
|
claudePath?: string | undefined;
|
|
@@ -1580,6 +1557,8 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1580
1557
|
hermesModel?: string | undefined;
|
|
1581
1558
|
hermesProvider?: string | undefined;
|
|
1582
1559
|
hermesDoctorTimeoutMs?: number | undefined;
|
|
1560
|
+
codexPath?: string | undefined;
|
|
1561
|
+
codexDoctorTimeoutMs?: number | undefined;
|
|
1583
1562
|
runtimeMode?: "bare" | "docker-compose" | "container" | undefined;
|
|
1584
1563
|
peers?: string | string[] | undefined;
|
|
1585
1564
|
discovery?: {
|
|
@@ -1588,6 +1567,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1588
1567
|
fallbackToOnchain?: boolean | undefined;
|
|
1589
1568
|
} | undefined;
|
|
1590
1569
|
taskDiscoveryAllowedTaskIds?: string[] | undefined;
|
|
1570
|
+
taskDiscoveryOnchainFromBlock?: number | undefined;
|
|
1591
1571
|
nodeEndpoint?: string | undefined;
|
|
1592
1572
|
tasks?: {
|
|
1593
1573
|
id?: string | undefined;
|
|
@@ -1612,6 +1592,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1612
1592
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
1613
1593
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
1614
1594
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
1595
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
1615
1596
|
}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
1616
1597
|
context?: Record<string, unknown> | undefined;
|
|
1617
1598
|
attemptId?: string | undefined;
|
|
@@ -1663,6 +1644,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1663
1644
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
1664
1645
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
1665
1646
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
1647
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
1666
1648
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1667
1649
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
1668
1650
|
maxClaims: z.ZodNumber;
|
|
@@ -1672,6 +1654,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1672
1654
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
1673
1655
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
1674
1656
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
1657
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
1675
1658
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1676
1659
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
1677
1660
|
maxClaims: z.ZodNumber;
|
|
@@ -1681,6 +1664,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1681
1664
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
1682
1665
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
1683
1666
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
1667
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
1684
1668
|
}, z.ZodTypeAny, "passthrough">>;
|
|
1685
1669
|
creator: z.ZodObject<{
|
|
1686
1670
|
safeAddress: z.ZodString;
|
|
@@ -1703,13 +1687,15 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1703
1687
|
testnetStolasDeploymentPath?: string | undefined;
|
|
1704
1688
|
jinnMviL1DeploymentPath?: string | undefined;
|
|
1705
1689
|
jinnMviL2DeploymentPath?: string | undefined;
|
|
1706
|
-
ethereumRpcUrl?: string | undefined;
|
|
1707
|
-
ethereumArchiveRpcUrl?: string | undefined;
|
|
1690
|
+
ethereumRpcUrl?: string | string[] | undefined;
|
|
1691
|
+
ethereumArchiveRpcUrl?: string | string[] | undefined;
|
|
1708
1692
|
jinnL1Network?: "sepolia" | "ethereum" | undefined;
|
|
1709
1693
|
jinnDistributorAddress?: string | undefined;
|
|
1710
1694
|
jinnClaimEmitterAddress?: string | undefined;
|
|
1711
1695
|
jinnMessengerAddress?: string | undefined;
|
|
1712
1696
|
jinnMessengerMode?: "canonical" | "mock" | undefined;
|
|
1697
|
+
jinnClaimSubmissionMode?: "emit-only" | "submit" | undefined;
|
|
1698
|
+
jinnClaimLoopEnabled?: boolean | undefined;
|
|
1713
1699
|
jinnClaimLoopIntervalMs?: number | undefined;
|
|
1714
1700
|
stakingMode?: "standard" | "self-bond" | undefined;
|
|
1715
1701
|
targetServices?: number | undefined;
|
|
@@ -1727,18 +1713,20 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1727
1713
|
version?: string | undefined;
|
|
1728
1714
|
}[] | undefined;
|
|
1729
1715
|
} | undefined;
|
|
1730
|
-
|
|
1716
|
+
harness?: {
|
|
1717
|
+
mode?: "train" | "frozen" | undefined;
|
|
1718
|
+
} | undefined;
|
|
1731
1719
|
joinedSolverNets?: Record<string, {
|
|
1732
|
-
roles: ("solver" | "evaluator")[];
|
|
1733
1720
|
manifestCid: string;
|
|
1721
|
+
roles: ("solver" | "evaluator")[];
|
|
1734
1722
|
name?: string | undefined;
|
|
1735
1723
|
harness?: string | undefined;
|
|
1736
|
-
model?: string | undefined;
|
|
1737
|
-
plugins?: string[] | undefined;
|
|
1738
1724
|
contract?: {
|
|
1739
1725
|
id: string;
|
|
1740
1726
|
version: string;
|
|
1741
1727
|
} | undefined;
|
|
1728
|
+
model?: string | undefined;
|
|
1729
|
+
plugins?: string[] | undefined;
|
|
1742
1730
|
disabledDefaultPlugins?: string[] | undefined;
|
|
1743
1731
|
}> | undefined;
|
|
1744
1732
|
trustedImplSigners?: {
|
|
@@ -1768,20 +1756,24 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1768
1756
|
identityRegistryAddress?: string | undefined;
|
|
1769
1757
|
validationRegistryAddress?: string | undefined;
|
|
1770
1758
|
reputationEnabled?: boolean | undefined;
|
|
1759
|
+
spendCaps?: Record<string, number> | undefined;
|
|
1760
|
+
solverPlugins?: {
|
|
1761
|
+
blockedCids?: string[] | undefined;
|
|
1762
|
+
} | undefined;
|
|
1771
1763
|
}>, {
|
|
1772
|
-
harness: {
|
|
1773
|
-
mode: "train" | "frozen";
|
|
1774
|
-
};
|
|
1775
1764
|
network: "testnet" | "mainnet";
|
|
1776
1765
|
earningDir: string;
|
|
1777
1766
|
dbPath: string;
|
|
1778
1767
|
pollIntervalMs: number;
|
|
1779
1768
|
rewardClaimIntervalMs: number;
|
|
1780
1769
|
balanceTopupIntervalMs: number;
|
|
1770
|
+
evictionCheckIntervalMs: number;
|
|
1771
|
+
checkpointIntervalMs: number;
|
|
1781
1772
|
apiPort: number;
|
|
1782
1773
|
claudePath: string;
|
|
1783
1774
|
claudeModel: string;
|
|
1784
1775
|
hermesDoctorTimeoutMs: number;
|
|
1776
|
+
codexDoctorTimeoutMs: number;
|
|
1785
1777
|
peers: string[];
|
|
1786
1778
|
tasks: {
|
|
1787
1779
|
id?: string | undefined;
|
|
@@ -1806,6 +1798,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1806
1798
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
1807
1799
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
1808
1800
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
1801
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
1809
1802
|
}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
1810
1803
|
context?: Record<string, unknown> | undefined;
|
|
1811
1804
|
attemptId?: string | undefined;
|
|
@@ -1841,6 +1834,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1841
1834
|
claimWindowEndTs?: number | undefined;
|
|
1842
1835
|
submissionDeadlineTs?: number | undefined;
|
|
1843
1836
|
policyHook?: string | undefined;
|
|
1837
|
+
requiredVerdicts?: number | undefined;
|
|
1844
1838
|
} & {
|
|
1845
1839
|
[k: string]: unknown;
|
|
1846
1840
|
};
|
|
@@ -1855,25 +1849,15 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1855
1849
|
ipfsGatewayUrl: string;
|
|
1856
1850
|
jinnL1Network: "sepolia" | "ethereum";
|
|
1857
1851
|
jinnMessengerMode: "canonical" | "mock";
|
|
1852
|
+
jinnClaimSubmissionMode: "emit-only" | "submit";
|
|
1853
|
+
jinnClaimLoopEnabled: boolean;
|
|
1858
1854
|
jinnClaimLoopIntervalMs: number;
|
|
1859
1855
|
stakingMode: "standard" | "self-bond";
|
|
1860
1856
|
targetServices: number;
|
|
1861
1857
|
debug: boolean;
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
roles: ("solving" | "evaluating")[];
|
|
1866
|
-
harness: string;
|
|
1867
|
-
plugins: (string | {
|
|
1868
|
-
source: string;
|
|
1869
|
-
name?: string | undefined;
|
|
1870
|
-
version?: string | undefined;
|
|
1871
|
-
})[];
|
|
1872
|
-
taskGenerator: {
|
|
1873
|
-
enabled: boolean;
|
|
1874
|
-
};
|
|
1875
|
-
model?: string | undefined;
|
|
1876
|
-
}>;
|
|
1858
|
+
harness: {
|
|
1859
|
+
mode: "train" | "frozen";
|
|
1860
|
+
};
|
|
1877
1861
|
captures: {
|
|
1878
1862
|
llmProxy: {
|
|
1879
1863
|
enabled: boolean;
|
|
@@ -1882,13 +1866,17 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1882
1866
|
};
|
|
1883
1867
|
runLegacyMigrations: boolean;
|
|
1884
1868
|
reputationEnabled: boolean;
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1869
|
+
solverPlugins: {
|
|
1870
|
+
blockedCids: string[];
|
|
1871
|
+
};
|
|
1872
|
+
rpcUrl?: string | string[] | undefined;
|
|
1873
|
+
archiveRpcUrl?: string | string[] | undefined;
|
|
1874
|
+
l2ProofRpcUrl?: string | string[] | undefined;
|
|
1888
1875
|
apiBindHost?: string | undefined;
|
|
1889
1876
|
hermesPath?: string | undefined;
|
|
1890
1877
|
hermesModel?: string | undefined;
|
|
1891
1878
|
hermesProvider?: string | undefined;
|
|
1879
|
+
codexPath?: string | undefined;
|
|
1892
1880
|
runtimeMode?: "bare" | "docker-compose" | "container" | undefined;
|
|
1893
1881
|
discovery?: {
|
|
1894
1882
|
mode?: "http" | "embedded" | "onchain" | undefined;
|
|
@@ -1896,6 +1884,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1896
1884
|
fallbackToOnchain?: boolean | undefined;
|
|
1897
1885
|
} | undefined;
|
|
1898
1886
|
taskDiscoveryAllowedTaskIds?: string[] | undefined;
|
|
1887
|
+
taskDiscoveryOnchainFromBlock?: number | undefined;
|
|
1899
1888
|
nodeEndpoint?: string | undefined;
|
|
1900
1889
|
testnetL2DeploymentPath?: string | undefined;
|
|
1901
1890
|
testnetL2TokenDeploymentPath?: string | undefined;
|
|
@@ -1903,8 +1892,8 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1903
1892
|
testnetStolasDeploymentPath?: string | undefined;
|
|
1904
1893
|
jinnMviL1DeploymentPath?: string | undefined;
|
|
1905
1894
|
jinnMviL2DeploymentPath?: string | undefined;
|
|
1906
|
-
ethereumRpcUrl?: string | undefined;
|
|
1907
|
-
ethereumArchiveRpcUrl?: string | undefined;
|
|
1895
|
+
ethereumRpcUrl?: string | string[] | undefined;
|
|
1896
|
+
ethereumArchiveRpcUrl?: string | string[] | undefined;
|
|
1908
1897
|
jinnDistributorAddress?: string | undefined;
|
|
1909
1898
|
jinnClaimEmitterAddress?: string | undefined;
|
|
1910
1899
|
jinnMessengerAddress?: string | undefined;
|
|
@@ -1922,17 +1911,17 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1922
1911
|
}[] | undefined;
|
|
1923
1912
|
} | undefined;
|
|
1924
1913
|
joinedSolverNets?: Record<string, {
|
|
1914
|
+
manifestCid: string;
|
|
1925
1915
|
roles: ("solver" | "evaluator")[];
|
|
1926
1916
|
plugins: string[];
|
|
1927
|
-
manifestCid: string;
|
|
1928
1917
|
disabledDefaultPlugins: string[];
|
|
1929
1918
|
name?: string | undefined;
|
|
1930
1919
|
harness?: string | undefined;
|
|
1931
|
-
model?: string | undefined;
|
|
1932
1920
|
contract?: {
|
|
1933
1921
|
id: string;
|
|
1934
1922
|
version: string;
|
|
1935
1923
|
} | undefined;
|
|
1924
|
+
model?: string | undefined;
|
|
1936
1925
|
}> | undefined;
|
|
1937
1926
|
trustedImplSigners?: {
|
|
1938
1927
|
publicKey: string;
|
|
@@ -1953,19 +1942,19 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1953
1942
|
} | undefined;
|
|
1954
1943
|
identityRegistryAddress?: string | undefined;
|
|
1955
1944
|
validationRegistryAddress?: string | undefined;
|
|
1945
|
+
spendCaps?: Record<string, number> | undefined;
|
|
1956
1946
|
}, {
|
|
1957
|
-
harness?: {
|
|
1958
|
-
mode?: "train" | "frozen" | undefined;
|
|
1959
|
-
} | undefined;
|
|
1960
1947
|
network?: "testnet" | "mainnet" | undefined;
|
|
1961
|
-
rpcUrl?: string | undefined;
|
|
1962
|
-
archiveRpcUrl?: string | undefined;
|
|
1963
|
-
l2ProofRpcUrl?: string | undefined;
|
|
1948
|
+
rpcUrl?: string | string[] | undefined;
|
|
1949
|
+
archiveRpcUrl?: string | string[] | undefined;
|
|
1950
|
+
l2ProofRpcUrl?: string | string[] | undefined;
|
|
1964
1951
|
earningDir?: string | undefined;
|
|
1965
1952
|
dbPath?: string | undefined;
|
|
1966
1953
|
pollIntervalMs?: number | undefined;
|
|
1967
1954
|
rewardClaimIntervalMs?: number | undefined;
|
|
1968
1955
|
balanceTopupIntervalMs?: number | undefined;
|
|
1956
|
+
evictionCheckIntervalMs?: number | undefined;
|
|
1957
|
+
checkpointIntervalMs?: number | undefined;
|
|
1969
1958
|
apiPort?: number | undefined;
|
|
1970
1959
|
apiBindHost?: string | undefined;
|
|
1971
1960
|
claudePath?: string | undefined;
|
|
@@ -1974,6 +1963,8 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1974
1963
|
hermesModel?: string | undefined;
|
|
1975
1964
|
hermesProvider?: string | undefined;
|
|
1976
1965
|
hermesDoctorTimeoutMs?: number | undefined;
|
|
1966
|
+
codexPath?: string | undefined;
|
|
1967
|
+
codexDoctorTimeoutMs?: number | undefined;
|
|
1977
1968
|
runtimeMode?: "bare" | "docker-compose" | "container" | undefined;
|
|
1978
1969
|
peers?: string | string[] | undefined;
|
|
1979
1970
|
discovery?: {
|
|
@@ -1982,6 +1973,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1982
1973
|
fallbackToOnchain?: boolean | undefined;
|
|
1983
1974
|
} | undefined;
|
|
1984
1975
|
taskDiscoveryAllowedTaskIds?: string[] | undefined;
|
|
1976
|
+
taskDiscoveryOnchainFromBlock?: number | undefined;
|
|
1985
1977
|
nodeEndpoint?: string | undefined;
|
|
1986
1978
|
tasks?: {
|
|
1987
1979
|
id?: string | undefined;
|
|
@@ -2006,6 +1998,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2006
1998
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
2007
1999
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
2008
2000
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
2001
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
2009
2002
|
}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
2010
2003
|
context?: Record<string, unknown> | undefined;
|
|
2011
2004
|
attemptId?: string | undefined;
|
|
@@ -2057,6 +2050,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2057
2050
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
2058
2051
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
2059
2052
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
2053
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
2060
2054
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
2061
2055
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
2062
2056
|
maxClaims: z.ZodNumber;
|
|
@@ -2066,6 +2060,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2066
2060
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
2067
2061
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
2068
2062
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
2063
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
2069
2064
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
2070
2065
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
2071
2066
|
maxClaims: z.ZodNumber;
|
|
@@ -2075,6 +2070,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2075
2070
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
2076
2071
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
2077
2072
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
2073
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
2078
2074
|
}, z.ZodTypeAny, "passthrough">>;
|
|
2079
2075
|
creator: z.ZodObject<{
|
|
2080
2076
|
safeAddress: z.ZodString;
|
|
@@ -2097,13 +2093,15 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2097
2093
|
testnetStolasDeploymentPath?: string | undefined;
|
|
2098
2094
|
jinnMviL1DeploymentPath?: string | undefined;
|
|
2099
2095
|
jinnMviL2DeploymentPath?: string | undefined;
|
|
2100
|
-
ethereumRpcUrl?: string | undefined;
|
|
2101
|
-
ethereumArchiveRpcUrl?: string | undefined;
|
|
2096
|
+
ethereumRpcUrl?: string | string[] | undefined;
|
|
2097
|
+
ethereumArchiveRpcUrl?: string | string[] | undefined;
|
|
2102
2098
|
jinnL1Network?: "sepolia" | "ethereum" | undefined;
|
|
2103
2099
|
jinnDistributorAddress?: string | undefined;
|
|
2104
2100
|
jinnClaimEmitterAddress?: string | undefined;
|
|
2105
2101
|
jinnMessengerAddress?: string | undefined;
|
|
2106
2102
|
jinnMessengerMode?: "canonical" | "mock" | undefined;
|
|
2103
|
+
jinnClaimSubmissionMode?: "emit-only" | "submit" | undefined;
|
|
2104
|
+
jinnClaimLoopEnabled?: boolean | undefined;
|
|
2107
2105
|
jinnClaimLoopIntervalMs?: number | undefined;
|
|
2108
2106
|
stakingMode?: "standard" | "self-bond" | undefined;
|
|
2109
2107
|
targetServices?: number | undefined;
|
|
@@ -2121,18 +2119,20 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2121
2119
|
version?: string | undefined;
|
|
2122
2120
|
}[] | undefined;
|
|
2123
2121
|
} | undefined;
|
|
2124
|
-
|
|
2122
|
+
harness?: {
|
|
2123
|
+
mode?: "train" | "frozen" | undefined;
|
|
2124
|
+
} | undefined;
|
|
2125
2125
|
joinedSolverNets?: Record<string, {
|
|
2126
|
-
roles: ("solver" | "evaluator")[];
|
|
2127
2126
|
manifestCid: string;
|
|
2127
|
+
roles: ("solver" | "evaluator")[];
|
|
2128
2128
|
name?: string | undefined;
|
|
2129
2129
|
harness?: string | undefined;
|
|
2130
|
-
model?: string | undefined;
|
|
2131
|
-
plugins?: string[] | undefined;
|
|
2132
2130
|
contract?: {
|
|
2133
2131
|
id: string;
|
|
2134
2132
|
version: string;
|
|
2135
2133
|
} | undefined;
|
|
2134
|
+
model?: string | undefined;
|
|
2135
|
+
plugins?: string[] | undefined;
|
|
2136
2136
|
disabledDefaultPlugins?: string[] | undefined;
|
|
2137
2137
|
}> | undefined;
|
|
2138
2138
|
trustedImplSigners?: {
|
|
@@ -2162,10 +2162,33 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2162
2162
|
identityRegistryAddress?: string | undefined;
|
|
2163
2163
|
validationRegistryAddress?: string | undefined;
|
|
2164
2164
|
reputationEnabled?: boolean | undefined;
|
|
2165
|
+
spendCaps?: Record<string, number> | undefined;
|
|
2166
|
+
solverPlugins?: {
|
|
2167
|
+
blockedCids?: string[] | undefined;
|
|
2168
|
+
} | undefined;
|
|
2165
2169
|
}>;
|
|
2166
|
-
/**
|
|
2167
|
-
|
|
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'> & {
|
|
2168
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[];
|
|
2169
2192
|
tasks: Task[];
|
|
2170
2193
|
engine: {
|
|
2171
2194
|
workingDirRoot: string;
|
|
@@ -2181,12 +2204,41 @@ export declare const DEFAULT_CONFIG_PATH: string;
|
|
|
2181
2204
|
* historical sync — see ponder.config.ts).
|
|
2182
2205
|
*/
|
|
2183
2206
|
export declare const DEFAULT_TESTNET_DISCOVERY_URL = "https://jinn-indexer-production.up.railway.app";
|
|
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[];
|
|
2184
2219
|
export type ConfigLoadErrorCode = 'config_file_not_found' | 'config_json_invalid' | 'tasks_file_not_found' | 'tasks_json_invalid' | 'config_invalid';
|
|
2185
2220
|
export declare class ConfigLoadError extends Error {
|
|
2186
2221
|
readonly code: ConfigLoadErrorCode;
|
|
2187
2222
|
readonly details?: Record<string, unknown>;
|
|
2188
2223
|
constructor(code: ConfigLoadErrorCode, message: string, details?: Record<string, unknown>);
|
|
2189
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;
|
|
2190
2242
|
/**
|
|
2191
2243
|
* Load config with resolution: env > config file > defaults.
|
|
2192
2244
|
*
|