openclaw/src/gateway/server-wizard-sessions.ts
2026-01-14 09:11:21 +00:00

22 lines
628 B
TypeScript

import type { WizardSession } from "../wizard/session.js";
export function createWizardSessionTracker() {
const wizardSessions = new Map<string, WizardSession>();
const findRunningWizard = (): string | null => {
for (const [id, session] of wizardSessions) {
if (session.getStatus() === "running") return id;
}
return null;
};
const purgeWizardSession = (id: string) => {
const session = wizardSessions.get(id);
if (!session) return;
if (session.getStatus() === "running") return;
wizardSessions.delete(id);
};
return { wizardSessions, findRunningWizard, purgeWizardSession };
}