@alook/app 0.0.84 → 0.0.85
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/email-worker/index.js +6 -0
- package/bundled/email-worker/wrangler.toml +3 -0
- package/bundled/web/.open-next/.build/durable-objects/queue.js +5 -5
- package/bundled/web/.open-next/assets/BUILD_ID +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0-iq3n0xk3eip.js +3 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0d..9l~-zlc8y.js +60 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0dws~l.0e81v2.css +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/{0~xam~jpkm~vn.js → 0h4ll.t5at.ac.js} +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0h5tl-yh9wijv.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0ku92fo7c687y.js +3 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0madzro0r0v7m.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0tvembqw.e82g.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0yhw7i91nm01l.js +1 -0
- package/bundled/web/.open-next/assets/_next/static/chunks/0zz2mxapzj90g.js +63 -0
- package/bundled/web/.open-next/cache/{uqh7k2CfR4q4Ho7LkspzI → B9spjQ7Fv9GOPnAmBxyfG}/_global-error.cache +1 -1
- package/bundled/web/.open-next/cache/{uqh7k2CfR4q4Ho7LkspzI → B9spjQ7Fv9GOPnAmBxyfG}/_not-found.cache +1 -1
- package/bundled/web/.open-next/cache/{uqh7k2CfR4q4Ho7LkspzI → B9spjQ7Fv9GOPnAmBxyfG}/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 +4 -4
- 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/required-server-files.json +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/invite/[token]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/studio/new/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/activity/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/[convId]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/email/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/files/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/meetings/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/new/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/calendar/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/flags/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/help/email-setup/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/home/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/issues/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/runtimes/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/settings/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/threads/[traceId]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/threads/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/unread/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/workspaces/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(auth)/sign-in/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/calendar/[id]/route.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/api/calendar/route.js +4 -4
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/[id]/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/page_client-reference-manifest.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0.1vmoe._.js +5 -5
- 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]__027mioa._.js +6 -6
- 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]__0grx101._.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]__0m_ya4f._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0niqi98._.js +5 -5
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[turbopack]_runtime.js +8 -8
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0-7a9se._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_007pf4f._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0266t8u._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_037ndoa._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_04gp_km._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_05zp0zn._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_091mubc._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_09j_99x._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0aveiot._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0cji8yc._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0drn_ol._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0exm5_w._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0f.tk9k._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0g1_3hn._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0h3guve._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0h_dgb9._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0hxvvdy._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0ke5r~m._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0l0biq~._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0oyl16-._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0pt9vvp._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0w6dw.t._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_12gxjds._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_13hlohp._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/src_0mko5ir._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__03yopx2._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[turbopack]_runtime.js +8 -8
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_015fu61._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0tu039y._.js → _01opi~8._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_11h_8jo._.js → _02ui5fr._.js} +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_063q-hj._.js +2 -2
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0ktjqeo._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0sh5zo0._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0t5o.14._.js +65 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_12e18r-._.js +2 -2
- 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]_agents_[id]_meetings_page_tsx_073~u~-._.js +3 -0
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_app_(app)_w_[slug]_calendar_page_tsx_01geiyd._.js +1 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/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 +69 -69
- package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +202 -202
- package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +4 -4
- package/bundled/ws-do/index.js +6 -0
- package/dist/cli/index.js +11 -0
- package/dist/cli/session-runner.js +11 -0
- package/dist/index.js +14 -2
- package/package.json +1 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/03s92jcv9_0ve.css +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0aedy~23652fn.js +0 -63
- package/bundled/web/.open-next/assets/_next/static/chunks/0dbw1te5ym2kd.js +0 -2
- package/bundled/web/.open-next/assets/_next/static/chunks/0e32q02m3ewux.js +0 -3
- package/bundled/web/.open-next/assets/_next/static/chunks/0e3fj46r9j0os.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/0j2~fioc-ekva.js +0 -59
- package/bundled/web/.open-next/assets/_next/static/chunks/0jahw0dpk9vgc.js +0 -3
- package/bundled/web/.open-next/assets/_next/static/chunks/10y9irnmfgbfy.js +0 -1
- package/bundled/web/.open-next/assets/_next/static/chunks/15lauqmpngfj2.js +0 -1
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/01k0_lucide-react_dist_esm_icons_clock_mjs_05q1~5y._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__0esiqa8._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0st8pau._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0xg~7mg._.js +0 -3
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0y3mwm6._.js +0 -65
- package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_11~t2ti._.js +0 -3
- /package/bundled/web/.open-next/assets/_next/static/{uqh7k2CfR4q4Ho7LkspzI → B9spjQ7Fv9GOPnAmBxyfG}/_buildManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{uqh7k2CfR4q4Ho7LkspzI → B9spjQ7Fv9GOPnAmBxyfG}/_clientMiddlewareManifest.js +0 -0
- /package/bundled/web/.open-next/assets/_next/static/{uqh7k2CfR4q4Ho7LkspzI → B9spjQ7Fv9GOPnAmBxyfG}/_ssgManifest.js +0 -0
- /package/bundled/web/.open-next/cache/{uqh7k2CfR4q4Ho7LkspzI → B9spjQ7Fv9GOPnAmBxyfG}/robots.txt.cache +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,527746,e=>{"use strict";var t=e.i(368075),s=e.i(298699),a=e.i(208020),i=e.i(500324),n=e.i(186339),l=e.i(875061),r=e.i(332680),c=e.i(393153),o=e.i(728886),d=e.i(147881),u=e.i(949035),m=e.i(745925),x=e.i(541544),p=e.i(313101),g=e.i(108281),h=e.i(371522),f=e.i(676214);let j=(0,e.i(406963).default)("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);var v=e.i(880932),b=e.i(613349),N=e.i(222862);let y={pending:{label:"Pending",variant:"outline",icon:p.Clock},scheduled:{label:"Scheduled",variant:"secondary",icon:p.Clock},joining:{label:"Joining...",variant:"default",icon:h.Loader2},recording:{label:"Recording",variant:"default",icon:d.Video},completed:{label:"Completed",variant:"secondary",icon:x.Check},failed:{label:"Failed",variant:"destructive",icon:g.AlertCircle}};function k({status:e}){let s=y[e]??y.pending,a=s.icon;return(0,t.jsxs)(l.Badge,{variant:s.variant,className:"gap-1 text-[10px]",children:[(0,t.jsx)(a,{className:(0,b.cn)("size-2.5","joining"===e&&"animate-spin","recording"===e&&"animate-pulse")}),s.label]})}function C(e){return e?new Date(e).toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):""}e.s(["default",0,function(){let e=(0,a.useParams)().id,{workspaceId:l}=(0,i.useWorkspace)(),[x,p]=(0,s.useState)([]),[g,y]=(0,s.useState)(!0),[S,M]=(0,s.useState)(!1),[w,z]=(0,s.useState)(!1),[B,_]=(0,s.useState)(null),[F,T]=(0,s.useState)(!1),[P,J]=(0,s.useState)(""),[R,U]=(0,s.useState)(""),[A,L]=(0,s.useState)(""),O=(0,s.useCallback)(async()=>{try{let t=await (0,N.listMeetings)(e,l);p(t)}catch{v.toast.error("Failed to load meetings")}finally{y(!1)}},[e,l]);(0,s.useEffect)(()=>{let t=!1;return(0,N.listMeetings)(e,l).then(e=>{t||(p(e),y(!1))}).catch(()=>{t||(v.toast.error("Failed to load meetings"),y(!1))}),()=>{t=!0}},[e,l]),(0,s.useEffect)(()=>{if(!x.some(e=>"joining"===e.status||"recording"===e.status))return;let e=setInterval(O,5e3);return()=>clearInterval(e)},[x,O]);let D=async()=>{if(P){z(!0);try{let t=A.split(/[,\n]/).map(e=>e.trim()).filter(Boolean);await (0,N.createMeeting)(e,l,{meetingUrl:P,title:R||void 0,participants:t.length>0?t:void 0}),v.toast.success("Meeting created"),M(!1),J(""),U(""),L(""),O()}catch(e){v.toast.error(e instanceof Error?e.message:"Failed to create meeting")}finally{z(!1)}}},E=async t=>{try{await (0,N.stopMeeting)(e,t.id,l),v.toast.success("Meeting stopped"),O()}catch{v.toast.error("Failed to stop meeting")}},V=async t=>{try{await (0,N.approveMeeting)(e,t.id,l),v.toast.success("Meeting approved"),O()}catch{v.toast.error("Failed to approve meeting")}},G=async()=>{if(B){T(!0);try{await (0,N.deleteMeeting)(e,B.id,l),v.toast.success("Meeting deleted"),_(null),O()}catch{v.toast.error("Failed to delete meeting")}finally{T(!1)}}};return(0,t.jsxs)("div",{className:"flex-1 flex flex-col min-h-0",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border/50",children:[(0,t.jsx)("h2",{className:"text-sm font-medium",children:"Meetings"}),(0,t.jsxs)(n.Button,{size:"sm",onClick:()=>M(!0),className:"gap-1",children:[(0,t.jsx)(u.Plus,{className:"size-3"}),"Join Meeting"]})]}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto thin-scrollbar",children:g?(0,t.jsx)("div",{className:"p-4 space-y-3",children:[1,2,3].map(e=>(0,t.jsx)(o.Skeleton,{className:"h-16 w-full rounded-lg"},e))}):0===x.length?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground gap-2 p-8",children:[(0,t.jsx)(d.Video,{className:"size-8 opacity-40"}),(0,t.jsx)("p",{className:"text-sm",children:"No meetings yet"}),(0,t.jsx)("p",{className:"text-xs",children:"Join a Google Meet to start recording transcripts."})]}):(0,t.jsx)("div",{className:"p-2 space-y-1",children:x.map(e=>(0,t.jsxs)("div",{className:(0,b.cn)("flex items-center gap-3 rounded-lg border border-border/50 px-3 py-2.5 transition-colors","pending"===e.status&&!e.is_whitelisted&&"opacity-60"),children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-0.5",children:[(0,t.jsx)("span",{className:"text-sm font-medium truncate",children:e.title||"Untitled Meeting"}),(0,t.jsx)(k,{status:e.status})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,t.jsx)("span",{className:"truncate",children:e.meeting_url.replace("https://","")}),e.scheduled_at&&(0,t.jsx)("span",{className:"shrink-0",children:C(e.scheduled_at)}),e.started_at&&!e.completed_at&&(0,t.jsxs)("span",{className:"shrink-0",children:["Started ",C(e.started_at)]}),e.completed_at&&(0,t.jsx)("span",{className:"shrink-0",children:C(e.completed_at)}),e.participants?.length>0&&(0,t.jsxs)("span",{className:"shrink-0",children:[e.participants.length," participants"]})]}),e.error&&(0,t.jsx)("p",{className:"text-xs text-destructive mt-1 truncate",children:e.error})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:["pending"===e.status&&(0,t.jsxs)(n.Button,{variant:"outline",size:"xs",className:"gap-1",onClick:()=>V(e),children:[(0,t.jsx)(j,{className:"size-3"}),"Approve"]}),("recording"===e.status||"joining"===e.status)&&(0,t.jsxs)(n.Button,{variant:"outline",size:"xs",className:"gap-1 text-destructive",onClick:()=>E(e),children:[(0,t.jsx)(m.Square,{className:"size-3"}),"Stop"]}),(0,t.jsx)(n.Button,{variant:"ghost",size:"icon-sm",className:"text-muted-foreground hover:text-destructive",onClick:()=>_(e),children:(0,t.jsx)(f.Trash2,{className:"size-3"})})]})]},e.id))})}),(0,t.jsx)(r.Sheet,{open:S,onOpenChange:M,children:(0,t.jsxs)(r.SheetContent,{children:[(0,t.jsx)(r.SheetHeader,{children:(0,t.jsx)(r.SheetTitle,{children:"Join a Meeting"})}),(0,t.jsxs)(r.SheetBody,{className:"space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground mb-1 block",children:"Google Meet URL *"}),(0,t.jsx)("input",{type:"url",placeholder:"https://meet.google.com/abc-defg-hij",value:P,onChange:e=>J(e.target.value),className:"w-full rounded-md border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-1 focus:ring-ring"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground mb-1 block",children:"Title"}),(0,t.jsx)("input",{type:"text",placeholder:"Weekly Standup",value:R,onChange:e=>U(e.target.value),className:"w-full rounded-md border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-1 focus:ring-ring"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground mb-1 block",children:"Participants (one email per line)"}),(0,t.jsx)("textarea",{placeholder:"alice@example.com\nbob@example.com",value:A,onChange:e=>L(e.target.value),rows:3,className:"w-full rounded-md border border-border bg-background px-3 py-2 text-sm outline-none focus:ring-1 focus:ring-ring resize-none"})]})]}),(0,t.jsxs)(r.SheetFooter,{children:[(0,t.jsx)(n.Button,{variant:"outline",onClick:()=>M(!1),children:"Cancel"}),(0,t.jsxs)(n.Button,{onClick:D,disabled:w||!P,children:[w&&(0,t.jsx)(h.Loader2,{className:"size-3 animate-spin"}),"Join Meeting"]})]})]})}),(0,t.jsx)(c.ConfirmDialog,{open:!!B,onOpenChange:e=>!e&&_(null),title:"Delete meeting",description:`Remove "${B?.title||"this meeting"}" and its transcript?`,loading:F,onConfirm:G})]})}],527746)}]);
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,875494,685835,e=>{"use strict";var t=e.i(368075),s=e.i(298699),a=e.i(222862),n=e.i(355578),r=e.i(500324),l=e.i(980630);let i="inbox-filter-types",o=["user_dm_message","calendar_event","email_notification"],c=["user_dm_message"],d=["user_dm_message"];function u(){try{let e=localStorage.getItem(i);if(!e)return c;let t=JSON.parse(e).filter(e=>o.includes(e));if(0===t.length)return c;for(let e of d)t.includes(e)||t.unshift(e);return t}catch{return c}}e.s(["INBOX_FILTER_LABELS",0,{user_dm_message:"DM",calendar_event:"Calendar",email_notification:"Email"},"INBOX_FILTER_TYPES",0,o,"MANDATORY_INBOX_TYPES",0,d,"getInboxFilterTypes",0,u,"setInboxFilterTypes",0,function(e){let t=[...e];for(let e of d)t.includes(e)||t.unshift(e);localStorage.setItem(i,JSON.stringify(t))}],685835);let m=(0,s.createContext)(null);e.s(["InboxCountProvider",0,function({children:e}){let{workspaceId:i}=(0,r.useWorkspace)(),{subscribeWs:o,agents:c}=(0,n.useAgentContext)(),[d,h]=(0,s.useState)(0),p=(0,s.useRef)(null),g=(0,s.useRef)(null),f=(0,s.useRef)(c);(0,s.useEffect)(()=>{f.current=c});let x=(0,s.useCallback)(()=>{let e=u();(0,a.getInboxCount)(i,{types:e}).then(e=>{let t=p.current;if(p.current=e.count,h(e.count),null!==t&&e.count>t){let e=g.current?f.current.find(e=>e.id===g.current):void 0;(0,l.sendTaskNotification)("completed",e?.name)}g.current=null}).catch(()=>{})},[i]),v=(0,s.useCallback)(()=>{h(e=>{let t=Math.max(0,e-1);return p.current=t,t})},[]);return(0,s.useEffect)(()=>{x()},[x]),(0,s.useEffect)(()=>o(e=>{"task.updated"===e.type&&("completed"===e.status||"failed"===e.status)&&(g.current=e.agentId,x())}),[o,x]),(0,s.useEffect)(()=>{let e=setInterval(x,6e4);return()=>clearInterval(e)},[x]),(0,t.jsx)(m.Provider,{value:{count:d,refresh:x,decrement:v},children:e})},"useInboxCount",0,function(){let e=(0,s.useContext)(m);if(!e)throw Error("useInboxCount must be used within InboxCountProvider");return e}],875494)},74348,e=>{"use strict";var t=e.i(368075),s=e.i(298699),a=e.i(222862),n=e.i(500324);let r=(0,s.createContext)(null);e.s(["FlagCountProvider",0,function({children:e}){let{workspaceId:l}=(0,n.useWorkspace)(),[i,o]=(0,s.useState)(0),c=(0,s.useCallback)(()=>{(0,a.getFlaggedCount)(l).then(e=>o(e.count)).catch(()=>{})},[l]),d=(0,s.useCallback)(()=>{o(e=>e+1)},[]),u=(0,s.useCallback)(()=>{o(e=>Math.max(0,e-1))},[]);return(0,s.useEffect)(()=>{c()},[c]),(0,t.jsx)(r.Provider,{value:{count:i,refresh:c,increment:d,decrement:u},children:e})},"useFlagCount",0,function(){let e=(0,s.useContext)(r);if(!e)throw Error("useFlagCount must be used within FlagCountProvider");return e}])},49879,618615,844010,e=>{"use strict";e.s(["AgentChatView",()=>e_,"getEventIconType",()=>ej],49879);var t=e.i(368075),s=e.i(298699),a=e.i(550008),n=e.i(208020),r=e.i(500324),l=e.i(186339),i=e.i(875061),o=e.i(613349),c=e.i(541544),d=e.i(64873),u=e.i(406963);let m=(0,u.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 h=e.i(108281),p=e.i(140483),g=e.i(371522);e.i(112946);var f=e.i(164300);function x(e){return e.replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase())}let v=new Set(["status","log"]);function y({item:e,isRunning:a,isLast:n}){let r=(0,s.useMemo)(()=>{if(!e.input)return null;try{return JSON.stringify(e.input,null,2)}catch{return String(e.input)}},[e.input]);return r?(0,t.jsxs)("details",{className:"group/tool",children:[(0,t.jsxs)("summary",{className:(0,o.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md cursor-pointer select-none","text-sm text-muted-foreground transition-colors duration-150","hover:bg-muted/60 hover:text-foreground","[&::-webkit-details-marker]:hidden [&::marker]:hidden"),children:[(0,t.jsx)(d.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/tool:rotate-90"}),(0,t.jsx)("span",{className:"font-medium text-foreground/80",children:x(e.tool)}),a&&n&&(0,t.jsx)("span",{className:"ml-auto size-1.5 rounded-full bg-primary/60 animate-pulse"}),a&&!n&&(0,t.jsx)(c.Check,{className:"ml-auto size-3 text-emerald-500"})]}),(0,t.jsx)("div",{className:"mt-1 mb-2 ml-5",children:(0,t.jsx)("pre",{className:"task-stream-pre overflow-x-auto rounded-md bg-muted/40 p-2.5 font-mono text-xs leading-relaxed text-muted-foreground max-h-48 max-w-full min-w-0 overflow-y-auto",children:r})})]}):(0,t.jsxs)("div",{className:(0,o.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md","text-sm text-muted-foreground"),children:[(0,t.jsx)("span",{className:"font-medium text-foreground/80",children:x(e.tool)}),a&&n&&(0,t.jsx)("span",{className:"ml-auto size-1.5 rounded-full bg-primary/60 animate-pulse"}),a&&!n&&(0,t.jsx)(c.Check,{className:"ml-auto size-3 text-emerald-500"})]})}function j({item:e}){return e.content?(0,t.jsxs)("details",{className:"group/think",children:[(0,t.jsxs)("summary",{className:(0,o.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md cursor-pointer select-none","text-sm text-muted-foreground/60 italic transition-colors duration-150","hover:bg-muted/60 hover:text-muted-foreground","[&::-webkit-details-marker]:hidden [&::marker]:hidden"),children:[(0,t.jsx)(d.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/40 transition-transform duration-150 group-open/think:rotate-90"}),(0,t.jsx)(m,{className:"size-3 shrink-0"}),(0,t.jsx)("span",{children:"Thinking..."})]}),(0,t.jsx)("div",{className:"mt-1 mb-2 ml-5",children:(0,t.jsx)("p",{className:"text-sm italic text-muted-foreground/60 whitespace-pre-wrap",children:e.content})})]}):(0,t.jsxs)("div",{className:(0,o.cn)("flex items-center gap-2 py-1 px-2 -mx-2 rounded-md","text-sm text-muted-foreground/60 italic"),children:[(0,t.jsx)(m,{className:"size-3 shrink-0"}),(0,t.jsx)("span",{children:"Thinking..."})]})}function k({value:e}){let a=(0,s.useRef)(e),[n,r]=(0,s.useState)({current:e,previous:null}),[l,i]=(0,s.useState)("idle");return(0,s.useEffect)(()=>{if(e===a.current)return;let t=a.current;a.current=e,r({current:e,previous:t}),requestAnimationFrame(()=>{requestAnimationFrame(()=>{i("animating")})});let s=setTimeout(()=>{i("idle"),r(e=>({...e,previous:null}))},300);return()=>clearTimeout(s)},[e]),(0,t.jsxs)("span",{style:{display:"inline-block",position:"relative",overflow:"hidden",height:"1.2em",lineHeight:"1.2em",verticalAlign:"bottom"},children:[null!==n.previous&&(0,t.jsx)("span",{style:{display:"block",position:"absolute",inset:"0",transition:"animating"===l?"transform 250ms ease-out, opacity 250ms ease-out":"none",transform:"animating"===l?"translateY(-100%)":"translateY(0)",opacity:+("animating"!==l)},children:n.previous}),(0,t.jsx)("span",{style:{display:"block",transition:"animating"===l?"transform 250ms ease-out, opacity 250ms ease-out":"none",transform:null!==n.previous&&"animating"!==l?"translateY(100%)":"translateY(0)",opacity:+(null===n.previous||"animating"===l)},children:n.current})]})}function b({task:e,messages:a,connectionLost:n,onRetry:r,stepCountHint:l,onExpandSteps:c,stepsLoading:u}){let[m,x]=(0,s.useState)(!1),w=(0,s.useMemo)(()=>(function(e){let t=[],s=new Map;for(let a of e){if(v.has(a.type))continue;let e=a.id||`seq-${a.seq}`;switch(a.type){case"tool-use":{let n=a.call_id,r={kind:"tool-call",id:e,tool:a.tool,input:a.input};n&&s.set(n,r),t.push(r);break}case"tool-result":break;case"text":t.push({kind:"text",id:e,content:a.content});break;case"thinking":t.push({kind:"thinking",id:e,content:a.content});break;case"error":t.push({kind:"status",id:e,content:a.content||a.output,type:"error"})}}return t})(a),[a]),N="completed"!==e.status&&"failed"!==e.status&&"cancelled"!==e.status&&"superseded"!==e.status,C=w.filter(e=>"text"!==e.kind),_=w.filter(e=>"text"===e.kind),S=_.length>0?_[_.length-1]:null,T=(0,s.useRef)(null),M=(0,s.useRef)(null),I=(0,s.useRef)(!1);(0,s.useEffect)(()=>{N&&T.current&&(T.current.scrollTop=T.current.scrollHeight)},[C.length,N]),(0,s.useEffect)(()=>{N&&M.current&&(M.current.scrollTop=M.current.scrollHeight)},[_.length,N]);let A=N?_:_.slice(0,-1),E=!N&&null!==S,z=C.length>0?C.length:l??0,R=C.length>0||l&&l>0;return(0,t.jsxs)("div",{className:"space-y-3 min-w-0 max-w-full",children:[(0,t.jsx)("div",{className:"flex items-center gap-2",children:"running"===e.status?(0,t.jsxs)(i.Badge,{variant:"secondary",className:"gap-1.5 relative overflow-hidden",children:[(0,t.jsx)("span",{className:"size-1.5 rounded-full bg-primary animate-pulse"}),"Working",(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 -translate-x-full animate-[shimmer_2s_ease-in-out_infinite]",style:{background:"linear-gradient(90deg, transparent 0%, var(--shimmer) 40%, var(--shimmer-peak) 50%, var(--shimmer) 60%, transparent 100%)"}})]}):N?(0,t.jsxs)(i.Badge,{variant:"secondary",className:"relative overflow-hidden",children:[e.status,(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 -translate-x-full animate-[shimmer_2s_ease-in-out_infinite]",style:{background:"linear-gradient(90deg, transparent 0%, var(--shimmer) 40%, var(--shimmer-peak) 50%, var(--shimmer) 60%, transparent 100%)"}})]}):(0,t.jsx)(i.Badge,{variant:"secondary",children:e.status})}),R&&(0,t.jsxs)("details",{className:"group/stream pl-1",onToggle:e=>{e.currentTarget.open&&!I.current&&c&&(I.current=!0,c())},children:[(0,t.jsxs)("summary",{className:(0,o.cn)("flex items-center gap-1.5 py-1 cursor-pointer select-none","text-xs text-muted-foreground transition-colors duration-150","hover:text-foreground","[&::-webkit-details-marker]:hidden [&::marker]:hidden"),children:[(0,t.jsx)(d.ChevronRight,{className:(0,o.cn)("size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/stream:rotate-90",N&&"animate-pulse text-primary")}),(0,t.jsxs)("span",{children:[(0,t.jsx)(k,{value:z})," ",1===z?"step":"steps"]})]}),(0,t.jsxs)("div",{ref:T,className:"mt-1 max-h-80 overflow-y-auto overflow-x-hidden thin-scrollbar space-y-0.5 pl-1",children:[u&&0===C.length&&(0,t.jsxs)("div",{className:"flex items-center gap-2 py-2 text-xs text-muted-foreground",children:[(0,t.jsx)(g.Loader2,{className:"size-3 animate-spin"}),(0,t.jsx)("span",{children:"Loading steps..."})]}),C.map((e,s)=>{switch(e.kind){case"tool-call":return(0,t.jsx)(y,{item:e,isRunning:N,isLast:s===C.length-1},e.id);case"thinking":return(0,t.jsx)(j,{item:e},e.id);case"status":return(0,t.jsxs)("p",{className:"text-xs text-muted-foreground px-1 wrap-anywhere",children:["error"===e.type&&(0,t.jsx)(h.AlertCircle,{className:"inline size-3 mr-1 -mt-0.5 text-destructive"}),e.content]},e.id);default:return null}})]})]}),A.length>0&&(0,t.jsxs)("details",{className:"group/midtext pl-1",open:!E||void 0,children:[(0,t.jsxs)("summary",{className:(0,o.cn)("flex items-center gap-1.5 py-1 cursor-pointer select-none","text-xs text-muted-foreground transition-colors duration-150","hover:text-foreground","[&::-webkit-details-marker]:hidden [&::marker]:hidden"),children:[(0,t.jsx)(d.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground/60 transition-transform duration-150 group-open/midtext:rotate-90"}),(0,t.jsxs)("span",{children:[(0,t.jsx)(k,{value:A.length})," thinking"]})]}),(0,t.jsx)("div",{ref:M,className:"mt-1 space-y-2 pl-1",children:A.map(e=>(0,t.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-0.5 text-sm text-muted-foreground",children:(0,t.jsx)(f.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},children:e.content})},e.id))})]}),E&&!c&&(0,t.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-1 text-base text-foreground",children:(0,t.jsx)(f.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},children:S.content})}),"failed"===e.status&&e.error&&(0,t.jsxs)("div",{className:"flex items-start gap-2 mt-2 max-w-full overflow-hidden",children:[(0,t.jsxs)("p",{className:"text-sm text-destructive flex items-start gap-1.5 min-w-0",children:[(0,t.jsx)(h.AlertCircle,{className:"size-3.5 shrink-0 mt-0.5"}),(0,t.jsx)("span",{className:"wrap-anywhere",children:e.error})]}),r&&(0,t.jsxs)("button",{type:"button",onClick:async()=>{x(!0);try{await r()}finally{x(!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,t.jsx)(g.Loader2,{className:"size-3 animate-spin"}):(0,t.jsx)(p.RotateCw,{className:"size-3"}),"Retry"]})]}),n&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground animate-pulse mt-1",children:"Connection lost — retrying..."})]})}var w=e.i(222862),N=e.i(275351),C=e.i(355578),_=e.i(875494),S=e.i(74348),T=e.i(872937),M=e.i(880932),I=e.i(728886),A=e.i(329686),E=e.i(36303);let z=(0,u.default)("bed-double",[["path",{d:"M2 20v-8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8",key:"1k78r4"}],["path",{d:"M4 10V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4",key:"fb3tl2"}],["path",{d:"M12 4v6",key:"1dcgq2"}],["path",{d:"M2 18h20",key:"ajqnye"}]]),R=(0,u.default)("box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);var F=e.i(872057),P=e.i(6131);let D=(0,u.default)("message-square-quote",[["path",{d:"M14 14a2 2 0 0 0 2-2V8h-2",key:"1r06pg"}],["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M8 14a2 2 0 0 0 2-2V8H8",key:"1jzu5j"}]]),L=(0,u.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 q=e.i(554468),B=e.i(745925),$=e.i(937091);function W(){let e=window;return e.SpeechRecognition??e.webkitSpeechRecognition??null}function H({agent:e,isSelected:s,onSelect:a}){return(0,t.jsxs)("button",{type:"button","data-mention-item":!0,className:(0,o.cn)("flex w-full items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors",s?"bg-accent text-accent-foreground":"hover:bg-accent/50"),onMouseDown:t=>{t.preventDefault(),a(e)},children:[(0,t.jsx)("span",{className:"truncate font-medium",children:e.name}),e.email_handle&&(0,t.jsxs)("span",{className:"truncate text-xs text-muted-foreground",children:[e.email_handle,"@alook.ai"]})]})}function O({isOpen:e,relatedAgents:a,otherAgents:n,selectedIndex:r,onSelect:l,anchorPos:i}){let o=(0,s.useRef)(null);(0,s.useEffect)(()=>{if(!o.current)return;let e=o.current.querySelectorAll("[data-mention-item]")[r];e?.scrollIntoView({block:"nearest"})},[r]);let c=a.length+n.length;if(!e||0===c)return null;let d=a.length>0&&n.length>0;return(0,t.jsx)("div",{className:"absolute z-50 w-64 rounded-lg border border-border bg-popover text-popover-foreground shadow-md transition-opacity duration-150",style:{top:i.top-4,left:i.left,transform:"translateY(-100%)"},children:(0,t.jsxs)("div",{ref:o,className:"max-h-50 overflow-y-auto py-1 thin-scrollbar",children:[a.map((e,s)=>(0,t.jsx)(H,{agent:e,isSelected:s===r,onSelect:l},e.id)),d&&(0,t.jsx)("div",{className:"mx-3 my-1 border-t border-border"}),n.map((e,s)=>(0,t.jsx)(H,{agent:e,isSelected:a.length+s===r,onSelect:l},e.id))]})})}function V(e,t){if(t>=e.length)return!0;let s=e.charCodeAt(t);return(!(s>=48)||!(s<=57))&&(!(s>=65)||!(s<=90))&&(!(s>=97)||!(s<=122))&&95!==s}function U(e,t){if(!e||0===t.length||!e.includes("@"))return e;let s=t.slice().sort((e,t)=>t.name.length-e.name.length),a=[];for(let t=0;t<e.length;t++){if("@"!==e[t]||!function(e,t){if(0===t)return!0;let s=e.charCodeAt(t-1);return(!(s>=48)||!(s<=57))&&(!(s>=65)||!(s<=90))&&(!(s>=97)||!(s<=122))&&95!==s}(e,t))continue;let n=t+1;for(let r of s){let s=n+r.name.length;if(s>e.length||e.slice(n,s).toLowerCase()!==r.name.toLowerCase())continue;let l=s,i=e.slice(s).match(/^ \([a-zA-Z0-9-]+@alook\.ai\)/);if(i&&(l=s+i[0].length),(i||V(e,s))&&(!i||V(e,l))){if(a.some(e=>t>=e.start&&t<e.end))break;a.push({start:t,end:s,name:r.name,agentId:r.id});break}}}let n=e;for(let e=a.length-1;e>=0;e--){let t=a[e],s=n.slice(t.start,t.end);n=n.slice(0,t.start)+`<mention data-agent-id="${t.agentId}">${s}</mention>`+n.slice(t.end)}return n}var Y=e.i(721387),X=e.i(332680),K=e.i(940931);function J({open:e,onOpenChange:a,emailId:n,workspaceId:r}){let[i,o]=(0,s.useState)(null),[c,d]=(0,s.useState)(null),[u,m]=(0,s.useState)(!1),[h,p]=(0,s.useState)(500),f=(0,s.useRef)(!1),x=(0,s.useRef)(a);(0,s.useEffect)(()=>{x.current=a}),(0,s.useEffect)(()=>{e&&n&&(m(!0),o(null),d(null),Promise.all([(0,w.getEmail)(n,r),(0,w.getEmailBody)(n,r)]).then(([e,t])=>{o(e),d(t)}).catch(()=>{M.toast.error("Email not found"),x.current(!1)}).finally(()=>m(!1)))},[e,n,r]);let v=e=>{a(e),e||setTimeout(()=>{o(null),d(null)},300)},y=(0,s.useCallback)(e=>{e.preventDefault(),f.current=!0,e.target.setPointerCapture(e.pointerId)},[]),j=(0,s.useCallback)(e=>{f.current&&p(Math.min(.8*window.innerWidth,Math.max(320,window.innerWidth-e.clientX)))},[]),k=(0,s.useCallback)(()=>{f.current=!1},[]);return(0,t.jsx)(X.Sheet,{open:e,onOpenChange:v,children:(0,t.jsxs)(X.SheetContent,{side:"right",showCloseButton:!1,style:{width:`min(${h}px, 100vw)`,maxWidth:"none"},className:"data-[side=right]:sm:inset-y-2 data-[side=right]:sm:right-2 data-[side=right]:sm:h-auto data-[side=right]:sm:rounded-xl data-[side=right]:sm:border",children:[(0,t.jsx)("div",{onPointerDown:y,onPointerMove:j,onPointerUp:k,className:"hidden sm:block absolute left-0 top-0 bottom-0 w-1.5 cursor-col-resize z-10 hover:bg-primary/20 active:bg-primary/30 transition-colors rounded-l-xl"}),(0,t.jsx)(X.SheetHeader,{children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(P.Mail,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,t.jsx)(X.SheetTitle,{className:"truncate flex-1",children:u?"Loading...":i?.subject||"Email"}),(0,t.jsx)(l.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>v(!1),children:(0,t.jsx)($.X,{className:"h-4 w-4"})})]})}),(0,t.jsx)(X.SheetBody,{className:"flex-1 overflow-y-auto thin-scrollbar",children:u?(0,t.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,t.jsx)(g.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):i?(0,t.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,t.jsxs)("div",{className:"text-sm space-y-1 border-b pb-3",children:[(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("span",{className:"text-muted-foreground shrink-0",children:"From:"}),(0,t.jsx)("span",{className:"truncate",children:i.from_email})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("span",{className:"text-muted-foreground shrink-0",children:"To:"}),(0,t.jsx)("span",{className:"truncate",children:i.to_email})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("span",{className:"text-muted-foreground shrink-0",children:"Date:"}),(0,t.jsx)("span",{children:new Date(i.created_at).toLocaleString()})]})]}),c?.isHtml?(0,t.jsx)(K.EmailBodyFrame,{html:c.content,className:"max-w-full"}):(0,t.jsx)("pre",{className:"whitespace-pre-wrap text-sm font-mono",children:c?.content}),i.attachments&&i.attachments.length>0&&(0,t.jsxs)("div",{className:"border-t pt-3",children:[(0,t.jsxs)("p",{className:"text-xs text-muted-foreground mb-2",children:[i.attachments.length," attachment",i.attachments.length>1?"s":""]}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:i.attachments.map(e=>(0,t.jsx)("span",{className:"inline-flex items-center gap-1 text-xs bg-muted rounded px-2 py-1",children:e.filename},e.key))})]})]}):null})]})})}var Z=e.i(781360),Q=e.i(169678),G=e.i(364079);function ee({bufferedMessages:e,onDelete:a}){let[n,r]=(0,s.useState)(!1),l=e.length;if(0===l)return null;let i=Math.min(l,3);return(0,t.jsx)("div",{className:"relative px-5 pb-1",children:(0,t.jsx)("div",{className:"mx-auto max-w-2xl flex justify-center",children:(0,t.jsxs)("div",{className:"relative w-full max-w-lg transition-[height] duration-200 ease-out",style:{height:n?32*l+(l-1)*4:32+(i-1)*6},onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),children:[e.map((e,s)=>{var r;let c=l-1-s,d=s>=l-i;return(0,t.jsx)("div",{className:"absolute right-0 left-0 transition-all duration-200 ease-out",style:{height:32,zIndex:s+1,bottom:n?36*c:d?6*c:0,transform:n?"scale(1)":`scale(${d?1-.03*c:.91})`,opacity:n?1:d?1-.2*c:0,pointerEvents:n||d?"auto":"none"},children:(0,t.jsxs)("div",{className:"h-full rounded-lg border bg-background/95 backdrop-blur-sm shadow-sm flex items-center gap-2 px-3",children:[(0,t.jsx)("span",{className:"shrink-0 text-[11px] text-primary/60 tabular-nums w-4 text-center",children:s+1}),(0,t.jsxs)("div",{className:"min-w-0 flex-1 flex items-center gap-1.5",children:[(0,t.jsx)("p",{className:"text-[13px] text-muted-foreground leading-snug truncate",children:(r=e.content).length<=80?r:r.slice(0,80).trimEnd()+"…"}),e.attachment_ids&&e.attachment_ids.length>0&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-0.5 shrink-0 text-[11px] text-muted-foreground/50",children:[(0,t.jsx)(q.Paperclip,{className:"size-2.5"}),e.attachment_ids.length]})]}),(0,t.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),a(e.id)},className:(0,o.cn)("shrink-0 rounded-sm p-0.5 transition-all duration-150","text-muted-foreground/30 hover:text-foreground hover:bg-muted",n?"opacity-100":"opacity-0"),tabIndex:n?0:-1,children:(0,t.jsx)($.X,{className:"size-3"})})]})},e.id)}),!n&&l>i&&(0,t.jsxs)("span",{className:"absolute -top-4 right-1 text-[10px] text-muted-foreground/40 tabular-nums",children:["+",l-i," more"]})]})})})}var et=e.i(219658);let es={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 ea({taskId:e,stepCount:a,workspaceId:n}){let[r,l]=(0,s.useState)([]),[i,o]=(0,s.useState)(!1),[c,d]=(0,s.useState)(!1),u=(0,s.useCallback)(async()=>{if(!c&&!i){o(!0);try{let t=await (0,w.getTaskMessages)(e,n);l(t)}catch{l([])}finally{o(!1),d(!0)}}},[c,i,e,n]);return(0,t.jsx)(b,{task:es,messages:r,stepCountHint:a,onExpandSteps:u,stepsLoading:i})}let en=(0,u.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 er=e.i(251638);let el=(0,u.default)("flag",[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]]);e.s(["Flag",0,el],618615);var ei=e.i(89440);let eo={mention:["data-agent-id"]},ec=["mention"];function ed({content:e,conversationType:s}){let a=ej(e,s),n="h-4 w-4 mt-0.5 shrink-0";return"issue"===a?(0,t.jsx)(er.CircleDot,{className:n}):"email"===a?(0,t.jsx)(P.Mail,{className:n}):(0,t.jsx)(en,{className:n})}function eu({attachmentIds:e,artifacts:s,onArtifactClick:a}){let n=e.map(e=>s.find(t=>t.id===e)).filter(e=>!!e);return 0===n.length?null:(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1.5",children:n.map(e=>(0,t.jsxs)("button",{type:"button",onClick:t=>{t.stopPropagation(),a(e)},className:"inline-flex items-center gap-1 rounded-md bg-primary-foreground/10 border border-primary-foreground/20 px-2 py-0.5 text-xs text-primary-foreground/80 hover:bg-primary-foreground/20 transition-colors cursor-pointer",children:[(0,t.jsx)(F.FileText,{className:"size-3 shrink-0"}),(0,t.jsx)("span",{className:"truncate max-w-37.5",children:e.filename})]},e.id))})}function em({pendingFiles:e,messageId:s}){let a=e.get(s);return a&&0!==a.length?(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1.5",children:a.map((e,s)=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-md bg-primary-foreground/10 border border-primary-foreground/20 px-2 py-0.5 text-xs text-primary-foreground/80",children:[(0,t.jsx)(F.FileText,{className:"size-3 shrink-0"}),(0,t.jsx)("span",{className:"truncate max-w-37.5",children:e.name})]},s))}):null}let eh=(0,s.memo)(function({msg:e,agents:a,artifacts:n,activeTask:r,taskMessages:i,connectionLost:d,isLastMessage:u,stepCount:m,targetConvId:h,workspaceId:p,conversationType:g,pendingFilesByMessage:x,onArtifactClick:v,onEmailClick:y,onIssueClick:j,onCalendarEventClick:k,onRetry:w,mentionComponents:N,isFlagged:C,onToggleFlag:_}){let S,T,I,E,[z,R]=(0,s.useState)(!1),F=r&&"assistant"===e.role&&e.task_id===r.id&&e.conversation_id===r.conversation_id&&i.length>0,P=!F&&h&&"assistant"===e.role&&e.task_id&&m>0?m:0,D=F&&r&&["completed","failed","cancelled","superseded"].includes(r.status),L="assistant"===e.role?(0,t.jsxs)("div",{className:"flex flex-row items-center gap-1",children:[(0,t.jsxs)(A.Tooltip,{children:[(0,t.jsx)(A.TooltipTrigger,{render:(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-xs","aria-label":z?"Copied":"Copy message",onClick:async t=>{t.stopPropagation();try{await navigator.clipboard.writeText(e.content),R(!0),M.toast.success("Copied to clipboard"),setTimeout(()=>R(!1),2e3)}catch{M.toast.error("Failed to copy")}},className:(0,o.cn)("self-start mb-1",z?"text-green-500 opacity-100":"text-muted-foreground opacity-0 group-hover/msg:opacity-100")}),children:z?(0,t.jsx)(c.Check,{className:"size-3.5"}):(0,t.jsx)(ei.Copy,{className:"size-3.5"})}),(0,t.jsx)(A.TooltipContent,{children:z?"Copied":"Copy"})]}),_&&(0,t.jsxs)(A.Tooltip,{children:[(0,t.jsx)(A.TooltipTrigger,{render:(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-xs",onClick:()=>_(e.id),className:(0,o.cn)("self-start mb-1",C?"text-primary opacity-100":"text-muted-foreground opacity-0 group-hover/msg:opacity-100")}),children:(0,t.jsx)(el,{className:(0,o.cn)("size-3.5",C&&"fill-current")})}),(0,t.jsx)(A.TooltipContent,{children:C?"Unflag":"Flag"})]})]}):null;return(0,t.jsxs)(s.default.Fragment,{children:[F&&(0,t.jsxs)("div",{className:(0,o.cn)("group/msg",C&&"bg-muted/30 rounded-lg px-2 -mx-2"),children:[(0,t.jsx)(b,{task:r,messages:i,connectionLost:d,onRetry:w}),D&&L]}),P>0&&e.task_id&&(0,t.jsx)(ea,{taskId:e.task_id,stepCount:P,workspaceId:p}),"user"===e.role?(S=u&&!!r&&"running"!==r.status&&!["completed","failed","cancelled","superseded"].includes(r.status),(0,t.jsx)("div",{className:"flex justify-end","data-message-id":e.id,...e.task_id?{"data-task-id":e.task_id}:{},children:(0,t.jsxs)("div",{className:(0,o.cn)("max-w-[80%] rounded-lg px-4 py-2 bg-primary text-primary-foreground text-base relative"),children:[S&&(0,t.jsx)("div",{className:"absolute inset-0 rounded-lg animate-pulse pointer-events-none",style:{boxShadow:"0 0 0 2px var(--bubble-glow)"}}),(0,t.jsx)("div",{className:"markdown markdown-user",children:(0,t.jsx)(f.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!1,download:!1,fullscreen:!1}},linkSafety:{enabled:!1},allowedTags:eo,literalTagContent:ec,components:N,children:U(e.content,a)})}),e.attachment_ids&&e.attachment_ids.length>0&&(0,t.jsx)(eu,{attachmentIds:e.attachment_ids,artifacts:n,onArtifactClick:v}),!e.attachment_ids&&(0,t.jsx)(em,{pendingFiles:x,messageId:e.id})]})})):"event"===e.role?(T=e.metadata?.emailId,I=e.metadata?.issueId,E=e.metadata?.calendarEventId,(0,t.jsx)("div",{className:"flex justify-start","data-message-id":e.id,...e.task_id?{"data-task-id":e.task_id}:{},children:(0,t.jsxs)("div",{className:(0,o.cn)("w-full rounded-md border bg-muted/50 text-muted-foreground text-sm px-3 py-2 flex items-start gap-2",(!!T||!!I||!!E)&&"cursor-pointer hover:bg-muted transition-colors"),onClick:T?()=>y(T):I?()=>j(I):E?()=>k(E):void 0,children:[(0,t.jsx)(ed,{content:e.content,conversationType:g}),(0,t.jsx)("span",{className:"min-w-0 wrap-anywhere",children:e.content})]})})):F?null:(0,t.jsxs)("div",{className:(0,o.cn)("group/msg flex flex-col justify-start min-w-0 overflow-hidden",C&&"bg-muted/30 rounded-lg px-2 -mx-2"),"data-message-id":e.id,"data-quote-source":!0,...e.task_id?{"data-task-id":e.task_id}:{},children:[(0,t.jsx)("div",{className:"markdown max-w-full min-w-0 px-1 py-1 text-base text-foreground",children:(0,t.jsx)(f.Streamdown,{controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},allowedTags:eo,literalTagContent:ec,components:N,children:U(e.content,a)})}),L]})]})});e.i(400175);var ep=e.i(819748),eg=e.i(126366),ef=e.i(309475);function ex({agent:e,isOnline:a,activeTaskCount:n,variant:r="default",isHovered:l}){let[i,d]=(0,s.useState)(!1),u=e.email_handle?`${e.email_handle}@alook.ai`:null,m=(0,s.useCallback)(async()=>{if(u)try{await navigator.clipboard.writeText(u),d(!0),M.toast.success("Email copied to clipboard"),setTimeout(()=>d(!1),2e3)}catch{M.toast.error("Failed to copy email")}},[u]);if("compact"===r){let s;return(0,t.jsxs)("div",{className:"flex items-center gap-2 p-0",children:[(s=(0,eg.parseAvatarUrl)(e.avatar_url))?(0,t.jsx)(ep.AnimatedAvatar,{config:s,size:32,className:"shrink-0 rounded-xl",isHovered:l??!1,isWorking:!!a&&(n??0)>0}):(0,t.jsx)("div",{className:"flex items-center justify-center size-8 rounded-xl bg-secondary text-secondary-foreground text-xs font-medium shrink-0",children:e.name.charAt(0).toUpperCase()}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("p",{className:"text-sm font-medium truncate max-w-35",children:e.name}),u&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:u})]}),void 0!==a&&(0,t.jsx)("div",{className:"pointer-events-none mt-0.5",children:(0,t.jsx)(ef.AgentStatusBadge,{isOnline:a,taskCount:n??0,agentId:e.id})})]})]})}return(0,t.jsxs)("div",{className:"flex flex-col gap-1.5 p-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("p",{className:"text-sm font-medium truncate",children:e.name}),(0,t.jsx)("span",{className:"flex-1"}),void 0!==a&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-[11px] text-muted-foreground",children:[(0,t.jsx)("span",{className:(0,o.cn)("size-1.5 rounded-full",a?"bg-status-online":"bg-status-offline")}),a?(n??0)>0?"Working":null:"Offline"]})]}),u&&(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:u}),(0,t.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),m()},className:"shrink-0 p-0.5 rounded-sm text-muted-foreground/60 hover:text-foreground transition-colors cursor-pointer",children:i?(0,t.jsx)(c.Check,{className:"size-3 text-green-500"}):(0,t.jsx)(ei.Copy,{className:"size-3"})})]}),e.description&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground line-clamp-2",children:e.description})]})}e.s(["AgentPreviewCard",0,ex],844010);var ev=e.i(224950);let ey={mention:function(e){let{children:s,...a}=e,{agents:n}=(0,C.useAgentContext)(),r=a["data-agent-id"]??a.dataAgentId,l=r?n.find(e=>e.id===r):void 0;if(!l&&"string"==typeof s){let e=s.startsWith("@")?s.slice(1):s;l=n.find(t=>t.name.toLowerCase()===e.toLowerCase())}return l?(0,t.jsxs)(ev.Popover,{children:[(0,t.jsx)(ev.PopoverTrigger,{openOnHover:!0,delay:300,nativeButton:!1,render:(0,t.jsx)("span",{className:"mention-highlight cursor-pointer"}),children:s}),(0,t.jsx)(ev.PopoverContent,{side:"top",className:"w-fit max-w-80",children:(0,t.jsx)(ex,{agent:l})})]}):(0,t.jsx)("span",{className:"mention-highlight",children:s})},p:({children:e,node:s,...a})=>(0,t.jsx)("div",{"data-md-p":"",...a,children:e})};function ej(e,t){if("issue_event"===t)return"issue";if("email_notification"===t)return"email";if("calendar_event"===t)return"calendar";let s=e.toLowerCase();return s.startsWith("issue ")||s.startsWith("issue:")?"issue":s.includes("email")?"email":"calendar"}function ek(e,t){let s=new Map;for(let t of e)s.set(t.id,t);for(let e of t)s.set(e.id,e);return[...s.values()].slice().sort((e,t)=>{let s=e.created_at.localeCompare(t.created_at);return 0!==s?s:e.id.localeCompare(t.id)})}function eb(e){let t=[],s=[],a=!1;for(let n of e)"message"===n.kind&&"user"===n.data.role?(a=!0,t.push(n)):"message"===n.kind&&"assistant"===n.data.role?(t.push(n),t.push(...s),s=[],a=!1):a&&"artifact"===n.kind?s.push(n):t.push(n);return t.push(...s),t}function ew(e){let t=(0,s.useRef)(e);return(0,s.useEffect)(()=>{t.current=e},[e]),t}function eN({agentName:e}){return(0,t.jsxs)("div",{className:"flex items-center gap-3 py-4 select-none","aria-hidden":!0,children:[(0,t.jsx)("div",{className:"flex-1 border-t border-border/40"}),(0,t.jsxs)("span",{className:"text-xs text-muted-foreground/60 whitespace-nowrap",children:[e," took a nap 💤"]}),(0,t.jsx)("div",{className:"flex-1 border-t border-border/40"})]})}function eC({artifact:e,version:s,hasDuplicates:a,onClick:n}){return(0,t.jsxs)("button",{onClick:()=>n(e),className:(0,o.cn)("flex items-center gap-3 w-full max-w-sm rounded-lg border border-border/60 bg-muted/30","px-3.5 py-2.5 text-left transition-colors duration-150","hover:bg-muted/60 hover:border-border"),children:[(0,t.jsx)(F.FileText,{className:"size-4 shrink-0 text-muted-foreground"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("p",{className:"text-sm font-medium truncate",children:[e.filename,a&&(0,t.jsxs)("span",{className:"ml-1.5 text-xs text-muted-foreground bg-muted rounded-full px-1.5 py-0.5 font-normal",children:["v",s]})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:(0,Y.formatSize)(e.size)})]})]})}function e_({agentId:e,targetConvId:i,scrollToTaskId:c,scrollToMessageId:d}){let u,m,h,p=(0,n.useParams)(),f=(0,n.useSearchParams)(),{workspaceId:x,slug:v}=(0,r.useWorkspace)(),{agents:y,agentLinks:j,activeTaskCounts:k,subscribeWs:H}=(0,C.useAgentContext)(),{refresh:V}=(0,_.useInboxCount)(),{activeChannel:X,loading:K,setAgentId:es}=(0,T.useChannel)(),ea=e??p.id,en=void 0!==c?c:f.get("task"),er=void 0!==d?d:f.get("msg"),el=void 0!==i?i:f.get("conv"),[ei,eo]=(0,s.useState)(null),[ec,ed]=(0,s.useState)([]),[eu,em]=(0,s.useState)(()=>localStorage.getItem(`chat-draft:${ea}:${el??"default"}`)??""),[ep,eg]=(0,s.useState)(!1),[ef,ex]=(0,s.useState)(!1),[ev,ej]=(0,s.useState)(null),[eS,eT]=(0,s.useState)([]),[eM,eI]=(0,s.useState)(!0),[eA,eE]=(0,s.useState)(!1),[ez,eR]=(0,s.useState)(!1),[eF,eP]=(0,s.useState)(!1),[eD,eL]=(0,s.useState)([]),[eq,eB]=(0,s.useState)(!1),[e$,eW]=(0,s.useState)(null),[eH,eO]=(0,s.useState)(null),[eV,eU]=(0,s.useState)(!1),[eY,eX]=(0,s.useState)(null),[eK,eJ]=(0,s.useState)(!1),[eZ,eQ]=(0,s.useState)(null),[eG,e0]=(0,s.useState)(!1),[e1,e2]=(0,s.useState)(null),[e5,e3]=(0,s.useState)(null),[e4,e6]=(0,s.useState)(!1),[e8,e7]=(0,s.useState)(null),[e9,te]=(0,s.useState)(null),[tt,ts]=(0,s.useState)(448),[ta,tn]=(0,s.useState)([]),[tr,tl]=(0,s.useState)([]),[ti,to]=(0,s.useState)(null),[tc,td]=(0,s.useState)([]),[tu,tm]=(0,s.useState)(!1),[th,tp]=(0,s.useState)([]),[tg,tf]=(0,s.useState)({}),[tx]=(0,s.useState)(()=>Date.now()),[tv,ty]=(0,s.useState)(()=>new Map),[tj,tk]=(0,s.useState)(null),[tb,tw]=(0,s.useState)(null),[tN,tC]=(0,s.useState)(new Set),t_=(0,s.useRef)(tN);(0,s.useEffect)(()=>{t_.current=tN});let{increment:tS,decrement:tT,refresh:tM}=(0,S.useFlagCount)(),{writeToCache:tI}=function(e,t){let[a,n]=(0,s.useState)(null),[r,l]=(0,s.useState)(!1),i=(0,s.useRef)(e);return(0,s.useEffect)(()=>{if(i.current=e,!e||!t){n(null),l(!1);return}(0,N.openCacheDB)(t);let s=!1;return(0,N.getCachedMessages)(e,t).then(t=>{s||i.current!==e||(t&&t.length>0?(n(t),l(!0)):(n(null),l(!1)))}),()=>{s=!0}},[e,t]),{cachedMessages:a,isFromCache:r,writeToCache:(0,s.useCallback)(async(e,s)=>{i.current&&t&&await (0,N.mergeCachedMessages)(i.current,e,s,t)},[t])}}(el??null,x),tA=(0,s.useRef)(tI);(0,s.useEffect)(()=>{tA.current=tI},[tI]),(0,s.useEffect)(()=>{es(ea)},[ea,es]);let{listening:tE,supported:tz,toggle:tR}=function(e){let[t,a]=(0,s.useState)(!1),[n,r]=(0,s.useState)(!1),l=(0,s.useRef)(null);(0,s.useEffect)(()=>{r(!!W())},[]);let i=(0,s.useCallback)(()=>{let t=W();if(!t)return;let s=new t;s.lang=navigator.language||"zh-CN",s.interimResults=!1,s.continuous=!1,s.onresult=t=>{let s=t.results,a="";for(let e=0;e<s.length;e++)a+=s[e][0].transcript;a&&e(a)},s.onend=()=>{a(!1),l.current=null},s.onerror=()=>{a(!1),l.current=null},l.current=s,s.start(),a(!0)},[e]),o=(0,s.useCallback)(()=>{l.current?.stop()},[]),c=(0,s.useCallback)(()=>{t?o():i()},[t,i,o]);return(0,s.useEffect)(()=>()=>{l.current?.abort()},[]),{listening:t,supported:n,toggle:c}}((0,s.useCallback)(e=>{em(t=>t?t+" "+e:e)},[])),tF=(0,s.useMemo)(()=>eD.filter(e=>"agent"===e.source),[eD]),{versionMap:tP,duplicateFilenames:tD}=(0,s.useMemo)(()=>(0,G.computeArtifactVersions)(tF),[tF]),tL=(0,s.useMemo)(()=>"agent"===eH?tF:"issue"===eH?e5?.artifacts??[]:[],[eH,tF,e5?.artifacts]),{versionMap:tq,duplicateFilenames:tB}=(0,s.useMemo)(()=>(0,G.computeArtifactVersions)(tL),[tL]),t$=(0,s.useMemo)(()=>(function(e,t,s,a){if(!a||0===s.length){let a=[...e.map(e=>({kind:"message",data:e})),...t.map(e=>({kind:"artifact",data:e})),...s.map(e=>({kind:"nap",data:e}))];return a.sort((e,t)=>{let s=e.data.created_at.localeCompare(t.data.created_at);if(0!==s)return s;if("nap"===e.kind||"nap"===t.kind){if("nap"===e.kind&&"nap"!==t.kind)return 1;if("nap"!==e.kind&&"nap"===t.kind)return -1}return e.kind!==t.kind?"message"===e.kind?-1:1:e.data.id.localeCompare(t.data.id)}),eb(a)}let n=new Set(s.map(e=>e.id.replace(/^nap-/,""))),r=[...s].sort((e,t)=>e.created_at.localeCompare(t.created_at)),l=s=>eb([...e.filter(e=>e.conversation_id===s).map(e=>({kind:"message",data:e})),...t.filter(e=>e.conversation_id===s).map(e=>({kind:"artifact",data:e}))].sort((e,t)=>{let s=e.data.created_at.localeCompare(t.data.created_at);return 0!==s?s:e.kind!==t.kind?"message"===e.kind?-1:1:e.data.id.localeCompare(t.data.id)})),i=[];for(let e of r){let t=e.id.replace(/^nap-/,"");i.push(...l(t)),i.push({kind:"nap",data:e})}i.push(...l(a));let o=new Set([...n,a]),c=e.filter(e=>!o.has(e.conversation_id)),d=t.filter(e=>!o.has(e.conversation_id));if(c.length>0||d.length>0){let e=[...c.map(e=>({kind:"message",data:e})),...d.map(e=>({kind:"artifact",data:e}))];e.sort((e,t)=>{let s=e.data.created_at.localeCompare(t.data.created_at);return 0!==s?s:e.kind!==t.kind?"message"===e.kind?-1:1:e.data.id.localeCompare(t.data.id)});let t=eb(e),s=i.findIndex(e=>"nap"===e.kind);s>=0?i.splice(s,0,...t):i.push(...t)}return i})(ec,tF,th,ei?.id),[ec,tF,th,ei?.id]),tW=(0,s.useCallback)(e=>{(0,G.isPreviewable)(e)?(eW(e),eO("agent"),eB(!0)):window.open((0,G.getArtifactUrl)(e.id,x,!0),"_blank")},[x]),tH=(0,s.useCallback)(e=>{(0,G.isPreviewable)(e)?(eW(e),eO("issue"),eB(!0)):window.open((0,G.getArtifactUrl)(e.id,x,!0),"_blank")},[x]),tO=(0,s.useRef)(null),tV=(0,s.useRef)(null),tU=(0,s.useRef)(null),tY=(0,s.useRef)(null),tX=(0,s.useRef)(0),tK=(0,s.useRef)(0),tJ=(0,s.useRef)(!1),tZ=(0,s.useRef)(!1),tQ=(0,s.useRef)(!0),tG=(0,s.useRef)(!1),t0=(0,s.useRef)(null),t1=(0,s.useRef)(null),t2=(0,s.useRef)(0),t5=(0,s.useRef)(void 0),t3=(0,s.useRef)(null),t4=(0,s.useRef)(null),t6=function({input:e,caretIndex:t,textareaRef:a,agents:n,agentLinks:r,currentAgentId:l,onInputChange:i}){let[o,c]=(0,s.useState)(!1),[d,u]=(0,s.useState)(""),[m,h]=(0,s.useState)(0),[p,g]=(0,s.useState)({top:0,left:0}),f=(0,s.useRef)(null),x=(0,s.useMemo)(()=>{let e=new Set;for(let t of r)t.source_agent_id===l&&e.add(t.target_agent_id),t.target_agent_id===l&&e.add(t.source_agent_id);return e},[r,l]),{relatedAgents:v,otherAgents:y,allAgents:j}=(0,s.useMemo)(()=>{if(!o)return{relatedAgents:[],otherAgents:[],allAgents:[]};let e=e=>{if(!d)return e.slice(0,20);let t=d.toLowerCase(),s=[],a=[];for(let n of e){let e=n.name.toLowerCase();e.startsWith(t)?s.push(n):e.includes(t)&&a.push(n)}return[...s,...a]},t=[],s=[];for(let e of n)x.has(e.id)?t.push(e):s.push(e);let a=e(t),r=e(s);return{relatedAgents:a,otherAgents:r,allAgents:[...a,...r]}},[o,d,n,x]);(0,s.useEffect)(()=>{h(0)},[j.length,d]),(0,s.useEffect)(()=>{if(null===t)return void c(!1);let s=function(e,t){let s=t-1;for(;s>=0&&t-s<=30;){let a=e.charCodeAt(s);if(64===a)return{start:s,query:e.slice(s+1,t)};if(10===a||13===a)break;s--}return null}(e,t);s?(f.current=s.start,u(s.query),c(!0),a.current&&g(function(e,t){let s=document.createElement("div"),a=window.getComputedStyle(e);for(let t of(s.style.position="absolute",s.style.top="-9999px",s.style.left="-9999px",s.style.visibility="hidden",s.style.overflow="hidden",s.style.width=`${e.offsetWidth}px`,["fontFamily","fontSize","fontWeight","fontStyle","letterSpacing","textTransform","wordSpacing","textIndent","lineHeight","paddingTop","paddingRight","paddingBottom","paddingLeft","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","boxSizing","whiteSpace","wordWrap","overflowWrap"]))s.style[t]=a.getPropertyValue(t.replace(/([A-Z])/g,"-$1").toLowerCase());s.textContent=e.value.slice(0,t);let n=document.createElement("span");n.textContent="",s.appendChild(n),document.body.appendChild(s);let r=n.offsetTop-e.scrollTop,l=Math.max(0,Math.min(n.offsetLeft,e.offsetWidth-256));return document.body.removeChild(s),{top:r,left:l}}(a.current,s.start))):(c(!1),f.current=null)},[e,t,a]);let k=(0,s.useCallback)(s=>{if(null===t||null===f.current)return;let n=e.slice(0,f.current),r=e.slice(t);i(`${n}@${s.name} ${r}`),c(!1);let l=n.length+1+s.name.length+1;requestAnimationFrame(()=>{let e=a.current;e&&(e.focus(),e.setSelectionRange(l,l))})},[e,t,a,i]),b=(0,s.useCallback)(e=>!!o&&0!==j.length&&!e.nativeEvent.isComposing&&("ArrowDown"===e.key?(e.preventDefault(),h(e=>(e+1)%j.length),!0):"ArrowUp"===e.key?(e.preventDefault(),h(e=>(e-1+j.length)%j.length),!0):"Enter"===e.key?(e.preventDefault(),k(j[m]),!0):"Escape"===e.key&&(e.preventDefault(),c(!1),!0)),[o,j,m,k]);return{isOpen:o,query:d,selectedIndex:m,anchorPos:p,relatedAgents:v,otherAgents:y,allAgents:j,handleMentionKeyDown:b,selectAgent:k}}({input:eu,caretIndex:ti,textareaRef:t4,agents:(0,s.useMemo)(()=>y.filter(e=>e.id!==ea),[y,ea]),agentLinks:j,currentAgentId:ea,onInputChange:em});(0,s.useEffect)(()=>{let e=`chat-draft:${ea}:${el??"default"}`;eu?localStorage.setItem(e,eu):localStorage.removeItem(e)},[eu,ea,el]),(0,s.useEffect)(()=>{ep||t4.current?.focus()},[ep]);let t8=(0,s.useCallback)(()=>{tQ.current=!0,setTimeout(()=>{tO.current?.scrollTo({top:tO.current.scrollHeight,behavior:"smooth"})},50)},[]);(0,s.useEffect)(()=>{if(K)return;tV.current&&clearInterval(tV.current),tV.current=null,tY.current=null;let e=!1;return eI(!0),tJ.current=!1,ej(null),eT([]),tl([]),ty(new Map),tp([]),tf({}),td([]),tm(!1),t1.current=null,em(localStorage.getItem(`chat-draft:${ea}:${el??"default"}`)??""),ed([]),async function(){let t=!1;try{let s=null,a=null;if(el){if(s=el,a=await (0,N.getCacheMeta)(s,x),a?.newestMessageId){let n=await (0,N.getCachedMessages)(s,x);if(e)return;n&&n.length>0&&(t=!0,ed(n),eR(a.hasMore),eI(!1))}}else try{let n=await (0,w.checkFreshness)({agentId:ea,channel:X},x);if(e)return;if(s=n.conversation_id,a=await (0,N.getCacheMeta)(s,x),a?.newestMessageId&&a.newestMessageId===n.newest_message_id){let n=await (0,N.getCachedMessages)(s,x);if(e)return;n&&n.length>0&&(t=!0,ed(n),eR(a.hasMore),eI(!1))}}catch{}if(s){let t=await (0,w.conversationInit)(s,x,{newestMessageId:a?.newestMessageId??void 0});if(e)return;if(eo(t.conversation),tm(t.has_more_conversations),!t.cache_valid&&t.messages?(ed(e=>ek(e,t.messages)),tA.current(t.messages,t.has_more_messages).catch(()=>{}),eR(t.has_more_messages)):a&&eR(a.hasMore),tf(t.step_counts),eL(t.artifacts),tl(t.buffered_messages),tC(new Set(t.flagged_message_ids)),t.active_task&&(ej(t.active_task),eT(t.task_messages),t.task_messages.length>0&&(tX.current=Math.max(...t.task_messages.map(e=>e.seq))),t0.current?.(t.active_task.id,s,tX.current)),en){let t=await (0,w.getTask)(en,x).catch(()=>null);if(e)return;if(t&&!["completed","failed","cancelled","superseded"].includes(t.status)){ej(t);let a=await (0,w.getTaskMessages)(en,x).catch(()=>[]);if(e)return;eT(a),a.length>0&&(tX.current=Math.max(...a.map(e=>e.seq))),t0.current?.(t.id,s,tX.current)}}}else{let t=await (0,w.chatInit)(ea,x,X);if(e)return;eo(t.conversation),ed(e=>e.length>0?ek(e,t.messages):t.messages),eR(t.has_more_messages),eL(t.artifacts),tl(t.buffered_messages),tm(t.has_more_conversations),tA.current(t.messages,t.has_more_messages).catch(()=>{}),(0,w.listFlaggedMessageIds)(x,t.conversation.id).then(t=>{e||tC(new Set(t.message_ids))}).catch(()=>{}),t.active_task&&(ej(t.active_task),t.task_messages.length>0&&(eT(t.task_messages),tX.current=Math.max(...t.task_messages.map(e=>e.seq))),["completed","failed","cancelled","superseded"].includes(t.active_task.status)||t0.current?.(t.active_task.id,t.conversation.id,tX.current))}}catch{t?M.toast.error("Couldn't refresh conversation"):M.toast.error("Failed to load conversation")}finally{e||eI(!1)}}(),()=>{e=!0}},[ea,x,el,en,X,K]);let t7=(0,s.useRef)(V);(0,s.useEffect)(()=>{t7.current=V},[V]);let t9=(0,s.useRef)(null);(0,s.useEffect)(()=>{if(!ei?.id||!x||t9.current===ei.id)return;t9.current=ei.id;let e=setTimeout(()=>{(0,w.markInboxRead)(ei.id,x).then(()=>t7.current()).catch(()=>{})},1e3);return()=>{t9.current=null,clearTimeout(e)}},[ei?.id,x]),(0,s.useEffect)(()=>{eM||!(ec.length>0)||tJ.current||(tJ.current=!0,en||er?tQ.current=!1:i?setTimeout(()=>{let e=tO.current?.querySelectorAll("[data-quote-source]");e&&e.length>0?e[e.length-1].scrollIntoView({behavior:"instant",block:"start"}):tO.current?.scrollTo({top:tO.current.scrollHeight})},50):setTimeout(()=>{tO.current?.scrollTo({top:tO.current.scrollHeight})},50))},[eM,ec.length,en,er,i]),(0,s.useEffect)(()=>{let e;if(!en||eM||!ei)return;tQ.current=!1,tG.current=!0;let t=!1,s=()=>{if(t)return!1;let s=document.querySelector(`[data-task-id="${CSS.escape(en)}"]`);return!!s&&(s.scrollIntoView({behavior:"smooth",block:"start"}),s.classList.add("task-highlight"),e=setTimeout(()=>{s.classList.remove("task-highlight"),t||(tG.current=!1)},1500),!0)},a=setTimeout(async()=>{if(!t&&!s())try{let e=await (0,w.listMessagesAroundTask)(ei.id,x,en);if(t)return;e.length>0?(ed(t=>ek(t,e)),requestAnimationFrame(()=>{setTimeout(()=>{s()||(tG.current=!1)},100)})):tG.current=!1}catch{t||(tG.current=!1)}},100);return()=>{t=!0,clearTimeout(a),e&&clearTimeout(e)}},[en,eM,ei,x]),(0,s.useEffect)(()=>{let e;if(!er||en||eM||!ei)return;tQ.current=!1,tG.current=!0;let t=!1,s=setTimeout(()=>{!t&&((()=>{if(t)return!1;let s=document.querySelector(`[data-message-id="${CSS.escape(er)}"]`);return!!s&&(s.scrollIntoView({behavior:"smooth",block:"start"}),s.classList.add("task-highlight"),e=setTimeout(()=>{s.classList.remove("task-highlight"),t||(tG.current=!1)},1500),!0)})()||(tO.current?.scrollTo({top:tO.current.scrollHeight}),tG.current=!1))},100);return()=>{t=!0,clearTimeout(s),e&&clearTimeout(e)}},[er,en,eM,ei]);let se=ev?.status;(0,s.useEffect)(()=>{tG.current||("running"===se||"queued"===se)&&tQ.current&&t8()},[eS.length,se,t8]);let st=(0,s.useMemo)(()=>y.find(e=>e.id===ea)?.name??"Agent",[y,ea]),ss=ew(ec),sa=ew(ez),sn=ew(tc),sr=ew(tu),sl=ew(st),si=ew(X),so=(0,s.useCallback)(async(e=!1)=>{if(!ei||tZ.current)return;tZ.current=!0;let t=ss.current,s=sa.current,n=sr.current,r=sl.current,l=si.current,i=!!el,o=t[0],c=t1.current?.id??ei.id,d=s&&o,u=sn.current;if(!i&&!d&&0===u.length&&n){let e=t1.current??{id:ei.id,created_at:ei.created_at};try{let t=await (0,w.listPreviousConversations)(ea,x,{exclude:ei.id,before:e.created_at,channel:l});u=t.conversations,td(t.conversations),tm(t.has_more)}catch{tm(!1)}}let m=!i&&u.length>0;if(!d&&!m){tZ.current=!1;return}eP(!0);let h=tO.current;h&&(h.style.overflowAnchor="none");let p=h?.scrollHeight??0;try{let t=[],s=[],m=20,g=!1,f=[],v=!1;if(d){let e=c===ei.id?await (0,N.getCachedMessagesBefore)(c,o.created_at,o.id,20,x):null;if(e)t=e.messages,m-=e.messages.length,g=e.hasMore;else{let e=await (0,w.listMessages)(c,x,{limit:20,before:o.created_at,beforeId:o.id});t=e.messages,m-=e.messages.length,g=e.has_more}v=g}if(!i&&!g&&m>0){if(0===u.length&&n){let e=t1.current??{id:ei.id,created_at:ei.created_at};try{let t=await (0,w.listPreviousConversations)(ea,x,{exclude:ei.id,before:e.created_at,channel:l});u=t.conversations,td(t.conversations),tm(t.has_more)}catch{tm(!1)}}let e=0,t=0;for(;e<u.length&&m>0&&t<5;){let a=u[e];e++,t++;let n=await (0,w.listMessages)(a.id,x,{limit:m});if(0===n.messages.length){t1.current=a;continue}let l=t1.current?.created_at??ei.created_at;f.push({agentName:r,created_at:l,id:`nap-${a.id}`}),s=[...n.messages,...s],m-=n.messages.length,g=n.has_more,t1.current=a}e>0&&td(t=>t.slice(e))}let y=[...s,...t];if((0,a.flushSync)(()=>{y.length>0?(f.length>0&&tp(e=>{let t=new Set(e.map(e=>e.id)),s=f.filter(e=>!t.has(e.id));return[...e,...s]}),eR(g),ed(e=>{let t=new Set(e.map(e=>e.id));return[...y.filter(e=>!t.has(e.id)),...e]})):eR(!1)}),y.length>0&&ei){let e=y.filter(e=>e.conversation_id===ei.id);e.length>0&&(0,N.mergeCachedMessages)(ei.id,e,v,x).catch(()=>{})}if(tZ.current=!1,(0,a.flushSync)(()=>eP(!1)),h)if(e)h.scrollTop=h.scrollHeight;else{let e=h.scrollHeight;h.scrollTop=e-p}}catch{M.toast.error("Failed to load older messages")}finally{tZ.current=!1,eP(!1),tO.current&&(tO.current.style.overflowAnchor="")}},[ei,x,ea,el,ss,sa,sr,sl,si,sn]),sc=el?ez:ez||tc.length>0||tu;(0,s.useEffect)(()=>{ei?.id!==t5.current&&(t5.current=ei?.id,t2.current=0)},[ei?.id]),(0,s.useEffect)(()=>{eM||!ei||en||el||ec.length>=10||!sc||eF||t2.current>=3||(t2.current+=1,so(!0))},[eM,ec.length,sc,eF,ei,so,en,el]);let sd=(0,s.useCallback)(()=>{let e=tO.current;e&&(tQ.current=e.scrollHeight-e.scrollTop-e.clientHeight<100)},[]),su=(0,s.useCallback)((e,t,s)=>{tV.current&&clearInterval(tV.current),tX.current=s??0,tK.current=0,eE(!1),tY.current=e,tV.current=setInterval(async()=>{if(tY.current===e)try{let[s,a]=await Promise.all([(0,w.getTask)(e,x),(0,w.getTaskMessages)(e,x,tX.current||void 0)]),n=tY.current!==e;if(tK.current=0,eE(!1),a.length>0&&!n&&(eT(e=>{let t=new Set(e.map(e=>e.seq)),s=a.filter(e=>!t.has(e.seq));return s.length>0?[...e,...s]:e}),tX.current=Math.max(...a.map(e=>e.seq),tX.current)),"completed"===s.status||"failed"===s.status||"cancelled"===s.status||"superseded"===s.status){if(n)return void(0,w.listMessages)(t,x).then(({messages:e})=>{ed(t=>ek(t,e)),(0,N.mergeCachedMessages)(t,e,null,x).catch(()=>{})}).catch(()=>{});tV.current&&clearInterval(tV.current),tV.current=null,tU.current&&clearTimeout(tU.current),tU.current=setTimeout(()=>{(0,w.markInboxRead)(t,x).then(()=>t7.current()).catch(()=>{})},1e3);let a=!tG.current&&tQ.current;try{let[e,a]=await Promise.all([(0,w.listMessages)(t,x),(0,w.listArtifacts)(t,x).catch(()=>null)]);ed(t=>ek(t,e.messages)),(0,N.mergeCachedMessages)(t,e.messages,null,x).catch(()=>{}),a&&eL(a),ej(s)}catch{ej(s),M.toast.error("Failed to refresh messages")}a&&requestAnimationFrame(()=>{tO.current?.scrollTo({top:tO.current.scrollHeight,behavior:"smooth"})}),setTimeout(async()=>{if(!tV.current)try{let[s,a]=await Promise.all([(0,w.getActiveTask)(t,x),(0,w.listBufferedMessages)(t,x)]);if(tl(a),s&&s.id!==e){let{messages:e}=await (0,w.listMessages)(t,x);ed(t=>ek(t,e)),(0,N.mergeCachedMessages)(t,e,null,x).catch(()=>{}),ej(s),eT([]),t0.current?.(s.id,t)}}catch{}},1e3)}else n||ej(s)}catch{if(tY.current!==e)return;tK.current+=1,tK.current>=3&&eE(!0),tK.current>=10&&(tV.current&&clearInterval(tV.current),tV.current=null,M.toast.error("Lost connection to agent"))}},3e3)},[x]);(0,s.useEffect)(()=>{t0.current=su},[su]),(0,s.useEffect)(()=>()=>{tV.current&&clearInterval(tV.current),tU.current&&clearTimeout(tU.current)},[]);let sm=(0,s.useRef)(null);(0,s.useEffect)(()=>{sm.current=ev?.id??null},[ev]),(0,s.useEffect)(()=>H(e=>{if("task.messages"===e.type&&e.taskId===sm.current){let t=e.messages.filter(e=>e.seq>tX.current);t.length>0&&(eT(e=>{let s=new Set(e.map(e=>e.seq)),a=t.filter(e=>!s.has(e.seq));return a.length>0?[...e,...a]:e}),tX.current=Math.max(...t.map(e=>e.seq),tX.current))}if("task.created"===e.type&&e.conversationId===ei?.id){(0,w.listMessages)(e.conversationId,x).then(({messages:t})=>{ed(e=>ek(e,t)),(0,N.mergeCachedMessages)(e.conversationId,t,null,x).catch(()=>{})}).catch(()=>{});let t=e.task;sm.current=t.id,ej(t),eT([]),tX.current=0,t0.current?.(t.id,e.conversationId)}if("conversation.message"===e.type&&e.conversationId===ei?.id&&(ed(t=>ek(t,[e.message])),(0,N.appendCachedMessage)(e.conversationId,e.message,x).catch(()=>{})),"task.updated"===e.type&&e.taskId===sm.current&&ej(t=>t?{...t,status:e.status}:t),"artifact.uploaded"===e.type&&e.conversationId===ei?.id&&eL(t=>t.some(t=>t.id===e.artifact.id)?t:[...t,e.artifact]),"followup.dispatched"===e.type&&e.conversationId===ei?.id){tl(t=>t.filter(t=>t.id!==e.message.id)),(0,w.listBufferedMessages)(e.conversationId,x).then(tl).catch(()=>{}),(0,w.listMessages)(e.conversationId,x).then(({messages:t})=>{ed(e=>ek(e,t)),(0,N.mergeCachedMessages)(e.conversationId,t,null,x).catch(()=>{})}).catch(()=>{});let t=e.task;sm.current=t.id,ej(t),eT([]),t0.current?.(t.id,e.conversationId)}"followup.created"===e.type&&e.conversationId===ei?.id&&tl(t=>(function(e,t){if(e.some(e=>e.id===t.id))return e;let s=new Date(t.created_at).getTime();return e.some(e=>e.id.startsWith("temp-")&&2e3>Math.abs(new Date(e.created_at).getTime()-s))?e:[...e,t]})(t,e.message)),"followup.deleted"===e.type&&e.conversationId===ei?.id&&tl(t=>t.filter(t=>t.id!==e.messageId)),"followup.dispatch_failed"===e.type&&e.conversationId===ei?.id&&M.toast.error(e.error||"Failed to dispatch follow-up")}),[H,ei?.id,x]);let sh=(0,s.useCallback)(e=>{let t=e.target.files;if(!t)return;let s=[];for(let e of Array.from(t))e.size>0xa00000?M.toast.error(`"${e.name}" exceeds 10 MB limit`):s.push(e);s.length>0&&tn(e=>[...e,...s]),e.target.value=""},[]),sp=(0,s.useCallback)(e=>{tn(t=>t.filter((t,s)=>s!==e))},[]),sg=(0,s.useCallback)(()=>{let e=window.getSelection();if(!e||e.isCollapsed||!e.rangeCount)return void tw(null);let t=e.toString().trim();if(!t)return void tw(null);let s=e.getRangeAt(0),a=s.commonAncestorContainer instanceof HTMLElement?s.commonAncestorContainer:s.commonAncestorContainer.parentElement;if(!a?.closest("[data-quote-source]"))return void tw(null);let n=s.getClientRects(),r=n[n.length-1]||s.getBoundingClientRect();tw({text:t,x:r.right,y:r.top-4})},[]);(0,s.useEffect)(()=>(document.addEventListener("selectionchange",sg),()=>document.removeEventListener("selectionchange",sg)),[sg]);let sf=(0,s.useCallback)(()=>{tb&&(tk(tb.text),tw(null),window.getSelection()?.removeAllRanges(),t4.current?.focus())},[tb]),[sx,sv]=(0,s.useState)(!1),sy=(0,s.useRef)(0),sj=(0,s.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),sy.current++,e.dataTransfer.types.includes("Files")&&sv(!0)},[]),sk=(0,s.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),sy.current--,0===sy.current&&sv(!1)},[]),sb=(0,s.useCallback)(e=>{e.preventDefault(),e.stopPropagation()},[]),sw=(0,s.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),sv(!1),sy.current=0;let t=Array.from(e.dataTransfer.files),s=[];for(let e of t)e.size>0xa00000?M.toast.error(`"${e.name}" exceeds 10 MB limit`):s.push(e);s.length>0&&tn(e=>[...e,...s])},[]),sN=(0,s.useCallback)(e=>{let t=e.clipboardData?.items;if(!t)return;let s=[];for(let e=0;e<t.length;e++){let a=t[e];if("file"===a.kind){let e=a.getAsFile();e&&s.push(e)}}if(0===s.length)return;e.preventDefault();let a=[];for(let e of s)e.size>0xa00000?M.toast.error(`"${e.name}" exceeds 10 MB limit`):a.push(e);a.length>0&&tn(e=>[...e,...a])},[]),sC=async()=>{if(ei&&!ef){ex(!0);try{let e=await (0,w.cancelActiveTask)(ei.id,x);if(e){if(sm.current&&sm.current!==e.id)return;tV.current&&clearInterval(tV.current),tV.current=null;let[t,s]=await Promise.all([(0,w.listMessages)(ei.id,x),(0,w.listBufferedMessages)(ei.id,x)]);ed(e=>ek(e,t.messages)),(0,N.mergeCachedMessages)(ei.id,t.messages,null,x).catch(()=>{}),tl(s),ej(e),eT([])}}catch{M.toast.error("Failed to cancel task")}finally{ex(!1)}}},s_=async()=>{let e=eu.trim();if(!e&&0===ta.length||ep||!ei)return;if(!e)return void M.toast.error("Please type a message");let t=tj?`> ${tj.split("\n").join("\n> ")}
|
|
2
|
+
|
|
3
|
+
${e}`:e,s=[...ta];if(em(""),tn([]),tk(null),eg(!0),ev&&!["completed","failed","cancelled","superseded"].includes(ev.status)){let e=`temp-${Date.now()}`,a={id:e,conversation_id:ei.id,role:"user",content:t,task_id:null,attachment_ids:null,status:"buffered",created_at:new Date().toISOString()};tl(e=>[...e,a]);try{let{message:a}=await (0,w.createBufferedMessage)(ei.id,t,x,s.length>0?s:void 0);tl(t=>t.some(e=>e.id===a.id)?t.filter(t=>t.id!==e):t.map(t=>t.id===e?a:t))}catch(a){tl(t=>t.filter(t=>t.id!==e)),em(t),tn(s),M.toast.error(a instanceof Error?a.message:"Failed to queue follow-up")}finally{eg(!1)}return}let a=`temp-${Date.now()}`,n={id:a,conversation_id:ei.id,role:"user",content:t,task_id:null,attachment_ids:null,created_at:new Date().toISOString()};s.length>0&&ty(e=>{let t=new Map(e);return t.set(a,s),t}),ed(e=>[...e,n]),t8();try{let{message:e,task:r}=await (0,w.sendMessage)(ei.id,t,x,s.length>0?s:void 0);ty(e=>{if(!e.has(a))return e;let t=new Map(e);return t.delete(a),t}),ed(t=>t.map(t=>t.id===n.id?e:t)),e.attachment_ids&&e.attachment_ids.length>0&&(0,w.listArtifacts)(ei.id,x).then(e=>eL(e)).catch(()=>{}),ej(r),eT([]),su(r.id,ei.id)}catch(e){ty(e=>{if(!e.has(a))return e;let t=new Map(e);return t.delete(a),t}),ed(e=>e.filter(e=>e.id!==n.id)),em(t),tn(s),M.toast.error(e instanceof Error?e.message:"Failed to send message")}finally{eg(!1),t4.current?.focus()}},sS=(0,s.useCallback)(async()=>{if(!ev||!ei)return;let e=await (0,w.retryTask)(ev.id,x);ej(e),eT([]),su(e.id,ei.id)},[ev,ei,x,su]),sT=(0,s.useCallback)(async e=>{let t=t_.current.has(e);tC(s=>{let a=new Set(s);return t?a.delete(e):a.add(e),a}),t?(tT(),(0,w.unflagMessage)(x,e).then(()=>{tM()}).catch(()=>{tC(t=>new Set(t).add(e)),tS()})):(tS(),(0,w.flagMessage)(x,e).then(()=>{tM()}).catch(()=>{tC(t=>{let s=new Set(t);return s.delete(e),s}),tT()}))},[x,tS,tT,tM]),sM=(0,s.useCallback)(async e=>{e2(e),e0(!0),e6(!0),e7(null),te(null);try{let t=await (0,w.getIssue)(x,e);e3(t),t.issue.latest_task_id&&(0,w.getTask)(t.issue.latest_task_id,x).then(e=>te(e)).catch(()=>te(null)),t.issue.trace_id&&(0,w.getTrace)(t.issue.trace_id,x).then(e=>e7(e.tasks)).catch(()=>e7(null))}catch(e){M.toast.error(e instanceof Error?e.message:"Failed to load issue"),e0(!1)}finally{e6(!1)}},[x]),sI=e5?.issue?.conversation_id??null,sA=e5?.issue?.latest_task_id??null;(0,s.useEffect)(()=>{if(eG&&e1)return H(e=>{if("task.updated"===e.type&&sA&&e.taskId===sA&&(0,w.getTask)(sA,x).then(e=>te(e)).catch(()=>{}),"conversation.message"===e.type&&sI&&e.conversationId===sI&&(e3(t=>!t||t.messages.some(t=>t.id===e.message.id)?t:{...t,messages:[...t.messages,e.message]}),"event"===e.message.role&&e.message.content.startsWith("Issue status changed:"))){let t=e.message.content.match(/-> (\w+)/);t&&e3(e=>e?{...e,issue:{...e.issue,status:t[1]}}:e)}"issue.comment"===e.type&&e.issueId===e1&&e3(t=>!t||t.comments.some(t=>t.id===e.comment.id)?t:{...t,comments:[...t.comments,e.comment]})})},[eG,e1,sI,sA,x,H]);let[sE,sz]=(0,s.useState)(!1),sR=(0,s.useMemo)(()=>!!ei&&ec.some(e=>e.conversation_id===ei.id),[ei,ec]),sF=async()=>{if(ei&&sR&&!sE){sz(!0);try{tV.current&&(clearInterval(tV.current),tV.current=null);let e=await (0,w.createConversation)(ea,x,X);tp(t=>[...t,{agentName:st,created_at:e.created_at,id:`nap-${ei.id}`}]),td(e=>[{id:ei.id,created_at:ei.created_at},...e]),eo(e),ej(null),eT([]),eL([]),tl([]),tn([]),ty(new Map),tX.current=0,eE(!1),eR(!1),t1.current=null,t8()}catch{M.toast.error("Failed to start new conversation")}finally{sz(!1)}}},sP=!!ev&&!["completed","failed","cancelled","superseded"].includes(ev.status);return eM?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"flex-1 overflow-y-auto px-3 md:px-5",children:(0,t.jsxs)("div",{className:"mx-auto max-w-2xl py-6 space-y-4",children:[(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(I.Skeleton,{className:"h-10 w-48 rounded-lg"})}),(0,t.jsx)("div",{className:"flex justify-start",children:(0,t.jsxs)("div",{className:"space-y-2 px-1 py-1",children:[(0,t.jsx)(I.Skeleton,{className:"h-4 w-72"}),(0,t.jsx)(I.Skeleton,{className:"h-4 w-56"}),(0,t.jsx)(I.Skeleton,{className:"h-4 w-64"})]})}),(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(I.Skeleton,{className:"h-10 w-36 rounded-lg"})}),(0,t.jsx)("div",{className:"flex justify-start",children:(0,t.jsxs)("div",{className:"space-y-2 px-1 py-1",children:[(0,t.jsx)(I.Skeleton,{className:"h-4 w-64"}),(0,t.jsx)(I.Skeleton,{className:"h-4 w-48"})]})})]})}),(0,t.jsx)("div",{className:"px-3 md:px-5 py-3",children:(0,t.jsx)("div",{className:"mx-auto max-w-2xl",children:(0,t.jsx)(I.Skeleton,{className:"h-18 w-full rounded-xl"})})})]}):eM||ei||0!==ec.length?(0,t.jsxs)(t.Fragment,{children:[tb&&(0,t.jsxs)("button",{type:"button",className:"fixed z-50 flex items-center gap-1 px-2 py-1 rounded-md bg-popover border shadow-md text-xs text-popover-foreground hover:bg-accent transition-colors",style:{left:tb.x,top:tb.y,transform:"translate(-100%, -100%)"},onMouseDown:e=>e.preventDefault(),onClick:sf,children:[(0,t.jsx)(D,{className:"size-3"}),"Quote"]}),(0,t.jsxs)("div",{className:"relative flex-1 min-h-0",children:[(0,t.jsx)("div",{className:"h-full overflow-y-auto overflow-x-hidden px-3 md:px-5 thin-scrollbar",ref:tO,onScroll:sd,onClick:e=>{e.target.closest('[data-streamdown="code-block-actions"] button')&&M.toast.success("Copied to clipboard")},children:(0,t.jsxs)("div",{className:"mx-auto max-w-2xl py-6 space-y-4 min-w-0",children:[ei&&sc&&!eF&&(0,t.jsx)("div",{className:"flex justify-center py-2",children:(0,t.jsx)("button",{onClick:()=>so(),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"Load earlier messages"})}),eF&&(0,t.jsx)("div",{className:"flex justify-center py-2",children:(0,t.jsx)(g.Loader2,{className:"size-4 animate-spin text-muted-foreground"})}),0===ec.length&&!ev&&(u=y.find(e=>e.id===ea),m=u?.created_at&&tx-new Date(u.created_at).getTime()<3e5,h=(k[ea]??0)>0,m&&h&&"default"===X?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center py-20 gap-3 animate-[fade-up_400ms_ease-out_both]",children:[(0,t.jsxs)("div",{className:"relative animate-bounce",children:[(0,t.jsx)(P.Mail,{className:"size-8 text-primary"}),(0,t.jsxs)("span",{className:"absolute -top-1 -right-1 flex size-3",children:[(0,t.jsx)("span",{className:"animate-ping absolute inline-flex size-full rounded-full bg-primary/60"}),(0,t.jsx)("span",{className:"relative inline-flex size-3 rounded-full bg-primary"})]})]}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground text-center max-w-xs",children:"Your agent is sending you a welcome email."}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground/60 text-center max-w-xs",children:"Wait for the email task in the top-left to complete, then check your inbox. Or send a message below to start chatting."})]}):(0,t.jsx)("p",{className:"text-center text-muted-foreground py-20 text-sm",children:"Send a message to start chatting with the agent."})),t$.map(e=>{if("nap"===e.kind)return(0,t.jsx)(eN,{agentName:st},e.data.id);if("artifact"===e.kind)return(0,t.jsx)(eC,{artifact:e.data,version:tP.get(e.data.id)??1,hasDuplicates:tD.has(e.data.filename),onClick:tW},`artifact-${e.data.id}`);let s=e.data;return(0,t.jsx)(eh,{msg:s,agents:y,artifacts:eD,activeTask:ev,taskMessages:eS,connectionLost:eA,isLastMessage:ec.length>0&&ec[ec.length-1].id===s.id,stepCount:s.task_id?tg[s.task_id]??0:0,targetConvId:el,workspaceId:x,conversationType:ei?.type,pendingFilesByMessage:tv,onArtifactClick:tW,onEmailClick:e=>{eX(e),eU(!0)},onCalendarEventClick:e=>{eQ(e),eJ(!0)},onIssueClick:e=>sM(e),onRetry:sS,mentionComponents:ey,isFlagged:tN.has(s.id),onToggleFlag:"assistant"===s.role?sT:void 0},s.id)}),ev&&ev.conversation_id===ei?.id&&!["completed","failed","cancelled","superseded"].includes(ev.status)&&(0,t.jsx)(b,{task:ev,messages:eS,connectionLost:eA})]})}),(0,t.jsx)(et.ScrollToBottomButton,{scrollRef:tO})]}),ei&&(0,t.jsx)(ee,{bufferedMessages:tr,onDelete:e=>{tl(t=>t.filter(t=>t.id!==e)),(0,w.deleteBufferedMessage)(ei.id,e,x).catch(()=>{tl(tr),M.toast.error("Failed to delete follow-up")})}}),(0,t.jsx)("div",{className:"px-3 md:px-5 py-3",children:(0,t.jsx)("div",{className:"mx-auto max-w-2xl relative",children:(0,t.jsxs)("div",{className:(0,o.cn)("relative flex flex-col rounded-xl border bg-background/60 transition-colors duration-200","focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50",ep&&"opacity-50",sx&&"border-ring ring-3 ring-ring/50"),onDragEnter:sj,onDragLeave:sk,onDragOver:sb,onDrop:sw,children:[sx&&(0,t.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center rounded-xl bg-background/80 border-2 border-dashed border-ring pointer-events-none",children:(0,t.jsx)("p",{className:"text-sm text-muted-foreground font-medium",children:"Drop files here"})}),tj&&(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3.5 pt-2.5 pb-1 border-b border-border/50",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0 flex items-start gap-2",children:[(0,t.jsx)(D,{className:"size-3.5 shrink-0 mt-0.5 text-muted-foreground"}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground truncate",children:[tj.slice(0,120),tj.length>120?"...":""]})]}),(0,t.jsx)("button",{type:"button",onClick:()=>tk(null),className:"shrink-0 p-0.5 rounded-sm hover:bg-muted-foreground/20 transition-colors text-muted-foreground",children:(0,t.jsx)($.X,{className:"size-3.5"})})]}),(0,t.jsx)(O,{isOpen:t6.isOpen,relatedAgents:t6.relatedAgents,otherAgents:t6.otherAgents,selectedIndex:t6.selectedIndex,onSelect:t6.selectAgent,anchorPos:t6.anchorPos}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("div",{"aria-hidden":!0,className:"mention-backdrop absolute inset-0 px-3.5 py-2.5 text-base chat-input-line-height whitespace-pre-wrap wrap-break-word pointer-events-none overflow-y-auto thin-scrollbar",dangerouslySetInnerHTML:{__html:eu?U(eu.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),y).replace(/<mention[^>]*>/g,'<span class="mention-highlight">').replace(/<\/mention>/g,"</span>")+(eu.endsWith("\n")?"\n":""):""}}),(0,t.jsx)("textarea",{ref:t4,value:eu,onChange:e=>{em(e.target.value),to(e.target.selectionStart),requestAnimationFrame(()=>{let t=e.target.previousElementSibling;t&&(t.scrollTop=e.target.scrollTop)})},onKeyDown:e=>{!t6.handleMentionKeyDown(e)&&("Enter"!==e.key||e.shiftKey||e.nativeEvent.isComposing||(e.preventDefault(),s_()))},onPaste:sN,onKeyUp:e=>to(e.target.selectionStart),onClick:e=>to(e.target.selectionStart),onSelect:e=>to(e.target.selectionStart),onScroll:e=>{let t=e.target.previousElementSibling;t&&(t.scrollTop=e.target.scrollTop)},placeholder:sP?"Type a follow-up...":"Type a message...",rows:1,disabled:ep,className:(0,o.cn)("relative field-sizing-content w-full resize-none bg-transparent px-3.5 py-2.5 text-base chat-input-line-height outline-none","placeholder:text-muted-foreground disabled:cursor-not-allowed","min-h-9.5 max-h-50 thin-scrollbar","caret-foreground textarea-text-hidden")})]}),ta.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5 px-3.5 pb-1",children:ta.map((e,s)=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-md bg-muted px-2 py-1 text-xs text-muted-foreground",children:[(0,t.jsx)(F.FileText,{className:"size-3 shrink-0"}),(0,t.jsx)("span",{className:"truncate max-w-30",children:e.name}),(0,t.jsx)("span",{className:"text-muted-foreground/60",children:(0,Y.formatSize)(e.size)}),(0,t.jsx)("button",{type:"button",onClick:()=>sp(s),className:"ml-0.5 rounded-sm p-0.5 hover:bg-muted-foreground/20 transition-colors",children:(0,t.jsx)($.X,{className:"size-3"})})]},`${e.name}-${s}`))}),(0,t.jsxs)("div",{className:"flex items-center justify-between px-2 pb-2 pt-0.5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[!el&&(0,t.jsxs)(A.Tooltip,{children:[(0,t.jsx)(A.TooltipTrigger,{render:e=>(0,t.jsx)("span",{...e,className:(0,o.cn)("inline-flex",e.className),children:(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-sm",onClick:sF,disabled:sE||!ei||!sR||sP,className:"rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200",children:sE?(0,t.jsx)(g.Loader2,{className:"size-3.5 animate-spin"}):(0,t.jsx)(z,{className:"size-3.5"})})})}),(0,t.jsx)(A.TooltipContent,{side:"top",children:sP?"Wait for the task to finish":sR?"Take a nap":`${st} is well-rested and ready to go`})]}),(0,t.jsxs)(A.Tooltip,{children:[(0,t.jsxs)(A.TooltipTrigger,{render:(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-sm",onClick:()=>{eO("agent"),eB(!0)},className:"relative rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:[(0,t.jsx)(R,{className:"size-3.5"}),tF.length>0&&(0,t.jsx)("span",{className:"absolute -top-0.5 -right-0.5 flex size-3.5 items-center justify-center rounded-full bg-primary text-[9px] font-medium text-primary-foreground",children:tF.length})]}),(0,t.jsx)(A.TooltipContent,{side:"top",children:"Artifacts"})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)("input",{ref:t3,type:"file",multiple:!0,className:"hidden",onChange:sh}),(0,t.jsxs)(A.Tooltip,{children:[(0,t.jsx)(A.TooltipTrigger,{render:(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-sm",onPointerDown:e=>e.preventDefault(),onClick:()=>t3.current?.click(),disabled:ep,className:"rounded-lg text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:(0,t.jsx)(q.Paperclip,{className:"size-3.5"})}),(0,t.jsx)(A.TooltipContent,{side:"top",children:"Attach files"})]}),tz&&(0,t.jsxs)(A.Tooltip,{children:[(0,t.jsx)(A.TooltipTrigger,{render:(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-sm",onPointerDown:e=>e.preventDefault(),onClick:tR,disabled:ep,className:(0,o.cn)("rounded-lg transition-colors duration-200",tE?"text-red-500 hover:text-red-600 bg-red-500/10":"text-muted-foreground/60 hover:text-foreground")}),children:(0,t.jsx)(L,{className:(0,o.cn)("size-3.5",tE&&"animate-pulse")})}),(0,t.jsx)(A.TooltipContent,{side:"top",children:tE?"Stop recording":"Voice input"})]}),!sP||eu.trim()||ep?(0,t.jsxs)(A.Tooltip,{children:[(0,t.jsx)(A.TooltipTrigger,{render:(0,t.jsx)(l.Button,{size:"icon-sm",onClick:s_,disabled:!eu.trim()||ep,className:(0,o.cn)("rounded-lg transition-opacity duration-200",!eu.trim()&&"opacity-40")}),children:ep?(0,t.jsx)(g.Loader2,{className:"size-3.5 animate-spin"}):(0,t.jsx)(E.ArrowUp,{className:"size-3.5"})}),(0,t.jsx)(A.TooltipContent,{side:"top",children:"Send"})]}):(0,t.jsxs)(A.Tooltip,{children:[(0,t.jsx)(A.TooltipTrigger,{render:(0,t.jsx)(l.Button,{size:"icon-sm",onClick:sC,disabled:ef,className:"rounded-lg bg-red-500/10 text-red-500 hover:bg-red-500/20 transition-colors duration-200"}),children:ef?(0,t.jsx)(g.Loader2,{className:"size-3.5 animate-spin"}):(0,t.jsx)(B.Square,{className:"size-3.5 fill-current"})}),(0,t.jsx)(A.TooltipContent,{side:"top",children:"Stop task"})]})]})]})]})})}),(0,t.jsx)(Y.ArtifactSheet,{open:eq,onOpenChange:e=>{eB(e),e||setTimeout(()=>{eW(null),eO(null)},300)},artifacts:tL,workspaceId:x,initialArtifact:e$,versionMap:tq,duplicateFilenames:tB}),(0,t.jsx)(J,{open:eV,onOpenChange:e=>{eU(e),e||setTimeout(()=>eX(null),300)},emailId:eY,workspaceId:x}),(0,t.jsx)(Z.CalendarEventSheet,{readonly:!0,open:eK,onOpenChange:e=>{eJ(e),e||setTimeout(()=>eQ(null),300)},calendarEventId:eZ,workspaceId:x}),(0,t.jsx)(Q.IssueSheet,{open:eG,onOpenChange:e=>{e0(e),e||setTimeout(()=>{e2(null),e3(null),te(null)},300)},agents:y,issue:e5?.issue??null,detail:e5?{messages:e5.messages,comments:e5.comments,artifacts:e5.artifacts,traceId:e5.issue.trace_id}:null,detailLoading:e4,activeTask:e9,traceTasks:e8,slug:v,workspaceId:x,width:tt,onWidthChange:ts,onUpdate:async(e,t)=>{try{let s=await (0,w.updateIssue)(x,e,t);e3(a=>a&&a.issue.id===e?{...a,issue:{...a.issue,...t,updated_at:s.updated_at}}:a)}catch(e){M.toast.error(e instanceof Error?e.message:"Failed to update issue")}},onStatusChange:async(e,t)=>{try{await (0,w.updateIssue)(x,e,{status:t}),e3(s=>s&&s.issue.id===e?{...s,issue:{...s.issue,status:t}}:s)}catch(e){M.toast.error(e instanceof Error?e.message:"Failed to update status")}},onCommented:()=>{e1&&sM(e1)},onArtifactClick:tH})]}):(0,t.jsx)("div",{className:"flex flex-1 items-center justify-center text-sm text-muted-foreground",children:"Failed to load conversation"})}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,500324,e=>{"use strict";var t=e.i(368075),n=e.i(298699);let r=(0,n.createContext)(null);e.s(["WorkspaceProvider",0,function({workspaceId:e,slug:a,children:s}){return(0,n.useEffect)(()=>{try{localStorage.setItem("lastWorkspace",a)}catch{}},[a]),(0,t.jsx)(r.Provider,{value:{workspaceId:e,slug:a},children:s})},"useWorkspace",0,function(){let e=(0,n.useContext)(r);if(!e)throw Error("useWorkspace must be used within WorkspaceProvider");return e}])},222862,636557,e=>{"use strict";class t extends Error{status;details;constructor(e,t,n){super(e),this.name="ApiError",this.status=t,this.details=n}get isNetworkError(){return 0===this.status}get isRateLimit(){return 429===this.status}get isUnauthorized(){return 401===this.status}}function n(e,t){return"validation error"===e&&t?.length?function(e){let[t,...n]=e.split(":"),r=n.join(":").trim();if(!r)return e;let a=t.trim(),s=a.trim().replace(/[_-]+/g," ").replace(/\b\w/g,e=>e.toUpperCase()),i=r.replace(/^required$/i,"is required"),o=i.toLowerCase().replace(/[_-]+/g," "),l=a.toLowerCase().replace(/[_-]+/g," ");return l&&o.startsWith(`${l} `)&&(i=i.slice(a.length).trimStart()),s?`${s} ${i}`:i}(t[0]):e}async function r(e,r){let a;try{a=await fetch(""+e,{...r,credentials:"include",headers:{"Content-Type":"application/json",...r?.headers}})}catch(e){if(e instanceof TypeError)throw new t("Unable to connect — check your network",0);throw e}if(401===a.status)throw window.location.href="/sign-in",new t("Unauthorized",401);if(!a.ok){let e,r;try{let t=await a.json();e=t.error,r=t.details}catch{}if(429===a.status)throw new t("Please wait a moment before trying again",429);if(a.status>=500)throw new t(n(e,r)||"Something went wrong — please try again",a.status,r);throw new t(n(e,r)||"Something went wrong",a.status,r)}if(204!==a.status)return a.json()}function a(e,t){let n=new URLSearchParams({workspace_id:e,...t});return`?${n.toString()}`}e.s(["ApiError",0,t],636557);let s=async(e,n,s,i)=>{let o;if(!i||0===i.length)return r(`/api/conversations/${e}/messages${a(s)}`,{method:"POST",body:JSON.stringify({content:n})});let l=new FormData;for(let e of(l.append("content",n),i))l.append("file",e);try{o=await fetch(`/api/conversations/${e}/messages${a(s)}`,{method:"POST",credentials:"include",body:l})}catch(e){if(e instanceof TypeError)throw new t("Unable to connect — check your network",0);throw e}if(401===o.status)throw window.location.href="/sign-in",new t("Unauthorized",401);if(!o.ok){let e,n;try{let t=await o.json();e=t.error,n=t.details}catch{}if(429===o.status)throw new t("Please wait a moment before trying again",429);if(o.status>=500)throw new t(e||"Something went wrong — please try again",o.status,n);throw new t(e||"Something went wrong",o.status,n)}return o.json()},i=async(e,n,s,i)=>{let o;if(!i||0===i.length)return r(`/api/conversations/${e}/buffered-messages${a(s)}`,{method:"POST",body:JSON.stringify({content:n})});let l=new FormData;for(let e of(l.append("content",n),i))l.append("file",e);try{o=await fetch(`/api/conversations/${e}/buffered-messages${a(s)}`,{method:"POST",credentials:"include",body:l})}catch(e){if(e instanceof TypeError)throw new t("Unable to connect — check your network",0);throw e}if(401===o.status)throw window.location.href="/sign-in",new t("Unauthorized",401);if(!o.ok){let e,n;try{let t=await o.json();e=t.error,n=t.details}catch{}if(429===o.status)throw new t(e||"Maximum follow-ups reached",429);if(o.status>=500)throw new t(e||"Something went wrong — please try again",o.status,n);throw new t(e||"Something went wrong",o.status,n)}return o.json()},o=async(e,t)=>{let n=new URLSearchParams({workspace_id:t}),r=await fetch(`/api/email/${e}/body?${n}`,{credentials:"include"});if(!r.ok)return{content:"(body not available)",isHtml:!1};let a=r.headers.get("Content-Type")??"";return{content:await r.text(),isHtml:a.includes("text/html")}},l=async(e,n)=>{let r=new FormData;r.append("file",e);let s=await fetch(`/api/email/upload${a(n)}`,{method:"POST",credentials:"include",body:r});if(!s.ok)throw new t(await s.text().catch(()=>"Upload failed"),s.status);return s.json()},c=async(e,n)=>{let s;if(!n.files||0===n.files.length)return r(`/api/issues${a(e)}`,{method:"POST",body:JSON.stringify({agent_id:n.agent_id,title:n.title,description:n.description})});let i=new FormData;for(let e of(n.agent_id&&i.append("agent_id",n.agent_id),i.append("title",n.title),i.append("description",n.description??""),n.files))i.append("file",e);try{s=await fetch(`/api/issues${a(e)}`,{method:"POST",credentials:"include",body:i})}catch(e){if(e instanceof TypeError)throw new t("Unable to connect — check your network",0);throw e}if(401===s.status)throw window.location.href="/sign-in",new t("Unauthorized",401);if(!s.ok){let e,n;try{let t=await s.json();e=t.error,n=t.details}catch{}if(429===s.status)throw new t("Please wait a moment before trying again",429);if(s.status>=500)throw new t(e||"Something went wrong — please try again",s.status,n);throw new t(e||"Something went wrong",s.status,n)}return s.json()},d=async(e,t)=>{let n=new URLSearchParams({workspace_id:t}),r=await fetch(`/api/artifacts/${e}/content?${n}`,{credentials:"include"});return r.ok?r.text():"(content not available)"};e.s(["acceptInvite",0,e=>r(`/api/invite/${e}`,{method:"POST"}),"addWhitelistEmail",0,(e,t,n)=>r(`/api/agents/${e}/whitelist${a(n)}`,{method:"POST",body:JSON.stringify({email:t})}),"approveMeeting",0,(e,t,n)=>r(`/api/agents/${e}/meetings/${t}/approve${a(n)}`,{method:"POST"}),"cancelActiveTask",0,(e,t)=>r(`/api/conversations/${e}/active-task${a(t)}`,{method:"DELETE"}),"chatInit",0,(e,t,n)=>r(`/api/agents/${e}/chat-init${a(t)}`,{method:"POST",body:JSON.stringify({...n?{channel:n}:{}})}),"checkFreshness",0,(e,t)=>{let n={};return e.conversationId&&(n.conversation_id=e.conversationId),e.agentId&&(n.agent_id=e.agentId),e.channel&&(n.channel=e.channel),r(`/api/conversations/check-fresh${a(t,n)}`)},"conversationInit",0,(e,t,n)=>{let s={};return n?.newestMessageId&&(s.newest_message_id=n.newestMessageId),r(`/api/conversations/${e}/init${a(t,s)}`)},"createAgent",0,(e,t)=>r(`/api/agents${a(t)}`,{method:"POST",body:JSON.stringify(e)}),"createAgentLink",0,(e,t)=>r(`/api/agent-links${a(t)}`,{method:"POST",body:JSON.stringify(e)}),"createBufferedMessage",0,i,"createCalendarEvent",0,(e,t)=>r(`/api/calendar${a(t)}`,{method:"POST",body:JSON.stringify(e)}),"createChannelApi",0,(e,t)=>r(`/api/channels${a(e)}`,{method:"POST",body:JSON.stringify({name:t})}),"createConversation",0,(e,t,n)=>r(`/api/conversations${a(t)}`,{method:"POST",body:JSON.stringify({agent_id:e,...n?{channel:n}:{}})}),"createEmailAccount",0,(e,t,n)=>r(`/api/agents/${e}/email-accounts${a(n)}`,{method:"POST",body:JSON.stringify(t)}),"createInvite",0,e=>r(`/api/workspaces/${e}/invites${a(e)}`,{method:"POST"}),"createIssue",0,c,"createMachineToken",0,(e,t)=>r(`/api/machine-tokens${t?a(t):""}`,{method:"POST",body:JSON.stringify({name:e||"default"})}),"createMeeting",0,(e,t,n)=>r(`/api/agents/${e}/meetings${a(t)}`,{method:"POST",body:JSON.stringify(n)}),"deleteAgent",0,(e,t)=>r(`/api/agents/${e}${a(t)}`,{method:"DELETE"}),"deleteAgentLink",0,(e,t)=>r(`/api/agent-links/${e}${a(t)}`,{method:"DELETE"}),"deleteBufferedMessage",0,(e,t,n)=>r(`/api/conversations/${e}/buffered-messages/${t}${a(n)}`,{method:"DELETE"}),"deleteCalendarEvent",0,(e,t,n)=>r(`/api/calendar/${e}${a(t)}`,{method:"DELETE",...n&&n.scope?{headers:{"Content-Type":"application/json"},body:JSON.stringify(n)}:{}}),"deleteChannelApi",0,(e,t)=>r(`/api/channels/${e}${a(t)}`,{method:"DELETE"}),"deleteEmail",0,(e,t)=>r(`/api/email/${e}${a(t)}`,{method:"DELETE"}),"deleteEmailAccount",0,(e,t,n)=>r(`/api/agents/${e}/email-accounts/${t}${a(n)}`,{method:"DELETE"}),"deleteIssue",0,(e,t)=>r(`/api/issues/${t}${a(e)}`,{method:"DELETE"}),"deleteMachine",0,(e,t)=>r(`/api/runtimes/machine${a(t,{daemon_id:e})}`,{method:"DELETE"}),"deleteMeeting",0,(e,t,n)=>r(`/api/agents/${e}/meetings/${t}${a(n)}`,{method:"DELETE"}),"deleteWorkspace",0,(e,t)=>r(`/api/workspaces/${e}${a(e)}`,{method:"DELETE",body:JSON.stringify({confirm_name:t})}),"fetchLatestCliVersion",0,()=>r("/api/cli/latest-version"),"fetchModelOptions",0,()=>r("/api/config/model-options"),"flagMessage",0,(e,t)=>r(`/api/flags${a(e)}`,{method:"POST",body:JSON.stringify({messageId:t})}),"getActiveTask",0,(e,t)=>r(`/api/conversations/${e}/active-task${a(t)}`),"getArtifactContent",0,d,"getCalendarEvent",0,(e,t)=>r(`/api/calendar/${e}${a(t)}`),"getEmail",0,(e,t)=>r(`/api/email/${e}${a(t)}`),"getEmailBody",0,o,"getEmailThread",0,(e,t)=>r(`/api/email/${e}/thread${a(t)}`),"getFlaggedCount",0,e=>r(`/api/flags/count${a(e)}`),"getInboxCount",0,(e,t)=>{let n={};return t?.types?.length&&(n.types=t.types.join(",")),r(`/api/inbox/count${a(e,n)}`)},"getInviteInfo",0,e=>r(`/api/invite/${e}`),"getIssue",0,(e,t)=>r(`/api/issues/${t}${a(e)}`),"getMemberMe",0,e=>r(`/api/members/me${a(e)}`),"getMinCliVersion",0,()=>r("/api/config/min-version"),"getTask",0,(e,t)=>r(`/api/tasks/${e}${a(t)}`),"getTaskMessages",0,(e,t,n)=>r(`/api/tasks/${e}/messages${a(t,n?{since:String(n)}:void 0)}`),"getTrace",0,(e,t)=>r(`/api/traces/${e}${a(t)}`),"getWorkspaceOverview",0,e=>r(`/api/workspaces/${e}/overview${a(e)}`),"grantAgentAccess",0,(e,t,n)=>r(`/api/agents/${t}/access${a(e)}`,{method:"POST",body:JSON.stringify({user_id:n})}),"listAgentAccess",0,(e,t)=>r(`/api/agents/${t}/access${a(e)}`),"listAgentActiveTaskCounts",0,e=>r(`/api/agents/active-task-counts${a(e)}`),"listAgentActivity",0,(e,t,n)=>{let s={};return n?.limit&&(s.limit=String(n.limit)),n?.before&&(s.before=n.before),n?.beforeId&&(s.before_id=n.beforeId),n?.status&&(s.status=n.status),n?.type&&(s.type=n.type),r(`/api/agents/${e}/activity${a(t,s)}`)},"listAgentLinks",0,e=>r(`/api/agent-links${a(e)}`),"listAgentPins",0,e=>r(`/api/agents/pins${a(e)}`),"listAgents",0,e=>r(`/api/agents${a(e)}`),"listArtifacts",0,(e,t)=>r(`/api/artifacts${a(t,{conversation_id:e})}`),"listBufferedMessages",0,(e,t)=>r(`/api/conversations/${e}/buffered-messages${a(t)}`),"listCalendarEvents",0,(e,t)=>{let n={};return t?.agentId&&(n.agentId=t.agentId),t?.from&&(n.from=t.from),t?.to&&(n.to=t.to),r(`/api/calendar${a(e,n)}`)},"listChannels",0,e=>r(`/api/channels${a(e)}`),"listEmailAccounts",0,(e,t)=>r(`/api/agents/${e}/email-accounts${a(t)}`),"listEmails",0,(e,t,n,s)=>r(`/api/email${a(t,{agentId:e,...n?{folder:n}:{},...s?{address:s}:{}})}`),"listFlaggedItems",0,(e,t)=>{let n={};return t?.limit&&(n.limit=String(t.limit)),t?.before&&(n.before=t.before),r(`/api/flags${a(e,n)}`)},"listFlaggedMessageIds",0,(e,t)=>r(`/api/flags${a(e,{conversation_id:t,ids_only:"true"})}`),"listInboxItems",0,(e,t)=>{let n={};return t?.limit&&(n.limit=String(t.limit)),t?.before&&(n.before=t.before),t?.types?.length&&(n.types=t.types.join(",")),r(`/api/inbox${a(e,n)}`)},"listInvites",0,e=>r(`/api/workspaces/${e}/invites${a(e)}`),"listIssues",0,(e,t)=>{let n={};return t?.agentId&&(n.agentId=t.agentId),t?.status&&(n.status=t.status),t?.terminal!==void 0&&(n.terminal=String(t.terminal)),r(`/api/issues${a(e,n)}`)},"listMeetings",0,(e,t)=>r(`/api/agents/${e}/meetings${a(t)}`),"listMembers",0,e=>r(`/api/workspaces/${e}/members${a(e)}`),"listMessages",0,(e,t,n)=>{let s={};return n?.limit&&(s.limit=String(n.limit)),n?.before&&(s.before=n.before),n?.beforeId&&(s.before_id=n.beforeId),r(`/api/conversations/${e}/messages${a(t,s)}`)},"listMessagesAroundTask",0,(e,t,n)=>r(`/api/conversations/${e}/messages${a(t,{around_task:n})}`),"listPreviousConversations",0,(e,t,n)=>{let s={exclude:n.exclude,before:n.before};return n.channel&&(s.channel=n.channel),n.limit&&(s.limit=String(n.limit)),r(`/api/agents/${e}/conversations${a(t,s)}`)},"listRuntimes",0,e=>r(`/api/runtimes${a(e)}`),"listTraces",0,(e,t)=>{let n={};return t?.limit&&(n.limit=String(t.limit)),t?.before&&(n.before=t.before),t?.status&&(n.status=t.status),t?.multiAgent&&(n.multiAgent="true"),t?.agentId&&(n.agentId=t.agentId),t?.channel&&(n.channel=t.channel),r(`/api/traces${a(e,n)}`)},"listWhitelist",0,(e,t)=>r(`/api/agents/${e}/whitelist${a(t)}`),"listWorkspaceActiveTasks",0,e=>r(`/api/agents/active-tasks${a(e)}`),"listWorkspaces",0,()=>r("/api/workspaces"),"markAllInboxRead",0,e=>r(`/api/inbox/read-all${a(e)}`,{method:"POST"}),"markInboxRead",0,(e,t)=>r(`/api/inbox/read${a(t)}`,{method:"POST",body:JSON.stringify({conversationId:e})}),"pinAgent",0,(e,t)=>r(`/api/agents/${t}/pin${a(e)}`,{method:"POST"}),"removeMember",0,(e,t)=>r(`/api/workspaces/${e}/members/${t}${a(e)}`,{method:"DELETE"}),"removeWhitelistEmail",0,(e,t,n)=>r(`/api/agents/${e}/whitelist/${t}${a(n)}`,{method:"DELETE"}),"renameChannelApi",0,(e,t,n)=>r(`/api/channels/${e}${a(t)}`,{method:"PATCH",body:JSON.stringify({name:n})}),"reorderAgentPins",0,(e,t)=>r(`/api/agents/pins/reorder${a(e)}`,{method:"PUT",body:JSON.stringify({ordered_agent_ids:t})}),"reorderChannelsApi",0,(e,t)=>r(`/api/channels/reorder${a(e)}`,{method:"PUT",body:JSON.stringify({ordered_channel_ids:t})}),"reorderUnpinnedAgents",0,(e,t)=>r(`/api/agents/sidebar/reorder${a(e)}`,{method:"PUT",body:JSON.stringify({ordered_agent_ids:t})}),"requestWorkspaceBrowse",0,(e,t,n,s)=>r(`/api/agents/${e}/workspace/browse${a(t)}`,{method:"POST",body:JSON.stringify({request_type:n,path:s})}),"retryTask",0,(e,t)=>r(`/api/tasks/${e}/retry${a(t)}`,{method:"POST"}),"revokeAgentAccess",0,(e,t,n,s=!1)=>r(`/api/agents/${t}/access/${n}${a(e)}${s?"&remove_whitelist=true":""}`,{method:"DELETE"}),"revokeInvite",0,(e,t)=>r(`/api/workspaces/${e}/invites/${t}${a(e)}`,{method:"DELETE"}),"sendEmail",0,(e,t,n,s,i,o,l,c)=>r(`/api/email/send${a(i)}`,{method:"POST",body:JSON.stringify({agentId:e,to:t,subject:n,htmlBody:s,attachments:o,...l,customAccountId:c})}),"sendMessage",0,s,"stopMeeting",0,(e,t,n)=>r(`/api/agents/${e}/meetings/${t}/stop${a(n)}`,{method:"POST"}),"syncEmailAccount",0,(e,t,n)=>r(`/api/agents/${e}/email-accounts/${t}/sync${a(n)}`,{method:"POST"}),"triggerRuntimeRescan",0,(e,t)=>r(`/api/runtimes/${e}/rescan${a(t)}`,{method:"POST"}),"triggerRuntimeUpdate",0,(e,t)=>r(`/api/runtimes/${e}/update${a(t)}`,{method:"POST"}),"unflagMessage",0,(e,t)=>r(`/api/flags/${t}${a(e)}`,{method:"DELETE"}),"unpinAgent",0,(e,t)=>r(`/api/agents/${t}/pin${a(e)}`,{method:"DELETE"}),"updateAgent",0,(e,t,n)=>r(`/api/agents/${e}${a(n)}`,{method:"PATCH",body:JSON.stringify(t)}),"updateAgentLink",0,(e,t,n)=>r(`/api/agent-links/${e}${a(n)}`,{method:"PATCH",body:JSON.stringify(t)}),"updateCalendarEvent",0,(e,t,n)=>r(`/api/calendar/${e}${a(n)}`,{method:"PATCH",body:JSON.stringify(t)}),"updateEmailStatus",0,(e,t,n)=>r(`/api/email/${e}${a(t)}`,{method:"PATCH",body:JSON.stringify({status:n})}),"updateIssue",0,(e,t,n)=>r(`/api/issues/${t}${a(e)}`,{method:"PATCH",body:JSON.stringify(n)}),"updateMemberMe",0,(e,t)=>r(`/api/members/me${a(e)}`,{method:"PATCH",body:JSON.stringify({global_instruction:t})}),"updateWorkspace",0,(e,t)=>r(`/api/workspaces/${e}${a(e)}`,{method:"PATCH",body:JSON.stringify(t)}),"uploadEmailAttachment",0,l],222862)},728886,e=>{"use strict";var t=e.i(368075),n=e.i(613349);e.s(["Skeleton",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"skeleton",className:(0,n.cn)("animate-pulse rounded-md bg-muted",e),...r})}])},996718,e=>{"use strict";var t=e.i(298699);e.s(["useIsMobile",0,function(){let[e,n]=t.useState(void 0);return t.useEffect(()=>{let e=window.matchMedia("(max-width: 639px)"),t=()=>{n(window.innerWidth<640)};return e.addEventListener("change",t),n(window.innerWidth<640),()=>e.removeEventListener("change",t)},[]),!!e}])},400175,126366,819748,108772,261819,e=>{"use strict";var t=e.i(368075),n=e.i(298699);let r="#27272a",a={fill:"rgba(255,255,255,0.92)",stroke:"rgba(255,255,255,0.95)",strokeWidth:3.5},s=[{name:"Purple",value:"#a855f7",gradient:["#c084fc","#a855f7","#7c3aed"],faceColor:"#2e1065"},{name:"Teal",value:"#14b8a6",gradient:["#5eead4","#14b8a6","#0d9488"],faceColor:"#134e4a"},{name:"Orange",value:"#f97316",gradient:["#fdba74","#f97316","#c2410c"],faceColor:"#7c2d12"},{name:"Blue",value:"#3b82f6",gradient:["#93c5fd","#3b82f6","#1d4ed8"],faceColor:"#1e3a5f"},{name:"Pink",value:"#f472b6",gradient:["#fda4af","#f472b6","#be185d"],faceColor:"#831843"},{name:"Yellow",value:"#eab308",gradient:["#fde047","#eab308","#a16207"],faceColor:"#713f12"},{name:"Green",value:"#22c55e",gradient:["#86efac","#22c55e","#15803d"],faceColor:"#14532d"},{name:"Beige",value:"#d6ccb8",gradient:["#e8e0d4","#d6ccb8","#b8a990"],faceColor:"#57534e"},{name:"Red",value:"#ef4444",gradient:["#fca5a5","#ef4444","#991b1b"],faceColor:"#7f1d1d"},{name:"Lake Blue",value:"#6366f1",gradient:["#a5b4fc","#6366f1","#3730a3"],faceColor:"#312e81"},{name:"Gray",value:"#9ca3af",gradient:["#d4d4d8","#9ca3af","#6b7280"],faceColor:"#374151"},{name:"Deep Purple",value:"#8b5cf6",gradient:["#c4b5fd","#8b5cf6","#5b21b6"],faceColor:"#3b0764"}],i={circle:{name:"Circle",face:{cx:100,cy:100,w:80},render:()=>(0,t.jsx)("circle",{cx:"100",cy:"100",r:"66",...a})},rounded:{name:"Rounded",face:{cx:100,cy:100,w:90},render:()=>(0,t.jsx)("rect",{x:"30",y:"30",width:"140",height:"140",rx:"32",...a})},hexagon:{name:"Hexagon",face:{cx:100,cy:100,w:86},render:()=>(0,t.jsx)("path",{d:"M100 32 C108 32 114 35 120 39 L155 60 C161 64 165 70 165 78 L165 122 C165 130 161 136 155 140 L120 161 C114 165 108 168 100 168 C92 168 86 165 80 161 L45 140 C39 136 35 130 35 122 L35 78 C35 70 39 64 45 60 L80 39 C86 35 92 32 100 32 Z",...a})},task:{name:"Task",face:{cx:100,cy:100,w:80},render:()=>(0,t.jsx)("rect",{x:"34",y:"34",width:"132",height:"132",rx:"24",...a})},book:{name:"Book",face:{cx:100,cy:100,w:80},render:()=>(0,t.jsx)("path",{d:"M42 162 L42 88 C42 54 68 34 100 34 C132 34 158 54 158 88 L158 162 C158 166 154 170 150 170 L50 170 C46 170 42 166 42 162 Z",...a})},mail:{name:"Mail",face:{cx:100,cy:100,w:86},render:()=>(0,t.jsx)("rect",{x:"28",y:"54",width:"144",height:"92",rx:"46",...a})},calendar:{name:"Calendar",face:{cx:100,cy:100,w:80},render:()=>(0,t.jsx)("path",{d:"M100 34 C138 34 166 52 166 80 C166 94 158 106 158 118 C158 148 138 166 100 166 C62 166 42 148 42 118 C42 106 34 94 34 80 C34 52 62 34 100 34 Z",...a})},bulb:{name:"Bulb",face:{cx:100,cy:104,w:76},render:()=>(0,t.jsx)("ellipse",{cx:"100",cy:"104",rx:"58",ry:"66",...a})},folder:{name:"Folder",face:{cx:102,cy:108,w:80},render:()=>(0,t.jsx)("path",{d:"M62 144 C40 144 32 128 36 116 C32 104 40 90 54 88 C56 72 70 60 88 62 C100 50 118 50 132 58 C144 52 162 60 162 76 C172 82 174 98 166 108 C172 120 164 136 150 140 Z",...a})},mountain:{name:"Mountain",face:{cx:100,cy:100,w:76},render:()=>(0,t.jsx)("path",{d:"M92 36 C120 32 156 48 164 78 C172 108 156 148 124 160 C92 172 48 156 38 124 C28 92 62 40 92 36 Z",...a})}},o=Object.keys(i),l={dot:{name:"Dot",render:(e=r)=>(0,t.jsx)("circle",{cx:"0",cy:"0",r:"4.5",fill:e})},dash:{name:"Dash",render:(e=r)=>(0,t.jsx)("line",{x1:"-10",y1:"0",x2:"10",y2:"0",stroke:e,strokeWidth:"5",strokeLinecap:"round"})},hookL:{name:"Hook",render:(e=r)=>(0,t.jsx)("path",{d:"M-11 0 Q-5.5 7 0 1.5 Q5.5 7 11 0",fill:"none",stroke:e,strokeWidth:"4.5",strokeLinecap:"round",strokeLinejoin:"round"})},smile:{name:"Smile",render:(e=r)=>(0,t.jsx)("path",{d:"M-11 0 Q0 11 11 0",fill:"none",stroke:e,strokeWidth:"5",strokeLinecap:"round"})},caret:{name:"Caret",render:(e=r)=>(0,t.jsxs)("g",{children:[(0,t.jsx)("path",{d:"M-10 0 Q0 8 10 0",fill:"none",stroke:e,strokeWidth:"4.5",strokeLinecap:"round"}),(0,t.jsx)("ellipse",{cx:"3",cy:"6",rx:"4",ry:"4.5",fill:"#f472b6"})]})},arrow:{name:"Arrow",render:(e=r)=>(0,t.jsx)("ellipse",{cx:"0",cy:"0",rx:"6",ry:"7.5",fill:e})},oh:{name:"o",render:(e=r)=>(0,t.jsx)("ellipse",{cx:"0",cy:"0",rx:"7",ry:"7.5",fill:"none",stroke:e,strokeWidth:"4.5"})}},c=Object.keys(l),d=(e,n)=>{let a=n??e,s=(n,s=r)=>(0,t.jsxs)("g",{children:[(0,t.jsx)("g",{transform:`translate(${-n}, 0)`,children:e(s)}),(0,t.jsx)("g",{transform:`translate(${n}, 0)`,children:a(s)})]});return s.displayName="EyePair",s},h={dots:{name:"Dots",render:d(e=>(0,t.jsx)("circle",{cx:"0",cy:"0",r:"7",fill:e}))},big:{name:"Big",render:d(e=>(0,t.jsxs)("g",{children:[(0,t.jsx)("circle",{cx:"0",cy:"0",r:"10",fill:e}),(0,t.jsx)("circle",{cx:"2.5",cy:"-3",r:"3.5",fill:"rgba(255,255,255,0.9)"})]}))},rings:{name:"Rings",render:d(e=>(0,t.jsx)("ellipse",{cx:"0",cy:"0",rx:"8.5",ry:"9.5",fill:"none",stroke:e,strokeWidth:"4.5"}))},arches:{name:"Arches",render:d(e=>(0,t.jsx)("path",{d:"M-10 2 Q0 -9 10 2",fill:"none",stroke:e,strokeWidth:"5",strokeLinecap:"round"}))},lines:{name:"Lines",render:d(e=>(0,t.jsx)("path",{d:"M-10 0 Q0 -6 10 0",fill:"none",stroke:e,strokeWidth:"5",strokeLinecap:"round"}))},happy:{name:"Happy",render:d(e=>(0,t.jsx)("path",{d:"M-10 5 Q0 -11 10 5",fill:"none",stroke:e,strokeWidth:"5",strokeLinecap:"round"}))},sleepy:{name:"Sleepy",render:d(e=>(0,t.jsx)("path",{d:"M-10 -2 Q0 8 10 -2",fill:"none",stroke:e,strokeWidth:"5",strokeLinecap:"round"}))},shy:{name:"Shy",render:d(e=>(0,t.jsx)("ellipse",{cx:"0",cy:"0",rx:"8.5",ry:"9.5",fill:e}))},wink:{name:"Wink",render:(e,n=r)=>(0,t.jsxs)("g",{children:[(0,t.jsx)("g",{transform:`translate(${-e}, 0)`,children:(0,t.jsx)("circle",{cx:"0",cy:"0",r:"7",fill:n})}),(0,t.jsx)("g",{transform:`translate(${e}, 0)`,children:(0,t.jsx)("path",{d:"M-10 2 Q0 -9 10 2",fill:"none",stroke:n,strokeWidth:"5",strokeLinecap:"round"})})]})}},g=Object.keys(h),u={shape:"book",eye:"happy",nose:"dash",bg:1},m=[{name:"Task",config:{shape:"task",nose:"dot",eye:"dots",bg:0}},{name:"Notes",config:{shape:"book",nose:"dash",eye:"happy",bg:1}},{name:"Mail",config:{shape:"mail",nose:"smile",eye:"dots",bg:3}},{name:"Schedule",config:{shape:"calendar",nose:"dot",eye:"dots",bg:4}},{name:"Idea",config:{shape:"bulb",nose:"oh",eye:"rings",bg:5}},{name:"Project",config:{shape:"folder",nose:"dash",eye:"lines",bg:7}},{name:"Goal",config:{shape:"mountain",nose:"caret",eye:"arches",bg:8}},{name:"Dream",config:{shape:"circle",nose:"smile",eye:"shy",bg:11}},{name:"Organize",config:{shape:"rounded",nose:"dot",eye:"sleepy",bg:6}},{name:"Explore",config:{shape:"hexagon",nose:"hookL",eye:"wink",bg:9}},{name:"Focus",config:{shape:"task",nose:"caret",eye:"lines",bg:2}},{name:"Collect",config:{shape:"book",nose:"oh",eye:"rings",bg:10}}];function p(e){return e[Math.floor(Math.random()*e.length)]}function f(){return{shape:p(o),eye:p(g),nose:p(c),bg:Math.floor(Math.random()*s.length)}}function x({config:e,size:r=200,className:a}){let o=(0,n.useId)().replace(/:/g,""),c=i[e.shape]??i.book,d=h[e.eye],g=l[e.nose],u=s[e.bg]??s[0],[m,p,f]=u.gradient,y=u.faceColor,{cx:b,cy:$,w}=c.face,k=Math.max(13,.24*w),v=$-Math.max(12,.16*w);return(0,t.jsxs)("svg",{viewBox:"0 0 200 200",width:r,height:r,className:a,style:{display:"block"},children:[(0,t.jsxs)("defs",{children:[(0,t.jsxs)("linearGradient",{id:`bg-${o}`,x1:"0%",y1:"0%",x2:"100%",y2:"100%",children:[(0,t.jsx)("stop",{offset:"0%",stopColor:m}),(0,t.jsx)("stop",{offset:"50%",stopColor:p}),(0,t.jsx)("stop",{offset:"100%",stopColor:f})]}),(0,t.jsxs)("radialGradient",{id:`gl-${o}`,cx:"30%",cy:"25%",r:"60%",children:[(0,t.jsx)("stop",{offset:"0%",stopColor:"rgba(255,255,255,0.32)"}),(0,t.jsx)("stop",{offset:"100%",stopColor:"rgba(255,255,255,0)"})]}),(0,t.jsx)("filter",{id:`sh-${o}`,x:"-10%",y:"-5%",width:"120%",height:"130%",children:(0,t.jsx)("feDropShadow",{dx:"0",dy:"3",stdDeviation:"4",floodColor:"rgba(0,0,0,0.18)"})})]}),(0,t.jsx)("rect",{x:"0",y:"0",width:"200",height:"200",rx:"56",fill:`url(#bg-${o})`}),(0,t.jsx)("rect",{x:"0",y:"0",width:"200",height:"200",rx:"56",fill:`url(#gl-${o})`}),(0,t.jsxs)("g",{transform:"translate(100,100) scale(0.8) translate(-100,-100)",children:[(0,t.jsx)("g",{"data-avatar-shape":"",filter:`url(#sh-${o})`,children:c.render()}),d&&(0,t.jsx)("g",{transform:`translate(${b}, ${v})`,children:(0,t.jsx)("g",{"data-avatar-eyes":"",children:d.render(k,y)})}),g&&(0,t.jsx)("g",{transform:`translate(${b}, ${$+7})`,children:(0,t.jsx)("g",{"data-avatar-nose":"",children:g.render(y)})})]})]})}let y="avatar:";function b(e){if(!e||!e.startsWith(y))return null;try{let t=JSON.parse(e.slice(y.length));if("object"==typeof t&&null!==t&&"string"==typeof t.shape&&"string"==typeof t.eye&&"string"==typeof t.nose&&"number"==typeof t.bg)return t;if("object"==typeof t&&null!==t&&"outline"in t)return u;return null}catch{return null}}e.s(["AvatarRenderer",0,x,"BG_COLORS",0,s,"DEFAULT_CONFIG",0,u,"EYE_KEYS",0,g,"Eyes",0,h,"NOSE_KEYS",0,c,"Noses",0,l,"PRESETS",0,m,"SHAPE_KEYS",0,o,"Shapes",0,i,"parseAvatarUrl",0,b,"randomConfig",0,f,"serializeAvatarConfig",0,function(e){return y+JSON.stringify(e)}],126366);let $=["avatar-anim-shape-bounce","avatar-anim-head-tilt","avatar-anim-shake","avatar-anim-wobble","avatar-anim-pulse","avatar-anim-spin","avatar-anim-jelly","avatar-anim-float","avatar-anim-nod"];e.s(["AnimatedAvatar",0,function({config:e,size:r,className:a,isHovered:s,isWorking:i}){let[o,l]=(0,n.useState)(null),c=(0,n.useRef)(-1);function d(){let e=Math.floor(Math.random()*$.length);return e===c.current&&(e=(e+1)%$.length),c.current=e,$[e]}return(0,n.useEffect)(()=>{s?l(d()):i||l(null)},[s,i]),(0,n.useEffect)(()=>{if(!i){s||l(null);return}l(d());let e=setInterval(()=>{l(d())},4e3);return()=>clearInterval(e)},[s,i]),(0,t.jsx)("div",{className:o??void 0,children:(0,t.jsx)(x,{config:e,size:r,className:a})})}],819748);var w=e.i(613349),k=e.i(329686);function v({label:e,keys:n,value:r,onChange:a,renderThumb:s,mobile:i=!1}){let o=n.indexOf(r),l=e=>a(n[(o+e+n.length)%n.length]),c=n[(o-1+n.length)%n.length],d=n[(o+1)%n.length];return(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"w-12 text-xs font-medium text-muted-foreground shrink-0",children:e}),(0,t.jsx)("button",{type:"button",onClick:()=>l(-1),className:(0,w.cn)("flex items-center justify-center rounded-md hover:bg-accent transition-colors",i?"size-10":"size-7"),children:(0,t.jsx)("svg",{viewBox:"0 0 24 24",width:"16",height:"16",children:(0,t.jsx)("path",{d:"M15 5 L8 12 L15 19",fill:"none",stroke:"currentColor",strokeWidth:"2.4",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,t.jsxs)("div",{className:"flex items-center gap-1 flex-1 justify-center",children:[(0,t.jsx)("button",{type:"button",onClick:()=>l(-1),className:"opacity-30 hover:opacity-60 transition-opacity",tabIndex:-1,children:s(c)}),(0,t.jsx)("button",{type:"button",onClick:()=>l(1),className:"border-2 border-primary rounded-lg p-0.5",children:s(r)}),(0,t.jsx)("button",{type:"button",onClick:()=>l(1),className:"opacity-30 hover:opacity-60 transition-opacity",tabIndex:-1,children:s(d)})]}),(0,t.jsx)("button",{type:"button",onClick:()=>l(1),className:(0,w.cn)("flex items-center justify-center rounded-md hover:bg-accent transition-colors",i?"size-10":"size-7"),children:(0,t.jsx)("svg",{viewBox:"0 0 24 24",width:"16",height:"16",children:(0,t.jsx)("path",{d:"M9 5 L16 12 L9 19",fill:"none",stroke:"currentColor",strokeWidth:"2.4",strokeLinecap:"round",strokeLinejoin:"round"})})})]})}function j({config:e,onChange:r,layout:a="vertical",mobile:d=!1}){let[u,p]=(0,n.useState)("presets"),y=(0,n.useCallback)((t,n)=>{r({...e,[t]:n})},[e,r]),[b,$]=(0,n.useState)(!1),C=(0,n.useRef)(e);(0,n.useEffect)(()=>{if(C.current.shape!==e.shape||C.current.eye!==e.eye||C.current.nose!==e.nose||C.current.bg!==e.bg){$(!0);let t=setTimeout(()=>$(!1),450);return C.current=e,()=>clearTimeout(t)}},[e]),(0,n.useEffect)(()=>{if("horizontal"!==a)return;let e=e=>{"Space"===e.code&&e.target===document.body&&(e.preventDefault(),r(f()))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[a,r]);let S="horizontal"===a,E=S?220:d?120:160,T=(0,t.jsxs)("div",{className:(0,w.cn)("flex flex-col items-center gap-3 rounded-2xl bg-muted/30",d?"p-3":"p-4",S?"w-70 shrink-0 justify-center":""),children:[(0,t.jsx)("div",{className:(0,w.cn)("rounded-2xl",b&&"animate-[shake_0.45s_cubic-bezier(.36,.07,.19,.97)]"),children:(0,t.jsx)(x,{config:e,size:E})}),(0,t.jsxs)("button",{type:"button",onClick:()=>r(f()),className:"inline-flex items-center gap-2 rounded-full bg-foreground px-4 py-1.5 text-sm font-medium text-background hover:bg-foreground/80 transition-colors",children:[(0,t.jsxs)("svg",{viewBox:"0 0 24 24",width:"14",height:"14",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("rect",{x:"2",y:"2",width:"20",height:"20",rx:"3"}),(0,t.jsx)("circle",{cx:"8",cy:"8",r:"1.5",fill:"currentColor"}),(0,t.jsx)("circle",{cx:"16",cy:"8",r:"1.5",fill:"currentColor"}),(0,t.jsx)("circle",{cx:"8",cy:"16",r:"1.5",fill:"currentColor"}),(0,t.jsx)("circle",{cx:"16",cy:"16",r:"1.5",fill:"currentColor"}),(0,t.jsx)("circle",{cx:"12",cy:"12",r:"1.5",fill:"currentColor"})]}),"Random",S&&(0,t.jsx)("kbd",{className:"ml-1 rounded bg-background/20 px-1.5 py-0.5 text-[10px] font-mono",children:"Space"})]})]}),O=(0,t.jsxs)("div",{className:(0,w.cn)("flex flex-col gap-3 flex-1 min-w-0",S&&"rounded-2xl bg-muted/30 p-4 h-95"),children:[(0,t.jsxs)("div",{className:"flex border-b border-border",children:[(0,t.jsx)("button",{type:"button",onClick:()=>p("presets"),className:(0,w.cn)("flex-1 pb-2 text-sm font-medium text-center transition-colors border-b-2","presets"===u?"border-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"),children:"★ Presets"}),(0,t.jsx)("button",{type:"button",onClick:()=>p("custom"),className:(0,w.cn)("flex-1 pb-2 text-sm font-medium text-center transition-colors border-b-2","custom"===u?"border-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"),children:"⚙ Custom"})]}),(0,t.jsxs)("div",{className:(0,w.cn)("flex-1 min-h-0",S&&"overflow-y-auto thin-scrollbar"),children:["presets"===u&&(0,t.jsx)("div",{className:(0,w.cn)("grid gap-2",d?"grid-cols-3":"grid-cols-4"),children:m.map(n=>{let a=n.config.shape===e.shape&&n.config.eye===e.eye&&n.config.nose===e.nose&&n.config.bg===e.bg;return(0,t.jsx)("button",{type:"button",onClick:()=>r(n.config),className:(0,w.cn)("flex items-center justify-center rounded-xl border p-2 transition-all",a?"border-primary border-2 bg-primary/5 shadow-sm":"border-border bg-background hover:border-primary/40"),children:(0,t.jsx)(x,{config:n.config,size:56})},n.name)})}),"custom"===u&&(0,t.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,t.jsx)(v,{label:"Shape",keys:o,value:e.shape,onChange:e=>y("shape",e),renderThumb:e=>(0,t.jsxs)("svg",{viewBox:"0 0 200 200",width:"40",height:"40",children:[(0,t.jsx)("rect",{width:"200",height:"200",rx:"56",fill:"hsl(var(--muted))"}),(0,t.jsx)("g",{transform:"translate(100,100) scale(0.8) translate(-100,-100)",children:i[e]?.render()})]}),mobile:d}),(0,t.jsx)(v,{label:"Nose",keys:c,value:e.nose,onChange:e=>y("nose",e),renderThumb:e=>(0,t.jsx)("svg",{viewBox:"-14 -10 28 20",width:"36",height:"24",children:l[e]?.render("currentColor")}),mobile:d}),(0,t.jsx)(v,{label:"Eyes",keys:g,value:e.eye,onChange:e=>y("eye",e),renderThumb:e=>(0,t.jsx)("svg",{viewBox:"-18 -10 36 20",width:"44",height:"24",children:h[e]?.render(8,"currentColor")}),mobile:d}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"mb-2 text-xs font-medium text-muted-foreground",children:"Color"}),(0,t.jsx)("div",{className:(0,w.cn)("flex flex-wrap p-1",d?"gap-3":"gap-2"),children:s.map((n,r)=>(0,t.jsxs)(k.Tooltip,{children:[(0,t.jsx)(k.TooltipTrigger,{render:(0,t.jsx)("button",{type:"button",onClick:()=>y("bg",r),className:(0,w.cn)("rounded-full transition-shadow",d?"size-8":"size-7",e.bg===r?"ring-2 ring-primary ring-offset-2":"ring-1 ring-border"),style:{background:`linear-gradient(135deg, ${n.gradient[0]}, ${n.gradient[1]}, ${n.gradient[2]})`}})}),(0,t.jsx)(k.TooltipContent,{children:n.name})]},n.value))})]})]})]})]});return S?(0,t.jsxs)("div",{className:"flex gap-4",children:[T,O]}):(0,t.jsxs)("div",{className:"flex flex-col gap-4",children:[T,O]})}var C=e.i(779646),S=e.i(996718);e.s(["AvatarPickerDialog",0,function({config:e,onChange:r}){let[a,s]=(0,n.useState)(!1),[i,o]=(0,n.useState)(e),l=(0,S.useIsMobile)();return(0,t.jsxs)(C.Dialog,{open:a,onOpenChange:t=>{t&&o(e),s(t)},children:[(0,t.jsx)("div",{className:"flex justify-center",children:(0,t.jsx)(C.DialogTrigger,{render:(0,t.jsx)("button",{type:"button",className:"rounded-2xl bg-background p-1.5 shadow-sm border border-border hover:border-primary/40 transition-colors cursor-pointer"}),children:(0,t.jsx)(x,{config:e,size:80})})}),(0,t.jsxs)(C.DialogContent,{className:l?"top-auto left-0 translate-x-0 translate-y-0 bottom-0 max-w-full sm:max-w-full w-full rounded-b-none rounded-t-xl max-h-[85dvh] overflow-y-auto pb-[env(safe-area-inset-bottom)]":"sm:max-w-180",children:[(0,t.jsx)(C.DialogHeader,{children:(0,t.jsx)(C.DialogTitle,{children:"Choose Avatar"})}),(0,t.jsx)(j,{config:i,layout:l?"vertical":"horizontal",onChange:e=>{o(e),r(e)},mobile:l}),l&&(0,t.jsx)("button",{type:"button",onClick:()=>s(!1),className:"w-full rounded-xl bg-primary py-3 text-sm font-medium text-primary-foreground hover:bg-primary/90 transition-colors",children:"Done"})]})]})}],108772),e.s(["AgentAvatar",0,function({name:e,avatarUrl:n,size:r=32}){let a=b(n);return a?(0,t.jsx)(x,{config:a,size:r,className:"rounded-full shrink-0"}):(0,t.jsx)("span",{className:"flex items-center justify-center rounded-full bg-secondary text-xs font-medium shrink-0",style:{width:r,height:r},children:(e??"?").charAt(0).toUpperCase()})}],261819),e.s([],400175)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,859156,e=>{"use strict";var t=e.i(368075),a=e.i(298699),n=e.i(208020),r=e.i(880932),l=e.i(613349),s=e.i(355578),o=e.i(500324),i=e.i(186339),d=e.i(949035),u=e.i(222862),c=e.i(412532),m=e.i(728886),g=e.i(307214),h=e.i(779338);function x({events:e,agents:a,loading:n,onSelectEvent:r}){let s=function(e){let t=new Map;for(let a of e){let e=new Date(a.scheduled_at),n=(0,c.dateKey)(e);if(!t.has(n)){let a=new Date(e.getFullYear(),e.getMonth(),e.getDate());t.set(n,{day:a,items:[]})}t.get(n).items.push(a)}let a=[...t.values()].sort((e,t)=>e.day.getTime()-t.day.getTime());for(let e of a)e.items.sort((e,t)=>new Date(e.scheduled_at).getTime()-new Date(t.scheduled_at).getTime());return a}(e),o=new Map;for(let e of a)o.set(e.id,e.name);let i=new Date;return n&&0===e.length?(0,t.jsx)("div",{className:"flex flex-col gap-4",children:Array.from({length:4}).map((e,a)=>(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)(m.Skeleton,{className:"h-3 w-24"}),Array.from({length:2}).map((e,a)=>(0,t.jsx)(m.Skeleton,{className:"h-8 w-full rounded-md"},a))]},a))}):0===s.length?(0,t.jsx)("div",{className:"flex flex-1 items-center justify-center py-12",children:(0,t.jsxs)("div",{className:"text-center",children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"No events in view."}),(0,t.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:"Switch to month view or create a new event above."})]})}):(0,t.jsx)("div",{className:"flex flex-col gap-4","data-testid":"calendar-agenda",children:s.map(e=>{let a=i.getFullYear()===e.day.getFullYear()&&i.getMonth()===e.day.getMonth()&&i.getDate()===e.day.getDate();return(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsxs)("h3",{className:(0,l.cn)("sticky top-0 z-10 py-1 text-[11px] font-medium text-muted-foreground",a&&"text-foreground"),children:[e.day.toLocaleDateString(void 0,{weekday:"short",month:"short",day:"numeric"}),a&&(0,t.jsx)("span",{className:"ml-2 rounded-full bg-foreground text-background px-1.5 py-0.5 text-[10px]",children:"Today"})]}),(0,t.jsx)("ul",{className:"flex flex-col gap-1",children:e.items.map(e=>(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",onClick:()=>r(e),className:"flex w-full items-center gap-3 rounded-md border border-border/50 bg-background px-3 py-2 text-left transition-colors hover:bg-accent",children:[(0,t.jsx)("span",{className:"shrink-0 text-xs text-muted-foreground tabular-nums w-16",children:new Date(e.scheduled_at).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",hour12:!1})}),(0,t.jsx)("span",{className:(0,l.cn)("shrink-0 rounded-sm px-1.5 py-0.5 text-[10px] font-medium",(0,g.agentColor)(e.agent_id)),children:o.get(e.agent_id)??e.agent_id}),(0,t.jsx)("span",{className:"flex-1 truncate text-sm",children:e.title}),e.repeat_interval&&(0,t.jsx)("span",{className:"shrink-0 text-[10px] text-muted-foreground",children:(0,h.formatRepeatDisplay)(e.repeat_interval)}),null!=e.collapsed_count&&e.collapsed_count>1&&(0,t.jsxs)("span",{className:"shrink-0 rounded-full bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground",children:["× ",e.collapsed_count," today"]})]})},`${e.id}@${e.occurrence_at}`))})]},(0,c.dateKey)(e.day))})})}var f=e.i(681306),p=e.i(64873),w=e.i(99475);function v(e){let t=new Date(e.getFullYear(),e.getMonth(),e.getDate());return t.setDate(t.getDate()-t.getDay()),t}function b(e){let t,a=v(e),n=((t=new Date(v(e))).setDate(t.getDate()+6),t.setHours(23,59,59,999),t);return{from:a.toISOString(),to:n.toISOString()}}let y=Array.from({length:24},(e,t)=>t);function D({weekStart:e,events:n,agents:r,loading:s,focusedDate:o,compact:d=!1,onPrevWeek:u,onNextWeek:h,onJumpToToday:x,onJumpToDate:v,onSelectSlot:b,onSelectEvent:j,headerExtras:k}){let N,S,C,$,M=d?36:48,T=d?"2.5rem":"3.5rem",E=(0,a.useRef)(null),F=(0,a.useRef)(!1),_=new Date,Y=new Date(e);Y.setDate(Y.getDate()+6);let A=(N=e.toLocaleDateString("en-US",{month:"short"}),S=Y.toLocaleDateString("en-US",{month:"short"}),C=e.getFullYear(),C!==($=Y.getFullYear())?`${N} ${e.getDate()}, ${C}\u2013${S} ${Y.getDate()}, ${$}`:N!==S?`${N} ${e.getDate()}\u2013${S} ${Y.getDate()}, ${$}`:`${N} ${e.getDate()}\u2013${Y.getDate()}, ${C}`),z=_>=e&&_<=new Date(Y.getFullYear(),Y.getMonth(),Y.getDate(),23,59,59,999),L=(0,a.useMemo)(()=>{let t=[];for(let a=0;a<7;a++){let n=new Date(e);n.setDate(e.getDate()+a),t.push(n)}return t},[e]),P=(0,a.useMemo)(()=>{let e=new Map;for(let t of n){let a=(0,c.dateKey)(new Date(t.scheduled_at));e.has(a)||e.set(a,[]),e.get(a).push(t)}return e},[n]),R=(0,a.useMemo)(()=>{let e=new Map;for(let[t,a]of P)e.set(t,function(e){if(0===e.length)return[];let t=[...e].sort((e,t)=>new Date(e.scheduled_at).getTime()-new Date(t.scheduled_at).getTime()),a=[],n=[t[0]],r=new Date(t[0].scheduled_at).getTime()+18e5;for(let e=1;e<t.length;e++){let l=new Date(t[e].scheduled_at).getTime();if(l<r){n.push(t[e]);let a=l+18e5;a>r&&(r=a)}else a.push(n),n=[t[e]],r=l+18e5}a.push(n);let l=[];for(let e of a){let t=e.length;for(let a=0;a<e.length;a++)l.push({event:e[a],columnIndex:a,columnCount:t})}return l}(a));return e},[P]),H=(0,a.useMemo)(()=>{let e=new Map;for(let t of r)e.set(t.id,t.name);return e},[r]);(0,a.useEffect)(()=>{if(F.current||!E.current)return;let e=Math.max(0,(new Date().getHours()-1)*M);E.current.scrollTop=e,F.current=!0},[M]);let K=(0,a.useMemo)(()=>{let e=new Date;return e.getHours()+e.getMinutes()/60},[]);if(s&&0===n.length){let e=`${T} repeat(7, 1fr)`;return(0,t.jsxs)("div",{className:"flex flex-1 flex-col gap-3 min-h-0",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between flex-wrap gap-2 shrink-0",children:[(0,t.jsx)(m.Skeleton,{className:"h-5 w-48"}),(0,t.jsx)(m.Skeleton,{className:"h-7 w-32"})]}),(0,t.jsxs)("div",{className:"flex-1 min-h-0 flex flex-col rounded-lg border border-border/50 overflow-hidden",children:[(0,t.jsxs)("div",{className:"border-b border-border/30 shrink-0",style:{display:"grid",gridTemplateColumns:e},children:[(0,t.jsx)("div",{className:"h-8"}),Array.from({length:7}).map((e,a)=>(0,t.jsx)(m.Skeleton,{className:"h-5 mx-2 my-1.5"},a))]}),(0,t.jsx)("div",{className:"flex-1 min-h-0 overflow-hidden",children:Array.from({length:12}).map((a,n)=>(0,t.jsxs)("div",{className:"border-b border-border/10",style:{display:"grid",gridTemplateColumns:e,height:M},children:[(0,t.jsx)(m.Skeleton,{className:"h-3 w-8 mx-1 my-2"}),Array.from({length:7}).map((e,a)=>(0,t.jsx)("div",{className:"relative",children:n%4==a%3&&(0,t.jsx)(m.Skeleton,{className:"absolute left-1 right-1 top-2 rounded-sm",style:{height:24}})},a))]},n))})]})]})}return(0,t.jsxs)("div",{className:"flex flex-1 flex-col gap-3 min-h-0",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between flex-wrap gap-2 shrink-0",children:[(0,t.jsx)("h2",{className:"text-sm font-medium tabular-nums",children:A}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[k,(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)("button",{type:"button","aria-label":"Previous week",onClick:u,className:"flex size-7 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground transition-colors",children:(0,t.jsx)(f.ChevronLeft,{className:"size-4"})}),(0,t.jsx)(i.Button,{variant:"outline",size:"sm",onClick:x,disabled:z,className:"h-7 px-2.5 text-xs",children:"Today"}),(0,t.jsx)("button",{type:"button","aria-label":"Next week",onClick:h,className:"flex size-7 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground transition-colors",children:(0,t.jsx)(p.ChevronRight,{className:"size-4"})})]}),(0,t.jsx)(w.CalendarDatePicker,{value:o,onChange:v,ariaLabel:"Jump to date"})]})]}),(0,t.jsxs)("div",{className:"relative flex-1 min-h-0 flex flex-col rounded-lg border border-border/50 overflow-hidden",children:[s&&(0,t.jsx)("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-x-0 top-0 z-20 h-0.5 overflow-hidden rounded-t-lg",children:(0,t.jsx)("div",{className:"h-full w-1/3 animate-[calendar-progress_1.2s_ease-in-out_infinite] bg-foreground/40"})}),(0,t.jsxs)("div",{role:"grid","aria-label":`Week of ${A}`,"aria-busy":s||void 0,className:(0,l.cn)("flex flex-1 flex-col min-h-0 transition-opacity",s&&"opacity-70"),children:[(0,t.jsxs)("div",{role:"row",className:"sticky top-0 z-10 border-b border-border/30 bg-background",style:{display:"grid",gridTemplateColumns:`${T} repeat(7, 1fr)`},children:[(0,t.jsx)("div",{role:"columnheader",className:"h-8"}),L.map(e=>{let a=(0,c.sameDay)(e,_);return(0,t.jsx)("div",{role:"columnheader","aria-current":a?"date":void 0,className:(0,l.cn)("flex items-center justify-center h-8 text-xs font-medium",a?"text-foreground":"text-muted-foreground"),children:(0,t.jsx)("span",{className:(0,l.cn)("px-1.5 py-0.5 rounded-md",a&&"bg-foreground text-background"),children:function(e,t){if(t)return["S","M","T","W","T","F","S"][e.getDay()];let a=e.toLocaleDateString("en-US",{weekday:"short"});return`${a} ${e.getDate()}`}(e,d)})},(0,c.dateKey)(e))})]}),(0,t.jsx)("div",{ref:E,className:"flex-1 min-h-0 overflow-y-auto thin-scrollbar",children:(0,t.jsxs)("div",{className:"relative",style:{display:"grid",gridTemplateColumns:`${T} repeat(7, 1fr)`},children:[(0,t.jsx)("div",{role:"rowheader",className:"relative",children:y.map(e=>{var a;return(0,t.jsx)("div",{className:"flex items-start justify-end pr-2 text-[10px] text-muted-foreground tabular-nums",style:{height:M},children:(0,t.jsx)("span",{className:"-mt-1.5",children:0===e?"":(a=e,d?0===a?"12a":a<12?`${a}a`:12===a?"12p":`${a-12}p`:`${String(a).padStart(2,"0")}:00`)})},e)})}),L.map(e=>{let a=(0,c.dateKey)(e),n=(0,c.sameDay)(e,_),r=R.get(a)??[];return(0,t.jsxs)("div",{className:"relative border-l border-border/20",style:{height:24*M},children:[y.map(a=>(0,t.jsx)("div",{className:"absolute inset-x-0 border-t border-border/15 cursor-pointer hover:bg-accent/30 transition-colors",style:{top:a*M,height:M},onClick:()=>b(e,a)},a)),n&&(0,t.jsxs)("div",{className:"absolute inset-x-0 z-10 pointer-events-none",style:{top:K*M},children:[(0,t.jsx)("div",{className:"h-px bg-foreground/40"}),(0,t.jsx)("div",{className:"absolute -left-0.5 -top-0.75 size-1.75 rounded-full bg-foreground/40"})]}),r.map(({event:e,columnIndex:a,columnCount:n})=>{let r,s=(r=new Date(e.scheduled_at)).getHours()+r.getMinutes()/60,o=100/n,i=H.get(e.agent_id),u=new Date(e.scheduled_at).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",hour12:!1});return(0,t.jsxs)("button",{type:"button",role:"button","aria-label":`${e.title} at ${u}${i?` \u2014 ${i}`:""}`,onClick:t=>{t.stopPropagation(),j(e)},className:(0,l.cn)("absolute rounded-sm font-medium truncate text-left transition-colors hover:opacity-80 cursor-pointer",d?"text-[9px] px-1":"text-[10px] px-1.5",(0,g.agentColor)(e.agent_id)),style:{top:s*M,height:24,left:`${a*o}%`,width:`calc(${o}% - 2px)`,marginLeft:1,lineHeight:"24px"},title:`${e.title}${i?` \u2014 ${i}`:""}`,children:[e.title,null!=e.collapsed_count&&e.collapsed_count>1&&(0,t.jsxs)("span",{className:"ml-0.5 opacity-70",children:["×",e.collapsed_count]})]},`${e.id}@${e.occurrence_at}`)})]},a)})]})})]})]})]})}function j({view:e,onChange:a}){return(0,t.jsx)("div",{role:"radiogroup","aria-label":"Calendar view",className:"inline-flex items-center rounded-md border border-border bg-background p-0.5",children:["month","week","agenda"].map(n=>{let r=e===n;return(0,t.jsx)("button",{type:"button",role:"radio","aria-checked":r,onClick:()=>a(n),className:(0,l.cn)("h-6 px-2.5 rounded text-xs font-medium transition-colors capitalize",r?"bg-foreground text-background":"text-muted-foreground hover:text-foreground"),children:n},n)})})}function k({agents:e,selected:a,onToggle:n}){return(0,t.jsx)("div",{className:"flex min-h-6 items-center gap-1.5 overflow-x-auto flex-nowrap scrollbar-none sm:flex-wrap sm:overflow-x-visible",children:0===e.length?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(m.Skeleton,{className:"h-6 w-20 rounded-full"}),(0,t.jsx)(m.Skeleton,{className:"h-6 w-24 rounded-full"}),(0,t.jsx)(m.Skeleton,{className:"h-6 w-16 rounded-full"})]}):e.map(e=>{let r=a.has(e.id);return(0,t.jsxs)("button",{type:"button",onClick:()=>n(e.id),className:(0,l.cn)("flex h-6 shrink-0 items-center gap-1.5 rounded-full px-2.5 text-[11px] font-medium transition-colors",r?"bg-foreground text-background":"bg-transparent text-muted-foreground border border-border hover:bg-accent"),children:[(0,t.jsx)("span",{className:(0,l.cn)("size-2 rounded-full",(0,g.agentColor)(e.id).split(" ")[0])}),(0,t.jsx)("span",{className:"max-w-[120px] truncate sm:max-w-none",children:e.name})]},e.id)})})}var N=e.i(781360),S=e.i(996718);function C(e,t){let a=(0,c.buildMonthCells)(e,t),n=a[0].date,r=a[a.length-1].date,l=new Date(n.getFullYear(),n.getMonth(),n.getDate(),0,0,0,0),s=new Date(r.getFullYear(),r.getMonth(),r.getDate(),23,59,59,999);return{from:l.toISOString(),to:s.toISOString()}}e.s(["default",0,function(){var e;let{workspaceId:m}=(0,o.useWorkspace)(),{agents:g}=(0,s.useAgentContext)(),h=(0,n.useRouter)(),f=(0,n.usePathname)(),p=(0,n.useSearchParams)(),w=(0,S.useIsMobile)(),y=new Date,$=Number(p.get("y"))||y.getFullYear(),M=p.has("m")?Number(p.get("m")):y.getMonth(),T="week"===(e=p.get("view"))?"week":"agenda"===e?"agenda":"month",[E,F]=(0,a.useState)($),[_,Y]=(0,a.useState)(M),[A,z]=(0,a.useState)(T),[L,P]=(0,a.useState)(()=>{let e=p.get("agents");return e?new Set(e.split(",").filter(Boolean)):new Set}),[R,H]=(0,a.useState)(()=>{let e=new Date;return e.getFullYear()===$&&e.getMonth()===M?e:new Date($,M,1)}),[K,U]=(0,a.useState)(()=>"week"===T&&p.has("d")?v(new Date($,M,Number(p.get("d")))):v(new Date)),[O,I]=(0,a.useState)(null),[B,J]=(0,a.useState)([]),[W,q]=(0,a.useState)(!0),[G,X]=(0,a.useState)(!1),[Q,V]=(0,a.useState)(),[Z,ee]=(0,a.useState)(null),[et,ea]=(0,a.useState)(!1),[en,er]=(0,a.useState)(!1),[el,es]=(0,a.useState)(!1),[eo,ei]=(0,a.useState)(null),ed=(0,a.useCallback)((e,t,a,n,r)=>{let l=new URLSearchParams;l.set("y",String(e)),l.set("m",String(t)),a.size>0&&l.set("agents",[...a].join(",")),"month"!==n&&l.set("view",n),"week"===n&&r&&l.set("d",String(r.getDate())),h.replace(`${f}?${l.toString()}`,{scroll:!1})},[f,h]),eu=(0,a.useCallback)(async()=>{let{from:e,to:t}="week"===A?b(K):C(E,_);q(!0);try{let a=await (0,u.listCalendarEvents)(m,{from:e,to:t});J(a)}catch(e){r.toast.error(e instanceof Error?e.message:"Failed to load events")}finally{q(!1)}},[m,E,_,A,K]);(0,a.useEffect)(()=>{eu()},[eu]);let ec=(0,a.useMemo)(()=>0===L.size?B:B.filter(e=>L.has(e.agent_id)),[B,L]),em=(0,a.useCallback)(()=>{let e=0===_?11:_-1,t=0===_?E-1:E;Y(e),F(t),H(new Date(t,e,1)),ed(t,e,L,A)},[_,E,L,A,ed]),eg=(0,a.useCallback)(()=>{let e=11===_?0:_+1,t=11===_?E+1:E;Y(e),F(t),H(new Date(t,e,1)),ed(t,e,L,A)},[_,E,L,A,ed]),eh=(0,a.useCallback)(()=>{let e=new Date(K);e.setDate(e.getDate()-7),U(e),H(e),ed(e.getFullYear(),e.getMonth(),L,"week",e)},[K,L,ed]),ex=(0,a.useCallback)(()=>{let e=new Date(K);e.setDate(e.getDate()+7),U(e),H(e),ed(e.getFullYear(),e.getMonth(),L,"week",e)},[K,L,ed]),ef=e=>{ee(e),ea(!0)},ep=(0,a.useCallback)(e=>{let t=e.getFullYear(),a=e.getMonth();if(F(t),Y(a),H(e),"week"===A){let n=v(e);U(n),ed(t,a,L,A,n)}else ed(t,a,L,A)},[L,A,ed]),ew=(0,a.useCallback)(()=>{let e=new Date;if("week"===A){let t=v(e);U(t),H(e),ed(t.getFullYear(),t.getMonth(),L,"week",t)}else ep(e)},[ep,A,L,ed]),ev=(0,a.useCallback)(e=>{if(z(e),"week"===e){let t=v(R);U(t),ed(E,_,L,e,t)}else if("week"===A){let t=K.getFullYear(),a=K.getMonth();F(t),Y(a),ed(t,a,L,e)}else ed(E,_,L,e)},[E,_,L,ed,R,A,K]),eb=async e=>{er(!0);try{let t=await (0,u.createCalendarEvent)(e,m),{from:a,to:n}="week"===A?b(K):C(E,_),l=new Date(t.scheduled_at).getTime();l>=new Date(a).getTime()&&l<=new Date(n).getTime()&&J(e=>[...e,t]),X(!1),r.toast.success("Event created")}catch(e){r.toast.error(e instanceof Error?e.message:"Failed to create event")}finally{er(!1)}},ey=async(e,t)=>{es(!0);try{await (0,u.updateCalendarEvent)(e.id,t,m),await eu(),ea(!1),ee(null),r.toast.success("Event updated")}catch(e){r.toast.error(e instanceof Error?e.message:"Failed to update event")}finally{es(!1)}},eD=async(e,t)=>{ei(e.id);try{await (0,u.deleteCalendarEvent)(e.id,m,t),t?.scope?await eu():J(t=>t.filter(t=>t.id!==e.id)),ea(!1),ee(null),r.toast.success("Event deleted")}catch(e){r.toast.error(e instanceof Error?e.message:"Failed to delete event")}finally{ei(null)}},ej=(0,a.useRef)(G),ek=(0,a.useRef)(et);(0,a.useEffect)(()=>{ej.current=G},[G]),(0,a.useEffect)(()=>{ek.current=et},[et]);let eN=(0,a.useCallback)(e=>{let t=`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`,a=0;for(let e of ec){let n=new Date(e.scheduled_at);`${n.getFullYear()}-${String(n.getMonth()+1).padStart(2,"0")}-${String(n.getDate()).padStart(2,"0")}`===t&&a++}return Math.max(0,a-3)},[ec]);return(0,a.useEffect)(()=>{let e=e=>{if(ej.current||ek.current||function(e){if(!e||"string"!=typeof e.tagName)return!1;let t=e.tagName;return"INPUT"===t||"TEXTAREA"===t||"SELECT"===t||!!e.isContentEditable}(e.target))return;if("t"===e.key){e.preventDefault();let t=new Date;if("week"===A){let e=v(t);U(e),H(t),ed(e.getFullYear(),e.getMonth(),L,"week",e)}else t.getFullYear()!==E||t.getMonth()!==_?ep(t):H(t);return}if("n"===e.key){e.preventDefault(),V(R),X(!0);return}if("month"!==A&&"week"!==A)return;if("week"===A){if("ArrowLeft"===e.key){e.preventDefault();let t=new Date(R);t.setDate(t.getDate()-1),H(t);let a=v(t);a.getTime()!==K.getTime()&&(U(a),ed(a.getFullYear(),a.getMonth(),L,"week",a));return}if("ArrowRight"===e.key){e.preventDefault();let t=new Date(R);t.setDate(t.getDate()+1),H(t);let a=v(t);a.getTime()!==K.getTime()&&(U(a),ed(a.getFullYear(),a.getMonth(),L,"week",a));return}if("ArrowUp"===e.key){e.preventDefault();let t=new Date(R);t.setHours(t.getHours()-1),H(t);return}if("ArrowDown"===e.key){e.preventDefault();let t=new Date(R);t.setHours(t.getHours()+1),H(t)}return}let t=document.activeElement?.getAttribute("role")==="gridcell";if("Enter"===e.key){if(!t)return;e.preventDefault(),eN(R)>0?I(`${R.getFullYear()}-${String(R.getMonth()+1).padStart(2,"0")}-${String(R.getDate()).padStart(2,"0")}`):(V(R),X(!0));return}if(!t)return;let a=(0,c.stepDate)(R,e.key);a&&(e.preventDefault(),a.getFullYear()===E&&a.getMonth()===_?H(a):ep(a))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[A,E,_,R,ep,eN,K,L,ed]),(0,a.useEffect)(()=>{if("month"!==A)return;let e=document.activeElement;if(!e||"gridcell"!==e.getAttribute("role"))return;let t=`[data-date="${(0,c.dateKey)(R)}"]`,a=document.querySelector(t);a?.focus()},[R,A,E,_]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-border/50 px-3 md:px-5 py-2.5 gap-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 min-w-0",children:[(0,t.jsx)("h1",{className:"text-sm font-medium",children:"Calendar"}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground hidden md:block",children:"Schedule recurring and one-time tasks for your agents."})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(j,{view:A,onChange:ev}),(0,t.jsxs)(i.Button,{size:"sm",variant:"outline",onClick:()=>{V(void 0),X(!0)},disabled:0===g.length,className:"min-w-[44px] min-h-[44px] sm:min-w-0 sm:min-h-0",children:[(0,t.jsx)(d.Plus,{className:"size-3.5"}),(0,t.jsx)("span",{className:"hidden sm:inline",children:"New event"})]})]})]}),(0,t.jsxs)("div",{className:(0,l.cn)("flex flex-1 flex-col gap-4 px-3 py-3 sm:px-5 sm:py-5","week"===A?"min-h-0 overflow-hidden":"overflow-y-auto"),children:[(0,t.jsx)(k,{agents:g,selected:L,onToggle:e=>{let t=new Set(L);t.has(e)?t.delete(e):t.add(e),P(t),ed(E,_,t,A,"week"===A?K:null)}}),"month"===A&&(0,t.jsx)(c.CalendarMonthGrid,{year:E,month:_,events:ec,agents:g,loading:W,focusedDate:R,openPopoverKey:O,onPopoverChange:I,onPrev:em,onNext:eg,onJumpToToday:ew,onJumpToDate:ep,onSelectDay:e=>{V(e),X(!0),H(e)},onSelectEvent:ef}),"week"===A&&(0,t.jsx)(D,{weekStart:K,events:ec,agents:g,loading:W,focusedDate:R,compact:w,onPrevWeek:eh,onNextWeek:ex,onJumpToToday:ew,onJumpToDate:ep,onSelectSlot:(e,t)=>{V(new Date(e.getFullYear(),e.getMonth(),e.getDate(),t)),X(!0)},onSelectEvent:ef}),"agenda"===A&&(0,t.jsx)(x,{events:ec,agents:g,loading:W,onSelectEvent:ef}),("month"===A||"week"===A)&&!W&&B.length>0&&0===ec.length&&(0,t.jsx)("p",{className:"text-center text-xs text-muted-foreground py-4",children:"No events for selected agents."})]}),(0,t.jsx)(N.CalendarEventSheet,{open:G,onOpenChange:X,agents:g,defaultDate:Q,submitting:en,onCreate:eb}),(0,t.jsx)(N.CalendarEventSheet,{event:Z,agents:g,open:et,onOpenChange:ea,onDelete:eD,onUpdate:ey,deleting:eo===Z?.id,saving:el})]})}],859156)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,535991,e=>{"use strict";let t=(0,e.i(406963).default)("file",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]);e.s(["File",0,t],535991)},112946,164300,872057,e=>{"use strict";var t=e.i(507213);e.s([],112946),e.s(["Streamdown",()=>t.C],164300);let s=(0,e.i(406963).default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);e.s(["FileText",0,s],872057)},169678,36303,364079,721387,e=>{"use strict";var t=e.i(368075),s=e.i(298699),n=e.i(332680),r=e.i(186339),a=e.i(740513),i=e.i(728886),l=e.i(224950),d=e.i(406963);let o=(0,d.default)("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);e.s(["ArrowUp",0,o],36303);var c=e.i(541544),u=e.i(251638),m=e.i(535991),x=e.i(927783),h=e.i(371522),f=e.i(814552),p=e.i(430744),g=e.i(789994),j=e.i(613349),b=e.i(880932);e.i(112946);var v=e.i(164300),y=e.i(222862);let N=(0,d.default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]),w=new Set(["application/json","application/xml","application/javascript","application/typescript","application/x-yaml","application/toml","application/sql"]);function k(e){return!!(e.startsWith("text/")||w.has(e))}function C(e){return e.startsWith("text/html")}function S(e){return e.startsWith("image/")}function z(e){return k(e.content_type)||S(e.content_type)}function _(e,t,s){let n=new URLSearchParams({workspace_id:t});return s&&n.set("download","1"),`/api/artifacts/${e}/content?${n}`}function T({artifact:e,workspaceId:n}){let[r,a]=(0,s.useState)(null),[i,l]=(0,s.useState)(!1),d=_(e.id,n);if((0,s.useEffect)(()=>{k(e.content_type)&&!C(e.content_type)&&(l(!0),a(null),(0,y.getArtifactContent)(e.id,n).then(a).catch(()=>a("(failed to load content)")).finally(()=>l(!1)))},[e.id,e.content_type,n]),i)return(0,t.jsx)("div",{className:"flex justify-center py-8",children:(0,t.jsx)(h.Loader2,{className:"size-5 animate-spin text-muted-foreground"})});if(S(e.content_type))return(0,t.jsx)("div",{className:"flex justify-center",children:(0,t.jsx)("img",{src:d,alt:e.filename,className:"max-w-full rounded-md"})});if(C(e.content_type))return(0,t.jsx)(A,{url:d,title:e.filename});if(k(e.content_type)){var o;return(o=e.filename,/\.md$/i.test(o))?(0,t.jsx)("div",{className:"markdown text-sm",children:(0,t.jsx)(v.Streamdown,{children:r??""})}):(0,t.jsx)("pre",{className:"whitespace-pre-wrap text-sm font-mono text-foreground",children:r})}return(0,t.jsxs)("div",{className:"flex flex-col items-center gap-3 py-8 text-center",children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"This file type cannot be previewed."}),(0,t.jsxs)("a",{href:_(e.id,n,!0),download:e.filename,className:"inline-flex items-center gap-1.5 rounded-md border border-input bg-background px-3 py-1.5 text-sm font-medium hover:bg-accent hover:text-accent-foreground transition-colors",children:[(0,t.jsx)(N,{className:"size-3.5"}),"Download"]})]})}function A({url:e,title:s}){return(0,t.jsx)("iframe",{src:e,sandbox:"allow-same-origin",className:"w-full h-full rounded-b-xl overflow-hidden",style:{border:"none",display:"block"},title:s})}e.s(["ArtifactContentRenderer",0,T,"computeArtifactVersions",0,function(e){let t=new Map;for(let s of e){let e=t.get(s.filename)||[];e.push(s),t.set(s.filename,e)}let s=new Map,n=new Set;for(let[e,r]of t)r.sort((e,t)=>e.created_at.localeCompare(t.created_at)),r.length>1&&n.add(e),r.forEach((e,t)=>s.set(e.id,t+1));return{versionMap:s,duplicateFilenames:n}},"getArtifactUrl",0,_,"isHtmlType",0,C,"isPreviewable",0,z],364079);var M=e.i(872057),E=e.i(113354);function R(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}e.s(["ArtifactSheet",0,function({open:e,onOpenChange:a,artifacts:i,workspaceId:l,initialArtifact:d=null,versionMap:o,duplicateFilenames:c}){let[u,m]=(0,s.useState)(null),[x,h]=(0,s.useState)(448),f=(0,s.useRef)(!1);(0,s.useEffect)(()=>{e&&d&&m(d)},[e,d]);let p=e=>{a(e),e||setTimeout(()=>m(null),300)},g=(0,s.useCallback)(e=>{e.preventDefault(),f.current=!0,e.target.setPointerCapture(e.pointerId)},[]),b=(0,s.useCallback)(e=>{f.current&&h(Math.min(.8*window.innerWidth,Math.max(320,window.innerWidth-e.clientX)))},[]),v=(0,s.useCallback)(()=>{f.current=!1},[]);return(0,t.jsx)(n.Sheet,{open:e,onOpenChange:p,children:(0,t.jsxs)(n.SheetContent,{side:"right",showCloseButton:!1,style:{width:`min(${x}px, 100vw)`,maxWidth:"none"},className:"data-[side=right]:sm:inset-y-2 data-[side=right]:sm:right-2 data-[side=right]:sm:h-auto data-[side=right]:sm:rounded-xl data-[side=right]:sm:border",children:[(0,t.jsx)("div",{onPointerDown:g,onPointerMove:b,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"}),u?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.SheetHeader,{children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(r.Button,{variant:"ghost",size:"icon-sm",className:"shrink-0 sm:hidden",onClick:()=>{i.length>1?m(null):p(!1)},children:(0,t.jsx)(E.ArrowLeft,{className:"size-4"})}),(0,t.jsxs)(n.SheetTitle,{className:"truncate flex-1",children:[u.filename,c.has(u.filename)&&(0,t.jsxs)("span",{className:"ml-1.5 text-xs text-muted-foreground bg-muted rounded-full px-1.5 py-0.5 font-normal",children:["v",o.get(u.id)??1]})]}),(0,t.jsx)(r.Button,{variant:"ghost",size:"icon-sm",className:"shrink-0",onClick:()=>window.open(_(u.id,l,!0),"_blank"),children:(0,t.jsx)(N,{className:"size-4"})})]})}),(0,t.jsx)(n.SheetBody,{className:(0,j.cn)("thin-scrollbar",C(u.content_type)&&"p-0! overflow-hidden!"),children:(0,t.jsx)(T,{artifact:u,workspaceId:l})})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.SheetHeader,{children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(r.Button,{variant:"ghost",size:"icon-sm",className:"shrink-0 sm:hidden",onClick:()=>p(!1),children:(0,t.jsx)(E.ArrowLeft,{className:"size-4"})}),(0,t.jsx)(n.SheetTitle,{className:"flex-1",children:"Artifacts"})]})}),(0,t.jsx)(n.SheetBody,{className:"thin-scrollbar",children:0===i.length?(0,t.jsx)("p",{className:"text-sm text-muted-foreground py-8 text-center",children:"No artifacts uploaded yet."}):(0,t.jsx)("div",{className:"space-y-1",children:i.map(e=>(0,t.jsxs)("button",{onClick:()=>m(e),className:"flex items-center gap-3 w-full rounded-lg px-3 py-2.5 text-left hover:bg-muted/50 transition-colors",children:[(0,t.jsx)(M.FileText,{className:"size-4 shrink-0 text-muted-foreground"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("p",{className:"text-sm font-medium truncate",children:[e.filename,c.has(e.filename)&&(0,t.jsxs)("span",{className:"ml-1.5 text-xs text-muted-foreground bg-muted rounded-full px-1.5 py-0.5 font-normal",children:["v",o.get(e.id)??1]})]}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:[R(e.size)," · ",new Date(e.created_at).toLocaleString()]})]})]},e.id))})})]})]})})},"formatSize",0,R],721387),e.i(954194);var $=e.i(582168);e.i(400175);var D=e.i(126366),P=e.i(393153);let B="h-7 border-0 bg-transparent px-1.5 text-xs text-foreground hover:bg-accent transition-colors -ml-1.5",F=(0,j.cn)(B,"rounded-md outline-none focus-visible:bg-accent focus-visible:ring-0 appearance-none pr-6"),U=["todo","in_progress","review","done"];function I({agent:e,size:s=24}){let n=(0,D.parseAvatarUrl)(e?.avatar_url);return n?(0,t.jsx)(D.AvatarRenderer,{config:n,size:s,className:"shrink-0 rounded-full"}):(0,t.jsx)("span",{className:"flex shrink-0 items-center justify-center rounded-full border border-border bg-muted text-[11px] font-medium text-muted-foreground",style:{width:s,height:s},children:(e?.name??"?").slice(0,1).toUpperCase()})}function L({agent:e,size:s=24}){let n=e.email_handle?`${e.email_handle}@alook.ai`:"";return(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,t.jsx)(I,{agent:e,size:s}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-1.5",children:[(0,t.jsx)("div",{className:"truncate text-xs font-medium",children:e.name}),n?(0,t.jsx)("div",{className:"truncate text-[11px] text-muted-foreground",children:n}):null]})]})}function H({icon:e,children:s}){return(0,t.jsxs)("div",{className:"group flex items-center gap-2",children:[(0,t.jsx)("span",{className:"inline-flex size-6 shrink-0 items-center justify-center text-muted-foreground",children:e}),(0,t.jsx)("div",{className:"flex min-w-0 flex-wrap items-center gap-1",children:s})]})}function W({message:e}){return"event"===e.role?(0,t.jsx)("div",{className:"rounded-md border bg-muted/50 text-muted-foreground text-xs px-3 py-2",children:e.content}):(0,t.jsxs)("div",{className:"rounded-lg border border-border/60 bg-background/55 p-3",children:[(0,t.jsxs)("div",{className:"mb-1 flex items-center justify-between gap-2 text-xs text-muted-foreground",children:[(0,t.jsx)("span",{className:"capitalize",children:e.role}),(0,t.jsx)("span",{children:new Date(e.created_at).toLocaleString()})]}),(0,t.jsx)("div",{className:"prose prose-sm dark:prose-invert max-w-none text-sm wrap-break-word",children:(0,t.jsx)(v.Streamdown,{children:e.content})})]})}function K({comment:e,agents:s}){let n="agent"===e.author_type?s.find(t=>t.id===e.author_id)?.name??"Agent":"You";return(0,t.jsxs)("div",{className:"rounded-lg border border-border/60 bg-background p-3",children:[(0,t.jsxs)("div",{className:"mb-1 flex items-center justify-between gap-2 text-xs text-muted-foreground",children:[(0,t.jsx)("span",{className:"font-medium",children:n}),(0,t.jsx)("span",{children:new Date(e.created_at).toLocaleString()})]}),(0,t.jsx)("div",{className:"prose prose-sm dark:prose-invert max-w-none text-sm wrap-break-word",children:(0,t.jsx)(v.Streamdown,{children:e.content})})]})}function q({artifacts:e,workspaceId:s,onArtifactClick:n}){if(0===e.length)return null;let r="flex items-center gap-2 rounded-md px-2 py-1.5 text-sm transition-colors hover:bg-accent";return(0,t.jsx)("div",{className:"space-y-1",children:e.map(e=>{let a=n&&z(e),i=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(m.File,{className:"size-3.5 shrink-0 text-muted-foreground"}),(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate",children:e.filename}),(0,t.jsx)("span",{className:"shrink-0 text-xs text-muted-foreground",children:R(e.size)})]});return a?(0,t.jsx)("button",{type:"button",onClick:()=>n(e),className:(0,j.cn)(r,"w-full text-left"),children:i},e.id):(0,t.jsx)("a",{href:_(e.id,s,!0),target:"_blank",rel:"noopener noreferrer",className:r,children:i},e.id)})})}e.s(["IssueSheet",0,function({open:e,onOpenChange:d,agents:m,issue:v,detail:N,detailLoading:w,activeTask:k,traceTasks:C,submitting:S,defaultAgentId:z,slug:_,workspaceId:T,width:A=448,onWidthChange:M,draft:E,onDraftChange:R,onCreate:D,onUpdate:O,onStatusChange:V,onCommented:X,onDispatched:G,onArtifactClick:J}){let Y,Q,Z=v?"detail":"create",[ee,et]=(0,s.useState)(""),[es,en]=(0,s.useState)(""),[er,ea]=(0,s.useState)(z??""),[ei,el]=(0,s.useState)(!1),[ed,eo]=(0,s.useState)(""),[ec,eu]=(0,s.useState)(!1),[em,ex]=(0,s.useState)(null),[eh,ef]=(0,s.useState)(!1),ep=(0,s.useRef)(null),eg=(0,s.useRef)(null),ej=(0,s.useRef)(null),eb=(0,s.useRef)(!1),ev=k&&!["completed","failed","cancelled","superseded"].includes(k.status),ey=C?.some(e=>["queued","dispatched","running"].includes(e.status))??!1;(0,s.useEffect)(()=>{e&&(v?(et(v.title),en(v.description??"")):(et(E?.title??""),en(E?.description??""),ea(E?.agentId||z||"")))},[e,v?.id]),(0,s.useEffect)(()=>{"create"===Z&&e&&R?.({title:ee,description:es,agentId:er})},[ee,es,er,Z,e]),(0,s.useEffect)(()=>{ej.current&&(ej.current.scrollTop=ej.current.scrollHeight)},[N?.messages?.length,N?.comments?.length,C?.length]);let eN=(0,s.useRef)(null),ew=(0,s.useRef)(O);(0,s.useEffect)(()=>{ew.current=O},[O]);let ek=(0,s.useRef)(ee);(0,s.useEffect)(()=>{ek.current=ee},[ee]);let eC=(0,s.useRef)(es);(0,s.useEffect)(()=>{eC.current=es},[es]);let eS=(0,s.useRef)(v);(0,s.useEffect)(()=>{eS.current=v},[v]);let ez=(0,s.useCallback)(()=>{eN.current&&clearTimeout(eN.current),eN.current=null;let e=eS.current;if(!e)return;let t=ek.current!==e.title,s=eC.current!==(e.description??"");if(!t&&!s||!ek.current.trim())return;let n={};t&&(n.title=ek.current.trim()),s&&(n.description=eC.current.trim()),ew.current?.(e.id,n)},[]);(0,s.useEffect)(()=>{if("detail"!==Z||!v||!e)return;let t=ee!==v.title,s=es!==(v.description??"");if((t||s)&&ee.trim())return eN.current&&clearTimeout(eN.current),eN.current=setTimeout(ez,500),()=>{eN.current&&clearTimeout(eN.current)}},[ee,es,Z,v,e,ez]);let e_=(0,s.useRef)(e);(0,s.useEffect)(()=>{e_.current&&!e&&"detail"===Z&&ez(),e_.current=e},[e,Z,ez]);let eT=(0,s.useCallback)(e=>{let t=e??ep.current;t&&(t.style.height="auto",t.style.height=`${t.scrollHeight}px`)},[]);(0,s.useEffect)(()=>{requestAnimationFrame(()=>eT())},[ee,eT]);let eA=(0,s.useCallback)(e=>{e.preventDefault(),eb.current=!0,e.target.setPointerCapture(e.pointerId)},[]),eM=(0,s.useCallback)(e=>{if(!eb.current)return;let t=Math.min(.8*window.innerWidth,Math.max(320,window.innerWidth-e.clientX));M?.(t)},[M]),eE=(0,s.useCallback)(()=>{eb.current=!1},[]),eR=async()=>{ee.trim()&&!S&&await D?.({agent_id:er||void 0,title:ee.trim(),description:es.trim()})},e$=async()=>{if(ed.trim()&&!ec&&v){eu(!0);try{if(!(await fetch(`/api/issues/${v.id}/comments?workspace_id=${T}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:ed.trim()})})).ok)throw Error("Failed to send comment");eo(""),X?.()}catch{b.toast.error("Failed to send comment")}finally{eu(!1)}}},eD=(0,s.useRef)(null),eP=(0,s.useCallback)(e=>{"Enter"===e.key&&e.shiftKey&&"create"===Z&&(eD.current&&eD.current.contains(e.target)||(e.preventDefault(),e.stopPropagation(),eR()))},[Z,ee,es,er,S]),eB="detail"===Z&&v?.status==="todo",eF=m.find(e=>e.id===er)??null,eU=v?.agent_id?m.find(e=>e.id===v.agent_id)??null:null,[eI,eL]=(0,s.useState)("issue");(0,s.useEffect)(()=>{eL("issue")},[v?.id,Z]);let eH=(0,t.jsx)(t.Fragment,{children:w?(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)(i.Skeleton,{className:"h-12"}),(0,t.jsx)(i.Skeleton,{className:"h-8"}),(0,t.jsx)(i.Skeleton,{className:"h-12"})]}):0!==(Q=[...(N?.messages??[]).filter(e=>"event"===e.role).map(e=>({kind:"event",id:e.id,created_at:e.created_at,data:e})),...(N?.comments??[]).map(e=>({kind:"comment",id:e.id,created_at:e.created_at,data:e}))].sort((e,t)=>new Date(e.created_at).getTime()-new Date(t.created_at).getTime())).length||ev?(0,t.jsxs)("div",{className:"relative pl-4",children:[(0,t.jsx)("div",{className:"absolute left-[4.5px] top-2 bottom-2 w-px bg-border"}),(0,t.jsxs)("div",{className:"space-y-3",children:[Q.map(e=>(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("div",{className:"absolute -left-4 top-2.5 size-2.5 rounded-full border-2 border-background bg-muted-foreground/40"}),"event"===e.kind?(0,t.jsx)(W,{message:e.data}):(0,t.jsx)(K,{comment:e.data,agents:m})]},e.id)),(ev||ey)&&((Y=C?.filter(e=>["queued","dispatched","running"].includes(e.status)))&&Y.length>0?Y.map(e=>{let s="running"===e.status;return(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("div",{className:(0,j.cn)("absolute -left-4 top-2.5 size-2.5 rounded-full border-2 border-background",s?"bg-emerald-500 animate-pulse":"bg-muted-foreground/40")}),(0,t.jsx)("div",{className:(0,j.cn)("rounded-md border px-3 py-2.5",s?"border-emerald-500/30 bg-emerald-500/10":"border-border/60 bg-muted/30"),children:(0,t.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[e.agent&&(0,t.jsx)(I,{agent:{avatar_url:e.agent.avatarUrl,name:e.agent.name},size:16}),(0,t.jsxs)("span",{className:s?"text-emerald-600 dark:text-emerald-400":"text-muted-foreground",children:[e.agent?.name??"Agent"," ",s?"is working":"— queued"]})]})})]},e.id)}):(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("div",{className:"absolute -left-4 top-2.5 size-2.5 rounded-full border-2 border-background bg-emerald-500 animate-pulse"}),(0,t.jsx)("div",{className:"rounded-md border border-emerald-500/30 bg-emerald-500/10 px-3 py-2.5",children:(0,t.jsx)("div",{className:"flex items-center gap-2 text-xs text-emerald-600 dark:text-emerald-400",children:"Working"})})]}))]})]}):(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:"No activity yet."})}),eW="detail"!==Z||!v||eB||ev||(0,$.isTerminalIssueStatus)(v.status)?null:(0,t.jsxs)("div",{className:"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",children:[(0,t.jsx)("textarea",{ref:eD,placeholder:"Leave a comment...",value:ed,onChange:e=>eo(e.target.value),className:"w-full resize-none bg-transparent px-3.5 py-2.5 text-sm leading-relaxed outline-none placeholder:text-muted-foreground field-sizing-content min-h-15 max-h-32 thin-scrollbar overflow-y-auto",onKeyDown:e=>{"Enter"===e.key&&e.shiftKey&&(e.preventDefault(),e$())}}),(0,t.jsxs)("div",{className:"flex items-center justify-between px-2.5 pb-2 pt-0.5",children:[(0,t.jsx)("kbd",{className:"text-[11px] text-muted-foreground/50 font-sans select-none",children:"⇧↵"}),(0,t.jsx)(r.Button,{size:"icon-sm",onClick:e$,disabled:!ed.trim()||ec,className:(0,j.cn)("rounded-lg transition-opacity duration-200",!ed.trim()&&!ec&&"opacity-40"),children:ec?(0,t.jsx)(h.Loader2,{className:"size-3.5 animate-spin"}):(0,t.jsx)(o,{className:"size-3.5"})})]})]}),eK=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"shrink-0 px-2 sm:px-3 pt-5 pb-1",children:(0,t.jsx)("textarea",{ref:e=>{ep.current=e,eT(e)},value:ee,onChange:e=>{et(e.target.value),eT(e.target)},onKeyDown:e=>{if("Enter"===e.key&&!e.shiftKey){e.preventDefault();let t=eg.current?.querySelector('[contenteditable="true"]');t?.focus()}},placeholder:"create"===Z?"New issue":"Untitled",autoFocus:"create"===Z,rows:1,className:"w-full resize-none overflow-hidden rounded-none border-0 bg-transparent px-0 py-1 font-news text-2xl md:text-3xl font-medium leading-[1.2] tracking-tight shadow-none outline-none focus-visible:border-0 focus-visible:ring-0 focus-visible:ring-offset-0 placeholder:text-muted-foreground/40 placeholder:font-normal"})}),(0,t.jsxs)("div",{className:"shrink-0 space-y-1.5 px-2 sm:px-3 py-2",children:[(0,t.jsx)(H,{icon:(0,t.jsx)(p.User,{className:"size-3.5"}),children:"create"===Z||eB?(0,t.jsxs)(l.Popover,{open:ei,onOpenChange:el,children:[(0,t.jsx)(l.PopoverTrigger,{render:(0,t.jsx)("button",{type:"button",disabled:S||eh,className:(0,j.cn)(B,"flex items-center gap-1.5 rounded-md")}),children:eF?(0,t.jsx)("span",{className:"truncate",children:eF.name}):(0,t.jsx)("span",{className:"text-muted-foreground/70",children:"Unassigned"})}),(0,t.jsxs)(l.PopoverContent,{align:"start",className:"max-h-64 w-72 overflow-y-auto thin-scrollbar p-1",children:[!eB&&(0,t.jsxs)("button",{type:"button",onClick:()=>{ea(""),el(!1)},className:"flex w-full items-center justify-between gap-2 rounded-md px-2 py-2 text-left text-sm transition-colors hover:bg-accent hover:text-accent-foreground",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:"None (unassigned)"}),er?null:(0,t.jsx)(c.Check,{className:"size-3.5 shrink-0"})]}),m.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>{eB?ex(e):ea(e.id),el(!1)},className:"flex w-full items-center justify-between gap-2 rounded-md px-2 py-2 text-left text-sm transition-colors hover:bg-accent hover:text-accent-foreground",children:[(0,t.jsx)(L,{agent:e,size:18}),er===e.id?(0,t.jsx)(c.Check,{className:"size-3.5 shrink-0"}):null]},e.id))]})]}):(0,t.jsx)("span",{className:"text-xs truncate",children:eU?eU.name:(0,t.jsx)("span",{className:"text-muted-foreground/70",children:"Unassigned"})})}),"detail"===Z&&v&&(0,t.jsx)(H,{icon:(0,t.jsx)(u.CircleDot,{className:"size-3.5"}),children:(0,t.jsx)("select",{value:v.status,onChange:e=>{var t;return t=e.target.value,void(v&&t!==v.status&&V?.(v.id,t))},className:F,children:(eB?["todo","done"]:U).map(e=>(0,t.jsx)("option",{value:e,children:"done"===e?"Complete":e.replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase())},e))})}),"detail"===Z&&v?.agent_id&&v?.conversation_id&&(0,t.jsx)(H,{icon:(0,t.jsx)(f.MessageSquare,{className:"size-3.5"}),children:(0,t.jsx)(g.default,{href:`/w/${_}/agents/${v.agent_id}?conv=${v.conversation_id}${v.latest_task_id?`&task=${v.latest_task_id}`:""}`,className:(0,j.cn)(B,"inline-flex items-center rounded-md"),children:"Chat"})}),"detail"===Z&&N?.traceId&&(0,t.jsx)(H,{icon:(0,t.jsx)(x.GitBranch,{className:"size-3.5"}),children:(0,t.jsx)(g.default,{href:`/w/${_}/threads/${N.traceId}`,className:(0,j.cn)(B,"inline-flex items-center rounded-md"),children:"Thread"})})]}),(0,t.jsx)("div",{className:(0,j.cn)("px-2 sm:px-3 py-2 flex-1 min-h-0 overflow-y-auto thin-scrollbar"),ref:eg,children:(0,t.jsx)(a.MarkdownEditor,{value:es,onChange:en,placeholder:"Describe the issue...",minHeight:"create"===Z?"10rem":"4rem",variant:"seamless",contentType:"markdown",agents:m},v?.id??"new")}),"detail"===Z&&N?.artifacts&&N.artifacts.length>0&&(0,t.jsx)("div",{className:"shrink-0 px-2 sm:px-3 py-2",children:(0,t.jsx)(q,{artifacts:N.artifacts,workspaceId:T,onArtifactClick:J})})]});return(0,t.jsxs)(n.Sheet,{open:e,onOpenChange:d,children:[(0,t.jsxs)(n.SheetContent,{side:"right",showCloseButton:!1,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 overflow-visible",style:{width:`min(${A}px, 100vw)`,maxWidth:"none"},children:[(0,t.jsx)("div",{onPointerDown:eA,onPointerMove:eM,onPointerUp:eE,onLostPointerCapture:eE,className:"hidden sm:block absolute -left-px 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"}),"detail"===Z&&!eB&&(0,t.jsxs)("div",{className:"hidden lg:flex absolute right-full top-0 bottom-0 mr-2 w-90 flex-col rounded-xl border bg-background shadow-lg overflow-hidden",children:[(0,t.jsx)("div",{className:"shrink-0 flex items-center border-b px-4 py-2.5",children:(0,t.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:"Activity"})}),(0,t.jsx)("div",{ref:ej,className:"flex-1 min-h-0 overflow-y-auto thin-scrollbar px-4 py-4 space-y-3",children:eH}),eW&&(0,t.jsx)("div",{className:"shrink-0 border-t px-4 py-3",children:eW})]}),(0,t.jsx)(n.SheetTitle,{className:"sr-only",children:"create"===Z?"New Issue":v?.title??"Issue"}),(0,t.jsxs)("div",{className:"flex flex-1 min-h-0 flex-col",onKeyDownCapture:eP,children:["detail"===Z&&!eB&&(0,t.jsxs)("div",{className:"shrink-0 flex items-center gap-1 border-b px-2 py-1.5 lg:hidden",children:[(0,t.jsx)("button",{type:"button",onClick:()=>eL("issue"),className:(0,j.cn)("rounded-md px-2.5 py-1 text-xs font-medium transition-colors","issue"===eI?"bg-accent text-foreground":"text-muted-foreground hover:text-foreground"),children:"Issue"}),(0,t.jsx)("button",{type:"button",onClick:()=>eL("activity"),className:(0,j.cn)("rounded-md px-2.5 py-1 text-xs font-medium transition-colors","activity"===eI?"bg-accent text-foreground":"text-muted-foreground hover:text-foreground"),children:"Activity"})]}),(0,t.jsxs)(n.SheetBody,{className:"flex flex-col gap-0 p-0 overflow-hidden",children:[(0,t.jsx)("div",{className:(0,j.cn)("flex flex-col flex-1 min-h-0","detail"===Z&&"activity"===eI&&"hidden lg:flex"),children:eK}),"detail"===Z&&!eB&&"activity"===eI&&(0,t.jsxs)("div",{className:"flex flex-col flex-1 min-h-0 lg:hidden",children:[(0,t.jsx)("div",{className:"flex-1 min-h-0 overflow-y-auto thin-scrollbar px-3 py-4 space-y-3",children:eH}),eW&&(0,t.jsx)("div",{className:"shrink-0 border-t px-3 py-3",children:eW})]})]}),"create"===Z&&(0,t.jsxs)(n.SheetFooter,{children:[(0,t.jsx)(r.Button,{variant:"outline",size:"sm",onClick:()=>d(!1),disabled:S,children:"Cancel"}),(0,t.jsxs)(r.Button,{size:"sm",onClick:eR,disabled:!ee.trim()||S,children:[S&&(0,t.jsx)(h.Loader2,{className:"mr-1.5 size-3.5 animate-spin"}),(0,t.jsxs)("kbd",{className:"mr-1 hidden sm:inline-flex items-center gap-0.5 font-sans font-medium leading-none opacity-60",children:[(0,t.jsx)("span",{children:"⇧"}),(0,t.jsx)("span",{children:"+"}),(0,t.jsx)("span",{children:"⏎"})]}),"Create"]})]})]})]}),(0,t.jsx)(P.ConfirmDialog,{open:!!em,onOpenChange:e=>{e||ex(null)},title:"Run issue?",description:`This issue will be assigned to ${em?.name??"the agent"} and start running immediately.`,confirmLabel:"Run",loadingLabel:"Running...",confirmVariant:"default",loading:eh,onConfirm:async()=>{if(em&&v){ef(!0);try{await (0,y.updateIssue)(T,v.id,{agent_id:em.id}),ex(null),G?.(v.id)}catch(e){b.toast.error(e instanceof Error?e.message:"Failed to dispatch issue"),ex(null)}finally{ef(!1)}}}})]})}],169678)}]);
|