"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.t = loginWeb;var _accountsBFBjizxh = require("./accounts-BFBjizxh.js"); var _configDiiPndBn = require("./config-DiiPndBn.js"); var _loggerU3s76KST = require("./logger-U3s76KST.js"); var _sessionDwLPNct = require("./session-DwL-pNct.js"); var _baileys = require("@whiskeysockets/baileys"); //#region src/web/login.ts async function loginWeb(verbose, waitForConnection, runtime = _loggerU3s76KST.l, accountId) { const wait = waitForConnection ?? _sessionDwLPNct.i; const account = (0, _accountsBFBjizxh.i)({ cfg: (0, _configDiiPndBn.i)(), accountId }); const sock = await (0, _sessionDwLPNct.t)(true, verbose, { authDir: account.authDir }); (0, _loggerU3s76KST.r)("Waiting for WhatsApp connection...", runtime); try { await wait(sock); console.log((0, _loggerU3s76KST.V)("✅ Linked! Credentials saved for future sends.")); } catch (err) { const code = err?.error?.output?.statusCode ?? err?.output?.statusCode; if (code === 515) { console.log((0, _loggerU3s76KST.L)("WhatsApp asked for a restart after pairing (code 515); creds are saved. Restarting connection once…")); try { sock.ws?.close(); } catch {} const retry = await (0, _sessionDwLPNct.t)(false, verbose, { authDir: account.authDir }); try { await wait(retry); console.log((0, _loggerU3s76KST.V)("✅ Linked after restart; web session ready.")); return; } finally { setTimeout(() => retry.ws?.close(), 500); } } if (code === _baileys.DisconnectReason.loggedOut) { await (0, _accountsBFBjizxh.u)({ authDir: account.authDir, isLegacyAuthDir: account.isLegacyAuthDir, runtime }); console.error((0, _loggerU3s76KST.I)(`WhatsApp reported the session is logged out. Cleared cached web session; please rerun ${(0, _configDiiPndBn.Br)("openclaw channels login")} and scan the QR again.`)); throw new Error("Session logged out; cache cleared. Re-run login.", { cause: err }); } const formatted = (0, _sessionDwLPNct.n)(err); console.error((0, _loggerU3s76KST.I)(`WhatsApp Web connection ended before fully opening. ${formatted}`)); throw new Error(formatted, { cause: err }); } finally { setTimeout(() => { try { sock.ws?.close(); } catch {} }, 500); } } //#endregion /* v9-f4f0a89d3e0b8ce9 */