import type { LocallyTestedClientAgent } from "./client-agent.js"; /** * The web client agent (Vue + RxJS state, or Next.js in the boilerplate). * All of its tests run locally — a browser is always available, so it is * a LocallyTestedClientAgent. Web specifics on top of the shared client * contract: * - e2e tests run in the browser against the in-bundle fake backend * (`test:e2e:nobackend`); fake state is wiped on every full page load, * so tests SPA-navigate only. * - the only `page.evaluate` calls allowed are test doubles (response * delay, backend-error injection, network-failure injection, LLM * scripting) and session plumbing like `localStorage.clear()` — never * state seeding. * - the real API client forwards backend-owned error messages; it never * hardcodes them. */ export interface FrontendAgent extends LocallyTestedClientAgent { readonly platform: "web-frontend"; }