





















@@ -84,6 +84,7 @@ import { redactRunIdentifier, resolveRunWorkspaceDir } from "../workspace-run.js
8484import { runPostCompactionSideEffects } from "./compaction-hooks.js";
8585import { buildEmbeddedCompactionRuntimeContext } from "./compaction-runtime-context.js";
8686import { runContextEngineMaintenance } from "./context-engine-maintenance.js";
87+import { resolveEmbeddedRunFailureSignal } from "./failure-signal.js";
8788import { resolveGlobalLane, resolveSessionLane } from "./lanes.js";
8889import { log } from "./logger.js";
8990import { resolveModelAsync } from "./model.js";
@@ -1853,6 +1854,10 @@ export async function runEmbeddedPiAgent(
18531854toolMetas: attempt.toolMetas,
18541855hadFailure: Boolean(attempt.lastToolError),
18551856});
1857+const failureSignal = resolveEmbeddedRunFailureSignal({
1858+trigger: params.trigger,
1859+lastToolError: attempt.lastToolError,
1860+});
1856186118571862// Timeout aborts can leave the run without any assistant payloads.
18581863// Emit an explicit timeout error instead of silently completing, so
@@ -1893,6 +1898,7 @@ export async function runEmbeddedPiAgent(
18931898 replayInvalid,
18941899 livenessState,
18951900toolSummary: attemptToolSummary,
1901+ ...(failureSignal ? { failureSignal } : {}),
18961902agentHarnessResultClassification: attempt.agentHarnessResultClassification,
18971903},
18981904didSendViaMessagingTool: attempt.didSendViaMessagingTool,
@@ -2070,6 +2076,7 @@ export async function runEmbeddedPiAgent(
20702076 replayInvalid,
20712077 livenessState,
20722078toolSummary: attemptToolSummary,
2079+ ...(failureSignal ? { failureSignal } : {}),
20732080agentHarnessResultClassification: attempt.agentHarnessResultClassification,
20742081},
20752082didSendViaMessagingTool: attempt.didSendViaMessagingTool,
@@ -2119,6 +2126,7 @@ export async function runEmbeddedPiAgent(
21192126 replayInvalid,
21202127 livenessState,
21212128toolSummary: attemptToolSummary,
2129+ ...(failureSignal ? { failureSignal } : {}),
21222130agentHarnessResultClassification: attempt.agentHarnessResultClassification,
21232131},
21242132didSendViaMessagingTool: attempt.didSendViaMessagingTool,
@@ -2227,6 +2235,7 @@ export async function runEmbeddedPiAgent(
22272235 replayInvalid,
22282236 livenessState,
22292237toolSummary: attemptToolSummary,
2238+ ...(failureSignal ? { failureSignal } : {}),
22302239agentHarnessResultClassification: attempt.agentHarnessResultClassification,
22312240},
22322241didSendViaMessagingTool: attempt.didSendViaMessagingTool,
@@ -2334,6 +2343,7 @@ export async function runEmbeddedPiAgent(
23342343 ...(params.blockReplyBreak ? { blockStreaming: params.blockReplyBreak } : {}),
23352344},
23362345toolSummary: attemptToolSummary,
2346+ ...(failureSignal ? { failureSignal } : {}),
23372347completion: {
23382348 ...(stopReason ? { stopReason } : {}),
23392349 ...(stopReason ? { finishReason: stopReason } : {}),
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。