import type { OpenClawConfig } from "openclaw/plugin-sdk"; import { resolveBlueBubblesAccount } from "./accounts.js"; export type BlueBubblesAccountResolveOpts = { serverUrl?: string; password?: string; accountId?: string; cfg?: OpenClawConfig; }; export function resolveBlueBubblesServerAccount(params: BlueBubblesAccountResolveOpts): { baseUrl: string; password: string; accountId: string; } { const account = resolveBlueBubblesAccount({ cfg: params.cfg ?? {}, accountId: params.accountId, }); const baseUrl = params.serverUrl?.trim() || account.config.serverUrl?.trim(); const password = params.password?.trim() || account.config.password?.trim(); if (!baseUrl) { throw new Error("BlueBubbles serverUrl is required"); } if (!password) { throw new Error("BlueBubbles password is required"); } return { baseUrl, password, accountId: account.accountId }; }