UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

32 lines (31 loc) 1.27 kB
import "./session-lifecycle-admission-CS8v45tk.js"; import { m as waitForChatAbortControllerRemoval } from "./chat-abort-qLn3eFOg.js"; import { t as abortChatRunsForSessionKeyWithPartials } from "./chat-abort-runtime-CKI3fkKr.js"; import { t as createChatAbortOps } from "./chat-abort-ops-zvMvu0-3.js"; //#region src/gateway/server-worker-placement-cancel.ts async function cancelGatewayWorkerSessionWork(context, request) { request.assertCurrent(); let controllerDrain = Promise.resolve(true); if ((await abortChatRunsForSessionKeyWithPartials({ context, ops: createChatAbortOps(context), sessionId: request.sessionId, sessionKey: request.sessionKeys[0], sessionKeyAliases: request.sessionKeys.slice(1), agentId: request.agentId, requester: { isAdmin: true }, includeProtectedRuns: true, abortOrigin: "rpc", stopReason: "rpc", onCancellationStarted: request.onCancellationStarted, onControllerTargets: (targets) => { controllerDrain = waitForChatAbortControllerRemoval({ entries: context.chatAbortControllers, targets, timeoutMs: 15e3 }); } })).unauthorized || !await controllerDrain) throw new Error("Session cancellation did not persist before cloud worker stop"); } //#endregion export { cancelGatewayWorkerSessionWork };