from playwright.sync_api import sync_playwright

from ..core.artifacts import create_run_dir
from ..auth.session import ensure_logged_in


def cmd_bootstrap(cfg, mfa_code: str) -> int:
    run_dir = create_run_dir(cfg, "bootstrap")

    with sync_playwright() as p:
        browser = p.chromium.launch(headless=cfg.headless, slow_mo=cfg.slow_mo_ms)
        ctx = browser.new_context()
        page = ctx.new_page()

        ensure_logged_in(page, cfg, run_dir, mfa_code, allow_mfa=True)
        ctx.storage_state(path=str(cfg.state_file))

        ctx.close()
        browser.close()

    print("[UI] bootstrap OK")
    print(f"[UI] Artifacts: {run_dir}")
    return 0
