@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
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Env-gated stub harness for the T2.2 producer/evaluator gate.
|
|
3
|
+
*
|
|
4
|
+
* When JINN_HARNESS_STUB_INSTANCE is set, the canned patch at
|
|
5
|
+
* <fixturesDir>/<instanceMatcher>.patch is returned as a SWE-rebench v2
|
|
6
|
+
* restoration solution. Never calls an LLM; never accepts tasks whose
|
|
7
|
+
* spec.instance_id differs from the configured matcher.
|
|
8
|
+
*
|
|
9
|
+
* PRODUCTION SAFETY — two-env-var requirement.
|
|
10
|
+
* This is a *fake* harness: it produces canned, non-genuine work. If it ever
|
|
11
|
+
* entered a real operator run it would generate fraudulent on-chain activity.
|
|
12
|
+
* To make accidental activation impossible, the factory requires BOTH:
|
|
13
|
+
* JINN_HARNESS_STUB_INSTANCE — instance ID this stub responds to
|
|
14
|
+
* JINN_TEST_MODE === '1' — explicit test-mode sentinel
|
|
15
|
+
* If JINN_HARNESS_STUB_INSTANCE is set but JINN_TEST_MODE is not '1', the
|
|
16
|
+
* factory THROWS rather than silently registering the stub. A single stray
|
|
17
|
+
* exported env var in an operator's shell can no longer activate it.
|
|
18
|
+
*
|
|
19
|
+
* Activated by environment variables:
|
|
20
|
+
* JINN_HARNESS_STUB_INSTANCE — instance ID this stub responds to (required to activate)
|
|
21
|
+
* JINN_TEST_MODE — must equal '1' (defense-in-depth; required to activate)
|
|
22
|
+
* JINN_HARNESS_STUB_FIXTURES_DIR — dir containing <instanceMatcher>.patch files
|
|
23
|
+
* (default: client/test/release/tier-2/fixtures)
|
|
24
|
+
*/
|
|
25
|
+
import type { Harness, HarnessContext, ReadyStatus, Solution } from '../types.js';
|
|
26
|
+
export interface StubHarnessConfig {
|
|
27
|
+
/** Directory containing <instanceMatcher>.patch files. */
|
|
28
|
+
fixturesDir: string;
|
|
29
|
+
/** The instance ID this stub will accept. Tasks with other instance IDs are rejected. */
|
|
30
|
+
instanceMatcher: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* A zero-LLM Harness that returns a canned patch for a specific SWE-rebench v2
|
|
34
|
+
* instance. Intended exclusively for T2.2 release-gate automation.
|
|
35
|
+
*/
|
|
36
|
+
export declare class StubHarness implements Harness {
|
|
37
|
+
readonly name = "harness:stub";
|
|
38
|
+
readonly version = "0.1.0-stub";
|
|
39
|
+
private readonly fixturesDir;
|
|
40
|
+
private readonly instanceMatcher;
|
|
41
|
+
constructor(config: StubHarnessConfig);
|
|
42
|
+
supports(ctx: {
|
|
43
|
+
solverType: string;
|
|
44
|
+
role?: 'restoration' | 'evaluation';
|
|
45
|
+
}): boolean;
|
|
46
|
+
isReady(): Promise<ReadyStatus>;
|
|
47
|
+
run(ctx: HarnessContext): Promise<Solution>;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Factory that reads JINN_HARNESS_STUB_INSTANCE and JINN_HARNESS_STUB_FIXTURES_DIR
|
|
51
|
+
* from the environment and returns a configured StubHarness, or null if the env
|
|
52
|
+
* var is absent (allowing the registry to skip registration silently).
|
|
53
|
+
*
|
|
54
|
+
* Defense-in-depth: if JINN_HARNESS_STUB_INSTANCE is set but JINN_TEST_MODE is
|
|
55
|
+
* not exactly '1', this THROWS rather than returning a harness — a real
|
|
56
|
+
* operator run must never silently pick up the fake stub harness.
|
|
57
|
+
*/
|
|
58
|
+
export declare function maybeCreateStubHarnessFromEnv(): StubHarness | null;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Env-gated stub harness for the T2.2 producer/evaluator gate.
|
|
3
|
+
*
|
|
4
|
+
* When JINN_HARNESS_STUB_INSTANCE is set, the canned patch at
|
|
5
|
+
* <fixturesDir>/<instanceMatcher>.patch is returned as a SWE-rebench v2
|
|
6
|
+
* restoration solution. Never calls an LLM; never accepts tasks whose
|
|
7
|
+
* spec.instance_id differs from the configured matcher.
|
|
8
|
+
*
|
|
9
|
+
* PRODUCTION SAFETY — two-env-var requirement.
|
|
10
|
+
* This is a *fake* harness: it produces canned, non-genuine work. If it ever
|
|
11
|
+
* entered a real operator run it would generate fraudulent on-chain activity.
|
|
12
|
+
* To make accidental activation impossible, the factory requires BOTH:
|
|
13
|
+
* JINN_HARNESS_STUB_INSTANCE — instance ID this stub responds to
|
|
14
|
+
* JINN_TEST_MODE === '1' — explicit test-mode sentinel
|
|
15
|
+
* If JINN_HARNESS_STUB_INSTANCE is set but JINN_TEST_MODE is not '1', the
|
|
16
|
+
* factory THROWS rather than silently registering the stub. A single stray
|
|
17
|
+
* exported env var in an operator's shell can no longer activate it.
|
|
18
|
+
*
|
|
19
|
+
* Activated by environment variables:
|
|
20
|
+
* JINN_HARNESS_STUB_INSTANCE — instance ID this stub responds to (required to activate)
|
|
21
|
+
* JINN_TEST_MODE — must equal '1' (defense-in-depth; required to activate)
|
|
22
|
+
* JINN_HARNESS_STUB_FIXTURES_DIR — dir containing <instanceMatcher>.patch files
|
|
23
|
+
* (default: client/test/release/tier-2/fixtures)
|
|
24
|
+
*/
|
|
25
|
+
import * as fs from 'node:fs/promises';
|
|
26
|
+
import * as path from 'node:path';
|
|
27
|
+
/**
|
|
28
|
+
* A zero-LLM Harness that returns a canned patch for a specific SWE-rebench v2
|
|
29
|
+
* instance. Intended exclusively for T2.2 release-gate automation.
|
|
30
|
+
*/
|
|
31
|
+
export class StubHarness {
|
|
32
|
+
name = 'harness:stub';
|
|
33
|
+
version = '0.1.0-stub';
|
|
34
|
+
fixturesDir;
|
|
35
|
+
instanceMatcher;
|
|
36
|
+
constructor(config) {
|
|
37
|
+
this.fixturesDir = config.fixturesDir;
|
|
38
|
+
this.instanceMatcher = config.instanceMatcher;
|
|
39
|
+
}
|
|
40
|
+
supports(ctx) {
|
|
41
|
+
if (ctx.role === 'evaluation')
|
|
42
|
+
return false;
|
|
43
|
+
return ctx.solverType === 'swe-rebench-v2.v1';
|
|
44
|
+
}
|
|
45
|
+
async isReady() {
|
|
46
|
+
return { ready: true };
|
|
47
|
+
}
|
|
48
|
+
async run(ctx) {
|
|
49
|
+
const taskInstanceId = ctx.task.spec?.['instance_id'];
|
|
50
|
+
if (taskInstanceId !== this.instanceMatcher) {
|
|
51
|
+
throw new Error(`stub harness: task.spec.instance_id=${String(taskInstanceId)} does not match configured instanceMatcher=${this.instanceMatcher}`);
|
|
52
|
+
}
|
|
53
|
+
const patchPath = path.join(this.fixturesDir, `${this.instanceMatcher}.patch`);
|
|
54
|
+
const patch = await fs.readFile(patchPath, 'utf-8');
|
|
55
|
+
return {
|
|
56
|
+
venueRef: { name: this.name },
|
|
57
|
+
gating: {},
|
|
58
|
+
solutionPayload: {
|
|
59
|
+
schemaVersion: 'swe-rebench-v2-solution.v1',
|
|
60
|
+
patch,
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Factory that reads JINN_HARNESS_STUB_INSTANCE and JINN_HARNESS_STUB_FIXTURES_DIR
|
|
67
|
+
* from the environment and returns a configured StubHarness, or null if the env
|
|
68
|
+
* var is absent (allowing the registry to skip registration silently).
|
|
69
|
+
*
|
|
70
|
+
* Defense-in-depth: if JINN_HARNESS_STUB_INSTANCE is set but JINN_TEST_MODE is
|
|
71
|
+
* not exactly '1', this THROWS rather than returning a harness — a real
|
|
72
|
+
* operator run must never silently pick up the fake stub harness.
|
|
73
|
+
*/
|
|
74
|
+
export function maybeCreateStubHarnessFromEnv() {
|
|
75
|
+
const instanceMatcher = process.env['JINN_HARNESS_STUB_INSTANCE'];
|
|
76
|
+
if (!instanceMatcher)
|
|
77
|
+
return null;
|
|
78
|
+
if (process.env['JINN_TEST_MODE'] !== '1') {
|
|
79
|
+
throw new Error('stub harness must never activate in a real operator run: ' +
|
|
80
|
+
'JINN_HARNESS_STUB_INSTANCE is set but JINN_TEST_MODE is not "1". ' +
|
|
81
|
+
'The stub harness produces canned, non-genuine work and would generate ' +
|
|
82
|
+
'fraudulent on-chain activity. Set JINN_TEST_MODE=1 if this is a Tier 2 ' +
|
|
83
|
+
'test; otherwise unset JINN_HARNESS_STUB_INSTANCE.');
|
|
84
|
+
}
|
|
85
|
+
const fixturesDir = process.env['JINN_HARNESS_STUB_FIXTURES_DIR'] ??
|
|
86
|
+
path.resolve(process.cwd(), 'test', 'release', 'tier-2', 'fixtures');
|
|
87
|
+
return new StubHarness({ instanceMatcher, fixturesDir });
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=stub.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stub.js","sourceRoot":"","sources":["../../../src/harnesses/impls/stub.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAUlC;;;GAGG;AACH,MAAM,OAAO,WAAW;IACb,IAAI,GAAG,cAAc,CAAC;IACtB,OAAO,GAAG,YAAY,CAAC;IAEf,WAAW,CAAS;IACpB,eAAe,CAAS;IAEzC,YAAY,MAAyB;QACnC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;IAChD,CAAC;IAED,QAAQ,CAAC,GAAgE;QACvE,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY;YAAE,OAAO,KAAK,CAAC;QAC5C,OAAO,GAAG,CAAC,UAAU,KAAK,mBAAmB,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAmB;QAC3B,MAAM,cAAc,GAAI,GAAG,CAAC,IAAI,CAAC,IAA4C,EAAE,CAAC,aAAa,CAAC,CAAC;QAC/F,IAAI,cAAc,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CACb,uCAAuC,MAAM,CAAC,cAAc,CAAC,8CAA8C,IAAI,CAAC,eAAe,EAAE,CAClI,CAAC;QACJ,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,eAAe,QAAQ,CAAC,CAAC;QAC/E,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACpD,OAAO;YACL,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;YAC7B,MAAM,EAAE,EAAE;YACV,eAAe,EAAE;gBACf,aAAa,EAAE,4BAA4B;gBAC3C,KAAK;aACN;SACF,CAAC;IACJ,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,6BAA6B;IAC3C,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAClE,IAAI,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,GAAG,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CACb,2DAA2D;YACzD,mEAAmE;YACnE,wEAAwE;YACxE,yEAAyE;YACzE,mDAAmD,CACtD,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GACf,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACvE,OAAO,IAAI,WAAW,CAAC,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -37,6 +37,36 @@ export declare class EvalCouldNotGradeError extends Error {
|
|
|
37
37
|
readonly logExcerpt: string;
|
|
38
38
|
constructor(reason: string, logExcerpt?: string);
|
|
39
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Thrown by `runEval` when the disk cannot be brought above the eval
|
|
42
|
+
* disk-floor even after a broad prune. A clean abort — the caller stops
|
|
43
|
+
* gracefully; no instance is graded, nothing is marked. Distinct from
|
|
44
|
+
* `EvalCouldNotGradeError`: this is operator-environment, retryable, and must
|
|
45
|
+
* never be turned into a `scorable: false` admission (#476).
|
|
46
|
+
*/
|
|
47
|
+
export declare class InsufficientDiskError extends Error {
|
|
48
|
+
readonly freeBytes: number;
|
|
49
|
+
readonly floorBytes: number;
|
|
50
|
+
constructor(freeBytes: number, floorBytes: number);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Default free-disk floor required before an eval round: 20 GB. A single
|
|
54
|
+
* SWE-rebench eval image was observed to peak transiently at ~12.6 GB, so the
|
|
55
|
+
* floor clears the worst observed instance with real margin. Override with
|
|
56
|
+
* `JINN_EVAL_DISK_FLOOR_GB` on constrained hosts.
|
|
57
|
+
*/
|
|
58
|
+
export declare const DEFAULT_EVAL_DISK_FLOOR_BYTES = 20000000000;
|
|
59
|
+
/** Resolve the disk floor: explicit option > `JINN_EVAL_DISK_FLOOR_GB` env > default. */
|
|
60
|
+
export declare function resolveDiskFloorBytes(opt: number | undefined): number;
|
|
61
|
+
/**
|
|
62
|
+
* Default wall-clock limit for one upstream eval.py invocation: 2 hours. Some
|
|
63
|
+
* linux/amd64 SWE-rebench images can wedge indefinitely under Apple Silicon
|
|
64
|
+
* emulation after a native crash, so the subprocess gets a hard guardrail.
|
|
65
|
+
* Override with `JINN_SWE_REBENCH_EVAL_TIMEOUT_MS`; set `0` to disable.
|
|
66
|
+
*/
|
|
67
|
+
export declare const DEFAULT_EVAL_TIMEOUT_MS: number;
|
|
68
|
+
/** Resolve the eval timeout: explicit option > env > default. */
|
|
69
|
+
export declare function resolveEvalTimeoutMs(opt: number | undefined): number;
|
|
40
70
|
export interface PythonEvalRunnerOptions {
|
|
41
71
|
/** Path to the cloned SWE-rebench-V2 repo (cached locally). */
|
|
42
72
|
upstreamRepoDir: string;
|
|
@@ -45,66 +75,55 @@ export interface PythonEvalRunnerOptions {
|
|
|
45
75
|
/** Workers for parallel eval (defaults to 1; we run one task at a time). */
|
|
46
76
|
maxWorkers?: number;
|
|
47
77
|
/**
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
* The leaderboard pool has hundreds of unique instances at ~3 GB/image, so
|
|
54
|
-
* an unbounded cache fills operator disks in days (jinn-mono-uy6v.11).
|
|
78
|
+
* Removes a completed round's entire Docker footprint — the round's image,
|
|
79
|
+
* stopped containers, and build cache — so eval disk usage never
|
|
80
|
+
* accumulates across instances (#476). Called once per `runEval`, in a
|
|
81
|
+
* `finally`, even when the eval threw.
|
|
55
82
|
*
|
|
56
|
-
*
|
|
57
|
-
* `
|
|
83
|
+
* Defaults to {@link defaultPruneRound}. Implementations MUST NOT throw —
|
|
84
|
+
* `runEval` guards defensively, but cleanup failures should be swallowed
|
|
85
|
+
* (logged elsewhere if desired) so a flaky `docker` never escapes `runEval`.
|
|
58
86
|
*/
|
|
59
|
-
|
|
87
|
+
pruneRound?: (image: string) => Promise<void>;
|
|
60
88
|
/**
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
* elsewhere if desired) so a missing/failed `docker rmi` never escapes
|
|
69
|
-
* `runEval`. The runner enforces this defensively too.
|
|
89
|
+
* Resolves the eval image digest while the image is still local, before
|
|
90
|
+
* per-round pruning removes it. Defaults to `docker image inspect`.
|
|
91
|
+
*/
|
|
92
|
+
resolveImageDigest?: (image: string) => Promise<string | null>;
|
|
93
|
+
/**
|
|
94
|
+
* Required free disk (bytes) before an eval round starts. Explicit value >
|
|
95
|
+
* `JINN_EVAL_DISK_FLOOR_GB` env > {@link DEFAULT_EVAL_DISK_FLOOR_BYTES}.
|
|
70
96
|
*/
|
|
71
|
-
|
|
97
|
+
diskFloorBytes?: number;
|
|
98
|
+
/** Probe of free disk (bytes). Defaults to a `statfs` on the temp dir. */
|
|
99
|
+
freeDiskBytes?: () => Promise<number>;
|
|
100
|
+
/**
|
|
101
|
+
* Broad reclaim invoked when free disk is below the floor. Defaults to
|
|
102
|
+
* `docker system prune -f`. MUST NOT throw.
|
|
103
|
+
*/
|
|
104
|
+
systemPrune?: () => Promise<void>;
|
|
105
|
+
/**
|
|
106
|
+
* Wall-clock timeout (ms) for one upstream eval.py invocation. Explicit value
|
|
107
|
+
* > `JINN_SWE_REBENCH_EVAL_TIMEOUT_MS` env > {@link DEFAULT_EVAL_TIMEOUT_MS}.
|
|
108
|
+
* Set to 0 to disable.
|
|
109
|
+
*/
|
|
110
|
+
evalTimeoutMs?: number;
|
|
72
111
|
}
|
|
73
|
-
/**
|
|
74
|
-
* Default cap on the per-instance Docker image cache when no explicit
|
|
75
|
-
* `imageCacheMax` and no `JINN_EVAL_IMAGE_CACHE_MAX` env var are configured.
|
|
76
|
-
*
|
|
77
|
-
* 20 images × ~3 GB/image ≈ 60 GB working set — small enough that even a
|
|
78
|
-
* 256 GB disk has headroom, large enough that the steady-state loop on a
|
|
79
|
-
* frequently-repeating subset of the pool rarely re-pulls.
|
|
80
|
-
*/
|
|
81
|
-
export declare const DEFAULT_EVAL_IMAGE_CACHE_MAX = 20;
|
|
82
|
-
export declare function resolveImageCacheMax(opt: number | undefined): number;
|
|
83
112
|
export declare function matchInfraSignature(log: string): string | null;
|
|
84
113
|
export declare class PythonEvalRunner implements EvalRunner {
|
|
85
114
|
private readonly opts;
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
private readonly imageLru;
|
|
93
|
-
private readonly imageCacheMax;
|
|
94
|
-
private readonly cleanupImage;
|
|
115
|
+
private readonly pruneRound;
|
|
116
|
+
private readonly diskFloorBytes;
|
|
117
|
+
private readonly freeDiskBytes;
|
|
118
|
+
private readonly systemPrune;
|
|
119
|
+
private readonly resolveImageDigest;
|
|
120
|
+
private readonly evalTimeoutMs;
|
|
95
121
|
constructor(opts: PythonEvalRunnerOptions);
|
|
96
|
-
runEval(args: Parameters<EvalRunner['runEval']>[0]): ReturnType<EvalRunner['runEval']>;
|
|
97
122
|
/**
|
|
98
|
-
*
|
|
99
|
-
*
|
|
100
|
-
* {@link cleanupImage}. Eviction failures are swallowed so a flaky
|
|
101
|
-
* `docker rmi` cannot escape `runEval`.
|
|
102
|
-
*
|
|
103
|
-
* The cap is enforced after the just-used image is inserted: the
|
|
104
|
-
* just-evaluated image is the *most* recent, so repeat-evals of recently
|
|
105
|
-
* used instances never re-pull. Only when more than N distinct images have
|
|
106
|
-
* been used does the oldest get rmi'd.
|
|
123
|
+
* Ensure enough free disk for an eval round. Below the floor → broad prune →
|
|
124
|
+
* re-probe; still below → `InsufficientDiskError` (clean abort). (#476)
|
|
107
125
|
*/
|
|
108
|
-
private
|
|
126
|
+
private ensureDiskHeadroom;
|
|
127
|
+
runEval(args: Parameters<EvalRunner['runEval']>[0]): ReturnType<EvalRunner['runEval']>;
|
|
109
128
|
private runEvalImpl;
|
|
110
129
|
}
|