@jinn-network/client 0.1.8 → 0.1.9-canary.144d87d2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -0
- package/dist/adapters/mech/adapter.d.ts +21 -1
- package/dist/adapters/mech/adapter.js +77 -10
- package/dist/adapters/mech/adapter.js.map +1 -1
- package/dist/adapters/mech/contracts.js +62 -28
- package/dist/adapters/mech/contracts.js.map +1 -1
- package/dist/adapters/mech/safe-revert.d.ts +4 -0
- package/dist/adapters/mech/safe-revert.js +5 -1
- package/dist/adapters/mech/safe-revert.js.map +1 -1
- package/dist/adapters/mech/safe.js +5 -1
- package/dist/adapters/mech/safe.js.map +1 -1
- package/dist/adapters/mech/verdict-code.js +1 -1
- package/dist/adapters/mech/verdict-code.js.map +1 -1
- package/dist/api/bootstrap-endpoint.d.ts +1 -0
- package/dist/api/bootstrap-endpoint.js +1 -0
- package/dist/api/bootstrap-endpoint.js.map +1 -1
- package/dist/api/discovery-endpoint.d.ts +1 -0
- package/dist/api/discovery-endpoint.js +24 -0
- package/dist/api/discovery-endpoint.js.map +1 -1
- package/dist/api/fleet-build.d.ts +1 -7
- package/dist/api/fleet-build.js +0 -7
- package/dist/api/fleet-build.js.map +1 -1
- package/dist/api/gather-status.d.ts +8 -2
- package/dist/api/gather-status.js +29 -117
- package/dist/api/gather-status.js.map +1 -1
- package/dist/api/loop-completion-build.d.ts +79 -0
- package/dist/api/loop-completion-build.js +155 -0
- package/dist/api/loop-completion-build.js.map +1 -0
- package/dist/api/operator-artifacts-endpoint.js +1 -1
- package/dist/api/operator-artifacts-endpoint.js.map +1 -1
- package/dist/api/peers.js +2 -0
- package/dist/api/peers.js.map +1 -1
- package/dist/api/setup-endpoints.d.ts +32 -0
- package/dist/api/setup-endpoints.js +94 -24
- package/dist/api/setup-endpoints.js.map +1 -1
- package/dist/api/solvernets-endpoints.js +4 -1
- package/dist/api/solvernets-endpoints.js.map +1 -1
- package/dist/api/status-build.d.ts +43 -33
- package/dist/api/status-build.js +3 -26
- package/dist/api/status-build.js.map +1 -1
- package/dist/api/status-rollup-build.d.ts +0 -4
- package/dist/api/status-rollup-build.js +0 -4
- package/dist/api/status-rollup-build.js.map +1 -1
- package/dist/api/stop-hook.d.ts +1 -1
- package/dist/api/stop-hook.js +1 -1
- package/dist/api/stop-hook.js.map +1 -1
- package/dist/build-info.json +4 -4
- package/dist/build-meta.json +1 -1
- package/dist/cli/commands/codedigest-revert-check.js +6 -2
- package/dist/cli/commands/codedigest-revert-check.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts +3 -0
- package/dist/cli/commands/doctor.js +37 -2
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/eval.d.ts +87 -0
- package/dist/cli/commands/eval.js +481 -0
- package/dist/cli/commands/eval.js.map +1 -0
- package/dist/cli/commands/rewards.d.ts +2 -0
- package/dist/cli/commands/rewards.js +30 -3
- package/dist/cli/commands/rewards.js.map +1 -1
- package/dist/cli/commands/solver-nets.js +68 -0
- package/dist/cli/commands/solver-nets.js.map +1 -1
- package/dist/cli/commands/status.js +0 -1
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/config.d.ts +102 -15
- package/dist/config.js +166 -19
- package/dist/config.js.map +1 -1
- package/dist/daemon/ai-units-gate.d.ts +6 -6
- package/dist/daemon/ai-units-gate.js +11 -10
- package/dist/daemon/ai-units-gate.js.map +1 -1
- package/dist/daemon/balance-topup-loop.js +3 -0
- package/dist/daemon/balance-topup-loop.js.map +1 -1
- package/dist/daemon/checkpoint-loop.js +2 -2
- package/dist/daemon/creator.d.ts +1 -0
- package/dist/daemon/creator.js +26 -14
- package/dist/daemon/creator.js.map +1 -1
- package/dist/daemon/daemon.d.ts +15 -0
- package/dist/daemon/daemon.js +78 -22
- package/dist/daemon/daemon.js.map +1 -1
- package/dist/daemon/eviction-loop.d.ts +7 -0
- package/dist/daemon/eviction-loop.js +19 -3
- package/dist/daemon/eviction-loop.js.map +1 -1
- package/dist/daemon/jinn-claim-loop.js +3 -0
- package/dist/daemon/jinn-claim-loop.js.map +1 -1
- package/dist/daemon/join-applier.d.ts +35 -0
- package/dist/daemon/join-applier.js +49 -0
- package/dist/daemon/join-applier.js.map +1 -0
- package/dist/daemon/loop-heartbeat.d.ts +34 -0
- package/dist/daemon/loop-heartbeat.js +39 -0
- package/dist/daemon/loop-heartbeat.js.map +1 -0
- package/dist/daemon/reward-claim-loop.js +4 -1
- package/dist/daemon/reward-claim-loop.js.map +1 -1
- package/dist/daemon/watchdog-loop.d.ts +84 -0
- package/dist/daemon/watchdog-loop.js +91 -0
- package/dist/daemon/watchdog-loop.js.map +1 -0
- package/dist/dashboard/assets/index-8tAiMbUV.css +1 -0
- package/dist/dashboard/assets/index-D6a-DfaM.js +171 -0
- package/dist/dashboard/index.html +2 -2
- package/dist/discovery/http.d.ts +17 -0
- package/dist/discovery/http.js +295 -25
- package/dist/discovery/http.js.map +1 -1
- package/dist/discovery/onchain.js +155 -1
- package/dist/discovery/onchain.js.map +1 -1
- package/dist/discovery/types.d.ts +106 -0
- package/dist/discovery/types.js +40 -0
- package/dist/discovery/types.js.map +1 -1
- package/dist/discovery/with-fallback.js +14 -0
- package/dist/discovery/with-fallback.js.map +1 -1
- package/dist/earning/bootstrap.d.ts +25 -0
- package/dist/earning/bootstrap.js +79 -28
- package/dist/earning/bootstrap.js.map +1 -1
- package/dist/earning/faucet.d.ts +1 -1
- package/dist/earning/faucet.js +2 -2
- package/dist/earning/faucet.js.map +1 -1
- package/dist/earning/safe-adapter.js +11 -0
- package/dist/earning/safe-adapter.js.map +1 -1
- package/dist/earning/stolas-claim.js +5 -5
- package/dist/earning/types.d.ts +1 -1
- package/dist/earning/types.js +1 -1
- package/dist/earning/types.js.map +1 -1
- package/dist/eval/eval-harness-run.d.ts +63 -0
- package/dist/eval/eval-harness-run.js +123 -0
- package/dist/eval/eval-harness-run.js.map +1 -0
- package/dist/eval/orchestrator.d.ts +224 -0
- package/dist/eval/orchestrator.js +250 -0
- package/dist/eval/orchestrator.js.map +1 -0
- package/dist/eval/paired.d.ts +68 -0
- package/dist/eval/paired.js +93 -0
- package/dist/eval/paired.js.map +1 -0
- package/dist/eval/resolve-slate-tasks.d.ts +35 -0
- package/dist/eval/resolve-slate-tasks.js +56 -0
- package/dist/eval/resolve-slate-tasks.js.map +1 -0
- package/dist/eval/screen-discovery.d.ts +22 -0
- package/dist/eval/screen-discovery.js +71 -0
- package/dist/eval/screen-discovery.js.map +1 -0
- package/dist/eval/screen-progress.d.ts +41 -0
- package/dist/eval/screen-progress.js +60 -0
- package/dist/eval/screen-progress.js.map +1 -0
- package/dist/eval/screen-runner.d.ts +30 -0
- package/dist/eval/screen-runner.js +289 -0
- package/dist/eval/screen-runner.js.map +1 -0
- package/dist/eval/screen.d.ts +107 -0
- package/dist/eval/screen.js +159 -0
- package/dist/eval/screen.js.map +1 -0
- package/dist/eval/slope.d.ts +29 -0
- package/dist/eval/slope.js +46 -0
- package/dist/eval/slope.js.map +1 -0
- package/dist/eval/train-sequence.d.ts +35 -0
- package/dist/eval/train-sequence.js +59 -0
- package/dist/eval/train-sequence.js.map +1 -0
- package/dist/eval/wilson.d.ts +45 -0
- package/dist/eval/wilson.js +48 -0
- package/dist/eval/wilson.js.map +1 -0
- package/dist/events/types.d.ts +1 -1
- package/dist/events/types.js +1 -1
- package/dist/events/types.js.map +1 -1
- package/dist/harnesses/engine/canonical-json.js +5 -3
- package/dist/harnesses/engine/canonical-json.js.map +1 -1
- package/dist/harnesses/engine/engine.d.ts +24 -0
- package/dist/harnesses/engine/engine.js +72 -9
- package/dist/harnesses/engine/engine.js.map +1 -1
- package/dist/harnesses/engine/packaging.js +1 -1
- package/dist/harnesses/engine/packaging.js.map +1 -1
- package/dist/harnesses/engine/persistence.d.ts +17 -0
- package/dist/harnesses/engine/persistence.js +28 -0
- package/dist/harnesses/engine/persistence.js.map +1 -1
- package/dist/harnesses/impls/claude-mcp-hyperliquid/mcp-tools.d.ts +1 -1
- package/dist/harnesses/impls/claude-mcp-hyperliquid/mcp-tools.js +1 -1
- package/dist/harnesses/impls/claude-mcp-hyperliquid/mcp-tools.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/adapter.d.ts +2 -0
- package/dist/harnesses/impls/hermes-agent/adapter.js +8 -5
- package/dist/harnesses/impls/hermes-agent/adapter.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/bootstrap.d.ts +1 -0
- package/dist/harnesses/impls/hermes-agent/bootstrap.js +6 -1
- package/dist/harnesses/impls/hermes-agent/bootstrap.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/harness.d.ts +17 -3
- package/dist/harnesses/impls/hermes-agent/harness.js +68 -5
- package/dist/harnesses/impls/hermes-agent/harness.js.map +1 -1
- package/dist/harnesses/impls/index.d.ts +2 -0
- package/dist/harnesses/impls/index.js +9 -0
- package/dist/harnesses/impls/index.js.map +1 -1
- package/dist/harnesses/impls/jinn-repo-evaluator/eval-runner.d.ts +34 -0
- package/dist/harnesses/impls/jinn-repo-evaluator/eval-runner.js +111 -0
- package/dist/harnesses/impls/jinn-repo-evaluator/eval-runner.js.map +1 -0
- package/dist/harnesses/impls/jinn-repo-evaluator/evaluator.d.ts +24 -0
- package/dist/harnesses/impls/jinn-repo-evaluator/evaluator.js +19 -0
- package/dist/harnesses/impls/jinn-repo-evaluator/evaluator.js.map +1 -0
- package/dist/harnesses/impls/jinn-repo-evaluator/harness.d.ts +64 -0
- package/dist/harnesses/impls/jinn-repo-evaluator/harness.js +125 -0
- package/dist/harnesses/impls/jinn-repo-evaluator/harness.js.map +1 -0
- package/dist/harnesses/impls/jinn-repo-evaluator/repro.d.ts +32 -0
- package/dist/harnesses/impls/jinn-repo-evaluator/repro.js +73 -0
- package/dist/harnesses/impls/jinn-repo-evaluator/repro.js.map +1 -0
- package/dist/harnesses/impls/learner/adapters/claude-code.js +5 -0
- package/dist/harnesses/impls/learner/adapters/claude-code.js.map +1 -1
- package/dist/harnesses/impls/learner/harness.d.ts +17 -1
- package/dist/harnesses/impls/learner/harness.js +51 -1
- package/dist/harnesses/impls/learner/harness.js.map +1 -1
- package/dist/harnesses/impls/learner/harvest.d.ts +2 -0
- package/dist/harnesses/impls/learner/harvest.js +51 -1
- package/dist/harnesses/impls/learner/harvest.js.map +1 -1
- package/dist/harnesses/impls/learner/plugin-path.js +1 -0
- package/dist/harnesses/impls/learner/plugin-path.js.map +1 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js +3 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js.map +1 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.d.ts +2 -2
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js +3 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js.map +1 -1
- package/dist/harnesses/readiness-registry.d.ts +10 -0
- package/dist/harnesses/readiness-registry.js +13 -0
- package/dist/harnesses/readiness-registry.js.map +1 -1
- package/dist/harnesses/types.d.ts +14 -0
- package/dist/learner/revert-decision.d.ts +16 -1
- package/dist/learner/revert-decision.js +38 -18
- package/dist/learner/revert-decision.js.map +1 -1
- package/dist/learner/revert-stats.d.ts +14 -0
- package/dist/learner/revert-stats.js +42 -0
- package/dist/learner/revert-stats.js.map +1 -1
- package/dist/local-provider-url.d.ts +3 -0
- package/dist/local-provider-url.js +28 -0
- package/dist/local-provider-url.js.map +1 -0
- package/dist/main.js +94 -25
- package/dist/main.js.map +1 -1
- package/dist/mcp/operator-server.js +1 -1
- package/dist/mcp/operator-server.js.map +1 -1
- package/dist/mcp/server.js +1 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/plugins/learner/.claude-plugin/plugin.json +1 -1
- package/dist/plugins/learner/.codex-plugin/plugin.json +1 -1
- package/dist/plugins/learner/hooks/session-start +30 -1
- package/dist/plugins/learner/skills/learn/consolidator-prompt.md +4 -0
- package/dist/preflight/deployment-readiness.d.ts +147 -0
- package/dist/preflight/deployment-readiness.js +366 -0
- package/dist/preflight/deployment-readiness.js.map +1 -0
- package/dist/preflight/pidfile-liveness.d.ts +7 -1
- package/dist/preflight/pidfile-liveness.js +14 -0
- package/dist/preflight/pidfile-liveness.js.map +1 -1
- package/dist/rpc/transport.d.ts +43 -5
- package/dist/rpc/transport.js +131 -30
- package/dist/rpc/transport.js.map +1 -1
- package/dist/scripts/swe-rebench-v2-seed-pool.json +2 -1
- package/dist/solver-nets/registry.d.ts +19 -0
- package/dist/solver-nets/registry.js +95 -66
- package/dist/solver-nets/registry.js.map +1 -1
- package/dist/solver-types/_jinn-repo-pool.d.ts +27 -0
- package/dist/solver-types/_jinn-repo-pool.js +27 -0
- package/dist/solver-types/_jinn-repo-pool.js.map +1 -0
- package/dist/solver-types/_swe-rebench-v2-held-out-slate.d.ts +76 -0
- package/dist/solver-types/_swe-rebench-v2-held-out-slate.js +156 -0
- package/dist/solver-types/_swe-rebench-v2-held-out-slate.js.map +1 -0
- package/dist/solver-types/_swe-rebench-v2-pool-recovery.d.ts +81 -0
- package/dist/solver-types/_swe-rebench-v2-pool-recovery.js +116 -0
- package/dist/solver-types/_swe-rebench-v2-pool-recovery.js.map +1 -0
- package/dist/solver-types/_swe-rebench-v2-state.d.ts +9 -0
- package/dist/solver-types/_swe-rebench-v2-state.js +14 -0
- package/dist/solver-types/_swe-rebench-v2-state.js.map +1 -1
- package/dist/solver-types/_swe-rebench-v2-validated-pool.d.ts +30 -0
- package/dist/solver-types/_swe-rebench-v2-validated-pool.js +40 -0
- package/dist/solver-types/_swe-rebench-v2-validated-pool.js.map +1 -1
- package/dist/solver-types/index.js +2 -0
- package/dist/solver-types/index.js.map +1 -1
- package/dist/solver-types/jinn-repo-admit.d.ts +17 -0
- package/dist/solver-types/jinn-repo-admit.js +16 -0
- package/dist/solver-types/jinn-repo-admit.js.map +1 -0
- package/dist/solver-types/jinn-repo-auto.d.ts +60 -0
- package/dist/solver-types/jinn-repo-auto.js +163 -0
- package/dist/solver-types/jinn-repo-auto.js.map +1 -0
- package/dist/solver-types/jinn-repo-definition.d.ts +15 -0
- package/dist/solver-types/jinn-repo-definition.js +34 -0
- package/dist/solver-types/jinn-repo-definition.js.map +1 -0
- package/dist/solver-types/jinn-repo-extract.d.ts +16 -0
- package/dist/solver-types/jinn-repo-extract.js +32 -0
- package/dist/solver-types/jinn-repo-extract.js.map +1 -0
- package/dist/solver-types/jinn-repo.d.ts +21 -0
- package/dist/solver-types/jinn-repo.js +23 -0
- package/dist/solver-types/jinn-repo.js.map +1 -0
- package/dist/solver-types/learner-loop-test.js +1 -1
- package/dist/solver-types/learner-loop-test.js.map +1 -1
- package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v1.json +20 -0
- package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v2.json +19 -0
- package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v2.screening-report.json +628 -0
- package/dist/solver-types/solver-type.d.ts +8 -0
- package/dist/solver-types/swe-rebench-v2.d.ts +2 -0
- package/dist/solver-types/swe-rebench-v2.js +115 -10
- package/dist/solver-types/swe-rebench-v2.js.map +1 -1
- package/dist/solvernets/launched-record-dispatcher.d.ts +5 -0
- package/dist/solvernets/launched-record-dispatcher.js +8 -1
- package/dist/solvernets/launched-record-dispatcher.js.map +1 -1
- package/dist/solvernets/registry-client-erc8004.js +29 -37
- package/dist/solvernets/registry-client-erc8004.js.map +1 -1
- package/dist/solvernets/registry-client.d.ts +6 -0
- package/dist/solvernets/store.d.ts +1 -1
- package/dist/solvernets/store.js +8 -3
- package/dist/solvernets/store.js.map +1 -1
- package/dist/spend/ai-units-config.d.ts +10 -0
- package/dist/spend/ai-units-config.js +7 -1
- package/dist/spend/ai-units-config.js.map +1 -1
- package/dist/spend/ai-units.d.ts +51 -0
- package/dist/spend/ai-units.js +73 -0
- package/dist/spend/ai-units.js.map +1 -1
- package/dist/spend/record.js +12 -5
- package/dist/spend/record.js.map +1 -1
- package/dist/store/store.d.ts +91 -5
- package/dist/store/store.js +170 -7
- package/dist/store/store.js.map +1 -1
- package/dist/trajectory/harness-bundle-schema.d.ts +1 -1
- package/dist/trajectory/harness-bundle-schema.js +1 -1
- package/dist/trajectory/harness-bundle-schema.js.map +1 -1
- package/dist/trajectory/schema.d.ts +1 -1
- package/dist/trajectory/schema.js +1 -1
- package/dist/trajectory/schema.js.map +1 -1
- package/dist/trajectory/transcript-parsers/types.d.ts +1 -1
- package/dist/trajectory/transcript-parsers/types.js +1 -1
- package/dist/trajectory/transcript-parsers/types.js.map +1 -1
- package/dist/types/envelope.d.ts +1 -1
- package/dist/types/envelope.js +1 -1
- package/dist/types/envelope.js.map +1 -1
- package/dist/types/payloads/index.d.ts +1 -1
- package/dist/types/payloads/index.js +7 -1
- package/dist/types/payloads/index.js.map +1 -1
- package/dist/types/payloads/portfolio-v0.d.ts +1 -1
- package/dist/types/payloads/portfolio-v0.js +1 -1
- package/dist/types/payloads/portfolio-v0.js.map +1 -1
- package/dist/types/payloads/prediction-apy-v0.d.ts +1 -1
- package/dist/types/payloads/prediction-apy-v0.js +1 -1
- package/dist/types/payloads/prediction-apy-v0.js.map +1 -1
- package/dist/types/payloads/prediction-v0.d.ts +1 -1
- package/dist/types/payloads/prediction-v0.js +1 -1
- package/dist/types/payloads/prediction-v0.js.map +1 -1
- package/dist/types/portfolio.d.ts +1 -1
- package/dist/types/portfolio.js +1 -1
- package/dist/types/portfolio.js.map +1 -1
- package/dist/types/prediction-apy.d.ts +1 -1
- package/dist/types/prediction-apy.js +1 -1
- package/dist/types/prediction-apy.js.map +1 -1
- package/dist/types/prediction.d.ts +1 -1
- package/dist/types/prediction.js +1 -1
- package/dist/types/prediction.js.map +1 -1
- package/dist/types/session-provenance.d.ts +1 -1
- package/dist/types/session-provenance.js +1 -1
- package/dist/types/session-provenance.js.map +1 -1
- package/dist/types/task-document.d.ts +1 -1
- package/dist/types/task-document.js +1 -1
- package/dist/types/task-document.js.map +1 -1
- package/dist/types/task.d.ts +1 -1
- package/dist/types/task.js +1 -1
- package/dist/types/task.js.map +1 -1
- package/dist/types/window.d.ts +1 -1
- package/dist/types/window.js +1 -1
- package/dist/types/window.js.map +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/checkpoint.d.ts +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/checkpoint.js +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/contracts.d.ts +3 -2
- package/dist/vendor/@jinn-network/sdk/dist/contracts.js +49 -0
- package/dist/vendor/@jinn-network/sdk/dist/jinn-repo.d.ts +44 -0
- package/dist/vendor/@jinn-network/sdk/dist/jinn-repo.js +25 -0
- package/dist/vendor/@jinn-network/sdk/dist/json-schema.d.ts +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/json-schema.js +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/payloads/jinn-repo.d.ts +38 -0
- package/dist/vendor/@jinn-network/sdk/dist/payloads/jinn-repo.js +22 -0
- package/dist/vendor/@jinn-network/sdk/dist/payloads/prediction-v1.d.ts +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/payloads/prediction-v1.js +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/payloads/session-derived.d.ts +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/payloads/session-derived.js +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/payloads/swe-rebench-v2.d.ts +109 -2
- package/dist/vendor/@jinn-network/sdk/dist/payloads/swe-rebench-v2.js +26 -2
- package/dist/vendor/@jinn-network/sdk/dist/prediction-v1.d.ts +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/prediction-v1.js +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/jinn-repo.d.ts +4 -0
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/jinn-repo.js +2 -0
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.d.ts +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.js +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2-held-out-slate.d.ts +65 -0
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2-held-out-slate.js +123 -0
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2.d.ts +2 -2
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2.js +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/swe-rebench-v2.d.ts +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/swe-rebench-v2.js +1 -1
- package/dist/vendor/@jinn-network/sdk/package.json +9 -1
- package/docker-compose.yml +3 -2
- package/package.json +23 -20
- package/plugins/jinn-repo-runtime/.claude-plugin/plugin.json +5 -0
- package/plugins/jinn-repo-runtime/.codex-plugin/plugin.json +39 -0
- package/plugins/jinn-repo-runtime/README.md +27 -0
- package/plugins/jinn-repo-runtime/hooks/hooks.json +16 -0
- package/plugins/jinn-repo-runtime/hooks/session-start +73 -0
- package/plugins/jinn-repo-runtime/jinn.plugin.json +11 -0
- package/plugins/jinn-repo-runtime/skills/task/SKILL.md +92 -0
- package/plugins/learner/.claude-plugin/plugin.json +1 -1
- package/plugins/learner/.codex-plugin/plugin.json +1 -1
- package/plugins/learner/hooks/session-start +30 -1
- package/plugins/learner/skills/learn/consolidator-prompt.md +4 -0
- package/plugins/swe-rebench-v2-runtime/hooks/hooks.json +16 -0
- package/plugins/swe-rebench-v2-runtime/hooks/session-start +74 -0
- package/dist/dashboard/assets/index-CzKxvMcU.css +0 -32
- package/dist/dashboard/assets/index-yVemxHot.js +0 -351
package/dist/rpc/transport.d.ts
CHANGED
|
@@ -26,12 +26,14 @@
|
|
|
26
26
|
*/
|
|
27
27
|
import { type FallbackTransport, type Transport } from 'viem';
|
|
28
28
|
/**
|
|
29
|
-
* Hard cap on the number of providers in a single fallback chain.
|
|
30
|
-
* the "
|
|
31
|
-
*
|
|
32
|
-
*
|
|
29
|
+
* Hard cap on the number of providers in a single fallback chain. Six covers
|
|
30
|
+
* the "5 vetted free defaults + 1 operator-prepended paid primary" shape: a
|
|
31
|
+
* chain that ships 5 distinct free providers per supported chain (#911) and
|
|
32
|
+
* still leaves one slot for an operator's paid primary to survive
|
|
33
|
+
* dedup-then-cap. Beyond that the boot probe takes too long and slot 7+ is
|
|
34
|
+
* almost always copy-paste noise.
|
|
33
35
|
*/
|
|
34
|
-
export declare const MAX_RPC_CHAIN_LENGTH =
|
|
36
|
+
export declare const MAX_RPC_CHAIN_LENGTH = 6;
|
|
35
37
|
export interface ParseRpcUrlsOptions {
|
|
36
38
|
/** Logger used to emit the "capped" warning. Defaults to `console.error`. */
|
|
37
39
|
log?: (message: string) => void;
|
|
@@ -79,6 +81,31 @@ export declare class AllRpcsFailedError extends Error {
|
|
|
79
81
|
* viem's `buildRequest` re-wrap pass).
|
|
80
82
|
*/
|
|
81
83
|
export declare function isViemShouldThrowError(err: unknown): boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Default cooldown applied to a slot that returns a quota / rate-limit error
|
|
86
|
+
* (#835). After this window the demoted slot becomes eligible again rather than
|
|
87
|
+
* being permanently disabled (AC2), so a transient 429 / monthly-quota blip
|
|
88
|
+
* never strands an operator on a degraded provider for the rest of the process.
|
|
89
|
+
*/
|
|
90
|
+
export declare const DEFAULT_RPC_COOLDOWN_MS = 60000;
|
|
91
|
+
/**
|
|
92
|
+
* Detect quota / rate-limit errors from an RPC provider (#835). Unlike
|
|
93
|
+
* {@link isViemShouldThrowError} (which marks EVM/wallet-level signals that must
|
|
94
|
+
* NOT trigger fallback), a quota error means the *slot* is temporarily unusable
|
|
95
|
+
* and should be demoted behind healthy slots for a cooldown window. Walks the
|
|
96
|
+
* cause chain (cycle-safe, mirroring `isViemShouldThrowError`) and matches on:
|
|
97
|
+
* - HTTP `status === 429` (the `http()` transport's `HttpRequestError`);
|
|
98
|
+
* - JSON-RPC `code === LimitExceededRpcError.code` (-32005);
|
|
99
|
+
* - a narrow message regex backstop covering unambiguous provider phrasings
|
|
100
|
+
* ("rate limit", "too many requests", "429", "quota", "compute unit",
|
|
101
|
+
* "request rate", "throughput") — deliberately excluding the ambiguous
|
|
102
|
+
* "limit"/"exceeded" words that collide with gas-limit errors.
|
|
103
|
+
*
|
|
104
|
+
* Deliberately narrow: a 5xx / network error is NOT a quota error (it falls
|
|
105
|
+
* through via viem but does not cool the slot — AC3 keeps static order when no
|
|
106
|
+
* quota errors occur), and a contract revert (code 3) is never a quota error.
|
|
107
|
+
*/
|
|
108
|
+
export declare function isRpcQuotaError(err: unknown): boolean;
|
|
82
109
|
/**
|
|
83
110
|
* Mask an RPC URL down to its hostname for display / error reporting. Drops
|
|
84
111
|
* the path so api-key segments in the URL don't leak into logs.
|
|
@@ -91,6 +118,17 @@ export interface BuildFallbackTransportOptions {
|
|
|
91
118
|
* "Tenderly stays in slot 3" constraint from the issue.
|
|
92
119
|
*/
|
|
93
120
|
rank?: boolean;
|
|
121
|
+
/**
|
|
122
|
+
* Injectable clock for the quota-cooldown bookkeeping (#835). Defaults to
|
|
123
|
+
* {@link Date.now}. Tests pass a controllable stub so cooldown expiry (AC2)
|
|
124
|
+
* is deterministic without real timers.
|
|
125
|
+
*/
|
|
126
|
+
now?: () => number;
|
|
127
|
+
/**
|
|
128
|
+
* How long a slot stays demoted after a quota / rate-limit error, in ms
|
|
129
|
+
* (#835). Defaults to {@link DEFAULT_RPC_COOLDOWN_MS}.
|
|
130
|
+
*/
|
|
131
|
+
cooldownMs?: number;
|
|
94
132
|
}
|
|
95
133
|
/**
|
|
96
134
|
* Build a viem fallback transport over the given URLs. Returns a callable
|
package/dist/rpc/transport.js
CHANGED
|
@@ -24,14 +24,16 @@
|
|
|
24
24
|
* at the read-API level (Ponder → eth_getLogs floor). This helper sits beneath
|
|
25
25
|
* both layers at the JSON-RPC transport level.
|
|
26
26
|
*/
|
|
27
|
-
import { ExecutionRevertedError, fallback, http, TransactionRejectedRpcError, UserRejectedRequestError, } from 'viem';
|
|
27
|
+
import { ExecutionRevertedError, fallback, http, LimitExceededRpcError, TransactionRejectedRpcError, UserRejectedRequestError, } from 'viem';
|
|
28
28
|
/**
|
|
29
|
-
* Hard cap on the number of providers in a single fallback chain.
|
|
30
|
-
* the "
|
|
31
|
-
*
|
|
32
|
-
*
|
|
29
|
+
* Hard cap on the number of providers in a single fallback chain. Six covers
|
|
30
|
+
* the "5 vetted free defaults + 1 operator-prepended paid primary" shape: a
|
|
31
|
+
* chain that ships 5 distinct free providers per supported chain (#911) and
|
|
32
|
+
* still leaves one slot for an operator's paid primary to survive
|
|
33
|
+
* dedup-then-cap. Beyond that the boot probe takes too long and slot 7+ is
|
|
34
|
+
* almost always copy-paste noise.
|
|
33
35
|
*/
|
|
34
|
-
export const MAX_RPC_CHAIN_LENGTH =
|
|
36
|
+
export const MAX_RPC_CHAIN_LENGTH = 6;
|
|
35
37
|
/**
|
|
36
38
|
* Normalise `string | readonly string[]` into a non-empty, deduplicated,
|
|
37
39
|
* capped list of RPC URLs. Comma-separated strings are split (operator
|
|
@@ -51,7 +53,7 @@ export function parseRpcUrls(input, options = {}) {
|
|
|
51
53
|
}
|
|
52
54
|
// Dedup before applying the cap so repeated URLs (easy to introduce when an
|
|
53
55
|
// operator prepends a paid primary that already exists in the fallback list)
|
|
54
|
-
// don't burn slots of the
|
|
56
|
+
// don't burn slots of the chain. `Set` preserves first-seen insertion
|
|
55
57
|
// order, which matches the "primary stays in slot 0" constraint.
|
|
56
58
|
const deduped = [...new Set(cleaned)];
|
|
57
59
|
if (deduped.length > MAX_RPC_CHAIN_LENGTH) {
|
|
@@ -142,6 +144,58 @@ export function isViemShouldThrowError(err) {
|
|
|
142
144
|
}
|
|
143
145
|
return false;
|
|
144
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* Default cooldown applied to a slot that returns a quota / rate-limit error
|
|
149
|
+
* (#835). After this window the demoted slot becomes eligible again rather than
|
|
150
|
+
* being permanently disabled (AC2), so a transient 429 / monthly-quota blip
|
|
151
|
+
* never strands an operator on a degraded provider for the rest of the process.
|
|
152
|
+
*/
|
|
153
|
+
export const DEFAULT_RPC_COOLDOWN_MS = 60_000;
|
|
154
|
+
/**
|
|
155
|
+
* Detect quota / rate-limit errors from an RPC provider (#835). Unlike
|
|
156
|
+
* {@link isViemShouldThrowError} (which marks EVM/wallet-level signals that must
|
|
157
|
+
* NOT trigger fallback), a quota error means the *slot* is temporarily unusable
|
|
158
|
+
* and should be demoted behind healthy slots for a cooldown window. Walks the
|
|
159
|
+
* cause chain (cycle-safe, mirroring `isViemShouldThrowError`) and matches on:
|
|
160
|
+
* - HTTP `status === 429` (the `http()` transport's `HttpRequestError`);
|
|
161
|
+
* - JSON-RPC `code === LimitExceededRpcError.code` (-32005);
|
|
162
|
+
* - a narrow message regex backstop covering unambiguous provider phrasings
|
|
163
|
+
* ("rate limit", "too many requests", "429", "quota", "compute unit",
|
|
164
|
+
* "request rate", "throughput") — deliberately excluding the ambiguous
|
|
165
|
+
* "limit"/"exceeded" words that collide with gas-limit errors.
|
|
166
|
+
*
|
|
167
|
+
* Deliberately narrow: a 5xx / network error is NOT a quota error (it falls
|
|
168
|
+
* through via viem but does not cool the slot — AC3 keeps static order when no
|
|
169
|
+
* quota errors occur), and a contract revert (code 3) is never a quota error.
|
|
170
|
+
*/
|
|
171
|
+
export function isRpcQuotaError(err) {
|
|
172
|
+
// HTTP 429 (below) and JSON-RPC -32005 (LimitExceededRpcError) are the PRIMARY
|
|
173
|
+
// detectors. This message regex is only a backstop for providers that surface
|
|
174
|
+
// quota errors as plain text. It deliberately avoids the ambiguous "limit" /
|
|
175
|
+
// "exceeded" words: a bare `exceeded.*limit` alternative false-positives on
|
|
176
|
+
// gas errors like "exceeded block gas limit" / "gas limit exceeded", which can
|
|
177
|
+
// arrive with a non-shouldThrow code (e.g. -32000) and would wrongly cool a
|
|
178
|
+
// healthy slot. The phrases below are unambiguously quota/rate-limit and never
|
|
179
|
+
// appear in gas/execution errors; the only thing dropped is a text-only quota
|
|
180
|
+
// error carrying no 429 / -32005, which no major provider (Alchemy / Infura /
|
|
181
|
+
// publicnode / Tenderly) produces.
|
|
182
|
+
const quotaMessage = /rate.?limit|too many requests|429|quota|compute unit|request rate|throughput/i;
|
|
183
|
+
const seen = new Set();
|
|
184
|
+
let cursor = err;
|
|
185
|
+
while (cursor instanceof Error && !seen.has(cursor)) {
|
|
186
|
+
seen.add(cursor);
|
|
187
|
+
// Comparing against a numeric constant already excludes non-numbers, so no
|
|
188
|
+
// separate `typeof === 'number'` guard is needed here.
|
|
189
|
+
if (cursor.status === 429)
|
|
190
|
+
return true;
|
|
191
|
+
if (cursor.code === LimitExceededRpcError.code)
|
|
192
|
+
return true;
|
|
193
|
+
if (quotaMessage.test(cursor.message))
|
|
194
|
+
return true;
|
|
195
|
+
cursor = cursor.cause;
|
|
196
|
+
}
|
|
197
|
+
return false;
|
|
198
|
+
}
|
|
145
199
|
/**
|
|
146
200
|
* Mask an RPC URL down to its hostname for display / error reporting. Drops
|
|
147
201
|
* the path so api-key segments in the URL don't leak into logs.
|
|
@@ -172,39 +226,86 @@ export function buildFallbackTransport(urls, options = {}) {
|
|
|
172
226
|
*/
|
|
173
227
|
buildFallbackTransport.buildFromTransports = function buildFromTransports(transports, urls, options = {}) {
|
|
174
228
|
const maskedProviders = urls.map(maskRpcHost);
|
|
175
|
-
const
|
|
176
|
-
|
|
177
|
-
|
|
229
|
+
const now = options.now ?? Date.now;
|
|
230
|
+
const cooldownMs = options.cooldownMs ?? DEFAULT_RPC_COOLDOWN_MS;
|
|
231
|
+
const rank = options.rank ?? false;
|
|
232
|
+
// Cooldown bookkeeping, indexed by ORIGINAL slot index (#835). A slot that
|
|
233
|
+
// returns a quota / rate-limit error is demoted behind the healthy slots
|
|
234
|
+
// until `cooldownUntil[i]`, then becomes eligible again (AC1 + AC2). When no
|
|
235
|
+
// quota errors occur every entry stays 0 and the configured order is
|
|
236
|
+
// preserved verbatim (AC3).
|
|
237
|
+
const cooldownUntil = new Array(transports.length).fill(0);
|
|
238
|
+
// Self-stamping slot wrappers, built ONCE over the original slot order. Each
|
|
239
|
+
// wraps its original transport FACTORY, closing over its ORIGINAL index `i`.
|
|
240
|
+
// When the instantiated slot's request rejects with a quota error it stamps
|
|
241
|
+
// its OWN `cooldownUntil[i]` and re-throws unchanged. This per-slot
|
|
242
|
+
// self-stamping is why we don't use viem's `onResponse` — its `transport`
|
|
243
|
+
// arg is a freshly-instantiated instance that can't be mapped back to a slot
|
|
244
|
+
// index. Only the wrapper ARRAY is reordered per request (below); the
|
|
245
|
+
// wrappers themselves keep their original index for the lifetime of the
|
|
246
|
+
// chain.
|
|
247
|
+
const stampingTransports = transports.map((make, i) => {
|
|
248
|
+
return ((config) => {
|
|
249
|
+
const instance = make(config);
|
|
250
|
+
const innerRequest = instance.request.bind(instance);
|
|
251
|
+
instance.request = (async (args) => {
|
|
252
|
+
try {
|
|
253
|
+
return await innerRequest(args);
|
|
254
|
+
}
|
|
255
|
+
catch (err) {
|
|
256
|
+
// A revert / user-rejected (shouldThrow-class) is an EVM/wallet
|
|
257
|
+
// signal, never a transport quota problem — must NOT cool the slot.
|
|
258
|
+
if (!isViemShouldThrowError(err) && isRpcQuotaError(err)) {
|
|
259
|
+
cooldownUntil[i] = now() + cooldownMs;
|
|
260
|
+
}
|
|
261
|
+
throw err;
|
|
262
|
+
}
|
|
263
|
+
});
|
|
264
|
+
return instance;
|
|
265
|
+
});
|
|
178
266
|
});
|
|
179
|
-
//
|
|
180
|
-
//
|
|
181
|
-
//
|
|
182
|
-
|
|
183
|
-
|
|
267
|
+
// Per-request slot order: healthy slots (in original order) first, then
|
|
268
|
+
// cooling slots (in original order) as a last resort. Strict `<` means a
|
|
269
|
+
// slot is healthy again exactly at `now() === cooldownUntil[i]`.
|
|
270
|
+
const orderSlots = () => {
|
|
271
|
+
const healthy = [];
|
|
272
|
+
const cooling = [];
|
|
273
|
+
const t = now();
|
|
274
|
+
for (let i = 0; i < stampingTransports.length; i++) {
|
|
275
|
+
if (t < cooldownUntil[i])
|
|
276
|
+
cooling.push(stampingTransports[i]);
|
|
277
|
+
else
|
|
278
|
+
healthy.push(stampingTransports[i]);
|
|
279
|
+
}
|
|
280
|
+
return [...healthy, ...cooling];
|
|
281
|
+
};
|
|
184
282
|
const wrapped = ((config) => {
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
283
|
+
// Instantiate one inner fallback so the returned object carries the
|
|
284
|
+
// canonical `FallbackTransport` shape (`type: 'fallback'`, `onResponse`,
|
|
285
|
+
// `transports`). Its `request` is overridden to rebuild a fresh
|
|
286
|
+
// `fallback()` over the reordered slots on every call — the reorder is the
|
|
287
|
+
// whole point of #835, and a fresh chain with `retryCount: 0` reproduces
|
|
288
|
+
// the existing per-slot fall-through behaviour exactly.
|
|
289
|
+
const shape = fallback(stampingTransports, { rank, retryCount: 0 })(config);
|
|
290
|
+
shape.request = (async (args) => {
|
|
291
|
+
const perCall = fallback(orderSlots(), { rank, retryCount: 0 })(config);
|
|
188
292
|
try {
|
|
189
|
-
return await
|
|
293
|
+
return await perCall.request(args);
|
|
190
294
|
}
|
|
191
295
|
catch (err) {
|
|
192
|
-
//
|
|
193
|
-
//
|
|
194
|
-
//
|
|
195
|
-
// unchanged so callers (and the operator-app's `rpc_all_failed`
|
|
196
|
-
// state message) don't misread a single-slot revert as an
|
|
197
|
-
// exhausted-chain outage.
|
|
296
|
+
// shouldThrow-class errors (revert, user-rejected, CAIP 5000) are
|
|
297
|
+
// EVM/wallet-level — propagate unchanged so a single-slot revert is
|
|
298
|
+
// never misread as an exhausted-chain outage.
|
|
198
299
|
if (isViemShouldThrowError(err))
|
|
199
300
|
throw err;
|
|
200
|
-
//
|
|
201
|
-
//
|
|
202
|
-
//
|
|
203
|
-
//
|
|
301
|
+
// The whole chain is exhausted. viem has no distinct "all transports
|
|
302
|
+
// failed" class, so wrap the last underlying error in our structured
|
|
303
|
+
// `AllRpcsFailedError` carrying the masked host list in ORIGINAL
|
|
304
|
+
// configured order (never reordered).
|
|
204
305
|
throw new AllRpcsFailedError(maskedProviders, err);
|
|
205
306
|
}
|
|
206
307
|
});
|
|
207
|
-
return
|
|
308
|
+
return shape;
|
|
208
309
|
});
|
|
209
310
|
return wrapped;
|
|
210
311
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/rpc/transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EACL,sBAAsB,EACtB,QAAQ,EACR,IAAI,EACJ,2BAA2B,EAC3B,wBAAwB,GAGzB,MAAM,MAAM,CAAC;AAEd
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/rpc/transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
-
"comment": "Real Python instance IDs that exist in the current nebius/SWE-rebench-leaderboard pool (split 2025_01). validate-pool --seed-positive runs gold-eval against each. Not every entry is guaranteed to record scorable:true — some leaderboard rows have nondeterministic gold patches or upstream-substrate issues. The team prunes this list over time as empirical admit-rates surface. See DR 2026-05-14-swe-rebench-eval-admission.",
|
|
2
|
+
"comment": "Real Python instance IDs that exist in the current nebius/SWE-rebench-leaderboard pool (split 2025_01). validate-pool --seed-positive runs gold-eval against each. Not every entry is guaranteed to record scorable:true — some leaderboard rows have nondeterministic gold patches or upstream-substrate issues. The team prunes this list over time as empirical admit-rates surface. See DR 2026-05-14-swe-rebench-eval-admission. NOTE: sympy__sympy-27510 is the shared T2.2/T3.1 release-gate fixture (client/test/release/tier-2/fixtures/known-instance.ts) — it MUST stay in this list so `validate-pool --seed-positive` keeps it admitted across each EVAL_SEMANTICS_VERSION bump; without a v4 admission the env-suite real-harness loop times out on admission_missing_or_unscorable (2026-06-08 cut).",
|
|
3
3
|
"source": "spike jinn-mono-fufn — initial set sampled from loadSweRebenchV2Pool() on 2026-05-14",
|
|
4
4
|
"instance_ids": [
|
|
5
|
+
"sympy__sympy-27510",
|
|
5
6
|
"tobymao__sqlglot-4661",
|
|
6
7
|
"Blaizzy__mlx-vlm-179",
|
|
7
8
|
"pydata__xarray-9974",
|
|
@@ -73,11 +73,30 @@ export declare class SolverNetRegistry {
|
|
|
73
73
|
private readonly nets;
|
|
74
74
|
register(net: LoadedSolverNet): void;
|
|
75
75
|
get(name: string): LoadedSolverNet | undefined;
|
|
76
|
+
/**
|
|
77
|
+
* Remove every entry registered under `name` — both the bare key and any
|
|
78
|
+
* `name#N` collision-suffixed keys `register()` may have assigned. Used by
|
|
79
|
+
* the live join applier (#1037) to make a re-join idempotent: it clears the
|
|
80
|
+
* prior registration before re-registering, so a re-apply updates in place
|
|
81
|
+
* instead of inserting a phantom `name#2` duplicate. Boot never calls this,
|
|
82
|
+
* so first-registration behaviour is unchanged.
|
|
83
|
+
*/
|
|
84
|
+
unregister(name: string): void;
|
|
76
85
|
forSolverType(solverType: string, taskRole?: SolverNetTaskRole): LoadedSolverNet | undefined;
|
|
77
86
|
list(): LoadedSolverNet[];
|
|
78
87
|
harnessSelections(): Record<string, string>;
|
|
79
88
|
claudeModelSelections(): Record<string, string>;
|
|
80
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* Register a single joined SolverNet into `registry`, reproducing exactly the
|
|
92
|
+
* derivation + plugin-resolution the boot loop runs (default-plugin seeding,
|
|
93
|
+
* harness defaulting, role mapping). Shared by `loadSolverNets` (boot) and the
|
|
94
|
+
* live join applier (`daemon/join-applier.ts`, #1037) so the two paths cannot
|
|
95
|
+
* drift.
|
|
96
|
+
*
|
|
97
|
+
* No-ops when the joined entry has no resolvable contract or no roles.
|
|
98
|
+
*/
|
|
99
|
+
export declare function registerJoinedNet(registry: SolverNetRegistry, cid: string, joined: JoinedSolverNetConfig): Promise<void>;
|
|
81
100
|
export declare function loadSolverNets(config: {
|
|
82
101
|
joinedSolverNets?: Record<string, JoinedSolverNetConfig>;
|
|
83
102
|
}): Promise<SolverNetRegistry>;
|
|
@@ -69,6 +69,9 @@ function defaultRuntimePluginsForSolverType(solverType) {
|
|
|
69
69
|
if (solverType === 'swe-rebench-v2.v1') {
|
|
70
70
|
return ['bundled:swe-rebench-v2-runtime'];
|
|
71
71
|
}
|
|
72
|
+
if (solverType === 'jinn-repo.v1') {
|
|
73
|
+
return ['bundled:jinn-repo-runtime'];
|
|
74
|
+
}
|
|
72
75
|
return [];
|
|
73
76
|
}
|
|
74
77
|
function defaultPluginDisabled(plugin, disabled) {
|
|
@@ -126,6 +129,21 @@ export class SolverNetRegistry {
|
|
|
126
129
|
get(name) {
|
|
127
130
|
return this.nets.get(name);
|
|
128
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* Remove every entry registered under `name` — both the bare key and any
|
|
134
|
+
* `name#N` collision-suffixed keys `register()` may have assigned. Used by
|
|
135
|
+
* the live join applier (#1037) to make a re-join idempotent: it clears the
|
|
136
|
+
* prior registration before re-registering, so a re-apply updates in place
|
|
137
|
+
* instead of inserting a phantom `name#2` duplicate. Boot never calls this,
|
|
138
|
+
* so first-registration behaviour is unchanged.
|
|
139
|
+
*/
|
|
140
|
+
unregister(name) {
|
|
141
|
+
for (const key of [...this.nets.keys()]) {
|
|
142
|
+
const net = this.nets.get(key);
|
|
143
|
+
if (net && net.name === name)
|
|
144
|
+
this.nets.delete(key);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
129
147
|
forSolverType(solverType, taskRole) {
|
|
130
148
|
return [...this.nets.values()].find((net) => net.enabled &&
|
|
131
149
|
net.solverType === solverType &&
|
|
@@ -155,76 +173,87 @@ export class SolverNetRegistry {
|
|
|
155
173
|
return out;
|
|
156
174
|
}
|
|
157
175
|
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
176
|
+
/**
|
|
177
|
+
* Register a single joined SolverNet into `registry`, reproducing exactly the
|
|
178
|
+
* derivation + plugin-resolution the boot loop runs (default-plugin seeding,
|
|
179
|
+
* harness defaulting, role mapping). Shared by `loadSolverNets` (boot) and the
|
|
180
|
+
* live join applier (`daemon/join-applier.ts`, #1037) so the two paths cannot
|
|
181
|
+
* drift.
|
|
182
|
+
*
|
|
183
|
+
* No-ops when the joined entry has no resolvable contract or no roles.
|
|
184
|
+
*/
|
|
185
|
+
export async function registerJoinedNet(registry, cid, joined) {
|
|
186
|
+
if (!joined.contract)
|
|
187
|
+
return;
|
|
188
|
+
const solverType = `${joined.contract.id}.${joined.contract.version}`;
|
|
189
|
+
const contract = getSolverNetContract(joined.contract);
|
|
190
|
+
if (!contract)
|
|
191
|
+
return;
|
|
192
|
+
const roles = rolesFromJoinedConfig(joined);
|
|
193
|
+
if (roles.length === 0)
|
|
194
|
+
return;
|
|
195
|
+
const disabledDefaults = joined.disabledDefaultPlugins ?? [];
|
|
196
|
+
const defaultPlugins = defaultRuntimePluginsForSolverType(solverType)
|
|
197
|
+
.filter((plugin) => !defaultPluginDisabled(plugin, disabledDefaults));
|
|
198
|
+
const harness = joined.roles.includes('solver')
|
|
199
|
+
? joined.harness ?? CLAUDE_CODE_HARNESS
|
|
200
|
+
: evaluatorHarnessNameForContract(contract) ?? joined.harness ?? CLAUDE_CODE_HARNESS;
|
|
201
|
+
const net = {
|
|
202
|
+
enabled: true,
|
|
203
|
+
solverType,
|
|
204
|
+
roles,
|
|
205
|
+
harness,
|
|
206
|
+
...(joined.model ? { model: joined.model } : {}),
|
|
207
|
+
plugins: [...defaultPlugins, ...(joined.plugins ?? [])],
|
|
208
|
+
taskGenerator: { enabled: false },
|
|
209
|
+
};
|
|
210
|
+
const name = joined.name ?? cid;
|
|
211
|
+
if (!net.enabled)
|
|
212
|
+
return;
|
|
213
|
+
const runtimePlugins = [];
|
|
214
|
+
const seenSources = new Set();
|
|
215
|
+
const seenNames = new Set();
|
|
216
|
+
async function addRuntimePlugin(entry, provenance) {
|
|
217
|
+
const plugin = await resolveSolverPlugin(entry);
|
|
218
|
+
if (seenSources.has(plugin.source) || seenNames.has(plugin.name))
|
|
162
219
|
return;
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
const seenNames = new Set();
|
|
166
|
-
async function addRuntimePlugin(entry, provenance) {
|
|
167
|
-
const plugin = await resolveSolverPlugin(entry);
|
|
168
|
-
if (seenSources.has(plugin.source) || seenNames.has(plugin.name))
|
|
169
|
-
return;
|
|
170
|
-
if (!isRuntimePlugin(plugin) && !plugin.supports.includes(net.solverType)) {
|
|
171
|
-
throw new Error(`SolverNet ${name} runtime plugin ${plugin.name} solverType mismatch: config=${net.solverType} plugin supports=${plugin.supports.join(',')}`);
|
|
172
|
-
}
|
|
173
|
-
runtimePlugins.push(runtimePluginFrom(plugin, provenance));
|
|
174
|
-
seenSources.add(plugin.source);
|
|
175
|
-
seenNames.add(plugin.name);
|
|
220
|
+
if (!isRuntimePlugin(plugin) && !plugin.supports.includes(net.solverType)) {
|
|
221
|
+
throw new Error(`SolverNet ${name} runtime plugin ${plugin.name} solverType mismatch: config=${net.solverType} plugin supports=${plugin.supports.join(',')}`);
|
|
176
222
|
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
solverType: net.solverType,
|
|
195
|
-
roles: rolesFromConfig(net),
|
|
196
|
-
contract,
|
|
197
|
-
harness: canonicalHarnessName(net.harness),
|
|
198
|
-
...(net.model ? { model: net.model } : {}),
|
|
199
|
-
runtimePlugins,
|
|
200
|
-
taskGenerator: net.taskGenerator,
|
|
201
|
-
});
|
|
223
|
+
runtimePlugins.push(runtimePluginFrom(plugin, provenance));
|
|
224
|
+
seenSources.add(plugin.source);
|
|
225
|
+
seenNames.add(plugin.name);
|
|
226
|
+
}
|
|
227
|
+
// Per `spec/2026-05-05-solvernet-creation-and-launch.md` §8/§9, runtime
|
|
228
|
+
// plugins are operator-configured — the SolverNet contract no longer
|
|
229
|
+
// carries `defaultRuntimePlugins`. Network Tools is the one runtime-
|
|
230
|
+
// scoped default (`supports: ['jinn.runtime']`) auto-loaded so every
|
|
231
|
+
// operator's daemon can talk to the Jinn MCP surface. SolverType-bound
|
|
232
|
+
// plugins (e.g. the bundled prediction plugin) flow through
|
|
233
|
+
// `net.plugins`; the launcher seeds quick-start defaults into operator
|
|
234
|
+
// config rather than binding them to the contract.
|
|
235
|
+
for (const entry of [JINN_NETWORK_TOOLS_PLUGIN]) {
|
|
236
|
+
await addRuntimePlugin(entry, 'default');
|
|
237
|
+
}
|
|
238
|
+
for (const entry of net.plugins ?? []) {
|
|
239
|
+
await addRuntimePlugin(entry, 'configured');
|
|
202
240
|
}
|
|
241
|
+
registry.register({
|
|
242
|
+
name,
|
|
243
|
+
enabled: net.enabled,
|
|
244
|
+
solverType: net.solverType,
|
|
245
|
+
roles: rolesFromConfig(net),
|
|
246
|
+
contract,
|
|
247
|
+
harness: canonicalHarnessName(net.harness),
|
|
248
|
+
...(net.model ? { model: net.model } : {}),
|
|
249
|
+
runtimePlugins,
|
|
250
|
+
taskGenerator: net.taskGenerator,
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
export async function loadSolverNets(config) {
|
|
254
|
+
const registry = new SolverNetRegistry();
|
|
203
255
|
for (const [cid, joined] of Object.entries(config.joinedSolverNets ?? {})) {
|
|
204
|
-
|
|
205
|
-
continue;
|
|
206
|
-
const solverType = `${joined.contract.id}.${joined.contract.version}`;
|
|
207
|
-
const contract = getSolverNetContract(joined.contract);
|
|
208
|
-
if (!contract)
|
|
209
|
-
continue;
|
|
210
|
-
const roles = rolesFromJoinedConfig(joined);
|
|
211
|
-
if (roles.length === 0)
|
|
212
|
-
continue;
|
|
213
|
-
const disabledDefaults = joined.disabledDefaultPlugins ?? [];
|
|
214
|
-
const defaultPlugins = defaultRuntimePluginsForSolverType(solverType)
|
|
215
|
-
.filter((plugin) => !defaultPluginDisabled(plugin, disabledDefaults));
|
|
216
|
-
const harness = joined.roles.includes('solver')
|
|
217
|
-
? joined.harness ?? CLAUDE_CODE_HARNESS
|
|
218
|
-
: evaluatorHarnessNameForContract(contract) ?? joined.harness ?? CLAUDE_CODE_HARNESS;
|
|
219
|
-
await registerFromConfig(joined.name ?? cid, {
|
|
220
|
-
enabled: true,
|
|
221
|
-
solverType,
|
|
222
|
-
roles,
|
|
223
|
-
harness,
|
|
224
|
-
...(joined.model ? { model: joined.model } : {}),
|
|
225
|
-
plugins: [...defaultPlugins, ...(joined.plugins ?? [])],
|
|
226
|
-
taskGenerator: { enabled: false },
|
|
227
|
-
}, contract);
|
|
256
|
+
await registerJoinedNet(registry, cid, joined);
|
|
228
257
|
}
|
|
229
258
|
return registry;
|
|
230
259
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/solver-nets/registry.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/solver-nets/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const JinnRepoPoolItemSchema: z.ZodObject<{
|
|
3
|
+
schemaVersion: z.ZodLiteral<"jinn-repo.v1">;
|
|
4
|
+
instance_id: z.ZodString;
|
|
5
|
+
repo: z.ZodLiteral<"Jinn-Network/mono">;
|
|
6
|
+
base_commit: z.ZodString;
|
|
7
|
+
merged_pr: z.ZodNumber;
|
|
8
|
+
language: z.ZodLiteral<"typescript">;
|
|
9
|
+
problem_statement: z.ZodString;
|
|
10
|
+
test_files: z.ZodArray<z.ZodString>;
|
|
11
|
+
test_cmd: z.ZodString;
|
|
12
|
+
gold_tests: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
13
|
+
solution_patch: z.ZodString;
|
|
14
|
+
}, z.core.$strip>;
|
|
15
|
+
export type JinnRepoPoolItem = z.infer<typeof JinnRepoPoolItemSchema>;
|
|
16
|
+
export interface JinnRepoSolverView {
|
|
17
|
+
schemaVersion: 'jinn-repo.v1';
|
|
18
|
+
instance_id: string;
|
|
19
|
+
repo: 'Jinn-Network/mono';
|
|
20
|
+
base_commit: string;
|
|
21
|
+
problem_statement: string;
|
|
22
|
+
}
|
|
23
|
+
export declare function solverView(item: JinnRepoPoolItem): JinnRepoSolverView;
|
|
24
|
+
export declare function loadJinnRepoPool(opts?: {
|
|
25
|
+
path?: string;
|
|
26
|
+
}): JinnRepoPoolItem[];
|
|
27
|
+
export declare function resolveJinnRepoSlate(pool: JinnRepoPoolItem[], ids: Set<string>): JinnRepoPoolItem[];
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { readFileSync } from 'node:fs';
|
|
2
|
+
import { fileURLToPath } from 'node:url';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { JinnRepoTaskSchema } from './jinn-repo.js';
|
|
5
|
+
// Pool item = the solver-visible task + evaluator-side secrets (gold tests, reference solution).
|
|
6
|
+
export const JinnRepoPoolItemSchema = JinnRepoTaskSchema.extend({
|
|
7
|
+
gold_tests: z.record(z.string(), z.string()), // relpath -> file contents (evaluator-side)
|
|
8
|
+
solution_patch: z.string(), // reference fix (admission only; never shown to solver)
|
|
9
|
+
});
|
|
10
|
+
export function solverView(item) {
|
|
11
|
+
return {
|
|
12
|
+
schemaVersion: item.schemaVersion,
|
|
13
|
+
instance_id: item.instance_id,
|
|
14
|
+
repo: item.repo,
|
|
15
|
+
base_commit: item.base_commit,
|
|
16
|
+
problem_statement: item.problem_statement,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export function loadJinnRepoPool(opts = {}) {
|
|
20
|
+
const path = opts.path ?? fileURLToPath(new URL('./jinn-repo-pool.json', import.meta.url));
|
|
21
|
+
const raw = JSON.parse(readFileSync(path, 'utf8'));
|
|
22
|
+
return raw.map((r) => JinnRepoPoolItemSchema.parse(r));
|
|
23
|
+
}
|
|
24
|
+
export function resolveJinnRepoSlate(pool, ids) {
|
|
25
|
+
return pool.filter((p) => ids.has(p.instance_id));
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=_jinn-repo-pool.js.map
|