@gguf/claw
Version:
Multi-channel AI gateway with extensible messaging integrations
37 lines (35 loc) • 1.4 kB
JavaScript
import { t as DEFAULT_ACCOUNT_ID } from "./session-key-9yEYlIQe.js";
import { t as formatCliCommand } from "./command-format-sreXrOOr.js";
//#region src/web/active-listener.ts
const listeners = /* @__PURE__ */ new Map();
function resolveWebAccountId(accountId) {
return (accountId ?? "").trim() || DEFAULT_ACCOUNT_ID;
}
function requireActiveWebListener(accountId) {
const id = resolveWebAccountId(accountId);
const listener = listeners.get(id) ?? null;
if (!listener) throw new Error(`No active WhatsApp Web listener (account: ${id}). Start the gateway, then link WhatsApp with: ${formatCliCommand(`openclaw channels login --channel whatsapp --account ${id}`)}.`);
return {
accountId: id,
listener
};
}
function setActiveWebListener(accountIdOrListener, maybeListener) {
const { accountId, listener } = typeof accountIdOrListener === "string" ? {
accountId: accountIdOrListener,
listener: maybeListener ?? null
} : {
accountId: DEFAULT_ACCOUNT_ID,
listener: accountIdOrListener ?? null
};
const id = resolveWebAccountId(accountId);
if (!listener) listeners.delete(id);
else listeners.set(id, listener);
if (id === DEFAULT_ACCOUNT_ID) {}
}
function getActiveWebListener(accountId) {
const id = resolveWebAccountId(accountId);
return listeners.get(id) ?? null;
}
//#endregion
export { requireActiveWebListener as n, setActiveWebListener as r, getActiveWebListener as t };