@jinn-network/client 0.1.6 → 0.1.7-canary.08ebd916
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 +38 -2
- package/dist/adapters/mech/adapter.js +269 -62
- package/dist/adapters/mech/adapter.js.map +1 -1
- package/dist/adapters/mech/contracts.d.ts +17 -4
- package/dist/adapters/mech/contracts.js +8 -2
- 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 +25 -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 +16 -0
- package/dist/api/setup-endpoints.js +89 -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 +99 -60
- package/dist/api/solvernets-endpoints.js.map +1 -1
- package/dist/api/status-build.d.ts +168 -2
- package/dist/api/status-build.js +116 -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 +10 -0
- package/dist/chain-read-errors.js +15 -0
- 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/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.js +101 -15
- 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/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 +273 -235
- package/dist/config.js +305 -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 +7 -3
- package/dist/daemon/creator.js.map +1 -1
- package/dist/daemon/daemon.d.ts +22 -0
- package/dist/daemon/daemon.js +156 -23
- 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-C4huIsUW.css +32 -0
- package/dist/dashboard/assets/index-DkTglWXU.js +345 -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 +216 -3
- package/dist/discovery/http.js.map +1 -1
- package/dist/discovery/onchain.d.ts +5 -0
- package/dist/discovery/onchain.js +418 -15
- package/dist/discovery/onchain.js.map +1 -1
- package/dist/discovery/types.d.ts +75 -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 +20 -0
- package/dist/discovery/with-fallback.js.map +1 -1
- package/dist/earning/bootstrap.d.ts +100 -4
- package/dist/earning/bootstrap.js +221 -74
- 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 +145 -0
- package/dist/harnesses/cost-estimates.js +297 -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 +40 -6
- package/dist/harnesses/impls/hermes-agent/bootstrap.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 +38 -4
- package/dist/harnesses/impls/learner/harness.js +96 -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 +178 -93
- 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/main.js +419 -111
- package/dist/main.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 +94 -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 +113 -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/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/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-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 +94 -1
- package/dist/solver-types/_swe-rebench-v2-validated-pool.js +305 -39
- package/dist/solver-types/_swe-rebench-v2-validated-pool.js.map +1 -1
- package/dist/solver-types/swe-rebench-v2-auto.d.ts +22 -7
- package/dist/solver-types/swe-rebench-v2-auto.js +57 -20
- package/dist/solver-types/swe-rebench-v2-auto.js.map +1 -1
- package/dist/solver-types/swe-rebench-v2.d.ts +18 -2
- package/dist/solver-types/swe-rebench-v2.js +310 -94
- 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 +44 -7
- package/dist/solvernets/launched-record-dispatcher.js.map +1 -1
- package/dist/solvernets/store.d.ts +5 -0
- package/dist/solvernets/store.js +1 -0
- package/dist/solvernets/store.js.map +1 -1
- 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/types.d.ts +8 -8
- 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/prediction-apy-v0.d.ts +5 -5
- package/dist/types/payloads/prediction-v0.d.ts +5 -5
- 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 +36 -13
- 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
|
|
@@ -208,6 +195,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
208
195
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
209
196
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
210
197
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
198
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
211
199
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
212
200
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
213
201
|
maxClaims: z.ZodNumber;
|
|
@@ -217,6 +205,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
217
205
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
218
206
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
219
207
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
208
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
220
209
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
221
210
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
222
211
|
maxClaims: z.ZodNumber;
|
|
@@ -226,6 +215,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
226
215
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
227
216
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
228
217
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
218
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
229
219
|
}, z.ZodTypeAny, "passthrough">>>;
|
|
230
220
|
signedTask: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
|
231
221
|
signature: z.ZodObject<{
|
|
@@ -273,6 +263,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
273
263
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
274
264
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
275
265
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
266
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
276
267
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
277
268
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
278
269
|
maxClaims: z.ZodNumber;
|
|
@@ -282,6 +273,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
282
273
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
283
274
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
284
275
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
276
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
285
277
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
286
278
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
287
279
|
maxClaims: z.ZodNumber;
|
|
@@ -291,6 +283,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
291
283
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
292
284
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
293
285
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
286
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
294
287
|
}, z.ZodTypeAny, "passthrough">>;
|
|
295
288
|
creator: z.ZodObject<{
|
|
296
289
|
safeAddress: z.ZodString;
|
|
@@ -349,6 +342,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
349
342
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
350
343
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
351
344
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
345
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
352
346
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
353
347
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
354
348
|
maxClaims: z.ZodNumber;
|
|
@@ -358,6 +352,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
358
352
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
359
353
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
360
354
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
355
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
361
356
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
362
357
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
363
358
|
maxClaims: z.ZodNumber;
|
|
@@ -367,6 +362,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
367
362
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
368
363
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
369
364
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
365
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
370
366
|
}, z.ZodTypeAny, "passthrough">>;
|
|
371
367
|
creator: z.ZodObject<{
|
|
372
368
|
safeAddress: z.ZodString;
|
|
@@ -425,6 +421,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
425
421
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
426
422
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
427
423
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
424
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
428
425
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
429
426
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
430
427
|
maxClaims: z.ZodNumber;
|
|
@@ -434,6 +431,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
434
431
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
435
432
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
436
433
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
434
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
437
435
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
438
436
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
439
437
|
maxClaims: z.ZodNumber;
|
|
@@ -443,6 +441,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
443
441
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
444
442
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
445
443
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
444
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
446
445
|
}, z.ZodTypeAny, "passthrough">>;
|
|
447
446
|
creator: z.ZodObject<{
|
|
448
447
|
safeAddress: z.ZodString;
|
|
@@ -501,6 +500,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
501
500
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
502
501
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
503
502
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
503
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
504
504
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
505
505
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
506
506
|
maxClaims: z.ZodNumber;
|
|
@@ -510,6 +510,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
510
510
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
511
511
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
512
512
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
513
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
513
514
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
514
515
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
515
516
|
maxClaims: z.ZodNumber;
|
|
@@ -519,6 +520,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
519
520
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
520
521
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
521
522
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
523
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
522
524
|
}, z.ZodTypeAny, "passthrough">>;
|
|
523
525
|
creator: z.ZodObject<{
|
|
524
526
|
safeAddress: z.ZodString;
|
|
@@ -577,6 +579,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
577
579
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
578
580
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
579
581
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
582
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
580
583
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
581
584
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
582
585
|
maxClaims: z.ZodNumber;
|
|
@@ -586,6 +589,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
586
589
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
587
590
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
588
591
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
592
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
589
593
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
590
594
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
591
595
|
maxClaims: z.ZodNumber;
|
|
@@ -595,6 +599,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
595
599
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
596
600
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
597
601
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
602
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
598
603
|
}, z.ZodTypeAny, "passthrough">>;
|
|
599
604
|
creator: z.ZodObject<{
|
|
600
605
|
safeAddress: z.ZodString;
|
|
@@ -637,6 +642,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
637
642
|
claimWindowEndTs?: number | undefined;
|
|
638
643
|
submissionDeadlineTs?: number | undefined;
|
|
639
644
|
policyHook?: string | undefined;
|
|
645
|
+
requiredVerdicts?: number | undefined;
|
|
640
646
|
} & {
|
|
641
647
|
[k: string]: unknown;
|
|
642
648
|
};
|
|
@@ -691,6 +697,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
691
697
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
692
698
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
693
699
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
700
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
694
701
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
695
702
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
696
703
|
maxClaims: z.ZodNumber;
|
|
@@ -700,6 +707,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
700
707
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
701
708
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
702
709
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
710
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
703
711
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
704
712
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
705
713
|
maxClaims: z.ZodNumber;
|
|
@@ -709,6 +717,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
709
717
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
710
718
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
711
719
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
720
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
712
721
|
}, z.ZodTypeAny, "passthrough">>;
|
|
713
722
|
creator: z.ZodObject<{
|
|
714
723
|
safeAddress: z.ZodString;
|
|
@@ -745,6 +754,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
745
754
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
746
755
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
747
756
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
757
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
748
758
|
}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
749
759
|
context?: Record<string, unknown> | undefined;
|
|
750
760
|
attemptId?: string | undefined;
|
|
@@ -780,6 +790,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
780
790
|
claimWindowEndTs?: number | undefined;
|
|
781
791
|
submissionDeadlineTs?: number | undefined;
|
|
782
792
|
policyHook?: string | undefined;
|
|
793
|
+
requiredVerdicts?: number | undefined;
|
|
783
794
|
} & {
|
|
784
795
|
[k: string]: unknown;
|
|
785
796
|
};
|
|
@@ -812,6 +823,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
812
823
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
813
824
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
814
825
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
826
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
815
827
|
}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
816
828
|
context?: Record<string, unknown> | undefined;
|
|
817
829
|
attemptId?: string | undefined;
|
|
@@ -863,6 +875,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
863
875
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
864
876
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
865
877
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
878
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
866
879
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
867
880
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
868
881
|
maxClaims: z.ZodNumber;
|
|
@@ -872,6 +885,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
872
885
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
873
886
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
874
887
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
888
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
875
889
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
876
890
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
877
891
|
maxClaims: z.ZodNumber;
|
|
@@ -881,6 +895,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
881
895
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
882
896
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
883
897
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
898
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
884
899
|
}, z.ZodTypeAny, "passthrough">>;
|
|
885
900
|
creator: z.ZodObject<{
|
|
886
901
|
safeAddress: z.ZodString;
|
|
@@ -921,17 +936,19 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
921
936
|
*/
|
|
922
937
|
jinnMviL2DeploymentPath: z.ZodOptional<z.ZodString>;
|
|
923
938
|
/**
|
|
924
|
-
* RPC endpoint for the L1 governance chain (Ethereum / Sepolia) where
|
|
925
|
-
* JinnDistributor lives.
|
|
926
|
-
*
|
|
939
|
+
* RPC endpoint(s) for the L1 governance chain (Ethereum / Sepolia) where
|
|
940
|
+
* the JinnDistributor lives. Accepts string or array form (see rpcUrl) and
|
|
941
|
+
* supports comma-separated env values. Testnet defaults to a public Sepolia
|
|
942
|
+
* RPC; mainnet requires an operator override when L1 submit mode is
|
|
943
|
+
* configured. Env: JINN_ETHEREUM_RPC_URL.
|
|
927
944
|
*/
|
|
928
|
-
ethereumRpcUrl: z.ZodOptional<z.ZodString
|
|
945
|
+
ethereumRpcUrl: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
|
|
929
946
|
/**
|
|
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.
|
|
947
|
+
* Optional archive RPC endpoint(s) for the L1 governance chain. Used for
|
|
948
|
+
* historical block lookups when constructing canonical-mode proofs. Accepts
|
|
949
|
+
* string or array form. Env: JINN_ETHEREUM_ARCHIVE_RPC_URL.
|
|
933
950
|
*/
|
|
934
|
-
ethereumArchiveRpcUrl: z.ZodOptional<z.ZodString
|
|
951
|
+
ethereumArchiveRpcUrl: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
|
|
935
952
|
/**
|
|
936
953
|
* L1 network used by the cross-chain claim loop. 'sepolia' tracks Base
|
|
937
954
|
* Sepolia testnet; 'ethereum' tracks Base mainnet. Defaults to 'sepolia'
|
|
@@ -939,10 +956,10 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
939
956
|
*/
|
|
940
957
|
jinnL1Network: z.ZodDefault<z.ZodEnum<["sepolia", "ethereum"]>>;
|
|
941
958
|
/**
|
|
942
|
-
* JinnDistributor address on the L1 governance chain.
|
|
943
|
-
*
|
|
944
|
-
* Resolved from jinnMviL1DeploymentPath when omitted;
|
|
945
|
-
* override. Env: JINN_DISTRIBUTOR_ADDRESS.
|
|
959
|
+
* JinnDistributor address on the L1 governance chain. Required for
|
|
960
|
+
* jinnClaimSubmissionMode='submit'. When set for submit mode, ethereumRpcUrl
|
|
961
|
+
* MUST also be set. Resolved from jinnMviL1DeploymentPath when omitted;
|
|
962
|
+
* otherwise a manual override. Env: JINN_DISTRIBUTOR_ADDRESS.
|
|
946
963
|
*/
|
|
947
964
|
jinnDistributorAddress: z.ZodOptional<z.ZodString>;
|
|
948
965
|
/**
|
|
@@ -967,6 +984,20 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
967
984
|
* Env: JINN_MESSENGER_MODE.
|
|
968
985
|
*/
|
|
969
986
|
jinnMessengerMode: z.ZodDefault<z.ZodEnum<["canonical", "mock"]>>;
|
|
987
|
+
/**
|
|
988
|
+
* Claim submission mode. `emit-only` only submits TaskClaimEmitter.emitClaim
|
|
989
|
+
* on L2 and records the resulting ticket. `submit` continues into the L1
|
|
990
|
+
* messenger/distributor path.
|
|
991
|
+
* Env: JINN_CLAIM_SUBMISSION_MODE.
|
|
992
|
+
*/
|
|
993
|
+
jinnClaimSubmissionMode: z.ZodDefault<z.ZodEnum<["emit-only", "submit"]>>;
|
|
994
|
+
/**
|
|
995
|
+
* Explicit operator gate for the cross-chain JINN claim loop. The schema
|
|
996
|
+
* default stays off for mainnet/unknown networks; loadConfig defaults this
|
|
997
|
+
* on for testnet now that the emitter and standing relayer are live.
|
|
998
|
+
* Env: JINN_CLAIM_LOOP_ENABLED=1|true|yes.
|
|
999
|
+
*/
|
|
1000
|
+
jinnClaimLoopEnabled: z.ZodDefault<z.ZodBoolean>;
|
|
970
1001
|
/**
|
|
971
1002
|
* How often the daemon ticks the cross-chain JINN claim loop (ms). Default
|
|
972
1003
|
* 3 600 000 (1 hour) — well below mainnet challenge windows while
|
|
@@ -1073,97 +1104,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1073
1104
|
mode?: "train" | "frozen" | undefined;
|
|
1074
1105
|
}>>;
|
|
1075
1106
|
/**
|
|
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).
|
|
1107
|
+
* Manifest-keyed joined SolverNets.
|
|
1167
1108
|
*
|
|
1168
1109
|
* Spec: spec/2026-05-05-solvernet-creation-and-launch.md §12.
|
|
1169
1110
|
*
|
|
@@ -1172,10 +1113,10 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1172
1113
|
* (CIDv0 / CIDv1) — the only stable identifier that maps back to a
|
|
1173
1114
|
* launched-instance authority across launchers.
|
|
1174
1115
|
*
|
|
1175
|
-
*
|
|
1176
|
-
*
|
|
1177
|
-
*
|
|
1178
|
-
*
|
|
1116
|
+
* The daemon narrows this block into runtime SolverNet registry entries on
|
|
1117
|
+
* restart. Legacy short-name-keyed `solverNets` blocks on operator config
|
|
1118
|
+
* files are auto-migrated into synthetic `legacy:<short-name>`-keyed
|
|
1119
|
+
* entries at load time (see `migrateLegacySolverNets`).
|
|
1179
1120
|
*/
|
|
1180
1121
|
joinedSolverNets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
1181
1122
|
manifestCid: z.ZodString;
|
|
@@ -1196,28 +1137,28 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1196
1137
|
plugins: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
1197
1138
|
disabledDefaultPlugins: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
1198
1139
|
}, "strip", z.ZodTypeAny, {
|
|
1140
|
+
manifestCid: string;
|
|
1199
1141
|
roles: ("solver" | "evaluator")[];
|
|
1200
1142
|
plugins: string[];
|
|
1201
|
-
manifestCid: string;
|
|
1202
1143
|
disabledDefaultPlugins: string[];
|
|
1203
1144
|
name?: string | undefined;
|
|
1204
1145
|
harness?: string | undefined;
|
|
1205
|
-
model?: string | undefined;
|
|
1206
1146
|
contract?: {
|
|
1207
1147
|
id: string;
|
|
1208
1148
|
version: string;
|
|
1209
1149
|
} | undefined;
|
|
1150
|
+
model?: string | undefined;
|
|
1210
1151
|
}, {
|
|
1211
|
-
roles: ("solver" | "evaluator")[];
|
|
1212
1152
|
manifestCid: string;
|
|
1153
|
+
roles: ("solver" | "evaluator")[];
|
|
1213
1154
|
name?: string | undefined;
|
|
1214
1155
|
harness?: string | undefined;
|
|
1215
|
-
model?: string | undefined;
|
|
1216
|
-
plugins?: string[] | undefined;
|
|
1217
1156
|
contract?: {
|
|
1218
1157
|
id: string;
|
|
1219
1158
|
version: string;
|
|
1220
1159
|
} | undefined;
|
|
1160
|
+
model?: string | undefined;
|
|
1161
|
+
plugins?: string[] | undefined;
|
|
1221
1162
|
disabledDefaultPlugins?: string[] | undefined;
|
|
1222
1163
|
}>>>;
|
|
1223
1164
|
/**
|
|
@@ -1374,20 +1315,49 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1374
1315
|
* Env: JINN_REPUTATION_ENABLED
|
|
1375
1316
|
*/
|
|
1376
1317
|
reputationEnabled: z.ZodDefault<z.ZodBoolean>;
|
|
1318
|
+
/**
|
|
1319
|
+
* Per-credential daily spend caps (USD). Keys are credential identifiers
|
|
1320
|
+
* (e.g. `'anthropic:api-key'`); values are positive numbers representing
|
|
1321
|
+
* the maximum USD spend per day for that credential.
|
|
1322
|
+
*
|
|
1323
|
+
* `JINN_SPEND_CAP_USD` (env-only, consumed directly by the spend-budget
|
|
1324
|
+
* subsystem in Task 9) is tracked for provenance in TRACKED_ENV_VARS below
|
|
1325
|
+
* but is NOT a config-file field and has no entry in this schema.
|
|
1326
|
+
*/
|
|
1327
|
+
spendCaps: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
1328
|
+
/**
|
|
1329
|
+
* Operator-local SolverPlugin trust state.
|
|
1330
|
+
*
|
|
1331
|
+
* `blockedCids` is the list of plug-in CIDs the operator has chosen to
|
|
1332
|
+
* refuse to load — populated by `jinn solver-plugins block <cid>` and read
|
|
1333
|
+
* at daemon startup. The block list complements the on-chain
|
|
1334
|
+
* `giveFeedback(score=0)` write (which is the public-trust signal); the
|
|
1335
|
+
* local list is the operator's own refusal to execute, applied even when
|
|
1336
|
+
* the network write fails. File-managed only — no env override.
|
|
1337
|
+
*
|
|
1338
|
+
* See spec/2026-05-26-117-design.md "Failure modes" and "Local-only effects".
|
|
1339
|
+
*/
|
|
1340
|
+
solverPlugins: z.ZodDefault<z.ZodObject<{
|
|
1341
|
+
blockedCids: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
1342
|
+
}, "strip", z.ZodTypeAny, {
|
|
1343
|
+
blockedCids: string[];
|
|
1344
|
+
}, {
|
|
1345
|
+
blockedCids?: string[] | undefined;
|
|
1346
|
+
}>>;
|
|
1377
1347
|
}, "strip", z.ZodTypeAny, {
|
|
1378
|
-
harness: {
|
|
1379
|
-
mode: "train" | "frozen";
|
|
1380
|
-
};
|
|
1381
1348
|
network: "testnet" | "mainnet";
|
|
1382
1349
|
earningDir: string;
|
|
1383
1350
|
dbPath: string;
|
|
1384
1351
|
pollIntervalMs: number;
|
|
1385
1352
|
rewardClaimIntervalMs: number;
|
|
1386
1353
|
balanceTopupIntervalMs: number;
|
|
1354
|
+
evictionCheckIntervalMs: number;
|
|
1355
|
+
checkpointIntervalMs: number;
|
|
1387
1356
|
apiPort: number;
|
|
1388
1357
|
claudePath: string;
|
|
1389
1358
|
claudeModel: string;
|
|
1390
1359
|
hermesDoctorTimeoutMs: number;
|
|
1360
|
+
codexDoctorTimeoutMs: number;
|
|
1391
1361
|
peers: string[];
|
|
1392
1362
|
tasks: {
|
|
1393
1363
|
id?: string | undefined;
|
|
@@ -1412,6 +1382,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1412
1382
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
1413
1383
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
1414
1384
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
1385
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
1415
1386
|
}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
1416
1387
|
context?: Record<string, unknown> | undefined;
|
|
1417
1388
|
attemptId?: string | undefined;
|
|
@@ -1447,6 +1418,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1447
1418
|
claimWindowEndTs?: number | undefined;
|
|
1448
1419
|
submissionDeadlineTs?: number | undefined;
|
|
1449
1420
|
policyHook?: string | undefined;
|
|
1421
|
+
requiredVerdicts?: number | undefined;
|
|
1450
1422
|
} & {
|
|
1451
1423
|
[k: string]: unknown;
|
|
1452
1424
|
};
|
|
@@ -1461,25 +1433,15 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1461
1433
|
ipfsGatewayUrl: string;
|
|
1462
1434
|
jinnL1Network: "sepolia" | "ethereum";
|
|
1463
1435
|
jinnMessengerMode: "canonical" | "mock";
|
|
1436
|
+
jinnClaimSubmissionMode: "emit-only" | "submit";
|
|
1437
|
+
jinnClaimLoopEnabled: boolean;
|
|
1464
1438
|
jinnClaimLoopIntervalMs: number;
|
|
1465
1439
|
stakingMode: "standard" | "self-bond";
|
|
1466
1440
|
targetServices: number;
|
|
1467
1441
|
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
|
-
}>;
|
|
1442
|
+
harness: {
|
|
1443
|
+
mode: "train" | "frozen";
|
|
1444
|
+
};
|
|
1483
1445
|
captures: {
|
|
1484
1446
|
llmProxy: {
|
|
1485
1447
|
enabled: boolean;
|
|
@@ -1488,13 +1450,17 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1488
1450
|
};
|
|
1489
1451
|
runLegacyMigrations: boolean;
|
|
1490
1452
|
reputationEnabled: boolean;
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1453
|
+
solverPlugins: {
|
|
1454
|
+
blockedCids: string[];
|
|
1455
|
+
};
|
|
1456
|
+
rpcUrl?: string | string[] | undefined;
|
|
1457
|
+
archiveRpcUrl?: string | string[] | undefined;
|
|
1458
|
+
l2ProofRpcUrl?: string | string[] | undefined;
|
|
1494
1459
|
apiBindHost?: string | undefined;
|
|
1495
1460
|
hermesPath?: string | undefined;
|
|
1496
1461
|
hermesModel?: string | undefined;
|
|
1497
1462
|
hermesProvider?: string | undefined;
|
|
1463
|
+
codexPath?: string | undefined;
|
|
1498
1464
|
runtimeMode?: "bare" | "docker-compose" | "container" | undefined;
|
|
1499
1465
|
discovery?: {
|
|
1500
1466
|
mode?: "http" | "embedded" | "onchain" | undefined;
|
|
@@ -1509,8 +1475,8 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1509
1475
|
testnetStolasDeploymentPath?: string | undefined;
|
|
1510
1476
|
jinnMviL1DeploymentPath?: string | undefined;
|
|
1511
1477
|
jinnMviL2DeploymentPath?: string | undefined;
|
|
1512
|
-
ethereumRpcUrl?: string | undefined;
|
|
1513
|
-
ethereumArchiveRpcUrl?: string | undefined;
|
|
1478
|
+
ethereumRpcUrl?: string | string[] | undefined;
|
|
1479
|
+
ethereumArchiveRpcUrl?: string | string[] | undefined;
|
|
1514
1480
|
jinnDistributorAddress?: string | undefined;
|
|
1515
1481
|
jinnClaimEmitterAddress?: string | undefined;
|
|
1516
1482
|
jinnMessengerAddress?: string | undefined;
|
|
@@ -1528,17 +1494,17 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1528
1494
|
}[] | undefined;
|
|
1529
1495
|
} | undefined;
|
|
1530
1496
|
joinedSolverNets?: Record<string, {
|
|
1497
|
+
manifestCid: string;
|
|
1531
1498
|
roles: ("solver" | "evaluator")[];
|
|
1532
1499
|
plugins: string[];
|
|
1533
|
-
manifestCid: string;
|
|
1534
1500
|
disabledDefaultPlugins: string[];
|
|
1535
1501
|
name?: string | undefined;
|
|
1536
1502
|
harness?: string | undefined;
|
|
1537
|
-
model?: string | undefined;
|
|
1538
1503
|
contract?: {
|
|
1539
1504
|
id: string;
|
|
1540
1505
|
version: string;
|
|
1541
1506
|
} | undefined;
|
|
1507
|
+
model?: string | undefined;
|
|
1542
1508
|
}> | undefined;
|
|
1543
1509
|
trustedImplSigners?: {
|
|
1544
1510
|
publicKey: string;
|
|
@@ -1559,19 +1525,19 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1559
1525
|
} | undefined;
|
|
1560
1526
|
identityRegistryAddress?: string | undefined;
|
|
1561
1527
|
validationRegistryAddress?: string | undefined;
|
|
1528
|
+
spendCaps?: Record<string, number> | undefined;
|
|
1562
1529
|
}, {
|
|
1563
|
-
harness?: {
|
|
1564
|
-
mode?: "train" | "frozen" | undefined;
|
|
1565
|
-
} | undefined;
|
|
1566
1530
|
network?: "testnet" | "mainnet" | undefined;
|
|
1567
|
-
rpcUrl?: string | undefined;
|
|
1568
|
-
archiveRpcUrl?: string | undefined;
|
|
1569
|
-
l2ProofRpcUrl?: string | undefined;
|
|
1531
|
+
rpcUrl?: string | string[] | undefined;
|
|
1532
|
+
archiveRpcUrl?: string | string[] | undefined;
|
|
1533
|
+
l2ProofRpcUrl?: string | string[] | undefined;
|
|
1570
1534
|
earningDir?: string | undefined;
|
|
1571
1535
|
dbPath?: string | undefined;
|
|
1572
1536
|
pollIntervalMs?: number | undefined;
|
|
1573
1537
|
rewardClaimIntervalMs?: number | undefined;
|
|
1574
1538
|
balanceTopupIntervalMs?: number | undefined;
|
|
1539
|
+
evictionCheckIntervalMs?: number | undefined;
|
|
1540
|
+
checkpointIntervalMs?: number | undefined;
|
|
1575
1541
|
apiPort?: number | undefined;
|
|
1576
1542
|
apiBindHost?: string | undefined;
|
|
1577
1543
|
claudePath?: string | undefined;
|
|
@@ -1580,6 +1546,8 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1580
1546
|
hermesModel?: string | undefined;
|
|
1581
1547
|
hermesProvider?: string | undefined;
|
|
1582
1548
|
hermesDoctorTimeoutMs?: number | undefined;
|
|
1549
|
+
codexPath?: string | undefined;
|
|
1550
|
+
codexDoctorTimeoutMs?: number | undefined;
|
|
1583
1551
|
runtimeMode?: "bare" | "docker-compose" | "container" | undefined;
|
|
1584
1552
|
peers?: string | string[] | undefined;
|
|
1585
1553
|
discovery?: {
|
|
@@ -1612,6 +1580,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1612
1580
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
1613
1581
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
1614
1582
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
1583
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
1615
1584
|
}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
1616
1585
|
context?: Record<string, unknown> | undefined;
|
|
1617
1586
|
attemptId?: string | undefined;
|
|
@@ -1663,6 +1632,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1663
1632
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
1664
1633
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
1665
1634
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
1635
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
1666
1636
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
1667
1637
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
1668
1638
|
maxClaims: z.ZodNumber;
|
|
@@ -1672,6 +1642,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1672
1642
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
1673
1643
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
1674
1644
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
1645
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
1675
1646
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
1676
1647
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
1677
1648
|
maxClaims: z.ZodNumber;
|
|
@@ -1681,6 +1652,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1681
1652
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
1682
1653
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
1683
1654
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
1655
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
1684
1656
|
}, z.ZodTypeAny, "passthrough">>;
|
|
1685
1657
|
creator: z.ZodObject<{
|
|
1686
1658
|
safeAddress: z.ZodString;
|
|
@@ -1703,13 +1675,15 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1703
1675
|
testnetStolasDeploymentPath?: string | undefined;
|
|
1704
1676
|
jinnMviL1DeploymentPath?: string | undefined;
|
|
1705
1677
|
jinnMviL2DeploymentPath?: string | undefined;
|
|
1706
|
-
ethereumRpcUrl?: string | undefined;
|
|
1707
|
-
ethereumArchiveRpcUrl?: string | undefined;
|
|
1678
|
+
ethereumRpcUrl?: string | string[] | undefined;
|
|
1679
|
+
ethereumArchiveRpcUrl?: string | string[] | undefined;
|
|
1708
1680
|
jinnL1Network?: "sepolia" | "ethereum" | undefined;
|
|
1709
1681
|
jinnDistributorAddress?: string | undefined;
|
|
1710
1682
|
jinnClaimEmitterAddress?: string | undefined;
|
|
1711
1683
|
jinnMessengerAddress?: string | undefined;
|
|
1712
1684
|
jinnMessengerMode?: "canonical" | "mock" | undefined;
|
|
1685
|
+
jinnClaimSubmissionMode?: "emit-only" | "submit" | undefined;
|
|
1686
|
+
jinnClaimLoopEnabled?: boolean | undefined;
|
|
1713
1687
|
jinnClaimLoopIntervalMs?: number | undefined;
|
|
1714
1688
|
stakingMode?: "standard" | "self-bond" | undefined;
|
|
1715
1689
|
targetServices?: number | undefined;
|
|
@@ -1727,18 +1701,20 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1727
1701
|
version?: string | undefined;
|
|
1728
1702
|
}[] | undefined;
|
|
1729
1703
|
} | undefined;
|
|
1730
|
-
|
|
1704
|
+
harness?: {
|
|
1705
|
+
mode?: "train" | "frozen" | undefined;
|
|
1706
|
+
} | undefined;
|
|
1731
1707
|
joinedSolverNets?: Record<string, {
|
|
1732
|
-
roles: ("solver" | "evaluator")[];
|
|
1733
1708
|
manifestCid: string;
|
|
1709
|
+
roles: ("solver" | "evaluator")[];
|
|
1734
1710
|
name?: string | undefined;
|
|
1735
1711
|
harness?: string | undefined;
|
|
1736
|
-
model?: string | undefined;
|
|
1737
|
-
plugins?: string[] | undefined;
|
|
1738
1712
|
contract?: {
|
|
1739
1713
|
id: string;
|
|
1740
1714
|
version: string;
|
|
1741
1715
|
} | undefined;
|
|
1716
|
+
model?: string | undefined;
|
|
1717
|
+
plugins?: string[] | undefined;
|
|
1742
1718
|
disabledDefaultPlugins?: string[] | undefined;
|
|
1743
1719
|
}> | undefined;
|
|
1744
1720
|
trustedImplSigners?: {
|
|
@@ -1768,20 +1744,24 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1768
1744
|
identityRegistryAddress?: string | undefined;
|
|
1769
1745
|
validationRegistryAddress?: string | undefined;
|
|
1770
1746
|
reputationEnabled?: boolean | undefined;
|
|
1747
|
+
spendCaps?: Record<string, number> | undefined;
|
|
1748
|
+
solverPlugins?: {
|
|
1749
|
+
blockedCids?: string[] | undefined;
|
|
1750
|
+
} | undefined;
|
|
1771
1751
|
}>, {
|
|
1772
|
-
harness: {
|
|
1773
|
-
mode: "train" | "frozen";
|
|
1774
|
-
};
|
|
1775
1752
|
network: "testnet" | "mainnet";
|
|
1776
1753
|
earningDir: string;
|
|
1777
1754
|
dbPath: string;
|
|
1778
1755
|
pollIntervalMs: number;
|
|
1779
1756
|
rewardClaimIntervalMs: number;
|
|
1780
1757
|
balanceTopupIntervalMs: number;
|
|
1758
|
+
evictionCheckIntervalMs: number;
|
|
1759
|
+
checkpointIntervalMs: number;
|
|
1781
1760
|
apiPort: number;
|
|
1782
1761
|
claudePath: string;
|
|
1783
1762
|
claudeModel: string;
|
|
1784
1763
|
hermesDoctorTimeoutMs: number;
|
|
1764
|
+
codexDoctorTimeoutMs: number;
|
|
1785
1765
|
peers: string[];
|
|
1786
1766
|
tasks: {
|
|
1787
1767
|
id?: string | undefined;
|
|
@@ -1806,6 +1786,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1806
1786
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
1807
1787
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
1808
1788
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
1789
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
1809
1790
|
}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
1810
1791
|
context?: Record<string, unknown> | undefined;
|
|
1811
1792
|
attemptId?: string | undefined;
|
|
@@ -1841,6 +1822,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1841
1822
|
claimWindowEndTs?: number | undefined;
|
|
1842
1823
|
submissionDeadlineTs?: number | undefined;
|
|
1843
1824
|
policyHook?: string | undefined;
|
|
1825
|
+
requiredVerdicts?: number | undefined;
|
|
1844
1826
|
} & {
|
|
1845
1827
|
[k: string]: unknown;
|
|
1846
1828
|
};
|
|
@@ -1855,25 +1837,15 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1855
1837
|
ipfsGatewayUrl: string;
|
|
1856
1838
|
jinnL1Network: "sepolia" | "ethereum";
|
|
1857
1839
|
jinnMessengerMode: "canonical" | "mock";
|
|
1840
|
+
jinnClaimSubmissionMode: "emit-only" | "submit";
|
|
1841
|
+
jinnClaimLoopEnabled: boolean;
|
|
1858
1842
|
jinnClaimLoopIntervalMs: number;
|
|
1859
1843
|
stakingMode: "standard" | "self-bond";
|
|
1860
1844
|
targetServices: number;
|
|
1861
1845
|
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
|
-
}>;
|
|
1846
|
+
harness: {
|
|
1847
|
+
mode: "train" | "frozen";
|
|
1848
|
+
};
|
|
1877
1849
|
captures: {
|
|
1878
1850
|
llmProxy: {
|
|
1879
1851
|
enabled: boolean;
|
|
@@ -1882,13 +1854,17 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1882
1854
|
};
|
|
1883
1855
|
runLegacyMigrations: boolean;
|
|
1884
1856
|
reputationEnabled: boolean;
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1857
|
+
solverPlugins: {
|
|
1858
|
+
blockedCids: string[];
|
|
1859
|
+
};
|
|
1860
|
+
rpcUrl?: string | string[] | undefined;
|
|
1861
|
+
archiveRpcUrl?: string | string[] | undefined;
|
|
1862
|
+
l2ProofRpcUrl?: string | string[] | undefined;
|
|
1888
1863
|
apiBindHost?: string | undefined;
|
|
1889
1864
|
hermesPath?: string | undefined;
|
|
1890
1865
|
hermesModel?: string | undefined;
|
|
1891
1866
|
hermesProvider?: string | undefined;
|
|
1867
|
+
codexPath?: string | undefined;
|
|
1892
1868
|
runtimeMode?: "bare" | "docker-compose" | "container" | undefined;
|
|
1893
1869
|
discovery?: {
|
|
1894
1870
|
mode?: "http" | "embedded" | "onchain" | undefined;
|
|
@@ -1903,8 +1879,8 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1903
1879
|
testnetStolasDeploymentPath?: string | undefined;
|
|
1904
1880
|
jinnMviL1DeploymentPath?: string | undefined;
|
|
1905
1881
|
jinnMviL2DeploymentPath?: string | undefined;
|
|
1906
|
-
ethereumRpcUrl?: string | undefined;
|
|
1907
|
-
ethereumArchiveRpcUrl?: string | undefined;
|
|
1882
|
+
ethereumRpcUrl?: string | string[] | undefined;
|
|
1883
|
+
ethereumArchiveRpcUrl?: string | string[] | undefined;
|
|
1908
1884
|
jinnDistributorAddress?: string | undefined;
|
|
1909
1885
|
jinnClaimEmitterAddress?: string | undefined;
|
|
1910
1886
|
jinnMessengerAddress?: string | undefined;
|
|
@@ -1922,17 +1898,17 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1922
1898
|
}[] | undefined;
|
|
1923
1899
|
} | undefined;
|
|
1924
1900
|
joinedSolverNets?: Record<string, {
|
|
1901
|
+
manifestCid: string;
|
|
1925
1902
|
roles: ("solver" | "evaluator")[];
|
|
1926
1903
|
plugins: string[];
|
|
1927
|
-
manifestCid: string;
|
|
1928
1904
|
disabledDefaultPlugins: string[];
|
|
1929
1905
|
name?: string | undefined;
|
|
1930
1906
|
harness?: string | undefined;
|
|
1931
|
-
model?: string | undefined;
|
|
1932
1907
|
contract?: {
|
|
1933
1908
|
id: string;
|
|
1934
1909
|
version: string;
|
|
1935
1910
|
} | undefined;
|
|
1911
|
+
model?: string | undefined;
|
|
1936
1912
|
}> | undefined;
|
|
1937
1913
|
trustedImplSigners?: {
|
|
1938
1914
|
publicKey: string;
|
|
@@ -1953,19 +1929,19 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1953
1929
|
} | undefined;
|
|
1954
1930
|
identityRegistryAddress?: string | undefined;
|
|
1955
1931
|
validationRegistryAddress?: string | undefined;
|
|
1932
|
+
spendCaps?: Record<string, number> | undefined;
|
|
1956
1933
|
}, {
|
|
1957
|
-
harness?: {
|
|
1958
|
-
mode?: "train" | "frozen" | undefined;
|
|
1959
|
-
} | undefined;
|
|
1960
1934
|
network?: "testnet" | "mainnet" | undefined;
|
|
1961
|
-
rpcUrl?: string | undefined;
|
|
1962
|
-
archiveRpcUrl?: string | undefined;
|
|
1963
|
-
l2ProofRpcUrl?: string | undefined;
|
|
1935
|
+
rpcUrl?: string | string[] | undefined;
|
|
1936
|
+
archiveRpcUrl?: string | string[] | undefined;
|
|
1937
|
+
l2ProofRpcUrl?: string | string[] | undefined;
|
|
1964
1938
|
earningDir?: string | undefined;
|
|
1965
1939
|
dbPath?: string | undefined;
|
|
1966
1940
|
pollIntervalMs?: number | undefined;
|
|
1967
1941
|
rewardClaimIntervalMs?: number | undefined;
|
|
1968
1942
|
balanceTopupIntervalMs?: number | undefined;
|
|
1943
|
+
evictionCheckIntervalMs?: number | undefined;
|
|
1944
|
+
checkpointIntervalMs?: number | undefined;
|
|
1969
1945
|
apiPort?: number | undefined;
|
|
1970
1946
|
apiBindHost?: string | undefined;
|
|
1971
1947
|
claudePath?: string | undefined;
|
|
@@ -1974,6 +1950,8 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1974
1950
|
hermesModel?: string | undefined;
|
|
1975
1951
|
hermesProvider?: string | undefined;
|
|
1976
1952
|
hermesDoctorTimeoutMs?: number | undefined;
|
|
1953
|
+
codexPath?: string | undefined;
|
|
1954
|
+
codexDoctorTimeoutMs?: number | undefined;
|
|
1977
1955
|
runtimeMode?: "bare" | "docker-compose" | "container" | undefined;
|
|
1978
1956
|
peers?: string | string[] | undefined;
|
|
1979
1957
|
discovery?: {
|
|
@@ -2006,6 +1984,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2006
1984
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
2007
1985
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
2008
1986
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
1987
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
2009
1988
|
}, z.ZodTypeAny, "passthrough"> | undefined;
|
|
2010
1989
|
context?: Record<string, unknown> | undefined;
|
|
2011
1990
|
attemptId?: string | undefined;
|
|
@@ -2057,6 +2036,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2057
2036
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
2058
2037
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
2059
2038
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
2039
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
2060
2040
|
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
2061
2041
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
2062
2042
|
maxClaims: z.ZodNumber;
|
|
@@ -2066,6 +2046,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2066
2046
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
2067
2047
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
2068
2048
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
2049
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
2069
2050
|
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
2070
2051
|
mode: z.ZodDefault<z.ZodEnum<["exclusive", "parallel"]>>;
|
|
2071
2052
|
maxClaims: z.ZodNumber;
|
|
@@ -2075,6 +2056,7 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2075
2056
|
submissionDeadlineTs: z.ZodOptional<z.ZodNumber>;
|
|
2076
2057
|
claimLeaseTtlSeconds: z.ZodDefault<z.ZodNumber>;
|
|
2077
2058
|
policyHook: z.ZodOptional<z.ZodString>;
|
|
2059
|
+
requiredVerdicts: z.ZodOptional<z.ZodNumber>;
|
|
2078
2060
|
}, z.ZodTypeAny, "passthrough">>;
|
|
2079
2061
|
creator: z.ZodObject<{
|
|
2080
2062
|
safeAddress: z.ZodString;
|
|
@@ -2097,13 +2079,15 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2097
2079
|
testnetStolasDeploymentPath?: string | undefined;
|
|
2098
2080
|
jinnMviL1DeploymentPath?: string | undefined;
|
|
2099
2081
|
jinnMviL2DeploymentPath?: string | undefined;
|
|
2100
|
-
ethereumRpcUrl?: string | undefined;
|
|
2101
|
-
ethereumArchiveRpcUrl?: string | undefined;
|
|
2082
|
+
ethereumRpcUrl?: string | string[] | undefined;
|
|
2083
|
+
ethereumArchiveRpcUrl?: string | string[] | undefined;
|
|
2102
2084
|
jinnL1Network?: "sepolia" | "ethereum" | undefined;
|
|
2103
2085
|
jinnDistributorAddress?: string | undefined;
|
|
2104
2086
|
jinnClaimEmitterAddress?: string | undefined;
|
|
2105
2087
|
jinnMessengerAddress?: string | undefined;
|
|
2106
2088
|
jinnMessengerMode?: "canonical" | "mock" | undefined;
|
|
2089
|
+
jinnClaimSubmissionMode?: "emit-only" | "submit" | undefined;
|
|
2090
|
+
jinnClaimLoopEnabled?: boolean | undefined;
|
|
2107
2091
|
jinnClaimLoopIntervalMs?: number | undefined;
|
|
2108
2092
|
stakingMode?: "standard" | "self-bond" | undefined;
|
|
2109
2093
|
targetServices?: number | undefined;
|
|
@@ -2121,18 +2105,20 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2121
2105
|
version?: string | undefined;
|
|
2122
2106
|
}[] | undefined;
|
|
2123
2107
|
} | undefined;
|
|
2124
|
-
|
|
2108
|
+
harness?: {
|
|
2109
|
+
mode?: "train" | "frozen" | undefined;
|
|
2110
|
+
} | undefined;
|
|
2125
2111
|
joinedSolverNets?: Record<string, {
|
|
2126
|
-
roles: ("solver" | "evaluator")[];
|
|
2127
2112
|
manifestCid: string;
|
|
2113
|
+
roles: ("solver" | "evaluator")[];
|
|
2128
2114
|
name?: string | undefined;
|
|
2129
2115
|
harness?: string | undefined;
|
|
2130
|
-
model?: string | undefined;
|
|
2131
|
-
plugins?: string[] | undefined;
|
|
2132
2116
|
contract?: {
|
|
2133
2117
|
id: string;
|
|
2134
2118
|
version: string;
|
|
2135
2119
|
} | undefined;
|
|
2120
|
+
model?: string | undefined;
|
|
2121
|
+
plugins?: string[] | undefined;
|
|
2136
2122
|
disabledDefaultPlugins?: string[] | undefined;
|
|
2137
2123
|
}> | undefined;
|
|
2138
2124
|
trustedImplSigners?: {
|
|
@@ -2162,10 +2148,33 @@ export declare const JinnConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2162
2148
|
identityRegistryAddress?: string | undefined;
|
|
2163
2149
|
validationRegistryAddress?: string | undefined;
|
|
2164
2150
|
reputationEnabled?: boolean | undefined;
|
|
2151
|
+
spendCaps?: Record<string, number> | undefined;
|
|
2152
|
+
solverPlugins?: {
|
|
2153
|
+
blockedCids?: string[] | undefined;
|
|
2154
|
+
} | undefined;
|
|
2165
2155
|
}>;
|
|
2166
|
-
/**
|
|
2167
|
-
|
|
2156
|
+
/**
|
|
2157
|
+
* JinnConfig with rpcUrl guaranteed to be resolved (never undefined) and tasks
|
|
2158
|
+
* with id always assigned.
|
|
2159
|
+
*
|
|
2160
|
+
* `rpcUrl` is the head of the fallback chain (the slot-0 URL) and is kept as
|
|
2161
|
+
* a `string` for display continuity — the ~30 places that log/display
|
|
2162
|
+
* `config.rpcUrl` (provenance, error formatting, `[main] daemon starting on …`)
|
|
2163
|
+
* keep working unchanged. The full chain lives in `rpcUrls: readonly string[]`,
|
|
2164
|
+
* which is what `buildFallbackTransport()` consumes. Same shape for the L1
|
|
2165
|
+
* (ethereum) and optional archive/proof variants.
|
|
2166
|
+
*/
|
|
2167
|
+
export type JinnConfig = Omit<z.infer<typeof JinnConfigSchema>, 'rpcUrl' | 'archiveRpcUrl' | 'l2ProofRpcUrl' | 'ethereumRpcUrl' | 'ethereumArchiveRpcUrl' | 'tasks' | 'engine'> & {
|
|
2168
2168
|
rpcUrl: string;
|
|
2169
|
+
rpcUrls: readonly string[];
|
|
2170
|
+
archiveRpcUrl?: string;
|
|
2171
|
+
archiveRpcUrls?: readonly string[];
|
|
2172
|
+
l2ProofRpcUrl?: string;
|
|
2173
|
+
l2ProofRpcUrls?: readonly string[];
|
|
2174
|
+
ethereumRpcUrl?: string;
|
|
2175
|
+
ethereumRpcUrls?: readonly string[];
|
|
2176
|
+
ethereumArchiveRpcUrl?: string;
|
|
2177
|
+
ethereumArchiveRpcUrls?: readonly string[];
|
|
2169
2178
|
tasks: Task[];
|
|
2170
2179
|
engine: {
|
|
2171
2180
|
workingDirRoot: string;
|
|
@@ -2181,12 +2190,41 @@ export declare const DEFAULT_CONFIG_PATH: string;
|
|
|
2181
2190
|
* historical sync — see ponder.config.ts).
|
|
2182
2191
|
*/
|
|
2183
2192
|
export declare const DEFAULT_TESTNET_DISCOVERY_URL = "https://jinn-indexer-production.up.railway.app";
|
|
2193
|
+
export declare const DEFAULT_TESTNET_ETHEREUM_RPC_URL = "https://ethereum-sepolia-rpc.publicnode.com";
|
|
2194
|
+
/**
|
|
2195
|
+
* Default fallback chain for the L2 measurement chain (Base Sepolia) on
|
|
2196
|
+
* testnet. Per AC2 of issue #592:
|
|
2197
|
+
* slot 0 — `https://base-sepolia.publicnode.com` (no-auth, 50k-block
|
|
2198
|
+
* getLogs cap, no shared-quota cliff).
|
|
2199
|
+
* slot 1 — `https://sepolia.base.org` (free public Coinbase endpoint,
|
|
2200
|
+
* 2k-block cap; last-resort backup).
|
|
2201
|
+
* Operators are encouraged to prepend a paid primary key (Alchemy, Tenderly,
|
|
2202
|
+
* etc.) via `rpcUrl` config or `JINN_RPC_URL` / `BASE_SEPOLIA_RPC_URL` env.
|
|
2203
|
+
*/
|
|
2204
|
+
export declare const DEFAULT_TESTNET_RPC_URLS: readonly string[];
|
|
2184
2205
|
export type ConfigLoadErrorCode = 'config_file_not_found' | 'config_json_invalid' | 'tasks_file_not_found' | 'tasks_json_invalid' | 'config_invalid';
|
|
2185
2206
|
export declare class ConfigLoadError extends Error {
|
|
2186
2207
|
readonly code: ConfigLoadErrorCode;
|
|
2187
2208
|
readonly details?: Record<string, unknown>;
|
|
2188
2209
|
constructor(code: ConfigLoadErrorCode, message: string, details?: Record<string, unknown>);
|
|
2189
2210
|
}
|
|
2211
|
+
/**
|
|
2212
|
+
* Translate any legacy short-name-keyed `solverNets` block on the raw parsed
|
|
2213
|
+
* config into manifest-keyed `joinedSolverNets` entries with synthetic
|
|
2214
|
+
* `legacy:<short-name>` keys.
|
|
2215
|
+
*
|
|
2216
|
+
* This is the auto-migration path for operators upgrading past issue #421.
|
|
2217
|
+
* The runtime claim filter remains manifest-digest gated, so synthetic-keyed
|
|
2218
|
+
* entries don't change task eligibility — they exist purely so the diagnostic
|
|
2219
|
+
* surfaces (Overview SOLVING-ON eyebrow, prediction-operator-status) keep
|
|
2220
|
+
* showing the operator's previous SolverNets until they re-join via the SPA.
|
|
2221
|
+
*
|
|
2222
|
+
* Returns the number of legacy entries migrated. Idempotent — calling on an
|
|
2223
|
+
* already-migrated raw config is a no-op.
|
|
2224
|
+
*
|
|
2225
|
+
* @param raw — the JSON-parsed config file contents (mutated in place).
|
|
2226
|
+
*/
|
|
2227
|
+
export declare function migrateLegacySolverNets(raw: Record<string, unknown>): number;
|
|
2190
2228
|
/**
|
|
2191
2229
|
* Load config with resolution: env > config file > defaults.
|
|
2192
2230
|
*
|