diff --git a/src/cli/program.ts b/src/cli/program.ts index 8265bad6d..399cfc943 100644 --- a/src/cli/program.ts +++ b/src/cli/program.ts @@ -105,10 +105,12 @@ export function buildProgram() { .command("login") .description("Link your personal WhatsApp via QR (web provider)") .option("--verbose", "Verbose connection logs", false) + .option("--provider ", "Provider alias (default: whatsapp)") .action(async (opts) => { setVerbose(Boolean(opts.verbose)); try { - await loginWeb(Boolean(opts.verbose)); + const provider = opts.provider ?? "whatsapp"; + await loginWeb(Boolean(opts.verbose), provider); } catch (err) { defaultRuntime.error(danger(`Web login failed: ${String(err)}`)); defaultRuntime.exit(1); @@ -118,8 +120,10 @@ export function buildProgram() { program .command("logout") .description("Clear cached WhatsApp Web credentials") - .action(async () => { + .option("--provider ", "Provider alias (default: whatsapp)") + .action(async (opts) => { try { + void opts.provider; // placeholder for future multi-provider; currently web only. await logoutWeb(defaultRuntime); } catch (err) { defaultRuntime.error(danger(`Logout failed: ${String(err)}`)); diff --git a/src/web/login.ts b/src/web/login.ts index a507ac401..5537782e8 100644 --- a/src/web/login.ts +++ b/src/web/login.ts @@ -14,9 +14,13 @@ import { export async function loginWeb( verbose: boolean, + provider = "whatsapp", waitForConnection: typeof waitForWaConnection = waitForWaConnection, runtime: RuntimeEnv = defaultRuntime, ) { + if (provider !== "whatsapp" && provider !== "web") { + throw new Error(`Unsupported provider: ${provider}`); + } const sock = await createWaSocket(true, verbose); logInfo("Waiting for WhatsApp connection...", runtime); try {