@alook/app 0.0.61 → 0.0.62
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/web/.open-next/.build/durable-objects/queue.js +5 -5
- package/bundled/web/.open-next/assets/BUILD_ID +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0-mpehtea82gj.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0.2cm-frpsn46.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/02l4ozfj-bus0.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/02m~kr41yqpgu.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/02oywn5r~vty4.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/037bobdy3gbd3.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/05pjee3c_08ry.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/09fl.5j3fsb-~.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/09g3tf250sygu.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0_.5~wi4~pwek.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0b~ih_tyx7kz2.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0e68yx9h-f6.4.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0h--f0f9fru_b.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{0ckywgfha.zc8.js → 0ioy_kjd42n1w.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0khqgglj_9zdp.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0l-ma4.~.hl0g.js +3 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0mq7ossd6d7or.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0ojkmo0k890x0.js +63 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{05x9e8ndr.o12.js → 0pg7cnm39yoom.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0q8gx414vnsur.js +3 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0uht5kak3uat9.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0v5mv7gpv3g0e.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0v~f5hjxbtvse.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0wehjlyi0zl04.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0ypg5.fp9-.a2.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0zplaqwk4a-ro.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/1053vndt~uadk.js +2 -0
- package/bundled/web/.open-next/cache/{ouY0UJDBkwSzFlKOVDaoD → SuuOnXXAS0ccoLD99O2QP}/_global-error.cache +1 -1
- package/bundled/web/.open-next/cache/{ouY0UJDBkwSzFlKOVDaoD → SuuOnXXAS0ccoLD99O2QP}/_not-found.cache +1 -1
- package/bundled/web/.open-next/cache/{ouY0UJDBkwSzFlKOVDaoD → SuuOnXXAS0ccoLD99O2QP}/sitemap.xml.cache +1 -1
- package/bundled/web/.open-next/cloudflare/cache-assets-manifest.sql +1 -1
- package/bundled/web/.open-next/cloudflare/init.js +1 -1
- package/bundled/web/.open-next/dynamodb-provider/dynamodb-cache.json +1 -1
- package/bundled/web/.open-next/middleware/handler.mjs +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/BUILD_ID +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/build-manifest.json +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/prerender-manifest.json +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/invite/[token]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/studio/new/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/activity/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/[convId]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/email/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/files/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/meetings/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/new/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/calendar/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/flags/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/help/email-setup/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/home/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/issues/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/runtimes/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/settings/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/threads/[traceId]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/threads/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/unread/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/workspaces/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(auth)/sign-in/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/[id]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[turbopack]_runtime.js +11 -13
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0jkll-p._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0tpn293._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[turbopack]_runtime.js +11 -13
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_00tia4h._.js +65 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_01-aa1p._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_06cffai._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_07nc8as._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0_gdn-k._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0grgpqw._.js → _0icffya._.js} +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0xd~7d0._.js → _0l89059._.js} +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/node_modules__pnpm_07nfm8a._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/node_modules__pnpm_0d6x0l6._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/node_modules__pnpm_0ivfx3i._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/node_modules__pnpm_0o~nukr._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_0dvds67._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_0stugv_._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_agents_[id]_activity_page_tsx_0sthpjy._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_agents_[id]_email_page_tsx_09mq1-g._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_agents_[id]_files_page_tsx_11eh380._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_agents_[id]_layout_tsx_0juu2um._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_flags_page_tsx_01u6ba1._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_home_page_tsx_0lkx78f._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_issues_page_tsx_0_k5j03._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_settings_page_tsx_0fdcupy._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_threads_[traceId]_page_tsx_00bx721._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_00xgo_-._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_0nj0euq._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_avatar_index_ts_0v3qm09._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_issues_issue-sheet_tsx_02fma1.._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_ui_tooltip_tsx_01x-izi._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_workspace-shell_tsx_0479plk._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-build-manifest.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-manifest.json +5 -5
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.json +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs +31 -31
- package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +202 -238
- package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +3 -3
- package/package.json +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0.sz8uokz4r3z.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/02eur_~.0beq1.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0897z5r~zf_64.js +0 -3
- package/bundled/web/.open-next/assets/_next/static/chunks/09cf5_rxgdweq.js +0 -3
- package/bundled/web/.open-next/assets/_next/static/chunks/09g0nda2m8qs6.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/09xlaawkmeo-1.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0_r2q9b0p3~43.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0cevbp17ckdk8.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0cfcuvz1i5ib-.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0d_~94mojr73c.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0fv1xxx5~japv.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0h3_qte--w1zd.js +0 -2
- package/bundled/web/.open-next/assets/_next/static/chunks/0kv3zo-jlu8ys.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0ns6eebx34b7y.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0s.jfkn9-ghod.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0tzluwv791ius.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0v1r-i08gf2_r.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0vy6bvkl._5cz.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0wh92yl8ru81f.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0wiz11twa9nza.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0xgmeffaed_g1.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/11awu4cnrpf_2.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/13ghp4pyj_rtr.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/15b8tj5zgbyem.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/17vrtnfkomuz6.js +0 -63
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/0r03_@base-ui_react_esm_0rw~qhg._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__07kw94m._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0j4zfi1._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_00lrpyh._.js +0 -65
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0388irl._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0cq9vt9._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0rb2_75._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0rkr3t4._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/node_modules__pnpm_01s8r3n._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/node_modules__pnpm_0r.85x_._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/node_modules__pnpm_0rwgvis._.js +0 -3
- /package/bundled/web/.open-next/assets/_next/static/{ouY0UJDBkwSzFlKOVDaoD → SuuOnXXAS0ccoLD99O2QP}/_buildManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{ouY0UJDBkwSzFlKOVDaoD → SuuOnXXAS0ccoLD99O2QP}/_clientMiddlewareManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{ouY0UJDBkwSzFlKOVDaoD → SuuOnXXAS0ccoLD99O2QP}/_ssgManifest.js +0 -0
- /package/bundled/web/.open-next/cache/{ouY0UJDBkwSzFlKOVDaoD → SuuOnXXAS0ccoLD99O2QP}/robots.txt.cache +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
module.exports=[831893,896393,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(588339),e=a.i(752792),f=a.i(506180),g=a.i(626806);let h=["user_dm_message"],i=["user_dm_message"];function j(){return h}a.s(["INBOX_FILTER_LABELS",0,{user_dm_message:"DM",calendar_event:"Calendar",email_notification:"Email"},"INBOX_FILTER_TYPES",0,["user_dm_message","calendar_event","email_notification"],"MANDATORY_INBOX_TYPES",0,i,"getInboxFilterTypes",0,j,"setInboxFilterTypes",0,function(a){let b=[...a];for(let a of i)b.includes(a)||b.unshift(a);localStorage.setItem("inbox-filter-types",JSON.stringify(b))}],896393);let k=(0,c.createContext)(null);a.s(["InboxCountProvider",0,function({children:a}){let{workspaceId:h}=(0,f.useWorkspace)(),{subscribeWs:i,agents:l}=(0,e.useAgentContext)(),[m,n]=(0,c.useState)(0),o=(0,c.useRef)(null),p=(0,c.useRef)(null),q=(0,c.useRef)(l);q.current=l;let r=(0,c.useCallback)(()=>{let a=j();(0,d.getInboxCount)(h,{types:a}).then(a=>{let b=o.current;if(o.current=a.count,n(a.count),null!==b&&a.count>b){let a=p.current?q.current.find(a=>a.id===p.current):void 0;(0,g.sendTaskNotification)("completed",a?.name)}p.current=null}).catch(()=>{})},[h]),s=(0,c.useCallback)(()=>{n(a=>{let b=Math.max(0,a-1);return o.current=b,b})},[]);return(0,c.useEffect)(()=>{r()},[r]),(0,c.useEffect)(()=>i(a=>{"task.updated"===a.type&&("completed"===a.status||"failed"===a.status)&&(p.current=a.agentId,r())}),[i,r]),(0,c.useEffect)(()=>{let a=setInterval(r,3e4);return()=>clearInterval(a)},[r]),(0,b.jsx)(k.Provider,{value:{count:m,refresh:r,decrement:s},children:a})},"useInboxCount",0,function(){let a=(0,c.useContext)(k);if(!a)throw Error("useInboxCount must be used within InboxCountProvider");return a}],831893)},70813,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(588339),e=a.i(506180);let f=(0,c.createContext)(null);a.s(["FlagCountProvider",0,function({children:a}){let{workspaceId:g}=(0,e.useWorkspace)(),[h,i]=(0,c.useState)(0),j=(0,c.useCallback)(()=>{(0,d.getFlaggedCount)(g).then(a=>i(a.count)).catch(()=>{})},[g]),k=(0,c.useCallback)(()=>{i(a=>a+1)},[]),l=(0,c.useCallback)(()=>{i(a=>Math.max(0,a-1))},[]);return(0,c.useEffect)(()=>{j()},[j]),(0,b.jsx)(f.Provider,{value:{count:h,refresh:j,increment:k,decrement:l},children:a})},"useFlagCount",0,function(){let a=(0,c.useContext)(f);if(!a)throw Error("useFlagCount must be used within FlagCountProvider");return a}])},127026,221959,781418,a=>{"use strict";a.s(["AgentChatView",()=>aG,"getEventIconType",()=>aA],127026);var b=a.i(749314),c=a.i(437199),d=a.i(131675),e=a.i(207058),f=a.i(506180),g=a.i(732254),h=a.i(464830),i=a.i(75118),j=a.i(556371),k=a.i(95590),l=a.i(790090);let m=(0,l.default)("brain",[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]]);var n=a.i(180222),o=a.i(688832),p=a.i(527779);a.i(343563);var q=a.i(347788);function r(a){return a.replace(/_/g," ").replace(/\b\w/g,a=>a.toUpperCase())}let s=new Set(["status","log"]);function t({item:a,isRunning:d,isLast:e}){let f=(0,c.useMemo)(()=>{if(!a.input)return null;try{return JSON.stringify(a.input,null,2)}catch{return String(a.input)}},[a.input]);return f?(0,b.jsxs)("details",{className:"group/tool",children:[(0,b.jsxs)("summary",{className:(0,i.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,b.jsx)(k.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/tool:rotate-90"}),(0,b.jsx)("span",{className:"font-medium text-foreground/80",children:r(a.tool)}),d&&e&&(0,b.jsx)("span",{className:"ml-auto size-1.5 rounded-full bg-primary/60 animate-pulse"}),d&&!e&&(0,b.jsx)(j.Check,{className:"ml-auto size-3 text-emerald-500"})]}),(0,b.jsx)("div",{className:"mt-1 mb-2 ml-5",children:(0,b.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:f})})]}):(0,b.jsxs)("div",{className:(0,i.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md","text-sm text-muted-foreground"),children:[(0,b.jsx)("span",{className:"font-medium text-foreground/80",children:r(a.tool)}),d&&e&&(0,b.jsx)("span",{className:"ml-auto size-1.5 rounded-full bg-primary/60 animate-pulse"}),d&&!e&&(0,b.jsx)(j.Check,{className:"ml-auto size-3 text-emerald-500"})]})}function u({item:a}){return a.content?(0,b.jsxs)("details",{className:"group/think",children:[(0,b.jsxs)("summary",{className:(0,i.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,b.jsx)(k.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/40 transition-transform duration-150 group-open/think:rotate-90"}),(0,b.jsx)(m,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{children:"Thinking..."})]}),(0,b.jsx)("div",{className:"mt-1 mb-2 ml-5",children:(0,b.jsx)("p",{className:"text-sm italic text-muted-foreground/60 whitespace-pre-wrap",children:a.content})})]}):(0,b.jsxs)("div",{className:(0,i.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md","text-sm text-muted-foreground/60 italic"),children:[(0,b.jsx)(m,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{children:"Thinking..."})]})}function v({value:a}){let d=(0,c.useRef)(a),[e,f]=(0,c.useState)({current:a,previous:null}),[g,h]=(0,c.useState)("idle");return(0,c.useEffect)(()=>{if(a===d.current)return;let b=d.current;d.current=a,f({current:a,previous:b}),requestAnimationFrame(()=>{requestAnimationFrame(()=>{h("animating")})});let c=setTimeout(()=>{h("idle"),f(a=>({...a,previous:null}))},300);return()=>clearTimeout(c)},[a]),(0,b.jsxs)("span",{style:{display:"inline-block",position:"relative",overflow:"hidden",height:"1.2em",lineHeight:"1.2em",verticalAlign:"bottom"},children:[null!==e.previous&&(0,b.jsx)("span",{style:{display:"block",position:"absolute",inset:"0",transition:"animating"===g?"transform 250ms ease-out, opacity 250ms ease-out":"none",transform:"animating"===g?"translateY(-100%)":"translateY(0)",opacity:+("animating"!==g)},children:e.previous}),(0,b.jsx)("span",{style:{display:"block",transition:"animating"===g?"transform 250ms ease-out, opacity 250ms ease-out":"none",transform:null!==e.previous&&"animating"!==g?"translateY(100%)":"translateY(0)",opacity:+(null===e.previous||"animating"===g)},children:e.current})]})}function w({task:a,messages:d,connectionLost:e,onRetry:f,stepCountHint:g,onExpandSteps:j,stepsLoading:l}){let[m,r]=(0,c.useState)(!1),x=(0,c.useMemo)(()=>(function(a){let b=[],c=new Map;for(let d of a){if(s.has(d.type))continue;let a=d.id||`seq-${d.seq}`;switch(d.type){case"tool-use":{let e=d.call_id,f={kind:"tool-call",id:a,tool:d.tool,input:d.input};e&&c.set(e,f),b.push(f);break}case"tool-result":break;case"text":b.push({kind:"text",id:a,content:d.content});break;case"thinking":b.push({kind:"thinking",id:a,content:d.content});break;case"error":b.push({kind:"status",id:a,content:d.content||d.output,type:"error"})}}return b})(d),[d]),y="completed"!==a.status&&"failed"!==a.status&&"cancelled"!==a.status&&"superseded"!==a.status,z=x.filter(a=>"text"!==a.kind),A=x.filter(a=>"text"===a.kind),B=A.length>0?A[A.length-1]:null,C=(0,c.useRef)(null),D=(0,c.useRef)(null),E=(0,c.useRef)(!1);(0,c.useEffect)(()=>{y&&C.current&&(C.current.scrollTop=C.current.scrollHeight)},[z.length,y]),(0,c.useEffect)(()=>{y&&D.current&&(D.current.scrollTop=D.current.scrollHeight)},[A.length,y]);let F=y?A:A.slice(0,-1),G=!y&&null!==B,H=z.length>0?z.length:g??0,I=z.length>0||g&&g>0;return(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)("div",{className:"flex items-center gap-2",children:"running"===a.status?(0,b.jsxs)(h.Badge,{variant:"secondary",className:"gap-1.5 relative overflow-hidden",children:[(0,b.jsx)("span",{className:"size-1.5 rounded-full bg-primary animate-pulse"}),"Working",(0,b.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%)"}})]}):y?(0,b.jsxs)(h.Badge,{variant:"secondary",className:"relative overflow-hidden",children:[a.status,(0,b.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,b.jsx)(h.Badge,{variant:"secondary",children:a.status})}),I&&(0,b.jsxs)("details",{className:"group/stream pl-1",onToggle:a=>{a.currentTarget.open&&!E.current&&j&&(E.current=!0,j())},children:[(0,b.jsxs)("summary",{className:(0,i.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,b.jsx)(k.ChevronRight,{className:(0,i.cn)("size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/stream:rotate-90",y&&"animate-pulse text-primary")}),(0,b.jsxs)("span",{children:[(0,b.jsx)(v,{value:H})," ",1===H?"step":"steps"]})]}),(0,b.jsxs)("div",{ref:C,className:"mt-1 max-h-80 overflow-y-auto overflow-x-hidden thin-scrollbar space-y-0.5 pl-1",children:[l&&0===z.length&&(0,b.jsxs)("div",{className:"flex items-center gap-2 py-2 text-xs text-muted-foreground",children:[(0,b.jsx)(p.Loader2,{className:"size-3 animate-spin"}),(0,b.jsx)("span",{children:"Loading steps..."})]}),z.map((a,c)=>{switch(a.kind){case"tool-call":return(0,b.jsx)(t,{item:a,isRunning:y,isLast:c===z.length-1},a.id);case"thinking":return(0,b.jsx)(u,{item:a},a.id);case"status":return(0,b.jsxs)("p",{className:"text-xs text-muted-foreground px-1",children:["error"===a.type&&(0,b.jsx)(n.AlertCircle,{className:"inline size-3 mr-1 -mt-0.5 text-destructive"}),a.content]},a.id);default:return null}})]})]}),F.length>0&&(0,b.jsxs)("details",{className:"group/midtext pl-1",open:!G||void 0,children:[(0,b.jsxs)("summary",{className:(0,i.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,b.jsx)(k.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/midtext:rotate-90"}),(0,b.jsxs)("span",{children:[(0,b.jsx)(v,{value:F.length})," thinking"]})]}),(0,b.jsx)("div",{ref:D,className:"mt-1 space-y-2 pl-1",children:F.map(a=>(0,b.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-0.5 text-sm text-muted-foreground",children:(0,b.jsx)(q.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},children:a.content})},a.id))})]}),G&&!j&&(0,b.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-1 text-base text-foreground",children:(0,b.jsx)(q.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},children:B.content})}),"failed"===a.status&&a.error&&(0,b.jsxs)("div",{className:"flex items-center gap-2 mt-2",children:[(0,b.jsxs)("p",{className:"text-sm text-destructive flex items-center gap-1.5",children:[(0,b.jsx)(n.AlertCircle,{className:"size-3.5 shrink-0"}),a.error]}),f&&(0,b.jsxs)("button",{type:"button",onClick:async()=>{r(!0);try{await f()}finally{r(!1)}},disabled:m,className:"shrink-0 text-xs text-muted-foreground hover:text-foreground transition-colors cursor-pointer disabled:opacity-50 flex items-center gap-1",children:[m?(0,b.jsx)(p.Loader2,{className:"size-3 animate-spin"}):(0,b.jsx)(o.RotateCw,{className:"size-3"}),"Retry"]})]}),e&&(0,b.jsx)("p",{className:"text-sm text-muted-foreground animate-pulse mt-1",children:"Connection lost — retrying..."})]})}var x=a.i(588339),y=a.i(752792),z=a.i(831893),A=a.i(70813),B=a.i(452906),C=a.i(921584),D=a.i(25668),E=a.i(525132),F=a.i(763510);let G=(0,l.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"}]]),H=(0,l.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 I=a.i(784847),J=a.i(918768);let K=(0,l.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"}]]),L=(0,l.default)("mic",[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3",key:"s6n7sd"}]]);var M=a.i(700425),N=a.i(884068),O=a.i(58643);function P({agent:a,isSelected:c,onSelect:d}){return(0,b.jsxs)("button",{type:"button","data-mention-item":!0,className:(0,i.cn)("flex w-full items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors",c?"bg-accent text-accent-foreground":"hover:bg-accent/50"),onMouseDown:b=>{b.preventDefault(),d(a)},children:[(0,b.jsx)("span",{className:"truncate font-medium",children:a.name}),a.email_handle&&(0,b.jsxs)("span",{className:"truncate text-xs text-muted-foreground",children:[a.email_handle,"@alook.ai"]})]})}function Q({isOpen:a,relatedAgents:d,otherAgents:e,selectedIndex:f,onSelect:g,anchorPos:h}){let i=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!i.current)return;let a=i.current.querySelectorAll("[data-mention-item]")[f];a?.scrollIntoView({block:"nearest"})},[f]);let j=d.length+e.length;if(!a||0===j)return null;let k=d.length>0&&e.length>0;return(0,b.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:h.top-4,left:h.left,transform:"translateY(-100%)"},children:(0,b.jsxs)("div",{ref:i,className:"max-h-50 overflow-y-auto py-1 thin-scrollbar",children:[d.map((a,c)=>(0,b.jsx)(P,{agent:a,isSelected:c===f,onSelect:g},a.id)),k&&(0,b.jsx)("div",{className:"mx-3 my-1 border-t border-border"}),e.map((a,c)=>(0,b.jsx)(P,{agent:a,isSelected:d.length+c===f,onSelect:g},a.id))]})})}function R(a,b){if(b>=a.length)return!0;let c=a.charCodeAt(b);return(!(c>=48)||!(c<=57))&&(!(c>=65)||!(c<=90))&&(!(c>=97)||!(c<=122))&&95!==c}function S(a,b){if(!a||0===b.length||!a.includes("@"))return a;let c=b.slice().sort((a,b)=>b.name.length-a.name.length),d=[];for(let b=0;b<a.length;b++){if("@"!==a[b]||!function(a,b){if(0===b)return!0;let c=a.charCodeAt(b-1);return(!(c>=48)||!(c<=57))&&(!(c>=65)||!(c<=90))&&(!(c>=97)||!(c<=122))&&95!==c}(a,b))continue;let e=b+1;for(let f of c){let c=e+f.name.length;if(c>a.length||a.slice(e,c).toLowerCase()!==f.name.toLowerCase())continue;let g=c,h=a.slice(c).match(/^ \([a-zA-Z0-9-]+@alook\.ai\)/);if(h&&(g=c+h[0].length),(h||R(a,c))&&(!h||R(a,g))){if(d.some(a=>b>=a.start&&b<a.end))break;d.push({start:b,end:c,name:f.name,agentId:f.id});break}}}let e=a;for(let a=d.length-1;a>=0;a--){let b=d[a],c=e.slice(b.start,b.end);e=e.slice(0,b.start)+`<mention data-agent-id="${b.agentId}">${c}</mention>`+e.slice(b.end)}return e}var T=a.i(7455);let U=(0,l.default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);var V=a.i(143788);let W=new Set(["application/json","application/xml","application/javascript","application/typescript","application/x-yaml","application/toml","application/sql"]);function X(a){return!!(a.startsWith("text/")||W.has(a))}function Y(a){return a.startsWith("text/html")}function Z(a){return a.startsWith("image/")}function $(a,b,c){let d=new URLSearchParams({workspace_id:b});return c&&d.set("download","1"),`/api/artifacts/${a}/content?${d}`}function _({artifact:a,workspaceId:d}){let[e,f]=(0,c.useState)(null),[g,h]=(0,c.useState)(!1),i=$(a.id,d);if((0,c.useEffect)(()=>{X(a.content_type)&&!Y(a.content_type)&&(h(!0),f(null),(0,x.getArtifactContent)(a.id,d).then(f).catch(()=>f("(failed to load content)")).finally(()=>h(!1)))},[a.id,a.content_type,d]),g)return(0,b.jsx)("div",{className:"flex justify-center py-8",children:(0,b.jsx)(p.Loader2,{className:"size-5 animate-spin text-muted-foreground"})});if(Z(a.content_type))return(0,b.jsx)("div",{className:"flex justify-center",children:(0,b.jsx)("img",{src:i,alt:a.filename,className:"max-w-full rounded-md"})});if(Y(a.content_type))return(0,b.jsx)(aa,{url:i,title:a.filename});if(X(a.content_type)){var j;return(j=a.filename,/\.md$/i.test(j))?(0,b.jsx)("div",{className:"markdown text-sm",children:(0,b.jsx)(q.Streamdown,{children:e??""})}):(0,b.jsx)("pre",{className:"whitespace-pre-wrap text-sm font-mono text-foreground",children:e})}return(0,b.jsxs)("div",{className:"flex flex-col items-center gap-3 py-8 text-center",children:[(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:"This file type cannot be previewed."}),(0,b.jsxs)("a",{href:$(a.id,d,!0),download:a.filename,className:"inline-flex items-center gap-1.5 rounded-md border border-input bg-background px-3 py-1.5 text-sm font-medium hover:bg-accent hover:text-accent-foreground transition-colors",children:[(0,b.jsx)(U,{className:"size-3.5"}),"Download"]})]})}function aa({url:a,title:c}){return(0,b.jsx)("iframe",{src:a,sandbox:"allow-same-origin",className:"w-full h-full rounded-b-xl overflow-hidden",style:{border:"none",display:"block"},title:c})}function ab(a){return a<1024?`${a} B`:a<1048576?`${(a/1024).toFixed(1)} KB`:`${(a/1048576).toFixed(1)} MB`}function ac({open:a,onOpenChange:d,artifacts:e,workspaceId:f,initialArtifact:h=null,versionMap:j,duplicateFilenames:k}){let[l,m]=(0,c.useState)(null),[n,o]=(0,c.useState)(448),p=(0,c.useRef)(!1);(0,c.useEffect)(()=>{a&&h&&m(h)},[a,h]);let q=a=>{d(a),a||setTimeout(()=>m(null),300)},r=(0,c.useCallback)(a=>{a.preventDefault(),p.current=!0,a.target.setPointerCapture(a.pointerId)},[]),s=(0,c.useCallback)(a=>{p.current&&o(Math.min(.8*window.innerWidth,Math.max(320,window.innerWidth-a.clientX)))},[]),t=(0,c.useCallback)(()=>{p.current=!1},[]);return(0,b.jsx)(T.Sheet,{open:a,onOpenChange:q,children:(0,b.jsxs)(T.SheetContent,{side:"right",showCloseButton:!1,style:{width:`min(${n}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,b.jsx)("div",{onPointerDown:r,onPointerMove:s,onPointerUp:t,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"}),l?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(T.SheetHeader,{children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",className:"shrink-0 sm:hidden",onClick:()=>{e.length>1?m(null):q(!1)},children:(0,b.jsx)(V.ArrowLeft,{className:"size-4"})}),(0,b.jsxs)(T.SheetTitle,{className:"truncate flex-1",children:[l.filename,k.has(l.filename)&&(0,b.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",j.get(l.id)??1]})]}),(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",className:"shrink-0",onClick:()=>window.open($(l.id,f,!0),"_blank"),children:(0,b.jsx)(U,{className:"size-4"})})]})}),(0,b.jsx)(T.SheetBody,{className:(0,i.cn)("thin-scrollbar",Y(l.content_type)&&"!p-0 !overflow-hidden"),children:(0,b.jsx)(_,{artifact:l,workspaceId:f})})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(T.SheetHeader,{children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",className:"shrink-0 sm:hidden",onClick:()=>q(!1),children:(0,b.jsx)(V.ArrowLeft,{className:"size-4"})}),(0,b.jsx)(T.SheetTitle,{className:"flex-1",children:"Artifacts"})]})}),(0,b.jsx)(T.SheetBody,{className:"thin-scrollbar",children:0===e.length?(0,b.jsx)("p",{className:"text-sm text-muted-foreground py-8 text-center",children:"No artifacts uploaded yet."}):(0,b.jsx)("div",{className:"space-y-1",children:e.map(a=>(0,b.jsxs)("button",{onClick:()=>m(a),className:"flex items-center gap-3 w-full rounded-lg px-3 py-2.5 text-left hover:bg-muted/50 transition-colors",children:[(0,b.jsx)(I.FileText,{className:"size-4 shrink-0 text-muted-foreground"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("p",{className:"text-sm font-medium truncate",children:[a.filename,k.has(a.filename)&&(0,b.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",j.get(a.id)??1]})]}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:[ab(a.size)," · ",new Date(a.created_at).toLocaleString()]})]})]},a.id))})})]})]})})}var ad=a.i(135510);function ae({open:a,onOpenChange:d,emailId:e,workspaceId:f}){let[h,i]=(0,c.useState)(null),[j,k]=(0,c.useState)(null),[l,m]=(0,c.useState)(!1),[n,o]=(0,c.useState)(500),q=(0,c.useRef)(!1),r=(0,c.useRef)(d);r.current=d,(0,c.useEffect)(()=>{a&&e&&(m(!0),i(null),k(null),Promise.all([(0,x.getEmail)(e,f),(0,x.getEmailBody)(e,f)]).then(([a,b])=>{i(a),k(b)}).catch(()=>{C.toast.error("Email not found"),r.current(!1)}).finally(()=>m(!1)))},[a,e,f]);let s=a=>{d(a),a||setTimeout(()=>{i(null),k(null)},300)},t=(0,c.useCallback)(a=>{a.preventDefault(),q.current=!0,a.target.setPointerCapture(a.pointerId)},[]),u=(0,c.useCallback)(a=>{q.current&&o(Math.min(.8*window.innerWidth,Math.max(320,window.innerWidth-a.clientX)))},[]),v=(0,c.useCallback)(()=>{q.current=!1},[]);return(0,b.jsx)(T.Sheet,{open:a,onOpenChange:s,children:(0,b.jsxs)(T.SheetContent,{side:"right",showCloseButton:!1,style:{width:`min(${n}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,b.jsx)("div",{onPointerDown:t,onPointerMove:u,onPointerUp:v,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,b.jsx)(T.SheetHeader,{children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(J.Mail,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,b.jsx)(T.SheetTitle,{className:"truncate flex-1",children:l?"Loading...":h?.subject||"Email"}),(0,b.jsx)(g.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>s(!1),children:(0,b.jsx)(O.X,{className:"h-4 w-4"})})]})}),(0,b.jsx)(T.SheetBody,{className:"flex-1 overflow-y-auto thin-scrollbar",children:l?(0,b.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,b.jsx)(p.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):h?(0,b.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,b.jsxs)("div",{className:"text-sm space-y-1 border-b pb-3",children:[(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"From:"}),(0,b.jsx)("span",{className:"truncate",children:h.from_email})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"To:"}),(0,b.jsx)("span",{className:"truncate",children:h.to_email})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"Date:"}),(0,b.jsx)("span",{children:new Date(h.created_at).toLocaleString()})]})]}),j?.isHtml?(0,b.jsx)(ad.EmailBodyFrame,{html:j.content,className:"max-w-full"}):(0,b.jsx)("pre",{className:"whitespace-pre-wrap text-sm font-mono",children:j?.content}),h.attachments&&h.attachments.length>0&&(0,b.jsxs)("div",{className:"border-t pt-3",children:[(0,b.jsxs)("p",{className:"text-xs text-muted-foreground mb-2",children:[h.attachments.length," attachment",h.attachments.length>1?"s":""]}),(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:h.attachments.map(a=>(0,b.jsx)("span",{className:"inline-flex items-center gap-1 text-xs bg-muted rounded px-2 py-1",children:a.filename},a.key))})]})]}):null})]})})}var af=a.i(963744);function ag({bufferedMessages:a,onDelete:d}){let[e,f]=(0,c.useState)(!1),g=a.length;if(0===g)return null;let h=Math.min(g,3);return(0,b.jsx)("div",{className:"relative px-5 pb-1",children:(0,b.jsx)("div",{className:"mx-auto max-w-2xl flex justify-center",children:(0,b.jsxs)("div",{className:"relative w-full max-w-lg transition-[height] duration-200 ease-out",style:{height:e?32*g+(g-1)*4:32+(h-1)*6},onMouseEnter:()=>f(!0),onMouseLeave:()=>f(!1),children:[a.map((a,c)=>{var f;let j=g-1-c,k=c>=g-h;return(0,b.jsx)("div",{className:"absolute right-0 left-0 transition-all duration-200 ease-out",style:{height:32,zIndex:c+1,bottom:e?36*j:k?6*j:0,transform:e?"scale(1)":`scale(${k?1-.03*j:.91})`,opacity:e?1:k?1-.2*j:0,pointerEvents:e||k?"auto":"none"},children:(0,b.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,b.jsx)("span",{className:"shrink-0 text-[11px] text-primary/60 tabular-nums w-4 text-center",children:c+1}),(0,b.jsxs)("div",{className:"min-w-0 flex-1 flex items-center gap-1.5",children:[(0,b.jsx)("p",{className:"text-[13px] text-muted-foreground leading-snug truncate",children:(f=a.content).length<=80?f:f.slice(0,80).trimEnd()+"…"}),a.attachment_ids&&a.attachment_ids.length>0&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-0.5 shrink-0 text-[11px] text-muted-foreground/50",children:[(0,b.jsx)(M.Paperclip,{className:"size-2.5"}),a.attachment_ids.length]})]}),(0,b.jsx)("button",{type:"button",onClick:b=>{b.stopPropagation(),d(a.id)},className:(0,i.cn)("shrink-0 rounded-sm p-0.5 transition-all duration-150","text-muted-foreground/30 hover:text-foreground hover:bg-muted",e?"opacity-100":"opacity-0"),tabIndex:e?0:-1,children:(0,b.jsx)(O.X,{className:"size-3"})})]})},a.id)}),!e&&g>h&&(0,b.jsxs)("span",{className:"absolute -top-4 right-1 text-[10px] text-muted-foreground/40 tabular-nums",children:["+",g-h," more"]})]})})})}var ah=a.i(389660);let ai={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 aj({taskId:a,stepCount:d,workspaceId:e}){let[f,g]=(0,c.useState)([]),[h,i]=(0,c.useState)(!1),[j,k]=(0,c.useState)(!1),l=(0,c.useCallback)(async()=>{if(!j&&!h){i(!0);try{let b=await (0,x.getTaskMessages)(a,e);g(b)}catch{g([])}finally{i(!1),k(!0)}}},[j,h,a,e]);return(0,c.useEffect)(()=>{l()},[]),(0,b.jsx)(w,{task:ai,messages:f,stepCountHint:d,onExpandSteps:l,stepsLoading:h})}let ak=(0,l.default)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);var al=a.i(249453);let am=(0,l.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"}]]);a.s(["Flag",0,am],221959);var an=a.i(166776);let ao={mention:["data-agent-id"]},ap=["mention"];function aq({content:a,conversationType:c}){let d=aA(a,c),e="h-4 w-4 mt-0.5 shrink-0";return"issue"===d?(0,b.jsx)(al.CircleDot,{className:e}):"email"===d?(0,b.jsx)(J.Mail,{className:e}):(0,b.jsx)(ak,{className:e})}function ar({attachmentIds:a,artifacts:c,onArtifactClick:d}){let e=a.map(a=>c.find(b=>b.id===a)).filter(a=>!!a);return 0===e.length?null:(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1.5",children:e.map(a=>(0,b.jsxs)("button",{type:"button",onClick:b=>{b.stopPropagation(),d(a)},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,b.jsx)(I.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-37.5",children:a.filename})]},a.id))})}function as({pendingFiles:a,messageId:c}){let d=a.get(c);return d&&0!==d.length?(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1.5",children:d.map((a,c)=>(0,b.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,b.jsx)(I.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-37.5",children:a.name})]},c))}):null}let at=(0,c.memo)(function({msg:a,agents:d,artifacts:e,activeTask:f,taskMessages:g,connectionLost:h,isLastMessage:k,stepCount:l,targetConvId:m,workspaceId:n,conversationType:o,pendingFilesByMessage:p,onArtifactClick:r,onEmailClick:s,onIssueClick:t,onRetry:u,mentionComponents:v,isFlagged:x,onToggleFlag:y}){let z,A,B,[D,E]=(0,c.useState)(!1),F=f&&"assistant"===a.role&&a.task_id===f.id&&a.conversation_id===f.conversation_id&&g.length>0,G=!F&&m&&"assistant"===a.role&&a.task_id&&l>0?l:0;return(0,b.jsxs)(c.default.Fragment,{children:[F&&(0,b.jsx)(w,{task:f,messages:g,connectionLost:h,onRetry:u}),G>0&&a.task_id&&(0,b.jsx)(aj,{taskId:a.task_id,stepCount:G,workspaceId:n}),"user"===a.role?(z=k&&!!f&&"running"!==f.status&&!["completed","failed","cancelled","superseded"].includes(f.status),(0,b.jsx)("div",{className:"flex justify-end","data-message-id":a.id,...a.task_id?{"data-task-id":a.task_id}:{},children:(0,b.jsxs)("div",{className:(0,i.cn)("max-w-[80%] rounded-lg px-4 py-2 bg-primary text-primary-foreground text-base relative"),children:[z&&(0,b.jsx)("div",{className:"absolute inset-0 rounded-lg animate-pulse pointer-events-none",style:{boxShadow:"0 0 0 2px var(--bubble-glow)"}}),(0,b.jsx)("div",{className:"markdown markdown-user",children:(0,b.jsx)(q.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!1,download:!1,fullscreen:!1}},linkSafety:{enabled:!1},allowedTags:ao,literalTagContent:ap,components:v,children:S(a.content,d)})}),a.attachment_ids&&a.attachment_ids.length>0&&(0,b.jsx)(ar,{attachmentIds:a.attachment_ids,artifacts:e,onArtifactClick:r}),!a.attachment_ids&&(0,b.jsx)(as,{pendingFiles:p,messageId:a.id})]})})):"event"===a.role?(A=a.metadata?.emailId,B=a.metadata?.issueId,(0,b.jsx)("div",{className:"flex justify-start","data-message-id":a.id,...a.task_id?{"data-task-id":a.task_id}:{},children:(0,b.jsxs)("div",{className:(0,i.cn)("w-full rounded-md border bg-muted/50 text-muted-foreground text-sm px-3 py-2 flex items-start gap-2",(!!A||!!B)&&"cursor-pointer hover:bg-muted transition-colors"),onClick:A?()=>s(A):B?()=>t(B):void 0,children:[(0,b.jsx)(aq,{content:a.content,conversationType:o}),(0,b.jsx)("span",{children:a.content})]})})):F?null:(0,b.jsxs)("div",{className:(0,i.cn)("group/msg flex flex-col justify-start",x&&"bg-muted/30 rounded-lg px-2 -mx-2"),"data-message-id":a.id,"data-quote-source":!0,...a.task_id?{"data-task-id":a.task_id}:{},children:[(0,b.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-1 text-base text-foreground",children:(0,b.jsx)(q.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},allowedTags:ao,literalTagContent:ap,components:v,children:S(a.content,d)})}),(0,b.jsxs)("div",{className:"flex flex-row items-center gap-1",children:[(0,b.jsx)("button",{type:"button","aria-label":D?"Copied":"Copy message",title:D?"Copied":"Copy",onClick:async b=>{b.stopPropagation();try{await navigator.clipboard.writeText(a.content),E(!0),C.toast.success("Copied to clipboard"),setTimeout(()=>E(!1),2e3)}catch{C.toast.error("Failed to copy")}},className:(0,i.cn)("self-start mb-1 flex items-center justify-center size-6 rounded-md transition-all duration-150 cursor-pointer shrink-0",D?"text-green-500 opacity-100":"text-muted-foreground opacity-0 group-hover/msg:opacity-100 hover:text-foreground hover:bg-muted"),children:D?(0,b.jsx)(j.Check,{className:"size-3.5"}):(0,b.jsx)(an.Copy,{className:"size-3.5"})}),y&&(0,b.jsx)("button",{type:"button",onClick:()=>y(a.id),className:(0,i.cn)("self-start mb-1 flex items-center justify-center size-6 rounded-md transition-all duration-150 cursor-pointer shrink-0",x?"text-primary opacity-100":"text-muted-foreground opacity-0 group-hover/msg:opacity-100 hover:text-foreground hover:bg-muted"),title:x?"Unflag":"Flag",children:(0,b.jsx)(am,{className:(0,i.cn)("size-3.5",x&&"fill-current")})})]})]})]})});a.i(735132);var au=a.i(253260),av=a.i(325848),aw=a.i(191525);function ax({agent:a,isOnline:d,activeTaskCount:e,variant:f="default",isHovered:g}){let[h,k]=(0,c.useState)(!1),l=a.email_handle?`${a.email_handle}@alook.ai`:null,m=(0,c.useCallback)(async()=>{if(l)try{await navigator.clipboard.writeText(l),k(!0),C.toast.success("Email copied to clipboard"),setTimeout(()=>k(!1),2e3)}catch{C.toast.error("Failed to copy email")}},[l]);if("compact"===f){let c;return(0,b.jsxs)("div",{className:"flex items-center gap-2 p-0",children:[(c=(0,av.parseAvatarUrl)(a.avatar_url))?(0,b.jsx)(au.AnimatedAvatar,{config:c,size:32,className:"shrink-0 rounded-xl",isHovered:g??!1,isWorking:!!d&&(e??0)>0}):(0,b.jsx)("div",{className:"flex items-center justify-center size-8 rounded-xl bg-secondary text-secondary-foreground text-xs font-medium shrink-0",children:a.name.charAt(0).toUpperCase()}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("p",{className:"text-sm font-medium truncate max-w-35",children:a.name}),l&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:l})]}),void 0!==d&&(0,b.jsx)("div",{className:"pointer-events-none mt-0.5",children:(0,b.jsx)(aw.AgentStatusBadge,{isOnline:d,taskCount:e??0,agentId:a.id})})]})]})}return(0,b.jsxs)("div",{className:"flex flex-col gap-1.5 p-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("p",{className:"text-sm font-medium truncate",children:a.name}),(0,b.jsx)("span",{className:"flex-1"}),void 0!==d&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-[11px] text-muted-foreground",children:[(0,b.jsx)("span",{className:(0,i.cn)("size-1.5 rounded-full",d?"bg-status-online":"bg-status-offline")}),d?(e??0)>0?"Working":null:"Offline"]})]}),l&&(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:l}),(0,b.jsx)("button",{type:"button",onClick:a=>{a.stopPropagation(),m()},className:"shrink-0 p-0.5 rounded-sm text-muted-foreground/60 hover:text-foreground transition-colors cursor-pointer",children:h?(0,b.jsx)(j.Check,{className:"size-3 text-green-500"}):(0,b.jsx)(an.Copy,{className:"size-3"})})]}),a.description&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground line-clamp-2",children:a.description})]})}a.s(["AgentPreviewCard",0,ax],781418);var ay=a.i(722393);let az={mention:function(a){let{children:c,...d}=a,{agents:e}=(0,y.useAgentContext)(),f=d["data-agent-id"]??d.dataAgentId,g=f?e.find(a=>a.id===f):void 0;if(!g&&"string"==typeof c){let a=c.startsWith("@")?c.slice(1):c;g=e.find(b=>b.name.toLowerCase()===a.toLowerCase())}return g?(0,b.jsxs)(ay.Popover,{children:[(0,b.jsx)(ay.PopoverTrigger,{openOnHover:!0,delay:300,nativeButton:!1,render:(0,b.jsx)("span",{className:"mention-highlight cursor-pointer"}),children:c}),(0,b.jsx)(ay.PopoverContent,{side:"top",className:"w-fit max-w-80",children:(0,b.jsx)(ax,{agent:g})})]}):(0,b.jsx)("span",{className:"mention-highlight",children:c})},p:({children:a,node:c,...d})=>(0,b.jsx)("div",{"data-md-p":"",...d,children:a})};function aA(a,b){if("issue_event"===b)return"issue";if("email_notification"===b)return"email";if("calendar_event"===b)return"calendar";let c=a.toLowerCase();return c.startsWith("issue ")||c.startsWith("issue:")?"issue":c.includes("email")?"email":"calendar"}function aB(a,b){let c=new Map;for(let b of a)c.set(b.id,b);for(let a of b)c.set(a.id,a);return[...c.values()].slice().sort((a,b)=>{let c=a.created_at.localeCompare(b.created_at);return 0!==c?c:a.id.localeCompare(b.id)})}function aC(a){let b=[],c=[],d=!1;for(let e of a)"message"===e.kind&&"user"===e.data.role?(d=!0,b.push(e)):"message"===e.kind&&"assistant"===e.data.role?(b.push(e),b.push(...c),c=[],d=!1):d&&"artifact"===e.kind?c.push(e):b.push(e);return b.push(...c),b}function aD(a){let b=(0,c.useRef)(a);return(0,c.useEffect)(()=>{b.current=a},[a]),b}function aE({agentName:a}){return(0,b.jsxs)("div",{className:"flex items-center gap-3 py-4 select-none","aria-hidden":!0,children:[(0,b.jsx)("div",{className:"flex-1 border-t border-border/40"}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground/60 whitespace-nowrap",children:[a," took a nap 💤"]}),(0,b.jsx)("div",{className:"flex-1 border-t border-border/40"})]})}function aF({artifact:a,version:c,hasDuplicates:d,onClick:e}){return(0,b.jsxs)("button",{onClick:()=>e(a),className:(0,i.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,b.jsx)(I.FileText,{className:"size-4 shrink-0 text-muted-foreground"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("p",{className:"text-sm font-medium truncate",children:[a.filename,d&&(0,b.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",c]})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:ab(a.size)})]})]})}function aG({agentId:a,targetConvId:h,scrollToTaskId:j,scrollToMessageId:k}){let l,m,n,o=(0,e.useParams)(),q=(0,e.useSearchParams)(),{workspaceId:r,slug:s}=(0,f.useWorkspace)(),{agents:t,agentLinks:u,activeTaskCounts:v,subscribeWs:P}=(0,y.useAgentContext)(),{refresh:R}=(0,z.useInboxCount)(),{activeChannel:T,loading:U,setAgentId:V}=(0,B.useChannel)(),W=a??o.id,Y=void 0!==j?j:q.get("task"),_=void 0!==k?k:q.get("msg"),aa=void 0!==h?h:q.get("conv"),[ad,ai]=(0,c.useState)(null),[aj,ak]=(0,c.useState)([]),[al,am]=(0,c.useState)(()=>""),[an,ao]=(0,c.useState)(!1),[ap,aq]=(0,c.useState)(!1),[ar,as]=(0,c.useState)(null),[au,av]=(0,c.useState)([]),[aw,ax]=(0,c.useState)(!0),[ay,aA]=(0,c.useState)(!1),[aH,aI]=(0,c.useState)(!1),[aJ,aK]=(0,c.useState)(!1),[aL,aM]=(0,c.useState)([]),[aN,aO]=(0,c.useState)(!1),[aP,aQ]=(0,c.useState)(null),[aR,aS]=(0,c.useState)(!1),[aT,aU]=(0,c.useState)(null),[aV,aW]=(0,c.useState)(!1),[aX,aY]=(0,c.useState)(null),[aZ,a$]=(0,c.useState)(null),[a_,a0]=(0,c.useState)(!1),[a1,a2]=(0,c.useState)(null),[a3,a4]=(0,c.useState)(null),[a5,a6]=(0,c.useState)(448),[a7,a8]=(0,c.useState)([]),[a9,ba]=(0,c.useState)([]),[bb,bc]=(0,c.useState)(null),[bd,be]=(0,c.useState)([]),[bf,bg]=(0,c.useState)(!1),[bh,bi]=(0,c.useState)([]),[bj,bk]=(0,c.useState)({}),[bl]=(0,c.useState)(()=>Date.now()),[bm,bn]=(0,c.useState)(()=>new Map),[bo,bp]=(0,c.useState)(null),[bq,br]=(0,c.useState)(null),[bs,bt]=(0,c.useState)(new Set),bu=(0,c.useRef)(bs);bu.current=bs;let{increment:bv,decrement:bw}=(0,A.useFlagCount)();(0,c.useEffect)(()=>{V(W)},[W,V]);let{listening:bx,supported:by,toggle:bz}=function(a){let[b,d]=(0,c.useState)(!1),[e,f]=(0,c.useState)(!1),g=(0,c.useRef)(null);(0,c.useEffect)(()=>{f(!1)},[]);let h=(0,c.useCallback)(()=>{},[a]),i=(0,c.useCallback)(()=>{g.current?.stop()},[]),j=(0,c.useCallback)(()=>{b?i():h()},[b,h,i]);return(0,c.useEffect)(()=>()=>{g.current?.abort()},[]),{listening:b,supported:e,toggle:j}}((0,c.useCallback)(a=>{am(b=>b?b+" "+a:a)},[])),bA=(0,c.useMemo)(()=>aL.filter(a=>"agent"===a.source),[aL]),{versionMap:bB,duplicateFilenames:bC}=(0,c.useMemo)(()=>{let a=new Map;for(let b of bA){let c=a.get(b.filename)||[];c.push(b),a.set(b.filename,c)}let b=new Map,c=new Set;for(let[d,e]of a)e.sort((a,b)=>a.created_at.localeCompare(b.created_at)),e.length>1&&c.add(d),e.forEach((a,c)=>b.set(a.id,c+1));return{versionMap:b,duplicateFilenames:c}},[bA]),bD=(0,c.useMemo)(()=>(function(a,b,c,d){if(!d||0===c.length){let d=[...a.map(a=>({kind:"message",data:a})),...b.map(a=>({kind:"artifact",data:a})),...c.map(a=>({kind:"nap",data:a}))];return d.sort((a,b)=>{let c=a.data.created_at.localeCompare(b.data.created_at);if(0!==c)return c;if("nap"===a.kind||"nap"===b.kind){if("nap"===a.kind&&"nap"!==b.kind)return 1;if("nap"!==a.kind&&"nap"===b.kind)return -1}return a.kind!==b.kind?"message"===a.kind?-1:1:a.data.id.localeCompare(b.data.id)}),aC(d)}let e=new Set(c.map(a=>a.id.replace(/^nap-/,""))),f=[...c].sort((a,b)=>a.created_at.localeCompare(b.created_at)),g=c=>aC([...a.filter(a=>a.conversation_id===c).map(a=>({kind:"message",data:a})),...b.filter(a=>a.conversation_id===c).map(a=>({kind:"artifact",data:a}))].sort((a,b)=>{let c=a.data.created_at.localeCompare(b.data.created_at);return 0!==c?c:a.kind!==b.kind?"message"===a.kind?-1:1:a.data.id.localeCompare(b.data.id)})),h=[];for(let a of f){let b=a.id.replace(/^nap-/,"");h.push(...g(b)),h.push({kind:"nap",data:a})}h.push(...g(d));let i=new Set([...e,d]),j=a.filter(a=>!i.has(a.conversation_id)),k=b.filter(a=>!i.has(a.conversation_id));if(j.length>0||k.length>0){let a=[...j.map(a=>({kind:"message",data:a})),...k.map(a=>({kind:"artifact",data:a}))];a.sort((a,b)=>{let c=a.data.created_at.localeCompare(b.data.created_at);return 0!==c?c:a.kind!==b.kind?"message"===a.kind?-1:1:a.data.id.localeCompare(b.data.id)});let b=aC(a),c=h.findIndex(a=>"nap"===a.kind);c>=0?h.splice(c,0,...b):h.push(...b)}return h})(aj,bA,bh,ad?.id),[aj,bA,bh,ad?.id]),bE=(0,c.useCallback)(a=>{X(a.content_type)||Z(a.content_type)?(aQ(a),aO(!0)):window.open($(a.id,r,!0),"_blank")},[r]),bF=(0,c.useRef)(null),bG=(0,c.useRef)(null),bH=(0,c.useRef)(null),bI=(0,c.useRef)(null),bJ=(0,c.useRef)(0),bK=(0,c.useRef)(0),bL=(0,c.useRef)(!1),bM=(0,c.useRef)(!1),bN=(0,c.useRef)(!0),bO=(0,c.useRef)(!1),bP=(0,c.useRef)(null),bQ=(0,c.useRef)(null),bR=(0,c.useRef)(0),bS=(0,c.useRef)(void 0),bT=(0,c.useRef)(null),bU=(0,c.useRef)(null),bV=function({input:a,caretIndex:b,textareaRef:d,agents:e,agentLinks:f,currentAgentId:g,onInputChange:h}){let[i,j]=(0,c.useState)(!1),[k,l]=(0,c.useState)(""),[m,n]=(0,c.useState)(0),[o,p]=(0,c.useState)({top:0,left:0}),q=(0,c.useRef)(null),r=(0,c.useMemo)(()=>{let a=new Set;for(let b of f)b.source_agent_id===g&&a.add(b.target_agent_id),b.target_agent_id===g&&a.add(b.source_agent_id);return a},[f,g]),{relatedAgents:s,otherAgents:t,allAgents:u}=(0,c.useMemo)(()=>{if(!i)return{relatedAgents:[],otherAgents:[],allAgents:[]};let a=a=>{if(!k)return a.slice(0,20);let b=k.toLowerCase(),c=[],d=[];for(let e of a){let a=e.name.toLowerCase();a.startsWith(b)?c.push(e):a.includes(b)&&d.push(e)}return[...c,...d]},b=[],c=[];for(let a of e)r.has(a.id)?b.push(a):c.push(a);let d=a(b),f=a(c);return{relatedAgents:d,otherAgents:f,allAgents:[...d,...f]}},[i,k,e,r]);(0,c.useEffect)(()=>{n(0)},[u.length,k]),(0,c.useEffect)(()=>{if(null===b)return void j(!1);let c=function(a,b){let c=b-1;for(;c>=0&&b-c<=30;){let d=a.charCodeAt(c);if(64===d)return{start:c,query:a.slice(c+1,b)};if(10===d||13===d)break;c--}return null}(a,b);c?(q.current=c.start,l(c.query),j(!0),d.current&&p(function(a,b){let c=document.createElement("div"),d=window.getComputedStyle(a);for(let b of(c.style.position="absolute",c.style.top="-9999px",c.style.left="-9999px",c.style.visibility="hidden",c.style.overflow="hidden",c.style.width=`${a.offsetWidth}px`,["fontFamily","fontSize","fontWeight","fontStyle","letterSpacing","textTransform","wordSpacing","textIndent","lineHeight","paddingTop","paddingRight","paddingBottom","paddingLeft","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","boxSizing","whiteSpace","wordWrap","overflowWrap"]))c.style[b]=d.getPropertyValue(b.replace(/([A-Z])/g,"-$1").toLowerCase());c.textContent=a.value.slice(0,b);let e=document.createElement("span");e.textContent="",c.appendChild(e),document.body.appendChild(c);let f=e.offsetTop-a.scrollTop,g=Math.max(0,Math.min(e.offsetLeft,a.offsetWidth-256));return document.body.removeChild(c),{top:f,left:g}}(d.current,c.start))):(j(!1),q.current=null)},[a,b,d]);let v=(0,c.useCallback)(c=>{if(null===b||null===q.current)return;let e=a.slice(0,q.current),f=a.slice(b);h(`${e}@${c.name} ${f}`),j(!1);let g=e.length+1+c.name.length+1;requestAnimationFrame(()=>{let a=d.current;a&&(a.focus(),a.setSelectionRange(g,g))})},[a,b,d,h]),w=(0,c.useCallback)(a=>!!i&&0!==u.length&&!a.nativeEvent.isComposing&&("ArrowDown"===a.key?(a.preventDefault(),n(a=>(a+1)%u.length),!0):"ArrowUp"===a.key?(a.preventDefault(),n(a=>(a-1+u.length)%u.length),!0):"Enter"===a.key?(a.preventDefault(),v(u[m]),!0):"Escape"===a.key&&(a.preventDefault(),j(!1),!0)),[i,u,m,v]);return{isOpen:i,query:k,selectedIndex:m,anchorPos:o,relatedAgents:s,otherAgents:t,allAgents:u,handleMentionKeyDown:w,selectAgent:v}}({input:al,caretIndex:bb,textareaRef:bU,agents:(0,c.useMemo)(()=>t.filter(a=>a.id!==W),[t,W]),agentLinks:u,currentAgentId:W,onInputChange:am});(0,c.useEffect)(()=>{let a=`chat-draft:${W}:${aa??"default"}`;al?localStorage.setItem(a,al):localStorage.removeItem(a)},[al,W,aa]),(0,c.useEffect)(()=>{an||bU.current?.focus()},[an]);let bW=(0,c.useCallback)(()=>{bN.current=!0,setTimeout(()=>{bF.current?.scrollTo({top:bF.current.scrollHeight,behavior:"smooth"})},50)},[]);(0,c.useEffect)(()=>{if(U)return;bG.current&&clearInterval(bG.current),bG.current=null,bI.current=null;let a=!1;return queueMicrotask(()=>{a||(ax(!0),bL.current=!1,as(null),av([]),ba([]),bn(new Map),bi([]),bk({}),be([]),bg(!1),bQ.current=null,am(localStorage.getItem(`chat-draft:${W}:${aa??"default"}`)??""))}),async function(){try{if(aa)try{let[b,c,d,e]=await Promise.all([(0,x.getConversation)(aa,r),(0,x.listMessages)(aa,r),(0,x.listArtifacts)(aa,r).catch(()=>[]),(0,x.listBufferedMessages)(aa,r).catch(()=>[])]);if(a)return;ai(b),ak(c.messages),aI(c.has_more),aM(d),ba(e);let f=[...new Set(c.messages.filter(a=>"assistant"===a.role&&a.task_id).map(a=>a.task_id))];if(f.length>0&&(0,x.getTaskStepCounts)(f,r).then(b=>{a||bk(b)}).catch(()=>{}),(0,x.listFlaggedMessageIds)(r,aa).then(b=>{a||bt(new Set(b.message_ids))}).catch(()=>{}),Y){let b=await (0,x.getTask)(Y,r).catch(()=>null);if(a)return;if(b&&!["completed","failed","cancelled","superseded"].includes(b.status)){as(b);let c=await (0,x.getTaskMessages)(Y,r).catch(()=>[]);if(a)return;av(c),c.length>0&&(bJ.current=Math.max(...c.map(a=>a.seq))),bP.current?.(b.id,aa,bJ.current)}}}catch{let b=await (0,x.chatInit)(W,r,T);if(a)return;ai(b.conversation),ak(b.messages),aI(b.has_more_messages),aM(b.artifacts),ba(b.buffered_messages),bg(b.has_more_conversations)}else{let b=await (0,x.chatInit)(W,r,T);if(a)return;ai(b.conversation),ak(b.messages),aI(b.has_more_messages),aM(b.artifacts),ba(b.buffered_messages),bg(b.has_more_conversations),b.active_task&&(as(b.active_task),b.task_messages.length>0&&(av(b.task_messages),bJ.current=Math.max(...b.task_messages.map(a=>a.seq))),["completed","failed","cancelled","superseded"].includes(b.active_task.status)||bP.current?.(b.active_task.id,b.conversation.id,bJ.current))}}catch{C.toast.error("Failed to load conversation")}finally{a||ax(!1)}}(),()=>{a=!0}},[W,r,aa,Y,T,U]);let bX=(0,c.useRef)(R);(0,c.useEffect)(()=>{bX.current=R},[R]);let bY=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!ad?.id||!r||bY.current===ad.id)return;bY.current=ad.id;let a=setTimeout(()=>{(0,x.markInboxRead)(ad.id,r).then(()=>bX.current()).catch(()=>{})},1e3);return()=>{bY.current=null,clearTimeout(a)}},[ad?.id,r]),(0,c.useEffect)(()=>{aw||!(aj.length>0)||bL.current||(bL.current=!0,Y||_?bN.current=!1:h?setTimeout(()=>{let a=bF.current?.querySelectorAll("[data-quote-source]");a&&a.length>0?a[a.length-1].scrollIntoView({behavior:"instant",block:"start"}):bF.current?.scrollTo({top:bF.current.scrollHeight})},50):setTimeout(()=>{bF.current?.scrollTo({top:bF.current.scrollHeight})},50))},[aw,aj.length,Y,_,h]),(0,c.useEffect)(()=>{let a;if(!Y||aw||!ad)return;bN.current=!1,bO.current=!0;let b=!1,c=()=>{if(b)return!1;let c=document.querySelector(`[data-task-id="${CSS.escape(Y)}"]`);return!!c&&(c.scrollIntoView({behavior:"smooth",block:"start"}),c.classList.add("task-highlight"),a=setTimeout(()=>{c.classList.remove("task-highlight"),b||(bO.current=!1)},1500),!0)},d=setTimeout(async()=>{if(!b&&!c())try{let a=await (0,x.listMessagesAroundTask)(ad.id,r,Y);if(b)return;a.length>0?(ak(b=>aB(b,a)),requestAnimationFrame(()=>{setTimeout(()=>{c()||(bO.current=!1)},100)})):bO.current=!1}catch{b||(bO.current=!1)}},100);return()=>{b=!0,clearTimeout(d),a&&clearTimeout(a)}},[Y,aw,ad,r]),(0,c.useEffect)(()=>{let a;if(!_||Y||aw||!ad)return;bN.current=!1,bO.current=!0;let b=!1,c=setTimeout(()=>{!b&&((()=>{if(b)return!1;let c=document.querySelector(`[data-message-id="${CSS.escape(_)}"]`);return!!c&&(c.scrollIntoView({behavior:"smooth",block:"start"}),c.classList.add("task-highlight"),a=setTimeout(()=>{c.classList.remove("task-highlight"),b||(bO.current=!1)},1500),!0)})()||(bF.current?.scrollTo({top:bF.current.scrollHeight}),bO.current=!1))},100);return()=>{b=!0,clearTimeout(c),a&&clearTimeout(a)}},[_,Y,aw,ad]);let bZ=ar?.status;(0,c.useEffect)(()=>{bO.current||("running"===bZ||"queued"===bZ)&&bN.current&&bW()},[au.length,bZ,bW]);let b$=(0,c.useMemo)(()=>t.find(a=>a.id===W)?.name??"Agent",[t,W]),b_=aD(aj),b0=aD(aH),b1=aD(bd),b2=aD(bf),b3=aD(b$),b4=aD(T),b5=(0,c.useCallback)(async(a=!1)=>{if(!ad||bM.current)return;bM.current=!0;let b=b_.current,c=b0.current,e=b2.current,f=b3.current,g=b4.current,h=b[0],i=bQ.current?.id??ad.id,j=c&&h,k=b1.current;if(!j&&0===k.length&&e){let a=bQ.current??{id:ad.id,created_at:ad.created_at};try{let b=await (0,x.listPreviousConversations)(W,r,{exclude:ad.id,before:a.created_at,channel:g});k=b.conversations,be(b.conversations),bg(b.has_more)}catch{bg(!1)}}let l=k.length>0;if(!j&&!l){bM.current=!1;return}aK(!0);let m=bF.current;m&&(m.style.overflowAnchor="none");let n=m?.scrollHeight??0;try{let b=[],c=[],l=20,o=!1,p=[];if(j){let a=await (0,x.listMessages)(i,r,{limit:20,before:h.created_at,beforeId:h.id});b=a.messages,l-=a.messages.length,o=a.has_more}if(!o&&l>0){if(0===k.length&&e){let a=bQ.current??{id:ad.id,created_at:ad.created_at};try{let b=await (0,x.listPreviousConversations)(W,r,{exclude:ad.id,before:a.created_at,channel:g});k=b.conversations,be(b.conversations),bg(b.has_more)}catch{bg(!1)}}let a=0,b=0;for(;a<k.length&&l>0&&b<5;){let d=k[a];a++,b++;let e=await (0,x.listMessages)(d.id,r,{limit:l});if(0===e.messages.length){bQ.current=d;continue}let g=bQ.current?.created_at??ad.created_at;p.push({agentName:f,created_at:g,id:`nap-${d.id}`}),c=[...e.messages,...c],l-=e.messages.length,o=e.has_more,bQ.current=d}a>0&&be(b=>b.slice(a))}let q=[...c,...b];if((0,d.flushSync)(()=>{q.length>0?(p.length>0&&bi(a=>{let b=new Set(a.map(a=>a.id)),c=p.filter(a=>!b.has(a.id));return[...a,...c]}),aI(o),ak(a=>{let b=new Set(a.map(a=>a.id));return[...q.filter(a=>!b.has(a.id)),...a]})):aI(!1)}),bM.current=!1,(0,d.flushSync)(()=>aK(!1)),m)if(a)m.scrollTop=m.scrollHeight;else{let a=m.scrollHeight;m.scrollTop=a-n}}catch{C.toast.error("Failed to load older messages")}finally{bM.current=!1,aK(!1),bF.current&&(bF.current.style.overflowAnchor="")}},[ad,r,W,b_,b0,b2,b3,b4,b1]),b6=aH||bd.length>0||bf;(0,c.useEffect)(()=>{ad?.id!==bS.current&&(bS.current=ad?.id,bR.current=0)},[ad?.id]),(0,c.useEffect)(()=>{aw||!ad||aj.length>=10||!b6||aJ||bR.current>=3||(bR.current+=1,b5(!0))},[aw,aj.length,b6,aJ,ad,b5]);let b7=(0,c.useCallback)(()=>{let a=bF.current;a&&(bN.current=a.scrollHeight-a.scrollTop-a.clientHeight<100)},[]),b8=(0,c.useCallback)((a,b,c)=>{bG.current&&clearInterval(bG.current),bJ.current=c??0,bK.current=0,aA(!1),bI.current=a,bG.current=setInterval(async()=>{if(bI.current===a)try{let[c,d]=await Promise.all([(0,x.getTask)(a,r),(0,x.getTaskMessages)(a,r,bJ.current||void 0)]),e=bI.current!==a;if(bK.current=0,aA(!1),d.length>0&&!e&&(av(a=>{let b=new Set(a.map(a=>a.seq)),c=d.filter(a=>!b.has(a.seq));return c.length>0?[...a,...c]:a}),bJ.current=Math.max(...d.map(a=>a.seq),bJ.current)),"completed"===c.status||"failed"===c.status||"cancelled"===c.status||"superseded"===c.status){if(e)return void(0,x.listMessages)(b,r).then(({messages:a})=>ak(b=>aB(b,a))).catch(()=>{});bG.current&&clearInterval(bG.current),bG.current=null,bH.current&&clearTimeout(bH.current),bH.current=setTimeout(()=>{(0,x.markInboxRead)(b,r).then(()=>bX.current()).catch(()=>{})},1e3);let d=!bO.current&&bN.current;try{let[a,d]=await Promise.all([(0,x.listMessages)(b,r),(0,x.listArtifacts)(b,r).catch(()=>null)]);ak(b=>aB(b,a.messages)),d&&aM(d),as(c)}catch{as(c),C.toast.error("Failed to refresh messages")}d&&requestAnimationFrame(()=>{bF.current?.scrollTo({top:bF.current.scrollHeight,behavior:"smooth"})}),setTimeout(async()=>{if(!bG.current)try{let[c,d]=await Promise.all([(0,x.getActiveTask)(b,r),(0,x.listBufferedMessages)(b,r)]);if(ba(d),c&&c.id!==a){let{messages:a}=await (0,x.listMessages)(b,r);ak(b=>aB(b,a)),as(c),av([]),bP.current?.(c.id,b)}}catch{}},1e3)}else e||as(c)}catch{if(bI.current!==a)return;bK.current+=1,bK.current>=3&&aA(!0),bK.current>=10&&(bG.current&&clearInterval(bG.current),bG.current=null,C.toast.error("Lost connection to agent"))}},3e3)},[r]);(0,c.useEffect)(()=>{bP.current=b8},[b8]),(0,c.useEffect)(()=>()=>{bG.current&&clearInterval(bG.current),bH.current&&clearTimeout(bH.current)},[]);let b9=(0,c.useRef)(null);(0,c.useEffect)(()=>{b9.current=ar?.id??null},[ar]),(0,c.useEffect)(()=>P(a=>{if("task.messages"===a.type&&a.taskId===b9.current){let b=a.messages.filter(a=>a.seq>bJ.current);b.length>0&&(av(a=>{let c=new Set(a.map(a=>a.seq)),d=b.filter(a=>!c.has(a.seq));return d.length>0?[...a,...d]:a}),bJ.current=Math.max(...b.map(a=>a.seq),bJ.current))}if("task.created"===a.type&&a.conversationId===ad?.id){(0,x.listMessages)(a.conversationId,r).then(({messages:a})=>ak(b=>aB(b,a))).catch(()=>{});let b=a.task;b9.current=b.id,as(b),av([]),bJ.current=0,bP.current?.(b.id,a.conversationId)}if("conversation.message"===a.type&&a.conversationId===ad?.id&&ak(b=>aB(b,[a.message])),"artifact.uploaded"===a.type&&a.conversationId===ad?.id&&aM(b=>b.some(b=>b.id===a.artifact.id)?b:[...b,a.artifact]),"followup.dispatched"===a.type&&a.conversationId===ad?.id){ba(b=>b.filter(b=>b.id!==a.message.id)),(0,x.listBufferedMessages)(a.conversationId,r).then(ba).catch(()=>{}),(0,x.listMessages)(a.conversationId,r).then(({messages:a})=>ak(b=>aB(b,a))).catch(()=>{});let b=a.task;b9.current=b.id,as(b),av([]),bP.current?.(b.id,a.conversationId)}"followup.created"===a.type&&a.conversationId===ad?.id&&ba(b=>(function(a,b){if(a.some(a=>a.id===b.id))return a;let c=new Date(b.created_at).getTime();return a.some(a=>a.id.startsWith("temp-")&&2e3>Math.abs(new Date(a.created_at).getTime()-c))?a:[...a,b]})(b,a.message)),"followup.deleted"===a.type&&a.conversationId===ad?.id&&ba(b=>b.filter(b=>b.id!==a.messageId)),"followup.dispatch_failed"===a.type&&a.conversationId===ad?.id&&C.toast.error(a.error||"Failed to dispatch follow-up")}),[P,ad?.id,r]);let ca=(0,c.useCallback)(a=>{let b=a.target.files;if(!b)return;let c=[];for(let a of Array.from(b))a.size>0xa00000?C.toast.error(`"${a.name}" exceeds 10 MB limit`):c.push(a);c.length>0&&a8(a=>[...a,...c]),a.target.value=""},[]),cb=(0,c.useCallback)(a=>{a8(b=>b.filter((b,c)=>c!==a))},[]),cc=(0,c.useCallback)(()=>{let a=window.getSelection();if(!a||a.isCollapsed||!a.rangeCount)return void br(null);let b=a.toString().trim();if(!b)return void br(null);let c=a.getRangeAt(0),d=c.commonAncestorContainer instanceof HTMLElement?c.commonAncestorContainer:c.commonAncestorContainer.parentElement;if(!d?.closest("[data-quote-source]"))return void br(null);let e=c.getClientRects(),f=e[e.length-1]||c.getBoundingClientRect();br({text:b,x:f.right,y:f.top-4})},[]);(0,c.useEffect)(()=>(document.addEventListener("selectionchange",cc),()=>document.removeEventListener("selectionchange",cc)),[cc]);let cd=(0,c.useCallback)(()=>{bq&&(bp(bq.text),br(null),window.getSelection()?.removeAllRanges(),bU.current?.focus())},[bq]),[ce,cf]=(0,c.useState)(!1),cg=(0,c.useRef)(0),ch=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),cg.current++,a.dataTransfer.types.includes("Files")&&cf(!0)},[]),ci=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),cg.current--,0===cg.current&&cf(!1)},[]),cj=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation()},[]),ck=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),cf(!1),cg.current=0;let b=Array.from(a.dataTransfer.files),c=[];for(let a of b)a.size>0xa00000?C.toast.error(`"${a.name}" exceeds 10 MB limit`):c.push(a);c.length>0&&a8(a=>[...a,...c])},[]),cl=(0,c.useCallback)(a=>{let b=a.clipboardData?.items;if(!b)return;let c=[];for(let a=0;a<b.length;a++){let d=b[a];if("file"===d.kind){let a=d.getAsFile();a&&c.push(a)}}if(0===c.length)return;a.preventDefault();let d=[];for(let a of c)a.size>0xa00000?C.toast.error(`"${a.name}" exceeds 10 MB limit`):d.push(a);d.length>0&&a8(a=>[...a,...d])},[]),cm=async()=>{if(ad&&!ap){aq(!0);try{let a=await (0,x.cancelActiveTask)(ad.id,r);if(a){if(b9.current&&b9.current!==a.id)return;bG.current&&clearInterval(bG.current),bG.current=null;let[b,c]=await Promise.all([(0,x.listMessages)(ad.id,r),(0,x.listBufferedMessages)(ad.id,r)]);ak(a=>aB(a,b.messages)),ba(c),as(a),av([])}}catch{C.toast.error("Failed to cancel task")}finally{aq(!1)}}},cn=async()=>{let a=al.trim();if(!a&&0===a7.length||an||!ad)return;if(!a)return void C.toast.error("Please type a message");let b=bo?`> ${bo.split("\n").join("\n> ")}
|
|
1
|
+
module.exports=[831893,896393,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(588339),e=a.i(752792),f=a.i(506180),g=a.i(626806);let h=["user_dm_message"],i=["user_dm_message"];function j(){return h}a.s(["INBOX_FILTER_LABELS",0,{user_dm_message:"DM",calendar_event:"Calendar",email_notification:"Email"},"INBOX_FILTER_TYPES",0,["user_dm_message","calendar_event","email_notification"],"MANDATORY_INBOX_TYPES",0,i,"getInboxFilterTypes",0,j,"setInboxFilterTypes",0,function(a){let b=[...a];for(let a of i)b.includes(a)||b.unshift(a);localStorage.setItem("inbox-filter-types",JSON.stringify(b))}],896393);let k=(0,c.createContext)(null);a.s(["InboxCountProvider",0,function({children:a}){let{workspaceId:h}=(0,f.useWorkspace)(),{subscribeWs:i,agents:l}=(0,e.useAgentContext)(),[m,n]=(0,c.useState)(0),o=(0,c.useRef)(null),p=(0,c.useRef)(null),q=(0,c.useRef)(l);q.current=l;let r=(0,c.useCallback)(()=>{let a=j();(0,d.getInboxCount)(h,{types:a}).then(a=>{let b=o.current;if(o.current=a.count,n(a.count),null!==b&&a.count>b){let a=p.current?q.current.find(a=>a.id===p.current):void 0;(0,g.sendTaskNotification)("completed",a?.name)}p.current=null}).catch(()=>{})},[h]),s=(0,c.useCallback)(()=>{n(a=>{let b=Math.max(0,a-1);return o.current=b,b})},[]);return(0,c.useEffect)(()=>{r()},[r]),(0,c.useEffect)(()=>i(a=>{"task.updated"===a.type&&("completed"===a.status||"failed"===a.status)&&(p.current=a.agentId,r())}),[i,r]),(0,c.useEffect)(()=>{let a=setInterval(r,3e4);return()=>clearInterval(a)},[r]),(0,b.jsx)(k.Provider,{value:{count:m,refresh:r,decrement:s},children:a})},"useInboxCount",0,function(){let a=(0,c.useContext)(k);if(!a)throw Error("useInboxCount must be used within InboxCountProvider");return a}],831893)},70813,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(588339),e=a.i(506180);let f=(0,c.createContext)(null);a.s(["FlagCountProvider",0,function({children:a}){let{workspaceId:g}=(0,e.useWorkspace)(),[h,i]=(0,c.useState)(0),j=(0,c.useCallback)(()=>{(0,d.getFlaggedCount)(g).then(a=>i(a.count)).catch(()=>{})},[g]),k=(0,c.useCallback)(()=>{i(a=>a+1)},[]),l=(0,c.useCallback)(()=>{i(a=>Math.max(0,a-1))},[]);return(0,c.useEffect)(()=>{j()},[j]),(0,b.jsx)(f.Provider,{value:{count:h,refresh:j,increment:k,decrement:l},children:a})},"useFlagCount",0,function(){let a=(0,c.useContext)(f);if(!a)throw Error("useFlagCount must be used within FlagCountProvider");return a}])},127026,221959,781418,a=>{"use strict";a.s(["AgentChatView",()=>ax,"getEventIconType",()=>ar],127026);var b=a.i(749314),c=a.i(437199),d=a.i(131675),e=a.i(207058),f=a.i(506180),g=a.i(732254),h=a.i(464830),i=a.i(75118),j=a.i(556371),k=a.i(95590),l=a.i(790090);let m=(0,l.default)("brain",[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]]);var n=a.i(180222),o=a.i(688832),p=a.i(527779);a.i(343563);var q=a.i(347788);function r(a){return a.replace(/_/g," ").replace(/\b\w/g,a=>a.toUpperCase())}let s=new Set(["status","log"]);function t({item:a,isRunning:d,isLast:e}){let f=(0,c.useMemo)(()=>{if(!a.input)return null;try{return JSON.stringify(a.input,null,2)}catch{return String(a.input)}},[a.input]);return f?(0,b.jsxs)("details",{className:"group/tool",children:[(0,b.jsxs)("summary",{className:(0,i.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,b.jsx)(k.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/tool:rotate-90"}),(0,b.jsx)("span",{className:"font-medium text-foreground/80",children:r(a.tool)}),d&&e&&(0,b.jsx)("span",{className:"ml-auto size-1.5 rounded-full bg-primary/60 animate-pulse"}),d&&!e&&(0,b.jsx)(j.Check,{className:"ml-auto size-3 text-emerald-500"})]}),(0,b.jsx)("div",{className:"mt-1 mb-2 ml-5",children:(0,b.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:f})})]}):(0,b.jsxs)("div",{className:(0,i.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md","text-sm text-muted-foreground"),children:[(0,b.jsx)("span",{className:"font-medium text-foreground/80",children:r(a.tool)}),d&&e&&(0,b.jsx)("span",{className:"ml-auto size-1.5 rounded-full bg-primary/60 animate-pulse"}),d&&!e&&(0,b.jsx)(j.Check,{className:"ml-auto size-3 text-emerald-500"})]})}function u({item:a}){return a.content?(0,b.jsxs)("details",{className:"group/think",children:[(0,b.jsxs)("summary",{className:(0,i.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,b.jsx)(k.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/40 transition-transform duration-150 group-open/think:rotate-90"}),(0,b.jsx)(m,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{children:"Thinking..."})]}),(0,b.jsx)("div",{className:"mt-1 mb-2 ml-5",children:(0,b.jsx)("p",{className:"text-sm italic text-muted-foreground/60 whitespace-pre-wrap",children:a.content})})]}):(0,b.jsxs)("div",{className:(0,i.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md","text-sm text-muted-foreground/60 italic"),children:[(0,b.jsx)(m,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{children:"Thinking..."})]})}function v({value:a}){let d=(0,c.useRef)(a),[e,f]=(0,c.useState)({current:a,previous:null}),[g,h]=(0,c.useState)("idle");return(0,c.useEffect)(()=>{if(a===d.current)return;let b=d.current;d.current=a,f({current:a,previous:b}),requestAnimationFrame(()=>{requestAnimationFrame(()=>{h("animating")})});let c=setTimeout(()=>{h("idle"),f(a=>({...a,previous:null}))},300);return()=>clearTimeout(c)},[a]),(0,b.jsxs)("span",{style:{display:"inline-block",position:"relative",overflow:"hidden",height:"1.2em",lineHeight:"1.2em",verticalAlign:"bottom"},children:[null!==e.previous&&(0,b.jsx)("span",{style:{display:"block",position:"absolute",inset:"0",transition:"animating"===g?"transform 250ms ease-out, opacity 250ms ease-out":"none",transform:"animating"===g?"translateY(-100%)":"translateY(0)",opacity:+("animating"!==g)},children:e.previous}),(0,b.jsx)("span",{style:{display:"block",transition:"animating"===g?"transform 250ms ease-out, opacity 250ms ease-out":"none",transform:null!==e.previous&&"animating"!==g?"translateY(100%)":"translateY(0)",opacity:+(null===e.previous||"animating"===g)},children:e.current})]})}function w({task:a,messages:d,connectionLost:e,onRetry:f,stepCountHint:g,onExpandSteps:j,stepsLoading:l}){let[m,r]=(0,c.useState)(!1),x=(0,c.useMemo)(()=>(function(a){let b=[],c=new Map;for(let d of a){if(s.has(d.type))continue;let a=d.id||`seq-${d.seq}`;switch(d.type){case"tool-use":{let e=d.call_id,f={kind:"tool-call",id:a,tool:d.tool,input:d.input};e&&c.set(e,f),b.push(f);break}case"tool-result":break;case"text":b.push({kind:"text",id:a,content:d.content});break;case"thinking":b.push({kind:"thinking",id:a,content:d.content});break;case"error":b.push({kind:"status",id:a,content:d.content||d.output,type:"error"})}}return b})(d),[d]),y="completed"!==a.status&&"failed"!==a.status&&"cancelled"!==a.status&&"superseded"!==a.status,z=x.filter(a=>"text"!==a.kind),A=x.filter(a=>"text"===a.kind),B=A.length>0?A[A.length-1]:null,C=(0,c.useRef)(null),D=(0,c.useRef)(null),E=(0,c.useRef)(!1);(0,c.useEffect)(()=>{y&&C.current&&(C.current.scrollTop=C.current.scrollHeight)},[z.length,y]),(0,c.useEffect)(()=>{y&&D.current&&(D.current.scrollTop=D.current.scrollHeight)},[A.length,y]);let F=y?A:A.slice(0,-1),G=!y&&null!==B,H=z.length>0?z.length:g??0,I=z.length>0||g&&g>0;return(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)("div",{className:"flex items-center gap-2",children:"running"===a.status?(0,b.jsxs)(h.Badge,{variant:"secondary",className:"gap-1.5 relative overflow-hidden",children:[(0,b.jsx)("span",{className:"size-1.5 rounded-full bg-primary animate-pulse"}),"Working",(0,b.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%)"}})]}):y?(0,b.jsxs)(h.Badge,{variant:"secondary",className:"relative overflow-hidden",children:[a.status,(0,b.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,b.jsx)(h.Badge,{variant:"secondary",children:a.status})}),I&&(0,b.jsxs)("details",{className:"group/stream pl-1",onToggle:a=>{a.currentTarget.open&&!E.current&&j&&(E.current=!0,j())},children:[(0,b.jsxs)("summary",{className:(0,i.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,b.jsx)(k.ChevronRight,{className:(0,i.cn)("size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/stream:rotate-90",y&&"animate-pulse text-primary")}),(0,b.jsxs)("span",{children:[(0,b.jsx)(v,{value:H})," ",1===H?"step":"steps"]})]}),(0,b.jsxs)("div",{ref:C,className:"mt-1 max-h-80 overflow-y-auto overflow-x-hidden thin-scrollbar space-y-0.5 pl-1",children:[l&&0===z.length&&(0,b.jsxs)("div",{className:"flex items-center gap-2 py-2 text-xs text-muted-foreground",children:[(0,b.jsx)(p.Loader2,{className:"size-3 animate-spin"}),(0,b.jsx)("span",{children:"Loading steps..."})]}),z.map((a,c)=>{switch(a.kind){case"tool-call":return(0,b.jsx)(t,{item:a,isRunning:y,isLast:c===z.length-1},a.id);case"thinking":return(0,b.jsx)(u,{item:a},a.id);case"status":return(0,b.jsxs)("p",{className:"text-xs text-muted-foreground px-1",children:["error"===a.type&&(0,b.jsx)(n.AlertCircle,{className:"inline size-3 mr-1 -mt-0.5 text-destructive"}),a.content]},a.id);default:return null}})]})]}),F.length>0&&(0,b.jsxs)("details",{className:"group/midtext pl-1",open:!G||void 0,children:[(0,b.jsxs)("summary",{className:(0,i.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,b.jsx)(k.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/midtext:rotate-90"}),(0,b.jsxs)("span",{children:[(0,b.jsx)(v,{value:F.length})," thinking"]})]}),(0,b.jsx)("div",{ref:D,className:"mt-1 space-y-2 pl-1",children:F.map(a=>(0,b.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-0.5 text-sm text-muted-foreground",children:(0,b.jsx)(q.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},children:a.content})},a.id))})]}),G&&!j&&(0,b.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-1 text-base text-foreground",children:(0,b.jsx)(q.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},children:B.content})}),"failed"===a.status&&a.error&&(0,b.jsxs)("div",{className:"flex items-center gap-2 mt-2",children:[(0,b.jsxs)("p",{className:"text-sm text-destructive flex items-center gap-1.5",children:[(0,b.jsx)(n.AlertCircle,{className:"size-3.5 shrink-0"}),a.error]}),f&&(0,b.jsxs)("button",{type:"button",onClick:async()=>{r(!0);try{await f()}finally{r(!1)}},disabled:m,className:"shrink-0 text-xs text-muted-foreground hover:text-foreground transition-colors cursor-pointer disabled:opacity-50 flex items-center gap-1",children:[m?(0,b.jsx)(p.Loader2,{className:"size-3 animate-spin"}):(0,b.jsx)(o.RotateCw,{className:"size-3"}),"Retry"]})]}),e&&(0,b.jsx)("p",{className:"text-sm text-muted-foreground animate-pulse mt-1",children:"Connection lost — retrying..."})]})}var x=a.i(588339),y=a.i(752792),z=a.i(831893),A=a.i(70813),B=a.i(452906),C=a.i(921584),D=a.i(25668),E=a.i(525132),F=a.i(763510);let G=(0,l.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"}]]),H=(0,l.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 I=a.i(784847),J=a.i(918768);let K=(0,l.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"}]]),L=(0,l.default)("mic",[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3",key:"s6n7sd"}]]);var M=a.i(700425),N=a.i(884068),O=a.i(58643);function P({agent:a,isSelected:c,onSelect:d}){return(0,b.jsxs)("button",{type:"button","data-mention-item":!0,className:(0,i.cn)("flex w-full items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors",c?"bg-accent text-accent-foreground":"hover:bg-accent/50"),onMouseDown:b=>{b.preventDefault(),d(a)},children:[(0,b.jsx)("span",{className:"truncate font-medium",children:a.name}),a.email_handle&&(0,b.jsxs)("span",{className:"truncate text-xs text-muted-foreground",children:[a.email_handle,"@alook.ai"]})]})}function Q({isOpen:a,relatedAgents:d,otherAgents:e,selectedIndex:f,onSelect:g,anchorPos:h}){let i=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!i.current)return;let a=i.current.querySelectorAll("[data-mention-item]")[f];a?.scrollIntoView({block:"nearest"})},[f]);let j=d.length+e.length;if(!a||0===j)return null;let k=d.length>0&&e.length>0;return(0,b.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:h.top-4,left:h.left,transform:"translateY(-100%)"},children:(0,b.jsxs)("div",{ref:i,className:"max-h-50 overflow-y-auto py-1 thin-scrollbar",children:[d.map((a,c)=>(0,b.jsx)(P,{agent:a,isSelected:c===f,onSelect:g},a.id)),k&&(0,b.jsx)("div",{className:"mx-3 my-1 border-t border-border"}),e.map((a,c)=>(0,b.jsx)(P,{agent:a,isSelected:d.length+c===f,onSelect:g},a.id))]})})}function R(a,b){if(b>=a.length)return!0;let c=a.charCodeAt(b);return(!(c>=48)||!(c<=57))&&(!(c>=65)||!(c<=90))&&(!(c>=97)||!(c<=122))&&95!==c}function S(a,b){if(!a||0===b.length||!a.includes("@"))return a;let c=b.slice().sort((a,b)=>b.name.length-a.name.length),d=[];for(let b=0;b<a.length;b++){if("@"!==a[b]||!function(a,b){if(0===b)return!0;let c=a.charCodeAt(b-1);return(!(c>=48)||!(c<=57))&&(!(c>=65)||!(c<=90))&&(!(c>=97)||!(c<=122))&&95!==c}(a,b))continue;let e=b+1;for(let f of c){let c=e+f.name.length;if(c>a.length||a.slice(e,c).toLowerCase()!==f.name.toLowerCase())continue;let g=c,h=a.slice(c).match(/^ \([a-zA-Z0-9-]+@alook\.ai\)/);if(h&&(g=c+h[0].length),(h||R(a,c))&&(!h||R(a,g))){if(d.some(a=>b>=a.start&&b<a.end))break;d.push({start:b,end:c,name:f.name,agentId:f.id});break}}}let e=a;for(let a=d.length-1;a>=0;a--){let b=d[a],c=e.slice(b.start,b.end);e=e.slice(0,b.start)+`<mention data-agent-id="${b.agentId}">${c}</mention>`+e.slice(b.end)}return e}var T=a.i(207461),U=a.i(7455),V=a.i(135510);function W({open:a,onOpenChange:d,emailId:e,workspaceId:f}){let[h,i]=(0,c.useState)(null),[j,k]=(0,c.useState)(null),[l,m]=(0,c.useState)(!1),[n,o]=(0,c.useState)(500),q=(0,c.useRef)(!1),r=(0,c.useRef)(d);r.current=d,(0,c.useEffect)(()=>{a&&e&&(m(!0),i(null),k(null),Promise.all([(0,x.getEmail)(e,f),(0,x.getEmailBody)(e,f)]).then(([a,b])=>{i(a),k(b)}).catch(()=>{C.toast.error("Email not found"),r.current(!1)}).finally(()=>m(!1)))},[a,e,f]);let s=a=>{d(a),a||setTimeout(()=>{i(null),k(null)},300)},t=(0,c.useCallback)(a=>{a.preventDefault(),q.current=!0,a.target.setPointerCapture(a.pointerId)},[]),u=(0,c.useCallback)(a=>{q.current&&o(Math.min(.8*window.innerWidth,Math.max(320,window.innerWidth-a.clientX)))},[]),v=(0,c.useCallback)(()=>{q.current=!1},[]);return(0,b.jsx)(U.Sheet,{open:a,onOpenChange:s,children:(0,b.jsxs)(U.SheetContent,{side:"right",showCloseButton:!1,style:{width:`min(${n}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,b.jsx)("div",{onPointerDown:t,onPointerMove:u,onPointerUp:v,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,b.jsx)(U.SheetHeader,{children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(J.Mail,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,b.jsx)(U.SheetTitle,{className:"truncate flex-1",children:l?"Loading...":h?.subject||"Email"}),(0,b.jsx)(g.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>s(!1),children:(0,b.jsx)(O.X,{className:"h-4 w-4"})})]})}),(0,b.jsx)(U.SheetBody,{className:"flex-1 overflow-y-auto thin-scrollbar",children:l?(0,b.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,b.jsx)(p.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):h?(0,b.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,b.jsxs)("div",{className:"text-sm space-y-1 border-b pb-3",children:[(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"From:"}),(0,b.jsx)("span",{className:"truncate",children:h.from_email})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"To:"}),(0,b.jsx)("span",{className:"truncate",children:h.to_email})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"Date:"}),(0,b.jsx)("span",{children:new Date(h.created_at).toLocaleString()})]})]}),j?.isHtml?(0,b.jsx)(V.EmailBodyFrame,{html:j.content,className:"max-w-full"}):(0,b.jsx)("pre",{className:"whitespace-pre-wrap text-sm font-mono",children:j?.content}),h.attachments&&h.attachments.length>0&&(0,b.jsxs)("div",{className:"border-t pt-3",children:[(0,b.jsxs)("p",{className:"text-xs text-muted-foreground mb-2",children:[h.attachments.length," attachment",h.attachments.length>1?"s":""]}),(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:h.attachments.map(a=>(0,b.jsx)("span",{className:"inline-flex items-center gap-1 text-xs bg-muted rounded px-2 py-1",children:a.filename},a.key))})]})]}):null})]})})}var X=a.i(963744),Y=a.i(698824);function Z({bufferedMessages:a,onDelete:d}){let[e,f]=(0,c.useState)(!1),g=a.length;if(0===g)return null;let h=Math.min(g,3);return(0,b.jsx)("div",{className:"relative px-5 pb-1",children:(0,b.jsx)("div",{className:"mx-auto max-w-2xl flex justify-center",children:(0,b.jsxs)("div",{className:"relative w-full max-w-lg transition-[height] duration-200 ease-out",style:{height:e?32*g+(g-1)*4:32+(h-1)*6},onMouseEnter:()=>f(!0),onMouseLeave:()=>f(!1),children:[a.map((a,c)=>{var f;let j=g-1-c,k=c>=g-h;return(0,b.jsx)("div",{className:"absolute right-0 left-0 transition-all duration-200 ease-out",style:{height:32,zIndex:c+1,bottom:e?36*j:k?6*j:0,transform:e?"scale(1)":`scale(${k?1-.03*j:.91})`,opacity:e?1:k?1-.2*j:0,pointerEvents:e||k?"auto":"none"},children:(0,b.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,b.jsx)("span",{className:"shrink-0 text-[11px] text-primary/60 tabular-nums w-4 text-center",children:c+1}),(0,b.jsxs)("div",{className:"min-w-0 flex-1 flex items-center gap-1.5",children:[(0,b.jsx)("p",{className:"text-[13px] text-muted-foreground leading-snug truncate",children:(f=a.content).length<=80?f:f.slice(0,80).trimEnd()+"…"}),a.attachment_ids&&a.attachment_ids.length>0&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-0.5 shrink-0 text-[11px] text-muted-foreground/50",children:[(0,b.jsx)(M.Paperclip,{className:"size-2.5"}),a.attachment_ids.length]})]}),(0,b.jsx)("button",{type:"button",onClick:b=>{b.stopPropagation(),d(a.id)},className:(0,i.cn)("shrink-0 rounded-sm p-0.5 transition-all duration-150","text-muted-foreground/30 hover:text-foreground hover:bg-muted",e?"opacity-100":"opacity-0"),tabIndex:e?0:-1,children:(0,b.jsx)(O.X,{className:"size-3"})})]})},a.id)}),!e&&g>h&&(0,b.jsxs)("span",{className:"absolute -top-4 right-1 text-[10px] text-muted-foreground/40 tabular-nums",children:["+",g-h," more"]})]})})})}var $=a.i(389660);let _={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 aa({taskId:a,stepCount:d,workspaceId:e}){let[f,g]=(0,c.useState)([]),[h,i]=(0,c.useState)(!1),[j,k]=(0,c.useState)(!1),l=(0,c.useCallback)(async()=>{if(!j&&!h){i(!0);try{let b=await (0,x.getTaskMessages)(a,e);g(b)}catch{g([])}finally{i(!1),k(!0)}}},[j,h,a,e]);return(0,c.useEffect)(()=>{l()},[]),(0,b.jsx)(w,{task:_,messages:f,stepCountHint:d,onExpandSteps:l,stepsLoading:h})}let ab=(0,l.default)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);var ac=a.i(249453);let ad=(0,l.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"}]]);a.s(["Flag",0,ad],221959);var ae=a.i(166776);let af={mention:["data-agent-id"]},ag=["mention"];function ah({content:a,conversationType:c}){let d=ar(a,c),e="h-4 w-4 mt-0.5 shrink-0";return"issue"===d?(0,b.jsx)(ac.CircleDot,{className:e}):"email"===d?(0,b.jsx)(J.Mail,{className:e}):(0,b.jsx)(ab,{className:e})}function ai({attachmentIds:a,artifacts:c,onArtifactClick:d}){let e=a.map(a=>c.find(b=>b.id===a)).filter(a=>!!a);return 0===e.length?null:(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1.5",children:e.map(a=>(0,b.jsxs)("button",{type:"button",onClick:b=>{b.stopPropagation(),d(a)},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,b.jsx)(I.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-37.5",children:a.filename})]},a.id))})}function aj({pendingFiles:a,messageId:c}){let d=a.get(c);return d&&0!==d.length?(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1.5",children:d.map((a,c)=>(0,b.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,b.jsx)(I.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-37.5",children:a.name})]},c))}):null}let ak=(0,c.memo)(function({msg:a,agents:d,artifacts:e,activeTask:f,taskMessages:h,connectionLost:k,isLastMessage:l,stepCount:m,targetConvId:n,workspaceId:o,conversationType:p,pendingFilesByMessage:r,onArtifactClick:s,onEmailClick:t,onIssueClick:u,onRetry:v,mentionComponents:x,isFlagged:y,onToggleFlag:z}){let A,B,D,[F,G]=(0,c.useState)(!1),H=f&&"assistant"===a.role&&a.task_id===f.id&&a.conversation_id===f.conversation_id&&h.length>0,I=!H&&n&&"assistant"===a.role&&a.task_id&&m>0?m:0,J=H&&f&&["completed","failed","cancelled","superseded"].includes(f.status),K="assistant"===a.role?(0,b.jsxs)("div",{className:"flex flex-row items-center gap-1",children:[(0,b.jsxs)(E.Tooltip,{children:[(0,b.jsx)(E.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-xs","aria-label":F?"Copied":"Copy message",onClick:async b=>{b.stopPropagation();try{await navigator.clipboard.writeText(a.content),G(!0),C.toast.success("Copied to clipboard"),setTimeout(()=>G(!1),2e3)}catch{C.toast.error("Failed to copy")}},className:(0,i.cn)("self-start mb-1",F?"text-green-500 opacity-100":"text-muted-foreground opacity-0 group-hover/msg:opacity-100")}),children:F?(0,b.jsx)(j.Check,{className:"size-3.5"}):(0,b.jsx)(ae.Copy,{className:"size-3.5"})}),(0,b.jsx)(E.TooltipContent,{children:F?"Copied":"Copy"})]}),z&&(0,b.jsxs)(E.Tooltip,{children:[(0,b.jsx)(E.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-xs",onClick:()=>z(a.id),className:(0,i.cn)("self-start mb-1",y?"text-primary opacity-100":"text-muted-foreground opacity-0 group-hover/msg:opacity-100")}),children:(0,b.jsx)(ad,{className:(0,i.cn)("size-3.5",y&&"fill-current")})}),(0,b.jsx)(E.TooltipContent,{children:y?"Unflag":"Flag"})]})]}):null;return(0,b.jsxs)(c.default.Fragment,{children:[H&&(0,b.jsxs)("div",{className:(0,i.cn)("group/msg",y&&"bg-muted/30 rounded-lg px-2 -mx-2"),children:[(0,b.jsx)(w,{task:f,messages:h,connectionLost:k,onRetry:v}),J&&K]}),I>0&&a.task_id&&(0,b.jsx)(aa,{taskId:a.task_id,stepCount:I,workspaceId:o}),"user"===a.role?(A=l&&!!f&&"running"!==f.status&&!["completed","failed","cancelled","superseded"].includes(f.status),(0,b.jsx)("div",{className:"flex justify-end","data-message-id":a.id,...a.task_id?{"data-task-id":a.task_id}:{},children:(0,b.jsxs)("div",{className:(0,i.cn)("max-w-[80%] rounded-lg px-4 py-2 bg-primary text-primary-foreground text-base relative"),children:[A&&(0,b.jsx)("div",{className:"absolute inset-0 rounded-lg animate-pulse pointer-events-none",style:{boxShadow:"0 0 0 2px var(--bubble-glow)"}}),(0,b.jsx)("div",{className:"markdown markdown-user",children:(0,b.jsx)(q.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!1,download:!1,fullscreen:!1}},linkSafety:{enabled:!1},allowedTags:af,literalTagContent:ag,components:x,children:S(a.content,d)})}),a.attachment_ids&&a.attachment_ids.length>0&&(0,b.jsx)(ai,{attachmentIds:a.attachment_ids,artifacts:e,onArtifactClick:s}),!a.attachment_ids&&(0,b.jsx)(aj,{pendingFiles:r,messageId:a.id})]})})):"event"===a.role?(B=a.metadata?.emailId,D=a.metadata?.issueId,(0,b.jsx)("div",{className:"flex justify-start","data-message-id":a.id,...a.task_id?{"data-task-id":a.task_id}:{},children:(0,b.jsxs)("div",{className:(0,i.cn)("w-full rounded-md border bg-muted/50 text-muted-foreground text-sm px-3 py-2 flex items-start gap-2",(!!B||!!D)&&"cursor-pointer hover:bg-muted transition-colors"),onClick:B?()=>t(B):D?()=>u(D):void 0,children:[(0,b.jsx)(ah,{content:a.content,conversationType:p}),(0,b.jsx)("span",{children:a.content})]})})):H?null:(0,b.jsxs)("div",{className:(0,i.cn)("group/msg flex flex-col justify-start",y&&"bg-muted/30 rounded-lg px-2 -mx-2"),"data-message-id":a.id,"data-quote-source":!0,...a.task_id?{"data-task-id":a.task_id}:{},children:[(0,b.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-1 text-base text-foreground",children:(0,b.jsx)(q.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},allowedTags:af,literalTagContent:ag,components:x,children:S(a.content,d)})}),K]})]})});a.i(735132);var al=a.i(253260),am=a.i(325848),an=a.i(191525);function ao({agent:a,isOnline:d,activeTaskCount:e,variant:f="default",isHovered:g}){let[h,k]=(0,c.useState)(!1),l=a.email_handle?`${a.email_handle}@alook.ai`:null,m=(0,c.useCallback)(async()=>{if(l)try{await navigator.clipboard.writeText(l),k(!0),C.toast.success("Email copied to clipboard"),setTimeout(()=>k(!1),2e3)}catch{C.toast.error("Failed to copy email")}},[l]);if("compact"===f){let c;return(0,b.jsxs)("div",{className:"flex items-center gap-2 p-0",children:[(c=(0,am.parseAvatarUrl)(a.avatar_url))?(0,b.jsx)(al.AnimatedAvatar,{config:c,size:32,className:"shrink-0 rounded-xl",isHovered:g??!1,isWorking:!!d&&(e??0)>0}):(0,b.jsx)("div",{className:"flex items-center justify-center size-8 rounded-xl bg-secondary text-secondary-foreground text-xs font-medium shrink-0",children:a.name.charAt(0).toUpperCase()}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("p",{className:"text-sm font-medium truncate max-w-35",children:a.name}),l&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:l})]}),void 0!==d&&(0,b.jsx)("div",{className:"pointer-events-none mt-0.5",children:(0,b.jsx)(an.AgentStatusBadge,{isOnline:d,taskCount:e??0,agentId:a.id})})]})]})}return(0,b.jsxs)("div",{className:"flex flex-col gap-1.5 p-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("p",{className:"text-sm font-medium truncate",children:a.name}),(0,b.jsx)("span",{className:"flex-1"}),void 0!==d&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-[11px] text-muted-foreground",children:[(0,b.jsx)("span",{className:(0,i.cn)("size-1.5 rounded-full",d?"bg-status-online":"bg-status-offline")}),d?(e??0)>0?"Working":null:"Offline"]})]}),l&&(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:l}),(0,b.jsx)("button",{type:"button",onClick:a=>{a.stopPropagation(),m()},className:"shrink-0 p-0.5 rounded-sm text-muted-foreground/60 hover:text-foreground transition-colors cursor-pointer",children:h?(0,b.jsx)(j.Check,{className:"size-3 text-green-500"}):(0,b.jsx)(ae.Copy,{className:"size-3"})})]}),a.description&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground line-clamp-2",children:a.description})]})}a.s(["AgentPreviewCard",0,ao],781418);var ap=a.i(722393);let aq={mention:function(a){let{children:c,...d}=a,{agents:e}=(0,y.useAgentContext)(),f=d["data-agent-id"]??d.dataAgentId,g=f?e.find(a=>a.id===f):void 0;if(!g&&"string"==typeof c){let a=c.startsWith("@")?c.slice(1):c;g=e.find(b=>b.name.toLowerCase()===a.toLowerCase())}return g?(0,b.jsxs)(ap.Popover,{children:[(0,b.jsx)(ap.PopoverTrigger,{openOnHover:!0,delay:300,nativeButton:!1,render:(0,b.jsx)("span",{className:"mention-highlight cursor-pointer"}),children:c}),(0,b.jsx)(ap.PopoverContent,{side:"top",className:"w-fit max-w-80",children:(0,b.jsx)(ao,{agent:g})})]}):(0,b.jsx)("span",{className:"mention-highlight",children:c})},p:({children:a,node:c,...d})=>(0,b.jsx)("div",{"data-md-p":"",...d,children:a})};function ar(a,b){if("issue_event"===b)return"issue";if("email_notification"===b)return"email";if("calendar_event"===b)return"calendar";let c=a.toLowerCase();return c.startsWith("issue ")||c.startsWith("issue:")?"issue":c.includes("email")?"email":"calendar"}function as(a,b){let c=new Map;for(let b of a)c.set(b.id,b);for(let a of b)c.set(a.id,a);return[...c.values()].slice().sort((a,b)=>{let c=a.created_at.localeCompare(b.created_at);return 0!==c?c:a.id.localeCompare(b.id)})}function at(a){let b=[],c=[],d=!1;for(let e of a)"message"===e.kind&&"user"===e.data.role?(d=!0,b.push(e)):"message"===e.kind&&"assistant"===e.data.role?(b.push(e),b.push(...c),c=[],d=!1):d&&"artifact"===e.kind?c.push(e):b.push(e);return b.push(...c),b}function au(a){let b=(0,c.useRef)(a);return(0,c.useEffect)(()=>{b.current=a},[a]),b}function av({agentName:a}){return(0,b.jsxs)("div",{className:"flex items-center gap-3 py-4 select-none","aria-hidden":!0,children:[(0,b.jsx)("div",{className:"flex-1 border-t border-border/40"}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground/60 whitespace-nowrap",children:[a," took a nap 💤"]}),(0,b.jsx)("div",{className:"flex-1 border-t border-border/40"})]})}function aw({artifact:a,version:c,hasDuplicates:d,onClick:e}){return(0,b.jsxs)("button",{onClick:()=>e(a),className:(0,i.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,b.jsx)(I.FileText,{className:"size-4 shrink-0 text-muted-foreground"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("p",{className:"text-sm font-medium truncate",children:[a.filename,d&&(0,b.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",c]})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:(0,T.formatSize)(a.size)})]})]})}function ax({agentId:a,targetConvId:h,scrollToTaskId:j,scrollToMessageId:k}){let l,m,n,o=(0,e.useParams)(),q=(0,e.useSearchParams)(),{workspaceId:r,slug:s}=(0,f.useWorkspace)(),{agents:t,agentLinks:u,activeTaskCounts:v,subscribeWs:P}=(0,y.useAgentContext)(),{refresh:R}=(0,z.useInboxCount)(),{activeChannel:U,loading:V,setAgentId:_}=(0,B.useChannel)(),aa=a??o.id,ab=void 0!==j?j:q.get("task"),ac=void 0!==k?k:q.get("msg"),ad=void 0!==h?h:q.get("conv"),[ae,af]=(0,c.useState)(null),[ag,ah]=(0,c.useState)([]),[ai,aj]=(0,c.useState)(()=>""),[al,am]=(0,c.useState)(!1),[an,ao]=(0,c.useState)(!1),[ap,ar]=(0,c.useState)(null),[ay,az]=(0,c.useState)([]),[aA,aB]=(0,c.useState)(!0),[aC,aD]=(0,c.useState)(!1),[aE,aF]=(0,c.useState)(!1),[aG,aH]=(0,c.useState)(!1),[aI,aJ]=(0,c.useState)([]),[aK,aL]=(0,c.useState)(!1),[aM,aN]=(0,c.useState)(null),[aO,aP]=(0,c.useState)(null),[aQ,aR]=(0,c.useState)(!1),[aS,aT]=(0,c.useState)(null),[aU,aV]=(0,c.useState)(!1),[aW,aX]=(0,c.useState)(null),[aY,aZ]=(0,c.useState)(null),[a$,a_]=(0,c.useState)(!1),[a0,a1]=(0,c.useState)(null),[a2,a3]=(0,c.useState)(null),[a4,a5]=(0,c.useState)(448),[a6,a7]=(0,c.useState)([]),[a8,a9]=(0,c.useState)([]),[ba,bb]=(0,c.useState)(null),[bc,bd]=(0,c.useState)([]),[be,bf]=(0,c.useState)(!1),[bg,bh]=(0,c.useState)([]),[bi,bj]=(0,c.useState)({}),[bk]=(0,c.useState)(()=>Date.now()),[bl,bm]=(0,c.useState)(()=>new Map),[bn,bo]=(0,c.useState)(null),[bp,bq]=(0,c.useState)(null),[br,bs]=(0,c.useState)(new Set),bt=(0,c.useRef)(br);bt.current=br;let{increment:bu,decrement:bv}=(0,A.useFlagCount)();(0,c.useEffect)(()=>{_(aa)},[aa,_]);let{listening:bw,supported:bx,toggle:by}=function(a){let[b,d]=(0,c.useState)(!1),[e,f]=(0,c.useState)(!1),g=(0,c.useRef)(null);(0,c.useEffect)(()=>{f(!1)},[]);let h=(0,c.useCallback)(()=>{},[a]),i=(0,c.useCallback)(()=>{g.current?.stop()},[]),j=(0,c.useCallback)(()=>{b?i():h()},[b,h,i]);return(0,c.useEffect)(()=>()=>{g.current?.abort()},[]),{listening:b,supported:e,toggle:j}}((0,c.useCallback)(a=>{aj(b=>b?b+" "+a:a)},[])),bz=(0,c.useMemo)(()=>aI.filter(a=>"agent"===a.source),[aI]),{versionMap:bA,duplicateFilenames:bB}=(0,c.useMemo)(()=>(0,Y.computeArtifactVersions)(bz),[bz]),bC=(0,c.useMemo)(()=>"agent"===aO?bz:"issue"===aO?aY?.artifacts??[]:[],[aO,bz,aY?.artifacts]),{versionMap:bD,duplicateFilenames:bE}=(0,c.useMemo)(()=>(0,Y.computeArtifactVersions)(bC),[bC]),bF=(0,c.useMemo)(()=>(function(a,b,c,d){if(!d||0===c.length){let d=[...a.map(a=>({kind:"message",data:a})),...b.map(a=>({kind:"artifact",data:a})),...c.map(a=>({kind:"nap",data:a}))];return d.sort((a,b)=>{let c=a.data.created_at.localeCompare(b.data.created_at);if(0!==c)return c;if("nap"===a.kind||"nap"===b.kind){if("nap"===a.kind&&"nap"!==b.kind)return 1;if("nap"!==a.kind&&"nap"===b.kind)return -1}return a.kind!==b.kind?"message"===a.kind?-1:1:a.data.id.localeCompare(b.data.id)}),at(d)}let e=new Set(c.map(a=>a.id.replace(/^nap-/,""))),f=[...c].sort((a,b)=>a.created_at.localeCompare(b.created_at)),g=c=>at([...a.filter(a=>a.conversation_id===c).map(a=>({kind:"message",data:a})),...b.filter(a=>a.conversation_id===c).map(a=>({kind:"artifact",data:a}))].sort((a,b)=>{let c=a.data.created_at.localeCompare(b.data.created_at);return 0!==c?c:a.kind!==b.kind?"message"===a.kind?-1:1:a.data.id.localeCompare(b.data.id)})),h=[];for(let a of f){let b=a.id.replace(/^nap-/,"");h.push(...g(b)),h.push({kind:"nap",data:a})}h.push(...g(d));let i=new Set([...e,d]),j=a.filter(a=>!i.has(a.conversation_id)),k=b.filter(a=>!i.has(a.conversation_id));if(j.length>0||k.length>0){let a=[...j.map(a=>({kind:"message",data:a})),...k.map(a=>({kind:"artifact",data:a}))];a.sort((a,b)=>{let c=a.data.created_at.localeCompare(b.data.created_at);return 0!==c?c:a.kind!==b.kind?"message"===a.kind?-1:1:a.data.id.localeCompare(b.data.id)});let b=at(a),c=h.findIndex(a=>"nap"===a.kind);c>=0?h.splice(c,0,...b):h.push(...b)}return h})(ag,bz,bg,ae?.id),[ag,bz,bg,ae?.id]),bG=(0,c.useCallback)(a=>{(0,Y.isPreviewable)(a)?(aN(a),aP("agent"),aL(!0)):window.open((0,Y.getArtifactUrl)(a.id,r,!0),"_blank")},[r]),bH=(0,c.useCallback)(a=>{(0,Y.isPreviewable)(a)?(aN(a),aP("issue"),aL(!0)):window.open((0,Y.getArtifactUrl)(a.id,r,!0),"_blank")},[r]),bI=(0,c.useRef)(null),bJ=(0,c.useRef)(null),bK=(0,c.useRef)(null),bL=(0,c.useRef)(null),bM=(0,c.useRef)(0),bN=(0,c.useRef)(0),bO=(0,c.useRef)(!1),bP=(0,c.useRef)(!1),bQ=(0,c.useRef)(!0),bR=(0,c.useRef)(!1),bS=(0,c.useRef)(null),bT=(0,c.useRef)(null),bU=(0,c.useRef)(0),bV=(0,c.useRef)(void 0),bW=(0,c.useRef)(null),bX=(0,c.useRef)(null),bY=function({input:a,caretIndex:b,textareaRef:d,agents:e,agentLinks:f,currentAgentId:g,onInputChange:h}){let[i,j]=(0,c.useState)(!1),[k,l]=(0,c.useState)(""),[m,n]=(0,c.useState)(0),[o,p]=(0,c.useState)({top:0,left:0}),q=(0,c.useRef)(null),r=(0,c.useMemo)(()=>{let a=new Set;for(let b of f)b.source_agent_id===g&&a.add(b.target_agent_id),b.target_agent_id===g&&a.add(b.source_agent_id);return a},[f,g]),{relatedAgents:s,otherAgents:t,allAgents:u}=(0,c.useMemo)(()=>{if(!i)return{relatedAgents:[],otherAgents:[],allAgents:[]};let a=a=>{if(!k)return a.slice(0,20);let b=k.toLowerCase(),c=[],d=[];for(let e of a){let a=e.name.toLowerCase();a.startsWith(b)?c.push(e):a.includes(b)&&d.push(e)}return[...c,...d]},b=[],c=[];for(let a of e)r.has(a.id)?b.push(a):c.push(a);let d=a(b),f=a(c);return{relatedAgents:d,otherAgents:f,allAgents:[...d,...f]}},[i,k,e,r]);(0,c.useEffect)(()=>{n(0)},[u.length,k]),(0,c.useEffect)(()=>{if(null===b)return void j(!1);let c=function(a,b){let c=b-1;for(;c>=0&&b-c<=30;){let d=a.charCodeAt(c);if(64===d)return{start:c,query:a.slice(c+1,b)};if(10===d||13===d)break;c--}return null}(a,b);c?(q.current=c.start,l(c.query),j(!0),d.current&&p(function(a,b){let c=document.createElement("div"),d=window.getComputedStyle(a);for(let b of(c.style.position="absolute",c.style.top="-9999px",c.style.left="-9999px",c.style.visibility="hidden",c.style.overflow="hidden",c.style.width=`${a.offsetWidth}px`,["fontFamily","fontSize","fontWeight","fontStyle","letterSpacing","textTransform","wordSpacing","textIndent","lineHeight","paddingTop","paddingRight","paddingBottom","paddingLeft","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","boxSizing","whiteSpace","wordWrap","overflowWrap"]))c.style[b]=d.getPropertyValue(b.replace(/([A-Z])/g,"-$1").toLowerCase());c.textContent=a.value.slice(0,b);let e=document.createElement("span");e.textContent="",c.appendChild(e),document.body.appendChild(c);let f=e.offsetTop-a.scrollTop,g=Math.max(0,Math.min(e.offsetLeft,a.offsetWidth-256));return document.body.removeChild(c),{top:f,left:g}}(d.current,c.start))):(j(!1),q.current=null)},[a,b,d]);let v=(0,c.useCallback)(c=>{if(null===b||null===q.current)return;let e=a.slice(0,q.current),f=a.slice(b);h(`${e}@${c.name} ${f}`),j(!1);let g=e.length+1+c.name.length+1;requestAnimationFrame(()=>{let a=d.current;a&&(a.focus(),a.setSelectionRange(g,g))})},[a,b,d,h]),w=(0,c.useCallback)(a=>!!i&&0!==u.length&&!a.nativeEvent.isComposing&&("ArrowDown"===a.key?(a.preventDefault(),n(a=>(a+1)%u.length),!0):"ArrowUp"===a.key?(a.preventDefault(),n(a=>(a-1+u.length)%u.length),!0):"Enter"===a.key?(a.preventDefault(),v(u[m]),!0):"Escape"===a.key&&(a.preventDefault(),j(!1),!0)),[i,u,m,v]);return{isOpen:i,query:k,selectedIndex:m,anchorPos:o,relatedAgents:s,otherAgents:t,allAgents:u,handleMentionKeyDown:w,selectAgent:v}}({input:ai,caretIndex:ba,textareaRef:bX,agents:(0,c.useMemo)(()=>t.filter(a=>a.id!==aa),[t,aa]),agentLinks:u,currentAgentId:aa,onInputChange:aj});(0,c.useEffect)(()=>{let a=`chat-draft:${aa}:${ad??"default"}`;ai?localStorage.setItem(a,ai):localStorage.removeItem(a)},[ai,aa,ad]),(0,c.useEffect)(()=>{al||bX.current?.focus()},[al]);let bZ=(0,c.useCallback)(()=>{bQ.current=!0,setTimeout(()=>{bI.current?.scrollTo({top:bI.current.scrollHeight,behavior:"smooth"})},50)},[]);(0,c.useEffect)(()=>{if(V)return;bJ.current&&clearInterval(bJ.current),bJ.current=null,bL.current=null;let a=!1;return queueMicrotask(()=>{a||(aB(!0),bO.current=!1,ar(null),az([]),a9([]),bm(new Map),bh([]),bj({}),bd([]),bf(!1),bT.current=null,aj(localStorage.getItem(`chat-draft:${aa}:${ad??"default"}`)??""))}),async function(){try{if(ad)try{let[b,c,d,e]=await Promise.all([(0,x.getConversation)(ad,r),(0,x.listMessages)(ad,r),(0,x.listArtifacts)(ad,r).catch(()=>[]),(0,x.listBufferedMessages)(ad,r).catch(()=>[])]);if(a)return;af(b),ah(c.messages),aF(c.has_more),aJ(d),a9(e);let f=[...new Set(c.messages.filter(a=>"assistant"===a.role&&a.task_id).map(a=>a.task_id))];if(f.length>0&&(0,x.getTaskStepCounts)(f,r).then(b=>{a||bj(b)}).catch(()=>{}),(0,x.listFlaggedMessageIds)(r,ad).then(b=>{a||bs(new Set(b.message_ids))}).catch(()=>{}),ab){let b=await (0,x.getTask)(ab,r).catch(()=>null);if(a)return;if(b&&!["completed","failed","cancelled","superseded"].includes(b.status)){ar(b);let c=await (0,x.getTaskMessages)(ab,r).catch(()=>[]);if(a)return;az(c),c.length>0&&(bM.current=Math.max(...c.map(a=>a.seq))),bS.current?.(b.id,ad,bM.current)}}}catch{let b=await (0,x.chatInit)(aa,r,U);if(a)return;af(b.conversation),ah(b.messages),aF(b.has_more_messages),aJ(b.artifacts),a9(b.buffered_messages),bf(b.has_more_conversations)}else{let b=await (0,x.chatInit)(aa,r,U);if(a)return;af(b.conversation),ah(b.messages),aF(b.has_more_messages),aJ(b.artifacts),a9(b.buffered_messages),bf(b.has_more_conversations),b.active_task&&(ar(b.active_task),b.task_messages.length>0&&(az(b.task_messages),bM.current=Math.max(...b.task_messages.map(a=>a.seq))),["completed","failed","cancelled","superseded"].includes(b.active_task.status)||bS.current?.(b.active_task.id,b.conversation.id,bM.current))}}catch{C.toast.error("Failed to load conversation")}finally{a||aB(!1)}}(),()=>{a=!0}},[aa,r,ad,ab,U,V]);let b$=(0,c.useRef)(R);(0,c.useEffect)(()=>{b$.current=R},[R]);let b_=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!ae?.id||!r||b_.current===ae.id)return;b_.current=ae.id;let a=setTimeout(()=>{(0,x.markInboxRead)(ae.id,r).then(()=>b$.current()).catch(()=>{})},1e3);return()=>{b_.current=null,clearTimeout(a)}},[ae?.id,r]),(0,c.useEffect)(()=>{aA||!(ag.length>0)||bO.current||(bO.current=!0,ab||ac?bQ.current=!1:h?setTimeout(()=>{let a=bI.current?.querySelectorAll("[data-quote-source]");a&&a.length>0?a[a.length-1].scrollIntoView({behavior:"instant",block:"start"}):bI.current?.scrollTo({top:bI.current.scrollHeight})},50):setTimeout(()=>{bI.current?.scrollTo({top:bI.current.scrollHeight})},50))},[aA,ag.length,ab,ac,h]),(0,c.useEffect)(()=>{let a;if(!ab||aA||!ae)return;bQ.current=!1,bR.current=!0;let b=!1,c=()=>{if(b)return!1;let c=document.querySelector(`[data-task-id="${CSS.escape(ab)}"]`);return!!c&&(c.scrollIntoView({behavior:"smooth",block:"start"}),c.classList.add("task-highlight"),a=setTimeout(()=>{c.classList.remove("task-highlight"),b||(bR.current=!1)},1500),!0)},d=setTimeout(async()=>{if(!b&&!c())try{let a=await (0,x.listMessagesAroundTask)(ae.id,r,ab);if(b)return;a.length>0?(ah(b=>as(b,a)),requestAnimationFrame(()=>{setTimeout(()=>{c()||(bR.current=!1)},100)})):bR.current=!1}catch{b||(bR.current=!1)}},100);return()=>{b=!0,clearTimeout(d),a&&clearTimeout(a)}},[ab,aA,ae,r]),(0,c.useEffect)(()=>{let a;if(!ac||ab||aA||!ae)return;bQ.current=!1,bR.current=!0;let b=!1,c=setTimeout(()=>{!b&&((()=>{if(b)return!1;let c=document.querySelector(`[data-message-id="${CSS.escape(ac)}"]`);return!!c&&(c.scrollIntoView({behavior:"smooth",block:"start"}),c.classList.add("task-highlight"),a=setTimeout(()=>{c.classList.remove("task-highlight"),b||(bR.current=!1)},1500),!0)})()||(bI.current?.scrollTo({top:bI.current.scrollHeight}),bR.current=!1))},100);return()=>{b=!0,clearTimeout(c),a&&clearTimeout(a)}},[ac,ab,aA,ae]);let b0=ap?.status;(0,c.useEffect)(()=>{bR.current||("running"===b0||"queued"===b0)&&bQ.current&&bZ()},[ay.length,b0,bZ]);let b1=(0,c.useMemo)(()=>t.find(a=>a.id===aa)?.name??"Agent",[t,aa]),b2=au(ag),b3=au(aE),b4=au(bc),b5=au(be),b6=au(b1),b7=au(U),b8=(0,c.useCallback)(async(a=!1)=>{if(!ae||bP.current)return;bP.current=!0;let b=b2.current,c=b3.current,e=b5.current,f=b6.current,g=b7.current,h=b[0],i=bT.current?.id??ae.id,j=c&&h,k=b4.current;if(!j&&0===k.length&&e){let a=bT.current??{id:ae.id,created_at:ae.created_at};try{let b=await (0,x.listPreviousConversations)(aa,r,{exclude:ae.id,before:a.created_at,channel:g});k=b.conversations,bd(b.conversations),bf(b.has_more)}catch{bf(!1)}}let l=k.length>0;if(!j&&!l){bP.current=!1;return}aH(!0);let m=bI.current;m&&(m.style.overflowAnchor="none");let n=m?.scrollHeight??0;try{let b=[],c=[],l=20,o=!1,p=[];if(j){let a=await (0,x.listMessages)(i,r,{limit:20,before:h.created_at,beforeId:h.id});b=a.messages,l-=a.messages.length,o=a.has_more}if(!o&&l>0){if(0===k.length&&e){let a=bT.current??{id:ae.id,created_at:ae.created_at};try{let b=await (0,x.listPreviousConversations)(aa,r,{exclude:ae.id,before:a.created_at,channel:g});k=b.conversations,bd(b.conversations),bf(b.has_more)}catch{bf(!1)}}let a=0,b=0;for(;a<k.length&&l>0&&b<5;){let d=k[a];a++,b++;let e=await (0,x.listMessages)(d.id,r,{limit:l});if(0===e.messages.length){bT.current=d;continue}let g=bT.current?.created_at??ae.created_at;p.push({agentName:f,created_at:g,id:`nap-${d.id}`}),c=[...e.messages,...c],l-=e.messages.length,o=e.has_more,bT.current=d}a>0&&bd(b=>b.slice(a))}let q=[...c,...b];if((0,d.flushSync)(()=>{q.length>0?(p.length>0&&bh(a=>{let b=new Set(a.map(a=>a.id)),c=p.filter(a=>!b.has(a.id));return[...a,...c]}),aF(o),ah(a=>{let b=new Set(a.map(a=>a.id));return[...q.filter(a=>!b.has(a.id)),...a]})):aF(!1)}),bP.current=!1,(0,d.flushSync)(()=>aH(!1)),m)if(a)m.scrollTop=m.scrollHeight;else{let a=m.scrollHeight;m.scrollTop=a-n}}catch{C.toast.error("Failed to load older messages")}finally{bP.current=!1,aH(!1),bI.current&&(bI.current.style.overflowAnchor="")}},[ae,r,aa,b2,b3,b5,b6,b7,b4]),b9=aE||bc.length>0||be;(0,c.useEffect)(()=>{ae?.id!==bV.current&&(bV.current=ae?.id,bU.current=0)},[ae?.id]),(0,c.useEffect)(()=>{aA||!ae||ag.length>=10||!b9||aG||bU.current>=3||(bU.current+=1,b8(!0))},[aA,ag.length,b9,aG,ae,b8]);let ca=(0,c.useCallback)(()=>{let a=bI.current;a&&(bQ.current=a.scrollHeight-a.scrollTop-a.clientHeight<100)},[]),cb=(0,c.useCallback)((a,b,c)=>{bJ.current&&clearInterval(bJ.current),bM.current=c??0,bN.current=0,aD(!1),bL.current=a,bJ.current=setInterval(async()=>{if(bL.current===a)try{let[c,d]=await Promise.all([(0,x.getTask)(a,r),(0,x.getTaskMessages)(a,r,bM.current||void 0)]),e=bL.current!==a;if(bN.current=0,aD(!1),d.length>0&&!e&&(az(a=>{let b=new Set(a.map(a=>a.seq)),c=d.filter(a=>!b.has(a.seq));return c.length>0?[...a,...c]:a}),bM.current=Math.max(...d.map(a=>a.seq),bM.current)),"completed"===c.status||"failed"===c.status||"cancelled"===c.status||"superseded"===c.status){if(e)return void(0,x.listMessages)(b,r).then(({messages:a})=>ah(b=>as(b,a))).catch(()=>{});bJ.current&&clearInterval(bJ.current),bJ.current=null,bK.current&&clearTimeout(bK.current),bK.current=setTimeout(()=>{(0,x.markInboxRead)(b,r).then(()=>b$.current()).catch(()=>{})},1e3);let d=!bR.current&&bQ.current;try{let[a,d]=await Promise.all([(0,x.listMessages)(b,r),(0,x.listArtifacts)(b,r).catch(()=>null)]);ah(b=>as(b,a.messages)),d&&aJ(d),ar(c)}catch{ar(c),C.toast.error("Failed to refresh messages")}d&&requestAnimationFrame(()=>{bI.current?.scrollTo({top:bI.current.scrollHeight,behavior:"smooth"})}),setTimeout(async()=>{if(!bJ.current)try{let[c,d]=await Promise.all([(0,x.getActiveTask)(b,r),(0,x.listBufferedMessages)(b,r)]);if(a9(d),c&&c.id!==a){let{messages:a}=await (0,x.listMessages)(b,r);ah(b=>as(b,a)),ar(c),az([]),bS.current?.(c.id,b)}}catch{}},1e3)}else e||ar(c)}catch{if(bL.current!==a)return;bN.current+=1,bN.current>=3&&aD(!0),bN.current>=10&&(bJ.current&&clearInterval(bJ.current),bJ.current=null,C.toast.error("Lost connection to agent"))}},3e3)},[r]);(0,c.useEffect)(()=>{bS.current=cb},[cb]),(0,c.useEffect)(()=>()=>{bJ.current&&clearInterval(bJ.current),bK.current&&clearTimeout(bK.current)},[]);let cc=(0,c.useRef)(null);(0,c.useEffect)(()=>{cc.current=ap?.id??null},[ap]),(0,c.useEffect)(()=>P(a=>{if("task.messages"===a.type&&a.taskId===cc.current){let b=a.messages.filter(a=>a.seq>bM.current);b.length>0&&(az(a=>{let c=new Set(a.map(a=>a.seq)),d=b.filter(a=>!c.has(a.seq));return d.length>0?[...a,...d]:a}),bM.current=Math.max(...b.map(a=>a.seq),bM.current))}if("task.created"===a.type&&a.conversationId===ae?.id){(0,x.listMessages)(a.conversationId,r).then(({messages:a})=>ah(b=>as(b,a))).catch(()=>{});let b=a.task;cc.current=b.id,ar(b),az([]),bM.current=0,bS.current?.(b.id,a.conversationId)}if("conversation.message"===a.type&&a.conversationId===ae?.id&&ah(b=>as(b,[a.message])),"artifact.uploaded"===a.type&&a.conversationId===ae?.id&&aJ(b=>b.some(b=>b.id===a.artifact.id)?b:[...b,a.artifact]),"followup.dispatched"===a.type&&a.conversationId===ae?.id){a9(b=>b.filter(b=>b.id!==a.message.id)),(0,x.listBufferedMessages)(a.conversationId,r).then(a9).catch(()=>{}),(0,x.listMessages)(a.conversationId,r).then(({messages:a})=>ah(b=>as(b,a))).catch(()=>{});let b=a.task;cc.current=b.id,ar(b),az([]),bS.current?.(b.id,a.conversationId)}"followup.created"===a.type&&a.conversationId===ae?.id&&a9(b=>(function(a,b){if(a.some(a=>a.id===b.id))return a;let c=new Date(b.created_at).getTime();return a.some(a=>a.id.startsWith("temp-")&&2e3>Math.abs(new Date(a.created_at).getTime()-c))?a:[...a,b]})(b,a.message)),"followup.deleted"===a.type&&a.conversationId===ae?.id&&a9(b=>b.filter(b=>b.id!==a.messageId)),"followup.dispatch_failed"===a.type&&a.conversationId===ae?.id&&C.toast.error(a.error||"Failed to dispatch follow-up")}),[P,ae?.id,r]);let cd=(0,c.useCallback)(a=>{let b=a.target.files;if(!b)return;let c=[];for(let a of Array.from(b))a.size>0xa00000?C.toast.error(`"${a.name}" exceeds 10 MB limit`):c.push(a);c.length>0&&a7(a=>[...a,...c]),a.target.value=""},[]),ce=(0,c.useCallback)(a=>{a7(b=>b.filter((b,c)=>c!==a))},[]),cf=(0,c.useCallback)(()=>{let a=window.getSelection();if(!a||a.isCollapsed||!a.rangeCount)return void bq(null);let b=a.toString().trim();if(!b)return void bq(null);let c=a.getRangeAt(0),d=c.commonAncestorContainer instanceof HTMLElement?c.commonAncestorContainer:c.commonAncestorContainer.parentElement;if(!d?.closest("[data-quote-source]"))return void bq(null);let e=c.getClientRects(),f=e[e.length-1]||c.getBoundingClientRect();bq({text:b,x:f.right,y:f.top-4})},[]);(0,c.useEffect)(()=>(document.addEventListener("selectionchange",cf),()=>document.removeEventListener("selectionchange",cf)),[cf]);let cg=(0,c.useCallback)(()=>{bp&&(bo(bp.text),bq(null),window.getSelection()?.removeAllRanges(),bX.current?.focus())},[bp]),[ch,ci]=(0,c.useState)(!1),cj=(0,c.useRef)(0),ck=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),cj.current++,a.dataTransfer.types.includes("Files")&&ci(!0)},[]),cl=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),cj.current--,0===cj.current&&ci(!1)},[]),cm=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation()},[]),cn=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),ci(!1),cj.current=0;let b=Array.from(a.dataTransfer.files),c=[];for(let a of b)a.size>0xa00000?C.toast.error(`"${a.name}" exceeds 10 MB limit`):c.push(a);c.length>0&&a7(a=>[...a,...c])},[]),co=(0,c.useCallback)(a=>{let b=a.clipboardData?.items;if(!b)return;let c=[];for(let a=0;a<b.length;a++){let d=b[a];if("file"===d.kind){let a=d.getAsFile();a&&c.push(a)}}if(0===c.length)return;a.preventDefault();let d=[];for(let a of c)a.size>0xa00000?C.toast.error(`"${a.name}" exceeds 10 MB limit`):d.push(a);d.length>0&&a7(a=>[...a,...d])},[]),cp=async()=>{if(ae&&!an){ao(!0);try{let a=await (0,x.cancelActiveTask)(ae.id,r);if(a){if(cc.current&&cc.current!==a.id)return;bJ.current&&clearInterval(bJ.current),bJ.current=null;let[b,c]=await Promise.all([(0,x.listMessages)(ae.id,r),(0,x.listBufferedMessages)(ae.id,r)]);ah(a=>as(a,b.messages)),a9(c),ar(a),az([])}}catch{C.toast.error("Failed to cancel task")}finally{ao(!1)}}},cq=async()=>{let a=ai.trim();if(!a&&0===a6.length||al||!ae)return;if(!a)return void C.toast.error("Please type a message");let b=bn?`> ${bn.split("\n").join("\n> ")}
|
|
2
2
|
|
|
3
|
-
${a}`:a,c=[...a7];if(am(""),a8([]),bp(null),ao(!0),ar&&!["completed","failed","cancelled","superseded"].includes(ar.status)){let a=`temp-${Date.now()}`,d={id:a,conversation_id:ad.id,role:"user",content:b,task_id:null,attachment_ids:null,status:"buffered",created_at:new Date().toISOString()};ba(a=>[...a,d]);try{let{message:d}=await (0,x.createBufferedMessage)(ad.id,b,r,c.length>0?c:void 0);ba(b=>b.some(a=>a.id===d.id)?b.filter(b=>b.id!==a):b.map(b=>b.id===a?d:b))}catch(d){ba(b=>b.filter(b=>b.id!==a)),am(b),a8(c),C.toast.error(d instanceof Error?d.message:"Failed to queue follow-up")}finally{ao(!1)}return}let d=`temp-${Date.now()}`,e={id:d,conversation_id:ad.id,role:"user",content:b,task_id:null,attachment_ids:null,created_at:new Date().toISOString()};c.length>0&&bn(a=>{let b=new Map(a);return b.set(d,c),b}),ak(a=>[...a,e]),bW();try{let{message:a,task:f}=await (0,x.sendMessage)(ad.id,b,r,c.length>0?c:void 0);bn(a=>{if(!a.has(d))return a;let b=new Map(a);return b.delete(d),b}),ak(b=>b.map(b=>b.id===e.id?a:b)),a.attachment_ids&&a.attachment_ids.length>0&&(0,x.listArtifacts)(ad.id,r).then(a=>aM(a)).catch(()=>{}),as(f),av([]),b8(f.id,ad.id)}catch(a){bn(a=>{if(!a.has(d))return a;let b=new Map(a);return b.delete(d),b}),ak(a=>a.filter(a=>a.id!==e.id)),am(b),a8(c),C.toast.error(a instanceof Error?a.message:"Failed to send message")}finally{ao(!1),bU.current?.focus()}},co=(0,c.useCallback)(async()=>{if(!ar||!ad)return;let a=await (0,x.retryTask)(ar.id,r);as(a),av([]),b8(a.id,ad.id)},[ar,ad,r,b8]),cp=(0,c.useCallback)(async a=>{let b=bu.current.has(a);bt(c=>{let d=new Set(c);return b?d.delete(a):d.add(a),d}),b?(bw(),(0,x.unflagMessage)(r,a).catch(()=>{bt(b=>new Set(b).add(a)),bv()})):(bv(),(0,x.flagMessage)(r,a).catch(()=>{bt(b=>{let c=new Set(b);return c.delete(a),c}),bw()}))},[r,bv,bw]),cq=(0,c.useCallback)(async a=>{aY(a),aW(!0),a0(!0),a2(null),a4(null);try{let b=await (0,x.getIssue)(r,a);a$(b),b.issue.latest_task_id&&(0,x.getTask)(b.issue.latest_task_id,r).then(a=>a4(a)).catch(()=>a4(null)),b.issue.trace_id&&(0,x.getTrace)(b.issue.trace_id,r).then(a=>a2(a.tasks)).catch(()=>a2(null))}catch(a){C.toast.error(a instanceof Error?a.message:"Failed to load issue"),aW(!1)}finally{a0(!1)}},[r]),cr=aZ?.issue?.conversation_id??null,cs=aZ?.issue?.latest_task_id??null;(0,c.useEffect)(()=>{if(aV&&aX)return P(a=>{if("task.updated"===a.type&&cs&&a.taskId===cs&&(0,x.getTask)(cs,r).then(a=>a4(a)).catch(()=>{}),"conversation.message"===a.type&&cr&&a.conversationId===cr&&(a$(b=>!b||b.messages.some(b=>b.id===a.message.id)?b:{...b,messages:[...b.messages,a.message]}),"event"===a.message.role&&a.message.content.startsWith("Issue status changed:"))){let b=a.message.content.match(/-> (\w+)/);b&&a$(a=>a?{...a,issue:{...a.issue,status:b[1]}}:a)}"issue.comment"===a.type&&a.issueId===aX&&a$(b=>!b||b.comments.some(b=>b.id===a.comment.id)?b:{...b,comments:[...b.comments,a.comment]})})},[aV,aX,cr,cs,r,P]);let[ct,cu]=(0,c.useState)(!1),cv=(0,c.useMemo)(()=>!!ad&&aj.some(a=>a.conversation_id===ad.id),[ad,aj]),cw=async()=>{if(ad&&cv&&!ct){cu(!0);try{bG.current&&(clearInterval(bG.current),bG.current=null);let a=await (0,x.createConversation)(W,r,T);bi(b=>[...b,{agentName:b$,created_at:a.created_at,id:`nap-${ad.id}`}]),be(a=>[{id:ad.id,created_at:ad.created_at},...a]),ai(a),as(null),av([]),aM([]),ba([]),a8([]),bn(new Map),bJ.current=0,aA(!1),aI(!1),bQ.current=null,bW()}catch{C.toast.error("Failed to start new conversation")}finally{cu(!1)}}},cx=!!ar&&!["completed","failed","cancelled","superseded"].includes(ar.status);return aw?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"flex-1 overflow-y-auto px-3 md:px-5",children:(0,b.jsxs)("div",{className:"mx-auto max-w-2xl py-6 space-y-4",children:[(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsx)(D.Skeleton,{className:"h-10 w-48 rounded-lg"})}),(0,b.jsx)("div",{className:"flex justify-start",children:(0,b.jsxs)("div",{className:"space-y-2 px-1 py-1",children:[(0,b.jsx)(D.Skeleton,{className:"h-4 w-72"}),(0,b.jsx)(D.Skeleton,{className:"h-4 w-56"}),(0,b.jsx)(D.Skeleton,{className:"h-4 w-64"})]})}),(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsx)(D.Skeleton,{className:"h-10 w-36 rounded-lg"})}),(0,b.jsx)("div",{className:"flex justify-start",children:(0,b.jsxs)("div",{className:"space-y-2 px-1 py-1",children:[(0,b.jsx)(D.Skeleton,{className:"h-4 w-64"}),(0,b.jsx)(D.Skeleton,{className:"h-4 w-48"})]})})]})}),(0,b.jsx)("div",{className:"px-3 md:px-5 py-3",children:(0,b.jsx)("div",{className:"mx-auto max-w-2xl",children:(0,b.jsx)(D.Skeleton,{className:"h-18 w-full rounded-xl"})})})]}):ad?(0,b.jsxs)(b.Fragment,{children:[bq&&(0,b.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:bq.x,top:bq.y,transform:"translate(-100%, -100%)"},onMouseDown:a=>a.preventDefault(),onClick:cd,children:[(0,b.jsx)(K,{className:"size-3"}),"Quote"]}),(0,b.jsxs)("div",{className:"relative flex-1 min-h-0",children:[(0,b.jsx)("div",{className:"h-full overflow-y-auto overflow-x-hidden px-3 md:px-5 thin-scrollbar",ref:bF,onScroll:b7,onClick:a=>{a.target.closest('[data-streamdown="code-block-actions"] button')&&C.toast.success("Copied to clipboard")},children:(0,b.jsxs)("div",{className:"mx-auto max-w-2xl py-6 space-y-4",children:[b6&&!aJ&&(0,b.jsx)("div",{className:"flex justify-center py-2",children:(0,b.jsx)("button",{onClick:()=>b5(),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"Load earlier messages"})}),aJ&&(0,b.jsx)("div",{className:"flex justify-center py-2",children:(0,b.jsx)(p.Loader2,{className:"size-4 animate-spin text-muted-foreground"})}),0===aj.length&&!ar&&(l=t.find(a=>a.id===W),m=l?.created_at&&bl-new Date(l.created_at).getTime()<3e5,n=(v[W]??0)>0,m&&n&&"default"===T?(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-20 gap-3 animate-[fade-up_400ms_ease-out_both]",children:[(0,b.jsxs)("div",{className:"relative animate-bounce",children:[(0,b.jsx)(J.Mail,{className:"size-8 text-primary"}),(0,b.jsxs)("span",{className:"absolute -top-1 -right-1 flex size-3",children:[(0,b.jsx)("span",{className:"animate-ping absolute inline-flex size-full rounded-full bg-primary/60"}),(0,b.jsx)("span",{className:"relative inline-flex size-3 rounded-full bg-primary"})]})]}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground text-center max-w-xs",children:"Your agent is sending you a welcome email."}),(0,b.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,b.jsx)("p",{className:"text-center text-muted-foreground py-20 text-sm",children:"Send a message to start chatting with the agent."})),bD.map(a=>{if("nap"===a.kind)return(0,b.jsx)(aE,{agentName:b$},a.data.id);if("artifact"===a.kind)return(0,b.jsx)(aF,{artifact:a.data,version:bB.get(a.data.id)??1,hasDuplicates:bC.has(a.data.filename),onClick:bE},`artifact-${a.data.id}`);let c=a.data;return(0,b.jsx)(at,{msg:c,agents:t,artifacts:aL,activeTask:ar,taskMessages:au,connectionLost:ay,isLastMessage:aj.length>0&&aj[aj.length-1].id===c.id,stepCount:c.task_id?bj[c.task_id]??0:0,targetConvId:aa,workspaceId:r,conversationType:ad?.type,pendingFilesByMessage:bm,onArtifactClick:bE,onEmailClick:a=>{aU(a),aS(!0)},onIssueClick:a=>cq(a),onRetry:co,mentionComponents:az,isFlagged:bs.has(c.id),onToggleFlag:"assistant"===c.role?cp:void 0},c.id)}),ar&&ar.conversation_id===ad?.id&&!["completed","failed","cancelled","superseded"].includes(ar.status)&&(0,b.jsx)(w,{task:ar,messages:au,connectionLost:ay})]})}),(0,b.jsx)(ah.ScrollToBottomButton,{scrollRef:bF})]}),ad&&(0,b.jsx)(ag,{bufferedMessages:a9,onDelete:a=>{ba(b=>b.filter(b=>b.id!==a)),(0,x.deleteBufferedMessage)(ad.id,a,r).catch(()=>{ba(a9),C.toast.error("Failed to delete follow-up")})}}),(0,b.jsx)("div",{className:"px-3 md:px-5 py-3",children:(0,b.jsx)("div",{className:"mx-auto max-w-2xl relative",children:(0,b.jsxs)("div",{className:(0,i.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",an&&"opacity-50",ce&&"border-ring ring-3 ring-ring/50"),onDragEnter:ch,onDragLeave:ci,onDragOver:cj,onDrop:ck,children:[ce&&(0,b.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,b.jsx)("p",{className:"text-sm text-muted-foreground font-medium",children:"Drop files here"})}),bo&&(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3.5 pt-2.5 pb-1 border-b border-border/50",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0 flex items-start gap-2",children:[(0,b.jsx)(K,{className:"size-3.5 shrink-0 mt-0.5 text-muted-foreground"}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground truncate",children:[bo.slice(0,120),bo.length>120?"...":""]})]}),(0,b.jsx)("button",{type:"button",onClick:()=>bp(null),className:"shrink-0 p-0.5 rounded-sm hover:bg-muted-foreground/20 transition-colors text-muted-foreground",children:(0,b.jsx)(O.X,{className:"size-3.5"})})]}),(0,b.jsx)(Q,{isOpen:bV.isOpen,relatedAgents:bV.relatedAgents,otherAgents:bV.otherAgents,selectedIndex:bV.selectedIndex,onSelect:bV.selectAgent,anchorPos:bV.anchorPos}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.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:al?S(al.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),t).replace(/<mention[^>]*>/g,'<span class="mention-highlight">').replace(/<\/mention>/g,"</span>")+(al.endsWith("\n")?"\n":""):""}}),(0,b.jsx)("textarea",{ref:bU,value:al,onChange:a=>{am(a.target.value),bc(a.target.selectionStart),requestAnimationFrame(()=>{let b=a.target.previousElementSibling;b&&(b.scrollTop=a.target.scrollTop)})},onKeyDown:a=>{!bV.handleMentionKeyDown(a)&&("Enter"!==a.key||a.shiftKey||a.nativeEvent.isComposing||(a.preventDefault(),cn()))},onPaste:cl,onKeyUp:a=>bc(a.target.selectionStart),onClick:a=>bc(a.target.selectionStart),onSelect:a=>bc(a.target.selectionStart),onScroll:a=>{let b=a.target.previousElementSibling;b&&(b.scrollTop=a.target.scrollTop)},placeholder:cx?"Type a follow-up...":"Type a message...",rows:1,disabled:an,className:(0,i.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")})]}),a7.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 px-3.5 pb-1",children:a7.map((a,c)=>(0,b.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,b.jsx)(I.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-30",children:a.name}),(0,b.jsx)("span",{className:"text-muted-foreground/60",children:ab(a.size)}),(0,b.jsx)("button",{type:"button",onClick:()=>cb(c),className:"ml-0.5 rounded-sm p-0.5 hover:bg-muted-foreground/20 transition-colors",children:(0,b.jsx)(O.X,{className:"size-3"})})]},`${a.name}-${c}`))}),(0,b.jsxs)("div",{className:"flex items-center justify-between px-2 pb-2 pt-0.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[!aa&&(0,b.jsxs)(E.Tooltip,{children:[(0,b.jsx)(E.TooltipTrigger,{render:a=>(0,b.jsx)("span",{...a,className:(0,i.cn)("inline-flex",a.className),children:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onClick:cw,disabled:ct||!ad||!cv||cx,className:"rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200",children:ct?(0,b.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(G,{className:"size-3.5"})})})}),(0,b.jsx)(E.TooltipContent,{side:"top",children:cx?"Wait for the task to finish":cv?"Take a nap":`${b$} is well-rested and ready to go`})]}),(0,b.jsxs)(E.Tooltip,{children:[(0,b.jsxs)(E.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onClick:()=>aO(!0),className:"relative rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:[(0,b.jsx)(H,{className:"size-3.5"}),bA.length>0&&(0,b.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:bA.length})]}),(0,b.jsx)(E.TooltipContent,{side:"top",children:"Artifacts"})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsx)("input",{ref:bT,type:"file",multiple:!0,className:"hidden",onChange:ca}),(0,b.jsxs)(E.Tooltip,{children:[(0,b.jsx)(E.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onPointerDown:a=>a.preventDefault(),onClick:()=>bT.current?.click(),disabled:an,className:"rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:(0,b.jsx)(M.Paperclip,{className:"size-3.5"})}),(0,b.jsx)(E.TooltipContent,{side:"top",children:"Attach files"})]}),by&&(0,b.jsxs)(E.Tooltip,{children:[(0,b.jsx)(E.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onPointerDown:a=>a.preventDefault(),onClick:bz,disabled:an,className:(0,i.cn)("rounded-lg transition-colors duration-200",bx?"text-red-500 hover:text-red-600 bg-red-500/10":"text-muted-foreground/60 hover:text-foreground")}),children:(0,b.jsx)(L,{className:(0,i.cn)("size-3.5",bx&&"animate-pulse")})}),(0,b.jsx)(E.TooltipContent,{side:"top",children:bx?"Stop recording":"Voice input"})]}),!cx||al.trim()||an?(0,b.jsxs)(E.Tooltip,{children:[(0,b.jsx)(E.TooltipTrigger,{render:(0,b.jsx)(g.Button,{size:"icon-sm",onClick:cn,disabled:!al.trim()||an,className:(0,i.cn)("rounded-lg transition-opacity duration-200",!al.trim()&&"opacity-40")}),children:an?(0,b.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(F.ArrowUp,{className:"size-3.5"})}),(0,b.jsx)(E.TooltipContent,{side:"top",children:"Send"})]}):(0,b.jsxs)(E.Tooltip,{children:[(0,b.jsx)(E.TooltipTrigger,{render:(0,b.jsx)(g.Button,{size:"icon-sm",onClick:cm,disabled:ap,className:"rounded-lg bg-red-500/10 text-red-500 hover:bg-red-500/20 transition-colors duration-200"}),children:ap?(0,b.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(N.Square,{className:"size-3.5 fill-current"})}),(0,b.jsx)(E.TooltipContent,{side:"top",children:"Stop task"})]})]})]})]})})}),(0,b.jsx)(ac,{open:aN,onOpenChange:a=>{aO(a),a||setTimeout(()=>aQ(null),300)},artifacts:bA,workspaceId:r,initialArtifact:aP,versionMap:bB,duplicateFilenames:bC}),(0,b.jsx)(ae,{open:aR,onOpenChange:a=>{aS(a),a||setTimeout(()=>aU(null),300)},emailId:aT,workspaceId:r}),(0,b.jsx)(af.IssueSheet,{open:aV,onOpenChange:a=>{aW(a),a||setTimeout(()=>{aY(null),a$(null),a4(null)},300)},agents:t,issue:aZ?.issue??null,detail:aZ?{messages:aZ.messages,comments:aZ.comments,artifacts:aZ.artifacts,traceId:aZ.issue.trace_id}:null,detailLoading:a_,activeTask:a3,traceTasks:a1,slug:s,workspaceId:r,width:a5,onWidthChange:a6,onUpdate:async(a,b)=>{try{let c=await (0,x.updateIssue)(r,a,b);a$(d=>d&&d.issue.id===a?{...d,issue:{...d.issue,...b,updated_at:c.updated_at}}:d)}catch(a){C.toast.error(a instanceof Error?a.message:"Failed to update issue")}},onStatusChange:async(a,b)=>{try{await (0,x.updateIssue)(r,a,{status:b}),a$(c=>c&&c.issue.id===a?{...c,issue:{...c.issue,status:b}}:c)}catch(a){C.toast.error(a instanceof Error?a.message:"Failed to update status")}},onCommented:()=>{aX&&cq(aX)}})]}):(0,b.jsx)("div",{className:"flex flex-1 items-center justify-center text-sm text-muted-foreground",children:"Failed to load conversation"})}}];
|
|
3
|
+
${a}`:a,c=[...a6];if(aj(""),a7([]),bo(null),am(!0),ap&&!["completed","failed","cancelled","superseded"].includes(ap.status)){let a=`temp-${Date.now()}`,d={id:a,conversation_id:ae.id,role:"user",content:b,task_id:null,attachment_ids:null,status:"buffered",created_at:new Date().toISOString()};a9(a=>[...a,d]);try{let{message:d}=await (0,x.createBufferedMessage)(ae.id,b,r,c.length>0?c:void 0);a9(b=>b.some(a=>a.id===d.id)?b.filter(b=>b.id!==a):b.map(b=>b.id===a?d:b))}catch(d){a9(b=>b.filter(b=>b.id!==a)),aj(b),a7(c),C.toast.error(d instanceof Error?d.message:"Failed to queue follow-up")}finally{am(!1)}return}let d=`temp-${Date.now()}`,e={id:d,conversation_id:ae.id,role:"user",content:b,task_id:null,attachment_ids:null,created_at:new Date().toISOString()};c.length>0&&bm(a=>{let b=new Map(a);return b.set(d,c),b}),ah(a=>[...a,e]),bZ();try{let{message:a,task:f}=await (0,x.sendMessage)(ae.id,b,r,c.length>0?c:void 0);bm(a=>{if(!a.has(d))return a;let b=new Map(a);return b.delete(d),b}),ah(b=>b.map(b=>b.id===e.id?a:b)),a.attachment_ids&&a.attachment_ids.length>0&&(0,x.listArtifacts)(ae.id,r).then(a=>aJ(a)).catch(()=>{}),ar(f),az([]),cb(f.id,ae.id)}catch(a){bm(a=>{if(!a.has(d))return a;let b=new Map(a);return b.delete(d),b}),ah(a=>a.filter(a=>a.id!==e.id)),aj(b),a7(c),C.toast.error(a instanceof Error?a.message:"Failed to send message")}finally{am(!1),bX.current?.focus()}},cr=(0,c.useCallback)(async()=>{if(!ap||!ae)return;let a=await (0,x.retryTask)(ap.id,r);ar(a),az([]),cb(a.id,ae.id)},[ap,ae,r,cb]),cs=(0,c.useCallback)(async a=>{let b=bt.current.has(a);bs(c=>{let d=new Set(c);return b?d.delete(a):d.add(a),d}),b?(bv(),(0,x.unflagMessage)(r,a).catch(()=>{bs(b=>new Set(b).add(a)),bu()})):(bu(),(0,x.flagMessage)(r,a).catch(()=>{bs(b=>{let c=new Set(b);return c.delete(a),c}),bv()}))},[r,bu,bv]),ct=(0,c.useCallback)(async a=>{aX(a),aV(!0),a_(!0),a1(null),a3(null);try{let b=await (0,x.getIssue)(r,a);aZ(b),b.issue.latest_task_id&&(0,x.getTask)(b.issue.latest_task_id,r).then(a=>a3(a)).catch(()=>a3(null)),b.issue.trace_id&&(0,x.getTrace)(b.issue.trace_id,r).then(a=>a1(a.tasks)).catch(()=>a1(null))}catch(a){C.toast.error(a instanceof Error?a.message:"Failed to load issue"),aV(!1)}finally{a_(!1)}},[r]),cu=aY?.issue?.conversation_id??null,cv=aY?.issue?.latest_task_id??null;(0,c.useEffect)(()=>{if(aU&&aW)return P(a=>{if("task.updated"===a.type&&cv&&a.taskId===cv&&(0,x.getTask)(cv,r).then(a=>a3(a)).catch(()=>{}),"conversation.message"===a.type&&cu&&a.conversationId===cu&&(aZ(b=>!b||b.messages.some(b=>b.id===a.message.id)?b:{...b,messages:[...b.messages,a.message]}),"event"===a.message.role&&a.message.content.startsWith("Issue status changed:"))){let b=a.message.content.match(/-> (\w+)/);b&&aZ(a=>a?{...a,issue:{...a.issue,status:b[1]}}:a)}"issue.comment"===a.type&&a.issueId===aW&&aZ(b=>!b||b.comments.some(b=>b.id===a.comment.id)?b:{...b,comments:[...b.comments,a.comment]})})},[aU,aW,cu,cv,r,P]);let[cw,cx]=(0,c.useState)(!1),cy=(0,c.useMemo)(()=>!!ae&&ag.some(a=>a.conversation_id===ae.id),[ae,ag]),cz=async()=>{if(ae&&cy&&!cw){cx(!0);try{bJ.current&&(clearInterval(bJ.current),bJ.current=null);let a=await (0,x.createConversation)(aa,r,U);bh(b=>[...b,{agentName:b1,created_at:a.created_at,id:`nap-${ae.id}`}]),bd(a=>[{id:ae.id,created_at:ae.created_at},...a]),af(a),ar(null),az([]),aJ([]),a9([]),a7([]),bm(new Map),bM.current=0,aD(!1),aF(!1),bT.current=null,bZ()}catch{C.toast.error("Failed to start new conversation")}finally{cx(!1)}}},cA=!!ap&&!["completed","failed","cancelled","superseded"].includes(ap.status);return aA?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"flex-1 overflow-y-auto px-3 md:px-5",children:(0,b.jsxs)("div",{className:"mx-auto max-w-2xl py-6 space-y-4",children:[(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsx)(D.Skeleton,{className:"h-10 w-48 rounded-lg"})}),(0,b.jsx)("div",{className:"flex justify-start",children:(0,b.jsxs)("div",{className:"space-y-2 px-1 py-1",children:[(0,b.jsx)(D.Skeleton,{className:"h-4 w-72"}),(0,b.jsx)(D.Skeleton,{className:"h-4 w-56"}),(0,b.jsx)(D.Skeleton,{className:"h-4 w-64"})]})}),(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsx)(D.Skeleton,{className:"h-10 w-36 rounded-lg"})}),(0,b.jsx)("div",{className:"flex justify-start",children:(0,b.jsxs)("div",{className:"space-y-2 px-1 py-1",children:[(0,b.jsx)(D.Skeleton,{className:"h-4 w-64"}),(0,b.jsx)(D.Skeleton,{className:"h-4 w-48"})]})})]})}),(0,b.jsx)("div",{className:"px-3 md:px-5 py-3",children:(0,b.jsx)("div",{className:"mx-auto max-w-2xl",children:(0,b.jsx)(D.Skeleton,{className:"h-18 w-full rounded-xl"})})})]}):ae?(0,b.jsxs)(b.Fragment,{children:[bp&&(0,b.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:bp.x,top:bp.y,transform:"translate(-100%, -100%)"},onMouseDown:a=>a.preventDefault(),onClick:cg,children:[(0,b.jsx)(K,{className:"size-3"}),"Quote"]}),(0,b.jsxs)("div",{className:"relative flex-1 min-h-0",children:[(0,b.jsx)("div",{className:"h-full overflow-y-auto overflow-x-hidden px-3 md:px-5 thin-scrollbar",ref:bI,onScroll:ca,onClick:a=>{a.target.closest('[data-streamdown="code-block-actions"] button')&&C.toast.success("Copied to clipboard")},children:(0,b.jsxs)("div",{className:"mx-auto max-w-2xl py-6 space-y-4",children:[b9&&!aG&&(0,b.jsx)("div",{className:"flex justify-center py-2",children:(0,b.jsx)("button",{onClick:()=>b8(),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"Load earlier messages"})}),aG&&(0,b.jsx)("div",{className:"flex justify-center py-2",children:(0,b.jsx)(p.Loader2,{className:"size-4 animate-spin text-muted-foreground"})}),0===ag.length&&!ap&&(l=t.find(a=>a.id===aa),m=l?.created_at&&bk-new Date(l.created_at).getTime()<3e5,n=(v[aa]??0)>0,m&&n&&"default"===U?(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-20 gap-3 animate-[fade-up_400ms_ease-out_both]",children:[(0,b.jsxs)("div",{className:"relative animate-bounce",children:[(0,b.jsx)(J.Mail,{className:"size-8 text-primary"}),(0,b.jsxs)("span",{className:"absolute -top-1 -right-1 flex size-3",children:[(0,b.jsx)("span",{className:"animate-ping absolute inline-flex size-full rounded-full bg-primary/60"}),(0,b.jsx)("span",{className:"relative inline-flex size-3 rounded-full bg-primary"})]})]}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground text-center max-w-xs",children:"Your agent is sending you a welcome email."}),(0,b.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,b.jsx)("p",{className:"text-center text-muted-foreground py-20 text-sm",children:"Send a message to start chatting with the agent."})),bF.map(a=>{if("nap"===a.kind)return(0,b.jsx)(av,{agentName:b1},a.data.id);if("artifact"===a.kind)return(0,b.jsx)(aw,{artifact:a.data,version:bA.get(a.data.id)??1,hasDuplicates:bB.has(a.data.filename),onClick:bG},`artifact-${a.data.id}`);let c=a.data;return(0,b.jsx)(ak,{msg:c,agents:t,artifacts:aI,activeTask:ap,taskMessages:ay,connectionLost:aC,isLastMessage:ag.length>0&&ag[ag.length-1].id===c.id,stepCount:c.task_id?bi[c.task_id]??0:0,targetConvId:ad,workspaceId:r,conversationType:ae?.type,pendingFilesByMessage:bl,onArtifactClick:bG,onEmailClick:a=>{aT(a),aR(!0)},onIssueClick:a=>ct(a),onRetry:cr,mentionComponents:aq,isFlagged:br.has(c.id),onToggleFlag:"assistant"===c.role?cs:void 0},c.id)}),ap&&ap.conversation_id===ae?.id&&!["completed","failed","cancelled","superseded"].includes(ap.status)&&(0,b.jsx)(w,{task:ap,messages:ay,connectionLost:aC})]})}),(0,b.jsx)($.ScrollToBottomButton,{scrollRef:bI})]}),ae&&(0,b.jsx)(Z,{bufferedMessages:a8,onDelete:a=>{a9(b=>b.filter(b=>b.id!==a)),(0,x.deleteBufferedMessage)(ae.id,a,r).catch(()=>{a9(a8),C.toast.error("Failed to delete follow-up")})}}),(0,b.jsx)("div",{className:"px-3 md:px-5 py-3",children:(0,b.jsx)("div",{className:"mx-auto max-w-2xl relative",children:(0,b.jsxs)("div",{className:(0,i.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",al&&"opacity-50",ch&&"border-ring ring-3 ring-ring/50"),onDragEnter:ck,onDragLeave:cl,onDragOver:cm,onDrop:cn,children:[ch&&(0,b.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,b.jsx)("p",{className:"text-sm text-muted-foreground font-medium",children:"Drop files here"})}),bn&&(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3.5 pt-2.5 pb-1 border-b border-border/50",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0 flex items-start gap-2",children:[(0,b.jsx)(K,{className:"size-3.5 shrink-0 mt-0.5 text-muted-foreground"}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground truncate",children:[bn.slice(0,120),bn.length>120?"...":""]})]}),(0,b.jsx)("button",{type:"button",onClick:()=>bo(null),className:"shrink-0 p-0.5 rounded-sm hover:bg-muted-foreground/20 transition-colors text-muted-foreground",children:(0,b.jsx)(O.X,{className:"size-3.5"})})]}),(0,b.jsx)(Q,{isOpen:bY.isOpen,relatedAgents:bY.relatedAgents,otherAgents:bY.otherAgents,selectedIndex:bY.selectedIndex,onSelect:bY.selectAgent,anchorPos:bY.anchorPos}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.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:ai?S(ai.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),t).replace(/<mention[^>]*>/g,'<span class="mention-highlight">').replace(/<\/mention>/g,"</span>")+(ai.endsWith("\n")?"\n":""):""}}),(0,b.jsx)("textarea",{ref:bX,value:ai,onChange:a=>{aj(a.target.value),bb(a.target.selectionStart),requestAnimationFrame(()=>{let b=a.target.previousElementSibling;b&&(b.scrollTop=a.target.scrollTop)})},onKeyDown:a=>{!bY.handleMentionKeyDown(a)&&("Enter"!==a.key||a.shiftKey||a.nativeEvent.isComposing||(a.preventDefault(),cq()))},onPaste:co,onKeyUp:a=>bb(a.target.selectionStart),onClick:a=>bb(a.target.selectionStart),onSelect:a=>bb(a.target.selectionStart),onScroll:a=>{let b=a.target.previousElementSibling;b&&(b.scrollTop=a.target.scrollTop)},placeholder:cA?"Type a follow-up...":"Type a message...",rows:1,disabled:al,className:(0,i.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")})]}),a6.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 px-3.5 pb-1",children:a6.map((a,c)=>(0,b.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,b.jsx)(I.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-30",children:a.name}),(0,b.jsx)("span",{className:"text-muted-foreground/60",children:(0,T.formatSize)(a.size)}),(0,b.jsx)("button",{type:"button",onClick:()=>ce(c),className:"ml-0.5 rounded-sm p-0.5 hover:bg-muted-foreground/20 transition-colors",children:(0,b.jsx)(O.X,{className:"size-3"})})]},`${a.name}-${c}`))}),(0,b.jsxs)("div",{className:"flex items-center justify-between px-2 pb-2 pt-0.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[!ad&&(0,b.jsxs)(E.Tooltip,{children:[(0,b.jsx)(E.TooltipTrigger,{render:a=>(0,b.jsx)("span",{...a,className:(0,i.cn)("inline-flex",a.className),children:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onClick:cz,disabled:cw||!ae||!cy||cA,className:"rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200",children:cw?(0,b.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(G,{className:"size-3.5"})})})}),(0,b.jsx)(E.TooltipContent,{side:"top",children:cA?"Wait for the task to finish":cy?"Take a nap":`${b1} is well-rested and ready to go`})]}),(0,b.jsxs)(E.Tooltip,{children:[(0,b.jsxs)(E.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onClick:()=>{aP("agent"),aL(!0)},className:"relative rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:[(0,b.jsx)(H,{className:"size-3.5"}),bz.length>0&&(0,b.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:bz.length})]}),(0,b.jsx)(E.TooltipContent,{side:"top",children:"Artifacts"})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsx)("input",{ref:bW,type:"file",multiple:!0,className:"hidden",onChange:cd}),(0,b.jsxs)(E.Tooltip,{children:[(0,b.jsx)(E.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onPointerDown:a=>a.preventDefault(),onClick:()=>bW.current?.click(),disabled:al,className:"rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:(0,b.jsx)(M.Paperclip,{className:"size-3.5"})}),(0,b.jsx)(E.TooltipContent,{side:"top",children:"Attach files"})]}),bx&&(0,b.jsxs)(E.Tooltip,{children:[(0,b.jsx)(E.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onPointerDown:a=>a.preventDefault(),onClick:by,disabled:al,className:(0,i.cn)("rounded-lg transition-colors duration-200",bw?"text-red-500 hover:text-red-600 bg-red-500/10":"text-muted-foreground/60 hover:text-foreground")}),children:(0,b.jsx)(L,{className:(0,i.cn)("size-3.5",bw&&"animate-pulse")})}),(0,b.jsx)(E.TooltipContent,{side:"top",children:bw?"Stop recording":"Voice input"})]}),!cA||ai.trim()||al?(0,b.jsxs)(E.Tooltip,{children:[(0,b.jsx)(E.TooltipTrigger,{render:(0,b.jsx)(g.Button,{size:"icon-sm",onClick:cq,disabled:!ai.trim()||al,className:(0,i.cn)("rounded-lg transition-opacity duration-200",!ai.trim()&&"opacity-40")}),children:al?(0,b.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(F.ArrowUp,{className:"size-3.5"})}),(0,b.jsx)(E.TooltipContent,{side:"top",children:"Send"})]}):(0,b.jsxs)(E.Tooltip,{children:[(0,b.jsx)(E.TooltipTrigger,{render:(0,b.jsx)(g.Button,{size:"icon-sm",onClick:cp,disabled:an,className:"rounded-lg bg-red-500/10 text-red-500 hover:bg-red-500/20 transition-colors duration-200"}),children:an?(0,b.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(N.Square,{className:"size-3.5 fill-current"})}),(0,b.jsx)(E.TooltipContent,{side:"top",children:"Stop task"})]})]})]})]})})}),(0,b.jsx)(T.ArtifactSheet,{open:aK,onOpenChange:a=>{aL(a),a||setTimeout(()=>{aN(null),aP(null)},300)},artifacts:bC,workspaceId:r,initialArtifact:aM,versionMap:bD,duplicateFilenames:bE}),(0,b.jsx)(W,{open:aQ,onOpenChange:a=>{aR(a),a||setTimeout(()=>aT(null),300)},emailId:aS,workspaceId:r}),(0,b.jsx)(X.IssueSheet,{open:aU,onOpenChange:a=>{aV(a),a||setTimeout(()=>{aX(null),aZ(null),a3(null)},300)},agents:t,issue:aY?.issue??null,detail:aY?{messages:aY.messages,comments:aY.comments,artifacts:aY.artifacts,traceId:aY.issue.trace_id}:null,detailLoading:a$,activeTask:a2,traceTasks:a0,slug:s,workspaceId:r,width:a4,onWidthChange:a5,onUpdate:async(a,b)=>{try{let c=await (0,x.updateIssue)(r,a,b);aZ(d=>d&&d.issue.id===a?{...d,issue:{...d.issue,...b,updated_at:c.updated_at}}:d)}catch(a){C.toast.error(a instanceof Error?a.message:"Failed to update issue")}},onStatusChange:async(a,b)=>{try{await (0,x.updateIssue)(r,a,{status:b}),aZ(c=>c&&c.issue.id===a?{...c,issue:{...c.issue,status:b}}:c)}catch(a){C.toast.error(a instanceof Error?a.message:"Failed to update status")}},onCommented:()=>{aW&&ct(aW)},onArtifactClick:bH})]}):(0,b.jsx)("div",{className:"flex flex-1 items-center justify-center text-sm text-muted-foreground",children:"Failed to load conversation"})}}];
|
|
4
4
|
|
|
5
5
|
//# sourceMappingURL=src_web_src_0dvds67._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[439882,a=>{"use strict";var b=a.i(749314),c=a.i(75118);a.s(["Card",0,function({className:a,size:d="default",...e}){return(0,b.jsx)("div",{"data-slot":"card","data-size":d,className:(0,c.cn)("group/card flex flex-col gap-4 overflow-hidden rounded-xl bg-card py-4 text-sm text-card-foreground ring-1 ring-foreground/10 has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",a),...e})},"CardAction",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-action",className:(0,c.cn)("col-start-2 row-span-2 row-start-1 self-start justify-self-end",a),...d})},"CardContent",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-content",className:(0,c.cn)("px-4 group-data-[size=sm]/card:px-3",a),...d})},"CardHeader",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-header",className:(0,c.cn)("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3",a),...d})},"CardTitle",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-title",className:(0,c.cn)("font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",a),...d})}])},74414,a=>{"use strict";var b=a.i(749314),c=a.i(385539);function d({className:a}){return(0,b.jsx)("svg",{viewBox:"0 0 16 16",fill:"#D97757",className:a,children:(0,b.jsx)("path",{d:"m3.127 10.604 3.135-1.76.053-.153-.053-.085H6.11l-.525-.032-1.791-.048-1.554-.065-1.505-.08-.38-.081L0 7.832l.036-.234.32-.214.455.04 1.009.069 1.513.105 1.097.064 1.626.17h.259l.036-.105-.089-.065-.068-.064-1.566-1.062-1.695-1.121-.887-.646-.48-.327-.243-.306-.104-.67.435-.48.585.04.15.04.593.456 1.267.981 1.654 1.218.242.202.097-.068.012-.049-.109-.181-.9-1.626-.96-1.655-.428-.686-.113-.411a2 2 0 0 1-.068-.484l.496-.674L4.446 0l.662.089.279.242.411.94.666 1.48 1.033 2.014.302.597.162.553.06.17h.105v-.097l.085-1.134.157-1.392.154-1.792.052-.504.25-.605.497-.327.387.186.319.456-.045.294-.19 1.23-.37 1.93-.243 1.29h.142l.161-.16.654-.868 1.097-1.372.484-.545.565-.601.363-.287h.686l.505.751-.226.775-.707.895-.585.759-.839 1.13-.524.904.048.072.125-.012 1.897-.403 1.024-.186 1.223-.21.553.258.06.263-.218.536-1.307.323-1.533.307-2.284.54-.028.02.032.04 1.029.098.44.024h1.077l2.005.15.525.346.315.424-.053.323-.807.411-3.631-.863-.872-.218h-.12v.073l.726.71 1.331 1.202 1.667 1.55.084.383-.214.302-.226-.032-1.464-1.101-.565-.497-1.28-1.077h-.084v.113l.295.432 1.557 2.34.08.718-.112.234-.404.141-.444-.08-.911-1.28-.94-1.44-.759-1.291-.093.053-.448 4.821-.21.246-.484.186-.403-.307-.214-.496.214-.98.258-1.28.21-1.016.19-1.263.112-.42-.008-.028-.092.012-.953 1.307-1.448 1.957-1.146 1.227-.274.109-.477-.247.045-.44.266-.39 1.586-2.018.956-1.25.617-.723-.004-.105h-.036l-4.212 2.736-.75.096-.324-.302.04-.496.154-.162 1.267-.871z"})})}function e({className:a}){return(0,b.jsx)("svg",{viewBox:"0 0 16 16",fill:"currentColor",className:a,children:(0,b.jsx)("path",{d:"M14.949 6.547a3.94 3.94 0 0 0-.348-3.273 4.11 4.11 0 0 0-4.4-1.934A4.1 4.1 0 0 0 8.423.2 4.15 4.15 0 0 0 6.305.086a4.1 4.1 0 0 0-1.891.948 4.04 4.04 0 0 0-1.158 1.753 4.1 4.1 0 0 0-1.563.679A4 4 0 0 0 .554 4.72a3.99 3.99 0 0 0 .502 4.731 3.94 3.94 0 0 0 .346 3.274 4.11 4.11 0 0 0 4.402 1.933c.382.425.852.764 1.377.995.526.231 1.095.35 1.67.346 1.78.002 3.358-1.132 3.901-2.804a4.1 4.1 0 0 0 1.563-.68 4 4 0 0 0 1.14-1.253 3.99 3.99 0 0 0-.506-4.716m-6.097 8.406a3.05 3.05 0 0 1-1.945-.694l.096-.054 3.23-1.838a.53.53 0 0 0 .265-.455v-4.49l1.366.778q.02.011.025.035v3.722c-.003 1.653-1.361 2.992-3.037 2.996m-6.53-2.75a2.95 2.95 0 0 1-.36-2.01l.095.057L5.29 12.09a.53.53 0 0 0 .527 0l3.949-2.246v1.555a.05.05 0 0 1-.022.041L6.473 13.3c-1.454.826-3.311.335-4.15-1.098m-.85-6.94A3.02 3.02 0 0 1 3.07 3.949v3.785a.51.51 0 0 0 .262.451l3.93 2.237-1.366.779a.05.05 0 0 1-.048 0L2.585 9.342a2.98 2.98 0 0 1-1.113-4.094zm11.216 2.571L8.747 5.576l1.362-.776a.05.05 0 0 1 .048 0l3.265 1.86a3 3 0 0 1 1.173 1.207 2.96 2.96 0 0 1-.27 3.2 3.05 3.05 0 0 1-1.36.997V8.279a.52.52 0 0 0-.276-.445m1.36-2.015-.097-.057-3.226-1.855a.53.53 0 0 0-.53 0L6.249 6.153V4.598a.04.04 0 0 1 .019-.04L9.533 2.7a3.07 3.07 0 0 1 3.257.139c.474.325.843.778 1.066 1.303.223.526.289 1.103.191 1.664zM5.503 8.575 4.139 7.8a.05.05 0 0 1-.026-.037V4.049c0-.57.166-1.127.476-1.607s.752-.864 1.275-1.105a3.08 3.08 0 0 1 3.234.41l-.096.054-3.23 1.838a.53.53 0 0 0-.265.455zm.742-1.577 1.758-1 1.762 1v2l-1.755 1-1.762-1z"})})}function f({className:a}){return(0,b.jsxs)("svg",{viewBox:"0 0 240 300",fill:"none",className:a,children:[(0,b.jsx)("path",{d:"M180 240H60V120H180V240Z",fill:"#CFCECD"}),(0,b.jsx)("path",{d:"M180 60H60V240H180V60ZM240 300H0V0H240V300Z",fill:"#211E1E"})]})}function g({className:a}){return(0,b.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none",className:a,children:[(0,b.jsx)("path",{d:"M8 2C5.5 2 3.5 4 3.5 6.5S5 10.5 6.5 11v1.5H8V11c.3.1.7.1 1 0v1.5h1.5V11c1.5-.5 3-2.5 3-4.5S10.5 2 8 2Z",fill:"#E8453A"}),(0,b.jsx)("path",{d:"M3.5 5.5C2 5 1 6 1.5 7s2 .5 2.2-.7",fill:"#FF6B5A"}),(0,b.jsx)("path",{d:"M12.5 5.5c1.5-.5 2.5.5 2 1.5s-2 .5-2.2-.7",fill:"#FF6B5A"}),(0,b.jsx)("path",{d:"M6.5 3Q5 1.2 4.3 1.5",stroke:"#FF6B5A",strokeWidth:"0.8",strokeLinecap:"round"}),(0,b.jsx)("path",{d:"M9.5 3Q11 1.2 11.7 1.5",stroke:"#FF6B5A",strokeWidth:"0.8",strokeLinecap:"round"}),(0,b.jsx)("circle",{cx:"6.2",cy:"5.2",r:"0.9",fill:"#050810"}),(0,b.jsx)("circle",{cx:"9.8",cy:"5.2",r:"0.9",fill:"#050810"}),(0,b.jsx)("circle",{cx:"6.4",cy:"5",r:"0.3",fill:"#00E5CC"}),(0,b.jsx)("circle",{cx:"10",cy:"5",r:"0.3",fill:"#00E5CC"})]})}function h({className:a}){return(0,b.jsx)("img",{src:"data:image/webp;base64,UklGRuYDAABXRUJQVlA4INoDAADQEwCdASowADAAPm0uk0ckIiGhKrqpWIANiWkAEyQea/fD8IewvGL5V7Nb3H8u/MA8G9rT+4flL+UfIe42/23GB8zPqF/o3E0UAP5h/h/+F6ZX+x5evnX/r+4T/K/67/u/zg7znogfrusMANZLkn1gvlY/vNsKubtj/9xLSzxTsLr7K9GLdFNs5rwtISRcPXvH4z57n2fg0XR3aQ2D+pPpycwyl7TwAAD+/2DbjivnePzfyHCsdOgJXKlUR/OgAkofD7K4AdmsPKyP5Ml4/4HBYmIm5/efn/H+X3IZtngyaUOvwbFuRS/1yODFYO3vf3qeXGgPdfgIROXd/EPT7K2jysfvY9N71+w6g2gBPs+P6lxYkPf6S9QfpvH/7Pp7i8xRh0nVDBTEQyczSz7V9hoqo4nDJuii+SfibZRR/d5zB+9jkcb1DNN7YnC5Y7+WfGrE3eseXt3hSm+NS5++m1MHbjsrd9z/Q4HPRP/C85Po41XObalGyIUcFUL2j2n3uI/Yh6U8r6trCUJFB4kT3fsv6+8ylX/d96y2hq869FCXLjq4YqEO8vs5BtT52sf7KyDxPAWkH/b06YbfVXf4/7y5THL6Sr/4mOrrY9P2LW81f05HHFN8n0jcyqKOH7AluMm0AHPgFyz8RVrfBdmnPiC2FLMQfNDte5yGFzGC3fMlDed/tS/PO3Q/hjsNLvAXUUjqHyCo3JeN69jyNgWjjf8iUqoBsXT+lJyp2r8p60ad1jxhNyTblyJwda8aWEw1hFDeGjpMGguDF66RL4c+ZO+PhculC6WxvCsZ7IPAsdD7/ywx3w3AowJ66hAAK7k+m6X2QV06OVOCwyIGERex/AUyuBbLUK93X58+M+Si7YfYjVYGpoJ7JvSgD8ExaA21z9OY+si+1wreacDanKnFDmhwBQC3t6MLeXCOGp3VURDKl10K7tdKHQcb4hr48ba+1x/MrMRwHfq3IQrDIXPYCg4b0OLnVN9JyXttKGM63B5imIdKuU0r6hhSslT10lGLjnIJuwO5WKR0RHs+BX5vs6H63y3K7IuuZ1eRN+Aczvbs4QuDs6ZRuzjJ/1DJ5R/3ZrFPrtxvMwT06vAXIgcbhLGNLhOQUYRPdUN5MgyCtL5NH71ArTPLRRkIjhGwoCYXKKqlqIKKT9NX3vwp/nlh4SX71dlYg/mPXbJ9bMeVugyjqFahjFTJ/rT3HtBCWG8h+OvvbOFDFKurCG9BOhO9B719OS7zsP0KPqoymnv7hVvoJyZp0iziCbBvaJpmF9Cvfs8/vWqWr7TUo616WfMW+X9nkgpuqtnfAAAAAA==",alt:"Hermes",className:`${a} rounded-sm`})}function i({className:a}){return(0,b.jsxs)("svg",{viewBox:"0 0 800 800",fill:"none",className:a,children:[(0,b.jsx)("rect",{width:"800",height:"800",rx:"150",fill:"#09090b"}),(0,b.jsx)("path",{fill:"#fff",fillRule:"evenodd",d:"M165.29 165.29H517.36V400H400V517.36H282.65V634.72H165.29ZM282.65 282.65V400H400V282.65Z"}),(0,b.jsx)("path",{fill:"#fff",d:"M517.36 400H634.72V634.72H517.36Z"})]})}function j({className:a}){return(0,b.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:a,children:(0,b.jsx)("path",{d:"M12 1C5.9225 1 1 5.9225 1 12C1 16.8675 4.14875 20.9787 8.52125 22.4362C9.07125 22.5325 9.2775 22.2025 9.2775 21.9137C9.2775 21.6525 9.26375 20.7862 9.26375 19.865C6.5 20.3737 5.785 19.1912 5.565 18.5725C5.44125 18.2562 4.905 17.28 4.4375 17.0187C4.0525 16.8125 3.5025 16.3037 4.42375 16.29C5.29 16.2762 5.90875 17.0875 6.115 17.4175C7.105 19.0812 8.68625 18.6137 9.31875 18.325C9.415 17.61 9.70375 17.1287 10.02 16.8537C7.5725 16.5787 5.015 15.63 5.015 11.4225C5.015 10.2262 5.44125 9.23625 6.1425 8.46625C6.0325 8.19125 5.6475 7.06375 6.2525 5.55125C6.2525 5.55125 7.17375 5.2625 9.2775 6.67875C10.1575 6.43125 11.0925 6.3075 12.0275 6.3075C12.9625 6.3075 13.8975 6.43125 14.7775 6.67875C16.8813 5.24875 17.8025 5.55125 17.8025 5.55125C18.4075 7.06375 18.0225 8.19125 17.9125 8.46625C18.6138 9.23625 19.04 10.2125 19.04 11.4225C19.04 15.6437 16.4688 16.5787 14.0213 16.8537C14.42 17.1975 14.7638 17.8575 14.7638 18.8887C14.7638 20.36 14.75 21.5425 14.75 21.9137C14.75 22.2025 14.9563 22.5462 15.5063 22.4362C19.8513 20.9787 23 16.8537 23 12C23 5.9225 18.0775 1 12 1Z"})})}function k({className:a}){return(0,b.jsxs)("svg",{viewBox:"600 300 400 400",fill:"none",className:a,children:[(0,b.jsx)("path",{fill:"#14120B",d:"M999.994 554.294C999.994 559.859 999.994 565.419 999.962 570.984C999.935 575.67 999.882 580.357 999.753 585.038C999.475 595.247 998.875 605.542 997.059 615.639C995.217 625.88 992.212 635.409 987.477 644.718C982.822 653.861 976.738 662.233 969.485 669.491C962.227 676.748 953.861 682.828 944.712 687.482C935.409 692.217 925.875 695.222 915.633 697.065C905.537 698.88 895.242 699.48 885.033 699.759C880.346 699.887 875.665 699.941 870.978 699.968C865.413 700.005 859.853 700 854.288 700H745.695C740.13 700 734.571 700 729.005 699.968C724.319 699.941 719.632 699.887 714.951 699.759C704.742 699.48 694.447 698.88 684.35 697.065C674.109 695.222 664.58 692.217 655.271 687.482C646.128 682.828 637.756 676.743 630.499 669.491C623.241 662.233 617.161 653.866 612.507 644.718C607.772 635.414 604.767 625.88 602.925 615.639C601.109 605.542 600.509 595.247 600.23 585.038C600.102 580.352 600.048 575.67 600.021 570.984C600 565.419 600 559.859 600 554.294V445.701C600 440.136 600 434.576 600.032 429.011C600.059 424.324 600.112 419.637 600.241 414.956C600.52 404.747 601.119 394.452 602.935 384.356C604.778 374.115 607.783 364.586 612.518 355.277C617.172 346.133 623.257 337.762 630.509 330.504C637.767 323.246 646.133 317.167 655.282 312.512C664.586 307.777 674.12 304.772 684.361 302.93C694.458 301.114 704.752 300.514 714.961 300.236C719.648 300.107 724.329 300.054 729.016 300.027C734.576 300 740.136 300 745.701 300H854.294C859.859 300 865.419 300 870.984 300.032C875.67 300.059 880.357 300.112 885.038 300.241C895.247 300.52 905.542 301.119 915.639 302.935C925.88 304.778 935.409 307.783 944.718 312.518C953.861 317.172 962.233 323.257 969.491 330.509C976.748 337.767 982.828 346.133 987.482 355.282C992.217 364.586 995.222 374.12 997.065 384.361C998.88 394.458 999.48 404.752 999.759 414.961C999.887 419.648 999.941 424.329 999.968 429.016C1000.01 434.581 1000 440.141 1000 445.706V554.299L999.994 554.294Z"}),(0,b.jsx)("path",{fill:"#72716D",d:"M800.004 500L923.821 571.486C923.061 572.804 921.957 573.929 920.591 574.716L804.863 641.531C801.858 643.266 798.151 643.266 795.146 641.531L679.417 574.716C678.052 573.929 676.948 572.804 676.188 571.486L800.004 500Z"}),(0,b.jsx)("path",{fill:"#55544F",d:"M800.005 357.168V500L676.188 571.486C675.427 570.168 675.004 568.647 675.004 567.072V432.928C675.004 429.774 676.686 426.865 679.418 425.285L795.141 358.47C796.646 357.602 798.323 357.168 799.999 357.168H800.005Z"}),(0,b.jsx)("path",{fill:"#43413C",d:"M923.815 428.515C923.055 427.197 921.951 426.072 920.586 425.285L804.857 358.47C803.357 357.602 801.68 357.168 800.004 357.168V500L923.821 571.486C924.581 570.168 925.005 568.647 925.005 567.072V432.928C925.005 431.348 924.587 429.838 923.821 428.515H923.815Z"}),(0,b.jsx)("path",{fill:"#D6D5D2",d:"M915.156 433.518C915.857 434.728 915.954 436.281 915.156 437.663L802.764 632.323C802.008 633.641 800 633.1 800 631.584V503.311C800 502.287 799.727 501.302 799.229 500.44L915.15 433.512H915.156V433.518Z"}),(0,b.jsx)("path",{fill:"white",d:"M915.155 433.518L799.233 500.445C798.741 499.588 798.023 498.86 797.134 498.345L686.049 434.209C684.731 433.453 685.272 431.445 686.788 431.445H911.566C913.162 431.445 914.459 432.307 915.155 433.518Z"})]})}function l({className:a}){return(0,b.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",className:a,children:[(0,b.jsx)("path",{d:"M12 24C12 18.2 12 15.5 10.1 13.9C8.5 12 5.8 12 0 12C5.8 12 8.5 12 10.1 10.1C12 8.5 12 5.8 12 0C12 5.8 12 8.5 13.9 10.1C15.5 12 18.2 12 24 12C18.2 12 15.5 12 13.9 13.9C12 15.5 12 18.2 12 24Z",fill:"url(#gemini-gradient)"}),(0,b.jsx)("defs",{children:(0,b.jsxs)("linearGradient",{id:"gemini-gradient",x1:"0",y1:"0",x2:"24",y2:"24",gradientUnits:"userSpaceOnUse",children:[(0,b.jsx)("stop",{stopColor:"#4285F4"}),(0,b.jsx)("stop",{offset:"1",stopColor:"#886FBF"})]})})]})}a.s(["ProviderLogo",0,function({provider:a,className:m="h-4 w-4"}){switch(a){case"claude":return(0,b.jsx)(d,{className:m});case"codex":return(0,b.jsx)(e,{className:m});case"opencode":return(0,b.jsx)(f,{className:m});case"openclaw":return(0,b.jsx)(g,{className:m});case"hermes":return(0,b.jsx)(h,{className:m});case"pi":return(0,b.jsx)(i,{className:m});case"copilot":return(0,b.jsx)(j,{className:m});case"cursor":return(0,b.jsx)(k,{className:m});case"gemini":return(0,b.jsx)(l,{className:m});default:return(0,b.jsx)(c.Monitor,{className:m})}}])},561101,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(732254),e=a.i(556371),f=a.i(921584),g=a.i(75118);function h({step:a,completed:c}){return c?(0,b.jsx)("span",{className:"flex items-center justify-center size-5 rounded-full bg-emerald-500 text-white transition-all duration-300",children:(0,b.jsx)(e.Check,{className:"size-3",strokeWidth:3})}):(0,b.jsx)("span",{className:"flex items-center justify-center size-5 rounded-full bg-foreground text-background text-xs font-semibold",children:a})}a.s(["ConnectMachineSteps",0,function({generatedToken:a,generatingToken:e,onGenerateToken:i,registered:j}){let k=(0,c.useRef)(!1);(0,c.useEffect)(()=>{a||e||k.current||(k.current=!0,i())},[a,e,i]);let l=()=>{navigator.clipboard.writeText(`${(0,g.cliCmd)()} register --token ${a}`),f.toast.success("Copied to clipboard")},m=(0,g.daemonStartCmd)(),n=()=>{navigator.clipboard.writeText(m),f.toast.success("Copied to clipboard")};return(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("p",{className:"text-sm font-medium flex items-center gap-2",children:[(0,b.jsx)(h,{step:1,completed:j}),"Register your CLI",j&&(0,b.jsx)("span",{className:"text-xs text-emerald-500 font-normal",children:"Done"})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground pl-7",children:"Run this in your terminal to link your machine."}),e?(0,b.jsx)("div",{className:"pl-7",children:(0,b.jsx)("div",{className:"rounded-md bg-muted p-2.5 font-mono text-xs text-muted-foreground animate-pulse",children:"Generating token..."})}):a?(0,b.jsxs)("div",{className:"pl-7 space-y-2",children:[(0,b.jsxs)("div",{className:"rounded-md bg-muted p-2.5 font-mono text-xs text-muted-foreground cursor-pointer hover:bg-muted/80 transition-colors break-all",onClick:l,title:"Click to copy",children:[(0,g.cliCmd)()," register --token"," ",(0,b.jsx)("span",{className:"text-foreground/70",children:a})]}),!j&&(0,b.jsx)(d.Button,{size:"sm",onClick:l,className:"w-full",children:"Copy Command"})]}):null]}),(0,b.jsxs)("div",{className:`space-y-2 transition-opacity duration-300 ${!j?"opacity-40 pointer-events-none":""}`,children:[(0,b.jsxs)("p",{className:"text-sm font-medium flex items-center gap-2",children:[(0,b.jsx)(h,{step:2,completed:!1}),"Start the daemon"]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground pl-7",children:"The daemon connects your local agents to Alook."}),(0,b.jsx)("div",{className:"ml-7 rounded-md bg-muted p-2.5 font-mono text-xs text-muted-foreground cursor-pointer hover:bg-muted/80 transition-colors",onClick:n,title:"Click to copy",children:m}),j&&(0,b.jsx)("div",{className:"pl-7",children:(0,b.jsx)(d.Button,{size:"sm",onClick:n,className:"w-full",children:"Copy Command"})})]})]})}])},283291,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(207058),e=a.i(752792),f=a.i(732254),g=a.i(464830),h=a.i(439882),i=a.i(7455),j=a.i(22902),k=a.i(921584),l=a.i(25668),m=a.i(385539),n=a.i(911057);a.i(974936);var o=a.i(997445),p=a.i(75118),q=a.i(74414),r=a.i(588339),s=a.i(527779),t=a.i(461794),u=a.i(561101);a.s(["default",0,function(){let{agents:a,runtimes:v,loading:w,handleGenerateToken:x,handleDeleteMachine:y,subscribeWs:z,workspaceId:A}=(0,e.useAgentContext)(),B=(0,d.useSearchParams)(),C=(0,d.useRouter)(),D=(0,d.usePathname)(),[E,F]=(0,c.useState)(()=>B.has("connect")),[G,H]=(0,c.useState)(""),[I,J]=(0,c.useState)(!1),[K,L]=(0,c.useState)(!1),[M,N]=(0,c.useState)(null),[O,P]=(0,c.useState)(new Set),[Q,R]=(0,c.useState)(new Set),[S,T]=(0,c.useState)(!1),[U,V]=(0,c.useState)(""),[W,X]=(0,c.useState)(""),[Y,Z]=(0,c.useState)("Remove"),[$,_]=(0,c.useState)(void 0),[aa,ab]=(0,c.useState)("destructive"),[ac,ad]=(0,c.useState)(!1),ae=(0,c.useRef)(null);(0,c.useEffect)(()=>{(0,r.fetchLatestCliVersion)().then(a=>N(a.version)).catch(()=>{})},[]),(0,c.useEffect)(()=>{B.has("connect")&&C.replace(D,{scroll:!1})},[B,C,D]);let af=(0,c.useRef)(E);(0,c.useEffect)(()=>{af.current=E},[E]);let ag=(0,c.useRef)(a);(0,c.useEffect)(()=>{ag.current=a},[a]),(0,c.useEffect)(()=>z(a=>{if(af.current&&("runtime.registered"===a.type&&a.workspaceId===A&&L(!0),"runtime.status"===a.type&&a.workspaceId===A&&"online"===a.status)&&(F(!1),H(""),L(!1),k.toast.success("Machine connected"),0===ag.current.length)){let a=D.split("/")[2];C.push(`/w/${a}/agents/new`)}}),[z,A,D,C]);let ah=(a,b,c,d)=>{V(a),X(b),Z(d?.label??"Remove"),_(d?.loadingLabel),ab(d?.variant??"destructive"),ae.current=c,T(!0)},ai=async()=>{if(ae.current){ad(!0);try{await ae.current()}finally{ad(!1),T(!1),ae.current=null}}},aj=(0,c.useCallback)(async()=>{J(!0);try{let a=await x();a&&H(a)}finally{J(!1)}},[x]),ak=async(a,b)=>{P(a=>new Set(a).add(b));try{await (0,r.triggerRuntimeUpdate)(a,A),k.toast.success("Update triggered")}catch{k.toast.error("Failed to trigger update"),P(a=>{let c=new Set(a);return c.delete(b),c})}},al=async(a,b)=>{R(a=>new Set(a).add(b));try{await (0,r.triggerRuntimeRescan)(a,A),k.toast.success("Rescan triggered — daemon will restart to detect runtimes")}catch{k.toast.error("Failed to trigger rescan"),R(a=>{let c=new Set(a);return c.delete(b),c})}},am=(0,c.useMemo)(()=>{if(0===O.size)return O;let a=new Set;for(let b of v){let c=b.daemon_id||b.id;O.has(c)&&b.pending_update_version&&a.add(c)}return a},[v,O]),an=(0,c.useMemo)(()=>{if(0===Q.size)return Q;let a=new Set;for(let b of v){let c=b.daemon_id||b.id;Q.has(c)&&b.pending_rescan&&a.add(c)}return a},[v,Q]),ao=new Map;for(let a of v){let b=a.daemon_id||a.id;if(!ao.has(b)){let c=a.metadata;ao.set(b,{deviceInfo:"string"==typeof a.device_info?a.device_info:"",status:a.status,lastSeenAt:a.last_seen_at,pendingUpdateVersion:a.pending_update_version??null,pendingRescan:!!a.pending_rescan,cliVersion:c?.cli_version??null,runtimes:[]})}ao.get(b).runtimes.push(a)}return w?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-border/50 px-3 md:px-5 py-2.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(l.Skeleton,{className:"h-4 w-16"}),(0,b.jsx)(l.Skeleton,{className:"h-3 w-52"})]}),(0,b.jsx)(l.Skeleton,{className:"h-8 w-29 rounded-md"})]}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto px-5 py-5",children:(0,b.jsx)("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:Array.from({length:3}).map((a,c)=>(0,b.jsxs)("div",{className:"rounded-xl border border-border/50 bg-card p-4 space-y-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(l.Skeleton,{className:"size-4 rounded"}),(0,b.jsx)(l.Skeleton,{className:"h-4 w-28"})]}),(0,b.jsx)("div",{className:"space-y-2",children:(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)(l.Skeleton,{className:"h-3 w-20"}),(0,b.jsx)(l.Skeleton,{className:"h-3 w-28"})]}),(0,b.jsx)(l.Skeleton,{className:"h-5 w-14 rounded-full"})]})})]},c))})})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-border/50 px-3 md:px-5 py-2.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("h1",{className:"text-sm font-medium",children:"Runtimes"}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Your machines and their agent runtimes."})]}),(0,b.jsxs)(f.Button,{size:"sm",variant:"outline",onClick:()=>{H(""),L(!1),F(!0)},disabled:I,children:[(0,b.jsx)(n.Plus,{className:"size-3.5"}),"New machine"]})]}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto px-5 py-5",children:0===v.length?(0,b.jsx)("div",{className:"flex flex-1 items-center justify-center min-h-[60vh]",children:(0,b.jsxs)("div",{className:"text-center animate-[fade-up_400ms_ease-out_both]",children:[(0,b.jsx)("p",{className:"text-muted-foreground text-sm",children:"Connect a machine to start running agents locally."}),(0,b.jsx)(f.Button,{size:"sm",className:"mt-4 glow-border",onClick:()=>{H(""),F(!0)},children:"Connect Machine"})]})}):(0,b.jsx)("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:Array.from(ao.entries()).map(([a,c])=>{let d,e,i,j=c.deviceInfo||a;return(0,b.jsxs)(h.Card,{size:"sm",children:[(0,b.jsx)(h.CardHeader,{children:(0,b.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,b.jsx)(m.Monitor,{className:"size-4 text-muted-foreground shrink-0"}),(0,b.jsx)(h.CardTitle,{className:"truncate",children:j}),c.cliVersion&&(0,b.jsxs)("span",{className:"text-xs text-muted-foreground/60 shrink-0",children:["v",c.cliVersion]}),(0,b.jsx)(g.Badge,{variant:"online"===c.status?"default":"outline",className:"shrink-0",children:c.status})]})}),(0,b.jsx)(h.CardContent,{children:(0,b.jsxs)("div",{className:"space-y-2.5",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground tabular-nums",children:c.lastSeenAt?new Date(c.lastSeenAt).toLocaleString():"Never seen"}),(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(d=!!c.pendingUpdateVersion||am.has(a),e=M&&(!c.cliVersion||!(0,o.semverGte)(c.cliVersion,M)),d?(0,b.jsxs)(f.Button,{variant:"ghost",size:"sm",disabled:!0,className:"text-xs h-6 px-2",children:[(0,b.jsx)(s.Loader2,{className:"size-3 animate-spin mr-1"}),"Updating..."]}):e?(0,b.jsx)(f.Button,{variant:"ghost",size:"sm",className:"text-xs h-6 px-2",onClick:()=>ah("Update daemon",`This will update the daemon on "${j}" to the latest CLI version. The daemon will restart during the update.`,async()=>{await ak(c.runtimes[0].id,a)},{label:"Update",loadingLabel:"Updating...",variant:"default"}),children:"Update"}):null),(i=c.pendingRescan||an.has(a),"online"!==c.status?null:i?(0,b.jsxs)(f.Button,{variant:"ghost",size:"sm",disabled:!0,className:"text-xs h-6 px-2",children:[(0,b.jsx)(t.RefreshCw,{className:"size-3 animate-spin mr-1"}),"Rescanning..."]}):(0,b.jsxs)(f.Button,{variant:"ghost",size:"sm",className:"text-xs h-6 px-2",onClick:()=>ah("Rescan runtimes",`This will restart the daemon on "${j}" to re-detect available runtimes (Claude Code, Codex, OpenCode).`,async()=>{await al(c.runtimes[0].id,a)},{label:"Rescan",loadingLabel:"Triggering...",variant:"default"}),children:[(0,b.jsx)(t.RefreshCw,{className:"size-3 mr-1"}),"Rescan"]})),(0,b.jsx)(f.Button,{variant:"ghost",size:"sm",className:"text-xs text-muted-foreground h-6 px-2 hover:text-destructive",onClick:()=>{ah("Remove machine",`This will remove "${j}" and all its runtimes. Agents using these runtimes will be unlinked.`,async()=>{await y(a)})},children:"Remove"})]})]}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:c.runtimes.map(a=>(0,b.jsxs)(g.Badge,{variant:"secondary",className:"gap-1.5",children:[(0,b.jsx)(q.ProviderLogo,{provider:a.provider,className:"h-3.5 w-3.5"}),a.provider,a.metadata?.version?(0,b.jsx)("span",{className:"text-muted-foreground font-normal",children:String(a.metadata.version)}):null]},a.id))}),"online"!==c.status&&(0,b.jsxs)("div",{className:"pt-1.5 border-t border-border/50",children:[(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground mb-1.5",children:"Bring this machine online:"}),(0,b.jsxs)("div",{className:"relative overflow-hidden rounded-md bg-muted px-2.5 py-1.5 font-mono text-[11px] text-muted-foreground cursor-pointer hover:bg-muted/80 transition-colors",onClick:()=>{navigator.clipboard.writeText(`${(0,p.cliCmd)()} daemon start`),k.toast.success("Copied to clipboard")},title:"Click to copy",children:[(0,b.jsx)("span",{className:"absolute inset-0 -translate-x-full animate-[shimmer_2.5s_infinite] bg-linear-to-r from-transparent via-(--shimmer-peak) to-transparent"}),(0,b.jsxs)("span",{className:"relative",children:[(0,p.cliCmd)()," daemon start"]})]})]})]})})]},a)})})}),(0,b.jsx)(i.Sheet,{open:E,onOpenChange:a=>{F(a),a||H("")},children:(0,b.jsxs)(i.SheetContent,{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,b.jsxs)(i.SheetHeader,{children:[(0,b.jsx)(i.SheetTitle,{children:"Connect a machine"}),(0,b.jsx)(i.SheetDescription,{children:"Your machine runs AI agents locally using Claude Code, Codex, or OpenCode."})]}),(0,b.jsx)(i.SheetBody,{children:(0,b.jsx)(u.ConnectMachineSteps,{generatedToken:G,generatingToken:I,onGenerateToken:aj,registered:K})})]})}),(0,b.jsx)(j.ConfirmDialog,{open:S,onOpenChange:T,title:U,description:W,confirmLabel:Y,loadingLabel:$,confirmVariant:aa,loading:ac,onConfirm:ai})]})}])}];
|
|
1
|
+
module.exports=[439882,a=>{"use strict";var b=a.i(749314),c=a.i(75118);a.s(["Card",0,function({className:a,size:d="default",...e}){return(0,b.jsx)("div",{"data-slot":"card","data-size":d,className:(0,c.cn)("group/card flex flex-col gap-4 overflow-hidden rounded-xl bg-card py-4 text-sm text-card-foreground ring-1 ring-foreground/10 has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",a),...e})},"CardAction",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-action",className:(0,c.cn)("col-start-2 row-span-2 row-start-1 self-start justify-self-end",a),...d})},"CardContent",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-content",className:(0,c.cn)("px-4 group-data-[size=sm]/card:px-3",a),...d})},"CardHeader",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-header",className:(0,c.cn)("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3",a),...d})},"CardTitle",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-title",className:(0,c.cn)("font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",a),...d})}])},74414,a=>{"use strict";var b=a.i(749314),c=a.i(385539);function d({className:a}){return(0,b.jsx)("svg",{viewBox:"0 0 16 16",fill:"#D97757",className:a,children:(0,b.jsx)("path",{d:"m3.127 10.604 3.135-1.76.053-.153-.053-.085H6.11l-.525-.032-1.791-.048-1.554-.065-1.505-.08-.38-.081L0 7.832l.036-.234.32-.214.455.04 1.009.069 1.513.105 1.097.064 1.626.17h.259l.036-.105-.089-.065-.068-.064-1.566-1.062-1.695-1.121-.887-.646-.48-.327-.243-.306-.104-.67.435-.48.585.04.15.04.593.456 1.267.981 1.654 1.218.242.202.097-.068.012-.049-.109-.181-.9-1.626-.96-1.655-.428-.686-.113-.411a2 2 0 0 1-.068-.484l.496-.674L4.446 0l.662.089.279.242.411.94.666 1.48 1.033 2.014.302.597.162.553.06.17h.105v-.097l.085-1.134.157-1.392.154-1.792.052-.504.25-.605.497-.327.387.186.319.456-.045.294-.19 1.23-.37 1.93-.243 1.29h.142l.161-.16.654-.868 1.097-1.372.484-.545.565-.601.363-.287h.686l.505.751-.226.775-.707.895-.585.759-.839 1.13-.524.904.048.072.125-.012 1.897-.403 1.024-.186 1.223-.21.553.258.06.263-.218.536-1.307.323-1.533.307-2.284.54-.028.02.032.04 1.029.098.44.024h1.077l2.005.15.525.346.315.424-.053.323-.807.411-3.631-.863-.872-.218h-.12v.073l.726.71 1.331 1.202 1.667 1.55.084.383-.214.302-.226-.032-1.464-1.101-.565-.497-1.28-1.077h-.084v.113l.295.432 1.557 2.34.08.718-.112.234-.404.141-.444-.08-.911-1.28-.94-1.44-.759-1.291-.093.053-.448 4.821-.21.246-.484.186-.403-.307-.214-.496.214-.98.258-1.28.21-1.016.19-1.263.112-.42-.008-.028-.092.012-.953 1.307-1.448 1.957-1.146 1.227-.274.109-.477-.247.045-.44.266-.39 1.586-2.018.956-1.25.617-.723-.004-.105h-.036l-4.212 2.736-.75.096-.324-.302.04-.496.154-.162 1.267-.871z"})})}function e({className:a}){return(0,b.jsx)("svg",{viewBox:"0 0 16 16",fill:"currentColor",className:a,children:(0,b.jsx)("path",{d:"M14.949 6.547a3.94 3.94 0 0 0-.348-3.273 4.11 4.11 0 0 0-4.4-1.934A4.1 4.1 0 0 0 8.423.2 4.15 4.15 0 0 0 6.305.086a4.1 4.1 0 0 0-1.891.948 4.04 4.04 0 0 0-1.158 1.753 4.1 4.1 0 0 0-1.563.679A4 4 0 0 0 .554 4.72a3.99 3.99 0 0 0 .502 4.731 3.94 3.94 0 0 0 .346 3.274 4.11 4.11 0 0 0 4.402 1.933c.382.425.852.764 1.377.995.526.231 1.095.35 1.67.346 1.78.002 3.358-1.132 3.901-2.804a4.1 4.1 0 0 0 1.563-.68 4 4 0 0 0 1.14-1.253 3.99 3.99 0 0 0-.506-4.716m-6.097 8.406a3.05 3.05 0 0 1-1.945-.694l.096-.054 3.23-1.838a.53.53 0 0 0 .265-.455v-4.49l1.366.778q.02.011.025.035v3.722c-.003 1.653-1.361 2.992-3.037 2.996m-6.53-2.75a2.95 2.95 0 0 1-.36-2.01l.095.057L5.29 12.09a.53.53 0 0 0 .527 0l3.949-2.246v1.555a.05.05 0 0 1-.022.041L6.473 13.3c-1.454.826-3.311.335-4.15-1.098m-.85-6.94A3.02 3.02 0 0 1 3.07 3.949v3.785a.51.51 0 0 0 .262.451l3.93 2.237-1.366.779a.05.05 0 0 1-.048 0L2.585 9.342a2.98 2.98 0 0 1-1.113-4.094zm11.216 2.571L8.747 5.576l1.362-.776a.05.05 0 0 1 .048 0l3.265 1.86a3 3 0 0 1 1.173 1.207 2.96 2.96 0 0 1-.27 3.2 3.05 3.05 0 0 1-1.36.997V8.279a.52.52 0 0 0-.276-.445m1.36-2.015-.097-.057-3.226-1.855a.53.53 0 0 0-.53 0L6.249 6.153V4.598a.04.04 0 0 1 .019-.04L9.533 2.7a3.07 3.07 0 0 1 3.257.139c.474.325.843.778 1.066 1.303.223.526.289 1.103.191 1.664zM5.503 8.575 4.139 7.8a.05.05 0 0 1-.026-.037V4.049c0-.57.166-1.127.476-1.607s.752-.864 1.275-1.105a3.08 3.08 0 0 1 3.234.41l-.096.054-3.23 1.838a.53.53 0 0 0-.265.455zm.742-1.577 1.758-1 1.762 1v2l-1.755 1-1.762-1z"})})}function f({className:a}){return(0,b.jsxs)("svg",{viewBox:"0 0 240 300",fill:"none",className:a,children:[(0,b.jsx)("path",{d:"M180 240H60V120H180V240Z",fill:"#CFCECD"}),(0,b.jsx)("path",{d:"M180 60H60V240H180V60ZM240 300H0V0H240V300Z",fill:"#211E1E"})]})}function g({className:a}){return(0,b.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none",className:a,children:[(0,b.jsx)("path",{d:"M8 2C5.5 2 3.5 4 3.5 6.5S5 10.5 6.5 11v1.5H8V11c.3.1.7.1 1 0v1.5h1.5V11c1.5-.5 3-2.5 3-4.5S10.5 2 8 2Z",fill:"#E8453A"}),(0,b.jsx)("path",{d:"M3.5 5.5C2 5 1 6 1.5 7s2 .5 2.2-.7",fill:"#FF6B5A"}),(0,b.jsx)("path",{d:"M12.5 5.5c1.5-.5 2.5.5 2 1.5s-2 .5-2.2-.7",fill:"#FF6B5A"}),(0,b.jsx)("path",{d:"M6.5 3Q5 1.2 4.3 1.5",stroke:"#FF6B5A",strokeWidth:"0.8",strokeLinecap:"round"}),(0,b.jsx)("path",{d:"M9.5 3Q11 1.2 11.7 1.5",stroke:"#FF6B5A",strokeWidth:"0.8",strokeLinecap:"round"}),(0,b.jsx)("circle",{cx:"6.2",cy:"5.2",r:"0.9",fill:"#050810"}),(0,b.jsx)("circle",{cx:"9.8",cy:"5.2",r:"0.9",fill:"#050810"}),(0,b.jsx)("circle",{cx:"6.4",cy:"5",r:"0.3",fill:"#00E5CC"}),(0,b.jsx)("circle",{cx:"10",cy:"5",r:"0.3",fill:"#00E5CC"})]})}function h({className:a}){return(0,b.jsx)("img",{src:"data:image/webp;base64,UklGRuYDAABXRUJQVlA4INoDAADQEwCdASowADAAPm0uk0ckIiGhKrqpWIANiWkAEyQea/fD8IewvGL5V7Nb3H8u/MA8G9rT+4flL+UfIe42/23GB8zPqF/o3E0UAP5h/h/+F6ZX+x5evnX/r+4T/K/67/u/zg7znogfrusMANZLkn1gvlY/vNsKubtj/9xLSzxTsLr7K9GLdFNs5rwtISRcPXvH4z57n2fg0XR3aQ2D+pPpycwyl7TwAAD+/2DbjivnePzfyHCsdOgJXKlUR/OgAkofD7K4AdmsPKyP5Ml4/4HBYmIm5/efn/H+X3IZtngyaUOvwbFuRS/1yODFYO3vf3qeXGgPdfgIROXd/EPT7K2jysfvY9N71+w6g2gBPs+P6lxYkPf6S9QfpvH/7Pp7i8xRh0nVDBTEQyczSz7V9hoqo4nDJuii+SfibZRR/d5zB+9jkcb1DNN7YnC5Y7+WfGrE3eseXt3hSm+NS5++m1MHbjsrd9z/Q4HPRP/C85Po41XObalGyIUcFUL2j2n3uI/Yh6U8r6trCUJFB4kT3fsv6+8ylX/d96y2hq869FCXLjq4YqEO8vs5BtT52sf7KyDxPAWkH/b06YbfVXf4/7y5THL6Sr/4mOrrY9P2LW81f05HHFN8n0jcyqKOH7AluMm0AHPgFyz8RVrfBdmnPiC2FLMQfNDte5yGFzGC3fMlDed/tS/PO3Q/hjsNLvAXUUjqHyCo3JeN69jyNgWjjf8iUqoBsXT+lJyp2r8p60ad1jxhNyTblyJwda8aWEw1hFDeGjpMGguDF66RL4c+ZO+PhculC6WxvCsZ7IPAsdD7/ywx3w3AowJ66hAAK7k+m6X2QV06OVOCwyIGERex/AUyuBbLUK93X58+M+Si7YfYjVYGpoJ7JvSgD8ExaA21z9OY+si+1wreacDanKnFDmhwBQC3t6MLeXCOGp3VURDKl10K7tdKHQcb4hr48ba+1x/MrMRwHfq3IQrDIXPYCg4b0OLnVN9JyXttKGM63B5imIdKuU0r6hhSslT10lGLjnIJuwO5WKR0RHs+BX5vs6H63y3K7IuuZ1eRN+Aczvbs4QuDs6ZRuzjJ/1DJ5R/3ZrFPrtxvMwT06vAXIgcbhLGNLhOQUYRPdUN5MgyCtL5NH71ArTPLRRkIjhGwoCYXKKqlqIKKT9NX3vwp/nlh4SX71dlYg/mPXbJ9bMeVugyjqFahjFTJ/rT3HtBCWG8h+OvvbOFDFKurCG9BOhO9B719OS7zsP0KPqoymnv7hVvoJyZp0iziCbBvaJpmF9Cvfs8/vWqWr7TUo616WfMW+X9nkgpuqtnfAAAAAA==",alt:"Hermes",className:`${a} rounded-sm`})}function i({className:a}){return(0,b.jsxs)("svg",{viewBox:"0 0 800 800",fill:"none",className:a,children:[(0,b.jsx)("rect",{width:"800",height:"800",rx:"150",fill:"#09090b"}),(0,b.jsx)("path",{fill:"#fff",fillRule:"evenodd",d:"M165.29 165.29H517.36V400H400V517.36H282.65V634.72H165.29ZM282.65 282.65V400H400V282.65Z"}),(0,b.jsx)("path",{fill:"#fff",d:"M517.36 400H634.72V634.72H517.36Z"})]})}function j({className:a}){return(0,b.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:a,children:(0,b.jsx)("path",{d:"M12 1C5.9225 1 1 5.9225 1 12C1 16.8675 4.14875 20.9787 8.52125 22.4362C9.07125 22.5325 9.2775 22.2025 9.2775 21.9137C9.2775 21.6525 9.26375 20.7862 9.26375 19.865C6.5 20.3737 5.785 19.1912 5.565 18.5725C5.44125 18.2562 4.905 17.28 4.4375 17.0187C4.0525 16.8125 3.5025 16.3037 4.42375 16.29C5.29 16.2762 5.90875 17.0875 6.115 17.4175C7.105 19.0812 8.68625 18.6137 9.31875 18.325C9.415 17.61 9.70375 17.1287 10.02 16.8537C7.5725 16.5787 5.015 15.63 5.015 11.4225C5.015 10.2262 5.44125 9.23625 6.1425 8.46625C6.0325 8.19125 5.6475 7.06375 6.2525 5.55125C6.2525 5.55125 7.17375 5.2625 9.2775 6.67875C10.1575 6.43125 11.0925 6.3075 12.0275 6.3075C12.9625 6.3075 13.8975 6.43125 14.7775 6.67875C16.8813 5.24875 17.8025 5.55125 17.8025 5.55125C18.4075 7.06375 18.0225 8.19125 17.9125 8.46625C18.6138 9.23625 19.04 10.2125 19.04 11.4225C19.04 15.6437 16.4688 16.5787 14.0213 16.8537C14.42 17.1975 14.7638 17.8575 14.7638 18.8887C14.7638 20.36 14.75 21.5425 14.75 21.9137C14.75 22.2025 14.9563 22.5462 15.5063 22.4362C19.8513 20.9787 23 16.8537 23 12C23 5.9225 18.0775 1 12 1Z"})})}function k({className:a}){return(0,b.jsxs)("svg",{viewBox:"600 300 400 400",fill:"none",className:a,children:[(0,b.jsx)("path",{fill:"#14120B",d:"M999.994 554.294C999.994 559.859 999.994 565.419 999.962 570.984C999.935 575.67 999.882 580.357 999.753 585.038C999.475 595.247 998.875 605.542 997.059 615.639C995.217 625.88 992.212 635.409 987.477 644.718C982.822 653.861 976.738 662.233 969.485 669.491C962.227 676.748 953.861 682.828 944.712 687.482C935.409 692.217 925.875 695.222 915.633 697.065C905.537 698.88 895.242 699.48 885.033 699.759C880.346 699.887 875.665 699.941 870.978 699.968C865.413 700.005 859.853 700 854.288 700H745.695C740.13 700 734.571 700 729.005 699.968C724.319 699.941 719.632 699.887 714.951 699.759C704.742 699.48 694.447 698.88 684.35 697.065C674.109 695.222 664.58 692.217 655.271 687.482C646.128 682.828 637.756 676.743 630.499 669.491C623.241 662.233 617.161 653.866 612.507 644.718C607.772 635.414 604.767 625.88 602.925 615.639C601.109 605.542 600.509 595.247 600.23 585.038C600.102 580.352 600.048 575.67 600.021 570.984C600 565.419 600 559.859 600 554.294V445.701C600 440.136 600 434.576 600.032 429.011C600.059 424.324 600.112 419.637 600.241 414.956C600.52 404.747 601.119 394.452 602.935 384.356C604.778 374.115 607.783 364.586 612.518 355.277C617.172 346.133 623.257 337.762 630.509 330.504C637.767 323.246 646.133 317.167 655.282 312.512C664.586 307.777 674.12 304.772 684.361 302.93C694.458 301.114 704.752 300.514 714.961 300.236C719.648 300.107 724.329 300.054 729.016 300.027C734.576 300 740.136 300 745.701 300H854.294C859.859 300 865.419 300 870.984 300.032C875.67 300.059 880.357 300.112 885.038 300.241C895.247 300.52 905.542 301.119 915.639 302.935C925.88 304.778 935.409 307.783 944.718 312.518C953.861 317.172 962.233 323.257 969.491 330.509C976.748 337.767 982.828 346.133 987.482 355.282C992.217 364.586 995.222 374.12 997.065 384.361C998.88 394.458 999.48 404.752 999.759 414.961C999.887 419.648 999.941 424.329 999.968 429.016C1000.01 434.581 1000 440.141 1000 445.706V554.299L999.994 554.294Z"}),(0,b.jsx)("path",{fill:"#72716D",d:"M800.004 500L923.821 571.486C923.061 572.804 921.957 573.929 920.591 574.716L804.863 641.531C801.858 643.266 798.151 643.266 795.146 641.531L679.417 574.716C678.052 573.929 676.948 572.804 676.188 571.486L800.004 500Z"}),(0,b.jsx)("path",{fill:"#55544F",d:"M800.005 357.168V500L676.188 571.486C675.427 570.168 675.004 568.647 675.004 567.072V432.928C675.004 429.774 676.686 426.865 679.418 425.285L795.141 358.47C796.646 357.602 798.323 357.168 799.999 357.168H800.005Z"}),(0,b.jsx)("path",{fill:"#43413C",d:"M923.815 428.515C923.055 427.197 921.951 426.072 920.586 425.285L804.857 358.47C803.357 357.602 801.68 357.168 800.004 357.168V500L923.821 571.486C924.581 570.168 925.005 568.647 925.005 567.072V432.928C925.005 431.348 924.587 429.838 923.821 428.515H923.815Z"}),(0,b.jsx)("path",{fill:"#D6D5D2",d:"M915.156 433.518C915.857 434.728 915.954 436.281 915.156 437.663L802.764 632.323C802.008 633.641 800 633.1 800 631.584V503.311C800 502.287 799.727 501.302 799.229 500.44L915.15 433.512H915.156V433.518Z"}),(0,b.jsx)("path",{fill:"white",d:"M915.155 433.518L799.233 500.445C798.741 499.588 798.023 498.86 797.134 498.345L686.049 434.209C684.731 433.453 685.272 431.445 686.788 431.445H911.566C913.162 431.445 914.459 432.307 915.155 433.518Z"})]})}function l({className:a}){return(0,b.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",className:a,children:[(0,b.jsx)("path",{d:"M12 24C12 18.2 12 15.5 10.1 13.9C8.5 12 5.8 12 0 12C5.8 12 8.5 12 10.1 10.1C12 8.5 12 5.8 12 0C12 5.8 12 8.5 13.9 10.1C15.5 12 18.2 12 24 12C18.2 12 15.5 12 13.9 13.9C12 15.5 12 18.2 12 24Z",fill:"url(#gemini-gradient)"}),(0,b.jsx)("defs",{children:(0,b.jsxs)("linearGradient",{id:"gemini-gradient",x1:"0",y1:"0",x2:"24",y2:"24",gradientUnits:"userSpaceOnUse",children:[(0,b.jsx)("stop",{stopColor:"#4285F4"}),(0,b.jsx)("stop",{offset:"1",stopColor:"#886FBF"})]})})]})}a.s(["ProviderLogo",0,function({provider:a,className:m="h-4 w-4"}){switch(a){case"claude":return(0,b.jsx)(d,{className:m});case"codex":return(0,b.jsx)(e,{className:m});case"opencode":return(0,b.jsx)(f,{className:m});case"openclaw":return(0,b.jsx)(g,{className:m});case"hermes":return(0,b.jsx)(h,{className:m});case"pi":return(0,b.jsx)(i,{className:m});case"copilot":return(0,b.jsx)(j,{className:m});case"cursor":return(0,b.jsx)(k,{className:m});case"gemini":return(0,b.jsx)(l,{className:m});default:return(0,b.jsx)(c.Monitor,{className:m})}}])},561101,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(732254),e=a.i(525132),f=a.i(556371),g=a.i(921584),h=a.i(75118);function i({step:a,completed:c}){return c?(0,b.jsx)("span",{className:"flex items-center justify-center size-5 rounded-full bg-emerald-500 text-white transition-all duration-300",children:(0,b.jsx)(f.Check,{className:"size-3",strokeWidth:3})}):(0,b.jsx)("span",{className:"flex items-center justify-center size-5 rounded-full bg-foreground text-background text-xs font-semibold",children:a})}a.s(["ConnectMachineSteps",0,function({generatedToken:a,generatingToken:f,onGenerateToken:j,registered:k}){let l=(0,c.useRef)(!1);(0,c.useEffect)(()=>{a||f||l.current||(l.current=!0,j())},[a,f,j]);let m=()=>{navigator.clipboard.writeText(`${(0,h.cliCmd)()} register --token ${a}`),g.toast.success("Copied to clipboard")},n=(0,h.daemonStartCmd)(),o=()=>{navigator.clipboard.writeText(n),g.toast.success("Copied to clipboard")};return(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("p",{className:"text-sm font-medium flex items-center gap-2",children:[(0,b.jsx)(i,{step:1,completed:k}),"Register your CLI",k&&(0,b.jsx)("span",{className:"text-xs text-emerald-500 font-normal",children:"Done"})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground pl-7",children:"Run this in your terminal to link your machine."}),f?(0,b.jsx)("div",{className:"pl-7",children:(0,b.jsx)("div",{className:"rounded-md bg-muted p-2.5 font-mono text-xs text-muted-foreground animate-pulse",children:"Generating token..."})}):a?(0,b.jsxs)("div",{className:"pl-7 space-y-2",children:[(0,b.jsxs)(e.Tooltip,{children:[(0,b.jsxs)(e.TooltipTrigger,{render:(0,b.jsx)("div",{className:"rounded-md bg-muted p-2.5 font-mono text-xs text-muted-foreground cursor-pointer hover:bg-muted/80 transition-colors break-all",onClick:m}),children:[(0,h.cliCmd)()," register --token"," ",(0,b.jsx)("span",{className:"text-foreground/70",children:a})]}),(0,b.jsx)(e.TooltipContent,{children:"Click to copy"})]}),!k&&(0,b.jsx)(d.Button,{size:"sm",onClick:m,className:"w-full",children:"Copy Command"})]}):null]}),(0,b.jsxs)("div",{className:`space-y-2 transition-opacity duration-300 ${!k?"opacity-40 pointer-events-none":""}`,children:[(0,b.jsxs)("p",{className:"text-sm font-medium flex items-center gap-2",children:[(0,b.jsx)(i,{step:2,completed:!1}),"Start the daemon"]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground pl-7",children:"The daemon connects your local agents to Alook."}),(0,b.jsxs)(e.Tooltip,{children:[(0,b.jsx)(e.TooltipTrigger,{render:(0,b.jsx)("div",{className:"ml-7 rounded-md bg-muted p-2.5 font-mono text-xs text-muted-foreground cursor-pointer hover:bg-muted/80 transition-colors",onClick:o}),children:n}),(0,b.jsx)(e.TooltipContent,{children:"Click to copy"})]}),k&&(0,b.jsx)("div",{className:"pl-7",children:(0,b.jsx)(d.Button,{size:"sm",onClick:o,className:"w-full",children:"Copy Command"})})]})]})}])},283291,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(207058),e=a.i(752792),f=a.i(732254),g=a.i(464830),h=a.i(439882),i=a.i(7455),j=a.i(22902),k=a.i(525132),l=a.i(921584),m=a.i(25668),n=a.i(385539),o=a.i(911057);a.i(974936);var p=a.i(997445),q=a.i(75118),r=a.i(74414),s=a.i(588339),t=a.i(527779),u=a.i(461794),v=a.i(561101);a.s(["default",0,function(){let{agents:a,runtimes:w,loading:x,handleGenerateToken:y,handleDeleteMachine:z,subscribeWs:A,workspaceId:B}=(0,e.useAgentContext)(),C=(0,d.useSearchParams)(),D=(0,d.useRouter)(),E=(0,d.usePathname)(),[F,G]=(0,c.useState)(()=>C.has("connect")),[H,I]=(0,c.useState)(""),[J,K]=(0,c.useState)(!1),[L,M]=(0,c.useState)(null),[N,O]=(0,c.useState)(null),[P,Q]=(0,c.useState)(new Set),[R,S]=(0,c.useState)(new Set),[T,U]=(0,c.useState)(!1),[V,W]=(0,c.useState)(""),[X,Y]=(0,c.useState)(""),[Z,$]=(0,c.useState)("Remove"),[_,aa]=(0,c.useState)(void 0),[ab,ac]=(0,c.useState)("destructive"),[ad,ae]=(0,c.useState)(!1),af=(0,c.useRef)(null);(0,c.useEffect)(()=>{(0,s.fetchLatestCliVersion)().then(a=>O(a.version)).catch(()=>{})},[]),(0,c.useEffect)(()=>{C.has("connect")&&D.replace(E,{scroll:!1})},[C,D,E]);let ag=(0,c.useRef)(F);(0,c.useEffect)(()=>{ag.current=F},[F]);let ah=(0,c.useRef)(a);(0,c.useEffect)(()=>{ah.current=a},[a]);let ai=(0,c.useRef)(L);(0,c.useEffect)(()=>{ai.current=L},[L]),(0,c.useEffect)(()=>A(a=>{if(ag.current&&("runtime.registered"===a.type&&a.workspaceId===B&&M(a.daemonId),"runtime.status"===a.type&&a.workspaceId===B&&"online"===a.status&&ai.current&&a.daemonId===ai.current)&&(G(!1),I(""),M(null),l.toast.success("Machine connected"),0===ah.current.length)){let a=E.split("/")[2];D.push(`/w/${a}/agents/new`)}}),[A,B,E,D]);let aj=(a,b,c,d)=>{W(a),Y(b),$(d?.label??"Remove"),aa(d?.loadingLabel),ac(d?.variant??"destructive"),af.current=c,U(!0)},ak=async()=>{if(af.current){ae(!0);try{await af.current()}finally{ae(!1),U(!1),af.current=null}}},al=(0,c.useCallback)(async()=>{K(!0);try{let a=await y();a&&I(a)}finally{K(!1)}},[y]),am=async(a,b)=>{Q(a=>new Set(a).add(b));try{await (0,s.triggerRuntimeUpdate)(a,B),l.toast.success("Update triggered")}catch{l.toast.error("Failed to trigger update"),Q(a=>{let c=new Set(a);return c.delete(b),c})}},an=async(a,b)=>{S(a=>new Set(a).add(b));try{await (0,s.triggerRuntimeRescan)(a,B),l.toast.success("Rescan triggered — daemon will restart to detect runtimes")}catch{l.toast.error("Failed to trigger rescan"),S(a=>{let c=new Set(a);return c.delete(b),c})}},ao=(0,c.useMemo)(()=>{if(0===P.size)return P;let a=new Set;for(let b of w){let c=b.daemon_id||b.id;P.has(c)&&b.pending_update_version&&a.add(c)}return a},[w,P]),ap=(0,c.useMemo)(()=>{if(0===R.size)return R;let a=new Set;for(let b of w){let c=b.daemon_id||b.id;R.has(c)&&b.pending_rescan&&a.add(c)}return a},[w,R]),aq=new Map;for(let a of w){let b=a.daemon_id||a.id;if(!aq.has(b)){let c=a.metadata;aq.set(b,{deviceInfo:"string"==typeof a.device_info?a.device_info:"",status:a.status,lastSeenAt:a.last_seen_at,pendingUpdateVersion:a.pending_update_version??null,pendingRescan:!!a.pending_rescan,cliVersion:c?.cli_version??null,runtimes:[]})}aq.get(b).runtimes.push(a)}return x?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-border/50 px-3 md:px-5 py-2.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(m.Skeleton,{className:"h-4 w-16"}),(0,b.jsx)(m.Skeleton,{className:"h-3 w-52"})]}),(0,b.jsx)(m.Skeleton,{className:"h-8 w-29 rounded-md"})]}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto px-5 py-5",children:(0,b.jsx)("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:Array.from({length:3}).map((a,c)=>(0,b.jsxs)("div",{className:"rounded-xl border border-border/50 bg-card p-4 space-y-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(m.Skeleton,{className:"size-4 rounded"}),(0,b.jsx)(m.Skeleton,{className:"h-4 w-28"})]}),(0,b.jsx)("div",{className:"space-y-2",children:(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)(m.Skeleton,{className:"h-3 w-20"}),(0,b.jsx)(m.Skeleton,{className:"h-3 w-28"})]}),(0,b.jsx)(m.Skeleton,{className:"h-5 w-14 rounded-full"})]})})]},c))})})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-border/50 px-3 md:px-5 py-2.5",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("h1",{className:"text-sm font-medium",children:"Runtimes"}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:"Your machines and their agent runtimes."})]}),(0,b.jsxs)(f.Button,{size:"sm",variant:"outline",onClick:()=>{I(""),M(null),G(!0)},disabled:J,children:[(0,b.jsx)(o.Plus,{className:"size-3.5"}),"New machine"]})]}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto px-5 py-5",children:0===w.length?(0,b.jsx)("div",{className:"flex flex-1 items-center justify-center min-h-[60vh]",children:(0,b.jsxs)("div",{className:"text-center animate-[fade-up_400ms_ease-out_both]",children:[(0,b.jsx)("p",{className:"text-muted-foreground text-sm",children:"Connect a machine to start running agents locally."}),(0,b.jsx)(f.Button,{size:"sm",className:"mt-4 glow-border",onClick:()=>{I(""),G(!0)},children:"Connect Machine"})]})}):(0,b.jsx)("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:Array.from(aq.entries()).map(([a,c])=>{let d,e,i,j=c.deviceInfo||a;return(0,b.jsxs)(h.Card,{size:"sm",children:[(0,b.jsx)(h.CardHeader,{children:(0,b.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,b.jsx)(n.Monitor,{className:"size-4 text-muted-foreground shrink-0"}),(0,b.jsx)(h.CardTitle,{className:"truncate",children:j}),c.cliVersion&&(0,b.jsxs)("span",{className:"text-xs text-muted-foreground/60 shrink-0",children:["v",c.cliVersion]}),(0,b.jsx)(g.Badge,{variant:"online"===c.status?"default":"outline",className:"shrink-0",children:c.status})]})}),(0,b.jsx)(h.CardContent,{children:(0,b.jsxs)("div",{className:"space-y-2.5",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground tabular-nums",children:c.lastSeenAt?new Date(c.lastSeenAt).toLocaleString():"Never seen"}),(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(d=!!c.pendingUpdateVersion||ao.has(a),e=N&&(!c.cliVersion||!(0,p.semverGte)(c.cliVersion,N)),d?(0,b.jsxs)(f.Button,{variant:"ghost",size:"sm",disabled:!0,className:"text-xs h-6 px-2",children:[(0,b.jsx)(t.Loader2,{className:"size-3 animate-spin mr-1"}),"Updating..."]}):e?(0,b.jsx)(f.Button,{variant:"ghost",size:"sm",className:"text-xs h-6 px-2",onClick:()=>aj("Update daemon",`This will update the daemon on "${j}" to the latest CLI version. The daemon will restart during the update.`,async()=>{await am(c.runtimes[0].id,a)},{label:"Update",loadingLabel:"Updating...",variant:"default"}),children:"Update"}):null),(i=c.pendingRescan||ap.has(a),"online"!==c.status?null:i?(0,b.jsxs)(f.Button,{variant:"ghost",size:"sm",disabled:!0,className:"text-xs h-6 px-2",children:[(0,b.jsx)(u.RefreshCw,{className:"size-3 animate-spin mr-1"}),"Rescanning..."]}):(0,b.jsxs)(f.Button,{variant:"ghost",size:"sm",className:"text-xs h-6 px-2",onClick:()=>aj("Rescan runtimes",`This will restart the daemon on "${j}" to re-detect available runtimes (Claude Code, Codex, OpenCode).`,async()=>{await an(c.runtimes[0].id,a)},{label:"Rescan",loadingLabel:"Triggering...",variant:"default"}),children:[(0,b.jsx)(u.RefreshCw,{className:"size-3 mr-1"}),"Rescan"]})),(0,b.jsx)(f.Button,{variant:"ghost",size:"sm",className:"text-xs text-muted-foreground h-6 px-2 hover:text-destructive",onClick:()=>{aj("Remove machine",`This will remove "${j}" and all its runtimes. Agents using these runtimes will be unlinked.`,async()=>{await z(a)})},children:"Remove"})]})]}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:c.runtimes.map(a=>(0,b.jsxs)(g.Badge,{variant:"secondary",className:"gap-1.5",children:[(0,b.jsx)(r.ProviderLogo,{provider:a.provider,className:"h-3.5 w-3.5"}),a.provider,a.metadata?.version?(0,b.jsx)("span",{className:"text-muted-foreground font-normal",children:String(a.metadata.version)}):null]},a.id))}),"online"!==c.status&&(0,b.jsxs)("div",{className:"pt-1.5 border-t border-border/50",children:[(0,b.jsx)("p",{className:"text-[11px] text-muted-foreground mb-1.5",children:"Bring this machine online:"}),(0,b.jsxs)(k.Tooltip,{children:[(0,b.jsxs)(k.TooltipTrigger,{render:(0,b.jsx)("div",{className:"relative overflow-hidden rounded-md bg-muted px-2.5 py-1.5 font-mono text-[11px] text-muted-foreground cursor-pointer hover:bg-muted/80 transition-colors",onClick:()=>{navigator.clipboard.writeText(`${(0,q.cliCmd)()} daemon start`),l.toast.success("Copied to clipboard")}}),children:[(0,b.jsx)("span",{className:"absolute inset-0 -translate-x-full animate-[shimmer_2.5s_infinite] bg-linear-to-r from-transparent via-(--shimmer-peak) to-transparent"}),(0,b.jsxs)("span",{className:"relative",children:[(0,q.cliCmd)()," daemon start"]})]}),(0,b.jsx)(k.TooltipContent,{children:"Click to copy"})]})]})]})})]},a)})})}),(0,b.jsx)(i.Sheet,{open:F,onOpenChange:a=>{G(a),a||I("")},children:(0,b.jsxs)(i.SheetContent,{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,b.jsxs)(i.SheetHeader,{children:[(0,b.jsx)(i.SheetTitle,{children:"Connect a machine"}),(0,b.jsx)(i.SheetDescription,{children:"Your machine runs AI agents locally using Claude Code, Codex, or OpenCode."})]}),(0,b.jsx)(i.SheetBody,{children:(0,b.jsx)(v.ConnectMachineSteps,{generatedToken:H,generatingToken:J,onGenerateToken:al,registered:!!L})})]})}),(0,b.jsx)(j.ConfirmDialog,{open:T,onOpenChange:U,title:V,description:X,confirmLabel:Z,loadingLabel:_,confirmVariant:ab,loading:ad,onConfirm:ak})]})}])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_web_src_0stugv_._.js.map
|