@alook/app 0.0.141 → 0.0.143
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/bundled/web/.open-next/.build/durable-objects/queue.js +5 -5
- package/bundled/web/.open-next/assets/BUILD_ID +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/1ixdcdkpnwt_p.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{15gpqusfs36cs.js → 1kj_n-cbedl8a.js} +2 -2
- package/bundled/web/.open-next/assets/_next/static/chunks/{0eayyb8dzeuqj.js → 1lwe0daem0j5h.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/{2jgr6hdohnj5b.js → 2p8ty_tin77ze.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/{348z6y6iea4gl.js → 2s1nfdub5g-vr.js} +3 -3
- package/bundled/web/.open-next/assets/_next/static/chunks/35szcmuxsgm0x.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{2_5gjqjt8nmq2.js → 3yhuzg7vtzfp5.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/{14mgvrpz4ar3j.js → 41hz62d13-2ps.js} +1 -1
- package/bundled/web/.open-next/cache/{n67RZ-dHYbiPuCBj-CPEs → 9TliiRuyS2VWuTgYBLJbH}/_global-error.cache +1 -1
- package/bundled/web/.open-next/cache/{n67RZ-dHYbiPuCBj-CPEs → 9TliiRuyS2VWuTgYBLJbH}/_not-found.cache +1 -1
- package/bundled/web/.open-next/cache/{n67RZ-dHYbiPuCBj-CPEs → 9TliiRuyS2VWuTgYBLJbH}/device.cache +1 -1
- package/bundled/web/.open-next/cache/{n67RZ-dHYbiPuCBj-CPEs → 9TliiRuyS2VWuTgYBLJbH}/privacy.cache +1 -1
- package/bundled/web/.open-next/cache/{n67RZ-dHYbiPuCBj-CPEs → 9TliiRuyS2VWuTgYBLJbH}/sitemap.xml.cache +1 -1
- package/bundled/web/.open-next/cloudflare/cache-assets-manifest.sql +1 -1
- package/bundled/web/.open-next/cloudflare/init.js +1 -1
- package/bundled/web/.open-next/dynamodb-provider/dynamodb-cache.json +1 -1
- package/bundled/web/.open-next/middleware/handler.mjs +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/BUILD_ID +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/build-manifest.json +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/prerender-manifest.json +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/required-server-files.json +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/invite/[token]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/studio/new/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/activity/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/[convId]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/email/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/files/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/meetings/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/new/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/calendar/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/flags/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/help/email-setup/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/home/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/issues/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/runtimes/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/settings/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/traces/[traceId]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/traces/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/unread/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/page/react-loadable-manifest.json +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__01-4zmn._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0bye0tx._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0gkkbf4._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0jrrtm1._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0xdps2u._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__1-ug-mf._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__12fz1lr._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__134-7z_._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__155l597._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__18lolj4._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__1cbaprg._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__1jq8zws._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__1l-2x7f._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__1pmcw25._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__1rfzkgk._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__1w9__7q._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__20s9whj._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_03i6uql._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0591v0o._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_08gc1s_._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0lcu68p._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0m_ehw8._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0p79t7w._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0r2vuif._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0tzvy_s._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_13jq647._.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_18v5918._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_1aztsqf._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_1d18okt._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_1i4egv6._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_1iaevpj._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_1kt_xdj._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_1njwvhs._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_1j5rtq8._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0qgcnj5._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_1wqw0ro._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_agents_[id]_layout_tsx_0ysqmgw._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_lib_api_ts_1ffelwp._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-build-manifest.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-manifest.json +5 -5
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.json +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs +34 -34
- package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +101 -101
- package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +4 -4
- package/bundled/web/custom-worker.ts +16 -1
- package/package.json +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/2c9n34tpjgbko.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/447gx8byleobi.js +0 -1
- /package/bundled/web/.open-next/assets/_next/static/{n67RZ-dHYbiPuCBj-CPEs → 9TliiRuyS2VWuTgYBLJbH}/_buildManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{n67RZ-dHYbiPuCBj-CPEs → 9TliiRuyS2VWuTgYBLJbH}/_clientMiddlewareManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{n67RZ-dHYbiPuCBj-CPEs → 9TliiRuyS2VWuTgYBLJbH}/_ssgManifest.js +0 -0
- /package/bundled/web/.open-next/cache/{n67RZ-dHYbiPuCBj-CPEs → 9TliiRuyS2VWuTgYBLJbH}/robots.txt.cache +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[597047,a=>a.a(async(b,c)=>{try{var d=a.i(616612),e=a.i(734803),f=a.i(780956),g=a.i(630991),h=a.i(506180),i=a.i(454607),j=a.i(588339),k=a.i(732254),l=a.i(334235),m=a.i(76592),n=a.i(25668),o=a.i(390248),p=a.i(946621),q=b([i]);[i]=q.then?(await q)():q,a.s(["GeneralTab",0,function(){let{workspaceId:a,slug:b}=(0,h.useWorkspace)(),c=(0,i.useSession)(),q=(0,g.useRouter)(),[r,s]=(0,e.useState)(""),[t,u]=(0,e.useState)(!0),[v,w]=(0,e.useState)(""),[x,y]=(0,e.useState)(""),[z,A]=(0,e.useState)(""),[B,C]=(0,e.useState)(""),[D,E]=(0,e.useState)(!1),[F,G]=(0,e.useState)({}),[H,I]=(0,e.useState)(""),[J,K]=(0,e.useState)(!1),L=(0,e.useCallback)(async()=>{u(!0);try{let b=c.data?.user?.id,[d,e]=await Promise.all([(0,j.listMembers)(a),(0,j.listWorkspaces)()]),f=d.find(a=>a.user_id===b);s(f?.role??"");let g=e.find(b=>b.id===a);g&&(w(g.name),y(g.slug),A(g.name),C(g.slug))}catch(a){f.toast.error(a instanceof Error?a.message:"Failed to load workspace info")}finally{u(!1)}},[a,c.data?.user?.id]);(0,e.useEffect)(()=>{c.data&&L()},[L,c.data]);let M=v!==z||x!==B,N=async()=>{let c=(0,o.validateWorkspaceForm)({name:v,slug:x});if(G(c),!(0,o.hasWorkspaceFormErrors)(c)){E(!0);try{let c=await (0,j.updateWorkspace)(a,{name:v.trim(),slug:x.trim()});(0,p.trackSettingsUpdated)({setting_tab:"general"}),A(c.name),C(c.slug),f.toast.success("Workspace updated"),c.slug!==b&&q.replace(`/w/${c.slug}/settings`)}catch(a){f.toast.error(a instanceof Error?a.message:"Failed to update workspace")}finally{E(!1)}}},O=async()=>{if(H===z){K(!0);try{await (0,j.deleteWorkspace)(a,z),f.toast.success("Workspace deleted"),q.replace("/workspaces")}catch(a){f.toast.error(a instanceof Error?a.message:"Failed to delete workspace")}finally{K(!1)}}};return t?(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsx)(n.Skeleton,{className:"h-4 w-32"}),(0,d.jsx)(n.Skeleton,{className:"h-10 w-full"}),(0,d.jsx)(n.Skeleton,{className:"h-10 w-full"})]}):"owner"!==r?(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Only workspace owners can edit workspace settings."}):(0,d.jsxs)("div",{className:"space-y-10",children:[(0,d.jsxs)("section",{className:"space-y-4",children:[(0,d.jsx)("h2",{className:"text-sm font-medium",children:"Workspace"}),(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"space-y-1.5",children:[(0,d.jsx)(m.Label,{htmlFor:"workspace-name",children:"Name"}),(0,d.jsx)(l.Input,{id:"workspace-name",value:v,onChange:a=>{let b=a.target.value;w(b),F.name&&b.trim()&&G(a=>({...a,name:void 0}))},placeholder:"Workspace name","aria-invalid":!!F.name,"aria-describedby":F.name?"workspace-name-error":void 0}),F.name&&(0,d.jsx)("p",{id:"workspace-name-error",className:"text-xs text-destructive",children:F.name})]}),(0,d.jsxs)("div",{className:"space-y-1.5",children:[(0,d.jsx)(m.Label,{htmlFor:"workspace-slug",children:"Slug"}),(0,d.jsx)(l.Input,{id:"workspace-slug",value:x,onChange:a=>{let b=a.target.value;y(b),F.slug&&b.trim()&&G(a=>({...a,slug:void 0}))},placeholder:"workspace-slug","aria-invalid":!!F.slug,"aria-describedby":F.slug?"workspace-slug-error":void 0}),F.slug&&(0,d.jsx)("p",{id:"workspace-slug-error",className:"text-xs text-destructive",children:F.slug}),(0,d.jsxs)("p",{className:"text-xs text-muted-foreground/70",children:["Used in URLs: /w/",x,"/"]})]})]}),(0,d.jsx)(k.Button,{size:"sm",onClick:N,disabled:!M||D,children:D?"Saving…":"Save"})]}),(0,d.jsxs)("section",{className:"space-y-4",children:[(0,d.jsx)("h2",{className:"text-sm font-medium text-destructive",children:"Danger Zone"}),(0,d.jsxs)("div",{className:"rounded-md border border-destructive/30 p-4 space-y-3",children:[(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Deleting this workspace is permanent and cannot be undone. All agents, conversations, and data will be lost."}),(0,d.jsxs)("div",{className:"space-y-1.5",children:[(0,d.jsxs)(m.Label,{htmlFor:"delete-confirm",className:"text-xs",children:["Type ",(0,d.jsx)("span",{className:"font-medium text-foreground",children:z})," to confirm"]}),(0,d.jsx)(l.Input,{id:"delete-confirm",value:H,onChange:a=>I(a.target.value),placeholder:z})]}),(0,d.jsx)(k.Button,{size:"sm",variant:"destructive",onClick:O,disabled:H!==z||J,children:J?"Deleting…":"Delete Workspace"})]})]})]})}]),c()}catch(a){c(a)}},!1),53909,a=>{"use strict";var b=a.i(616612),c=a.i(734803),d=a.i(780956),e=a.i(506180),f=a.i(588339),g=a.i(889624),h=a.i(25668),i=a.i(75118);function j({ratio:a,size:c=16,stroke:d=1.5}){let e=(c-d)/2,f=2*Math.PI*e,g=(a<=0?0:a>=1?1:Math.log1p(99*a)/Math.log(100))*f;return(0,b.jsxs)("svg",{width:c,height:c,className:"shrink-0 -rotate-90","aria-hidden":!0,children:[(0,b.jsx)("circle",{cx:c/2,cy:c/2,r:e,fill:"none",stroke:"currentColor",strokeWidth:d,className:"text-border"}),(0,b.jsx)("circle",{cx:c/2,cy:c/2,r:e,fill:"none",stroke:"currentColor",strokeWidth:d,strokeDasharray:`${g} ${f-g}`,strokeLinecap:"round",className:(0,i.cn)("transition-all duration-300",a>.9?"text-destructive/70":a>.7?"text-yellow-500/50":"text-muted-foreground/30")})]})}a.s(["InstructionTab",0,function(){let{workspaceId:a}=(0,e.useWorkspace)(),[i,k]=(0,c.useState)(""),[l,m]=(0,c.useState)(""),[n,o]=(0,c.useState)(!0),p=(0,c.useRef)(i);(0,c.useEffect)(()=>{p.current=i},[i]);let q=(0,c.useRef)(l);(0,c.useEffect)(()=>{q.current=l},[l]);let r=(0,c.useRef)(null),s=(0,c.useRef)(!1),t=(0,c.useCallback)(async()=>{o(!0);try{let b=await (0,f.getMemberMe)(a);k(b.global_instruction),m(b.global_instruction)}catch(a){d.toast.error(a instanceof Error?a.message:"Failed to load settings")}finally{o(!1)}},[a]);(0,c.useEffect)(()=>{t()},[t]);let u=(0,c.useRef)(()=>{}),v=(0,c.useCallback)(async()=>{if(s.current)return;let b=p.current;if(b!==q.current){s.current=!0;try{let c=await (0,f.updateMemberMe)(a,b);m(c.global_instruction)}catch(a){d.toast.error(a instanceof Error?a.message:"Failed to save")}finally{s.current=!1,p.current!==q.current&&u.current()}}},[a]),w=(0,c.useCallback)(()=>{r.current&&clearTimeout(r.current),r.current=setTimeout(v,500)},[v]);(0,c.useEffect)(()=>{u.current=w},[w]);let x=(0,c.useCallback)(a=>{k(a),w()},[w]);(0,c.useEffect)(()=>{let b=()=>{if(r.current&&clearTimeout(r.current),p.current!==q.current){let b=new URLSearchParams({workspace_id:a});fetch(`/api/members/me?${b}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({global_instruction:p.current}),keepalive:!0})}};return window.addEventListener("beforeunload",b),()=>window.removeEventListener("beforeunload",b)},[a]),(0,c.useEffect)(()=>()=>{if(r.current&&clearTimeout(r.current),p.current!==q.current){let b=new URLSearchParams({workspace_id:a});fetch(`/api/members/me?${b}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({global_instruction:p.current}),keepalive:!0})}},[a]);let y=i.length/5e4;return n?(0,b.jsxs)("div",{className:"px-6 py-6 space-y-4",children:[(0,b.jsx)(h.Skeleton,{className:"h-4 w-48"}),(0,b.jsx)(h.Skeleton,{className:"h-40 w-full"})]}):(0,b.jsxs)("div",{className:"flex flex-col h-full",children:[(0,b.jsx)("div",{className:"flex-1 px-6 pt-4 pb-4",children:(0,b.jsx)(g.MarkdownEditor,{value:i,onChange:x,placeholder:"Write instructions that every agent you own will follow...",minHeight:"calc(100vh - 240px)",contentType:"markdown",variant:"seamless"})}),(0,b.jsxs)("div",{className:"flex items-center gap-2 px-6 py-3",children:[(0,b.jsx)(j,{ratio:y}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"This instruction is prepended to every agent's individual instruction."})]})]})}])},851688,a=>{"use strict";let b=(0,a.i(410732).default)("user-minus",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]]);a.s(["UserMinus",0,b],851688)},616131,a=>a.a(async(b,c)=>{try{var d=a.i(616612),e=a.i(734803),f=a.i(780956),g=a.i(340490),h=a.i(790107),i=a.i(396439),j=a.i(851688),k=a.i(506180),l=a.i(454607),m=a.i(588339),n=a.i(732254),o=a.i(25668),p=a.i(525132),q=a.i(75118),r=a.i(946621),s=b([l]);function t(a){return`${window.location.origin}/invite/${a}`}[l]=s.then?(await s)():s,a.s(["MembersTab",0,function(){let{workspaceId:a}=(0,k.useWorkspace)(),b=(0,l.useSession)(),c=b.data?.user?.id,[s,u]=(0,e.useState)([]),[v,w]=(0,e.useState)([]),[x,y]=(0,e.useState)(!0),[z,A]=(0,e.useState)(!1),B=s.find(a=>a.user_id===c)?.role==="owner",C=(0,e.useCallback)(async()=>{y(!0);try{let[b,c]=await Promise.all([(0,m.listMembers)(a),(0,m.listInvites)(a).catch(()=>[])]);u(b),w(c)}catch(a){f.toast.error(a instanceof Error?a.message:"Failed to load members")}finally{y(!1)}},[a]);(0,e.useEffect)(()=>{C()},[C]);let D=async()=>{A(!0);try{let b=await (0,m.createInvite)(a);(0,r.trackTeamMemberInvited)({workspace_id:a}),w(a=>[...a,b]);let c=t(b.token);await navigator.clipboard.writeText(c),f.toast.success("Invite link copied to clipboard")}catch(a){f.toast.error(a instanceof Error?a.message:"Failed to generate invite")}finally{A(!1)}},E=async a=>{let b=t(a);try{await navigator.clipboard.writeText(b),f.toast.success("Invite link copied")}catch{f.toast.error("Failed to copy link")}},F=async b=>{try{await (0,m.revokeInvite)(a,b),w(a=>a.filter(a=>a.id!==b)),f.toast.success("Invite revoked")}catch(a){f.toast.error(a instanceof Error?a.message:"Failed to revoke invite")}},G=async b=>{try{await (0,m.removeMember)(a,b),u(a=>a.filter(a=>a.id!==b)),f.toast.success("Member removed")}catch(a){f.toast.error(a instanceof Error?a.message:"Failed to remove member")}};return x?(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsx)(o.Skeleton,{className:"h-4 w-24"}),(0,d.jsx)(o.Skeleton,{className:"h-10 w-full"}),(0,d.jsx)(o.Skeleton,{className:"h-10 w-full"}),(0,d.jsx)(o.Skeleton,{className:"h-4 w-24 mt-6"}),(0,d.jsx)(o.Skeleton,{className:"h-10 w-full"}),(0,d.jsx)(o.Skeleton,{className:"h-10 w-full"})]}):(0,d.jsxs)("div",{className:"space-y-8",children:[B&&(0,d.jsxs)("section",{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("h2",{className:"text-sm font-medium",children:"Pending Invites"}),(0,d.jsxs)(n.Button,{size:"sm",variant:"outline",onClick:D,disabled:z,children:[(0,d.jsx)(i.Plus,{className:"size-3.5 mr-1"}),z?"Generating…":"Generate invite link"]})]}),0===v.length?(0,d.jsx)("p",{className:"text-xs text-muted-foreground py-2",children:"No active invite links. Generate one to invite someone to this workspace."}):(0,d.jsx)("div",{className:"space-y-1.5",children:v.map(a=>{let b=new Date(a.expires_at),c=b<new Date;return(0,d.jsxs)("div",{className:"flex items-center justify-between rounded-md border border-border/50 px-3 py-2 text-xs",children:[(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsxs)("p",{className:(0,q.cn)("font-mono truncate",c&&"text-muted-foreground line-through"),children:["/invite/",a.token.slice(0,12),"…"]}),(0,d.jsx)("p",{className:(0,q.cn)("text-muted-foreground/70 mt-0.5",c&&"text-destructive/70"),children:c?"Expired":`Expires ${b.toLocaleDateString()}`})]}),(0,d.jsxs)("div",{className:"flex items-center gap-1 ml-2 shrink-0",children:[!c&&(0,d.jsxs)(p.Tooltip,{children:[(0,d.jsx)(p.TooltipTrigger,{render:(0,d.jsx)(n.Button,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0",onClick:()=>E(a.token)}),children:(0,d.jsx)(g.Copy,{className:"size-3.5"})}),(0,d.jsx)(p.TooltipContent,{children:"Copy invite link"})]}),(0,d.jsxs)(p.Tooltip,{children:[(0,d.jsx)(p.TooltipTrigger,{render:(0,d.jsx)(n.Button,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0 text-destructive hover:text-destructive",onClick:()=>F(a.id)}),children:(0,d.jsx)(h.Trash2,{className:"size-3.5"})}),(0,d.jsx)(p.TooltipContent,{children:"Revoke invite"})]})]})]},a.id)})})]}),(0,d.jsxs)("section",{className:"space-y-3",children:[(0,d.jsx)("h2",{className:"text-sm font-medium",children:"Members"}),(0,d.jsx)("div",{className:"space-y-1.5",children:s.map(a=>{let b=a.user_id===c,e=a.name?a.name.split(" ").map(a=>a[0]).join("").slice(0,2).toUpperCase():a.email.slice(0,2).toUpperCase();return(0,d.jsxs)("div",{className:"flex items-center gap-3 rounded-md border border-border/50 px-3 py-2",children:[(0,d.jsx)("div",{className:"size-7 rounded-full bg-muted flex items-center justify-center text-xs font-medium text-muted-foreground shrink-0 overflow-hidden",children:a.image?(0,d.jsx)("img",{src:a.image,alt:a.name,className:"size-full object-cover"}):e}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsxs)("p",{className:"text-sm font-medium truncate leading-tight",children:[a.name||a.email,b&&(0,d.jsx)("span",{className:"ml-1.5 text-xs text-muted-foreground font-normal",children:"(you)"})]}),a.name&&(0,d.jsx)("p",{className:"text-xs text-muted-foreground truncate",children:a.email})]}),(0,d.jsx)("span",{className:(0,q.cn)("text-xs px-1.5 py-0.5 rounded shrink-0","owner"===a.role?"bg-primary/10 text-primary":"bg-muted text-muted-foreground"),children:a.role}),B&&!b&&(0,d.jsxs)(p.Tooltip,{children:[(0,d.jsx)(p.TooltipTrigger,{render:(0,d.jsx)(n.Button,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0 text-muted-foreground hover:text-destructive shrink-0",onClick:()=>G(a.id)}),children:(0,d.jsx)(j.UserMinus,{className:"size-3.5"})}),(0,d.jsx)(p.TooltipContent,{children:"Remove member"})]})]},a.id)})})]})]})}]),c()}catch(a){c(a)}},!1),93590,a=>{"use strict";var b=a.i(616612),c=a.i(734803),d=a.i(780956),e=a.i(951687),f=a.i(973111),g=a.i(626806);a.s(["NotificationTab",0,function(){let[a,h]=(0,c.useState)(!1),[i,j]=(0,c.useState)([...g.NOTIFICATION_EVENTS]),[k,l]=(0,c.useState)(!0),[m,n]=(0,c.useState)(!1);(0,c.useEffect)(()=>{l((0,g.isNotificationSupported)()),h((0,g.getNotificationEnabled)()),j((0,g.getNotificationEvents)()),(0,g.isNotificationSupported)()&&n("denied"===Notification.permission)},[]);let o=async a=>{if(!a){h(!1),(0,g.setNotificationEnabled)(!1);return}await (0,g.requestNotificationPermission)()?(h(!0),(0,g.setNotificationEnabled)(!0)):(n(!0),d.toast.error("Notification permission denied. Please enable it in browser settings."))};return k?(0,b.jsx)("div",{className:"space-y-6",children:(0,b.jsxs)("section",{className:"space-y-4",children:[(0,b.jsx)("h2",{className:"text-sm font-medium",children:"Browser Notifications"}),(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"space-y-0.5",children:[(0,b.jsx)("p",{className:"text-sm",children:"Enable notifications"}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Get notified when tasks finish while the tab is in the background"})]}),(0,b.jsx)(f.Switch,{checked:a,onCheckedChange:o,disabled:m&&!a})]}),m&&!a&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:"Notification permission was denied. Please allow it in your browser settings."}),a&&(0,b.jsxs)("div",{className:"space-y-2 pl-0.5",children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Notify me when:"}),g.NOTIFICATION_EVENTS.map(a=>(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm cursor-pointer select-none",children:[(0,b.jsx)(e.Checkbox,{checked:i.includes(a),onCheckedChange:()=>{j(b=>{let c=b.includes(a)?b.filter(b=>b!==a):[...b,a];return(0,g.setNotificationEvents)(c),c})}}),g.NOTIFICATION_EVENT_LABELS[a]]},a))]})]})]})}):(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"Your browser does not support notifications."})}])},390946,a=>{"use strict";var b=a.i(616612),c=a.i(734803);let d=(0,a.i(410732).default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]),e="alook-cloud-code-monster-pet-preset-v1",f="alook-cloud-code-monster-pet-preset-changed",g=new Map([{id:"pet-02",name:"Pocket Bell Bot",group:"Inspired Mascots",feature:"bell",shape:"gadget-buddy"},{id:"pet-03",name:"Spark Bolt Pal",group:"Inspired Mascots",feature:"bolt",shape:"electric-mascot"},{id:"pet-04",name:"Star Puff",group:"Inspired Mascots",feature:"star",shape:"star-puff"},{id:"pet-05",name:"Leaf Bud",group:"Inspired Mascots",feature:"leaf",shape:"leaf-bud-shape"},{id:"pet-06",name:"Tiny Flame",group:"Inspired Mascots",feature:"flame",shape:"ember-scout"},{id:"pet-07",name:"Shell Fin",group:"Inspired Mascots",feature:"fins",shape:"shell-sprout"},{id:"pet-08",name:"Block Builder",group:"Inspired Mascots",feature:"visor",shape:"block-builder-shape"},{id:"pet-09",name:"Block Hiss",group:"Inspired Mascots",feature:"mask",shape:"block-hiss-shape"},{id:"pet-10",name:"Block Walker",group:"Inspired Mascots",feature:"visor",shape:"block-walker-shape"},{id:"pet-11",name:"Mushroom Pal",group:"Inspired Mascots",feature:"mushroom",shape:"mushroom-pal-shape"},{id:"pet-12",name:"Blue Spin",group:"Inspired Mascots",feature:"spin",shape:"blue-spinner"},{id:"pet-13",name:"Arcade Chomp",group:"Inspired Mascots",feature:"chomp",shape:"arcade-chomper"},{id:"pet-14",name:"Peek Ghost",group:"Inspired Mascots",feature:"ghost",shape:"peek-ghost-shape"},{id:"pet-15",name:"Red Cap Jumper",group:"Inspired Mascots",feature:"cap",shape:"cap-jumper"},{id:"pet-16",name:"Honey Cub",group:"Inspired Mascots",feature:"ears",shape:"honey-cub-shape"},{id:"pet-17",name:"Ribbon Cat",group:"Inspired Mascots",feature:"bow",shape:"ribbon-cat-shape"},{id:"pet-18",name:"Cozy Hood Bunny",group:"Inspired Mascots",feature:"hood",shape:"cozy-hood-bunny-shape"},{id:"pet-19",name:"Imp Hood",group:"Inspired Mascots",feature:"mask",shape:"imp-hood-shape"},{id:"pet-20",name:"Forest Neighbor",group:"Inspired Mascots",feature:"ears",shape:"forest-neighbor-shape"},{id:"pet-21",name:"Dust Puff",group:"Inspired Mascots",feature:"soot",shape:"dust-puff-shape"},{id:"pet-22",name:"Straw Voyager",group:"Inspired Mascots",feature:"straw",shape:"straw-voyager-shape"},{id:"pet-23",name:"Leaf Runner",group:"Inspired Mascots",feature:"ninja",shape:"leaf-runner-shape"},{id:"pet-24",name:"Energy Pearl",group:"Inspired Mascots",feature:"pearl",shape:"energy-pearl-shape"},{id:"pet-25",name:"Moon Wand",group:"Inspired Mascots",feature:"wand",shape:"moon-wand-shape"},{id:"pet-26",name:"Mecha Guard",group:"Inspired Mascots",feature:"mecha",shape:"mecha-guard-shape"},{id:"pet-27",name:"Teardrop Slime",group:"Inspired Mascots",feature:"slime",shape:"teardrop-slime-shape"},{id:"pet-28",name:"Ink Runner",group:"Inspired Mascots",feature:"ink",shape:"ink-runner-shape"},{id:"pet-29",name:"Little Beagle",group:"Inspired Mascots",feature:"ears",shape:"little-beagle-shape"},{id:"pet-30",name:"Tiny Antler",group:"Inspired Mascots",feature:"horns",shape:"tiny-antler-shape"}].map(a=>[a.id,a])),h=[{id:"pet-01",name:"Claude Pixel",group:"Codex",feature:"square",bodyTop:"#e0845f",body:"#d87352",bodyDark:"#cf684a",bodyLight:"#e88d68",bodySideLight:"#df7d5a",bodySideDark:"#c86347",accent:"#d7654a",accessory:"#f1bc62",eye:"#12100f",highlight:"#f6e7d7"},{id:"pet-02",name:"Blue Pocket Bot",group:"Gadget Buddy",feature:"bell",bodyTop:"#4aa8d8",body:"#2f8fc4",bodyDark:"#2674a4",bodyLight:"#68bce5",bodySideLight:"#48a8d5",bodySideDark:"#1f6591",accent:"#d84e4a",accessory:"#f4c94f",eye:"#10141a",highlight:"#f7fbff",facePatch:"#f6fbff",cheek:"#d84e4a"},{id:"pet-03",name:"Spark Arcade Pal",group:"Electric Mascot",feature:"bolt",bodyTop:"#f2d45a",body:"#e6bd37",bodyDark:"#c89a2a",bodyLight:"#ffe37a",bodySideLight:"#f0cc4c",bodySideDark:"#b58724",accent:"#2f2520",accessory:"#df5145",eye:"#17120e",highlight:"#fff7c7",cheek:"#e94d43"},{id:"pet-04",name:"Pink Star Puff",group:"Star Puff",feature:"star",bodyTop:"#eba0b7",body:"#df7fa0",bodyDark:"#c76589",bodyLight:"#f2b6c8",bodySideLight:"#e993ac",bodySideDark:"#b95778",accent:"#c84d64",accessory:"#f0d862",eye:"#171016",highlight:"#fff0f6",cheek:"#e75c7a"},{id:"pet-05",name:"Leaf Sprite",group:"Forest Starter",feature:"leaf",bodyTop:"#76aa7b",body:"#5f9666",bodyDark:"#4d7c54",bodyLight:"#91bd8f",bodySideLight:"#72a875",bodySideDark:"#426d49",accent:"#2f6f46",accessory:"#d6e78a",eye:"#11160f",highlight:"#f0f8e4",facePatch:"#dceec2"},{id:"pet-06",name:"Ember Starter",group:"Fire Buddy",feature:"flame",bodyTop:"#df8755",body:"#ce6b3f",bodyDark:"#af5333",bodyLight:"#ee9d6b",bodySideLight:"#dd7b4c",bodySideDark:"#9a482c",accent:"#8d3d2f",accessory:"#f3c34b",eye:"#17100c",highlight:"#ffe8d4",cheek:"#e45842"},{id:"pet-07",name:"Ripple Buddy",group:"Water Buddy",feature:"fins",bodyTop:"#82b5d6",body:"#629dcc",bodyDark:"#4f82ad",bodyLight:"#9bc8e5",bodySideLight:"#73add6",bodySideDark:"#44749b",accent:"#5f6f8d",accessory:"#ead59a",eye:"#10151b",highlight:"#eff8ff",facePatch:"#d9eef8"},{id:"pet-08",name:"Moon Alley Cat",group:"Moon Cat",feature:"moon",bodyTop:"#4f4b69",body:"#3f3a59",bodyDark:"#332f49",bodyLight:"#67607e",bodySideLight:"#554f6d",bodySideDark:"#2b283e",accent:"#e5c85c",accessory:"#d66f91",eye:"#f5e8a7",highlight:"#fff6c8",cheek:"#cf6d8f"},{id:"pet-09",name:"Spore Runner",group:"Mushroom Runner",feature:"mushroom",bodyTop:"#e0524f",body:"#f0dcc6",bodyDark:"#d7c0aa",bodyLight:"#f7ead9",bodySideLight:"#f1dfcb",bodySideDark:"#c7aa95",accent:"#b83736",accessory:"#ffffff",eye:"#17120f",highlight:"#fff8ea"},{id:"pet-10",name:"Dash Quill",group:"Speed Mascot",feature:"spin",bodyTop:"#4e83d0",body:"#356dbd",bodyDark:"#2a579b",bodyLight:"#6896de",bodySideLight:"#477dd0",bodySideDark:"#244c88",accent:"#f2c45b",accessory:"#f2ece1",eye:"#10131a",highlight:"#eef4ff",facePatch:"#ead3b9"},{id:"pet-11",name:"Lemon Chomper",group:"Arcade Chomper",feature:"chomp",bodyTop:"#f0ce45",body:"#e5ba2f",bodyDark:"#c89924",bodyLight:"#ffe26c",bodySideLight:"#efc73f",bodySideDark:"#b18520",accent:"#1f1b18",accessory:"#f2845f",eye:"#15110d",highlight:"#fff2b6"},{id:"pet-12",name:"Lantern Ghost",group:"Round Ghost",feature:"ghost",bodyTop:"#d9dff0",body:"#c4cee6",bodyDark:"#aab6d2",bodyLight:"#edf2ff",bodySideLight:"#d3dced",bodySideDark:"#9aa8c6",accent:"#6d7da8",accessory:"#e77c9c",eye:"#151926",highlight:"#ffffff"},{id:"pet-13",name:"Red Cap Jumper",group:"Platform Pal",feature:"cap",bodyTop:"#d84f45",body:"#c5a17d",bodyDark:"#a98263",bodyLight:"#e0ba94",bodySideLight:"#d3ad86",bodySideDark:"#936f54",accent:"#2c4f99",accessory:"#f6e9d1",eye:"#16110d",highlight:"#fff2df"},{id:"pet-14",name:"Honey Cub",group:"Classic Toy",feature:"ears",bodyTop:"#e4b25a",body:"#d0993e",bodyDark:"#ad7d30",bodyLight:"#efc46d",bodySideLight:"#dba84d",bodySideDark:"#996d2a",accent:"#b54d3f",accessory:"#f4d991",eye:"#17110d",highlight:"#fff0c8",facePatch:"#f2d083"},{id:"pet-15",name:"Ribbon Puff",group:"Bow Buddy",feature:"bow",bodyTop:"#f2f0e8",body:"#e3ded4",bodyDark:"#c9c2b7",bodyLight:"#ffffff",bodySideLight:"#eee9df",bodySideDark:"#bab2a7",accent:"#d84b5b",accessory:"#f3cc56",eye:"#15110f",highlight:"#ffffff",cheek:"#df6d80"},{id:"pet-16",name:"Cozy Hood Cub",group:"Hooded Mascot",feature:"hood",bodyTop:"#ef9eba",body:"#e681a4",bodyDark:"#c96789",bodyLight:"#f5b6ca",bodySideLight:"#ee94b2",bodySideDark:"#b85878",accent:"#f0d6de",accessory:"#f3d66b",eye:"#171017",highlight:"#fff0f6",facePatch:"#fff6f2"},{id:"pet-17",name:"Masked Beetle",group:"Bug Hero",feature:"mask",bodyTop:"#6e617d",body:"#554761",bodyDark:"#41374b",bodyLight:"#837491",bodySideLight:"#655570",bodySideDark:"#382f41",accent:"#cf6f8e",accessory:"#f0d46a",eye:"#f7edf4",highlight:"#fff7ff",facePatch:"#ece0ea"},{id:"pet-18",name:"Round Forest Pal",group:"Forest Neighbor",feature:"ears",bodyTop:"#8c8d7d",body:"#74766a",bodyDark:"#606257",bodyLight:"#a0a293",bodySideLight:"#838578",bodySideDark:"#55574d",accent:"#d9d3b8",accessory:"#c6d68c",eye:"#121411",highlight:"#efead8",facePatch:"#dad4ba"},{id:"pet-19",name:"Dust Puff",group:"Tiny Soot",feature:"soot",bodyTop:"#34343a",body:"#25262c",bodyDark:"#1d1e24",bodyLight:"#4a4b52",bodySideLight:"#383941",bodySideDark:"#171820",accent:"#6c6f7a",accessory:"#f0f0d8",eye:"#f7f7e8",highlight:"#ffffff"},{id:"pet-20",name:"Straw Field Pal",group:"Harvest Buddy",feature:"straw",bodyTop:"#d96a50",body:"#c65342",bodyDark:"#a74336",bodyLight:"#e47d64",bodySideLight:"#d0614d",bodySideDark:"#933a30",accent:"#2f5f93",accessory:"#e8c866",eye:"#15100d",highlight:"#ffe6d9"},{id:"pet-21",name:"Shadow Ninja Bean",group:"Ninja Mascot",feature:"ninja",bodyTop:"#e7a04d",body:"#d88432",bodyDark:"#b96c27",bodyLight:"#efb464",bodySideLight:"#df943e",bodySideDark:"#a25d22",accent:"#2d415c",accessory:"#ded5c6",eye:"#15100c",highlight:"#ffe7c8",facePatch:"#f3c78d"},{id:"pet-22",name:"Pearl Quest Cub",group:"Pearl Hero",feature:"pearl",bodyTop:"#e3a54e",body:"#ce8438",bodyDark:"#ac682e",bodyLight:"#efbc68",bodySideLight:"#db9345",bodySideDark:"#985a28",accent:"#476ca6",accessory:"#f0d464",eye:"#15100c",highlight:"#ffe8c4"},{id:"pet-23",name:"Wand Starling",group:"Magic Mascot",feature:"wand",bodyTop:"#f0a6c4",body:"#df87ad",bodyDark:"#c26b92",bodyLight:"#f5bad2",bodySideLight:"#e99ab9",bodySideDark:"#ad5d82",accent:"#d8b34a",accessory:"#e9d7ff",eye:"#171017",highlight:"#fff0f7",cheek:"#e76791"},{id:"pet-24",name:"Mecha Bean",group:"Tiny Mecha",feature:"mecha",bodyTop:"#d7dbe2",body:"#bdc3ce",bodyDark:"#9ea6b3",bodyLight:"#edf0f5",bodySideLight:"#cbd1da",bodySideDark:"#8d96a5",accent:"#d44d4a",accessory:"#f0c748",eye:"#151923",highlight:"#ffffff"},{id:"pet-25",name:"Bubble Slimelet",group:"Slime Buddy",feature:"slime",bodyTop:"#79b8e8",body:"#5aa0d8",bodyDark:"#4384ba",bodyLight:"#96cdf0",bodySideLight:"#70b3e3",bodySideDark:"#3975a6",accent:"#2a658f",accessory:"#f3f7ff",eye:"#101722",highlight:"#f5fbff"},{id:"pet-26",name:"Ink Courier",group:"Ink Runner",feature:"ink",bodyTop:"#75c8bb",body:"#54afa2",bodyDark:"#3f9188",bodyLight:"#90d9ce",bodySideLight:"#67c1b5",bodySideDark:"#377f77",accent:"#d7668f",accessory:"#e4f2ef",eye:"#101716",highlight:"#effffb"},{id:"pet-27",name:"Drum Marcher",group:"Rhythm Pal",feature:"drum",bodyTop:"#ef7f5f",body:"#df6349",bodyDark:"#bd4d3b",bodyLight:"#f39a7b",bodySideLight:"#e77358",bodySideDark:"#a84434",accent:"#4f78b6",accessory:"#f3e4c6",eye:"#15100d",highlight:"#fff0e4"},{id:"pet-28",name:"Sprout Forestling",group:"Sprout Buddy",feature:"sprout",bodyTop:"#a58f5d",body:"#8f7548",bodyDark:"#755f3a",bodyLight:"#b9a26e",bodySideLight:"#9b8354",bodySideDark:"#655233",accent:"#5d8b56",accessory:"#dfc86e",eye:"#15110c",highlight:"#f8ecc0",facePatch:"#d8be71"},{id:"pet-29",name:"Frost Star Pup",group:"Ice Pal",feature:"star",bodyTop:"#8aa7d8",body:"#6e91c8",bodyDark:"#5877aa",bodyLight:"#a1bce5",bodySideLight:"#7f9fd3",bodySideDark:"#4e6898",accent:"#f0cf5b",accessory:"#f3edf5",eye:"#10151c",highlight:"#eff5ff",cheek:"#d66d86"},{id:"pet-30",name:"Tiny Quest Cub",group:"Quest Mascot",feature:"bow",bodyTop:"#efa2c8",body:"#df84b2",bodyDark:"#c46999",bodyLight:"#f5b9d5",bodySideLight:"#eb96c2",bodySideDark:"#ad5a86",accent:"#cf4d78",accessory:"#f0d66a",eye:"#171016",highlight:"#fff0f8",cheek:"#df688f"}].map(a=>({...a,...g.get(a.id)}));function i(a){return h.find(b=>b.id===a)??h[0]}function j(){if("u"<typeof localStorage)return h[0].id;try{return i(localStorage.getItem(e)).id}catch{return h[0].id}}var k=a.i(535510);let l=(0,c.lazy)(()=>a.A(76574).then(a=>({default:a.MonsterDirectPixelCharacter})));function m({activityId:a,preset:c,reacting:d,shaken:e,fainted:f=!1,eyeOffset:g={x:0,y:0}}){let h=(0,k.getCloudCodeMonsterExpression)(a,d,e,f);return"fainted"===h?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"43",y:"39",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"49",y:"45",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"43",y:"51",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"49",y:"39",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"43",y:"45",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"76",y:"39",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"82",y:"45",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"76",y:"51",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"82",y:"39",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"76",y:"45",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"58",y:"64",width:"14",height:"4",fill:c.eye})]}):"shaken"===h?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"45",y:"40",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"50",y:"45",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"45",y:"50",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"82",y:"40",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"77",y:"45",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"82",y:"50",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"62",y:"61",width:"6",height:"4",fill:c.eye})]}):"shocked"===h?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("g",{className:"cloud-code-monster-pet-eyes-track",transform:`translate(${g.x} ${g.y})`,children:[(0,b.jsx)("rect",{className:"cloud-code-monster-pet-eye-blink",x:"44",y:"39",width:"12",height:"13",fill:c.eye}),(0,b.jsx)("rect",{className:"cloud-code-monster-pet-eye-blink",x:"76",y:"39",width:"12",height:"13",fill:c.eye}),(0,b.jsxs)("g",{transform:`translate(${.45*g.x} ${.45*g.y})`,children:[(0,b.jsx)("rect",{x:"47",y:"42",width:"4",height:"4",fill:c.highlight}),(0,b.jsx)("rect",{x:"79",y:"42",width:"4",height:"4",fill:c.highlight})]})]}),(0,b.jsx)("rect",{x:"60",y:"60",width:"10",height:"12",fill:c.eye}),(0,b.jsx)("rect",{x:"62",y:"62",width:"6",height:"3",fill:"#332520"})]}):"sleeping"===h?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"45",y:"46",width:"11",height:"4",fill:c.eye}),(0,b.jsx)("rect",{x:"76",y:"46",width:"11",height:"4",fill:c.eye})]}):(0,b.jsxs)("g",{className:"cloud-code-monster-pet-eyes-track",transform:`translate(${g.x} ${g.y})`,children:[(0,b.jsx)("rect",{className:"cloud-code-monster-pet-eye-blink",x:"44",y:"42",width:"11",height:"12",fill:c.eye}),(0,b.jsx)("rect",{className:"cloud-code-monster-pet-eye-blink",x:"77",y:"42",width:"11",height:"12",fill:c.eye}),(0,b.jsxs)("g",{transform:`translate(${.55*g.x} ${.55*g.y})`,children:[(0,b.jsx)("rect",{x:"46",y:"44",width:"4",height:"4",fill:"#2c2521"}),(0,b.jsx)("rect",{x:"79",y:"44",width:"4",height:"4",fill:"#2c2521"})]})]})}function n({preset:a}){let{feature:c}=a;return"horns"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"29",y:"20",width:"10",height:"8",fill:a.accent}),(0,b.jsx)("rect",{x:"91",y:"20",width:"10",height:"8",fill:a.accent}),(0,b.jsx)("rect",{x:"34",y:"16",width:"7",height:"7",fill:a.accessory}),(0,b.jsx)("rect",{x:"88",y:"16",width:"7",height:"7",fill:a.accessory})]}):"ears"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"18",y:"38",width:"10",height:"18",fill:a.bodyDark}),(0,b.jsx)("rect",{x:"100",y:"38",width:"10",height:"18",fill:a.bodyDark}),(0,b.jsx)("rect",{x:"21",y:"42",width:"5",height:"8",fill:a.bodyLight}),(0,b.jsx)("rect",{x:"102",y:"42",width:"5",height:"8",fill:a.bodyLight})]}):"visor"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"41",y:"36",width:"47",height:"5",fill:a.accent}),(0,b.jsx)("rect",{x:"45",y:"38",width:"39",height:"3",fill:a.highlight})]}):"antenna"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"62",y:"15",width:"5",height:"13",fill:a.accent}),(0,b.jsx)("rect",{x:"58",y:"10",width:"13",height:"6",fill:a.accessory})]}):"crown"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"43",y:"18",width:"8",height:"10",fill:a.accessory}),(0,b.jsx)("rect",{x:"60",y:"14",width:"8",height:"14",fill:a.accessory}),(0,b.jsx)("rect",{x:"77",y:"18",width:"8",height:"10",fill:a.accessory}),(0,b.jsx)("rect",{x:"42",y:"26",width:"44",height:"5",fill:a.accent})]}):"bell"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"22",y:"42",width:"8",height:"14",fill:a.bodyDark}),(0,b.jsx)("rect",{x:"98",y:"42",width:"8",height:"14",fill:a.bodyDark}),(0,b.jsx)("rect",{x:"59",y:"21",width:"11",height:"7",fill:a.accent})]}):"bolt"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"29",y:"20",width:"8",height:"17",fill:a.accent}),(0,b.jsx)("rect",{x:"91",y:"20",width:"8",height:"17",fill:a.accent}),(0,b.jsx)("rect",{x:"33",y:"32",width:"8",height:"9",fill:a.bodyTop}),(0,b.jsx)("rect",{x:"87",y:"32",width:"8",height:"9",fill:a.bodyTop})]}):"star"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"60",y:"13",width:"8",height:"24",fill:a.accessory}),(0,b.jsx)("rect",{x:"52",y:"21",width:"24",height:"8",fill:a.accessory}),(0,b.jsx)("rect",{x:"56",y:"17",width:"16",height:"16",fill:a.accessory})]}):"leaf"===c||"sprout"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"61",y:"15",width:"6",height:"18",fill:a.accent}),(0,b.jsx)("rect",{x:"49",y:"18",width:"16",height:"10",fill:a.accent}),(0,b.jsx)("rect",{x:"66",y:"18",width:"16",height:"10",fill:a.bodyLight})]}):"flame"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"58",y:"9",width:"12",height:"20",fill:a.accessory}),(0,b.jsx)("rect",{x:"52",y:"18",width:"9",height:"14",fill:a.accent}),(0,b.jsx)("rect",{x:"69",y:"17",width:"8",height:"15",fill:a.bodyLight})]}):"fins"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"18",y:"45",width:"10",height:"18",fill:a.accent}),(0,b.jsx)("rect",{x:"100",y:"45",width:"10",height:"18",fill:a.accent}),(0,b.jsx)("rect",{x:"55",y:"18",width:"18",height:"10",fill:a.accessory})]}):"moon"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"57",y:"14",width:"18",height:"18",fill:a.accessory}),(0,b.jsx)("rect",{x:"64",y:"12",width:"15",height:"19",fill:a.bodyTop}),(0,b.jsx)("rect",{x:"24",y:"37",width:"7",height:"18",fill:a.bodyDark}),(0,b.jsx)("rect",{x:"97",y:"37",width:"7",height:"18",fill:a.bodyDark})]}):"mushroom"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"31",y:"18",width:"66",height:"22",fill:a.bodyTop}),(0,b.jsx)("rect",{x:"42",y:"13",width:"44",height:"11",fill:a.bodyTop}),(0,b.jsx)("rect",{x:"45",y:"22",width:"9",height:"8",fill:a.accessory}),(0,b.jsx)("rect",{x:"73",y:"20",width:"10",height:"8",fill:a.accessory})]}):"spin"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"47",y:"17",width:"34",height:"9",fill:a.bodyLight}),(0,b.jsx)("rect",{x:"37",y:"24",width:"14",height:"8",fill:a.bodyLight}),(0,b.jsx)("rect",{x:"78",y:"24",width:"13",height:"8",fill:a.bodyLight}),(0,b.jsx)("rect",{x:"29",y:"31",width:"11",height:"7",fill:a.bodyLight})]}):"chomp"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"88",y:"48",width:"14",height:"8",fill:a.highlight}),(0,b.jsx)("rect",{x:"88",y:"60",width:"14",height:"8",fill:a.highlight})]}):"ghost"===c||"slime"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"44",y:"19",width:"40",height:"12",fill:a.bodyLight}),(0,b.jsx)("rect",{x:"36",y:"27",width:"56",height:"10",fill:a.bodyLight})]}):"cap"===c||"straw"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"34",y:"18",width:"58",height:"12",fill:"straw"===c?a.accessory:a.bodyTop}),(0,b.jsx)("rect",{x:"45",y:"12",width:"36",height:"10",fill:"straw"===c?a.accessory:a.bodyTop}),(0,b.jsx)("rect",{x:"58",y:"22",width:"14",height:"5",fill:"straw"===c?a.accent:a.accessory})]}):"bow"===c||"hood"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"76",y:"17",width:"13",height:"13",fill:a.accent}),(0,b.jsx)("rect",{x:"91",y:"17",width:"13",height:"13",fill:a.accent}),(0,b.jsx)("rect",{x:"88",y:"21",width:"7",height:"7",fill:a.accessory})]}):"mask"===c||"ninja"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"35",y:"25",width:"58",height:"8",fill:a.accent}),(0,b.jsx)("rect",{x:"48",y:"18",width:"12",height:"10",fill:a.accent}),(0,b.jsx)("rect",{x:"69",y:"18",width:"12",height:"10",fill:a.accent})]}):"soot"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"27",y:"25",width:"8",height:"8",fill:a.bodyLight}),(0,b.jsx)("rect",{x:"92",y:"23",width:"9",height:"9",fill:a.bodyLight}),(0,b.jsx)("rect",{x:"61",y:"12",width:"7",height:"7",fill:a.bodyLight})]}):"pearl"===c||"wand"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"58",y:"12",width:"13",height:"13",fill:a.accessory}),(0,b.jsx)("rect",{x:"61",y:"7",width:"7",height:"7",fill:a.accent}),(0,b.jsx)("rect",{x:"73",y:"17",width:"9",height:"9",fill:a.accent})]}):"mecha"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"29",y:"24",width:"12",height:"13",fill:a.accent}),(0,b.jsx)("rect",{x:"87",y:"24",width:"12",height:"13",fill:a.accent}),(0,b.jsx)("rect",{x:"51",y:"18",width:"27",height:"9",fill:a.accessory})]}):"ink"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"35",y:"19",width:"12",height:"16",fill:a.accent}),(0,b.jsx)("rect",{x:"56",y:"14",width:"14",height:"20",fill:a.accent}),(0,b.jsx)("rect",{x:"80",y:"19",width:"12",height:"16",fill:a.accent})]}):"drum"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"31",y:"27",width:"66",height:"7",fill:a.accent}),(0,b.jsx)("rect",{x:"41",y:"18",width:"46",height:"10",fill:a.accessory})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"38",y:"30",width:"10",height:"4",fill:a.bodyLight}),(0,b.jsx)("rect",{x:"80",y:"30",width:"10",height:"4",fill:a.bodyDark})]})}function o({preset:a}){let c=a.feature;return(0,b.jsxs)(b.Fragment,{children:[a.facePatch?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"40",y:"39",width:"48",height:"34",fill:a.facePatch}),(0,b.jsx)("rect",{x:"46",y:"73",width:"36",height:"10",fill:a.facePatch})]}):null,"bell"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"50",y:"74",width:"28",height:"6",fill:a.accent}),(0,b.jsx)("rect",{x:"58",y:"80",width:"13",height:"11",fill:a.accessory}),(0,b.jsx)("rect",{x:"61",y:"84",width:"7",height:"3",fill:a.eye})]}):null,"bolt"===c?(0,b.jsx)("rect",{x:"89",y:"76",width:"13",height:"8",fill:a.accent}):null,"chomp"===c?(0,b.jsx)("rect",{x:"72",y:"56",width:"22",height:"16",fill:a.highlight}):null,"ghost"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"28",y:"91",width:"12",height:"8",fill:a.bodyLight}),(0,b.jsx)("rect",{x:"52",y:"91",width:"12",height:"8",fill:a.bodyLight}),(0,b.jsx)("rect",{x:"76",y:"91",width:"12",height:"8",fill:a.bodyLight})]}):null,"drum"===c?(0,b.jsx)("rect",{x:"31",y:"55",width:"66",height:"8",fill:a.accessory}):null,"mecha"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"41",y:"35",width:"45",height:"6",fill:a.accent}),(0,b.jsx)("rect",{x:"57",y:"58",width:"14",height:"9",fill:a.accessory})]}):null,a.cheek?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"36",y:"58",width:"8",height:"7",fill:a.cheek}),(0,b.jsx)("rect",{x:"86",y:"58",width:"8",height:"7",fill:a.cheek})]}):null]})}function p({preset:a,activityId:d,animated:e=!1,reacting:f=!1,shaken:g=!1,fainted:h=!1,eyeOffset:i}){return"monster"!==(a.shape??"monster")?(0,b.jsx)("g",{className:e?"cloud-code-monster-pet-character":void 0,children:(0,b.jsx)(c.Suspense,{fallback:null,children:(0,b.jsx)(l,{activityId:d,preset:a,reacting:f,shaken:g,fainted:h,eyeOffset:i})})}):(0,b.jsxs)("g",{className:e?"cloud-code-monster-pet-character":void 0,children:[(0,b.jsx)(n,{preset:a}),(0,b.jsx)("rect",{x:"32",y:"22",width:"64",height:"12",fill:a.bodyTop}),(0,b.jsx)("rect",{x:"24",y:"34",width:"80",height:"17",fill:a.bodyTop}),(0,b.jsx)("rect",{x:"16",y:"51",width:"12",height:"24",fill:a.body}),(0,b.jsx)("rect",{x:"24",y:"51",width:"80",height:"41",fill:a.body}),(0,b.jsx)("rect",{x:"100",y:"51",width:"12",height:"24",fill:a.body}),(0,b.jsx)("rect",{x:"16",y:"63",width:"12",height:"12",fill:a.bodyDark}),(0,b.jsx)("rect",{x:"30",y:"86",width:"68",height:"10",fill:a.bodyDark}),(0,b.jsx)("rect",{x:"34",y:"34",width:"60",height:"6",fill:a.bodyLight}),(0,b.jsx)("rect",{x:"24",y:"51",width:"9",height:"35",fill:a.bodySideLight}),(0,b.jsx)("rect",{x:"95",y:"51",width:"9",height:"35",fill:a.bodySideDark}),(0,b.jsx)(o,{preset:a}),(0,b.jsx)(m,{activityId:d,preset:a,reacting:f,shaken:g,fainted:h,eyeOffset:i}),(0,b.jsx)("rect",{x:"36",y:"69",width:"8",height:"8",fill:a.bodyLight}),(0,b.jsx)("rect",{x:"84",y:"69",width:"8",height:"8",fill:a.bodySideDark}),(0,b.jsx)("rect",{className:"cloud-code-monster-pet-left-foot",x:"29",y:"96",width:"12",height:"22",fill:a.body}),(0,b.jsx)("rect",{className:"cloud-code-monster-pet-left-foot",x:"52",y:"96",width:"12",height:"22",fill:a.body}),(0,b.jsx)("rect",{className:"cloud-code-monster-pet-right-foot",x:"76",y:"96",width:"12",height:"22",fill:a.bodyDark}),(0,b.jsx)("rect",{className:"cloud-code-monster-pet-right-foot",x:"96",y:"96",width:"12",height:"22",fill:a.bodyDark})]})}function q({preset:a,className:c}){return(0,b.jsxs)("svg",{className:c,viewBox:"0 0 128 128",role:"img","aria-label":`${a.name} pixel PET preset`,shapeRendering:"crispEdges",children:[(0,b.jsx)("rect",{x:"31",y:"116",width:"66",height:"5",fill:"rgba(45,40,36,.12)"}),(0,b.jsx)("rect",{x:"40",y:"121",width:"48",height:"3",fill:"rgba(45,40,36,.07)"}),(0,b.jsx)(p,{preset:a,activityId:null})]})}var r=a.i(76592),s=a.i(973111),t=a.i(272818),u=a.i(75118);a.s(["PetTab",0,function(){let[a,g]=(0,c.useState)(!1),[k,l]=(0,c.useState)(h[0].id),m=i(k);return(0,c.useEffect)(()=>{g((0,t.readHomePetSettings)().enabled),l(j());let a=a=>{let b=a.detail?.presetId;l(b?i(b).id:j())};return window.addEventListener(f,a),()=>{window.removeEventListener(f,a)}},[]),(0,b.jsxs)("div",{className:"space-y-8",children:[(0,b.jsxs)("section",{className:"space-y-4",children:[(0,b.jsx)("h2",{className:"text-sm font-medium",children:"Pet"}),(0,b.jsx)("div",{className:"space-y-4",children:(0,b.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,b.jsxs)("div",{className:"space-y-0.5",children:[(0,b.jsx)(r.Label,{htmlFor:"pet-enabled",className:"text-sm",children:"Enable pet"}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Off by default. Turn it on when you want the workspace companion."})]}),(0,b.jsx)(s.Switch,{id:"pet-enabled",checked:a,onCheckedChange:a=>{g(a),(0,t.writeHomePetSettings)({enabled:a})}})]})})]}),a?(0,b.jsxs)("section",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"text-sm font-medium",children:"Preset"}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:m.name})]}),(0,b.jsx)("div",{className:"grid size-14 place-items-center rounded-md bg-card ring-1 ring-border/60",children:(0,b.jsx)(q,{preset:m,className:"size-11"})})]}),(0,b.jsx)("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-3",children:h.map(a=>{let c=a.id===m.id;return(0,b.jsxs)("button",{type:"button","aria-pressed":c,onClick:()=>{l(function(a){let b=i(a);if("u">typeof localStorage)try{localStorage.setItem(e,b.id)}catch{}return b.id}(a.id))},className:(0,u.cn)("group grid h-28 min-w-0 grid-rows-[1fr_auto] rounded-md border bg-card/60 p-2 text-left transition-all hover:border-foreground/20 hover:bg-accent/55 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/70",c?"border-primary/50 bg-accent text-foreground":"border-border/50 text-muted-foreground"),children:[(0,b.jsx)("div",{className:"grid place-items-center rounded bg-background/70 ring-1 ring-border/35",children:(0,b.jsx)(q,{preset:a,className:"size-14 transition-transform duration-200 group-hover:scale-105"})}),(0,b.jsxs)("div",{className:"mt-1.5 flex min-w-0 items-center justify-between gap-1 text-[10px] leading-none",children:[(0,b.jsx)("span",{className:"truncate font-medium text-foreground",children:a.name}),c?(0,b.jsx)(d,{className:"size-3 shrink-0 text-primary"}):(0,b.jsx)("span",{className:"shrink-0 text-muted-foreground",children:a.id.replace("pet-","#")})]})]},a.id)})})]}):null]})}],390946)},617168,a=>{"use strict";var b=a.i(616612),c=a.i(734803),d=a.i(752792),e=a.i(506180),f=a.i(25668),g=a.i(588339),h=a.i(439882),i=a.i(464830),j=a.i(410732);let k=(0,j.default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);var l=a.i(551798),m=a.i(554705);let n=(0,j.default)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]);var o=a.i(515837);let p=(0,j.default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);function q({icon:a,label:c,value:d,sub:e}){return(0,b.jsx)(h.Card,{size:"sm",children:(0,b.jsxs)(h.CardContent,{className:"flex items-center gap-3",children:[(0,b.jsx)("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary",children:(0,b.jsx)(a,{className:"size-4"})}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-1",children:[(0,b.jsx)("p",{className:"text-2xl font-semibold leading-none tracking-tight",children:d}),e&&(0,b.jsx)(i.Badge,{variant:"secondary",className:"text-[10px] px-1.5 h-4 font-normal",children:e})]}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground truncate",children:c})]})]})})}function r({agents:a,runtimes:c,activeTaskCounts:d,overview:e}){let f=new Map;for(let a of c){let b=a.daemon_id??a.id;f.set(b,f.get(b)||"online"===a.status)}let g=f.size,h=[...f.values()].filter(Boolean).length,i=Object.values(d).reduce((a,b)=>a+b,0),j=a.filter(a=>{let b=c.find(b=>b.id===a.runtime_id);return b?.status==="online"}).length;return(0,b.jsxs)("div",{className:"grid gap-3 grid-cols-2 sm:grid-cols-3 lg:grid-cols-6",children:[(0,b.jsx)(q,{icon:o.Monitor,label:"Machines",value:`${h}/${g}`,sub:"online"}),(0,b.jsx)(q,{icon:k,label:"Agents",value:a.length,sub:`${j} online`}),(0,b.jsx)(q,{icon:n,label:"Members",value:e.members.length,sub:e.pending_invites>0?`${e.pending_invites} pending`:void 0}),(0,b.jsx)(q,{icon:p,label:"Active Tasks",value:i,sub:e.task_stats.queued>0?`${e.task_stats.queued} queued`:void 0}),(0,b.jsx)(q,{icon:m.Send,label:"Emails Sent",value:e.email_stats.outbound,sub:`${e.email_stats.unread} unread`}),(0,b.jsx)(q,{icon:l.Mail,label:"Custom Emails",value:e.email_accounts.length})]})}function s({overview:a}){let{completed:c,failed:d,cancelled:e,queued:f,stale:g}=a.task_stats,i=c+d,j=i>0?(d/i*100).toFixed(1):"0";return(0,b.jsxs)(h.Card,{children:[(0,b.jsx)(h.CardHeader,{children:(0,b.jsx)(h.CardTitle,{children:"Task Health (Today)"})}),(0,b.jsx)(h.CardContent,{children:(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,b.jsx)(t,{label:"Completed",value:c}),(0,b.jsx)(t,{label:"Failed",value:d,className:d>0?"text-destructive":void 0}),(0,b.jsx)(t,{label:"Cancelled",value:e}),(0,b.jsx)(t,{label:"Failure Rate",value:`${j}%`,className:Number(j)>10?"text-destructive":void 0}),(0,b.jsx)(t,{label:"Queue Backlog",value:f,className:f>10?"text-amber-500":void 0}),(0,b.jsx)(t,{label:"Stale Tasks",value:g,className:g>0?"text-destructive":void 0})]})})]})}function t({label:a,value:c,className:d}){return(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:`text-xl font-semibold ${d??""}`,children:c}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a})]})}var u=a.i(525132);function v({overview:a,agents:c}){let{inbound:d,outbound:e,unread:f,rejected:g}=a.email_stats,i=new Map(c.map(a=>[a.id,a.name]));return(0,b.jsxs)(h.Card,{children:[(0,b.jsx)(h.CardHeader,{children:(0,b.jsx)(h.CardTitle,{children:"Email Summary"})}),(0,b.jsxs)(h.CardContent,{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-xl font-semibold",children:d}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Received"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-xl font-semibold",children:e}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Sent"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:`text-xl font-semibold ${f>0?"text-primary":""}`,children:f}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Unread"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:`text-xl font-semibold ${g>0?"text-amber-500":""}`,children:g}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Untrust"})]})]}),a.email_accounts.length>0&&(0,b.jsxs)("div",{className:"space-y-2 pt-2 border-t border-border/50",children:[(0,b.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:"Custom Mailboxes"}),a.email_accounts.map(a=>(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2 text-xs",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{render:(0,b.jsx)("span",{className:`size-1.5 shrink-0 rounded-full ${"active"===a.status?"bg-emerald-500":"bg-destructive"}`})}),(0,b.jsx)(u.TooltipContent,{side:"top",children:"active"===a.status?"Active":`Error: ${a.error_message||"inactive"}`})]}),(0,b.jsx)("span",{className:"truncate",children:a.email_address})]}),(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:i.get(a.agent_id)??"—"})]},a.id))]})]})]})}var w=a.i(630991),x=a.i(919690);function y({runtimes:a,agents:c}){let d=(0,w.useRouter)(),{slug:f}=(0,e.useWorkspace)(),g=new Map;for(let b of a){let a=b.daemon_id??b.id;g.has(a)||g.set(a,{runtimes:[],deviceInfo:b.device_info??""}),g.get(a).runtimes.push(b)}let j=[...g.entries()];return 0===j.length?(0,b.jsxs)(h.Card,{children:[(0,b.jsxs)(h.CardHeader,{children:[(0,b.jsx)(h.CardTitle,{children:"Machines"}),(0,b.jsx)(h.CardAction,{children:(0,b.jsx)("button",{type:"button",onClick:()=>d.push(`/w/${f}/runtimes`),className:"text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:(0,b.jsx)(x.ArrowUpRight,{className:"size-4"})})})]}),(0,b.jsx)(h.CardContent,{children:(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"No machines connected."})})]}):(0,b.jsxs)(h.Card,{children:[(0,b.jsx)(h.CardHeader,{children:(0,b.jsx)(h.CardTitle,{children:"Machines"})}),(0,b.jsx)(h.CardContent,{className:"space-y-3",children:j.map(([a,d])=>{let e=d.runtimes.some(a=>"online"===a.status),f=d.runtimes.map(a=>a.last_seen_at).filter(Boolean).sort().reverse()[0],g=c.filter(a=>d.runtimes.some(b=>b.id===a.runtime_id)),h=d.runtimes.some(a=>a.pending_update_version),j=d.runtimes.find(a=>a.pending_update_version)?.pending_update_version;return(0,b.jsxs)("div",{className:"flex items-start gap-3 text-xs",children:[(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{render:(0,b.jsx)("span",{className:`mt-1 size-2 shrink-0 rounded-full ${e?"bg-emerald-500":"bg-muted-foreground/30"}`})}),(0,b.jsx)(u.TooltipContent,{side:"top",children:e?"Online":"Offline"})]}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"font-medium truncate",children:d.deviceInfo||a.slice(0,12)}),h&&(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{render:(0,b.jsx)("span",{children:(0,b.jsx)(i.Badge,{variant:"outline",className:"text-[10px] px-1.5 py-0 text-amber-500 border-amber-500/30",children:"update"})})}),(0,b.jsxs)(u.TooltipContent,{side:"top",children:["Pending update to v",j]})]})]}),(0,b.jsxs)("div",{className:"text-muted-foreground mt-0.5",children:[g.length>0?g.map(a=>a.name).join(", "):"No agents"," · ",function(a){if(!a)return"never";let b=Math.floor((Date.now()-new Date(a).getTime())/1e3);if(b<60)return`${b}s ago`;let c=Math.floor(b/60);if(c<60)return`${c}m ago`;let d=Math.floor(c/60);return d<24?`${d}h ago`:`${Math.floor(d/24)}d ago`}(f??null)]})]})]},a)})})]})}function z({overview:a}){let c=(0,w.useRouter)(),{slug:d}=(0,e.useWorkspace)(),{members:f,pending_invites:g}=a;return(0,b.jsxs)(h.Card,{children:[(0,b.jsxs)(h.CardHeader,{children:[(0,b.jsx)(h.CardAction,{children:(0,b.jsx)("button",{type:"button",onClick:()=>c.push(`/w/${d}/settings`),className:"text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:(0,b.jsx)(x.ArrowUpRight,{className:"size-4"})})}),(0,b.jsxs)(h.CardTitle,{children:["Team",g>0&&(0,b.jsxs)("span",{className:"ml-2 text-xs text-muted-foreground font-normal",children:["(",g," pending invite",g>1?"s":"",")"]})]})]}),(0,b.jsx)(h.CardContent,{className:"p-0",children:(0,b.jsx)("div",{className:"divide-y divide-border/50",children:[...f].sort((a,b)=>"owner"===a.role?-1:+("owner"===b.role)).map(a=>(0,b.jsxs)("div",{className:"flex items-center gap-3 px-4 py-2.5",children:[a.image?(0,b.jsx)("img",{src:a.image,alt:a.name,className:"size-7 rounded-full shrink-0"}):(0,b.jsx)("div",{className:"flex size-7 shrink-0 items-center justify-center rounded-full bg-secondary text-xs font-medium",children:(a.name||a.email).charAt(0).toUpperCase()}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("span",{className:"text-sm font-medium truncate block",children:a.name||a.email}),a.name&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate block",children:a.email})]}),(0,b.jsx)(i.Badge,{variant:"owner"===a.role?"default":"secondary",className:"text-[10px] px-1.5 py-0 shrink-0",children:a.role})]},a.id))})})]})}a.s(["UsagesTab",0,function(){let{agents:a,runtimes:h,loading:i,activeTaskCounts:j}=(0,d.useAgentContext)(),{workspaceId:k}=(0,e.useWorkspace)(),[l,m]=(0,c.useState)(null),[n,o]=(0,c.useState)(!1);return((0,c.useEffect)(()=>{if(i)return;let a=!1;return o(!0),(0,g.getWorkspaceOverview)(k).then(b=>{a||m(b)}).catch(()=>{}).finally(()=>{a||o(!1)}),()=>{a=!0}},[i,k]),n||!l)?(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)(f.Skeleton,{className:"h-44 rounded-xl"}),(0,b.jsx)(f.Skeleton,{className:"h-44 rounded-xl"}),(0,b.jsx)(f.Skeleton,{className:"h-44 rounded-xl"}),(0,b.jsx)(f.Skeleton,{className:"h-44 rounded-xl"})]}):(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)(r,{agents:a,runtimes:h,activeTaskCounts:j,overview:l}),(0,b.jsxs)("div",{className:"grid gap-4 lg:grid-cols-2",children:[(0,b.jsx)(s,{overview:l}),(0,b.jsx)(v,{overview:l,agents:a})]}),(0,b.jsxs)("div",{className:"grid gap-4 lg:grid-cols-2",children:[(0,b.jsx)(y,{runtimes:h,agents:a}),(0,b.jsx)(z,{overview:l})]})]})}],617168)},294526,a=>a.a(async(b,c)=>{try{var d=a.i(616612),e=a.i(734803),f=a.i(654461),g=a.i(75118),h=a.i(597047),i=a.i(53909),j=a.i(616131),k=a.i(93590),l=a.i(390946),m=a.i(617168),n=b([h,j]);[h,j]=n.then?(await n)():n;let o=[{id:"general",label:"General"},{id:"pet",label:"Pet"},{id:"instruction",label:"Global Instruction"},{id:"notifications",label:"Notifications"},{id:"members",label:"Members"},{id:"usages",label:"Usages"}];a.s(["default",0,function(){let[a,b]=(0,e.useState)("general");return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"flex items-center justify-between border-b border-border/50 px-3 md:px-5 py-2.5 gap-3",children:(0,d.jsx)("div",{className:"flex items-center gap-3 min-w-0",children:(0,d.jsx)("h1",{className:"text-sm font-medium",children:"Settings"})})}),(0,d.jsxs)("div",{className:"flex flex-1 min-h-0",children:[(0,d.jsxs)("nav",{className:"w-48 shrink-0 border-r border-border/50 py-3 px-2 hidden md:flex md:flex-col",children:[(0,d.jsx)("div",{className:"flex-1",children:o.map(c=>(0,d.jsx)("button",{onClick:()=>b(c.id),className:(0,g.cn)("w-full rounded-md px-2.5 py-1.5 text-left text-sm transition-colors",a===c.id?"bg-accent text-foreground font-medium":"text-muted-foreground hover:bg-accent/50 hover:text-foreground"),children:c.label},c.id))}),(0,d.jsxs)("div",{className:"px-2.5 pt-3 border-t border-border/50 text-[11px] text-muted-foreground/60",children:["v","0.0.141"]})]}),(0,d.jsxs)("div",{className:"flex-1 min-w-0 flex flex-col",children:[(0,d.jsx)("div",{className:"px-4 pt-2 md:hidden",children:(0,d.jsx)(f.Tabs,{className:"items-center",value:a,onValueChange:a=>b(a),children:(0,d.jsx)(f.TabsList,{className:"h-auto gap-1",children:o.map(a=>(0,d.jsx)(f.TabsTrigger,{value:a.id,children:a.label},a.id))})})}),(0,d.jsx)("div",{className:(0,g.cn)("flex-1 overflow-y-auto thin-scrollbar","instruction"!==a&&"px-5 py-5"),children:"instruction"===a?(0,d.jsx)(i.InstructionTab,{}):"usages"===a?(0,d.jsx)(m.UsagesTab,{}):(0,d.jsxs)("div",{className:"mx-auto max-w-md",children:["general"===a&&(0,d.jsx)(h.GeneralTab,{}),"pet"===a&&(0,d.jsx)(l.PetTab,{}),"notifications"===a&&(0,d.jsx)(k.NotificationTab,{}),"members"===a&&(0,d.jsx)(j.MembersTab,{})]})}),(0,d.jsxs)("div",{className:"px-4 py-2 text-[11px] text-muted-foreground/60 md:hidden",children:["v","0.0.141"]})]})]})]})}]),c()}catch(a){c(a)}},!1)];
|
|
1
|
+
module.exports=[597047,a=>a.a(async(b,c)=>{try{var d=a.i(616612),e=a.i(734803),f=a.i(780956),g=a.i(630991),h=a.i(506180),i=a.i(454607),j=a.i(588339),k=a.i(732254),l=a.i(334235),m=a.i(76592),n=a.i(25668),o=a.i(390248),p=a.i(946621),q=b([i]);[i]=q.then?(await q)():q,a.s(["GeneralTab",0,function(){let{workspaceId:a,slug:b}=(0,h.useWorkspace)(),c=(0,i.useSession)(),q=(0,g.useRouter)(),[r,s]=(0,e.useState)(""),[t,u]=(0,e.useState)(!0),[v,w]=(0,e.useState)(""),[x,y]=(0,e.useState)(""),[z,A]=(0,e.useState)(""),[B,C]=(0,e.useState)(""),[D,E]=(0,e.useState)(!1),[F,G]=(0,e.useState)({}),[H,I]=(0,e.useState)(""),[J,K]=(0,e.useState)(!1),L=(0,e.useCallback)(async()=>{u(!0);try{let b=c.data?.user?.id,[d,e]=await Promise.all([(0,j.listMembers)(a),(0,j.listWorkspaces)()]),f=d.find(a=>a.user_id===b);s(f?.role??"");let g=e.find(b=>b.id===a);g&&(w(g.name),y(g.slug),A(g.name),C(g.slug))}catch(a){f.toast.error(a instanceof Error?a.message:"Failed to load workspace info")}finally{u(!1)}},[a,c.data?.user?.id]);(0,e.useEffect)(()=>{c.data&&L()},[L,c.data]);let M=v!==z||x!==B,N=async()=>{let c=(0,o.validateWorkspaceForm)({name:v,slug:x});if(G(c),!(0,o.hasWorkspaceFormErrors)(c)){E(!0);try{let c=await (0,j.updateWorkspace)(a,{name:v.trim(),slug:x.trim()});(0,p.trackSettingsUpdated)({setting_tab:"general"}),A(c.name),C(c.slug),f.toast.success("Workspace updated"),c.slug!==b&&q.replace(`/w/${c.slug}/settings`)}catch(a){f.toast.error(a instanceof Error?a.message:"Failed to update workspace")}finally{E(!1)}}},O=async()=>{if(H===z){K(!0);try{await (0,j.deleteWorkspace)(a,z),f.toast.success("Workspace deleted"),q.replace("/workspaces")}catch(a){f.toast.error(a instanceof Error?a.message:"Failed to delete workspace")}finally{K(!1)}}};return t?(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsx)(n.Skeleton,{className:"h-4 w-32"}),(0,d.jsx)(n.Skeleton,{className:"h-10 w-full"}),(0,d.jsx)(n.Skeleton,{className:"h-10 w-full"})]}):"owner"!==r?(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Only workspace owners can edit workspace settings."}):(0,d.jsxs)("div",{className:"space-y-10",children:[(0,d.jsxs)("section",{className:"space-y-4",children:[(0,d.jsx)("h2",{className:"text-sm font-medium",children:"Workspace"}),(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"space-y-1.5",children:[(0,d.jsx)(m.Label,{htmlFor:"workspace-name",children:"Name"}),(0,d.jsx)(l.Input,{id:"workspace-name",value:v,onChange:a=>{let b=a.target.value;w(b),F.name&&b.trim()&&G(a=>({...a,name:void 0}))},placeholder:"Workspace name","aria-invalid":!!F.name,"aria-describedby":F.name?"workspace-name-error":void 0}),F.name&&(0,d.jsx)("p",{id:"workspace-name-error",className:"text-xs text-destructive",children:F.name})]}),(0,d.jsxs)("div",{className:"space-y-1.5",children:[(0,d.jsx)(m.Label,{htmlFor:"workspace-slug",children:"Slug"}),(0,d.jsx)(l.Input,{id:"workspace-slug",value:x,onChange:a=>{let b=a.target.value;y(b),F.slug&&b.trim()&&G(a=>({...a,slug:void 0}))},placeholder:"workspace-slug","aria-invalid":!!F.slug,"aria-describedby":F.slug?"workspace-slug-error":void 0}),F.slug&&(0,d.jsx)("p",{id:"workspace-slug-error",className:"text-xs text-destructive",children:F.slug}),(0,d.jsxs)("p",{className:"text-xs text-muted-foreground/70",children:["Used in URLs: /w/",x,"/"]})]})]}),(0,d.jsx)(k.Button,{size:"sm",onClick:N,disabled:!M||D,children:D?"Saving…":"Save"})]}),(0,d.jsxs)("section",{className:"space-y-4",children:[(0,d.jsx)("h2",{className:"text-sm font-medium text-destructive",children:"Danger Zone"}),(0,d.jsxs)("div",{className:"rounded-md border border-destructive/30 p-4 space-y-3",children:[(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Deleting this workspace is permanent and cannot be undone. All agents, conversations, and data will be lost."}),(0,d.jsxs)("div",{className:"space-y-1.5",children:[(0,d.jsxs)(m.Label,{htmlFor:"delete-confirm",className:"text-xs",children:["Type ",(0,d.jsx)("span",{className:"font-medium text-foreground",children:z})," to confirm"]}),(0,d.jsx)(l.Input,{id:"delete-confirm",value:H,onChange:a=>I(a.target.value),placeholder:z})]}),(0,d.jsx)(k.Button,{size:"sm",variant:"destructive",onClick:O,disabled:H!==z||J,children:J?"Deleting…":"Delete Workspace"})]})]})]})}]),c()}catch(a){c(a)}},!1),53909,a=>{"use strict";var b=a.i(616612),c=a.i(734803),d=a.i(780956),e=a.i(506180),f=a.i(588339),g=a.i(889624),h=a.i(25668),i=a.i(75118);function j({ratio:a,size:c=16,stroke:d=1.5}){let e=(c-d)/2,f=2*Math.PI*e,g=(a<=0?0:a>=1?1:Math.log1p(99*a)/Math.log(100))*f;return(0,b.jsxs)("svg",{width:c,height:c,className:"shrink-0 -rotate-90","aria-hidden":!0,children:[(0,b.jsx)("circle",{cx:c/2,cy:c/2,r:e,fill:"none",stroke:"currentColor",strokeWidth:d,className:"text-border"}),(0,b.jsx)("circle",{cx:c/2,cy:c/2,r:e,fill:"none",stroke:"currentColor",strokeWidth:d,strokeDasharray:`${g} ${f-g}`,strokeLinecap:"round",className:(0,i.cn)("transition-all duration-300",a>.9?"text-destructive/70":a>.7?"text-yellow-500/50":"text-muted-foreground/30")})]})}a.s(["InstructionTab",0,function(){let{workspaceId:a}=(0,e.useWorkspace)(),[i,k]=(0,c.useState)(""),[l,m]=(0,c.useState)(""),[n,o]=(0,c.useState)(!0),p=(0,c.useRef)(i);(0,c.useEffect)(()=>{p.current=i},[i]);let q=(0,c.useRef)(l);(0,c.useEffect)(()=>{q.current=l},[l]);let r=(0,c.useRef)(null),s=(0,c.useRef)(!1),t=(0,c.useCallback)(async()=>{o(!0);try{let b=await (0,f.getMemberMe)(a);k(b.global_instruction),m(b.global_instruction)}catch(a){d.toast.error(a instanceof Error?a.message:"Failed to load settings")}finally{o(!1)}},[a]);(0,c.useEffect)(()=>{t()},[t]);let u=(0,c.useRef)(()=>{}),v=(0,c.useCallback)(async()=>{if(s.current)return;let b=p.current;if(b!==q.current){s.current=!0;try{let c=await (0,f.updateMemberMe)(a,b);m(c.global_instruction)}catch(a){d.toast.error(a instanceof Error?a.message:"Failed to save")}finally{s.current=!1,p.current!==q.current&&u.current()}}},[a]),w=(0,c.useCallback)(()=>{r.current&&clearTimeout(r.current),r.current=setTimeout(v,500)},[v]);(0,c.useEffect)(()=>{u.current=w},[w]);let x=(0,c.useCallback)(a=>{k(a),w()},[w]);(0,c.useEffect)(()=>{let b=()=>{if(r.current&&clearTimeout(r.current),p.current!==q.current){let b=new URLSearchParams({workspace_id:a});fetch(`/api/members/me?${b}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({global_instruction:p.current}),keepalive:!0})}};return window.addEventListener("beforeunload",b),()=>window.removeEventListener("beforeunload",b)},[a]),(0,c.useEffect)(()=>()=>{if(r.current&&clearTimeout(r.current),p.current!==q.current){let b=new URLSearchParams({workspace_id:a});fetch(`/api/members/me?${b}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({global_instruction:p.current}),keepalive:!0})}},[a]);let y=i.length/5e4;return n?(0,b.jsxs)("div",{className:"px-6 py-6 space-y-4",children:[(0,b.jsx)(h.Skeleton,{className:"h-4 w-48"}),(0,b.jsx)(h.Skeleton,{className:"h-40 w-full"})]}):(0,b.jsxs)("div",{className:"flex flex-col h-full",children:[(0,b.jsx)("div",{className:"flex-1 px-6 pt-4 pb-4",children:(0,b.jsx)(g.MarkdownEditor,{value:i,onChange:x,placeholder:"Write instructions that every agent you own will follow...",minHeight:"calc(100vh - 240px)",contentType:"markdown",variant:"seamless"})}),(0,b.jsxs)("div",{className:"flex items-center gap-2 px-6 py-3",children:[(0,b.jsx)(j,{ratio:y}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"This instruction is prepended to every agent's individual instruction."})]})]})}])},851688,a=>{"use strict";let b=(0,a.i(410732).default)("user-minus",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]]);a.s(["UserMinus",0,b],851688)},616131,a=>a.a(async(b,c)=>{try{var d=a.i(616612),e=a.i(734803),f=a.i(780956),g=a.i(340490),h=a.i(790107),i=a.i(396439),j=a.i(851688),k=a.i(506180),l=a.i(454607),m=a.i(588339),n=a.i(732254),o=a.i(25668),p=a.i(525132),q=a.i(75118),r=a.i(946621),s=b([l]);function t(a){return`${window.location.origin}/invite/${a}`}[l]=s.then?(await s)():s,a.s(["MembersTab",0,function(){let{workspaceId:a}=(0,k.useWorkspace)(),b=(0,l.useSession)(),c=b.data?.user?.id,[s,u]=(0,e.useState)([]),[v,w]=(0,e.useState)([]),[x,y]=(0,e.useState)(!0),[z,A]=(0,e.useState)(!1),B=s.find(a=>a.user_id===c)?.role==="owner",C=(0,e.useCallback)(async()=>{y(!0);try{let[b,c]=await Promise.all([(0,m.listMembers)(a),(0,m.listInvites)(a).catch(()=>[])]);u(b),w(c)}catch(a){f.toast.error(a instanceof Error?a.message:"Failed to load members")}finally{y(!1)}},[a]);(0,e.useEffect)(()=>{C()},[C]);let D=async()=>{A(!0);try{let b=await (0,m.createInvite)(a);(0,r.trackTeamMemberInvited)({workspace_id:a}),w(a=>[...a,b]);let c=t(b.token);await navigator.clipboard.writeText(c),f.toast.success("Invite link copied to clipboard")}catch(a){f.toast.error(a instanceof Error?a.message:"Failed to generate invite")}finally{A(!1)}},E=async a=>{let b=t(a);try{await navigator.clipboard.writeText(b),f.toast.success("Invite link copied")}catch{f.toast.error("Failed to copy link")}},F=async b=>{try{await (0,m.revokeInvite)(a,b),w(a=>a.filter(a=>a.id!==b)),f.toast.success("Invite revoked")}catch(a){f.toast.error(a instanceof Error?a.message:"Failed to revoke invite")}},G=async b=>{try{await (0,m.removeMember)(a,b),u(a=>a.filter(a=>a.id!==b)),f.toast.success("Member removed")}catch(a){f.toast.error(a instanceof Error?a.message:"Failed to remove member")}};return x?(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsx)(o.Skeleton,{className:"h-4 w-24"}),(0,d.jsx)(o.Skeleton,{className:"h-10 w-full"}),(0,d.jsx)(o.Skeleton,{className:"h-10 w-full"}),(0,d.jsx)(o.Skeleton,{className:"h-4 w-24 mt-6"}),(0,d.jsx)(o.Skeleton,{className:"h-10 w-full"}),(0,d.jsx)(o.Skeleton,{className:"h-10 w-full"})]}):(0,d.jsxs)("div",{className:"space-y-8",children:[B&&(0,d.jsxs)("section",{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("h2",{className:"text-sm font-medium",children:"Pending Invites"}),(0,d.jsxs)(n.Button,{size:"sm",variant:"outline",onClick:D,disabled:z,children:[(0,d.jsx)(i.Plus,{className:"size-3.5 mr-1"}),z?"Generating…":"Generate invite link"]})]}),0===v.length?(0,d.jsx)("p",{className:"text-xs text-muted-foreground py-2",children:"No active invite links. Generate one to invite someone to this workspace."}):(0,d.jsx)("div",{className:"space-y-1.5",children:v.map(a=>{let b=new Date(a.expires_at),c=b<new Date;return(0,d.jsxs)("div",{className:"flex items-center justify-between rounded-md border border-border/50 px-3 py-2 text-xs",children:[(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsxs)("p",{className:(0,q.cn)("font-mono truncate",c&&"text-muted-foreground line-through"),children:["/invite/",a.token.slice(0,12),"…"]}),(0,d.jsx)("p",{className:(0,q.cn)("text-muted-foreground/70 mt-0.5",c&&"text-destructive/70"),children:c?"Expired":`Expires ${b.toLocaleDateString()}`})]}),(0,d.jsxs)("div",{className:"flex items-center gap-1 ml-2 shrink-0",children:[!c&&(0,d.jsxs)(p.Tooltip,{children:[(0,d.jsx)(p.TooltipTrigger,{render:(0,d.jsx)(n.Button,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0",onClick:()=>E(a.token)}),children:(0,d.jsx)(g.Copy,{className:"size-3.5"})}),(0,d.jsx)(p.TooltipContent,{children:"Copy invite link"})]}),(0,d.jsxs)(p.Tooltip,{children:[(0,d.jsx)(p.TooltipTrigger,{render:(0,d.jsx)(n.Button,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0 text-destructive hover:text-destructive",onClick:()=>F(a.id)}),children:(0,d.jsx)(h.Trash2,{className:"size-3.5"})}),(0,d.jsx)(p.TooltipContent,{children:"Revoke invite"})]})]})]},a.id)})})]}),(0,d.jsxs)("section",{className:"space-y-3",children:[(0,d.jsx)("h2",{className:"text-sm font-medium",children:"Members"}),(0,d.jsx)("div",{className:"space-y-1.5",children:s.map(a=>{let b=a.user_id===c,e=a.name?a.name.split(" ").map(a=>a[0]).join("").slice(0,2).toUpperCase():a.email.slice(0,2).toUpperCase();return(0,d.jsxs)("div",{className:"flex items-center gap-3 rounded-md border border-border/50 px-3 py-2",children:[(0,d.jsx)("div",{className:"size-7 rounded-full bg-muted flex items-center justify-center text-xs font-medium text-muted-foreground shrink-0 overflow-hidden",children:a.image?(0,d.jsx)("img",{src:a.image,alt:a.name,className:"size-full object-cover"}):e}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsxs)("p",{className:"text-sm font-medium truncate leading-tight",children:[a.name||a.email,b&&(0,d.jsx)("span",{className:"ml-1.5 text-xs text-muted-foreground font-normal",children:"(you)"})]}),a.name&&(0,d.jsx)("p",{className:"text-xs text-muted-foreground truncate",children:a.email})]}),(0,d.jsx)("span",{className:(0,q.cn)("text-xs px-1.5 py-0.5 rounded shrink-0","owner"===a.role?"bg-primary/10 text-primary":"bg-muted text-muted-foreground"),children:a.role}),B&&!b&&(0,d.jsxs)(p.Tooltip,{children:[(0,d.jsx)(p.TooltipTrigger,{render:(0,d.jsx)(n.Button,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0 text-muted-foreground hover:text-destructive shrink-0",onClick:()=>G(a.id)}),children:(0,d.jsx)(j.UserMinus,{className:"size-3.5"})}),(0,d.jsx)(p.TooltipContent,{children:"Remove member"})]})]},a.id)})})]})]})}]),c()}catch(a){c(a)}},!1),93590,a=>{"use strict";var b=a.i(616612),c=a.i(734803),d=a.i(780956),e=a.i(951687),f=a.i(973111),g=a.i(626806);a.s(["NotificationTab",0,function(){let[a,h]=(0,c.useState)(!1),[i,j]=(0,c.useState)([...g.NOTIFICATION_EVENTS]),[k,l]=(0,c.useState)(!0),[m,n]=(0,c.useState)(!1);(0,c.useEffect)(()=>{l((0,g.isNotificationSupported)()),h((0,g.getNotificationEnabled)()),j((0,g.getNotificationEvents)()),(0,g.isNotificationSupported)()&&n("denied"===Notification.permission)},[]);let o=async a=>{if(!a){h(!1),(0,g.setNotificationEnabled)(!1);return}await (0,g.requestNotificationPermission)()?(h(!0),(0,g.setNotificationEnabled)(!0)):(n(!0),d.toast.error("Notification permission denied. Please enable it in browser settings."))};return k?(0,b.jsx)("div",{className:"space-y-6",children:(0,b.jsxs)("section",{className:"space-y-4",children:[(0,b.jsx)("h2",{className:"text-sm font-medium",children:"Browser Notifications"}),(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"space-y-0.5",children:[(0,b.jsx)("p",{className:"text-sm",children:"Enable notifications"}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Get notified when tasks finish while the tab is in the background"})]}),(0,b.jsx)(f.Switch,{checked:a,onCheckedChange:o,disabled:m&&!a})]}),m&&!a&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:"Notification permission was denied. Please allow it in your browser settings."}),a&&(0,b.jsxs)("div",{className:"space-y-2 pl-0.5",children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Notify me when:"}),g.NOTIFICATION_EVENTS.map(a=>(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm cursor-pointer select-none",children:[(0,b.jsx)(e.Checkbox,{checked:i.includes(a),onCheckedChange:()=>{j(b=>{let c=b.includes(a)?b.filter(b=>b!==a):[...b,a];return(0,g.setNotificationEvents)(c),c})}}),g.NOTIFICATION_EVENT_LABELS[a]]},a))]})]})]})}):(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"Your browser does not support notifications."})}])},390946,a=>{"use strict";var b=a.i(616612),c=a.i(734803);let d=(0,a.i(410732).default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]),e="alook-cloud-code-monster-pet-preset-v1",f="alook-cloud-code-monster-pet-preset-changed",g=new Map([{id:"pet-02",name:"Pocket Bell Bot",group:"Inspired Mascots",feature:"bell",shape:"gadget-buddy"},{id:"pet-03",name:"Spark Bolt Pal",group:"Inspired Mascots",feature:"bolt",shape:"electric-mascot"},{id:"pet-04",name:"Star Puff",group:"Inspired Mascots",feature:"star",shape:"star-puff"},{id:"pet-05",name:"Leaf Bud",group:"Inspired Mascots",feature:"leaf",shape:"leaf-bud-shape"},{id:"pet-06",name:"Tiny Flame",group:"Inspired Mascots",feature:"flame",shape:"ember-scout"},{id:"pet-07",name:"Shell Fin",group:"Inspired Mascots",feature:"fins",shape:"shell-sprout"},{id:"pet-08",name:"Block Builder",group:"Inspired Mascots",feature:"visor",shape:"block-builder-shape"},{id:"pet-09",name:"Block Hiss",group:"Inspired Mascots",feature:"mask",shape:"block-hiss-shape"},{id:"pet-10",name:"Block Walker",group:"Inspired Mascots",feature:"visor",shape:"block-walker-shape"},{id:"pet-11",name:"Mushroom Pal",group:"Inspired Mascots",feature:"mushroom",shape:"mushroom-pal-shape"},{id:"pet-12",name:"Blue Spin",group:"Inspired Mascots",feature:"spin",shape:"blue-spinner"},{id:"pet-13",name:"Arcade Chomp",group:"Inspired Mascots",feature:"chomp",shape:"arcade-chomper"},{id:"pet-14",name:"Peek Ghost",group:"Inspired Mascots",feature:"ghost",shape:"peek-ghost-shape"},{id:"pet-15",name:"Red Cap Jumper",group:"Inspired Mascots",feature:"cap",shape:"cap-jumper"},{id:"pet-16",name:"Honey Cub",group:"Inspired Mascots",feature:"ears",shape:"honey-cub-shape"},{id:"pet-17",name:"Ribbon Cat",group:"Inspired Mascots",feature:"bow",shape:"ribbon-cat-shape"},{id:"pet-18",name:"Cozy Hood Bunny",group:"Inspired Mascots",feature:"hood",shape:"cozy-hood-bunny-shape"},{id:"pet-19",name:"Imp Hood",group:"Inspired Mascots",feature:"mask",shape:"imp-hood-shape"},{id:"pet-20",name:"Forest Neighbor",group:"Inspired Mascots",feature:"ears",shape:"forest-neighbor-shape"},{id:"pet-21",name:"Dust Puff",group:"Inspired Mascots",feature:"soot",shape:"dust-puff-shape"},{id:"pet-22",name:"Straw Voyager",group:"Inspired Mascots",feature:"straw",shape:"straw-voyager-shape"},{id:"pet-23",name:"Leaf Runner",group:"Inspired Mascots",feature:"ninja",shape:"leaf-runner-shape"},{id:"pet-24",name:"Energy Pearl",group:"Inspired Mascots",feature:"pearl",shape:"energy-pearl-shape"},{id:"pet-25",name:"Moon Wand",group:"Inspired Mascots",feature:"wand",shape:"moon-wand-shape"},{id:"pet-26",name:"Mecha Guard",group:"Inspired Mascots",feature:"mecha",shape:"mecha-guard-shape"},{id:"pet-27",name:"Teardrop Slime",group:"Inspired Mascots",feature:"slime",shape:"teardrop-slime-shape"},{id:"pet-28",name:"Ink Runner",group:"Inspired Mascots",feature:"ink",shape:"ink-runner-shape"},{id:"pet-29",name:"Little Beagle",group:"Inspired Mascots",feature:"ears",shape:"little-beagle-shape"},{id:"pet-30",name:"Tiny Antler",group:"Inspired Mascots",feature:"horns",shape:"tiny-antler-shape"}].map(a=>[a.id,a])),h=[{id:"pet-01",name:"Claude Pixel",group:"Codex",feature:"square",bodyTop:"#e0845f",body:"#d87352",bodyDark:"#cf684a",bodyLight:"#e88d68",bodySideLight:"#df7d5a",bodySideDark:"#c86347",accent:"#d7654a",accessory:"#f1bc62",eye:"#12100f",highlight:"#f6e7d7"},{id:"pet-02",name:"Blue Pocket Bot",group:"Gadget Buddy",feature:"bell",bodyTop:"#4aa8d8",body:"#2f8fc4",bodyDark:"#2674a4",bodyLight:"#68bce5",bodySideLight:"#48a8d5",bodySideDark:"#1f6591",accent:"#d84e4a",accessory:"#f4c94f",eye:"#10141a",highlight:"#f7fbff",facePatch:"#f6fbff",cheek:"#d84e4a"},{id:"pet-03",name:"Spark Arcade Pal",group:"Electric Mascot",feature:"bolt",bodyTop:"#f2d45a",body:"#e6bd37",bodyDark:"#c89a2a",bodyLight:"#ffe37a",bodySideLight:"#f0cc4c",bodySideDark:"#b58724",accent:"#2f2520",accessory:"#df5145",eye:"#17120e",highlight:"#fff7c7",cheek:"#e94d43"},{id:"pet-04",name:"Pink Star Puff",group:"Star Puff",feature:"star",bodyTop:"#eba0b7",body:"#df7fa0",bodyDark:"#c76589",bodyLight:"#f2b6c8",bodySideLight:"#e993ac",bodySideDark:"#b95778",accent:"#c84d64",accessory:"#f0d862",eye:"#171016",highlight:"#fff0f6",cheek:"#e75c7a"},{id:"pet-05",name:"Leaf Sprite",group:"Forest Starter",feature:"leaf",bodyTop:"#76aa7b",body:"#5f9666",bodyDark:"#4d7c54",bodyLight:"#91bd8f",bodySideLight:"#72a875",bodySideDark:"#426d49",accent:"#2f6f46",accessory:"#d6e78a",eye:"#11160f",highlight:"#f0f8e4",facePatch:"#dceec2"},{id:"pet-06",name:"Ember Starter",group:"Fire Buddy",feature:"flame",bodyTop:"#df8755",body:"#ce6b3f",bodyDark:"#af5333",bodyLight:"#ee9d6b",bodySideLight:"#dd7b4c",bodySideDark:"#9a482c",accent:"#8d3d2f",accessory:"#f3c34b",eye:"#17100c",highlight:"#ffe8d4",cheek:"#e45842"},{id:"pet-07",name:"Ripple Buddy",group:"Water Buddy",feature:"fins",bodyTop:"#82b5d6",body:"#629dcc",bodyDark:"#4f82ad",bodyLight:"#9bc8e5",bodySideLight:"#73add6",bodySideDark:"#44749b",accent:"#5f6f8d",accessory:"#ead59a",eye:"#10151b",highlight:"#eff8ff",facePatch:"#d9eef8"},{id:"pet-08",name:"Moon Alley Cat",group:"Moon Cat",feature:"moon",bodyTop:"#4f4b69",body:"#3f3a59",bodyDark:"#332f49",bodyLight:"#67607e",bodySideLight:"#554f6d",bodySideDark:"#2b283e",accent:"#e5c85c",accessory:"#d66f91",eye:"#f5e8a7",highlight:"#fff6c8",cheek:"#cf6d8f"},{id:"pet-09",name:"Spore Runner",group:"Mushroom Runner",feature:"mushroom",bodyTop:"#e0524f",body:"#f0dcc6",bodyDark:"#d7c0aa",bodyLight:"#f7ead9",bodySideLight:"#f1dfcb",bodySideDark:"#c7aa95",accent:"#b83736",accessory:"#ffffff",eye:"#17120f",highlight:"#fff8ea"},{id:"pet-10",name:"Dash Quill",group:"Speed Mascot",feature:"spin",bodyTop:"#4e83d0",body:"#356dbd",bodyDark:"#2a579b",bodyLight:"#6896de",bodySideLight:"#477dd0",bodySideDark:"#244c88",accent:"#f2c45b",accessory:"#f2ece1",eye:"#10131a",highlight:"#eef4ff",facePatch:"#ead3b9"},{id:"pet-11",name:"Lemon Chomper",group:"Arcade Chomper",feature:"chomp",bodyTop:"#f0ce45",body:"#e5ba2f",bodyDark:"#c89924",bodyLight:"#ffe26c",bodySideLight:"#efc73f",bodySideDark:"#b18520",accent:"#1f1b18",accessory:"#f2845f",eye:"#15110d",highlight:"#fff2b6"},{id:"pet-12",name:"Lantern Ghost",group:"Round Ghost",feature:"ghost",bodyTop:"#d9dff0",body:"#c4cee6",bodyDark:"#aab6d2",bodyLight:"#edf2ff",bodySideLight:"#d3dced",bodySideDark:"#9aa8c6",accent:"#6d7da8",accessory:"#e77c9c",eye:"#151926",highlight:"#ffffff"},{id:"pet-13",name:"Red Cap Jumper",group:"Platform Pal",feature:"cap",bodyTop:"#d84f45",body:"#c5a17d",bodyDark:"#a98263",bodyLight:"#e0ba94",bodySideLight:"#d3ad86",bodySideDark:"#936f54",accent:"#2c4f99",accessory:"#f6e9d1",eye:"#16110d",highlight:"#fff2df"},{id:"pet-14",name:"Honey Cub",group:"Classic Toy",feature:"ears",bodyTop:"#e4b25a",body:"#d0993e",bodyDark:"#ad7d30",bodyLight:"#efc46d",bodySideLight:"#dba84d",bodySideDark:"#996d2a",accent:"#b54d3f",accessory:"#f4d991",eye:"#17110d",highlight:"#fff0c8",facePatch:"#f2d083"},{id:"pet-15",name:"Ribbon Puff",group:"Bow Buddy",feature:"bow",bodyTop:"#f2f0e8",body:"#e3ded4",bodyDark:"#c9c2b7",bodyLight:"#ffffff",bodySideLight:"#eee9df",bodySideDark:"#bab2a7",accent:"#d84b5b",accessory:"#f3cc56",eye:"#15110f",highlight:"#ffffff",cheek:"#df6d80"},{id:"pet-16",name:"Cozy Hood Cub",group:"Hooded Mascot",feature:"hood",bodyTop:"#ef9eba",body:"#e681a4",bodyDark:"#c96789",bodyLight:"#f5b6ca",bodySideLight:"#ee94b2",bodySideDark:"#b85878",accent:"#f0d6de",accessory:"#f3d66b",eye:"#171017",highlight:"#fff0f6",facePatch:"#fff6f2"},{id:"pet-17",name:"Masked Beetle",group:"Bug Hero",feature:"mask",bodyTop:"#6e617d",body:"#554761",bodyDark:"#41374b",bodyLight:"#837491",bodySideLight:"#655570",bodySideDark:"#382f41",accent:"#cf6f8e",accessory:"#f0d46a",eye:"#f7edf4",highlight:"#fff7ff",facePatch:"#ece0ea"},{id:"pet-18",name:"Round Forest Pal",group:"Forest Neighbor",feature:"ears",bodyTop:"#8c8d7d",body:"#74766a",bodyDark:"#606257",bodyLight:"#a0a293",bodySideLight:"#838578",bodySideDark:"#55574d",accent:"#d9d3b8",accessory:"#c6d68c",eye:"#121411",highlight:"#efead8",facePatch:"#dad4ba"},{id:"pet-19",name:"Dust Puff",group:"Tiny Soot",feature:"soot",bodyTop:"#34343a",body:"#25262c",bodyDark:"#1d1e24",bodyLight:"#4a4b52",bodySideLight:"#383941",bodySideDark:"#171820",accent:"#6c6f7a",accessory:"#f0f0d8",eye:"#f7f7e8",highlight:"#ffffff"},{id:"pet-20",name:"Straw Field Pal",group:"Harvest Buddy",feature:"straw",bodyTop:"#d96a50",body:"#c65342",bodyDark:"#a74336",bodyLight:"#e47d64",bodySideLight:"#d0614d",bodySideDark:"#933a30",accent:"#2f5f93",accessory:"#e8c866",eye:"#15100d",highlight:"#ffe6d9"},{id:"pet-21",name:"Shadow Ninja Bean",group:"Ninja Mascot",feature:"ninja",bodyTop:"#e7a04d",body:"#d88432",bodyDark:"#b96c27",bodyLight:"#efb464",bodySideLight:"#df943e",bodySideDark:"#a25d22",accent:"#2d415c",accessory:"#ded5c6",eye:"#15100c",highlight:"#ffe7c8",facePatch:"#f3c78d"},{id:"pet-22",name:"Pearl Quest Cub",group:"Pearl Hero",feature:"pearl",bodyTop:"#e3a54e",body:"#ce8438",bodyDark:"#ac682e",bodyLight:"#efbc68",bodySideLight:"#db9345",bodySideDark:"#985a28",accent:"#476ca6",accessory:"#f0d464",eye:"#15100c",highlight:"#ffe8c4"},{id:"pet-23",name:"Wand Starling",group:"Magic Mascot",feature:"wand",bodyTop:"#f0a6c4",body:"#df87ad",bodyDark:"#c26b92",bodyLight:"#f5bad2",bodySideLight:"#e99ab9",bodySideDark:"#ad5d82",accent:"#d8b34a",accessory:"#e9d7ff",eye:"#171017",highlight:"#fff0f7",cheek:"#e76791"},{id:"pet-24",name:"Mecha Bean",group:"Tiny Mecha",feature:"mecha",bodyTop:"#d7dbe2",body:"#bdc3ce",bodyDark:"#9ea6b3",bodyLight:"#edf0f5",bodySideLight:"#cbd1da",bodySideDark:"#8d96a5",accent:"#d44d4a",accessory:"#f0c748",eye:"#151923",highlight:"#ffffff"},{id:"pet-25",name:"Bubble Slimelet",group:"Slime Buddy",feature:"slime",bodyTop:"#79b8e8",body:"#5aa0d8",bodyDark:"#4384ba",bodyLight:"#96cdf0",bodySideLight:"#70b3e3",bodySideDark:"#3975a6",accent:"#2a658f",accessory:"#f3f7ff",eye:"#101722",highlight:"#f5fbff"},{id:"pet-26",name:"Ink Courier",group:"Ink Runner",feature:"ink",bodyTop:"#75c8bb",body:"#54afa2",bodyDark:"#3f9188",bodyLight:"#90d9ce",bodySideLight:"#67c1b5",bodySideDark:"#377f77",accent:"#d7668f",accessory:"#e4f2ef",eye:"#101716",highlight:"#effffb"},{id:"pet-27",name:"Drum Marcher",group:"Rhythm Pal",feature:"drum",bodyTop:"#ef7f5f",body:"#df6349",bodyDark:"#bd4d3b",bodyLight:"#f39a7b",bodySideLight:"#e77358",bodySideDark:"#a84434",accent:"#4f78b6",accessory:"#f3e4c6",eye:"#15100d",highlight:"#fff0e4"},{id:"pet-28",name:"Sprout Forestling",group:"Sprout Buddy",feature:"sprout",bodyTop:"#a58f5d",body:"#8f7548",bodyDark:"#755f3a",bodyLight:"#b9a26e",bodySideLight:"#9b8354",bodySideDark:"#655233",accent:"#5d8b56",accessory:"#dfc86e",eye:"#15110c",highlight:"#f8ecc0",facePatch:"#d8be71"},{id:"pet-29",name:"Frost Star Pup",group:"Ice Pal",feature:"star",bodyTop:"#8aa7d8",body:"#6e91c8",bodyDark:"#5877aa",bodyLight:"#a1bce5",bodySideLight:"#7f9fd3",bodySideDark:"#4e6898",accent:"#f0cf5b",accessory:"#f3edf5",eye:"#10151c",highlight:"#eff5ff",cheek:"#d66d86"},{id:"pet-30",name:"Tiny Quest Cub",group:"Quest Mascot",feature:"bow",bodyTop:"#efa2c8",body:"#df84b2",bodyDark:"#c46999",bodyLight:"#f5b9d5",bodySideLight:"#eb96c2",bodySideDark:"#ad5a86",accent:"#cf4d78",accessory:"#f0d66a",eye:"#171016",highlight:"#fff0f8",cheek:"#df688f"}].map(a=>({...a,...g.get(a.id)}));function i(a){return h.find(b=>b.id===a)??h[0]}function j(){if("u"<typeof localStorage)return h[0].id;try{return i(localStorage.getItem(e)).id}catch{return h[0].id}}var k=a.i(535510);let l=(0,c.lazy)(()=>a.A(76574).then(a=>({default:a.MonsterDirectPixelCharacter})));function m({activityId:a,preset:c,reacting:d,shaken:e,fainted:f=!1,eyeOffset:g={x:0,y:0}}){let h=(0,k.getCloudCodeMonsterExpression)(a,d,e,f);return"fainted"===h?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"43",y:"39",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"49",y:"45",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"43",y:"51",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"49",y:"39",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"43",y:"45",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"76",y:"39",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"82",y:"45",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"76",y:"51",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"82",y:"39",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"76",y:"45",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"58",y:"64",width:"14",height:"4",fill:c.eye})]}):"shaken"===h?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"45",y:"40",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"50",y:"45",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"45",y:"50",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"82",y:"40",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"77",y:"45",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"82",y:"50",width:"5",height:"5",fill:c.eye}),(0,b.jsx)("rect",{x:"62",y:"61",width:"6",height:"4",fill:c.eye})]}):"shocked"===h?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("g",{className:"cloud-code-monster-pet-eyes-track",transform:`translate(${g.x} ${g.y})`,children:[(0,b.jsx)("rect",{className:"cloud-code-monster-pet-eye-blink",x:"44",y:"39",width:"12",height:"13",fill:c.eye}),(0,b.jsx)("rect",{className:"cloud-code-monster-pet-eye-blink",x:"76",y:"39",width:"12",height:"13",fill:c.eye}),(0,b.jsxs)("g",{transform:`translate(${.45*g.x} ${.45*g.y})`,children:[(0,b.jsx)("rect",{x:"47",y:"42",width:"4",height:"4",fill:c.highlight}),(0,b.jsx)("rect",{x:"79",y:"42",width:"4",height:"4",fill:c.highlight})]})]}),(0,b.jsx)("rect",{x:"60",y:"60",width:"10",height:"12",fill:c.eye}),(0,b.jsx)("rect",{x:"62",y:"62",width:"6",height:"3",fill:"#332520"})]}):"sleeping"===h?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"45",y:"46",width:"11",height:"4",fill:c.eye}),(0,b.jsx)("rect",{x:"76",y:"46",width:"11",height:"4",fill:c.eye})]}):(0,b.jsxs)("g",{className:"cloud-code-monster-pet-eyes-track",transform:`translate(${g.x} ${g.y})`,children:[(0,b.jsx)("rect",{className:"cloud-code-monster-pet-eye-blink",x:"44",y:"42",width:"11",height:"12",fill:c.eye}),(0,b.jsx)("rect",{className:"cloud-code-monster-pet-eye-blink",x:"77",y:"42",width:"11",height:"12",fill:c.eye}),(0,b.jsxs)("g",{transform:`translate(${.55*g.x} ${.55*g.y})`,children:[(0,b.jsx)("rect",{x:"46",y:"44",width:"4",height:"4",fill:"#2c2521"}),(0,b.jsx)("rect",{x:"79",y:"44",width:"4",height:"4",fill:"#2c2521"})]})]})}function n({preset:a}){let{feature:c}=a;return"horns"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"29",y:"20",width:"10",height:"8",fill:a.accent}),(0,b.jsx)("rect",{x:"91",y:"20",width:"10",height:"8",fill:a.accent}),(0,b.jsx)("rect",{x:"34",y:"16",width:"7",height:"7",fill:a.accessory}),(0,b.jsx)("rect",{x:"88",y:"16",width:"7",height:"7",fill:a.accessory})]}):"ears"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"18",y:"38",width:"10",height:"18",fill:a.bodyDark}),(0,b.jsx)("rect",{x:"100",y:"38",width:"10",height:"18",fill:a.bodyDark}),(0,b.jsx)("rect",{x:"21",y:"42",width:"5",height:"8",fill:a.bodyLight}),(0,b.jsx)("rect",{x:"102",y:"42",width:"5",height:"8",fill:a.bodyLight})]}):"visor"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"41",y:"36",width:"47",height:"5",fill:a.accent}),(0,b.jsx)("rect",{x:"45",y:"38",width:"39",height:"3",fill:a.highlight})]}):"antenna"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"62",y:"15",width:"5",height:"13",fill:a.accent}),(0,b.jsx)("rect",{x:"58",y:"10",width:"13",height:"6",fill:a.accessory})]}):"crown"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"43",y:"18",width:"8",height:"10",fill:a.accessory}),(0,b.jsx)("rect",{x:"60",y:"14",width:"8",height:"14",fill:a.accessory}),(0,b.jsx)("rect",{x:"77",y:"18",width:"8",height:"10",fill:a.accessory}),(0,b.jsx)("rect",{x:"42",y:"26",width:"44",height:"5",fill:a.accent})]}):"bell"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"22",y:"42",width:"8",height:"14",fill:a.bodyDark}),(0,b.jsx)("rect",{x:"98",y:"42",width:"8",height:"14",fill:a.bodyDark}),(0,b.jsx)("rect",{x:"59",y:"21",width:"11",height:"7",fill:a.accent})]}):"bolt"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"29",y:"20",width:"8",height:"17",fill:a.accent}),(0,b.jsx)("rect",{x:"91",y:"20",width:"8",height:"17",fill:a.accent}),(0,b.jsx)("rect",{x:"33",y:"32",width:"8",height:"9",fill:a.bodyTop}),(0,b.jsx)("rect",{x:"87",y:"32",width:"8",height:"9",fill:a.bodyTop})]}):"star"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"60",y:"13",width:"8",height:"24",fill:a.accessory}),(0,b.jsx)("rect",{x:"52",y:"21",width:"24",height:"8",fill:a.accessory}),(0,b.jsx)("rect",{x:"56",y:"17",width:"16",height:"16",fill:a.accessory})]}):"leaf"===c||"sprout"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"61",y:"15",width:"6",height:"18",fill:a.accent}),(0,b.jsx)("rect",{x:"49",y:"18",width:"16",height:"10",fill:a.accent}),(0,b.jsx)("rect",{x:"66",y:"18",width:"16",height:"10",fill:a.bodyLight})]}):"flame"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"58",y:"9",width:"12",height:"20",fill:a.accessory}),(0,b.jsx)("rect",{x:"52",y:"18",width:"9",height:"14",fill:a.accent}),(0,b.jsx)("rect",{x:"69",y:"17",width:"8",height:"15",fill:a.bodyLight})]}):"fins"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"18",y:"45",width:"10",height:"18",fill:a.accent}),(0,b.jsx)("rect",{x:"100",y:"45",width:"10",height:"18",fill:a.accent}),(0,b.jsx)("rect",{x:"55",y:"18",width:"18",height:"10",fill:a.accessory})]}):"moon"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"57",y:"14",width:"18",height:"18",fill:a.accessory}),(0,b.jsx)("rect",{x:"64",y:"12",width:"15",height:"19",fill:a.bodyTop}),(0,b.jsx)("rect",{x:"24",y:"37",width:"7",height:"18",fill:a.bodyDark}),(0,b.jsx)("rect",{x:"97",y:"37",width:"7",height:"18",fill:a.bodyDark})]}):"mushroom"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"31",y:"18",width:"66",height:"22",fill:a.bodyTop}),(0,b.jsx)("rect",{x:"42",y:"13",width:"44",height:"11",fill:a.bodyTop}),(0,b.jsx)("rect",{x:"45",y:"22",width:"9",height:"8",fill:a.accessory}),(0,b.jsx)("rect",{x:"73",y:"20",width:"10",height:"8",fill:a.accessory})]}):"spin"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"47",y:"17",width:"34",height:"9",fill:a.bodyLight}),(0,b.jsx)("rect",{x:"37",y:"24",width:"14",height:"8",fill:a.bodyLight}),(0,b.jsx)("rect",{x:"78",y:"24",width:"13",height:"8",fill:a.bodyLight}),(0,b.jsx)("rect",{x:"29",y:"31",width:"11",height:"7",fill:a.bodyLight})]}):"chomp"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"88",y:"48",width:"14",height:"8",fill:a.highlight}),(0,b.jsx)("rect",{x:"88",y:"60",width:"14",height:"8",fill:a.highlight})]}):"ghost"===c||"slime"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"44",y:"19",width:"40",height:"12",fill:a.bodyLight}),(0,b.jsx)("rect",{x:"36",y:"27",width:"56",height:"10",fill:a.bodyLight})]}):"cap"===c||"straw"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"34",y:"18",width:"58",height:"12",fill:"straw"===c?a.accessory:a.bodyTop}),(0,b.jsx)("rect",{x:"45",y:"12",width:"36",height:"10",fill:"straw"===c?a.accessory:a.bodyTop}),(0,b.jsx)("rect",{x:"58",y:"22",width:"14",height:"5",fill:"straw"===c?a.accent:a.accessory})]}):"bow"===c||"hood"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"76",y:"17",width:"13",height:"13",fill:a.accent}),(0,b.jsx)("rect",{x:"91",y:"17",width:"13",height:"13",fill:a.accent}),(0,b.jsx)("rect",{x:"88",y:"21",width:"7",height:"7",fill:a.accessory})]}):"mask"===c||"ninja"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"35",y:"25",width:"58",height:"8",fill:a.accent}),(0,b.jsx)("rect",{x:"48",y:"18",width:"12",height:"10",fill:a.accent}),(0,b.jsx)("rect",{x:"69",y:"18",width:"12",height:"10",fill:a.accent})]}):"soot"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"27",y:"25",width:"8",height:"8",fill:a.bodyLight}),(0,b.jsx)("rect",{x:"92",y:"23",width:"9",height:"9",fill:a.bodyLight}),(0,b.jsx)("rect",{x:"61",y:"12",width:"7",height:"7",fill:a.bodyLight})]}):"pearl"===c||"wand"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"58",y:"12",width:"13",height:"13",fill:a.accessory}),(0,b.jsx)("rect",{x:"61",y:"7",width:"7",height:"7",fill:a.accent}),(0,b.jsx)("rect",{x:"73",y:"17",width:"9",height:"9",fill:a.accent})]}):"mecha"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"29",y:"24",width:"12",height:"13",fill:a.accent}),(0,b.jsx)("rect",{x:"87",y:"24",width:"12",height:"13",fill:a.accent}),(0,b.jsx)("rect",{x:"51",y:"18",width:"27",height:"9",fill:a.accessory})]}):"ink"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"35",y:"19",width:"12",height:"16",fill:a.accent}),(0,b.jsx)("rect",{x:"56",y:"14",width:"14",height:"20",fill:a.accent}),(0,b.jsx)("rect",{x:"80",y:"19",width:"12",height:"16",fill:a.accent})]}):"drum"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"31",y:"27",width:"66",height:"7",fill:a.accent}),(0,b.jsx)("rect",{x:"41",y:"18",width:"46",height:"10",fill:a.accessory})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"38",y:"30",width:"10",height:"4",fill:a.bodyLight}),(0,b.jsx)("rect",{x:"80",y:"30",width:"10",height:"4",fill:a.bodyDark})]})}function o({preset:a}){let c=a.feature;return(0,b.jsxs)(b.Fragment,{children:[a.facePatch?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"40",y:"39",width:"48",height:"34",fill:a.facePatch}),(0,b.jsx)("rect",{x:"46",y:"73",width:"36",height:"10",fill:a.facePatch})]}):null,"bell"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"50",y:"74",width:"28",height:"6",fill:a.accent}),(0,b.jsx)("rect",{x:"58",y:"80",width:"13",height:"11",fill:a.accessory}),(0,b.jsx)("rect",{x:"61",y:"84",width:"7",height:"3",fill:a.eye})]}):null,"bolt"===c?(0,b.jsx)("rect",{x:"89",y:"76",width:"13",height:"8",fill:a.accent}):null,"chomp"===c?(0,b.jsx)("rect",{x:"72",y:"56",width:"22",height:"16",fill:a.highlight}):null,"ghost"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"28",y:"91",width:"12",height:"8",fill:a.bodyLight}),(0,b.jsx)("rect",{x:"52",y:"91",width:"12",height:"8",fill:a.bodyLight}),(0,b.jsx)("rect",{x:"76",y:"91",width:"12",height:"8",fill:a.bodyLight})]}):null,"drum"===c?(0,b.jsx)("rect",{x:"31",y:"55",width:"66",height:"8",fill:a.accessory}):null,"mecha"===c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"41",y:"35",width:"45",height:"6",fill:a.accent}),(0,b.jsx)("rect",{x:"57",y:"58",width:"14",height:"9",fill:a.accessory})]}):null,a.cheek?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("rect",{x:"36",y:"58",width:"8",height:"7",fill:a.cheek}),(0,b.jsx)("rect",{x:"86",y:"58",width:"8",height:"7",fill:a.cheek})]}):null]})}function p({preset:a,activityId:d,animated:e=!1,reacting:f=!1,shaken:g=!1,fainted:h=!1,eyeOffset:i}){return"monster"!==(a.shape??"monster")?(0,b.jsx)("g",{className:e?"cloud-code-monster-pet-character":void 0,children:(0,b.jsx)(c.Suspense,{fallback:null,children:(0,b.jsx)(l,{activityId:d,preset:a,reacting:f,shaken:g,fainted:h,eyeOffset:i})})}):(0,b.jsxs)("g",{className:e?"cloud-code-monster-pet-character":void 0,children:[(0,b.jsx)(n,{preset:a}),(0,b.jsx)("rect",{x:"32",y:"22",width:"64",height:"12",fill:a.bodyTop}),(0,b.jsx)("rect",{x:"24",y:"34",width:"80",height:"17",fill:a.bodyTop}),(0,b.jsx)("rect",{x:"16",y:"51",width:"12",height:"24",fill:a.body}),(0,b.jsx)("rect",{x:"24",y:"51",width:"80",height:"41",fill:a.body}),(0,b.jsx)("rect",{x:"100",y:"51",width:"12",height:"24",fill:a.body}),(0,b.jsx)("rect",{x:"16",y:"63",width:"12",height:"12",fill:a.bodyDark}),(0,b.jsx)("rect",{x:"30",y:"86",width:"68",height:"10",fill:a.bodyDark}),(0,b.jsx)("rect",{x:"34",y:"34",width:"60",height:"6",fill:a.bodyLight}),(0,b.jsx)("rect",{x:"24",y:"51",width:"9",height:"35",fill:a.bodySideLight}),(0,b.jsx)("rect",{x:"95",y:"51",width:"9",height:"35",fill:a.bodySideDark}),(0,b.jsx)(o,{preset:a}),(0,b.jsx)(m,{activityId:d,preset:a,reacting:f,shaken:g,fainted:h,eyeOffset:i}),(0,b.jsx)("rect",{x:"36",y:"69",width:"8",height:"8",fill:a.bodyLight}),(0,b.jsx)("rect",{x:"84",y:"69",width:"8",height:"8",fill:a.bodySideDark}),(0,b.jsx)("rect",{className:"cloud-code-monster-pet-left-foot",x:"29",y:"96",width:"12",height:"22",fill:a.body}),(0,b.jsx)("rect",{className:"cloud-code-monster-pet-left-foot",x:"52",y:"96",width:"12",height:"22",fill:a.body}),(0,b.jsx)("rect",{className:"cloud-code-monster-pet-right-foot",x:"76",y:"96",width:"12",height:"22",fill:a.bodyDark}),(0,b.jsx)("rect",{className:"cloud-code-monster-pet-right-foot",x:"96",y:"96",width:"12",height:"22",fill:a.bodyDark})]})}function q({preset:a,className:c}){return(0,b.jsxs)("svg",{className:c,viewBox:"0 0 128 128",role:"img","aria-label":`${a.name} pixel PET preset`,shapeRendering:"crispEdges",children:[(0,b.jsx)("rect",{x:"31",y:"116",width:"66",height:"5",fill:"rgba(45,40,36,.12)"}),(0,b.jsx)("rect",{x:"40",y:"121",width:"48",height:"3",fill:"rgba(45,40,36,.07)"}),(0,b.jsx)(p,{preset:a,activityId:null})]})}var r=a.i(76592),s=a.i(973111),t=a.i(272818),u=a.i(75118);a.s(["PetTab",0,function(){let[a,g]=(0,c.useState)(!1),[k,l]=(0,c.useState)(h[0].id),m=i(k);return(0,c.useEffect)(()=>{g((0,t.readHomePetSettings)().enabled),l(j());let a=a=>{let b=a.detail?.presetId;l(b?i(b).id:j())};return window.addEventListener(f,a),()=>{window.removeEventListener(f,a)}},[]),(0,b.jsxs)("div",{className:"space-y-8",children:[(0,b.jsxs)("section",{className:"space-y-4",children:[(0,b.jsx)("h2",{className:"text-sm font-medium",children:"Pet"}),(0,b.jsx)("div",{className:"space-y-4",children:(0,b.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,b.jsxs)("div",{className:"space-y-0.5",children:[(0,b.jsx)(r.Label,{htmlFor:"pet-enabled",className:"text-sm",children:"Enable pet"}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Off by default. Turn it on when you want the workspace companion."})]}),(0,b.jsx)(s.Switch,{id:"pet-enabled",checked:a,onCheckedChange:a=>{g(a),(0,t.writeHomePetSettings)({enabled:a})}})]})})]}),a?(0,b.jsxs)("section",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"text-sm font-medium",children:"Preset"}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:m.name})]}),(0,b.jsx)("div",{className:"grid size-14 place-items-center rounded-md bg-card ring-1 ring-border/60",children:(0,b.jsx)(q,{preset:m,className:"size-11"})})]}),(0,b.jsx)("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-3",children:h.map(a=>{let c=a.id===m.id;return(0,b.jsxs)("button",{type:"button","aria-pressed":c,onClick:()=>{l(function(a){let b=i(a);if("u">typeof localStorage)try{localStorage.setItem(e,b.id)}catch{}return b.id}(a.id))},className:(0,u.cn)("group grid h-28 min-w-0 grid-rows-[1fr_auto] rounded-md border bg-card/60 p-2 text-left transition-all hover:border-foreground/20 hover:bg-accent/55 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/70",c?"border-primary/50 bg-accent text-foreground":"border-border/50 text-muted-foreground"),children:[(0,b.jsx)("div",{className:"grid place-items-center rounded bg-background/70 ring-1 ring-border/35",children:(0,b.jsx)(q,{preset:a,className:"size-14 transition-transform duration-200 group-hover:scale-105"})}),(0,b.jsxs)("div",{className:"mt-1.5 flex min-w-0 items-center justify-between gap-1 text-[10px] leading-none",children:[(0,b.jsx)("span",{className:"truncate font-medium text-foreground",children:a.name}),c?(0,b.jsx)(d,{className:"size-3 shrink-0 text-primary"}):(0,b.jsx)("span",{className:"shrink-0 text-muted-foreground",children:a.id.replace("pet-","#")})]})]},a.id)})})]}):null]})}],390946)},617168,a=>{"use strict";var b=a.i(616612),c=a.i(734803),d=a.i(752792),e=a.i(506180),f=a.i(25668),g=a.i(588339),h=a.i(439882),i=a.i(464830),j=a.i(410732);let k=(0,j.default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);var l=a.i(551798),m=a.i(554705);let n=(0,j.default)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]);var o=a.i(515837);let p=(0,j.default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);function q({icon:a,label:c,value:d,sub:e}){return(0,b.jsx)(h.Card,{size:"sm",children:(0,b.jsxs)(h.CardContent,{className:"flex items-center gap-3",children:[(0,b.jsx)("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary",children:(0,b.jsx)(a,{className:"size-4"})}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-1",children:[(0,b.jsx)("p",{className:"text-2xl font-semibold leading-none tracking-tight",children:d}),e&&(0,b.jsx)(i.Badge,{variant:"secondary",className:"text-[10px] px-1.5 h-4 font-normal",children:e})]}),(0,b.jsx)("p",{className:"mt-1 text-xs text-muted-foreground truncate",children:c})]})]})})}function r({agents:a,runtimes:c,activeTaskCounts:d,overview:e}){let f=new Map;for(let a of c){let b=a.daemon_id??a.id;f.set(b,f.get(b)||"online"===a.status)}let g=f.size,h=[...f.values()].filter(Boolean).length,i=Object.values(d).reduce((a,b)=>a+b,0),j=a.filter(a=>{let b=c.find(b=>b.id===a.runtime_id);return b?.status==="online"}).length;return(0,b.jsxs)("div",{className:"grid gap-3 grid-cols-2 sm:grid-cols-3 lg:grid-cols-6",children:[(0,b.jsx)(q,{icon:o.Monitor,label:"Machines",value:`${h}/${g}`,sub:"online"}),(0,b.jsx)(q,{icon:k,label:"Agents",value:a.length,sub:`${j} online`}),(0,b.jsx)(q,{icon:n,label:"Members",value:e.members.length,sub:e.pending_invites>0?`${e.pending_invites} pending`:void 0}),(0,b.jsx)(q,{icon:p,label:"Active Tasks",value:i,sub:e.task_stats.queued>0?`${e.task_stats.queued} queued`:void 0}),(0,b.jsx)(q,{icon:m.Send,label:"Emails Sent",value:e.email_stats.outbound,sub:`${e.email_stats.unread} unread`}),(0,b.jsx)(q,{icon:l.Mail,label:"Custom Emails",value:e.email_accounts.length})]})}function s({overview:a}){let{completed:c,failed:d,cancelled:e,queued:f,stale:g}=a.task_stats,i=c+d,j=i>0?(d/i*100).toFixed(1):"0";return(0,b.jsxs)(h.Card,{children:[(0,b.jsx)(h.CardHeader,{children:(0,b.jsx)(h.CardTitle,{children:"Task Health (Today)"})}),(0,b.jsx)(h.CardContent,{children:(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,b.jsx)(t,{label:"Completed",value:c}),(0,b.jsx)(t,{label:"Failed",value:d,className:d>0?"text-destructive":void 0}),(0,b.jsx)(t,{label:"Cancelled",value:e}),(0,b.jsx)(t,{label:"Failure Rate",value:`${j}%`,className:Number(j)>10?"text-destructive":void 0}),(0,b.jsx)(t,{label:"Queue Backlog",value:f,className:f>10?"text-amber-500":void 0}),(0,b.jsx)(t,{label:"Stale Tasks",value:g,className:g>0?"text-destructive":void 0})]})})]})}function t({label:a,value:c,className:d}){return(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:`text-xl font-semibold ${d??""}`,children:c}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a})]})}var u=a.i(525132);function v({overview:a,agents:c}){let{inbound:d,outbound:e,unread:f,rejected:g}=a.email_stats,i=new Map(c.map(a=>[a.id,a.name]));return(0,b.jsxs)(h.Card,{children:[(0,b.jsx)(h.CardHeader,{children:(0,b.jsx)(h.CardTitle,{children:"Email Summary"})}),(0,b.jsxs)(h.CardContent,{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-xl font-semibold",children:d}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Received"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-xl font-semibold",children:e}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Sent"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:`text-xl font-semibold ${f>0?"text-primary":""}`,children:f}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Unread"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:`text-xl font-semibold ${g>0?"text-amber-500":""}`,children:g}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Untrust"})]})]}),a.email_accounts.length>0&&(0,b.jsxs)("div",{className:"space-y-2 pt-2 border-t border-border/50",children:[(0,b.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:"Custom Mailboxes"}),a.email_accounts.map(a=>(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2 text-xs",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{render:(0,b.jsx)("span",{className:`size-1.5 shrink-0 rounded-full ${"active"===a.status?"bg-emerald-500":"bg-destructive"}`})}),(0,b.jsx)(u.TooltipContent,{side:"top",children:"active"===a.status?"Active":`Error: ${a.error_message||"inactive"}`})]}),(0,b.jsx)("span",{className:"truncate",children:a.email_address})]}),(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:i.get(a.agent_id)??"—"})]},a.id))]})]})]})}var w=a.i(630991),x=a.i(919690);function y({runtimes:a,agents:c}){let d=(0,w.useRouter)(),{slug:f}=(0,e.useWorkspace)(),g=new Map;for(let b of a){let a=b.daemon_id??b.id;g.has(a)||g.set(a,{runtimes:[],deviceInfo:b.device_info??""}),g.get(a).runtimes.push(b)}let j=[...g.entries()];return 0===j.length?(0,b.jsxs)(h.Card,{children:[(0,b.jsxs)(h.CardHeader,{children:[(0,b.jsx)(h.CardTitle,{children:"Machines"}),(0,b.jsx)(h.CardAction,{children:(0,b.jsx)("button",{type:"button",onClick:()=>d.push(`/w/${f}/runtimes`),className:"text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:(0,b.jsx)(x.ArrowUpRight,{className:"size-4"})})})]}),(0,b.jsx)(h.CardContent,{children:(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"No machines connected."})})]}):(0,b.jsxs)(h.Card,{children:[(0,b.jsx)(h.CardHeader,{children:(0,b.jsx)(h.CardTitle,{children:"Machines"})}),(0,b.jsx)(h.CardContent,{className:"space-y-3",children:j.map(([a,d])=>{let e=d.runtimes.some(a=>"online"===a.status),f=d.runtimes.map(a=>a.last_seen_at).filter(Boolean).sort().reverse()[0],g=c.filter(a=>d.runtimes.some(b=>b.id===a.runtime_id)),h=d.runtimes.some(a=>a.pending_update_version),j=d.runtimes.find(a=>a.pending_update_version)?.pending_update_version;return(0,b.jsxs)("div",{className:"flex items-start gap-3 text-xs",children:[(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{render:(0,b.jsx)("span",{className:`mt-1 size-2 shrink-0 rounded-full ${e?"bg-emerald-500":"bg-muted-foreground/30"}`})}),(0,b.jsx)(u.TooltipContent,{side:"top",children:e?"Online":"Offline"})]}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"font-medium truncate",children:d.deviceInfo||a.slice(0,12)}),h&&(0,b.jsxs)(u.Tooltip,{children:[(0,b.jsx)(u.TooltipTrigger,{render:(0,b.jsx)("span",{children:(0,b.jsx)(i.Badge,{variant:"outline",className:"text-[10px] px-1.5 py-0 text-amber-500 border-amber-500/30",children:"update"})})}),(0,b.jsxs)(u.TooltipContent,{side:"top",children:["Pending update to v",j]})]})]}),(0,b.jsxs)("div",{className:"text-muted-foreground mt-0.5",children:[g.length>0?g.map(a=>a.name).join(", "):"No agents"," · ",function(a){if(!a)return"never";let b=Math.floor((Date.now()-new Date(a).getTime())/1e3);if(b<60)return`${b}s ago`;let c=Math.floor(b/60);if(c<60)return`${c}m ago`;let d=Math.floor(c/60);return d<24?`${d}h ago`:`${Math.floor(d/24)}d ago`}(f??null)]})]})]},a)})})]})}function z({overview:a}){let c=(0,w.useRouter)(),{slug:d}=(0,e.useWorkspace)(),{members:f,pending_invites:g}=a;return(0,b.jsxs)(h.Card,{children:[(0,b.jsxs)(h.CardHeader,{children:[(0,b.jsx)(h.CardAction,{children:(0,b.jsx)("button",{type:"button",onClick:()=>c.push(`/w/${d}/settings`),className:"text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:(0,b.jsx)(x.ArrowUpRight,{className:"size-4"})})}),(0,b.jsxs)(h.CardTitle,{children:["Team",g>0&&(0,b.jsxs)("span",{className:"ml-2 text-xs text-muted-foreground font-normal",children:["(",g," pending invite",g>1?"s":"",")"]})]})]}),(0,b.jsx)(h.CardContent,{className:"p-0",children:(0,b.jsx)("div",{className:"divide-y divide-border/50",children:[...f].sort((a,b)=>"owner"===a.role?-1:+("owner"===b.role)).map(a=>(0,b.jsxs)("div",{className:"flex items-center gap-3 px-4 py-2.5",children:[a.image?(0,b.jsx)("img",{src:a.image,alt:a.name,className:"size-7 rounded-full shrink-0"}):(0,b.jsx)("div",{className:"flex size-7 shrink-0 items-center justify-center rounded-full bg-secondary text-xs font-medium",children:(a.name||a.email).charAt(0).toUpperCase()}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsx)("span",{className:"text-sm font-medium truncate block",children:a.name||a.email}),a.name&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate block",children:a.email})]}),(0,b.jsx)(i.Badge,{variant:"owner"===a.role?"default":"secondary",className:"text-[10px] px-1.5 py-0 shrink-0",children:a.role})]},a.id))})})]})}a.s(["UsagesTab",0,function(){let{agents:a,runtimes:h,loading:i,activeTaskCounts:j}=(0,d.useAgentContext)(),{workspaceId:k}=(0,e.useWorkspace)(),[l,m]=(0,c.useState)(null),[n,o]=(0,c.useState)(!1);return((0,c.useEffect)(()=>{if(i)return;let a=!1;return o(!0),(0,g.getWorkspaceOverview)(k).then(b=>{a||m(b)}).catch(()=>{}).finally(()=>{a||o(!1)}),()=>{a=!0}},[i,k]),n||!l)?(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)(f.Skeleton,{className:"h-44 rounded-xl"}),(0,b.jsx)(f.Skeleton,{className:"h-44 rounded-xl"}),(0,b.jsx)(f.Skeleton,{className:"h-44 rounded-xl"}),(0,b.jsx)(f.Skeleton,{className:"h-44 rounded-xl"})]}):(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)(r,{agents:a,runtimes:h,activeTaskCounts:j,overview:l}),(0,b.jsxs)("div",{className:"grid gap-4 lg:grid-cols-2",children:[(0,b.jsx)(s,{overview:l}),(0,b.jsx)(v,{overview:l,agents:a})]}),(0,b.jsxs)("div",{className:"grid gap-4 lg:grid-cols-2",children:[(0,b.jsx)(y,{runtimes:h,agents:a}),(0,b.jsx)(z,{overview:l})]})]})}],617168)},294526,a=>a.a(async(b,c)=>{try{var d=a.i(616612),e=a.i(734803),f=a.i(654461),g=a.i(75118),h=a.i(597047),i=a.i(53909),j=a.i(616131),k=a.i(93590),l=a.i(390946),m=a.i(617168),n=b([h,j]);[h,j]=n.then?(await n)():n;let o=[{id:"general",label:"General"},{id:"pet",label:"Pet"},{id:"instruction",label:"Global Instruction"},{id:"notifications",label:"Notifications"},{id:"members",label:"Members"},{id:"usages",label:"Usages"}];a.s(["default",0,function(){let[a,b]=(0,e.useState)("general");return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"flex items-center justify-between border-b border-border/50 px-3 md:px-5 py-2.5 gap-3",children:(0,d.jsx)("div",{className:"flex items-center gap-3 min-w-0",children:(0,d.jsx)("h1",{className:"text-sm font-medium",children:"Settings"})})}),(0,d.jsxs)("div",{className:"flex flex-1 min-h-0",children:[(0,d.jsxs)("nav",{className:"w-48 shrink-0 border-r border-border/50 py-3 px-2 hidden md:flex md:flex-col",children:[(0,d.jsx)("div",{className:"flex-1",children:o.map(c=>(0,d.jsx)("button",{onClick:()=>b(c.id),className:(0,g.cn)("w-full rounded-md px-2.5 py-1.5 text-left text-sm transition-colors",a===c.id?"bg-accent text-foreground font-medium":"text-muted-foreground hover:bg-accent/50 hover:text-foreground"),children:c.label},c.id))}),(0,d.jsxs)("div",{className:"px-2.5 pt-3 border-t border-border/50 text-[11px] text-muted-foreground/60",children:["v","0.0.143"]})]}),(0,d.jsxs)("div",{className:"flex-1 min-w-0 flex flex-col",children:[(0,d.jsx)("div",{className:"px-4 pt-2 md:hidden",children:(0,d.jsx)(f.Tabs,{className:"items-center",value:a,onValueChange:a=>b(a),children:(0,d.jsx)(f.TabsList,{className:"h-auto gap-1",children:o.map(a=>(0,d.jsx)(f.TabsTrigger,{value:a.id,children:a.label},a.id))})})}),(0,d.jsx)("div",{className:(0,g.cn)("flex-1 overflow-y-auto thin-scrollbar","instruction"!==a&&"px-5 py-5"),children:"instruction"===a?(0,d.jsx)(i.InstructionTab,{}):"usages"===a?(0,d.jsx)(m.UsagesTab,{}):(0,d.jsxs)("div",{className:"mx-auto max-w-md",children:["general"===a&&(0,d.jsx)(h.GeneralTab,{}),"pet"===a&&(0,d.jsx)(l.PetTab,{}),"notifications"===a&&(0,d.jsx)(k.NotificationTab,{}),"members"===a&&(0,d.jsx)(j.MembersTab,{})]})}),(0,d.jsxs)("div",{className:"px-4 py-2 text-[11px] text-muted-foreground/60 md:hidden",children:["v","0.0.143"]})]})]})]})}]),c()}catch(a){c(a)}},!1)];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_0qgcnj5._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[881503,a=>{"use strict";var b=a.i(734803);let c=(0,a.i(75118).isLocalMode)(),d=Number(process.env.NEXT_PUBLIC_WS_DO_PORT)||8789,e=Number(process.env.NEXT_PUBLIC_WS_RECONNECT_DELAY_MS)||1e3,f=Number(process.env.NEXT_PUBLIC_WS_RECONNECT_MAX_DELAY_MS)||3e4;a.s(["useUserWs",0,function(a,g){let h=(0,b.useRef)(null),i=(0,b.useRef)(e),j=(0,b.useRef)(a),k=(0,b.useRef)(g?.onReconnect),l=(0,b.useRef)(null),m=(0,b.useRef)(!1),n=(0,b.useRef)(0),o=(0,b.useRef)(null),p=(0,b.useRef)(null);(0,b.useEffect)(()=>{j.current=a},[a]),(0,b.useEffect)(()=>{k.current=g?.onReconnect},[g?.onReconnect]);let q=(0,b.useRef)(null),r=(0,b.useCallback)(()=>{let a=Math.min(i.current,f);i.current=Math.min(2*a,f),l.current=setTimeout(()=>{q.current?.()},a+500*Math.random())},[]),s=(0,b.useCallback)(async()=>{let a,b,f,g=d;try{let c=await fetch("/api/ws/token");if(!c.ok){console.warn("[ws] token fetch failed:",c.status),r();return}let d=await c.json();a=d.userId,b=d.token,d.wsPort&&(g=d.wsPort)}catch(a){console.warn("[ws] token fetch error:",a),r();return}let l=c?`ws://localhost:${g}/?userId=${a}`:`${location.origin.replace("http","ws")}/api/ws/user?userId=${a}`;try{f=new WebSocket(l)}catch(a){console.warn("[ws] WebSocket creation failed:",a),r();return}h.current=f,f.onopen=()=>{i.current=e,f.send(JSON.stringify({type:"auth",token:b})),m.current&&k.current?.(),m.current=!0,n.current=Date.now(),o.current=setInterval(()=>{f.readyState===WebSocket.OPEN&&f.send("ping")},25e3),p.current=setInterval(()=>{Date.now()-n.current>3e4&&f.close()},5e3)},f.onmessage=a=>{n.current=Date.now();try{let b=JSON.parse(a.data);if("auth.ok"===b.type)return void f.send(JSON.stringify({type:"check_daemon_status"}));j.current(b)}catch{}},f.onerror=()=>{},f.onclose=()=>{f===h.current&&(o.current&&(clearInterval(o.current),o.current=null),p.current&&(clearInterval(p.current),p.current=null),r())}},[r]);return(0,b.useEffect)(()=>{q.current=s},[s]),(0,b.useEffect)(()=>(s(),()=>{null!==l.current&&(clearTimeout(l.current),l.current=null),o.current&&(clearInterval(o.current),o.current=null),p.current&&(clearInterval(p.current),p.current=null);let a=h.current;h.current=null,a?.close()}),[s]),{send:(0,b.useCallback)(a=>{let b=h.current;b&&b.readyState===WebSocket.OPEN&&b.send(JSON.stringify(a))},[])}}])},752792,a=>{"use strict";var b=a.i(616612),c=a.i(734803),d=a.i(588339),e=a.i(780956),f=a.i(881503);let g=(0,c.createContext)(null);a.s(["AgentProvider",0,function({workspaceId:a,children:h}){let[i,j]=(0,c.useState)([]),[k,l]=(0,c.useState)([]),[m,n]=(0,c.useState)(!0),[o,p]=(0,c.useState)({}),[q,r]=(0,c.useState)([]),s=(0,c.useRef)(!1),[t,u]=(0,c.useState)([]),[v,w]=(0,c.useState)(null),x=(0,c.useCallback)(()=>w(null),[]),[y,z]=(0,c.useState)(new Map),[A,B]=(0,c.useState)(new Map),C=(0,c.useRef)(!1),D=(0,c.useRef)(new Set),E=(0,c.useRef)(new Set),F=(0,c.useRef)(!0),G=(0,c.useRef)(!1),H=(0,c.useCallback)(a=>(D.current.add(a),()=>{D.current.delete(a)}),[]),I=(0,c.useCallback)(a=>(E.current.add(a),()=>{E.current.delete(a)}),[]),J=(0,c.useRef)(!1),K=(0,c.useCallback)(async()=>{if(!J.current){J.current=!0;try{if(s.current){let b=await (0,d.listWorkspaceActiveTasks)(a);if(!F.current)return;r(b.tasks);let c={};for(let a of b.tasks)c[a.agent_id]=(c[a.agent_id]??0)+1;p(c),s.current=b.tasks.length>0}else{let b=await (0,d.listAgentActiveTaskCounts)(a);if(!F.current)return;if(p(b.counts),Object.values(b.counts).some(a=>a>0)){s.current=!0;let b=await (0,d.listWorkspaceActiveTasks)(a);F.current&&r(b.tasks)}else r([])}}catch{}finally{J.current=!1}}},[a]);(0,c.useEffect)(()=>{F.current=!0,K();let a=setInterval(K,15e3);return()=>{F.current=!1,clearInterval(a)}},[K]);let L=(0,c.useCallback)(async()=>{try{let[b,c,e,f]=await Promise.all([(0,d.listAgents)(a),(0,d.listRuntimes)(a),(0,d.listAgentPins)(a),(0,d.listAgentLinks)(a)]);j(b),l(c),u(f),z(new Map(e.pins.map(a=>[a.agent_id,{created_at:a.created_at,position:a.position}]))),B(new Map(e.sidebar_order.map(a=>[a.agent_id,a.position])))}catch(a){e.toast.error(a instanceof Error?a.message:"Failed to load data")}finally{n(!1),C.current=!0}},[a]),M=(0,c.useCallback)(async()=>{if(!G.current){G.current=!0;try{let b=await (0,d.listRuntimes)(a);l(b)}catch{}finally{G.current=!1}}},[a]);(0,c.useEffect)(()=>{L()},[L]),(0,c.useEffect)(()=>{let a=null,b=setInterval(()=>{"visible"===document.visibilityState&&M()},3e4),c=()=>{"visible"===document.visibilityState&&(a=setTimeout(()=>M(),2e3*Math.random()))};return document.addEventListener("visibilitychange",c),()=>{clearInterval(b),a&&clearTimeout(a),document.removeEventListener("visibilitychange",c)}},[M]);let N=(0,c.useCallback)(b=>{for(let a of D.current)a(b);switch(b.type){case"runtime.registered":if(b.workspaceId!==a)break;L();break;case"runtime.deleted":L();break;case"runtime.status":if(b.workspaceId!==a)break;M();break;case"agent.created":if(b.workspaceId!==a)break;w({agentId:b.agentId,parentAgentId:b.parentAgentId}),L();break;case"task.updated":K()}},[L,M,K,a]),O=(0,c.useCallback)(()=>{for(let a of(M(),E.current))a()},[M]);(0,f.useUserWs)(N,{onReconnect:O});let P=(0,c.useCallback)(async b=>{try{let c=await (0,d.createAgent)(b,a);return await L(),c}catch(a){return e.toast.error(a instanceof Error?a.message:"Failed to create agent"),null}},[L,a]),Q=(0,c.useCallback)(async(b,c)=>{try{return await (0,d.updateAgent)(b,c,a),await L(),!0}catch(a){return e.toast.error(a instanceof Error?a.message:"Failed to update agent"),!1}},[L,a]),R=(0,c.useCallback)(async b=>{try{return await (0,d.deleteAgent)(b,a),await L(),!0}catch(a){return e.toast.error(a instanceof Error?a.message:"Failed to remove agent"),!1}},[L,a]),S=(0,c.useCallback)(async b=>{z(a=>{let c=Math.max(-1,...[...a.values()].map(a=>a.position));return new Map(a).set(b,{created_at:new Date().toISOString(),position:c+1})});try{await (0,d.pinAgent)(a,b)}catch{z(a=>{let c=new Map(a);return c.delete(b),c}),e.toast.error("Failed to pin agent")}},[a]),T=(0,c.useCallback)(async b=>{let c;z(a=>{c=a.get(b);let d=new Map(a);return d.delete(b),d});try{await (0,d.unpinAgent)(a,b)}catch{void 0!==c&&z(a=>new Map(a).set(b,c)),e.toast.error("Failed to unpin agent")}},[a]),U=(0,c.useCallback)(async b=>{let c=new Map(y);z(a=>{let c=new Map(a);return b.forEach((a,b)=>{let d=c.get(a);d&&c.set(a,{...d,position:b})}),c});try{await (0,d.reorderAgentPins)(a,b)}catch{z(c),e.toast.error("Failed to reorder pins")}},[a,y]),V=(0,c.useCallback)(async b=>{let c=new Map(A);B(new Map(b.map((a,b)=>[a,b])));try{await (0,d.reorderUnpinnedAgents)(a,b)}catch{B(c),e.toast.error("Failed to reorder agents")}},[a,A]),W=(0,c.useCallback)(()=>{let a=k.find(a=>"online"===a.status);return a?.id??""},[k]),X=(0,c.useCallback)(async()=>{try{return(await (0,d.createMachineToken)("cli",a)).token}catch(a){return e.toast.error(a instanceof Error?a.message:"Failed to generate token"),null}},[a]),Y=(0,c.useCallback)(async b=>{try{return await (0,d.deleteMachine)(b,a),await L(),!0}catch(a){return e.toast.error(a instanceof Error?a.message:"Failed to remove machine"),!1}},[L,a]);return(0,b.jsx)(g.Provider,{value:{workspaceId:a,agents:i,agentLinks:t,runtimes:k,loading:m,activeTaskCounts:o,activeTaskDetails:q,pendingNewAgent:v,clearPendingNewAgent:x,pins:y,reload:L,subscribeWs:H,subscribeReconnect:I,handleCreateAgent:P,handleUpdateAgent:Q,handleDeleteAgent:R,handlePinAgent:S,handleUnpinAgent:T,handleReorderPins:U,unpinnedOrder:A,handleReorderUnpinned:V,getFirstOnlineRuntimeId:W,handleGenerateToken:X,handleDeleteMachine:Y},children:h})},"useAgentContext",0,function(){let a=(0,c.useContext)(g);if(!a)throw Error("useAgentContext must be used within AgentProvider");return a},"useAgentContextSafe",0,function(){return(0,c.useContext)(g)}])},911509,a=>{"use strict";let b=`@${process.env.ALOOK_DOMAIN||"alook.ai"}`,c=/^[a-zA-Z0-9-]{3,}$/,d=new Set(["no-reply","noreply","admin","support","help","info","postmaster","abuse","security","mailer-daemon","root","webmaster","hostmaster","system","alook"]);a.s(["isValidHandle",0,function(a){return c.test(a)&&!d.has(a.toLowerCase())},"parseEmailHandle",0,function(a){return a.endsWith(b)?a.slice(0,-b.length):""},"toAlookAddress",0,function(a){return`${a}${b}`}])},893256,a=>{"use strict";let b=(0,a.i(410732).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);a.s(["default",0,b])},84096,a=>{"use strict";let b=(0,a.i(410732).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["Loader2",0,b],84096)},7455,a=>{"use strict";var b=a.i(616612),c=a.i(651735),d=a.i(75118),e=a.i(732254),f=a.i(929328);function g({...a}){return(0,b.jsx)(c.Dialog.Portal,{"data-slot":"sheet-portal",...a})}function h({className:a,...e}){return(0,b.jsx)(c.Dialog.Backdrop,{"data-slot":"sheet-overlay",className:(0,d.cn)("fixed inset-0 z-50 bg-black/20 backdrop-blur-[2px] transition-[opacity,backdrop-filter] duration-200 ease-out data-ending-style:opacity-0 data-ending-style:backdrop-blur-none data-starting-style:opacity-0 data-starting-style:backdrop-blur-none",a),...e})}a.s(["Sheet",0,function({...a}){return(0,b.jsx)(c.Dialog.Root,{"data-slot":"sheet",...a})},"SheetBody",0,function({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sheet-body",className:(0,d.cn)("flex-1 overflow-y-auto thin-scrollbar px-4 sm:px-6 py-5",a),...c})},"SheetClose",0,function({...a}){return(0,b.jsx)(c.Dialog.Close,{"data-slot":"sheet-close",...a})},"SheetContent",0,function({className:a,children:i,side:j="right",showCloseButton:k=!0,...l}){return(0,b.jsxs)(g,{children:[(0,b.jsx)(h,{forceRender:!0}),(0,b.jsxs)(c.Dialog.Popup,{"data-slot":"sheet-content","data-side":j,className:(0,d.cn)("fixed z-50 flex flex-col bg-background shadow-xl outline-none transition duration-300 ease-in-out data-ending-style:opacity-0 data-starting-style:opacity-0","data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-full data-[side=right]:max-w-md data-[side=right]:border-l data-[side=right]:data-ending-style:translate-x-10 data-[side=right]:data-starting-style:translate-x-10","data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-full data-[side=left]:max-w-md data-[side=left]:border-r data-[side=left]:data-ending-style:-translate-x-10 data-[side=left]:data-starting-style:-translate-x-10","data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:data-ending-style:-translate-y-10 data-[side=top]:data-starting-style:-translate-y-10","data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-10 data-[side=bottom]:data-starting-style:translate-y-10",a),...l,children:[i,k&&(0,b.jsxs)(c.Dialog.Close,{"data-slot":"sheet-close",render:(0,b.jsx)(e.Button,{variant:"ghost",className:"absolute top-3 right-3 z-10",size:"icon-sm"}),children:[(0,b.jsx)(f.XIcon,{}),(0,b.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"SheetDescription",0,function({className:a,...e}){return(0,b.jsx)(c.Dialog.Description,{"data-slot":"sheet-description",className:(0,d.cn)("text-sm text-muted-foreground",a),...e})},"SheetFooter",0,function({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sheet-footer",className:(0,d.cn)("flex flex-col-reverse gap-2 border-t bg-muted/50 px-4 sm:px-6 py-4 sm:flex-row sm:justify-end",a),...c})},"SheetHeader",0,function({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sheet-header",className:(0,d.cn)("flex flex-col gap-1 border-b px-4 sm:px-6 py-5",a),...c})},"SheetTitle",0,function({className:a,...e}){return(0,b.jsx)(c.Dialog.Title,{"data-slot":"sheet-title",className:(0,d.cn)("font-heading text-lg leading-tight font-semibold",a),...e})},"SheetTrigger",0,function({...a}){return(0,b.jsx)(c.Dialog.Trigger,{"data-slot":"sheet-trigger",...a})}])},27647,a=>{"use strict";var b=a.i(616612),c=a.i(734803),d=a.i(75118);let e=a=>{a&&(a.style.height="auto",a.style.height=`${a.scrollHeight}px`)},f=c.forwardRef(({className:a,onChange:f,...g},h)=>{let i=c.useRef(null),j=c.useCallback(a=>{i.current=a,"function"==typeof h?h(a):h&&(h.current=a),e(a)},[h]);return c.useEffect(()=>{e(i.current)},[g.value]),(0,b.jsx)("textarea",{ref:j,className:(0,d.cn)("resize-none overflow-hidden",a),onChange:a=>{e(a.target),f?.(a)},...g})});f.displayName="AutoResizeTextarea",a.s(["AutoResizeTextarea",0,f])}];
|
|
1
|
+
module.exports=[881503,a=>{"use strict";var b=a.i(734803);let c=(0,a.i(75118).isLocalMode)(),d=Number(process.env.NEXT_PUBLIC_WS_DO_PORT)||8789,e=Number(process.env.NEXT_PUBLIC_WS_RECONNECT_DELAY_MS)||1e3,f=Number(process.env.NEXT_PUBLIC_WS_RECONNECT_MAX_DELAY_MS)||3e4;a.s(["useUserWs",0,function(a,g){let h=(0,b.useRef)(null),i=(0,b.useRef)(e),j=(0,b.useRef)(a),k=(0,b.useRef)(g?.onReconnect),l=(0,b.useRef)(null),m=(0,b.useRef)(!1),n=(0,b.useRef)(0),o=(0,b.useRef)(null),p=(0,b.useRef)(null);(0,b.useEffect)(()=>{j.current=a},[a]),(0,b.useEffect)(()=>{k.current=g?.onReconnect},[g?.onReconnect]);let q=(0,b.useRef)(null),r=(0,b.useCallback)(()=>{let a=Math.min(i.current,f);i.current=Math.min(2*a,f),l.current=setTimeout(()=>{q.current?.()},a+500*Math.random())},[]),s=(0,b.useCallback)(async()=>{let a,b,f,g=d;try{let c=await fetch("/api/ws/token");if(!c.ok){console.warn("[ws] token fetch failed:",c.status),r();return}let d=await c.json();a=d.userId,b=d.token,d.wsPort&&(g=d.wsPort)}catch(a){console.warn("[ws] token fetch error:",a),r();return}let l=c?`ws://localhost:${g}/?userId=${a}`:`${location.origin.replace("http","ws")}/api/ws/user?userId=${a}`;try{f=new WebSocket(l)}catch(a){console.warn("[ws] WebSocket creation failed:",a),r();return}h.current=f,f.onopen=()=>{i.current=e,f.send(JSON.stringify({type:"auth",token:b})),m.current&&k.current?.(),m.current=!0,n.current=Date.now(),o.current=setInterval(()=>{f.readyState===WebSocket.OPEN&&f.send("ping")},25e3),p.current=setInterval(()=>{Date.now()-n.current>3e4&&f.close()},5e3)},f.onmessage=a=>{n.current=Date.now();try{let b=JSON.parse(a.data);if("auth.ok"===b.type)return void f.send(JSON.stringify({type:"check_daemon_status"}));j.current(b)}catch{}},f.onerror=()=>{},f.onclose=()=>{f===h.current&&(o.current&&(clearInterval(o.current),o.current=null),p.current&&(clearInterval(p.current),p.current=null),r())}},[r]);return(0,b.useEffect)(()=>{q.current=s},[s]),(0,b.useEffect)(()=>(s(),()=>{null!==l.current&&(clearTimeout(l.current),l.current=null),o.current&&(clearInterval(o.current),o.current=null),p.current&&(clearInterval(p.current),p.current=null);let a=h.current;h.current=null,a?.close()}),[s]),{send:(0,b.useCallback)(a=>{let b=h.current;b&&b.readyState===WebSocket.OPEN&&b.send(JSON.stringify(a))},[])}}])},752792,a=>{"use strict";var b=a.i(616612),c=a.i(734803),d=a.i(588339),e=a.i(780956),f=a.i(881503);let g=(0,c.createContext)(null);a.s(["AgentProvider",0,function({workspaceId:a,children:h}){let[i,j]=(0,c.useState)([]),[k,l]=(0,c.useState)([]),[m,n]=(0,c.useState)(!0),[o,p]=(0,c.useState)({}),[q,r]=(0,c.useState)([]),s=(0,c.useRef)(!1),[t,u]=(0,c.useState)([]),[v,w]=(0,c.useState)(null),x=(0,c.useCallback)(()=>w(null),[]),[y,z]=(0,c.useState)(new Map),[A,B]=(0,c.useState)(new Map),C=(0,c.useRef)(!1),D=(0,c.useRef)(new Set),E=(0,c.useRef)(new Set),F=(0,c.useRef)(!0),G=(0,c.useRef)(!1),H=(0,c.useCallback)(a=>(D.current.add(a),()=>{D.current.delete(a)}),[]),I=(0,c.useCallback)(a=>(E.current.add(a),()=>{E.current.delete(a)}),[]),J=(0,c.useRef)(!1),K=(0,c.useCallback)(async()=>{if(!J.current){J.current=!0;try{if(s.current){let b=await (0,d.listWorkspaceActiveTasks)(a);if(!F.current)return;r(b.tasks);let c={};for(let a of b.tasks)c[a.agent_id]=(c[a.agent_id]??0)+1;p(c),s.current=b.tasks.length>0}else{let b=await (0,d.listAgentActiveTaskCounts)(a);if(!F.current)return;if(p(b.counts),Object.values(b.counts).some(a=>a>0)){s.current=!0;let b=await (0,d.listWorkspaceActiveTasks)(a);F.current&&r(b.tasks)}else r([])}}catch{}finally{J.current=!1}}},[a]);(0,c.useEffect)(()=>{F.current=!0,K();let a=setInterval(K,15e3);return()=>{F.current=!1,clearInterval(a)}},[K]);let L=(0,c.useCallback)(async()=>{try{let[b,c,e,f]=await Promise.all([(0,d.listAgents)(a),(0,d.listRuntimes)(a),(0,d.listAgentPins)(a),(0,d.listAgentLinks)(a)]);j(b),l(c),u(f),z(new Map(e.pins.map(a=>[a.agent_id,{created_at:a.created_at,position:a.position}]))),B(new Map(e.sidebar_order.map(a=>[a.agent_id,a.position])))}catch(a){e.toast.error(a instanceof Error?a.message:"Failed to load data")}finally{n(!1),C.current=!0}},[a]),M=(0,c.useCallback)(async()=>{if(!G.current){G.current=!0;try{let b=await (0,d.listRuntimes)(a);l(b)}catch{}finally{G.current=!1}}},[a]);(0,c.useEffect)(()=>{L()},[L]),(0,c.useEffect)(()=>{let a=null,b=setInterval(()=>{"visible"===document.visibilityState&&M()},3e4),c=()=>{"visible"===document.visibilityState&&(a=setTimeout(()=>M(),2e3*Math.random()))};return document.addEventListener("visibilitychange",c),()=>{clearInterval(b),a&&clearTimeout(a),document.removeEventListener("visibilitychange",c)}},[M]);let N=(0,c.useCallback)(b=>{for(let a of D.current)a(b);switch(b.type){case"runtime.registered":if(b.workspaceId!==a)break;L();break;case"runtime.deleted":L();break;case"runtime.status":if(b.workspaceId!==a)break;M();break;case"agent.created":if(b.workspaceId!==a)break;w({agentId:b.agentId,parentAgentId:b.parentAgentId}),L();break;case"task.updated":K()}},[L,M,K,a]),O=(0,c.useCallback)(()=>{for(let a of(M(),E.current))a()},[M]);(0,f.useUserWs)(N,{onReconnect:O});let P=(0,c.useCallback)(async b=>{try{let c=await (0,d.createAgent)(b,a);return await L(),c}catch(a){return e.toast.error(a instanceof Error?a.message:"Failed to create agent"),null}},[L,a]),Q=(0,c.useCallback)(async(b,c)=>{try{return await (0,d.updateAgent)(b,c,a),await L(),!0}catch(a){return e.toast.error(a instanceof Error?a.message:"Failed to update agent"),!1}},[L,a]),R=(0,c.useCallback)(async b=>{try{return await (0,d.deleteAgent)(b,a),await L(),!0}catch(a){return e.toast.error(a instanceof Error?a.message:"Failed to remove agent"),!1}},[L,a]),S=(0,c.useCallback)(async b=>{z(a=>{let c=Math.max(-1,...[...a.values()].map(a=>a.position));return new Map(a).set(b,{created_at:new Date().toISOString(),position:c+1})});try{await (0,d.pinAgent)(a,b)}catch{z(a=>{let c=new Map(a);return c.delete(b),c}),e.toast.error("Failed to pin agent")}},[a]),T=(0,c.useCallback)(async b=>{let c;z(a=>{c=a.get(b);let d=new Map(a);return d.delete(b),d});try{await (0,d.unpinAgent)(a,b)}catch{void 0!==c&&z(a=>new Map(a).set(b,c)),e.toast.error("Failed to unpin agent")}},[a]),U=(0,c.useCallback)(async b=>{let c=new Map(y);z(a=>{let c=new Map(a);return b.forEach((a,b)=>{let d=c.get(a);d&&c.set(a,{...d,position:b})}),c});try{await (0,d.reorderAgentPins)(a,b)}catch{z(c),e.toast.error("Failed to reorder pins")}},[a,y]),V=(0,c.useCallback)(async b=>{let c=new Map(A);B(new Map(b.map((a,b)=>[a,b])));try{await (0,d.reorderUnpinnedAgents)(a,b)}catch{B(c),e.toast.error("Failed to reorder agents")}},[a,A]),W=(0,c.useCallback)(()=>{let a=k.find(a=>"online"===a.status);return a?.id??""},[k]),X=(0,c.useCallback)(async()=>{try{return(await (0,d.createMachineToken)("cli",a)).token}catch(a){return e.toast.error(a instanceof Error?a.message:"Failed to generate token"),null}},[a]),Y=(0,c.useCallback)(async b=>{try{return await (0,d.deleteMachine)(b,a),await L(),!0}catch(a){return e.toast.error(a instanceof Error?a.message:"Failed to remove machine"),!1}},[L,a]),Z=(0,c.useCallback)((a,b)=>{j(c=>c.map(c=>c.id===a?{...c,...b}:c))},[]);return(0,b.jsx)(g.Provider,{value:{workspaceId:a,agents:i,agentLinks:t,runtimes:k,loading:m,activeTaskCounts:o,activeTaskDetails:q,pendingNewAgent:v,clearPendingNewAgent:x,pins:y,reload:L,subscribeWs:H,subscribeReconnect:I,handleCreateAgent:P,handleUpdateAgent:Q,handleDeleteAgent:R,handlePinAgent:S,handleUnpinAgent:T,handleReorderPins:U,unpinnedOrder:A,handleReorderUnpinned:V,getFirstOnlineRuntimeId:W,handleGenerateToken:X,handleDeleteMachine:Y,patchAgent:Z},children:h})},"useAgentContext",0,function(){let a=(0,c.useContext)(g);if(!a)throw Error("useAgentContext must be used within AgentProvider");return a},"useAgentContextSafe",0,function(){return(0,c.useContext)(g)}])},911509,a=>{"use strict";let b=`@${process.env.ALOOK_DOMAIN||"alook.ai"}`,c=/^[a-zA-Z0-9-]{3,}$/,d=new Set(["no-reply","noreply","admin","support","help","info","postmaster","abuse","security","mailer-daemon","root","webmaster","hostmaster","system","alook"]);a.s(["isValidHandle",0,function(a){return c.test(a)&&!d.has(a.toLowerCase())},"parseEmailHandle",0,function(a){return a.endsWith(b)?a.slice(0,-b.length):""},"toAlookAddress",0,function(a){return`${a}${b}`}])},893256,a=>{"use strict";let b=(0,a.i(410732).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);a.s(["default",0,b])},84096,a=>{"use strict";let b=(0,a.i(410732).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["Loader2",0,b],84096)},7455,a=>{"use strict";var b=a.i(616612),c=a.i(651735),d=a.i(75118),e=a.i(732254),f=a.i(929328);function g({...a}){return(0,b.jsx)(c.Dialog.Portal,{"data-slot":"sheet-portal",...a})}function h({className:a,...e}){return(0,b.jsx)(c.Dialog.Backdrop,{"data-slot":"sheet-overlay",className:(0,d.cn)("fixed inset-0 z-50 bg-black/20 backdrop-blur-[2px] transition-[opacity,backdrop-filter] duration-200 ease-out data-ending-style:opacity-0 data-ending-style:backdrop-blur-none data-starting-style:opacity-0 data-starting-style:backdrop-blur-none",a),...e})}a.s(["Sheet",0,function({...a}){return(0,b.jsx)(c.Dialog.Root,{"data-slot":"sheet",...a})},"SheetBody",0,function({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sheet-body",className:(0,d.cn)("flex-1 overflow-y-auto thin-scrollbar px-4 sm:px-6 py-5",a),...c})},"SheetClose",0,function({...a}){return(0,b.jsx)(c.Dialog.Close,{"data-slot":"sheet-close",...a})},"SheetContent",0,function({className:a,children:i,side:j="right",showCloseButton:k=!0,...l}){return(0,b.jsxs)(g,{children:[(0,b.jsx)(h,{forceRender:!0}),(0,b.jsxs)(c.Dialog.Popup,{"data-slot":"sheet-content","data-side":j,className:(0,d.cn)("fixed z-50 flex flex-col bg-background shadow-xl outline-none transition duration-300 ease-in-out data-ending-style:opacity-0 data-starting-style:opacity-0","data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-full data-[side=right]:max-w-md data-[side=right]:border-l data-[side=right]:data-ending-style:translate-x-10 data-[side=right]:data-starting-style:translate-x-10","data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-full data-[side=left]:max-w-md data-[side=left]:border-r data-[side=left]:data-ending-style:-translate-x-10 data-[side=left]:data-starting-style:-translate-x-10","data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:data-ending-style:-translate-y-10 data-[side=top]:data-starting-style:-translate-y-10","data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-10 data-[side=bottom]:data-starting-style:translate-y-10",a),...l,children:[i,k&&(0,b.jsxs)(c.Dialog.Close,{"data-slot":"sheet-close",render:(0,b.jsx)(e.Button,{variant:"ghost",className:"absolute top-3 right-3 z-10",size:"icon-sm"}),children:[(0,b.jsx)(f.XIcon,{}),(0,b.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"SheetDescription",0,function({className:a,...e}){return(0,b.jsx)(c.Dialog.Description,{"data-slot":"sheet-description",className:(0,d.cn)("text-sm text-muted-foreground",a),...e})},"SheetFooter",0,function({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sheet-footer",className:(0,d.cn)("flex flex-col-reverse gap-2 border-t bg-muted/50 px-4 sm:px-6 py-4 sm:flex-row sm:justify-end",a),...c})},"SheetHeader",0,function({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sheet-header",className:(0,d.cn)("flex flex-col gap-1 border-b px-4 sm:px-6 py-5",a),...c})},"SheetTitle",0,function({className:a,...e}){return(0,b.jsx)(c.Dialog.Title,{"data-slot":"sheet-title",className:(0,d.cn)("font-heading text-lg leading-tight font-semibold",a),...e})},"SheetTrigger",0,function({...a}){return(0,b.jsx)(c.Dialog.Trigger,{"data-slot":"sheet-trigger",...a})}])},27647,a=>{"use strict";var b=a.i(616612),c=a.i(734803),d=a.i(75118);let e=a=>{a&&(a.style.height="auto",a.style.height=`${a.scrollHeight}px`)},f=c.forwardRef(({className:a,onChange:f,...g},h)=>{let i=c.useRef(null),j=c.useCallback(a=>{i.current=a,"function"==typeof h?h(a):h&&(h.current=a),e(a)},[h]);return c.useEffect(()=>{e(i.current)},[g.value]),(0,b.jsx)("textarea",{ref:j,className:(0,d.cn)("resize-none overflow-hidden",a),onChange:a=>{e(a.target),f?.(a)},...g})});f.displayName="AutoResizeTextarea",a.s(["AutoResizeTextarea",0,f])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_1wqw0ro._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[812187,a=>{"use strict";var b=a.i(616612),c=a.i(734803),d=a.i(630991),e=a.i(266234),f=a.i(752792),g=a.i(506180),h=a.i(732254),i=a.i(22902),j=a.i(654461);a.i(974936);var k=a.i(911509),l=a.i(75118),m=a.i(410732);let n=(0,m.default)("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);var o=a.i(137993),p=a.i(334235),q=a.i(76592),r=a.i(889624),s=a.i(984078),t=a.i(588339),u=a.i(780956),v=a.i(224226);a.i(735132);var w=a.i(628508),x=a.i(325848);function y({ratio:a,size:c=16,stroke:d=1.5}){let e=(c-d)/2,f=2*Math.PI*e,g=(a<=0?0:a>=1?1:Math.log1p(99*a)/Math.log(100))*f;return(0,b.jsxs)("svg",{width:c,height:c,className:"shrink-0 -rotate-90","aria-hidden":!0,children:[(0,b.jsx)("circle",{cx:c/2,cy:c/2,r:e,fill:"none",stroke:"currentColor",strokeWidth:d,className:"text-border"}),(0,b.jsx)("circle",{cx:c/2,cy:c/2,r:e,fill:"none",stroke:"currentColor",strokeWidth:d,strokeDasharray:`${g} ${f-g}`,strokeLinecap:"round",className:(0,l.cn)("transition-all duration-300",a>.9?"text-destructive/70":a>.7?"text-yellow-500/50":"text-muted-foreground/30")})]})}function z({model:a,setModel:c,runtimeId:d,setRuntimeId:e,runtimes:f,providerModels:g}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(q.Label,{className:"text-xs text-muted-foreground",children:"Runtime"}),(0,b.jsx)(s.RuntimeSelect,{value:d,onValueChange:a=>{let b=f.find(a=>a.id===d)?.provider,g=f.find(b=>b.id===a)?.provider;e(a),b&&b!==g&&c("")},runtimes:f})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(q.Label,{className:"text-xs text-muted-foreground",children:"Model"}),(0,b.jsx)(p.Input,{value:a,onChange:a=>c(a.target.value),placeholder:"Default (runtime model)",list:"agent-model-options-edit"}),g.length>0&&(0,b.jsx)("datalist",{id:"agent-model-options-edit",children:g.map(a=>(0,b.jsx)("option",{value:a},a))}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/70",children:"Optional. Leave blank to use the runtime's default model."})]})]})}function A({agent:a,runtimes:d,modelOptions:e,onSave:f,onCancel:i,saving:m}){let{workspaceId:p}=(0,g.useWorkspace)(),[q,s]=(0,c.useState)("general"),[B,C]=(0,c.useState)(a.name??""),[D,E]=(0,c.useState)(a.description??""),[F,G]=(0,c.useState)(a.runtime_id??""),[H,I]=(0,c.useState)(()=>(0,x.parseAvatarUrl)(a.avatar_url)??x.DEFAULT_CONFIG),[J,K]=(0,c.useState)(()=>{let b=a.runtime_config;return"string"==typeof b?.model?b.model:""}),[L,M]=(0,c.useState)(a.instructions??""),[N,O]=(0,c.useState)(a.instructions??""),P=(0,c.useRef)(L);(0,c.useEffect)(()=>{P.current=L},[L]);let Q=(0,c.useRef)(N);(0,c.useEffect)(()=>{Q.current=N},[N]);let R=(0,c.useRef)(null),S=(0,c.useRef)(!1),T=(0,c.useRef)(()=>{}),U=(0,c.useCallback)(async()=>{if(S.current)return;let b=P.current;if(b!==Q.current){S.current=!0;try{await (0,t.updateAgent)(a.id,{instructions:b},p),O(b)}catch(a){u.toast.error(a instanceof Error?a.message:"Failed to save instructions")}finally{S.current=!1,P.current!==Q.current&&T.current()}}},[a.id,p]),V=(0,c.useCallback)(()=>{R.current&&clearTimeout(R.current),R.current=setTimeout(U,500)},[U]);(0,c.useEffect)(()=>{T.current=V},[V]);let W=(0,c.useCallback)(a=>{M(a),V()},[V]);(0,c.useEffect)(()=>{let b=()=>{if(R.current&&clearTimeout(R.current),P.current!==Q.current){let b=new URLSearchParams({workspace_id:p});fetch(`/api/agents/${a.id}?${b}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({instructions:P.current}),keepalive:!0})}};return window.addEventListener("beforeunload",b),()=>window.removeEventListener("beforeunload",b)},[a.id,p]),(0,c.useEffect)(()=>()=>{if(R.current&&clearTimeout(R.current),P.current!==Q.current){let b=new URLSearchParams({workspace_id:p});fetch(`/api/agents/${a.id}?${b}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({instructions:P.current}),keepalive:!0})}},[a.id,p]);let X=d.find(a=>a.id===F),Y=X&&e?e[X.provider]??[]:[],Z=async a=>{a.preventDefault(),await f({name:B,description:D,runtime_id:F,runtime_config:J?{model:J}:{},avatar_url:(0,x.serializeAvatarConfig)(H)})},$=[{id:"general",label:"General"},{id:"instruction",label:"Instruction"},{id:"runtime",label:"Runtime"},{id:"email",label:"Email"},{id:"permission",label:"Permission"}],_="general"===q||"runtime"===q||"email"===q,aa=L.length/5e4;return(0,b.jsxs)("div",{className:"flex flex-1 min-h-0",children:[(0,b.jsx)("nav",{className:"w-48 shrink-0 border-r border-border/50 py-3 px-2 hidden md:block",children:$.map(a=>(0,b.jsx)("button",{type:"button",onClick:()=>s(a.id),className:(0,l.cn)("w-full rounded-md px-2.5 py-1.5 text-left text-sm transition-colors",q===a.id?"bg-accent text-foreground font-medium":"text-muted-foreground hover:bg-accent/50 hover:text-foreground"),children:a.label},a.id))}),(0,b.jsxs)("div",{className:"flex-1 min-w-0 flex flex-col",children:[(0,b.jsx)("div",{className:"px-4 pt-2 md:hidden",children:(0,b.jsx)(j.Tabs,{className:"items-center",value:q,onValueChange:a=>s(a),children:(0,b.jsx)(j.TabsList,{className:"h-auto gap-1",children:$.map(a=>(0,b.jsx)(j.TabsTrigger,{value:a.id,children:a.label},a.id))})})}),"instruction"===q?(0,b.jsxs)("div",{className:"flex flex-col flex-1 min-h-0",children:[(0,b.jsx)("div",{className:"flex-1 px-6 pt-4 pb-4 overflow-y-auto",children:(0,b.jsx)(r.MarkdownEditor,{value:L,onChange:W,placeholder:"Write instructions for this agent...",minHeight:"calc(100vh - 240px)",contentType:"markdown",variant:"seamless"})}),(0,b.jsxs)("div",{className:"flex items-center gap-2 px-6 py-3 border-t border-border/50",children:[(0,b.jsx)(y,{ratio:aa}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Agent-specific instruction. Your global instruction is prepended automatically."})]})]}):(0,b.jsx)("div",{className:"flex-1 overflow-y-auto thin-scrollbar px-5 py-6",children:_?(0,b.jsxs)("form",{onSubmit:Z,className:"mx-auto max-w-md space-y-4",children:["general"===q&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(w.AvatarPickerDialog,{config:H,onChange:I}),(0,b.jsx)(v.GeneralFields,{name:B,setName:C,description:D,setDescription:E,model:J,setModel:K,runtimeId:F,setRuntimeId:G,runtimes:[],providerModels:[]})]}),"runtime"===q&&(0,b.jsx)(z,{model:J,setModel:K,runtimeId:F,setRuntimeId:G,runtimes:d,providerModels:Y}),"email"===q&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"rounded-lg border border-border/50 bg-muted/30 px-4 py-3",children:[(0,b.jsxs)("div",{className:"mb-2.5 flex items-center gap-1.5",children:[(0,b.jsx)(n,{className:"size-3 text-muted-foreground/60"}),(0,b.jsx)("span",{className:"text-xs font-medium text-muted-foreground/60",children:"Set at creation"})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:"Email"}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:a.email_handle?(0,k.toAlookAddress)(a.email_handle):"Not configured"})]})]}),(0,b.jsx)(o.CustomEmailForm,{agentId:a.id,workspaceId:a.workspace_id}),a.email_handle&&(0,b.jsx)("div",{className:"border-t border-border/50 pt-4 mt-4",children:(0,b.jsx)(v.AllowedSendersTab,{agentId:a.id})})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 pt-2",children:[(0,b.jsx)(h.Button,{type:"button",variant:"ghost",size:"sm",onClick:i,children:"Cancel"}),(0,b.jsx)(h.Button,{type:"submit",size:"sm",disabled:m||!B,children:m?"Saving...":"Save"})]})]}):(0,b.jsx)(v.AgentAccessTab,{agentId:a.id,ownerId:a.owner_id})})]})]})}var B=a.i(953528),C=a.i(25668),D=a.i(191525),E=a.i(341948),F=a.i(377932),G=a.i(505858),H=a.i(551798),I=a.i(162363);let J=(0,m.default)("ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);var K=a.i(356974),L=a.i(790107),M=a.i(622025),N=a.i(351360),O=a.i(867561),P=a.i(525132);a.s(["default",0,function({children:a}){let j=(0,d.useParams)(),k=(0,d.useRouter)(),l=(0,d.usePathname)(),{slug:m}=(0,g.useWorkspace)(),n=(0,d.useSearchParams)(),o=j.id,p=!!n.get("conv"),q=l.includes("/activity")||p?"activity":l.includes("/meetings")?"meetings":l.includes("/email")?"email":l.includes("/files")?"files":"chat",{agents:r,runtimes:s,handleDeleteAgent:u,handleUpdateAgent:v}=(0,f.useAgentContext)(),w=r.find(a=>a.id===o),x=w?s.find(a=>a.id===w.runtime_id):null,y=x?.status==="online",{activeTaskCounts:z}=(0,f.useAgentContext)(),Q=z[o]??0,[R,S]=(0,c.useState)(!1),[T,U]=(0,c.useState)(!1),[V,W]=(0,c.useState)(!1),[X,Y]=(0,c.useState)(!1),[Z,$]=(0,c.useState)({});return(0,c.useEffect)(()=>{(0,t.fetchModelOptions)().then($).catch(()=>{})},[]),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-border/50 px-4 md:px-5 py-2.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[w?(0,b.jsx)(D.AgentStatusBadge,{isOnline:y,taskCount:Q,agentId:o}):(0,b.jsx)(C.Skeleton,{className:"size-2 rounded-full shrink-0"}),w?(0,b.jsxs)(P.Tooltip,{children:[(0,b.jsx)(P.TooltipTrigger,{render:(0,b.jsx)(e.default,{href:`/w/${m}/agents/${o}`,onClick:()=>S(!1),className:"text-sm font-medium truncate hover:text-foreground/80 transition-colors"}),children:w.name}),(0,b.jsx)(P.TooltipContent,{children:w.description||"No description"})]}):(0,b.jsx)(C.Skeleton,{className:"h-3.5 w-24"}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground",children:["/ ",R?"Settings":({email:"Email",meetings:"Meetings",activity:"Activity",files:"Files"})[q]??"Chat"]})]}),w?(0,b.jsx)("div",{className:"flex items-center gap-0.5 shrink-0",children:R?(0,b.jsxs)(h.Button,{variant:"ghost",size:"sm",className:"text-xs text-muted-foreground h-7 gap-1 px-2",onClick:()=>S(!1),children:[(0,b.jsx)(N.X,{className:"size-3"}),"Cancel"]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"hidden sm:flex items-center gap-0.5",children:[(0,b.jsxs)(e.default,{href:`/w/${m}/agents/${o}`,className:`group inline-flex items-center rounded-lg text-xs h-7 px-2 transition-all ${"chat"===q?"text-foreground bg-muted":"text-muted-foreground hover:bg-muted hover:text-foreground"}`,children:[(0,b.jsx)(I.MessageSquare,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:`overflow-hidden transition-all duration-500 ease-out ${"chat"===q?"max-w-16 opacity-100 ml-1":"max-w-0 opacity-0 group-hover:max-w-16 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300"}`,children:"Chat"})]}),(0,b.jsxs)(e.default,{href:`/w/${m}/agents/${o}/email`,className:`group inline-flex items-center rounded-lg text-xs h-7 px-2 transition-all ${"email"===q?"text-foreground bg-muted":"text-muted-foreground hover:bg-muted hover:text-foreground"}`,children:[(0,b.jsx)(H.Mail,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:`overflow-hidden transition-all duration-500 ease-out ${"email"===q?"max-w-16 opacity-100 ml-1":"max-w-0 opacity-0 group-hover:max-w-16 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300"}`,children:"Email"})]}),(0,b.jsxs)(e.default,{href:`/w/${m}/agents/${o}/meetings`,className:`group inline-flex items-center rounded-lg text-xs h-7 px-2 transition-all ${"meetings"===q?"text-foreground bg-muted":"text-muted-foreground hover:bg-muted hover:text-foreground"}`,children:[(0,b.jsx)(M.Video,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:`overflow-hidden transition-all duration-500 ease-out ${"meetings"===q?"max-w-20 opacity-100 ml-1":"max-w-0 opacity-0 group-hover:max-w-20 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300"}`,children:"Meetings"})]}),(0,b.jsxs)(e.default,{href:`/w/${m}/agents/${o}/activity`,className:`group inline-flex items-center rounded-lg text-xs h-7 px-2 transition-all ${"activity"===q?"text-foreground bg-muted":"text-muted-foreground hover:bg-muted hover:text-foreground"}`,children:[(0,b.jsx)(G.History,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:`overflow-hidden transition-all duration-500 ease-out ${"activity"===q?"max-w-16 opacity-100 ml-1":"max-w-0 opacity-0 group-hover:max-w-16 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300"}`,children:"Activity"})]}),(0,b.jsxs)(e.default,{href:`/w/${m}/agents/${o}/files`,className:`group inline-flex items-center rounded-lg text-xs h-7 px-2 transition-all ${"files"===q?"text-foreground bg-muted":"text-muted-foreground hover:bg-muted hover:text-foreground"}`,children:[(0,b.jsx)(E.FolderOpen,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:`overflow-hidden transition-all duration-500 ease-out ${"files"===q?"max-w-16 opacity-100 ml-1":"max-w-0 opacity-0 group-hover:max-w-16 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300"}`,children:"Files"})]}),(0,b.jsxs)(e.default,{href:`/w/${m}/traces?agentId=${o}`,className:"group inline-flex items-center rounded-lg text-xs text-muted-foreground h-7 px-2 hover:bg-muted hover:text-foreground transition-all",children:[(0,b.jsx)(F.GitBranch,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"max-w-0 opacity-0 group-hover:max-w-20 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300 overflow-hidden transition-all duration-500 ease-out",children:"Traces"})]}),(0,b.jsx)("div",{className:"w-px h-4 bg-border mx-1"}),(0,b.jsxs)("button",{className:"group inline-flex items-center rounded-lg text-xs text-muted-foreground h-7 px-2 hover:bg-muted hover:text-foreground transition-all",onClick:()=>S(!0),children:[(0,b.jsx)(K.Pencil,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"max-w-0 opacity-0 group-hover:max-w-12 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300 overflow-hidden transition-all duration-500 ease-out",children:"Edit"})]}),(0,b.jsxs)("button",{className:"group inline-flex items-center rounded-lg text-xs text-muted-foreground h-7 px-2 hover:bg-muted hover:text-destructive transition-all",onClick:()=>W(!0),children:[(0,b.jsx)(L.Trash2,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"max-w-0 opacity-0 group-hover:max-w-16 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300 overflow-hidden transition-all duration-500 ease-out",children:"Remove"})]})]}),(0,b.jsx)("div",{className:"sm:hidden",children:(0,b.jsxs)(O.DropdownMenu,{children:[(0,b.jsx)(O.DropdownMenuTrigger,{render:(0,b.jsx)(h.Button,{variant:"ghost",size:"icon-sm",className:"text-muted-foreground"}),children:(0,b.jsx)(J,{className:"size-4"})}),(0,b.jsxs)(O.DropdownMenuContent,{align:"end",sideOffset:6,children:["chat"!==q&&(0,b.jsxs)(O.DropdownMenuItem,{onClick:()=>k.push(`/w/${m}/agents/${o}`),children:[(0,b.jsx)(I.MessageSquare,{className:"size-3.5"})," Chat"]}),"email"!==q&&(0,b.jsxs)(O.DropdownMenuItem,{onClick:()=>k.push(`/w/${m}/agents/${o}/email`),children:[(0,b.jsx)(H.Mail,{className:"size-3.5"})," Email"]}),"meetings"!==q&&(0,b.jsxs)(O.DropdownMenuItem,{onClick:()=>k.push(`/w/${m}/agents/${o}/meetings`),children:[(0,b.jsx)(M.Video,{className:"size-3.5"})," Meetings"]}),"activity"!==q&&(0,b.jsxs)(O.DropdownMenuItem,{onClick:()=>k.push(`/w/${m}/agents/${o}/activity`),children:[(0,b.jsx)(G.History,{className:"size-3.5"})," Activity"]}),"files"!==q&&(0,b.jsxs)(O.DropdownMenuItem,{onClick:()=>k.push(`/w/${m}/agents/${o}/files`),children:[(0,b.jsx)(E.FolderOpen,{className:"size-3.5"})," Files"]}),(0,b.jsxs)(O.DropdownMenuItem,{onClick:()=>k.push(`/w/${m}/traces?agentId=${o}`),children:[(0,b.jsx)(F.GitBranch,{className:"size-3.5"}),"Traces"]}),(0,b.jsx)(O.DropdownMenuSeparator,{}),(0,b.jsxs)(O.DropdownMenuItem,{onClick:()=>S(!0),children:[(0,b.jsx)(K.Pencil,{className:"size-3.5"}),"Edit"]}),(0,b.jsx)(O.DropdownMenuSeparator,{}),(0,b.jsxs)(O.DropdownMenuItem,{variant:"destructive",onClick:()=>W(!0),children:[(0,b.jsx)(L.Trash2,{className:"size-3.5"}),"Remove"]})]})]})})]})}):(0,b.jsx)("div",{className:"h-7 shrink-0"})]}),R&&w?(0,b.jsx)(A,{agent:w,runtimes:s,modelOptions:Z,saving:T,onCancel:()=>S(!1),onSave:async a=>{U(!0);try{let b=await v(w.id,a);return b&&S(!1),b}finally{U(!1)}}}):(0,b.jsxs)("div",{className:"flex-1 min-h-0 overflow-hidden flex flex-col",children:["chat"===q&&(0,b.jsx)(B.ChannelBar,{}),a]}),w&&(0,b.jsx)(i.ConfirmDialog,{open:V,onOpenChange:W,title:"Remove agent",description:`This will permanently delete "${w.name}" and all its conversations.`,loading:X,onConfirm:async()=>{Y(!0);try{await u(w.id)&&k.push(`/w/${m}/home`)}finally{Y(!1),W(!1)}}})]})}],812187)}];
|
|
1
|
+
module.exports=[812187,a=>{"use strict";var b=a.i(616612),c=a.i(734803),d=a.i(630991),e=a.i(266234),f=a.i(752792),g=a.i(506180),h=a.i(732254),i=a.i(22902),j=a.i(654461);a.i(974936);var k=a.i(911509),l=a.i(75118),m=a.i(410732);let n=(0,m.default)("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);var o=a.i(137993),p=a.i(334235),q=a.i(76592),r=a.i(889624),s=a.i(984078),t=a.i(588339),u=a.i(780956),v=a.i(224226);a.i(735132);var w=a.i(628508),x=a.i(325848);function y({ratio:a,size:c=16,stroke:d=1.5}){let e=(c-d)/2,f=2*Math.PI*e,g=(a<=0?0:a>=1?1:Math.log1p(99*a)/Math.log(100))*f;return(0,b.jsxs)("svg",{width:c,height:c,className:"shrink-0 -rotate-90","aria-hidden":!0,children:[(0,b.jsx)("circle",{cx:c/2,cy:c/2,r:e,fill:"none",stroke:"currentColor",strokeWidth:d,className:"text-border"}),(0,b.jsx)("circle",{cx:c/2,cy:c/2,r:e,fill:"none",stroke:"currentColor",strokeWidth:d,strokeDasharray:`${g} ${f-g}`,strokeLinecap:"round",className:(0,l.cn)("transition-all duration-300",a>.9?"text-destructive/70":a>.7?"text-yellow-500/50":"text-muted-foreground/30")})]})}function z({model:a,setModel:c,runtimeId:d,setRuntimeId:e,runtimes:f,providerModels:g}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(q.Label,{className:"text-xs text-muted-foreground",children:"Runtime"}),(0,b.jsx)(s.RuntimeSelect,{value:d,onValueChange:a=>{let b=f.find(a=>a.id===d)?.provider,g=f.find(b=>b.id===a)?.provider;e(a),b&&b!==g&&c("")},runtimes:f})]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(q.Label,{className:"text-xs text-muted-foreground",children:"Model"}),(0,b.jsx)(p.Input,{value:a,onChange:a=>c(a.target.value),placeholder:"Default (runtime model)",list:"agent-model-options-edit"}),g.length>0&&(0,b.jsx)("datalist",{id:"agent-model-options-edit",children:g.map(a=>(0,b.jsx)("option",{value:a},a))}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/70",children:"Optional. Leave blank to use the runtime's default model."})]})]})}function A({agent:a,runtimes:d,modelOptions:e,onSave:i,onCancel:m,saving:p}){let{workspaceId:q}=(0,g.useWorkspace)(),{patchAgent:s}=(0,f.useAgentContext)(),[B,C]=(0,c.useState)("general"),[D,E]=(0,c.useState)(a.name??""),[F,G]=(0,c.useState)(a.description??""),[H,I]=(0,c.useState)(a.runtime_id??""),[J,K]=(0,c.useState)(()=>(0,x.parseAvatarUrl)(a.avatar_url)??x.DEFAULT_CONFIG),[L,M]=(0,c.useState)(()=>{let b=a.runtime_config;return"string"==typeof b?.model?b.model:""}),[N,O]=(0,c.useState)(a.instructions??""),[P,Q]=(0,c.useState)(a.instructions??""),R=(0,c.useRef)(N);(0,c.useEffect)(()=>{R.current=N},[N]);let S=(0,c.useRef)(P);(0,c.useEffect)(()=>{S.current=P},[P]);let T=(0,c.useRef)(null),U=(0,c.useRef)(!1);(0,c.useEffect)(()=>{let b=!1;return(0,t.getAgent)(a.id,q).then(a=>{!b&&(a.instructions===R.current||U.current||(O(a.instructions),Q(a.instructions)))}).catch(()=>{}),()=>{b=!0}},[a.id,q]);let V=(0,c.useRef)(()=>{}),W=(0,c.useCallback)(async()=>{if(U.current)return;let b=R.current;if(b!==S.current){U.current=!0;try{await (0,t.updateAgent)(a.id,{instructions:b},q),Q(b),s(a.id,{instructions:b})}catch(a){u.toast.error(a instanceof Error?a.message:"Failed to save instructions")}finally{U.current=!1,R.current!==S.current&&V.current()}}},[a.id,q,s]),X=(0,c.useCallback)(()=>{T.current&&clearTimeout(T.current),T.current=setTimeout(W,500)},[W]);(0,c.useEffect)(()=>{V.current=X},[X]);let Y=(0,c.useCallback)(a=>{O(a),X()},[X]);(0,c.useEffect)(()=>{let b=()=>{if(T.current&&clearTimeout(T.current),R.current!==S.current){let b=new URLSearchParams({workspace_id:q});fetch(`/api/agents/${a.id}?${b}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({instructions:R.current}),keepalive:!0})}};return window.addEventListener("beforeunload",b),()=>window.removeEventListener("beforeunload",b)},[a.id,q]),(0,c.useEffect)(()=>()=>{if(T.current&&clearTimeout(T.current),R.current!==S.current){let b=new URLSearchParams({workspace_id:q});fetch(`/api/agents/${a.id}?${b}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({instructions:R.current}),keepalive:!0})}},[a.id,q]);let Z=d.find(a=>a.id===H),$=Z&&e?e[Z.provider]??[]:[],_=async a=>{a.preventDefault(),await i({name:D,description:F,runtime_id:H,runtime_config:L?{model:L}:{},avatar_url:(0,x.serializeAvatarConfig)(J)})},aa=[{id:"general",label:"General"},{id:"instruction",label:"Instruction"},{id:"runtime",label:"Runtime"},{id:"email",label:"Email"},{id:"permission",label:"Permission"}],ab="general"===B||"runtime"===B||"email"===B,ac=N.length/5e4;return(0,b.jsxs)("div",{className:"flex flex-1 min-h-0",children:[(0,b.jsx)("nav",{className:"w-48 shrink-0 border-r border-border/50 py-3 px-2 hidden md:block",children:aa.map(a=>(0,b.jsx)("button",{type:"button",onClick:()=>C(a.id),className:(0,l.cn)("w-full rounded-md px-2.5 py-1.5 text-left text-sm transition-colors",B===a.id?"bg-accent text-foreground font-medium":"text-muted-foreground hover:bg-accent/50 hover:text-foreground"),children:a.label},a.id))}),(0,b.jsxs)("div",{className:"flex-1 min-w-0 flex flex-col",children:[(0,b.jsx)("div",{className:"px-4 pt-2 md:hidden",children:(0,b.jsx)(j.Tabs,{className:"items-center",value:B,onValueChange:a=>C(a),children:(0,b.jsx)(j.TabsList,{className:"h-auto gap-1",children:aa.map(a=>(0,b.jsx)(j.TabsTrigger,{value:a.id,children:a.label},a.id))})})}),"instruction"===B?(0,b.jsxs)("div",{className:"flex flex-col flex-1 min-h-0",children:[(0,b.jsx)("div",{className:"flex-1 px-6 pt-4 pb-4 overflow-y-auto",children:(0,b.jsx)(r.MarkdownEditor,{value:N,onChange:Y,placeholder:"Write instructions for this agent...",minHeight:"calc(100vh - 240px)",contentType:"markdown",variant:"seamless"})}),(0,b.jsxs)("div",{className:"flex items-center gap-2 px-6 py-3 border-t border-border/50",children:[(0,b.jsx)(y,{ratio:ac}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Agent-specific instruction. Your global instruction is prepended automatically."})]})]}):(0,b.jsx)("div",{className:"flex-1 overflow-y-auto thin-scrollbar px-5 py-6",children:ab?(0,b.jsxs)("form",{onSubmit:_,className:"mx-auto max-w-md space-y-4",children:["general"===B&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(w.AvatarPickerDialog,{config:J,onChange:K}),(0,b.jsx)(v.GeneralFields,{name:D,setName:E,description:F,setDescription:G,model:L,setModel:M,runtimeId:H,setRuntimeId:I,runtimes:[],providerModels:[]})]}),"runtime"===B&&(0,b.jsx)(z,{model:L,setModel:M,runtimeId:H,setRuntimeId:I,runtimes:d,providerModels:$}),"email"===B&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"rounded-lg border border-border/50 bg-muted/30 px-4 py-3",children:[(0,b.jsxs)("div",{className:"mb-2.5 flex items-center gap-1.5",children:[(0,b.jsx)(n,{className:"size-3 text-muted-foreground/60"}),(0,b.jsx)("span",{className:"text-xs font-medium text-muted-foreground/60",children:"Set at creation"})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:"Email"}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:a.email_handle?(0,k.toAlookAddress)(a.email_handle):"Not configured"})]})]}),(0,b.jsx)(o.CustomEmailForm,{agentId:a.id,workspaceId:a.workspace_id}),a.email_handle&&(0,b.jsx)("div",{className:"border-t border-border/50 pt-4 mt-4",children:(0,b.jsx)(v.AllowedSendersTab,{agentId:a.id})})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 pt-2",children:[(0,b.jsx)(h.Button,{type:"button",variant:"ghost",size:"sm",onClick:m,children:"Cancel"}),(0,b.jsx)(h.Button,{type:"submit",size:"sm",disabled:p||!D,children:p?"Saving...":"Save"})]})]}):(0,b.jsx)(v.AgentAccessTab,{agentId:a.id,ownerId:a.owner_id})})]})]})}var B=a.i(953528),C=a.i(25668),D=a.i(191525),E=a.i(341948),F=a.i(377932),G=a.i(505858),H=a.i(551798),I=a.i(162363);let J=(0,m.default)("ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);var K=a.i(356974),L=a.i(790107),M=a.i(622025),N=a.i(351360),O=a.i(867561),P=a.i(525132);a.s(["default",0,function({children:a}){let j=(0,d.useParams)(),k=(0,d.useRouter)(),l=(0,d.usePathname)(),{slug:m}=(0,g.useWorkspace)(),n=(0,d.useSearchParams)(),o=j.id,p=!!n.get("conv"),q=l.includes("/activity")||p?"activity":l.includes("/meetings")?"meetings":l.includes("/email")?"email":l.includes("/files")?"files":"chat",{agents:r,runtimes:s,handleDeleteAgent:u,handleUpdateAgent:v}=(0,f.useAgentContext)(),w=r.find(a=>a.id===o),x=w?s.find(a=>a.id===w.runtime_id):null,y=x?.status==="online",{activeTaskCounts:z}=(0,f.useAgentContext)(),Q=z[o]??0,[R,S]=(0,c.useState)(!1),[T,U]=(0,c.useState)(!1),[V,W]=(0,c.useState)(!1),[X,Y]=(0,c.useState)(!1),[Z,$]=(0,c.useState)({});return(0,c.useEffect)(()=>{(0,t.fetchModelOptions)().then($).catch(()=>{})},[]),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-border/50 px-4 md:px-5 py-2.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[w?(0,b.jsx)(D.AgentStatusBadge,{isOnline:y,taskCount:Q,agentId:o}):(0,b.jsx)(C.Skeleton,{className:"size-2 rounded-full shrink-0"}),w?(0,b.jsxs)(P.Tooltip,{children:[(0,b.jsx)(P.TooltipTrigger,{render:(0,b.jsx)(e.default,{href:`/w/${m}/agents/${o}`,onClick:()=>S(!1),className:"text-sm font-medium truncate hover:text-foreground/80 transition-colors"}),children:w.name}),(0,b.jsx)(P.TooltipContent,{children:w.description||"No description"})]}):(0,b.jsx)(C.Skeleton,{className:"h-3.5 w-24"}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground",children:["/ ",R?"Settings":({email:"Email",meetings:"Meetings",activity:"Activity",files:"Files"})[q]??"Chat"]})]}),w?(0,b.jsx)("div",{className:"flex items-center gap-0.5 shrink-0",children:R?(0,b.jsxs)(h.Button,{variant:"ghost",size:"sm",className:"text-xs text-muted-foreground h-7 gap-1 px-2",onClick:()=>S(!1),children:[(0,b.jsx)(N.X,{className:"size-3"}),"Cancel"]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"hidden sm:flex items-center gap-0.5",children:[(0,b.jsxs)(e.default,{href:`/w/${m}/agents/${o}`,className:`group inline-flex items-center rounded-lg text-xs h-7 px-2 transition-all ${"chat"===q?"text-foreground bg-muted":"text-muted-foreground hover:bg-muted hover:text-foreground"}`,children:[(0,b.jsx)(I.MessageSquare,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:`overflow-hidden transition-all duration-500 ease-out ${"chat"===q?"max-w-16 opacity-100 ml-1":"max-w-0 opacity-0 group-hover:max-w-16 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300"}`,children:"Chat"})]}),(0,b.jsxs)(e.default,{href:`/w/${m}/agents/${o}/email`,className:`group inline-flex items-center rounded-lg text-xs h-7 px-2 transition-all ${"email"===q?"text-foreground bg-muted":"text-muted-foreground hover:bg-muted hover:text-foreground"}`,children:[(0,b.jsx)(H.Mail,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:`overflow-hidden transition-all duration-500 ease-out ${"email"===q?"max-w-16 opacity-100 ml-1":"max-w-0 opacity-0 group-hover:max-w-16 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300"}`,children:"Email"})]}),(0,b.jsxs)(e.default,{href:`/w/${m}/agents/${o}/meetings`,className:`group inline-flex items-center rounded-lg text-xs h-7 px-2 transition-all ${"meetings"===q?"text-foreground bg-muted":"text-muted-foreground hover:bg-muted hover:text-foreground"}`,children:[(0,b.jsx)(M.Video,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:`overflow-hidden transition-all duration-500 ease-out ${"meetings"===q?"max-w-20 opacity-100 ml-1":"max-w-0 opacity-0 group-hover:max-w-20 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300"}`,children:"Meetings"})]}),(0,b.jsxs)(e.default,{href:`/w/${m}/agents/${o}/activity`,className:`group inline-flex items-center rounded-lg text-xs h-7 px-2 transition-all ${"activity"===q?"text-foreground bg-muted":"text-muted-foreground hover:bg-muted hover:text-foreground"}`,children:[(0,b.jsx)(G.History,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:`overflow-hidden transition-all duration-500 ease-out ${"activity"===q?"max-w-16 opacity-100 ml-1":"max-w-0 opacity-0 group-hover:max-w-16 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300"}`,children:"Activity"})]}),(0,b.jsxs)(e.default,{href:`/w/${m}/agents/${o}/files`,className:`group inline-flex items-center rounded-lg text-xs h-7 px-2 transition-all ${"files"===q?"text-foreground bg-muted":"text-muted-foreground hover:bg-muted hover:text-foreground"}`,children:[(0,b.jsx)(E.FolderOpen,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:`overflow-hidden transition-all duration-500 ease-out ${"files"===q?"max-w-16 opacity-100 ml-1":"max-w-0 opacity-0 group-hover:max-w-16 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300"}`,children:"Files"})]}),(0,b.jsxs)(e.default,{href:`/w/${m}/traces?agentId=${o}`,className:"group inline-flex items-center rounded-lg text-xs text-muted-foreground h-7 px-2 hover:bg-muted hover:text-foreground transition-all",children:[(0,b.jsx)(F.GitBranch,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"max-w-0 opacity-0 group-hover:max-w-20 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300 overflow-hidden transition-all duration-500 ease-out",children:"Traces"})]}),(0,b.jsx)("div",{className:"w-px h-4 bg-border mx-1"}),(0,b.jsxs)("button",{className:"group inline-flex items-center rounded-lg text-xs text-muted-foreground h-7 px-2 hover:bg-muted hover:text-foreground transition-all",onClick:()=>S(!0),children:[(0,b.jsx)(K.Pencil,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"max-w-0 opacity-0 group-hover:max-w-12 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300 overflow-hidden transition-all duration-500 ease-out",children:"Edit"})]}),(0,b.jsxs)("button",{className:"group inline-flex items-center rounded-lg text-xs text-muted-foreground h-7 px-2 hover:bg-muted hover:text-destructive transition-all",onClick:()=>W(!0),children:[(0,b.jsx)(L.Trash2,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"max-w-0 opacity-0 group-hover:max-w-16 group-hover:opacity-100 group-hover:ml-1 group-hover:delay-300 overflow-hidden transition-all duration-500 ease-out",children:"Remove"})]})]}),(0,b.jsx)("div",{className:"sm:hidden",children:(0,b.jsxs)(O.DropdownMenu,{children:[(0,b.jsx)(O.DropdownMenuTrigger,{render:(0,b.jsx)(h.Button,{variant:"ghost",size:"icon-sm",className:"text-muted-foreground"}),children:(0,b.jsx)(J,{className:"size-4"})}),(0,b.jsxs)(O.DropdownMenuContent,{align:"end",sideOffset:6,children:["chat"!==q&&(0,b.jsxs)(O.DropdownMenuItem,{onClick:()=>k.push(`/w/${m}/agents/${o}`),children:[(0,b.jsx)(I.MessageSquare,{className:"size-3.5"})," Chat"]}),"email"!==q&&(0,b.jsxs)(O.DropdownMenuItem,{onClick:()=>k.push(`/w/${m}/agents/${o}/email`),children:[(0,b.jsx)(H.Mail,{className:"size-3.5"})," Email"]}),"meetings"!==q&&(0,b.jsxs)(O.DropdownMenuItem,{onClick:()=>k.push(`/w/${m}/agents/${o}/meetings`),children:[(0,b.jsx)(M.Video,{className:"size-3.5"})," Meetings"]}),"activity"!==q&&(0,b.jsxs)(O.DropdownMenuItem,{onClick:()=>k.push(`/w/${m}/agents/${o}/activity`),children:[(0,b.jsx)(G.History,{className:"size-3.5"})," Activity"]}),"files"!==q&&(0,b.jsxs)(O.DropdownMenuItem,{onClick:()=>k.push(`/w/${m}/agents/${o}/files`),children:[(0,b.jsx)(E.FolderOpen,{className:"size-3.5"})," Files"]}),(0,b.jsxs)(O.DropdownMenuItem,{onClick:()=>k.push(`/w/${m}/traces?agentId=${o}`),children:[(0,b.jsx)(F.GitBranch,{className:"size-3.5"}),"Traces"]}),(0,b.jsx)(O.DropdownMenuSeparator,{}),(0,b.jsxs)(O.DropdownMenuItem,{onClick:()=>S(!0),children:[(0,b.jsx)(K.Pencil,{className:"size-3.5"}),"Edit"]}),(0,b.jsx)(O.DropdownMenuSeparator,{}),(0,b.jsxs)(O.DropdownMenuItem,{variant:"destructive",onClick:()=>W(!0),children:[(0,b.jsx)(L.Trash2,{className:"size-3.5"}),"Remove"]})]})]})})]})}):(0,b.jsx)("div",{className:"h-7 shrink-0"})]}),R&&w?(0,b.jsx)(A,{agent:w,runtimes:s,modelOptions:Z,saving:T,onCancel:()=>S(!1),onSave:async a=>{U(!0);try{let b=await v(w.id,a);return b&&S(!1),b}finally{U(!1)}}}):(0,b.jsxs)("div",{className:"flex-1 min-h-0 overflow-hidden flex flex-col",children:["chat"===q&&(0,b.jsx)(B.ChannelBar,{}),a]}),w&&(0,b.jsx)(i.ConfirmDialog,{open:V,onOpenChange:W,title:"Remove agent",description:`This will permanently delete "${w.name}" and all its conversations.`,loading:X,onConfirm:async()=>{Y(!0);try{await u(w.id)&&k.push(`/w/${m}/home`)}finally{Y(!1),W(!1)}}})]})}],812187)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_web_src_app_%28app%29_w_%5Bslug%5D_agents_%5Bid%5D_layout_tsx_0ysqmgw._.js.map
|