@jinn-network/client 0.1.7 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +67 -1
- package/dist/adapters/mech/adapter.d.ts +19 -1
- package/dist/adapters/mech/adapter.js +130 -14
- package/dist/adapters/mech/adapter.js.map +1 -1
- package/dist/adapters/mech/contracts.d.ts +22 -1
- package/dist/adapters/mech/contracts.js +34 -24
- package/dist/adapters/mech/contracts.js.map +1 -1
- package/dist/adapters/mech/safe.d.ts +1 -1
- package/dist/adapters/mech/safe.js +5 -3
- 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/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/bootstrap-endpoint.d.ts +1 -2
- package/dist/api/bootstrap-endpoint.js +42 -24
- package/dist/api/bootstrap-endpoint.js.map +1 -1
- package/dist/api/codex-doctor-endpoint.d.ts +22 -5
- package/dist/api/codex-doctor-endpoint.js +136 -17
- package/dist/api/codex-doctor-endpoint.js.map +1 -1
- package/dist/api/debug-report-endpoint.d.ts +27 -0
- package/dist/api/debug-report-endpoint.js +157 -0
- package/dist/api/debug-report-endpoint.js.map +1 -0
- package/dist/api/gather-status.d.ts +33 -0
- package/dist/api/gather-status.js +211 -26
- package/dist/api/gather-status.js.map +1 -1
- package/dist/api/hermes-doctor-endpoint.d.ts +15 -7
- package/dist/api/hermes-doctor-endpoint.js +56 -19
- package/dist/api/hermes-doctor-endpoint.js.map +1 -1
- package/dist/api/launcher-status.d.ts +4 -2
- package/dist/api/launcher-status.js +11 -10
- 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 +7 -1
- package/dist/api/portfolio-v0-build.js +6 -2
- package/dist/api/portfolio-v0-build.js.map +1 -1
- package/dist/api/prediction-v1-build.d.ts +6 -0
- package/dist/api/prediction-v1-build.js +3 -1
- package/dist/api/prediction-v1-build.js.map +1 -1
- package/dist/api/server.d.ts +17 -0
- package/dist/api/server.js +40 -1
- package/dist/api/server.js.map +1 -1
- package/dist/api/setup-endpoints.d.ts +0 -9
- package/dist/api/setup-endpoints.js +11 -153
- package/dist/api/setup-endpoints.js.map +1 -1
- package/dist/api/solvernets-endpoints.js +30 -63
- package/dist/api/solvernets-endpoints.js.map +1 -1
- package/dist/api/status-build.d.ts +115 -2
- package/dist/api/status-build.js +47 -11
- 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-runs-build.d.ts +8 -0
- package/dist/api/task-runs-build.js +5 -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 +12 -0
- package/dist/chain-read-errors.js +26 -1
- package/dist/chain-read-errors.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/solver-nets.d.ts +1 -0
- package/dist/cli/commands/solver-nets.js +177 -22
- 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/tasks.js +15 -2
- package/dist/cli/commands/tasks.js.map +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/task-native-readiness.d.ts +7 -0
- package/dist/cli/task-native-readiness.js +7 -5
- package/dist/cli/task-native-readiness.js.map +1 -1
- package/dist/config.d.ts +183 -232
- package/dist/config.js +232 -107
- package/dist/config.js.map +1 -1
- package/dist/daemon/ai-units-gate.d.ts +54 -0
- package/dist/daemon/ai-units-gate.js +82 -0
- package/dist/daemon/ai-units-gate.js.map +1 -0
- package/dist/daemon/creator.js +13 -0
- package/dist/daemon/creator.js.map +1 -1
- package/dist/daemon/daemon.d.ts +10 -0
- package/dist/daemon/daemon.js +203 -30
- package/dist/daemon/daemon.js.map +1 -1
- 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.js +22 -4
- 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/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-CzKxvMcU.css +32 -0
- package/dist/dashboard/assets/index-yVemxHot.js +351 -0
- package/dist/dashboard/index.html +2 -2
- package/dist/discovery/http.js +328 -1
- package/dist/discovery/http.js.map +1 -1
- package/dist/discovery/onchain.js +42 -4
- package/dist/discovery/onchain.js.map +1 -1
- package/dist/discovery/types.d.ts +129 -0
- package/dist/discovery/types.js.map +1 -1
- package/dist/discovery/with-fallback.js +27 -0
- package/dist/discovery/with-fallback.js.map +1 -1
- package/dist/earning/bootstrap.d.ts +8 -3
- package/dist/earning/bootstrap.js +36 -13
- package/dist/earning/bootstrap.js.map +1 -1
- package/dist/earning/safe-adapter.js +23 -11
- package/dist/earning/safe-adapter.js.map +1 -1
- package/dist/earning/types.d.ts +6 -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 +38 -11
- 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/events/types.d.ts +2 -2
- package/dist/harnesses/cost-estimates.d.ts +10 -31
- package/dist/harnesses/cost-estimates.js +11 -43
- package/dist/harnesses/cost-estimates.js.map +1 -1
- package/dist/harnesses/engine/engine.d.ts +28 -4
- package/dist/harnesses/engine/engine.js +103 -17
- package/dist/harnesses/engine/engine.js.map +1 -1
- package/dist/harnesses/engine/persistence.d.ts +21 -4
- package/dist/harnesses/engine/persistence.js +43 -6
- package/dist/harnesses/engine/persistence.js.map +1 -1
- package/dist/harnesses/engine/state.d.ts +9 -0
- package/dist/harnesses/engine/state.js +23 -10
- package/dist/harnesses/engine/state.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/bootstrap.js +4 -2
- 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 +14 -0
- package/dist/harnesses/impls/hermes-agent/harness.js +16 -2
- 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/learner/adapters/claude-code.d.ts +17 -0
- package/dist/harnesses/impls/learner/adapters/claude-code.js +113 -14
- package/dist/harnesses/impls/learner/adapters/claude-code.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 +24 -0
- package/dist/harnesses/impls/learner/harness.js +27 -3
- 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/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/swe-rebench-v2-evaluator/eval-runner.js +21 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js.map +1 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.d.ts +74 -5
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js +103 -32
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js.map +1 -1
- package/dist/harnesses/readiness-registry.d.ts +7 -0
- package/dist/harnesses/readiness-registry.js +9 -0
- 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 +177 -104
- 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/debug-report-assemble.d.ts +43 -0
- package/dist/observability/debug-report-assemble.js +80 -0
- package/dist/observability/debug-report-assemble.js.map +1 -0
- package/dist/observability/emit-event.d.ts +9 -2
- package/dist/observability/emit-event.js +36 -2
- package/dist/observability/emit-event.js.map +1 -1
- package/dist/observability/file-logger.d.ts +69 -0
- package/dist/observability/file-logger.js +177 -0
- package/dist/observability/file-logger.js.map +1 -0
- package/dist/observability/redact-secrets.d.ts +65 -0
- package/dist/observability/redact-secrets.js +300 -0
- package/dist/observability/redact-secrets.js.map +1 -0
- package/dist/observability/tar.d.ts +30 -0
- package/dist/observability/tar.js +102 -0
- package/dist/observability/tar.js.map +1 -0
- package/dist/plugins/learner/skills/learn/consolidator-prompt.md +18 -1
- package/dist/plugins/learner/skills/learn/promoter-prompt.md +72 -1
- 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/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/solver-nets/prediction-operator-ux.d.ts +1 -2
- package/dist/solver-nets/prediction-operator-ux.js +56 -53
- package/dist/solver-nets/prediction-operator-ux.js.map +1 -1
- package/dist/solver-nets/registry.d.ts +19 -1
- package/dist/solver-nets/registry.js +37 -24
- package/dist/solver-nets/registry.js.map +1 -1
- 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-validated-pool.d.ts +116 -2
- package/dist/solver-types/_swe-rebench-v2-validated-pool.js +296 -21
- package/dist/solver-types/_swe-rebench-v2-validated-pool.js.map +1 -1
- package/dist/solver-types/swe-rebench-v2-auto.d.ts +20 -11
- package/dist/solver-types/swe-rebench-v2-auto.js +64 -19
- package/dist/solver-types/swe-rebench-v2-auto.js.map +1 -1
- package/dist/solver-types/swe-rebench-v2.d.ts +8 -2
- package/dist/solver-types/swe-rebench-v2.js +127 -11
- package/dist/solver-types/swe-rebench-v2.js.map +1 -1
- package/dist/solvernets/daemon-init.d.ts +1 -1
- package/dist/solvernets/daemon-init.js +19 -4
- 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 +10 -4
- 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 +2 -2
- package/dist/spend/ai-units-config.d.ts +39 -0
- package/dist/spend/ai-units-config.js +28 -0
- package/dist/spend/ai-units-config.js.map +1 -0
- package/dist/spend/ai-units.d.ts +89 -0
- package/dist/spend/ai-units.js +156 -0
- package/dist/spend/ai-units.js.map +1 -0
- package/dist/spend/cost-surface-status.d.ts +12 -0
- package/dist/spend/cost-surface-status.js +24 -0
- package/dist/spend/cost-surface-status.js.map +1 -0
- package/dist/spend/credential.d.ts +39 -0
- package/dist/spend/credential.js +71 -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 +36 -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 +101 -0
- package/dist/store/store.js +304 -4
- package/dist/store/store.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 +108 -32
- package/dist/trajectory/transcript-watcher.js.map +1 -1
- package/dist/tx-retry.d.ts +25 -0
- package/dist/tx-retry.js +95 -7
- 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 +3 -3
- package/dist/types/payloads/prediction-v0.d.ts +12 -12
- package/package.json +11 -3
- 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 +81 -0
- package/dist/dashboard/assets/index-BUlE8F3Y.js +0 -330
- package/dist/dashboard/assets/index-blqc7eqq.css +0 -32
- package/plugins/swe-rebench-v2-runtime/skills/orient/SKILL.md +0 -29
- package/plugins/swe-rebench-v2-runtime/skills/plan/SKILL.md +0 -53
|
@@ -30,6 +30,41 @@ export function rolesFromJoinedConfig(net) {
|
|
|
30
30
|
}
|
|
31
31
|
return Array.from(new Set(roles));
|
|
32
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Format a joined-entry contract back into the `<id>.<version>` solverType
|
|
35
|
+
* string the runtime uses for dispatch. Returns `undefined` when the joined
|
|
36
|
+
* entry has no contract (mid-migration synthesized entries can land here).
|
|
37
|
+
*/
|
|
38
|
+
export function solverTypeFromJoinedContract(net) {
|
|
39
|
+
if (!net.contract)
|
|
40
|
+
return undefined;
|
|
41
|
+
return `${net.contract.id}.${net.contract.version}`;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Operator-facing display name for a joined SolverNet — the registry
|
|
45
|
+
* `name` field if present, otherwise the manifest CID. Mirrors the same
|
|
46
|
+
* resolution the registry uses when registering entries.
|
|
47
|
+
*/
|
|
48
|
+
export function joinedDisplayName(cid, net) {
|
|
49
|
+
return net.name ?? cid;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Find a joined SolverNet entry by its operator-facing display name. The
|
|
53
|
+
* lookup also matches against the manifest CID so callers that resolve a
|
|
54
|
+
* net by either identifier (legacy short-name or post-join CID) keep
|
|
55
|
+
* working. Returns the matched entry, or `undefined` if no match.
|
|
56
|
+
*/
|
|
57
|
+
export function findJoinedByName(joinedSolverNets, needle) {
|
|
58
|
+
if (!joinedSolverNets)
|
|
59
|
+
return undefined;
|
|
60
|
+
for (const [cid, entry] of Object.entries(joinedSolverNets)) {
|
|
61
|
+
if (joinedDisplayName(cid, entry) === needle)
|
|
62
|
+
return entry;
|
|
63
|
+
if (entry.manifestCid === needle)
|
|
64
|
+
return entry;
|
|
65
|
+
}
|
|
66
|
+
return undefined;
|
|
67
|
+
}
|
|
33
68
|
function defaultRuntimePluginsForSolverType(solverType) {
|
|
34
69
|
if (solverType === 'swe-rebench-v2.v1') {
|
|
35
70
|
return ['bundled:swe-rebench-v2-runtime'];
|
|
@@ -120,30 +155,11 @@ export class SolverNetRegistry {
|
|
|
120
155
|
return out;
|
|
121
156
|
}
|
|
122
157
|
}
|
|
123
|
-
/**
|
|
124
|
-
* Parse the legacy operator-config `solverType` string (`'<id>.<version>'`)
|
|
125
|
-
* into a `{ id, version }` ref so we can call the contract registry's
|
|
126
|
-
* non-deprecated lookup signature. The operator config field itself is
|
|
127
|
-
* carried forward for now (Task 8 of
|
|
128
|
-
* `spec/2026-05-05-solvernet-creation-and-launch.md` — internal dispatch
|
|
129
|
-
* keeps `solverType` as a routing alias; Task 30 removes it).
|
|
130
|
-
*/
|
|
131
|
-
function parseSolverTypeRef(solverType) {
|
|
132
|
-
const dot = solverType.lastIndexOf('.');
|
|
133
|
-
if (dot <= 0 || dot === solverType.length - 1)
|
|
134
|
-
return undefined;
|
|
135
|
-
return { id: solverType.slice(0, dot), version: solverType.slice(dot + 1) };
|
|
136
|
-
}
|
|
137
158
|
export async function loadSolverNets(config) {
|
|
138
159
|
const registry = new SolverNetRegistry();
|
|
139
|
-
async function registerFromConfig(name, net) {
|
|
160
|
+
async function registerFromConfig(name, net, contract) {
|
|
140
161
|
if (!net.enabled)
|
|
141
162
|
return;
|
|
142
|
-
const ref = parseSolverTypeRef(net.solverType);
|
|
143
|
-
const contract = ref ? getSolverNetContract(ref) : undefined;
|
|
144
|
-
if (!contract) {
|
|
145
|
-
throw new Error(`SolverNet ${name} has no registered SolverNetContract for ${net.solverType}`);
|
|
146
|
-
}
|
|
147
163
|
const runtimePlugins = [];
|
|
148
164
|
const seenSources = new Set();
|
|
149
165
|
const seenNames = new Set();
|
|
@@ -208,10 +224,7 @@ export async function loadSolverNets(config) {
|
|
|
208
224
|
...(joined.model ? { model: joined.model } : {}),
|
|
209
225
|
plugins: [...defaultPlugins, ...(joined.plugins ?? [])],
|
|
210
226
|
taskGenerator: { enabled: false },
|
|
211
|
-
});
|
|
212
|
-
}
|
|
213
|
-
for (const [name, net] of Object.entries(config.solverNets)) {
|
|
214
|
-
await registerFromConfig(name, net);
|
|
227
|
+
}, contract);
|
|
215
228
|
}
|
|
216
229
|
return registry;
|
|
217
230
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/solver-nets/registry.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/solver-nets/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* Spec: docs/superpowers/specs/2026-05-06-agent-harness-solvernet-design.md §3.6
|
|
7
7
|
* DR: log/decisions/2026-05-06-task-generator-success-cap.md
|
|
8
8
|
*/
|
|
9
|
+
import { type FetchHfWithRetryOptions } from '../harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js';
|
|
9
10
|
export interface PoolTask {
|
|
10
11
|
instance_id: string;
|
|
11
12
|
hf_dataset: string;
|
|
@@ -43,9 +44,15 @@ export interface BuildPoolArgs {
|
|
|
43
44
|
* partitions are kept only from the earliest partition (first-seen wins).
|
|
44
45
|
*/
|
|
45
46
|
export declare function buildHistoricalPool(args: BuildPoolArgs): Promise<PoolTask[]>;
|
|
46
|
-
/**
|
|
47
|
+
/**
|
|
48
|
+
* HTTP fetcher for HF datasets-server rows API. Use as `fetchSplit` in
|
|
49
|
+
* production. Routes through {@link fetchHfWithRetry} so 408/429/5xx are
|
|
50
|
+
* retried with jittered backoff and the process-wide HF min-interval is
|
|
51
|
+
* honoured (issue #578). Throws on non-2xx after retry exhaustion —
|
|
52
|
+
* previously returned `[]` silently, which is what hid the 290 lost tasks.
|
|
53
|
+
*/
|
|
47
54
|
export declare function fetchHfSplit(args: {
|
|
48
55
|
dataset: string;
|
|
49
56
|
split: string;
|
|
50
57
|
limit?: number;
|
|
51
|
-
}): Promise<any[]>;
|
|
58
|
+
}, opts?: FetchHfWithRetryOptions): Promise<any[]>;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* Spec: docs/superpowers/specs/2026-05-06-agent-harness-solvernet-design.md §3.6
|
|
7
7
|
* DR: log/decisions/2026-05-06-task-generator-success-cap.md
|
|
8
8
|
*/
|
|
9
|
-
import {
|
|
9
|
+
import { fetchHfWithRetry, } from '../harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js';
|
|
10
10
|
/** Filter dataset split names to only the YYYY_MM monthly partitions. */
|
|
11
11
|
export function listMonthlyPartitions(splits) {
|
|
12
12
|
return splits
|
|
@@ -43,30 +43,25 @@ export async function buildHistoricalPool(args) {
|
|
|
43
43
|
}
|
|
44
44
|
return pool;
|
|
45
45
|
}
|
|
46
|
-
/**
|
|
47
|
-
|
|
46
|
+
/**
|
|
47
|
+
* HTTP fetcher for HF datasets-server rows API. Use as `fetchSplit` in
|
|
48
|
+
* production. Routes through {@link fetchHfWithRetry} so 408/429/5xx are
|
|
49
|
+
* retried with jittered backoff and the process-wide HF min-interval is
|
|
50
|
+
* honoured (issue #578). Throws on non-2xx after retry exhaustion —
|
|
51
|
+
* previously returned `[]` silently, which is what hid the 290 lost tasks.
|
|
52
|
+
*/
|
|
53
|
+
export async function fetchHfSplit(args, opts = {}) {
|
|
48
54
|
const url = new URL('https://datasets-server.huggingface.co/rows');
|
|
49
55
|
url.searchParams.set('dataset', args.dataset);
|
|
50
56
|
url.searchParams.set('config', 'default');
|
|
51
57
|
url.searchParams.set('split', args.split);
|
|
52
58
|
url.searchParams.set('offset', '0');
|
|
53
59
|
url.searchParams.set('length', String(args.limit ?? 100));
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
const parsed = JSON.parse(body);
|
|
61
|
-
resolve((parsed.rows ?? []).map((r) => r.row));
|
|
62
|
-
}
|
|
63
|
-
catch (e) {
|
|
64
|
-
reject(e);
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
req.on('error', reject);
|
|
69
|
-
req.end();
|
|
70
|
-
});
|
|
60
|
+
const res = await fetchHfWithRetry(url.toString(), opts);
|
|
61
|
+
if (!res.ok) {
|
|
62
|
+
throw Object.assign(new Error(`HF datasets-server returned ${res.status} for ${args.dataset}/${args.split}`), { httpStatus: res.status });
|
|
63
|
+
}
|
|
64
|
+
const json = (await res.json());
|
|
65
|
+
return (json.rows ?? []).map((r) => r.row);
|
|
71
66
|
}
|
|
72
67
|
//# sourceMappingURL=_swe-rebench-v2-pool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_swe-rebench-v2-pool.js","sourceRoot":"","sources":["../../src/solver-types/_swe-rebench-v2-pool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"_swe-rebench-v2-pool.js","sourceRoot":"","sources":["../../src/solver-types/_swe-rebench-v2-pool.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,10 @@ export interface TaskCounters {
|
|
|
9
9
|
posted: number;
|
|
10
10
|
successful: number;
|
|
11
11
|
last_posted_at: number;
|
|
12
|
+
/** On-chain taskId of the most-recent posting for this instance (#802).
|
|
13
|
+
* Set by CreatorLoop after the post resolves; used by the generator to look
|
|
14
|
+
* up claim exhaustion via DiscoveryAPI.getInstanceClaimCounts. */
|
|
15
|
+
last_task_id?: string;
|
|
12
16
|
}
|
|
13
17
|
export declare class GeneratorStateStore {
|
|
14
18
|
private stateFile;
|
|
@@ -17,8 +21,19 @@ export declare class GeneratorStateStore {
|
|
|
17
21
|
stateDir: string;
|
|
18
22
|
});
|
|
19
23
|
private load;
|
|
24
|
+
/**
|
|
25
|
+
* Drop the in-memory cache so the next read re-reads from disk (#802). The
|
|
26
|
+
* generator holds a long-lived store, but `last_task_id` (and `successful`)
|
|
27
|
+
* are written by *other* loops (CreatorLoop, delivery-watcher) through their
|
|
28
|
+
* own store instances against the same file. Calling this at the START of
|
|
29
|
+
* each generator tick makes those out-of-band disk writes visible; without
|
|
30
|
+
* it the generator's first-load cache never sees the creator's
|
|
31
|
+
* `recordLastTaskId` write and classifies every posting as unposted forever.
|
|
32
|
+
*/
|
|
33
|
+
invalidate(): void;
|
|
20
34
|
private save;
|
|
21
35
|
getCounters(instance_id: string): Promise<TaskCounters>;
|
|
22
36
|
recordPosted(instance_id: string, now?: number): Promise<void>;
|
|
23
37
|
recordSuccess(instance_id: string): Promise<void>;
|
|
38
|
+
recordLastTaskId(instance_id: string, taskId: string): Promise<void>;
|
|
24
39
|
}
|
|
@@ -25,6 +25,18 @@ export class GeneratorStateStore {
|
|
|
25
25
|
}
|
|
26
26
|
return this.cache;
|
|
27
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Drop the in-memory cache so the next read re-reads from disk (#802). The
|
|
30
|
+
* generator holds a long-lived store, but `last_task_id` (and `successful`)
|
|
31
|
+
* are written by *other* loops (CreatorLoop, delivery-watcher) through their
|
|
32
|
+
* own store instances against the same file. Calling this at the START of
|
|
33
|
+
* each generator tick makes those out-of-band disk writes visible; without
|
|
34
|
+
* it the generator's first-load cache never sees the creator's
|
|
35
|
+
* `recordLastTaskId` write and classifies every posting as unposted forever.
|
|
36
|
+
*/
|
|
37
|
+
invalidate() {
|
|
38
|
+
this.cache = null;
|
|
39
|
+
}
|
|
28
40
|
async save() {
|
|
29
41
|
if (!this.cache)
|
|
30
42
|
return;
|
|
@@ -50,5 +62,12 @@ export class GeneratorStateStore {
|
|
|
50
62
|
state.tasks[instance_id] = c;
|
|
51
63
|
await this.save();
|
|
52
64
|
}
|
|
65
|
+
async recordLastTaskId(instance_id, taskId) {
|
|
66
|
+
const state = await this.load();
|
|
67
|
+
const c = state.tasks[instance_id] ?? { posted: 0, successful: 0, last_posted_at: 0 };
|
|
68
|
+
c.last_task_id = taskId;
|
|
69
|
+
state.tasks[instance_id] = c;
|
|
70
|
+
await this.save();
|
|
71
|
+
}
|
|
53
72
|
}
|
|
54
73
|
//# sourceMappingURL=_swe-rebench-v2-state.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_swe-rebench-v2-state.js","sourceRoot":"","sources":["../../src/solver-types/_swe-rebench-v2-state.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"_swe-rebench-v2-state.js","sourceRoot":"","sources":["../../src/solver-types/_swe-rebench-v2-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,15 +34,35 @@ import { type CommandRunner } from './_swe-rebench-v2-substrate.js';
|
|
|
34
34
|
* `upstreamEvalCommit`) and extended ungradeable classifier
|
|
35
35
|
* (venv collision, missing pytest, dependency warnings, conftest
|
|
36
36
|
* import/setup failures) — jinn-mono-fufn.
|
|
37
|
+
* '4' — adds the buildTestCommands pytest-install guard (#493): for
|
|
38
|
+
* parse_log_pytest rows whose install_config.install does not
|
|
39
|
+
* already mention pytest, prepend a best-effort install line so
|
|
40
|
+
* the `ungradeable:pytest_missing` bucket (the highest-yield
|
|
41
|
+
* capacity blocker on the Stage-1 histogram) becomes scorable.
|
|
42
|
+
* The v3→v4 transition is a *targeted* migration, not a wholesale
|
|
43
|
+
* invalidation: only `ungradeable:pytest_missing` entries can flip
|
|
44
|
+
* under the install guard, so they alone are dropped (re-validated);
|
|
45
|
+
* every other verdict (scorable, gold-patch-not-resolved,
|
|
46
|
+
* transient/error/other ungradeable) is carried forward verbatim
|
|
47
|
+
* (see {@link loadOrMigrateFile}).
|
|
37
48
|
*/
|
|
38
|
-
export declare const EVAL_SEMANTICS_VERSION = "
|
|
49
|
+
export declare const EVAL_SEMANTICS_VERSION = "4";
|
|
39
50
|
export declare const SWE_REBENCH_V2_VETTED_POOL_ARTIFACT_TYPE: "swe-rebench-v2-vetted-pool.v1";
|
|
40
51
|
export declare const SOLVERNET_ARTIFACT_REF_SCHEMA_VERSION: "solvernet.artifact-ref.v1";
|
|
41
52
|
export declare const VETTED_POOL_REF_ELIGIBILITY_KEY: "vettedPoolRef";
|
|
42
53
|
declare const PUBLICATION_SCHEMA_VERSION: "swe-rebench-v2-vetted-pool-publication.v1";
|
|
43
54
|
export interface ValidatedPoolEntry {
|
|
44
55
|
scorable: boolean;
|
|
45
|
-
/**
|
|
56
|
+
/**
|
|
57
|
+
* Why scorable/unscorable — `'gold-patch-resolves'`, `'ungradeable:<reason>'`,
|
|
58
|
+
* `'transient:HF-429:<msg>'`, `'error:HF-429-permanent-after-5-passes'`, etc.
|
|
59
|
+
*
|
|
60
|
+
* Reason prefixes:
|
|
61
|
+
* - `transient:` — non-terminal; the next `validatePoolInstances` pass
|
|
62
|
+
* re-processes the entry until `transientRetryCount` hits {@link MAX_TRANSIENT_PASSES}.
|
|
63
|
+
* - everything else (including `error:`, `ungradeable:`, etc.) — terminal
|
|
64
|
+
* under the skip-check; only re-processed when `opts.force` is set.
|
|
65
|
+
*/
|
|
46
66
|
reason: string;
|
|
47
67
|
checkedAt: string;
|
|
48
68
|
/** Canonical-JSON SHA-256 over the HF row fields used for grading. v3+. */
|
|
@@ -53,7 +73,42 @@ export interface ValidatedPoolEntry {
|
|
|
53
73
|
imageDigest?: string;
|
|
54
74
|
/** `git rev-parse HEAD` of the enabled upstream SWE-rebench repo at validation time. v3+. */
|
|
55
75
|
upstreamEvalCommit?: string;
|
|
76
|
+
/**
|
|
77
|
+
* Number of consecutive `validatePoolInstances` passes that have recorded a
|
|
78
|
+
* `transient:` reason for this instance under this `evalSemanticsVersion`.
|
|
79
|
+
* Bumped on each pass; flips the reason to `error:HF-429-permanent-after-5-passes`
|
|
80
|
+
* once it hits {@link MAX_TRANSIENT_PASSES} (issue #578). Undefined for
|
|
81
|
+
* non-transient entries (treated as `0` on read).
|
|
82
|
+
*/
|
|
83
|
+
transientRetryCount?: number;
|
|
84
|
+
/** ISO timestamp of the most recent transient pass. Undefined for non-transient entries. */
|
|
85
|
+
lastTransientAt?: string;
|
|
56
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* Cap on consecutive transient passes before an instance flips to the
|
|
89
|
+
* terminal `error:HF-429-permanent-after-5-passes` reason. Issue #578: the
|
|
90
|
+
* AC says "the failure is still recorded for visibility, but the validation
|
|
91
|
+
* pipeline distinguishes transient from permanent so the next run reprocesses
|
|
92
|
+
* these instances"; this is the convergence boundary that keeps a
|
|
93
|
+
* permanently-broken split from churning forever.
|
|
94
|
+
*/
|
|
95
|
+
export declare const MAX_TRANSIENT_PASSES = 5;
|
|
96
|
+
/**
|
|
97
|
+
* The operator-environment subset of `EvalCouldNotGradeError` reasons that are
|
|
98
|
+
* worth a bounded retry rather than being cached terminal (issue #811). These
|
|
99
|
+
* may differ on a later pass — Docker comes back, a stale `.venv` is cleaned,
|
|
100
|
+
* the host's missing venv is provisioned. `image_arch_mismatch` is fixed
|
|
101
|
+
* per-machine, but the bounded retry caps the waste: it converges to the
|
|
102
|
+
* terminal `ungradeable:` reason after {@link MAX_TRANSIENT_PASSES}, so there
|
|
103
|
+
* is no infinite loop.
|
|
104
|
+
*
|
|
105
|
+
* Every OTHER `EvalCouldNotGradeError` reason (pytest_missing,
|
|
106
|
+
* install_build_failed, conftest_import_error, requests_dep_mismatch,
|
|
107
|
+
* eval_setup_error, …) is a real per-instance problem where a blind retry
|
|
108
|
+
* won't help; those stay `ungradeable:` terminal. `pytest_missing` in
|
|
109
|
+
* particular needs the #493 code fix, not a retry.
|
|
110
|
+
*/
|
|
111
|
+
export declare const TRANSIENT_INFRA_REASONS: ReadonlySet<string>;
|
|
57
112
|
export interface SweRebenchV2VettedPoolArtifactEntry extends ValidatedPoolEntry {
|
|
58
113
|
instance_id: string;
|
|
59
114
|
scorable: true;
|
|
@@ -96,6 +151,27 @@ export declare function createVettedPoolArtifactRef(args: {
|
|
|
96
151
|
export declare function sweRebenchV2VettedPoolArtifactMetadataKey(manifestCid: string): string;
|
|
97
152
|
export declare function parseVettedPoolArtifactRef(raw: unknown): SolverNetArtifactRef;
|
|
98
153
|
export declare function vettedPoolArtifactRefFromEligibility(eligibility: Record<string, unknown> | undefined): SolverNetArtifactRef | null;
|
|
154
|
+
/**
|
|
155
|
+
* gh #300 — solver-side ghost-task admission, Tier 1 (zero-fetch).
|
|
156
|
+
*
|
|
157
|
+
* Returns a human-readable reason string when the task's on-chain
|
|
158
|
+
* `vettedPoolRef` announces an `evalSemanticsVersion` that no local evaluator
|
|
159
|
+
* could grade under the current {@link EVAL_SEMANTICS_VERSION}, otherwise
|
|
160
|
+
* `null`. This is the symmetric counterpart to the evaluator's hard gate in
|
|
161
|
+
* `loadPublishedPoolRow` (swe-rebench-v2-evaluator/harness.ts): the evaluator
|
|
162
|
+
* already rejects semantics-skewed tasks at verdict time; this lets the
|
|
163
|
+
* solver reject them at claim time instead of burning compute on a task its
|
|
164
|
+
* own evaluator will refuse to score.
|
|
165
|
+
*
|
|
166
|
+
* Deliberately **fails open when the ref is absent** (returns `null`): pre-
|
|
167
|
+
* `vettedPoolRef` and `python-floor` tasks carry no ref and are still guarded
|
|
168
|
+
* by the recency floor (`DEFAULT_TASK_DISCOVERY_FROM_BLOCK`). Closing those
|
|
169
|
+
* fail-closed is a network-wide behavioural change deferred to Tier 2 (see
|
|
170
|
+
* `spec/2026-05-29-ghost-task-admission-symmetric-gate.md`). A malformed ref
|
|
171
|
+
* surfaces as a mismatch reason rather than throwing, so the claim path never
|
|
172
|
+
* crashes on a bad ref.
|
|
173
|
+
*/
|
|
174
|
+
export declare function vettedPoolRefSemanticsMismatch(eligibility: Record<string, unknown> | undefined): string | null;
|
|
99
175
|
export declare class ValidatedPoolStore {
|
|
100
176
|
private readonly file;
|
|
101
177
|
private cache;
|
|
@@ -122,6 +198,44 @@ export declare class ValidatedPoolStore {
|
|
|
122
198
|
getEntry(instanceId: string, evalSemanticsVersion: string): Promise<ValidatedPoolEntry | null>;
|
|
123
199
|
record(instanceId: string, entry: ValidatedPoolEntry, evalSemanticsVersion: string): Promise<void>;
|
|
124
200
|
}
|
|
201
|
+
/**
|
|
202
|
+
* Histogram bucket for gold-patch-not-resolved entries whose PASS_TO_PASS
|
|
203
|
+
* tests broke (`p2p_broke > 0`). These are usually an environment/setup
|
|
204
|
+
* problem (missing system deps, a pytest/plugin version mismatch) rather
|
|
205
|
+
* than a non-resolving gold patch — a chase-able evaluator-capacity blocker,
|
|
206
|
+
* the same shape as `ungradeable:pytest_missing`. See issue #806.
|
|
207
|
+
*/
|
|
208
|
+
export declare const GOLD_PATCH_NOT_RESOLVED_P2P_BROKE_REASON = "gold-patch-not-resolved:p2p-broke";
|
|
209
|
+
/**
|
|
210
|
+
* Collapse a stored `reason` string into a histogram bucket. Diagnostic
|
|
211
|
+
* detail (`(f2p X, p2p_broke Y)`, the verbatim HF 429 message) is kept on
|
|
212
|
+
* the entry for debugging, but the bucket name is what matters for the
|
|
213
|
+
* #493 reason-histogram CLI. Unknown reasons pass through unchanged.
|
|
214
|
+
*
|
|
215
|
+
* Per #806, `gold-patch-not-resolved` is split by PASS_TO_PASS breakage:
|
|
216
|
+
* entries with `p2p_broke > 0` map to a distinct
|
|
217
|
+
* `gold-patch-not-resolved:p2p-broke` bucket (environment broke — chase-able),
|
|
218
|
+
* while `p2p_broke == 0` keeps the base bucket (patch genuinely doesn't
|
|
219
|
+
* resolve — leave alone). The split is display-only; the per-entry `reason`
|
|
220
|
+
* string keeps the full `(f2p X, p2p_broke Y)` detail.
|
|
221
|
+
*/
|
|
222
|
+
export declare function normalizeReason(reason: string): string;
|
|
223
|
+
export interface ValidatedPoolHistogramBucket {
|
|
224
|
+
reason: string;
|
|
225
|
+
count: number;
|
|
226
|
+
}
|
|
227
|
+
export interface ValidatedPoolSummary {
|
|
228
|
+
totalEntries: number;
|
|
229
|
+
scorable: number;
|
|
230
|
+
unscorable: number;
|
|
231
|
+
byReason: ValidatedPoolHistogramBucket[];
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Read-only summary of a `validated-pool.json` file. Counts entries by
|
|
235
|
+
* normalised reason (see {@link normalizeReason}) and returns the buckets
|
|
236
|
+
* sorted descending by count, with ties broken alphabetically by reason.
|
|
237
|
+
*/
|
|
238
|
+
export declare function summarizeValidatedPool(file: unknown): ValidatedPoolSummary;
|
|
125
239
|
export declare function exportScorableVettedPoolArtifact(store: ValidatedPoolStore, evalSemanticsVersion: string, opts?: {
|
|
126
240
|
generatedAt?: string;
|
|
127
241
|
}): Promise<SweRebenchV2VettedPoolArtifact | null>;
|