@alook/app 0.0.99 → 0.0.101
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/email-worker/index.js +18 -6
- 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-grycx2tn0o4.js → 0.9oyh86wn1fd.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0.wmvlzzu_8e0.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{0tvembqw.e82g.js → 01yvpio9kzobl.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/04-19vra169mj.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{16_j-kl72ldc4.js → 07ju9-jia-17m.js} +2 -2
- package/bundled/web/.open-next/assets/_next/static/chunks/0ecg50a33jlsr.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0hyshwdxcbwbq.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{0dhez0ocwb1sn.js → 0r775oyts5ozc.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/{07mm2xbk2l5.8.js → 0rt6~o9u6663h.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/{0fuk9p58--.z9.js → 0uayv05d6mntr.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0x2fen2lqx6j3.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/10rvnbe-gw6a7.js +3 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/10ux4o4nkn.sj.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/171xnnpyz4y3d.css +1 -0
- package/bundled/web/.open-next/cache/{GDrv2wl3f0uavEhQh6kAN → P6QBCMByXCOFPEUBvhHF6}/_global-error.cache +1 -1
- package/bundled/web/.open-next/cache/{GDrv2wl3f0uavEhQh6kAN → P6QBCMByXCOFPEUBvhHF6}/_not-found.cache +1 -1
- package/bundled/web/.open-next/cache/{GDrv2wl3f0uavEhQh6kAN → P6QBCMByXCOFPEUBvhHF6}/privacy.cache +1 -1
- package/bundled/web/.open-next/cache/{GDrv2wl3f0uavEhQh6kAN → P6QBCMByXCOFPEUBvhHF6}/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 +5 -5
- 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/react-loadable-manifest.json +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/privacy/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/[root-of-the-server]__11hxiyn._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[turbopack]_runtime.js +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0i4u2y-._.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0iw.~u_._.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0j3ag~p._.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0j_~vur._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0mk4o2l._.js +6 -6
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0ow_nxn._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0s~hhx-._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__0r7fdlr._.js → [root-of-the-server]__05g0phj._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__07of89~._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[turbopack]_runtime.js +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_02.xen~._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0.q_x36._.js → _06a692f._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0_.06ux._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0a8f3fa._.js → _0c-ma68._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0u~xh2v._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0xhx.5_._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0wtsjmd._.js → _0~twhbc._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_12yhe5_._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_13__3im._.js +1 -1
- 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_0~23g-y._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_calendar_page_tsx_01geiyd._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_home_home-page_tsx_0to84tv._.js +1 -37
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_lib_api_ts_0uf2r1p._.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 +55 -91
- package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +123 -123
- package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +3 -3
- package/bundled/web/migrations/0034_agent_skill_daemon_id.sql +9 -0
- package/bundled/web/wrangler.toml +1 -1
- package/bundled/ws-do/index.js +18 -6
- package/dist/cli/index.js +193 -233
- package/dist/cli/session-runner.js +17 -4
- package/dist/index.js +43 -19
- package/package.json +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/01mduafj8.t03.js +0 -37
- package/bundled/web/.open-next/assets/_next/static/chunks/051._099hez6h.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/09m73_4eia.5a.css +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/09tp3dnnhv6a0.js +0 -3
- package/bundled/web/.open-next/assets/_next/static/chunks/0aw17s_pfw2u1.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0slwbsjlzqxt6.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0svwh_nhh5rxk.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/14byu.0wtroj8.js +0 -1
- /package/bundled/web/.open-next/assets/_next/static/{GDrv2wl3f0uavEhQh6kAN → P6QBCMByXCOFPEUBvhHF6}/_buildManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{GDrv2wl3f0uavEhQh6kAN → P6QBCMByXCOFPEUBvhHF6}/_clientMiddlewareManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{GDrv2wl3f0uavEhQh6kAN → P6QBCMByXCOFPEUBvhHF6}/_ssgManifest.js +0 -0
- /package/bundled/web/.open-next/cache/{GDrv2wl3f0uavEhQh6kAN → P6QBCMByXCOFPEUBvhHF6}/robots.txt.cache +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,500324,e=>{"use strict";var t=e.i(368075),n=e.i(298699);let r=(0,n.createContext)(null);e.s(["WorkspaceProvider",0,function({workspaceId:e,slug:a,children:s}){return(0,n.useEffect)(()=>{try{localStorage.setItem("lastWorkspace",a)}catch{}},[a]),(0,t.jsx)(r.Provider,{value:{workspaceId:e,slug:a},children:s})},"useWorkspace",0,function(){let e=(0,n.useContext)(r);if(!e)throw Error("useWorkspace must be used within WorkspaceProvider");return e}])},222862,636557,e=>{"use strict";class t extends Error{status;details;constructor(e,t,n){super(e),this.name="ApiError",this.status=t,this.details=n}get isNetworkError(){return 0===this.status}get isRateLimit(){return 429===this.status}get isUnauthorized(){return 401===this.status}}function n(e,t){return"validation error"===e&&t?.length?function(e){let[t,...n]=e.split(":"),r=n.join(":").trim();if(!r)return e;let a=t.trim(),s=a.trim().replace(/[_-]+/g," ").replace(/\b\w/g,e=>e.toUpperCase()),i=r.replace(/^required$/i,"is required"),o=i.toLowerCase().replace(/[_-]+/g," "),l=a.toLowerCase().replace(/[_-]+/g," ");return l&&o.startsWith(`${l} `)&&(i=i.slice(a.length).trimStart()),s?`${s} ${i}`:i}(t[0]):e}async function r(e,r){let a;try{a=await fetch(""+e,{...r,credentials:"include",headers:{"Content-Type":"application/json",...r?.headers}})}catch(e){if(e instanceof TypeError)throw new t("Unable to connect — check your network",0);throw e}if(401===a.status)throw window.location.href="/sign-in",new t("Unauthorized",401);if(!a.ok){let e,r;try{let t=await a.json();e=t.error,r=t.details}catch{}if(429===a.status)throw new t("Please wait a moment before trying again",429);if(a.status>=500)throw new t(n(e,r)||"Something went wrong — please try again",a.status,r);throw new t(n(e,r)||"Something went wrong",a.status,r)}if(204!==a.status)return a.json()}function a(e,t){let n=new URLSearchParams({workspace_id:e,...t});return`?${n.toString()}`}e.s(["ApiError",0,t],636557);let s=async(e,n,s,i)=>{let o;if(!i||0===i.length)return r(`/api/conversations/${e}/messages${a(s)}`,{method:"POST",body:JSON.stringify({content:n})});let l=new FormData;for(let e of(l.append("content",n),i))l.append("file",e);try{o=await fetch(`/api/conversations/${e}/messages${a(s)}`,{method:"POST",credentials:"include",body:l})}catch(e){if(e instanceof TypeError)throw new t("Unable to connect — check your network",0);throw e}if(401===o.status)throw window.location.href="/sign-in",new t("Unauthorized",401);if(!o.ok){let e,n;try{let t=await o.json();e=t.error,n=t.details}catch{}if(429===o.status)throw new t("Please wait a moment before trying again",429);if(o.status>=500)throw new t(e||"Something went wrong — please try again",o.status,n);throw new t(e||"Something went wrong",o.status,n)}return o.json()},i=async(e,n,s,i)=>{let o;if(!i||0===i.length)return r(`/api/conversations/${e}/buffered-messages${a(s)}`,{method:"POST",body:JSON.stringify({content:n})});let l=new FormData;for(let e of(l.append("content",n),i))l.append("file",e);try{o=await fetch(`/api/conversations/${e}/buffered-messages${a(s)}`,{method:"POST",credentials:"include",body:l})}catch(e){if(e instanceof TypeError)throw new t("Unable to connect — check your network",0);throw e}if(401===o.status)throw window.location.href="/sign-in",new t("Unauthorized",401);if(!o.ok){let e,n;try{let t=await o.json();e=t.error,n=t.details}catch{}if(429===o.status)throw new t(e||"Maximum follow-ups reached",429);if(o.status>=500)throw new t(e||"Something went wrong — please try again",o.status,n);throw new t(e||"Something went wrong",o.status,n)}return o.json()},o=async(e,t)=>{let n=new URLSearchParams({workspace_id:t}),r=await fetch(`/api/email/${e}/body?${n}`,{credentials:"include"});if(!r.ok)return{content:"(body not available)",isHtml:!1};let a=r.headers.get("Content-Type")??"";return{content:await r.text(),isHtml:a.includes("text/html")}},l=async(e,n)=>{let r=new FormData;r.append("file",e);let s=await fetch(`/api/email/upload${a(n)}`,{method:"POST",credentials:"include",body:r});if(!s.ok)throw new t(await s.text().catch(()=>"Upload failed"),s.status);return s.json()},c=async(e,n)=>{let s;if(!n.files||0===n.files.length)return r(`/api/issues${a(e)}`,{method:"POST",body:JSON.stringify({agent_id:n.agent_id,title:n.title,description:n.description})});let i=new FormData;for(let e of(n.agent_id&&i.append("agent_id",n.agent_id),i.append("title",n.title),i.append("description",n.description??""),n.files))i.append("file",e);try{s=await fetch(`/api/issues${a(e)}`,{method:"POST",credentials:"include",body:i})}catch(e){if(e instanceof TypeError)throw new t("Unable to connect — check your network",0);throw e}if(401===s.status)throw window.location.href="/sign-in",new t("Unauthorized",401);if(!s.ok){let e,n;try{let t=await s.json();e=t.error,n=t.details}catch{}if(429===s.status)throw new t("Please wait a moment before trying again",429);if(s.status>=500)throw new t(e||"Something went wrong — please try again",s.status,n);throw new t(e||"Something went wrong",s.status,n)}return s.json()},d=async(e,t)=>{let n=new URLSearchParams({workspace_id:t}),r=await fetch(`/api/artifacts/${e}/content?${n}`,{credentials:"include"});return r.ok?r.text():"(content not available)"};e.s(["acceptInvite",0,e=>r(`/api/invite/${e}`,{method:"POST"}),"addWhitelistEmail",0,(e,t,n)=>r(`/api/agents/${e}/whitelist${a(n)}`,{method:"POST",body:JSON.stringify({email:t})}),"approveMeeting",0,(e,t,n)=>r(`/api/agents/${e}/meetings/${t}/approve${a(n)}`,{method:"POST"}),"cancelActiveTask",0,(e,t)=>r(`/api/conversations/${e}/active-task${a(t)}`,{method:"DELETE"}),"chatInit",0,(e,t,n)=>r(`/api/agents/${e}/chat-init${a(t)}`,{method:"POST",body:JSON.stringify({...n?{channel:n}:{}})}),"checkFreshness",0,(e,t)=>{let n={};return e.conversationId&&(n.conversation_id=e.conversationId),e.agentId&&(n.agent_id=e.agentId),e.channel&&(n.channel=e.channel),r(`/api/conversations/check-fresh${a(t,n)}`)},"conversationInit",0,(e,t,n)=>{let s={};return n?.newestMessageId&&(s.newest_message_id=n.newestMessageId),r(`/api/conversations/${e}/init${a(t,s)}`)},"createAgent",0,(e,t)=>r(`/api/agents${a(t)}`,{method:"POST",body:JSON.stringify(e)}),"createAgentLink",0,(e,t)=>r(`/api/agent-links${a(t)}`,{method:"POST",body:JSON.stringify(e)}),"createBufferedMessage",0,i,"createCalendarEvent",0,(e,t)=>r(`/api/calendar${a(t)}`,{method:"POST",body:JSON.stringify(e)}),"createChannelApi",0,(e,t)=>r(`/api/channels${a(e)}`,{method:"POST",body:JSON.stringify({name:t})}),"createConversation",0,(e,t,n)=>r(`/api/conversations${a(t)}`,{method:"POST",body:JSON.stringify({agent_id:e,...n?{channel:n}:{}})}),"createEmailAccount",0,(e,t,n)=>r(`/api/agents/${e}/email-accounts${a(n)}`,{method:"POST",body:JSON.stringify(t)}),"createInvite",0,e=>r(`/api/workspaces/${e}/invites${a(e)}`,{method:"POST"}),"createIssue",0,c,"createMachineToken",0,(e,t)=>r(`/api/machine-tokens${t?a(t):""}`,{method:"POST",body:JSON.stringify({name:e||"default"})}),"createMeeting",0,(e,t,n)=>r(`/api/agents/${e}/meetings${a(t)}`,{method:"POST",body:JSON.stringify(n)}),"createWorkspace",0,(e,t)=>r("/api/workspaces",{method:"POST",body:JSON.stringify({name:e,slug:t||e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")||"workspace"})}),"deleteAgent",0,(e,t)=>r(`/api/agents/${e}${a(t)}`,{method:"DELETE"}),"deleteAgentLink",0,(e,t)=>r(`/api/agent-links/${e}${a(t)}`,{method:"DELETE"}),"deleteBufferedMessage",0,(e,t,n)=>r(`/api/conversations/${e}/buffered-messages/${t}${a(n)}`,{method:"DELETE"}),"deleteCalendarEvent",0,(e,t,n)=>r(`/api/calendar/${e}${a(t)}`,{method:"DELETE",...n&&n.scope?{headers:{"Content-Type":"application/json"},body:JSON.stringify(n)}:{}}),"deleteChannelApi",0,(e,t)=>r(`/api/channels/${e}${a(t)}`,{method:"DELETE"}),"deleteEmail",0,(e,t)=>r(`/api/email/${e}${a(t)}`,{method:"DELETE"}),"deleteEmailAccount",0,(e,t,n)=>r(`/api/agents/${e}/email-accounts/${t}${a(n)}`,{method:"DELETE"}),"deleteIssue",0,(e,t)=>r(`/api/issues/${t}${a(e)}`,{method:"DELETE"}),"deleteMachine",0,(e,t)=>r(`/api/runtimes/machine${a(t,{daemon_id:e})}`,{method:"DELETE"}),"deleteMeeting",0,(e,t,n)=>r(`/api/agents/${e}/meetings/${t}${a(n)}`,{method:"DELETE"}),"deleteWorkspace",0,(e,t)=>r(`/api/workspaces/${e}${a(e)}`,{method:"DELETE",body:JSON.stringify({confirm_name:t})}),"fetchLatestCliVersion",0,()=>r("/api/cli/latest-version"),"fetchModelOptions",0,()=>r("/api/config/model-options"),"flagMessage",0,(e,t)=>r(`/api/flags${a(e)}`,{method:"POST",body:JSON.stringify({messageId:t})}),"getActiveTask",0,(e,t)=>r(`/api/conversations/${e}/active-task${a(t)}`),"getAgentSkills",0,(e,t)=>r(`/api/agents/${e}/skills${a(t)}`),"getArtifactContent",0,d,"getCalendarEvent",0,(e,t)=>r(`/api/calendar/${e}${a(t)}`),"getEmail",0,(e,t)=>r(`/api/email/${e}${a(t)}`),"getEmailBody",0,o,"getEmailThread",0,(e,t)=>r(`/api/email/${e}/thread${a(t)}`),"getFlaggedCount",0,e=>r(`/api/flags/count${a(e)}`),"getInboxCount",0,(e,t)=>{let n={};return t?.types?.length&&(n.types=t.types.join(",")),r(`/api/inbox/count${a(e,n)}`)},"getInviteInfo",0,e=>r(`/api/invite/${e}`),"getIssue",0,(e,t)=>r(`/api/issues/${t}${a(e)}`),"getMemberMe",0,e=>r(`/api/members/me${a(e)}`),"getMinCliVersion",0,()=>r("/api/config/min-version"),"getTask",0,(e,t)=>r(`/api/tasks/${e}${a(t)}`),"getTaskMessages",0,(e,t,n)=>r(`/api/tasks/${e}/messages${a(t,n?{since:String(n)}:void 0)}`),"getTrace",0,(e,t)=>r(`/api/traces/${e}${a(t)}`),"getWorkspaceOverview",0,e=>r(`/api/workspaces/${e}/overview${a(e)}`),"grantAgentAccess",0,(e,t,n)=>r(`/api/agents/${t}/access${a(e)}`,{method:"POST",body:JSON.stringify({user_id:n})}),"listAgentAccess",0,(e,t)=>r(`/api/agents/${t}/access${a(e)}`),"listAgentActiveTaskCounts",0,e=>r(`/api/agents/active-task-counts${a(e)}`),"listAgentActivity",0,(e,t,n)=>{let s={};return n?.limit&&(s.limit=String(n.limit)),n?.before&&(s.before=n.before),n?.beforeId&&(s.before_id=n.beforeId),n?.status&&(s.status=n.status),n?.type&&(s.type=n.type),r(`/api/agents/${e}/activity${a(t,s)}`)},"listAgentLinks",0,e=>r(`/api/agent-links${a(e)}`),"listAgentPins",0,e=>r(`/api/agents/pins${a(e)}`),"listAgents",0,e=>r(`/api/agents${a(e)}`),"listArtifacts",0,(e,t)=>r(`/api/artifacts${a(t,{conversation_id:e})}`),"listBufferedMessages",0,(e,t)=>r(`/api/conversations/${e}/buffered-messages${a(t)}`),"listCalendarEvents",0,(e,t)=>{let n={};return t?.agentId&&(n.agentId=t.agentId),t?.from&&(n.from=t.from),t?.to&&(n.to=t.to),r(`/api/calendar${a(e,n)}`)},"listChannels",0,e=>r(`/api/channels${a(e)}`),"listEmailAccounts",0,(e,t)=>r(`/api/agents/${e}/email-accounts${a(t)}`),"listEmails",0,(e,t,n,s)=>r(`/api/email${a(t,{agentId:e,...n?{folder:n}:{},...s?{address:s}:{}})}`),"listFlaggedItems",0,(e,t)=>{let n={};return t?.limit&&(n.limit=String(t.limit)),t?.before&&(n.before=t.before),r(`/api/flags${a(e,n)}`)},"listFlaggedMessageIds",0,(e,t)=>r(`/api/flags${a(e,{conversation_id:t,ids_only:"true"})}`),"listInboxItems",0,(e,t)=>{let n={};return t?.limit&&(n.limit=String(t.limit)),t?.before&&(n.before=t.before),t?.types?.length&&(n.types=t.types.join(",")),r(`/api/inbox${a(e,n)}`)},"listInvites",0,e=>r(`/api/workspaces/${e}/invites${a(e)}`),"listIssues",0,(e,t)=>{let n={};return t?.agentId&&(n.agentId=t.agentId),t?.status&&(n.status=t.status),t?.terminal!==void 0&&(n.terminal=String(t.terminal)),r(`/api/issues${a(e,n)}`)},"listMeetings",0,(e,t)=>r(`/api/agents/${e}/meetings${a(t)}`),"listMembers",0,e=>r(`/api/workspaces/${e}/members${a(e)}`),"listMessages",0,(e,t,n)=>{let s={};return n?.limit&&(s.limit=String(n.limit)),n?.before&&(s.before=n.before),n?.beforeId&&(s.before_id=n.beforeId),r(`/api/conversations/${e}/messages${a(t,s)}`)},"listMessagesAroundTask",0,(e,t,n)=>r(`/api/conversations/${e}/messages${a(t,{around_task:n})}`),"listPreviousConversations",0,(e,t,n)=>{let s={exclude:n.exclude,before:n.before};return n.channel&&(s.channel=n.channel),n.limit&&(s.limit=String(n.limit)),r(`/api/agents/${e}/conversations${a(t,s)}`)},"listRuntimes",0,e=>r(`/api/runtimes${a(e)}`),"listTraces",0,(e,t)=>{let n={};return t?.limit&&(n.limit=String(t.limit)),t?.before&&(n.before=t.before),t?.status&&(n.status=t.status),t?.multiAgent&&(n.multiAgent="true"),t?.agentId&&(n.agentId=t.agentId),t?.channel&&(n.channel=t.channel),r(`/api/traces${a(e,n)}`)},"listWhitelist",0,(e,t)=>r(`/api/agents/${e}/whitelist${a(t)}`),"listWorkspaceActiveTasks",0,e=>r(`/api/agents/active-tasks${a(e)}`),"listWorkspaces",0,()=>r("/api/workspaces"),"markAllInboxRead",0,e=>r(`/api/inbox/read-all${a(e)}`,{method:"POST"}),"markInboxRead",0,(e,t)=>r(`/api/inbox/read${a(t)}`,{method:"POST",body:JSON.stringify({conversationId:e})}),"pinAgent",0,(e,t)=>r(`/api/agents/${t}/pin${a(e)}`,{method:"POST"}),"removeMember",0,(e,t)=>r(`/api/workspaces/${e}/members/${t}${a(e)}`,{method:"DELETE"}),"removeWhitelistEmail",0,(e,t,n)=>r(`/api/agents/${e}/whitelist/${t}${a(n)}`,{method:"DELETE"}),"renameChannelApi",0,(e,t,n)=>r(`/api/channels/${e}${a(t)}`,{method:"PATCH",body:JSON.stringify({name:n})}),"reorderAgentPins",0,(e,t)=>r(`/api/agents/pins/reorder${a(e)}`,{method:"PUT",body:JSON.stringify({ordered_agent_ids:t})}),"reorderChannelsApi",0,(e,t)=>r(`/api/channels/reorder${a(e)}`,{method:"PUT",body:JSON.stringify({ordered_channel_ids:t})}),"reorderUnpinnedAgents",0,(e,t)=>r(`/api/agents/sidebar/reorder${a(e)}`,{method:"PUT",body:JSON.stringify({ordered_agent_ids:t})}),"requestWorkspaceBrowse",0,(e,t,n,s)=>r(`/api/agents/${e}/workspace/browse${a(t)}`,{method:"POST",body:JSON.stringify({request_type:n,path:s})}),"retryTask",0,(e,t)=>r(`/api/tasks/${e}/retry${a(t)}`,{method:"POST"}),"revokeAgentAccess",0,(e,t,n,s=!1)=>r(`/api/agents/${t}/access/${n}${a(e)}${s?"&remove_whitelist=true":""}`,{method:"DELETE"}),"revokeInvite",0,(e,t)=>r(`/api/workspaces/${e}/invites/${t}${a(e)}`,{method:"DELETE"}),"sendEmail",0,(e,t,n,s,i,o,l,c)=>r(`/api/email/send${a(i)}`,{method:"POST",body:JSON.stringify({agentId:e,to:t,subject:n,htmlBody:s,attachments:o,...l,customAccountId:c})}),"sendMessage",0,s,"stopMeeting",0,(e,t,n)=>r(`/api/agents/${e}/meetings/${t}/stop${a(n)}`,{method:"POST"}),"syncEmailAccount",0,(e,t,n)=>r(`/api/agents/${e}/email-accounts/${t}/sync${a(n)}`,{method:"POST"}),"triggerRuntimeRescan",0,(e,t)=>r(`/api/runtimes/${e}/rescan${a(t)}`,{method:"POST"}),"triggerRuntimeUpdate",0,(e,t)=>r(`/api/runtimes/${e}/update${a(t)}`,{method:"POST"}),"unflagMessage",0,(e,t)=>r(`/api/flags/${t}${a(e)}`,{method:"DELETE"}),"unpinAgent",0,(e,t)=>r(`/api/agents/${t}/pin${a(e)}`,{method:"DELETE"}),"updateAgent",0,(e,t,n)=>r(`/api/agents/${e}${a(n)}`,{method:"PATCH",body:JSON.stringify(t)}),"updateAgentLink",0,(e,t,n)=>r(`/api/agent-links/${e}${a(n)}`,{method:"PATCH",body:JSON.stringify(t)}),"updateCalendarEvent",0,(e,t,n)=>r(`/api/calendar/${e}${a(n)}`,{method:"PATCH",body:JSON.stringify(t)}),"updateEmailStatus",0,(e,t,n)=>r(`/api/email/${e}${a(t)}`,{method:"PATCH",body:JSON.stringify({status:n})}),"updateIssue",0,(e,t,n)=>r(`/api/issues/${t}${a(e)}`,{method:"PATCH",body:JSON.stringify(n)}),"updateMemberMe",0,(e,t)=>r(`/api/members/me${a(e)}`,{method:"PATCH",body:JSON.stringify({global_instruction:t})}),"updateWorkspace",0,(e,t)=>r(`/api/workspaces/${e}${a(e)}`,{method:"PATCH",body:JSON.stringify(t)}),"uploadEmailAttachment",0,l],222862)},728886,e=>{"use strict";var t=e.i(368075),n=e.i(613349);e.s(["Skeleton",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"skeleton",className:(0,n.cn)("animate-pulse rounded-md bg-muted",e),...r})}])},996718,e=>{"use strict";var t=e.i(298699);e.s(["useIsMobile",0,function(){let[e,n]=t.useState(void 0);return t.useEffect(()=>{let e=window.matchMedia("(max-width: 639px)"),t=()=>{n(window.innerWidth<640)};return e.addEventListener("change",t),n(window.innerWidth<640),()=>e.removeEventListener("change",t)},[]),!!e}])},400175,126366,819748,108772,261819,e=>{"use strict";var t=e.i(368075),n=e.i(298699);let r="#27272a",a={fill:"rgba(255,255,255,0.92)",stroke:"rgba(255,255,255,0.95)",strokeWidth:3.5},s=[{name:"Purple",value:"#a855f7",gradient:["#c084fc","#a855f7","#7c3aed"],faceColor:"#2e1065"},{name:"Teal",value:"#14b8a6",gradient:["#5eead4","#14b8a6","#0d9488"],faceColor:"#134e4a"},{name:"Orange",value:"#f97316",gradient:["#fdba74","#f97316","#c2410c"],faceColor:"#7c2d12"},{name:"Blue",value:"#3b82f6",gradient:["#93c5fd","#3b82f6","#1d4ed8"],faceColor:"#1e3a5f"},{name:"Pink",value:"#f472b6",gradient:["#fda4af","#f472b6","#be185d"],faceColor:"#831843"},{name:"Yellow",value:"#eab308",gradient:["#fde047","#eab308","#a16207"],faceColor:"#713f12"},{name:"Green",value:"#22c55e",gradient:["#86efac","#22c55e","#15803d"],faceColor:"#14532d"},{name:"Beige",value:"#d6ccb8",gradient:["#e8e0d4","#d6ccb8","#b8a990"],faceColor:"#57534e"},{name:"Red",value:"#ef4444",gradient:["#fca5a5","#ef4444","#991b1b"],faceColor:"#7f1d1d"},{name:"Lake Blue",value:"#6366f1",gradient:["#a5b4fc","#6366f1","#3730a3"],faceColor:"#312e81"},{name:"Gray",value:"#9ca3af",gradient:["#d4d4d8","#9ca3af","#6b7280"],faceColor:"#374151"},{name:"Deep Purple",value:"#8b5cf6",gradient:["#c4b5fd","#8b5cf6","#5b21b6"],faceColor:"#3b0764"}],i={circle:{name:"Circle",face:{cx:100,cy:100,w:80},render:()=>(0,t.jsx)("circle",{cx:"100",cy:"100",r:"66",...a})},rounded:{name:"Rounded",face:{cx:100,cy:100,w:90},render:()=>(0,t.jsx)("rect",{x:"30",y:"30",width:"140",height:"140",rx:"32",...a})},hexagon:{name:"Hexagon",face:{cx:100,cy:100,w:86},render:()=>(0,t.jsx)("path",{d:"M100 32 C108 32 114 35 120 39 L155 60 C161 64 165 70 165 78 L165 122 C165 130 161 136 155 140 L120 161 C114 165 108 168 100 168 C92 168 86 165 80 161 L45 140 C39 136 35 130 35 122 L35 78 C35 70 39 64 45 60 L80 39 C86 35 92 32 100 32 Z",...a})},task:{name:"Task",face:{cx:100,cy:100,w:80},render:()=>(0,t.jsx)("rect",{x:"34",y:"34",width:"132",height:"132",rx:"24",...a})},book:{name:"Book",face:{cx:100,cy:100,w:80},render:()=>(0,t.jsx)("path",{d:"M42 162 L42 88 C42 54 68 34 100 34 C132 34 158 54 158 88 L158 162 C158 166 154 170 150 170 L50 170 C46 170 42 166 42 162 Z",...a})},mail:{name:"Mail",face:{cx:100,cy:100,w:86},render:()=>(0,t.jsx)("rect",{x:"28",y:"54",width:"144",height:"92",rx:"46",...a})},calendar:{name:"Calendar",face:{cx:100,cy:100,w:80},render:()=>(0,t.jsx)("path",{d:"M100 34 C138 34 166 52 166 80 C166 94 158 106 158 118 C158 148 138 166 100 166 C62 166 42 148 42 118 C42 106 34 94 34 80 C34 52 62 34 100 34 Z",...a})},bulb:{name:"Bulb",face:{cx:100,cy:104,w:76},render:()=>(0,t.jsx)("ellipse",{cx:"100",cy:"104",rx:"58",ry:"66",...a})},folder:{name:"Folder",face:{cx:102,cy:108,w:80},render:()=>(0,t.jsx)("path",{d:"M62 144 C40 144 32 128 36 116 C32 104 40 90 54 88 C56 72 70 60 88 62 C100 50 118 50 132 58 C144 52 162 60 162 76 C172 82 174 98 166 108 C172 120 164 136 150 140 Z",...a})},mountain:{name:"Mountain",face:{cx:100,cy:100,w:76},render:()=>(0,t.jsx)("path",{d:"M92 36 C120 32 156 48 164 78 C172 108 156 148 124 160 C92 172 48 156 38 124 C28 92 62 40 92 36 Z",...a})}},o=Object.keys(i),l={dot:{name:"Dot",render:(e=r)=>(0,t.jsx)("circle",{cx:"0",cy:"0",r:"4.5",fill:e})},dash:{name:"Dash",render:(e=r)=>(0,t.jsx)("line",{x1:"-10",y1:"0",x2:"10",y2:"0",stroke:e,strokeWidth:"5",strokeLinecap:"round"})},hookL:{name:"Hook",render:(e=r)=>(0,t.jsx)("path",{d:"M-11 0 Q-5.5 7 0 1.5 Q5.5 7 11 0",fill:"none",stroke:e,strokeWidth:"4.5",strokeLinecap:"round",strokeLinejoin:"round"})},smile:{name:"Smile",render:(e=r)=>(0,t.jsx)("path",{d:"M-11 0 Q0 11 11 0",fill:"none",stroke:e,strokeWidth:"5",strokeLinecap:"round"})},caret:{name:"Caret",render:(e=r)=>(0,t.jsxs)("g",{children:[(0,t.jsx)("path",{d:"M-10 0 Q0 8 10 0",fill:"none",stroke:e,strokeWidth:"4.5",strokeLinecap:"round"}),(0,t.jsx)("ellipse",{cx:"3",cy:"6",rx:"4",ry:"4.5",fill:"#f472b6"})]})},arrow:{name:"Arrow",render:(e=r)=>(0,t.jsx)("ellipse",{cx:"0",cy:"0",rx:"6",ry:"7.5",fill:e})},oh:{name:"o",render:(e=r)=>(0,t.jsx)("ellipse",{cx:"0",cy:"0",rx:"7",ry:"7.5",fill:"none",stroke:e,strokeWidth:"4.5"})}},c=Object.keys(l),d=(e,n)=>{let a=n??e,s=(n,s=r)=>(0,t.jsxs)("g",{children:[(0,t.jsx)("g",{transform:`translate(${-n}, 0)`,children:e(s)}),(0,t.jsx)("g",{transform:`translate(${n}, 0)`,children:a(s)})]});return s.displayName="EyePair",s},h={dots:{name:"Dots",render:d(e=>(0,t.jsx)("circle",{cx:"0",cy:"0",r:"7",fill:e}))},big:{name:"Big",render:d(e=>(0,t.jsxs)("g",{children:[(0,t.jsx)("circle",{cx:"0",cy:"0",r:"10",fill:e}),(0,t.jsx)("circle",{cx:"2.5",cy:"-3",r:"3.5",fill:"rgba(255,255,255,0.9)"})]}))},rings:{name:"Rings",render:d(e=>(0,t.jsx)("ellipse",{cx:"0",cy:"0",rx:"8.5",ry:"9.5",fill:"none",stroke:e,strokeWidth:"4.5"}))},arches:{name:"Arches",render:d(e=>(0,t.jsx)("path",{d:"M-10 2 Q0 -9 10 2",fill:"none",stroke:e,strokeWidth:"5",strokeLinecap:"round"}))},lines:{name:"Lines",render:d(e=>(0,t.jsx)("path",{d:"M-10 0 Q0 -6 10 0",fill:"none",stroke:e,strokeWidth:"5",strokeLinecap:"round"}))},happy:{name:"Happy",render:d(e=>(0,t.jsx)("path",{d:"M-10 5 Q0 -11 10 5",fill:"none",stroke:e,strokeWidth:"5",strokeLinecap:"round"}))},sleepy:{name:"Sleepy",render:d(e=>(0,t.jsx)("path",{d:"M-10 -2 Q0 8 10 -2",fill:"none",stroke:e,strokeWidth:"5",strokeLinecap:"round"}))},shy:{name:"Shy",render:d(e=>(0,t.jsx)("ellipse",{cx:"0",cy:"0",rx:"8.5",ry:"9.5",fill:e}))},wink:{name:"Wink",render:(e,n=r)=>(0,t.jsxs)("g",{children:[(0,t.jsx)("g",{transform:`translate(${-e}, 0)`,children:(0,t.jsx)("circle",{cx:"0",cy:"0",r:"7",fill:n})}),(0,t.jsx)("g",{transform:`translate(${e}, 0)`,children:(0,t.jsx)("path",{d:"M-10 2 Q0 -9 10 2",fill:"none",stroke:n,strokeWidth:"5",strokeLinecap:"round"})})]})}},g=Object.keys(h),u={shape:"book",eye:"happy",nose:"dash",bg:1},p=[{name:"Task",config:{shape:"task",nose:"dot",eye:"dots",bg:0}},{name:"Notes",config:{shape:"book",nose:"dash",eye:"happy",bg:1}},{name:"Mail",config:{shape:"mail",nose:"smile",eye:"dots",bg:3}},{name:"Schedule",config:{shape:"calendar",nose:"dot",eye:"dots",bg:4}},{name:"Idea",config:{shape:"bulb",nose:"oh",eye:"rings",bg:5}},{name:"Project",config:{shape:"folder",nose:"dash",eye:"lines",bg:7}},{name:"Goal",config:{shape:"mountain",nose:"caret",eye:"arches",bg:8}},{name:"Dream",config:{shape:"circle",nose:"smile",eye:"shy",bg:11}},{name:"Organize",config:{shape:"rounded",nose:"dot",eye:"sleepy",bg:6}},{name:"Explore",config:{shape:"hexagon",nose:"hookL",eye:"wink",bg:9}},{name:"Focus",config:{shape:"task",nose:"caret",eye:"lines",bg:2}},{name:"Collect",config:{shape:"book",nose:"oh",eye:"rings",bg:10}}];function m(e){return e[Math.floor(Math.random()*e.length)]}function f(){return{shape:m(o),eye:m(g),nose:m(c),bg:Math.floor(Math.random()*s.length)}}function x({config:e,size:r=200,className:a}){let o=(0,n.useId)().replace(/:/g,""),c=i[e.shape]??i.book,d=h[e.eye],g=l[e.nose],u=s[e.bg]??s[0],[p,m,f]=u.gradient,y=u.faceColor,{cx:b,cy:$,w}=c.face,k=Math.max(13,.24*w),v=$-Math.max(12,.16*w);return(0,t.jsxs)("svg",{viewBox:"0 0 200 200",width:r,height:r,className:a,style:{display:"block"},children:[(0,t.jsxs)("defs",{children:[(0,t.jsxs)("linearGradient",{id:`bg-${o}`,x1:"0%",y1:"0%",x2:"100%",y2:"100%",children:[(0,t.jsx)("stop",{offset:"0%",stopColor:p}),(0,t.jsx)("stop",{offset:"50%",stopColor:m}),(0,t.jsx)("stop",{offset:"100%",stopColor:f})]}),(0,t.jsxs)("radialGradient",{id:`gl-${o}`,cx:"30%",cy:"25%",r:"60%",children:[(0,t.jsx)("stop",{offset:"0%",stopColor:"rgba(255,255,255,0.32)"}),(0,t.jsx)("stop",{offset:"100%",stopColor:"rgba(255,255,255,0)"})]}),(0,t.jsx)("filter",{id:`sh-${o}`,x:"-10%",y:"-5%",width:"120%",height:"130%",children:(0,t.jsx)("feDropShadow",{dx:"0",dy:"3",stdDeviation:"4",floodColor:"rgba(0,0,0,0.18)"})})]}),(0,t.jsx)("rect",{x:"0",y:"0",width:"200",height:"200",rx:"56",fill:`url(#bg-${o})`}),(0,t.jsx)("rect",{x:"0",y:"0",width:"200",height:"200",rx:"56",fill:`url(#gl-${o})`}),(0,t.jsxs)("g",{transform:"translate(100,100) scale(0.8) translate(-100,-100)",children:[(0,t.jsx)("g",{"data-avatar-shape":"",filter:`url(#sh-${o})`,children:c.render()}),d&&(0,t.jsx)("g",{transform:`translate(${b}, ${v})`,children:(0,t.jsx)("g",{"data-avatar-eyes":"",children:d.render(k,y)})}),g&&(0,t.jsx)("g",{transform:`translate(${b}, ${$+7})`,children:(0,t.jsx)("g",{"data-avatar-nose":"",children:g.render(y)})})]})]})}let y="avatar:";function b(e){if(!e||!e.startsWith(y))return null;try{let t=JSON.parse(e.slice(y.length));if("object"==typeof t&&null!==t&&"string"==typeof t.shape&&"string"==typeof t.eye&&"string"==typeof t.nose&&"number"==typeof t.bg)return t;if("object"==typeof t&&null!==t&&"outline"in t)return u;return null}catch{return null}}e.s(["AvatarRenderer",0,x,"BG_COLORS",0,s,"DEFAULT_CONFIG",0,u,"EYE_KEYS",0,g,"Eyes",0,h,"NOSE_KEYS",0,c,"Noses",0,l,"PRESETS",0,p,"SHAPE_KEYS",0,o,"Shapes",0,i,"parseAvatarUrl",0,b,"randomConfig",0,f,"serializeAvatarConfig",0,function(e){return y+JSON.stringify(e)}],126366);let $=["avatar-anim-shape-bounce","avatar-anim-head-tilt","avatar-anim-shake","avatar-anim-wobble","avatar-anim-pulse","avatar-anim-spin","avatar-anim-jelly","avatar-anim-float","avatar-anim-nod"];e.s(["AnimatedAvatar",0,function({config:e,size:r,className:a,isHovered:s,isWorking:i}){let[o,l]=(0,n.useState)(null),c=(0,n.useRef)(-1);function d(){let e=Math.floor(Math.random()*$.length);return e===c.current&&(e=(e+1)%$.length),c.current=e,$[e]}return(0,n.useEffect)(()=>{s?l(d()):i||l(null)},[s,i]),(0,n.useEffect)(()=>{if(!i){s||l(null);return}l(d());let e=setInterval(()=>{l(d())},4e3);return()=>clearInterval(e)},[s,i]),(0,t.jsx)("div",{className:o??void 0,children:(0,t.jsx)(x,{config:e,size:r,className:a})})}],819748);var w=e.i(613349),k=e.i(329686);function v({label:e,keys:n,value:r,onChange:a,renderThumb:s,mobile:i=!1}){let o=n.indexOf(r),l=e=>a(n[(o+e+n.length)%n.length]),c=n[(o-1+n.length)%n.length],d=n[(o+1)%n.length];return(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"w-12 text-xs font-medium text-muted-foreground shrink-0",children:e}),(0,t.jsx)("button",{type:"button",onClick:()=>l(-1),className:(0,w.cn)("flex items-center justify-center rounded-md hover:bg-accent transition-colors",i?"size-10":"size-7"),children:(0,t.jsx)("svg",{viewBox:"0 0 24 24",width:"16",height:"16",children:(0,t.jsx)("path",{d:"M15 5 L8 12 L15 19",fill:"none",stroke:"currentColor",strokeWidth:"2.4",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,t.jsxs)("div",{className:"flex items-center gap-1 flex-1 justify-center",children:[(0,t.jsx)("button",{type:"button",onClick:()=>l(-1),className:"opacity-30 hover:opacity-60 transition-opacity",tabIndex:-1,children:s(c)}),(0,t.jsx)("button",{type:"button",onClick:()=>l(1),className:"border-2 border-primary rounded-lg p-0.5",children:s(r)}),(0,t.jsx)("button",{type:"button",onClick:()=>l(1),className:"opacity-30 hover:opacity-60 transition-opacity",tabIndex:-1,children:s(d)})]}),(0,t.jsx)("button",{type:"button",onClick:()=>l(1),className:(0,w.cn)("flex items-center justify-center rounded-md hover:bg-accent transition-colors",i?"size-10":"size-7"),children:(0,t.jsx)("svg",{viewBox:"0 0 24 24",width:"16",height:"16",children:(0,t.jsx)("path",{d:"M9 5 L16 12 L9 19",fill:"none",stroke:"currentColor",strokeWidth:"2.4",strokeLinecap:"round",strokeLinejoin:"round"})})})]})}function j({config:e,onChange:r,layout:a="vertical",mobile:d=!1}){let[u,m]=(0,n.useState)("presets"),y=(0,n.useCallback)((t,n)=>{r({...e,[t]:n})},[e,r]),[b,$]=(0,n.useState)(!1),C=(0,n.useRef)(e);(0,n.useEffect)(()=>{if(C.current.shape!==e.shape||C.current.eye!==e.eye||C.current.nose!==e.nose||C.current.bg!==e.bg){$(!0);let t=setTimeout(()=>$(!1),450);return C.current=e,()=>clearTimeout(t)}},[e]),(0,n.useEffect)(()=>{if("horizontal"!==a)return;let e=e=>{"Space"===e.code&&e.target===document.body&&(e.preventDefault(),r(f()))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[a,r]);let S="horizontal"===a,E=S?220:d?120:160,T=(0,t.jsxs)("div",{className:(0,w.cn)("flex flex-col items-center gap-3 rounded-2xl bg-muted/30",d?"p-3":"p-4",S?"w-70 shrink-0 justify-center":""),children:[(0,t.jsx)("div",{className:(0,w.cn)("rounded-2xl",b&&"animate-[shake_0.45s_cubic-bezier(.36,.07,.19,.97)]"),children:(0,t.jsx)(x,{config:e,size:E})}),(0,t.jsxs)("button",{type:"button",onClick:()=>r(f()),className:"inline-flex items-center gap-2 rounded-full bg-foreground px-4 py-1.5 text-sm font-medium text-background hover:bg-foreground/80 transition-colors",children:[(0,t.jsxs)("svg",{viewBox:"0 0 24 24",width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("rect",{x:"2",y:"2",width:"20",height:"20",rx:"3"}),(0,t.jsx)("circle",{cx:"8",cy:"8",r:"1.5",fill:"currentColor"}),(0,t.jsx)("circle",{cx:"16",cy:"8",r:"1.5",fill:"currentColor"}),(0,t.jsx)("circle",{cx:"8",cy:"16",r:"1.5",fill:"currentColor"}),(0,t.jsx)("circle",{cx:"16",cy:"16",r:"1.5",fill:"currentColor"}),(0,t.jsx)("circle",{cx:"12",cy:"12",r:"1.5",fill:"currentColor"})]}),"Random",S&&(0,t.jsx)("kbd",{className:"ml-1 rounded bg-background/20 px-1.5 py-0.5 text-[10px] font-mono",children:"Space"})]})]}),O=(0,t.jsxs)("div",{className:(0,w.cn)("flex flex-col gap-3 flex-1 min-w-0",S&&"rounded-2xl bg-muted/30 p-4 h-95"),children:[(0,t.jsxs)("div",{className:"flex border-b border-border",children:[(0,t.jsx)("button",{type:"button",onClick:()=>m("presets"),className:(0,w.cn)("flex-1 pb-2 text-sm font-medium text-center transition-colors border-b-2","presets"===u?"border-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"),children:"★ Presets"}),(0,t.jsx)("button",{type:"button",onClick:()=>m("custom"),className:(0,w.cn)("flex-1 pb-2 text-sm font-medium text-center transition-colors border-b-2","custom"===u?"border-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"),children:"⚙ Custom"})]}),(0,t.jsxs)("div",{className:(0,w.cn)("flex-1 min-h-0",S&&"overflow-y-auto thin-scrollbar"),children:["presets"===u&&(0,t.jsx)("div",{className:(0,w.cn)("grid gap-2",d?"grid-cols-3":"grid-cols-4"),children:p.map(n=>{let a=n.config.shape===e.shape&&n.config.eye===e.eye&&n.config.nose===e.nose&&n.config.bg===e.bg;return(0,t.jsx)("button",{type:"button",onClick:()=>r(n.config),className:(0,w.cn)("flex items-center justify-center rounded-xl border p-2 transition-all",a?"border-primary border-2 bg-primary/5 shadow-sm":"border-border bg-background hover:border-primary/40"),children:(0,t.jsx)(x,{config:n.config,size:56})},n.name)})}),"custom"===u&&(0,t.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,t.jsx)(v,{label:"Shape",keys:o,value:e.shape,onChange:e=>y("shape",e),renderThumb:e=>(0,t.jsxs)("svg",{viewBox:"0 0 200 200",width:"40",height:"40",children:[(0,t.jsx)("rect",{width:"200",height:"200",rx:"56",fill:"hsl(var(--muted))"}),(0,t.jsx)("g",{transform:"translate(100,100) scale(0.8) translate(-100,-100)",children:i[e]?.render()})]}),mobile:d}),(0,t.jsx)(v,{label:"Nose",keys:c,value:e.nose,onChange:e=>y("nose",e),renderThumb:e=>(0,t.jsx)("svg",{viewBox:"-14 -10 28 20",width:"36",height:"24",children:l[e]?.render("currentColor")}),mobile:d}),(0,t.jsx)(v,{label:"Eyes",keys:g,value:e.eye,onChange:e=>y("eye",e),renderThumb:e=>(0,t.jsx)("svg",{viewBox:"-18 -10 36 20",width:"44",height:"24",children:h[e]?.render(8,"currentColor")}),mobile:d}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"mb-2 text-xs font-medium text-muted-foreground",children:"Color"}),(0,t.jsx)("div",{className:(0,w.cn)("flex flex-wrap p-1",d?"gap-3":"gap-2"),children:s.map((n,r)=>(0,t.jsxs)(k.Tooltip,{children:[(0,t.jsx)(k.TooltipTrigger,{render:(0,t.jsx)("button",{type:"button",onClick:()=>y("bg",r),className:(0,w.cn)("rounded-full transition-shadow",d?"size-8":"size-7",e.bg===r?"ring-2 ring-primary ring-offset-2":"ring-1 ring-border"),style:{background:`linear-gradient(135deg, ${n.gradient[0]}, ${n.gradient[1]}, ${n.gradient[2]})`}})}),(0,t.jsx)(k.TooltipContent,{children:n.name})]},n.value))})]})]})]})]});return S?(0,t.jsxs)("div",{className:"flex gap-4",children:[T,O]}):(0,t.jsxs)("div",{className:"flex flex-col gap-4",children:[T,O]})}var C=e.i(779646),S=e.i(996718);e.s(["AvatarPickerDialog",0,function({config:e,onChange:r}){let[a,s]=(0,n.useState)(!1),[i,o]=(0,n.useState)(e),l=(0,S.useIsMobile)();return(0,t.jsxs)(C.Dialog,{open:a,onOpenChange:t=>{t&&o(e),s(t)},children:[(0,t.jsx)("div",{className:"flex justify-center",children:(0,t.jsx)(C.DialogTrigger,{render:(0,t.jsx)("button",{type:"button",className:"rounded-2xl bg-background p-1.5 shadow-sm border border-border hover:border-primary/40 transition-colors cursor-pointer"}),children:(0,t.jsx)(x,{config:e,size:80})})}),(0,t.jsxs)(C.DialogContent,{className:l?"top-auto left-0 translate-x-0 translate-y-0 bottom-0 max-w-full sm:max-w-full w-full rounded-b-none rounded-t-xl max-h-[85dvh] overflow-y-auto pb-[env(safe-area-inset-bottom)]":"sm:max-w-180",children:[(0,t.jsx)(C.DialogHeader,{children:(0,t.jsx)(C.DialogTitle,{children:"Choose Avatar"})}),(0,t.jsx)(j,{config:i,layout:l?"vertical":"horizontal",onChange:e=>{o(e),r(e)},mobile:l}),l&&(0,t.jsx)("button",{type:"button",onClick:()=>s(!1),className:"w-full rounded-xl bg-primary py-3 text-sm font-medium text-primary-foreground hover:bg-primary/90 transition-colors",children:"Done"})]})]})}],108772),e.s(["AgentAvatar",0,function({name:e,avatarUrl:n,size:r=32}){let a=b(n);return a?(0,t.jsx)(x,{config:a,size:r,className:"rounded-full shrink-0"}):(0,t.jsx)("span",{className:"flex items-center justify-center rounded-full bg-secondary text-xs font-medium shrink-0",style:{width:r,height:r},children:(e??"?").charAt(0).toUpperCase()})}],261819),e.s([],400175)}]);
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,74348,e=>{"use strict";var t=e.i(368075),s=e.i(298699),a=e.i(222862),r=e.i(500324);let n=(0,s.createContext)(null);e.s(["FlagCountProvider",0,function({children:e}){let{workspaceId:l}=(0,r.useWorkspace)(),[i,o]=(0,s.useState)(0),c=(0,s.useCallback)(()=>{(0,a.getFlaggedCount)(l).then(e=>o(e.count)).catch(()=>{})},[l]),d=(0,s.useCallback)(()=>{o(e=>e+1)},[]),u=(0,s.useCallback)(()=>{o(e=>Math.max(0,e-1))},[]);return(0,s.useEffect)(()=>{c()},[c]),(0,t.jsx)(n.Provider,{value:{count:i,refresh:c,increment:d,decrement:u},children:e})},"useFlagCount",0,function(){let e=(0,s.useContext)(n);if(!e)throw Error("useFlagCount must be used within FlagCountProvider");return e}])},49879,618615,844010,e=>{"use strict";e.s(["AgentChatView",()=>e_,"getEventIconType",()=>ej],49879);var t=e.i(368075),s=e.i(298699),a=e.i(550008),r=e.i(208020),n=e.i(500324),l=e.i(186339),i=e.i(875061),o=e.i(613349),c=e.i(541544),d=e.i(64873),u=e.i(309493),m=e.i(108281),h=e.i(140483),p=e.i(371522);e.i(112946);var f=e.i(164300);function g(e){return e.replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase())}let x=new Set(["status","log"]);function v({item:e,isRunning:a,isLast:r}){let n=(0,s.useMemo)(()=>{if(!e.input)return null;try{return JSON.stringify(e.input,null,2)}catch{return String(e.input)}},[e.input]);return n?(0,t.jsxs)("details",{className:"group/tool",children:[(0,t.jsxs)("summary",{className:(0,o.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md cursor-pointer select-none","text-sm text-muted-foreground transition-colors duration-150","hover:bg-muted/60 hover:text-foreground","[&::-webkit-details-marker]:hidden [&::marker]:hidden"),children:[(0,t.jsx)(d.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/tool:rotate-90"}),(0,t.jsx)("span",{className:"font-medium text-foreground/80",children:g(e.tool)}),a&&r&&(0,t.jsx)("span",{className:"ml-auto size-1.5 rounded-full bg-primary/60 animate-pulse"}),a&&!r&&(0,t.jsx)(c.Check,{className:"ml-auto size-3 text-emerald-500"})]}),(0,t.jsx)("div",{className:"mt-1 mb-2 ml-5",children:(0,t.jsx)("pre",{className:"task-stream-pre overflow-x-auto rounded-md bg-muted/40 p-2.5 font-mono text-xs leading-relaxed text-muted-foreground max-h-48 max-w-full min-w-0 overflow-y-auto",children:n})})]}):(0,t.jsxs)("div",{className:(0,o.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md","text-sm text-muted-foreground"),children:[(0,t.jsx)("span",{className:"font-medium text-foreground/80",children:g(e.tool)}),a&&r&&(0,t.jsx)("span",{className:"ml-auto size-1.5 rounded-full bg-primary/60 animate-pulse"}),a&&!r&&(0,t.jsx)(c.Check,{className:"ml-auto size-3 text-emerald-500"})]})}function k({item:e}){return e.content?(0,t.jsxs)("details",{className:"group/think",children:[(0,t.jsxs)("summary",{className:(0,o.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md cursor-pointer select-none","text-sm text-muted-foreground/60 italic transition-colors duration-150","hover:bg-muted/60 hover:text-muted-foreground","[&::-webkit-details-marker]:hidden [&::marker]:hidden"),children:[(0,t.jsx)(d.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/40 transition-transform duration-150 group-open/think:rotate-90"}),(0,t.jsx)(u.Brain,{className:"size-3 shrink-0"}),(0,t.jsx)("span",{children:"Thinking..."})]}),(0,t.jsx)("div",{className:"mt-1 mb-2 ml-5",children:(0,t.jsx)("p",{className:"text-sm italic text-muted-foreground/60 whitespace-pre-wrap",children:e.content})})]}):(0,t.jsxs)("div",{className:(0,o.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md","text-sm text-muted-foreground/60 italic"),children:[(0,t.jsx)(u.Brain,{className:"size-3 shrink-0"}),(0,t.jsx)("span",{children:"Thinking..."})]})}function y({value:e}){let a=(0,s.useRef)(e),[r,n]=(0,s.useState)({current:e,previous:null}),[l,i]=(0,s.useState)("idle");return(0,s.useEffect)(()=>{if(e===a.current)return;let t=a.current;a.current=e,n({current:e,previous:t}),requestAnimationFrame(()=>{requestAnimationFrame(()=>{i("animating")})});let s=setTimeout(()=>{i("idle"),n(e=>({...e,previous:null}))},300);return()=>clearTimeout(s)},[e]),(0,t.jsxs)("span",{style:{display:"inline-block",position:"relative",overflow:"hidden",height:"1.2em",lineHeight:"1.2em",verticalAlign:"bottom"},children:[null!==r.previous&&(0,t.jsx)("span",{style:{display:"block",position:"absolute",inset:"0",transition:"animating"===l?"transform 250ms ease-out, opacity 250ms ease-out":"none",transform:"animating"===l?"translateY(-100%)":"translateY(0)",opacity:+("animating"!==l)},children:r.previous}),(0,t.jsx)("span",{style:{display:"block",transition:"animating"===l?"transform 250ms ease-out, opacity 250ms ease-out":"none",transform:null!==r.previous&&"animating"!==l?"translateY(100%)":"translateY(0)",opacity:+(null===r.previous||"animating"===l)},children:r.current})]})}function j({task:e,messages:a,connectionLost:r,onRetry:n,stepCountHint:l,onExpandSteps:c,stepsLoading:u}){let[g,b]=(0,s.useState)(!1),w=(0,s.useMemo)(()=>(function(e){let t=[],s=new Map;for(let a of e){if(x.has(a.type))continue;let e=a.id||`seq-${a.seq}`;switch(a.type){case"tool-use":{let r=a.call_id,n={kind:"tool-call",id:e,tool:a.tool,input:a.input};r&&s.set(r,n),t.push(n);break}case"tool-result":break;case"text":t.push({kind:"text",id:e,content:a.content});break;case"thinking":t.push({kind:"thinking",id:e,content:a.content});break;case"error":t.push({kind:"status",id:e,content:a.content||a.output,type:"error"})}}return t})(a),[a]),N="completed"!==e.status&&"failed"!==e.status&&"cancelled"!==e.status&&"superseded"!==e.status,S=w.filter(e=>"text"!==e.kind),C=w.filter(e=>"text"===e.kind),_=C.length>0?C[C.length-1]:null,T=(0,s.useRef)(null),M=(0,s.useRef)(null),I=(0,s.useRef)(!1);(0,s.useEffect)(()=>{N&&T.current&&(T.current.scrollTop=T.current.scrollHeight)},[S.length,N]),(0,s.useEffect)(()=>{N&&M.current&&(M.current.scrollTop=M.current.scrollHeight)},[C.length,N]);let A=N?C:C.slice(0,-1),z=!N&&null!==_,E=S.length>0?S.length:l??0,R=S.length>0||l&&l>0;return(0,t.jsxs)("div",{className:"space-y-3 min-w-0 max-w-full",children:[(0,t.jsx)("div",{className:"flex items-center gap-2",children:"running"===e.status?(0,t.jsxs)(i.Badge,{variant:"secondary",className:"gap-1.5 relative overflow-hidden",children:[(0,t.jsx)("span",{className:"size-1.5 rounded-full bg-primary animate-pulse"}),"Working",(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 -translate-x-full animate-[shimmer_2s_ease-in-out_infinite]",style:{background:"linear-gradient(90deg, transparent 0%, var(--shimmer) 40%, var(--shimmer-peak) 50%, var(--shimmer) 60%, transparent 100%)"}})]}):N?(0,t.jsxs)(i.Badge,{variant:"secondary",className:"relative overflow-hidden",children:[e.status,(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 -translate-x-full animate-[shimmer_2s_ease-in-out_infinite]",style:{background:"linear-gradient(90deg, transparent 0%, var(--shimmer) 40%, var(--shimmer-peak) 50%, var(--shimmer) 60%, transparent 100%)"}})]}):(0,t.jsx)(i.Badge,{variant:"secondary",children:e.status})}),R&&(0,t.jsxs)("details",{className:"group/stream pl-1",onToggle:e=>{e.currentTarget.open&&!I.current&&c&&(I.current=!0,c())},children:[(0,t.jsxs)("summary",{className:(0,o.cn)("flex items-center gap-1.5 py-1 cursor-pointer select-none","text-xs text-muted-foreground transition-colors duration-150","hover:text-foreground","[&::-webkit-details-marker]:hidden [&::marker]:hidden"),children:[(0,t.jsx)(d.ChevronRight,{className:(0,o.cn)("size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/stream:rotate-90",N&&"animate-pulse text-primary")}),(0,t.jsxs)("span",{children:[(0,t.jsx)(y,{value:E})," ",1===E?"step":"steps"]})]}),(0,t.jsxs)("div",{ref:T,className:"mt-1 max-h-80 overflow-y-auto overflow-x-hidden thin-scrollbar space-y-0.5 pl-1",children:[u&&0===S.length&&(0,t.jsxs)("div",{className:"flex items-center gap-2 py-2 text-xs text-muted-foreground",children:[(0,t.jsx)(p.Loader2,{className:"size-3 animate-spin"}),(0,t.jsx)("span",{children:"Loading steps..."})]}),S.map((e,s)=>{switch(e.kind){case"tool-call":return(0,t.jsx)(v,{item:e,isRunning:N,isLast:s===S.length-1},e.id);case"thinking":return(0,t.jsx)(k,{item:e},e.id);case"status":return(0,t.jsxs)("p",{className:"text-xs text-muted-foreground px-1 wrap-anywhere",children:["error"===e.type&&(0,t.jsx)(m.AlertCircle,{className:"inline size-3 mr-1 -mt-0.5 text-destructive"}),e.content]},e.id);default:return null}})]})]}),A.length>0&&(0,t.jsxs)("details",{className:"group/midtext pl-1",open:!z||void 0,children:[(0,t.jsxs)("summary",{className:(0,o.cn)("flex items-center gap-1.5 py-1 cursor-pointer select-none","text-xs text-muted-foreground transition-colors duration-150","hover:text-foreground","[&::-webkit-details-marker]:hidden [&::marker]:hidden"),children:[(0,t.jsx)(d.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/midtext:rotate-90"}),(0,t.jsxs)("span",{children:[(0,t.jsx)(y,{value:A.length})," thinking"]})]}),(0,t.jsx)("div",{ref:M,className:"mt-1 space-y-2 pl-1",children:A.map(e=>(0,t.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-0.5 text-sm text-muted-foreground",children:(0,t.jsx)(f.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},children:e.content})},e.id))})]}),z&&!c&&(0,t.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-1 text-base text-foreground",children:(0,t.jsx)(f.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},children:_.content})}),"failed"===e.status&&e.error&&(0,t.jsxs)("div",{className:"flex items-start gap-2 mt-2 max-w-full overflow-hidden",children:[(0,t.jsxs)("p",{className:"text-sm text-destructive flex items-start gap-1.5 min-w-0",children:[(0,t.jsx)(m.AlertCircle,{className:"size-3.5 shrink-0 mt-0.5"}),(0,t.jsx)("span",{className:"wrap-anywhere",children:e.error})]}),n&&(0,t.jsxs)("button",{type:"button",onClick:async()=>{b(!0);try{await n()}finally{b(!1)}},disabled:g,className:"shrink-0 text-xs text-muted-foreground hover:text-foreground transition-colors cursor-pointer disabled:opacity-50 flex items-center gap-1",children:[g?(0,t.jsx)(p.Loader2,{className:"size-3 animate-spin"}):(0,t.jsx)(h.RotateCw,{className:"size-3"}),"Retry"]})]}),r&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground animate-pulse mt-1",children:"Connection lost — retrying..."})]})}var b=e.i(222862),w=e.i(275351),N=e.i(355578),S=e.i(875494),C=e.i(74348),_=e.i(872937),T=e.i(880932),M=e.i(728886),I=e.i(329686),A=e.i(36303),z=e.i(406963);let E=(0,z.default)("bed-double",[["path",{d:"M2 20v-8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8",key:"1k78r4"}],["path",{d:"M4 10V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4",key:"fb3tl2"}],["path",{d:"M12 4v6",key:"1dcgq2"}],["path",{d:"M2 18h20",key:"ajqnye"}]]),R=(0,z.default)("box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);var F=e.i(872057),$=e.i(6131);let D=(0,z.default)("message-square-quote",[["path",{d:"M14 14a2 2 0 0 0 2-2V8h-2",key:"1r06pg"}],["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M8 14a2 2 0 0 0 2-2V8H8",key:"1jzu5j"}]]);var q=e.i(554468),L=e.i(745925),P=e.i(937091);function B({agent:e,isSelected:s,onSelect:a}){return(0,t.jsxs)("button",{type:"button","data-mention-item":!0,className:(0,o.cn)("flex w-full items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors",s?"bg-accent text-accent-foreground":"hover:bg-accent/50"),onMouseDown:t=>{t.preventDefault(),a(e)},children:[(0,t.jsx)("span",{className:"truncate font-medium",children:e.name}),e.email_handle&&(0,t.jsxs)("span",{className:"truncate text-xs text-muted-foreground",children:[e.email_handle,"@alook.ai"]})]})}function W({isOpen:e,relatedAgents:a,otherAgents:r,selectedIndex:n,onSelect:l,anchorPos:i}){let o=(0,s.useRef)(null);(0,s.useEffect)(()=>{if(!o.current)return;let e=o.current.querySelectorAll("[data-mention-item]")[n];e?.scrollIntoView({block:"nearest"})},[n]);let c=a.length+r.length;if(!e||0===c)return null;let d=a.length>0&&r.length>0;return(0,t.jsx)("div",{className:"absolute z-50 w-64 rounded-lg border border-border bg-popover text-popover-foreground shadow-md transition-opacity duration-150",style:{top:i.top-4,left:i.left,transform:"translateY(-100%)"},children:(0,t.jsxs)("div",{ref:o,className:"max-h-50 overflow-y-auto py-1 thin-scrollbar",children:[a.map((e,s)=>(0,t.jsx)(B,{agent:e,isSelected:s===n,onSelect:l},e.id)),d&&(0,t.jsx)("div",{className:"mx-3 my-1 border-t border-border"}),r.map((e,s)=>(0,t.jsx)(B,{agent:e,isSelected:a.length+s===n,onSelect:l},e.id))]})})}function H({skill:e,isSelected:s,onSelect:a}){return(0,t.jsxs)("button",{type:"button","data-slash-item":!0,className:(0,o.cn)("flex w-full flex-col gap-0.5 px-3 py-1.5 text-left text-sm transition-colors",s?"bg-accent text-accent-foreground":"hover:bg-accent/50"),onMouseDown:t=>{t.preventDefault(),a(e)},children:[(0,t.jsxs)("span",{className:"flex w-full items-center gap-2",children:[(0,t.jsxs)("span",{className:"min-w-0 flex-1 truncate font-medium",children:["/",e.name]}),e.isGlobal&&(0,t.jsx)("span",{className:"shrink-0 rounded px-1 py-0.5 text-[10px] font-medium bg-muted text-muted-foreground",children:"Global"})]}),e.description&&(0,t.jsx)("span",{className:"truncate text-xs text-muted-foreground",children:e.description.slice(0,80)})]})}function O({isOpen:e,skills:a,selectedIndex:r,onSelect:n,anchorPos:l}){let i=(0,s.useRef)(null);return((0,s.useEffect)(()=>{if(!i.current)return;let e=i.current.querySelectorAll("[data-slash-item]")[r];e?.scrollIntoView({block:"nearest"})},[r]),e&&0!==a.length)?(0,t.jsx)("div",{className:"absolute z-50 w-70 rounded-lg border border-border bg-popover text-popover-foreground shadow-md transition-opacity duration-150",style:{top:l.top-4,left:l.left,transform:"translateY(-100%)"},children:(0,t.jsx)("div",{ref:i,className:"max-h-60 overflow-y-auto py-1 thin-scrollbar",children:a.map((e,s)=>(0,t.jsx)(H,{skill:e,isSelected:s===r,onSelect:n},e.name))})}):null}function V(e,t){if(t>=e.length)return!0;let s=e.charCodeAt(t);return(!(s>=48)||!(s<=57))&&(!(s>=65)||!(s<=90))&&(!(s>=97)||!(s<=122))&&95!==s}function U(e,t){if(!e||0===t.length||!e.includes("@"))return e;let s=t.slice().sort((e,t)=>t.name.length-e.name.length),a=[];for(let t=0;t<e.length;t++){if("@"!==e[t]||!function(e,t){if(0===t)return!0;let s=e.charCodeAt(t-1);return(!(s>=48)||!(s<=57))&&(!(s>=65)||!(s<=90))&&(!(s>=97)||!(s<=122))&&95!==s}(e,t))continue;let r=t+1;for(let n of s){let s=r+n.name.length;if(s>e.length||e.slice(r,s).toLowerCase()!==n.name.toLowerCase())continue;let l=s,i=e.slice(s).match(/^ \([a-zA-Z0-9-]+@alook\.ai\)/);if(i&&(l=s+i[0].length),(i||V(e,s))&&(!i||V(e,l))){if(a.some(e=>t>=e.start&&t<e.end))break;a.push({start:t,end:s,name:n.name,agentId:n.id});break}}}let r=e;for(let e=a.length-1;e>=0;e--){let t=a[e],s=r.slice(t.start,t.end);r=r.slice(0,t.start)+`<mention data-agent-id="${t.agentId}">${s}</mention>`+r.slice(t.end)}return r}var K=e.i(721387),Y=e.i(332680),X=e.i(535991),J=e.i(940931);function G({open:e,onOpenChange:a,emailId:r,workspaceId:n}){let[i,o]=(0,s.useState)(null),[c,d]=(0,s.useState)(null),[u,m]=(0,s.useState)(!1),[h,f]=(0,s.useState)(500),g=(0,s.useRef)(!1),x=(0,s.useRef)(a);(0,s.useEffect)(()=>{x.current=a}),(0,s.useEffect)(()=>{e&&r&&(m(!0),o(null),d(null),Promise.all([(0,b.getEmail)(r,n),(0,b.getEmailBody)(r,n)]).then(([e,t])=>{o(e),d(t)}).catch(()=>{T.toast.error("Email not found"),x.current(!1)}).finally(()=>m(!1)))},[e,r,n]);let v=e=>{a(e),e||setTimeout(()=>{o(null),d(null)},300)},k=(0,s.useCallback)(e=>{e.preventDefault(),g.current=!0,e.target.setPointerCapture(e.pointerId)},[]),y=(0,s.useCallback)(e=>{g.current&&f(Math.min(.8*window.innerWidth,Math.max(320,window.innerWidth-e.clientX)))},[]),j=(0,s.useCallback)(()=>{g.current=!1},[]);return(0,t.jsx)(Y.Sheet,{open:e,onOpenChange:v,children:(0,t.jsxs)(Y.SheetContent,{side:"right",showCloseButton:!1,style:{width:`min(${h}px, 100vw)`,maxWidth:"none"},className:"data-[side=right]:sm:inset-y-2 data-[side=right]:sm:right-2 data-[side=right]:sm:h-auto data-[side=right]:sm:rounded-xl data-[side=right]:sm:border",children:[(0,t.jsx)("div",{onPointerDown:k,onPointerMove:y,onPointerUp:j,className:"hidden sm:block absolute left-0 top-0 bottom-0 w-1.5 cursor-col-resize z-10 hover:bg-primary/20 active:bg-primary/30 transition-colors rounded-l-xl"}),(0,t.jsx)(Y.SheetHeader,{children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)($.Mail,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,t.jsx)(Y.SheetTitle,{className:"truncate flex-1",children:u?"Loading...":i?.subject||"Email"}),(0,t.jsx)(l.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>v(!1),children:(0,t.jsx)(P.X,{className:"h-4 w-4"})})]})}),(0,t.jsx)(Y.SheetBody,{className:"flex-1 overflow-y-auto thin-scrollbar",children:u?(0,t.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,t.jsx)(p.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):i?(0,t.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,t.jsxs)("div",{className:"text-sm space-y-1 border-b pb-3",children:[(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("span",{className:"text-muted-foreground shrink-0",children:"From:"}),(0,t.jsx)("span",{className:"truncate",children:i.from_email})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("span",{className:"text-muted-foreground shrink-0",children:"To:"}),(0,t.jsx)("span",{className:"truncate",children:i.to_email})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("span",{className:"text-muted-foreground shrink-0",children:"Date:"}),(0,t.jsx)("span",{children:new Date(i.created_at).toLocaleString()})]})]}),c?.isHtml?(0,t.jsx)(J.EmailBodyFrame,{html:c.content,className:"max-w-full"}):(0,t.jsx)("pre",{className:"whitespace-pre-wrap text-sm font-mono",children:c?.content}),i.attachments&&i.attachments.length>0&&(0,t.jsxs)("div",{className:"border-t pt-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5 mb-2 text-xs text-muted-foreground",children:[(0,t.jsx)(q.Paperclip,{className:"size-3"}),i.attachments.length," attachment",i.attachments.length>1?"s":""]}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:i.attachments.map((e,s)=>(0,t.jsxs)("a",{href:`/api/email/${i.id}/attachment/${s}?workspace_id=${n}`,target:"_blank",rel:"noopener noreferrer",download:e.filename,className:"flex items-center gap-1.5 rounded-md border border-border/50 bg-muted/50 px-2.5 py-1.5 text-xs hover:bg-muted transition-colors cursor-pointer",children:[(0,t.jsx)(X.File,{className:"size-3 text-muted-foreground shrink-0"}),(0,t.jsx)("span",{className:"truncate max-w-45",children:e.filename}),(0,t.jsx)("span",{className:"text-muted-foreground shrink-0",children:e.size<1024?`${e.size} B`:e.size<1048576?`${(e.size/1024).toFixed(1)} KB`:`${(e.size/1048576).toFixed(1)} MB`})]},e.key))})]})]}):null})]})})}var Z=e.i(781360),Q=e.i(169678),ee=e.i(364079);function et({bufferedMessages:e,onDelete:a}){let[r,n]=(0,s.useState)(!1),l=e.length;if(0===l)return null;let i=Math.min(l,3);return(0,t.jsx)("div",{className:"relative px-5 pb-1",children:(0,t.jsx)("div",{className:"mx-auto max-w-2xl flex justify-center",children:(0,t.jsxs)("div",{className:"relative w-full max-w-lg transition-[height] duration-200 ease-out",style:{height:r?32*l+(l-1)*4:32+(i-1)*6},onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),children:[e.map((e,s)=>{var n;let c=l-1-s,d=s>=l-i;return(0,t.jsx)("div",{className:"absolute right-0 left-0 transition-all duration-200 ease-out",style:{height:32,zIndex:s+1,bottom:r?36*c:d?6*c:0,transform:r?"scale(1)":`scale(${d?1-.03*c:.91})`,opacity:r?1:d?1-.2*c:0,pointerEvents:r||d?"auto":"none"},children:(0,t.jsxs)("div",{className:"h-full rounded-lg border bg-background/95 backdrop-blur-sm shadow-sm flex items-center gap-2 px-3",children:[(0,t.jsx)("span",{className:"shrink-0 text-[11px] text-primary/60 tabular-nums w-4 text-center",children:s+1}),(0,t.jsxs)("div",{className:"min-w-0 flex-1 flex items-center gap-1.5",children:[(0,t.jsx)("p",{className:"text-[13px] text-muted-foreground leading-snug truncate",children:(n=e.content).length<=80?n:n.slice(0,80).trimEnd()+"…"}),e.attachment_ids&&e.attachment_ids.length>0&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-0.5 shrink-0 text-[11px] text-muted-foreground/50",children:[(0,t.jsx)(q.Paperclip,{className:"size-2.5"}),e.attachment_ids.length]})]}),(0,t.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),a(e.id)},className:(0,o.cn)("shrink-0 rounded-sm p-0.5 transition-all duration-150","text-muted-foreground/30 hover:text-foreground hover:bg-muted",r?"opacity-100":"opacity-0"),tabIndex:r?0:-1,children:(0,t.jsx)(P.X,{className:"size-3"})})]})},e.id)}),!r&&l>i&&(0,t.jsxs)("span",{className:"absolute -top-4 right-1 text-[10px] text-muted-foreground/40 tabular-nums",children:["+",l-i," more"]})]})})})}var es=e.i(219658);let ea={id:"",agent_id:"",runtime_id:"",conversation_id:"",workspace_id:"",prompt:"",status:"completed",priority:0,dispatched_at:null,started_at:null,completed_at:null,result:null,error:null,created_at:"",type:""};function er({taskId:e,stepCount:a,workspaceId:r}){let[n,l]=(0,s.useState)([]),[i,o]=(0,s.useState)(!1),[c,d]=(0,s.useState)(!1),u=(0,s.useCallback)(async()=>{if(!c&&!i){o(!0);try{let t=await (0,b.getTaskMessages)(e,r);l(t)}catch{l([])}finally{o(!1),d(!0)}}},[c,i,e,r]);return(0,t.jsx)(j,{task:ea,messages:n,stepCountHint:a,onExpandSteps:u,stepsLoading:i})}var en=e.i(983453),el=e.i(251638);let ei=(0,z.default)("flag",[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]]);e.s(["Flag",0,ei],618615);var eo=e.i(89440);let ec={mention:["data-agent-id"]},ed=["mention"];function eu({content:e,conversationType:s}){let a=ej(e,s),r="h-4 w-4 mt-0.5 shrink-0";return"issue"===a?(0,t.jsx)(el.CircleDot,{className:r}):"email"===a?(0,t.jsx)($.Mail,{className:r}):(0,t.jsx)(en.Calendar,{className:r})}function em({attachmentIds:e,artifacts:s,onArtifactClick:a}){let r=e.map(e=>s.find(t=>t.id===e)).filter(e=>!!e);return 0===r.length?null:(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1.5",children:r.map(e=>(0,t.jsxs)("button",{type:"button",onClick:t=>{t.stopPropagation(),a(e)},className:"inline-flex items-center gap-1 rounded-md bg-primary-foreground/10 border border-primary-foreground/20 px-2 py-0.5 text-xs text-primary-foreground/80 hover:bg-primary-foreground/20 transition-colors cursor-pointer",children:[(0,t.jsx)(F.FileText,{className:"size-3 shrink-0"}),(0,t.jsx)("span",{className:"truncate max-w-37.5",children:e.filename})]},e.id))})}function eh({pendingFiles:e,messageId:s}){let a=e.get(s);return a&&0!==a.length?(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1.5",children:a.map((e,s)=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-md bg-primary-foreground/10 border border-primary-foreground/20 px-2 py-0.5 text-xs text-primary-foreground/80",children:[(0,t.jsx)(F.FileText,{className:"size-3 shrink-0"}),(0,t.jsx)("span",{className:"truncate max-w-37.5",children:e.name})]},s))}):null}let ep=(0,s.memo)(function({msg:e,agents:a,artifacts:r,activeTask:n,taskMessages:i,connectionLost:d,isLastMessage:u,stepCount:m,targetConvId:h,workspaceId:p,conversationType:g,pendingFilesByMessage:x,onArtifactClick:v,onEmailClick:k,onIssueClick:y,onCalendarEventClick:b,onRetry:w,mentionComponents:N,isFlagged:S,onToggleFlag:C}){let _,M,A,z,E,R,F,[$,D]=(0,s.useState)(!1),q=n&&"assistant"===e.role&&e.task_id===n.id&&e.conversation_id===n.conversation_id&&i.length>0,L=!q&&h&&"assistant"===e.role&&e.task_id&&m>0?m:0,P=q&&n&&["completed","failed","cancelled","superseded"].includes(n.status),B="assistant"===e.role?(0,t.jsxs)("div",{className:"flex flex-row items-center gap-1",children:[(0,t.jsxs)(I.Tooltip,{children:[(0,t.jsx)(I.TooltipTrigger,{render:(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-xs","aria-label":$?"Copied":"Copy message",onClick:async t=>{t.stopPropagation();try{await navigator.clipboard.writeText(e.content),D(!0),T.toast.success("Copied to clipboard"),setTimeout(()=>D(!1),2e3)}catch{T.toast.error("Failed to copy")}},className:(0,o.cn)("self-start mb-1",$?"text-green-500 opacity-100":"text-muted-foreground md:opacity-0 md:group-hover/msg:opacity-100")}),children:$?(0,t.jsx)(c.Check,{className:"size-3.5"}):(0,t.jsx)(eo.Copy,{className:"size-3.5"})}),(0,t.jsx)(I.TooltipContent,{children:$?"Copied":"Copy"})]}),C&&(0,t.jsxs)(I.Tooltip,{children:[(0,t.jsx)(I.TooltipTrigger,{render:(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-xs",onClick:()=>C(e.id),className:(0,o.cn)("self-start mb-1",S?"text-primary opacity-100":"text-muted-foreground md:opacity-0 md:group-hover/msg:opacity-100")}),children:(0,t.jsx)(ei,{className:(0,o.cn)("size-3.5",S&&"fill-current")})}),(0,t.jsx)(I.TooltipContent,{children:S?"Unflag":"Flag"})]})]}):null;return(0,t.jsxs)(s.default.Fragment,{children:[q&&(0,t.jsxs)("div",{className:(0,o.cn)("group/msg",S&&"bg-muted/30 rounded-lg px-2 -mx-2"),...P?{"data-quote-source":!0}:{},children:[(0,t.jsx)(j,{task:n,messages:i,connectionLost:d,onRetry:w}),P&&B]}),L>0&&e.task_id&&(0,t.jsx)(er,{taskId:e.task_id,stepCount:L,workspaceId:p}),"user"===e.role?(_=u&&!!n&&"running"!==n.status&&!["completed","failed","cancelled","superseded"].includes(n.status),M=e.content.match(/^\/(\S+)\s?([\s\S]*)$/),A=M?.[1]??null,z=M?M[2]||"":e.content,(0,t.jsx)("div",{className:"flex justify-end","data-message-id":e.id,...e.task_id?{"data-task-id":e.task_id}:{},children:(0,t.jsxs)("div",{className:(0,o.cn)("max-w-[80%] rounded-lg px-4 py-2 bg-primary text-primary-foreground text-base relative"),children:[_&&(0,t.jsx)("div",{className:"absolute inset-0 rounded-lg animate-pulse pointer-events-none",style:{boxShadow:"0 0 0 2px var(--bubble-glow)"}}),A&&(0,t.jsxs)("span",{className:"inline-flex items-center rounded px-1.5 py-0.5 text-xs font-medium bg-primary-foreground/15 text-primary-foreground mb-1",children:["/",A]}),z&&(0,t.jsx)("div",{className:"markdown markdown-user",children:(0,t.jsx)(f.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!1,download:!1,fullscreen:!1}},linkSafety:{enabled:!1},allowedTags:ec,literalTagContent:ed,components:N,children:U(z,a)})}),e.attachment_ids&&e.attachment_ids.length>0&&(0,t.jsx)(em,{attachmentIds:e.attachment_ids,artifacts:r,onArtifactClick:v}),!e.attachment_ids&&(0,t.jsx)(eh,{pendingFiles:x,messageId:e.id})]})})):"event"===e.role?(E=e.metadata?.emailId,R=e.metadata?.issueId,F=e.metadata?.calendarEventId,(0,t.jsx)("div",{className:"flex justify-start","data-message-id":e.id,...e.task_id?{"data-task-id":e.task_id}:{},children:(0,t.jsxs)("div",{className:(0,o.cn)("w-full rounded-md border bg-muted/50 text-muted-foreground text-sm px-3 py-2 flex items-start gap-2",(!!E||!!R||!!F)&&"cursor-pointer hover:bg-muted transition-colors"),onClick:E?()=>k(E):R?()=>y(R):F?()=>b(F):void 0,children:[(0,t.jsx)(eu,{content:e.content,conversationType:g}),(0,t.jsx)("span",{className:"min-w-0 wrap-anywhere",children:e.content})]})})):q?null:(0,t.jsxs)("div",{className:(0,o.cn)("group/msg flex flex-col justify-start min-w-0 overflow-hidden",S&&"bg-muted/30 rounded-lg px-2 -mx-2"),"data-message-id":e.id,"data-quote-source":!0,...e.task_id?{"data-task-id":e.task_id}:{},children:[(0,t.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-1 text-base text-foreground",children:(0,t.jsx)(f.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},allowedTags:ec,literalTagContent:ed,components:N,children:U(e.content,a)})}),B]})]})});e.i(400175);var ef=e.i(819748),eg=e.i(126366),ex=e.i(309475);function ev({agent:e,isOnline:a,activeTaskCount:r,variant:n="default",isHovered:l}){let[i,d]=(0,s.useState)(!1),u=e.email_handle?`${e.email_handle}@alook.ai`:null,m=(0,s.useCallback)(async()=>{if(u)try{await navigator.clipboard.writeText(u),d(!0),T.toast.success("Email copied to clipboard"),setTimeout(()=>d(!1),2e3)}catch{T.toast.error("Failed to copy email")}},[u]);if("compact"===n){let s;return(0,t.jsxs)("div",{className:"flex items-center gap-2 p-0",children:[(s=(0,eg.parseAvatarUrl)(e.avatar_url))?(0,t.jsx)(ef.AnimatedAvatar,{config:s,size:32,className:"shrink-0 rounded-xl",isHovered:l??!1,isWorking:!!a&&(r??0)>0}):(0,t.jsx)("div",{className:"flex items-center justify-center size-8 rounded-xl bg-secondary text-secondary-foreground text-xs font-medium shrink-0",children:e.name.charAt(0).toUpperCase()}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("p",{className:"text-sm font-medium truncate max-w-35",children:e.name}),u&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:u})]}),void 0!==a&&(0,t.jsx)("div",{className:"pointer-events-none mt-0.5",children:(0,t.jsx)(ex.AgentStatusBadge,{isOnline:a,taskCount:r??0,agentId:e.id})})]})]})}return(0,t.jsxs)("div",{className:"flex flex-col gap-1.5 p-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("p",{className:"text-sm font-medium truncate",children:e.name}),(0,t.jsx)("span",{className:"flex-1"}),void 0!==a&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-[11px] text-muted-foreground",children:[(0,t.jsx)("span",{className:(0,o.cn)("size-1.5 rounded-full",a?"bg-status-online":"bg-status-offline")}),a?(r??0)>0?"Working":null:"Offline"]})]}),u&&(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:u}),(0,t.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),m()},className:"shrink-0 p-0.5 rounded-sm text-muted-foreground/60 hover:text-foreground transition-colors cursor-pointer",children:i?(0,t.jsx)(c.Check,{className:"size-3 text-green-500"}):(0,t.jsx)(eo.Copy,{className:"size-3"})})]}),e.description&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground line-clamp-2",children:e.description})]})}e.s(["AgentPreviewCard",0,ev],844010);var ek=e.i(224950);let ey={mention:function(e){let{children:s,...a}=e,{agents:r}=(0,N.useAgentContext)(),n=a["data-agent-id"]??a.dataAgentId,l=n?r.find(e=>e.id===n):void 0;if(!l&&"string"==typeof s){let e=s.startsWith("@")?s.slice(1):s;l=r.find(t=>t.name.toLowerCase()===e.toLowerCase())}return l?(0,t.jsxs)(ek.Popover,{children:[(0,t.jsx)(ek.PopoverTrigger,{openOnHover:!0,delay:300,nativeButton:!1,render:(0,t.jsx)("span",{className:"mention-highlight cursor-pointer"}),children:s}),(0,t.jsx)(ek.PopoverContent,{side:"top",className:"w-fit max-w-80",children:(0,t.jsx)(ev,{agent:l})})]}):(0,t.jsx)("span",{className:"mention-highlight",children:s})},p:({children:e,node:s,...a})=>(0,t.jsx)("div",{"data-md-p":"",...a,children:e})};function ej(e,t){if("issue_event"===t)return"issue";if("email_notification"===t)return"email";if("calendar_event"===t)return"calendar";let s=e.toLowerCase();return s.startsWith("issue ")||s.startsWith("issue:")?"issue":s.includes("email")?"email":"calendar"}function eb(e,t){let s=new Map;for(let t of e)s.set(t.id,t);for(let e of t)s.set(e.id,e);return[...s.values()].slice().sort((e,t)=>{let s=e.created_at.localeCompare(t.created_at);return 0!==s?s:e.id.localeCompare(t.id)})}function ew(e){let t=[],s=[],a=!1;for(let r of e)"message"===r.kind&&"user"===r.data.role?(a=!0,t.push(r)):"message"===r.kind&&"assistant"===r.data.role?(t.push(r),t.push(...s),s=[],a=!1):a&&"artifact"===r.kind?s.push(r):t.push(r);return t.push(...s),t}function eN(e){let t=(0,s.useRef)(e);return(0,s.useEffect)(()=>{t.current=e},[e]),t}function eS({agentName:e}){return(0,t.jsxs)("div",{className:"flex items-center gap-3 py-4 select-none","aria-hidden":!0,children:[(0,t.jsx)("div",{className:"flex-1 border-t border-border/40"}),(0,t.jsxs)("span",{className:"text-xs text-muted-foreground/60 whitespace-nowrap",children:[e," took a nap 💤"]}),(0,t.jsx)("div",{className:"flex-1 border-t border-border/40"})]})}function eC({artifact:e,version:s,hasDuplicates:a,onClick:r}){return(0,t.jsxs)("button",{onClick:()=>r(e),className:(0,o.cn)("flex items-center gap-3 w-full max-w-sm rounded-lg border border-border/60 bg-muted/30","px-3.5 py-2.5 text-left transition-colors duration-150","hover:bg-muted/60 hover:border-border"),children:[(0,t.jsx)(F.FileText,{className:"size-4 shrink-0 text-muted-foreground"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("p",{className:"text-sm font-medium truncate",children:[e.filename,a&&(0,t.jsxs)("span",{className:"ml-1.5 text-xs text-muted-foreground bg-muted rounded-full px-1.5 py-0.5 font-normal",children:["v",s]})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:(0,K.formatSize)(e.size)})]})]})}function e_({agentId:e,targetConvId:i,scrollToTaskId:c,scrollToMessageId:d}){let u,m,h,f=(0,r.useParams)(),g=(0,r.useSearchParams)(),{workspaceId:x,slug:v}=(0,n.useWorkspace)(),{agents:k,agentLinks:y,activeTaskCounts:z,subscribeWs:B}=(0,N.useAgentContext)(),{refresh:H}=(0,S.useInboxCount)(),{activeChannel:V,loading:Y,setAgentId:X}=(0,_.useChannel)(),J=e??f.id,ea=void 0!==c?c:g.get("task"),er=void 0!==d?d:g.get("msg"),en=void 0!==i?i:g.get("conv"),[el,ei]=(0,s.useState)(null),[eo,ec]=(0,s.useState)([]),[ed,eu]=(0,s.useState)(()=>localStorage.getItem(`chat-draft:${J}:${en??"default"}`)??""),[em,eh]=(0,s.useState)(!1),[ef,eg]=(0,s.useState)(!1),[ex,ev]=(0,s.useState)(null),[ek,ej]=(0,s.useState)([]),[eT,eM]=(0,s.useState)(!0),[eI,eA]=(0,s.useState)(!1),[ez,eE]=(0,s.useState)(!1),[eR,eF]=(0,s.useState)(!1),[e$,eD]=(0,s.useState)([]),[eq,eL]=(0,s.useState)(!1),[eP,eB]=(0,s.useState)(null),[eW,eH]=(0,s.useState)(null),[eO,eV]=(0,s.useState)(!1),[eU,eK]=(0,s.useState)(null),[eY,eX]=(0,s.useState)(!1),[eJ,eG]=(0,s.useState)(null),[eZ,eQ]=(0,s.useState)(!1),[e0,e1]=(0,s.useState)(null),[e2,e5]=(0,s.useState)(null),[e3,e4]=(0,s.useState)(!1),[e6,e8]=(0,s.useState)(null),[e9,e7]=(0,s.useState)(null),[te,tt]=(0,s.useState)(448),[ts,ta]=(0,s.useState)([]),[tr,tn]=(0,s.useState)([]),[tl,ti]=(0,s.useState)(null),[to,tc]=(0,s.useState)([]),[td,tu]=(0,s.useState)(!1),[tm,th]=(0,s.useState)([]),[tp,tf]=(0,s.useState)({}),[tg]=(0,s.useState)(()=>Date.now()),[tx,tv]=(0,s.useState)(()=>new Map),[tk,ty]=(0,s.useState)(()=>{try{let e=JSON.parse(localStorage.getItem(`chat-draft-meta:${J}:${en??"default"}`)??"null");return e?.quote??null}catch{return null}}),[tj,tb]=(0,s.useState)(null),[tw,tN]=(0,s.useState)(new Set),tS=(0,s.useRef)(tw);(0,s.useEffect)(()=>{tS.current=tw});let{increment:tC,decrement:t_,refresh:tT}=(0,C.useFlagCount)(),{writeToCache:tM}=function(e,t){let[a,r]=(0,s.useState)(null),[n,l]=(0,s.useState)(!1),i=(0,s.useRef)(e);return(0,s.useEffect)(()=>{if(i.current=e,!e||!t){r(null),l(!1);return}(0,w.openCacheDB)(t);let s=!1;return(0,w.getCachedMessages)(e,t).then(t=>{s||i.current!==e||(t&&t.length>0?(r(t),l(!0)):(r(null),l(!1)))}),()=>{s=!0}},[e,t]),{cachedMessages:a,isFromCache:n,writeToCache:(0,s.useCallback)(async(e,s)=>{i.current&&t&&await (0,w.mergeCachedMessages)(i.current,e,s,t)},[t])}}(en??null,x),tI=(0,s.useRef)(tM);(0,s.useEffect)(()=>{tI.current=tM},[tM]),(0,s.useEffect)(()=>{X(J)},[J,X]);let tA=(0,s.useMemo)(()=>e$.filter(e=>"agent"===e.source),[e$]),{versionMap:tz,duplicateFilenames:tE}=(0,s.useMemo)(()=>(0,ee.computeArtifactVersions)(tA),[tA]),tR=(0,s.useMemo)(()=>"agent"===eW?tA:"issue"===eW?e2?.artifacts??[]:[],[eW,tA,e2?.artifacts]),{versionMap:tF,duplicateFilenames:t$}=(0,s.useMemo)(()=>(0,ee.computeArtifactVersions)(tR),[tR]),tD=(0,s.useMemo)(()=>(function(e,t,s,a){if(!a||0===s.length){let a=[...e.map(e=>({kind:"message",data:e})),...t.map(e=>({kind:"artifact",data:e})),...s.map(e=>({kind:"nap",data:e}))];return a.sort((e,t)=>{let s=e.data.created_at.localeCompare(t.data.created_at);if(0!==s)return s;if("nap"===e.kind||"nap"===t.kind){if("nap"===e.kind&&"nap"!==t.kind)return 1;if("nap"!==e.kind&&"nap"===t.kind)return -1}return e.kind!==t.kind?"message"===e.kind?-1:1:e.data.id.localeCompare(t.data.id)}),ew(a)}let r=new Set(s.map(e=>e.id.replace(/^nap-/,""))),n=[...s].sort((e,t)=>e.created_at.localeCompare(t.created_at)),l=s=>ew([...e.filter(e=>e.conversation_id===s).map(e=>({kind:"message",data:e})),...t.filter(e=>e.conversation_id===s).map(e=>({kind:"artifact",data:e}))].sort((e,t)=>{let s=e.data.created_at.localeCompare(t.data.created_at);return 0!==s?s:e.kind!==t.kind?"message"===e.kind?-1:1:e.data.id.localeCompare(t.data.id)})),i=[];for(let e of n){let t=e.id.replace(/^nap-/,"");i.push(...l(t)),i.push({kind:"nap",data:e})}i.push(...l(a));let o=new Set([...r,a]),c=e.filter(e=>!o.has(e.conversation_id)),d=t.filter(e=>!o.has(e.conversation_id));if(c.length>0||d.length>0){let e=[...c.map(e=>({kind:"message",data:e})),...d.map(e=>({kind:"artifact",data:e}))];e.sort((e,t)=>{let s=e.data.created_at.localeCompare(t.data.created_at);return 0!==s?s:e.kind!==t.kind?"message"===e.kind?-1:1:e.data.id.localeCompare(t.data.id)});let t=ew(e),s=i.findIndex(e=>"nap"===e.kind);s>=0?i.splice(s,0,...t):i.push(...t)}return i})(eo,tA,tm,el?.id),[eo,tA,tm,el?.id]),tq=(0,s.useCallback)(e=>{(0,ee.isPreviewable)(e)?(eB(e),eH("agent"),eL(!0)):window.open((0,ee.getArtifactUrl)(e.id,x,!0),"_blank")},[x]),tL=(0,s.useCallback)(e=>{(0,ee.isPreviewable)(e)?(eB(e),eH("issue"),eL(!0)):window.open((0,ee.getArtifactUrl)(e.id,x,!0),"_blank")},[x]),tP=(0,s.useRef)(null),tB=(0,s.useRef)(null),tW=(0,s.useRef)(null),tH=(0,s.useRef)(null),tO=(0,s.useRef)(0),tV=(0,s.useRef)(0),tU=(0,s.useRef)(!1),tK=(0,s.useRef)(!1),tY=(0,s.useRef)(!0),tX=(0,s.useRef)(!1),tJ=(0,s.useRef)(null),tG=(0,s.useRef)(null),tZ=(0,s.useRef)(0),tQ=(0,s.useRef)(void 0),t0=(0,s.useRef)(null),t1=(0,s.useRef)(null),t2=function({input:e,caretIndex:t,textareaRef:a,agents:r,agentLinks:n,currentAgentId:l,onInputChange:i}){let[o,c]=(0,s.useState)(!1),[d,u]=(0,s.useState)(""),[m,h]=(0,s.useState)(0),[p,f]=(0,s.useState)({top:0,left:0}),g=(0,s.useRef)(null),x=(0,s.useMemo)(()=>{let e=new Set;for(let t of n)t.source_agent_id===l&&e.add(t.target_agent_id),t.target_agent_id===l&&e.add(t.source_agent_id);return e},[n,l]),{relatedAgents:v,otherAgents:k,allAgents:y}=(0,s.useMemo)(()=>{if(!o)return{relatedAgents:[],otherAgents:[],allAgents:[]};let e=e=>{if(!d)return e.slice(0,20);let t=d.toLowerCase(),s=[],a=[];for(let r of e){let e=r.name.toLowerCase();e.startsWith(t)?s.push(r):e.includes(t)&&a.push(r)}return[...s,...a]},t=[],s=[];for(let e of r)x.has(e.id)?t.push(e):s.push(e);let a=e(t),n=e(s);return{relatedAgents:a,otherAgents:n,allAgents:[...a,...n]}},[o,d,r,x]);(0,s.useEffect)(()=>{h(0)},[y.length,d]),(0,s.useEffect)(()=>{if(null===t)return void c(!1);let s=function(e,t){let s=t-1;for(;s>=0&&t-s<=30;){let a=e.charCodeAt(s);if(64===a)return{start:s,query:e.slice(s+1,t)};if(10===a||13===a)break;s--}return null}(e,t);s?(g.current=s.start,u(s.query),c(!0),a.current&&f(function(e,t){let s=document.createElement("div"),a=window.getComputedStyle(e);for(let t of(s.style.position="absolute",s.style.top="-9999px",s.style.left="-9999px",s.style.visibility="hidden",s.style.overflow="hidden",s.style.width=`${e.offsetWidth}px`,["fontFamily","fontSize","fontWeight","fontStyle","letterSpacing","textTransform","wordSpacing","textIndent","lineHeight","paddingTop","paddingRight","paddingBottom","paddingLeft","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","boxSizing","whiteSpace","wordWrap","overflowWrap"]))s.style[t]=a.getPropertyValue(t.replace(/([A-Z])/g,"-$1").toLowerCase());s.textContent=e.value.slice(0,t);let r=document.createElement("span");r.textContent="",s.appendChild(r),document.body.appendChild(s);let n=r.offsetTop-e.scrollTop,l=Math.max(0,Math.min(r.offsetLeft,e.offsetWidth-256));return document.body.removeChild(s),{top:n,left:l}}(a.current,s.start))):(c(!1),g.current=null)},[e,t,a]);let j=(0,s.useCallback)(s=>{if(null===t||null===g.current)return;let r=e.slice(0,g.current),n=e.slice(t);i(`${r}@${s.name} ${n}`),c(!1);let l=r.length+1+s.name.length+1;requestAnimationFrame(()=>{let e=a.current;e&&(e.focus(),e.setSelectionRange(l,l))})},[e,t,a,i]),b=(0,s.useCallback)(e=>!!o&&0!==y.length&&!e.nativeEvent.isComposing&&("ArrowDown"===e.key?(e.preventDefault(),h(e=>(e+1)%y.length),!0):"ArrowUp"===e.key?(e.preventDefault(),h(e=>(e-1+y.length)%y.length),!0):"Enter"===e.key?(e.preventDefault(),j(y[m]),!0):"Escape"===e.key&&(e.preventDefault(),c(!1),!0)),[o,y,m,j]);return{isOpen:o,query:d,selectedIndex:m,anchorPos:p,relatedAgents:v,otherAgents:k,allAgents:y,handleMentionKeyDown:b,selectAgent:j}}({input:ed,caretIndex:tl,textareaRef:t1,agents:(0,s.useMemo)(()=>k.filter(e=>e.id!==J),[k,J]),agentLinks:y,currentAgentId:J,onInputChange:eu}),[t5,t3]=(0,s.useState)([]),t4=(0,s.useRef)(!1),t6=(0,s.useRef)(!1);(0,s.useEffect)(()=>{t4.current||(t4.current=!0,(0,b.getAgentSkills)(J,x).then(e=>t3(e.skills)).catch(()=>{}))},[J,x]);let[t8]=(0,s.useState)(()=>{try{let e=JSON.parse(localStorage.getItem(`chat-draft-meta:${J}:${en??"default"}`)??"null");return e?.skill??null}catch{return null}}),t9=function({input:e,caretIndex:t,textareaRef:a,skills:r,onInputChange:n,initialActiveSkill:l}){let[i,o]=(0,s.useState)(!1),[c,d]=(0,s.useState)(""),[u,m]=(0,s.useState)(0),[h,p]=(0,s.useState)({top:0,left:0}),f=(0,s.useRef)(null),g=(0,s.useMemo)(()=>{if(!i)return[];if(!c)return r;let e=c.toLowerCase(),t=[],s=[];for(let a of r){let r=a.name.toLowerCase();r.startsWith(e)?t.push(a):r.includes(e)&&s.push(a)}return[...t,...s]},[i,c,r]);(0,s.useEffect)(()=>{m(0)},[g.length,c]);let[x,v]=(0,s.useState)(l??null);(0,s.useEffect)(()=>{if(x||null===t)return void o(!1);let s=function(e,t){if(!e.startsWith("/")||0===t)return null;let s=t-1;for(;s>=0&&t-s<=30;){let a=e.charCodeAt(s);if(47===a&&0===s)return{start:0,query:e.slice(1,t)};if(10===a||13===a||32===a)break;s--}return null}(e,t);s?(f.current=s.start,d(s.query),o(!0),a.current&&p(function(e,t){let s=document.createElement("div"),a=window.getComputedStyle(e);for(let t of(s.style.position="absolute",s.style.top="-9999px",s.style.left="-9999px",s.style.visibility="hidden",s.style.overflow="hidden",s.style.width=`${e.offsetWidth}px`,["fontFamily","fontSize","fontWeight","fontStyle","letterSpacing","textTransform","wordSpacing","textIndent","lineHeight","paddingTop","paddingRight","paddingBottom","paddingLeft","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","boxSizing","whiteSpace","wordWrap","overflowWrap"]))s.style[t]=a.getPropertyValue(t.replace(/([A-Z])/g,"-$1").toLowerCase());s.textContent=e.value.slice(0,t);let r=document.createElement("span");r.textContent="",s.appendChild(r),document.body.appendChild(s);let n=r.offsetTop-e.scrollTop,l=Math.max(0,Math.min(r.offsetLeft,e.offsetWidth-280));return document.body.removeChild(s),{top:n,left:l}}(a.current,s.start))):(o(!1),f.current=null)},[e,t,a,x]);let k=(0,s.useCallback)(e=>{v(e),n(""),o(!1),requestAnimationFrame(()=>{let e=a.current;e&&(e.focus(),e.setSelectionRange(0,0))})},[a,n]),y=(0,s.useCallback)(()=>{v(null)},[]),j=(0,s.useCallback)(e=>!!i&&0!==g.length&&!e.nativeEvent.isComposing&&("ArrowDown"===e.key?(e.preventDefault(),m(e=>(e+1)%g.length),!0):"ArrowUp"===e.key?(e.preventDefault(),m(e=>(e-1+g.length)%g.length),!0):"Enter"===e.key||"Tab"===e.key?(e.preventDefault(),k(g[u]),!0):"Escape"===e.key&&(e.preventDefault(),o(!1),!0)),[i,g,u,k]);return{isOpen:i,query:c,selectedIndex:u,anchorPos:h,skills:g,activeSkill:x,handleSlashKeyDown:j,selectSkill:k,clearActiveSkill:y,setActiveSkill:v}}({input:ed,caretIndex:tl,textareaRef:t1,skills:t5,onInputChange:eu,initialActiveSkill:t8});(0,s.useEffect)(()=>{0===t5.length||!t9.activeSkill||t5.some(e=>e.name===t9.activeSkill.name)||t9.setActiveSkill(null)},[t5]),(0,s.useEffect)(()=>{let e=`chat-draft:${J}:${en??"default"}`;ed?localStorage.setItem(e,ed):localStorage.removeItem(e)},[ed,J,en]),(0,s.useEffect)(()=>{if(!t6.current)return;let e=`chat-draft-meta:${J}:${en??"default"}`,t={};t9.activeSkill&&(t.skill={name:t9.activeSkill.name,description:t9.activeSkill.description}),tk&&(t.quote=tk),t.skill||t.quote?localStorage.setItem(e,JSON.stringify(t)):localStorage.removeItem(e)},[t9.activeSkill,tk,J,en]),(0,s.useEffect)(()=>{em||t1.current?.focus()},[em]);let t7=(0,s.useCallback)(()=>{tY.current=!0,setTimeout(()=>{tP.current?.scrollTo({top:tP.current.scrollHeight,behavior:"smooth"})},50)},[]);(0,s.useEffect)(()=>{if(Y)return;tB.current&&clearInterval(tB.current),tB.current=null,tH.current=null;let e=!1;eM(!0),tU.current=!1,ev(null),ej([]),tn([]),tv(new Map),th([]),tf({}),tc([]),tu(!1),tG.current=null,eu(localStorage.getItem(`chat-draft:${J}:${en??"default"}`)??"");let t=localStorage.getItem(`chat-draft-meta:${J}:${en??"default"}`);if(t)try{let e=JSON.parse(t);ty(e.quote??null),t9.setActiveSkill(e.skill?e.skill:null)}catch{ty(null),t9.setActiveSkill(null)}else ty(null),t9.setActiveSkill(null);return t6.current=!0,ec([]),async function(){let t=!1;try{let s=null,a=null;if(en){if(s=en,a=await (0,w.getCacheMeta)(s,x),a?.newestMessageId){let r=await (0,w.getCachedMessages)(s,x);if(e)return;r&&r.length>0&&(t=!0,ec(r),eE(a.hasMore),eM(!1))}}else try{let r=await (0,b.checkFreshness)({agentId:J,channel:V},x);if(e)return;if(s=r.conversation_id,a=await (0,w.getCacheMeta)(s,x),a?.newestMessageId&&a.newestMessageId===r.newest_message_id){let r=await (0,w.getCachedMessages)(s,x);if(e)return;r&&r.length>0&&(t=!0,ec(r),eE(a.hasMore),eM(!1))}}catch{}if(s){let t=await (0,b.conversationInit)(s,x,{newestMessageId:a?.newestMessageId??void 0});if(e)return;if(ei(t.conversation),tu(t.has_more_conversations),!t.cache_valid&&t.messages?(ec(e=>eb(e,t.messages)),tI.current(t.messages,t.has_more_messages).catch(()=>{}),eE(t.has_more_messages)):a&&eE(a.hasMore),tf(t.step_counts),eD(t.artifacts),tn(t.buffered_messages),tN(new Set(t.flagged_message_ids)),t.active_task&&(ev(t.active_task),ej(t.task_messages),t.task_messages.length>0&&(tO.current=Math.max(...t.task_messages.map(e=>e.seq))),tJ.current?.(t.active_task.id,s,tO.current)),ea){let t=await (0,b.getTask)(ea,x).catch(()=>null);if(e)return;if(t&&!["completed","failed","cancelled","superseded"].includes(t.status)){ev(t);let a=await (0,b.getTaskMessages)(ea,x).catch(()=>[]);if(e)return;ej(a),a.length>0&&(tO.current=Math.max(...a.map(e=>e.seq))),tJ.current?.(t.id,s,tO.current)}}}else{let t=await (0,b.chatInit)(J,x,V);if(e)return;ei(t.conversation),ec(e=>e.length>0?eb(e,t.messages):t.messages),eE(t.has_more_messages),eD(t.artifacts),tn(t.buffered_messages),tu(t.has_more_conversations),tI.current(t.messages,t.has_more_messages).catch(()=>{}),(0,b.listFlaggedMessageIds)(x,t.conversation.id).then(t=>{e||tN(new Set(t.message_ids))}).catch(()=>{}),t.active_task&&(ev(t.active_task),t.task_messages.length>0&&(ej(t.task_messages),tO.current=Math.max(...t.task_messages.map(e=>e.seq))),["completed","failed","cancelled","superseded"].includes(t.active_task.status)||tJ.current?.(t.active_task.id,t.conversation.id,tO.current))}}catch{t?T.toast.error("Couldn't refresh conversation"):T.toast.error("Failed to load conversation")}finally{e||eM(!1)}}(),()=>{e=!0}},[J,x,en,ea,V,Y]);let se=(0,s.useRef)(H);(0,s.useEffect)(()=>{se.current=H},[H]);let st=(0,s.useRef)(null);(0,s.useEffect)(()=>{if(!el?.id||!x||st.current===el.id)return;st.current=el.id;let e=setTimeout(()=>{(0,b.markInboxRead)(el.id,x).then(()=>se.current()).catch(()=>{})},1e3);return()=>{st.current=null,clearTimeout(e)}},[el?.id,x]),(0,s.useEffect)(()=>{eT||!(eo.length>0)||tU.current||(tU.current=!0,ea||er?tY.current=!1:i?setTimeout(()=>{let e=tP.current?.querySelectorAll("[data-quote-source]");e&&e.length>0?e[e.length-1].scrollIntoView({behavior:"instant",block:"start"}):tP.current?.scrollTo({top:tP.current.scrollHeight})},50):setTimeout(()=>{tP.current?.scrollTo({top:tP.current.scrollHeight})},50))},[eT,eo.length,ea,er,i]),(0,s.useEffect)(()=>{let e;if(!ea||eT||!el)return;tY.current=!1,tX.current=!0;let t=!1,s=()=>{if(t)return!1;let s=document.querySelector(`[data-task-id="${CSS.escape(ea)}"]`);return!!s&&(s.scrollIntoView({behavior:"smooth",block:"start"}),s.classList.add("task-highlight"),e=setTimeout(()=>{s.classList.remove("task-highlight"),t||(tX.current=!1)},1500),!0)},a=setTimeout(async()=>{if(!t&&!s())try{let e=await (0,b.listMessagesAroundTask)(el.id,x,ea);if(t)return;e.length>0?(ec(t=>eb(t,e)),requestAnimationFrame(()=>{setTimeout(()=>{s()||(tX.current=!1)},100)})):tX.current=!1}catch{t||(tX.current=!1)}},100);return()=>{t=!0,clearTimeout(a),e&&clearTimeout(e)}},[ea,eT,el,x]),(0,s.useEffect)(()=>{let e;if(!er||ea||eT||!el)return;tY.current=!1,tX.current=!0;let t=!1,s=setTimeout(()=>{!t&&((()=>{if(t)return!1;let s=document.querySelector(`[data-message-id="${CSS.escape(er)}"]`);return!!s&&(s.scrollIntoView({behavior:"smooth",block:"start"}),s.classList.add("task-highlight"),e=setTimeout(()=>{s.classList.remove("task-highlight"),t||(tX.current=!1)},1500),!0)})()||(tP.current?.scrollTo({top:tP.current.scrollHeight}),tX.current=!1))},100);return()=>{t=!0,clearTimeout(s),e&&clearTimeout(e)}},[er,ea,eT,el]);let ss=ex?.status;(0,s.useEffect)(()=>{tX.current||("running"===ss||"queued"===ss)&&tY.current&&t7()},[ek.length,ss,t7]);let sa=(0,s.useMemo)(()=>k.find(e=>e.id===J)?.name??"Agent",[k,J]),sr=eN(eo),sn=eN(ez),sl=eN(to),si=eN(td),so=eN(sa),sc=eN(V),sd=(0,s.useCallback)(async(e=!1)=>{if(!el||tK.current)return;tK.current=!0;let t=sr.current,s=sn.current,r=si.current,n=so.current,l=sc.current,i=!!en,o=t[0],c=tG.current?.id??el.id,d=s&&o,u=sl.current;if(!i&&!d&&0===u.length&&r){let e=tG.current??{id:el.id,created_at:el.created_at};try{let t=await (0,b.listPreviousConversations)(J,x,{exclude:el.id,before:e.created_at,channel:l});u=t.conversations,tc(t.conversations),tu(t.has_more)}catch{tu(!1)}}let m=!i&&u.length>0;if(!d&&!m){tK.current=!1;return}eF(!0);let h=tP.current;h&&(h.style.overflowAnchor="none");let p=h?.scrollHeight??0;try{let t=[],s=[],m=20,f=!1,g=[],v=!1;if(d){let e=c===el.id?await (0,w.getCachedMessagesBefore)(c,o.created_at,o.id,20,x):null;if(e)t=e.messages,m-=e.messages.length,f=e.hasMore;else{let e=await (0,b.listMessages)(c,x,{limit:20,before:o.created_at,beforeId:o.id});t=e.messages,m-=e.messages.length,f=e.has_more}v=f}if(!i&&!f&&m>0){if(0===u.length&&r){let e=tG.current??{id:el.id,created_at:el.created_at};try{let t=await (0,b.listPreviousConversations)(J,x,{exclude:el.id,before:e.created_at,channel:l});u=t.conversations,tc(t.conversations),tu(t.has_more)}catch{tu(!1)}}let e=0,t=0;for(;e<u.length&&m>0&&t<5;){let a=u[e];e++,t++;let r=await (0,b.listMessages)(a.id,x,{limit:m});if(0===r.messages.length){tG.current=a;continue}let l=tG.current?.created_at??el.created_at;g.push({agentName:n,created_at:l,id:`nap-${a.id}`}),s=[...r.messages,...s],m-=r.messages.length,f=r.has_more,tG.current=a}e>0&&tc(t=>t.slice(e))}let k=[...s,...t];if((0,a.flushSync)(()=>{k.length>0?(g.length>0&&th(e=>{let t=new Set(e.map(e=>e.id)),s=g.filter(e=>!t.has(e.id));return[...e,...s]}),eE(f),ec(e=>{let t=new Set(e.map(e=>e.id));return[...k.filter(e=>!t.has(e.id)),...e]})):eE(!1)}),k.length>0&&el){let e=k.filter(e=>e.conversation_id===el.id);e.length>0&&(0,w.mergeCachedMessages)(el.id,e,v,x).catch(()=>{})}if(tK.current=!1,(0,a.flushSync)(()=>eF(!1)),h)if(e)h.scrollTop=h.scrollHeight;else{let e=h.scrollHeight;h.scrollTop=e-p}}catch{T.toast.error("Failed to load older messages")}finally{tK.current=!1,eF(!1),tP.current&&(tP.current.style.overflowAnchor="")}},[el,x,J,en,sr,sn,si,so,sc,sl]),su=en?ez:ez||to.length>0||td;(0,s.useEffect)(()=>{el?.id!==tQ.current&&(tQ.current=el?.id,tZ.current=0)},[el?.id]),(0,s.useEffect)(()=>{eT||!el||ea||en||eo.length>=10||!su||eR||tZ.current>=3||(tZ.current+=1,sd(!0))},[eT,eo.length,su,eR,el,sd,ea,en]);let sm=(0,s.useCallback)(()=>{let e=tP.current;e&&(tY.current=e.scrollHeight-e.scrollTop-e.clientHeight<100)},[]),sh=(0,s.useCallback)((e,t,s)=>{tB.current&&clearInterval(tB.current),tO.current=s??0,tV.current=0,eA(!1),tH.current=e,tB.current=setInterval(async()=>{if(tH.current===e)try{let[s,a]=await Promise.all([(0,b.getTask)(e,x),(0,b.getTaskMessages)(e,x,tO.current||void 0)]),r=tH.current!==e;if(tV.current=0,eA(!1),a.length>0&&!r&&(ej(e=>{let t=new Set(e.map(e=>e.seq)),s=a.filter(e=>!t.has(e.seq));return s.length>0?[...e,...s]:e}),tO.current=Math.max(...a.map(e=>e.seq),tO.current)),"completed"===s.status||"failed"===s.status||"cancelled"===s.status||"superseded"===s.status){if(r)return void(0,b.listMessages)(t,x).then(({messages:e})=>{ec(t=>eb(t,e)),(0,w.mergeCachedMessages)(t,e,null,x).catch(()=>{})}).catch(()=>{});tB.current&&clearInterval(tB.current),tB.current=null,tW.current&&clearTimeout(tW.current),tW.current=setTimeout(()=>{(0,b.markInboxRead)(t,x).then(()=>se.current()).catch(()=>{})},1e3);let a=!tX.current&&tY.current;try{let[e,a]=await Promise.all([(0,b.listMessages)(t,x),(0,b.listArtifacts)(t,x).catch(()=>null)]);ec(t=>eb(t,e.messages)),(0,w.mergeCachedMessages)(t,e.messages,null,x).catch(()=>{}),a&&eD(a),ev(s)}catch{ev(s),T.toast.error("Failed to refresh messages")}a&&requestAnimationFrame(()=>{tP.current?.scrollTo({top:tP.current.scrollHeight,behavior:"smooth"})}),setTimeout(async()=>{if(!tB.current)try{let[s,a]=await Promise.all([(0,b.getActiveTask)(t,x),(0,b.listBufferedMessages)(t,x)]);if(tn(a),s&&s.id!==e){let{messages:e}=await (0,b.listMessages)(t,x);ec(t=>eb(t,e)),(0,w.mergeCachedMessages)(t,e,null,x).catch(()=>{}),ev(s),ej([]),tJ.current?.(s.id,t)}}catch{}},1e3)}else r||ev(s)}catch{if(tH.current!==e)return;tV.current+=1,tV.current>=3&&eA(!0),tV.current>=10&&(tB.current&&clearInterval(tB.current),tB.current=null,T.toast.error("Lost connection to agent"))}},3e3)},[x]);(0,s.useEffect)(()=>{tJ.current=sh},[sh]),(0,s.useEffect)(()=>()=>{tB.current&&clearInterval(tB.current),tW.current&&clearTimeout(tW.current)},[]);let sp=(0,s.useRef)(null);(0,s.useEffect)(()=>{sp.current=ex?.id??null},[ex]),(0,s.useEffect)(()=>B(e=>{if("task.messages"===e.type&&e.taskId===sp.current){let t=e.messages.filter(e=>e.seq>tO.current);t.length>0&&(ej(e=>{let s=new Set(e.map(e=>e.seq)),a=t.filter(e=>!s.has(e.seq));return a.length>0?[...e,...a]:e}),tO.current=Math.max(...t.map(e=>e.seq),tO.current))}if("task.created"===e.type&&e.conversationId===el?.id){(0,b.listMessages)(e.conversationId,x).then(({messages:t})=>{ec(e=>eb(e,t)),(0,w.mergeCachedMessages)(e.conversationId,t,null,x).catch(()=>{})}).catch(()=>{});let t=e.task;sp.current=t.id,ev(t),ej([]),tO.current=0,tJ.current?.(t.id,e.conversationId)}if("conversation.message"===e.type&&e.conversationId===el?.id&&(ec(t=>eb(t,[e.message])),(0,w.appendCachedMessage)(e.conversationId,e.message,x).catch(()=>{})),"task.updated"===e.type&&e.taskId===sp.current&&ev(t=>t?{...t,status:e.status}:t),"artifact.uploaded"===e.type&&e.conversationId===el?.id&&eD(t=>t.some(t=>t.id===e.artifact.id)?t:[...t,e.artifact]),"followup.dispatched"===e.type&&e.conversationId===el?.id){tn(t=>t.filter(t=>t.id!==e.message.id)),(0,b.listBufferedMessages)(e.conversationId,x).then(tn).catch(()=>{}),(0,b.listMessages)(e.conversationId,x).then(({messages:t})=>{ec(e=>eb(e,t)),(0,w.mergeCachedMessages)(e.conversationId,t,null,x).catch(()=>{})}).catch(()=>{});let t=e.task;sp.current=t.id,ev(t),ej([]),tJ.current?.(t.id,e.conversationId)}"followup.created"===e.type&&e.conversationId===el?.id&&tn(t=>(function(e,t){if(e.some(e=>e.id===t.id))return e;let s=new Date(t.created_at).getTime();return e.some(e=>e.id.startsWith("temp-")&&2e3>Math.abs(new Date(e.created_at).getTime()-s))?e:[...e,t]})(t,e.message)),"followup.deleted"===e.type&&e.conversationId===el?.id&&tn(t=>t.filter(t=>t.id!==e.messageId)),"followup.dispatch_failed"===e.type&&e.conversationId===el?.id&&T.toast.error(e.error||"Failed to dispatch follow-up")}),[B,el?.id,x]);let sf=(0,s.useCallback)(e=>{let t=e.target.files;if(!t)return;let s=[];for(let e of Array.from(t))e.size>0xa00000?T.toast.error(`"${e.name}" exceeds 10 MB limit`):s.push(e);s.length>0&&ta(e=>[...e,...s]),e.target.value=""},[]),sg=(0,s.useCallback)(e=>{ta(t=>t.filter((t,s)=>s!==e))},[]),sx=(0,s.useCallback)(()=>{let e=window.getSelection();if(!e||e.isCollapsed||!e.rangeCount)return void tb(null);let t=e.toString().trim();if(!t)return void tb(null);let s=e.getRangeAt(0),a=s.commonAncestorContainer instanceof HTMLElement?s.commonAncestorContainer:s.commonAncestorContainer.parentElement;if(!a?.closest("[data-quote-source]"))return void tb(null);let r=s.getClientRects(),n=r[r.length-1]||s.getBoundingClientRect();tb({text:t,x:n.right,y:n.top-4})},[]);(0,s.useEffect)(()=>(document.addEventListener("selectionchange",sx),()=>document.removeEventListener("selectionchange",sx)),[sx]);let sv=(0,s.useCallback)(()=>{tj&&(ty(tj.text),tb(null),window.getSelection()?.removeAllRanges(),t1.current?.focus())},[tj]),[sk,sy]=(0,s.useState)(!1),sj=(0,s.useRef)(0),sb=(0,s.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),sj.current++,e.dataTransfer.types.includes("Files")&&sy(!0)},[]),sw=(0,s.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),sj.current--,0===sj.current&&sy(!1)},[]),sN=(0,s.useCallback)(e=>{e.preventDefault(),e.stopPropagation()},[]),sS=(0,s.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),sy(!1),sj.current=0;let t=Array.from(e.dataTransfer.files),s=[];for(let e of t)e.size>0xa00000?T.toast.error(`"${e.name}" exceeds 10 MB limit`):s.push(e);s.length>0&&ta(e=>[...e,...s])},[]),sC=(0,s.useCallback)(e=>{let t=e.clipboardData?.items;if(!t)return;let s=[];for(let e=0;e<t.length;e++){let a=t[e];if("file"===a.kind){let e=a.getAsFile();e&&s.push(e)}}if(0===s.length)return;e.preventDefault();let a=[];for(let e of s)e.size>0xa00000?T.toast.error(`"${e.name}" exceeds 10 MB limit`):a.push(e);a.length>0&&ta(e=>[...e,...a])},[]),s_=async()=>{if(el&&!ef){eg(!0);try{let e=await (0,b.cancelActiveTask)(el.id,x);if(e){if(sp.current&&sp.current!==e.id)return;tB.current&&clearInterval(tB.current),tB.current=null;let[t,s]=await Promise.all([(0,b.listMessages)(el.id,x),(0,b.listBufferedMessages)(el.id,x)]);ec(e=>eb(e,t.messages)),(0,w.mergeCachedMessages)(el.id,t.messages,null,x).catch(()=>{}),tn(s),ev(e),ej([])}}catch{T.toast.error("Failed to cancel task")}finally{eg(!1)}}},sT=async()=>{let e=ed.trim();if(!e&&0===ts.length||em||!el)return;if(!e)return void T.toast.error("Please type a message");let t=tk?`> ${tk.split("\n").join("\n> ")}
|
|
2
|
+
|
|
3
|
+
${e}`:e;t9.activeSkill&&(t=`/${t9.activeSkill.name} ${t}`);let s=[...ts];if(eu(""),ta([]),ty(null),t9.clearActiveSkill(),eh(!0),ex&&!["completed","failed","cancelled","superseded"].includes(ex.status)){let e=`temp-${Date.now()}`,a={id:e,conversation_id:el.id,role:"user",content:t,task_id:null,attachment_ids:null,status:"buffered",created_at:new Date().toISOString()};tn(e=>[...e,a]);try{let{message:a}=await (0,b.createBufferedMessage)(el.id,t,x,s.length>0?s:void 0);tn(t=>t.some(e=>e.id===a.id)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?a:t))}catch(a){tn(t=>t.filter(t=>t.id!==e)),eu(t),ta(s),T.toast.error(a instanceof Error?a.message:"Failed to queue follow-up")}finally{eh(!1)}return}let a=`temp-${Date.now()}`,r={id:a,conversation_id:el.id,role:"user",content:t,task_id:null,attachment_ids:null,created_at:new Date().toISOString()};s.length>0&&tv(e=>{let t=new Map(e);return t.set(a,s),t}),ec(e=>[...e,r]),t7();try{let{message:e,task:n}=await (0,b.sendMessage)(el.id,t,x,s.length>0?s:void 0);tv(e=>{if(!e.has(a))return e;let t=new Map(e);return t.delete(a),t}),ec(t=>t.map(t=>t.id===r.id?e:t)),e.attachment_ids&&e.attachment_ids.length>0&&(0,b.listArtifacts)(el.id,x).then(e=>eD(e)).catch(()=>{}),ev(n),ej([]),sh(n.id,el.id)}catch(e){tv(e=>{if(!e.has(a))return e;let t=new Map(e);return t.delete(a),t}),ec(e=>e.filter(e=>e.id!==r.id)),eu(t),ta(s),T.toast.error(e instanceof Error?e.message:"Failed to send message")}finally{eh(!1),t1.current?.focus()}},sM=(0,s.useCallback)(async()=>{if(!ex||!el)return;let e=await (0,b.retryTask)(ex.id,x);ev(e),ej([]),sh(e.id,el.id)},[ex,el,x,sh]),sI=(0,s.useCallback)(async e=>{let t=tS.current.has(e);tN(s=>{let a=new Set(s);return t?a.delete(e):a.add(e),a}),t?(t_(),(0,b.unflagMessage)(x,e).then(()=>{tT()}).catch(()=>{tN(t=>new Set(t).add(e)),tC()})):(tC(),(0,b.flagMessage)(x,e).then(()=>{tT()}).catch(()=>{tN(t=>{let s=new Set(t);return s.delete(e),s}),t_()}))},[x,tC,t_,tT]),sA=(0,s.useCallback)(async e=>{e1(e),eQ(!0),e4(!0),e8(null),e7(null);try{let t=await (0,b.getIssue)(x,e);e5(t),t.issue.latest_task_id&&(0,b.getTask)(t.issue.latest_task_id,x).then(e=>e7(e)).catch(()=>e7(null)),t.issue.trace_id&&(0,b.getTrace)(t.issue.trace_id,x).then(e=>e8(e.tasks)).catch(()=>e8(null))}catch(e){T.toast.error(e instanceof Error?e.message:"Failed to load issue"),eQ(!1)}finally{e4(!1)}},[x]),sz=e2?.issue?.conversation_id??null,sE=e2?.issue?.latest_task_id??null;(0,s.useEffect)(()=>{if(eZ&&e0)return B(e=>{if("task.updated"===e.type&&sE&&e.taskId===sE&&(0,b.getTask)(sE,x).then(e=>e7(e)).catch(()=>{}),"conversation.message"===e.type&&sz&&e.conversationId===sz&&(e5(t=>!t||t.messages.some(t=>t.id===e.message.id)?t:{...t,messages:[...t.messages,e.message]}),"event"===e.message.role&&e.message.content.startsWith("Issue status changed:"))){let t=e.message.content.match(/-> (\w+)/);t&&e5(e=>e?{...e,issue:{...e.issue,status:t[1]}}:e)}"issue.comment"===e.type&&e.issueId===e0&&e5(t=>!t||t.comments.some(t=>t.id===e.comment.id)?t:{...t,comments:[...t.comments,e.comment]})})},[eZ,e0,sz,sE,x,B]);let[sR,sF]=(0,s.useState)(!1),s$=(0,s.useMemo)(()=>!!el&&eo.some(e=>e.conversation_id===el.id),[el,eo]),sD=async()=>{if(el&&s$&&!sR){sF(!0);try{tB.current&&(clearInterval(tB.current),tB.current=null);let e=await (0,b.createConversation)(J,x,V);th(t=>[...t,{agentName:sa,created_at:e.created_at,id:`nap-${el.id}`}]),tc(e=>[{id:el.id,created_at:el.created_at},...e]),ei(e),ev(null),ej([]),eD([]),tn([]),ta([]),tv(new Map),tO.current=0,eA(!1),eE(!1),tG.current=null,t7()}catch{T.toast.error("Failed to start new conversation")}finally{sF(!1)}}},sq=!!ex&&!["completed","failed","cancelled","superseded"].includes(ex.status);return eT?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"flex-1 overflow-y-auto px-3 md:px-5",children:(0,t.jsxs)("div",{className:"mx-auto max-w-2xl py-6 space-y-4",children:[(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(M.Skeleton,{className:"h-10 w-48 rounded-lg"})}),(0,t.jsx)("div",{className:"flex justify-start",children:(0,t.jsxs)("div",{className:"space-y-2 px-1 py-1",children:[(0,t.jsx)(M.Skeleton,{className:"h-4 w-72"}),(0,t.jsx)(M.Skeleton,{className:"h-4 w-56"}),(0,t.jsx)(M.Skeleton,{className:"h-4 w-64"})]})}),(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(M.Skeleton,{className:"h-10 w-36 rounded-lg"})}),(0,t.jsx)("div",{className:"flex justify-start",children:(0,t.jsxs)("div",{className:"space-y-2 px-1 py-1",children:[(0,t.jsx)(M.Skeleton,{className:"h-4 w-64"}),(0,t.jsx)(M.Skeleton,{className:"h-4 w-48"})]})})]})}),(0,t.jsx)("div",{className:"px-3 md:px-5 py-3",children:(0,t.jsx)("div",{className:"mx-auto max-w-2xl",children:(0,t.jsx)(M.Skeleton,{className:"h-18 w-full rounded-xl"})})})]}):eT||el||0!==eo.length?(0,t.jsxs)(t.Fragment,{children:[tj&&(0,t.jsxs)("button",{type:"button",className:"fixed z-50 flex items-center gap-1 px-2 py-1 rounded-md bg-popover border shadow-md text-xs text-popover-foreground hover:bg-accent transition-colors",style:{left:tj.x,top:tj.y,transform:"translate(-100%, -100%)"},onMouseDown:e=>e.preventDefault(),onClick:sv,children:[(0,t.jsx)(D,{className:"size-3"}),"Quote"]}),(0,t.jsxs)("div",{className:"relative flex-1 min-h-0",children:[(0,t.jsx)("div",{className:"h-full overflow-y-auto overflow-x-hidden px-3 md:px-5 thin-scrollbar",ref:tP,onScroll:sm,onClick:e=>{e.target.closest('[data-streamdown="code-block-actions"] button')&&T.toast.success("Copied to clipboard")},children:(0,t.jsxs)("div",{className:"mx-auto max-w-2xl py-6 space-y-4 min-w-0",children:[el&&su&&!eR&&(0,t.jsx)("div",{className:"flex justify-center py-2",children:(0,t.jsx)("button",{onClick:()=>sd(),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"Load earlier messages"})}),eR&&(0,t.jsx)("div",{className:"flex justify-center py-2",children:(0,t.jsx)(p.Loader2,{className:"size-4 animate-spin text-muted-foreground"})}),0===eo.length&&!ex&&(u=k.find(e=>e.id===J),m=u?.created_at&&tg-new Date(u.created_at).getTime()<3e5,h=(z[J]??0)>0,m&&h&&"default"===V?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center py-20 gap-3 animate-[fade-up_400ms_ease-out_both]",children:[(0,t.jsxs)("div",{className:"relative animate-bounce",children:[(0,t.jsx)($.Mail,{className:"size-8 text-primary"}),(0,t.jsxs)("span",{className:"absolute -top-1 -right-1 flex size-3",children:[(0,t.jsx)("span",{className:"animate-ping absolute inline-flex size-full rounded-full bg-primary/60"}),(0,t.jsx)("span",{className:"relative inline-flex size-3 rounded-full bg-primary"})]})]}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground text-center max-w-xs",children:"Your agent is sending you a welcome email."}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground/60 text-center max-w-xs",children:"Wait for the email task in the top-left to complete, then check your inbox. Or send a message below to start chatting."})]}):(0,t.jsx)("p",{className:"text-center text-muted-foreground py-20 text-sm",children:"Send a message to start chatting with the agent."})),tD.map(e=>{if("nap"===e.kind)return(0,t.jsx)(eS,{agentName:sa},e.data.id);if("artifact"===e.kind)return(0,t.jsx)(eC,{artifact:e.data,version:tz.get(e.data.id)??1,hasDuplicates:tE.has(e.data.filename),onClick:tq},`artifact-${e.data.id}`);let s=e.data;return(0,t.jsx)(ep,{msg:s,agents:k,artifacts:e$,activeTask:ex,taskMessages:ek,connectionLost:eI,isLastMessage:eo.length>0&&eo[eo.length-1].id===s.id,stepCount:s.task_id?tp[s.task_id]??0:0,targetConvId:en,workspaceId:x,conversationType:el?.type,pendingFilesByMessage:tx,onArtifactClick:tq,onEmailClick:e=>{eK(e),eV(!0)},onCalendarEventClick:e=>{eG(e),eX(!0)},onIssueClick:e=>sA(e),onRetry:sM,mentionComponents:ey,isFlagged:tw.has(s.id),onToggleFlag:"assistant"===s.role?sI:void 0},s.id)}),ex&&ex.conversation_id===el?.id&&!["completed","failed","cancelled","superseded"].includes(ex.status)&&(0,t.jsx)(j,{task:ex,messages:ek,connectionLost:eI})]})}),(0,t.jsx)(es.ScrollToBottomButton,{scrollRef:tP})]}),el&&(0,t.jsx)(et,{bufferedMessages:tr,onDelete:e=>{tn(t=>t.filter(t=>t.id!==e)),(0,b.deleteBufferedMessage)(el.id,e,x).catch(()=>{tn(tr),T.toast.error("Failed to delete follow-up")})}}),(0,t.jsx)("div",{className:"px-3 md:px-5 py-3",children:(0,t.jsx)("div",{className:"mx-auto max-w-2xl relative",children:(0,t.jsxs)("div",{className:(0,o.cn)("relative flex flex-col rounded-xl border bg-background/60 transition-colors duration-200","focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50",em&&"opacity-50",sk&&"border-ring ring-3 ring-ring/50"),onDragEnter:sb,onDragLeave:sw,onDragOver:sN,onDrop:sS,children:[sk&&(0,t.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center rounded-xl bg-background/80 border-2 border-dashed border-ring pointer-events-none",children:(0,t.jsx)("p",{className:"text-sm text-muted-foreground font-medium",children:"Drop files here"})}),t9.activeSkill&&(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3.5 pt-2.5 pb-1 border-b border-border/50",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0 flex items-center gap-2",children:[(0,t.jsxs)("span",{className:"shrink-0 text-xs font-medium text-primary",children:["/",t9.activeSkill.name]}),t9.activeSkill.isGlobal&&(0,t.jsx)("span",{className:"text-[10px] font-medium text-muted-foreground bg-muted rounded px-1 py-0.5",children:"Global"}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:t9.activeSkill.description})]}),(0,t.jsx)("button",{type:"button",onClick:t9.clearActiveSkill,className:"shrink-0 p-0.5 rounded-sm hover:bg-muted-foreground/20 transition-colors text-muted-foreground",children:(0,t.jsx)(P.X,{className:"size-3.5"})})]}),tk&&(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3.5 pt-2.5 pb-1 border-b border-border/50",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0 flex items-start gap-2",children:[(0,t.jsx)(D,{className:"size-3.5 shrink-0 mt-0.5 text-muted-foreground"}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground truncate",children:[tk.slice(0,120),tk.length>120?"...":""]})]}),(0,t.jsx)("button",{type:"button",onClick:()=>ty(null),className:"shrink-0 p-0.5 rounded-sm hover:bg-muted-foreground/20 transition-colors text-muted-foreground",children:(0,t.jsx)(P.X,{className:"size-3.5"})})]}),(0,t.jsx)(W,{isOpen:t2.isOpen,relatedAgents:t2.relatedAgents,otherAgents:t2.otherAgents,selectedIndex:t2.selectedIndex,onSelect:t2.selectAgent,anchorPos:t2.anchorPos}),(0,t.jsx)(O,{isOpen:t9.isOpen,skills:t9.skills,selectedIndex:t9.selectedIndex,onSelect:t9.selectSkill,anchorPos:t9.anchorPos}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("div",{"aria-hidden":!0,className:"mention-backdrop absolute inset-0 px-3.5 py-2.5 text-base chat-input-line-height whitespace-pre-wrap wrap-break-word pointer-events-none overflow-y-auto thin-scrollbar",dangerouslySetInnerHTML:{__html:ed?U(ed.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),k).replace(/<mention[^>]*>/g,'<span class="mention-highlight">').replace(/<\/mention>/g,"</span>")+(ed.endsWith("\n")?"\n":""):""}}),(0,t.jsx)("textarea",{ref:t1,value:ed,enterKeyHint:"send",onChange:e=>{eu(e.target.value),ti(e.target.selectionStart),requestAnimationFrame(()=>{let t=e.target.previousElementSibling;t&&(t.scrollTop=e.target.scrollTop)})},onKeyDown:e=>{t2.handleMentionKeyDown(e)||!t9.handleSlashKeyDown(e)&&("Enter"!==e.key||e.shiftKey||e.nativeEvent.isComposing||(e.preventDefault(),sT()))},onPaste:sC,onKeyUp:e=>ti(e.target.selectionStart),onClick:e=>ti(e.target.selectionStart),onSelect:e=>ti(e.target.selectionStart),onScroll:e=>{let t=e.target.previousElementSibling;t&&(t.scrollTop=e.target.scrollTop)},placeholder:sq?"Type a follow-up...":"Type a message or / for skills...",rows:1,disabled:em,className:(0,o.cn)("relative field-sizing-content w-full resize-none bg-transparent px-3.5 py-2.5 text-base chat-input-line-height outline-none","placeholder:text-muted-foreground disabled:cursor-not-allowed","min-h-9.5 max-h-50 thin-scrollbar","caret-foreground textarea-text-hidden")})]}),ts.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5 px-3.5 pb-1",children:ts.map((e,s)=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-md bg-muted px-2 py-1 text-xs text-muted-foreground",children:[(0,t.jsx)(F.FileText,{className:"size-3 shrink-0"}),(0,t.jsx)("span",{className:"truncate max-w-30",children:e.name}),(0,t.jsx)("span",{className:"text-muted-foreground/60",children:(0,K.formatSize)(e.size)}),(0,t.jsx)("button",{type:"button",onClick:()=>sg(s),className:"ml-0.5 rounded-sm p-0.5 hover:bg-muted-foreground/20 transition-colors",children:(0,t.jsx)(P.X,{className:"size-3"})})]},`${e.name}-${s}`))}),(0,t.jsxs)("div",{className:"flex items-center justify-between px-2 pb-2 pt-0.5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[!en&&(0,t.jsxs)(I.Tooltip,{children:[(0,t.jsx)(I.TooltipTrigger,{render:e=>(0,t.jsx)("span",{...e,className:(0,o.cn)("inline-flex",e.className),children:(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-sm",onClick:sD,disabled:sR||!el||!s$||sq,className:"rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200",children:sR?(0,t.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,t.jsx)(E,{className:"size-3.5"})})})}),(0,t.jsx)(I.TooltipContent,{side:"top",children:sq?"Wait for the task to finish":s$?"Take a nap":`${sa} is well-rested and ready to go`})]}),(0,t.jsxs)(I.Tooltip,{children:[(0,t.jsxs)(I.TooltipTrigger,{render:(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-sm",onClick:()=>{eH("agent"),eL(!0)},className:"relative rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:[(0,t.jsx)(R,{className:"size-3.5"}),tA.length>0&&(0,t.jsx)("span",{className:"absolute -top-0.5 -right-0.5 flex size-3.5 items-center justify-center rounded-full bg-primary text-[9px] font-medium text-primary-foreground",children:tA.length})]}),(0,t.jsx)(I.TooltipContent,{side:"top",children:"Artifacts"})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)("input",{ref:t0,type:"file",multiple:!0,className:"hidden",onChange:sf}),(0,t.jsxs)(I.Tooltip,{children:[(0,t.jsx)(I.TooltipTrigger,{render:(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-sm",onPointerDown:e=>e.preventDefault(),onClick:()=>t0.current?.click(),disabled:em,className:"rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:(0,t.jsx)(q.Paperclip,{className:"size-3.5"})}),(0,t.jsx)(I.TooltipContent,{side:"top",children:"Attach files"})]}),!sq||ed.trim()||em?(0,t.jsxs)(I.Tooltip,{children:[(0,t.jsx)(I.TooltipTrigger,{render:(0,t.jsx)(l.Button,{size:"icon-sm",onClick:sT,disabled:!ed.trim()||em,className:(0,o.cn)("rounded-lg transition-opacity duration-200",!ed.trim()&&"opacity-40")}),children:em?(0,t.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,t.jsx)(A.ArrowUp,{className:"size-3.5"})}),(0,t.jsx)(I.TooltipContent,{side:"top",children:"Send"})]}):(0,t.jsxs)(I.Tooltip,{children:[(0,t.jsx)(I.TooltipTrigger,{render:(0,t.jsx)(l.Button,{size:"icon-sm",onClick:s_,disabled:ef,className:"rounded-lg bg-red-500/10 text-red-500 hover:bg-red-500/20 transition-colors duration-200"}),children:ef?(0,t.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,t.jsx)(L.Square,{className:"size-3.5 fill-current"})}),(0,t.jsx)(I.TooltipContent,{side:"top",children:"Stop task"})]})]})]})]})})}),(0,t.jsx)(K.ArtifactSheet,{open:eq,onOpenChange:e=>{eL(e),e||setTimeout(()=>{eB(null),eH(null)},300)},artifacts:tR,workspaceId:x,initialArtifact:eP,versionMap:tF,duplicateFilenames:t$}),(0,t.jsx)(G,{open:eO,onOpenChange:e=>{eV(e),e||setTimeout(()=>eK(null),300)},emailId:eU,workspaceId:x}),(0,t.jsx)(Z.CalendarEventSheet,{readonly:!0,open:eY,onOpenChange:e=>{eX(e),e||setTimeout(()=>eG(null),300)},calendarEventId:eJ,workspaceId:x}),(0,t.jsx)(Q.IssueSheet,{open:eZ,onOpenChange:e=>{eQ(e),e||setTimeout(()=>{e1(null),e5(null),e7(null)},300)},agents:k,issue:e2?.issue??null,detail:e2?{messages:e2.messages,comments:e2.comments,artifacts:e2.artifacts,traceId:e2.issue.trace_id}:null,detailLoading:e3,activeTask:e9,traceTasks:e6,slug:v,workspaceId:x,width:te,onWidthChange:tt,onUpdate:async(e,t)=>{try{let s=await (0,b.updateIssue)(x,e,t);e5(a=>a&&a.issue.id===e?{...a,issue:{...a.issue,...t,updated_at:s.updated_at}}:a)}catch(e){T.toast.error(e instanceof Error?e.message:"Failed to update issue")}},onStatusChange:async(e,t)=>{try{await (0,b.updateIssue)(x,e,{status:t}),e5(s=>s&&s.issue.id===e?{...s,issue:{...s.issue,status:t}}:s)}catch(e){T.toast.error(e instanceof Error?e.message:"Failed to update status")}},onCommented:()=>{e0&&sA(e0)},onArtifactClick:tL})]}):(0,t.jsx)("div",{className:"flex flex-1 items-center justify-center text-sm text-muted-foreground",children:"Failed to load conversation"})}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,539817,e=>{"use strict";e.s(["WorkspaceShell",()=>eD,"useSidebarTrigger",()=>eM],539817);var t=e.i(368075),n=e.i(298699),s=e.i(208020),r=e.i(355578),i=e.i(500324),o=e.i(224950),a=e.i(728886),l=e.i(613349),d=e.i(222862),c=e.i(875494),u=e.i(252304);e.i(400175);var x=e.i(261819),m=e.i(450463),g=e.i(685835),h=e.i(329686),f=e.i(804865),p=e.i(970019),j=e.i(789994);function v({item:e,slug:n,onClick:s}){return(0,t.jsx)("a",{href:`/w/${n}/agents/${e.agent_id}?conv=${e.id}`,onClick:s,className:"block w-full py-1.5 px-2 hover:bg-muted rounded-md transition-colors cursor-pointer",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(x.AgentAvatar,{name:e.agent_name,avatarUrl:e.agent_avatar_url,size:24}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-xs font-medium truncate flex-1 min-w-0",children:e.agent_name}),(0,t.jsx)("span",{className:"text-[10px] text-muted-foreground whitespace-nowrap shrink-0",children:(0,m.relativeTime)(e.latest_response_at)})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground truncate mt-0.5",children:e.root_prompt??e.title})]})]})})}function b({isActive:e,onNavigate:s}){let{slug:r,workspaceId:x}=(0,i.useWorkspace)(),{count:m,decrement:y,refresh:N}=(0,c.useInboxCount)(),{openAgentChat:C}=(0,u.useAgentChatSheet)(),[k,w]=(0,n.useState)(null),[z,S]=(0,n.useState)(!1),[T,I]=(0,n.useState)(!1),[A,M]=(0,n.useState)(!1),D=(0,n.useCallback)(async()=>{w(null),S(!0);try{let e=await (0,d.listInboxItems)(x,{limit:30,types:(0,g.getInboxFilterTypes)()});w(e.items)}catch{w([])}finally{S(!1)}},[x]),$=(0,n.useCallback)((e,t)=>{t.metaKey||t.ctrlKey||t.shiftKey||0!==t.button||(t.preventDefault(),y(),I(!1),s?.(),C(e.agent_id,{conversationId:e.id}))},[y,s,C]);return(0,t.jsxs)(o.Popover,{open:T,onOpenChange:e=>{I(e),e&&(D(),N())},children:[(0,t.jsxs)(h.Tooltip,{open:!T&&A,onOpenChange:M,children:[(0,t.jsxs)(o.PopoverTrigger,{render:(0,t.jsx)(h.TooltipTrigger,{render:(0,t.jsx)("button",{type:"button","data-pet-target-id":"inbox",className:(0,l.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",e&&"bg-accent text-foreground")})}),children:[(0,t.jsx)(f.Inbox,{className:"size-4"}),m>0&&(0,t.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,t.jsx)(h.TooltipContent,{side:"right",children:"Unread"})]}),(0,t.jsxs)(o.PopoverContent,{side:"right",className:"w-80 p-0",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-b border-border/50",children:[(0,t.jsx)("span",{className:"text-xs font-medium",children:"Unread"}),(0,t.jsx)(j.default,{href:`/w/${r}/unread`,onClick:()=>{I(!1),s?.()},className:"flex items-center justify-center size-6 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",children:(0,t.jsx)(p.ArrowUpRight,{className:"size-3.5"})})]}),(0,t.jsx)("div",{className:"p-1",children:z?(0,t.jsx)("div",{className:"space-y-1",children:Array.from({length:3}).map((e,n)=>(0,t.jsxs)("div",{className:"py-1.5 px-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(a.Skeleton,{className:"size-6 rounded-full shrink-0"}),(0,t.jsx)(a.Skeleton,{className:"h-3 w-20"}),(0,t.jsx)("div",{className:"flex-1"}),(0,t.jsx)(a.Skeleton,{className:"h-2.5 w-8"})]}),(0,t.jsx)(a.Skeleton,{className:"h-3 w-3/4 mt-1.5 ml-8"})]},n))}):k&&0!==k.length?(0,t.jsx)("div",{className:"max-h-96 overflow-y-auto",children:k.map(e=>(0,t.jsx)(v,{item:e,slug:r,onClick:t=>$(e,t)},e.id))}):(0,t.jsxs)("div",{className:"flex flex-col items-center gap-2 py-6 text-muted-foreground",children:[(0,t.jsx)(f.Inbox,{className:"size-6 opacity-30"}),(0,t.jsx)("p",{className:"text-xs",children:"No unread messages"})]})})]})]})}var y=e.i(74348),N=e.i(618615);function C({item:e,slug:n,onClick:s}){return(0,t.jsx)("a",{href:`/w/${n}/agents/${e.agent_id}?conv=${e.conversation_id}`,onClick:s,className:"block w-full py-1.5 px-2 hover:bg-muted rounded-md transition-colors cursor-pointer",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(x.AgentAvatar,{name:e.agent_name,avatarUrl:e.agent_avatar_url,size:24}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-xs font-medium truncate flex-1 min-w-0",children:e.agent_name}),(0,t.jsx)("span",{className:"text-[10px] text-muted-foreground whitespace-nowrap shrink-0",children:(0,m.relativeTime)(e.flagged_at)})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground truncate mt-0.5",children:e.message_content})]})]})})}function k({isActive:e,onNavigate:s}){let{slug:r,workspaceId:c}=(0,i.useWorkspace)(),{count:x}=(0,y.useFlagCount)(),{openAgentChat:m}=(0,u.useAgentChatSheet)(),[g,f]=(0,n.useState)(null),[v,b]=(0,n.useState)(!1),[w,z]=(0,n.useState)(!1),[S,T]=(0,n.useState)(!1),I=(0,n.useCallback)(async()=>{f(null),b(!0);try{let e=await (0,d.listFlaggedItems)(c,{limit:30});f(e.items)}catch{f([])}finally{b(!1)}},[c]),A=(0,n.useCallback)((e,t)=>{t.metaKey||t.ctrlKey||t.shiftKey||0!==t.button||(t.preventDefault(),z(!1),s?.(),m(e.agent_id,{conversationId:e.conversation_id,messageId:e.message_id}))},[s,m]);return(0,t.jsxs)(o.Popover,{open:w,onOpenChange:e=>{z(e),e&&I()},children:[(0,t.jsxs)(h.Tooltip,{open:!w&&S,onOpenChange:T,children:[(0,t.jsxs)(o.PopoverTrigger,{render:(0,t.jsx)(h.TooltipTrigger,{render:(0,t.jsx)("button",{type:"button",className:(0,l.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",e&&"bg-accent text-foreground")})}),children:[(0,t.jsx)(N.Flag,{className:"size-4"}),x>0&&(0,t.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:x>99?"99+":x})]}),(0,t.jsx)(h.TooltipContent,{side:"right",children:"Flagged"})]}),(0,t.jsxs)(o.PopoverContent,{side:"right",className:"w-80 p-0",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-b border-border/50",children:[(0,t.jsx)("span",{className:"text-xs font-medium",children:"Flagged"}),(0,t.jsx)(j.default,{href:`/w/${r}/flags`,onClick:()=>{z(!1),s?.()},className:"flex items-center justify-center size-6 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",children:(0,t.jsx)(p.ArrowUpRight,{className:"size-3.5"})})]}),(0,t.jsx)("div",{className:"p-1",children:v?(0,t.jsx)("div",{className:"space-y-1",children:Array.from({length:3}).map((e,n)=>(0,t.jsxs)("div",{className:"py-1.5 px-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(a.Skeleton,{className:"size-6 rounded-full shrink-0"}),(0,t.jsx)(a.Skeleton,{className:"h-3 w-20"}),(0,t.jsx)("div",{className:"flex-1"}),(0,t.jsx)(a.Skeleton,{className:"h-2.5 w-8"})]}),(0,t.jsx)(a.Skeleton,{className:"h-3 w-3/4 mt-1.5 ml-8"})]},n))}):g&&0!==g.length?(0,t.jsx)("div",{className:"max-h-96 overflow-y-auto thin-scrollbar",children:g.map(e=>(0,t.jsx)(C,{item:e,slug:r,onClick:t=>A(e,t)},e.id))}):(0,t.jsxs)("div",{className:"flex flex-col items-center gap-2 py-6 text-muted-foreground",children:[(0,t.jsx)(N.Flag,{className:"size-6 opacity-30"}),(0,t.jsx)("p",{className:"text-xs",children:"No flagged messages"})]})})]})]})}var w=e.i(643486),z=e.i(323550),S=e.i(406963);let T=(0,S.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 I=e.i(949035),A=e.i(265481);let M=(0,S.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"}]]),D=(0,S.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"}]]),$=(0,S.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 P=e.i(251638),_=e.i(788666);let R=(0,S.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"}]]),U=(0,S.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 O=e.i(635790),E=e.i(23055),L=e.i(275351),F=e.i(89164),H=e.i(866519),B=e.i(430744);function K(){let{data:e,isPending:r}=(0,E.useSession)(),i=(0,s.useRouter)(),[o,l]=(0,n.useState)(!1);(0,n.useEffect)(()=>{l(!0)},[]);let d=e?.user;if(!o||r||!d)return(0,t.jsx)(a.Skeleton,{className:"size-10 rounded-xl"});let c=(d.name||d.email||"?").charAt(0).toUpperCase();return(0,t.jsxs)(F.DropdownMenu,{children:[(0,t.jsx)(F.DropdownMenuTrigger,{render:(0,t.jsx)("button",{type:"button",title:d.name??d.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,t.jsx)(B.User,{className:"size-4"})}),(0,t.jsxs)(F.DropdownMenuContent,{className:"min-w-52 rounded-lg",side:"right",align:"end",sideOffset:8,children:[(0,t.jsx)(F.DropdownMenuGroup,{children:(0,t.jsx)(F.DropdownMenuLabel,{className:"p-0 font-normal",children:(0,t.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1.5 text-left text-sm",children:[(0,t.jsx)("div",{className:"flex items-center justify-center size-7 rounded-full bg-primary text-primary-foreground text-xs font-medium shrink-0",children:c}),(0,t.jsxs)("div",{className:"grid flex-1 text-left text-sm leading-tight",children:[(0,t.jsx)("span",{className:"truncate font-medium",children:d.name??"User"}),(0,t.jsx)("span",{className:"truncate text-xs text-muted-foreground",children:d.email})]})]})})}),(0,t.jsx)(F.DropdownMenuSeparator,{}),(0,t.jsx)(F.DropdownMenuGroup,{children:(0,t.jsxs)(F.DropdownMenuItem,{onClick:async()=>{await (0,L.clearAllCache)(),await (0,E.signOut)(),i.push("/sign-in")},children:[(0,t.jsx)(H.LogOut,{className:"size-4"}),"Log out"]})})]})]})}var W=e.i(607711),q=e.i(126366),V=e.i(819748),G=e.i(595107),Y=e.i(140434),J=e.i(172635),Q=e.i(532394),X=e.i(855062);let Z={folders:[]},ee=(0,S.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"}]]),et=(0,S.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 en=e.i(844010);function es({agent:e,isActive:s,isPinned:r,isOnline:i,taskCount:a,onClick:d,onPin:c,onUnpin:u,extraContextMenuItems:x,hidePin:m,isDragActive:g}){let h,[f,p]=(0,n.useState)(!1);return(0,t.jsxs)(o.Popover,{open:f,onOpenChange:(e,t)=>{e&&"trigger-press"===t.reason||p(e)},children:[(0,t.jsxs)(W.ContextMenu,{children:[(0,t.jsxs)(o.PopoverTrigger,{openOnHover:!g,delay:200,render:(0,t.jsx)(W.ContextMenuTrigger,{render:(0,t.jsx)("button",{type:"button",onClick:()=>{p(!1),d()},className:(0,l.cn)("relative flex shrink-0 items-center justify-center size-10 rounded-xl text-sm font-medium transition-all duration-200 cursor-pointer",s?"ring-2 ring-primary shadow-sm":"ring-0 bg-secondary text-secondary-foreground hover:bg-accent")})}),children:[(h=(0,q.parseAvatarUrl)(e.avatar_url))?(0,t.jsx)(V.AnimatedAvatar,{config:h,size:40,className:"rounded-xl",isHovered:!1}):e.name.charAt(0).toUpperCase(),(0,t.jsx)("span",{className:(0,l.cn)("absolute bottom-0 right-0 size-2 rounded-full ring-2 ring-background",i?"bg-status-online":"bg-status-offline")})]}),(0,t.jsxs)(W.ContextMenuContent,{children:[!m&&(r?(0,t.jsxs)(W.ContextMenuItem,{onClick:u,children:[(0,t.jsx)(et,{className:"size-3.5 mr-1.5"}),"Unpin"]}):(0,t.jsxs)(W.ContextMenuItem,{onClick:c,children:[(0,t.jsx)(ee,{className:"size-3.5 mr-1.5"}),"Pin to top"]})),x]})]}),(0,t.jsx)(o.PopoverContent,{side:"right",className:"w-fit max-w-80",children:(0,t.jsx)(en.AgentPreviewCard,{agent:e,isOnline:i,activeTaskCount:a})})]})}function er({folder:e,agents:n,isActive:s,onClick:r}){let i=e.agentIds.map(e=>n.find(t=>t.id===e)).filter(Boolean),o=i.slice(0,3),a=i.length-o.length;return(0,t.jsxs)("button",{type:"button",onClick:r,className:(0,l.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",s?"ring-2 ring-primary shadow-sm":"hover:bg-accent"),children:[(0,t.jsx)("div",{className:"relative flex items-center justify-center",style:{width:30,height:20},children:o.map((e,n)=>{let s=(0,q.parseAvatarUrl)(e.avatar_url);return(0,t.jsx)("div",{className:"absolute rounded-full overflow-hidden ring-1 ring-background",style:{width:20,height:20,left:6*n,zIndex:n+1},children:s?(0,t.jsx)(V.AnimatedAvatar,{config:s,size:20,className:"rounded-full",isHovered:!1}):(0,t.jsx)("div",{className:"flex items-center justify-center size-full bg-muted text-[8px] font-medium",children:e.name.charAt(0).toUpperCase()})},e.id)})}),a>0&&(0,t.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:["+",a]})]})}function ei({folder:e,agents:n,isActive:s,isMergeTarget:r,dragActiveId:i,onExpand:o,nodeRefCallback:a}){let{attributes:l,listeners:d,setNodeRef:c,transform:u,transition:x,isDragging:m}=(0,J.useSortable)({id:e.id}),g={transform:Q.CSS.Transform.toString(u),transition:x,opacity:m?.5:1,zIndex:m?10:void 0};return(0,t.jsx)("div",{ref:e=>{c(e),a?.(e)},style:g,...l,...d,className:"transition-all duration-200",children:(0,t.jsx)(er,{folder:r&&i?{...e,agentIds:[...e.agentIds,i]}:e,agents:n,isActive:s,onClick:o})})}function eo({id:e,children:n}){let{attributes:s,listeners:r,setNodeRef:i,transform:o,transition:a,isDragging:l}=(0,J.useSortable)({id:e}),d={transform:Q.CSS.Transform.toString(o),transition:a,opacity:l?.5:1,zIndex:l?10:void 0};return(0,t.jsx)("div",{ref:i,style:d,...s,...r,children:n})}function ea({folder:e,agents:s,activeAgentId:r,isOnline:i,taskCounts:o,anchorRef:a,onAgentClick:l,onRemoveFromFolder:d,onPinAgent:c,onReorder:u,onClose:x}){let m=(0,n.useRef)(null),[g,h]=(0,n.useState)(null),f=(0,n.useCallback)(()=>{if(!a)return;let e=a.getBoundingClientRect();h({left:e.right+8,top:e.top})},[a]);(0,n.useEffect)(()=>{f()},[f]),(0,n.useEffect)(()=>{function e(e){let t=e.target;!m.current||m.current.contains(t)||!a||a.contains(t)||t.closest?.('[data-slot="context-menu-content"]')||x()}function t(e){"Escape"===e.key&&x()}let n=a?.closest("[class*='overflow']")??window;return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),window.addEventListener("resize",f),n.addEventListener("scroll",f,{passive:!0}),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t),window.removeEventListener("resize",f),n.removeEventListener("scroll",f)}},[a,x,f]);let p=(0,G.useSensors)((0,G.useSensor)(G.PointerSensor,{activationConstraint:{distance:5}})),j=e.agentIds.map(e=>s.find(t=>t.id===e)).filter(Boolean);return a&&g?(0,t.jsx)("div",{ref:m,className:"fixed z-50 bg-popover border rounded-xl shadow-md p-1.5 animate-in fade-in-0 zoom-in-95",style:{left:g.left,top:g.top},children:(0,t.jsx)(G.DndContext,{sensors:p,collisionDetection:G.closestCenter,modifiers:[Y.restrictToVerticalAxis],onDragEnd:function(t){let{active:n,over:s}=t;if(!s||n.id===s.id)return;let r=e.agentIds.indexOf(n.id),i=e.agentIds.indexOf(s.id);u((0,J.arrayMove)(e.agentIds,r,i))},children:(0,t.jsx)(J.SortableContext,{items:e.agentIds,strategy:J.verticalListSortingStrategy,children:(0,t.jsx)("div",{className:"flex flex-col gap-1",children:j.map(e=>(0,t.jsx)(eo,{id:e.id,children:(0,t.jsx)(es,{agent:e,isActive:r===e.id,isPinned:!1,isOnline:i,taskCount:o[e.id]??0,hidePin:!0,onClick:()=>{l(e.id),x()},onPin:()=>{c(e.id),x()},onUnpin:()=>{},extraContextMenuItems:(0,t.jsxs)(W.ContextMenuItem,{onClick:()=>d(e.id),children:[(0,t.jsx)(et,{className:"size-3.5 mr-1.5"}),"Remove from group"]})})},e.id))})})})}):null}function el({id:e,children:n}){let{attributes:s,listeners:r,setNodeRef:i,transform:o,transition:a,isDragging:l}=(0,J.useSortable)({id:e}),d={transform:Q.CSS.Transform.toString(o),transition:a,opacity:l?.5:1,zIndex:l?10:void 0};return(0,t.jsx)("div",{ref:i,style:d,...s,...r,children:n})}function ed({onNavigate:e}={}){let o,d=(0,s.useRouter)(),c=(0,s.usePathname)(),u=(0,s.useSearchParams)(),{agents:x,runtimes:m,loading:g,pins:f,unpinnedOrder:p,handlePinAgent:j,handleUnpinAgent:v,handleReorderPins:y,handleReorderUnpinned:N}=(0,r.useAgentContext)(),{slug:C,workspaceId:S}=(0,i.useWorkspace)(),{resolvedTheme:E,setTheme:L}=(0,O.useTheme)(),{activeTaskCounts:F}=(0,r.useAgentContext)(),{folders:H,expandedFolderId:B,setExpandedFolderId:Q,createFolder:ee,addToFolder:et,removeFromFolder:en,dissolveFolder:eo,reorderInFolder:ec,cleanupStaleAgents:eu,getTopLevelItems:ex,removeAgentFromAnyFolder:em,mergeFolders:eg}=function(e){let[t,s]=(0,X.useLocalStorage)(`agent-sidebar-folders:${e}`,Z),[r,i]=(0,n.useState)(null),o=t.folders,a=(0,n.useCallback)(e=>o.find(t=>t.agentIds.includes(e))??null,[o]),l=(0,n.useCallback)(e=>{if(e.length<2)return;let t=crypto.randomUUID();s(n=>{let s=new Set(n.folders.flatMap(e=>e.agentIds)),r=e.filter(e=>!s.has(e));return r.length<2?n:{folders:[...n.folders,{id:t,agentIds:r}]}}),i(t)},[s]),d=(0,n.useCallback)((e,t)=>{s(n=>n.folders.some(e=>e.agentIds.includes(t))?n:{folders:n.folders.map(n=>n.id===e?{...n,agentIds:[...n.agentIds,t]}:n)})},[s]),c=(0,n.useCallback)((e,t)=>{s(n=>({folders:n.folders.map(n=>n.id===e?{...n,agentIds:n.agentIds.filter(e=>e!==t)}:n).filter(e=>e.agentIds.length>1)}))},[s]),u=(0,n.useCallback)(e=>{s(t=>({folders:t.folders.filter(t=>t.id!==e)})),r===e&&i(null)},[s,r]),x=(0,n.useCallback)((e,t)=>{s(n=>({folders:n.folders.map(n=>n.id===e?{...n,agentIds:t}:n)}))},[s]),m=(0,n.useCallback)(e=>{let t=new Set(e);s(e=>{let n=e.folders.map(e=>({...e,agentIds:e.agentIds.filter(e=>t.has(e))})).filter(e=>e.agentIds.length>1);return n.length!==e.folders.length||e.folders.some(e=>e.agentIds.some(e=>!t.has(e)))?{folders:n}:e})},[s]),g=(0,n.useCallback)(e=>{let t=new Map;for(let e of o)for(let n of e.agentIds)t.set(n,e);let n=new Set,s=[];for(let r of e){let e=t.get(r);e?n.has(e.id)||(n.add(e.id),s.push({type:"folder",folder:e})):s.push({type:"agent",id:r})}return s},[o]),h=(0,n.useCallback)((e,t)=>{s(n=>{let s=n.folders.find(t=>t.id===e);return s?{folders:n.folders.map(e=>e.id===t?{...e,agentIds:[...e.agentIds,...s.agentIds]}:e).filter(t=>t.id!==e)}:n})},[s]);return{folders:o,expandedFolderId:r,setExpandedFolderId:i,createFolder:l,addToFolder:d,removeFromFolder:c,dissolveFolder:u,reorderInFolder:x,cleanupStaleAgents:m,getFolderForAgent:a,getTopLevelItems:g,removeAgentFromAnyFolder:(0,n.useCallback)(e=>{s(t=>{let n=t.folders.find(t=>t.agentIds.includes(e));return n?{folders:t.folders.map(t=>t.id===n.id?{...t,agentIds:t.agentIds.filter(t=>t!==e)}:t).filter(e=>e.agentIds.length>1)}:t})},[s]),mergeFolders:h}}(S),[eh,ef]=(0,n.useState)(!1),[ep,ej]=(0,n.useState)(new Set),ev=x.filter(e=>f.has(e.id)).sort((e,t)=>f.get(e.id).position-f.get(t.id).position),eb=x.filter(e=>!f.has(e.id)).sort((e,t)=>{let n=p.get(e.id),s=p.get(t.id);return void 0!==n&&void 0!==s?n-s:void 0!==n?-1:void 0!==s?1:e.name.localeCompare(t.name)}),ey=ex(eb.map(e=>e.id));(0,n.useEffect)(()=>{x.length>0&&eu(x.map(e=>e.id))},[x,eu]);let[eN,eC]=(0,n.useState)(null),[ek,ew]=(0,n.useState)(null),[ez,eS]=(0,n.useState)(!1),eT=(0,n.useRef)(null),eI=(0,n.useRef)(null);(0,n.useEffect)(()=>()=>{eT.current&&clearTimeout(eT.current)},[]);let eA=(0,n.useRef)(new Map),eM=(0,G.useSensors)((0,G.useSensor)(G.PointerSensor,{activationConstraint:{distance:5}})),eD=ey.map(e=>"agent"===e.type?e.id:e.folder.id);function e$(){eT.current&&(clearTimeout(eT.current),eT.current=null),eI.current=null,ew(null),eS(!1)}let eP=(0,n.useCallback)(e=>{em(e),j(e)},[em,j]),e_=`/w/${C}`,eR=c===`${e_}/home`,eU=c===`${e_}/runtimes`,eO=c===`${e_}/calendar`,eE=c.startsWith(`${e_}/unread`),eL=c.startsWith(`${e_}/flags`),eF=c.startsWith(`${e_}/issues`),eH=c===`${e_}/settings`,eB=c===`${e_}/agents/new`,eK=u.get("agent"),eW=c.match(/^\/w\/[^/]+\/agents\/([^/]+)/),eq=eK??eW?.[1]??null,eV=t=>{d.push(`${e_}/agents/${t}`),e?.()},eG=m.some(e=>"online"===e.status),[eY,eJ]=(0,n.useState)(!1),eQ=(0,n.useRef)(!1),eX=(0,n.useRef)(null);(0,n.useEffect)(()=>()=>{eX.current&&clearTimeout(eX.current)},[]);let eZ=(0,n.useCallback)(()=>{eQ.current||(eQ.current=!0,eJ(!0),eX.current=setTimeout(()=>{eQ.current=!1,eJ(!1)},60*Math.max(0,ev.length+eb.length-1)+250))},[ev.length,eb.length]),e0=eN?x.find(e=>e.id===eN):null,e1=eN?H.find(e=>e.id===eN):null,e2=(e,n,s)=>(0,t.jsx)("div",{className:(0,l.cn)(eY&&"sidebar-agent-pop"),style:eY?{animationDelay:`${60*n}ms`}:void 0,children:(0,t.jsx)(es,{agent:e,isActive:eq===e.id,isPinned:f.has(e.id),isOnline:eG,taskCount:F[e.id]??0,onClick:()=>eV(e.id),onPin:()=>eP(e.id),onUnpin:()=>v(e.id),extraContextMenuItems:s,isDragActive:!!eN})}),e5=(0,n.useCallback)(()=>Q(null),[Q]),e3=B?H.find(e=>e.id===B)??null:null;return(0,t.jsxs)("nav",{className:(0,l.cn)("flex h-full w-14 flex-col items-center pt-1 pb-2 gap-0.5",eY&&"relative z-10"),children:[(0,t.jsx)("div",{className:"pb-1.5 mb-1",children:(0,t.jsx)("div",{className:"flex shrink-0 items-center justify-center size-8 [&>button]:pointer-events-none cursor-pointer active:scale-90 transition-transform",onClick:eZ,children:(0,t.jsx)(w.Logo,{size:"sm",iconOnly:!0})})}),(0,t.jsxs)("div",{className:"flex flex-col items-center gap-1.5 pb-1.5 border-b border-border/50 mb-1",children:[(0,t.jsxs)(h.Tooltip,{children:[(0,t.jsx)(h.TooltipTrigger,{render:(0,t.jsx)("button",{type:"button",onClick:()=>{d.push(`${e_}/home`),e?.()},className:(0,l.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",eR&&"bg-accent text-foreground")}),children:(0,t.jsx)($,{className:"size-4"})}),(0,t.jsx)(h.TooltipContent,{side:"right",children:"Home"})]}),(0,t.jsx)(b,{isActive:eE,onNavigate:e}),(0,t.jsx)(k,{isActive:eL,onNavigate:e}),(0,t.jsxs)(h.Tooltip,{children:[(0,t.jsx)(h.TooltipTrigger,{render:(0,t.jsx)("button",{type:"button",onClick:()=>{d.push(`${e_}/issues`),e?.()},className:(0,l.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",eF&&"bg-accent text-foreground")}),children:(0,t.jsx)(P.CircleDot,{className:"size-4"})}),(0,t.jsx)(h.TooltipContent,{side:"right",children:"Issues"})]}),(0,t.jsxs)(h.Tooltip,{children:[(0,t.jsx)(h.TooltipTrigger,{render:(0,t.jsx)("button",{type:"button",onClick:()=>{d.push(`${e_}/calendar`),e?.()},className:(0,l.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",eO&&"bg-accent text-foreground")}),children:(0,t.jsx)(A.CalendarDays,{className:"size-4"})}),(0,t.jsx)(h.TooltipContent,{side:"right",children:"Calendar"})]})]}),(0,t.jsxs)("div",{className:(0,l.cn)("flex flex-1 w-full flex-col items-center gap-1.5 py-1 scrollbar-none",eY?"overflow-visible":"overflow-y-auto"),children:[g?(0,t.jsx)(a.Skeleton,{className:"size-10 rounded-xl"}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(G.DndContext,{sensors:eM,collisionDetection:G.closestCenter,modifiers:[Y.restrictToVerticalAxis],onDragEnd:function(e){let{active:t,over:n}=e;if(!n||t.id===n.id)return;let s=ev.findIndex(e=>e.id===t.id),r=ev.findIndex(e=>e.id===n.id);y((0,J.arrayMove)(ev,s,r).map(e=>e.id))},children:(0,t.jsx)(J.SortableContext,{items:ev.map(e=>e.id),strategy:J.verticalListSortingStrategy,children:ev.map((e,n)=>(0,t.jsx)(el,{id:e.id,children:e2(e,n)},e.id))})}),ev.length>0&&eb.length>0&&(0,t.jsx)("div",{className:"w-6 border-t border-border/50"}),(0,t.jsxs)(G.DndContext,{sensors:eM,collisionDetection:G.closestCenter,modifiers:[Y.restrictToVerticalAxis],onDragStart:function(e){eC(e.active.id),Q(null)},onDragOver:function(e){let{over:t}=e;if(!t)return void e$();let n=t.id;n===eN?e$():eI.current!==n&&(e$(),eI.current=n,eT.current=setTimeout(()=>{eS(!0),ew(n)},300))},onDragEnd:function(e){let{active:t,over:n}=e;if(e$(),eC(null),!n||t.id===n.id)return;let s=t.id,r=n.id;if(ek===r){var i,o;i=s,o=r,H.find(e=>e.id===o)?H.find(e=>e.id===i)?eg(i,o):(em(i),et(o,i)):H.find(e=>e.id===i)?et(i,o):ee([o,i]),ew(null);return}let a=eD.indexOf(s),l=eD.indexOf(r);if(-1===a||-1===l)return;let d=(0,J.arrayMove)(ey,a,l),c=[];for(let e of d)"agent"===e.type?c.push(e.id):c.push(...e.folder.agentIds);N(c)},onDragCancel:function(){e$(),eC(null)},children:[(0,t.jsx)(J.SortableContext,{items:eD,strategy:ez?void 0:J.verticalListSortingStrategy,children:ey.map((e,n)=>{let s;if("folder"===e.type){let n=e.folder,s=n.agentIds.includes(eq??"");return(0,t.jsxs)(W.ContextMenu,{children:[(0,t.jsx)(W.ContextMenuTrigger,{render:(0,t.jsx)("div",{}),children:(0,t.jsx)(ei,{folder:n,agents:x,isActive:s,isMergeTarget:ek===n.id,dragActiveId:eN,onExpand:()=>Q(B===n.id?null:n.id),nodeRefCallback:e=>eA.current.set(n.id,e)})}),(0,t.jsx)(W.ContextMenuContent,{children:(0,t.jsxs)(W.ContextMenuItem,{onClick:()=>eo(n.id),children:[(0,t.jsx)(R,{className:"size-3.5 mr-1.5"}),"Ungroup agents"]})})]},n.id)}if(eh){let s=x.find(t=>t.id===e.id);if(!s)return null;let r=ep.has(s.id);return(0,t.jsxs)("div",{className:"relative cursor-pointer",onClick:()=>{var e;return e=s.id,void ej(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},children:[(0,t.jsx)("div",{className:(0,l.cn)("transition-all duration-150",r&&"ring-2 ring-primary rounded-xl"),children:e2(s,ev.length+n)}),r&&(0,t.jsx)("span",{className:"absolute -top-0.5 -right-0.5 size-3 rounded-full bg-primary ring-2 ring-background"})]},s.id)}let r=x.find(t=>t.id===e.id);return r?(0,t.jsx)(el,{id:r.id,children:ek===r.id&&eN?(0,t.jsx)(er,{folder:{id:"merge-preview",agentIds:[r.id,eN]},agents:x,isActive:!1,onClick:()=>{}}):e2(r,ev.length+n,(s=r.id,(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(W.ContextMenuSeparator,{}),(0,t.jsxs)(W.ContextMenuItem,{onClick:()=>{ej(new Set([s])),ef(!0)},children:[(0,t.jsx)(_.Folder,{className:"size-3.5 mr-1.5"}),"Create group"]}),H.length>0&&(0,t.jsx)(t.Fragment,{children:H.map(e=>{let n=e.agentIds.map(e=>x.find(t=>t.id===e)).filter(Boolean),r=n.slice(0,2).map(e=>e.name).join(", ");return(0,t.jsxs)(W.ContextMenuItem,{onClick:()=>et(e.id,s),children:[(0,t.jsx)(U,{className:"size-3.5 mr-1.5"}),"Move to ",r,n.length>2?"…":""]},e.id)})})]})))},r.id):null})}),(0,t.jsx)(G.DragOverlay,{children:e0?(0,t.jsx)("div",{className:"opacity-80",children:(o=(0,q.parseAvatarUrl)(e0.avatar_url))?(0,t.jsx)(V.AnimatedAvatar,{config:o,size:40,className:"rounded-xl",isHovered:!1}):(0,t.jsx)("div",{className:"flex items-center justify-center size-10 rounded-xl bg-secondary text-sm font-medium",children:e0.name.charAt(0).toUpperCase()})}):e1?(0,t.jsx)("div",{className:"opacity-80",children:(0,t.jsx)(er,{folder:e1,agents:x,isActive:!1,onClick:()=>{}})}):null})]}),eh&&(0,t.jsxs)("div",{className:"flex flex-col gap-1 w-full px-1",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>{ep.size>=2&&ee(Array.from(ep)),ef(!1),ej(new Set)},disabled:ep.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 (",ep.size,")"]}),(0,t.jsx)("button",{type:"button",onClick:()=>{ef(!1),ej(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"})]})]}),!g&&0===x.length&&m.some(e=>"online"===e.status)?(0,t.jsxs)(h.Tooltip,{open:!0,children:[(0,t.jsx)(h.TooltipTrigger,{render:(0,t.jsx)("button",{type:"button",onClick:()=>{d.push(`${e_}/agents/new`),e?.()},className:(0,l.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",eB&&"border-solid border-primary bg-primary/10 animate-none")}),children:(0,t.jsx)(I.Plus,{className:"size-4"})}),(0,t.jsx)(h.TooltipContent,{side:"right",sideOffset:8,children:"Create your first agent"})]}):(0,t.jsxs)(h.Tooltip,{children:[(0,t.jsx)(h.TooltipTrigger,{render:(0,t.jsx)("button",{type:"button",onClick:()=>{d.push(`${e_}/agents/new`),e?.()},className:(0,l.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",eB&&"border-solid border-foreground/25 bg-accent text-foreground")}),children:(0,t.jsx)(I.Plus,{className:"size-4"})}),(0,t.jsx)(h.TooltipContent,{children:"New agent"})]})]}),e3&&(0,t.jsx)(ea,{folder:e3,agents:x,activeAgentId:eq,isOnline:eG,taskCounts:F,anchorRef:eA.current.get(e3.id)??null,onAgentClick:eV,onRemoveFromFolder:e=>en(e3.id,e),onPinAgent:eP,onReorder:e=>ec(e3.id,e),onClose:e5}),(0,t.jsxs)("div",{className:"flex flex-col items-center gap-1 pt-2 border-t border-border/50 mt-1",children:[(0,t.jsxs)(h.Tooltip,{children:[(0,t.jsx)(h.TooltipTrigger,{render:(0,t.jsx)("button",{type:"button",onClick:()=>{d.push(`${e_}/runtimes`),e?.()},className:(0,l.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",eU&&"bg-accent text-foreground")}),children:(0,t.jsx)(z.Monitor,{className:"size-4"})}),(0,t.jsx)(h.TooltipContent,{side:"right",children:"Runtimes"})]}),(0,t.jsxs)(h.Tooltip,{children:[(0,t.jsx)(h.TooltipTrigger,{render:(0,t.jsx)("button",{type:"button",onClick:()=>L("dark"===E?"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,t.jsx)(T,{className:"size-4"})}),(0,t.jsx)(h.TooltipContent,{side:"right",children:"Toggle theme"})]}),(0,t.jsxs)(h.Tooltip,{children:[(0,t.jsx)(h.TooltipTrigger,{render:(0,t.jsx)("button",{type:"button",onClick:()=>{d.push(`${e_}/settings`),e?.()},className:(0,l.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",eH&&"bg-accent text-foreground")}),children:(0,t.jsx)(M,{className:"size-4"})}),(0,t.jsx)(h.TooltipContent,{side:"right",children:"Settings"})]}),(0,t.jsxs)(h.Tooltip,{children:[(0,t.jsx)(h.TooltipTrigger,{render:(0,t.jsx)("button",{type:"button",onClick:()=>{d.push("/workspaces"),e?.()},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,t.jsx)(D,{className:"size-4"})}),(0,t.jsx)(h.TooltipContent,{side:"right",children:"Switch workspace"})]}),(0,t.jsx)(K,{})]})]})}function ec(){let e=(0,s.useRouter)(),n=(0,s.usePathname)(),o=eM(),{slug:d}=(0,i.useWorkspace)(),{agents:c,pins:u,unpinnedOrder:x,runtimes:m,loading:g}=(0,r.useAgentContext)(),h=n===`/w/${d}/home`,f=n.includes("/calendar"),p=n.includes("/issues"),j=n.match(/^\/w\/[^/]+\/agents\/([^/]+)/),v=j?.[1]??null,b=[...c.filter(e=>u.has(e.id)).sort((e,t)=>u.get(e.id).position-u.get(t.id).position),...c.filter(e=>!u.has(e.id)).sort((e,t)=>{let n=x.get(e.id),s=x.get(t.id);return void 0!==n&&void 0!==s?n-s:void 0!==n?-1:void 0!==s?1:e.name.localeCompare(t.name)})];return(0,t.jsxs)("div",{className:"h-10 flex items-center gap-2 px-2 shrink-0",children:[o&&(0,t.jsx)("div",{role:"button",tabIndex:0,"aria-label":"Open sidebar",onClick:o,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),o())},className:"shrink-0 cursor-pointer transition-opacity hover:opacity-70 [&>button]:pointer-events-none",children:(0,t.jsx)(w.Logo,{size:"sm",iconOnly:!0})}),(0,t.jsx)("button",{onClick:()=>e.push(`/w/${d}/home`),"aria-label":"Home",className:(0,l.cn)("shrink-0 p-1 rounded-md transition-colors",h?"text-foreground bg-muted":"text-muted-foreground hover:text-foreground"),children:(0,t.jsx)($,{className:"size-4"})}),(0,t.jsx)("button",{onClick:()=>e.push(`/w/${d}/calendar`),"aria-label":"Calendar",className:(0,l.cn)("shrink-0 p-1 rounded-md transition-colors",f?"text-foreground bg-muted":"text-muted-foreground hover:text-foreground"),children:(0,t.jsx)(A.CalendarDays,{className:"size-4"})}),(0,t.jsx)("button",{onClick:()=>e.push(`/w/${d}/issues`),"aria-label":"Issues",className:(0,l.cn)("shrink-0 p-1 rounded-md transition-colors",p?"text-foreground bg-muted":"text-muted-foreground hover:text-foreground"),children:(0,t.jsx)(P.CircleDot,{className:"size-4"})}),(0,t.jsx)("div",{className:"flex-1 overflow-x-auto flex items-center gap-1.5 py-1 px-0.5 scrollbar-none",children:g?(0,t.jsx)(a.Skeleton,{className:"size-7 rounded-full"}):b.map(n=>{let s=m.find(e=>e.id===n.runtime_id),r=s?.status==="online",i=v===n.id,o=(0,q.parseAvatarUrl)(n.avatar_url);return(0,t.jsxs)("button",{onClick:()=>e.push(`/w/${d}/agents/${n.id}`),"aria-label":n.name,className:(0,l.cn)("shrink-0 relative rounded-full transition-all",i&&"ring-2 ring-primary"),children:[(0,t.jsx)("div",{className:"size-7",children:o?(0,t.jsx)(V.AnimatedAvatar,{config:o,size:28,className:"rounded-full",isHovered:!1}):(0,t.jsx)("div",{className:"size-7 rounded-full bg-muted flex items-center justify-center text-[10px] font-medium",children:n.name.charAt(0).toUpperCase()})}),(0,t.jsx)("span",{className:(0,l.cn)("absolute -bottom-0.5 -right-0.5 size-2 rounded-full border border-background",r?"bg-emerald-500":"bg-muted-foreground/40")})]},n.id)})})]})}var eu=e.i(898707),ex=e.i(422940),em=e.i(790961);let eg=(0,ex.default)(()=>e.A(967422).then(e=>e.CloudCodeMonsterPet),{loadableGenerated:{modules:[928210]},ssr:!1});function eh({boundaryRef:e}){let n=(0,em.useHomePetSettings)(),{notificationToken:s}=(0,c.useInboxCount)();return n.enabled?(0,t.jsx)(eg,{boundaryRef:e,notificationToken:s}):null}e.i(459119),e.i(954194);var ef=e.i(907903),ep=e.i(824863),ej=e.i(779646),ev=e.i(186339),eb=e.i(875061);let ey=(0,S.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 eN=e.i(4581);let eC=(0,S.default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);var ek=e.i(880932);let ew=(0,ep.resolveMode)({nodeEnv:"production",hostname:window.location.hostname}),ez="app"===ew?"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 eS(){let{runtimes:e,workspaceId:s}=(0,r.useAgentContext)(),[i,o]=(0,n.useState)(null),[a,l]=(0,n.useState)(new Set),[c,u]=(0,n.useState)(!1),x=(0,n.useRef)(null);if((0,n.useEffect)(()=>{(0,d.getMinCliVersion)().then(e=>o(e.min_cli_version)).catch(()=>{})},[]),(0,n.useEffect)(()=>()=>{x.current&&clearTimeout(x.current)},[]),"dev"===ew||!i)return null;let m=e.filter(e=>{if("online"!==e.status)return!1;let t=e.metadata?.cli_version;return"string"!=typeof t||!t||!(0,ef.semverGte)(t,i)}),g=new Map;for(let e of m){let t=e.daemon_id??e.id;g.has(t)||g.set(t,e)}if(0===g.size)return null;let f=async e=>{if("app"===ew)return void u(!0);l(t=>new Set(t).add(e.id)),x.current||(x.current=setTimeout(()=>{u(!0)},5e3));try{await (0,d.triggerRuntimeUpdate)(e.id,s)}catch{l(t=>{let n=new Set(t);return n.delete(e.id),n})}};return(0,t.jsx)(ej.Dialog,{open:!0,modal:!0,disablePointerDismissal:!0,onOpenChange:()=>{},children:(0,t.jsxs)(ej.DialogContent,{showCloseButton:!1,children:[(0,t.jsxs)(ej.DialogHeader,{children:[(0,t.jsxs)(ej.DialogTitle,{className:"flex items-center gap-2",children:[(0,t.jsx)(ey,{className:"size-5 text-amber-500"}),"Runtime Update Required"]}),(0,t.jsx)(ej.DialogDescription,{children:"app"===ew?`Your local Alook app is running an outdated version (minimum required: v${i}). Please update to continue.`:`The following machine(s) are running an outdated CLI version (minimum required: v${i}). Please update to continue.`})]}),(0,t.jsx)("div",{className:"space-y-3 mt-2",children:[...g.entries()].map(([e,n])=>{let s=n.metadata?.cli_version,r=a.has(n.id);return(0,t.jsxs)("div",{className:"flex items-center justify-between rounded-lg border p-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 min-w-0",children:[(0,t.jsx)("span",{className:"size-2 shrink-0 rounded-full bg-emerald-500"}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:"text-sm font-medium truncate",children:n.device_info||e.slice(0,12)}),(0,t.jsxs)("div",{className:"text-xs text-muted-foreground flex items-center gap-2 mt-0.5",children:[(0,t.jsxs)("span",{children:["v",s||"unknown"]}),(0,t.jsxs)(eb.Badge,{variant:"outline",className:"text-[10px] px-1.5 py-0 text-amber-500 border-amber-500/30",children:["requires v",i]})]})]})]}),(0,t.jsxs)(ev.Button,{size:"sm",variant:"outline",disabled:r,onClick:()=>f(n),children:[(0,t.jsx)(eN.RefreshCw,{className:`size-3.5 ${r?"animate-spin":""}`}),r?"Updating...":"Update"]})]},e)})}),c&&(0,t.jsxs)("div",{className:"mt-3 rounded-md bg-muted/50 border border-dashed p-2.5 text-xs text-muted-foreground",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5 font-medium text-foreground mb-1",children:[(0,t.jsx)(eC,{className:"size-3"}),"Update taking too long?"]}),(0,t.jsx)("p",{className:"mb-1",children:"Run this command on the machine to update manually:"}),(0,t.jsxs)(h.Tooltip,{children:[(0,t.jsx)(h.TooltipTrigger,{render:(0,t.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(ez),ek.toast.success("Copied to clipboard")}}),children:ez}),(0,t.jsx)(h.TooltipContent,{children:"Click to copy"})]})]})]})})}var eT=e.i(996718),eI=e.i(332680);let eA=(0,n.createContext)(null);function eM(){return(0,n.useContext)(eA)}function eD({children:e}){let s=(0,eT.useIsMobile)(),{slug:r}=(0,i.useWorkspace)(),[o,a]=(0,n.useState)(!1),l=(0,n.useRef)(null);return s?(0,t.jsx)(eA.Provider,{value:()=>a(!0),children:(0,t.jsx)(u.AgentChatSheetProvider,{children:(0,t.jsxs)("div",{ref:l,className:"flex flex-col h-dvh overflow-hidden relative",children:[(0,t.jsx)(eu.GradientBackground,{}),(0,t.jsxs)("div",{className:"flex-1 min-h-0 px-2 pb-2 pt-2 flex flex-col",children:[(0,t.jsx)(ec,{}),(0,t.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:e})]}),(0,t.jsx)(eI.Sheet,{open:o,onOpenChange:a,children:(0,t.jsx)(eI.SheetContent,{side:"left",showCloseButton:!1,style:{width:56},className:"p-0",children:(0,t.jsx)(ed,{onNavigate:()=>a(!1)})})}),(0,t.jsx)(eh,{boundaryRef:l,slug:r}),(0,t.jsx)(eS,{})]})})}):(0,t.jsx)(u.AgentChatSheetProvider,{children:(0,t.jsxs)("div",{ref:l,className:"flex h-dvh overflow-hidden relative",children:[(0,t.jsx)(eu.GradientBackground,{}),(0,t.jsx)(ed,{}),(0,t.jsx)("div",{className:"flex-1 flex flex-col min-w-0 pt-2 pr-2 pb-2",children:(0,t.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:e})}),(0,t.jsx)(eh,{boundaryRef:l,slug:r}),(0,t.jsx)(eS,{})]})})}}]);
|