@workflow/web 4.0.1-beta.6 → 4.0.1-beta.8
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 +8 -8
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/app/_not-found/page.js +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- 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/run/[runId]/page.js +3 -3
- package/.next/server/app/run/[runId]/page.js.nft.json +1 -1
- package/.next/server/app/run/[runId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/run/[runId]/streams/[streamId]/page.js +2 -2
- package/.next/server/app/run/[runId]/streams/[streamId]/page.js.nft.json +1 -1
- package/.next/server/app/run/[runId]/streams/[streamId]/page_client-reference-manifest.js +1 -1
- package/.next/server/chunks/{284.js → 134.js} +5 -5
- package/.next/server/chunks/52.js +57 -0
- package/.next/server/chunks/701.js +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/426-0784ba3ecf0e6d86.js +1 -0
- package/.next/static/chunks/app/layout-e3b18068e089126f.js +1 -0
- package/.next/static/chunks/app/{page-92b512054fefe7dc.js → page-797f11dc406cf1d5.js} +1 -1
- package/.next/static/chunks/app/run/[runId]/page-5bd19893cc2c11c5.js +1 -0
- package/.next/static/chunks/app/run/[runId]/streams/[streamId]/{page-9ca88d50db5320e7.js → page-f339767d4463460e.js} +1 -1
- package/.next/static/css/9680a31f7a3e38f1.css +3 -0
- package/.next/trace +20 -19
- package/LICENSE.md +201 -21
- package/package.json +7 -7
- package/.next/server/chunks/400.js +0 -23
- package/.next/static/chunks/437-dfae0cbaa433eb31.js +0 -1
- package/.next/static/chunks/app/layout-eff84f9e6ca7e8c7.js +0 -1
- package/.next/static/chunks/app/run/[runId]/page-d0c9fe2df86a6064.js +0 -1
- package/.next/static/css/a00c8c80a311d901.css +0 -3
- /package/.next/static/{FagD_5Rbn9Vaajzd7K5BF → kRJ3iFJ3qMj0SwQ6GOGlX}/_buildManifest.js +0 -0
- /package/.next/static/{FagD_5Rbn9Vaajzd7K5BF → kRJ3iFJ3qMj0SwQ6GOGlX}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[974],{5988:(e,s,t)=>{"use strict";t.d(s,{s:()=>o});var a=t(5386),r=t(1049),l=t(5505),n=t(4773),d=t(8257);function o(e){let{date:s,className:t="",type:o="relative"}=e,[,i]=(0,n.useState)(Date.now()),c="relative"===o?(0,r.o)(new Date(s),new Date):(0,l.B)(new Date(s),{addSuffix:!0}),h=new Date(s).toLocaleString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:"short"});return(0,n.useEffect)(()=>{let e=setInterval(()=>{i(Date.now())},1e3);return()=>clearInterval(e)},[]),(0,a.jsxs)(d.m_,{children:[(0,a.jsx)(d.k$,{asChild:!0,children:(0,a.jsx)("span",{className:"".concat(t," cursor-help border-b border-dotted"),children:c})}),(0,a.jsx)(d.ZI,{children:(0,a.jsx)("p",{children:h})})]})}},6634:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>Z});var a=t(5386),r=t(3283),l=t(7394),n=t(8537),d=t(4750),o=t(316),i=t(3039),c=t(8258);let h=(0,c.A)("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]),u=(0,c.A)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);var x=t(4773),m=t(7122),f=t(6016),j=t(8414),p=t.n(j),g=t(2287);let w=x.forwardRef((e,s)=>{let{className:t,href:r,children:l,...n}=e,d=r.startsWith("http")?r:"https://useworkflow.dev/docs/".concat(r.replace(/^\//,""));return(0,a.jsx)(p(),{href:d,className:(0,g.cn)("font-medium underline underline-offset-4 transition-colors",t),style:{color:"var(--ds-blue-600)"},target:"_blank",rel:"noopener noreferrer",ref:s,...n,children:l})});w.displayName="DocsLink";let N=x.forwardRef((e,s)=>{let{className:t,...r}=e;return(0,a.jsx)("div",{className:"relative w-full overflow-auto",children:(0,a.jsx)("table",{ref:s,className:(0,g.cn)("w-full caption-bottom text-sm",t),...r})})});N.displayName="Table";let b=x.forwardRef((e,s)=>{let{className:t,...r}=e;return(0,a.jsx)("thead",{ref:s,className:(0,g.cn)("[&_tr]:border-b",t),...r})});b.displayName="TableHeader";let v=x.forwardRef((e,s)=>{let{className:t,...r}=e;return(0,a.jsx)("tbody",{ref:s,className:(0,g.cn)("[&_tr:last-child]:border-0",t),...r})});v.displayName="TableBody",x.forwardRef((e,s)=>{let{className:t,...r}=e;return(0,a.jsx)("tfoot",{ref:s,className:(0,g.cn)("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",t),...r})}).displayName="TableFooter";let k=x.forwardRef((e,s)=>{let{className:t,...r}=e;return(0,a.jsx)("tr",{ref:s,className:(0,g.cn)("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",t),...r})});k.displayName="TableRow";let y=x.forwardRef((e,s)=>{let{className:t,...r}=e;return(0,a.jsx)("th",{ref:s,className:(0,g.cn)("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",t),...r})});y.displayName="TableHead";let C=x.forwardRef((e,s)=>{let{className:t,...r}=e;return(0,a.jsx)("td",{ref:s,className:(0,g.cn)("p-4 align-middle [&:has([role=checkbox])]:pr-0",t),...r})});C.displayName="TableCell",x.forwardRef((e,s)=>{let{className:t,...r}=e;return(0,a.jsx)("caption",{ref:s,className:(0,g.cn)("mt-4 text-sm text-muted-foreground",t),...r})}).displayName="TableCaption";var I=t(8257),R=t(8052),S=t(5988);function A(e){let{className:s,...t}=e;return(0,a.jsx)("div",{className:(0,g.cn)("animate-pulse rounded-md bg-muted",s),...t})}let M=e=>{let{rows:s}=e;return Array.from({length:s},(e,s)=>(0,a.jsxs)("div",{className:"flex gap-4 py-3",children:[(0,a.jsx)(A,{className:"h-4 w-1/4"}),(0,a.jsx)(A,{className:"h-4 w-1/4"}),(0,a.jsx)(A,{className:"h-4 w-1/6"}),(0,a.jsx)(A,{className:"h-4 w-1/6"}),(0,a.jsx)(A,{className:"h-4 w-1/6"})]},"skeleton-row-".concat(s)))};function _(e){let{title:s,rows:t=g.yQ,bodyOnly:r=!1}=e;return r?(0,a.jsx)(M,{rows:t}):(0,a.jsxs)("div",{className:"w-full",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[s?(0,a.jsx)(A,{className:"h-6 w-32"}):(0,a.jsx)(A,{className:"h-6 w-48"}),(0,a.jsxs)("div",{className:"flex items-center gap-4",children:[(0,a.jsx)(A,{className:"h-4 w-24"}),(0,a.jsx)(A,{className:"h-9 w-24"})]})]}),(0,a.jsxs)("div",{className:"space-y-3",style:{minHeight:"512px"},children:[(0,a.jsxs)("div",{className:"flex gap-4 pb-3 border-b",children:[(0,a.jsx)(A,{className:"h-4 w-1/4"}),(0,a.jsx)(A,{className:"h-4 w-1/4"}),(0,a.jsx)(A,{className:"h-4 w-1/6"}),(0,a.jsx)(A,{className:"h-4 w-1/6"}),(0,a.jsx)(A,{className:"h-4 w-1/6"})]}),(0,a.jsx)(M,{rows:t})]})]})}function P(e){var s;let{config:t,runId:r,onHookClick:l,selectedHookId:c}=e,[j,p]=(0,x.useState)(()=>new Date),g=(0,x.useMemo)(()=>(0,R.nO)(t),[t]),{data:A,error:M,nextPage:P,previousPage:L,hasNextPage:D,hasPreviousPage:$,reload:z,pageInfo:E}=(0,n.LK)(g,{runId:r,sortOrder:"desc"}),F=A.isLoading,T=null!=(s=A.data)?s:[],[Z,O]=(0,x.useState)(new Map);return((0,x.useEffect)(()=>{T.length&&(async()=>{let e=new Map;for(let s of T)e.set(s.hookId,{count:0,hasMore:!1,loading:!0});O(e);let s=await Promise.allSettled(T.map(async e=>{try{let t=await (0,d.u)(g,e.hookId,{sortOrder:"asc",limit:100});if(!t.success){var s;return{hookId:e.hookId,count:Error((null==(s=t.error)?void 0:s.message)||"Failed to fetch events"),hasMore:!1}}let a=t.data,r=a.data.filter(e=>"hook_received"===e.eventType).length;return{hookId:e.hookId,count:r,hasMore:a.hasMore}}catch(s){return{hookId:e.hookId,count:s,hasMore:!1}}}));O(e=>{let t=new Map(e);for(let e=0;e<s.length;e++){let a=s[e],r=T[e].hookId;"fulfilled"===a.status?t.set(a.value.hookId,{count:a.value.count,hasMore:a.value.hasMore,loading:!1}):t.set(r,{count:0,hasMore:!1,loading:!1})}return t})})()},[T,g]),!F||(null==A?void 0:A.data))?(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center justify-between my-4",children:[(0,a.jsx)("h2",{className:"text-2xl my-2 font-semibold leading-none tracking-tight",children:"Hooks"}),(0,a.jsxs)("div",{className:"flex items-center gap-4",children:[j&&(0,a.jsx)(S.s,{date:j,className:"text-sm text-muted-foreground",type:"distance"}),(0,a.jsxs)(I.m_,{children:[(0,a.jsx)(I.k$,{asChild:!0,children:(0,a.jsxs)(f.$,{variant:"outline",size:"sm",onClick:()=>{p(()=>new Date),z()},disabled:F,children:[(0,a.jsx)(o.A,{className:F?"animate-spin":""}),"Refresh"]})}),(0,a.jsx)(I.ZI,{children:"Note that this resets pages"})]})]})]}),M?(0,a.jsxs)(m.Fc,{variant:"destructive",children:[(0,a.jsx)(i.A,{className:"h-4 w-4"}),(0,a.jsx)(m.XL,{children:"Error loading hooks"}),(0,a.jsx)(m.TN,{children:(0,n.u1)(M)})]}):F||T&&0!==T.length?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(N,{children:[(0,a.jsx)(b,{children:(0,a.jsxs)(k,{children:[(0,a.jsx)(y,{children:"Hook ID"}),(0,a.jsx)(y,{children:"Run ID"}),(0,a.jsx)(y,{children:"Token"}),(0,a.jsx)(y,{children:"Created"}),(0,a.jsx)(y,{children:"Invocations"})]})}),(0,a.jsx)(v,{children:T.map(e=>(0,a.jsxs)(k,{className:"cursor-pointer group relative",onClick:()=>l(e.hookId,e.runId),"data-selected":e.hookId===c,children:[(0,a.jsx)(C,{className:"font-mono text-xs",children:e.hookId}),(0,a.jsx)(C,{className:"font-mono text-xs",children:e.runId}),(0,a.jsxs)(C,{className:"font-mono text-xs",children:[e.token.substring(0,12),"..."]}),(0,a.jsx)(C,{children:e.createdAt?(0,a.jsx)(S.s,{date:e.createdAt}):"-"}),(0,a.jsx)(C,{children:(e=>{let s=Z.get(e.hookId);if(!s||s.loading)return(0,a.jsx)("span",{className:"text-muted-foreground text-xs",children:"..."});if(s.count instanceof Error)return(0,a.jsx)("span",{className:"text-muted-foreground",children:"Error"});if(0===s.count)return(0,a.jsx)("span",{className:"text-muted-foreground",children:"0"});let t=s.hasMore?"".concat(s.count,"+"):"".concat(s.count);return s.hasMore?(0,a.jsxs)(I.m_,{children:[(0,a.jsx)(I.k$,{asChild:!0,children:(0,a.jsx)("span",{className:"font-semibold cursor-help",children:t})}),(0,a.jsx)(I.ZI,{children:(0,a.jsx)("div",{className:"text-xs",children:"Showing first 100 invocations. There may be more."})})]}):(0,a.jsx)("span",{className:"font-semibold",children:t})})(e)})]},e.hookId))})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between mt-4",children:[(0,a.jsx)("div",{className:"text-sm text-muted-foreground",children:E}),(0,a.jsxs)("div",{className:"flex gap-2 items-center",children:[(0,a.jsxs)(f.$,{variant:"outline",size:"sm",onClick:L,disabled:!$,children:[(0,a.jsx)(h,{}),"Previous"]}),(0,a.jsxs)(f.$,{variant:"outline",size:"sm",onClick:P,disabled:!D,children:["Next",(0,a.jsx)(u,{})]})]})]})]}):(0,a.jsxs)("div",{className:"text-center py-8 text-muted-foreground",children:["No active hooks found."," ",(0,a.jsx)(w,{href:"https://useworkflow.dev/docs/api-reference/workflow/create-hook",children:"Learn how to create a hook"})]})]}):(0,a.jsx)(_,{title:"Hooks"})}var L=t(2931);let D=(0,c.A)("ArrowDownAZ",[["path",{d:"m3 16 4 4 4-4",key:"1co6wj"}],["path",{d:"M7 20V4",key:"1yoxec"}],["path",{d:"M20 8h-5",key:"1vsyxs"}],["path",{d:"M15 10V6.5a2.5 2.5 0 0 1 5 0V10",key:"ag13bf"}],["path",{d:"M15 14h5l-5 6h5",key:"ur5jdg"}]]),$=(0,c.A)("ArrowUpAZ",[["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}],["path",{d:"M20 8h-5",key:"1vsyxs"}],["path",{d:"M15 10V6.5a2.5 2.5 0 0 1 5 0V10",key:"ag13bf"}],["path",{d:"M15 14h5l-5 6h5",key:"ur5jdg"}]]);var z=t(9432),E=t(6810);let F={pending:{label:"Pending",color:"bg-neutral-600 dark:bg-neutral-400"},running:{label:"Running",color:"bg-blue-600 dark:bg-blue-400"},completed:{label:"Completed",color:"bg-green-600 dark:bg-green-400"},failed:{label:"Failed",color:"bg-red-600 dark:bg-red-400"},paused:{label:"Paused",color:"bg-yellow-600 dark:bg-yellow-400"},cancelled:{label:"Cancelled",color:"bg-gray-600 dark:bg-gray-400"}};function T(e){var s,t;let{config:l,onRunClick:d}=e,c=(0,r.useRouter)(),j=(0,r.usePathname)(),p=(0,r.useSearchParams)(),g=p.get("status"),A=Object.keys(F),M="all"===g||g&&A.includes(g)?g:void 0,P=p.get("workflow"),[T,Z]=(0,x.useState)("desc"),[O,U]=(0,x.useState)(()=>new Date),H=(0,x.useMemo)(()=>(0,R.nO)(l),[l]),V=null==(s=l.backend)?void 0:s.includes("vercel"),[q,W]=(0,x.useState)(new Set),{data:J,error:B,nextPage:K,previousPage:X,hasNextPage:Q,hasPreviousPage:Y,reload:G,pageInfo:ee}=(0,n.b_)(H,{sortOrder:T,workflowName:"all"===P?void 0:P,status:"all"===M?void 0:M});(0,x.useEffect)(()=>{if(J.data&&J.data.length>0){let e=new Set(J.data.map(e=>e.workflowName));W(s=>{let t=new Set(s);for(let s of e)t.add(s);return t})}},[J.data]);let es=J.isLoading,et=(0,x.useCallback)((e,s)=>{let t=new URLSearchParams(p.toString());return t.set(e,s),t.toString()},[p]);return!es||(null==J?void 0:J.data)?(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center justify-between my-4",children:[(0,a.jsxs)("h2",{className:"text-2xl my-2 font-semibold leading-none tracking-tight flex gap-4 items-end",children:[(0,a.jsx)("span",{className:"flex items-center gap-2",children:"Runs"}),O&&(0,a.jsx)(S.s,{date:O,className:"text-sm text-muted-foreground",type:"distance"})]}),(0,a.jsx)("div",{className:"flex items-center gap-4",children:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(z.l6,{value:null!=P?P:"all",onValueChange:e=>{if("all"===e){let e=new URLSearchParams(p.toString());e.delete("workflow"),e.delete("status"),c.push("".concat(j,"?").concat(e.toString()))}else c.push("".concat(j,"?").concat(et("workflow",e)))},disabled:es,children:[(0,a.jsx)(z.bq,{className:"w-[180px] h-9",children:(0,a.jsx)(z.yv,{placeholder:"Filter by workflow"})}),(0,a.jsxs)(z.gC,{children:[(0,a.jsx)(z.eb,{value:"all",children:"All Workflows"}),Array.from(q).sort().map(e=>{var s;return(0,a.jsx)(z.eb,{value:e,children:(null==(s=(0,L.s)(e))?void 0:s.shortName)||e},e)})]})]}),(0,a.jsxs)(I.m_,{children:[(0,a.jsx)(I.k$,{asChild:!0,children:(0,a.jsx)("div",{children:(0,a.jsxs)(z.l6,{value:M||"all",onValueChange:e=>{if("all"===e){let e=new URLSearchParams(p.toString());e.delete("status"),c.push("".concat(j,"?").concat(e.toString()))}else c.push("".concat(j,"?").concat(et("status",e)))},disabled:es||V&&!P,children:[(0,a.jsx)(z.bq,{className:"w-[140px] h-9",children:(0,a.jsx)(z.yv,{placeholder:"Filter by status"})}),(0,a.jsxs)(z.gC,{children:[(0,a.jsx)(z.eb,{value:"all",children:"All"}),Object.entries(F).map(e=>{let[s,{label:t,color:r}]=e;return(0,a.jsx)(z.eb,{value:s,children:(0,a.jsxs)("div",{className:"flex items-center",children:[(0,a.jsx)("span",{className:"".concat(r," size-1.5 rounded-full mr-2")}),t]})},s)})]})]})})}),(0,a.jsx)(I.ZI,{children:V&&"all"===P?"Select a workflow first to filter by status":"Filter runs by status"})]}),(0,a.jsxs)(I.m_,{children:[(0,a.jsx)(I.k$,{asChild:!0,children:(0,a.jsxs)(f.$,{variant:"outline",size:"sm",onClick:()=>{Z(e=>"desc"===e?"asc":"desc")},disabled:es,children:["desc"===T?(0,a.jsx)(D,{className:"h-4 w-4"}):(0,a.jsx)($,{className:"h-4 w-4"}),"desc"===T?"Newest":"Oldest"]})}),(0,a.jsx)(I.ZI,{children:"desc"===T?"Showing newest first":"Showing oldest first"})]}),(0,a.jsxs)(I.m_,{children:[(0,a.jsx)(I.k$,{asChild:!0,children:(0,a.jsxs)(f.$,{variant:"outline",size:"sm",onClick:()=>{U(()=>new Date),G()},disabled:es,children:[(0,a.jsx)(o.A,{className:es?"animate-spin":""}),"Refresh"]})}),(0,a.jsx)(I.ZI,{children:"Note that this resets pages"})]})]})})]}),B?(0,a.jsxs)(m.Fc,{variant:"destructive",children:[(0,a.jsx)(i.A,{className:"h-4 w-4"}),(0,a.jsx)(m.XL,{children:"Error loading runs"}),(0,a.jsx)(m.TN,{children:(0,n.u1)(B)})]}):es||J.data&&0!==J.data.length?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(N,{children:[(0,a.jsx)(b,{children:(0,a.jsxs)(k,{children:[(0,a.jsx)(y,{children:"Workflow"}),(0,a.jsx)(y,{children:"Run ID"}),(0,a.jsx)(y,{children:"Status"}),(0,a.jsx)(y,{children:"Started"}),(0,a.jsx)(y,{children:"Completed"})]})}),(0,a.jsx)(v,{children:null==(t=J.data)?void 0:t.map(e=>{var s;return(0,a.jsxs)(k,{className:"cursor-pointer group relative",onClick:()=>d(e.runId),children:[(0,a.jsx)(C,{children:(null==(s=(0,L.s)(e.workflowName))?void 0:s.shortName)||"?"}),(0,a.jsx)(C,{className:"font-mono text-xs",children:e.runId}),(0,a.jsx)(C,{children:(0,a.jsx)(E.W,{status:e.status,context:e})}),(0,a.jsx)(C,{children:e.startedAt?(0,a.jsx)(S.s,{date:e.startedAt}):"-"}),(0,a.jsx)(C,{children:e.completedAt?(0,a.jsx)(S.s,{date:e.completedAt}):"-"})]},e.runId)})})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between mt-4",children:[(0,a.jsx)("div",{className:"text-sm text-muted-foreground",children:ee}),(0,a.jsxs)("div",{className:"flex gap-2 items-center",children:[(0,a.jsxs)(f.$,{variant:"outline",size:"sm",onClick:X,disabled:!Y,children:[(0,a.jsx)(h,{}),"Previous"]}),(0,a.jsxs)(f.$,{variant:"outline",size:"sm",onClick:K,disabled:!Q,children:["Next",(0,a.jsx)(u,{})]})]})]})]}):(0,a.jsxs)("div",{className:"text-center py-8 text-muted-foreground",children:["No workflow runs found."," ",(0,a.jsx)(w,{href:"https://useworkflow.dev/docs/foundations/workflows-and-steps",children:"Learn how to create a workflow"})]})]}):(0,a.jsx)(_,{title:"Runs"})}function Z(){let e=(0,r.useRouter)(),s=(0,r.useSearchParams)(),t=(0,R.Nt)(),n=s.get("sidebar"),d=s.get("hookId")||s.get("hook");return(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsx)(l.t,{title:"Runs Error",description:"Failed to load workflow runs. Please try refreshing the page.",children:(0,a.jsx)(T,{config:t,onRunClick:(s,a)=>{a?e.push((0,R.g0)("/run/".concat(s,"/streams/").concat(a),t)):e.push((0,R.g0)("/run/".concat(s),t))}})}),(0,a.jsx)(l.t,{title:"Hooks Error",description:"Failed to load hooks. Please try refreshing the page.",children:(0,a.jsx)(P,{config:t,onHookClick:(s,a)=>{s?e.push((0,R.g0)("/run/".concat(a),t,{sidebar:"hook",hookId:s})):e.push((0,R.g0)("/run/".concat(a),t))},selectedHookId:"hook"===n&&d?d:void 0})})]})}},6741:(e,s,t)=>{Promise.resolve().then(t.bind(t,6634))},6810:(e,s,t)=>{"use strict";t.d(s,{W:()=>l});var a=t(5386),r=t(8257);function l(e){let{status:s,context:t,className:l}=e,n=()=>{switch(s){case"running":return"text-blue-600 dark:text-blue-400";case"completed":return"text-green-600 dark:text-green-400";case"failed":return"text-red-600 dark:text-red-400";case"cancelled":return"text-yellow-600 dark:text-yellow-400";case"pending":return"text-gray-600 dark:text-gray-400";case"paused":return"text-orange-600 dark:text-orange-400";default:return"text-gray-500 dark:text-gray-400"}};if("failed"===s&&(null==t?void 0:t.error)){let e="string"==typeof t.error?t.error:t.error instanceof Error?t.error.message:JSON.stringify(t.error);return(0,a.jsxs)(r.m_,{children:[(0,a.jsx)(r.k$,{asChild:!0,children:(0,a.jsx)("span",{className:"".concat(l," border-b border-dotted cursor-help ").concat(n()),children:s})}),(0,a.jsx)(r.ZI,{className:"max-w-md",children:(0,a.jsx)("p",{className:"text-xs whitespace-pre-wrap break-words",children:e})})]})}return(0,a.jsx)("span",{className:"".concat(l," ").concat(n()),children:s})}},8257:(e,s,t)=>{"use strict";t.d(s,{ZI:()=>i,k$:()=>o,m_:()=>d});var a=t(5386),r=t(7384),l=t(4773),n=t(2287);r.Kq;let d=r.bL,o=r.l9,i=l.forwardRef((e,s)=>{let{className:t,sideOffset:l=4,...d}=e;return(0,a.jsx)(r.UC,{ref:s,sideOffset:l,className:(0,n.cn)("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 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...d})});i.displayName=r.UC.displayName},9432:(e,s,t)=>{"use strict";t.d(s,{bq:()=>u,eb:()=>j,gC:()=>f,l6:()=>c,yv:()=>h});var a=t(5386),r=t(9961),l=t(406),n=t(7163),d=t(7536),o=t(4773),i=t(2287);let c=r.bL;r.YJ;let h=r.WT,u=o.forwardRef((e,s)=>{let{className:t,children:n,...d}=e;return(0,a.jsxs)(r.l9,{ref:s,className:(0,i.cn)("flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",t),...d,children:[n,(0,a.jsx)(r.In,{asChild:!0,children:(0,a.jsx)(l.A,{className:"h-4 w-4 opacity-50"})})]})});u.displayName=r.l9.displayName;let x=o.forwardRef((e,s)=>{let{className:t,...l}=e;return(0,a.jsx)(r.PP,{ref:s,className:(0,i.cn)("flex cursor-default items-center justify-center py-1",t),...l,children:(0,a.jsx)(n.A,{className:"h-4 w-4"})})});x.displayName=r.PP.displayName;let m=o.forwardRef((e,s)=>{let{className:t,...n}=e;return(0,a.jsx)(r.wn,{ref:s,className:(0,i.cn)("flex cursor-default items-center justify-center py-1",t),...n,children:(0,a.jsx)(l.A,{className:"h-4 w-4"})})});m.displayName=r.wn.displayName;let f=o.forwardRef((e,s)=>{let{className:t,children:l,position:n="popper",...d}=e;return(0,a.jsx)(r.ZL,{children:(0,a.jsxs)(r.UC,{ref:s,className:(0,i.cn)("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2","popper"===n&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:n,...d,children:[(0,a.jsx)(x,{}),(0,a.jsx)(r.LM,{className:(0,i.cn)("p-1","popper"===n&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:l}),(0,a.jsx)(m,{})]})})});f.displayName=r.UC.displayName,o.forwardRef((e,s)=>{let{className:t,...l}=e;return(0,a.jsx)(r.JU,{ref:s,className:(0,i.cn)("py-1.5 pl-8 pr-2 text-sm font-semibold",t),...l})}).displayName=r.JU.displayName;let j=o.forwardRef((e,s)=>{let{className:t,children:l,...n}=e;return(0,a.jsxs)(r.q7,{ref:s,className:(0,i.cn)("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...n,children:[(0,a.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,a.jsx)(r.VF,{children:(0,a.jsx)(d.A,{className:"h-4 w-4"})})}),(0,a.jsx)(r.p4,{children:l})]})});j.displayName=r.q7.displayName,o.forwardRef((e,s)=>{let{className:t,...l}=e;return(0,a.jsx)(r.wv,{ref:s,className:(0,i.cn)("-mx-1 my-1 h-px bg-muted",t),...l})}).displayName=r.wv.displayName}},e=>{e.O(0,[246,703,337,829,81,690,437,909,624,358],()=>e(e.s=6741)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[974],{5988:(e,s,t)=>{"use strict";t.d(s,{s:()=>o});var a=t(5386),r=t(1049),l=t(5505),n=t(4773),d=t(8257);function o(e){let{date:s,className:t="",type:o="relative"}=e,[,i]=(0,n.useState)(Date.now()),c="relative"===o?(0,r.o)(new Date(s),new Date):(0,l.B)(new Date(s),{addSuffix:!0}),h=new Date(s).toLocaleString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:"short"});return(0,n.useEffect)(()=>{let e=setInterval(()=>{i(Date.now())},1e3);return()=>clearInterval(e)},[]),(0,a.jsxs)(d.m_,{children:[(0,a.jsx)(d.k$,{asChild:!0,children:(0,a.jsx)("span",{className:"".concat(t," cursor-help border-b border-dotted"),children:c})}),(0,a.jsx)(d.ZI,{children:(0,a.jsx)("p",{children:h})})]})}},6634:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>Z});var a=t(5386),r=t(3283),l=t(7394),n=t(6006),d=t(1280),o=t(316),i=t(3039),c=t(8258);let h=(0,c.A)("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]),u=(0,c.A)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);var x=t(4773),m=t(7122),f=t(6016),j=t(8414),p=t.n(j),g=t(2287);let w=x.forwardRef((e,s)=>{let{className:t,href:r,children:l,...n}=e,d=r.startsWith("http")?r:"https://useworkflow.dev/docs/".concat(r.replace(/^\//,""));return(0,a.jsx)(p(),{href:d,className:(0,g.cn)("font-medium underline underline-offset-4 transition-colors",t),style:{color:"var(--ds-blue-600)"},target:"_blank",rel:"noopener noreferrer",ref:s,...n,children:l})});w.displayName="DocsLink";let N=x.forwardRef((e,s)=>{let{className:t,...r}=e;return(0,a.jsx)("div",{className:"relative w-full overflow-auto",children:(0,a.jsx)("table",{ref:s,className:(0,g.cn)("w-full caption-bottom text-sm",t),...r})})});N.displayName="Table";let b=x.forwardRef((e,s)=>{let{className:t,...r}=e;return(0,a.jsx)("thead",{ref:s,className:(0,g.cn)("[&_tr]:border-b",t),...r})});b.displayName="TableHeader";let v=x.forwardRef((e,s)=>{let{className:t,...r}=e;return(0,a.jsx)("tbody",{ref:s,className:(0,g.cn)("[&_tr:last-child]:border-0",t),...r})});v.displayName="TableBody",x.forwardRef((e,s)=>{let{className:t,...r}=e;return(0,a.jsx)("tfoot",{ref:s,className:(0,g.cn)("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",t),...r})}).displayName="TableFooter";let k=x.forwardRef((e,s)=>{let{className:t,...r}=e;return(0,a.jsx)("tr",{ref:s,className:(0,g.cn)("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",t),...r})});k.displayName="TableRow";let y=x.forwardRef((e,s)=>{let{className:t,...r}=e;return(0,a.jsx)("th",{ref:s,className:(0,g.cn)("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",t),...r})});y.displayName="TableHead";let C=x.forwardRef((e,s)=>{let{className:t,...r}=e;return(0,a.jsx)("td",{ref:s,className:(0,g.cn)("p-4 align-middle [&:has([role=checkbox])]:pr-0",t),...r})});C.displayName="TableCell",x.forwardRef((e,s)=>{let{className:t,...r}=e;return(0,a.jsx)("caption",{ref:s,className:(0,g.cn)("mt-4 text-sm text-muted-foreground",t),...r})}).displayName="TableCaption";var I=t(8257),R=t(8052),S=t(5988);function A(e){let{className:s,...t}=e;return(0,a.jsx)("div",{className:(0,g.cn)("animate-pulse rounded-md bg-muted",s),...t})}let M=e=>{let{rows:s}=e;return Array.from({length:s},(e,s)=>(0,a.jsxs)("div",{className:"flex gap-4 py-3",children:[(0,a.jsx)(A,{className:"h-4 w-1/4"}),(0,a.jsx)(A,{className:"h-4 w-1/4"}),(0,a.jsx)(A,{className:"h-4 w-1/6"}),(0,a.jsx)(A,{className:"h-4 w-1/6"}),(0,a.jsx)(A,{className:"h-4 w-1/6"})]},"skeleton-row-".concat(s)))};function _(e){let{title:s,rows:t=g.yQ,bodyOnly:r=!1}=e;return r?(0,a.jsx)(M,{rows:t}):(0,a.jsxs)("div",{className:"w-full",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[s?(0,a.jsx)(A,{className:"h-6 w-32"}):(0,a.jsx)(A,{className:"h-6 w-48"}),(0,a.jsxs)("div",{className:"flex items-center gap-4",children:[(0,a.jsx)(A,{className:"h-4 w-24"}),(0,a.jsx)(A,{className:"h-9 w-24"})]})]}),(0,a.jsxs)("div",{className:"space-y-3",style:{minHeight:"512px"},children:[(0,a.jsxs)("div",{className:"flex gap-4 pb-3 border-b",children:[(0,a.jsx)(A,{className:"h-4 w-1/4"}),(0,a.jsx)(A,{className:"h-4 w-1/4"}),(0,a.jsx)(A,{className:"h-4 w-1/6"}),(0,a.jsx)(A,{className:"h-4 w-1/6"}),(0,a.jsx)(A,{className:"h-4 w-1/6"})]}),(0,a.jsx)(M,{rows:t})]})]})}function P(e){var s;let{config:t,runId:r,onHookClick:l,selectedHookId:c}=e,[j,p]=(0,x.useState)(()=>new Date),g=(0,x.useMemo)(()=>(0,R.nO)(t),[t]),{data:A,error:M,nextPage:P,previousPage:L,hasNextPage:D,hasPreviousPage:$,reload:z,pageInfo:E}=(0,n.LK)(g,{runId:r,sortOrder:"desc"}),F=A.isLoading,T=null!=(s=A.data)?s:[],[Z,O]=(0,x.useState)(new Map);return((0,x.useEffect)(()=>{T.length&&(async()=>{let e=new Map;for(let s of T)e.set(s.hookId,{count:0,hasMore:!1,loading:!0});O(e);let s=await Promise.allSettled(T.map(async e=>{try{let t=await (0,d.u)(g,e.hookId,{sortOrder:"asc",limit:100});if(!t.success){var s;return{hookId:e.hookId,count:Error((null==(s=t.error)?void 0:s.message)||"Failed to fetch events"),hasMore:!1}}let a=t.data,r=a.data.filter(e=>"hook_received"===e.eventType).length;return{hookId:e.hookId,count:r,hasMore:a.hasMore}}catch(s){return{hookId:e.hookId,count:s,hasMore:!1}}}));O(e=>{let t=new Map(e);for(let e=0;e<s.length;e++){let a=s[e],r=T[e].hookId;"fulfilled"===a.status?t.set(a.value.hookId,{count:a.value.count,hasMore:a.value.hasMore,loading:!1}):t.set(r,{count:0,hasMore:!1,loading:!1})}return t})})()},[T,g]),!F||(null==A?void 0:A.data))?(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center justify-between my-4",children:[(0,a.jsx)("h2",{className:"text-2xl my-2 font-semibold leading-none tracking-tight",children:"Hooks"}),(0,a.jsxs)("div",{className:"flex items-center gap-4",children:[j&&(0,a.jsx)(S.s,{date:j,className:"text-sm text-muted-foreground",type:"distance"}),(0,a.jsxs)(I.m_,{children:[(0,a.jsx)(I.k$,{asChild:!0,children:(0,a.jsxs)(f.$,{variant:"outline",size:"sm",onClick:()=>{p(()=>new Date),z()},disabled:F,children:[(0,a.jsx)(o.A,{className:F?"animate-spin":""}),"Refresh"]})}),(0,a.jsx)(I.ZI,{children:"Note that this resets pages"})]})]})]}),M?(0,a.jsxs)(m.Fc,{variant:"destructive",children:[(0,a.jsx)(i.A,{className:"h-4 w-4"}),(0,a.jsx)(m.XL,{children:"Error loading hooks"}),(0,a.jsx)(m.TN,{children:(0,n.u1)(M)})]}):F||T&&0!==T.length?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(N,{children:[(0,a.jsx)(b,{children:(0,a.jsxs)(k,{children:[(0,a.jsx)(y,{children:"Hook ID"}),(0,a.jsx)(y,{children:"Run ID"}),(0,a.jsx)(y,{children:"Token"}),(0,a.jsx)(y,{children:"Created"}),(0,a.jsx)(y,{children:"Invocations"})]})}),(0,a.jsx)(v,{children:T.map(e=>(0,a.jsxs)(k,{className:"cursor-pointer group relative",onClick:()=>l(e.hookId,e.runId),"data-selected":e.hookId===c,children:[(0,a.jsx)(C,{className:"font-mono text-xs",children:e.hookId}),(0,a.jsx)(C,{className:"font-mono text-xs",children:e.runId}),(0,a.jsxs)(C,{className:"font-mono text-xs",children:[e.token.substring(0,12),"..."]}),(0,a.jsx)(C,{children:e.createdAt?(0,a.jsx)(S.s,{date:e.createdAt}):"-"}),(0,a.jsx)(C,{children:(e=>{let s=Z.get(e.hookId);if(!s||s.loading)return(0,a.jsx)("span",{className:"text-muted-foreground text-xs",children:"..."});if(s.count instanceof Error)return(0,a.jsx)("span",{className:"text-muted-foreground",children:"Error"});if(0===s.count)return(0,a.jsx)("span",{className:"text-muted-foreground",children:"0"});let t=s.hasMore?"".concat(s.count,"+"):"".concat(s.count);return s.hasMore?(0,a.jsxs)(I.m_,{children:[(0,a.jsx)(I.k$,{asChild:!0,children:(0,a.jsx)("span",{className:"font-semibold cursor-help",children:t})}),(0,a.jsx)(I.ZI,{children:(0,a.jsx)("div",{className:"text-xs",children:"Showing first 100 invocations. There may be more."})})]}):(0,a.jsx)("span",{className:"font-semibold",children:t})})(e)})]},e.hookId))})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between mt-4",children:[(0,a.jsx)("div",{className:"text-sm text-muted-foreground",children:E}),(0,a.jsxs)("div",{className:"flex gap-2 items-center",children:[(0,a.jsxs)(f.$,{variant:"outline",size:"sm",onClick:L,disabled:!$,children:[(0,a.jsx)(h,{}),"Previous"]}),(0,a.jsxs)(f.$,{variant:"outline",size:"sm",onClick:P,disabled:!D,children:["Next",(0,a.jsx)(u,{})]})]})]})]}):(0,a.jsxs)("div",{className:"text-center py-8 text-muted-foreground",children:["No active hooks found."," ",(0,a.jsx)(w,{href:"https://useworkflow.dev/docs/api-reference/workflow/create-hook",children:"Learn how to create a hook"})]})]}):(0,a.jsx)(_,{title:"Hooks"})}var L=t(2931);let D=(0,c.A)("ArrowDownAZ",[["path",{d:"m3 16 4 4 4-4",key:"1co6wj"}],["path",{d:"M7 20V4",key:"1yoxec"}],["path",{d:"M20 8h-5",key:"1vsyxs"}],["path",{d:"M15 10V6.5a2.5 2.5 0 0 1 5 0V10",key:"ag13bf"}],["path",{d:"M15 14h5l-5 6h5",key:"ur5jdg"}]]),$=(0,c.A)("ArrowUpAZ",[["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}],["path",{d:"M20 8h-5",key:"1vsyxs"}],["path",{d:"M15 10V6.5a2.5 2.5 0 0 1 5 0V10",key:"ag13bf"}],["path",{d:"M15 14h5l-5 6h5",key:"ur5jdg"}]]);var z=t(9432),E=t(6810);let F={pending:{label:"Pending",color:"bg-neutral-600 dark:bg-neutral-400"},running:{label:"Running",color:"bg-blue-600 dark:bg-blue-400"},completed:{label:"Completed",color:"bg-green-600 dark:bg-green-400"},failed:{label:"Failed",color:"bg-red-600 dark:bg-red-400"},paused:{label:"Paused",color:"bg-yellow-600 dark:bg-yellow-400"},cancelled:{label:"Cancelled",color:"bg-gray-600 dark:bg-gray-400"}};function T(e){var s,t;let{config:l,onRunClick:d}=e,c=(0,r.useRouter)(),j=(0,r.usePathname)(),p=(0,r.useSearchParams)(),g=p.get("status"),A=Object.keys(F),M="all"===g||g&&A.includes(g)?g:void 0,P=p.get("workflow"),[T,Z]=(0,x.useState)("desc"),[O,U]=(0,x.useState)(()=>new Date),H=(0,x.useMemo)(()=>(0,R.nO)(l),[l]),V=null==(s=l.backend)?void 0:s.includes("vercel"),[q,W]=(0,x.useState)(new Set),{data:J,error:B,nextPage:K,previousPage:X,hasNextPage:Q,hasPreviousPage:Y,reload:G,pageInfo:ee}=(0,n.b_)(H,{sortOrder:T,workflowName:"all"===P?void 0:P,status:"all"===M?void 0:M});(0,x.useEffect)(()=>{if(J.data&&J.data.length>0){let e=new Set(J.data.map(e=>e.workflowName));W(s=>{let t=new Set(s);for(let s of e)t.add(s);return t})}},[J.data]);let es=J.isLoading,et=(0,x.useCallback)((e,s)=>{let t=new URLSearchParams(p.toString());return t.set(e,s),t.toString()},[p]);return!es||(null==J?void 0:J.data)?(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center justify-between my-4",children:[(0,a.jsxs)("h2",{className:"text-2xl my-2 font-semibold leading-none tracking-tight flex gap-4 items-end",children:[(0,a.jsx)("span",{className:"flex items-center gap-2",children:"Runs"}),O&&(0,a.jsx)(S.s,{date:O,className:"text-sm text-muted-foreground",type:"distance"})]}),(0,a.jsx)("div",{className:"flex items-center gap-4",children:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(z.l6,{value:null!=P?P:"all",onValueChange:e=>{if("all"===e){let e=new URLSearchParams(p.toString());e.delete("workflow"),e.delete("status"),c.push("".concat(j,"?").concat(e.toString()))}else c.push("".concat(j,"?").concat(et("workflow",e)))},disabled:es,children:[(0,a.jsx)(z.bq,{className:"w-[180px] h-9",children:(0,a.jsx)(z.yv,{placeholder:"Filter by workflow"})}),(0,a.jsxs)(z.gC,{children:[(0,a.jsx)(z.eb,{value:"all",children:"All Workflows"}),Array.from(q).sort().map(e=>{var s;return(0,a.jsx)(z.eb,{value:e,children:(null==(s=(0,L.s)(e))?void 0:s.shortName)||e},e)})]})]}),(0,a.jsxs)(I.m_,{children:[(0,a.jsx)(I.k$,{asChild:!0,children:(0,a.jsx)("div",{children:(0,a.jsxs)(z.l6,{value:M||"all",onValueChange:e=>{if("all"===e){let e=new URLSearchParams(p.toString());e.delete("status"),c.push("".concat(j,"?").concat(e.toString()))}else c.push("".concat(j,"?").concat(et("status",e)))},disabled:es||V&&!P,children:[(0,a.jsx)(z.bq,{className:"w-[140px] h-9",children:(0,a.jsx)(z.yv,{placeholder:"Filter by status"})}),(0,a.jsxs)(z.gC,{children:[(0,a.jsx)(z.eb,{value:"all",children:"Any status"}),Object.entries(F).map(e=>{let[s,{label:t,color:r}]=e;return(0,a.jsx)(z.eb,{value:s,children:(0,a.jsxs)("div",{className:"flex items-center",children:[(0,a.jsx)("span",{className:"".concat(r," size-1.5 rounded-full mr-2")}),t]})},s)})]})]})})}),(0,a.jsx)(I.ZI,{children:V&&"all"===P?"Select a workflow first to filter by status":"Filter runs by status"})]}),(0,a.jsxs)(I.m_,{children:[(0,a.jsx)(I.k$,{asChild:!0,children:(0,a.jsxs)(f.$,{variant:"outline",size:"sm",onClick:()=>{Z(e=>"desc"===e?"asc":"desc")},disabled:es,children:["desc"===T?(0,a.jsx)(D,{className:"h-4 w-4"}):(0,a.jsx)($,{className:"h-4 w-4"}),"desc"===T?"Newest":"Oldest"]})}),(0,a.jsx)(I.ZI,{children:"desc"===T?"Showing newest first":"Showing oldest first"})]}),(0,a.jsxs)(I.m_,{children:[(0,a.jsx)(I.k$,{asChild:!0,children:(0,a.jsxs)(f.$,{variant:"outline",size:"sm",onClick:()=>{U(()=>new Date),G()},disabled:es,children:[(0,a.jsx)(o.A,{className:es?"animate-spin":""}),"Refresh"]})}),(0,a.jsx)(I.ZI,{children:"Note that this resets pages"})]})]})})]}),B?(0,a.jsxs)(m.Fc,{variant:"destructive",children:[(0,a.jsx)(i.A,{className:"h-4 w-4"}),(0,a.jsx)(m.XL,{children:"Error loading runs"}),(0,a.jsx)(m.TN,{children:(0,n.u1)(B)})]}):es||J.data&&0!==J.data.length?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(N,{children:[(0,a.jsx)(b,{children:(0,a.jsxs)(k,{children:[(0,a.jsx)(y,{children:"Workflow"}),(0,a.jsx)(y,{children:"Run ID"}),(0,a.jsx)(y,{children:"Status"}),(0,a.jsx)(y,{children:"Started"}),(0,a.jsx)(y,{children:"Completed"})]})}),(0,a.jsx)(v,{children:null==(t=J.data)?void 0:t.map(e=>{var s;return(0,a.jsxs)(k,{className:"cursor-pointer group relative",onClick:()=>d(e.runId),children:[(0,a.jsx)(C,{children:(null==(s=(0,L.s)(e.workflowName))?void 0:s.shortName)||"?"}),(0,a.jsx)(C,{className:"font-mono text-xs",children:e.runId}),(0,a.jsx)(C,{children:(0,a.jsx)(E.W,{status:e.status,context:e})}),(0,a.jsx)(C,{children:e.startedAt?(0,a.jsx)(S.s,{date:e.startedAt}):"-"}),(0,a.jsx)(C,{children:e.completedAt?(0,a.jsx)(S.s,{date:e.completedAt}):"-"})]},e.runId)})})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between mt-4",children:[(0,a.jsx)("div",{className:"text-sm text-muted-foreground",children:ee}),(0,a.jsxs)("div",{className:"flex gap-2 items-center",children:[(0,a.jsxs)(f.$,{variant:"outline",size:"sm",onClick:X,disabled:!Y,children:[(0,a.jsx)(h,{}),"Previous"]}),(0,a.jsxs)(f.$,{variant:"outline",size:"sm",onClick:K,disabled:!Q,children:["Next",(0,a.jsx)(u,{})]})]})]})]}):(0,a.jsxs)("div",{className:"text-center py-8 text-muted-foreground",children:["No workflow runs found."," ",(0,a.jsx)(w,{href:"https://useworkflow.dev/docs/foundations/workflows-and-steps",children:"Learn how to create a workflow"})]})]}):(0,a.jsx)(_,{title:"Runs"})}function Z(){let e=(0,r.useRouter)(),s=(0,r.useSearchParams)(),t=(0,R.Nt)(),n=s.get("sidebar"),d=s.get("hookId")||s.get("hook");return(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsx)(l.t,{title:"Runs Error",description:"Failed to load workflow runs. Please try refreshing the page.",children:(0,a.jsx)(T,{config:t,onRunClick:(s,a)=>{a?e.push((0,R.g0)("/run/".concat(s,"/streams/").concat(a),t)):e.push((0,R.g0)("/run/".concat(s),t))}})}),(0,a.jsx)(l.t,{title:"Hooks Error",description:"Failed to load hooks. Please try refreshing the page.",children:(0,a.jsx)(P,{config:t,onHookClick:(s,a)=>{s?e.push((0,R.g0)("/run/".concat(a),t,{sidebar:"hook",hookId:s})):e.push((0,R.g0)("/run/".concat(a),t))},selectedHookId:"hook"===n&&d?d:void 0})})]})}},6741:(e,s,t)=>{Promise.resolve().then(t.bind(t,6634))},6810:(e,s,t)=>{"use strict";t.d(s,{W:()=>l});var a=t(5386),r=t(8257);function l(e){let{status:s,context:t,className:l}=e,n=()=>{switch(s){case"running":return"text-blue-600 dark:text-blue-400";case"completed":return"text-green-600 dark:text-green-400";case"failed":return"text-red-600 dark:text-red-400";case"cancelled":return"text-yellow-600 dark:text-yellow-400";case"pending":return"text-gray-600 dark:text-gray-400";case"paused":return"text-orange-600 dark:text-orange-400";default:return"text-gray-500 dark:text-gray-400"}};if("failed"===s&&(null==t?void 0:t.error)){let e="string"==typeof t.error?t.error:t.error instanceof Error?t.error.message:JSON.stringify(t.error);return(0,a.jsxs)(r.m_,{children:[(0,a.jsx)(r.k$,{asChild:!0,children:(0,a.jsx)("span",{className:"".concat(l," border-b border-dotted cursor-help ").concat(n()),children:s})}),(0,a.jsx)(r.ZI,{className:"max-w-md",children:(0,a.jsx)("p",{className:"text-xs whitespace-pre-wrap break-words",children:e})})]})}return(0,a.jsx)("span",{className:"".concat(l," ").concat(n()),children:s})}},8257:(e,s,t)=>{"use strict";t.d(s,{ZI:()=>i,k$:()=>o,m_:()=>d});var a=t(5386),r=t(7384),l=t(4773),n=t(2287);r.Kq;let d=r.bL,o=r.l9,i=l.forwardRef((e,s)=>{let{className:t,sideOffset:l=4,...d}=e;return(0,a.jsx)(r.UC,{ref:s,sideOffset:l,className:(0,n.cn)("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 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...d})});i.displayName=r.UC.displayName},9432:(e,s,t)=>{"use strict";t.d(s,{bq:()=>u,eb:()=>j,gC:()=>f,l6:()=>c,yv:()=>h});var a=t(5386),r=t(9961),l=t(406),n=t(7163),d=t(7536),o=t(4773),i=t(2287);let c=r.bL;r.YJ;let h=r.WT,u=o.forwardRef((e,s)=>{let{className:t,children:n,...d}=e;return(0,a.jsxs)(r.l9,{ref:s,className:(0,i.cn)("flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",t),...d,children:[n,(0,a.jsx)(r.In,{asChild:!0,children:(0,a.jsx)(l.A,{className:"h-4 w-4 opacity-50"})})]})});u.displayName=r.l9.displayName;let x=o.forwardRef((e,s)=>{let{className:t,...l}=e;return(0,a.jsx)(r.PP,{ref:s,className:(0,i.cn)("flex cursor-default items-center justify-center py-1",t),...l,children:(0,a.jsx)(n.A,{className:"h-4 w-4"})})});x.displayName=r.PP.displayName;let m=o.forwardRef((e,s)=>{let{className:t,...n}=e;return(0,a.jsx)(r.wn,{ref:s,className:(0,i.cn)("flex cursor-default items-center justify-center py-1",t),...n,children:(0,a.jsx)(l.A,{className:"h-4 w-4"})})});m.displayName=r.wn.displayName;let f=o.forwardRef((e,s)=>{let{className:t,children:l,position:n="popper",...d}=e;return(0,a.jsx)(r.ZL,{children:(0,a.jsxs)(r.UC,{ref:s,className:(0,i.cn)("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2","popper"===n&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:n,...d,children:[(0,a.jsx)(x,{}),(0,a.jsx)(r.LM,{className:(0,i.cn)("p-1","popper"===n&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:l}),(0,a.jsx)(m,{})]})})});f.displayName=r.UC.displayName,o.forwardRef((e,s)=>{let{className:t,...l}=e;return(0,a.jsx)(r.JU,{ref:s,className:(0,i.cn)("py-1.5 pl-8 pr-2 text-sm font-semibold",t),...l})}).displayName=r.JU.displayName;let j=o.forwardRef((e,s)=>{let{className:t,children:l,...n}=e;return(0,a.jsxs)(r.q7,{ref:s,className:(0,i.cn)("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...n,children:[(0,a.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,a.jsx)(r.VF,{children:(0,a.jsx)(d.A,{className:"h-4 w-4"})})}),(0,a.jsx)(r.p4,{children:l})]})});j.displayName=r.q7.displayName,o.forwardRef((e,s)=>{let{className:t,...l}=e;return(0,a.jsx)(r.wv,{ref:s,className:(0,i.cn)("-mx-1 my-1 h-px bg-muted",t),...l})}).displayName=r.wv.displayName}},e=>{e.O(0,[246,703,337,829,81,690,426,909,624,358],()=>e(e.s=6741)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[417],{5988:(e,t,s)=>{"use strict";s.d(t,{s:()=>o});var r=s(5386),a=s(1049),n=s(5505),l=s(4773),d=s(8257);function o(e){let{date:t,className:s="",type:o="relative"}=e,[,c]=(0,l.useState)(Date.now()),i="relative"===o?(0,a.o)(new Date(t),new Date):(0,n.B)(new Date(t),{addSuffix:!0}),u=new Date(t).toLocaleString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:"short"});return(0,l.useEffect)(()=>{let e=setInterval(()=>{c(Date.now())},1e3);return()=>clearInterval(e)},[]),(0,r.jsxs)(d.m_,{children:[(0,r.jsx)(d.k$,{asChild:!0,children:(0,r.jsx)("span",{className:"".concat(s," cursor-help border-b border-dotted"),children:i})}),(0,r.jsx)(d.ZI,{children:(0,r.jsx)("p",{children:u})})]})}},6810:(e,t,s)=>{"use strict";s.d(t,{W:()=>n});var r=s(5386),a=s(8257);function n(e){let{status:t,context:s,className:n}=e,l=()=>{switch(t){case"running":return"text-blue-600 dark:text-blue-400";case"completed":return"text-green-600 dark:text-green-400";case"failed":return"text-red-600 dark:text-red-400";case"cancelled":return"text-yellow-600 dark:text-yellow-400";case"pending":return"text-gray-600 dark:text-gray-400";case"paused":return"text-orange-600 dark:text-orange-400";default:return"text-gray-500 dark:text-gray-400"}};if("failed"===t&&(null==s?void 0:s.error)){let e="string"==typeof s.error?s.error:s.error instanceof Error?s.error.message:JSON.stringify(s.error);return(0,r.jsxs)(a.m_,{children:[(0,r.jsx)(a.k$,{asChild:!0,children:(0,r.jsx)("span",{className:"".concat(n," border-b border-dotted cursor-help ").concat(l()),children:t})}),(0,r.jsx)(a.ZI,{className:"max-w-md",children:(0,r.jsx)("p",{className:"text-xs whitespace-pre-wrap break-words",children:e})})]})}return(0,r.jsx)("span",{className:"".concat(n," ").concat(l()),children:t})}},7307:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>P});var r=s(5386),a=s(3283),n=s(7394),l=s(2931),d=s(6006),o=s(3039),c=s(4773),i=s(8150),u=s(7122),x=s(2382),h=s(6016),m=s(2287);function f(e){let{...t}=e;return(0,r.jsx)(x.bL,{"data-slot":"alert-dialog",...t})}function j(e){let{...t}=e;return(0,r.jsx)(x.ZL,{"data-slot":"alert-dialog-portal",...t})}function g(e){let{className:t,...s}=e;return(0,r.jsx)(x.hJ,{"data-slot":"alert-dialog-overlay",className:(0,m.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",t),...s})}function p(e){let{className:t,...s}=e;return(0,r.jsxs)(j,{children:[(0,r.jsx)(g,{}),(0,r.jsx)(x.UC,{"data-slot":"alert-dialog-content",className:(0,m.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",t),...s})]})}function v(e){let{className:t,...s}=e;return(0,r.jsx)("div",{"data-slot":"alert-dialog-header",className:(0,m.cn)("flex flex-col gap-2 text-center sm:text-left",t),...s})}function w(e){let{className:t,...s}=e;return(0,r.jsx)("div",{"data-slot":"alert-dialog-footer",className:(0,m.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",t),...s})}function N(e){let{className:t,...s}=e;return(0,r.jsx)(x.hE,{"data-slot":"alert-dialog-title",className:(0,m.cn)("text-lg font-semibold",t),...s})}function y(e){let{className:t,...s}=e;return(0,r.jsx)(x.VY,{"data-slot":"alert-dialog-description",className:(0,m.cn)("text-muted-foreground text-sm",t),...s})}function b(e){let{className:t,...s}=e;return(0,r.jsx)(x.rc,{className:(0,m.cn)((0,h.r)(),t),...s})}function k(e){let{className:t,...s}=e;return(0,r.jsx)(x.ZD,{className:(0,m.cn)((0,h.r)({variant:"outline"}),t),...s})}var C=s(8052),R=s(7960),I=s(8649),A=s(8257);function E(e){let{canCancel:t,cancelling:s,cancelDisabledReason:a,onCancel:n}=e;return(0,r.jsxs)(A.m_,{children:[(0,r.jsx)(A.k$,{asChild:!0,children:(0,r.jsx)("span",{children:(0,r.jsxs)(h.$,{variant:"outline",size:"sm",onClick:n,disabled:!t||s,children:[(0,r.jsx)(I.A,{className:"h-4 w-4"}),s?"Cancelling...":"Cancel"]})})}),a&&(0,r.jsx)(A.ZI,{children:(0,r.jsx)("p",{children:a})})]})}var S=s(7536),_=s(2737);function D(e){let{text:t,children:s,className:a}=e,[n,l]=(0,c.useState)(!1),d=async()=>{try{await navigator.clipboard.writeText(t),l(!0),setTimeout(()=>l(!1),2e3)}catch(e){console.error("Failed to copy text:",e)}};return(0,r.jsxs)("div",{className:(0,m.cn)("flex items-center gap-2 group",a),children:[s,(0,r.jsxs)(A.m_,{children:[(0,r.jsx)(A.k$,{asChild:!0,children:(0,r.jsx)("button",{type:"button",onClick:d,className:"opacity-0 group-hover:opacity-100 transition-opacity","aria-label":"Copy to clipboard",children:n?(0,r.jsx)(S.A,{className:"h-3 w-3 text-green-600"}):(0,r.jsx)(_.A,{className:"h-3 w-3 text-muted-foreground hover:text-foreground"})})}),(0,r.jsx)(A.ZI,{children:(0,r.jsx)("p",{children:n?"Copied!":"Copy to clipboard"})})]})]})}function z(e){let{hasError:t,errorMessage:s}=e;return(0,r.jsx)("div",{className:"flex items-center gap-2",children:(0,r.jsxs)(A.m_,{children:[(0,r.jsx)(A.k$,{asChild:!0,children:(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsx)("div",{className:"w-2 h-2 rounded-full ".concat(t?"bg-red-500":"bg-green-500 animate-pulse")}),(0,r.jsx)("span",{className:"text-xs $\n hasError\n ? 'text-red-600 dark:text-red-400'\n : 'text-muted-foreground'",children:t?"Error":"Live"})]})}),(0,r.jsx)(A.ZI,{children:(0,r.jsx)("p",{children:t?"Error updating data: ".concat(s):"Content updates every ".concat(m.Oc/1e3," seconds")})})]})})}var Z=s(5988),$=s(4692);function F(e){let{canRerun:t,rerunning:s,rerunDisabledReason:a,onRerun:n}=e;return(0,r.jsxs)(A.m_,{children:[(0,r.jsx)(A.k$,{asChild:!0,children:(0,r.jsx)("span",{children:(0,r.jsxs)(h.$,{variant:"outline",size:"sm",onClick:n,disabled:!t||s,children:[(0,r.jsx)($.A,{className:"h-4 w-4"}),s?"Re-running...":"Re-run"]})})}),a&&(0,r.jsx)(A.ZI,{children:(0,r.jsx)("p",{children:a})})]})}var L=s(6810);function O(e){var t;let{config:s,runId:n,selectedId:x}=e,h=(0,a.useRouter)(),[m,j]=(0,c.useState)(!1),[g,I]=(0,c.useState)(!1),[A,S]=(0,c.useState)(!1),[_,$]=(0,c.useState)(!1),O=(0,c.useMemo)(()=>(0,C.nO)(s),[s]),{run:P,steps:T,hooks:W,events:J,loading:U,error:B,update:K}=(0,d.Qz)(O,n,{live:!0}),M=null!=P?P:{},Q=async()=>{if(!m)try{j(!0),S(!1),await (0,d.Su)(O,n),await K(),i.oR.success("Run cancelled successfully")}catch(e){console.error("Failed to cancel run:",e),i.oR.error("Failed to cancel run",{description:e instanceof Error?e.message:"An unknown error occurred"})}finally{j(!1)}},q=async()=>{if(!g)try{I(!0),$(!1);let e=await (0,d.Ns)(O,M.runId);i.oR.success("New run started successfully",{description:"Run ID: ".concat(e)}),h.push((0,C.g0)("/run/".concat(e),s))}catch(e){console.error("Failed to re-run workflow:",e),i.oR.error("Failed to start new run",{description:e instanceof Error?e.message:"An unknown error occurred"})}finally{I(!1),$(!1)}};if(B&&!P)return(0,r.jsxs)(u.Fc,{variant:"destructive",className:"m-4",children:[(0,r.jsx)(o.A,{className:"h-4 w-4"}),(0,r.jsx)(u.XL,{children:"Error loading workflow run"}),(0,r.jsx)(u.TN,{children:B.message})]});let V=(null==(t=(0,l.s)(M.workflowName))?void 0:t.shortName)||"?",X="pending"===M.status||"running"===M.status,Y=m?"Cancelling run...":"completed"===M.status?"Run has already completed":"failed"===M.status?"Run has already failed":"cancelled"===M.status?"Run has already been cancelled":"",G="pending"===M.status||"running"===M.status;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(f,{open:A,onOpenChange:S,children:(0,r.jsxs)(p,{children:[(0,r.jsxs)(v,{children:[(0,r.jsx)(N,{children:"Cancel Workflow Run?"}),(0,r.jsx)(y,{children:"This will stop the workflow execution immediately, and no further steps will be executed. Partial workflow execution may occur. Are you sure you want to cancel the run?"})]}),(0,r.jsxs)(w,{children:[(0,r.jsx)(k,{children:"Keep Running"}),(0,r.jsx)(b,{onClick:Q,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Cancel Run"})]})]})}),(0,r.jsx)(f,{open:_,onOpenChange:$,children:(0,r.jsxs)(p,{children:[(0,r.jsxs)(v,{children:[(0,r.jsx)(N,{children:"Re-run Workflow?"}),(0,r.jsx)(y,{children:"This can potentially re-run code that is meant to only execute once. Are you sure you want to re-run the workflow?"})]}),(0,r.jsxs)(w,{children:[(0,r.jsx)(k,{children:"Cancel"}),(0,r.jsx)(b,{onClick:q,children:"Re-run Workflow"})]})]})}),(0,r.jsxs)("div",{className:"space-y-6",children:[(0,r.jsx)(R.E,{href:(0,C.g0)("/",s)}),(0,r.jsxs)("div",{className:"space-y-4 pb-6 border-b",children:[(0,r.jsxs)("div",{className:"flex items-start justify-between",children:[(0,r.jsx)("div",{className:"mb-6",children:(0,r.jsx)("h1",{className:"text-2xl font-semibold",children:V})}),(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,r.jsx)(z,{hasError:!1,errorMessage:""}),(0,r.jsx)(F,{canRerun:!U&&!G&&!g,rerunning:g,rerunDisabledReason:g?"Re-running workflow...":U?"Loading run data...":G?"Cannot re-run while workflow is still running":"",onRerun:()=>{$(!0)}}),(0,r.jsx)(E,{canCancel:X,cancelling:m,cancelDisabledReason:Y,onCancel:()=>{S(!0)}})]})]}),(0,r.jsxs)("div",{className:"flex items-start gap-8",children:[(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,r.jsx)("div",{className:"text-xs text-muted-foreground",children:"Status"}),(0,r.jsx)(L.W,{status:M.status||"...",context:M})]}),(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,r.jsx)("div",{className:"text-xs text-muted-foreground",children:"Run ID"}),(0,r.jsx)(D,{text:M.runId,children:(0,r.jsx)("div",{className:"text-sm mt-0.5 font-mono",children:M.runId})})]}),(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,r.jsx)("div",{className:"text-xs text-muted-foreground",children:"Queued"}),(0,r.jsx)("div",{className:"text-sm",children:M.createdAt?(0,r.jsx)(Z.s,{date:M.createdAt}):"-"})]}),(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,r.jsx)("div",{className:"text-xs text-muted-foreground",children:"Started"}),(0,r.jsx)("div",{className:"text-sm",children:M.startedAt?(0,r.jsx)(Z.s,{date:M.startedAt}):"-"})]}),(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,r.jsx)("div",{className:"text-xs text-muted-foreground",children:"Completed"}),(0,r.jsx)("div",{className:"text-sm",children:M.completedAt?(0,r.jsx)(Z.s,{date:M.completedAt}):"-"})]})]})]}),(0,r.jsx)(d.J9,{error:B,steps:T,events:J,hooks:W,env:O,run:M,isLoading:U})]})]})}function P(){let e=(0,a.useParams)(),t=(0,a.useSearchParams)(),s=(0,C.Nt)(),l=e.runId,d=t.get("stepId")||t.get("step"),o=t.get("eventId")||t.get("event"),c=t.get("hookId")||t.get("hook");return(0,r.jsx)(n.t,{title:"Run Detail Error",description:"Failed to load run details. Please try navigating back to the home page.",children:(0,r.jsx)(O,{config:s,runId:l,selectedId:d||o||c||void 0})})}},7960:(e,t,s)=>{"use strict";s.d(t,{E:()=>d});var r=s(5386),a=s(7437),n=s(8414),l=s.n(n);function d(e){let{href:t,label:s="Back"}=e;return(0,r.jsxs)(l(),{href:t,className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-2",children:[(0,r.jsx)(a.A,{className:"h-4 w-4"}),s]})}},8252:(e,t,s)=>{Promise.resolve().then(s.bind(s,7307))},8257:(e,t,s)=>{"use strict";s.d(t,{ZI:()=>c,k$:()=>o,m_:()=>d});var r=s(5386),a=s(7384),n=s(4773),l=s(2287);a.Kq;let d=a.bL,o=a.l9,c=n.forwardRef((e,t)=>{let{className:s,sideOffset:n=4,...d}=e;return(0,r.jsx)(a.UC,{ref:t,sideOffset:n,className:(0,l.cn)("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 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",s),...d})});c.displayName=a.UC.displayName}},e=>{e.O(0,[246,703,337,829,81,383,426,909,624,358],()=>e(e.s=8252)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[627],{3686:(e,t,r)=>{Promise.resolve().then(r.bind(r,8462))},7437:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(8258).A)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},7960:(e,t,r)=>{"use strict";r.d(t,{E:()=>l});var s=r(5386),a=r(7437),n=r(8414),c=r.n(n);function l(e){let{href:t,label:r="Back"}=e;return(0,s.jsxs)(c(),{href:t,className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-2",children:[(0,s.jsx)(a.A,{className:"h-4 w-4"}),r]})}},8462:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>x});var s=r(5386),a=r(3283),n=r(4773),c=r(7394),l=r(
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[627],{3686:(e,t,r)=>{Promise.resolve().then(r.bind(r,8462))},7437:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});let s=(0,r(8258).A)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},7960:(e,t,r)=>{"use strict";r.d(t,{E:()=>l});var s=r(5386),a=r(7437),n=r(8414),c=r.n(n);function l(e){let{href:t,label:r="Back"}=e;return(0,s.jsxs)(c(),{href:t,className:"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground transition-colors mb-2",children:[(0,s.jsx)(a.A,{className:"h-4 w-4"}),r]})}},8462:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>x});var s=r(5386),a=r(3283),n=r(4773),c=r(7394),l=r(6006),i=r(2338),d=r(8052),o=r(7960);function u(e){let{env:t,streamId:r}=e,c=(0,a.useParams)().runId,[u,x]=(0,n.useState)([]),[m,h]=(0,n.useState)(!0),[f,g]=(0,n.useState)(null),j=(0,n.useRef)(null),p=(0,n.useRef)(null),v=(0,n.useRef)(0);(0,n.useEffect)(()=>{j.current&&(j.current.scrollTop=j.current.scrollHeight)},[u.length]),(0,n.useEffect)(()=>{let e=!0;p.current=new AbortController;let s=()=>{e&&h(!1)},a=t=>{if(e&&t){let e=v.current++;x(r=>[...r,{id:e,text:t}])}},n=async(e,t)=>{for(;;){var r;if(null==(r=p.current)?void 0:r.signal.aborted)break;let{value:n,done:c}=await e.read();if(c){s();break}n&&n.byteLength>0&&a(t.decode(n,{stream:!0}))}};return(async()=>{try{let e=(await (0,l.bv)(t,r)).getReader(),s=new TextDecoder;await n(e,s)}catch(t){e&&(g(t instanceof Error?t.message:String(t)),h(!1))}})(),()=>{e=!1,p.current&&p.current.abort()}},[t,r]);let b=c?(0,d.g0)("/run/".concat(c),t):(0,d.g0)("/",t);return(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsx)(o.E,{href:b}),(0,s.jsxs)(i.Zp,{children:[(0,s.jsx)(i.aR,{children:(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)(i.ZB,{className:"font-mono text-sm",children:r}),(0,s.jsx)("div",{className:"flex items-center gap-2",children:(0,s.jsx)("span",{className:"text-sm ".concat(m?"text-green-600 dark:text-green-400":"text-gray-600 dark:text-gray-400"),children:m?"● Live":"● Closed"})})]})}),(0,s.jsx)(i.Wu,{children:(0,s.jsx)("div",{ref:j,className:"bg-black text-green-400 font-mono text-sm p-4 rounded-md h-[600px] overflow-auto whitespace-pre-wrap break-words",children:f?(0,s.jsxs)("div",{className:"text-red-400",children:[(0,s.jsx)("div",{children:"Error reading stream:"}),(0,s.jsx)("div",{children:f})]}):0===u.length?(0,s.jsx)("div",{className:"text-gray-500",children:m?"Waiting for stream data...":"Stream is empty"}):(0,s.jsx)(s.Fragment,{children:u.map(e=>(0,s.jsx)("span",{children:e.text},"".concat(r,"-chunk-").concat(e.id)))})})})]})]})}function x(){let e=(0,a.useParams)(),t=(0,d.Nt)(),r=(0,n.useMemo)(()=>(0,d.nO)(t),[t]),l=e.streamId;return(0,s.jsx)(c.t,{title:"Stream Error",description:"Failed to load stream data. Please try navigating back and selecting the stream again.",children:(0,s.jsx)(u,{env:r,streamId:l})})}}},e=>{e.O(0,[246,703,829,426,909,624,358],()=>e(e.s=3686)),_N_E=e.O()}]);
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8d697b304b401681-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba015fad6dcf6784-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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/4cf2300e9c8272f7-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:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_188709{font-family:Geist,Geist Fallback;font-style:normal}.__variable_188709{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9610d9e46709d722-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/747892c23ea88013-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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/93f479601ee12b01-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:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_9a8899{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_9a8899{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
|
|
2
|
+
|
|
3
|
+
/*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-orange-400:oklch(75% .183 55.934);--color-orange-600:oklch(64.6% .222 41.116);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-600:oklch(68.1% .162 75.834);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-600:oklch(54.6% .245 262.881);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--leading-relaxed:1.625;--radius-sm:.375rem;--radius-md:calc(var(--radius));--radius-lg:.75rem;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--radius:calc(var(--radius));--color-background:hsl(var(--background));--color-foreground:hsl(var(--foreground));--color-card:hsl(var(--card));--color-card-foreground:hsl(var(--card-foreground));--color-popover:hsl(var(--popover));--color-popover-foreground:hsl(var(--popover-foreground));--color-primary:hsl(var(--primary));--color-primary-foreground:hsl(var(--primary-foreground));--color-secondary:hsl(var(--secondary));--color-secondary-foreground:hsl(var(--secondary-foreground));--color-muted:hsl(var(--muted));--color-muted-foreground:hsl(var(--muted-foreground));--color-accent:hsl(var(--accent));--color-accent-foreground:hsl(var(--accent-foreground));--color-destructive:hsl(var(--destructive));--color-destructive-foreground:hsl(var(--destructive-foreground));--color-border:hsl(var(--border));--color-input:hsl(var(--input));--color-ring:hsl(var(--ring))}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-9{top:calc(var(--spacing)*9)}.top-\[50\%\]{top:50%}.right-0{right:calc(var(--spacing)*0)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-2{left:calc(var(--spacing)*2)}.left-\[50\%\]{left:50%}.z-40{z-index:40}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-4{margin:calc(var(--spacing)*4)}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-2{margin-block:calc(var(--spacing)*2)}.my-4{margin-block:calc(var(--spacing)*4)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-1\.5{width:calc(var(--spacing)*1.5);height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-12{height:calc(var(--spacing)*12)}.h-\[600px\]{height:600px}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-96{max-height:calc(var(--spacing)*96)}.min-h-screen{min-height:100vh}.w-1\/4{width:25%}.w-1\/6{width:16.6667%}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-11{width:calc(var(--spacing)*11)}.w-24{width:calc(var(--spacing)*24)}.w-32{width:calc(var(--spacing)*32)}.w-48{width:calc(var(--spacing)*48)}.w-96{width:calc(var(--spacing)*96)}.w-\[140px\]{width:140px}.w-\[180px\]{width:180px}.w-auto{width:auto}.w-full{width:100%}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-md{max-width:var(--container-md)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.translate-x-\[-50\%\]{--tw-translate-x:-50%}.translate-x-\[-50\%\],.translate-y-\[-50\%\]{translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0{gap:calc(var(--spacing)*0)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:var(--radius)}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dotted{--tw-border-style:dotted;border-style:dotted}.border-destructive{border-color:var(--color-destructive)}.border-destructive\/50{border-color:color-mix(in srgb,hsl(var(--destructive))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/50{border-color:color-mix(in oklab,var(--color-destructive)50%,transparent)}}.border-input{border-color:var(--color-input)}.border-transparent{border-color:#0000}.border-white{border-color:var(--color-white)}.bg-background{background-color:var(--color-background)}.bg-background\/80{background-color:color-mix(in srgb,hsl(var(--background))80%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-background\/80{background-color:color-mix(in oklab,var(--color-background)80%,transparent)}}.bg-black{background-color:var(--color-black)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-card{background-color:var(--color-card)}.bg-destructive{background-color:var(--color-destructive)}.bg-destructive\/5{background-color:color-mix(in srgb,hsl(var(--destructive))5%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/5{background-color:color-mix(in oklab,var(--color-destructive)5%,transparent)}}.bg-gray-600{background-color:var(--color-gray-600)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-600{background-color:var(--color-green-600)}.bg-muted{background-color:var(--color-muted)}.bg-muted\/50{background-color:color-mix(in srgb,hsl(var(--muted))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--color-muted)50%,transparent)}}.bg-neutral-600{background-color:var(--color-neutral-600)}.bg-popover{background-color:var(--color-popover)}.bg-primary{background-color:var(--color-primary)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-600{background-color:var(--color-red-600)}.bg-secondary{background-color:var(--color-secondary)}.bg-yellow-600{background-color:var(--color-yellow-600)}.fill-foreground{fill:var(--color-foreground)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-8{padding-block:calc(var(--spacing)*8)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-4{padding-top:calc(var(--spacing)*4)}.pr-2{padding-right:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pl-8{padding-left:calc(var(--spacing)*8)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-blue-600{color:var(--color-blue-600)}.text-card-foreground{color:var(--color-card-foreground)}.text-destructive{color:var(--color-destructive)}.text-destructive-foreground{color:var(--color-destructive-foreground)}.text-foreground{color:var(--color-foreground)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-green-400{color:var(--color-green-400)}.text-green-600{color:var(--color-green-600)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-orange-600{color:var(--color-orange-600)}.text-popover-foreground{color:var(--color-popover-foreground)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-red-400{color:var(--color-red-400)}.text-red-600{color:var(--color-red-600)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.text-yellow-600{color:var(--color-yellow-600)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.shadow-lg,.shadow-md{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.ring-0,.shadow-sm{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)}.ring-offset-background{--tw-ring-offset-color:var(--color-background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-\[\.toast\]\:bg-muted:is(:where(.group).toast *){background-color:var(--color-muted)}.group-\[\.toast\]\:bg-primary:is(:where(.group).toast *){background-color:var(--color-primary)}.group-\[\.toast\]\:text-muted-foreground:is(:where(.group).toast *){color:var(--color-muted-foreground)}.group-\[\.toast\]\:text-primary-foreground:is(:where(.group).toast *){color:var(--color-primary-foreground)}.group-\[\.toaster\]\:border-border:is(:where(.group).toaster *){border-color:var(--color-border)}.group-\[\.toaster\]\:border-destructive:is(:where(.group).toaster *){border-color:var(--color-destructive)}.group-\[\.toaster\]\:border-green-600:is(:where(.group).toaster *){border-color:var(--color-green-600)}.group-\[\.toaster\]\:bg-background:is(:where(.group).toaster *){background-color:var(--color-background)}.group-\[\.toaster\]\:bg-destructive:is(:where(.group).toaster *){background-color:var(--color-destructive)}.group-\[\.toaster\]\:bg-green-600:is(:where(.group).toaster *){background-color:var(--color-green-600)}.group-\[\.toaster\]\:text-destructive-foreground:is(:where(.group).toaster *){color:var(--color-destructive-foreground)}.group-\[\.toaster\]\:text-foreground:is(:where(.group).toaster *){color:var(--color-foreground)}.group-\[\.toaster\]\:text-white:is(:where(.group).toaster *){color:var(--color-white)}.group-\[\.toaster\]\:shadow-lg:is(:where(.group).toaster *){--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--color-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--color-muted-foreground)}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-destructive\/90:hover{background-color:color-mix(in srgb,hsl(var(--destructive))90%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--color-destructive)90%,transparent)}}.hover\:bg-muted\/50:hover{background-color:color-mix(in srgb,hsl(var(--muted))50%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--color-muted)50%,transparent)}}.hover\:bg-primary\/90:hover{background-color:color-mix(in srgb,hsl(var(--primary))90%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--color-primary)90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:color-mix(in srgb,hsl(var(--secondary))80%,transparent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--color-secondary)80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--color-accent-foreground)}.hover\:text-foreground:hover{color:var(--color-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:brightness-95:hover{--tw-brightness:brightness(95%);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,)}}.focus\:bg-accent:focus{background-color:var(--color-accent)}.focus\:text-accent-foreground:focus{color:var(--color-accent-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--color-ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--color-ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--color-background)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x:calc(var(--spacing)*5);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--color-primary)}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--color-muted)}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--color-input)}@media (min-width:40rem){.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}}@media (min-width:48rem){.md\:w-2\/3{width:66.6667%}}@media (min-width:64rem){.lg\:w-1\/2{width:50%}}@media (prefers-color-scheme:dark){.dark\:border-destructive{border-color:var(--color-destructive)}.dark\:bg-blue-400{background-color:var(--color-blue-400)}.dark\:bg-gray-400{background-color:var(--color-gray-400)}.dark\:bg-green-400{background-color:var(--color-green-400)}.dark\:bg-neutral-400{background-color:var(--color-neutral-400)}.dark\:bg-red-400{background-color:var(--color-red-400)}.dark\:bg-yellow-400{background-color:var(--color-yellow-400)}.dark\:text-blue-400{color:var(--color-blue-400)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-green-400{color:var(--color-green-400)}.dark\:text-orange-400{color:var(--color-orange-400)}.dark\:text-red-400{color:var(--color-red-400)}.dark\:text-yellow-400{color:var(--color-yellow-400)}}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing)*0)}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:top-4>svg{top:calc(var(--spacing)*4)}.\[\&\>svg\]\:left-4>svg{left:calc(var(--spacing)*4)}.\[\&\>svg\]\:text-destructive>svg{color:var(--color-destructive)}.\[\&\>svg\]\:text-foreground>svg{color:var(--color-foreground)}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:calc(var(--spacing)*7)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}:root{--background:0 0% 100%;--foreground:0 0% 3.9%;--card:0 0% 100%;--card-foreground:0 0% 3.9%;--popover:0 0% 100%;--popover-foreground:0 0% 3.9%;--primary:0 0% 9%;--primary-foreground:0 0% 98%;--secondary:0 0% 96.1%;--secondary-foreground:0 0% 9%;--muted:0 0% 96.1%;--muted-foreground:0 0% 45.1%;--accent:0 0% 96.1%;--accent-foreground:0 0% 9%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:0 0% 89.8%;--input:0 0% 89.8%;--ring:0 0% 3.9%;--radius:.5rem;--ds-background-100:#fff;--ds-background-200:#fafafa;--ds-gray-100:#fafafa;--ds-gray-200:#f5f5f5;--ds-gray-300:#e5e5e5;--ds-gray-400:#d4d4d4;--ds-gray-500:#a3a3a3;--ds-gray-600:#737373;--ds-gray-700:#525252;--ds-gray-800:#404040;--ds-gray-900:#171717;--ds-gray-1000:#000;--ds-gray-alpha-100:#00000005;--ds-gray-alpha-200:#0000000a;--ds-gray-alpha-300:#00000014;--ds-gray-alpha-400:#0000001f;--ds-gray-alpha-500:#0000004d;--ds-gray-alpha-600:#00000080;--ds-gray-alpha-700:#0009;--ds-gray-alpha-800:#000000b3;--ds-gray-alpha-900:#000000e6;--ds-blue-100:#e0f2fe;--ds-blue-200:#bae6fd;--ds-blue-300:#7dd3fc;--ds-blue-400:#38bdf8;--ds-blue-500:#0ea5e9;--ds-blue-600:#0284c7;--ds-blue-700:#0369a1;--ds-blue-800:#075985;--ds-blue-900:#0c4a6e;--ds-blue-1000:#082f49;--ds-red-100:#fee2e2;--ds-red-200:#fecaca;--ds-red-300:#fca5a5;--ds-red-400:#f87171;--ds-red-500:#ef4444;--ds-red-600:#dc2626;--ds-red-700:#b91c1c;--ds-red-800:#991b1b;--ds-red-900:#7f1d1d;--ds-red-1000:#450a0a;--ds-amber-100:#fef3c7;--ds-amber-200:#fde68a;--ds-amber-300:#fcd34d;--ds-amber-400:#fbbf24;--ds-amber-500:#f59e0b;--ds-amber-600:#d97706;--ds-amber-700:#b45309;--ds-amber-800:#92400e;--ds-amber-900:#78350f;--ds-amber-1000:#451a03;--ds-green-100:#dcfce7;--ds-green-200:#bbf7d0;--ds-green-300:#86efac;--ds-green-400:#4ade80;--ds-green-500:#22c55e;--ds-green-600:#16a34a;--ds-green-700:#15803d;--ds-green-800:#166534;--ds-green-900:#14532d;--ds-green-1000:#052e16;--ds-teal-100:#ccfbf1;--ds-teal-200:#99f6e4;--ds-teal-300:#5eead4;--ds-teal-400:#2dd4bf;--ds-teal-500:#14b8a6;--ds-teal-600:#0d9488;--ds-teal-700:#0f766e;--ds-teal-800:#115e59;--ds-teal-900:#134e4a;--ds-teal-1000:#042f2e;--ds-purple-100:#f3e8ff;--ds-purple-200:#e9d5ff;--ds-purple-300:#d8b4fe;--ds-purple-400:#c084fc;--ds-purple-500:#a855f7;--ds-purple-600:#9333ea;--ds-purple-700:#7e22ce;--ds-purple-800:#6b21a8;--ds-purple-900:#581c87;--ds-purple-1000:#3b0764;--ds-pink-100:#fce7f3;--ds-pink-200:#fbcfe8;--ds-pink-300:#f9a8d4;--ds-pink-400:#f472b6;--ds-pink-500:#ec4899;--ds-pink-600:#db2777;--ds-pink-700:#be185d;--ds-pink-800:#9d174d;--ds-pink-900:#831843;--ds-pink-1000:#500724;--ds-shadow-small:0 0 0 1px #00000012,0 2px 4px #0000000d,0 12px 24px #0000000d;--ds-shadow-medium:0 0 0 1px #00000012,0 4px 8px #00000012,0 24px 48px #00000012;--ds-shadow-large:0 0 0 1px #00000012,0 8px 16px #0000001a,0 48px 96px #0000001a}@media (prefers-color-scheme:dark){:root:not(.light){--background:0 0% 3.9%;--foreground:0 0% 98%;--card:0 0% 3.9%;--card-foreground:0 0% 98%;--popover:0 0% 3.9%;--popover-foreground:0 0% 98%;--primary:0 0% 98%;--primary-foreground:0 0% 9%;--secondary:0 0% 14.9%;--secondary-foreground:0 0% 98%;--muted:0 0% 14.9%;--muted-foreground:0 0% 63.9%;--accent:0 0% 14.9%;--accent-foreground:0 0% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--border:0 0% 14.9%;--input:0 0% 14.9%;--ring:0 0% 83.1%;--ds-background-100:#000;--ds-background-200:#0a0a0a;--ds-gray-100:#111;--ds-gray-200:#171717;--ds-gray-300:#292929;--ds-gray-400:#404040;--ds-gray-500:#737373;--ds-gray-600:#a3a3a3;--ds-gray-700:#d4d4d4;--ds-gray-800:#e5e5e5;--ds-gray-900:#f5f5f5;--ds-gray-1000:#fff;--ds-gray-alpha-100:#ffffff05;--ds-gray-alpha-200:#ffffff0a;--ds-gray-alpha-300:#ffffff14;--ds-gray-alpha-400:#ffffff1f;--ds-gray-alpha-500:#ffffff4d;--ds-gray-alpha-600:#ffffff80;--ds-gray-alpha-700:#fff9;--ds-gray-alpha-800:#ffffffb3;--ds-gray-alpha-900:#ffffffe6;--ds-blue-100:#082f49;--ds-blue-200:#0c4a6e;--ds-blue-300:#075985;--ds-blue-400:#0369a1;--ds-blue-500:#0284c7;--ds-blue-600:#0ea5e9;--ds-blue-700:#38bdf8;--ds-blue-800:#7dd3fc;--ds-blue-900:#bae6fd;--ds-blue-1000:#e0f2fe;--ds-red-100:#450a0a;--ds-red-200:#7f1d1d;--ds-red-300:#991b1b;--ds-red-400:#b91c1c;--ds-red-500:#dc2626;--ds-red-600:#ef4444;--ds-red-700:#f87171;--ds-red-800:#fca5a5;--ds-red-900:#fecaca;--ds-red-1000:#fee2e2;--ds-amber-100:#451a03;--ds-amber-200:#78350f;--ds-amber-300:#92400e;--ds-amber-400:#b45309;--ds-amber-500:#d97706;--ds-amber-600:#f59e0b;--ds-amber-700:#fbbf24;--ds-amber-800:#fcd34d;--ds-amber-900:#fde68a;--ds-amber-1000:#fef3c7;--ds-green-100:#052e16;--ds-green-200:#14532d;--ds-green-300:#166534;--ds-green-400:#15803d;--ds-green-500:#16a34a;--ds-green-600:#22c55e;--ds-green-700:#4ade80;--ds-green-800:#86efac;--ds-green-900:#bbf7d0;--ds-green-1000:#dcfce7;--ds-teal-100:#042f2e;--ds-teal-200:#134e4a;--ds-teal-300:#115e59;--ds-teal-400:#0f766e;--ds-teal-500:#0d9488;--ds-teal-600:#14b8a6;--ds-teal-700:#2dd4bf;--ds-teal-800:#5eead4;--ds-teal-900:#99f6e4;--ds-teal-1000:#ccfbf1;--ds-purple-100:#3b0764;--ds-purple-200:#581c87;--ds-purple-300:#6b21a8;--ds-purple-400:#7e22ce;--ds-purple-500:#9333ea;--ds-purple-600:#a855f7;--ds-purple-700:#c084fc;--ds-purple-800:#d8b4fe;--ds-purple-900:#e9d5ff;--ds-purple-1000:#f3e8ff;--ds-pink-100:#500724;--ds-pink-200:#831843;--ds-pink-300:#9d174d;--ds-pink-400:#be185d;--ds-pink-500:#db2777;--ds-pink-600:#ec4899;--ds-pink-700:#f472b6;--ds-pink-800:#f9a8d4;--ds-pink-900:#fbcfe8;--ds-pink-1000:#fce7f3;--ds-shadow-small:0 0 0 1px #ffffff12,0 2px 4px #0000004d,0 12px 24px #0000004d;--ds-shadow-medium:0 0 0 1px #ffffff12,0 4px 8px #0006,0 24px 48px #0006;--ds-shadow-large:0 0 0 1px #ffffff12,0 8px 16px #00000080,0 48px 96px #00000080}}.dark{--background:0 0% 3.9%;--foreground:0 0% 98%;--card:0 0% 3.9%;--card-foreground:0 0% 98%;--popover:0 0% 3.9%;--popover-foreground:0 0% 98%;--primary:0 0% 98%;--primary-foreground:0 0% 9%;--secondary:0 0% 14.9%;--secondary-foreground:0 0% 98%;--muted:0 0% 14.9%;--muted-foreground:0 0% 63.9%;--accent:0 0% 14.9%;--accent-foreground:0 0% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--border:0 0% 14.9%;--input:0 0% 14.9%;--ring:0 0% 83.1%;--ds-background-100:#000;--ds-background-200:#0a0a0a;--ds-gray-100:#111;--ds-gray-200:#171717;--ds-gray-300:#292929;--ds-gray-400:#404040;--ds-gray-500:#737373;--ds-gray-600:#a3a3a3;--ds-gray-700:#d4d4d4;--ds-gray-800:#e5e5e5;--ds-gray-900:#f5f5f5;--ds-gray-1000:#fff;--ds-gray-alpha-100:#ffffff05;--ds-gray-alpha-200:#ffffff0a;--ds-gray-alpha-300:#ffffff14;--ds-gray-alpha-400:#ffffff1f;--ds-gray-alpha-500:#ffffff4d;--ds-gray-alpha-600:#ffffff80;--ds-gray-alpha-700:#fff9;--ds-gray-alpha-800:#ffffffb3;--ds-gray-alpha-900:#ffffffe6;--ds-blue-100:#082f49;--ds-blue-200:#0c4a6e;--ds-blue-300:#075985;--ds-blue-400:#0369a1;--ds-blue-500:#0284c7;--ds-blue-600:#0ea5e9;--ds-blue-700:#38bdf8;--ds-blue-800:#7dd3fc;--ds-blue-900:#bae6fd;--ds-blue-1000:#e0f2fe;--ds-red-100:#450a0a;--ds-red-200:#7f1d1d;--ds-red-300:#991b1b;--ds-red-400:#b91c1c;--ds-red-500:#dc2626;--ds-red-600:#ef4444;--ds-red-700:#f87171;--ds-red-800:#fca5a5;--ds-red-900:#fecaca;--ds-red-1000:#fee2e2;--ds-amber-100:#451a03;--ds-amber-200:#78350f;--ds-amber-300:#92400e;--ds-amber-400:#b45309;--ds-amber-500:#d97706;--ds-amber-600:#f59e0b;--ds-amber-700:#fbbf24;--ds-amber-800:#fcd34d;--ds-amber-900:#fde68a;--ds-amber-1000:#fef3c7;--ds-green-100:#052e16;--ds-green-200:#14532d;--ds-green-300:#166534;--ds-green-400:#15803d;--ds-green-500:#16a34a;--ds-green-600:#22c55e;--ds-green-700:#4ade80;--ds-green-800:#86efac;--ds-green-900:#bbf7d0;--ds-green-1000:#dcfce7;--ds-teal-100:#042f2e;--ds-teal-200:#134e4a;--ds-teal-300:#115e59;--ds-teal-400:#0f766e;--ds-teal-500:#0d9488;--ds-teal-600:#14b8a6;--ds-teal-700:#2dd4bf;--ds-teal-800:#5eead4;--ds-teal-900:#99f6e4;--ds-teal-1000:#ccfbf1;--ds-purple-100:#3b0764;--ds-purple-200:#581c87;--ds-purple-300:#6b21a8;--ds-purple-400:#7e22ce;--ds-purple-500:#9333ea;--ds-purple-600:#a855f7;--ds-purple-700:#c084fc;--ds-purple-800:#d8b4fe;--ds-purple-900:#e9d5ff;--ds-purple-1000:#f3e8ff;--ds-pink-100:#500724;--ds-pink-200:#831843;--ds-pink-300:#9d174d;--ds-pink-400:#be185d;--ds-pink-500:#db2777;--ds-pink-600:#ec4899;--ds-pink-700:#f472b6;--ds-pink-800:#f9a8d4;--ds-pink-900:#fbcfe8;--ds-pink-1000:#fce7f3;--ds-shadow-small:0 0 0 1px #ffffff12,0 2px 4px #0000004d,0 12px 24px #0000004d;--ds-shadow-medium:0 0 0 1px #ffffff12,0 4px 8px #0006,0 24px 48px #0006;--ds-shadow-large:0 0 0 1px #ffffff12,0 8px 16px #00000080,0 48px 96px #00000080}*{border-color:hsl(var(--border))}body{background:hsl(var(--background));color:hsl(var(--foreground));font-feature-settings:"rlig" 1,"calt" 1}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{50%{opacity:.5}}
|