@jinn-network/client 0.1.7 → 0.1.8-canary.09a3b2f6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +67 -1
- package/dist/adapters/mech/adapter.d.ts +39 -2
- package/dist/adapters/mech/adapter.js +178 -20
- package/dist/adapters/mech/adapter.js.map +1 -1
- package/dist/adapters/mech/contracts.d.ts +22 -1
- package/dist/adapters/mech/contracts.js +96 -52
- 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.d.ts +1 -1
- package/dist/adapters/mech/safe.js +10 -4
- package/dist/adapters/mech/safe.js.map +1 -1
- package/dist/adapters/mech/types.d.ts +6 -1
- package/dist/adapters/mech/types.js.map +1 -1
- package/dist/agent/operator-claude.js +8 -0
- package/dist/agent/operator-claude.js.map +1 -1
- package/dist/api/activity-events-endpoint.d.ts +14 -0
- package/dist/api/activity-events-endpoint.js +59 -0
- package/dist/api/activity-events-endpoint.js.map +1 -0
- package/dist/api/bootstrap-endpoint.d.ts +1 -2
- package/dist/api/bootstrap-endpoint.js +42 -24
- package/dist/api/bootstrap-endpoint.js.map +1 -1
- package/dist/api/codex-doctor-endpoint.d.ts +22 -5
- package/dist/api/codex-doctor-endpoint.js +136 -17
- package/dist/api/codex-doctor-endpoint.js.map +1 -1
- package/dist/api/debug-report-endpoint.d.ts +27 -0
- package/dist/api/debug-report-endpoint.js +157 -0
- package/dist/api/debug-report-endpoint.js.map +1 -0
- package/dist/api/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 +39 -0
- package/dist/api/gather-status.js +181 -84
- package/dist/api/gather-status.js.map +1 -1
- package/dist/api/hermes-doctor-endpoint.d.ts +15 -7
- package/dist/api/hermes-doctor-endpoint.js +56 -19
- package/dist/api/hermes-doctor-endpoint.js.map +1 -1
- package/dist/api/launcher-status.d.ts +4 -2
- package/dist/api/launcher-status.js +11 -10
- package/dist/api/launcher-status.js.map +1 -1
- package/dist/api/launcher-tasks.d.ts +1 -1
- package/dist/api/launcher-tasks.js +12 -8
- package/dist/api/launcher-tasks.js.map +1 -1
- package/dist/api/loop-completion-build.d.ts +79 -0
- package/dist/api/loop-completion-build.js +155 -0
- package/dist/api/loop-completion-build.js.map +1 -0
- package/dist/api/operator-artifacts-endpoint.js +73 -6
- package/dist/api/operator-artifacts-endpoint.js.map +1 -1
- package/dist/api/portfolio-v0-build.d.ts +7 -1
- package/dist/api/portfolio-v0-build.js +6 -2
- package/dist/api/portfolio-v0-build.js.map +1 -1
- package/dist/api/prediction-v1-build.d.ts +6 -0
- package/dist/api/prediction-v1-build.js +3 -1
- package/dist/api/prediction-v1-build.js.map +1 -1
- package/dist/api/server.d.ts +17 -0
- package/dist/api/server.js +40 -1
- package/dist/api/server.js.map +1 -1
- package/dist/api/setup-endpoints.d.ts +13 -9
- package/dist/api/setup-endpoints.js +50 -173
- package/dist/api/setup-endpoints.js.map +1 -1
- package/dist/api/solvernets-endpoints.js +33 -63
- package/dist/api/solvernets-endpoints.js.map +1 -1
- package/dist/api/status-build.d.ts +140 -17
- package/dist/api/status-build.js +47 -34
- 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/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/task-runs-build.d.ts +8 -0
- package/dist/api/task-runs-build.js +5 -1
- package/dist/api/task-runs-build.js.map +1 -1
- package/dist/build-info.json +4 -4
- package/dist/build-meta.json +1 -1
- package/dist/captures/live-publisher.js +24 -4
- package/dist/captures/live-publisher.js.map +1 -1
- package/dist/captures/publish.d.ts +1 -1
- package/dist/chain-read-errors.d.ts +12 -0
- package/dist/chain-read-errors.js +26 -1
- package/dist/chain-read-errors.js.map +1 -1
- package/dist/cli/commands/codedigest-revert-check.d.ts +33 -0
- package/dist/cli/commands/codedigest-revert-check.js +253 -0
- package/dist/cli/commands/codedigest-revert-check.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +3 -0
- package/dist/cli/commands/doctor.js +35 -0
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/eval.d.ts +76 -0
- package/dist/cli/commands/eval.js +401 -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 +27 -0
- 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 +245 -22
- package/dist/cli/commands/solver-nets.js.map +1 -1
- package/dist/cli/commands/solver-plugins-block.d.ts +33 -0
- package/dist/cli/commands/solver-plugins-block.js +118 -0
- package/dist/cli/commands/solver-plugins-block.js.map +1 -0
- package/dist/cli/commands/solver-plugins-feedback.d.ts +72 -0
- package/dist/cli/commands/solver-plugins-feedback.js +262 -0
- package/dist/cli/commands/solver-plugins-feedback.js.map +1 -0
- package/dist/cli/commands/solver-plugins-read.d.ts +54 -0
- package/dist/cli/commands/solver-plugins-read.js +259 -0
- package/dist/cli/commands/solver-plugins-read.js.map +1 -0
- package/dist/cli/commands/solver-plugins.d.ts +35 -0
- package/dist/cli/commands/solver-plugins.js +399 -2
- package/dist/cli/commands/solver-plugins.js.map +1 -1
- package/dist/cli/commands/status.js +0 -1
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/tasks.js +15 -2
- package/dist/cli/commands/tasks.js.map +1 -1
- package/dist/cli/index.js +4 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/task-native-readiness.d.ts +7 -0
- package/dist/cli/task-native-readiness.js +7 -5
- package/dist/cli/task-native-readiness.js.map +1 -1
- package/dist/config.d.ts +206 -232
- package/dist/config.js +289 -107
- package/dist/config.js.map +1 -1
- package/dist/daemon/ai-units-gate.d.ts +54 -0
- package/dist/daemon/ai-units-gate.js +83 -0
- package/dist/daemon/ai-units-gate.js.map +1 -0
- package/dist/daemon/creator.js +13 -0
- package/dist/daemon/creator.js.map +1 -1
- package/dist/daemon/daemon.d.ts +10 -0
- package/dist/daemon/daemon.js +205 -30
- package/dist/daemon/daemon.js.map +1 -1
- package/dist/daemon/eviction-loop.d.ts +7 -0
- package/dist/daemon/eviction-loop.js +16 -0
- package/dist/daemon/eviction-loop.js.map +1 -1
- package/dist/daemon/gate-logger.d.ts +9 -0
- package/dist/daemon/gate-logger.js +2 -0
- package/dist/daemon/gate-logger.js.map +1 -0
- package/dist/daemon/jinn-claim-loop.js +22 -4
- package/dist/daemon/jinn-claim-loop.js.map +1 -1
- package/dist/daemon/readiness-gate.d.ts +1 -4
- package/dist/daemon/readiness-gate.js.map +1 -1
- package/dist/daemon/spend-cap-gate.d.ts +40 -0
- package/dist/daemon/spend-cap-gate.js +46 -0
- package/dist/daemon/spend-cap-gate.js.map +1 -0
- package/dist/dashboard/assets/index-3quVQqik.js +167 -0
- package/dist/dashboard/assets/index-BVAWkLwY.css +1 -0
- package/dist/dashboard/index.html +2 -2
- package/dist/discovery/http.d.ts +7 -0
- package/dist/discovery/http.js +567 -24
- package/dist/discovery/http.js.map +1 -1
- package/dist/discovery/onchain.js +197 -5
- package/dist/discovery/onchain.js.map +1 -1
- package/dist/discovery/types.d.ts +235 -0
- package/dist/discovery/types.js +40 -0
- package/dist/discovery/types.js.map +1 -1
- package/dist/discovery/with-fallback.js +41 -0
- package/dist/discovery/with-fallback.js.map +1 -1
- package/dist/earning/bootstrap.d.ts +31 -3
- package/dist/earning/bootstrap.js +94 -22
- package/dist/earning/bootstrap.js.map +1 -1
- 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 +34 -11
- package/dist/earning/safe-adapter.js.map +1 -1
- package/dist/earning/types.d.ts +6 -6
- package/dist/earning/viem-clients.d.ts +11 -4
- package/dist/earning/viem-clients.js +14 -5
- package/dist/earning/viem-clients.js.map +1 -1
- package/dist/erc8004/identity.d.ts +19 -3
- package/dist/erc8004/identity.js +38 -11
- package/dist/erc8004/identity.js.map +1 -1
- package/dist/erc8004/index.d.ts +1 -1
- package/dist/erc8004/index.js.map +1 -1
- package/dist/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/orchestrator.d.ts +163 -0
- package/dist/eval/orchestrator.js +232 -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 +2 -2
- package/dist/harnesses/cost-estimates.d.ts +10 -31
- package/dist/harnesses/cost-estimates.js +11 -43
- package/dist/harnesses/cost-estimates.js.map +1 -1
- package/dist/harnesses/engine/canonical-json.js +5 -3
- package/dist/harnesses/engine/canonical-json.js.map +1 -1
- package/dist/harnesses/engine/engine.d.ts +37 -4
- package/dist/harnesses/engine/engine.js +151 -20
- package/dist/harnesses/engine/engine.js.map +1 -1
- package/dist/harnesses/engine/persistence.d.ts +38 -4
- package/dist/harnesses/engine/persistence.js +71 -6
- package/dist/harnesses/engine/persistence.js.map +1 -1
- package/dist/harnesses/engine/state.d.ts +9 -0
- package/dist/harnesses/engine/state.js +23 -10
- package/dist/harnesses/engine/state.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/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 +10 -3
- 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 +31 -3
- package/dist/harnesses/impls/hermes-agent/harness.js +84 -7
- 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 +2 -0
- package/dist/harnesses/impls/index.js +2 -0
- package/dist/harnesses/impls/index.js.map +1 -1
- package/dist/harnesses/impls/learner/adapters/claude-code.d.ts +17 -0
- package/dist/harnesses/impls/learner/adapters/claude-code.js +118 -14
- package/dist/harnesses/impls/learner/adapters/claude-code.js.map +1 -1
- package/dist/harnesses/impls/learner/adapters/codex-code.d.ts +9 -0
- package/dist/harnesses/impls/learner/adapters/codex-code.js +30 -8
- package/dist/harnesses/impls/learner/adapters/codex-code.js.map +1 -1
- package/dist/harnesses/impls/learner/harness.d.ts +41 -1
- package/dist/harnesses/impls/learner/harness.js +78 -4
- package/dist/harnesses/impls/learner/harness.js.map +1 -1
- package/dist/harnesses/impls/learner/harvest.d.ts +3 -1
- package/dist/harnesses/impls/learner/harvest.js +30 -6
- 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/learner/restoration-patch.d.ts +2 -2
- package/dist/harnesses/impls/learner/restoration-patch.js +25 -6
- package/dist/harnesses/impls/learner/restoration-patch.js.map +1 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js +21 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js.map +1 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/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/hf-fetcher.d.ts +74 -5
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js +103 -32
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js.map +1 -1
- package/dist/harnesses/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 +7 -0
- package/dist/harnesses/readiness-registry.js +9 -0
- package/dist/harnesses/readiness-registry.js.map +1 -1
- package/dist/harnesses/types.d.ts +14 -0
- package/dist/learner/revert-decision.d.ts +74 -0
- package/dist/learner/revert-decision.js +73 -0
- package/dist/learner/revert-decision.js.map +1 -0
- package/dist/learner/revert-stats.d.ts +38 -0
- package/dist/learner/revert-stats.js +86 -0
- package/dist/learner/revert-stats.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 +199 -104
- package/dist/main.js.map +1 -1
- package/dist/mcp/get-codedigest-reward.d.ts +13 -0
- package/dist/mcp/get-codedigest-reward.js +23 -0
- package/dist/mcp/get-codedigest-reward.js.map +1 -0
- package/dist/mcp/server.js +23 -0
- package/dist/mcp/server.js.map +1 -1
- package/dist/observability/debug-report-assemble.d.ts +43 -0
- package/dist/observability/debug-report-assemble.js +80 -0
- package/dist/observability/debug-report-assemble.js.map +1 -0
- package/dist/observability/emit-event.d.ts +9 -2
- package/dist/observability/emit-event.js +36 -2
- package/dist/observability/emit-event.js.map +1 -1
- package/dist/observability/file-logger.d.ts +69 -0
- package/dist/observability/file-logger.js +177 -0
- package/dist/observability/file-logger.js.map +1 -0
- package/dist/observability/redact-secrets.d.ts +65 -0
- package/dist/observability/redact-secrets.js +300 -0
- package/dist/observability/redact-secrets.js.map +1 -0
- package/dist/observability/tar.d.ts +30 -0
- package/dist/observability/tar.js +102 -0
- package/dist/observability/tar.js.map +1 -0
- package/dist/plugins/learner/.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 +22 -1
- package/dist/plugins/learner/skills/learn/promoter-prompt.md +72 -1
- package/dist/preflight/deployment-readiness.d.ts +147 -0
- package/dist/preflight/deployment-readiness.js +366 -0
- package/dist/preflight/deployment-readiness.js.map +1 -0
- package/dist/preflight/pidfile-liveness.d.ts +50 -0
- package/dist/preflight/pidfile-liveness.js +117 -0
- package/dist/preflight/pidfile-liveness.js.map +1 -0
- package/dist/preflight/rpc-network.d.ts +40 -0
- package/dist/preflight/rpc-network.js +67 -1
- package/dist/preflight/rpc-network.js.map +1 -1
- package/dist/rpc/transport.d.ts +145 -0
- package/dist/rpc/transport.js +319 -0
- package/dist/rpc/transport.js.map +1 -0
- package/dist/scripts/donation-consumption-acceptance.js +7 -28
- package/dist/scripts/donation-consumption-acceptance.js.map +1 -1
- package/dist/scripts/swe-rebench-v2-pytest-missing.json +16 -0
- package/dist/solver-nets/prediction-operator-ux.d.ts +1 -2
- package/dist/solver-nets/prediction-operator-ux.js +56 -53
- package/dist/solver-nets/prediction-operator-ux.js.map +1 -1
- package/dist/solver-nets/registry.d.ts +19 -1
- package/dist/solver-nets/registry.js +37 -24
- package/dist/solver-nets/registry.js.map +1 -1
- package/dist/solver-types/_swe-rebench-v2-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-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 +24 -0
- package/dist/solver-types/_swe-rebench-v2-state.js +33 -0
- package/dist/solver-types/_swe-rebench-v2-state.js.map +1 -1
- package/dist/solver-types/_swe-rebench-v2-validated-pool.d.ts +116 -2
- package/dist/solver-types/_swe-rebench-v2-validated-pool.js +296 -21
- package/dist/solver-types/_swe-rebench-v2-validated-pool.js.map +1 -1
- package/dist/solver-types/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-auto.d.ts +20 -11
- package/dist/solver-types/swe-rebench-v2-auto.js +64 -19
- package/dist/solver-types/swe-rebench-v2-auto.js.map +1 -1
- package/dist/solver-types/swe-rebench-v2.d.ts +10 -2
- package/dist/solver-types/swe-rebench-v2.js +233 -13
- package/dist/solver-types/swe-rebench-v2.js.map +1 -1
- package/dist/solvernets/daemon-init.d.ts +1 -1
- package/dist/solvernets/daemon-init.js +19 -4
- package/dist/solvernets/daemon-init.js.map +1 -1
- package/dist/solvernets/launched-record-dispatcher.d.ts +7 -0
- package/dist/solvernets/launched-record-dispatcher.js +10 -4
- package/dist/solvernets/launched-record-dispatcher.js.map +1 -1
- package/dist/solvernets/registry-client-erc8004.js +40 -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 +2 -2
- package/dist/solvernets/store.js +7 -2
- package/dist/solvernets/store.js.map +1 -1
- package/dist/spend/ai-units-config.d.ts +49 -0
- package/dist/spend/ai-units-config.js +34 -0
- package/dist/spend/ai-units-config.js.map +1 -0
- package/dist/spend/ai-units.d.ts +140 -0
- package/dist/spend/ai-units.js +229 -0
- package/dist/spend/ai-units.js.map +1 -0
- package/dist/spend/cost-surface-status.d.ts +12 -0
- package/dist/spend/cost-surface-status.js +24 -0
- package/dist/spend/cost-surface-status.js.map +1 -0
- package/dist/spend/credential.d.ts +39 -0
- package/dist/spend/credential.js +71 -0
- package/dist/spend/credential.js.map +1 -0
- package/dist/spend/daemon-config.d.ts +13 -0
- package/dist/spend/daemon-config.js +24 -0
- package/dist/spend/daemon-config.js.map +1 -0
- package/dist/spend/pricing.d.ts +16 -0
- package/dist/spend/pricing.js +26 -0
- package/dist/spend/pricing.js.map +1 -0
- package/dist/spend/record.d.ts +13 -0
- package/dist/spend/record.js +43 -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 +187 -0
- package/dist/store/store.js +467 -4
- package/dist/store/store.js.map +1 -1
- package/dist/trajectory/transcript-parsers/codex-session.d.ts +12 -6
- package/dist/trajectory/transcript-parsers/codex-session.js +114 -13
- package/dist/trajectory/transcript-parsers/codex-session.js.map +1 -1
- package/dist/trajectory/transcript-parsers/types.d.ts +8 -8
- package/dist/trajectory/transcript-session-dirs.d.ts +18 -0
- package/dist/trajectory/transcript-session-dirs.js +85 -0
- package/dist/trajectory/transcript-session-dirs.js.map +1 -0
- package/dist/trajectory/transcript-watcher.d.ts +20 -1
- package/dist/trajectory/transcript-watcher.js +108 -32
- package/dist/trajectory/transcript-watcher.js.map +1 -1
- package/dist/tx-retry.d.ts +25 -0
- package/dist/tx-retry.js +95 -7
- package/dist/tx-retry.js.map +1 -1
- package/dist/types/payloads/portfolio-v0.d.ts +3 -3
- package/dist/types/payloads/prediction-apy-v0.d.ts +3 -3
- package/dist/types/payloads/prediction-v0.d.ts +12 -12
- package/dist/vendor/@jinn-network/sdk/dist/payloads/swe-rebench-v2.d.ts +108 -1
- package/dist/vendor/@jinn-network/sdk/dist/payloads/swe-rebench-v2.js +25 -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/package.json +4 -0
- package/docker-compose.yml +3 -2
- package/package.json +30 -18
- 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 +22 -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/hooks/hooks.json +16 -0
- package/plugins/swe-rebench-v2-runtime/hooks/session-start +74 -0
- package/plugins/swe-rebench-v2-runtime/jinn.plugin.json +2 -3
- package/plugins/swe-rebench-v2-runtime/skills/task/SKILL.md +81 -0
- package/dist/dashboard/assets/index-BUlE8F3Y.js +0 -330
- package/dist/dashboard/assets/index-blqc7eqq.css +0 -32
- package/plugins/swe-rebench-v2-runtime/skills/orient/SKILL.md +0 -29
- package/plugins/swe-rebench-v2-runtime/skills/plan/SKILL.md +0 -53
|
@@ -111,15 +111,13 @@ function projectLauncherGeneratorState(raw) {
|
|
|
111
111
|
const live = finiteNumber(rawSummary['live']);
|
|
112
112
|
const repostable = finiteNumber(rawSummary['repostable']);
|
|
113
113
|
const saturated = finiteNumber(rawSummary['saturated']);
|
|
114
|
-
const abandoned = finiteNumber(rawSummary['abandoned']);
|
|
115
114
|
const posted = finiteNumber(rawSummary['posted']);
|
|
116
115
|
if (poolSize !== undefined &&
|
|
117
116
|
posted !== undefined &&
|
|
118
117
|
unposted !== undefined &&
|
|
119
118
|
live !== undefined &&
|
|
120
119
|
repostable !== undefined &&
|
|
121
|
-
saturated !== undefined
|
|
122
|
-
abandoned !== undefined) {
|
|
120
|
+
saturated !== undefined) {
|
|
123
121
|
projected.lastPollSummary = {
|
|
124
122
|
poolSize,
|
|
125
123
|
posted,
|
|
@@ -127,7 +125,6 @@ function projectLauncherGeneratorState(raw) {
|
|
|
127
125
|
live,
|
|
128
126
|
repostable,
|
|
129
127
|
saturated,
|
|
130
|
-
abandoned,
|
|
131
128
|
};
|
|
132
129
|
}
|
|
133
130
|
else {
|
|
@@ -138,6 +135,15 @@ function projectLauncherGeneratorState(raw) {
|
|
|
138
135
|
}
|
|
139
136
|
}
|
|
140
137
|
}
|
|
138
|
+
const poolPublicationUpdatedAt = optionalString(snapshot['poolPublicationUpdatedAt']);
|
|
139
|
+
if (poolPublicationUpdatedAt)
|
|
140
|
+
projected.poolPublicationUpdatedAt = poolPublicationUpdatedAt;
|
|
141
|
+
const poolPublicationPriorSize = finiteNumber(snapshot['poolPublicationPriorSize']);
|
|
142
|
+
if (poolPublicationPriorSize !== undefined)
|
|
143
|
+
projected.poolPublicationPriorSize = poolPublicationPriorSize;
|
|
144
|
+
const poolPublicationCurrentSize = finiteNumber(snapshot['poolPublicationCurrentSize']);
|
|
145
|
+
if (poolPublicationCurrentSize !== undefined)
|
|
146
|
+
projected.poolPublicationCurrentSize = poolPublicationCurrentSize;
|
|
141
147
|
return projected;
|
|
142
148
|
}
|
|
143
149
|
function launcherStateReaderFor(generator) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launched-record-dispatcher.js","sourceRoot":"","sources":["../../src/solvernets/launched-record-dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"launched-record-dispatcher.js","sourceRoot":"","sources":["../../src/solvernets/launched-record-dispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
import { canonicalJson } from '../harnesses/engine/canonical-json.js';
|
|
22
22
|
import { canonicalManifestJson, manifestHash, } from './manifest.js';
|
|
23
23
|
import { validateSolverNetManifest, } from '../vendor/@jinn-network/sdk/dist/solvernets/index.js';
|
|
24
|
+
import { DiscoveryUnavailableError } from '../discovery/types.js';
|
|
24
25
|
// ── Constants ────────────────────────────────────────────────────────────────
|
|
25
26
|
/**
|
|
26
27
|
* Metadata-key prefix for SolverNet manifest anchors. The full key is
|
|
@@ -28,6 +29,23 @@ import { validateSolverNetManifest, } from '../vendor/@jinn-network/sdk/dist/sol
|
|
|
28
29
|
* subgraph for `LIKE 'solvernet-manifest:%'` filtering.
|
|
29
30
|
*/
|
|
30
31
|
export const SOLVERNET_MANIFEST_KEY_PREFIX = 'solvernet-manifest:';
|
|
32
|
+
/**
|
|
33
|
+
* Map the operator-facing network name (manifest-schema.ts `network` enum) to
|
|
34
|
+
* the on-chain chain id the indexer scopes rows by.
|
|
35
|
+
* Issue #985 criterion 2 — the list path filters on the indexed chainId, not
|
|
36
|
+
* on a manifest body fetched per-row from IPFS.
|
|
37
|
+
*/
|
|
38
|
+
function networkToChainId(network) {
|
|
39
|
+
return network === 'base' ? 8453 : 84532;
|
|
40
|
+
}
|
|
41
|
+
function warnAndRethrowDiscoveryUnavailable(manifestCid, err) {
|
|
42
|
+
if (!(err instanceof DiscoveryUnavailableError)) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const codeSuffix = err.code ? ` (${err.code})` : '';
|
|
46
|
+
console.warn(`[solvernet] manifest ${manifestCid}: discoveryApi hash check unavailable${codeSuffix}: ${err.message}`);
|
|
47
|
+
throw err;
|
|
48
|
+
}
|
|
31
49
|
/**
|
|
32
50
|
* Schema version embedded in every lifecycle payload. Keep in sync with
|
|
33
51
|
* spec §6.3.
|
|
@@ -162,47 +180,30 @@ export class IdentityRegistryBackedSolverNetRegistryClient {
|
|
|
162
180
|
if (!this.discoveryApi) {
|
|
163
181
|
throw new Error('IdentityRegistryBackedSolverNetRegistryClient requires a DiscoveryAPI for listLaunched');
|
|
164
182
|
}
|
|
165
|
-
// Step 1: Obtain
|
|
166
|
-
//
|
|
167
|
-
//
|
|
183
|
+
// Step 1: Obtain enriched summaries from the DiscoveryAPI. Post-#985 the
|
|
184
|
+
// indexer persists every summary field (name/network/prices/openRoles/
|
|
185
|
+
// launcher safe / contract id+version) on the solverNetManifest row, so a
|
|
186
|
+
// single GraphQL query returns the catalog. Rows the indexer hasn't enriched
|
|
187
|
+
// yet (or that an old indexer omits) pass through unenriched here — empty
|
|
188
|
+
// name, '0' prices, zero launcher address; they are not re-enriched via IPFS
|
|
189
|
+
// on this path. Full fields appear once enrichment lands, or via the
|
|
190
|
+
// hash-verified getManifest detail path. Note: listLaunchedSolverNets does
|
|
191
|
+
// not accept sinceBlock — that was a subgraph optimisation that does not
|
|
192
|
+
// translate to the abstract interface.
|
|
168
193
|
const rawSummaries = await this.discoveryApi.listLaunchedSolverNets(args.statusFilter !== undefined ? { status: args.statusFilter } : undefined);
|
|
169
|
-
// Step 2:
|
|
170
|
-
//
|
|
171
|
-
//
|
|
194
|
+
// Step 2: Chain-scope and project. The registry is global; the catalog is
|
|
195
|
+
// chain-scoped. We filter on the INDEXED chainId — no per-row IPFS fetch.
|
|
196
|
+
//
|
|
197
|
+
// Trust delta: this list path now trusts the indexer's enriched fields.
|
|
198
|
+
// The on-demand detail path (getManifest) still hash-verifies the IPFS body
|
|
199
|
+
// against the on-chain advertised hash, so a tampered catalog row surfaces
|
|
200
|
+
// the moment an operator opens that SolverNet's detail.
|
|
201
|
+
const targetChainId = networkToChainId(args.network);
|
|
172
202
|
const out = [];
|
|
173
203
|
for (const row of rawSummaries) {
|
|
174
|
-
|
|
175
|
-
try {
|
|
176
|
-
manifest = await this.fetchAndValidateManifest(row.manifestCid);
|
|
177
|
-
}
|
|
178
|
-
catch {
|
|
179
|
-
// Skip rows whose IPFS body can't be fetched/validated. Operators
|
|
180
|
-
// see "missing/tampered manifest" rows nowhere, which is
|
|
181
|
-
// intentional — the catalog should not surface broken entries.
|
|
182
|
-
continue;
|
|
183
|
-
}
|
|
184
|
-
// Per-network filter — the registry is global; the catalog is
|
|
185
|
-
// chain-scoped. `args.network` is what the operator asked for; the
|
|
186
|
-
// constructor's `this.network` is the chain this client serves and
|
|
187
|
-
// is informational only.
|
|
188
|
-
if (manifest.network !== args.network)
|
|
204
|
+
if (row.chainId !== targetChainId)
|
|
189
205
|
continue;
|
|
190
|
-
out.push(
|
|
191
|
-
manifestCid: row.manifestCid,
|
|
192
|
-
solverNetId: manifest.solverNetId,
|
|
193
|
-
name: manifest.name,
|
|
194
|
-
network: manifest.network,
|
|
195
|
-
launcherAgentId: row.launcherAgentId,
|
|
196
|
-
launcherSafeAddress: manifest.launcher.safeAddress,
|
|
197
|
-
status: row.status,
|
|
198
|
-
statusUpdatedAt: row.statusUpdatedAt,
|
|
199
|
-
contractId: manifest.contract.id,
|
|
200
|
-
contractVersion: manifest.contract.version,
|
|
201
|
-
solutionPriceWei: manifest.solutionPriceWei,
|
|
202
|
-
verdictPriceWei: manifest.verdictPriceWei,
|
|
203
|
-
openRoles: manifest.openRoles,
|
|
204
|
-
anchorBlock: row.anchorBlock,
|
|
205
|
-
});
|
|
206
|
+
out.push(row);
|
|
206
207
|
}
|
|
207
208
|
return out;
|
|
208
209
|
}
|
|
@@ -230,6 +231,7 @@ export class IdentityRegistryBackedSolverNetRegistryClient {
|
|
|
230
231
|
}
|
|
231
232
|
}
|
|
232
233
|
catch (err) {
|
|
234
|
+
warnAndRethrowDiscoveryUnavailable(args.manifestCid, err);
|
|
233
235
|
console.error(`[solvernet] manifest ${args.manifestCid}: discoveryApi hash check unavailable; ` +
|
|
234
236
|
`using IPFS CID-bound manifest (${err instanceof Error ? err.message : String(err)})`);
|
|
235
237
|
}
|
|
@@ -297,6 +299,7 @@ export class IdentityRegistryBackedSolverNetRegistryClient {
|
|
|
297
299
|
}
|
|
298
300
|
}
|
|
299
301
|
catch (err) {
|
|
302
|
+
warnAndRethrowDiscoveryUnavailable(manifestCid, err);
|
|
300
303
|
console.error(`[solvernet] manifest ${manifestCid}: discoveryApi hash check unavailable; ` +
|
|
301
304
|
`using IPFS CID-bound manifest (${err instanceof Error ? err.message : String(err)})`);
|
|
302
305
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-client-erc8004.js","sourceRoot":"","sources":["../../src/solvernets/registry-client-erc8004.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EACL,qBAAqB,EACrB,YAAY,GACb,MAAM,eAAe,CAAC;AAKvB,OAAO,EACL,yBAAyB,GAE1B,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"registry-client-erc8004.js","sourceRoot":"","sources":["../../src/solvernets/registry-client-erc8004.ts"],"names":[],"mappings":"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"}
|
|
@@ -73,6 +73,12 @@ export interface SolverNetManifestSummary {
|
|
|
73
73
|
verdictPriceWei: string;
|
|
74
74
|
openRoles: Array<'solver' | 'evaluator'>;
|
|
75
75
|
anchorBlock: number;
|
|
76
|
+
/**
|
|
77
|
+
* Indexed chain id from the on-chain MetadataSet event (84532 = base-sepolia,
|
|
78
|
+
* 8453 = base). Used by listLaunched for chain scoping without an IPFS fetch.
|
|
79
|
+
* Issue #985 criterion 2.
|
|
80
|
+
*/
|
|
81
|
+
chainId: number;
|
|
76
82
|
}
|
|
77
83
|
/**
|
|
78
84
|
* Abstract registry client. Five methods, mirroring spec §13 exactly.
|
|
@@ -255,9 +255,9 @@ export declare const DraftSolverNetRecordSchema: z.ZodObject<{
|
|
|
255
255
|
}, "strip", z.ZodTypeAny, {
|
|
256
256
|
schemaVersion: "solvernet.draft.v1";
|
|
257
257
|
createdAt: string;
|
|
258
|
-
updatedAt: string;
|
|
259
258
|
draftId: string;
|
|
260
259
|
completedSteps: ("define" | "reviewContract" | "configureGenerator" | "configurePricing")[];
|
|
260
|
+
updatedAt: string;
|
|
261
261
|
name?: string | undefined;
|
|
262
262
|
description?: string | undefined;
|
|
263
263
|
generatorConfig?: Record<string, unknown> | undefined;
|
|
@@ -269,9 +269,9 @@ export declare const DraftSolverNetRecordSchema: z.ZodObject<{
|
|
|
269
269
|
}, {
|
|
270
270
|
schemaVersion: "solvernet.draft.v1";
|
|
271
271
|
createdAt: string;
|
|
272
|
-
updatedAt: string;
|
|
273
272
|
draftId: string;
|
|
274
273
|
completedSteps: ("define" | "reviewContract" | "configureGenerator" | "configurePricing")[];
|
|
274
|
+
updatedAt: string;
|
|
275
275
|
name?: string | undefined;
|
|
276
276
|
description?: string | undefined;
|
|
277
277
|
generatorConfig?: Record<string, unknown> | undefined;
|
package/dist/solvernets/store.js
CHANGED
|
@@ -170,7 +170,12 @@ async function writeJsonAtomic(filePath, data) {
|
|
|
170
170
|
*
|
|
171
171
|
* Tmp files produced by `writeJsonAtomic` are named
|
|
172
172
|
* `<name>.json.tmp-<pid>-<ts>-<rand>` and are excluded by the
|
|
173
|
-
* `.endsWith('.json')`
|
|
173
|
+
* `.endsWith('.json')` check — no separate `.tmp` filter needed.
|
|
174
|
+
*
|
|
175
|
+
* Dot-prefixed names are also excluded: AppleDouble `._*.json` companion
|
|
176
|
+
* files land in the dir when operator state is seeded from a macOS-produced
|
|
177
|
+
* tarball, and an `._*` sidecar carrying valid-looking JSON would otherwise
|
|
178
|
+
* be listed and mis-validated (or spam an error log per load).
|
|
174
179
|
*/
|
|
175
180
|
async function listJsonFiles(dir) {
|
|
176
181
|
let entries;
|
|
@@ -182,7 +187,7 @@ async function listJsonFiles(dir) {
|
|
|
182
187
|
return [];
|
|
183
188
|
throw err;
|
|
184
189
|
}
|
|
185
|
-
return entries.filter(name => name.endsWith('.json'));
|
|
190
|
+
return entries.filter(name => name.endsWith('.json') && !name.startsWith('.'));
|
|
186
191
|
}
|
|
187
192
|
async function readAndParse(filePath, schema, context) {
|
|
188
193
|
let raw;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/solvernets/store.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/solvernets/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Daemon-side AI-units gate config — issue #815.
|
|
3
|
+
*
|
|
4
|
+
* Resolves, per-manifest:
|
|
5
|
+
* - the credential that manifest's harness bills against
|
|
6
|
+
* - the projected AI-unit cost of one task on that harness/model
|
|
7
|
+
*
|
|
8
|
+
* Plus the active per-block / per-week caps from
|
|
9
|
+
* `resolveReferenceCeiling(env)`.
|
|
10
|
+
*
|
|
11
|
+
* Returns undefined only when no joined SolverNet resolves to a
|
|
12
|
+
* credential the gate could meaningfully meter — at that point the
|
|
13
|
+
* gate stays off entirely so the daemon does not spend a query per
|
|
14
|
+
* task on rows that will never sum.
|
|
15
|
+
*/
|
|
16
|
+
import type { JinnConfig } from '../config.js';
|
|
17
|
+
import { type CredentialId } from './credential.js';
|
|
18
|
+
export interface AiUnitsDaemonConfig {
|
|
19
|
+
/** Unit caps — retained for the legacy /v1/status unit surface (#1006). */
|
|
20
|
+
capPerBlock: number;
|
|
21
|
+
capPerWeek: number;
|
|
22
|
+
/** USD-micros caps — what the gate now compares against (issue #1004). */
|
|
23
|
+
capPerBlockUsdMicros: number;
|
|
24
|
+
capPerWeekUsdMicros: number;
|
|
25
|
+
/** manifestCid -> credentialId (set only when the harness has one). */
|
|
26
|
+
manifestCredentials: Record<string, CredentialId>;
|
|
27
|
+
/**
|
|
28
|
+
* manifestCid -> projected AI units per task. `null` means the model
|
|
29
|
+
* is unknown to the cost table and the gate must fail-open with a
|
|
30
|
+
* one-time warn rather than silently halting claims.
|
|
31
|
+
*/
|
|
32
|
+
manifestProjectedAiUnits: Record<string, number | null>;
|
|
33
|
+
/**
|
|
34
|
+
* manifestCid -> projected USD micros per task (issue #1004). `null` =
|
|
35
|
+
* unpriceable model (gate fails open with a warn), same semantics as
|
|
36
|
+
* {@link manifestProjectedAiUnits}.
|
|
37
|
+
*/
|
|
38
|
+
manifestProjectedUsdMicros: Record<string, number | null>;
|
|
39
|
+
/**
|
|
40
|
+
* manifestCid -> the model id from the joined SolverNet config. Threaded
|
|
41
|
+
* onto the per-request activity row at claim time so the row carries
|
|
42
|
+
* provenance of the projection. May be undefined when the operator
|
|
43
|
+
* joined without selecting a model.
|
|
44
|
+
*/
|
|
45
|
+
manifestModels: Record<string, string | undefined>;
|
|
46
|
+
}
|
|
47
|
+
export declare function buildAiUnitsConfig(config: Pick<JinnConfig, 'joinedSolverNets'>, env: NodeJS.ProcessEnv,
|
|
48
|
+
/** Optional home dir override for resolveCredentialId's disk probe — tests only. */
|
|
49
|
+
homeDirOverride?: string): AiUnitsDaemonConfig | undefined;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { resolveCredentialId } from './credential.js';
|
|
2
|
+
import { projectAiUnits, projectTaskUsdMicros, resolveReferenceCeiling, resolveReferenceCeilingUsdMicros, } from './ai-units.js';
|
|
3
|
+
export function buildAiUnitsConfig(config, env,
|
|
4
|
+
/** Optional home dir override for resolveCredentialId's disk probe — tests only. */
|
|
5
|
+
homeDirOverride) {
|
|
6
|
+
const { units_per_block, units_per_week } = resolveReferenceCeiling(env);
|
|
7
|
+
const { usd_micros_per_block, usd_micros_per_week } = resolveReferenceCeilingUsdMicros(env);
|
|
8
|
+
const manifestCredentials = {};
|
|
9
|
+
const manifestProjectedAiUnits = {};
|
|
10
|
+
const manifestProjectedUsdMicros = {};
|
|
11
|
+
const manifestModels = {};
|
|
12
|
+
for (const [manifestCid, entry] of Object.entries(config.joinedSolverNets ?? {})) {
|
|
13
|
+
const credentialId = resolveCredentialId(entry.harness, env, homeDirOverride);
|
|
14
|
+
if (!credentialId)
|
|
15
|
+
continue;
|
|
16
|
+
manifestCredentials[manifestCid] = credentialId;
|
|
17
|
+
manifestProjectedAiUnits[manifestCid] = projectAiUnits(entry.harness, entry.model, credentialId);
|
|
18
|
+
manifestProjectedUsdMicros[manifestCid] = projectTaskUsdMicros(entry.harness, entry.model, credentialId);
|
|
19
|
+
manifestModels[manifestCid] = entry.model;
|
|
20
|
+
}
|
|
21
|
+
if (Object.keys(manifestCredentials).length === 0)
|
|
22
|
+
return undefined;
|
|
23
|
+
return {
|
|
24
|
+
capPerBlock: units_per_block,
|
|
25
|
+
capPerWeek: units_per_week,
|
|
26
|
+
capPerBlockUsdMicros: usd_micros_per_block,
|
|
27
|
+
capPerWeekUsdMicros: usd_micros_per_week,
|
|
28
|
+
manifestCredentials,
|
|
29
|
+
manifestProjectedAiUnits,
|
|
30
|
+
manifestProjectedUsdMicros,
|
|
31
|
+
manifestModels,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=ai-units-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-units-config.js","sourceRoot":"","sources":["../../src/spend/ai-units-config.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,mBAAmB,EAAqB,MAAM,iBAAiB,CAAC;AACzE,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,uBAAuB,EACvB,gCAAgC,GACjC,MAAM,eAAe,CAAC;AAgCvB,MAAM,UAAU,kBAAkB,CAChC,MAA4C,EAC5C,GAAsB;AACtB,oFAAoF;AACpF,eAAwB;IAExB,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;IACzE,MAAM,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,GAAG,gCAAgC,CAAC,GAAG,CAAC,CAAC;IAE5F,MAAM,mBAAmB,GAAiC,EAAE,CAAC;IAC7D,MAAM,wBAAwB,GAAkC,EAAE,CAAC;IACnE,MAAM,0BAA0B,GAAkC,EAAE,CAAC;IACrE,MAAM,cAAc,GAAuC,EAAE,CAAC;IAE9D,KAAK,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE,CAAC;QACjF,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC;QAC9E,IAAI,CAAC,YAAY;YAAE,SAAS;QAC5B,mBAAmB,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC;QAChD,wBAAwB,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACjG,0BAA0B,CAAC,WAAW,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACzG,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;IAC5C,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAEpE,OAAO;QACL,WAAW,EAAE,eAAe;QAC5B,UAAU,EAAE,cAAc;QAC1B,oBAAoB,EAAE,oBAAoB;QAC1C,mBAAmB,EAAE,mBAAmB;QACxC,mBAAmB;QACnB,wBAAwB;QACxB,0BAA0B;QAC1B,cAAc;KACf,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI-units calibration — the universal cost language for the M1
|
|
3
|
+
* cost-protection throttle (issue #815).
|
|
4
|
+
*
|
|
5
|
+
* One "AI unit" is the marginal USD cost of one task on the
|
|
6
|
+
* GPT-5.4-mini Codex-Plus baseline, scaled so that **100 units = 10% of a
|
|
7
|
+
* 6-hour-block-equivalent USD spend on that baseline**. Every other
|
|
8
|
+
* harness/model converts its USD cost-per-task through the same peg
|
|
9
|
+
* (`USD / GPT_5_4_MINI_USD_PER_BLOCK * 100`).
|
|
10
|
+
*
|
|
11
|
+
* Why a unit-of-account rather than raw USD: the ceiling is the same
|
|
12
|
+
* **100 units per 6h block** for every harness/model, so an operator on
|
|
13
|
+
* Haiku 4.5 (~1 unit/task) gets ~100 tasks per block, while an operator
|
|
14
|
+
* on Opus 4.7 (~50 units/task) gets ~2 tasks per block. The peg keeps the
|
|
15
|
+
* ceiling readable and ties it to the milestone framing of "~10% of a
|
|
16
|
+
* baseline AI subscription's weekly cap" (#605).
|
|
17
|
+
*
|
|
18
|
+
* The cap is layered with the existing per-credential USD `spendCaps`
|
|
19
|
+
* spend-cap gate from PR #345/#346 — both gates run; the more
|
|
20
|
+
* conservative one wins. This module owns the AI-units side only.
|
|
21
|
+
*
|
|
22
|
+
* Issue #1004: the gate's comparison now runs in **USD** (actual harvested
|
|
23
|
+
* spend vs a USD ceiling), not projected AI units. The peg below survives
|
|
24
|
+
* as the calibration constant deriving that USD ceiling and as the
|
|
25
|
+
* presentation-layer conversion for the legacy unit fields the SPA still
|
|
26
|
+
* reads. For subscription credentials the USD ceiling is a *proxy* budget —
|
|
27
|
+
* it bounds Jinn-attributable model cost, not the provider's plan quota.
|
|
28
|
+
*/
|
|
29
|
+
/**
|
|
30
|
+
* Calibration peg: the USD cost of one GPT-5.4-mini Codex-Plus 6h block.
|
|
31
|
+
* Derived from a typical Codex Plus 6h block on GPT-5.4-mini: ~10 tasks at
|
|
32
|
+
* ~$0.0525/task (50k input × $0.00025/1k + 20k output × $0.002/1k) → ~$0.5.
|
|
33
|
+
*
|
|
34
|
+
* Conservative — biases toward over-warning rather than under-warning so
|
|
35
|
+
* the ceiling pauses early rather than late.
|
|
36
|
+
*
|
|
37
|
+
* Issue #1004: demoted to a calibration constant — it derives
|
|
38
|
+
* {@link REFERENCE_CEILING_USD_MICROS} and converts the legacy unit fields
|
|
39
|
+
* for presentation, but no longer appears in the gate's comparison. Kept
|
|
40
|
+
* exported because the SPA's `HarnessFootprintPanel.tsx` imports it (#1006).
|
|
41
|
+
*/
|
|
42
|
+
export declare const GPT_5_4_MINI_USD_PER_BLOCK = 0.5;
|
|
43
|
+
/**
|
|
44
|
+
* The default reference ceiling — 100 AI units per 6h UTC-aligned block,
|
|
45
|
+
* with a weekly safety net at 28 × that (one block × 28 blocks/week).
|
|
46
|
+
*
|
|
47
|
+
* Override at runtime with `JINN_AI_UNITS_CEILING_OVERRIDE` (see
|
|
48
|
+
* `resolveReferenceCeiling`). Set as `<units>` for a per-block override
|
|
49
|
+
* (weekly auto-scales to 28×) or `<block>:<week>` for both explicitly.
|
|
50
|
+
*/
|
|
51
|
+
export declare const REFERENCE_CEILING: {
|
|
52
|
+
readonly units_per_block: number;
|
|
53
|
+
readonly units_per_week: number;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* USD-micros ceiling (issue #1004). The gate now compares **actual USD
|
|
57
|
+
* spend** against this ceiling rather than projected AI units. Derived
|
|
58
|
+
* directly from {@link REFERENCE_CEILING} through the GPT-5.4-mini peg:
|
|
59
|
+
* usd_micros = units / 100 * GPT_5_4_MINI_USD_PER_BLOCK * 1_000_000.
|
|
60
|
+
* Default 100 units/block => $0.50/block (500_000 micros); 2800 units/week
|
|
61
|
+
* => $14/week (14_000_000 micros). Calibration is preserved; only the
|
|
62
|
+
* comparison unit changed. For subscription credentials this USD budget is
|
|
63
|
+
* a *proxy* — it bounds Jinn-attributable model cost, not the provider's
|
|
64
|
+
* plan quota directly.
|
|
65
|
+
*/
|
|
66
|
+
export declare const REFERENCE_CEILING_USD_MICROS: {
|
|
67
|
+
readonly usd_micros_per_block: number;
|
|
68
|
+
readonly usd_micros_per_week: number;
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* Project the AI-unit cost of one task for a harness/model combination.
|
|
72
|
+
*
|
|
73
|
+
* The AI-units cap meters every paid-LLM harness by model cost,
|
|
74
|
+
* regardless of whether the operator routes through a subscription
|
|
75
|
+
* (`*:subscription`) or a raw API key (`*:api-key`). Subscription
|
|
76
|
+
* quota is finite — the cap exists exactly to bound how much of it a
|
|
77
|
+
* node will burn on Jinn (the spec's "operators commit to a 48h
|
|
78
|
+
* burn-in knowing exactly what their node will consume" — issue #901
|
|
79
|
+
* corrected the #815 implementer's "subscription = 0 units" shortcut).
|
|
80
|
+
*
|
|
81
|
+
* - Returns `0` for harnesses that make no marginal LLM call
|
|
82
|
+
* (prediction harnesses, evaluators, unknown harnesses).
|
|
83
|
+
* - Returns `null` when the harness IS a paid-LLM harness but the
|
|
84
|
+
* model is unknown to the cost table — the caller treats that as
|
|
85
|
+
* "no projection available" and the gate fails *open* with a warn.
|
|
86
|
+
* - Otherwise returns `cost.usd / GPT_5_4_MINI_USD_PER_BLOCK * 100`.
|
|
87
|
+
*
|
|
88
|
+
* `credentialId` is the env-resolved auth path. It does NOT change
|
|
89
|
+
* the projection (the model costs the same regardless of auth path);
|
|
90
|
+
* it only labels the accounting bucket. The parameter remains for
|
|
91
|
+
* call-site clarity and future-proofing.
|
|
92
|
+
*/
|
|
93
|
+
export declare function projectAiUnits(harness: string | undefined, model: string | undefined, _credentialId?: string | null): number | null;
|
|
94
|
+
/**
|
|
95
|
+
* Project the per-task cost of one harness/model combination in USD micros
|
|
96
|
+
* (issue #1004). This is the in-flight debit the gate books for a claim
|
|
97
|
+
* before its actual cost is harvested. Same harness classification as
|
|
98
|
+
* {@link projectAiUnits}:
|
|
99
|
+
* - `0` for harnesses that make no marginal LLM call,
|
|
100
|
+
* - `null` when a paid-LLM harness's model is unknown to the cost table
|
|
101
|
+
* (gate fails open with a warn),
|
|
102
|
+
* - otherwise `round(estimateModelCost(model).usd * 1_000_000)`.
|
|
103
|
+
*
|
|
104
|
+
* `_credentialId` does not change the projection (the model costs the same
|
|
105
|
+
* regardless of auth path); it labels the accounting bucket only.
|
|
106
|
+
*/
|
|
107
|
+
export declare function projectTaskUsdMicros(harness: string | undefined, model: string | undefined, _credentialId?: string | null): number | null;
|
|
108
|
+
/**
|
|
109
|
+
* Resolve the active ceiling from env. CI / tests override the baked-in
|
|
110
|
+
* 100 units via `JINN_AI_UNITS_CEILING_OVERRIDE`. Accepts:
|
|
111
|
+
*
|
|
112
|
+
* - `"<n>"` — sets `units_per_block = n`; weekly auto-scales to `n * 28`.
|
|
113
|
+
* - `"<block>:<week>"` — sets both explicitly.
|
|
114
|
+
*
|
|
115
|
+
* Falls back to the baked-in `REFERENCE_CEILING` on a missing or
|
|
116
|
+
* malformed value (env-typo must not silently disable the gate).
|
|
117
|
+
*/
|
|
118
|
+
export declare function resolveReferenceCeiling(env: NodeJS.ProcessEnv): {
|
|
119
|
+
units_per_block: number;
|
|
120
|
+
units_per_week: number;
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
* Resolve the active USD-micros ceiling from env (issue #1004). Reuses
|
|
124
|
+
* {@link resolveReferenceCeiling} so the `JINN_AI_UNITS_CEILING_OVERRIDE`
|
|
125
|
+
* parsing (integer or `<block>:<week>`, malformed-warn, default fallback)
|
|
126
|
+
* lives in one place, then converts both bounds through the peg.
|
|
127
|
+
*/
|
|
128
|
+
export declare function resolveReferenceCeilingUsdMicros(env: NodeJS.ProcessEnv): {
|
|
129
|
+
usd_micros_per_block: number;
|
|
130
|
+
usd_micros_per_week: number;
|
|
131
|
+
};
|
|
132
|
+
/** Start of the next 6h UTC-aligned block after `now`. */
|
|
133
|
+
export declare function blockResetsAtUtc(now: Date): Date;
|
|
134
|
+
/**
|
|
135
|
+
* Stable id for a 6h block — used to dedupe `ai_units_cap_reached`
|
|
136
|
+
* activity events to one-per-(credential, block).
|
|
137
|
+
*/
|
|
138
|
+
export declare function blockIdUtc(now: Date): string;
|
|
139
|
+
/** Reset instant for the 7-day window — `now + (boundary - elapsed)`. We use rolling 7d here. */
|
|
140
|
+
export declare function weekResetsAtUtc(now: Date): Date;
|