Frontend (Vitest) ================= Configuration: ``agency-ui/vitest.config.ts``. Pure TS/unit tests — no browser E2E yet. Commands -------- .. code-block:: bash cd agency-ui npm ci npm test # vitest run npm run typecheck # vue-tsc npm run build # Vite production bundle npm run test:watch Umbrella: ``./dev test-ui`` (vitest + typecheck + build) or ``./dev test-all``. Coverage areas (unit) --------------------- REST client (``apiFetch``), WebSocket reconnect, inbound routing, task filters, HITL interruptions store, observe/catalog deltas, execution timeline ingest, UI store tree mutations, ``applyAgencyEvent``, schema registry keys. Typecheck --------- ``UINode`` is a closed union (``SCHEMA_TYPES``). ``isValidNode`` rejects unknown types including Vuetify names. ``vue-tsc`` is a required CI job. Required CI jobs: ``npm test`` + ``npm run typecheck`` + ``npm run build``. Workflow: ``agency-ui/.github/workflows/tests.yml`` — see :doc:`ci`.