openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
42 lines (41 loc) • 2.01 kB
JavaScript
import { i as isSilentReplyPayloadText } from "./tokens-DbeAFqg7.js";
import { f as isReplyPayloadTerminalContent } from "./reply-payload-DahKk-7n.js";
//#region src/agents/agent-run-result.ts
/** Agent-run result projections shared by execution owners and diagnostic probes. */
/** Adds an owner-bounded, redacted diagnostic without discarding returned work. */
function appendAgentRunFailure(result, diagnostic) {
const primaryError = result.meta.error;
return {
...result,
payloads: [...result.payloads ?? [], {
text: diagnostic,
isError: true
}],
meta: {
...result.meta,
replayInvalid: true,
error: {
...primaryError,
kind: primaryError?.kind ?? "incomplete_turn",
message: primaryError ? `${primaryError.message}\n${diagnostic}` : diagnostic,
fallbackSafe: false
}
}
};
}
function extractAgentRunText(result) {
const visibleText = result.meta?.finalAssistantVisibleText?.trim();
if (visibleText) return isSilentReplyPayloadText(visibleText) ? void 0 : visibleText;
return result.payloads?.filter((payload) => payload.visible !== false && payload.isError !== true && isReplyPayloadTerminalContent(payload)).map((payload) => payload.text?.trim()).filter((text) => Boolean(text) && !isSilentReplyPayloadText(text)).join("\n") || void 0;
}
function extractAgentRunTerminalError(result) {
const errorPayload = result.payloads?.find((payload) => payload.isError === true)?.text?.trim();
const livenessState = result.meta?.livenessState?.trim().toLowerCase();
if (!errorPayload && !result.meta?.error && livenessState !== "blocked" && livenessState !== "abandoned") return;
return result.meta?.error?.message?.trim() || errorPayload || (livenessState ? `Inference ended in the ${livenessState} state.` : "Inference failed.");
}
function agentRunHasVisibleReply(result) {
return Boolean(extractAgentRunText(result));
}
//#endregion
export { extractAgentRunText as i, appendAgentRunFailure as n, extractAgentRunTerminalError as r, agentRunHasVisibleReply as t };