From 343c8a65b5fe8dc270a359486704001a9c64ac17 Mon Sep 17 00:00:00 2001 From: prateek Date: Sat, 14 Feb 2026 14:26:59 +0530 Subject: [PATCH] feat: implement web dashboard with attention-zone UI and API routes (#1) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: implement web dashboard with attention-zone UI, API routes, and SSE Implements the Next.js 15 web dashboard for INT-1332 with: - Attention-prioritized session cards (urgent/action/warning/ok/done zones) - 6 API routes: sessions, spawn, send, kill, merge, SSE events - 5 components: SessionCard, AttentionZone, PRStatus, CIBadge, Terminal - Session detail page with PR merge readiness, CI checks, unresolved comments - Tailwind CSS 4 dark theme matching the reference bash dashboard - Mock data layer covering all attention states for development - SSE endpoint for real-time lifecycle event streaming Co-Authored-By: Claude Opus 4.6 * test: add vitest test suite for web dashboard (77 tests) Add comprehensive tests covering API routes, component rendering, and attention-level classification. Fix merge button visibility when no alerts present. Co-Authored-By: Claude Opus 4.6 * fix: address all PR review feedback - Fix SSE memory leak: add cancel() handler to clear intervals on disconnect - Add X-Accel-Buffering header for reverse proxy compatibility - Add input validation on all API routes (validateString, validateIdentifier) - Import core types (SessionStatus, ActivityState, CIStatus, etc.) from @agent-orchestrator/core instead of redeclaring them - Fix hydration mismatch: render timestamp client-side only via useEffect - Add error handling on fetch calls in Dashboard (check response.ok) - Add cn() utility for conditional class composition - Fix setTimeout leak: use useRef + useEffect cleanup in SessionCard - Fix getAttentionLevel edge case: status-based checks outside PR block - Add NaN check on parseInt in merge route - Extract duplicated sizeLabel logic into shared getSizeLabel() - Add TODO guard comment on mock-data.ts for production removal Co-Authored-By: Claude Opus 4.6 * fix: address Codex review feedback (iteration 1) - Use strict /^\d+$/ validation on PR merge route (reject "432foo") - Treat exited agents with non-terminal status as urgent (crashed agents) - Add explicit getAttentionLevel mappings for review_pending, approved, cleanup - Guard SSE update loop against empty sessions array - Use encodeURIComponent on session details link - Tighten mergeScore types to Pick - Add stripControlChars() and apply to send route for shell safety Co-Authored-By: Claude Opus 4.6 * style: apply ESLint and Prettier formatting after rebase on main - Add next-env.d.ts to ESLint ignores (triple-slash reference) - Merge duplicate imports using inline type syntax (no-duplicate-imports) - Replace non-null assertions with proper null checks - Apply Prettier formatting across all packages Co-Authored-By: Claude Opus 4.6 * fix: address Cursor Bugbot review findings - Add reviewDecision "none" to warning zone in getAttentionLevel - Change ACTION zone color from green to orange for proper priority signaling - Fix SessionDetail date hydration mismatch with ClientDateCard pattern - Add export const dynamic = "force-dynamic" to SSE route - Add --color-accent-orange CSS variable Co-Authored-By: Claude Opus 4.6 * fix: address Codex review iteration 2 findings - Gate merge route on PR state (409 if not open) and draft status (422) - Handle pr.state === "closed" in getAttentionLevel → done zone - Reject messages that become empty after control char stripping - Align SSEEvent types with actual emitted events (snapshot + activity) - Add 6 new tests for edge cases (85 total) Co-Authored-By: Claude Opus 4.6 * fix: resolve typecheck error in test helper (NextRequest init type) Cast RequestInit to NextRequest's ConstructorParameters to fix type incompatibility between global RequestInit.signal (null allowed) and Next.js RequestInit.signal (null not allowed). Co-Authored-By: Claude Opus 4.6 * fix: resolve remaining review threads (zone colors, draft PRs, ternary) - WORKING zone uses green (not blue) per design spec - ACTION zone uses orange, consistent across all components - Draft PRs with reviewDecision "none" fall to ok (not warning) - Remove redundant ternary in getAttentionLevel Co-Authored-By: Claude Opus 4.6 * feat: add Playwright screenshot tooling for visual verification Agents and developers can now capture headless Chromium screenshots of the running dashboard. Includes dev server auto-start, default page specs, and CLI arg parsing. Screenshots committed to branch for PR visibility. Co-Authored-By: Claude Opus 4.6 * chore: add session detail screenshot after compact metadata redesign Co-Authored-By: Claude Opus 4.6 * chore: add screenshots for session detail redesign + zone reclassification Co-Authored-By: Claude Opus 4.6 * fix: address bugbot findings — unused type, kill route validation, draft PR awareness - Remove unused SSEEvent type alias from types.ts - Add validateIdentifier() to kill route for session ID validation - Skip "needs review" alert for draft PRs in SessionCard getAlerts() - Show "draft" instead of "needs review" in PRTableRow for draft PRs Co-Authored-By: Claude Opus 4.6 * feat: session detail redesign + attention zone reclassification Session Detail: - Nav bar replacing standalone back link - Meta chips (project/branch/issue) with GitHub links - Humanized status labels and relative timestamps - Unified PR card with stats row, issues list, inline CI checks - Clickable file paths in unresolved comments Attention Zones (reordered by human action urgency): - merge: PRs ready to merge (highest ROI per second) - respond: agents waiting for input (quick unblock) - review: CI failures, changes requested, conflicts - pending: waiting on reviewer or CI - working: agents doing their thing - done: merged or terminated Also fixes: - Add validateIdentifier() to send route for session ID - Update all tests for new zone names Co-Authored-By: Claude Opus 4.6 * fix: resolve 3 remaining review threads - Remove duplicate eslint ignore entry for next-env.d.ts - Export checkStatusIcon and ciCheckSortOrder from CIBadge, import in SessionDetail instead of duplicating - Add restore API route (was untracked) Co-Authored-By: Claude Opus 4.6 * fix: restore route validation, merged session guards - Add validateIdentifier() to restore route (matches kill/send routes) - Block restoring merged sessions with 409 response - Hide kill button for merged sessions in top-row and expanded panel - Expanded panel now shows restore OR terminate (not ternary fallback) Co-Authored-By: Claude Opus 4.6 * fix: exclude e2e from tsconfig include (fixes next build) The e2e directory imports playwright which isn't resolvable during next build. Since e2e files are standalone tooling (not app code), exclude them from the main tsconfig include. Co-Authored-By: Claude Opus 4.6 * refactor: unify CI check rendering via CICheckList layout prop Add layout prop ("vertical"|"inline"|"expanded") to CICheckList, remove duplicated InlineCIChecks from SessionDetail in favor of reusing CICheckList with the appropriate layout mode. Co-Authored-By: Claude Opus 4.6 * fix: add isDraft guard to unresolvedThreads pending check Draft PRs with unresolved threads should fall through to "working", not "pending". Adds the missing !pr.isDraft guard to match the reviewDecision check on the next line. Co-Authored-By: Claude Opus 4.6 * fix: address 9 bugbot findings across e2e, SSE, and mock-data - server.ts: kill child process on waitForServer failure, drain stdout to prevent backpressure - screenshot.ts: validate Number() args for NaN with clear error messages - events/route.ts: initialize interval variables as undefined - mock-data.ts: exclude draft PRs from needsReview stat count Co-Authored-By: Claude Opus 4.6 * fix: prevent simultaneous restore and kill buttons in SessionCard Add !isRestorable guard to kill button condition so the two buttons are mutually exclusive. Restorable sessions show restore; non-restorable exited sessions show kill. Co-Authored-By: Claude Opus 4.6 * fix: remove unreachable kill button from SessionCard top row The kill button in the top row was dead code — isRestorable already covers all activity === "exited" cases, so the !isRestorable && exited condition could never be true. Co-Authored-By: Claude Opus 4.6 * fix: update tests to match SessionCard after kill button removal Tests referenced "kill session" text that no longer exists. Exited sessions show "restore session", not "kill session". Updated 4 tests to use onRestore/restore session instead of onKill/kill session. Co-Authored-By: Claude Opus 4.6 --------- Co-authored-by: Claude Opus 4.6 --- .gitignore | 1 + packages/web/e2e/lib/browser.ts | 63 + packages/web/e2e/lib/server.ts | 69 + packages/web/e2e/screenshot.ts | 49 + packages/web/next-env.d.ts | 6 + packages/web/next.config.js | 6 + packages/web/package.json | 16 +- packages/web/postcss.config.mjs | 5 + packages/web/screenshots/dashboard.png | Bin 0 -> 272998 bytes packages/web/screenshots/session-detail.png | Bin 0 -> 70636 bytes .../web/screenshots/sessions-backend-3.png | Bin 0 -> 52349 bytes .../web/screenshots/sessions-backend-7.png | Bin 0 -> 47270 bytes .../web/screenshots/sessions-backend-9.png | Bin 0 -> 35311 bytes .../web/screenshots/sessions-frontend-2.png | Bin 0 -> 78014 bytes packages/web/src/__tests__/api-routes.test.ts | 297 +++ .../web/src/__tests__/components.test.tsx | 432 ++++ .../src/__tests__/get-attention-level.test.ts | 259 +++ packages/web/src/__tests__/helpers.ts | 52 + packages/web/src/__tests__/setup.ts | 1 + packages/web/src/app/api/events/route.ts | 76 + .../web/src/app/api/prs/[id]/merge/route.ts | 34 + .../src/app/api/sessions/[id]/kill/route.ts | 20 + .../app/api/sessions/[id]/restore/route.ts | 38 + .../src/app/api/sessions/[id]/send/route.ts | 39 + packages/web/src/app/api/sessions/route.ts | 10 + packages/web/src/app/api/spawn/route.ts | 39 + packages/web/src/app/globals.css | 46 + packages/web/src/app/layout.tsx | 15 +- packages/web/src/app/page.tsx | 6 +- packages/web/src/app/sessions/[id]/page.tsx | 18 + packages/web/src/components/AttentionZone.tsx | 119 + packages/web/src/components/CIBadge.tsx | 176 ++ packages/web/src/components/Dashboard.tsx | 191 ++ packages/web/src/components/PRStatus.tsx | 112 + packages/web/src/components/SessionCard.tsx | 369 ++++ packages/web/src/components/SessionDetail.tsx | 480 ++++ packages/web/src/components/Terminal.tsx | 55 + packages/web/src/lib/cn.ts | 4 + packages/web/src/lib/mock-data.ts | 538 +++++ packages/web/src/lib/types.ts | 201 ++ packages/web/src/lib/validation.ts | 44 + packages/web/tsconfig.json | 17 +- packages/web/vitest.config.ts | 18 + pnpm-lock.yaml | 1944 ++++++++++++++++- 44 files changed, 5799 insertions(+), 66 deletions(-) create mode 100644 packages/web/e2e/lib/browser.ts create mode 100644 packages/web/e2e/lib/server.ts create mode 100644 packages/web/e2e/screenshot.ts create mode 100644 packages/web/next-env.d.ts create mode 100644 packages/web/next.config.js create mode 100644 packages/web/postcss.config.mjs create mode 100644 packages/web/screenshots/dashboard.png create mode 100644 packages/web/screenshots/session-detail.png create mode 100644 packages/web/screenshots/sessions-backend-3.png create mode 100644 packages/web/screenshots/sessions-backend-7.png create mode 100644 packages/web/screenshots/sessions-backend-9.png create mode 100644 packages/web/screenshots/sessions-frontend-2.png create mode 100644 packages/web/src/__tests__/api-routes.test.ts create mode 100644 packages/web/src/__tests__/components.test.tsx create mode 100644 packages/web/src/__tests__/get-attention-level.test.ts create mode 100644 packages/web/src/__tests__/helpers.ts create mode 100644 packages/web/src/__tests__/setup.ts create mode 100644 packages/web/src/app/api/events/route.ts create mode 100644 packages/web/src/app/api/prs/[id]/merge/route.ts create mode 100644 packages/web/src/app/api/sessions/[id]/kill/route.ts create mode 100644 packages/web/src/app/api/sessions/[id]/restore/route.ts create mode 100644 packages/web/src/app/api/sessions/[id]/send/route.ts create mode 100644 packages/web/src/app/api/sessions/route.ts create mode 100644 packages/web/src/app/api/spawn/route.ts create mode 100644 packages/web/src/app/globals.css create mode 100644 packages/web/src/app/sessions/[id]/page.tsx create mode 100644 packages/web/src/components/AttentionZone.tsx create mode 100644 packages/web/src/components/CIBadge.tsx create mode 100644 packages/web/src/components/Dashboard.tsx create mode 100644 packages/web/src/components/PRStatus.tsx create mode 100644 packages/web/src/components/SessionCard.tsx create mode 100644 packages/web/src/components/SessionDetail.tsx create mode 100644 packages/web/src/components/Terminal.tsx create mode 100644 packages/web/src/lib/cn.ts create mode 100644 packages/web/src/lib/mock-data.ts create mode 100644 packages/web/src/lib/types.ts create mode 100644 packages/web/src/lib/validation.ts create mode 100644 packages/web/vitest.config.ts diff --git a/.gitignore b/.gitignore index e11a0f22d..8d0c02629 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ dist/ coverage/ *.patch *-context.md +packages/web/screenshots/ diff --git a/packages/web/e2e/lib/browser.ts b/packages/web/e2e/lib/browser.ts new file mode 100644 index 000000000..7ba80a3c8 --- /dev/null +++ b/packages/web/e2e/lib/browser.ts @@ -0,0 +1,63 @@ +import { mkdir } from "node:fs/promises"; +import { join } from "node:path"; +import { chromium } from "playwright"; + +interface ScreenshotOptions { + width?: number; + height?: number; +} + +interface PageSpec { + path: string; + name: string; +} + +function pathToName(path: string): string { + if (path === "/") return "dashboard"; + return path.replace(/^\//, "").replace(/\//g, "-"); +} + +const DEFAULT_PAGES: PageSpec[] = [ + { path: "/", name: "dashboard" }, + { path: "/sessions/backend-3", name: "session-detail" }, +]; + +export async function captureScreenshots( + baseUrl: string, + extraPaths: string[], + options: ScreenshotOptions = {}, +): Promise { + const { width = 1280, height = 900 } = options; + + const screenshotDir = join(new URL("../../", import.meta.url).pathname, "screenshots"); + await mkdir(screenshotDir, { recursive: true }); + + const pages: PageSpec[] = extraPaths.length > 0 + ? extraPaths.map((p) => ({ path: p, name: pathToName(p) })) + : DEFAULT_PAGES; + + const browser = await chromium.launch({ headless: true }); + const savedPaths: string[] = []; + + try { + const context = await browser.newContext({ viewport: { width, height } }); + const page = await context.newPage(); + + for (const spec of pages) { + const url = `${baseUrl}${spec.path}`; + console.log(`Navigating to ${url}`); + await page.goto(url, { waitUntil: "networkidle" }); + // Extra delay for React hydration + await page.waitForTimeout(1000); + + const filePath = join(screenshotDir, `${spec.name}.png`); + await page.screenshot({ path: filePath, fullPage: true }); + savedPaths.push(filePath); + console.log(`Saved ${filePath}`); + } + } finally { + await browser.close(); + } + + return savedPaths; +} diff --git a/packages/web/e2e/lib/server.ts b/packages/web/e2e/lib/server.ts new file mode 100644 index 000000000..f5688e174 --- /dev/null +++ b/packages/web/e2e/lib/server.ts @@ -0,0 +1,69 @@ +import { spawn, type ChildProcess } from "node:child_process"; +import { request } from "node:http"; + +interface ServerHandle { + baseUrl: string; + stop: () => void; +} + +function probePort(port: number): Promise { + return new Promise((resolve) => { + const req = request({ hostname: "127.0.0.1", port, path: "/", method: "HEAD", timeout: 2000 }, (res) => { + res.resume(); + resolve(true); + }); + req.on("error", () => resolve(false)); + req.on("timeout", () => { + req.destroy(); + resolve(false); + }); + req.end(); + }); +} + +async function waitForServer(port: number, timeoutMs: number): Promise { + const start = Date.now(); + while (Date.now() - start < timeoutMs) { + if (await probePort(port)) return; + await new Promise((r) => setTimeout(r, 500)); + } + throw new Error(`Server did not start on port ${port} within ${timeoutMs}ms`); +} + +export async function ensureServer(port: number): Promise { + const baseUrl = `http://127.0.0.1:${port}`; + + if (await probePort(port)) { + console.log(`Reusing existing server on port ${port}`); + return { baseUrl, stop: () => {} }; + } + + console.log(`Starting dev server on port ${port}...`); + const child: ChildProcess = spawn("npx", ["next", "dev", "--port", String(port)], { + cwd: new URL("../../", import.meta.url).pathname, + stdio: "pipe", + env: { ...process.env, NODE_ENV: "development" }, + }); + + child.stdout?.resume(); + child.stderr?.on("data", (chunk: Buffer) => { + const line = chunk.toString().trim(); + if (line) console.log(`[next] ${line}`); + }); + + try { + await waitForServer(port, 30_000); + } catch (err) { + child.kill("SIGTERM"); + throw err; + } + + console.log(`Dev server ready on ${baseUrl}`); + + return { + baseUrl, + stop: () => { + child.kill("SIGTERM"); + }, + }; +} diff --git a/packages/web/e2e/screenshot.ts b/packages/web/e2e/screenshot.ts new file mode 100644 index 000000000..0421ecc88 --- /dev/null +++ b/packages/web/e2e/screenshot.ts @@ -0,0 +1,49 @@ +import { ensureServer } from "./lib/server.js"; +import { captureScreenshots } from "./lib/browser.js"; + +function parseArgs(argv: string[]): { port: number; width: number; height: number; paths: string[] } { + const args = argv.slice(2); + let port = 3333; + let width = 1280; + let height = 900; + const paths: string[] = []; + + for (let i = 0; i < args.length; i++) { + const arg = args[i]; + if (arg === "--port" && args[i + 1]) { + const n = Number(args[++i]); + if (Number.isNaN(n)) throw new Error(`Invalid --port value: ${args[i]}`); + port = n; + } else if (arg === "--width" && args[i + 1]) { + const n = Number(args[++i]); + if (Number.isNaN(n)) throw new Error(`Invalid --width value: ${args[i]}`); + width = n; + } else if (arg === "--height" && args[i + 1]) { + const n = Number(args[++i]); + if (Number.isNaN(n)) throw new Error(`Invalid --height value: ${args[i]}`); + height = n; + } else if (arg?.startsWith("/")) { + paths.push(arg); + } + } + + return { port, width, height, paths }; +} + +async function main(): Promise { + const { port, width, height, paths } = parseArgs(process.argv); + + const server = await ensureServer(port); + + try { + const saved = await captureScreenshots(server.baseUrl, paths, { width, height }); + console.log(`\nDone — ${saved.length} screenshot(s) saved.`); + } finally { + server.stop(); + } +} + +main().catch((err: unknown) => { + console.error(err); + process.exit(1); +}); diff --git a/packages/web/next-env.d.ts b/packages/web/next-env.d.ts new file mode 100644 index 000000000..830fb594c --- /dev/null +++ b/packages/web/next-env.d.ts @@ -0,0 +1,6 @@ +/// +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/packages/web/next.config.js b/packages/web/next.config.js new file mode 100644 index 000000000..caa41d18e --- /dev/null +++ b/packages/web/next.config.js @@ -0,0 +1,6 @@ +/** @type {import('next').NextConfig} */ +const nextConfig = { + transpilePackages: ["@agent-orchestrator/core"], +}; + +export default nextConfig; diff --git a/packages/web/package.json b/packages/web/package.json index 48e6d6fb8..fb936f284 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -9,7 +9,11 @@ "build": "next build", "start": "next start", "typecheck": "tsc --noEmit", - "clean": "rm -rf .next" + "test": "vitest run", + "test:watch": "vitest", + "clean": "rm -rf .next", + "screenshot": "tsx e2e/screenshot.ts", + "screenshot:install": "npx playwright install chromium" }, "dependencies": { "@agent-orchestrator/core": "workspace:*", @@ -18,9 +22,17 @@ "react-dom": "^19.0.0" }, "devDependencies": { + "@tailwindcss/postcss": "^4.0.0", + "@testing-library/jest-dom": "^6.6.0", + "@testing-library/react": "^16.1.0", "@types/react": "^19.0.0", "@types/react-dom": "^19.0.0", + "@vitejs/plugin-react": "^4.3.0", + "jsdom": "^25.0.0", "tailwindcss": "^4.0.0", - "typescript": "^5.7.0" + "typescript": "^5.7.0", + "playwright": "^1.49.0", + "tsx": "^4.19.0", + "vitest": "^2.1.0" } } diff --git a/packages/web/postcss.config.mjs b/packages/web/postcss.config.mjs new file mode 100644 index 000000000..c2ddf7482 --- /dev/null +++ b/packages/web/postcss.config.mjs @@ -0,0 +1,5 @@ +export default { + plugins: { + "@tailwindcss/postcss": {}, + }, +}; diff --git a/packages/web/screenshots/dashboard.png b/packages/web/screenshots/dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..bd310cf3cfc59e9be0395322164f5810456effa2 GIT binary patch literal 272998 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°{1I{(fHg-r815On(pWZlO8@e&;w) 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�TZQ?(d%R76-V5z9J{|HykvVxlcHzmWPIV30f^ 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 literal 0 HcmV?d00001 diff --git a/packages/web/screenshots/session-detail.png b/packages/web/screenshots/session-detail.png new file mode 100644 index 0000000000000000000000000000000000000000..b0ddd1f6678ec2ad932a0eca0898dcdaec137807 GIT binary patch literal 70636 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%0AfdvA# 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 P1Oil{pXN#%|MmX?2ll7; literal 0 HcmV?d00001 diff --git a/packages/web/screenshots/sessions-backend-7.png b/packages/web/screenshots/sessions-backend-7.png new file mode 100644 index 0000000000000000000000000000000000000000..14ce63c672fc1fc5b5eb8b58c4abf3166d4450ec GIT binary patch literal 47270 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≈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 literal 0 HcmV?d00001 diff --git a/packages/web/screenshots/sessions-backend-9.png b/packages/web/screenshots/sessions-backend-9.png new file mode 100644 index 0000000000000000000000000000000000000000..3fbb96ff83c8ddb7700ea7489e2b01d569a148ad GIT binary patch literal 35311 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
t{sB;(7;xw^UCkWr@1{iAAoDW@JK_Mw#MMU(u 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 a6-C3XhThh+HVC|f0(~zdQY577^Pd2@f;!y* literal 0 HcmV?d00001 diff --git a/packages/web/screenshots/sessions-frontend-2.png b/packages/web/screenshots/sessions-frontend-2.png new file mode 100644 index 0000000000000000000000000000000000000000..d61804feb882fd13070597b666a47ec3867b295e GIT binary patch literal 78014 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 iskdg;fCpu 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
  • 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[1], + ); +} + +describe("API Routes", () => { + // ── GET /api/sessions ────────────────────────────────────────────── + + describe("GET /api/sessions", () => { + it("returns sessions array and stats", async () => { + const res = await sessionsGET(); + expect(res.status).toBe(200); + const data = await res.json(); + expect(data.sessions).toBeDefined(); + expect(Array.isArray(data.sessions)).toBe(true); + expect(data.sessions.length).toBeGreaterThan(0); + expect(data.stats).toBeDefined(); + expect(data.stats.totalSessions).toBe(data.sessions.length); + }); + + it("stats include expected fields", async () => { + const res = await sessionsGET(); + const data = await res.json(); + expect(data.stats).toHaveProperty("totalSessions"); + expect(data.stats).toHaveProperty("workingSessions"); + expect(data.stats).toHaveProperty("openPRs"); + expect(data.stats).toHaveProperty("needsReview"); + }); + + it("sessions have expected shape", async () => { + const res = await sessionsGET(); + const data = await res.json(); + const session = data.sessions[0]; + expect(session).toHaveProperty("id"); + expect(session).toHaveProperty("projectId"); + expect(session).toHaveProperty("status"); + expect(session).toHaveProperty("activity"); + expect(session).toHaveProperty("createdAt"); + }); + }); + + // ── POST /api/spawn ──────────────────────────────────────────────── + + describe("POST /api/spawn", () => { + it("creates a session with valid input", async () => { + const req = makeRequest("/api/spawn", { + method: "POST", + body: JSON.stringify({ projectId: "my-app", issueId: "INT-100" }), + headers: { "Content-Type": "application/json" }, + }); + const res = await spawnPOST(req); + expect(res.status).toBe(201); + const data = await res.json(); + expect(data.session).toBeDefined(); + expect(data.session.projectId).toBe("my-app"); + expect(data.session.issueId).toBe("INT-100"); + expect(data.session.status).toBe("spawning"); + }); + + it("returns 400 when projectId is missing", async () => { + const req = makeRequest("/api/spawn", { + method: "POST", + body: JSON.stringify({}), + headers: { "Content-Type": "application/json" }, + }); + const res = await spawnPOST(req); + expect(res.status).toBe(400); + const data = await res.json(); + expect(data.error).toMatch(/projectId/); + }); + + it("returns 400 with invalid JSON", async () => { + const req = makeRequest("/api/spawn", { + method: "POST", + body: "not json", + headers: { "Content-Type": "application/json" }, + }); + const res = await spawnPOST(req); + expect(res.status).toBe(400); + }); + + it("handles missing issueId gracefully", async () => { + const req = makeRequest("/api/spawn", { + method: "POST", + body: JSON.stringify({ projectId: "my-app" }), + headers: { "Content-Type": "application/json" }, + }); + const res = await spawnPOST(req); + expect(res.status).toBe(201); + const data = await res.json(); + expect(data.session.issueId).toBeNull(); + }); + }); + + // ── POST /api/sessions/:id/send ──────────────────────────────────── + + describe("POST /api/sessions/:id/send", () => { + it("sends a message to a valid session", async () => { + const req = makeRequest("/api/sessions/backend-3/send", { + method: "POST", + body: JSON.stringify({ message: "Fix the tests" }), + headers: { "Content-Type": "application/json" }, + }); + const res = await sendPOST(req, { params: Promise.resolve({ id: "backend-3" }) }); + expect(res.status).toBe(200); + const data = await res.json(); + expect(data.ok).toBe(true); + expect(data.message).toBe("Fix the tests"); + }); + + it("returns 404 for unknown session", async () => { + const req = makeRequest("/api/sessions/nonexistent/send", { + method: "POST", + body: JSON.stringify({ message: "hello" }), + headers: { "Content-Type": "application/json" }, + }); + const res = await sendPOST(req, { params: Promise.resolve({ id: "nonexistent" }) }); + expect(res.status).toBe(404); + }); + + it("returns 400 when message is missing", async () => { + const req = makeRequest("/api/sessions/backend-3/send", { + method: "POST", + body: JSON.stringify({}), + headers: { "Content-Type": "application/json" }, + }); + const res = await sendPOST(req, { params: Promise.resolve({ id: "backend-3" }) }); + expect(res.status).toBe(400); + const data = await res.json(); + expect(data.error).toMatch(/message/); + }); + + it("returns 400 for invalid JSON body", async () => { + const req = makeRequest("/api/sessions/backend-3/send", { + method: "POST", + body: "not json", + headers: { "Content-Type": "application/json" }, + }); + const res = await sendPOST(req, { params: Promise.resolve({ id: "backend-3" }) }); + expect(res.status).toBe(400); + }); + + it("returns 400 for control-char-only message", async () => { + const req = makeRequest("/api/sessions/backend-3/send", { + method: "POST", + body: JSON.stringify({ message: "\x00\x01\x02" }), + headers: { "Content-Type": "application/json" }, + }); + const res = await sendPOST(req, { params: Promise.resolve({ id: "backend-3" }) }); + expect(res.status).toBe(400); + const data = await res.json(); + expect(data.error).toMatch(/empty/); + }); + }); + + // ── POST /api/sessions/:id/kill ──────────────────────────────────── + + describe("POST /api/sessions/:id/kill", () => { + it("kills a valid session", async () => { + const req = makeRequest("/api/sessions/backend-3/kill", { method: "POST" }); + const res = await killPOST(req, { params: Promise.resolve({ id: "backend-3" }) }); + expect(res.status).toBe(200); + const data = await res.json(); + expect(data.ok).toBe(true); + expect(data.sessionId).toBe("backend-3"); + }); + + it("returns 404 for unknown session", async () => { + const req = makeRequest("/api/sessions/nonexistent/kill", { method: "POST" }); + const res = await killPOST(req, { params: Promise.resolve({ id: "nonexistent" }) }); + expect(res.status).toBe(404); + }); + }); + + // ── POST /api/sessions/:id/restore ───────────────────────────────── + + describe("POST /api/sessions/:id/restore", () => { + it("restores a killed session", async () => { + const req = makeRequest("/api/sessions/frontend-1/restore", { method: "POST" }); + const res = await restorePOST(req, { params: Promise.resolve({ id: "frontend-1" }) }); + expect(res.status).toBe(200); + const data = await res.json(); + expect(data.ok).toBe(true); + expect(data.sessionId).toBe("frontend-1"); + }); + + it("returns 404 for unknown session", async () => { + const req = makeRequest("/api/sessions/nonexistent/restore", { method: "POST" }); + const res = await restorePOST(req, { params: Promise.resolve({ id: "nonexistent" }) }); + expect(res.status).toBe(404); + }); + + it("returns 409 for active session", async () => { + const req = makeRequest("/api/sessions/backend-9/restore", { method: "POST" }); + const res = await restorePOST(req, { params: Promise.resolve({ id: "backend-9" }) }); + expect(res.status).toBe(409); + const data = await res.json(); + expect(data.error).toMatch(/not in a terminal state/); + }); + }); + + // ── POST /api/prs/:id/merge ──────────────────────────────────────── + + describe("POST /api/prs/:id/merge", () => { + it("merges a mergeable PR", async () => { + // PR #432 (backend-7) is mergeable in mock data + const req = makeRequest("/api/prs/432/merge", { method: "POST" }); + const res = await mergePOST(req, { params: Promise.resolve({ id: "432" }) }); + expect(res.status).toBe(200); + const data = await res.json(); + expect(data.ok).toBe(true); + expect(data.prNumber).toBe(432); + }); + + it("returns 404 for unknown PR", async () => { + const req = makeRequest("/api/prs/99999/merge", { method: "POST" }); + const res = await mergePOST(req, { params: Promise.resolve({ id: "99999" }) }); + expect(res.status).toBe(404); + }); + + it("returns 422 for non-mergeable PR", async () => { + // PR #428 (backend-5) has failing CI → not mergeable + const req = makeRequest("/api/prs/428/merge", { method: "POST" }); + const res = await mergePOST(req, { params: Promise.resolve({ id: "428" }) }); + expect(res.status).toBe(422); + const data = await res.json(); + expect(data.error).toMatch(/not mergeable/); + expect(data.blockers).toBeDefined(); + }); + + it("returns 400 for non-numeric PR id", async () => { + const req = makeRequest("/api/prs/abc/merge", { method: "POST" }); + const res = await mergePOST(req, { params: Promise.resolve({ id: "abc" }) }); + expect(res.status).toBe(400); + const data = await res.json(); + expect(data.error).toMatch(/Invalid PR number/); + }); + + it("returns 422 for draft PR", async () => { + // PR #440 (frontend-9) is a draft + const req = makeRequest("/api/prs/440/merge", { method: "POST" }); + const res = await mergePOST(req, { params: Promise.resolve({ id: "440" }) }); + expect(res.status).toBe(422); + const data = await res.json(); + expect(data.error).toMatch(/draft/i); + }); + + it("returns 409 for merged PR", async () => { + // PR #410 (backend-1) is merged + const req = makeRequest("/api/prs/410/merge", { method: "POST" }); + const res = await mergePOST(req, { params: Promise.resolve({ id: "410" }) }); + expect(res.status).toBe(409); + const data = await res.json(); + expect(data.error).toMatch(/merged/); + }); + }); + + // ── GET /api/events (SSE) ────────────────────────────────────────── + + describe("GET /api/events", () => { + it("returns SSE content type", async () => { + const res = await eventsGET(); + expect(res.headers.get("Content-Type")).toBe("text/event-stream"); + expect(res.headers.get("Cache-Control")).toBe("no-cache"); + }); + + it("streams initial snapshot event", async () => { + const res = await eventsGET(); + const reader = res.body!.getReader(); + const { value } = await reader.read(); + reader.cancel(); + const text = new TextDecoder().decode(value); + expect(text).toContain("data: "); + const jsonStr = text.replace("data: ", "").trim(); + const event = JSON.parse(jsonStr); + expect(event.type).toBe("snapshot"); + expect(Array.isArray(event.sessions)).toBe(true); + expect(event.sessions.length).toBeGreaterThan(0); + expect(event.sessions[0]).toHaveProperty("id"); + expect(event.sessions[0]).toHaveProperty("attentionLevel"); + }); + }); +}); diff --git a/packages/web/src/__tests__/components.test.tsx b/packages/web/src/__tests__/components.test.tsx new file mode 100644 index 000000000..74efc403e --- /dev/null +++ b/packages/web/src/__tests__/components.test.tsx @@ -0,0 +1,432 @@ +import { describe, it, expect, vi } from "vitest"; +import { render, screen, fireEvent } from "@testing-library/react"; +import { CIBadge, CICheckList } from "@/components/CIBadge"; +import { PRStatus } from "@/components/PRStatus"; +import { SessionCard } from "@/components/SessionCard"; +import { AttentionZone } from "@/components/AttentionZone"; +import { makeSession, makePR } from "./helpers"; + +// ── CIBadge ────────────────────────────────────────────────────────── + +describe("CIBadge", () => { + it("renders passing status", () => { + render(); + expect(screen.getByText("CI passing")).toBeInTheDocument(); + }); + + it("renders failing status with check count", () => { + const checks = [ + { name: "build", status: "failed" as const }, + { name: "test", status: "failed" as const }, + { name: "lint", status: "passed" as const }, + ]; + render(); + expect(screen.getByText("2 checks failing")).toBeInTheDocument(); + }); + + it("renders single failing check without plural", () => { + const checks = [ + { name: "build", status: "failed" as const }, + { name: "lint", status: "passed" as const }, + ]; + render(); + expect(screen.getByText("1 check failing")).toBeInTheDocument(); + }); + + it("renders pending status", () => { + render(); + expect(screen.getByText("CI pending")).toBeInTheDocument(); + }); + + it("renders em-dash for none status", () => { + const { container } = render(); + expect(container.textContent).toContain("—"); + }); + + it("hides icon in compact mode", () => { + const { container } = render(); + // In compact mode, no icon span before the label + const spans = container.querySelectorAll("span > span"); + // Should only have the label text, no extra icon span + expect(spans.length).toBe(0); + }); +}); + +// ── CICheckList ────────────────────────────────────────────────────── + +describe("CICheckList", () => { + it("renders all checks", () => { + const checks = [ + { name: "build", status: "passed" as const }, + { name: "test", status: "failed" as const, url: "https://example.com/test" }, + { name: "lint", status: "pending" as const }, + ]; + render(); + expect(screen.getByText("build")).toBeInTheDocument(); + expect(screen.getByText("test")).toBeInTheDocument(); + expect(screen.getByText("lint")).toBeInTheDocument(); + }); + + it("sorts failed checks first", () => { + const checks = [ + { name: "lint", status: "passed" as const }, + { name: "build", status: "failed" as const }, + { name: "test", status: "running" as const }, + ]; + const { container } = render(); + const names = Array.from(container.querySelectorAll(".truncate")).map((el) => el.textContent); + expect(names[0]).toBe("build"); // failed first + expect(names[1]).toBe("test"); // running second + expect(names[2]).toBe("lint"); // passed last + }); + + it("renders view links for checks with URLs", () => { + const checks = [ + { name: "build", status: "passed" as const, url: "https://example.com/build" }, + { name: "test", status: "passed" as const }, + ]; + render(); + const links = screen.getAllByText("view"); + expect(links).toHaveLength(1); + expect(links[0]).toHaveAttribute("href", "https://example.com/build"); + }); +}); + +// ── PRStatus ───────────────────────────────────────────────────────── + +describe("PRStatus", () => { + it("renders PR number as link", () => { + const pr = makePR({ number: 42 }); + render(); + expect(screen.getByText("#42")).toBeInTheDocument(); + expect(screen.getByText("#42").closest("a")).toHaveAttribute("href", pr.url); + }); + + it("renders size label", () => { + const pr = makePR({ additions: 50, deletions: 10 }); + render(); + expect(screen.getByText("+50 -10 S")).toBeInTheDocument(); + }); + + it("computes XL size label for large PRs", () => { + const pr = makePR({ additions: 800, deletions: 300 }); + render(); + expect(screen.getByText("+800 -300 XL")).toBeInTheDocument(); + }); + + it("shows merged badge for merged PRs", () => { + const pr = makePR({ state: "merged" }); + render(); + expect(screen.getByText("merged")).toBeInTheDocument(); + }); + + it("shows draft badge for draft PRs", () => { + const pr = makePR({ isDraft: true, state: "open" }); + render(); + expect(screen.getByText("draft")).toBeInTheDocument(); + }); + + it("shows approved badge", () => { + const pr = makePR({ reviewDecision: "approved", state: "open" }); + render(); + expect(screen.getByText("approved")).toBeInTheDocument(); + }); + + it("does not show CI badge for draft PRs", () => { + const pr = makePR({ isDraft: true, state: "open", ciStatus: "passing" }); + render(); + expect(screen.queryByText("CI passing")).not.toBeInTheDocument(); + }); + + it("does not show CI badge for merged PRs", () => { + const pr = makePR({ state: "merged", ciStatus: "passing" }); + render(); + expect(screen.queryByText("CI passing")).not.toBeInTheDocument(); + }); +}); + +// ── SessionCard ────────────────────────────────────────────────────── + +describe("SessionCard", () => { + it("renders session id and summary", () => { + const session = makeSession({ id: "backend-1", summary: "Fixing auth" }); + render(); + expect(screen.getByText("backend-1")).toBeInTheDocument(); + expect(screen.getByText("Fixing auth")).toBeInTheDocument(); + }); + + it("shows PR title instead of summary when PR exists", () => { + const pr = makePR({ title: "feat: add auth" }); + const session = makeSession({ summary: "Fixing auth", pr }); + render(); + expect(screen.getByText("feat: add auth")).toBeInTheDocument(); + }); + + it("renders branch name", () => { + const session = makeSession({ branch: "feat/cool-thing" }); + render(); + expect(screen.getByText("feat/cool-thing")).toBeInTheDocument(); + }); + + it("renders terminal link", () => { + const session = makeSession({ id: "backend-5" }); + render(); + const link = screen.getByText("terminal"); + expect(link).toHaveAttribute("href", "/sessions/backend-5"); + }); + + it("shows restore button when agent has exited", () => { + const session = makeSession({ activity: "exited" }); + render(); + expect(screen.getByText("restore session")).toBeInTheDocument(); + }); + + it("does not show restore button when agent is active", () => { + const session = makeSession({ activity: "active" }); + render(); + expect(screen.queryByText("restore session")).not.toBeInTheDocument(); + }); + + it("calls onRestore when restore button is clicked", () => { + const onRestore = vi.fn(); + const session = makeSession({ id: "backend-1", activity: "exited" }); + render(); + fireEvent.click(screen.getByText("restore session")); + expect(onRestore).toHaveBeenCalledWith("backend-1"); + }); + + it("shows merge button when PR is mergeable", () => { + const pr = makePR({ + number: 42, + state: "open", + mergeability: { + mergeable: true, + ciPassing: true, + approved: true, + noConflicts: true, + blockers: [], + }, + }); + const session = makeSession({ status: "mergeable", activity: "idle", pr }); + render(); + expect(screen.getByText("merge PR #42")).toBeInTheDocument(); + }); + + it("calls onMerge when merge button is clicked", () => { + const onMerge = vi.fn(); + const pr = makePR({ + number: 42, + state: "open", + mergeability: { + mergeable: true, + ciPassing: true, + approved: true, + noConflicts: true, + blockers: [], + }, + }); + const session = makeSession({ status: "mergeable", activity: "idle", pr }); + render(); + fireEvent.click(screen.getByText("merge PR #42")); + expect(onMerge).toHaveBeenCalledWith(42); + }); + + it("shows CI failing alert", () => { + const pr = makePR({ + state: "open", + ciStatus: "failing", + ciChecks: [ + { name: "build", status: "passed" }, + { name: "test", status: "failed" }, + ], + reviewDecision: "approved", + mergeability: { + mergeable: false, + ciPassing: false, + approved: true, + noConflicts: true, + blockers: [], + }, + }); + const session = makeSession({ status: "ci_failed", activity: "idle", pr }); + render(); + expect(screen.getByText("1 CI check failing")).toBeInTheDocument(); + }); + + it("shows changes requested alert", () => { + const pr = makePR({ + state: "open", + ciStatus: "passing", + reviewDecision: "changes_requested", + mergeability: { + mergeable: false, + ciPassing: true, + approved: false, + noConflicts: true, + blockers: [], + }, + }); + const session = makeSession({ activity: "idle", pr }); + render(); + expect(screen.getByText("changes requested")).toBeInTheDocument(); + }); + + it("shows needs review alert", () => { + const pr = makePR({ + state: "open", + ciStatus: "passing", + reviewDecision: "pending", + mergeability: { + mergeable: false, + ciPassing: true, + approved: false, + noConflicts: true, + blockers: [], + }, + }); + const session = makeSession({ activity: "idle", pr }); + render(); + expect(screen.getByText("needs review")).toBeInTheDocument(); + }); + + it("shows unresolved comments alert with count", () => { + const pr = makePR({ + state: "open", + ciStatus: "passing", + reviewDecision: "approved", + unresolvedThreads: 3, + unresolvedComments: [ + { url: "https://example.com/1", path: "src/a.ts", author: "alice", body: "fix" }, + { url: "https://example.com/2", path: "src/b.ts", author: "bob", body: "fix" }, + { url: "https://example.com/3", path: "src/c.ts", author: "carol", body: "fix" }, + ], + mergeability: { + mergeable: false, + ciPassing: true, + approved: true, + noConflicts: true, + blockers: [], + }, + }); + const session = makeSession({ activity: "idle", pr }); + render(); + expect(screen.getByText("3")).toBeInTheDocument(); + expect(screen.getByText("unresolved comments")).toBeInTheDocument(); + }); + + it("shows action buttons when agent is idle", () => { + const pr = makePR({ + state: "open", + ciStatus: "failing", + ciChecks: [{ name: "test", status: "failed" }], + reviewDecision: "approved", + mergeability: { + mergeable: false, + ciPassing: false, + approved: true, + noConflicts: true, + blockers: [], + }, + }); + const session = makeSession({ activity: "idle", pr }); + render(); + expect(screen.getByText("ask to fix CI")).toBeInTheDocument(); + }); + + it("hides action buttons when agent is active", () => { + const pr = makePR({ + state: "open", + ciStatus: "failing", + ciChecks: [{ name: "test", status: "failed" }], + reviewDecision: "approved", + mergeability: { + mergeable: false, + ciPassing: false, + approved: true, + noConflicts: true, + blockers: [], + }, + }); + const session = makeSession({ activity: "active", pr }); + render(); + expect(screen.queryByText("ask to fix CI")).not.toBeInTheDocument(); + }); + + it("expands detail panel on click", () => { + const session = makeSession({ id: "test-1", issueId: "INT-100", pr: null }); + const { container } = render(); + expect(screen.queryByText("INT-100")).not.toBeInTheDocument(); + // Click the card (not a button/link) + fireEvent.click(container.firstElementChild!); + expect(screen.getByText("INT-100")).toBeInTheDocument(); + expect(screen.getByText("No PR associated with this session.")).toBeInTheDocument(); + }); + + it("shows terminate session button in expanded view", () => { + const session = makeSession({ pr: null }); + const { container } = render(); + fireEvent.click(container.firstElementChild!); + expect(screen.getByText("terminate session")).toBeInTheDocument(); + }); +}); + +// ── AttentionZone ──────────────────────────────────────────────────── + +describe("AttentionZone", () => { + it("renders zone label and session count", () => { + const sessions = [makeSession({ id: "s1" }), makeSession({ id: "s2" })]; + render(); + expect(screen.getByText("RESPOND")).toBeInTheDocument(); + expect(screen.getByText("2")).toBeInTheDocument(); + expect(screen.getByText("Agents waiting for your input")).toBeInTheDocument(); + }); + + it("renders nothing when sessions array is empty", () => { + const { container } = render(); + expect(container.firstElementChild).toBeNull(); + }); + + it("shows session cards when not collapsed", () => { + const sessions = [makeSession({ id: "s1" })]; + render(); + // respond is defaultCollapsed: false, so cards should be visible + expect(screen.getByText("s1")).toBeInTheDocument(); + }); + + it("working zone is collapsed by default", () => { + const sessions = [makeSession({ id: "s1" })]; + render(); + // working is defaultCollapsed: true, so session id should not be visible + expect(screen.queryByText("s1")).not.toBeInTheDocument(); + expect(screen.getByText("WORKING")).toBeInTheDocument(); + }); + + it("done zone is collapsed by default", () => { + const sessions = [makeSession({ id: "s1" })]; + render(); + expect(screen.queryByText("s1")).not.toBeInTheDocument(); + expect(screen.getByText("DONE")).toBeInTheDocument(); + }); + + it("toggles collapsed state on click", () => { + const sessions = [makeSession({ id: "s1" })]; + render(); + expect(screen.queryByText("s1")).not.toBeInTheDocument(); + + // Click the zone header to expand + fireEvent.click(screen.getByText("WORKING")); + expect(screen.getByText("s1")).toBeInTheDocument(); + + // Click again to collapse + fireEvent.click(screen.getByText("WORKING")); + expect(screen.queryByText("s1")).not.toBeInTheDocument(); + }); + + it("passes callbacks to SessionCards", () => { + const onRestore = vi.fn(); + const sessions = [makeSession({ id: "s1", activity: "exited" })]; + render(); + fireEvent.click(screen.getByText("restore session")); + expect(onRestore).toHaveBeenCalledWith("s1"); + }); +}); diff --git a/packages/web/src/__tests__/get-attention-level.test.ts b/packages/web/src/__tests__/get-attention-level.test.ts new file mode 100644 index 000000000..0874cb739 --- /dev/null +++ b/packages/web/src/__tests__/get-attention-level.test.ts @@ -0,0 +1,259 @@ +import { describe, it, expect } from "vitest"; +import { getAttentionLevel } from "@/lib/types"; +import { makeSession, makePR } from "./helpers"; + +describe("getAttentionLevel", () => { + // ── MERGE (green zone — PRs ready to merge) ──────────────────────── + + describe("merge zone", () => { + it("returns merge when status is mergeable", () => { + const pr = makePR({ + mergeability: { + mergeable: true, + ciPassing: true, + approved: true, + noConflicts: true, + blockers: [], + }, + }); + const session = makeSession({ status: "mergeable", activity: "idle", pr }); + expect(getAttentionLevel(session)).toBe("merge"); + }); + + it("returns merge when PR mergeability is true", () => { + const pr = makePR({ + mergeability: { + mergeable: true, + ciPassing: true, + approved: true, + noConflicts: true, + blockers: [], + }, + }); + const session = makeSession({ status: "pr_open", activity: "idle", pr }); + expect(getAttentionLevel(session)).toBe("merge"); + }); + }); + + // ── RESPOND (red zone — agent needs human input) ─────────────────── + + describe("respond zone", () => { + it("returns respond when activity is waiting_input", () => { + const session = makeSession({ activity: "waiting_input" }); + expect(getAttentionLevel(session)).toBe("respond"); + }); + + it("returns respond when activity is blocked", () => { + const session = makeSession({ activity: "blocked" }); + expect(getAttentionLevel(session)).toBe("respond"); + }); + + it("returns respond when status is needs_input", () => { + const session = makeSession({ status: "needs_input", activity: "idle" }); + expect(getAttentionLevel(session)).toBe("respond"); + }); + + it("returns respond when status is stuck", () => { + const session = makeSession({ status: "stuck", activity: "idle" }); + expect(getAttentionLevel(session)).toBe("respond"); + }); + + it("returns respond when status is errored", () => { + const session = makeSession({ status: "errored", activity: "idle" }); + expect(getAttentionLevel(session)).toBe("respond"); + }); + + it("returns respond when agent has exited unexpectedly (non-terminal status)", () => { + const session = makeSession({ status: "working", activity: "exited", pr: null }); + expect(getAttentionLevel(session)).toBe("respond"); + }); + + it("merge takes priority over respond (mergeable PR + blocked agent)", () => { + const pr = makePR({ + mergeability: { + mergeable: true, + ciPassing: true, + approved: true, + noConflicts: true, + blockers: [], + }, + }); + const session = makeSession({ status: "mergeable", activity: "blocked", pr }); + expect(getAttentionLevel(session)).toBe("merge"); + }); + }); + + // ── REVIEW (orange zone — needs investigation) ───────────────────── + + describe("review zone", () => { + it("returns review when CI is failing", () => { + const pr = makePR({ + ciStatus: "failing", + ciChecks: [{ name: "test", status: "failed" }], + reviewDecision: "approved", + mergeability: { + mergeable: false, + ciPassing: false, + approved: true, + noConflicts: true, + blockers: ["CI failing"], + }, + }); + const session = makeSession({ status: "ci_failed", activity: "idle", pr }); + expect(getAttentionLevel(session)).toBe("review"); + }); + + it("returns review when changes are requested", () => { + const pr = makePR({ + ciStatus: "passing", + reviewDecision: "changes_requested", + mergeability: { + mergeable: false, + ciPassing: true, + approved: false, + noConflicts: true, + blockers: ["Changes requested"], + }, + }); + const session = makeSession({ status: "changes_requested", activity: "idle", pr }); + expect(getAttentionLevel(session)).toBe("review"); + }); + + it("returns review when there are merge conflicts", () => { + const pr = makePR({ + ciStatus: "passing", + reviewDecision: "approved", + mergeability: { + mergeable: false, + ciPassing: true, + approved: true, + noConflicts: false, + blockers: ["Merge conflict"], + }, + }); + const session = makeSession({ status: "pr_open", activity: "idle", pr }); + expect(getAttentionLevel(session)).toBe("review"); + }); + }); + + // ── PENDING (yellow zone — waiting on external) ──────────────────── + + describe("pending zone", () => { + it("returns pending when review is pending", () => { + const pr = makePR({ + reviewDecision: "pending", + mergeability: { + mergeable: false, + ciPassing: true, + approved: false, + noConflicts: true, + blockers: ["Needs review"], + }, + }); + const session = makeSession({ status: "review_pending", activity: "idle", pr }); + expect(getAttentionLevel(session)).toBe("pending"); + }); + + it("returns pending when review decision is none", () => { + const pr = makePR({ + reviewDecision: "none", + mergeability: { + mergeable: false, + ciPassing: true, + approved: false, + noConflicts: true, + blockers: ["Needs review"], + }, + }); + const session = makeSession({ status: "pr_open", activity: "idle", pr }); + expect(getAttentionLevel(session)).toBe("pending"); + }); + + it("returns pending when there are unresolved threads", () => { + const pr = makePR({ + reviewDecision: "approved", + unresolvedThreads: 2, + unresolvedComments: [ + { url: "https://example.com/1", path: "src/foo.ts", author: "bob", body: "fix this" }, + { url: "https://example.com/2", path: "src/bar.ts", author: "bob", body: "also this" }, + ], + mergeability: { + mergeable: false, + ciPassing: true, + approved: true, + noConflicts: true, + blockers: ["Unresolved comments"], + }, + }); + const session = makeSession({ status: "pr_open", activity: "idle", pr }); + expect(getAttentionLevel(session)).toBe("pending"); + }); + }); + + // ── WORKING (blue zone — agents doing their thing) ───────────────── + + describe("working zone", () => { + it("returns working when actively working with no PR", () => { + const session = makeSession({ status: "working", activity: "active", pr: null }); + expect(getAttentionLevel(session)).toBe("working"); + }); + + it("returns working when spawning", () => { + const session = makeSession({ status: "spawning", activity: "active", pr: null }); + expect(getAttentionLevel(session)).toBe("working"); + }); + + it("returns working for idle session with no PR", () => { + const session = makeSession({ status: "working", activity: "idle", pr: null }); + expect(getAttentionLevel(session)).toBe("working"); + }); + + it("returns working for draft PR with reviewDecision none", () => { + const pr = makePR({ + isDraft: true, + reviewDecision: "none", + mergeability: { + mergeable: false, + ciPassing: true, + approved: false, + noConflicts: true, + blockers: ["Draft PR"], + }, + }); + const session = makeSession({ status: "working", activity: "active", pr }); + expect(getAttentionLevel(session)).toBe("working"); + }); + }); + + // ── DONE (grey zone — archived) ──────────────────────────────────── + + describe("done zone", () => { + it("returns done when PR is merged", () => { + const pr = makePR({ state: "merged" }); + const session = makeSession({ status: "merged", activity: "exited", pr }); + expect(getAttentionLevel(session)).toBe("done"); + }); + + it("returns done when PR is closed (not merged)", () => { + const pr = makePR({ state: "closed" }); + const session = makeSession({ status: "working", activity: "idle", pr }); + expect(getAttentionLevel(session)).toBe("done"); + }); + + it("returns done when session status is merged (even with open PR state)", () => { + const pr = makePR({ state: "merged" }); + const session = makeSession({ status: "merged", activity: "idle", pr }); + expect(getAttentionLevel(session)).toBe("done"); + }); + + it("returns done when session is killed", () => { + const session = makeSession({ status: "killed", activity: "exited", pr: null }); + expect(getAttentionLevel(session)).toBe("done"); + }); + + it("returns done when agent has exited with cleanup status", () => { + const session = makeSession({ status: "cleanup", activity: "exited", pr: null }); + expect(getAttentionLevel(session)).toBe("done"); + }); + }); +}); diff --git a/packages/web/src/__tests__/helpers.ts b/packages/web/src/__tests__/helpers.ts new file mode 100644 index 000000000..2ede98d75 --- /dev/null +++ b/packages/web/src/__tests__/helpers.ts @@ -0,0 +1,52 @@ +import type { DashboardSession, DashboardPR } from "@/lib/types"; + +/** Create a minimal mock session with overrides */ +export function makeSession(overrides: Partial = {}): DashboardSession { + return { + id: "test-1", + projectId: "my-app", + status: "working", + activity: "active", + branch: "feat/test", + issueId: "INT-100", + summary: "Test session", + createdAt: new Date().toISOString(), + lastActivityAt: new Date().toISOString(), + pr: null, + metadata: {}, + ...overrides, + }; +} + +/** Create a minimal mock PR with overrides */ +export function makePR(overrides: Partial = {}): DashboardPR { + return { + number: 100, + url: "https://github.com/acme/app/pull/100", + title: "feat: test PR", + owner: "acme", + repo: "app", + branch: "feat/test", + baseBranch: "main", + isDraft: false, + state: "open", + additions: 50, + deletions: 10, + ciStatus: "passing", + ciChecks: [ + { name: "build", status: "passed" }, + { name: "test", status: "passed" }, + ], + reviewDecision: "approved", + mergeability: { + mergeable: true, + ciPassing: true, + approved: true, + noConflicts: true, + blockers: [], + }, + unresolvedThreads: 0, + unresolvedComments: [], + ...overrides, + }; +} diff --git a/packages/web/src/__tests__/setup.ts b/packages/web/src/__tests__/setup.ts new file mode 100644 index 000000000..f149f27ae --- /dev/null +++ b/packages/web/src/__tests__/setup.ts @@ -0,0 +1 @@ +import "@testing-library/jest-dom/vitest"; diff --git a/packages/web/src/app/api/events/route.ts b/packages/web/src/app/api/events/route.ts new file mode 100644 index 000000000..b537b04f8 --- /dev/null +++ b/packages/web/src/app/api/events/route.ts @@ -0,0 +1,76 @@ +import { mockSessions } from "@/lib/mock-data"; +import { getAttentionLevel } from "@/lib/types"; + +export const dynamic = "force-dynamic"; + +/** + * GET /api/events — SSE stream for real-time lifecycle events + * + * Sends session state updates to connected clients. + * In production, this will be wired to the core EventBus. + */ +export async function GET(): Promise { + const encoder = new TextEncoder(); + let heartbeat: ReturnType | undefined; + let updates: ReturnType | undefined; + + const stream = new ReadableStream({ + start(controller) { + // Send initial state + const initialEvent = { + type: "snapshot", + sessions: mockSessions.map((s) => ({ + id: s.id, + status: s.status, + activity: s.activity, + attentionLevel: getAttentionLevel(s), + lastActivityAt: s.lastActivityAt, + })), + }; + controller.enqueue(encoder.encode(`data: ${JSON.stringify(initialEvent)}\n\n`)); + + // Send periodic heartbeat + heartbeat = setInterval(() => { + try { + controller.enqueue(encoder.encode(`: heartbeat\n\n`)); + } catch { + clearInterval(heartbeat); + clearInterval(updates); + } + }, 15000); + + // Simulate activity updates every 5 seconds + updates = setInterval(() => { + try { + if (mockSessions.length === 0) return; + const randomSession = mockSessions[Math.floor(Math.random() * mockSessions.length)]; + const event = { + type: "session.activity", + sessionId: randomSession.id, + activity: randomSession.activity, + status: randomSession.status, + attentionLevel: getAttentionLevel(randomSession), + timestamp: new Date().toISOString(), + }; + controller.enqueue(encoder.encode(`data: ${JSON.stringify(event)}\n\n`)); + } catch { + clearInterval(updates); + clearInterval(heartbeat); + } + }, 5000); + }, + cancel() { + clearInterval(heartbeat); + clearInterval(updates); + }, + }); + + return new Response(stream, { + headers: { + "Content-Type": "text/event-stream", + "Cache-Control": "no-cache", + Connection: "keep-alive", + "X-Accel-Buffering": "no", + }, + }); +} diff --git a/packages/web/src/app/api/prs/[id]/merge/route.ts b/packages/web/src/app/api/prs/[id]/merge/route.ts new file mode 100644 index 000000000..4069cb63a --- /dev/null +++ b/packages/web/src/app/api/prs/[id]/merge/route.ts @@ -0,0 +1,34 @@ +import { type NextRequest, NextResponse } from "next/server"; +import { mockSessions } from "@/lib/mock-data"; + +/** POST /api/prs/:id/merge — Merge a PR */ +export async function POST(_request: NextRequest, { params }: { params: Promise<{ id: string }> }) { + const { id } = await params; + if (!/^\d+$/.test(id)) { + return NextResponse.json({ error: "Invalid PR number" }, { status: 400 }); + } + const prNumber = Number(id); + + const session = mockSessions.find((s) => s.pr?.number === prNumber); + if (!session?.pr) { + return NextResponse.json({ error: "PR not found" }, { status: 404 }); + } + + if (session.pr.state !== "open") { + return NextResponse.json({ error: `PR is ${session.pr.state}, not open` }, { status: 409 }); + } + + if (session.pr.isDraft) { + return NextResponse.json({ error: "Cannot merge a draft PR" }, { status: 422 }); + } + + if (!session.pr.mergeability.mergeable) { + return NextResponse.json( + { error: "PR is not mergeable", blockers: session.pr.mergeability.blockers }, + { status: 422 }, + ); + } + + // TODO: wire to core SCM.mergePR() + return NextResponse.json({ ok: true, prNumber, method: "squash" }); +} diff --git a/packages/web/src/app/api/sessions/[id]/kill/route.ts b/packages/web/src/app/api/sessions/[id]/kill/route.ts new file mode 100644 index 000000000..333a61674 --- /dev/null +++ b/packages/web/src/app/api/sessions/[id]/kill/route.ts @@ -0,0 +1,20 @@ +import { type NextRequest, NextResponse } from "next/server"; +import { getMockSession } from "@/lib/mock-data"; +import { validateIdentifier } from "@/lib/validation"; + +/** POST /api/sessions/:id/kill — Kill a session */ +export async function POST(_request: NextRequest, { params }: { params: Promise<{ id: string }> }) { + const { id } = await params; + const idErr = validateIdentifier(id, "id"); + if (idErr) { + return NextResponse.json({ error: idErr }, { status: 400 }); + } + + const session = getMockSession(id); + if (!session) { + return NextResponse.json({ error: "Session not found" }, { status: 404 }); + } + + // TODO: wire to core SessionManager.kill() + return NextResponse.json({ ok: true, sessionId: id }); +} diff --git a/packages/web/src/app/api/sessions/[id]/restore/route.ts b/packages/web/src/app/api/sessions/[id]/restore/route.ts new file mode 100644 index 000000000..f7fe63ff4 --- /dev/null +++ b/packages/web/src/app/api/sessions/[id]/restore/route.ts @@ -0,0 +1,38 @@ +import { type NextRequest, NextResponse } from "next/server"; +import { getMockSession } from "@/lib/mock-data"; +import { validateIdentifier } from "@/lib/validation"; + +/** Terminal states that can be restored */ +const RESTORABLE_STATUSES = new Set(["killed", "cleanup"]); +const RESTORABLE_ACTIVITIES = new Set(["exited"]); + +/** Statuses that must never be restored (e.g. already merged) */ +const NON_RESTORABLE_STATUSES = new Set(["merged"]); + +/** POST /api/sessions/:id/restore — Restore a terminated session */ +export async function POST(_request: NextRequest, { params }: { params: Promise<{ id: string }> }) { + const { id } = await params; + const idErr = validateIdentifier(id, "id"); + if (idErr) { + return NextResponse.json({ error: idErr }, { status: 400 }); + } + + const session = getMockSession(id); + if (!session) { + return NextResponse.json({ error: "Session not found" }, { status: 404 }); + } + + if (NON_RESTORABLE_STATUSES.has(session.status)) { + return NextResponse.json({ error: "Cannot restore a merged session" }, { status: 409 }); + } + + const isTerminal = + RESTORABLE_STATUSES.has(session.status) || RESTORABLE_ACTIVITIES.has(session.activity); + + if (!isTerminal) { + return NextResponse.json({ error: "Session is not in a terminal state" }, { status: 409 }); + } + + // TODO: wire to core SessionManager.restore() + return NextResponse.json({ ok: true, sessionId: id }); +} diff --git a/packages/web/src/app/api/sessions/[id]/send/route.ts b/packages/web/src/app/api/sessions/[id]/send/route.ts new file mode 100644 index 000000000..9eb7db6db --- /dev/null +++ b/packages/web/src/app/api/sessions/[id]/send/route.ts @@ -0,0 +1,39 @@ +import { type NextRequest, NextResponse } from "next/server"; +import { getMockSession } from "@/lib/mock-data"; +import { validateIdentifier, validateString, stripControlChars } from "@/lib/validation"; + +const MAX_MESSAGE_LENGTH = 10_000; + +/** POST /api/sessions/:id/send — Send a message to a session */ +export async function POST(request: NextRequest, { params }: { params: Promise<{ id: string }> }) { + const { id } = await params; + const idErr = validateIdentifier(id, "id"); + if (idErr) { + return NextResponse.json({ error: idErr }, { status: 400 }); + } + + const session = getMockSession(id); + if (!session) { + return NextResponse.json({ error: "Session not found" }, { status: 404 }); + } + + const body = (await request.json().catch(() => null)) as Record | null; + const messageErr = validateString(body?.message, "message", MAX_MESSAGE_LENGTH); + if (messageErr) { + return NextResponse.json({ error: messageErr }, { status: 400 }); + } + + // Strip control characters to prevent injection when passed to shell-based runtimes + const message = stripControlChars(String(body?.message ?? "")); + + // Re-validate after stripping — a control-char-only message becomes empty + if (message.trim().length === 0) { + return NextResponse.json( + { error: "message must not be empty after sanitization" }, + { status: 400 }, + ); + } + + // TODO: wire to core SessionManager.send() + return NextResponse.json({ ok: true, sessionId: id, message }); +} diff --git a/packages/web/src/app/api/sessions/route.ts b/packages/web/src/app/api/sessions/route.ts new file mode 100644 index 000000000..7f5cde601 --- /dev/null +++ b/packages/web/src/app/api/sessions/route.ts @@ -0,0 +1,10 @@ +import { NextResponse } from "next/server"; +import { mockSessions, getMockStats } from "@/lib/mock-data"; + +/** GET /api/sessions — List all sessions with full state */ +export async function GET() { + return NextResponse.json({ + sessions: mockSessions, + stats: getMockStats(), + }); +} diff --git a/packages/web/src/app/api/spawn/route.ts b/packages/web/src/app/api/spawn/route.ts new file mode 100644 index 000000000..787490150 --- /dev/null +++ b/packages/web/src/app/api/spawn/route.ts @@ -0,0 +1,39 @@ +import { type NextRequest, NextResponse } from "next/server"; +import { validateIdentifier } from "@/lib/validation"; + +/** POST /api/spawn — Spawn a new session */ +export async function POST(request: NextRequest) { + const body = (await request.json().catch(() => null)) as Record | null; + if (!body) { + return NextResponse.json({ error: "Invalid JSON body" }, { status: 400 }); + } + + const projectErr = validateIdentifier(body.projectId, "projectId"); + if (projectErr) { + return NextResponse.json({ error: projectErr }, { status: 400 }); + } + + if (body.issueId !== undefined && body.issueId !== null) { + const issueErr = validateIdentifier(body.issueId, "issueId"); + if (issueErr) { + return NextResponse.json({ error: issueErr }, { status: 400 }); + } + } + + // TODO: wire to core SessionManager.spawn() + const mockSession = { + id: `session-${Date.now()}`, + projectId: body.projectId as string, + issueId: (body.issueId as string) ?? null, + status: "spawning", + activity: "active", + branch: null, + summary: `Spawning session for ${(body.issueId as string) ?? body.projectId}`, + createdAt: new Date().toISOString(), + lastActivityAt: new Date().toISOString(), + pr: null, + metadata: {}, + }; + + return NextResponse.json({ session: mockSession }, { status: 201 }); +} diff --git a/packages/web/src/app/globals.css b/packages/web/src/app/globals.css new file mode 100644 index 000000000..f17157b3f --- /dev/null +++ b/packages/web/src/app/globals.css @@ -0,0 +1,46 @@ +@import "tailwindcss"; + +@theme { + --color-bg-primary: #0d1117; + --color-bg-secondary: #161b22; + --color-bg-tertiary: #1c2128; + --color-border-default: #30363d; + --color-border-muted: #21262d; + --color-border-emphasis: #484f58; + --color-text-primary: #e6edf3; + --color-text-secondary: #7d8590; + --color-text-muted: #484f58; + --color-accent-blue: #58a6ff; + --color-accent-purple: #bc8cff; + --color-accent-green: #3fb950; + --color-accent-yellow: #d29922; + --color-accent-orange: #d18616; + --color-accent-red: #f85149; + --color-accent-violet: #a371f7; + --font-mono: "SF Mono", "Menlo", "Consolas", monospace; +} + +body { + font-family: -apple-system, BlinkMacSystemFont, "SF Pro", system-ui, sans-serif; + background: var(--color-bg-primary); + color: var(--color-text-primary); + min-height: 100vh; +} + +a { + color: var(--color-accent-blue); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} + +@keyframes pulse { + 0%, + 100% { + opacity: 1; + } + 50% { + opacity: 0.4; + } +} diff --git a/packages/web/src/app/layout.tsx b/packages/web/src/app/layout.tsx index a095d6d31..a5f4369a5 100644 --- a/packages/web/src/app/layout.tsx +++ b/packages/web/src/app/layout.tsx @@ -1,8 +1,17 @@ -// Web dashboard layout — to be implemented +import type { Metadata } from "next"; +import "./globals.css"; + +export const metadata: Metadata = { + title: "Agent Orchestrator", + description: "Dashboard for managing parallel AI coding agents", +}; + export default function RootLayout({ children }: { children: React.ReactNode }) { return ( - - {children} + + + {children} + ); } diff --git a/packages/web/src/app/page.tsx b/packages/web/src/app/page.tsx index 2080bb04c..37adc554a 100644 --- a/packages/web/src/app/page.tsx +++ b/packages/web/src/app/page.tsx @@ -1,4 +1,6 @@ -// Dashboard home — to be implemented +import { Dashboard } from "@/components/Dashboard"; +import { mockSessions, getMockStats } from "@/lib/mock-data"; + export default function Home() { - return
    Agent Orchestrator Dashboard
    ; + return ; } diff --git a/packages/web/src/app/sessions/[id]/page.tsx b/packages/web/src/app/sessions/[id]/page.tsx new file mode 100644 index 000000000..9105b456c --- /dev/null +++ b/packages/web/src/app/sessions/[id]/page.tsx @@ -0,0 +1,18 @@ +import { notFound } from "next/navigation"; +import { getMockSession } from "@/lib/mock-data"; +import { SessionDetail } from "@/components/SessionDetail"; + +interface Props { + params: Promise<{ id: string }>; +} + +export default async function SessionPage({ params }: Props) { + const { id } = await params; + const session = getMockSession(id); + + if (!session) { + notFound(); + } + + return ; +} diff --git a/packages/web/src/components/AttentionZone.tsx b/packages/web/src/components/AttentionZone.tsx new file mode 100644 index 000000000..ba0a2b66c --- /dev/null +++ b/packages/web/src/components/AttentionZone.tsx @@ -0,0 +1,119 @@ +"use client"; + +import { useState } from "react"; +import type { DashboardSession, AttentionLevel } from "@/lib/types"; +import { SessionCard } from "./SessionCard"; + +interface AttentionZoneProps { + level: AttentionLevel; + sessions: DashboardSession[]; + onSend?: (sessionId: string, message: string) => void; + onKill?: (sessionId: string) => void; + onMerge?: (prNumber: number) => void; + onRestore?: (sessionId: string) => void; +} + +const zoneConfig: Record< + AttentionLevel, + { + label: string; + description: string; + color: string; + defaultCollapsed: boolean; + } +> = { + merge: { + label: "MERGE", + description: "PRs ready to merge", + color: "var(--color-accent-green)", + defaultCollapsed: false, + }, + respond: { + label: "RESPOND", + description: "Agents waiting for your input", + color: "var(--color-accent-red)", + defaultCollapsed: false, + }, + review: { + label: "REVIEW", + description: "CI failures, changes requested, conflicts", + color: "var(--color-accent-orange)", + defaultCollapsed: false, + }, + pending: { + label: "PENDING", + description: "Waiting on reviewer or CI", + color: "var(--color-accent-yellow)", + defaultCollapsed: false, + }, + working: { + label: "WORKING", + description: "Agents working normally", + color: "var(--color-accent-blue)", + defaultCollapsed: true, + }, + done: { + label: "DONE", + description: "Merged or terminated", + color: "var(--color-text-muted)", + defaultCollapsed: true, + }, +}; + +export function AttentionZone({ + level, + sessions, + onSend, + onKill, + onMerge, + onRestore, +}: AttentionZoneProps) { + const config = zoneConfig[level]; + const [collapsed, setCollapsed] = useState(config.defaultCollapsed); + + if (sessions.length === 0) return null; + + return ( +
    + + + {!collapsed && ( +
    + {sessions.map((session) => ( + + ))} +
    + )} +
    + ); +} diff --git a/packages/web/src/components/CIBadge.tsx b/packages/web/src/components/CIBadge.tsx new file mode 100644 index 000000000..e8a056b9f --- /dev/null +++ b/packages/web/src/components/CIBadge.tsx @@ -0,0 +1,176 @@ +"use client"; + +import type { CIStatus, DashboardCICheck } from "@/lib/types"; + +interface CIBadgeProps { + status: CIStatus; + checks?: DashboardCICheck[]; + compact?: boolean; +} + +const statusConfig: Record = { + passing: { + label: "CI passing", + className: "bg-[rgba(63,185,80,0.1)] text-[var(--color-accent-green)]", + icon: "\u2713", + }, + failing: { + label: "CI failing", + className: "bg-[rgba(248,81,73,0.15)] text-[var(--color-accent-red)]", + icon: "\u2717", + }, + pending: { + label: "CI pending", + className: "bg-[rgba(210,153,34,0.1)] text-[var(--color-accent-yellow)]", + icon: "\u25CF", + }, + none: { + label: "\u2014", + className: "text-[var(--color-text-muted)]", + icon: "", + }, +}; + +export function CIBadge({ status, checks, compact }: CIBadgeProps) { + const config = statusConfig[status]; + const failedCount = checks?.filter((c) => c.status === "failed").length ?? 0; + + if (status === "none") { + return ; + } + + const label = + status === "failing" && failedCount > 0 + ? `${failedCount} check${failedCount > 1 ? "s" : ""} failing` + : config.label; + + return ( + + {!compact && {config.icon}} + {label} + + ); +} + +interface CICheckListProps { + checks: DashboardCICheck[]; + /** "vertical" (default): stacked list. "inline": horizontal wrap. "expanded": stacked with linked names. */ + layout?: "vertical" | "inline" | "expanded"; +} + +export const checkStatusIcon: Record = { + passed: { icon: "\u2713", color: "var(--color-accent-green)" }, + failed: { icon: "\u2717", color: "var(--color-accent-red)" }, + running: { icon: "\u25CF", color: "var(--color-accent-yellow)" }, + pending: { icon: "\u25CB", color: "var(--color-text-muted)" }, + skipped: { icon: "\u25CB", color: "var(--color-text-muted)" }, +}; + +/** Sort order for CI checks: failures first, then running, pending, passed, skipped. */ +export const ciCheckSortOrder: Record = { + failed: 0, + running: 1, + pending: 2, + passed: 3, + skipped: 4, +}; + +export function CICheckList({ checks, layout = "vertical" }: CICheckListProps) { + const sorted = [...checks].sort((a, b) => ciCheckSortOrder[a.status] - ciCheckSortOrder[b.status]); + + if (layout === "inline") { + return ( +
    + ); + } + + if (layout === "expanded") { + return ( +
    + {sorted.map((check) => { + const { icon, color } = checkStatusIcon[check.status]; + const inner = ( + + {icon} + {check.name} + + ); + return ( +
    + {check.url ? ( + + {inner} + + ) : ( + inner + )} + {check.url && ( + + view + + )} +
    + ); + })} +
    + ); + } + + return ( +
    + {sorted.map((check) => { + const { icon, color } = checkStatusIcon[check.status]; + return ( +
    + + {icon} + + + {check.name} + + {check.url && ( + + view + + )} +
    + ); + })} +
    + ); +} diff --git a/packages/web/src/components/Dashboard.tsx b/packages/web/src/components/Dashboard.tsx new file mode 100644 index 000000000..0b9aeecb6 --- /dev/null +++ b/packages/web/src/components/Dashboard.tsx @@ -0,0 +1,191 @@ +"use client"; + +import { useMemo, useState, useEffect } from "react"; +import { + type DashboardSession, + type DashboardStats, + type DashboardPR, + type AttentionLevel, + getAttentionLevel, +} from "@/lib/types"; +import { AttentionZone } from "./AttentionZone"; +import { PRTableRow } from "./PRStatus"; + +interface DashboardProps { + sessions: DashboardSession[]; + stats: DashboardStats; +} + +export function Dashboard({ sessions, stats }: DashboardProps) { + const grouped = useMemo(() => { + const zones: Record = { + merge: [], + respond: [], + review: [], + pending: [], + working: [], + done: [], + }; + for (const session of sessions) { + zones[getAttentionLevel(session)].push(session); + } + return zones; + }, [sessions]); + + const openPRs = useMemo(() => { + return sessions + .filter((s): s is DashboardSession & { pr: DashboardPR } => s.pr?.state === "open") + .map((s) => s.pr) + .sort((a, b) => mergeScore(a) - mergeScore(b)); + }, [sessions]); + + const handleSend = async (sessionId: string, message: string) => { + const res = await fetch(`/api/sessions/${encodeURIComponent(sessionId)}/send`, { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ message }), + }); + if (!res.ok) { + console.error(`Failed to send message to ${sessionId}:`, await res.text()); + } + }; + + const handleKill = async (sessionId: string) => { + if (!confirm(`Kill session ${sessionId}?`)) return; + const res = await fetch(`/api/sessions/${encodeURIComponent(sessionId)}/kill`, { + method: "POST", + }); + if (!res.ok) { + console.error(`Failed to kill ${sessionId}:`, await res.text()); + } + }; + + const handleMerge = async (prNumber: number) => { + if (!confirm(`Merge PR #${prNumber}?`)) return; + const res = await fetch(`/api/prs/${prNumber}/merge`, { method: "POST" }); + if (!res.ok) { + console.error(`Failed to merge PR #${prNumber}:`, await res.text()); + } + }; + + const handleRestore = async (sessionId: string) => { + if (!confirm(`Restore session ${sessionId}?`)) return; + const res = await fetch(`/api/sessions/${encodeURIComponent(sessionId)}/restore`, { + method: "POST", + }); + if (!res.ok) { + console.error(`Failed to restore ${sessionId}:`, await res.text()); + } + }; + + return ( +
    + {/* Header */} +
    +

    + Agent Orchestrator +

    + +
    + + {/* Stats bar */} +
    + + + + +
    + + {/* Attention zones */} +
    +

    + Sessions +

    + {(["merge", "respond", "review", "pending", "working", "done"] as AttentionLevel[]).map((level) => ( + + ))} +
    + + {/* PR Table */} + {openPRs.length > 0 && ( +
    +

    + Pull Requests +

    +
    + + + + + + + + + + + + + {openPRs.map((pr) => ( + + ))} + +
    + PR + + Title + + Size + + CI + + Review + + Unresolved +
    +
    +
    + )} +
    + ); +} + +/** Renders timestamp client-side only to avoid hydration mismatch. */ +function ClientTimestamp() { + const [time, setTime] = useState(""); + useEffect(() => { + setTime(new Date().toLocaleString()); + }, []); + return {time}; +} + +function Stat({ value, label, color }: { value: number; label: string; color: string }) { + return ( +
    + + {value} + + {label} +
    + ); +} + +function mergeScore( + pr: Pick, +): number { + let score = 0; + if (!pr.mergeability.noConflicts) score += 40; + if (pr.ciStatus === "failing") score += 30; + else if (pr.ciStatus === "pending") score += 5; + if (pr.reviewDecision === "changes_requested") score += 20; + else if (pr.reviewDecision !== "approved") score += 10; + score += pr.unresolvedThreads * 5; + return score; +} diff --git a/packages/web/src/components/PRStatus.tsx b/packages/web/src/components/PRStatus.tsx new file mode 100644 index 000000000..662396eed --- /dev/null +++ b/packages/web/src/components/PRStatus.tsx @@ -0,0 +1,112 @@ +"use client"; + +import type { DashboardPR } from "@/lib/types"; +import { CIBadge } from "./CIBadge"; + +function getSizeLabel(additions: number, deletions: number): string { + const size = additions + deletions; + return size > 1000 ? "XL" : size > 500 ? "L" : size > 200 ? "M" : size > 50 ? "S" : "XS"; +} + +interface PRStatusProps { + pr: DashboardPR; +} + +export function PRStatus({ pr }: PRStatusProps) { + const sizeLabel = getSizeLabel(pr.additions, pr.deletions); + + return ( +
    + {/* PR number */} + e.stopPropagation()} + > + #{pr.number} + + + {/* Size */} + + +{pr.additions} -{pr.deletions} {sizeLabel} + + + {/* Merged badge */} + {pr.state === "merged" && ( + + merged + + )} + + {/* Draft badge */} + {pr.isDraft && pr.state === "open" && ( + + draft + + )} + + {/* CI status (only for open PRs) */} + {pr.state === "open" && !pr.isDraft && } + + {/* Review decision (only for open PRs) */} + {pr.state === "open" && pr.reviewDecision === "approved" && ( + + approved + + )} +
    + ); +} + +interface PRTableRowProps { + pr: DashboardPR; +} + +export function PRTableRow({ pr }: PRTableRowProps) { + const sizeLabel = getSizeLabel(pr.additions, pr.deletions); + + const reviewLabel = + pr.isDraft + ? "draft" + : pr.reviewDecision === "approved" + ? "approved" + : pr.reviewDecision === "changes_requested" + ? "changes requested" + : "needs review"; + + const reviewClass = + pr.isDraft + ? "text-[var(--color-text-muted)]" + : pr.reviewDecision === "approved" + ? "text-[var(--color-accent-green)]" + : pr.reviewDecision === "changes_requested" + ? "text-[var(--color-accent-red)]" + : "text-[var(--color-accent-yellow)]"; + + return ( + + + + #{pr.number} + + + {pr.title} + + +{pr.additions}{" "} + -{pr.deletions}{" "} + {sizeLabel} + + + + + {reviewLabel} + 0 ? "text-[var(--color-accent-red)]" : "text-[var(--color-border-default)]"}`} + > + {pr.unresolvedThreads} + + + ); +} diff --git a/packages/web/src/components/SessionCard.tsx b/packages/web/src/components/SessionCard.tsx new file mode 100644 index 000000000..6f4bab433 --- /dev/null +++ b/packages/web/src/components/SessionCard.tsx @@ -0,0 +1,369 @@ +"use client"; + +import { useState, useEffect, useRef } from "react"; +import { type DashboardSession, type AttentionLevel, getAttentionLevel } from "@/lib/types"; +import { cn } from "@/lib/cn"; +import { PRStatus } from "./PRStatus"; +import { CICheckList } from "./CIBadge"; + +interface SessionCardProps { + session: DashboardSession; + onSend?: (sessionId: string, message: string) => void; + onKill?: (sessionId: string) => void; + onMerge?: (prNumber: number) => void; + onRestore?: (sessionId: string) => void; +} + +const activityIcon: Record = { + active: "\u26A1", + idle: "\uD83D\uDCA4", + waiting_input: "\u2753", + blocked: "\uD83D\uDEA7", + exited: "\uD83D\uDC80", +}; + +const borderColorByLevel: Record = { + merge: "border-l-[var(--color-accent-green)]", + respond: "border-l-[var(--color-accent-red)]", + review: "border-l-[var(--color-accent-orange)]", + pending: "border-l-[var(--color-accent-yellow)]", + working: "border-l-[var(--color-accent-blue)]", + done: "border-l-[var(--color-border-default)]", +}; + +export function SessionCard({ session, onSend, onKill, onMerge, onRestore }: SessionCardProps) { + const [expanded, setExpanded] = useState(false); + const [sendingAction, setSendingAction] = useState(null); + const timerRef = useRef | null>(null); + const level = getAttentionLevel(session); + const pr = session.pr; + + useEffect(() => { + return () => { + if (timerRef.current) clearTimeout(timerRef.current); + }; + }, []); + + const handleAction = async (action: string, message: string) => { + setSendingAction(action); + onSend?.(session.id, message); + if (timerRef.current) clearTimeout(timerRef.current); + timerRef.current = setTimeout(() => setSendingAction(null), 2000); + }; + + const alerts = getAlerts(session); + const isReadyToMerge = pr?.mergeability.mergeable && pr.state === "open"; + const isRestorable = + (session.status === "killed" || + session.status === "cleanup" || + session.activity === "exited") && + session.status !== "merged"; + + return ( +
    { + if ((e.target as HTMLElement).closest("a, button, textarea")) return; + setExpanded(!expanded); + }} + > + {/* Top row */} +
    + + {activityIcon[session.activity] ?? "\u2753"} + + + {session.id} + + + {pr?.title ?? session.summary ?? session.status} + + {isRestorable && ( + + )} + e.stopPropagation()} + className="shrink-0 rounded-md border border-[var(--color-border-default)] px-2.5 py-0.5 text-[11px] text-[var(--color-text-secondary)] transition-colors hover:border-[var(--color-accent-blue)] hover:text-[var(--color-accent-blue)]" + > + terminal + +
    + + {/* Meta row: branch + PR pills */} +
    + {session.branch && ( + + {session.branch} + + )} + {session.branch && pr && ( + · + )} + {pr && } +
    + + {/* Alert tags */} + {(alerts.length > 0 || isReadyToMerge) && ( +
    + {isReadyToMerge && pr ? ( + + ) : ( + alerts.map((alert) => ( + + e.stopPropagation()} + className={cn( + "inline-flex items-center gap-1.5 rounded-md border px-3 py-0.5 text-xs font-bold hover:brightness-125", + alert.className, + )} + > + {alert.count !== undefined && ( + {alert.count} + )} + {alert.label} + + {alert.actionLabel && session.activity !== "active" && ( + + )} + + )) + )} +
    + )} + + {/* Expandable detail panel */} + {expanded && ( +
    + {session.summary && pr?.title && session.summary !== pr.title && ( + +

    + {session.summary} +

    +
    + )} + + {session.issueId && ( + + {session.issueId} + + )} + + {pr && pr.ciChecks.length > 0 && ( + + + + )} + + {pr && pr.unresolvedComments.length > 0 && ( + +
    + {pr.unresolvedComments.map((c) => ( +
    + + {"\u25CF"} + + + {c.path} + + + go to comment + +
    + ))} +
    +
    + )} + + {pr && ( + +

    + + {pr.title} + +
    + +{pr.additions}{" "} + -{pr.deletions} + {" \u00B7 "}mergeable: {pr.mergeability.mergeable ? "yes" : "no"} + {" \u00B7 "}review: {pr.reviewDecision} +

    +
    + )} + + {!pr && ( +

    + No PR associated with this session. +

    + )} + +
    + {isRestorable && ( + + )} + {!isRestorable && session.status !== "merged" && ( + + )} +
    +
    + )} +
    + ); +} + +function DetailSection({ label, children }: { label: string; children: React.ReactNode }) { + return ( +
    +
    + {label} +
    + {children} +
    + ); +} + +interface Alert { + key: string; + label: string; + className: string; + url: string; + count?: number; + actionLabel?: string; + actionMessage?: string; +} + +function getAlerts(session: DashboardSession): Alert[] { + const pr = session.pr; + if (!pr || pr.state !== "open") return []; + + const alerts: Alert[] = []; + + // CI failing + if (pr.ciStatus === "failing") { + const failedCheck = pr.ciChecks.find((c) => c.status === "failed"); + const failCount = pr.ciChecks.filter((c) => c.status === "failed").length; + alerts.push({ + key: "ci-fail", + label: `${failCount} CI check${failCount > 1 ? "s" : ""} failing`, + className: + "border-[rgba(248,81,73,0.3)] bg-[rgba(248,81,73,0.15)] text-[var(--color-accent-red)]", + url: failedCheck?.url ?? pr.url + "/checks", + actionLabel: "ask to fix CI", + actionMessage: `Please fix the failing CI checks on ${pr.url}`, + }); + } + + // Changes requested + if (pr.reviewDecision === "changes_requested") { + alerts.push({ + key: "changes", + label: "changes requested", + className: + "border-[rgba(248,81,73,0.3)] bg-[rgba(248,81,73,0.15)] text-[var(--color-accent-red)]", + url: pr.url, + }); + } else if ( + !pr.isDraft && + (pr.reviewDecision === "pending" || pr.reviewDecision === "none") + ) { + alerts.push({ + key: "review", + label: "needs review", + className: + "border-[rgba(210,153,34,0.3)] bg-[rgba(210,153,34,0.15)] text-[var(--color-accent-yellow)]", + url: pr.url, + actionLabel: "ask to post for review", + actionMessage: `Post ${pr.url} on slack asking for a review.`, + }); + } + + // Merge conflict + if (!pr.mergeability.noConflicts) { + alerts.push({ + key: "conflict", + label: "merge conflict", + className: + "border-[rgba(248,81,73,0.3)] bg-[rgba(248,81,73,0.15)] text-[var(--color-accent-red)]", + url: pr.url, + actionLabel: "ask to fix conflicts", + actionMessage: `Please resolve the merge conflicts on ${pr.url} by rebasing on the base branch`, + }); + } + + // Unresolved comments + if (pr.unresolvedThreads > 0) { + const firstUrl = pr.unresolvedComments[0]?.url ?? pr.url + "/files"; + alerts.push({ + key: "comments", + label: "unresolved comments", + count: pr.unresolvedThreads, + className: + "border-[rgba(248,81,73,0.3)] bg-[rgba(248,81,73,0.15)] text-[var(--color-accent-red)]", + url: firstUrl, + actionLabel: "ask to resolve", + actionMessage: `Please address all unresolved review comments on ${pr.url}`, + }); + } + + return alerts; +} diff --git a/packages/web/src/components/SessionDetail.tsx b/packages/web/src/components/SessionDetail.tsx new file mode 100644 index 000000000..70df53e54 --- /dev/null +++ b/packages/web/src/components/SessionDetail.tsx @@ -0,0 +1,480 @@ +"use client"; + +import { useState, useEffect } from "react"; +import { + type DashboardSession, + type DashboardPR, + getAttentionLevel, +} from "@/lib/types"; +import { CICheckList } from "./CIBadge"; +import { Terminal } from "./Terminal"; + +interface SessionDetailProps { + session: DashboardSession; +} + +// ── Helpers ────────────────────────────────────────────────────────── + +const activityLabel: Record = { + active: { label: "Active", color: "var(--color-accent-green)" }, + idle: { label: "Idle", color: "var(--color-text-muted)" }, + waiting_input: { label: "Waiting for input", color: "var(--color-accent-yellow)" }, + blocked: { label: "Blocked", color: "var(--color-accent-red)" }, + exited: { label: "Exited", color: "var(--color-accent-red)" }, +}; + +function levelColor(level: string): string { + switch (level) { + case "merge": + return "var(--color-accent-green)"; + case "respond": + return "var(--color-accent-red)"; + case "review": + return "var(--color-accent-orange)"; + case "pending": + return "var(--color-accent-yellow)"; + case "working": + return "var(--color-accent-blue)"; + default: + return "var(--color-text-muted)"; + } +} + +/** Converts snake_case status enum to Title Case display string. */ +function humanizeStatus(status: string): string { + return status + .replace(/_/g, " ") + .replace(/\bci\b/gi, "CI") + .replace(/\bpr\b/gi, "PR") + .replace(/\b\w/g, (c) => c.toUpperCase()); +} + +/** Converts ISO date string to relative time like "3h ago", "2m ago". Client-side only. */ +function relativeTime(iso: string): string { + const diff = Date.now() - new Date(iso).getTime(); + const seconds = Math.floor(diff / 1000); + if (seconds < 60) return "just now"; + const minutes = Math.floor(seconds / 60); + if (minutes < 60) return `${minutes}m ago`; + const hours = Math.floor(minutes / 60); + if (hours < 24) return `${hours}h ago`; + const days = Math.floor(hours / 24); + return `${days}d ago`; +} + +/** Builds a GitHub branch URL from PR owner/repo/branch. */ +function buildGitHubBranchUrl(pr: DashboardPR): string { + return `https://github.com/${pr.owner}/${pr.repo}/tree/${pr.branch}`; +} + +/** Builds a GitHub repo URL from PR owner/repo. */ +function buildGitHubRepoUrl(pr: DashboardPR): string { + return `https://github.com/${pr.owner}/${pr.repo}`; +} + +// ── Main Component ─────────────────────────────────────────────────── + +export function SessionDetail({ session }: SessionDetailProps) { + const pr = session.pr; + const level = getAttentionLevel(session); + const activity = activityLabel[session.activity] ?? { + label: session.activity, + color: "var(--color-text-muted)", + }; + + return ( +
    + {/* Nav bar */} + + +
    + {/* ── Header ─────────────────────────────────────────────── */} +
    + {/* Session ID + badges */} +
    +

    {session.id}

    + + {activity.label} + + + {level} + +
    + + {/* Summary */} + {session.summary && ( +

    {session.summary}

    + )} + + {/* Meta chips: project · branch · issue */} +
    + {pr ? ( + + {session.projectId} + + ) : ( + + {session.projectId} + + )} + + {session.branch && ( + <> + · + {pr ? ( + + {session.branch} + + ) : ( + + {session.branch} + + )} + + )} + + {session.issueId && ( + <> + · + + {session.issueId} + + + )} +
    + + {/* Status · timestamps */} + +
    + + {/* ── PR Card ────────────────────────────────────────────── */} + {pr && } + + {/* ── Terminal ───────────────────────────────────────────── */} +
    +

    + Terminal +

    + +
    +
    +
    + ); +} + +// ── Client-side timestamps (avoids hydration mismatch) ─────────────── + +function ClientTimestamps({ + status, + createdAt, + lastActivityAt, +}: { + status: string; + createdAt: string; + lastActivityAt: string; +}) { + const [created, setCreated] = useState(null); + const [lastActive, setLastActive] = useState(null); + + useEffect(() => { + setCreated(relativeTime(createdAt)); + setLastActive(relativeTime(lastActivityAt)); + }, [createdAt, lastActivityAt]); + + return ( +
    + {humanizeStatus(status)} + {created && ( + <> + · + Created {created} + + )} + {lastActive && ( + <> + · + Active {lastActive} + + )} +
    + ); +} + +// ── PR Card ────────────────────────────────────────────────────────── + +function PRCard({ pr }: { pr: DashboardPR }) { + const allGreen = + pr.mergeability.mergeable && + pr.mergeability.ciPassing && + pr.mergeability.approved && + pr.mergeability.noConflicts; + + const failedChecks = pr.ciChecks.filter((c) => c.status === "failed"); + const hasFailures = failedChecks.length > 0; + + return ( +
    + {/* Title row */} +
    + + PR #{pr.number}: {pr.title} + + + {/* Stats row */} +
    + + +{pr.additions}{" "} + -{pr.deletions} + + + {pr.isDraft && ( + <> + · + Draft + + )} + + {pr.state === "merged" && ( + <> + · + Merged + + )} + + {pr.state === "open" && ( + <> + · + + · + + + )} +
    +
    + + {/* Body */} +
    + {/* Ready to merge or issues list */} + {allGreen ? ( +
    + {"\u2713"} + Ready to merge +
    + ) : ( + + )} + + {/* CI Checks — inline row */} + {pr.ciChecks.length > 0 && ( +
    + +
    + )} + + {/* Unresolved Comments */} + {pr.unresolvedComments.length > 0 && ( +
    +

    + Unresolved Comments ({pr.unresolvedThreads}) +

    +
    + {pr.unresolvedComments.map((c) => ( +
    +
    + + {c.author} + + on + + {c.path} + + + view → + +
    +

    + {c.body} +

    +
    + ))} +
    +
    + )} +
    +
    + ); +} + +// ── Issues List (replaces merge readiness grid + blockers) ─────────── + +function IssuesList({ pr }: { pr: DashboardPR }) { + const issues: Array<{ icon: string; color: string; text: string }> = []; + + if (pr.ciStatus === "failing") { + const failCount = pr.ciChecks.filter((c) => c.status === "failed").length; + issues.push({ + icon: "\u2717", + color: "var(--color-accent-red)", + text: `CI failing \u2014 ${failCount} check${failCount !== 1 ? "s" : ""} failed`, + }); + } else if (pr.ciStatus === "pending") { + issues.push({ + icon: "\u25CF", + color: "var(--color-accent-yellow)", + text: "CI pending", + }); + } + + if (pr.reviewDecision === "changes_requested") { + issues.push({ + icon: "\u2717", + color: "var(--color-accent-red)", + text: "Changes requested", + }); + } else if (!pr.mergeability.approved) { + issues.push({ + icon: "\u25CB", + color: "var(--color-text-muted)", + text: "Not approved \u2014 awaiting reviewer", + }); + } + + if (!pr.mergeability.noConflicts) { + issues.push({ + icon: "\u2717", + color: "var(--color-accent-red)", + text: "Merge conflicts", + }); + } + + if (!pr.mergeability.mergeable && issues.length === 0) { + issues.push({ + icon: "\u25CB", + color: "var(--color-text-muted)", + text: "Not mergeable", + }); + } + + if (pr.unresolvedThreads > 0) { + issues.push({ + icon: "\u25CF", + color: "var(--color-accent-yellow)", + text: `${pr.unresolvedThreads} unresolved comment${pr.unresolvedThreads !== 1 ? "s" : ""}`, + }); + } + + if (pr.isDraft) { + issues.push({ + icon: "\u25CB", + color: "var(--color-text-muted)", + text: "Draft PR", + }); + } + + if (issues.length === 0) return null; + + return ( +
    +

    + Issues +

    + {issues.map((issue) => ( +
    + {issue.icon} + {issue.text} +
    + ))} +
    + ); +} + +// ── Inline status pills ────────────────────────────────────────────── + +function CIStatusInline({ status, failedCount }: { status: string; failedCount: number }) { + if (status === "passing") { + return {"\u2713"} CI passing; + } + if (status === "failing") { + return ( + + {"\u2717"} {failedCount} check{failedCount !== 1 ? "s" : ""} failing + + ); + } + if (status === "pending") { + return {"\u25CF"} CI pending; + } + return null; +} + +function ReviewStatusInline({ decision }: { decision: string }) { + if (decision === "approved") { + return {"\u2713"} Approved; + } + if (decision === "changes_requested") { + return ( + {"\u2717"} Changes requested + ); + } + if (decision === "pending") { + return ( + + {"\u23F3"} Pending review + + ); + } + return No review; +} diff --git a/packages/web/src/components/Terminal.tsx b/packages/web/src/components/Terminal.tsx new file mode 100644 index 000000000..49f58e1cc --- /dev/null +++ b/packages/web/src/components/Terminal.tsx @@ -0,0 +1,55 @@ +"use client"; + +import { useState } from "react"; +import { cn } from "@/lib/cn"; + +interface TerminalProps { + sessionId: string; +} + +/** + * Terminal embed placeholder. + * Future: integrate xterm.js via the terminal-web plugin. + */ +export function Terminal({ sessionId }: TerminalProps) { + const [fullscreen, setFullscreen] = useState(false); + + return ( +
    +
    +
    +
    +
    +
    +
    + + {sessionId} + + +
    +
    +
    +

    Terminal embed

    +

    + xterm.js integration coming soon +

    +
    +
    +
    + ); +} diff --git a/packages/web/src/lib/cn.ts b/packages/web/src/lib/cn.ts new file mode 100644 index 000000000..eccbc98da --- /dev/null +++ b/packages/web/src/lib/cn.ts @@ -0,0 +1,4 @@ +/** Concatenate class names, filtering out falsy values. */ +export function cn(...classes: (string | false | null | undefined)[]): string { + return classes.filter(Boolean).join(" "); +} diff --git a/packages/web/src/lib/mock-data.ts b/packages/web/src/lib/mock-data.ts new file mode 100644 index 000000000..b09e50d11 --- /dev/null +++ b/packages/web/src/lib/mock-data.ts @@ -0,0 +1,538 @@ +import type { DashboardSession, DashboardStats } from "./types"; + +/** + * Mock data for the dashboard. + * Covers all attention zones: urgent, action, warning, ok, done. + * + * TODO: Remove this file when wiring to real data sources. These fixtures + * are imported by API routes and pages, so they end up in the server bundle. + * Consider moving to __fixtures__/ or gating behind an env check once + * real SessionManager integration is in place. + */ + +const now = new Date(); +const ago = (minutes: number) => new Date(now.getTime() - minutes * 60000).toISOString(); + +export const mockSessions: DashboardSession[] = [ + // URGENT: needs human input — agent is blocked asking a question + { + id: "backend-3", + projectId: "my-app", + status: "needs_input", + activity: "waiting_input", + branch: "feat/INT-1280-auth-refactor", + issueId: "INT-1280", + summary: "Refactoring authentication to use JWT — blocked on key rotation strategy", + createdAt: ago(180), + lastActivityAt: ago(2), + pr: { + number: 421, + url: "https://github.com/acme/my-app/pull/421", + title: "feat: refactor auth to use JWT with key rotation", + owner: "acme", + repo: "my-app", + branch: "feat/INT-1280-auth-refactor", + baseBranch: "main", + isDraft: false, + state: "open", + additions: 342, + deletions: 187, + ciStatus: "passing", + ciChecks: [ + { name: "build", status: "passed", url: "https://github.com/acme/my-app/actions/runs/1" }, + { name: "test", status: "passed", url: "https://github.com/acme/my-app/actions/runs/2" }, + { name: "lint", status: "passed", url: "https://github.com/acme/my-app/actions/runs/3" }, + ], + reviewDecision: "pending", + mergeability: { + mergeable: false, + ciPassing: true, + approved: false, + noConflicts: true, + blockers: ["Needs review"], + }, + unresolvedThreads: 0, + unresolvedComments: [], + }, + metadata: {}, + }, + + // URGENT: CI failing + { + id: "backend-5", + projectId: "my-app", + status: "ci_failed", + activity: "idle", + branch: "feat/INT-1295-rate-limiting", + issueId: "INT-1295", + summary: "Adding rate limiting middleware — CI failing on integration tests", + createdAt: ago(120), + lastActivityAt: ago(15), + pr: { + number: 428, + url: "https://github.com/acme/my-app/pull/428", + title: "feat: add rate limiting middleware with Redis backend", + owner: "acme", + repo: "my-app", + branch: "feat/INT-1295-rate-limiting", + baseBranch: "main", + isDraft: false, + state: "open", + additions: 567, + deletions: 23, + ciStatus: "failing", + ciChecks: [ + { name: "build", status: "passed", url: "https://github.com/acme/my-app/actions/runs/10" }, + { + name: "unit-tests", + status: "passed", + url: "https://github.com/acme/my-app/actions/runs/11", + }, + { + name: "integration-tests", + status: "failed", + url: "https://github.com/acme/my-app/actions/runs/12", + }, + { name: "lint", status: "passed", url: "https://github.com/acme/my-app/actions/runs/13" }, + ], + reviewDecision: "none", + mergeability: { + mergeable: false, + ciPassing: false, + approved: false, + noConflicts: true, + blockers: ["CI checks failing", "Needs review"], + }, + unresolvedThreads: 0, + unresolvedComments: [], + }, + metadata: {}, + }, + + // URGENT: changes requested + unresolved comments + { + id: "frontend-2", + projectId: "my-app", + status: "changes_requested", + activity: "idle", + branch: "feat/INT-1301-search-ui", + issueId: "INT-1301", + summary: "Implementing search UI — changes requested by reviewer", + createdAt: ago(300), + lastActivityAt: ago(45), + pr: { + number: 415, + url: "https://github.com/acme/my-app/pull/415", + title: "feat: add full-text search with autocomplete", + owner: "acme", + repo: "my-app", + branch: "feat/INT-1301-search-ui", + baseBranch: "main", + isDraft: false, + state: "open", + additions: 891, + deletions: 156, + ciStatus: "passing", + ciChecks: [ + { name: "build", status: "passed" }, + { name: "test", status: "passed" }, + { name: "lint", status: "passed" }, + { name: "e2e", status: "passed" }, + ], + reviewDecision: "changes_requested", + mergeability: { + mergeable: false, + ciPassing: true, + approved: false, + noConflicts: true, + blockers: ["Changes requested"], + }, + unresolvedThreads: 3, + unresolvedComments: [ + { + url: "https://github.com/acme/my-app/pull/415#discussion_r1", + path: "src/components/Search.tsx", + author: "reviewer1", + body: "This should debounce the API calls", + }, + { + url: "https://github.com/acme/my-app/pull/415#discussion_r2", + path: "src/hooks/useSearch.ts", + author: "reviewer1", + body: "Missing error handling for network failures", + }, + { + url: "https://github.com/acme/my-app/pull/415#discussion_r3", + path: "src/components/SearchResults.tsx", + author: "reviewer2", + body: "Accessibility: needs aria-live region for results", + }, + ], + }, + metadata: {}, + }, + + // ACTION: ready to merge + { + id: "backend-7", + projectId: "my-app", + status: "mergeable", + activity: "idle", + branch: "feat/INT-1310-health-check", + issueId: "INT-1310", + summary: "Added health check endpoint with dependency status", + createdAt: ago(90), + lastActivityAt: ago(30), + pr: { + number: 432, + url: "https://github.com/acme/my-app/pull/432", + title: "feat: add /health endpoint with dependency checks", + owner: "acme", + repo: "my-app", + branch: "feat/INT-1310-health-check", + baseBranch: "main", + isDraft: false, + state: "open", + additions: 145, + deletions: 8, + ciStatus: "passing", + ciChecks: [ + { name: "build", status: "passed" }, + { name: "test", status: "passed" }, + { name: "lint", status: "passed" }, + ], + reviewDecision: "approved", + mergeability: { + mergeable: true, + ciPassing: true, + approved: true, + noConflicts: true, + blockers: [], + }, + unresolvedThreads: 0, + unresolvedComments: [], + }, + metadata: {}, + }, + + // ACTION: ready to merge (another one) + { + id: "frontend-4", + projectId: "my-app", + status: "mergeable", + activity: "idle", + branch: "fix/INT-1315-date-picker", + issueId: "INT-1315", + summary: "Fixed date picker timezone handling", + createdAt: ago(60), + lastActivityAt: ago(20), + pr: { + number: 435, + url: "https://github.com/acme/my-app/pull/435", + title: "fix: date picker timezone conversion for UTC users", + owner: "acme", + repo: "my-app", + branch: "fix/INT-1315-date-picker", + baseBranch: "main", + isDraft: false, + state: "open", + additions: 47, + deletions: 12, + ciStatus: "passing", + ciChecks: [ + { name: "build", status: "passed" }, + { name: "test", status: "passed" }, + { name: "lint", status: "passed" }, + ], + reviewDecision: "approved", + mergeability: { + mergeable: true, + ciPassing: true, + approved: true, + noConflicts: true, + blockers: [], + }, + unresolvedThreads: 0, + unresolvedComments: [], + }, + metadata: {}, + }, + + // WARNING: PR open, needs review + { + id: "backend-8", + projectId: "my-app", + status: "review_pending", + activity: "idle", + branch: "feat/INT-1318-websocket", + issueId: "INT-1318", + summary: "WebSocket support for real-time notifications", + createdAt: ago(240), + lastActivityAt: ago(60), + pr: { + number: 430, + url: "https://github.com/acme/my-app/pull/430", + title: "feat: WebSocket server for real-time push notifications", + owner: "acme", + repo: "my-app", + branch: "feat/INT-1318-websocket", + baseBranch: "main", + isDraft: false, + state: "open", + additions: 723, + deletions: 45, + ciStatus: "passing", + ciChecks: [ + { name: "build", status: "passed" }, + { name: "test", status: "passed" }, + { name: "lint", status: "passed" }, + { name: "integration-tests", status: "passed" }, + ], + reviewDecision: "pending", + mergeability: { + mergeable: false, + ciPassing: true, + approved: false, + noConflicts: true, + blockers: ["Needs review"], + }, + unresolvedThreads: 0, + unresolvedComments: [], + }, + metadata: {}, + }, + + // WARNING: CI pending + { + id: "frontend-5", + projectId: "my-app", + status: "pr_open", + activity: "idle", + branch: "feat/INT-1322-dark-mode", + issueId: "INT-1322", + summary: "Implementing dark mode theme toggle", + createdAt: ago(45), + lastActivityAt: ago(10), + pr: { + number: 438, + url: "https://github.com/acme/my-app/pull/438", + title: "feat: dark mode with system preference detection", + owner: "acme", + repo: "my-app", + branch: "feat/INT-1322-dark-mode", + baseBranch: "main", + isDraft: false, + state: "open", + additions: 312, + deletions: 89, + ciStatus: "pending", + ciChecks: [ + { name: "build", status: "running" }, + { name: "test", status: "pending" }, + { name: "lint", status: "passed" }, + ], + reviewDecision: "none", + mergeability: { + mergeable: false, + ciPassing: false, + approved: false, + noConflicts: true, + blockers: ["CI checks pending", "Needs review"], + }, + unresolvedThreads: 0, + unresolvedComments: [], + }, + metadata: {}, + }, + + // OK: actively working + { + id: "backend-9", + projectId: "my-app", + status: "working", + activity: "active", + branch: "feat/INT-1325-caching", + issueId: "INT-1325", + summary: "Implementing Redis caching layer for API responses", + createdAt: ago(30), + lastActivityAt: ago(0), + pr: null, + metadata: {}, + }, + + // OK: actively working with PR + { + id: "frontend-6", + projectId: "my-app", + status: "working", + activity: "active", + branch: "feat/INT-1328-notifications", + issueId: "INT-1328", + summary: "Building notification center component", + createdAt: ago(55), + lastActivityAt: ago(0), + pr: { + number: 440, + url: "https://github.com/acme/my-app/pull/440", + title: "feat: notification center with mark-as-read", + owner: "acme", + repo: "my-app", + branch: "feat/INT-1328-notifications", + baseBranch: "main", + isDraft: true, + state: "open", + additions: 234, + deletions: 0, + ciStatus: "pending", + ciChecks: [ + { name: "build", status: "running" }, + { name: "test", status: "pending" }, + ], + reviewDecision: "none", + mergeability: { + mergeable: false, + ciPassing: false, + approved: false, + noConflicts: true, + blockers: ["Draft PR", "CI pending"], + }, + unresolvedThreads: 0, + unresolvedComments: [], + }, + metadata: {}, + }, + + // OK: actively working — has merge conflict on PR + { + id: "backend-11", + projectId: "my-app", + status: "working", + activity: "active", + branch: "feat/INT-1335-email-templates", + issueId: "INT-1335", + summary: "Implementing email template engine with MJML", + createdAt: ago(100), + lastActivityAt: ago(1), + pr: { + number: 442, + url: "https://github.com/acme/my-app/pull/442", + title: "feat: email template engine with MJML support", + owner: "acme", + repo: "my-app", + branch: "feat/INT-1335-email-templates", + baseBranch: "main", + isDraft: false, + state: "open", + additions: 489, + deletions: 32, + ciStatus: "passing", + ciChecks: [ + { name: "build", status: "passed", url: "https://github.com/acme/my-app/actions/runs/20" }, + { name: "test", status: "passed", url: "https://github.com/acme/my-app/actions/runs/21" }, + { name: "lint", status: "passed", url: "https://github.com/acme/my-app/actions/runs/22" }, + ], + reviewDecision: "pending", + mergeability: { + mergeable: false, + ciPassing: true, + approved: false, + noConflicts: false, + blockers: ["Merge conflict", "Needs review"], + }, + unresolvedThreads: 0, + unresolvedComments: [], + }, + metadata: {}, + }, + + // OK: spawning + { + id: "backend-10", + projectId: "my-app", + status: "spawning", + activity: "active", + branch: null, + issueId: "INT-1330", + summary: "Setting up workspace for database migration task", + createdAt: ago(1), + lastActivityAt: ago(0), + pr: null, + metadata: {}, + }, + + // DONE: merged + { + id: "backend-1", + projectId: "my-app", + status: "merged", + activity: "exited", + branch: "feat/INT-1260-logging", + issueId: "INT-1260", + summary: "Structured logging with correlation IDs", + createdAt: ago(480), + lastActivityAt: ago(120), + pr: { + number: 410, + url: "https://github.com/acme/my-app/pull/410", + title: "feat: structured logging with request correlation", + owner: "acme", + repo: "my-app", + branch: "feat/INT-1260-logging", + baseBranch: "main", + isDraft: false, + state: "merged", + additions: 456, + deletions: 234, + ciStatus: "passing", + ciChecks: [ + { name: "build", status: "passed" }, + { name: "test", status: "passed" }, + ], + reviewDecision: "approved", + mergeability: { + mergeable: false, + ciPassing: true, + approved: true, + noConflicts: true, + blockers: [], + }, + unresolvedThreads: 0, + unresolvedComments: [], + }, + metadata: {}, + }, + + // DONE: killed + { + id: "frontend-1", + projectId: "my-app", + status: "killed", + activity: "exited", + branch: "feat/INT-1270-table", + issueId: "INT-1270", + summary: "Data table component (superseded by INT-1301)", + createdAt: ago(600), + lastActivityAt: ago(300), + pr: null, + metadata: {}, + }, +]; + +export function getMockStats(): DashboardStats { + const sessions = mockSessions; + return { + totalSessions: sessions.length, + workingSessions: sessions.filter((s) => s.activity === "active").length, + openPRs: sessions.filter((s) => s.pr?.state === "open").length, + needsReview: sessions.filter( + (s) => + s.pr && + !s.pr.isDraft && + (s.pr.reviewDecision === "pending" || s.pr.reviewDecision === "none"), + ).length, + }; +} + +export function getMockSession(id: string): DashboardSession | null { + return mockSessions.find((s) => s.id === id) ?? null; +} diff --git a/packages/web/src/lib/types.ts b/packages/web/src/lib/types.ts new file mode 100644 index 000000000..3fb90127a --- /dev/null +++ b/packages/web/src/lib/types.ts @@ -0,0 +1,201 @@ +/** + * Dashboard-specific types for the web UI. + * + * Core types (SessionStatus, ActivityState, CIStatus, ReviewDecision, etc.) + * are re-exported from @agent-orchestrator/core. Dashboard-specific types + * extend/flatten the core types for client-side rendering (e.g. DashboardPR + * flattens core PRInfo + MergeReadiness + CICheck[] + ReviewComment[]). + */ + +// Re-export core types used directly by the dashboard +export type { + SessionStatus, + ActivityState, + CIStatus, + ReviewDecision, + MergeReadiness, + PRState, +} from "@agent-orchestrator/core"; + +import type { + CICheck as CoreCICheck, + MergeReadiness, + CIStatus, + SessionStatus, + ActivityState, + ReviewDecision, +} from "@agent-orchestrator/core"; + +/** + * Attention zone priority level, ordered by human action urgency: + * + * 1. merge — PR approved + CI green. One click to clear. Highest ROI. + * 2. respond — Agent waiting for human input. Quick unblock, agent resumes. + * 3. review — CI failed, changes requested, conflicts. Needs investigation. + * 4. pending — Waiting on external (reviewer, CI). Nothing to do right now. + * 5. working — Agents doing their thing. Don't interrupt. + * 6. done — Merged or terminated. Archive. + */ +export type AttentionLevel = "merge" | "respond" | "review" | "pending" | "working" | "done"; + +/** + * Flattened session for dashboard rendering. + * Maps to core Session but uses string dates (JSON-serializable for SSR/client boundary) + * and inlines PR state. + * + * TODO: When wiring to real data, add a serialization layer that converts + * core Session (Date objects) → DashboardSession (string dates). + */ +export interface DashboardSession { + id: string; + projectId: string; + status: SessionStatus; + activity: ActivityState; + branch: string | null; + issueId: string | null; + summary: string | null; + createdAt: string; + lastActivityAt: string; + pr: DashboardPR | null; + metadata: Record; +} + +/** + * Flattened PR for dashboard rendering. + * Aggregates core PRInfo + PRState + CICheck[] + MergeReadiness + ReviewComment[]. + */ +export interface DashboardPR { + number: number; + url: string; + title: string; + owner: string; + repo: string; + branch: string; + baseBranch: string; + isDraft: boolean; + state: "open" | "merged" | "closed"; + additions: number; + deletions: number; + ciStatus: CIStatus; + ciChecks: DashboardCICheck[]; + reviewDecision: ReviewDecision; + mergeability: DashboardMergeability; + unresolvedThreads: number; + unresolvedComments: DashboardUnresolvedComment[]; +} + +/** + * Mirrors core CICheck but omits Date fields (not JSON-serializable). + * Core CICheck also has conclusion, startedAt, completedAt. + */ +export interface DashboardCICheck { + name: string; + status: CoreCICheck["status"]; + url?: string; +} + +/** + * Same shape as core MergeReadiness — re-exported for convenience. + */ +export type DashboardMergeability = MergeReadiness; + +export interface DashboardUnresolvedComment { + url: string; + path: string; + author: string; + body: string; +} + +export interface DashboardStats { + totalSessions: number; + workingSessions: number; + openPRs: number; + needsReview: number; +} + +/** SSE snapshot event from /api/events */ +export interface SSESnapshotEvent { + type: "snapshot"; + sessions: Array<{ + id: string; + status: SessionStatus; + activity: ActivityState; + attentionLevel: AttentionLevel; + lastActivityAt: string; + }>; +} + +/** SSE activity update event from /api/events */ +export interface SSEActivityEvent { + type: "session.activity"; + sessionId: string; + activity: ActivityState; + status: SessionStatus; + attentionLevel: AttentionLevel; + timestamp: string; +} + +/** Determines which attention zone a session belongs to */ +export function getAttentionLevel(session: DashboardSession): AttentionLevel { + // ── Done: terminal states ───────────────────────────────────────── + if (session.status === "merged" || session.status === "killed" || session.status === "cleanup") { + return "done"; + } + if (session.pr) { + if (session.pr.state === "merged" || session.pr.state === "closed") { + return "done"; + } + } + + // ── Merge: PR is ready — one click to clear ─────────────────────── + // Check this early: if the PR is mergeable, that's the most valuable + // action for the human regardless of agent activity. + if (session.status === "mergeable" || session.status === "approved") { + return "merge"; + } + if (session.pr?.mergeability.mergeable) { + return "merge"; + } + + // ── Respond: agent is waiting for human input ───────────────────── + if (session.activity === "waiting_input" || session.activity === "blocked") { + return "respond"; + } + if ( + session.status === "needs_input" || + session.status === "stuck" || + session.status === "errored" + ) { + return "respond"; + } + // Exited agent with non-terminal status = crashed, needs human attention + if (session.activity === "exited") { + return "respond"; + } + + // ── Review: problems that need investigation ────────────────────── + if (session.status === "ci_failed" || session.status === "changes_requested") { + return "review"; + } + if (session.pr) { + const pr = session.pr; + if (pr.ciStatus === "failing") return "review"; + if (pr.reviewDecision === "changes_requested") return "review"; + if (!pr.mergeability.noConflicts) return "review"; + } + + // ── Pending: waiting on external (reviewer, CI) ─────────────────── + if (session.status === "review_pending") { + return "pending"; + } + if (session.pr) { + const pr = session.pr; + if (!pr.isDraft && pr.unresolvedThreads > 0) return "pending"; + if (!pr.isDraft && (pr.reviewDecision === "pending" || pr.reviewDecision === "none")) { + return "pending"; + } + } + + // ── Working: agents doing their thing ───────────────────────────── + return "working"; +} diff --git a/packages/web/src/lib/validation.ts b/packages/web/src/lib/validation.ts new file mode 100644 index 000000000..6de67c598 --- /dev/null +++ b/packages/web/src/lib/validation.ts @@ -0,0 +1,44 @@ +/** Validate that a value is a non-empty string within a max length. Returns error message or null. */ +export function validateString( + value: unknown, + fieldName: string, + maxLength: number, +): string | null { + if (value === undefined || value === null) { + return `${fieldName} is required`; + } + if (typeof value !== "string") { + return `${fieldName} must be a string`; + } + if (value.trim().length === 0) { + return `${fieldName} must not be empty`; + } + if (value.length > maxLength) { + return `${fieldName} must be at most ${maxLength} characters`; + } + return null; +} + +/** Validate that a value matches a safe identifier pattern (alphanumeric, hyphens, underscores). */ +export function validateIdentifier( + value: unknown, + fieldName: string, + maxLength = 128, +): string | null { + const strErr = validateString(value, fieldName, maxLength); + if (strErr) return strErr; + if (!/^[a-zA-Z0-9_-]+$/.test(value as string)) { + return `${fieldName} must match [a-zA-Z0-9_-]+`; + } + return null; +} + +/** + * Strip control characters (U+0000–U+001F, U+007F–U+009F) from a string. + * Critical for messages that may be passed to shell-based runtimes (tmux send-keys, etc.) + * to prevent command injection via control sequences. + */ +export function stripControlChars(value: string): string { + // eslint-disable-next-line no-control-regex + return value.replace(/[\x00-\x1f\x7f-\x9f]/g, ""); +} diff --git a/packages/web/tsconfig.json b/packages/web/tsconfig.json index 8d8f525eb..c148c2ee5 100644 --- a/packages/web/tsconfig.json +++ b/packages/web/tsconfig.json @@ -1,16 +1,27 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { + "lib": ["ES2022", "DOM", "DOM.Iterable"], "outDir": "dist", "rootDir": ".", "jsx": "preserve", "module": "ESNext", "moduleResolution": "Bundler", - "plugins": [{ "name": "next" }], + "plugins": [ + { + "name": "next" + } + ], "paths": { "@/*": ["./src/*"] - } + }, + "allowJs": true, + "noEmit": true, + "incremental": true, + "declaration": false, + "declarationMap": false, + "verbatimModuleSyntax": false }, - "include": ["src", "next-env.d.ts", ".next/types/**/*.ts"], + "include": ["next-env.d.ts", "src", ".next/types/**/*.ts"], "exclude": ["node_modules"] } diff --git a/packages/web/vitest.config.ts b/packages/web/vitest.config.ts new file mode 100644 index 000000000..03c46261e --- /dev/null +++ b/packages/web/vitest.config.ts @@ -0,0 +1,18 @@ +import { defineConfig } from "vitest/config"; +import react from "@vitejs/plugin-react"; +import { resolve } from "node:path"; + +export default defineConfig({ + plugins: [react()], + test: { + globals: true, + environment: "jsdom", + setupFiles: ["./src/__tests__/setup.ts"], + include: ["src/**/*.test.{ts,tsx}"], + }, + resolve: { + alias: { + "@": resolve(__dirname, "./src"), + }, + }, +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 84a716597..4956f6338 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,22 +10,22 @@ importers: devDependencies: '@eslint/js': specifier: ^10.0.1 - version: 10.0.1(eslint@10.0.0) + version: 10.0.1(eslint@10.0.0(jiti@2.6.1)) '@types/node': specifier: ^25.2.3 version: 25.2.3 eslint: specifier: ^10.0.0 - version: 10.0.0 + version: 10.0.0(jiti@2.6.1) eslint-config-prettier: specifier: ^10.1.8 - version: 10.1.8(eslint@10.0.0) + version: 10.1.8(eslint@10.0.0(jiti@2.6.1)) prettier: specifier: ^3.8.1 version: 3.8.1 typescript-eslint: specifier: ^8.55.0 - version: 8.55.0(eslint@10.0.0)(typescript@5.9.3) + version: 8.55.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) packages/cli: dependencies: @@ -69,7 +69,7 @@ importers: version: 5.9.3 vitest: specifier: ^4.0.18 - version: 4.0.18(@types/node@25.2.3)(tsx@4.21.0)(yaml@2.8.2) + version: 4.0.18(@types/node@25.2.3)(jiti@2.6.1)(jsdom@25.0.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2) packages/integration-tests: dependencies: @@ -97,7 +97,7 @@ importers: version: 5.9.3 vitest: specifier: ^3.0.0 - version: 3.2.4(@types/node@25.2.3)(tsx@4.21.0)(yaml@2.8.2) + version: 3.2.4(@types/node@25.2.3)(jiti@2.6.1)(jsdom@25.0.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2) packages/plugins/agent-aider: dependencies: @@ -113,7 +113,7 @@ importers: version: 5.9.3 vitest: specifier: ^3.0.0 - version: 3.2.4(@types/node@25.2.3)(tsx@4.21.0)(yaml@2.8.2) + version: 3.2.4(@types/node@25.2.3)(jiti@2.6.1)(jsdom@25.0.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2) packages/plugins/agent-claude-code: dependencies: @@ -129,7 +129,7 @@ importers: version: 5.9.3 vitest: specifier: ^3.0.0 - version: 3.2.4(@types/node@25.2.3)(tsx@4.21.0)(yaml@2.8.2) + version: 3.2.4(@types/node@25.2.3)(jiti@2.6.1)(jsdom@25.0.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2) packages/plugins/agent-codex: dependencies: @@ -145,7 +145,7 @@ importers: version: 5.9.3 vitest: specifier: ^3.0.0 - version: 3.2.4(@types/node@25.2.3)(tsx@4.21.0)(yaml@2.8.2) + version: 3.2.4(@types/node@25.2.3)(jiti@2.6.1)(jsdom@25.0.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2) packages/plugins/agent-opencode: dependencies: @@ -161,7 +161,7 @@ importers: version: 5.9.3 vitest: specifier: ^3.0.0 - version: 3.2.4(@types/node@25.2.3)(tsx@4.21.0)(yaml@2.8.2) + version: 3.2.4(@types/node@25.2.3)(jiti@2.6.1)(jsdom@25.0.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2) packages/plugins/notifier-desktop: dependencies: @@ -326,7 +326,7 @@ importers: version: link:../core next: specifier: ^15.1.0 - version: 15.5.12(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 15.5.12(@babel/core@7.29.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) react: specifier: ^19.0.0 version: 19.2.4 @@ -334,120 +334,371 @@ importers: specifier: ^19.0.0 version: 19.2.4(react@19.2.4) devDependencies: + '@tailwindcss/postcss': + specifier: ^4.0.0 + version: 4.1.18 + '@testing-library/jest-dom': + specifier: ^6.6.0 + version: 6.9.1 + '@testing-library/react': + specifier: ^16.1.0 + version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@types/react': specifier: ^19.0.0 version: 19.2.14 '@types/react-dom': specifier: ^19.0.0 version: 19.2.3(@types/react@19.2.14) + '@vitejs/plugin-react': + specifier: ^4.3.0 + version: 4.7.0(vite@5.4.21(@types/node@25.2.3)(lightningcss@1.30.2)) + jsdom: + specifier: ^25.0.0 + version: 25.0.1 + playwright: + specifier: ^1.49.0 + version: 1.58.2 tailwindcss: specifier: ^4.0.0 version: 4.1.18 + tsx: + specifier: ^4.19.0 + version: 4.21.0 typescript: specifier: ^5.7.0 version: 5.9.3 + vitest: + specifier: ^2.1.0 + version: 2.1.9(@types/node@25.2.3)(jsdom@25.0.1)(lightningcss@1.30.2) packages: + '@adobe/css-tools@4.4.4': + resolution: {integrity: sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==} + + '@alloc/quick-lru@5.2.0': + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + + '@asamuzakjp/css-color@3.2.0': + resolution: {integrity: sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==} + + '@babel/code-frame@7.29.0': + resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.29.0': + resolution: {integrity: sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.29.0': + resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.29.1': + resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.28.6': + resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-globals@7.28.0': + resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.28.6': + resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.28.6': + resolution: {integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-plugin-utils@7.28.6': + resolution: {integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.28.5': + resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.27.1': + resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.28.6': + resolution: {integrity: sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.29.0': + resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-transform-react-jsx-self@7.27.1': + resolution: {integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-source@7.27.1': + resolution: {integrity: sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/runtime@7.28.6': + resolution: {integrity: sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.28.6': + resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.29.0': + resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.29.0': + resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} + engines: {node: '>=6.9.0'} + + '@csstools/color-helpers@5.1.0': + resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==} + engines: {node: '>=18'} + + '@csstools/css-calc@2.1.4': + resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/css-color-parser@3.1.0': + resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/css-parser-algorithms@3.0.5': + resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-tokenizer': ^3.0.4 + + '@csstools/css-tokenizer@3.0.4': + resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} + engines: {node: '>=18'} + '@emnapi/runtime@1.8.1': resolution: {integrity: sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==} + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + '@esbuild/aix-ppc64@0.27.3': resolution: {integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm64@0.27.3': resolution: {integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==} engines: {node: '>=18'} cpu: [arm64] os: [android] + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + '@esbuild/android-arm@0.27.3': resolution: {integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==} engines: {node: '>=18'} cpu: [arm] os: [android] + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + '@esbuild/android-x64@0.27.3': resolution: {integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==} engines: {node: '>=18'} cpu: [x64] os: [android] + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-arm64@0.27.3': resolution: {integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + '@esbuild/darwin-x64@0.27.3': resolution: {integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==} engines: {node: '>=18'} cpu: [x64] os: [darwin] + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-arm64@0.27.3': resolution: {integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + '@esbuild/freebsd-x64@0.27.3': resolution: {integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm64@0.27.3': resolution: {integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==} engines: {node: '>=18'} cpu: [arm64] os: [linux] + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + '@esbuild/linux-arm@0.27.3': resolution: {integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==} engines: {node: '>=18'} cpu: [arm] os: [linux] + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-ia32@0.27.3': resolution: {integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==} engines: {node: '>=18'} cpu: [ia32] os: [linux] + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-loong64@0.27.3': resolution: {integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==} engines: {node: '>=18'} cpu: [loong64] os: [linux] + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-mips64el@0.27.3': resolution: {integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-ppc64@0.27.3': resolution: {integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-riscv64@0.27.3': resolution: {integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-s390x@0.27.3': resolution: {integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + '@esbuild/linux-x64@0.27.3': resolution: {integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==} engines: {node: '>=18'} @@ -460,6 +711,12 @@ packages: cpu: [arm64] os: [netbsd] + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + '@esbuild/netbsd-x64@0.27.3': resolution: {integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==} engines: {node: '>=18'} @@ -472,6 +729,12 @@ packages: cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + '@esbuild/openbsd-x64@0.27.3': resolution: {integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==} engines: {node: '>=18'} @@ -484,24 +747,48 @@ packages: cpu: [arm64] os: [openharmony] + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + '@esbuild/sunos-x64@0.27.3': resolution: {integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==} engines: {node: '>=18'} cpu: [x64] os: [sunos] + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-arm64@0.27.3': resolution: {integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==} engines: {node: '>=18'} cpu: [arm64] os: [win32] + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-ia32@0.27.3': resolution: {integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==} engines: {node: '>=18'} cpu: [ia32] os: [win32] + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + '@esbuild/win32-x64@0.27.3': resolution: {integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==} engines: {node: '>=18'} @@ -704,9 +991,22 @@ packages: resolution: {integrity: sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg==} engines: {node: '>=18'} + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + '@next/env@15.5.12': resolution: {integrity: sha512-pUvdJN1on574wQHjaBfNGDt9Mz5utDSZFsIIQkMzPgNS8ZvT4H2mwOrOIClwsQOb6EGx5M76/CZr6G8i6pSpLg==} @@ -758,6 +1058,9 @@ packages: cpu: [x64] os: [win32] + '@rolldown/pluginutils@1.0.0-beta.27': + resolution: {integrity: sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==} + '@rollup/rollup-android-arm-eabi@4.57.1': resolution: {integrity: sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==} cpu: [arm] @@ -889,6 +1192,132 @@ packages: '@swc/helpers@0.5.15': resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} + '@tailwindcss/node@4.1.18': + resolution: {integrity: sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ==} + + '@tailwindcss/oxide-android-arm64@4.1.18': + resolution: {integrity: sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@tailwindcss/oxide-darwin-arm64@4.1.18': + resolution: {integrity: sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@tailwindcss/oxide-darwin-x64@4.1.18': + resolution: {integrity: sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@tailwindcss/oxide-freebsd-x64@4.1.18': + resolution: {integrity: sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.18': + resolution: {integrity: sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-gnu@4.1.18': + resolution: {integrity: sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-musl@4.1.18': + resolution: {integrity: sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-gnu@4.1.18': + resolution: {integrity: sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-musl@4.1.18': + resolution: {integrity: sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-wasm32-wasi@4.1.18': + resolution: {integrity: sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + bundledDependencies: + - '@napi-rs/wasm-runtime' + - '@emnapi/core' + - '@emnapi/runtime' + - '@tybys/wasm-util' + - '@emnapi/wasi-threads' + - tslib + + '@tailwindcss/oxide-win32-arm64-msvc@4.1.18': + resolution: {integrity: sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@tailwindcss/oxide-win32-x64-msvc@4.1.18': + resolution: {integrity: sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@tailwindcss/oxide@4.1.18': + resolution: {integrity: sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A==} + engines: {node: '>= 10'} + + '@tailwindcss/postcss@4.1.18': + resolution: {integrity: sha512-Ce0GFnzAOuPyfV5SxjXGn0CubwGcuDB0zcdaPuCSzAa/2vII24JTkH+I6jcbXLb1ctjZMZZI6OjDaLPJQL1S0g==} + + '@testing-library/dom@10.4.1': + resolution: {integrity: sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==} + engines: {node: '>=18'} + + '@testing-library/jest-dom@6.9.1': + resolution: {integrity: sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA==} + engines: {node: '>=14', npm: '>=6', yarn: '>=1'} + + '@testing-library/react@16.3.2': + resolution: {integrity: sha512-XU5/SytQM+ykqMnAnvB2umaJNIOsLF3PVv//1Ew4CTcpz0/BRyy/af40qqrt7SjKpDdT1saBMc42CUok5gaw+g==} + engines: {node: '>=18'} + peerDependencies: + '@testing-library/dom': ^10.0.0 + '@types/react': ^18.0.0 || ^19.0.0 + '@types/react-dom': ^18.0.0 || ^19.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@types/aria-query@5.0.4': + resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.27.0': + resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.28.0': + resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} + '@types/chai@5.2.3': resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} @@ -974,12 +1403,32 @@ packages: resolution: {integrity: sha512-AxNRwEie8Nn4eFS1FzDMJWIISMGoXMb037sgCBJ3UR6o0fQTzr2tqN9WT+DkWJPhIdQCfV7T6D387566VtnCJA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@vitejs/plugin-react@4.7.0': + resolution: {integrity: sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 + + '@vitest/expect@2.1.9': + resolution: {integrity: sha512-UJCIkTBenHeKT1TTlKMJWy1laZewsRIzYighyYiJKZreqtdxSos/S1t+ktRMQWu2CKqaarrkeszJx1cgC5tGZw==} + '@vitest/expect@3.2.4': resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==} '@vitest/expect@4.0.18': resolution: {integrity: sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==} + '@vitest/mocker@2.1.9': + resolution: {integrity: sha512-tVL6uJgoUdi6icpxmdrn5YNo3g3Dxv+IHJBr0GXHaEdTcw3F+cPKnsXFhli6nO+f/6SDKPHEK1UN+k+TQv0Ehg==} + peerDependencies: + msw: ^2.4.9 + vite: ^5.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + '@vitest/mocker@3.2.4': resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==} peerDependencies: @@ -1002,30 +1451,45 @@ packages: vite: optional: true + '@vitest/pretty-format@2.1.9': + resolution: {integrity: sha512-KhRIdGV2U9HOUzxfiHmY8IFHTdqtOhIzCpd8WRdJiE7D/HUcZVD0EgQCVjm+Q9gkUXWgBvMmTtZgIG48wq7sOQ==} + '@vitest/pretty-format@3.2.4': resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==} '@vitest/pretty-format@4.0.18': resolution: {integrity: sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==} + '@vitest/runner@2.1.9': + resolution: {integrity: sha512-ZXSSqTFIrzduD63btIfEyOmNcBmQvgOVsPNPe0jYtESiXkhd8u2erDLnMxmGrDCwHCCHE7hxwRDCT3pt0esT4g==} + '@vitest/runner@3.2.4': resolution: {integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==} '@vitest/runner@4.0.18': resolution: {integrity: sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==} + '@vitest/snapshot@2.1.9': + resolution: {integrity: sha512-oBO82rEjsxLNJincVhLhaxxZdEtV0EFHMK5Kmx5sJ6H9L183dHECjiefOAdnqpIgT5eZwT04PoggUnW88vOBNQ==} + '@vitest/snapshot@3.2.4': resolution: {integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==} '@vitest/snapshot@4.0.18': resolution: {integrity: sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==} + '@vitest/spy@2.1.9': + resolution: {integrity: sha512-E1B35FwzXXTs9FHNK6bDszs7mtydNi5MIfUWpceJ8Xbfb1gBMscAnwLbEu+B44ed6W3XjL9/ehLPHR1fkf1KLQ==} + '@vitest/spy@3.2.4': resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==} '@vitest/spy@4.0.18': resolution: {integrity: sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==} + '@vitest/utils@2.1.9': + resolution: {integrity: sha512-v0psaMSkNJ3A2NMrUEHFRzJtDPFn+/VWZ5WxImB21T9fjucJRmS7xCS3ppEnARb9y11OAzaD+P2Ps+b+BGX5iQ==} + '@vitest/utils@3.2.4': resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==} @@ -1042,17 +1506,39 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + agent-base@7.1.4: + resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} + engines: {node: '>= 14'} + ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + ansi-regex@6.2.2: resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} engines: {node: '>=12'} + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + + aria-query@5.3.2: + resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} + engines: {node: '>= 0.4'} + assertion-error@2.0.1: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -1060,6 +1546,10 @@ packages: resolution: {integrity: sha512-x0K50QvKQ97fdEz2kPehIerj+YTeptKF9hyYkKf6egnwmMWAkADiO0QCzSp0R5xN8FTZgYaBfSaue46Ej62nMg==} engines: {node: 20 || >=22} + baseline-browser-mapping@2.9.19: + resolution: {integrity: sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==} + hasBin: true + brace-expansion@2.0.2: resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} @@ -1067,10 +1557,19 @@ packages: resolution: {integrity: sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==} engines: {node: 20 || >=22} + browserslist@4.28.1: + resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + caniuse-lite@1.0.30001769: resolution: {integrity: sha512-BCfFL1sHijQlBGWBMuJyhZUhzo7wer5sVj9hqekB/7xn0Ypy+pER/edCYQm4exbXj4WiySGp40P8UuTh6w1srg==} @@ -1101,17 +1600,35 @@ packages: client-only@0.0.1: resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + commander@13.1.0: resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==} engines: {node: '>=18'} + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} + css.escape@1.5.1: + resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} + + cssstyle@4.6.0: + resolution: {integrity: sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==} + engines: {node: '>=18'} + csstype@3.2.3: resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + data-urls@5.0.0: + resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} + engines: {node: '>=18'} + debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} @@ -1121,6 +1638,9 @@ packages: supports-color: optional: true + decimal.js@10.6.0: + resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==} + deep-eql@5.0.2: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} @@ -1128,21 +1648,75 @@ packages: deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + detect-libc@2.1.2: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} + dom-accessibility-api@0.5.16: + resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} + + dom-accessibility-api@0.6.3: + resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + electron-to-chromium@1.5.286: + resolution: {integrity: sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==} + emoji-regex@10.6.0: resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} + enhanced-resolve@5.19.0: + resolution: {integrity: sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==} + engines: {node: '>=10.13.0'} + + entities@6.0.1: + resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} + engines: {node: '>=0.12'} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + es-module-lexer@1.7.0: resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true + esbuild@0.27.3: resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==} engines: {node: '>=18'} hasBin: true + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -1239,15 +1813,39 @@ packages: flatted@3.3.3: resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} + form-data@4.0.5: + resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} + engines: {node: '>= 6'} + + fsevents@2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + get-east-asian-width@1.4.0: resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==} engines: {node: '>=18'} + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + get-tsconfig@4.13.6: resolution: {integrity: sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==} @@ -1255,6 +1853,41 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + html-encoding-sniffer@4.0.0: + resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} + engines: {node: '>=18'} + + http-proxy-agent@7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} + + https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} + + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} @@ -1267,6 +1900,10 @@ packages: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -1279,6 +1916,9 @@ packages: resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} engines: {node: '>=12'} + is-potential-custom-element-name@1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + is-unicode-supported@1.3.0: resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} engines: {node: '>=12'} @@ -1294,9 +1934,30 @@ packages: resolution: {integrity: sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg==} engines: {node: 20 || >=22} + jiti@2.6.1: + resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} + hasBin: true + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + js-tokens@9.0.1: resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} + jsdom@25.0.1: + resolution: {integrity: sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==} + engines: {node: '>=18'} + peerDependencies: + canvas: ^2.11.2 + peerDependenciesMeta: + canvas: + optional: true + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -1306,6 +1967,11 @@ packages: json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -1313,6 +1979,76 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} + lightningcss-android-arm64@1.30.2: + resolution: {integrity: sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] + + lightningcss-darwin-arm64@1.30.2: + resolution: {integrity: sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.30.2: + resolution: {integrity: sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.30.2: + resolution: {integrity: sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.30.2: + resolution: {integrity: sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.30.2: + resolution: {integrity: sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-arm64-musl@1.30.2: + resolution: {integrity: sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-x64-gnu@1.30.2: + resolution: {integrity: sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-linux-x64-musl@1.30.2: + resolution: {integrity: sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-win32-arm64-msvc@1.30.2: + resolution: {integrity: sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.30.2: + resolution: {integrity: sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.30.2: + resolution: {integrity: sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==} + engines: {node: '>= 12.0.0'} + locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} @@ -1324,13 +2060,39 @@ packages: loupe@3.2.1: resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==} + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + lz-string@1.5.0: + resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} + hasBin: true + magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + mimic-function@5.0.1: resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} engines: {node: '>=18'} + min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + minimatch@10.2.0: resolution: {integrity: sha512-ugkC31VaVg9cF0DFVoADH12k6061zNZkZON+aX8AWsR9GhPcErkcMBceb6znR8wLERM2AkkOxy2nWRLpT9Jq5w==} engines: {node: 20 || >=22} @@ -1371,6 +2133,12 @@ packages: sass: optional: true + node-releases@2.0.27: + resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} + + nwsapi@2.2.23: + resolution: {integrity: sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==} + obug@2.1.1: resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} @@ -1394,6 +2162,9 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} + parse5@7.3.0: + resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} + path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -1402,6 +2173,9 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} + pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} @@ -1416,6 +2190,16 @@ packages: resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} engines: {node: '>=12'} + playwright-core@1.58.2: + resolution: {integrity: sha512-yZkEtftgwS8CsfYo7nm0KE8jsvm6i/PTgVtB8DL726wNf6H2IMsDuxCpJj59KDaxCtSnrWan2AeDqM7JBaultg==} + engines: {node: '>=18'} + hasBin: true + + playwright@1.58.2: + resolution: {integrity: sha512-vA30H8Nvkq/cPBnNw4Q8TWz1EJyqgpuinBcHET0YVJVFldr8JDNiU9LaWAE1KqSkRYazuaBhTpB5ZzShOezQ6A==} + engines: {node: '>=18'} + hasBin: true + postcss@8.4.31: resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} @@ -1433,6 +2217,10 @@ packages: engines: {node: '>=14'} hasBin: true + pretty-format@27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -1442,10 +2230,21 @@ packages: peerDependencies: react: ^19.2.4 + react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + + react-refresh@0.17.0: + resolution: {integrity: sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==} + engines: {node: '>=0.10.0'} + react@19.2.4: resolution: {integrity: sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==} engines: {node: '>=0.10.0'} + redent@3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} + resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} @@ -1458,9 +2257,26 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + rrweb-cssom@0.7.1: + resolution: {integrity: sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==} + + rrweb-cssom@0.8.0: + resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + saxes@6.0.0: + resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} + engines: {node: '>=v12.22.7'} + scheduler@0.27.0: resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + semver@7.7.4: resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} engines: {node: '>=10'} @@ -1507,6 +2323,10 @@ packages: resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} engines: {node: '>=12'} + strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + strip-literal@3.1.0: resolution: {integrity: sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==} @@ -1523,9 +2343,16 @@ packages: babel-plugin-macros: optional: true + symbol-tree@3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + tailwindcss@4.1.18: resolution: {integrity: sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==} + tapable@2.3.0: + resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} + engines: {node: '>=6'} + tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} @@ -1544,6 +2371,10 @@ packages: resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} engines: {node: ^18.0.0 || >=20.0.0} + tinyrainbow@1.2.0: + resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} + engines: {node: '>=14.0.0'} + tinyrainbow@2.0.0: resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} engines: {node: '>=14.0.0'} @@ -1552,10 +2383,29 @@ packages: resolution: {integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==} engines: {node: '>=14.0.0'} + tinyspy@3.0.2: + resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} + engines: {node: '>=14.0.0'} + tinyspy@4.0.4: resolution: {integrity: sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==} engines: {node: '>=14.0.0'} + tldts-core@6.1.86: + resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==} + + tldts@6.1.86: + resolution: {integrity: sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==} + hasBin: true + + tough-cookie@5.1.2: + resolution: {integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==} + engines: {node: '>=16'} + + tr46@5.1.1: + resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==} + engines: {node: '>=18'} + ts-api-utils@2.4.0: resolution: {integrity: sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==} engines: {node: '>=18.12'} @@ -1589,14 +2439,56 @@ packages: undici-types@7.16.0: resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + update-browserslist-db@1.2.3: + resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + vite-node@2.1.9: + resolution: {integrity: sha512-AM9aQ/IPrW/6ENLQg3AGY4K1N2TGZdR5e4gu/MmmR2xR3Ll1+dib+nook92g4TV3PXVyeyxdWwtaCAiUL0hMxA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + vite-node@3.2.4: resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true + vite@5.4.21: + resolution: {integrity: sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + vite@7.3.1: resolution: {integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -1637,6 +2529,31 @@ packages: yaml: optional: true + vitest@2.1.9: + resolution: {integrity: sha512-MSmPM9REYqDGBI8439mA4mWhV5sKmDlBKWIYbA3lRb2PTHACE0mgKwA8yQ2xq9vxDTuk4iPrECBAEW2aoFXY0Q==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 2.1.9 + '@vitest/ui': 2.1.9 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + vitest@3.2.4: resolution: {integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} @@ -1699,6 +2616,27 @@ packages: jsdom: optional: true + w3c-xmlserializer@5.0.0: + resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} + engines: {node: '>=18'} + + webidl-conversions@7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} + + whatwg-encoding@3.1.1: + resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} + engines: {node: '>=18'} + deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation + + whatwg-mimetype@4.0.0: + resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} + engines: {node: '>=18'} + + whatwg-url@14.2.0: + resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==} + engines: {node: '>=18'} + which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -1713,6 +2651,28 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} + ws@8.19.0: + resolution: {integrity: sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xml-name-validator@5.0.0: + resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} + engines: {node: '>=18'} + + xmlchars@2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + yaml@2.8.2: resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==} engines: {node: '>= 14.6'} @@ -1727,92 +2687,307 @@ packages: snapshots: + '@adobe/css-tools@4.4.4': {} + + '@alloc/quick-lru@5.2.0': {} + + '@asamuzakjp/css-color@3.2.0': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + lru-cache: 10.4.3 + + '@babel/code-frame@7.29.0': + dependencies: + '@babel/helper-validator-identifier': 7.28.5 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.29.0': {} + + '@babel/core@7.29.0': + dependencies: + '@babel/code-frame': 7.29.0 + '@babel/generator': 7.29.1 + '@babel/helper-compilation-targets': 7.28.6 + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) + '@babel/helpers': 7.28.6 + '@babel/parser': 7.29.0 + '@babel/template': 7.28.6 + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 + '@jridgewell/remapping': 2.3.5 + convert-source-map: 2.0.0 + debug: 4.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.29.1': + dependencies: + '@babel/parser': 7.29.0 + '@babel/types': 7.29.0 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + + '@babel/helper-compilation-targets@7.28.6': + dependencies: + '@babel/compat-data': 7.29.0 + '@babel/helper-validator-option': 7.27.1 + browserslist: 4.28.1 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-globals@7.28.0': {} + + '@babel/helper-module-imports@7.28.6': + dependencies: + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-module-imports': 7.28.6 + '@babel/helper-validator-identifier': 7.28.5 + '@babel/traverse': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-plugin-utils@7.28.6': {} + + '@babel/helper-string-parser@7.27.1': {} + + '@babel/helper-validator-identifier@7.28.5': {} + + '@babel/helper-validator-option@7.27.1': {} + + '@babel/helpers@7.28.6': + dependencies: + '@babel/template': 7.28.6 + '@babel/types': 7.29.0 + + '@babel/parser@7.29.0': + dependencies: + '@babel/types': 7.29.0 + + '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/runtime@7.28.6': {} + + '@babel/template@7.28.6': + dependencies: + '@babel/code-frame': 7.29.0 + '@babel/parser': 7.29.0 + '@babel/types': 7.29.0 + + '@babel/traverse@7.29.0': + dependencies: + '@babel/code-frame': 7.29.0 + '@babel/generator': 7.29.1 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.29.0 + '@babel/template': 7.28.6 + '@babel/types': 7.29.0 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.29.0': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + + '@csstools/color-helpers@5.1.0': {} + + '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/color-helpers': 5.1.0 + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/css-tokenizer@3.0.4': {} + '@emnapi/runtime@1.8.1': dependencies: tslib: 2.8.1 optional: true + '@esbuild/aix-ppc64@0.21.5': + optional: true + '@esbuild/aix-ppc64@0.27.3': optional: true + '@esbuild/android-arm64@0.21.5': + optional: true + '@esbuild/android-arm64@0.27.3': optional: true + '@esbuild/android-arm@0.21.5': + optional: true + '@esbuild/android-arm@0.27.3': optional: true + '@esbuild/android-x64@0.21.5': + optional: true + '@esbuild/android-x64@0.27.3': optional: true + '@esbuild/darwin-arm64@0.21.5': + optional: true + '@esbuild/darwin-arm64@0.27.3': optional: true + '@esbuild/darwin-x64@0.21.5': + optional: true + '@esbuild/darwin-x64@0.27.3': optional: true + '@esbuild/freebsd-arm64@0.21.5': + optional: true + '@esbuild/freebsd-arm64@0.27.3': optional: true + '@esbuild/freebsd-x64@0.21.5': + optional: true + '@esbuild/freebsd-x64@0.27.3': optional: true + '@esbuild/linux-arm64@0.21.5': + optional: true + '@esbuild/linux-arm64@0.27.3': optional: true + '@esbuild/linux-arm@0.21.5': + optional: true + '@esbuild/linux-arm@0.27.3': optional: true + '@esbuild/linux-ia32@0.21.5': + optional: true + '@esbuild/linux-ia32@0.27.3': optional: true + '@esbuild/linux-loong64@0.21.5': + optional: true + '@esbuild/linux-loong64@0.27.3': optional: true + '@esbuild/linux-mips64el@0.21.5': + optional: true + '@esbuild/linux-mips64el@0.27.3': optional: true + '@esbuild/linux-ppc64@0.21.5': + optional: true + '@esbuild/linux-ppc64@0.27.3': optional: true + '@esbuild/linux-riscv64@0.21.5': + optional: true + '@esbuild/linux-riscv64@0.27.3': optional: true + '@esbuild/linux-s390x@0.21.5': + optional: true + '@esbuild/linux-s390x@0.27.3': optional: true + '@esbuild/linux-x64@0.21.5': + optional: true + '@esbuild/linux-x64@0.27.3': optional: true '@esbuild/netbsd-arm64@0.27.3': optional: true + '@esbuild/netbsd-x64@0.21.5': + optional: true + '@esbuild/netbsd-x64@0.27.3': optional: true '@esbuild/openbsd-arm64@0.27.3': optional: true + '@esbuild/openbsd-x64@0.21.5': + optional: true + '@esbuild/openbsd-x64@0.27.3': optional: true '@esbuild/openharmony-arm64@0.27.3': optional: true + '@esbuild/sunos-x64@0.21.5': + optional: true + '@esbuild/sunos-x64@0.27.3': optional: true + '@esbuild/win32-arm64@0.21.5': + optional: true + '@esbuild/win32-arm64@0.27.3': optional: true + '@esbuild/win32-ia32@0.21.5': + optional: true + '@esbuild/win32-ia32@0.27.3': optional: true + '@esbuild/win32-x64@0.21.5': + optional: true + '@esbuild/win32-x64@0.27.3': optional: true - '@eslint-community/eslint-utils@4.9.1(eslint@10.0.0)': + '@eslint-community/eslint-utils@4.9.1(eslint@10.0.0(jiti@2.6.1))': dependencies: - eslint: 10.0.0 + eslint: 10.0.0(jiti@2.6.1) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.2': {} @@ -1833,9 +3008,9 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 - '@eslint/js@10.0.1(eslint@10.0.0)': + '@eslint/js@10.0.1(eslint@10.0.0(jiti@2.6.1))': optionalDependencies: - eslint: 10.0.0 + eslint: 10.0.0(jiti@2.6.1) '@eslint/object-schema@3.0.1': {} @@ -1954,8 +3129,25 @@ snapshots: '@isaacs/cliui@9.0.0': {} + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + '@jridgewell/sourcemap-codec@1.5.5': {} + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + '@next/env@15.5.12': {} '@next/swc-darwin-arm64@15.5.12': @@ -1982,6 +3174,8 @@ snapshots: '@next/swc-win32-x64-msvc@15.5.12': optional: true + '@rolldown/pluginutils@1.0.0-beta.27': {} + '@rollup/rollup-android-arm-eabi@4.57.1': optional: true @@ -2063,6 +3257,128 @@ snapshots: dependencies: tslib: 2.8.1 + '@tailwindcss/node@4.1.18': + dependencies: + '@jridgewell/remapping': 2.3.5 + enhanced-resolve: 5.19.0 + jiti: 2.6.1 + lightningcss: 1.30.2 + magic-string: 0.30.21 + source-map-js: 1.2.1 + tailwindcss: 4.1.18 + + '@tailwindcss/oxide-android-arm64@4.1.18': + optional: true + + '@tailwindcss/oxide-darwin-arm64@4.1.18': + optional: true + + '@tailwindcss/oxide-darwin-x64@4.1.18': + optional: true + + '@tailwindcss/oxide-freebsd-x64@4.1.18': + optional: true + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.18': + optional: true + + '@tailwindcss/oxide-linux-arm64-gnu@4.1.18': + optional: true + + '@tailwindcss/oxide-linux-arm64-musl@4.1.18': + optional: true + + '@tailwindcss/oxide-linux-x64-gnu@4.1.18': + optional: true + + '@tailwindcss/oxide-linux-x64-musl@4.1.18': + optional: true + + '@tailwindcss/oxide-wasm32-wasi@4.1.18': + optional: true + + '@tailwindcss/oxide-win32-arm64-msvc@4.1.18': + optional: true + + '@tailwindcss/oxide-win32-x64-msvc@4.1.18': + optional: true + + '@tailwindcss/oxide@4.1.18': + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.1.18 + '@tailwindcss/oxide-darwin-arm64': 4.1.18 + '@tailwindcss/oxide-darwin-x64': 4.1.18 + '@tailwindcss/oxide-freebsd-x64': 4.1.18 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.18 + '@tailwindcss/oxide-linux-arm64-gnu': 4.1.18 + '@tailwindcss/oxide-linux-arm64-musl': 4.1.18 + '@tailwindcss/oxide-linux-x64-gnu': 4.1.18 + '@tailwindcss/oxide-linux-x64-musl': 4.1.18 + '@tailwindcss/oxide-wasm32-wasi': 4.1.18 + '@tailwindcss/oxide-win32-arm64-msvc': 4.1.18 + '@tailwindcss/oxide-win32-x64-msvc': 4.1.18 + + '@tailwindcss/postcss@4.1.18': + dependencies: + '@alloc/quick-lru': 5.2.0 + '@tailwindcss/node': 4.1.18 + '@tailwindcss/oxide': 4.1.18 + postcss: 8.5.6 + tailwindcss: 4.1.18 + + '@testing-library/dom@10.4.1': + dependencies: + '@babel/code-frame': 7.29.0 + '@babel/runtime': 7.28.6 + '@types/aria-query': 5.0.4 + aria-query: 5.3.0 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + picocolors: 1.1.1 + pretty-format: 27.5.1 + + '@testing-library/jest-dom@6.9.1': + dependencies: + '@adobe/css-tools': 4.4.4 + aria-query: 5.3.2 + css.escape: 1.5.1 + dom-accessibility-api: 0.6.3 + picocolors: 1.1.1 + redent: 3.0.0 + + '@testing-library/react@16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + dependencies: + '@babel/runtime': 7.28.6 + '@testing-library/dom': 10.4.1 + react: 19.2.4 + react-dom: 19.2.4(react@19.2.4) + optionalDependencies: + '@types/react': 19.2.14 + '@types/react-dom': 19.2.3(@types/react@19.2.14) + + '@types/aria-query@5.0.4': {} + + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.29.0 + '@babel/types': 7.29.0 + '@types/babel__generator': 7.27.0 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.28.0 + + '@types/babel__generator@7.27.0': + dependencies: + '@babel/types': 7.29.0 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.29.0 + '@babel/types': 7.29.0 + + '@types/babel__traverse@7.28.0': + dependencies: + '@babel/types': 7.29.0 + '@types/chai@5.2.3': dependencies: '@types/deep-eql': 4.0.2 @@ -2088,15 +3404,15 @@ snapshots: dependencies: csstype: 3.2.3 - '@typescript-eslint/eslint-plugin@8.55.0(@typescript-eslint/parser@8.55.0(eslint@10.0.0)(typescript@5.9.3))(eslint@10.0.0)(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.55.0(@typescript-eslint/parser@8.55.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.55.0(eslint@10.0.0)(typescript@5.9.3) + '@typescript-eslint/parser': 8.55.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/scope-manager': 8.55.0 - '@typescript-eslint/type-utils': 8.55.0(eslint@10.0.0)(typescript@5.9.3) - '@typescript-eslint/utils': 8.55.0(eslint@10.0.0)(typescript@5.9.3) + '@typescript-eslint/type-utils': 8.55.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.55.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/visitor-keys': 8.55.0 - eslint: 10.0.0 + eslint: 10.0.0(jiti@2.6.1) ignore: 7.0.5 natural-compare: 1.4.0 ts-api-utils: 2.4.0(typescript@5.9.3) @@ -2104,14 +3420,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.55.0(eslint@10.0.0)(typescript@5.9.3)': + '@typescript-eslint/parser@8.55.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@typescript-eslint/scope-manager': 8.55.0 '@typescript-eslint/types': 8.55.0 '@typescript-eslint/typescript-estree': 8.55.0(typescript@5.9.3) '@typescript-eslint/visitor-keys': 8.55.0 debug: 4.4.3 - eslint: 10.0.0 + eslint: 10.0.0(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -2134,13 +3450,13 @@ snapshots: dependencies: typescript: 5.9.3 - '@typescript-eslint/type-utils@8.55.0(eslint@10.0.0)(typescript@5.9.3)': + '@typescript-eslint/type-utils@8.55.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@typescript-eslint/types': 8.55.0 '@typescript-eslint/typescript-estree': 8.55.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.55.0(eslint@10.0.0)(typescript@5.9.3) + '@typescript-eslint/utils': 8.55.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) debug: 4.4.3 - eslint: 10.0.0 + eslint: 10.0.0(jiti@2.6.1) ts-api-utils: 2.4.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: @@ -2163,13 +3479,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.55.0(eslint@10.0.0)(typescript@5.9.3)': + '@typescript-eslint/utils@8.55.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.0) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.0(jiti@2.6.1)) '@typescript-eslint/scope-manager': 8.55.0 '@typescript-eslint/types': 8.55.0 '@typescript-eslint/typescript-estree': 8.55.0(typescript@5.9.3) - eslint: 10.0.0 + eslint: 10.0.0(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -2179,6 +3495,25 @@ snapshots: '@typescript-eslint/types': 8.55.0 eslint-visitor-keys: 4.2.1 + '@vitejs/plugin-react@4.7.0(vite@5.4.21(@types/node@25.2.3)(lightningcss@1.30.2))': + dependencies: + '@babel/core': 7.29.0 + '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.29.0) + '@rolldown/pluginutils': 1.0.0-beta.27 + '@types/babel__core': 7.20.5 + react-refresh: 0.17.0 + vite: 5.4.21(@types/node@25.2.3)(lightningcss@1.30.2) + transitivePeerDependencies: + - supports-color + + '@vitest/expect@2.1.9': + dependencies: + '@vitest/spy': 2.1.9 + '@vitest/utils': 2.1.9 + chai: 5.3.3 + tinyrainbow: 1.2.0 + '@vitest/expect@3.2.4': dependencies: '@types/chai': 5.2.3 @@ -2196,21 +3531,33 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.0.3 - '@vitest/mocker@3.2.4(vite@7.3.1(@types/node@25.2.3)(tsx@4.21.0)(yaml@2.8.2))': + '@vitest/mocker@2.1.9(vite@5.4.21(@types/node@25.2.3)(lightningcss@1.30.2))': + dependencies: + '@vitest/spy': 2.1.9 + estree-walker: 3.0.3 + magic-string: 0.30.21 + optionalDependencies: + vite: 5.4.21(@types/node@25.2.3)(lightningcss@1.30.2) + + '@vitest/mocker@3.2.4(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 7.3.1(@types/node@25.2.3)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2) - '@vitest/mocker@4.0.18(vite@7.3.1(@types/node@25.2.3)(tsx@4.21.0)(yaml@2.8.2))': + '@vitest/mocker@4.0.18(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@vitest/spy': 4.0.18 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 7.3.1(@types/node@25.2.3)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2) + + '@vitest/pretty-format@2.1.9': + dependencies: + tinyrainbow: 1.2.0 '@vitest/pretty-format@3.2.4': dependencies: @@ -2220,6 +3567,11 @@ snapshots: dependencies: tinyrainbow: 3.0.3 + '@vitest/runner@2.1.9': + dependencies: + '@vitest/utils': 2.1.9 + pathe: 1.1.2 + '@vitest/runner@3.2.4': dependencies: '@vitest/utils': 3.2.4 @@ -2231,6 +3583,12 @@ snapshots: '@vitest/utils': 4.0.18 pathe: 2.0.3 + '@vitest/snapshot@2.1.9': + dependencies: + '@vitest/pretty-format': 2.1.9 + magic-string: 0.30.21 + pathe: 1.1.2 + '@vitest/snapshot@3.2.4': dependencies: '@vitest/pretty-format': 3.2.4 @@ -2243,12 +3601,22 @@ snapshots: magic-string: 0.30.21 pathe: 2.0.3 + '@vitest/spy@2.1.9': + dependencies: + tinyspy: 3.0.2 + '@vitest/spy@3.2.4': dependencies: tinyspy: 4.0.4 '@vitest/spy@4.0.18': {} + '@vitest/utils@2.1.9': + dependencies: + '@vitest/pretty-format': 2.1.9 + loupe: 3.2.1 + tinyrainbow: 1.2.0 + '@vitest/utils@3.2.4': dependencies: '@vitest/pretty-format': 3.2.4 @@ -2266,6 +3634,8 @@ snapshots: acorn@8.15.0: {} + agent-base@7.1.4: {} + ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 @@ -2273,16 +3643,30 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 + ansi-regex@5.0.1: {} + ansi-regex@6.2.2: {} + ansi-styles@5.2.0: {} + + aria-query@5.3.0: + dependencies: + dequal: 2.0.3 + + aria-query@5.3.2: {} + assertion-error@2.0.1: {} + asynckit@0.4.0: {} + balanced-match@1.0.2: {} balanced-match@4.0.2: dependencies: jackspeak: 4.2.3 + baseline-browser-mapping@2.9.19: {} + brace-expansion@2.0.2: dependencies: balanced-match: 1.0.2 @@ -2291,8 +3675,21 @@ snapshots: dependencies: balanced-match: 4.0.2 + browserslist@4.28.1: + dependencies: + baseline-browser-mapping: 2.9.19 + caniuse-lite: 1.0.30001769 + electron-to-chromium: 1.5.286 + node-releases: 2.0.27 + update-browserslist-db: 1.2.3(browserslist@4.28.1) + cac@6.7.14: {} + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + caniuse-lite@1.0.30001769: {} chai@5.3.3: @@ -2317,31 +3714,114 @@ snapshots: client-only@0.0.1: {} + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + commander@13.1.0: {} + convert-source-map@2.0.0: {} + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 + css.escape@1.5.1: {} + + cssstyle@4.6.0: + dependencies: + '@asamuzakjp/css-color': 3.2.0 + rrweb-cssom: 0.8.0 + csstype@3.2.3: {} + data-urls@5.0.0: + dependencies: + whatwg-mimetype: 4.0.0 + whatwg-url: 14.2.0 + debug@4.4.3: dependencies: ms: 2.1.3 + decimal.js@10.6.0: {} + deep-eql@5.0.2: {} deep-is@0.1.4: {} - detect-libc@2.1.2: - optional: true + delayed-stream@1.0.0: {} + + dequal@2.0.3: {} + + detect-libc@2.1.2: {} + + dom-accessibility-api@0.5.16: {} + + dom-accessibility-api@0.6.3: {} + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + electron-to-chromium@1.5.286: {} emoji-regex@10.6.0: {} + enhanced-resolve@5.19.0: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.3.0 + + entities@6.0.1: {} + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + es-module-lexer@1.7.0: {} + es-object-atoms@1.1.1: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.1.0: + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + esbuild@0.21.5: + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 + esbuild@0.27.3: optionalDependencies: '@esbuild/aix-ppc64': 0.27.3 @@ -2371,11 +3851,13 @@ snapshots: '@esbuild/win32-ia32': 0.27.3 '@esbuild/win32-x64': 0.27.3 + escalade@3.2.0: {} + escape-string-regexp@4.0.0: {} - eslint-config-prettier@10.1.8(eslint@10.0.0): + eslint-config-prettier@10.1.8(eslint@10.0.0(jiti@2.6.1)): dependencies: - eslint: 10.0.0 + eslint: 10.0.0(jiti@2.6.1) eslint-scope@9.1.0: dependencies: @@ -2390,9 +3872,9 @@ snapshots: eslint-visitor-keys@5.0.0: {} - eslint@10.0.0: + eslint@10.0.0(jiti@2.6.1): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.0) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.0(jiti@2.6.1)) '@eslint-community/regexpp': 4.12.2 '@eslint/config-array': 0.23.1 '@eslint/config-helpers': 0.5.2 @@ -2422,6 +3904,8 @@ snapshots: minimatch: 10.2.0 natural-compare: 1.4.0 optionator: 0.9.4 + optionalDependencies: + jiti: 2.6.1 transitivePeerDependencies: - supports-color @@ -2475,11 +3959,44 @@ snapshots: flatted@3.3.3: {} + form-data@4.0.5: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + es-set-tostringtag: 2.1.0 + hasown: 2.0.2 + mime-types: 2.1.35 + + fsevents@2.3.2: + optional: true + fsevents@2.3.3: optional: true + function-bind@1.1.2: {} + + gensync@1.0.0-beta.2: {} + get-east-asian-width@1.4.0: {} + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 + get-tsconfig@4.13.6: dependencies: resolve-pkg-maps: 1.0.0 @@ -2488,12 +4005,50 @@ snapshots: dependencies: is-glob: 4.0.3 + gopd@1.2.0: {} + + graceful-fs@4.2.11: {} + + has-symbols@1.1.0: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + html-encoding-sniffer@4.0.0: + dependencies: + whatwg-encoding: 3.1.1 + + http-proxy-agent@7.0.2: + dependencies: + agent-base: 7.1.4 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + https-proxy-agent@7.0.6: + dependencies: + agent-base: 7.1.4 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + ignore@5.3.2: {} ignore@7.0.5: {} imurmurhash@0.1.4: {} + indent-string@4.0.0: {} + is-extglob@2.1.1: {} is-glob@4.0.3: @@ -2502,6 +4057,8 @@ snapshots: is-interactive@2.0.0: {} + is-potential-custom-element-name@1.0.1: {} + is-unicode-supported@1.3.0: {} is-unicode-supported@2.1.0: {} @@ -2512,14 +4069,50 @@ snapshots: dependencies: '@isaacs/cliui': 9.0.0 + jiti@2.6.1: {} + + js-tokens@4.0.0: {} + js-tokens@9.0.1: {} + jsdom@25.0.1: + dependencies: + cssstyle: 4.6.0 + data-urls: 5.0.0 + decimal.js: 10.6.0 + form-data: 4.0.5 + html-encoding-sniffer: 4.0.0 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.23 + parse5: 7.3.0 + rrweb-cssom: 0.7.1 + saxes: 6.0.0 + symbol-tree: 3.2.4 + tough-cookie: 5.1.2 + w3c-xmlserializer: 5.0.0 + webidl-conversions: 7.0.0 + whatwg-encoding: 3.1.1 + whatwg-mimetype: 4.0.0 + whatwg-url: 14.2.0 + ws: 8.19.0 + xml-name-validator: 5.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + jsesc@3.1.0: {} + json-buffer@3.0.1: {} json-schema-traverse@0.4.1: {} json-stable-stringify-without-jsonify@1.0.1: {} + json5@2.2.3: {} + keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -2529,6 +4122,55 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 + lightningcss-android-arm64@1.30.2: + optional: true + + lightningcss-darwin-arm64@1.30.2: + optional: true + + lightningcss-darwin-x64@1.30.2: + optional: true + + lightningcss-freebsd-x64@1.30.2: + optional: true + + lightningcss-linux-arm-gnueabihf@1.30.2: + optional: true + + lightningcss-linux-arm64-gnu@1.30.2: + optional: true + + lightningcss-linux-arm64-musl@1.30.2: + optional: true + + lightningcss-linux-x64-gnu@1.30.2: + optional: true + + lightningcss-linux-x64-musl@1.30.2: + optional: true + + lightningcss-win32-arm64-msvc@1.30.2: + optional: true + + lightningcss-win32-x64-msvc@1.30.2: + optional: true + + lightningcss@1.30.2: + dependencies: + detect-libc: 2.1.2 + optionalDependencies: + lightningcss-android-arm64: 1.30.2 + lightningcss-darwin-arm64: 1.30.2 + lightningcss-darwin-x64: 1.30.2 + lightningcss-freebsd-x64: 1.30.2 + lightningcss-linux-arm-gnueabihf: 1.30.2 + lightningcss-linux-arm64-gnu: 1.30.2 + lightningcss-linux-arm64-musl: 1.30.2 + lightningcss-linux-x64-gnu: 1.30.2 + lightningcss-linux-x64-musl: 1.30.2 + lightningcss-win32-arm64-msvc: 1.30.2 + lightningcss-win32-x64-msvc: 1.30.2 + locate-path@6.0.0: dependencies: p-locate: 5.0.0 @@ -2540,12 +4182,30 @@ snapshots: loupe@3.2.1: {} + lru-cache@10.4.3: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + lz-string@1.5.0: {} + magic-string@0.30.21: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 + math-intrinsics@1.1.0: {} + + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + mimic-function@5.0.1: {} + min-indent@1.0.1: {} + minimatch@10.2.0: dependencies: brace-expansion: 5.0.2 @@ -2560,7 +4220,7 @@ snapshots: natural-compare@1.4.0: {} - next@15.5.12(react-dom@19.2.4(react@19.2.4))(react@19.2.4): + next@15.5.12(@babel/core@7.29.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4): dependencies: '@next/env': 15.5.12 '@swc/helpers': 0.5.15 @@ -2568,7 +4228,7 @@ snapshots: postcss: 8.4.31 react: 19.2.4 react-dom: 19.2.4(react@19.2.4) - styled-jsx: 5.1.6(react@19.2.4) + styled-jsx: 5.1.6(@babel/core@7.29.0)(react@19.2.4) optionalDependencies: '@next/swc-darwin-arm64': 15.5.12 '@next/swc-darwin-x64': 15.5.12 @@ -2583,6 +4243,10 @@ snapshots: - '@babel/core' - babel-plugin-macros + node-releases@2.0.27: {} + + nwsapi@2.2.23: {} + obug@2.1.1: {} onetime@7.0.0: @@ -2618,10 +4282,16 @@ snapshots: dependencies: p-limit: 3.1.0 + parse5@7.3.0: + dependencies: + entities: 6.0.1 + path-exists@4.0.0: {} path-key@3.1.1: {} + pathe@1.1.2: {} + pathe@2.0.3: {} pathval@2.0.1: {} @@ -2630,6 +4300,14 @@ snapshots: picomatch@4.0.3: {} + playwright-core@1.58.2: {} + + playwright@1.58.2: + dependencies: + playwright-core: 1.58.2 + optionalDependencies: + fsevents: 2.3.2 + postcss@8.4.31: dependencies: nanoid: 3.3.11 @@ -2646,6 +4324,12 @@ snapshots: prettier@3.8.1: {} + pretty-format@27.5.1: + dependencies: + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 17.0.2 + punycode@2.3.1: {} react-dom@19.2.4(react@19.2.4): @@ -2653,8 +4337,17 @@ snapshots: react: 19.2.4 scheduler: 0.27.0 + react-is@17.0.2: {} + + react-refresh@0.17.0: {} + react@19.2.4: {} + redent@3.0.0: + dependencies: + indent-string: 4.0.0 + strip-indent: 3.0.0 + resolve-pkg-maps@1.0.0: {} restore-cursor@5.1.0: @@ -2693,8 +4386,20 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.57.1 fsevents: 2.3.3 + rrweb-cssom@0.7.1: {} + + rrweb-cssom@0.8.0: {} + + safer-buffer@2.1.2: {} + + saxes@6.0.0: + dependencies: + xmlchars: 2.2.0 + scheduler@0.27.0: {} + semver@6.3.1: {} + semver@7.7.4: {} sharp@0.34.5: @@ -2757,17 +4462,27 @@ snapshots: dependencies: ansi-regex: 6.2.2 + strip-indent@3.0.0: + dependencies: + min-indent: 1.0.1 + strip-literal@3.1.0: dependencies: js-tokens: 9.0.1 - styled-jsx@5.1.6(react@19.2.4): + styled-jsx@5.1.6(@babel/core@7.29.0)(react@19.2.4): dependencies: client-only: 0.0.1 react: 19.2.4 + optionalDependencies: + '@babel/core': 7.29.0 + + symbol-tree@3.2.4: {} tailwindcss@4.1.18: {} + tapable@2.3.0: {} + tinybench@2.9.0: {} tinyexec@0.3.2: {} @@ -2781,12 +4496,30 @@ snapshots: tinypool@1.1.1: {} + tinyrainbow@1.2.0: {} + tinyrainbow@2.0.0: {} tinyrainbow@3.0.3: {} + tinyspy@3.0.2: {} + tinyspy@4.0.4: {} + tldts-core@6.1.86: {} + + tldts@6.1.86: + dependencies: + tldts-core: 6.1.86 + + tough-cookie@5.1.2: + dependencies: + tldts: 6.1.86 + + tr46@5.1.1: + dependencies: + punycode: 2.3.1 + ts-api-utils@2.4.0(typescript@5.9.3): dependencies: typescript: 5.9.3 @@ -2804,13 +4537,13 @@ snapshots: dependencies: prelude-ls: 1.2.1 - typescript-eslint@8.55.0(eslint@10.0.0)(typescript@5.9.3): + typescript-eslint@8.55.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.55.0(@typescript-eslint/parser@8.55.0(eslint@10.0.0)(typescript@5.9.3))(eslint@10.0.0)(typescript@5.9.3) - '@typescript-eslint/parser': 8.55.0(eslint@10.0.0)(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.55.0(@typescript-eslint/parser@8.55.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.55.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/typescript-estree': 8.55.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.55.0(eslint@10.0.0)(typescript@5.9.3) - eslint: 10.0.0 + '@typescript-eslint/utils': 8.55.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) + eslint: 10.0.0(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -2819,17 +4552,41 @@ snapshots: undici-types@7.16.0: {} + update-browserslist-db@1.2.3(browserslist@4.28.1): + dependencies: + browserslist: 4.28.1 + escalade: 3.2.0 + picocolors: 1.1.1 + uri-js@4.4.1: dependencies: punycode: 2.3.1 - vite-node@3.2.4(@types/node@25.2.3)(tsx@4.21.0)(yaml@2.8.2): + vite-node@2.1.9(@types/node@25.2.3)(lightningcss@1.30.2): + dependencies: + cac: 6.7.14 + debug: 4.4.3 + es-module-lexer: 1.7.0 + pathe: 1.1.2 + vite: 5.4.21(@types/node@25.2.3)(lightningcss@1.30.2) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + + vite-node@3.2.4(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2): dependencies: cac: 6.7.14 debug: 4.4.3 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.3.1(@types/node@25.2.3)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - '@types/node' - jiti @@ -2844,7 +4601,17 @@ snapshots: - tsx - yaml - vite@7.3.1(@types/node@25.2.3)(tsx@4.21.0)(yaml@2.8.2): + vite@5.4.21(@types/node@25.2.3)(lightningcss@1.30.2): + dependencies: + esbuild: 0.21.5 + postcss: 8.5.6 + rollup: 4.57.1 + optionalDependencies: + '@types/node': 25.2.3 + fsevents: 2.3.3 + lightningcss: 1.30.2 + + vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2): dependencies: esbuild: 0.27.3 fdir: 6.5.0(picomatch@4.0.3) @@ -2855,14 +4622,52 @@ snapshots: optionalDependencies: '@types/node': 25.2.3 fsevents: 2.3.3 + jiti: 2.6.1 + lightningcss: 1.30.2 tsx: 4.21.0 yaml: 2.8.2 - vitest@3.2.4(@types/node@25.2.3)(tsx@4.21.0)(yaml@2.8.2): + vitest@2.1.9(@types/node@25.2.3)(jsdom@25.0.1)(lightningcss@1.30.2): + dependencies: + '@vitest/expect': 2.1.9 + '@vitest/mocker': 2.1.9(vite@5.4.21(@types/node@25.2.3)(lightningcss@1.30.2)) + '@vitest/pretty-format': 2.1.9 + '@vitest/runner': 2.1.9 + '@vitest/snapshot': 2.1.9 + '@vitest/spy': 2.1.9 + '@vitest/utils': 2.1.9 + chai: 5.3.3 + debug: 4.4.3 + expect-type: 1.3.0 + magic-string: 0.30.21 + pathe: 1.1.2 + std-env: 3.10.0 + tinybench: 2.9.0 + tinyexec: 0.3.2 + tinypool: 1.1.1 + tinyrainbow: 1.2.0 + vite: 5.4.21(@types/node@25.2.3)(lightningcss@1.30.2) + vite-node: 2.1.9(@types/node@25.2.3)(lightningcss@1.30.2) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/node': 25.2.3 + jsdom: 25.0.1 + transitivePeerDependencies: + - less + - lightningcss + - msw + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + + vitest@3.2.4(@types/node@25.2.3)(jiti@2.6.1)(jsdom@25.0.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2): dependencies: '@types/chai': 5.2.3 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@7.3.1(@types/node@25.2.3)(tsx@4.21.0)(yaml@2.8.2)) + '@vitest/mocker': 3.2.4(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -2880,11 +4685,12 @@ snapshots: tinyglobby: 0.2.15 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.3.1(@types/node@25.2.3)(tsx@4.21.0)(yaml@2.8.2) - vite-node: 3.2.4(@types/node@25.2.3)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2) + vite-node: 3.2.4(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 25.2.3 + jsdom: 25.0.1 transitivePeerDependencies: - jiti - less @@ -2899,10 +4705,10 @@ snapshots: - tsx - yaml - vitest@4.0.18(@types/node@25.2.3)(tsx@4.21.0)(yaml@2.8.2): + vitest@4.0.18(@types/node@25.2.3)(jiti@2.6.1)(jsdom@25.0.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2): dependencies: '@vitest/expect': 4.0.18 - '@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@25.2.3)(tsx@4.21.0)(yaml@2.8.2)) + '@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2)) '@vitest/pretty-format': 4.0.18 '@vitest/runner': 4.0.18 '@vitest/snapshot': 4.0.18 @@ -2919,10 +4725,11 @@ snapshots: tinyexec: 1.0.2 tinyglobby: 0.2.15 tinyrainbow: 3.0.3 - vite: 7.3.1(@types/node@25.2.3)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)(yaml@2.8.2) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 25.2.3 + jsdom: 25.0.1 transitivePeerDependencies: - jiti - less @@ -2936,6 +4743,23 @@ snapshots: - tsx - yaml + w3c-xmlserializer@5.0.0: + dependencies: + xml-name-validator: 5.0.0 + + webidl-conversions@7.0.0: {} + + whatwg-encoding@3.1.1: + dependencies: + iconv-lite: 0.6.3 + + whatwg-mimetype@4.0.0: {} + + whatwg-url@14.2.0: + dependencies: + tr46: 5.1.1 + webidl-conversions: 7.0.0 + which@2.0.2: dependencies: isexe: 2.0.0 @@ -2947,6 +4771,14 @@ snapshots: word-wrap@1.2.5: {} + ws@8.19.0: {} + + xml-name-validator@5.0.0: {} + + xmlchars@2.2.0: {} + + yallist@3.1.1: {} + yaml@2.8.2: {} yocto-queue@0.1.0: {}