@jinn-network/client 0.1.7 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +67 -1
- package/dist/adapters/mech/adapter.d.ts +19 -1
- package/dist/adapters/mech/adapter.js +130 -14
- package/dist/adapters/mech/adapter.js.map +1 -1
- package/dist/adapters/mech/contracts.d.ts +22 -1
- package/dist/adapters/mech/contracts.js +34 -24
- package/dist/adapters/mech/contracts.js.map +1 -1
- package/dist/adapters/mech/safe.d.ts +1 -1
- package/dist/adapters/mech/safe.js +5 -3
- package/dist/adapters/mech/safe.js.map +1 -1
- package/dist/adapters/mech/types.d.ts +6 -1
- package/dist/adapters/mech/types.js.map +1 -1
- package/dist/agent/operator-claude.js +8 -0
- package/dist/agent/operator-claude.js.map +1 -1
- package/dist/api/activity-events-endpoint.d.ts +14 -0
- package/dist/api/activity-events-endpoint.js +59 -0
- package/dist/api/activity-events-endpoint.js.map +1 -0
- package/dist/api/bootstrap-endpoint.d.ts +1 -2
- package/dist/api/bootstrap-endpoint.js +42 -24
- package/dist/api/bootstrap-endpoint.js.map +1 -1
- package/dist/api/codex-doctor-endpoint.d.ts +22 -5
- package/dist/api/codex-doctor-endpoint.js +136 -17
- package/dist/api/codex-doctor-endpoint.js.map +1 -1
- package/dist/api/debug-report-endpoint.d.ts +27 -0
- package/dist/api/debug-report-endpoint.js +157 -0
- package/dist/api/debug-report-endpoint.js.map +1 -0
- package/dist/api/gather-status.d.ts +33 -0
- package/dist/api/gather-status.js +211 -26
- package/dist/api/gather-status.js.map +1 -1
- package/dist/api/hermes-doctor-endpoint.d.ts +15 -7
- package/dist/api/hermes-doctor-endpoint.js +56 -19
- package/dist/api/hermes-doctor-endpoint.js.map +1 -1
- package/dist/api/launcher-status.d.ts +4 -2
- package/dist/api/launcher-status.js +11 -10
- package/dist/api/launcher-status.js.map +1 -1
- package/dist/api/launcher-tasks.d.ts +1 -1
- package/dist/api/launcher-tasks.js +12 -8
- package/dist/api/launcher-tasks.js.map +1 -1
- package/dist/api/operator-artifacts-endpoint.js +73 -6
- package/dist/api/operator-artifacts-endpoint.js.map +1 -1
- package/dist/api/portfolio-v0-build.d.ts +7 -1
- package/dist/api/portfolio-v0-build.js +6 -2
- package/dist/api/portfolio-v0-build.js.map +1 -1
- package/dist/api/prediction-v1-build.d.ts +6 -0
- package/dist/api/prediction-v1-build.js +3 -1
- package/dist/api/prediction-v1-build.js.map +1 -1
- package/dist/api/server.d.ts +17 -0
- package/dist/api/server.js +40 -1
- package/dist/api/server.js.map +1 -1
- package/dist/api/setup-endpoints.d.ts +0 -9
- package/dist/api/setup-endpoints.js +11 -153
- package/dist/api/setup-endpoints.js.map +1 -1
- package/dist/api/solvernets-endpoints.js +30 -63
- package/dist/api/solvernets-endpoints.js.map +1 -1
- package/dist/api/status-build.d.ts +115 -2
- package/dist/api/status-build.js +47 -11
- package/dist/api/status-build.js.map +1 -1
- package/dist/api/status-harness-rollup.d.ts +35 -0
- package/dist/api/status-harness-rollup.js +45 -0
- package/dist/api/status-harness-rollup.js.map +1 -0
- package/dist/api/task-runs-build.d.ts +8 -0
- package/dist/api/task-runs-build.js +5 -1
- package/dist/api/task-runs-build.js.map +1 -1
- package/dist/build-info.json +4 -4
- package/dist/build-meta.json +1 -1
- package/dist/captures/live-publisher.js +24 -4
- package/dist/captures/live-publisher.js.map +1 -1
- package/dist/captures/publish.d.ts +1 -1
- package/dist/chain-read-errors.d.ts +12 -0
- package/dist/chain-read-errors.js +26 -1
- package/dist/chain-read-errors.js.map +1 -1
- package/dist/cli/commands/codedigest-revert-check.d.ts +33 -0
- package/dist/cli/commands/codedigest-revert-check.js +249 -0
- package/dist/cli/commands/codedigest-revert-check.js.map +1 -0
- package/dist/cli/commands/solver-nets.d.ts +1 -0
- package/dist/cli/commands/solver-nets.js +177 -22
- package/dist/cli/commands/solver-nets.js.map +1 -1
- package/dist/cli/commands/solver-plugins-block.d.ts +33 -0
- package/dist/cli/commands/solver-plugins-block.js +118 -0
- package/dist/cli/commands/solver-plugins-block.js.map +1 -0
- package/dist/cli/commands/solver-plugins-feedback.d.ts +72 -0
- package/dist/cli/commands/solver-plugins-feedback.js +262 -0
- package/dist/cli/commands/solver-plugins-feedback.js.map +1 -0
- package/dist/cli/commands/solver-plugins-read.d.ts +54 -0
- package/dist/cli/commands/solver-plugins-read.js +259 -0
- package/dist/cli/commands/solver-plugins-read.js.map +1 -0
- package/dist/cli/commands/solver-plugins.d.ts +35 -0
- package/dist/cli/commands/solver-plugins.js +399 -2
- package/dist/cli/commands/solver-plugins.js.map +1 -1
- package/dist/cli/commands/tasks.js +15 -2
- package/dist/cli/commands/tasks.js.map +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/task-native-readiness.d.ts +7 -0
- package/dist/cli/task-native-readiness.js +7 -5
- package/dist/cli/task-native-readiness.js.map +1 -1
- package/dist/config.d.ts +183 -232
- package/dist/config.js +232 -107
- package/dist/config.js.map +1 -1
- package/dist/daemon/ai-units-gate.d.ts +54 -0
- package/dist/daemon/ai-units-gate.js +82 -0
- package/dist/daemon/ai-units-gate.js.map +1 -0
- package/dist/daemon/creator.js +13 -0
- package/dist/daemon/creator.js.map +1 -1
- package/dist/daemon/daemon.d.ts +10 -0
- package/dist/daemon/daemon.js +203 -30
- package/dist/daemon/daemon.js.map +1 -1
- package/dist/daemon/gate-logger.d.ts +9 -0
- package/dist/daemon/gate-logger.js +2 -0
- package/dist/daemon/gate-logger.js.map +1 -0
- package/dist/daemon/jinn-claim-loop.js +22 -4
- package/dist/daemon/jinn-claim-loop.js.map +1 -1
- package/dist/daemon/readiness-gate.d.ts +1 -4
- package/dist/daemon/readiness-gate.js.map +1 -1
- package/dist/daemon/spend-cap-gate.d.ts +40 -0
- package/dist/daemon/spend-cap-gate.js +46 -0
- package/dist/daemon/spend-cap-gate.js.map +1 -0
- package/dist/dashboard/assets/index-CzKxvMcU.css +32 -0
- package/dist/dashboard/assets/index-yVemxHot.js +351 -0
- package/dist/dashboard/index.html +2 -2
- package/dist/discovery/http.js +328 -1
- package/dist/discovery/http.js.map +1 -1
- package/dist/discovery/onchain.js +42 -4
- package/dist/discovery/onchain.js.map +1 -1
- package/dist/discovery/types.d.ts +129 -0
- package/dist/discovery/types.js.map +1 -1
- package/dist/discovery/with-fallback.js +27 -0
- package/dist/discovery/with-fallback.js.map +1 -1
- package/dist/earning/bootstrap.d.ts +8 -3
- package/dist/earning/bootstrap.js +36 -13
- package/dist/earning/bootstrap.js.map +1 -1
- package/dist/earning/safe-adapter.js +23 -11
- package/dist/earning/safe-adapter.js.map +1 -1
- package/dist/earning/types.d.ts +6 -6
- package/dist/earning/viem-clients.d.ts +11 -4
- package/dist/earning/viem-clients.js +14 -5
- package/dist/earning/viem-clients.js.map +1 -1
- package/dist/erc8004/identity.d.ts +19 -3
- package/dist/erc8004/identity.js +38 -11
- package/dist/erc8004/identity.js.map +1 -1
- package/dist/erc8004/index.d.ts +1 -1
- package/dist/erc8004/index.js.map +1 -1
- package/dist/events/types.d.ts +2 -2
- package/dist/harnesses/cost-estimates.d.ts +10 -31
- package/dist/harnesses/cost-estimates.js +11 -43
- package/dist/harnesses/cost-estimates.js.map +1 -1
- package/dist/harnesses/engine/engine.d.ts +28 -4
- package/dist/harnesses/engine/engine.js +103 -17
- package/dist/harnesses/engine/engine.js.map +1 -1
- package/dist/harnesses/engine/persistence.d.ts +21 -4
- package/dist/harnesses/engine/persistence.js +43 -6
- package/dist/harnesses/engine/persistence.js.map +1 -1
- package/dist/harnesses/engine/state.d.ts +9 -0
- package/dist/harnesses/engine/state.js +23 -10
- package/dist/harnesses/engine/state.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/bootstrap.js +4 -2
- package/dist/harnesses/impls/hermes-agent/bootstrap.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/config-builder.d.ts +1 -1
- package/dist/harnesses/impls/hermes-agent/config-builder.js +4 -2
- package/dist/harnesses/impls/hermes-agent/config-builder.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/harness.d.ts +14 -0
- package/dist/harnesses/impls/hermes-agent/harness.js +16 -2
- package/dist/harnesses/impls/hermes-agent/harness.js.map +1 -1
- package/dist/harnesses/impls/hermes-agent/prompt.d.ts +6 -6
- package/dist/harnesses/impls/hermes-agent/prompt.js +6 -6
- package/dist/harnesses/impls/learner/adapters/claude-code.d.ts +17 -0
- package/dist/harnesses/impls/learner/adapters/claude-code.js +113 -14
- package/dist/harnesses/impls/learner/adapters/claude-code.js.map +1 -1
- package/dist/harnesses/impls/learner/adapters/codex-code.d.ts +9 -0
- package/dist/harnesses/impls/learner/adapters/codex-code.js +30 -8
- package/dist/harnesses/impls/learner/adapters/codex-code.js.map +1 -1
- package/dist/harnesses/impls/learner/harness.d.ts +24 -0
- package/dist/harnesses/impls/learner/harness.js +27 -3
- package/dist/harnesses/impls/learner/harness.js.map +1 -1
- package/dist/harnesses/impls/learner/harvest.d.ts +1 -1
- package/dist/harnesses/impls/learner/harvest.js +23 -5
- package/dist/harnesses/impls/learner/harvest.js.map +1 -1
- package/dist/harnesses/impls/learner/restoration-patch.d.ts +2 -2
- package/dist/harnesses/impls/learner/restoration-patch.js +25 -6
- package/dist/harnesses/impls/learner/restoration-patch.js.map +1 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js +21 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/eval-runner.js.map +1 -1
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.d.ts +74 -5
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js +103 -32
- package/dist/harnesses/impls/swe-rebench-v2-evaluator/hf-fetcher.js.map +1 -1
- package/dist/harnesses/readiness-registry.d.ts +7 -0
- package/dist/harnesses/readiness-registry.js +9 -0
- package/dist/harnesses/readiness-registry.js.map +1 -1
- package/dist/learner/revert-decision.d.ts +59 -0
- package/dist/learner/revert-decision.js +53 -0
- package/dist/learner/revert-decision.js.map +1 -0
- package/dist/learner/revert-stats.d.ts +24 -0
- package/dist/learner/revert-stats.js +44 -0
- package/dist/learner/revert-stats.js.map +1 -0
- package/dist/main.js +177 -104
- package/dist/main.js.map +1 -1
- package/dist/mcp/get-codedigest-reward.d.ts +13 -0
- package/dist/mcp/get-codedigest-reward.js +23 -0
- package/dist/mcp/get-codedigest-reward.js.map +1 -0
- package/dist/mcp/server.js +23 -0
- package/dist/mcp/server.js.map +1 -1
- package/dist/observability/debug-report-assemble.d.ts +43 -0
- package/dist/observability/debug-report-assemble.js +80 -0
- package/dist/observability/debug-report-assemble.js.map +1 -0
- package/dist/observability/emit-event.d.ts +9 -2
- package/dist/observability/emit-event.js +36 -2
- package/dist/observability/emit-event.js.map +1 -1
- package/dist/observability/file-logger.d.ts +69 -0
- package/dist/observability/file-logger.js +177 -0
- package/dist/observability/file-logger.js.map +1 -0
- package/dist/observability/redact-secrets.d.ts +65 -0
- package/dist/observability/redact-secrets.js +300 -0
- package/dist/observability/redact-secrets.js.map +1 -0
- package/dist/observability/tar.d.ts +30 -0
- package/dist/observability/tar.js +102 -0
- package/dist/observability/tar.js.map +1 -0
- package/dist/plugins/learner/skills/learn/consolidator-prompt.md +18 -1
- package/dist/plugins/learner/skills/learn/promoter-prompt.md +72 -1
- package/dist/preflight/pidfile-liveness.d.ts +44 -0
- package/dist/preflight/pidfile-liveness.js +103 -0
- package/dist/preflight/pidfile-liveness.js.map +1 -0
- package/dist/preflight/rpc-network.d.ts +40 -0
- package/dist/preflight/rpc-network.js +67 -1
- package/dist/preflight/rpc-network.js.map +1 -1
- package/dist/rpc/transport.d.ts +109 -0
- package/dist/rpc/transport.js +220 -0
- package/dist/rpc/transport.js.map +1 -0
- package/dist/scripts/donation-consumption-acceptance.js +7 -28
- package/dist/scripts/donation-consumption-acceptance.js.map +1 -1
- package/dist/scripts/swe-rebench-v2-pytest-missing.json +16 -0
- package/dist/solver-nets/prediction-operator-ux.d.ts +1 -2
- package/dist/solver-nets/prediction-operator-ux.js +56 -53
- package/dist/solver-nets/prediction-operator-ux.js.map +1 -1
- package/dist/solver-nets/registry.d.ts +19 -1
- package/dist/solver-nets/registry.js +37 -24
- package/dist/solver-nets/registry.js.map +1 -1
- package/dist/solver-types/_swe-rebench-v2-pool.d.ts +9 -2
- package/dist/solver-types/_swe-rebench-v2-pool.js +15 -20
- package/dist/solver-types/_swe-rebench-v2-pool.js.map +1 -1
- package/dist/solver-types/_swe-rebench-v2-state.d.ts +15 -0
- package/dist/solver-types/_swe-rebench-v2-state.js +19 -0
- package/dist/solver-types/_swe-rebench-v2-state.js.map +1 -1
- package/dist/solver-types/_swe-rebench-v2-validated-pool.d.ts +116 -2
- package/dist/solver-types/_swe-rebench-v2-validated-pool.js +296 -21
- package/dist/solver-types/_swe-rebench-v2-validated-pool.js.map +1 -1
- package/dist/solver-types/swe-rebench-v2-auto.d.ts +20 -11
- package/dist/solver-types/swe-rebench-v2-auto.js +64 -19
- package/dist/solver-types/swe-rebench-v2-auto.js.map +1 -1
- package/dist/solver-types/swe-rebench-v2.d.ts +8 -2
- package/dist/solver-types/swe-rebench-v2.js +127 -11
- package/dist/solver-types/swe-rebench-v2.js.map +1 -1
- package/dist/solvernets/daemon-init.d.ts +1 -1
- package/dist/solvernets/daemon-init.js +19 -4
- package/dist/solvernets/daemon-init.js.map +1 -1
- package/dist/solvernets/launched-record-dispatcher.d.ts +4 -0
- package/dist/solvernets/launched-record-dispatcher.js +10 -4
- package/dist/solvernets/launched-record-dispatcher.js.map +1 -1
- package/dist/solvernets/registry-client-erc8004.js +11 -0
- package/dist/solvernets/registry-client-erc8004.js.map +1 -1
- package/dist/solvernets/store.d.ts +2 -2
- package/dist/spend/ai-units-config.d.ts +39 -0
- package/dist/spend/ai-units-config.js +28 -0
- package/dist/spend/ai-units-config.js.map +1 -0
- package/dist/spend/ai-units.d.ts +89 -0
- package/dist/spend/ai-units.js +156 -0
- package/dist/spend/ai-units.js.map +1 -0
- package/dist/spend/cost-surface-status.d.ts +12 -0
- package/dist/spend/cost-surface-status.js +24 -0
- package/dist/spend/cost-surface-status.js.map +1 -0
- package/dist/spend/credential.d.ts +39 -0
- package/dist/spend/credential.js +71 -0
- package/dist/spend/credential.js.map +1 -0
- package/dist/spend/daemon-config.d.ts +13 -0
- package/dist/spend/daemon-config.js +24 -0
- package/dist/spend/daemon-config.js.map +1 -0
- package/dist/spend/pricing.d.ts +16 -0
- package/dist/spend/pricing.js +26 -0
- package/dist/spend/pricing.js.map +1 -0
- package/dist/spend/record.d.ts +13 -0
- package/dist/spend/record.js +36 -0
- package/dist/spend/record.js.map +1 -0
- package/dist/spend/usage.d.ts +27 -0
- package/dist/spend/usage.js +113 -0
- package/dist/spend/usage.js.map +1 -0
- package/dist/store/store.d.ts +101 -0
- package/dist/store/store.js +304 -4
- package/dist/store/store.js.map +1 -1
- package/dist/trajectory/transcript-parsers/codex-session.d.ts +12 -6
- package/dist/trajectory/transcript-parsers/codex-session.js +114 -13
- package/dist/trajectory/transcript-parsers/codex-session.js.map +1 -1
- package/dist/trajectory/transcript-parsers/types.d.ts +8 -8
- package/dist/trajectory/transcript-session-dirs.d.ts +18 -0
- package/dist/trajectory/transcript-session-dirs.js +85 -0
- package/dist/trajectory/transcript-session-dirs.js.map +1 -0
- package/dist/trajectory/transcript-watcher.d.ts +20 -1
- package/dist/trajectory/transcript-watcher.js +108 -32
- package/dist/trajectory/transcript-watcher.js.map +1 -1
- package/dist/tx-retry.d.ts +25 -0
- package/dist/tx-retry.js +95 -7
- package/dist/tx-retry.js.map +1 -1
- package/dist/types/payloads/portfolio-v0.d.ts +3 -3
- package/dist/types/payloads/prediction-apy-v0.d.ts +3 -3
- package/dist/types/payloads/prediction-v0.d.ts +12 -12
- package/package.json +11 -3
- package/plugins/learner/skills/learn/consolidator-prompt.md +18 -1
- package/plugins/learner/skills/learn/promoter-prompt.md +72 -1
- package/plugins/swe-rebench-v2-diffmin/README.md +10 -9
- package/plugins/swe-rebench-v2-diffmin/jinn.plugin.json +1 -1
- package/plugins/swe-rebench-v2-diffmin/skills/diffmin/SKILL.md +15 -10
- package/plugins/swe-rebench-v2-diffmin/skills/test-map/SKILL.md +10 -12
- package/plugins/swe-rebench-v2-runtime/.claude-plugin/plugin.json +1 -1
- package/plugins/swe-rebench-v2-runtime/.codex-plugin/plugin.json +3 -3
- package/plugins/swe-rebench-v2-runtime/README.md +6 -6
- package/plugins/swe-rebench-v2-runtime/jinn.plugin.json +2 -3
- package/plugins/swe-rebench-v2-runtime/skills/task/SKILL.md +81 -0
- package/dist/dashboard/assets/index-BUlE8F3Y.js +0 -330
- package/dist/dashboard/assets/index-blqc7eqq.css +0 -32
- package/plugins/swe-rebench-v2-runtime/skills/orient/SKILL.md +0 -29
- package/plugins/swe-rebench-v2-runtime/skills/plan/SKILL.md +0 -53
|
@@ -97,6 +97,17 @@ export interface PublishContentV2Args {
|
|
|
97
97
|
cid: string;
|
|
98
98
|
payload: ExecutionPayloadV2;
|
|
99
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* Return value from `publishContent` / `publishContentV2`.
|
|
102
|
+
*
|
|
103
|
+
* `txHash` is the on-chain transaction hash for the `setMetadata` call.
|
|
104
|
+
* `blockNumber` is the block the receipt landed in, or `null` if the
|
|
105
|
+
* receipt could not be fetched (the tx is still on chain — backfill later).
|
|
106
|
+
*/
|
|
107
|
+
export interface PublishContentResult {
|
|
108
|
+
txHash: Hex;
|
|
109
|
+
blockNumber: number | null;
|
|
110
|
+
}
|
|
100
111
|
/** Thrown when an `ExecutionPayload` violates §5 strict-mode validity rules. */
|
|
101
112
|
export declare class PayloadValidationError extends Error {
|
|
102
113
|
readonly tier: ExecutionTier;
|
|
@@ -193,13 +204,18 @@ export declare class IdentityPublisher {
|
|
|
193
204
|
get agent(): bigint;
|
|
194
205
|
/** The IdentityRegistry contract this publisher writes to. */
|
|
195
206
|
get registry(): `0x${string}`;
|
|
207
|
+
/** Chain ID of the wallet client this publisher writes to. */
|
|
208
|
+
get chainId(): number;
|
|
196
209
|
/**
|
|
197
210
|
* Publish a per-execution commitment under the operator's agent NFT.
|
|
198
211
|
*
|
|
199
212
|
* Calls `IdentityRegistry.setMetadata(agentId, "<kind>:<cid>", encode(payload))`.
|
|
200
|
-
* Returns the on-chain tx hash
|
|
213
|
+
* Returns the on-chain tx hash and block number from the confirmation
|
|
214
|
+
* receipt. If the receipt fetch fails for any reason (RPC hiccup), the tx
|
|
215
|
+
* hash is still returned with `blockNumber: null` so callers can record
|
|
216
|
+
* the anchor and backfill later. Throws on encode/validation/write failure.
|
|
201
217
|
*/
|
|
202
|
-
publishContent(args: PublishContentArgs): Promise<
|
|
218
|
+
publishContent(args: PublishContentArgs): Promise<PublishContentResult>;
|
|
203
219
|
/**
|
|
204
220
|
* Publish a per-execution commitment using the v2 payload tuple.
|
|
205
221
|
*
|
|
@@ -212,7 +228,7 @@ export declare class IdentityPublisher {
|
|
|
212
228
|
* (v1) — the subgraph decoder handles both versions and treats v1 as
|
|
213
229
|
* `mode='train'` with empty `codeDigest`/`implName`.
|
|
214
230
|
*/
|
|
215
|
-
publishContentV2(args: PublishContentV2Args): Promise<
|
|
231
|
+
publishContentV2(args: PublishContentV2Args): Promise<PublishContentResult>;
|
|
216
232
|
private _writeMetadata;
|
|
217
233
|
}
|
|
218
234
|
/**
|
package/dist/erc8004/identity.js
CHANGED
|
@@ -48,7 +48,8 @@
|
|
|
48
48
|
* (the feedback hook) treats that as a no-op (DR §4.3: "skip but don't fail
|
|
49
49
|
* — claimDelivery is authoritative").
|
|
50
50
|
*/
|
|
51
|
-
import { encodeAbiParameters } from 'viem';
|
|
51
|
+
import { encodeAbiParameters, encodeFunctionData, } from 'viem';
|
|
52
|
+
import { viemSendTransactionWithRetry, } from '../tx-retry.js';
|
|
52
53
|
import { IDENTITY_REGISTRY_SET_METADATA_ABI, PAYLOAD_TUPLE, PAYLOAD_TUPLE_V2, } from './abis.js';
|
|
53
54
|
// Re-export ABI / payload tuple so callers that import them from the identity
|
|
54
55
|
// module continue to work without depending on `./abis.js` directly.
|
|
@@ -251,11 +252,18 @@ export class IdentityPublisher {
|
|
|
251
252
|
get registry() {
|
|
252
253
|
return this.identityRegistryAddress;
|
|
253
254
|
}
|
|
255
|
+
/** Chain ID of the wallet client this publisher writes to. */
|
|
256
|
+
get chainId() {
|
|
257
|
+
return this.walletClient.chain?.id ?? 0;
|
|
258
|
+
}
|
|
254
259
|
/**
|
|
255
260
|
* Publish a per-execution commitment under the operator's agent NFT.
|
|
256
261
|
*
|
|
257
262
|
* Calls `IdentityRegistry.setMetadata(agentId, "<kind>:<cid>", encode(payload))`.
|
|
258
|
-
* Returns the on-chain tx hash
|
|
263
|
+
* Returns the on-chain tx hash and block number from the confirmation
|
|
264
|
+
* receipt. If the receipt fetch fails for any reason (RPC hiccup), the tx
|
|
265
|
+
* hash is still returned with `blockNumber: null` so callers can record
|
|
266
|
+
* the anchor and backfill later. Throws on encode/validation/write failure.
|
|
259
267
|
*/
|
|
260
268
|
async publishContent(args) {
|
|
261
269
|
const metadataKey = buildMetadataKey(args.kind, args.cid);
|
|
@@ -288,20 +296,39 @@ export class IdentityPublisher {
|
|
|
288
296
|
if (!chain) {
|
|
289
297
|
throw new Error('IdentityPublisher: walletClient has no chain configured');
|
|
290
298
|
}
|
|
291
|
-
|
|
292
|
-
|
|
299
|
+
// Route through viemSendTransactionWithRetry so this EOA-direct setMetadata
|
|
300
|
+
// tx shares the per-EOA broadcast lock + nonce ledger + recoverable-retry
|
|
301
|
+
// with the Safe-mediated loops (creator / claim / deliver) and
|
|
302
|
+
// eviction-recovery that broadcast from the SAME agent EOA. Sending a raw
|
|
303
|
+
// writeContract here let viem auto-fill the nonce from the pending count,
|
|
304
|
+
// which raced those loops and reverted "nonce too low" — the #525 launch
|
|
305
|
+
// stall. encodeFunctionData reproduces the exact calldata writeContract
|
|
306
|
+
// would have built.
|
|
307
|
+
const data = encodeFunctionData({
|
|
293
308
|
abi: IDENTITY_REGISTRY_SET_METADATA_ABI,
|
|
294
309
|
functionName: 'setMetadata',
|
|
295
310
|
args: [this.agentId, metadataKey, metadataValue],
|
|
296
|
-
account,
|
|
297
|
-
chain,
|
|
298
311
|
});
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
312
|
+
const txHash = await viemSendTransactionWithRetry(this.walletClient, this.publicClient, {
|
|
313
|
+
account,
|
|
314
|
+
to: this.identityRegistryAddress,
|
|
315
|
+
data,
|
|
316
|
+
value: 0n,
|
|
317
|
+
}, { logicalTx: 'erc8004.setMetadata' });
|
|
318
|
+
// Best-effort confirmation. We surface the blockNumber so callers can
|
|
319
|
+
// record a verifiable on-chain reference; if the receipt query fails
|
|
320
|
+
// (RPC hiccup), we still return the tx hash with a null block so the
|
|
321
|
+
// anchor row gets written. The engine treats publish failures as
|
|
302
322
|
// non-fatal regardless.
|
|
303
|
-
|
|
304
|
-
|
|
323
|
+
let blockNumber = null;
|
|
324
|
+
try {
|
|
325
|
+
const receipt = await this.publicClient.waitForTransactionReceipt({ hash: txHash });
|
|
326
|
+
blockNumber = Number(receipt.blockNumber);
|
|
327
|
+
}
|
|
328
|
+
catch (err) {
|
|
329
|
+
console.warn(`[erc8004] receipt fetch failed for ${txHash} (anchor will be recorded with null block): ${err instanceof Error ? err.message : err}`);
|
|
330
|
+
}
|
|
331
|
+
return { txHash, blockNumber };
|
|
305
332
|
}
|
|
306
333
|
}
|
|
307
334
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/erc8004/identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/erc8004/identity.ts"],"names":[],"mappings":"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"}
|
package/dist/erc8004/index.d.ts
CHANGED
|
@@ -7,6 +7,6 @@
|
|
|
7
7
|
*/
|
|
8
8
|
export { REPUTATION_REGISTRY_ADDRESSES, getReputationRegistryAddress, VALIDATION_REGISTRY_ADDRESSES, getValidationRegistryAddress, } from './addresses.js';
|
|
9
9
|
export { IDENTITY_REGISTRY_SET_METADATA_ABI, PAYLOAD_TUPLE, PAYLOAD_TUPLE_V2, REPUTATION_REGISTRY_ABI, VALIDATION_REGISTRY_ABI, } from './abis.js';
|
|
10
|
-
export { IdentityPublisher, PayloadValidationError, buildMetadataKey, encodeExecutionPayload, encodeExecutionPayloadV2, validatePayload, validatePayloadV2, codeDigestSha256ToBytes32, modeStringToFlag, resolveAgentIdForManifest, type ContentKind, type ExecutionPayload, type ExecutionPayloadV2, type ExecutionModeFlag, type ExecutionTier, type IdentityPublisherConfig, type PublishContentArgs, type PublishContentV2Args, type ResolveAgentIdArgs, type ResolvedAgent, } from './identity.js';
|
|
10
|
+
export { IdentityPublisher, PayloadValidationError, buildMetadataKey, encodeExecutionPayload, encodeExecutionPayloadV2, validatePayload, validatePayloadV2, codeDigestSha256ToBytes32, modeStringToFlag, resolveAgentIdForManifest, type ContentKind, type ExecutionPayload, type ExecutionPayloadV2, type ExecutionModeFlag, type ExecutionTier, type IdentityPublisherConfig, type PublishContentArgs, type PublishContentResult, type PublishContentV2Args, type ResolveAgentIdArgs, type ResolvedAgent, } from './identity.js';
|
|
11
11
|
export { ReputationRegistryClient, ZERO_HASH, mapVerdictToScore, submitEvaluatorFeedback, type FeedbackId, type FeedbackHookOutcome, type FeedbackRecord, type FeedbackSummary, type GiveFeedbackArgs, type EvaluatorVerdict, type ReputationRegistryConfig, type RespondToFeedbackArgs, type HarnessExecutionRef, type RevokeFeedbackArgs, type ScoreMapping, } from './reputation.js';
|
|
12
12
|
export { ValidationRegistryClient, type ValidationRecord, type ValidationRegistryConfig, type ValidationStatus, } from './validation.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/erc8004/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,kFAAkF;AAClF,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC5B,6BAA6B,EAC7B,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AAExB,kFAAkF;AAClF,OAAO,EACL,kCAAkC,EAClC,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,WAAW,CAAC;AAEnB,kFAAkF;AAClF,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,wBAAwB,EACxB,eAAe,EACf,iBAAiB,EACjB,yBAAyB,EACzB,gBAAgB,EAChB,yBAAyB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/erc8004/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,kFAAkF;AAClF,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC5B,6BAA6B,EAC7B,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AAExB,kFAAkF;AAClF,OAAO,EACL,kCAAkC,EAClC,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,WAAW,CAAC;AAEnB,kFAAkF;AAClF,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,wBAAwB,EACxB,eAAe,EACf,iBAAiB,EACjB,yBAAyB,EACzB,gBAAgB,EAChB,yBAAyB,GAY1B,MAAM,eAAe,CAAC;AAEvB,kFAAkF;AAClF,OAAO,EACL,wBAAwB,EACxB,SAAS,EACT,iBAAiB,EACjB,uBAAuB,GAYxB,MAAM,iBAAiB,CAAC;AAEzB,kFAAkF;AAClF,OAAO,EACL,wBAAwB,GAIzB,MAAM,iBAAiB,CAAC"}
|
package/dist/events/types.d.ts
CHANGED
|
@@ -21,7 +21,7 @@ export declare const StructuredEventSchema: z.ZodObject<{
|
|
|
21
21
|
}, "strip", z.ZodTypeAny, {
|
|
22
22
|
message: string;
|
|
23
23
|
id: string;
|
|
24
|
-
kind: "reward" | "error" | "
|
|
24
|
+
kind: "reward" | "error" | "intent" | "fleet" | "system" | "log";
|
|
25
25
|
schemaVersion: 1;
|
|
26
26
|
ts: string;
|
|
27
27
|
details?: Record<string, unknown> | undefined;
|
|
@@ -31,7 +31,7 @@ export declare const StructuredEventSchema: z.ZodObject<{
|
|
|
31
31
|
}, {
|
|
32
32
|
message: string;
|
|
33
33
|
id: string;
|
|
34
|
-
kind: "reward" | "error" | "
|
|
34
|
+
kind: "reward" | "error" | "intent" | "fleet" | "system" | "log";
|
|
35
35
|
schemaVersion: 1;
|
|
36
36
|
ts: string;
|
|
37
37
|
details?: Record<string, unknown> | undefined;
|
|
@@ -17,14 +17,15 @@
|
|
|
17
17
|
* Heuristic shape per the spec:
|
|
18
18
|
* per-1k-token rate × typical task length, by model id.
|
|
19
19
|
*
|
|
20
|
-
* Subscription
|
|
21
|
-
* `
|
|
22
|
-
*
|
|
23
|
-
* the confirmation gate, regardless of the model selected.
|
|
20
|
+
* Subscription billing paths (`usesPaidApiKey: false` from daemon
|
|
21
|
+
* `/v1/status` `costSurface`) show "Included in subscription, no per-task
|
|
22
|
+
* API cost" and **do not** trigger the confirmation gate.
|
|
24
23
|
*
|
|
25
24
|
* To add a new model: append an entry to `MODEL_COST_TABLE`. The id is the
|
|
26
|
-
* exact `model` string persisted to `joinedSolverNets[<cid>].model`.
|
|
27
|
-
*
|
|
25
|
+
* exact `model` string persisted to `joinedSolverNets[<cid>].model`. Paid
|
|
26
|
+
* vs subscription is resolved on the daemon via `resolveCredentialId` and
|
|
27
|
+
* exposed on `GET /v1/status` as `costSurface.harnesses[<canonical>]`.
|
|
28
|
+
* Keep the units
|
|
28
29
|
* consistent: token counts in tokens, rates in USD-per-1k-tokens.
|
|
29
30
|
*
|
|
30
31
|
* Units note: Anthropic + OpenAI publish prices per million tokens; we
|
|
@@ -69,21 +70,6 @@ export interface ModelCostEntry {
|
|
|
69
70
|
* `claudeModels.ts` is the source of truth for which ids appear here.
|
|
70
71
|
*/
|
|
71
72
|
export declare const MODEL_COST_TABLE: Readonly<Record<string, ModelCostEntry>>;
|
|
72
|
-
/**
|
|
73
|
-
* Harness-level billing classification.
|
|
74
|
-
*
|
|
75
|
-
* `subscriptionPath: true` means the harness shells out to a
|
|
76
|
-
* subscription-billed CLI (Claude Code, Codex) and the operator does NOT
|
|
77
|
-
* incur per-task API charges — the cost surface is suppressed entirely
|
|
78
|
-
* and the confirmation gate is never triggered.
|
|
79
|
-
*
|
|
80
|
-
* `subscriptionPath: false` means the harness routes to a paid API key
|
|
81
|
-
* (Hermes via OpenRouter / Anthropic API / Nous Portal). The cost surface
|
|
82
|
-
* is shown and the gate fires above the configured threshold.
|
|
83
|
-
*/
|
|
84
|
-
export declare const HARNESS_BILLING: Readonly<Record<string, {
|
|
85
|
-
subscriptionPath: boolean;
|
|
86
|
-
}>>;
|
|
87
73
|
/** Default per-task USD threshold above which the confirmation gate fires. */
|
|
88
74
|
export declare const DEFAULT_HIGH_COST_THRESHOLD_USD = 1;
|
|
89
75
|
export interface CostEstimate {
|
|
@@ -106,13 +92,6 @@ export interface CostEstimate {
|
|
|
106
92
|
* that as "unknown, don't surface a number" rather than rendering $0.
|
|
107
93
|
*/
|
|
108
94
|
export declare function estimateModelCost(modelId: string): CostEstimate | null;
|
|
109
|
-
/**
|
|
110
|
-
* `true` when the harness routes through a paid API key. Subscription
|
|
111
|
-
* harnesses (Claude Code, Codex) return `false`; unknown harnesses
|
|
112
|
-
* conservatively return `true` so a misnamed harness doesn't silently
|
|
113
|
-
* skip the cost surface.
|
|
114
|
-
*/
|
|
115
|
-
export declare function harnessUsesPaidApiKey(harness: string | undefined): boolean;
|
|
116
95
|
export interface CostSurfaceDecision {
|
|
117
96
|
/** Whether to show a numeric cost-per-task estimate at all. */
|
|
118
97
|
showEstimate: boolean;
|
|
@@ -133,11 +112,11 @@ export interface CostSurfaceDecision {
|
|
|
133
112
|
*
|
|
134
113
|
* Defaults:
|
|
135
114
|
* - threshold: $1 / task (see DEFAULT_HIGH_COST_THRESHOLD_USD).
|
|
136
|
-
* -
|
|
137
|
-
* - unknown model on a paid
|
|
115
|
+
* - `usesPaidApiKey: false` → suppress surface + skip gate.
|
|
116
|
+
* - unknown model on a paid path → show estimate slot (caller may
|
|
138
117
|
* render "estimate unavailable") but DO NOT trigger the gate.
|
|
139
118
|
*/
|
|
140
|
-
export declare function decideCostSurface(
|
|
119
|
+
export declare function decideCostSurface(usesPaidApiKey: boolean, modelId: string | undefined, thresholdUsd?: number): CostSurfaceDecision;
|
|
141
120
|
/**
|
|
142
121
|
* Format a USD amount for compact display in the dashboard. Picks the
|
|
143
122
|
* smallest fraction count that still distinguishes the value from $0.
|
|
@@ -17,14 +17,15 @@
|
|
|
17
17
|
* Heuristic shape per the spec:
|
|
18
18
|
* per-1k-token rate × typical task length, by model id.
|
|
19
19
|
*
|
|
20
|
-
* Subscription
|
|
21
|
-
* `
|
|
22
|
-
*
|
|
23
|
-
* the confirmation gate, regardless of the model selected.
|
|
20
|
+
* Subscription billing paths (`usesPaidApiKey: false` from daemon
|
|
21
|
+
* `/v1/status` `costSurface`) show "Included in subscription, no per-task
|
|
22
|
+
* API cost" and **do not** trigger the confirmation gate.
|
|
24
23
|
*
|
|
25
24
|
* To add a new model: append an entry to `MODEL_COST_TABLE`. The id is the
|
|
26
|
-
* exact `model` string persisted to `joinedSolverNets[<cid>].model`.
|
|
27
|
-
*
|
|
25
|
+
* exact `model` string persisted to `joinedSolverNets[<cid>].model`. Paid
|
|
26
|
+
* vs subscription is resolved on the daemon via `resolveCredentialId` and
|
|
27
|
+
* exposed on `GET /v1/status` as `costSurface.harnesses[<canonical>]`.
|
|
28
|
+
* Keep the units
|
|
28
29
|
* consistent: token counts in tokens, rates in USD-per-1k-tokens.
|
|
29
30
|
*
|
|
30
31
|
* Units note: Anthropic + OpenAI publish prices per million tokens; we
|
|
@@ -43,7 +44,6 @@
|
|
|
43
44
|
* These are heuristics. Provider-API reconciliation (actual usage) is
|
|
44
45
|
* deferred to the P1 follow-up tracked in #331.
|
|
45
46
|
*/
|
|
46
|
-
import { CLAUDE_CODE_HARNESS, CODEX_HARNESS, HERMES_AGENT_HARNESS, canonicalHarnessName, } from './names.js';
|
|
47
47
|
/**
|
|
48
48
|
* Per-model cost entries. Keyed by the exact `model` id persisted to
|
|
49
49
|
* `joinedSolverNets[<cid>].model`. The dashboard model dropdown in
|
|
@@ -187,23 +187,6 @@ export const MODEL_COST_TABLE = {
|
|
|
187
187
|
typicalOutputTokens: 20_000,
|
|
188
188
|
},
|
|
189
189
|
};
|
|
190
|
-
/**
|
|
191
|
-
* Harness-level billing classification.
|
|
192
|
-
*
|
|
193
|
-
* `subscriptionPath: true` means the harness shells out to a
|
|
194
|
-
* subscription-billed CLI (Claude Code, Codex) and the operator does NOT
|
|
195
|
-
* incur per-task API charges — the cost surface is suppressed entirely
|
|
196
|
-
* and the confirmation gate is never triggered.
|
|
197
|
-
*
|
|
198
|
-
* `subscriptionPath: false` means the harness routes to a paid API key
|
|
199
|
-
* (Hermes via OpenRouter / Anthropic API / Nous Portal). The cost surface
|
|
200
|
-
* is shown and the gate fires above the configured threshold.
|
|
201
|
-
*/
|
|
202
|
-
export const HARNESS_BILLING = {
|
|
203
|
-
[CLAUDE_CODE_HARNESS]: { subscriptionPath: true },
|
|
204
|
-
[CODEX_HARNESS]: { subscriptionPath: true },
|
|
205
|
-
[HERMES_AGENT_HARNESS]: { subscriptionPath: false },
|
|
206
|
-
};
|
|
207
190
|
/** Default per-task USD threshold above which the confirmation gate fires. */
|
|
208
191
|
export const DEFAULT_HIGH_COST_THRESHOLD_USD = 1;
|
|
209
192
|
/**
|
|
@@ -226,33 +209,18 @@ export function estimateModelCost(modelId) {
|
|
|
226
209
|
entry,
|
|
227
210
|
};
|
|
228
211
|
}
|
|
229
|
-
/**
|
|
230
|
-
* `true` when the harness routes through a paid API key. Subscription
|
|
231
|
-
* harnesses (Claude Code, Codex) return `false`; unknown harnesses
|
|
232
|
-
* conservatively return `true` so a misnamed harness doesn't silently
|
|
233
|
-
* skip the cost surface.
|
|
234
|
-
*/
|
|
235
|
-
export function harnessUsesPaidApiKey(harness) {
|
|
236
|
-
if (!harness)
|
|
237
|
-
return false;
|
|
238
|
-
const canonical = canonicalHarnessName(harness);
|
|
239
|
-
const billing = HARNESS_BILLING[canonical];
|
|
240
|
-
if (!billing)
|
|
241
|
-
return true;
|
|
242
|
-
return !billing.subscriptionPath;
|
|
243
|
-
}
|
|
244
212
|
/**
|
|
245
213
|
* Decide what the cost surface should render for a given harness + model
|
|
246
214
|
* combination, plus whether the confirmation gate fires.
|
|
247
215
|
*
|
|
248
216
|
* Defaults:
|
|
249
217
|
* - threshold: $1 / task (see DEFAULT_HIGH_COST_THRESHOLD_USD).
|
|
250
|
-
* -
|
|
251
|
-
* - unknown model on a paid
|
|
218
|
+
* - `usesPaidApiKey: false` → suppress surface + skip gate.
|
|
219
|
+
* - unknown model on a paid path → show estimate slot (caller may
|
|
252
220
|
* render "estimate unavailable") but DO NOT trigger the gate.
|
|
253
221
|
*/
|
|
254
|
-
export function decideCostSurface(
|
|
255
|
-
if (!
|
|
222
|
+
export function decideCostSurface(usesPaidApiKey, modelId, thresholdUsd = DEFAULT_HIGH_COST_THRESHOLD_USD) {
|
|
223
|
+
if (!usesPaidApiKey) {
|
|
256
224
|
return {
|
|
257
225
|
showEstimate: false,
|
|
258
226
|
estimate: null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cost-estimates.js","sourceRoot":"","sources":["../../src/harnesses/cost-estimates.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cost-estimates.js","sourceRoot":"","sources":["../../src/harnesses/cost-estimates.ts"],"names":[],"mappings":"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"}
|
|
@@ -329,9 +329,15 @@ export declare class TaskEngine {
|
|
|
329
329
|
* Performance contract (issue #398): this runs once per task announcement,
|
|
330
330
|
* on the engine-watcher hot path, for every observed task. It MUST NOT
|
|
331
331
|
* perform per-task blocking I/O. In particular it does not probe
|
|
332
|
-
* `impl.isReady()` —
|
|
333
|
-
*
|
|
334
|
-
* spawns and starve the daemon event loop.
|
|
332
|
+
* `impl.isReady()` — historically the Hermes harness ran child processes
|
|
333
|
+
* inside its readiness probe, so a backlog would pay per-task blocking
|
|
334
|
+
* spawns and starve the daemon event loop. (#778 converted the matching
|
|
335
|
+
* post-execution `git diff` wedge in harvest.ts to async + 60s timeout;
|
|
336
|
+
* the #778 follow-up converted the readiness-probe spawns themselves —
|
|
337
|
+
* Hermes `doctor` / `auth list` and the codex-doctor `--version` probe —
|
|
338
|
+
* to async, so the registry's background refresh loop no longer blocks the
|
|
339
|
+
* main thread either. The readiness path remains O(1) here via the cache
|
|
340
|
+
* below.)
|
|
335
341
|
*
|
|
336
342
|
* Harness readiness for the claim gate is instead served O(1) from the
|
|
337
343
|
* daemon's cached `HarnessReadinessRegistry` snapshot: the engine-watcher
|
|
@@ -561,9 +567,27 @@ export declare class TaskEngine {
|
|
|
561
567
|
* when a previous run already produced the data.
|
|
562
568
|
*/
|
|
563
569
|
private dataDrivenAdvance;
|
|
570
|
+
/**
|
|
571
|
+
* Classify a transition error and mark the task terminal accordingly.
|
|
572
|
+
*
|
|
573
|
+
* - `SafeInnerRevertError` with a non-recoverable inner name (the same
|
|
574
|
+
* set the daemon's pre-claim catch in `emitTickErrorOrRaceLost` uses):
|
|
575
|
+
* the on-chain slot is already pruned (TCMaxVerdictsReached,
|
|
576
|
+
* TCAttemptAlreadyFinalized, …). We mark the row RACE_LOST and emit a
|
|
577
|
+
* `kind=race_lost` activity event so operators can audit prunes
|
|
578
|
+
* without inflating the FAILED counter (#896).
|
|
579
|
+
* - Everything else: existing markFailed behaviour. When invoked from
|
|
580
|
+
* recovery, `contextLabel === 'recovery'` so the failure_reason
|
|
581
|
+
* carries the `recovery:` prefix the original code path used.
|
|
582
|
+
*
|
|
583
|
+
* Returns the classification so callers can log appropriately.
|
|
584
|
+
*/
|
|
585
|
+
private _classifyAndMarkTerminal;
|
|
564
586
|
/**
|
|
565
587
|
* Wraps a transition method call with error handling: if the transition
|
|
566
|
-
* throws, the task is marked FAILED
|
|
588
|
+
* throws, the task is marked terminal (FAILED or RACE_LOST per
|
|
589
|
+
* `_classifyAndMarkTerminal`) and the error is rethrown so the caller can
|
|
590
|
+
* surface it.
|
|
567
591
|
*/
|
|
568
592
|
private _runTransition;
|
|
569
593
|
/**
|