@jinn-network/client 0.1.6 → 0.1.7-canary.0a586ca9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +33 -0
- package/README.md +67 -1
- package/deployments/deployment-jinn-mvi-l1-sepolia-fast.json +23 -4
- package/deployments/deployment-jinn-mvi-l1-sepolia.json +23 -4
- package/deployments/deployment-jinn-mvi-l2-baseSepolia.json +5 -4
- package/dist/adapters/mech/adapter.d.ts +57 -2
- package/dist/adapters/mech/adapter.js +366 -63
- package/dist/adapters/mech/adapter.js.map +1 -1
- package/dist/adapters/mech/contracts.d.ts +17 -4
- package/dist/adapters/mech/contracts.js +19 -4
- package/dist/adapters/mech/contracts.js.map +1 -1
- package/dist/adapters/mech/safe-revert.d.ts +20 -0
- package/dist/adapters/mech/safe-revert.js +12 -4
- package/dist/adapters/mech/safe-revert.js.map +1 -1
- package/dist/adapters/mech/safe.d.ts +6 -2
- package/dist/adapters/mech/safe.js +32 -11
- package/dist/adapters/mech/safe.js.map +1 -1
- package/dist/adapters/mech/types.d.ts +6 -1
- package/dist/adapters/mech/types.js.map +1 -1
- package/dist/adapters/mech/verdict-code.d.ts +1 -0
- package/dist/adapters/mech/verdict-code.js +18 -0
- package/dist/adapters/mech/verdict-code.js.map +1 -1
- package/dist/agent/operator-claude.js +8 -0
- package/dist/agent/operator-claude.js.map +1 -1
- package/dist/api/activity-events-endpoint.d.ts +14 -0
- package/dist/api/activity-events-endpoint.js +59 -0
- package/dist/api/activity-events-endpoint.js.map +1 -0
- package/dist/api/admin-endpoint.d.ts +15 -3
- package/dist/api/admin-endpoint.js +24 -2
- package/dist/api/admin-endpoint.js.map +1 -1
- package/dist/api/bootstrap-endpoint.d.ts +1 -2
- package/dist/api/bootstrap-endpoint.js +85 -18
- package/dist/api/bootstrap-endpoint.js.map +1 -1
- package/dist/api/codex-doctor-endpoint.d.ts +90 -0
- package/dist/api/codex-doctor-endpoint.js +296 -0
- package/dist/api/codex-doctor-endpoint.js.map +1 -0
- package/dist/api/discovery-endpoint.d.ts +1 -0
- package/dist/api/discovery-endpoint.js +26 -0
- package/dist/api/discovery-endpoint.js.map +1 -1
- package/dist/api/fleet-build.d.ts +1 -0
- package/dist/api/fleet-build.js +2 -1
- package/dist/api/fleet-build.js.map +1 -1
- package/dist/api/gather-status.d.ts +37 -0
- package/dist/api/gather-status.js +572 -19
- package/dist/api/gather-status.js.map +1 -1
- package/dist/api/hermes-doctor-endpoint.d.ts +128 -3
- package/dist/api/hermes-doctor-endpoint.js +265 -22
- package/dist/api/hermes-doctor-endpoint.js.map +1 -1
- package/dist/api/launcher-status.d.ts +24 -17
- package/dist/api/launcher-status.js +13 -11
- package/dist/api/launcher-status.js.map +1 -1
- package/dist/api/launcher-tasks.d.ts +1 -1
- package/dist/api/launcher-tasks.js +12 -8
- package/dist/api/launcher-tasks.js.map +1 -1
- package/dist/api/operator-artifacts-endpoint.js +73 -6
- package/dist/api/operator-artifacts-endpoint.js.map +1 -1
- package/dist/api/portfolio-v0-build.d.ts +10 -0
- package/dist/api/portfolio-v0-build.js +24 -5
- package/dist/api/portfolio-v0-build.js.map +1 -1
- package/dist/api/prediction-v1-build.d.ts +10 -0
- package/dist/api/prediction-v1-build.js +7 -1
- package/dist/api/prediction-v1-build.js.map +1 -1
- package/dist/api/server.d.ts +31 -1
- package/dist/api/server.js +95 -2
- package/dist/api/server.js.map +1 -1
- package/dist/api/setup-endpoints.d.ts +7 -0
- package/dist/api/setup-endpoints.js +67 -135
- package/dist/api/setup-endpoints.js.map +1 -1
- package/dist/api/setup-retry-endpoint.d.ts +19 -0
- package/dist/api/setup-retry-endpoint.js +32 -0
- package/dist/api/setup-retry-endpoint.js.map +1 -0
- package/dist/api/solvernets-endpoints.d.ts +8 -0
- package/dist/api/solvernets-endpoints.js +100 -105
- package/dist/api/solvernets-endpoints.js.map +1 -1
- package/dist/api/status-build.d.ts +167 -2
- package/dist/api/status-build.js +118 -27
- package/dist/api/status-build.js.map +1 -1
- package/dist/api/status-harness-rollup.d.ts +35 -0
- package/dist/api/status-harness-rollup.js +45 -0
- package/dist/api/status-harness-rollup.js.map +1 -0
- package/dist/api/task-run-routing.d.ts +7 -0
- package/dist/api/task-run-routing.js +12 -0
- package/dist/api/task-run-routing.js.map +1 -0
- package/dist/api/task-runs-build.d.ts +21 -0
- package/dist/api/task-runs-build.js +14 -1
- package/dist/api/task-runs-build.js.map +1 -1
- package/dist/build-info.json +4 -4
- package/dist/build-meta.json +1 -1
- package/dist/captures/live-publisher.js +24 -4
- package/dist/captures/live-publisher.js.map +1 -1
- package/dist/captures/publish.d.ts +1 -1
- package/dist/chain-read-errors.d.ts +22 -0
- package/dist/chain-read-errors.js +41 -1
- package/dist/chain-read-errors.js.map +1 -1
- package/dist/cli/commands/auth.js +1 -1
- package/dist/cli/commands/auth.js.map +1 -1
- package/dist/cli/commands/codedigest-revert-check.d.ts +33 -0
- package/dist/cli/commands/codedigest-revert-check.js +249 -0
- package/dist/cli/commands/codedigest-revert-check.js.map +1 -0
- package/dist/cli/commands/create.js +3 -2
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts +2 -0
- package/dist/cli/commands/doctor.js +2 -0
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/rewards.js +11 -7
- package/dist/cli/commands/rewards.js.map +1 -1
- package/dist/cli/commands/solver-nets.d.ts +1 -0
- package/dist/cli/commands/solver-nets.js +179 -16
- package/dist/cli/commands/solver-nets.js.map +1 -1
- package/dist/cli/commands/solver-plugins-block.d.ts +33 -0
- package/dist/cli/commands/solver-plugins-block.js +118 -0
- package/dist/cli/commands/solver-plugins-block.js.map +1 -0
- package/dist/cli/commands/solver-plugins-feedback.d.ts +72 -0
- package/dist/cli/commands/solver-plugins-feedback.js +262 -0
- package/dist/cli/commands/solver-plugins-feedback.js.map +1 -0
- package/dist/cli/commands/solver-plugins-read.d.ts +54 -0
- package/dist/cli/commands/solver-plugins-read.js +259 -0
- package/dist/cli/commands/solver-plugins-read.js.map +1 -0
- package/dist/cli/commands/solver-plugins.d.ts +35 -0
- package/dist/cli/commands/solver-plugins.js +399 -2
- package/dist/cli/commands/solver-plugins.js.map +1 -1
- package/dist/cli/commands/status.js +1 -1
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/tasks.js +101 -11
- package/dist/cli/commands/tasks.js.map +1 -1
- package/dist/cli/commands/update.d.ts +10 -0
- package/dist/cli/commands/update.js +36 -0
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/introspection-context.js +5 -0
- package/dist/cli/introspection-context.js.map +1 -1
- package/dist/cli/task-native-readiness.d.ts +10 -1
- package/dist/cli/task-native-readiness.js +30 -6
- package/dist/cli/task-native-readiness.js.map +1 -1
- package/dist/config.d.ts +287 -235
- package/dist/config.js +318 -114
- package/dist/config.js.map +1 -1
- package/dist/daemon/checkpoint-loop.d.ts +48 -0
- package/dist/daemon/checkpoint-loop.js +76 -0
- package/dist/daemon/checkpoint-loop.js.map +1 -0
- package/dist/daemon/creator.d.ts +1 -1
- package/dist/daemon/creator.js +20 -3
- package/dist/daemon/creator.js.map +1 -1
- package/dist/daemon/daemon.d.ts +22 -0
- package/dist/daemon/daemon.js +174 -31
- package/dist/daemon/daemon.js.map +1 -1
- package/dist/daemon/eviction-loop.d.ts +40 -0
- package/dist/daemon/eviction-loop.js +67 -0
- package/dist/daemon/eviction-loop.js.map +1 -0
- package/dist/daemon/gate-logger.d.ts +9 -0
- package/dist/daemon/gate-logger.js +2 -0
- package/dist/daemon/gate-logger.js.map +1 -0
- package/dist/daemon/jinn-claim-loop-wiring.d.ts +33 -0
- package/dist/daemon/jinn-claim-loop-wiring.js +40 -0
- package/dist/daemon/jinn-claim-loop-wiring.js.map +1 -0
- package/dist/daemon/jinn-claim-loop.d.ts +24 -17
- package/dist/daemon/jinn-claim-loop.js +77 -23
- package/dist/daemon/jinn-claim-loop.js.map +1 -1
- package/dist/daemon/readiness-gate.d.ts +1 -4
- package/dist/daemon/readiness-gate.js.map +1 -1
- package/dist/daemon/skip-log-dedup.d.ts +69 -0
- package/dist/daemon/skip-log-dedup.js +106 -0
- package/dist/daemon/skip-log-dedup.js.map +1 -0
- package/dist/daemon/spend-cap-gate.d.ts +40 -0
- package/dist/daemon/spend-cap-gate.js +46 -0
- package/dist/daemon/spend-cap-gate.js.map +1 -0
- package/dist/dashboard/assets/index-BNs_ewI6.js +345 -0
- package/dist/dashboard/assets/index-C4huIsUW.css +32 -0
- package/dist/dashboard/index.html +2 -2
- package/dist/discovery/factory.d.ts +17 -5
- package/dist/discovery/factory.js +46 -18
- package/dist/discovery/factory.js.map +1 -1
- package/dist/discovery/http.js +469 -3
- package/dist/discovery/http.js.map +1 -1
- package/dist/discovery/onchain.d.ts +5 -0
- package/dist/discovery/onchain.js +448 -18
- package/dist/discovery/onchain.js.map +1 -1
- package/dist/discovery/types.d.ts +174 -1
- package/dist/discovery/types.js +8 -10
- package/dist/discovery/types.js.map +1 -1
- package/dist/discovery/with-fallback.d.ts +7 -0
- package/dist/discovery/with-fallback.js +37 -0
- package/dist/discovery/with-fallback.js.map +1 -1
- package/dist/earning/bootstrap.d.ts +100 -4
- package/dist/earning/bootstrap.js +239 -76
- package/dist/earning/bootstrap.js.map +1 -1
- package/dist/earning/contracts.d.ts +14 -0
- package/dist/earning/contracts.js +17 -5
- package/dist/earning/contracts.js.map +1 -1
- package/dist/earning/funding-plan.js +27 -18
- package/dist/earning/funding-plan.js.map +1 -1
- package/dist/earning/jinn-rewards.d.ts +46 -0
- package/dist/earning/jinn-rewards.js +32 -0
- package/dist/earning/jinn-rewards.js.map +1 -1
- package/dist/earning/safe-adapter.d.ts +2 -0
- package/dist/earning/safe-adapter.js +37 -11
- package/dist/earning/safe-adapter.js.map +1 -1
- package/dist/earning/store.d.ts +8 -0
- package/dist/earning/store.js.map +1 -1
- package/dist/earning/testnet-setup-migration.d.ts +12 -0
- package/dist/earning/testnet-setup-migration.js +27 -1
- package/dist/earning/testnet-setup-migration.js.map +1 -1
- package/dist/earning/types.d.ts +21 -6
- package/dist/earning/viem-clients.d.ts +11 -4
- package/dist/earning/viem-clients.js +14 -5
- package/dist/earning/viem-clients.js.map +1 -1
- package/dist/erc8004/identity.d.ts +19 -3
- package/dist/erc8004/identity.js +21 -6
- package/dist/erc8004/identity.js.map +1 -1
- package/dist/erc8004/index.d.ts +1 -1
- package/dist/erc8004/index.js.map +1 -1
- package/dist/erc8004/reputation.d.ts +8 -0
- package/dist/erc8004/reputation.js +22 -3
- package/dist/erc8004/reputation.js.map +1 -1
- package/dist/events/types.d.ts +2 -2
- package/dist/harnesses/cost-estimates.d.ts +124 -0
- package/dist/harnesses/cost-estimates.js +265 -0
- package/dist/harnesses/cost-estimates.js.map +1 -0
- package/dist/harnesses/engine/engine.d.ts +78 -0
- package/dist/harnesses/engine/engine.js +153 -11
- package/dist/harnesses/engine/engine.js.map +1 -1
- package/dist/harnesses/engine/persistence.d.ts +51 -1
- package/dist/harnesses/engine/persistence.js +118 -5
- package/dist/harnesses/engine/persistence.js.map +1 -1
- package/dist/harnesses/engine/work-dir-reaper.d.ts +65 -0
- package/dist/harnesses/engine/work-dir-reaper.js +100 -0
- package/dist/harnesses/engine/work-dir-reaper.js.map +1 -0
- package/dist/harnesses/impls/hermes-agent/adapter.js +40 -0
- package/dist/harnesses/impls/hermes-agent/adapter.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/bootstrap.d.ts +20 -0
- package/dist/harnesses/impls/hermes-agent/bootstrap.js +44 -8
- package/dist/harnesses/impls/hermes-agent/bootstrap.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/config-builder.d.ts +1 -1
- package/dist/harnesses/impls/hermes-agent/config-builder.js +4 -2
- package/dist/harnesses/impls/hermes-agent/config-builder.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/harness.d.ts +59 -1
- package/dist/harnesses/impls/hermes-agent/harness.js +104 -0
- package/dist/harnesses/impls/hermes-agent/harness.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/prompt.d.ts +6 -6
- package/dist/harnesses/impls/hermes-agent/prompt.js +6 -6
- package/dist/harnesses/impls/index.d.ts +7 -0
- package/dist/harnesses/impls/index.js +16 -1
- package/dist/harnesses/impls/index.js.map +1 -1
- package/dist/harnesses/impls/learner/adapters/codex-code.d.ts +9 -0
- package/dist/harnesses/impls/learner/adapters/codex-code.js +30 -8
- package/dist/harnesses/impls/learner/adapters/codex-code.js.map +1 -1
- package/dist/harnesses/impls/learner/harness.d.ts +47 -4
- package/dist/harnesses/impls/learner/harness.js +105 -2
- package/dist/harnesses/impls/learner/harness.js.map +1 -1
- package/dist/harnesses/impls/learner/harvest.d.ts +1 -1
- package/dist/harnesses/impls/learner/harvest.js +23 -5
- package/dist/harnesses/impls/learner/harvest.js.map +1 -1
- package/dist/harnesses/impls/learner/plugin-path.d.ts +0 -13
- package/dist/harnesses/impls/learner/plugin-path.js +35 -15
- package/dist/harnesses/impls/learner/plugin-path.js.map +1 -1
- package/dist/harnesses/impls/learner/restoration-patch.d.ts +2 -2
- package/dist/harnesses/impls/learner/restoration-patch.js +25 -6
- package/dist/harnesses/impls/learner/restoration-patch.js.map +1 -1
- package/dist/harnesses/impls/learner/types.d.ts +11 -0
- package/dist/harnesses/impls/stub.d.ts +58 -0
- package/dist/harnesses/impls/stub.js +89 -0
- package/dist/harnesses/impls/stub.js.map +1 -0
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.d.ts +69 -50
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js +199 -94
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js.map +1 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.d.ts +12 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js +121 -7
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/harness.js.map +1 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.d.ts +88 -4
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js +143 -22
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js.map +1 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.d.ts +6 -0
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js +1 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/index.js.map +1 -1
- package/dist/harnesses/readiness-registry.d.ts +7 -0
- package/dist/harnesses/readiness-registry.js +18 -1
- package/dist/harnesses/readiness-registry.js.map +1 -1
- package/dist/learner/revert-decision.d.ts +59 -0
- package/dist/learner/revert-decision.js +53 -0
- package/dist/learner/revert-decision.js.map +1 -0
- package/dist/learner/revert-stats.d.ts +24 -0
- package/dist/learner/revert-stats.js +44 -0
- package/dist/learner/revert-stats.js.map +1 -0
- package/dist/main.js +470 -142
- package/dist/main.js.map +1 -1
- package/dist/mcp/get-codedigest-reward.d.ts +13 -0
- package/dist/mcp/get-codedigest-reward.js +23 -0
- package/dist/mcp/get-codedigest-reward.js.map +1 -0
- package/dist/mcp/server.js +23 -0
- package/dist/mcp/server.js.map +1 -1
- package/dist/observability/emit-event.d.ts +3 -2
- package/dist/observability/emit-event.js +22 -1
- package/dist/observability/emit-event.js.map +1 -1
- package/dist/operator-errors.d.ts +7 -0
- package/dist/operator-errors.js +13 -1
- package/dist/operator-errors.js.map +1 -1
- package/dist/plugins/learner/.claude-plugin/plugin.json +9 -0
- package/dist/plugins/learner/.codex-plugin/plugin.json +39 -0
- package/dist/plugins/learner/AGENTS.md +40 -0
- package/dist/plugins/learner/CLAUDE.md +33 -0
- package/dist/plugins/learner/README.md +59 -0
- package/dist/plugins/learner/hooks/hooks.json +16 -0
- package/dist/plugins/learner/hooks/session-start +38 -0
- package/dist/plugins/learner/skills/learn/SKILL.md +412 -0
- package/dist/plugins/learner/skills/learn/analyst-prompt.md +68 -0
- package/dist/plugins/learner/skills/learn/consolidator-prompt.md +111 -0
- package/dist/plugins/learner/skills/learn/explorer-prompt.md +53 -0
- package/dist/plugins/learner/skills/learn/planner-prompt.md +87 -0
- package/dist/plugins/learner/skills/learn/promoter-prompt.md +184 -0
- package/dist/plugins/learner/skills/learn/step-worker-prompt.md +47 -0
- package/dist/plugins/learner/skills/learn/strategist-prompt.md +85 -0
- package/dist/preflight/pidfile-liveness.d.ts +44 -0
- package/dist/preflight/pidfile-liveness.js +103 -0
- package/dist/preflight/pidfile-liveness.js.map +1 -0
- package/dist/preflight/rpc-network.d.ts +40 -0
- package/dist/preflight/rpc-network.js +67 -1
- package/dist/preflight/rpc-network.js.map +1 -1
- package/dist/restart-daemon.d.ts +90 -0
- package/dist/restart-daemon.js +95 -0
- package/dist/restart-daemon.js.map +1 -0
- package/dist/rpc/transport.d.ts +109 -0
- package/dist/rpc/transport.js +220 -0
- package/dist/rpc/transport.js.map +1 -0
- package/dist/scripts/donation-consumption-acceptance.js +7 -28
- package/dist/scripts/donation-consumption-acceptance.js.map +1 -1
- package/dist/scripts/swe-rebench-v2-pytest-missing.json +16 -0
- package/dist/setup/halt-mode.d.ts +14 -0
- package/dist/setup/halt-mode.js +17 -0
- package/dist/setup/halt-mode.js.map +1 -0
- package/dist/solver-nets/prediction-operator-ux.d.ts +1 -2
- package/dist/solver-nets/prediction-operator-ux.js +90 -47
- package/dist/solver-nets/prediction-operator-ux.js.map +1 -1
- package/dist/solver-nets/registry.d.ts +20 -1
- package/dist/solver-nets/registry.js +38 -25
- package/dist/solver-nets/registry.js.map +1 -1
- package/dist/solver-types/_swe-rebench-v2-pool-cache.d.ts +58 -0
- package/dist/solver-types/_swe-rebench-v2-pool-cache.js +87 -0
- package/dist/solver-types/_swe-rebench-v2-pool-cache.js.map +1 -0
- package/dist/solver-types/_swe-rebench-v2-pool.d.ts +9 -2
- package/dist/solver-types/_swe-rebench-v2-pool.js +15 -20
- package/dist/solver-types/_swe-rebench-v2-pool.js.map +1 -1
- package/dist/solver-types/_swe-rebench-v2-state.d.ts +15 -0
- package/dist/solver-types/_swe-rebench-v2-state.js +19 -0
- package/dist/solver-types/_swe-rebench-v2-state.js.map +1 -1
- package/dist/solver-types/_swe-rebench-v2-substrate.d.ts +1 -0
- package/dist/solver-types/_swe-rebench-v2-substrate.js +10 -0
- package/dist/solver-types/_swe-rebench-v2-substrate.js.map +1 -1
- package/dist/solver-types/_swe-rebench-v2-validated-pool.d.ts +145 -2
- package/dist/solver-types/_swe-rebench-v2-validated-pool.js +482 -44
- package/dist/solver-types/_swe-rebench-v2-validated-pool.js.map +1 -1
- package/dist/solver-types/swe-rebench-v2-auto.d.ts +38 -14
- package/dist/solver-types/swe-rebench-v2-auto.js +87 -28
- package/dist/solver-types/swe-rebench-v2-auto.js.map +1 -1
- package/dist/solver-types/swe-rebench-v2.d.ts +19 -2
- package/dist/solver-types/swe-rebench-v2.js +351 -96
- package/dist/solver-types/swe-rebench-v2.js.map +1 -1
- package/dist/solvernets/daemon-init.d.ts +10 -2
- package/dist/solvernets/daemon-init.js +22 -2
- package/dist/solvernets/daemon-init.js.map +1 -1
- package/dist/solvernets/launched-record-dispatcher.d.ts +4 -0
- package/dist/solvernets/launched-record-dispatcher.js +41 -7
- package/dist/solvernets/launched-record-dispatcher.js.map +1 -1
- package/dist/solvernets/registry-client-erc8004.js +11 -0
- package/dist/solvernets/registry-client-erc8004.js.map +1 -1
- package/dist/solvernets/store.d.ts +7 -2
- package/dist/solvernets/store.js +1 -0
- package/dist/solvernets/store.js.map +1 -1
- package/dist/spend/cost-surface-status.d.ts +10 -0
- package/dist/spend/cost-surface-status.js +22 -0
- package/dist/spend/cost-surface-status.js.map +1 -0
- package/dist/spend/credential.d.ts +8 -0
- package/dist/spend/credential.js +30 -0
- package/dist/spend/credential.js.map +1 -0
- package/dist/spend/daemon-config.d.ts +13 -0
- package/dist/spend/daemon-config.js +24 -0
- package/dist/spend/daemon-config.js.map +1 -0
- package/dist/spend/pricing.d.ts +16 -0
- package/dist/spend/pricing.js +26 -0
- package/dist/spend/pricing.js.map +1 -0
- package/dist/spend/record.d.ts +13 -0
- package/dist/spend/record.js +30 -0
- package/dist/spend/record.js.map +1 -0
- package/dist/spend/usage.d.ts +27 -0
- package/dist/spend/usage.js +113 -0
- package/dist/spend/usage.js.map +1 -0
- package/dist/store/store.d.ts +61 -0
- package/dist/store/store.js +302 -7
- package/dist/store/store.js.map +1 -1
- package/dist/tasks/sources.d.ts +18 -1
- package/dist/tasks/sources.js +33 -5
- package/dist/tasks/sources.js.map +1 -1
- package/dist/trajectory/transcript-parsers/codex-session.d.ts +12 -6
- package/dist/trajectory/transcript-parsers/codex-session.js +114 -13
- package/dist/trajectory/transcript-parsers/codex-session.js.map +1 -1
- package/dist/trajectory/transcript-parsers/types.d.ts +8 -8
- package/dist/trajectory/transcript-session-dirs.d.ts +18 -0
- package/dist/trajectory/transcript-session-dirs.js +85 -0
- package/dist/trajectory/transcript-session-dirs.js.map +1 -0
- package/dist/trajectory/transcript-watcher.d.ts +20 -1
- package/dist/trajectory/transcript-watcher.js +98 -32
- package/dist/trajectory/transcript-watcher.js.map +1 -1
- package/dist/tx-retry.d.ts +166 -19
- package/dist/tx-retry.js +310 -32
- package/dist/tx-retry.js.map +1 -1
- package/dist/types/payloads/portfolio-v0.d.ts +3 -3
- package/dist/types/payloads/prediction-apy-v0.d.ts +8 -8
- package/dist/types/payloads/prediction-v0.d.ts +17 -17
- package/dist/types/task-document.d.ts +392 -0
- package/dist/types/task-document.js +10 -0
- package/dist/types/task-document.js.map +1 -1
- package/dist/types/task.d.ts +28 -0
- package/dist/util/extract-tx-hash.d.ts +14 -0
- package/dist/util/extract-tx-hash.js +19 -0
- package/dist/util/extract-tx-hash.js.map +1 -0
- package/dist/vendor/@jinn-network/sdk/dist/contracts.js +1 -1
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.d.ts +3 -0
- package/dist/vendor/@jinn-network/sdk/dist/solvernets/manifest-schema.js +1 -0
- package/package.json +37 -13
- package/plugins/learner/skills/learn/consolidator-prompt.md +18 -1
- package/plugins/learner/skills/learn/promoter-prompt.md +72 -1
- package/plugins/swe-rebench-v2-diffmin/README.md +10 -9
- package/plugins/swe-rebench-v2-diffmin/jinn.plugin.json +1 -1
- package/plugins/swe-rebench-v2-diffmin/skills/diffmin/SKILL.md +15 -10
- package/plugins/swe-rebench-v2-diffmin/skills/test-map/SKILL.md +10 -12
- package/plugins/swe-rebench-v2-runtime/.claude-plugin/plugin.json +1 -1
- package/plugins/swe-rebench-v2-runtime/.codex-plugin/plugin.json +3 -3
- package/plugins/swe-rebench-v2-runtime/README.md +6 -6
- package/plugins/swe-rebench-v2-runtime/jinn.plugin.json +2 -3
- package/plugins/swe-rebench-v2-runtime/skills/task/SKILL.md +69 -0
- package/dist/dashboard/assets/index-DOlzFN8a.css +0 -32
- package/dist/dashboard/assets/index-NkZ7CTAT.js +0 -140
- package/plugins/swe-rebench-v2-runtime/skills/orient/SKILL.md +0 -29
- package/plugins/swe-rebench-v2-runtime/skills/plan/SKILL.md +0 -53
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure helper that rolls a HarnessReadinessSnapshot up into the single
|
|
3
|
+
* boolean + name + reason shape exposed on `/v1/status.harness`.
|
|
4
|
+
*
|
|
5
|
+
* The SPA's `useNotifications` adapter consumes `status.harness.{ready,name,reason}`
|
|
6
|
+
* to fire `harness_not_ready`; the rollup considers only harnesses joined by
|
|
7
|
+
* the operator (`joinedHarnessesByCid`), so registered-but-unjoined harnesses
|
|
8
|
+
* (which the registry includes for the SPA join form) cannot drive the
|
|
9
|
+
* blocking notification.
|
|
10
|
+
*
|
|
11
|
+
* Rules:
|
|
12
|
+
* - If no harnesses are joined OR the snapshot is empty (pre-first-refresh),
|
|
13
|
+
* return `{ ready: true, name: null, reason: null }` (default-ready posture).
|
|
14
|
+
* - Otherwise iterate the snapshot in its existing order (which mirrors
|
|
15
|
+
* `Object.keys(harnessesByName)` insertion order in `_doRefresh`) and emit
|
|
16
|
+
* the first joined-and-unready entry as
|
|
17
|
+
* `{ ready: false, name, reason: reason ?? null }`.
|
|
18
|
+
* - If no joined-and-unready entry exists, return default-ready.
|
|
19
|
+
*
|
|
20
|
+
* First-unready-wins keeps the surface deterministic and blames a concrete
|
|
21
|
+
* harness for the operator-visible message. Fixing the named harness will
|
|
22
|
+
* surface the next one on the following poll.
|
|
23
|
+
*/
|
|
24
|
+
import type { HarnessReadinessSnapshot, JoinedHarnessSpec } from '../harnesses/readiness-registry.js';
|
|
25
|
+
export interface HarnessRollup {
|
|
26
|
+
ready: boolean;
|
|
27
|
+
name: string | null;
|
|
28
|
+
reason: string | null;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Canonical default-ready rollup. Re-exported from here so `status-build.ts`
|
|
32
|
+
* and any other consumer share one source of truth for the shape.
|
|
33
|
+
*/
|
|
34
|
+
export declare const DEFAULT_HARNESS_ROLLUP: HarnessRollup;
|
|
35
|
+
export declare function buildHarnessRollup(snapshot: HarnessReadinessSnapshot, joinedHarnessesByCid: Record<string, JoinedHarnessSpec>): HarnessRollup;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure helper that rolls a HarnessReadinessSnapshot up into the single
|
|
3
|
+
* boolean + name + reason shape exposed on `/v1/status.harness`.
|
|
4
|
+
*
|
|
5
|
+
* The SPA's `useNotifications` adapter consumes `status.harness.{ready,name,reason}`
|
|
6
|
+
* to fire `harness_not_ready`; the rollup considers only harnesses joined by
|
|
7
|
+
* the operator (`joinedHarnessesByCid`), so registered-but-unjoined harnesses
|
|
8
|
+
* (which the registry includes for the SPA join form) cannot drive the
|
|
9
|
+
* blocking notification.
|
|
10
|
+
*
|
|
11
|
+
* Rules:
|
|
12
|
+
* - If no harnesses are joined OR the snapshot is empty (pre-first-refresh),
|
|
13
|
+
* return `{ ready: true, name: null, reason: null }` (default-ready posture).
|
|
14
|
+
* - Otherwise iterate the snapshot in its existing order (which mirrors
|
|
15
|
+
* `Object.keys(harnessesByName)` insertion order in `_doRefresh`) and emit
|
|
16
|
+
* the first joined-and-unready entry as
|
|
17
|
+
* `{ ready: false, name, reason: reason ?? null }`.
|
|
18
|
+
* - If no joined-and-unready entry exists, return default-ready.
|
|
19
|
+
*
|
|
20
|
+
* First-unready-wins keeps the surface deterministic and blames a concrete
|
|
21
|
+
* harness for the operator-visible message. Fixing the named harness will
|
|
22
|
+
* surface the next one on the following poll.
|
|
23
|
+
*/
|
|
24
|
+
/**
|
|
25
|
+
* Canonical default-ready rollup. Re-exported from here so `status-build.ts`
|
|
26
|
+
* and any other consumer share one source of truth for the shape.
|
|
27
|
+
*/
|
|
28
|
+
export const DEFAULT_HARNESS_ROLLUP = { ready: true, name: null, reason: null };
|
|
29
|
+
export function buildHarnessRollup(snapshot, joinedHarnessesByCid) {
|
|
30
|
+
const joinedNames = new Set(Object.values(joinedHarnessesByCid).map((j) => j.harnessName));
|
|
31
|
+
if (joinedNames.size === 0 || snapshot.harnesses.length === 0) {
|
|
32
|
+
return { ...DEFAULT_HARNESS_ROLLUP };
|
|
33
|
+
}
|
|
34
|
+
for (const entry of snapshot.harnesses) {
|
|
35
|
+
if (!entry.ready && joinedNames.has(entry.harnessName)) {
|
|
36
|
+
return {
|
|
37
|
+
ready: false,
|
|
38
|
+
name: entry.harnessName,
|
|
39
|
+
reason: entry.reason ?? null,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return { ...DEFAULT_HARNESS_ROLLUP };
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=status-harness-rollup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status-harness-rollup.js","sourceRoot":"","sources":["../../src/api/status-harness-rollup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAaH;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAkB,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAE/F,MAAM,UAAU,kBAAkB,CAChC,QAAkC,EAClC,oBAAuD;IAEvD,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAC9D,CAAC;IACF,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9D,OAAO,EAAE,GAAG,sBAAsB,EAAE,CAAC;IACvC,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YACvD,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,KAAK,CAAC,WAAW;gBACvB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;aAC7B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,GAAG,sBAAsB,EAAE,CAAC;AACvC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { PersistedTaskRun } from '../harnesses/engine/persistence.js';
|
|
2
|
+
/**
|
|
3
|
+
* Mirrors the daemon's internal routing-key compatibility logic so status
|
|
4
|
+
* builders can keep classifying legacy task_runs rows during the
|
|
5
|
+
* `solverType` -> `contractId`/`contractVersion` migration.
|
|
6
|
+
*/
|
|
7
|
+
export declare function taskRunRoutingKey(run: PersistedTaskRun): string | undefined;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mirrors the daemon's internal routing-key compatibility logic so status
|
|
3
|
+
* builders can keep classifying legacy task_runs rows during the
|
|
4
|
+
* `solverType` -> `contractId`/`contractVersion` migration.
|
|
5
|
+
*/
|
|
6
|
+
export function taskRunRoutingKey(run) {
|
|
7
|
+
if (run.task?.contractId && run.task?.contractVersion) {
|
|
8
|
+
return `${run.task.contractId}.${run.task.contractVersion}`;
|
|
9
|
+
}
|
|
10
|
+
return run.solverType ?? run.task?.solverType ?? undefined;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=task-run-routing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-run-routing.js","sourceRoot":"","sources":["../../src/api/task-run-routing.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAqB;IACrD,IAAI,GAAG,CAAC,IAAI,EAAE,UAAU,IAAI,GAAG,CAAC,IAAI,EAAE,eAAe,EAAE,CAAC;QACtD,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;IAC9D,CAAC;IACD,OAAO,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,IAAI,EAAE,UAAU,IAAI,SAAS,CAAC;AAC7D,CAAC"}
|
|
@@ -9,6 +9,7 @@ export interface TaskRunSummary {
|
|
|
9
9
|
implName: string | null;
|
|
10
10
|
windowStartTs: number;
|
|
11
11
|
windowEndTs: number;
|
|
12
|
+
runStartedAt: number | null;
|
|
12
13
|
stateUpdatedAt: number;
|
|
13
14
|
manifestCid: string | null;
|
|
14
15
|
deliveryTxHash: string | null;
|
|
@@ -21,7 +22,27 @@ export interface TaskRunsStatus {
|
|
|
21
22
|
completed: number;
|
|
22
23
|
solutions: number;
|
|
23
24
|
verdicts: number;
|
|
25
|
+
/**
|
|
26
|
+
* Sum of `settledFailed` and `localErrors`. Retained for callers that
|
|
27
|
+
* still want the rolled-up count, but operator surfaces should prefer
|
|
28
|
+
* the split fields so the on-chain vs. local distinction is visible.
|
|
29
|
+
*/
|
|
24
30
|
failed: number;
|
|
31
|
+
/**
|
|
32
|
+
* FAILED task runs whose `delivery_tx_hash` landed on-chain before the
|
|
33
|
+
* run terminated — the marketplace recorded the delivery and a
|
|
34
|
+
* downstream step (claimDelivery, on-chain verdict) marked it as a
|
|
35
|
+
* settled failure. This is the count that should align with the public
|
|
36
|
+
* explorer's per-operator fail count.
|
|
37
|
+
*/
|
|
38
|
+
settledFailed: number;
|
|
39
|
+
/**
|
|
40
|
+
* FAILED task runs with no on-chain delivery tx — the run never reached
|
|
41
|
+
* the marketplace (SkippableError, claim-time rejects, runner crashes,
|
|
42
|
+
* recovery aborts). Operator-only debugging signal; not visible on
|
|
43
|
+
* the public explorer.
|
|
44
|
+
*/
|
|
45
|
+
localErrors: number;
|
|
25
46
|
};
|
|
26
47
|
inFlight: TaskRunSummary[];
|
|
27
48
|
recentTasks: TaskRunSummary[];
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import { TaskRunPersistence } from '../harnesses/engine/persistence.js';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Cap on how many task runs the /v1/status payload carries. The operator
|
|
4
|
+
* dashboard's Activity table reads this slice; 10 was too tight (an operator
|
|
5
|
+
* with 20+ tasks on the SolverNet would see 6 after dedup against
|
|
6
|
+
* `predictionV1.recentTasks` + filtering by manifestCid). 50 gives enough
|
|
7
|
+
* runway for normal browsing without paginating. Bump when this becomes
|
|
8
|
+
* the bottleneck again — pagination is the eventual right answer.
|
|
9
|
+
*/
|
|
10
|
+
const RECENT_LIMIT = 50;
|
|
3
11
|
export function gatherTaskRunsStatus(store) {
|
|
4
12
|
const persistence = new TaskRunPersistence(store.db);
|
|
5
13
|
const inFlight = persistence.getInFlight();
|
|
@@ -9,6 +17,8 @@ export function gatherTaskRunsStatus(store) {
|
|
|
9
17
|
const allRecent = [...allRuns].sort((a, b) => b.stateUpdatedAt - a.stateUpdatedAt);
|
|
10
18
|
const solutions = complete.filter((run) => run.taskRole !== 'evaluation');
|
|
11
19
|
const verdicts = complete.filter((run) => run.taskRole === 'evaluation');
|
|
20
|
+
const settledFailed = failed.filter((run) => run.deliveryTxHash !== null);
|
|
21
|
+
const localErrors = failed.filter((run) => run.deliveryTxHash === null);
|
|
12
22
|
return {
|
|
13
23
|
totals: {
|
|
14
24
|
observedTasks: distinctTaskCount(allRuns),
|
|
@@ -17,6 +27,8 @@ export function gatherTaskRunsStatus(store) {
|
|
|
17
27
|
solutions: solutions.length,
|
|
18
28
|
verdicts: verdicts.length,
|
|
19
29
|
failed: failed.length,
|
|
30
|
+
settledFailed: settledFailed.length,
|
|
31
|
+
localErrors: localErrors.length,
|
|
20
32
|
},
|
|
21
33
|
inFlight: [...inFlight]
|
|
22
34
|
.sort((a, b) => b.stateUpdatedAt - a.stateUpdatedAt)
|
|
@@ -41,6 +53,7 @@ function toSummary(run) {
|
|
|
41
53
|
implName: run.implName,
|
|
42
54
|
windowStartTs: run.windowStartTs,
|
|
43
55
|
windowEndTs: run.windowEndTs,
|
|
56
|
+
runStartedAt: run.runStartedAt,
|
|
44
57
|
stateUpdatedAt: run.stateUpdatedAt,
|
|
45
58
|
manifestCid: run.manifestCid,
|
|
46
59
|
deliveryTxHash: run.deliveryTxHash,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-runs-build.js","sourceRoot":"","sources":["../../src/api/task-runs-build.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAyB,MAAM,oCAAoC,CAAC;AAE/F,MAAM,YAAY,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"task-runs-build.js","sourceRoot":"","sources":["../../src/api/task-runs-build.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAyB,MAAM,oCAAoC,CAAC;AAE/F;;;;;;;GAOG;AACH,MAAM,YAAY,GAAG,EAAE,CAAC;AAoDxB,MAAM,UAAU,oBAAoB,CAAC,KAAY;IAC/C,MAAM,WAAW,GAAG,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC;IACnF,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC;IAC1E,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC;IACzE,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC;IAC1E,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC;IAExE,OAAO;QACL,MAAM,EAAE;YACN,aAAa,EAAE,iBAAiB,CAAC,OAAO,CAAC;YACzC,cAAc,EAAE,QAAQ,CAAC,MAAM;YAC/B,SAAS,EAAE,QAAQ,CAAC,MAAM;YAC1B,SAAS,EAAE,SAAS,CAAC,MAAM;YAC3B,QAAQ,EAAE,QAAQ,CAAC,MAAM;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,WAAW,EAAE,WAAW,CAAC,MAAM;SAChC;QACD,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC;aACpB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,cAAc,CAAC;aACnD,GAAG,CAAC,SAAS,CAAC;QACjB,WAAW,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;KAC7D,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,GAAqB;IACzC,OAAO,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC;AACnC,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAiC;IAC1D,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9C,CAAC;AAED,SAAS,SAAS,CAAC,GAAqB;IACtC,OAAO;QACL,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,cAAc,EAAE,GAAG,CAAC,cAAc;QAClC,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,cAAc,EAAE,GAAG,CAAC,cAAc;QAClC,aAAa,EAAE,GAAG,CAAC,aAAa;KACjC,CAAC;AACJ,CAAC"}
|
package/dist/build-info.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"clientGitSha": "
|
|
3
|
-
"codeDigest": "sha256:
|
|
4
|
-
"builtAt": "2026-05-
|
|
5
|
-
"implVersion": "0.1.
|
|
2
|
+
"clientGitSha": "0a586ca9c775cbc420006bc1ca27ef3bc227a646",
|
|
3
|
+
"codeDigest": "sha256:c72dc4bdd943d14b6b8b1ca140324131d48ce6a5cda6d83353dbf4d42fa7e1c9",
|
|
4
|
+
"builtAt": "2026-05-28T13:56:48.761Z",
|
|
5
|
+
"implVersion": "0.1.7-canary.0a586ca9"
|
|
6
6
|
}
|
package/dist/build-meta.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Buffer } from 'node:buffer';
|
|
2
2
|
import { uploadToIpfs } from '../adapters/mech/ipfs.js';
|
|
3
3
|
import { canonicalJson } from '../harnesses/engine/canonical-json.js';
|
|
4
|
-
import { codeDigestSha256ToBytes32, modeStringToFlag, } from '../erc8004/index.js';
|
|
4
|
+
import { codeDigestSha256ToBytes32, encodeExecutionPayloadV2, modeStringToFlag, } from '../erc8004/index.js';
|
|
5
5
|
import { publishCaptureEnvelope, sha256Hex, } from './publish.js';
|
|
6
6
|
import { CaptureRateLimiter, } from './rate-limit.js';
|
|
7
7
|
import { CapturePublishRateLimitError, CapturePublishUnavailableError } from '../api/captures.js';
|
|
@@ -71,7 +71,7 @@ export function createLiveCapturePublisher(options) {
|
|
|
71
71
|
priceUsdc: '0',
|
|
72
72
|
};
|
|
73
73
|
},
|
|
74
|
-
anchorEnvelope: async ({ envelopeCid, envelopeHash, envelope }) => {
|
|
74
|
+
anchorEnvelope: async ({ metadataKey, envelopeCid, envelopeHash, envelope }) => {
|
|
75
75
|
const payload = {
|
|
76
76
|
version: 2,
|
|
77
77
|
tier: 0,
|
|
@@ -82,12 +82,32 @@ export function createLiveCapturePublisher(options) {
|
|
|
82
82
|
implName: envelope.executor.implName,
|
|
83
83
|
modeFlag: modeStringToFlag(envelope.executor.mode ?? 'train'),
|
|
84
84
|
};
|
|
85
|
-
const
|
|
85
|
+
const payloadHex = encodeExecutionPayloadV2(payload);
|
|
86
|
+
const publisher = options.identityPublisher;
|
|
87
|
+
const { txHash, blockNumber } = await publisher.publishContentV2({
|
|
86
88
|
kind: 'capture',
|
|
87
89
|
cid: envelopeCid,
|
|
88
90
|
payload,
|
|
89
91
|
});
|
|
90
|
-
|
|
92
|
+
try {
|
|
93
|
+
options.store.saveErc8004Anchor({
|
|
94
|
+
envelopeId: envelopeHash,
|
|
95
|
+
envelopeCid,
|
|
96
|
+
contentKind: 'capture',
|
|
97
|
+
metadataKey,
|
|
98
|
+
agentId: publisher.agent.toString(),
|
|
99
|
+
chainId: publisher.chainId,
|
|
100
|
+
identityRegistryAddress: publisher.registry,
|
|
101
|
+
txHash,
|
|
102
|
+
blockNumber,
|
|
103
|
+
payloadHex,
|
|
104
|
+
anchoredAt: Math.floor(Date.now() / 1000),
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
catch (err) {
|
|
108
|
+
console.warn(`[captures] failed to record erc8004 anchor for ${envelopeCid} (non-fatal): ${err instanceof Error ? err.message : err}`);
|
|
109
|
+
}
|
|
110
|
+
return { txHash, blockNumber };
|
|
91
111
|
},
|
|
92
112
|
};
|
|
93
113
|
const result = await publishCaptureEnvelope(sessionId, publishDeps);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live-publisher.js","sourceRoot":"","sources":["../../src/captures/live-publisher.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"live-publisher.js","sourceRoot":"","sources":["../../src/captures/live-publisher.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,7 +49,7 @@ export interface CaptureEnvelopeAnchorInput {
|
|
|
49
49
|
}
|
|
50
50
|
export interface CaptureEnvelopeAnchorResult {
|
|
51
51
|
txHash?: `0x${string}`;
|
|
52
|
-
blockNumber?: number;
|
|
52
|
+
blockNumber?: number | null;
|
|
53
53
|
}
|
|
54
54
|
export interface PublishCaptureResult {
|
|
55
55
|
capture: PendingCaptureRow;
|
|
@@ -2,8 +2,30 @@
|
|
|
2
2
|
* Classify ethers/json-rpc read failures so bootstrap reconciliation does not
|
|
3
3
|
* treat flaky RPC as "service missing on-chain".
|
|
4
4
|
*/
|
|
5
|
+
/** Backoff delays between transient eth_read retries (issue #546). */
|
|
6
|
+
export declare const TRANSIENT_ETH_READ_RETRY_DELAYS_MS: readonly [250, 500, 1000];
|
|
7
|
+
export declare const TRANSIENT_ETH_READ_MAX_ATTEMPTS = 3;
|
|
5
8
|
/**
|
|
6
9
|
* True when a static call / eth_call likely failed due to transport/RPC, not an
|
|
7
10
|
* authoritative on-chain revert. In this case fleet reconcile must not clear state.
|
|
8
11
|
*/
|
|
9
12
|
export declare function isTransientEthReadError(error: unknown): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* True when an RPC read failed specifically because the endpoint rate-limited
|
|
15
|
+
* the daemon (HTTP 429 / "too many requests"). This is a strict subset of
|
|
16
|
+
* `isTransientEthReadError` — it deliberately does NOT match generic timeouts
|
|
17
|
+
* or 5xx errors. The shared default Base Sepolia RPC throttles the whole
|
|
18
|
+
* operator pool; classifying a throttle distinctly lets the UI tell the
|
|
19
|
+
* operator to add their own key rather than showing a generic outage message.
|
|
20
|
+
* See jinn-mono #325.
|
|
21
|
+
*/
|
|
22
|
+
export declare function isRateLimitedEthReadError(error: unknown): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Retry a single eth_read RPC (getBlockNumber, getLogs, eth_call) on transient
|
|
25
|
+
* transport failures. Used by the on-chain discovery floor for MetadataSet
|
|
26
|
+
* scans so a single rate-limit does not degrade manifest hash verification.
|
|
27
|
+
* See jinn-mono #546.
|
|
28
|
+
*/
|
|
29
|
+
export declare function withTransientEthReadRetry<T>(fn: () => Promise<T>, options?: {
|
|
30
|
+
sleepFn?: (ms: number) => Promise<void>;
|
|
31
|
+
}): Promise<T>;
|
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
* Classify ethers/json-rpc read failures so bootstrap reconciliation does not
|
|
3
3
|
* treat flaky RPC as "service missing on-chain".
|
|
4
4
|
*/
|
|
5
|
-
import { flattenErrorMessage } from './tx-retry.js';
|
|
5
|
+
import { flattenErrorMessage, sleep } from './tx-retry.js';
|
|
6
|
+
/** Backoff delays between transient eth_read retries (issue #546). */
|
|
7
|
+
export const TRANSIENT_ETH_READ_RETRY_DELAYS_MS = [250, 500, 1000];
|
|
8
|
+
export const TRANSIENT_ETH_READ_MAX_ATTEMPTS = 3;
|
|
6
9
|
/**
|
|
7
10
|
* True when a static call / eth_call likely failed due to transport/RPC, not an
|
|
8
11
|
* authoritative on-chain revert. In this case fleet reconcile must not clear state.
|
|
@@ -40,4 +43,41 @@ export function isTransientEthReadError(error) {
|
|
|
40
43
|
}
|
|
41
44
|
return false;
|
|
42
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* True when an RPC read failed specifically because the endpoint rate-limited
|
|
48
|
+
* the daemon (HTTP 429 / "too many requests"). This is a strict subset of
|
|
49
|
+
* `isTransientEthReadError` — it deliberately does NOT match generic timeouts
|
|
50
|
+
* or 5xx errors. The shared default Base Sepolia RPC throttles the whole
|
|
51
|
+
* operator pool; classifying a throttle distinctly lets the UI tell the
|
|
52
|
+
* operator to add their own key rather than showing a generic outage message.
|
|
53
|
+
* See jinn-mono #325.
|
|
54
|
+
*/
|
|
55
|
+
export function isRateLimitedEthReadError(error) {
|
|
56
|
+
const msg = flattenErrorMessage(error).toLowerCase();
|
|
57
|
+
return (msg.includes('429') ||
|
|
58
|
+
msg.includes('rate limit') ||
|
|
59
|
+
msg.includes('too many requests'));
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Retry a single eth_read RPC (getBlockNumber, getLogs, eth_call) on transient
|
|
63
|
+
* transport failures. Used by the on-chain discovery floor for MetadataSet
|
|
64
|
+
* scans so a single rate-limit does not degrade manifest hash verification.
|
|
65
|
+
* See jinn-mono #546.
|
|
66
|
+
*/
|
|
67
|
+
export async function withTransientEthReadRetry(fn, options) {
|
|
68
|
+
const sleepFn = options?.sleepFn ?? sleep;
|
|
69
|
+
for (let attempt = 0; attempt < TRANSIENT_ETH_READ_MAX_ATTEMPTS; attempt++) {
|
|
70
|
+
try {
|
|
71
|
+
return await fn();
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
const isLastAttempt = attempt === TRANSIENT_ETH_READ_MAX_ATTEMPTS - 1;
|
|
75
|
+
if (!isTransientEthReadError(err) || isLastAttempt) {
|
|
76
|
+
throw err;
|
|
77
|
+
}
|
|
78
|
+
await sleepFn(TRANSIENT_ETH_READ_RETRY_DELAYS_MS[attempt]);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
throw new Error('withTransientEthReadRetry: exhausted attempts without throwing');
|
|
82
|
+
}
|
|
43
83
|
//# sourceMappingURL=chain-read-errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain-read-errors.js","sourceRoot":"","sources":["../src/chain-read-errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"chain-read-errors.js","sourceRoot":"","sources":["../src/chain-read-errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,7 @@ function persistRuntimeMode(mode, configPath = DEFAULT_CONFIG_PATH) {
|
|
|
37
37
|
const network = current['network'] === 'mainnet' ? 'mainnet' : 'testnet';
|
|
38
38
|
if (current['rpcUrl'] === undefined) {
|
|
39
39
|
current['rpcUrl'] = network === 'testnet'
|
|
40
|
-
? 'https://base-sepolia.
|
|
40
|
+
? 'https://base-sepolia-rpc.publicnode.com'
|
|
41
41
|
: 'https://mainnet.base.org';
|
|
42
42
|
}
|
|
43
43
|
current['runtimeMode'] = mode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/cli/commands/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,iBAAiB,GAElB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE9D,MAAM,cAAc,GAA2B;IAC7C,SAAS,EAAE,uBAAuB;IAClC,gBAAgB,EAAE,yCAAyC;IAC3D,IAAI,EAAE,iBAAiB;CACxB,CAAC;AAEF,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;AAE3E;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,IAAiB,EAAE,aAAqB,mBAAmB;IACrF,IAAI,OAAO,GAA4B,EAAE,CAAC;IAC1C,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAA4B,CAAC;QACrF,CAAC;QAAC,MAAM,CAAC;YACP,4DAA4D;YAC5D,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACrF,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;IAClC,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,KAAK,SAAS;YACvC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/cli/commands/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,iBAAiB,GAElB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE9D,MAAM,cAAc,GAA2B;IAC7C,SAAS,EAAE,uBAAuB;IAClC,gBAAgB,EAAE,yCAAyC;IAC3D,IAAI,EAAE,iBAAiB;CACxB,CAAC;AAEF,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;AAE3E;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,IAAiB,EAAE,aAAqB,mBAAmB;IACrF,IAAI,OAAO,GAA4B,EAAE,CAAC;IAC1C,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAA4B,CAAC;QACrF,CAAC;QAAC,MAAM,CAAC;YACP,4DAA4D;YAC5D,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACrF,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;IAClC,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,KAAK,SAAS;YACvC,CAAC,CAAC,yCAAyC;YAC3C,CAAC,CAAC,0BAA0B,CAAC;IACjC,CAAC;IACD,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACjE,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;AAC5F,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,iBAAiB;IAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACpE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8FAA8F,CAAC,CAAC;IACrH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2EAA2E,CAAC,CAAC;IAClG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAE/F,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7F,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;YACnD,EAAE,CAAC,QAAQ,CAAC,2BAA2B,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QACH,IAAI,MAAM,KAAK,EAAE,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;QACtF,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,gBAAgB;YAAE,OAAO,gBAAgB,CAAC;QACzF,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,WAAW;YAAE,OAAO,WAAW,CAAC;QAC/E,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,KAAK,UAAU,GAAG,CAAC,GAAmB;IACpC,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,SAAS,CAAC;YACjB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE;gBACP,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3B;YACD,gBAAgB,EAAE,KAAK;SACxB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,YAAY,CACV;YACE,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YACzD,UAAU,EAAE,UAAU;YACtB,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;SAC5B,EACD,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CACvC,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,UAAU,GACd,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QACzE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM;QACtB,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACzF,IAAI,MAAqE,CAAC;IAC1E,IAAI,CAAC;QACH,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK,YAAY,eAAe;YAChC,KAAK,CAAC,IAAI,KAAK,uBAAuB;YACtC,QAAQ,KAAK,SAAS,EACtB,CAAC;YACD,MAAM,GAAG,EAAE,CAAC;QACd,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GACd,YAAY,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;QAC7D,CAAC,CAAC,MAAM,CAAC,UAAU;QACnB,CAAC,CAAC,QAAQ,CAAC;IAEf,4EAA4E;IAC5E,wEAAwE;IACxE,oDAAoD;IACpD,IAAI,WAAoC,CAAC;IACzC,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,gBAAgB,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YACrF,YAAY,CACV;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,8DAA8D,QAAQ,GAAG;gBAClF,UAAU,EAAE,UAAU;gBACtB,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;aAC3B,EACD,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CACvC,CAAC;YACF,OAAO;QACT,CAAC;QACD,WAAW,GAAG,QAAQ,CAAC;QACvB,kBAAkB,CAAC,WAAW,EAAE,UAAU,IAAI,mBAAmB,CAAC,CAAC;QACnE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,WAAW,4BAA4B,CAAC,CAAC;IAC/F,CAAC;SAAM,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QAC9B,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACnC,CAAC;SAAM,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC;QACzC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,WAAW,GAAG,MAAM,CAAC;YACrB,kBAAkB,CAAC,WAAW,EAAE,UAAU,IAAI,mBAAmB,CAAC,CAAC;YACnE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,WAAW,oBAAoB,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IACD,4FAA4F;IAE5F,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;IACxE,MAAM,KAAK,GAAG,eAAe,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;IAE5D,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG;YACd,aAAa,EAAE,CAAU;YACzB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACrC,aAAa,EAAE,IAAa;YAC5B,OAAO;YACP,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7D,CAAC;QACF,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;YACrD,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YACjC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;YACnC,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SACtC,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,oBAAoB;IACpB,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACrB,MAAM,YAAY,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC;QACxD,YAAY,CACV;YACE,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,+BAA+B,YAAY,4DAA4D;YAChH,UAAU,EAAE,UAAU;YACtB,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;SACpC,EACD,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CACvC,CAAC;QACF,OAAO;IACT,CAAC;IAED,yCAAyC;IACzC,MAAM,YAAY,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC;IACxD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,+BAA+B,YAAY,gCAAgC,CAC5E,CAAC;IAEF,IAAI,OAAO,KAAK,gBAAgB,EAAE,CAAC;QACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sFAAsF,CACvF,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,iBAAiB,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAE9D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,YAAY,CACV;YACE,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,kCAAkC,MAAM,CAAC,MAAM,IAAI,MAAM,GAAG;YACrE,UAAU,EAAE,UAAU;YACtB,OAAO,EAAE,EAAE,OAAO,EAAE;SACrB,EACD,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CACvC,CAAC;QACF,OAAO;IACT,CAAC;IAED,qBAAqB;IACrB,MAAM,OAAO,GAAG,eAAe,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;IAE9D,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG;YACd,aAAa,EAAE,CAAU;YACzB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACrC,aAAa,EAAE,IAAa;YAC5B,OAAO;YACP,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjE,CAAC;QACF,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;YACrD,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YACjC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;YACnC,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SACtC,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,YAAY,CACV;QACE,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,+GAA+G;QACxH,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE,EAAE,OAAO,EAAE;KACrB,EACD,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CACvC,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,GAAkB;IAC7B,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,mFAAmF;IAC5F,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCX;IACC,GAAG;CACJ,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { CommandModule } from '../command.js';
|
|
2
|
+
import type { DiscoveryAPI } from '../../discovery/types.js';
|
|
3
|
+
export interface CodedigestRevertCheckDeps {
|
|
4
|
+
buildDiscovery: (configPath?: string) => DiscoveryAPI;
|
|
5
|
+
}
|
|
6
|
+
export declare function isValidCommitSha(sha: string): boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Hash a commit's tree the way production stamps codeDigest: export the tree
|
|
9
|
+
* with `git archive` (no `.git`) and re-hash with the same deterministic hasher
|
|
10
|
+
* `hashImplStateDir` uses, ignoring `.git`. Returns the `sha256:`-prefixed
|
|
11
|
+
* digest the indexer stores. Keeping this in TS means the Consolidator prompt
|
|
12
|
+
* never reimplements the hasher (the single largest correctness risk, #764).
|
|
13
|
+
*/
|
|
14
|
+
export declare function codeDigestForCommit(implStateDir: string, sha: string): Promise<string>;
|
|
15
|
+
/**
|
|
16
|
+
* Validate the optional numeric CLI flags (#764 M1). Each is only checked when
|
|
17
|
+
* the operator actually provided it (omitted → policy default applies). Returns
|
|
18
|
+
* the first failure, or `undefined` when all provided flags are in range.
|
|
19
|
+
* - min-samples: finite integer >= 1
|
|
20
|
+
* - window: finite integer >= 1
|
|
21
|
+
* - alpha: finite number in the open interval (0, 1)
|
|
22
|
+
*/
|
|
23
|
+
export declare function validateNumericFlags(flags: {
|
|
24
|
+
minSamples?: string;
|
|
25
|
+
window?: string;
|
|
26
|
+
alpha?: string;
|
|
27
|
+
}): {
|
|
28
|
+
field: string;
|
|
29
|
+
message: string;
|
|
30
|
+
} | undefined;
|
|
31
|
+
export declare function createCodedigestRevertCheckCommand(deps?: CodedigestRevertCheckDeps): CommandModule;
|
|
32
|
+
declare const command: CommandModule;
|
|
33
|
+
export default command;
|