UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

45 lines (44 loc) 3.65 kB
import { n as resolveGlobalSingleton } from "./global-singleton-PwlQSEal.js"; import { d as listActiveReplyRunSessionIds, f as listActiveReplyRunSessionKeys, s as getActiveReplyRunCount } from "./reply-run-registry-C88rqJxg.js"; //#region src/agents/embedded-agent-runner/run-state.ts const embeddedRunState = resolveGlobalSingleton(Symbol.for("openclaw.embeddedRunState"), () => ({ activeRuns: /* @__PURE__ */ new Map(), snapshots: /* @__PURE__ */ new Map(), sessionIdsByKey: /* @__PURE__ */ new Map(), sessionIdsByFile: /* @__PURE__ */ new Map(), abandonedRunsBySessionId: /* @__PURE__ */ new Map(), abandonedRunSessionIdsByKey: /* @__PURE__ */ new Map(), abandonedRunSessionIdsByFile: /* @__PURE__ */ new Map(), waiters: /* @__PURE__ */ new Map(), modelSwitchRequests: /* @__PURE__ */ new Map() })); const ACTIVE_EMBEDDED_RUNS = embeddedRunState.activeRuns ?? (embeddedRunState.activeRuns = /* @__PURE__ */ new Map()); const ACTIVE_EMBEDDED_RUN_SNAPSHOTS = embeddedRunState.snapshots ?? (embeddedRunState.snapshots = /* @__PURE__ */ new Map()); const ACTIVE_EMBEDDED_RUN_SESSION_IDS_BY_KEY = embeddedRunState.sessionIdsByKey ?? (embeddedRunState.sessionIdsByKey = /* @__PURE__ */ new Map()); const ACTIVE_EMBEDDED_RUN_SESSION_IDS_BY_FILE = embeddedRunState.sessionIdsByFile ?? (embeddedRunState.sessionIdsByFile = /* @__PURE__ */ new Map()); const ABANDONED_EMBEDDED_RUNS_BY_SESSION_ID = embeddedRunState.abandonedRunsBySessionId ?? (embeddedRunState.abandonedRunsBySessionId = /* @__PURE__ */ new Map()); const ABANDONED_EMBEDDED_RUN_SESSION_IDS_BY_KEY = embeddedRunState.abandonedRunSessionIdsByKey ?? (embeddedRunState.abandonedRunSessionIdsByKey = /* @__PURE__ */ new Map()); const ABANDONED_EMBEDDED_RUN_SESSION_IDS_BY_FILE = embeddedRunState.abandonedRunSessionIdsByFile ?? (embeddedRunState.abandonedRunSessionIdsByFile = /* @__PURE__ */ new Map()); const EMBEDDED_RUN_WAITERS = embeddedRunState.waiters ?? (embeddedRunState.waiters = /* @__PURE__ */ new Map()); const EMBEDDED_RUN_MODEL_SWITCH_REQUESTS = embeddedRunState.modelSwitchRequests ?? (embeddedRunState.modelSwitchRequests = /* @__PURE__ */ new Map()); /** Counts active embedded runs while including auto-reply registry runs for shared sessions. */ function getActiveEmbeddedRunCount() { let activeCount = ACTIVE_EMBEDDED_RUNS.size; for (const sessionId of listActiveReplyRunSessionIds()) if (!ACTIVE_EMBEDDED_RUNS.has(sessionId)) activeCount += 1; return Math.max(activeCount, getActiveReplyRunCount()); } /** Lists active embedded-run session keys from both embedded and auto-reply registries. */ function listActiveEmbeddedRunSessionKeys() { return [...new Set([...ACTIVE_EMBEDDED_RUN_SESSION_IDS_BY_KEY.keys(), ...listActiveReplyRunSessionKeys()])].toSorted((a, b) => a.localeCompare(b)); } /** Lists active embedded-run session ids from all embedded-run lookup maps. */ function listActiveEmbeddedRunSessionIds() { return [...new Set([ ...ACTIVE_EMBEDDED_RUNS.keys(), ...ACTIVE_EMBEDDED_RUN_SESSION_IDS_BY_KEY.values(), ...ACTIVE_EMBEDDED_RUN_SESSION_IDS_BY_FILE.values(), ...listActiveReplyRunSessionIds() ])].toSorted((a, b) => a.localeCompare(b)); } //#endregion export { ACTIVE_EMBEDDED_RUN_SESSION_IDS_BY_FILE as a, EMBEDDED_RUN_MODEL_SWITCH_REQUESTS as c, listActiveEmbeddedRunSessionIds as d, listActiveEmbeddedRunSessionKeys as f, ACTIVE_EMBEDDED_RUNS as i, EMBEDDED_RUN_WAITERS as l, ABANDONED_EMBEDDED_RUN_SESSION_IDS_BY_FILE as n, ACTIVE_EMBEDDED_RUN_SESSION_IDS_BY_KEY as o, ABANDONED_EMBEDDED_RUN_SESSION_IDS_BY_KEY as r, ACTIVE_EMBEDDED_RUN_SNAPSHOTS as s, ABANDONED_EMBEDDED_RUNS_BY_SESSION_ID as t, getActiveEmbeddedRunCount as u };