openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
87 lines (86 loc) • 3.87 kB
TypeScript
import { a as SourceReplyDeliveryMode } from "./types-M6XXnA3B.js";
//#region src/agents/embedded-agent-runner/run-state.d.ts
/**
* Shared process state for embedded-agent runs, queues, snapshots, and model-switch requests.
*
* The maps are global-singleton backed so reloads and lazy imports inside the same gateway process
* do not split active-run bookkeeping.
*/
type EmbeddedAgentQueueHandle = {
kind?: "embedded";
queueMessage: (text: string, options?: EmbeddedAgentQueueMessageOptions) => Promise<void>;
isStreaming: () => boolean;
isCompacting: () => boolean;
supportsTranscriptCommitWait?: boolean;
cancel?: (reason?: "user_abort" | "restart" | "superseded") => void;
abort: () => void;
sourceReplyDeliveryMode?: SourceReplyDeliveryMode;
};
type EmbeddedAgentQueueMessageOptions = {
steeringMode?: "all";
debounceMs?: number;
deliveryTimeoutMs?: number;
waitForTranscriptCommit?: boolean;
sourceReplyDeliveryMode?: SourceReplyDeliveryMode;
};
/** Counts active embedded runs while including auto-reply registry runs for shared sessions. */
declare function getActiveEmbeddedRunCount(): number;
/** Lists active embedded-run session keys from both embedded and auto-reply registries. */
declare function listActiveEmbeddedRunSessionKeys(): string[];
/** Lists active embedded-run session ids from all embedded-run lookup maps. */
declare function listActiveEmbeddedRunSessionIds(): string[];
//#endregion
//#region src/agents/embedded-agent-runner/runs.d.ts
type EmbeddedAgentQueueFailureReason = "no_active_run" | "not_streaming" | "compacting" | "source_reply_delivery_mode_mismatch" | "transcript_commit_wait_unsupported" | "runtime_rejected";
type EmbeddedAgentQueueMessageOutcome = {
queued: true;
sessionId: string;
target: "embedded_run" | "reply_run";
gatewayHealth: "live";
deliveredAtMs?: number;
enqueuedAtMs?: number;
} | {
queued: false;
sessionId: string;
reason: EmbeddedAgentQueueFailureReason;
gatewayHealth: "live";
errorMessage?: string;
};
/**
* Abort embedded OpenClaw runs.
*
* - With a sessionId, aborts that single run.
* - With no sessionId, supports targeted abort modes (for example, compacting runs only).
*/
declare function abortEmbeddedAgentRun(sessionId: string): boolean;
declare function abortEmbeddedAgentRun(sessionId: undefined, opts: {
mode: "all" | "compacting";
}): boolean;
declare function resolveActiveEmbeddedRunSessionId(sessionKey: string): string | undefined;
/**
* Wait for active embedded runs to drain.
*
* Used during restarts so in-flight runs can release session write locks before
* the next lifecycle starts. If no timeout is passed, waits indefinitely.
*/
declare function waitForActiveEmbeddedRuns(timeoutMs?: number, opts?: {
pollMs?: number;
}): Promise<{
drained: boolean;
}>;
type AbortAndDrainEmbeddedAgentRunResult = {
aborted: boolean;
drained: boolean;
forceCleared: boolean;
};
declare function abortAndDrainEmbeddedAgentRun(params: {
sessionId: string;
sessionKey?: string;
settleMs?: number;
forceClear?: boolean;
reason?: string;
}): Promise<AbortAndDrainEmbeddedAgentRunResult>;
declare function setActiveEmbeddedRun(sessionId: string, handle: EmbeddedAgentQueueHandle, sessionKey?: string, sessionFile?: string): void;
declare function clearActiveEmbeddedRun(sessionId: string, handle: EmbeddedAgentQueueHandle, sessionKey?: string, sessionFile?: string): void;
//#endregion
export { clearActiveEmbeddedRun as a, waitForActiveEmbeddedRuns as c, listActiveEmbeddedRunSessionIds as d, listActiveEmbeddedRunSessionKeys as f, abortEmbeddedAgentRun as i, EmbeddedAgentQueueMessageOptions as l, EmbeddedAgentQueueMessageOutcome as n, resolveActiveEmbeddedRunSessionId as o, abortAndDrainEmbeddedAgentRun as r, setActiveEmbeddedRun as s, AbortAndDrainEmbeddedAgentRunResult as t, getActiveEmbeddedRunCount as u };