clawatch 1.0.13 → 1.0.20
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/backend/dist/alertChecker.d.ts.map +1 -1
- package/backend/dist/alertChecker.js +130 -1
- package/backend/dist/alertChecker.js.map +1 -1
- package/backend/dist/db.d.ts.map +1 -1
- package/backend/dist/db.js +1 -0
- package/backend/dist/db.js.map +1 -1
- package/backend/dist/projects.d.ts +9 -0
- package/backend/dist/projects.d.ts.map +1 -1
- package/backend/dist/projects.js +87 -23
- package/backend/dist/projects.js.map +1 -1
- package/backend/dist/routes.d.ts.map +1 -1
- package/backend/dist/routes.js +687 -54
- package/backend/dist/routes.js.map +1 -1
- package/backend/dist/sessions.d.ts +14 -7
- package/backend/dist/sessions.d.ts.map +1 -1
- package/backend/dist/sessions.js +199 -43
- package/backend/dist/sessions.js.map +1 -1
- package/backend/dist/sync.d.ts.map +1 -1
- package/backend/dist/sync.js +293 -33
- package/backend/dist/sync.js.map +1 -1
- package/dist/cli.js +225 -93
- package/dist/cli.js.map +1 -1
- package/dist/collector.d.ts.map +1 -1
- package/dist/collector.js +67 -62
- package/dist/collector.js.map +1 -1
- package/dist/config.d.ts +16 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +69 -5
- package/dist/config.js.map +1 -1
- package/frontend/.next/BUILD_ID +1 -1
- package/frontend/.next/build-manifest.json +4 -4
- package/frontend/.next/server/app/_global-error/page/build-manifest.json +2 -2
- package/frontend/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/frontend/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/frontend/.next/server/app/_global-error.html +2 -2
- package/frontend/.next/server/app/_global-error.rsc +8 -8
- package/frontend/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/frontend/.next/server/app/_global-error.segments/_full.segment.rsc +8 -8
- package/frontend/.next/server/app/_global-error.segments/_head.segment.rsc +4 -4
- package/frontend/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/frontend/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/frontend/.next/server/app/_not-found/page/build-manifest.json +2 -2
- package/frontend/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/frontend/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/frontend/.next/server/app/_not-found.html +1 -1
- package/frontend/.next/server/app/_not-found.rsc +9 -9
- package/frontend/.next/server/app/_not-found.segments/_full.segment.rsc +9 -9
- package/frontend/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/frontend/.next/server/app/_not-found.segments/_index.segment.rsc +4 -4
- package/frontend/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/frontend/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/frontend/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/frontend/.next/server/app/dashboard/page/build-manifest.json +2 -2
- package/frontend/.next/server/app/dashboard/page.js.nft.json +1 -1
- package/frontend/.next/server/app/dashboard/page_client-reference-manifest.js +1 -1
- package/frontend/.next/server/app/dashboard/projects/[id]/page/build-manifest.json +2 -2
- package/frontend/.next/server/app/dashboard/projects/[id]/page.js.nft.json +1 -1
- package/frontend/.next/server/app/dashboard/projects/[id]/page_client-reference-manifest.js +1 -1
- package/frontend/.next/server/app/dashboard/sessions/[id]/page/build-manifest.json +2 -2
- package/frontend/.next/server/app/dashboard/sessions/[id]/page.js.nft.json +1 -1
- package/frontend/.next/server/app/dashboard/sessions/[id]/page_client-reference-manifest.js +1 -1
- package/frontend/.next/server/app/dashboard.html +1 -1
- package/frontend/.next/server/app/dashboard.rsc +10 -10
- package/frontend/.next/server/app/dashboard.segments/_full.segment.rsc +10 -10
- package/frontend/.next/server/app/dashboard.segments/_head.segment.rsc +4 -4
- package/frontend/.next/server/app/dashboard.segments/_index.segment.rsc +4 -4
- package/frontend/.next/server/app/dashboard.segments/_tree.segment.rsc +2 -2
- package/frontend/.next/server/app/dashboard.segments/dashboard/__PAGE__.segment.rsc +4 -4
- package/frontend/.next/server/app/dashboard.segments/dashboard.segment.rsc +3 -3
- package/frontend/.next/server/app/index.html +1 -1
- package/frontend/.next/server/app/index.rsc +10 -10
- package/frontend/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
- package/frontend/.next/server/app/index.segments/_full.segment.rsc +10 -10
- package/frontend/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/frontend/.next/server/app/index.segments/_index.segment.rsc +4 -4
- package/frontend/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/frontend/.next/server/app/page/build-manifest.json +2 -2
- package/frontend/.next/server/app/page.js.nft.json +1 -1
- package/frontend/.next/server/app/page_client-reference-manifest.js +1 -1
- package/frontend/.next/server/chunks/ssr/[root-of-the-server]__008d27c3._.js +1 -1
- package/frontend/.next/server/chunks/ssr/{[root-of-the-server]__bdeac1dc._.js → [root-of-the-server]__32661fd1._.js} +2 -2
- package/frontend/.next/server/chunks/ssr/{[root-of-the-server]__8511f4a3._.js → [root-of-the-server]__9b38782c._.js} +2 -2
- package/frontend/.next/server/chunks/ssr/[root-of-the-server]__a64655ed._.js +2 -2
- package/frontend/.next/server/chunks/ssr/[root-of-the-server]__d2832b3e._.js +3 -0
- package/frontend/.next/server/chunks/ssr/[root-of-the-server]__f437da88._.js +1 -1
- package/frontend/.next/server/chunks/ssr/_2bfdd77b._.js +1 -1
- package/frontend/.next/server/chunks/ssr/_b0ae6d33._.js +1 -1
- package/frontend/.next/server/chunks/ssr/_e17fe96b._.js +3 -0
- package/frontend/.next/server/chunks/ssr/_f26b1aca._.js +1 -1
- package/frontend/.next/server/chunks/ssr/node_modules_next_dist_client_components_9774470f._.js +1 -1
- package/frontend/.next/server/chunks/ssr/{node_modules_next_dist_27457240._.js → node_modules_next_dist_esm_eedfc1fd._.js} +2 -2
- package/frontend/.next/server/middleware-build-manifest.js +2 -2
- package/frontend/.next/server/pages/404.html +1 -1
- package/frontend/.next/server/pages/500.html +2 -2
- package/frontend/.next/static/chunks/641e855850e79de9.css +3 -0
- package/frontend/.next/static/chunks/{d702a24e2b6c48fa.js → 6b50f8d2ee1d2bea.js} +2 -2
- package/frontend/.next/static/chunks/88faea50dcf8f778.js +1 -0
- package/frontend/.next/static/chunks/8ffedcb68f4a998f.js +1 -0
- package/frontend/.next/static/chunks/{d2be314c3ece3fbe.js → a2dfb6fc5208ab9b.js} +1 -1
- package/frontend/.next/static/chunks/a909e37955d0604e.js +1 -0
- package/frontend/.next/static/chunks/ba72b58eb8cb3f4e.js +1 -0
- package/frontend/.next/static/chunks/e975763f7a359fb5.js +1 -0
- package/frontend/.next/static/chunks/{turbopack-0df1acbb994b2a74.js → turbopack-1e12e8d4e4225e2f.js} +1 -1
- package/frontend/package.json +1 -0
- package/frontend/server-with-proxy.js +82 -0
- package/package.json +4 -3
- package/frontend/.next/server/chunks/ssr/[root-of-the-server]__48e09bc8._.js +0 -3
- package/frontend/.next/server/chunks/ssr/src_app_dashboard_page_tsx_196c74b5._.js +0 -3
- package/frontend/.next/static/chunks/284aee0eb323076c.js +0 -1
- package/frontend/.next/static/chunks/2b7d8037bb74445e.css +0 -3
- package/frontend/.next/static/chunks/520be2943f8ae266.js +0 -1
- package/frontend/.next/static/chunks/58873fd2347d1c88.js +0 -1
- package/frontend/.next/static/chunks/a308a3cc32b8bc4a.js +0 -1
- /package/frontend/.next/static/{P4g0K_y2ksljZD88vEDAA → bKa8vfUmSWQxqmsnhQLtj}/_buildManifest.js +0 -0
- /package/frontend/.next/static/{P4g0K_y2ksljZD88vEDAA → bKa8vfUmSWQxqmsnhQLtj}/_clientMiddlewareManifest.json +0 -0
- /package/frontend/.next/static/{P4g0K_y2ksljZD88vEDAA → bKa8vfUmSWQxqmsnhQLtj}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,33525,(e,t,s)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"warnOnce",{enumerable:!0,get:function(){return a}});let a=e=>{}},18566,(e,t,s)=>{t.exports=e.r(76562)},15288,87486,9165,e=>{"use strict";let t,s,a,o,n;var r,i=e.i(43476),d=e.i(75157);function l({className:e,size:t="default",...s}){return(0,i.jsx)("div",{"data-slot":"card","data-size":t,className:(0,d.cn)("group/card flex flex-col gap-4 overflow-hidden rounded-xl bg-card py-4 text-sm text-card-foreground ring-1 ring-foreground/10 has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",e),...s})}function c({className:e,...t}){return(0,i.jsx)("div",{"data-slot":"card-header",className:(0,d.cn)("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3",e),...t})}function u({className:e,...t}){return(0,i.jsx)("div",{"data-slot":"card-title",className:(0,d.cn)("text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",e),...t})}function m({className:e,...t}){return(0,i.jsx)("div",{"data-slot":"card-content",className:(0,d.cn)("px-4 group-data-[size=sm]/card:px-3",e),...t})}e.s(["Card",()=>l,"CardContent",()=>m,"CardHeader",()=>c,"CardTitle",()=>u],15288);var p=e.i(19805),g=e.i(27601);let h=(0,e.i(25913).cva)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});function f({className:e,variant:t="default",render:s,...a}){var o;return o={defaultTagName:"span",props:(0,p.mergeProps)({className:(0,d.cn)(h({variant:t}),e)},a),render:s,state:{slot:"badge",variant:t}},(0,g.useRenderElement)(o.defaultTagName??"div",o,o)}e.s(["Badge",()=>f],87486);var b=e.i(47167);let x=new Date,k=e=>new Date(x.getTime()-6e4*e).toISOString(),w=e=>new Date(x.getTime()-36e5*e).toISOString(),v=[{id:"agent-1",name:"code-reviewer",host:"prod-us-east-1",status:"running",lastHeartbeat:k(.5),costUsd:4.82,tokenCount:124e4,errorCount:0},{id:"agent-2",name:"deploy-bot",host:"prod-us-east-1",status:"running",lastHeartbeat:k(1),costUsd:2.15,tokenCount:52e4,errorCount:1},{id:"agent-3",name:"data-pipeline",host:"prod-eu-west-1",status:"error",lastHeartbeat:k(12),costUsd:8.43,tokenCount:21e5,errorCount:7},{id:"agent-4",name:"customer-support",host:"prod-us-west-2",status:"stuck",lastHeartbeat:k(45),costUsd:12.67,tokenCount:34e5,errorCount:3},{id:"agent-5",name:"test-runner",host:"staging-1",status:"paused",lastHeartbeat:w(2),costUsd:1.03,tokenCount:28e4,errorCount:0},{id:"agent-6",name:"doc-generator",host:"prod-us-east-1",status:"running",lastHeartbeat:k(.2),costUsd:3.21,tokenCount:89e4,errorCount:0},{id:"agent-7",name:"security-scanner",host:"prod-eu-west-1",status:"stopped",lastHeartbeat:w(6),costUsd:.45,tokenCount:12e4,errorCount:0},{id:"agent-8",name:"slack-responder",host:"prod-us-west-2",status:"running",lastHeartbeat:k(.1),costUsd:6.89,tokenCount:178e4,errorCount:2}],y=[{id:"alert-1",agentId:"agent-4",type:"stuck",severity:"critical",message:"customer-support has not sent a heartbeat in 45 minutes",timestamp:k(44),acknowledged:!1},{id:"alert-2",agentId:"agent-3",type:"error",severity:"critical",message:"data-pipeline encountered 7 errors in the last hour",timestamp:k(10),acknowledged:!1},{id:"alert-3",agentId:"agent-4",type:"cost_spike",severity:"warning",message:"customer-support cost increased 340% in the last hour",timestamp:w(1),acknowledged:!1},{id:"alert-4",agentId:"agent-8",type:"loop_detected",severity:"warning",message:"slack-responder may be in a retry loop (similar outputs detected)",timestamp:k(30),acknowledged:!0},{id:"alert-5",agentId:"agent-2",type:"error",severity:"info",message:"deploy-bot encountered a transient API error (auto-recovered)",timestamp:w(3),acknowledged:!0}],j={totalUsd:39.65,byAgent:v.map(e=>({agentId:e.id,name:e.name,costUsd:e.costUsd})),byModel:[{model:"claude-sonnet-4-20250514",costUsd:22.1},{model:"claude-haiku-4-20250506",costUsd:11.35},{model:"gpt-4o",costUsd:6.2}]},C=[{id:"session-1",agentId:"ofek",title:"Build ClaWatch dashboard with real-time alerts",status:"active",costUsd:3.47,tokenCount:892e3,messageCount:47,model:"claude-sonnet-4-20250514",startedAt:k(45),lastActivityAt:k(1),duration:2640,projects:[{id:"project-1",name:"Building ClaWatch"}]},{id:"session-2",agentId:"anas",title:"Fix authentication bug in user login flow",status:"completed",costUsd:1.23,tokenCount:34e4,messageCount:22,model:"claude-sonnet-4-20250514",startedAt:w(3),lastActivityAt:w(2),duration:3600,projects:[{id:"project-2",name:"Bug Fixes Sprint"}]},{id:"session-3",agentId:"dor",title:"Review PR #47 — add retry logic to API calls",status:"idle",costUsd:.87,tokenCount:215e3,messageCount:14,model:"claude-haiku-4-20250506",startedAt:k(90),lastActivityAt:k(12),duration:4680},{id:"session-4",agentId:"ofek",title:"Implement WebSocket event streaming for agent heartbeats",status:"active",costUsd:5.12,tokenCount:134e4,messageCount:63,model:"claude-sonnet-4-20250514",startedAt:w(1.5),lastActivityAt:k(.5),duration:5400,projects:[{id:"project-1",name:"Building ClaWatch"},{id:"project-2",name:"Bug Fixes Sprint"}]},{id:"session-5",agentId:"anas",title:"Refactor database schema for multi-tenant support",status:"completed",costUsd:2.89,tokenCount:78e4,messageCount:38,model:"claude-sonnet-4-20250514",startedAt:w(5),lastActivityAt:w(4),duration:3600},{id:"session-6",agentId:"dor",title:"Debug failing CI pipeline — Jest timeout errors",status:"idle",costUsd:.54,tokenCount:145e3,messageCount:11,model:"claude-haiku-4-20250506",startedAt:k(30),lastActivityAt:k(8),duration:1320},{id:"session-7",agentId:"ofek",title:"Add Telegram bot notification integration",status:"completed",costUsd:1.76,tokenCount:46e4,messageCount:29,model:"claude-sonnet-4-20250514",startedAt:w(8),lastActivityAt:w(7),duration:3600},{id:"session-8",agentId:"anas",title:"Write unit tests for cost calculation module",status:"active",costUsd:.92,tokenCount:248e3,messageCount:18,model:"claude-haiku-4-20250506",startedAt:k(15),lastActivityAt:k(2),duration:780},{id:"session-9",agentId:"dor",title:"Optimize SQL queries — reduce p95 latency from 800ms to 200ms",status:"completed",costUsd:4.31,tokenCount:112e4,messageCount:52,model:"claude-sonnet-4-20250514",startedAt:w(12),lastActivityAt:w(10),duration:7200},{id:"session-10",agentId:"ofek",title:"Set up Docker Compose for local development environment",status:"idle",costUsd:.63,tokenCount:172e3,messageCount:9,model:"claude-haiku-4-20250506",startedAt:k(60),lastActivityAt:k(20),duration:2400}],N=[{id:"project-1",name:"Building ClaWatch",description:"Full-stack AI observability platform with real-time monitoring, session tracking, and cost analytics",createdAt:w(48),updatedAt:k(5),sessionCount:3,totalCostUsd:185.98},{id:"project-2",name:"Bug Fixes Sprint",description:"Critical bug fixes for authentication, database schema, and CI pipeline issues",createdAt:w(24),updatedAt:k(30),sessionCount:2,totalCostUsd:12.5}],I=(t=[],s=0,(a=(e,a,o,n,r,i)=>{s++,t.push({sessionId:e,agentId:a,id:`tl-${s}`,role:o,timestamp:k(n),content:r,...i})})("session-1","ofek","user",120,"Build the ClaWatch dashboard with real-time alerts and agent monitoring. Use Next.js 15 + shadcn/ui."),a("session-1","ofek","assistant",119,"I'll build the ClaWatch dashboard. Let me start by setting up the project structure and examining existing code.",{model:"claude-sonnet-4-20250514",costUsd:.04}),a("session-3","dor","user",118,"Review the initial project setup and suggest architectural improvements for the monitoring system."),a("session-1","ofek","tool",117,"src/\n app/\n dashboard/\n page.tsx\n layout.tsx\n components/\n ui/\n lib/\n types.ts\n api.ts",{toolName:"read"}),a("session-3","dor","assistant",116,"Looking at the project structure. I'll review the architecture and suggest improvements for scalability.",{model:"claude-haiku-4-20250506",costUsd:.01}),a("session-1","ofek","assistant",115,"Project structure looks good. I'll create the type definitions for agents, sessions, alerts, and cost data.",{model:"claude-sonnet-4-20250514",costUsd:.06}),a("session-8","anas","user",114,"Write comprehensive unit tests for the cost calculation module including edge cases."),a("session-1","ofek","tool",113,"File written: src/lib/types.ts (78 lines)",{toolName:"write"}),a("session-8","anas","assistant",112,"I'll write thorough unit tests for cost calculations. Let me first examine the module.",{model:"claude-haiku-4-20250506",costUsd:.02}),a("session-3","dor","tool",111,"export interface Agent {\n id: string;\n name: string;\n status: AgentStatus;\n ...",{toolName:"read"}),a("session-3","dor","assistant",110,"The type definitions look solid. I'd suggest adding a `duration` field to Session for better analytics. Also, the cost tracking should support per-model breakdown.",{model:"claude-haiku-4-20250506",costUsd:.02}),a("session-1","ofek","assistant",108,"Good point from the review. I'll add duration tracking and per-model cost breakdown. Now creating the mock data layer.",{model:"claude-sonnet-4-20250514",costUsd:.05}),a("session-8","anas","tool",107,"export function calculateCost(tokens: number, model: string): number { ... }",{toolName:"read"}),a("session-1","ofek","tool",105,"File written: src/lib/mock-data.ts (280 lines)",{toolName:"write"}),a("session-8","anas","assistant",104,"Found the cost module. I'll test standard pricing, cache discount calculations, multi-model sessions, and zero-token edge cases.",{model:"claude-haiku-4-20250506",costUsd:.03}),a("session-1","ofek","system",103,"Context window: 45% utilized (90K/200K tokens)"),a("session-8","anas","tool",102,"File written: src/__tests__/cost-calculation.test.ts (156 lines)",{toolName:"write"}),a("session-1","ofek","assistant",100,"Mock data created. Now building the dashboard page with agent cards, alert banners, and cost overview.",{model:"claude-sonnet-4-20250514",costUsd:.12}),a("session-3","dor","user",98,"Can you also review the API layer and check for error handling gaps?"),a("session-1","ofek","tool",95,"File written: src/app/dashboard/page.tsx (320 lines)",{toolName:"write"}),a("session-8","anas","assistant",94,"All 12 test cases pass. Found one edge case where negative token counts could cause issues — adding a guard.",{model:"claude-haiku-4-20250506",costUsd:.02}),a("session-3","dor","assistant",92,"Reviewing API layer. The fetchJson wrapper needs better error handling — currently swallows network errors. I'll suggest adding retry logic and timeout handling.",{model:"claude-haiku-4-20250506",costUsd:.03}),a("session-8","anas","tool",90,"$ npm test -- --watchAll=false\n\nTest Suites: 1 passed, 1 total\nTests: 14 passed, 14 total\nTime: 2.834s",{toolName:"exec"}),a("session-1","ofek","assistant",88,"Dashboard page done. Adding real-time polling with 5-second intervals and the tabbed interface for Agents/Sessions views.",{model:"claude-sonnet-4-20250514",costUsd:.08}),a("session-1","ofek","tool",85,"$ npm run build\n\n ✓ Compiled successfully\n ✓ Generating static pages (5/5)\n\nBuild completed in 8.2s",{toolName:"exec"}),a("session-3","dor","assistant",83,"Here's my review summary:\n1. Add retry logic to fetchJson (3 retries with exponential backoff)\n2. Add request timeout (30s default)\n3. The mock fallback pattern is good but should log errors to a monitoring service\n4. Consider adding request deduplication for concurrent calls",{model:"claude-haiku-4-20250506",costUsd:.04}),a("session-1","ofek","user",80,"Add session detail view with message timeline, cost breakdown by model, and token analysis."),a("session-1","ofek","assistant",78,"I'll build the session detail page with a full message timeline. Each message type will have distinct visual treatment.",{model:"claude-sonnet-4-20250514",costUsd:.09}),a("session-1","ofek","tool",75,"File written: src/app/dashboard/sessions/[id]/page.tsx (340 lines)",{toolName:"write"}),a("session-8","anas","assistant",72,"All tests passing. Adding integration tests for the API mock fallback pattern now.",{model:"claude-haiku-4-20250506",costUsd:.02}),a("session-1","ofek","assistant",70,"Session detail page complete with:\n- Message timeline with user/assistant/tool/system styling\n- Cost breakdown by model with progress bars\n- Token breakdown (input/output/cache read/cache write)\n- Collapsible tool outputs",{model:"claude-sonnet-4-20250514",costUsd:.06}),a("session-1","ofek","system",68,"Context window: 72% utilized (144K/200K tokens)"),a("session-1","ofek","tool",65,"$ npm run build\n\n ✓ Compiled successfully\n ✓ Generating static pages (7/7)\n\nBuild completed in 9.1s",{toolName:"exec"}),a("session-1","ofek","assistant",60,"Build passes. The ClaWatch dashboard is fully functional with real-time monitoring, session tracking, and cost analytics.",{model:"claude-sonnet-4-20250514",costUsd:.04}),t.sort((e,t)=>new Date(e.timestamp).getTime()-new Date(t.timestamp).getTime())),A={"project-1":{id:"project-1",name:"Building ClaWatch",description:"Full-stack AI observability platform with real-time monitoring, session tracking, and cost analytics",stats:{totalCostUsd:185.98,totalTokens:482e4,totalMessages:128,sessionCount:3,dateRange:{from:w(48),to:k(5)}},agentBreakdown:[{agentId:"ofek",costUsd:142.5,tokenCount:32e5,messageCount:78,percentage:76.6},{agentId:"dor",costUsd:28.48,tokenCount:98e4,messageCount:32,percentage:15.3},{agentId:"anas",costUsd:15,tokenCount:64e4,messageCount:18,percentage:8.1}],sessions:[C.find(e=>"session-1"===e.id),C.find(e=>"session-3"===e.id),C.find(e=>"session-8"===e.id)],timeline:I},"project-2":{id:"project-2",name:"Bug Fixes Sprint",description:"Critical bug fixes for authentication, database schema, and CI pipeline issues",stats:{totalCostUsd:12.5,totalTokens:112e4,totalMessages:60,sessionCount:2,dateRange:{from:w(24),to:k(30)}},agentBreakdown:[{agentId:"anas",costUsd:7.8,tokenCount:68e4,messageCount:38,percentage:62.4},{agentId:"dor",costUsd:4.7,tokenCount:44e4,messageCount:22,percentage:37.6}],sessions:[C.find(e=>"session-2"===e.id),C.find(e=>"session-6"===e.id)],timeline:[{sessionId:"session-2",agentId:"anas",id:"tl-b1",role:"user",timestamp:w(3),content:"Fix the authentication bug in the user login flow. Users are getting 401 errors after token refresh."},{sessionId:"session-2",agentId:"anas",id:"tl-b2",role:"assistant",timestamp:w(2.9),content:"I'll investigate the auth flow. Let me check the token refresh logic.",model:"claude-sonnet-4-20250514",costUsd:.03},{sessionId:"session-6",agentId:"dor",id:"tl-b3",role:"user",timestamp:w(2.8),content:"Debug the failing CI pipeline. Jest tests are timing out on the session module."},{sessionId:"session-2",agentId:"anas",id:"tl-b4",role:"tool",timestamp:w(2.7),content:"Found: refreshToken() doesn't await the database write before returning new token",toolName:"read"},{sessionId:"session-6",agentId:"dor",id:"tl-b5",role:"assistant",timestamp:w(2.6),content:"Looking at the CI logs. The Jest timeout suggests an unresolved promise in the test setup.",model:"claude-haiku-4-20250506",costUsd:.01},{sessionId:"session-2",agentId:"anas",id:"tl-b6",role:"assistant",timestamp:w(2.5),content:"Found the bug: `refreshToken()` returns before the DB write completes. Adding await fixes the race condition.",model:"claude-sonnet-4-20250514",costUsd:.05},{sessionId:"session-6",agentId:"dor",id:"tl-b7",role:"tool",timestamp:w(2.4),content:"$ jest --verbose\nFAILED: session.test.ts > should persist session data\nTimeout: 5000ms exceeded",toolName:"exec"},{sessionId:"session-6",agentId:"dor",id:"tl-b8",role:"assistant",timestamp:w(2.2),content:"The test is missing `afterAll` cleanup — the database connection stays open. Adding proper teardown.",model:"claude-haiku-4-20250506",costUsd:.02},{sessionId:"session-2",agentId:"anas",id:"tl-b9",role:"tool",timestamp:w(2.1),content:"$ npm test -- auth.test.ts\n\nTests: 8 passed, 8 total",toolName:"exec"},{sessionId:"session-6",agentId:"dor",id:"tl-b10",role:"tool",timestamp:w(2),content:"$ jest session.test.ts --verbose\nPASSED: all 6 tests",toolName:"exec"},{sessionId:"session-2",agentId:"anas",id:"tl-b11",role:"assistant",timestamp:w(1.9),content:"Auth bug fixed and all tests passing. The root cause was a missing await in the token refresh handler.",model:"claude-sonnet-4-20250514",costUsd:.03},{sessionId:"session-6",agentId:"dor",id:"tl-b12",role:"assistant",timestamp:w(1.8),content:"CI pipeline fixed. Added proper test teardown and increased timeout for integration tests to 10s.",model:"claude-haiku-4-20250506",costUsd:.02}]}},U={};for(let e of C)U[e.id]={...e,costByModel:e.model.includes("sonnet")?[{model:"claude-sonnet-4-20250514",costUsd:.82*e.costUsd,tokenCount:Math.floor(.75*e.tokenCount)},{model:"claude-haiku-4-20250506",costUsd:.18*e.costUsd,tokenCount:Math.floor(.25*e.tokenCount)}]:[{model:"claude-haiku-4-20250506",costUsd:.65*e.costUsd,tokenCount:Math.floor(.6*e.tokenCount)},{model:"claude-sonnet-4-20250514",costUsd:.35*e.costUsd,tokenCount:Math.floor(.4*e.tokenCount)}],tokenBreakdown:{input:Math.floor(.35*e.tokenCount),output:Math.floor(.3*e.tokenCount),cacheRead:Math.floor(.25*e.tokenCount),cacheWrite:Math.floor(.1*e.tokenCount)},messages:(r=e.id,[{id:`${r}-msg-1`,role:"user",timestamp:k(44),content:"Build the ClaWatch dashboard with real-time alert monitoring. Use Next.js 15 with shadcn/ui components."},{id:`${r}-msg-2`,role:"assistant",timestamp:k(43),content:"I'll build the ClaWatch dashboard. Let me start by examining the project structure and existing code.",model:"claude-sonnet-4-20250514",costUsd:.03,tokenCount:12400},{id:`${r}-msg-3`,role:"tool",timestamp:k(43),content:"src/\n app/\n dashboard/\n page.tsx\n layout.tsx\n page.tsx\n components/\n ui/\n lib/\n types.ts\n api.ts\n mock-data.ts",toolName:"read",toolInput:'{"path": "src/"}'},{id:`${r}-msg-4`,role:"assistant",timestamp:k(42),content:"I can see the project structure. Let me read the existing types and API files to understand the data model.",model:"claude-sonnet-4-20250514",costUsd:.02,tokenCount:8200},{id:`${r}-msg-5`,role:"tool",timestamp:k(42),content:'export type AgentStatus = "running" | "paused" | "stopped" | "error" | "stuck";\n\nexport interface Agent {\n id: string;\n name: string;\n ...',toolName:"read",toolInput:'{"path": "src/lib/types.ts"}'},{id:`${r}-msg-6`,role:"assistant",timestamp:k(40),content:"Now I'll create the dashboard page with agent cards, alert banners, and cost overview panels. I'll use the existing shadcn/ui components.",model:"claude-sonnet-4-20250514",costUsd:.08,tokenCount:34600},{id:`${r}-msg-7`,role:"tool",timestamp:k(39),content:"File written: src/app/dashboard/page.tsx (358 lines)",toolName:"write",toolInput:'{"path": "src/app/dashboard/page.tsx", "content": "..."}'},{id:`${r}-msg-8`,role:"tool",timestamp:k(38),content:"$ npm run build\n\n ✓ Compiled successfully\n ✓ Collecting page data\n ✓ Generating static pages (5/5)\n ✓ Collecting build traces\n\nRoute (app) Size First Load JS\n├ ○ / 5.2 kB 92.1 kB\n└ ○ /dashboard 12.4 kB 99.3 kB",toolName:"exec",toolInput:'{"command": "npm run build"}'},{id:`${r}-msg-9`,role:"assistant",timestamp:k(37),content:"The build succeeded. Let me now add the real-time polling mechanism and alert notification sounds.",model:"claude-sonnet-4-20250514",costUsd:.04,tokenCount:15800},{id:`${r}-msg-10`,role:"tool",timestamp:k(36),content:"Lines 49-64 edited in src/app/dashboard/page.tsx",toolName:"edit",toolInput:'{"path": "src/app/dashboard/page.tsx", "old_string": "...", "new_string": "..."}'},{id:`${r}-msg-11`,role:"user",timestamp:k(35),content:"Can you also add a cost breakdown by model? Show it as horizontal progress bars."},{id:`${r}-msg-12`,role:"assistant",timestamp:k(34),content:"Sure! I'll add a cost breakdown section with progress bars for each model. Let me update the dashboard.",model:"claude-sonnet-4-20250514",costUsd:.06,tokenCount:24200},{id:`${r}-msg-13`,role:"tool",timestamp:k(33),content:"Lines 254-305 edited in src/app/dashboard/page.tsx",toolName:"edit",toolInput:'{"path": "src/app/dashboard/page.tsx", "old_string": "...", "new_string": "..."}'},{id:`${r}-msg-14`,role:"system",timestamp:k(32),content:"Context window: 78% utilized (156K/200K tokens)"},{id:`${r}-msg-15`,role:"assistant",timestamp:k(31),content:"I've added the cost breakdown panels. The dashboard now shows:\n\n1. **Agent cards** with status, cost, tokens, errors, and heartbeat\n2. **Alert banner** for critical/warning alerts\n3. **Cost by Agent** — horizontal progress bars\n4. **Cost by Model** — horizontal progress bars\n\nThe data refreshes every 5 seconds via polling.",model:"claude-sonnet-4-20250514",costUsd:.05,tokenCount:18900},{id:`${r}-msg-16`,role:"tool",timestamp:k(30),content:'{"results": [{"title": "shadcn/ui Tabs Component", "url": "https://ui.shadcn.com/docs/components/tabs"}]}',toolName:"web_search",toolInput:'{"query": "shadcn ui tabs component usage"}'},{id:`${r}-msg-17`,role:"assistant",timestamp:k(28),content:"Let me add a tabbed interface for Agents and Sessions views. I'll implement the tabs using a simple state-based approach.",model:"claude-sonnet-4-20250514",costUsd:.11,tokenCount:45200},{id:`${r}-msg-18`,role:"tool",timestamp:k(27),content:"$ npm run build\n\n ✓ Compiled successfully\n ✓ Linting and checking validity of types\n ✓ Generating static pages (5/5)\n\nBuild completed in 8.2s",toolName:"exec",toolInput:'{"command": "npm run build"}'},{id:`${r}-msg-19`,role:"assistant",timestamp:k(25),content:"Build passes. The dashboard now has Agents and Sessions tabs with full filtering and sorting. All existing functionality is preserved.",model:"claude-sonnet-4-20250514",costUsd:.03,tokenCount:11600},{id:`${r}-msg-20`,role:"tool",timestamp:k(24),content:"$ npm test -- --watchAll=false\n\nTest Suites: 3 passed, 3 total\nTests: 12 passed, 12 total\nTime: 4.231s",toolName:"exec",toolInput:'{"command": "npm test -- --watchAll=false"}'}])};let S={"alert-1":{alert:y[0],agent:{id:"agent-4",name:"customer-support",status:"stuck"},relatedErrors:[],context:{lastHeartbeat:k(45),stuckDurationMinutes:45,agentStatus:"stuck"}},"alert-2":{alert:y[1],agent:{id:"agent-3",name:"data-pipeline",status:"error"},relatedErrors:[{timestamp:k(12),error:"TypeError: Cannot read properties of undefined (reading 'map')"},{timestamp:k(11),error:"ECONNREFUSED: Connection refused to database at 127.0.0.1:5432"},{timestamp:k(11),error:"ECONNREFUSED: Connection refused to database at 127.0.0.1:5432"},{timestamp:k(10),error:"Unhandled promise rejection: Query timeout after 30000ms"},{timestamp:k(10),error:'FATAL: too many connections for role "app_user"'}]},"alert-3":{alert:y[2],agent:{id:"agent-4",name:"customer-support",status:"running"},relatedErrors:[],context:{currentCostUsd:12.67,thresholdUsd:10,overage:2.67}},"alert-4":{alert:y[3],agent:{id:"agent-8",name:"slack-responder",status:"running"},relatedErrors:[{timestamp:k(32),error:"Detected 5 consecutive similar outputs — possible retry loop"},{timestamp:k(31),error:"Output similarity score: 0.94 (threshold: 0.85)"}]},"alert-5":{alert:y[4],agent:{id:"agent-2",name:"deploy-bot",status:"running"},relatedErrors:[{timestamp:w(3),error:"API returned 503 Service Unavailable — auto-retried successfully"}]}},$=b.default.env.NEXT_PUBLIC_API_KEY||"";async function B(e,t){let s={"Content-Type":"application/json","ngrok-skip-browser-warning":"true",...$?{"X-ClaWatch-Key":$}:{},...t?.headers||{}},a=await fetch(`${e}`,{...t,headers:s});if(!a.ok)throw Error(`API error: ${a.status}`);return a.json()}async function T(){try{return(await B("/api/profiles")).profiles}catch{return console.warn("API unreachable, skipping profiles"),[]}}async function P(){try{return(await B("/api/version")).version}catch{return console.warn("API unreachable, skipping version"),null}}async function M(e,t){try{let s=new URLSearchParams;e&&s.set("status",e),t&&s.set("profile",t);let a=s.toString();return(await B(`/api/agents${a?`?${a}`:""}`)).agents}catch{return console.warn("API unreachable, falling back to mock data"),v}}async function z(e){try{let t=new URLSearchParams;e?.limit!==void 0&&t.set("limit",String(e.limit)),e?.offset!==void 0&&t.set("offset",String(e.offset)),e?.severity&&t.set("severity",e.severity),e?.acknowledged!==void 0&&t.set("acknowledged",String(e.acknowledged)),e?.profile&&t.set("profile",e.profile);let s=t.toString();return await B(`/api/alerts${s?`?${s}`:""}`)}catch{return console.warn("API unreachable, falling back to mock data"),{alerts:y,total:y.length}}}async function F(e){return await B(`/api/alerts/acknowledge-all${e?`?severity=${e}`:""}`,{method:"POST"})}async function L(e){try{let t=e?`?profile=${e}`:"";return await B(`/api/costs${t}`)}catch{return console.warn("API unreachable, falling back to mock data"),j}}async function D(e){await B(`/api/agents/${e}/pause`,{method:"POST"})}async function E(e){await B(`/api/agents/${e}/resume`,{method:"POST"})}async function R(e){await B(`/api/alerts/${e}/acknowledge`,{method:"POST"})}async function W(e){try{return await B(`/api/alerts/${e}/details`)}catch{console.warn("API unreachable, falling back to mock data");let t=S[e];if(t)return t;throw Error("Alert not found")}}async function O(e){let{agentId:t,status:s,sort:a,profile:o,limit:n,offset:r}=e||{};try{let e=new URLSearchParams;n&&e.set("limit",String(n)),r&&e.set("offset",String(r)),t&&e.set("agentId",t),s&&e.set("status",s),a&&e.set("sort",a),o&&e.set("profile",o);let i=e.toString(),d=await B(`/api/sessions${i?`?${i}`:""}`);return{sessions:d.sessions,total:d.total}}catch{return console.warn("API unreachable, falling back to mock data"),{sessions:C,total:C.length}}}async function _(e){try{return await B(`/api/sessions/${e}`)}catch{console.warn("API unreachable, falling back to mock data");let t=U[e];if(t)return t;throw Error("Session not found")}}async function H(e){try{let t=e?`?profile=${e}`:"";return(await B(`/api/projects${t}`)).projects}catch{return console.warn("API unreachable, falling back to mock data"),N}}async function K(e){try{return await B(`/api/projects/${e}`)}catch{console.warn("API unreachable, falling back to mock data");let t=A[e];if(t)return t;throw Error("Project not found")}}async function J(e,t){return await B("/api/projects",{method:"POST",body:JSON.stringify({name:e,description:t})})}async function G(e,t){await B(`/api/sessions/${e}/projects`,{method:"PUT",body:JSON.stringify({projectIds:t})})}async function q(e,t){await B(`/api/sessions/${e}/projects/${t}`,{method:"DELETE"})}let V=(n=(o=Array.from({length:14},(e,t)=>{let s=new Date("2026-02-24");return s.setDate(s.getDate()+t),s.toISOString().slice(0,10)})).map(e=>({date:e,costUsd:+(5+15*Math.random()).toFixed(2),tokenCount:Math.floor(1e6+4e6*Math.random()),sessionCount:Math.floor(3+10*Math.random())})),{buckets:n,byAgent:["ofek","anas","dor"].map(e=>({agentId:e,buckets:o.map(e=>({date:e,costUsd:+(1+6*Math.random()).toFixed(2),tokenCount:Math.floor(3e5+15e5*Math.random()),sessionCount:Math.floor(1+4*Math.random())}))})),byProject:[{projectId:"proj-1",name:"ClaWatch"},{projectId:"proj-2",name:"Auth Service"},{projectId:"proj-3",name:"Mobile App"}].map(({projectId:e,name:t})=>({projectId:e,name:t,buckets:o.map(e=>({date:e,costUsd:+(1+5*Math.random()).toFixed(2),tokenCount:Math.floor(2e5+12e5*Math.random()),sessionCount:Math.floor(1+3*Math.random())}))}))});async function Q(e){try{let t=new URLSearchParams;e.profile&&t.set("profile",e.profile),e.groupBy&&t.set("groupBy",e.groupBy),e.from&&t.set("from",e.from),e.to&&t.set("to",e.to);let s=t.toString();return await B(`/api/analytics${s?`?${s}`:""}`)}catch{return console.warn("API unreachable, falling back to mock analytics data"),V}}e.s(["acknowledgeAlert",()=>R,"acknowledgeAllAlerts",()=>F,"createProject",()=>J,"getAgents",()=>M,"getAlertDetails",()=>W,"getAlerts",()=>z,"getAnalytics",()=>Q,"getCosts",()=>L,"getProfiles",()=>T,"getProject",()=>K,"getProjects",()=>H,"getSession",()=>_,"getSessions",()=>O,"getVersion",()=>P,"pauseAgent",()=>D,"removeSessionProject",()=>q,"resumeAgent",()=>E,"setSessionProjects",()=>G],9165)},42180,e=>{"use strict";var t=e.i(43476),s=e.i(71645),a=e.i(18566),o=e.i(22016),n=e.i(19455),r=e.i(15288),i=e.i(87486),d=e.i(9165),l=e.i(98940);function c(e){let t=Math.floor((Date.now()-new Date(e).getTime())/1e3);if(t<60)return`${t}s ago`;let s=Math.floor(t/60);if(s<60)return`${s}m ago`;let a=Math.floor(s/60);return a<24?`${a}h ago`:`${Math.floor(a/24)}d ago`}function u(e){return new Date(e).toLocaleString()}function m(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(0)}K`:String(e)}let p={active:{color:"bg-emerald-500/10 text-emerald-400 border-emerald-500/20",dot:"bg-emerald-400",label:"Active"},idle:{color:"bg-amber-500/10 text-amber-400 border-amber-500/20",dot:"bg-amber-400",label:"Idle"},completed:{color:"bg-zinc-500/10 text-zinc-400 border-zinc-500/20",dot:"bg-zinc-400",label:"Completed"}};function g({text:e,className:a,preformatted:o=!1}){let[n,r]=(0,s.useState)(!1),i=e.length>500,d=i&&!n?e.slice(0,500)+"…":e;return(0,t.jsxs)("div",{children:[(0,t.jsx)(o?"pre":"p",{className:a,children:d}),i&&(0,t.jsx)("button",{onClick:()=>r(!n),className:"mt-1 text-[11px] font-medium text-emerald-400 hover:text-emerald-300 transition-colors cursor-pointer",children:n?"Show less":"Show more"})]})}let h={ofek:"bg-blue-500/10 text-blue-400 border-blue-500/20",anas:"bg-purple-500/10 text-purple-400 border-purple-500/20",dor:"bg-teal-500/10 text-teal-400 border-teal-500/20"};function f(){let e=(0,a.useParams)(),g=(0,a.useRouter)(),f=e.id,[x,k]=(0,s.useState)(null),[w,v]=(0,s.useState)(!0),[y,j]=(0,s.useState)(null),[C,N]=(0,s.useState)(new Set),I=(0,s.useRef)(null),A=(0,s.useRef)(0),U=(0,s.useRef)(!0);if((0,s.useEffect)(()=>{!async function(){try{let e=await (0,d.getSession)(f);k(e)}catch{j("Session not found")}finally{v(!1)}}();let e=setInterval(async()=>{try{let e=await (0,d.getSession)(f);k(e)}catch{}},5e3);return()=>clearInterval(e)},[f]),(0,s.useEffect)(()=>{if(!x||!I.current)return;let e=x.messages.length;U.current?(I.current.scrollIntoView({behavior:"instant"}),U.current=!1):e>A.current&&I.current.scrollIntoView({behavior:"smooth"}),A.current=e},[x?.messages?.length]),w)return(0,t.jsx)("div",{className:"min-h-screen bg-background flex items-center justify-center",children:(0,t.jsxs)("div",{className:"flex items-center gap-3 text-muted-foreground",children:[(0,t.jsx)("div",{className:"size-5 border-2 border-emerald-500 border-t-transparent rounded-full animate-spin"}),"Loading session..."]})});if(y||!x)return(0,t.jsx)("div",{className:"min-h-screen bg-background flex items-center justify-center",children:(0,t.jsxs)("div",{className:"text-center space-y-4",children:[(0,t.jsx)("p",{className:"text-muted-foreground",children:y||"Session not found"}),(0,t.jsx)(n.Button,{variant:"outline",onClick:()=>g.push("/dashboard"),children:"Back to Dashboard"})]})});let S=p[x.status],$=x.tokenBreakdown.input+x.tokenBreakdown.output+x.tokenBreakdown.cacheRead+x.tokenBreakdown.cacheWrite,B=Math.max(...x.costByModel.map(e=>e.costUsd));return(0,t.jsxs)("div",{className:"min-h-screen bg-background text-foreground",children:[(0,t.jsx)("nav",{className:"border-b border-border/50 bg-background/80 backdrop-blur-sm sticky top-0 z-50",children:(0,t.jsx)("div",{className:"max-w-7xl mx-auto px-6 h-14 flex items-center justify-between",children:(0,t.jsxs)("div",{className:"flex items-center gap-6",children:[(0,t.jsxs)(o.default,{href:"/",className:"flex items-center gap-2",children:[(0,t.jsx)(l.ClaWatchIcon,{}),(0,t.jsx)(l.ClaWatchLogo,{size:"md"})]}),(0,t.jsx)("span",{className:"text-sm text-muted-foreground",children:"Session Detail"})]})})}),(0,t.jsxs)("div",{className:"max-w-5xl mx-auto px-6 py-6 space-y-6",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("button",{onClick:()=>g.push("/dashboard"),className:"text-sm text-muted-foreground hover:text-foreground transition-colors mb-4 inline-flex items-center gap-1",children:[(0,t.jsx)("span",{children:"←"})," Back to Dashboard"]}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("h1",{className:"text-2xl font-bold",children:x.title}),(0,t.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,t.jsx)(i.Badge,{variant:"outline",className:`border ${h[x.agentId]||"text-zinc-400"}`,children:x.agentId}),(0,t.jsx)(i.Badge,{variant:"outline",className:"font-mono text-xs",children:x.model}),(0,t.jsxs)(i.Badge,{variant:"outline",className:`border ${S.color}`,children:[(0,t.jsx)("span",{className:`size-1.5 rounded-full ${S.dot} mr-1.5`}),S.label]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-6 text-sm",children:[(0,t.jsx)("div",{children:(0,t.jsxs)("span",{className:"text-3xl font-bold",children:["$",x.costUsd.toFixed(2)]})}),(0,t.jsxs)("div",{className:"text-muted-foreground",children:[(0,t.jsxs)("div",{children:[m(x.tokenCount)," tokens"]}),(0,t.jsxs)("div",{children:[x.messageCount," messages"]})]}),(0,t.jsxs)("div",{className:"text-muted-foreground text-xs",children:[(0,t.jsxs)("div",{children:["Started: ",c(x.startedAt)," (",u(x.startedAt),")"]}),(0,t.jsxs)("div",{children:["Last activity: ",c(x.lastActivityAt)]})]})]})]})]}),(0,t.jsxs)(r.Card,{children:[(0,t.jsx)(r.CardHeader,{children:(0,t.jsx)(r.CardTitle,{className:"text-sm font-medium text-muted-foreground",children:"Cost Breakdown"})}),(0,t.jsx)(r.CardContent,{children:(0,t.jsxs)("div",{className:"grid md:grid-cols-2 gap-6",children:[(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("h3",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider",children:"By Model"}),x.costByModel.map(e=>(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between text-sm",children:[(0,t.jsx)("span",{className:"font-mono text-xs",children:e.model}),(0,t.jsxs)("span",{className:"font-medium",children:["$",e.costUsd.toFixed(2)]})]}),(0,t.jsx)("div",{className:"w-full h-2 rounded-full bg-muted overflow-hidden",children:(0,t.jsx)("div",{className:"h-full rounded-full bg-emerald-500 transition-all",style:{width:`${e.costUsd/B*100}%`}})}),(0,t.jsxs)("div",{className:"text-[11px] text-muted-foreground",children:[m(e.tokenCount)," tokens"]})]},e.model))]}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("h3",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider",children:"Token Breakdown"}),[{label:"Input",value:x.tokenBreakdown.input,color:"bg-blue-500"},{label:"Output",value:x.tokenBreakdown.output,color:"bg-emerald-500"},{label:"Cache Read",value:x.tokenBreakdown.cacheRead,color:"bg-amber-500"},{label:"Cache Write",value:x.tokenBreakdown.cacheWrite,color:"bg-purple-500"}].map(e=>(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between text-sm",children:[(0,t.jsx)("span",{className:"text-xs",children:e.label}),(0,t.jsx)("span",{className:"font-medium font-mono",children:m(e.value)})]}),(0,t.jsx)("div",{className:"w-full h-2 rounded-full bg-muted overflow-hidden",children:(0,t.jsx)("div",{className:`h-full rounded-full ${e.color} transition-all`,style:{width:`${e.value/$*100}%`}})})]},e.label))]})]})})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-lg font-semibold mb-4",children:"Messages"}),(0,t.jsxs)("div",{className:"relative space-y-3",children:[(0,t.jsx)("div",{className:"absolute left-5 top-0 bottom-0 w-px bg-border/50"}),x.messages.map(e=>(0,t.jsx)(b,{message:e,collapsed:C.has(e.id),onToggle:()=>{var t;return t=e.id,void N(e=>{let s=new Set(e);return s.has(t)?s.delete(t):s.add(t),s})}},e.id)),(0,t.jsx)("div",{ref:I})]})]})]})]})}function b({message:e,collapsed:s,onToggle:a}){let o=e.content.toLowerCase().includes("error");return"user"===e.role?(0,t.jsxs)("div",{className:"relative pl-12 flex justify-end",children:[(0,t.jsx)("div",{className:"absolute left-3.5 top-3 size-3 rounded-full bg-blue-500 ring-4 ring-background z-10"}),(0,t.jsxs)("div",{className:`rounded-lg border border-blue-500/20 bg-blue-500/10 p-4 max-w-[80%] ${o?"border-red-500/30 bg-red-500/10":""}`,children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,t.jsx)("span",{className:"text-xs font-medium text-blue-400",children:"User"}),(0,t.jsx)("span",{className:"text-[11px] text-muted-foreground",children:u(e.timestamp)})]}),(0,t.jsx)(g,{text:e.content,className:"text-sm whitespace-pre-wrap"})]})]}):"assistant"===e.role?(0,t.jsxs)("div",{className:"relative pl-12",children:[(0,t.jsx)("div",{className:"absolute left-3.5 top-3 size-3 rounded-full bg-zinc-500 ring-4 ring-background z-10"}),(0,t.jsxs)("div",{className:`rounded-lg border border-border/50 bg-zinc-800/50 p-4 max-w-[80%] ${o?"border-red-500/30 bg-red-500/10":""}`,children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-xs font-medium text-zinc-400",children:"Assistant"}),e.model&&(0,t.jsx)("span",{className:"text-[10px] font-mono text-muted-foreground",children:e.model}),(0,t.jsx)("span",{className:"text-[11px] text-muted-foreground",children:u(e.timestamp)})]}),null!=e.costUsd&&(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)(i.Badge,{variant:"outline",className:"text-[10px] font-mono bg-emerald-500/10 text-emerald-400 border-emerald-500/20",children:["$",e.costUsd.toFixed(2)]}),null!=e.tokenCount&&(0,t.jsx)("span",{className:"text-[10px] text-muted-foreground",children:m(e.tokenCount)})]})]}),(0,t.jsx)(g,{text:e.content,className:"text-sm whitespace-pre-wrap"})]})]}):"tool"===e.role?(0,t.jsxs)("div",{className:"relative pl-12",children:[(0,t.jsx)("div",{className:"absolute left-3.5 top-3 size-3 rounded-full bg-amber-500 ring-4 ring-background z-10"}),(0,t.jsxs)("div",{className:`rounded-lg border border-border/50 bg-zinc-900 p-4 ${o?"border-red-500/30 bg-red-500/10":""}`,children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-xs text-amber-400",children:"Tool"}),e.toolName&&(0,t.jsx)(i.Badge,{variant:"outline",className:"text-[10px] font-mono bg-amber-500/10 text-amber-400 border-amber-500/20",children:e.toolName}),(0,t.jsx)("span",{className:"text-[11px] text-muted-foreground",children:u(e.timestamp)})]}),(0,t.jsx)("button",{onClick:a,className:"text-[10px] text-muted-foreground hover:text-foreground transition-colors",children:s?"Show":"Hide"})]}),e.toolInput&&(0,t.jsx)("div",{className:"bg-black/30 rounded px-2 py-1 mb-2 overflow-x-auto",children:(0,t.jsx)(g,{text:e.toolInput,className:"text-[11px] font-mono text-muted-foreground",preformatted:!0})}),!s&&(0,t.jsx)(g,{text:e.content,className:"text-xs font-mono text-zinc-300 whitespace-pre-wrap break-all",preformatted:!0})]})]}):(0,t.jsxs)("div",{className:"relative pl-12",children:[(0,t.jsx)("div",{className:"absolute left-3.5 top-3 size-3 rounded-full bg-zinc-700 ring-4 ring-background z-10"}),(0,t.jsxs)("div",{className:"rounded-lg px-4 py-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[11px] text-muted-foreground",children:"System"}),(0,t.jsx)("span",{className:"text-[11px] text-muted-foreground",children:u(e.timestamp)})]}),(0,t.jsx)(g,{text:e.content,className:"text-xs text-muted-foreground mt-1"})]})]})}e.s(["default",()=>f])}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,98183,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o={assign:function(){return i},searchParamsToUrlQuery:function(){return a},urlQueryToSearchParams:function(){return s}};for(var n in o)Object.defineProperty(t,n,{enumerable:!0,get:o[n]});function a(e){let r={};for(let[t,o]of e.entries()){let e=r[t];void 0===e?r[t]=o:Array.isArray(e)?e.push(o):r[t]=[e,o]}return r}function l(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function s(e){let r=new URLSearchParams;for(let[t,o]of Object.entries(e))if(Array.isArray(o))for(let e of o)r.append(t,l(e));else r.set(t,l(o));return r}function i(e,...r){for(let t of r){for(let r of t.keys())e.delete(r);for(let[r,o]of t.entries())e.append(r,o)}return e}},95057,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o={formatUrl:function(){return s},formatWithValidation:function(){return c},urlObjectKeys:function(){return i}};for(var n in o)Object.defineProperty(t,n,{enumerable:!0,get:o[n]});let a=e.r(90809)._(e.r(98183)),l=/https?|ftp|gopher|file/;function s(e){let{auth:r,hostname:t}=e,o=e.protocol||"",n=e.pathname||"",s=e.hash||"",i=e.query||"",c=!1;r=r?encodeURIComponent(r).replace(/%3A/i,":")+"@":"",e.host?c=r+e.host:t&&(c=r+(~t.indexOf(":")?`[${t}]`:t),e.port&&(c+=":"+e.port)),i&&"object"==typeof i&&(i=String(a.urlQueryToSearchParams(i)));let d=e.search||i&&`?${i}`||"";return o&&!o.endsWith(":")&&(o+=":"),e.slashes||(!o||l.test(o))&&!1!==c?(c="//"+(c||""),n&&"/"!==n[0]&&(n="/"+n)):c||(c=""),s&&"#"!==s[0]&&(s="#"+s),d&&"?"!==d[0]&&(d="?"+d),n=n.replace(/[?#]/g,encodeURIComponent),d=d.replace("#","%23"),`${o}${c}${n}${d}${s}`}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return s(e)}},18581,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useMergedRef",{enumerable:!0,get:function(){return n}});let o=e.r(71645);function n(e,r){let t=(0,o.useRef)(null),n=(0,o.useRef)(null);return(0,o.useCallback)(o=>{if(null===o){let e=t.current;e&&(t.current=null,e());let r=n.current;r&&(n.current=null,r())}else e&&(t.current=a(e,o)),r&&(n.current=a(r,o))},[e,r])}function a(e,r){if("function"!=typeof e)return e.current=r,()=>{e.current=null};{let t=e(r);return"function"==typeof t?t:()=>e(null)}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),r.exports=t.default)},18967,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o={DecodeError:function(){return h},MiddlewareNotFoundError:function(){return k},MissingStaticPage:function(){return x},NormalizeError:function(){return v},PageNotFoundError:function(){return y},SP:function(){return b},ST:function(){return g},WEB_VITALS:function(){return a},execOnce:function(){return l},getDisplayName:function(){return u},getLocationOrigin:function(){return c},getURL:function(){return d},isAbsoluteUrl:function(){return i},isResSent:function(){return f},loadGetInitialProps:function(){return m},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return w}};for(var n in o)Object.defineProperty(t,n,{enumerable:!0,get:o[n]});let a=["CLS","FCP","FID","INP","LCP","TTFB"];function l(e){let r,t=!1;return(...o)=>(t||(t=!0,r=e(...o)),r)}let s=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,i=e=>s.test(e);function c(){let{protocol:e,hostname:r,port:t}=window.location;return`${e}//${r}${t?":"+t:""}`}function d(){let{href:e}=window.location,r=c();return e.substring(r.length)}function u(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function p(e){let r=e.split("?");return r[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(r[1]?`?${r.slice(1).join("?")}`:"")}async function m(e,r){let t=r.res||r.ctx&&r.ctx.res;if(!e.getInitialProps)return r.ctx&&r.Component?{pageProps:await m(r.Component,r.ctx)}:{};let o=await e.getInitialProps(r);if(t&&f(t))return o;if(!o)throw Object.defineProperty(Error(`"${u(e)}.getInitialProps()" should resolve to an object. But found "${o}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return o}let b="u">typeof performance,g=b&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class h extends Error{}class v extends Error{}class y extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class x extends Error{constructor(e,r){super(),this.message=`Failed to load static file for page: ${e} ${r}`}}class k extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function w(e){return JSON.stringify({message:e.message,stack:e.stack})}},73668,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return a}});let o=e.r(18967),n=e.r(52817);function a(e){if(!(0,o.isAbsoluteUrl)(e))return!0;try{let r=(0,o.getLocationOrigin)(),t=new URL(e,r);return t.origin===r&&(0,n.hasBasePath)(t.pathname)}catch(e){return!1}}},84508,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"errorOnce",{enumerable:!0,get:function(){return o}});let o=e=>{}},22016,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o={default:function(){return h},useLinkStatus:function(){return y}};for(var n in o)Object.defineProperty(t,n,{enumerable:!0,get:o[n]});let a=e.r(90809),l=e.r(43476),s=a._(e.r(71645)),i=e.r(95057),c=e.r(8372),d=e.r(18581),u=e.r(18967),f=e.r(5550);e.r(33525);let p=e.r(91949),m=e.r(73668),b=e.r(9396);function g(e){return"string"==typeof e?e:(0,i.formatUrl)(e)}function h(r){var t;let o,n,a,[i,h]=(0,s.useOptimistic)(p.IDLE_LINK_STATUS),y=(0,s.useRef)(null),{href:x,as:k,children:w,prefetch:z=null,passHref:j,replace:P,shallow:E,scroll:C,onClick:O,onMouseEnter:N,onTouchStart:_,legacyBehavior:T=!1,onNavigate:S,ref:I,unstable_dynamicOnHover:$,...A}=r;o=w,T&&("string"==typeof o||"number"==typeof o)&&(o=(0,l.jsx)("a",{children:o}));let M=s.default.useContext(c.AppRouterContext),L=!1!==z,R=!1!==z?null===(t=z)||"auto"===t?b.FetchStrategy.PPR:b.FetchStrategy.Full:b.FetchStrategy.PPR,{href:U,as:D}=s.default.useMemo(()=>{let e=g(x);return{href:e,as:k?g(k):e}},[x,k]);if(T){if(o?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});n=s.default.Children.only(o)}let B=T?n&&"object"==typeof n&&n.ref:I,K=s.default.useCallback(e=>(null!==M&&(y.current=(0,p.mountLinkInstance)(e,U,M,R,L,h)),()=>{y.current&&((0,p.unmountLinkForCurrentNavigation)(y.current),y.current=null),(0,p.unmountPrefetchableInstance)(e)}),[L,U,M,R,h]),F={ref:(0,d.useMergedRef)(K,B),onClick(r){T||"function"!=typeof O||O(r),T&&n.props&&"function"==typeof n.props.onClick&&n.props.onClick(r),!M||r.defaultPrevented||function(r,t,o,n,a,l,i){if("u">typeof window){let c,{nodeName:d}=r.currentTarget;if("A"===d.toUpperCase()&&((c=r.currentTarget.getAttribute("target"))&&"_self"!==c||r.metaKey||r.ctrlKey||r.shiftKey||r.altKey||r.nativeEvent&&2===r.nativeEvent.which)||r.currentTarget.hasAttribute("download"))return;if(!(0,m.isLocalURL)(t)){a&&(r.preventDefault(),location.replace(t));return}if(r.preventDefault(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:u}=e.r(99781);s.default.startTransition(()=>{u(o||t,a?"replace":"push",l??!0,n.current)})}}(r,U,D,y,P,C,S)},onMouseEnter(e){T||"function"!=typeof N||N(e),T&&n.props&&"function"==typeof n.props.onMouseEnter&&n.props.onMouseEnter(e),M&&L&&(0,p.onNavigationIntent)(e.currentTarget,!0===$)},onTouchStart:function(e){T||"function"!=typeof _||_(e),T&&n.props&&"function"==typeof n.props.onTouchStart&&n.props.onTouchStart(e),M&&L&&(0,p.onNavigationIntent)(e.currentTarget,!0===$)}};return(0,u.isAbsoluteUrl)(D)?F.href=D:T&&!j&&("a"!==n.type||"href"in n.props)||(F.href=(0,f.addBasePath)(D)),a=T?s.default.cloneElement(n,F):(0,l.jsx)("a",{...A,...F,children:o}),(0,l.jsx)(v.Provider,{value:i,children:a})}e.r(84508);let v=(0,s.createContext)(p.IDLE_LINK_STATUS),y=()=>(0,s.useContext)(v);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),r.exports=t.default)},19455,19805,27601,7670,25913,75157,98940,e=>{"use strict";var r=e.i(43476);e.i(47167);var t=e.i(71645);let o={};function n(e,r){let n=t.useRef(o);return n.current===o&&(n.current=e(r)),n}let a=t[`useInsertionEffect${Math.random().toFixed(1)}`.slice(0,-3)],l=a&&a!==t.useLayoutEffect?a:e=>e();function s(e){let r=n(i).current;return r.next=e,l(r.effect),r.trampoline}function i(){let e={next:void 0,callback:c,trampoline:(...r)=>e.callback?.(...r),effect:()=>{e.callback=e.next}};return e}function c(){}let d="u">typeof document?t.useLayoutEffect:()=>{};function u(e,r){return e&&!r?e:!e&&r?r:e||r?{...e,...r}:void 0}let f={};function p(e,r,t,o,n){let a={...h(e,f)};return r&&(a=b(a,r)),t&&(a=b(a,t)),o&&(a=b(a,o)),n&&(a=b(a,n)),a}function m(e){if(0===e.length)return f;if(1===e.length)return h(e[0],f);let r={...h(e[0],f)};for(let t=1;t<e.length;t+=1)r=b(r,e[t]);return r}function b(e,r){return g(r)?r(e):function(e,r){if(!r)return e;for(let t in r){let o=r[t];switch(t){case"style":e[t]=u(e.style,o);break;case"className":e[t]=y(e.className,o);break;default:!function(e,r){let t=e.charCodeAt(0),o=e.charCodeAt(1),n=e.charCodeAt(2);return 111===t&&110===o&&n>=65&&n<=90&&("function"==typeof r||void 0===r)}(t,o)?e[t]=o:e[t]=function(e,r){return r?e?t=>{var o;if(null!=(o=t)&&"object"==typeof o&&"nativeEvent"in o){v(t);let o=r(t);return t.baseUIHandlerPrevented||e?.(t),o}let n=r(t);return e?.(t),n}:r:e}(e[t],o)}}return e}(e,r)}function g(e){return"function"==typeof e}function h(e,r){return g(e)?e(r):e??f}function v(e){return e.preventBaseUIHandler=()=>{e.baseUIHandlerPrevented=!0},e}function y(e,r){return r?e?r+" "+e:r:e}function x(e,...r){let t=new URL("https://base-ui.com/production-error");return t.searchParams.set("code",e.toString()),r.forEach(e=>t.searchParams.append("args[]",e)),`Base UI error #${e}; visit ${t} for the full message.`}e.s(["makeEventPreventable",()=>v,"mergeClassNames",()=>y,"mergeProps",()=>p,"mergePropsN",()=>m],19805);let k=t.createContext(void 0);function w(e,r,t,o){var a,l,s,i,c;let d=n(z).current;return a=d,l=e,s=r,i=t,c=o,(a.refs[0]!==l||a.refs[1]!==s||a.refs[2]!==i||a.refs[3]!==c)&&j(d,[e,r,t,o]),d.callback}function z(){return{callback:null,cleanup:null,refs:[]}}function j(e,r){if(e.refs=r,r.every(e=>null==e)){e.callback=null;return}e.callback=t=>{if(e.cleanup&&(e.cleanup(),e.cleanup=null),null!=t){let o=Array(r.length).fill(null);for(let e=0;e<r.length;e+=1){let n=r[e];if(null!=n)switch(typeof n){case"function":{let r=n(t);"function"==typeof r&&(o[e]=r);break}case"object":n.current=t}}e.cleanup=()=>{for(let e=0;e<r.length;e+=1){let t=r[e];if(null!=t)switch(typeof t){case"function":{let r=o[e];"function"==typeof r?r():t(null);break}case"object":t.current=null}}}}}}let P=parseInt(t.version,10);function E(e){if(!t.isValidElement(e))return null;let r=e.props;return(P>=19?r?.ref:e.ref)??null}Object.freeze([]);let C=Object.freeze({});function O(e,r,o={}){let a=r.render,l=function(e,r={}){var t,o,a;let{className:l,style:s,render:i}=e,{state:c=C,ref:d,props:f,stateAttributesMapping:p,enabled:b=!0}=r,g=b?"function"==typeof l?l(c):l:void 0,h=b?"function"==typeof s?s(c):s:void 0,v=b?function(e,r){let t={};for(let o in e){let n=e[o];if(r?.hasOwnProperty(o)){let e=r[o](n);null!=e&&Object.assign(t,e);continue}!0===n?t[`data-${o.toLowerCase()}`]="":n&&(t[`data-${o.toLowerCase()}`]=n.toString())}return t}(c,p):C,x=b?u(v,Array.isArray(f)?m(f):f)??C:C;if("u">typeof document)if(b)if(Array.isArray(d)){let e;t=[x.ref,E(i),...d],o=e=n(z).current,a=t,(o.refs.length!==a.length||o.refs.some((e,r)=>e!==a[r]))&&j(e,t),x.ref=e.callback}else x.ref=w(x.ref,E(i),d);else w(null,null);return b?(void 0!==g&&(x.className=y(x.className,g)),void 0!==h&&(x.style=u(x.style,h)),x):C}(r,o);return!1===o.enabled?null:function(e,r,o,n){if(r){if("function"==typeof r)return r(o,n);let e=p(o,r.props);e.ref=o.ref;let a=r;return a?.$$typeof===N&&(a=t.Children.toArray(r)[0]),t.cloneElement(a,e)}if(e&&"string"==typeof e){var a,l;return a=e,l=o,"button"===a?(0,t.createElement)("button",{type:"button",...l,key:l.key}):"img"===a?(0,t.createElement)("img",{alt:"",...l,key:l.key}):t.createElement(a,l)}throw Error(x(8))}(e,a,l,o.state??C)}let N=Symbol.for("react.lazy");e.s(["useRenderElement",()=>O],27601);let _=t.forwardRef(function(e,r){let{render:o,className:n,disabled:a=!1,focusableWhenDisabled:l=!1,nativeButton:i=!0,...c}=e,{getButtonProps:u,buttonRef:f}=function(e={}){let{disabled:r=!1,focusableWhenDisabled:o,tabIndex:n=0,native:a=!0}=e,l=t.useRef(null),i=void 0!==function(e=!1){let r=t.useContext(k);if(void 0===r&&!e)throw Error(x(16));return r}(!0),c=s(()=>{let e=l.current;return!!(e?.tagName==="A"&&e?.href)}),{props:u}=function(e){let{focusableWhenDisabled:r,disabled:o,composite:n=!1,tabIndex:a=0,isNativeButton:l}=e,s=n&&!1!==r,i=n&&!1===r;return{props:t.useMemo(()=>{let e={onKeyDown(e){o&&r&&"Tab"!==e.key&&e.preventDefault()}};return n||(e.tabIndex=a,!l&&o&&(e.tabIndex=r?a:-1)),(l&&(r||s)||!l&&o)&&(e["aria-disabled"]=o),l&&(!r||i)&&(e.disabled=o),e},[n,o,r,s,i,l,a])}}({focusableWhenDisabled:o,disabled:r,composite:i,tabIndex:n,isNativeButton:a}),f=t.useCallback(()=>{var e;let t=l.current;(function(e){var r;return!!("u">typeof window)&&(e instanceof HTMLElement||e instanceof((null==e||null==(r=e.ownerDocument)?void 0:r.defaultView)||window).HTMLElement)})(e=t)&&"BUTTON"===e.tagName&&i&&r&&void 0===u.disabled&&t.disabled&&(t.disabled=!1)},[r,u.disabled,i]);return d(f,[f]),{getButtonProps:t.useCallback((e={})=>{let{onClick:t,onMouseDown:o,onKeyUp:n,onKeyDown:l,onPointerDown:s,...i}=e;return p({type:a?"button":void 0,onClick(e){r?e.preventDefault():t?.(e)},onMouseDown(e){r||o?.(e)},onKeyDown(e){if(r||(v(e),l?.(e)),e.baseUIHandlerPrevented)return;let o=e.target===e.currentTarget&&!a&&!c()&&!r,n="Enter"===e.key,s=" "===e.key;o&&((s||n)&&e.preventDefault(),n&&t?.(e))},onKeyUp(e){r||(v(e),n?.(e)),!e.baseUIHandlerPrevented&&(e.target!==e.currentTarget||a||r||" "!==e.key||t?.(e))},onPointerDown(e){r?e.preventDefault():s?.(e)}},a?void 0:{role:"button"},u,i)},[r,u,a,c]),buttonRef:s(e=>{l.current=e,f()})}}({disabled:a,focusableWhenDisabled:l,native:i});return O("button",e,{state:{disabled:a},ref:[r,f],props:[c,u]})});function T(){for(var e,r,t=0,o="",n=arguments.length;t<n;t++)(e=arguments[t])&&(r=function e(r){var t,o,n="";if("string"==typeof r||"number"==typeof r)n+=r;else if("object"==typeof r)if(Array.isArray(r)){var a=r.length;for(t=0;t<a;t++)r[t]&&(o=e(r[t]))&&(n&&(n+=" "),n+=o)}else for(o in r)r[o]&&(n&&(n+=" "),n+=o);return n}(e))&&(o&&(o+=" "),o+=r);return o}e.s(["clsx",()=>T],7670);let S=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,I=(e,r)=>t=>{var o;if((null==r?void 0:r.variants)==null)return T(e,null==t?void 0:t.class,null==t?void 0:t.className);let{variants:n,defaultVariants:a}=r,l=Object.keys(n).map(e=>{let r=null==t?void 0:t[e],o=null==a?void 0:a[e];if(null===r)return null;let l=S(r)||S(o);return n[e][l]}),s=t&&Object.entries(t).reduce((e,r)=>{let[t,o]=r;return void 0===o||(e[t]=o),e},{});return T(e,l,null==r||null==(o=r.compoundVariants)?void 0:o.reduce((e,r)=>{let{class:t,className:o,...n}=r;return Object.entries(n).every(e=>{let[r,t]=e;return Array.isArray(t)?t.includes({...a,...s}[r]):({...a,...s})[r]===t})?[...e,t,o]:e},[]),null==t?void 0:t.class,null==t?void 0:t.className)};e.s(["cva",0,I],25913);let $=(e=new Map,r=null,t)=>({nextPart:e,validators:r,classGroupId:t}),A=[],M=(e,r,t)=>{if(0==e.length-r)return t.classGroupId;let o=e[r],n=t.nextPart.get(o);if(n){let t=M(e,r+1,n);if(t)return t}let a=t.validators;if(null===a)return;let l=0===r?e.join("-"):e.slice(r).join("-"),s=a.length;for(let e=0;e<s;e++){let r=a[e];if(r.validator(l))return r.classGroupId}},L=(e,r)=>{let t=$();for(let o in e)R(e[o],t,o,r);return t},R=(e,r,t,o)=>{let n=e.length;for(let a=0;a<n;a++)U(e[a],r,t,o)},U=(e,r,t,o)=>{"string"==typeof e?D(e,r,t):"function"==typeof e?B(e,r,t,o):K(e,r,t,o)},D=(e,r,t)=>{(""===e?r:F(r,e)).classGroupId=t},B=(e,r,t,o)=>{G(e)?R(e(o),r,t,o):(null===r.validators&&(r.validators=[]),r.validators.push({classGroupId:t,validator:e}))},K=(e,r,t,o)=>{let n=Object.entries(e),a=n.length;for(let e=0;e<a;e++){let[a,l]=n[e];R(l,F(r,a),t,o)}},F=(e,r)=>{let t=e,o=r.split("-"),n=o.length;for(let e=0;e<n;e++){let r=o[e],n=t.nextPart.get(r);n||(n=$(),t.nextPart.set(r,n)),t=n}return t},G=e=>"isThemeGetter"in e&&!0===e.isThemeGetter,W=[],H=(e,r,t,o,n)=>({modifiers:e,hasImportantModifier:r,baseClassName:t,maybePostfixModifierPosition:o,isExternal:n}),V=/\s+/,q=e=>{let r;if("string"==typeof e)return e;let t="";for(let o=0;o<e.length;o++)e[o]&&(r=q(e[o]))&&(t&&(t+=" "),t+=r);return t},Q=[],X=e=>{let r=r=>r[e]||Q;return r.isThemeGetter=!0,r},J=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Z=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Y=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,ee=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,er=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,et=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,eo=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,en=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ea=e=>Y.test(e),el=e=>!!e&&!Number.isNaN(Number(e)),es=e=>!!e&&Number.isInteger(Number(e)),ei=e=>e.endsWith("%")&&el(e.slice(0,-1)),ec=e=>ee.test(e),ed=()=>!0,eu=e=>er.test(e)&&!et.test(e),ef=()=>!1,ep=e=>eo.test(e),em=e=>en.test(e),eb=e=>!eh(e)&&!eP(e),eg=e=>eI(e,eL,ef),eh=e=>J.test(e),ev=e=>eI(e,eR,eu),ey=e=>eI(e,eU,el),ex=e=>eI(e,eB,ed),ek=e=>eI(e,eD,ef),ew=e=>eI(e,eA,ef),ez=e=>eI(e,eM,em),ej=e=>eI(e,eK,ep),eP=e=>Z.test(e),eE=e=>e$(e,eR),eC=e=>e$(e,eD),eO=e=>e$(e,eA),eN=e=>e$(e,eL),e_=e=>e$(e,eM),eT=e=>e$(e,eK,!0),eS=e=>e$(e,eB,!0),eI=(e,r,t)=>{let o=J.exec(e);return!!o&&(o[1]?r(o[1]):t(o[2]))},e$=(e,r,t=!1)=>{let o=Z.exec(e);return!!o&&(o[1]?r(o[1]):t)},eA=e=>"position"===e||"percentage"===e,eM=e=>"image"===e||"url"===e,eL=e=>"length"===e||"size"===e||"bg-size"===e,eR=e=>"length"===e,eU=e=>"number"===e,eD=e=>"family-name"===e,eB=e=>"number"===e||"weight"===e,eK=e=>"shadow"===e,eF=((e,...r)=>{let t,o,n,a,l=e=>{let r=o(e);if(r)return r;let a=((e,r)=>{let{parseClassName:t,getClassGroupId:o,getConflictingClassGroupIds:n,sortModifiers:a}=r,l=[],s=e.trim().split(V),i="";for(let e=s.length-1;e>=0;e-=1){let r=s[e],{isExternal:c,modifiers:d,hasImportantModifier:u,baseClassName:f,maybePostfixModifierPosition:p}=t(r);if(c){i=r+(i.length>0?" "+i:i);continue}let m=!!p,b=o(m?f.substring(0,p):f);if(!b){if(!m||!(b=o(f))){i=r+(i.length>0?" "+i:i);continue}m=!1}let g=0===d.length?"":1===d.length?d[0]:a(d).join(":"),h=u?g+"!":g,v=h+b;if(l.indexOf(v)>-1)continue;l.push(v);let y=n(b,m);for(let e=0;e<y.length;++e){let r=y[e];l.push(h+r)}i=r+(i.length>0?" "+i:i)}return i})(e,t);return n(e,a),a};return a=s=>{var i;let c;return o=(t={cache:(e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let r=0,t=Object.create(null),o=Object.create(null),n=(n,a)=>{t[n]=a,++r>e&&(r=0,o=t,t=Object.create(null))};return{get(e){let r=t[e];return void 0!==r?r:void 0!==(r=o[e])?(n(e,r),r):void 0},set(e,r){e in t?t[e]=r:n(e,r)}}})((i=r.reduce((e,r)=>r(e),e())).cacheSize),parseClassName:(e=>{let{prefix:r,experimentalParseClassName:t}=e,o=e=>{let r,t=[],o=0,n=0,a=0,l=e.length;for(let s=0;s<l;s++){let l=e[s];if(0===o&&0===n){if(":"===l){t.push(e.slice(a,s)),a=s+1;continue}if("/"===l){r=s;continue}}"["===l?o++:"]"===l?o--:"("===l?n++:")"===l&&n--}let s=0===t.length?e:e.slice(a),i=s,c=!1;return s.endsWith("!")?(i=s.slice(0,-1),c=!0):s.startsWith("!")&&(i=s.slice(1),c=!0),H(t,c,i,r&&r>a?r-a:void 0)};if(r){let e=r+":",t=o;o=r=>r.startsWith(e)?t(r.slice(e.length)):H(W,!1,r,void 0,!0)}if(t){let e=o;o=r=>t({className:r,parseClassName:e})}return o})(i),sortModifiers:(c=new Map,i.orderSensitiveModifiers.forEach((e,r)=>{c.set(e,1e6+r)}),e=>{let r=[],t=[];for(let o=0;o<e.length;o++){let n=e[o],a="["===n[0],l=c.has(n);a||l?(t.length>0&&(t.sort(),r.push(...t),t=[]),r.push(n)):t.push(n)}return t.length>0&&(t.sort(),r.push(...t)),r}),...(e=>{let r=(e=>{let{theme:r,classGroups:t}=e;return L(t,r)})(e),{conflictingClassGroups:t,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:e=>{if(e.startsWith("[")&&e.endsWith("]")){var t;let r,o,n;return -1===(t=e).slice(1,-1).indexOf(":")?void 0:(o=(r=t.slice(1,-1)).indexOf(":"),(n=r.slice(0,o))?"arbitrary.."+n:void 0)}let o=e.split("-"),n=+(""===o[0]&&o.length>1);return M(o,n,r)},getConflictingClassGroupIds:(e,r)=>{if(r){let r=o[e],n=t[e];if(r){if(n){let e=Array(n.length+r.length);for(let r=0;r<n.length;r++)e[r]=n[r];for(let t=0;t<r.length;t++)e[n.length+t]=r[t];return e}return r}return n||A}return t[e]||A}}})(i)}).cache.get,n=t.cache.set,a=l,l(s)},(...e)=>a(((...e)=>{let r,t,o=0,n="";for(;o<e.length;)(r=e[o++])&&(t=q(r))&&(n&&(n+=" "),n+=t);return n})(...e))})(()=>{let e=X("color"),r=X("font"),t=X("text"),o=X("font-weight"),n=X("tracking"),a=X("leading"),l=X("breakpoint"),s=X("container"),i=X("spacing"),c=X("radius"),d=X("shadow"),u=X("inset-shadow"),f=X("text-shadow"),p=X("drop-shadow"),m=X("blur"),b=X("perspective"),g=X("aspect"),h=X("ease"),v=X("animate"),y=()=>["auto","avoid","all","avoid-page","page","left","right","column"],x=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],k=()=>[...x(),eP,eh],w=()=>["auto","hidden","clip","visible","scroll"],z=()=>["auto","contain","none"],j=()=>[eP,eh,i],P=()=>[ea,"full","auto",...j()],E=()=>[es,"none","subgrid",eP,eh],C=()=>["auto",{span:["full",es,eP,eh]},es,eP,eh],O=()=>[es,"auto",eP,eh],N=()=>["auto","min","max","fr",eP,eh],_=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],T=()=>["start","end","center","stretch","center-safe","end-safe"],S=()=>["auto",...j()],I=()=>[ea,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...j()],$=()=>[ea,"screen","full","dvw","lvw","svw","min","max","fit",...j()],A=()=>[ea,"screen","full","lh","dvh","lvh","svh","min","max","fit",...j()],M=()=>[e,eP,eh],L=()=>[...x(),eO,ew,{position:[eP,eh]}],R=()=>["no-repeat",{repeat:["","x","y","space","round"]}],U=()=>["auto","cover","contain",eN,eg,{size:[eP,eh]}],D=()=>[ei,eE,ev],B=()=>["","none","full",c,eP,eh],K=()=>["",el,eE,ev],F=()=>["solid","dashed","dotted","double"],G=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],W=()=>[el,ei,eO,ew],H=()=>["","none",m,eP,eh],V=()=>["none",el,eP,eh],q=()=>["none",el,eP,eh],Q=()=>[el,eP,eh],J=()=>[ea,"full",...j()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[ec],breakpoint:[ec],color:[ed],container:[ec],"drop-shadow":[ec],ease:["in","out","in-out"],font:[eb],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[ec],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[ec],shadow:[ec],spacing:["px",el],text:[ec],"text-shadow":[ec],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",ea,eh,eP,g]}],container:["container"],columns:[{columns:[el,eh,eP,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:k()}],overflow:[{overflow:w()}],"overflow-x":[{"overflow-x":w()}],"overflow-y":[{"overflow-y":w()}],overscroll:[{overscroll:z()}],"overscroll-x":[{"overscroll-x":z()}],"overscroll-y":[{"overscroll-y":z()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:P()}],"inset-x":[{"inset-x":P()}],"inset-y":[{"inset-y":P()}],start:[{"inset-s":P(),start:P()}],end:[{"inset-e":P(),end:P()}],"inset-bs":[{"inset-bs":P()}],"inset-be":[{"inset-be":P()}],top:[{top:P()}],right:[{right:P()}],bottom:[{bottom:P()}],left:[{left:P()}],visibility:["visible","invisible","collapse"],z:[{z:[es,"auto",eP,eh]}],basis:[{basis:[ea,"full","auto",s,...j()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[el,ea,"auto","initial","none",eh]}],grow:[{grow:["",el,eP,eh]}],shrink:[{shrink:["",el,eP,eh]}],order:[{order:[es,"first","last","none",eP,eh]}],"grid-cols":[{"grid-cols":E()}],"col-start-end":[{col:C()}],"col-start":[{"col-start":O()}],"col-end":[{"col-end":O()}],"grid-rows":[{"grid-rows":E()}],"row-start-end":[{row:C()}],"row-start":[{"row-start":O()}],"row-end":[{"row-end":O()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":N()}],"auto-rows":[{"auto-rows":N()}],gap:[{gap:j()}],"gap-x":[{"gap-x":j()}],"gap-y":[{"gap-y":j()}],"justify-content":[{justify:[..._(),"normal"]}],"justify-items":[{"justify-items":[...T(),"normal"]}],"justify-self":[{"justify-self":["auto",...T()]}],"align-content":[{content:["normal",..._()]}],"align-items":[{items:[...T(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...T(),{baseline:["","last"]}]}],"place-content":[{"place-content":_()}],"place-items":[{"place-items":[...T(),"baseline"]}],"place-self":[{"place-self":["auto",...T()]}],p:[{p:j()}],px:[{px:j()}],py:[{py:j()}],ps:[{ps:j()}],pe:[{pe:j()}],pbs:[{pbs:j()}],pbe:[{pbe:j()}],pt:[{pt:j()}],pr:[{pr:j()}],pb:[{pb:j()}],pl:[{pl:j()}],m:[{m:S()}],mx:[{mx:S()}],my:[{my:S()}],ms:[{ms:S()}],me:[{me:S()}],mbs:[{mbs:S()}],mbe:[{mbe:S()}],mt:[{mt:S()}],mr:[{mr:S()}],mb:[{mb:S()}],ml:[{ml:S()}],"space-x":[{"space-x":j()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":j()}],"space-y-reverse":["space-y-reverse"],size:[{size:I()}],"inline-size":[{inline:["auto",...$()]}],"min-inline-size":[{"min-inline":["auto",...$()]}],"max-inline-size":[{"max-inline":["none",...$()]}],"block-size":[{block:["auto",...A()]}],"min-block-size":[{"min-block":["auto",...A()]}],"max-block-size":[{"max-block":["none",...A()]}],w:[{w:[s,"screen",...I()]}],"min-w":[{"min-w":[s,"screen","none",...I()]}],"max-w":[{"max-w":[s,"screen","none","prose",{screen:[l]},...I()]}],h:[{h:["screen","lh",...I()]}],"min-h":[{"min-h":["screen","lh","none",...I()]}],"max-h":[{"max-h":["screen","lh",...I()]}],"font-size":[{text:["base",t,eE,ev]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,eS,ex]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",ei,eh]}],"font-family":[{font:[eC,ek,r]}],"font-features":[{"font-features":[eh]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[n,eP,eh]}],"line-clamp":[{"line-clamp":[el,"none",eP,ey]}],leading:[{leading:[a,...j()]}],"list-image":[{"list-image":["none",eP,eh]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",eP,eh]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:M()}],"text-color":[{text:M()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...F(),"wavy"]}],"text-decoration-thickness":[{decoration:[el,"from-font","auto",eP,ev]}],"text-decoration-color":[{decoration:M()}],"underline-offset":[{"underline-offset":[el,"auto",eP,eh]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:j()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",eP,eh]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",eP,eh]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:L()}],"bg-repeat":[{bg:R()}],"bg-size":[{bg:U()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},es,eP,eh],radial:["",eP,eh],conic:[es,eP,eh]},e_,ez]}],"bg-color":[{bg:M()}],"gradient-from-pos":[{from:D()}],"gradient-via-pos":[{via:D()}],"gradient-to-pos":[{to:D()}],"gradient-from":[{from:M()}],"gradient-via":[{via:M()}],"gradient-to":[{to:M()}],rounded:[{rounded:B()}],"rounded-s":[{"rounded-s":B()}],"rounded-e":[{"rounded-e":B()}],"rounded-t":[{"rounded-t":B()}],"rounded-r":[{"rounded-r":B()}],"rounded-b":[{"rounded-b":B()}],"rounded-l":[{"rounded-l":B()}],"rounded-ss":[{"rounded-ss":B()}],"rounded-se":[{"rounded-se":B()}],"rounded-ee":[{"rounded-ee":B()}],"rounded-es":[{"rounded-es":B()}],"rounded-tl":[{"rounded-tl":B()}],"rounded-tr":[{"rounded-tr":B()}],"rounded-br":[{"rounded-br":B()}],"rounded-bl":[{"rounded-bl":B()}],"border-w":[{border:K()}],"border-w-x":[{"border-x":K()}],"border-w-y":[{"border-y":K()}],"border-w-s":[{"border-s":K()}],"border-w-e":[{"border-e":K()}],"border-w-bs":[{"border-bs":K()}],"border-w-be":[{"border-be":K()}],"border-w-t":[{"border-t":K()}],"border-w-r":[{"border-r":K()}],"border-w-b":[{"border-b":K()}],"border-w-l":[{"border-l":K()}],"divide-x":[{"divide-x":K()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":K()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...F(),"hidden","none"]}],"divide-style":[{divide:[...F(),"hidden","none"]}],"border-color":[{border:M()}],"border-color-x":[{"border-x":M()}],"border-color-y":[{"border-y":M()}],"border-color-s":[{"border-s":M()}],"border-color-e":[{"border-e":M()}],"border-color-bs":[{"border-bs":M()}],"border-color-be":[{"border-be":M()}],"border-color-t":[{"border-t":M()}],"border-color-r":[{"border-r":M()}],"border-color-b":[{"border-b":M()}],"border-color-l":[{"border-l":M()}],"divide-color":[{divide:M()}],"outline-style":[{outline:[...F(),"none","hidden"]}],"outline-offset":[{"outline-offset":[el,eP,eh]}],"outline-w":[{outline:["",el,eE,ev]}],"outline-color":[{outline:M()}],shadow:[{shadow:["","none",d,eT,ej]}],"shadow-color":[{shadow:M()}],"inset-shadow":[{"inset-shadow":["none",u,eT,ej]}],"inset-shadow-color":[{"inset-shadow":M()}],"ring-w":[{ring:K()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:M()}],"ring-offset-w":[{"ring-offset":[el,ev]}],"ring-offset-color":[{"ring-offset":M()}],"inset-ring-w":[{"inset-ring":K()}],"inset-ring-color":[{"inset-ring":M()}],"text-shadow":[{"text-shadow":["none",f,eT,ej]}],"text-shadow-color":[{"text-shadow":M()}],opacity:[{opacity:[el,eP,eh]}],"mix-blend":[{"mix-blend":[...G(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":G()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[el]}],"mask-image-linear-from-pos":[{"mask-linear-from":W()}],"mask-image-linear-to-pos":[{"mask-linear-to":W()}],"mask-image-linear-from-color":[{"mask-linear-from":M()}],"mask-image-linear-to-color":[{"mask-linear-to":M()}],"mask-image-t-from-pos":[{"mask-t-from":W()}],"mask-image-t-to-pos":[{"mask-t-to":W()}],"mask-image-t-from-color":[{"mask-t-from":M()}],"mask-image-t-to-color":[{"mask-t-to":M()}],"mask-image-r-from-pos":[{"mask-r-from":W()}],"mask-image-r-to-pos":[{"mask-r-to":W()}],"mask-image-r-from-color":[{"mask-r-from":M()}],"mask-image-r-to-color":[{"mask-r-to":M()}],"mask-image-b-from-pos":[{"mask-b-from":W()}],"mask-image-b-to-pos":[{"mask-b-to":W()}],"mask-image-b-from-color":[{"mask-b-from":M()}],"mask-image-b-to-color":[{"mask-b-to":M()}],"mask-image-l-from-pos":[{"mask-l-from":W()}],"mask-image-l-to-pos":[{"mask-l-to":W()}],"mask-image-l-from-color":[{"mask-l-from":M()}],"mask-image-l-to-color":[{"mask-l-to":M()}],"mask-image-x-from-pos":[{"mask-x-from":W()}],"mask-image-x-to-pos":[{"mask-x-to":W()}],"mask-image-x-from-color":[{"mask-x-from":M()}],"mask-image-x-to-color":[{"mask-x-to":M()}],"mask-image-y-from-pos":[{"mask-y-from":W()}],"mask-image-y-to-pos":[{"mask-y-to":W()}],"mask-image-y-from-color":[{"mask-y-from":M()}],"mask-image-y-to-color":[{"mask-y-to":M()}],"mask-image-radial":[{"mask-radial":[eP,eh]}],"mask-image-radial-from-pos":[{"mask-radial-from":W()}],"mask-image-radial-to-pos":[{"mask-radial-to":W()}],"mask-image-radial-from-color":[{"mask-radial-from":M()}],"mask-image-radial-to-color":[{"mask-radial-to":M()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":x()}],"mask-image-conic-pos":[{"mask-conic":[el]}],"mask-image-conic-from-pos":[{"mask-conic-from":W()}],"mask-image-conic-to-pos":[{"mask-conic-to":W()}],"mask-image-conic-from-color":[{"mask-conic-from":M()}],"mask-image-conic-to-color":[{"mask-conic-to":M()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:L()}],"mask-repeat":[{mask:R()}],"mask-size":[{mask:U()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",eP,eh]}],filter:[{filter:["","none",eP,eh]}],blur:[{blur:H()}],brightness:[{brightness:[el,eP,eh]}],contrast:[{contrast:[el,eP,eh]}],"drop-shadow":[{"drop-shadow":["","none",p,eT,ej]}],"drop-shadow-color":[{"drop-shadow":M()}],grayscale:[{grayscale:["",el,eP,eh]}],"hue-rotate":[{"hue-rotate":[el,eP,eh]}],invert:[{invert:["",el,eP,eh]}],saturate:[{saturate:[el,eP,eh]}],sepia:[{sepia:["",el,eP,eh]}],"backdrop-filter":[{"backdrop-filter":["","none",eP,eh]}],"backdrop-blur":[{"backdrop-blur":H()}],"backdrop-brightness":[{"backdrop-brightness":[el,eP,eh]}],"backdrop-contrast":[{"backdrop-contrast":[el,eP,eh]}],"backdrop-grayscale":[{"backdrop-grayscale":["",el,eP,eh]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[el,eP,eh]}],"backdrop-invert":[{"backdrop-invert":["",el,eP,eh]}],"backdrop-opacity":[{"backdrop-opacity":[el,eP,eh]}],"backdrop-saturate":[{"backdrop-saturate":[el,eP,eh]}],"backdrop-sepia":[{"backdrop-sepia":["",el,eP,eh]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":j()}],"border-spacing-x":[{"border-spacing-x":j()}],"border-spacing-y":[{"border-spacing-y":j()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",eP,eh]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[el,"initial",eP,eh]}],ease:[{ease:["linear","initial",h,eP,eh]}],delay:[{delay:[el,eP,eh]}],animate:[{animate:["none",v,eP,eh]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[b,eP,eh]}],"perspective-origin":[{"perspective-origin":k()}],rotate:[{rotate:V()}],"rotate-x":[{"rotate-x":V()}],"rotate-y":[{"rotate-y":V()}],"rotate-z":[{"rotate-z":V()}],scale:[{scale:q()}],"scale-x":[{"scale-x":q()}],"scale-y":[{"scale-y":q()}],"scale-z":[{"scale-z":q()}],"scale-3d":["scale-3d"],skew:[{skew:Q()}],"skew-x":[{"skew-x":Q()}],"skew-y":[{"skew-y":Q()}],transform:[{transform:[eP,eh,"","none","gpu","cpu"]}],"transform-origin":[{origin:k()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:J()}],"translate-x":[{"translate-x":J()}],"translate-y":[{"translate-y":J()}],"translate-z":[{"translate-z":J()}],"translate-none":["translate-none"],accent:[{accent:M()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:M()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",eP,eh]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":j()}],"scroll-mx":[{"scroll-mx":j()}],"scroll-my":[{"scroll-my":j()}],"scroll-ms":[{"scroll-ms":j()}],"scroll-me":[{"scroll-me":j()}],"scroll-mbs":[{"scroll-mbs":j()}],"scroll-mbe":[{"scroll-mbe":j()}],"scroll-mt":[{"scroll-mt":j()}],"scroll-mr":[{"scroll-mr":j()}],"scroll-mb":[{"scroll-mb":j()}],"scroll-ml":[{"scroll-ml":j()}],"scroll-p":[{"scroll-p":j()}],"scroll-px":[{"scroll-px":j()}],"scroll-py":[{"scroll-py":j()}],"scroll-ps":[{"scroll-ps":j()}],"scroll-pe":[{"scroll-pe":j()}],"scroll-pbs":[{"scroll-pbs":j()}],"scroll-pbe":[{"scroll-pbe":j()}],"scroll-pt":[{"scroll-pt":j()}],"scroll-pr":[{"scroll-pr":j()}],"scroll-pb":[{"scroll-pb":j()}],"scroll-pl":[{"scroll-pl":j()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",eP,eh]}],fill:[{fill:["none",...M()]}],"stroke-w":[{stroke:[el,eE,ev,ey]}],stroke:[{stroke:["none",...M()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function eG(...e){return eF(T(e))}e.s(["cn",()=>eG],75157);let eW=I("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function eH({className:e,variant:t="default",size:o="default",...n}){return(0,r.jsx)(_,{"data-slot":"button",className:eG(eW({variant:t,size:o,className:e})),...n})}function eV({size:e="md"}){return(0,r.jsxs)("span",{className:`${{sm:"text-lg",md:"text-xl",lg:"text-3xl",xl:"text-5xl sm:text-6xl"}[e]} font-bold tracking-tight`,children:[(0,r.jsx)("span",{className:"text-white",children:"Cla"}),(0,r.jsx)("span",{className:"bg-gradient-to-r from-white via-emerald-300 to-emerald-400 bg-clip-text text-transparent",children:"W"}),(0,r.jsx)("span",{className:"text-emerald-400",children:"atch"})]})}function eq({className:e="size-7"}){return(0,r.jsx)("div",{className:`${e} rounded-lg bg-emerald-500 flex items-center justify-center`,children:(0,r.jsxs)("svg",{className:"w-[60%] h-[60%] text-white",fill:"none",viewBox:"0 0 24 24",strokeWidth:2.5,stroke:"currentColor",children:[(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M2.036 12.322a1.012 1.012 0 010-.639C3.423 7.51 7.36 4.5 12 4.5c4.64 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.64 0-8.573-3.007-9.963-7.178z"}),(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})]})})}e.s(["Button",()=>eH],19455),e.s(["ClaWatchIcon",()=>eq,"ClaWatchLogo",()=>eV],98940)}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,91915,(e,t,r)=>{"use strict";function n(e,t={}){if(t.onlyHashChange)return void e();let r=document.documentElement;if("smooth"!==r.dataset.scrollBehavior)return void e();let a=r.style.scrollBehavior;r.style.scrollBehavior="auto",t.dontForceLayout||r.getClientRects(),e(),r.style.scrollBehavior=a}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"disableSmoothScrollDuringRouteTransition",{enumerable:!0,get:function(){return n}}),e.r(33525)},68017,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HTTPAccessFallbackBoundary",{enumerable:!0,get:function(){return l}});let n=e.r(90809),a=e.r(43476),o=n._(e.r(71645)),i=e.r(90373),s=e.r(54394);e.r(33525);let c=e.r(8372);class u extends o.default.Component{constructor(e){super(e),this.state={triggeredStatus:void 0,previousPathname:e.pathname}}componentDidCatch(){}static getDerivedStateFromError(e){if((0,s.isHTTPAccessFallbackError)(e))return{triggeredStatus:(0,s.getAccessFallbackHTTPStatus)(e)};throw e}static getDerivedStateFromProps(e,t){return e.pathname!==t.previousPathname&&t.triggeredStatus?{triggeredStatus:void 0,previousPathname:e.pathname}:{triggeredStatus:t.triggeredStatus,previousPathname:e.pathname}}render(){let{notFound:e,forbidden:t,unauthorized:r,children:n}=this.props,{triggeredStatus:o}=this.state,i={[s.HTTPAccessErrorStatus.NOT_FOUND]:e,[s.HTTPAccessErrorStatus.FORBIDDEN]:t,[s.HTTPAccessErrorStatus.UNAUTHORIZED]:r};if(o){let c=o===s.HTTPAccessErrorStatus.NOT_FOUND&&e,u=o===s.HTTPAccessErrorStatus.FORBIDDEN&&t,l=o===s.HTTPAccessErrorStatus.UNAUTHORIZED&&r;return c||u||l?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("meta",{name:"robots",content:"noindex"}),!1,i[o]]}):n}return n}}function l({notFound:e,forbidden:t,unauthorized:r,children:n}){let s=(0,i.useUntrackedPathname)(),l=(0,o.useContext)(c.MissingSlotContext);return e||t||r?(0,a.jsx)(u,{pathname:s,notFound:e,forbidden:t,unauthorized:r,missingSlots:l,children:n}):(0,a.jsx)(a.Fragment,{children:n})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},91798,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useRouterBFCache",{enumerable:!0,get:function(){return a}});let n=e.r(71645);function a(e,t){let[r,a]=(0,n.useState)(()=>({tree:e,stateKey:t,next:null}));if(r.tree===e)return r;let o={tree:e,stateKey:t,next:null},i=1,s=r,c=o;for(;null!==s&&i<1;){if(s.stateKey===t){c.next=s.next;break}{i++;let e={tree:s.tree,stateKey:s.stateKey,next:null};c.next=e,c=e}s=s.next}return a(o),o}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},39756,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return w}});let n=e.r(55682),a=e.r(90809),o=e.r(43476),i=a._(e.r(71645)),s=n._(e.r(74080)),c=e.r(8372),u=e.r(1244),l=e.r(72383),d=e.r(56019),f=e.r(91915),p=e.r(58442),h=e.r(68017),m=e.r(70725),g=e.r(91798);e.r(74180);let y=e.r(61994),b=e.r(33906),P=e.r(95871),_=s.default.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,S=["bottom","height","left","right","top","width","x","y"];function v(e,t){let r=e.getBoundingClientRect();return r.top>=0&&r.top<=t}class O extends i.default.Component{componentDidMount(){this.handlePotentialScroll()}componentDidUpdate(){this.props.focusAndScrollRef.apply&&this.handlePotentialScroll()}render(){return this.props.children}constructor(...e){super(...e),this.handlePotentialScroll=()=>{let{focusAndScrollRef:e,segmentPath:t}=this.props;if(e.apply){if(0!==e.segmentPaths.length&&!e.segmentPaths.some(e=>t.every((t,r)=>(0,d.matchSegment)(t,e[r]))))return;let r=null,n=e.hashFragment;if(n&&(r="top"===n?document.body:document.getElementById(n)??document.getElementsByName(n)[0]),r||(r="u"<typeof window?null:(0,_.findDOMNode)(this)),!(r instanceof Element))return;for(;!(r instanceof HTMLElement)||function(e){if(["sticky","fixed"].includes(getComputedStyle(e).position))return!0;let t=e.getBoundingClientRect();return S.every(e=>0===t[e])}(r);){if(null===r.nextElementSibling)return;r=r.nextElementSibling}e.apply=!1,e.hashFragment=null,e.segmentPaths=[],(0,f.disableSmoothScrollDuringRouteTransition)(()=>{if(n)return void r.scrollIntoView();let e=document.documentElement,t=e.clientHeight;!v(r,t)&&(e.scrollTop=0,v(r,t)||r.scrollIntoView())},{dontForceLayout:!0,onlyHashChange:e.onlyHashChange}),e.onlyHashChange=!1,r.focus()}}}}function R({segmentPath:e,children:t}){let r=(0,i.useContext)(c.GlobalLayoutRouterContext);if(!r)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});return(0,o.jsx)(O,{segmentPath:e,focusAndScrollRef:r.focusAndScrollRef,children:t})}function E({tree:e,segmentPath:t,debugNameContext:r,cacheNode:n,params:a,url:s,isActive:l}){let d,f=(0,i.useContext)(c.GlobalLayoutRouterContext);if((0,i.useContext)(y.NavigationPromisesContext),!f)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});let p=null!==n?n:(0,i.use)(u.unresolvedThenable),h=null!==p.prefetchRsc?p.prefetchRsc:p.rsc,m=(0,i.useDeferredValue)(p.rsc,h);if((0,P.isDeferredRsc)(m)){let e=(0,i.use)(m);null===e&&(0,i.use)(u.unresolvedThenable),d=e}else null===m&&(0,i.use)(u.unresolvedThenable),d=m;let g=d;return(0,o.jsx)(c.LayoutRouterContext.Provider,{value:{parentTree:e,parentCacheNode:p,parentSegmentPath:t,parentParams:a,debugNameContext:r,url:s,isActive:l},children:g})}function j({name:e,loading:t,children:r}){let n;if(n="object"==typeof t&&null!==t&&"function"==typeof t.then?(0,i.use)(t):t){let t=n[0],a=n[1],s=n[2];return(0,o.jsx)(i.Suspense,{name:e,fallback:(0,o.jsxs)(o.Fragment,{children:[a,s,t]}),children:r})}return(0,o.jsx)(o.Fragment,{children:r})}function w({parallelRouterKey:e,error:t,errorStyles:r,errorScripts:n,templateStyles:a,templateScripts:s,template:d,notFound:f,forbidden:y,unauthorized:P,segmentViewBoundaries:_}){let S=(0,i.useContext)(c.LayoutRouterContext);if(!S)throw Object.defineProperty(Error("invariant expected layout router to be mounted"),"__NEXT_ERROR_CODE",{value:"E56",enumerable:!1,configurable:!0});let{parentTree:v,parentCacheNode:O,parentSegmentPath:w,parentParams:C,url:T,isActive:x,debugNameContext:A}=S,M=O.parallelRoutes,D=M.get(e);D||(D=new Map,M.set(e,D));let F=v[0],I=null===w?[e]:w.concat([F,e]),k=v[1][e];void 0===k&&(0,i.use)(u.unresolvedThenable);let N=k[0],U=(0,m.createRouterCacheKey)(N,!0),B=(0,g.useRouterBFCache)(k,U),L=[];do{let e=B.tree,i=B.stateKey,u=e[0],g=(0,m.createRouterCacheKey)(u),_=D.get(g)??null,S=C;if(Array.isArray(u)){let e=u[0],t=u[1],r=u[2],n=(0,b.getParamValueFromCacheKey)(t,r);null!==n&&(S={...C,[e]:n})}let v=function(e){if("/"===e)return"/";if("string"==typeof e)if("(slot)"===e)return;else return e+"/";return e[1]+"/"}(u),w=v??A,M=void 0===v?void 0:A,F=O.loading,k=(0,o.jsxs)(c.TemplateContext.Provider,{value:(0,o.jsxs)(R,{segmentPath:I,children:[(0,o.jsx)(l.ErrorBoundary,{errorComponent:t,errorStyles:r,errorScripts:n,children:(0,o.jsx)(j,{name:M,loading:F,children:(0,o.jsx)(h.HTTPAccessFallbackBoundary,{notFound:f,forbidden:y,unauthorized:P,children:(0,o.jsxs)(p.RedirectBoundary,{children:[(0,o.jsx)(E,{url:T,tree:e,params:S,cacheNode:_,segmentPath:I,debugNameContext:w,isActive:x&&i===U}),null]})})})}),null]}),children:[a,s,d]},i);L.push(k),B=B.next}while(null!==B)return L}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},37457,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return s}});let n=e.r(90809),a=e.r(43476),o=n._(e.r(71645)),i=e.r(8372);function s(){let e=(0,o.useContext)(i.TemplateContext);return(0,a.jsx)(a.Fragment,{children:e})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},93504,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderSearchParamsFromClient",{enumerable:!0,get:function(){return a}});let n=new WeakMap;function a(e){let t=n.get(e);if(t)return t;let r=Promise.resolve(e);return n.set(e,r),r}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},66996,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderSearchParamsFromClient",{enumerable:!0,get:function(){return n}});let n=e.r(93504).createRenderSearchParamsFromClient;("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},6831,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderParamsFromClient",{enumerable:!0,get:function(){return a}});let n=new WeakMap;function a(e){let t=n.get(e);if(t)return t;let r=Promise.resolve(e);return n.set(e,r),r}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},97689,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderParamsFromClient",{enumerable:!0,get:function(){return n}});let n=e.r(6831).createRenderParamsFromClient;("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},42715,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ReflectAdapter",{enumerable:!0,get:function(){return n}});class n{static get(e,t,r){let n=Reflect.get(e,t,r);return"function"==typeof n?n.bind(e):n}static set(e,t,r,n){return Reflect.set(e,t,r,n)}static has(e,t){return Reflect.has(e,t)}static deleteProperty(e,t){return Reflect.deleteProperty(e,t)}}},76361,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createDedupedByCallsiteServerErrorLoggerDev",{enumerable:!0,get:function(){return c}});let n=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=a(void 0);if(r&&r.has(e))return r.get(e);var n={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(n,i,s):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(e.r(71645));function a(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(a=function(e){return e?r:t})(e)}let o={current:null},i="function"==typeof n.cache?n.cache:e=>e,s=console.warn;function c(e){return function(...t){s(e(...t))}}i(e=>{try{s(o.current)}finally{o.current=null}})},65932,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={describeHasCheckingStringProperty:function(){return s},describeStringPropertyAccess:function(){return i},wellKnownProperties:function(){return c}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function i(e,t){return o.test(t)?`\`${e}.${t}\``:`\`${e}[${JSON.stringify(t)}]\``}function s(e,t){let r=JSON.stringify(t);return`\`Reflect.has(${e}, ${r})\`, \`${r} in ${e}\`, or similar`}let c=new Set(["hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toString","valueOf","toLocaleString","then","catch","finally","status","displayName","_debugInfo","toJSON","$$typeof","__esModule"])},83066,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"afterTaskAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(90317).createAsyncLocalStorage)()},41643,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"afterTaskAsyncStorage",{enumerable:!0,get:function(){return n.afterTaskAsyncStorageInstance}});let n=e.r(83066)},50999,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={isRequestAPICallableInsideAfter:function(){return u},throwForSearchParamsAccessInUseCache:function(){return c},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(43248),i=e.r(41643);function s(e,t){throw Object.defineProperty(new o.StaticGenBailoutError(`Route ${e} with \`dynamic = "error"\` couldn't be rendered statically because it used ${t}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E543",enumerable:!1,configurable:!0})}function c(e,t){let r=Object.defineProperty(Error(`Route ${e.route} used \`searchParams\` inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \`searchParams\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E842",enumerable:!1,configurable:!0});throw Error.captureStackTrace(r,t),e.invalidDynamicUsageError??=r,r}function u(){let e=i.afterTaskAsyncStorage.getStore();return(null==e?void 0:e.rootTaskSpawnPhase)==="action"}},42852,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,a={RenderStage:function(){return c},StagedRenderingController:function(){return u}};for(var o in a)Object.defineProperty(r,o,{enumerable:!0,get:a[o]});let i=e.r(12718),s=e.r(39470);var c=((n={})[n.Before=1]="Before",n[n.Static=2]="Static",n[n.Runtime=3]="Runtime",n[n.Dynamic=4]="Dynamic",n[n.Abandoned=5]="Abandoned",n);class u{constructor(e=null,t){this.abortSignal=e,this.hasRuntimePrefetch=t,this.currentStage=1,this.staticInterruptReason=null,this.runtimeInterruptReason=null,this.staticStageEndTime=1/0,this.runtimeStageEndTime=1/0,this.runtimeStageListeners=[],this.dynamicStageListeners=[],this.runtimeStagePromise=(0,s.createPromiseWithResolvers)(),this.dynamicStagePromise=(0,s.createPromiseWithResolvers)(),this.mayAbandon=!1,e&&(e.addEventListener("abort",()=>{let{reason:t}=e;this.currentStage<3&&(this.runtimeStagePromise.promise.catch(l),this.runtimeStagePromise.reject(t)),(this.currentStage<4||5===this.currentStage)&&(this.dynamicStagePromise.promise.catch(l),this.dynamicStagePromise.reject(t))},{once:!0}),this.mayAbandon=!0)}onStage(e,t){if(this.currentStage>=e)t();else if(3===e)this.runtimeStageListeners.push(t);else if(4===e)this.dynamicStageListeners.push(t);else throw Object.defineProperty(new i.InvariantError(`Invalid render stage: ${e}`),"__NEXT_ERROR_CODE",{value:"E881",enumerable:!1,configurable:!0})}canSyncInterrupt(){if(1===this.currentStage)return!1;let e=this.hasRuntimePrefetch?4:3;return this.currentStage<e}syncInterruptCurrentStageWithReason(e){if(1!==this.currentStage){if(this.mayAbandon)return this.abandonRenderImpl();switch(this.currentStage){case 2:this.staticInterruptReason=e,this.advanceStage(4);return;case 3:this.hasRuntimePrefetch&&(this.runtimeInterruptReason=e,this.advanceStage(4));return}}}getStaticInterruptReason(){return this.staticInterruptReason}getRuntimeInterruptReason(){return this.runtimeInterruptReason}getStaticStageEndTime(){return this.staticStageEndTime}getRuntimeStageEndTime(){return this.runtimeStageEndTime}abandonRender(){if(!this.mayAbandon)throw Object.defineProperty(new i.InvariantError("`abandonRender` called on a stage controller that cannot be abandoned."),"__NEXT_ERROR_CODE",{value:"E938",enumerable:!1,configurable:!0});this.abandonRenderImpl()}abandonRenderImpl(){let{currentStage:e}=this;switch(e){case 2:this.currentStage=5,this.resolveRuntimeStage();return;case 3:this.currentStage=5;return}}advanceStage(e){if(e<=this.currentStage)return;let t=this.currentStage;if(this.currentStage=e,t<3&&e>=3&&(this.staticStageEndTime=performance.now()+performance.timeOrigin,this.resolveRuntimeStage()),t<4&&e>=4){this.runtimeStageEndTime=performance.now()+performance.timeOrigin,this.resolveDynamicStage();return}}resolveRuntimeStage(){let e=this.runtimeStageListeners;for(let t=0;t<e.length;t++)e[t]();e.length=0,this.runtimeStagePromise.resolve()}resolveDynamicStage(){let e=this.dynamicStageListeners;for(let t=0;t<e.length;t++)e[t]();e.length=0,this.dynamicStagePromise.resolve()}getStagePromise(e){switch(e){case 3:return this.runtimeStagePromise.promise;case 4:return this.dynamicStagePromise.promise;default:throw Object.defineProperty(new i.InvariantError(`Invalid render stage: ${e}`),"__NEXT_ERROR_CODE",{value:"E881",enumerable:!1,configurable:!0})}}waitForStage(e){return this.getStagePromise(e)}delayUntilStage(e,t,r){var n,a,o;let i,s=(n=this.getStagePromise(e),a=t,o=r,i=new Promise((e,t)=>{n.then(e.bind(null,o),t)}),void 0!==a&&(i.displayName=a),i);return this.abortSignal&&s.catch(l),s}}function l(){}},69882,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={createPrerenderSearchParamsForClientPage:function(){return g},createSearchParamsFromClient:function(){return p},createServerSearchParamsForMetadata:function(){return h},createServerSearchParamsForServerPage:function(){return m},makeErroringSearchParamsForUseCache:function(){return S}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(42715),i=e.r(67673),s=e.r(62141),c=e.r(12718),u=e.r(63138),l=e.r(76361),d=e.r(65932),f=e.r(50999);function p(e,t){let r=s.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return y(t,r);case"prerender-runtime":throw Object.defineProperty(new c.InvariantError("createSearchParamsFromClient should not be called in a runtime prerender."),"__NEXT_ERROR_CODE",{value:"E769",enumerable:!1,configurable:!0});case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new c.InvariantError("createSearchParamsFromClient should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E739",enumerable:!1,configurable:!0});case"request":return b(e,t,r)}(0,s.throwInvariantForMissingStore)()}e.r(42852);let h=m;function m(e,t){let r=s.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return y(t,r);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new c.InvariantError("createServerSearchParamsForServerPage should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E747",enumerable:!1,configurable:!0});case"prerender-runtime":var n,a;return n=e,a=r,(0,i.delayUntilRuntimeStage)(a,v(n));case"request":return b(e,t,r)}(0,s.throwInvariantForMissingStore)()}function g(e){if(e.forceStatic)return Promise.resolve({});let t=s.workUnitAsyncStorage.getStore();if(t)switch(t.type){case"prerender":case"prerender-client":return(0,u.makeHangingPromise)(t.renderSignal,e.route,"`searchParams`");case"prerender-runtime":throw Object.defineProperty(new c.InvariantError("createPrerenderSearchParamsForClientPage should not be called in a runtime prerender."),"__NEXT_ERROR_CODE",{value:"E768",enumerable:!1,configurable:!0});case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new c.InvariantError("createPrerenderSearchParamsForClientPage should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E746",enumerable:!1,configurable:!0});case"prerender-ppr":case"prerender-legacy":case"request":return Promise.resolve({})}(0,s.throwInvariantForMissingStore)()}function y(e,t){if(e.forceStatic)return Promise.resolve({});switch(t.type){case"prerender":case"prerender-client":var r=e,n=t;let a=P.get(n);if(a)return a;let s=(0,u.makeHangingPromise)(n.renderSignal,r.route,"`searchParams`"),c=new Proxy(s,{get(e,t,r){if(Object.hasOwn(s,t))return o.ReflectAdapter.get(e,t,r);switch(t){case"then":return(0,i.annotateDynamicAccess)("`await searchParams`, `searchParams.then`, or similar",n),o.ReflectAdapter.get(e,t,r);case"status":return(0,i.annotateDynamicAccess)("`use(searchParams)`, `searchParams.status`, or similar",n),o.ReflectAdapter.get(e,t,r);default:return o.ReflectAdapter.get(e,t,r)}}});return P.set(n,c),c;case"prerender-ppr":case"prerender-legacy":var l=e,d=t;let p=P.get(l);if(p)return p;let h=Promise.resolve({}),m=new Proxy(h,{get(e,t,r){if(Object.hasOwn(h,t))return o.ReflectAdapter.get(e,t,r);if("string"==typeof t&&"then"===t){let e="`await searchParams`, `searchParams.then`, or similar";l.dynamicShouldError?(0,f.throwWithStaticGenerationBailoutErrorWithDynamicError)(l.route,e):"prerender-ppr"===d.type?(0,i.postponeWithTracking)(l.route,e,d.dynamicTracking):(0,i.throwToInterruptStaticGeneration)(e,l,d)}return o.ReflectAdapter.get(e,t,r)}});return P.set(l,m),m;default:return t}}function b(e,t,r){return t.forceStatic?Promise.resolve({}):v(e)}let P=new WeakMap,_=new WeakMap;function S(e){let t=_.get(e);if(t)return t;let r=Promise.resolve({}),n=new Proxy(r,{get:function t(n,a,i){return Object.hasOwn(r,a)||"string"!=typeof a||"then"!==a&&d.wellKnownProperties.has(a)||(0,f.throwForSearchParamsAccessInUseCache)(e,t),o.ReflectAdapter.get(n,a,i)}});return _.set(e,n),n}function v(e){let t=P.get(e);if(t)return t;let r=Promise.resolve(e);return P.set(e,r),r}(0,l.createDedupedByCallsiteServerErrorLoggerDev)(function(e,t){let r=e?`Route "${e}" `:"This route ";return Object.defineProperty(Error(`${r}used ${t}. \`searchParams\` is a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E848",enumerable:!1,configurable:!0})})},74804,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"dynamicAccessAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(90317).createAsyncLocalStorage)()},88276,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"dynamicAccessAsyncStorage",{enumerable:!0,get:function(){return n.dynamicAccessAsyncStorageInstance}});let n=e.r(74804)},41489,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={createParamsFromClient:function(){return h},createPrerenderParamsForClientSegment:function(){return b},createServerParamsForMetadata:function(){return m},createServerParamsForRoute:function(){return g},createServerParamsForServerSegment:function(){return y}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(63599),i=e.r(42715),s=e.r(67673),c=e.r(62141),u=e.r(12718),l=e.r(65932),d=e.r(63138),f=e.r(76361),p=e.r(88276);function h(e,t){let r=c.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return P(e,t,r);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new u.InvariantError("createParamsFromClient should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E736",enumerable:!1,configurable:!0});case"prerender-runtime":throw Object.defineProperty(new u.InvariantError("createParamsFromClient should not be called in a runtime prerender."),"__NEXT_ERROR_CODE",{value:"E770",enumerable:!1,configurable:!0});case"request":return O(e)}(0,c.throwInvariantForMissingStore)()}e.r(42852);let m=y;function g(e,t){let r=c.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return P(e,t,r);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new u.InvariantError("createServerParamsForRoute should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E738",enumerable:!1,configurable:!0});case"prerender-runtime":return _(e,r);case"request":return O(e)}(0,c.throwInvariantForMissingStore)()}function y(e,t){let r=c.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return P(e,t,r);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new u.InvariantError("createServerParamsForServerSegment should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E743",enumerable:!1,configurable:!0});case"prerender-runtime":return _(e,r);case"request":return O(e)}(0,c.throwInvariantForMissingStore)()}function b(e){let t=o.workAsyncStorage.getStore();if(!t)throw Object.defineProperty(new u.InvariantError("Missing workStore in createPrerenderParamsForClientSegment"),"__NEXT_ERROR_CODE",{value:"E773",enumerable:!1,configurable:!0});let r=c.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-client":let n=r.fallbackRouteParams;if(n){for(let a in e)if(n.has(a))return(0,d.makeHangingPromise)(r.renderSignal,t.route,"`params`")}break;case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new u.InvariantError("createPrerenderParamsForClientSegment should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E734",enumerable:!1,configurable:!0})}return Promise.resolve(e)}function P(e,t,r){switch(r.type){case"prerender":case"prerender-client":{let n=r.fallbackRouteParams;if(n){for(let a in e)if(n.has(a))return function(e,t,r){let n=S.get(e);if(n)return n;let a=new Proxy((0,d.makeHangingPromise)(r.renderSignal,t.route,"`params`"),v);return S.set(e,a),a}(e,t,r)}break}case"prerender-ppr":{let n=r.fallbackRouteParams;if(n){for(let a in e)if(n.has(a))return function(e,t,r,n){let a=S.get(e);if(a)return a;let o={...e},i=Promise.resolve(o);return S.set(e,i),Object.keys(e).forEach(e=>{l.wellKnownProperties.has(e)||t.has(e)&&Object.defineProperty(o,e,{get(){let t=(0,l.describeStringPropertyAccess)("params",e);"prerender-ppr"===n.type?(0,s.postponeWithTracking)(r.route,t,n.dynamicTracking):(0,s.throwToInterruptStaticGeneration)(t,r,n)},enumerable:!0})}),i}(e,n,t,r)}}}return O(e)}function _(e,t){return(0,s.delayUntilRuntimeStage)(t,O(e))}let S=new WeakMap,v={get:function(e,t,r){if("then"===t||"catch"===t||"finally"===t){let n=i.ReflectAdapter.get(e,t,r);return({[t]:(...t)=>{let r=p.dynamicAccessAsyncStorage.getStore();return r&&r.abortController.abort(Object.defineProperty(Error("Accessed fallback `params` during prerendering."),"__NEXT_ERROR_CODE",{value:"E691",enumerable:!1,configurable:!0})),new Proxy(n.apply(e,t),v)}})[t]}return i.ReflectAdapter.get(e,t,r)}};function O(e){let t=S.get(e);if(t)return t;let r=Promise.resolve(e);return S.set(e,r),r}(0,f.createDedupedByCallsiteServerErrorLoggerDev)(function(e,t){let r=e?`Route "${e}" `:"This route ";return Object.defineProperty(Error(`${r}used ${t}. \`params\` is a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E834",enumerable:!1,configurable:!0})})},47257,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ClientPageRoot",{enumerable:!0,get:function(){return u}});let n=e.r(43476),a=e.r(12718),o=e.r(8372),i=e.r(71645),s=e.r(33906),c=e.r(61994);function u({Component:t,serverProvidedParams:r}){let u,l;if(null!==r)u=r.searchParams,l=r.params;else{let e=(0,i.use)(o.LayoutRouterContext);l=null!==e?e.parentParams:{},u=(0,s.urlSearchParamsToParsedUrlQuery)((0,i.use)(c.SearchParamsContext))}if("u"<typeof window){let r,o,{workAsyncStorage:i}=e.r(63599),s=i.getStore();if(!s)throw Object.defineProperty(new a.InvariantError("Expected workStore to exist when handling searchParams in a client Page."),"__NEXT_ERROR_CODE",{value:"E564",enumerable:!1,configurable:!0});let{createSearchParamsFromClient:c}=e.r(69882);r=c(u,s);let{createParamsFromClient:d}=e.r(41489);return o=d(l,s),(0,n.jsx)(t,{params:o,searchParams:r})}{let{createRenderSearchParamsFromClient:r}=e.r(66996),a=r(u),{createRenderParamsFromClient:o}=e.r(97689),i=o(l);return(0,n.jsx)(t,{params:i,searchParams:a})}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},92825,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ClientSegmentRoot",{enumerable:!0,get:function(){return s}});let n=e.r(43476),a=e.r(12718),o=e.r(8372),i=e.r(71645);function s({Component:t,slots:r,serverProvidedParams:s}){let c;if(null!==s)c=s.params;else{let e=(0,i.use)(o.LayoutRouterContext);c=null!==e?e.parentParams:{}}if("u"<typeof window){let o,{workAsyncStorage:i}=e.r(63599),s=i.getStore();if(!s)throw Object.defineProperty(new a.InvariantError("Expected workStore to exist when handling params in a client segment such as a Layout or Template."),"__NEXT_ERROR_CODE",{value:"E600",enumerable:!1,configurable:!0});let{createParamsFromClient:u}=e.r(41489);return o=u(c,s),(0,n.jsx)(t,{...r,params:o})}{let{createRenderParamsFromClient:a}=e.r(97689),o=a(c);return(0,n.jsx)(t,{...r,params:o})}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},27201,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"IconMark",{enumerable:!0,get:function(){return a}});let n=e.r(43476),a=()=>"u">typeof window?null:(0,n.jsx)("meta",{name:"«nxt-icon»"})}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,91915,(e,t,r)=>{"use strict";function n(e,t={}){if(t.onlyHashChange)return void e();let r=document.documentElement;if("smooth"!==r.dataset.scrollBehavior)return void e();let a=r.style.scrollBehavior;r.style.scrollBehavior="auto",t.dontForceLayout||r.getClientRects(),e(),r.style.scrollBehavior=a}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"disableSmoothScrollDuringRouteTransition",{enumerable:!0,get:function(){return n}}),e.r(33525)},68017,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HTTPAccessFallbackBoundary",{enumerable:!0,get:function(){return l}});let n=e.r(90809),a=e.r(43476),o=n._(e.r(71645)),i=e.r(90373),s=e.r(54394);e.r(33525);let c=e.r(8372);class u extends o.default.Component{constructor(e){super(e),this.state={triggeredStatus:void 0,previousPathname:e.pathname}}componentDidCatch(){}static getDerivedStateFromError(e){if((0,s.isHTTPAccessFallbackError)(e))return{triggeredStatus:(0,s.getAccessFallbackHTTPStatus)(e)};throw e}static getDerivedStateFromProps(e,t){return e.pathname!==t.previousPathname&&t.triggeredStatus?{triggeredStatus:void 0,previousPathname:e.pathname}:{triggeredStatus:t.triggeredStatus,previousPathname:e.pathname}}render(){let{notFound:e,forbidden:t,unauthorized:r,children:n}=this.props,{triggeredStatus:o}=this.state,i={[s.HTTPAccessErrorStatus.NOT_FOUND]:e,[s.HTTPAccessErrorStatus.FORBIDDEN]:t,[s.HTTPAccessErrorStatus.UNAUTHORIZED]:r};if(o){let c=o===s.HTTPAccessErrorStatus.NOT_FOUND&&e,u=o===s.HTTPAccessErrorStatus.FORBIDDEN&&t,l=o===s.HTTPAccessErrorStatus.UNAUTHORIZED&&r;return c||u||l?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("meta",{name:"robots",content:"noindex"}),!1,i[o]]}):n}return n}}function l({notFound:e,forbidden:t,unauthorized:r,children:n}){let s=(0,i.useUntrackedPathname)(),l=(0,o.useContext)(c.MissingSlotContext);return e||t||r?(0,a.jsx)(u,{pathname:s,notFound:e,forbidden:t,unauthorized:r,missingSlots:l,children:n}):(0,a.jsx)(a.Fragment,{children:n})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},91798,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useRouterBFCache",{enumerable:!0,get:function(){return a}});let n=e.r(71645);function a(e,t){let[r,a]=(0,n.useState)(()=>({tree:e,stateKey:t,next:null}));if(r.tree===e)return r;let o={tree:e,stateKey:t,next:null},i=1,s=r,c=o;for(;null!==s&&i<1;){if(s.stateKey===t){c.next=s.next;break}{i++;let e={tree:s.tree,stateKey:s.stateKey,next:null};c.next=e,c=e}s=s.next}return a(o),o}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},39756,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return w}});let n=e.r(55682),a=e.r(90809),o=e.r(43476),i=a._(e.r(71645)),s=n._(e.r(74080)),c=e.r(8372),u=e.r(1244),l=e.r(72383),d=e.r(56019),f=e.r(91915),p=e.r(58442),h=e.r(68017),m=e.r(70725),g=e.r(91798);e.r(74180);let y=e.r(61994),b=e.r(33906),P=e.r(95871),_=s.default.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,S=["bottom","height","left","right","top","width","x","y"];function v(e,t){let r=e.getBoundingClientRect();return r.top>=0&&r.top<=t}class O extends i.default.Component{componentDidMount(){this.handlePotentialScroll()}componentDidUpdate(){this.props.focusAndScrollRef.apply&&this.handlePotentialScroll()}render(){return this.props.children}constructor(...e){super(...e),this.handlePotentialScroll=()=>{let{focusAndScrollRef:e,segmentPath:t}=this.props;if(e.apply){if(0!==e.segmentPaths.length&&!e.segmentPaths.some(e=>t.every((t,r)=>(0,d.matchSegment)(t,e[r]))))return;let r=null,n=e.hashFragment;if(n&&(r="top"===n?document.body:document.getElementById(n)??document.getElementsByName(n)[0]),r||(r="u"<typeof window?null:(0,_.findDOMNode)(this)),!(r instanceof Element))return;for(;!(r instanceof HTMLElement)||function(e){if(["sticky","fixed"].includes(getComputedStyle(e).position))return!0;let t=e.getBoundingClientRect();return S.every(e=>0===t[e])}(r);){if(null===r.nextElementSibling)return;r=r.nextElementSibling}e.apply=!1,e.hashFragment=null,e.segmentPaths=[],(0,f.disableSmoothScrollDuringRouteTransition)(()=>{if(n)return void r.scrollIntoView();let e=document.documentElement,t=e.clientHeight;!v(r,t)&&(e.scrollTop=0,v(r,t)||r.scrollIntoView())},{dontForceLayout:!0,onlyHashChange:e.onlyHashChange}),e.onlyHashChange=!1,r.focus()}}}}function R({segmentPath:e,children:t}){let r=(0,i.useContext)(c.GlobalLayoutRouterContext);if(!r)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});return(0,o.jsx)(O,{segmentPath:e,focusAndScrollRef:r.focusAndScrollRef,children:t})}function E({tree:e,segmentPath:t,debugNameContext:r,cacheNode:n,params:a,url:s,isActive:l}){let d,f=(0,i.useContext)(c.GlobalLayoutRouterContext);if((0,i.useContext)(y.NavigationPromisesContext),!f)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});let p=null!==n?n:(0,i.use)(u.unresolvedThenable),h=null!==p.prefetchRsc?p.prefetchRsc:p.rsc,m=(0,i.useDeferredValue)(p.rsc,h);if((0,P.isDeferredRsc)(m)){let e=(0,i.use)(m);null===e&&(0,i.use)(u.unresolvedThenable),d=e}else null===m&&(0,i.use)(u.unresolvedThenable),d=m;let g=d;return(0,o.jsx)(c.LayoutRouterContext.Provider,{value:{parentTree:e,parentCacheNode:p,parentSegmentPath:t,parentParams:a,debugNameContext:r,url:s,isActive:l},children:g})}function j({name:e,loading:t,children:r}){let n;if(n="object"==typeof t&&null!==t&&"function"==typeof t.then?(0,i.use)(t):t){let t=n[0],a=n[1],s=n[2];return(0,o.jsx)(i.Suspense,{name:e,fallback:(0,o.jsxs)(o.Fragment,{children:[a,s,t]}),children:r})}return(0,o.jsx)(o.Fragment,{children:r})}function w({parallelRouterKey:e,error:t,errorStyles:r,errorScripts:n,templateStyles:a,templateScripts:s,template:d,notFound:f,forbidden:y,unauthorized:P,segmentViewBoundaries:_}){let S=(0,i.useContext)(c.LayoutRouterContext);if(!S)throw Object.defineProperty(Error("invariant expected layout router to be mounted"),"__NEXT_ERROR_CODE",{value:"E56",enumerable:!1,configurable:!0});let{parentTree:v,parentCacheNode:O,parentSegmentPath:w,parentParams:C,url:T,isActive:x,debugNameContext:A}=S,M=O.parallelRoutes,D=M.get(e);D||(D=new Map,M.set(e,D));let F=v[0],I=null===w?[e]:w.concat([F,e]),k=v[1][e];void 0===k&&(0,i.use)(u.unresolvedThenable);let N=k[0],U=(0,m.createRouterCacheKey)(N,!0),B=(0,g.useRouterBFCache)(k,U),L=[];do{let e=B.tree,i=B.stateKey,u=e[0],g=(0,m.createRouterCacheKey)(u),_=D.get(g)??null,S=C;if(Array.isArray(u)){let e=u[0],t=u[1],r=u[2],n=(0,b.getParamValueFromCacheKey)(t,r);null!==n&&(S={...C,[e]:n})}let v=function(e){if("/"===e)return"/";if("string"==typeof e)if("(slot)"===e)return;else return e+"/";return e[1]+"/"}(u),w=v??A,M=void 0===v?void 0:A,F=O.loading,k=(0,o.jsxs)(c.TemplateContext.Provider,{value:(0,o.jsxs)(R,{segmentPath:I,children:[(0,o.jsx)(l.ErrorBoundary,{errorComponent:t,errorStyles:r,errorScripts:n,children:(0,o.jsx)(j,{name:M,loading:F,children:(0,o.jsx)(h.HTTPAccessFallbackBoundary,{notFound:f,forbidden:y,unauthorized:P,children:(0,o.jsxs)(p.RedirectBoundary,{children:[(0,o.jsx)(E,{url:T,tree:e,params:S,cacheNode:_,segmentPath:I,debugNameContext:w,isActive:x&&i===U}),null]})})})}),null]}),children:[a,s,d]},i);L.push(k),B=B.next}while(null!==B)return L}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},37457,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return s}});let n=e.r(90809),a=e.r(43476),o=n._(e.r(71645)),i=e.r(8372);function s(){let e=(0,o.useContext)(i.TemplateContext);return(0,a.jsx)(a.Fragment,{children:e})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},93504,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderSearchParamsFromClient",{enumerable:!0,get:function(){return a}});let n=new WeakMap;function a(e){let t=n.get(e);if(t)return t;let r=Promise.resolve(e);return n.set(e,r),r}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},66996,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderSearchParamsFromClient",{enumerable:!0,get:function(){return n}});let n=e.r(93504).createRenderSearchParamsFromClient;("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},6831,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderParamsFromClient",{enumerable:!0,get:function(){return a}});let n=new WeakMap;function a(e){let t=n.get(e);if(t)return t;let r=Promise.resolve(e);return n.set(e,r),r}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},97689,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderParamsFromClient",{enumerable:!0,get:function(){return n}});let n=e.r(6831).createRenderParamsFromClient;("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},42715,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ReflectAdapter",{enumerable:!0,get:function(){return n}});class n{static get(e,t,r){let n=Reflect.get(e,t,r);return"function"==typeof n?n.bind(e):n}static set(e,t,r,n){return Reflect.set(e,t,r,n)}static has(e,t){return Reflect.has(e,t)}static deleteProperty(e,t){return Reflect.deleteProperty(e,t)}}},76361,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createDedupedByCallsiteServerErrorLoggerDev",{enumerable:!0,get:function(){return c}});let n=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=a(void 0);if(r&&r.has(e))return r.get(e);var n={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(n,i,s):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(e.r(71645));function a(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(a=function(e){return e?r:t})(e)}let o={current:null},i="function"==typeof n.cache?n.cache:e=>e,s=console.warn;function c(e){return function(...t){s(e(...t))}}i(e=>{try{s(o.current)}finally{o.current=null}})},65932,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={describeHasCheckingStringProperty:function(){return s},describeStringPropertyAccess:function(){return i},wellKnownProperties:function(){return c}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function i(e,t){return o.test(t)?`\`${e}.${t}\``:`\`${e}[${JSON.stringify(t)}]\``}function s(e,t){let r=JSON.stringify(t);return`\`Reflect.has(${e}, ${r})\`, \`${r} in ${e}\`, or similar`}let c=new Set(["hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toString","valueOf","toLocaleString","then","catch","finally","status","displayName","_debugInfo","toJSON","$$typeof","__esModule"])},83066,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"afterTaskAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(90317).createAsyncLocalStorage)()},41643,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"afterTaskAsyncStorage",{enumerable:!0,get:function(){return n.afterTaskAsyncStorageInstance}});let n=e.r(83066)},50999,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={isRequestAPICallableInsideAfter:function(){return u},throwForSearchParamsAccessInUseCache:function(){return c},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(43248),i=e.r(41643);function s(e,t){throw Object.defineProperty(new o.StaticGenBailoutError(`Route ${e} with \`dynamic = "error"\` couldn't be rendered statically because it used ${t}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E543",enumerable:!1,configurable:!0})}function c(e,t){let r=Object.defineProperty(Error(`Route ${e.route} used \`searchParams\` inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \`searchParams\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E842",enumerable:!1,configurable:!0});throw Error.captureStackTrace(r,t),e.invalidDynamicUsageError??=r,r}function u(){let e=i.afterTaskAsyncStorage.getStore();return(null==e?void 0:e.rootTaskSpawnPhase)==="action"}},42852,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,a={RenderStage:function(){return c},StagedRenderingController:function(){return u}};for(var o in a)Object.defineProperty(r,o,{enumerable:!0,get:a[o]});let i=e.r(12718),s=e.r(39470);var c=((n={})[n.Before=1]="Before",n[n.Static=2]="Static",n[n.Runtime=3]="Runtime",n[n.Dynamic=4]="Dynamic",n[n.Abandoned=5]="Abandoned",n);class u{constructor(e=null,t){this.abortSignal=e,this.hasRuntimePrefetch=t,this.currentStage=1,this.staticInterruptReason=null,this.runtimeInterruptReason=null,this.staticStageEndTime=1/0,this.runtimeStageEndTime=1/0,this.runtimeStageListeners=[],this.dynamicStageListeners=[],this.runtimeStagePromise=(0,s.createPromiseWithResolvers)(),this.dynamicStagePromise=(0,s.createPromiseWithResolvers)(),this.mayAbandon=!1,e&&(e.addEventListener("abort",()=>{let{reason:t}=e;this.currentStage<3&&(this.runtimeStagePromise.promise.catch(l),this.runtimeStagePromise.reject(t)),(this.currentStage<4||5===this.currentStage)&&(this.dynamicStagePromise.promise.catch(l),this.dynamicStagePromise.reject(t))},{once:!0}),this.mayAbandon=!0)}onStage(e,t){if(this.currentStage>=e)t();else if(3===e)this.runtimeStageListeners.push(t);else if(4===e)this.dynamicStageListeners.push(t);else throw Object.defineProperty(new i.InvariantError(`Invalid render stage: ${e}`),"__NEXT_ERROR_CODE",{value:"E881",enumerable:!1,configurable:!0})}canSyncInterrupt(){if(1===this.currentStage)return!1;let e=this.hasRuntimePrefetch?4:3;return this.currentStage<e}syncInterruptCurrentStageWithReason(e){if(1!==this.currentStage){if(this.mayAbandon)return this.abandonRenderImpl();switch(this.currentStage){case 2:this.staticInterruptReason=e,this.advanceStage(4);return;case 3:this.hasRuntimePrefetch&&(this.runtimeInterruptReason=e,this.advanceStage(4));return}}}getStaticInterruptReason(){return this.staticInterruptReason}getRuntimeInterruptReason(){return this.runtimeInterruptReason}getStaticStageEndTime(){return this.staticStageEndTime}getRuntimeStageEndTime(){return this.runtimeStageEndTime}abandonRender(){if(!this.mayAbandon)throw Object.defineProperty(new i.InvariantError("`abandonRender` called on a stage controller that cannot be abandoned."),"__NEXT_ERROR_CODE",{value:"E938",enumerable:!1,configurable:!0});this.abandonRenderImpl()}abandonRenderImpl(){let{currentStage:e}=this;switch(e){case 2:this.currentStage=5,this.resolveRuntimeStage();return;case 3:this.currentStage=5;return}}advanceStage(e){if(e<=this.currentStage)return;let t=this.currentStage;if(this.currentStage=e,t<3&&e>=3&&(this.staticStageEndTime=performance.now()+performance.timeOrigin,this.resolveRuntimeStage()),t<4&&e>=4){this.runtimeStageEndTime=performance.now()+performance.timeOrigin,this.resolveDynamicStage();return}}resolveRuntimeStage(){let e=this.runtimeStageListeners;for(let t=0;t<e.length;t++)e[t]();e.length=0,this.runtimeStagePromise.resolve()}resolveDynamicStage(){let e=this.dynamicStageListeners;for(let t=0;t<e.length;t++)e[t]();e.length=0,this.dynamicStagePromise.resolve()}getStagePromise(e){switch(e){case 3:return this.runtimeStagePromise.promise;case 4:return this.dynamicStagePromise.promise;default:throw Object.defineProperty(new i.InvariantError(`Invalid render stage: ${e}`),"__NEXT_ERROR_CODE",{value:"E881",enumerable:!1,configurable:!0})}}waitForStage(e){return this.getStagePromise(e)}delayUntilStage(e,t,r){var n,a,o;let i,s=(n=this.getStagePromise(e),a=t,o=r,i=new Promise((e,t)=>{n.then(e.bind(null,o),t)}),void 0!==a&&(i.displayName=a),i);return this.abortSignal&&s.catch(l),s}}function l(){}},69882,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={createPrerenderSearchParamsForClientPage:function(){return g},createSearchParamsFromClient:function(){return p},createServerSearchParamsForMetadata:function(){return h},createServerSearchParamsForServerPage:function(){return m},makeErroringSearchParamsForUseCache:function(){return S}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(42715),i=e.r(67673),s=e.r(62141),c=e.r(12718),u=e.r(63138),l=e.r(76361),d=e.r(65932),f=e.r(50999);function p(e,t){let r=s.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return y(t,r);case"prerender-runtime":throw Object.defineProperty(new c.InvariantError("createSearchParamsFromClient should not be called in a runtime prerender."),"__NEXT_ERROR_CODE",{value:"E769",enumerable:!1,configurable:!0});case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new c.InvariantError("createSearchParamsFromClient should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E739",enumerable:!1,configurable:!0});case"request":return b(e,t,r)}(0,s.throwInvariantForMissingStore)()}e.r(42852);let h=m;function m(e,t){let r=s.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return y(t,r);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new c.InvariantError("createServerSearchParamsForServerPage should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E747",enumerable:!1,configurable:!0});case"prerender-runtime":var n,a;return n=e,a=r,(0,i.delayUntilRuntimeStage)(a,v(n));case"request":return b(e,t,r)}(0,s.throwInvariantForMissingStore)()}function g(e){if(e.forceStatic)return Promise.resolve({});let t=s.workUnitAsyncStorage.getStore();if(t)switch(t.type){case"prerender":case"prerender-client":return(0,u.makeHangingPromise)(t.renderSignal,e.route,"`searchParams`");case"prerender-runtime":throw Object.defineProperty(new c.InvariantError("createPrerenderSearchParamsForClientPage should not be called in a runtime prerender."),"__NEXT_ERROR_CODE",{value:"E768",enumerable:!1,configurable:!0});case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new c.InvariantError("createPrerenderSearchParamsForClientPage should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E746",enumerable:!1,configurable:!0});case"prerender-ppr":case"prerender-legacy":case"request":return Promise.resolve({})}(0,s.throwInvariantForMissingStore)()}function y(e,t){if(e.forceStatic)return Promise.resolve({});switch(t.type){case"prerender":case"prerender-client":var r=e,n=t;let a=P.get(n);if(a)return a;let s=(0,u.makeHangingPromise)(n.renderSignal,r.route,"`searchParams`"),c=new Proxy(s,{get(e,t,r){if(Object.hasOwn(s,t))return o.ReflectAdapter.get(e,t,r);switch(t){case"then":return(0,i.annotateDynamicAccess)("`await searchParams`, `searchParams.then`, or similar",n),o.ReflectAdapter.get(e,t,r);case"status":return(0,i.annotateDynamicAccess)("`use(searchParams)`, `searchParams.status`, or similar",n),o.ReflectAdapter.get(e,t,r);default:return o.ReflectAdapter.get(e,t,r)}}});return P.set(n,c),c;case"prerender-ppr":case"prerender-legacy":var l=e,d=t;let p=P.get(l);if(p)return p;let h=Promise.resolve({}),m=new Proxy(h,{get(e,t,r){if(Object.hasOwn(h,t))return o.ReflectAdapter.get(e,t,r);if("string"==typeof t&&"then"===t){let e="`await searchParams`, `searchParams.then`, or similar";l.dynamicShouldError?(0,f.throwWithStaticGenerationBailoutErrorWithDynamicError)(l.route,e):"prerender-ppr"===d.type?(0,i.postponeWithTracking)(l.route,e,d.dynamicTracking):(0,i.throwToInterruptStaticGeneration)(e,l,d)}return o.ReflectAdapter.get(e,t,r)}});return P.set(l,m),m;default:return t}}function b(e,t,r){return t.forceStatic?Promise.resolve({}):v(e)}let P=new WeakMap,_=new WeakMap;function S(e){let t=_.get(e);if(t)return t;let r=Promise.resolve({}),n=new Proxy(r,{get:function t(n,a,i){return Object.hasOwn(r,a)||"string"!=typeof a||"then"!==a&&d.wellKnownProperties.has(a)||(0,f.throwForSearchParamsAccessInUseCache)(e,t),o.ReflectAdapter.get(n,a,i)}});return _.set(e,n),n}function v(e){let t=P.get(e);if(t)return t;let r=Promise.resolve(e);return P.set(e,r),r}(0,l.createDedupedByCallsiteServerErrorLoggerDev)(function(e,t){let r=e?`Route "${e}" `:"This route ";return Object.defineProperty(Error(`${r}used ${t}. \`searchParams\` is a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E848",enumerable:!1,configurable:!0})})},74804,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"dynamicAccessAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(90317).createAsyncLocalStorage)()},88276,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"dynamicAccessAsyncStorage",{enumerable:!0,get:function(){return n.dynamicAccessAsyncStorageInstance}});let n=e.r(74804)},16142,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={createParamsFromClient:function(){return h},createPrerenderParamsForClientSegment:function(){return b},createServerParamsForMetadata:function(){return m},createServerParamsForRoute:function(){return g},createServerParamsForServerSegment:function(){return y}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(63599),i=e.r(42715),s=e.r(67673),c=e.r(62141),u=e.r(12718),l=e.r(65932),d=e.r(63138),f=e.r(76361),p=e.r(88276);function h(e,t){let r=c.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return P(e,t,r);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new u.InvariantError("createParamsFromClient should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E736",enumerable:!1,configurable:!0});case"prerender-runtime":throw Object.defineProperty(new u.InvariantError("createParamsFromClient should not be called in a runtime prerender."),"__NEXT_ERROR_CODE",{value:"E770",enumerable:!1,configurable:!0});case"request":return O(e)}(0,c.throwInvariantForMissingStore)()}e.r(42852);let m=y;function g(e,t){let r=c.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return P(e,t,r);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new u.InvariantError("createServerParamsForRoute should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E738",enumerable:!1,configurable:!0});case"prerender-runtime":return _(e,r);case"request":return O(e)}(0,c.throwInvariantForMissingStore)()}function y(e,t){let r=c.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":return P(e,t,r);case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new u.InvariantError("createServerParamsForServerSegment should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E743",enumerable:!1,configurable:!0});case"prerender-runtime":return _(e,r);case"request":return O(e)}(0,c.throwInvariantForMissingStore)()}function b(e){let t=o.workAsyncStorage.getStore();if(!t)throw Object.defineProperty(new u.InvariantError("Missing workStore in createPrerenderParamsForClientSegment"),"__NEXT_ERROR_CODE",{value:"E773",enumerable:!1,configurable:!0});let r=c.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-client":let n=r.fallbackRouteParams;if(n){for(let a in e)if(n.has(a))return(0,d.makeHangingPromise)(r.renderSignal,t.route,"`params`")}break;case"cache":case"private-cache":case"unstable-cache":throw Object.defineProperty(new u.InvariantError("createPrerenderParamsForClientSegment should not be called in cache contexts."),"__NEXT_ERROR_CODE",{value:"E734",enumerable:!1,configurable:!0})}return Promise.resolve(e)}function P(e,t,r){switch(r.type){case"prerender":case"prerender-client":{let n=r.fallbackRouteParams;if(n){for(let a in e)if(n.has(a))return function(e,t,r){let n=S.get(e);if(n)return n;let a=new Proxy((0,d.makeHangingPromise)(r.renderSignal,t.route,"`params`"),v);return S.set(e,a),a}(e,t,r)}break}case"prerender-ppr":{let n=r.fallbackRouteParams;if(n){for(let a in e)if(n.has(a))return function(e,t,r,n){let a=S.get(e);if(a)return a;let o={...e},i=Promise.resolve(o);return S.set(e,i),Object.keys(e).forEach(e=>{l.wellKnownProperties.has(e)||t.has(e)&&Object.defineProperty(o,e,{get(){let t=(0,l.describeStringPropertyAccess)("params",e);"prerender-ppr"===n.type?(0,s.postponeWithTracking)(r.route,t,n.dynamicTracking):(0,s.throwToInterruptStaticGeneration)(t,r,n)},enumerable:!0})}),i}(e,n,t,r)}}}return O(e)}function _(e,t){return(0,s.delayUntilRuntimeStage)(t,O(e))}let S=new WeakMap,v={get:function(e,t,r){if("then"===t||"catch"===t||"finally"===t){let n=i.ReflectAdapter.get(e,t,r);return({[t]:(...t)=>{let r=p.dynamicAccessAsyncStorage.getStore();return r&&r.abortController.abort(Object.defineProperty(Error("Accessed fallback `params` during prerendering."),"__NEXT_ERROR_CODE",{value:"E691",enumerable:!1,configurable:!0})),new Proxy(n.apply(e,t),v)}})[t]}return i.ReflectAdapter.get(e,t,r)}};function O(e){let t=S.get(e);if(t)return t;let r=Promise.resolve(e);return S.set(e,r),r}(0,f.createDedupedByCallsiteServerErrorLoggerDev)(function(e,t){let r=e?`Route "${e}" `:"This route ";return Object.defineProperty(Error(`${r}used ${t}. \`params\` is a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E834",enumerable:!1,configurable:!0})})},47257,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ClientPageRoot",{enumerable:!0,get:function(){return u}});let n=e.r(43476),a=e.r(12718),o=e.r(8372),i=e.r(71645),s=e.r(33906),c=e.r(61994);function u({Component:t,serverProvidedParams:r}){let u,l;if(null!==r)u=r.searchParams,l=r.params;else{let e=(0,i.use)(o.LayoutRouterContext);l=null!==e?e.parentParams:{},u=(0,s.urlSearchParamsToParsedUrlQuery)((0,i.use)(c.SearchParamsContext))}if("u"<typeof window){let r,o,{workAsyncStorage:i}=e.r(63599),s=i.getStore();if(!s)throw Object.defineProperty(new a.InvariantError("Expected workStore to exist when handling searchParams in a client Page."),"__NEXT_ERROR_CODE",{value:"E564",enumerable:!1,configurable:!0});let{createSearchParamsFromClient:c}=e.r(69882);r=c(u,s);let{createParamsFromClient:d}=e.r(16142);return o=d(l,s),(0,n.jsx)(t,{params:o,searchParams:r})}{let{createRenderSearchParamsFromClient:r}=e.r(66996),a=r(u),{createRenderParamsFromClient:o}=e.r(97689),i=o(l);return(0,n.jsx)(t,{params:i,searchParams:a})}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},92825,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ClientSegmentRoot",{enumerable:!0,get:function(){return s}});let n=e.r(43476),a=e.r(12718),o=e.r(8372),i=e.r(71645);function s({Component:t,slots:r,serverProvidedParams:s}){let c;if(null!==s)c=s.params;else{let e=(0,i.use)(o.LayoutRouterContext);c=null!==e?e.parentParams:{}}if("u"<typeof window){let o,{workAsyncStorage:i}=e.r(63599),s=i.getStore();if(!s)throw Object.defineProperty(new a.InvariantError("Expected workStore to exist when handling params in a client segment such as a Layout or Template."),"__NEXT_ERROR_CODE",{value:"E600",enumerable:!1,configurable:!0});let{createParamsFromClient:u}=e.r(16142);return o=u(c,s),(0,n.jsx)(t,{...r,params:o})}{let{createRenderParamsFromClient:a}=e.r(97689),o=a(c);return(0,n.jsx)(t,{...r,params:o})}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},27201,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"IconMark",{enumerable:!0,get:function(){return a}});let n=e.r(43476),a=()=>"u">typeof window?null:(0,n.jsx)("meta",{name:"«nxt-icon»"})}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,33525,(e,t,s)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"warnOnce",{enumerable:!0,get:function(){return a}});let a=e=>{}},18566,(e,t,s)=>{t.exports=e.r(76562)},15288,87486,9165,e=>{"use strict";let t,s,a,o,n;var r,i=e.i(43476),d=e.i(75157);function l({className:e,size:t="default",...s}){return(0,i.jsx)("div",{"data-slot":"card","data-size":t,className:(0,d.cn)("group/card flex flex-col gap-4 overflow-hidden rounded-xl bg-card py-4 text-sm text-card-foreground ring-1 ring-foreground/10 has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",e),...s})}function c({className:e,...t}){return(0,i.jsx)("div",{"data-slot":"card-header",className:(0,d.cn)("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3",e),...t})}function u({className:e,...t}){return(0,i.jsx)("div",{"data-slot":"card-title",className:(0,d.cn)("text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",e),...t})}function m({className:e,...t}){return(0,i.jsx)("div",{"data-slot":"card-content",className:(0,d.cn)("px-4 group-data-[size=sm]/card:px-3",e),...t})}e.s(["Card",()=>l,"CardContent",()=>m,"CardHeader",()=>c,"CardTitle",()=>u],15288);var g=e.i(19805),p=e.i(27601);let h=(0,e.i(25913).cva)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});function b({className:e,variant:t="default",render:s,...a}){var o;return o={defaultTagName:"span",props:(0,g.mergeProps)({className:(0,d.cn)(h({variant:t}),e)},a),render:s,state:{slot:"badge",variant:t}},(0,p.useRenderElement)(o.defaultTagName??"div",o,o)}e.s(["Badge",()=>b],87486);var x=e.i(47167);let f=new Date,k=e=>new Date(f.getTime()-6e4*e).toISOString(),w=e=>new Date(f.getTime()-36e5*e).toISOString(),v=[{id:"agent-1",name:"code-reviewer",host:"prod-us-east-1",status:"running",lastHeartbeat:k(.5),costUsd:4.82,tokenCount:124e4,errorCount:0},{id:"agent-2",name:"deploy-bot",host:"prod-us-east-1",status:"running",lastHeartbeat:k(1),costUsd:2.15,tokenCount:52e4,errorCount:1},{id:"agent-3",name:"data-pipeline",host:"prod-eu-west-1",status:"error",lastHeartbeat:k(12),costUsd:8.43,tokenCount:21e5,errorCount:7},{id:"agent-4",name:"customer-support",host:"prod-us-west-2",status:"stuck",lastHeartbeat:k(45),costUsd:12.67,tokenCount:34e5,errorCount:3},{id:"agent-5",name:"test-runner",host:"staging-1",status:"paused",lastHeartbeat:w(2),costUsd:1.03,tokenCount:28e4,errorCount:0},{id:"agent-6",name:"doc-generator",host:"prod-us-east-1",status:"running",lastHeartbeat:k(.2),costUsd:3.21,tokenCount:89e4,errorCount:0},{id:"agent-7",name:"security-scanner",host:"prod-eu-west-1",status:"stopped",lastHeartbeat:w(6),costUsd:.45,tokenCount:12e4,errorCount:0},{id:"agent-8",name:"slack-responder",host:"prod-us-west-2",status:"running",lastHeartbeat:k(.1),costUsd:6.89,tokenCount:178e4,errorCount:2}],y=[{id:"alert-1",agentId:"agent-4",type:"stuck",severity:"critical",message:"customer-support has not sent a heartbeat in 45 minutes",timestamp:k(44),acknowledged:!1},{id:"alert-2",agentId:"agent-3",type:"error",severity:"critical",message:"data-pipeline encountered 7 errors in the last hour",timestamp:k(10),acknowledged:!1},{id:"alert-3",agentId:"agent-4",type:"cost_spike",severity:"warning",message:"customer-support cost increased 340% in the last hour",timestamp:w(1),acknowledged:!1},{id:"alert-4",agentId:"agent-8",type:"loop_detected",severity:"warning",message:"slack-responder may be in a retry loop (similar outputs detected)",timestamp:k(30),acknowledged:!0},{id:"alert-5",agentId:"agent-2",type:"error",severity:"info",message:"deploy-bot encountered a transient API error (auto-recovered)",timestamp:w(3),acknowledged:!0}],j={totalUsd:39.65,byAgent:v.map(e=>({agentId:e.id,name:e.name,costUsd:e.costUsd})),byModel:[{model:"claude-sonnet-4-20250514",costUsd:22.1},{model:"claude-haiku-4-20250506",costUsd:11.35},{model:"gpt-4o",costUsd:6.2}]},C=[{id:"session-1",agentId:"ofek",title:"Build ClaWatch dashboard with real-time alerts",status:"active",costUsd:3.47,tokenCount:892e3,messageCount:47,model:"claude-sonnet-4-20250514",startedAt:k(45),lastActivityAt:k(1),duration:2640,projects:[{id:"project-1",name:"Building ClaWatch"}]},{id:"session-2",agentId:"anas",title:"Fix authentication bug in user login flow",status:"completed",costUsd:1.23,tokenCount:34e4,messageCount:22,model:"claude-sonnet-4-20250514",startedAt:w(3),lastActivityAt:w(2),duration:3600,projects:[{id:"project-2",name:"Bug Fixes Sprint"}]},{id:"session-3",agentId:"dor",title:"Review PR #47 — add retry logic to API calls",status:"idle",costUsd:.87,tokenCount:215e3,messageCount:14,model:"claude-haiku-4-20250506",startedAt:k(90),lastActivityAt:k(12),duration:4680},{id:"session-4",agentId:"ofek",title:"Implement WebSocket event streaming for agent heartbeats",status:"active",costUsd:5.12,tokenCount:134e4,messageCount:63,model:"claude-sonnet-4-20250514",startedAt:w(1.5),lastActivityAt:k(.5),duration:5400,projects:[{id:"project-1",name:"Building ClaWatch"},{id:"project-2",name:"Bug Fixes Sprint"}]},{id:"session-5",agentId:"anas",title:"Refactor database schema for multi-tenant support",status:"completed",costUsd:2.89,tokenCount:78e4,messageCount:38,model:"claude-sonnet-4-20250514",startedAt:w(5),lastActivityAt:w(4),duration:3600},{id:"session-6",agentId:"dor",title:"Debug failing CI pipeline — Jest timeout errors",status:"idle",costUsd:.54,tokenCount:145e3,messageCount:11,model:"claude-haiku-4-20250506",startedAt:k(30),lastActivityAt:k(8),duration:1320},{id:"session-7",agentId:"ofek",title:"Add Telegram bot notification integration",status:"completed",costUsd:1.76,tokenCount:46e4,messageCount:29,model:"claude-sonnet-4-20250514",startedAt:w(8),lastActivityAt:w(7),duration:3600},{id:"session-8",agentId:"anas",title:"Write unit tests for cost calculation module",status:"active",costUsd:.92,tokenCount:248e3,messageCount:18,model:"claude-haiku-4-20250506",startedAt:k(15),lastActivityAt:k(2),duration:780},{id:"session-9",agentId:"dor",title:"Optimize SQL queries — reduce p95 latency from 800ms to 200ms",status:"completed",costUsd:4.31,tokenCount:112e4,messageCount:52,model:"claude-sonnet-4-20250514",startedAt:w(12),lastActivityAt:w(10),duration:7200},{id:"session-10",agentId:"ofek",title:"Set up Docker Compose for local development environment",status:"idle",costUsd:.63,tokenCount:172e3,messageCount:9,model:"claude-haiku-4-20250506",startedAt:k(60),lastActivityAt:k(20),duration:2400}],N=[{id:"project-1",name:"Building ClaWatch",description:"Full-stack AI observability platform with real-time monitoring, session tracking, and cost analytics",createdAt:w(48),updatedAt:k(5),sessionCount:3,totalCostUsd:185.98},{id:"project-2",name:"Bug Fixes Sprint",description:"Critical bug fixes for authentication, database schema, and CI pipeline issues",createdAt:w(24),updatedAt:k(30),sessionCount:2,totalCostUsd:12.5}],I=(t=[],s=0,(a=(e,a,o,n,r,i)=>{s++,t.push({sessionId:e,agentId:a,id:`tl-${s}`,role:o,timestamp:k(n),content:r,...i})})("session-1","ofek","user",120,"Build the ClaWatch dashboard with real-time alerts and agent monitoring. Use Next.js 15 + shadcn/ui."),a("session-1","ofek","assistant",119,"I'll build the ClaWatch dashboard. Let me start by setting up the project structure and examining existing code.",{model:"claude-sonnet-4-20250514",costUsd:.04}),a("session-3","dor","user",118,"Review the initial project setup and suggest architectural improvements for the monitoring system."),a("session-1","ofek","tool",117,"src/\n app/\n dashboard/\n page.tsx\n layout.tsx\n components/\n ui/\n lib/\n types.ts\n api.ts",{toolName:"read"}),a("session-3","dor","assistant",116,"Looking at the project structure. I'll review the architecture and suggest improvements for scalability.",{model:"claude-haiku-4-20250506",costUsd:.01}),a("session-1","ofek","assistant",115,"Project structure looks good. I'll create the type definitions for agents, sessions, alerts, and cost data.",{model:"claude-sonnet-4-20250514",costUsd:.06}),a("session-8","anas","user",114,"Write comprehensive unit tests for the cost calculation module including edge cases."),a("session-1","ofek","tool",113,"File written: src/lib/types.ts (78 lines)",{toolName:"write"}),a("session-8","anas","assistant",112,"I'll write thorough unit tests for cost calculations. Let me first examine the module.",{model:"claude-haiku-4-20250506",costUsd:.02}),a("session-3","dor","tool",111,"export interface Agent {\n id: string;\n name: string;\n status: AgentStatus;\n ...",{toolName:"read"}),a("session-3","dor","assistant",110,"The type definitions look solid. I'd suggest adding a `duration` field to Session for better analytics. Also, the cost tracking should support per-model breakdown.",{model:"claude-haiku-4-20250506",costUsd:.02}),a("session-1","ofek","assistant",108,"Good point from the review. I'll add duration tracking and per-model cost breakdown. Now creating the mock data layer.",{model:"claude-sonnet-4-20250514",costUsd:.05}),a("session-8","anas","tool",107,"export function calculateCost(tokens: number, model: string): number { ... }",{toolName:"read"}),a("session-1","ofek","tool",105,"File written: src/lib/mock-data.ts (280 lines)",{toolName:"write"}),a("session-8","anas","assistant",104,"Found the cost module. I'll test standard pricing, cache discount calculations, multi-model sessions, and zero-token edge cases.",{model:"claude-haiku-4-20250506",costUsd:.03}),a("session-1","ofek","system",103,"Context window: 45% utilized (90K/200K tokens)"),a("session-8","anas","tool",102,"File written: src/__tests__/cost-calculation.test.ts (156 lines)",{toolName:"write"}),a("session-1","ofek","assistant",100,"Mock data created. Now building the dashboard page with agent cards, alert banners, and cost overview.",{model:"claude-sonnet-4-20250514",costUsd:.12}),a("session-3","dor","user",98,"Can you also review the API layer and check for error handling gaps?"),a("session-1","ofek","tool",95,"File written: src/app/dashboard/page.tsx (320 lines)",{toolName:"write"}),a("session-8","anas","assistant",94,"All 12 test cases pass. Found one edge case where negative token counts could cause issues — adding a guard.",{model:"claude-haiku-4-20250506",costUsd:.02}),a("session-3","dor","assistant",92,"Reviewing API layer. The fetchJson wrapper needs better error handling — currently swallows network errors. I'll suggest adding retry logic and timeout handling.",{model:"claude-haiku-4-20250506",costUsd:.03}),a("session-8","anas","tool",90,"$ npm test -- --watchAll=false\n\nTest Suites: 1 passed, 1 total\nTests: 14 passed, 14 total\nTime: 2.834s",{toolName:"exec"}),a("session-1","ofek","assistant",88,"Dashboard page done. Adding real-time polling with 5-second intervals and the tabbed interface for Agents/Sessions views.",{model:"claude-sonnet-4-20250514",costUsd:.08}),a("session-1","ofek","tool",85,"$ npm run build\n\n ✓ Compiled successfully\n ✓ Generating static pages (5/5)\n\nBuild completed in 8.2s",{toolName:"exec"}),a("session-3","dor","assistant",83,"Here's my review summary:\n1. Add retry logic to fetchJson (3 retries with exponential backoff)\n2. Add request timeout (30s default)\n3. The mock fallback pattern is good but should log errors to a monitoring service\n4. Consider adding request deduplication for concurrent calls",{model:"claude-haiku-4-20250506",costUsd:.04}),a("session-1","ofek","user",80,"Add session detail view with message timeline, cost breakdown by model, and token analysis."),a("session-1","ofek","assistant",78,"I'll build the session detail page with a full message timeline. Each message type will have distinct visual treatment.",{model:"claude-sonnet-4-20250514",costUsd:.09}),a("session-1","ofek","tool",75,"File written: src/app/dashboard/sessions/[id]/page.tsx (340 lines)",{toolName:"write"}),a("session-8","anas","assistant",72,"All tests passing. Adding integration tests for the API mock fallback pattern now.",{model:"claude-haiku-4-20250506",costUsd:.02}),a("session-1","ofek","assistant",70,"Session detail page complete with:\n- Message timeline with user/assistant/tool/system styling\n- Cost breakdown by model with progress bars\n- Token breakdown (input/output/cache read/cache write)\n- Collapsible tool outputs",{model:"claude-sonnet-4-20250514",costUsd:.06}),a("session-1","ofek","system",68,"Context window: 72% utilized (144K/200K tokens)"),a("session-1","ofek","tool",65,"$ npm run build\n\n ✓ Compiled successfully\n ✓ Generating static pages (7/7)\n\nBuild completed in 9.1s",{toolName:"exec"}),a("session-1","ofek","assistant",60,"Build passes. The ClaWatch dashboard is fully functional with real-time monitoring, session tracking, and cost analytics.",{model:"claude-sonnet-4-20250514",costUsd:.04}),t.sort((e,t)=>new Date(e.timestamp).getTime()-new Date(t.timestamp).getTime())),A={"project-1":{id:"project-1",name:"Building ClaWatch",description:"Full-stack AI observability platform with real-time monitoring, session tracking, and cost analytics",stats:{totalCostUsd:185.98,totalTokens:482e4,totalMessages:128,sessionCount:3,dateRange:{from:w(48),to:k(5)}},agentBreakdown:[{agentId:"ofek",costUsd:142.5,tokenCount:32e5,messageCount:78,percentage:76.6},{agentId:"dor",costUsd:28.48,tokenCount:98e4,messageCount:32,percentage:15.3},{agentId:"anas",costUsd:15,tokenCount:64e4,messageCount:18,percentage:8.1}],sessions:[C.find(e=>"session-1"===e.id),C.find(e=>"session-3"===e.id),C.find(e=>"session-8"===e.id)],timeline:I},"project-2":{id:"project-2",name:"Bug Fixes Sprint",description:"Critical bug fixes for authentication, database schema, and CI pipeline issues",stats:{totalCostUsd:12.5,totalTokens:112e4,totalMessages:60,sessionCount:2,dateRange:{from:w(24),to:k(30)}},agentBreakdown:[{agentId:"anas",costUsd:7.8,tokenCount:68e4,messageCount:38,percentage:62.4},{agentId:"dor",costUsd:4.7,tokenCount:44e4,messageCount:22,percentage:37.6}],sessions:[C.find(e=>"session-2"===e.id),C.find(e=>"session-6"===e.id)],timeline:[{sessionId:"session-2",agentId:"anas",id:"tl-b1",role:"user",timestamp:w(3),content:"Fix the authentication bug in the user login flow. Users are getting 401 errors after token refresh."},{sessionId:"session-2",agentId:"anas",id:"tl-b2",role:"assistant",timestamp:w(2.9),content:"I'll investigate the auth flow. Let me check the token refresh logic.",model:"claude-sonnet-4-20250514",costUsd:.03},{sessionId:"session-6",agentId:"dor",id:"tl-b3",role:"user",timestamp:w(2.8),content:"Debug the failing CI pipeline. Jest tests are timing out on the session module."},{sessionId:"session-2",agentId:"anas",id:"tl-b4",role:"tool",timestamp:w(2.7),content:"Found: refreshToken() doesn't await the database write before returning new token",toolName:"read"},{sessionId:"session-6",agentId:"dor",id:"tl-b5",role:"assistant",timestamp:w(2.6),content:"Looking at the CI logs. The Jest timeout suggests an unresolved promise in the test setup.",model:"claude-haiku-4-20250506",costUsd:.01},{sessionId:"session-2",agentId:"anas",id:"tl-b6",role:"assistant",timestamp:w(2.5),content:"Found the bug: `refreshToken()` returns before the DB write completes. Adding await fixes the race condition.",model:"claude-sonnet-4-20250514",costUsd:.05},{sessionId:"session-6",agentId:"dor",id:"tl-b7",role:"tool",timestamp:w(2.4),content:"$ jest --verbose\nFAILED: session.test.ts > should persist session data\nTimeout: 5000ms exceeded",toolName:"exec"},{sessionId:"session-6",agentId:"dor",id:"tl-b8",role:"assistant",timestamp:w(2.2),content:"The test is missing `afterAll` cleanup — the database connection stays open. Adding proper teardown.",model:"claude-haiku-4-20250506",costUsd:.02},{sessionId:"session-2",agentId:"anas",id:"tl-b9",role:"tool",timestamp:w(2.1),content:"$ npm test -- auth.test.ts\n\nTests: 8 passed, 8 total",toolName:"exec"},{sessionId:"session-6",agentId:"dor",id:"tl-b10",role:"tool",timestamp:w(2),content:"$ jest session.test.ts --verbose\nPASSED: all 6 tests",toolName:"exec"},{sessionId:"session-2",agentId:"anas",id:"tl-b11",role:"assistant",timestamp:w(1.9),content:"Auth bug fixed and all tests passing. The root cause was a missing await in the token refresh handler.",model:"claude-sonnet-4-20250514",costUsd:.03},{sessionId:"session-6",agentId:"dor",id:"tl-b12",role:"assistant",timestamp:w(1.8),content:"CI pipeline fixed. Added proper test teardown and increased timeout for integration tests to 10s.",model:"claude-haiku-4-20250506",costUsd:.02}]}},U={};for(let e of C)U[e.id]={...e,costByModel:e.model.includes("sonnet")?[{model:"claude-sonnet-4-20250514",costUsd:.82*e.costUsd,tokenCount:Math.floor(.75*e.tokenCount)},{model:"claude-haiku-4-20250506",costUsd:.18*e.costUsd,tokenCount:Math.floor(.25*e.tokenCount)}]:[{model:"claude-haiku-4-20250506",costUsd:.65*e.costUsd,tokenCount:Math.floor(.6*e.tokenCount)},{model:"claude-sonnet-4-20250514",costUsd:.35*e.costUsd,tokenCount:Math.floor(.4*e.tokenCount)}],tokenBreakdown:{input:Math.floor(.35*e.tokenCount),output:Math.floor(.3*e.tokenCount),cacheRead:Math.floor(.25*e.tokenCount),cacheWrite:Math.floor(.1*e.tokenCount)},messages:(r=e.id,[{id:`${r}-msg-1`,role:"user",timestamp:k(44),content:"Build the ClaWatch dashboard with real-time alert monitoring. Use Next.js 15 with shadcn/ui components."},{id:`${r}-msg-2`,role:"assistant",timestamp:k(43),content:"I'll build the ClaWatch dashboard. Let me start by examining the project structure and existing code.",model:"claude-sonnet-4-20250514",costUsd:.03,tokenCount:12400},{id:`${r}-msg-3`,role:"tool",timestamp:k(43),content:"src/\n app/\n dashboard/\n page.tsx\n layout.tsx\n page.tsx\n components/\n ui/\n lib/\n types.ts\n api.ts\n mock-data.ts",toolName:"read",toolInput:'{"path": "src/"}'},{id:`${r}-msg-4`,role:"assistant",timestamp:k(42),content:"I can see the project structure. Let me read the existing types and API files to understand the data model.",model:"claude-sonnet-4-20250514",costUsd:.02,tokenCount:8200},{id:`${r}-msg-5`,role:"tool",timestamp:k(42),content:'export type AgentStatus = "running" | "paused" | "stopped" | "error" | "stuck";\n\nexport interface Agent {\n id: string;\n name: string;\n ...',toolName:"read",toolInput:'{"path": "src/lib/types.ts"}'},{id:`${r}-msg-6`,role:"assistant",timestamp:k(40),content:"Now I'll create the dashboard page with agent cards, alert banners, and cost overview panels. I'll use the existing shadcn/ui components.",model:"claude-sonnet-4-20250514",costUsd:.08,tokenCount:34600},{id:`${r}-msg-7`,role:"tool",timestamp:k(39),content:"File written: src/app/dashboard/page.tsx (358 lines)",toolName:"write",toolInput:'{"path": "src/app/dashboard/page.tsx", "content": "..."}'},{id:`${r}-msg-8`,role:"tool",timestamp:k(38),content:"$ npm run build\n\n ✓ Compiled successfully\n ✓ Collecting page data\n ✓ Generating static pages (5/5)\n ✓ Collecting build traces\n\nRoute (app) Size First Load JS\n├ ○ / 5.2 kB 92.1 kB\n└ ○ /dashboard 12.4 kB 99.3 kB",toolName:"exec",toolInput:'{"command": "npm run build"}'},{id:`${r}-msg-9`,role:"assistant",timestamp:k(37),content:"The build succeeded. Let me now add the real-time polling mechanism and alert notification sounds.",model:"claude-sonnet-4-20250514",costUsd:.04,tokenCount:15800},{id:`${r}-msg-10`,role:"tool",timestamp:k(36),content:"Lines 49-64 edited in src/app/dashboard/page.tsx",toolName:"edit",toolInput:'{"path": "src/app/dashboard/page.tsx", "old_string": "...", "new_string": "..."}'},{id:`${r}-msg-11`,role:"user",timestamp:k(35),content:"Can you also add a cost breakdown by model? Show it as horizontal progress bars."},{id:`${r}-msg-12`,role:"assistant",timestamp:k(34),content:"Sure! I'll add a cost breakdown section with progress bars for each model. Let me update the dashboard.",model:"claude-sonnet-4-20250514",costUsd:.06,tokenCount:24200},{id:`${r}-msg-13`,role:"tool",timestamp:k(33),content:"Lines 254-305 edited in src/app/dashboard/page.tsx",toolName:"edit",toolInput:'{"path": "src/app/dashboard/page.tsx", "old_string": "...", "new_string": "..."}'},{id:`${r}-msg-14`,role:"system",timestamp:k(32),content:"Context window: 78% utilized (156K/200K tokens)"},{id:`${r}-msg-15`,role:"assistant",timestamp:k(31),content:"I've added the cost breakdown panels. The dashboard now shows:\n\n1. **Agent cards** with status, cost, tokens, errors, and heartbeat\n2. **Alert banner** for critical/warning alerts\n3. **Cost by Agent** — horizontal progress bars\n4. **Cost by Model** — horizontal progress bars\n\nThe data refreshes every 5 seconds via polling.",model:"claude-sonnet-4-20250514",costUsd:.05,tokenCount:18900},{id:`${r}-msg-16`,role:"tool",timestamp:k(30),content:'{"results": [{"title": "shadcn/ui Tabs Component", "url": "https://ui.shadcn.com/docs/components/tabs"}]}',toolName:"web_search",toolInput:'{"query": "shadcn ui tabs component usage"}'},{id:`${r}-msg-17`,role:"assistant",timestamp:k(28),content:"Let me add a tabbed interface for Agents and Sessions views. I'll implement the tabs using a simple state-based approach.",model:"claude-sonnet-4-20250514",costUsd:.11,tokenCount:45200},{id:`${r}-msg-18`,role:"tool",timestamp:k(27),content:"$ npm run build\n\n ✓ Compiled successfully\n ✓ Linting and checking validity of types\n ✓ Generating static pages (5/5)\n\nBuild completed in 8.2s",toolName:"exec",toolInput:'{"command": "npm run build"}'},{id:`${r}-msg-19`,role:"assistant",timestamp:k(25),content:"Build passes. The dashboard now has Agents and Sessions tabs with full filtering and sorting. All existing functionality is preserved.",model:"claude-sonnet-4-20250514",costUsd:.03,tokenCount:11600},{id:`${r}-msg-20`,role:"tool",timestamp:k(24),content:"$ npm test -- --watchAll=false\n\nTest Suites: 3 passed, 3 total\nTests: 12 passed, 12 total\nTime: 4.231s",toolName:"exec",toolInput:'{"command": "npm test -- --watchAll=false"}'}])};let $={"alert-1":{alert:y[0],agent:{id:"agent-4",name:"customer-support",status:"stuck"},relatedErrors:[],context:{lastHeartbeat:k(45),stuckDurationMinutes:45,agentStatus:"stuck"}},"alert-2":{alert:y[1],agent:{id:"agent-3",name:"data-pipeline",status:"error"},relatedErrors:[{timestamp:k(12),error:"TypeError: Cannot read properties of undefined (reading 'map')"},{timestamp:k(11),error:"ECONNREFUSED: Connection refused to database at 127.0.0.1:5432"},{timestamp:k(11),error:"ECONNREFUSED: Connection refused to database at 127.0.0.1:5432"},{timestamp:k(10),error:"Unhandled promise rejection: Query timeout after 30000ms"},{timestamp:k(10),error:'FATAL: too many connections for role "app_user"'}]},"alert-3":{alert:y[2],agent:{id:"agent-4",name:"customer-support",status:"running"},relatedErrors:[],context:{currentCostUsd:12.67,thresholdUsd:10,overage:2.67}},"alert-4":{alert:y[3],agent:{id:"agent-8",name:"slack-responder",status:"running"},relatedErrors:[{timestamp:k(32),error:"Detected 5 consecutive similar outputs — possible retry loop"},{timestamp:k(31),error:"Output similarity score: 0.94 (threshold: 0.85)"}]},"alert-5":{alert:y[4],agent:{id:"agent-2",name:"deploy-bot",status:"running"},relatedErrors:[{timestamp:w(3),error:"API returned 503 Service Unavailable — auto-retried successfully"}]}},S=x.default.env.NEXT_PUBLIC_API_KEY||"";async function P(e,t){let s={"Content-Type":"application/json","ngrok-skip-browser-warning":"true",...S?{"X-ClaWatch-Key":S}:{},...t?.headers||{}},a=await fetch(`${e}`,{...t,headers:s});if(!a.ok)throw Error(`API error: ${a.status}`);return a.json()}async function T(){try{return(await P("/api/profiles")).profiles}catch{return console.warn("API unreachable, skipping profiles"),[]}}async function B(){try{return(await P("/api/version")).version}catch{return console.warn("API unreachable, skipping version"),null}}async function M(e,t){try{let s=new URLSearchParams;e&&s.set("status",e),t&&s.set("profile",t);let a=s.toString();return(await P(`/api/agents${a?`?${a}`:""}`)).agents}catch{return console.warn("API unreachable, falling back to mock data"),v}}async function F(e){try{let t=new URLSearchParams;e?.limit!==void 0&&t.set("limit",String(e.limit)),e?.offset!==void 0&&t.set("offset",String(e.offset)),e?.severity&&t.set("severity",e.severity),e?.acknowledged!==void 0&&t.set("acknowledged",String(e.acknowledged)),e?.profile&&t.set("profile",e.profile);let s=t.toString();return await P(`/api/alerts${s?`?${s}`:""}`)}catch{return console.warn("API unreachable, falling back to mock data"),{alerts:y,total:y.length}}}async function z(e){return await P(`/api/alerts/acknowledge-all${e?`?severity=${e}`:""}`,{method:"POST"})}async function L(e){try{let t=e?`?profile=${e}`:"";return await P(`/api/costs${t}`)}catch{return console.warn("API unreachable, falling back to mock data"),j}}async function D(e){await P(`/api/agents/${e}/pause`,{method:"POST"})}async function E(e){await P(`/api/agents/${e}/resume`,{method:"POST"})}async function R(e){await P(`/api/alerts/${e}/acknowledge`,{method:"POST"})}async function O(e){try{return await P(`/api/alerts/${e}/details`)}catch{console.warn("API unreachable, falling back to mock data");let t=$[e];if(t)return t;throw Error("Alert not found")}}async function _(e){let{agentId:t,status:s,sort:a,profile:o,limit:n,offset:r}=e||{};try{let e=new URLSearchParams;n&&e.set("limit",String(n)),r&&e.set("offset",String(r)),t&&e.set("agentId",t),s&&e.set("status",s),a&&e.set("sort",a),o&&e.set("profile",o);let i=e.toString(),d=await P(`/api/sessions${i?`?${i}`:""}`);return{sessions:d.sessions,total:d.total}}catch{return console.warn("API unreachable, falling back to mock data"),{sessions:C,total:C.length}}}async function W(e){try{return await P(`/api/sessions/${e}`)}catch{console.warn("API unreachable, falling back to mock data");let t=U[e];if(t)return t;throw Error("Session not found")}}async function H(e){try{let t=e?`?profile=${e}`:"";return(await P(`/api/projects${t}`)).projects}catch{return console.warn("API unreachable, falling back to mock data"),N}}async function K(e){try{return await P(`/api/projects/${e}`)}catch{console.warn("API unreachable, falling back to mock data");let t=A[e];if(t)return t;throw Error("Project not found")}}async function J(e,t){return await P("/api/projects",{method:"POST",body:JSON.stringify({name:e,description:t})})}async function G(e,t){await P(`/api/sessions/${e}/projects`,{method:"PUT",body:JSON.stringify({projectIds:t})})}async function q(e,t){await P(`/api/sessions/${e}/projects/${t}`,{method:"DELETE"})}let Q=(n=(o=Array.from({length:14},(e,t)=>{let s=new Date("2026-02-24");return s.setDate(s.getDate()+t),s.toISOString().slice(0,10)})).map(e=>({date:e,costUsd:+(5+15*Math.random()).toFixed(2),tokenCount:Math.floor(1e6+4e6*Math.random()),sessionCount:Math.floor(3+10*Math.random())})),{buckets:n,byAgent:["ofek","anas","dor"].map(e=>({agentId:e,buckets:o.map(e=>({date:e,costUsd:+(1+6*Math.random()).toFixed(2),tokenCount:Math.floor(3e5+15e5*Math.random()),sessionCount:Math.floor(1+4*Math.random())}))})),byProject:[{projectId:"proj-1",name:"ClaWatch"},{projectId:"proj-2",name:"Auth Service"},{projectId:"proj-3",name:"Mobile App"}].map(({projectId:e,name:t})=>({projectId:e,name:t,buckets:o.map(e=>({date:e,costUsd:+(1+5*Math.random()).toFixed(2),tokenCount:Math.floor(2e5+12e5*Math.random()),sessionCount:Math.floor(1+3*Math.random())}))}))});async function V(e){try{let t=new URLSearchParams;e.profile&&t.set("profile",e.profile),e.groupBy&&t.set("groupBy",e.groupBy),e.from&&t.set("from",e.from),e.to&&t.set("to",e.to);let s=t.toString();return await P(`/api/analytics${s?`?${s}`:""}`)}catch{return console.warn("API unreachable, falling back to mock analytics data"),Q}}e.s(["acknowledgeAlert",()=>R,"acknowledgeAllAlerts",()=>z,"createProject",()=>J,"getAgents",()=>M,"getAlertDetails",()=>O,"getAlerts",()=>F,"getAnalytics",()=>V,"getCosts",()=>L,"getProfiles",()=>T,"getProject",()=>K,"getProjects",()=>H,"getSession",()=>W,"getSessions",()=>_,"getVersion",()=>B,"pauseAgent",()=>D,"removeSessionProject",()=>q,"resumeAgent",()=>E,"setSessionProjects",()=>G],9165)},88899,e=>{"use strict";var t=e.i(43476),s=e.i(71645),a=e.i(18566),o=e.i(22016),n=e.i(19455),r=e.i(15288),i=e.i(87486),d=e.i(9165),l=e.i(98940);function c(e){let t=Math.floor((Date.now()-new Date(e).getTime())/1e3);if(t<60)return`${t}s ago`;let s=Math.floor(t/60);if(s<60)return`${s}m ago`;let a=Math.floor(s/60);return a<24?`${a}h ago`:`${Math.floor(a/24)}d ago`}function u(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(0)}K`:String(e)}function m(e){return new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}let g={dor:{border:"border-l-blue-400",bg:"bg-blue-500/10",text:"text-blue-400",badge:"bg-blue-500/10 text-blue-400 border-blue-500/20",dot:"bg-blue-400"},ofek:{border:"border-l-amber-400",bg:"bg-amber-500/10",text:"text-amber-400",badge:"bg-amber-500/10 text-amber-400 border-amber-500/20",dot:"bg-amber-400"},anas:{border:"border-l-emerald-400",bg:"bg-emerald-500/10",text:"text-emerald-400",badge:"bg-emerald-500/10 text-emerald-400 border-emerald-500/20",dot:"bg-emerald-400"}},p=["blue-400","emerald-400","amber-400","purple-400","rose-400"];function h(e,t){return g[e]||{border:`border-l-${p[t%5]}`,bg:`bg-${p[t%5]}/10`,text:`text-${p[t%5]}`,badge:`bg-${p[t%5]}/10 text-${p[t%5]} border-${p[t%5]}/20`,dot:`bg-${p[t%5]}`}}let b={active:{color:"bg-emerald-500/10 text-emerald-400 border-emerald-500/20",dot:"bg-emerald-400",label:"Active"},idle:{color:"bg-amber-500/10 text-amber-400 border-amber-500/20",dot:"bg-amber-400",label:"Idle"},completed:{color:"bg-zinc-500/10 text-zinc-400 border-zinc-500/20",dot:"bg-zinc-400",label:"Completed"}};function x(){let e=(0,a.useParams)(),g=(0,a.useRouter)(),p=e.id,[x,k]=(0,s.useState)(null),[w,v]=(0,s.useState)(!0),[y,j]=(0,s.useState)(null),[C,N]=(0,s.useState)(200),[I,A]=(0,s.useState)(new Set);if((0,s.useEffect)(()=>{!async function(){try{let e=await (0,d.getProject)(p);k(e)}catch{j("Project not found")}finally{v(!1)}}()},[p]),w)return(0,t.jsx)("div",{className:"min-h-screen bg-background flex items-center justify-center",children:(0,t.jsxs)("div",{className:"flex items-center gap-3 text-muted-foreground",children:[(0,t.jsx)("div",{className:"size-5 border-2 border-emerald-500 border-t-transparent rounded-full animate-spin"}),"Loading project..."]})});if(y||!x)return(0,t.jsx)("div",{className:"min-h-screen bg-background flex items-center justify-center",children:(0,t.jsxs)("div",{className:"text-center space-y-4",children:[(0,t.jsx)("p",{className:"text-muted-foreground",children:y||"Project not found"}),(0,t.jsx)(n.Button,{variant:"outline",onClick:()=>g.push("/dashboard"),children:"Back to Dashboard"})]})});let U=x.timeline.slice(0,C),$=x.timeline.length>C,S={};return x.agentBreakdown.forEach((e,t)=>{S[e.agentId]=t}),(0,t.jsxs)("div",{className:"min-h-screen bg-background text-foreground",children:[(0,t.jsx)("nav",{className:"border-b border-border/50 bg-background/80 backdrop-blur-sm sticky top-0 z-50",children:(0,t.jsx)("div",{className:"max-w-7xl mx-auto px-6 h-14 flex items-center justify-between",children:(0,t.jsxs)("div",{className:"flex items-center gap-6",children:[(0,t.jsxs)(o.default,{href:"/",className:"flex items-center gap-2",children:[(0,t.jsx)(l.ClaWatchIcon,{}),(0,t.jsx)(l.ClaWatchLogo,{size:"md"})]}),(0,t.jsx)("span",{className:"text-sm text-muted-foreground",children:"Project"})]})})}),(0,t.jsxs)("div",{className:"max-w-5xl mx-auto px-6 py-6 space-y-8",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("button",{onClick:()=>g.push("/dashboard"),className:"text-sm text-muted-foreground hover:text-foreground transition-colors mb-4 inline-flex items-center gap-1",children:[(0,t.jsx)("span",{children:"←"})," Back to Dashboard"]}),(0,t.jsx)("h1",{className:"text-2xl font-bold mb-2",children:x.name}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground mb-4",children:x.description}),(0,t.jsxs)("div",{className:"flex items-center gap-6 flex-wrap",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("span",{className:"text-3xl font-bold",children:["$",x.stats.totalCostUsd.toFixed(2)]}),(0,t.jsx)("span",{className:"text-sm text-muted-foreground ml-2",children:"total cost"})]}),(0,t.jsx)("div",{className:"h-8 w-px bg-border/50"}),(0,t.jsx)("div",{className:"text-sm text-muted-foreground",children:(0,t.jsxs)("div",{className:"font-medium text-foreground",children:[x.stats.sessionCount," sessions"]})}),(0,t.jsx)("div",{className:"h-8 w-px bg-border/50"}),(0,t.jsx)("div",{className:"text-sm text-muted-foreground",children:(0,t.jsxs)("div",{className:"font-medium text-foreground",children:[x.stats.totalMessages," messages"]})}),(0,t.jsx)("div",{className:"h-8 w-px bg-border/50"}),(0,t.jsx)("div",{className:"text-sm text-muted-foreground",children:(0,t.jsxs)("div",{className:"font-medium text-foreground",children:[u(x.stats.totalTokens)," tokens"]})}),(0,t.jsx)("div",{className:"h-8 w-px bg-border/50"}),(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:(0,t.jsxs)("div",{children:[m(x.stats.dateRange.from)," — ",m(x.stats.dateRange.to)]})})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-lg font-semibold mb-4",children:"Agent Participation"}),(0,t.jsx)("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:x.agentBreakdown.map(e=>{var s;let a=h(e.agentId,S[e.agentId]);return(0,t.jsx)(r.Card,{className:`border-l-4 ${a.border}`,children:(0,t.jsxs)(r.CardContent,{className:"pt-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,t.jsx)(i.Badge,{variant:"outline",className:`border ${a.badge} text-xs`,children:e.agentId}),(0,t.jsxs)("span",{className:"text-lg font-bold",children:["$",e.costUsd.toFixed(2)]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("div",{className:"w-full h-2 rounded-full bg-muted overflow-hidden",children:(0,t.jsx)("div",{className:`h-full rounded-full ${"dor"===(s=e.agentId)?"bg-blue-400":"ofek"===s?"bg-amber-400":"anas"===s?"bg-emerald-400":"bg-purple-400"} transition-all`,style:{width:`${e.percentage}%`}})}),(0,t.jsxs)("div",{className:"flex items-center justify-between text-xs text-muted-foreground",children:[(0,t.jsxs)("span",{children:[e.percentage.toFixed(1),"% of total cost"]}),(0,t.jsxs)("span",{children:[u(e.tokenCount)," tokens"]})]}),(0,t.jsxs)("div",{className:"text-xs text-muted-foreground",children:[e.messageCount," messages"]})]})]})},e.agentId)})})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-lg font-semibold mb-4",children:"Sessions"}),(0,t.jsx)("div",{className:"grid gap-3",children:x.sessions.map(e=>{let s=b[e.status],a=h(e.agentId,S[e.agentId]??0);return(0,t.jsx)("div",{onClick:()=>g.push(`/dashboard/sessions/${e.id}`),className:"rounded-xl border border-border/50 bg-card p-4 hover:border-border transition-colors cursor-pointer group",children:(0,t.jsxs)("div",{className:"flex items-start gap-4",children:[(0,t.jsx)("span",{className:`size-2.5 rounded-full mt-1.5 shrink-0 ${s.dot}`}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("div",{className:"flex items-center gap-2 mb-1",children:(0,t.jsx)("span",{className:"font-medium truncate max-w-[500px] group-hover:text-emerald-400 transition-colors",children:e.title.length>80?e.title.slice(0,80)+"...":e.title})}),(0,t.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,t.jsx)(i.Badge,{variant:"outline",className:`text-[10px] border ${a.badge}`,children:e.agentId}),(0,t.jsx)("span",{className:"text-[11px] font-mono text-muted-foreground",children:e.model}),(0,t.jsxs)("span",{className:"text-[11px] text-muted-foreground",children:[e.messageCount," msgs"]}),(0,t.jsx)("span",{className:"text-[11px] text-muted-foreground",children:c(e.lastActivityAt)})]})]}),(0,t.jsx)("div",{className:"flex items-center gap-4 shrink-0 text-sm",children:(0,t.jsxs)("div",{className:"text-right",children:[(0,t.jsxs)("div",{className:"font-bold",children:["$",e.costUsd.toFixed(2)]}),(0,t.jsx)("div",{className:"text-[11px] text-muted-foreground",children:u(e.tokenCount)})]})})]})},e.id)})})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-lg font-semibold mb-4",children:"Unified Timeline"}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground mb-4",children:"Messages from all sessions merged chronologically"}),(0,t.jsx)("div",{className:"space-y-2",children:U.map(e=>(0,t.jsx)(f,{message:e,agentIndex:S,collapsed:I.has(e.id),onToggle:()=>{var t;return t=e.id,void A(e=>{let s=new Set(e);return s.has(t)?s.delete(t):s.add(t),s})}},e.id))}),$&&(0,t.jsx)("div",{className:"text-center mt-4",children:(0,t.jsxs)(n.Button,{variant:"outline",size:"sm",className:"text-xs border-emerald-500/30 text-emerald-400 hover:bg-emerald-500/10",onClick:()=>N(e=>e+200),children:["Load more (",x.timeline.length-C," remaining)"]})}),0===x.timeline.length&&(0,t.jsx)("div",{className:"text-center py-12 text-muted-foreground text-sm",children:"No timeline messages yet."})]})]})]})}function f({message:e,agentIndex:s,collapsed:a,onToggle:o}){let n=h(e.agentId,s[e.agentId]??0),r=e.content.toLowerCase().includes("error");return"user"===e.role?(0,t.jsxs)("div",{className:`rounded-lg border-l-4 ${n.border} border border-blue-500/20 bg-blue-500/10 p-4 ${r?"border-red-500/30 bg-red-500/10":""}`,children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,t.jsx)(i.Badge,{variant:"outline",className:`text-[10px] border ${n.badge}`,children:e.agentId}),(0,t.jsx)("span",{className:"text-xs font-medium text-blue-400",children:"User"}),(0,t.jsx)("span",{className:"text-[11px] text-muted-foreground",children:c(e.timestamp)})]}),(0,t.jsx)("p",{className:"text-sm whitespace-pre-wrap",children:e.content})]}):"assistant"===e.role?(0,t.jsxs)("div",{className:`rounded-lg border-l-4 ${n.border} border border-border/50 bg-zinc-800/50 p-4 ${r?"border-red-500/30 bg-red-500/10":""}`,children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(i.Badge,{variant:"outline",className:`text-[10px] border ${n.badge}`,children:e.agentId}),(0,t.jsx)("span",{className:"text-xs font-medium text-zinc-400",children:"Assistant"}),e.model&&(0,t.jsx)("span",{className:"text-[10px] font-mono text-muted-foreground",children:e.model}),(0,t.jsx)("span",{className:"text-[11px] text-muted-foreground",children:c(e.timestamp)})]}),null!=e.costUsd&&(0,t.jsxs)(i.Badge,{variant:"outline",className:"text-[10px] font-mono bg-emerald-500/10 text-emerald-400 border-emerald-500/20",children:["$",e.costUsd.toFixed(2)]})]}),(0,t.jsx)("p",{className:"text-sm whitespace-pre-wrap",children:e.content})]}):"tool"===e.role?(0,t.jsxs)("div",{className:`rounded-lg border-l-4 ${n.border} border border-border/50 bg-zinc-900 p-4 ${r?"border-red-500/30 bg-red-500/10":""}`,children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(i.Badge,{variant:"outline",className:`text-[10px] border ${n.badge}`,children:e.agentId}),(0,t.jsx)("span",{className:"text-xs text-amber-400",children:"Tool"}),e.toolName&&(0,t.jsx)(i.Badge,{variant:"outline",className:"text-[10px] font-mono bg-amber-500/10 text-amber-400 border-amber-500/20",children:e.toolName}),(0,t.jsx)("span",{className:"text-[11px] text-muted-foreground",children:c(e.timestamp)})]}),(0,t.jsx)("button",{onClick:o,className:"text-[10px] text-muted-foreground hover:text-foreground transition-colors",children:a?"Show":"Hide"})]}),!a&&(0,t.jsx)("pre",{className:"text-xs font-mono text-zinc-300 whitespace-pre-wrap break-all",children:e.content})]}):(0,t.jsxs)("div",{className:`rounded-lg border-l-4 ${n.border} px-4 py-2`,children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(i.Badge,{variant:"outline",className:`text-[10px] border ${n.badge}`,children:e.agentId}),(0,t.jsx)("span",{className:"text-[11px] text-muted-foreground",children:"System"}),(0,t.jsx)("span",{className:"text-[11px] text-muted-foreground",children:c(e.timestamp)})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:e.content})]})}e.s(["default",()=>x])}]);
|