claude-dashboard 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +36 -13
  3. package/.next/app-path-routes-manifest.json +3 -0
  4. package/.next/build-manifest.json +2 -2
  5. package/.next/next-server.js.nft.json +1 -1
  6. package/.next/required-server-files.json +3 -3
  7. package/.next/routes-manifest.json +8 -0
  8. package/.next/server/app/_not-found/page.js +2 -2
  9. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  10. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/_not-found.html +1 -1
  12. package/.next/server/app/_not-found.rsc +15 -14
  13. package/.next/server/app/api/health/route.js.nft.json +1 -1
  14. package/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/usage/route.js.nft.json +1 -1
  16. package/.next/server/app/api/usage/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/workflows/[id]/route.js +1 -13
  18. package/.next/server/app/api/workflows/[id]/route.js.nft.json +1 -1
  19. package/.next/server/app/api/workflows/[id]/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/workflows/cleanup/route.js +1 -0
  21. package/.next/server/app/api/workflows/cleanup/route.js.nft.json +1 -0
  22. package/.next/server/app/api/workflows/cleanup/route_client-reference-manifest.js +1 -0
  23. package/.next/server/app/api/workflows/metrics/route.js +1 -0
  24. package/.next/server/app/api/workflows/metrics/route.js.nft.json +1 -0
  25. package/.next/server/app/api/workflows/metrics/route_client-reference-manifest.js +1 -0
  26. package/.next/server/app/api/workflows/route.js +1 -13
  27. package/.next/server/app/api/workflows/route.js.nft.json +1 -1
  28. package/.next/server/app/api/workflows/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/history/[id]/page.js +5 -0
  30. package/.next/server/app/history/[id]/page.js.nft.json +1 -0
  31. package/.next/server/app/history/[id]/page_client-reference-manifest.js +1 -0
  32. package/.next/server/app/history/page.js +1 -1
  33. package/.next/server/app/history/page.js.nft.json +1 -1
  34. package/.next/server/app/history/page_client-reference-manifest.js +1 -1
  35. package/.next/server/app/history.html +1 -1
  36. package/.next/server/app/history.rsc +19 -18
  37. package/.next/server/app/index.html +1 -1
  38. package/.next/server/app/index.rsc +19 -18
  39. package/.next/server/app/page.js +3 -3
  40. package/.next/server/app/page.js.nft.json +1 -1
  41. package/.next/server/app/page_client-reference-manifest.js +1 -1
  42. package/.next/server/app-paths-manifest.json +3 -0
  43. package/.next/server/chunks/{737.js → 205.js} +1 -1
  44. package/.next/server/chunks/53.js +63 -0
  45. package/.next/server/chunks/859.js +1 -0
  46. package/.next/server/chunks/913.js +1 -0
  47. package/.next/server/pages/404.html +1 -1
  48. package/.next/server/pages/500.html +1 -1
  49. package/.next/server/pages/_app.js.nft.json +1 -1
  50. package/.next/server/pages/_document.js.nft.json +1 -1
  51. package/.next/static/BXp78QLX_5XRObTh2VELw/_buildManifest.js +1 -0
  52. package/.next/static/chunks/145-10d5b3969d67e4c0.js +1 -0
  53. package/.next/static/chunks/203-b5ea437c1564ad7d.js +1 -0
  54. package/.next/static/chunks/{825-4978b2439a33cef8.js → 379-4e24b4cec3288453.js} +2 -2
  55. package/.next/static/chunks/app/api/health/route-903cc84446e35d73.js +1 -0
  56. package/.next/static/chunks/app/api/usage/route-903cc84446e35d73.js +1 -0
  57. package/.next/static/chunks/app/api/workflows/[id]/route-903cc84446e35d73.js +1 -0
  58. package/.next/static/chunks/app/api/workflows/cleanup/route-903cc84446e35d73.js +1 -0
  59. package/.next/static/chunks/app/api/workflows/metrics/route-903cc84446e35d73.js +1 -0
  60. package/.next/static/chunks/app/api/workflows/route-903cc84446e35d73.js +1 -0
  61. package/.next/static/chunks/app/history/[id]/page-91f0f7e7565dea12.js +1 -0
  62. package/.next/static/chunks/app/history/page-3942390e1d606f32.js +1 -0
  63. package/.next/static/chunks/app/layout-71710c37c90ec543.js +1 -0
  64. package/.next/static/chunks/app/page-1a412f0d8f879068.js +1 -0
  65. package/.next/static/css/{75908259b9e378e4.css → 844cb206278a3d3e.css} +1 -1
  66. package/README.md +31 -0
  67. package/README.zh-TW.md +31 -0
  68. package/dist/src/lib/db/connection.js +22 -5
  69. package/dist/src/lib/db/queries.js +111 -12
  70. package/dist/src/lib/i18n/messages.js +238 -0
  71. package/dist/src/lib/i18n/useI18n.js +20 -0
  72. package/dist/src/lib/terminal/pty-manager.js +15 -2
  73. package/dist/src/lib/websocket/server.js +40 -4
  74. package/dist/src/lib/workflow/engine.js +15 -9
  75. package/dist/src/lib/workflow/pipeline.js +4 -3
  76. package/dist/src/lib/workflow/types.js +13 -0
  77. package/package.json +3 -6
  78. package/.next/server/chunks/715.js +0 -1
  79. package/.next/server/chunks/849.js +0 -1
  80. package/.next/static/4fPtjKSL5y0HNNsoLs4PS/_buildManifest.js +0 -1
  81. package/.next/static/chunks/145-3c417ba81c4b45f5.js +0 -1
  82. package/.next/static/chunks/619-7492253b494230b1.js +0 -1
  83. package/.next/static/chunks/app/api/health/route-36fb14cc6a282394.js +0 -1
  84. package/.next/static/chunks/app/api/usage/route-36fb14cc6a282394.js +0 -1
  85. package/.next/static/chunks/app/api/workflows/[id]/route-36fb14cc6a282394.js +0 -1
  86. package/.next/static/chunks/app/api/workflows/route-36fb14cc6a282394.js +0 -1
  87. package/.next/static/chunks/app/history/page-eef8489b051348cb.js +0 -1
  88. package/.next/static/chunks/app/layout-37b1ff7dda2e8465.js +0 -1
  89. package/.next/static/chunks/app/page-dd53f4f52bd5e72d.js +0 -1
  90. /package/.next/static/{4fPtjKSL5y0HNNsoLs4PS → BXp78QLX_5XRObTh2VELw}/_ssgManifest.js +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-dashboard",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "bin": {
@@ -32,6 +32,7 @@
32
32
  "dev": "node server.ts",
33
33
  "build": "next build && tsc -p tsconfig.server.json && node scripts/postbuild.mjs",
34
34
  "start": "node dist/server.js",
35
+ "test": "bun test",
35
36
  "lint": "next lint",
36
37
  "prepublishOnly": "npm run build"
37
38
  },
@@ -62,7 +63,6 @@
62
63
  "devDependencies": {
63
64
  "@happy-dom/global-registrator": "^20.6.1",
64
65
  "@tailwindcss/typography": "^0.5.15",
65
- "@testing-library/jest-dom": "^6.9.1",
66
66
  "@testing-library/react": "^16.3.2",
67
67
  "@types/express": "^5.0.0",
68
68
  "@types/node": "^22.0.0",
@@ -70,15 +70,12 @@
70
70
  "@types/react-dom": "^19.0.0",
71
71
  "@types/uuid": "^10.0.0",
72
72
  "@types/ws": "^8.5.13",
73
- "@vitejs/plugin-react": "^5.1.4",
74
73
  "eslint": "^9.0.0",
75
74
  "eslint-config-next": "^15.5.12",
76
75
  "happy-dom": "^20.6.1",
77
- "jsdom": "^28.0.0",
78
76
  "postcss": "^8.0.0",
79
77
  "tailwindcss": "^3.4.0",
80
78
  "tsx": "^4.19.0",
81
- "typescript": "^5.7.0",
82
- "vitest": "^4.0.18"
79
+ "typescript": "^5.7.0"
83
80
  }
84
81
  }
