@vercel/agent-eval-playground 0.0.4 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +2 -2
- package/.next/cache/.previewinfo +1 -1
- package/.next/cache/.rscinfo +1 -1
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/config.json +3 -3
- package/.next/fallback-build-manifest.json +2 -2
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/app/_global-error.html +2 -2
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/compare/page_client-reference-manifest.js +1 -1
- package/.next/server/app/evals/[name]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/evals/page_client-reference-manifest.js +1 -1
- package/.next/server/app/experiments/[name]/[timestamp]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/experiments/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/transcript/[experiment]/[timestamp]/[evalName]/[run]/page_client-reference-manifest.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__3702960d._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__3702960d._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__4228b9c3._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__4228b9c3._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__a216b589._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__a216b589._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__ac2a456c._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__ac2a456c._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__b8fc4094._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__b8fc4094._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__c73d60f7._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__c73d60f7._.js.map +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__f286e9a8._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__f286e9a8._.js.map +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +2 -2
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/b7a73603aa202938.css +4 -0
- package/.next/trace +1 -1
- package/.next/trace-build +1 -1
- package/bin.mjs +2 -2
- package/lib/data.ts +26 -3
- package/package.json +1 -1
- package/.next/static/chunks/0991c664dee6f315.css +0 -4
- /package/.next/static/{NGh8gCSdoXTpQg_4P31X7 → 18FWD5uOgTIXkpCwU5Mf_}/_buildManifest.js +0 -0
- /package/.next/static/{NGh8gCSdoXTpQg_4P31X7 → 18FWD5uOgTIXkpCwU5Mf_}/_clientMiddlewareManifest.json +0 -0
- /package/.next/static/{NGh8gCSdoXTpQg_4P31X7 → 18FWD5uOgTIXkpCwU5Mf_}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../packages/playground/lib/data.ts","../../../../../../packages/playground/components/ui/card.tsx","../../../../../../packages/playground/components/ShowMore.tsx/__nextjs-internal-proxy.mjs","../../../../../../packages/playground/components/EvalsPage.tsx","../../../../../../packages/playground/app/evals/page.tsx"],"sourcesContent":["/**\n * Server-side data access for the playground.\n * Reads JSON files from the results/ and evals/ directories.\n * Directory paths are provided via RESULTS_DIR and EVALS_DIR env vars.\n */\n\nimport { readdirSync, readFileSync, existsSync } from \"fs\";\nimport { join, resolve } from \"path\";\n\nfunction getResultsDir(): string {\n return resolve(process.env.RESULTS_DIR || \"./results\");\n}\n\nfunction getEvalsDir(): string {\n return resolve(process.env.EVALS_DIR || \"./evals\");\n}\n\n/** List experiments from the results directory. Pass limit to cap expensive per-item reads. */\nexport function listExperiments(limit?: number) {\n const resultsDir = getResultsDir();\n\n if (!existsSync(resultsDir)) {\n return { items: [], total: 0 };\n }\n\n const entries = readdirSync(resultsDir, { withFileTypes: true })\n .filter((e) => e.isDirectory())\n .map((e) => e.name);\n\n const total = entries.length;\n const toProcess = limit ? entries.slice(0, limit) : entries;\n\n const items = toProcess.map((name) => {\n const expDir = join(resultsDir, name);\n const timestamps = readdirSync(expDir, { withFileTypes: true })\n .filter((e) => e.isDirectory())\n .map((e) => e.name)\n .sort()\n .reverse();\n\n let latestPassRate: number | undefined;\n let latestTotalRuns = 0;\n let latestPassedRuns = 0;\n\n if (timestamps.length > 0) {\n const latestDir = join(expDir, timestamps[0]);\n const evalDirs = readdirSync(latestDir, { withFileTypes: true }).filter(\n (e) => e.isDirectory()\n );\n\n for (const evalDir of evalDirs) {\n const summaryPath = join(latestDir, evalDir.name, \"summary.json\");\n if (existsSync(summaryPath)) {\n try {\n const summary = JSON.parse(readFileSync(summaryPath, \"utf-8\"));\n latestTotalRuns += summary.totalRuns ?? 0;\n latestPassedRuns += summary.passedRuns ?? 0;\n } catch {\n // Skip invalid summary files\n }\n }\n }\n\n if (latestTotalRuns > 0) {\n latestPassRate = (latestPassedRuns / latestTotalRuns) * 100;\n }\n }\n\n return {\n name,\n timestamps,\n latestTimestamp: timestamps[0] ?? null,\n latestPassRate,\n latestTotalRuns,\n latestPassedRuns,\n };\n });\n\n return { items, total };\n}\n\n/** Get timestamps for a specific experiment */\nexport function getExperiment(name: string) {\n const expDir = join(getResultsDir(), name);\n\n if (!existsSync(expDir)) {\n return null;\n }\n\n const timestamps = readdirSync(expDir, { withFileTypes: true })\n .filter((e) => e.isDirectory())\n .map((e) => e.name)\n .sort()\n .reverse();\n\n return { name, timestamps, latestTimestamp: timestamps[0] ?? null };\n}\n\n/** Get full experiment detail for a specific timestamp */\nexport function getExperimentDetail(name: string, timestamp: string) {\n const runDir = join(getResultsDir(), name, timestamp);\n\n if (!existsSync(runDir)) {\n return null;\n }\n\n const evalDirs = readdirSync(runDir, { withFileTypes: true })\n .filter((e) => e.isDirectory())\n .map((e) => e.name);\n\n const evals = evalDirs.map((evalName) => {\n const evalDir = join(runDir, evalName);\n const summaryPath = join(evalDir, \"summary.json\");\n\n let summary = {\n totalRuns: 0,\n passedRuns: 0,\n passRate: \"0%\",\n meanDuration: 0,\n };\n if (existsSync(summaryPath)) {\n try {\n summary = JSON.parse(readFileSync(summaryPath, \"utf-8\"));\n } catch {\n // Use defaults\n }\n }\n\n // List run directories\n const runDirs = readdirSync(evalDir, { withFileTypes: true })\n .filter((e) => e.isDirectory() && e.name.startsWith(\"run-\"))\n .map((e) => e.name)\n .sort();\n\n // Read each run's result.json\n const runs = runDirs.map((runDirName) => {\n const resultPath = join(evalDir, runDirName, \"result.json\");\n let result = null;\n if (existsSync(resultPath)) {\n try {\n result = JSON.parse(readFileSync(resultPath, \"utf-8\"));\n } catch {\n // Skip\n }\n }\n return { name: runDirName, result };\n });\n\n return {\n name: evalName,\n totalRuns: summary.totalRuns,\n passedRuns: summary.passedRuns,\n passRate:\n typeof summary.passRate === \"string\"\n ? parseFloat(summary.passRate)\n : summary.passRate,\n meanDuration: summary.meanDuration,\n runs,\n };\n });\n\n return { name, timestamp, evals };\n}\n\n/** Get result for a specific run */\nexport function getRunResult(\n experiment: string,\n timestamp: string,\n evalName: string,\n run: string\n) {\n const resultPath = join(\n getResultsDir(),\n experiment,\n timestamp,\n evalName,\n run,\n \"result.json\"\n );\n\n if (!existsSync(resultPath)) {\n return null;\n }\n\n try {\n return { result: JSON.parse(readFileSync(resultPath, \"utf-8\")) };\n } catch {\n return null;\n }\n}\n\n/** Get parsed transcript for a specific run */\nexport function getTranscript(\n experiment: string,\n timestamp: string,\n evalName: string,\n run: string\n) {\n const transcriptPath = join(\n getResultsDir(),\n experiment,\n timestamp,\n evalName,\n run,\n \"transcript.json\"\n );\n\n if (!existsSync(transcriptPath)) {\n return null;\n }\n\n try {\n return JSON.parse(readFileSync(transcriptPath, \"utf-8\"));\n } catch {\n return null;\n }\n}\n\n/** List evals from the evals directory. Pass limit to cap per-item reads. */\nexport function listEvals(limit?: number) {\n const evalsDir = getEvalsDir();\n\n if (!existsSync(evalsDir)) {\n return { items: [], total: 0 };\n }\n\n const entries = readdirSync(evalsDir, { withFileTypes: true })\n .filter((e) => e.isDirectory())\n .map((e) => e.name);\n\n const total = entries.length;\n const toProcess = limit ? entries.slice(0, limit) : entries;\n\n const items = toProcess.map((name) => {\n const evalDir = join(evalsDir, name);\n const promptPath = join(evalDir, \"PROMPT.md\");\n let prompt = \"\";\n if (existsSync(promptPath)) {\n prompt = readFileSync(promptPath, \"utf-8\");\n }\n\n const files = readdirSync(evalDir, { withFileTypes: true })\n .filter((e) => e.isFile())\n .map((e) => e.name);\n\n return { name, prompt, files };\n });\n\n return { items, total };\n}\n\n/** Get detail for a specific eval */\nexport function getEvalDetail(name: string) {\n const evalDir = join(getEvalsDir(), name);\n\n if (!existsSync(evalDir)) {\n return null;\n }\n\n const promptPath = join(evalDir, \"PROMPT.md\");\n let prompt = \"\";\n if (existsSync(promptPath)) {\n prompt = readFileSync(promptPath, \"utf-8\");\n }\n\n // Recursively list files\n const files: string[] = [];\n function walk(dir: string, prefix: string) {\n const entries = readdirSync(dir, { withFileTypes: true });\n for (const entry of entries) {\n if (entry.name === \"node_modules\" || entry.name === \".git\") continue;\n const relativePath = prefix ? `${prefix}/${entry.name}` : entry.name;\n if (entry.isDirectory()) {\n walk(join(dir, entry.name), relativePath);\n } else {\n files.push(relativePath);\n }\n }\n }\n walk(evalDir, \"\");\n\n // Read file contents for key files\n const fileContents: Record<string, string> = {};\n const keyFiles = [\"PROMPT.md\", \"EVAL.ts\", \"EVAL.tsx\", \"package.json\"];\n for (const file of keyFiles) {\n const filePath = join(evalDir, file);\n if (existsSync(filePath)) {\n try {\n fileContents[file] = readFileSync(filePath, \"utf-8\");\n } catch {\n // Skip unreadable files\n }\n }\n }\n\n return { name, prompt, files, fileContents };\n}\n","import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Card({\n className,\n size = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & { size?: \"default\" | \"sm\" }) {\n return (\n <div\n data-slot=\"card\"\n data-size={size}\n className={cn(\"ring-foreground/10 bg-card text-card-foreground gap-4 overflow-hidden rounded-lg py-4 text-xs/relaxed ring-1 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 *:[img:first-child]:rounded-t-lg *:[img:last-child]:rounded-b-lg group/card flex flex-col\", className)}\n {...props}\n />\n )\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n \"gap-1 rounded-t-lg px-4 group-data-[size=sm]/card:px-3 [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3 group/card-header @container/card-header grid auto-rows-min items-start has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn(\"text-sm font-medium\", className)}\n {...props}\n />\n )\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn(\"text-muted-foreground text-xs/relaxed\", className)}\n {...props}\n />\n )\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn(\n \"col-start-2 row-span-2 row-start-1 self-start justify-self-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn(\"px-4 group-data-[size=sm]/card:px-3\", className)}\n {...props}\n />\n )\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn(\"rounded-b-lg px-4 group-data-[size=sm]/card:px-3 [.border-t]:pt-4 group-data-[size=sm]/card:[.border-t]:pt-3 flex items-center\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent,\n}\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const ShowMore = registerClientReference(\n function() { throw new Error(\"Attempted to call ShowMore() from the server but ShowMore is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/packages/playground/components/ShowMore.tsx\",\n \"ShowMore\",\n);\n","import Link from \"next/link\";\nimport { Card, CardContent, CardHeader, CardTitle } from \"@/components/ui/card\";\nimport { Badge } from \"@/components/ui/badge\";\nimport { ShowMore } from \"@/components/ShowMore\";\n\ninterface EvalInfo {\n name: string;\n prompt: string;\n files: string[];\n}\n\ninterface EvalsPageProps {\n evals: EvalInfo[];\n total: number;\n showAll: boolean;\n}\n\nexport function EvalsPage({ evals, total, showAll }: EvalsPageProps) {\n return (\n <div className=\"space-y-6\">\n <div>\n <h1 className=\"text-2xl font-bold tracking-tight\">Evals</h1>\n <p className=\"text-muted-foreground mt-1\">\n Browse all eval fixtures in your project.\n </p>\n </div>\n\n {evals.length === 0 ? (\n <Card>\n <CardContent className=\"py-12 text-center\">\n <p className=\"text-muted-foreground text-lg\">No evals found</p>\n <p className=\"text-muted-foreground text-sm mt-2\">\n Create evals in your{\" \"}\n <code className=\"text-foreground bg-muted px-1.5 py-0.5 rounded text-xs\">\n evals/\n </code>{\" \"}\n directory.\n </p>\n </CardContent>\n </Card>\n ) : (\n <ShowMore total={total} showAllHref={showAll ? undefined : \"/evals?all\"} className=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4\">\n {evals.map((evalInfo) => (\n <Link key={evalInfo.name} href={`/evals/${encodeURIComponent(evalInfo.name)}`} className=\"block cursor-pointer\">\n <Card className=\"transition-colors hover:bg-muted\">\n <CardHeader>\n <CardTitle className=\"text-base\">{evalInfo.name}</CardTitle>\n </CardHeader>\n <CardContent>\n {evalInfo.prompt && (\n <p className=\"text-sm text-muted-foreground line-clamp-3 mb-3\">\n {evalInfo.prompt.slice(0, 200)}\n {evalInfo.prompt.length > 200 ? \"...\" : \"\"}\n </p>\n )}\n <div className=\"flex flex-wrap gap-1\">\n {evalInfo.files.slice(0, 5).map((file) => (\n <Badge\n key={file}\n variant=\"secondary\"\n className=\"text-xs font-mono\"\n >\n {file}\n </Badge>\n ))}\n {evalInfo.files.length > 5 && (\n <Badge variant=\"outline\" className=\"text-xs\">\n +{evalInfo.files.length - 5} more\n </Badge>\n )}\n </div>\n </CardContent>\n </Card>\n </Link>\n ))}\n </ShowMore>\n )}\n </div>\n );\n}\n","import { EvalsPage } from \"@/components/EvalsPage\";\nimport { listEvals } from \"@/lib/data\";\n\nexport const dynamic = \"force-dynamic\";\n\nconst LIMIT = 21; // 7 rows of 3\n\nexport default async function EvalsRoute({\n searchParams,\n}: {\n searchParams: Promise<{ all?: string }>;\n}) {\n const { all } = await searchParams;\n const showAll = all !== undefined;\n const { items: evals, total } = listEvals(showAll ? undefined : LIMIT);\n\n return <EvalsPage evals={evals} total={total} showAll={showAll} />;\n}\n"],"names":[],"mappings":"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","ignoreList":[2]}
|
|
1
|
+
{"version":3,"sources":["../../../../../../packages/playground/lib/data.ts","../../../../../../packages/playground/components/ui/card.tsx","../../../../../../packages/playground/components/ShowMore.tsx/__nextjs-internal-proxy.mjs","../../../../../../packages/playground/components/EvalsPage.tsx","../../../../../../packages/playground/app/evals/page.tsx"],"sourcesContent":["/**\n * Server-side data access for the playground.\n * Reads JSON files from the results/ and evals/ directories.\n * Directory paths are provided via RESULTS_DIR and EVALS_DIR env vars.\n */\n\nimport { readdirSync, readFileSync, existsSync } from \"fs\";\nimport { join, resolve } from \"path\";\n\nfunction getResultsDir(): string {\n return resolve(process.env.RESULTS_DIR || \"./results\");\n}\n\nfunction getEvalsDir(): string {\n return resolve(process.env.EVALS_DIR || \"./evals\");\n}\n\n/** List experiments from the results directory. Pass limit to cap expensive per-item reads. */\nexport function listExperiments(limit?: number) {\n const resultsDir = getResultsDir();\n\n if (!existsSync(resultsDir)) {\n return { items: [], total: 0 };\n }\n\n const entries = readdirSync(resultsDir, { withFileTypes: true })\n .filter((e) => e.isDirectory())\n .map((e) => e.name);\n\n const total = entries.length;\n const toProcess = limit ? entries.slice(0, limit) : entries;\n\n const items = toProcess.map((name) => {\n const expDir = join(resultsDir, name);\n const timestamps = readdirSync(expDir, { withFileTypes: true })\n .filter((e) => e.isDirectory())\n .map((e) => e.name)\n .sort()\n .reverse();\n\n let latestPassRate: number | undefined;\n let latestTotalRuns = 0;\n let latestPassedRuns = 0;\n\n if (timestamps.length > 0) {\n const latestDir = join(expDir, timestamps[0]);\n const evalDirs = readdirSync(latestDir, { withFileTypes: true }).filter(\n (e) => e.isDirectory()\n );\n\n for (const evalDir of evalDirs) {\n const summaryPath = join(latestDir, evalDir.name, \"summary.json\");\n if (existsSync(summaryPath)) {\n try {\n const summary = JSON.parse(readFileSync(summaryPath, \"utf-8\"));\n latestTotalRuns += summary.totalRuns ?? 0;\n latestPassedRuns += summary.passedRuns ?? 0;\n } catch {\n // Skip invalid summary files\n }\n }\n }\n\n if (latestTotalRuns > 0) {\n latestPassRate = (latestPassedRuns / latestTotalRuns) * 100;\n }\n }\n\n return {\n name,\n timestamps,\n latestTimestamp: timestamps[0] ?? null,\n latestPassRate,\n latestTotalRuns,\n latestPassedRuns,\n };\n });\n\n return { items, total };\n}\n\n/** Get timestamps for a specific experiment */\nexport function getExperiment(name: string) {\n const expDir = join(getResultsDir(), name);\n\n if (!existsSync(expDir)) {\n return null;\n }\n\n const timestamps = readdirSync(expDir, { withFileTypes: true })\n .filter((e) => e.isDirectory())\n .map((e) => e.name)\n .sort()\n .reverse();\n\n return { name, timestamps, latestTimestamp: timestamps[0] ?? null };\n}\n\n/** Get full experiment detail for a specific timestamp */\nexport function getExperimentDetail(name: string, timestamp: string) {\n const runDir = join(getResultsDir(), name, timestamp);\n\n if (!existsSync(runDir)) {\n return null;\n }\n\n const evalDirs = readdirSync(runDir, { withFileTypes: true })\n .filter((e) => e.isDirectory())\n .map((e) => e.name);\n\n const evals = evalDirs.map((evalName) => {\n const evalDir = join(runDir, evalName);\n const summaryPath = join(evalDir, \"summary.json\");\n\n let summary = {\n totalRuns: 0,\n passedRuns: 0,\n passRate: \"0%\",\n meanDuration: 0,\n };\n if (existsSync(summaryPath)) {\n try {\n summary = JSON.parse(readFileSync(summaryPath, \"utf-8\"));\n } catch {\n // Use defaults\n }\n }\n\n // List run directories\n const runDirs = readdirSync(evalDir, { withFileTypes: true })\n .filter((e) => e.isDirectory() && e.name.startsWith(\"run-\"))\n .map((e) => e.name)\n .sort();\n\n // Read each run's result.json\n const runs = runDirs.map((runDirName) => {\n const resultPath = join(evalDir, runDirName, \"result.json\");\n let result = null;\n if (existsSync(resultPath)) {\n try {\n result = JSON.parse(readFileSync(resultPath, \"utf-8\"));\n } catch {\n // Skip\n }\n }\n return { name: runDirName, result };\n });\n\n return {\n name: evalName,\n totalRuns: summary.totalRuns,\n passedRuns: summary.passedRuns,\n passRate:\n typeof summary.passRate === \"string\"\n ? parseFloat(summary.passRate)\n : summary.passRate,\n meanDuration: summary.meanDuration,\n runs,\n };\n });\n\n return { name, timestamp, evals };\n}\n\n/** Get result for a specific run */\nexport function getRunResult(\n experiment: string,\n timestamp: string,\n evalName: string,\n run: string\n) {\n const resultPath = join(\n getResultsDir(),\n experiment,\n timestamp,\n evalName,\n run,\n \"result.json\"\n );\n\n if (!existsSync(resultPath)) {\n return null;\n }\n\n try {\n return { result: JSON.parse(readFileSync(resultPath, \"utf-8\")) };\n } catch {\n return null;\n }\n}\n\n/** Get parsed transcript for a specific run */\nexport function getTranscript(\n experiment: string,\n timestamp: string,\n evalName: string,\n run: string\n) {\n const transcriptPath = join(\n getResultsDir(),\n experiment,\n timestamp,\n evalName,\n run,\n \"transcript.json\"\n );\n\n if (!existsSync(transcriptPath)) {\n return null;\n }\n\n try {\n return JSON.parse(readFileSync(transcriptPath, \"utf-8\"));\n } catch {\n return null;\n }\n}\n\n/** List evals from the evals directory. Pass limit to cap per-item reads. */\nexport function listEvals(limit?: number) {\n const evalsDir = getEvalsDir();\n\n if (!existsSync(evalsDir)) {\n return { items: [], total: 0 };\n }\n\n // Recursively discover all evals (directories with PROMPT.md)\n const entries: string[] = [];\n function walk(dir: string, basePath: string = \"\") {\n const dirEntries = readdirSync(dir, { withFileTypes: true });\n\n for (const entry of dirEntries) {\n if (!entry.isDirectory() || entry.name.startsWith(\".\")) {\n continue;\n }\n\n const relativePath = basePath ? `${basePath}/${entry.name}` : entry.name;\n const entryPath = join(dir, entry.name);\n const promptPath = join(entryPath, \"PROMPT.md\");\n\n // Check if this is an eval directory (has PROMPT.md)\n if (existsSync(promptPath)) {\n entries.push(relativePath);\n } else {\n // Not an eval, recurse into it\n walk(entryPath, relativePath);\n }\n }\n }\n\n walk(evalsDir);\n entries.sort();\n\n const total = entries.length;\n const toProcess = limit ? entries.slice(0, limit) : entries;\n\n const items = toProcess.map((name) => {\n const evalDir = join(evalsDir, name);\n const promptPath = join(evalDir, \"PROMPT.md\");\n let prompt = \"\";\n if (existsSync(promptPath)) {\n prompt = readFileSync(promptPath, \"utf-8\");\n }\n\n const files = readdirSync(evalDir, { withFileTypes: true })\n .filter((e) => e.isFile())\n .map((e) => e.name);\n\n return { name, prompt, files };\n });\n\n return { items, total };\n}\n\n/** Get detail for a specific eval */\nexport function getEvalDetail(name: string) {\n const evalDir = join(getEvalsDir(), name);\n\n if (!existsSync(evalDir)) {\n return null;\n }\n\n const promptPath = join(evalDir, \"PROMPT.md\");\n let prompt = \"\";\n if (existsSync(promptPath)) {\n prompt = readFileSync(promptPath, \"utf-8\");\n }\n\n // Recursively list files\n const files: string[] = [];\n function walk(dir: string, prefix: string) {\n const entries = readdirSync(dir, { withFileTypes: true });\n for (const entry of entries) {\n if (entry.name === \"node_modules\" || entry.name === \".git\") continue;\n const relativePath = prefix ? `${prefix}/${entry.name}` : entry.name;\n if (entry.isDirectory()) {\n walk(join(dir, entry.name), relativePath);\n } else {\n files.push(relativePath);\n }\n }\n }\n walk(evalDir, \"\");\n\n // Read file contents for key files\n const fileContents: Record<string, string> = {};\n const keyFiles = [\"PROMPT.md\", \"EVAL.ts\", \"EVAL.tsx\", \"package.json\"];\n for (const file of keyFiles) {\n const filePath = join(evalDir, file);\n if (existsSync(filePath)) {\n try {\n fileContents[file] = readFileSync(filePath, \"utf-8\");\n } catch {\n // Skip unreadable files\n }\n }\n }\n\n return { name, prompt, files, fileContents };\n}\n","import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Card({\n className,\n size = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & { size?: \"default\" | \"sm\" }) {\n return (\n <div\n data-slot=\"card\"\n data-size={size}\n className={cn(\"ring-foreground/10 bg-card text-card-foreground gap-4 overflow-hidden rounded-lg py-4 text-xs/relaxed ring-1 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 *:[img:first-child]:rounded-t-lg *:[img:last-child]:rounded-b-lg group/card flex flex-col\", className)}\n {...props}\n />\n )\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n \"gap-1 rounded-t-lg px-4 group-data-[size=sm]/card:px-3 [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3 group/card-header @container/card-header grid auto-rows-min items-start has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn(\"text-sm font-medium\", className)}\n {...props}\n />\n )\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn(\"text-muted-foreground text-xs/relaxed\", className)}\n {...props}\n />\n )\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn(\n \"col-start-2 row-span-2 row-start-1 self-start justify-self-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn(\"px-4 group-data-[size=sm]/card:px-3\", className)}\n {...props}\n />\n )\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn(\"rounded-b-lg px-4 group-data-[size=sm]/card:px-3 [.border-t]:pt-4 group-data-[size=sm]/card:[.border-t]:pt-3 flex items-center\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent,\n}\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport const ShowMore = registerClientReference(\n function() { throw new Error(\"Attempted to call ShowMore() from the server but ShowMore is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/packages/playground/components/ShowMore.tsx\",\n \"ShowMore\",\n);\n","import Link from \"next/link\";\nimport { Card, CardContent, CardHeader, CardTitle } from \"@/components/ui/card\";\nimport { Badge } from \"@/components/ui/badge\";\nimport { ShowMore } from \"@/components/ShowMore\";\n\ninterface EvalInfo {\n name: string;\n prompt: string;\n files: string[];\n}\n\ninterface EvalsPageProps {\n evals: EvalInfo[];\n total: number;\n showAll: boolean;\n}\n\nexport function EvalsPage({ evals, total, showAll }: EvalsPageProps) {\n return (\n <div className=\"space-y-6\">\n <div>\n <h1 className=\"text-2xl font-bold tracking-tight\">Evals</h1>\n <p className=\"text-muted-foreground mt-1\">\n Browse all eval fixtures in your project.\n </p>\n </div>\n\n {evals.length === 0 ? (\n <Card>\n <CardContent className=\"py-12 text-center\">\n <p className=\"text-muted-foreground text-lg\">No evals found</p>\n <p className=\"text-muted-foreground text-sm mt-2\">\n Create evals in your{\" \"}\n <code className=\"text-foreground bg-muted px-1.5 py-0.5 rounded text-xs\">\n evals/\n </code>{\" \"}\n directory.\n </p>\n </CardContent>\n </Card>\n ) : (\n <ShowMore total={total} showAllHref={showAll ? undefined : \"/evals?all\"} className=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4\">\n {evals.map((evalInfo) => (\n <Link key={evalInfo.name} href={`/evals/${encodeURIComponent(evalInfo.name)}`} className=\"block cursor-pointer\">\n <Card className=\"transition-colors hover:bg-muted\">\n <CardHeader>\n <CardTitle className=\"text-base\">{evalInfo.name}</CardTitle>\n </CardHeader>\n <CardContent>\n {evalInfo.prompt && (\n <p className=\"text-sm text-muted-foreground line-clamp-3 mb-3\">\n {evalInfo.prompt.slice(0, 200)}\n {evalInfo.prompt.length > 200 ? \"...\" : \"\"}\n </p>\n )}\n <div className=\"flex flex-wrap gap-1\">\n {evalInfo.files.slice(0, 5).map((file) => (\n <Badge\n key={file}\n variant=\"secondary\"\n className=\"text-xs font-mono\"\n >\n {file}\n </Badge>\n ))}\n {evalInfo.files.length > 5 && (\n <Badge variant=\"outline\" className=\"text-xs\">\n +{evalInfo.files.length - 5} more\n </Badge>\n )}\n </div>\n </CardContent>\n </Card>\n </Link>\n ))}\n </ShowMore>\n )}\n </div>\n );\n}\n","import { EvalsPage } from \"@/components/EvalsPage\";\nimport { listEvals } from \"@/lib/data\";\n\nexport const dynamic = \"force-dynamic\";\n\nconst LIMIT = 21; // 7 rows of 3\n\nexport default async function EvalsRoute({\n searchParams,\n}: {\n searchParams: Promise<{ all?: string }>;\n}) {\n const { all } = await searchParams;\n const showAll = all !== undefined;\n const { items: evals, total } = listEvals(showAll ? undefined : LIMIT);\n\n return <EvalsPage evals={evals} total={total} showAll={showAll} />;\n}\n"],"names":[],"mappings":"oOAMA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OAEA,SAAS,IACP,MAAO,CAAA,EAAA,EAAA,OAAA,AAAO,EAAC,QAAQ,GAAG,CAAC,WAAW,EAAI,YAC5C,CAEA,SAAS,IACP,MAAO,CAAA,EAAA,EAAA,OAAA,AAAO,EAAC,QAAQ,GAAG,CAAC,SAAS,EAAI,UAC1C,CAGO,SAAS,EAAgB,CAAc,EAC5C,IAAM,EAAa,IAEnB,GAAI,CAAC,CAAA,EAAA,EAAA,UAAA,AAAU,EAAC,GACd,MAAO,CAAE,GADkB,GACX,EAAE,CAAE,MAAO,CAAE,EAG/B,IAAM,EAAU,CAAA,EAAA,EAAA,WAAW,AAAX,EAAY,EAAY,CAAE,eAAe,CAAK,GAC3D,MAAM,CAAC,AAAC,GAAM,EAAE,WAAW,IAC3B,GAAG,CAAC,AAAC,GAAM,EAAE,IAAI,EAEd,EAAQ,EAAQ,MAAM,CAiD5B,MAAO,CAAE,MA9CK,CAFI,EAAQ,EAAQ,KAAK,CAAC,EAAG,GAAS,CAAA,EAE5B,GAAG,CAAC,AAAC,IAC3B,IAOI,EAPE,EAAS,CAAA,EAAA,EAAA,IAAA,AAAI,EAAC,EAAY,GAC1B,EAAa,CAAA,EAAA,EAAA,WAAA,AAAW,EAAC,EAAQ,CAAE,eAAe,CAAK,GAC1D,MAAM,CAAC,AAAC,GAAM,EAAE,WAAW,IAC3B,GAAG,CAAC,AAAC,GAAM,EAAE,IAAI,EACjB,IAAI,GACJ,OAAO,GAGN,EAAkB,EAClB,EAAmB,EAEvB,GAAI,EAAW,MAAM,CAAG,EAAG,CACzB,IAAM,EAAY,CAAA,EAAA,EAAA,IAAA,AAAI,EAAC,EAAQ,CAAU,CAAC,EAAE,EAK5C,IAAK,IAAM,IAJM,CAAA,EAAA,EAAA,EAIK,SAJL,AAAW,EAAC,EAAW,CAAE,eAAe,CAAK,GAAG,MAAM,CACrE,AAAC,GAAM,EAAE,WAAW,IAGU,CAC9B,IAAM,EAAc,CAAA,EAAA,EAAA,IAAA,AAAI,EAAC,EAAW,EAAQ,IAAI,CAAE,gBAClD,GAAI,CAAA,EAAA,EAAA,UAAA,AAAU,EAAC,GACb,GAAI,CACF,IAAM,EAAU,CAFS,IAEJ,KAAK,CAAC,CAAA,EAAA,EAAA,YAAY,AAAZ,EAAa,EAAa,UACrD,GAAmB,EAAQ,SAAS,EAAI,EACxC,GAAoB,EAAQ,UAAU,EAAI,CAC5C,CAAE,KAAM,CAER,CAEJ,CAEI,EAAkB,GAAG,CACvB,EAAkB,EAAmB,EAAmB,GAAA,CAE5D,CAEA,MAAO,MACL,aACA,EACA,gBAAiB,CAAU,CAAC,EAAE,EAAI,oBAClC,kBACA,mBACA,CACF,CACF,SAEgB,CAAM,CACxB,CAoBO,SAAS,EAAoB,CAAY,CAAE,CAAiB,EACjE,IAAM,EAAS,CAAA,EAAA,EAAA,IAAA,AAAI,EAAC,IAAiB,EAAM,SAEtC,AAAL,CAAK,EAAA,CAAD,CAAC,UAAA,AAAU,EAAC,GA2DT,MAAE,AA3DgB,EA2DV,YAAW,MAvDT,AAIH,CAJG,EAAA,EAAA,WAAA,AAAW,EAAC,EAAQ,CAAE,eAAe,CAAK,GACxD,MAAM,CAAC,AAAC,GAAM,EAAE,WAAW,IAC3B,GAAG,CAAE,AAAD,GAAO,EAAE,IAAI,EAEG,GAAG,CAAC,AAAC,IAC1B,IAAM,EAAU,CAAA,EAAA,EAAA,IAAA,AAAI,EAAC,EAAQ,GACvB,EAAc,CAAA,EAAA,EAAA,IAAA,AAAI,EAAC,EAAS,gBAE9B,EAAU,CACZ,UAAW,EACX,WAAY,EACZ,SAAU,KACV,aAAc,CAChB,EACA,GAAI,CAAA,EAAA,EAAA,UAAA,AAAU,EAAC,GACb,GAAI,CACF,EAAU,KAFe,AAEV,KAAK,CAAC,CAAA,EAAA,EAAA,YAAY,AAAZ,EAAa,EAAa,SACjD,CAAE,KAAM,CAER,CAUF,IAAM,EANU,AAMH,CANG,EAAA,EAAA,WAAA,AAAW,EAAC,EAAS,CAAE,eAAe,CAAK,GACxD,MAAM,CAAC,AAAC,GAAM,EAAE,WAAW,IAAM,EAAE,IAAI,CAAC,UAAU,CAAC,SACnD,GAAG,CAAC,AAAC,GAAM,EAAE,IAAI,EACjB,IAAI,GAGc,GAAG,CAAC,AAAC,IACxB,IAAM,EAAa,CAAA,EAAA,EAAA,IAAA,AAAI,EAAC,EAAS,EAAY,eACzC,EAAS,KACb,GAAI,CAAA,EAAA,EAAA,UAAA,AAAU,EAAC,GACb,GAAI,CACF,EAAS,IAFe,CAEV,KAAK,CAAC,CAAA,EAAA,EAAA,YAAY,AAAZ,EAAa,EAAY,SAC/C,CAAE,KAAM,CAER,CAEF,MAAO,CAAE,KAAM,SAAY,CAAO,CACpC,GAEA,MAAO,CACL,KAAM,EACN,UAAW,EAAQ,SAAS,CAC5B,WAAY,EAAQ,UAAU,CAC9B,SAC8B,UAA5B,OAAO,EAAQ,QAAQ,CACnB,WAAW,EAAQ,QAAQ,EAC3B,EAAQ,QAAQ,CACtB,aAAc,EAAQ,YAAY,MAClC,CACF,CACF,EAEgC,EA1DvB,IA2DX,CA8BO,SAAS,EACd,CAAkB,CAClB,CAAiB,CACjB,CAAgB,CAChB,CAAW,EAEX,IAAM,EAAiB,CAAA,EAAA,EAAA,IAAA,AAAI,EACzB,IACA,EACA,EACA,EACA,EACA,mBAGF,GAAI,CAAC,CAAA,EAAA,EAAA,UAAA,AAAU,EAAC,GACd,OAAO,KAGT,EAJiC,CAI7B,CACF,OAAO,KAAK,KAAK,CAAC,CAAA,EAAA,EAAA,YAAY,AAAZ,EAAa,EAAgB,SACjD,CAAE,KAAM,CACN,OAAO,IACT,CACF,CAGO,SAAS,EAAU,CAAc,EACtC,IAAM,EAAW,IAEjB,GAAI,CAAC,CAAA,EAAA,EAAA,UAAA,AAAU,EAAC,GACd,MAAO,CAAE,CADgB,KACT,EAAE,CAAE,MAAO,CAAE,EAI/B,IAAM,EAAoB,EAAE,EAC5B,AAsBA,SAtBS,EAAK,CAAW,CAAE,EAAmB,EAAE,EAG9C,IAAK,IAAM,IAFQ,CAAA,EAAA,EAEC,AAFD,WAAA,AAAW,EAAC,EAAK,CAAE,eAAe,CAAK,GAE1B,CAC9B,GAAI,CAAC,EAAM,WAAW,IAAM,EAAM,IAAI,CAAC,UAAU,CAAC,KAChD,CADsD,QAIxD,IAAM,EAAe,EAAW,CAAA,EAAG,EAAS,CAAC,EAAE,EAAM,IAAI,CAAA,CAAE,CAAG,EAAM,IAAI,CAClE,EAAY,CAAA,EAAA,EAAA,IAAA,AAAI,EAAC,EAAK,EAAM,IAAI,EAChC,EAAa,CAAA,EAAA,EAAA,IAAA,AAAI,EAAC,EAAW,aAG/B,CAAA,EAAA,EAAA,UAAA,AAAU,EAAC,GACb,EAAQ,IAAI,CAAC,GADa,AAI1B,EAAK,EAAW,EAEpB,CACF,EAEK,GACL,EAAQ,IAAI,GAEZ,IAAM,EAAQ,EAAQ,MAAM,CAkB5B,MAAO,CAAE,MAfK,CAFI,EAAQ,EAAQ,KAAK,CAAC,EAAG,GAAS,CAAA,EAE5B,GAAG,CAAC,AAAC,IAC3B,IAAM,EAAU,CAAA,EAAA,EAAA,IAAI,AAAJ,EAAK,EAAU,GACzB,EAAa,CAAA,EAAA,EAAA,IAAA,AAAI,EAAC,EAAS,aAC7B,EAAS,GASb,MARI,CAAA,EAAA,EAAA,UAAA,AAAU,EAAC,KACb,EAAS,CAAA,EAAA,EAAA,CADiB,WACjB,AAAY,EAAC,EAAY,QAAA,EAO7B,MAAE,EAAM,SAAQ,MAJT,CAAA,EAAA,EAAA,WAAA,AAAW,EAAC,EAAS,CAAE,eAAe,CAAK,GACtD,MAAM,CAAC,AAAC,GAAM,EAAE,MAAM,IACtB,GAAG,CAAC,AAAC,GAAM,EAAE,IAAI,CAES,CAC/B,SAEgB,CAAM,CACxB,CAGO,SAAS,EAAc,CAAY,EACxC,IAAM,EAAU,CAAA,EAAA,EAAA,IAAA,AAAI,EAAC,IAAe,GAEpC,GAAI,CAAC,CAAA,EAAA,EAAA,UAAA,AAAU,EAAC,GACd,OADwB,AACjB,KAGT,IAAM,EAAa,CAAA,EAAA,EAAA,IAAA,AAAI,EAAC,EAAS,aAC7B,EAAS,GACT,CAAA,EAAA,EAAA,UAAA,AAAU,EAAC,KACb,EAAS,CAAA,EAAA,EAAA,CADiB,WACjB,AAAY,EAAC,EAAY,QAAA,EAIpC,IAAM,EAAkB,EAAE,EAC1B,AAYA,SAZS,EAAK,CAAW,CAAE,CAAc,EAEvC,IAAK,IAAM,IADK,CAAA,EAAA,EAAA,AACI,WADO,AAAX,EAAY,EAAK,CAAE,eAAe,CAAK,GAC1B,CAC3B,GAAmB,iBAAf,EAAM,IAAI,EAAsC,SAAf,EAAM,IAAI,CAAa,SAC5D,IAAM,EAAe,EAAS,CAAA,EAAG,EAAO,CAAC,EAAE,EAAM,IAAI,CAAA,CAAE,CAAG,EAAM,IAAI,CAChE,EAAM,WAAW,GACnB,CADuB,CAClB,CAAA,EAAA,EAAA,IAAA,AAAI,EAAC,EAAK,EAAM,IAAI,EAAG,GAE5B,EAAM,IAAI,CAAC,EAEf,CACF,EACK,EAAS,IAGd,IAAM,EAAuC,CAAC,EAE9C,IAAK,IAAM,IADM,CAAC,GACC,SADY,UAAW,WAAY,eAAe,CACxC,CAC3B,IAAM,EAAW,CAAA,EAAA,EAAA,IAAI,AAAJ,EAAK,EAAS,GAC/B,GAAI,CAAA,EAAA,EAAA,UAAA,AAAU,EAAC,GACb,GAAI,CACF,CAAY,CAAC,EAFS,AAEJ,CAAG,CAAA,EAAA,EAAA,YAAA,AAAY,EAAC,EAAU,QAC9C,CAAE,KAAM,CAER,CAEJ,CAEA,MAAO,MAAE,SAAM,QAAQ,eAAO,CAAa,CAC7C,kKC7TA,EAAA,EAAA,CAAA,CAAA,OAEA,SAAS,EAAK,WACZ,CAAS,MACT,EAAO,SAAS,CAChB,GAAG,EACuD,EAC1D,MACE,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CACC,YAAU,OACV,YAAW,EACX,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EAAC,8QAA+Q,GAC5R,GAAG,CAAK,EAGf,CAEA,SAAS,EAAW,WAAE,CAAS,CAAE,GAAG,EAAoC,EACtE,MACE,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CACC,YAAU,cACV,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EACX,qSACA,GAED,GAAG,CAAK,EAGf,CAEA,SAAS,EAAU,CAAE,WAAS,CAAE,GAAG,EAAoC,EACrE,MACE,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CACC,YAAU,aACV,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EAAC,sBAAuB,GACpC,GAAG,CAAK,EAGf,CAyBA,SAAS,EAAY,WAAE,CAAS,CAAE,GAAG,EAAoC,EACvE,MACE,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CACC,YAAU,eACV,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EAAC,sCAAuC,GACpD,GAAG,CAAK,EAGf,8HCvEO,IAAM,EAAW,CAAA,EADxB,AACwB,EADxB,CAAA,CAAA,OACwB,uBAAA,AAAuB,EAC3C,WAAa,MAAM,AAAI,MAAM,8NAAgO,EAC7P,4EACA,4DAHG,IAAM,EAAW,CAAA,EAAA,AADxB,EAAA,CAAA,CAAA,OACwB,uBAAA,AAAuB,EAC3C,WAAa,MAAM,AAAI,MAAM,8NAAgO,EAC7P,wDACA,+GCLJ,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OAcO,SAAS,EAAU,OAAE,CAAK,OAAE,CAAK,SAAE,CAAO,CAAkB,EACjE,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,sBACb,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,WACC,CAAA,EAAA,EAAA,GAAA,EAAC,KAAA,CAAG,UAAU,6CAAoC,UAClD,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,sCAA6B,iDAK3C,AAAiB,MAAX,MAAM,CACX,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,IAAI,CAAA,UACH,CAAA,EAAA,EAAA,IAAA,EAAC,EAAA,WAAW,CAAA,CAAC,UAAU,8BACrB,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,yCAAgC,mBAC7C,CAAA,EAAA,EAAA,IAAA,EAAC,IAAA,CAAE,UAAU,+CAAqC,uBAC3B,IACrB,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAK,UAAU,kEAAyD,WAEjE,IAAI,qBAMlB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,QAAQ,CAAA,CAAC,MAAO,EAAO,YAAa,OAAU,EAAY,aAAc,UAAU,gEAChF,EAAM,GAAG,CAAC,AAAC,GACV,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,OAAI,CAAA,CAAqB,KAAM,CAAC,OAAO,EAAE,mBAAmB,EAAS,IAAI,EAAA,CAAG,CAAE,UAAU,gCACzF,CAAA,EAAA,EAAA,IAAA,EAAC,EAAA,IAAI,CAAA,CAAC,UAAU,6CACd,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,UAAU,CAAA,UACT,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,SAAS,CAAA,CAAC,UAAU,qBAAa,EAAS,IAAI,KAEjD,CAAA,EAAA,EAAA,IAAA,EAAC,EAAA,WAAW,CAAA,WACT,EAAS,MAAM,EACd,CAAA,EAAA,EAAA,IAAA,EAAC,IAAA,CAAE,UAAU,4DACV,EAAS,MAAM,CAAC,KAAK,CAAC,EAAG,KACzB,EAAS,MAAM,CAAC,MAAM,CAAG,IAAM,MAAQ,MAG5C,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,iCACZ,EAAS,KAAK,CAAC,KAAK,CAAC,EAAG,GAAG,GAAG,CAAC,AAAC,GAC/B,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,KAAK,CAAA,CAEJ,QAAQ,YACR,UAAU,6BAET,GAJI,IAOR,EAAS,KAAK,CAAC,MAAM,CAAG,GACvB,CAAA,EAAA,EAAA,IAAA,EAAC,EAAA,KAAK,CAAA,CAAC,QAAQ,UAAU,UAAU,oBAAU,IACzC,EAAS,KAAK,CAAC,MAAM,CAAG,EAAE,qBAxB3B,EAAS,IAAI,OAoCpC,CC9EA,IAAA,EAAA,EAAA,CAAA,CAAA,MAMe,eAAe,EAAW,CACvC,cAAY,CAGb,EACC,GAAM,KAAE,CAAG,CAAE,CAAG,MAAM,EAChB,OAAkB,IAAR,EACV,CAAE,MAAO,CAAK,CAAE,OAAK,CAAE,CAAG,CAAA,EAAA,EAAA,SAAA,AAAS,EAAC,OAAU,EATxC,IAAI,AAWhB,MAFgE,AAEzD,CAAA,EAAA,EAAA,GAXuB,AAWvB,EAAC,EAAA,CAAU,MAAO,EAAO,MAAO,EAAO,QAAS,GACzD,kCAduB","ignoreList":[2]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><!--NGh8gCSdoXTpQg_4P31X7--><html lang="en" class="dark figtree_e520db2c-module__K_nIxW__variable"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/0991c664dee6f315.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/47fcac10c45fd42a.js"/><script src="/_next/static/chunks/806bdb8e4a6a9b95.js" async=""></script><script src="/_next/static/chunks/db1f4d63ff1d1c41.js" async=""></script><script src="/_next/static/chunks/f2f58a7e93290fbb.js" async=""></script><script src="/_next/static/chunks/turbopack-a58403ee054004b8.js" async=""></script><script src="/_next/static/chunks/7c92e96509cd355e.js" async=""></script><script src="/_next/static/chunks/d2be314c3ece3fbe.js" async=""></script><title>404: This page could not be found.</title><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>Agent Eval Playground</title><meta name="description" content="Browse experiment results, inspect agent transcripts, and compare runs"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased"><div hidden=""><!--$--><!--/$--></div><div class="min-h-screen bg-background"><header class="sticky top-0 z-50 bg-background"><div class="flex h-14 items-center justify-between px-4 gap-6"><div class="flex items-center gap-2"><a title="Made with love by Vercel" href="https://vercel.com"><svg data-testid="geist-icon" height="18" stroke-linejoin="round" viewBox="0 0 16 16" width="18" style="color:currentcolor"><path fill-rule="evenodd" clip-rule="evenodd" d="M8 1L16 15H0L8 1Z" fill="currentColor"></path></svg></a><span class="text-(--ds-gray-500)"><svg data-testid="geist-icon" height="16" stroke-linejoin="round" viewBox="0 0 16 16" width="16" style="color:currentcolor"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.01526 15.3939L4.3107 14.7046L10.3107 0.704556L10.6061 0.0151978L11.9849 0.606077L11.6894 1.29544L5.68942 15.2954L5.39398 15.9848L4.01526 15.3939Z" fill="currentColor"></path></svg></span><a href="/"><span class="font-medium tracking-tight text-lg">agent-eval</span></a></div><nav class="flex items-baseline gap-4"><a class="text-sm text-muted-foreground hover:text-foreground transition-colors" href="/experiments">Experiments</a><a class="text-sm text-muted-foreground hover:text-foreground transition-colors" href="/compare">Compare</a><a class="text-sm text-muted-foreground hover:text-foreground transition-colors" href="/evals">Evals</a></nav></div></header><main class="mx-auto max-w-5xl px-6 py-8 text-sm"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--></main></div><script src="/_next/static/chunks/47fcac10c45fd42a.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[22016,[\"/_next/static/chunks/7c92e96509cd355e.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"\"]\n3:I[39756,[\"/_next/static/chunks/7c92e96509cd355e.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"default\"]\n4:I[37457,[\"/_next/static/chunks/7c92e96509cd355e.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"default\"]\n9:I[68027,[\"/_next/static/chunks/7c92e96509cd355e.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"default\"]\n:HL[\"/_next/static/chunks/0991c664dee6f315.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"NGh8gCSdoXTpQg_4P31X7\",\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0991c664dee6f315.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/7c92e96509cd355e.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/d2be314c3ece3fbe.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark figtree_e520db2c-module__K_nIxW__variable\",\"children\":[\"$\",\"body\",null,{\"className\":\"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased\",\"children\":[\"$\",\"div\",null,{\"className\":\"min-h-screen bg-background\",\"children\":[[\"$\",\"header\",null,{\"className\":\"sticky top-0 z-50 bg-background\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex h-14 items-center justify-between px-4 gap-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-2\",\"children\":[[\"$\",\"$L2\",null,{\"href\":\"https://vercel.com\",\"title\":\"Made with love by Vercel\",\"children\":[\"$\",\"svg\",null,{\"data-testid\":\"geist-icon\",\"height\":\"18\",\"strokeLinejoin\":\"round\",\"viewBox\":\"0 0 16 16\",\"width\":\"18\",\"style\":{\"color\":\"currentcolor\"},\"children\":[\"$\",\"path\",null,{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8 1L16 15H0L8 1Z\",\"fill\":\"currentColor\"}]}]}],[\"$\",\"span\",null,{\"className\":\"text-(--ds-gray-500)\",\"children\":[\"$\",\"svg\",null,{\"data-testid\":\"geist-icon\",\"height\":\"16\",\"strokeLinejoin\":\"round\",\"viewBox\":\"0 0 16 16\",\"width\":\"16\",\"style\":{\"color\":\"currentcolor\"},\"children\":[\"$\",\"path\",null,{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4.01526 15.3939L4.3107 14.7046L10.3107 0.704556L10.6061 0.0151978L11.9849 0.606077L11.6894 1.29544L5.68942 15.2954L5.39398 15.9848L4.01526 15.3939Z\",\"fill\":\"currentColor\"}]}]}],[\"$\",\"$L2\",null,{\"href\":\"/\",\"children\":[\"$\",\"span\",null,{\"className\":\"font-medium tracking-tight text-lg\",\"children\":\"agent-eval\"}]}]]}],[\"$\",\"nav\",null,{\"className\":\"flex items-baseline gap-4\",\"children\":[[\"$\",\"$L2\",null,{\"href\":\"/experiments\",\"className\":\"text-sm text-muted-foreground hover:text-foreground transition-colors\",\"children\":\"Experiments\"}],[\"$\",\"$L2\",null,{\"href\":\"/compare\",\"className\":\"text-sm text-muted-foreground hover:text-foreground transition-colors\",\"children\":\"Compare\"}],[\"$\",\"$L2\",null,{\"href\":\"/evals\",\"className\":\"text-sm text-muted-foreground hover:text-foreground transition-colors\",\"children\":\"Evals\"}]]}]]}]}],[\"$\",\"main\",null,{\"className\":\"mx-auto max-w-5xl px-6 py-8 text-sm\",\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],\"$L5\",\"$L6\"]}]}]],null,\"$L7\"]}],{},null,false,false]},null,false,false]},null,false,false],\"$L8\",false]],\"m\":\"$undefined\",\"G\":[\"$9\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"a:I[97367,[\"/_next/static/chunks/7c92e96509cd355e.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"OutletBoundary\"]\nb:\"$Sreact.suspense\"\nd:I[97367,[\"/_next/static/chunks/7c92e96509cd355e.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"ViewportBoundary\"]\nf:I[97367,[\"/_next/static/chunks/7c92e96509cd355e.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"MetadataBoundary\"]\n5:[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}]\n6:[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]\n7:[\"$\",\"$La\",null,{\"children\":[\"$\",\"$b\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@c\"}]}]\n8:[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lf\",null,{\"children\":[\"$\",\"$b\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L10\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n"])</script><script>self.__next_f.push([1,"e:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"c:null\n10:[[\"$\",\"title\",\"0\",{\"children\":\"Agent Eval Playground\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Browse experiment results, inspect agent transcripts, and compare runs\"}]]\n"])</script></body></html>
|
|
1
|
+
<!DOCTYPE html><!--18FWD5uOgTIXkpCwU5Mf_--><html lang="en" class="dark figtree_e520db2c-module__K_nIxW__variable"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/b7a73603aa202938.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/47fcac10c45fd42a.js"/><script src="/_next/static/chunks/806bdb8e4a6a9b95.js" async=""></script><script src="/_next/static/chunks/db1f4d63ff1d1c41.js" async=""></script><script src="/_next/static/chunks/f2f58a7e93290fbb.js" async=""></script><script src="/_next/static/chunks/turbopack-a58403ee054004b8.js" async=""></script><script src="/_next/static/chunks/7c92e96509cd355e.js" async=""></script><script src="/_next/static/chunks/d2be314c3ece3fbe.js" async=""></script><title>404: This page could not be found.</title><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>Agent Eval Playground</title><meta name="description" content="Browse experiment results, inspect agent transcripts, and compare runs"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased"><div hidden=""><!--$--><!--/$--></div><div class="min-h-screen bg-background"><header class="sticky top-0 z-50 bg-background"><div class="flex h-14 items-center justify-between px-4 gap-6"><div class="flex items-center gap-2"><a title="Made with love by Vercel" href="https://vercel.com"><svg data-testid="geist-icon" height="18" stroke-linejoin="round" viewBox="0 0 16 16" width="18" style="color:currentcolor"><path fill-rule="evenodd" clip-rule="evenodd" d="M8 1L16 15H0L8 1Z" fill="currentColor"></path></svg></a><span class="text-(--ds-gray-500)"><svg data-testid="geist-icon" height="16" stroke-linejoin="round" viewBox="0 0 16 16" width="16" style="color:currentcolor"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.01526 15.3939L4.3107 14.7046L10.3107 0.704556L10.6061 0.0151978L11.9849 0.606077L11.6894 1.29544L5.68942 15.2954L5.39398 15.9848L4.01526 15.3939Z" fill="currentColor"></path></svg></span><a href="/"><span class="font-medium tracking-tight text-lg">agent-eval</span></a></div><nav class="flex items-baseline gap-4"><a class="text-sm text-muted-foreground hover:text-foreground transition-colors" href="/experiments">Experiments</a><a class="text-sm text-muted-foreground hover:text-foreground transition-colors" href="/compare">Compare</a><a class="text-sm text-muted-foreground hover:text-foreground transition-colors" href="/evals">Evals</a></nav></div></header><main class="mx-auto max-w-5xl px-6 py-8 text-sm"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--></main></div><script src="/_next/static/chunks/47fcac10c45fd42a.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[22016,[\"/_next/static/chunks/7c92e96509cd355e.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"\"]\n3:I[39756,[\"/_next/static/chunks/7c92e96509cd355e.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"default\"]\n4:I[37457,[\"/_next/static/chunks/7c92e96509cd355e.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"default\"]\n9:I[68027,[\"/_next/static/chunks/7c92e96509cd355e.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"default\"]\n:HL[\"/_next/static/chunks/b7a73603aa202938.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"18FWD5uOgTIXkpCwU5Mf_\",\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/b7a73603aa202938.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/7c92e96509cd355e.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/d2be314c3ece3fbe.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark figtree_e520db2c-module__K_nIxW__variable\",\"children\":[\"$\",\"body\",null,{\"className\":\"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased\",\"children\":[\"$\",\"div\",null,{\"className\":\"min-h-screen bg-background\",\"children\":[[\"$\",\"header\",null,{\"className\":\"sticky top-0 z-50 bg-background\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex h-14 items-center justify-between px-4 gap-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-2\",\"children\":[[\"$\",\"$L2\",null,{\"href\":\"https://vercel.com\",\"title\":\"Made with love by Vercel\",\"children\":[\"$\",\"svg\",null,{\"data-testid\":\"geist-icon\",\"height\":\"18\",\"strokeLinejoin\":\"round\",\"viewBox\":\"0 0 16 16\",\"width\":\"18\",\"style\":{\"color\":\"currentcolor\"},\"children\":[\"$\",\"path\",null,{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8 1L16 15H0L8 1Z\",\"fill\":\"currentColor\"}]}]}],[\"$\",\"span\",null,{\"className\":\"text-(--ds-gray-500)\",\"children\":[\"$\",\"svg\",null,{\"data-testid\":\"geist-icon\",\"height\":\"16\",\"strokeLinejoin\":\"round\",\"viewBox\":\"0 0 16 16\",\"width\":\"16\",\"style\":{\"color\":\"currentcolor\"},\"children\":[\"$\",\"path\",null,{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4.01526 15.3939L4.3107 14.7046L10.3107 0.704556L10.6061 0.0151978L11.9849 0.606077L11.6894 1.29544L5.68942 15.2954L5.39398 15.9848L4.01526 15.3939Z\",\"fill\":\"currentColor\"}]}]}],[\"$\",\"$L2\",null,{\"href\":\"/\",\"children\":[\"$\",\"span\",null,{\"className\":\"font-medium tracking-tight text-lg\",\"children\":\"agent-eval\"}]}]]}],[\"$\",\"nav\",null,{\"className\":\"flex items-baseline gap-4\",\"children\":[[\"$\",\"$L2\",null,{\"href\":\"/experiments\",\"className\":\"text-sm text-muted-foreground hover:text-foreground transition-colors\",\"children\":\"Experiments\"}],[\"$\",\"$L2\",null,{\"href\":\"/compare\",\"className\":\"text-sm text-muted-foreground hover:text-foreground transition-colors\",\"children\":\"Compare\"}],[\"$\",\"$L2\",null,{\"href\":\"/evals\",\"className\":\"text-sm text-muted-foreground hover:text-foreground transition-colors\",\"children\":\"Evals\"}]]}]]}]}],[\"$\",\"main\",null,{\"className\":\"mx-auto max-w-5xl px-6 py-8 text-sm\",\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],\"$L5\",\"$L6\"]}]}]],null,\"$L7\"]}],{},null,false,false]},null,false,false]},null,false,false],\"$L8\",false]],\"m\":\"$undefined\",\"G\":[\"$9\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"a:I[97367,[\"/_next/static/chunks/7c92e96509cd355e.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"OutletBoundary\"]\nb:\"$Sreact.suspense\"\nd:I[97367,[\"/_next/static/chunks/7c92e96509cd355e.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"ViewportBoundary\"]\nf:I[97367,[\"/_next/static/chunks/7c92e96509cd355e.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"MetadataBoundary\"]\n5:[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}]\n6:[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]\n7:[\"$\",\"$La\",null,{\"children\":[\"$\",\"$b\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@c\"}]}]\n8:[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lf\",null,{\"children\":[\"$\",\"$b\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L10\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n"])</script><script>self.__next_f.push([1,"e:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"c:null\n10:[[\"$\",\"title\",\"0\",{\"children\":\"Agent Eval Playground\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Browse experiment results, inspect agent transcripts, and compare runs\"}]]\n"])</script></body></html>
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
<!DOCTYPE html><!--
|
|
2
|
-
@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/47fcac10c45fd42a.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"ViewportBoundary\"]\n9:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"MetadataBoundary\"]\nb:I[68027,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"
|
|
1
|
+
<!DOCTYPE html><!--18FWD5uOgTIXkpCwU5Mf_--><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/47fcac10c45fd42a.js"/><script src="/_next/static/chunks/806bdb8e4a6a9b95.js" async=""></script><script src="/_next/static/chunks/db1f4d63ff1d1c41.js" async=""></script><script src="/_next/static/chunks/f2f58a7e93290fbb.js" async=""></script><script src="/_next/static/chunks/turbopack-a58403ee054004b8.js" async=""></script><script src="/_next/static/chunks/ff1a16fafef87110.js" async=""></script><script src="/_next/static/chunks/d2be314c3ece3fbe.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: Internal Server Error.</title><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}
|
|
2
|
+
@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/47fcac10c45fd42a.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"ViewportBoundary\"]\n9:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"MetadataBoundary\"]\nb:I[68027,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"18FWD5uOgTIXkpCwU5Mf_\",\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"title\",null,{\"children\":\"500: Internal Server Error.\"}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"lineHeight\":\"48px\"},\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"paddingRight\":23,\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\"},\"children\":\"500\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"28px\"},\"children\":\"Internal Server Error.\"}]}]]}]}]}]]}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/ff1a16fafef87110.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/d2be314c3ece3fbe.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":\"$L8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$La\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\na:[]\n"])</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"
|
|
1
|
+
self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"yPhfBA39jd247dfx1OGF4aW10guypZH48Po+mLiLhgU=\"\n}"
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/400bf8aa837fcb7e-s.b68677ba.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/f7aa21714c1c53f8-s.p.e3544bb0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree Fallback;src:local(Arial);ascent-override:94.32%;descent-override:24.82%;line-gap-override:0.0%;size-adjust:100.72%}.figtree_e520db2c-module__K_nIxW__className{font-family:Figtree,Figtree Fallback;font-style:normal}.figtree_e520db2c-module__K_nIxW__variable{--font-sans:"Figtree","Figtree Fallback"}
|
|
2
|
+
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.8e0177b5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.b97b3418.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.853070df.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
|
|
3
|
+
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c1fdd6c2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.799d8ef8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.dbea232f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
|
|
4
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-content:"";--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:var(--font-sans);--color-red-500:#fb2c36;--color-green-500:#00c758;--color-gray-200:#e5e7eb;--color-black:#000;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-sm:calc(var(--radius) - 4px);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-xs:4px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-geist-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-500:lab(55.4814% 75.0732 48.8528);--color-green-500:lab(70.5521% -66.5147 45.8073);--color-gray-200:lab(91.6229% -.159115 -2.26791)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.\@container\/field-group{container:field-group/inline-size}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.right-2{right:calc(var(--spacing)*2)}.left-1\/2{left:50%}.isolate{isolation:isolate}.z-10{z-index:10}.z-50{z-index:50}.order-first{order:-9999}.order-last{order:9999}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-auto{margin-inline:auto}.-my-2{margin-block:calc(var(--spacing)*-2)}.my-1{margin-block:calc(var(--spacing)*1)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.-ml-1{margin-left:calc(var(--spacing)*-1)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.field-sizing-content{field-sizing:content}.size-2\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-full{width:100%;height:100%}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-10{height:calc(var(--spacing)*10)}.h-14{height:calc(var(--spacing)*14)}.h-20{height:calc(var(--spacing)*20)}.h-\[calc\(--spacing\(4\.75\)\)\]{height:calc(calc(var(--spacing)*4.75))}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-\[calc\(100vh-280px\)\]{height:calc(100vh - 280px)}.h-\[calc\(100vh-300px\)\]{height:calc(100vh - 300px)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\(--available-height\){max-height:var(--available-height)}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-64{max-height:calc(var(--spacing)*64)}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-\[min\(calc\(--spacing\(72\)---spacing\(9\)\)\,calc\(var\(--available-height\)---spacing\(9\)\)\)\]{max-height:min(calc(calc(var(--spacing)*72) - calc(var(--spacing)*9)),calc(var(--available-height) - calc(var(--spacing)*9)))}.min-h-7{min-height:calc(var(--spacing)*7)}.min-h-16{min-height:calc(var(--spacing)*16)}.min-h-screen{min-height:100vh}.w-\(--anchor-width\){width:var(--anchor-width)}.w-\(--radix-dropdown-menu-trigger-width\){width:var(--radix-dropdown-menu-trigger-width)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-12{width:calc(var(--spacing)*12)}.w-24{width:calc(var(--spacing)*24)}.w-44{width:calc(var(--spacing)*44)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\(--available-width\){max-width:var(--available-width)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-32{max-width:calc(var(--spacing)*32)}.max-w-64{max-width:calc(var(--spacing)*64)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-16{min-width:calc(var(--spacing)*16)}.min-w-32{min-width:calc(var(--spacing)*32)}.min-w-\[calc\(var\(--anchor-width\)\+--spacing\(7\)\)\]{min-width:calc(var(--anchor-width) + calc(var(--spacing)*7))}.flex-1{flex:1}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.origin-\(--transform-origin\){transform-origin:var(--transform-origin)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.touch-none{touch-action:none}.resize-none{resize:none}.scroll-my-1{scroll-margin-block:calc(var(--spacing)*1)}.scroll-py-1{scroll-padding-block:calc(var(--spacing)*1)}.list-disc{list-style-type:disc}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-\[1fr_auto_auto_auto\]{grid-template-columns:1fr auto auto auto}.grid-rows-\[auto_1fr\]{grid-template-rows:auto 1fr}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-0\!{gap:calc(var(--spacing)*0)!important}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*10)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*10)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-5{column-gap:calc(var(--spacing)*5)}.gap-y-1{row-gap:calc(var(--spacing)*1)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[calc\(var\(--radius-sm\)-2px\)\]{border-radius:calc(var(--radius-sm) - 2px)}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-t-lg{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.rounded-b-lg{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-border{border-color:var(--border)}.border-input{border-color:var(--input)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-background{background-color:var(--background)}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-border,.bg-border\/50{background-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.bg-border\/50{background-color:color-mix(in oklab,var(--border)50%,transparent)}}.bg-card{background-color:var(--card)}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.bg-foreground{background-color:var(--foreground)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-input\/20{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.bg-input\/20{background-color:color-mix(in oklab,var(--input)20%,transparent)}}.bg-muted{background-color:var(--muted)}.bg-muted-foreground\/10{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.bg-muted-foreground\/10{background-color:color-mix(in oklab,var(--muted-foreground)10%,transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/20{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/20{background-color:color-mix(in oklab,var(--primary)20%,transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-clip-padding{background-clip:padding-box}.fill-foreground{fill:var(--foreground)}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-\[3px\]{padding:3px}.p-px{padding:1px}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0{padding-block:calc(var(--spacing)*0)}.py-0\!{padding-block:calc(var(--spacing)*0)!important}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-2{padding-top:calc(var(--spacing)*2)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-8{padding-right:calc(var(--spacing)*8)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pl-2{padding-left:calc(var(--spacing)*2)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-geist-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-xs\/relaxed{font-size:var(--text-xs);line-height:var(--leading-relaxed)}.text-\[0\.625rem\]{font-size:.625rem}.text-\[10px\]{font-size:10px}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\(--ds-gray-500\){color:var(--ds-gray-500)}.text-background{color:var(--background)}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-foreground,.text-foreground\/60{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/60{color:color-mix(in oklab,var(--foreground)60%,transparent)}}.text-green-500{color:var(--color-green-500)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-500{color:var(--color-red-500)}.text-secondary-foreground{color:var(--secondary-foreground)}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-50{opacity:.5}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-foreground\/10{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.ring-foreground\/10{--tw-ring-color:color-mix(in oklab,var(--foreground)10%,transparent)}}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.running{animation-play-state:running}:is(.\*\:w-full>*){width:100%}.group-focus\/dropdown-menu-item\:text-accent-foreground:is(:where(.group\/dropdown-menu-item):focus *){color:var(--accent-foreground)}.group-has-data-horizontal\/field\:text-balance:is(:where(.group\/field):has([data-horizontal]) *){text-wrap:balance}.group-has-data-\[slot\=combobox-clear\]\/input-group\:hidden:is(:where(.group\/input-group):has([data-slot=combobox-clear]) *){display:none}.group-has-\[\>input\]\/input-group\:pt-2:is(:where(.group\/input-group):has(>input) *){padding-top:calc(var(--spacing)*2)}.group-has-\[\>input\]\/input-group\:pb-2:is(:where(.group\/input-group):has(>input) *){padding-bottom:calc(var(--spacing)*2)}.group-data-empty\/combobox-content\:flex:is(:where(.group\/combobox-content)[data-empty] *){display:flex}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *),.group-data-\[disabled\=true\]\/field\:opacity-50:is(:where(.group\/field)[data-disabled=true] *),.group-data-\[disabled\=true\]\/input-group\:opacity-50:is(:where(.group\/input-group)[data-disabled=true] *){opacity:.5}.group-data-\[orientation\=horizontal\]\/tabs\:h-9:is(:where(.group\/tabs)[data-orientation=horizontal] *){height:calc(var(--spacing)*9)}.group-data-\[orientation\=vertical\]\/tabs\:h-fit:is(:where(.group\/tabs)[data-orientation=vertical] *){height:fit-content}.group-data-\[orientation\=vertical\]\/tabs\:w-full:is(:where(.group\/tabs)[data-orientation=vertical] *){width:100%}.group-data-\[orientation\=vertical\]\/tabs\:flex-col:is(:where(.group\/tabs)[data-orientation=vertical] *){flex-direction:column}.group-data-\[orientation\=vertical\]\/tabs\:justify-start:is(:where(.group\/tabs)[data-orientation=vertical] *){justify-content:flex-start}.group-data-\[size\=sm\]\/alert-dialog-content\:grid:is(:where(.group\/alert-dialog-content)[data-size=sm] *){display:grid}.group-data-\[size\=sm\]\/alert-dialog-content\:grid-cols-2:is(:where(.group\/alert-dialog-content)[data-size=sm] *){grid-template-columns:repeat(2,minmax(0,1fr))}.group-data-\[size\=sm\]\/card\:px-3:is(:where(.group\/card)[data-size=sm] *){padding-inline:calc(var(--spacing)*3)}.group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *){background-color:#0000}.group-data-\[variant\=outline\]\/field-group\:-mb-2:is(:where(.group\/field-group)[data-variant=outline] *){margin-bottom:calc(var(--spacing)*-2)}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-6::file-selector-button{height:calc(var(--spacing)*6)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-xs\/relaxed::file-selector-button{font-size:var(--text-xs);line-height:var(--leading-relaxed)}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.group-data-\[orientation\=horizontal\]\/tabs\:after\:inset-x-0:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);inset-inline:calc(var(--spacing)*0)}.group-data-\[orientation\=horizontal\]\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);bottom:-5px}.group-data-\[orientation\=horizontal\]\/tabs\:after\:h-0\.5:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);height:calc(var(--spacing)*.5)}.group-data-\[orientation\=vertical\]\/tabs\:after\:inset-y-0:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.group-data-\[orientation\=vertical\]\/tabs\:after\:-right-1:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);right:calc(var(--spacing)*-1)}.group-data-\[orientation\=vertical\]\/tabs\:after\:w-0\.5:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);width:calc(var(--spacing)*.5)}.last\:mt-0:last-child{margin-top:calc(var(--spacing)*0)}.focus-within\:border-ring:focus-within{border-color:var(--ring)}.focus-within\:ring-2:focus-within{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-within\:ring-ring\/30:focus-within{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-within\:ring-ring\/30:focus-within{--tw-ring-color:color-mix(in oklab,var(--ring)30%,transparent)}}@media (hover:hover){.hover\:bg-destructive\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/20:hover{background-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.hover\:bg-input\/50:hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-input\/50:hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}.hover\:bg-muted:hover,.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab,var(--primary)80%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus,:is(.focus\:\*\*\:text-accent-foreground:focus *),:is(.not-data-\[variant\=destructive\]\:focus\:\*\*\:text-accent-foreground:not([data-variant=destructive]):focus *){color:var(--accent-foreground)}.focus-visible\:border-destructive\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:border-destructive\/40:focus-visible{border-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-ring\/30:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/30:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)30%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}:where([data-slot=combobox-content]) .in-data-\[slot\=combobox-content\]\:focus-within\:border-inherit:focus-within{border-color:inherit}:where([data-slot=combobox-content]) .in-data-\[slot\=combobox-content\]\:focus-within\:ring-0:focus-within{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.has-disabled\:pointer-events-none:has(:disabled){pointer-events:none}.has-disabled\:cursor-not-allowed:has(:disabled){cursor:not-allowed}.has-disabled\:opacity-50:has(:disabled){opacity:.5}.has-aria-invalid\:border-destructive:has([aria-invalid=true]){border-color:var(--destructive)}.has-aria-invalid\:ring-2:has([aria-invalid=true]){--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.has-aria-invalid\:ring-destructive\/20:has([aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.has-aria-invalid\:ring-destructive\/20:has([aria-invalid=true]){--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.has-data-checked\:bg-primary\/5:has([data-checked]){background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.has-data-checked\:bg-primary\/5:has([data-checked]){background-color:color-mix(in oklab,var(--primary)5%,transparent)}}:is(.has-data-\[align\=block-end\]\:rounded-md:has([data-align=block-end]),.has-data-\[align\=block-start\]\:rounded-md:has([data-align=block-start])){border-radius:calc(var(--radius) - 2px)}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing)*1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing)*2)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing)*1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing)*2)}.has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_auto_1fr\]:has([data-slot=alert-dialog-media]){grid-template-rows:auto auto 1fr}.has-data-\[slot\=alert-dialog-media\]\:gap-x-4:has([data-slot=alert-dialog-media]){column-gap:calc(var(--spacing)*4)}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[slot\=card-description\]\:grid-rows-\[auto_auto\]:has([data-slot=card-description]){grid-template-rows:auto auto}.has-data-\[slot\=combobox-chip\]\:px-1:has([data-slot=combobox-chip]){padding-inline:calc(var(--spacing)*1)}.has-data-\[slot\=combobox-chip-remove\]\:pr-0:has([data-slot=combobox-chip-remove]){padding-right:calc(var(--spacing)*0)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:border-ring:has([data-slot=input-group-control]:focus-visible){border-color:var(--ring)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-2:has([data-slot=input-group-control]:focus-visible){--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/30:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring\/30:has([data-slot=input-group-control]:focus-visible){--tw-ring-color:color-mix(in oklab,var(--ring)30%,transparent)}}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:border-destructive:has([data-slot][aria-invalid=true]){border-color:var(--destructive)}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-2:has([data-slot][aria-invalid=true]){--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/20:has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.has-\[textarea\]\:rounded-md:has(:is(textarea)){border-radius:calc(var(--radius) - 2px)}.has-\[\>\[data-align\=block-end\]\]\:h-auto:has(>[data-align=block-end]){height:auto}.has-\[\>\[data-align\=block-end\]\]\:flex-col:has(>[data-align=block-end]){flex-direction:column}.has-\[\>\[data-align\=block-start\]\]\:h-auto:has(>[data-align=block-start]){height:auto}.has-\[\>\[data-align\=block-start\]\]\:flex-col:has(>[data-align=block-start]){flex-direction:column}.has-\[\>\[data-slot\=checkbox-group\]\]\:gap-3:has(>[data-slot=checkbox-group]){gap:calc(var(--spacing)*3)}.has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]){align-items:flex-start}.has-\[\>\[data-slot\=field\]\]\:w-full:has(>[data-slot=field]){width:100%}.has-\[\>\[data-slot\=field\]\]\:flex-col:has(>[data-slot=field]){flex-direction:column}.has-\[\>\[data-slot\=field\]\]\:rounded-md:has(>[data-slot=field]){border-radius:calc(var(--radius) - 2px)}.has-\[\>\[data-slot\=field\]\]\:border:has(>[data-slot=field]){border-style:var(--tw-border-style);border-width:1px}.has-\[\>\[data-slot\=radio-group\]\]\:gap-3:has(>[data-slot=radio-group]){gap:calc(var(--spacing)*3)}.has-\[\>button\]\:mr-\[-0\.275rem\]:has(>button){margin-right:-.275rem}.has-\[\>button\]\:ml-\[-0\.275rem\]:has(>button){margin-left:-.275rem}.has-\[\>img\:first-child\]\:pt-0:has(>img:first-child){padding-top:calc(var(--spacing)*0)}.has-\[\>kbd\]\:mr-\[-0\.275rem\]:has(>kbd){margin-right:-.275rem}.has-\[\>kbd\]\:ml-\[-0\.275rem\]:has(>kbd){margin-left:-.275rem}.has-\[\>svg\]\:p-0:has(>svg){padding:calc(var(--spacing)*0)}.has-\[\>textarea\]\:h-auto:has(>textarea){height:auto}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-0[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.aria-invalid\:ring-2[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.data-closed\:animate-out[data-closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-closed\:fade-out-0[data-closed]{--tw-exit-opacity:0}.data-closed\:zoom-out-95[data-closed]{--tw-exit-scale:.95}.data-disabled\:pointer-events-none[data-disabled]{pointer-events:none}.data-disabled\:opacity-50[data-disabled]{opacity:.5}.data-empty\:p-0[data-empty]{padding:calc(var(--spacing)*0)}.data-highlighted\:bg-accent[data-highlighted]{background-color:var(--accent)}.data-highlighted\:text-accent-foreground[data-highlighted],:is(.not-data-\[variant\=destructive\]\:data-highlighted\:\*\*\:text-accent-foreground:not([data-variant=destructive])[data-highlighted] *){color:var(--accent-foreground)}.data-horizontal\:h-px[data-horizontal]{height:1px}.data-horizontal\:w-full[data-horizontal]{width:100%}.data-inset\:pl-7\.5[data-inset]{padding-left:calc(var(--spacing)*7.5)}.data-open\:animate-in[data-open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-open\:bg-accent[data-open]{background-color:var(--accent)}.data-open\:text-accent-foreground[data-open]{color:var(--accent-foreground)}.data-open\:fade-in-0[data-open]{--tw-enter-opacity:0}.data-open\:zoom-in-95[data-open]{--tw-enter-scale:.95}.data-placeholder\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-pressed\:bg-transparent[data-pressed]{background-color:#0000}.data-vertical\:w-px[data-vertical]{width:1px}.data-vertical\:self-stretch[data-vertical]{align-self:stretch}.data-\[align-trigger\=true\]\:animate-none[data-align-trigger=true]{animation:none}.data-\[chips\=true\]\:min-w-\(--anchor-width\)[data-chips=true]{min-width:var(--anchor-width)}.data-\[invalid\=true\]\:text-destructive[data-invalid=true]{color:var(--destructive)}.data-\[orientation\=horizontal\]\:flex-col[data-orientation=horizontal]{flex-direction:column}.data-\[position\=popper\]\:h-\(--radix-select-trigger-height\)[data-position=popper]{height:var(--radix-select-trigger-height)}.data-\[position\=popper\]\:w-full[data-position=popper]{width:100%}.data-\[position\=popper\]\:min-w-\(--radix-select-trigger-width\)[data-position=popper]{min-width:var(--radix-select-trigger-width)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=inline-end\]\:slide-in-from-left-2[data-side=inline-end]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=inline-start\]\:slide-in-from-right-2[data-side=inline-start]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-7[data-size=default]{height:calc(var(--spacing)*7)}.data-\[size\=default\]\:max-w-xs[data-size=default]{max-width:var(--container-xs)}.data-\[size\=sm\]\:h-6[data-size=sm]{height:calc(var(--spacing)*6)}.data-\[size\=sm\]\:max-w-64[data-size=sm]{max-width:calc(var(--spacing)*64)}.data-\[size\=sm\]\:gap-3[data-size=sm]{gap:calc(var(--spacing)*3)}.data-\[size\=sm\]\:py-3[data-size=sm]{padding-block:calc(var(--spacing)*3)}.data-\[slot\=checkbox-group\]\:gap-3[data-slot=checkbox-group]{gap:calc(var(--spacing)*3)}:is(.\*\:data-\[slot\=field\]\:p-2>*)[data-slot=field]{padding:calc(var(--spacing)*2)}:is(.\*\:data-\[slot\=field-group\]\:gap-4>*)[data-slot=field-group]{gap:calc(var(--spacing)*4)}:is(.\*\:data-\[slot\=field-label\]\:flex-auto>*)[data-slot=field-label]{flex:auto}:is(.\*\:data-\[slot\=input-group\]\:m-1>*)[data-slot=input-group]{margin:calc(var(--spacing)*1)}:is(.\*\:data-\[slot\=input-group\]\:mb-0>*)[data-slot=input-group]{margin-bottom:calc(var(--spacing)*0)}:is(.\*\:data-\[slot\=input-group\]\:h-7>*)[data-slot=input-group]{height:calc(var(--spacing)*7)}:is(.\*\:data-\[slot\=input-group\]\:border-none>*)[data-slot=input-group]{--tw-border-style:none;border-style:none}:is(.\*\:data-\[slot\=input-group\]\:bg-input\/20>*)[data-slot=input-group]{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){:is(.\*\:data-\[slot\=input-group\]\:bg-input\/20>*)[data-slot=input-group]{background-color:color-mix(in oklab,var(--input)20%,transparent)}}:is(.\*\:data-\[slot\=input-group\]\:shadow-none>*)[data-slot=input-group]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}:is(.\*\*\:data-\[slot\=kbd\]\:rounded-\[calc\(var\(--radius-sm\)-2px\)\] *)[data-slot=kbd]{border-radius:calc(var(--radius-sm) - 2px)}:is(.\*\*\:data-\[slot\=kbd\]\:bg-muted-foreground\/10 *)[data-slot=kbd]{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){:is(.\*\*\:data-\[slot\=kbd\]\:bg-muted-foreground\/10 *)[data-slot=kbd]{background-color:color-mix(in oklab,var(--muted-foreground)10%,transparent)}}:is(.\*\*\:data-\[slot\=kbd\]\:px-1 *)[data-slot=kbd]{padding-inline:calc(var(--spacing)*1)}:is(.\*\*\:data-\[slot\=kbd\]\:text-\[0\.625rem\] *)[data-slot=kbd]{font-size:.625rem}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-1\.5>*)[data-slot=select-value]{gap:calc(var(--spacing)*1.5)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.group-data-\[variant\=default\]\/tabs-list\:data-\[state\=active\]\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *)[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]:after{content:var(--tw-content);opacity:1}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:overflow-hidden[data-state=closed]{overflow:hidden}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}.data-\[variant\=label\]\:text-xs\/relaxed[data-variant=label]{font-size:var(--text-xs);line-height:var(--leading-relaxed)}.data-\[variant\=legend\]\:text-sm[data-variant=legend]{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}.nth-last-2\:-mt-1:nth-last-child(2){margin-top:calc(var(--spacing)*-1)}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-backdrop-filter\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:row-span-2:is(:where(.group\/alert-dialog-content)[data-size=default] *){grid-row:span 2/span 2}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:place-items-start:is(:where(.group\/alert-dialog-content)[data-size=default] *){place-items:start}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:text-left:is(:where(.group\/alert-dialog-content)[data-size=default] *){text-align:left}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:group-has-data-\[slot\=alert-dialog-media\]\/alert-dialog-content\:col-start-2:is(:where(.group\/alert-dialog-content)[data-size=default] *):is(:where(.group\/alert-dialog-content):has([data-slot=alert-dialog-media]) *){grid-column-start:2}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_1fr\]:is(:where(.group\/alert-dialog-content)[data-size=default] *):has([data-slot=alert-dialog-media]){grid-template-rows:auto 1fr}.data-\[size\=default\]\:sm\:max-w-sm[data-size=default]{max-width:var(--container-sm)}}@media (min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:text-xs\/relaxed{font-size:var(--text-xs);line-height:var(--leading-relaxed)}.md\:text-pretty{text-wrap:pretty}}@media (min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@container field-group (min-width:28rem){.\@md\/field-group\:flex-row{flex-direction:row}.\@md\/field-group\:items-center{align-items:center}:is(.\@md\/field-group\:\*\:w-auto>*){width:auto}.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]){align-items:flex-start}:is(.\@md\/field-group\:\*\:data-\[slot\=field-label\]\:flex-auto>*)[data-slot=field-label]{flex:auto}}.dark\:bg-destructive\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/20:is(.dark *){background-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:bg-popover:is(.dark *){background-color:var(--popover)}.dark\:bg-transparent:is(.dark *){background-color:#0000}.dark\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}@media (hover:hover){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:color-mix(in oklab,var(--destructive)30%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.dark\:hover\:text-foreground:is(.dark *):hover{color:var(--foreground)}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:has-aria-invalid\:border-destructive\/50:is(.dark *):has([aria-invalid=true]){border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:has-aria-invalid\:border-destructive\/50:is(.dark *):has([aria-invalid=true]){border-color:color-mix(in oklab,var(--destructive)50%,transparent)}}.dark\:has-aria-invalid\:ring-destructive\/40:is(.dark *):has([aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:has-aria-invalid\:ring-destructive\/40:is(.dark *):has([aria-invalid=true]){--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:has-data-checked\:bg-primary\/10:is(.dark *):has([data-checked]){background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.dark\:has-data-checked\:bg-primary\/10:is(.dark *):has([data-checked]){background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:is(.dark *):has([data-slot][aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-destructive\/40:is(.dark *):has([data-slot][aria-invalid=true]){--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab,var(--destructive)50%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:data-\[state\=active\]\:border-input:is(.dark *)[data-state=active]{border-color:var(--input)}.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:data-\[state\=active\]\:text-foreground:is(.dark *)[data-state=active]{color:var(--foreground)}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:border-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{border-color:#0000}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-2\.5 svg:not([class*=size-]){width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing)*0)}.\[\.border-b\]\:pb-2.border-b{padding-bottom:calc(var(--spacing)*2)}.\[\.border-b\]\:pb-4.border-b{padding-bottom:calc(var(--spacing)*4)}.group-data-\[size\=sm\]\/card\:\[\.border-b\]\:pb-3:is(:where(.group\/card)[data-size=sm] *).border-b{padding-bottom:calc(var(--spacing)*3)}.\[\.border-t\]\:pt-2.border-t{padding-top:calc(var(--spacing)*2)}.\[\.border-t\]\:pt-4.border-t{padding-top:calc(var(--spacing)*4)}.group-data-\[size\=sm\]\/card\:\[\.border-t\]\:pt-3:is(:where(.group\/card)[data-size=sm] *).border-t{padding-top:calc(var(--spacing)*3)}:is(.\*\:\[a\]\:underline>*):is(a){text-decoration-line:underline}:is(.\*\:\[a\]\:underline-offset-3>*):is(a){text-underline-offset:3px}@media (hover:hover){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.\[a\]\:hover\:bg-muted:is(a):hover{background-color:var(--muted)}.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:color-mix(in oklab,var(--primary)80%,transparent)}}.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.\[a\]\:hover\:text-muted-foreground:is(a):hover{color:var(--muted-foreground)}:is(.\*\:\[a\]\:hover\:text-foreground>*):is(a):hover{color:var(--foreground)}}:is(.\*\:\[img\:first-child\]\:rounded-t-lg>*):is(img:first-child){border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}:is(.\*\:\[img\:last-child\]\:rounded-b-lg>*):is(img:last-child){border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing)*2)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)}:is(.\*\:\[svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4>*):is(svg:not([class*=size-])){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&\>\.sr-only\]\:w-auto>.sr-only{width:auto}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x)var(--tw-translate-y)}:is(.has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content]) [role=radio]){margin-top:1px}@container field-group (min-width:28rem){:is(.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content]) [role=radio]){margin-top:1px}}.\[\&\>a\]\:underline>a{text-decoration-line:underline}.\[\&\>a\]\:underline-offset-4>a{text-underline-offset:4px}.\[\&\>a\:hover\]\:text-primary>a:hover{color:var(--primary)}.has-\[\>\[data-align\=block-end\]\]\:\[\&\>input\]\:pt-3:has(>[data-align=block-end])>input{padding-top:calc(var(--spacing)*3)}.has-\[\>\[data-align\=block-start\]\]\:\[\&\>input\]\:pb-3:has(>[data-align=block-start])>input{padding-bottom:calc(var(--spacing)*3)}.has-\[\>\[data-align\=inline-end\]\]\:\[\&\>input\]\:pr-1\.5:has(>[data-align=inline-end])>input{padding-right:calc(var(--spacing)*1.5)}.has-\[\>\[data-align\=inline-start\]\]\:\[\&\>input\]\:pl-1\.5:has(>[data-align=inline-start])>input{padding-left:calc(var(--spacing)*1.5)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-2\.5\!>svg{width:calc(var(--spacing)*2.5)!important;height:calc(var(--spacing)*2.5)!important}.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3>svg:not([class*=size-]){width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5>svg:not([class*=size-]){width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}[data-variant=legend]+.\[\[data-variant\=legend\]\+\&\]\:-mt-1\.5{margin-top:calc(var(--spacing)*-1.5)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--background:#fff;--foreground:#09090b;--card:#fff;--card-foreground:#09090b;--popover:#fff;--popover-foreground:#09090b;--primary:#62a400;--primary-foreground:#f7fee7;--secondary:#f4f4f5;--secondary-foreground:#18181b;--muted:#f4f4f5;--muted-foreground:#71717b;--accent:#f4f4f5;--accent-foreground:#18181b;--destructive:#e40014;--border:#e4e4e7;--input:#e4e4e7;--ring:#9f9fa9;--chart-1:#7bf1a8;--chart-2:#00c758;--chart-3:#00a544;--chart-4:#008138;--chart-5:#016630;--radius:.45rem;--sidebar:#fafafa;--sidebar-foreground:#09090b;--sidebar-primary:#62a400;--sidebar-primary-foreground:#f7fee7;--sidebar-accent:#f4f4f5;--sidebar-accent-foreground:#18181b;--sidebar-border:#e4e4e7;--sidebar-ring:#9f9fa9}@supports (color:lab(0% 0 0)){:root{--background:lab(100% 0 0);--foreground:lab(2.51107% .242703 -.886115);--card:lab(100% 0 0);--card-foreground:lab(2.51107% .242703 -.886115);--popover:lab(100% 0 0);--popover-foreground:lab(2.51107% .242703 -.886115);--primary:lab(61.1055% -41.0235 73.1483);--primary-foreground:lab(98.7039% -5.32573 10.2149);--secondary:lab(96.1634% .0993311 -.364041);--secondary-foreground:lab(8.30603% .618205 -2.16572);--muted:lab(96.1634% .0993311 -.364041);--muted-foreground:lab(47.8878% 1.65477 -5.77283);--accent:lab(96.1634% .0993311 -.364041);--accent-foreground:lab(8.30603% .618205 -2.16572);--destructive:lab(48.4493% 77.4328 61.5452);--border:lab(90.6853% .399232 -1.45452);--input:lab(90.6853% .399232 -1.45452);--ring:lab(65.6464% 1.53497 -5.42429);--chart-1:lab(86.9953% -47.2691 25.0054);--chart-2:lab(70.5521% -66.5147 45.8073);--chart-3:lab(59.0978% -58.6621 41.2579);--chart-4:lab(47.0329% -47.0239 31.4788);--chart-5:lab(37.4616% -36.7971 22.9692);--sidebar:lab(98.26% 0 0);--sidebar-foreground:lab(2.51107% .242703 -.886115);--sidebar-primary:lab(61.1055% -41.0235 73.1483);--sidebar-primary-foreground:lab(98.7039% -5.32573 10.2149);--sidebar-accent:lab(96.1634% .0993311 -.364041);--sidebar-accent-foreground:lab(8.30603% .618205 -2.16572);--sidebar-border:lab(90.6853% .399232 -1.45452);--sidebar-ring:lab(65.6464% 1.53497 -5.42429)}}.dark{--background:#09090b;--foreground:#fafafa;--card:#18181b;--card-foreground:#fafafa;--popover:#18181b;--popover-foreground:#fafafa;--primary:#62a400;--primary-foreground:#f7fee7;--secondary:#27272a;--secondary-foreground:#fafafa;--muted:#27272a;--muted-foreground:#9f9fa9;--accent:#27272a;--accent-foreground:#fafafa;--destructive:#ff6568;--border:#ffffff1a;--input:#ffffff26;--ring:#71717b;--chart-1:#7bf1a8;--chart-2:#00c758;--chart-3:#00a544;--chart-4:#008138;--chart-5:#016630;--sidebar:#18181b;--sidebar-foreground:#fafafa;--sidebar-primary:#80cd00;--sidebar-primary-foreground:#f7fee7;--sidebar-accent:#27272a;--sidebar-accent-foreground:#fafafa;--sidebar-border:#ffffff1a;--sidebar-ring:#71717b}@supports (color:lab(0% 0 0)){.dark{--background:lab(2.51107% .242703 -.886115);--foreground:lab(98.26% 0 0);--card:lab(8.30603% .618205 -2.16572);--card-foreground:lab(98.26% 0 0);--popover:lab(8.30603% .618205 -2.16572);--popover-foreground:lab(98.26% 0 0);--primary:lab(61.1055% -41.0235 73.1483);--primary-foreground:lab(98.7039% -5.32573 10.2149);--secondary:lab(15.7305% .613764 -2.16959);--secondary-foreground:lab(98.26% 0 0);--muted:lab(15.7305% .613764 -2.16959);--muted-foreground:lab(65.6464% 1.53497 -5.42429);--accent:lab(15.7305% .613764 -2.16959);--accent-foreground:lab(98.26% 0 0);--destructive:lab(63.7053% 60.745 31.3109);--border:lab(100% 0 0/.1);--input:lab(100% 0 0/.15);--ring:lab(47.8878% 1.65477 -5.77283);--chart-1:lab(86.9953% -47.2691 25.0054);--chart-2:lab(70.5521% -66.5147 45.8073);--chart-3:lab(59.0978% -58.6621 41.2579);--chart-4:lab(47.0329% -47.0239 31.4788);--chart-5:lab(37.4616% -36.7971 22.9692);--sidebar:lab(8.30603% .618205 -2.16572);--sidebar-foreground:lab(98.26% 0 0);--sidebar-primary:lab(75.3197% -46.6547 86.1778);--sidebar-primary-foreground:lab(98.7039% -5.32573 10.2149);--sidebar-accent:lab(15.7305% .613764 -2.16959);--sidebar-accent-foreground:lab(98.26% 0 0);--sidebar-border:lab(100% 0 0/.1);--sidebar-ring:lab(47.8878% 1.65477 -5.77283)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}
|
package/.next/trace
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"generate-buildid","duration":
|
|
1
|
+
[{"name":"generate-buildid","duration":276,"timestamp":262457957,"id":4,"parentId":1,"tags":{},"startTime":1770427355665,"traceId":"f06a7b69790dcc33"},{"name":"load-custom-routes","duration":416,"timestamp":262458361,"id":5,"parentId":1,"tags":{},"startTime":1770427355666,"traceId":"f06a7b69790dcc33"},{"name":"create-dist-dir","duration":692,"timestamp":262458809,"id":6,"parentId":1,"tags":{},"startTime":1770427355666,"traceId":"f06a7b69790dcc33"},{"name":"clean","duration":275,"timestamp":262460123,"id":7,"parentId":1,"tags":{},"startTime":1770427355667,"traceId":"f06a7b69790dcc33"},{"name":"create-pages-mapping","duration":299,"timestamp":262514146,"id":8,"parentId":1,"tags":{},"startTime":1770427355721,"traceId":"f06a7b69790dcc33"},{"name":"collect-app-files","duration":2737,"timestamp":262514493,"id":9,"parentId":1,"tags":{},"startTime":1770427355722,"traceId":"f06a7b69790dcc33"},{"name":"create-app-mapping","duration":1278,"timestamp":262517268,"id":10,"parentId":1,"tags":{},"startTime":1770427355725,"traceId":"f06a7b69790dcc33"},{"name":"create-app-layouts","duration":168,"timestamp":262518583,"id":11,"parentId":1,"tags":{},"startTime":1770427355726,"traceId":"f06a7b69790dcc33"},{"name":"collect-default-files","duration":986,"timestamp":262521446,"id":13,"parentId":1,"tags":{},"startTime":1770427355729,"traceId":"f06a7b69790dcc33"},{"name":"generate-route-types","duration":19386,"timestamp":262520765,"id":12,"parentId":1,"tags":{},"startTime":1770427355728,"traceId":"f06a7b69790dcc33"},{"name":"public-dir-conflict-check","duration":107,"timestamp":262540206,"id":14,"parentId":1,"tags":{},"startTime":1770427355747,"traceId":"f06a7b69790dcc33"},{"name":"generate-routes-manifest","duration":3266,"timestamp":262540412,"id":15,"parentId":1,"tags":{},"startTime":1770427355748,"traceId":"f06a7b69790dcc33"},{"name":"run-turbopack","duration":4952331,"timestamp":262547874,"id":17,"parentId":1,"tags":{},"startTime":1770427355755,"traceId":"f06a7b69790dcc33"},{"name":"run-typescript","duration":3909542,"timestamp":267510743,"id":19,"parentId":1,"tags":{},"startTime":1770427360718,"traceId":"f06a7b69790dcc33"},{"name":"generate-required-server-files","duration":838,"timestamp":271420660,"id":21,"parentId":1,"tags":{},"startTime":1770427364628,"traceId":"f06a7b69790dcc33"},{"name":"check-static-error-page","duration":3857,"timestamp":271476040,"id":23,"parentId":22,"tags":{},"startTime":1770427364683,"traceId":"f06a7b69790dcc33"},{"name":"is-page-static","duration":245083,"timestamp":271483888,"id":34,"parentId":25,"tags":{},"startTime":1770427364691,"traceId":"f06a7b69790dcc33"},{"name":"check-page","duration":250447,"timestamp":271478629,"id":25,"parentId":22,"tags":{"page":"/_global-error"},"startTime":1770427364686,"traceId":"f06a7b69790dcc33"},{"name":"is-page-static","duration":302196,"timestamp":271499252,"id":35,"parentId":26,"tags":{},"startTime":1770427364707,"traceId":"f06a7b69790dcc33"},{"name":"check-page","duration":322677,"timestamp":271478823,"id":26,"parentId":22,"tags":{"page":"/compare"},"startTime":1770427364686,"traceId":"f06a7b69790dcc33"},{"name":"is-page-static","duration":321793,"timestamp":271482956,"id":33,"parentId":24,"tags":{},"startTime":1770427364690,"traceId":"f06a7b69790dcc33"},{"name":"check-page","duration":327530,"timestamp":271477259,"id":24,"parentId":22,"tags":{"page":"/_not-found"},"startTime":1770427364685,"traceId":"f06a7b69790dcc33"},{"name":"is-page-static","duration":311031,"timestamp":271499443,"id":37,"parentId":28,"tags":{},"startTime":1770427364707,"traceId":"f06a7b69790dcc33"},{"name":"check-page","duration":331546,"timestamp":271478958,"id":28,"parentId":22,"tags":{"page":"/evals"},"startTime":1770427364686,"traceId":"f06a7b69790dcc33"},{"name":"is-page-static","duration":321426,"timestamp":271499512,"id":39,"parentId":30,"tags":{},"startTime":1770427364707,"traceId":"f06a7b69790dcc33"},{"name":"check-page","duration":341658,"timestamp":271479568,"id":30,"parentId":22,"tags":{"page":"/experiments"},"startTime":1770427364687,"traceId":"f06a7b69790dcc33"},{"name":"is-page-static","duration":323708,"timestamp":271499482,"id":38,"parentId":29,"tags":{},"startTime":1770427364707,"traceId":"f06a7b69790dcc33"},{"name":"check-page","duration":344108,"timestamp":271479124,"id":29,"parentId":22,"tags":{"page":"/experiments/[name]/[timestamp]"},"startTime":1770427364686,"traceId":"f06a7b69790dcc33"},{"name":"is-page-static","duration":323928,"timestamp":271499399,"id":36,"parentId":27,"tags":{},"startTime":1770427364707,"traceId":"f06a7b69790dcc33"},{"name":"check-page","duration":344474,"timestamp":271478899,"id":27,"parentId":22,"tags":{"page":"/evals/[name]"},"startTime":1770427364686,"traceId":"f06a7b69790dcc33"},{"name":"is-page-static","duration":327743,"timestamp":271499553,"id":40,"parentId":31,"tags":{},"startTime":1770427364707,"traceId":"f06a7b69790dcc33"},{"name":"check-page","duration":347638,"timestamp":271479686,"id":31,"parentId":22,"tags":{"page":"/"},"startTime":1770427364687,"traceId":"f06a7b69790dcc33"},{"name":"is-page-static","duration":339975,"timestamp":271499580,"id":41,"parentId":32,"tags":{},"startTime":1770427364707,"traceId":"f06a7b69790dcc33"},{"name":"check-page","duration":359781,"timestamp":271479812,"id":32,"parentId":22,"tags":{"page":"/transcript/[experiment]/[timestamp]/[evalName]/[run]"},"startTime":1770427364687,"traceId":"f06a7b69790dcc33"},{"name":"static-check","duration":364373,"timestamp":271475247,"id":22,"parentId":1,"tags":{},"startTime":1770427364683,"traceId":"f06a7b69790dcc33"},{"name":"write-routes-manifest","duration":291,"timestamp":271840175,"id":43,"parentId":1,"tags":{},"startTime":1770427365047,"traceId":"f06a7b69790dcc33"},{"name":"load-dotenv","duration":42,"timestamp":271846333,"id":46,"parentId":45,"tags":{},"startTime":1770427365054,"traceId":"f06a7b69790dcc33"},{"name":"run-export-path-map","duration":282,"timestamp":271848485,"id":47,"parentId":45,"tags":{},"startTime":1770427365056,"traceId":"f06a7b69790dcc33"},{"name":"next-export","duration":83183,"timestamp":271845428,"id":45,"parentId":1,"tags":{},"startTime":1770427365053,"traceId":"f06a7b69790dcc33"},{"name":"move-exported-app-not-found-","duration":458,"timestamp":271929654,"id":48,"parentId":44,"tags":{},"startTime":1770427365137,"traceId":"f06a7b69790dcc33"},{"name":"move-exported-app-global-error-","duration":351,"timestamp":271930190,"id":49,"parentId":44,"tags":{},"startTime":1770427365137,"traceId":"f06a7b69790dcc33"},{"name":"static-generation","duration":89682,"timestamp":271842069,"id":44,"parentId":1,"tags":{},"startTime":1770427365049,"traceId":"f06a7b69790dcc33"},{"name":"write-routes-manifest","duration":244,"timestamp":271931923,"id":50,"parentId":1,"tags":{},"startTime":1770427365139,"traceId":"f06a7b69790dcc33"},{"name":"print-tree-view","duration":2121,"timestamp":271935245,"id":51,"parentId":1,"tags":{},"startTime":1770427365143,"traceId":"f06a7b69790dcc33"},{"name":"telemetry-flush","duration":496816,"timestamp":271937375,"id":52,"parentId":1,"tags":{},"startTime":1770427365145,"traceId":"f06a7b69790dcc33"},{"name":"next-build","duration":10262823,"timestamp":262171393,"id":1,"tags":{"buildMode":"default","version":"16.1.6","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1770427355379,"traceId":"f06a7b69790dcc33"}]
|
package/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-turbopack","duration":
|
|
1
|
+
[{"name":"run-turbopack","duration":4952331,"timestamp":262547874,"id":17,"parentId":1,"tags":{},"startTime":1770427355755,"traceId":"f06a7b69790dcc33"},{"name":"run-typescript","duration":3909542,"timestamp":267510743,"id":19,"parentId":1,"tags":{},"startTime":1770427360718,"traceId":"f06a7b69790dcc33"},{"name":"static-check","duration":364373,"timestamp":271475247,"id":22,"parentId":1,"tags":{},"startTime":1770427364683,"traceId":"f06a7b69790dcc33"},{"name":"static-generation","duration":89682,"timestamp":271842069,"id":44,"parentId":1,"tags":{},"startTime":1770427365049,"traceId":"f06a7b69790dcc33"},{"name":"telemetry-flush","duration":496816,"timestamp":271937375,"id":52,"parentId":1,"tags":{},"startTime":1770427365145,"traceId":"f06a7b69790dcc33"},{"name":"next-build","duration":10262823,"timestamp":262171393,"id":1,"tags":{"buildMode":"default","version":"16.1.6","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1770427355379,"traceId":"f06a7b69790dcc33"}]
|
package/bin.mjs
CHANGED
|
@@ -72,8 +72,8 @@ console.log(` Port: ${port}`);
|
|
|
72
72
|
if (watch) console.log(` Watch: enabled`);
|
|
73
73
|
console.log();
|
|
74
74
|
|
|
75
|
-
// Run next
|
|
76
|
-
const child = spawn(process.execPath, [nextBin, "
|
|
75
|
+
// Run next start (production mode) from the package directory
|
|
76
|
+
const child = spawn(process.execPath, [nextBin, "start", "-p", port], {
|
|
77
77
|
cwd: __dirname,
|
|
78
78
|
stdio: "inherit",
|
|
79
79
|
env: process.env,
|
package/lib/data.ts
CHANGED
|
@@ -224,9 +224,32 @@ export function listEvals(limit?: number) {
|
|
|
224
224
|
return { items: [], total: 0 };
|
|
225
225
|
}
|
|
226
226
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
227
|
+
// Recursively discover all evals (directories with PROMPT.md)
|
|
228
|
+
const entries: string[] = [];
|
|
229
|
+
function walk(dir: string, basePath: string = "") {
|
|
230
|
+
const dirEntries = readdirSync(dir, { withFileTypes: true });
|
|
231
|
+
|
|
232
|
+
for (const entry of dirEntries) {
|
|
233
|
+
if (!entry.isDirectory() || entry.name.startsWith(".")) {
|
|
234
|
+
continue;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
const relativePath = basePath ? `${basePath}/${entry.name}` : entry.name;
|
|
238
|
+
const entryPath = join(dir, entry.name);
|
|
239
|
+
const promptPath = join(entryPath, "PROMPT.md");
|
|
240
|
+
|
|
241
|
+
// Check if this is an eval directory (has PROMPT.md)
|
|
242
|
+
if (existsSync(promptPath)) {
|
|
243
|
+
entries.push(relativePath);
|
|
244
|
+
} else {
|
|
245
|
+
// Not an eval, recurse into it
|
|
246
|
+
walk(entryPath, relativePath);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
walk(evalsDir);
|
|
252
|
+
entries.sort();
|
|
230
253
|
|
|
231
254
|
const total = entries.length;
|
|
232
255
|
const toProcess = limit ? entries.slice(0, limit) : entries;
|