@alook/app 0.0.61 → 0.0.62
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/web/.open-next/.build/durable-objects/queue.js +5 -5
- package/bundled/web/.open-next/assets/BUILD_ID +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0-mpehtea82gj.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0.2cm-frpsn46.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/02l4ozfj-bus0.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/02m~kr41yqpgu.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/02oywn5r~vty4.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/037bobdy3gbd3.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/05pjee3c_08ry.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/09fl.5j3fsb-~.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/09g3tf250sygu.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0_.5~wi4~pwek.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0b~ih_tyx7kz2.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0e68yx9h-f6.4.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0h--f0f9fru_b.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{0ckywgfha.zc8.js → 0ioy_kjd42n1w.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0khqgglj_9zdp.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0l-ma4.~.hl0g.js +3 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0mq7ossd6d7or.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0ojkmo0k890x0.js +63 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{05x9e8ndr.o12.js → 0pg7cnm39yoom.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0q8gx414vnsur.js +3 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0uht5kak3uat9.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0v5mv7gpv3g0e.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0v~f5hjxbtvse.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0wehjlyi0zl04.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0ypg5.fp9-.a2.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0zplaqwk4a-ro.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/1053vndt~uadk.js +2 -0
- package/bundled/web/.open-next/cache/{ouY0UJDBkwSzFlKOVDaoD → SuuOnXXAS0ccoLD99O2QP}/_global-error.cache +1 -1
- package/bundled/web/.open-next/cache/{ouY0UJDBkwSzFlKOVDaoD → SuuOnXXAS0ccoLD99O2QP}/_not-found.cache +1 -1
- package/bundled/web/.open-next/cache/{ouY0UJDBkwSzFlKOVDaoD → SuuOnXXAS0ccoLD99O2QP}/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 +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/BUILD_ID +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/build-manifest.json +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/prerender-manifest.json +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/invite/[token]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/studio/new/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/activity/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/[convId]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/email/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/files/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/meetings/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/new/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/calendar/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/flags/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/help/email-setup/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/home/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/issues/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/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/[turbopack]_runtime.js +11 -13
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0jkll-p._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0tpn293._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[turbopack]_runtime.js +11 -13
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_00tia4h._.js +65 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_01-aa1p._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_06cffai._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_07nc8as._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0_gdn-k._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0grgpqw._.js → _0icffya._.js} +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0xd~7d0._.js → _0l89059._.js} +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/node_modules__pnpm_07nfm8a._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/node_modules__pnpm_0d6x0l6._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/node_modules__pnpm_0ivfx3i._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/node_modules__pnpm_0o~nukr._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_0dvds67._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_0stugv_._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_agents_[id]_activity_page_tsx_0sthpjy._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_agents_[id]_email_page_tsx_09mq1-g._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_agents_[id]_files_page_tsx_11eh380._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_agents_[id]_layout_tsx_0juu2um._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_flags_page_tsx_01u6ba1._.js +1 -1
- 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]_issues_page_tsx_0_k5j03._.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_app_(app)_w_[slug]_threads_[traceId]_page_tsx_00bx721._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_00xgo_-._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_0nj0euq._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_avatar_index_ts_0v3qm09._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_issues_issue-sheet_tsx_02fma1.._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_ui_tooltip_tsx_01x-izi._.js +3 -0
- 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/middleware-build-manifest.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-manifest.json +5 -5
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.json +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs +31 -31
- package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +202 -238
- package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +3 -3
- package/package.json +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0.sz8uokz4r3z.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/02eur_~.0beq1.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0897z5r~zf_64.js +0 -3
- package/bundled/web/.open-next/assets/_next/static/chunks/09cf5_rxgdweq.js +0 -3
- package/bundled/web/.open-next/assets/_next/static/chunks/09g0nda2m8qs6.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/09xlaawkmeo-1.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0_r2q9b0p3~43.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0cevbp17ckdk8.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0cfcuvz1i5ib-.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0d_~94mojr73c.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0fv1xxx5~japv.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0h3_qte--w1zd.js +0 -2
- package/bundled/web/.open-next/assets/_next/static/chunks/0kv3zo-jlu8ys.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0ns6eebx34b7y.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0s.jfkn9-ghod.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0tzluwv791ius.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0v1r-i08gf2_r.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0vy6bvkl._5cz.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0wh92yl8ru81f.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0wiz11twa9nza.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0xgmeffaed_g1.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/11awu4cnrpf_2.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/13ghp4pyj_rtr.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/15b8tj5zgbyem.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/17vrtnfkomuz6.js +0 -63
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/0r03_@base-ui_react_esm_0rw~qhg._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__07kw94m._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0j4zfi1._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_00lrpyh._.js +0 -65
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0388irl._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0cq9vt9._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0rb2_75._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0rkr3t4._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/node_modules__pnpm_01s8r3n._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/node_modules__pnpm_0r.85x_._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/node_modules__pnpm_0rwgvis._.js +0 -3
- /package/bundled/web/.open-next/assets/_next/static/{ouY0UJDBkwSzFlKOVDaoD → SuuOnXXAS0ccoLD99O2QP}/_buildManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{ouY0UJDBkwSzFlKOVDaoD → SuuOnXXAS0ccoLD99O2QP}/_clientMiddlewareManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{ouY0UJDBkwSzFlKOVDaoD → SuuOnXXAS0ccoLD99O2QP}/_ssgManifest.js +0 -0
- /package/bundled/web/.open-next/cache/{ouY0UJDBkwSzFlKOVDaoD → SuuOnXXAS0ccoLD99O2QP}/robots.txt.cache +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[582148,a=>{"use strict";a.s(["WorkspaceShell",()=>aP,"useSidebarTrigger",()=>aO],582148);var b=a.i(749314),c=a.i(437199),d=a.i(207058),e=a.i(752792),f=a.i(506180),g=a.i(722393),h=a.i(25668),i=a.i(75118),j=a.i(588339),k=a.i(831893),l=a.i(430744);a.i(735132);var m=a.i(949409),n=a.i(387123),o=a.i(896393),p=a.i(525132),q=a.i(929201),r=a.i(578894),s=a.i(26822);function t({item:a,slug:c,onClick:d}){return(0,b.jsx)("a",{href:`/w/${c}/agents/${a.agent_id}?conv=${a.id}`,onClick:d,className:"block w-full py-1.5 px-2 hover:bg-muted rounded-md transition-colors cursor-pointer",children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(m.AgentAvatar,{name:a.agent_name,avatarUrl:a.agent_avatar_url,size:24}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-xs font-medium truncate flex-1 min-w-0",children:a.agent_name}),(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground whitespace-nowrap shrink-0",children:(0,n.relativeTime)(a.latest_response_at)})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground truncate mt-0.5",children:a.root_prompt??a.title})]})]})})}function u({isActive:a,onNavigate:d}){let{slug:e,workspaceId:m}=(0,f.useWorkspace)(),{count:n,decrement:v,refresh:w}=(0,k.useInboxCount)(),{openAgentChat:x}=(0,l.useAgentChatSheet)(),[y,z]=(0,c.useState)(null),[A,B]=(0,c.useState)(!1),[C,D]=(0,c.useState)(!1),[E,F]=(0,c.useState)(!1),G=(0,c.useCallback)(async()=>{z(null),B(!0);try{let a=await (0,j.listInboxItems)(m,{limit:30,types:(0,o.getInboxFilterTypes)()});z(a.items)}catch{z([])}finally{B(!1)}},[m]),H=(0,c.useCallback)((a,b)=>{b.metaKey||b.ctrlKey||b.shiftKey||0!==b.button||(b.preventDefault(),v(),D(!1),d?.(),x(a.agent_id,{conversationId:a.id}))},[v,d,x]);return(0,b.jsxs)(g.Popover,{open:C,onOpenChange:a=>{D(a),a&&(G(),w())},children:[(0,b.jsxs)(p.Tooltip,{open:!C&&E,onOpenChange:F,children:[(0,b.jsxs)(g.PopoverTrigger,{render:(0,b.jsx)(p.TooltipTrigger,{render:(0,b.jsx)("button",{type:"button",className:(0,i.cn)("relative flex items-center justify-center size-10 rounded-xl transition-colors duration-200 cursor-pointer","text-muted-foreground hover:text-foreground hover:bg-accent",a&&"bg-accent text-foreground")})}),children:[(0,b.jsx)(q.Inbox,{className:"size-4"}),n>0&&(0,b.jsx)("span",{className:"absolute top-1 right-1 flex items-center justify-center min-w-3.5 h-3.5 rounded-full bg-primary text-primary-foreground text-[9px] font-bold px-0.5",children:n>99?"99+":n})]}),(0,b.jsx)(p.TooltipContent,{side:"right",children:"Unread"})]}),(0,b.jsxs)(g.PopoverContent,{side:"right",className:"w-80 p-0",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-b border-border/50",children:[(0,b.jsx)("span",{className:"text-xs font-medium",children:"Unread"}),(0,b.jsx)(s.default,{href:`/w/${e}/unread`,onClick:()=>{D(!1),d?.()},className:"flex items-center justify-center size-6 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",children:(0,b.jsx)(r.ArrowUpRight,{className:"size-3.5"})})]}),(0,b.jsx)("div",{className:"p-1",children:A?(0,b.jsx)("div",{className:"space-y-1",children:Array.from({length:3}).map((a,c)=>(0,b.jsxs)("div",{className:"py-1.5 px-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(h.Skeleton,{className:"size-6 rounded-full shrink-0"}),(0,b.jsx)(h.Skeleton,{className:"h-3 w-20"}),(0,b.jsx)("div",{className:"flex-1"}),(0,b.jsx)(h.Skeleton,{className:"h-2.5 w-8"})]}),(0,b.jsx)(h.Skeleton,{className:"h-3 w-3/4 mt-1.5 ml-8"})]},c))}):y&&0!==y.length?(0,b.jsx)("div",{className:"max-h-96 overflow-y-auto",children:y.map(a=>(0,b.jsx)(t,{item:a,slug:e,onClick:b=>H(a,b)},a.id))}):(0,b.jsxs)("div",{className:"flex flex-col items-center gap-2 py-6 text-muted-foreground",children:[(0,b.jsx)(q.Inbox,{className:"size-6 opacity-30"}),(0,b.jsx)("p",{className:"text-xs",children:"No unread messages"})]})})]})]})}var v=a.i(70813),w=a.i(221959);function x({item:a,slug:c,onClick:d}){return(0,b.jsx)("a",{href:`/w/${c}/agents/${a.agent_id}?conv=${a.conversation_id}`,onClick:d,className:"block w-full py-1.5 px-2 hover:bg-muted rounded-md transition-colors cursor-pointer",children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(m.AgentAvatar,{name:a.agent_name,avatarUrl:a.agent_avatar_url,size:24}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-xs font-medium truncate flex-1 min-w-0",children:a.agent_name}),(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground whitespace-nowrap shrink-0",children:(0,n.relativeTime)(a.flagged_at)})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground truncate mt-0.5",children:a.message_content})]})]})})}function y({isActive:a,onNavigate:d}){let{slug:e,workspaceId:k}=(0,f.useWorkspace)(),{count:m}=(0,v.useFlagCount)(),{openAgentChat:n}=(0,l.useAgentChatSheet)(),[o,q]=(0,c.useState)(null),[t,u]=(0,c.useState)(!1),[z,A]=(0,c.useState)(!1),[B,C]=(0,c.useState)(!1),D=(0,c.useCallback)(async()=>{q(null),u(!0);try{let a=await (0,j.listFlaggedItems)(k,{limit:30});q(a.items)}catch{q([])}finally{u(!1)}},[k]),E=(0,c.useCallback)((a,b)=>{b.metaKey||b.ctrlKey||b.shiftKey||0!==b.button||(b.preventDefault(),A(!1),d?.(),n(a.agent_id,{conversationId:a.conversation_id,messageId:a.message_id}))},[d,n]);return(0,b.jsxs)(g.Popover,{open:z,onOpenChange:a=>{A(a),a&&D()},children:[(0,b.jsxs)(p.Tooltip,{open:!z&&B,onOpenChange:C,children:[(0,b.jsxs)(g.PopoverTrigger,{render:(0,b.jsx)(p.TooltipTrigger,{render:(0,b.jsx)("button",{type:"button",className:(0,i.cn)("relative flex items-center justify-center size-10 rounded-xl transition-colors duration-200 cursor-pointer","text-muted-foreground hover:text-foreground hover:bg-accent",a&&"bg-accent text-foreground")})}),children:[(0,b.jsx)(w.Flag,{className:"size-4"}),m>0&&(0,b.jsx)("span",{className:"absolute top-1 right-1 flex items-center justify-center min-w-3.5 h-3.5 rounded-full bg-primary text-primary-foreground text-[9px] font-bold px-0.5",children:m>99?"99+":m})]}),(0,b.jsx)(p.TooltipContent,{side:"right",children:"Flagged"})]}),(0,b.jsxs)(g.PopoverContent,{side:"right",className:"w-80 p-0",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-b border-border/50",children:[(0,b.jsx)("span",{className:"text-xs font-medium",children:"Flagged"}),(0,b.jsx)(s.default,{href:`/w/${e}/flags`,onClick:()=>{A(!1),d?.()},className:"flex items-center justify-center size-6 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",children:(0,b.jsx)(r.ArrowUpRight,{className:"size-3.5"})})]}),(0,b.jsx)("div",{className:"p-1",children:t?(0,b.jsx)("div",{className:"space-y-1",children:Array.from({length:3}).map((a,c)=>(0,b.jsxs)("div",{className:"py-1.5 px-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(h.Skeleton,{className:"size-6 rounded-full shrink-0"}),(0,b.jsx)(h.Skeleton,{className:"h-3 w-20"}),(0,b.jsx)("div",{className:"flex-1"}),(0,b.jsx)(h.Skeleton,{className:"h-2.5 w-8"})]}),(0,b.jsx)(h.Skeleton,{className:"h-3 w-3/4 mt-1.5 ml-8"})]},c))}):o&&0!==o.length?(0,b.jsx)("div",{className:"max-h-96 overflow-y-auto thin-scrollbar",children:o.map(a=>(0,b.jsx)(x,{item:a,slug:e,onClick:b=>E(a,b)},a.id))}):(0,b.jsxs)("div",{className:"flex flex-col items-center gap-2 py-6 text-muted-foreground",children:[(0,b.jsx)(w.Flag,{className:"size-6 opacity-30"}),(0,b.jsx)("p",{className:"text-xs",children:"No flagged messages"})]})})]})]})}var z=a.i(242292),A=a.i(385539),B=a.i(790090);let C=(0,B.default)("sun-moon",[["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M14.837 16.385a6 6 0 1 1-7.223-7.222c.624-.147.97.66.715 1.248a4 4 0 0 0 5.26 5.259c.589-.255 1.396.09 1.248.715",key:"xlf6rm"}],["path",{d:"M16 12a4 4 0 0 0-4-4",key:"6vsxu"}],["path",{d:"m19 5-1.256 1.256",key:"1yg6a6"}],["path",{d:"M20 12h2",key:"1q8mjw"}]]);var D=a.i(911057),E=a.i(348634);let F=(0,B.default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),G=(0,B.default)("arrow-left-right",[["path",{d:"M8 3 4 7l4 4",key:"9rb6wj"}],["path",{d:"M4 7h16",key:"6tx8e3"}],["path",{d:"m16 21 4-4-4-4",key:"siv7j2"}],["path",{d:"M20 17H4",key:"h6l3hr"}]]),H=(0,B.default)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]);var I=a.i(249453),J=a.i(993532);let K=(0,B.default)("ungroup",[["rect",{width:"8",height:"6",x:"5",y:"4",rx:"1",key:"nzclkv"}],["rect",{width:"8",height:"6",x:"11",y:"14",rx:"1",key:"4tytwb"}]]),L=(0,B.default)("arrow-right-to-line",[["path",{d:"M17 12H3",key:"8awo09"}],["path",{d:"m11 18 6-6-6-6",key:"8c2y43"}],["path",{d:"M21 5v14",key:"nzette"}]]);var M=a.i(615640),N=a.i(454607),O=a.i(867561),P=a.i(869267),Q=a.i(166198);function R(){let{data:a,isPending:e}=(0,N.useSession)(),f=(0,d.useRouter)(),[g,i]=(0,c.useState)(!1);(0,c.useEffect)(()=>{i(!0)},[]);let j=a?.user;if(!g||e||!j)return(0,b.jsx)(h.Skeleton,{className:"size-10 rounded-xl"});let k=(j.name||j.email||"?").charAt(0).toUpperCase();return(0,b.jsxs)(O.DropdownMenu,{children:[(0,b.jsx)(O.DropdownMenuTrigger,{render:(0,b.jsx)("button",{type:"button",title:j.name??j.email??"Account",className:"flex items-center justify-center size-10 rounded-xl text-muted-foreground hover:text-foreground hover:bg-accent transition-colors duration-200 cursor-pointer"}),children:(0,b.jsx)(Q.User,{className:"size-4"})}),(0,b.jsxs)(O.DropdownMenuContent,{className:"min-w-52 rounded-lg",side:"right",align:"end",sideOffset:8,children:[(0,b.jsx)(O.DropdownMenuGroup,{children:(0,b.jsx)(O.DropdownMenuLabel,{className:"p-0 font-normal",children:(0,b.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1.5 text-left text-sm",children:[(0,b.jsx)("div",{className:"flex items-center justify-center size-7 rounded-full bg-primary text-primary-foreground text-xs font-medium shrink-0",children:k}),(0,b.jsxs)("div",{className:"grid flex-1 text-left text-sm leading-tight",children:[(0,b.jsx)("span",{className:"truncate font-medium",children:j.name??"User"}),(0,b.jsx)("span",{className:"truncate text-xs text-muted-foreground",children:j.email})]})]})})}),(0,b.jsx)(O.DropdownMenuSeparator,{}),(0,b.jsx)(O.DropdownMenuGroup,{children:(0,b.jsxs)(O.DropdownMenuItem,{onClick:async()=>{await (0,N.signOut)(),f.push("/sign-in")},children:[(0,b.jsx)(P.LogOut,{className:"size-4"}),"Log out"]})})]})]})}var S=a.i(764190),T=a.i(325848),U=a.i(253260),V=a.i(914211),W=a.i(892365);let X=a=>{let{transform:b}=a;return{...b,x:0}};function Y(a,b,c){let d=a.slice();return d.splice(c<0?d.length+c:c,0,d.splice(b,1)[0]),d}function Z(a){return null!==a&&a>=0}let $=a=>{let{rects:b,activeIndex:c,overIndex:d,index:e}=a,f=Y(b,d,c),g=b[e],h=f[e];return h&&g?{x:h.left-g.left,y:h.top-g.top,scaleX:h.width/g.width,scaleY:h.height/g.height}:null},_={scaleX:1,scaleY:1},aa=a=>{var b,c,d,e;let f,g,h,{activeIndex:i,activeNodeRect:j,index:k,rects:l,overIndex:m}=a,n=null!=(b=l[i])?b:j;if(!n)return null;if(k===i){let a=l[m];return a?{x:0,y:i<m?a.top+a.height-(n.top+n.height):a.top-n.top,..._}:null}let o=(c=l,d=k,e=i,f=c[d],g=c[d-1],h=c[d+1],f?e<d?g?f.top-(g.top+g.height):h?h.top-(f.top+f.height):0:h?h.top-(f.top+f.height):g?f.top-(g.top+g.height):0:0);return k>i&&k<=m?{x:0,y:-n.height-o,..._}:k<i&&k>=m?{x:0,y:n.height+o,..._}:{x:0,y:0,..._}},ab="Sortable",ac=c.default.createContext({activeIndex:-1,containerId:ab,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:$,disabled:{draggable:!1,droppable:!1}});function ad(a){let{children:b,id:d,items:e,strategy:f=$,disabled:g=!1}=a,{active:h,dragOverlay:i,droppableRects:j,over:k,measureDroppableContainers:l}=(0,V.useDndContext)(),m=(0,W.useUniqueId)(ab,d),n=null!==i.rect,o=(0,c.useMemo)(()=>e.map(a=>"object"==typeof a&&"id"in a?a.id:a),[e]),p=null!=h,q=h?o.indexOf(h.id):-1,r=k?o.indexOf(k.id):-1,s=(0,c.useRef)(o),t=!function(a,b){if(a===b)return!0;if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}(o,s.current),u=-1!==r&&-1===q||t,v="boolean"==typeof g?{draggable:g,droppable:g}:g;(0,W.useIsomorphicLayoutEffect)(()=>{t&&p&&l(o)},[t,o,p,l]),(0,c.useEffect)(()=>{s.current=o},[o]);let w=(0,c.useMemo)(()=>({activeIndex:q,containerId:m,disabled:v,disableTransforms:u,items:o,overIndex:r,useDragOverlay:n,sortedRects:o.reduce((a,b,c)=>{let d=j.get(b);return d&&(a[c]=d),a},Array(o.length)),strategy:f}),[q,m,v.draggable,v.droppable,u,o,r,j,n,f]);return c.default.createElement(ac.Provider,{value:w},b)}let ae=a=>{let{id:b,items:c,activeIndex:d,overIndex:e}=a;return Y(c,d,e).indexOf(b)},af=a=>{let{containerId:b,isSorting:c,wasDragging:d,index:e,items:f,newIndex:g,previousItems:h,previousContainerId:i,transition:j}=a;return!!j&&!!d&&(h===f||e!==g)&&(!!c||g!==e&&b===i)},ag={duration:200,easing:"ease"},ah="transform",ai=W.CSS.Transition.toString({property:ah,duration:0,easing:"linear"}),aj={roleDescription:"sortable"};function ak(a){var b,d,e,f;let{animateLayoutChanges:g=af,attributes:h,disabled:i,data:j,getNewIndex:k=ae,id:l,strategy:m,resizeObserverConfig:n,transition:o=ag}=a,{items:p,containerId:q,activeIndex:r,disabled:s,disableTransforms:t,sortedRects:u,overIndex:v,useDragOverlay:w,strategy:x}=(0,c.useContext)(ac),y=(b=i,d=s,"boolean"==typeof b?{draggable:b,droppable:!1}:{draggable:null!=(e=null==b?void 0:b.draggable)?e:d.draggable,droppable:null!=(f=null==b?void 0:b.droppable)?f:d.droppable}),z=p.indexOf(l),A=(0,c.useMemo)(()=>({sortable:{containerId:q,index:z,items:p},...j}),[q,j,z,p]),B=(0,c.useMemo)(()=>p.slice(p.indexOf(l)),[p,l]),{rect:C,node:D,isOver:E,setNodeRef:F}=(0,V.useDroppable)({id:l,data:A,disabled:y.droppable,resizeObserverConfig:{updateMeasurementsFor:B,...n}}),{active:G,activatorEvent:H,activeNodeRect:I,attributes:J,setNodeRef:K,listeners:L,isDragging:M,over:N,setActivatorNodeRef:O,transform:P}=(0,V.useDraggable)({id:l,data:A,attributes:{...aj,...h},disabled:y.draggable}),Q=(0,W.useCombinedRefs)(F,K),R=!!G,S=R&&!t&&Z(r)&&Z(v),T=!w&&M,U=T&&S?P:null,X=S?null!=U?U:(null!=m?m:x)({rects:u,activeNodeRect:I,activeIndex:r,overIndex:v,index:z}):null,Y=Z(r)&&Z(v)?k({id:l,items:p,activeIndex:r,overIndex:v}):z,$=null==G?void 0:G.id,_=(0,c.useRef)({activeId:$,items:p,newIndex:Y,containerId:q}),aa=p!==_.current.items,ab=g({active:G,containerId:q,isDragging:M,isSorting:R,id:l,index:z,items:p,newIndex:_.current.newIndex,previousItems:_.current.items,previousContainerId:_.current.containerId,transition:o,wasDragging:null!=_.current.activeId}),ad=function(a){let{disabled:b,index:d,node:e,rect:f}=a,[g,h]=(0,c.useState)(null),i=(0,c.useRef)(d);return(0,W.useIsomorphicLayoutEffect)(()=>{if(!b&&d!==i.current&&e.current){let a=f.current;if(a){let b=(0,V.getClientRect)(e.current,{ignoreTransform:!0}),c={x:a.left-b.left,y:a.top-b.top,scaleX:a.width/b.width,scaleY:a.height/b.height};(c.x||c.y)&&h(c)}}d!==i.current&&(i.current=d)},[b,d,e,f]),(0,c.useEffect)(()=>{g&&h(null)},[g]),g}({disabled:!ab,index:z,node:D,rect:C});return(0,c.useEffect)(()=>{R&&_.current.newIndex!==Y&&(_.current.newIndex=Y),q!==_.current.containerId&&(_.current.containerId=q),p!==_.current.items&&(_.current.items=p)},[R,Y,q,p]),(0,c.useEffect)(()=>{if($===_.current.activeId)return;if(null!=$&&null==_.current.activeId){_.current.activeId=$;return}let a=setTimeout(()=>{_.current.activeId=$},50);return()=>clearTimeout(a)},[$]),{active:G,activeIndex:r,attributes:J,data:A,rect:C,index:z,newIndex:Y,items:p,isOver:E,isSorting:R,isDragging:M,listeners:L,node:D,overIndex:v,over:N,setNodeRef:Q,setActivatorNodeRef:O,setDroppableNodeRef:F,setDraggableNodeRef:K,transform:null!=ad?ad:X,transition:ad||aa&&_.current.newIndex===z?ai:(!T||(0,W.isKeyboardEvent)(H))&&o&&(R||ab)?W.CSS.Transition.toString({...o,property:ah}):void 0}}V.KeyboardCode.Down,V.KeyboardCode.Right,V.KeyboardCode.Up,V.KeyboardCode.Left;var al=a.i(135733);let am={folders:[]},an=(0,B.default)("pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]),ao=(0,B.default)("pin-off",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89",key:"znwnzq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11",key:"c9qhm2"}]]);var ap=a.i(781418);function aq({agent:a,isActive:d,isPinned:e,isOnline:f,taskCount:h,onClick:j,onPin:k,onUnpin:l,extraContextMenuItems:m,hidePin:n}){let o,[p,q]=(0,c.useState)(!1);return(0,b.jsxs)(g.Popover,{open:p,onOpenChange:(a,b)=>{a&&"trigger-press"===b.reason||q(a)},children:[(0,b.jsxs)(S.ContextMenu,{children:[(0,b.jsxs)(g.PopoverTrigger,{openOnHover:!0,delay:10,render:(0,b.jsx)(S.ContextMenuTrigger,{render:(0,b.jsx)("button",{type:"button",onClick:()=>{q(!1),j()},className:(0,i.cn)("relative flex shrink-0 items-center justify-center size-10 rounded-xl text-sm font-medium transition-all duration-200 cursor-pointer",d?"ring-2 ring-primary shadow-sm":"ring-0 bg-secondary text-secondary-foreground hover:bg-accent")})}),children:[(o=(0,T.parseAvatarUrl)(a.avatar_url))?(0,b.jsx)(U.AnimatedAvatar,{config:o,size:40,className:"rounded-xl",isHovered:!1}):a.name.charAt(0).toUpperCase(),(0,b.jsx)("span",{className:(0,i.cn)("absolute bottom-0 right-0 size-2 rounded-full ring-2 ring-background",f?"bg-status-online":"bg-status-offline")})]}),(0,b.jsxs)(S.ContextMenuContent,{children:[!n&&(e?(0,b.jsxs)(S.ContextMenuItem,{onClick:l,children:[(0,b.jsx)(ao,{className:"size-3.5 mr-1.5"}),"Unpin"]}):(0,b.jsxs)(S.ContextMenuItem,{onClick:k,children:[(0,b.jsx)(an,{className:"size-3.5 mr-1.5"}),"Pin to top"]})),m]})]}),(0,b.jsx)(g.PopoverContent,{side:"right",className:"w-fit max-w-80",children:(0,b.jsx)(ap.AgentPreviewCard,{agent:a,isOnline:f,activeTaskCount:h})})]})}function ar({folder:a,agents:c,isActive:d,onClick:e}){let f=a.agentIds.map(a=>c.find(b=>b.id===a)).filter(Boolean),g=f.slice(0,3),h=f.length-g.length;return(0,b.jsxs)("button",{type:"button",onClick:e,className:(0,i.cn)("relative flex shrink-0 items-center justify-center size-10 rounded-xl transition-all duration-200 cursor-pointer","bg-secondary/50 border border-border/30",d?"ring-2 ring-primary shadow-sm":"hover:bg-accent"),children:[(0,b.jsx)("div",{className:"relative flex items-center justify-center",style:{width:30,height:20},children:g.map((a,c)=>{let d=(0,T.parseAvatarUrl)(a.avatar_url);return(0,b.jsx)("div",{className:"absolute rounded-full overflow-hidden ring-1 ring-background",style:{width:20,height:20,left:6*c,zIndex:c+1},children:d?(0,b.jsx)(U.AnimatedAvatar,{config:d,size:20,className:"rounded-full",isHovered:!1}):(0,b.jsx)("div",{className:"flex items-center justify-center size-full bg-muted text-[8px] font-medium",children:a.name.charAt(0).toUpperCase()})},a.id)})}),h>0&&(0,b.jsxs)("span",{className:"absolute bottom-0 right-0 flex items-center justify-center min-w-3.5 h-3.5 rounded-full bg-muted text-muted-foreground text-[8px] font-bold ring-1 ring-background",children:["+",h]})]})}function as({folder:a,agents:c,isActive:d,isMergeTarget:e,dragActiveId:f,onExpand:g,nodeRefCallback:h}){let{attributes:i,listeners:j,setNodeRef:k,transform:l,transition:m,isDragging:n}=ak({id:a.id}),o={transform:W.CSS.Transform.toString(l),transition:m,opacity:n?.5:1,zIndex:n?10:void 0};return(0,b.jsx)("div",{ref:a=>{k(a),h?.(a)},style:o,...i,...j,className:"transition-all duration-200",children:(0,b.jsx)(ar,{folder:e&&f?{...a,agentIds:[...a.agentIds,f]}:a,agents:c,isActive:d,onClick:g})})}function at({id:a,children:c}){let{attributes:d,listeners:e,setNodeRef:f,transform:g,transition:h,isDragging:i}=ak({id:a}),j={transform:W.CSS.Transform.toString(g),transition:h,opacity:i?.5:1,zIndex:i?10:void 0};return(0,b.jsx)("div",{ref:f,style:j,...d,...e,children:c})}function au({folder:a,agents:d,activeAgentId:e,isOnline:f,taskCounts:g,anchorRef:h,onAgentClick:i,onRemoveFromFolder:j,onPinAgent:k,onReorder:l,onClose:m}){let n=(0,c.useRef)(null),[o,p]=(0,c.useState)(null),q=(0,c.useCallback)(()=>{if(!h)return;let a=h.getBoundingClientRect();p({left:a.right+8,top:a.top})},[h]);(0,c.useEffect)(()=>{q()},[q]),(0,c.useEffect)(()=>{function a(a){let b=a.target;!n.current||n.current.contains(b)||!h||h.contains(b)||b.closest?.('[data-slot="context-menu-content"]')||m()}function b(a){"Escape"===a.key&&m()}let c=h?.closest("[class*='overflow']")??window;return document.addEventListener("mousedown",a),document.addEventListener("keydown",b),window.addEventListener("resize",q),c.addEventListener("scroll",q,{passive:!0}),()=>{document.removeEventListener("mousedown",a),document.removeEventListener("keydown",b),window.removeEventListener("resize",q),c.removeEventListener("scroll",q)}},[h,m,q]);let r=(0,V.useSensors)((0,V.useSensor)(V.PointerSensor,{activationConstraint:{distance:5}})),s=a.agentIds.map(a=>d.find(b=>b.id===a)).filter(Boolean);return h&&o?(0,b.jsx)("div",{ref:n,className:"fixed z-50 bg-popover border rounded-xl shadow-md p-1.5 animate-in fade-in-0 zoom-in-95",style:{left:o.left,top:o.top},children:(0,b.jsx)(V.DndContext,{sensors:r,collisionDetection:V.closestCenter,modifiers:[X],onDragEnd:function(b){let{active:c,over:d}=b;if(!d||c.id===d.id)return;let e=a.agentIds.indexOf(c.id),f=a.agentIds.indexOf(d.id);l(Y(a.agentIds,e,f))},children:(0,b.jsx)(ad,{items:a.agentIds,strategy:aa,children:(0,b.jsx)("div",{className:"flex flex-col gap-1",children:s.map(a=>(0,b.jsx)(at,{id:a.id,children:(0,b.jsx)(aq,{agent:a,isActive:e===a.id,isPinned:!1,isOnline:f,taskCount:g[a.id]??0,hidePin:!0,onClick:()=>{i(a.id),m()},onPin:()=>{k(a.id),m()},onUnpin:()=>{},extraContextMenuItems:(0,b.jsxs)(S.ContextMenuItem,{onClick:()=>j(a.id),children:[(0,b.jsx)(ao,{className:"size-3.5 mr-1.5"}),"Remove from group"]})})},a.id))})})})}):null}function av({id:a,children:c}){let{attributes:d,listeners:e,setNodeRef:f,transform:g,transition:h,isDragging:i}=ak({id:a}),j={transform:W.CSS.Transform.toString(g),transition:h,opacity:i?.5:1,zIndex:i?10:void 0};return(0,b.jsx)("div",{ref:f,style:j,...d,...e,children:c})}function aw({onNavigate:a}={}){let g,j=(0,d.useRouter)(),k=(0,d.usePathname)(),l=(0,d.useSearchParams)(),{agents:m,runtimes:n,loading:o,pins:q,unpinnedOrder:r,handlePinAgent:s,handleUnpinAgent:t,handleReorderPins:v,handleReorderUnpinned:w}=(0,e.useAgentContext)(),{slug:x,workspaceId:B}=(0,f.useWorkspace)(),{resolvedTheme:N,setTheme:O}=(0,M.useTheme)(),{activeTaskCounts:P}=(0,e.useAgentContext)(),{folders:Q,expandedFolderId:W,setExpandedFolderId:Z,createFolder:$,addToFolder:_,removeFromFolder:ab,dissolveFolder:ac,reorderInFolder:ae,cleanupStaleAgents:af,getTopLevelItems:ag,removeAgentFromAnyFolder:ah,mergeFolders:ai}=function(a){let[b,d]=(0,al.useLocalStorage)(`agent-sidebar-folders:${a}`,am),[e,f]=(0,c.useState)(null),g=b.folders,h=(0,c.useCallback)(a=>g.find(b=>b.agentIds.includes(a))??null,[g]),i=(0,c.useCallback)(a=>{if(a.length<2)return;let b=crypto.randomUUID();d(c=>{let d=new Set(c.folders.flatMap(a=>a.agentIds)),e=a.filter(a=>!d.has(a));return e.length<2?c:{folders:[...c.folders,{id:b,agentIds:e}]}}),f(b)},[d]),j=(0,c.useCallback)((a,b)=>{d(c=>c.folders.some(a=>a.agentIds.includes(b))?c:{folders:c.folders.map(c=>c.id===a?{...c,agentIds:[...c.agentIds,b]}:c)})},[d]),k=(0,c.useCallback)((a,b)=>{d(c=>({folders:c.folders.map(c=>c.id===a?{...c,agentIds:c.agentIds.filter(a=>a!==b)}:c).filter(a=>a.agentIds.length>1)}))},[d]),l=(0,c.useCallback)(a=>{d(b=>({folders:b.folders.filter(b=>b.id!==a)})),e===a&&f(null)},[d,e]),m=(0,c.useCallback)((a,b)=>{d(c=>({folders:c.folders.map(c=>c.id===a?{...c,agentIds:b}:c)}))},[d]),n=(0,c.useCallback)(a=>{let b=new Set(a);d(a=>{let c=a.folders.map(a=>({...a,agentIds:a.agentIds.filter(a=>b.has(a))})).filter(a=>a.agentIds.length>1);return c.length!==a.folders.length||a.folders.some(a=>a.agentIds.some(a=>!b.has(a)))?{folders:c}:a})},[d]),o=(0,c.useCallback)(a=>{let b=new Map;for(let a of g)for(let c of a.agentIds)b.set(c,a);let c=new Set,d=[];for(let e of a){let a=b.get(e);a?c.has(a.id)||(c.add(a.id),d.push({type:"folder",folder:a})):d.push({type:"agent",id:e})}return d},[g]),p=(0,c.useCallback)((a,b)=>{d(c=>{let d=c.folders.find(b=>b.id===a);return d?{folders:c.folders.map(a=>a.id===b?{...a,agentIds:[...a.agentIds,...d.agentIds]}:a).filter(b=>b.id!==a)}:c})},[d]);return{folders:g,expandedFolderId:e,setExpandedFolderId:f,createFolder:i,addToFolder:j,removeFromFolder:k,dissolveFolder:l,reorderInFolder:m,cleanupStaleAgents:n,getFolderForAgent:h,getTopLevelItems:o,removeAgentFromAnyFolder:(0,c.useCallback)(a=>{d(b=>{let c=b.folders.find(b=>b.agentIds.includes(a));return c?{folders:b.folders.map(b=>b.id===c.id?{...b,agentIds:b.agentIds.filter(b=>b!==a)}:b).filter(a=>a.agentIds.length>1)}:b})},[d]),mergeFolders:p}}(B),[aj,ak]=(0,c.useState)(!1),[an,ao]=(0,c.useState)(new Set),ap=m.filter(a=>q.has(a.id)).sort((a,b)=>q.get(a.id).position-q.get(b.id).position),at=m.filter(a=>!q.has(a.id)).sort((a,b)=>{let c=r.get(a.id),d=r.get(b.id);return void 0!==c&&void 0!==d?c-d:void 0!==c?-1:void 0!==d?1:a.name.localeCompare(b.name)}),ax=ag(at.map(a=>a.id));(0,c.useEffect)(()=>{m.length>0&&af(m.map(a=>a.id))},[m,af]);let[ay,az]=(0,c.useState)(null),[aA,aB]=(0,c.useState)(null),[aC,aD]=(0,c.useState)(!1),aE=(0,c.useRef)(null),aF=(0,c.useRef)(null);(0,c.useEffect)(()=>()=>{aE.current&&clearTimeout(aE.current)},[]);let aG=(0,c.useRef)(new Map),aH=(0,V.useSensors)((0,V.useSensor)(V.PointerSensor,{activationConstraint:{distance:5}})),aI=ax.map(a=>"agent"===a.type?a.id:a.folder.id);function aJ(){aE.current&&(clearTimeout(aE.current),aE.current=null),aF.current=null,aB(null),aD(!1)}let aK=(0,c.useCallback)(a=>{ah(a),s(a)},[ah,s]),aL=`/w/${x}`,aM=k===`${aL}/home`,aN=k===`${aL}/runtimes`,aO=k===`${aL}/calendar`,aP=k.startsWith(`${aL}/unread`),aQ=k.startsWith(`${aL}/flags`),aR=k.startsWith(`${aL}/issues`),aS=k===`${aL}/settings`,aT=k===`${aL}/agents/new`,aU=l.get("agent"),aV=k.match(/^\/w\/[^/]+\/agents\/([^/]+)/),aW=aU??aV?.[1]??null,aX=b=>{j.push(`${aL}/agents/${b}`),a?.()},aY=n.some(a=>"online"===a.status),[aZ,a$]=(0,c.useState)(!1),a_=(0,c.useRef)(!1),a0=(0,c.useRef)(null);(0,c.useEffect)(()=>()=>{a0.current&&clearTimeout(a0.current)},[]);let a1=(0,c.useCallback)(()=>{a_.current||(a_.current=!0,a$(!0),a0.current=setTimeout(()=>{a_.current=!1,a$(!1)},60*Math.max(0,ap.length+at.length-1)+250))},[ap.length,at.length]),a2=ay?m.find(a=>a.id===ay):null,a3=ay?Q.find(a=>a.id===ay):null,a4=(a,c,d)=>(0,b.jsx)("div",{className:(0,i.cn)(aZ&&"sidebar-agent-pop"),style:aZ?{animationDelay:`${60*c}ms`}:void 0,children:(0,b.jsx)(aq,{agent:a,isActive:aW===a.id,isPinned:q.has(a.id),isOnline:aY,taskCount:P[a.id]??0,onClick:()=>aX(a.id),onPin:()=>aK(a.id),onUnpin:()=>t(a.id),extraContextMenuItems:d})}),a5=(0,c.useCallback)(()=>Z(null),[Z]),a6=W?Q.find(a=>a.id===W)??null:null;return(0,b.jsxs)("nav",{className:(0,i.cn)("flex h-full w-14 flex-col items-center pt-1 pb-2 gap-0.5",aZ&&"relative z-10"),children:[(0,b.jsx)("div",{className:"pb-1.5 mb-1",children:(0,b.jsx)("div",{className:"flex shrink-0 items-center justify-center size-8 [&>button]:pointer-events-none cursor-pointer active:scale-90 transition-transform",onClick:a1,children:(0,b.jsx)(z.Logo,{size:"sm",iconOnly:!0})})}),(0,b.jsxs)("div",{className:"flex flex-col items-center gap-1.5 pb-1.5 border-b border-border/50 mb-1",children:[(0,b.jsxs)(p.Tooltip,{children:[(0,b.jsx)(p.TooltipTrigger,{render:(0,b.jsx)("button",{type:"button",onClick:()=>{j.push(`${aL}/home`),a?.()},className:(0,i.cn)("flex items-center justify-center size-10 rounded-xl transition-colors duration-200 cursor-pointer","text-muted-foreground hover:text-foreground hover:bg-accent",aM&&"bg-accent text-foreground")}),children:(0,b.jsx)(H,{className:"size-4"})}),(0,b.jsx)(p.TooltipContent,{side:"right",children:"Home"})]}),(0,b.jsx)(u,{isActive:aP,onNavigate:a}),(0,b.jsx)(y,{isActive:aQ,onNavigate:a}),(0,b.jsxs)(p.Tooltip,{children:[(0,b.jsx)(p.TooltipTrigger,{render:(0,b.jsx)("button",{type:"button",onClick:()=>{j.push(`${aL}/issues`),a?.()},className:(0,i.cn)("flex items-center justify-center size-10 rounded-xl transition-colors duration-200 cursor-pointer","text-muted-foreground hover:text-foreground hover:bg-accent",aR&&"bg-accent text-foreground")}),children:(0,b.jsx)(I.CircleDot,{className:"size-4"})}),(0,b.jsx)(p.TooltipContent,{side:"right",children:"Issues"})]}),(0,b.jsxs)(p.Tooltip,{children:[(0,b.jsx)(p.TooltipTrigger,{render:(0,b.jsx)("button",{type:"button",onClick:()=>{j.push(`${aL}/calendar`),a?.()},className:(0,i.cn)("flex items-center justify-center size-10 rounded-xl transition-colors duration-200 cursor-pointer","text-muted-foreground hover:text-foreground hover:bg-accent",aO&&"bg-accent text-foreground")}),children:(0,b.jsx)(E.CalendarDays,{className:"size-4"})}),(0,b.jsx)(p.TooltipContent,{side:"right",children:"Calendar"})]})]}),(0,b.jsxs)("div",{className:(0,i.cn)("flex flex-1 w-full flex-col items-center gap-1.5 py-1 scrollbar-none",aZ?"overflow-visible":"overflow-y-auto"),children:[o?(0,b.jsx)(h.Skeleton,{className:"size-10 rounded-xl"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(V.DndContext,{sensors:aH,collisionDetection:V.closestCenter,modifiers:[X],onDragEnd:function(a){let{active:b,over:c}=a;if(!c||b.id===c.id)return;let d=ap.findIndex(a=>a.id===b.id),e=ap.findIndex(a=>a.id===c.id);v(Y(ap,d,e).map(a=>a.id))},children:(0,b.jsx)(ad,{items:ap.map(a=>a.id),strategy:aa,children:ap.map((a,c)=>(0,b.jsx)(av,{id:a.id,children:a4(a,c)},a.id))})}),ap.length>0&&at.length>0&&(0,b.jsx)("div",{className:"w-6 border-t border-border/50"}),(0,b.jsxs)(V.DndContext,{sensors:aH,collisionDetection:V.closestCenter,modifiers:[X],onDragStart:function(a){az(a.active.id),Z(null)},onDragOver:function(a){let{over:b}=a;if(!b)return void aJ();let c=b.id;c===ay?aJ():aF.current!==c&&(aJ(),aF.current=c,aE.current=setTimeout(()=>{aD(!0),aB(c)},300))},onDragEnd:function(a){let{active:b,over:c}=a;if(aJ(),az(null),!c||b.id===c.id)return;let d=b.id,e=c.id;if(aA===e){var f,g;f=d,g=e,Q.find(a=>a.id===g)?Q.find(a=>a.id===f)?ai(f,g):(ah(f),_(g,f)):Q.find(a=>a.id===f)?_(f,g):$([g,f]),aB(null);return}let h=aI.indexOf(d),i=aI.indexOf(e);if(-1===h||-1===i)return;let j=Y(ax,h,i),k=[];for(let a of j)"agent"===a.type?k.push(a.id):k.push(...a.folder.agentIds);w(k)},onDragCancel:function(){aJ(),az(null)},children:[(0,b.jsx)(ad,{items:aI,strategy:aC?void 0:aa,children:ax.map((a,c)=>{let d;if("folder"===a.type){let c=a.folder,d=c.agentIds.includes(aW??"");return(0,b.jsxs)(S.ContextMenu,{children:[(0,b.jsx)(S.ContextMenuTrigger,{render:(0,b.jsx)("div",{}),children:(0,b.jsx)(as,{folder:c,agents:m,isActive:d,isMergeTarget:aA===c.id,dragActiveId:ay,onExpand:()=>Z(W===c.id?null:c.id),nodeRefCallback:a=>aG.current.set(c.id,a)})}),(0,b.jsx)(S.ContextMenuContent,{children:(0,b.jsxs)(S.ContextMenuItem,{onClick:()=>ac(c.id),children:[(0,b.jsx)(K,{className:"size-3.5 mr-1.5"}),"Ungroup agents"]})})]},c.id)}if(aj){let d=m.find(b=>b.id===a.id);if(!d)return null;let e=an.has(d.id);return(0,b.jsxs)("div",{className:"relative cursor-pointer",onClick:()=>{var a;return a=d.id,void ao(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},children:[(0,b.jsx)("div",{className:(0,i.cn)("transition-all duration-150",e&&"ring-2 ring-primary rounded-xl"),children:a4(d,ap.length+c)}),e&&(0,b.jsx)("span",{className:"absolute -top-0.5 -right-0.5 size-3 rounded-full bg-primary ring-2 ring-background"})]},d.id)}let e=m.find(b=>b.id===a.id);return e?(0,b.jsx)(av,{id:e.id,children:aA===e.id&&ay?(0,b.jsx)(ar,{folder:{id:"merge-preview",agentIds:[e.id,ay]},agents:m,isActive:!1,onClick:()=>{}}):a4(e,ap.length+c,(d=e.id,(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(S.ContextMenuSeparator,{}),(0,b.jsxs)(S.ContextMenuItem,{onClick:()=>{ao(new Set([d])),ak(!0)},children:[(0,b.jsx)(J.Folder,{className:"size-3.5 mr-1.5"}),"Create group"]}),Q.length>0&&(0,b.jsx)(b.Fragment,{children:Q.map(a=>{let c=a.agentIds.map(a=>m.find(b=>b.id===a)).filter(Boolean),e=c.slice(0,2).map(a=>a.name).join(", ");return(0,b.jsxs)(S.ContextMenuItem,{onClick:()=>_(a.id,d),children:[(0,b.jsx)(L,{className:"size-3.5 mr-1.5"}),"Move to ",e,c.length>2?"…":""]},a.id)})})]})))},e.id):null})}),(0,b.jsx)(V.DragOverlay,{children:a2?(0,b.jsx)("div",{className:"opacity-80",children:(g=(0,T.parseAvatarUrl)(a2.avatar_url))?(0,b.jsx)(U.AnimatedAvatar,{config:g,size:40,className:"rounded-xl",isHovered:!1}):(0,b.jsx)("div",{className:"flex items-center justify-center size-10 rounded-xl bg-secondary text-sm font-medium",children:a2.name.charAt(0).toUpperCase()})}):a3?(0,b.jsx)("div",{className:"opacity-80",children:(0,b.jsx)(ar,{folder:a3,agents:m,isActive:!1,onClick:()=>{}})}):null})]}),aj&&(0,b.jsxs)("div",{className:"flex flex-col gap-1 w-full px-1",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>{an.size>=2&&$(Array.from(an)),ak(!1),ao(new Set)},disabled:an.size<2,className:"flex items-center justify-center h-7 rounded-lg bg-primary text-primary-foreground text-xs font-medium disabled:opacity-40 cursor-pointer disabled:cursor-not-allowed",children:["Done (",an.size,")"]}),(0,b.jsx)("button",{type:"button",onClick:()=>{ak(!1),ao(new Set)},className:"flex items-center justify-center h-7 rounded-lg bg-secondary text-secondary-foreground text-xs cursor-pointer hover:bg-accent",children:"Cancel"})]})]}),!o&&0===m.length&&n.some(a=>"online"===a.status)?(0,b.jsxs)(p.Tooltip,{open:!0,children:[(0,b.jsx)(p.TooltipTrigger,{render:(0,b.jsx)("button",{type:"button",onClick:()=>{j.push(`${aL}/agents/new`),a?.()},className:(0,i.cn)("relative flex shrink-0 items-center justify-center size-10 rounded-xl transition-colors duration-200 cursor-pointer","border border-dashed border-primary/50 text-primary","hover:border-primary hover:bg-primary/10","animate-pulse",aT&&"border-solid border-primary bg-primary/10 animate-none")}),children:(0,b.jsx)(D.Plus,{className:"size-4"})}),(0,b.jsx)(p.TooltipContent,{side:"right",sideOffset:8,children:"Create your first agent"})]}):(0,b.jsx)("button",{type:"button",title:"New agent",onClick:()=>{j.push(`${aL}/agents/new`),a?.()},className:(0,i.cn)("flex shrink-0 items-center justify-center size-10 rounded-xl transition-colors duration-200 cursor-pointer","border border-dashed border-foreground/15 text-muted-foreground","hover:border-foreground/30 hover:text-foreground hover:bg-accent",aT&&"border-solid border-foreground/25 bg-accent text-foreground"),children:(0,b.jsx)(D.Plus,{className:"size-4"})})]}),a6&&(0,b.jsx)(au,{folder:a6,agents:m,activeAgentId:aW,isOnline:aY,taskCounts:P,anchorRef:aG.current.get(a6.id)??null,onAgentClick:aX,onRemoveFromFolder:a=>ab(a6.id,a),onPinAgent:aK,onReorder:a=>ae(a6.id,a),onClose:a5}),(0,b.jsxs)("div",{className:"flex flex-col items-center gap-1 pt-2 border-t border-border/50 mt-1",children:[(0,b.jsxs)(p.Tooltip,{children:[(0,b.jsx)(p.TooltipTrigger,{render:(0,b.jsx)("button",{type:"button",onClick:()=>{j.push(`${aL}/runtimes`),a?.()},className:(0,i.cn)("flex items-center justify-center size-10 rounded-xl transition-colors duration-200 cursor-pointer","text-muted-foreground hover:text-foreground hover:bg-accent",aN&&"bg-accent text-foreground")}),children:(0,b.jsx)(A.Monitor,{className:"size-4"})}),(0,b.jsx)(p.TooltipContent,{side:"right",children:"Runtimes"})]}),(0,b.jsxs)(p.Tooltip,{children:[(0,b.jsx)(p.TooltipTrigger,{render:(0,b.jsx)("button",{type:"button",onClick:()=>O("dark"===N?"light":"dark"),className:"flex items-center justify-center size-10 rounded-xl text-muted-foreground hover:text-foreground hover:bg-accent transition-colors duration-200 cursor-pointer"}),children:(0,b.jsx)(C,{className:"size-4"})}),(0,b.jsx)(p.TooltipContent,{side:"right",children:"Toggle theme"})]}),(0,b.jsxs)(p.Tooltip,{children:[(0,b.jsx)(p.TooltipTrigger,{render:(0,b.jsx)("button",{type:"button",onClick:()=>{j.push(`${aL}/settings`),a?.()},className:(0,i.cn)("flex items-center justify-center size-10 rounded-xl transition-colors duration-200 cursor-pointer","text-muted-foreground hover:text-foreground hover:bg-accent",aS&&"bg-accent text-foreground")}),children:(0,b.jsx)(F,{className:"size-4"})}),(0,b.jsx)(p.TooltipContent,{side:"right",children:"Settings"})]}),(0,b.jsxs)(p.Tooltip,{children:[(0,b.jsx)(p.TooltipTrigger,{render:(0,b.jsx)("button",{type:"button",onClick:()=>{j.push("/workspaces"),a?.()},className:"flex items-center justify-center size-10 rounded-xl text-muted-foreground hover:text-foreground hover:bg-accent transition-colors duration-200 cursor-pointer"}),children:(0,b.jsx)(G,{className:"size-4"})}),(0,b.jsx)(p.TooltipContent,{side:"right",children:"Switch workspace"})]}),(0,b.jsx)(R,{})]})]})}function ax(){let a=(0,d.useRouter)(),c=(0,d.usePathname)(),g=aO(),{slug:j}=(0,f.useWorkspace)(),{agents:k,pins:l,unpinnedOrder:m,runtimes:n,loading:o}=(0,e.useAgentContext)(),p=c===`/w/${j}/home`,q=c.includes("/calendar"),r=c.includes("/issues"),s=c.match(/^\/w\/[^/]+\/agents\/([^/]+)/),t=s?.[1]??null,u=[...k.filter(a=>l.has(a.id)).sort((a,b)=>l.get(a.id).position-l.get(b.id).position),...k.filter(a=>!l.has(a.id)).sort((a,b)=>{let c=m.get(a.id),d=m.get(b.id);return void 0!==c&&void 0!==d?c-d:void 0!==c?-1:void 0!==d?1:a.name.localeCompare(b.name)})];return(0,b.jsxs)("div",{className:"h-10 flex items-center gap-2 px-2 shrink-0",children:[g&&(0,b.jsx)("div",{role:"button",tabIndex:0,"aria-label":"Open sidebar",onClick:g,onKeyDown:a=>{("Enter"===a.key||" "===a.key)&&(a.preventDefault(),g())},className:"shrink-0 cursor-pointer transition-opacity hover:opacity-70 [&>button]:pointer-events-none",children:(0,b.jsx)(z.Logo,{size:"sm",iconOnly:!0})}),(0,b.jsx)("button",{onClick:()=>a.push(`/w/${j}/home`),"aria-label":"Home",className:(0,i.cn)("shrink-0 p-1 rounded-md transition-colors",p?"text-foreground bg-muted":"text-muted-foreground hover:text-foreground"),children:(0,b.jsx)(H,{className:"size-4"})}),(0,b.jsx)("button",{onClick:()=>a.push(`/w/${j}/calendar`),"aria-label":"Calendar",className:(0,i.cn)("shrink-0 p-1 rounded-md transition-colors",q?"text-foreground bg-muted":"text-muted-foreground hover:text-foreground"),children:(0,b.jsx)(E.CalendarDays,{className:"size-4"})}),(0,b.jsx)("button",{onClick:()=>a.push(`/w/${j}/issues`),"aria-label":"Issues",className:(0,i.cn)("shrink-0 p-1 rounded-md transition-colors",r?"text-foreground bg-muted":"text-muted-foreground hover:text-foreground"),children:(0,b.jsx)(I.CircleDot,{className:"size-4"})}),(0,b.jsx)("div",{className:"flex-1 overflow-x-auto flex items-center gap-1.5 py-1 px-0.5 scrollbar-none",children:o?(0,b.jsx)(h.Skeleton,{className:"size-7 rounded-full"}):u.map(c=>{let d=n.find(a=>a.id===c.runtime_id),e=d?.status==="online",f=t===c.id,g=(0,T.parseAvatarUrl)(c.avatar_url);return(0,b.jsxs)("button",{onClick:()=>a.push(`/w/${j}/agents/${c.id}`),"aria-label":c.name,className:(0,i.cn)("shrink-0 relative rounded-full transition-all",f&&"ring-2 ring-primary"),children:[(0,b.jsx)("div",{className:"size-7",children:g?(0,b.jsx)(U.AnimatedAvatar,{config:g,size:28,className:"rounded-full",isHovered:!1}):(0,b.jsx)("div",{className:"size-7 rounded-full bg-muted flex items-center justify-center text-[10px] font-medium",children:c.name.charAt(0).toUpperCase()})}),(0,b.jsx)("span",{className:(0,i.cn)("absolute -bottom-0.5 -right-0.5 size-2 rounded-full border border-background",e?"bg-emerald-500":"bg-muted-foreground/40")})]},c.id)})})]})}var ay=a.i(567264),az=a.i(586220),aA=a.i(7455);a.i(974936);var aB=a.i(997445),aC=a.i(372822),aD=a.i(432340),aE=a.i(732254),aF=a.i(464830);let aG=(0,B.default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var aH=a.i(461794);let aI=(0,B.default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);var aJ=a.i(921584);let aK=(0,aC.resolveMode)({nodeEnv:"production",hostname:void 0}),aL="app"===aK?"npx @alook/app stop && npx @alook/app@latest update && npx @alook/app start":"npx @alook/cli@latest daemon stop && npx @alook/cli@latest daemon start";function aM(){let{runtimes:a,workspaceId:d}=(0,e.useAgentContext)(),[f,g]=(0,c.useState)(null),[h,i]=(0,c.useState)(new Set),[k,l]=(0,c.useState)(!1),m=(0,c.useRef)(null);if((0,c.useEffect)(()=>{(0,j.getMinCliVersion)().then(a=>g(a.min_cli_version)).catch(()=>{})},[]),(0,c.useEffect)(()=>()=>{m.current&&clearTimeout(m.current)},[]),"dev"===aK||!f)return null;let n=a.filter(a=>{if("online"!==a.status)return!1;let b=a.metadata?.cli_version;return"string"!=typeof b||!b||!(0,aB.semverGte)(b,f)}),o=new Map;for(let a of n){let b=a.daemon_id??a.id;o.has(b)||o.set(b,a)}if(0===o.size)return null;let p=async a=>{if("app"===aK)return void l(!0);i(b=>new Set(b).add(a.id)),m.current||(m.current=setTimeout(()=>{l(!0)},5e3));try{await (0,j.triggerRuntimeUpdate)(a.id,d)}catch{i(b=>{let c=new Set(b);return c.delete(a.id),c})}};return(0,b.jsx)(aD.Dialog,{open:!0,modal:!0,disablePointerDismissal:!0,onOpenChange:()=>{},children:(0,b.jsxs)(aD.DialogContent,{showCloseButton:!1,children:[(0,b.jsxs)(aD.DialogHeader,{children:[(0,b.jsxs)(aD.DialogTitle,{className:"flex items-center gap-2",children:[(0,b.jsx)(aG,{className:"size-5 text-amber-500"}),"Runtime Update Required"]}),(0,b.jsx)(aD.DialogDescription,{children:"app"===aK?`Your local Alook app is running an outdated version (minimum required: v${f}). Please update to continue.`:`The following machine(s) are running an outdated CLI version (minimum required: v${f}). Please update to continue.`})]}),(0,b.jsx)("div",{className:"space-y-3 mt-2",children:[...o.entries()].map(([a,c])=>{let d=c.metadata?.cli_version,e=h.has(c.id);return(0,b.jsxs)("div",{className:"flex items-center justify-between rounded-lg border p-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 min-w-0",children:[(0,b.jsx)("span",{className:"size-2 shrink-0 rounded-full bg-emerald-500"}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("div",{className:"text-sm font-medium truncate",children:c.device_info||a.slice(0,12)}),(0,b.jsxs)("div",{className:"text-xs text-muted-foreground flex items-center gap-2 mt-0.5",children:[(0,b.jsxs)("span",{children:["v",d||"unknown"]}),(0,b.jsxs)(aF.Badge,{variant:"outline",className:"text-[10px] px-1.5 py-0 text-amber-500 border-amber-500/30",children:["requires v",f]})]})]})]}),(0,b.jsxs)(aE.Button,{size:"sm",variant:"outline",disabled:e,onClick:()=>p(c),children:[(0,b.jsx)(aH.RefreshCw,{className:`size-3.5 ${e?"animate-spin":""}`}),e?"Updating...":"Update"]})]},a)})}),k&&(0,b.jsxs)("div",{className:"mt-3 rounded-md bg-muted/50 border border-dashed p-2.5 text-xs text-muted-foreground",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5 font-medium text-foreground mb-1",children:[(0,b.jsx)(aI,{className:"size-3"}),"Update taking too long?"]}),(0,b.jsx)("p",{className:"mb-1",children:"Run this command on the machine to update manually:"}),(0,b.jsx)("code",{className:"block rounded bg-background px-2 py-1 font-mono text-[11px] cursor-pointer hover:bg-background/80 transition-colors",title:"Click to copy",onClick:()=>{navigator.clipboard.writeText(aL),aJ.toast.success("Copied to clipboard")},children:aL})]})]})})}let aN=(0,c.createContext)(null);function aO(){return(0,c.useContext)(aN)}function aP({children:a}){let d=(0,az.useIsMobile)(),[e,f]=(0,c.useState)(!1);return d?(0,b.jsx)(aN.Provider,{value:()=>f(!0),children:(0,b.jsx)(l.AgentChatSheetProvider,{children:(0,b.jsxs)("div",{className:"flex flex-col h-dvh overflow-hidden relative",children:[(0,b.jsx)(ay.GradientBackground,{}),(0,b.jsxs)("div",{className:"flex-1 min-h-0 px-2 pb-2 pt-2 flex flex-col",children:[(0,b.jsx)(ax,{}),(0,b.jsx)("main",{className:"flex-1 min-h-0 rounded-xl bg-card/80 backdrop-blur-xl shadow-lg ring-1 ring-border/40 overflow-hidden flex flex-col",children:a})]}),(0,b.jsx)(aA.Sheet,{open:e,onOpenChange:f,children:(0,b.jsx)(aA.SheetContent,{side:"left",showCloseButton:!1,style:{width:56},className:"p-0",children:(0,b.jsx)(aw,{onNavigate:()=>f(!1)})})}),(0,b.jsx)(aM,{})]})})}):(0,b.jsx)(l.AgentChatSheetProvider,{children:(0,b.jsxs)("div",{className:"flex h-dvh overflow-hidden relative",children:[(0,b.jsx)(ay.GradientBackground,{}),(0,b.jsx)(aw,{}),(0,b.jsx)("div",{className:"flex-1 flex flex-col min-w-0 pt-2 pr-2 pb-2",children:(0,b.jsx)("main",{className:"flex-1 min-h-0 rounded-xl bg-card/80 backdrop-blur-xl shadow-lg ring-1 ring-border/40 overflow-hidden flex flex-col",children:a})}),(0,b.jsx)(aM,{})]})})}}];
|
|
1
|
+
module.exports=[582148,a=>{"use strict";a.s(["WorkspaceShell",()=>aP,"useSidebarTrigger",()=>aO],582148);var b=a.i(749314),c=a.i(437199),d=a.i(207058),e=a.i(752792),f=a.i(506180),g=a.i(722393),h=a.i(25668),i=a.i(75118),j=a.i(588339),k=a.i(831893),l=a.i(430744);a.i(735132);var m=a.i(949409),n=a.i(387123),o=a.i(896393),p=a.i(525132),q=a.i(929201),r=a.i(578894),s=a.i(26822);function t({item:a,slug:c,onClick:d}){return(0,b.jsx)("a",{href:`/w/${c}/agents/${a.agent_id}?conv=${a.id}`,onClick:d,className:"block w-full py-1.5 px-2 hover:bg-muted rounded-md transition-colors cursor-pointer",children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(m.AgentAvatar,{name:a.agent_name,avatarUrl:a.agent_avatar_url,size:24}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-xs font-medium truncate flex-1 min-w-0",children:a.agent_name}),(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground whitespace-nowrap shrink-0",children:(0,n.relativeTime)(a.latest_response_at)})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground truncate mt-0.5",children:a.root_prompt??a.title})]})]})})}function u({isActive:a,onNavigate:d}){let{slug:e,workspaceId:m}=(0,f.useWorkspace)(),{count:n,decrement:v,refresh:w}=(0,k.useInboxCount)(),{openAgentChat:x}=(0,l.useAgentChatSheet)(),[y,z]=(0,c.useState)(null),[A,B]=(0,c.useState)(!1),[C,D]=(0,c.useState)(!1),[E,F]=(0,c.useState)(!1),G=(0,c.useCallback)(async()=>{z(null),B(!0);try{let a=await (0,j.listInboxItems)(m,{limit:30,types:(0,o.getInboxFilterTypes)()});z(a.items)}catch{z([])}finally{B(!1)}},[m]),H=(0,c.useCallback)((a,b)=>{b.metaKey||b.ctrlKey||b.shiftKey||0!==b.button||(b.preventDefault(),v(),D(!1),d?.(),x(a.agent_id,{conversationId:a.id}))},[v,d,x]);return(0,b.jsxs)(g.Popover,{open:C,onOpenChange:a=>{D(a),a&&(G(),w())},children:[(0,b.jsxs)(p.Tooltip,{open:!C&&E,onOpenChange:F,children:[(0,b.jsxs)(g.PopoverTrigger,{render:(0,b.jsx)(p.TooltipTrigger,{render:(0,b.jsx)("button",{type:"button",className:(0,i.cn)("relative flex items-center justify-center size-10 rounded-xl transition-colors duration-200 cursor-pointer","text-muted-foreground hover:text-foreground hover:bg-accent",a&&"bg-accent text-foreground")})}),children:[(0,b.jsx)(q.Inbox,{className:"size-4"}),n>0&&(0,b.jsx)("span",{className:"absolute top-1 right-1 flex items-center justify-center min-w-3.5 h-3.5 rounded-full bg-primary text-primary-foreground text-[9px] font-bold px-0.5",children:n>99?"99+":n})]}),(0,b.jsx)(p.TooltipContent,{side:"right",children:"Unread"})]}),(0,b.jsxs)(g.PopoverContent,{side:"right",className:"w-80 p-0",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-b border-border/50",children:[(0,b.jsx)("span",{className:"text-xs font-medium",children:"Unread"}),(0,b.jsx)(s.default,{href:`/w/${e}/unread`,onClick:()=>{D(!1),d?.()},className:"flex items-center justify-center size-6 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",children:(0,b.jsx)(r.ArrowUpRight,{className:"size-3.5"})})]}),(0,b.jsx)("div",{className:"p-1",children:A?(0,b.jsx)("div",{className:"space-y-1",children:Array.from({length:3}).map((a,c)=>(0,b.jsxs)("div",{className:"py-1.5 px-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(h.Skeleton,{className:"size-6 rounded-full shrink-0"}),(0,b.jsx)(h.Skeleton,{className:"h-3 w-20"}),(0,b.jsx)("div",{className:"flex-1"}),(0,b.jsx)(h.Skeleton,{className:"h-2.5 w-8"})]}),(0,b.jsx)(h.Skeleton,{className:"h-3 w-3/4 mt-1.5 ml-8"})]},c))}):y&&0!==y.length?(0,b.jsx)("div",{className:"max-h-96 overflow-y-auto",children:y.map(a=>(0,b.jsx)(t,{item:a,slug:e,onClick:b=>H(a,b)},a.id))}):(0,b.jsxs)("div",{className:"flex flex-col items-center gap-2 py-6 text-muted-foreground",children:[(0,b.jsx)(q.Inbox,{className:"size-6 opacity-30"}),(0,b.jsx)("p",{className:"text-xs",children:"No unread messages"})]})})]})]})}var v=a.i(70813),w=a.i(221959);function x({item:a,slug:c,onClick:d}){return(0,b.jsx)("a",{href:`/w/${c}/agents/${a.agent_id}?conv=${a.conversation_id}`,onClick:d,className:"block w-full py-1.5 px-2 hover:bg-muted rounded-md transition-colors cursor-pointer",children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(m.AgentAvatar,{name:a.agent_name,avatarUrl:a.agent_avatar_url,size:24}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-xs font-medium truncate flex-1 min-w-0",children:a.agent_name}),(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground whitespace-nowrap shrink-0",children:(0,n.relativeTime)(a.flagged_at)})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground truncate mt-0.5",children:a.message_content})]})]})})}function y({isActive:a,onNavigate:d}){let{slug:e,workspaceId:k}=(0,f.useWorkspace)(),{count:m}=(0,v.useFlagCount)(),{openAgentChat:n}=(0,l.useAgentChatSheet)(),[o,q]=(0,c.useState)(null),[t,u]=(0,c.useState)(!1),[z,A]=(0,c.useState)(!1),[B,C]=(0,c.useState)(!1),D=(0,c.useCallback)(async()=>{q(null),u(!0);try{let a=await (0,j.listFlaggedItems)(k,{limit:30});q(a.items)}catch{q([])}finally{u(!1)}},[k]),E=(0,c.useCallback)((a,b)=>{b.metaKey||b.ctrlKey||b.shiftKey||0!==b.button||(b.preventDefault(),A(!1),d?.(),n(a.agent_id,{conversationId:a.conversation_id,messageId:a.message_id}))},[d,n]);return(0,b.jsxs)(g.Popover,{open:z,onOpenChange:a=>{A(a),a&&D()},children:[(0,b.jsxs)(p.Tooltip,{open:!z&&B,onOpenChange:C,children:[(0,b.jsxs)(g.PopoverTrigger,{render:(0,b.jsx)(p.TooltipTrigger,{render:(0,b.jsx)("button",{type:"button",className:(0,i.cn)("relative flex items-center justify-center size-10 rounded-xl transition-colors duration-200 cursor-pointer","text-muted-foreground hover:text-foreground hover:bg-accent",a&&"bg-accent text-foreground")})}),children:[(0,b.jsx)(w.Flag,{className:"size-4"}),m>0&&(0,b.jsx)("span",{className:"absolute top-1 right-1 flex items-center justify-center min-w-3.5 h-3.5 rounded-full bg-primary text-primary-foreground text-[9px] font-bold px-0.5",children:m>99?"99+":m})]}),(0,b.jsx)(p.TooltipContent,{side:"right",children:"Flagged"})]}),(0,b.jsxs)(g.PopoverContent,{side:"right",className:"w-80 p-0",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-b border-border/50",children:[(0,b.jsx)("span",{className:"text-xs font-medium",children:"Flagged"}),(0,b.jsx)(s.default,{href:`/w/${e}/flags`,onClick:()=>{A(!1),d?.()},className:"flex items-center justify-center size-6 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",children:(0,b.jsx)(r.ArrowUpRight,{className:"size-3.5"})})]}),(0,b.jsx)("div",{className:"p-1",children:t?(0,b.jsx)("div",{className:"space-y-1",children:Array.from({length:3}).map((a,c)=>(0,b.jsxs)("div",{className:"py-1.5 px-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(h.Skeleton,{className:"size-6 rounded-full shrink-0"}),(0,b.jsx)(h.Skeleton,{className:"h-3 w-20"}),(0,b.jsx)("div",{className:"flex-1"}),(0,b.jsx)(h.Skeleton,{className:"h-2.5 w-8"})]}),(0,b.jsx)(h.Skeleton,{className:"h-3 w-3/4 mt-1.5 ml-8"})]},c))}):o&&0!==o.length?(0,b.jsx)("div",{className:"max-h-96 overflow-y-auto thin-scrollbar",children:o.map(a=>(0,b.jsx)(x,{item:a,slug:e,onClick:b=>E(a,b)},a.id))}):(0,b.jsxs)("div",{className:"flex flex-col items-center gap-2 py-6 text-muted-foreground",children:[(0,b.jsx)(w.Flag,{className:"size-6 opacity-30"}),(0,b.jsx)("p",{className:"text-xs",children:"No flagged messages"})]})})]})]})}var z=a.i(242292),A=a.i(385539),B=a.i(790090);let C=(0,B.default)("sun-moon",[["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M14.837 16.385a6 6 0 1 1-7.223-7.222c.624-.147.97.66.715 1.248a4 4 0 0 0 5.26 5.259c.589-.255 1.396.09 1.248.715",key:"xlf6rm"}],["path",{d:"M16 12a4 4 0 0 0-4-4",key:"6vsxu"}],["path",{d:"m19 5-1.256 1.256",key:"1yg6a6"}],["path",{d:"M20 12h2",key:"1q8mjw"}]]);var D=a.i(911057),E=a.i(348634);let F=(0,B.default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),G=(0,B.default)("arrow-left-right",[["path",{d:"M8 3 4 7l4 4",key:"9rb6wj"}],["path",{d:"M4 7h16",key:"6tx8e3"}],["path",{d:"m16 21 4-4-4-4",key:"siv7j2"}],["path",{d:"M20 17H4",key:"h6l3hr"}]]),H=(0,B.default)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]);var I=a.i(249453),J=a.i(993532);let K=(0,B.default)("ungroup",[["rect",{width:"8",height:"6",x:"5",y:"4",rx:"1",key:"nzclkv"}],["rect",{width:"8",height:"6",x:"11",y:"14",rx:"1",key:"4tytwb"}]]),L=(0,B.default)("arrow-right-to-line",[["path",{d:"M17 12H3",key:"8awo09"}],["path",{d:"m11 18 6-6-6-6",key:"8c2y43"}],["path",{d:"M21 5v14",key:"nzette"}]]);var M=a.i(615640),N=a.i(454607),O=a.i(867561),P=a.i(869267),Q=a.i(166198);function R(){let{data:a,isPending:e}=(0,N.useSession)(),f=(0,d.useRouter)(),[g,i]=(0,c.useState)(!1);(0,c.useEffect)(()=>{i(!0)},[]);let j=a?.user;if(!g||e||!j)return(0,b.jsx)(h.Skeleton,{className:"size-10 rounded-xl"});let k=(j.name||j.email||"?").charAt(0).toUpperCase();return(0,b.jsxs)(O.DropdownMenu,{children:[(0,b.jsx)(O.DropdownMenuTrigger,{render:(0,b.jsx)("button",{type:"button",title:j.name??j.email??"Account",className:"flex items-center justify-center size-10 rounded-xl text-muted-foreground hover:text-foreground hover:bg-accent transition-colors duration-200 cursor-pointer"}),children:(0,b.jsx)(Q.User,{className:"size-4"})}),(0,b.jsxs)(O.DropdownMenuContent,{className:"min-w-52 rounded-lg",side:"right",align:"end",sideOffset:8,children:[(0,b.jsx)(O.DropdownMenuGroup,{children:(0,b.jsx)(O.DropdownMenuLabel,{className:"p-0 font-normal",children:(0,b.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1.5 text-left text-sm",children:[(0,b.jsx)("div",{className:"flex items-center justify-center size-7 rounded-full bg-primary text-primary-foreground text-xs font-medium shrink-0",children:k}),(0,b.jsxs)("div",{className:"grid flex-1 text-left text-sm leading-tight",children:[(0,b.jsx)("span",{className:"truncate font-medium",children:j.name??"User"}),(0,b.jsx)("span",{className:"truncate text-xs text-muted-foreground",children:j.email})]})]})})}),(0,b.jsx)(O.DropdownMenuSeparator,{}),(0,b.jsx)(O.DropdownMenuGroup,{children:(0,b.jsxs)(O.DropdownMenuItem,{onClick:async()=>{await (0,N.signOut)(),f.push("/sign-in")},children:[(0,b.jsx)(P.LogOut,{className:"size-4"}),"Log out"]})})]})]})}var S=a.i(764190),T=a.i(325848),U=a.i(253260),V=a.i(914211),W=a.i(892365);let X=a=>{let{transform:b}=a;return{...b,x:0}};function Y(a,b,c){let d=a.slice();return d.splice(c<0?d.length+c:c,0,d.splice(b,1)[0]),d}function Z(a){return null!==a&&a>=0}let $=a=>{let{rects:b,activeIndex:c,overIndex:d,index:e}=a,f=Y(b,d,c),g=b[e],h=f[e];return h&&g?{x:h.left-g.left,y:h.top-g.top,scaleX:h.width/g.width,scaleY:h.height/g.height}:null},_={scaleX:1,scaleY:1},aa=a=>{var b,c,d,e;let f,g,h,{activeIndex:i,activeNodeRect:j,index:k,rects:l,overIndex:m}=a,n=null!=(b=l[i])?b:j;if(!n)return null;if(k===i){let a=l[m];return a?{x:0,y:i<m?a.top+a.height-(n.top+n.height):a.top-n.top,..._}:null}let o=(c=l,d=k,e=i,f=c[d],g=c[d-1],h=c[d+1],f?e<d?g?f.top-(g.top+g.height):h?h.top-(f.top+f.height):0:h?h.top-(f.top+f.height):g?f.top-(g.top+g.height):0:0);return k>i&&k<=m?{x:0,y:-n.height-o,..._}:k<i&&k>=m?{x:0,y:n.height+o,..._}:{x:0,y:0,..._}},ab="Sortable",ac=c.default.createContext({activeIndex:-1,containerId:ab,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:$,disabled:{draggable:!1,droppable:!1}});function ad(a){let{children:b,id:d,items:e,strategy:f=$,disabled:g=!1}=a,{active:h,dragOverlay:i,droppableRects:j,over:k,measureDroppableContainers:l}=(0,V.useDndContext)(),m=(0,W.useUniqueId)(ab,d),n=null!==i.rect,o=(0,c.useMemo)(()=>e.map(a=>"object"==typeof a&&"id"in a?a.id:a),[e]),p=null!=h,q=h?o.indexOf(h.id):-1,r=k?o.indexOf(k.id):-1,s=(0,c.useRef)(o),t=!function(a,b){if(a===b)return!0;if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}(o,s.current),u=-1!==r&&-1===q||t,v="boolean"==typeof g?{draggable:g,droppable:g}:g;(0,W.useIsomorphicLayoutEffect)(()=>{t&&p&&l(o)},[t,o,p,l]),(0,c.useEffect)(()=>{s.current=o},[o]);let w=(0,c.useMemo)(()=>({activeIndex:q,containerId:m,disabled:v,disableTransforms:u,items:o,overIndex:r,useDragOverlay:n,sortedRects:o.reduce((a,b,c)=>{let d=j.get(b);return d&&(a[c]=d),a},Array(o.length)),strategy:f}),[q,m,v.draggable,v.droppable,u,o,r,j,n,f]);return c.default.createElement(ac.Provider,{value:w},b)}let ae=a=>{let{id:b,items:c,activeIndex:d,overIndex:e}=a;return Y(c,d,e).indexOf(b)},af=a=>{let{containerId:b,isSorting:c,wasDragging:d,index:e,items:f,newIndex:g,previousItems:h,previousContainerId:i,transition:j}=a;return!!j&&!!d&&(h===f||e!==g)&&(!!c||g!==e&&b===i)},ag={duration:200,easing:"ease"},ah="transform",ai=W.CSS.Transition.toString({property:ah,duration:0,easing:"linear"}),aj={roleDescription:"sortable"};function ak(a){var b,d,e,f;let{animateLayoutChanges:g=af,attributes:h,disabled:i,data:j,getNewIndex:k=ae,id:l,strategy:m,resizeObserverConfig:n,transition:o=ag}=a,{items:p,containerId:q,activeIndex:r,disabled:s,disableTransforms:t,sortedRects:u,overIndex:v,useDragOverlay:w,strategy:x}=(0,c.useContext)(ac),y=(b=i,d=s,"boolean"==typeof b?{draggable:b,droppable:!1}:{draggable:null!=(e=null==b?void 0:b.draggable)?e:d.draggable,droppable:null!=(f=null==b?void 0:b.droppable)?f:d.droppable}),z=p.indexOf(l),A=(0,c.useMemo)(()=>({sortable:{containerId:q,index:z,items:p},...j}),[q,j,z,p]),B=(0,c.useMemo)(()=>p.slice(p.indexOf(l)),[p,l]),{rect:C,node:D,isOver:E,setNodeRef:F}=(0,V.useDroppable)({id:l,data:A,disabled:y.droppable,resizeObserverConfig:{updateMeasurementsFor:B,...n}}),{active:G,activatorEvent:H,activeNodeRect:I,attributes:J,setNodeRef:K,listeners:L,isDragging:M,over:N,setActivatorNodeRef:O,transform:P}=(0,V.useDraggable)({id:l,data:A,attributes:{...aj,...h},disabled:y.draggable}),Q=(0,W.useCombinedRefs)(F,K),R=!!G,S=R&&!t&&Z(r)&&Z(v),T=!w&&M,U=T&&S?P:null,X=S?null!=U?U:(null!=m?m:x)({rects:u,activeNodeRect:I,activeIndex:r,overIndex:v,index:z}):null,Y=Z(r)&&Z(v)?k({id:l,items:p,activeIndex:r,overIndex:v}):z,$=null==G?void 0:G.id,_=(0,c.useRef)({activeId:$,items:p,newIndex:Y,containerId:q}),aa=p!==_.current.items,ab=g({active:G,containerId:q,isDragging:M,isSorting:R,id:l,index:z,items:p,newIndex:_.current.newIndex,previousItems:_.current.items,previousContainerId:_.current.containerId,transition:o,wasDragging:null!=_.current.activeId}),ad=function(a){let{disabled:b,index:d,node:e,rect:f}=a,[g,h]=(0,c.useState)(null),i=(0,c.useRef)(d);return(0,W.useIsomorphicLayoutEffect)(()=>{if(!b&&d!==i.current&&e.current){let a=f.current;if(a){let b=(0,V.getClientRect)(e.current,{ignoreTransform:!0}),c={x:a.left-b.left,y:a.top-b.top,scaleX:a.width/b.width,scaleY:a.height/b.height};(c.x||c.y)&&h(c)}}d!==i.current&&(i.current=d)},[b,d,e,f]),(0,c.useEffect)(()=>{g&&h(null)},[g]),g}({disabled:!ab,index:z,node:D,rect:C});return(0,c.useEffect)(()=>{R&&_.current.newIndex!==Y&&(_.current.newIndex=Y),q!==_.current.containerId&&(_.current.containerId=q),p!==_.current.items&&(_.current.items=p)},[R,Y,q,p]),(0,c.useEffect)(()=>{if($===_.current.activeId)return;if(null!=$&&null==_.current.activeId){_.current.activeId=$;return}let a=setTimeout(()=>{_.current.activeId=$},50);return()=>clearTimeout(a)},[$]),{active:G,activeIndex:r,attributes:J,data:A,rect:C,index:z,newIndex:Y,items:p,isOver:E,isSorting:R,isDragging:M,listeners:L,node:D,overIndex:v,over:N,setNodeRef:Q,setActivatorNodeRef:O,setDroppableNodeRef:F,setDraggableNodeRef:K,transform:null!=ad?ad:X,transition:ad||aa&&_.current.newIndex===z?ai:(!T||(0,W.isKeyboardEvent)(H))&&o&&(R||ab)?W.CSS.Transition.toString({...o,property:ah}):void 0}}V.KeyboardCode.Down,V.KeyboardCode.Right,V.KeyboardCode.Up,V.KeyboardCode.Left;var al=a.i(135733);let am={folders:[]},an=(0,B.default)("pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]),ao=(0,B.default)("pin-off",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89",key:"znwnzq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11",key:"c9qhm2"}]]);var ap=a.i(781418);function aq({agent:a,isActive:d,isPinned:e,isOnline:f,taskCount:h,onClick:j,onPin:k,onUnpin:l,extraContextMenuItems:m,hidePin:n}){let o,[p,q]=(0,c.useState)(!1);return(0,b.jsxs)(g.Popover,{open:p,onOpenChange:(a,b)=>{a&&"trigger-press"===b.reason||q(a)},children:[(0,b.jsxs)(S.ContextMenu,{children:[(0,b.jsxs)(g.PopoverTrigger,{openOnHover:!0,delay:10,render:(0,b.jsx)(S.ContextMenuTrigger,{render:(0,b.jsx)("button",{type:"button",onClick:()=>{q(!1),j()},className:(0,i.cn)("relative flex shrink-0 items-center justify-center size-10 rounded-xl text-sm font-medium transition-all duration-200 cursor-pointer",d?"ring-2 ring-primary shadow-sm":"ring-0 bg-secondary text-secondary-foreground hover:bg-accent")})}),children:[(o=(0,T.parseAvatarUrl)(a.avatar_url))?(0,b.jsx)(U.AnimatedAvatar,{config:o,size:40,className:"rounded-xl",isHovered:!1}):a.name.charAt(0).toUpperCase(),(0,b.jsx)("span",{className:(0,i.cn)("absolute bottom-0 right-0 size-2 rounded-full ring-2 ring-background",f?"bg-status-online":"bg-status-offline")})]}),(0,b.jsxs)(S.ContextMenuContent,{children:[!n&&(e?(0,b.jsxs)(S.ContextMenuItem,{onClick:l,children:[(0,b.jsx)(ao,{className:"size-3.5 mr-1.5"}),"Unpin"]}):(0,b.jsxs)(S.ContextMenuItem,{onClick:k,children:[(0,b.jsx)(an,{className:"size-3.5 mr-1.5"}),"Pin to top"]})),m]})]}),(0,b.jsx)(g.PopoverContent,{side:"right",className:"w-fit max-w-80",children:(0,b.jsx)(ap.AgentPreviewCard,{agent:a,isOnline:f,activeTaskCount:h})})]})}function ar({folder:a,agents:c,isActive:d,onClick:e}){let f=a.agentIds.map(a=>c.find(b=>b.id===a)).filter(Boolean),g=f.slice(0,3),h=f.length-g.length;return(0,b.jsxs)("button",{type:"button",onClick:e,className:(0,i.cn)("relative flex shrink-0 items-center justify-center size-10 rounded-xl transition-all duration-200 cursor-pointer","bg-secondary/50 border border-border/30",d?"ring-2 ring-primary shadow-sm":"hover:bg-accent"),children:[(0,b.jsx)("div",{className:"relative flex items-center justify-center",style:{width:30,height:20},children:g.map((a,c)=>{let d=(0,T.parseAvatarUrl)(a.avatar_url);return(0,b.jsx)("div",{className:"absolute rounded-full overflow-hidden ring-1 ring-background",style:{width:20,height:20,left:6*c,zIndex:c+1},children:d?(0,b.jsx)(U.AnimatedAvatar,{config:d,size:20,className:"rounded-full",isHovered:!1}):(0,b.jsx)("div",{className:"flex items-center justify-center size-full bg-muted text-[8px] font-medium",children:a.name.charAt(0).toUpperCase()})},a.id)})}),h>0&&(0,b.jsxs)("span",{className:"absolute bottom-0 right-0 flex items-center justify-center min-w-3.5 h-3.5 rounded-full bg-muted text-muted-foreground text-[8px] font-bold ring-1 ring-background",children:["+",h]})]})}function as({folder:a,agents:c,isActive:d,isMergeTarget:e,dragActiveId:f,onExpand:g,nodeRefCallback:h}){let{attributes:i,listeners:j,setNodeRef:k,transform:l,transition:m,isDragging:n}=ak({id:a.id}),o={transform:W.CSS.Transform.toString(l),transition:m,opacity:n?.5:1,zIndex:n?10:void 0};return(0,b.jsx)("div",{ref:a=>{k(a),h?.(a)},style:o,...i,...j,className:"transition-all duration-200",children:(0,b.jsx)(ar,{folder:e&&f?{...a,agentIds:[...a.agentIds,f]}:a,agents:c,isActive:d,onClick:g})})}function at({id:a,children:c}){let{attributes:d,listeners:e,setNodeRef:f,transform:g,transition:h,isDragging:i}=ak({id:a}),j={transform:W.CSS.Transform.toString(g),transition:h,opacity:i?.5:1,zIndex:i?10:void 0};return(0,b.jsx)("div",{ref:f,style:j,...d,...e,children:c})}function au({folder:a,agents:d,activeAgentId:e,isOnline:f,taskCounts:g,anchorRef:h,onAgentClick:i,onRemoveFromFolder:j,onPinAgent:k,onReorder:l,onClose:m}){let n=(0,c.useRef)(null),[o,p]=(0,c.useState)(null),q=(0,c.useCallback)(()=>{if(!h)return;let a=h.getBoundingClientRect();p({left:a.right+8,top:a.top})},[h]);(0,c.useEffect)(()=>{q()},[q]),(0,c.useEffect)(()=>{function a(a){let b=a.target;!n.current||n.current.contains(b)||!h||h.contains(b)||b.closest?.('[data-slot="context-menu-content"]')||m()}function b(a){"Escape"===a.key&&m()}let c=h?.closest("[class*='overflow']")??window;return document.addEventListener("mousedown",a),document.addEventListener("keydown",b),window.addEventListener("resize",q),c.addEventListener("scroll",q,{passive:!0}),()=>{document.removeEventListener("mousedown",a),document.removeEventListener("keydown",b),window.removeEventListener("resize",q),c.removeEventListener("scroll",q)}},[h,m,q]);let r=(0,V.useSensors)((0,V.useSensor)(V.PointerSensor,{activationConstraint:{distance:5}})),s=a.agentIds.map(a=>d.find(b=>b.id===a)).filter(Boolean);return h&&o?(0,b.jsx)("div",{ref:n,className:"fixed z-50 bg-popover border rounded-xl shadow-md p-1.5 animate-in fade-in-0 zoom-in-95",style:{left:o.left,top:o.top},children:(0,b.jsx)(V.DndContext,{sensors:r,collisionDetection:V.closestCenter,modifiers:[X],onDragEnd:function(b){let{active:c,over:d}=b;if(!d||c.id===d.id)return;let e=a.agentIds.indexOf(c.id),f=a.agentIds.indexOf(d.id);l(Y(a.agentIds,e,f))},children:(0,b.jsx)(ad,{items:a.agentIds,strategy:aa,children:(0,b.jsx)("div",{className:"flex flex-col gap-1",children:s.map(a=>(0,b.jsx)(at,{id:a.id,children:(0,b.jsx)(aq,{agent:a,isActive:e===a.id,isPinned:!1,isOnline:f,taskCount:g[a.id]??0,hidePin:!0,onClick:()=>{i(a.id),m()},onPin:()=>{k(a.id),m()},onUnpin:()=>{},extraContextMenuItems:(0,b.jsxs)(S.ContextMenuItem,{onClick:()=>j(a.id),children:[(0,b.jsx)(ao,{className:"size-3.5 mr-1.5"}),"Remove from group"]})})},a.id))})})})}):null}function av({id:a,children:c}){let{attributes:d,listeners:e,setNodeRef:f,transform:g,transition:h,isDragging:i}=ak({id:a}),j={transform:W.CSS.Transform.toString(g),transition:h,opacity:i?.5:1,zIndex:i?10:void 0};return(0,b.jsx)("div",{ref:f,style:j,...d,...e,children:c})}function aw({onNavigate:a}={}){let g,j=(0,d.useRouter)(),k=(0,d.usePathname)(),l=(0,d.useSearchParams)(),{agents:m,runtimes:n,loading:o,pins:q,unpinnedOrder:r,handlePinAgent:s,handleUnpinAgent:t,handleReorderPins:v,handleReorderUnpinned:w}=(0,e.useAgentContext)(),{slug:x,workspaceId:B}=(0,f.useWorkspace)(),{resolvedTheme:N,setTheme:O}=(0,M.useTheme)(),{activeTaskCounts:P}=(0,e.useAgentContext)(),{folders:Q,expandedFolderId:W,setExpandedFolderId:Z,createFolder:$,addToFolder:_,removeFromFolder:ab,dissolveFolder:ac,reorderInFolder:ae,cleanupStaleAgents:af,getTopLevelItems:ag,removeAgentFromAnyFolder:ah,mergeFolders:ai}=function(a){let[b,d]=(0,al.useLocalStorage)(`agent-sidebar-folders:${a}`,am),[e,f]=(0,c.useState)(null),g=b.folders,h=(0,c.useCallback)(a=>g.find(b=>b.agentIds.includes(a))??null,[g]),i=(0,c.useCallback)(a=>{if(a.length<2)return;let b=crypto.randomUUID();d(c=>{let d=new Set(c.folders.flatMap(a=>a.agentIds)),e=a.filter(a=>!d.has(a));return e.length<2?c:{folders:[...c.folders,{id:b,agentIds:e}]}}),f(b)},[d]),j=(0,c.useCallback)((a,b)=>{d(c=>c.folders.some(a=>a.agentIds.includes(b))?c:{folders:c.folders.map(c=>c.id===a?{...c,agentIds:[...c.agentIds,b]}:c)})},[d]),k=(0,c.useCallback)((a,b)=>{d(c=>({folders:c.folders.map(c=>c.id===a?{...c,agentIds:c.agentIds.filter(a=>a!==b)}:c).filter(a=>a.agentIds.length>1)}))},[d]),l=(0,c.useCallback)(a=>{d(b=>({folders:b.folders.filter(b=>b.id!==a)})),e===a&&f(null)},[d,e]),m=(0,c.useCallback)((a,b)=>{d(c=>({folders:c.folders.map(c=>c.id===a?{...c,agentIds:b}:c)}))},[d]),n=(0,c.useCallback)(a=>{let b=new Set(a);d(a=>{let c=a.folders.map(a=>({...a,agentIds:a.agentIds.filter(a=>b.has(a))})).filter(a=>a.agentIds.length>1);return c.length!==a.folders.length||a.folders.some(a=>a.agentIds.some(a=>!b.has(a)))?{folders:c}:a})},[d]),o=(0,c.useCallback)(a=>{let b=new Map;for(let a of g)for(let c of a.agentIds)b.set(c,a);let c=new Set,d=[];for(let e of a){let a=b.get(e);a?c.has(a.id)||(c.add(a.id),d.push({type:"folder",folder:a})):d.push({type:"agent",id:e})}return d},[g]),p=(0,c.useCallback)((a,b)=>{d(c=>{let d=c.folders.find(b=>b.id===a);return d?{folders:c.folders.map(a=>a.id===b?{...a,agentIds:[...a.agentIds,...d.agentIds]}:a).filter(b=>b.id!==a)}:c})},[d]);return{folders:g,expandedFolderId:e,setExpandedFolderId:f,createFolder:i,addToFolder:j,removeFromFolder:k,dissolveFolder:l,reorderInFolder:m,cleanupStaleAgents:n,getFolderForAgent:h,getTopLevelItems:o,removeAgentFromAnyFolder:(0,c.useCallback)(a=>{d(b=>{let c=b.folders.find(b=>b.agentIds.includes(a));return c?{folders:b.folders.map(b=>b.id===c.id?{...b,agentIds:b.agentIds.filter(b=>b!==a)}:b).filter(a=>a.agentIds.length>1)}:b})},[d]),mergeFolders:p}}(B),[aj,ak]=(0,c.useState)(!1),[an,ao]=(0,c.useState)(new Set),ap=m.filter(a=>q.has(a.id)).sort((a,b)=>q.get(a.id).position-q.get(b.id).position),at=m.filter(a=>!q.has(a.id)).sort((a,b)=>{let c=r.get(a.id),d=r.get(b.id);return void 0!==c&&void 0!==d?c-d:void 0!==c?-1:void 0!==d?1:a.name.localeCompare(b.name)}),ax=ag(at.map(a=>a.id));(0,c.useEffect)(()=>{m.length>0&&af(m.map(a=>a.id))},[m,af]);let[ay,az]=(0,c.useState)(null),[aA,aB]=(0,c.useState)(null),[aC,aD]=(0,c.useState)(!1),aE=(0,c.useRef)(null),aF=(0,c.useRef)(null);(0,c.useEffect)(()=>()=>{aE.current&&clearTimeout(aE.current)},[]);let aG=(0,c.useRef)(new Map),aH=(0,V.useSensors)((0,V.useSensor)(V.PointerSensor,{activationConstraint:{distance:5}})),aI=ax.map(a=>"agent"===a.type?a.id:a.folder.id);function aJ(){aE.current&&(clearTimeout(aE.current),aE.current=null),aF.current=null,aB(null),aD(!1)}let aK=(0,c.useCallback)(a=>{ah(a),s(a)},[ah,s]),aL=`/w/${x}`,aM=k===`${aL}/home`,aN=k===`${aL}/runtimes`,aO=k===`${aL}/calendar`,aP=k.startsWith(`${aL}/unread`),aQ=k.startsWith(`${aL}/flags`),aR=k.startsWith(`${aL}/issues`),aS=k===`${aL}/settings`,aT=k===`${aL}/agents/new`,aU=l.get("agent"),aV=k.match(/^\/w\/[^/]+\/agents\/([^/]+)/),aW=aU??aV?.[1]??null,aX=b=>{j.push(`${aL}/agents/${b}`),a?.()},aY=n.some(a=>"online"===a.status),[aZ,a$]=(0,c.useState)(!1),a_=(0,c.useRef)(!1),a0=(0,c.useRef)(null);(0,c.useEffect)(()=>()=>{a0.current&&clearTimeout(a0.current)},[]);let a1=(0,c.useCallback)(()=>{a_.current||(a_.current=!0,a$(!0),a0.current=setTimeout(()=>{a_.current=!1,a$(!1)},60*Math.max(0,ap.length+at.length-1)+250))},[ap.length,at.length]),a2=ay?m.find(a=>a.id===ay):null,a3=ay?Q.find(a=>a.id===ay):null,a4=(a,c,d)=>(0,b.jsx)("div",{className:(0,i.cn)(aZ&&"sidebar-agent-pop"),style:aZ?{animationDelay:`${60*c}ms`}:void 0,children:(0,b.jsx)(aq,{agent:a,isActive:aW===a.id,isPinned:q.has(a.id),isOnline:aY,taskCount:P[a.id]??0,onClick:()=>aX(a.id),onPin:()=>aK(a.id),onUnpin:()=>t(a.id),extraContextMenuItems:d})}),a5=(0,c.useCallback)(()=>Z(null),[Z]),a6=W?Q.find(a=>a.id===W)??null:null;return(0,b.jsxs)("nav",{className:(0,i.cn)("flex h-full w-14 flex-col items-center pt-1 pb-2 gap-0.5",aZ&&"relative z-10"),children:[(0,b.jsx)("div",{className:"pb-1.5 mb-1",children:(0,b.jsx)("div",{className:"flex shrink-0 items-center justify-center size-8 [&>button]:pointer-events-none cursor-pointer active:scale-90 transition-transform",onClick:a1,children:(0,b.jsx)(z.Logo,{size:"sm",iconOnly:!0})})}),(0,b.jsxs)("div",{className:"flex flex-col items-center gap-1.5 pb-1.5 border-b border-border/50 mb-1",children:[(0,b.jsxs)(p.Tooltip,{children:[(0,b.jsx)(p.TooltipTrigger,{render:(0,b.jsx)("button",{type:"button",onClick:()=>{j.push(`${aL}/home`),a?.()},className:(0,i.cn)("flex items-center justify-center size-10 rounded-xl transition-colors duration-200 cursor-pointer","text-muted-foreground hover:text-foreground hover:bg-accent",aM&&"bg-accent text-foreground")}),children:(0,b.jsx)(H,{className:"size-4"})}),(0,b.jsx)(p.TooltipContent,{side:"right",children:"Home"})]}),(0,b.jsx)(u,{isActive:aP,onNavigate:a}),(0,b.jsx)(y,{isActive:aQ,onNavigate:a}),(0,b.jsxs)(p.Tooltip,{children:[(0,b.jsx)(p.TooltipTrigger,{render:(0,b.jsx)("button",{type:"button",onClick:()=>{j.push(`${aL}/issues`),a?.()},className:(0,i.cn)("flex items-center justify-center size-10 rounded-xl transition-colors duration-200 cursor-pointer","text-muted-foreground hover:text-foreground hover:bg-accent",aR&&"bg-accent text-foreground")}),children:(0,b.jsx)(I.CircleDot,{className:"size-4"})}),(0,b.jsx)(p.TooltipContent,{side:"right",children:"Issues"})]}),(0,b.jsxs)(p.Tooltip,{children:[(0,b.jsx)(p.TooltipTrigger,{render:(0,b.jsx)("button",{type:"button",onClick:()=>{j.push(`${aL}/calendar`),a?.()},className:(0,i.cn)("flex items-center justify-center size-10 rounded-xl transition-colors duration-200 cursor-pointer","text-muted-foreground hover:text-foreground hover:bg-accent",aO&&"bg-accent text-foreground")}),children:(0,b.jsx)(E.CalendarDays,{className:"size-4"})}),(0,b.jsx)(p.TooltipContent,{side:"right",children:"Calendar"})]})]}),(0,b.jsxs)("div",{className:(0,i.cn)("flex flex-1 w-full flex-col items-center gap-1.5 py-1 scrollbar-none",aZ?"overflow-visible":"overflow-y-auto"),children:[o?(0,b.jsx)(h.Skeleton,{className:"size-10 rounded-xl"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(V.DndContext,{sensors:aH,collisionDetection:V.closestCenter,modifiers:[X],onDragEnd:function(a){let{active:b,over:c}=a;if(!c||b.id===c.id)return;let d=ap.findIndex(a=>a.id===b.id),e=ap.findIndex(a=>a.id===c.id);v(Y(ap,d,e).map(a=>a.id))},children:(0,b.jsx)(ad,{items:ap.map(a=>a.id),strategy:aa,children:ap.map((a,c)=>(0,b.jsx)(av,{id:a.id,children:a4(a,c)},a.id))})}),ap.length>0&&at.length>0&&(0,b.jsx)("div",{className:"w-6 border-t border-border/50"}),(0,b.jsxs)(V.DndContext,{sensors:aH,collisionDetection:V.closestCenter,modifiers:[X],onDragStart:function(a){az(a.active.id),Z(null)},onDragOver:function(a){let{over:b}=a;if(!b)return void aJ();let c=b.id;c===ay?aJ():aF.current!==c&&(aJ(),aF.current=c,aE.current=setTimeout(()=>{aD(!0),aB(c)},300))},onDragEnd:function(a){let{active:b,over:c}=a;if(aJ(),az(null),!c||b.id===c.id)return;let d=b.id,e=c.id;if(aA===e){var f,g;f=d,g=e,Q.find(a=>a.id===g)?Q.find(a=>a.id===f)?ai(f,g):(ah(f),_(g,f)):Q.find(a=>a.id===f)?_(f,g):$([g,f]),aB(null);return}let h=aI.indexOf(d),i=aI.indexOf(e);if(-1===h||-1===i)return;let j=Y(ax,h,i),k=[];for(let a of j)"agent"===a.type?k.push(a.id):k.push(...a.folder.agentIds);w(k)},onDragCancel:function(){aJ(),az(null)},children:[(0,b.jsx)(ad,{items:aI,strategy:aC?void 0:aa,children:ax.map((a,c)=>{let d;if("folder"===a.type){let c=a.folder,d=c.agentIds.includes(aW??"");return(0,b.jsxs)(S.ContextMenu,{children:[(0,b.jsx)(S.ContextMenuTrigger,{render:(0,b.jsx)("div",{}),children:(0,b.jsx)(as,{folder:c,agents:m,isActive:d,isMergeTarget:aA===c.id,dragActiveId:ay,onExpand:()=>Z(W===c.id?null:c.id),nodeRefCallback:a=>aG.current.set(c.id,a)})}),(0,b.jsx)(S.ContextMenuContent,{children:(0,b.jsxs)(S.ContextMenuItem,{onClick:()=>ac(c.id),children:[(0,b.jsx)(K,{className:"size-3.5 mr-1.5"}),"Ungroup agents"]})})]},c.id)}if(aj){let d=m.find(b=>b.id===a.id);if(!d)return null;let e=an.has(d.id);return(0,b.jsxs)("div",{className:"relative cursor-pointer",onClick:()=>{var a;return a=d.id,void ao(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},children:[(0,b.jsx)("div",{className:(0,i.cn)("transition-all duration-150",e&&"ring-2 ring-primary rounded-xl"),children:a4(d,ap.length+c)}),e&&(0,b.jsx)("span",{className:"absolute -top-0.5 -right-0.5 size-3 rounded-full bg-primary ring-2 ring-background"})]},d.id)}let e=m.find(b=>b.id===a.id);return e?(0,b.jsx)(av,{id:e.id,children:aA===e.id&&ay?(0,b.jsx)(ar,{folder:{id:"merge-preview",agentIds:[e.id,ay]},agents:m,isActive:!1,onClick:()=>{}}):a4(e,ap.length+c,(d=e.id,(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(S.ContextMenuSeparator,{}),(0,b.jsxs)(S.ContextMenuItem,{onClick:()=>{ao(new Set([d])),ak(!0)},children:[(0,b.jsx)(J.Folder,{className:"size-3.5 mr-1.5"}),"Create group"]}),Q.length>0&&(0,b.jsx)(b.Fragment,{children:Q.map(a=>{let c=a.agentIds.map(a=>m.find(b=>b.id===a)).filter(Boolean),e=c.slice(0,2).map(a=>a.name).join(", ");return(0,b.jsxs)(S.ContextMenuItem,{onClick:()=>_(a.id,d),children:[(0,b.jsx)(L,{className:"size-3.5 mr-1.5"}),"Move to ",e,c.length>2?"…":""]},a.id)})})]})))},e.id):null})}),(0,b.jsx)(V.DragOverlay,{children:a2?(0,b.jsx)("div",{className:"opacity-80",children:(g=(0,T.parseAvatarUrl)(a2.avatar_url))?(0,b.jsx)(U.AnimatedAvatar,{config:g,size:40,className:"rounded-xl",isHovered:!1}):(0,b.jsx)("div",{className:"flex items-center justify-center size-10 rounded-xl bg-secondary text-sm font-medium",children:a2.name.charAt(0).toUpperCase()})}):a3?(0,b.jsx)("div",{className:"opacity-80",children:(0,b.jsx)(ar,{folder:a3,agents:m,isActive:!1,onClick:()=>{}})}):null})]}),aj&&(0,b.jsxs)("div",{className:"flex flex-col gap-1 w-full px-1",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>{an.size>=2&&$(Array.from(an)),ak(!1),ao(new Set)},disabled:an.size<2,className:"flex items-center justify-center h-7 rounded-lg bg-primary text-primary-foreground text-xs font-medium disabled:opacity-40 cursor-pointer disabled:cursor-not-allowed",children:["Done (",an.size,")"]}),(0,b.jsx)("button",{type:"button",onClick:()=>{ak(!1),ao(new Set)},className:"flex items-center justify-center h-7 rounded-lg bg-secondary text-secondary-foreground text-xs cursor-pointer hover:bg-accent",children:"Cancel"})]})]}),!o&&0===m.length&&n.some(a=>"online"===a.status)?(0,b.jsxs)(p.Tooltip,{open:!0,children:[(0,b.jsx)(p.TooltipTrigger,{render:(0,b.jsx)("button",{type:"button",onClick:()=>{j.push(`${aL}/agents/new`),a?.()},className:(0,i.cn)("relative flex shrink-0 items-center justify-center size-10 rounded-xl transition-colors duration-200 cursor-pointer","border border-dashed border-primary/50 text-primary","hover:border-primary hover:bg-primary/10","animate-pulse",aT&&"border-solid border-primary bg-primary/10 animate-none")}),children:(0,b.jsx)(D.Plus,{className:"size-4"})}),(0,b.jsx)(p.TooltipContent,{side:"right",sideOffset:8,children:"Create your first agent"})]}):(0,b.jsxs)(p.Tooltip,{children:[(0,b.jsx)(p.TooltipTrigger,{render:(0,b.jsx)("button",{type:"button",onClick:()=>{j.push(`${aL}/agents/new`),a?.()},className:(0,i.cn)("flex shrink-0 items-center justify-center size-10 rounded-xl transition-colors duration-200 cursor-pointer","border border-dashed border-foreground/15 text-muted-foreground","hover:border-foreground/30 hover:text-foreground hover:bg-accent",aT&&"border-solid border-foreground/25 bg-accent text-foreground")}),children:(0,b.jsx)(D.Plus,{className:"size-4"})}),(0,b.jsx)(p.TooltipContent,{children:"New agent"})]})]}),a6&&(0,b.jsx)(au,{folder:a6,agents:m,activeAgentId:aW,isOnline:aY,taskCounts:P,anchorRef:aG.current.get(a6.id)??null,onAgentClick:aX,onRemoveFromFolder:a=>ab(a6.id,a),onPinAgent:aK,onReorder:a=>ae(a6.id,a),onClose:a5}),(0,b.jsxs)("div",{className:"flex flex-col items-center gap-1 pt-2 border-t border-border/50 mt-1",children:[(0,b.jsxs)(p.Tooltip,{children:[(0,b.jsx)(p.TooltipTrigger,{render:(0,b.jsx)("button",{type:"button",onClick:()=>{j.push(`${aL}/runtimes`),a?.()},className:(0,i.cn)("flex items-center justify-center size-10 rounded-xl transition-colors duration-200 cursor-pointer","text-muted-foreground hover:text-foreground hover:bg-accent",aN&&"bg-accent text-foreground")}),children:(0,b.jsx)(A.Monitor,{className:"size-4"})}),(0,b.jsx)(p.TooltipContent,{side:"right",children:"Runtimes"})]}),(0,b.jsxs)(p.Tooltip,{children:[(0,b.jsx)(p.TooltipTrigger,{render:(0,b.jsx)("button",{type:"button",onClick:()=>O("dark"===N?"light":"dark"),className:"flex items-center justify-center size-10 rounded-xl text-muted-foreground hover:text-foreground hover:bg-accent transition-colors duration-200 cursor-pointer"}),children:(0,b.jsx)(C,{className:"size-4"})}),(0,b.jsx)(p.TooltipContent,{side:"right",children:"Toggle theme"})]}),(0,b.jsxs)(p.Tooltip,{children:[(0,b.jsx)(p.TooltipTrigger,{render:(0,b.jsx)("button",{type:"button",onClick:()=>{j.push(`${aL}/settings`),a?.()},className:(0,i.cn)("flex items-center justify-center size-10 rounded-xl transition-colors duration-200 cursor-pointer","text-muted-foreground hover:text-foreground hover:bg-accent",aS&&"bg-accent text-foreground")}),children:(0,b.jsx)(F,{className:"size-4"})}),(0,b.jsx)(p.TooltipContent,{side:"right",children:"Settings"})]}),(0,b.jsxs)(p.Tooltip,{children:[(0,b.jsx)(p.TooltipTrigger,{render:(0,b.jsx)("button",{type:"button",onClick:()=>{j.push("/workspaces"),a?.()},className:"flex items-center justify-center size-10 rounded-xl text-muted-foreground hover:text-foreground hover:bg-accent transition-colors duration-200 cursor-pointer"}),children:(0,b.jsx)(G,{className:"size-4"})}),(0,b.jsx)(p.TooltipContent,{side:"right",children:"Switch workspace"})]}),(0,b.jsx)(R,{})]})]})}function ax(){let a=(0,d.useRouter)(),c=(0,d.usePathname)(),g=aO(),{slug:j}=(0,f.useWorkspace)(),{agents:k,pins:l,unpinnedOrder:m,runtimes:n,loading:o}=(0,e.useAgentContext)(),p=c===`/w/${j}/home`,q=c.includes("/calendar"),r=c.includes("/issues"),s=c.match(/^\/w\/[^/]+\/agents\/([^/]+)/),t=s?.[1]??null,u=[...k.filter(a=>l.has(a.id)).sort((a,b)=>l.get(a.id).position-l.get(b.id).position),...k.filter(a=>!l.has(a.id)).sort((a,b)=>{let c=m.get(a.id),d=m.get(b.id);return void 0!==c&&void 0!==d?c-d:void 0!==c?-1:void 0!==d?1:a.name.localeCompare(b.name)})];return(0,b.jsxs)("div",{className:"h-10 flex items-center gap-2 px-2 shrink-0",children:[g&&(0,b.jsx)("div",{role:"button",tabIndex:0,"aria-label":"Open sidebar",onClick:g,onKeyDown:a=>{("Enter"===a.key||" "===a.key)&&(a.preventDefault(),g())},className:"shrink-0 cursor-pointer transition-opacity hover:opacity-70 [&>button]:pointer-events-none",children:(0,b.jsx)(z.Logo,{size:"sm",iconOnly:!0})}),(0,b.jsx)("button",{onClick:()=>a.push(`/w/${j}/home`),"aria-label":"Home",className:(0,i.cn)("shrink-0 p-1 rounded-md transition-colors",p?"text-foreground bg-muted":"text-muted-foreground hover:text-foreground"),children:(0,b.jsx)(H,{className:"size-4"})}),(0,b.jsx)("button",{onClick:()=>a.push(`/w/${j}/calendar`),"aria-label":"Calendar",className:(0,i.cn)("shrink-0 p-1 rounded-md transition-colors",q?"text-foreground bg-muted":"text-muted-foreground hover:text-foreground"),children:(0,b.jsx)(E.CalendarDays,{className:"size-4"})}),(0,b.jsx)("button",{onClick:()=>a.push(`/w/${j}/issues`),"aria-label":"Issues",className:(0,i.cn)("shrink-0 p-1 rounded-md transition-colors",r?"text-foreground bg-muted":"text-muted-foreground hover:text-foreground"),children:(0,b.jsx)(I.CircleDot,{className:"size-4"})}),(0,b.jsx)("div",{className:"flex-1 overflow-x-auto flex items-center gap-1.5 py-1 px-0.5 scrollbar-none",children:o?(0,b.jsx)(h.Skeleton,{className:"size-7 rounded-full"}):u.map(c=>{let d=n.find(a=>a.id===c.runtime_id),e=d?.status==="online",f=t===c.id,g=(0,T.parseAvatarUrl)(c.avatar_url);return(0,b.jsxs)("button",{onClick:()=>a.push(`/w/${j}/agents/${c.id}`),"aria-label":c.name,className:(0,i.cn)("shrink-0 relative rounded-full transition-all",f&&"ring-2 ring-primary"),children:[(0,b.jsx)("div",{className:"size-7",children:g?(0,b.jsx)(U.AnimatedAvatar,{config:g,size:28,className:"rounded-full",isHovered:!1}):(0,b.jsx)("div",{className:"size-7 rounded-full bg-muted flex items-center justify-center text-[10px] font-medium",children:c.name.charAt(0).toUpperCase()})}),(0,b.jsx)("span",{className:(0,i.cn)("absolute -bottom-0.5 -right-0.5 size-2 rounded-full border border-background",e?"bg-emerald-500":"bg-muted-foreground/40")})]},c.id)})})]})}var ay=a.i(567264),az=a.i(586220),aA=a.i(7455);a.i(974936);var aB=a.i(997445),aC=a.i(372822),aD=a.i(432340),aE=a.i(732254),aF=a.i(464830);let aG=(0,B.default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var aH=a.i(461794);let aI=(0,B.default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);var aJ=a.i(921584);let aK=(0,aC.resolveMode)({nodeEnv:"production",hostname:void 0}),aL="app"===aK?"npx @alook/app stop && npx @alook/app@latest update && npx @alook/app start":"npx @alook/cli@latest daemon stop && npx @alook/cli@latest daemon start";function aM(){let{runtimes:a,workspaceId:d}=(0,e.useAgentContext)(),[f,g]=(0,c.useState)(null),[h,i]=(0,c.useState)(new Set),[k,l]=(0,c.useState)(!1),m=(0,c.useRef)(null);if((0,c.useEffect)(()=>{(0,j.getMinCliVersion)().then(a=>g(a.min_cli_version)).catch(()=>{})},[]),(0,c.useEffect)(()=>()=>{m.current&&clearTimeout(m.current)},[]),"dev"===aK||!f)return null;let n=a.filter(a=>{if("online"!==a.status)return!1;let b=a.metadata?.cli_version;return"string"!=typeof b||!b||!(0,aB.semverGte)(b,f)}),o=new Map;for(let a of n){let b=a.daemon_id??a.id;o.has(b)||o.set(b,a)}if(0===o.size)return null;let q=async a=>{if("app"===aK)return void l(!0);i(b=>new Set(b).add(a.id)),m.current||(m.current=setTimeout(()=>{l(!0)},5e3));try{await (0,j.triggerRuntimeUpdate)(a.id,d)}catch{i(b=>{let c=new Set(b);return c.delete(a.id),c})}};return(0,b.jsx)(aD.Dialog,{open:!0,modal:!0,disablePointerDismissal:!0,onOpenChange:()=>{},children:(0,b.jsxs)(aD.DialogContent,{showCloseButton:!1,children:[(0,b.jsxs)(aD.DialogHeader,{children:[(0,b.jsxs)(aD.DialogTitle,{className:"flex items-center gap-2",children:[(0,b.jsx)(aG,{className:"size-5 text-amber-500"}),"Runtime Update Required"]}),(0,b.jsx)(aD.DialogDescription,{children:"app"===aK?`Your local Alook app is running an outdated version (minimum required: v${f}). Please update to continue.`:`The following machine(s) are running an outdated CLI version (minimum required: v${f}). Please update to continue.`})]}),(0,b.jsx)("div",{className:"space-y-3 mt-2",children:[...o.entries()].map(([a,c])=>{let d=c.metadata?.cli_version,e=h.has(c.id);return(0,b.jsxs)("div",{className:"flex items-center justify-between rounded-lg border p-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 min-w-0",children:[(0,b.jsx)("span",{className:"size-2 shrink-0 rounded-full bg-emerald-500"}),(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("div",{className:"text-sm font-medium truncate",children:c.device_info||a.slice(0,12)}),(0,b.jsxs)("div",{className:"text-xs text-muted-foreground flex items-center gap-2 mt-0.5",children:[(0,b.jsxs)("span",{children:["v",d||"unknown"]}),(0,b.jsxs)(aF.Badge,{variant:"outline",className:"text-[10px] px-1.5 py-0 text-amber-500 border-amber-500/30",children:["requires v",f]})]})]})]}),(0,b.jsxs)(aE.Button,{size:"sm",variant:"outline",disabled:e,onClick:()=>q(c),children:[(0,b.jsx)(aH.RefreshCw,{className:`size-3.5 ${e?"animate-spin":""}`}),e?"Updating...":"Update"]})]},a)})}),k&&(0,b.jsxs)("div",{className:"mt-3 rounded-md bg-muted/50 border border-dashed p-2.5 text-xs text-muted-foreground",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5 font-medium text-foreground mb-1",children:[(0,b.jsx)(aI,{className:"size-3"}),"Update taking too long?"]}),(0,b.jsx)("p",{className:"mb-1",children:"Run this command on the machine to update manually:"}),(0,b.jsxs)(p.Tooltip,{children:[(0,b.jsx)(p.TooltipTrigger,{render:(0,b.jsx)("code",{className:"block rounded bg-background px-2 py-1 font-mono text-[11px] cursor-pointer hover:bg-background/80 transition-colors",onClick:()=>{navigator.clipboard.writeText(aL),aJ.toast.success("Copied to clipboard")}}),children:aL}),(0,b.jsx)(p.TooltipContent,{children:"Click to copy"})]})]})]})})}let aN=(0,c.createContext)(null);function aO(){return(0,c.useContext)(aN)}function aP({children:a}){let d=(0,az.useIsMobile)(),[e,f]=(0,c.useState)(!1);return d?(0,b.jsx)(aN.Provider,{value:()=>f(!0),children:(0,b.jsx)(l.AgentChatSheetProvider,{children:(0,b.jsxs)("div",{className:"flex flex-col h-dvh overflow-hidden relative",children:[(0,b.jsx)(ay.GradientBackground,{}),(0,b.jsxs)("div",{className:"flex-1 min-h-0 px-2 pb-2 pt-2 flex flex-col",children:[(0,b.jsx)(ax,{}),(0,b.jsx)("main",{className:"flex-1 min-h-0 rounded-xl bg-card/80 backdrop-blur-xl shadow-lg ring-1 ring-border/40 overflow-hidden flex flex-col",children:a})]}),(0,b.jsx)(aA.Sheet,{open:e,onOpenChange:f,children:(0,b.jsx)(aA.SheetContent,{side:"left",showCloseButton:!1,style:{width:56},className:"p-0",children:(0,b.jsx)(aw,{onNavigate:()=>f(!1)})})}),(0,b.jsx)(aM,{})]})})}):(0,b.jsx)(l.AgentChatSheetProvider,{children:(0,b.jsxs)("div",{className:"flex h-dvh overflow-hidden relative",children:[(0,b.jsx)(ay.GradientBackground,{}),(0,b.jsx)(aw,{}),(0,b.jsx)("div",{className:"flex-1 flex flex-col min-w-0 pt-2 pr-2 pb-2",children:(0,b.jsx)("main",{className:"flex-1 min-h-0 rounded-xl bg-card/80 backdrop-blur-xl shadow-lg ring-1 ring-border/40 overflow-hidden flex flex-col",children:a})}),(0,b.jsx)(aM,{})]})})}}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_web_src_components_workspace-shell_tsx_0479plk._.js.map
|
|
@@ -7,9 +7,9 @@ globalThis.__BUILD_MANIFEST = {
|
|
|
7
7
|
"static/chunks/03~yq9q893hmn.js"
|
|
8
8
|
],
|
|
9
9
|
"lowPriorityFiles": [
|
|
10
|
-
"static/
|
|
11
|
-
"static/
|
|
12
|
-
"static/
|
|
10
|
+
"static/SuuOnXXAS0ccoLD99O2QP/_buildManifest.js",
|
|
11
|
+
"static/SuuOnXXAS0ccoLD99O2QP/_ssgManifest.js",
|
|
12
|
+
"static/SuuOnXXAS0ccoLD99O2QP/_clientMiddlewareManifest.js"
|
|
13
13
|
],
|
|
14
14
|
"rootMainFiles": [
|
|
15
15
|
"static/chunks/002w8zenjl89m.js",
|
|
@@ -25,11 +25,11 @@
|
|
|
25
25
|
"wasm": [],
|
|
26
26
|
"assets": [],
|
|
27
27
|
"env": {
|
|
28
|
-
"__NEXT_BUILD_ID": "
|
|
29
|
-
"NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "
|
|
30
|
-
"__NEXT_PREVIEW_MODE_ID": "
|
|
31
|
-
"__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "
|
|
32
|
-
"__NEXT_PREVIEW_MODE_SIGNING_KEY": "
|
|
28
|
+
"__NEXT_BUILD_ID": "SuuOnXXAS0ccoLD99O2QP",
|
|
29
|
+
"NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "d7mu3N0b62RY/k2/LzxptcKg3UyEtqdv2Vz8ZPMOEG8=",
|
|
30
|
+
"__NEXT_PREVIEW_MODE_ID": "d174885ee593a7e214407ef7b4a593ee",
|
|
31
|
+
"__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "14d1a753b7baeebb6cd0ba80d22438df4fe7ac76e53296e732286846e265cab4",
|
|
32
|
+
"__NEXT_PREVIEW_MODE_SIGNING_KEY": "69b5b4ea0b8f98b9873d8dc4357fbf6ec7dcf3f747c1ce6ad2236f4e9c33e99c"
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"
|
|
1
|
+
self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"d7mu3N0b62RY/k2/LzxptcKg3UyEtqdv2Vz8ZPMOEG8=\"\n}"
|