@jinn-network/client 0.1.8 → 0.1.9-canary.023faefb
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/CONTRIBUTING.md +2 -2
- package/README.md +6 -0
- package/deployments/deployment-phase1b-mech-baseSepolia-fast.json +3 -3
- package/deployments/deployment-stolas-l2-baseSepolia-fast.json +23 -3
- package/deployments/deployment-task-coordinator-router-v3-baseSepolia-fast.json +34 -6
- package/dist/adapters/mech/adapter.d.ts +31 -1
- package/dist/adapters/mech/adapter.js +126 -53
- package/dist/adapters/mech/adapter.js.map +1 -1
- package/dist/adapters/mech/contracts.d.ts +174 -13
- package/dist/adapters/mech/contracts.js +99 -49
- package/dist/adapters/mech/contracts.js.map +1 -1
- package/dist/adapters/mech/safe-revert.d.ts +4 -0
- package/dist/adapters/mech/safe-revert.js +5 -1
- package/dist/adapters/mech/safe-revert.js.map +1 -1
- package/dist/adapters/mech/safe.js +77 -1
- package/dist/adapters/mech/safe.js.map +1 -1
- package/dist/adapters/mech/types.d.ts +5 -130
- package/dist/adapters/mech/types.js +9 -65
- package/dist/adapters/mech/types.js.map +1 -1
- package/dist/adapters/mech/verdict-code.js +1 -1
- package/dist/adapters/mech/verdict-code.js.map +1 -1
- package/dist/api/bootstrap-endpoint.d.ts +19 -3
- package/dist/api/bootstrap-endpoint.js +4 -0
- package/dist/api/bootstrap-endpoint.js.map +1 -1
- package/dist/api/discovery-endpoint.d.ts +1 -0
- package/dist/api/discovery-endpoint.js +24 -0
- package/dist/api/discovery-endpoint.js.map +1 -1
- package/dist/api/fleet-build.d.ts +1 -7
- package/dist/api/fleet-build.js +0 -7
- package/dist/api/fleet-build.js.map +1 -1
- package/dist/api/gather-status.d.ts +26 -17
- package/dist/api/gather-status.js +62 -520
- package/dist/api/gather-status.js.map +1 -1
- package/dist/api/harness-auth-status-endpoint.d.ts +21 -0
- package/dist/api/harness-auth-status-endpoint.js +17 -0
- package/dist/api/harness-auth-status-endpoint.js.map +1 -0
- package/dist/api/launcher-endpoints.js +6 -1
- package/dist/api/launcher-endpoints.js.map +1 -1
- package/dist/api/launcher-status.d.ts +2 -0
- package/dist/api/launcher-status.js.map +1 -1
- package/dist/api/launcher-tasks.d.ts +47 -0
- package/dist/api/launcher-tasks.js +88 -3
- package/dist/api/launcher-tasks.js.map +1 -1
- package/dist/api/loop-completion-build.d.ts +79 -0
- package/dist/api/loop-completion-build.js +154 -0
- package/dist/api/loop-completion-build.js.map +1 -0
- package/dist/api/operator-artifacts-endpoint.js +1 -1
- package/dist/api/operator-artifacts-endpoint.js.map +1 -1
- package/dist/api/portfolio-v0-build.d.ts +2 -1
- package/dist/api/portfolio-v0-build.js +5 -7
- package/dist/api/portfolio-v0-build.js.map +1 -1
- package/dist/api/prediction-v1-build.d.ts +2 -2
- package/dist/api/prediction-v1-build.js +5 -7
- package/dist/api/prediction-v1-build.js.map +1 -1
- package/dist/api/rewards-build.d.ts +8 -1
- package/dist/api/rewards-build.js +32 -4
- package/dist/api/rewards-build.js.map +1 -1
- package/dist/api/rewards-endpoint.d.ts +12 -0
- package/dist/api/rewards-endpoint.js +46 -0
- package/dist/api/rewards-endpoint.js.map +1 -0
- package/dist/api/server.d.ts +6 -16
- package/dist/api/server.js +29 -26
- package/dist/api/server.js.map +1 -1
- package/dist/api/setup-endpoints.d.ts +45 -0
- package/dist/api/setup-endpoints.js +271 -52
- package/dist/api/setup-endpoints.js.map +1 -1
- package/dist/api/solvernets-endpoints.js +4 -1
- package/dist/api/solvernets-endpoints.js.map +1 -1
- package/dist/api/status-build.d.ts +71 -94
- package/dist/api/status-build.js +11 -77
- package/dist/api/status-build.js.map +1 -1
- package/dist/api/status-rollup-build.d.ts +0 -4
- package/dist/api/status-rollup-build.js +0 -4
- package/dist/api/status-rollup-build.js.map +1 -1
- package/dist/api/stop-hook.d.ts +1 -1
- package/dist/api/stop-hook.js +1 -1
- package/dist/api/stop-hook.js.map +1 -1
- package/dist/api/task-run-routing.d.ts +1 -1
- package/dist/api/task-runs-build.d.ts +2 -2
- package/dist/api/task-runs-build.js +5 -7
- package/dist/api/task-runs-build.js.map +1 -1
- package/dist/bin/jinn-distil-mcp.js +813 -0
- package/dist/bin/jinn-layer.js +12568 -0
- package/dist/build-info.json +4 -4
- package/dist/build-meta.json +1 -1
- package/dist/captures/distil-export.d.ts +54 -0
- package/dist/captures/distil-export.js +135 -0
- package/dist/captures/distil-export.js.map +1 -0
- package/dist/captures/ingest.d.ts +21 -0
- package/dist/captures/ingest.js +144 -0
- package/dist/captures/ingest.js.map +1 -0
- package/dist/captures/live-publisher.d.ts +9 -0
- package/dist/captures/live-publisher.js +5 -3
- package/dist/captures/live-publisher.js.map +1 -1
- package/dist/captures/publish.d.ts +15 -0
- package/dist/captures/publish.js +17 -7
- package/dist/captures/publish.js.map +1 -1
- package/dist/cli/commands/codedigest-revert-check.js +6 -2
- package/dist/cli/commands/codedigest-revert-check.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts +3 -0
- package/dist/cli/commands/doctor.js +36 -4
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/eval.d.ts +87 -0
- package/dist/cli/commands/eval.js +481 -0
- package/dist/cli/commands/eval.js.map +1 -0
- package/dist/cli/commands/rewards.d.ts +2 -0
- package/dist/cli/commands/rewards.js +39 -10
- package/dist/cli/commands/rewards.js.map +1 -1
- package/dist/cli/commands/solver-nets.js +68 -0
- package/dist/cli/commands/solver-nets.js.map +1 -1
- package/dist/cli/commands/status.js +0 -1
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/update.js +8 -0
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/commands/version.js +4 -0
- package/dist/cli/commands/version.js.map +1 -1
- package/dist/cli/execution-context.js +2 -1
- package/dist/cli/execution-context.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 +0 -3
- package/dist/cli/introspection-context.js.map +1 -1
- package/dist/config.d.ts +158 -541
- package/dist/config.js +190 -197
- package/dist/config.js.map +1 -1
- package/dist/contracts/abis.d.ts +100 -0
- package/dist/contracts/abis.js +58 -0
- package/dist/contracts/abis.js.map +1 -0
- package/dist/contracts/addresses.d.ts +36 -0
- package/dist/contracts/addresses.js +60 -0
- package/dist/contracts/addresses.js.map +1 -0
- package/dist/corpus/acquire.d.ts +7 -6
- package/dist/corpus/acquire.js +10 -10
- package/dist/corpus/acquire.js.map +1 -1
- package/dist/corpus/fetch-artifact.d.ts +21 -0
- package/dist/corpus/fetch-artifact.js +33 -0
- package/dist/corpus/fetch-artifact.js.map +1 -0
- package/dist/corpus/index.d.ts +2 -2
- package/dist/corpus/onchain-query.d.ts +0 -1
- package/dist/corpus/onchain-query.js +2 -5
- package/dist/corpus/onchain-query.js.map +1 -1
- package/dist/corpus/route-resolver.d.ts +3 -3
- package/dist/corpus/route-resolver.js +3 -3
- package/dist/daemon/ai-units-gate.d.ts +6 -6
- package/dist/daemon/ai-units-gate.js +11 -10
- package/dist/daemon/ai-units-gate.js.map +1 -1
- package/dist/daemon/balance-topup-loop.js +27 -9
- package/dist/daemon/balance-topup-loop.js.map +1 -1
- package/dist/daemon/checkpoint-loop.js +2 -2
- package/dist/daemon/creator.d.ts +1 -0
- package/dist/daemon/creator.js +39 -25
- package/dist/daemon/creator.js.map +1 -1
- package/dist/daemon/daemon.d.ts +15 -10
- package/dist/daemon/daemon.js +95 -41
- package/dist/daemon/daemon.js.map +1 -1
- package/dist/daemon/delivery-watcher.d.ts +9 -0
- package/dist/daemon/delivery-watcher.js +24 -1
- package/dist/daemon/delivery-watcher.js.map +1 -1
- package/dist/daemon/eviction-loop.d.ts +7 -0
- package/dist/daemon/eviction-loop.js +19 -3
- package/dist/daemon/eviction-loop.js.map +1 -1
- package/dist/daemon/join-applier.d.ts +35 -0
- package/dist/daemon/join-applier.js +49 -0
- package/dist/daemon/join-applier.js.map +1 -0
- package/dist/daemon/loop-heartbeat.d.ts +89 -0
- package/dist/daemon/loop-heartbeat.js +75 -0
- package/dist/daemon/loop-heartbeat.js.map +1 -0
- package/dist/{api/peers.js → daemon/peer-sync.js} +3 -1
- package/dist/daemon/peer-sync.js.map +1 -0
- package/dist/daemon/reward-claim-loop.js +28 -10
- package/dist/daemon/reward-claim-loop.js.map +1 -1
- package/dist/daemon/skip-log-dedup.d.ts +1 -1
- package/dist/daemon/skip-log-dedup.js +3 -0
- package/dist/daemon/skip-log-dedup.js.map +1 -1
- package/dist/daemon/spend-cap-gate.d.ts +0 -6
- package/dist/daemon/spend-cap-gate.js +1 -8
- package/dist/daemon/spend-cap-gate.js.map +1 -1
- package/dist/daemon/watchdog-loop.d.ts +84 -0
- package/dist/daemon/watchdog-loop.js +91 -0
- package/dist/daemon/watchdog-loop.js.map +1 -0
- package/dist/dashboard/assets/index-B_5Cb-ZH.js +161 -0
- package/dist/dashboard/assets/index-D7rvJRNa.css +1 -0
- package/dist/dashboard/index.html +2 -2
- package/dist/discovery/http.d.ts +17 -0
- package/dist/discovery/http.js +378 -26
- package/dist/discovery/http.js.map +1 -1
- package/dist/discovery/onchain.js +174 -10
- package/dist/discovery/onchain.js.map +1 -1
- package/dist/discovery/types.d.ts +149 -0
- package/dist/discovery/types.js +40 -0
- package/dist/discovery/types.js.map +1 -1
- package/dist/discovery/with-fallback.js +24 -0
- package/dist/discovery/with-fallback.js.map +1 -1
- package/dist/earning/bootstrap-run.d.ts +25 -0
- package/dist/earning/bootstrap-run.js +315 -0
- package/dist/earning/bootstrap-run.js.map +1 -0
- package/dist/earning/bootstrap.d.ts +31 -11
- package/dist/earning/bootstrap.js +123 -212
- package/dist/earning/bootstrap.js.map +1 -1
- package/dist/earning/contracts.d.ts +2 -232
- package/dist/earning/contracts.js +16 -205
- package/dist/earning/contracts.js.map +1 -1
- package/dist/earning/faucet-topup-store.d.ts +41 -0
- package/dist/earning/faucet-topup-store.js +89 -0
- package/dist/earning/faucet-topup-store.js.map +1 -0
- package/dist/earning/faucet.d.ts +1 -1
- package/dist/earning/faucet.js +2 -2
- package/dist/earning/faucet.js.map +1 -1
- package/dist/earning/safe-adapter.js +12 -45
- package/dist/earning/safe-adapter.js.map +1 -1
- package/dist/earning/steps/context.d.ts +42 -0
- package/dist/earning/steps/context.js +4 -0
- package/dist/earning/steps/context.js.map +1 -0
- package/dist/earning/steps/fleet-identity-register.d.ts +4 -0
- package/dist/earning/steps/fleet-identity-register.js +65 -0
- package/dist/earning/steps/fleet-identity-register.js.map +1 -0
- package/dist/earning/steps/fleet-safe-deploy.d.ts +4 -0
- package/dist/earning/steps/fleet-safe-deploy.js +62 -0
- package/dist/earning/steps/fleet-safe-deploy.js.map +1 -0
- package/dist/earning/steps/fleet-safe-predict.d.ts +4 -0
- package/dist/earning/steps/fleet-safe-predict.js +18 -0
- package/dist/earning/steps/fleet-safe-predict.js.map +1 -0
- package/dist/earning/steps/receipt-parsing.d.ts +12 -0
- package/dist/earning/steps/receipt-parsing.js +71 -0
- package/dist/earning/steps/receipt-parsing.js.map +1 -0
- package/dist/earning/stolas-claim.js +8 -8
- package/dist/earning/stolas-claim.js.map +1 -1
- package/dist/earning/{jinn-rewards.d.ts → stolas-staking.d.ts} +4 -8
- package/dist/earning/{jinn-rewards.js → stolas-staking.js} +6 -10
- package/dist/earning/stolas-staking.js.map +1 -0
- package/dist/earning/testnet-setup-migration.d.ts +1 -0
- package/dist/earning/testnet-setup-migration.js +7 -2
- package/dist/earning/testnet-setup-migration.js.map +1 -1
- package/dist/earning/types.d.ts +1 -1
- package/dist/earning/types.js +1 -1
- package/dist/earning/types.js.map +1 -1
- package/dist/earning/viem-clients.d.ts +3 -19
- package/dist/earning/viem-clients.js +4 -31
- package/dist/earning/viem-clients.js.map +1 -1
- package/dist/erc8004/addresses.d.ts +6 -5
- package/dist/erc8004/addresses.js +7 -5
- package/dist/erc8004/addresses.js.map +1 -1
- package/dist/erc8004/identity.d.ts +12 -1
- package/dist/erc8004/identity.js +31 -0
- package/dist/erc8004/identity.js.map +1 -1
- package/dist/erc8004/index.d.ts +1 -1
- package/dist/erc8004/index.js +1 -1
- package/dist/erc8004/index.js.map +1 -1
- package/dist/eval/capability-slate.d.ts +54 -0
- package/dist/eval/capability-slate.js +116 -0
- package/dist/eval/capability-slate.js.map +1 -0
- package/dist/eval/capability-stats.d.ts +39 -0
- package/dist/eval/capability-stats.js +123 -0
- package/dist/eval/capability-stats.js.map +1 -0
- package/dist/eval/contested-band.d.ts +18 -0
- package/dist/eval/contested-band.js +19 -0
- package/dist/eval/contested-band.js.map +1 -0
- package/dist/eval/corpus-index.d.ts +21 -0
- package/dist/eval/corpus-index.js +55 -0
- package/dist/eval/corpus-index.js.map +1 -0
- package/dist/eval/disjointness.d.ts +26 -0
- package/dist/eval/disjointness.js +67 -0
- package/dist/eval/disjointness.js.map +1 -0
- package/dist/eval/eval-harness-run.d.ts +63 -0
- package/dist/eval/eval-harness-run.js +123 -0
- package/dist/eval/eval-harness-run.js.map +1 -0
- package/dist/eval/mcnemar-power.d.ts +14 -0
- package/dist/eval/mcnemar-power.js +40 -0
- package/dist/eval/mcnemar-power.js.map +1 -0
- package/dist/eval/orchestrator.d.ts +224 -0
- package/dist/eval/orchestrator.js +250 -0
- package/dist/eval/orchestrator.js.map +1 -0
- package/dist/eval/paired.d.ts +68 -0
- package/dist/eval/paired.js +93 -0
- package/dist/eval/paired.js.map +1 -0
- package/dist/eval/resolve-slate-tasks.d.ts +35 -0
- package/dist/eval/resolve-slate-tasks.js +56 -0
- package/dist/eval/resolve-slate-tasks.js.map +1 -0
- package/dist/eval/screen-discovery.d.ts +22 -0
- package/dist/eval/screen-discovery.js +71 -0
- package/dist/eval/screen-discovery.js.map +1 -0
- package/dist/eval/screen-progress.d.ts +41 -0
- package/dist/eval/screen-progress.js +60 -0
- package/dist/eval/screen-progress.js.map +1 -0
- package/dist/eval/screen-runner.d.ts +30 -0
- package/dist/eval/screen-runner.js +289 -0
- package/dist/eval/screen-runner.js.map +1 -0
- package/dist/eval/screen.d.ts +107 -0
- package/dist/eval/screen.js +159 -0
- package/dist/eval/screen.js.map +1 -0
- package/dist/eval/slope.d.ts +29 -0
- package/dist/eval/slope.js +46 -0
- package/dist/eval/slope.js.map +1 -0
- package/dist/eval/train-sequence.d.ts +35 -0
- package/dist/eval/train-sequence.js +59 -0
- package/dist/eval/train-sequence.js.map +1 -0
- package/dist/eval/wilson.d.ts +45 -0
- package/dist/eval/wilson.js +48 -0
- package/dist/eval/wilson.js.map +1 -0
- package/dist/events/types.d.ts +1 -1
- package/dist/events/types.js +1 -1
- package/dist/events/types.js.map +1 -1
- package/dist/harnesses/auth-source.d.ts +51 -0
- package/dist/harnesses/auth-source.js +155 -0
- package/dist/harnesses/auth-source.js.map +1 -0
- package/dist/harnesses/engine/canonical-json.js +5 -3
- package/dist/harnesses/engine/canonical-json.js.map +1 -1
- package/dist/harnesses/engine/engine.d.ts +34 -1
- package/dist/harnesses/engine/engine.js +91 -11
- package/dist/harnesses/engine/engine.js.map +1 -1
- package/dist/harnesses/engine/packaging.js +5 -5
- package/dist/harnesses/engine/packaging.js.map +1 -1
- package/dist/harnesses/engine/persistence.d.ts +19 -61
- package/dist/harnesses/engine/persistence.js +28 -0
- package/dist/harnesses/engine/persistence.js.map +1 -1
- package/dist/harnesses/impls/_evaluator-base.d.ts +48 -0
- package/dist/harnesses/impls/_evaluator-base.js +35 -0
- package/dist/harnesses/impls/_evaluator-base.js.map +1 -0
- package/dist/harnesses/impls/claude-mcp-hyperliquid/mcp-tools.d.ts +1 -1
- package/dist/harnesses/impls/claude-mcp-hyperliquid/mcp-tools.js +1 -1
- package/dist/harnesses/impls/claude-mcp-hyperliquid/mcp-tools.js.map +1 -1
- package/dist/harnesses/impls/claude-mcp-prediction/index.d.ts +2 -3
- package/dist/harnesses/impls/claude-mcp-prediction/index.js +29 -99
- package/dist/harnesses/impls/claude-mcp-prediction/index.js.map +1 -1
- package/dist/harnesses/impls/claude-mcp-prediction/mcp-tools.js +4 -21
- package/dist/harnesses/impls/claude-mcp-prediction/mcp-tools.js.map +1 -1
- package/dist/harnesses/impls/claude-mcp-prediction/session-orchestrator.d.ts +2 -0
- package/dist/harnesses/impls/claude-mcp-prediction/session-orchestrator.js +1 -1
- package/dist/harnesses/impls/claude-mcp-prediction/session-orchestrator.js.map +1 -1
- package/dist/harnesses/impls/claude-mcp-prediction-apy/index.js +30 -79
- package/dist/harnesses/impls/claude-mcp-prediction-apy/index.js.map +1 -1
- package/dist/harnesses/impls/claude-mcp-prediction-apy/mcp-tools.js +4 -19
- package/dist/harnesses/impls/claude-mcp-prediction-apy/mcp-tools.js.map +1 -1
- package/dist/harnesses/impls/claude-mcp-prediction-apy/session-orchestrator.d.ts +2 -0
- package/dist/harnesses/impls/claude-mcp-prediction-apy/session-orchestrator.js +1 -1
- package/dist/harnesses/impls/claude-mcp-prediction-apy/session-orchestrator.js.map +1 -1
- package/dist/harnesses/impls/claude-mcp-shared/mcp-server-script.d.ts +39 -0
- package/dist/harnesses/impls/claude-mcp-shared/mcp-server-script.js +62 -0
- package/dist/harnesses/impls/claude-mcp-shared/mcp-server-script.js.map +1 -0
- package/dist/harnesses/impls/claude-mcp-shared/mcp-server.d.ts +40 -0
- package/dist/harnesses/impls/claude-mcp-shared/mcp-server.js +44 -0
- package/dist/harnesses/impls/claude-mcp-shared/mcp-server.js.map +1 -0
- package/dist/harnesses/impls/claude-mcp-shared/single-session-harness.d.ts +56 -0
- package/dist/harnesses/impls/claude-mcp-shared/single-session-harness.js +79 -0
- package/dist/harnesses/impls/claude-mcp-shared/single-session-harness.js.map +1 -0
- package/dist/harnesses/impls/hermes-agent/adapter.d.ts +2 -0
- package/dist/harnesses/impls/hermes-agent/adapter.js +8 -5
- package/dist/harnesses/impls/hermes-agent/adapter.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/bootstrap.d.ts +1 -0
- package/dist/harnesses/impls/hermes-agent/bootstrap.js +6 -1
- package/dist/harnesses/impls/hermes-agent/bootstrap.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/harness.d.ts +25 -3
- package/dist/harnesses/impls/hermes-agent/harness.js +89 -5
- package/dist/harnesses/impls/hermes-agent/harness.js.map +1 -1
- package/dist/harnesses/impls/index.d.ts +2 -0
- package/dist/harnesses/impls/index.js +10 -1
- package/dist/harnesses/impls/index.js.map +1 -1
- package/dist/harnesses/impls/jinn-repo-evaluator/eval-runner.d.ts +34 -0
- package/dist/harnesses/impls/jinn-repo-evaluator/eval-runner.js +111 -0
- package/dist/harnesses/impls/jinn-repo-evaluator/eval-runner.js.map +1 -0
- package/dist/harnesses/impls/jinn-repo-evaluator/evaluator.d.ts +24 -0
- package/dist/harnesses/impls/jinn-repo-evaluator/evaluator.js +19 -0
- package/dist/harnesses/impls/jinn-repo-evaluator/evaluator.js.map +1 -0
- package/dist/harnesses/impls/jinn-repo-evaluator/harness.d.ts +64 -0
- package/dist/harnesses/impls/jinn-repo-evaluator/harness.js +125 -0
- package/dist/harnesses/impls/jinn-repo-evaluator/harness.js.map +1 -0
- package/dist/harnesses/impls/jinn-repo-evaluator/repro.d.ts +32 -0
- package/dist/harnesses/impls/jinn-repo-evaluator/repro.js +73 -0
- package/dist/harnesses/impls/jinn-repo-evaluator/repro.js.map +1 -0
- package/dist/harnesses/impls/learner/adapters/claude-code.js +5 -0
- package/dist/harnesses/impls/learner/adapters/claude-code.js.map +1 -1
- package/dist/harnesses/impls/learner/adapters/codex-code.d.ts +11 -1
- package/dist/harnesses/impls/learner/adapters/codex-code.js +130 -15
- package/dist/harnesses/impls/learner/adapters/codex-code.js.map +1 -1
- package/dist/harnesses/impls/learner/harness.d.ts +29 -1
- package/dist/harnesses/impls/learner/harness.js +85 -1
- package/dist/harnesses/impls/learner/harness.js.map +1 -1
- package/dist/harnesses/impls/learner/harvest.d.ts +2 -0
- package/dist/harnesses/impls/learner/harvest.js +51 -1
- package/dist/harnesses/impls/learner/harvest.js.map +1 -1
- package/dist/harnesses/impls/learner/plugin-path.js +1 -0
- package/dist/harnesses/impls/learner/plugin-path.js.map +1 -1
- package/dist/harnesses/impls/portfolio-v0-evaluator/index.d.ts +5 -15
- package/dist/harnesses/impls/portfolio-v0-evaluator/index.js +10 -29
- package/dist/harnesses/impls/portfolio-v0-evaluator/index.js.map +1 -1
- package/dist/harnesses/impls/prediction-apy-v0-evaluator/index.d.ts +5 -15
- package/dist/harnesses/impls/prediction-apy-v0-evaluator/index.js +10 -23
- package/dist/harnesses/impls/prediction-apy-v0-evaluator/index.js.map +1 -1
- package/dist/harnesses/impls/prediction-v0-evaluator/index.d.ts +5 -15
- package/dist/harnesses/impls/prediction-v0-evaluator/index.js +10 -25
- package/dist/harnesses/impls/prediction-v0-evaluator/index.js.map +1 -1
- package/dist/harnesses/impls/stub.d.ts +2 -2
- package/dist/harnesses/impls/stub.js +2 -2
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js +8 -0
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js.map +1 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js +3 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js.map +1 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.d.ts +2 -2
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js +3 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js.map +1 -1
- package/dist/harnesses/readiness-registry.d.ts +16 -0
- package/dist/harnesses/readiness-registry.js +28 -6
- package/dist/harnesses/readiness-registry.js.map +1 -1
- package/dist/harnesses/types.d.ts +26 -0
- package/dist/learner/revert-decision.d.ts +16 -1
- package/dist/learner/revert-decision.js +38 -18
- package/dist/learner/revert-decision.js.map +1 -1
- package/dist/learner/revert-stats.d.ts +14 -0
- package/dist/learner/revert-stats.js +42 -0
- package/dist/learner/revert-stats.js.map +1 -1
- package/dist/learner/verification-gate.d.ts +53 -0
- package/dist/learner/verification-gate.js +80 -0
- package/dist/learner/verification-gate.js.map +1 -0
- package/dist/local-provider-url.d.ts +3 -0
- package/dist/local-provider-url.js +28 -0
- package/dist/local-provider-url.js.map +1 -0
- package/dist/main.js +188 -566
- package/dist/main.js.map +1 -1
- package/dist/mcp/acquire-artifact.d.ts +3 -3
- package/dist/mcp/acquire-artifact.js +3 -3
- package/dist/mcp/operator-server.js +1 -1
- package/dist/mcp/operator-server.js.map +1 -1
- package/dist/mcp/server.js +5 -6
- package/dist/mcp/server.js.map +1 -1
- package/dist/monitoring/net-liveness.d.ts +143 -0
- package/dist/monitoring/net-liveness.js +301 -0
- package/dist/monitoring/net-liveness.js.map +1 -0
- package/dist/observability/emit-event.d.ts +1 -1
- package/dist/observability/emit-event.js +0 -4
- package/dist/observability/emit-event.js.map +1 -1
- package/dist/observability/progress.d.ts +11 -0
- package/dist/observability/progress.js +16 -0
- package/dist/observability/progress.js.map +1 -0
- package/dist/pilot/cost.d.ts +19 -0
- package/dist/pilot/cost.js +31 -0
- package/dist/pilot/cost.js.map +1 -0
- package/dist/pilot/instance.d.ts +20 -0
- package/dist/pilot/instance.js +19 -0
- package/dist/pilot/instance.js.map +1 -0
- package/dist/pilot/repo.d.ts +31 -0
- package/dist/pilot/repo.js +42 -0
- package/dist/pilot/repo.js.map +1 -0
- package/dist/pilot/solve.d.ts +22 -0
- package/dist/pilot/solve.js +37 -0
- package/dist/pilot/solve.js.map +1 -0
- package/dist/pilot/tally.d.ts +35 -0
- package/dist/pilot/tally.js +61 -0
- package/dist/pilot/tally.js.map +1 -0
- package/dist/plugins/learner/.claude-plugin/plugin.json +1 -1
- package/dist/plugins/learner/.codex-plugin/plugin.json +1 -1
- package/dist/plugins/learner/hooks/session-start +30 -1
- package/dist/plugins/learner/skills/learn/consolidator-prompt.md +4 -0
- package/dist/plugins/local-trace-distiller/.claude-plugin/plugin.json +9 -0
- package/dist/plugins/local-trace-distiller/.codex-plugin/plugin.json +41 -0
- package/dist/plugins/local-trace-distiller/.mcp.json +8 -0
- package/dist/plugins/local-trace-distiller/README.md +27 -0
- package/dist/plugins/local-trace-distiller/jinn.plugin.json +36 -0
- package/dist/plugins/local-trace-distiller/skills/distill/SKILL.md +51 -0
- package/dist/preflight/deployment-readiness.d.ts +127 -0
- package/dist/preflight/deployment-readiness.js +308 -0
- package/dist/preflight/deployment-readiness.js.map +1 -0
- package/dist/preflight/pidfile-liveness.d.ts +7 -1
- package/dist/preflight/pidfile-liveness.js +14 -0
- package/dist/preflight/pidfile-liveness.js.map +1 -1
- package/dist/preflight/rpc-network.d.ts +10 -3
- package/dist/preflight/rpc-network.js +46 -13
- package/dist/preflight/rpc-network.js.map +1 -1
- package/dist/preflight/stable-cwd.d.ts +29 -0
- package/dist/preflight/stable-cwd.js +98 -0
- package/dist/preflight/stable-cwd.js.map +1 -0
- package/dist/rpc/transport.d.ts +43 -5
- package/dist/rpc/transport.js +131 -30
- package/dist/rpc/transport.js.map +1 -1
- package/dist/scripts/swe-rebench-v2-seed-pool.json +2 -1
- package/dist/solver-nets/registry.d.ts +19 -0
- package/dist/solver-nets/registry.js +95 -66
- package/dist/solver-nets/registry.js.map +1 -1
- package/dist/solver-types/_jinn-repo-pool.d.ts +27 -0
- package/dist/solver-types/_jinn-repo-pool.js +27 -0
- package/dist/solver-types/_jinn-repo-pool.js.map +1 -0
- package/dist/solver-types/_swe-rebench-v2-held-out-slate.d.ts +76 -0
- package/dist/solver-types/_swe-rebench-v2-held-out-slate.js +156 -0
- package/dist/solver-types/_swe-rebench-v2-held-out-slate.js.map +1 -0
- package/dist/solver-types/_swe-rebench-v2-pool-recovery.d.ts +81 -0
- package/dist/solver-types/_swe-rebench-v2-pool-recovery.js +116 -0
- package/dist/solver-types/_swe-rebench-v2-pool-recovery.js.map +1 -0
- package/dist/solver-types/_swe-rebench-v2-state.d.ts +9 -0
- package/dist/solver-types/_swe-rebench-v2-state.js +14 -0
- package/dist/solver-types/_swe-rebench-v2-state.js.map +1 -1
- package/dist/solver-types/_swe-rebench-v2-validated-pool.d.ts +30 -0
- package/dist/solver-types/_swe-rebench-v2-validated-pool.js +40 -0
- package/dist/solver-types/_swe-rebench-v2-validated-pool.js.map +1 -1
- package/dist/solver-types/index.js +2 -0
- package/dist/solver-types/index.js.map +1 -1
- package/dist/solver-types/jinn-repo-admit.d.ts +17 -0
- package/dist/solver-types/jinn-repo-admit.js +16 -0
- package/dist/solver-types/jinn-repo-admit.js.map +1 -0
- package/dist/solver-types/jinn-repo-auto.d.ts +60 -0
- package/dist/solver-types/jinn-repo-auto.js +163 -0
- package/dist/solver-types/jinn-repo-auto.js.map +1 -0
- package/dist/solver-types/jinn-repo-definition.d.ts +15 -0
- package/dist/solver-types/jinn-repo-definition.js +34 -0
- package/dist/solver-types/jinn-repo-definition.js.map +1 -0
- package/dist/solver-types/jinn-repo-extract.d.ts +16 -0
- package/dist/solver-types/jinn-repo-extract.js +32 -0
- package/dist/solver-types/jinn-repo-extract.js.map +1 -0
- package/dist/solver-types/jinn-repo.d.ts +21 -0
- package/dist/solver-types/jinn-repo.js +23 -0
- package/dist/solver-types/jinn-repo.js.map +1 -0
- package/dist/solver-types/learner-loop-test.js +1 -1
- package/dist/solver-types/learner-loop-test.js.map +1 -1
- package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v1.json +20 -0
- package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v2.json +19 -0
- package/dist/solver-types/slates/held-out-slate.swe-rebench-v2.v2.screening-report.json +628 -0
- package/dist/solver-types/solver-type.d.ts +8 -0
- package/dist/solver-types/swe-rebench-v2.d.ts +2 -0
- package/dist/solver-types/swe-rebench-v2.js +115 -10
- package/dist/solver-types/swe-rebench-v2.js.map +1 -1
- package/dist/solvernets/launched-record-dispatcher.d.ts +5 -0
- package/dist/solvernets/launched-record-dispatcher.js +14 -1
- package/dist/solvernets/launched-record-dispatcher.js.map +1 -1
- package/dist/solvernets/registry-client-erc8004.js +29 -37
- package/dist/solvernets/registry-client-erc8004.js.map +1 -1
- package/dist/solvernets/registry-client.d.ts +6 -0
- package/dist/solvernets/store.d.ts +1 -1
- package/dist/solvernets/store.js +8 -3
- package/dist/solvernets/store.js.map +1 -1
- package/dist/spend/ai-units-config.d.ts +10 -0
- package/dist/spend/ai-units-config.js +7 -1
- package/dist/spend/ai-units-config.js.map +1 -1
- package/dist/spend/ai-units.d.ts +51 -0
- package/dist/spend/ai-units.js +73 -0
- package/dist/spend/ai-units.js.map +1 -1
- package/dist/spend/credential.d.ts +2 -2
- package/dist/spend/credential.js +9 -3
- package/dist/spend/credential.js.map +1 -1
- package/dist/spend/record.js +12 -5
- package/dist/spend/record.js.map +1 -1
- package/dist/spend/spend-cap.d.ts +10 -0
- package/dist/spend/spend-cap.js +13 -0
- package/dist/spend/spend-cap.js.map +1 -0
- package/dist/spend/usage.js +39 -3
- package/dist/spend/usage.js.map +1 -1
- package/dist/store/store.d.ts +106 -5
- package/dist/store/store.js +194 -8
- package/dist/store/store.js.map +1 -1
- package/dist/trajectory/emit.d.ts +6 -0
- package/dist/trajectory/emit.js +9 -1
- package/dist/trajectory/emit.js.map +1 -1
- package/dist/trajectory/harness-bundle-schema.d.ts +1 -1
- package/dist/trajectory/harness-bundle-schema.js +1 -1
- package/dist/trajectory/harness-bundle-schema.js.map +1 -1
- package/dist/trajectory/processors/identity-scrub.js +22 -3
- package/dist/trajectory/processors/identity-scrub.js.map +1 -1
- package/dist/trajectory/schema.d.ts +1 -1
- package/dist/trajectory/schema.js +1 -1
- package/dist/trajectory/schema.js.map +1 -1
- package/dist/trajectory/scrub/build.d.ts +46 -0
- package/dist/trajectory/scrub/build.js +76 -0
- package/dist/trajectory/scrub/build.js.map +1 -0
- package/dist/trajectory/scrub/emit-scrub.d.ts +41 -0
- package/dist/trajectory/scrub/emit-scrub.js +88 -0
- package/dist/trajectory/scrub/emit-scrub.js.map +1 -0
- package/dist/trajectory/scrub/key-policy.d.ts +20 -0
- package/dist/trajectory/scrub/key-policy.js +43 -0
- package/dist/trajectory/scrub/key-policy.js.map +1 -0
- package/dist/trajectory/scrub/layer2.d.ts +23 -0
- package/dist/trajectory/scrub/layer2.js +33 -0
- package/dist/trajectory/scrub/layer2.js.map +1 -0
- package/dist/trajectory/scrub/ml-pii-stage.d.ts +24 -0
- package/dist/trajectory/scrub/ml-pii-stage.js +43 -0
- package/dist/trajectory/scrub/ml-pii-stage.js.map +1 -0
- package/dist/trajectory/scrub/openredaction-stage.d.ts +178 -0
- package/dist/trajectory/scrub/openredaction-stage.js +269 -0
- package/dist/trajectory/scrub/openredaction-stage.js.map +1 -0
- package/dist/trajectory/scrub/pii-build.d.ts +31 -0
- package/dist/trajectory/scrub/pii-build.js +64 -0
- package/dist/trajectory/scrub/pii-build.js.map +1 -0
- package/dist/trajectory/scrub/pipeline.d.ts +37 -0
- package/dist/trajectory/scrub/pipeline.js +83 -0
- package/dist/trajectory/scrub/pipeline.js.map +1 -0
- package/dist/trajectory/scrub/plain-patterns-stage.d.ts +31 -0
- package/dist/trajectory/scrub/plain-patterns-stage.js +85 -0
- package/dist/trajectory/scrub/plain-patterns-stage.js.map +1 -0
- package/dist/trajectory/scrub/secretlint-stage.d.ts +35 -0
- package/dist/trajectory/scrub/secretlint-stage.js +250 -0
- package/dist/trajectory/scrub/secretlint-stage.js.map +1 -0
- package/dist/trajectory/scrub/transformers-detector.d.ts +35 -0
- package/dist/trajectory/scrub/transformers-detector.js +68 -0
- package/dist/trajectory/scrub/transformers-detector.js.map +1 -0
- package/dist/trajectory/scrub/types.d.ts +25 -0
- package/dist/trajectory/scrub/types.js +2 -0
- package/dist/trajectory/scrub/types.js.map +1 -0
- package/dist/trajectory/transcript-parsers/types.d.ts +1 -1
- package/dist/trajectory/transcript-parsers/types.js +1 -1
- package/dist/trajectory/transcript-parsers/types.js.map +1 -1
- package/dist/trajectory/transcript-watcher.d.ts +26 -0
- package/dist/trajectory/transcript-watcher.js +33 -0
- package/dist/trajectory/transcript-watcher.js.map +1 -1
- package/dist/tx-retry.d.ts +12 -0
- package/dist/tx-retry.js +41 -12
- package/dist/tx-retry.js.map +1 -1
- package/dist/types/envelope.d.ts +1 -1
- package/dist/types/envelope.js +1 -1
- package/dist/types/envelope.js.map +1 -1
- package/dist/types/payloads/index.d.ts +1 -1
- package/dist/types/payloads/index.js +7 -1
- package/dist/types/payloads/index.js.map +1 -1
- package/dist/types/payloads/portfolio-v0.d.ts +1 -1
- package/dist/types/payloads/portfolio-v0.js +1 -1
- package/dist/types/payloads/portfolio-v0.js.map +1 -1
- package/dist/types/payloads/prediction-apy-v0.d.ts +1 -1
- package/dist/types/payloads/prediction-apy-v0.js +1 -1
- package/dist/types/payloads/prediction-apy-v0.js.map +1 -1
- package/dist/types/payloads/prediction-v0.d.ts +1 -1
- package/dist/types/payloads/prediction-v0.js +1 -1
- package/dist/types/payloads/prediction-v0.js.map +1 -1
- package/dist/types/portfolio.d.ts +1 -1
- package/dist/types/portfolio.js +1 -1
- package/dist/types/portfolio.js.map +1 -1
- package/dist/types/prediction-apy.d.ts +1 -1
- package/dist/types/prediction-apy.js +1 -1
- package/dist/types/prediction-apy.js.map +1 -1
- package/dist/types/prediction.d.ts +1 -1
- package/dist/types/prediction.js +1 -1
- package/dist/types/prediction.js.map +1 -1
- package/dist/types/session-provenance.d.ts +1 -1
- package/dist/types/session-provenance.js +1 -1
- package/dist/types/session-provenance.js.map +1 -1
- package/dist/types/skill-artifact.d.ts +442 -0
- package/dist/types/skill-artifact.js +137 -0
- package/dist/types/skill-artifact.js.map +1 -0
- package/dist/types/task-document.d.ts +315 -1
- package/dist/types/task-document.js +9 -1
- package/dist/types/task-document.js.map +1 -1
- package/dist/types/task-run-read-model.d.ts +21 -0
- package/dist/types/task-run-read-model.js +2 -0
- package/dist/types/task-run-read-model.js.map +1 -0
- package/dist/types/task-run.d.ts +75 -0
- package/dist/types/task-run.js +2 -0
- package/dist/types/task-run.js.map +1 -0
- package/dist/types/task.d.ts +29 -1
- package/dist/types/task.js +1 -1
- package/dist/types/task.js.map +1 -1
- package/dist/types/window.d.ts +1 -1
- package/dist/types/window.js +1 -1
- package/dist/types/window.js.map +1 -1
- package/dist/util/redact-rpc-urls.d.ts +1 -1
- package/dist/util/redact-rpc-urls.js +57 -2
- package/dist/util/redact-rpc-urls.js.map +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/checkpoint.d.ts +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/checkpoint.js +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/contracts.d.ts +3 -2
- package/dist/vendor/@jinn-network/sdk/dist/contracts.js +49 -0
- package/dist/vendor/@jinn-network/sdk/dist/jinn-repo.d.ts +44 -0
- package/dist/vendor/@jinn-network/sdk/dist/jinn-repo.js +25 -0
- package/dist/vendor/@jinn-network/sdk/dist/json-schema.d.ts +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/json-schema.js +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/payloads/jinn-repo.d.ts +38 -0
- package/dist/vendor/@jinn-network/sdk/dist/payloads/jinn-repo.js +22 -0
- package/dist/vendor/@jinn-network/sdk/dist/payloads/prediction-v1.d.ts +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/payloads/prediction-v1.js +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/payloads/session-derived.d.ts +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/payloads/session-derived.js +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/payloads/swe-rebench-v2.d.ts +109 -2
- package/dist/vendor/@jinn-network/sdk/dist/payloads/swe-rebench-v2.js +26 -2
- package/dist/vendor/@jinn-network/sdk/dist/prediction-v1.d.ts +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/prediction-v1.js +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/jinn-repo.d.ts +4 -0
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/jinn-repo.js +2 -0
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.d.ts +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.js +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2-held-out-slate.d.ts +65 -0
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2-held-out-slate.js +123 -0
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2.d.ts +2 -2
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/swe-rebench-v2.js +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/swe-rebench-v2.d.ts +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/swe-rebench-v2.js +1 -1
- package/dist/vendor/@jinn-network/sdk/package.json +9 -1
- package/docker-compose.yml +3 -2
- package/package.json +43 -28
- package/plugins/jinn-repo-runtime/.claude-plugin/plugin.json +5 -0
- package/plugins/jinn-repo-runtime/.codex-plugin/plugin.json +39 -0
- package/plugins/jinn-repo-runtime/README.md +27 -0
- package/plugins/jinn-repo-runtime/hooks/hooks.json +16 -0
- package/plugins/jinn-repo-runtime/hooks/session-start +73 -0
- package/plugins/jinn-repo-runtime/jinn.plugin.json +11 -0
- package/plugins/jinn-repo-runtime/skills/task/SKILL.md +92 -0
- package/plugins/learner/.claude-plugin/plugin.json +1 -1
- package/plugins/learner/.codex-plugin/plugin.json +1 -1
- package/plugins/learner/hooks/session-start +30 -1
- package/plugins/learner/skills/learn/consolidator-prompt.md +4 -0
- package/plugins/local-trace-distiller/.claude-plugin/plugin.json +9 -0
- package/plugins/local-trace-distiller/.codex-plugin/plugin.json +41 -0
- package/plugins/local-trace-distiller/.mcp.json +8 -0
- package/plugins/local-trace-distiller/README.md +27 -0
- package/plugins/local-trace-distiller/jinn.plugin.json +36 -0
- package/plugins/local-trace-distiller/skills/distill/SKILL.md +51 -0
- package/plugins/swe-rebench-v2-runtime/hooks/hooks.json +16 -0
- package/plugins/swe-rebench-v2-runtime/hooks/session-start +74 -0
- package/deployments/deployment-jinn-mvi-l1-sepolia-fast.json +0 -55
- package/deployments/deployment-jinn-mvi-l1-sepolia.json +0 -55
- package/deployments/deployment-jinn-mvi-l2-baseSepolia.json +0 -13
- package/deployments/deployment-jinn-testnet-faucet-baseSepolia-fast.json +0 -15
- package/dist/api/peers.js.map +0 -1
- package/dist/daemon/jinn-claim-loop-canonical.d.ts +0 -207
- package/dist/daemon/jinn-claim-loop-canonical.js +0 -296
- package/dist/daemon/jinn-claim-loop-canonical.js.map +0 -1
- package/dist/daemon/jinn-claim-loop-mock.d.ts +0 -61
- package/dist/daemon/jinn-claim-loop-mock.js +0 -122
- package/dist/daemon/jinn-claim-loop-mock.js.map +0 -1
- package/dist/daemon/jinn-claim-loop-wiring.d.ts +0 -33
- package/dist/daemon/jinn-claim-loop-wiring.js +0 -40
- package/dist/daemon/jinn-claim-loop-wiring.js.map +0 -1
- package/dist/daemon/jinn-claim-loop.d.ts +0 -130
- package/dist/daemon/jinn-claim-loop.js +0 -328
- package/dist/daemon/jinn-claim-loop.js.map +0 -1
- package/dist/dashboard/assets/index-CzKxvMcU.css +0 -32
- package/dist/dashboard/assets/index-yVemxHot.js +0 -351
- package/dist/earning/jinn-rewards.js.map +0 -1
- package/dist/scripts/donation-consumption-acceptance.d.ts +0 -85
- package/dist/scripts/donation-consumption-acceptance.js +0 -1382
- package/dist/scripts/donation-consumption-acceptance.js.map +0 -1
- package/dist/x402/acquire.d.ts +0 -17
- package/dist/x402/acquire.js +0 -49
- package/dist/x402/acquire.js.map +0 -1
- package/dist/x402/facilitator.d.ts +0 -11
- package/dist/x402/facilitator.js +0 -52
- package/dist/x402/facilitator.js.map +0 -1
- package/dist/x402/handler.d.ts +0 -27
- package/dist/x402/handler.js +0 -236
- package/dist/x402/handler.js.map +0 -1
- /package/dist/{api/peers.d.ts → daemon/peer-sync.d.ts} +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createPublicClient, decodeAbiParameters, decodeEventLog, http, } from 'viem';
|
|
2
2
|
import { base, baseSepolia } from 'viem/chains';
|
|
3
3
|
import { PAYLOAD_TUPLE, PAYLOAD_TUPLE_V2 } from '../erc8004/abis.js';
|
|
4
|
+
import { IDENTITY_REGISTRY_ADDRESSES } from '../contracts/addresses.js';
|
|
4
5
|
const DEFAULT_LIMIT = 50;
|
|
5
6
|
const HARD_LIMIT = 500;
|
|
6
7
|
const DEFAULT_CHUNK_BLOCKS = 9999n;
|
|
@@ -8,10 +9,6 @@ export const DEFAULT_EXECUTION_DISCOVERY_FROM_BLOCK = {
|
|
|
8
9
|
84532: 41100000n,
|
|
9
10
|
8453: 25000000n,
|
|
10
11
|
};
|
|
11
|
-
export const DEFAULT_IDENTITY_REGISTRY_BY_CHAIN_ID = {
|
|
12
|
-
84532: '0x8004A818BFB912233c491871b3d84c89A494BD9e',
|
|
13
|
-
8453: '0x8004A169FB4a3325136EB29fA0ceB6D2e539a432',
|
|
14
|
-
};
|
|
15
12
|
const IDENTITY_METADATA_ABI = [
|
|
16
13
|
{
|
|
17
14
|
type: 'event',
|
|
@@ -115,7 +112,7 @@ function matchesQuery(ref, q) {
|
|
|
115
112
|
return true;
|
|
116
113
|
}
|
|
117
114
|
export async function runOnchainCorpusQuery(q, opts) {
|
|
118
|
-
const address = opts.identityRegistryAddress ??
|
|
115
|
+
const address = opts.identityRegistryAddress ?? IDENTITY_REGISTRY_ADDRESSES[opts.chainId];
|
|
119
116
|
if (!address)
|
|
120
117
|
return [];
|
|
121
118
|
const client = opts.publicClient ?? createPublicClient({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onchain-query.js","sourceRoot":"","sources":["../../src/corpus/onchain-query.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,IAAI,GAKL,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"onchain-query.js","sourceRoot":"","sources":["../../src/corpus/onchain-query.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* Default RouteResolver — uses the artifact's own access.endpoint directly.
|
|
3
3
|
*
|
|
4
4
|
* Phase A.1 doesn't ship a centralized resolver: every artifact descriptor in
|
|
5
|
-
* the manifest envelope already carries its own `access.endpoint
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* the manifest envelope already carries its own `access.endpoint`. The default
|
|
6
|
+
* resolver simply returns null so the acquire chain falls through to the free
|
|
7
|
+
* origin fetch using that endpoint.
|
|
8
8
|
*
|
|
9
9
|
* Future phases may introduce a real resolver (e.g. multi-mirror selection,
|
|
10
10
|
* DHT lookup, peer routing) by implementing the `RouteResolver` interface from
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* Default RouteResolver — uses the artifact's own access.endpoint directly.
|
|
3
3
|
*
|
|
4
4
|
* Phase A.1 doesn't ship a centralized resolver: every artifact descriptor in
|
|
5
|
-
* the manifest envelope already carries its own `access.endpoint
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* the manifest envelope already carries its own `access.endpoint`. The default
|
|
6
|
+
* resolver simply returns null so the acquire chain falls through to the free
|
|
7
|
+
* origin fetch using that endpoint.
|
|
8
8
|
*
|
|
9
9
|
* Future phases may introduce a real resolver (e.g. multi-mirror selection,
|
|
10
10
|
* DHT lookup, peer routing) by implementing the `RouteResolver` interface from
|
|
@@ -19,12 +19,12 @@ import type { GateLogger } from './gate-logger.js';
|
|
|
19
19
|
export type AiUnitsGateWindow = 'block' | 'week';
|
|
20
20
|
export interface AiUnitsGateArgs {
|
|
21
21
|
credentialId: string;
|
|
22
|
-
/**
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
/** USD micros projected for the next claim, or `null` when unknown. */
|
|
23
|
+
projectedUsdMicros: number | null;
|
|
24
|
+
usdMicrosThisBlock: number;
|
|
25
|
+
usdMicrosThisWeek: number;
|
|
26
|
+
capPerBlockUsdMicros: number;
|
|
27
|
+
capPerWeekUsdMicros: number;
|
|
28
28
|
/** Stable id for the current 6h UTC block — used to dedupe pause logs. */
|
|
29
29
|
blockId: string;
|
|
30
30
|
logger: GateLogger;
|
|
@@ -24,19 +24,19 @@ function memoKey(credentialId, window) {
|
|
|
24
24
|
*/
|
|
25
25
|
const warnedUnknownProjection = new Set();
|
|
26
26
|
export function gateClaimByAiUnits(args) {
|
|
27
|
-
if (args.
|
|
27
|
+
if (args.projectedUsdMicros == null) {
|
|
28
28
|
if (!warnedUnknownProjection.has(args.credentialId)) {
|
|
29
29
|
args.logger.warn(`[ai-units-gate] ${args.credentialId} projection unknown for this harness/model; ` +
|
|
30
|
-
'gate is fail-open (proceeding). Add the model to MODEL_COST_TABLE to enable
|
|
30
|
+
'gate is fail-open (proceeding). Add the model to MODEL_COST_TABLE to enable spend gating.');
|
|
31
31
|
warnedUnknownProjection.add(args.credentialId);
|
|
32
32
|
}
|
|
33
33
|
return { proceed: true };
|
|
34
34
|
}
|
|
35
|
-
const projected = args.
|
|
36
|
-
const blockTotal = args.
|
|
37
|
-
const weekTotal = args.
|
|
38
|
-
const overBlock = blockTotal > args.
|
|
39
|
-
const overWeek = weekTotal > args.
|
|
35
|
+
const projected = args.projectedUsdMicros;
|
|
36
|
+
const blockTotal = args.usdMicrosThisBlock + projected;
|
|
37
|
+
const weekTotal = args.usdMicrosThisWeek + projected;
|
|
38
|
+
const overBlock = blockTotal > args.capPerBlockUsdMicros;
|
|
39
|
+
const overWeek = weekTotal > args.capPerWeekUsdMicros;
|
|
40
40
|
if (!overBlock && !overWeek) {
|
|
41
41
|
// Clear memos for this credential when we are below both caps.
|
|
42
42
|
lastPausedMemo.delete(memoKey(args.credentialId, 'block'));
|
|
@@ -47,9 +47,10 @@ export function gateClaimByAiUnits(args) {
|
|
|
47
47
|
// operator-relevant frame; the weekly cap is the safety net.
|
|
48
48
|
const window = overBlock ? 'block' : 'week';
|
|
49
49
|
const total = window === 'block' ? blockTotal : weekTotal;
|
|
50
|
-
const cap = window === 'block' ? args.
|
|
51
|
-
const reason = `
|
|
52
|
-
`(
|
|
50
|
+
const cap = window === 'block' ? args.capPerBlockUsdMicros : args.capPerWeekUsdMicros;
|
|
51
|
+
const reason = `Spend ${window} cap reached for ${args.credentialId} ` +
|
|
52
|
+
`($${(total / 1_000_000).toFixed(4)} / $${(cap / 1_000_000).toFixed(4)}; ` +
|
|
53
|
+
`+$${(projected / 1_000_000).toFixed(4)} projected for this claim)`;
|
|
53
54
|
const key = memoKey(args.credentialId, window);
|
|
54
55
|
// Cross-restart hydration: the first time this process encounters a
|
|
55
56
|
// `(credentialId, window)` pair, ask the store whether the cap-reached
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-units-gate.js","sourceRoot":"","sources":["../../src/daemon/ai-units-gate.ts"],"names":[],"mappings":"AAoDA;;;;;;;;;;;GAWG;AACH,MAAM,cAAc,GAAG,IAAI,GAAG,EAA0D,CAAC;AACzF,4FAA4F;AAC5F,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;AAEnC,SAAS,OAAO,CAAC,YAAoB,EAAE,MAAyB;IAC9D,OAAO,GAAG,YAAY,KAAK,MAAM,EAAE,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAU,CAAC;AAElD,MAAM,UAAU,kBAAkB,CAAC,IAAqB;IACtD,IAAI,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"ai-units-gate.js","sourceRoot":"","sources":["../../src/daemon/ai-units-gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ import { viemSendTransactionWithRetry, waitForTransactionReceiptWithRetry } from
|
|
|
13
13
|
import { emitEvent } from '../observability/emit-event.js';
|
|
14
14
|
import { displayFleetServiceIndex } from '../earning/fleet-display-index.js';
|
|
15
15
|
import { isOperationalServiceStep } from '../earning/types.js';
|
|
16
|
+
import { runLoop } from './loop-heartbeat.js';
|
|
16
17
|
export class BalanceTopupLoop {
|
|
17
18
|
config;
|
|
18
19
|
stopped = false;
|
|
@@ -105,21 +106,38 @@ export class BalanceTopupLoop {
|
|
|
105
106
|
if (this.config.intervalMs <= 0) {
|
|
106
107
|
return;
|
|
107
108
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
109
|
+
const jinnStore = this.config.jinnStore;
|
|
110
|
+
if (!jinnStore) {
|
|
111
|
+
// Without a Store there is no heartbeat surface; keep the minimal inline
|
|
112
|
+
// loop so runLoop's always-stamp behavior can't fire without a store.
|
|
113
|
+
while (!this.stopped) {
|
|
114
|
+
try {
|
|
115
|
+
await this.runOnce();
|
|
116
|
+
}
|
|
117
|
+
catch (err) {
|
|
118
|
+
console.error('[balance-topup] Tick failed (non-fatal):', err instanceof Error ? err.message : err);
|
|
119
|
+
}
|
|
120
|
+
await new Promise(r => setTimeout(r, this.config.intervalMs));
|
|
111
121
|
}
|
|
112
|
-
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
await runLoop({
|
|
125
|
+
name: 'balance-topup',
|
|
126
|
+
store: jinnStore,
|
|
127
|
+
tick: () => this.runOnce(),
|
|
128
|
+
intervalMs: this.config.intervalMs,
|
|
129
|
+
stopSignal: () => this.stopped,
|
|
130
|
+
emitSource: 'balance-topup',
|
|
131
|
+
onError: (err) => {
|
|
113
132
|
console.error('[balance-topup] Tick failed (non-fatal):', err instanceof Error ? err.message : err);
|
|
114
|
-
|
|
133
|
+
emitEvent(jinnStore, {
|
|
115
134
|
kind: 'tick_error',
|
|
116
135
|
outcome: 'failed',
|
|
117
136
|
detail: err instanceof Error ? err.message : String(err),
|
|
118
137
|
}, 'balance-topup');
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
}
|
|
138
|
+
},
|
|
139
|
+
afterTick: () => jinnStore.setConfigValue('last_balance_topup_tick_at', new Date().toISOString()),
|
|
140
|
+
});
|
|
123
141
|
}
|
|
124
142
|
}
|
|
125
143
|
//# sourceMappingURL=balance-topup-loop.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"balance-topup-loop.js","sourceRoot":"","sources":["../../src/daemon/balance-topup-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAG/C,OAAO,EAAE,4BAA4B,EAAE,kCAAkC,EAAE,MAAM,gBAAgB,CAAC;AAClG,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"balance-topup-loop.js","sourceRoot":"","sources":["../../src/daemon/balance-topup-loop.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,7 +54,7 @@ export class CheckpointLoop {
|
|
|
54
54
|
console.log(`[checkpoint-loop] Service ${displayIndex} (proxy ${proxy}): checkpoint() submitted tx=${txHash}`);
|
|
55
55
|
}
|
|
56
56
|
catch (err) {
|
|
57
|
-
console.
|
|
57
|
+
console.debug(`[checkpoint-loop] Service ${displayIndex} (proxy ${proxy}): checkpoint() failed (non-fatal): ${err instanceof Error ? err.message : err}`);
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
}
|
|
@@ -67,7 +67,7 @@ export class CheckpointLoop {
|
|
|
67
67
|
await this.runOnce();
|
|
68
68
|
}
|
|
69
69
|
catch (err) {
|
|
70
|
-
console.
|
|
70
|
+
console.debug('[checkpoint-loop] Tick failed (non-fatal):', err instanceof Error ? err.message : err);
|
|
71
71
|
}
|
|
72
72
|
await new Promise(r => setTimeout(r, this.config.intervalMs));
|
|
73
73
|
}
|
package/dist/daemon/creator.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ export declare class CreatorLoop {
|
|
|
19
19
|
private stopPromise;
|
|
20
20
|
private readonly postingService;
|
|
21
21
|
private static readonly PERMANENT_FAILURE_BACKOFF_MS;
|
|
22
|
+
private static readonly UNKNOWN_FAILURE_BACKOFF_MS;
|
|
22
23
|
private static failureCacheKey;
|
|
23
24
|
constructor(adapter: ExecutionAdapter, taskSources: TaskSource[], store: Store, safeAddress?: string | undefined);
|
|
24
25
|
tick(): Promise<string[]>;
|
package/dist/daemon/creator.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { PermanentError, TransientError } from '../types/index.js';
|
|
2
2
|
import { isRecoverableTransactionError } from '../tx-retry.js';
|
|
3
3
|
import { emitEvent } from '../observability/emit-event.js';
|
|
4
|
+
import { runLoop } from './loop-heartbeat.js';
|
|
4
5
|
import { TaskPostingService } from '../tasks/posting-service.js';
|
|
5
6
|
import { getSweRebenchV2StateStore } from '../solver-types/swe-rebench-v2.js';
|
|
6
7
|
export class CreatorLoop {
|
|
@@ -14,9 +15,9 @@ export class CreatorLoop {
|
|
|
14
15
|
stopPromise;
|
|
15
16
|
postingService;
|
|
16
17
|
static PERMANENT_FAILURE_BACKOFF_MS = 30 * 60 * 1000;
|
|
17
|
-
static
|
|
18
|
-
|
|
19
|
-
return `${prefix}:${state.id}`;
|
|
18
|
+
static UNKNOWN_FAILURE_BACKOFF_MS = 5 * 60 * 1000;
|
|
19
|
+
static failureCacheKey(state, safeAddress, prefix = 'create_failed') {
|
|
20
|
+
return `${prefix}${safeAddress ? `:${safeAddress}` : ''}:${state.id}`;
|
|
20
21
|
}
|
|
21
22
|
constructor(adapter, taskSources, store, safeAddress) {
|
|
22
23
|
this.adapter = adapter;
|
|
@@ -40,17 +41,22 @@ export class CreatorLoop {
|
|
|
40
41
|
console.error(`[creator] source ${source.sourceKey} error (skipping this tick):`, err);
|
|
41
42
|
}
|
|
42
43
|
}
|
|
44
|
+
const isWithinBackoff = (key, windowMs) => {
|
|
45
|
+
const failedAt = this.store.getConfigValue(key);
|
|
46
|
+
if (!failedAt)
|
|
47
|
+
return false;
|
|
48
|
+
const ts = Number(failedAt);
|
|
49
|
+
return Number.isFinite(ts) && now - ts < windowMs;
|
|
50
|
+
};
|
|
43
51
|
const postedTaskIds = [];
|
|
44
52
|
for (const candidate of candidates) {
|
|
45
53
|
const state = candidate.task;
|
|
46
|
-
const
|
|
47
|
-
const
|
|
48
|
-
if (
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
+
const permanentKey = CreatorLoop.failureCacheKey(state, this.safeAddress);
|
|
55
|
+
const unknownKey = CreatorLoop.failureCacheKey(state, this.safeAddress, 'create_failed_unknown');
|
|
56
|
+
if (isWithinBackoff(permanentKey, CreatorLoop.PERMANENT_FAILURE_BACKOFF_MS))
|
|
57
|
+
continue;
|
|
58
|
+
if (isWithinBackoff(unknownKey, CreatorLoop.UNKNOWN_FAILURE_BACKOFF_MS))
|
|
59
|
+
continue;
|
|
54
60
|
try {
|
|
55
61
|
const postResult = await this.postingService.postCandidate(candidate, {
|
|
56
62
|
creatorSafeAddress: this.safeAddress,
|
|
@@ -82,25 +88,37 @@ export class CreatorLoop {
|
|
|
82
88
|
if (err instanceof TransientError)
|
|
83
89
|
continue;
|
|
84
90
|
if (err instanceof PermanentError) {
|
|
85
|
-
this.store.setConfigValue(
|
|
91
|
+
this.store.setConfigValue(permanentKey, String(now));
|
|
86
92
|
console.error(`[creator] Permanent create failure for ${state.id}; backing off for ` +
|
|
87
93
|
`${Math.round(CreatorLoop.PERMANENT_FAILURE_BACKOFF_MS / 60000)} min: ${err.message}`);
|
|
88
94
|
continue;
|
|
89
95
|
}
|
|
90
|
-
|
|
96
|
+
if (isRecoverableTransactionError(err)) {
|
|
97
|
+
console.warn(`[creator] Recoverable create error for ${state.id}; will retry next tick: ` +
|
|
98
|
+
`${err instanceof Error ? err.message : String(err)}`);
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
this.store.setConfigValue(unknownKey, String(now));
|
|
91
102
|
console.error(`[creator] Create failure for ${state.id}; backing off for ` +
|
|
92
|
-
`${Math.round(CreatorLoop.
|
|
103
|
+
`${Math.round(CreatorLoop.UNKNOWN_FAILURE_BACKOFF_MS / 60000)} min`, err);
|
|
93
104
|
}
|
|
94
105
|
}
|
|
95
106
|
return postedTaskIds;
|
|
96
107
|
}
|
|
97
108
|
async run() {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
109
|
+
let delayMs = 5000;
|
|
110
|
+
await runLoop({
|
|
111
|
+
name: 'creator',
|
|
112
|
+
store: this.store,
|
|
113
|
+
tick: async () => {
|
|
114
|
+
delayMs = 5000;
|
|
101
115
|
await this.tick();
|
|
102
|
-
}
|
|
103
|
-
|
|
116
|
+
},
|
|
117
|
+
intervalMs: () => delayMs,
|
|
118
|
+
stopSignal: () => this.stopped,
|
|
119
|
+
stopPromise: this.stopPromise,
|
|
120
|
+
emitSource: 'creator',
|
|
121
|
+
onError: (err) => {
|
|
104
122
|
console.error('[creator] Error:', err);
|
|
105
123
|
emitEvent(this.store, {
|
|
106
124
|
kind: 'tick_error',
|
|
@@ -108,12 +126,8 @@ export class CreatorLoop {
|
|
|
108
126
|
detail: err instanceof Error ? err.message : String(err),
|
|
109
127
|
}, 'creator');
|
|
110
128
|
delayMs = isRecoverableTransactionError(err) ? 12_000 : 8000;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
new Promise(r => setTimeout(r, delayMs)),
|
|
114
|
-
this.stopPromise,
|
|
115
|
-
]);
|
|
116
|
-
}
|
|
129
|
+
},
|
|
130
|
+
});
|
|
117
131
|
}
|
|
118
132
|
stop() {
|
|
119
133
|
this.stopped = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"creator.js","sourceRoot":"","sources":["../../src/daemon/creator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAS9E,MAAM,OAAO,WAAW;IAeH;IACA;IACA;IACA;IAjBX,OAAO,GAAG,KAAK,CAAC;IAChB,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC5C,WAAW,GAAwB,IAAI,CAAC;IACxC,WAAW,CAAgB;IAClB,cAAc,CAAqB;IAE5C,MAAM,CAAU,4BAA4B,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"creator.js","sourceRoot":"","sources":["../../src/daemon/creator.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon/daemon.d.ts
CHANGED
|
@@ -4,14 +4,12 @@ import { Store } from '../store/store.js';
|
|
|
4
4
|
import { type ApiServer } from '../api/server.js';
|
|
5
5
|
import type { StatusGatherConfig } from '../api/gather-status.js';
|
|
6
6
|
import type { EthHttpSigner } from '../auth/erc8128.js';
|
|
7
|
-
import type { X402Config } from '../x402/handler.js';
|
|
8
7
|
import type { Corpus } from '../corpus/index.js';
|
|
9
8
|
import { type RewardClaimLoopConfig } from './reward-claim-loop.js';
|
|
10
9
|
import { type TaskEngineOptions } from '../harnesses/engine/engine.js';
|
|
11
10
|
import { type BalanceTopupLoopConfig } from './balance-topup-loop.js';
|
|
12
11
|
import { type EvictionLoopConfig } from './eviction-loop.js';
|
|
13
12
|
import { type CheckpointLoopConfig } from './checkpoint-loop.js';
|
|
14
|
-
import { type JinnClaimLoopConfig } from './jinn-claim-loop.js';
|
|
15
13
|
import { type TaskSource } from '../tasks/sources.js';
|
|
16
14
|
import type { Task } from '../types/index.js';
|
|
17
15
|
import type { HarnessReadinessRegistry } from '../harnesses/readiness-registry.js';
|
|
@@ -51,7 +49,6 @@ export interface DaemonConfig {
|
|
|
51
49
|
signer?: EthHttpSigner;
|
|
52
50
|
/** This node's public HTTP endpoint (for 8004 registration) */
|
|
53
51
|
nodeEndpoint?: string;
|
|
54
|
-
x402?: X402Config;
|
|
55
52
|
/**
|
|
56
53
|
* Periodic stOLAS distributor reward claims (master EOA pays gas).
|
|
57
54
|
* Omitted or interval 0 → loop not started.
|
|
@@ -76,12 +73,6 @@ export interface DaemonConfig {
|
|
|
76
73
|
* Omitted or interval 0 → loop not started.
|
|
77
74
|
*/
|
|
78
75
|
checkpoint?: CheckpointLoopConfig;
|
|
79
|
-
/**
|
|
80
|
-
* Cross-chain JINN claim loop (jinn-mono-7x5). Emits ClaimTicket on L2,
|
|
81
|
-
* waits for finality (canonical) or plants a fixture (mock), and submits
|
|
82
|
-
* the L1 distributor claim. Omitted or interval 0 → loop not started.
|
|
83
|
-
*/
|
|
84
|
-
jinnClaim?: JinnClaimLoopConfig;
|
|
85
76
|
/** Passed to HTTP API for GET /v1/status (fleet + RPC hints). */
|
|
86
77
|
status?: StatusGatherConfig;
|
|
87
78
|
/**
|
|
@@ -154,6 +145,20 @@ export interface DaemonConfig {
|
|
|
154
145
|
* Omitted only when no joined SolverNet resolves to a billed credential.
|
|
155
146
|
*/
|
|
156
147
|
aiUnits?: AiUnitsDaemonConfig;
|
|
148
|
+
/**
|
|
149
|
+
* Loop watchdog (#1043). When supplied, the daemon seeds a heartbeat for
|
|
150
|
+
* every started loop and runs a supervisor that detects any loop whose last
|
|
151
|
+
* tick has gone stale. `autoRestart` is the flag-gated recovery (default OFF
|
|
152
|
+
* per the locked Option A decision): off → detect + loud-log + structured
|
|
153
|
+
* event only; on → non-zero process.exit so Railway's ON_FAILURE policy
|
|
154
|
+
* restarts the daemon through its existing idempotent boot path. Omitted in
|
|
155
|
+
* unit tests, so the watchdog is inert there.
|
|
156
|
+
*/
|
|
157
|
+
watchdog?: {
|
|
158
|
+
autoRestart: boolean;
|
|
159
|
+
stalenessFactor?: number;
|
|
160
|
+
checkIntervalMs?: number;
|
|
161
|
+
};
|
|
157
162
|
}
|
|
158
163
|
export declare class Daemon {
|
|
159
164
|
private readonly config;
|
|
@@ -175,7 +180,7 @@ export declare class Daemon {
|
|
|
175
180
|
private balanceTopupLoop?;
|
|
176
181
|
private evictionLoop?;
|
|
177
182
|
private checkpointLoop?;
|
|
178
|
-
private
|
|
183
|
+
private watchdogLoop?;
|
|
179
184
|
private skipLogDeduper;
|
|
180
185
|
constructor(config: DaemonConfig);
|
|
181
186
|
start(): Promise<void>;
|