# SPDX-FileCopyrightText: Copyright (C) 2026 provide.io llc
# SPDX-License-Identifier: Apache-2.0
# SPDX-Comment: Part of octowright.
#

"""Auto-generated by mcp-multi-playwright. Replays a recorded MCP session."""

import asyncio

from playwright.async_api import async_playwright


async def main() -> None:
    async with async_playwright() as p:
        ctx = await p.webkit.launch_persistent_context(
            "/Users/tim/.config/octowright/profiles/vs-counter/webkit",
            headless=False,
            viewport={"width": 1280, "height": 800},
        )
        browser = None
        page = ctx.pages[0] if ctx.pages else await ctx.new_page()
        await page.goto(
            "file:///Users/tim/code/gh/provide-io/octowright/demo/bundles/verify-suite/seed/verify-stage.html?persona=vs-counter&role=counter&kind=webkit&slot=1"
        )
        ctx = await p.webkit.launch_persistent_context(
            "/Users/tim/.config/octowright/profiles/vs-form/webkit",
            headless=False,
            viewport={"width": 1280, "height": 800},
        )
        browser = None
        page = ctx.pages[0] if ctx.pages else await ctx.new_page()
        await page.goto(
            "file:///Users/tim/code/gh/provide-io/octowright/demo/bundles/verify-suite/seed/verify-stage.html?persona=vs-form&role=form&kind=webkit&slot=0"
        )
        ctx = await p.webkit.launch_persistent_context(
            "/Users/tim/.config/octowright/profiles/vs-arithmetic/webkit",
            headless=False,
            viewport={"width": 1280, "height": 800},
        )
        browser = None
        page = ctx.pages[0] if ctx.pages else await ctx.new_page()
        await page.goto(
            "file:///Users/tim/code/gh/provide-io/octowright/demo/bundles/verify-suite/seed/verify-stage.html?persona=vs-arithmetic&role=arithmetic&kind=webkit&slot=2"
        )
        await page.evaluate("document.body.innerHTML = '<input id=user><input id=pass type=password>'")
        try:
            await page.get_by_role("form", name="").fill("alice")
        except Exception:
            await page.fill("#user", "alice")
        try:
            await page.get_by_role("form", name="").fill("hunter2")
        except Exception:
            await page.fill("#pass", "hunter2")
        await page.evaluate(
            "(() => { document.body.innerHTML = ''; const b = document.createElement('button'); b.id = 'btn'; b.textContent = 'click'; b.dataset.n = '0'; b.addEventListener('click', () => { b.dataset.n = String(parseInt(b.dataset.n) + 1); }); document.body.appendChild(b); })()"
        )
        try:
            await page.get_by_role("counter", name="click").click()
        except Exception:
            await page.click("#btn")
        try:
            await page.get_by_role("counter", name="click").click()
        except Exception:
            await page.click("#btn")
        try:
            await page.get_by_role("counter", name="click").click()
        except Exception:
            await page.click("#btn")
        if browser is not None:
            await browser.close()
        else:
            await ctx.close()


if __name__ == "__main__":
    asyncio.run(main())
