@jinn-network/client 0.1.6 → 0.1.7-canary.0a586ca9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +33 -0
- package/README.md +67 -1
- package/deployments/deployment-jinn-mvi-l1-sepolia-fast.json +23 -4
- package/deployments/deployment-jinn-mvi-l1-sepolia.json +23 -4
- package/deployments/deployment-jinn-mvi-l2-baseSepolia.json +5 -4
- package/dist/adapters/mech/adapter.d.ts +57 -2
- package/dist/adapters/mech/adapter.js +366 -63
- package/dist/adapters/mech/adapter.js.map +1 -1
- package/dist/adapters/mech/contracts.d.ts +17 -4
- package/dist/adapters/mech/contracts.js +19 -4
- package/dist/adapters/mech/contracts.js.map +1 -1
- package/dist/adapters/mech/safe-revert.d.ts +20 -0
- package/dist/adapters/mech/safe-revert.js +12 -4
- package/dist/adapters/mech/safe-revert.js.map +1 -1
- package/dist/adapters/mech/safe.d.ts +6 -2
- package/dist/adapters/mech/safe.js +32 -11
- package/dist/adapters/mech/safe.js.map +1 -1
- package/dist/adapters/mech/types.d.ts +6 -1
- package/dist/adapters/mech/types.js.map +1 -1
- package/dist/adapters/mech/verdict-code.d.ts +1 -0
- package/dist/adapters/mech/verdict-code.js +18 -0
- package/dist/adapters/mech/verdict-code.js.map +1 -1
- package/dist/agent/operator-claude.js +8 -0
- package/dist/agent/operator-claude.js.map +1 -1
- package/dist/api/activity-events-endpoint.d.ts +14 -0
- package/dist/api/activity-events-endpoint.js +59 -0
- package/dist/api/activity-events-endpoint.js.map +1 -0
- package/dist/api/admin-endpoint.d.ts +15 -3
- package/dist/api/admin-endpoint.js +24 -2
- package/dist/api/admin-endpoint.js.map +1 -1
- package/dist/api/bootstrap-endpoint.d.ts +1 -2
- package/dist/api/bootstrap-endpoint.js +85 -18
- package/dist/api/bootstrap-endpoint.js.map +1 -1
- package/dist/api/codex-doctor-endpoint.d.ts +90 -0
- package/dist/api/codex-doctor-endpoint.js +296 -0
- package/dist/api/codex-doctor-endpoint.js.map +1 -0
- package/dist/api/discovery-endpoint.d.ts +1 -0
- package/dist/api/discovery-endpoint.js +26 -0
- package/dist/api/discovery-endpoint.js.map +1 -1
- package/dist/api/fleet-build.d.ts +1 -0
- package/dist/api/fleet-build.js +2 -1
- package/dist/api/fleet-build.js.map +1 -1
- package/dist/api/gather-status.d.ts +37 -0
- package/dist/api/gather-status.js +572 -19
- package/dist/api/gather-status.js.map +1 -1
- package/dist/api/hermes-doctor-endpoint.d.ts +128 -3
- package/dist/api/hermes-doctor-endpoint.js +265 -22
- package/dist/api/hermes-doctor-endpoint.js.map +1 -1
- package/dist/api/launcher-status.d.ts +24 -17
- package/dist/api/launcher-status.js +13 -11
- package/dist/api/launcher-status.js.map +1 -1
- package/dist/api/launcher-tasks.d.ts +1 -1
- package/dist/api/launcher-tasks.js +12 -8
- package/dist/api/launcher-tasks.js.map +1 -1
- package/dist/api/operator-artifacts-endpoint.js +73 -6
- package/dist/api/operator-artifacts-endpoint.js.map +1 -1
- package/dist/api/portfolio-v0-build.d.ts +10 -0
- package/dist/api/portfolio-v0-build.js +24 -5
- package/dist/api/portfolio-v0-build.js.map +1 -1
- package/dist/api/prediction-v1-build.d.ts +10 -0
- package/dist/api/prediction-v1-build.js +7 -1
- package/dist/api/prediction-v1-build.js.map +1 -1
- package/dist/api/server.d.ts +31 -1
- package/dist/api/server.js +95 -2
- package/dist/api/server.js.map +1 -1
- package/dist/api/setup-endpoints.d.ts +7 -0
- package/dist/api/setup-endpoints.js +67 -135
- package/dist/api/setup-endpoints.js.map +1 -1
- package/dist/api/setup-retry-endpoint.d.ts +19 -0
- package/dist/api/setup-retry-endpoint.js +32 -0
- package/dist/api/setup-retry-endpoint.js.map +1 -0
- package/dist/api/solvernets-endpoints.d.ts +8 -0
- package/dist/api/solvernets-endpoints.js +100 -105
- package/dist/api/solvernets-endpoints.js.map +1 -1
- package/dist/api/status-build.d.ts +167 -2
- package/dist/api/status-build.js +118 -27
- package/dist/api/status-build.js.map +1 -1
- package/dist/api/status-harness-rollup.d.ts +35 -0
- package/dist/api/status-harness-rollup.js +45 -0
- package/dist/api/status-harness-rollup.js.map +1 -0
- package/dist/api/task-run-routing.d.ts +7 -0
- package/dist/api/task-run-routing.js +12 -0
- package/dist/api/task-run-routing.js.map +1 -0
- package/dist/api/task-runs-build.d.ts +21 -0
- package/dist/api/task-runs-build.js +14 -1
- package/dist/api/task-runs-build.js.map +1 -1
- package/dist/build-info.json +4 -4
- package/dist/build-meta.json +1 -1
- package/dist/captures/live-publisher.js +24 -4
- package/dist/captures/live-publisher.js.map +1 -1
- package/dist/captures/publish.d.ts +1 -1
- package/dist/chain-read-errors.d.ts +22 -0
- package/dist/chain-read-errors.js +41 -1
- package/dist/chain-read-errors.js.map +1 -1
- package/dist/cli/commands/auth.js +1 -1
- package/dist/cli/commands/auth.js.map +1 -1
- package/dist/cli/commands/codedigest-revert-check.d.ts +33 -0
- package/dist/cli/commands/codedigest-revert-check.js +249 -0
- package/dist/cli/commands/codedigest-revert-check.js.map +1 -0
- package/dist/cli/commands/create.js +3 -2
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts +2 -0
- package/dist/cli/commands/doctor.js +2 -0
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/rewards.js +11 -7
- package/dist/cli/commands/rewards.js.map +1 -1
- package/dist/cli/commands/solver-nets.d.ts +1 -0
- package/dist/cli/commands/solver-nets.js +179 -16
- package/dist/cli/commands/solver-nets.js.map +1 -1
- package/dist/cli/commands/solver-plugins-block.d.ts +33 -0
- package/dist/cli/commands/solver-plugins-block.js +118 -0
- package/dist/cli/commands/solver-plugins-block.js.map +1 -0
- package/dist/cli/commands/solver-plugins-feedback.d.ts +72 -0
- package/dist/cli/commands/solver-plugins-feedback.js +262 -0
- package/dist/cli/commands/solver-plugins-feedback.js.map +1 -0
- package/dist/cli/commands/solver-plugins-read.d.ts +54 -0
- package/dist/cli/commands/solver-plugins-read.js +259 -0
- package/dist/cli/commands/solver-plugins-read.js.map +1 -0
- package/dist/cli/commands/solver-plugins.d.ts +35 -0
- package/dist/cli/commands/solver-plugins.js +399 -2
- package/dist/cli/commands/solver-plugins.js.map +1 -1
- package/dist/cli/commands/status.js +1 -1
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/tasks.js +101 -11
- package/dist/cli/commands/tasks.js.map +1 -1
- package/dist/cli/commands/update.d.ts +10 -0
- package/dist/cli/commands/update.js +36 -0
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/introspection-context.js +5 -0
- package/dist/cli/introspection-context.js.map +1 -1
- package/dist/cli/task-native-readiness.d.ts +10 -1
- package/dist/cli/task-native-readiness.js +30 -6
- package/dist/cli/task-native-readiness.js.map +1 -1
- package/dist/config.d.ts +287 -235
- package/dist/config.js +318 -114
- package/dist/config.js.map +1 -1
- package/dist/daemon/checkpoint-loop.d.ts +48 -0
- package/dist/daemon/checkpoint-loop.js +76 -0
- package/dist/daemon/checkpoint-loop.js.map +1 -0
- package/dist/daemon/creator.d.ts +1 -1
- package/dist/daemon/creator.js +20 -3
- package/dist/daemon/creator.js.map +1 -1
- package/dist/daemon/daemon.d.ts +22 -0
- package/dist/daemon/daemon.js +174 -31
- package/dist/daemon/daemon.js.map +1 -1
- package/dist/daemon/eviction-loop.d.ts +40 -0
- package/dist/daemon/eviction-loop.js +67 -0
- package/dist/daemon/eviction-loop.js.map +1 -0
- package/dist/daemon/gate-logger.d.ts +9 -0
- package/dist/daemon/gate-logger.js +2 -0
- package/dist/daemon/gate-logger.js.map +1 -0
- package/dist/daemon/jinn-claim-loop-wiring.d.ts +33 -0
- package/dist/daemon/jinn-claim-loop-wiring.js +40 -0
- package/dist/daemon/jinn-claim-loop-wiring.js.map +1 -0
- package/dist/daemon/jinn-claim-loop.d.ts +24 -17
- package/dist/daemon/jinn-claim-loop.js +77 -23
- package/dist/daemon/jinn-claim-loop.js.map +1 -1
- package/dist/daemon/readiness-gate.d.ts +1 -4
- package/dist/daemon/readiness-gate.js.map +1 -1
- package/dist/daemon/skip-log-dedup.d.ts +69 -0
- package/dist/daemon/skip-log-dedup.js +106 -0
- package/dist/daemon/skip-log-dedup.js.map +1 -0
- package/dist/daemon/spend-cap-gate.d.ts +40 -0
- package/dist/daemon/spend-cap-gate.js +46 -0
- package/dist/daemon/spend-cap-gate.js.map +1 -0
- package/dist/dashboard/assets/index-BNs_ewI6.js +345 -0
- package/dist/dashboard/assets/index-C4huIsUW.css +32 -0
- package/dist/dashboard/index.html +2 -2
- package/dist/discovery/factory.d.ts +17 -5
- package/dist/discovery/factory.js +46 -18
- package/dist/discovery/factory.js.map +1 -1
- package/dist/discovery/http.js +469 -3
- package/dist/discovery/http.js.map +1 -1
- package/dist/discovery/onchain.d.ts +5 -0
- package/dist/discovery/onchain.js +448 -18
- package/dist/discovery/onchain.js.map +1 -1
- package/dist/discovery/types.d.ts +174 -1
- package/dist/discovery/types.js +8 -10
- package/dist/discovery/types.js.map +1 -1
- package/dist/discovery/with-fallback.d.ts +7 -0
- package/dist/discovery/with-fallback.js +37 -0
- package/dist/discovery/with-fallback.js.map +1 -1
- package/dist/earning/bootstrap.d.ts +100 -4
- package/dist/earning/bootstrap.js +239 -76
- package/dist/earning/bootstrap.js.map +1 -1
- package/dist/earning/contracts.d.ts +14 -0
- package/dist/earning/contracts.js +17 -5
- package/dist/earning/contracts.js.map +1 -1
- package/dist/earning/funding-plan.js +27 -18
- package/dist/earning/funding-plan.js.map +1 -1
- package/dist/earning/jinn-rewards.d.ts +46 -0
- package/dist/earning/jinn-rewards.js +32 -0
- package/dist/earning/jinn-rewards.js.map +1 -1
- package/dist/earning/safe-adapter.d.ts +2 -0
- package/dist/earning/safe-adapter.js +37 -11
- package/dist/earning/safe-adapter.js.map +1 -1
- package/dist/earning/store.d.ts +8 -0
- package/dist/earning/store.js.map +1 -1
- package/dist/earning/testnet-setup-migration.d.ts +12 -0
- package/dist/earning/testnet-setup-migration.js +27 -1
- package/dist/earning/testnet-setup-migration.js.map +1 -1
- package/dist/earning/types.d.ts +21 -6
- package/dist/earning/viem-clients.d.ts +11 -4
- package/dist/earning/viem-clients.js +14 -5
- package/dist/earning/viem-clients.js.map +1 -1
- package/dist/erc8004/identity.d.ts +19 -3
- package/dist/erc8004/identity.js +21 -6
- package/dist/erc8004/identity.js.map +1 -1
- package/dist/erc8004/index.d.ts +1 -1
- package/dist/erc8004/index.js.map +1 -1
- package/dist/erc8004/reputation.d.ts +8 -0
- package/dist/erc8004/reputation.js +22 -3
- package/dist/erc8004/reputation.js.map +1 -1
- package/dist/events/types.d.ts +2 -2
- package/dist/harnesses/cost-estimates.d.ts +124 -0
- package/dist/harnesses/cost-estimates.js +265 -0
- package/dist/harnesses/cost-estimates.js.map +1 -0
- package/dist/harnesses/engine/engine.d.ts +78 -0
- package/dist/harnesses/engine/engine.js +153 -11
- package/dist/harnesses/engine/engine.js.map +1 -1
- package/dist/harnesses/engine/persistence.d.ts +51 -1
- package/dist/harnesses/engine/persistence.js +118 -5
- package/dist/harnesses/engine/persistence.js.map +1 -1
- package/dist/harnesses/engine/work-dir-reaper.d.ts +65 -0
- package/dist/harnesses/engine/work-dir-reaper.js +100 -0
- package/dist/harnesses/engine/work-dir-reaper.js.map +1 -0
- package/dist/harnesses/impls/hermes-agent/adapter.js +40 -0
- package/dist/harnesses/impls/hermes-agent/adapter.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/bootstrap.d.ts +20 -0
- package/dist/harnesses/impls/hermes-agent/bootstrap.js +44 -8
- package/dist/harnesses/impls/hermes-agent/bootstrap.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/config-builder.d.ts +1 -1
- package/dist/harnesses/impls/hermes-agent/config-builder.js +4 -2
- package/dist/harnesses/impls/hermes-agent/config-builder.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/harness.d.ts +59 -1
- package/dist/harnesses/impls/hermes-agent/harness.js +104 -0
- package/dist/harnesses/impls/hermes-agent/harness.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/prompt.d.ts +6 -6
- package/dist/harnesses/impls/hermes-agent/prompt.js +6 -6
- package/dist/harnesses/impls/index.d.ts +7 -0
- package/dist/harnesses/impls/index.js +16 -1
- package/dist/harnesses/impls/index.js.map +1 -1
- package/dist/harnesses/impls/learner/adapters/codex-code.d.ts +9 -0
- package/dist/harnesses/impls/learner/adapters/codex-code.js +30 -8
- package/dist/harnesses/impls/learner/adapters/codex-code.js.map +1 -1
- package/dist/harnesses/impls/learner/harness.d.ts +47 -4
- package/dist/harnesses/impls/learner/harness.js +105 -2
- package/dist/harnesses/impls/learner/harness.js.map +1 -1
- package/dist/harnesses/impls/learner/harvest.d.ts +1 -1
- package/dist/harnesses/impls/learner/harvest.js +23 -5
- package/dist/harnesses/impls/learner/harvest.js.map +1 -1
- package/dist/harnesses/impls/learner/plugin-path.d.ts +0 -13
- package/dist/harnesses/impls/learner/plugin-path.js +35 -15
- package/dist/harnesses/impls/learner/plugin-path.js.map +1 -1
- package/dist/harnesses/impls/learner/restoration-patch.d.ts +2 -2
- package/dist/harnesses/impls/learner/restoration-patch.js +25 -6
- package/dist/harnesses/impls/learner/restoration-patch.js.map +1 -1
- package/dist/harnesses/impls/learner/types.d.ts +11 -0
- package/dist/harnesses/impls/stub.d.ts +58 -0
- package/dist/harnesses/impls/stub.js +89 -0
- package/dist/harnesses/impls/stub.js.map +1 -0
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.d.ts +69 -50
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js +199 -94
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js.map +1 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.d.ts +12 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js +121 -7
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js.map +1 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.d.ts +88 -4
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js +143 -22
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js.map +1 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.d.ts +6 -0
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js +1 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js.map +1 -1
- package/dist/harnesses/readiness-registry.d.ts +7 -0
- package/dist/harnesses/readiness-registry.js +18 -1
- package/dist/harnesses/readiness-registry.js.map +1 -1
- package/dist/learner/revert-decision.d.ts +59 -0
- package/dist/learner/revert-decision.js +53 -0
- package/dist/learner/revert-decision.js.map +1 -0
- package/dist/learner/revert-stats.d.ts +24 -0
- package/dist/learner/revert-stats.js +44 -0
- package/dist/learner/revert-stats.js.map +1 -0
- package/dist/main.js +470 -142
- package/dist/main.js.map +1 -1
- package/dist/mcp/get-codedigest-reward.d.ts +13 -0
- package/dist/mcp/get-codedigest-reward.js +23 -0
- package/dist/mcp/get-codedigest-reward.js.map +1 -0
- package/dist/mcp/server.js +23 -0
- package/dist/mcp/server.js.map +1 -1
- package/dist/observability/emit-event.d.ts +3 -2
- package/dist/observability/emit-event.js +22 -1
- package/dist/observability/emit-event.js.map +1 -1
- package/dist/operator-errors.d.ts +7 -0
- package/dist/operator-errors.js +13 -1
- package/dist/operator-errors.js.map +1 -1
- package/dist/plugins/learner/.claude-plugin/plugin.json +9 -0
- package/dist/plugins/learner/.codex-plugin/plugin.json +39 -0
- package/dist/plugins/learner/AGENTS.md +40 -0
- package/dist/plugins/learner/CLAUDE.md +33 -0
- package/dist/plugins/learner/README.md +59 -0
- package/dist/plugins/learner/hooks/hooks.json +16 -0
- package/dist/plugins/learner/hooks/session-start +38 -0
- package/dist/plugins/learner/skills/learn/SKILL.md +412 -0
- package/dist/plugins/learner/skills/learn/analyst-prompt.md +68 -0
- package/dist/plugins/learner/skills/learn/consolidator-prompt.md +111 -0
- package/dist/plugins/learner/skills/learn/explorer-prompt.md +53 -0
- package/dist/plugins/learner/skills/learn/planner-prompt.md +87 -0
- package/dist/plugins/learner/skills/learn/promoter-prompt.md +184 -0
- package/dist/plugins/learner/skills/learn/step-worker-prompt.md +47 -0
- package/dist/plugins/learner/skills/learn/strategist-prompt.md +85 -0
- package/dist/preflight/pidfile-liveness.d.ts +44 -0
- package/dist/preflight/pidfile-liveness.js +103 -0
- package/dist/preflight/pidfile-liveness.js.map +1 -0
- package/dist/preflight/rpc-network.d.ts +40 -0
- package/dist/preflight/rpc-network.js +67 -1
- package/dist/preflight/rpc-network.js.map +1 -1
- package/dist/restart-daemon.d.ts +90 -0
- package/dist/restart-daemon.js +95 -0
- package/dist/restart-daemon.js.map +1 -0
- package/dist/rpc/transport.d.ts +109 -0
- package/dist/rpc/transport.js +220 -0
- package/dist/rpc/transport.js.map +1 -0
- package/dist/scripts/donation-consumption-acceptance.js +7 -28
- package/dist/scripts/donation-consumption-acceptance.js.map +1 -1
- package/dist/scripts/swe-rebench-v2-pytest-missing.json +16 -0
- package/dist/setup/halt-mode.d.ts +14 -0
- package/dist/setup/halt-mode.js +17 -0
- package/dist/setup/halt-mode.js.map +1 -0
- package/dist/solver-nets/prediction-operator-ux.d.ts +1 -2
- package/dist/solver-nets/prediction-operator-ux.js +90 -47
- package/dist/solver-nets/prediction-operator-ux.js.map +1 -1
- package/dist/solver-nets/registry.d.ts +20 -1
- package/dist/solver-nets/registry.js +38 -25
- package/dist/solver-nets/registry.js.map +1 -1
- package/dist/solver-types/_swe-rebench-v2-pool-cache.d.ts +58 -0
- package/dist/solver-types/_swe-rebench-v2-pool-cache.js +87 -0
- package/dist/solver-types/_swe-rebench-v2-pool-cache.js.map +1 -0
- package/dist/solver-types/_swe-rebench-v2-pool.d.ts +9 -2
- package/dist/solver-types/_swe-rebench-v2-pool.js +15 -20
- package/dist/solver-types/_swe-rebench-v2-pool.js.map +1 -1
- package/dist/solver-types/_swe-rebench-v2-state.d.ts +15 -0
- package/dist/solver-types/_swe-rebench-v2-state.js +19 -0
- package/dist/solver-types/_swe-rebench-v2-state.js.map +1 -1
- package/dist/solver-types/_swe-rebench-v2-substrate.d.ts +1 -0
- package/dist/solver-types/_swe-rebench-v2-substrate.js +10 -0
- package/dist/solver-types/_swe-rebench-v2-substrate.js.map +1 -1
- package/dist/solver-types/_swe-rebench-v2-validated-pool.d.ts +145 -2
- package/dist/solver-types/_swe-rebench-v2-validated-pool.js +482 -44
- package/dist/solver-types/_swe-rebench-v2-validated-pool.js.map +1 -1
- package/dist/solver-types/swe-rebench-v2-auto.d.ts +38 -14
- package/dist/solver-types/swe-rebench-v2-auto.js +87 -28
- package/dist/solver-types/swe-rebench-v2-auto.js.map +1 -1
- package/dist/solver-types/swe-rebench-v2.d.ts +19 -2
- package/dist/solver-types/swe-rebench-v2.js +351 -96
- package/dist/solver-types/swe-rebench-v2.js.map +1 -1
- package/dist/solvernets/daemon-init.d.ts +10 -2
- package/dist/solvernets/daemon-init.js +22 -2
- package/dist/solvernets/daemon-init.js.map +1 -1
- package/dist/solvernets/launched-record-dispatcher.d.ts +4 -0
- package/dist/solvernets/launched-record-dispatcher.js +41 -7
- package/dist/solvernets/launched-record-dispatcher.js.map +1 -1
- package/dist/solvernets/registry-client-erc8004.js +11 -0
- package/dist/solvernets/registry-client-erc8004.js.map +1 -1
- package/dist/solvernets/store.d.ts +7 -2
- package/dist/solvernets/store.js +1 -0
- package/dist/solvernets/store.js.map +1 -1
- package/dist/spend/cost-surface-status.d.ts +10 -0
- package/dist/spend/cost-surface-status.js +22 -0
- package/dist/spend/cost-surface-status.js.map +1 -0
- package/dist/spend/credential.d.ts +8 -0
- package/dist/spend/credential.js +30 -0
- package/dist/spend/credential.js.map +1 -0
- package/dist/spend/daemon-config.d.ts +13 -0
- package/dist/spend/daemon-config.js +24 -0
- package/dist/spend/daemon-config.js.map +1 -0
- package/dist/spend/pricing.d.ts +16 -0
- package/dist/spend/pricing.js +26 -0
- package/dist/spend/pricing.js.map +1 -0
- package/dist/spend/record.d.ts +13 -0
- package/dist/spend/record.js +30 -0
- package/dist/spend/record.js.map +1 -0
- package/dist/spend/usage.d.ts +27 -0
- package/dist/spend/usage.js +113 -0
- package/dist/spend/usage.js.map +1 -0
- package/dist/store/store.d.ts +61 -0
- package/dist/store/store.js +302 -7
- package/dist/store/store.js.map +1 -1
- package/dist/tasks/sources.d.ts +18 -1
- package/dist/tasks/sources.js +33 -5
- package/dist/tasks/sources.js.map +1 -1
- package/dist/trajectory/transcript-parsers/codex-session.d.ts +12 -6
- package/dist/trajectory/transcript-parsers/codex-session.js +114 -13
- package/dist/trajectory/transcript-parsers/codex-session.js.map +1 -1
- package/dist/trajectory/transcript-parsers/types.d.ts +8 -8
- package/dist/trajectory/transcript-session-dirs.d.ts +18 -0
- package/dist/trajectory/transcript-session-dirs.js +85 -0
- package/dist/trajectory/transcript-session-dirs.js.map +1 -0
- package/dist/trajectory/transcript-watcher.d.ts +20 -1
- package/dist/trajectory/transcript-watcher.js +98 -32
- package/dist/trajectory/transcript-watcher.js.map +1 -1
- package/dist/tx-retry.d.ts +166 -19
- package/dist/tx-retry.js +310 -32
- package/dist/tx-retry.js.map +1 -1
- package/dist/types/payloads/portfolio-v0.d.ts +3 -3
- package/dist/types/payloads/prediction-apy-v0.d.ts +8 -8
- package/dist/types/payloads/prediction-v0.d.ts +17 -17
- package/dist/types/task-document.d.ts +392 -0
- package/dist/types/task-document.js +10 -0
- package/dist/types/task-document.js.map +1 -1
- package/dist/types/task.d.ts +28 -0
- package/dist/util/extract-tx-hash.d.ts +14 -0
- package/dist/util/extract-tx-hash.js +19 -0
- package/dist/util/extract-tx-hash.js.map +1 -0
- package/dist/vendor/@jinn-network/sdk/dist/contracts.js +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.d.ts +3 -0
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.js +1 -0
- package/package.json +37 -13
- package/plugins/learner/skills/learn/consolidator-prompt.md +18 -1
- package/plugins/learner/skills/learn/promoter-prompt.md +72 -1
- package/plugins/swe-rebench-v2-diffmin/README.md +10 -9
- package/plugins/swe-rebench-v2-diffmin/jinn.plugin.json +1 -1
- package/plugins/swe-rebench-v2-diffmin/skills/diffmin/SKILL.md +15 -10
- package/plugins/swe-rebench-v2-diffmin/skills/test-map/SKILL.md +10 -12
- package/plugins/swe-rebench-v2-runtime/.claude-plugin/plugin.json +1 -1
- package/plugins/swe-rebench-v2-runtime/.codex-plugin/plugin.json +3 -3
- package/plugins/swe-rebench-v2-runtime/README.md +6 -6
- package/plugins/swe-rebench-v2-runtime/jinn.plugin.json +2 -3
- package/plugins/swe-rebench-v2-runtime/skills/task/SKILL.md +69 -0
- package/dist/dashboard/assets/index-DOlzFN8a.css +0 -32
- package/dist/dashboard/assets/index-NkZ7CTAT.js +0 -140
- package/plugins/swe-rebench-v2-runtime/skills/orient/SKILL.md +0 -29
- package/plugins/swe-rebench-v2-runtime/skills/plan/SKILL.md +0 -53
|
@@ -23,14 +23,16 @@ import { join } from 'node:path';
|
|
|
23
23
|
import { SweRebenchV2TaskSchema, SweRebenchV2SolutionPayloadSchema, } from '../../../vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2.js';
|
|
24
24
|
import { REQUIRES_LIVE_DAEMON_READINESS, SkippableError } from '../../types.js';
|
|
25
25
|
import { SignedEnvelopeSchema, normalizeEnvelopeRole } from '../../../types/envelope.js';
|
|
26
|
-
import { uploadToIpfs } from '../../../adapters/mech/ipfs.js';
|
|
26
|
+
import { fetchFromIpfs, uploadToIpfs } from '../../../adapters/mech/ipfs.js';
|
|
27
27
|
import { SweRebenchV2Evaluator } from './index.js';
|
|
28
28
|
import { PythonEvalRunner, EvalCouldNotGradeError, } from './eval-runner.js';
|
|
29
29
|
import { HttpHfFetcher } from './hf-fetcher.js';
|
|
30
|
-
import { ValidatedPoolStore, EVAL_SEMANTICS_VERSION, } from '../../../solver-types/_swe-rebench-v2-validated-pool.js';
|
|
30
|
+
import { ValidatedPoolStore, EVAL_SEMANTICS_VERSION, hashVettedPoolArtifact, loadVettedPoolArtifactScorableEntries, parseVettedPoolArtifact, vettedPoolArtifactRefFromEligibility, } from '../../../solver-types/_swe-rebench-v2-validated-pool.js';
|
|
31
31
|
import { computeRowHash, resolveImageDigest, } from '../../../solver-types/_swe-rebench-v2-substrate.js';
|
|
32
32
|
import { defaultStateDir as defaultSolverTypeStateDir, loadSweRebenchV2Pool, } from '../../../solver-types/swe-rebench-v2.js';
|
|
33
|
+
import { PoolCacheStore, loadPoolWithCacheFallback, } from '../../../solver-types/_swe-rebench-v2-pool-cache.js';
|
|
33
34
|
const DEFAULT_IPFS_REGISTRY_URL = 'https://registry.autonolas.tech';
|
|
35
|
+
const DEFAULT_IPFS_GATEWAY_URL = 'https://gateway.autonolas.tech';
|
|
34
36
|
const UPSTREAM_REPO_URL = 'https://github.com/SWE-rebench/SWE-rebench-V2.git';
|
|
35
37
|
const STATE_FILE = 'state.json';
|
|
36
38
|
const ENABLE_CLI = 'jinn harnesses enable swe-rebench-v2-evaluator';
|
|
@@ -40,6 +42,7 @@ export class SweRebenchV2EvaluatorHarness {
|
|
|
40
42
|
stub;
|
|
41
43
|
implStateDir;
|
|
42
44
|
ipfsRegistryUrl;
|
|
45
|
+
ipfsGatewayUrl;
|
|
43
46
|
deps;
|
|
44
47
|
/** The engine's claim-eligibility check calls `isReady()` per candidate
|
|
45
48
|
* task per tick (~17 Hz potential). Cache the live `docker info` result
|
|
@@ -55,10 +58,14 @@ export class SweRebenchV2EvaluatorHarness {
|
|
|
55
58
|
* call and the disk-budget bead (jinn-mono-uy6v.11) is a no-op.
|
|
56
59
|
*/
|
|
57
60
|
cachedRunner;
|
|
61
|
+
cachedFetcher;
|
|
62
|
+
cachedPool;
|
|
63
|
+
publishedPoolArtifactCache = new Map();
|
|
58
64
|
constructor(opts = {}) {
|
|
59
65
|
this.stub = opts.stub ?? false;
|
|
60
66
|
this.implStateDir = opts.implStateDir;
|
|
61
67
|
this.ipfsRegistryUrl = opts.ipfsRegistryUrl ?? DEFAULT_IPFS_REGISTRY_URL;
|
|
68
|
+
this.ipfsGatewayUrl = opts.ipfsGatewayUrl ?? process.env['JINN_IPFS_GATEWAY_URL'] ?? DEFAULT_IPFS_GATEWAY_URL;
|
|
62
69
|
this.deps = opts._testDeps ?? {};
|
|
63
70
|
}
|
|
64
71
|
/**
|
|
@@ -78,6 +85,72 @@ export class SweRebenchV2EvaluatorHarness {
|
|
|
78
85
|
}
|
|
79
86
|
return this.cachedRunner;
|
|
80
87
|
}
|
|
88
|
+
getFetcher() {
|
|
89
|
+
if (this.deps.fetcher)
|
|
90
|
+
return this.deps.fetcher;
|
|
91
|
+
if (!this.cachedFetcher) {
|
|
92
|
+
this.cachedFetcher = new HttpHfFetcher();
|
|
93
|
+
}
|
|
94
|
+
return this.cachedFetcher;
|
|
95
|
+
}
|
|
96
|
+
loadPoolForRecheck(stateDir) {
|
|
97
|
+
if (!this.cachedPool || this.cachedPool.stateDir !== stateDir) {
|
|
98
|
+
const loadPool = this.deps.loadPool ?? loadSweRebenchV2Pool;
|
|
99
|
+
const promise = loadPoolWithCacheFallback({
|
|
100
|
+
loadPool,
|
|
101
|
+
cache: new PoolCacheStore({ stateDir }),
|
|
102
|
+
currentPool: [],
|
|
103
|
+
}).then((result) => {
|
|
104
|
+
if (result.pool.length > 0)
|
|
105
|
+
return result.pool;
|
|
106
|
+
if (result.error) {
|
|
107
|
+
throw new Error(result.error.message);
|
|
108
|
+
}
|
|
109
|
+
return result.pool;
|
|
110
|
+
});
|
|
111
|
+
this.cachedPool = { stateDir, promise };
|
|
112
|
+
}
|
|
113
|
+
const cached = this.cachedPool;
|
|
114
|
+
return cached.promise.catch((err) => {
|
|
115
|
+
if (this.cachedPool === cached) {
|
|
116
|
+
this.cachedPool = undefined;
|
|
117
|
+
}
|
|
118
|
+
throw err;
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
loadPublishedPoolArtifact(artifactCid) {
|
|
122
|
+
const cached = this.publishedPoolArtifactCache.get(artifactCid);
|
|
123
|
+
if (cached)
|
|
124
|
+
return cached;
|
|
125
|
+
const fetchArtifact = this.deps.fetchFromIpfs ?? fetchFromIpfs;
|
|
126
|
+
const promise = (async () => {
|
|
127
|
+
let rawArtifact;
|
|
128
|
+
try {
|
|
129
|
+
rawArtifact = await fetchArtifact(this.ipfsGatewayUrl, artifactCid);
|
|
130
|
+
}
|
|
131
|
+
catch (err) {
|
|
132
|
+
throw new SkippableError('vetted_pool_fetch_failed', `cannot fetch vetted pool artifact ${artifactCid}: ${err instanceof Error ? err.message : String(err)}`);
|
|
133
|
+
}
|
|
134
|
+
try {
|
|
135
|
+
const artifact = parseVettedPoolArtifact(rawArtifact);
|
|
136
|
+
return {
|
|
137
|
+
evalSemanticsVersion: artifact.evalSemanticsVersion,
|
|
138
|
+
artifactHash: hashVettedPoolArtifact(artifact),
|
|
139
|
+
entries: loadVettedPoolArtifactScorableEntries(artifact),
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
catch (err) {
|
|
143
|
+
throw new SkippableError('vetted_pool_artifact_invalid', `invalid vetted pool artifact ${artifactCid}: ${err instanceof Error ? err.message : String(err)}`);
|
|
144
|
+
}
|
|
145
|
+
})();
|
|
146
|
+
this.publishedPoolArtifactCache.set(artifactCid, promise);
|
|
147
|
+
promise.catch(() => {
|
|
148
|
+
if (this.publishedPoolArtifactCache.get(artifactCid) === promise) {
|
|
149
|
+
this.publishedPoolArtifactCache.delete(artifactCid);
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
return promise;
|
|
153
|
+
}
|
|
81
154
|
async isDockerReachable(now = Date.now()) {
|
|
82
155
|
const cached = this.dockerCheckCache;
|
|
83
156
|
if (cached && now - cached.at < SweRebenchV2EvaluatorHarness.DOCKER_CHECK_TTL_MS) {
|
|
@@ -318,6 +391,48 @@ export class SweRebenchV2EvaluatorHarness {
|
|
|
318
391
|
}
|
|
319
392
|
return recheckRow;
|
|
320
393
|
}
|
|
394
|
+
async loadPublishedPoolRow(task, runtimeTask, fetcher) {
|
|
395
|
+
let ref;
|
|
396
|
+
try {
|
|
397
|
+
ref = vettedPoolArtifactRefFromEligibility(runtimeTask.eligibility);
|
|
398
|
+
}
|
|
399
|
+
catch (err) {
|
|
400
|
+
throw new SkippableError('vetted_pool_ref_invalid', `invalid vetted pool ref: ${err instanceof Error ? err.message : String(err)}`);
|
|
401
|
+
}
|
|
402
|
+
if (!ref)
|
|
403
|
+
return null;
|
|
404
|
+
if (runtimeTask.solverNetManifestCid && ref.manifestCid !== runtimeTask.solverNetManifestCid) {
|
|
405
|
+
throw new SkippableError('vetted_pool_manifest_mismatch', `vetted pool ref manifestCid ${ref.manifestCid} does not match task manifestCid ${runtimeTask.solverNetManifestCid}`);
|
|
406
|
+
}
|
|
407
|
+
if (ref.evalSemanticsVersion !== EVAL_SEMANTICS_VERSION) {
|
|
408
|
+
throw new SkippableError('vetted_pool_semantics_mismatch', `vetted pool ref semanticsVersion=${ref.evalSemanticsVersion} does not match evaluator semanticsVersion=${EVAL_SEMANTICS_VERSION}`);
|
|
409
|
+
}
|
|
410
|
+
const artifact = await this.loadPublishedPoolArtifact(ref.artifactCid);
|
|
411
|
+
try {
|
|
412
|
+
if (artifact.evalSemanticsVersion !== ref.evalSemanticsVersion) {
|
|
413
|
+
throw new Error(`artifact semanticsVersion=${artifact.evalSemanticsVersion} does not match ref=${ref.evalSemanticsVersion}`);
|
|
414
|
+
}
|
|
415
|
+
if (artifact.artifactHash !== ref.artifactHash) {
|
|
416
|
+
throw new Error(`artifact hash ${artifact.artifactHash} does not match ref ${ref.artifactHash}`);
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
catch (err) {
|
|
420
|
+
throw new SkippableError('vetted_pool_artifact_invalid', `invalid vetted pool artifact ${ref.artifactCid}: ${err instanceof Error ? err.message : String(err)}`);
|
|
421
|
+
}
|
|
422
|
+
if (!artifact.entries.byId.has(task.instance_id)) {
|
|
423
|
+
throw new SkippableError('vetted_pool_instance_missing_or_unscorable', `${task.instance_id} is not present as scorable in vetted pool artifact ${ref.artifactCid}`);
|
|
424
|
+
}
|
|
425
|
+
try {
|
|
426
|
+
return await fetcher.fetchTaskRow({
|
|
427
|
+
hf_dataset: task.hf_dataset,
|
|
428
|
+
hf_split: task.hf_split,
|
|
429
|
+
instance_id: task.instance_id,
|
|
430
|
+
});
|
|
431
|
+
}
|
|
432
|
+
catch (err) {
|
|
433
|
+
throw new SkippableError('hf_fetch_failed', `cannot load grading row after vetted-pool admission: ${err instanceof Error ? err.message : String(err)}`);
|
|
434
|
+
}
|
|
435
|
+
}
|
|
321
436
|
async run(ctx) {
|
|
322
437
|
if (this.stub) {
|
|
323
438
|
throw new Error('swe-rebench-v2-evaluator: stub registry cannot run evaluation (requires live daemon)');
|
|
@@ -346,16 +461,15 @@ export class SweRebenchV2EvaluatorHarness {
|
|
|
346
461
|
const stateDir = this.deps.stateDir ??
|
|
347
462
|
process.env['JINN_SWE_REBENCH_V2_STATE_DIR'] ??
|
|
348
463
|
defaultSolverTypeStateDir();
|
|
349
|
-
const
|
|
350
|
-
const
|
|
351
|
-
const recheckRow = await this.recheckSubstrate(task,
|
|
464
|
+
const fetcher = this.getFetcher();
|
|
465
|
+
const publishedPoolRow = await this.loadPublishedPoolRow(task, ctx.task, fetcher);
|
|
466
|
+
const recheckRow = publishedPoolRow ?? await this.recheckSubstrate(task, fetcher, () => this.loadPoolForRecheck(stateDir), stateDir);
|
|
352
467
|
// ── End substrate recheck ─────────────────────────────────────────────────
|
|
353
|
-
const fetcher = this.deps.fetcher ?? new HttpHfFetcher();
|
|
354
468
|
const runner = this.getRunner(state.upstreamRepoDir);
|
|
355
469
|
const evaluator = new SweRebenchV2Evaluator({ fetcher, runner });
|
|
356
470
|
let graded;
|
|
357
471
|
try {
|
|
358
|
-
graded = await evaluator.grade({ task, solutionPayload });
|
|
472
|
+
graded = await evaluator.grade({ task, solutionPayload, row: recheckRow });
|
|
359
473
|
}
|
|
360
474
|
catch (err) {
|
|
361
475
|
if (err instanceof EvalCouldNotGradeError) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness.js","sourceRoot":"","sources":["../../../../src/harnesses/impls/swe-rebench-v2-evaluator/harness.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"harness.js","sourceRoot":"","sources":["../../../../src/harnesses/impls/swe-rebench-v2-evaluator/harness.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,19 +19,102 @@ export interface HttpHfFetcherOptions {
|
|
|
19
19
|
/** Fetch implementation. Defaults to global fetch (allows test injection). */
|
|
20
20
|
fetchImpl?: typeof fetch;
|
|
21
21
|
/**
|
|
22
|
-
* Per-page retry backoff schedule (ms) for transient HTTP 5xx
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
22
|
+
* Per-page retry backoff schedule (ms) for transient HTTP 408/429/5xx
|
|
23
|
+
* responses. Default: {@link DEFAULT_RETRY_BACKOFF_MS}
|
|
24
|
+
* (`[1000, 2000, 4000, 8000]` — see issue #578 for the rationale; HF's
|
|
25
|
+
* 429 wave was longer-lived than the prior 200/800/3200 schedule could
|
|
26
|
+
* clear). Each entry is the delay before the Nth retry; an empty array
|
|
27
|
+
* disables retries. Non-retryable 4xx (e.g. 404) is not retried.
|
|
26
28
|
*/
|
|
27
29
|
retryBackoffMs?: number[];
|
|
30
|
+
/** Minimum spacing between HF HTTP requests. Defaults to {@link DEFAULT_MIN_REQUEST_INTERVAL_MS}. */
|
|
31
|
+
minRequestIntervalMs?: number;
|
|
32
|
+
/** Sleep implementation. Defaults to the shared tx-retry sleep (allows test injection). */
|
|
33
|
+
sleep?: (ms: number) => Promise<void>;
|
|
34
|
+
/** Shared request limiter. Defaults to the module-level HF limiter. */
|
|
35
|
+
limiter?: HfRequestLimiter;
|
|
36
|
+
/** Random source for jittered backoff. Defaults to `Math.random` (test injection). */
|
|
37
|
+
random?: () => number;
|
|
28
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Per-attempt backoff schedule for HF datasets-server fetches. Four retries
|
|
41
|
+
* (5 total attempts), jittered ±33%, max worst-case ≈15s extra latency per
|
|
42
|
+
* failing instance. Tuned for HF's 429 envelope per issue #578.
|
|
43
|
+
*/
|
|
44
|
+
export declare const DEFAULT_RETRY_BACKOFF_MS: readonly number[];
|
|
45
|
+
/**
|
|
46
|
+
* Process-wide floor on the spacing between HF HTTP requests. Raised from
|
|
47
|
+
* 250ms after issue #578 — 250ms × 4 retries was insufficient to clear the
|
|
48
|
+
* 429 wave when validating ~700 instances in one pass. This is the AC3
|
|
49
|
+
* concurrency-cap surface: the shared limiter serialises requests at this
|
|
50
|
+
* granularity across the whole process. Tune via {@link HttpHfFetcherOptions.minRequestIntervalMs}
|
|
51
|
+
* or {@link FetchHfWithRetryOptions.minRequestIntervalMs}; see the design note
|
|
52
|
+
* at `docs/superpowers/specs/2026-05-26-issue-578-hf-429-retry-design.md`.
|
|
53
|
+
*/
|
|
54
|
+
export declare const DEFAULT_MIN_REQUEST_INTERVAL_MS = 500;
|
|
55
|
+
export interface HfRequestLimiter {
|
|
56
|
+
schedule<T>(fn: () => Promise<T>, opts: {
|
|
57
|
+
minRequestIntervalMs: number;
|
|
58
|
+
sleep: (ms: number) => Promise<void>;
|
|
59
|
+
}): Promise<T>;
|
|
60
|
+
}
|
|
61
|
+
declare class SharedHfRequestLimiter implements HfRequestLimiter {
|
|
62
|
+
private tail;
|
|
63
|
+
private lastStartedAt;
|
|
64
|
+
schedule<T>(fn: () => Promise<T>, opts: {
|
|
65
|
+
minRequestIntervalMs: number;
|
|
66
|
+
sleep: (ms: number) => Promise<void>;
|
|
67
|
+
}): Promise<T>;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Module-level shared request limiter. Serialises HF requests across the
|
|
71
|
+
* whole process (every callsite that uses {@link fetchHfWithRetry} routes
|
|
72
|
+
* through this instance by default). AC3 from issue #578: this plus the
|
|
73
|
+
* raised {@link DEFAULT_MIN_REQUEST_INTERVAL_MS} *is* the concurrency-cap
|
|
74
|
+
* knob — no separate parallel-request cap is exposed.
|
|
75
|
+
*/
|
|
76
|
+
export declare const sharedHfRequestLimiter: SharedHfRequestLimiter;
|
|
77
|
+
export interface FetchHfWithRetryOptions {
|
|
78
|
+
/** Fetch implementation. Defaults to `globalThis.fetch` bound to `globalThis`. */
|
|
79
|
+
fetchImpl?: typeof fetch;
|
|
80
|
+
/** Per-attempt backoff schedule (ms). Defaults to {@link DEFAULT_RETRY_BACKOFF_MS}. */
|
|
81
|
+
retryBackoffMs?: readonly number[];
|
|
82
|
+
/** Minimum spacing between requests. Defaults to {@link DEFAULT_MIN_REQUEST_INTERVAL_MS}. */
|
|
83
|
+
minRequestIntervalMs?: number;
|
|
84
|
+
/** Sleep implementation. Defaults to the shared tx-retry sleep. */
|
|
85
|
+
sleep?: (ms: number) => Promise<void>;
|
|
86
|
+
/** Shared request limiter. Defaults to {@link sharedHfRequestLimiter}. */
|
|
87
|
+
limiter?: HfRequestLimiter;
|
|
88
|
+
/** Random source for jittered backoff. Defaults to `Math.random` (test injection). */
|
|
89
|
+
random?: () => number;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Shared retry helper for HF datasets-server requests.
|
|
93
|
+
*
|
|
94
|
+
* - Retries on `408 | 429 | 5xx` per {@link isRetryableStatus}.
|
|
95
|
+
* - Sleeps the smaller of the `Retry-After` header (when present) or a
|
|
96
|
+
* jittered backoff drawn from `retryBackoffMs`.
|
|
97
|
+
* - Routes every attempt through the shared {@link HfRequestLimiter} so the
|
|
98
|
+
* process-wide min-interval is honoured.
|
|
99
|
+
* - On retry exhaustion against a non-OK response, throws
|
|
100
|
+
* `Object.assign(new Error('HF returned <status>'), { httpStatus })` so
|
|
101
|
+
* callers can branch on the status code (issue #578: the validated-pool
|
|
102
|
+
* pipeline keys off `httpStatus === 429` to classify transient failures).
|
|
103
|
+
*
|
|
104
|
+
* Non-retryable responses (e.g. 404) are returned to the caller untouched —
|
|
105
|
+
* caller decides how to fail.
|
|
106
|
+
*/
|
|
107
|
+
export declare function fetchHfWithRetry(url: string, opts?: FetchHfWithRetryOptions): Promise<Response>;
|
|
29
108
|
export declare class HttpHfFetcher implements HfFetcher {
|
|
30
109
|
private readonly baseUrl;
|
|
31
110
|
private readonly pageSize;
|
|
32
111
|
private readonly maxRows;
|
|
33
112
|
private readonly fetchImpl;
|
|
34
113
|
private readonly retryBackoffMs;
|
|
114
|
+
private readonly minRequestIntervalMs;
|
|
115
|
+
private readonly sleep;
|
|
116
|
+
private readonly limiter;
|
|
117
|
+
private readonly random;
|
|
35
118
|
constructor(opts?: HttpHfFetcherOptions);
|
|
36
119
|
private fetchWithRetry;
|
|
37
120
|
fetchTaskRow(args: {
|
|
@@ -40,3 +123,4 @@ export declare class HttpHfFetcher implements HfFetcher {
|
|
|
40
123
|
instance_id: string;
|
|
41
124
|
}): Promise<HfRow>;
|
|
42
125
|
}
|
|
126
|
+
export {};
|
|
@@ -8,41 +8,132 @@
|
|
|
8
8
|
* cap (default 1000 rows = 10 pages). The harness fails loud rather than
|
|
9
9
|
* silently grading against a missing instance.
|
|
10
10
|
*/
|
|
11
|
+
import { sleep as defaultSleep } from '../../../tx-retry.js';
|
|
11
12
|
const DEFAULT_BASE_URL = 'https://datasets-server.huggingface.co/rows';
|
|
12
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Per-attempt backoff schedule for HF datasets-server fetches. Four retries
|
|
15
|
+
* (5 total attempts), jittered ±33%, max worst-case ≈15s extra latency per
|
|
16
|
+
* failing instance. Tuned for HF's 429 envelope per issue #578.
|
|
17
|
+
*/
|
|
18
|
+
export const DEFAULT_RETRY_BACKOFF_MS = [1000, 2000, 4000, 8000];
|
|
19
|
+
/**
|
|
20
|
+
* Process-wide floor on the spacing between HF HTTP requests. Raised from
|
|
21
|
+
* 250ms after issue #578 — 250ms × 4 retries was insufficient to clear the
|
|
22
|
+
* 429 wave when validating ~700 instances in one pass. This is the AC3
|
|
23
|
+
* concurrency-cap surface: the shared limiter serialises requests at this
|
|
24
|
+
* granularity across the whole process. Tune via {@link HttpHfFetcherOptions.minRequestIntervalMs}
|
|
25
|
+
* or {@link FetchHfWithRetryOptions.minRequestIntervalMs}; see the design note
|
|
26
|
+
* at `docs/superpowers/specs/2026-05-26-issue-578-hf-429-retry-design.md`.
|
|
27
|
+
*/
|
|
28
|
+
export const DEFAULT_MIN_REQUEST_INTERVAL_MS = 500;
|
|
29
|
+
const JITTER_FACTOR = 0.33; // ±33% symmetric uniform jitter
|
|
30
|
+
class SharedHfRequestLimiter {
|
|
31
|
+
tail = Promise.resolve();
|
|
32
|
+
lastStartedAt = 0;
|
|
33
|
+
schedule(fn, opts) {
|
|
34
|
+
const run = this.tail.catch(() => undefined).then(async () => {
|
|
35
|
+
const elapsed = Date.now() - this.lastStartedAt;
|
|
36
|
+
const waitMs = Math.max(0, opts.minRequestIntervalMs - elapsed);
|
|
37
|
+
if (waitMs > 0) {
|
|
38
|
+
await opts.sleep(waitMs);
|
|
39
|
+
}
|
|
40
|
+
this.lastStartedAt = Date.now();
|
|
41
|
+
return fn();
|
|
42
|
+
});
|
|
43
|
+
this.tail = run.then(() => undefined, () => undefined);
|
|
44
|
+
return run;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Module-level shared request limiter. Serialises HF requests across the
|
|
49
|
+
* whole process (every callsite that uses {@link fetchHfWithRetry} routes
|
|
50
|
+
* through this instance by default). AC3 from issue #578: this plus the
|
|
51
|
+
* raised {@link DEFAULT_MIN_REQUEST_INTERVAL_MS} *is* the concurrency-cap
|
|
52
|
+
* knob — no separate parallel-request cap is exposed.
|
|
53
|
+
*/
|
|
54
|
+
export const sharedHfRequestLimiter = new SharedHfRequestLimiter();
|
|
55
|
+
/**
|
|
56
|
+
* Shared retry helper for HF datasets-server requests.
|
|
57
|
+
*
|
|
58
|
+
* - Retries on `408 | 429 | 5xx` per {@link isRetryableStatus}.
|
|
59
|
+
* - Sleeps the smaller of the `Retry-After` header (when present) or a
|
|
60
|
+
* jittered backoff drawn from `retryBackoffMs`.
|
|
61
|
+
* - Routes every attempt through the shared {@link HfRequestLimiter} so the
|
|
62
|
+
* process-wide min-interval is honoured.
|
|
63
|
+
* - On retry exhaustion against a non-OK response, throws
|
|
64
|
+
* `Object.assign(new Error('HF returned <status>'), { httpStatus })` so
|
|
65
|
+
* callers can branch on the status code (issue #578: the validated-pool
|
|
66
|
+
* pipeline keys off `httpStatus === 429` to classify transient failures).
|
|
67
|
+
*
|
|
68
|
+
* Non-retryable responses (e.g. 404) are returned to the caller untouched —
|
|
69
|
+
* caller decides how to fail.
|
|
70
|
+
*/
|
|
71
|
+
export async function fetchHfWithRetry(url, opts = {}) {
|
|
72
|
+
const fetchImpl = opts.fetchImpl ?? fetch.bind(globalThis);
|
|
73
|
+
const retryBackoffMs = opts.retryBackoffMs ?? DEFAULT_RETRY_BACKOFF_MS;
|
|
74
|
+
const minRequestIntervalMs = opts.minRequestIntervalMs ?? DEFAULT_MIN_REQUEST_INTERVAL_MS;
|
|
75
|
+
const sleep = opts.sleep ?? defaultSleep;
|
|
76
|
+
const limiter = opts.limiter ?? sharedHfRequestLimiter;
|
|
77
|
+
const random = opts.random ?? Math.random;
|
|
78
|
+
for (let attempt = 0; attempt <= retryBackoffMs.length; attempt += 1) {
|
|
79
|
+
let retryAfterMs;
|
|
80
|
+
try {
|
|
81
|
+
const res = await limiter.schedule(() => fetchImpl(url), { minRequestIntervalMs, sleep });
|
|
82
|
+
if (res.ok || !isRetryableStatus(res.status))
|
|
83
|
+
return res;
|
|
84
|
+
if (attempt >= retryBackoffMs.length) {
|
|
85
|
+
throw Object.assign(new Error(`HF returned ${res.status}`), { httpStatus: res.status });
|
|
86
|
+
}
|
|
87
|
+
retryAfterMs = retryAfterHeaderMs(res.headers.get('Retry-After'));
|
|
88
|
+
}
|
|
89
|
+
catch (err) {
|
|
90
|
+
// On the final attempt, surface the error (network failure or the
|
|
91
|
+
// synthetic `httpStatus`-tagged throw above). Otherwise fall through
|
|
92
|
+
// to the backoff sleep and retry.
|
|
93
|
+
if (attempt >= retryBackoffMs.length)
|
|
94
|
+
throw err;
|
|
95
|
+
}
|
|
96
|
+
const base = retryBackoffMs[attempt] ?? 0;
|
|
97
|
+
await sleep(retryAfterMs ?? withJitter(base, random));
|
|
98
|
+
}
|
|
99
|
+
// Unreachable: the loop returns or throws on every iteration. Kept to
|
|
100
|
+
// satisfy TS control-flow analysis.
|
|
101
|
+
throw new Error('HF fetch failed after retries');
|
|
102
|
+
}
|
|
103
|
+
function withJitter(baseMs, random) {
|
|
104
|
+
const jitter = (random() * 2 - 1) * JITTER_FACTOR;
|
|
105
|
+
return Math.round(baseMs * (1 + jitter));
|
|
106
|
+
}
|
|
13
107
|
export class HttpHfFetcher {
|
|
14
108
|
baseUrl;
|
|
15
109
|
pageSize;
|
|
16
110
|
maxRows;
|
|
17
111
|
fetchImpl;
|
|
18
112
|
retryBackoffMs;
|
|
113
|
+
minRequestIntervalMs;
|
|
114
|
+
sleep;
|
|
115
|
+
limiter;
|
|
116
|
+
random;
|
|
19
117
|
constructor(opts = {}) {
|
|
20
118
|
this.baseUrl = opts.baseUrl ?? DEFAULT_BASE_URL;
|
|
21
119
|
this.pageSize = Math.min(opts.pageSize ?? 100, 100);
|
|
22
120
|
this.maxRows = opts.maxRows ?? 1000;
|
|
23
121
|
this.fetchImpl = opts.fetchImpl ?? fetch.bind(globalThis);
|
|
24
122
|
this.retryBackoffMs = opts.retryBackoffMs ?? DEFAULT_RETRY_BACKOFF_MS;
|
|
123
|
+
this.minRequestIntervalMs = opts.minRequestIntervalMs ?? DEFAULT_MIN_REQUEST_INTERVAL_MS;
|
|
124
|
+
this.sleep = opts.sleep ?? defaultSleep;
|
|
125
|
+
this.limiter = opts.limiter ?? sharedHfRequestLimiter;
|
|
126
|
+
this.random = opts.random ?? Math.random;
|
|
25
127
|
}
|
|
26
128
|
async fetchWithRetry(url) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
catch (err) {
|
|
37
|
-
lastErr = err;
|
|
38
|
-
}
|
|
39
|
-
if (attempt < this.retryBackoffMs.length) {
|
|
40
|
-
await new Promise((r) => setTimeout(r, this.retryBackoffMs[attempt]));
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
if (lastErr instanceof Error)
|
|
44
|
-
throw lastErr;
|
|
45
|
-
throw new Error('HF fetch failed after retries');
|
|
129
|
+
return fetchHfWithRetry(url, {
|
|
130
|
+
fetchImpl: this.fetchImpl,
|
|
131
|
+
retryBackoffMs: this.retryBackoffMs,
|
|
132
|
+
minRequestIntervalMs: this.minRequestIntervalMs,
|
|
133
|
+
sleep: this.sleep,
|
|
134
|
+
limiter: this.limiter,
|
|
135
|
+
random: this.random,
|
|
136
|
+
});
|
|
46
137
|
}
|
|
47
138
|
async fetchTaskRow(args) {
|
|
48
139
|
let offset = 0;
|
|
@@ -53,9 +144,23 @@ export class HttpHfFetcher {
|
|
|
53
144
|
url.searchParams.set('split', args.hf_split);
|
|
54
145
|
url.searchParams.set('offset', String(offset));
|
|
55
146
|
url.searchParams.set('length', String(this.pageSize));
|
|
56
|
-
|
|
147
|
+
let res;
|
|
148
|
+
try {
|
|
149
|
+
res = await this.fetchWithRetry(url.toString());
|
|
150
|
+
}
|
|
151
|
+
catch (err) {
|
|
152
|
+
// fetchHfWithRetry surfaces `httpStatus` on exhausted-retry errors.
|
|
153
|
+
// Re-shape the message to the dataset/split form callers expect, but
|
|
154
|
+
// preserve the `httpStatus` property so the validated-pool catch
|
|
155
|
+
// block can branch on it (issue #578).
|
|
156
|
+
const httpStatus = err?.httpStatus;
|
|
157
|
+
if (typeof httpStatus === 'number') {
|
|
158
|
+
throw Object.assign(new Error(`HF datasets-server returned ${httpStatus} for ${args.hf_dataset}/${args.hf_split}`), { httpStatus });
|
|
159
|
+
}
|
|
160
|
+
throw err;
|
|
161
|
+
}
|
|
57
162
|
if (!res.ok) {
|
|
58
|
-
throw new Error(`HF datasets-server returned ${res.status} for ${args.hf_dataset}/${args.hf_split}`);
|
|
163
|
+
throw Object.assign(new Error(`HF datasets-server returned ${res.status} for ${args.hf_dataset}/${args.hf_split}`), { httpStatus: res.status });
|
|
59
164
|
}
|
|
60
165
|
const body = (await res.json());
|
|
61
166
|
const rows = (body.rows ?? []).map((r) => r.row ?? {});
|
|
@@ -117,4 +222,20 @@ function arrayOfStrings(v) {
|
|
|
117
222
|
return [];
|
|
118
223
|
return v.filter((s) => typeof s === 'string');
|
|
119
224
|
}
|
|
225
|
+
function isRetryableStatus(status) {
|
|
226
|
+
return status === 408 || status === 429 || status >= 500;
|
|
227
|
+
}
|
|
228
|
+
function retryAfterHeaderMs(value) {
|
|
229
|
+
if (!value)
|
|
230
|
+
return undefined;
|
|
231
|
+
const seconds = Number(value);
|
|
232
|
+
if (Number.isFinite(seconds) && seconds >= 0) {
|
|
233
|
+
return seconds * 1000;
|
|
234
|
+
}
|
|
235
|
+
const dateMs = Date.parse(value);
|
|
236
|
+
if (!Number.isNaN(dateMs)) {
|
|
237
|
+
return Math.max(0, dateMs - Date.now());
|
|
238
|
+
}
|
|
239
|
+
return undefined;
|
|
240
|
+
}
|
|
120
241
|
//# sourceMappingURL=hf-fetcher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hf-fetcher.js","sourceRoot":"","sources":["../../../../src/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"hf-fetcher.js","sourceRoot":"","sources":["../../../../src/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,11 +43,17 @@ export interface EvalRunner {
|
|
|
43
43
|
failed: string[];
|
|
44
44
|
log: string;
|
|
45
45
|
exitCode: number;
|
|
46
|
+
/**
|
|
47
|
+
* Digest of the eval image observed while it was still present locally.
|
|
48
|
+
* Production runners may prune images before callers can inspect Docker.
|
|
49
|
+
*/
|
|
50
|
+
imageDigest?: string;
|
|
46
51
|
}>;
|
|
47
52
|
}
|
|
48
53
|
export interface GradeArgs {
|
|
49
54
|
task: SweRebenchV2Task;
|
|
50
55
|
solutionPayload: SweRebenchV2SolutionPayload;
|
|
56
|
+
row?: HfRow;
|
|
51
57
|
}
|
|
52
58
|
export declare class SweRebenchV2Evaluator {
|
|
53
59
|
private readonly deps;
|
|
@@ -10,7 +10,7 @@ export class SweRebenchV2Evaluator {
|
|
|
10
10
|
this.deps = deps;
|
|
11
11
|
}
|
|
12
12
|
async grade(args) {
|
|
13
|
-
const row = await this.deps.fetcher.fetchTaskRow({
|
|
13
|
+
const row = args.row ?? await this.deps.fetcher.fetchTaskRow({
|
|
14
14
|
hf_dataset: args.task.hf_dataset,
|
|
15
15
|
hf_split: args.task.hf_split,
|
|
16
16
|
instance_id: args.task.instance_id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/harnesses/impls/swe-rebench-v2-evaluator/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/harnesses/impls/swe-rebench-v2-evaluator/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAsDH,MAAM,OAAO,qBAAqB;IAEb;IADnB,YACmB,IAAgD;QAAhD,SAAI,GAAJ,IAAI,CAA4C;IAChE,CAAC;IAEJ,KAAK,CAAC,KAAK,CAAC,IAAe;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;YAC3D,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;YAChC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;SACnC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,WAAW,qBAAqB,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAC5C,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK,EAAE,GAAG,CAAC,UAAU;YACrB,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK;YACjC,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,OAAO;YACnC,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,QAAQ;YACrC,UAAU,EAAE,GAAG,CAAC,cAAc,CAAC,UAAU;YACzC,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,YAAY,EAAE,GAAG,CAAC,YAAY;SAC/B,CAAC,CAAC;QACH,OAAO;YACL,aAAa,EAAE,2BAA2B;YAC1C,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClC,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,kBAAkB,EAAE,CAAC,EAAG,2CAA2C;YACnE,QAAQ,EAAE,MAAM,CAAC,GAAG;SACrB,CAAC;IACJ,CAAC;CACF"}
|