import { expect, type Locator, type Page } from "@playwright/test" import { base64Encode } from "@opencode-ai/core/util/encode" export const APP_READY_TIMEOUT = 30_000 export async function expectAppVisible(locator: Locator) { await expect(locator).toBeVisible({ timeout: APP_READY_TIMEOUT }) } export async function expectSessionTitle(page: Page, title: string) { await expectAppVisible(page.getByRole("heading", { name: title })) } export async function expectSessionReady(page: Page, input: { server: string; sessionID: string; title: string }) { await expect(page).toHaveURL(`/server/${base64Encode(input.server)}/session/${input.sessionID}`) await expectSessionTitle(page, input.title) }