@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
|
@@ -16,8 +16,10 @@ import { provisionWorkingDir, provisionImplStateDir, walkArtifacts, uploadArtifa
|
|
|
16
16
|
import { DONATION_ARTIFACT_ENCODING } from './artifact-scrub.js';
|
|
17
17
|
import { assembleAndSignEnvelope, } from './envelope-assembly.js';
|
|
18
18
|
import { deliverAndClaim, } from './delivery.js';
|
|
19
|
+
import { SafeInnerRevertError, isNonRecoverableInnerRevert, formatDecodedRevert, } from '../../adapters/mech/safe-revert.js';
|
|
20
|
+
import { emitEvent } from '../../observability/emit-event.js';
|
|
19
21
|
import { SkippableError } from '../types.js';
|
|
20
|
-
import { submitEvaluatorFeedback, codeDigestSha256ToBytes32, modeStringToFlag, } from '../../erc8004/index.js';
|
|
22
|
+
import { submitEvaluatorFeedback, codeDigestSha256ToBytes32, encodeExecutionPayload, encodeExecutionPayloadV2, modeStringToFlag, } from '../../erc8004/index.js';
|
|
21
23
|
import { TrajectoryCollector, emitTrajectory } from '../../trajectory/index.js';
|
|
22
24
|
import { uploadToIpfs } from '../../adapters/mech/ipfs.js';
|
|
23
25
|
import { VerdictCode } from '../../adapters/mech/verdict-code.js';
|
|
@@ -25,6 +27,7 @@ import { buildInfo } from '../../build-info.js';
|
|
|
25
27
|
import { getSolverNetContract } from '../../vendor/@jinn-network/sdk/dist/solvernets/index.js';
|
|
26
28
|
import { runHarnessWithFreezeFence, } from '../../daemon/freeze-fence.js';
|
|
27
29
|
import { harnessStateDirName } from '../names.js';
|
|
30
|
+
import { recordTaskCost } from '../../spend/record.js';
|
|
28
31
|
// ── Sentinel error ────────────────────────────────────────────────────────────
|
|
29
32
|
export class NotImplementedError extends Error {
|
|
30
33
|
transitionName;
|
|
@@ -150,9 +153,15 @@ export class TaskEngine {
|
|
|
150
153
|
* Performance contract (issue #398): this runs once per task announcement,
|
|
151
154
|
* on the engine-watcher hot path, for every observed task. It MUST NOT
|
|
152
155
|
* perform per-task blocking I/O. In particular it does not probe
|
|
153
|
-
* `impl.isReady()` —
|
|
154
|
-
*
|
|
155
|
-
* spawns and starve the daemon event loop.
|
|
156
|
+
* `impl.isReady()` — historically the Hermes harness ran child processes
|
|
157
|
+
* inside its readiness probe, so a backlog would pay per-task blocking
|
|
158
|
+
* spawns and starve the daemon event loop. (#778 converted the matching
|
|
159
|
+
* post-execution `git diff` wedge in harvest.ts to async + 60s timeout;
|
|
160
|
+
* the #778 follow-up converted the readiness-probe spawns themselves —
|
|
161
|
+
* Hermes `doctor` / `auth list` and the codex-doctor `--version` probe —
|
|
162
|
+
* to async, so the registry's background refresh loop no longer blocks the
|
|
163
|
+
* main thread either. The readiness path remains O(1) here via the cache
|
|
164
|
+
* below.)
|
|
156
165
|
*
|
|
157
166
|
* Harness readiness for the claim gate is instead served O(1) from the
|
|
158
167
|
* daemon's cached `HarnessReadinessRegistry` snapshot: the engine-watcher
|
|
@@ -388,6 +397,7 @@ export class TaskEngine {
|
|
|
388
397
|
break;
|
|
389
398
|
case TaskRunState.COMPLETE:
|
|
390
399
|
case TaskRunState.FAILED:
|
|
400
|
+
case TaskRunState.RACE_LOST:
|
|
391
401
|
// Terminal — nothing to do.
|
|
392
402
|
break;
|
|
393
403
|
}
|
|
@@ -887,6 +897,18 @@ export class TaskEngine {
|
|
|
887
897
|
clearTimeout(endTimer);
|
|
888
898
|
}
|
|
889
899
|
console.log(`[harness-engine] ${task.requestId} RUNNING → POST_SNAPSHOT via impl=${impl.name}`);
|
|
900
|
+
// Record the run's cost once it has cleanly reached POST_SNAPSHOT — i.e. the
|
|
901
|
+
// harness completed. Captures cost regardless of whether on-chain delivery
|
|
902
|
+
// later succeeds. Pre-completion early-exits (SkippableError, freeze-fence
|
|
903
|
+
// violation) intentionally do not record: the spend cap is an approximate
|
|
904
|
+
// graceful-pause control (design spec §2), not a precise ledger.
|
|
905
|
+
recordTaskCost(this.store, {
|
|
906
|
+
requestId: task.requestId,
|
|
907
|
+
harness: impl.name,
|
|
908
|
+
model: solverNet?.model,
|
|
909
|
+
workingDir,
|
|
910
|
+
solverType: task.solverType ?? null,
|
|
911
|
+
});
|
|
890
912
|
}
|
|
891
913
|
async takePostSnapshot(_intent) {
|
|
892
914
|
throw new NotImplementedError('takePostSnapshot');
|
|
@@ -1312,6 +1334,8 @@ export class TaskEngine {
|
|
|
1312
1334
|
!!harnessImplName;
|
|
1313
1335
|
try {
|
|
1314
1336
|
let pubTxHash;
|
|
1337
|
+
let pubBlockNumber;
|
|
1338
|
+
let payloadHex;
|
|
1315
1339
|
if (canEmitV2) {
|
|
1316
1340
|
const v2Payload = {
|
|
1317
1341
|
version: 2,
|
|
@@ -1323,11 +1347,14 @@ export class TaskEngine {
|
|
|
1323
1347
|
implName: harnessImplName,
|
|
1324
1348
|
modeFlag: modeStringToFlag(task.executorMode),
|
|
1325
1349
|
};
|
|
1326
|
-
|
|
1350
|
+
payloadHex = encodeExecutionPayloadV2(v2Payload);
|
|
1351
|
+
const result = await this.identityPublisher.publishContentV2({
|
|
1327
1352
|
kind: metadataKind,
|
|
1328
1353
|
cid: manifestCid,
|
|
1329
1354
|
payload: v2Payload,
|
|
1330
1355
|
});
|
|
1356
|
+
pubTxHash = result.txHash;
|
|
1357
|
+
pubBlockNumber = result.blockNumber;
|
|
1331
1358
|
console.log(`[harness-engine] ${requestId}: setMetadata ${metadataKind}:${manifestCid} tx=${pubTxHash} (payload v2 mode=${task.executorMode} impl=${harnessImplName})`);
|
|
1332
1359
|
}
|
|
1333
1360
|
else {
|
|
@@ -1338,13 +1365,34 @@ export class TaskEngine {
|
|
|
1338
1365
|
attestationQuoteCid: '0x',
|
|
1339
1366
|
sourceMeasurement: '0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
1340
1367
|
};
|
|
1341
|
-
|
|
1368
|
+
payloadHex = encodeExecutionPayload(v1Payload);
|
|
1369
|
+
const result = await this.identityPublisher.publishContent({
|
|
1342
1370
|
kind: metadataKind,
|
|
1343
1371
|
cid: manifestCid,
|
|
1344
1372
|
payload: v1Payload,
|
|
1345
1373
|
});
|
|
1374
|
+
pubTxHash = result.txHash;
|
|
1375
|
+
pubBlockNumber = result.blockNumber;
|
|
1346
1376
|
console.log(`[harness-engine] ${requestId}: setMetadata ${metadataKind}:${manifestCid} tx=${pubTxHash} (payload v1)`);
|
|
1347
1377
|
}
|
|
1378
|
+
try {
|
|
1379
|
+
this.store.saveErc8004Anchor({
|
|
1380
|
+
envelopeId: manifestHashHex,
|
|
1381
|
+
envelopeCid: manifestCid,
|
|
1382
|
+
contentKind: metadataKind,
|
|
1383
|
+
metadataKey: `${metadataKind}:${manifestCid}`,
|
|
1384
|
+
agentId: this.identityPublisher.agent.toString(),
|
|
1385
|
+
chainId: this.identityPublisher.chainId,
|
|
1386
|
+
identityRegistryAddress: this.identityPublisher.registry,
|
|
1387
|
+
txHash: pubTxHash,
|
|
1388
|
+
blockNumber: pubBlockNumber,
|
|
1389
|
+
payloadHex,
|
|
1390
|
+
anchoredAt: Math.floor(Date.now() / 1000),
|
|
1391
|
+
});
|
|
1392
|
+
}
|
|
1393
|
+
catch (anchorErr) {
|
|
1394
|
+
console.warn(`[harness-engine] ${requestId}: failed to record erc8004 anchor (non-fatal): ${anchorErr instanceof Error ? anchorErr.message : anchorErr}`);
|
|
1395
|
+
}
|
|
1348
1396
|
}
|
|
1349
1397
|
catch (err) {
|
|
1350
1398
|
console.warn(`[harness-engine] ${requestId}: setMetadata ${metadataKind} publish failed (non-fatal): ${err instanceof Error ? err.message : err}`);
|
|
@@ -1573,9 +1621,46 @@ export class TaskEngine {
|
|
|
1573
1621
|
return null;
|
|
1574
1622
|
}
|
|
1575
1623
|
}
|
|
1624
|
+
/**
|
|
1625
|
+
* Classify a transition error and mark the task terminal accordingly.
|
|
1626
|
+
*
|
|
1627
|
+
* - `SafeInnerRevertError` with a non-recoverable inner name (the same
|
|
1628
|
+
* set the daemon's pre-claim catch in `emitTickErrorOrRaceLost` uses):
|
|
1629
|
+
* the on-chain slot is already pruned (TCMaxVerdictsReached,
|
|
1630
|
+
* TCAttemptAlreadyFinalized, …). We mark the row RACE_LOST and emit a
|
|
1631
|
+
* `kind=race_lost` activity event so operators can audit prunes
|
|
1632
|
+
* without inflating the FAILED counter (#896).
|
|
1633
|
+
* - Everything else: existing markFailed behaviour. When invoked from
|
|
1634
|
+
* recovery, `contextLabel === 'recovery'` so the failure_reason
|
|
1635
|
+
* carries the `recovery:` prefix the original code path used.
|
|
1636
|
+
*
|
|
1637
|
+
* Returns the classification so callers can log appropriately.
|
|
1638
|
+
*/
|
|
1639
|
+
_classifyAndMarkTerminal(task, err, contextLabel) {
|
|
1640
|
+
if (err instanceof SafeInnerRevertError &&
|
|
1641
|
+
isNonRecoverableInnerRevert(err.decodedName)) {
|
|
1642
|
+
// decodedName is non-null by virtue of isNonRecoverableInnerRevert.
|
|
1643
|
+
const detail = formatDecodedRevert(err.decodedName, err.decodedArgs);
|
|
1644
|
+
this.persistence.markRaceLost(task.requestId, detail);
|
|
1645
|
+
emitEvent(this.store, {
|
|
1646
|
+
kind: 'race_lost',
|
|
1647
|
+
requestId: task.requestId,
|
|
1648
|
+
solverType: task.solverType ?? undefined,
|
|
1649
|
+
outcome: 'ok',
|
|
1650
|
+
detail,
|
|
1651
|
+
}, 'harness-engine');
|
|
1652
|
+
return 'race_lost';
|
|
1653
|
+
}
|
|
1654
|
+
const reason = err instanceof Error ? err.message : String(err);
|
|
1655
|
+
const stamped = contextLabel === 'recovery' ? `recovery: ${reason}` : reason;
|
|
1656
|
+
this.persistence.markFailed(task.requestId, stamped);
|
|
1657
|
+
return 'failed';
|
|
1658
|
+
}
|
|
1576
1659
|
/**
|
|
1577
1660
|
* Wraps a transition method call with error handling: if the transition
|
|
1578
|
-
* throws, the task is marked FAILED
|
|
1661
|
+
* throws, the task is marked terminal (FAILED or RACE_LOST per
|
|
1662
|
+
* `_classifyAndMarkTerminal`) and the error is rethrown so the caller can
|
|
1663
|
+
* surface it.
|
|
1579
1664
|
*/
|
|
1580
1665
|
async _runTransition(task, fn) {
|
|
1581
1666
|
// Each transition method (claim, takePreSnapshot, runImpl, pack, deliver)
|
|
@@ -1583,14 +1668,12 @@ export class TaskEngine {
|
|
|
1583
1668
|
// deliveryTx, impl name). We deliberately don't emit a generic
|
|
1584
1669
|
// `oldState → newState` line here: doing so produced duplicate
|
|
1585
1670
|
// transition lines in the operator log (jinn-mono-kzan). On failure,
|
|
1586
|
-
// the catch below
|
|
1587
|
-
// surface the error.
|
|
1671
|
+
// the catch below routes through the race-loss classifier and rethrows.
|
|
1588
1672
|
try {
|
|
1589
1673
|
await fn();
|
|
1590
1674
|
}
|
|
1591
1675
|
catch (err) {
|
|
1592
|
-
|
|
1593
|
-
this.persistence.markFailed(task.requestId, reason);
|
|
1676
|
+
this._classifyAndMarkTerminal(task, err, 'transition');
|
|
1594
1677
|
throw err;
|
|
1595
1678
|
}
|
|
1596
1679
|
}
|
|
@@ -1603,15 +1686,18 @@ export class TaskEngine {
|
|
|
1603
1686
|
await this._recoverDispatch(task);
|
|
1604
1687
|
}
|
|
1605
1688
|
catch (err) {
|
|
1606
|
-
// If recovery itself throws (e.g. NotImplementedError stub),
|
|
1607
|
-
//
|
|
1608
|
-
|
|
1609
|
-
// Only
|
|
1689
|
+
// If recovery itself throws (e.g. NotImplementedError stub), classify
|
|
1690
|
+
// the error and mark the row terminal. NotImplementedError is expected
|
|
1691
|
+
// during development; don't swallow it in prod.
|
|
1692
|
+
// Only act if the task is still in the same non-terminal state
|
|
1610
1693
|
// (another concurrent recovery pass might have already advanced it).
|
|
1611
1694
|
const current = this.persistence.getByRequestId(task.requestId);
|
|
1612
1695
|
if (current && current.state === task.state) {
|
|
1613
|
-
this.
|
|
1614
|
-
|
|
1696
|
+
const classification = this._classifyAndMarkTerminal(task, err, 'recovery');
|
|
1697
|
+
const reason = err instanceof Error ? err.message : String(err);
|
|
1698
|
+
const log = classification === 'race_lost' ? console.log : console.error;
|
|
1699
|
+
const verb = classification === 'race_lost' ? 'pruned' : 'failed';
|
|
1700
|
+
log(`[harness-engine] resume ${verb} for ${task.requestId}: ${reason}`);
|
|
1615
1701
|
}
|
|
1616
1702
|
throw err;
|
|
1617
1703
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/harnesses/engine/engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/harnesses/engine/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -181,14 +181,15 @@ export declare class TaskRunPersistence {
|
|
|
181
181
|
/** Fetch all in-flight tasks (not in any terminal state). */
|
|
182
182
|
getInFlight(): PersistedTaskRun[];
|
|
183
183
|
/**
|
|
184
|
-
* Fetch all terminal tasks (
|
|
185
|
-
* Used by the working-dir reaper (issue #320) to
|
|
186
|
-
* scratch directories are safe to delete.
|
|
184
|
+
* Fetch all terminal tasks (every state in `TERMINAL_STATES`: COMPLETE,
|
|
185
|
+
* FAILED, RACE_LOST). Used by the working-dir reaper (issue #320) to
|
|
186
|
+
* decide which on-disk scratch directories are safe to delete.
|
|
187
187
|
*/
|
|
188
188
|
getTerminal(): PersistedTaskRun[];
|
|
189
189
|
/**
|
|
190
190
|
* Atomic snapshot for the working-dir reaper (issue #320): every task run's
|
|
191
|
-
* request ID partitioned into terminal (
|
|
191
|
+
* request ID partitioned into terminal (every state in `TERMINAL_STATES`)
|
|
192
|
+
* vs in-flight.
|
|
192
193
|
*
|
|
193
194
|
* The reaper must NOT read in-flight and terminal sets as two separate
|
|
194
195
|
* queries — a task transitioning DELIVERING → COMPLETE between the two reads
|
|
@@ -245,4 +246,20 @@ export declare class TaskRunPersistence {
|
|
|
245
246
|
setManifestGeneratedAt(requestId: string, generatedAt: number): void;
|
|
246
247
|
/** Mark an task FAILED with a reason (valid from any non-terminal state). */
|
|
247
248
|
markFailed(requestId: string, reason: string): void;
|
|
249
|
+
/**
|
|
250
|
+
* Mark a task RACE_LOST with a reason (valid from any non-terminal state).
|
|
251
|
+
* Peer to `markFailed`, semantically distinct: the run never produced
|
|
252
|
+
* operator-attributable work — another operator pruned the on-chain slot
|
|
253
|
+
* (TCMaxVerdictsReached, TCAttemptAlreadyFinalized, …) before we got
|
|
254
|
+
* anywhere. Dashboards must NOT count these as failures (#896).
|
|
255
|
+
*
|
|
256
|
+
* Reuses the existing `failure_reason` / `failure_at` columns to avoid a
|
|
257
|
+
* schema migration: the engine-level classifier is the source of truth
|
|
258
|
+
* for "is this a failure vs a race-loss", not the column name.
|
|
259
|
+
*
|
|
260
|
+
* Idempotent on any terminal state (COMPLETE / FAILED / RACE_LOST): a
|
|
261
|
+
* late race-loss classification after a successful run or an operator
|
|
262
|
+
* failure must not rewrite the row.
|
|
263
|
+
*/
|
|
264
|
+
markRaceLost(requestId: string, reason: string): void;
|
|
248
265
|
}
|
|
@@ -420,9 +420,9 @@ export class TaskRunPersistence {
|
|
|
420
420
|
return rows.map(rowToTaskRun);
|
|
421
421
|
}
|
|
422
422
|
/**
|
|
423
|
-
* Fetch all terminal tasks (
|
|
424
|
-
* Used by the working-dir reaper (issue #320) to
|
|
425
|
-
* scratch directories are safe to delete.
|
|
423
|
+
* Fetch all terminal tasks (every state in `TERMINAL_STATES`: COMPLETE,
|
|
424
|
+
* FAILED, RACE_LOST). Used by the working-dir reaper (issue #320) to
|
|
425
|
+
* decide which on-disk scratch directories are safe to delete.
|
|
426
426
|
*/
|
|
427
427
|
getTerminal() {
|
|
428
428
|
const terminalList = [...TERMINAL_STATES];
|
|
@@ -433,7 +433,8 @@ export class TaskRunPersistence {
|
|
|
433
433
|
}
|
|
434
434
|
/**
|
|
435
435
|
* Atomic snapshot for the working-dir reaper (issue #320): every task run's
|
|
436
|
-
* request ID partitioned into terminal (
|
|
436
|
+
* request ID partitioned into terminal (every state in `TERMINAL_STATES`)
|
|
437
|
+
* vs in-flight.
|
|
437
438
|
*
|
|
438
439
|
* The reaper must NOT read in-flight and terminal sets as two separate
|
|
439
440
|
* queries — a task transitioning DELIVERING → COMPLETE between the two reads
|
|
@@ -535,8 +536,10 @@ export class TaskRunPersistence {
|
|
|
535
536
|
if (!existing) {
|
|
536
537
|
throw new Error(`Task run not found: ${requestId}`);
|
|
537
538
|
}
|
|
538
|
-
if (
|
|
539
|
-
// Already terminal — no-op (idempotent)
|
|
539
|
+
if (TERMINAL_STATES.has(existing.state)) {
|
|
540
|
+
// Already terminal — no-op (idempotent). Includes COMPLETE / FAILED /
|
|
541
|
+
// RACE_LOST so a late markFailed after a race-loss classification
|
|
542
|
+
// doesn't downgrade a benign prune to an operator failure.
|
|
540
543
|
return;
|
|
541
544
|
}
|
|
542
545
|
const now = Date.now();
|
|
@@ -552,5 +555,39 @@ export class TaskRunPersistence {
|
|
|
552
555
|
throw new ConcurrentTransitionError(requestId, existing.state, 'FAILED');
|
|
553
556
|
}
|
|
554
557
|
}
|
|
558
|
+
/**
|
|
559
|
+
* Mark a task RACE_LOST with a reason (valid from any non-terminal state).
|
|
560
|
+
* Peer to `markFailed`, semantically distinct: the run never produced
|
|
561
|
+
* operator-attributable work — another operator pruned the on-chain slot
|
|
562
|
+
* (TCMaxVerdictsReached, TCAttemptAlreadyFinalized, …) before we got
|
|
563
|
+
* anywhere. Dashboards must NOT count these as failures (#896).
|
|
564
|
+
*
|
|
565
|
+
* Reuses the existing `failure_reason` / `failure_at` columns to avoid a
|
|
566
|
+
* schema migration: the engine-level classifier is the source of truth
|
|
567
|
+
* for "is this a failure vs a race-loss", not the column name.
|
|
568
|
+
*
|
|
569
|
+
* Idempotent on any terminal state (COMPLETE / FAILED / RACE_LOST): a
|
|
570
|
+
* late race-loss classification after a successful run or an operator
|
|
571
|
+
* failure must not rewrite the row.
|
|
572
|
+
*/
|
|
573
|
+
markRaceLost(requestId, reason) {
|
|
574
|
+
const existing = this.getByRequestId(requestId);
|
|
575
|
+
if (!existing) {
|
|
576
|
+
throw new Error(`Task run not found: ${requestId}`);
|
|
577
|
+
}
|
|
578
|
+
if (TERMINAL_STATES.has(existing.state)) {
|
|
579
|
+
// Already terminal — no-op (idempotent).
|
|
580
|
+
return;
|
|
581
|
+
}
|
|
582
|
+
const now = Date.now();
|
|
583
|
+
const result = this.db.prepare(`
|
|
584
|
+
UPDATE task_runs
|
|
585
|
+
SET state = 'RACE_LOST', state_updated_at = ?, failure_reason = ?, failure_at = ?
|
|
586
|
+
WHERE request_id = ? AND state = ?
|
|
587
|
+
`).run(now, reason, now, requestId, existing.state);
|
|
588
|
+
if (result.changes === 0) {
|
|
589
|
+
throw new ConcurrentTransitionError(requestId, existing.state, 'RACE_LOST');
|
|
590
|
+
}
|
|
591
|
+
}
|
|
555
592
|
}
|
|
556
593
|
//# sourceMappingURL=persistence.js.map
|