@@ -1 +0,0 @@
1
- exports.id=715,exports.ids=[715],exports.modules={333:()=>{},1135:()=>{},1472:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>h,metadata:()=>g});var d=c(5338),e=c(3305),f=c.n(e);c(1135);let g={title:"Claude Dashboard",description:"Multi-Agent Workflow Dashboard"};function h({children:a}){return(0,d.jsx)("html",{lang:"en",className:"dark",children:(0,d.jsx)("body",{className:`${f().className} min-h-screen bg-background antialiased`,children:a})})}},2299:(a,b,c)=>{"use strict";c.d(b,{C1:()=>f,L2:()=>d,d0:()=>g,fB:()=>e});let d=[{index:0,roles:["pm"]},{index:1,roles:["rd","ui"]},{index:2,roles:["test","sec"]}],e=d.flatMap(a=>a.roles);function f(a){let b=d.find(b=>b.roles.includes(a));if(!b)throw Error(`No stage found for role: ${a}`);return b}let g={pm:{label:"PM",color:"#A855F7",timeoutMs:18e4,tools:["Read"]},rd:{label:"RD",color:"#3B82F6",timeoutMs:6e5,tools:["Read","Edit","Bash"]},ui:{label:"UI",color:"#22C55E",timeoutMs:6e5,tools:["Read","Edit","Bash"]},test:{label:"TEST",color:"#F97316",timeoutMs:6e5,tools:["Read","Edit","Bash"]},sec:{label:"SEC",color:"#EF4444",timeoutMs:3e5,tools:["Read","Bash"]}}},3011:(a,b,c)=>{"use strict";c.d(b,{Y:()=>d});let d=(0,c(1453).v)(a=>({workflowId:null,status:"pending",title:"",currentStageIndex:0,startedAt:null,completedAt:null,setWorkflow:(b,c)=>a({workflowId:b,title:c,status:"running",startedAt:Date.now(),completedAt:null,currentStageIndex:0}),setStatus:b=>{a("completed"===b||"failed"===b||"cancelled"===b?{status:b,completedAt:Date.now()}:{status:b})},setCurrentStage:b=>a({currentStageIndex:b}),setCompleted:()=>a({status:"completed",completedAt:Date.now()}),reset:()=>a({workflowId:null,status:"pending",title:"",currentStageIndex:0,startedAt:null,completedAt:null})}))},3455:(a,b,c)=>{"use strict";c.d(b,{o:()=>g});var d=c(1453),e=c(2299);function f(){let a={};for(let b of e.fB)a[b]={role:b,status:"pending",outputChunks:[],error:null,startedAt:null,completedAt:null,durationMs:null,tokensIn:null,tokensOut:null,activity:{kind:"idle"},lastActivityAt:null,retryCount:0};return a}let g=(0,d.v)(a=>({agents:f(),appendChunks:(b,c)=>a(a=>({agents:{...a.agents,[b]:{...a.agents[b],outputChunks:[...a.agents[b].outputChunks,...c]}}})),setAgentStatus:(b,c)=>a(a=>({agents:{...a.agents,[b]:{...a.agents[b],status:c}}})),setAgentStarted:b=>a(a=>({agents:{...a.agents,[b]:{...a.agents[b],status:"running",startedAt:Date.now(),outputChunks:[],error:null,activity:{kind:"idle"},lastActivityAt:null}}})),setAgentCompleted:(b,c,d,e,f)=>a(a=>({agents:{...a.agents,[b]:{...a.agents[b],status:"completed",completedAt:Date.now(),durationMs:d,tokensIn:e??null,tokensOut:f??null}}})),setAgentFailed:(b,c)=>a(a=>({agents:{...a.agents,[b]:{...a.agents[b],status:"failed",error:c,completedAt:Date.now()}}})),setAgentActivity:(b,c)=>a(a=>({agents:{...a.agents,[b]:{...a.agents[b],activity:c,lastActivityAt:Date.now()}}})),setAgentRetry:(b,c)=>a(a=>({agents:{...a.agents,[b]:{...a.agents[b],retryCount:c}}})),resetAll:()=>a({agents:f()})}))},4788:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,4160,23)),Promise.resolve().then(c.t.bind(c,1603,23)),Promise.resolve().then(c.t.bind(c,8495,23)),Promise.resolve().then(c.t.bind(c,5170,23)),Promise.resolve().then(c.t.bind(c,7526,23)),Promise.resolve().then(c.t.bind(c,8922,23)),Promise.resolve().then(c.t.bind(c,9234,23)),Promise.resolve().then(c.t.bind(c,2263,23)),Promise.resolve().then(c.bind(c,2146))},4943:(a,b,c)=>{"use strict";c.d(b,{cn:()=>f});var d=c(3249),e=c(8829);function f(...a){return(0,e.QP)((0,d.$)(a))}},5212:(a,b,c)=>{"use strict";c.d(b,{R:()=>q});var d=c(1124),e=c(8301),f=c(3011),g=c(3455),h=c(2299),i=c(4943);let j=e.forwardRef(({className:a,content:b,side:c="top",delayMs:f=200,children:g,...h},j)=>{let[k,l]=e.useState(!1),m=e.useRef(null),n=e.useCallback(()=>{m.current=setTimeout(()=>l(!0),f)},[f]),o=e.useCallback(()=>{m.current&&(clearTimeout(m.current),m.current=null),l(!1)},[]);return e.useEffect(()=>()=>{m.current&&clearTimeout(m.current)},[]),(0,d.jsxs)("div",{ref:j,className:(0,i.cn)("relative inline-flex",a),onMouseEnter:n,onMouseLeave:o,onFocus:n,onBlur:o,...h,children:[g,k&&b&&(0,d.jsx)("div",{role:"tooltip",className:(0,i.cn)("absolute z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95","pointer-events-none whitespace-nowrap",{top:"bottom-full left-1/2 -translate-x-1/2 mb-2",bottom:"top-full left-1/2 -translate-x-1/2 mt-2",left:"right-full top-1/2 -translate-y-1/2 mr-2",right:"left-full top-1/2 -translate-y-1/2 ml-2"}[c]),children:b})]})});function k(a){return null==a?"--":`${Math.round(a)}%`}function l({label:a,utilization:b,resetsAt:c,tooltipLabel:e}){let f=(0,d.jsxs)("div",{className:"text-xs",children:[(0,d.jsx)("div",{className:"font-medium mb-0.5",children:e}),(0,d.jsxs)("div",{className:"text-muted-foreground",children:["Usage: ",k(b)]}),(0,d.jsxs)("div",{className:"text-muted-foreground",children:["Resets: ",function(a){if(!a)return"N/A";try{return new Date(a).toLocaleString("zh-TW",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1})}catch{return"N/A"}}(c)]})]});return(0,d.jsx)(j,{content:f,side:"bottom",delayMs:150,children:(0,d.jsxs)("span",{className:`${null==b?"text-muted-foreground":b>80?"text-red-400":b>=50?"text-yellow-400":"text-emerald-400"} cursor-default`,"aria-label":`${e}: ${k(b)}`,children:[a,": ",k(b)]})})}function m(){let{data:a,loading:b}=function(){let[a,b]=(0,e.useState)(null),[c,d]=(0,e.useState)(!0);return(0,e.useRef)(null),(0,e.useCallback)(async()=>{try{let a=await fetch("/api/usage"),c=await a.json();b(c)}catch(a){console.error("[useUsage] Failed to fetch usage:",a),b({five_hour:null,seven_day:null,seven_day_sonnet:null,error:"Network error"})}finally{d(!1)}},[]),{data:a,loading:c}}();if(b)return(0,d.jsxs)("div",{className:"hidden md:flex items-center gap-2 text-xs text-muted-foreground","aria-label":"Loading usage data",children:[(0,d.jsx)("span",{className:"animate-pulse opacity-50",children:"Session: --"}),(0,d.jsx)("span",{className:"text-border opacity-30",children:"|"}),(0,d.jsx)("span",{className:"animate-pulse opacity-50",children:"Week: --"}),(0,d.jsx)("span",{className:"text-border opacity-30",children:"|"}),(0,d.jsx)("span",{className:"animate-pulse opacity-50",children:"Sonnet: --"})]});let c=a?.five_hour?.utilization??null,f=a?.seven_day?.utilization??null,g=a?.seven_day_sonnet?.utilization??null;return a?.error&&null==c&&null==f&&null==g?(0,d.jsx)(j,{content:(0,d.jsx)("div",{className:"text-xs text-muted-foreground",children:a.error}),side:"bottom",children:(0,d.jsx)("div",{className:"hidden md:flex items-center gap-2 text-xs text-muted-foreground","aria-label":"Usage data unavailable",children:(0,d.jsx)("span",{className:"opacity-50",children:"Usage: --"})})}):(0,d.jsxs)("div",{className:"hidden md:flex items-center gap-2 text-xs tabular-nums",role:"status","aria-label":"Claude Code usage metrics",children:[(0,d.jsx)(l,{label:"Session",utilization:c,resetsAt:a?.five_hour?.resets_at,tooltipLabel:"Current Session (5h window)"}),(0,d.jsx)("span",{className:"text-border select-none","aria-hidden":"true",children:"|"}),(0,d.jsx)(l,{label:"Week",utilization:f,resetsAt:a?.seven_day?.resets_at,tooltipLabel:"Weekly All Models (7 days)"}),(0,d.jsx)("span",{className:"text-border select-none","aria-hidden":"true",children:"|"}),(0,d.jsx)(l,{label:"Sonnet",utilization:g,resetsAt:a?.seven_day_sonnet?.resets_at,tooltipLabel:"Weekly Sonnet (7 days)"})]})}function n(a){let b=Math.floor(a/1e3),c=Math.floor(b/60);return c>0?`${c}m ${b%60}s`:`${b}s`}function o({startedAt:a}){let[b,c]=(0,e.useState)(Date.now());return(0,d.jsx)("span",{className:"text-xs text-muted-foreground tabular-nums",children:n(b-a)})}function p(){let{status:a,title:b,startedAt:c,completedAt:e}=(0,f.Y)(),i=(0,g.o)(a=>a.agents),j=h.fB.filter(a=>"completed"===i[a].status).length;return(0,d.jsxs)("header",{className:"h-12 border-b border-border bg-card flex items-center justify-between px-4",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3 min-w-0",children:[(0,d.jsx)("h1",{className:"text-sm font-semibold tracking-tight whitespace-nowrap",children:"Claude Dashboard"}),b&&(0,d.jsx)("span",{className:"text-xs text-muted-foreground truncate max-w-[300px]",children:b}),(0,d.jsx)("div",{className:"hidden md:block h-4 w-px bg-border"}),(0,d.jsx)(m,{})]}),(0,d.jsx)("div",{className:"flex items-center gap-3",children:"pending"!==a&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:`text-xs px-2 py-0.5 rounded-full font-medium ${{pending:"bg-gray-500/20 text-gray-400",running:"bg-emerald-500/20 text-emerald-400",paused:"bg-yellow-500/20 text-yellow-400",completed:"bg-blue-500/20 text-blue-400",failed:"bg-red-500/20 text-red-400",cancelled:"bg-gray-500/20 text-gray-400"}[a]||""}`,children:a.toUpperCase()}),(0,d.jsxs)("span",{className:"text-xs text-muted-foreground",children:[j,"/",h.fB.length," agents"]}),c&&("running"===a||"paused"===a?(0,d.jsx)(o,{startedAt:c}):(0,d.jsx)("span",{className:"text-xs text-muted-foreground tabular-nums",children:n((e??Date.now())-c)}))]})})]})}function q({children:a}){return(0,d.jsxs)("div",{className:"h-screen flex flex-col overflow-hidden",children:[(0,d.jsx)(p,{}),(0,d.jsx)("main",{className:"flex-1 overflow-hidden flex flex-col",children:a})]})}j.displayName="Tooltip"},7597:()=>{},9700:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,1170,23)),Promise.resolve().then(c.t.bind(c,3597,23)),Promise.resolve().then(c.t.bind(c,6893,23)),Promise.resolve().then(c.t.bind(c,9748,23)),Promise.resolve().then(c.t.bind(c,6060,23)),Promise.resolve().then(c.t.bind(c,7184,23)),Promise.resolve().then(c.t.bind(c,9576,23)),Promise.resolve().then(c.t.bind(c,3041,23)),Promise.resolve().then(c.t.bind(c,1384,23))}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=849,exports.ids=[849],exports.modules={1453:(a,b,c)=>{c.d(b,{v:()=>g});var d=c(8301);let e=a=>{let b,c=new Set,d=(a,d)=>{let e="function"==typeof a?a(b):a;if(!Object.is(e,b)){let a=b;b=(null!=d?d:"object"!=typeof e||null===e)?e:Object.assign({},b,e),c.forEach(c=>c(b,a))}},e=()=>b,f={setState:d,getState:e,getInitialState:()=>g,subscribe:a=>(c.add(a),()=>c.delete(a))},g=b=a(d,e,f);return f},f=a=>{let b=(a=>a?e(a):e)(a),c=a=>(function(a,b=a=>a){let c=d.useSyncExternalStore(a.subscribe,d.useCallback(()=>b(a.getState()),[a,b]),d.useCallback(()=>b(a.getInitialState()),[a,b]));return d.useDebugValue(c),c})(b,a);return Object.assign(c,b),c},g=a=>a?f(a):f},3249:(a,b,c)=>{c.d(b,{$:()=>d});function d(){for(var a,b,c=0,d="",e=arguments.length;c<e;c++)(a=arguments[c])&&(b=function a(b){var c,d,e="";if("string"==typeof b||"number"==typeof b)e+=b;else if("object"==typeof b)if(Array.isArray(b)){var f=b.length;for(c=0;c<f;c++)b[c]&&(d=a(b[c]))&&(e&&(e+=" "),e+=d)}else for(d in b)b[d]&&(e&&(e+=" "),e+=d);return e}(a))&&(d&&(d+=" "),d+=b);return d}},8829:(a,b,c)=>{c.d(b,{QP:()=>Q});let d=(a,b)=>{if(0===a.length)return b.classGroupId;let c=a[0],e=b.nextPart.get(c),f=e?d(a.slice(1),e):void 0;if(f)return f;if(0===b.validators.length)return;let g=a.join("-");return b.validators.find(({validator:a})=>a(g))?.classGroupId},e=/^\[(.+)\]$/,f=(a,b,c,d)=>{a.forEach(a=>{if("string"==typeof a){(""===a?b:g(b,a)).classGroupId=c;return}if("function"==typeof a)return h(a)?void f(a(d),b,c,d):void b.validators.push({validator:a,classGroupId:c});Object.entries(a).forEach(([a,e])=>{f(e,g(b,a),c,d)})})},g=(a,b)=>{let c=a;return b.split("-").forEach(a=>{c.nextPart.has(a)||c.nextPart.set(a,{nextPart:new Map,validators:[]}),c=c.nextPart.get(a)}),c},h=a=>a.isThemeGetter,i=(a,b)=>b?a.map(([a,c])=>[a,c.map(a=>"string"==typeof a?b+a:"object"==typeof a?Object.fromEntries(Object.entries(a).map(([a,c])=>[b+a,c])):a)]):a,j=a=>{if(a.length<=1)return a;let b=[],c=[];return a.forEach(a=>{"["===a[0]?(b.push(...c.sort(),a),c=[]):c.push(a)}),b.push(...c.sort()),b},k=/\s+/;function l(){let a,b,c=0,d="";for(;c<arguments.length;)(a=arguments[c++])&&(b=m(a))&&(d&&(d+=" "),d+=b);return d}let m=a=>{let b;if("string"==typeof a)return a;let c="";for(let d=0;d<a.length;d++)a[d]&&(b=m(a[d]))&&(c&&(c+=" "),c+=b);return c},n=a=>{let b=b=>b[a]||[];return b.isThemeGetter=!0,b},o=/^\[(?:([a-z-]+):)?(.+)\]$/i,p=/^\d+\/\d+$/,q=new Set(["px","full","screen"]),r=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,s=/\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$/,t=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,u=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,v=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,w=a=>y(a)||q.has(a)||p.test(a),x=a=>L(a,"length",M),y=a=>!!a&&!Number.isNaN(Number(a)),z=a=>L(a,"number",y),A=a=>!!a&&Number.isInteger(Number(a)),B=a=>a.endsWith("%")&&y(a.slice(0,-1)),C=a=>o.test(a),D=a=>r.test(a),E=new Set(["length","size","percentage"]),F=a=>L(a,E,N),G=a=>L(a,"position",N),H=new Set(["image","url"]),I=a=>L(a,H,P),J=a=>L(a,"",O),K=()=>!0,L=(a,b,c)=>{let d=o.exec(a);return!!d&&(d[1]?"string"==typeof b?d[1]===b:b.has(d[1]):c(d[2]))},M=a=>s.test(a)&&!t.test(a),N=()=>!1,O=a=>u.test(a),P=a=>v.test(a);Symbol.toStringTag;let Q=function(a,...b){let c,g,h,m=function(j){let k;return g=(c={cache:(a=>{if(a<1)return{get:()=>void 0,set:()=>{}};let b=0,c=new Map,d=new Map,e=(e,f)=>{c.set(e,f),++b>a&&(b=0,d=c,c=new Map)};return{get(a){let b=c.get(a);return void 0!==b?b:void 0!==(b=d.get(a))?(e(a,b),b):void 0},set(a,b){c.has(a)?c.set(a,b):e(a,b)}}})((k=b.reduce((a,b)=>b(a),a())).cacheSize),parseClassName:(a=>{let{separator:b,experimentalParseClassName:c}=a,d=1===b.length,e=b[0],f=b.length,g=a=>{let c,g=[],h=0,i=0;for(let j=0;j<a.length;j++){let k=a[j];if(0===h){if(k===e&&(d||a.slice(j,j+f)===b)){g.push(a.slice(i,j)),i=j+f;continue}if("/"===k){c=j;continue}}"["===k?h++:"]"===k&&h--}let j=0===g.length?a:a.substring(i),k=j.startsWith("!"),l=k?j.substring(1):j;return{modifiers:g,hasImportantModifier:k,baseClassName:l,maybePostfixModifierPosition:c&&c>i?c-i:void 0}};return c?a=>c({className:a,parseClassName:g}):g})(k),...(a=>{let b=(a=>{let{theme:b,prefix:c}=a,d={nextPart:new Map,validators:[]};return i(Object.entries(a.classGroups),c).forEach(([a,c])=>{f(c,d,a,b)}),d})(a),{conflictingClassGroups:c,conflictingClassGroupModifiers:g}=a;return{getClassGroupId:a=>{let c=a.split("-");return""===c[0]&&1!==c.length&&c.shift(),d(c,b)||(a=>{if(e.test(a)){let b=e.exec(a)[1],c=b?.substring(0,b.indexOf(":"));if(c)return"arbitrary.."+c}})(a)},getConflictingClassGroupIds:(a,b)=>{let d=c[a]||[];return b&&g[a]?[...d,...g[a]]:d}}})(k)}).cache.get,h=c.cache.set,m=n,n(j)};function n(a){let b=g(a);if(b)return b;let d=((a,b)=>{let{parseClassName:c,getClassGroupId:d,getConflictingClassGroupIds:e}=b,f=[],g=a.trim().split(k),h="";for(let a=g.length-1;a>=0;a-=1){let b=g[a],{modifiers:i,hasImportantModifier:k,baseClassName:l,maybePostfixModifierPosition:m}=c(b),n=!!m,o=d(n?l.substring(0,m):l);if(!o){if(!n||!(o=d(l))){h=b+(h.length>0?" "+h:h);continue}n=!1}let p=j(i).join(":"),q=k?p+"!":p,r=q+o;if(f.includes(r))continue;f.push(r);let s=e(o,n);for(let a=0;a<s.length;++a){let b=s[a];f.push(q+b)}h=b+(h.length>0?" "+h:h)}return h})(a,c);return h(a,d),d}return function(){return m(l.apply(null,arguments))}}(()=>{let a=n("colors"),b=n("spacing"),c=n("blur"),d=n("brightness"),e=n("borderColor"),f=n("borderRadius"),g=n("borderSpacing"),h=n("borderWidth"),i=n("contrast"),j=n("grayscale"),k=n("hueRotate"),l=n("invert"),m=n("gap"),o=n("gradientColorStops"),p=n("gradientColorStopPositions"),q=n("inset"),r=n("margin"),s=n("opacity"),t=n("padding"),u=n("saturate"),v=n("scale"),E=n("sepia"),H=n("skew"),L=n("space"),M=n("translate"),N=()=>["auto","contain","none"],O=()=>["auto","hidden","clip","visible","scroll"],P=()=>["auto",C,b],Q=()=>[C,b],R=()=>["",w,x],S=()=>["auto",y,C],T=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],U=()=>["solid","dashed","dotted","double","none"],V=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],W=()=>["start","end","center","between","around","evenly","stretch"],X=()=>["","0",C],Y=()=>["auto","avoid","all","avoid-page","page","left","right","column"],Z=()=>[y,C];return{cacheSize:500,separator:":",theme:{colors:[K],spacing:[w,x],blur:["none","",D,C],brightness:Z(),borderColor:[a],borderRadius:["none","","full",D,C],borderSpacing:Q(),borderWidth:R(),contrast:Z(),grayscale:X(),hueRotate:Z(),invert:X(),gap:Q(),gradientColorStops:[a],gradientColorStopPositions:[B,x],inset:P(),margin:P(),opacity:Z(),padding:Q(),saturate:Z(),scale:Z(),sepia:X(),skew:Z(),space:Q(),translate:Q()},classGroups:{aspect:[{aspect:["auto","square","video",C]}],container:["container"],columns:[{columns:[D]}],"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"],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:[...T(),C]}],overflow:[{overflow:O()}],"overflow-x":[{"overflow-x":O()}],"overflow-y":[{"overflow-y":O()}],overscroll:[{overscroll:N()}],"overscroll-x":[{"overscroll-x":N()}],"overscroll-y":[{"overscroll-y":N()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[q]}],"inset-x":[{"inset-x":[q]}],"inset-y":[{"inset-y":[q]}],start:[{start:[q]}],end:[{end:[q]}],top:[{top:[q]}],right:[{right:[q]}],bottom:[{bottom:[q]}],left:[{left:[q]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",A,C]}],basis:[{basis:P()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",C]}],grow:[{grow:X()}],shrink:[{shrink:X()}],order:[{order:["first","last","none",A,C]}],"grid-cols":[{"grid-cols":[K]}],"col-start-end":[{col:["auto",{span:["full",A,C]},C]}],"col-start":[{"col-start":S()}],"col-end":[{"col-end":S()}],"grid-rows":[{"grid-rows":[K]}],"row-start-end":[{row:["auto",{span:[A,C]},C]}],"row-start":[{"row-start":S()}],"row-end":[{"row-end":S()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",C]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",C]}],gap:[{gap:[m]}],"gap-x":[{"gap-x":[m]}],"gap-y":[{"gap-y":[m]}],"justify-content":[{justify:["normal",...W()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...W(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...W(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[t]}],px:[{px:[t]}],py:[{py:[t]}],ps:[{ps:[t]}],pe:[{pe:[t]}],pt:[{pt:[t]}],pr:[{pr:[t]}],pb:[{pb:[t]}],pl:[{pl:[t]}],m:[{m:[r]}],mx:[{mx:[r]}],my:[{my:[r]}],ms:[{ms:[r]}],me:[{me:[r]}],mt:[{mt:[r]}],mr:[{mr:[r]}],mb:[{mb:[r]}],ml:[{ml:[r]}],"space-x":[{"space-x":[L]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[L]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",C,b]}],"min-w":[{"min-w":[C,b,"min","max","fit"]}],"max-w":[{"max-w":[C,b,"none","full","min","max","fit","prose",{screen:[D]},D]}],h:[{h:[C,b,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[C,b,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[C,b,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[C,b,"auto","min","max","fit"]}],"font-size":[{text:["base",D,x]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",z]}],"font-family":[{font:[K]}],"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:["tighter","tight","normal","wide","wider","widest",C]}],"line-clamp":[{"line-clamp":["none",y,z]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",w,C]}],"list-image":[{"list-image":["none",C]}],"list-style-type":[{list:["none","disc","decimal",C]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[a]}],"placeholder-opacity":[{"placeholder-opacity":[s]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[a]}],"text-opacity":[{"text-opacity":[s]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...U(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",w,x]}],"underline-offset":[{"underline-offset":["auto",w,C]}],"text-decoration-color":[{decoration:[a]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:Q()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",C]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",C]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[s]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...T(),G]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",F]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},I]}],"bg-color":[{bg:[a]}],"gradient-from-pos":[{from:[p]}],"gradient-via-pos":[{via:[p]}],"gradient-to-pos":[{to:[p]}],"gradient-from":[{from:[o]}],"gradient-via":[{via:[o]}],"gradient-to":[{to:[o]}],rounded:[{rounded:[f]}],"rounded-s":[{"rounded-s":[f]}],"rounded-e":[{"rounded-e":[f]}],"rounded-t":[{"rounded-t":[f]}],"rounded-r":[{"rounded-r":[f]}],"rounded-b":[{"rounded-b":[f]}],"rounded-l":[{"rounded-l":[f]}],"rounded-ss":[{"rounded-ss":[f]}],"rounded-se":[{"rounded-se":[f]}],"rounded-ee":[{"rounded-ee":[f]}],"rounded-es":[{"rounded-es":[f]}],"rounded-tl":[{"rounded-tl":[f]}],"rounded-tr":[{"rounded-tr":[f]}],"rounded-br":[{"rounded-br":[f]}],"rounded-bl":[{"rounded-bl":[f]}],"border-w":[{border:[h]}],"border-w-x":[{"border-x":[h]}],"border-w-y":[{"border-y":[h]}],"border-w-s":[{"border-s":[h]}],"border-w-e":[{"border-e":[h]}],"border-w-t":[{"border-t":[h]}],"border-w-r":[{"border-r":[h]}],"border-w-b":[{"border-b":[h]}],"border-w-l":[{"border-l":[h]}],"border-opacity":[{"border-opacity":[s]}],"border-style":[{border:[...U(),"hidden"]}],"divide-x":[{"divide-x":[h]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[h]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[s]}],"divide-style":[{divide:U()}],"border-color":[{border:[e]}],"border-color-x":[{"border-x":[e]}],"border-color-y":[{"border-y":[e]}],"border-color-s":[{"border-s":[e]}],"border-color-e":[{"border-e":[e]}],"border-color-t":[{"border-t":[e]}],"border-color-r":[{"border-r":[e]}],"border-color-b":[{"border-b":[e]}],"border-color-l":[{"border-l":[e]}],"divide-color":[{divide:[e]}],"outline-style":[{outline:["",...U()]}],"outline-offset":[{"outline-offset":[w,C]}],"outline-w":[{outline:[w,x]}],"outline-color":[{outline:[a]}],"ring-w":[{ring:R()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[a]}],"ring-opacity":[{"ring-opacity":[s]}],"ring-offset-w":[{"ring-offset":[w,x]}],"ring-offset-color":[{"ring-offset":[a]}],shadow:[{shadow:["","inner","none",D,J]}],"shadow-color":[{shadow:[K]}],opacity:[{opacity:[s]}],"mix-blend":[{"mix-blend":[...V(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":V()}],filter:[{filter:["","none"]}],blur:[{blur:[c]}],brightness:[{brightness:[d]}],contrast:[{contrast:[i]}],"drop-shadow":[{"drop-shadow":["","none",D,C]}],grayscale:[{grayscale:[j]}],"hue-rotate":[{"hue-rotate":[k]}],invert:[{invert:[l]}],saturate:[{saturate:[u]}],sepia:[{sepia:[E]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[c]}],"backdrop-brightness":[{"backdrop-brightness":[d]}],"backdrop-contrast":[{"backdrop-contrast":[i]}],"backdrop-grayscale":[{"backdrop-grayscale":[j]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[k]}],"backdrop-invert":[{"backdrop-invert":[l]}],"backdrop-opacity":[{"backdrop-opacity":[s]}],"backdrop-saturate":[{"backdrop-saturate":[u]}],"backdrop-sepia":[{"backdrop-sepia":[E]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[g]}],"border-spacing-x":[{"border-spacing-x":[g]}],"border-spacing-y":[{"border-spacing-y":[g]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",C]}],duration:[{duration:Z()}],ease:[{ease:["linear","in","out","in-out",C]}],delay:[{delay:Z()}],animate:[{animate:["none","spin","ping","pulse","bounce",C]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[v]}],"scale-x":[{"scale-x":[v]}],"scale-y":[{"scale-y":[v]}],rotate:[{rotate:[A,C]}],"translate-x":[{"translate-x":[M]}],"translate-y":[{"translate-y":[M]}],"skew-x":[{"skew-x":[H]}],"skew-y":[{"skew-y":[H]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",C]}],accent:[{accent:["auto",a]}],appearance:[{appearance:["none","auto"]}],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",C]}],"caret-color":[{caret:[a]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":Q()}],"scroll-mx":[{"scroll-mx":Q()}],"scroll-my":[{"scroll-my":Q()}],"scroll-ms":[{"scroll-ms":Q()}],"scroll-me":[{"scroll-me":Q()}],"scroll-mt":[{"scroll-mt":Q()}],"scroll-mr":[{"scroll-mr":Q()}],"scroll-mb":[{"scroll-mb":Q()}],"scroll-ml":[{"scroll-ml":Q()}],"scroll-p":[{"scroll-p":Q()}],"scroll-px":[{"scroll-px":Q()}],"scroll-py":[{"scroll-py":Q()}],"scroll-ps":[{"scroll-ps":Q()}],"scroll-pe":[{"scroll-pe":Q()}],"scroll-pt":[{"scroll-pt":Q()}],"scroll-pr":[{"scroll-pr":Q()}],"scroll-pb":[{"scroll-pb":Q()}],"scroll-pl":[{"scroll-pl":Q()}],"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",C]}],fill:[{fill:[a,"none"]}],"stroke-w":[{stroke:[w,x,z]}],stroke:[{stroke:[a,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","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","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","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-s","border-w-e","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-s","border-color-e","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"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","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-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"]}}})}};
@@ -1 +0,0 @@
1
- self.__BUILD_MANIFEST=function(e,r,t,_){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:6,errorRate:1e-4,numBits:116,numHashes:14,bitArray:[1,1,e,e,0,e,e,e,0,r,r,r,r,r,e,e,r,e,r,r,r,r,r,r,r,e,e,r,e,e,e,r,e,e,r,e,e,r,e,e,r,e,e,r,e,r,e,r,r,e,r,r,e,e,e,r,e,e,r,e,r,e,r,e,r,r,r,e,e,e,r,e,e,e,r,r,e,e,r,e,e,e,r,e,r,e,e,e,r,e,r,e,r,r,e,e,e,r,r,e,e,r,e,r,r,e,e,e,e,r,e,r,r,r,r,r]},__routerFilterDynamic:{numItems:e,errorRate:1e-4,numBits:20,numHashes:14,bitArray:[r,e,r,e,e,e,e,r,r,e,r,e,r,r,r,r,r,e,e,e]},"/_error":["static/chunks/pages/_error-cb2a52f75f2162e2.js"],sortedPages:["/_app","/_error"]}}(1,0,1e-4,14),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[145],{1529:(e,t,l)=>{l.d(t,{o:()=>r});var n=l(5959),s=l(7671);function a(){let e={};for(let t of s.fB)e[t]={role:t,status:"pending",outputChunks:[],error:null,startedAt:null,completedAt:null,durationMs:null,tokensIn:null,tokensOut:null,activity:{kind:"idle"},lastActivityAt:null,retryCount:0};return e}let r=(0,n.v)(e=>({agents:a(),appendChunks:(t,l)=>e(e=>({agents:{...e.agents,[t]:{...e.agents[t],outputChunks:[...e.agents[t].outputChunks,...l]}}})),setAgentStatus:(t,l)=>e(e=>({agents:{...e.agents,[t]:{...e.agents[t],status:l}}})),setAgentStarted:t=>e(e=>({agents:{...e.agents,[t]:{...e.agents[t],status:"running",startedAt:Date.now(),outputChunks:[],error:null,activity:{kind:"idle"},lastActivityAt:null}}})),setAgentCompleted:(t,l,n,s,a)=>e(e=>({agents:{...e.agents,[t]:{...e.agents[t],status:"completed",completedAt:Date.now(),durationMs:n,tokensIn:null!=s?s:null,tokensOut:null!=a?a:null}}})),setAgentFailed:(t,l)=>e(e=>({agents:{...e.agents,[t]:{...e.agents[t],status:"failed",error:l,completedAt:Date.now()}}})),setAgentActivity:(t,l)=>e(e=>({agents:{...e.agents,[t]:{...e.agents[t],activity:l,lastActivityAt:Date.now()}}})),setAgentRetry:(t,l)=>e(e=>({agents:{...e.agents,[t]:{...e.agents[t],retryCount:l}}})),resetAll:()=>e({agents:a()})}))},3339:(e,t,l)=>{l.d(t,{Y:()=>n});let n=(0,l(5959).v)(e=>({workflowId:null,status:"pending",title:"",currentStageIndex:0,startedAt:null,completedAt:null,setWorkflow:(t,l)=>e({workflowId:t,title:l,status:"running",startedAt:Date.now(),completedAt:null,currentStageIndex:0}),setStatus:t=>{e("completed"===t||"failed"===t||"cancelled"===t?{status:t,completedAt:Date.now()}:{status:t})},setCurrentStage:t=>e({currentStageIndex:t}),setCompleted:()=>e({status:"completed",completedAt:Date.now()}),reset:()=>e({workflowId:null,status:"pending",title:"",currentStageIndex:0,startedAt:null,completedAt:null})}))},4269:(e,t,l)=>{l.d(t,{cn:()=>a});var n=l(2821),s=l(5889);function a(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];return(0,s.QP)((0,n.$)(t))}},7671:(e,t,l)=>{l.d(t,{C1:()=>a,L2:()=>n,d0:()=>r,fB:()=>s});let n=[{index:0,roles:["pm"]},{index:1,roles:["rd","ui"]},{index:2,roles:["test","sec"]}],s=n.flatMap(e=>e.roles);function a(e){let t=n.find(t=>t.roles.includes(e));if(!t)throw Error("No stage found for role: ".concat(e));return t}let r={pm:{label:"PM",color:"#A855F7",timeoutMs:18e4,tools:["Read"]},rd:{label:"RD",color:"#3B82F6",timeoutMs:6e5,tools:["Read","Edit","Bash"]},ui:{label:"UI",color:"#22C55E",timeoutMs:6e5,tools:["Read","Edit","Bash"]},test:{label:"TEST",color:"#F97316",timeoutMs:6e5,tools:["Read","Edit","Bash"]},sec:{label:"SEC",color:"#EF4444",timeoutMs:3e5,tools:["Read","Bash"]}}},9145:(e,t,l)=>{l.d(t,{R:()=>p});var n=l(5155),s=l(2115),a=l(3339),r=l(1529),o=l(7671),u=l(4269);let d=s.forwardRef((e,t)=>{let{className:l,content:a,side:r="top",delayMs:o=200,children:d,...i}=e,[c,m]=s.useState(!1),x=s.useRef(null),g=s.useCallback(()=>{x.current=setTimeout(()=>m(!0),o)},[o]),f=s.useCallback(()=>{x.current&&(clearTimeout(x.current),x.current=null),m(!1)},[]);return s.useEffect(()=>()=>{x.current&&clearTimeout(x.current)},[]),(0,n.jsxs)("div",{ref:t,className:(0,u.cn)("relative inline-flex",l),onMouseEnter:g,onMouseLeave:f,onFocus:g,onBlur:f,...i,children:[d,c&&a&&(0,n.jsx)("div",{role:"tooltip",className:(0,u.cn)("absolute z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95","pointer-events-none whitespace-nowrap",{top:"bottom-full left-1/2 -translate-x-1/2 mb-2",bottom:"top-full left-1/2 -translate-x-1/2 mt-2",left:"right-full top-1/2 -translate-y-1/2 mr-2",right:"left-full top-1/2 -translate-y-1/2 ml-2"}[r]),children:a})]})});function i(e){return null==e?"--":"".concat(Math.round(e),"%")}function c(e){let{label:t,utilization:l,resetsAt:s,tooltipLabel:a}=e,r=(0,n.jsxs)("div",{className:"text-xs",children:[(0,n.jsx)("div",{className:"font-medium mb-0.5",children:a}),(0,n.jsxs)("div",{className:"text-muted-foreground",children:["Usage: ",i(l)]}),(0,n.jsxs)("div",{className:"text-muted-foreground",children:["Resets: ",function(e){if(!e)return"N/A";try{return new Date(e).toLocaleString("zh-TW",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1})}catch(e){return"N/A"}}(s)]})]});return(0,n.jsx)(d,{content:r,side:"bottom",delayMs:150,children:(0,n.jsxs)("span",{className:"".concat(null==l?"text-muted-foreground":l>80?"text-red-400":l>=50?"text-yellow-400":"text-emerald-400"," cursor-default"),"aria-label":"".concat(a,": ").concat(i(l)),children:[t,": ",i(l)]})})}function m(){var e,t,l,a,r,o,u,i,m;let{data:x,loading:g}=function(){let[e,t]=(0,s.useState)(null),[l,n]=(0,s.useState)(!0),a=(0,s.useRef)(null),r=(0,s.useCallback)(async()=>{try{let e=await fetch("/api/usage"),l=await e.json();t(l)}catch(e){console.error("[useUsage] Failed to fetch usage:",e),t({five_hour:null,seven_day:null,seven_day_sonnet:null,error:"Network error"})}finally{n(!1)}},[]);return(0,s.useEffect)(()=>(r(),a.current=setInterval(r,6e4),()=>{a.current&&clearInterval(a.current)}),[r]),{data:e,loading:l}}();if(g)return(0,n.jsxs)("div",{className:"hidden md:flex items-center gap-2 text-xs text-muted-foreground","aria-label":"Loading usage data",children:[(0,n.jsx)("span",{className:"animate-pulse opacity-50",children:"Session: --"}),(0,n.jsx)("span",{className:"text-border opacity-30",children:"|"}),(0,n.jsx)("span",{className:"animate-pulse opacity-50",children:"Week: --"}),(0,n.jsx)("span",{className:"text-border opacity-30",children:"|"}),(0,n.jsx)("span",{className:"animate-pulse opacity-50",children:"Sonnet: --"})]});let f=null!=(u=null==x||null==(e=x.five_hour)?void 0:e.utilization)?u:null,p=null!=(i=null==x||null==(t=x.seven_day)?void 0:t.utilization)?i:null,h=null!=(m=null==x||null==(l=x.seven_day_sonnet)?void 0:l.utilization)?m:null;return(null==x?void 0:x.error)&&null==f&&null==p&&null==h?(0,n.jsx)(d,{content:(0,n.jsx)("div",{className:"text-xs text-muted-foreground",children:x.error}),side:"bottom",children:(0,n.jsx)("div",{className:"hidden md:flex items-center gap-2 text-xs text-muted-foreground","aria-label":"Usage data unavailable",children:(0,n.jsx)("span",{className:"opacity-50",children:"Usage: --"})})}):(0,n.jsxs)("div",{className:"hidden md:flex items-center gap-2 text-xs tabular-nums",role:"status","aria-label":"Claude Code usage metrics",children:[(0,n.jsx)(c,{label:"Session",utilization:f,resetsAt:null==x||null==(a=x.five_hour)?void 0:a.resets_at,tooltipLabel:"Current Session (5h window)"}),(0,n.jsx)("span",{className:"text-border select-none","aria-hidden":"true",children:"|"}),(0,n.jsx)(c,{label:"Week",utilization:p,resetsAt:null==x||null==(r=x.seven_day)?void 0:r.resets_at,tooltipLabel:"Weekly All Models (7 days)"}),(0,n.jsx)("span",{className:"text-border select-none","aria-hidden":"true",children:"|"}),(0,n.jsx)(c,{label:"Sonnet",utilization:h,resetsAt:null==x||null==(o=x.seven_day_sonnet)?void 0:o.resets_at,tooltipLabel:"Weekly Sonnet (7 days)"})]})}function x(e){let t=Math.floor(e/1e3),l=Math.floor(t/60);return l>0?"".concat(l,"m ").concat(t%60,"s"):"".concat(t,"s")}function g(e){let{startedAt:t}=e,[l,a]=(0,s.useState)(Date.now());return(0,s.useEffect)(()=>{let e=setInterval(()=>a(Date.now()),1e3);return()=>clearInterval(e)},[t]),(0,n.jsx)("span",{className:"text-xs text-muted-foreground tabular-nums",children:x(l-t)})}function f(){let{status:e,title:t,startedAt:l,completedAt:s}=(0,a.Y)(),u=(0,r.o)(e=>e.agents),d=o.fB.filter(e=>"completed"===u[e].status).length;return(0,n.jsxs)("header",{className:"h-12 border-b border-border bg-card flex items-center justify-between px-4",children:[(0,n.jsxs)("div",{className:"flex items-center gap-3 min-w-0",children:[(0,n.jsx)("h1",{className:"text-sm font-semibold tracking-tight whitespace-nowrap",children:"Claude Dashboard"}),t&&(0,n.jsx)("span",{className:"text-xs text-muted-foreground truncate max-w-[300px]",children:t}),(0,n.jsx)("div",{className:"hidden md:block h-4 w-px bg-border"}),(0,n.jsx)(m,{})]}),(0,n.jsx)("div",{className:"flex items-center gap-3",children:"pending"!==e&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"text-xs px-2 py-0.5 rounded-full font-medium ".concat({pending:"bg-gray-500/20 text-gray-400",running:"bg-emerald-500/20 text-emerald-400",paused:"bg-yellow-500/20 text-yellow-400",completed:"bg-blue-500/20 text-blue-400",failed:"bg-red-500/20 text-red-400",cancelled:"bg-gray-500/20 text-gray-400"}[e]||""),children:e.toUpperCase()}),(0,n.jsxs)("span",{className:"text-xs text-muted-foreground",children:[d,"/",o.fB.length," agents"]}),l&&("running"===e||"paused"===e?(0,n.jsx)(g,{startedAt:l}):(0,n.jsx)("span",{className:"text-xs text-muted-foreground tabular-nums",children:x((null!=s?s:Date.now())-l)}))]})})]})}function p(e){let{children:t}=e;return(0,n.jsxs)("div",{className:"h-screen flex flex-col overflow-hidden",children:[(0,n.jsx)(f,{}),(0,n.jsx)("main",{className:"flex-1 overflow-hidden flex flex-col",children:t})]})}d.displayName="Tooltip"}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[619],{2821:(e,r,o)=>{o.d(r,{$:()=>t});function t(){for(var e,r,o=0,t="",n=arguments.length;o<n;o++)(e=arguments[o])&&(r=function e(r){var o,t,n="";if("string"==typeof r||"number"==typeof r)n+=r;else if("object"==typeof r)if(Array.isArray(r)){var l=r.length;for(o=0;o<l;o++)r[o]&&(t=e(r[o]))&&(n&&(n+=" "),n+=t)}else for(t in r)r[t]&&(n&&(n+=" "),n+=t);return n}(e))&&(t&&(t+=" "),t+=r);return t}},5889:(e,r,o)=>{o.d(r,{QP:()=>Q});let t=(e,r)=>{if(0===e.length)return r.classGroupId;let o=e[0],n=r.nextPart.get(o),l=n?t(e.slice(1),n):void 0;if(l)return l;if(0===r.validators.length)return;let s=e.join("-");return r.validators.find(({validator:e})=>e(s))?.classGroupId},n=/^\[(.+)\]$/,l=(e,r,o,t)=>{e.forEach(e=>{if("string"==typeof e){(""===e?r:s(r,e)).classGroupId=o;return}if("function"==typeof e)return a(e)?void l(e(t),r,o,t):void r.validators.push({validator:e,classGroupId:o});Object.entries(e).forEach(([e,n])=>{l(n,s(r,e),o,t)})})},s=(e,r)=>{let o=e;return r.split("-").forEach(e=>{o.nextPart.has(e)||o.nextPart.set(e,{nextPart:new Map,validators:[]}),o=o.nextPart.get(e)}),o},a=e=>e.isThemeGetter,i=(e,r)=>r?e.map(([e,o])=>[e,o.map(e=>"string"==typeof e?r+e:"object"==typeof e?Object.fromEntries(Object.entries(e).map(([e,o])=>[r+e,o])):e)]):e,d=e=>{if(e.length<=1)return e;let r=[],o=[];return e.forEach(e=>{"["===e[0]?(r.push(...o.sort(),e),o=[]):o.push(e)}),r.push(...o.sort()),r},c=/\s+/;function p(){let e,r,o=0,t="";for(;o<arguments.length;)(e=arguments[o++])&&(r=u(e))&&(t&&(t+=" "),t+=r);return t}let u=e=>{let r;if("string"==typeof e)return e;let o="";for(let t=0;t<e.length;t++)e[t]&&(r=u(e[t]))&&(o&&(o+=" "),o+=r);return o},b=e=>{let r=r=>r[e]||[];return r.isThemeGetter=!0,r},f=/^\[(?:([a-z-]+):)?(.+)\]$/i,g=/^\d+\/\d+$/,m=new Set(["px","full","screen"]),h=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,y=/\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$/,x=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,v=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,w=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,k=e=>j(e)||m.has(e)||g.test(e),z=e=>W(e,"length",T),j=e=>!!e&&!Number.isNaN(Number(e)),S=e=>W(e,"number",j),C=e=>!!e&&Number.isInteger(Number(e)),G=e=>e.endsWith("%")&&j(e.slice(0,-1)),P=e=>f.test(e),E=e=>h.test(e),N=new Set(["length","size","percentage"]),I=e=>W(e,N,q),O=e=>W(e,"position",q),$=new Set(["image","url"]),M=e=>W(e,$,D),_=e=>W(e,"",A),R=()=>!0,W=(e,r,o)=>{let t=f.exec(e);return!!t&&(t[1]?"string"==typeof r?t[1]===r:r.has(t[1]):o(t[2]))},T=e=>y.test(e)&&!x.test(e),q=()=>!1,A=e=>v.test(e),D=e=>w.test(e);Symbol.toStringTag;let Q=function(e,...r){let o,s,a,u=function(d){let c;return s=(o={cache:(e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let r=0,o=new Map,t=new Map,n=(n,l)=>{o.set(n,l),++r>e&&(r=0,t=o,o=new Map)};return{get(e){let r=o.get(e);return void 0!==r?r:void 0!==(r=t.get(e))?(n(e,r),r):void 0},set(e,r){o.has(e)?o.set(e,r):n(e,r)}}})((c=r.reduce((e,r)=>r(e),e())).cacheSize),parseClassName:(e=>{let{separator:r,experimentalParseClassName:o}=e,t=1===r.length,n=r[0],l=r.length,s=e=>{let o,s=[],a=0,i=0;for(let d=0;d<e.length;d++){let c=e[d];if(0===a){if(c===n&&(t||e.slice(d,d+l)===r)){s.push(e.slice(i,d)),i=d+l;continue}if("/"===c){o=d;continue}}"["===c?a++:"]"===c&&a--}let d=0===s.length?e:e.substring(i),c=d.startsWith("!"),p=c?d.substring(1):d;return{modifiers:s,hasImportantModifier:c,baseClassName:p,maybePostfixModifierPosition:o&&o>i?o-i:void 0}};return o?e=>o({className:e,parseClassName:s}):s})(c),...(e=>{let r=(e=>{let{theme:r,prefix:o}=e,t={nextPart:new Map,validators:[]};return i(Object.entries(e.classGroups),o).forEach(([e,o])=>{l(o,t,e,r)}),t})(e),{conflictingClassGroups:o,conflictingClassGroupModifiers:s}=e;return{getClassGroupId:e=>{let o=e.split("-");return""===o[0]&&1!==o.length&&o.shift(),t(o,r)||(e=>{if(n.test(e)){let r=n.exec(e)[1],o=r?.substring(0,r.indexOf(":"));if(o)return"arbitrary.."+o}})(e)},getConflictingClassGroupIds:(e,r)=>{let t=o[e]||[];return r&&s[e]?[...t,...s[e]]:t}}})(c)}).cache.get,a=o.cache.set,u=b,b(d)};function b(e){let r=s(e);if(r)return r;let t=((e,r)=>{let{parseClassName:o,getClassGroupId:t,getConflictingClassGroupIds:n}=r,l=[],s=e.trim().split(c),a="";for(let e=s.length-1;e>=0;e-=1){let r=s[e],{modifiers:i,hasImportantModifier:c,baseClassName:p,maybePostfixModifierPosition:u}=o(r),b=!!u,f=t(b?p.substring(0,u):p);if(!f){if(!b||!(f=t(p))){a=r+(a.length>0?" "+a:a);continue}b=!1}let g=d(i).join(":"),m=c?g+"!":g,h=m+f;if(l.includes(h))continue;l.push(h);let y=n(f,b);for(let e=0;e<y.length;++e){let r=y[e];l.push(m+r)}a=r+(a.length>0?" "+a:a)}return a})(e,o);return a(e,t),t}return function(){return u(p.apply(null,arguments))}}(()=>{let e=b("colors"),r=b("spacing"),o=b("blur"),t=b("brightness"),n=b("borderColor"),l=b("borderRadius"),s=b("borderSpacing"),a=b("borderWidth"),i=b("contrast"),d=b("grayscale"),c=b("hueRotate"),p=b("invert"),u=b("gap"),f=b("gradientColorStops"),g=b("gradientColorStopPositions"),m=b("inset"),h=b("margin"),y=b("opacity"),x=b("padding"),v=b("saturate"),w=b("scale"),N=b("sepia"),$=b("skew"),W=b("space"),T=b("translate"),q=()=>["auto","contain","none"],A=()=>["auto","hidden","clip","visible","scroll"],D=()=>["auto",P,r],Q=()=>[P,r],V=()=>["",k,z],B=()=>["auto",j,P],F=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],H=()=>["solid","dashed","dotted","double","none"],J=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],K=()=>["start","end","center","between","around","evenly","stretch"],L=()=>["","0",P],U=()=>["auto","avoid","all","avoid-page","page","left","right","column"],X=()=>[j,P];return{cacheSize:500,separator:":",theme:{colors:[R],spacing:[k,z],blur:["none","",E,P],brightness:X(),borderColor:[e],borderRadius:["none","","full",E,P],borderSpacing:Q(),borderWidth:V(),contrast:X(),grayscale:L(),hueRotate:X(),invert:L(),gap:Q(),gradientColorStops:[e],gradientColorStopPositions:[G,z],inset:D(),margin:D(),opacity:X(),padding:Q(),saturate:X(),scale:X(),sepia:L(),skew:X(),space:Q(),translate:Q()},classGroups:{aspect:[{aspect:["auto","square","video",P]}],container:["container"],columns:[{columns:[E]}],"break-after":[{"break-after":U()}],"break-before":[{"break-before":U()}],"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"],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:[...F(),P]}],overflow:[{overflow:A()}],"overflow-x":[{"overflow-x":A()}],"overflow-y":[{"overflow-y":A()}],overscroll:[{overscroll:q()}],"overscroll-x":[{"overscroll-x":q()}],"overscroll-y":[{"overscroll-y":q()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[m]}],"inset-x":[{"inset-x":[m]}],"inset-y":[{"inset-y":[m]}],start:[{start:[m]}],end:[{end:[m]}],top:[{top:[m]}],right:[{right:[m]}],bottom:[{bottom:[m]}],left:[{left:[m]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",C,P]}],basis:[{basis:D()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",P]}],grow:[{grow:L()}],shrink:[{shrink:L()}],order:[{order:["first","last","none",C,P]}],"grid-cols":[{"grid-cols":[R]}],"col-start-end":[{col:["auto",{span:["full",C,P]},P]}],"col-start":[{"col-start":B()}],"col-end":[{"col-end":B()}],"grid-rows":[{"grid-rows":[R]}],"row-start-end":[{row:["auto",{span:[C,P]},P]}],"row-start":[{"row-start":B()}],"row-end":[{"row-end":B()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",P]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",P]}],gap:[{gap:[u]}],"gap-x":[{"gap-x":[u]}],"gap-y":[{"gap-y":[u]}],"justify-content":[{justify:["normal",...K()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...K(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...K(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[x]}],px:[{px:[x]}],py:[{py:[x]}],ps:[{ps:[x]}],pe:[{pe:[x]}],pt:[{pt:[x]}],pr:[{pr:[x]}],pb:[{pb:[x]}],pl:[{pl:[x]}],m:[{m:[h]}],mx:[{mx:[h]}],my:[{my:[h]}],ms:[{ms:[h]}],me:[{me:[h]}],mt:[{mt:[h]}],mr:[{mr:[h]}],mb:[{mb:[h]}],ml:[{ml:[h]}],"space-x":[{"space-x":[W]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[W]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",P,r]}],"min-w":[{"min-w":[P,r,"min","max","fit"]}],"max-w":[{"max-w":[P,r,"none","full","min","max","fit","prose",{screen:[E]},E]}],h:[{h:[P,r,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[P,r,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[P,r,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[P,r,"auto","min","max","fit"]}],"font-size":[{text:["base",E,z]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",S]}],"font-family":[{font:[R]}],"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:["tighter","tight","normal","wide","wider","widest",P]}],"line-clamp":[{"line-clamp":["none",j,S]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",k,P]}],"list-image":[{"list-image":["none",P]}],"list-style-type":[{list:["none","disc","decimal",P]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[y]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[y]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...H(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",k,z]}],"underline-offset":[{"underline-offset":["auto",k,P]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:Q()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",P]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",P]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[y]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...F(),O]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",I]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},M]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[g]}],"gradient-via-pos":[{via:[g]}],"gradient-to-pos":[{to:[g]}],"gradient-from":[{from:[f]}],"gradient-via":[{via:[f]}],"gradient-to":[{to:[f]}],rounded:[{rounded:[l]}],"rounded-s":[{"rounded-s":[l]}],"rounded-e":[{"rounded-e":[l]}],"rounded-t":[{"rounded-t":[l]}],"rounded-r":[{"rounded-r":[l]}],"rounded-b":[{"rounded-b":[l]}],"rounded-l":[{"rounded-l":[l]}],"rounded-ss":[{"rounded-ss":[l]}],"rounded-se":[{"rounded-se":[l]}],"rounded-ee":[{"rounded-ee":[l]}],"rounded-es":[{"rounded-es":[l]}],"rounded-tl":[{"rounded-tl":[l]}],"rounded-tr":[{"rounded-tr":[l]}],"rounded-br":[{"rounded-br":[l]}],"rounded-bl":[{"rounded-bl":[l]}],"border-w":[{border:[a]}],"border-w-x":[{"border-x":[a]}],"border-w-y":[{"border-y":[a]}],"border-w-s":[{"border-s":[a]}],"border-w-e":[{"border-e":[a]}],"border-w-t":[{"border-t":[a]}],"border-w-r":[{"border-r":[a]}],"border-w-b":[{"border-b":[a]}],"border-w-l":[{"border-l":[a]}],"border-opacity":[{"border-opacity":[y]}],"border-style":[{border:[...H(),"hidden"]}],"divide-x":[{"divide-x":[a]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[a]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[y]}],"divide-style":[{divide:H()}],"border-color":[{border:[n]}],"border-color-x":[{"border-x":[n]}],"border-color-y":[{"border-y":[n]}],"border-color-s":[{"border-s":[n]}],"border-color-e":[{"border-e":[n]}],"border-color-t":[{"border-t":[n]}],"border-color-r":[{"border-r":[n]}],"border-color-b":[{"border-b":[n]}],"border-color-l":[{"border-l":[n]}],"divide-color":[{divide:[n]}],"outline-style":[{outline:["",...H()]}],"outline-offset":[{"outline-offset":[k,P]}],"outline-w":[{outline:[k,z]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:V()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[y]}],"ring-offset-w":[{"ring-offset":[k,z]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",E,_]}],"shadow-color":[{shadow:[R]}],opacity:[{opacity:[y]}],"mix-blend":[{"mix-blend":[...J(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":J()}],filter:[{filter:["","none"]}],blur:[{blur:[o]}],brightness:[{brightness:[t]}],contrast:[{contrast:[i]}],"drop-shadow":[{"drop-shadow":["","none",E,P]}],grayscale:[{grayscale:[d]}],"hue-rotate":[{"hue-rotate":[c]}],invert:[{invert:[p]}],saturate:[{saturate:[v]}],sepia:[{sepia:[N]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[o]}],"backdrop-brightness":[{"backdrop-brightness":[t]}],"backdrop-contrast":[{"backdrop-contrast":[i]}],"backdrop-grayscale":[{"backdrop-grayscale":[d]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[c]}],"backdrop-invert":[{"backdrop-invert":[p]}],"backdrop-opacity":[{"backdrop-opacity":[y]}],"backdrop-saturate":[{"backdrop-saturate":[v]}],"backdrop-sepia":[{"backdrop-sepia":[N]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[s]}],"border-spacing-x":[{"border-spacing-x":[s]}],"border-spacing-y":[{"border-spacing-y":[s]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",P]}],duration:[{duration:X()}],ease:[{ease:["linear","in","out","in-out",P]}],delay:[{delay:X()}],animate:[{animate:["none","spin","ping","pulse","bounce",P]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[w]}],"scale-x":[{"scale-x":[w]}],"scale-y":[{"scale-y":[w]}],rotate:[{rotate:[C,P]}],"translate-x":[{"translate-x":[T]}],"translate-y":[{"translate-y":[T]}],"skew-x":[{"skew-x":[$]}],"skew-y":[{"skew-y":[$]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",P]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],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",P]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":Q()}],"scroll-mx":[{"scroll-mx":Q()}],"scroll-my":[{"scroll-my":Q()}],"scroll-ms":[{"scroll-ms":Q()}],"scroll-me":[{"scroll-me":Q()}],"scroll-mt":[{"scroll-mt":Q()}],"scroll-mr":[{"scroll-mr":Q()}],"scroll-mb":[{"scroll-mb":Q()}],"scroll-ml":[{"scroll-ml":Q()}],"scroll-p":[{"scroll-p":Q()}],"scroll-px":[{"scroll-px":Q()}],"scroll-py":[{"scroll-py":Q()}],"scroll-ps":[{"scroll-ps":Q()}],"scroll-pe":[{"scroll-pe":Q()}],"scroll-pt":[{"scroll-pt":Q()}],"scroll-pr":[{"scroll-pr":Q()}],"scroll-pb":[{"scroll-pb":Q()}],"scroll-pl":[{"scroll-pl":Q()}],"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",P]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[k,z,S]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","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","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","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-s","border-w-e","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-s","border-color-e","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"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","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-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"]}}})},5959:(e,r,o)=>{o.d(r,{v:()=>s});var t=o(2115);let n=e=>{let r,o=new Set,t=(e,t)=>{let n="function"==typeof e?e(r):e;if(!Object.is(n,r)){let e=r;r=(null!=t?t:"object"!=typeof n||null===n)?n:Object.assign({},r,n),o.forEach(o=>o(r,e))}},n=()=>r,l={setState:t,getState:n,getInitialState:()=>s,subscribe:e=>(o.add(e),()=>o.delete(e))},s=r=e(t,n,l);return l},l=e=>{let r=(e=>e?n(e):n)(e),o=e=>(function(e,r=e=>e){let o=t.useSyncExternalStore(e.subscribe,t.useCallback(()=>r(e.getState()),[e,r]),t.useCallback(()=>r(e.getInitialState()),[e,r]));return t.useDebugValue(o),o})(r,e);return Object.assign(o,r),o},s=e=>e?l(e):l}}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[347,616,772,994],{4441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[347,616,772,994],{4441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[347,616,772,994],{4441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[347,616,772,994],{4441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=4441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[429],{4550:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>n});var r=s(5155),l=s(9145),a=s(2115);let o={pending:"text-gray-400",running:"text-emerald-400",paused:"text-yellow-400",completed:"text-blue-400",failed:"text-red-400",cancelled:"text-gray-500"};function d(){let[e,t]=(0,a.useState)([]),[s,l]=(0,a.useState)(!0),[d,n]=(0,a.useState)(null);return((0,a.useEffect)(()=>{fetch("/api/workflows").then(e=>{if(!e.ok)throw Error("HTTP ".concat(e.status));return e.json()}).then(e=>{t(e.workflows||[]),l(!1)}).catch(e=>{n(e.message||"Failed to load workflows"),l(!1)})},[]),s)?(0,r.jsx)("div",{className:"flex items-center justify-center p-8 text-sm text-muted-foreground",children:"Loading..."}):d?(0,r.jsxs)("div",{className:"flex items-center justify-center p-8 text-sm text-red-400",children:["Failed to load workflows: ",d]}):0===e.length?(0,r.jsx)("div",{className:"flex items-center justify-center p-8 text-sm text-muted-foreground",children:"No workflows yet. Start one from the Dashboard."}):(0,r.jsx)("div",{className:"overflow-auto",children:(0,r.jsxs)("table",{className:"w-full text-sm",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{className:"border-b border-border text-muted-foreground",children:[(0,r.jsx)("th",{className:"text-left py-2 px-3 font-medium",children:"Title"}),(0,r.jsx)("th",{className:"text-left py-2 px-3 font-medium",children:"Status"}),(0,r.jsx)("th",{className:"text-left py-2 px-3 font-medium",children:"Created"}),(0,r.jsx)("th",{className:"text-left py-2 px-3 font-medium",children:"Duration"})]})}),(0,r.jsx)("tbody",{children:e.map(e=>(0,r.jsxs)("tr",{className:"border-b border-border/50 hover:bg-white/5 cursor-pointer",children:[(0,r.jsx)("td",{className:"py-2 px-3 truncate max-w-[400px]",children:e.title}),(0,r.jsx)("td",{className:"py-2 px-3 ".concat(o[e.status]||""),children:e.status}),(0,r.jsx)("td",{className:"py-2 px-3 text-muted-foreground",children:new Date(e.createdAt).toLocaleString()}),(0,r.jsx)("td",{className:"py-2 px-3 text-muted-foreground",children:e.completedAt?function(e){let t=Math.floor(e/1e3),s=Math.floor(t/60);return s>0?"".concat(s,"m ").concat(t%60,"s"):"".concat(t,"s")}(new Date(e.completedAt).getTime()-new Date(e.createdAt).getTime()):"-"})]},e.id))})]})})}function n(){return(0,r.jsx)(l.R,{children:(0,r.jsxs)("div",{className:"p-4",children:[(0,r.jsx)("h2",{className:"text-lg font-semibold mb-4",children:"Workflow History"}),(0,r.jsx)(d,{})]})})}},5952:(e,t,s)=>{Promise.resolve().then(s.bind(s,4550))}},e=>{e.O(0,[619,145,441,255,358],()=>e(e.s=5952)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[177],{3673:()=>{},8963:e=>{e.exports={style:{fontFamily:"'Inter', 'Inter Fallback'",fontStyle:"normal"},className:"__className_f367f3"}},9451:(e,s,l)=>{Promise.resolve().then(l.t.bind(l,8963,23)),Promise.resolve().then(l.t.bind(l,3673,23))}},e=>{e.O(0,[300,441,255,358],()=>e(e.s=9451)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[974],{1160:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>O});var l=r(5155),s=r(2115),n=r(9145),a=r(3339),o=r(1529),i=r(7671),c=r(4269);function d(e){let{role:t,status:r,isCurrent:s}=e,n=i.d0[t];return(0,l.jsx)("div",{className:"flex items-center gap-1",children:(0,l.jsxs)("div",{className:(0,c.cn)("relative px-3 py-1.5 rounded-md border text-xs font-medium transition-all duration-300",{pending:"border-gray-600 bg-gray-800/50 text-gray-500",running:"border-emerald-500 bg-emerald-500/10 text-emerald-400 shadow-lg shadow-emerald-500/20",completed:"border-blue-500 bg-blue-500/10 text-blue-400",failed:"border-red-500 bg-red-500/10 text-red-400",skipped:"border-gray-700 bg-gray-800/30 text-gray-600"}[r]),style:{borderColor:"running"===r||"completed"===r?n.color:void 0},children:["running"===r&&(0,l.jsxs)("span",{className:"absolute -top-0.5 -right-0.5 flex h-2 w-2",children:[(0,l.jsx)("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full opacity-75",style:{backgroundColor:n.color}}),(0,l.jsx)("span",{className:"relative inline-flex rounded-full h-2 w-2",style:{backgroundColor:n.color}})]}),n.label]})})}function u(){let{currentStageIndex:e,status:t}=(0,a.Y)(),r=(0,o.o)(e=>e.agents);return(0,l.jsxs)("div",{className:"h-10 border-b border-border bg-card/50 flex items-center px-4 gap-1",children:[i.L2.map((s,n)=>(0,l.jsxs)("div",{className:"flex items-center",children:[n>0&&(0,l.jsx)("div",{className:"w-6 h-px bg-border mx-1"}),s.roles.length>1?(0,l.jsx)("div",{className:"flex items-center border border-border/50 rounded-lg px-1 gap-0.5",children:s.roles.map((s,a)=>(0,l.jsxs)("div",{className:"flex items-center",children:[a>0&&(0,l.jsx)("div",{className:"w-px h-4 bg-border mx-0.5"}),(0,l.jsx)(d,{role:s,status:r[s].status,isCurrent:n===e&&"running"===t})]},s))}):(0,l.jsx)(d,{role:s.roles[0],status:r[s.roles[0]].status,isCurrent:n===e&&"running"===t})]},s.index)),(0,l.jsx)("div",{className:"w-6 h-px bg-border mx-1"}),(0,l.jsx)("div",{className:(0,c.cn)("px-3 py-1.5 rounded-md border text-xs font-medium","completed"===t?"border-emerald-500 bg-emerald-500/10 text-emerald-400":"border-gray-600 bg-gray-800/50 text-gray-500"),children:"Done"})]})}let m={pending:{label:"Pending",className:"bg-gray-500/20 text-gray-400"},running:{label:"Running",className:"bg-emerald-500/20 text-emerald-400 animate-pulse"},completed:{label:"Done",className:"bg-blue-500/20 text-blue-400"},failed:{label:"Failed",className:"bg-red-500/20 text-red-400"},skipped:{label:"Skipped",className:"bg-gray-500/20 text-gray-500"}};function x(e){let{status:t}=e,r=m[t];return(0,l.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded font-medium ".concat(r.className),children:r.label})}var f=r(6504),p=r(4514);function h(e){let t=(0,s.useRef)(null),r=(0,s.useRef)(!1),l=(0,s.useCallback)(()=>{let e=t.current;if(!e)return;let{scrollTop:l,scrollHeight:s,clientHeight:n}=e;r.current=s-l-n>50},[]);return(0,s.useEffect)(()=>{let e=t.current;e&&!r.current&&(e.scrollTop=e.scrollHeight)},e),{ref:t,handleScroll:l}}function g(e){let{activity:t}=e;switch(t.kind){case"thinking":return(0,l.jsxs)("span",{className:"flex items-center gap-2",children:[(0,l.jsx)("span",{className:"w-1.5 h-1.5 bg-amber-400 rounded-full animate-pulse"}),"Thinking..."]});case"tool_use":return(0,l.jsxs)("span",{className:"flex items-center gap-2",children:[(0,l.jsxs)("span",{className:"relative flex h-2 w-2",children:[(0,l.jsx)("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-blue-400 opacity-75"}),(0,l.jsx)("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-blue-500"})]}),"Using ",t.toolName,"..."]});case"text":return(0,l.jsxs)("span",{className:"flex items-center gap-2",children:[(0,l.jsx)("span",{className:"w-1.5 h-1.5 bg-emerald-400 rounded-full animate-pulse"}),"Writing response..."]});default:return(0,l.jsxs)("span",{className:"flex items-center gap-2",children:[(0,l.jsxs)("span",{className:"relative flex h-2 w-2",children:[(0,l.jsx)("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-emerald-400 opacity-75"}),(0,l.jsx)("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-emerald-500"})]}),"Waiting for output..."]})}}function b(e){let{output:t,isStreaming:r,activity:s}=e,{ref:n,handleScroll:a}=h([t]);return t?(0,l.jsxs)("div",{ref:n,onScroll:a,className:"agent-output overflow-y-auto h-full px-2 py-1",children:[(0,l.jsx)("div",{className:"prose prose-invert prose-sm max-w-none",children:(0,l.jsx)(f.oz,{remarkPlugins:[p.A],children:t})}),r&&(0,l.jsx)("span",{className:"inline-block w-1.5 h-3 bg-emerald-400 animate-pulse ml-0.5"})]}):(0,l.jsx)("div",{className:"flex flex-col items-center justify-center h-full gap-2 text-xs text-muted-foreground",children:r?(0,l.jsx)(g,{activity:null!=s?s:{kind:"idle"}}):"No output yet"})}function v(e){let{startedAt:t}=e,[r,n]=(0,s.useState)(Date.now());if((0,s.useEffect)(()=>{if(!t)return;let e=setInterval(()=>n(Date.now()),1e3);return()=>clearInterval(e)},[t]),!t)return null;let a=Math.floor((r-t)/1e3),o=a<60?"".concat(a,"s"):"".concat(Math.floor(a/60),"m ").concat(a%60,"s");return(0,l.jsx)("span",{className:"text-[10px] text-muted-foreground tabular-nums",children:o})}function y(e){let{role:t}=e,r=i.d0[t],{status:n,output:a,error:c,durationMs:d,tokensIn:u,tokensOut:m,activity:f,startedAt:p,retryCount:h}=function(e){let t=(0,o.o)(t=>t.agents[e]),r=(0,s.useMemo)(()=>t.outputChunks.join(""),[t.outputChunks]);return{status:t.status,output:r,error:t.error,startedAt:t.startedAt,completedAt:t.completedAt,durationMs:t.durationMs,tokensIn:t.tokensIn,tokensOut:t.tokensOut,activity:t.activity,lastActivityAt:t.lastActivityAt,retryCount:t.retryCount}}(t);return(0,l.jsxs)("div",{className:"flex flex-col h-full rounded-lg border bg-[#1F2229] overflow-hidden",style:{borderColor:"running"===n?r.color:"completed"===n?"".concat(r.color,"40"):void 0},children:[(0,l.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-b border-border",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("div",{className:"w-2 h-2 rounded-full",style:{backgroundColor:r.color}}),(0,l.jsx)("span",{className:"text-xs font-semibold",children:r.label}),h>0&&(0,l.jsxs)("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-amber-500/20 text-amber-400 font-medium",children:["retry ",h]})]}),(0,l.jsxs)("div",{className:"flex items-center gap-2",children:["running"===n?(0,l.jsx)(v,{startedAt:p}):null!=d&&(0,l.jsx)("span",{className:"text-[10px] text-muted-foreground",children:function(e){if(null==e)return"";let t=Math.floor(e/1e3);return t<60?"".concat(t,"s"):"".concat(Math.floor(t/60),"m ").concat(t%60,"s")}(d)}),(0,l.jsx)(x,{status:n})]})]}),(0,l.jsx)("div",{className:"flex-1 overflow-hidden min-h-0",children:c?(0,l.jsx)("div",{className:"p-2 text-xs text-red-400",children:c}):(0,l.jsx)(b,{output:a,isStreaming:"running"===n,activity:f})}),(null!=u||null!=m)&&(0,l.jsxs)("div",{className:"px-3 py-1 border-t border-border flex gap-3 text-[10px] text-muted-foreground",children:[null!=u&&(0,l.jsxs)("span",{children:["In: ",u.toLocaleString()]}),null!=m&&(0,l.jsxs)("span",{children:["Out: ",m.toLocaleString()]})]})]})}function w(){return(0,l.jsx)("div",{className:"grid grid-cols-5 gap-2 p-2 h-full min-h-0",children:i.fB.map(e=>(0,l.jsx)(y,{role:e},e))})}var j=r(6074),N=r(5959);let k=0,C=(0,N.v)(e=>({events:[],addEvent:t=>e(e=>{let r={...t,id:"evt-".concat(++k),timestamp:new Date().toISOString()},l=[...e.events,r];return l.length>5e3?{events:l.slice(-5e3)}:{events:l}}),clear:()=>e({events:[]})})),E={info:"text-gray-400",warning:"text-yellow-400",error:"text-red-400",success:"text-emerald-400"};function S(e){var t,r;let{event:s}=e,n=new Date(s.timestamp).toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"}),a=s.role?null==(t=i.d0[s.role])?void 0:t.color:void 0;return(0,l.jsxs)("div",{className:"flex items-start gap-2 px-3 py-1 text-xs hover:bg-white/5",children:[(0,l.jsx)("span",{className:"text-muted-foreground shrink-0 font-mono",children:n}),s.role&&(0,l.jsxs)("span",{className:"shrink-0 font-medium",style:{color:a},children:["[",null==(r=i.d0[s.role])?void 0:r.label,"]"]}),(0,l.jsx)("span",{className:E[s.type]||"text-gray-400",children:s.message})]})}function I(){let e=C(e=>e.events),t=(0,s.useRef)(null),{ref:r,handleScroll:n}=h([e.length]),a=(0,j.Te)({count:e.length,getScrollElement:()=>t.current,estimateSize:()=>28,overscan:20});return(0,l.jsxs)("div",{className:"flex flex-col h-full",children:[(0,l.jsxs)("div",{className:"flex items-center justify-between px-3 py-1.5 border-b border-border",children:[(0,l.jsx)("span",{className:"text-xs font-medium",children:"Event Log"}),(0,l.jsxs)("span",{className:"text-[10px] text-muted-foreground",children:[e.length," events"]})]}),(0,l.jsx)("div",{ref:e=>{t.current=e,r.current=e},onScroll:n,className:"flex-1 overflow-auto",children:(0,l.jsx)("div",{style:{height:"".concat(a.getTotalSize(),"px"),width:"100%",position:"relative"},children:a.getVirtualItems().map(t=>(0,l.jsx)("div",{style:{position:"absolute",top:0,left:0,width:"100%",height:"".concat(t.size,"px"),transform:"translateY(".concat(t.start,"px)")},children:(0,l.jsx)(S,{event:e[t.index]})},t.key))})})]})}var R=r(7909);let L=(0,N.v)(e=>({terminalId:null,connected:!1,setTerminalId:t=>e({terminalId:t}),setConnected:t=>e({connected:t}),reset:()=>e({terminalId:null,connected:!1})})),P=(0,R.default)(()=>r.e(899).then(r.bind(r,2899)).then(e=>({default:e.XTermRenderer})),{loadableGenerated:{webpack:()=>[2899]},ssr:!1});function T(e){let{send:t}=e,{terminalId:r,connected:n}=L(),a=(0,s.useRef)(null),[o,i]=(0,s.useState)(null),c=(0,s.useRef)(r);(0,s.useEffect)(()=>{c.current=r},[r]),(0,s.useEffect)(()=>{n&&!r&&t({type:"terminal:create",payload:{projectPath:""}})},[n,r,t]),(0,s.useEffect)(()=>{let e=e=>{if(!c.current||e.detail.terminalId===c.current){var t;null==(t=a.current)||t.write(e.detail.data)}};return window.addEventListener("terminal:output",e),()=>window.removeEventListener("terminal:output",e)},[]),(0,s.useEffect)(()=>{let e=e=>{i(e.detail.error)};return window.addEventListener("terminal:error",e),()=>window.removeEventListener("terminal:error",e)},[]);let d=(0,s.useCallback)(e=>{r&&t({type:"terminal:input",payload:{terminalId:r,data:e}})},[r,t]),u=(0,s.useRef)(null),m=(0,s.useCallback)((e,l)=>{r?(t({type:"terminal:resize",payload:{terminalId:r,cols:e,rows:l}}),u.current=null):u.current={cols:e,rows:l}},[r,t]);return((0,s.useEffect)(()=>{r&&u.current&&(t({type:"terminal:resize",payload:{terminalId:r,...u.current}}),u.current=null)},[r,t]),n)?o?(0,l.jsxs)("div",{className:"h-full flex flex-col",children:[(0,l.jsxs)("div",{className:"flex items-center justify-between px-3 py-1.5 border-b border-border",children:[(0,l.jsx)("span",{className:"text-xs font-medium",children:"Terminal"}),(0,l.jsx)("span",{className:"text-[10px] text-red-400",children:"Error"})]}),(0,l.jsx)("div",{className:"flex-1 flex items-center justify-center px-4",children:(0,l.jsx)("p",{className:"text-xs text-red-400 text-center",children:o})})]}):(0,l.jsxs)("div",{className:"h-full flex flex-col",children:[(0,l.jsxs)("div",{className:"flex items-center justify-between px-3 py-1.5 border-b border-border",children:[(0,l.jsx)("span",{className:"text-xs font-medium",children:"Terminal"}),(0,l.jsx)("span",{className:"text-[10px] text-muted-foreground",children:r?"Connected":"Initializing..."})]}),(0,l.jsx)("div",{className:"flex-1 min-h-0",children:(0,l.jsx)(P,{ref:a,onData:d,onResize:m})})]}):(0,l.jsx)("div",{className:"flex items-center justify-center h-full text-xs text-muted-foreground",children:"Connecting to server..."})}function M(e){let{onStart:t,onPause:r,onResume:n,onCancel:i}=e,[c,d]=(0,s.useState)(""),{status:u,workflowId:m}=(0,a.Y)(),x=(0,o.o)(e=>e.resetAll),f=C(e=>e.clear),p=(0,a.Y)(e=>e.reset),h=(0,s.useCallback)(e=>{e.preventDefault(),c.trim()&&(p(),x(),f(),t(c.trim()))},[c,t,p,x,f]),g="pending"===u||"completed"===u||"failed"===u||"cancelled"===u;return(0,l.jsx)("div",{className:"border-b border-border bg-card/50 px-4 py-3",children:(0,l.jsxs)("form",{onSubmit:h,className:"flex gap-2",children:[(0,l.jsx)("input",{type:"text",value:c,onChange:e=>d(e.target.value),placeholder:"Describe your development task...",disabled:!g,className:"flex-1 h-9 rounded-md border border-border bg-background px-3 text-sm placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:opacity-50"}),g&&(0,l.jsx)("button",{type:"submit",disabled:!c.trim(),className:"h-9 px-4 rounded-md bg-primary text-primary-foreground text-sm font-medium hover:bg-primary/90 disabled:opacity-50 disabled:cursor-not-allowed",children:"Start"}),"running"===u&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("button",{type:"button",onClick:r,className:"h-9 px-4 rounded-md bg-yellow-600 text-white text-sm font-medium hover:bg-yellow-700",children:"Pause"}),(0,l.jsx)("button",{type:"button",onClick:i,className:"h-9 px-4 rounded-md bg-red-600 text-white text-sm font-medium hover:bg-red-700",children:"Cancel"})]}),"paused"===u&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("button",{type:"button",onClick:n,className:"h-9 px-4 rounded-md bg-emerald-600 text-white text-sm font-medium hover:bg-emerald-700",children:"Resume"}),(0,l.jsx)("button",{type:"button",onClick:i,className:"h-9 px-4 rounded-md bg-red-600 text-white text-sm font-medium hover:bg-red-700",children:"Cancel"})]})]})})}class W{push(e){this.buffer.push(e),this.timer||(this.timer=setTimeout(()=>this.flush(),this.flushIntervalMs))}flush(){if(this.timer&&(clearTimeout(this.timer),this.timer=null),this.buffer.length>0){let e=this.buffer;this.buffer=[],this.onFlush(e)}}destroy(){this.timer&&(clearTimeout(this.timer),this.timer=null),this.buffer=[]}constructor(e,t=50){this.buffer=[],this.timer=null,this.onFlush=e,this.flushIntervalMs=t}}let A=[1e3,2e3,4e3,8e3,16e3];var D=r(9863);let z=(0,N.v)()((0,D.Zr)(e=>({agentPanelHeight:400,bottomPanelHeight:300,terminalVisible:!0,eventLogVisible:!0,setAgentPanelHeight:t=>e({agentPanelHeight:t}),setBottomPanelHeight:t=>e({bottomPanelHeight:t}),toggleTerminal:()=>e(e=>({terminalVisible:!e.terminalVisible})),toggleEventLog:()=>e(e=>({eventLogVisible:!e.eventLogVisible}))}),{name:"claude-dashboard-ui"}));function O(){let{send:e}=function(){let e=(0,s.useRef)(null),t=(0,s.useRef)(0),r=(0,s.useRef)(null),l=(0,s.useRef)(new Map),{setWorkflow:n,setStatus:c,setCurrentStage:d,setCompleted:u}=(0,a.Y)(),{appendChunks:m,setAgentStarted:x,setAgentCompleted:f,setAgentFailed:p,setAgentActivity:h,setAgentRetry:g}=(0,o.o)(),b=C(e=>e.addEvent),{setTerminalId:v,setConnected:y}=L(),w=(0,s.useCallback)(e=>{if(!l.current.has(e)){let t=new W(t=>{m(e,t)},50);l.current.set(e,t)}return l.current.get(e)},[m]),j=(0,s.useCallback)(e=>{switch(e.type){case"pong":break;case"workflow:created":{let{workflowId:t,title:r}=e.payload;for(let e of l.current.values())e.destroy();l.current.clear(),n(t,r),b({type:"info",message:"Workflow started: ".concat(r)});break}case"workflow:completed":for(let e of(u(),b({type:"success",message:"Workflow completed successfully"}),l.current.values()))e.flush();break;case"workflow:failed":{let{error:t}=e.payload;for(let e of(c("failed"),b({type:"error",message:"Workflow failed: ".concat(t)}),l.current.values()))e.flush();break}case"workflow:paused":c("paused"),b({type:"warning",message:"Workflow paused"});break;case"workflow:cancelled":for(let e of(c("cancelled"),b({type:"warning",message:"Workflow cancelled"}),l.current.values()))e.flush();for(let e of i.fB)"running"===o.o.getState().agents[e].status&&p(e,"Cancelled");break;case"step:started":{let{role:t}=e.payload,r=(0,i.C1)(t),l=o.o.getState().agents[t].retryCount;d(r.index),x(t),b({type:"info",role:t,message:"".concat(i.d0[t].label," agent started").concat(l>0?" (retry ".concat(l,")"):"")});break}case"step:stream":{let{role:t,chunk:r}=e.payload;w(t).push(r);break}case"step:completed":{let{role:t,output:r,durationMs:s,tokensIn:n,tokensOut:a}=e.payload,o=l.current.get(t);o&&o.flush(),f(t,r,s,n,a),b({type:"success",role:t,message:"".concat(i.d0[t].label," agent completed in ").concat((s/1e3).toFixed(1),"s")});break}case"step:failed":{let{role:t,error:r}=e.payload,s=l.current.get(t);s&&s.flush(),p(t,r),b({type:"error",role:t,message:"".concat(i.d0[t].label," agent failed: ").concat(r)});break}case"step:activity":{let{role:t,activity:r}=e.payload;h(t,r);break}case"step:retry":{let{role:t,attempt:r,maxRetries:l,reason:s}=e.payload;g(t,r),b({type:"warning",role:t,message:"".concat(i.d0[t].label," agent retrying (").concat(r,"/").concat(l,"): ").concat(s)});break}case"terminal:created":{let{terminalId:t}=e.payload;v(t);break}case"terminal:output":{let t=e.payload.terminalId,r=e.payload.data;window.dispatchEvent(new CustomEvent("terminal:output",{detail:{terminalId:t,data:r}}));break}case"terminal:error":{let{error:t}=e.payload;window.dispatchEvent(new CustomEvent("terminal:error",{detail:{error:t}}));break}case"terminal:closed":v(null)}},[n,c,d,u,x,f,p,h,g,b,v,w]),N=(0,s.useCallback)(()=>{let l="https:"===window.location.protocol?"wss:":"ws:",s=new WebSocket("".concat(l,"//").concat(window.location.host,"/ws"));e.current=s,s.onopen=()=>{console.log("[WS] Connected"),t.current=0,y(!0),b({type:"info",message:"Connected to server"})},s.onmessage=e=>{try{let t=JSON.parse(e.data);j(t)}catch(e){console.error("[WS] Parse error:",e)}},s.onclose=()=>{console.log("[WS] Disconnected"),y(!1),e.current=null;let l=A[Math.min(t.current,A.length-1)];t.current++,r.current=setTimeout(N,l)},s.onerror=e=>{console.error("[WS] Error:",e)}},[j,y,b]),k=(0,s.useCallback)(t=>{var r;(null==(r=e.current)?void 0:r.readyState)===WebSocket.OPEN&&e.current.send(JSON.stringify(t))},[]);return(0,s.useEffect)(()=>{N();let t=setInterval(()=>{k({type:"ping"})},3e4);return()=>{for(let s of(clearInterval(t),r.current&&clearTimeout(r.current),e.current&&e.current.close(),l.current.values()))s.destroy()}},[N,k]),{send:k,wsRef:e}}(),t=(0,a.Y)(e=>e.workflowId),{bottomPanelHeight:r,terminalVisible:c,eventLogVisible:d}=z(),m=(0,s.useRef)(!1),x=(0,s.useRef)(0),f=(0,s.useRef)(0),p=(0,s.useCallback)(t=>{e({type:"workflow:start",payload:{prompt:t,projectPath:""}})},[e]),h=(0,s.useCallback)(()=>{t&&e({type:"workflow:pause",payload:{workflowId:t}})},[e,t]),g=(0,s.useCallback)(()=>{t&&e({type:"workflow:resume",payload:{workflowId:t}})},[e,t]),b=(0,s.useCallback)(()=>{t&&e({type:"workflow:cancel",payload:{workflowId:t}})},[e,t]),v=(0,s.useCallback)(e=>{m.current=!0,x.current=e.clientY,f.current=r;let t=e=>{if(!m.current)return;let t=x.current-e.clientY,r=Math.max(100,Math.min(600,f.current+t));z.getState().setBottomPanelHeight(r)},l=()=>{m.current=!1,document.removeEventListener("mousemove",t),document.removeEventListener("mouseup",l)};document.addEventListener("mousemove",t),document.addEventListener("mouseup",l)},[r]);return(0,l.jsxs)(n.R,{children:[(0,l.jsx)(M,{onStart:p,onPause:h,onResume:g,onCancel:b}),(0,l.jsx)(u,{}),(0,l.jsx)("div",{className:"flex-1 min-h-0 overflow-hidden",children:(0,l.jsx)(w,{})}),(0,l.jsx)("div",{onMouseDown:v,className:"h-1.5 bg-border hover:bg-primary/50 cursor-row-resize flex-shrink-0 transition-colors"}),(0,l.jsxs)("div",{className:"flex-shrink-0 flex overflow-hidden",style:{height:r},children:[d&&(0,l.jsx)("div",{className:"".concat(c?"w-1/2 border-r border-border":"w-full"," overflow-hidden"),children:(0,l.jsx)(I,{})}),c&&(0,l.jsx)("div",{className:"".concat(d?"w-1/2":"w-full"," overflow-hidden"),children:(0,l.jsx)(T,{send:e})})]})]})}},6664:(e,t,r)=>{Promise.resolve().then(r.bind(r,1160))}},e=>{e.O(0,[619,825,145,441,255,358],()=>e(e.s=6664)),_N_E=e.O()}]);