@devflow-tools/devflow 0.18.4 → 0.18.6

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 (153) hide show
  1. package/dist/cli.js +54 -54
  2. package/dist/dashboard/404.html +1 -1
  3. package/dist/dashboard/__next.__PAGE__.txt +4 -4
  4. package/dist/dashboard/__next._full.txt +4 -4
  5. package/dist/dashboard/__next._tree.txt +2 -2
  6. package/dist/dashboard/_next/static/0Cp6D6jMZeP4gnsiOQCOP/_buildManifest.js +1 -0
  7. package/dist/dashboard/_next/static/chunks/150-819052fe1a7b4063.js +1 -0
  8. package/dist/dashboard/_next/static/chunks/237-34a3fbfba7ff0de5.js +1 -0
  9. package/dist/dashboard/_next/static/chunks/407.105cf348816ce79d.js +1 -0
  10. package/dist/dashboard/_next/static/chunks/707.559b5bb6b367b0d8.js +1 -0
  11. package/dist/dashboard/_next/static/chunks/736.a061e521ba738792.js +1 -0
  12. package/dist/dashboard/_next/static/chunks/825-8d69033cd30489b9.js +1 -0
  13. package/dist/dashboard/_next/static/chunks/914-8a8dbb0d7c5f49dd.js +1 -0
  14. package/dist/dashboard/_next/static/chunks/app/accuracy/{page-72ef9620a52e345e.js → page-19a973c3ff0d74c7.js} +1 -1
  15. package/dist/dashboard/_next/static/chunks/app/context/page-093f938b03fefec3.js +1 -0
  16. package/dist/dashboard/_next/static/chunks/app/graph/page-27ca55336f1e5908.js +1 -0
  17. package/dist/dashboard/_next/static/chunks/app/intelligence/knowledge/page-e6a21c234798623f.js +1 -0
  18. package/dist/dashboard/_next/static/chunks/app/intelligence/memory/page-e6a21c234798623f.js +1 -0
  19. package/dist/dashboard/_next/static/chunks/app/intelligence/page-e6a21c234798623f.js +1 -0
  20. package/dist/dashboard/_next/static/chunks/app/knowledge/page-ad48a6c980322292.js +1 -0
  21. package/dist/dashboard/_next/static/chunks/app/layout-5c75ea62c5543a6e.js +1 -0
  22. package/dist/dashboard/_next/static/chunks/app/memory/page-88a6b6bce5fc6c54.js +1 -0
  23. package/dist/dashboard/_next/static/chunks/app/page-0dd1d745d94c448e.js +1 -0
  24. package/dist/dashboard/_next/static/chunks/app/replay/{page-7a6293c77eafe8b4.js → page-6decdec1bad1621e.js} +1 -1
  25. package/dist/dashboard/_next/static/chunks/app/runs/[id]/page-ae676b7ed6c7f061.js +1 -0
  26. package/dist/dashboard/_next/static/chunks/app/runs/page-33854ca5a31a5f29.js +1 -0
  27. package/dist/dashboard/_next/static/chunks/app/timeline/{page-c1f1b6c081532456.js → page-1b027d09e3ee35fe.js} +1 -1
  28. package/dist/dashboard/_next/static/chunks/app/tool-metrics/page-dc73b4433dbb9a04.js +1 -0
  29. package/dist/dashboard/_next/static/chunks/app/workflows/page-da494d4bd74cf25f.js +1 -0
  30. package/dist/dashboard/_next/static/chunks/webpack-c52cf5cbd2898ec1.js +1 -0
  31. package/dist/dashboard/_next/static/css/ec6498e6b4f4227c.css +3 -0
  32. package/dist/dashboard/_not-found/__next._full.txt +3 -3
  33. package/dist/dashboard/_not-found/__next._not-found.__PAGE__.txt +3 -3
  34. package/dist/dashboard/_not-found/__next._tree.txt +2 -2
  35. package/dist/dashboard/_not-found.html +1 -1
  36. package/dist/dashboard/_not-found.txt +3 -3
  37. package/dist/dashboard/accuracy/__next._full.txt +4 -4
  38. package/dist/dashboard/accuracy/__next._tree.txt +2 -2
  39. package/dist/dashboard/accuracy/__next.accuracy.__PAGE__.txt +4 -4
  40. package/dist/dashboard/accuracy.html +1 -1
  41. package/dist/dashboard/accuracy.txt +4 -4
  42. package/dist/dashboard/benchmark/__next._full.txt +4 -4
  43. package/dist/dashboard/benchmark/__next._tree.txt +2 -2
  44. package/dist/dashboard/benchmark/__next.benchmark.__PAGE__.txt +4 -4
  45. package/dist/dashboard/benchmark.html +1 -1
  46. package/dist/dashboard/benchmark.txt +4 -4
  47. package/dist/dashboard/context/__next._full.txt +4 -4
  48. package/dist/dashboard/context/__next._tree.txt +2 -2
  49. package/dist/dashboard/context/__next.context.__PAGE__.txt +4 -4
  50. package/dist/dashboard/context.html +1 -1
  51. package/dist/dashboard/context.txt +4 -4
  52. package/dist/dashboard/doctor/__next._full.txt +4 -4
  53. package/dist/dashboard/doctor/__next._tree.txt +2 -2
  54. package/dist/dashboard/doctor/__next.doctor.__PAGE__.txt +4 -4
  55. package/dist/dashboard/doctor.html +1 -1
  56. package/dist/dashboard/doctor.txt +4 -4
  57. package/dist/dashboard/executions/__next._full.txt +3 -3
  58. package/dist/dashboard/executions/__next._tree.txt +2 -2
  59. package/dist/dashboard/executions/__next.executions.__PAGE__.txt +3 -3
  60. package/dist/dashboard/executions.html +1 -1
  61. package/dist/dashboard/executions.txt +3 -3
  62. package/dist/dashboard/graph/__next._full.txt +4 -4
  63. package/dist/dashboard/graph/__next._tree.txt +2 -2
  64. package/dist/dashboard/graph/__next.graph.__PAGE__.txt +4 -4
  65. package/dist/dashboard/graph.html +1 -1
  66. package/dist/dashboard/graph.txt +4 -4
  67. package/dist/dashboard/index.html +1 -1
  68. package/dist/dashboard/index.txt +4 -4
  69. package/dist/dashboard/intelligence/__next._full.txt +19 -0
  70. package/dist/dashboard/intelligence/__next._tree.txt +2 -0
  71. package/dist/dashboard/intelligence/__next.intelligence.__PAGE__.txt +25 -0
  72. package/dist/dashboard/intelligence/knowledge/__next._full.txt +19 -0
  73. package/dist/dashboard/intelligence/knowledge/__next._tree.txt +2 -0
  74. package/dist/dashboard/intelligence/knowledge/__next.intelligence.knowledge.__PAGE__.txt +26 -0
  75. package/dist/dashboard/intelligence/knowledge.html +1 -0
  76. package/dist/dashboard/intelligence/knowledge.txt +19 -0
  77. package/dist/dashboard/intelligence/memory/__next._full.txt +19 -0
  78. package/dist/dashboard/intelligence/memory/__next._tree.txt +2 -0
  79. package/dist/dashboard/intelligence/memory/__next.intelligence.memory.__PAGE__.txt +26 -0
  80. package/dist/dashboard/intelligence/memory.html +1 -0
  81. package/dist/dashboard/intelligence/memory.txt +19 -0
  82. package/dist/dashboard/intelligence.html +1 -0
  83. package/dist/dashboard/intelligence.txt +19 -0
  84. package/dist/dashboard/knowledge/__next._full.txt +4 -4
  85. package/dist/dashboard/knowledge/__next._tree.txt +2 -2
  86. package/dist/dashboard/knowledge/__next.knowledge.__PAGE__.txt +4 -4
  87. package/dist/dashboard/knowledge.html +1 -1
  88. package/dist/dashboard/knowledge.txt +4 -4
  89. package/dist/dashboard/locales/en.json +47 -1
  90. package/dist/dashboard/locales/zh.json +47 -1
  91. package/dist/dashboard/memory/__next._full.txt +4 -4
  92. package/dist/dashboard/memory/__next._tree.txt +2 -2
  93. package/dist/dashboard/memory/__next.memory.__PAGE__.txt +4 -4
  94. package/dist/dashboard/memory.html +1 -1
  95. package/dist/dashboard/memory.txt +4 -4
  96. package/dist/dashboard/replay/__next._full.txt +4 -4
  97. package/dist/dashboard/replay/__next._tree.txt +2 -2
  98. package/dist/dashboard/replay/__next.replay.__PAGE__.txt +4 -4
  99. package/dist/dashboard/replay.html +1 -1
  100. package/dist/dashboard/replay.txt +4 -4
  101. package/dist/dashboard/runs/_/__next._full.txt +4 -4
  102. package/dist/dashboard/runs/_/__next._tree.txt +2 -2
  103. package/dist/dashboard/runs/_/__next.runs.$d$id.__PAGE__.txt +4 -4
  104. package/dist/dashboard/runs/_.html +1 -1
  105. package/dist/dashboard/runs/_.txt +4 -4
  106. package/dist/dashboard/runs/__next._full.txt +4 -4
  107. package/dist/dashboard/runs/__next._tree.txt +2 -2
  108. package/dist/dashboard/runs/__next.runs.__PAGE__.txt +4 -4
  109. package/dist/dashboard/runs.html +1 -1
  110. package/dist/dashboard/runs.txt +4 -4
  111. package/dist/dashboard/settings/__next._full.txt +4 -4
  112. package/dist/dashboard/settings/__next._tree.txt +2 -2
  113. package/dist/dashboard/settings/__next.settings.__PAGE__.txt +4 -4
  114. package/dist/dashboard/settings.html +1 -1
  115. package/dist/dashboard/settings.txt +4 -4
  116. package/dist/dashboard/timeline/__next._full.txt +4 -4
  117. package/dist/dashboard/timeline/__next._tree.txt +2 -2
  118. package/dist/dashboard/timeline/__next.timeline.__PAGE__.txt +4 -4
  119. package/dist/dashboard/timeline.html +1 -1
  120. package/dist/dashboard/timeline.txt +4 -4
  121. package/dist/dashboard/tool-metrics/__next._full.txt +4 -4
  122. package/dist/dashboard/tool-metrics/__next._tree.txt +2 -2
  123. package/dist/dashboard/tool-metrics/__next.tool-metrics.__PAGE__.txt +4 -4
  124. package/dist/dashboard/tool-metrics.html +1 -1
  125. package/dist/dashboard/tool-metrics.txt +4 -4
  126. package/dist/dashboard/workflows/__next._full.txt +4 -4
  127. package/dist/dashboard/workflows/__next._tree.txt +2 -2
  128. package/dist/dashboard/workflows/__next.workflows.__PAGE__.txt +4 -4
  129. package/dist/dashboard/workflows.html +1 -1
  130. package/dist/dashboard/workflows.txt +4 -4
  131. package/dist/plugin/.claude-plugin/plugin.json +1 -1
  132. package/dist/plugin/dist/command-registry.json +5 -5
  133. package/dist/plugin/package.json +13 -13
  134. package/package.json +15 -15
  135. package/plugin-registry.json +29 -29
  136. package/dist/dashboard/_next/static/YHZJ8xoXKuVNrAyNxTN6a/_buildManifest.js +0 -1
  137. package/dist/dashboard/_next/static/chunks/240-8f45a6db4f75278b.js +0 -1
  138. package/dist/dashboard/_next/static/chunks/411-b1ce94a99623b281.js +0 -1
  139. package/dist/dashboard/_next/static/chunks/722-001c96b6723e043d.js +0 -1
  140. package/dist/dashboard/_next/static/chunks/914-1fc62fa12bec05cd.js +0 -1
  141. package/dist/dashboard/_next/static/chunks/app/context/page-070c5ebfffb71f1b.js +0 -1
  142. package/dist/dashboard/_next/static/chunks/app/graph/page-c3487fe2482e734e.js +0 -1
  143. package/dist/dashboard/_next/static/chunks/app/knowledge/page-e184866ed2e92ef1.js +0 -1
  144. package/dist/dashboard/_next/static/chunks/app/layout-6ec6d19a0a5b9e21.js +0 -1
  145. package/dist/dashboard/_next/static/chunks/app/memory/page-36e047153bedfce2.js +0 -1
  146. package/dist/dashboard/_next/static/chunks/app/page-55a8e887fd98ddd6.js +0 -1
  147. package/dist/dashboard/_next/static/chunks/app/runs/[id]/page-2a50cf58f99e25d1.js +0 -1
  148. package/dist/dashboard/_next/static/chunks/app/runs/page-36baf64267e36b28.js +0 -1
  149. package/dist/dashboard/_next/static/chunks/app/tool-metrics/page-1c5ddf6239cf1734.js +0 -1
  150. package/dist/dashboard/_next/static/chunks/app/workflows/page-e2ed74df546c3568.js +0 -1
  151. package/dist/dashboard/_next/static/chunks/webpack-5f4649c40b052b9f.js +0 -1
  152. package/dist/dashboard/_next/static/css/d6255f5e6b476fca.css +0 -3
  153. /package/dist/dashboard/_next/static/{YHZJ8xoXKuVNrAyNxTN6a → 0Cp6D6jMZeP4gnsiOQCOP}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[974],{638:(e,s,t)=>{"use strict";t.d(s,{C:()=>d});var r=t(19851);let a="devflow-project-root",l="devflow-active-project-root";function n(e){try{return localStorage.getItem(e)}catch{return null}}function c(e,s){try{null===s?localStorage.removeItem(e):localStorage.setItem(e,s)}catch{}}let d=(0,r.vt)(e=>({selectedNodeId:null,detailTab:"properties",searchQuery:"",projectRoot:n(a),activeProjectRoot:n(l),selectedRunId:null,selectNode:s=>e({selectedNodeId:s}),setDetailTab:s=>e({detailTab:s}),setSearchQuery:s=>e({searchQuery:s}),setProjectRoot:s=>{c(a,s),e({projectRoot:s})},setActiveProjectRoot:s=>{c(l,s),e({activeProjectRoot:s})},setSelectedRunId:s=>e({selectedRunId:s})}))},64318:(e,s,t)=>{"use strict";t.d(s,{cn:()=>l});var r=t(9917),a=t(2809);function l(...e){return(0,a.QP)((0,r.$)(e))}},77231:(e,s,t)=>{Promise.resolve().then(t.bind(t,82941))},82941:(e,s,t)=>{"use strict";t.d(s,{ProjectOverview:()=>R});var r=t(54568),a=t(7620),l=t(86914),n=t(638),c=t(89531),d=t(64318);function i({className:e,...s}){return(0,r.jsx)("div",{className:(0,d.cn)("animate-pulse rounded-md bg-muted",e),...s})}var o=t(28819),x=t(60527),m=t(93441),h=t(36645),u=t(57917),j=t(76990),p=t(92470),v=t(56242),g=t(61469),f=t(78516),N=t(8490),w=t(64567),b=t(63322),y=t(14796),P=t(45894);function k({readiness:e,hasProject:s}){let{t}=(0,w.Bd)(),a=e?.runtime==="ready"&&e.dashboard&&e.ownerVerified,l=t(a?"runtime.ready":"runtime.degraded");return(0,r.jsxs)("div",{className:`flex min-h-9 items-center justify-between gap-3 border-b px-1 py-2 text-sm ${a?"text-emerald-700 dark:text-emerald-400":"text-amber-700 dark:text-amber-400"}`,role:"status",children:[(0,r.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[a?(0,r.jsx)(b.A,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}):(0,r.jsx)(y.A,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}),(0,r.jsx)("span",{children:l})]}),!s&&(0,r.jsxs)("span",{className:"flex shrink-0 items-center gap-1 text-muted-foreground",children:[(0,r.jsx)(P.A,{className:"h-4 w-4","aria-hidden":"true"}),t("runtime.projectScopeRequired")]}),(0,r.jsx)("span",{className:"sr-only",children:a?"ready":"degraded"})]})}function R(){let{t:e}=(0,w.Bd)(),{data:s}=(0,l.nS)(),{data:t}=(0,l.SU)(),d=(0,n.C)(e=>e.projectRoot),b=(0,n.C)(e=>e.setProjectRoot),y=(0,n.C)(e=>e.activeProjectRoot),P=(0,n.C)(e=>e.setActiveProjectRoot),[R,S]=(0,a.useState)(""),[Z,A]=(0,a.useState)(""),[W,B]=(0,a.useState)(!1),E=(0,l.PS)(),I=(0,l.B7)(),T=(0,l.ll)();(0,a.useEffect)(()=>{s?.rootPath&&s.rootPath!==y&&(b(s.rootPath),P(s.rootPath))},[s,b,P,y]);let[_,F]=(0,a.useState)(!1);(0,a.useEffect)(()=>{_||s?.rootPath||!y||E.isPending||(F(!0),E.mutate(y))},[s?.rootPath,y,E.isPending,_]);let{data:M}=(0,l.YK)(),{data:Q}=(0,l.jx)(),{data:$}=(0,l.mP)(),{data:D}=(0,l.te)(10,0),{data:K,isLoading:L}=(0,l.aW)(y),O=M?.find(e=>e.rootPath===y),U=()=>{if(O?.stack&&O.stack.length>0)return O.stack;if(K?.stack){let e=[...K.stack.languages,...K.stack.frameworks,...K.stack.buildTools,...K.stack.testTools];if(e.length>0)return e}return[]},q=()=>{R.trim()&&E.mutate(R.trim(),{onSuccess:e=>{b(e.rootPath),P(e.rootPath)}})},H=()=>{Z.trim()&&E.mutate(Z.trim(),{onSuccess:e=>{b(e.rootPath),P(e.rootPath),B(!1),A("")}})};return d?(0,r.jsxs)("div",{className:"p-6 space-y-6 overflow-y-auto h-full",children:[(0,r.jsx)(k,{readiness:t,hasProject:!!d}),(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("h2",{className:"text-2xl font-bold",children:e("overview.title")}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"hidden max-w-[40vw] truncate rounded bg-secondary px-2 py-1 font-mono text-xs text-muted-foreground sm:block",children:d}),(0,r.jsx)("button",{onClick:()=>y&&T.mutate(y),disabled:!y||T.isPending,className:"icon-button",title:e("onboarding.refresh"),"aria-label":e("onboarding.refresh"),children:(0,r.jsx)(x.A,{className:`h-4 w-4 ${T.isPending?"animate-spin":""}`})}),(0,r.jsx)("button",{onClick:()=>B(!W),className:"icon-button",title:e("overview.switchProject"),"aria-label":e("overview.switchProject"),children:(0,r.jsx)(m.A,{className:"h-4 w-4"})}),(0,r.jsx)("button",{onClick:()=>{I.mutate(void 0,{onSuccess:()=>{b(null),P(null)}})},className:"icon-button",title:e("overview.disconnectProject"),"aria-label":e("overview.disconnectProject"),children:(0,r.jsx)(h.A,{className:"h-4 w-4"})})]})]}),W&&(0,r.jsxs)("div",{className:"flex items-center gap-2 p-3 rounded-lg border bg-card",children:[(0,r.jsx)("input",{type:"text",value:Z,onChange:e=>A(e.target.value),onKeyDown:e=>{"Enter"===e.key&&H(),"Escape"===e.key&&(B(!1),A(""))},placeholder:e("overview.switchProjectPlaceholder"),className:"flex-1 px-3 py-1.5 rounded-md border border-border bg-background text-sm"}),(0,r.jsx)("button",{onClick:H,disabled:E.isPending||!Z.trim(),className:"px-3 py-1.5 rounded-md bg-primary text-primary-foreground text-sm disabled:opacity-50",children:E.isPending?e("overview.connecting"):e("overview.switchProjectConfirm")})]}),(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2",children:[(0,r.jsx)(C,{icon:(0,r.jsx)(u.A,{className:"h-5 w-5"}),label:e("overview.project"),value:O?.name?O.name:K?.projectName?K.projectName:y?y.split("/").pop()??"Unknown Project":"Unknown Project"}),(0,r.jsx)(C,{icon:(0,r.jsx)(j.A,{className:"h-5 w-5"}),label:e("overview.filesIndexed"),value:Q?String(Q.totalFiles):"--"}),(0,r.jsx)(C,{icon:(0,r.jsx)(p.A,{className:"h-5 w-5"}),label:e("overview.workflows"),value:$?String($.length):"--"}),(0,r.jsx)(C,{icon:(0,r.jsx)(v.A,{className:"h-5 w-5"}),label:e("overview.agentRuns"),value:D?String(D.length):"--"})]}),U().length>0&&(0,r.jsxs)(c.Zp,{children:[(0,r.jsx)(c.aR,{children:(0,r.jsx)(c.ZB,{children:e("overview.techStack")})}),(0,r.jsx)(c.Wu,{children:(0,r.jsx)("div",{className:"flex flex-wrap gap-2",children:U().map(e=>(0,r.jsx)("span",{className:"px-2 py-1 rounded-md bg-secondary text-secondary-foreground text-xs",children:e},e))})})]}),L?(0,r.jsxs)(c.Zp,{children:[(0,r.jsx)(c.aR,{children:(0,r.jsxs)(c.ZB,{className:"flex items-center gap-2",children:[(0,r.jsx)(g.A,{className:"h-4 w-4"}),e("onboarding.title")]})}),(0,r.jsx)(c.Wu,{children:(0,r.jsx)(i,{className:"h-32 w-full"})})]}):K?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(c.Zp,{children:[(0,r.jsx)(c.aR,{children:(0,r.jsxs)(c.ZB,{className:"flex items-center gap-2",children:[(0,r.jsx)(g.A,{className:"h-4 w-4"}),e("overview.architectureLayers")]})}),(0,r.jsx)(c.Wu,{children:(0,r.jsx)("div",{className:"space-y-2",children:K.architectureLayers.map(s=>(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("span",{className:"text-sm font-medium",children:s.name}),(0,r.jsx)("span",{className:"text-xs text-muted-foreground bg-secondary px-2 py-0.5 rounded",children:e("overview.filesCount",{count:s.files})})]},s.name))})})]}),(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-4 lg:grid-cols-2",children:[(0,r.jsxs)(c.Zp,{children:[(0,r.jsx)(c.aR,{children:(0,r.jsxs)(c.ZB,{className:"flex items-center gap-2",children:[(0,r.jsx)(f.A,{className:"h-4 w-4"}),e("overview.keyModules")]})}),(0,r.jsx)(c.Wu,{children:(0,r.jsx)("div",{className:"space-y-2",children:K.keyModules.slice(0,6).map(e=>(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-sm font-mono text-primary",children:e.name}),(0,r.jsx)("div",{className:"text-xs text-muted-foreground",children:e.reason})]},e.name))})})]}),(0,r.jsxs)(c.Zp,{children:[(0,r.jsx)(c.aR,{children:(0,r.jsxs)(c.ZB,{className:"flex items-center gap-2",children:[(0,r.jsx)(j.A,{className:"h-4 w-4"}),e("overview.keyFiles")]})}),(0,r.jsx)(c.Wu,{children:(0,r.jsx)("div",{className:"space-y-2",children:K.keyFiles.slice(0,6).map(e=>(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-sm font-mono truncate",children:e.path}),(0,r.jsx)("div",{className:"text-xs text-muted-foreground",children:e.reason})]},e.path))})})]})]}),(0,r.jsxs)(c.Zp,{children:[(0,r.jsx)(c.aR,{children:(0,r.jsxs)(c.ZB,{className:"flex items-center gap-2",children:[(0,r.jsx)(N.A,{className:"h-4 w-4"}),e("overview.recommended")]})}),(0,r.jsx)(c.Wu,{children:(0,r.jsxs)("div",{className:"grid grid-cols-3 gap-4",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"text-xs font-semibold text-muted-foreground mb-2 uppercase",children:e("overview.plugins")}),(0,r.jsx)("div",{className:"flex flex-wrap gap-1",children:K.recommendedPlugins.map(e=>(0,r.jsx)("span",{className:"px-2 py-0.5 rounded bg-green-100 text-green-800 text-xs",children:e},e))})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"text-xs font-semibold text-muted-foreground mb-2 uppercase",children:e("overview.workflows")}),(0,r.jsx)("div",{className:"flex flex-wrap gap-1",children:K.recommendedWorkflows.map(e=>(0,r.jsx)("span",{className:"px-2 py-0.5 rounded bg-blue-100 text-blue-800 text-xs",children:e},e))})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"text-xs font-semibold text-muted-foreground mb-2 uppercase",children:e("overview.queries")}),(0,r.jsx)("div",{className:"space-y-1",children:K.recommendedQueries.slice(0,3).map(e=>(0,r.jsxs)("div",{className:"text-xs text-muted-foreground",children:['"',e,'"']},e))})]})]})})]})]}):(0,r.jsx)(c.Zp,{children:(0,r.jsx)(c.Wu,{className:"py-8 text-center text-muted-foreground",children:e("onboarding.empty")})}),(0,r.jsxs)(c.Zp,{children:[(0,r.jsx)(c.aR,{children:(0,r.jsx)(c.ZB,{children:e("overview.recentRuns")})}),(0,r.jsx)(c.Wu,{children:D&&D.length>0?(0,r.jsxs)("table",{className:"w-full text-sm",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{className:"text-left text-muted-foreground",children:[(0,r.jsx)("th",{children:e("overview.label")}),(0,r.jsx)("th",{children:e("overview.status")}),(0,r.jsx)("th",{children:e("overview.toolCalls")}),(0,r.jsx)("th",{children:e("overview.duration")})]})}),(0,r.jsx)("tbody",{children:D.slice(0,5).map(e=>(0,r.jsxs)("tr",{className:"border-t border-border",children:[(0,r.jsx)("td",{className:"py-1",children:e.label||e.projectRoot}),(0,r.jsx)("td",{children:(0,r.jsx)("span",{className:`px-1.5 py-0.5 rounded text-xs ${"closed"===e.status?"bg-green-100 text-green-700":"bg-yellow-100 text-yellow-700"}`,children:e.status})}),(0,r.jsxs)("td",{children:[e.totalToolCalls," (",e.mcpToolCalls," MCP)"]}),(0,r.jsx)("td",{children:e.durationMs>0?`${(e.durationMs/1e3).toFixed(1)}s`:"--"})]},e.id))})]}):(0,r.jsx)("p",{className:"text-muted-foreground text-sm",children:e("overview.noRuns")})})]})]}):(0,r.jsxs)("div",{className:"p-6 space-y-6 h-full",children:[(0,r.jsx)(k,{readiness:t,hasProject:!1}),(0,r.jsx)("div",{className:"flex items-center justify-center",children:(0,r.jsxs)(c.Zp,{className:"w-full max-w-md",children:[(0,r.jsx)(c.aR,{children:(0,r.jsxs)(c.ZB,{className:"flex items-center gap-2",children:[(0,r.jsx)(o.A,{className:"h-5 w-5"}),e("overview.connectTitle")]})}),(0,r.jsxs)(c.Wu,{className:"space-y-4",children:[(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:e("overview.connectDescription")}),(0,r.jsx)("input",{type:"text",value:R,onChange:e=>S(e.target.value),onKeyDown:e=>"Enter"===e.key&&q(),placeholder:e("overview.connectPlaceholder"),className:"w-full px-3 py-2 rounded-md border border-border bg-background text-sm"}),(0,r.jsx)("button",{onClick:q,disabled:E.isPending||!R.trim(),className:"w-full px-4 py-2 rounded-md bg-primary text-primary-foreground text-sm font-medium disabled:opacity-50",children:E.isPending?e("overview.connecting"):e("overview.connect")}),E.isError&&(0,r.jsx)("p",{className:"text-sm text-red-500",children:e("overview.connectError")})]})]})})]})}function C({icon:e,label:s,value:t}){return(0,r.jsx)(c.Zp,{children:(0,r.jsxs)(c.Wu,{className:"p-4 flex items-center gap-3",children:[(0,r.jsx)("div",{className:"text-primary",children:e}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-xs text-muted-foreground",children:s}),(0,r.jsx)("div",{className:"font-bold text-lg",children:t})]})]})})}},89531:(e,s,t)=>{"use strict";t.d(s,{Wu:()=>i,ZB:()=>d,Zp:()=>n,aR:()=>c});var r=t(54568),a=t(7620),l=t(64318);let n=a.forwardRef(({className:e,...s},t)=>(0,r.jsx)("div",{ref:t,className:(0,l.cn)("rounded-lg border border-border bg-card text-card-foreground",e),...s}));n.displayName="Card";let c=a.forwardRef(({className:e,...s},t)=>(0,r.jsx)("div",{ref:t,className:(0,l.cn)("flex flex-col space-y-1.5 p-4",e),...s}));c.displayName="CardHeader";let d=a.forwardRef(({className:e,...s},t)=>(0,r.jsx)("h3",{ref:t,className:(0,l.cn)("text-sm font-semibold leading-none tracking-tight",e),...s}));d.displayName="CardTitle";let i=a.forwardRef(({className:e,...s},t)=>(0,r.jsx)("div",{ref:t,className:(0,l.cn)("p-4 pt-0",e),...s}));i.displayName="CardContent"}},e=>{e.O(0,[820,567,993,411,914,587,968,358],()=>e(e.s=77231)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[293],{6026:(e,t,s)=>{"use strict";s.d(t,{E:()=>l});var r=s(54568);s(7620);var n=s(64318);let a=(0,s(91397).F)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-destructive-foreground",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function l({className:e,variant:t,...s}){return(0,r.jsx)("div",{className:(0,n.cn)(a({variant:t}),e),...s})}},8490:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(81007).A)("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]])},14796:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(81007).A)("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},33096:(e,t,s)=>{Promise.resolve().then(s.bind(s,59838))},56050:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(0,s(81007).A)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},59838:(e,t,s)=>{"use strict";s.d(t,{RunDetailRoute:()=>y});var r=s(54568),n=s(79748),a=s(7620),l=s(86914),d=s(64567);function o({steps:e,events:t}){let{t:s}=(0,d.Bd)();return(0,r.jsxs)("div",{className:"space-y-1",children:[(0,r.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground mb-2",children:s("events.steps")}),e.map(e=>{let n=t.filter(t=>t.stepId===e),a=n.reduce((e,t)=>e+(t.duration??0),0);return(0,r.jsxs)("div",{className:"text-xs py-1 px-2 rounded hover:bg-accent cursor-pointer",children:[(0,r.jsx)("div",{className:"font-medium truncate",children:e}),(0,r.jsxs)("div",{className:"text-muted-foreground",children:[n.length," ",s("events.eventCount")," \xb7 ",a,"ms"]})]},e)})]})}let i={llm_call:"text-blue-500",tool_use:"text-green-500",memory_read:"text-pink-500",memory_write:"text-pink-500",file_read:"text-gray-500",file_write:"text-yellow-500",bash_command:"text-purple-500",subagent:"text-orange-500",skill_invoke:"text-cyan-500",mcp_tool_call:"text-indigo-500",error:"text-red-500",user_input:"text-orange-500",step_start:"text-cyan-500",step_end:"text-cyan-500"},c={llm_call:"events.llmCall",tool_use:"events.toolUse",memory_read:"events.memoryRead",memory_write:"events.memoryWrite",file_read:"events.fileRead",file_write:"events.fileWrite",bash_command:"events.bashCommand",subagent:"events.subagent",skill_invoke:"events.skillInvoke",mcp_tool_call:"events.mcpToolCall",error:"events.error",user_input:"events.userInput",step_start:"events.stepStart",step_end:"events.stepEnd"};function u({events:e,onSelect:t,selectedId:s}){let{t:n}=(0,d.Bd)(),a=[...e].sort((e,t)=>e.timestamp-t.timestamp);if(0===a.length)return(0,r.jsx)("p",{className:"text-muted-foreground text-sm",children:n("events.empty")});let l="";return(0,r.jsx)("div",{className:"space-y-0",children:a.map(e=>{let a=e.stepId!==l;l=e.stepId;let d=i[e.kind]??"text-muted-foreground",o=c[e.kind],u=o?n(o):e.kind,m=e.data?.toolName||e.data?.filePath||e.data?.model||e.data?.command||e.data?.memoryKey||"";return(0,r.jsxs)("div",{children:[a&&(0,r.jsx)("div",{className:"text-xs font-semibold text-muted-foreground pt-2 pb-1 border-t border-border mt-1",children:e.stepId}),(0,r.jsxs)("div",{onClick:()=>t(e),className:`flex items-center gap-2 py-1.5 px-2 rounded cursor-pointer text-xs hover:bg-accent ${s===e.id?"bg-accent":""} ${e.metadata?.blocked?"border-l-2 border-red-500 bg-red-50 dark:bg-red-950":""}`,children:[e.metadata?.blocked&&(0,r.jsx)("span",{className:"text-red-500 font-bold text-[10px] uppercase tracking-wider",children:"BLOCKED"}),(0,r.jsx)("span",{className:`w-16 ${d} font-medium`,children:u}),(0,r.jsx)("span",{className:"text-muted-foreground truncate flex-1",children:m}),e.duration?(0,r.jsxs)("span",{className:"text-muted-foreground",children:[e.duration,"ms"]}):null]})]},e.id)})})}var m=s(89531);function x({event:e}){let[t,s]=(0,a.useState)(!1),n=e.input?JSON.stringify(e.input,null,2):"null",l=e.output?JSON.stringify(e.output,null,2):"null";return(0,r.jsxs)("div",{className:"space-y-4 p-4",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"font-semibold text-lg",children:e.mcpToolName||e.toolName}),(0,r.jsxs)("p",{className:"text-xs text-muted-foreground",children:[e.toolType," \xb7 ",e.kind," \xb7 ",e.duration,"ms",e.blocked&&(0,r.jsx)("span",{className:"text-red-500 ml-2 font-bold",children:"BLOCKED"})]})]}),(0,r.jsx)("button",{onClick:()=>s(!t),className:"text-xs border rounded px-2 py-1 hover:bg-accent",children:t?"Formatted":"Raw JSON"})]}),e.error&&(0,r.jsx)("div",{className:"p-3 bg-red-50 dark:bg-red-950 border border-red-300 rounded text-sm text-red-700",children:e.error}),(0,r.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:[(0,r.jsxs)(m.Zp,{className:"p-3",children:[(0,r.jsx)("h4",{className:"text-xs font-medium text-muted-foreground mb-2 uppercase",children:"Input"}),(0,r.jsx)("pre",{className:`text-xs overflow-auto max-h-96 ${t?"":"max-h-40 overflow-hidden"}`,children:(0,r.jsx)("code",{children:t?n:n.slice(0,500)+(n.length>500?"\n... (truncated)":"")})})]}),(0,r.jsxs)(m.Zp,{className:"p-3",children:[(0,r.jsx)("h4",{className:"text-xs font-medium text-muted-foreground mb-2 uppercase",children:"Output"}),null==e.output?(0,r.jsx)("p",{className:"text-xs text-yellow-600",children:"No output captured for this event"}):(0,r.jsx)("pre",{className:`text-xs overflow-auto max-h-96 ${t?"":"max-h-40 overflow-hidden"}`,children:(0,r.jsx)("code",{children:t?l:l.slice(0,500)+(l.length>500?"\n... (truncated)":"")})})]})]})]})}function p({event:e}){let{t}=(0,d.Bd)();if(!e)return(0,r.jsx)("p",{className:"text-muted-foreground text-sm",children:t("events.selectEvent")});if("tool_use"===e.kind&&(e.toolName||e.mcpToolName))return(0,r.jsx)(x,{event:e});let s=e.data??{};return(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsx)("h3",{className:"text-sm font-semibold",children:t("events.eventDetail")}),(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-xs text-muted-foreground",children:t("events.kind")}),(0,r.jsx)("div",{className:"text-sm font-medium",children:e.kind})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-xs text-muted-foreground",children:t("events.step")}),(0,r.jsx)("div",{className:"text-sm font-mono",children:e.stepId})]}),null!=e.duration&&(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-xs text-muted-foreground",children:t("events.duration")}),(0,r.jsxs)("div",{className:"text-sm",children:[e.duration,"ms"]})]}),null!=s.inputTokens&&(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-xs text-muted-foreground",children:t("events.tokens")}),(0,r.jsx)("div",{className:"text-sm",children:t("events.tokensInOut",{input:s.inputTokens,output:s.outputTokens})})]}),null!=s.prompt&&(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-xs text-muted-foreground",children:t("events.prompt")}),(0,r.jsx)("pre",{className:"text-xs bg-secondary p-2 rounded mt-1 max-h-40 overflow-y-auto whitespace-pre-wrap",children:s.prompt})]}),null!=s.response&&(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-xs text-muted-foreground",children:t("events.response")}),(0,r.jsx)("pre",{className:"text-xs bg-secondary p-2 rounded mt-1 max-h-40 overflow-y-auto whitespace-pre-wrap",children:s.response})]}),null!=s.stdout&&(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-xs text-muted-foreground",children:t("events.stdout")}),(0,r.jsx)("pre",{className:"text-xs bg-secondary p-2 rounded mt-1 max-h-40 overflow-y-auto whitespace-pre-wrap",children:s.stdout})]}),null!=s.stderr&&(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-xs text-muted-foreground",children:t("events.stderr")}),(0,r.jsx)("pre",{className:"text-xs bg-red-50 dark:bg-red-950 p-2 rounded mt-1 max-h-40 overflow-y-auto whitespace-pre-wrap",children:s.stderr})]}),null!=s.errorMessage&&(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-xs text-muted-foreground",children:t("events.error")}),(0,r.jsx)("pre",{className:"text-xs bg-red-50 dark:bg-red-950 p-2 rounded mt-1 max-h-40 overflow-y-auto whitespace-pre-wrap",children:s.errorMessage})]}),e.metadata?.truncated!=null&&(0,r.jsx)("div",{className:"text-xs text-yellow-500",children:t("events.truncated")})]})]})}var h=s(6026),f=s(8490),v=s(14796);let g={context_insufficient:[{action:"Supplement task context",priority:"high"},{action:"Inspect graph roots and related files",priority:"medium"}],knowledge_missing:[{action:"Sync the required knowledge source",priority:"high"},{action:"Add or broaden documentation scopes",priority:"medium"}],workflow_design_issue:[{action:"Correct the failing step contract",priority:"high"},{action:"Review workflow dependencies",priority:"medium"}],tool_error:[{action:"Inspect the tool error and connectivity",priority:"high"},{action:"Retry with a validated input",priority:"medium"}],agent_override:[{action:"Review the rejected change and user feedback",priority:"high"}],unknown:[{action:"Inspect the failed step evidence",priority:"high"}]};function j({failureCategory:e,failureReason:t,suggestedActions:s}){let{t:n}=(0,d.Bd)();return e?(0,r.jsxs)(m.Zp,{children:[(0,r.jsxs)(m.aR,{children:[(0,r.jsx)("div",{className:"flex items-center gap-2",children:(0,r.jsx)(h.E,{className:{context_insufficient:"bg-yellow-500",knowledge_missing:"bg-orange-500",workflow_design_issue:"bg-purple-500",tool_error:"bg-red-500",agent_override:"bg-gray-500",unknown:"bg-gray-500"}[e]??"bg-gray-500",children:n(`runDetail.category.${e}`)})}),(0,r.jsx)(m.ZB,{className:"text-sm",children:n("runDetail.failureReason")})]}),(0,r.jsxs)(m.Wu,{className:"space-y-4",children:[(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:t}),s&&s.length>0&&(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 text-sm font-medium",children:[(0,r.jsx)(f.A,{className:"h-4 w-4"}),n("runDetail.suggestedActions")]}),(0,r.jsx)("ul",{className:"space-y-1",children:s.map((e,t)=>(0,r.jsxs)("li",{className:"flex items-center gap-2 text-sm",children:[(0,r.jsx)(v.A,{className:"h-3 w-3 text-muted-foreground"}),(0,r.jsx)("span",{children:e.action}),(0,r.jsx)(h.E,{variant:"outline",className:"text-xs",children:e.priority})]},t))})]})]})]}):null}var N=s(56050);function b({runId:e,onBack:t}){let s=(0,n.useRouter)(),{t:i}=(0,d.Bd)(),{data:c}=(0,l.Dr)(e),{data:m}=(0,l.wV)(e),[x,h]=(0,a.useState)(null),f=(c??[]).map(e=>{let t=e.eventId??e.id??"",s=(e.kind??e.toolType)||"tool_use",r={toolName:e.toolName??e.mcpToolName,...e.input??{}};return{id:t,stepId:e.executionId??t,kind:s,timestamp:e.timestamp??0,duration:e.duration,data:r,metadata:{isMcpTool:e.isMcpTool,mcpEnforced:e.mcpEnforced,mcpFallback:e.mcpFallback,blocked:e.blocked,blockReason:e.blockReason}}}),v=[...new Set(f.map(e=>e.stepId))],y=m??{},w=[...c??[]].reverse().find(e=>"string"==typeof e.failureCategory),k=w?.failureCategory;return(0,r.jsxs)("div",{className:"flex flex-col h-full",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 p-4 border-b border-border",children:[(0,r.jsx)("button",{onClick:t??(()=>s.push("/runs")),className:"p-1 rounded hover:bg-accent",title:i("runs.title"),children:(0,r.jsx)(N.A,{className:"h-4 w-4"})}),(0,r.jsx)("h2",{className:"text-lg font-bold",children:i("runDetail.title","Session Detail")}),(0,r.jsx)("span",{className:"text-xs text-muted-foreground font-mono",children:e}),null!=y.totalToolCalls&&(0,r.jsxs)("span",{className:"text-xs text-muted-foreground",children:[String(y.totalToolCalls)," tools \xb7 ",String(y.mcpToolCalls)," MCP"]})]}),(0,r.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,r.jsx)("div",{className:"w-48 border-r border-border overflow-y-auto p-3",children:(0,r.jsx)(o,{steps:v,events:f})}),(0,r.jsx)("div",{className:"flex-1 overflow-y-auto p-3",children:(0,r.jsx)(u,{events:f,onSelect:e=>h(e),selectedId:x?.id})}),(0,r.jsxs)("div",{className:"w-80 border-l border-border overflow-y-auto p-3",children:[k&&(0,r.jsx)("div",{className:"mb-3",children:(0,r.jsx)(j,{failureCategory:k,failureReason:String(w?.error??"Workflow step failed"),suggestedActions:g[k]??g.unknown})}),(0,r.jsx)(p,{event:x})]})]})]})}function y(){let e=(0,n.usePathname)().split("/").filter(Boolean).at(-1)??"";return(0,r.jsx)(b,{runId:decodeURIComponent(e)})}},64318:(e,t,s)=>{"use strict";s.d(t,{cn:()=>a});var r=s(9917),n=s(2809);function a(...e){return(0,n.QP)((0,r.$)(e))}},79748:(e,t,s)=>{"use strict";var r=s(79796);s.o(r,"usePathname")&&s.d(t,{usePathname:function(){return r.usePathname}}),s.o(r,"useRouter")&&s.d(t,{useRouter:function(){return r.useRouter}}),s.o(r,"useSearchParams")&&s.d(t,{useSearchParams:function(){return r.useSearchParams}})},81007:(e,t,s)=>{"use strict";s.d(t,{A:()=>d});var r=s(7620);let n=(...e)=>e.filter((e,t,s)=>!!e&&s.indexOf(e)===t).join(" ");var a={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let l=(0,r.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:s=2,absoluteStrokeWidth:l,className:d="",children:o,iconNode:i,...c},u)=>(0,r.createElement)("svg",{ref:u,...a,width:t,height:t,stroke:e,strokeWidth:l?24*Number(s)/Number(t):s,className:n("lucide",d),...c},[...i.map(([e,t])=>(0,r.createElement)(e,t)),...Array.isArray(o)?o:[o]])),d=(e,t)=>{let s=(0,r.forwardRef)(({className:s,...a},d)=>(0,r.createElement)(l,{ref:d,iconNode:t,className:n(`lucide-${e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,s),...a}));return s.displayName=`${e}`,s}},89531:(e,t,s)=>{"use strict";s.d(t,{Wu:()=>i,ZB:()=>o,Zp:()=>l,aR:()=>d});var r=s(54568),n=s(7620),a=s(64318);let l=n.forwardRef(({className:e,...t},s)=>(0,r.jsx)("div",{ref:s,className:(0,a.cn)("rounded-lg border border-border bg-card text-card-foreground",e),...t}));l.displayName="Card";let d=n.forwardRef(({className:e,...t},s)=>(0,r.jsx)("div",{ref:s,className:(0,a.cn)("flex flex-col space-y-1.5 p-4",e),...t}));d.displayName="CardHeader";let o=n.forwardRef(({className:e,...t},s)=>(0,r.jsx)("h3",{ref:s,className:(0,a.cn)("text-sm font-semibold leading-none tracking-tight",e),...t}));o.displayName="CardTitle";let i=n.forwardRef(({className:e,...t},s)=>(0,r.jsx)("div",{ref:s,className:(0,a.cn)("p-4 pt-0",e),...t}));i.displayName="CardContent"},91397:(e,t,s)=>{"use strict";s.d(t,{F:()=>l});var r=s(9917);let n=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,a=r.$,l=(e,t)=>s=>{var r;if((null==t?void 0:t.variants)==null)return a(e,null==s?void 0:s.class,null==s?void 0:s.className);let{variants:l,defaultVariants:d}=t,o=Object.keys(l).map(e=>{let t=null==s?void 0:s[e],r=null==d?void 0:d[e];if(null===t)return null;let a=n(t)||n(r);return l[e][a]}),i=s&&Object.entries(s).reduce((e,t)=>{let[s,r]=t;return void 0===r||(e[s]=r),e},{});return a(e,o,null==t||null==(r=t.compoundVariants)?void 0:r.reduce((e,t)=>{let{class:s,className:r,...n}=t;return Object.entries(n).every(e=>{let[t,s]=e;return Array.isArray(s)?s.includes({...d,...i}[t]):({...d,...i})[t]===s})?[...e,s,r]:e},[]),null==s?void 0:s.class,null==s?void 0:s.className)}}},e=>{e.O(0,[820,567,993,914,587,968,358],()=>e(e.s=33096)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[529],{6407:(t,e,s)=>{"use strict";s.d(e,{$:()=>o,s:()=>a});var i=s(46676),r=s(19773),n=s(85153),a=class extends r.k{#t;#e;#s;#i;constructor(t){super(),this.#t=t.client,this.mutationId=t.mutationId,this.#s=t.mutationCache,this.#e=[],this.state=t.state||o(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){this.#e.includes(t)||(this.#e.push(t),this.clearGcTimeout(),this.#s.notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){this.#e=this.#e.filter(e=>e!==t),this.scheduleGc(),this.#s.notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){this.#e.length||("pending"===this.state.status?this.scheduleGc():this.#s.remove(this))}continue(){return this.#i?.continue()??this.execute(this.state.variables)}async execute(t){let e=()=>{this.#r({type:"continue"})},s={client:this.#t,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#i=(0,n.II)({fn:()=>this.options.mutationFn?this.options.mutationFn(t,s):Promise.reject(Error("No mutationFn found")),onFail:(t,e)=>{this.#r({type:"failed",failureCount:t,error:e})},onPause:()=>{this.#r({type:"pause"})},onContinue:e,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#s.canRun(this)});let i="pending"===this.state.status,r=!this.#i.canStart();try{if(i)e();else{this.#r({type:"pending",variables:t,isPaused:r}),this.#s.config.onMutate&&await this.#s.config.onMutate(t,this,s);let e=await this.options.onMutate?.(t,s);e!==this.state.context&&this.#r({type:"pending",context:e,variables:t,isPaused:r})}let n=await this.#i.start();return await this.#s.config.onSuccess?.(n,t,this.state.context,this,s),await this.options.onSuccess?.(n,t,this.state.context,s),await this.#s.config.onSettled?.(n,null,this.state.variables,this.state.context,this,s),await this.options.onSettled?.(n,null,t,this.state.context,s),this.#r({type:"success",data:n}),n}catch(e){try{await this.#s.config.onError?.(e,t,this.state.context,this,s)}catch(t){Promise.reject(t)}try{await this.options.onError?.(e,t,this.state.context,s)}catch(t){Promise.reject(t)}try{await this.#s.config.onSettled?.(void 0,e,this.state.variables,this.state.context,this,s)}catch(t){Promise.reject(t)}try{await this.options.onSettled?.(void 0,e,t,this.state.context,s)}catch(t){Promise.reject(t)}throw this.#r({type:"error",error:e}),e}finally{this.#s.runNext(this)}}#r(t){this.state=(e=>{switch(t.type){case"failed":return{...e,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...e,isPaused:!0};case"continue":return{...e,isPaused:!1};case"pending":return{...e,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...e,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...e,data:void 0,error:t.error,failureCount:e.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}})(this.state),i.jG.batch(()=>{this.#e.forEach(e=>{e.onMutationUpdate(t)}),this.#s.notify({mutation:this,type:"updated",action:t})})}};function o(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}},19053:(t,e,s)=>{"use strict";s.d(e,{n:()=>c});var i=s(7620),r=s(6407),n=s(46676),a=s(18517),o=s(91961),u=class extends a.Q{#t;#n=void 0;#a;#o;constructor(t,e){super(),this.#t=t,this.setOptions(e),this.bindMethods(),this.#u()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(t){let e=this.options;this.options=this.#t.defaultMutationOptions(t),(0,o.f8)(this.options,e)||this.#t.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#a,observer:this}),e?.mutationKey&&this.options.mutationKey&&(0,o.EN)(e.mutationKey)!==(0,o.EN)(this.options.mutationKey)?this.reset():this.#a?.state.status==="pending"&&this.#a.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#a?.removeObserver(this)}onMutationUpdate(t){this.#u(),this.#h(t)}getCurrentResult(){return this.#n}reset(){this.#a?.removeObserver(this),this.#a=void 0,this.#u(),this.#h()}mutate(t,e){return this.#o=e,this.#a?.removeObserver(this),this.#a=this.#t.getMutationCache().build(this.#t,this.options),this.#a.addObserver(this),this.#a.execute(t)}#u(){let t=this.#a?.state??(0,r.$)();this.#n={...t,isPending:"pending"===t.status,isSuccess:"success"===t.status,isError:"error"===t.status,isIdle:"idle"===t.status,mutate:this.mutate,reset:this.reset}}#h(t){n.jG.batch(()=>{if(this.#o&&this.hasListeners()){let e=this.#n.variables,s=this.#n.context,i={client:this.#t,meta:this.options.meta,mutationKey:this.options.mutationKey};if(t?.type==="success"){try{this.#o.onSuccess?.(t.data,e,s,i)}catch(t){Promise.reject(t)}try{this.#o.onSettled?.(t.data,null,e,s,i)}catch(t){Promise.reject(t)}}else if(t?.type==="error"){try{this.#o.onError?.(t.error,e,s,i)}catch(t){Promise.reject(t)}try{this.#o.onSettled?.(void 0,t.error,e,s,i)}catch(t){Promise.reject(t)}}}this.listeners.forEach(t=>{t(this.#n)})})}},h=s(68728);function c(t,e){let s=(0,h.jE)(e),[r]=i.useState(()=>new u(s,t));i.useEffect(()=>{r.setOptions(t)},[r,t]);let a=i.useSyncExternalStore(i.useCallback(t=>r.subscribe(n.jG.batchCalls(t)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),c=i.useCallback((t,e)=>{r.mutate(t,e).catch(o.lQ)},[r]);if(a.error&&(0,o.GU)(r.options.throwOnError,[a.error]))throw a.error;return{...a,mutate:c,mutateAsync:a.mutate}}},64719:(t,e,s)=>{Promise.resolve().then(s.bind(s,66611))},66611:(t,e,s)=>{"use strict";s.d(e,{RunsView:()=>o});var i=s(54568),r=s(86914),n=s(64567);let a={active:"text-yellow-500",closed:"text-green-500"};function o(){let{t}=(0,n.Bd)(),{data:e}=(0,r.te)(50,0),s=e??[];return(0,i.jsxs)("div",{className:"p-6 space-y-4",children:[(0,i.jsx)("h2",{className:"text-2xl font-bold",children:t("runs.title")}),0===s.length?(0,i.jsx)("p",{className:"text-muted-foreground",children:t("runs.empty")}):(0,i.jsx)("div",{className:"space-y-2",children:s.map(t=>(0,i.jsxs)("a",{href:`/runs/${encodeURIComponent(t.id)}`,className:"flex items-center gap-4 p-3 rounded bg-secondary hover:bg-accent cursor-pointer",children:[(0,i.jsx)("span",{className:"font-mono text-xs truncate max-w-[200px]",children:t.label||t.id}),(0,i.jsx)("span",{className:`px-1.5 py-0.5 rounded text-xs ${a[t.status]??"text-muted-foreground"}`,children:t.status}),(0,i.jsxs)("span",{className:"text-xs text-muted-foreground",children:[t.totalToolCalls," tools (",t.mcpToolCalls," MCP)"]}),(0,i.jsx)("span",{className:"text-xs text-muted-foreground",children:t.durationMs>0?`${(t.durationMs/1e3).toFixed(1)}s`:"--"}),(0,i.jsx)("span",{className:"ml-auto text-xs text-muted-foreground",children:new Date(t.startedAt).toLocaleString()})]},t.id))})]})}}},t=>{t.O(0,[820,567,914,587,968,358],()=>t(t.s=64719)),_N_E=t.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[785],{6026:(e,t,s)=>{"use strict";s.d(t,{E:()=>n});var r=s(54568);s(7620);var a=s(64318);let l=(0,s(91397).F)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-destructive-foreground",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function n({className:e,variant:t,...s}){return(0,r.jsx)("div",{className:(0,a.cn)(l({variant:t}),e),...s})}},14474:(e,t,s)=>{Promise.resolve().then(s.bind(s,18723))},18723:(e,t,s)=>{"use strict";s.d(t,{ToolMetricsView:()=>i});var r=s(54568),a=s(7620),l=s(89531),n=s(6026),o=s(86914),d=s(32715);function i(){(0,d.v)("tool-metrics",[["tool-metrics-summary"]]);let[e,t]=(0,a.useState)(7),{data:s=[],isLoading:i}=(0,o.he)(e);return i?(0,r.jsx)("div",{className:"p-4 text-muted-foreground",children:"Loading tool metrics..."}):(0,r.jsxs)("div",{className:"p-6 space-y-6",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("h2",{className:"text-xl font-semibold",children:"Tool Metrics"}),(0,r.jsxs)("select",{value:e,onChange:e=>t(Number(e.target.value)),className:"border rounded px-2 py-1 text-sm bg-background",children:[(0,r.jsx)("option",{value:1,children:"Last 24h"}),(0,r.jsx)("option",{value:7,children:"Last 7 days"}),(0,r.jsx)("option",{value:30,children:"Last 30 days"})]})]}),0===s.length?(0,r.jsx)("p",{className:"text-muted-foreground text-sm",children:"No tool metrics yet. Start a Claude Code session to collect data."}):(0,r.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:s.map(e=>(0,r.jsxs)(l.Zp,{className:"p-4 space-y-3",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("h3",{className:"font-mono text-sm font-medium",children:e.toolName}),(0,r.jsxs)(n.E,{variant:e.callCount>10?"default":"secondary",children:[e.callCount," calls"]})]}),(0,r.jsxs)("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:"Success"}),(0,r.jsxs)("p",{className:"font-semibold",style:{color:e.successRate>=90?"#22c55e":e.successRate>=70?"#f59e0b":"#ef4444"},children:[e.successRate,"%"]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:"Empty"}),(0,r.jsxs)("p",{className:"font-semibold",style:{color:e.emptyRate<=10?"#22c55e":e.emptyRate<=30?"#f59e0b":"#ef4444"},children:[e.emptyRate,"%"]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:"Avg Results"}),(0,r.jsx)("p",{className:"font-semibold",children:e.avgResults})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:"Avg Latency"}),(0,r.jsxs)("p",{className:"font-semibold",children:[e.avgLatency,"ms"]})]})]})]},e.toolName))})]})}},32715:(e,t,s)=>{"use strict";s.d(t,{h:()=>o,v:()=>d});var r=s(7620),a=s(68728),l=s(98368);async function n(e,t,s){let r=await fetch(`${(0,l.Ez)()}/api${e}`,{headers:(0,l.PK)(),credentials:"same-origin",signal:t});if(!r.ok||!r.body)throw Error(`SSE ${r.status}`);let a=r.body.getReader(),n=new TextDecoder,o="";for(;!t.aborted;){let{value:e,done:t}=await a.read();if(t)break;let r=(o+=n.decode(e,{stream:!0})).split("\n\n");for(let e of(o=r.pop()??"",r)){let t="message",r=[];for(let s of e.split("\n"))s.startsWith("event:")&&(t=s.slice(6).trim()),s.startsWith("data:")&&r.push(s.slice(5).trim());if(0!==r.length)try{s({type:t,data:JSON.parse(r.join("\n"))})}catch{}}}}function o(e){let[t,s]=(0,r.useState)([]);return(0,r.useEffect)(()=>{if(!e)return;let t=new AbortController;return n(`/workflows/runs/${encodeURIComponent(e)}/stream`,t.signal,e=>s(t=>[...t,e])).catch(()=>void 0),()=>t.abort()},[e]),{events:t,clear:(0,r.useCallback)(()=>s([]),[])}}function d(e,t){let s=(0,a.jE)(),l=JSON.stringify(t);(0,r.useEffect)(()=>{let t=new AbortController,r=JSON.parse(l);return n(`/live/stream?channels=${encodeURIComponent(e)}`,t.signal,t=>{if("refresh"===t.type&&t.data.channel===e)for(let e of r)s.invalidateQueries({queryKey:e})}).catch(()=>void 0),()=>t.abort()},[e,s,l])}},64318:(e,t,s)=>{"use strict";s.d(t,{cn:()=>l});var r=s(9917),a=s(2809);function l(...e){return(0,a.QP)((0,r.$)(e))}},89531:(e,t,s)=>{"use strict";s.d(t,{Wu:()=>i,ZB:()=>d,Zp:()=>n,aR:()=>o});var r=s(54568),a=s(7620),l=s(64318);let n=a.forwardRef(({className:e,...t},s)=>(0,r.jsx)("div",{ref:s,className:(0,l.cn)("rounded-lg border border-border bg-card text-card-foreground",e),...t}));n.displayName="Card";let o=a.forwardRef(({className:e,...t},s)=>(0,r.jsx)("div",{ref:s,className:(0,l.cn)("flex flex-col space-y-1.5 p-4",e),...t}));o.displayName="CardHeader";let d=a.forwardRef(({className:e,...t},s)=>(0,r.jsx)("h3",{ref:s,className:(0,l.cn)("text-sm font-semibold leading-none tracking-tight",e),...t}));d.displayName="CardTitle";let i=a.forwardRef(({className:e,...t},s)=>(0,r.jsx)("div",{ref:s,className:(0,l.cn)("p-4 pt-0",e),...t}));i.displayName="CardContent"},91397:(e,t,s)=>{"use strict";s.d(t,{F:()=>n});var r=s(9917);let a=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,l=r.$,n=(e,t)=>s=>{var r;if((null==t?void 0:t.variants)==null)return l(e,null==s?void 0:s.class,null==s?void 0:s.className);let{variants:n,defaultVariants:o}=t,d=Object.keys(n).map(e=>{let t=null==s?void 0:s[e],r=null==o?void 0:o[e];if(null===t)return null;let l=a(t)||a(r);return n[e][l]}),i=s&&Object.entries(s).reduce((e,t)=>{let[s,r]=t;return void 0===r||(e[s]=r),e},{});return l(e,d,null==t||null==(r=t.compoundVariants)?void 0:r.reduce((e,t)=>{let{class:s,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,s]=e;return Array.isArray(s)?s.includes({...o,...i}[t]):({...o,...i})[t]===s})?[...e,s,r]:e},[]),null==s?void 0:s.class,null==s?void 0:s.className)}}},e=>{e.O(0,[820,993,914,587,968,358],()=>e(e.s=14474)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[143],{28465:(e,t,r)=>{"use strict";r.d(t,{$:()=>o});var s=r(54568),n=r(7620),a=r(64318);let l=(0,r(91397).F)("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),o=n.forwardRef(({className:e,variant:t,size:r,...n},o)=>(0,s.jsx)("button",{className:(0,a.cn)(l({variant:t,size:r,className:e})),ref:o,...n}));o.displayName="Button"},32715:(e,t,r)=>{"use strict";r.d(t,{h:()=>o,v:()=>i});var s=r(7620),n=r(68728),a=r(98368);async function l(e,t,r){let s=await fetch(`${(0,a.Ez)()}/api${e}`,{headers:(0,a.PK)(),credentials:"same-origin",signal:t});if(!s.ok||!s.body)throw Error(`SSE ${s.status}`);let n=s.body.getReader(),l=new TextDecoder,o="";for(;!t.aborted;){let{value:e,done:t}=await n.read();if(t)break;let s=(o+=l.decode(e,{stream:!0})).split("\n\n");for(let e of(o=s.pop()??"",s)){let t="message",s=[];for(let r of e.split("\n"))r.startsWith("event:")&&(t=r.slice(6).trim()),r.startsWith("data:")&&s.push(r.slice(5).trim());if(0!==s.length)try{r({type:t,data:JSON.parse(s.join("\n"))})}catch{}}}}function o(e){let[t,r]=(0,s.useState)([]);return(0,s.useEffect)(()=>{if(!e)return;let t=new AbortController;return l(`/workflows/runs/${encodeURIComponent(e)}/stream`,t.signal,e=>r(t=>[...t,e])).catch(()=>void 0),()=>t.abort()},[e]),{events:t,clear:(0,s.useCallback)(()=>r([]),[])}}function i(e,t){let r=(0,n.jE)(),a=JSON.stringify(t);(0,s.useEffect)(()=>{let t=new AbortController,s=JSON.parse(a);return l(`/live/stream?channels=${encodeURIComponent(e)}`,t.signal,t=>{if("refresh"===t.type&&t.data.channel===e)for(let e of s)r.invalidateQueries({queryKey:e})}).catch(()=>void 0),()=>t.abort()},[e,r,a])}},39173:(e,t,r)=>{"use strict";r.d(t,{WorkflowRuns:()=>c});var s=r(54568),n=r(7620),a=r(86914),l=r(32715),o=r(28465),i=r(89531),d=r(64567);function c(){let{t:e}=(0,d.Bd)(),{data:t}=(0,a.mP)(),{data:r}=(0,a.b_)(),c=(0,a.UL)(),[u,f]=(0,n.useState)(null),{events:h,clear:m}=(0,l.h)(u);return(0,s.jsxs)("div",{className:"p-6 space-y-4 h-full overflow-y-auto",children:[(0,s.jsx)("h2",{className:"text-2xl font-bold",children:e("workflows.title")}),(0,s.jsxs)(i.Zp,{children:[(0,s.jsx)(i.aR,{children:(0,s.jsx)(i.ZB,{children:e("workflows.available")})}),(0,s.jsx)(i.Wu,{children:(0,s.jsx)("div",{className:"flex flex-wrap gap-2",children:(t??[]).map(t=>(0,s.jsxs)(o.$,{variant:"outline",size:"sm",onClick:()=>c.mutate({type:t.name},{onSuccess:e=>f(e.runId)}),children:[t.name," (",t.stepCount," ",e("workflows.steps"),")"]},t.name))})})]}),u&&h.length>0&&(0,s.jsxs)(i.Zp,{children:[(0,s.jsx)(i.aR,{children:(0,s.jsxs)(i.ZB,{children:[e("workflows.stream"),": ",u]})}),(0,s.jsxs)(i.Wu,{children:[(0,s.jsx)("div",{className:"space-y-1 max-h-60 overflow-y-auto font-mono text-xs",children:h.map((e,t)=>(0,s.jsxs)("div",{className:"text-muted-foreground",children:["[",e.type,"] ",JSON.stringify(e.data)]},t))}),(0,s.jsx)(o.$,{variant:"ghost",size:"sm",onClick:()=>{f(null),m()},className:"mt-2",children:e("workflows.closeStream")})]})]}),(0,s.jsxs)(i.Zp,{children:[(0,s.jsx)(i.aR,{children:(0,s.jsx)(i.ZB,{children:e("workflows.runHistory")})}),(0,s.jsx)(i.Wu,{children:r&&r.length>0?(0,s.jsxs)("table",{className:"w-full text-sm",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{className:"text-left text-muted-foreground",children:[(0,s.jsx)("th",{children:e("workflows.runId")}),(0,s.jsx)("th",{children:e("overview.status")}),(0,s.jsx)("th",{children:e("workflows.started")})]})}),(0,s.jsx)("tbody",{children:r.slice(0,10).map(e=>(0,s.jsxs)("tr",{className:"border-t border-border",children:[(0,s.jsx)("td",{className:"py-1 font-mono text-xs",children:e.runId}),(0,s.jsx)("td",{children:e.status}),(0,s.jsx)("td",{children:new Date(e.startedAt).toLocaleTimeString()})]},e.runId))})]}):(0,s.jsx)("p",{className:"text-muted-foreground text-sm",children:e("workflows.noRuns")})})]})]})}},64318:(e,t,r)=>{"use strict";r.d(t,{cn:()=>a});var s=r(9917),n=r(2809);function a(...e){return(0,n.QP)((0,s.$)(e))}},73145:(e,t,r)=>{Promise.resolve().then(r.bind(r,39173))},89531:(e,t,r)=>{"use strict";r.d(t,{Wu:()=>d,ZB:()=>i,Zp:()=>l,aR:()=>o});var s=r(54568),n=r(7620),a=r(64318);let l=n.forwardRef(({className:e,...t},r)=>(0,s.jsx)("div",{ref:r,className:(0,a.cn)("rounded-lg border border-border bg-card text-card-foreground",e),...t}));l.displayName="Card";let o=n.forwardRef(({className:e,...t},r)=>(0,s.jsx)("div",{ref:r,className:(0,a.cn)("flex flex-col space-y-1.5 p-4",e),...t}));o.displayName="CardHeader";let i=n.forwardRef(({className:e,...t},r)=>(0,s.jsx)("h3",{ref:r,className:(0,a.cn)("text-sm font-semibold leading-none tracking-tight",e),...t}));i.displayName="CardTitle";let d=n.forwardRef(({className:e,...t},r)=>(0,s.jsx)("div",{ref:r,className:(0,a.cn)("p-4 pt-0",e),...t}));d.displayName="CardContent"},91397:(e,t,r)=>{"use strict";r.d(t,{F:()=>l});var s=r(9917);let n=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,a=s.$,l=(e,t)=>r=>{var s;if((null==t?void 0:t.variants)==null)return a(e,null==r?void 0:r.class,null==r?void 0:r.className);let{variants:l,defaultVariants:o}=t,i=Object.keys(l).map(e=>{let t=null==r?void 0:r[e],s=null==o?void 0:o[e];if(null===t)return null;let a=n(t)||n(s);return l[e][a]}),d=r&&Object.entries(r).reduce((e,t)=>{let[r,s]=t;return void 0===s||(e[r]=s),e},{});return a(e,i,null==t||null==(s=t.compoundVariants)?void 0:s.reduce((e,t)=>{let{class:r,className:s,...n}=t;return Object.entries(n).every(e=>{let[t,r]=e;return Array.isArray(r)?r.includes({...o,...d}[t]):({...o,...d})[t]===r})?[...e,r,s]:e},[]),null==r?void 0:r.class,null==r?void 0:r.className)}}},e=>{e.O(0,[820,567,993,914,587,968,358],()=>e(e.s=73145)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (()=>{"use strict";var e,t,r,o,n,i,a,u,l={},d={};function c(e){var t=d[e];if(void 0!==t)return t.exports;var r=d[e]={id:e,loaded:!1,exports:{}},o=!0;try{l[e](r,r.exports,c),o=!1}finally{o&&delete d[e]}return r.loaded=!0,r.exports}c.m=l,e=[],c.O=(t,r,o,n)=>{if(r){n=n||0;for(var i=e.length;i>0&&e[i-1][2]>n;i--)e[i]=e[i-1];e[i]=[r,o,n];return}for(var a=1/0,i=0;i<e.length;i++){for(var[r,o,n]=e[i],u=!0,l=0;l<r.length;l++)(!1&n||a>=n)&&Object.keys(c.O).every(e=>c.O[e](r[l]))?r.splice(l--,1):(u=!1,n<a&&(a=n));if(u){e.splice(i--,1);var d=o();void 0!==d&&(t=d)}}return t},c.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return c.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,c.t=function(e,o){if(1&o&&(e=this(e)),8&o||"object"==typeof e&&e&&(4&o&&e.__esModule||16&o&&"function"==typeof e.then))return e;var n=Object.create(null);c.r(n);var i={};t=t||[null,r({}),r([]),r(r)];for(var a=2&o&&e;"object"==typeof a&&!~t.indexOf(a);a=r(a))Object.getOwnPropertyNames(a).forEach(t=>i[t]=()=>e[t]);return i.default=()=>e,c.d(n,i),n},c.d=(e,t)=>{for(var r in t)c.o(t,r)&&!c.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},c.f={},c.e=e=>Promise.all(Object.keys(c.f).reduce((t,r)=>(c.f[r](e,t),t),[])),c.u=e=>{},c.miniCssF=e=>{},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o={},c.l=(e,t,r,n)=>{if(o[e])return void o[e].push(t);if(void 0!==r)for(var i,a,u=document.getElementsByTagName("script"),l=0;l<u.length;l++){var d=u[l];if(d.getAttribute("src")==e||d.getAttribute("data-webpack")=="_N_E:"+r){i=d;break}}i||(a=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,c.nc&&i.setAttribute("nonce",c.nc),i.setAttribute("data-webpack","_N_E:"+r),i.src=c.tu(e)),o[e]=[t];var s=(t,r)=>{i.onerror=i.onload=null,clearTimeout(f);var n=o[e];if(delete o[e],i.parentNode&&i.parentNode.removeChild(i),n&&n.forEach(e=>e(r)),t)return t(r)},f=setTimeout(s.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=s.bind(null,i.onerror),i.onload=s.bind(null,i.onload),a&&document.head.appendChild(i)},c.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),c.tt=()=>(void 0===n&&(n={createScriptURL:e=>e},"u">typeof trustedTypes&&trustedTypes.createPolicy&&(n=trustedTypes.createPolicy("nextjs#bundler",n))),n),c.tu=e=>c.tt().createScriptURL(e),c.p="/_next/",i={68:0,306:0,159:0},c.f.j=(e,t)=>{var r=c.o(i,e)?i[e]:void 0;if(0!==r)if(r)t.push(r[2]);else if(/^(159|306|68)$/.test(e))i[e]=0;else{var o=new Promise((t,o)=>r=i[e]=[t,o]);t.push(r[2]=o);var n=c.p+c.u(e),a=Error();c.l(n,t=>{if(c.o(i,e)&&(0!==(r=i[e])&&(i[e]=void 0),r)){var o=t&&("load"===t.type?"missing":t.type),n=t&&t.target&&t.target.src;a.message="Loading chunk "+e+" failed.\n("+o+": "+n+")",a.name="ChunkLoadError",a.type=o,a.request=n,r[1](a)}},"chunk-"+e,e)}},c.O.j=e=>0===i[e],a=(e,t)=>{var r,o,[n,a,u]=t,l=0;if(n.some(e=>0!==i[e])){for(r in a)c.o(a,r)&&(c.m[r]=a[r]);if(u)var d=u(c)}for(e&&e(t);l<n.length;l++)o=n[l],c.o(i,o)&&i[o]&&i[o][0](),i[o]=0;return c.O(d)},(u=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(a.bind(null,0)),u.push=a.bind(null,u.push.bind(u)),c.nc=void 0})();
@@ -1,3 +0,0 @@
1
- *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
2
- ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
3
- */*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:240 10% 3.9%;--foreground:0 0% 98%;--card:240 10% 3.9%;--card-foreground:0 0% 98%;--primary:217 91% 60%;--primary-foreground:0 0% 98%;--secondary:240 3.7% 15.9%;--secondary-foreground:0 0% 98%;--muted:240 3.7% 15.9%;--muted-foreground:240 5% 64.9%;--accent:240 3.7% 15.9%;--accent-foreground:0 0% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--border:240 3.7% 15.9%;--input:240 3.7% 15.9%;--ring:217 91% 60%;--radius:0.5rem}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}.icon-button{display:inline-flex;height:2rem;width:2rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:calc(var(--radius) - 2px);color:hsl(var(--muted-foreground));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.icon-button:hover{background-color:hsl(var(--secondary));color:hsl(var(--foreground))}.icon-button:disabled{pointer-events:none;opacity:.4}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.top-0{top:0}.top-1{top:.25rem}.top-1\/2,.top-\[50\%\]{top:50%}.z-50{z-index:50}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-6{margin-top:1.5rem}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-dvh{height:100dvh}.h-full{height:100%}.max-h-32{max-height:8rem}.max-h-40{max-height:10rem}.max-h-60{max-height:15rem}.max-h-96{max-height:24rem}.max-h-\[420px\]{max-height:420px}.min-h-0{min-height:0}.min-h-14{min-height:3.5rem}.min-h-36{min-height:9rem}.min-h-9{min-height:2.25rem}.min-h-\[100px\]{min-height:100px}.w-0\.5{width:.125rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[340px\]{width:340px}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[680px\]{min-width:680px}.min-w-\[760px\]{min-width:760px}.min-w-max{min-width:-moz-max-content;min-width:max-content}.max-w-44{max-width:11rem}.max-w-56{max-width:14rem}.max-w-6xl{max-width:72rem}.max-w-\[140px\]{max-width:140px}.max-w-\[200px\]{max-width:200px}.max-w-\[40vw\]{max-width:40vw}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.translate-x-\[-50\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x:-50%}.translate-y-\[-50\%\]{--tw-translate-y:-50%}.transform,.translate-y-\[-50\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.resize-y{resize:vertical}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[140px_minmax\(0\2c 1fr\)\]{grid-template-columns:140px minmax(0,1fr)}.grid-cols-\[24px_minmax\(120px\2c 220px\)_1fr\]{grid-template-columns:24px minmax(120px,220px) 1fr}.grid-cols-\[auto_minmax\(0\2c 1fr\)_auto\]{grid-template-columns:auto minmax(0,1fr) auto}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-border>:not([hidden])~:not([hidden]){border-color:hsl(var(--border))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-2{border-width:2px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-amber-500\/40{border-color:rgb(245 158 11/.4)}.border-border{border-color:hsl(var(--border))}.border-green-300{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-yellow-300{--tw-border-opacity:1;border-color:rgb(253 224 71/var(--tw-border-opacity,1))}.bg-accent{background-color:hsl(var(--accent))}.bg-amber-500\/10{background-color:rgb(245 158 11/.1)}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:rgb(0 0 0/.8)}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-500\/20{background-color:rgb(59 130 246/.2)}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-foreground{background-color:hsl(var(--foreground))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-500\/20{background-color:rgb(34 197 94/.2)}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/30{background-color:hsl(var(--muted)/.3)}.bg-muted\/50{background-color:hsl(var(--muted)/.5)}.bg-muted\/95{background-color:hsl(var(--muted)/.95)}.bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary)/.1)}.bg-primary\/20{background-color:hsl(var(--primary)/.2)}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-500\/20{background-color:rgb(239 68 68/.2)}.bg-secondary{background-color:hsl(var(--secondary))}.bg-secondary\/30{background-color:hsl(var(--secondary)/.3)}.bg-secondary\/50{background-color:hsl(var(--secondary)/.5)}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-yellow-500\/20{background-color:rgb(234 179 8/.2)}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pl-2{padding-left:.5rem}.pl-8{padding-left:2rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-cyan-500{--tw-text-opacity:1;color:rgb(6 182 212/var(--tw-text-opacity,1))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-foreground{color:hsl(var(--foreground))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/50{color:hsl(var(--muted-foreground)/.5)}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-pink-500{--tw-text-opacity:1;color:rgb(236 72 153/var(--tw-text-opacity,1))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-yellow-700{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity,1))}.underline-offset-4{text-underline-offset:4px}.accent-emerald-600{accent-color:#059669}.shadow-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0/0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline{outline-style:solid}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.duration-200{animation-duration:.2s}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.last\:border-0:last-child{border-width:0}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-muted\/30:hover{background-color:hsl(var(--muted)/.3)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}@media (min-width:640px){.sm\:block{display:block}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}}@media (min-width:768px){.md\:mb-2{margin-bottom:.5rem}.md\:mt-auto{margin-top:auto}.md\:inline{display:inline}.md\:h-auto{height:auto}.md\:w-\[220px\]{width:220px}.md\:min-w-0{min-width:0}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:flex-col{flex-direction:column}.md\:overflow-y-auto{overflow-y:auto}.md\:border-b-0{border-bottom-width:0}.md\:border-l-0{border-left-width:0}.md\:border-r{border-right-width:1px}.md\:border-t{border-top-width:1px}.md\:p-3{padding:.75rem}.md\:p-6{padding:1.5rem}.md\:px-3{padding-left:.75rem;padding-right:.75rem}.md\:pl-0{padding-left:0}.md\:pt-3{padding-top:.75rem}}@media (min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1280px){.xl\:block{display:block}}@media (prefers-color-scheme:dark){.dark\:bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity,1))}.dark\:bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity,1))}.dark\:bg-yellow-950{--tw-bg-opacity:1;background-color:rgb(66 32 6/var(--tw-bg-opacity,1))}.dark\:text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.dark\:text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.dark\:text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.dark\:text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}}