From 31f788eb5e07635833a36ab487ec3bf317c8916c Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sun, 7 Dec 2025 03:41:17 +0000 Subject: [PATCH] CLI: allow --provider flag for login/logout (default whatsapp) --- src/cli/program.ts | 8 ++++++-- src/web/login.ts | 4 ++++ 2 files changed, 10 insertions(+), 2 deletions(-) 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 {