@alook/app 0.0.1 → 0.0.2
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/email-worker/index.js +9 -5
- package/bundled/web/.open-next/.build/durable-objects/queue.js +4 -4
- package/bundled/web/.open-next/assets/BUILD_ID +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0.johotcqi6_q.css +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{00hhut1u6hwn6.js → 0071-212kfu1m.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/{0il_mcv02512i.js → 06ksvdw1qrvwk.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0a27029.-35e~.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0d7119q.u8xvu.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{08qdwj1xra2jx.js → 0eh6y91g1-0lc.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0gnzww73lhyo3.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0idrbu7e1a~hd.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{076bjy-c4b08..js → 0p7q1v_ivmnag.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/{0nd3e0dbrnq5i.js → 0qwgr1bo.q5v3.js} +4 -4
- package/bundled/web/.open-next/assets/_next/static/chunks/{028dxg8z6qji0.js → 0t3e2f8aogso_.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0tb03bpdj_am_.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0whmpqhfadal3.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/11~usj.s5mzti.js +3 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{0-ac~bnnatk~x.js → 12oay61-cq.qw.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/130t-y.8dp~je.js +3 -0
- package/bundled/web/.open-next/cache/{36j5LIYm2caTV9Ksu2QBr → YGJyWNUCWhOqpFg-fDYKo}/_global-error.cache +1 -1
- package/bundled/web/.open-next/cache/{36j5LIYm2caTV9Ksu2QBr → YGJyWNUCWhOqpFg-fDYKo}/_not-found.cache +1 -1
- package/bundled/web/.open-next/cache/{36j5LIYm2caTV9Ksu2QBr → YGJyWNUCWhOqpFg-fDYKo}/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 +2 -2
- 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/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]/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]/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]/threads/[traceId]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/threads/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/(app)/workspaces/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(auth)/sign-in/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/_not-found/page_client-reference-manifest.js +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/app/templates/[id]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/0b5f_next_dist_esm_build_templates_app-route_08rz-qa.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[turbopack]_runtime.js +8 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0ibtxgc._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0mexljd._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[turbopack]_runtime.js +8 -7
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0.foxln._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_038.hft._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0d0a35l._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0fq1zoa._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0grgpqw._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0h5jww9._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0ufmel3._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0vhi1.k._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0yeokgf._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_studio_new_client_tsx_0zandi2._.js +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_home_page_tsx_0lkx78f._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_settings_page_tsx_0fdcupy._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_workspace-shell_tsx_0479plk._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_lib_templates_index_ts_13n9_2e._.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 +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs +18 -18
- package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +215 -197
- package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +2 -2
- package/dist/index.js +14 -12
- package/package.json +5 -2
- package/bundled/web/.open-next/assets/_next/static/chunks/07xq7yw.r_ik6.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/086ly6x4sipjy.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0hk6-z1a4kq.1.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0iwzwcvjl~190.js +0 -3
- package/bundled/web/.open-next/assets/_next/static/chunks/0lxa14d_o098o.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0nykvgip8dwr..js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0py48kb~gy1yv.css +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0rtp9qz2346v9.js +0 -3
- package/bundled/web/.open-next/assets/_next/static/chunks/0~wu41ykjx3ud.js +0 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_08.z.g0._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_08wm2-0._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0aao.99._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0e2t1n5._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0lz_8zr._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0pp~l23._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_13_029z._.js +0 -3
- /package/bundled/web/.open-next/assets/_next/static/{36j5LIYm2caTV9Ksu2QBr → YGJyWNUCWhOqpFg-fDYKo}/_buildManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{36j5LIYm2caTV9Ksu2QBr → YGJyWNUCWhOqpFg-fDYKo}/_clientMiddlewareManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{36j5LIYm2caTV9Ksu2QBr → YGJyWNUCWhOqpFg-fDYKo}/_ssgManifest.js +0 -0
- /package/bundled/web/.open-next/cache/{36j5LIYm2caTV9Ksu2QBr → YGJyWNUCWhOqpFg-fDYKo}/robots.txt.cache +0 -0
package/bundled/web/.open-next/assets/_next/static/chunks/{00hhut1u6hwn6.js → 0071-212kfu1m.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,716032,e=>{"use strict";var t,s,a=e.i(368075),i=e.i(298699),r=e.i(255334),n=e.i(613349),l=e.i(880932),d=e.i(208020),c=e.i(500324),o=e.i(23055),u=e.i(222862),m=e.i(186339),x=e.i(903477),h=e.i(473131),p=e.i(728886),f=e.i(553617);function v(){let{workspaceId:e,slug:t}=(0,c.useWorkspace)(),s=(0,o.useSession)(),r=(0,d.useRouter)(),[n,v]=(0,i.useState)(""),[g,j]=(0,i.useState)(!0),[b,k]=(0,i.useState)(""),[y,N]=(0,i.useState)(""),[w,C]=(0,i.useState)(""),[E,S]=(0,i.useState)(""),[T,M]=(0,i.useState)(!1),[R,I]=(0,i.useState)({}),[_,z]=(0,i.useState)(""),[F,P]=(0,i.useState)(!1),B=(0,i.useCallback)(async()=>{j(!0);try{let t=s.data?.user?.id,[a,i]=await Promise.all([(0,u.listMembers)(e),(0,u.listWorkspaces)()]),r=a.find(e=>e.user_id===t);v(r?.role??"");let n=i.find(t=>t.id===e);n&&(k(n.name),N(n.slug),C(n.name),S(n.slug))}catch(e){l.toast.error(e instanceof Error?e.message:"Failed to load workspace info")}finally{j(!1)}},[e,s.data?.user?.id]);(0,i.useEffect)(()=>{s.data&&B()},[B,s.data]);let $=b!==w||y!==E,O=async()=>{let s=(0,f.validateWorkspaceForm)({name:b,slug:y});if(I(s),!(0,f.hasWorkspaceFormErrors)(s)){M(!0);try{let s=await (0,u.updateWorkspace)(e,{name:b.trim(),slug:y.trim()});C(s.name),S(s.slug),l.toast.success("Workspace updated"),s.slug!==t&&r.replace(`/w/${s.slug}/settings`)}catch(e){l.toast.error(e instanceof Error?e.message:"Failed to update workspace")}finally{M(!1)}}},W=async()=>{if(_===w){P(!0);try{await (0,u.deleteWorkspace)(e,w),l.toast.success("Workspace deleted"),r.replace("/workspaces")}catch(e){l.toast.error(e instanceof Error?e.message:"Failed to delete workspace")}finally{P(!1)}}};return g?(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)(p.Skeleton,{className:"h-4 w-32"}),(0,a.jsx)(p.Skeleton,{className:"h-10 w-full"}),(0,a.jsx)(p.Skeleton,{className:"h-10 w-full"})]}):"owner"!==n?(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:"Only workspace owners can edit workspace settings."}):(0,a.jsxs)("div",{className:"space-y-10",children:[(0,a.jsxs)("section",{className:"space-y-4",children:[(0,a.jsx)("h2",{className:"text-sm font-medium",children:"Workspace"}),(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsx)(h.Label,{htmlFor:"workspace-name",children:"Name"}),(0,a.jsx)(x.Input,{id:"workspace-name",value:b,onChange:e=>{let t=e.target.value;k(t),R.name&&t.trim()&&I(e=>({...e,name:void 0}))},placeholder:"Workspace name","aria-invalid":!!R.name,"aria-describedby":R.name?"workspace-name-error":void 0}),R.name&&(0,a.jsx)("p",{id:"workspace-name-error",className:"text-xs text-destructive",children:R.name})]}),(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsx)(h.Label,{htmlFor:"workspace-slug",children:"Slug"}),(0,a.jsx)(x.Input,{id:"workspace-slug",value:y,onChange:e=>{let t=e.target.value;N(t),R.slug&&t.trim()&&I(e=>({...e,slug:void 0}))},placeholder:"workspace-slug","aria-invalid":!!R.slug,"aria-describedby":R.slug?"workspace-slug-error":void 0}),R.slug&&(0,a.jsx)("p",{id:"workspace-slug-error",className:"text-xs text-destructive",children:R.slug}),(0,a.jsxs)("p",{className:"text-xs text-muted-foreground/70",children:["Used in URLs: /w/",y,"/"]})]})]}),(0,a.jsx)(m.Button,{size:"sm",onClick:O,disabled:!$||T,children:T?"Saving…":"Save"})]}),(0,a.jsxs)("section",{className:"space-y-4",children:[(0,a.jsx)("h2",{className:"text-sm font-medium text-destructive",children:"Danger Zone"}),(0,a.jsxs)("div",{className:"rounded-md border border-destructive/30 p-4 space-y-3",children:[(0,a.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,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsxs)(h.Label,{htmlFor:"delete-confirm",className:"text-xs",children:["Type ",(0,a.jsx)("span",{className:"font-medium text-foreground",children:w})," to confirm"]}),(0,a.jsx)(x.Input,{id:"delete-confirm",value:_,onChange:e=>z(e.target.value),placeholder:w})]}),(0,a.jsx)(m.Button,{size:"sm",variant:"destructive",onClick:W,disabled:_!==w||F,children:F?"Deleting…":"Delete Workspace"})]})]})]})}var g=e.i(740513);function j({ratio:e,size:t=16,stroke:s=1.5}){let i=(t-s)/2,r=2*Math.PI*i,l=(e<=0?0:e>=1?1:Math.log1p(99*e)/Math.log(100))*r;return(0,a.jsxs)("svg",{width:t,height:t,className:"shrink-0 -rotate-90","aria-hidden":!0,children:[(0,a.jsx)("circle",{cx:t/2,cy:t/2,r:i,fill:"none",stroke:"currentColor",strokeWidth:s,className:"text-border"}),(0,a.jsx)("circle",{cx:t/2,cy:t/2,r:i,fill:"none",stroke:"currentColor",strokeWidth:s,strokeDasharray:`${l} ${r-l}`,strokeLinecap:"round",className:(0,n.cn)("transition-all duration-300",e>.9?"text-destructive/70":e>.7?"text-yellow-500/50":"text-muted-foreground/30")})]})}function b(){let{workspaceId:e}=(0,c.useWorkspace)(),[t,s]=(0,i.useState)(""),[r,n]=(0,i.useState)(""),[d,o]=(0,i.useState)(!0),m=(0,i.useRef)(t);(0,i.useEffect)(()=>{m.current=t},[t]);let x=(0,i.useRef)(r);(0,i.useEffect)(()=>{x.current=r},[r]);let h=(0,i.useRef)(null),f=(0,i.useRef)(!1),v=(0,i.useCallback)(async()=>{o(!0);try{let t=await (0,u.getMemberMe)(e);s(t.global_instruction),n(t.global_instruction)}catch(e){l.toast.error(e instanceof Error?e.message:"Failed to load settings")}finally{o(!1)}},[e]);(0,i.useEffect)(()=>{v()},[v]);let b=(0,i.useCallback)(async()=>{if(f.current)return;let t=m.current;if(t!==x.current){f.current=!0;try{let s=await (0,u.updateMemberMe)(e,t);n(s.global_instruction)}catch(e){l.toast.error(e instanceof Error?e.message:"Failed to save")}finally{f.current=!1}}},[e]),k=(0,i.useCallback)(()=>{h.current&&clearTimeout(h.current),h.current=setTimeout(b,500)},[b]),y=(0,i.useCallback)(e=>{s(e),k()},[k]);(0,i.useEffect)(()=>{let t=()=>{if(h.current&&clearTimeout(h.current),m.current!==x.current){let t=new URLSearchParams({workspace_id:e});fetch(`/api/members/me?${t}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({global_instruction:m.current}),keepalive:!0})}};return window.addEventListener("beforeunload",t),()=>window.removeEventListener("beforeunload",t)},[e]),(0,i.useEffect)(()=>()=>{h.current&&clearTimeout(h.current),m.current!==x.current&&b()},[b]);let N=t.length/5e4;return d?(0,a.jsxs)("div",{className:"px-6 py-6 space-y-4",children:[(0,a.jsx)(p.Skeleton,{className:"h-4 w-48"}),(0,a.jsx)(p.Skeleton,{className:"h-40 w-full"})]}):(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[(0,a.jsx)("div",{className:"flex-1 px-6 pt-4 pb-4",children:(0,a.jsx)(g.MarkdownEditor,{value:t,onChange:y,placeholder:"Write instructions that every agent you own will follow...",minHeight:"calc(100vh - 240px)",contentType:"markdown",variant:"seamless"})}),(0,a.jsxs)("div",{className:"flex items-center gap-2 px-6 py-3",children:[(0,a.jsx)(j,{ratio:N}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:"This instruction is prepended to every agent's individual instruction."})]})]})}var k=e.i(361268),y=e.i(30187),N=e.i(877942),w=e.i(706875);let C=(0,w.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"}]]);function E(e){return`${window.location.origin}/invite/${e}`}function S(){let{workspaceId:e}=(0,c.useWorkspace)(),t=(0,o.useSession)(),s=t.data?.user?.id,[r,d]=(0,i.useState)([]),[x,h]=(0,i.useState)([]),[f,v]=(0,i.useState)(!0),[g,j]=(0,i.useState)(!1),b=r.find(e=>e.user_id===s)?.role==="owner",w=(0,i.useCallback)(async()=>{v(!0);try{let[t,s]=await Promise.all([(0,u.listMembers)(e),(0,u.listInvites)(e).catch(()=>[])]);d(t),h(s)}catch(e){l.toast.error(e instanceof Error?e.message:"Failed to load members")}finally{v(!1)}},[e]);(0,i.useEffect)(()=>{w()},[w]);let S=async()=>{j(!0);try{let t=await (0,u.createInvite)(e);h(e=>[...e,t]);let s=E(t.token);await navigator.clipboard.writeText(s),l.toast.success("Invite link copied to clipboard")}catch(e){l.toast.error(e instanceof Error?e.message:"Failed to generate invite")}finally{j(!1)}},T=async e=>{let t=E(e);try{await navigator.clipboard.writeText(t),l.toast.success("Invite link copied")}catch{l.toast.error("Failed to copy link")}},M=async t=>{try{await (0,u.revokeInvite)(e,t),h(e=>e.filter(e=>e.id!==t)),l.toast.success("Invite revoked")}catch(e){l.toast.error(e instanceof Error?e.message:"Failed to revoke invite")}},R=async t=>{try{await (0,u.removeMember)(e,t),d(e=>e.filter(e=>e.id!==t)),l.toast.success("Member removed")}catch(e){l.toast.error(e instanceof Error?e.message:"Failed to remove member")}};return f?(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)(p.Skeleton,{className:"h-4 w-24"}),(0,a.jsx)(p.Skeleton,{className:"h-10 w-full"}),(0,a.jsx)(p.Skeleton,{className:"h-10 w-full"}),(0,a.jsx)(p.Skeleton,{className:"h-4 w-24 mt-6"}),(0,a.jsx)(p.Skeleton,{className:"h-10 w-full"}),(0,a.jsx)(p.Skeleton,{className:"h-10 w-full"})]}):(0,a.jsxs)("div",{className:"space-y-8",children:[b&&(0,a.jsxs)("section",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("h2",{className:"text-sm font-medium",children:"Pending Invites"}),(0,a.jsxs)(m.Button,{size:"sm",variant:"outline",onClick:S,disabled:g,children:[(0,a.jsx)(N.Plus,{className:"size-3.5 mr-1"}),g?"Generating…":"Generate invite link"]})]}),0===x.length?(0,a.jsx)("p",{className:"text-xs text-muted-foreground py-2",children:"No active invite links. Generate one to invite someone to this workspace."}):(0,a.jsx)("div",{className:"space-y-1.5",children:x.map(e=>{let t=new Date(e.expires_at),s=t<new Date;return(0,a.jsxs)("div",{className:"flex items-center justify-between rounded-md border border-border/50 px-3 py-2 text-xs",children:[(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsxs)("p",{className:(0,n.cn)("font-mono truncate",s&&"text-muted-foreground line-through"),children:["/invite/",e.token.slice(0,12),"…"]}),(0,a.jsx)("p",{className:(0,n.cn)("text-muted-foreground/70 mt-0.5",s&&"text-destructive/70"),children:s?"Expired":`Expires ${t.toLocaleDateString()}`})]}),(0,a.jsxs)("div",{className:"flex items-center gap-1 ml-2 shrink-0",children:[!s&&(0,a.jsx)(m.Button,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0",onClick:()=>T(e.token),title:"Copy invite link",children:(0,a.jsx)(k.Copy,{className:"size-3.5"})}),(0,a.jsx)(m.Button,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0 text-destructive hover:text-destructive",onClick:()=>M(e.id),title:"Revoke invite",children:(0,a.jsx)(y.Trash2,{className:"size-3.5"})})]})]},e.id)})})]}),(0,a.jsxs)("section",{className:"space-y-3",children:[(0,a.jsx)("h2",{className:"text-sm font-medium",children:"Members"}),(0,a.jsx)("div",{className:"space-y-1.5",children:r.map(e=>{let t=e.user_id===s,i=e.name?e.name.split(" ").map(e=>e[0]).join("").slice(0,2).toUpperCase():e.email.slice(0,2).toUpperCase();return(0,a.jsxs)("div",{className:"flex items-center gap-3 rounded-md border border-border/50 px-3 py-2",children:[(0,a.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:e.image?(0,a.jsx)("img",{src:e.image,alt:e.name,className:"size-full object-cover"}):i}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsxs)("p",{className:"text-sm font-medium truncate leading-tight",children:[e.name||e.email,t&&(0,a.jsx)("span",{className:"ml-1.5 text-xs text-muted-foreground font-normal",children:"(you)"})]}),e.name&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground truncate",children:e.email})]}),(0,a.jsx)("span",{className:(0,n.cn)("text-xs px-1.5 py-0.5 rounded shrink-0","owner"===e.role?"bg-primary/10 text-primary":"bg-muted text-muted-foreground"),children:e.role}),b&&!t&&(0,a.jsx)(m.Button,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0 text-muted-foreground hover:text-destructive shrink-0",onClick:()=>R(e.id),title:"Remove member",children:(0,a.jsx)(C,{className:"size-3.5"})})]},e.id)})})]})]})}e.s([],804233),e.i(804233),e.i(459119);var T=e.i(128726),M=e.i(969183),R=e.i(773825),I=e.i(389068),_=e.i(617517),z=e.i(610580),F=e.i(81485);let P=((t={}).checked="data-checked",t.unchecked="data-unchecked",t.indeterminate="data-indeterminate",t.disabled="data-disabled",t.readonly="data-readonly",t.required="data-required",t.valid="data-valid",t.invalid="data-invalid",t.touched="data-touched",t.dirty="data-dirty",t.filled="data-filled",t.focused="data-focused",t);var B=e.i(220308);function $(e){return i.useMemo(()=>({checked:t=>e.indeterminate?{}:t?{[P.checked]:""}:{[P.unchecked]:""},...B.fieldValidityMapping}),[e.indeterminate])}var O=e.i(597849),W=e.i(541126),A=e.i(943891),L=e.i(616117),V=e.i(716532),K=e.i(945656),D=e.i(752814),H=e.i(482691),U=e.i(536735);function q(e,t,s,a=!0,r){let[n,l]=i.useState(),d=(0,W.useBaseUiId)(r?`${r}-label`:void 0),c=e??t??n;return(0,I.useIsoLayoutEffect)(()=>{let i=e||t||!a?void 0:function(e,t){let s=function(e){if(!e)return;let t=e.parentElement;if(t&&"LABEL"===t.tagName)return t;let s=e.id;if(s){let t=e.nextElementSibling;if(t&&t.htmlFor===s)return t}let a=e.labels;return a&&a[0]}(e);if(s)return!s.id&&t&&(s.id=t),s.id||void 0}(s.current,d);n!==i&&l(i)}),c}var G=e.i(9441),J=e.i(398258);let Y=i.createContext(void 0);var Q=e.i(211752),Z=e.i(857504),X=e.i(983012);let ee=i.forwardRef(function(e,t){let{checked:s,className:r,defaultChecked:n=!1,"aria-labelledby":l,disabled:d=!1,form:c,id:o,indeterminate:u=!1,inputRef:m,name:x,onCheckedChange:h,parent:p=!1,readOnly:f=!1,render:v,required:g=!1,uncheckedValue:j,value:b,nativeButton:k=!1,style:y,...N}=e,{clearErrors:w}=(0,H.useFormContext)(),{disabled:C,name:E,setDirty:S,setFilled:P,setFocused:B,setTouched:J,state:ee,validationMode:et,validityData:es,shouldValidateOnChange:ea,validation:ei}=(0,V.useFieldRootContext)(),er=(0,D.useFieldItemContext)(),{labelId:en,controlId:el,registerControlId:ed,getDescriptionProps:ec}=(0,U.useLabelableContext)(),eo=(0,G.useCheckboxGroupContext)(),eu=eo?.parent,em=eu&&eo.allValues,ex=C||er.disabled||eo?.disabled||d,eh=E??x,ep=b??eh,ef=(0,W.useBaseUiId)(),ev=(0,W.useBaseUiId)(),eg=el;em?eg=p?ev:`${eu.id}-${ep}`:o&&(eg=o);let ej={};em&&(p?ej=eo.parent.getParentProps():ep&&(ej=eo.parent.getChildProps(ep)));let eb=(0,R.useStableCallback)(h),{checked:ek=s,indeterminate:ey=u,onCheckedChange:eN,...ew}=ej,eC=eo?.value,eE=eo?.setValue,eS=eo?.defaultValue,eT=i.useRef(null),eM=(0,z.useRefWithInit)(()=>Symbol("checkbox-control")),eR=i.useRef(!1),{getButtonProps:eI,buttonRef:e_}=(0,L.useButton)({disabled:ex,native:k}),ez=eo?.validation??ei,[eF,eP]=(0,M.useControlled)({controlled:ep&&eC&&!p?eC.includes(ep):ek,default:ep&&eS&&!p?eS.includes(ep):n,name:"Checkbox",state:"checked"});(0,I.useIsoLayoutEffect)(()=>{ed!==T.NOOP&&(eR.current=!0,ed(eM.current,eg))},[eg,eo,ed,p,eM]),i.useEffect(()=>{let e=eM.current;return()=>{eR.current&&ed!==T.NOOP&&(eR.current=!1,ed(e,void 0))}},[ed,eM]),(0,K.useRegisterFieldControl)(eT,{enabled:!eo,id:ef,value:eF});let eB=i.useRef(null),e$=(0,_.useMergedRefs)(m,eB,ez.inputRef),eO=q(l,en,eB,!k,eg??void 0);(0,I.useIsoLayoutEffect)(()=>{eB.current&&(eB.current.indeterminate=ey,eF&&P(!0))},[eF,ey,P]),(0,X.useValueChanged)(eF,()=>{(!eo||p)&&(w(eh),P(eF),S(eF!==es.initialValue),ea()?ez.commit(eF):ez.commit(eF,!0))});let eW=(0,A.mergeProps)({checked:eF,disabled:ex,form:c,name:p?void 0:eh,id:k?void 0:eg??void 0,required:g,ref:e$,style:eh?F.visuallyHiddenInput:F.visuallyHidden,tabIndex:-1,type:"checkbox","aria-hidden":!0,onChange(e){if(e.nativeEvent.defaultPrevented)return;if(f)return void e.preventDefault();let t=e.currentTarget.checked,s=(0,Q.createChangeEventDetails)(Z.REASONS.none,e.nativeEvent);eN?.(t,s),eb(t,s),!s.isCanceled&&(eP(t),ep&&eC&&eE&&!p&&!em&&eE(t?[...eC,ep]:eC.filter(e=>e!==ep),s))},onFocus(){eT.current?.focus()}},void 0!==b?{value:(eo?eF&&b:b)||""}:T.EMPTY_OBJECT,ec,eo?ez.getValidationProps:ez.getInputValidationProps),eA=em?!!ek:eF,eL=em&&ey||u;i.useEffect(()=>{if(!eu||!ep)return;let e=eu.disabledStatesRef.current;return e.set(ep,ex),()=>{e.delete(ep)}},[eu,ex,ep]);let eV=i.useMemo(()=>({...ee,checked:eA,disabled:ex,readOnly:f,required:g,indeterminate:eL}),[ee,eA,ex,f,g,eL]),eK=$(eV),eD=(0,O.useRenderElement)("span",e,{state:eV,ref:[e_,eT,t,eo?.registerControlRef],props:[{id:k?eg??void 0:ef,role:"checkbox","aria-checked":ey?"mixed":eF,"aria-readonly":f||void 0,"aria-required":g||void 0,"aria-labelledby":eO,"data-parent":p?"":void 0,onFocus(){B(!0)},onBlur(){let e=eB.current;e&&(J(!0),B(!1),"onBlur"===et&&ez.commit(eo?eC:e.checked))},onClick(e){f||ex||(e.preventDefault(),eB.current?.dispatchEvent(new PointerEvent("click",{bubbles:!0,shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey})))}},ec,ez.getValidationProps,N,ew,eI],stateAttributesMapping:eK});return(0,a.jsxs)(Y.Provider,{value:eV,children:[eD,!eF&&!eo&&eh&&!p&&void 0!==j&&(0,a.jsx)("input",{type:"hidden",form:c,name:eh,value:j}),(0,a.jsx)("input",{...eW,suppressHydrationWarning:!0})]})});var et=e.i(570868),es=e.i(221995),ea=e.i(106580);let ei=i.forwardRef(function(e,t){let{render:s,className:a,style:r,keepMounted:n=!1,...l}=e,d=function(){let e=i.useContext(Y);if(void 0===e)throw Error((0,J.default)(14));return e}(),c=d.checked||d.indeterminate,{mounted:o,transitionStatus:u,setMounted:m}=(0,es.useTransitionStatus)(c),x=i.useRef(null),h={...d,transitionStatus:u};(0,et.useOpenChangeComplete)({open:c,ref:x,onComplete(){c||m(!1)}});let p=$(d),f=i.useMemo(()=>({...p,...ea.transitionStatusMapping,...B.fieldValidityMapping}),[p]),v=(0,O.useRenderElement)("span",e,{ref:[t,x],state:h,stateAttributesMapping:f,props:l});return n||o?v:null});e.s(["Indicator",0,ei,"Root",0,ee],574898);var er=e.i(574898),er=er,en=e.i(982141);function el({className:e,...t}){return(0,a.jsx)(er.Root,{"data-slot":"checkbox",className:(0,n.cn)("peer relative flex size-4 shrink-0 items-center justify-center rounded-lg border border-input transition-colors outline-none group-has-disabled/field:opacity-50 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary",e),...t,children:(0,a.jsx)(er.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none [&>svg]:size-3.5",children:(0,a.jsx)(en.CheckIcon,{})})})}e.s([],869625),e.i(869625);let ed=i.createContext(void 0),ec=((s={}).checked="data-checked",s.unchecked="data-unchecked",s.disabled="data-disabled",s.readonly="data-readonly",s.required="data-required",s.valid="data-valid",s.invalid="data-invalid",s.touched="data-touched",s.dirty="data-dirty",s.filled="data-filled",s.focused="data-focused",s),eo={...B.fieldValidityMapping,checked:e=>e?{[ec.checked]:""}:{[ec.unchecked]:""}};var eu=e.i(734525);let em=i.forwardRef(function(e,t){let{checked:s,className:r,defaultChecked:n,"aria-labelledby":l,form:d,id:c,inputRef:o,name:u,nativeButton:m=!1,onCheckedChange:x,readOnly:h=!1,required:p=!1,disabled:f=!1,render:v,uncheckedValue:g,value:j,style:b,...k}=e,{clearErrors:y}=(0,H.useFormContext)(),{state:N,setTouched:w,setDirty:C,validityData:E,setFilled:S,setFocused:z,shouldValidateOnChange:P,validationMode:B,disabled:$,name:D,validation:G}=(0,V.useFieldRootContext)(),{labelId:J}=(0,U.useLabelableContext)(),Y=$||f,ee=D??u,et=(0,R.useStableCallback)(x),es=i.useRef(null),ea=(0,_.useMergedRefs)(es,o,G.inputRef),ei=i.useRef(null),er=(0,W.useBaseUiId)(),en=(0,eu.useLabelableId)({id:c,implicit:!1,controlRef:ei}),el=m?void 0:en,[ec,em]=(0,M.useControlled)({controlled:s,default:!!n,name:"Switch",state:"checked"});(0,K.useRegisterFieldControl)(ei,{id:er,value:ec}),(0,I.useIsoLayoutEffect)(()=>{es.current&&S(es.current.checked)},[es,S]),(0,X.useValueChanged)(ec,()=>{y(ee),C(ec!==E.initialValue),S(ec),P()?G.commit(ec):G.commit(ec,!0)});let{getButtonProps:ex,buttonRef:eh}=(0,L.useButton)({disabled:Y,native:m}),ep=q(l,J,es,!m,el),ef=i.useMemo(()=>(0,A.mergeProps)({checked:ec,disabled:Y,form:d,id:el,name:ee,required:p,style:ee?F.visuallyHiddenInput:F.visuallyHidden,tabIndex:-1,type:"checkbox","aria-hidden":!0,ref:ea,onChange(e){if(e.nativeEvent.defaultPrevented)return;if(h)return void e.preventDefault();let t=e.currentTarget.checked,s=(0,Q.createChangeEventDetails)(Z.REASONS.none,e.nativeEvent);et?.(t,s),s.isCanceled||em(t)},onFocus(){ei.current?.focus()}},G.getInputValidationProps,void 0!==j?{value:j}:T.EMPTY_OBJECT),[ec,Y,d,ea,el,ee,et,h,p,em,G,j]),ev=i.useMemo(()=>({...N,checked:ec,disabled:Y,readOnly:h,required:p}),[N,ec,Y,h,p]),eg=(0,O.useRenderElement)("span",e,{state:ev,ref:[t,ei,eh],props:[{id:m?en:er,role:"switch","aria-checked":ec,"aria-readonly":h||void 0,"aria-required":p||void 0,"aria-labelledby":ep,onFocus(){Y||z(!0)},onBlur(){let e=es.current;e&&!Y&&(w(!0),z(!1),"onBlur"===B&&G.commit(e.checked))},onClick(e){h||Y||(e.preventDefault(),es.current?.dispatchEvent(new PointerEvent("click",{bubbles:!0,shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey})))}},G.getValidationProps,k,ex],stateAttributesMapping:eo});return(0,a.jsxs)(ed.Provider,{value:ev,children:[eg,!ec&&ee&&void 0!==g&&(0,a.jsx)("input",{type:"hidden",form:d,name:ee,value:g}),(0,a.jsx)("input",{...ef,suppressHydrationWarning:!0})]})}),ex=i.forwardRef(function(e,t){let{render:s,className:a,style:r,...n}=e,{state:l}=(0,V.useFieldRootContext)(),d=function(){let e=i.useContext(ed);if(void 0===e)throw Error((0,J.default)(63));return e}(),c={...l,...d};return(0,O.useRenderElement)("span",e,{state:c,ref:t,stateAttributesMapping:eo,props:n})});e.s(["Root",0,em,"Thumb",0,ex],81779);var eh=e.i(81779),eh=eh;function ep({className:e,size:t="default",...s}){return(0,a.jsx)(eh.Root,{"data-slot":"switch","data-size":t,className:(0,n.cn)("peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:bg-primary data-unchecked:bg-input dark:data-unchecked:bg-input/80 data-disabled:cursor-not-allowed data-disabled:opacity-50",e),...s,children:(0,a.jsx)(eh.Thumb,{"data-slot":"switch-thumb",className:"pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] dark:data-checked:bg-primary-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-unchecked:bg-foreground"})})}var ef=e.i(980630);function ev(){let[e,t]=(0,i.useState)(!1),[s,r]=(0,i.useState)([...ef.NOTIFICATION_EVENTS]),[n,d]=(0,i.useState)(!0),[c,o]=(0,i.useState)(!1);(0,i.useEffect)(()=>{d((0,ef.isNotificationSupported)()),t((0,ef.getNotificationEnabled)()),r((0,ef.getNotificationEvents)()),(0,ef.isNotificationSupported)()&&o("denied"===Notification.permission)},[]);let u=async e=>{if(!e){t(!1),(0,ef.setNotificationEnabled)(!1);return}await (0,ef.requestNotificationPermission)()?(t(!0),(0,ef.setNotificationEnabled)(!0)):(o(!0),l.toast.error("Notification permission denied. Please enable it in browser settings."))};return n?(0,a.jsx)("div",{className:"space-y-6",children:(0,a.jsxs)("section",{className:"space-y-4",children:[(0,a.jsx)("h2",{className:"text-sm font-medium",children:"Browser Notifications"}),(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{className:"space-y-0.5",children:[(0,a.jsx)("p",{className:"text-sm",children:"Enable notifications"}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:"Get notified when tasks finish while the tab is in the background"})]}),(0,a.jsx)(ep,{checked:e,onCheckedChange:u,disabled:c&&!e})]}),c&&!e&&(0,a.jsx)("p",{className:"text-xs text-destructive",children:"Notification permission was denied. Please allow it in your browser settings."}),e&&(0,a.jsxs)("div",{className:"space-y-2 pl-0.5",children:[(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:"Notify me when:"}),ef.NOTIFICATION_EVENTS.map(e=>(0,a.jsxs)("label",{className:"flex items-center gap-2 text-sm cursor-pointer select-none",children:[(0,a.jsx)(el,{checked:s.includes(e),onCheckedChange:()=>{r(t=>{let s=t.includes(e)?t.filter(t=>t!==e):[...t,e];return(0,ef.setNotificationEvents)(s),s})}}),ef.NOTIFICATION_EVENT_LABELS[e]]},e))]})]})]})}):(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:"Your browser does not support notifications."})}var eg=e.i(355578),ej=e.i(934351),eb=e.i(875061);let ek=(0,w.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 ey=e.i(255450),eN=e.i(900559),ew=e.i(180315),eC=e.i(609049);let eE=(0,w.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 eS({icon:e,label:t,value:s,sub:i}){return(0,a.jsx)(ej.Card,{size:"sm",children:(0,a.jsxs)(ej.CardContent,{className:"flex items-center gap-3",children:[(0,a.jsx)("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary",children:(0,a.jsx)(e,{className:"size-4"})}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-1",children:[(0,a.jsx)("p",{className:"text-2xl font-semibold leading-none tracking-tight",children:s}),i&&(0,a.jsx)(eb.Badge,{variant:"secondary",className:"text-[10px] px-1.5 h-4 font-normal",children:i})]}),(0,a.jsx)("p",{className:"mt-1 text-xs text-muted-foreground truncate",children:t})]})]})})}function eT({agents:e,runtimes:t,activeTaskCounts:s,overview:i}){let r=new Map;for(let e of t){let t=e.daemon_id??e.id;r.set(t,r.get(t)||"online"===e.status)}let n=r.size,l=[...r.values()].filter(Boolean).length,d=Object.values(s).reduce((e,t)=>e+t,0),c=e.filter(e=>{let s=t.find(t=>t.id===e.runtime_id);return s?.status==="online"}).length;return(0,a.jsxs)("div",{className:"grid gap-3 grid-cols-2 sm:grid-cols-3 lg:grid-cols-6",children:[(0,a.jsx)(eS,{icon:eC.Monitor,label:"Machines",value:`${l}/${n}`,sub:"online"}),(0,a.jsx)(eS,{icon:ek,label:"Agents",value:e.length,sub:`${c} online`}),(0,a.jsx)(eS,{icon:ew.Users,label:"Members",value:i.members.length,sub:i.pending_invites>0?`${i.pending_invites} pending`:void 0}),(0,a.jsx)(eS,{icon:eE,label:"Active Tasks",value:d,sub:i.task_stats.queued>0?`${i.task_stats.queued} queued`:void 0}),(0,a.jsx)(eS,{icon:eN.Send,label:"Emails Sent",value:i.email_stats.outbound,sub:`${i.email_stats.unread} unread`}),(0,a.jsx)(eS,{icon:ey.Mail,label:"Custom Emails",value:i.email_accounts.length})]})}function eM({overview:e}){let{completed:t,failed:s,cancelled:i,queued:r,stale:n}=e.task_stats,l=t+s,d=l>0?(s/l*100).toFixed(1):"0";return(0,a.jsxs)(ej.Card,{children:[(0,a.jsx)(ej.CardHeader,{children:(0,a.jsx)(ej.CardTitle,{children:"Task Health (Today)"})}),(0,a.jsx)(ej.CardContent,{children:(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,a.jsx)(eR,{label:"Completed",value:t}),(0,a.jsx)(eR,{label:"Failed",value:s,className:s>0?"text-destructive":void 0}),(0,a.jsx)(eR,{label:"Cancelled",value:i}),(0,a.jsx)(eR,{label:"Failure Rate",value:`${d}%`,className:Number(d)>10?"text-destructive":void 0}),(0,a.jsx)(eR,{label:"Queue Backlog",value:r,className:r>10?"text-amber-500":void 0}),(0,a.jsx)(eR,{label:"Stale Tasks",value:n,className:n>0?"text-destructive":void 0})]})})]})}function eR({label:e,value:t,className:s}){return(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:`text-xl font-semibold ${s??""}`,children:t}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:e})]})}var eI=e.i(329686);function e_({overview:e,agents:t}){let{inbound:s,outbound:i,unread:r,rejected:n}=e.email_stats,l=new Map(t.map(e=>[e.id,e.name]));return(0,a.jsxs)(ej.Card,{children:[(0,a.jsx)(ej.CardHeader,{children:(0,a.jsx)(ej.CardTitle,{children:"Email Summary"})}),(0,a.jsxs)(ej.CardContent,{className:"space-y-4",children:[(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-xl font-semibold",children:s}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:"Received"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-xl font-semibold",children:i}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:"Sent"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:`text-xl font-semibold ${r>0?"text-primary":""}`,children:r}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:"Unread"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:`text-xl font-semibold ${n>0?"text-amber-500":""}`,children:n}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:"Untrust"})]})]}),e.email_accounts.length>0&&(0,a.jsxs)("div",{className:"space-y-2 pt-2 border-t border-border/50",children:[(0,a.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:"Custom Mailboxes"}),e.email_accounts.map(e=>(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2 text-xs",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,a.jsxs)(eI.Tooltip,{children:[(0,a.jsx)(eI.TooltipTrigger,{render:(0,a.jsx)("span",{className:`size-1.5 shrink-0 rounded-full ${"active"===e.status?"bg-emerald-500":"bg-destructive"}`})}),(0,a.jsx)(eI.TooltipContent,{side:"top",children:"active"===e.status?"Active":`Error: ${e.error_message||"inactive"}`})]}),(0,a.jsx)("span",{className:"truncate",children:e.email_address})]}),(0,a.jsx)("span",{className:"text-muted-foreground shrink-0",children:l.get(e.agent_id)??"—"})]},e.id))]})]})]})}let ez=(0,w.default)("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);function eF({runtimes:e,agents:t}){let s=(0,d.useRouter)(),{slug:i}=(0,c.useWorkspace)(),r=new Map;for(let t of e){let e=t.daemon_id??t.id;r.has(e)||r.set(e,{runtimes:[],deviceInfo:t.device_info??""}),r.get(e).runtimes.push(t)}let n=[...r.entries()];return 0===n.length?(0,a.jsxs)(ej.Card,{children:[(0,a.jsxs)(ej.CardHeader,{children:[(0,a.jsx)(ej.CardTitle,{children:"Machines"}),(0,a.jsx)(ej.CardAction,{children:(0,a.jsx)("button",{type:"button",onClick:()=>s.push(`/w/${i}/runtimes`),className:"text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:(0,a.jsx)(ez,{className:"size-4"})})})]}),(0,a.jsx)(ej.CardContent,{children:(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:"No machines connected."})})]}):(0,a.jsxs)(ej.Card,{children:[(0,a.jsx)(ej.CardHeader,{children:(0,a.jsx)(ej.CardTitle,{children:"Machines"})}),(0,a.jsx)(ej.CardContent,{className:"space-y-3",children:n.map(([e,s])=>{let i=s.runtimes.some(e=>"online"===e.status),r=s.runtimes.map(e=>e.last_seen_at).filter(Boolean).sort().reverse()[0],n=t.filter(e=>s.runtimes.some(t=>t.id===e.runtime_id)),l=s.runtimes.some(e=>e.pending_update_version),d=s.runtimes.find(e=>e.pending_update_version)?.pending_update_version;return(0,a.jsxs)("div",{className:"flex items-start gap-3 text-xs",children:[(0,a.jsxs)(eI.Tooltip,{children:[(0,a.jsx)(eI.TooltipTrigger,{render:(0,a.jsx)("span",{className:`mt-1 size-2 shrink-0 rounded-full ${i?"bg-emerald-500":"bg-muted-foreground/30"}`})}),(0,a.jsx)(eI.TooltipContent,{side:"top",children:i?"Online":"Offline"})]}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"font-medium truncate",children:s.deviceInfo||e.slice(0,12)}),l&&(0,a.jsxs)(eI.Tooltip,{children:[(0,a.jsx)(eI.TooltipTrigger,{render:(0,a.jsx)("span",{children:(0,a.jsx)(eb.Badge,{variant:"outline",className:"text-[10px] px-1.5 py-0 text-amber-500 border-amber-500/30",children:"update"})})}),(0,a.jsxs)(eI.TooltipContent,{side:"top",children:["Pending update to v",d]})]})]}),(0,a.jsxs)("div",{className:"text-muted-foreground mt-0.5",children:[n.length>0?n.map(e=>e.name).join(", "):"No agents"," · ",function(e){if(!e)return"never";let t=Math.floor((Date.now()-new Date(e).getTime())/1e3);if(t<60)return`${t}s ago`;let s=Math.floor(t/60);if(s<60)return`${s}m ago`;let a=Math.floor(s/60);return a<24?`${a}h ago`:`${Math.floor(a/24)}d ago`}(r??null)]})]})]},e)})})]})}function eP({overview:e}){let t=(0,d.useRouter)(),{slug:s}=(0,c.useWorkspace)(),{members:i,pending_invites:r}=e;return(0,a.jsxs)(ej.Card,{children:[(0,a.jsxs)(ej.CardHeader,{children:[(0,a.jsx)(ej.CardAction,{children:(0,a.jsx)("button",{type:"button",onClick:()=>t.push(`/w/${s}/settings`),className:"text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:(0,a.jsx)(ez,{className:"size-4"})})}),(0,a.jsxs)(ej.CardTitle,{children:["Team",r>0&&(0,a.jsxs)("span",{className:"ml-2 text-xs text-muted-foreground font-normal",children:["(",r," pending invite",r>1?"s":"",")"]})]})]}),(0,a.jsx)(ej.CardContent,{className:"p-0",children:(0,a.jsx)("div",{className:"divide-y divide-border/50",children:[...i].sort((e,t)=>"owner"===e.role?-1:+("owner"===t.role)).map(e=>(0,a.jsxs)("div",{className:"flex items-center gap-3 px-4 py-2.5",children:[e.image?(0,a.jsx)("img",{src:e.image,alt:e.name,className:"size-7 rounded-full shrink-0"}):(0,a.jsx)("div",{className:"flex size-7 shrink-0 items-center justify-center rounded-full bg-secondary text-xs font-medium",children:(e.name||e.email).charAt(0).toUpperCase()}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("span",{className:"text-sm font-medium truncate block",children:e.name||e.email}),e.name&&(0,a.jsx)("span",{className:"text-xs text-muted-foreground truncate block",children:e.email})]}),(0,a.jsx)(eb.Badge,{variant:"owner"===e.role?"default":"secondary",className:"text-[10px] px-1.5 py-0 shrink-0",children:e.role})]},e.id))})})]})}function eB(){let{agents:e,runtimes:t,loading:s,activeTaskCounts:r}=(0,eg.useAgentContext)(),{workspaceId:n}=(0,c.useWorkspace)(),[l,d]=(0,i.useState)(null),[o,m]=(0,i.useState)(!1);return((0,i.useEffect)(()=>{if(s)return;let e=!1;return m(!0),(0,u.getWorkspaceOverview)(n).then(t=>{e||d(t)}).catch(()=>{}).finally(()=>{e||m(!1)}),()=>{e=!0}},[s,n]),o||!l)?(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)(p.Skeleton,{className:"h-44 rounded-xl"}),(0,a.jsx)(p.Skeleton,{className:"h-44 rounded-xl"}),(0,a.jsx)(p.Skeleton,{className:"h-44 rounded-xl"}),(0,a.jsx)(p.Skeleton,{className:"h-44 rounded-xl"})]}):(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)(eT,{agents:e,runtimes:t,activeTaskCounts:r,overview:l}),(0,a.jsxs)("div",{className:"grid gap-4 lg:grid-cols-2",children:[(0,a.jsx)(eM,{overview:l}),(0,a.jsx)(e_,{overview:l,agents:e})]}),(0,a.jsxs)("div",{className:"grid gap-4 lg:grid-cols-2",children:[(0,a.jsx)(eF,{runtimes:t,agents:e}),(0,a.jsx)(eP,{overview:l})]})]})}let e$=[{id:"general",label:"General"},{id:"instruction",label:"Global Instruction"},{id:"notifications",label:"Notifications"},{id:"members",label:"Members"},{id:"usages",label:"Usages"}];e.s(["default",0,function(){let[e,t]=(0,i.useState)("general");return(0,a.jsxs)(a.Fragment,{children:[(0,a.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,a.jsx)("div",{className:"flex items-center gap-3 min-w-0",children:(0,a.jsx)("h1",{className:"text-sm font-medium",children:"Settings"})})}),(0,a.jsxs)("div",{className:"flex flex-1 min-h-0",children:[(0,a.jsx)("nav",{className:"w-48 shrink-0 border-r border-border/50 py-3 px-2 hidden md:block",children:e$.map(s=>(0,a.jsx)("button",{onClick:()=>t(s.id),className:(0,n.cn)("w-full rounded-md px-2.5 py-1.5 text-left text-sm transition-colors",e===s.id?"bg-accent text-foreground font-medium":"text-muted-foreground hover:bg-accent/50 hover:text-foreground"),children:s.label},s.id))}),(0,a.jsxs)("div",{className:"flex-1 min-w-0 flex flex-col",children:[(0,a.jsx)("div",{className:"px-4 pt-2 md:hidden",children:(0,a.jsx)(r.Tabs,{className:"items-center",value:e,onValueChange:e=>t(e),children:(0,a.jsx)(r.TabsList,{className:"h-auto gap-1",children:e$.map(e=>(0,a.jsx)(r.TabsTrigger,{value:e.id,children:e.label},e.id))})})}),(0,a.jsx)("div",{className:(0,n.cn)("flex-1 overflow-y-auto thin-scrollbar","instruction"!==e&&"px-5 py-5"),children:"instruction"===e?(0,a.jsx)(b,{}):"usages"===e?(0,a.jsx)(eB,{}):(0,a.jsxs)("div",{className:"mx-auto max-w-md",children:["general"===e&&(0,a.jsx)(v,{}),"notifications"===e&&(0,a.jsx)(ev,{}),"members"===e&&(0,a.jsx)(S,{})]})})]})]})]})}],716032)}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,716032,e=>{"use strict";var t,s,a=e.i(368075),i=e.i(298699),r=e.i(255334),n=e.i(613349),l=e.i(880932),d=e.i(208020),c=e.i(500324),o=e.i(23055),u=e.i(222862),m=e.i(186339),x=e.i(903477),h=e.i(473131),p=e.i(728886),f=e.i(553617);function v(){let{workspaceId:e,slug:t}=(0,c.useWorkspace)(),s=(0,o.useSession)(),r=(0,d.useRouter)(),[n,v]=(0,i.useState)(""),[g,j]=(0,i.useState)(!0),[b,k]=(0,i.useState)(""),[y,N]=(0,i.useState)(""),[w,C]=(0,i.useState)(""),[E,S]=(0,i.useState)(""),[T,M]=(0,i.useState)(!1),[R,I]=(0,i.useState)({}),[_,z]=(0,i.useState)(""),[F,P]=(0,i.useState)(!1),B=(0,i.useCallback)(async()=>{j(!0);try{let t=s.data?.user?.id,[a,i]=await Promise.all([(0,u.listMembers)(e),(0,u.listWorkspaces)()]),r=a.find(e=>e.user_id===t);v(r?.role??"");let n=i.find(t=>t.id===e);n&&(k(n.name),N(n.slug),C(n.name),S(n.slug))}catch(e){l.toast.error(e instanceof Error?e.message:"Failed to load workspace info")}finally{j(!1)}},[e,s.data?.user?.id]);(0,i.useEffect)(()=>{s.data&&B()},[B,s.data]);let $=b!==w||y!==E,A=async()=>{let s=(0,f.validateWorkspaceForm)({name:b,slug:y});if(I(s),!(0,f.hasWorkspaceFormErrors)(s)){M(!0);try{let s=await (0,u.updateWorkspace)(e,{name:b.trim(),slug:y.trim()});C(s.name),S(s.slug),l.toast.success("Workspace updated"),s.slug!==t&&r.replace(`/w/${s.slug}/settings`)}catch(e){l.toast.error(e instanceof Error?e.message:"Failed to update workspace")}finally{M(!1)}}},O=async()=>{if(_===w){P(!0);try{await (0,u.deleteWorkspace)(e,w),l.toast.success("Workspace deleted"),r.replace("/workspaces")}catch(e){l.toast.error(e instanceof Error?e.message:"Failed to delete workspace")}finally{P(!1)}}};return g?(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)(p.Skeleton,{className:"h-4 w-32"}),(0,a.jsx)(p.Skeleton,{className:"h-10 w-full"}),(0,a.jsx)(p.Skeleton,{className:"h-10 w-full"})]}):"owner"!==n?(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:"Only workspace owners can edit workspace settings."}):(0,a.jsxs)("div",{className:"space-y-10",children:[(0,a.jsxs)("section",{className:"space-y-4",children:[(0,a.jsx)("h2",{className:"text-sm font-medium",children:"Workspace"}),(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsx)(h.Label,{htmlFor:"workspace-name",children:"Name"}),(0,a.jsx)(x.Input,{id:"workspace-name",value:b,onChange:e=>{let t=e.target.value;k(t),R.name&&t.trim()&&I(e=>({...e,name:void 0}))},placeholder:"Workspace name","aria-invalid":!!R.name,"aria-describedby":R.name?"workspace-name-error":void 0}),R.name&&(0,a.jsx)("p",{id:"workspace-name-error",className:"text-xs text-destructive",children:R.name})]}),(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsx)(h.Label,{htmlFor:"workspace-slug",children:"Slug"}),(0,a.jsx)(x.Input,{id:"workspace-slug",value:y,onChange:e=>{let t=e.target.value;N(t),R.slug&&t.trim()&&I(e=>({...e,slug:void 0}))},placeholder:"workspace-slug","aria-invalid":!!R.slug,"aria-describedby":R.slug?"workspace-slug-error":void 0}),R.slug&&(0,a.jsx)("p",{id:"workspace-slug-error",className:"text-xs text-destructive",children:R.slug}),(0,a.jsxs)("p",{className:"text-xs text-muted-foreground/70",children:["Used in URLs: /w/",y,"/"]})]})]}),(0,a.jsx)(m.Button,{size:"sm",onClick:A,disabled:!$||T,children:T?"Saving…":"Save"})]}),(0,a.jsxs)("section",{className:"space-y-4",children:[(0,a.jsx)("h2",{className:"text-sm font-medium text-destructive",children:"Danger Zone"}),(0,a.jsxs)("div",{className:"rounded-md border border-destructive/30 p-4 space-y-3",children:[(0,a.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,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsxs)(h.Label,{htmlFor:"delete-confirm",className:"text-xs",children:["Type ",(0,a.jsx)("span",{className:"font-medium text-foreground",children:w})," to confirm"]}),(0,a.jsx)(x.Input,{id:"delete-confirm",value:_,onChange:e=>z(e.target.value),placeholder:w})]}),(0,a.jsx)(m.Button,{size:"sm",variant:"destructive",onClick:O,disabled:_!==w||F,children:F?"Deleting…":"Delete Workspace"})]})]})]})}var g=e.i(740513);function j({ratio:e,size:t=16,stroke:s=1.5}){let i=(t-s)/2,r=2*Math.PI*i,l=(e<=0?0:e>=1?1:Math.log1p(99*e)/Math.log(100))*r;return(0,a.jsxs)("svg",{width:t,height:t,className:"shrink-0 -rotate-90","aria-hidden":!0,children:[(0,a.jsx)("circle",{cx:t/2,cy:t/2,r:i,fill:"none",stroke:"currentColor",strokeWidth:s,className:"text-border"}),(0,a.jsx)("circle",{cx:t/2,cy:t/2,r:i,fill:"none",stroke:"currentColor",strokeWidth:s,strokeDasharray:`${l} ${r-l}`,strokeLinecap:"round",className:(0,n.cn)("transition-all duration-300",e>.9?"text-destructive/70":e>.7?"text-yellow-500/50":"text-muted-foreground/30")})]})}function b(){let{workspaceId:e}=(0,c.useWorkspace)(),[t,s]=(0,i.useState)(""),[r,n]=(0,i.useState)(""),[d,o]=(0,i.useState)(!0),m=(0,i.useRef)(t);(0,i.useEffect)(()=>{m.current=t},[t]);let x=(0,i.useRef)(r);(0,i.useEffect)(()=>{x.current=r},[r]);let h=(0,i.useRef)(null),f=(0,i.useRef)(!1),v=(0,i.useCallback)(async()=>{o(!0);try{let t=await (0,u.getMemberMe)(e);s(t.global_instruction),n(t.global_instruction)}catch(e){l.toast.error(e instanceof Error?e.message:"Failed to load settings")}finally{o(!1)}},[e]);(0,i.useEffect)(()=>{v()},[v]);let b=(0,i.useCallback)(async()=>{if(f.current)return;let t=m.current;if(t!==x.current){f.current=!0;try{let s=await (0,u.updateMemberMe)(e,t);n(s.global_instruction)}catch(e){l.toast.error(e instanceof Error?e.message:"Failed to save")}finally{f.current=!1}}},[e]),k=(0,i.useCallback)(()=>{h.current&&clearTimeout(h.current),h.current=setTimeout(b,500)},[b]),y=(0,i.useCallback)(e=>{s(e),k()},[k]);(0,i.useEffect)(()=>{let t=()=>{if(h.current&&clearTimeout(h.current),m.current!==x.current){let t=new URLSearchParams({workspace_id:e});fetch(`/api/members/me?${t}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({global_instruction:m.current}),keepalive:!0})}};return window.addEventListener("beforeunload",t),()=>window.removeEventListener("beforeunload",t)},[e]),(0,i.useEffect)(()=>()=>{h.current&&clearTimeout(h.current),m.current!==x.current&&b()},[b]);let N=t.length/5e4;return d?(0,a.jsxs)("div",{className:"px-6 py-6 space-y-4",children:[(0,a.jsx)(p.Skeleton,{className:"h-4 w-48"}),(0,a.jsx)(p.Skeleton,{className:"h-40 w-full"})]}):(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[(0,a.jsx)("div",{className:"flex-1 px-6 pt-4 pb-4",children:(0,a.jsx)(g.MarkdownEditor,{value:t,onChange:y,placeholder:"Write instructions that every agent you own will follow...",minHeight:"calc(100vh - 240px)",contentType:"markdown",variant:"seamless"})}),(0,a.jsxs)("div",{className:"flex items-center gap-2 px-6 py-3",children:[(0,a.jsx)(j,{ratio:N}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:"This instruction is prepended to every agent's individual instruction."})]})]})}var k=e.i(361268),y=e.i(30187),N=e.i(877942),w=e.i(706875);let C=(0,w.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"}]]);function E(e){return`${window.location.origin}/invite/${e}`}function S(){let{workspaceId:e}=(0,c.useWorkspace)(),t=(0,o.useSession)(),s=t.data?.user?.id,[r,d]=(0,i.useState)([]),[x,h]=(0,i.useState)([]),[f,v]=(0,i.useState)(!0),[g,j]=(0,i.useState)(!1),b=r.find(e=>e.user_id===s)?.role==="owner",w=(0,i.useCallback)(async()=>{v(!0);try{let[t,s]=await Promise.all([(0,u.listMembers)(e),(0,u.listInvites)(e).catch(()=>[])]);d(t),h(s)}catch(e){l.toast.error(e instanceof Error?e.message:"Failed to load members")}finally{v(!1)}},[e]);(0,i.useEffect)(()=>{w()},[w]);let S=async()=>{j(!0);try{let t=await (0,u.createInvite)(e);h(e=>[...e,t]);let s=E(t.token);await navigator.clipboard.writeText(s),l.toast.success("Invite link copied to clipboard")}catch(e){l.toast.error(e instanceof Error?e.message:"Failed to generate invite")}finally{j(!1)}},T=async e=>{let t=E(e);try{await navigator.clipboard.writeText(t),l.toast.success("Invite link copied")}catch{l.toast.error("Failed to copy link")}},M=async t=>{try{await (0,u.revokeInvite)(e,t),h(e=>e.filter(e=>e.id!==t)),l.toast.success("Invite revoked")}catch(e){l.toast.error(e instanceof Error?e.message:"Failed to revoke invite")}},R=async t=>{try{await (0,u.removeMember)(e,t),d(e=>e.filter(e=>e.id!==t)),l.toast.success("Member removed")}catch(e){l.toast.error(e instanceof Error?e.message:"Failed to remove member")}};return f?(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)(p.Skeleton,{className:"h-4 w-24"}),(0,a.jsx)(p.Skeleton,{className:"h-10 w-full"}),(0,a.jsx)(p.Skeleton,{className:"h-10 w-full"}),(0,a.jsx)(p.Skeleton,{className:"h-4 w-24 mt-6"}),(0,a.jsx)(p.Skeleton,{className:"h-10 w-full"}),(0,a.jsx)(p.Skeleton,{className:"h-10 w-full"})]}):(0,a.jsxs)("div",{className:"space-y-8",children:[b&&(0,a.jsxs)("section",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("h2",{className:"text-sm font-medium",children:"Pending Invites"}),(0,a.jsxs)(m.Button,{size:"sm",variant:"outline",onClick:S,disabled:g,children:[(0,a.jsx)(N.Plus,{className:"size-3.5 mr-1"}),g?"Generating…":"Generate invite link"]})]}),0===x.length?(0,a.jsx)("p",{className:"text-xs text-muted-foreground py-2",children:"No active invite links. Generate one to invite someone to this workspace."}):(0,a.jsx)("div",{className:"space-y-1.5",children:x.map(e=>{let t=new Date(e.expires_at),s=t<new Date;return(0,a.jsxs)("div",{className:"flex items-center justify-between rounded-md border border-border/50 px-3 py-2 text-xs",children:[(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsxs)("p",{className:(0,n.cn)("font-mono truncate",s&&"text-muted-foreground line-through"),children:["/invite/",e.token.slice(0,12),"…"]}),(0,a.jsx)("p",{className:(0,n.cn)("text-muted-foreground/70 mt-0.5",s&&"text-destructive/70"),children:s?"Expired":`Expires ${t.toLocaleDateString()}`})]}),(0,a.jsxs)("div",{className:"flex items-center gap-1 ml-2 shrink-0",children:[!s&&(0,a.jsx)(m.Button,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0",onClick:()=>T(e.token),title:"Copy invite link",children:(0,a.jsx)(k.Copy,{className:"size-3.5"})}),(0,a.jsx)(m.Button,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0 text-destructive hover:text-destructive",onClick:()=>M(e.id),title:"Revoke invite",children:(0,a.jsx)(y.Trash2,{className:"size-3.5"})})]})]},e.id)})})]}),(0,a.jsxs)("section",{className:"space-y-3",children:[(0,a.jsx)("h2",{className:"text-sm font-medium",children:"Members"}),(0,a.jsx)("div",{className:"space-y-1.5",children:r.map(e=>{let t=e.user_id===s,i=e.name?e.name.split(" ").map(e=>e[0]).join("").slice(0,2).toUpperCase():e.email.slice(0,2).toUpperCase();return(0,a.jsxs)("div",{className:"flex items-center gap-3 rounded-md border border-border/50 px-3 py-2",children:[(0,a.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:e.image?(0,a.jsx)("img",{src:e.image,alt:e.name,className:"size-full object-cover"}):i}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsxs)("p",{className:"text-sm font-medium truncate leading-tight",children:[e.name||e.email,t&&(0,a.jsx)("span",{className:"ml-1.5 text-xs text-muted-foreground font-normal",children:"(you)"})]}),e.name&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground truncate",children:e.email})]}),(0,a.jsx)("span",{className:(0,n.cn)("text-xs px-1.5 py-0.5 rounded shrink-0","owner"===e.role?"bg-primary/10 text-primary":"bg-muted text-muted-foreground"),children:e.role}),b&&!t&&(0,a.jsx)(m.Button,{size:"sm",variant:"ghost",className:"h-7 w-7 p-0 text-muted-foreground hover:text-destructive shrink-0",onClick:()=>R(e.id),title:"Remove member",children:(0,a.jsx)(C,{className:"size-3.5"})})]},e.id)})})]})]})}e.s([],804233),e.i(804233),e.i(459119);var T=e.i(128726),M=e.i(969183),R=e.i(773825),I=e.i(389068),_=e.i(617517),z=e.i(610580),F=e.i(81485);let P=((t={}).checked="data-checked",t.unchecked="data-unchecked",t.indeterminate="data-indeterminate",t.disabled="data-disabled",t.readonly="data-readonly",t.required="data-required",t.valid="data-valid",t.invalid="data-invalid",t.touched="data-touched",t.dirty="data-dirty",t.filled="data-filled",t.focused="data-focused",t);var B=e.i(220308);function $(e){return i.useMemo(()=>({checked:t=>e.indeterminate?{}:t?{[P.checked]:""}:{[P.unchecked]:""},...B.fieldValidityMapping}),[e.indeterminate])}var A=e.i(597849),O=e.i(541126),W=e.i(943891),L=e.i(616117),V=e.i(716532),K=e.i(945656),H=e.i(752814),U=e.i(482691),D=e.i(536735);function q(e,t,s,a=!0,r){let[n,l]=i.useState(),d=(0,O.useBaseUiId)(r?`${r}-label`:void 0),c=e??t??n;return(0,I.useIsoLayoutEffect)(()=>{let i=e||t||!a?void 0:function(e,t){let s=function(e){if(!e)return;let t=e.parentElement;if(t&&"LABEL"===t.tagName)return t;let s=e.id;if(s){let t=e.nextElementSibling;if(t&&t.htmlFor===s)return t}let a=e.labels;return a&&a[0]}(e);if(s)return!s.id&&t&&(s.id=t),s.id||void 0}(s.current,d);n!==i&&l(i)}),c}var G=e.i(9441),J=e.i(398258);let Y=i.createContext(void 0);var Q=e.i(211752),Z=e.i(857504),X=e.i(983012);let ee=i.forwardRef(function(e,t){let{checked:s,className:r,defaultChecked:n=!1,"aria-labelledby":l,disabled:d=!1,form:c,id:o,indeterminate:u=!1,inputRef:m,name:x,onCheckedChange:h,parent:p=!1,readOnly:f=!1,render:v,required:g=!1,uncheckedValue:j,value:b,nativeButton:k=!1,style:y,...N}=e,{clearErrors:w}=(0,U.useFormContext)(),{disabled:C,name:E,setDirty:S,setFilled:P,setFocused:B,setTouched:J,state:ee,validationMode:et,validityData:es,shouldValidateOnChange:ea,validation:ei}=(0,V.useFieldRootContext)(),er=(0,H.useFieldItemContext)(),{labelId:en,controlId:el,registerControlId:ed,getDescriptionProps:ec}=(0,D.useLabelableContext)(),eo=(0,G.useCheckboxGroupContext)(),eu=eo?.parent,em=eu&&eo.allValues,ex=C||er.disabled||eo?.disabled||d,eh=E??x,ep=b??eh,ef=(0,O.useBaseUiId)(),ev=(0,O.useBaseUiId)(),eg=el;em?eg=p?ev:`${eu.id}-${ep}`:o&&(eg=o);let ej={};em&&(p?ej=eo.parent.getParentProps():ep&&(ej=eo.parent.getChildProps(ep)));let eb=(0,R.useStableCallback)(h),{checked:ek=s,indeterminate:ey=u,onCheckedChange:eN,...ew}=ej,eC=eo?.value,eE=eo?.setValue,eS=eo?.defaultValue,eT=i.useRef(null),eM=(0,z.useRefWithInit)(()=>Symbol("checkbox-control")),eR=i.useRef(!1),{getButtonProps:eI,buttonRef:e_}=(0,L.useButton)({disabled:ex,native:k}),ez=eo?.validation??ei,[eF,eP]=(0,M.useControlled)({controlled:ep&&eC&&!p?eC.includes(ep):ek,default:ep&&eS&&!p?eS.includes(ep):n,name:"Checkbox",state:"checked"});(0,I.useIsoLayoutEffect)(()=>{ed!==T.NOOP&&(eR.current=!0,ed(eM.current,eg))},[eg,eo,ed,p,eM]),i.useEffect(()=>{let e=eM.current;return()=>{eR.current&&ed!==T.NOOP&&(eR.current=!1,ed(e,void 0))}},[ed,eM]),(0,K.useRegisterFieldControl)(eT,{enabled:!eo,id:ef,value:eF});let eB=i.useRef(null),e$=(0,_.useMergedRefs)(m,eB,ez.inputRef),eA=q(l,en,eB,!k,eg??void 0);(0,I.useIsoLayoutEffect)(()=>{eB.current&&(eB.current.indeterminate=ey,eF&&P(!0))},[eF,ey,P]),(0,X.useValueChanged)(eF,()=>{(!eo||p)&&(w(eh),P(eF),S(eF!==es.initialValue),ea()?ez.commit(eF):ez.commit(eF,!0))});let eO=(0,W.mergeProps)({checked:eF,disabled:ex,form:c,name:p?void 0:eh,id:k?void 0:eg??void 0,required:g,ref:e$,style:eh?F.visuallyHiddenInput:F.visuallyHidden,tabIndex:-1,type:"checkbox","aria-hidden":!0,onChange(e){if(e.nativeEvent.defaultPrevented)return;if(f)return void e.preventDefault();let t=e.currentTarget.checked,s=(0,Q.createChangeEventDetails)(Z.REASONS.none,e.nativeEvent);eN?.(t,s),eb(t,s),!s.isCanceled&&(eP(t),ep&&eC&&eE&&!p&&!em&&eE(t?[...eC,ep]:eC.filter(e=>e!==ep),s))},onFocus(){eT.current?.focus()}},void 0!==b?{value:(eo?eF&&b:b)||""}:T.EMPTY_OBJECT,ec,eo?ez.getValidationProps:ez.getInputValidationProps),eW=em?!!ek:eF,eL=em&&ey||u;i.useEffect(()=>{if(!eu||!ep)return;let e=eu.disabledStatesRef.current;return e.set(ep,ex),()=>{e.delete(ep)}},[eu,ex,ep]);let eV=i.useMemo(()=>({...ee,checked:eW,disabled:ex,readOnly:f,required:g,indeterminate:eL}),[ee,eW,ex,f,g,eL]),eK=$(eV),eH=(0,A.useRenderElement)("span",e,{state:eV,ref:[e_,eT,t,eo?.registerControlRef],props:[{id:k?eg??void 0:ef,role:"checkbox","aria-checked":ey?"mixed":eF,"aria-readonly":f||void 0,"aria-required":g||void 0,"aria-labelledby":eA,"data-parent":p?"":void 0,onFocus(){B(!0)},onBlur(){let e=eB.current;e&&(J(!0),B(!1),"onBlur"===et&&ez.commit(eo?eC:e.checked))},onClick(e){f||ex||(e.preventDefault(),eB.current?.dispatchEvent(new PointerEvent("click",{bubbles:!0,shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey})))}},ec,ez.getValidationProps,N,ew,eI],stateAttributesMapping:eK});return(0,a.jsxs)(Y.Provider,{value:eV,children:[eH,!eF&&!eo&&eh&&!p&&void 0!==j&&(0,a.jsx)("input",{type:"hidden",form:c,name:eh,value:j}),(0,a.jsx)("input",{...eO,suppressHydrationWarning:!0})]})});var et=e.i(570868),es=e.i(221995),ea=e.i(106580);let ei=i.forwardRef(function(e,t){let{render:s,className:a,style:r,keepMounted:n=!1,...l}=e,d=function(){let e=i.useContext(Y);if(void 0===e)throw Error((0,J.default)(14));return e}(),c=d.checked||d.indeterminate,{mounted:o,transitionStatus:u,setMounted:m}=(0,es.useTransitionStatus)(c),x=i.useRef(null),h={...d,transitionStatus:u};(0,et.useOpenChangeComplete)({open:c,ref:x,onComplete(){c||m(!1)}});let p=$(d),f=i.useMemo(()=>({...p,...ea.transitionStatusMapping,...B.fieldValidityMapping}),[p]),v=(0,A.useRenderElement)("span",e,{ref:[t,x],state:h,stateAttributesMapping:f,props:l});return n||o?v:null});e.s(["Indicator",0,ei,"Root",0,ee],574898);var er=e.i(574898),er=er,en=e.i(982141);function el({className:e,...t}){return(0,a.jsx)(er.Root,{"data-slot":"checkbox",className:(0,n.cn)("peer relative flex size-4 shrink-0 items-center justify-center rounded-lg border border-input transition-colors outline-none group-has-disabled/field:opacity-50 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary",e),...t,children:(0,a.jsx)(er.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none [&>svg]:size-3.5",children:(0,a.jsx)(en.CheckIcon,{})})})}e.s([],869625),e.i(869625);let ed=i.createContext(void 0),ec=((s={}).checked="data-checked",s.unchecked="data-unchecked",s.disabled="data-disabled",s.readonly="data-readonly",s.required="data-required",s.valid="data-valid",s.invalid="data-invalid",s.touched="data-touched",s.dirty="data-dirty",s.filled="data-filled",s.focused="data-focused",s),eo={...B.fieldValidityMapping,checked:e=>e?{[ec.checked]:""}:{[ec.unchecked]:""}};var eu=e.i(734525);let em=i.forwardRef(function(e,t){let{checked:s,className:r,defaultChecked:n,"aria-labelledby":l,form:d,id:c,inputRef:o,name:u,nativeButton:m=!1,onCheckedChange:x,readOnly:h=!1,required:p=!1,disabled:f=!1,render:v,uncheckedValue:g,value:j,style:b,...k}=e,{clearErrors:y}=(0,U.useFormContext)(),{state:N,setTouched:w,setDirty:C,validityData:E,setFilled:S,setFocused:z,shouldValidateOnChange:P,validationMode:B,disabled:$,name:H,validation:G}=(0,V.useFieldRootContext)(),{labelId:J}=(0,D.useLabelableContext)(),Y=$||f,ee=H??u,et=(0,R.useStableCallback)(x),es=i.useRef(null),ea=(0,_.useMergedRefs)(es,o,G.inputRef),ei=i.useRef(null),er=(0,O.useBaseUiId)(),en=(0,eu.useLabelableId)({id:c,implicit:!1,controlRef:ei}),el=m?void 0:en,[ec,em]=(0,M.useControlled)({controlled:s,default:!!n,name:"Switch",state:"checked"});(0,K.useRegisterFieldControl)(ei,{id:er,value:ec}),(0,I.useIsoLayoutEffect)(()=>{es.current&&S(es.current.checked)},[es,S]),(0,X.useValueChanged)(ec,()=>{y(ee),C(ec!==E.initialValue),S(ec),P()?G.commit(ec):G.commit(ec,!0)});let{getButtonProps:ex,buttonRef:eh}=(0,L.useButton)({disabled:Y,native:m}),ep=q(l,J,es,!m,el),ef=i.useMemo(()=>(0,W.mergeProps)({checked:ec,disabled:Y,form:d,id:el,name:ee,required:p,style:ee?F.visuallyHiddenInput:F.visuallyHidden,tabIndex:-1,type:"checkbox","aria-hidden":!0,ref:ea,onChange(e){if(e.nativeEvent.defaultPrevented)return;if(h)return void e.preventDefault();let t=e.currentTarget.checked,s=(0,Q.createChangeEventDetails)(Z.REASONS.none,e.nativeEvent);et?.(t,s),s.isCanceled||em(t)},onFocus(){ei.current?.focus()}},G.getInputValidationProps,void 0!==j?{value:j}:T.EMPTY_OBJECT),[ec,Y,d,ea,el,ee,et,h,p,em,G,j]),ev=i.useMemo(()=>({...N,checked:ec,disabled:Y,readOnly:h,required:p}),[N,ec,Y,h,p]),eg=(0,A.useRenderElement)("span",e,{state:ev,ref:[t,ei,eh],props:[{id:m?en:er,role:"switch","aria-checked":ec,"aria-readonly":h||void 0,"aria-required":p||void 0,"aria-labelledby":ep,onFocus(){Y||z(!0)},onBlur(){let e=es.current;e&&!Y&&(w(!0),z(!1),"onBlur"===B&&G.commit(e.checked))},onClick(e){h||Y||(e.preventDefault(),es.current?.dispatchEvent(new PointerEvent("click",{bubbles:!0,shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey})))}},G.getValidationProps,k,ex],stateAttributesMapping:eo});return(0,a.jsxs)(ed.Provider,{value:ev,children:[eg,!ec&&ee&&void 0!==g&&(0,a.jsx)("input",{type:"hidden",form:d,name:ee,value:g}),(0,a.jsx)("input",{...ef,suppressHydrationWarning:!0})]})}),ex=i.forwardRef(function(e,t){let{render:s,className:a,style:r,...n}=e,{state:l}=(0,V.useFieldRootContext)(),d=function(){let e=i.useContext(ed);if(void 0===e)throw Error((0,J.default)(63));return e}(),c={...l,...d};return(0,A.useRenderElement)("span",e,{state:c,ref:t,stateAttributesMapping:eo,props:n})});e.s(["Root",0,em,"Thumb",0,ex],81779);var eh=e.i(81779),eh=eh;function ep({className:e,size:t="default",...s}){return(0,a.jsx)(eh.Root,{"data-slot":"switch","data-size":t,className:(0,n.cn)("peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:bg-primary data-unchecked:bg-input dark:data-unchecked:bg-input/80 data-disabled:cursor-not-allowed data-disabled:opacity-50",e),...s,children:(0,a.jsx)(eh.Thumb,{"data-slot":"switch-thumb",className:"pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] dark:data-checked:bg-primary-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-unchecked:bg-foreground"})})}var ef=e.i(980630);function ev(){let[e,t]=(0,i.useState)(!1),[s,r]=(0,i.useState)([...ef.NOTIFICATION_EVENTS]),[n,d]=(0,i.useState)(!0),[c,o]=(0,i.useState)(!1);(0,i.useEffect)(()=>{d((0,ef.isNotificationSupported)()),t((0,ef.getNotificationEnabled)()),r((0,ef.getNotificationEvents)()),(0,ef.isNotificationSupported)()&&o("denied"===Notification.permission)},[]);let u=async e=>{if(!e){t(!1),(0,ef.setNotificationEnabled)(!1);return}await (0,ef.requestNotificationPermission)()?(t(!0),(0,ef.setNotificationEnabled)(!0)):(o(!0),l.toast.error("Notification permission denied. Please enable it in browser settings."))};return n?(0,a.jsx)("div",{className:"space-y-6",children:(0,a.jsxs)("section",{className:"space-y-4",children:[(0,a.jsx)("h2",{className:"text-sm font-medium",children:"Browser Notifications"}),(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{className:"space-y-0.5",children:[(0,a.jsx)("p",{className:"text-sm",children:"Enable notifications"}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:"Get notified when tasks finish while the tab is in the background"})]}),(0,a.jsx)(ep,{checked:e,onCheckedChange:u,disabled:c&&!e})]}),c&&!e&&(0,a.jsx)("p",{className:"text-xs text-destructive",children:"Notification permission was denied. Please allow it in your browser settings."}),e&&(0,a.jsxs)("div",{className:"space-y-2 pl-0.5",children:[(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:"Notify me when:"}),ef.NOTIFICATION_EVENTS.map(e=>(0,a.jsxs)("label",{className:"flex items-center gap-2 text-sm cursor-pointer select-none",children:[(0,a.jsx)(el,{checked:s.includes(e),onCheckedChange:()=>{r(t=>{let s=t.includes(e)?t.filter(t=>t!==e):[...t,e];return(0,ef.setNotificationEvents)(s),s})}}),ef.NOTIFICATION_EVENT_LABELS[e]]},e))]})]})]})}):(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:"Your browser does not support notifications."})}var eg=e.i(355578),ej=e.i(934351),eb=e.i(875061);let ek=(0,w.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 ey=e.i(255450),eN=e.i(900559);let ew=(0,w.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 eC=e.i(609049);let eE=(0,w.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 eS({icon:e,label:t,value:s,sub:i}){return(0,a.jsx)(ej.Card,{size:"sm",children:(0,a.jsxs)(ej.CardContent,{className:"flex items-center gap-3",children:[(0,a.jsx)("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary",children:(0,a.jsx)(e,{className:"size-4"})}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-1",children:[(0,a.jsx)("p",{className:"text-2xl font-semibold leading-none tracking-tight",children:s}),i&&(0,a.jsx)(eb.Badge,{variant:"secondary",className:"text-[10px] px-1.5 h-4 font-normal",children:i})]}),(0,a.jsx)("p",{className:"mt-1 text-xs text-muted-foreground truncate",children:t})]})]})})}function eT({agents:e,runtimes:t,activeTaskCounts:s,overview:i}){let r=new Map;for(let e of t){let t=e.daemon_id??e.id;r.set(t,r.get(t)||"online"===e.status)}let n=r.size,l=[...r.values()].filter(Boolean).length,d=Object.values(s).reduce((e,t)=>e+t,0),c=e.filter(e=>{let s=t.find(t=>t.id===e.runtime_id);return s?.status==="online"}).length;return(0,a.jsxs)("div",{className:"grid gap-3 grid-cols-2 sm:grid-cols-3 lg:grid-cols-6",children:[(0,a.jsx)(eS,{icon:eC.Monitor,label:"Machines",value:`${l}/${n}`,sub:"online"}),(0,a.jsx)(eS,{icon:ek,label:"Agents",value:e.length,sub:`${c} online`}),(0,a.jsx)(eS,{icon:ew,label:"Members",value:i.members.length,sub:i.pending_invites>0?`${i.pending_invites} pending`:void 0}),(0,a.jsx)(eS,{icon:eE,label:"Active Tasks",value:d,sub:i.task_stats.queued>0?`${i.task_stats.queued} queued`:void 0}),(0,a.jsx)(eS,{icon:eN.Send,label:"Emails Sent",value:i.email_stats.outbound,sub:`${i.email_stats.unread} unread`}),(0,a.jsx)(eS,{icon:ey.Mail,label:"Custom Emails",value:i.email_accounts.length})]})}function eM({overview:e}){let{completed:t,failed:s,cancelled:i,queued:r,stale:n}=e.task_stats,l=t+s,d=l>0?(s/l*100).toFixed(1):"0";return(0,a.jsxs)(ej.Card,{children:[(0,a.jsx)(ej.CardHeader,{children:(0,a.jsx)(ej.CardTitle,{children:"Task Health (Today)"})}),(0,a.jsx)(ej.CardContent,{children:(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,a.jsx)(eR,{label:"Completed",value:t}),(0,a.jsx)(eR,{label:"Failed",value:s,className:s>0?"text-destructive":void 0}),(0,a.jsx)(eR,{label:"Cancelled",value:i}),(0,a.jsx)(eR,{label:"Failure Rate",value:`${d}%`,className:Number(d)>10?"text-destructive":void 0}),(0,a.jsx)(eR,{label:"Queue Backlog",value:r,className:r>10?"text-amber-500":void 0}),(0,a.jsx)(eR,{label:"Stale Tasks",value:n,className:n>0?"text-destructive":void 0})]})})]})}function eR({label:e,value:t,className:s}){return(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:`text-xl font-semibold ${s??""}`,children:t}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:e})]})}var eI=e.i(329686);function e_({overview:e,agents:t}){let{inbound:s,outbound:i,unread:r,rejected:n}=e.email_stats,l=new Map(t.map(e=>[e.id,e.name]));return(0,a.jsxs)(ej.Card,{children:[(0,a.jsx)(ej.CardHeader,{children:(0,a.jsx)(ej.CardTitle,{children:"Email Summary"})}),(0,a.jsxs)(ej.CardContent,{className:"space-y-4",children:[(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-xl font-semibold",children:s}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:"Received"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-xl font-semibold",children:i}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:"Sent"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:`text-xl font-semibold ${r>0?"text-primary":""}`,children:r}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:"Unread"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:`text-xl font-semibold ${n>0?"text-amber-500":""}`,children:n}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:"Untrust"})]})]}),e.email_accounts.length>0&&(0,a.jsxs)("div",{className:"space-y-2 pt-2 border-t border-border/50",children:[(0,a.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:"Custom Mailboxes"}),e.email_accounts.map(e=>(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2 text-xs",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,a.jsxs)(eI.Tooltip,{children:[(0,a.jsx)(eI.TooltipTrigger,{render:(0,a.jsx)("span",{className:`size-1.5 shrink-0 rounded-full ${"active"===e.status?"bg-emerald-500":"bg-destructive"}`})}),(0,a.jsx)(eI.TooltipContent,{side:"top",children:"active"===e.status?"Active":`Error: ${e.error_message||"inactive"}`})]}),(0,a.jsx)("span",{className:"truncate",children:e.email_address})]}),(0,a.jsx)("span",{className:"text-muted-foreground shrink-0",children:l.get(e.agent_id)??"—"})]},e.id))]})]})]})}var ez=e.i(537188);function eF({runtimes:e,agents:t}){let s=(0,d.useRouter)(),{slug:i}=(0,c.useWorkspace)(),r=new Map;for(let t of e){let e=t.daemon_id??t.id;r.has(e)||r.set(e,{runtimes:[],deviceInfo:t.device_info??""}),r.get(e).runtimes.push(t)}let n=[...r.entries()];return 0===n.length?(0,a.jsxs)(ej.Card,{children:[(0,a.jsxs)(ej.CardHeader,{children:[(0,a.jsx)(ej.CardTitle,{children:"Machines"}),(0,a.jsx)(ej.CardAction,{children:(0,a.jsx)("button",{type:"button",onClick:()=>s.push(`/w/${i}/runtimes`),className:"text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:(0,a.jsx)(ez.ArrowUpRight,{className:"size-4"})})})]}),(0,a.jsx)(ej.CardContent,{children:(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:"No machines connected."})})]}):(0,a.jsxs)(ej.Card,{children:[(0,a.jsx)(ej.CardHeader,{children:(0,a.jsx)(ej.CardTitle,{children:"Machines"})}),(0,a.jsx)(ej.CardContent,{className:"space-y-3",children:n.map(([e,s])=>{let i=s.runtimes.some(e=>"online"===e.status),r=s.runtimes.map(e=>e.last_seen_at).filter(Boolean).sort().reverse()[0],n=t.filter(e=>s.runtimes.some(t=>t.id===e.runtime_id)),l=s.runtimes.some(e=>e.pending_update_version),d=s.runtimes.find(e=>e.pending_update_version)?.pending_update_version;return(0,a.jsxs)("div",{className:"flex items-start gap-3 text-xs",children:[(0,a.jsxs)(eI.Tooltip,{children:[(0,a.jsx)(eI.TooltipTrigger,{render:(0,a.jsx)("span",{className:`mt-1 size-2 shrink-0 rounded-full ${i?"bg-emerald-500":"bg-muted-foreground/30"}`})}),(0,a.jsx)(eI.TooltipContent,{side:"top",children:i?"Online":"Offline"})]}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"font-medium truncate",children:s.deviceInfo||e.slice(0,12)}),l&&(0,a.jsxs)(eI.Tooltip,{children:[(0,a.jsx)(eI.TooltipTrigger,{render:(0,a.jsx)("span",{children:(0,a.jsx)(eb.Badge,{variant:"outline",className:"text-[10px] px-1.5 py-0 text-amber-500 border-amber-500/30",children:"update"})})}),(0,a.jsxs)(eI.TooltipContent,{side:"top",children:["Pending update to v",d]})]})]}),(0,a.jsxs)("div",{className:"text-muted-foreground mt-0.5",children:[n.length>0?n.map(e=>e.name).join(", "):"No agents"," · ",function(e){if(!e)return"never";let t=Math.floor((Date.now()-new Date(e).getTime())/1e3);if(t<60)return`${t}s ago`;let s=Math.floor(t/60);if(s<60)return`${s}m ago`;let a=Math.floor(s/60);return a<24?`${a}h ago`:`${Math.floor(a/24)}d ago`}(r??null)]})]})]},e)})})]})}function eP({overview:e}){let t=(0,d.useRouter)(),{slug:s}=(0,c.useWorkspace)(),{members:i,pending_invites:r}=e;return(0,a.jsxs)(ej.Card,{children:[(0,a.jsxs)(ej.CardHeader,{children:[(0,a.jsx)(ej.CardAction,{children:(0,a.jsx)("button",{type:"button",onClick:()=>t.push(`/w/${s}/settings`),className:"text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:(0,a.jsx)(ez.ArrowUpRight,{className:"size-4"})})}),(0,a.jsxs)(ej.CardTitle,{children:["Team",r>0&&(0,a.jsxs)("span",{className:"ml-2 text-xs text-muted-foreground font-normal",children:["(",r," pending invite",r>1?"s":"",")"]})]})]}),(0,a.jsx)(ej.CardContent,{className:"p-0",children:(0,a.jsx)("div",{className:"divide-y divide-border/50",children:[...i].sort((e,t)=>"owner"===e.role?-1:+("owner"===t.role)).map(e=>(0,a.jsxs)("div",{className:"flex items-center gap-3 px-4 py-2.5",children:[e.image?(0,a.jsx)("img",{src:e.image,alt:e.name,className:"size-7 rounded-full shrink-0"}):(0,a.jsx)("div",{className:"flex size-7 shrink-0 items-center justify-center rounded-full bg-secondary text-xs font-medium",children:(e.name||e.email).charAt(0).toUpperCase()}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("span",{className:"text-sm font-medium truncate block",children:e.name||e.email}),e.name&&(0,a.jsx)("span",{className:"text-xs text-muted-foreground truncate block",children:e.email})]}),(0,a.jsx)(eb.Badge,{variant:"owner"===e.role?"default":"secondary",className:"text-[10px] px-1.5 py-0 shrink-0",children:e.role})]},e.id))})})]})}function eB(){let{agents:e,runtimes:t,loading:s,activeTaskCounts:r}=(0,eg.useAgentContext)(),{workspaceId:n}=(0,c.useWorkspace)(),[l,d]=(0,i.useState)(null),[o,m]=(0,i.useState)(!1);return((0,i.useEffect)(()=>{if(s)return;let e=!1;return m(!0),(0,u.getWorkspaceOverview)(n).then(t=>{e||d(t)}).catch(()=>{}).finally(()=>{e||m(!1)}),()=>{e=!0}},[s,n]),o||!l)?(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)(p.Skeleton,{className:"h-44 rounded-xl"}),(0,a.jsx)(p.Skeleton,{className:"h-44 rounded-xl"}),(0,a.jsx)(p.Skeleton,{className:"h-44 rounded-xl"}),(0,a.jsx)(p.Skeleton,{className:"h-44 rounded-xl"})]}):(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)(eT,{agents:e,runtimes:t,activeTaskCounts:r,overview:l}),(0,a.jsxs)("div",{className:"grid gap-4 lg:grid-cols-2",children:[(0,a.jsx)(eM,{overview:l}),(0,a.jsx)(e_,{overview:l,agents:e})]}),(0,a.jsxs)("div",{className:"grid gap-4 lg:grid-cols-2",children:[(0,a.jsx)(eF,{runtimes:t,agents:e}),(0,a.jsx)(eP,{overview:l})]})]})}let e$=[{id:"general",label:"General"},{id:"instruction",label:"Global Instruction"},{id:"notifications",label:"Notifications"},{id:"members",label:"Members"},{id:"usages",label:"Usages"}];e.s(["default",0,function(){let[e,t]=(0,i.useState)("general");return(0,a.jsxs)(a.Fragment,{children:[(0,a.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,a.jsx)("div",{className:"flex items-center gap-3 min-w-0",children:(0,a.jsx)("h1",{className:"text-sm font-medium",children:"Settings"})})}),(0,a.jsxs)("div",{className:"flex flex-1 min-h-0",children:[(0,a.jsx)("nav",{className:"w-48 shrink-0 border-r border-border/50 py-3 px-2 hidden md:block",children:e$.map(s=>(0,a.jsx)("button",{onClick:()=>t(s.id),className:(0,n.cn)("w-full rounded-md px-2.5 py-1.5 text-left text-sm transition-colors",e===s.id?"bg-accent text-foreground font-medium":"text-muted-foreground hover:bg-accent/50 hover:text-foreground"),children:s.label},s.id))}),(0,a.jsxs)("div",{className:"flex-1 min-w-0 flex flex-col",children:[(0,a.jsx)("div",{className:"px-4 pt-2 md:hidden",children:(0,a.jsx)(r.Tabs,{className:"items-center",value:e,onValueChange:e=>t(e),children:(0,a.jsx)(r.TabsList,{className:"h-auto gap-1",children:e$.map(e=>(0,a.jsx)(r.TabsTrigger,{value:e.id,children:e.label},e.id))})})}),(0,a.jsx)("div",{className:(0,n.cn)("flex-1 overflow-y-auto thin-scrollbar","instruction"!==e&&"px-5 py-5"),children:"instruction"===e?(0,a.jsx)(b,{}):"usages"===e?(0,a.jsx)(eB,{}):(0,a.jsxs)("div",{className:"mx-auto max-w-md",children:["general"===e&&(0,a.jsx)(v,{}),"notifications"===e&&(0,a.jsx)(ev,{}),"members"===e&&(0,a.jsx)(S,{})]})})]})]})]})}],716032)}]);
|
package/bundled/web/.open-next/assets/_next/static/chunks/{0il_mcv02512i.js → 06ksvdw1qrvwk.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,642342,e=>{"use strict";var r=e.i(459119),t=e.i(298699);r.default.env.NEXT_PUBLIC_WS_DO_PORT;let n=Number(r.default.env.NEXT_PUBLIC_WS_RECONNECT_DELAY_MS)||1e3,a=Number(r.default.env.NEXT_PUBLIC_WS_RECONNECT_MAX_DELAY_MS)||3e4;e.s(["useUserWs",0,function(e){let r=(0,t.useRef)(null),s=(0,t.useRef)(n),o=(0,t.useRef)(e),i=(0,t.useRef)(null);(0,t.useEffect)(()=>{o.current=e},[e]);let l=(0,t.useRef)(null),d=(0,t.useCallback)(()=>{let e=Math.min(s.current,a);s.current=Math.min(2*e,a),i.current=setTimeout(()=>{l.current?.()},e+500*Math.random())},[]),c=(0,t.useCallback)(async()=>{let e,t,a;try{let r=await fetch("/api/ws/token");if(!r.ok){console.warn("[ws] token fetch failed:",r.status),d();return}let n=await r.json();e=n.userId,t=n.token}catch(e){console.warn("[ws] token fetch error:",e),d();return}let i=`${location.origin.replace("http","ws")}/api/ws/user?userId=${e}`;try{a=new WebSocket(i)}catch(e){console.warn("[ws] WebSocket creation failed:",e),d();return}r.current=a,a.onopen=()=>{s.current=n,a.send(JSON.stringify({type:"auth",token:t}))},a.onmessage=e=>{try{let r=JSON.parse(e.data);if("auth.ok"===r.type)return;o.current(r)}catch{}},a.onerror=()=>{},a.onclose=()=>{a===r.current&&d()}},[d]);(0,t.useEffect)(()=>{l.current=c},[c]),(0,t.useEffect)(()=>(c(),()=>{null!==i.current&&(clearTimeout(i.current),i.current=null);let e=r.current;r.current=null,e?.close()}),[c])}])},996718,e=>{"use strict";var r=e.i(298699);e.s(["useIsMobile",0,function(){let[e,t]=r.useState(void 0);return r.useEffect(()=>{let e=window.matchMedia("(max-width: 639px)"),r=()=>{t(window.innerWidth<640)};return e.addEventListener("change",r),t(window.innerWidth<640),()=>e.removeEventListener("change",r)},[]),!!e}])},400175,126366,819748,108772,e=>{"use strict";var r=e.i(368075),t=e.i(298699);let n="#27272a",a={fill:"rgba(255,255,255,0.92)",stroke:"rgba(255,255,255,0.95)",strokeWidth:3.5},s=[{name:"Purple",value:"#a855f7",gradient:["#c084fc","#a855f7","#7c3aed"],faceColor:"#2e1065"},{name:"Teal",value:"#14b8a6",gradient:["#5eead4","#14b8a6","#0d9488"],faceColor:"#134e4a"},{name:"Orange",value:"#f97316",gradient:["#fdba74","#f97316","#c2410c"],faceColor:"#7c2d12"},{name:"Blue",value:"#3b82f6",gradient:["#93c5fd","#3b82f6","#1d4ed8"],faceColor:"#1e3a5f"},{name:"Pink",value:"#f472b6",gradient:["#fda4af","#f472b6","#be185d"],faceColor:"#831843"},{name:"Yellow",value:"#eab308",gradient:["#fde047","#eab308","#a16207"],faceColor:"#713f12"},{name:"Green",value:"#22c55e",gradient:["#86efac","#22c55e","#15803d"],faceColor:"#14532d"},{name:"Beige",value:"#d6ccb8",gradient:["#e8e0d4","#d6ccb8","#b8a990"],faceColor:"#57534e"},{name:"Red",value:"#ef4444",gradient:["#fca5a5","#ef4444","#991b1b"],faceColor:"#7f1d1d"},{name:"Lake Blue",value:"#6366f1",gradient:["#a5b4fc","#6366f1","#3730a3"],faceColor:"#312e81"},{name:"Gray",value:"#9ca3af",gradient:["#d4d4d8","#9ca3af","#6b7280"],faceColor:"#374151"},{name:"Deep Purple",value:"#8b5cf6",gradient:["#c4b5fd","#8b5cf6","#5b21b6"],faceColor:"#3b0764"}],o={circle:{name:"Circle",face:{cx:100,cy:100,w:80},render:()=>(0,r.jsx)("circle",{cx:"100",cy:"100",r:"66",...a})},rounded:{name:"Rounded",face:{cx:100,cy:100,w:90},render:()=>(0,r.jsx)("rect",{x:"30",y:"30",width:"140",height:"140",rx:"32",...a})},hexagon:{name:"Hexagon",face:{cx:100,cy:100,w:86},render:()=>(0,r.jsx)("path",{d:"M100 32 C108 32 114 35 120 39 L155 60 C161 64 165 70 165 78 L165 122 C165 130 161 136 155 140 L120 161 C114 165 108 168 100 168 C92 168 86 165 80 161 L45 140 C39 136 35 130 35 122 L35 78 C35 70 39 64 45 60 L80 39 C86 35 92 32 100 32 Z",...a})},task:{name:"Task",face:{cx:100,cy:100,w:80},render:()=>(0,r.jsx)("rect",{x:"34",y:"34",width:"132",height:"132",rx:"24",...a})},book:{name:"Book",face:{cx:100,cy:100,w:80},render:()=>(0,r.jsx)("path",{d:"M42 162 L42 88 C42 54 68 34 100 34 C132 34 158 54 158 88 L158 162 C158 166 154 170 150 170 L50 170 C46 170 42 166 42 162 Z",...a})},mail:{name:"Mail",face:{cx:100,cy:100,w:86},render:()=>(0,r.jsx)("rect",{x:"28",y:"54",width:"144",height:"92",rx:"46",...a})},calendar:{name:"Calendar",face:{cx:100,cy:100,w:80},render:()=>(0,r.jsx)("path",{d:"M100 34 C138 34 166 52 166 80 C166 94 158 106 158 118 C158 148 138 166 100 166 C62 166 42 148 42 118 C42 106 34 94 34 80 C34 52 62 34 100 34 Z",...a})},bulb:{name:"Bulb",face:{cx:100,cy:104,w:76},render:()=>(0,r.jsx)("ellipse",{cx:"100",cy:"104",rx:"58",ry:"66",...a})},folder:{name:"Folder",face:{cx:102,cy:108,w:80},render:()=>(0,r.jsx)("path",{d:"M62 144 C40 144 32 128 36 116 C32 104 40 90 54 88 C56 72 70 60 88 62 C100 50 118 50 132 58 C144 52 162 60 162 76 C172 82 174 98 166 108 C172 120 164 136 150 140 Z",...a})},mountain:{name:"Mountain",face:{cx:100,cy:100,w:76},render:()=>(0,r.jsx)("path",{d:"M92 36 C120 32 156 48 164 78 C172 108 156 148 124 160 C92 172 48 156 38 124 C28 92 62 40 92 36 Z",...a})}},i=Object.keys(o),l={dot:{name:"Dot",render:(e=n)=>(0,r.jsx)("circle",{cx:"0",cy:"0",r:"4.5",fill:e})},dash:{name:"Dash",render:(e=n)=>(0,r.jsx)("line",{x1:"-10",y1:"0",x2:"10",y2:"0",stroke:e,strokeWidth:"5",strokeLinecap:"round"})},hookL:{name:"Hook",render:(e=n)=>(0,r.jsx)("path",{d:"M-11 0 Q-5.5 7 0 1.5 Q5.5 7 11 0",fill:"none",stroke:e,strokeWidth:"4.5",strokeLinecap:"round",strokeLinejoin:"round"})},smile:{name:"Smile",render:(e=n)=>(0,r.jsx)("path",{d:"M-11 0 Q0 11 11 0",fill:"none",stroke:e,strokeWidth:"5",strokeLinecap:"round"})},caret:{name:"Caret",render:(e=n)=>(0,r.jsxs)("g",{children:[(0,r.jsx)("path",{d:"M-10 0 Q0 8 10 0",fill:"none",stroke:e,strokeWidth:"4.5",strokeLinecap:"round"}),(0,r.jsx)("ellipse",{cx:"3",cy:"6",rx:"4",ry:"4.5",fill:"#f472b6"})]})},arrow:{name:"Arrow",render:(e=n)=>(0,r.jsx)("ellipse",{cx:"0",cy:"0",rx:"6",ry:"7.5",fill:e})},oh:{name:"o",render:(e=n)=>(0,r.jsx)("ellipse",{cx:"0",cy:"0",rx:"7",ry:"7.5",fill:"none",stroke:e,strokeWidth:"4.5"})}},d=Object.keys(l),c=(e,t)=>{let a=t??e,s=(t,s=n)=>(0,r.jsxs)("g",{children:[(0,r.jsx)("g",{transform:`translate(${-t}, 0)`,children:e(s)}),(0,r.jsx)("g",{transform:`translate(${t}, 0)`,children:a(s)})]});return s.displayName="EyePair",s},u={dots:{name:"Dots",render:c(e=>(0,r.jsx)("circle",{cx:"0",cy:"0",r:"7",fill:e}))},big:{name:"Big",render:c(e=>(0,r.jsxs)("g",{children:[(0,r.jsx)("circle",{cx:"0",cy:"0",r:"10",fill:e}),(0,r.jsx)("circle",{cx:"2.5",cy:"-3",r:"3.5",fill:"rgba(255,255,255,0.9)"})]}))},rings:{name:"Rings",render:c(e=>(0,r.jsx)("ellipse",{cx:"0",cy:"0",rx:"8.5",ry:"9.5",fill:"none",stroke:e,strokeWidth:"4.5"}))},arches:{name:"Arches",render:c(e=>(0,r.jsx)("path",{d:"M-10 2 Q0 -9 10 2",fill:"none",stroke:e,strokeWidth:"5",strokeLinecap:"round"}))},lines:{name:"Lines",render:c(e=>(0,r.jsx)("path",{d:"M-10 0 Q0 -6 10 0",fill:"none",stroke:e,strokeWidth:"5",strokeLinecap:"round"}))},happy:{name:"Happy",render:c(e=>(0,r.jsx)("path",{d:"M-10 5 Q0 -11 10 5",fill:"none",stroke:e,strokeWidth:"5",strokeLinecap:"round"}))},sleepy:{name:"Sleepy",render:c(e=>(0,r.jsx)("path",{d:"M-10 -2 Q0 8 10 -2",fill:"none",stroke:e,strokeWidth:"5",strokeLinecap:"round"}))},shy:{name:"Shy",render:c(e=>(0,r.jsx)("ellipse",{cx:"0",cy:"0",rx:"8.5",ry:"9.5",fill:e}))},wink:{name:"Wink",render:(e,t=n)=>(0,r.jsxs)("g",{children:[(0,r.jsx)("g",{transform:`translate(${-e}, 0)`,children:(0,r.jsx)("circle",{cx:"0",cy:"0",r:"7",fill:t})}),(0,r.jsx)("g",{transform:`translate(${e}, 0)`,children:(0,r.jsx)("path",{d:"M-10 2 Q0 -9 10 2",fill:"none",stroke:t,strokeWidth:"5",strokeLinecap:"round"})})]})}},f=Object.keys(u),x={shape:"book",eye:"happy",nose:"dash",bg:1},h=[{name:"Task",config:{shape:"task",nose:"dot",eye:"dots",bg:0}},{name:"Notes",config:{shape:"book",nose:"dash",eye:"happy",bg:1}},{name:"Mail",config:{shape:"mail",nose:"smile",eye:"dots",bg:3}},{name:"Schedule",config:{shape:"calendar",nose:"dot",eye:"dots",bg:4}},{name:"Idea",config:{shape:"bulb",nose:"oh",eye:"rings",bg:5}},{name:"Project",config:{shape:"folder",nose:"dash",eye:"lines",bg:7}},{name:"Goal",config:{shape:"mountain",nose:"caret",eye:"arches",bg:8}},{name:"Dream",config:{shape:"circle",nose:"smile",eye:"shy",bg:11}},{name:"Organize",config:{shape:"rounded",nose:"dot",eye:"sleepy",bg:6}},{name:"Explore",config:{shape:"hexagon",nose:"hookL",eye:"wink",bg:9}},{name:"Focus",config:{shape:"task",nose:"caret",eye:"lines",bg:2}},{name:"Collect",config:{shape:"book",nose:"oh",eye:"rings",bg:10}}];function m(e){return e[Math.floor(Math.random()*e.length)]}function p(){return{shape:m(i),eye:m(f),nose:m(d),bg:Math.floor(Math.random()*s.length)}}function g({config:e,size:n=200,className:a}){let i=(0,t.useId)().replace(/:/g,""),d=o[e.shape]??o.book,c=u[e.eye],f=l[e.nose],x=s[e.bg]??s[0],[h,m,p]=x.gradient,b=x.faceColor,{cx:v,cy:y,w:j}=d.face,k=Math.max(13,.24*j),C=y-Math.max(12,.16*j);return(0,r.jsxs)("svg",{viewBox:"0 0 200 200",width:n,height:n,className:a,style:{display:"block"},children:[(0,r.jsxs)("defs",{children:[(0,r.jsxs)("linearGradient",{id:`bg-${i}`,x1:"0%",y1:"0%",x2:"100%",y2:"100%",children:[(0,r.jsx)("stop",{offset:"0%",stopColor:h}),(0,r.jsx)("stop",{offset:"50%",stopColor:m}),(0,r.jsx)("stop",{offset:"100%",stopColor:p})]}),(0,r.jsxs)("radialGradient",{id:`gl-${i}`,cx:"30%",cy:"25%",r:"60%",children:[(0,r.jsx)("stop",{offset:"0%",stopColor:"rgba(255,255,255,0.32)"}),(0,r.jsx)("stop",{offset:"100%",stopColor:"rgba(255,255,255,0)"})]}),(0,r.jsx)("filter",{id:`sh-${i}`,x:"-10%",y:"-5%",width:"120%",height:"130%",children:(0,r.jsx)("feDropShadow",{dx:"0",dy:"3",stdDeviation:"4",floodColor:"rgba(0,0,0,0.18)"})})]}),(0,r.jsx)("rect",{x:"0",y:"0",width:"200",height:"200",rx:"56",fill:`url(#bg-${i})`}),(0,r.jsx)("rect",{x:"0",y:"0",width:"200",height:"200",rx:"56",fill:`url(#gl-${i})`}),(0,r.jsxs)("g",{transform:"translate(100,100) scale(0.8) translate(-100,-100)",children:[(0,r.jsx)("g",{"data-avatar-shape":"",filter:`url(#sh-${i})`,children:d.render()}),c&&(0,r.jsx)("g",{transform:`translate(${v}, ${C})`,children:(0,r.jsx)("g",{"data-avatar-eyes":"",children:c.render(k,b)})}),f&&(0,r.jsx)("g",{transform:`translate(${v}, ${y+7})`,children:(0,r.jsx)("g",{"data-avatar-nose":"",children:f.render(b)})})]})]})}let b="avatar:";e.s(["AvatarRenderer",0,g,"BG_COLORS",0,s,"DEFAULT_CONFIG",0,x,"EYE_KEYS",0,f,"Eyes",0,u,"NOSE_KEYS",0,d,"Noses",0,l,"PRESETS",0,h,"SHAPE_KEYS",0,i,"Shapes",0,o,"parseAvatarUrl",0,function(e){if(!e||!e.startsWith(b))return null;try{let r=JSON.parse(e.slice(b.length));if("object"==typeof r&&null!==r&&"string"==typeof r.shape&&"string"==typeof r.eye&&"string"==typeof r.nose&&"number"==typeof r.bg)return r;if("object"==typeof r&&null!==r&&"outline"in r)return x;return null}catch{return null}},"randomConfig",0,p,"serializeAvatarConfig",0,function(e){return b+JSON.stringify(e)}],126366);let v=["avatar-anim-shape-bounce","avatar-anim-head-tilt","avatar-anim-shake","avatar-anim-wobble","avatar-anim-pulse","avatar-anim-spin","avatar-anim-jelly","avatar-anim-float","avatar-anim-nod"];e.s(["AnimatedAvatar",0,function({config:e,size:n,className:a,isHovered:s,isWorking:o}){let[i,l]=(0,t.useState)(null),d=(0,t.useRef)(-1);function c(){let e=Math.floor(Math.random()*v.length);return e===d.current&&(e=(e+1)%v.length),d.current=e,v[e]}return(0,t.useEffect)(()=>{s?l(c()):o||l(null)},[s,o]),(0,t.useEffect)(()=>{if(!o){s||l(null);return}l(c());let e=setInterval(()=>{l(c())},4e3);return()=>clearInterval(e)},[s,o]),(0,r.jsx)("div",{className:i??void 0,children:(0,r.jsx)(g,{config:e,size:n,className:a})})}],819748);var y=e.i(613349);function j({label:e,keys:t,value:n,onChange:a,renderThumb:s,mobile:o=!1}){let i=t.indexOf(n),l=e=>a(t[(i+e+t.length)%t.length]),d=t[(i-1+t.length)%t.length],c=t[(i+1)%t.length];return(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"w-12 text-xs font-medium text-muted-foreground shrink-0",children:e}),(0,r.jsx)("button",{type:"button",onClick:()=>l(-1),className:(0,y.cn)("flex items-center justify-center rounded-md hover:bg-accent transition-colors",o?"size-10":"size-7"),children:(0,r.jsx)("svg",{viewBox:"0 0 24 24",width:"16",height:"16",children:(0,r.jsx)("path",{d:"M15 5 L8 12 L15 19",fill:"none",stroke:"currentColor",strokeWidth:"2.4",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,r.jsxs)("div",{className:"flex items-center gap-1 flex-1 justify-center",children:[(0,r.jsx)("button",{type:"button",onClick:()=>l(-1),className:"opacity-30 hover:opacity-60 transition-opacity",tabIndex:-1,children:s(d)}),(0,r.jsx)("button",{type:"button",onClick:()=>l(1),className:"border-2 border-primary rounded-lg p-0.5",children:s(n)}),(0,r.jsx)("button",{type:"button",onClick:()=>l(1),className:"opacity-30 hover:opacity-60 transition-opacity",tabIndex:-1,children:s(c)})]}),(0,r.jsx)("button",{type:"button",onClick:()=>l(1),className:(0,y.cn)("flex items-center justify-center rounded-md hover:bg-accent transition-colors",o?"size-10":"size-7"),children:(0,r.jsx)("svg",{viewBox:"0 0 24 24",width:"16",height:"16",children:(0,r.jsx)("path",{d:"M9 5 L16 12 L9 19",fill:"none",stroke:"currentColor",strokeWidth:"2.4",strokeLinecap:"round",strokeLinejoin:"round"})})})]})}function k({config:e,onChange:n,layout:a="vertical",mobile:c=!1}){let[x,m]=(0,t.useState)("presets"),b=(0,t.useCallback)((r,t)=>{n({...e,[r]:t})},[e,n]),[v,C]=(0,t.useState)(!1),w=(0,t.useRef)(e);(0,t.useEffect)(()=>{if(w.current.shape!==e.shape||w.current.eye!==e.eye||w.current.nose!==e.nose||w.current.bg!==e.bg){C(!0);let r=setTimeout(()=>C(!1),450);return w.current=e,()=>clearTimeout(r)}},[e]),(0,t.useEffect)(()=>{if("horizontal"!==a)return;let e=e=>{"Space"===e.code&&e.target===document.body&&(e.preventDefault(),n(p()))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[a,n]);let N="horizontal"===a,L=N?220:c?120:160,M=(0,r.jsxs)("div",{className:(0,y.cn)("flex flex-col items-center gap-3 rounded-2xl bg-muted/30",c?"p-3":"p-4",N?"w-70 shrink-0 justify-center":""),children:[(0,r.jsx)("div",{className:(0,y.cn)("rounded-2xl",v&&"animate-[shake_0.45s_cubic-bezier(.36,.07,.19,.97)]"),children:(0,r.jsx)(g,{config:e,size:L})}),(0,r.jsxs)("button",{type:"button",onClick:()=>n(p()),className:"inline-flex items-center gap-2 rounded-full bg-foreground px-4 py-1.5 text-sm font-medium text-background hover:bg-foreground/80 transition-colors",children:[(0,r.jsxs)("svg",{viewBox:"0 0 24 24",width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("rect",{x:"2",y:"2",width:"20",height:"20",rx:"3"}),(0,r.jsx)("circle",{cx:"8",cy:"8",r:"1.5",fill:"currentColor"}),(0,r.jsx)("circle",{cx:"16",cy:"8",r:"1.5",fill:"currentColor"}),(0,r.jsx)("circle",{cx:"8",cy:"16",r:"1.5",fill:"currentColor"}),(0,r.jsx)("circle",{cx:"16",cy:"16",r:"1.5",fill:"currentColor"}),(0,r.jsx)("circle",{cx:"12",cy:"12",r:"1.5",fill:"currentColor"})]}),"Random",N&&(0,r.jsx)("kbd",{className:"ml-1 rounded bg-background/20 px-1.5 py-0.5 text-[10px] font-mono",children:"Space"})]})]}),z=(0,r.jsxs)("div",{className:(0,y.cn)("flex flex-col gap-3 flex-1 min-w-0",N&&"rounded-2xl bg-muted/30 p-4 h-95"),children:[(0,r.jsxs)("div",{className:"flex border-b border-border",children:[(0,r.jsx)("button",{type:"button",onClick:()=>m("presets"),className:(0,y.cn)("flex-1 pb-2 text-sm font-medium text-center transition-colors border-b-2","presets"===x?"border-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"),children:"★ Presets"}),(0,r.jsx)("button",{type:"button",onClick:()=>m("custom"),className:(0,y.cn)("flex-1 pb-2 text-sm font-medium text-center transition-colors border-b-2","custom"===x?"border-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"),children:"⚙ Custom"})]}),(0,r.jsxs)("div",{className:(0,y.cn)("flex-1 min-h-0",N&&"overflow-y-auto thin-scrollbar"),children:["presets"===x&&(0,r.jsx)("div",{className:(0,y.cn)("grid gap-2",c?"grid-cols-3":"grid-cols-4"),children:h.map(t=>{let a=t.config.shape===e.shape&&t.config.eye===e.eye&&t.config.nose===e.nose&&t.config.bg===e.bg;return(0,r.jsx)("button",{type:"button",onClick:()=>n(t.config),className:(0,y.cn)("flex items-center justify-center rounded-xl border p-2 transition-all",a?"border-primary border-2 bg-primary/5 shadow-sm":"border-border bg-background hover:border-primary/40"),children:(0,r.jsx)(g,{config:t.config,size:56})},t.name)})}),"custom"===x&&(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,r.jsx)(j,{label:"Shape",keys:i,value:e.shape,onChange:e=>b("shape",e),renderThumb:e=>(0,r.jsxs)("svg",{viewBox:"0 0 200 200",width:"40",height:"40",children:[(0,r.jsx)("rect",{width:"200",height:"200",rx:"56",fill:"hsl(var(--muted))"}),(0,r.jsx)("g",{transform:"translate(100,100) scale(0.8) translate(-100,-100)",children:o[e]?.render()})]}),mobile:c}),(0,r.jsx)(j,{label:"Nose",keys:d,value:e.nose,onChange:e=>b("nose",e),renderThumb:e=>(0,r.jsx)("svg",{viewBox:"-14 -10 28 20",width:"36",height:"24",children:l[e]?.render("currentColor")}),mobile:c}),(0,r.jsx)(j,{label:"Eyes",keys:f,value:e.eye,onChange:e=>b("eye",e),renderThumb:e=>(0,r.jsx)("svg",{viewBox:"-18 -10 36 20",width:"44",height:"24",children:u[e]?.render(8,"currentColor")}),mobile:c}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"mb-2 text-xs font-medium text-muted-foreground",children:"Color"}),(0,r.jsx)("div",{className:(0,y.cn)("flex flex-wrap p-1",c?"gap-3":"gap-2"),children:s.map((t,n)=>(0,r.jsx)("button",{type:"button",onClick:()=>b("bg",n),title:t.name,className:(0,y.cn)("rounded-full transition-shadow",c?"size-8":"size-7",e.bg===n?"ring-2 ring-primary ring-offset-2":"ring-1 ring-border"),style:{background:`linear-gradient(135deg, ${t.gradient[0]}, ${t.gradient[1]}, ${t.gradient[2]})`}},t.value))})]})]})]})]});return N?(0,r.jsxs)("div",{className:"flex gap-4",children:[M,z]}):(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:[M,z]})}var C=e.i(779646),w=e.i(996718);e.s(["AvatarPickerDialog",0,function({config:e,onChange:n}){let[a,s]=(0,t.useState)(!1),[o,i]=(0,t.useState)(e),l=(0,w.useIsMobile)();return(0,r.jsxs)(C.Dialog,{open:a,onOpenChange:r=>{r&&i(e),s(r)},children:[(0,r.jsx)("div",{className:"flex justify-center",children:(0,r.jsx)(C.DialogTrigger,{render:(0,r.jsx)("button",{type:"button",className:"rounded-2xl bg-background p-1.5 shadow-sm border border-border hover:border-primary/40 transition-colors cursor-pointer"}),children:(0,r.jsx)(g,{config:e,size:80})})}),(0,r.jsxs)(C.DialogContent,{className:l?"top-auto left-0 translate-x-0 translate-y-0 bottom-0 max-w-full sm:max-w-full w-full rounded-b-none rounded-t-xl max-h-[85dvh] overflow-y-auto pb-[env(safe-area-inset-bottom)]":"sm:max-w-180",children:[(0,r.jsx)(C.DialogHeader,{children:(0,r.jsx)(C.DialogTitle,{children:"Choose Avatar"})}),(0,r.jsx)(k,{config:o,layout:l?"vertical":"horizontal",onChange:e=>{i(e),n(e)},mobile:l}),l&&(0,r.jsx)("button",{type:"button",onClick:()=>s(!1),className:"w-full rounded-xl bg-primary py-3 text-sm font-medium text-primary-foreground hover:bg-primary/90 transition-colors",children:"Done"})]})]})}],108772),e.s([],400175)},952003,e=>{"use strict";let r=(0,e.i(706875).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,r],952003)},208020,(e,r,t)=>{r.exports=e.r(170928)},706875,e=>{"use strict";var r=e.i(298699);let t=(...e)=>e.filter((e,r,t)=>!!e&&""!==e.trim()&&t.indexOf(e)===r).join(" ").trim(),n=e=>{let r=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,r,t)=>t?t.toUpperCase():r.toLowerCase());return r.charAt(0).toUpperCase()+r.slice(1)};var a={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let s=(0,r.createContext)({}),o=(0,r.forwardRef)(({color:e,size:n,strokeWidth:o,absoluteStrokeWidth:i,className:l="",children:d,iconNode:c,...u},f)=>{let{size:x=24,strokeWidth:h=2,absoluteStrokeWidth:m=!1,color:p="currentColor",className:g=""}=(0,r.useContext)(s)??{},b=i??m?24*Number(o??h)/Number(n??x):o??h;return(0,r.createElement)("svg",{ref:f,...a,width:n??x??a.width,height:n??x??a.height,stroke:e??p,strokeWidth:b,className:t("lucide",g,l),...!d&&!(e=>{for(let r in e)if(r.startsWith("aria-")||"role"===r||"title"===r)return!0;return!1})(u)&&{"aria-hidden":"true"},...u},[...c.map(([e,t])=>(0,r.createElement)(e,t)),...Array.isArray(d)?d:[d]])});e.s(["default",0,(e,a)=>{let s=(0,r.forwardRef)(({className:s,...i},l)=>(0,r.createElement)(o,{ref:l,iconNode:a,className:t(`lucide-${n(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,s),...i}));return s.displayName=n(e),s}],706875)},616117,484665,e=>{"use strict";e.i(459119);var r=e.i(298699),t=e.i(92615),n=e.i(773825),a=e.i(389068),s=e.i(943891),o=e.i(398258);let i=r.createContext(void 0);function l(e=!1){let t=r.useContext(i);if(void 0===t&&!e)throw Error((0,o.default)(16));return t}function d(e){return(0,t.isHTMLElement)(e)&&"BUTTON"===e.tagName}e.s(["CompositeRootContext",0,i,"useCompositeRootContext",0,l],484665),e.s(["useButton",0,function(e={}){let{disabled:t=!1,focusableWhenDisabled:o,tabIndex:i=0,native:c=!0,composite:u}=e,f=r.useRef(null),x=l(!0),h=u??void 0!==x,{props:m}=function(e){let{focusableWhenDisabled:t,disabled:n,composite:a=!1,tabIndex:s=0,isNativeButton:o}=e,i=a&&!1!==t,l=a&&!1===t;return{props:r.useMemo(()=>{let e={onKeyDown(e){n&&t&&"Tab"!==e.key&&e.preventDefault()}};return a||(e.tabIndex=s,!o&&n&&(e.tabIndex=t?s:-1)),(o&&(t||i)||!o&&n)&&(e["aria-disabled"]=n),o&&(!t||l)&&(e.disabled=n),e},[a,n,t,i,l,o,s])}}({focusableWhenDisabled:o,disabled:t,composite:h,tabIndex:i,isNativeButton:c}),p=r.useCallback(()=>{let e=f.current;d(e)&&h&&t&&void 0===m.disabled&&e.disabled&&(e.disabled=!1)},[t,m.disabled,h]);return(0,a.useIsoLayoutEffect)(p,[p]),{getButtonProps:r.useCallback((e={})=>{let{onClick:r,onMouseDown:n,onKeyUp:a,onKeyDown:o,onPointerDown:i,...l}=e,u=c?"button":void 0;return(0,s.mergeProps)({type:u,onClick(e){t?e.preventDefault():r?.(e)},onMouseDown(e){t||n?.(e)},onKeyDown(e){var n;if(t||((0,s.makeEventPreventable)(e),o?.(e),e.baseUIHandlerPrevented))return;let a=e.target===e.currentTarget,i=e.currentTarget,l=d(i),u=!c&&(n=i,!!(n?.tagName==="A"&&n?.href)),f=a&&(c?l:!u),x="Enter"===e.key,m=" "===e.key,p=i.getAttribute("role"),g=p?.startsWith("menuitem")||"option"===p||"gridcell"===p;if(a&&h&&m){if(e.defaultPrevented&&g)return;e.preventDefault(),u||c&&l?(i.click(),e.preventBaseUIHandler()):f&&(r?.(e),e.preventBaseUIHandler());return}f&&(!c&&(m||x)&&e.preventDefault(),!c&&x&&r?.(e))},onKeyUp(e){t||(((0,s.makeEventPreventable)(e),a?.(e),e.target===e.currentTarget&&c&&h&&d(e.currentTarget)&&" "===e.key)?e.preventDefault():!e.baseUIHandlerPrevented&&(e.target!==e.currentTarget||c||h||" "!==e.key||r?.(e)))},onPointerDown(e){t?e.preventDefault():i?.(e)}},c?void 0:{role:"button"},m,l)},[t,m,h,c]),buttonRef:(0,n.useStableCallback)(e=>{f.current=e,p()})}}],616117)},294237,e=>{"use strict";var r=e.i(7284);let t=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,n=r.clsx;e.s(["cva",0,(e,r)=>a=>{var s;if((null==r?void 0:r.variants)==null)return n(e,null==a?void 0:a.class,null==a?void 0:a.className);let{variants:o,defaultVariants:i}=r,l=Object.keys(o).map(e=>{let r=null==a?void 0:a[e],n=null==i?void 0:i[e];if(null===r)return null;let s=t(r)||t(n);return o[e][s]}),d=a&&Object.entries(a).reduce((e,r)=>{let[t,n]=r;return void 0===n||(e[t]=n),e},{});return n(e,l,null==r||null==(s=r.compoundVariants)?void 0:s.reduce((e,r)=>{let{class:t,className:n,...a}=r;return Object.entries(a).every(e=>{let[r,t]=e;return Array.isArray(t)?t.includes({...i,...d}[r]):({...i,...d})[r]===t})?[...e,t,n]:e},[]),null==a?void 0:a.class,null==a?void 0:a.className)}])},186339,e=>{"use strict";var r=e.i(368075);e.i(459119);var t=e.i(298699),n=e.i(616117),a=e.i(597849);let s=t.forwardRef(function(e,r){let{render:t,className:s,disabled:o=!1,focusableWhenDisabled:i=!1,nativeButton:l=!0,style:d,...c}=e,{getButtonProps:u,buttonRef:f}=(0,n.useButton)({disabled:o,focusableWhenDisabled:i,native:l});return(0,a.useRenderElement)("button",e,{state:{disabled:o},ref:[r,f],props:[c,u]})});var o=e.i(294237),i=e.i(613349);let l=(0,o.cva)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});e.s(["Button",0,function({className:e,variant:t="default",size:n="default",...a}){return(0,r.jsx)(s,{"data-slot":"button",className:(0,i.cn)(l({variant:t,size:n,className:e})),...a})},"buttonVariants",0,l],186339)},29512,e=>{"use strict";let r=(0,e.i(706875).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",0,r])},858924,e=>{"use strict";let r=(0,e.i(706875).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",0,r],858924)},575607,e=>{"use strict";var r=e.i(29512);e.s(["Check",()=>r.default])},934351,e=>{"use strict";var r=e.i(368075),t=e.i(613349);e.s(["Card",0,function({className:e,size:n="default",...a}){return(0,r.jsx)("div",{"data-slot":"card","data-size":n,className:(0,t.cn)("group/card flex flex-col gap-4 overflow-hidden rounded-xl bg-card py-4 text-sm text-card-foreground ring-1 ring-foreground/10 has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",e),...a})},"CardAction",0,function({className:e,...n}){return(0,r.jsx)("div",{"data-slot":"card-action",className:(0,t.cn)("col-start-2 row-span-2 row-start-1 self-start justify-self-end",e),...n})},"CardContent",0,function({className:e,...n}){return(0,r.jsx)("div",{"data-slot":"card-content",className:(0,t.cn)("px-4 group-data-[size=sm]/card:px-3",e),...n})},"CardHeader",0,function({className:e,...n}){return(0,r.jsx)("div",{"data-slot":"card-header",className:(0,t.cn)("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3",e),...n})},"CardTitle",0,function({className:e,...n}){return(0,r.jsx)("div",{"data-slot":"card-title",className:(0,t.cn)("font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",e),...n})}])},972248,e=>{"use strict";let r=(0,e.i(706875).default)("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]);e.s(["LogOut",0,r],972248)},371406,e=>{"use strict";var r=e.i(368075),t=e.i(298699),n=e.i(186339),a=e.i(575607),s=e.i(880932),o=e.i(613349);function i({step:e,completed:t}){return t?(0,r.jsx)("span",{className:"flex items-center justify-center size-5 rounded-full bg-emerald-500 text-white transition-all duration-300",children:(0,r.jsx)(a.Check,{className:"size-3",strokeWidth:3})}):(0,r.jsx)("span",{className:"flex items-center justify-center size-5 rounded-full bg-foreground text-background text-[10px] font-semibold",children:e})}e.s(["ConnectMachineSteps",0,function({generatedToken:e,generatingToken:a,onGenerateToken:l,registered:d}){let c=(0,t.useRef)(!1);(0,t.useEffect)(()=>{e||a||c.current||(c.current=!0,l())},[e,a,l]);let u=()=>{navigator.clipboard.writeText(`${o.CLI_CMD} register --token ${e}`),s.toast.success("Copied to clipboard")},f=`${o.CLI_CMD} daemon start`,x=()=>{navigator.clipboard.writeText(f),s.toast.success("Copied to clipboard")};return(0,r.jsxs)("div",{className:"space-y-6",children:[(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("p",{className:"text-xs font-medium flex items-center gap-2",children:[(0,r.jsx)(i,{step:1,completed:d}),"Register your CLI",d&&(0,r.jsx)("span",{className:"text-[10px] text-emerald-500 font-normal",children:"Done"})]}),(0,r.jsx)("p",{className:"text-xs text-muted-foreground pl-7",children:"Run this in your terminal to link your machine."}),a?(0,r.jsx)("div",{className:"pl-7",children:(0,r.jsx)("div",{className:"rounded-md bg-muted p-2.5 font-mono text-xs text-muted-foreground animate-pulse",children:"Generating token..."})}):e?(0,r.jsxs)("div",{className:"pl-7 space-y-2",children:[(0,r.jsxs)("div",{className:"rounded-md bg-muted p-2.5 font-mono text-xs text-muted-foreground cursor-pointer hover:bg-muted/80 transition-colors break-all",onClick:u,title:"Click to copy",children:[o.CLI_CMD," register --token"," ",(0,r.jsx)("span",{className:"text-foreground/70",children:e})]}),!d&&(0,r.jsx)(n.Button,{size:"sm",onClick:u,className:"w-full",children:"Copy Command"})]}):null]}),(0,r.jsxs)("div",{className:`space-y-2 transition-opacity duration-300 ${!d?"opacity-40 pointer-events-none":""}`,children:[(0,r.jsxs)("p",{className:"text-xs font-medium flex items-center gap-2",children:[(0,r.jsx)(i,{step:2,completed:!1}),"Start the daemon"]}),(0,r.jsx)("p",{className:"text-xs text-muted-foreground pl-7",children:"The daemon connects your local agents to Alook."}),(0,r.jsx)("div",{className:"ml-7 rounded-md bg-muted p-2.5 font-mono text-xs text-muted-foreground cursor-pointer hover:bg-muted/80 transition-colors",onClick:x,title:"Click to copy",children:f}),d&&(0,r.jsx)("div",{className:"pl-7",children:(0,r.jsx)(n.Button,{size:"sm",onClick:x,className:"w-full",children:"Copy Command"})})]})]})}])}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,642342,e=>{"use strict";var r=e.i(459119),t=e.i(298699);r.default.env.NEXT_PUBLIC_WS_DO_PORT;let n=Number(r.default.env.NEXT_PUBLIC_WS_RECONNECT_DELAY_MS)||1e3,a=Number(r.default.env.NEXT_PUBLIC_WS_RECONNECT_MAX_DELAY_MS)||3e4;e.s(["useUserWs",0,function(e){let r=(0,t.useRef)(null),s=(0,t.useRef)(n),o=(0,t.useRef)(e),i=(0,t.useRef)(null);(0,t.useEffect)(()=>{o.current=e},[e]);let l=(0,t.useRef)(null),d=(0,t.useCallback)(()=>{let e=Math.min(s.current,a);s.current=Math.min(2*e,a),i.current=setTimeout(()=>{l.current?.()},e+500*Math.random())},[]),c=(0,t.useCallback)(async()=>{let e,t,a;try{let r=await fetch("/api/ws/token");if(!r.ok){console.warn("[ws] token fetch failed:",r.status),d();return}let n=await r.json();e=n.userId,t=n.token}catch(e){console.warn("[ws] token fetch error:",e),d();return}let i=`${location.origin.replace("http","ws")}/api/ws/user?userId=${e}`;try{a=new WebSocket(i)}catch(e){console.warn("[ws] WebSocket creation failed:",e),d();return}r.current=a,a.onopen=()=>{s.current=n,a.send(JSON.stringify({type:"auth",token:t}))},a.onmessage=e=>{try{let r=JSON.parse(e.data);if("auth.ok"===r.type)return;o.current(r)}catch{}},a.onerror=()=>{},a.onclose=()=>{a===r.current&&d()}},[d]);(0,t.useEffect)(()=>{l.current=c},[c]),(0,t.useEffect)(()=>(c(),()=>{null!==i.current&&(clearTimeout(i.current),i.current=null);let e=r.current;r.current=null,e?.close()}),[c])}])},996718,e=>{"use strict";var r=e.i(298699);e.s(["useIsMobile",0,function(){let[e,t]=r.useState(void 0);return r.useEffect(()=>{let e=window.matchMedia("(max-width: 639px)"),r=()=>{t(window.innerWidth<640)};return e.addEventListener("change",r),t(window.innerWidth<640),()=>e.removeEventListener("change",r)},[]),!!e}])},400175,126366,819748,108772,e=>{"use strict";var r=e.i(368075),t=e.i(298699);let n="#27272a",a={fill:"rgba(255,255,255,0.92)",stroke:"rgba(255,255,255,0.95)",strokeWidth:3.5},s=[{name:"Purple",value:"#a855f7",gradient:["#c084fc","#a855f7","#7c3aed"],faceColor:"#2e1065"},{name:"Teal",value:"#14b8a6",gradient:["#5eead4","#14b8a6","#0d9488"],faceColor:"#134e4a"},{name:"Orange",value:"#f97316",gradient:["#fdba74","#f97316","#c2410c"],faceColor:"#7c2d12"},{name:"Blue",value:"#3b82f6",gradient:["#93c5fd","#3b82f6","#1d4ed8"],faceColor:"#1e3a5f"},{name:"Pink",value:"#f472b6",gradient:["#fda4af","#f472b6","#be185d"],faceColor:"#831843"},{name:"Yellow",value:"#eab308",gradient:["#fde047","#eab308","#a16207"],faceColor:"#713f12"},{name:"Green",value:"#22c55e",gradient:["#86efac","#22c55e","#15803d"],faceColor:"#14532d"},{name:"Beige",value:"#d6ccb8",gradient:["#e8e0d4","#d6ccb8","#b8a990"],faceColor:"#57534e"},{name:"Red",value:"#ef4444",gradient:["#fca5a5","#ef4444","#991b1b"],faceColor:"#7f1d1d"},{name:"Lake Blue",value:"#6366f1",gradient:["#a5b4fc","#6366f1","#3730a3"],faceColor:"#312e81"},{name:"Gray",value:"#9ca3af",gradient:["#d4d4d8","#9ca3af","#6b7280"],faceColor:"#374151"},{name:"Deep Purple",value:"#8b5cf6",gradient:["#c4b5fd","#8b5cf6","#5b21b6"],faceColor:"#3b0764"}],o={circle:{name:"Circle",face:{cx:100,cy:100,w:80},render:()=>(0,r.jsx)("circle",{cx:"100",cy:"100",r:"66",...a})},rounded:{name:"Rounded",face:{cx:100,cy:100,w:90},render:()=>(0,r.jsx)("rect",{x:"30",y:"30",width:"140",height:"140",rx:"32",...a})},hexagon:{name:"Hexagon",face:{cx:100,cy:100,w:86},render:()=>(0,r.jsx)("path",{d:"M100 32 C108 32 114 35 120 39 L155 60 C161 64 165 70 165 78 L165 122 C165 130 161 136 155 140 L120 161 C114 165 108 168 100 168 C92 168 86 165 80 161 L45 140 C39 136 35 130 35 122 L35 78 C35 70 39 64 45 60 L80 39 C86 35 92 32 100 32 Z",...a})},task:{name:"Task",face:{cx:100,cy:100,w:80},render:()=>(0,r.jsx)("rect",{x:"34",y:"34",width:"132",height:"132",rx:"24",...a})},book:{name:"Book",face:{cx:100,cy:100,w:80},render:()=>(0,r.jsx)("path",{d:"M42 162 L42 88 C42 54 68 34 100 34 C132 34 158 54 158 88 L158 162 C158 166 154 170 150 170 L50 170 C46 170 42 166 42 162 Z",...a})},mail:{name:"Mail",face:{cx:100,cy:100,w:86},render:()=>(0,r.jsx)("rect",{x:"28",y:"54",width:"144",height:"92",rx:"46",...a})},calendar:{name:"Calendar",face:{cx:100,cy:100,w:80},render:()=>(0,r.jsx)("path",{d:"M100 34 C138 34 166 52 166 80 C166 94 158 106 158 118 C158 148 138 166 100 166 C62 166 42 148 42 118 C42 106 34 94 34 80 C34 52 62 34 100 34 Z",...a})},bulb:{name:"Bulb",face:{cx:100,cy:104,w:76},render:()=>(0,r.jsx)("ellipse",{cx:"100",cy:"104",rx:"58",ry:"66",...a})},folder:{name:"Folder",face:{cx:102,cy:108,w:80},render:()=>(0,r.jsx)("path",{d:"M62 144 C40 144 32 128 36 116 C32 104 40 90 54 88 C56 72 70 60 88 62 C100 50 118 50 132 58 C144 52 162 60 162 76 C172 82 174 98 166 108 C172 120 164 136 150 140 Z",...a})},mountain:{name:"Mountain",face:{cx:100,cy:100,w:76},render:()=>(0,r.jsx)("path",{d:"M92 36 C120 32 156 48 164 78 C172 108 156 148 124 160 C92 172 48 156 38 124 C28 92 62 40 92 36 Z",...a})}},i=Object.keys(o),l={dot:{name:"Dot",render:(e=n)=>(0,r.jsx)("circle",{cx:"0",cy:"0",r:"4.5",fill:e})},dash:{name:"Dash",render:(e=n)=>(0,r.jsx)("line",{x1:"-10",y1:"0",x2:"10",y2:"0",stroke:e,strokeWidth:"5",strokeLinecap:"round"})},hookL:{name:"Hook",render:(e=n)=>(0,r.jsx)("path",{d:"M-11 0 Q-5.5 7 0 1.5 Q5.5 7 11 0",fill:"none",stroke:e,strokeWidth:"4.5",strokeLinecap:"round",strokeLinejoin:"round"})},smile:{name:"Smile",render:(e=n)=>(0,r.jsx)("path",{d:"M-11 0 Q0 11 11 0",fill:"none",stroke:e,strokeWidth:"5",strokeLinecap:"round"})},caret:{name:"Caret",render:(e=n)=>(0,r.jsxs)("g",{children:[(0,r.jsx)("path",{d:"M-10 0 Q0 8 10 0",fill:"none",stroke:e,strokeWidth:"4.5",strokeLinecap:"round"}),(0,r.jsx)("ellipse",{cx:"3",cy:"6",rx:"4",ry:"4.5",fill:"#f472b6"})]})},arrow:{name:"Arrow",render:(e=n)=>(0,r.jsx)("ellipse",{cx:"0",cy:"0",rx:"6",ry:"7.5",fill:e})},oh:{name:"o",render:(e=n)=>(0,r.jsx)("ellipse",{cx:"0",cy:"0",rx:"7",ry:"7.5",fill:"none",stroke:e,strokeWidth:"4.5"})}},d=Object.keys(l),c=(e,t)=>{let a=t??e,s=(t,s=n)=>(0,r.jsxs)("g",{children:[(0,r.jsx)("g",{transform:`translate(${-t}, 0)`,children:e(s)}),(0,r.jsx)("g",{transform:`translate(${t}, 0)`,children:a(s)})]});return s.displayName="EyePair",s},u={dots:{name:"Dots",render:c(e=>(0,r.jsx)("circle",{cx:"0",cy:"0",r:"7",fill:e}))},big:{name:"Big",render:c(e=>(0,r.jsxs)("g",{children:[(0,r.jsx)("circle",{cx:"0",cy:"0",r:"10",fill:e}),(0,r.jsx)("circle",{cx:"2.5",cy:"-3",r:"3.5",fill:"rgba(255,255,255,0.9)"})]}))},rings:{name:"Rings",render:c(e=>(0,r.jsx)("ellipse",{cx:"0",cy:"0",rx:"8.5",ry:"9.5",fill:"none",stroke:e,strokeWidth:"4.5"}))},arches:{name:"Arches",render:c(e=>(0,r.jsx)("path",{d:"M-10 2 Q0 -9 10 2",fill:"none",stroke:e,strokeWidth:"5",strokeLinecap:"round"}))},lines:{name:"Lines",render:c(e=>(0,r.jsx)("path",{d:"M-10 0 Q0 -6 10 0",fill:"none",stroke:e,strokeWidth:"5",strokeLinecap:"round"}))},happy:{name:"Happy",render:c(e=>(0,r.jsx)("path",{d:"M-10 5 Q0 -11 10 5",fill:"none",stroke:e,strokeWidth:"5",strokeLinecap:"round"}))},sleepy:{name:"Sleepy",render:c(e=>(0,r.jsx)("path",{d:"M-10 -2 Q0 8 10 -2",fill:"none",stroke:e,strokeWidth:"5",strokeLinecap:"round"}))},shy:{name:"Shy",render:c(e=>(0,r.jsx)("ellipse",{cx:"0",cy:"0",rx:"8.5",ry:"9.5",fill:e}))},wink:{name:"Wink",render:(e,t=n)=>(0,r.jsxs)("g",{children:[(0,r.jsx)("g",{transform:`translate(${-e}, 0)`,children:(0,r.jsx)("circle",{cx:"0",cy:"0",r:"7",fill:t})}),(0,r.jsx)("g",{transform:`translate(${e}, 0)`,children:(0,r.jsx)("path",{d:"M-10 2 Q0 -9 10 2",fill:"none",stroke:t,strokeWidth:"5",strokeLinecap:"round"})})]})}},f=Object.keys(u),x={shape:"book",eye:"happy",nose:"dash",bg:1},h=[{name:"Task",config:{shape:"task",nose:"dot",eye:"dots",bg:0}},{name:"Notes",config:{shape:"book",nose:"dash",eye:"happy",bg:1}},{name:"Mail",config:{shape:"mail",nose:"smile",eye:"dots",bg:3}},{name:"Schedule",config:{shape:"calendar",nose:"dot",eye:"dots",bg:4}},{name:"Idea",config:{shape:"bulb",nose:"oh",eye:"rings",bg:5}},{name:"Project",config:{shape:"folder",nose:"dash",eye:"lines",bg:7}},{name:"Goal",config:{shape:"mountain",nose:"caret",eye:"arches",bg:8}},{name:"Dream",config:{shape:"circle",nose:"smile",eye:"shy",bg:11}},{name:"Organize",config:{shape:"rounded",nose:"dot",eye:"sleepy",bg:6}},{name:"Explore",config:{shape:"hexagon",nose:"hookL",eye:"wink",bg:9}},{name:"Focus",config:{shape:"task",nose:"caret",eye:"lines",bg:2}},{name:"Collect",config:{shape:"book",nose:"oh",eye:"rings",bg:10}}];function m(e){return e[Math.floor(Math.random()*e.length)]}function p(){return{shape:m(i),eye:m(f),nose:m(d),bg:Math.floor(Math.random()*s.length)}}function g({config:e,size:n=200,className:a}){let i=(0,t.useId)().replace(/:/g,""),d=o[e.shape]??o.book,c=u[e.eye],f=l[e.nose],x=s[e.bg]??s[0],[h,m,p]=x.gradient,b=x.faceColor,{cx:v,cy:y,w:j}=d.face,k=Math.max(13,.24*j),C=y-Math.max(12,.16*j);return(0,r.jsxs)("svg",{viewBox:"0 0 200 200",width:n,height:n,className:a,style:{display:"block"},children:[(0,r.jsxs)("defs",{children:[(0,r.jsxs)("linearGradient",{id:`bg-${i}`,x1:"0%",y1:"0%",x2:"100%",y2:"100%",children:[(0,r.jsx)("stop",{offset:"0%",stopColor:h}),(0,r.jsx)("stop",{offset:"50%",stopColor:m}),(0,r.jsx)("stop",{offset:"100%",stopColor:p})]}),(0,r.jsxs)("radialGradient",{id:`gl-${i}`,cx:"30%",cy:"25%",r:"60%",children:[(0,r.jsx)("stop",{offset:"0%",stopColor:"rgba(255,255,255,0.32)"}),(0,r.jsx)("stop",{offset:"100%",stopColor:"rgba(255,255,255,0)"})]}),(0,r.jsx)("filter",{id:`sh-${i}`,x:"-10%",y:"-5%",width:"120%",height:"130%",children:(0,r.jsx)("feDropShadow",{dx:"0",dy:"3",stdDeviation:"4",floodColor:"rgba(0,0,0,0.18)"})})]}),(0,r.jsx)("rect",{x:"0",y:"0",width:"200",height:"200",rx:"56",fill:`url(#bg-${i})`}),(0,r.jsx)("rect",{x:"0",y:"0",width:"200",height:"200",rx:"56",fill:`url(#gl-${i})`}),(0,r.jsxs)("g",{transform:"translate(100,100) scale(0.8) translate(-100,-100)",children:[(0,r.jsx)("g",{"data-avatar-shape":"",filter:`url(#sh-${i})`,children:d.render()}),c&&(0,r.jsx)("g",{transform:`translate(${v}, ${C})`,children:(0,r.jsx)("g",{"data-avatar-eyes":"",children:c.render(k,b)})}),f&&(0,r.jsx)("g",{transform:`translate(${v}, ${y+7})`,children:(0,r.jsx)("g",{"data-avatar-nose":"",children:f.render(b)})})]})]})}let b="avatar:";e.s(["AvatarRenderer",0,g,"BG_COLORS",0,s,"DEFAULT_CONFIG",0,x,"EYE_KEYS",0,f,"Eyes",0,u,"NOSE_KEYS",0,d,"Noses",0,l,"PRESETS",0,h,"SHAPE_KEYS",0,i,"Shapes",0,o,"parseAvatarUrl",0,function(e){if(!e||!e.startsWith(b))return null;try{let r=JSON.parse(e.slice(b.length));if("object"==typeof r&&null!==r&&"string"==typeof r.shape&&"string"==typeof r.eye&&"string"==typeof r.nose&&"number"==typeof r.bg)return r;if("object"==typeof r&&null!==r&&"outline"in r)return x;return null}catch{return null}},"randomConfig",0,p,"serializeAvatarConfig",0,function(e){return b+JSON.stringify(e)}],126366);let v=["avatar-anim-shape-bounce","avatar-anim-head-tilt","avatar-anim-shake","avatar-anim-wobble","avatar-anim-pulse","avatar-anim-spin","avatar-anim-jelly","avatar-anim-float","avatar-anim-nod"];e.s(["AnimatedAvatar",0,function({config:e,size:n,className:a,isHovered:s,isWorking:o}){let[i,l]=(0,t.useState)(null),d=(0,t.useRef)(-1);function c(){let e=Math.floor(Math.random()*v.length);return e===d.current&&(e=(e+1)%v.length),d.current=e,v[e]}return(0,t.useEffect)(()=>{s?l(c()):o||l(null)},[s,o]),(0,t.useEffect)(()=>{if(!o){s||l(null);return}l(c());let e=setInterval(()=>{l(c())},4e3);return()=>clearInterval(e)},[s,o]),(0,r.jsx)("div",{className:i??void 0,children:(0,r.jsx)(g,{config:e,size:n,className:a})})}],819748);var y=e.i(613349);function j({label:e,keys:t,value:n,onChange:a,renderThumb:s,mobile:o=!1}){let i=t.indexOf(n),l=e=>a(t[(i+e+t.length)%t.length]),d=t[(i-1+t.length)%t.length],c=t[(i+1)%t.length];return(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"w-12 text-xs font-medium text-muted-foreground shrink-0",children:e}),(0,r.jsx)("button",{type:"button",onClick:()=>l(-1),className:(0,y.cn)("flex items-center justify-center rounded-md hover:bg-accent transition-colors",o?"size-10":"size-7"),children:(0,r.jsx)("svg",{viewBox:"0 0 24 24",width:"16",height:"16",children:(0,r.jsx)("path",{d:"M15 5 L8 12 L15 19",fill:"none",stroke:"currentColor",strokeWidth:"2.4",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,r.jsxs)("div",{className:"flex items-center gap-1 flex-1 justify-center",children:[(0,r.jsx)("button",{type:"button",onClick:()=>l(-1),className:"opacity-30 hover:opacity-60 transition-opacity",tabIndex:-1,children:s(d)}),(0,r.jsx)("button",{type:"button",onClick:()=>l(1),className:"border-2 border-primary rounded-lg p-0.5",children:s(n)}),(0,r.jsx)("button",{type:"button",onClick:()=>l(1),className:"opacity-30 hover:opacity-60 transition-opacity",tabIndex:-1,children:s(c)})]}),(0,r.jsx)("button",{type:"button",onClick:()=>l(1),className:(0,y.cn)("flex items-center justify-center rounded-md hover:bg-accent transition-colors",o?"size-10":"size-7"),children:(0,r.jsx)("svg",{viewBox:"0 0 24 24",width:"16",height:"16",children:(0,r.jsx)("path",{d:"M9 5 L16 12 L9 19",fill:"none",stroke:"currentColor",strokeWidth:"2.4",strokeLinecap:"round",strokeLinejoin:"round"})})})]})}function k({config:e,onChange:n,layout:a="vertical",mobile:c=!1}){let[x,m]=(0,t.useState)("presets"),b=(0,t.useCallback)((r,t)=>{n({...e,[r]:t})},[e,n]),[v,C]=(0,t.useState)(!1),w=(0,t.useRef)(e);(0,t.useEffect)(()=>{if(w.current.shape!==e.shape||w.current.eye!==e.eye||w.current.nose!==e.nose||w.current.bg!==e.bg){C(!0);let r=setTimeout(()=>C(!1),450);return w.current=e,()=>clearTimeout(r)}},[e]),(0,t.useEffect)(()=>{if("horizontal"!==a)return;let e=e=>{"Space"===e.code&&e.target===document.body&&(e.preventDefault(),n(p()))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[a,n]);let N="horizontal"===a,L=N?220:c?120:160,M=(0,r.jsxs)("div",{className:(0,y.cn)("flex flex-col items-center gap-3 rounded-2xl bg-muted/30",c?"p-3":"p-4",N?"w-70 shrink-0 justify-center":""),children:[(0,r.jsx)("div",{className:(0,y.cn)("rounded-2xl",v&&"animate-[shake_0.45s_cubic-bezier(.36,.07,.19,.97)]"),children:(0,r.jsx)(g,{config:e,size:L})}),(0,r.jsxs)("button",{type:"button",onClick:()=>n(p()),className:"inline-flex items-center gap-2 rounded-full bg-foreground px-4 py-1.5 text-sm font-medium text-background hover:bg-foreground/80 transition-colors",children:[(0,r.jsxs)("svg",{viewBox:"0 0 24 24",width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("rect",{x:"2",y:"2",width:"20",height:"20",rx:"3"}),(0,r.jsx)("circle",{cx:"8",cy:"8",r:"1.5",fill:"currentColor"}),(0,r.jsx)("circle",{cx:"16",cy:"8",r:"1.5",fill:"currentColor"}),(0,r.jsx)("circle",{cx:"8",cy:"16",r:"1.5",fill:"currentColor"}),(0,r.jsx)("circle",{cx:"16",cy:"16",r:"1.5",fill:"currentColor"}),(0,r.jsx)("circle",{cx:"12",cy:"12",r:"1.5",fill:"currentColor"})]}),"Random",N&&(0,r.jsx)("kbd",{className:"ml-1 rounded bg-background/20 px-1.5 py-0.5 text-[10px] font-mono",children:"Space"})]})]}),z=(0,r.jsxs)("div",{className:(0,y.cn)("flex flex-col gap-3 flex-1 min-w-0",N&&"rounded-2xl bg-muted/30 p-4 h-95"),children:[(0,r.jsxs)("div",{className:"flex border-b border-border",children:[(0,r.jsx)("button",{type:"button",onClick:()=>m("presets"),className:(0,y.cn)("flex-1 pb-2 text-sm font-medium text-center transition-colors border-b-2","presets"===x?"border-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"),children:"★ Presets"}),(0,r.jsx)("button",{type:"button",onClick:()=>m("custom"),className:(0,y.cn)("flex-1 pb-2 text-sm font-medium text-center transition-colors border-b-2","custom"===x?"border-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"),children:"⚙ Custom"})]}),(0,r.jsxs)("div",{className:(0,y.cn)("flex-1 min-h-0",N&&"overflow-y-auto thin-scrollbar"),children:["presets"===x&&(0,r.jsx)("div",{className:(0,y.cn)("grid gap-2",c?"grid-cols-3":"grid-cols-4"),children:h.map(t=>{let a=t.config.shape===e.shape&&t.config.eye===e.eye&&t.config.nose===e.nose&&t.config.bg===e.bg;return(0,r.jsx)("button",{type:"button",onClick:()=>n(t.config),className:(0,y.cn)("flex items-center justify-center rounded-xl border p-2 transition-all",a?"border-primary border-2 bg-primary/5 shadow-sm":"border-border bg-background hover:border-primary/40"),children:(0,r.jsx)(g,{config:t.config,size:56})},t.name)})}),"custom"===x&&(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,r.jsx)(j,{label:"Shape",keys:i,value:e.shape,onChange:e=>b("shape",e),renderThumb:e=>(0,r.jsxs)("svg",{viewBox:"0 0 200 200",width:"40",height:"40",children:[(0,r.jsx)("rect",{width:"200",height:"200",rx:"56",fill:"hsl(var(--muted))"}),(0,r.jsx)("g",{transform:"translate(100,100) scale(0.8) translate(-100,-100)",children:o[e]?.render()})]}),mobile:c}),(0,r.jsx)(j,{label:"Nose",keys:d,value:e.nose,onChange:e=>b("nose",e),renderThumb:e=>(0,r.jsx)("svg",{viewBox:"-14 -10 28 20",width:"36",height:"24",children:l[e]?.render("currentColor")}),mobile:c}),(0,r.jsx)(j,{label:"Eyes",keys:f,value:e.eye,onChange:e=>b("eye",e),renderThumb:e=>(0,r.jsx)("svg",{viewBox:"-18 -10 36 20",width:"44",height:"24",children:u[e]?.render(8,"currentColor")}),mobile:c}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"mb-2 text-xs font-medium text-muted-foreground",children:"Color"}),(0,r.jsx)("div",{className:(0,y.cn)("flex flex-wrap p-1",c?"gap-3":"gap-2"),children:s.map((t,n)=>(0,r.jsx)("button",{type:"button",onClick:()=>b("bg",n),title:t.name,className:(0,y.cn)("rounded-full transition-shadow",c?"size-8":"size-7",e.bg===n?"ring-2 ring-primary ring-offset-2":"ring-1 ring-border"),style:{background:`linear-gradient(135deg, ${t.gradient[0]}, ${t.gradient[1]}, ${t.gradient[2]})`}},t.value))})]})]})]})]});return N?(0,r.jsxs)("div",{className:"flex gap-4",children:[M,z]}):(0,r.jsxs)("div",{className:"flex flex-col gap-4",children:[M,z]})}var C=e.i(779646),w=e.i(996718);e.s(["AvatarPickerDialog",0,function({config:e,onChange:n}){let[a,s]=(0,t.useState)(!1),[o,i]=(0,t.useState)(e),l=(0,w.useIsMobile)();return(0,r.jsxs)(C.Dialog,{open:a,onOpenChange:r=>{r&&i(e),s(r)},children:[(0,r.jsx)("div",{className:"flex justify-center",children:(0,r.jsx)(C.DialogTrigger,{render:(0,r.jsx)("button",{type:"button",className:"rounded-2xl bg-background p-1.5 shadow-sm border border-border hover:border-primary/40 transition-colors cursor-pointer"}),children:(0,r.jsx)(g,{config:e,size:80})})}),(0,r.jsxs)(C.DialogContent,{className:l?"top-auto left-0 translate-x-0 translate-y-0 bottom-0 max-w-full sm:max-w-full w-full rounded-b-none rounded-t-xl max-h-[85dvh] overflow-y-auto pb-[env(safe-area-inset-bottom)]":"sm:max-w-180",children:[(0,r.jsx)(C.DialogHeader,{children:(0,r.jsx)(C.DialogTitle,{children:"Choose Avatar"})}),(0,r.jsx)(k,{config:o,layout:l?"vertical":"horizontal",onChange:e=>{i(e),n(e)},mobile:l}),l&&(0,r.jsx)("button",{type:"button",onClick:()=>s(!1),className:"w-full rounded-xl bg-primary py-3 text-sm font-medium text-primary-foreground hover:bg-primary/90 transition-colors",children:"Done"})]})]})}],108772),e.s([],400175)},952003,e=>{"use strict";let r=(0,e.i(706875).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,r],952003)},575607,e=>{"use strict";var r=e.i(29512);e.s(["Check",()=>r.default])},208020,(e,r,t)=>{r.exports=e.r(170928)},706875,e=>{"use strict";var r=e.i(298699);let t=(...e)=>e.filter((e,r,t)=>!!e&&""!==e.trim()&&t.indexOf(e)===r).join(" ").trim(),n=e=>{let r=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,r,t)=>t?t.toUpperCase():r.toLowerCase());return r.charAt(0).toUpperCase()+r.slice(1)};var a={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let s=(0,r.createContext)({}),o=(0,r.forwardRef)(({color:e,size:n,strokeWidth:o,absoluteStrokeWidth:i,className:l="",children:d,iconNode:c,...u},f)=>{let{size:x=24,strokeWidth:h=2,absoluteStrokeWidth:m=!1,color:p="currentColor",className:g=""}=(0,r.useContext)(s)??{},b=i??m?24*Number(o??h)/Number(n??x):o??h;return(0,r.createElement)("svg",{ref:f,...a,width:n??x??a.width,height:n??x??a.height,stroke:e??p,strokeWidth:b,className:t("lucide",g,l),...!d&&!(e=>{for(let r in e)if(r.startsWith("aria-")||"role"===r||"title"===r)return!0;return!1})(u)&&{"aria-hidden":"true"},...u},[...c.map(([e,t])=>(0,r.createElement)(e,t)),...Array.isArray(d)?d:[d]])});e.s(["default",0,(e,a)=>{let s=(0,r.forwardRef)(({className:s,...i},l)=>(0,r.createElement)(o,{ref:l,iconNode:a,className:t(`lucide-${n(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,s),...i}));return s.displayName=n(e),s}],706875)},616117,484665,e=>{"use strict";e.i(459119);var r=e.i(298699),t=e.i(92615),n=e.i(773825),a=e.i(389068),s=e.i(943891),o=e.i(398258);let i=r.createContext(void 0);function l(e=!1){let t=r.useContext(i);if(void 0===t&&!e)throw Error((0,o.default)(16));return t}function d(e){return(0,t.isHTMLElement)(e)&&"BUTTON"===e.tagName}e.s(["CompositeRootContext",0,i,"useCompositeRootContext",0,l],484665),e.s(["useButton",0,function(e={}){let{disabled:t=!1,focusableWhenDisabled:o,tabIndex:i=0,native:c=!0,composite:u}=e,f=r.useRef(null),x=l(!0),h=u??void 0!==x,{props:m}=function(e){let{focusableWhenDisabled:t,disabled:n,composite:a=!1,tabIndex:s=0,isNativeButton:o}=e,i=a&&!1!==t,l=a&&!1===t;return{props:r.useMemo(()=>{let e={onKeyDown(e){n&&t&&"Tab"!==e.key&&e.preventDefault()}};return a||(e.tabIndex=s,!o&&n&&(e.tabIndex=t?s:-1)),(o&&(t||i)||!o&&n)&&(e["aria-disabled"]=n),o&&(!t||l)&&(e.disabled=n),e},[a,n,t,i,l,o,s])}}({focusableWhenDisabled:o,disabled:t,composite:h,tabIndex:i,isNativeButton:c}),p=r.useCallback(()=>{let e=f.current;d(e)&&h&&t&&void 0===m.disabled&&e.disabled&&(e.disabled=!1)},[t,m.disabled,h]);return(0,a.useIsoLayoutEffect)(p,[p]),{getButtonProps:r.useCallback((e={})=>{let{onClick:r,onMouseDown:n,onKeyUp:a,onKeyDown:o,onPointerDown:i,...l}=e,u=c?"button":void 0;return(0,s.mergeProps)({type:u,onClick(e){t?e.preventDefault():r?.(e)},onMouseDown(e){t||n?.(e)},onKeyDown(e){var n;if(t||((0,s.makeEventPreventable)(e),o?.(e),e.baseUIHandlerPrevented))return;let a=e.target===e.currentTarget,i=e.currentTarget,l=d(i),u=!c&&(n=i,!!(n?.tagName==="A"&&n?.href)),f=a&&(c?l:!u),x="Enter"===e.key,m=" "===e.key,p=i.getAttribute("role"),g=p?.startsWith("menuitem")||"option"===p||"gridcell"===p;if(a&&h&&m){if(e.defaultPrevented&&g)return;e.preventDefault(),u||c&&l?(i.click(),e.preventBaseUIHandler()):f&&(r?.(e),e.preventBaseUIHandler());return}f&&(!c&&(m||x)&&e.preventDefault(),!c&&x&&r?.(e))},onKeyUp(e){t||(((0,s.makeEventPreventable)(e),a?.(e),e.target===e.currentTarget&&c&&h&&d(e.currentTarget)&&" "===e.key)?e.preventDefault():!e.baseUIHandlerPrevented&&(e.target!==e.currentTarget||c||h||" "!==e.key||r?.(e)))},onPointerDown(e){t?e.preventDefault():i?.(e)}},c?void 0:{role:"button"},m,l)},[t,m,h,c]),buttonRef:(0,n.useStableCallback)(e=>{f.current=e,p()})}}],616117)},294237,e=>{"use strict";var r=e.i(7284);let t=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,n=r.clsx;e.s(["cva",0,(e,r)=>a=>{var s;if((null==r?void 0:r.variants)==null)return n(e,null==a?void 0:a.class,null==a?void 0:a.className);let{variants:o,defaultVariants:i}=r,l=Object.keys(o).map(e=>{let r=null==a?void 0:a[e],n=null==i?void 0:i[e];if(null===r)return null;let s=t(r)||t(n);return o[e][s]}),d=a&&Object.entries(a).reduce((e,r)=>{let[t,n]=r;return void 0===n||(e[t]=n),e},{});return n(e,l,null==r||null==(s=r.compoundVariants)?void 0:s.reduce((e,r)=>{let{class:t,className:n,...a}=r;return Object.entries(a).every(e=>{let[r,t]=e;return Array.isArray(t)?t.includes({...i,...d}[r]):({...i,...d})[r]===t})?[...e,t,n]:e},[]),null==a?void 0:a.class,null==a?void 0:a.className)}])},186339,e=>{"use strict";var r=e.i(368075);e.i(459119);var t=e.i(298699),n=e.i(616117),a=e.i(597849);let s=t.forwardRef(function(e,r){let{render:t,className:s,disabled:o=!1,focusableWhenDisabled:i=!1,nativeButton:l=!0,style:d,...c}=e,{getButtonProps:u,buttonRef:f}=(0,n.useButton)({disabled:o,focusableWhenDisabled:i,native:l});return(0,a.useRenderElement)("button",e,{state:{disabled:o},ref:[r,f],props:[c,u]})});var o=e.i(294237),i=e.i(613349);let l=(0,o.cva)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});e.s(["Button",0,function({className:e,variant:t="default",size:n="default",...a}){return(0,r.jsx)(s,{"data-slot":"button",className:(0,i.cn)(l({variant:t,size:n,className:e})),...a})},"buttonVariants",0,l],186339)},29512,e=>{"use strict";let r=(0,e.i(706875).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",0,r])},858924,e=>{"use strict";let r=(0,e.i(706875).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",0,r],858924)},934351,e=>{"use strict";var r=e.i(368075),t=e.i(613349);e.s(["Card",0,function({className:e,size:n="default",...a}){return(0,r.jsx)("div",{"data-slot":"card","data-size":n,className:(0,t.cn)("group/card flex flex-col gap-4 overflow-hidden rounded-xl bg-card py-4 text-sm text-card-foreground ring-1 ring-foreground/10 has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",e),...a})},"CardAction",0,function({className:e,...n}){return(0,r.jsx)("div",{"data-slot":"card-action",className:(0,t.cn)("col-start-2 row-span-2 row-start-1 self-start justify-self-end",e),...n})},"CardContent",0,function({className:e,...n}){return(0,r.jsx)("div",{"data-slot":"card-content",className:(0,t.cn)("px-4 group-data-[size=sm]/card:px-3",e),...n})},"CardHeader",0,function({className:e,...n}){return(0,r.jsx)("div",{"data-slot":"card-header",className:(0,t.cn)("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3",e),...n})},"CardTitle",0,function({className:e,...n}){return(0,r.jsx)("div",{"data-slot":"card-title",className:(0,t.cn)("font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",e),...n})}])},972248,e=>{"use strict";let r=(0,e.i(706875).default)("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]);e.s(["LogOut",0,r],972248)},371406,e=>{"use strict";var r=e.i(368075),t=e.i(298699),n=e.i(186339),a=e.i(575607),s=e.i(880932),o=e.i(613349);function i({step:e,completed:t}){return t?(0,r.jsx)("span",{className:"flex items-center justify-center size-5 rounded-full bg-emerald-500 text-white transition-all duration-300",children:(0,r.jsx)(a.Check,{className:"size-3",strokeWidth:3})}):(0,r.jsx)("span",{className:"flex items-center justify-center size-5 rounded-full bg-foreground text-background text-xs font-semibold",children:e})}e.s(["ConnectMachineSteps",0,function({generatedToken:e,generatingToken:a,onGenerateToken:l,registered:d}){let c=(0,t.useRef)(!1);(0,t.useEffect)(()=>{e||a||c.current||(c.current=!0,l())},[e,a,l]);let u=()=>{navigator.clipboard.writeText(`${o.CLI_CMD} register --token ${e}`),s.toast.success("Copied to clipboard")},f=`${o.CLI_CMD} daemon start`,x=()=>{navigator.clipboard.writeText(f),s.toast.success("Copied to clipboard")};return(0,r.jsxs)("div",{className:"space-y-6",children:[(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("p",{className:"text-sm font-medium flex items-center gap-2",children:[(0,r.jsx)(i,{step:1,completed:d}),"Register your CLI",d&&(0,r.jsx)("span",{className:"text-xs text-emerald-500 font-normal",children:"Done"})]}),(0,r.jsx)("p",{className:"text-xs text-muted-foreground pl-7",children:"Run this in your terminal to link your machine."}),a?(0,r.jsx)("div",{className:"pl-7",children:(0,r.jsx)("div",{className:"rounded-md bg-muted p-2.5 font-mono text-xs text-muted-foreground animate-pulse",children:"Generating token..."})}):e?(0,r.jsxs)("div",{className:"pl-7 space-y-2",children:[(0,r.jsxs)("div",{className:"rounded-md bg-muted p-2.5 font-mono text-xs text-muted-foreground cursor-pointer hover:bg-muted/80 transition-colors break-all",onClick:u,title:"Click to copy",children:[o.CLI_CMD," register --token"," ",(0,r.jsx)("span",{className:"text-foreground/70",children:e})]}),!d&&(0,r.jsx)(n.Button,{size:"sm",onClick:u,className:"w-full",children:"Copy Command"})]}):null]}),(0,r.jsxs)("div",{className:`space-y-2 transition-opacity duration-300 ${!d?"opacity-40 pointer-events-none":""}`,children:[(0,r.jsxs)("p",{className:"text-sm font-medium flex items-center gap-2",children:[(0,r.jsx)(i,{step:2,completed:!1}),"Start the daemon"]}),(0,r.jsx)("p",{className:"text-xs text-muted-foreground pl-7",children:"The daemon connects your local agents to Alook."}),(0,r.jsx)("div",{className:"ml-7 rounded-md bg-muted p-2.5 font-mono text-xs text-muted-foreground cursor-pointer hover:bg-muted/80 transition-colors",onClick:x,title:"Click to copy",children:f}),d&&(0,r.jsx)("div",{className:"pl-7",children:(0,r.jsx)(n.Button,{size:"sm",onClick:x,className:"w-full",children:"Copy Command"})})]})]})}])}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,903477,752814,9441,e=>{"use strict";var t=e.i(368075);e.i(459119);var s=e.i(298699);e.s([],691118),e.i(691118);var a=e.i(773825),r=e.i(716532),i=e.i(220308),l=e.i(398258);let n=s.createContext({legendId:void 0,setLegendId:()=>{},disabled:void 0});var o=e.i(482691),d=e.i(610580),c=e.i(943891),u=e.i(541126),m=e.i(536735);let p=function(e){let r=(0,u.useBaseUiId)(),i=void 0===e.controlId?r:e.controlId,[l,n]=s.useState(i),[o,p]=s.useState(e.labelId),[x,f]=s.useState([]),h=(0,d.useRefWithInit)(()=>new Map),{messageIds:v}=(0,m.useLabelableContext)(),g=(0,a.useStableCallback)((e,t)=>{let s=h.current;void 0===t?s.delete(e):(s.set(e,t),n(e=>{let t;if(0!==s.size){for(let a of s.values()){if(void 0!==e&&a===e)return e;void 0===t&&(t=a)}return t}}))}),b=s.useCallback(e=>(0,c.mergeProps)({"aria-describedby":v.concat(x).join(" ")||void 0},e),[v,x]),j=s.useMemo(()=>({controlId:l,registerControlId:g,labelId:o,setLabelId:p,messageIds:x,setMessageIds:f,getDescriptionProps:b}),[l,g,o,p,x,f,b]);return(0,t.jsx)(m.LabelableContext.Provider,{value:j,children:e.children})};var x=e.i(597849),f=e.i(128726),h=e.i(385967);function v(e,t){return{...e,state:{...e.state,valid:!t&&e.state.valid}}}let g=Object.keys(i.DEFAULT_VALIDITY_STATE);var b=e.i(550008),j=e.i(389068);let y=s.forwardRef(function(e,d){let{errors:u,validationMode:p,submitAttemptedRef:y}=(0,o.useFormContext)(),{render:C,className:N,validate:w,validationDebounceTime:A=0,validationMode:S=p,name:P,disabled:k=!1,invalid:E,dirty:M,touched:I,actionsRef:L,style:R,...F}=e,{disabled:T}=function(e=!1){let t=s.useContext(n);if(!t&&!e)throw Error((0,l.default)(86));return t}(),H=(0,a.useStableCallback)(w||(()=>null)),D=T||k,[O,V]=s.useState(!1),[_,U]=s.useState(!1),[B,z]=s.useState(!1),[X,G]=s.useState(!1),K=M??_,W=I??O,Y=s.useRef(!1),q=(0,a.useStableCallback)(e=>{void 0===M&&(e&&(Y.current=!0),U(e))}),Z=(0,a.useStableCallback)(e=>{void 0===I&&V(e)}),J=(0,a.useStableCallback)(()=>"onChange"===S||"onSubmit"===S&&y.current),Q=!!P&&Object.hasOwn(u,P)&&void 0!==u[P],$=!0===E||Q,[ee,et]=s.useState({state:i.DEFAULT_VALIDITY_STATE,error:"",errors:[],value:null,initialValue:null}),es=!$&&ee.state.valid,ea=s.useMemo(()=>({disabled:D,touched:W,dirty:K,valid:es,filled:B,focused:X}),[D,W,K,es,B,X]),er=function(e){let{formRef:t,clearErrors:r}=(0,o.useFormContext)(),{setValidityData:l,validate:n,validityData:d,validationDebounceTime:u,invalid:p,markedDirtyRef:x,state:b,name:j,shouldValidateOnChange:y}=e,{controlId:C,getDescriptionProps:N}=(0,m.useLabelableContext)(),w=(0,h.useTimeout)(),A=s.useRef(null),S=(0,a.useStableCallback)(async(e,s=!1)=>{let a,r=A.current;if(!r)return;if(s){if(!1!==b.valid)return;let s=r.validity;if(!s.valueMissing){let s={value:e,state:{...i.DEFAULT_VALIDITY_STATE,valid:!0},error:"",errors:[],initialValue:d.initialValue};if(r.setCustomValidity(""),C){let e=t.current.fields.get(C);e&&t.current.fields.set(C,{...e,...v(s,!1)})}l(s);return}let a=g.reduce((e,t)=>(e[t]=s[t],e),{});if(!a.valid&&!function(e){if(!e||e.valid||!e.valueMissing)return!1;let t=!1;for(let s of g)"valid"!==s&&("valueMissing"===s&&(t=e[s]),e[s]&&(t=!1));return t}(a))return}w.clear();let o=null,c=[],u=function(e){let t=g.reduce((t,s)=>(t[s]=e.validity[s],t),{}),s=!1;for(let e of g)if("valid"!==e){if("valueMissing"===e&&t[e])s=!0;else if(t[e])return t}return s&&!x.current&&(t.valid=!0,t.valueMissing=!1),t}(r),m=y();if(r.validationMessage&&!m)a=r.validationMessage,c=[r.validationMessage];else{let s=n(e,Array.from(t.current.fields.values()).reduce((e,t)=>(t.name&&(e[t.name]=t.getValue()),e),{}));null!==(o="object"==typeof s&&null!==s&&"then"in s?await s:s)?(u.valid=!1,u.customError=!0,Array.isArray(o)?(c=o,r.setCustomValidity(o.join("\n"))):o&&(c=[o],r.setCustomValidity(o))):m&&(r.setCustomValidity(""),u.customError=!1,r.validationMessage?(a=r.validationMessage,c=[r.validationMessage]):r.validity.valid&&!u.valid&&(u.valid=!0))}let f={value:e,state:u,error:a??(Array.isArray(o)?o[0]:o??""),errors:c,initialValue:d.initialValue};if(C){let e=t.current.fields.get(C);e&&t.current.fields.set(C,{...e,...v(f,p)})}l(f)}),P=s.useCallback((e={})=>(0,c.mergeProps)(N,!1===b.valid?{"aria-invalid":!0}:f.EMPTY_OBJECT,e),[N,b.valid]),k=s.useCallback((e={})=>(0,c.mergeProps)({onChange(e){if(e.nativeEvent.defaultPrevented)return;if(r(j),!y())return void S(e.currentTarget.value,!0);let t=e.currentTarget;""===t.value?S(t.value):(w.clear(),u?w.start(u,()=>{S(t.value)}):S(t.value))}},P(e)),[P,r,j,w,S,u,y]);return s.useMemo(()=>({getValidationProps:P,getInputValidationProps:k,inputRef:A,commit:S}),[P,k,S])}({setValidityData:et,validate:H,validityData:ee,validationDebounceTime:A,invalid:$,markedDirtyRef:Y,state:ea,name:P,shouldValidateOnChange:J}),ei=s.useCallback(()=>{Y.current=!0,er.commit(ee.value)},[er,ee]),el=function(e){let{commit:t,invalid:r,markedDirtyRef:i,name:l,setValidityData:n,validityData:d}=e,{formRef:c}=(0,o.useFormContext)(),u=s.useRef(null),m=s.useRef(null),p=s.useRef(null),x=(0,a.useStableCallback)(()=>{let e=m.current;if(e)return e.getValue?e.getValue():e.value}),f=(0,a.useStableCallback)((e=!0)=>{let s=m.current;if(!s)return;let a=s.value;void 0===a&&(a=x()),i.current=!0,e?b.flushSync(()=>t(a)):t(a)});function h(e=m.current?.id){e&&c.current.fields.delete(e)}return(0,j.useIsoLayoutEffect)(()=>{let e=m.current;e&&e.id&&c.current.fields.set(e.id,{getValue:x,name:l,controlRef:e.controlRef??p,validityData:v(d,r),validate:f})},[c,x,r,l,f,d]),(0,j.useIsoLayoutEffect)(()=>{let e=c.current.fields;return()=>{let t=m.current?.id;t&&e.delete(t)}},[c]),(0,a.useStableCallback)((e,t)=>{let s;if(!t){u.current===e&&(u.current=null,h(),m.current=null);return}let a=m.current?.id;u.current=e,m.current=t,a&&a!==t.id&&h(a),function(){let e=m.current;if(!e)return;let t=e.value;void 0===t&&(t=x()),null===d.initialValue&&null!==t&&n(e=>({...e,initialValue:t}))}(),(s=m.current)&&s.id&&c.current.fields.set(s.id,{getValue:x,name:l,controlRef:s.controlRef??p,validityData:v(d,r),validate:f})})}({commit:er.commit,invalid:$,markedDirtyRef:Y,name:P,setValidityData:et,validityData:ee});s.useImperativeHandle(L,()=>({validate:ei}),[ei]);let en=s.useMemo(()=>({invalid:$,name:P,validityData:ee,setValidityData:et,disabled:D,touched:W,setTouched:Z,dirty:K,setDirty:q,filled:B,setFilled:z,focused:X,setFocused:G,validate:H,validationMode:S,validationDebounceTime:A,shouldValidateOnChange:J,state:ea,markedDirtyRef:Y,registerFieldControl:el,validation:er}),[$,P,ee,D,W,Z,K,q,B,z,X,G,H,S,A,J,ea,el,er]),eo=(0,x.useRenderElement)("div",e,{ref:d,state:ea,props:F,stateAttributesMapping:i.fieldValidityMapping});return(0,t.jsx)(r.FieldRootContext.Provider,{value:en,children:eo})}),C=s.forwardRef(function(e,s){return(0,t.jsx)(p,{children:(0,t.jsx)(y,{...e,ref:s})})});var N=e.i(589193);let w=s.forwardRef(function(e,t){let{render:a,className:l,style:n,id:o,nativeLabel:d=!0,...c}=e,u=(0,r.useFieldRootContext)(!1),{labelId:p}=(0,m.useLabelableContext)(),f=s.useRef(null),h=(0,N.useLabel)({id:p??o,native:d});return(0,x.useRenderElement)("label",e,{ref:[t,f],state:u.state,props:[h,c],stateAttributesMapping:i.fieldValidityMapping})});var A=e.i(570868),S=e.i(106580),P=e.i(221995);let k={...i.fieldValidityMapping,...S.transitionStatusMapping},E=s.forwardRef(function(e,a){let{render:i,id:l,className:n,match:d,style:c,...p}=e,f=(0,u.useBaseUiId)(l),{validityData:h,state:v,name:g}=(0,r.useFieldRootContext)(!1),{setMessageIds:b}=(0,m.useLabelableContext)(),{errors:y}=(0,o.useFormContext)(),C=g?y[g]:null,N="string"==typeof d,w=!1;w=!0===d||(N?!!h.state[d]:!!C||!1===h.state.valid);let{mounted:S,transitionStatus:E,setMounted:M}=(0,P.useTransitionStatus)(w);(0,j.useIsoLayoutEffect)(()=>{if(w&&f)return b(e=>e.concat(f)),()=>{b(e=>e.filter(e=>e!==f))}},[w,f,b]);let I=s.useRef(null),[L,R]=s.useState(null),[F,T]=s.useState(null),H=h.errors.length>1?(0,t.jsx)("ul",{children:h.errors.map(e=>(0,t.jsx)("li",{children:e},e))}):h.error,D=N?H:C||H,O=h.error;null!=C?O=Array.isArray(C)?JSON.stringify(C):C:h.errors.length>1&&(O=JSON.stringify(h.errors)),w&&O!==F&&(T(O),R(D)),(0,A.useOpenChangeComplete)({open:w,ref:I,onComplete(){w||M(!1)}});let V={...v,transitionStatus:E},_=(0,x.useRenderElement)("div",e,{ref:[a,I],state:V,props:[{id:f,children:w?D:L},p],stateAttributesMapping:k,enabled:S});return S?_:null}),M=s.forwardRef(function(e,t){let{render:s,id:a,className:l,style:n,...o}=e,d=(0,u.useBaseUiId)(a),c=(0,r.useFieldRootContext)(!1),{setMessageIds:p}=(0,m.useLabelableContext)();return(0,j.useIsoLayoutEffect)(()=>{if(d)return p(e=>e.concat(d)),()=>{p(e=>e.filter(e=>e!==d))}},[d,p]),(0,x.useRenderElement)("p",e,{ref:t,state:c.state,props:[{id:d},o],stateAttributesMapping:i.fieldValidityMapping})});var I=e.i(969183),L=e.i(208700),R=e.i(945656),F=e.i(734525),T=e.i(211752),H=e.i(857504),D=e.i(677320);let O=s.forwardRef(function(e,t){let{render:l,className:n,id:o,name:d,value:c,disabled:u=!1,onValueChange:p,defaultValue:f,autoFocus:h=!1,style:v,...g}=e,{state:b,name:y,disabled:C,setTouched:N,setDirty:w,validityData:A,setFocused:S,setFilled:P,validationMode:k,validation:E}=(0,r.useFieldRootContext)(),M=C||u,O={...b,disabled:M},{labelId:V}=(0,m.useLabelableContext)(),_=(0,F.useLabelableId)({id:o});(0,j.useIsoLayoutEffect)(()=>{let e=null!=c;E.inputRef.current?.value||e&&""!==c?P(!0):e&&""===c&&P(!1)},[E.inputRef,P,c]);let U=s.useRef(null);(0,j.useIsoLayoutEffect)(()=>{h&&U.current===(0,D.activeElement)((0,L.ownerDocument)(U.current))&&S(!0)},[h,S]);let[B]=(0,I.useControlled)({controlled:c,default:f,name:"FieldControl",state:"value"}),z=void 0!==c,X=z?B:void 0,G=(0,a.useStableCallback)(()=>E.inputRef.current?.value);return(0,R.useRegisterFieldControl)(E.inputRef,{id:_,value:X,getValue:G}),(0,x.useRenderElement)("input",e,{ref:[t,U],state:O,props:[{id:_,disabled:M,name:y??d,ref:E.inputRef,"aria-labelledby":V,autoFocus:h,...z?{value:X}:{defaultValue:f},onChange(e){let t=e.currentTarget.value;p?.(t,(0,T.createChangeEventDetails)(H.REASONS.none,e.nativeEvent)),w(t!==A.initialValue),P(""!==t)},onFocus(){S(!0)},onBlur(e){N(!0),S(!1),"onBlur"===k&&E.commit(e.currentTarget.value)},onKeyDown(e){"INPUT"===e.currentTarget.tagName&&"Enter"===e.key&&(N(!0),E.commit(e.currentTarget.value))}},E.getInputValidationProps(),g],stateAttributesMapping:i.fieldValidityMapping})}),V=s.createContext({disabled:!1});e.s(["FieldItemContext",0,V,"useFieldItemContext",0,function(){return s.useContext(V)}],752814);let _=s.createContext(void 0);function U(e=!0){let t=s.useContext(_);if(void 0===t&&!e)throw Error((0,l.default)(3));return t}e.s(["useCheckboxGroupContext",0,U],9441);let B=s.forwardRef(function(e,a){let{render:l,className:n,style:o,disabled:d=!1,...c}=e,{state:u,disabled:m}=(0,r.useFieldRootContext)(!1),f=m||d,h=U(),v=h?.parent.id,g=h?.allValues!==void 0,b=s.useMemo(()=>({disabled:f}),[f]),j=(0,x.useRenderElement)("div",e,{ref:a,state:u,props:c,stateAttributesMapping:i.fieldValidityMapping});return(0,t.jsx)(p,{controlId:g?v:void 0,children:(0,t.jsx)(V.Provider,{value:b,children:j})})});e.s(["Control",0,O,"Description",0,M,"Error",0,E,"Item",0,B,"Label",0,w,"Root",0,C,"Validity",0,function(e){let{children:a}=e,{validityData:i,invalid:l}=(0,r.useFieldRootContext)(!1),n=s.useMemo(()=>v(i,l),[i,l]),o=!1===n.state.valid,{transitionStatus:d}=(0,P.useTransitionStatus)(o),c=s.useMemo(()=>({...n,validity:n.state,transitionStatus:d}),[n,d]);return(0,t.jsx)(s.Fragment,{children:a(c)})}],234437);var z=e.i(234437),z=z;let X=s.forwardRef(function(e,s){return(0,t.jsx)(z.Control,{ref:s,...e})});var G=e.i(613349);e.s(["Input",0,function({className:e,type:s,...a}){return(0,t.jsx)(X,{type:s,"data-slot":"input",className:(0,G.cn)("h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",e),...a})}],903477)},473131,e=>{"use strict";var t=e.i(368075),s=e.i(613349);e.s(["Label",0,function({className:e,...a}){return(0,t.jsx)("label",{"data-slot":"label",className:(0,s.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...a})}])},553617,e=>{"use strict";e.s(["hasCustomEmailErrors",0,function(e){return!!(e.emailAddress||e.imapHost||e.imapPassword||e.smtpHost||e.smtpPassword)},"hasWorkspaceFormErrors",0,function(e){return!!(e.name||e.slug)},"validateCustomEmailFields",0,function({emailAddress:e,imapHost:t,imapUsername:s,imapPassword:a,smtpHost:r,smtpUsername:i,smtpPassword:l}){let n={};return e.trim()||(n.emailAddress="Email address is required"),t.trim()||(n.imapHost="IMAP host is required"),s.trim()&&a.trim()||(n.imapPassword="IMAP credentials are required"),r.trim()||(n.smtpHost="SMTP host is required"),i.trim()&&l.trim()||(n.smtpPassword="SMTP credentials are required"),n},"validateWorkspaceForm",0,function({name:e,slug:t}){let s={};return e.trim()||(s.name="Workspace name is required"),t.trim()||(s.slug="Workspace slug is required"),s}])},38444,e=>{"use strict";var t=e.i(298699);let s=t.createContext(void 0),a={disableStyleElements:!1};e.s(["useCSPContext",0,function(){return t.useContext(s)??a}])},130577,682351,e=>{"use strict";function t(e,s=Number.MIN_SAFE_INTEGER,a=Number.MAX_SAFE_INTEGER){return Math.max(s,Math.min(e,a))}e.s(["clamp",0,t],682351),e.s(["SCROLL_EDGE_TOLERANCE_PX",0,1,"getMaxScrollOffset",0,function(e,t){return Math.max(0,e-t)},"normalizeScrollOffset",0,function(e,s){if(s<=0)return 0;let a=t(e,0,s),r=s-a,i=a<=1,l=r<=1;return i&&l?a<=r?0:s:i?0:l?s:a}],130577)},428365,e=>{"use strict";var t=e.i(368075);let s="base-ui-disable-scrollbar";e.s(["styleDisableScrollbar",0,{className:s,getElement:e=>(0,t.jsx)("style",{nonce:e,href:s,precedence:"base-ui:low",children:`.${s}{scrollbar-width:none}.${s}::-webkit-scrollbar{display:none}`})}])},716532,220308,e=>{"use strict";e.i(459119);var t,s=e.i(398258),a=e.i(298699),r=e.i(128726);let i=((t={}).disabled="data-disabled",t.valid="data-valid",t.invalid="data-invalid",t.touched="data-touched",t.dirty="data-dirty",t.filled="data-filled",t.focused="data-focused",t),l={badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valid:null,valueMissing:!1},n={valid:null,touched:!1,dirty:!1,filled:!1,focused:!1},o={disabled:!1,...n};e.s(["DEFAULT_FIELD_ROOT_STATE",0,o,"DEFAULT_FIELD_STATE_ATTRIBUTES",0,n,"DEFAULT_VALIDITY_STATE",0,l,"fieldValidityMapping",0,{valid:e=>null===e?null:e?{[i.valid]:""}:{[i.invalid]:""}}],220308);let d=a.createContext({invalid:void 0,name:void 0,validityData:{state:l,errors:[],error:"",value:"",initialValue:null},setValidityData:r.NOOP,disabled:void 0,touched:n.touched,setTouched:r.NOOP,dirty:n.dirty,setDirty:r.NOOP,filled:n.filled,setFilled:r.NOOP,focused:n.focused,setFocused:r.NOOP,validate:()=>null,validationMode:"onSubmit",validationDebounceTime:0,shouldValidateOnChange:()=>!1,state:o,markedDirtyRef:{current:!1},registerFieldControl:r.NOOP,validation:{getValidationProps:(e=r.EMPTY_OBJECT)=>e,getInputValidationProps:(e=r.EMPTY_OBJECT)=>e,inputRef:{current:null},commit:async()=>{}}});e.s(["FieldRootContext",0,d,"useFieldRootContext",0,function(e=!0){let t=a.useContext(d);if(t.setValidityData===r.NOOP&&!e)throw Error((0,s.default)(28));return t}],716532)},482691,e=>{"use strict";var t=e.i(298699),s=e.i(128726);let a=t.createContext({formRef:{current:{fields:new Map}},errors:{},clearErrors:s.NOOP,validationMode:"onSubmit",submitAttemptedRef:{current:!1}});e.s(["useFormContext",0,function(){return t.useContext(a)}])},536735,e=>{"use strict";var t=e.i(298699),s=e.i(128726);let a=t.createContext({controlId:void 0,registerControlId:s.NOOP,labelId:void 0,setLabelId:s.NOOP,messageIds:[],setMessageIds:s.NOOP,getDescriptionProps:e=>e});e.s(["LabelableContext",0,a,"useLabelableContext",0,function(){return t.useContext(a)}])},589193,e=>{"use strict";var t=e.i(92615),s=e.i(208700),a=e.i(773825),r=e.i(677320),i=e.i(389068),l=e.i(541126),n=e.i(536735);e.s(["useLabel",0,function(e={}){let o,{id:d,fallbackControlId:c,native:u=!1,setLabelId:m,focusControl:p}=e,{controlId:x,setLabelId:f}=(0,n.useLabelableContext)(),h=(0,a.useStableCallback)(e=>{f(e),m?.(e)}),v=(o=(0,l.useBaseUiId)(d),(0,i.useIsoLayoutEffect)(()=>(h(o),()=>{h(void 0)}),[o,h]),o),g=x??c;function b(e){let a=(0,r.getTarget)(e.nativeEvent);a?.closest("button,input,select,textarea")||(!e.defaultPrevented&&e.detail>1&&e.preventDefault(),u||function(e){if(p)return p(e,g);if(!g)return;let a=(0,s.ownerDocument)(e.currentTarget).getElementById(g);(0,t.isHTMLElement)(a)&&a.focus({focusVisible:!0})}(e))}return u?{id:v,htmlFor:g??void 0,onMouseDown:b}:{id:v,onClick:b,onPointerDown(e){e.preventDefault()}}}],589193)},945656,e=>{"use strict";var t=e.i(298699),s=e.i(389068),a=e.i(716532);e.s(["useRegisterFieldControl",0,function(e,r){let{enabled:i=!0,getValue:l,id:n,value:o}=r,{registerFieldControl:d}=(0,a.useFieldRootContext)(),c=t.useRef(null);c.current||(c.current=Symbol()),(0,s.useIsoLayoutEffect)(()=>{let t=c.current;if(t&&i)return d(t,{controlRef:e,getValue:l,id:n,value:o}),()=>{d(t,void 0)}},[e,i,l,n,d,o])}])},734525,e=>{"use strict";var t=e.i(298699),s=e.i(389068),a=e.i(773825),r=e.i(610580),i=e.i(92615),l=e.i(128726),n=e.i(541126),o=e.i(536735);e.s(["useLabelableId",0,function(e={}){let{id:d,implicit:c=!1,controlRef:u}=e,{controlId:m,registerControlId:p}=(0,o.useLabelableContext)(),x=(0,n.useBaseUiId)(d),f=c?m:void 0,h=(0,r.useRefWithInit)(()=>Symbol("labelable-control")),v=t.useRef(!1),g=t.useRef(null!=d),b=(0,a.useStableCallback)(()=>{v.current&&p!==l.NOOP&&(v.current=!1,p(h.current,void 0))});return(0,s.useIsoLayoutEffect)(()=>{let e;if(p!==l.NOOP){if(c){let t=u?.current;e=(0,i.isElement)(t)&&null!=t.closest("label")?d??null:f??x}else if(null!=d)g.current=!0,e=d;else{if(!g.current)return void b();e=x}if(void 0===e)return void b();v.current=!0,p(h.current,e)}},[d,u,f,p,c,x,h,b]),t.useEffect(()=>b,[b]),m??x}])},677536,e=>{"use strict";let t=(0,e.i(706875).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["default",0,t])},855372,e=>{"use strict";var t=e.i(368075),s=e.i(609049);function a({className:e}){return(0,t.jsx)("svg",{viewBox:"0 0 16 16",fill:"#D97757",className:e,children:(0,t.jsx)("path",{d:"m3.127 10.604 3.135-1.76.053-.153-.053-.085H6.11l-.525-.032-1.791-.048-1.554-.065-1.505-.08-.38-.081L0 7.832l.036-.234.32-.214.455.04 1.009.069 1.513.105 1.097.064 1.626.17h.259l.036-.105-.089-.065-.068-.064-1.566-1.062-1.695-1.121-.887-.646-.48-.327-.243-.306-.104-.67.435-.48.585.04.15.04.593.456 1.267.981 1.654 1.218.242.202.097-.068.012-.049-.109-.181-.9-1.626-.96-1.655-.428-.686-.113-.411a2 2 0 0 1-.068-.484l.496-.674L4.446 0l.662.089.279.242.411.94.666 1.48 1.033 2.014.302.597.162.553.06.17h.105v-.097l.085-1.134.157-1.392.154-1.792.052-.504.25-.605.497-.327.387.186.319.456-.045.294-.19 1.23-.37 1.93-.243 1.29h.142l.161-.16.654-.868 1.097-1.372.484-.545.565-.601.363-.287h.686l.505.751-.226.775-.707.895-.585.759-.839 1.13-.524.904.048.072.125-.012 1.897-.403 1.024-.186 1.223-.21.553.258.06.263-.218.536-1.307.323-1.533.307-2.284.54-.028.02.032.04 1.029.098.44.024h1.077l2.005.15.525.346.315.424-.053.323-.807.411-3.631-.863-.872-.218h-.12v.073l.726.71 1.331 1.202 1.667 1.55.084.383-.214.302-.226-.032-1.464-1.101-.565-.497-1.28-1.077h-.084v.113l.295.432 1.557 2.34.08.718-.112.234-.404.141-.444-.08-.911-1.28-.94-1.44-.759-1.291-.093.053-.448 4.821-.21.246-.484.186-.403-.307-.214-.496.214-.98.258-1.28.21-1.016.19-1.263.112-.42-.008-.028-.092.012-.953 1.307-1.448 1.957-1.146 1.227-.274.109-.477-.247.045-.44.266-.39 1.586-2.018.956-1.25.617-.723-.004-.105h-.036l-4.212 2.736-.75.096-.324-.302.04-.496.154-.162 1.267-.871z"})})}function r({className:e}){return(0,t.jsx)("svg",{viewBox:"0 0 16 16",fill:"currentColor",className:e,children:(0,t.jsx)("path",{d:"M14.949 6.547a3.94 3.94 0 0 0-.348-3.273 4.11 4.11 0 0 0-4.4-1.934A4.1 4.1 0 0 0 8.423.2 4.15 4.15 0 0 0 6.305.086a4.1 4.1 0 0 0-1.891.948 4.04 4.04 0 0 0-1.158 1.753 4.1 4.1 0 0 0-1.563.679A4 4 0 0 0 .554 4.72a3.99 3.99 0 0 0 .502 4.731 3.94 3.94 0 0 0 .346 3.274 4.11 4.11 0 0 0 4.402 1.933c.382.425.852.764 1.377.995.526.231 1.095.35 1.67.346 1.78.002 3.358-1.132 3.901-2.804a4.1 4.1 0 0 0 1.563-.68 4 4 0 0 0 1.14-1.253 3.99 3.99 0 0 0-.506-4.716m-6.097 8.406a3.05 3.05 0 0 1-1.945-.694l.096-.054 3.23-1.838a.53.53 0 0 0 .265-.455v-4.49l1.366.778q.02.011.025.035v3.722c-.003 1.653-1.361 2.992-3.037 2.996m-6.53-2.75a2.95 2.95 0 0 1-.36-2.01l.095.057L5.29 12.09a.53.53 0 0 0 .527 0l3.949-2.246v1.555a.05.05 0 0 1-.022.041L6.473 13.3c-1.454.826-3.311.335-4.15-1.098m-.85-6.94A3.02 3.02 0 0 1 3.07 3.949v3.785a.51.51 0 0 0 .262.451l3.93 2.237-1.366.779a.05.05 0 0 1-.048 0L2.585 9.342a2.98 2.98 0 0 1-1.113-4.094zm11.216 2.571L8.747 5.576l1.362-.776a.05.05 0 0 1 .048 0l3.265 1.86a3 3 0 0 1 1.173 1.207 2.96 2.96 0 0 1-.27 3.2 3.05 3.05 0 0 1-1.36.997V8.279a.52.52 0 0 0-.276-.445m1.36-2.015-.097-.057-3.226-1.855a.53.53 0 0 0-.53 0L6.249 6.153V4.598a.04.04 0 0 1 .019-.04L9.533 2.7a3.07 3.07 0 0 1 3.257.139c.474.325.843.778 1.066 1.303.223.526.289 1.103.191 1.664zM5.503 8.575 4.139 7.8a.05.05 0 0 1-.026-.037V4.049c0-.57.166-1.127.476-1.607s.752-.864 1.275-1.105a3.08 3.08 0 0 1 3.234.41l-.096.054-3.23 1.838a.53.53 0 0 0-.265.455zm.742-1.577 1.758-1 1.762 1v2l-1.755 1-1.762-1z"})})}function i({className:e}){return(0,t.jsxs)("svg",{viewBox:"0 0 240 300",fill:"none",className:e,children:[(0,t.jsx)("path",{d:"M180 240H60V120H180V240Z",fill:"#CFCECD"}),(0,t.jsx)("path",{d:"M180 60H60V240H180V60ZM240 300H0V0H240V300Z",fill:"#211E1E"})]})}function l({className:e}){return(0,t.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none",className:e,children:[(0,t.jsx)("path",{d:"M8 2C5.5 2 3.5 4 3.5 6.5S5 10.5 6.5 11v1.5H8V11c.3.1.7.1 1 0v1.5h1.5V11c1.5-.5 3-2.5 3-4.5S10.5 2 8 2Z",fill:"#E8453A"}),(0,t.jsx)("path",{d:"M3.5 5.5C2 5 1 6 1.5 7s2 .5 2.2-.7",fill:"#FF6B5A"}),(0,t.jsx)("path",{d:"M12.5 5.5c1.5-.5 2.5.5 2 1.5s-2 .5-2.2-.7",fill:"#FF6B5A"}),(0,t.jsx)("path",{d:"M6.5 3Q5 1.2 4.3 1.5",stroke:"#FF6B5A",strokeWidth:"0.8",strokeLinecap:"round"}),(0,t.jsx)("path",{d:"M9.5 3Q11 1.2 11.7 1.5",stroke:"#FF6B5A",strokeWidth:"0.8",strokeLinecap:"round"}),(0,t.jsx)("circle",{cx:"6.2",cy:"5.2",r:"0.9",fill:"#050810"}),(0,t.jsx)("circle",{cx:"9.8",cy:"5.2",r:"0.9",fill:"#050810"}),(0,t.jsx)("circle",{cx:"6.4",cy:"5",r:"0.3",fill:"#00E5CC"}),(0,t.jsx)("circle",{cx:"10",cy:"5",r:"0.3",fill:"#00E5CC"})]})}function n({className:e}){return(0,t.jsx)("img",{src:"data:image/webp;base64,UklGRuYDAABXRUJQVlA4INoDAADQEwCdASowADAAPm0uk0ckIiGhKrqpWIANiWkAEyQea/fD8IewvGL5V7Nb3H8u/MA8G9rT+4flL+UfIe42/23GB8zPqF/o3E0UAP5h/h/+F6ZX+x5evnX/r+4T/K/67/u/zg7znogfrusMANZLkn1gvlY/vNsKubtj/9xLSzxTsLr7K9GLdFNs5rwtISRcPXvH4z57n2fg0XR3aQ2D+pPpycwyl7TwAAD+/2DbjivnePzfyHCsdOgJXKlUR/OgAkofD7K4AdmsPKyP5Ml4/4HBYmIm5/efn/H+X3IZtngyaUOvwbFuRS/1yODFYO3vf3qeXGgPdfgIROXd/EPT7K2jysfvY9N71+w6g2gBPs+P6lxYkPf6S9QfpvH/7Pp7i8xRh0nVDBTEQyczSz7V9hoqo4nDJuii+SfibZRR/d5zB+9jkcb1DNN7YnC5Y7+WfGrE3eseXt3hSm+NS5++m1MHbjsrd9z/Q4HPRP/C85Po41XObalGyIUcFUL2j2n3uI/Yh6U8r6trCUJFB4kT3fsv6+8ylX/d96y2hq869FCXLjq4YqEO8vs5BtT52sf7KyDxPAWkH/b06YbfVXf4/7y5THL6Sr/4mOrrY9P2LW81f05HHFN8n0jcyqKOH7AluMm0AHPgFyz8RVrfBdmnPiC2FLMQfNDte5yGFzGC3fMlDed/tS/PO3Q/hjsNLvAXUUjqHyCo3JeN69jyNgWjjf8iUqoBsXT+lJyp2r8p60ad1jxhNyTblyJwda8aWEw1hFDeGjpMGguDF66RL4c+ZO+PhculC6WxvCsZ7IPAsdD7/ywx3w3AowJ66hAAK7k+m6X2QV06OVOCwyIGERex/AUyuBbLUK93X58+M+Si7YfYjVYGpoJ7JvSgD8ExaA21z9OY+si+1wreacDanKnFDmhwBQC3t6MLeXCOGp3VURDKl10K7tdKHQcb4hr48ba+1x/MrMRwHfq3IQrDIXPYCg4b0OLnVN9JyXttKGM63B5imIdKuU0r6hhSslT10lGLjnIJuwO5WKR0RHs+BX5vs6H63y3K7IuuZ1eRN+Aczvbs4QuDs6ZRuzjJ/1DJ5R/3ZrFPrtxvMwT06vAXIgcbhLGNLhOQUYRPdUN5MgyCtL5NH71ArTPLRRkIjhGwoCYXKKqlqIKKT9NX3vwp/nlh4SX71dlYg/mPXbJ9bMeVugyjqFahjFTJ/rT3HtBCWG8h+OvvbOFDFKurCG9BOhO9B719OS7zsP0KPqoymnv7hVvoJyZp0iziCbBvaJpmF9Cvfs8/vWqWr7TUo616WfMW+X9nkgpuqtnfAAAAAA==",alt:"Hermes",className:`${e} rounded-sm`})}function o({className:e}){return(0,t.jsxs)("svg",{viewBox:"0 0 800 800",fill:"none",className:e,children:[(0,t.jsx)("rect",{width:"800",height:"800",rx:"150",fill:"#09090b"}),(0,t.jsx)("path",{fill:"#fff",fillRule:"evenodd",d:"M165.29 165.29H517.36V400H400V517.36H282.65V634.72H165.29ZM282.65 282.65V400H400V282.65Z"}),(0,t.jsx)("path",{fill:"#fff",d:"M517.36 400H634.72V634.72H517.36Z"})]})}function d({className:e}){return(0,t.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:e,children:(0,t.jsx)("path",{d:"M12 1C5.9225 1 1 5.9225 1 12C1 16.8675 4.14875 20.9787 8.52125 22.4362C9.07125 22.5325 9.2775 22.2025 9.2775 21.9137C9.2775 21.6525 9.26375 20.7862 9.26375 19.865C6.5 20.3737 5.785 19.1912 5.565 18.5725C5.44125 18.2562 4.905 17.28 4.4375 17.0187C4.0525 16.8125 3.5025 16.3037 4.42375 16.29C5.29 16.2762 5.90875 17.0875 6.115 17.4175C7.105 19.0812 8.68625 18.6137 9.31875 18.325C9.415 17.61 9.70375 17.1287 10.02 16.8537C7.5725 16.5787 5.015 15.63 5.015 11.4225C5.015 10.2262 5.44125 9.23625 6.1425 8.46625C6.0325 8.19125 5.6475 7.06375 6.2525 5.55125C6.2525 5.55125 7.17375 5.2625 9.2775 6.67875C10.1575 6.43125 11.0925 6.3075 12.0275 6.3075C12.9625 6.3075 13.8975 6.43125 14.7775 6.67875C16.8813 5.24875 17.8025 5.55125 17.8025 5.55125C18.4075 7.06375 18.0225 8.19125 17.9125 8.46625C18.6138 9.23625 19.04 10.2125 19.04 11.4225C19.04 15.6437 16.4688 16.5787 14.0213 16.8537C14.42 17.1975 14.7638 17.8575 14.7638 18.8887C14.7638 20.36 14.75 21.5425 14.75 21.9137C14.75 22.2025 14.9563 22.5462 15.5063 22.4362C19.8513 20.9787 23 16.8537 23 12C23 5.9225 18.0775 1 12 1Z"})})}function c({className:e}){return(0,t.jsxs)("svg",{viewBox:"600 300 400 400",fill:"none",className:e,children:[(0,t.jsx)("path",{fill:"#14120B",d:"M999.994 554.294C999.994 559.859 999.994 565.419 999.962 570.984C999.935 575.67 999.882 580.357 999.753 585.038C999.475 595.247 998.875 605.542 997.059 615.639C995.217 625.88 992.212 635.409 987.477 644.718C982.822 653.861 976.738 662.233 969.485 669.491C962.227 676.748 953.861 682.828 944.712 687.482C935.409 692.217 925.875 695.222 915.633 697.065C905.537 698.88 895.242 699.48 885.033 699.759C880.346 699.887 875.665 699.941 870.978 699.968C865.413 700.005 859.853 700 854.288 700H745.695C740.13 700 734.571 700 729.005 699.968C724.319 699.941 719.632 699.887 714.951 699.759C704.742 699.48 694.447 698.88 684.35 697.065C674.109 695.222 664.58 692.217 655.271 687.482C646.128 682.828 637.756 676.743 630.499 669.491C623.241 662.233 617.161 653.866 612.507 644.718C607.772 635.414 604.767 625.88 602.925 615.639C601.109 605.542 600.509 595.247 600.23 585.038C600.102 580.352 600.048 575.67 600.021 570.984C600 565.419 600 559.859 600 554.294V445.701C600 440.136 600 434.576 600.032 429.011C600.059 424.324 600.112 419.637 600.241 414.956C600.52 404.747 601.119 394.452 602.935 384.356C604.778 374.115 607.783 364.586 612.518 355.277C617.172 346.133 623.257 337.762 630.509 330.504C637.767 323.246 646.133 317.167 655.282 312.512C664.586 307.777 674.12 304.772 684.361 302.93C694.458 301.114 704.752 300.514 714.961 300.236C719.648 300.107 724.329 300.054 729.016 300.027C734.576 300 740.136 300 745.701 300H854.294C859.859 300 865.419 300 870.984 300.032C875.67 300.059 880.357 300.112 885.038 300.241C895.247 300.52 905.542 301.119 915.639 302.935C925.88 304.778 935.409 307.783 944.718 312.518C953.861 317.172 962.233 323.257 969.491 330.509C976.748 337.767 982.828 346.133 987.482 355.282C992.217 364.586 995.222 374.12 997.065 384.361C998.88 394.458 999.48 404.752 999.759 414.961C999.887 419.648 999.941 424.329 999.968 429.016C1000.01 434.581 1000 440.141 1000 445.706V554.299L999.994 554.294Z"}),(0,t.jsx)("path",{fill:"#72716D",d:"M800.004 500L923.821 571.486C923.061 572.804 921.957 573.929 920.591 574.716L804.863 641.531C801.858 643.266 798.151 643.266 795.146 641.531L679.417 574.716C678.052 573.929 676.948 572.804 676.188 571.486L800.004 500Z"}),(0,t.jsx)("path",{fill:"#55544F",d:"M800.005 357.168V500L676.188 571.486C675.427 570.168 675.004 568.647 675.004 567.072V432.928C675.004 429.774 676.686 426.865 679.418 425.285L795.141 358.47C796.646 357.602 798.323 357.168 799.999 357.168H800.005Z"}),(0,t.jsx)("path",{fill:"#43413C",d:"M923.815 428.515C923.055 427.197 921.951 426.072 920.586 425.285L804.857 358.47C803.357 357.602 801.68 357.168 800.004 357.168V500L923.821 571.486C924.581 570.168 925.005 568.647 925.005 567.072V432.928C925.005 431.348 924.587 429.838 923.821 428.515H923.815Z"}),(0,t.jsx)("path",{fill:"#D6D5D2",d:"M915.156 433.518C915.857 434.728 915.954 436.281 915.156 437.663L802.764 632.323C802.008 633.641 800 633.1 800 631.584V503.311C800 502.287 799.727 501.302 799.229 500.44L915.15 433.512H915.156V433.518Z"}),(0,t.jsx)("path",{fill:"white",d:"M915.155 433.518L799.233 500.445C798.741 499.588 798.023 498.86 797.134 498.345L686.049 434.209C684.731 433.453 685.272 431.445 686.788 431.445H911.566C913.162 431.445 914.459 432.307 915.155 433.518Z"})]})}function u({className:e}){return(0,t.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",className:e,children:[(0,t.jsx)("path",{d:"M12 24C12 18.2 12 15.5 10.1 13.9C8.5 12 5.8 12 0 12C5.8 12 8.5 12 10.1 10.1C12 8.5 12 5.8 12 0C12 5.8 12 8.5 13.9 10.1C15.5 12 18.2 12 24 12C18.2 12 15.5 12 13.9 13.9C12 15.5 12 18.2 12 24Z",fill:"url(#gemini-gradient)"}),(0,t.jsx)("defs",{children:(0,t.jsxs)("linearGradient",{id:"gemini-gradient",x1:"0",y1:"0",x2:"24",y2:"24",gradientUnits:"userSpaceOnUse",children:[(0,t.jsx)("stop",{stopColor:"#4285F4"}),(0,t.jsx)("stop",{offset:"1",stopColor:"#886FBF"})]})})]})}e.s(["ProviderLogo",0,function({provider:e,className:m="h-4 w-4"}){switch(e){case"claude":return(0,t.jsx)(a,{className:m});case"codex":return(0,t.jsx)(r,{className:m});case"opencode":return(0,t.jsx)(i,{className:m});case"openclaw":return(0,t.jsx)(l,{className:m});case"hermes":return(0,t.jsx)(n,{className:m});case"pi":return(0,t.jsx)(o,{className:m});case"copilot":return(0,t.jsx)(d,{className:m});case"cursor":return(0,t.jsx)(c,{className:m});case"gemini":return(0,t.jsx)(u,{className:m});default:return(0,t.jsx)(s.Monitor,{className:m})}}])},121141,e=>{"use strict";let t=(0,e.i(706875).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["CheckCircle2",0,t],121141)},656955,277650,e=>{"use strict";var t=e.i(368075),s=e.i(298699),a=e.i(186339),r=e.i(903477),i=e.i(473131),l=e.i(332680),n=e.i(613349),o=e.i(222862),d=e.i(858924),c=e.i(255450),u=e.i(695554),m=e.i(903324),p=e.i(121141),x=e.i(313653),f=e.i(71951);let h=(0,e.i(706875).default)("circle-question-mark",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["CircleHelp",0,h],277650);var v=e.i(880932),g=e.i(500324),b=e.i(553617);let j={Gmail:{imapHost:"imap.gmail.com",imapPort:993,smtpHost:"smtp.gmail.com",smtpPort:587},Outlook:{imapHost:"outlook.office365.com",imapPort:993,smtpHost:"smtp.office365.com",smtpPort:587},Yahoo:{imapHost:"imap.mail.yahoo.com",imapPort:993,smtpHost:"smtp.mail.yahoo.com",smtpPort:587}};function y({fields:e,applyPreset:s,errors:l,onClearError:n}){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"flex gap-1.5",children:Object.keys(j).map(e=>(0,t.jsx)(a.Button,{type:"button",variant:"outline",size:"sm",className:"h-6 text-[10px] px-2",onClick:()=>s(e),children:e},e))}),(0,t.jsxs)("div",{className:"grid gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(i.Label,{className:"text-xs",children:"Email Address *"}),(0,t.jsx)(r.Input,{placeholder:"you@gmail.com",value:e.emailAddress,onChange:t=>{e.setEmailAddress(t.target.value),t.target.value.trim()&&n("emailAddress")},"aria-invalid":!!l.emailAddress,"aria-describedby":l.emailAddress?"custom-email-address-error":void 0,className:"h-8 text-sm"}),l.emailAddress&&(0,t.jsx)("p",{id:"custom-email-address-error",className:"mt-1 text-xs text-destructive",children:l.emailAddress})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(i.Label,{className:"text-xs",children:"Display Name"}),(0,t.jsx)(r.Input,{placeholder:"My Agent",value:e.displayName,onChange:t=>e.setDisplayName(t.target.value),className:"h-8 text-sm"})]})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(i.Label,{className:"text-xs font-medium",children:"IMAP (Receive)"}),(0,t.jsx)(r.Input,{placeholder:"imap.gmail.com",value:e.imapHost,onChange:t=>{e.setImapHost(t.target.value),t.target.value.trim()&&n("imapHost")},"aria-invalid":!!l.imapHost,"aria-describedby":l.imapHost?"custom-email-imap-host-error":void 0,className:"h-8 text-sm"}),l.imapHost&&(0,t.jsx)("p",{id:"custom-email-imap-host-error",className:"text-xs text-destructive",children:l.imapHost}),(0,t.jsx)(r.Input,{type:"number",placeholder:"993",value:e.imapPort,onChange:t=>e.setImapPort(Number(t.target.value)),className:"h-8 text-sm"}),(0,t.jsx)(r.Input,{placeholder:e.emailAddress||"Username (defaults to email)",value:e.imapUsername,onChange:t=>e.setImapUsername(t.target.value),className:"h-8 text-sm"}),(0,t.jsx)(r.Input,{type:"password",placeholder:"App Password",value:e.imapPassword,onChange:t=>{e.setImapPassword(t.target.value),t.target.value.trim()&&n("imapPassword")},"aria-invalid":!!l.imapPassword,"aria-describedby":l.imapPassword?"custom-email-imap-password-error":void 0,className:"h-8 text-sm"}),l.imapPassword&&(0,t.jsx)("p",{id:"custom-email-imap-password-error",className:"text-xs text-destructive",children:l.imapPassword})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(i.Label,{className:"text-xs font-medium",children:"SMTP (Send)"}),(0,t.jsx)(r.Input,{placeholder:"smtp.gmail.com",value:e.smtpHost,onChange:t=>{e.setSmtpHost(t.target.value),t.target.value.trim()&&n("smtpHost")},"aria-invalid":!!l.smtpHost,"aria-describedby":l.smtpHost?"custom-email-smtp-host-error":void 0,className:"h-8 text-sm"}),l.smtpHost&&(0,t.jsx)("p",{id:"custom-email-smtp-host-error",className:"text-xs text-destructive",children:l.smtpHost}),(0,t.jsx)(r.Input,{type:"number",placeholder:"587",value:e.smtpPort,onChange:t=>e.setSmtpPort(Number(t.target.value)),className:"h-8 text-sm"}),(0,t.jsx)(r.Input,{placeholder:e.emailAddress||"Username (defaults to email)",value:e.smtpUsername,onChange:t=>e.setSmtpUsername(t.target.value),className:"h-8 text-sm"}),(0,t.jsx)(r.Input,{type:"password",placeholder:"App Password",value:e.smtpPassword,onChange:t=>{e.setSmtpPassword(t.target.value),t.target.value.trim()&&n("smtpPassword")},"aria-invalid":!!l.smtpPassword,"aria-describedby":l.smtpPassword?"custom-email-smtp-password-error":void 0,className:"h-8 text-sm"}),l.smtpPassword&&(0,t.jsx)("p",{id:"custom-email-smtp-password-error",className:"text-xs text-destructive",children:l.smtpPassword})]})]})]})}e.s(["CustomEmailForm",0,function({agentId:e,workspaceId:r,onDataChange:i,getDataRef:C}){let{slug:N}=(0,g.useWorkspace)(),w=!e,[A,S]=(0,s.useState)(!1),[P,k]=(0,s.useState)([]),[E,M]=(0,s.useState)(!w),[I,L]=(0,s.useState)(!1),[R,F]=(0,s.useState)(!1),[T,H]=(0,s.useState)(!1),[D,O]=(0,s.useState)({}),{fields:V,applyPreset:_,buildData:U}=function(){let[e,t]=(0,s.useState)(""),[a,r]=(0,s.useState)(""),[i,l]=(0,s.useState)(""),[n,o]=(0,s.useState)(993),[d,c]=(0,s.useState)(""),[u,m]=(0,s.useState)(""),[p,x]=(0,s.useState)(""),[f,h]=(0,s.useState)(587),[v,g]=(0,s.useState)(""),[b,y]=(0,s.useState)(""),C=d||e,N=v||e;return{fields:{emailAddress:e,setEmailAddress:t,displayName:a,setDisplayName:r,imapHost:i,setImapHost:l,imapPort:n,setImapPort:o,imapUsername:d,setImapUsername:c,imapPassword:u,setImapPassword:m,smtpHost:p,setSmtpHost:x,smtpPort:f,setSmtpPort:h,smtpUsername:v,setSmtpUsername:g,smtpPassword:b,setSmtpPassword:y},applyPreset:function(e){let t=j[e];t&&(l(t.imapHost),o(t.imapPort),x(t.smtpHost),h(t.smtpPort))},buildData:function(){return e&&i&&C&&u&&p&&N&&b?{emailAddress:e,displayName:a,imapHost:i,imapPort:n,imapUsername:C,imapPassword:u,imapTls:!0,smtpHost:p,smtpPort:f,smtpUsername:N,smtpPassword:b,smtpTls:1,pollIntervalSeconds:60}:null}}}(),B=V.imapUsername||V.emailAddress,z=V.smtpUsername||V.emailAddress,X=(0,s.useCallback)(e=>{O(t=>({...t,[e]:void 0}))},[]);(0,s.useEffect)(()=>{C&&(C.current=U)}),(0,s.useEffect)(()=>{w&&i?.(U())},[w,U,i,V.emailAddress,V.displayName,V.imapHost,V.imapPort,V.imapUsername,V.imapPassword,V.smtpHost,V.smtpPort,V.smtpUsername,V.smtpPassword]);let G=(0,s.useCallback)(async()=>{if(!w)try{let t=await (0,o.listEmailAccounts)(e,r);k(t)}catch{}finally{M(!1)}},[e,r,w]);(0,s.useEffect)(()=>{G()},[G]);let K=P[0]??null;async function W(){let t=(0,b.validateCustomEmailFields)({emailAddress:V.emailAddress,imapHost:V.imapHost,imapUsername:B,imapPassword:V.imapPassword,smtpHost:V.smtpHost,smtpUsername:z,smtpPassword:V.smtpPassword});if(O(t),(0,b.hasCustomEmailErrors)(t))return;let s=U();if(s&&e){L(!0);try{await (0,o.createEmailAccount)(e,s,r),v.toast.success("Custom email configured"),S(!1),await G()}catch(e){v.toast.error(e instanceof Error?e.message:"Failed to save")}finally{L(!1)}}}async function Y(){if(K&&e){H(!0);try{await (0,o.deleteEmailAccount)(e,K.id,r),v.toast.success("Custom email removed"),k([])}catch(e){v.toast.error(e instanceof Error?e.message:"Failed to remove")}finally{H(!1)}}}async function q(){if(K&&e){F(!0);try{await (0,o.syncEmailAccount)(e,K.id,r),v.toast.success("Sync triggered"),setTimeout(()=>G(),2e3)}catch(e){v.toast.error(e instanceof Error?e.message:"Sync failed")}finally{F(!1)}}}let Z=w?V.emailAddress?V.emailAddress:"Connect your own mailbox via IMAP/SMTP":E?"Loading...":K?K.email_address:"Connect your own mailbox via IMAP/SMTP";return(0,t.jsxs)(l.Sheet,{open:A,onOpenChange:S,children:[(0,t.jsxs)(l.SheetTrigger,{render:(0,t.jsx)("button",{type:"button",className:"flex w-full items-center justify-between rounded-lg border border-border/50 bg-muted/30 px-4 py-3 text-left transition-colors hover:bg-muted/50"}),children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:"Custom Email"}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:Z})]}),!w&&K?(0,t.jsxs)("span",{className:(0,n.cn)("inline-flex items-center gap-1 text-[10px] px-1.5 py-0.5 rounded-full font-medium shrink-0","active"===K.status?"bg-green-500/10 text-green-600":"error"===K.status?"bg-red-500/10 text-red-600":"bg-yellow-500/10 text-yellow-600"),children:["active"===K.status?(0,t.jsx)(p.CheckCircle2,{className:"size-2.5"}):"error"===K.status?(0,t.jsx)(m.AlertCircle,{className:"size-2.5"}):null,K.status]}):(0,t.jsx)(x.ChevronRight,{className:"size-4 text-muted-foreground shrink-0"})]}),(0,t.jsxs)(l.SheetContent,{side:"right",className:"data-[side=right]:sm:inset-y-2 data-[side=right]:sm:right-2 data-[side=right]:sm:h-auto data-[side=right]:sm:rounded-xl data-[side=right]:sm:border",children:[(0,t.jsx)(l.SheetTitle,{className:"sr-only",children:"Custom Email"}),(0,t.jsx)(l.SheetBody,{className:"px-8 pt-10 pb-6",children:(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("h2",{className:"font-heading text-lg font-semibold",children:"Custom Email"}),(0,t.jsx)("a",{href:`/w/${N}/help/email-setup`,target:"_blank",rel:"noopener noreferrer",className:"text-muted-foreground hover:text-foreground transition-colors",title:"How to get IMAP/SMTP credentials",children:(0,t.jsx)(h,{className:"size-4"})})]}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground mt-1",children:"Connect your own mailbox to send and receive email as your identity."})]}),!w&&K?(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between rounded-md border border-border/50 px-3 py-2.5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,t.jsx)(c.Mail,{className:"size-3.5 text-muted-foreground shrink-0"}),(0,t.jsx)("span",{className:"text-sm truncate",children:K.email_address})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[(0,t.jsx)("button",{type:"button",onClick:q,disabled:R,title:"Sync now",className:"rounded-full p-1 text-muted-foreground hover:bg-muted transition-colors",children:(0,t.jsx)(u.RefreshCw,{className:(0,n.cn)("size-3.5",R&&"animate-spin")})}),(0,t.jsx)("button",{type:"button",onClick:Y,disabled:T,title:"Remove",className:"rounded-full p-1 text-muted-foreground hover:bg-destructive/10 hover:text-destructive transition-colors",children:T?(0,t.jsx)(d.Loader2,{className:"size-3.5 animate-spin"}):(0,t.jsx)(f.XIcon,{className:"size-3.5"})})]})]}),K.error_message&&(0,t.jsx)("p",{className:"text-xs text-destructive",children:K.error_message}),K.last_synced_at&&(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Last synced: ",new Date(K.last_synced_at).toLocaleString()]}),(0,t.jsxs)("div",{className:"rounded-md border border-border/50 px-3 py-2 text-xs text-muted-foreground space-y-1",children:[(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{children:"IMAP"}),(0,t.jsxs)("span",{children:[K.imap_host,":",K.imap_port]})]}),(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{children:"SMTP"}),(0,t.jsxs)("span",{children:[K.smtp_host,":",K.smtp_port]})]}),(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{children:"Poll interval"}),(0,t.jsxs)("span",{children:[K.poll_interval_seconds,"s"]})]})]})]}):(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)(y,{fields:V,applyPreset:_,errors:D,onClearError:X}),!w&&(0,t.jsxs)(a.Button,{type:"button",size:"sm",className:"w-full",onClick:W,disabled:I,children:[I&&(0,t.jsx)(d.Loader2,{className:"size-3 animate-spin mr-1"}),"Save & Connect"]}),w&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"Will be connected after creating the agent."})]})]})})]})]})}],656955)},617108,e=>{"use strict";var t=e.i(368075),s=e.i(298699),a=e.i(186339),r=e.i(903477),i=e.i(473131),l=e.i(613349);function n({className:e,...s}){return(0,t.jsx)("textarea",{"data-slot":"textarea",className:(0,l.cn)("flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-transparent px-2.5 py-2 text-base transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",e),...s})}var o=e.i(89110),d=e.i(779646),c=e.i(855372);function u({value:e,onValueChange:s,runtimes:a,disabled:r,triggerProps:i}){let l=function(e){let t=new Map;for(let s of e){let e=s.daemon_id||s.id;t.has(e)||t.set(e,{label:("string"==typeof s.device_info?s.device_info:"")||e,runtimes:[]}),t.get(e).runtimes.push(s)}return t}(a),n=r||0===a.length||a.every(e=>"online"!==e.status);return(0,t.jsxs)(o.Select,{value:e,onValueChange:e=>{e&&s(e)},disabled:n,items:a.map(e=>{let t=("string"==typeof e.device_info?e.device_info:"")||"",s=t?`${e.provider} (${t})`:e.provider;return{value:e.id,label:s}}),children:[(0,t.jsx)(o.SelectTrigger,{...i,children:(0,t.jsx)(o.SelectValue,{placeholder:0===a.length?"No runtimes — start a daemon first":a.every(e=>"online"!==e.status)?"All runtimes offline":"Select a runtime"})}),(0,t.jsx)(o.SelectPopup,{children:Array.from(l.entries()).map(([e,s])=>(0,t.jsxs)(o.SelectGroup,{children:[(0,t.jsx)(o.SelectGroupLabel,{className:"truncate",children:s.label}),s.runtimes.map(e=>(0,t.jsx)(o.SelectItem,{value:e.id,disabled:"online"!==e.status,children:(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[(0,t.jsx)(c.ProviderLogo,{provider:e.provider,className:"h-4 w-4"}),(0,t.jsx)("span",{children:e.provider}),(0,t.jsxs)("span",{className:"text-muted-foreground text-xs",children:["(",e.status,")"]})]})},e.id))]},e))})]})}e.i(954194),e.i(459119).default.env.ALOOK_DOMAIN;let m=/^[a-zA-Z0-9-]{3,}$/,p=new Set(["no-reply","noreply","admin","support","help","info","postmaster","abuse","security","mailer-daemon","root","webmaster","hostmaster","system","alook"]);function x(e){return m.test(e)&&!p.has(e.toLowerCase())}let f=(0,e.i(706875).default)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);var h=e.i(71951),v=e.i(500324),g=e.i(222862),b=e.i(355578),j=e.i(636557),y=e.i(880932);e.s(["AgentAccessTab",0,function({agentId:r,ownerId:i}){let{workspaceId:n}=(0,v.useWorkspace)(),[c,u]=(0,s.useState)("private"),[m,p]=(0,s.useState)(!1),[x,f]=(0,s.useState)([]),[b,C]=(0,s.useState)([]),[N,w]=(0,s.useState)(!0),[A,S]=(0,s.useState)(null),[P,k]=(0,s.useState)(""),[E,M]=(0,s.useState)(!1),[I,L]=(0,s.useState)(null),[R,F]=(0,s.useState)(!0);(0,s.useEffect)(()=>{let e=!1;return w(!0),Promise.all([(0,g.listAgentAccess)(n,r),(0,g.listMembers)(n)]).then(([t,s])=>{e||(f(t),C(s))}).catch(t=>{e||(t instanceof j.ApiError&&403===t.status?S(t.message):S("Failed to load access list"))}).finally(()=>{e||w(!1)}),()=>{e=!0}},[n,r]),(0,s.useEffect)(()=>{e.A(302482).then(({listAgents:e})=>{e(n).then(e=>{let t=e.find(e=>e.id===r);t&&u(t.visibility??"private")}).catch(()=>{})})},[n,r]);let T=async e=>{u(e),p(!0);try{await (0,g.updateAgent)(r,{visibility:e},n),y.toast.success("public"===e?"Agent is now public":"Agent is now private")}catch{u(c),y.toast.error("Failed to update visibility")}finally{p(!1)}},H=b.find(e=>e.user_id===i),D=new Set(x.map(e=>e.user_id)),O=b.filter(e=>!D.has(e.user_id)&&e.user_id!==i),V=async e=>{if(e&&!E){M(!0),S(null);try{await (0,g.grantAgentAccess)(n,r,e);let t=b.find(t=>t.user_id===e);t&&f(s=>[...s,{id:e,user_id:t.user_id,name:t.name,email:t.email,created_at:new Date().toISOString()}]),k(""),y.toast.success("Access granted")}catch(e){S(e instanceof Error?e.message:"Failed to grant access")}finally{M(!1)}}},_=async()=>{if(I){f(e=>e.filter(e=>e.user_id!==I.user_id)),L(null),S(null);try{await (0,g.revokeAgentAccess)(n,r,I.user_id,R),y.toast.success(R?"Access revoked and removed from whitelist":"Access revoked")}catch{f(x),S("Failed to revoke access")}}};return(0,t.jsxs)("div",{className:"mx-auto max-w-md space-y-6",children:[(0,t.jsx)("div",{className:"space-y-4 rounded-lg border border-border/50 p-4",children:(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-medium",children:"Visibility"}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:"public"===c?"All workspace members can use this agent":"Only authorized members can use this agent"})]}),(0,t.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:m?"Saving…":"public"===c?"Public":"Private"}),(0,t.jsx)("input",{type:"checkbox",checked:"public"===c,onChange:e=>T(e.target.checked?"public":"private"),disabled:m,className:"sr-only peer"}),(0,t.jsx)("div",{className:"relative w-9 h-5 bg-muted rounded-full peer-checked:bg-primary transition-colors",children:(0,t.jsx)("div",{className:(0,l.cn)("absolute left-0.5 top-0.5 w-4 h-4 bg-background rounded-full transition-transform","public"===c?"translate-x-4":"translate-x-0")})})]})]})}),"private"===c&&(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("h3",{className:"text-sm font-medium",children:"Authorized Members"}),A&&(0,t.jsx)("p",{className:"text-xs text-destructive",children:A}),N?(0,t.jsx)("div",{className:"space-y-2",children:[1,2].map(e=>(0,t.jsx)("span",{className:"block h-10 animate-pulse rounded-md bg-muted"},e))}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"space-y-1.5",children:[H&&(0,t.jsxs)("div",{className:"flex items-center justify-between rounded-md border border-border/50 px-3 py-2",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("p",{className:"text-xs font-medium truncate",children:H.name||H.email}),H.name&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground truncate",children:H.email})]}),(0,t.jsx)("span",{className:"ml-2 shrink-0 text-xs text-muted-foreground",children:"Owner"})]}),x.map(e=>(0,t.jsxs)("div",{className:"flex items-center justify-between rounded-md border border-border/50 px-3 py-2",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("p",{className:"text-xs font-medium truncate",children:e.name||e.email}),e.name&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground truncate",children:e.email})]}),(0,t.jsx)("button",{type:"button",onClick:()=>{var t;let s;return t=e.user_id,void((s=x.find(e=>e.user_id===t))&&(L(s),F(!0)))},className:"ml-2 shrink-0 rounded-full p-1 text-muted-foreground hover:bg-destructive/10 hover:text-destructive transition-colors",children:(0,t.jsx)(h.XIcon,{className:"size-3.5"})})]},e.user_id))]}),O.length>0?(0,t.jsx)("div",{className:"flex items-center gap-2",children:(0,t.jsxs)(o.Select,{value:P,onValueChange:e=>{e&&(k(e),V(e))},children:[(0,t.jsx)(o.SelectTrigger,{className:"flex-1 text-xs",children:(0,t.jsx)(o.SelectValue,{placeholder:"Add a member..."})}),(0,t.jsx)(o.SelectPopup,{children:O.map(e=>(0,t.jsx)(o.SelectItem,{value:e.user_id,children:e.name||e.email},e.user_id))})]})}):(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"All workspace members have been added. Invite new members from workspace settings."})]})]}),(0,t.jsx)(d.Dialog,{open:!!I,onOpenChange:e=>{e||L(null)},children:(0,t.jsxs)(d.DialogContent,{children:[(0,t.jsxs)(d.DialogHeader,{children:[(0,t.jsx)(d.DialogTitle,{children:"Remove Member Access"}),(0,t.jsxs)(d.DialogDescription,{children:["Remove"," ",(0,t.jsx)("span",{className:"font-medium text-foreground",children:I?.name||I?.email})," ","from this agent?"]})]}),(0,t.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer px-1",children:[(0,t.jsx)("input",{type:"checkbox",checked:R,onChange:e=>F(e.target.checked),className:"size-4 rounded border-border accent-primary"}),(0,t.jsx)("span",{className:"text-sm",children:"Also remove from email whitelist"})]}),(0,t.jsxs)(d.DialogFooter,{children:[(0,t.jsx)(d.DialogClose,{render:(0,t.jsx)(a.Button,{variant:"outline",size:"sm"}),children:"Cancel"}),(0,t.jsx)(a.Button,{size:"sm",variant:"destructive",onClick:_,children:"Remove"})]})]})})]})},"AllowedSendersTab",0,function({agentId:e}){let{workspaceId:i}=(0,v.useWorkspace)(),[l,n]=(0,s.useState)([]),[o,d]=(0,s.useState)(""),[c,u]=(0,s.useState)(!0),[m,p]=(0,s.useState)(!1),[x,b]=(0,s.useState)(null),[j,y]=(0,s.useState)(!1);(0,s.useEffect)(()=>{let t=!1;return u(!0),(0,g.listWhitelist)(e,i).then(e=>{t||n(e)}).catch(()=>{t||b("Failed to load whitelist")}).finally(()=>{t||u(!1)}),()=>{t=!0}},[e,i]),(0,s.useEffect)(()=>{let t=!1;return(0,g.listAgents)(i).then(s=>{t||y(s.filter(t=>t.id!==e&&t.email_handle).length>0)}).catch(()=>{}),()=>{t=!0}},[e,i]);let C=o.includes("@")&&o.trim().length>0,N=async()=>{if(C&&!m){p(!0),b(null);try{let t=await (0,g.addWhitelistEmail)(e,o.toLowerCase(),i);n(e=>[...e,t]),d("")}catch(e){b(e instanceof Error?e.message:"Failed to add email")}finally{p(!1)}}},w=async t=>{n(e=>e.filter(e=>e.id!==t)),b(null);try{await (0,g.removeWhitelistEmail)(e,t,i)}catch{n(l),b("Failed to remove email")}};return(0,t.jsxs)("div",{className:"mx-auto max-w-md space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-medium",children:"Allowed Senders"}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Only emails from these addresses will trigger this agent. Applies to all configured email addresses (alook.ai handle and custom email)."}),j&&(0,t.jsxs)("p",{className:"text-xs text-muted-foreground/70 mt-1.5 flex items-center gap-1",children:[(0,t.jsx)(f,{className:"size-3 shrink-0"}),"Agents in this workspace can already email each other — no whitelist entry needed."]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(r.Input,{value:o,onChange:e=>d(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),N())},placeholder:"user@example.com",type:"email",className:"flex-1"}),(0,t.jsx)(a.Button,{type:"button",size:"sm",variant:"secondary",disabled:!C||m,onClick:N,children:m?"Adding...":"Add"})]}),x&&(0,t.jsx)("p",{className:"text-xs text-destructive",children:x}),c?(0,t.jsx)("div",{className:"space-y-2",children:[1,2,3].map(e=>(0,t.jsx)("span",{className:"block h-8 animate-pulse rounded-md bg-muted"},e))}):0===l.length?(0,t.jsx)("p",{className:"text-sm text-muted-foreground py-4 text-center",children:"No allowed senders — all inbound emails will be rejected."}):(0,t.jsx)("div",{className:"space-y-1.5",children:l.map(e=>(0,t.jsxs)("div",{className:"flex items-center justify-between rounded-md border border-border/50 px-3 py-2",children:[(0,t.jsx)("span",{className:"text-sm",children:e.email}),(0,t.jsx)("button",{type:"button",onClick:()=>w(e.id),className:"rounded-full p-1 text-muted-foreground hover:bg-destructive/10 hover:text-destructive transition-colors",children:(0,t.jsx)(h.XIcon,{className:"size-3.5"})})]},e.id))})]})},"EmailHandleField",0,function({emailHandle:e,setEmailHandle:s,derivedHandle:a}){let n=e||a,o=n&&!x(n)?"Must be 3+ characters, letters/numbers/hyphens only":"";return(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)(i.Label,{htmlFor:"agent-handle",children:"Email Handle"}),(0,t.jsxs)("div",{className:"flex items-center gap-0",children:[(0,t.jsx)(r.Input,{id:"agent-handle",value:e,onChange:e=>s(e.target.value.toLowerCase()),placeholder:a||"my-agent",className:"rounded-r-none"}),(0,t.jsx)("span",{className:"inline-flex h-8 items-center rounded-r-lg border border-l-0 border-input bg-muted px-2.5 text-sm text-muted-foreground",children:"@alook.ai"})]}),n&&(0,t.jsx)("p",{className:(0,l.cn)("text-xs",o?"text-destructive":"text-muted-foreground"),children:o||`${n}@alook.ai`}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground/70",children:"This cannot be changed after creation."})]})},"GeneralFields",0,function({name:e,setName:s,description:a,setDescription:o,instructions:d,setInstructions:m,model:p,setModel:x,runtimeId:f,setRuntimeId:h,runtimes:v,providerModels:g,errors:b,runtimeAsRadio:j=!1}){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsxs)(i.Label,{htmlFor:"agent-name",children:["Name ",(0,t.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,t.jsx)(r.Input,{id:"agent-name",value:e,onChange:e=>s(e.target.value),placeholder:"My Agent",required:!0,"aria-invalid":!!b?.name,"aria-describedby":b?.name?"agent-name-error":void 0}),b?.name&&(0,t.jsx)("p",{id:"agent-name-error",className:"text-xs text-destructive",children:b.name})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)(i.Label,{htmlFor:"agent-description",children:"Description"}),(0,t.jsx)(r.Input,{id:"agent-description",value:a,onChange:e=>o(e.target.value),placeholder:"What does this agent do?"})]}),m&&(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)(i.Label,{htmlFor:"agent-instructions",children:"Instructions"}),(0,t.jsx)(n,{id:"agent-instructions",value:d??"",onChange:e=>m(e.target.value),placeholder:"System prompt or instructions...",rows:6})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)(i.Label,{htmlFor:"agent-model",children:"Model"}),(0,t.jsx)(r.Input,{id:"agent-model",value:p,onChange:e=>x(e.target.value),placeholder:"Default (runtime model)",list:"agent-model-options"}),g.length>0&&(0,t.jsx)("datalist",{id:"agent-model-options",children:g.map(e=>(0,t.jsx)("option",{value:e},e))}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground/70",children:"Optional. Leave blank to use the runtime's default model."})]}),(0,t.jsxs)("div",{id:"agent-runtime-select",className:"space-y-1.5",children:[(0,t.jsxs)(i.Label,{children:["Runtime ",(0,t.jsx)("span",{className:"text-destructive",children:"*"})]}),j?(0,t.jsx)("div",{className:"space-y-1.5",role:"radiogroup","aria-label":"Runtime",children:0===v.length?(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"No runtimes — start a daemon first"}):v.map(e=>{let s="online"===e.status,a=f===e.id,r="string"==typeof e.device_info?e.device_info:"";return(0,t.jsxs)("label",{className:(0,l.cn)("flex items-center gap-2.5 rounded-lg border p-2.5 cursor-pointer transition-colors",a?"border-primary bg-primary/5":"border-border hover:border-foreground/20",!s&&"opacity-40 pointer-events-none"),children:[(0,t.jsx)("input",{type:"radio",name:"runtime",value:e.id,checked:a,disabled:!s,onChange:()=>{let t=v.find(e=>e.id===f)?.provider,s=e.provider;h(e.id),t&&t!==s&&x("")},className:"accent-primary size-3.5"}),(0,t.jsx)(c.ProviderLogo,{provider:e.provider,className:"h-4 w-4 shrink-0"}),(0,t.jsx)("span",{className:"text-sm",children:e.provider}),r&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:r}),!s&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground ml-auto",children:"offline"})]},e.id)})}):(0,t.jsx)(u,{value:f,onValueChange:e=>{let t=v.find(e=>e.id===f)?.provider,s=v.find(t=>t.id===e)?.provider;h(e),t&&t!==s&&x("")},runtimes:v,triggerProps:{"aria-invalid":!!b?.runtimeId,"aria-describedby":b?.runtimeId?"agent-runtime-error":void 0}}),b?.runtimeId&&(0,t.jsx)("p",{id:"agent-runtime-error",className:"text-xs text-destructive",children:b.runtimeId})]})]})},"PinToggle",0,function({agentId:e}){let{pins:a,handlePinAgent:r,handleUnpinAgent:i}=(0,b.useAgentContext)(),n=a.has(e),[o,d]=(0,s.useState)(!1),c=async()=>{d(!0);try{n?await i(e):await r(e)}finally{d(!1)}};return(0,t.jsxs)("div",{className:"space-y-4 rounded-lg border border-border/50 p-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-medium",children:"Pin to Sidebar"}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:n?"This agent is pinned to the top of the sidebar":"Pin this agent to the top of the sidebar"})]}),(0,t.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:o?"Saving…":n?"Pinned":"Unpinned"}),(0,t.jsx)("input",{type:"checkbox",checked:n,onChange:c,disabled:o,className:"sr-only peer"}),(0,t.jsx)("div",{className:"relative w-9 h-5 bg-muted rounded-full peer-checked:bg-primary transition-colors",children:(0,t.jsx)("div",{className:(0,l.cn)("absolute left-0.5 top-0.5 w-4 h-4 bg-background rounded-full transition-transform",n?"translate-x-4":"translate-x-0")})})]})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground/70",children:"Tip: You can also right-click an agent in the sidebar to pin or unpin it."})]})},"getHandleError",0,function(e){return e&&!x(e)?"Must be 3+ characters, letters/numbers/hyphens only":""},"nameToHandle",0,function(e){return e.toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-{2,}/g,"-").replace(/^-|-$/g,"")}],617108)}]);
|