claude-dashboard 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +34 -11
- package/.next/app-path-routes-manifest.json +3 -0
- package/.next/build-manifest.json +2 -2
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +7 -7
- package/.next/required-server-files.json +3 -3
- package/.next/routes-manifest.json +8 -0
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/api/health/route.js.nft.json +1 -1
- package/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/usage/route.js.nft.json +1 -1
- package/.next/server/app/api/usage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/workflows/[id]/route.js +1 -13
- package/.next/server/app/api/workflows/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/workflows/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/workflows/cleanup/route.js +1 -0
- package/.next/server/app/api/workflows/cleanup/route.js.nft.json +1 -0
- package/.next/server/app/api/workflows/cleanup/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/workflows/metrics/route.js +1 -0
- package/.next/server/app/api/workflows/metrics/route.js.nft.json +1 -0
- package/.next/server/app/api/workflows/metrics/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/workflows/route.js +1 -13
- package/.next/server/app/api/workflows/route.js.nft.json +1 -1
- package/.next/server/app/api/workflows/route_client-reference-manifest.js +1 -1
- package/.next/server/app/history/[id]/page.js +5 -0
- package/.next/server/app/history/[id]/page.js.nft.json +1 -0
- package/.next/server/app/history/[id]/page_client-reference-manifest.js +1 -0
- package/.next/server/app/history/page.js +1 -1
- package/.next/server/app/history/page.js.nft.json +1 -1
- package/.next/server/app/history/page_client-reference-manifest.js +1 -1
- package/.next/server/app/history.html +1 -1
- package/.next/server/app/history.rsc +3 -3
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +3 -3
- package/.next/server/app/page.js +2 -2
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +3 -0
- package/.next/server/chunks/127.js +1 -0
- package/.next/server/chunks/53.js +63 -0
- package/.next/server/chunks/715.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/pages/_app.js.nft.json +1 -1
- package/.next/server/pages/_document.js.nft.json +1 -1
- package/.next/static/chunks/145-9e2ecf05b713d5fc.js +1 -0
- package/.next/static/chunks/681-169bac155e276f59.js +1 -0
- package/.next/static/chunks/app/api/health/route-903cc84446e35d73.js +1 -0
- package/.next/static/chunks/app/api/usage/route-903cc84446e35d73.js +1 -0
- package/.next/static/chunks/app/api/workflows/[id]/route-903cc84446e35d73.js +1 -0
- package/.next/static/chunks/app/api/workflows/cleanup/route-903cc84446e35d73.js +1 -0
- package/.next/static/chunks/app/api/workflows/metrics/route-903cc84446e35d73.js +1 -0
- package/.next/static/chunks/app/api/workflows/route-903cc84446e35d73.js +1 -0
- package/.next/static/chunks/app/history/[id]/page-eab330fda697344c.js +1 -0
- package/.next/static/chunks/app/history/page-916bd74f5162c281.js +1 -0
- package/.next/static/chunks/app/{page-dd53f4f52bd5e72d.js → page-9162fef9472d3bf1.js} +1 -1
- package/.next/static/css/{75908259b9e378e4.css → 7e9040826c49fe12.css} +1 -1
- package/.next/static/pBzMDpP4jDxDXXwu3L-os/_buildManifest.js +1 -0
- package/dist/src/lib/db/connection.js +22 -5
- package/dist/src/lib/db/queries.js +102 -6
- package/package.json +3 -6
- package/.next/server/chunks/849.js +0 -1
- package/.next/static/4fPtjKSL5y0HNNsoLs4PS/_buildManifest.js +0 -1
- package/.next/static/chunks/145-3c417ba81c4b45f5.js +0 -1
- package/.next/static/chunks/619-7492253b494230b1.js +0 -1
- package/.next/static/chunks/app/api/health/route-36fb14cc6a282394.js +0 -1
- package/.next/static/chunks/app/api/usage/route-36fb14cc6a282394.js +0 -1
- package/.next/static/chunks/app/api/workflows/[id]/route-36fb14cc6a282394.js +0 -1
- package/.next/static/chunks/app/api/workflows/route-36fb14cc6a282394.js +0 -1
- package/.next/static/chunks/app/history/page-eef8489b051348cb.js +0 -1
- /package/.next/static/{4fPtjKSL5y0HNNsoLs4PS → pBzMDpP4jDxDXXwu3L-os}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[145],{1529:(e,t,n)=>{n.d(t,{o:()=>r});var l=n(5959),s=n(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,l.v)(e=>({agents:a(),appendChunks:(t,n)=>e(e=>({agents:{...e.agents,[t]:{...e.agents[t],outputChunks:[...e.agents[t].outputChunks,...n]}}})),setAgentStatus:(t,n)=>e(e=>({agents:{...e.agents,[t]:{...e.agents[t],status:n}}})),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,n,l,s,a)=>e(e=>({agents:{...e.agents,[t]:{...e.agents[t],status:"completed",completedAt:Date.now(),durationMs:l,tokensIn:null!=s?s:null,tokensOut:null!=a?a:null}}})),setAgentFailed:(t,n)=>e(e=>({agents:{...e.agents,[t]:{...e.agents[t],status:"failed",error:n,completedAt:Date.now()}}})),setAgentActivity:(t,n)=>e(e=>({agents:{...e.agents,[t]:{...e.agents[t],activity:n,lastActivityAt:Date.now()}}})),setAgentRetry:(t,n)=>e(e=>({agents:{...e.agents,[t]:{...e.agents[t],retryCount:n}}})),resetAll:()=>e({agents:a()})}))},3339:(e,t,n)=>{n.d(t,{Y:()=>l});let l=(0,n(5959).v)(e=>({workflowId:null,status:"pending",title:"",currentStageIndex:0,startedAt:null,completedAt:null,setWorkflow:(t,n)=>e({workflowId:t,title:n,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,n)=>{n.d(t,{cn:()=>a});var l=n(2821),s=n(5889);function a(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,s.QP)((0,l.$)(t))}},7671:(e,t,n)=>{n.d(t,{C1:()=>a,L2:()=>l,d0:()=>r,fB:()=>s});let l=[{index:0,roles:["pm"]},{index:1,roles:["rd","ui"]},{index:2,roles:["test","sec"]}],s=l.flatMap(e=>e.roles);function a(e){let t=l.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,n)=>{n.d(t,{R:()=>v});var l=n(5155),s=n(2115),a=n(2619),r=n.n(a),o=n(3339),u=n(1529),d=n(7671),i=n(4269);let c=s.forwardRef((e,t)=>{let{className:n,content:a,side:r="top",delayMs:o=200,children:u,...d}=e,[c,x]=s.useState(!1),m=s.useRef(null),f=s.useCallback(()=>{m.current=setTimeout(()=>x(!0),o)},[o]),g=s.useCallback(()=>{m.current&&(clearTimeout(m.current),m.current=null),x(!1)},[]);return s.useEffect(()=>()=>{m.current&&clearTimeout(m.current)},[]),(0,l.jsxs)("div",{ref:t,className:(0,i.cn)("relative inline-flex",n),onMouseEnter:f,onMouseLeave:g,onFocus:f,onBlur:g,...d,children:[u,c&&a&&(0,l.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"}[r]),children:a})]})});function x(e){return null==e?"--":"".concat(Math.round(e),"%")}function m(e){let{label:t,utilization:n,resetsAt:s,tooltipLabel:a}=e,r=(0,l.jsxs)("div",{className:"text-xs",children:[(0,l.jsx)("div",{className:"font-medium mb-0.5",children:a}),(0,l.jsxs)("div",{className:"text-muted-foreground",children:["Usage: ",x(n)]}),(0,l.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,l.jsx)(c,{content:r,side:"bottom",delayMs:150,children:(0,l.jsxs)("span",{className:"".concat(null==n?"text-muted-foreground":n>80?"text-red-400":n>=50?"text-yellow-400":"text-emerald-400"," cursor-default"),"aria-label":"".concat(a,": ").concat(x(n)),children:[t,": ",x(n)]})})}function f(){var e,t,n,a,r,o,u,d,i;let{data:x,loading:f}=function(){let[e,t]=(0,s.useState)(null),[n,l]=(0,s.useState)(!0),a=(0,s.useRef)(null),r=(0,s.useCallback)(async()=>{try{let e=await fetch("/api/usage"),n=await e.json();t(n)}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{l(!1)}},[]);return(0,s.useEffect)(()=>(r(),a.current=setInterval(r,6e4),()=>{a.current&&clearInterval(a.current)}),[r]),{data:e,loading:n}}();if(f)return(0,l.jsxs)("div",{className:"hidden md:flex items-center gap-2 text-xs text-muted-foreground","aria-label":"Loading usage data",children:[(0,l.jsx)("span",{className:"animate-pulse opacity-50",children:"Session: --"}),(0,l.jsx)("span",{className:"text-border opacity-30",children:"|"}),(0,l.jsx)("span",{className:"animate-pulse opacity-50",children:"Week: --"}),(0,l.jsx)("span",{className:"text-border opacity-30",children:"|"}),(0,l.jsx)("span",{className:"animate-pulse opacity-50",children:"Sonnet: --"})]});let g=null!=(u=null==x||null==(e=x.five_hour)?void 0:e.utilization)?u:null,h=null!=(d=null==x||null==(t=x.seven_day)?void 0:t.utilization)?d:null,p=null!=(i=null==x||null==(n=x.seven_day_sonnet)?void 0:n.utilization)?i:null;return(null==x?void 0:x.error)&&null==g&&null==h&&null==p?(0,l.jsx)(c,{content:(0,l.jsx)("div",{className:"text-xs text-muted-foreground",children:x.error}),side:"bottom",children:(0,l.jsx)("div",{className:"hidden md:flex items-center gap-2 text-xs text-muted-foreground","aria-label":"Usage data unavailable",children:(0,l.jsx)("span",{className:"opacity-50",children:"Usage: --"})})}):(0,l.jsxs)("div",{className:"hidden md:flex items-center gap-2 text-xs tabular-nums",role:"status","aria-label":"Claude Code usage metrics",children:[(0,l.jsx)(m,{label:"Session",utilization:g,resetsAt:null==x||null==(a=x.five_hour)?void 0:a.resets_at,tooltipLabel:"Current Session (5h window)"}),(0,l.jsx)("span",{className:"text-border select-none","aria-hidden":"true",children:"|"}),(0,l.jsx)(m,{label:"Week",utilization:h,resetsAt:null==x||null==(r=x.seven_day)?void 0:r.resets_at,tooltipLabel:"Weekly All Models (7 days)"}),(0,l.jsx)("span",{className:"text-border select-none","aria-hidden":"true",children:"|"}),(0,l.jsx)(m,{label:"Sonnet",utilization:p,resetsAt:null==x||null==(o=x.seven_day_sonnet)?void 0:o.resets_at,tooltipLabel:"Weekly Sonnet (7 days)"})]})}function g(e){let t=Math.floor(e/1e3),n=Math.floor(t/60);return n>0?"".concat(n,"m ").concat(t%60,"s"):"".concat(t,"s")}function h(e){let{startedAt:t}=e,[n,a]=(0,s.useState)(Date.now());return(0,s.useEffect)(()=>{let e=setInterval(()=>a(Date.now()),1e3);return()=>clearInterval(e)},[t]),(0,l.jsx)("span",{className:"text-xs text-muted-foreground tabular-nums",children:g(n-t)})}function p(){let{status:e,title:t,startedAt:n,completedAt:s}=(0,o.Y)(),a=(0,u.o)(e=>e.agents),i=d.fB.filter(e=>"completed"===a[e].status).length;return(0,l.jsxs)("header",{className:"h-12 border-b border-border bg-card flex items-center justify-between px-4",children:[(0,l.jsxs)("div",{className:"flex items-center gap-3 min-w-0",children:[(0,l.jsx)("h1",{className:"text-sm font-semibold tracking-tight whitespace-nowrap",children:"Claude Dashboard"}),(0,l.jsx)(r(),{href:"/",className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"Dashboard"}),(0,l.jsx)(r(),{href:"/history",className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"History"}),t&&(0,l.jsx)("span",{className:"text-xs text-muted-foreground truncate max-w-[300px]",children:t}),(0,l.jsx)("div",{className:"hidden md:block h-4 w-px bg-border"}),(0,l.jsx)(f,{})]}),(0,l.jsx)("div",{className:"flex items-center gap-3",children:"pending"!==e&&(0,l.jsxs)(l.Fragment,{children:[(0,l.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,l.jsxs)("span",{className:"text-xs text-muted-foreground",children:[i,"/",d.fB.length," agents"]}),n&&("running"===e||"paused"===e?(0,l.jsx)(h,{startedAt:n}):(0,l.jsx)("span",{className:"text-xs text-muted-foreground tabular-nums",children:g((null!=s?s:Date.now())-n)}))]})})]})}function v(e){let{children:t}=e;return(0,l.jsxs)("div",{className:"h-screen flex flex-col overflow-hidden",children:[(0,l.jsx)(p,{}),(0,l.jsx)("main",{className:"flex-1 overflow-hidden flex flex-col",children:t})]})}c.displayName="Tooltip"}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[681],{2296:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),!function(e,r){for(var t in r)Object.defineProperty(e,t,{enumerable:!0,get:r[t]})}(r,{DecodeError:function(){return b},MiddlewareNotFoundError:function(){return y},MissingStaticPage:function(){return h},NormalizeError:function(){return g},PageNotFoundError:function(){return m},SP:function(){return p},ST:function(){return f},WEB_VITALS:function(){return t},execOnce:function(){return o},getDisplayName:function(){return s},getLocationOrigin:function(){return a},getURL:function(){return i},isAbsoluteUrl:function(){return l},isResSent:function(){return c},loadGetInitialProps:function(){return d},normalizeRepeatedSlashes:function(){return u},stringifyError:function(){return v}});let t=["CLS","FCP","FID","INP","LCP","TTFB"];function o(e){let r,t=!1;return function(){for(var o=arguments.length,n=Array(o),l=0;l<o;l++)n[l]=arguments[l];return t||(t=!0,r=e(...n)),r}}let n=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>n.test(e);function a(){let{protocol:e,hostname:r,port:t}=window.location;return e+"//"+r+(t?":"+t:"")}function i(){let{href:e}=window.location,r=a();return e.substring(r.length)}function s(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function c(e){return e.finished||e.headersSent}function u(e){let r=e.split("?");return r[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(r[1]?"?"+r.slice(1).join("?"):"")}async function d(e,r){let t=r.res||r.ctx&&r.ctx.res;if(!e.getInitialProps)return r.ctx&&r.Component?{pageProps:await d(r.Component,r.ctx)}:{};let o=await e.getInitialProps(r);if(t&&c(t))return o;if(!o)throw Object.defineProperty(Error('"'+s(e)+'.getInitialProps()" should resolve to an object. But found "'+o+'" instead.'),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return o}let p="undefined"!=typeof performance,f=p&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class b extends Error{}class g extends Error{}class m extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class h extends Error{constructor(e,r){super(),this.message="Failed to load static file for page: "+e+" "+r}}class y extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function v(e){return JSON.stringify({message:e.message,stack:e.stack})}},2619:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),!function(e,r){for(var t in r)Object.defineProperty(e,t,{enumerable:!0,get:r[t]})}(r,{default:function(){return m},useLinkStatus:function(){return y}});let o=t(9417),n=t(5155),l=o._(t(2115)),a=t(7670),i=t(6752),s=t(3011),c=t(2296),u=t(6058);t(4781);let d=t(3499),p=t(8607),f=t(1807);t(7045);let b=t(6048);function g(e){return"string"==typeof e?e:(0,a.formatUrl)(e)}function m(e){var r;let t,o,a,[m,y]=(0,l.useOptimistic)(d.IDLE_LINK_STATUS),v=(0,l.useRef)(null),{href:x,as:w,children:k,prefetch:j=null,passHref:P,replace:z,shallow:S,scroll:E,onClick:_,onMouseEnter:O,onTouchStart:C,legacyBehavior:N=!1,onNavigate:M,ref:T,unstable_dynamicOnHover:I,...R}=e;t=k,N&&("string"==typeof t||"number"==typeof t)&&(t=(0,n.jsx)("a",{children:t}));let A=l.default.useContext(i.AppRouterContext),L=!1!==j,U=!1!==j?null===(r=j)||"auto"===r?b.FetchStrategy.PPR:b.FetchStrategy.Full:b.FetchStrategy.PPR,{href:F,as:G}=l.default.useMemo(()=>{let e=g(x);return{href:e,as:w?g(w):e}},[x,w]);N&&(o=l.default.Children.only(t));let D=N?o&&"object"==typeof o&&o.ref:T,$=l.default.useCallback(e=>(null!==A&&(v.current=(0,d.mountLinkInstance)(e,F,A,U,L,y)),()=>{v.current&&((0,d.unmountLinkForCurrentNavigation)(v.current),v.current=null),(0,d.unmountPrefetchableInstance)(e)}),[L,F,A,U,y]),K={ref:(0,s.useMergedRef)($,D),onClick(e){N||"function"!=typeof _||_(e),N&&o.props&&"function"==typeof o.props.onClick&&o.props.onClick(e),A&&(e.defaultPrevented||function(e,r,t,o,n,a,i){let{nodeName:s}=e.currentTarget;if(!("A"===s.toUpperCase()&&function(e){let r=e.currentTarget.getAttribute("target");return r&&"_self"!==r||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||e.currentTarget.hasAttribute("download"))){if(!(0,p.isLocalURL)(r)){n&&(e.preventDefault(),location.replace(r));return}if(e.preventDefault(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}l.default.startTransition(()=>{(0,f.dispatchNavigateAction)(t||r,n?"replace":"push",null==a||a,o.current)})}}(e,F,G,v,z,E,M))},onMouseEnter(e){N||"function"!=typeof O||O(e),N&&o.props&&"function"==typeof o.props.onMouseEnter&&o.props.onMouseEnter(e),A&&L&&(0,d.onNavigationIntent)(e.currentTarget,!0===I)},onTouchStart:function(e){N||"function"!=typeof C||C(e),N&&o.props&&"function"==typeof o.props.onTouchStart&&o.props.onTouchStart(e),A&&L&&(0,d.onNavigationIntent)(e.currentTarget,!0===I)}};return(0,c.isAbsoluteUrl)(G)?K.href=G:N&&!P&&("a"!==o.type||"href"in o.props)||(K.href=(0,u.addBasePath)(G)),a=N?l.default.cloneElement(o,K):(0,n.jsx)("a",{...R,...K,children:t}),(0,n.jsx)(h.Provider,{value:m,children:a})}let h=(0,l.createContext)(d.IDLE_LINK_STATUS),y=()=>(0,l.useContext)(h);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),e.exports=r.default)},2821:(e,r,t)=>{t.d(r,{$:()=>o});function o(){for(var e,r,t=0,o="",n=arguments.length;t<n;t++)(e=arguments[t])&&(r=function e(r){var t,o,n="";if("string"==typeof r||"number"==typeof r)n+=r;else if("object"==typeof r)if(Array.isArray(r)){var l=r.length;for(t=0;t<l;t++)r[t]&&(o=e(r[t]))&&(n&&(n+=" "),n+=o)}else for(o in r)r[o]&&(n&&(n+=" "),n+=o);return n}(e))&&(o&&(o+=" "),o+=r);return o}},3011:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return n}});let o=t(2115);function n(e,r){let t=(0,o.useRef)(null),n=(0,o.useRef)(null);return(0,o.useCallback)(o=>{if(null===o){let e=t.current;e&&(t.current=null,e());let r=n.current;r&&(n.current=null,r())}else e&&(t.current=l(e,o)),r&&(n.current=l(r,o))},[e,r])}function l(e,r){if("function"!=typeof e)return e.current=r,()=>{e.current=null};{let t=e(r);return"function"==typeof t?t:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),e.exports=r.default)},3078:(e,r)=>{function t(e){let r={};for(let[t,o]of e.entries()){let e=r[t];void 0===e?r[t]=o:Array.isArray(e)?e.push(o):r[t]=[e,o]}return r}function o(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function n(e){let r=new URLSearchParams;for(let[t,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)r.append(t,o(e));else r.set(t,o(n));return r}function l(e){for(var r=arguments.length,t=Array(r>1?r-1:0),o=1;o<r;o++)t[o-1]=arguments[o];for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,o]of r.entries())e.append(t,o)}return e}Object.defineProperty(r,"__esModule",{value:!0}),!function(e,r){for(var t in r)Object.defineProperty(e,t,{enumerable:!0,get:r[t]})}(r,{assign:function(){return l},searchParamsToUrlQuery:function(){return t},urlQueryToSearchParams:function(){return n}})},5889:(e,r,t)=>{t.d(r,{QP:()=>$});let o=(e,r)=>{if(0===e.length)return r.classGroupId;let t=e[0],n=r.nextPart.get(t),l=n?o(e.slice(1),n):void 0;if(l)return l;if(0===r.validators.length)return;let a=e.join("-");return r.validators.find(({validator:e})=>e(a))?.classGroupId},n=/^\[(.+)\]$/,l=(e,r,t,o)=>{e.forEach(e=>{if("string"==typeof e){(""===e?r:a(r,e)).classGroupId=t;return}if("function"==typeof e)return i(e)?void l(e(o),r,t,o):void r.validators.push({validator:e,classGroupId:t});Object.entries(e).forEach(([e,n])=>{l(n,a(r,e),t,o)})})},a=(e,r)=>{let t=e;return r.split("-").forEach(e=>{t.nextPart.has(e)||t.nextPart.set(e,{nextPart:new Map,validators:[]}),t=t.nextPart.get(e)}),t},i=e=>e.isThemeGetter,s=(e,r)=>r?e.map(([e,t])=>[e,t.map(e=>"string"==typeof e?r+e:"object"==typeof e?Object.fromEntries(Object.entries(e).map(([e,t])=>[r+e,t])):e)]):e,c=e=>{if(e.length<=1)return e;let r=[],t=[];return e.forEach(e=>{"["===e[0]?(r.push(...t.sort(),e),t=[]):t.push(e)}),r.push(...t.sort()),r},u=/\s+/;function d(){let e,r,t=0,o="";for(;t<arguments.length;)(e=arguments[t++])&&(r=p(e))&&(o&&(o+=" "),o+=r);return o}let p=e=>{let r;if("string"==typeof e)return e;let t="";for(let o=0;o<e.length;o++)e[o]&&(r=p(e[o]))&&(t&&(t+=" "),t+=r);return t},f=e=>{let r=r=>r[e]||[];return r.isThemeGetter=!0,r},b=/^\[(?:([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$/,v=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,x=/^(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=>P(e)||m.has(e)||g.test(e),j=e=>L(e,"length",U),P=e=>!!e&&!Number.isNaN(Number(e)),z=e=>L(e,"number",P),S=e=>!!e&&Number.isInteger(Number(e)),E=e=>e.endsWith("%")&&P(e.slice(0,-1)),_=e=>b.test(e),O=e=>h.test(e),C=new Set(["length","size","percentage"]),N=e=>L(e,C,F),M=e=>L(e,"position",F),T=new Set(["image","url"]),I=e=>L(e,T,D),R=e=>L(e,"",G),A=()=>!0,L=(e,r,t)=>{let o=b.exec(e);return!!o&&(o[1]?"string"==typeof r?o[1]===r:r.has(o[1]):t(o[2]))},U=e=>y.test(e)&&!v.test(e),F=()=>!1,G=e=>x.test(e),D=e=>w.test(e);Symbol.toStringTag;let $=function(e,...r){let t,a,i,p=function(c){let u;return a=(t={cache:(e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let r=0,t=new Map,o=new Map,n=(n,l)=>{t.set(n,l),++r>e&&(r=0,o=t,t=new Map)};return{get(e){let r=t.get(e);return void 0!==r?r:void 0!==(r=o.get(e))?(n(e,r),r):void 0},set(e,r){t.has(e)?t.set(e,r):n(e,r)}}})((u=r.reduce((e,r)=>r(e),e())).cacheSize),parseClassName:(e=>{let{separator:r,experimentalParseClassName:t}=e,o=1===r.length,n=r[0],l=r.length,a=e=>{let t,a=[],i=0,s=0;for(let c=0;c<e.length;c++){let u=e[c];if(0===i){if(u===n&&(o||e.slice(c,c+l)===r)){a.push(e.slice(s,c)),s=c+l;continue}if("/"===u){t=c;continue}}"["===u?i++:"]"===u&&i--}let c=0===a.length?e:e.substring(s),u=c.startsWith("!"),d=u?c.substring(1):c;return{modifiers:a,hasImportantModifier:u,baseClassName:d,maybePostfixModifierPosition:t&&t>s?t-s:void 0}};return t?e=>t({className:e,parseClassName:a}):a})(u),...(e=>{let r=(e=>{let{theme:r,prefix:t}=e,o={nextPart:new Map,validators:[]};return s(Object.entries(e.classGroups),t).forEach(([e,t])=>{l(t,o,e,r)}),o})(e),{conflictingClassGroups:t,conflictingClassGroupModifiers:a}=e;return{getClassGroupId:e=>{let t=e.split("-");return""===t[0]&&1!==t.length&&t.shift(),o(t,r)||(e=>{if(n.test(e)){let r=n.exec(e)[1],t=r?.substring(0,r.indexOf(":"));if(t)return"arbitrary.."+t}})(e)},getConflictingClassGroupIds:(e,r)=>{let o=t[e]||[];return r&&a[e]?[...o,...a[e]]:o}}})(u)}).cache.get,i=t.cache.set,p=f,f(c)};function f(e){let r=a(e);if(r)return r;let o=((e,r)=>{let{parseClassName:t,getClassGroupId:o,getConflictingClassGroupIds:n}=r,l=[],a=e.trim().split(u),i="";for(let e=a.length-1;e>=0;e-=1){let r=a[e],{modifiers:s,hasImportantModifier:u,baseClassName:d,maybePostfixModifierPosition:p}=t(r),f=!!p,b=o(f?d.substring(0,p):d);if(!b){if(!f||!(b=o(d))){i=r+(i.length>0?" "+i:i);continue}f=!1}let g=c(s).join(":"),m=u?g+"!":g,h=m+b;if(l.includes(h))continue;l.push(h);let y=n(b,f);for(let e=0;e<y.length;++e){let r=y[e];l.push(m+r)}i=r+(i.length>0?" "+i:i)}return i})(e,t);return i(e,o),o}return function(){return p(d.apply(null,arguments))}}(()=>{let e=f("colors"),r=f("spacing"),t=f("blur"),o=f("brightness"),n=f("borderColor"),l=f("borderRadius"),a=f("borderSpacing"),i=f("borderWidth"),s=f("contrast"),c=f("grayscale"),u=f("hueRotate"),d=f("invert"),p=f("gap"),b=f("gradientColorStops"),g=f("gradientColorStopPositions"),m=f("inset"),h=f("margin"),y=f("opacity"),v=f("padding"),x=f("saturate"),w=f("scale"),C=f("sepia"),T=f("skew"),L=f("space"),U=f("translate"),F=()=>["auto","contain","none"],G=()=>["auto","hidden","clip","visible","scroll"],D=()=>["auto",_,r],$=()=>[_,r],K=()=>["",k,j],W=()=>["auto",P,_],B=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],q=()=>["solid","dashed","dotted","double","none"],Q=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],V=()=>["start","end","center","between","around","evenly","stretch"],Z=()=>["","0",_],J=()=>["auto","avoid","all","avoid-page","page","left","right","column"],X=()=>[P,_];return{cacheSize:500,separator:":",theme:{colors:[A],spacing:[k,j],blur:["none","",O,_],brightness:X(),borderColor:[e],borderRadius:["none","","full",O,_],borderSpacing:$(),borderWidth:K(),contrast:X(),grayscale:Z(),hueRotate:X(),invert:Z(),gap:$(),gradientColorStops:[e],gradientColorStopPositions:[E,j],inset:D(),margin:D(),opacity:X(),padding:$(),saturate:X(),scale:X(),sepia:Z(),skew:X(),space:$(),translate:$()},classGroups:{aspect:[{aspect:["auto","square","video",_]}],container:["container"],columns:[{columns:[O]}],"break-after":[{"break-after":J()}],"break-before":[{"break-before":J()}],"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:[...B(),_]}],overflow:[{overflow:G()}],"overflow-x":[{"overflow-x":G()}],"overflow-y":[{"overflow-y":G()}],overscroll:[{overscroll:F()}],"overscroll-x":[{"overscroll-x":F()}],"overscroll-y":[{"overscroll-y":F()}],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",S,_]}],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",_]}],grow:[{grow:Z()}],shrink:[{shrink:Z()}],order:[{order:["first","last","none",S,_]}],"grid-cols":[{"grid-cols":[A]}],"col-start-end":[{col:["auto",{span:["full",S,_]},_]}],"col-start":[{"col-start":W()}],"col-end":[{"col-end":W()}],"grid-rows":[{"grid-rows":[A]}],"row-start-end":[{row:["auto",{span:[S,_]},_]}],"row-start":[{"row-start":W()}],"row-end":[{"row-end":W()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",_]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",_]}],gap:[{gap:[p]}],"gap-x":[{"gap-x":[p]}],"gap-y":[{"gap-y":[p]}],"justify-content":[{justify:["normal",...V()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...V(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...V(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[v]}],px:[{px:[v]}],py:[{py:[v]}],ps:[{ps:[v]}],pe:[{pe:[v]}],pt:[{pt:[v]}],pr:[{pr:[v]}],pb:[{pb:[v]}],pl:[{pl:[v]}],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":[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",_,r]}],"min-w":[{"min-w":[_,r,"min","max","fit"]}],"max-w":[{"max-w":[_,r,"none","full","min","max","fit","prose",{screen:[O]},O]}],h:[{h:[_,r,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[_,r,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[_,r,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[_,r,"auto","min","max","fit"]}],"font-size":[{text:["base",O,j]}],"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:[A]}],"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",_]}],"line-clamp":[{"line-clamp":["none",P,z]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",k,_]}],"list-image":[{"list-image":["none",_]}],"list-style-type":[{list:["none","disc","decimal",_]}],"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:[...q(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",k,j]}],"underline-offset":[{"underline-offset":["auto",k,_]}],"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:$()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",_]}],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",_]}],"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:[...B(),M]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",N]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},I]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[g]}],"gradient-via-pos":[{via:[g]}],"gradient-to-pos":[{to:[g]}],"gradient-from":[{from:[b]}],"gradient-via":[{via:[b]}],"gradient-to":[{to:[b]}],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:[i]}],"border-w-x":[{"border-x":[i]}],"border-w-y":[{"border-y":[i]}],"border-w-s":[{"border-s":[i]}],"border-w-e":[{"border-e":[i]}],"border-w-t":[{"border-t":[i]}],"border-w-r":[{"border-r":[i]}],"border-w-b":[{"border-b":[i]}],"border-w-l":[{"border-l":[i]}],"border-opacity":[{"border-opacity":[y]}],"border-style":[{border:[...q(),"hidden"]}],"divide-x":[{"divide-x":[i]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[i]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[y]}],"divide-style":[{divide:q()}],"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:["",...q()]}],"outline-offset":[{"outline-offset":[k,_]}],"outline-w":[{outline:[k,j]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:K()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[y]}],"ring-offset-w":[{"ring-offset":[k,j]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",O,R]}],"shadow-color":[{shadow:[A]}],opacity:[{opacity:[y]}],"mix-blend":[{"mix-blend":[...Q(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":Q()}],filter:[{filter:["","none"]}],blur:[{blur:[t]}],brightness:[{brightness:[o]}],contrast:[{contrast:[s]}],"drop-shadow":[{"drop-shadow":["","none",O,_]}],grayscale:[{grayscale:[c]}],"hue-rotate":[{"hue-rotate":[u]}],invert:[{invert:[d]}],saturate:[{saturate:[x]}],sepia:[{sepia:[C]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[t]}],"backdrop-brightness":[{"backdrop-brightness":[o]}],"backdrop-contrast":[{"backdrop-contrast":[s]}],"backdrop-grayscale":[{"backdrop-grayscale":[c]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[u]}],"backdrop-invert":[{"backdrop-invert":[d]}],"backdrop-opacity":[{"backdrop-opacity":[y]}],"backdrop-saturate":[{"backdrop-saturate":[x]}],"backdrop-sepia":[{"backdrop-sepia":[C]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[a]}],"border-spacing-x":[{"border-spacing-x":[a]}],"border-spacing-y":[{"border-spacing-y":[a]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",_]}],duration:[{duration:X()}],ease:[{ease:["linear","in","out","in-out",_]}],delay:[{delay:X()}],animate:[{animate:["none","spin","ping","pulse","bounce",_]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[w]}],"scale-x":[{"scale-x":[w]}],"scale-y":[{"scale-y":[w]}],rotate:[{rotate:[S,_]}],"translate-x":[{"translate-x":[U]}],"translate-y":[{"translate-y":[U]}],"skew-x":[{"skew-x":[T]}],"skew-y":[{"skew-y":[T]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",_]}],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",_]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":$()}],"scroll-mx":[{"scroll-mx":$()}],"scroll-my":[{"scroll-my":$()}],"scroll-ms":[{"scroll-ms":$()}],"scroll-me":[{"scroll-me":$()}],"scroll-mt":[{"scroll-mt":$()}],"scroll-mr":[{"scroll-mr":$()}],"scroll-mb":[{"scroll-mb":$()}],"scroll-ml":[{"scroll-ml":$()}],"scroll-p":[{"scroll-p":$()}],"scroll-px":[{"scroll-px":$()}],"scroll-py":[{"scroll-py":$()}],"scroll-ps":[{"scroll-ps":$()}],"scroll-pe":[{"scroll-pe":$()}],"scroll-pt":[{"scroll-pt":$()}],"scroll-pr":[{"scroll-pr":$()}],"scroll-pb":[{"scroll-pb":$()}],"scroll-pl":[{"scroll-pl":$()}],"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",_]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[k,j,z]}],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,t)=>{t.d(r,{v:()=>a});var o=t(2115);let n=e=>{let r,t=new Set,o=(e,o)=>{let n="function"==typeof e?e(r):e;if(!Object.is(n,r)){let e=r;r=(null!=o?o:"object"!=typeof n||null===n)?n:Object.assign({},r,n),t.forEach(t=>t(r,e))}},n=()=>r,l={setState:o,getState:n,getInitialState:()=>a,subscribe:e=>(t.add(e),()=>t.delete(e))},a=r=e(o,n,l);return l},l=e=>{let r=(e=>e?n(e):n)(e),t=e=>(function(e,r=e=>e){let t=o.useSyncExternalStore(e.subscribe,o.useCallback(()=>r(e.getState()),[e,r]),o.useCallback(()=>r(e.getInitialState()),[e,r]));return o.useDebugValue(t),t})(r,e);return Object.assign(t,r),t},a=e=>e?l(e):l},7045:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return t}});let t=e=>{}},7670:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),!function(e,r){for(var t in r)Object.defineProperty(e,t,{enumerable:!0,get:r[t]})}(r,{formatUrl:function(){return l},formatWithValidation:function(){return i},urlObjectKeys:function(){return a}});let o=t(9417)._(t(3078)),n=/https?|ftp|gopher|file/;function l(e){let{auth:r,hostname:t}=e,l=e.protocol||"",a=e.pathname||"",i=e.hash||"",s=e.query||"",c=!1;r=r?encodeURIComponent(r).replace(/%3A/i,":")+"@":"",e.host?c=r+e.host:t&&(c=r+(~t.indexOf(":")?"["+t+"]":t),e.port&&(c+=":"+e.port)),s&&"object"==typeof s&&(s=String(o.urlQueryToSearchParams(s)));let u=e.search||s&&"?"+s||"";return l&&!l.endsWith(":")&&(l+=":"),e.slashes||(!l||n.test(l))&&!1!==c?(c="//"+(c||""),a&&"/"!==a[0]&&(a="/"+a)):c||(c=""),i&&"#"!==i[0]&&(i="#"+i),u&&"?"!==u[0]&&(u="?"+u),""+l+c+(a=a.replace(/[?#]/g,encodeURIComponent))+(u=u.replace("#","%23"))+i}let a=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function i(e){return l(e)}},8607:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return l}});let o=t(2296),n=t(2929);function l(e){if(!(0,o.isAbsoluteUrl)(e))return!0;try{let r=(0,o.getLocationOrigin)(),t=new URL(e,r);return t.origin===r&&(0,n.hasBasePath)(t.pathname)}catch(e){return!1}}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[347,382,616,637,772,994],{4441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[347,382,616,637,772,994],{4441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[347,382,616,637,772,994],{4441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[347,382,616,637,772,994],{4441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[347,382,616,637,772,994],{4441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[347,382,616,637,772,994],{4441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[369],{6396:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>c});var r=s(5155),o=s(2619),n=s.n(o),d=s(2115),a=s(7260),l=s(9145);function c(){let e=(0,a.useParams)(),t=null==e?void 0:e.id,[s,o]=(0,d.useState)(null),[c,i]=(0,d.useState)(!0),[u,m]=(0,d.useState)(null);(0,d.useEffect)(()=>{t&&(i(!0),m(null),fetch("/api/workflows/".concat(t)).then(e=>{if(!e.ok)throw Error("HTTP ".concat(e.status));return e.json()}).then(e=>{o(e),i(!1)}).catch(e=>{m(e.message||"Failed to load workflow"),i(!1)}))},[t]);let x=(0,d.useMemo)(()=>s?function(e){let t=/(?:^|\s)([\w./-]+\.(?:ts|tsx|js|jsx|json|md|yml|yaml|css|sql))/g,s=new Set;for(let r of e){let e,o=r.output||"";for(;null!==(e=t.exec(o));){let t=e[1].trim();(t.includes("/")||t.includes("."))&&s.add(t)}}return Array.from(s).slice(0,30)}(s.steps):[],[s]);return(0,r.jsx)(l.R,{children:(0,r.jsxs)("div",{className:"p-4 space-y-4 overflow-auto",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("h2",{className:"text-lg font-semibold",children:"Workflow Detail"}),(0,r.jsx)(n(),{href:"/history",className:"text-xs text-muted-foreground hover:text-foreground",children:"← Back to History"})]}),c&&(0,r.jsx)("div",{className:"text-sm text-muted-foreground",children:"Loading..."}),u&&(0,r.jsxs)("div",{className:"text-sm text-red-400",children:["Failed to load: ",u]}),s&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"rounded-md border border-border p-3 text-sm space-y-1",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:"Title:"})," ",s.workflow.title]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:"Status:"})," ",s.workflow.status]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:"Created:"})," ",new Date(s.workflow.createdAt).toLocaleString()]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:"Completed:"})," ",s.workflow.completedAt?new Date(s.workflow.completedAt).toLocaleString():"-"]}),(0,r.jsx)("div",{className:"pt-1",children:(0,r.jsx)(n(),{href:"/?prompt=".concat(encodeURIComponent("Continue this previous task with fixes/improvements: ".concat(s.workflow.userPrompt))),className:"text-xs text-emerald-400 hover:underline",children:"Retry entire workflow as new run"})})]}),(0,r.jsxs)("div",{className:"rounded-md border border-border p-3",children:[(0,r.jsx)("div",{className:"text-sm font-medium mb-2",children:"Run artifact summary (detected file paths)"}),0===x.length?(0,r.jsx)("div",{className:"text-xs text-muted-foreground",children:"No file paths detected from agent outputs."}):(0,r.jsx)("div",{className:"flex flex-wrap gap-2",children:x.map(e=>(0,r.jsx)("span",{className:"text-xs rounded border border-border px-2 py-1 text-muted-foreground",children:e},e))})]}),(0,r.jsx)("div",{className:"space-y-3",children:s.steps.map(e=>{var t,o;return(0,r.jsxs)("div",{className:"rounded-md border border-border p-3",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,r.jsx)("div",{className:"text-sm font-medium uppercase",children:e.role}),(0,r.jsxs)("div",{className:"text-xs text-muted-foreground",children:[e.status," \xb7 ",null!=e.durationMs?"".concat(e.durationMs,"ms"):"-"," \xb7 in:"," ",null!=(t=e.tokensIn)?t:"-"," out: ",null!=(o=e.tokensOut)?o:"-"]})]}),(0,r.jsx)("div",{className:"mb-2",children:(0,r.jsx)(n(),{href:"/?prompt=".concat(encodeURIComponent("Retry from ".concat(e.role.toUpperCase()," stage. Original task: ").concat(s.workflow.userPrompt,"\n\nPrevious ").concat(e.role.toUpperCase()," output:\n").concat(e.output||"(no output)"))),className:"text-xs text-emerald-400 hover:underline",children:"Retry from this step as new run"})}),(0,r.jsx)("pre",{className:"text-xs whitespace-pre-wrap break-words text-muted-foreground bg-black/20 rounded p-2 max-h-72 overflow-auto",children:e.output||"(no output)"})]},e.id)})})]})]})})}},7963:(e,t,s)=>{Promise.resolve().then(s.bind(s,6396))}},e=>{e.O(0,[681,145,441,255,358],()=>e(e.s=7963)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[429],{4550:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>m});var s=r(5155),a=r(9145),l=r(2619),o=r.n(l),n=r(2115);let d={pending:"text-gray-400",running:"text-emerald-400",paused:"text-yellow-400",completed:"text-blue-400",failed:"text-red-400",cancelled:"text-gray-500"},c=["all","pending","running","paused","completed","failed","cancelled"];function i(){let[e,t]=(0,n.useState)([]),[r,a]=(0,n.useState)(!0),[l,i]=(0,n.useState)(null),[m,h]=(0,n.useState)("all"),[p,b]=(0,n.useState)(""),[f,g]=(0,n.useState)(""),[j,w]=(0,n.useState)(1),[N,v]=(0,n.useState)(0),[k,y]=(0,n.useState)(30),[S,C]=(0,n.useState)(300),[M,T]=(0,n.useState)(null),[A,D]=(0,n.useState)(0),[O,P]=(0,n.useState)(null),_=(0,n.useMemo)(()=>Math.max(1,Math.ceil(N/20)),[N]);(0,n.useEffect)(()=>{let e=(j-1)*20,r=new URLSearchParams({limit:String(20),offset:String(e)});"all"!==m&&r.set("status",m),f.trim()&&r.set("q",f.trim()),a(!0),i(null),Promise.all([fetch("/api/workflows?".concat(r.toString())),fetch("/api/workflows/metrics")]).then(async e=>{let[t,r]=e;if(!t.ok)throw Error("HTTP ".concat(t.status));return{listJson:await t.json(),metricsJson:r.ok?await r.json():null}}).then(e=>{let{listJson:r,metricsJson:s}=e;t(r.workflows||[]),v(r.total||0),P(s),a(!1)}).catch(e=>{i(e.message||"Failed to load workflows"),a(!1)})},[j,f,m,A]);let E=async()=>{if(!window.confirm("Cleanup history with policy: keep ".concat(k," days OR latest ").concat(S," workflows?")))return;T(null);let e=await fetch("/api/workflows/cleanup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({keepDays:k,keepLatest:S})}),t=await e.json();if(!e.ok)return void T((null==t?void 0:t.error)||"Cleanup failed");T("Cleanup complete: deleted ".concat(t.deleted," workflows.")),w(1),D(e=>e+1)};return r?(0,s.jsx)("div",{className:"flex items-center justify-center p-8 text-sm text-muted-foreground",children:"Loading..."}):l?(0,s.jsxs)("div",{className:"flex items-center justify-center p-8 text-sm text-red-400",children:["Failed to load workflows: ",l]}):(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,s.jsx)("select",{value:m,onChange:e=>{h(e.target.value),w(1)},className:"h-8 rounded-md border border-border bg-background px-2 text-xs",children:c.map(e=>(0,s.jsx)("option",{value:e,children:"all"===e?"All statuses":e},e))}),(0,s.jsx)("input",{value:p,onChange:e=>b(e.target.value),placeholder:"Search title or prompt",className:"h-8 min-w-[240px] rounded-md border border-border bg-background px-2 text-xs"}),(0,s.jsx)("button",{onClick:()=>{w(1),g(p)},className:"h-8 rounded-md border border-border px-3 text-xs hover:bg-white/5",children:"Search"})]}),O&&(0,s.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-2 text-xs",children:[(0,s.jsx)(x,{label:"Workflows",value:String(O.workflowCount)}),(0,s.jsx)(x,{label:"Completed / Failed",value:"".concat(O.completedCount," / ").concat(O.failedCount)}),(0,s.jsx)(x,{label:"Avg workflow",value:u(O.avgWorkflowDurationMs)}),(0,s.jsx)(x,{label:"Avg step",value:u(O.avgStepDurationMs)}),(0,s.jsx)(x,{label:"Tokens in",value:O.totalTokensIn.toLocaleString()}),(0,s.jsx)(x,{label:"Tokens out",value:O.totalTokensOut.toLocaleString()})]}),(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-2 border border-border rounded-md p-2",children:[(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"Retention cleanup:"}),(0,s.jsxs)("label",{className:"text-xs text-muted-foreground flex items-center gap-1",children:["keep days",(0,s.jsx)("input",{type:"number",min:1,value:k,onChange:e=>y(Math.max(1,Number(e.target.value)||1)),className:"h-7 w-20 rounded border border-border bg-background px-2"})]}),(0,s.jsxs)("label",{className:"text-xs text-muted-foreground flex items-center gap-1",children:["keep latest",(0,s.jsx)("input",{type:"number",min:1,value:S,onChange:e=>C(Math.max(1,Number(e.target.value)||1)),className:"h-7 w-24 rounded border border-border bg-background px-2"})]}),(0,s.jsx)("button",{onClick:E,className:"h-8 rounded-md border border-border px-3 text-xs hover:bg-white/5",children:"Run Cleanup"}),M&&(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:M})]}),0===e.length?(0,s.jsx)("div",{className:"flex items-center justify-center p-8 text-sm text-muted-foreground",children:"No workflows found."}):(0,s.jsx)("div",{className:"overflow-auto",children:(0,s.jsxs)("table",{className:"w-full text-sm",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{className:"border-b border-border text-muted-foreground",children:[(0,s.jsx)("th",{className:"text-left py-2 px-3 font-medium",children:"Title"}),(0,s.jsx)("th",{className:"text-left py-2 px-3 font-medium",children:"Status"}),(0,s.jsx)("th",{className:"text-left py-2 px-3 font-medium",children:"Created"}),(0,s.jsx)("th",{className:"text-left py-2 px-3 font-medium",children:"Duration"})]})}),(0,s.jsx)("tbody",{children:e.map(e=>(0,s.jsxs)("tr",{className:"border-b border-border/50 hover:bg-white/5",children:[(0,s.jsx)("td",{className:"py-2 px-3 truncate max-w-[400px]",children:(0,s.jsx)(o(),{href:"/history/".concat(e.id),className:"hover:underline",children:e.title})}),(0,s.jsx)("td",{className:"py-2 px-3 ".concat(d[e.status]||""),children:e.status}),(0,s.jsx)("td",{className:"py-2 px-3 text-muted-foreground",children:new Date(e.createdAt).toLocaleString()}),(0,s.jsx)("td",{className:"py-2 px-3 text-muted-foreground",children:e.completedAt?u(new Date(e.completedAt).getTime()-new Date(e.createdAt).getTime()):"-"})]},e.id))})]})}),(0,s.jsxs)("div",{className:"flex items-center justify-between text-xs text-muted-foreground",children:[(0,s.jsxs)("span",{children:[N," total \xb7 page ",j,"/",_]}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("button",{onClick:()=>w(e=>Math.max(1,e-1)),disabled:j<=1,className:"h-8 rounded-md border border-border px-3 disabled:opacity-40",children:"Prev"}),(0,s.jsx)("button",{onClick:()=>w(e=>Math.min(_,e+1)),disabled:j>=_,className:"h-8 rounded-md border border-border px-3 disabled:opacity-40",children:"Next"})]})]})]})}function u(e){if(!Number.isFinite(e)||e<=0)return"-";let t=Math.floor(e/1e3),r=Math.floor(t/60);return r>0?"".concat(r,"m ").concat(t%60,"s"):"".concat(t,"s")}function x(e){let{label:t,value:r}=e;return(0,s.jsxs)("div",{className:"rounded-md border border-border p-2",children:[(0,s.jsx)("div",{className:"text-muted-foreground",children:t}),(0,s.jsx)("div",{className:"font-medium",children:r})]})}function m(){return(0,s.jsx)(a.R,{children:(0,s.jsxs)("div",{className:"p-4",children:[(0,s.jsx)("h2",{className:"text-lg font-semibold mb-4",children:"Workflow History"}),(0,s.jsx)(i,{})]})})}},5952:(e,t,r)=>{Promise.resolve().then(r.bind(r,4550))}},e=>{e.O(0,[681,145,441,255,358],()=>e(e.s=5952)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
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()}]);
|
|
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 b(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 g(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)(b,{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)(g,{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 R(){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 I=r(7909);let P=(0,N.v)(e=>({terminalId:null,connected:!1,setTerminalId:t=>e({terminalId:t}),setConnected:t=>e({connected:t}),reset:()=>e({terminalId:null,connected:!1})})),L=(0,I.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}=P(),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)(L,{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..."})}let M=[{name:"Bugfix",text:"Fix the reported bug with root-cause analysis, minimal patch, and regression test."},{name:"Feature",text:"Implement this feature end-to-end with tests and concise docs updates."},{name:"Refactor",text:"Refactor for readability/maintainability without behavior changes; keep tests green."},{name:"Performance",text:"Profile bottlenecks, optimize critical path, and show before/after metrics."}];function W(e){let{onStart:t,onPause:r,onResume:n,onCancel:i,initialPrompt:c}=e,[d,u]=(0,s.useState)(""),{status:m,workflowId:x}=(0,a.Y)(),f=(0,o.o)(e=>e.resetAll),p=C(e=>e.clear),h=(0,a.Y)(e=>e.reset);(0,s.useEffect)(()=>{c&&c.trim()&&u(c.trim())},[c]);let b=(0,s.useCallback)(e=>{e.preventDefault(),d.trim()&&(h(),f(),p(),t(d.trim()))},[d,t,h,f,p]),g="pending"===m||"completed"===m||"failed"===m||"cancelled"===m;return(0,l.jsxs)("div",{className:"border-b border-border bg-card/50 px-4 py-3 space-y-2",children:[(0,l.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:"Templates:"}),M.map(e=>(0,l.jsx)("button",{type:"button",disabled:!g,onClick:()=>u(e.text),className:"h-7 px-2 rounded-md border border-border text-xs hover:bg-white/5 disabled:opacity-40",children:e.name},e.name))]}),(0,l.jsxs)("form",{onSubmit:b,className:"flex gap-2",children:[(0,l.jsx)("input",{type:"text",value:d,onChange:e=>u(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:!d.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"===m&&(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"===m&&(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 A{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 D=[1e3,2e3,4e3,8e3,16e3];var z=r(9863);let F=(0,N.v)()((0,z.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:b}=(0,o.o)(),g=C(e=>e.addEvent),{setTerminalId:v,setConnected:y}=P(),w=(0,s.useCallback)(e=>{if(!l.current.has(e)){let t=new A(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),g({type:"info",message:"Workflow started: ".concat(r)});break}case"workflow:completed":for(let e of(u(),g({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"),g({type:"error",message:"Workflow failed: ".concat(t)}),l.current.values()))e.flush();break}case"workflow:paused":c("paused"),g({type:"warning",message:"Workflow paused"});break;case"workflow:cancelled":for(let e of(c("cancelled"),g({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),g({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),g({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),g({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;b(t,r),g({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,b,g,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),g({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=D[Math.min(t.current,D.length-1)];t.current++,r.current=setTimeout(N,l)},s.onerror=e=>{console.error("[WS] Error:",e)}},[j,y,g]),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,r]=(0,s.useState)(""),c=(0,a.Y)(e=>e.workflowId),{bottomPanelHeight:d,terminalVisible:m,eventLogVisible:x}=F(),f=(0,s.useRef)(!1),p=(0,s.useRef)(0),h=(0,s.useRef)(0);(0,s.useEffect)(()=>{r(new URLSearchParams(window.location.search).get("prompt")||"")},[]);let b=(0,s.useCallback)(t=>{e({type:"workflow:start",payload:{prompt:t,projectPath:""}})},[e]),g=(0,s.useCallback)(()=>{c&&e({type:"workflow:pause",payload:{workflowId:c}})},[e,c]),v=(0,s.useCallback)(()=>{c&&e({type:"workflow:resume",payload:{workflowId:c}})},[e,c]),y=(0,s.useCallback)(()=>{c&&e({type:"workflow:cancel",payload:{workflowId:c}})},[e,c]),j=(0,s.useCallback)(e=>{f.current=!0,p.current=e.clientY,h.current=d;let t=e=>{if(!f.current)return;let t=p.current-e.clientY,r=Math.max(100,Math.min(600,h.current+t));F.getState().setBottomPanelHeight(r)},r=()=>{f.current=!1,document.removeEventListener("mousemove",t),document.removeEventListener("mouseup",r)};document.addEventListener("mousemove",t),document.addEventListener("mouseup",r)},[d]);return(0,l.jsxs)(n.R,{children:[(0,l.jsx)(W,{onStart:b,onPause:g,onResume:v,onCancel:y,initialPrompt:t}),(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:j,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:d},children:[x&&(0,l.jsx)("div",{className:"".concat(m?"w-1/2 border-r border-border":"w-full"," overflow-hidden"),children:(0,l.jsx)(R,{})}),m&&(0,l.jsx)("div",{className:"".concat(x?"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,[681,825,145,441,255,358],()=>e(e.s=6664)),_N_E=e.O()}]);
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}*,: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
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:228 14% 8%;--foreground:220 10% 90%;--card:225 14% 11%;--card-foreground:220 10% 90%;--popover:225 14% 11%;--popover-foreground:220 10% 90%;--primary:262 83% 58%;--primary-foreground:0 0% 100%;--secondary:225 14% 15%;--secondary-foreground:220 10% 90%;--muted:225 14% 15%;--muted-foreground:220 10% 55%;--accent:225 14% 18%;--accent-foreground:220 10% 90%;--destructive:0 84% 60%;--destructive-foreground:0 0% 100%;--border:225 14% 18%;--input:225 14% 18%;--ring:262 83% 58%;--radius:0.5rem}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\201C""\201D""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgb(17 24 39/10%);--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:rgb(255 255 255/10%);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgb(0 0 0/50%);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.7142857}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;line-height:1.5555556;margin-top:.8888889em;margin-bottom:.8888889em}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-inline-start:1.1111111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.1428571em;margin-top:0;margin-bottom:.8em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.4285714em;margin-top:1.6em;margin-bottom:.8em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;margin-top:1.5555556em;margin-bottom:.4444444em;line-height:1.5555556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.4285714em;margin-bottom:.5714286em;line-height:1.4285714}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;border-radius:.3125rem;padding-top:.1428571em;padding-inline-end:.3571429em;padding-bottom:.1428571em;padding-inline-start:.3571429em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.6666667;margin-top:1.6666667em;margin-bottom:1.6666667em;border-radius:.25rem;padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;margin-bottom:.2857143em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;padding-inline-start:1.5714286em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.8571429em;margin-bottom:2.8571429em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.3333333;margin-top:.6666667em}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-invert{--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.-right-0\.5{right:-.125rem}.-top-0\.5{top:-.125rem}.bottom-full{bottom:100%}.left-1\/2{left:50%}.left-full{left:100%}.right-full{right:100%}.top-1\/2{top:50%}.top-full{top:100%}.z-50{z-index:50}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mb-0\.5{margin-bottom:.125rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.ml-0\.5{margin-left:.125rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.mt-2{margin-top:.5rem}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-4{height:1rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.min-h-0{min-height:0}.min-h-\[80px\]{min-height:80px}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-6{width:1.5rem}.w-\[1px\]{width:1px}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.max-w-\[300px\]{max-width:300px}.max-w-\[400px\]{max-width:400px}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{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-y-1\/2{--tw-translate-y:-50%}.transform{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 ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.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))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-border{border-color:hsl(var(--border))}.border-border\/50{border-color:hsl(var(--border)/.5)}.border-emerald-500{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}.border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.border-input{border-color:hsl(var(--input))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-\[\#080808\]{--tw-bg-opacity:1;background-color:rgb(8 8 8/var(--tw-bg-opacity,1))}.bg-\[\#1F2229\]{--tw-bg-opacity:1;background-color:rgb(31 34 41/var(--tw-bg-opacity,1))}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-500\/20{background-color:rgb(245 158 11/.2)}.bg-background{background-color:hsl(var(--background))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-500\/10{background-color:rgb(59 130 246/.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-card\/50{background-color:hsl(var(--card)/.5)}.bg-destructive{background-color:hsl(var(--destructive))}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-emerald-500\/10{background-color:rgb(16 185 129/.1)}.bg-emerald-500\/20{background-color:rgb(16 185 129/.2)}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-gray-500\/20{background-color:rgb(107 114 128/.2)}.bg-gray-800\/30{background-color:rgb(31 41 55/.3)}.bg-gray-800\/50{background-color:rgb(31 41 55/.5)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-red-500\/10{background-color:rgb(239 68 68/.1)}.bg-red-500\/20{background-color:rgb(239 68 68/.2)}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-yellow-500\/20{background-color:rgb(234 179 8/.2)}.bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.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\.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-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pt-0{padding-top:0}.text-left{text-align:left}.text-center{text-align:center}.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-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.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}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-border{color:hsl(var(--border))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.text-foreground{color:hsl(var(--foreground))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.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-muted-foreground{color:hsl(var(--muted-foreground))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/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))}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.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-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.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);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-emerald-500\/20{--tw-shadow-color:rgb(16 185 129/0.2);--tw-shadow:var(--tw-shadow-colored)}.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)}.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}.duration-300{transition-duration:.3s}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:hsl(225 14% 8%)}::-webkit-scrollbar-thumb{background:hsl(225 14% 22%);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:hsl(225 14% 30%)}.agent-output .prose{font-size:.875rem;line-height:1.25rem;line-height:1.625}.agent-output .prose pre{border-radius:calc(var(--radius) - 2px);background-color:rgb(0 0 0/.4)}.agent-output .prose code,.agent-output .prose pre{font-size:.75rem;line-height:1rem}.terminal-container .xterm{padding:8px}.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))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive)/.8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-emerald-700:hover{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.hover\:bg-primary\/50:hover{background-color:hsl(var(--primary)/.5)}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary)/.8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:bg-white\/5:hover{background-color:rgb(255 255 255/.05)}.hover\:bg-yellow-700:hover{--tw-bg-opacity:1;background-color:rgb(161 98 7/var(--tw-bg-opacity,1))}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1: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(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.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)}.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-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}@media (min-width:768px){.md\:block{display:block}.md\:flex{display:flex}}
|
|
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:228 14% 8%;--foreground:220 10% 90%;--card:225 14% 11%;--card-foreground:220 10% 90%;--popover:225 14% 11%;--popover-foreground:220 10% 90%;--primary:262 83% 58%;--primary-foreground:0 0% 100%;--secondary:225 14% 15%;--secondary-foreground:220 10% 90%;--muted:225 14% 15%;--muted-foreground:220 10% 55%;--accent:225 14% 18%;--accent-foreground:220 10% 90%;--destructive:0 84% 60%;--destructive-foreground:0 0% 100%;--border:225 14% 18%;--input:225 14% 18%;--ring:262 83% 58%;--radius:0.5rem}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\201C""\201D""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgb(17 24 39/10%);--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:rgb(255 255 255/10%);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgb(0 0 0/50%);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.7142857}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;line-height:1.5555556;margin-top:.8888889em;margin-bottom:.8888889em}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-inline-start:1.1111111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.1428571em;margin-top:0;margin-bottom:.8em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.4285714em;margin-top:1.6em;margin-bottom:.8em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;margin-top:1.5555556em;margin-bottom:.4444444em;line-height:1.5555556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.4285714em;margin-bottom:.5714286em;line-height:1.4285714}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;border-radius:.3125rem;padding-top:.1428571em;padding-inline-end:.3571429em;padding-bottom:.1428571em;padding-inline-start:.3571429em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.6666667;margin-top:1.6666667em;margin-bottom:1.6666667em;border-radius:.25rem;padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;margin-bottom:.2857143em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;padding-inline-start:1.5714286em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.8571429em;margin-bottom:2.8571429em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.3333333;margin-top:.6666667em}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-invert{--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.-right-0\.5{right:-.125rem}.-top-0\.5{top:-.125rem}.bottom-full{bottom:100%}.left-1\/2{left:50%}.left-full{left:100%}.right-full{right:100%}.top-1\/2{top:50%}.top-full{top:100%}.z-50{z-index:50}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mb-0\.5{margin-bottom:.125rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.ml-0\.5{margin-left:.125rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.mt-2{margin-top:.5rem}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-4{height:1rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-72{max-height:18rem}.min-h-0{min-height:0}.min-h-\[80px\]{min-height:80px}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-6{width:1.5rem}.w-\[1px\]{width:1px}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-\[240px\]{min-width:240px}.max-w-\[300px\]{max-width:300px}.max-w-\[400px\]{max-width:400px}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{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-y-1\/2{--tw-translate-y:-50%}.transform{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 ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-default{cursor:default}.cursor-row-resize{cursor:row-resize}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.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))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-border{border-color:hsl(var(--border))}.border-border\/50{border-color:hsl(var(--border)/.5)}.border-emerald-500{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}.border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.border-input{border-color:hsl(var(--input))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-\[\#080808\]{--tw-bg-opacity:1;background-color:rgb(8 8 8/var(--tw-bg-opacity,1))}.bg-\[\#1F2229\]{--tw-bg-opacity:1;background-color:rgb(31 34 41/var(--tw-bg-opacity,1))}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-amber-500\/20{background-color:rgb(245 158 11/.2)}.bg-background{background-color:hsl(var(--background))}.bg-black\/20{background-color:rgb(0 0 0/.2)}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-500\/10{background-color:rgb(59 130 246/.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-card\/50{background-color:hsl(var(--card)/.5)}.bg-destructive{background-color:hsl(var(--destructive))}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-emerald-500\/10{background-color:rgb(16 185 129/.1)}.bg-emerald-500\/20{background-color:rgb(16 185 129/.2)}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-gray-500\/20{background-color:rgb(107 114 128/.2)}.bg-gray-800\/30{background-color:rgb(31 41 55/.3)}.bg-gray-800\/50{background-color:rgb(31 41 55/.5)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-red-500\/10{background-color:rgb(239 68 68/.1)}.bg-red-500\/20{background-color:rgb(239 68 68/.2)}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-yellow-500\/20{background-color:rgb(234 179 8/.2)}.bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.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\.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-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.text-left{text-align:left}.text-center{text-align:center}.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-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.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}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-border{color:hsl(var(--border))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.text-foreground{color:hsl(var(--foreground))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.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-muted-foreground{color:hsl(var(--muted-foreground))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/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))}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.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-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.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);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-emerald-500\/20{--tw-shadow-color:rgb(16 185 129/0.2);--tw-shadow:var(--tw-shadow-colored)}.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)}.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}.duration-300{transition-duration:.3s}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:hsl(225 14% 8%)}::-webkit-scrollbar-thumb{background:hsl(225 14% 22%);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:hsl(225 14% 30%)}.agent-output .prose{font-size:.875rem;line-height:1.25rem;line-height:1.625}.agent-output .prose pre{border-radius:calc(var(--radius) - 2px);background-color:rgb(0 0 0/.4)}.agent-output .prose code,.agent-output .prose pre{font-size:.75rem;line-height:1rem}.terminal-container .xterm{padding:8px}.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))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive)/.8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-emerald-700:hover{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.hover\:bg-primary\/50:hover{background-color:hsl(var(--primary)/.5)}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary)/.8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:bg-white\/5:hover{background-color:rgb(255 255 255/.05)}.hover\:bg-yellow-700:hover{--tw-bg-opacity:1;background-color:rgb(161 98 7/var(--tw-bg-opacity,1))}.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}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1: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(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.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)}.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-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-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:768px){.md\:block{display:block}.md\:flex{display:flex}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
self.__BUILD_MANIFEST=function(e,r,t,_){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:8,errorRate:1e-4,numBits:154,numHashes:14,bitArray:[1,1,0,r,r,0,r,e,e,r,r,e,r,r,r,r,e,r,e,e,r,r,e,e,r,e,e,e,e,e,r,r,r,e,e,e,e,r,r,e,r,r,e,r,e,e,e,r,e,e,r,e,r,e,e,e,e,r,e,e,r,e,e,e,e,e,e,r,e,r,r,e,e,e,e,e,r,r,e,r,e,r,r,e,r,e,r,e,r,e,r,e,r,r,e,r,e,e,e,r,r,r,r,r,e,e,e,e,e,r,e,r,r,e,e,r,r,e,r,e,e,r,r,r,r,r,e,r,e,e,e,r,r,e,r,e,e,e,r,r,r,e,r,r,r,r,r,e,r,e,e,e,e,r]},__routerFilterDynamic:{numItems:2,errorRate:1e-4,numBits:39,numHashes:14,bitArray:[r,r,e,r,r,e,r,e,r,r,r,e,e,e,r,e,e,e,r,r,e,r,e,r,r,r,e,e,r,e,e,e,e,r,e,r,r,e,r]},"/_error":["static/chunks/pages/_error-cb2a52f75f2162e2.js"],sortedPages:["/_app","/_error"]}}(0,1,1e-4,14),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
|
@@ -131,18 +131,23 @@ class SqlJsWrapper {
|
|
|
131
131
|
return () => {
|
|
132
132
|
this.db.run('BEGIN');
|
|
133
133
|
inTransaction = true;
|
|
134
|
+
let committed = false;
|
|
134
135
|
try {
|
|
135
136
|
const result = fn();
|
|
136
137
|
this.db.run('COMMIT');
|
|
137
|
-
|
|
138
|
+
committed = true;
|
|
138
139
|
this.persist();
|
|
139
140
|
return result;
|
|
140
141
|
}
|
|
141
142
|
catch (err) {
|
|
142
|
-
|
|
143
|
-
|
|
143
|
+
if (!committed) {
|
|
144
|
+
this.db.run('ROLLBACK');
|
|
145
|
+
}
|
|
144
146
|
throw err;
|
|
145
147
|
}
|
|
148
|
+
finally {
|
|
149
|
+
inTransaction = false;
|
|
150
|
+
}
|
|
146
151
|
};
|
|
147
152
|
}
|
|
148
153
|
/**
|
|
@@ -153,8 +158,20 @@ class SqlJsWrapper {
|
|
|
153
158
|
const data = this.db.export();
|
|
154
159
|
const buffer = Buffer.from(data);
|
|
155
160
|
const tmpPath = `${this.dbPath}.tmp`;
|
|
156
|
-
|
|
157
|
-
|
|
161
|
+
try {
|
|
162
|
+
fs.writeFileSync(tmpPath, buffer);
|
|
163
|
+
fs.renameSync(tmpPath, this.dbPath);
|
|
164
|
+
}
|
|
165
|
+
catch (err) {
|
|
166
|
+
try {
|
|
167
|
+
if (fs.existsSync(tmpPath))
|
|
168
|
+
fs.unlinkSync(tmpPath);
|
|
169
|
+
}
|
|
170
|
+
catch (_a) {
|
|
171
|
+
// best effort cleanup
|
|
172
|
+
}
|
|
173
|
+
throw err;
|
|
174
|
+
}
|
|
158
175
|
}
|
|
159
176
|
close() {
|
|
160
177
|
try {
|