UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

28 lines (27 loc) 1.39 kB
import { a as asOptionalRecord } from "./record-coerce-DItp3I4t.js"; import { l as normalizeOptionalString } from "./string-coerce-CIXf7egm.js"; //#region src/agents/accepted-session-spawn.ts /** Normalizes accepted child-session spawn results from loose tool payloads. */ /** Normalize a tool result that accepted a child session spawn. */ function normalizeAcceptedSessionSpawnResult(result) { const details = asOptionalRecord(asOptionalRecord(result)?.details); if (!details || details.status !== "accepted") return null; const runId = normalizeOptionalString(details.runId); const childSessionKey = normalizeOptionalString(details.childSessionKey); if (!runId || !childSessionKey) return null; return { runId, childSessionKey, expectsCompletionMessage: details.expectsCompletionMessage === true }; } /** Return true when a collection contains at least one accepted child spawn. */ function hasAcceptedSessionSpawn(acceptedSessionSpawns) { return Boolean(acceptedSessionSpawns?.length); } /** Return true when an accepted child owns the requester's terminal completion. */ function hasCompletionMessageSessionSpawn(acceptedSessionSpawns) { return acceptedSessionSpawns?.some((spawn) => spawn.expectsCompletionMessage === true) === true; } //#endregion export { hasCompletionMessageSessionSpawn as n, normalizeAcceptedSessionSpawnResult as r, hasAcceptedSessionSpawn as t };