@alook/app 0.0.72 → 0.0.74
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/08q1jdm7c98jd.js +63 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{060hy1yx9.8u4.js → 0eab27fokr42h.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/{0ymb~iviyjlb_.js → 0o3ol51uyvngq.js} +2 -2
- package/bundled/web/.open-next/assets/_next/static/chunks/{0_ceurra~p4yl.js → 0r91umgrdcg_w.js} +2 -2
- package/bundled/web/.open-next/assets/_next/static/chunks/0z1nxwsyi9qzp.js +1 -0
- package/bundled/web/.open-next/cache/{UKi2wJge4r06KGiZ66_h- → EVK310PIpcfkd7nSFHa07}/_global-error.cache +1 -1
- package/bundled/web/.open-next/cache/{UKi2wJge4r06KGiZ66_h- → EVK310PIpcfkd7nSFHa07}/_not-found.cache +1 -1
- package/bundled/web/.open-next/cache/{UKi2wJge4r06KGiZ66_h- → EVK310PIpcfkd7nSFHa07}/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)/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/api/agent-links/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/agents/[id]/whitelist/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/calendar/[id]/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/calendar/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/channels/[id]/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/channels/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/conversations/[id]/buffered-messages/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/notify/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/email/send/route.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/[id]/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/issues/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/machine-tokens/activate/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/studios/route.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/workspaces/[id]/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0..x3e2._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0.1j36e._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0.1vmoe._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__009_wu3._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__00_g5g4._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__01crkpf._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__01~--ue._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__027mioa._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__02_0idg._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__02rso~7._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__02tc9uk._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__02wurdb._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__034wlco._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__04ds4z_._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__04icw5-._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__06j-6ja._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__06tjmxh._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__06y_c-r._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__06~zt4i._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__09cer93._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__09ud9_1._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ars103._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0b9cycy._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0dkg608._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0dy~25_._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0e7o6zp._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0faxj6t._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0flvgaf._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0grx101._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0gzp~d6._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0h1bbqr._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0hx4le1._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0j6wy8r._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0jvwtv1._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0k4l9.h._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0kc1f.6._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ko5xa_._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0kruv9u._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0lc586o._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0lp-qwk._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0m5a1_f._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0m_ya4f._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0n6p6k4._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0niqi98._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ntc1ld._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0om99x0._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0oofrc0._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0p769.0._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0p8t~on._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0pyyhr-._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0qmcw57._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0r73dmn._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0s0l_.j._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0s9v7kt._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0sho.f4._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0ud56v.._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0v.x5_r._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0vc50cl._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0vvh~.2._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0w._3fo._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0wjwi1-._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0wp61q0._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0y4q15f._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0y_pjkm._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0~afpm2._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__10b3oxj._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__13imtgy._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0--kvw_._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0-r4t0g._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_05_d3df._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_06.am62._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_07-798_._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_08mdiy6._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_08z6pkf._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_09ivzvb._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0csh82a._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0j.pt~7._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0j1t6f2._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0k3wl-3._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0lmedw9._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0ns9.qo._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0r0h9so._.js +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0u3tu2x._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_0q3gvkd._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__04mf.th._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0e65njz._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0r2s1aj._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0y3mwm6._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_11~t2ti._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_0liq_10._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_0~23g-y._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_home_page_tsx_0lkx78f._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-build-manifest.js +3 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-manifest.json +5 -5
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.json +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs +34 -34
- package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +203 -203
- 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/08u3p1v8e1gxg.js +0 -63
- package/bundled/web/.open-next/assets/_next/static/chunks/0ua2sdw9pqxwv.js +0 -1
- /package/bundled/web/.open-next/assets/_next/static/{UKi2wJge4r06KGiZ66_h- → EVK310PIpcfkd7nSFHa07}/_buildManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{UKi2wJge4r06KGiZ66_h- → EVK310PIpcfkd7nSFHa07}/_clientMiddlewareManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{UKi2wJge4r06KGiZ66_h- → EVK310PIpcfkd7nSFHa07}/_ssgManifest.js +0 -0
- /package/bundled/web/.open-next/cache/{UKi2wJge4r06KGiZ66_h- → EVK310PIpcfkd7nSFHa07}/robots.txt.cache +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[321932,a=>{"use strict";let b=(0,a.i(647651).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],321932)},549931,a=>{"use strict";var b=a.i(770881);a.s(["Check",()=>b.default])},302491,a=>{"use strict";var b=a.i(95133);let c="ArrowUp",d="ArrowDown",e="ArrowLeft",f="ArrowRight",g="Home",h=new Set([e,f]),i=new Set([e,f,g,"End"]),j=new Set([c,d]),k=new Set([c,d,g,"End"]),l=new Set([...h,...j]),m=new Set([...l,g,"End"]),n=new Set([c,d,e,f,g,"End"]),o=new Set(["Shift","Control","Alt","Meta"]);function p(a,b,c){let d="left"===c?"offsetLeft":"offsetTop",e=0;for(;b.offsetParent&&(e+=b[d],b.offsetParent!==a);)b=b.offsetParent;return e}function q(a){let b=getComputedStyle(a);return{scrollMarginTop:parseFloat(b.scrollMarginTop)||0,scrollMarginRight:parseFloat(b.scrollMarginRight)||0,scrollMarginBottom:parseFloat(b.scrollMarginBottom)||0,scrollMarginLeft:parseFloat(b.scrollMarginLeft)||0,scrollPaddingTop:parseFloat(b.scrollPaddingTop)||0,scrollPaddingRight:parseFloat(b.scrollPaddingRight)||0,scrollPaddingBottom:parseFloat(b.scrollPaddingBottom)||0,scrollPaddingLeft:parseFloat(b.scrollPaddingLeft)||0}}a.s(["ALL_KEYS",0,m,"ARROW_DOWN",0,d,"ARROW_KEYS",0,l,"ARROW_LEFT",0,e,"ARROW_RIGHT",0,f,"ARROW_UP",0,c,"COMPOSITE_KEYS",0,n,"END",0,"End","HOME",0,g,"HORIZONTAL_KEYS",0,h,"HORIZONTAL_KEYS_WITH_EXTRA_KEYS",0,i,"MODIFIER_KEYS",0,o,"VERTICAL_KEYS",0,j,"VERTICAL_KEYS_WITH_EXTRA_KEYS",0,k,"isNativeInput",0,function(a){return!!((0,b.isHTMLElement)(a)&&"INPUT"===a.tagName&&null!=a.selectionStart||(0,b.isHTMLElement)(a)&&"TEXTAREA"===a.tagName)},"scrollIntoViewIfNeeded",0,function(a,b,c,d){if(!a||!b||!b.scrollTo)return;let e=a.scrollLeft,f=a.scrollTop,g=a.clientWidth<a.scrollWidth,h=a.clientHeight<a.scrollHeight;if(g&&"vertical"!==d){let d=p(a,b,"left"),f=q(a),g=q(b);"ltr"===c&&(d+b.offsetWidth+g.scrollMarginRight>a.scrollLeft+a.clientWidth-f.scrollPaddingRight?e=d+b.offsetWidth+g.scrollMarginRight-a.clientWidth+f.scrollPaddingRight:d-g.scrollMarginLeft<a.scrollLeft+f.scrollPaddingLeft&&(e=d-g.scrollMarginLeft-f.scrollPaddingLeft)),"rtl"===c&&(d-g.scrollMarginRight<a.scrollLeft+f.scrollPaddingLeft?e=d-g.scrollMarginLeft-f.scrollPaddingLeft:d+b.offsetWidth+g.scrollMarginRight>a.scrollLeft+a.clientWidth-f.scrollPaddingRight&&(e=d+b.offsetWidth+g.scrollMarginRight-a.clientWidth+f.scrollPaddingRight))}if(h&&"horizontal"!==d){let c=p(a,b,"top"),d=q(a),e=q(b);c-e.scrollMarginTop<a.scrollTop+d.scrollPaddingTop?f=c-e.scrollMarginTop-d.scrollPaddingTop:c+b.offsetHeight+e.scrollMarginBottom>a.scrollTop+a.clientHeight-d.scrollPaddingBottom&&(f=c+b.offsetHeight+e.scrollMarginBottom-a.clientHeight+d.scrollPaddingBottom)}a.scrollTo({left:e,top:f,behavior:"auto"})}])},36136,a=>{"use strict";var b=a.i(437199),c=a.i(901496),d=a.i(935469);a.s(["useValueChanged",0,function(a,e){let f=b.useRef(a),g=(0,d.useStableCallback)(e);(0,c.useIsoLayoutEffect)(()=>{f.current!==a&&g(f.current)},[a,g]),(0,c.useIsoLayoutEffect)(()=>{f.current=a},[a])}])},231314,a=>{"use strict";var b=a.i(437199),c=a.i(503684),d=a.i(181749),e=a.i(792826),f=a.i(55488);let g=new Map([["select","listbox"],["combobox","listbox"],["label",!1]]);a.s(["useRole",0,function(a,h={}){let i="rootStore"in a?a.rootStore:a,j=i.useState("open"),k=i.useState("floatingId"),l=i.useState("domReferenceElement"),m=i.useState("floatingElement"),{role:n="dialog"}=h,o=(0,c.useId)(),p=l?.id||o,q=b.useMemo(()=>(0,e.getFloatingFocusElement)(m)?.id||k,[m,k]),r=g.get(n)??n,s=null!=(0,f.useFloatingParentNodeId)(),t=b.useMemo(()=>"tooltip"===r||"label"===n?d.EMPTY_OBJECT:{"aria-haspopup":"alertdialog"===r?"dialog":r,"aria-expanded":"false",..."listbox"===r&&{role:"combobox"},..."menu"===r&&s&&{role:"menuitem"},..."select"===n&&{"aria-autocomplete":"none"},..."combobox"===n&&{"aria-autocomplete":"list"}},[r,s,n]),u=b.useMemo(()=>"tooltip"===r||"label"===n?{[`aria-${"label"===n?"labelledby":"describedby"}`]:j?q:void 0}:{...t,"aria-expanded":j?"true":"false","aria-controls":j?q:void 0,..."menu"===r&&{id:p}},[r,q,j,p,n,t]),v=b.useMemo(()=>{let a={id:q,...r&&{role:r}};return"tooltip"===r||"label"===n?a:{...a,..."menu"===r&&{"aria-labelledby":p}}},[r,q,p,n]),w=b.useCallback(({active:a,selected:b})=>{let c={role:"option",...a&&{id:`${q}-fui-option`}};switch(n){case"select":case"combobox":return{...c,"aria-selected":b}}return{}},[q,n]);return b.useMemo(()=>({reference:u,floating:v,item:w,trigger:t}),[u,v,t,w])}])},197248,a=>{"use strict";var b=a.i(437199),c=a.i(55059),d=a.i(754170),e=a.i(901496);a.s(["useAnchoredPopupScrollLock",0,function(a,f,g,h){let[i,j]=b.useState(!1);(0,e.useIsoLayoutEffect)(()=>{if(!a||!f||null==g)return void j(!1);let b=(0,c.ownerDocument)(g).documentElement.clientWidth,d=g.offsetWidth;j(b>0&&d>0&&d>=b-20)},[a,f,g]),(0,d.useScrollLock)(a&&(!f||i),h)}])},986764,a=>{"use strict";var b=a.i(485177),c=a.i(437199);let d=c.createContext(void 0);a.s(["useToolbarRootContext",0,function(a){let e=c.useContext(d);if(void 0===e&&!a)throw Error((0,b.default)(69));return e}])},16831,a=>{"use strict";let b=(0,a.i(647651).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["Loader2",0,b],16831)},746941,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={BailoutToCSRError:function(){return g},isBailoutToCSRError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="BAILOUT_TO_CLIENT_SIDE_RENDERING";class g extends Error{constructor(a){super(`Bail out to client-side rendering: ${a}`),this.reason=a,this.digest=f}}function h(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===f}},770881,a=>{"use strict";let b=(0,a.i(647651).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);a.s(["default",0,b])},171492,a=>{"use strict";var b=a.i(437199);let c=(0,a.i(75118).isLocalMode)(),d=Number(process.env.NEXT_PUBLIC_WS_DO_PORT)||8789,e=Number(process.env.NEXT_PUBLIC_WS_RECONNECT_DELAY_MS)||1e3,f=Number(process.env.NEXT_PUBLIC_WS_RECONNECT_MAX_DELAY_MS)||3e4;a.s(["useUserWs",0,function(a,g){let h=(0,b.useRef)(null),i=(0,b.useRef)(e),j=(0,b.useRef)(a),k=(0,b.useRef)(g?.onReconnect),l=(0,b.useRef)(null),m=(0,b.useRef)(!1),n=(0,b.useRef)(0),o=(0,b.useRef)(null),p=(0,b.useRef)(null);(0,b.useEffect)(()=>{j.current=a},[a]),(0,b.useEffect)(()=>{k.current=g?.onReconnect},[g?.onReconnect]);let q=(0,b.useRef)(null),r=(0,b.useCallback)(()=>{let a=Math.min(i.current,f);i.current=Math.min(2*a,f),l.current=setTimeout(()=>{q.current?.()},a+500*Math.random())},[]),s=(0,b.useCallback)(async()=>{let a,b,f,g=d;try{let c=await fetch("/api/ws/token");if(!c.ok){console.warn("[ws] token fetch failed:",c.status),r();return}let d=await c.json();a=d.userId,b=d.token,d.wsPort&&(g=d.wsPort)}catch(a){console.warn("[ws] token fetch error:",a),r();return}let l=c?`ws://localhost:${g}/?userId=${a}`:`${location.origin.replace("http","ws")}/api/ws/user?userId=${a}`;try{f=new WebSocket(l)}catch(a){console.warn("[ws] WebSocket creation failed:",a),r();return}h.current=f,f.onopen=()=>{i.current=e,f.send(JSON.stringify({type:"auth",token:b})),m.current&&k.current?.(),m.current=!0,n.current=Date.now(),o.current=setInterval(()=>{f.readyState===WebSocket.OPEN&&f.send("ping")},25e3),p.current=setInterval(()=>{Date.now()-n.current>3e4&&f.close()},5e3)},f.onmessage=a=>{n.current=Date.now();try{let b=JSON.parse(a.data);if("auth.ok"===b.type)return;j.current(b)}catch{}},f.onerror=()=>{},f.onclose=()=>{f===h.current&&(o.current&&(clearInterval(o.current),o.current=null),p.current&&(clearInterval(p.current),p.current=null),r())}},[r]);(0,b.useEffect)(()=>{q.current=s},[s]),(0,b.useEffect)(()=>(s(),()=>{null!==l.current&&(clearTimeout(l.current),l.current=null),o.current&&(clearInterval(o.current),o.current=null),p.current&&(clearInterval(p.current),p.current=null);let a=h.current;h.current=null,a?.close()}),[s])}])},586220,a=>{"use strict";var b=a.i(437199);a.s(["useIsMobile",0,function(){let[a,c]=b.useState(void 0);return b.useEffect(()=>{let a=window.matchMedia("(max-width: 639px)"),b=()=>{c(window.innerWidth<640)};return a.addEventListener("change",b),c(window.innerWidth<640),()=>a.removeEventListener("change",b)},[]),!!a}])},562706,a=>{"use strict";let b,c,d,e,f=(a,b)=>b.some(b=>a instanceof b),g=new WeakMap,h=new WeakMap,i=new WeakMap,j={get(a,b,c){if(a instanceof IDBTransaction){if("done"===b)return g.get(a);if("store"===b)return c.objectStoreNames[1]?void 0:c.objectStore(c.objectStoreNames[0])}return k(a[b])},set:(a,b,c)=>(a[b]=c,!0),has:(a,b)=>a instanceof IDBTransaction&&("done"===b||"store"===b)||b in a};function k(a){if(a instanceof IDBRequest){let b;return b=new Promise((b,c)=>{let d=()=>{a.removeEventListener("success",e),a.removeEventListener("error",f)},e=()=>{b(k(a.result)),d()},f=()=>{c(a.error),d()};a.addEventListener("success",e),a.addEventListener("error",f)}),i.set(b,a),b}if(h.has(a))return h.get(a);let b=function(a){if("function"==typeof a)return(e||(e=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(a)?function(...b){return a.apply(l(this),b),k(this.request)}:function(...b){return k(a.apply(l(this),b))};return(a instanceof IDBTransaction&&function(a){if(g.has(a))return;let b=new Promise((b,c)=>{let d=()=>{a.removeEventListener("complete",e),a.removeEventListener("error",f),a.removeEventListener("abort",f)},e=()=>{b(),d()},f=()=>{c(a.error||new DOMException("AbortError","AbortError")),d()};a.addEventListener("complete",e),a.addEventListener("error",f),a.addEventListener("abort",f)});g.set(a,b)}(a),f(a,d||(d=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])))?new Proxy(a,j):a}(a);return b!==a&&(h.set(a,b),i.set(b,a)),b}let l=a=>i.get(a),m=["get","getKey","getAll","getAllKeys","count"],n=["put","add","delete","clear"],o=new Map;function p(a,b){if(!(a instanceof IDBDatabase&&!(b in a)&&"string"==typeof b))return;if(o.get(b))return o.get(b);let c=b.replace(/FromIndex$/,""),d=b!==c,e=n.includes(c);if(!(c in(d?IDBIndex:IDBObjectStore).prototype)||!(e||m.includes(c)))return;let f=async function(a,...b){let f=this.transaction(a,e?"readwrite":"readonly"),g=f.store;return d&&(g=g.index(b.shift())),(await Promise.all([g[c](...b),e&&f.done]))[0]};return o.set(b,f),f}j={...b=j,get:(a,c,d)=>p(a,c)||b.get(a,c,d),has:(a,c)=>!!p(a,c)||b.has(a,c)};let q=["continue","continuePrimaryKey","advance"],r={},s=new WeakMap,t=new WeakMap,u={get(a,b){if(!q.includes(b))return a[b];let c=r[b];return c||(c=r[b]=function(...a){s.set(this,t.get(this)[b](...a))}),c}};async function*v(...a){let b=this;if(b instanceof IDBCursor||(b=await b.openCursor(...a)),!b)return;let c=new Proxy(b,u);for(t.set(c,b),i.set(c,l(b));b;)yield c,b=await (s.get(c)||b.continue()),s.delete(c)}function w(a,b){return b===Symbol.asyncIterator&&f(a,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===b&&f(a,[IDBIndex,IDBObjectStore])}j={...c=j,get:(a,b,d)=>w(a,b)?v:c.get(a,b,d),has:(a,b)=>w(a,b)||c.has(a,b)};let x=null,y=null;function z(a){return"u"<typeof indexedDB?null:x&&y===a?x:(y=a,x=function(a,{blocked:b,upgrade:c,blocking:d,terminated:e}={}){let f=indexedDB.open(a,1),g=k(f);return c&&f.addEventListener("upgradeneeded",a=>{c(k(f.result),a.oldVersion,a.newVersion,k(f.transaction),a)}),b&&f.addEventListener("blocked",a=>b(a.oldVersion,a.newVersion,a)),g.then(a=>{e&&a.addEventListener("close",()=>e()),d&&a.addEventListener("versionchange",a=>d(a.oldVersion,a.newVersion,a))}).catch(()=>{}),g}(`alook-chat-cache-${a}`,{upgrade(a){let b=a.createObjectStore("messages",{keyPath:["conversation_id","id"]});b.createIndex("by-conversation","conversation_id",{unique:!1}),b.createIndex("by-created",["conversation_id","created_at"],{unique:!1}),a.createObjectStore("cache_meta",{keyPath:"conversation_id"})}}))}function A(a){return a?z(a):x}async function B(a,b){let c=A(b);if(!c)return null;try{let b=await c,d=await b.getAllFromIndex("messages","by-conversation",a);if(0===d.length)return null;let e=d.filter(a=>"buffered"!==a.status&&!a.id.startsWith("temp-"));e.sort((a,b)=>{let c=a.created_at.localeCompare(b.created_at);return 0!==c?c:a.id.localeCompare(b.id)});let f=await b.get("cache_meta",a);return f&&await b.put("cache_meta",{...f,lastAccessedAt:Date.now()}),e}catch{return null}}async function C(a,b,c,d){let e=A(d);if(e)try{let d=await e,f=b.filter(a=>"buffered"!==a.status&&!a.id.startsWith("temp-"));if(0===f.length)return;let g=d.transaction(["messages","cache_meta"],"readwrite"),h=g.objectStore("messages"),i=g.objectStore("cache_meta");for(let a of f)await h.put(a);let j=await h.index("by-conversation").getAllKeys(a),k=Date.now(),l=f.reduce((a,b)=>a.created_at>b.created_at?a:b),m={conversation_id:a,lastFetchedAt:k,lastAccessedAt:k,messageCount:j.length,newestMessageId:l.id,hasMore:c};await i.put(m),await g.done,E().catch(()=>{})}catch{}}async function D(a,b,c){let d=A(c);if(d&&!("buffered"===b.status||b.id.startsWith("temp-")))try{let c=await d,e=await c.get("messages",[a,b.id]);await c.put("messages",b);let f=await c.get("cache_meta",a);f&&await c.put("cache_meta",{...f,lastAccessedAt:Date.now(),messageCount:e?f.messageCount:f.messageCount+1,newestMessageId:b.id})}catch{}}async function E(a=50){let b=A();if(b)try{let c=await b,d=await c.getAll("cache_meta");if(d.length<=a)return;d.sort((a,b)=>a.lastAccessedAt-b.lastAccessedAt);let e=d.slice(0,d.length-a),f=c.transaction(["messages","cache_meta"],"readwrite"),g=f.objectStore("messages"),h=f.objectStore("cache_meta");for(let a of e){for(let b of(await g.index("by-conversation").getAllKeys(a.conversation_id)))await g.delete(b);await h.delete(a.conversation_id)}await f.done}catch{}}async function F(){if("u">typeof indexedDB)try{x&&((await x).close(),x=null),y&&(await G(`alook-chat-cache-${y}`),y=null)}catch{}}async function G(a){return new Promise((b,c)=>{let d=indexedDB.deleteDatabase(a);d.onsuccess=()=>b(),d.onerror=()=>c(d.error),d.onblocked=()=>b()})}a.s(["appendCachedMessage",0,D,"clearAllCache",0,F,"getCachedMessages",0,B,"mergeCachedMessages",0,C,"openCacheDB",0,z],562706)}];
|
|
1
|
+
module.exports=[321932,a=>{"use strict";let b=(0,a.i(647651).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],321932)},549931,a=>{"use strict";var b=a.i(770881);a.s(["Check",()=>b.default])},302491,a=>{"use strict";var b=a.i(95133);let c="ArrowUp",d="ArrowDown",e="ArrowLeft",f="ArrowRight",g="Home",h=new Set([e,f]),i=new Set([e,f,g,"End"]),j=new Set([c,d]),k=new Set([c,d,g,"End"]),l=new Set([...h,...j]),m=new Set([...l,g,"End"]),n=new Set([c,d,e,f,g,"End"]),o=new Set(["Shift","Control","Alt","Meta"]);function p(a,b,c){let d="left"===c?"offsetLeft":"offsetTop",e=0;for(;b.offsetParent&&(e+=b[d],b.offsetParent!==a);)b=b.offsetParent;return e}function q(a){let b=getComputedStyle(a);return{scrollMarginTop:parseFloat(b.scrollMarginTop)||0,scrollMarginRight:parseFloat(b.scrollMarginRight)||0,scrollMarginBottom:parseFloat(b.scrollMarginBottom)||0,scrollMarginLeft:parseFloat(b.scrollMarginLeft)||0,scrollPaddingTop:parseFloat(b.scrollPaddingTop)||0,scrollPaddingRight:parseFloat(b.scrollPaddingRight)||0,scrollPaddingBottom:parseFloat(b.scrollPaddingBottom)||0,scrollPaddingLeft:parseFloat(b.scrollPaddingLeft)||0}}a.s(["ALL_KEYS",0,m,"ARROW_DOWN",0,d,"ARROW_KEYS",0,l,"ARROW_LEFT",0,e,"ARROW_RIGHT",0,f,"ARROW_UP",0,c,"COMPOSITE_KEYS",0,n,"END",0,"End","HOME",0,g,"HORIZONTAL_KEYS",0,h,"HORIZONTAL_KEYS_WITH_EXTRA_KEYS",0,i,"MODIFIER_KEYS",0,o,"VERTICAL_KEYS",0,j,"VERTICAL_KEYS_WITH_EXTRA_KEYS",0,k,"isNativeInput",0,function(a){return!!((0,b.isHTMLElement)(a)&&"INPUT"===a.tagName&&null!=a.selectionStart||(0,b.isHTMLElement)(a)&&"TEXTAREA"===a.tagName)},"scrollIntoViewIfNeeded",0,function(a,b,c,d){if(!a||!b||!b.scrollTo)return;let e=a.scrollLeft,f=a.scrollTop,g=a.clientWidth<a.scrollWidth,h=a.clientHeight<a.scrollHeight;if(g&&"vertical"!==d){let d=p(a,b,"left"),f=q(a),g=q(b);"ltr"===c&&(d+b.offsetWidth+g.scrollMarginRight>a.scrollLeft+a.clientWidth-f.scrollPaddingRight?e=d+b.offsetWidth+g.scrollMarginRight-a.clientWidth+f.scrollPaddingRight:d-g.scrollMarginLeft<a.scrollLeft+f.scrollPaddingLeft&&(e=d-g.scrollMarginLeft-f.scrollPaddingLeft)),"rtl"===c&&(d-g.scrollMarginRight<a.scrollLeft+f.scrollPaddingLeft?e=d-g.scrollMarginLeft-f.scrollPaddingLeft:d+b.offsetWidth+g.scrollMarginRight>a.scrollLeft+a.clientWidth-f.scrollPaddingRight&&(e=d+b.offsetWidth+g.scrollMarginRight-a.clientWidth+f.scrollPaddingRight))}if(h&&"horizontal"!==d){let c=p(a,b,"top"),d=q(a),e=q(b);c-e.scrollMarginTop<a.scrollTop+d.scrollPaddingTop?f=c-e.scrollMarginTop-d.scrollPaddingTop:c+b.offsetHeight+e.scrollMarginBottom>a.scrollTop+a.clientHeight-d.scrollPaddingBottom&&(f=c+b.offsetHeight+e.scrollMarginBottom-a.clientHeight+d.scrollPaddingBottom)}a.scrollTo({left:e,top:f,behavior:"auto"})}])},36136,a=>{"use strict";var b=a.i(437199),c=a.i(901496),d=a.i(935469);a.s(["useValueChanged",0,function(a,e){let f=b.useRef(a),g=(0,d.useStableCallback)(e);(0,c.useIsoLayoutEffect)(()=>{f.current!==a&&g(f.current)},[a,g]),(0,c.useIsoLayoutEffect)(()=>{f.current=a},[a])}])},231314,a=>{"use strict";var b=a.i(437199),c=a.i(503684),d=a.i(181749),e=a.i(792826),f=a.i(55488);let g=new Map([["select","listbox"],["combobox","listbox"],["label",!1]]);a.s(["useRole",0,function(a,h={}){let i="rootStore"in a?a.rootStore:a,j=i.useState("open"),k=i.useState("floatingId"),l=i.useState("domReferenceElement"),m=i.useState("floatingElement"),{role:n="dialog"}=h,o=(0,c.useId)(),p=l?.id||o,q=b.useMemo(()=>(0,e.getFloatingFocusElement)(m)?.id||k,[m,k]),r=g.get(n)??n,s=null!=(0,f.useFloatingParentNodeId)(),t=b.useMemo(()=>"tooltip"===r||"label"===n?d.EMPTY_OBJECT:{"aria-haspopup":"alertdialog"===r?"dialog":r,"aria-expanded":"false",..."listbox"===r&&{role:"combobox"},..."menu"===r&&s&&{role:"menuitem"},..."select"===n&&{"aria-autocomplete":"none"},..."combobox"===n&&{"aria-autocomplete":"list"}},[r,s,n]),u=b.useMemo(()=>"tooltip"===r||"label"===n?{[`aria-${"label"===n?"labelledby":"describedby"}`]:j?q:void 0}:{...t,"aria-expanded":j?"true":"false","aria-controls":j?q:void 0,..."menu"===r&&{id:p}},[r,q,j,p,n,t]),v=b.useMemo(()=>{let a={id:q,...r&&{role:r}};return"tooltip"===r||"label"===n?a:{...a,..."menu"===r&&{"aria-labelledby":p}}},[r,q,p,n]),w=b.useCallback(({active:a,selected:b})=>{let c={role:"option",...a&&{id:`${q}-fui-option`}};switch(n){case"select":case"combobox":return{...c,"aria-selected":b}}return{}},[q,n]);return b.useMemo(()=>({reference:u,floating:v,item:w,trigger:t}),[u,v,t,w])}])},197248,a=>{"use strict";var b=a.i(437199),c=a.i(55059),d=a.i(754170),e=a.i(901496);a.s(["useAnchoredPopupScrollLock",0,function(a,f,g,h){let[i,j]=b.useState(!1);(0,e.useIsoLayoutEffect)(()=>{if(!a||!f||null==g)return void j(!1);let b=(0,c.ownerDocument)(g).documentElement.clientWidth,d=g.offsetWidth;j(b>0&&d>0&&d>=b-20)},[a,f,g]),(0,d.useScrollLock)(a&&(!f||i),h)}])},986764,a=>{"use strict";var b=a.i(485177),c=a.i(437199);let d=c.createContext(void 0);a.s(["useToolbarRootContext",0,function(a){let e=c.useContext(d);if(void 0===e&&!a)throw Error((0,b.default)(69));return e}])},16831,a=>{"use strict";let b=(0,a.i(647651).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["Loader2",0,b],16831)},746941,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={BailoutToCSRError:function(){return g},isBailoutToCSRError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="BAILOUT_TO_CLIENT_SIDE_RENDERING";class g extends Error{constructor(a){super(`Bail out to client-side rendering: ${a}`),this.reason=a,this.digest=f}}function h(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===f}},770881,a=>{"use strict";let b=(0,a.i(647651).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);a.s(["default",0,b])},171492,a=>{"use strict";var b=a.i(437199);let c=(0,a.i(75118).isLocalMode)(),d=Number(process.env.NEXT_PUBLIC_WS_DO_PORT)||8789,e=Number(process.env.NEXT_PUBLIC_WS_RECONNECT_DELAY_MS)||1e3,f=Number(process.env.NEXT_PUBLIC_WS_RECONNECT_MAX_DELAY_MS)||3e4;a.s(["useUserWs",0,function(a,g){let h=(0,b.useRef)(null),i=(0,b.useRef)(e),j=(0,b.useRef)(a),k=(0,b.useRef)(g?.onReconnect),l=(0,b.useRef)(null),m=(0,b.useRef)(!1),n=(0,b.useRef)(0),o=(0,b.useRef)(null),p=(0,b.useRef)(null);(0,b.useEffect)(()=>{j.current=a},[a]),(0,b.useEffect)(()=>{k.current=g?.onReconnect},[g?.onReconnect]);let q=(0,b.useRef)(null),r=(0,b.useCallback)(()=>{let a=Math.min(i.current,f);i.current=Math.min(2*a,f),l.current=setTimeout(()=>{q.current?.()},a+500*Math.random())},[]),s=(0,b.useCallback)(async()=>{let a,b,f,g=d;try{let c=await fetch("/api/ws/token");if(!c.ok){console.warn("[ws] token fetch failed:",c.status),r();return}let d=await c.json();a=d.userId,b=d.token,d.wsPort&&(g=d.wsPort)}catch(a){console.warn("[ws] token fetch error:",a),r();return}let l=c?`ws://localhost:${g}/?userId=${a}`:`${location.origin.replace("http","ws")}/api/ws/user?userId=${a}`;try{f=new WebSocket(l)}catch(a){console.warn("[ws] WebSocket creation failed:",a),r();return}h.current=f,f.onopen=()=>{i.current=e,f.send(JSON.stringify({type:"auth",token:b})),m.current&&k.current?.(),m.current=!0,n.current=Date.now(),o.current=setInterval(()=>{f.readyState===WebSocket.OPEN&&f.send("ping")},25e3),p.current=setInterval(()=>{Date.now()-n.current>3e4&&f.close()},5e3)},f.onmessage=a=>{n.current=Date.now();try{let b=JSON.parse(a.data);if("auth.ok"===b.type)return;j.current(b)}catch{}},f.onerror=()=>{},f.onclose=()=>{f===h.current&&(o.current&&(clearInterval(o.current),o.current=null),p.current&&(clearInterval(p.current),p.current=null),r())}},[r]);(0,b.useEffect)(()=>{q.current=s},[s]),(0,b.useEffect)(()=>(s(),()=>{null!==l.current&&(clearTimeout(l.current),l.current=null),o.current&&(clearInterval(o.current),o.current=null),p.current&&(clearInterval(p.current),p.current=null);let a=h.current;h.current=null,a?.close()}),[s])}])},586220,a=>{"use strict";var b=a.i(437199);a.s(["useIsMobile",0,function(){let[a,c]=b.useState(void 0);return b.useEffect(()=>{let a=window.matchMedia("(max-width: 639px)"),b=()=>{c(window.innerWidth<640)};return a.addEventListener("change",b),c(window.innerWidth<640),()=>a.removeEventListener("change",b)},[]),!!a}])},562706,a=>{"use strict";let b,c,d,e,f=(a,b)=>b.some(b=>a instanceof b),g=new WeakMap,h=new WeakMap,i=new WeakMap,j={get(a,b,c){if(a instanceof IDBTransaction){if("done"===b)return g.get(a);if("store"===b)return c.objectStoreNames[1]?void 0:c.objectStore(c.objectStoreNames[0])}return k(a[b])},set:(a,b,c)=>(a[b]=c,!0),has:(a,b)=>a instanceof IDBTransaction&&("done"===b||"store"===b)||b in a};function k(a){if(a instanceof IDBRequest){let b;return b=new Promise((b,c)=>{let d=()=>{a.removeEventListener("success",e),a.removeEventListener("error",f)},e=()=>{b(k(a.result)),d()},f=()=>{c(a.error),d()};a.addEventListener("success",e),a.addEventListener("error",f)}),i.set(b,a),b}if(h.has(a))return h.get(a);let b=function(a){if("function"==typeof a)return(e||(e=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(a)?function(...b){return a.apply(l(this),b),k(this.request)}:function(...b){return k(a.apply(l(this),b))};return(a instanceof IDBTransaction&&function(a){if(g.has(a))return;let b=new Promise((b,c)=>{let d=()=>{a.removeEventListener("complete",e),a.removeEventListener("error",f),a.removeEventListener("abort",f)},e=()=>{b(),d()},f=()=>{c(a.error||new DOMException("AbortError","AbortError")),d()};a.addEventListener("complete",e),a.addEventListener("error",f),a.addEventListener("abort",f)});g.set(a,b)}(a),f(a,d||(d=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])))?new Proxy(a,j):a}(a);return b!==a&&(h.set(a,b),i.set(b,a)),b}let l=a=>i.get(a),m=["get","getKey","getAll","getAllKeys","count"],n=["put","add","delete","clear"],o=new Map;function p(a,b){if(!(a instanceof IDBDatabase&&!(b in a)&&"string"==typeof b))return;if(o.get(b))return o.get(b);let c=b.replace(/FromIndex$/,""),d=b!==c,e=n.includes(c);if(!(c in(d?IDBIndex:IDBObjectStore).prototype)||!(e||m.includes(c)))return;let f=async function(a,...b){let f=this.transaction(a,e?"readwrite":"readonly"),g=f.store;return d&&(g=g.index(b.shift())),(await Promise.all([g[c](...b),e&&f.done]))[0]};return o.set(b,f),f}j={...b=j,get:(a,c,d)=>p(a,c)||b.get(a,c,d),has:(a,c)=>!!p(a,c)||b.has(a,c)};let q=["continue","continuePrimaryKey","advance"],r={},s=new WeakMap,t=new WeakMap,u={get(a,b){if(!q.includes(b))return a[b];let c=r[b];return c||(c=r[b]=function(...a){s.set(this,t.get(this)[b](...a))}),c}};async function*v(...a){let b=this;if(b instanceof IDBCursor||(b=await b.openCursor(...a)),!b)return;let c=new Proxy(b,u);for(t.set(c,b),i.set(c,l(b));b;)yield c,b=await (s.get(c)||b.continue()),s.delete(c)}function w(a,b){return b===Symbol.asyncIterator&&f(a,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===b&&f(a,[IDBIndex,IDBObjectStore])}j={...c=j,get:(a,b,d)=>w(a,b)?v:c.get(a,b,d),has:(a,b)=>w(a,b)||c.has(a,b)};let x=null,y=null;function z(a){return"u"<typeof indexedDB?null:x&&y===a?x:(y=a,x=function(a,{blocked:b,upgrade:c,blocking:d,terminated:e}={}){let f=indexedDB.open(a,1),g=k(f);return c&&f.addEventListener("upgradeneeded",a=>{c(k(f.result),a.oldVersion,a.newVersion,k(f.transaction),a)}),b&&f.addEventListener("blocked",a=>b(a.oldVersion,a.newVersion,a)),g.then(a=>{e&&a.addEventListener("close",()=>e()),d&&a.addEventListener("versionchange",a=>d(a.oldVersion,a.newVersion,a))}).catch(()=>{}),g}(`alook-chat-cache-${a}`,{upgrade(a){let b=a.createObjectStore("messages",{keyPath:["conversation_id","id"]});b.createIndex("by-conversation","conversation_id",{unique:!1}),b.createIndex("by-created",["conversation_id","created_at"],{unique:!1}),a.createObjectStore("cache_meta",{keyPath:"conversation_id"})}}))}function A(a){return a?z(a):x}async function B(a,b){let c=A(b);if(!c)return null;try{let b=await c,d=await b.getAllFromIndex("messages","by-conversation",a);if(0===d.length)return null;let e=d.filter(a=>"buffered"!==a.status&&!a.id.startsWith("temp-"));e.sort((a,b)=>{let c=a.created_at.localeCompare(b.created_at);return 0!==c?c:a.id.localeCompare(b.id)});let f=await b.get("cache_meta",a);return f&&await b.put("cache_meta",{...f,lastAccessedAt:Date.now()}),e}catch{return null}}async function C(a,b,c,d,e){let f=A(e);if(!f)return null;try{let e=await f,g=await e.get("cache_meta",a);if(!g)return null;let h=IDBKeyRange.bound([a,""],[a,b],!1,!1),i=(await e.getAllFromIndex("messages","by-created",h)).filter(a=>!("buffered"===a.status||a.id.startsWith("temp-"))&&(a.created_at!==b||!(a.id>=c)));i.sort((a,b)=>{let c=b.created_at.localeCompare(a.created_at);return 0!==c?c:b.id.localeCompare(a.id)});let j=i.slice(0,d);if(j.length<d&&g.hasMore)return null;return await e.put("cache_meta",{...g,lastAccessedAt:Date.now()}),{messages:j.reverse(),hasMore:i.length>d||g.hasMore}}catch{return null}}async function D(a,b,c,d){let e=A(d);if(e)try{let d=await e,f=b.filter(a=>"buffered"!==a.status&&!a.id.startsWith("temp-"));if(0===f.length)return;let g=d.transaction(["messages","cache_meta"],"readwrite"),h=g.objectStore("messages"),i=g.objectStore("cache_meta");for(let a of f)await h.put(a);let j=await h.index("by-conversation").getAllKeys(a),k=Date.now(),l=f.reduce((a,b)=>a.created_at>b.created_at?a:b),m=await i.get(a),n=c??m?.hasMore??!0,o=m?.newestMessageId&&m.newestMessageId!==l.id?await (async()=>{let b=await h.get([a,m.newestMessageId]);return b&&b.created_at>l.created_at?b.id:l.id})():l.id,p={conversation_id:a,lastFetchedAt:k,lastAccessedAt:k,messageCount:j.length,newestMessageId:o,hasMore:n};await i.put(p),await g.done,F().catch(()=>{})}catch{}}async function E(a,b,c){let d=A(c);if(d&&!("buffered"===b.status||b.id.startsWith("temp-")))try{let c=await d,e=await c.get("cache_meta",a);if(!e)return;let f=await c.get("messages",[a,b.id]);await c.put("messages",b),await c.put("cache_meta",{...e,lastAccessedAt:Date.now(),messageCount:f?e.messageCount:e.messageCount+1,newestMessageId:b.id})}catch{}}async function F(a=50){let b=A();if(b)try{let c=await b,d=await c.getAll("cache_meta");if(d.length<=a)return;d.sort((a,b)=>a.lastAccessedAt-b.lastAccessedAt);let e=d.slice(0,d.length-a),f=c.transaction(["messages","cache_meta"],"readwrite"),g=f.objectStore("messages"),h=f.objectStore("cache_meta");for(let a of e){for(let b of(await g.index("by-conversation").getAllKeys(a.conversation_id)))await g.delete(b);await h.delete(a.conversation_id)}await f.done}catch{}}async function G(){if("u">typeof indexedDB)try{x&&((await x).close(),x=null),y&&(await H(`alook-chat-cache-${y}`),y=null)}catch{}}async function H(a){return new Promise((b,c)=>{let d=indexedDB.deleteDatabase(a);d.onsuccess=()=>b(),d.onerror=()=>c(d.error),d.onblocked=()=>b()})}a.s(["appendCachedMessage",0,E,"clearAllCache",0,G,"getCachedMessages",0,B,"getCachedMessagesBefore",0,C,"mergeCachedMessages",0,D,"openCacheDB",0,z],562706)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_11~t2ti._.js.map
|
|
@@ -80,6 +80,6 @@ module.exports=[542168,a=>{"use strict";a.i(846208);var b=a.i(892409),c=a.i(3461
|
|
|
80
80
|
AND c.workspace_id = ${c}
|
|
81
81
|
ON CONFLICT (conversation_id, user_id)
|
|
82
82
|
DO UPDATE SET last_read_at = ${d}
|
|
83
|
-
`)}a.s(["getUnreadCount",0,F,"listUnreadConversations",0,E,"markAllConversationsRead",0,H,"markConversationRead",0,G],975036);var I=a.i(975036),J=a.i(328039),K=a.i(855312),L=a.i(79908);a.s(["agent",0,e,"agentAccess",0,t,"agentLink",0,B,"agentPin",0,u,"agentSidebarOrder",0,v,"artifact",0,q,"calendarEvent",0,p,"channel",0,y,"conversation",0,g,"conversationMap",0,A,"email",0,n,"emailAccount",0,r,"inbox",0,I,"issue",0,J,"issueComment",0,K,"machine",0,k,"machineToken",0,l,"meetingSession",0,x,"member",0,d,"message",0,h,"messageFlag",0,L,"overview",0,w,"runtime",0,f,"session",0,o,"task",0,i,"taskMessage",0,j,"user",0,b,"whitelist",0,m,"workspace",0,c,"workspaceFileRequest",0,z,"workspaceInvite",0,s],395780);var M=a.i(395780);a.s(["queries",0,M],542168)},696826,a=>{"use strict";a.i(250195);var b=a.i(544979);a.s(["getDb",0,function(a){let c=a.withSession("first-primary");return(0,b.createDb)(c)}])},885135,a=>{"use strict";a.s(["WorkspaceProvider",()=>c,"useWorkspace",()=>d]);var b=a.i(265047);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call WorkspaceProvider() from the server but WorkspaceProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/workspace-context.tsx <module evaluation>","WorkspaceProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useWorkspace() from the server but useWorkspace is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/workspace-context.tsx <module evaluation>","useWorkspace")},27504,a=>{"use strict";a.s(["WorkspaceProvider",()=>c,"useWorkspace",()=>d]);var b=a.i(265047);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call WorkspaceProvider() from the server but WorkspaceProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/workspace-context.tsx","WorkspaceProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useWorkspace() from the server but useWorkspace is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/workspace-context.tsx","useWorkspace")},452149,a=>{"use strict";a.i(885135);var b=a.i(27504);a.n(b)},584236,a=>{"use strict";a.s(["AgentProvider",()=>c,"useAgentContext",()=>d]);var b=a.i(265047);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call AgentProvider() from the server but AgentProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/agent-context.tsx <module evaluation>","AgentProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useAgentContext() from the server but useAgentContext is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/agent-context.tsx <module evaluation>","useAgentContext")},861849,a=>{"use strict";a.s(["AgentProvider",()=>c,"useAgentContext",()=>d]);var b=a.i(265047);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call AgentProvider() from the server but AgentProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/agent-context.tsx","AgentProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useAgentContext() from the server but useAgentContext is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/agent-context.tsx","useAgentContext")},498915,a=>{"use strict";a.i(584236);var b=a.i(861849);a.n(b)},991013,a=>{"use strict";a.s(["ChannelProvider",()=>c,"useChannel",()=>d]);var b=a.i(265047);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call ChannelProvider() from the server but ChannelProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/channel-context.tsx <module evaluation>","ChannelProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useChannel() from the server but useChannel is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/channel-context.tsx <module evaluation>","useChannel")},906430,a=>{"use strict";a.s(["ChannelProvider",()=>c,"useChannel",()=>d]);var b=a.i(265047);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call ChannelProvider() from the server but ChannelProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/channel-context.tsx","ChannelProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useChannel() from the server but useChannel is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/channel-context.tsx","useChannel")},150409,a=>{"use strict";a.i(991013);var b=a.i(906430);a.n(b)},632146,a=>{"use strict";a.s(["InboxCountProvider",()=>c,"useInboxCount",()=>d]);var b=a.i(265047);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call InboxCountProvider() from the server but InboxCountProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/inbox-count-context.tsx <module evaluation>","InboxCountProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useInboxCount() from the server but useInboxCount is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/inbox-count-context.tsx <module evaluation>","useInboxCount")},269150,a=>{"use strict";a.s(["InboxCountProvider",()=>c,"useInboxCount",()=>d]);var b=a.i(265047);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call InboxCountProvider() from the server but InboxCountProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/inbox-count-context.tsx","InboxCountProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useInboxCount() from the server but useInboxCount is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/inbox-count-context.tsx","useInboxCount")},143131,a=>{"use strict";a.i(632146);var b=a.i(269150);a.n(b)},778759,a=>{"use strict";a.s(["FlagCountProvider",()=>c,"useFlagCount",()=>d]);var b=a.i(265047);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call FlagCountProvider() from the server but FlagCountProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/flag-count-context.tsx <module evaluation>","FlagCountProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useFlagCount() from the server but useFlagCount is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/flag-count-context.tsx <module evaluation>","useFlagCount")},292542,a=>{"use strict";a.s(["FlagCountProvider",()=>c,"useFlagCount",()=>d]);var b=a.i(265047);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call FlagCountProvider() from the server but FlagCountProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/flag-count-context.tsx","FlagCountProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useFlagCount() from the server but useFlagCount is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/flag-count-context.tsx","useFlagCount")},97859,a=>{"use strict";a.i(778759);var b=a.i(292542);a.n(b)},578647,a=>{"use strict";a.s(["WorkspaceShell",()=>c,"useSidebarTrigger",()=>d]);var b=a.i(265047);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call WorkspaceShell() from the server but WorkspaceShell is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/components/workspace-shell.tsx <module evaluation>","WorkspaceShell"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useSidebarTrigger() from the server but useSidebarTrigger is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/components/workspace-shell.tsx <module evaluation>","useSidebarTrigger")},383843,a=>{"use strict";a.s(["WorkspaceShell",()=>c,"useSidebarTrigger",()=>d]);var b=a.i(265047);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call WorkspaceShell() from the server but WorkspaceShell is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/components/workspace-shell.tsx","WorkspaceShell"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useSidebarTrigger() from the server but useSidebarTrigger is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/components/workspace-shell.tsx","useSidebarTrigger")},877617,a=>{"use strict";a.i(578647);var b=a.i(383843);a.n(b)},678399,a=>a.a(async(b,c)=>{try{var d=a.i(144637),e=a.i(446912);a.i(900104);var f=a.i(672234),g=a.i(716403);a.i(250195);var h=a.i(542168),i=a.i(696826),j=a.i(678327),k=a.i(452149),l=a.i(498915),m=a.i(150409),n=a.i(143131),o=a.i(97859),p=a.i(877617),q=b([j]);async function r({children:a,params:b}){let c=await (0,j.getSession)();c||(0,f.redirect)("/sign-in");let{slug:q}=await b,{env:s}=await (0,g.getCloudflareContext)({async:!0}),t=(0,i.getDb)(s.DB),u=await h.queries.workspace.getWorkspaceBySlug(t,q);u||(0,f.redirect)("/workspaces"),await h.queries.member.getMemberByUserAndWorkspace(t,c.user.id,u.id)||(0,f.redirect)("/workspaces");let v=await h.queries.agent.listAgents(t,u.id,c.user.id);if(0===v.length){let a=(await (0,e.headers)()).get("cookie")||"",b=Object.fromEntries(a.split(";").map(a=>{let[b,...c]=a.trim().split("=");return[b,c.join("=")]}));b.skip_init&&b.skip_init===u.id||(0,f.redirect)(`/studio/new?workspace_id=${u.id}`)}return(0,d.jsx)(k.WorkspaceProvider,{workspaceId:u.id,slug:q,children:(0,d.jsx)(l.AgentProvider,{workspaceId:u.id,children:(0,d.jsx)(n.InboxCountProvider,{children:(0,d.jsx)(o.FlagCountProvider,{children:(0,d.jsx)(m.ChannelProvider,{workspaceId:u.id,children:(0,d.jsx)(p.WorkspaceShell,{children:a})})})})})})}[j]=q.then?(await q)():q,a.s(["default",0,r]),c()}catch(a){c(a)}},!1),234278,a=>{a.n(a.i(678399))}];
|
|
83
|
+
`)}a.s(["getUnreadCount",0,F,"listUnreadConversations",0,E,"markAllConversationsRead",0,H,"markConversationRead",0,G],975036);var I=a.i(975036),J=a.i(328039),K=a.i(855312),L=a.i(79908);a.s(["agent",0,e,"agentAccess",0,t,"agentLink",0,B,"agentPin",0,u,"agentSidebarOrder",0,v,"artifact",0,q,"calendarEvent",0,p,"channel",0,y,"conversation",0,g,"conversationMap",0,A,"email",0,n,"emailAccount",0,r,"inbox",0,I,"issue",0,J,"issueComment",0,K,"machine",0,k,"machineToken",0,l,"meetingSession",0,x,"member",0,d,"message",0,h,"messageFlag",0,L,"overview",0,w,"runtime",0,f,"session",0,o,"task",0,i,"taskMessage",0,j,"user",0,b,"whitelist",0,m,"workspace",0,c,"workspaceFileRequest",0,z,"workspaceInvite",0,s],395780);var M=a.i(395780);a.s(["queries",0,M],542168)},696826,a=>{"use strict";a.i(250195);var b=a.i(544979);a.s(["getDb",0,function(a){let c=a.withSession("first-unconstrained");return(0,b.createDb)(c)}])},885135,a=>{"use strict";a.s(["WorkspaceProvider",()=>c,"useWorkspace",()=>d]);var b=a.i(265047);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call WorkspaceProvider() from the server but WorkspaceProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/workspace-context.tsx <module evaluation>","WorkspaceProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useWorkspace() from the server but useWorkspace is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/workspace-context.tsx <module evaluation>","useWorkspace")},27504,a=>{"use strict";a.s(["WorkspaceProvider",()=>c,"useWorkspace",()=>d]);var b=a.i(265047);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call WorkspaceProvider() from the server but WorkspaceProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/workspace-context.tsx","WorkspaceProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useWorkspace() from the server but useWorkspace is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/workspace-context.tsx","useWorkspace")},452149,a=>{"use strict";a.i(885135);var b=a.i(27504);a.n(b)},584236,a=>{"use strict";a.s(["AgentProvider",()=>c,"useAgentContext",()=>d]);var b=a.i(265047);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call AgentProvider() from the server but AgentProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/agent-context.tsx <module evaluation>","AgentProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useAgentContext() from the server but useAgentContext is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/agent-context.tsx <module evaluation>","useAgentContext")},861849,a=>{"use strict";a.s(["AgentProvider",()=>c,"useAgentContext",()=>d]);var b=a.i(265047);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call AgentProvider() from the server but AgentProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/agent-context.tsx","AgentProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useAgentContext() from the server but useAgentContext is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/agent-context.tsx","useAgentContext")},498915,a=>{"use strict";a.i(584236);var b=a.i(861849);a.n(b)},991013,a=>{"use strict";a.s(["ChannelProvider",()=>c,"useChannel",()=>d]);var b=a.i(265047);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call ChannelProvider() from the server but ChannelProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/channel-context.tsx <module evaluation>","ChannelProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useChannel() from the server but useChannel is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/channel-context.tsx <module evaluation>","useChannel")},906430,a=>{"use strict";a.s(["ChannelProvider",()=>c,"useChannel",()=>d]);var b=a.i(265047);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call ChannelProvider() from the server but ChannelProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/channel-context.tsx","ChannelProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useChannel() from the server but useChannel is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/channel-context.tsx","useChannel")},150409,a=>{"use strict";a.i(991013);var b=a.i(906430);a.n(b)},632146,a=>{"use strict";a.s(["InboxCountProvider",()=>c,"useInboxCount",()=>d]);var b=a.i(265047);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call InboxCountProvider() from the server but InboxCountProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/inbox-count-context.tsx <module evaluation>","InboxCountProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useInboxCount() from the server but useInboxCount is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/inbox-count-context.tsx <module evaluation>","useInboxCount")},269150,a=>{"use strict";a.s(["InboxCountProvider",()=>c,"useInboxCount",()=>d]);var b=a.i(265047);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call InboxCountProvider() from the server but InboxCountProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/inbox-count-context.tsx","InboxCountProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useInboxCount() from the server but useInboxCount is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/inbox-count-context.tsx","useInboxCount")},143131,a=>{"use strict";a.i(632146);var b=a.i(269150);a.n(b)},778759,a=>{"use strict";a.s(["FlagCountProvider",()=>c,"useFlagCount",()=>d]);var b=a.i(265047);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call FlagCountProvider() from the server but FlagCountProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/flag-count-context.tsx <module evaluation>","FlagCountProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useFlagCount() from the server but useFlagCount is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/flag-count-context.tsx <module evaluation>","useFlagCount")},292542,a=>{"use strict";a.s(["FlagCountProvider",()=>c,"useFlagCount",()=>d]);var b=a.i(265047);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call FlagCountProvider() from the server but FlagCountProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/flag-count-context.tsx","FlagCountProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useFlagCount() from the server but useFlagCount is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/contexts/flag-count-context.tsx","useFlagCount")},97859,a=>{"use strict";a.i(778759);var b=a.i(292542);a.n(b)},578647,a=>{"use strict";a.s(["WorkspaceShell",()=>c,"useSidebarTrigger",()=>d]);var b=a.i(265047);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call WorkspaceShell() from the server but WorkspaceShell is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/components/workspace-shell.tsx <module evaluation>","WorkspaceShell"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useSidebarTrigger() from the server but useSidebarTrigger is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/components/workspace-shell.tsx <module evaluation>","useSidebarTrigger")},383843,a=>{"use strict";a.s(["WorkspaceShell",()=>c,"useSidebarTrigger",()=>d]);var b=a.i(265047);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call WorkspaceShell() from the server but WorkspaceShell is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/components/workspace-shell.tsx","WorkspaceShell"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useSidebarTrigger() from the server but useSidebarTrigger is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/web/src/components/workspace-shell.tsx","useSidebarTrigger")},877617,a=>{"use strict";a.i(578647);var b=a.i(383843);a.n(b)},678399,a=>a.a(async(b,c)=>{try{var d=a.i(144637),e=a.i(446912);a.i(900104);var f=a.i(672234),g=a.i(716403);a.i(250195);var h=a.i(542168),i=a.i(696826),j=a.i(678327),k=a.i(452149),l=a.i(498915),m=a.i(150409),n=a.i(143131),o=a.i(97859),p=a.i(877617),q=b([j]);async function r({children:a,params:b}){let c=await (0,j.getSession)();c||(0,f.redirect)("/sign-in");let{slug:q}=await b,{env:s}=await (0,g.getCloudflareContext)({async:!0}),t=(0,i.getDb)(s.DB),u=await h.queries.workspace.getWorkspaceBySlug(t,q);u||(0,f.redirect)("/workspaces"),await h.queries.member.getMemberByUserAndWorkspace(t,c.user.id,u.id)||(0,f.redirect)("/workspaces");let v=await h.queries.agent.listAgents(t,u.id,c.user.id);if(0===v.length){let a=(await (0,e.headers)()).get("cookie")||"",b=Object.fromEntries(a.split(";").map(a=>{let[b,...c]=a.trim().split("=");return[b,c.join("=")]}));b.skip_init&&b.skip_init===u.id||(0,f.redirect)(`/studio/new?workspace_id=${u.id}`)}return(0,d.jsx)(k.WorkspaceProvider,{workspaceId:u.id,slug:q,children:(0,d.jsx)(l.AgentProvider,{workspaceId:u.id,children:(0,d.jsx)(n.InboxCountProvider,{children:(0,d.jsx)(o.FlagCountProvider,{children:(0,d.jsx)(m.ChannelProvider,{workspaceId:u.id,children:(0,d.jsx)(p.WorkspaceShell,{children:a})})})})})})}[j]=q.then?(await q)():q,a.s(["default",0,r]),c()}catch(a){c(a)}},!1),234278,a=>{a.n(a.i(678399))}];
|
|
84
84
|
|
|
85
85
|
//# sourceMappingURL=src_0liq_10._.js.map
|
|
@@ -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);(0,c.useEffect)(()=>{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,6e4);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}])},781418,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(549931),e=a.i(584126),f=a.i(921584);a.i(735132);var g=a.i(253260),h=a.i(325848),i=a.i(191525),j=a.i(75118);a.s(["AgentPreviewCard",0,function({agent:a,isOnline:k,activeTaskCount:l,variant:m="default",isHovered:n}){let[o,p]=(0,c.useState)(!1),q=a.email_handle?`${a.email_handle}@alook.ai`:null,r=(0,c.useCallback)(async()=>{if(q)try{await navigator.clipboard.writeText(q),p(!0),f.toast.success("Email copied to clipboard"),setTimeout(()=>p(!1),2e3)}catch{f.toast.error("Failed to copy email")}},[q]);if("compact"===m){let c;return(0,b.jsxs)("div",{className:"flex items-center gap-2 p-0",children:[(c=(0,h.parseAvatarUrl)(a.avatar_url))?(0,b.jsx)(g.AnimatedAvatar,{config:c,size:32,className:"shrink-0 rounded-xl",isHovered:n??!1,isWorking:!!k&&(l??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}),q&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:q})]}),void 0!==k&&(0,b.jsx)("div",{className:"pointer-events-none mt-0.5",children:(0,b.jsx)(i.AgentStatusBadge,{isOnline:k,taskCount:l??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!==k&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-[11px] text-muted-foreground",children:[(0,b.jsx)("span",{className:(0,j.cn)("size-1.5 rounded-full",k?"bg-status-online":"bg-status-offline")}),k?(l??0)>0?"Working":null:"Offline"]})]}),q&&(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:q}),(0,b.jsx)("button",{type:"button",onClick:a=>{a.stopPropagation(),r()},className:"shrink-0 p-0.5 rounded-sm text-muted-foreground/60 hover:text-foreground transition-colors cursor-pointer",children:o?(0,b.jsx)(d.Check,{className:"size-3 text-green-500"}):(0,b.jsx)(e.Copy,{className:"size-3"})})]}),a.description&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground line-clamp-2",children:a.description})]})}])},127026,40924,a=>{"use strict";a.s(["AgentChatView",()=>av,"getEventIconType",()=>ap],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(549931),k=a.i(143984),l=a.i(647651);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(123047),o=a.i(723127),p=a.i(16831);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 min-w-0 max-w-full",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 wrap-anywhere",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-start gap-2 mt-2 max-w-full overflow-hidden",children:[(0,b.jsxs)("p",{className:"text-sm text-destructive flex items-start gap-1.5 min-w-0",children:[(0,b.jsx)(n.AlertCircle,{className:"size-3.5 shrink-0 mt-0.5"}),(0,b.jsx)("span",{className:"wrap-anywhere",children: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(562706),z=a.i(752792),A=a.i(831893),B=a.i(70813),C=a.i(452906),D=a.i(921584),E=a.i(25668),F=a.i(525132),G=a.i(540858);let H=(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"}]]),I=(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 J=a.i(510698),K=a.i(606896);let L=(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"}]]),M=(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 N=a.i(546257),O=a.i(484573),P=a.i(518828);function Q({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 R({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)(Q,{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)(Q,{agent:a,isSelected:d.length+c===f,onSelect:g},a.id))]})})}function S(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 T(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||S(a,c))&&(!h||S(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 U=a.i(207461),V=a.i(7455),W=a.i(135510);function X({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);(0,c.useEffect)(()=>{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(()=>{D.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)(V.Sheet,{open:a,onOpenChange:s,children:(0,b.jsxs)(V.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)(V.SheetHeader,{children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(K.Mail,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,b.jsx)(V.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)(P.X,{className:"h-4 w-4"})})]})}),(0,b.jsx)(V.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)(W.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 Y=a.i(963744),Z=a.i(698824);function $({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)(N.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)(P.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 aa={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 ab({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,b.jsx)(w,{task:aa,messages:f,stepCountHint:d,onExpandSteps:l,stepsLoading:h})}let ac=(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 ad=a.i(307992);let ae=(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,ae],40924);var af=a.i(584126);let ag={mention:["data-agent-id"]},ah=["mention"];function ai({content:a,conversationType:c}){let d=ap(a,c),e="h-4 w-4 mt-0.5 shrink-0";return"issue"===d?(0,b.jsx)(ad.CircleDot,{className:e}):"email"===d?(0,b.jsx)(K.Mail,{className:e}):(0,b.jsx)(ac,{className:e})}function aj({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)(J.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-37.5",children:a.filename})]},a.id))})}function ak({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)(J.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-37.5",children:a.name})]},c))}):null}let al=(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,C,[E,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)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-xs","aria-label":E?"Copied":"Copy message",onClick:async b=>{b.stopPropagation();try{await navigator.clipboard.writeText(a.content),G(!0),D.toast.success("Copied to clipboard"),setTimeout(()=>G(!1),2e3)}catch{D.toast.error("Failed to copy")}},className:(0,i.cn)("self-start mb-1",E?"text-green-500 opacity-100":"text-muted-foreground opacity-0 group-hover/msg:opacity-100")}),children:E?(0,b.jsx)(j.Check,{className:"size-3.5"}):(0,b.jsx)(af.Copy,{className:"size-3.5"})}),(0,b.jsx)(F.TooltipContent,{children:E?"Copied":"Copy"})]}),z&&(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.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)(ae,{className:(0,i.cn)("size-3.5",y&&"fill-current")})}),(0,b.jsx)(F.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)(ab,{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:ag,literalTagContent:ah,components:x,children:T(a.content,d)})}),a.attachment_ids&&a.attachment_ids.length>0&&(0,b.jsx)(aj,{attachmentIds:a.attachment_ids,artifacts:e,onArtifactClick:s}),!a.attachment_ids&&(0,b.jsx)(ak,{pendingFiles:r,messageId:a.id})]})})):"event"===a.role?(B=a.metadata?.emailId,C=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||!!C)&&"cursor-pointer hover:bg-muted transition-colors"),onClick:B?()=>t(B):C?()=>u(C):void 0,children:[(0,b.jsx)(ai,{content:a.content,conversationType:p}),(0,b.jsx)("span",{className:"min-w-0 wrap-anywhere",children:a.content})]})})):H?null:(0,b.jsxs)("div",{className:(0,i.cn)("group/msg flex flex-col justify-start min-w-0 overflow-hidden",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:ag,literalTagContent:ah,components:x,children:T(a.content,d)})}),K]})]})});var am=a.i(781418),an=a.i(722393);let ao={mention:function(a){let{children:c,...d}=a,{agents:e}=(0,z.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)(an.Popover,{children:[(0,b.jsx)(an.PopoverTrigger,{openOnHover:!0,delay:300,nativeButton:!1,render:(0,b.jsx)("span",{className:"mention-highlight cursor-pointer"}),children:c}),(0,b.jsx)(an.PopoverContent,{side:"top",className:"w-fit max-w-80",children:(0,b.jsx)(am.AgentPreviewCard,{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 ap(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 aq(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 ar(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 as(a){let b=(0,c.useRef)(a);return(0,c.useEffect)(()=>{b.current=a},[a]),b}function at({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 au({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)(J.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,U.formatSize)(a.size)})]})]})}function av({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:Q}=(0,z.useAgentContext)(),{refresh:S}=(0,A.useInboxCount)(),{activeChannel:V,loading:W,setAgentId:aa}=(0,C.useChannel)(),ab=a??o.id,ac=void 0!==j?j:q.get("task"),ad=void 0!==k?k:q.get("msg"),ae=void 0!==h?h:q.get("conv"),[af,ag]=(0,c.useState)(null),[ah,ai]=(0,c.useState)([]),[aj,ak]=(0,c.useState)(()=>""),[am,an]=(0,c.useState)(!1),[ap,aw]=(0,c.useState)(!1),[ax,ay]=(0,c.useState)(null),[az,aA]=(0,c.useState)([]),[aB,aC]=(0,c.useState)(!0),[aD,aE]=(0,c.useState)(!1),[aF,aG]=(0,c.useState)(!1),[aH,aI]=(0,c.useState)(!1),[aJ,aK]=(0,c.useState)([]),[aL,aM]=(0,c.useState)(!1),[aN,aO]=(0,c.useState)(null),[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);(0,c.useEffect)(()=>{bu.current=bs});let{increment:bv,decrement:bw,refresh:bx}=(0,B.useFlagCount)(),{cachedMessages:by,isFromCache:bz,writeToCache:bA}=function(a,b){let[d,e]=(0,c.useState)(null),[f,g]=(0,c.useState)(!1),h=(0,c.useRef)(a);return(0,c.useEffect)(()=>{if(h.current=a,!a||!b){e(null),g(!1);return}(0,y.openCacheDB)(b);let c=!1;return(0,y.getCachedMessages)(a,b).then(b=>{c||h.current!==a||(b&&b.length>0?(e(b),g(!0)):(e(null),g(!1)))}),()=>{c=!0}},[a,b]),{cachedMessages:d,isFromCache:f,writeToCache:(0,c.useCallback)(async(a,c)=>{h.current&&b&&await (0,y.mergeCachedMessages)(h.current,a,c,b)},[b])}}(ae??null,r),bB=(0,c.useRef)(by),bC=(0,c.useRef)(bz),bD=(0,c.useRef)(bA);(0,c.useEffect)(()=>{bB.current=by,bC.current=bz,bD.current=bA},[by,bz,bA]),(0,c.useEffect)(()=>{aa(ab)},[ab,aa]);let{listening:bE,supported:bF,toggle:bG}=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=>{ak(b=>b?b+" "+a:a)},[])),bH=(0,c.useMemo)(()=>aJ.filter(a=>"agent"===a.source),[aJ]),{versionMap:bI,duplicateFilenames:bJ}=(0,c.useMemo)(()=>(0,Z.computeArtifactVersions)(bH),[bH]),bK=(0,c.useMemo)(()=>"agent"===aP?bH:"issue"===aP?aZ?.artifacts??[]:[],[aP,bH,aZ?.artifacts]),{versionMap:bL,duplicateFilenames:bM}=(0,c.useMemo)(()=>(0,Z.computeArtifactVersions)(bK),[bK]),bN=(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)}),ar(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=>ar([...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=ar(a),c=h.findIndex(a=>"nap"===a.kind);c>=0?h.splice(c,0,...b):h.push(...b)}return h})(ah,bH,bh,af?.id),[ah,bH,bh,af?.id]),bO=(0,c.useCallback)(a=>{(0,Z.isPreviewable)(a)?(aO(a),aQ("agent"),aM(!0)):window.open((0,Z.getArtifactUrl)(a.id,r,!0),"_blank")},[r]),bP=(0,c.useCallback)(a=>{(0,Z.isPreviewable)(a)?(aO(a),aQ("issue"),aM(!0)):window.open((0,Z.getArtifactUrl)(a.id,r,!0),"_blank")},[r]),bQ=(0,c.useRef)(null),bR=(0,c.useRef)(null),bS=(0,c.useRef)(null),bT=(0,c.useRef)(null),bU=(0,c.useRef)(0),bV=(0,c.useRef)(0),bW=(0,c.useRef)(!1),bX=(0,c.useRef)(!1),bY=(0,c.useRef)(!0),bZ=(0,c.useRef)(!1),b$=(0,c.useRef)(null),b_=(0,c.useRef)(null),b0=(0,c.useRef)(0),b1=(0,c.useRef)(void 0),b2=(0,c.useRef)(null),b3=(0,c.useRef)(null),b4=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:aj,caretIndex:bb,textareaRef:b3,agents:(0,c.useMemo)(()=>t.filter(a=>a.id!==ab),[t,ab]),agentLinks:u,currentAgentId:ab,onInputChange:ak});(0,c.useEffect)(()=>{let a=`chat-draft:${ab}:${ae??"default"}`;aj?localStorage.setItem(a,aj):localStorage.removeItem(a)},[aj,ab,ae]),(0,c.useEffect)(()=>{am||b3.current?.focus()},[am]);let b5=(0,c.useCallback)(()=>{bY.current=!0,setTimeout(()=>{bQ.current?.scrollTo({top:bQ.current.scrollHeight,behavior:"smooth"})},50)},[]);(0,c.useEffect)(()=>{if(W)return;bR.current&&clearInterval(bR.current),bR.current=null,bT.current=null;let a=!1,b=bB.current,c=bC.current&&b&&b.length>0;return queueMicrotask(()=>{a||(aC(!c),bW.current=!1,ay(null),aA([]),ba([]),bn(new Map),bi([]),bk({}),be([]),bg(!1),b_.current=null,ak(localStorage.getItem(`chat-draft:${ab}:${ae??"default"}`)??""),c?ai(b):ai([]))}),async function(){try{if(ae)try{let[b,c,d,e]=await Promise.all([(0,x.getConversation)(ae,r),(0,x.listMessages)(ae,r),(0,x.listArtifacts)(ae,r).catch(()=>[]),(0,x.listBufferedMessages)(ae,r).catch(()=>[])]);if(a)return;ag(b),ai(a=>aq(a,c.messages)),aG(c.has_more),aK(d),ba(e),bD.current(c.messages,c.has_more).catch(()=>{});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,ae).then(b=>{a||bt(new Set(b.message_ids))}).catch(()=>{}),ac){let b=await (0,x.getTask)(ac,r).catch(()=>null);if(a)return;if(b&&!["completed","failed","cancelled","superseded"].includes(b.status)){ay(b);let c=await (0,x.getTaskMessages)(ac,r).catch(()=>[]);if(a)return;aA(c),c.length>0&&(bU.current=Math.max(...c.map(a=>a.seq))),b$.current?.(b.id,ae,bU.current)}}}catch{let b=await (0,x.chatInit)(ab,r,V);if(a)return;ag(b.conversation),ai(a=>a.length>0?aq(a,b.messages):b.messages),aG(b.has_more_messages),aK(b.artifacts),ba(b.buffered_messages),bg(b.has_more_conversations),bD.current(b.messages,b.has_more_messages).catch(()=>{}),(0,x.listFlaggedMessageIds)(r,b.conversation.id).then(b=>{a||bt(new Set(b.message_ids))}).catch(()=>{})}else{let b=await (0,x.chatInit)(ab,r,V);if(a)return;ag(b.conversation),ai(a=>a.length>0?aq(a,b.messages):b.messages),aG(b.has_more_messages),aK(b.artifacts),ba(b.buffered_messages),bg(b.has_more_conversations),bD.current(b.messages,b.has_more_messages).catch(()=>{}),(0,x.listFlaggedMessageIds)(r,b.conversation.id).then(b=>{a||bt(new Set(b.message_ids))}).catch(()=>{}),b.active_task&&(ay(b.active_task),b.task_messages.length>0&&(aA(b.task_messages),bU.current=Math.max(...b.task_messages.map(a=>a.seq))),["completed","failed","cancelled","superseded"].includes(b.active_task.status)||b$.current?.(b.active_task.id,b.conversation.id,bU.current))}}catch{D.toast.error("Failed to load conversation")}finally{a||aC(!1)}}(),()=>{a=!0}},[ab,r,ae,ac,V,W]);let b6=(0,c.useRef)(S);(0,c.useEffect)(()=>{b6.current=S},[S]);let b7=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!af?.id||!r||b7.current===af.id)return;b7.current=af.id;let a=setTimeout(()=>{(0,x.markInboxRead)(af.id,r).then(()=>b6.current()).catch(()=>{})},1e3);return()=>{b7.current=null,clearTimeout(a)}},[af?.id,r]),(0,c.useEffect)(()=>{aB||!(ah.length>0)||bW.current||(bW.current=!0,ac||ad?bY.current=!1:h?setTimeout(()=>{let a=bQ.current?.querySelectorAll("[data-quote-source]");a&&a.length>0?a[a.length-1].scrollIntoView({behavior:"instant",block:"start"}):bQ.current?.scrollTo({top:bQ.current.scrollHeight})},50):setTimeout(()=>{bQ.current?.scrollTo({top:bQ.current.scrollHeight})},50))},[aB,ah.length,ac,ad,h]),(0,c.useEffect)(()=>{let a;if(!ac||aB||!af)return;bY.current=!1,bZ.current=!0;let b=!1,c=()=>{if(b)return!1;let c=document.querySelector(`[data-task-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||(bZ.current=!1)},1500),!0)},d=setTimeout(async()=>{if(!b&&!c())try{let a=await (0,x.listMessagesAroundTask)(af.id,r,ac);if(b)return;a.length>0?(ai(b=>aq(b,a)),requestAnimationFrame(()=>{setTimeout(()=>{c()||(bZ.current=!1)},100)})):bZ.current=!1}catch{b||(bZ.current=!1)}},100);return()=>{b=!0,clearTimeout(d),a&&clearTimeout(a)}},[ac,aB,af,r]),(0,c.useEffect)(()=>{let a;if(!ad||ac||aB||!af)return;bY.current=!1,bZ.current=!0;let b=!1,c=setTimeout(()=>{!b&&((()=>{if(b)return!1;let c=document.querySelector(`[data-message-id="${CSS.escape(ad)}"]`);return!!c&&(c.scrollIntoView({behavior:"smooth",block:"start"}),c.classList.add("task-highlight"),a=setTimeout(()=>{c.classList.remove("task-highlight"),b||(bZ.current=!1)},1500),!0)})()||(bQ.current?.scrollTo({top:bQ.current.scrollHeight}),bZ.current=!1))},100);return()=>{b=!0,clearTimeout(c),a&&clearTimeout(a)}},[ad,ac,aB,af]);let b8=ax?.status;(0,c.useEffect)(()=>{bZ.current||("running"===b8||"queued"===b8)&&bY.current&&b5()},[az.length,b8,b5]);let b9=(0,c.useMemo)(()=>t.find(a=>a.id===ab)?.name??"Agent",[t,ab]),ca=as(ah),cb=as(aF),cc=as(bd),cd=as(bf),ce=as(b9),cf=as(V),cg=(0,c.useCallback)(async(a=!1)=>{if(!af||bX.current)return;bX.current=!0;let b=ca.current,c=cb.current,e=cd.current,f=ce.current,g=cf.current,h=b[0],i=b_.current?.id??af.id,j=c&&h,k=cc.current;if(!j&&0===k.length&&e){let a=b_.current??{id:af.id,created_at:af.created_at};try{let b=await (0,x.listPreviousConversations)(ab,r,{exclude:af.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){bX.current=!1;return}aI(!0);let m=bQ.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=b_.current??{id:af.id,created_at:af.created_at};try{let b=await (0,x.listPreviousConversations)(ab,r,{exclude:af.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){b_.current=d;continue}let g=b_.current?.created_at??af.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,b_.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]}),aG(o),ai(a=>{let b=new Set(a.map(a=>a.id));return[...q.filter(a=>!b.has(a.id)),...a]})):aG(!1)}),q.length>0&&af){let a=q.filter(a=>a.conversation_id===af.id);a.length>0&&(0,y.mergeCachedMessages)(af.id,a,o,r).catch(()=>{})}if(bX.current=!1,(0,d.flushSync)(()=>aI(!1)),m)if(a)m.scrollTop=m.scrollHeight;else{let a=m.scrollHeight;m.scrollTop=a-n}}catch{D.toast.error("Failed to load older messages")}finally{bX.current=!1,aI(!1),bQ.current&&(bQ.current.style.overflowAnchor="")}},[af,r,ab,ca,cb,cd,ce,cf,cc]),ch=aF||bd.length>0||bf;(0,c.useEffect)(()=>{af?.id!==b1.current&&(b1.current=af?.id,b0.current=0)},[af?.id]),(0,c.useEffect)(()=>{aB||!af||ah.length>=10||!ch||aH||b0.current>=3||(b0.current+=1,cg(!0))},[aB,ah.length,ch,aH,af,cg]);let ci=(0,c.useCallback)(()=>{let a=bQ.current;a&&(bY.current=a.scrollHeight-a.scrollTop-a.clientHeight<100)},[]),cj=(0,c.useCallback)((a,b,c)=>{bR.current&&clearInterval(bR.current),bU.current=c??0,bV.current=0,aE(!1),bT.current=a,bR.current=setInterval(async()=>{if(bT.current===a)try{let[c,d]=await Promise.all([(0,x.getTask)(a,r),(0,x.getTaskMessages)(a,r,bU.current||void 0)]),e=bT.current!==a;if(bV.current=0,aE(!1),d.length>0&&!e&&(aA(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}),bU.current=Math.max(...d.map(a=>a.seq),bU.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})=>ai(b=>aq(b,a))).catch(()=>{});bR.current&&clearInterval(bR.current),bR.current=null,bS.current&&clearTimeout(bS.current),bS.current=setTimeout(()=>{(0,x.markInboxRead)(b,r).then(()=>b6.current()).catch(()=>{})},1e3);let d=!bZ.current&&bY.current;try{let[a,d]=await Promise.all([(0,x.listMessages)(b,r),(0,x.listArtifacts)(b,r).catch(()=>null)]);ai(b=>aq(b,a.messages)),d&&aK(d),ay(c)}catch{ay(c),D.toast.error("Failed to refresh messages")}d&&requestAnimationFrame(()=>{bQ.current?.scrollTo({top:bQ.current.scrollHeight,behavior:"smooth"})}),setTimeout(async()=>{if(!bR.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);ai(b=>aq(b,a)),ay(c),aA([]),b$.current?.(c.id,b)}}catch{}},1e3)}else e||ay(c)}catch{if(bT.current!==a)return;bV.current+=1,bV.current>=3&&aE(!0),bV.current>=10&&(bR.current&&clearInterval(bR.current),bR.current=null,D.toast.error("Lost connection to agent"))}},3e3)},[r]);(0,c.useEffect)(()=>{b$.current=cj},[cj]),(0,c.useEffect)(()=>()=>{bR.current&&clearInterval(bR.current),bS.current&&clearTimeout(bS.current)},[]);let ck=(0,c.useRef)(null);(0,c.useEffect)(()=>{ck.current=ax?.id??null},[ax]),(0,c.useEffect)(()=>Q(a=>{if("task.messages"===a.type&&a.taskId===ck.current){let b=a.messages.filter(a=>a.seq>bU.current);b.length>0&&(aA(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}),bU.current=Math.max(...b.map(a=>a.seq),bU.current))}if("task.created"===a.type&&a.conversationId===af?.id){(0,x.listMessages)(a.conversationId,r).then(({messages:a})=>ai(b=>aq(b,a))).catch(()=>{});let b=a.task;ck.current=b.id,ay(b),aA([]),bU.current=0,b$.current?.(b.id,a.conversationId)}if("conversation.message"===a.type&&a.conversationId===af?.id&&(ai(b=>aq(b,[a.message])),(0,y.appendCachedMessage)(a.conversationId,a.message,r).catch(()=>{})),"artifact.uploaded"===a.type&&a.conversationId===af?.id&&aK(b=>b.some(b=>b.id===a.artifact.id)?b:[...b,a.artifact]),"followup.dispatched"===a.type&&a.conversationId===af?.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})=>ai(b=>aq(b,a))).catch(()=>{}),(0,y.appendCachedMessage)(a.conversationId,a.message,r).catch(()=>{});let b=a.task;ck.current=b.id,ay(b),aA([]),b$.current?.(b.id,a.conversationId)}"followup.created"===a.type&&a.conversationId===af?.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===af?.id&&ba(b=>b.filter(b=>b.id!==a.messageId)),"followup.dispatch_failed"===a.type&&a.conversationId===af?.id&&D.toast.error(a.error||"Failed to dispatch follow-up")}),[Q,af?.id,r]);let cl=(0,c.useCallback)(a=>{let b=a.target.files;if(!b)return;let c=[];for(let a of Array.from(b))a.size>0xa00000?D.toast.error(`"${a.name}" exceeds 10 MB limit`):c.push(a);c.length>0&&a8(a=>[...a,...c]),a.target.value=""},[]),cm=(0,c.useCallback)(a=>{a8(b=>b.filter((b,c)=>c!==a))},[]),cn=(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",cn),()=>document.removeEventListener("selectionchange",cn)),[cn]);let co=(0,c.useCallback)(()=>{bq&&(bp(bq.text),br(null),window.getSelection()?.removeAllRanges(),b3.current?.focus())},[bq]),[cp,cq]=(0,c.useState)(!1),cr=(0,c.useRef)(0),cs=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),cr.current++,a.dataTransfer.types.includes("Files")&&cq(!0)},[]),ct=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),cr.current--,0===cr.current&&cq(!1)},[]),cu=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation()},[]),cv=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),cq(!1),cr.current=0;let b=Array.from(a.dataTransfer.files),c=[];for(let a of b)a.size>0xa00000?D.toast.error(`"${a.name}" exceeds 10 MB limit`):c.push(a);c.length>0&&a8(a=>[...a,...c])},[]),cw=(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?D.toast.error(`"${a.name}" exceeds 10 MB limit`):d.push(a);d.length>0&&a8(a=>[...a,...d])},[]),cx=async()=>{if(af&&!ap){aw(!0);try{let a=await (0,x.cancelActiveTask)(af.id,r);if(a){if(ck.current&&ck.current!==a.id)return;bR.current&&clearInterval(bR.current),bR.current=null;let[b,c]=await Promise.all([(0,x.listMessages)(af.id,r),(0,x.listBufferedMessages)(af.id,r)]);ai(a=>aq(a,b.messages)),ba(c),ay(a),aA([])}}catch{D.toast.error("Failed to cancel task")}finally{aw(!1)}}},cy=async()=>{let a=aj.trim();if(!a&&0===a7.length||am||!af)return;if(!a)return void D.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);(0,c.useEffect)(()=>{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,6e4);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}])},781418,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(549931),e=a.i(584126),f=a.i(921584);a.i(735132);var g=a.i(253260),h=a.i(325848),i=a.i(191525),j=a.i(75118);a.s(["AgentPreviewCard",0,function({agent:a,isOnline:k,activeTaskCount:l,variant:m="default",isHovered:n}){let[o,p]=(0,c.useState)(!1),q=a.email_handle?`${a.email_handle}@alook.ai`:null,r=(0,c.useCallback)(async()=>{if(q)try{await navigator.clipboard.writeText(q),p(!0),f.toast.success("Email copied to clipboard"),setTimeout(()=>p(!1),2e3)}catch{f.toast.error("Failed to copy email")}},[q]);if("compact"===m){let c;return(0,b.jsxs)("div",{className:"flex items-center gap-2 p-0",children:[(c=(0,h.parseAvatarUrl)(a.avatar_url))?(0,b.jsx)(g.AnimatedAvatar,{config:c,size:32,className:"shrink-0 rounded-xl",isHovered:n??!1,isWorking:!!k&&(l??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}),q&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:q})]}),void 0!==k&&(0,b.jsx)("div",{className:"pointer-events-none mt-0.5",children:(0,b.jsx)(i.AgentStatusBadge,{isOnline:k,taskCount:l??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!==k&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-[11px] text-muted-foreground",children:[(0,b.jsx)("span",{className:(0,j.cn)("size-1.5 rounded-full",k?"bg-status-online":"bg-status-offline")}),k?(l??0)>0?"Working":null:"Offline"]})]}),q&&(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:q}),(0,b.jsx)("button",{type:"button",onClick:a=>{a.stopPropagation(),r()},className:"shrink-0 p-0.5 rounded-sm text-muted-foreground/60 hover:text-foreground transition-colors cursor-pointer",children:o?(0,b.jsx)(d.Check,{className:"size-3 text-green-500"}):(0,b.jsx)(e.Copy,{className:"size-3"})})]}),a.description&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground line-clamp-2",children:a.description})]})}])},127026,40924,a=>{"use strict";a.s(["AgentChatView",()=>av,"getEventIconType",()=>ap],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(549931),k=a.i(143984),l=a.i(647651);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(123047),o=a.i(723127),p=a.i(16831);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 min-w-0 max-w-full",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 wrap-anywhere",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-start gap-2 mt-2 max-w-full overflow-hidden",children:[(0,b.jsxs)("p",{className:"text-sm text-destructive flex items-start gap-1.5 min-w-0",children:[(0,b.jsx)(n.AlertCircle,{className:"size-3.5 shrink-0 mt-0.5"}),(0,b.jsx)("span",{className:"wrap-anywhere",children: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(562706),z=a.i(752792),A=a.i(831893),B=a.i(70813),C=a.i(452906),D=a.i(921584),E=a.i(25668),F=a.i(525132),G=a.i(540858);let H=(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"}]]),I=(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 J=a.i(510698),K=a.i(606896);let L=(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"}]]),M=(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 N=a.i(546257),O=a.i(484573),P=a.i(518828);function Q({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 R({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)(Q,{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)(Q,{agent:a,isSelected:d.length+c===f,onSelect:g},a.id))]})})}function S(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 T(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||S(a,c))&&(!h||S(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 U=a.i(207461),V=a.i(7455),W=a.i(135510);function X({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);(0,c.useEffect)(()=>{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(()=>{D.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)(V.Sheet,{open:a,onOpenChange:s,children:(0,b.jsxs)(V.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)(V.SheetHeader,{children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(K.Mail,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,b.jsx)(V.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)(P.X,{className:"h-4 w-4"})})]})}),(0,b.jsx)(V.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)(W.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 Y=a.i(963744),Z=a.i(698824);function $({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)(N.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)(P.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 aa={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 ab({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,b.jsx)(w,{task:aa,messages:f,stepCountHint:d,onExpandSteps:l,stepsLoading:h})}let ac=(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 ad=a.i(307992);let ae=(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,ae],40924);var af=a.i(584126);let ag={mention:["data-agent-id"]},ah=["mention"];function ai({content:a,conversationType:c}){let d=ap(a,c),e="h-4 w-4 mt-0.5 shrink-0";return"issue"===d?(0,b.jsx)(ad.CircleDot,{className:e}):"email"===d?(0,b.jsx)(K.Mail,{className:e}):(0,b.jsx)(ac,{className:e})}function aj({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)(J.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-37.5",children:a.filename})]},a.id))})}function ak({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)(J.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-37.5",children:a.name})]},c))}):null}let al=(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,C,[E,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)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-xs","aria-label":E?"Copied":"Copy message",onClick:async b=>{b.stopPropagation();try{await navigator.clipboard.writeText(a.content),G(!0),D.toast.success("Copied to clipboard"),setTimeout(()=>G(!1),2e3)}catch{D.toast.error("Failed to copy")}},className:(0,i.cn)("self-start mb-1",E?"text-green-500 opacity-100":"text-muted-foreground opacity-0 group-hover/msg:opacity-100")}),children:E?(0,b.jsx)(j.Check,{className:"size-3.5"}):(0,b.jsx)(af.Copy,{className:"size-3.5"})}),(0,b.jsx)(F.TooltipContent,{children:E?"Copied":"Copy"})]}),z&&(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.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)(ae,{className:(0,i.cn)("size-3.5",y&&"fill-current")})}),(0,b.jsx)(F.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)(ab,{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:ag,literalTagContent:ah,components:x,children:T(a.content,d)})}),a.attachment_ids&&a.attachment_ids.length>0&&(0,b.jsx)(aj,{attachmentIds:a.attachment_ids,artifacts:e,onArtifactClick:s}),!a.attachment_ids&&(0,b.jsx)(ak,{pendingFiles:r,messageId:a.id})]})})):"event"===a.role?(B=a.metadata?.emailId,C=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||!!C)&&"cursor-pointer hover:bg-muted transition-colors"),onClick:B?()=>t(B):C?()=>u(C):void 0,children:[(0,b.jsx)(ai,{content:a.content,conversationType:p}),(0,b.jsx)("span",{className:"min-w-0 wrap-anywhere",children:a.content})]})})):H?null:(0,b.jsxs)("div",{className:(0,i.cn)("group/msg flex flex-col justify-start min-w-0 overflow-hidden",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:ag,literalTagContent:ah,components:x,children:T(a.content,d)})}),K]})]})});var am=a.i(781418),an=a.i(722393);let ao={mention:function(a){let{children:c,...d}=a,{agents:e}=(0,z.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)(an.Popover,{children:[(0,b.jsx)(an.PopoverTrigger,{openOnHover:!0,delay:300,nativeButton:!1,render:(0,b.jsx)("span",{className:"mention-highlight cursor-pointer"}),children:c}),(0,b.jsx)(an.PopoverContent,{side:"top",className:"w-fit max-w-80",children:(0,b.jsx)(am.AgentPreviewCard,{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 ap(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 aq(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 ar(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 as(a){let b=(0,c.useRef)(a);return(0,c.useEffect)(()=>{b.current=a},[a]),b}function at({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 au({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)(J.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,U.formatSize)(a.size)})]})]})}function av({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:Q}=(0,z.useAgentContext)(),{refresh:S}=(0,A.useInboxCount)(),{activeChannel:V,loading:W,setAgentId:aa}=(0,C.useChannel)(),ab=a??o.id,ac=void 0!==j?j:q.get("task"),ad=void 0!==k?k:q.get("msg"),ae=void 0!==h?h:q.get("conv"),[af,ag]=(0,c.useState)(null),[ah,ai]=(0,c.useState)([]),[aj,ak]=(0,c.useState)(()=>""),[am,an]=(0,c.useState)(!1),[ap,aw]=(0,c.useState)(!1),[ax,ay]=(0,c.useState)(null),[az,aA]=(0,c.useState)([]),[aB,aC]=(0,c.useState)(!0),[aD,aE]=(0,c.useState)(!1),[aF,aG]=(0,c.useState)(!1),[aH,aI]=(0,c.useState)(!1),[aJ,aK]=(0,c.useState)([]),[aL,aM]=(0,c.useState)(!1),[aN,aO]=(0,c.useState)(null),[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);(0,c.useEffect)(()=>{bu.current=bs});let{increment:bv,decrement:bw,refresh:bx}=(0,B.useFlagCount)(),{writeToCache:by}=function(a,b){let[d,e]=(0,c.useState)(null),[f,g]=(0,c.useState)(!1),h=(0,c.useRef)(a);return(0,c.useEffect)(()=>{if(h.current=a,!a||!b){e(null),g(!1);return}(0,y.openCacheDB)(b);let c=!1;return(0,y.getCachedMessages)(a,b).then(b=>{c||h.current!==a||(b&&b.length>0?(e(b),g(!0)):(e(null),g(!1)))}),()=>{c=!0}},[a,b]),{cachedMessages:d,isFromCache:f,writeToCache:(0,c.useCallback)(async(a,c)=>{h.current&&b&&await (0,y.mergeCachedMessages)(h.current,a,c,b)},[b])}}(ae??null,r),bz=(0,c.useRef)(by);(0,c.useEffect)(()=>{bz.current=by},[by]),(0,c.useEffect)(()=>{aa(ab)},[ab,aa]);let{listening:bA,supported:bB,toggle:bC}=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=>{ak(b=>b?b+" "+a:a)},[])),bD=(0,c.useMemo)(()=>aJ.filter(a=>"agent"===a.source),[aJ]),{versionMap:bE,duplicateFilenames:bF}=(0,c.useMemo)(()=>(0,Z.computeArtifactVersions)(bD),[bD]),bG=(0,c.useMemo)(()=>"agent"===aP?bD:"issue"===aP?aZ?.artifacts??[]:[],[aP,bD,aZ?.artifacts]),{versionMap:bH,duplicateFilenames:bI}=(0,c.useMemo)(()=>(0,Z.computeArtifactVersions)(bG),[bG]),bJ=(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)}),ar(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=>ar([...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=ar(a),c=h.findIndex(a=>"nap"===a.kind);c>=0?h.splice(c,0,...b):h.push(...b)}return h})(ah,bD,bh,af?.id),[ah,bD,bh,af?.id]),bK=(0,c.useCallback)(a=>{(0,Z.isPreviewable)(a)?(aO(a),aQ("agent"),aM(!0)):window.open((0,Z.getArtifactUrl)(a.id,r,!0),"_blank")},[r]),bL=(0,c.useCallback)(a=>{(0,Z.isPreviewable)(a)?(aO(a),aQ("issue"),aM(!0)):window.open((0,Z.getArtifactUrl)(a.id,r,!0),"_blank")},[r]),bM=(0,c.useRef)(null),bN=(0,c.useRef)(null),bO=(0,c.useRef)(null),bP=(0,c.useRef)(null),bQ=(0,c.useRef)(0),bR=(0,c.useRef)(0),bS=(0,c.useRef)(!1),bT=(0,c.useRef)(!1),bU=(0,c.useRef)(!0),bV=(0,c.useRef)(!1),bW=(0,c.useRef)(null),bX=(0,c.useRef)(null),bY=(0,c.useRef)(0),bZ=(0,c.useRef)(void 0),b$=(0,c.useRef)(null),b_=(0,c.useRef)(null),b0=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:aj,caretIndex:bb,textareaRef:b_,agents:(0,c.useMemo)(()=>t.filter(a=>a.id!==ab),[t,ab]),agentLinks:u,currentAgentId:ab,onInputChange:ak});(0,c.useEffect)(()=>{let a=`chat-draft:${ab}:${ae??"default"}`;aj?localStorage.setItem(a,aj):localStorage.removeItem(a)},[aj,ab,ae]),(0,c.useEffect)(()=>{am||b_.current?.focus()},[am]);let b1=(0,c.useCallback)(()=>{bU.current=!0,setTimeout(()=>{bM.current?.scrollTo({top:bM.current.scrollHeight,behavior:"smooth"})},50)},[]);(0,c.useEffect)(()=>{if(W)return;bN.current&&clearInterval(bN.current),bN.current=null,bP.current=null;let a=!1;return aC(!0),bS.current=!1,ay(null),aA([]),ba([]),bn(new Map),bi([]),bk({}),be([]),bg(!1),bX.current=null,ak(localStorage.getItem(`chat-draft:${ab}:${ae??"default"}`)??""),ai([]),async function(){try{if(ae){let b=await (0,y.getCachedMessages)(ae,r);if(a)return;b&&b.length>0&&(ai(b),aC(!1));try{let[b,c,d,e]=await Promise.all([(0,x.getConversation)(ae,r),(0,x.listMessages)(ae,r),(0,x.listArtifacts)(ae,r).catch(()=>[]),(0,x.listBufferedMessages)(ae,r).catch(()=>[])]);if(a)return;ag(b),ai(a=>aq(a,c.messages)),aG(c.has_more),aK(d),ba(e),bz.current(c.messages,c.has_more).catch(()=>{});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,ae).then(b=>{a||bt(new Set(b.message_ids))}).catch(()=>{}),ac){let b=await (0,x.getTask)(ac,r).catch(()=>null);if(a)return;if(b&&!["completed","failed","cancelled","superseded"].includes(b.status)){ay(b);let c=await (0,x.getTaskMessages)(ac,r).catch(()=>[]);if(a)return;aA(c),c.length>0&&(bQ.current=Math.max(...c.map(a=>a.seq))),bW.current?.(b.id,ae,bQ.current)}}}catch{let b=await (0,x.chatInit)(ab,r,V);if(a)return;ag(b.conversation),ai(a=>a.length>0?aq(a,b.messages):b.messages),aG(b.has_more_messages),aK(b.artifacts),ba(b.buffered_messages),bg(b.has_more_conversations),bz.current(b.messages,b.has_more_messages).catch(()=>{}),(0,x.listFlaggedMessageIds)(r,b.conversation.id).then(b=>{a||bt(new Set(b.message_ids))}).catch(()=>{})}}else{let b=await (0,x.chatInit)(ab,r,V);if(a)return;ag(b.conversation),ai(a=>a.length>0?aq(a,b.messages):b.messages),aG(b.has_more_messages),aK(b.artifacts),ba(b.buffered_messages),bg(b.has_more_conversations),bz.current(b.messages,b.has_more_messages).catch(()=>{}),(0,x.listFlaggedMessageIds)(r,b.conversation.id).then(b=>{a||bt(new Set(b.message_ids))}).catch(()=>{}),b.active_task&&(ay(b.active_task),b.task_messages.length>0&&(aA(b.task_messages),bQ.current=Math.max(...b.task_messages.map(a=>a.seq))),["completed","failed","cancelled","superseded"].includes(b.active_task.status)||bW.current?.(b.active_task.id,b.conversation.id,bQ.current))}}catch{D.toast.error("Failed to load conversation")}finally{a||aC(!1)}}(),()=>{a=!0}},[ab,r,ae,ac,V,W]);let b2=(0,c.useRef)(S);(0,c.useEffect)(()=>{b2.current=S},[S]);let b3=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!af?.id||!r||b3.current===af.id)return;b3.current=af.id;let a=setTimeout(()=>{(0,x.markInboxRead)(af.id,r).then(()=>b2.current()).catch(()=>{})},1e3);return()=>{b3.current=null,clearTimeout(a)}},[af?.id,r]),(0,c.useEffect)(()=>{aB||!(ah.length>0)||bS.current||(bS.current=!0,ac||ad?bU.current=!1:h?setTimeout(()=>{let a=bM.current?.querySelectorAll("[data-quote-source]");a&&a.length>0?a[a.length-1].scrollIntoView({behavior:"instant",block:"start"}):bM.current?.scrollTo({top:bM.current.scrollHeight})},50):setTimeout(()=>{bM.current?.scrollTo({top:bM.current.scrollHeight})},50))},[aB,ah.length,ac,ad,h]),(0,c.useEffect)(()=>{let a;if(!ac||aB||!af)return;bU.current=!1,bV.current=!0;let b=!1,c=()=>{if(b)return!1;let c=document.querySelector(`[data-task-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||(bV.current=!1)},1500),!0)},d=setTimeout(async()=>{if(!b&&!c())try{let a=await (0,x.listMessagesAroundTask)(af.id,r,ac);if(b)return;a.length>0?(ai(b=>aq(b,a)),requestAnimationFrame(()=>{setTimeout(()=>{c()||(bV.current=!1)},100)})):bV.current=!1}catch{b||(bV.current=!1)}},100);return()=>{b=!0,clearTimeout(d),a&&clearTimeout(a)}},[ac,aB,af,r]),(0,c.useEffect)(()=>{let a;if(!ad||ac||aB||!af)return;bU.current=!1,bV.current=!0;let b=!1,c=setTimeout(()=>{!b&&((()=>{if(b)return!1;let c=document.querySelector(`[data-message-id="${CSS.escape(ad)}"]`);return!!c&&(c.scrollIntoView({behavior:"smooth",block:"start"}),c.classList.add("task-highlight"),a=setTimeout(()=>{c.classList.remove("task-highlight"),b||(bV.current=!1)},1500),!0)})()||(bM.current?.scrollTo({top:bM.current.scrollHeight}),bV.current=!1))},100);return()=>{b=!0,clearTimeout(c),a&&clearTimeout(a)}},[ad,ac,aB,af]);let b4=ax?.status;(0,c.useEffect)(()=>{bV.current||("running"===b4||"queued"===b4)&&bU.current&&b1()},[az.length,b4,b1]);let b5=(0,c.useMemo)(()=>t.find(a=>a.id===ab)?.name??"Agent",[t,ab]),b6=as(ah),b7=as(aF),b8=as(bd),b9=as(bf),ca=as(b5),cb=as(V),cc=(0,c.useCallback)(async(a=!1)=>{if(!af||bT.current)return;bT.current=!0;let b=b6.current,c=b7.current,e=b9.current,f=ca.current,g=cb.current,h=b[0],i=bX.current?.id??af.id,j=c&&h,k=b8.current;if(!j&&0===k.length&&e){let a=bX.current??{id:af.id,created_at:af.created_at};try{let b=await (0,x.listPreviousConversations)(ab,r,{exclude:af.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){bT.current=!1;return}aI(!0);let m=bM.current;m&&(m.style.overflowAnchor="none");let n=m?.scrollHeight??0;try{let b=[],c=[],l=20,o=!1,p=[];if(j){let a=i===af.id?await (0,y.getCachedMessagesBefore)(i,h.created_at,h.id,20,r):null;if(a)b=a.messages,l-=a.messages.length,o=a.hasMore;else{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=bX.current??{id:af.id,created_at:af.created_at};try{let b=await (0,x.listPreviousConversations)(ab,r,{exclude:af.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){bX.current=d;continue}let g=bX.current?.created_at??af.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,bX.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]}),aG(o),ai(a=>{let b=new Set(a.map(a=>a.id));return[...q.filter(a=>!b.has(a.id)),...a]})):aG(!1)}),q.length>0&&af){let a=q.filter(a=>a.conversation_id===af.id);a.length>0&&(0,y.mergeCachedMessages)(af.id,a,o,r).catch(()=>{})}if(bT.current=!1,(0,d.flushSync)(()=>aI(!1)),m)if(a)m.scrollTop=m.scrollHeight;else{let a=m.scrollHeight;m.scrollTop=a-n}}catch{D.toast.error("Failed to load older messages")}finally{bT.current=!1,aI(!1),bM.current&&(bM.current.style.overflowAnchor="")}},[af,r,ab,b6,b7,b9,ca,cb,b8]),cd=aF||bd.length>0||bf;(0,c.useEffect)(()=>{af?.id!==bZ.current&&(bZ.current=af?.id,bY.current=0)},[af?.id]),(0,c.useEffect)(()=>{aB||!af||ah.length>=10||!cd||aH||bY.current>=3||(bY.current+=1,cc(!0))},[aB,ah.length,cd,aH,af,cc]);let ce=(0,c.useCallback)(()=>{let a=bM.current;a&&(bU.current=a.scrollHeight-a.scrollTop-a.clientHeight<100)},[]),cf=(0,c.useCallback)((a,b,c)=>{bN.current&&clearInterval(bN.current),bQ.current=c??0,bR.current=0,aE(!1),bP.current=a,bN.current=setInterval(async()=>{if(bP.current===a)try{let[c,d]=await Promise.all([(0,x.getTask)(a,r),(0,x.getTaskMessages)(a,r,bQ.current||void 0)]),e=bP.current!==a;if(bR.current=0,aE(!1),d.length>0&&!e&&(aA(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}),bQ.current=Math.max(...d.map(a=>a.seq),bQ.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})=>{ai(b=>aq(b,a)),(0,y.mergeCachedMessages)(b,a,null,r).catch(()=>{})}).catch(()=>{});bN.current&&clearInterval(bN.current),bN.current=null,bO.current&&clearTimeout(bO.current),bO.current=setTimeout(()=>{(0,x.markInboxRead)(b,r).then(()=>b2.current()).catch(()=>{})},1e3);let d=!bV.current&&bU.current;try{let[a,d]=await Promise.all([(0,x.listMessages)(b,r),(0,x.listArtifacts)(b,r).catch(()=>null)]);ai(b=>aq(b,a.messages)),(0,y.mergeCachedMessages)(b,a.messages,null,r).catch(()=>{}),d&&aK(d),ay(c)}catch{ay(c),D.toast.error("Failed to refresh messages")}d&&requestAnimationFrame(()=>{bM.current?.scrollTo({top:bM.current.scrollHeight,behavior:"smooth"})}),setTimeout(async()=>{if(!bN.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);ai(b=>aq(b,a)),(0,y.mergeCachedMessages)(b,a,null,r).catch(()=>{}),ay(c),aA([]),bW.current?.(c.id,b)}}catch{}},1e3)}else e||ay(c)}catch{if(bP.current!==a)return;bR.current+=1,bR.current>=3&&aE(!0),bR.current>=10&&(bN.current&&clearInterval(bN.current),bN.current=null,D.toast.error("Lost connection to agent"))}},3e3)},[r]);(0,c.useEffect)(()=>{bW.current=cf},[cf]),(0,c.useEffect)(()=>()=>{bN.current&&clearInterval(bN.current),bO.current&&clearTimeout(bO.current)},[]);let cg=(0,c.useRef)(null);(0,c.useEffect)(()=>{cg.current=ax?.id??null},[ax]),(0,c.useEffect)(()=>Q(a=>{if("task.messages"===a.type&&a.taskId===cg.current){let b=a.messages.filter(a=>a.seq>bQ.current);b.length>0&&(aA(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}),bQ.current=Math.max(...b.map(a=>a.seq),bQ.current))}if("task.created"===a.type&&a.conversationId===af?.id){(0,x.listMessages)(a.conversationId,r).then(({messages:b})=>{ai(a=>aq(a,b)),(0,y.mergeCachedMessages)(a.conversationId,b,null,r).catch(()=>{})}).catch(()=>{});let b=a.task;cg.current=b.id,ay(b),aA([]),bQ.current=0,bW.current?.(b.id,a.conversationId)}if("conversation.message"===a.type&&a.conversationId===af?.id&&(ai(b=>aq(b,[a.message])),(0,y.appendCachedMessage)(a.conversationId,a.message,r).catch(()=>{})),"task.updated"===a.type&&a.taskId===cg.current&&ay(b=>b?{...b,status:a.status}:b),"artifact.uploaded"===a.type&&a.conversationId===af?.id&&aK(b=>b.some(b=>b.id===a.artifact.id)?b:[...b,a.artifact]),"followup.dispatched"===a.type&&a.conversationId===af?.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:b})=>{ai(a=>aq(a,b)),(0,y.mergeCachedMessages)(a.conversationId,b,null,r).catch(()=>{})}).catch(()=>{});let b=a.task;cg.current=b.id,ay(b),aA([]),bW.current?.(b.id,a.conversationId)}"followup.created"===a.type&&a.conversationId===af?.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===af?.id&&ba(b=>b.filter(b=>b.id!==a.messageId)),"followup.dispatch_failed"===a.type&&a.conversationId===af?.id&&D.toast.error(a.error||"Failed to dispatch follow-up")}),[Q,af?.id,r]);let ch=(0,c.useCallback)(a=>{let b=a.target.files;if(!b)return;let c=[];for(let a of Array.from(b))a.size>0xa00000?D.toast.error(`"${a.name}" exceeds 10 MB limit`):c.push(a);c.length>0&&a8(a=>[...a,...c]),a.target.value=""},[]),ci=(0,c.useCallback)(a=>{a8(b=>b.filter((b,c)=>c!==a))},[]),cj=(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",cj),()=>document.removeEventListener("selectionchange",cj)),[cj]);let ck=(0,c.useCallback)(()=>{bq&&(bp(bq.text),br(null),window.getSelection()?.removeAllRanges(),b_.current?.focus())},[bq]),[cl,cm]=(0,c.useState)(!1),cn=(0,c.useRef)(0),co=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),cn.current++,a.dataTransfer.types.includes("Files")&&cm(!0)},[]),cp=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),cn.current--,0===cn.current&&cm(!1)},[]),cq=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation()},[]),cr=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),cm(!1),cn.current=0;let b=Array.from(a.dataTransfer.files),c=[];for(let a of b)a.size>0xa00000?D.toast.error(`"${a.name}" exceeds 10 MB limit`):c.push(a);c.length>0&&a8(a=>[...a,...c])},[]),cs=(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?D.toast.error(`"${a.name}" exceeds 10 MB limit`):d.push(a);d.length>0&&a8(a=>[...a,...d])},[]),ct=async()=>{if(af&&!ap){aw(!0);try{let a=await (0,x.cancelActiveTask)(af.id,r);if(a){if(cg.current&&cg.current!==a.id)return;bN.current&&clearInterval(bN.current),bN.current=null;let[b,c]=await Promise.all([(0,x.listMessages)(af.id,r),(0,x.listBufferedMessages)(af.id,r)]);ai(a=>aq(a,b.messages)),(0,y.mergeCachedMessages)(af.id,b.messages,null,r).catch(()=>{}),ba(c),ay(a),aA([])}}catch{D.toast.error("Failed to cancel task")}finally{aw(!1)}}},cu=async()=>{let a=aj.trim();if(!a&&0===a7.length||am||!af)return;if(!a)return void D.toast.error("Please type a message");let b=bo?`> ${bo.split("\n").join("\n> ")}
|
|
2
2
|
|
|
3
|
-
${a}`:a,c=[...a7];if(ak(""),a8([]),bp(null),an(!0),ax&&!["completed","failed","cancelled","superseded"].includes(ax.status)){let a=`temp-${Date.now()}`,d={id:a,conversation_id:af.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)(af.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)),ak(b),a8(c),D.toast.error(d instanceof Error?d.message:"Failed to queue follow-up")}finally{an(!1)}return}let d=`temp-${Date.now()}`,e={id:d,conversation_id:af.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}),ai(a=>[...a,e]),b5();try{let{message:a,task:f}=await (0,x.sendMessage)(af.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}),ai(b=>b.map(b=>b.id===e.id?a:b)),a.attachment_ids&&a.attachment_ids.length>0&&(0,x.listArtifacts)(af.id,r).then(a=>aK(a)).catch(()=>{}),ay(f),aA([]),cj(f.id,af.id)}catch(a){bn(a=>{if(!a.has(d))return a;let b=new Map(a);return b.delete(d),b}),ai(a=>a.filter(a=>a.id!==e.id)),ak(b),a8(c),D.toast.error(a instanceof Error?a.message:"Failed to send message")}finally{an(!1),b3.current?.focus()}},cz=(0,c.useCallback)(async()=>{if(!ax||!af)return;let a=await (0,x.retryTask)(ax.id,r);ay(a),aA([]),cj(a.id,af.id)},[ax,af,r,cj]),cA=(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).then(()=>{bx()}).catch(()=>{bt(b=>new Set(b).add(a)),bv()})):(bv(),(0,x.flagMessage)(r,a).then(()=>{bx()}).catch(()=>{bt(b=>{let c=new Set(b);return c.delete(a),c}),bw()}))},[r,bv,bw,bx]),cB=(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){D.toast.error(a instanceof Error?a.message:"Failed to load issue"),aW(!1)}finally{a0(!1)}},[r]),cC=aZ?.issue?.conversation_id??null,cD=aZ?.issue?.latest_task_id??null;(0,c.useEffect)(()=>{if(aV&&aX)return Q(a=>{if("task.updated"===a.type&&cD&&a.taskId===cD&&(0,x.getTask)(cD,r).then(a=>a4(a)).catch(()=>{}),"conversation.message"===a.type&&cC&&a.conversationId===cC&&(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,cC,cD,r,Q]);let[cE,cF]=(0,c.useState)(!1),cG=(0,c.useMemo)(()=>!!af&&ah.some(a=>a.conversation_id===af.id),[af,ah]),cH=async()=>{if(af&&cG&&!cE){cF(!0);try{bR.current&&(clearInterval(bR.current),bR.current=null);let a=await (0,x.createConversation)(ab,r,V);bi(b=>[...b,{agentName:b9,created_at:a.created_at,id:`nap-${af.id}`}]),be(a=>[{id:af.id,created_at:af.created_at},...a]),ag(a),ay(null),aA([]),aK([]),ba([]),a8([]),bn(new Map),bU.current=0,aE(!1),aG(!1),b_.current=null,b5()}catch{D.toast.error("Failed to start new conversation")}finally{cF(!1)}}},cI=!!ax&&!["completed","failed","cancelled","superseded"].includes(ax.status);return aB?(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)(E.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)(E.Skeleton,{className:"h-4 w-72"}),(0,b.jsx)(E.Skeleton,{className:"h-4 w-56"}),(0,b.jsx)(E.Skeleton,{className:"h-4 w-64"})]})}),(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsx)(E.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)(E.Skeleton,{className:"h-4 w-64"}),(0,b.jsx)(E.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)(E.Skeleton,{className:"h-18 w-full rounded-xl"})})})]}):af?(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:co,children:[(0,b.jsx)(L,{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:bQ,onScroll:ci,onClick:a=>{a.target.closest('[data-streamdown="code-block-actions"] button')&&D.toast.success("Copied to clipboard")},children:(0,b.jsxs)("div",{className:"mx-auto max-w-2xl py-6 space-y-4 min-w-0",children:[ch&&!aH&&(0,b.jsx)("div",{className:"flex justify-center py-2",children:(0,b.jsx)("button",{onClick:()=>cg(),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"Load earlier messages"})}),aH&&(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===ah.length&&!ax&&(l=t.find(a=>a.id===ab),m=l?.created_at&&bl-new Date(l.created_at).getTime()<3e5,n=(v[ab]??0)>0,m&&n&&"default"===V?(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)(K.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."})),bN.map(a=>{if("nap"===a.kind)return(0,b.jsx)(at,{agentName:b9},a.data.id);if("artifact"===a.kind)return(0,b.jsx)(au,{artifact:a.data,version:bI.get(a.data.id)??1,hasDuplicates:bJ.has(a.data.filename),onClick:bO},`artifact-${a.data.id}`);let c=a.data;return(0,b.jsx)(al,{msg:c,agents:t,artifacts:aJ,activeTask:ax,taskMessages:az,connectionLost:aD,isLastMessage:ah.length>0&&ah[ah.length-1].id===c.id,stepCount:c.task_id?bj[c.task_id]??0:0,targetConvId:ae,workspaceId:r,conversationType:af?.type,pendingFilesByMessage:bm,onArtifactClick:bO,onEmailClick:a=>{aU(a),aS(!0)},onIssueClick:a=>cB(a),onRetry:cz,mentionComponents:ao,isFlagged:bs.has(c.id),onToggleFlag:"assistant"===c.role?cA:void 0},c.id)}),ax&&ax.conversation_id===af?.id&&!["completed","failed","cancelled","superseded"].includes(ax.status)&&(0,b.jsx)(w,{task:ax,messages:az,connectionLost:aD})]})}),(0,b.jsx)(_.ScrollToBottomButton,{scrollRef:bQ})]}),af&&(0,b.jsx)($,{bufferedMessages:a9,onDelete:a=>{ba(b=>b.filter(b=>b.id!==a)),(0,x.deleteBufferedMessage)(af.id,a,r).catch(()=>{ba(a9),D.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",am&&"opacity-50",cp&&"border-ring ring-3 ring-ring/50"),onDragEnter:cs,onDragLeave:ct,onDragOver:cu,onDrop:cv,children:[cp&&(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)(L,{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)(P.X,{className:"size-3.5"})})]}),(0,b.jsx)(R,{isOpen:b4.isOpen,relatedAgents:b4.relatedAgents,otherAgents:b4.otherAgents,selectedIndex:b4.selectedIndex,onSelect:b4.selectAgent,anchorPos:b4.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:aj?T(aj.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),t).replace(/<mention[^>]*>/g,'<span class="mention-highlight">').replace(/<\/mention>/g,"</span>")+(aj.endsWith("\n")?"\n":""):""}}),(0,b.jsx)("textarea",{ref:b3,value:aj,onChange:a=>{ak(a.target.value),bc(a.target.selectionStart),requestAnimationFrame(()=>{let b=a.target.previousElementSibling;b&&(b.scrollTop=a.target.scrollTop)})},onKeyDown:a=>{!b4.handleMentionKeyDown(a)&&("Enter"!==a.key||a.shiftKey||a.nativeEvent.isComposing||(a.preventDefault(),cy()))},onPaste:cw,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:cI?"Type a follow-up...":"Type a message...",rows:1,disabled:am,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)(J.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,U.formatSize)(a.size)}),(0,b.jsx)("button",{type:"button",onClick:()=>cm(c),className:"ml-0.5 rounded-sm p-0.5 hover:bg-muted-foreground/20 transition-colors",children:(0,b.jsx)(P.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:[!ae&&(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.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:cH,disabled:cE||!af||!cG||cI,className:"rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200",children:cE?(0,b.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(H,{className:"size-3.5"})})})}),(0,b.jsx)(F.TooltipContent,{side:"top",children:cI?"Wait for the task to finish":cG?"Take a nap":`${b9} is well-rested and ready to go`})]}),(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsxs)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onClick:()=>{aQ("agent"),aM(!0)},className:"relative rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:[(0,b.jsx)(I,{className:"size-3.5"}),bH.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:bH.length})]}),(0,b.jsx)(F.TooltipContent,{side:"top",children:"Artifacts"})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsx)("input",{ref:b2,type:"file",multiple:!0,className:"hidden",onChange:cl}),(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onPointerDown:a=>a.preventDefault(),onClick:()=>b2.current?.click(),disabled:am,className:"rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:(0,b.jsx)(N.Paperclip,{className:"size-3.5"})}),(0,b.jsx)(F.TooltipContent,{side:"top",children:"Attach files"})]}),bF&&(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onPointerDown:a=>a.preventDefault(),onClick:bG,disabled:am,className:(0,i.cn)("rounded-lg transition-colors duration-200",bE?"text-red-500 hover:text-red-600 bg-red-500/10":"text-muted-foreground/60 hover:text-foreground")}),children:(0,b.jsx)(M,{className:(0,i.cn)("size-3.5",bE&&"animate-pulse")})}),(0,b.jsx)(F.TooltipContent,{side:"top",children:bE?"Stop recording":"Voice input"})]}),!cI||aj.trim()||am?(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{size:"icon-sm",onClick:cy,disabled:!aj.trim()||am,className:(0,i.cn)("rounded-lg transition-opacity duration-200",!aj.trim()&&"opacity-40")}),children:am?(0,b.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(G.ArrowUp,{className:"size-3.5"})}),(0,b.jsx)(F.TooltipContent,{side:"top",children:"Send"})]}):(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{size:"icon-sm",onClick:cx,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)(O.Square,{className:"size-3.5 fill-current"})}),(0,b.jsx)(F.TooltipContent,{side:"top",children:"Stop task"})]})]})]})]})})}),(0,b.jsx)(U.ArtifactSheet,{open:aL,onOpenChange:a=>{aM(a),a||setTimeout(()=>{aO(null),aQ(null)},300)},artifacts:bK,workspaceId:r,initialArtifact:aN,versionMap:bL,duplicateFilenames:bM}),(0,b.jsx)(X,{open:aR,onOpenChange:a=>{aS(a),a||setTimeout(()=>aU(null),300)},emailId:aT,workspaceId:r}),(0,b.jsx)(Y.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){D.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){D.toast.error(a instanceof Error?a.message:"Failed to update status")}},onCommented:()=>{aX&&cB(aX)},onArtifactClick:bP})]}):(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=[...a7];if(ak(""),a8([]),bp(null),an(!0),ax&&!["completed","failed","cancelled","superseded"].includes(ax.status)){let a=`temp-${Date.now()}`,d={id:a,conversation_id:af.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)(af.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)),ak(b),a8(c),D.toast.error(d instanceof Error?d.message:"Failed to queue follow-up")}finally{an(!1)}return}let d=`temp-${Date.now()}`,e={id:d,conversation_id:af.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}),ai(a=>[...a,e]),b1();try{let{message:a,task:f}=await (0,x.sendMessage)(af.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}),ai(b=>b.map(b=>b.id===e.id?a:b)),a.attachment_ids&&a.attachment_ids.length>0&&(0,x.listArtifacts)(af.id,r).then(a=>aK(a)).catch(()=>{}),ay(f),aA([]),cf(f.id,af.id)}catch(a){bn(a=>{if(!a.has(d))return a;let b=new Map(a);return b.delete(d),b}),ai(a=>a.filter(a=>a.id!==e.id)),ak(b),a8(c),D.toast.error(a instanceof Error?a.message:"Failed to send message")}finally{an(!1),b_.current?.focus()}},cv=(0,c.useCallback)(async()=>{if(!ax||!af)return;let a=await (0,x.retryTask)(ax.id,r);ay(a),aA([]),cf(a.id,af.id)},[ax,af,r,cf]),cw=(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).then(()=>{bx()}).catch(()=>{bt(b=>new Set(b).add(a)),bv()})):(bv(),(0,x.flagMessage)(r,a).then(()=>{bx()}).catch(()=>{bt(b=>{let c=new Set(b);return c.delete(a),c}),bw()}))},[r,bv,bw,bx]),cx=(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){D.toast.error(a instanceof Error?a.message:"Failed to load issue"),aW(!1)}finally{a0(!1)}},[r]),cy=aZ?.issue?.conversation_id??null,cz=aZ?.issue?.latest_task_id??null;(0,c.useEffect)(()=>{if(aV&&aX)return Q(a=>{if("task.updated"===a.type&&cz&&a.taskId===cz&&(0,x.getTask)(cz,r).then(a=>a4(a)).catch(()=>{}),"conversation.message"===a.type&&cy&&a.conversationId===cy&&(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,cy,cz,r,Q]);let[cA,cB]=(0,c.useState)(!1),cC=(0,c.useMemo)(()=>!!af&&ah.some(a=>a.conversation_id===af.id),[af,ah]),cD=async()=>{if(af&&cC&&!cA){cB(!0);try{bN.current&&(clearInterval(bN.current),bN.current=null);let a=await (0,x.createConversation)(ab,r,V);bi(b=>[...b,{agentName:b5,created_at:a.created_at,id:`nap-${af.id}`}]),be(a=>[{id:af.id,created_at:af.created_at},...a]),ag(a),ay(null),aA([]),aK([]),ba([]),a8([]),bn(new Map),bQ.current=0,aE(!1),aG(!1),bX.current=null,b1()}catch{D.toast.error("Failed to start new conversation")}finally{cB(!1)}}},cE=!!ax&&!["completed","failed","cancelled","superseded"].includes(ax.status);return aB?(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)(E.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)(E.Skeleton,{className:"h-4 w-72"}),(0,b.jsx)(E.Skeleton,{className:"h-4 w-56"}),(0,b.jsx)(E.Skeleton,{className:"h-4 w-64"})]})}),(0,b.jsx)("div",{className:"flex justify-end",children:(0,b.jsx)(E.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)(E.Skeleton,{className:"h-4 w-64"}),(0,b.jsx)(E.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)(E.Skeleton,{className:"h-18 w-full rounded-xl"})})})]}):af?(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:ck,children:[(0,b.jsx)(L,{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:bM,onScroll:ce,onClick:a=>{a.target.closest('[data-streamdown="code-block-actions"] button')&&D.toast.success("Copied to clipboard")},children:(0,b.jsxs)("div",{className:"mx-auto max-w-2xl py-6 space-y-4 min-w-0",children:[cd&&!aH&&(0,b.jsx)("div",{className:"flex justify-center py-2",children:(0,b.jsx)("button",{onClick:()=>cc(),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"Load earlier messages"})}),aH&&(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===ah.length&&!ax&&(l=t.find(a=>a.id===ab),m=l?.created_at&&bl-new Date(l.created_at).getTime()<3e5,n=(v[ab]??0)>0,m&&n&&"default"===V?(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)(K.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."})),bJ.map(a=>{if("nap"===a.kind)return(0,b.jsx)(at,{agentName:b5},a.data.id);if("artifact"===a.kind)return(0,b.jsx)(au,{artifact:a.data,version:bE.get(a.data.id)??1,hasDuplicates:bF.has(a.data.filename),onClick:bK},`artifact-${a.data.id}`);let c=a.data;return(0,b.jsx)(al,{msg:c,agents:t,artifacts:aJ,activeTask:ax,taskMessages:az,connectionLost:aD,isLastMessage:ah.length>0&&ah[ah.length-1].id===c.id,stepCount:c.task_id?bj[c.task_id]??0:0,targetConvId:ae,workspaceId:r,conversationType:af?.type,pendingFilesByMessage:bm,onArtifactClick:bK,onEmailClick:a=>{aU(a),aS(!0)},onIssueClick:a=>cx(a),onRetry:cv,mentionComponents:ao,isFlagged:bs.has(c.id),onToggleFlag:"assistant"===c.role?cw:void 0},c.id)}),ax&&ax.conversation_id===af?.id&&!["completed","failed","cancelled","superseded"].includes(ax.status)&&(0,b.jsx)(w,{task:ax,messages:az,connectionLost:aD})]})}),(0,b.jsx)(_.ScrollToBottomButton,{scrollRef:bM})]}),af&&(0,b.jsx)($,{bufferedMessages:a9,onDelete:a=>{ba(b=>b.filter(b=>b.id!==a)),(0,x.deleteBufferedMessage)(af.id,a,r).catch(()=>{ba(a9),D.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",am&&"opacity-50",cl&&"border-ring ring-3 ring-ring/50"),onDragEnter:co,onDragLeave:cp,onDragOver:cq,onDrop:cr,children:[cl&&(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)(L,{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)(P.X,{className:"size-3.5"})})]}),(0,b.jsx)(R,{isOpen:b0.isOpen,relatedAgents:b0.relatedAgents,otherAgents:b0.otherAgents,selectedIndex:b0.selectedIndex,onSelect:b0.selectAgent,anchorPos:b0.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:aj?T(aj.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),t).replace(/<mention[^>]*>/g,'<span class="mention-highlight">').replace(/<\/mention>/g,"</span>")+(aj.endsWith("\n")?"\n":""):""}}),(0,b.jsx)("textarea",{ref:b_,value:aj,onChange:a=>{ak(a.target.value),bc(a.target.selectionStart),requestAnimationFrame(()=>{let b=a.target.previousElementSibling;b&&(b.scrollTop=a.target.scrollTop)})},onKeyDown:a=>{!b0.handleMentionKeyDown(a)&&("Enter"!==a.key||a.shiftKey||a.nativeEvent.isComposing||(a.preventDefault(),cu()))},onPaste:cs,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:cE?"Type a follow-up...":"Type a message...",rows:1,disabled:am,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)(J.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,U.formatSize)(a.size)}),(0,b.jsx)("button",{type:"button",onClick:()=>ci(c),className:"ml-0.5 rounded-sm p-0.5 hover:bg-muted-foreground/20 transition-colors",children:(0,b.jsx)(P.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:[!ae&&(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.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:cD,disabled:cA||!af||!cC||cE,className:"rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200",children:cA?(0,b.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(H,{className:"size-3.5"})})})}),(0,b.jsx)(F.TooltipContent,{side:"top",children:cE?"Wait for the task to finish":cC?"Take a nap":`${b5} is well-rested and ready to go`})]}),(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsxs)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onClick:()=>{aQ("agent"),aM(!0)},className:"relative rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:[(0,b.jsx)(I,{className:"size-3.5"}),bD.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:bD.length})]}),(0,b.jsx)(F.TooltipContent,{side:"top",children:"Artifacts"})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsx)("input",{ref:b$,type:"file",multiple:!0,className:"hidden",onChange:ch}),(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onPointerDown:a=>a.preventDefault(),onClick:()=>b$.current?.click(),disabled:am,className:"rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:(0,b.jsx)(N.Paperclip,{className:"size-3.5"})}),(0,b.jsx)(F.TooltipContent,{side:"top",children:"Attach files"})]}),bB&&(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-sm",onPointerDown:a=>a.preventDefault(),onClick:bC,disabled:am,className:(0,i.cn)("rounded-lg transition-colors duration-200",bA?"text-red-500 hover:text-red-600 bg-red-500/10":"text-muted-foreground/60 hover:text-foreground")}),children:(0,b.jsx)(M,{className:(0,i.cn)("size-3.5",bA&&"animate-pulse")})}),(0,b.jsx)(F.TooltipContent,{side:"top",children:bA?"Stop recording":"Voice input"})]}),!cE||aj.trim()||am?(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{size:"icon-sm",onClick:cu,disabled:!aj.trim()||am,className:(0,i.cn)("rounded-lg transition-opacity duration-200",!aj.trim()&&"opacity-40")}),children:am?(0,b.jsx)(p.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(G.ArrowUp,{className:"size-3.5"})}),(0,b.jsx)(F.TooltipContent,{side:"top",children:"Send"})]}):(0,b.jsxs)(F.Tooltip,{children:[(0,b.jsx)(F.TooltipTrigger,{render:(0,b.jsx)(g.Button,{size:"icon-sm",onClick:ct,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)(O.Square,{className:"size-3.5 fill-current"})}),(0,b.jsx)(F.TooltipContent,{side:"top",children:"Stop task"})]})]})]})]})})}),(0,b.jsx)(U.ArtifactSheet,{open:aL,onOpenChange:a=>{aM(a),a||setTimeout(()=>{aO(null),aQ(null)},300)},artifacts:bG,workspaceId:r,initialArtifact:aN,versionMap:bH,duplicateFilenames:bI}),(0,b.jsx)(X,{open:aR,onOpenChange:a=>{aS(a),a||setTimeout(()=>aU(null),300)},emailId:aT,workspaceId:r}),(0,b.jsx)(Y.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){D.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){D.toast.error(a instanceof Error?a.message:"Failed to update status")}},onCommented:()=>{aX&&cx(aX)},onArtifactClick:bL})]}):(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_0~23g-y._.js.map
|