@alook/app 0.0.118 → 0.0.119

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.
Files changed (90) hide show
  1. package/bundled/web/.open-next/.build/durable-objects/queue.js +5 -5
  2. package/bundled/web/.open-next/assets/BUILD_ID +1 -1
  3. package/bundled/web/.open-next/assets/_next/static/chunks/{0quc_lvg3c4wu.js → 0-xdwhncj5-wf.js} +1 -1
  4. package/bundled/web/.open-next/assets/_next/static/chunks/06-zhqf9ypqns.css +1 -0
  5. package/bundled/web/.open-next/assets/_next/static/chunks/{0~lm_shhgzh8z.js → 0x14heey9lt7d.js} +3 -3
  6. package/bundled/web/.open-next/assets/_next/static/chunks/{02-xuu3pg.f40.js → 0z4n3xpn4dp13.js} +2 -2
  7. package/bundled/web/.open-next/assets/_next/static/chunks/110epmmtnkv9w.js +3 -0
  8. package/bundled/web/.open-next/cache/{odmmcsMVYHDGmqyrWQ3kc → bwwUBlSnuSEyz1RNfFbW9}/_global-error.cache +1 -1
  9. package/bundled/web/.open-next/cache/{odmmcsMVYHDGmqyrWQ3kc → bwwUBlSnuSEyz1RNfFbW9}/_not-found.cache +1 -1
  10. package/bundled/web/.open-next/cache/{odmmcsMVYHDGmqyrWQ3kc → bwwUBlSnuSEyz1RNfFbW9}/device.cache +1 -1
  11. package/bundled/web/.open-next/cache/{odmmcsMVYHDGmqyrWQ3kc → bwwUBlSnuSEyz1RNfFbW9}/privacy.cache +1 -1
  12. package/bundled/web/.open-next/cache/{odmmcsMVYHDGmqyrWQ3kc → bwwUBlSnuSEyz1RNfFbW9}/sitemap.xml.cache +1 -1
  13. package/bundled/web/.open-next/cloudflare/cache-assets-manifest.sql +1 -1
  14. package/bundled/web/.open-next/cloudflare/init.js +1 -1
  15. package/bundled/web/.open-next/dynamodb-provider/dynamodb-cache.json +1 -1
  16. package/bundled/web/.open-next/middleware/handler.mjs +3 -3
  17. package/bundled/web/.open-next/server-functions/default/src/web/.next/BUILD_ID +1 -1
  18. package/bundled/web/.open-next/server-functions/default/src/web/.next/build-manifest.json +3 -3
  19. package/bundled/web/.open-next/server-functions/default/src/web/.next/prerender-manifest.json +3 -3
  20. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/invite/[token]/page_client-reference-manifest.js +1 -1
  21. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/studio/new/page_client-reference-manifest.js +1 -1
  22. 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
  23. 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
  24. 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
  25. 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
  26. 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
  27. 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
  28. 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
  29. 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
  30. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/page_client-reference-manifest.js +1 -1
  31. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/calendar/page_client-reference-manifest.js +1 -1
  32. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/flags/page_client-reference-manifest.js +1 -1
  33. 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
  34. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/home/page_client-reference-manifest.js +1 -1
  35. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/issues/page_client-reference-manifest.js +1 -1
  36. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/page_client-reference-manifest.js +1 -1
  37. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/runtimes/page_client-reference-manifest.js +1 -1
  38. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/settings/page_client-reference-manifest.js +1 -1
  39. 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
  40. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/threads/page_client-reference-manifest.js +1 -1
  41. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/unread/page_client-reference-manifest.js +1 -1
  42. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/workspaces/page_client-reference-manifest.js +1 -1
  43. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(auth)/sign-in/page_client-reference-manifest.js +1 -1
  44. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  45. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/device/page_client-reference-manifest.js +1 -1
  46. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/page_client-reference-manifest.js +1 -1
  47. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
  48. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/[id]/page_client-reference-manifest.js +1 -1
  49. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/templates/page_client-reference-manifest.js +1 -1
  50. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[turbopack]_runtime.js +14 -14
  51. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_03t_17c._.js +1 -1
  52. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_08xh_f8._.js +2 -2
  53. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_09ivzvb._.js +1 -1
  54. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0l1m9wf._.js +2 -2
  55. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0ow_nxn._.js +1 -1
  56. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{[root-of-the-server]__0p4syi4._.js → [root-of-the-server]__0_3cckh._.js} +2 -2
  57. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[turbopack]_runtime.js +14 -14
  58. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_13ya7_b._.js → _055~~zq._.js} +1 -1
  59. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_00ix2wb._.js → _05kh57s._.js} +1 -1
  60. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_0c0t735._.js → _09rh54w._.js} +1 -1
  61. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{_04w2ll1._.js → _0asq_j3._.js} +3 -3
  62. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0owr40y._.js +3 -0
  63. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0tuts0b._.js → node_modules__pnpm_0-7t060._.js} +1 -1
  64. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_088eule._.js → node_modules__pnpm_0emry~3._.js} +1 -1
  65. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_00cke3h._.js → node_modules__pnpm_0lqu_u4._.js} +1 -1
  66. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0g4.m0t._.js → node_modules__pnpm_0ml9n-.._.js} +1 -1
  67. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0mr.gag._.js → node_modules__pnpm_0qmml4f._.js} +1 -1
  68. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0lw6_x.._.js → node_modules__pnpm_0vztztj._.js} +1 -1
  69. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0_gg4s6._.js → node_modules__pnpm_0wu1nx-._.js} +1 -1
  70. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/{node_modules__pnpm_0xykudd._.js → node_modules__pnpm_11id~ub._.js} +1 -1
  71. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_0~23g-y._.js +2 -2
  72. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_web_src_components_home_home-page_tsx_0to84tv._.js +1 -1
  73. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-build-manifest.js +3 -3
  74. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-manifest.json +5 -5
  75. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.js +1 -1
  76. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.json +1 -1
  77. package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs +92 -92
  78. package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +251 -251
  79. package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +3 -3
  80. package/bundled/web/wrangler.toml +1 -1
  81. package/dist/cli/index.js +16 -3
  82. package/dist/cli/session-runner.js +14 -2
  83. package/package.json +1 -1
  84. package/bundled/web/.open-next/assets/_next/static/chunks/058lb48xc0jj~.js +0 -3
  85. package/bundled/web/.open-next/assets/_next/static/chunks/0p87feis4b6ju.css +0 -1
  86. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_004q5tu._.js +0 -3
  87. /package/bundled/web/.open-next/assets/_next/static/{odmmcsMVYHDGmqyrWQ3kc → bwwUBlSnuSEyz1RNfFbW9}/_buildManifest.js +0 -0
  88. /package/bundled/web/.open-next/assets/_next/static/{odmmcsMVYHDGmqyrWQ3kc → bwwUBlSnuSEyz1RNfFbW9}/_clientMiddlewareManifest.js +0 -0
  89. /package/bundled/web/.open-next/assets/_next/static/{odmmcsMVYHDGmqyrWQ3kc → bwwUBlSnuSEyz1RNfFbW9}/_ssgManifest.js +0 -0
  90. /package/bundled/web/.open-next/cache/{odmmcsMVYHDGmqyrWQ3kc → bwwUBlSnuSEyz1RNfFbW9}/robots.txt.cache +0 -0
@@ -1,5 +1,5 @@
1
- module.exports=[831893,896393,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(588339),e=a.i(752792),f=a.i(506180),g=a.i(626806);let h=["user_dm_message"],i=["user_dm_message"];function j(){return h}a.s(["INBOX_FILTER_LABELS",0,{user_dm_message:"DM",calendar_event:"Calendar",email_notification:"Email"},"INBOX_FILTER_TYPES",0,["user_dm_message","calendar_event","email_notification"],"MANDATORY_INBOX_TYPES",0,i,"getInboxFilterTypes",0,j,"setInboxFilterTypes",0,function(a){let b=[...a];for(let a of i)b.includes(a)||b.unshift(a);localStorage.setItem("inbox-filter-types",JSON.stringify(b))}],896393);let k=(0,c.createContext)(null),l={count:0,notificationToken:0,refresh:()=>{},decrement:()=>{}};a.s(["InboxCountProvider",0,function({children:a}){let{workspaceId:h}=(0,f.useWorkspace)(),{subscribeWs:i,agents:l}=(0,e.useAgentContext)(),[m,n]=(0,c.useState)(0),[o,p]=(0,c.useState)(0),q=(0,c.useRef)(null),r=(0,c.useRef)(null),s=(0,c.useRef)(l);(0,c.useEffect)(()=>{s.current=l});let t=(0,c.useCallback)(()=>{let a=j();(0,d.getInboxCount)(h,{types:a}).then(a=>{let b=q.current;if(q.current=a.count,n(a.count),null!==b&&a.count>b){p(a=>a+1);let a=r.current?s.current.find(a=>a.id===r.current):void 0;(0,g.sendTaskNotification)("completed",a?.name)}r.current=null}).catch(()=>{})},[h]),u=(0,c.useCallback)(()=>{n(a=>Math.max(0,a-1))},[]);return(0,c.useEffect)(()=>{t()},[t]),(0,c.useEffect)(()=>i(a=>{"task.updated"===a.type&&("completed"===a.status||"failed"===a.status)&&(r.current=a.agentId,t())}),[i,t]),(0,c.useEffect)(()=>{let a=setInterval(t,6e4);return()=>clearInterval(a)},[t]),(0,b.jsx)(k.Provider,{value:{count:m,notificationToken:o,refresh:t,decrement:u},children:a})},"useInboxCount",0,function(){return(0,c.useContext)(k)??l}],831893)},70813,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(588339),e=a.i(506180);let f=(0,c.createContext)(null);a.s(["FlagCountProvider",0,function({children:a}){let{workspaceId:g}=(0,e.useWorkspace)(),[h,i]=(0,c.useState)(0),j=(0,c.useCallback)(()=>{(0,d.getFlaggedCount)(g).then(a=>i(a.count)).catch(()=>{})},[g]),k=(0,c.useCallback)(()=>{i(a=>a+1)},[]),l=(0,c.useCallback)(()=>{i(a=>Math.max(0,a-1))},[]);return(0,c.useEffect)(()=>{j()},[j]),(0,b.jsx)(f.Provider,{value:{count:h,refresh:j,increment:k,decrement:l},children:a})},"useFlagCount",0,function(){let a=(0,c.useContext)(f);if(!a)throw Error("useFlagCount must be used within FlagCountProvider");return a}])},781418,a=>{"use strict";var b=a.i(749314),c=a.i(437199);a.i(974936);var d=a.i(911509),e=a.i(549931),f=a.i(584126),g=a.i(921584);a.i(735132);var h=a.i(253260),i=a.i(325848),j=a.i(191525),k=a.i(75118);a.s(["AgentPreviewCard",0,function({agent:a,isOnline:l,activeTaskCount:m,variant:n="default",isHovered:o}){let[p,q]=(0,c.useState)(!1),r=a.email_handle?(0,d.toAlookAddress)(a.email_handle):null,s=(0,c.useCallback)(async()=>{if(r)try{await navigator.clipboard.writeText(r),q(!0),g.toast.success("Email copied to clipboard"),setTimeout(()=>q(!1),2e3)}catch{g.toast.error("Failed to copy email")}},[r]);if("compact"===n){let c;return(0,b.jsxs)("div",{className:"flex items-center gap-2 p-0",children:[(c=(0,i.parseAvatarUrl)(a.avatar_url))?(0,b.jsx)(h.AnimatedAvatar,{config:c,size:32,className:"shrink-0 rounded-xl",isHovered:o??!1,isWorking:!!l&&(m??0)>0}):(0,b.jsx)("div",{className:"flex items-center justify-center size-8 rounded-xl bg-secondary text-secondary-foreground text-xs font-medium shrink-0",children:a.name.charAt(0).toUpperCase()}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("p",{className:"text-sm font-medium truncate max-w-35",children:a.name}),r&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:r})]}),void 0!==l&&(0,b.jsx)("div",{className:"pointer-events-none mt-0.5",children:(0,b.jsx)(j.AgentStatusBadge,{isOnline:l,taskCount:m??0,agentId:a.id})})]})]})}return(0,b.jsxs)("div",{className:"flex flex-col gap-1.5 p-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("p",{className:"text-sm font-medium truncate",children:a.name}),(0,b.jsx)("span",{className:"flex-1"}),void 0!==l&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-[11px] text-muted-foreground",children:[(0,b.jsx)("span",{className:(0,k.cn)("size-1.5 rounded-full",l?"bg-status-online":"bg-status-offline")}),l?(m??0)>0?"Working":null:"Offline"]})]}),r&&(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:r}),(0,b.jsx)("button",{type:"button",onClick:a=>{a.stopPropagation(),s()},className:"shrink-0 p-0.5 rounded-sm text-muted-foreground/60 hover:text-foreground transition-colors cursor-pointer",children:p?(0,b.jsx)(e.Check,{className:"size-3 text-green-500"}):(0,b.jsx)(f.Copy,{className:"size-3"})})]}),a.description&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground line-clamp-2",children:a.description})]})}])},127026,40924,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(207058),e=a.i(506180),f=a.i(732254),g=a.i(123047),h=a.i(723127),i=a.i(16831);let j={claude:"Claude Code",codex:"Codex",opencode:"OpenCode"},k="the agent runtime";function l({provider:a,message:d,onRetry:e,retrying:f}){let[m,n]=(0,c.useState)(!1),o=f??m,p=async()=>{if(e){n(!0);try{await e()}finally{n(!1)}}};return(0,b.jsxs)("div",{className:"rounded-md border border-destructive/30 bg-destructive/5 p-2 max-w-full overflow-hidden",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)("p",{className:"flex items-center gap-1.5 text-sm font-semibold text-destructive min-w-0",children:[(0,b.jsx)(g.AlertCircle,{className:"size-3.5 shrink-0"}),(0,b.jsxs)("span",{children:["Error from ",a?j[a]??k:k]})]}),e&&(0,b.jsxs)("button",{type:"button",onClick:p,disabled:o,className:"ml-auto shrink-0 text-xs text-muted-foreground hover:text-foreground transition-colors cursor-pointer disabled:opacity-50 flex items-center gap-1",children:[o?(0,b.jsx)(i.Loader2,{className:"size-3 animate-spin"}):(0,b.jsx)(h.RotateCw,{className:"size-3"}),"Retry"]})]}),(0,b.jsx)("p",{className:"mt-1.5 text-sm text-destructive/90 wrap-anywhere whitespace-pre-wrap",children:d}),(0,b.jsx)("p",{className:"mt-1.5 text-xs text-muted-foreground",children:"This came from the agent runtime on your machine, not from Alook."})]})}function m({task:a,messages:d,connectionLost:e,onRetry:f,provider:g}){let h=(0,c.useMemo)(()=>(function(a){let b=[];for(let c of a)"error"===c.type&&b.push({kind:"error",id:c.id||`seq-${c.seq}`,content:c.content||c.output});return b})(d),[d]);return 0!==h.length||"failed"===a.status&&a.error||e?(0,b.jsxs)("div",{className:"space-y-3 min-w-0 max-w-full",children:[h.length>0&&(0,b.jsx)("div",{className:"space-y-1 mt-1",children:h.map(a=>(0,b.jsx)(l,{provider:g,message:a.content},a.id))}),"failed"===a.status&&a.error&&(0,b.jsx)("div",{className:"mt-2",children:(0,b.jsx)(l,{provider:g,message:a.error,onRetry:f})}),e&&(0,b.jsx)("p",{className:"text-sm text-muted-foreground animate-pulse mt-1",children:"Connection lost — retrying..."})]}):null}var n=a.i(588339);function o(a){return a.slice().sort((a,b)=>{let c=a.created_at.localeCompare(b.created_at);return 0!==c?c:a.id.localeCompare(b.id)})}function p(a,b){let c=new Map;for(let b of a)c.set(b.id,b);for(let a of b)c.set(a.id,a);return o([...c.values()])}function q(a){if("artifact"===a.kind)return"agent";if("message"!==a.kind)return null;let b=a.data.role;return"user"===b?"user":"assistant"===b||"event"===b?"agent":null}function r(a){return a.data.created_at}function s(a){let b=(0,c.useRef)(a);return(0,c.useEffect)(()=>{b.current=a},[a]),b}var t=a.i(752792),u=a.i(831893),v=a.i(452906),w=a.i(921584),x=a.i(75118),y=a.i(25668),z=a.i(525132),A=a.i(540858),B=a.i(647651);let C=(0,B.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"}]]);var D=a.i(510698),E=a.i(606896);let F=(0,B.default)("message-square-quote",[["path",{d:"M14 14a2 2 0 0 0 2-2V8h-2",key:"1r06pg"}],["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M8 14a2 2 0 0 0 2-2V8H8",key:"1jzu5j"}]]);var G=a.i(945081),H=a.i(546257),I=a.i(518828),J=a.i(131675),K=a.i(562706),L=a.i(70813);function M({skill:a,isSelected:c,onSelect:d}){return(0,b.jsxs)("button",{type:"button","data-slash-item":!0,className:(0,x.cn)("flex w-full flex-col gap-0.5 px-3 py-1.5 text-left text-sm transition-colors",c?"bg-accent text-accent-foreground":"hover:bg-accent/50"),onMouseDown:b=>{b.preventDefault(),d(a)},children:[(0,b.jsxs)("span",{className:"flex w-full items-center gap-2",children:[(0,b.jsxs)("span",{className:"min-w-0 flex-1 truncate font-medium",children:["/",a.name]}),a.isGlobal&&(0,b.jsx)("span",{className:"shrink-0 rounded px-1 py-0.5 text-[10px] font-medium bg-muted text-muted-foreground",children:"Global"})]}),a.description&&(0,b.jsx)("span",{className:"truncate text-xs text-muted-foreground",children:a.description.slice(0,80)})]})}function N({isOpen:a,skills:d,selectedIndex:e,onSelect:f,anchorPos:g}){let h=(0,c.useRef)(null);if((0,c.useEffect)(()=>{if(!h.current)return;let a=h.current.querySelectorAll("[data-slash-item]")[e];a?.scrollIntoView({block:"nearest"})},[e]),!a||0===d.length)return null;let i=g.left,j=Math.min(g.left,i);return(0,J.createPortal)((0,b.jsx)("div",{className:"fixed z-100 w-70 rounded-lg border border-border bg-popover text-popover-foreground shadow-md transition-opacity duration-150",style:{top:g.top-4,left:j,transform:"translateY(-100%)"},children:(0,b.jsx)("div",{ref:h,className:"max-h-60 overflow-y-auto py-1 thin-scrollbar",children:d.map((a,c)=>(0,b.jsx)(M,{skill:a,isSelected:c===e,onSelect:f},a.name))})}),document.body)}var O=a.i(623789),P=a.i(892236),Q=a.i(807820),R=a.i(717132);function S(a,b){if(!b)return a;let c=b.toLowerCase(),d=[],e=[];for(let b of a){let a=b.name.toLowerCase();a.startsWith(c)?d.push(b):a.includes(c)&&e.push(b)}return[...d,...e]}var T=a.i(388126);function U(a){return a.replaceAll("&lt;","<").replaceAll("&gt;",">").replaceAll("&amp;","&")}a.i(974936);var V=a.i(911509);let W={items:[],selectedIndex:0,command:null,rect:null};function X({state:a}){let d=(0,c.useRef)(null),{items:e,selectedIndex:f,command:g,rect:h}=a;if((0,c.useEffect)(()=>{if(!d.current)return;let a=d.current.children[f];a?.scrollIntoView({block:"nearest"})},[f]),!h||0===e.length||!g)return null;let i=h.left,j=Math.min(h.left,i);return(0,J.createPortal)((0,b.jsx)("div",{className:"fixed z-100 w-64 rounded-lg border border-border bg-popover text-popover-foreground shadow-md",style:{top:h.top-4,left:j,transform:"translateY(-100%)"},children:(0,b.jsx)("div",{ref:d,className:"max-h-50 overflow-y-auto py-1 thin-scrollbar",children:e.map((a,c)=>(0,b.jsxs)("button",{type:"button",className:(0,x.cn)("flex w-full items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors",c===f?"bg-accent text-accent-foreground":"hover:bg-accent/50"),onMouseDown:b=>{b.preventDefault(),g({id:a.id,label:a.name})},children:[(0,b.jsx)("span",{className:"truncate font-medium",children:a.name}),a.email_handle&&(0,b.jsx)("span",{className:"truncate text-xs text-muted-foreground",children:(0,V.toAlookAddress)(a.email_handle)})]},a.id))})}),document.body)}function Y({hint:a,animate:d}){let[e,f]=(0,c.useState)(a),[g,h]=(0,c.useState)(!0);return(0,c.useEffect)(()=>{if(!d){f(a),h(!0);return}if(a===e)return;h(!1);let b=setTimeout(()=>{f(a),h(!0)},200);return()=>clearTimeout(b)},[a,e,d]),(0,b.jsx)("div",{className:"chat-placeholder-overlay","aria-hidden":"true",children:(0,b.jsx)("span",{className:d?"chat-placeholder-fade":void 0,style:d?{opacity:+!!g}:void 0,children:e})})}let Z=(0,c.forwardRef)(function({value:a,onChange:d,onEditorState:e,onSend:f,onFocus:g,onBlur:h,overlay:i,disabled:j,onMultiLineChange:k,onFiles:l,agents:m,agentLinks:n,currentAgentId:o,slashIsOpen:p,onSlashKeyDown:q},r){let[s,t]=(0,c.useState)(!1),[u,v]=(0,c.useState)(W),w=(0,c.useRef)(u);(0,c.useEffect)(()=>{w.current=u},[u]);let x=(0,c.useRef)(m),y=(0,c.useRef)(n),z=(0,c.useRef)(o),A=(0,c.useRef)(f),B=(0,c.useRef)(e),C=(0,c.useRef)(d),D=(0,c.useRef)(l),E=(0,c.useRef)(g),F=(0,c.useRef)(h),G=(0,c.useRef)(p),H=(0,c.useRef)(q);(0,c.useEffect)(()=>{x.current=m},[m]),(0,c.useEffect)(()=>{y.current=n},[n]),(0,c.useEffect)(()=>{z.current=o},[o]),(0,c.useEffect)(()=>{A.current=f},[f]),(0,c.useEffect)(()=>{B.current=e},[e]),(0,c.useEffect)(()=>{C.current=d},[d]),(0,c.useEffect)(()=>{D.current=l},[l]),(0,c.useEffect)(()=>{E.current=g},[g]),(0,c.useEffect)(()=>{F.current=h},[h]),(0,c.useEffect)(()=>{G.current=p},[p]),(0,c.useEffect)(()=>{H.current=q},[q]);let I=a=>{B.current(a.getText(),a.state.selection.from-1)},[J]=(0,c.useState)(()=>T.default.extend({markdownName:"mention",renderMarkdown:a=>`@${a.attrs.label??a.attrs.id}`}).configure({HTMLAttributes:{class:"mention-highlight"},renderText:({node:a})=>`@${a.attrs.label??a.attrs.id}`,suggestion:{char:"@",items:({query:a})=>(function(a,b,c,d,e=20){let f=function(a,b){let c=new Set;for(let d of a)d.source_agent_id===b&&c.add(d.target_agent_id),d.target_agent_id===b&&c.add(d.source_agent_id);return c}(b,c),g=[],h=[];for(let b of a)f.has(b.id)?g.push(b):h.push(b);return[...S(g,d),...S(h,d)].slice(0,e)})(x.current,y.current,z.current,a),render:()=>({onStart:a=>{v({items:a.items??[],selectedIndex:0,command:a.command,rect:a.clientRect?.()??null})},onUpdate:a=>{v(b=>({items:a.items??[],selectedIndex:b.selectedIndex<(a.items?.length??0)?b.selectedIndex:0,command:a.command,rect:a.clientRect?.()??null}))},onKeyDown:({event:a})=>{if(a.isComposing)return!1;let b=w.current;if(0===b.items.length)return!1;if("ArrowDown"===a.key)return a.preventDefault(),v(a=>({...a,selectedIndex:(a.selectedIndex+1)%a.items.length})),!0;if("ArrowUp"===a.key)return a.preventDefault(),v(a=>({...a,selectedIndex:(a.selectedIndex-1+a.items.length)%a.items.length})),!0;if("Enter"===a.key){a.preventDefault();let c=b.items[b.selectedIndex];return c&&b.command&&b.command({id:c.id,label:c.name}),v(W),!0}return"Escape"===a.key&&(v(W),!0)},onExit:()=>v(W)})}})),K=(0,O.useEditor)({immediatelyRender:!1,content:a?a.replaceAll("\n","<br>"):void 0,editable:!j,extensions:[P.default.configure({heading:!1,blockquote:!1,codeBlock:!1,horizontalRule:!1,bold:!1,italic:!1,strike:!1,code:!1,link:!1,bulletList:!1,orderedList:!1,listItem:!1,listKeymap:!1}),Q.default.configure({placeholder:""}),R.Markdown,J],editorProps:{attributes:{class:"outline-none",enterkeyhint:"send"},handleKeyDown:(a,b)=>(!(w.current.items.length>0)||null===w.current.command)&&(!!(G.current&&H.current({key:b.key,isComposing:b.isComposing,preventDefault:()=>b.preventDefault()}))||"Enter"===b.key&&!b.shiftKey&&!b.isComposing&&!G.current&&(b.preventDefault(),A.current(),!0)),handlePaste:(a,b)=>{let c=b.clipboardData?.items;if(!c)return!1;let d=[];for(let a=0;a<c.length;a++)if("file"===c[a].kind){let b=c[a].getAsFile();b&&d.push(b)}if(d.length>0)return b.preventDefault(),D.current?.(d),!0;let e=b.clipboardData?.getData("text/plain");return!!e&&(b.preventDefault(),a.dispatch(a.state.tr.insertText(e)),!0)},handleDrop:()=>!1},onFocus:()=>{t(!0),E.current?.()},onBlur:()=>{t(!1),F.current?.()},onUpdate:({editor:a})=>{C.current(U(a.getMarkdown())),I(a)},onSelectionUpdate:({editor:a})=>{I(a)}});(0,c.useEffect)(()=>{K?.setEditable(!j)},[K,j]),(0,c.useEffect)(()=>{if(!K)return;let b=(a||"").trim();b!==U(K.getMarkdown()||"").trim()&&(b?K.commands.setContent((a||"").replaceAll("\n","<br>"),{emitUpdate:!1}):K.commands.clearContent(),B.current(K.getText(),K.state.selection.from-1))},[a,K]);let L=(0,c.useRef)(null);return(0,c.useEffect)(()=>{if(!K||!k)return;let a=L.current?.querySelector(".ProseMirror");if(!a)return;let b=()=>k(a.scrollHeight>32);b();let c=new ResizeObserver(b);return c.observe(a),()=>c.disconnect()},[K,k]),(0,c.useEffect)(()=>{},[L,s]),(0,c.useImperativeHandle)(r,()=>({focus:()=>K?.commands.focus(),clear:()=>K?.commands.clearContent(),isEmpty:()=>K?.isEmpty??!0,coordsAtTextIndex:a=>{if(!K)return null;try{let b=K.view.coordsAtPos(a+1);return{top:b.top,left:b.left}}catch{return null}}}),[K]),(0,b.jsxs)("div",{ref:L,className:"chat-composer relative",children:[(0,b.jsx)(O.EditorContent,{editor:K,className:"max-h-44 overflow-y-auto thin-scrollbar pr-2 text-base chat-input-line-height"}),i,(0,b.jsx)(X,{state:u})]})}),$=["Email the team this week's launch update","Recruit a QA agent to review my PRs","Remind me to follow up with Acme on Thursday","What did we ship last week?","Fix the failing test in the checkout flow"];var _=a.i(207461),aa=a.i(596174),ab=a.i(7455),ac=a.i(390759),ad=a.i(135510);function ae({open:a,onOpenChange:d,emailId:e,workspaceId:g}){let[h,j]=(0,c.useState)(null),[k,l]=(0,c.useState)(null),[m,o]=(0,c.useState)(!1),{width:p,onPointerDown:q,onPointerMove:r,onPointerUp:s}=(0,aa.useSheetResize)({defaultWidth:500,minWidth:320,maxWidthRatio:.8}),t=(0,c.useRef)(d);(0,c.useEffect)(()=>{t.current=d}),(0,c.useEffect)(()=>{a&&e&&(o(!0),j(null),l(null),Promise.all([(0,n.getEmail)(e,g),(0,n.getEmailBody)(e,g)]).then(([a,b])=>{j(a),l(b)}).catch(()=>{w.toast.error("Email not found"),t.current(!1)}).finally(()=>o(!1)))},[a,e,g]);let u=a=>{d(a),a||setTimeout(()=>{j(null),l(null)},300)};return(0,b.jsx)(ab.Sheet,{open:a,onOpenChange:u,children:(0,b.jsxs)(ab.SheetContent,{side:"right",showCloseButton:!1,style:{width:`min(${p}px, 100vw)`,maxWidth:"none"},className:"data-[side=right]:sm:inset-y-2 data-[side=right]:sm:right-2 data-[side=right]:sm:h-auto data-[side=right]:sm:rounded-xl data-[side=right]:sm:border",children:[(0,b.jsx)(aa.SheetResizeHandle,{onPointerDown:q,onPointerMove:r,onPointerUp:s}),(0,b.jsx)(ab.SheetHeader,{children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(E.Mail,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,b.jsx)(ab.SheetTitle,{className:"truncate flex-1",children:m?"Loading...":h?.subject||"Email"}),(0,b.jsx)(f.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>u(!1),children:(0,b.jsx)(I.X,{className:"h-4 w-4"})})]})}),(0,b.jsx)(ab.SheetBody,{className:"flex-1 overflow-y-auto thin-scrollbar",children:m?(0,b.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,b.jsx)(i.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):h?(0,b.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,b.jsxs)("div",{className:"text-sm space-y-1 border-b pb-3",children:[(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"From:"}),(0,b.jsx)("span",{className:"truncate",children:h.from_email})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"To:"}),(0,b.jsx)("span",{className:"truncate",children:h.to_email})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"Date:"}),(0,b.jsx)("span",{children:new Date(h.created_at).toLocaleString()})]})]}),k?.isHtml?(0,b.jsx)(ad.EmailBodyFrame,{html:k.content,className:"max-w-full"}):(0,b.jsx)("pre",{className:"whitespace-pre-wrap text-sm font-mono",children:k?.content}),h.attachments&&h.attachments.length>0&&(0,b.jsxs)("div",{className:"border-t pt-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5 mb-2 text-xs text-muted-foreground",children:[(0,b.jsx)(H.Paperclip,{className:"size-3"}),h.attachments.length," attachment",h.attachments.length>1?"s":""]}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:h.attachments.map((a,c)=>(0,b.jsxs)("a",{href:`/api/email/${h.id}/attachment/${c}?workspace_id=${g}`,target:"_blank",rel:"noopener noreferrer",download:a.filename,className:"flex items-center gap-1.5 rounded-md border border-border/50 bg-muted/50 px-2.5 py-1.5 text-xs hover:bg-muted transition-colors cursor-pointer",children:[(0,b.jsx)(ac.File,{className:"size-3 text-muted-foreground shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-45",children:a.filename}),(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:a.size<1024?`${a.size} B`:a.size<1048576?`${(a.size/1024).toFixed(1)} KB`:`${(a.size/1048576).toFixed(1)} MB`})]},a.key))})]})]}):null})]})})}var af=a.i(276163),ag=a.i(963744),ah=a.i(698824),ai=a.i(389660);a.i(343563);var aj=a.i(347788),ak=a.i(415725),al=a.i(748410);function am(a,b){if(b>=a.length)return!0;let c=a.charCodeAt(b);return(!(c>=48)||!(c<=57))&&(!(c>=65)||!(c<=90))&&(!(c>=97)||!(c<=122))&&95!==c}function an(a,b){if(!a||0===b.length||!a.includes("@"))return a;let c=b.slice().sort((a,b)=>b.name.length-a.name.length),d=[];for(let b=0;b<a.length;b++){if("@"!==a[b]||!function(a,b){if(0===b)return!0;let c=a.charCodeAt(b-1);return(!(c>=48)||!(c<=57))&&(!(c>=65)||!(c<=90))&&(!(c>=97)||!(c<=122))&&95!==c}(a,b))continue;let e=b+1;for(let f of c){let c=e+f.name.length;if(c>a.length||a.slice(e,c).toLowerCase()!==f.name.toLowerCase())continue;let g=c,h=a.slice(c).match(/^ \([a-zA-Z0-9-]+@alook\.ai\)/);if(h&&(g=c+h[0].length),(h||am(a,c))&&(!h||am(a,g))){if(d.some(a=>b>=a.start&&b<a.end))break;d.push({start:b,end:c,name:f.name,agentId:f.id});break}}}let e=a;for(let a=d.length-1;a>=0;a--){let b=d[a],c=e.slice(b.start,b.end);e=e.slice(0,b.start)+`<mention data-agent-id="${b.agentId}">${c}</mention>`+e.slice(b.end)}return e}a.i(735132);var ao=a.i(253260),ap=a.i(560893),aq=a.i(307992);let ar=(0,B.default)("flag",[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]]);a.s(["Flag",0,ar],40924);var as=a.i(584126),at=a.i(549931),au=a.i(143984);let av={mention:["data-agent-id"]},aw=["mention"];function ax({icon:a,label:c,title:d,preview:e,trailing:f,onClick:g}){return(0,b.jsxs)("button",{type:"button",onClick:g,disabled:!g,className:(0,x.cn)("group/card w-[26rem] max-w-full h-[4.75rem] overflow-hidden text-left rounded-md border bg-card","flex items-center gap-3 px-3 py-2",g&&"cursor-pointer transition-all duration-150 hover:-translate-y-px hover:shadow-sm hover:border-foreground/15"),children:[(0,b.jsx)("span",{className:"flex size-9 shrink-0 items-center justify-center rounded-md bg-muted text-muted-foreground",children:(0,b.jsx)(a,{className:"size-4"})}),(0,b.jsxs)("span",{className:"flex min-w-0 flex-1 flex-col gap-0.5",children:[(0,b.jsx)("span",{className:"text-[11px] font-medium uppercase tracking-wide text-muted-foreground/70",children:c}),(0,b.jsxs)("span",{className:"flex items-center gap-1.5 min-w-0",children:[(0,b.jsx)("span",{className:"truncate text-sm font-medium text-foreground",children:d}),f]}),e?(0,b.jsx)("span",{className:"truncate text-xs text-muted-foreground",children:e}):null]}),g&&(0,b.jsx)(au.ChevronRight,{className:"size-4 shrink-0 self-center text-muted-foreground/40 transition-colors duration-150 group-hover/card:text-muted-foreground"})]})}function ay({content:a,metadata:c,conversationType:d,onClick:e}){let f=function(a,b,c){if(a?.issueId)return"issue";if(a?.emailId)return"email";if(a?.calendarEventId)return"calendar";if("issue_event"===c)return"issue";if("email_notification"===c)return"email";if("calendar_event"===c)return"calendar";let d=b.toLowerCase();return d.startsWith("issue ")||d.startsWith("issue:")?"issue":d.includes("email")?"email":"calendar"}(c,a,d),g="issue"===f?aq.CircleDot:"email"===f?E.Mail:ap.Calendar,{label:h,title:i,preview:j}=function(a,b){if("email"===a){let a=/^Email sent to (.+?): ([\s\S]+)$/.exec(b);if(a)return{label:"EMAIL",title:a[2],preview:`to ${a[1]}`};let c=/^New email from (.+?): ([\s\S]+)$/.exec(b);if(c)return{label:"EMAIL",title:c[2],preview:`from ${c[1]}`};let d=b.indexOf(": ");return d>-1?{label:"EMAIL",title:b.slice(d+2)}:{label:"EMAIL",title:b}}if("issue"===a){let a=/^Issue status changed: ([\s\S]+?) -> ([\s\S]+)$/.exec(b);if(a)return{label:"ISSUE",title:"Status changed",preview:`Status: ${a[1]} → ${a[2]}`};let c=/^Issue (?:created|opened): ([\s\S]+)$/.exec(b);return c?{label:"ISSUE",title:c[1]}:{label:"ISSUE",title:b.replace(/^Issue:?\s*/i,"")}}return{label:"CALENDAR",title:b.replace(/^Calendar event:\s*/i,"")}}(f,a);return(0,b.jsx)(ax,{icon:g,label:h,title:i,preview:j,onClick:e})}function az({attachmentIds:a,artifacts:c,onArtifactClick:d}){let e=a.map(a=>c.find(b=>b.id===a)).filter(a=>!!a);return 0===e.length?null:(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1.5",children:e.map(a=>(0,b.jsxs)("button",{type:"button",onClick:b=>{b.stopPropagation(),d(a)},className:"inline-flex items-center gap-1 rounded-md bg-primary-foreground/10 border border-primary-foreground/20 px-2 py-0.5 text-xs text-primary-foreground/80 hover:bg-primary-foreground/20 transition-colors cursor-pointer",children:[(0,b.jsx)(D.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-37.5",children:a.filename})]},a.id))})}function aA({pendingFiles:a,messageId:c}){let d=a.get(c);return d&&0!==d.length?(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1.5",children:d.map((a,c)=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-md bg-primary-foreground/10 border border-primary-foreground/20 px-2 py-0.5 text-xs text-primary-foreground/80",children:[(0,b.jsx)(D.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-37.5",children:a.name})]},c))}):null}let aB={solo:"rounded-[1.05rem]",first:"rounded-[1.05rem] rounded-br-[0.35rem]",middle:"rounded-[1.05rem] rounded-tr-[0.35rem] rounded-br-[0.35rem]",last:"rounded-[1.05rem] rounded-tr-[0.35rem]"},aC={solo:"rounded-[1.05rem]",first:"rounded-[1.05rem] rounded-bl-[0.35rem]",middle:"rounded-[1.05rem] rounded-tl-[0.35rem] rounded-bl-[0.35rem]",last:"rounded-[1.05rem] rounded-tl-[0.35rem]"};function aD({groupPosition:a,agentName:c,config:d,forceSpacer:e=!1,children:f}){let g=!e&&("first"===a||"solo"===a);return(0,b.jsxs)("div",{className:"flex justify-start items-start gap-2 min-w-0",children:[(0,b.jsx)("div",{className:(0,x.cn)("w-[30px]","shrink-0"),"aria-hidden":!g,children:g&&d&&(0,b.jsx)(ao.AnimatedAvatar,{config:d,size:30,className:"rounded-md",isHovered:!1})}),(0,b.jsxs)("div",{className:"min-w-0 max-w-[86%] flex flex-col items-start gap-0.5",children:[g&&(0,b.jsx)("span",{className:"text-[0.85rem] font-semibold text-foreground leading-[1.15] pt-0.5 mb-1",children:c}),f]})]})}function aE({actions:a}){return 0===a.length?null:(0,b.jsx)("div",{className:(0,x.cn)("absolute -top-3 right-0 z-10 flex items-center gap-0.5 rounded-lg border bg-card p-0.5 shadow-sm","opacity-0 transition-opacity duration-150 group-hover/msg:opacity-100 focus-within:opacity-100"),children:a.map(a=>(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{render:(0,b.jsx)(f.Button,{variant:"ghost",size:"icon-xs","aria-label":a.label,onClick:b=>{b.stopPropagation(),a.onClick()},className:(0,x.cn)(a.active?"text-foreground":"text-muted-foreground")}),children:a.icon}),(0,b.jsx)(z.TooltipContent,{children:a.label})]},a.key))})}function aF({open:a,onOpenChange:c,actions:d}){return(0,b.jsx)(ab.Sheet,{open:a,onOpenChange:c,children:(0,b.jsx)(ab.SheetContent,{side:"bottom",showCloseButton:!1,className:"rounded-t-2xl p-2",children:(0,b.jsx)("div",{className:"flex flex-col",children:d.map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>{a.onClick(),c(!1)},className:(0,x.cn)("flex items-center gap-3 rounded-lg px-3 py-3 text-left text-[0.95rem] active:bg-muted",(a.active,"text-foreground")),children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:a.icon}),a.label]},a.key))})})})}function aG(){return(0,b.jsx)("span",{"aria-hidden":!0,className:"absolute -left-1.5 -top-1.5 z-10 flex size-3.5 items-center justify-center rounded-full border-2 border-background bg-foreground text-background",children:(0,b.jsx)(ar,{className:"size-2 fill-current"})})}let aH=(0,c.memo)(function({msg:a,agents:d,artifacts:e,activeTask:f,activeTaskStreamMsgId:g,taskMessages:h,connectionLost:i,conversationType:j,pendingFilesByMessage:k,onArtifactClick:n,onEmailClick:o,onIssueClick:p,onCalendarEventClick:q,onRetry:r,mentionComponents:s,isFlagged:t,onToggleFlag:u,groupPosition:v="solo",provider:y,agentName:z,agentAvatarConfig:A,isSendFailed:B,onRetrySend:C}){var D;let E,F,G,H,I,J,K,{copy:L,copied:M}=function(a=2e3){let[b,d]=(0,c.useState)(!1),e=(0,c.useRef)(void 0),f=(0,c.useCallback)(async b=>{try{return await navigator.clipboard.writeText(b),d(!0),clearTimeout(e.current),e.current=setTimeout(()=>d(!1),a),!0}catch{return!1}},[a]);return(0,c.useEffect)(()=>()=>clearTimeout(e.current),[]),{copy:f,copied:b}}(),N=!!f&&"assistant"===a.role&&a.task_id===f.id&&a.conversation_id===f.conversation_id&&(null==g||a.id===g)&&h.length>0&&!["completed","cancelled","superseded"].includes(f.status),O=N&&(h.some(a=>"error"===a.type)||"failed"===f.status&&!!f.error||i),P=N&&f?.status==="failed",Q="assistant"===a.role&&(a.metadata?.kind==="lifecycle"||"Task cancelled by you"===a.content||"Task cancelled by user"===a.content),R=function(){let[a,b]=c.useState(!0);return c.useEffect(()=>{},[]),a}(),[S,T]=c.default.useState(!1),U=c.default.useCallback(async()=>{await L(a.content)?w.toast.success("Copied to clipboard"):w.toast.error("Failed to copy")},[L,a.content]),V="assistant"===a.role||"user"===a.role,W=[];V&&W.push({key:"copy",label:M?"Copied":"Copy",icon:M?(0,b.jsx)(at.Check,{className:"size-3.5"}):(0,b.jsx)(as.Copy,{className:"size-3.5"}),onClick:U}),"assistant"===a.role&&u&&W.push({key:"flag",label:t?"Unflag":"Flag",icon:(0,b.jsx)(ar,{className:(0,x.cn)("size-3.5",t&&"fill-current")}),onClick:()=>u(a.id),active:t});let X=function(a,{delay:b=450,moveThreshold:d=10}={}){let e=c.useRef(null),f=c.useRef(null),g=c.useRef(!1),h=c.useRef(a);c.useEffect(()=>{h.current=a});let i=c.useCallback(()=>{e.current&&(clearTimeout(e.current),e.current=null),f.current=null},[]),j=c.useCallback(a=>{"mouse"!==a.pointerType&&(i(),g.current=!1,f.current={x:a.clientX,y:a.clientY},e.current=setTimeout(()=>{g.current=!0,f.current=null,e.current=null,h.current()},b))},[i,b]),k=c.useCallback(a=>{let b=f.current;if(!b)return;let c=Math.abs(a.clientX-b.x),e=Math.abs(a.clientY-b.y);(c>d||e>d)&&i()},[i,d]),l=c.useCallback(a=>{g.current&&(a.preventDefault(),a.stopPropagation(),g.current=!1)},[]);return c.useEffect(()=>i,[i]),{onPointerDown:j,onPointerMove:k,onPointerUp:i,onPointerCancel:i,onPointerLeave:i,onClick:l}}(()=>{W.length>0&&T(!0)}),Y=!R&&W.length>0?X:{},Z=!R&&W.length>0?(0,b.jsx)(aF,{open:S,onOpenChange:T,actions:W}):null,$=R&&W.length>0?(0,b.jsx)(aE,{actions:W}):null;return(0,b.jsxs)(c.default.Fragment,{children:[N&&O&&(0,b.jsx)("div",{className:(0,x.cn)("group/msg",t&&"bg-muted/30 rounded-lg px-2 -mx-2"),...P?{"data-quote-source":!0}:{},children:(0,b.jsx)(aD,{groupPosition:v,agentName:z,config:A,children:(0,b.jsxs)("div",{className:"relative min-w-0 w-fit max-w-full",...P?Y:{},children:[(0,b.jsx)(m,{task:f,messages:h,connectionLost:i,onRetry:r,provider:y}),P&&$,P&&Z]})})}),"user"===a.role?(E=a.content.match(/^\/(\S+)\s?([\s\S]*)$/),F=E?.[1]??null,G=E?E[2]||"":a.content,(0,b.jsxs)("div",{className:"group/msg flex flex-col items-end","data-message-id":a.id,...a.task_id?{"data-task-id":a.task_id}:{},children:[(0,b.jsxs)("div",{className:(0,x.cn)("max-w-[80%] px-3 py-1.5 bg-primary text-primary-foreground text-base relative",aB[v],B&&"opacity-60"),...Y,children:[F&&(0,b.jsxs)("span",{className:"inline-flex items-center rounded px-1.5 py-0.5 text-xs font-medium bg-primary-foreground/15 text-primary-foreground mb-1",children:["/",F]}),G&&(0,b.jsx)("div",{className:"markdown markdown-user",children:(0,b.jsx)(aj.Streamdown,{plugins:{mermaid:ak.mermaid,cjk:al.cjk},controls:{code:{copy:!0,download:!1},table:{copy:!1,download:!1,fullscreen:!1}},linkSafety:{enabled:!1},allowedTags:av,literalTagContent:aw,components:s,children:an(G,d)})}),a.attachment_ids&&a.attachment_ids.length>0&&a.attachment_ids.some(a=>e.some(b=>b.id===a))?(0,b.jsx)(az,{attachmentIds:a.attachment_ids,artifacts:e,onArtifactClick:n}):(0,b.jsx)(aA,{pendingFiles:k,messageId:a.id}),$]}),Z,B&&(0,b.jsx)("button",{type:"button",onClick:()=>C?.(a.id),className:"mt-1 px-1 text-xs text-destructive hover:underline",children:"Not delivered · tap to retry"})]})):"event"===a.role?(H=a.metadata?.emailId,I=a.metadata?.issueId,J=a.metadata?.calendarEventId,K=H?()=>o(H):I?()=>p(I):J?()=>q(J):void 0,(0,b.jsx)("div",{"data-message-id":a.id,...a.task_id?{"data-task-id":a.task_id}:{},children:(0,b.jsx)(aD,{groupPosition:v,agentName:z,config:A,children:(0,b.jsx)(ay,{content:a.content,metadata:a.metadata,conversationType:j,onClick:K})})})):Q&&a.metadata?.error_source!=="runtime"?(0,b.jsx)("div",{className:"flex justify-center","data-message-id":a.id,...a.task_id?{"data-task-id":a.task_id}:{},children:(0,b.jsx)("span",{className:"text-xs text-muted-foreground/70 text-center px-2 py-1",children:a.content})}):(D={hasTaskStream:N,isRuntimeError:a.metadata?.error_source==="runtime"}).hasTaskStream&&D.isRuntimeError?null:(0,b.jsx)("div",{className:(0,x.cn)("group/msg overflow-x-clip",t&&a.metadata?.error_source==="runtime"&&"bg-muted/30 rounded-lg px-2 -mx-2"),"data-message-id":a.id,"data-quote-source":!0,...a.task_id?{"data-task-id":a.task_id}:{},children:(0,b.jsx)(aD,{groupPosition:v,agentName:z,config:A,children:a.metadata?.error_source==="runtime"?(0,b.jsxs)("div",{className:"relative min-w-0 w-fit max-w-full",...Y,children:[(0,b.jsx)(l,{provider:a.metadata.provider??y,message:a.content}),$,Z]}):(0,b.jsxs)("div",{className:"relative min-w-0 w-fit max-w-full",...Y,children:[(0,b.jsx)("div",{className:(0,x.cn)("markdown min-w-0 max-w-full px-3 py-1.5 bg-muted text-foreground text-base",aC[v],t&&"shadow-[inset_2px_0_0_var(--foreground)]"),children:(0,b.jsx)(aj.Streamdown,{plugins:{mermaid:ak.mermaid,cjk:al.cjk},controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},allowedTags:av,literalTagContent:aw,components:s,children:an(a.content,d)})}),t&&(0,b.jsx)(aG,{}),$,Z]})})})]})});function aI(){return(0,b.jsxs)("span",{className:"inline-flex items-center gap-0.5","aria-hidden":!0,children:[(0,b.jsx)("span",{className:"size-1 rounded-full bg-muted-foreground/60 motion-safe:animate-[typing-dot_1.2s_ease-in-out_infinite]"}),(0,b.jsx)("span",{className:"size-1 rounded-full bg-muted-foreground/60 motion-safe:animate-[typing-dot_1.2s_ease-in-out_0.2s_infinite]"}),(0,b.jsx)("span",{className:"size-1 rounded-full bg-muted-foreground/60 motion-safe:animate-[typing-dot_1.2s_ease-in-out_0.4s_infinite]"})]})}function aJ({agentFirstName:a,taskStatus:c}){let d="running"===c?"typing":"queued"===c||"dispatched"===c?"reading":"idle";return(0,b.jsx)("div",{className:"h-5 px-1 mb-2 flex items-center","aria-live":"polite",children:(0,b.jsx)("span",{className:(0,x.cn)("inline-flex items-center gap-1.5 text-sm text-muted-foreground","idle"!==d&&"motion-safe:animate-[fade-up_200ms_ease-out_both]"),children:"idle"!==d&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{children:"reading"===d?`${a} is reading`:`${a} is typing`}),(0,b.jsx)(aI,{})]})},d)})}var aK=a.i(325848),aL=a.i(781418),aM=a.i(722393);let aN={mention:function(a){let{children:c,...d}=a,{agents:e}=(0,t.useAgentContext)(),f=d["data-agent-id"]??d.dataAgentId,g=f?e.find(a=>a.id===f):void 0;if(!g&&"string"==typeof c){let a=c.startsWith("@")?c.slice(1):c;g=e.find(b=>b.name.toLowerCase()===a.toLowerCase())}return g?(0,b.jsxs)(aM.Popover,{children:[(0,b.jsx)(aM.PopoverTrigger,{openOnHover:!0,delay:300,nativeButton:!1,render:(0,b.jsx)("span",{className:"mention-highlight cursor-pointer"}),children:c}),(0,b.jsx)(aM.PopoverContent,{side:"top",className:"w-fit max-w-80",children:(0,b.jsx)(aL.AgentPreviewCard,{agent:g})})]}):(0,b.jsx)("span",{className:"mention-highlight",children:c})},p:({children:a,node:c,...d})=>(0,b.jsx)("div",{"data-md-p":"",...d,children:a})};function aO({agentName:a}){return(0,b.jsxs)("div",{className:"flex items-center gap-3 py-4 select-none","aria-hidden":!0,children:[(0,b.jsx)("div",{className:"flex-1 border-t border-border/40"}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground/60 whitespace-nowrap",children:[a," took a nap 💤"]}),(0,b.jsx)("div",{className:"flex-1 border-t border-border/40"})]})}function aP({artifact:a,version:c,hasDuplicates:d,onClick:e}){return(0,b.jsx)(ax,{icon:D.FileText,label:"FILE",title:a.filename,preview:(0,_.formatSize)(a.size),trailing:d?(0,b.jsxs)("span",{className:"shrink-0 text-xs text-muted-foreground bg-muted rounded-full px-1.5 py-0.5 font-normal",children:["v",c]}):void 0,onClick:()=>e(a)})}a.s(["AgentChatView",0,function({agentId:a,targetConvId:g,scrollToTaskId:h,scrollToMessageId:j}){let k,l,B,M=(0,d.useParams)(),O=(0,d.useSearchParams)(),{workspaceId:P,slug:Q}=(0,e.useWorkspace)(),{agents:R,runtimes:S,agentLinks:T,activeTaskCounts:U,subscribeWs:V,subscribeReconnect:W}=(0,t.useAgentContext)(),{refresh:X}=(0,u.useInboxCount)(),{activeChannel:aa,loading:ab,setAgentId:ac}=(0,v.useChannel)(),ad=a??M.id,aj=R.find(a=>a.id===ad),ak=aj?.runtime_id?S.find(a=>a.id===aj.runtime_id):null,al=ak?.provider??null,am=void 0!==h?h:O.get("task"),an=void 0!==j?j:O.get("msg"),ao=void 0!==g?g:O.get("conv"),[ap,aq]=(0,c.useState)(()=>""),[ar,as]=(0,c.useState)(!1),{artifactSheetOpen:at,setArtifactSheetOpen:au,selectedArtifact:av,setSelectedArtifact:aw,emailSheetOpen:ax,setEmailSheetOpen:ay,selectedEmailId:az,setSelectedEmailId:aA,calendarEventSheetOpen:aB,setCalendarEventSheetOpen:aC,selectedCalendarEventId:aE,setSelectedCalendarEventId:aF,issueSheetOpen:aG,setIssueSheetOpen:aI,selectedIssueId:aL,setSelectedIssueId:aQ,issueDetail:aR,setIssueDetail:aS,issueDetailLoading:aT,issueTraceTasks:aU,issueActiveTask:aV,setIssueActiveTask:aW,openIssue:aX,issueConvId:aY,issueTaskId:aZ}=function(a){let[b,d]=(0,c.useState)(!1),[e,f]=(0,c.useState)(null),[g,h]=(0,c.useState)(!1),[i,j]=(0,c.useState)(null),[k,l]=(0,c.useState)(!1),[m,o]=(0,c.useState)(null),[p,q]=(0,c.useState)(!1),[r,s]=(0,c.useState)(null),[t,u]=(0,c.useState)(null),[v,x]=(0,c.useState)(!1),[y,z]=(0,c.useState)(null),[A,B]=(0,c.useState)(null),C=(0,c.useCallback)(async b=>{s(b),q(!0),x(!0),z(null),B(null);try{let c=await (0,n.getIssue)(a,b);u(c),c.issue.latest_task_id&&(0,n.getTask)(c.issue.latest_task_id,a).then(a=>B(a)).catch(()=>B(null)),c.issue.trace_id&&(0,n.getTrace)(c.issue.trace_id,a).then(a=>z(a.tasks)).catch(()=>z(null))}catch(a){w.toast.error(a instanceof Error?a.message:"Failed to load issue"),q(!1)}finally{x(!1)}},[a]),D=t?.issue?.conversation_id??null,E=t?.issue?.latest_task_id??null;return{artifactSheetOpen:b,setArtifactSheetOpen:d,selectedArtifact:e,setSelectedArtifact:f,emailSheetOpen:g,setEmailSheetOpen:h,selectedEmailId:i,setSelectedEmailId:j,calendarEventSheetOpen:k,setCalendarEventSheetOpen:l,selectedCalendarEventId:m,setSelectedCalendarEventId:o,issueSheetOpen:p,setIssueSheetOpen:q,selectedIssueId:r,setSelectedIssueId:s,issueDetail:t,setIssueDetail:u,issueDetailLoading:v,issueTraceTasks:y,issueActiveTask:A,setIssueActiveTask:B,openIssue:C,issueConvId:D,issueTaskId:E}}(P),{pendingFiles:a$,setPendingFiles:a_,fileInputRef:a0,addPendingFiles:a1,handleFileSelect:a2,removePendingFile:a3,dragging:a4,handleDragEnter:a5,handleDragLeave:a6,handleDragOver:a7,handleDrop:a8}=function(){let[a,b]=(0,c.useState)([]),d=(0,c.useRef)(null),e=(0,c.useCallback)(a=>{let c=[];for(let b of a)b.size>0xa00000?w.toast.error(`"${b.name}" exceeds 10 MB limit`):c.push(b);c.length>0&&b(a=>[...a,...c])},[]),f=(0,c.useCallback)(a=>{let b=a.target.files;b&&(e(Array.from(b)),a.target.value="")},[e]),g=(0,c.useCallback)(a=>{b(b=>b.filter((b,c)=>c!==a))},[]),[h,i]=(0,c.useState)(!1),j=(0,c.useRef)(0),k=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),j.current++,a.dataTransfer.types.includes("Files")&&i(!0)},[]),l=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),j.current--,0===j.current&&i(!1)},[]),m=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation()},[]),n=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),i(!1),j.current=0,e(Array.from(a.dataTransfer.files))},[e]);return{pendingFiles:a,setPendingFiles:b,fileInputRef:d,addPendingFiles:e,handleFileSelect:f,removePendingFile:g,dragging:h,handleDragEnter:k,handleDragLeave:l,handleDragOver:m,handleDrop:n}}(),[a9,ba]=(0,c.useState)(null),[bb]=(0,c.useState)(()=>Date.now()),[bc,bd]=(0,c.useState)(()=>null),[be,bf]=(0,c.useState)(!1),{flaggedIds:bg,setFlaggedIds:bh,handleToggleFlag:bi}=function(a){let[b,d]=(0,c.useState)(new Set),e=(0,c.useRef)(b);(0,c.useEffect)(()=>{e.current=b});let{increment:f,decrement:g,refresh:h}=(0,L.useFlagCount)(),i=(0,c.useCallback)(async b=>{let c=e.current.has(b);d(a=>{let d=new Set(a);return c?d.delete(b):d.add(b),d}),c?(g(),(0,n.unflagMessage)(a,b).then(()=>{h()}).catch(()=>{d(a=>new Set(a).add(b)),f()})):(f(),(0,n.flagMessage)(a,b).then(()=>{h()}).catch(()=>{d(a=>{let c=new Set(a);return c.delete(b),c}),g()}))},[a,f,g,h]);return{flaggedIds:b,setFlaggedIds:d,handleToggleFlag:i}}(P);(0,c.useEffect)(()=>{ac(ad)},[ad,ac]);let bj=(0,c.useRef)(!1),bk=s(ap),bl=s(bc),bm=s(a$),bn=(0,c.useRef)(null),bo=(0,c.useRef)(null),{conversation:bp,messages:bq,sending:br,activeTask:bs,taskMessages:bt,messagesLoading:bu,connectionLost:bv,loadingMore:bw,artifacts:bx,napping:by,pendingFilesByMessage:bz,failedSends:bA,agentArtifacts:bB,agentName:bC,timeline:bD,groupPositions:bE,activeTaskStreamMsgId:bF,canLoadMore:bG,currentConvHasMessages:bH,scrollRef:bI,composerRef:bJ,loadOlderMessages:bK,handleScroll:bL,handleSend:bM,handleRetrySend:bN,handleRetryTask:bO,handleNap:bP}=function(a,b){let{agentId:d,targetConvId:e,scrollToTaskId:f,scrollToMessageId:g,propTargetConvId:h,workspaceId:i,agents:j,activeChannel:k,channelLoading:l,subscribeWs:m,subscribeReconnect:t,refreshInboxCount:u}=a,{setFlaggedIds:v,setPendingFiles:x,setInput:y,setQuotedText:z,setActiveSkill:A,clearActiveSkill:B,inputRef:C,quotedTextRef:D,pendingFilesRef:E,activeSkillRef:F,draftMetaRestoredRef:G}=b,[H,I]=(0,c.useState)(null),[L,M]=(0,c.useState)([]),[N,O]=(0,c.useState)(!1),[P,Q]=(0,c.useState)(null),[R,S]=(0,c.useState)([]),[T,U]=(0,c.useState)(!0),[V,W]=(0,c.useState)(!1),[X,Y]=(0,c.useState)(!1),[Z,$]=(0,c.useState)(!1),[_,aa]=(0,c.useState)([]),[ab,ac]=(0,c.useState)([]),[ad,ae]=(0,c.useState)(!1),[af,ag]=(0,c.useState)([]),[ah,ai]=(0,c.useState)(()=>new Map),[aj,ak]=(0,c.useState)(()=>new Map),{writeToCache:al}=function(a,b){let[d,e]=(0,c.useState)(null),[f,g]=(0,c.useState)(!1),h=(0,c.useRef)(a);return(0,c.useEffect)(()=>{if(h.current=a,!a||!b){e(null),g(!1);return}(0,K.openCacheDB)(b);let c=!1;return(0,K.getCachedMessages)(a,b).then(b=>{c||h.current!==a||(b&&b.length>0?(e(b),g(!0)):(e(null),g(!1)))}),()=>{c=!0}},[a,b]),{cachedMessages:d,isFromCache:f,writeToCache:(0,c.useCallback)(async(a,c,d)=>{h.current&&b&&await (0,K.mergeCachedMessages)(h.current,a,c,b,d)},[b])}}(e??null,i),am=(0,c.useRef)(al);(0,c.useEffect)(()=>{am.current=al},[al]);let an=(0,c.useMemo)(()=>_.filter(a=>"agent"===a.source),[_]),ao=(0,c.useMemo)(()=>(function(a,b,c,d){if(!d||0===c.length){let d=[...a.map(a=>({kind:"message",data:a})),...b.map(a=>({kind:"artifact",data:a})),...c.map(a=>({kind:"nap",data:a}))];return d.sort((a,b)=>{let c=a.data.created_at.localeCompare(b.data.created_at);if(0!==c)return c;if("nap"===a.kind||"nap"===b.kind){if("nap"===a.kind&&"nap"!==b.kind)return 1;if("nap"!==a.kind&&"nap"===b.kind)return -1}return a.kind!==b.kind?"message"===a.kind?-1:1:a.data.id.localeCompare(b.data.id)}),d}let e=new Set(c.map(a=>a.id.replace(/^nap-/,""))),f=[...c].sort((a,b)=>a.created_at.localeCompare(b.created_at)),g=c=>[...a.filter(a=>a.conversation_id===c).map(a=>({kind:"message",data:a})),...b.filter(a=>a.conversation_id===c).map(a=>({kind:"artifact",data:a}))].sort((a,b)=>{let c=a.data.created_at.localeCompare(b.data.created_at);return 0!==c?c:a.kind!==b.kind?"message"===a.kind?-1:1:a.data.id.localeCompare(b.data.id)}),h=[];for(let a of f){let b=a.id.replace(/^nap-/,"");h.push(...g(b)),h.push({kind:"nap",data:a})}h.push(...g(d));let i=new Set([...e,d]),j=a.filter(a=>!i.has(a.conversation_id)),k=b.filter(a=>!i.has(a.conversation_id));if(j.length>0||k.length>0){let a=[...j.map(a=>({kind:"message",data:a})),...k.map(a=>({kind:"artifact",data:a}))];a.sort((a,b)=>{let c=a.data.created_at.localeCompare(b.data.created_at);return 0!==c?c:a.kind!==b.kind?"message"===a.kind?-1:1:a.data.id.localeCompare(b.data.id)});let b=h.findIndex(a=>"nap"===a.kind);b>=0?h.splice(b,0,...a):h.push(...a)}return h})(L,an,af,H?.id),[L,an,af,H?.id]),ap=(0,c.useMemo)(()=>(function(a){let b=Array(a.length).fill(null),c=(a,b)=>{if(!a||!b)return!1;let c=q(a),d=q(b);if(null===c||c!==d)return!1;let e=r(a),f=r(b);return!e||!f||6e4>Math.abs(new Date(e).getTime()-new Date(f).getTime())};for(let d=0;d<a.length;d++){let e=a[d];if(null===q(e))continue;let f=d>0?a[d-1]:null,g=d<a.length-1?a[d+1]:null,h=c(f,e),i=c(e,g);h&&i?b[d]="middle":h&&!i?b[d]="last":!h&&i?b[d]="first":b[d]="solo"}return b})(ao),[ao]),aq=(0,c.useMemo)(()=>{if(!P)return null;for(let a=L.length-1;a>=0;a--){let b=L[a];if("assistant"===b.role&&b.task_id===P.id)return b.id}return null},[L,P]),ar=(0,c.useRef)(null),as=(0,c.useRef)(null),at=(0,c.useRef)(null),au=(0,c.useRef)(null),av=(0,c.useRef)(0),aw=(0,c.useRef)(0),ax=(0,c.useRef)(!1),ay=(0,c.useRef)(!1),az=(0,c.useRef)(!0),aA=(0,c.useRef)(!1),aB=(0,c.useRef)(null),aC=(0,c.useRef)(null),aD=(0,c.useRef)(0),aE=(0,c.useRef)(void 0),aF=(0,c.useRef)(null),aG=(0,c.useRef)({completedKey:null}),aH=(0,c.useRef)(null),aI=(0,c.useCallback)((a,b)=>{aF.current===a&&(0,K.getConvExtras)(a,i).then(c=>{if(c&&aF.current===a)return(0,K.setConvExtras)(a,{artifacts:b,conversation_type:c.conversation_type,conversation_title:c.conversation_title,conversation_channel:c.conversation_channel,conversation_created_at:c.conversation_created_at,hasMoreArtifacts:c.hasMoreArtifacts},i)}).catch(()=>{})},[i]),aJ=(0,c.useCallback)(()=>{az.current=!0,setTimeout(()=>{ar.current?.scrollTo({top:ar.current.scrollHeight,behavior:"smooth"})},50)},[]);(0,c.useEffect)(()=>{var a,b;if(!e&&l)return;let c=(a={workspaceId:i,agentId:d,targetConvId:e,scrollToTaskId:f}).targetConvId?`${a.workspaceId}::${a.agentId}::${a.targetConvId}::${a.scrollToTaskId??""}`:null;if(b=aG.current,c&&b.completedKey===c||(b.completedKey=null,0))return;as.current&&clearInterval(as.current),as.current=null,au.current=null,aF.current=null;let g=!1;U(!0),ax.current=!1,Q(null),S([]),ai(new Map),ak(new Map),ag([]),ac([]),ae(!1),aC.current=null,y(localStorage.getItem(`chat-draft:${d}:${e??"default"}`)??"");let h=localStorage.getItem(`chat-draft-meta:${d}:${e??"default"}`);if(h)try{let a=JSON.parse(h);z(a.quote??null),A(a.skill?a.skill:null)}catch{z(null),A(null)}else z(null),A(null);async function j(a){let b=await (0,K.getCacheMeta)(a,i);if(b?.newestMessageId){let c=await (0,K.getCachedMessages)(a,i);if(g)return{painted:!1,cacheMeta:b};if(c&&c.length>0)return M(c),Y(b.hasMore),U(!1),await m(a,c),{painted:!0,cacheMeta:b}}return{painted:!1,cacheMeta:b}}async function m(a,b){let c=await (0,K.getConvExtras)(a,i);if(g||!c)return;aa(c.artifacts);let e=c.conversation_created_at||b[0]?.created_at||b[b.length-1]?.created_at||"";I(b=>b&&b.id===a?b:{id:a,agent_id:d,title:c.conversation_title,type:c.conversation_type,channel:c.conversation_channel,created_at:e})}return G.current=!0,M([]),async function(){let a=!1;try{let b=null,c=null,h=null;if(e){b=e;let d=await j(b);if(g)return;c=d.cacheMeta,a=d.painted}else{let e=await (0,K.getLastOpenConversation)(d,k,i);if(g)return;if(e?.conversation_id&&e.serverMessageCount>0){let b=await j(e.conversation_id);if(g)return;b.painted&&(a=!0,h=e.conversation_id,c=b.cacheMeta)}try{let e=await (0,n.checkFreshness)({agentId:d,channel:k},i);if(g)return;if(b=e.conversation_id,h&&b!==h){ax.current=!1,az.current=!0;let d=await j(b);if(g)return;c=d.cacheMeta,a=d.painted,d.painted||(M([]),U(!0),aa([]))}else if(!h){let d=await j(b);if(g)return;c=d.cacheMeta,a=d.painted}}catch{}}if(b){aF.current=b;let h=await (0,n.conversationInit)(b,i,{newestMessageId:c?.newestMessageId??void 0,messageCount:c?.serverMessageCount||void 0});if(g)return;if(I(h.conversation),ae(h.has_more_conversations),!h.cache_valid&&h.messages){let c=az.current;M(a=>p(a,h.messages)),aF.current===b&&(0,K.mergeCachedMessages)(b,h.messages,h.has_more_messages,i,h.message_count).catch(()=>{}),Y(h.has_more_messages),a&&ax.current&&c&&aJ()}else c&&Y(c.hasMore);if(aF.current===b&&!e){let a=await (0,K.getCacheMeta)(b,i);if(g)return;(0,K.setLastOpenConversation)(d,k,{conversation_id:b,newestMessageId:a?.newestMessageId??c?.newestMessageId??null,serverMessageCount:h.message_count},i).catch(()=>{})}if(aa(h.artifacts),aF.current===b&&(0,K.setConvExtras)(b,{artifacts:h.artifacts,conversation_type:h.conversation.type,conversation_title:h.conversation.title,conversation_channel:h.conversation.channel,conversation_created_at:h.conversation.created_at,hasMoreArtifacts:h.has_more_artifacts},i).catch(()=>{}),v(new Set(h.flagged_message_ids)),h.active_task&&(Q(h.active_task),S(h.task_messages),h.task_messages.length>0&&(av.current=Math.max(...h.task_messages.map(a=>a.seq))),aB.current?.(h.active_task.id,b,av.current)),f){let a=await (0,n.getTask)(f,i).catch(()=>null);if(g)return;if(a&&!["completed","failed","cancelled","superseded"].includes(a.status)){Q(a);let c=await (0,n.getTaskMessages)(f,i).catch(()=>[]);if(g)return;let d=c.filter(a=>"error"===a.type);S(d),c.length>0&&(av.current=Math.max(...c.map(a=>a.seq))),aB.current?.(a.id,b,av.current)}}}else{let b=await (0,n.chatInit)(d,i,k);if(g)return;aF.current=b.conversation.id,I(b.conversation);let c=az.current;M(a=>a.length>0?p(a,b.messages):b.messages),Y(b.has_more_messages),aa(b.artifacts),ae(b.has_more_conversations),(0,K.mergeCachedMessages)(b.conversation.id,b.messages,b.has_more_messages,i).catch(()=>{}),aF.current===b.conversation.id&&(0,K.setConvExtras)(b.conversation.id,{artifacts:b.artifacts,conversation_type:b.conversation.type,conversation_title:b.conversation.title,conversation_channel:b.conversation.channel,conversation_created_at:b.conversation.created_at,hasMoreArtifacts:b.has_more_artifacts},i).catch(()=>{}),(0,K.setLastOpenConversation)(d,k,{conversation_id:b.conversation.id,newestMessageId:b.messages.length>0?b.messages[b.messages.length-1].id:null,serverMessageCount:b.has_more_messages?0:b.messages.length},i).catch(()=>{}),a&&ax.current&&c&&aJ(),(0,n.listFlaggedMessageIds)(i,b.conversation.id).then(a=>{g||v(new Set(a.message_ids))}).catch(()=>{}),b.active_task&&(Q(b.active_task),b.task_messages.length>0&&(S(b.task_messages),av.current=Math.max(...b.task_messages.map(a=>a.seq))),["completed","failed","cancelled","superseded"].includes(b.active_task.status)||aB.current?.(b.active_task.id,b.conversation.id,av.current))}}catch{a?w.toast.error("Couldn't refresh conversation"):w.toast.error("Failed to load conversation")}finally{if(!g){var b;U(!1),b=aG.current,c&&(b.completedKey=c)}}}(),()=>{g=!0}},[d,i,e,f,k,l]);let aK=(0,c.useRef)(u);(0,c.useEffect)(()=>{aK.current=u},[u]);let aL=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!H?.id||!i||aL.current===H.id)return;aL.current=H.id;let a=setTimeout(()=>{(0,n.markInboxRead)(H.id,i).then(()=>aK.current()).catch(()=>{})},1e3);return()=>{aL.current=null,clearTimeout(a)}},[H?.id,i]),(0,c.useEffect)(()=>{T||!(L.length>0)||ax.current||(ax.current=!0,f||g?(az.current=!1,ar.current?.scrollTo({top:ar.current.scrollHeight})):h?setTimeout(()=>{let a=ar.current?.querySelectorAll("[data-quote-source]");a&&a.length>0?a[a.length-1].scrollIntoView({behavior:"instant",block:"start"}):ar.current?.scrollTo({top:ar.current.scrollHeight})},50):setTimeout(()=>{ar.current?.scrollTo({top:ar.current.scrollHeight})},50))},[T,L.length,f,g,h]),(0,c.useEffect)(()=>{let a;if(!f||T||!H)return;az.current=!1,aA.current=!0;let b=!1,c=()=>{if(b)return!1;let c=document.querySelector(`[data-task-id="${CSS.escape(f)}"]`);return!!c&&(c.scrollIntoView({behavior:"smooth",block:"center"}),c.classList.add("task-highlight"),a=setTimeout(()=>{c.classList.remove("task-highlight"),b||(aA.current=!1)},1500),!0)},d=setTimeout(async()=>{if(!b&&!c())try{let a=await (0,n.listMessagesAroundTask)(H.id,i,f);if(b)return;a.length>0?(M(b=>p(b,a)),requestAnimationFrame(()=>{setTimeout(()=>{c()||(aA.current=!1)},100)})):aA.current=!1}catch{b||(aA.current=!1)}},100);return()=>{b=!0,clearTimeout(d),a&&clearTimeout(a)}},[f,T,H,i]),(0,c.useEffect)(()=>{let a;if(!g||f||T||!H)return;az.current=!1,aA.current=!0;let b=!1,c=setTimeout(()=>{!b&&((()=>{if(b)return!1;let c=document.querySelector(`[data-message-id="${CSS.escape(g)}"]`);return!!c&&(c.scrollIntoView({behavior:"smooth",block:"center"}),c.classList.add("task-highlight"),a=setTimeout(()=>{c.classList.remove("task-highlight"),b||(aA.current=!1)},1500),!0)})()||(ar.current?.scrollTo({top:ar.current.scrollHeight}),aA.current=!1))},100);return()=>{b=!0,clearTimeout(c),a&&clearTimeout(a)}},[g,f,T,H]);let aM=P?.status;(0,c.useEffect)(()=>{aA.current||("running"===aM||"queued"===aM)&&az.current&&aJ()},[R.length,aM,aJ]),(0,c.useEffect)(()=>{aA.current||ax.current&&az.current&&aJ()},[_.length,L.length,aJ]);let aN=(0,c.useMemo)(()=>j.find(a=>a.id===d)?.name??"Agent",[j,d]),aO=s(L),aP=s(X),aQ=s(ab),aR=s(ad),aS=s(aN),aT=s(k),aU=(0,c.useCallback)(async(a=!1)=>{if(!H||ay.current)return;ay.current=!0;let b=aO.current,c=aP.current,f=aR.current,g=aS.current,h=aT.current,j=!!e,k=b[0],l=aC.current?.id??H.id,m=c&&k,o=aQ.current;if(!j&&!m&&0===o.length&&f){let a=aC.current??{id:H.id,created_at:H.created_at};try{let b=await (0,n.listPreviousConversations)(d,i,{exclude:H.id,before:a.created_at,channel:h});o=b.conversations,ac(b.conversations),ae(b.has_more)}catch{ae(!1)}}let p=!j&&o.length>0;if(!m&&!p){ay.current=!1;return}$(!0);let q=ar.current;q&&(q.style.overflowAnchor="none");let r=q?.scrollHeight??0;try{let b=[],c=[],e=20,p=!1,s=[],t=!1;if(m){let a=l===H.id?await (0,K.getCachedMessagesBefore)(l,k.created_at,k.id,20,i):null;if(a)b=a.messages,e-=a.messages.length,p=a.hasMore;else{let a=await (0,n.listMessages)(l,i,{limit:20,before:k.created_at,beforeId:k.id});b=a.messages,e-=a.messages.length,p=a.has_more}t=p}if(!j&&!p&&e>0){if(0===o.length&&f){let a=aC.current??{id:H.id,created_at:H.created_at};try{let b=await (0,n.listPreviousConversations)(d,i,{exclude:H.id,before:a.created_at,channel:h});o=b.conversations,ac(b.conversations),ae(b.has_more)}catch{ae(!1)}}let a=0,b=0;for(;a<o.length&&e>0&&b<5;){let d=o[a];a++,b++;let f=await (0,n.listMessages)(d.id,i,{limit:e});if(0===f.messages.length){aC.current=d;continue}let h=aC.current?.created_at??H.created_at;s.push({agentName:g,created_at:h,id:`nap-${d.id}`}),c=[...f.messages,...c],e-=f.messages.length,p=f.has_more,aC.current=d}a>0&&ac(b=>b.slice(a))}let u=[...c,...b];if((0,J.flushSync)(()=>{u.length>0?(s.length>0&&ag(a=>{let b=new Set(a.map(a=>a.id)),c=s.filter(a=>!b.has(a.id));return[...a,...c]}),Y(p),M(a=>{let b=new Set(a.map(a=>a.id));return[...u.filter(a=>!b.has(a.id)),...a]})):Y(!1)}),u.length>0&&H){let a=u.filter(a=>a.conversation_id===H.id);a.length>0&&(0,K.mergeCachedMessages)(H.id,a,t,i).catch(()=>{})}if(ay.current=!1,(0,J.flushSync)(()=>$(!1)),q)if(a)q.scrollTop=q.scrollHeight;else{let a=q.scrollHeight;q.scrollTop=a-r}}catch{w.toast.error("Failed to load older messages")}finally{ay.current=!1,$(!1),ar.current&&(ar.current.style.overflowAnchor="")}},[H,i,d,e,aO,aP,aR,aS,aT,aQ]),aV=e?X:X||ab.length>0||ad;(0,c.useEffect)(()=>{H?.id!==aE.current&&(aE.current=H?.id,aD.current=0)},[H?.id]),(0,c.useEffect)(()=>{T||!H||f||e||L.length>=10||!aV||Z||aD.current>=3||(aD.current+=1,aU(!0))},[T,L.length,aV,Z,H,aU,f,e]);let aW=(0,c.useCallback)(()=>{let a=ar.current;a&&(az.current=a.scrollHeight-a.scrollTop-a.clientHeight<100)},[]),aX=(0,c.useCallback)((a,b,c)=>{as.current&&clearInterval(as.current),av.current=c??0,aw.current=0,W(!1),au.current=a,as.current=setInterval(async()=>{if(au.current===a)try{let c=await (0,n.getTask)(a,i),d=au.current!==a;if(aw.current=0,W(!1),"completed"===c.status||"failed"===c.status||"cancelled"===c.status||"superseded"===c.status){if(d)return void(0,n.listMessages)(b,i).then(({messages:a})=>{M(b=>p(b,a)),(0,K.mergeCachedMessages)(b,a,null,i).catch(()=>{})}).catch(()=>{});as.current&&clearInterval(as.current),as.current=null,at.current&&clearTimeout(at.current),at.current=setTimeout(()=>{(0,n.markInboxRead)(b,i).then(()=>aK.current()).catch(()=>{})},1e3);let e=!aA.current&&az.current;try{let[a,d]=await Promise.all([(0,n.listMessages)(b,i),(0,n.listArtifacts)(b,i).catch(()=>null)]);M(b=>p(b,a.messages)),(0,K.mergeCachedMessages)(b,a.messages,null,i).catch(()=>{}),d&&(aa(d),aI(b,d)),Q(c)}catch{Q(c),w.toast.error("Failed to refresh messages")}e&&requestAnimationFrame(()=>{ar.current?.scrollTo({top:ar.current.scrollHeight,behavior:"smooth"})}),setTimeout(async()=>{if(!as.current)try{let c=await (0,n.getActiveTask)(b,i);if(c&&c.id!==a){let{messages:a}=await (0,n.listMessages)(b,i);M(b=>p(b,a)),(0,K.mergeCachedMessages)(b,a,null,i).catch(()=>{}),Q(c),S([]),aB.current?.(c.id,b)}}catch{}},1e3)}else d||Q(c)}catch{if(au.current!==a)return;aw.current+=1,aw.current>=3&&W(!0),aw.current>=10&&(as.current&&clearInterval(as.current),as.current=null,w.toast.error("Lost connection to agent"))}},3e3)},[i]);(0,c.useEffect)(()=>{aB.current=aX},[aX]),(0,c.useEffect)(()=>()=>{as.current&&clearInterval(as.current),at.current&&clearTimeout(at.current)},[]);let aY=(0,c.useRef)(null);(0,c.useEffect)(()=>{aY.current=P?.id??null},[P]),(0,c.useEffect)(()=>m(a=>{if("task.messages"===a.type&&a.taskId===aY.current){let b=a.messages.filter(a=>a.seq>av.current);if(b.length>0){let a=b.filter(a=>"error"===a.type);a.length>0&&S(b=>{let c=new Set(b.map(a=>a.seq)),d=a.filter(a=>!c.has(a.seq));return d.length>0?[...b,...d]:b}),av.current=Math.max(...b.map(a=>a.seq),av.current)}}if("task.created"===a.type&&a.conversationId===H?.id){(0,n.listMessages)(a.conversationId,i).then(({messages:b})=>{M(a=>p(a,b)),(0,K.mergeCachedMessages)(a.conversationId,b,null,i).catch(()=>{})}).catch(()=>{});let b=a.task;aY.current=b.id,Q(b),S([]),av.current=0,aB.current?.(b.id,a.conversationId)}if("task.created"===a.type){let b=a.task,c=aT.current;(0,K.getLastOpenConversation)(d,c,i).then(a=>{let e=function(a){let{task:b,agentId:c,activeChannel:d,currentPointerConvId:e}=a;return b.agent_id!==c||(b.channel??"default")!==d||b.conversation_id===e?null:b.conversation_id}({task:b,agentId:d,activeChannel:c,currentPointerConvId:a?.conversation_id??null});if(e)return(0,K.getCacheMeta)(e,i).then(a=>(0,K.setLastOpenConversation)(d,c,{conversation_id:e,newestMessageId:a?.newestMessageId??null,serverMessageCount:a?.messageCount??0},i))}).catch(()=>{})}"conversation.message"===a.type&&(a.conversationId===aF.current&&(0,K.appendCachedMessage)(a.conversationId,a.message,i).catch(()=>{}),a.conversationId===H?.id&&M(b=>{let c=new Date(a.message.created_at).getTime(),d=b.findIndex(b=>b.id.startsWith("temp-")&&b.role===a.message.role&&b.content===a.message.content&&2e3>Math.abs(new Date(b.created_at).getTime()-c));if(-1!==d){let c=b[d].id;ai(a=>{if(!a.has(c))return a;let b=new Map(a);return b.delete(c),b});let e=[...b];return e[d]=a.message,e}return p(b,[a.message])})),"task.updated"===a.type&&a.taskId===aY.current&&Q(b=>b?{...b,status:a.status}:b),"artifact.uploaded"===a.type&&a.conversationId===H?.id&&aa(b=>{if(b.some(b=>b.id===a.artifact.id))return b;let c=[...b,a.artifact];return aI(a.conversationId,c),c})}),[m,H?.id,i,d,aI]),(0,c.useEffect)(()=>t(()=>{H?.id&&(0,K.getCacheMeta)(H.id,i).then(a=>{(0,n.conversationInit)(H.id,i,{newestMessageId:a?.newestMessageId??void 0,messageCount:a?.serverMessageCount??void 0}).then(a=>{!a.cache_valid&&a.messages&&(M(b=>p(b,a.messages)),am.current(a.messages,a.has_more_messages,a.message_count).catch(()=>{}))}).catch(()=>{})})}),[t,H?.id,i]);let aZ=async()=>{let a=C.current.trim();if(!a&&0===E.current.length||N||!H)return;if(!a)return void w.toast.error("Please type a message");let b=D.current?`> ${D.current.split("\n").join("\n> ")}
1
+ module.exports=[831893,896393,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(588339),e=a.i(752792),f=a.i(506180),g=a.i(626806);let h=["user_dm_message"],i=["user_dm_message"];function j(){return h}a.s(["INBOX_FILTER_LABELS",0,{user_dm_message:"DM",calendar_event:"Calendar",email_notification:"Email"},"INBOX_FILTER_TYPES",0,["user_dm_message","calendar_event","email_notification"],"MANDATORY_INBOX_TYPES",0,i,"getInboxFilterTypes",0,j,"setInboxFilterTypes",0,function(a){let b=[...a];for(let a of i)b.includes(a)||b.unshift(a);localStorage.setItem("inbox-filter-types",JSON.stringify(b))}],896393);let k=(0,c.createContext)(null),l={count:0,notificationToken:0,refresh:()=>{},decrement:()=>{}};a.s(["InboxCountProvider",0,function({children:a}){let{workspaceId:h}=(0,f.useWorkspace)(),{subscribeWs:i,agents:l}=(0,e.useAgentContext)(),[m,n]=(0,c.useState)(0),[o,p]=(0,c.useState)(0),q=(0,c.useRef)(null),r=(0,c.useRef)(null),s=(0,c.useRef)(l);(0,c.useEffect)(()=>{s.current=l});let t=(0,c.useCallback)(()=>{let a=j();(0,d.getInboxCount)(h,{types:a}).then(a=>{let b=q.current;if(q.current=a.count,n(a.count),null!==b&&a.count>b){p(a=>a+1);let a=r.current?s.current.find(a=>a.id===r.current):void 0;(0,g.sendTaskNotification)("completed",a?.name)}r.current=null}).catch(()=>{})},[h]),u=(0,c.useCallback)(()=>{n(a=>Math.max(0,a-1))},[]);return(0,c.useEffect)(()=>{t()},[t]),(0,c.useEffect)(()=>i(a=>{"task.updated"===a.type&&("completed"===a.status||"failed"===a.status)&&(r.current=a.agentId,t())}),[i,t]),(0,c.useEffect)(()=>{let a=setInterval(t,6e4);return()=>clearInterval(a)},[t]),(0,b.jsx)(k.Provider,{value:{count:m,notificationToken:o,refresh:t,decrement:u},children:a})},"useInboxCount",0,function(){return(0,c.useContext)(k)??l}],831893)},70813,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(588339),e=a.i(506180);let f=(0,c.createContext)(null);a.s(["FlagCountProvider",0,function({children:a}){let{workspaceId:g}=(0,e.useWorkspace)(),[h,i]=(0,c.useState)(0),j=(0,c.useCallback)(()=>{(0,d.getFlaggedCount)(g).then(a=>i(a.count)).catch(()=>{})},[g]),k=(0,c.useCallback)(()=>{i(a=>a+1)},[]),l=(0,c.useCallback)(()=>{i(a=>Math.max(0,a-1))},[]);return(0,c.useEffect)(()=>{j()},[j]),(0,b.jsx)(f.Provider,{value:{count:h,refresh:j,increment:k,decrement:l},children:a})},"useFlagCount",0,function(){let a=(0,c.useContext)(f);if(!a)throw Error("useFlagCount must be used within FlagCountProvider");return a}])},781418,a=>{"use strict";var b=a.i(749314),c=a.i(437199);a.i(974936);var d=a.i(911509),e=a.i(549931),f=a.i(584126),g=a.i(921584);a.i(735132);var h=a.i(253260),i=a.i(325848),j=a.i(191525),k=a.i(75118);a.s(["AgentPreviewCard",0,function({agent:a,isOnline:l,activeTaskCount:m,variant:n="default",isHovered:o}){let[p,q]=(0,c.useState)(!1),r=a.email_handle?(0,d.toAlookAddress)(a.email_handle):null,s=(0,c.useCallback)(async()=>{if(r)try{await navigator.clipboard.writeText(r),q(!0),g.toast.success("Email copied to clipboard"),setTimeout(()=>q(!1),2e3)}catch{g.toast.error("Failed to copy email")}},[r]);if("compact"===n){let c;return(0,b.jsxs)("div",{className:"flex items-center gap-2 p-0",children:[(c=(0,i.parseAvatarUrl)(a.avatar_url))?(0,b.jsx)(h.AnimatedAvatar,{config:c,size:32,className:"shrink-0 rounded-xl",isHovered:o??!1,isWorking:!!l&&(m??0)>0}):(0,b.jsx)("div",{className:"flex items-center justify-center size-8 rounded-xl bg-secondary text-secondary-foreground text-xs font-medium shrink-0",children:a.name.charAt(0).toUpperCase()}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("p",{className:"text-sm font-medium truncate max-w-35",children:a.name}),r&&(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:r})]}),void 0!==l&&(0,b.jsx)("div",{className:"pointer-events-none mt-0.5",children:(0,b.jsx)(j.AgentStatusBadge,{isOnline:l,taskCount:m??0,agentId:a.id})})]})]})}return(0,b.jsxs)("div",{className:"flex flex-col gap-1.5 p-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("p",{className:"text-sm font-medium truncate",children:a.name}),(0,b.jsx)("span",{className:"flex-1"}),void 0!==l&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-[11px] text-muted-foreground",children:[(0,b.jsx)("span",{className:(0,k.cn)("size-1.5 rounded-full",l?"bg-status-online":"bg-status-offline")}),l?(m??0)>0?"Working":null:"Offline"]})]}),r&&(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:r}),(0,b.jsx)("button",{type:"button",onClick:a=>{a.stopPropagation(),s()},className:"shrink-0 p-0.5 rounded-sm text-muted-foreground/60 hover:text-foreground transition-colors cursor-pointer",children:p?(0,b.jsx)(e.Check,{className:"size-3 text-green-500"}):(0,b.jsx)(f.Copy,{className:"size-3"})})]}),a.description&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground line-clamp-2",children:a.description})]})}])},127026,40924,a=>{"use strict";var b=a.i(749314),c=a.i(437199),d=a.i(207058),e=a.i(506180),f=a.i(732254),g=a.i(123047),h=a.i(723127),i=a.i(16831);let j={claude:"Claude Code",codex:"Codex",opencode:"OpenCode"},k="the agent runtime";function l({provider:a,message:d,onRetry:e,retrying:f}){let[m,n]=(0,c.useState)(!1),o=f??m,p=async()=>{if(e){n(!0);try{await e()}finally{n(!1)}}};return(0,b.jsxs)("div",{className:"rounded-md border border-destructive/30 bg-destructive/5 p-2 max-w-full overflow-hidden",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)("p",{className:"flex items-center gap-1.5 text-sm font-semibold text-destructive min-w-0",children:[(0,b.jsx)(g.AlertCircle,{className:"size-3.5 shrink-0"}),(0,b.jsxs)("span",{children:["Error from ",a?j[a]??k:k]})]}),e&&(0,b.jsxs)("button",{type:"button",onClick:p,disabled:o,className:"ml-auto shrink-0 text-xs text-muted-foreground hover:text-foreground transition-colors cursor-pointer disabled:opacity-50 flex items-center gap-1",children:[o?(0,b.jsx)(i.Loader2,{className:"size-3 animate-spin"}):(0,b.jsx)(h.RotateCw,{className:"size-3"}),"Retry"]})]}),(0,b.jsx)("p",{className:"mt-1.5 text-sm text-destructive/90 wrap-anywhere whitespace-pre-wrap",children:d}),(0,b.jsx)("p",{className:"mt-1.5 text-xs text-muted-foreground",children:"This came from the agent runtime on your machine, not from Alook."})]})}function m({task:a,messages:d,connectionLost:e,onRetry:f,provider:g}){let h=(0,c.useMemo)(()=>(function(a){let b=[];for(let c of a)"error"===c.type&&b.push({kind:"error",id:c.id||`seq-${c.seq}`,content:c.content||c.output});return b})(d),[d]);return 0!==h.length||"failed"===a.status&&a.error||e?(0,b.jsxs)("div",{className:"space-y-3 min-w-0 max-w-full",children:[h.length>0&&(0,b.jsx)("div",{className:"space-y-1 mt-1",children:h.map(a=>(0,b.jsx)(l,{provider:g,message:a.content},a.id))}),"failed"===a.status&&a.error&&(0,b.jsx)("div",{className:"mt-2",children:(0,b.jsx)(l,{provider:g,message:a.error,onRetry:f})}),e&&(0,b.jsx)("p",{className:"text-sm text-muted-foreground animate-pulse mt-1",children:"Connection lost — retrying..."})]}):null}var n=a.i(588339);function o(a){return a.slice().sort((a,b)=>{let c=a.created_at.localeCompare(b.created_at);return 0!==c?c:a.id.localeCompare(b.id)})}function p(a,b){let c=new Map;for(let b of a)c.set(b.id,b);for(let a of b)c.set(a.id,a);return o([...c.values()])}function q(a){if("artifact"===a.kind)return"agent";if("message"!==a.kind)return null;let b=a.data.role;return"user"===b?"user":"assistant"===b||"event"===b?"agent":null}function r(a){return a.data.created_at}function s(a){let b=(0,c.useRef)(a);return(0,c.useEffect)(()=>{b.current=a},[a]),b}var t=a.i(752792),u=a.i(831893),v=a.i(452906),w=a.i(921584),x=a.i(75118),y=a.i(25668),z=a.i(525132),A=a.i(540858),B=a.i(647651);let C=(0,B.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"}]]);var D=a.i(510698),E=a.i(606896);let F=(0,B.default)("message-square-quote",[["path",{d:"M14 14a2 2 0 0 0 2-2V8h-2",key:"1r06pg"}],["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M8 14a2 2 0 0 0 2-2V8H8",key:"1jzu5j"}]]);var G=a.i(945081),H=a.i(546257),I=a.i(518828),J=a.i(131675),K=a.i(562706),L=a.i(70813);function M({skill:a,isSelected:c,onSelect:d}){return(0,b.jsxs)("button",{type:"button","data-slash-item":!0,className:(0,x.cn)("flex w-full flex-col gap-0.5 px-3 py-1.5 text-left text-sm transition-colors",c?"bg-accent text-accent-foreground":"hover:bg-accent/50"),onMouseDown:b=>{b.preventDefault(),d(a)},children:[(0,b.jsxs)("span",{className:"flex w-full items-center gap-2",children:[(0,b.jsxs)("span",{className:"min-w-0 flex-1 truncate font-medium",children:["/",a.name]}),a.isGlobal&&(0,b.jsx)("span",{className:"shrink-0 rounded px-1 py-0.5 text-[10px] font-medium bg-muted text-muted-foreground",children:"Global"})]}),a.description&&(0,b.jsx)("span",{className:"truncate text-xs text-muted-foreground",children:a.description.slice(0,80)})]})}function N({isOpen:a,skills:d,selectedIndex:e,onSelect:f,anchorPos:g}){let h=(0,c.useRef)(null);if((0,c.useEffect)(()=>{if(!h.current)return;let a=h.current.querySelectorAll("[data-slash-item]")[e];a?.scrollIntoView({block:"nearest"})},[e]),!a||0===d.length)return null;let i=g.left,j=Math.min(g.left,i);return(0,J.createPortal)((0,b.jsx)("div",{className:"fixed z-100 w-70 rounded-lg border border-border bg-popover text-popover-foreground shadow-md transition-opacity duration-150",style:{top:g.top-4,left:j,transform:"translateY(-100%)"},children:(0,b.jsx)("div",{ref:h,className:"max-h-60 overflow-y-auto py-1 thin-scrollbar",children:d.map((a,c)=>(0,b.jsx)(M,{skill:a,isSelected:c===e,onSelect:f},a.name))})}),document.body)}var O=a.i(623789),P=a.i(892236),Q=a.i(807820),R=a.i(717132);function S(a,b){if(!b)return a;let c=b.toLowerCase(),d=[],e=[];for(let b of a){let a=b.name.toLowerCase();a.startsWith(c)?d.push(b):a.includes(c)&&e.push(b)}return[...d,...e]}var T=a.i(388126);function U(a){return a.replaceAll("&lt;","<").replaceAll("&gt;",">").replaceAll("&amp;","&")}a.i(974936);var V=a.i(911509);let W={items:[],selectedIndex:0,command:null,rect:null};function X({state:a}){let d=(0,c.useRef)(null),{items:e,selectedIndex:f,command:g,rect:h}=a;if((0,c.useEffect)(()=>{if(!d.current)return;let a=d.current.children[f];a?.scrollIntoView({block:"nearest"})},[f]),!h||0===e.length||!g)return null;let i=h.left,j=Math.min(h.left,i);return(0,J.createPortal)((0,b.jsx)("div",{className:"fixed z-100 w-64 rounded-lg border border-border bg-popover text-popover-foreground shadow-md",style:{top:h.top-4,left:j,transform:"translateY(-100%)"},children:(0,b.jsx)("div",{ref:d,className:"max-h-50 overflow-y-auto py-1 thin-scrollbar",children:e.map((a,c)=>(0,b.jsxs)("button",{type:"button",className:(0,x.cn)("flex w-full items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors",c===f?"bg-accent text-accent-foreground":"hover:bg-accent/50"),onMouseDown:b=>{b.preventDefault(),g({id:a.id,label:a.name})},children:[(0,b.jsx)("span",{className:"truncate font-medium",children:a.name}),a.email_handle&&(0,b.jsx)("span",{className:"truncate text-xs text-muted-foreground",children:(0,V.toAlookAddress)(a.email_handle)})]},a.id))})}),document.body)}function Y({hint:a,animate:d}){let[e,f]=(0,c.useState)(a),[g,h]=(0,c.useState)(!0);return(0,c.useEffect)(()=>{if(!d){f(a),h(!0);return}if(a===e)return;h(!1);let b=setTimeout(()=>{f(a),h(!0)},200);return()=>clearTimeout(b)},[a,e,d]),(0,b.jsx)("div",{className:"chat-placeholder-overlay","aria-hidden":"true",children:(0,b.jsx)("span",{className:d?"chat-placeholder-fade":void 0,style:d?{opacity:+!!g}:void 0,children:e})})}let Z=(0,c.forwardRef)(function({value:a,onChange:d,onEditorState:e,onSend:f,onFocus:g,onBlur:h,overlay:i,disabled:j,onMultiLineChange:k,onFiles:l,agents:m,agentLinks:n,currentAgentId:o,slashIsOpen:p,onSlashKeyDown:q},r){let[s,t]=(0,c.useState)(!1),[u,v]=(0,c.useState)(W),w=(0,c.useRef)(u);(0,c.useEffect)(()=>{w.current=u},[u]);let x=(0,c.useRef)(m),y=(0,c.useRef)(n),z=(0,c.useRef)(o),A=(0,c.useRef)(f),B=(0,c.useRef)(e),C=(0,c.useRef)(d),D=(0,c.useRef)(l),E=(0,c.useRef)(g),F=(0,c.useRef)(h),G=(0,c.useRef)(p),H=(0,c.useRef)(q);(0,c.useEffect)(()=>{x.current=m},[m]),(0,c.useEffect)(()=>{y.current=n},[n]),(0,c.useEffect)(()=>{z.current=o},[o]),(0,c.useEffect)(()=>{A.current=f},[f]),(0,c.useEffect)(()=>{B.current=e},[e]),(0,c.useEffect)(()=>{C.current=d},[d]),(0,c.useEffect)(()=>{D.current=l},[l]),(0,c.useEffect)(()=>{E.current=g},[g]),(0,c.useEffect)(()=>{F.current=h},[h]),(0,c.useEffect)(()=>{G.current=p},[p]),(0,c.useEffect)(()=>{H.current=q},[q]);let I=a=>{B.current(a.getText(),a.state.selection.from-1)},[J]=(0,c.useState)(()=>T.default.extend({markdownName:"mention",renderMarkdown:a=>`@${a.attrs.label??a.attrs.id}`}).configure({HTMLAttributes:{class:"mention-highlight"},renderText:({node:a})=>`@${a.attrs.label??a.attrs.id}`,suggestion:{char:"@",items:({query:a})=>(function(a,b,c,d,e=20){let f=function(a,b){let c=new Set;for(let d of a)d.source_agent_id===b&&c.add(d.target_agent_id),d.target_agent_id===b&&c.add(d.source_agent_id);return c}(b,c),g=[],h=[];for(let b of a)f.has(b.id)?g.push(b):h.push(b);return[...S(g,d),...S(h,d)].slice(0,e)})(x.current,y.current,z.current,a),render:()=>({onStart:a=>{v({items:a.items??[],selectedIndex:0,command:a.command,rect:a.clientRect?.()??null})},onUpdate:a=>{v(b=>({items:a.items??[],selectedIndex:b.selectedIndex<(a.items?.length??0)?b.selectedIndex:0,command:a.command,rect:a.clientRect?.()??null}))},onKeyDown:({event:a})=>{if(a.isComposing)return!1;let b=w.current;if(0===b.items.length)return!1;if("ArrowDown"===a.key)return a.preventDefault(),v(a=>({...a,selectedIndex:(a.selectedIndex+1)%a.items.length})),!0;if("ArrowUp"===a.key)return a.preventDefault(),v(a=>({...a,selectedIndex:(a.selectedIndex-1+a.items.length)%a.items.length})),!0;if("Enter"===a.key){a.preventDefault();let c=b.items[b.selectedIndex];return c&&b.command&&b.command({id:c.id,label:c.name}),v(W),!0}return"Escape"===a.key&&(v(W),!0)},onExit:()=>v(W)})}})),K=(0,O.useEditor)({immediatelyRender:!1,content:a?a.replaceAll("\n","<br>"):void 0,editable:!j,extensions:[P.default.configure({heading:!1,blockquote:!1,codeBlock:!1,horizontalRule:!1,bold:!1,italic:!1,strike:!1,code:!1,link:!1,bulletList:!1,orderedList:!1,listItem:!1,listKeymap:!1}),Q.default.configure({placeholder:""}),R.Markdown,J],editorProps:{attributes:{class:"outline-none",enterkeyhint:"send"},handleKeyDown:(a,b)=>(!(w.current.items.length>0)||null===w.current.command)&&(!!(G.current&&H.current({key:b.key,isComposing:b.isComposing,preventDefault:()=>b.preventDefault()}))||"Enter"===b.key&&!b.shiftKey&&!b.isComposing&&!G.current&&(b.preventDefault(),A.current(),!0)),handlePaste:(a,b)=>{let c=b.clipboardData?.items;if(!c)return!1;let d=[];for(let a=0;a<c.length;a++)if("file"===c[a].kind){let b=c[a].getAsFile();b&&d.push(b)}if(d.length>0)return b.preventDefault(),D.current?.(d),!0;let e=b.clipboardData?.getData("text/plain");return!!e&&(b.preventDefault(),a.dispatch(a.state.tr.insertText(e)),!0)},handleDrop:()=>!1},onFocus:()=>{t(!0),E.current?.()},onBlur:()=>{t(!1),F.current?.()},onUpdate:({editor:a})=>{C.current(U(a.getMarkdown())),I(a)},onSelectionUpdate:({editor:a})=>{I(a)}});(0,c.useEffect)(()=>{K?.setEditable(!j)},[K,j]),(0,c.useEffect)(()=>{if(!K)return;let b=(a||"").trim();b!==U(K.getMarkdown()||"").trim()&&(b?K.commands.setContent((a||"").replaceAll("\n","<br>"),{emitUpdate:!1}):K.commands.clearContent(),B.current(K.getText(),K.state.selection.from-1))},[a,K]);let L=(0,c.useRef)(null);return(0,c.useEffect)(()=>{if(!K||!k)return;let a=L.current?.querySelector(".ProseMirror");if(!a)return;let b=()=>k(a.scrollHeight>32);b();let c=new ResizeObserver(b);return c.observe(a),()=>c.disconnect()},[K,k]),(0,c.useEffect)(()=>{},[L,s]),(0,c.useImperativeHandle)(r,()=>({focus:()=>K?.commands.focus(),clear:()=>K?.commands.clearContent(),isEmpty:()=>K?.isEmpty??!0,coordsAtTextIndex:a=>{if(!K)return null;try{let b=K.view.coordsAtPos(a+1);return{top:b.top,left:b.left}}catch{return null}}}),[K]),(0,b.jsxs)("div",{ref:L,className:"chat-composer relative",children:[(0,b.jsx)(O.EditorContent,{editor:K,className:"max-h-44 overflow-y-auto thin-scrollbar pr-2 text-base chat-input-line-height"}),i,(0,b.jsx)(X,{state:u})]})}),$=["Email the team this week's launch update","Recruit a QA agent to review my PRs","Remind me to follow up with Acme on Thursday","What did we ship last week?","Fix the failing test in the checkout flow"];var _=a.i(207461),aa=a.i(596174),ab=a.i(7455),ac=a.i(390759),ad=a.i(135510);function ae({open:a,onOpenChange:d,emailId:e,workspaceId:g}){let[h,j]=(0,c.useState)(null),[k,l]=(0,c.useState)(null),[m,o]=(0,c.useState)(!1),{width:p,onPointerDown:q,onPointerMove:r,onPointerUp:s}=(0,aa.useSheetResize)({defaultWidth:500,minWidth:320,maxWidthRatio:.8}),t=(0,c.useRef)(d);(0,c.useEffect)(()=>{t.current=d}),(0,c.useEffect)(()=>{a&&e&&(o(!0),j(null),l(null),Promise.all([(0,n.getEmail)(e,g),(0,n.getEmailBody)(e,g)]).then(([a,b])=>{j(a),l(b)}).catch(()=>{w.toast.error("Email not found"),t.current(!1)}).finally(()=>o(!1)))},[a,e,g]);let u=a=>{d(a),a||setTimeout(()=>{j(null),l(null)},300)};return(0,b.jsx)(ab.Sheet,{open:a,onOpenChange:u,children:(0,b.jsxs)(ab.SheetContent,{side:"right",showCloseButton:!1,style:{width:`min(${p}px, 100vw)`,maxWidth:"none"},className:"data-[side=right]:sm:inset-y-2 data-[side=right]:sm:right-2 data-[side=right]:sm:h-auto data-[side=right]:sm:rounded-xl data-[side=right]:sm:border",children:[(0,b.jsx)(aa.SheetResizeHandle,{onPointerDown:q,onPointerMove:r,onPointerUp:s}),(0,b.jsx)(ab.SheetHeader,{children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(E.Mail,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,b.jsx)(ab.SheetTitle,{className:"truncate flex-1",children:m?"Loading...":h?.subject||"Email"}),(0,b.jsx)(f.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>u(!1),children:(0,b.jsx)(I.X,{className:"h-4 w-4"})})]})}),(0,b.jsx)(ab.SheetBody,{className:"flex-1 overflow-y-auto thin-scrollbar",children:m?(0,b.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,b.jsx)(i.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):h?(0,b.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,b.jsxs)("div",{className:"text-sm space-y-1 border-b pb-3",children:[(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"From:"}),(0,b.jsx)("span",{className:"truncate",children:h.from_email})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"To:"}),(0,b.jsx)("span",{className:"truncate",children:h.to_email})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:"Date:"}),(0,b.jsx)("span",{children:new Date(h.created_at).toLocaleString()})]})]}),k?.isHtml?(0,b.jsx)(ad.EmailBodyFrame,{html:k.content,className:"max-w-full"}):(0,b.jsx)("pre",{className:"whitespace-pre-wrap text-sm font-mono",children:k?.content}),h.attachments&&h.attachments.length>0&&(0,b.jsxs)("div",{className:"border-t pt-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5 mb-2 text-xs text-muted-foreground",children:[(0,b.jsx)(H.Paperclip,{className:"size-3"}),h.attachments.length," attachment",h.attachments.length>1?"s":""]}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:h.attachments.map((a,c)=>(0,b.jsxs)("a",{href:`/api/email/${h.id}/attachment/${c}?workspace_id=${g}`,target:"_blank",rel:"noopener noreferrer",download:a.filename,className:"flex items-center gap-1.5 rounded-md border border-border/50 bg-muted/50 px-2.5 py-1.5 text-xs hover:bg-muted transition-colors cursor-pointer",children:[(0,b.jsx)(ac.File,{className:"size-3 text-muted-foreground shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-45",children:a.filename}),(0,b.jsx)("span",{className:"text-muted-foreground shrink-0",children:a.size<1024?`${a.size} B`:a.size<1048576?`${(a.size/1024).toFixed(1)} KB`:`${(a.size/1048576).toFixed(1)} MB`})]},a.key))})]})]}):null})]})})}var af=a.i(276163),ag=a.i(963744),ah=a.i(698824),ai=a.i(389660);a.i(343563);var aj=a.i(347788),ak=a.i(415725),al=a.i(748410);function am(a,b){if(b>=a.length)return!0;let c=a.charCodeAt(b);return(!(c>=48)||!(c<=57))&&(!(c>=65)||!(c<=90))&&(!(c>=97)||!(c<=122))&&95!==c}function an(a,b){if(!a||0===b.length||!a.includes("@"))return a;let c=b.slice().sort((a,b)=>b.name.length-a.name.length),d=[];for(let b=0;b<a.length;b++){if("@"!==a[b]||!function(a,b){if(0===b)return!0;let c=a.charCodeAt(b-1);return(!(c>=48)||!(c<=57))&&(!(c>=65)||!(c<=90))&&(!(c>=97)||!(c<=122))&&95!==c}(a,b))continue;let e=b+1;for(let f of c){let c=e+f.name.length;if(c>a.length||a.slice(e,c).toLowerCase()!==f.name.toLowerCase())continue;let g=c,h=a.slice(c).match(/^ \([a-zA-Z0-9-]+@alook\.ai\)/);if(h&&(g=c+h[0].length),(h||am(a,c))&&(!h||am(a,g))){if(d.some(a=>b>=a.start&&b<a.end))break;d.push({start:b,end:c,name:f.name,agentId:f.id});break}}}let e=a;for(let a=d.length-1;a>=0;a--){let b=d[a],c=e.slice(b.start,b.end);e=e.slice(0,b.start)+`<mention data-agent-id="${b.agentId}">${c}</mention>`+e.slice(b.end)}return e}a.i(735132);var ao=a.i(253260);let ap=(0,B.default)("flag",[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]]);a.s(["Flag",0,ap],40924);var aq=a.i(584126),ar=a.i(549931);function as({subject:a,address:c,direction:d,onClick:e}){return(0,b.jsxs)("button",{type:"button",onClick:e,disabled:!e,className:"card-grain w-104 max-w-full overflow-hidden rounded-(--radius) border border-(--border) bg-(--paper) text-left flex flex-col cursor-pointer transition-[transform,box-shadow] duration-300 ease-out hover:-translate-y-0.5 [box-shadow:var(--e1)] hover:[box-shadow:var(--e2)]",children:[(0,b.jsx)("span",{className:"h-2.5 relative block",children:(0,b.jsx)("svg",{viewBox:"0 0 100 10",preserveAspectRatio:"none",className:"absolute inset-0 w-full h-full",children:(0,b.jsx)("path",{d:"M8,-1 L50,9 L92,-1",stroke:"var(--te)",strokeWidth:"2.5",opacity:"0.4",fill:"none",strokeLinejoin:"round",strokeLinecap:"round"})})}),(0,b.jsxs)("span",{className:"p-3 flex flex-col",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1 mb-1",children:[(0,b.jsxs)("span",{className:"text-[0.72rem] text-(--muted-foreground) flex-1 min-w-0 whitespace-nowrap overflow-hidden text-ellipsis",children:["inbound"===d?"from ":"to ",c]}),(0,b.jsx)("span",{className:"shrink-0 text-[0.5rem] font-bold uppercase tracking-wider text-(--te) px-1 py-0.5 rounded-[3px] border-[1.5px] border-(--te) opacity-45 -rotate-3",children:"inbound"===d?"Inbound":"Sent"})]}),(0,b.jsx)("span",{className:"text-[0.95rem] font-semibold tracking-[-0.01em] leading-[1.35] line-clamp-2",children:a})]})]})}let at={"1day":"Daily","1week":"Weekly","1month":"Monthly"};function au({title:a,scheduledAt:c,repeatInterval:d,onClick:e}){let f=c?new Date(c):null,g=f?f.toLocaleDateString("en-US",{weekday:"short"}):null,h=f?f.toLocaleDateString("en-US",{month:"short"}):null,i=f?f.getDate():null,j=f?f.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit"}):null;return(0,b.jsxs)("button",{type:"button",onClick:e,disabled:!e,className:"card-grain w-104 max-w-full overflow-hidden rounded-(--radius) border border-(--border) text-left cursor-pointer transition-[transform,box-shadow] duration-300 ease-out hover:-translate-y-0.5 [box-shadow:var(--e1)] hover:[box-shadow:var(--e2)]",children:[(0,b.jsxs)("span",{className:"h-6 bg-(--tc) flex items-center px-3",children:[f?(0,b.jsxs)("span",{className:"text-[0.62rem] font-semibold uppercase tracking-[0.06em] text-white/85",children:[g," ",h," ",i]}):(0,b.jsx)("span",{className:"text-[0.62rem] font-semibold uppercase tracking-[0.06em] text-white/85",children:"Calendar"}),d&&(0,b.jsx)("span",{className:"ml-auto text-[0.52rem] font-semibold uppercase tracking-[0.04em] px-1 py-px rounded-full bg-white/20 text-white/90",children:function(a){if(at[a])return at[a];let b=/^(\d+)(hour|day|week|month)s?$/.exec(a);return b?`Every ${b[1]} ${b[2]}${Number(b[1])>1?"s":""}`:a}(d)})]}),(0,b.jsxs)("span",{className:"bg-(--paper) p-3 flex gap-3 items-start",children:[null!=i&&(0,b.jsx)("span",{className:"text-[1.8rem] font-bold leading-none tracking-[-0.02em] opacity-80 min-w-8 text-center shrink-0",children:i}),(0,b.jsxs)("span",{className:"min-w-0 flex-1 flex flex-col",children:[(0,b.jsx)("span",{className:"text-[0.92rem] font-semibold tracking-[-0.01em] leading-[1.3]",children:a}),j&&(0,b.jsx)("span",{className:"text-[0.72rem] text-(--muted-foreground) mt-1 font-mono",children:j})]})]})]})}let av={created:"Issue created",status_changed:"Issue updated",dispatch_failed:"Dispatch failed"};function aw({title:a,event:c,fromStatus:d,toStatus:e,assigneeName:f,onClick:g}){let h="created"===c?"New":"status_changed"===c?e??"Done":null,i="created"===c&&f?`assigned to ${f}`:"status_changed"===c&&d&&e?`${d} → ${e}`:null;return(0,b.jsxs)("button",{type:"button",onClick:g,disabled:!g,className:"card-grain w-104 max-w-full overflow-hidden rounded-(--radius) border border-(--border) bg-(--paper) text-left flex cursor-pointer transition-[transform,box-shadow] duration-300 ease-out hover:-translate-y-0.5 [box-shadow:var(--e1)] hover:[box-shadow:var(--e2)]",children:[(0,b.jsx)("span",{className:"w-1 bg-(--ti) shrink-0 self-stretch"}),(0,b.jsxs)("span",{className:"flex-1 p-3 min-w-0 flex flex-col gap-1 relative",children:[(0,b.jsx)("span",{className:"text-[0.62rem] font-semibold uppercase tracking-wider text-(--ti) leading-none",children:av[c]??c}),(0,b.jsx)("span",{className:"text-[0.92rem] font-semibold tracking-[-0.01em] leading-[1.3] line-clamp-2 pr-8",children:a}),i&&(0,b.jsx)("span",{className:"text-[0.75rem] text-(--muted-foreground) leading-[1.2]",children:i}),h&&(0,b.jsx)("span",{className:"absolute top-3 right-3 text-[0.5rem] font-bold uppercase tracking-wider text-(--ti) border-[1.5px] border-(--ti) opacity-45 rotate-[4deg] rounded-[3px] px-1 py-0.5",children:h})]})]})}let ax={mention:["data-agent-id"]},ay=["mention"];function az({attachmentIds:a,artifacts:c,onArtifactClick:d}){let e=a.map(a=>c.find(b=>b.id===a)).filter(a=>!!a);return 0===e.length?null:(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1.5",children:e.map(a=>(0,b.jsxs)("button",{type:"button",onClick:b=>{b.stopPropagation(),d(a)},className:"inline-flex items-center gap-1 rounded-md bg-primary-foreground/10 border border-primary-foreground/20 px-2 py-0.5 text-xs text-primary-foreground/80 hover:bg-primary-foreground/20 transition-colors cursor-pointer",children:[(0,b.jsx)(D.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-37.5",children:a.filename})]},a.id))})}function aA({pendingFiles:a,messageId:c}){let d=a.get(c);return d&&0!==d.length?(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1.5",children:d.map((a,c)=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-md bg-primary-foreground/10 border border-primary-foreground/20 px-2 py-0.5 text-xs text-primary-foreground/80",children:[(0,b.jsx)(D.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-37.5",children:a.name})]},c))}):null}let aB={solo:"rounded-[1.05rem]",first:"rounded-[1.05rem] rounded-br-[0.35rem]",middle:"rounded-[1.05rem] rounded-tr-[0.35rem] rounded-br-[0.35rem]",last:"rounded-[1.05rem] rounded-tr-[0.35rem]"},aC={solo:"rounded-[1.05rem]",first:"rounded-[1.05rem] rounded-bl-[0.35rem]",middle:"rounded-[1.05rem] rounded-tl-[0.35rem] rounded-bl-[0.35rem]",last:"rounded-[1.05rem] rounded-tl-[0.35rem]"};function aD({groupPosition:a,agentName:c,config:d,forceSpacer:e=!1,children:f}){let g=!e&&("first"===a||"solo"===a);return(0,b.jsxs)("div",{className:"flex justify-start items-start gap-2 min-w-0",children:[(0,b.jsx)("div",{className:(0,x.cn)("w-[30px]","shrink-0"),"aria-hidden":!g,children:g&&d&&(0,b.jsx)(ao.AnimatedAvatar,{config:d,size:30,className:"rounded-md",isHovered:!1})}),(0,b.jsxs)("div",{className:"min-w-0 max-w-[86%] flex flex-col items-start gap-0.5",children:[g&&(0,b.jsx)("span",{className:"text-[0.85rem] font-semibold text-foreground leading-[1.15] pt-0.5 mb-1",children:c}),f]})]})}function aE({actions:a}){return 0===a.length?null:(0,b.jsx)("div",{className:(0,x.cn)("absolute -top-3 right-0 z-10 flex items-center gap-0.5 rounded-lg border bg-card p-0.5 shadow-sm","opacity-0 transition-opacity duration-150 group-hover/msg:opacity-100 focus-within:opacity-100"),children:a.map(a=>(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{render:(0,b.jsx)(f.Button,{variant:"ghost",size:"icon-xs","aria-label":a.label,onClick:b=>{b.stopPropagation(),a.onClick()},className:(0,x.cn)(a.active?"text-foreground":"text-muted-foreground")}),children:a.icon}),(0,b.jsx)(z.TooltipContent,{children:a.label})]},a.key))})}function aF({open:a,onOpenChange:c,actions:d}){return(0,b.jsx)(ab.Sheet,{open:a,onOpenChange:c,children:(0,b.jsx)(ab.SheetContent,{side:"bottom",showCloseButton:!1,className:"rounded-t-2xl p-2",children:(0,b.jsx)("div",{className:"flex flex-col",children:d.map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>{a.onClick(),c(!1)},className:(0,x.cn)("flex items-center gap-3 rounded-lg px-3 py-3 text-left text-[0.95rem] active:bg-muted",(a.active,"text-foreground")),children:[(0,b.jsx)("span",{className:"text-muted-foreground",children:a.icon}),a.label]},a.key))})})})}function aG(){return(0,b.jsx)("span",{"aria-hidden":!0,className:"absolute -left-1.5 -top-1.5 z-10 flex size-3.5 items-center justify-center rounded-full border-2 border-background bg-foreground text-background",children:(0,b.jsx)(ap,{className:"size-2 fill-current"})})}let aH=(0,c.memo)(function({msg:a,agents:d,artifacts:e,activeTask:f,activeTaskStreamMsgId:g,taskMessages:h,connectionLost:i,conversationType:j,pendingFilesByMessage:k,onArtifactClick:n,onEmailClick:o,onIssueClick:p,onCalendarEventClick:q,onRetry:r,mentionComponents:s,isFlagged:t,onToggleFlag:u,groupPosition:v="solo",provider:y,agentName:z,agentAvatarConfig:A,isSendFailed:B,onRetrySend:C}){var D;let E,F,G,H,I,J,K,L,M,{copy:N,copied:O}=function(a=2e3){let[b,d]=(0,c.useState)(!1),e=(0,c.useRef)(void 0),f=(0,c.useCallback)(async b=>{try{return await navigator.clipboard.writeText(b),d(!0),clearTimeout(e.current),e.current=setTimeout(()=>d(!1),a),!0}catch{return!1}},[a]);return(0,c.useEffect)(()=>()=>clearTimeout(e.current),[]),{copy:f,copied:b}}(),P=!!f&&"assistant"===a.role&&a.task_id===f.id&&a.conversation_id===f.conversation_id&&(null==g||a.id===g)&&h.length>0&&!["completed","cancelled","superseded"].includes(f.status),Q=P&&(h.some(a=>"error"===a.type)||"failed"===f.status&&!!f.error||i),R=P&&f?.status==="failed",S="assistant"===a.role&&(a.metadata?.kind==="lifecycle"||"Task cancelled by you"===a.content||"Task cancelled by user"===a.content),T=function(){let[a,b]=c.useState(!0);return c.useEffect(()=>{},[]),a}(),[U,V]=c.default.useState(!1),W=c.default.useCallback(async()=>{await N(a.content)?w.toast.success("Copied to clipboard"):w.toast.error("Failed to copy")},[N,a.content]),X="assistant"===a.role||"user"===a.role,Y=[];X&&Y.push({key:"copy",label:O?"Copied":"Copy",icon:O?(0,b.jsx)(ar.Check,{className:"size-3.5"}):(0,b.jsx)(aq.Copy,{className:"size-3.5"}),onClick:W}),"assistant"===a.role&&u&&Y.push({key:"flag",label:t?"Unflag":"Flag",icon:(0,b.jsx)(ap,{className:(0,x.cn)("size-3.5",t&&"fill-current")}),onClick:()=>u(a.id),active:t});let Z=function(a,{delay:b=450,moveThreshold:d=10}={}){let e=c.useRef(null),f=c.useRef(null),g=c.useRef(!1),h=c.useRef(a);c.useEffect(()=>{h.current=a});let i=c.useCallback(()=>{e.current&&(clearTimeout(e.current),e.current=null),f.current=null},[]),j=c.useCallback(a=>{"mouse"!==a.pointerType&&(i(),g.current=!1,f.current={x:a.clientX,y:a.clientY},e.current=setTimeout(()=>{g.current=!0,f.current=null,e.current=null,h.current()},b))},[i,b]),k=c.useCallback(a=>{let b=f.current;if(!b)return;let c=Math.abs(a.clientX-b.x),e=Math.abs(a.clientY-b.y);(c>d||e>d)&&i()},[i,d]),l=c.useCallback(a=>{g.current&&(a.preventDefault(),a.stopPropagation(),g.current=!1)},[]);return c.useEffect(()=>i,[i]),{onPointerDown:j,onPointerMove:k,onPointerUp:i,onPointerCancel:i,onPointerLeave:i,onClick:l}}(()=>{Y.length>0&&V(!0)}),$=!T&&Y.length>0?Z:{},_=!T&&Y.length>0?(0,b.jsx)(aF,{open:U,onOpenChange:V,actions:Y}):null,aa=T&&Y.length>0?(0,b.jsx)(aE,{actions:Y}):null;return(0,b.jsxs)(c.default.Fragment,{children:[P&&Q&&(0,b.jsx)("div",{className:(0,x.cn)("group/msg",t&&"bg-muted/30 rounded-lg px-2 -mx-2"),...R?{"data-quote-source":!0}:{},children:(0,b.jsx)(aD,{groupPosition:v,agentName:z,config:A,children:(0,b.jsxs)("div",{className:"relative min-w-0 w-fit max-w-full",...R?$:{},children:[(0,b.jsx)(m,{task:f,messages:h,connectionLost:i,onRetry:r,provider:y}),R&&aa,R&&_]})})}),"user"===a.role?(E=a.content.match(/^\/(\S+)\s?([\s\S]*)$/),F=E?.[1]??null,G=E?E[2]||"":a.content,(0,b.jsxs)("div",{className:"group/msg flex flex-col items-end","data-message-id":a.id,...a.task_id?{"data-task-id":a.task_id}:{},children:[(0,b.jsxs)("div",{className:(0,x.cn)("max-w-[80%] px-3 py-1.5 bg-primary text-primary-foreground text-base relative",aB[v],B&&"opacity-60"),...$,children:[F&&(0,b.jsxs)("span",{className:"inline-flex items-center rounded px-1.5 py-0.5 text-xs font-medium bg-primary-foreground/15 text-primary-foreground mb-1",children:["/",F]}),G&&(0,b.jsx)("div",{className:"markdown markdown-user",children:(0,b.jsx)(aj.Streamdown,{plugins:{mermaid:ak.mermaid,cjk:al.cjk},controls:{code:{copy:!0,download:!1},table:{copy:!1,download:!1,fullscreen:!1}},linkSafety:{enabled:!1},allowedTags:ax,literalTagContent:ay,components:s,children:an(G,d)})}),a.attachment_ids&&a.attachment_ids.length>0&&a.attachment_ids.some(a=>e.some(b=>b.id===a))?(0,b.jsx)(az,{attachmentIds:a.attachment_ids,artifacts:e,onArtifactClick:n}):(0,b.jsx)(aA,{pendingFiles:k,messageId:a.id}),aa]}),_,B&&(0,b.jsx)("button",{type:"button",onClick:()=>C?.(a.id),className:"mt-1 px-1 text-xs text-destructive hover:underline",children:"Not delivered · tap to retry"})]})):"event"===a.role?(I=a.metadata?.emailId,J=a.metadata?.issueId,K=a.metadata?.calendarEventId,L=I?()=>o(I):J?()=>p(J):K?()=>q(K):void 0,H="email"===(M=function(a,b,c){let d=function(a,b,c){if(a?.issueId)return"issue";if(a?.emailId)return"email";if(a?.calendarEventId)return"calendar";if("issue_event"===c)return"issue";if("email_notification"===c)return"email";if("calendar_event"===c)return"calendar";let d=b.toLowerCase();return d.startsWith("issue ")||d.startsWith("issue:")?"issue":d.includes("email")?"email":"calendar"}(a,b,c);if("email"===d){if(a?.subject)return{type:"email",subject:a.subject,address:"inbound"===a.direction?a.from:a.to,direction:a.direction};let c=/^Email sent to (.+?): ([\s\S]+)$/.exec(b);if(c)return{type:"email",subject:c[2],address:c[1],direction:"outbound"};let d=/^New email from (.+?): ([\s\S]+)$/.exec(b);if(d)return{type:"email",subject:d[2],address:d[1],direction:"inbound"};let e=b.indexOf(": ");return{type:"email",subject:e>-1?b.slice(e+2):b,address:"",direction:"inbound"}}if("issue"===d){if(a?.event)return{type:"issue",title:a.title??b.replace(/^Issue (?:created|opened|status changed):?\s*/i,""),event:a.event,fromStatus:a.fromStatus,toStatus:a.toStatus,agentId:a.agentId};let c=/^Issue status changed: ([\s\S]+?) -> ([\s\S]+)$/.exec(b);if(c)return{type:"issue",title:`${c[1]} → ${c[2]}`,event:"status_changed",fromStatus:c[1],toStatus:c[2]};let d=/^Issue (?:created|opened): ([\s\S]+)$/.exec(b);return d?{type:"issue",title:d[1],event:"created"}:/dispatch failed/i.test(b)?{type:"issue",title:b.replace(/^Issue dispatch failed:?\s*/i,""),event:"dispatch_failed"}:{type:"issue",title:b.replace(/^Issue:?\s*/i,""),event:"created"}}return a?.title?{type:"calendar",title:a.title,scheduledAt:a.scheduledAt,repeatInterval:a.repeatInterval}:{type:"calendar",title:b.replace(/^Calendar event:\s*/i,"")}}(a.metadata,a.content,j)).type?(0,b.jsx)(as,{subject:M.subject,address:M.address,direction:M.direction,onClick:L}):"calendar"===M.type?(0,b.jsx)(au,{title:M.title,scheduledAt:M.scheduledAt,repeatInterval:M.repeatInterval,onClick:L}):(0,b.jsx)(aw,{title:M.title,event:M.event,fromStatus:M.fromStatus,toStatus:M.toStatus,assigneeName:M.agentId?d.find(a=>a.id===M.agentId)?.name:void 0,onClick:L}),(0,b.jsx)("div",{"data-message-id":a.id,...a.task_id?{"data-task-id":a.task_id}:{},children:(0,b.jsx)(aD,{groupPosition:v,agentName:z,config:A,children:H})})):S&&a.metadata?.error_source!=="runtime"?(0,b.jsx)("div",{className:"flex justify-center","data-message-id":a.id,...a.task_id?{"data-task-id":a.task_id}:{},children:(0,b.jsx)("span",{className:"text-xs text-muted-foreground/70 text-center px-2 py-1",children:a.content})}):(D={hasTaskStream:P,isRuntimeError:a.metadata?.error_source==="runtime"}).hasTaskStream&&D.isRuntimeError?null:(0,b.jsx)("div",{className:(0,x.cn)("group/msg overflow-x-clip",t&&a.metadata?.error_source==="runtime"&&"bg-muted/30 rounded-lg px-2 -mx-2"),"data-message-id":a.id,"data-quote-source":!0,...a.task_id?{"data-task-id":a.task_id}:{},children:(0,b.jsx)(aD,{groupPosition:v,agentName:z,config:A,children:a.metadata?.error_source==="runtime"?(0,b.jsxs)("div",{className:"relative min-w-0 w-fit max-w-full",...$,children:[(0,b.jsx)(l,{provider:a.metadata.provider??y,message:a.content}),aa,_]}):(0,b.jsxs)("div",{className:"relative min-w-0 w-fit max-w-full",...$,children:[(0,b.jsx)("div",{className:(0,x.cn)("markdown min-w-0 max-w-full px-3 py-1.5 bg-muted text-foreground text-base",aC[v],t&&"shadow-[inset_2px_0_0_var(--foreground)]"),children:(0,b.jsx)(aj.Streamdown,{plugins:{mermaid:ak.mermaid,cjk:al.cjk},controls:{code:{copy:!0,download:!1},table:{copy:!0,download:!1,fullscreen:!0}},linkSafety:{enabled:!1},allowedTags:ax,literalTagContent:ay,components:s,children:an(a.content,d)})}),t&&(0,b.jsx)(aG,{}),aa,_]})})})]})});function aI(){return(0,b.jsxs)("span",{className:"inline-flex items-center gap-0.5","aria-hidden":!0,children:[(0,b.jsx)("span",{className:"size-1 rounded-full bg-muted-foreground/60 motion-safe:animate-[typing-dot_1.2s_ease-in-out_infinite]"}),(0,b.jsx)("span",{className:"size-1 rounded-full bg-muted-foreground/60 motion-safe:animate-[typing-dot_1.2s_ease-in-out_0.2s_infinite]"}),(0,b.jsx)("span",{className:"size-1 rounded-full bg-muted-foreground/60 motion-safe:animate-[typing-dot_1.2s_ease-in-out_0.4s_infinite]"})]})}function aJ({agentFirstName:a,taskStatus:c}){let d="running"===c?"typing":"queued"===c||"dispatched"===c?"reading":"idle";return(0,b.jsx)("div",{className:"h-5 px-1 mb-2 flex items-center","aria-live":"polite",children:(0,b.jsx)("span",{className:(0,x.cn)("inline-flex items-center gap-1.5 text-sm text-muted-foreground","idle"!==d&&"motion-safe:animate-[fade-up_200ms_ease-out_both]"),children:"idle"!==d&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{children:"reading"===d?`${a} is reading`:`${a} is typing`}),(0,b.jsx)(aI,{})]})},d)})}var aK=a.i(325848),aL=a.i(781418),aM=a.i(722393);function aN({filename:a,size:c,contentType:d,version:e,hasDuplicates:f,onClick:g}){let h=function(a,b){let c=a.lastIndexOf(".");if(c>-1)return a.slice(c+1).toUpperCase();if(b){let a=b.split("/")[1];if(a)return a.split(";")[0].toUpperCase()}return"FILE"}(a,d);return(0,b.jsxs)("button",{type:"button",onClick:g,disabled:!g,className:"card-grain w-104 max-w-full overflow-hidden rounded-(--radius) border border-(--border) bg-(--paper) text-left grid grid-cols-[44px_1fr] cursor-pointer transition-[transform,box-shadow] duration-300 ease-out hover:-translate-y-0.5 [box-shadow:var(--e1)] hover:[box-shadow:var(--e2)]",children:[(0,b.jsxs)("span",{className:"flex flex-col items-center justify-center border-r border-(--border) bg-[oklch(from_var(--tf)_l_c_h/0.08)] gap-0.5 p-2",children:[(0,b.jsxs)("span",{className:"flex flex-col gap-0.5 w-4.5",children:[(0,b.jsx)("i",{className:"h-[1.5px] rounded-sm bg-(--tf) opacity-[0.28] w-full"}),(0,b.jsx)("i",{className:"h-[1.5px] rounded-sm bg-(--tf) opacity-[0.28] w-[78%]"}),(0,b.jsx)("i",{className:"h-[1.5px] rounded-sm bg-(--tf) opacity-[0.28] w-[55%]"})]}),(0,b.jsx)("span",{className:"font-mono text-[0.44rem] font-semibold uppercase text-(--tf) mt-px tracking-[0.02em]",children:h})]}),(0,b.jsxs)("span",{className:"p-3 min-w-0 flex flex-col justify-center gap-0.5",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1.5 min-w-0",children:[(0,b.jsx)("span",{className:"text-[0.9rem] font-semibold tracking-[-0.01em] truncate",children:a}),f&&null!=e&&(0,b.jsxs)("span",{className:"shrink-0 text-xs text-(--muted-foreground) bg-(--muted) rounded-full px-1.5 py-0.5 font-normal",children:["v",e]})]}),(0,b.jsx)("span",{className:"text-[0.7rem] text-(--muted-foreground) font-mono",children:(0,_.formatSize)(c)})]})]})}let aO={mention:function(a){let{children:c,...d}=a,{agents:e}=(0,t.useAgentContext)(),f=d["data-agent-id"]??d.dataAgentId,g=f?e.find(a=>a.id===f):void 0;if(!g&&"string"==typeof c){let a=c.startsWith("@")?c.slice(1):c;g=e.find(b=>b.name.toLowerCase()===a.toLowerCase())}return g?(0,b.jsxs)(aM.Popover,{children:[(0,b.jsx)(aM.PopoverTrigger,{openOnHover:!0,delay:300,nativeButton:!1,render:(0,b.jsx)("span",{className:"mention-highlight cursor-pointer"}),children:c}),(0,b.jsx)(aM.PopoverContent,{side:"top",className:"w-fit max-w-80",children:(0,b.jsx)(aL.AgentPreviewCard,{agent:g})})]}):(0,b.jsx)("span",{className:"mention-highlight",children:c})},p:({children:a,node:c,...d})=>(0,b.jsx)("div",{"data-md-p":"",...d,children:a})};function aP({agentName:a}){return(0,b.jsxs)("div",{className:"flex items-center gap-3 py-4 select-none","aria-hidden":!0,children:[(0,b.jsx)("div",{className:"flex-1 border-t border-border/40"}),(0,b.jsxs)("span",{className:"text-xs text-muted-foreground/60 whitespace-nowrap",children:[a," took a nap 💤"]}),(0,b.jsx)("div",{className:"flex-1 border-t border-border/40"})]})}function aQ({artifact:a,version:c,hasDuplicates:d,onClick:e}){return(0,b.jsx)(aN,{filename:a.filename,size:a.size,contentType:a.content_type??void 0,version:c,hasDuplicates:d,onClick:()=>e(a)})}a.s(["AgentChatView",0,function({agentId:a,targetConvId:g,scrollToTaskId:h,scrollToMessageId:j}){let k,l,B,M=(0,d.useParams)(),O=(0,d.useSearchParams)(),{workspaceId:P,slug:Q}=(0,e.useWorkspace)(),{agents:R,runtimes:S,agentLinks:T,activeTaskCounts:U,subscribeWs:V,subscribeReconnect:W}=(0,t.useAgentContext)(),{refresh:X}=(0,u.useInboxCount)(),{activeChannel:aa,loading:ab,setAgentId:ac}=(0,v.useChannel)(),ad=a??M.id,aj=R.find(a=>a.id===ad),ak=aj?.runtime_id?S.find(a=>a.id===aj.runtime_id):null,al=ak?.provider??null,am=void 0!==h?h:O.get("task"),an=void 0!==j?j:O.get("msg"),ao=void 0!==g?g:O.get("conv"),[ap,aq]=(0,c.useState)(()=>""),[ar,as]=(0,c.useState)(!1),{artifactSheetOpen:at,setArtifactSheetOpen:au,selectedArtifact:av,setSelectedArtifact:aw,emailSheetOpen:ax,setEmailSheetOpen:ay,selectedEmailId:az,setSelectedEmailId:aA,calendarEventSheetOpen:aB,setCalendarEventSheetOpen:aC,selectedCalendarEventId:aE,setSelectedCalendarEventId:aF,issueSheetOpen:aG,setIssueSheetOpen:aI,selectedIssueId:aL,setSelectedIssueId:aN,issueDetail:aR,setIssueDetail:aS,issueDetailLoading:aT,issueTraceTasks:aU,issueActiveTask:aV,setIssueActiveTask:aW,openIssue:aX,issueConvId:aY,issueTaskId:aZ}=function(a){let[b,d]=(0,c.useState)(!1),[e,f]=(0,c.useState)(null),[g,h]=(0,c.useState)(!1),[i,j]=(0,c.useState)(null),[k,l]=(0,c.useState)(!1),[m,o]=(0,c.useState)(null),[p,q]=(0,c.useState)(!1),[r,s]=(0,c.useState)(null),[t,u]=(0,c.useState)(null),[v,x]=(0,c.useState)(!1),[y,z]=(0,c.useState)(null),[A,B]=(0,c.useState)(null),C=(0,c.useCallback)(async b=>{s(b),q(!0),x(!0),z(null),B(null);try{let c=await (0,n.getIssue)(a,b);u(c),c.issue.latest_task_id&&(0,n.getTask)(c.issue.latest_task_id,a).then(a=>B(a)).catch(()=>B(null)),c.issue.trace_id&&(0,n.getTrace)(c.issue.trace_id,a).then(a=>z(a.tasks)).catch(()=>z(null))}catch(a){w.toast.error(a instanceof Error?a.message:"Failed to load issue"),q(!1)}finally{x(!1)}},[a]),D=t?.issue?.conversation_id??null,E=t?.issue?.latest_task_id??null;return{artifactSheetOpen:b,setArtifactSheetOpen:d,selectedArtifact:e,setSelectedArtifact:f,emailSheetOpen:g,setEmailSheetOpen:h,selectedEmailId:i,setSelectedEmailId:j,calendarEventSheetOpen:k,setCalendarEventSheetOpen:l,selectedCalendarEventId:m,setSelectedCalendarEventId:o,issueSheetOpen:p,setIssueSheetOpen:q,selectedIssueId:r,setSelectedIssueId:s,issueDetail:t,setIssueDetail:u,issueDetailLoading:v,issueTraceTasks:y,issueActiveTask:A,setIssueActiveTask:B,openIssue:C,issueConvId:D,issueTaskId:E}}(P),{pendingFiles:a$,setPendingFiles:a_,fileInputRef:a0,addPendingFiles:a1,handleFileSelect:a2,removePendingFile:a3,dragging:a4,handleDragEnter:a5,handleDragLeave:a6,handleDragOver:a7,handleDrop:a8}=function(){let[a,b]=(0,c.useState)([]),d=(0,c.useRef)(null),e=(0,c.useCallback)(a=>{let c=[];for(let b of a)b.size>0xa00000?w.toast.error(`"${b.name}" exceeds 10 MB limit`):c.push(b);c.length>0&&b(a=>[...a,...c])},[]),f=(0,c.useCallback)(a=>{let b=a.target.files;b&&(e(Array.from(b)),a.target.value="")},[e]),g=(0,c.useCallback)(a=>{b(b=>b.filter((b,c)=>c!==a))},[]),[h,i]=(0,c.useState)(!1),j=(0,c.useRef)(0),k=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),j.current++,a.dataTransfer.types.includes("Files")&&i(!0)},[]),l=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),j.current--,0===j.current&&i(!1)},[]),m=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation()},[]),n=(0,c.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),i(!1),j.current=0,e(Array.from(a.dataTransfer.files))},[e]);return{pendingFiles:a,setPendingFiles:b,fileInputRef:d,addPendingFiles:e,handleFileSelect:f,removePendingFile:g,dragging:h,handleDragEnter:k,handleDragLeave:l,handleDragOver:m,handleDrop:n}}(),[a9,ba]=(0,c.useState)(null),[bb]=(0,c.useState)(()=>Date.now()),[bc,bd]=(0,c.useState)(()=>null),[be,bf]=(0,c.useState)(!1),{flaggedIds:bg,setFlaggedIds:bh,handleToggleFlag:bi}=function(a){let[b,d]=(0,c.useState)(new Set),e=(0,c.useRef)(b);(0,c.useEffect)(()=>{e.current=b});let{increment:f,decrement:g,refresh:h}=(0,L.useFlagCount)(),i=(0,c.useCallback)(async b=>{let c=e.current.has(b);d(a=>{let d=new Set(a);return c?d.delete(b):d.add(b),d}),c?(g(),(0,n.unflagMessage)(a,b).then(()=>{h()}).catch(()=>{d(a=>new Set(a).add(b)),f()})):(f(),(0,n.flagMessage)(a,b).then(()=>{h()}).catch(()=>{d(a=>{let c=new Set(a);return c.delete(b),c}),g()}))},[a,f,g,h]);return{flaggedIds:b,setFlaggedIds:d,handleToggleFlag:i}}(P);(0,c.useEffect)(()=>{ac(ad)},[ad,ac]);let bj=(0,c.useRef)(!1),bk=s(ap),bl=s(bc),bm=s(a$),bn=(0,c.useRef)(null),bo=(0,c.useRef)(null),{conversation:bp,messages:bq,sending:br,activeTask:bs,taskMessages:bt,messagesLoading:bu,connectionLost:bv,loadingMore:bw,artifacts:bx,napping:by,pendingFilesByMessage:bz,failedSends:bA,agentArtifacts:bB,agentName:bC,timeline:bD,groupPositions:bE,activeTaskStreamMsgId:bF,canLoadMore:bG,currentConvHasMessages:bH,scrollRef:bI,composerRef:bJ,loadOlderMessages:bK,handleScroll:bL,handleSend:bM,handleRetrySend:bN,handleRetryTask:bO,handleNap:bP}=function(a,b){let{agentId:d,targetConvId:e,scrollToTaskId:f,scrollToMessageId:g,propTargetConvId:h,workspaceId:i,agents:j,activeChannel:k,channelLoading:l,subscribeWs:m,subscribeReconnect:t,refreshInboxCount:u}=a,{setFlaggedIds:v,setPendingFiles:x,setInput:y,setQuotedText:z,setActiveSkill:A,clearActiveSkill:B,inputRef:C,quotedTextRef:D,pendingFilesRef:E,activeSkillRef:F,draftMetaRestoredRef:G}=b,[H,I]=(0,c.useState)(null),[L,M]=(0,c.useState)([]),[N,O]=(0,c.useState)(!1),[P,Q]=(0,c.useState)(null),[R,S]=(0,c.useState)([]),[T,U]=(0,c.useState)(!0),[V,W]=(0,c.useState)(!1),[X,Y]=(0,c.useState)(!1),[Z,$]=(0,c.useState)(!1),[_,aa]=(0,c.useState)([]),[ab,ac]=(0,c.useState)([]),[ad,ae]=(0,c.useState)(!1),[af,ag]=(0,c.useState)([]),[ah,ai]=(0,c.useState)(()=>new Map),[aj,ak]=(0,c.useState)(()=>new Map),{writeToCache:al}=function(a,b){let[d,e]=(0,c.useState)(null),[f,g]=(0,c.useState)(!1),h=(0,c.useRef)(a);return(0,c.useEffect)(()=>{if(h.current=a,!a||!b){e(null),g(!1);return}(0,K.openCacheDB)(b);let c=!1;return(0,K.getCachedMessages)(a,b).then(b=>{c||h.current!==a||(b&&b.length>0?(e(b),g(!0)):(e(null),g(!1)))}),()=>{c=!0}},[a,b]),{cachedMessages:d,isFromCache:f,writeToCache:(0,c.useCallback)(async(a,c,d)=>{h.current&&b&&await (0,K.mergeCachedMessages)(h.current,a,c,b,d)},[b])}}(e??null,i),am=(0,c.useRef)(al);(0,c.useEffect)(()=>{am.current=al},[al]);let an=(0,c.useMemo)(()=>_.filter(a=>"agent"===a.source),[_]),ao=(0,c.useMemo)(()=>(function(a,b,c,d){if(!d||0===c.length){let d=[...a.map(a=>({kind:"message",data:a})),...b.map(a=>({kind:"artifact",data:a})),...c.map(a=>({kind:"nap",data:a}))];return d.sort((a,b)=>{let c=a.data.created_at.localeCompare(b.data.created_at);if(0!==c)return c;if("nap"===a.kind||"nap"===b.kind){if("nap"===a.kind&&"nap"!==b.kind)return 1;if("nap"!==a.kind&&"nap"===b.kind)return -1}return a.kind!==b.kind?"message"===a.kind?-1:1:a.data.id.localeCompare(b.data.id)}),d}let e=new Set(c.map(a=>a.id.replace(/^nap-/,""))),f=[...c].sort((a,b)=>a.created_at.localeCompare(b.created_at)),g=c=>[...a.filter(a=>a.conversation_id===c).map(a=>({kind:"message",data:a})),...b.filter(a=>a.conversation_id===c).map(a=>({kind:"artifact",data:a}))].sort((a,b)=>{let c=a.data.created_at.localeCompare(b.data.created_at);return 0!==c?c:a.kind!==b.kind?"message"===a.kind?-1:1:a.data.id.localeCompare(b.data.id)}),h=[];for(let a of f){let b=a.id.replace(/^nap-/,"");h.push(...g(b)),h.push({kind:"nap",data:a})}h.push(...g(d));let i=new Set([...e,d]),j=a.filter(a=>!i.has(a.conversation_id)),k=b.filter(a=>!i.has(a.conversation_id));if(j.length>0||k.length>0){let a=[...j.map(a=>({kind:"message",data:a})),...k.map(a=>({kind:"artifact",data:a}))];a.sort((a,b)=>{let c=a.data.created_at.localeCompare(b.data.created_at);return 0!==c?c:a.kind!==b.kind?"message"===a.kind?-1:1:a.data.id.localeCompare(b.data.id)});let b=h.findIndex(a=>"nap"===a.kind);b>=0?h.splice(b,0,...a):h.push(...a)}return h})(L,an,af,H?.id),[L,an,af,H?.id]),ap=(0,c.useMemo)(()=>(function(a){let b=Array(a.length).fill(null),c=(a,b)=>{if(!a||!b)return!1;let c=q(a),d=q(b);if(null===c||c!==d)return!1;let e=r(a),f=r(b);return!e||!f||6e4>Math.abs(new Date(e).getTime()-new Date(f).getTime())};for(let d=0;d<a.length;d++){let e=a[d];if(null===q(e))continue;let f=d>0?a[d-1]:null,g=d<a.length-1?a[d+1]:null,h=c(f,e),i=c(e,g);h&&i?b[d]="middle":h&&!i?b[d]="last":!h&&i?b[d]="first":b[d]="solo"}return b})(ao),[ao]),aq=(0,c.useMemo)(()=>{if(!P)return null;for(let a=L.length-1;a>=0;a--){let b=L[a];if("assistant"===b.role&&b.task_id===P.id)return b.id}return null},[L,P]),ar=(0,c.useRef)(null),as=(0,c.useRef)(null),at=(0,c.useRef)(null),au=(0,c.useRef)(null),av=(0,c.useRef)(0),aw=(0,c.useRef)(0),ax=(0,c.useRef)(!1),ay=(0,c.useRef)(!1),az=(0,c.useRef)(!0),aA=(0,c.useRef)(!1),aB=(0,c.useRef)(null),aC=(0,c.useRef)(null),aD=(0,c.useRef)(0),aE=(0,c.useRef)(void 0),aF=(0,c.useRef)(null),aG=(0,c.useRef)({completedKey:null}),aH=(0,c.useRef)(null),aI=(0,c.useCallback)((a,b)=>{aF.current===a&&(0,K.getConvExtras)(a,i).then(c=>{if(c&&aF.current===a)return(0,K.setConvExtras)(a,{artifacts:b,conversation_type:c.conversation_type,conversation_title:c.conversation_title,conversation_channel:c.conversation_channel,conversation_created_at:c.conversation_created_at,hasMoreArtifacts:c.hasMoreArtifacts},i)}).catch(()=>{})},[i]),aJ=(0,c.useCallback)(()=>{az.current=!0,setTimeout(()=>{ar.current?.scrollTo({top:ar.current.scrollHeight,behavior:"smooth"})},50)},[]);(0,c.useEffect)(()=>{var a,b;if(!e&&l)return;let c=(a={workspaceId:i,agentId:d,targetConvId:e,scrollToTaskId:f}).targetConvId?`${a.workspaceId}::${a.agentId}::${a.targetConvId}::${a.scrollToTaskId??""}`:null;if(b=aG.current,c&&b.completedKey===c||(b.completedKey=null,0))return;as.current&&clearInterval(as.current),as.current=null,au.current=null,aF.current=null;let g=!1;U(!0),ax.current=!1,Q(null),S([]),ai(new Map),ak(new Map),ag([]),ac([]),ae(!1),aC.current=null,y(localStorage.getItem(`chat-draft:${d}:${e??"default"}`)??"");let h=localStorage.getItem(`chat-draft-meta:${d}:${e??"default"}`);if(h)try{let a=JSON.parse(h);z(a.quote??null),A(a.skill?a.skill:null)}catch{z(null),A(null)}else z(null),A(null);async function j(a){let b=await (0,K.getCacheMeta)(a,i);if(b?.newestMessageId){let c=await (0,K.getCachedMessages)(a,i);if(g)return{painted:!1,cacheMeta:b};if(c&&c.length>0)return M(c),Y(b.hasMore),U(!1),await m(a,c),{painted:!0,cacheMeta:b}}return{painted:!1,cacheMeta:b}}async function m(a,b){let c=await (0,K.getConvExtras)(a,i);if(g||!c)return;aa(c.artifacts);let e=c.conversation_created_at||b[0]?.created_at||b[b.length-1]?.created_at||"";I(b=>b&&b.id===a?b:{id:a,agent_id:d,title:c.conversation_title,type:c.conversation_type,channel:c.conversation_channel,created_at:e})}return G.current=!0,M([]),async function(){let a=!1;try{let b=null,c=null,h=null;if(e){b=e;let d=await j(b);if(g)return;c=d.cacheMeta,a=d.painted}else{let e=await (0,K.getLastOpenConversation)(d,k,i);if(g)return;if(e?.conversation_id&&e.serverMessageCount>0){let b=await j(e.conversation_id);if(g)return;b.painted&&(a=!0,h=e.conversation_id,c=b.cacheMeta)}try{let e=await (0,n.checkFreshness)({agentId:d,channel:k},i);if(g)return;if(b=e.conversation_id,h&&b!==h){ax.current=!1,az.current=!0;let d=await j(b);if(g)return;c=d.cacheMeta,a=d.painted,d.painted||(M([]),U(!0),aa([]))}else if(!h){let d=await j(b);if(g)return;c=d.cacheMeta,a=d.painted}}catch{}}if(b){aF.current=b;let h=await (0,n.conversationInit)(b,i,{newestMessageId:c?.newestMessageId??void 0,messageCount:c?.serverMessageCount||void 0});if(g)return;if(I(h.conversation),ae(h.has_more_conversations),!h.cache_valid&&h.messages){let c=az.current;M(a=>p(a,h.messages)),aF.current===b&&(0,K.mergeCachedMessages)(b,h.messages,h.has_more_messages,i,h.message_count).catch(()=>{}),Y(h.has_more_messages),a&&ax.current&&c&&aJ()}else c&&Y(c.hasMore);if(aF.current===b&&!e){let a=await (0,K.getCacheMeta)(b,i);if(g)return;(0,K.setLastOpenConversation)(d,k,{conversation_id:b,newestMessageId:a?.newestMessageId??c?.newestMessageId??null,serverMessageCount:h.message_count},i).catch(()=>{})}if(aa(h.artifacts),aF.current===b&&(0,K.setConvExtras)(b,{artifacts:h.artifacts,conversation_type:h.conversation.type,conversation_title:h.conversation.title,conversation_channel:h.conversation.channel,conversation_created_at:h.conversation.created_at,hasMoreArtifacts:h.has_more_artifacts},i).catch(()=>{}),v(new Set(h.flagged_message_ids)),h.active_task&&(Q(h.active_task),S(h.task_messages),h.task_messages.length>0&&(av.current=Math.max(...h.task_messages.map(a=>a.seq))),aB.current?.(h.active_task.id,b,av.current)),f){let a=await (0,n.getTask)(f,i).catch(()=>null);if(g)return;if(a&&!["completed","failed","cancelled","superseded"].includes(a.status)){Q(a);let c=await (0,n.getTaskMessages)(f,i).catch(()=>[]);if(g)return;let d=c.filter(a=>"error"===a.type);S(d),c.length>0&&(av.current=Math.max(...c.map(a=>a.seq))),aB.current?.(a.id,b,av.current)}}}else{let b=await (0,n.chatInit)(d,i,k);if(g)return;aF.current=b.conversation.id,I(b.conversation);let c=az.current;M(a=>a.length>0?p(a,b.messages):b.messages),Y(b.has_more_messages),aa(b.artifacts),ae(b.has_more_conversations),(0,K.mergeCachedMessages)(b.conversation.id,b.messages,b.has_more_messages,i).catch(()=>{}),aF.current===b.conversation.id&&(0,K.setConvExtras)(b.conversation.id,{artifacts:b.artifacts,conversation_type:b.conversation.type,conversation_title:b.conversation.title,conversation_channel:b.conversation.channel,conversation_created_at:b.conversation.created_at,hasMoreArtifacts:b.has_more_artifacts},i).catch(()=>{}),(0,K.setLastOpenConversation)(d,k,{conversation_id:b.conversation.id,newestMessageId:b.messages.length>0?b.messages[b.messages.length-1].id:null,serverMessageCount:b.has_more_messages?0:b.messages.length},i).catch(()=>{}),a&&ax.current&&c&&aJ(),(0,n.listFlaggedMessageIds)(i,b.conversation.id).then(a=>{g||v(new Set(a.message_ids))}).catch(()=>{}),b.active_task&&(Q(b.active_task),b.task_messages.length>0&&(S(b.task_messages),av.current=Math.max(...b.task_messages.map(a=>a.seq))),["completed","failed","cancelled","superseded"].includes(b.active_task.status)||aB.current?.(b.active_task.id,b.conversation.id,av.current))}}catch{a?w.toast.error("Couldn't refresh conversation"):w.toast.error("Failed to load conversation")}finally{if(!g){var b;U(!1),b=aG.current,c&&(b.completedKey=c)}}}(),()=>{g=!0}},[d,i,e,f,k,l]);let aK=(0,c.useRef)(u);(0,c.useEffect)(()=>{aK.current=u},[u]);let aL=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!H?.id||!i||aL.current===H.id)return;aL.current=H.id;let a=setTimeout(()=>{(0,n.markInboxRead)(H.id,i).then(()=>aK.current()).catch(()=>{})},1e3);return()=>{aL.current=null,clearTimeout(a)}},[H?.id,i]),(0,c.useEffect)(()=>{T||!(L.length>0)||ax.current||(ax.current=!0,f||g?(az.current=!1,ar.current?.scrollTo({top:ar.current.scrollHeight})):h?setTimeout(()=>{let a=ar.current?.querySelectorAll("[data-quote-source]");a&&a.length>0?a[a.length-1].scrollIntoView({behavior:"instant",block:"start"}):ar.current?.scrollTo({top:ar.current.scrollHeight})},50):setTimeout(()=>{ar.current?.scrollTo({top:ar.current.scrollHeight})},50))},[T,L.length,f,g,h]),(0,c.useEffect)(()=>{let a;if(!f||T||!H)return;az.current=!1,aA.current=!0;let b=!1,c=()=>{if(b)return!1;let c=document.querySelector(`[data-task-id="${CSS.escape(f)}"]`);return!!c&&(c.scrollIntoView({behavior:"smooth",block:"center"}),c.classList.add("task-highlight"),a=setTimeout(()=>{c.classList.remove("task-highlight"),b||(aA.current=!1)},1500),!0)},d=setTimeout(async()=>{if(!b&&!c())try{let a=await (0,n.listMessagesAroundTask)(H.id,i,f);if(b)return;a.length>0?(M(b=>p(b,a)),requestAnimationFrame(()=>{setTimeout(()=>{c()||(aA.current=!1)},100)})):aA.current=!1}catch{b||(aA.current=!1)}},100);return()=>{b=!0,clearTimeout(d),a&&clearTimeout(a)}},[f,T,H,i]),(0,c.useEffect)(()=>{let a;if(!g||f||T||!H)return;az.current=!1,aA.current=!0;let b=!1,c=setTimeout(()=>{!b&&((()=>{if(b)return!1;let c=document.querySelector(`[data-message-id="${CSS.escape(g)}"]`);return!!c&&(c.scrollIntoView({behavior:"smooth",block:"center"}),c.classList.add("task-highlight"),a=setTimeout(()=>{c.classList.remove("task-highlight"),b||(aA.current=!1)},1500),!0)})()||(ar.current?.scrollTo({top:ar.current.scrollHeight}),aA.current=!1))},100);return()=>{b=!0,clearTimeout(c),a&&clearTimeout(a)}},[g,f,T,H]);let aM=P?.status;(0,c.useEffect)(()=>{aA.current||("running"===aM||"queued"===aM)&&az.current&&aJ()},[R.length,aM,aJ]),(0,c.useEffect)(()=>{aA.current||ax.current&&az.current&&aJ()},[_.length,L.length,aJ]);let aN=(0,c.useMemo)(()=>j.find(a=>a.id===d)?.name??"Agent",[j,d]),aO=s(L),aP=s(X),aQ=s(ab),aR=s(ad),aS=s(aN),aT=s(k),aU=(0,c.useCallback)(async(a=!1)=>{if(!H||ay.current)return;ay.current=!0;let b=aO.current,c=aP.current,f=aR.current,g=aS.current,h=aT.current,j=!!e,k=b[0],l=aC.current?.id??H.id,m=c&&k,o=aQ.current;if(!j&&!m&&0===o.length&&f){let a=aC.current??{id:H.id,created_at:H.created_at};try{let b=await (0,n.listPreviousConversations)(d,i,{exclude:H.id,before:a.created_at,channel:h});o=b.conversations,ac(b.conversations),ae(b.has_more)}catch{ae(!1)}}let p=!j&&o.length>0;if(!m&&!p){ay.current=!1;return}$(!0);let q=ar.current;q&&(q.style.overflowAnchor="none");let r=q?.scrollHeight??0;try{let b=[],c=[],e=20,p=!1,s=[],t=!1;if(m){let a=l===H.id?await (0,K.getCachedMessagesBefore)(l,k.created_at,k.id,20,i):null;if(a)b=a.messages,e-=a.messages.length,p=a.hasMore;else{let a=await (0,n.listMessages)(l,i,{limit:20,before:k.created_at,beforeId:k.id});b=a.messages,e-=a.messages.length,p=a.has_more}t=p}if(!j&&!p&&e>0){if(0===o.length&&f){let a=aC.current??{id:H.id,created_at:H.created_at};try{let b=await (0,n.listPreviousConversations)(d,i,{exclude:H.id,before:a.created_at,channel:h});o=b.conversations,ac(b.conversations),ae(b.has_more)}catch{ae(!1)}}let a=0,b=0;for(;a<o.length&&e>0&&b<5;){let d=o[a];a++,b++;let f=await (0,n.listMessages)(d.id,i,{limit:e});if(0===f.messages.length){aC.current=d;continue}let h=aC.current?.created_at??H.created_at;s.push({agentName:g,created_at:h,id:`nap-${d.id}`}),c=[...f.messages,...c],e-=f.messages.length,p=f.has_more,aC.current=d}a>0&&ac(b=>b.slice(a))}let u=[...c,...b];if((0,J.flushSync)(()=>{u.length>0?(s.length>0&&ag(a=>{let b=new Set(a.map(a=>a.id)),c=s.filter(a=>!b.has(a.id));return[...a,...c]}),Y(p),M(a=>{let b=new Set(a.map(a=>a.id));return[...u.filter(a=>!b.has(a.id)),...a]})):Y(!1)}),u.length>0&&H){let a=u.filter(a=>a.conversation_id===H.id);a.length>0&&(0,K.mergeCachedMessages)(H.id,a,t,i).catch(()=>{})}if(ay.current=!1,(0,J.flushSync)(()=>$(!1)),q)if(a)q.scrollTop=q.scrollHeight;else{let a=q.scrollHeight;q.scrollTop=a-r}}catch{w.toast.error("Failed to load older messages")}finally{ay.current=!1,$(!1),ar.current&&(ar.current.style.overflowAnchor="")}},[H,i,d,e,aO,aP,aR,aS,aT,aQ]),aV=e?X:X||ab.length>0||ad;(0,c.useEffect)(()=>{H?.id!==aE.current&&(aE.current=H?.id,aD.current=0)},[H?.id]),(0,c.useEffect)(()=>{T||!H||f||e||L.length>=10||!aV||Z||aD.current>=3||(aD.current+=1,aU(!0))},[T,L.length,aV,Z,H,aU,f,e]);let aW=(0,c.useCallback)(()=>{let a=ar.current;a&&(az.current=a.scrollHeight-a.scrollTop-a.clientHeight<100)},[]),aX=(0,c.useCallback)((a,b,c)=>{as.current&&clearInterval(as.current),av.current=c??0,aw.current=0,W(!1),au.current=a,as.current=setInterval(async()=>{if(au.current===a)try{let c=await (0,n.getTask)(a,i),d=au.current!==a;if(aw.current=0,W(!1),"completed"===c.status||"failed"===c.status||"cancelled"===c.status||"superseded"===c.status){if(d)return void(0,n.listMessages)(b,i).then(({messages:a})=>{M(b=>p(b,a)),(0,K.mergeCachedMessages)(b,a,null,i).catch(()=>{})}).catch(()=>{});as.current&&clearInterval(as.current),as.current=null,at.current&&clearTimeout(at.current),at.current=setTimeout(()=>{(0,n.markInboxRead)(b,i).then(()=>aK.current()).catch(()=>{})},1e3);let e=!aA.current&&az.current;try{let[a,d]=await Promise.all([(0,n.listMessages)(b,i),(0,n.listArtifacts)(b,i).catch(()=>null)]);M(b=>p(b,a.messages)),(0,K.mergeCachedMessages)(b,a.messages,null,i).catch(()=>{}),d&&(aa(d),aI(b,d)),Q(c)}catch{Q(c),w.toast.error("Failed to refresh messages")}e&&requestAnimationFrame(()=>{ar.current?.scrollTo({top:ar.current.scrollHeight,behavior:"smooth"})}),setTimeout(async()=>{if(!as.current)try{let c=await (0,n.getActiveTask)(b,i);if(c&&c.id!==a){let{messages:a}=await (0,n.listMessages)(b,i);M(b=>p(b,a)),(0,K.mergeCachedMessages)(b,a,null,i).catch(()=>{}),Q(c),S([]),aB.current?.(c.id,b)}}catch{}},1e3)}else d||Q(c)}catch{if(au.current!==a)return;aw.current+=1,aw.current>=3&&W(!0),aw.current>=10&&(as.current&&clearInterval(as.current),as.current=null,w.toast.error("Lost connection to agent"))}},3e3)},[i]);(0,c.useEffect)(()=>{aB.current=aX},[aX]),(0,c.useEffect)(()=>()=>{as.current&&clearInterval(as.current),at.current&&clearTimeout(at.current)},[]);let aY=(0,c.useRef)(null);(0,c.useEffect)(()=>{aY.current=P?.id??null},[P]),(0,c.useEffect)(()=>m(a=>{if("task.messages"===a.type&&a.taskId===aY.current){let b=a.messages.filter(a=>a.seq>av.current);if(b.length>0){let a=b.filter(a=>"error"===a.type);a.length>0&&S(b=>{let c=new Set(b.map(a=>a.seq)),d=a.filter(a=>!c.has(a.seq));return d.length>0?[...b,...d]:b}),av.current=Math.max(...b.map(a=>a.seq),av.current)}}if("task.created"===a.type&&a.conversationId===H?.id){(0,n.listMessages)(a.conversationId,i).then(({messages:b})=>{M(a=>p(a,b)),(0,K.mergeCachedMessages)(a.conversationId,b,null,i).catch(()=>{})}).catch(()=>{});let b=a.task;aY.current=b.id,Q(b),S([]),av.current=0,aB.current?.(b.id,a.conversationId)}if("task.created"===a.type){let b=a.task,c=aT.current;(0,K.getLastOpenConversation)(d,c,i).then(a=>{let e=function(a){let{task:b,agentId:c,activeChannel:d,currentPointerConvId:e}=a;return b.agent_id!==c||(b.channel??"default")!==d||b.conversation_id===e?null:b.conversation_id}({task:b,agentId:d,activeChannel:c,currentPointerConvId:a?.conversation_id??null});if(e)return(0,K.getCacheMeta)(e,i).then(a=>(0,K.setLastOpenConversation)(d,c,{conversation_id:e,newestMessageId:a?.newestMessageId??null,serverMessageCount:a?.messageCount??0},i))}).catch(()=>{})}"conversation.message"===a.type&&(a.conversationId===aF.current&&(0,K.appendCachedMessage)(a.conversationId,a.message,i).catch(()=>{}),a.conversationId===H?.id&&M(b=>{let c=new Date(a.message.created_at).getTime(),d=b.findIndex(b=>b.id.startsWith("temp-")&&b.role===a.message.role&&b.content===a.message.content&&2e3>Math.abs(new Date(b.created_at).getTime()-c));if(-1!==d){let c=b[d].id;ai(a=>{if(!a.has(c))return a;let b=new Map(a);return b.delete(c),b});let e=[...b];return e[d]=a.message,e}return p(b,[a.message])})),"task.updated"===a.type&&a.taskId===aY.current&&Q(b=>b?{...b,status:a.status}:b),"artifact.uploaded"===a.type&&a.conversationId===H?.id&&aa(b=>{if(b.some(b=>b.id===a.artifact.id))return b;let c=[...b,a.artifact];return aI(a.conversationId,c),c})}),[m,H?.id,i,d,aI]),(0,c.useEffect)(()=>t(()=>{H?.id&&(0,K.getCacheMeta)(H.id,i).then(a=>{(0,n.conversationInit)(H.id,i,{newestMessageId:a?.newestMessageId??void 0,messageCount:a?.serverMessageCount??void 0}).then(a=>{!a.cache_valid&&a.messages&&(M(b=>p(b,a.messages)),am.current(a.messages,a.has_more_messages,a.message_count).catch(()=>{}))}).catch(()=>{})})}),[t,H?.id,i]);let aZ=async()=>{let a=C.current.trim();if(!a&&0===E.current.length||N||!H)return;if(!a)return void w.toast.error("Please type a message");let b=D.current?`> ${D.current.split("\n").join("\n> ")}
2
2
 
3
- ${a}`:a;F.current&&(b=`/${F.current.name} ${b}`);let c=[...E.current];y(""),x([]),z(null),B(),O(!0);let d=`temp-${Date.now()}`,e={id:d,conversation_id:H.id,role:"user",content:b,task_id:null,attachment_ids:null,created_at:new Date().toISOString()};c.length>0&&ai(a=>{let b=new Map(a);return b.set(d,c),b}),M(a=>[...a,e]),aJ();try{let{message:a,task:f}=await (0,n.sendMessage)(H.id,b,i,c.length>0?c:void 0);if(ai(a=>{if(!a.has(d))return a;let b=new Map(a);return b.delete(d),b}),M(b=>{if(!b.some(a=>a.id===e.id))return b.some(b=>b.id===a.id)?b:o([...b,a]);let c=b.filter(b=>b.id!==e.id&&b.id!==a.id);return o([...c,a])}),(0,K.appendCachedMessage)(H.id,a,i).catch(()=>{}),a.attachment_ids&&a.attachment_ids.length>0){let a=H.id;(0,n.listArtifacts)(a,i).then(b=>{aa(b),aI(a,b)}).catch(()=>{})}Q(f),S([]),aX(f.id,H.id)}catch{ak(a=>{let e=new Map(a);return e.set(d,{content:b,files:c}),e})}finally{O(!1),aH.current?.focus()}},a$=(0,c.useCallback)(a=>{let b=aj.get(a);if(!b||!H||N)return;ak(b=>{let c=new Map(b);return c.delete(a),c}),M(b=>b.filter(b=>b.id!==a)),ai(b=>{if(!b.has(a))return b;let c=new Map(b);return c.delete(a),c}),O(!0);let c=`temp-${Date.now()}`,d={id:c,conversation_id:H.id,role:"user",content:b.content,task_id:null,attachment_ids:null,created_at:new Date().toISOString()};b.files.length>0&&ai(a=>{let d=new Map(a);return d.set(c,b.files),d}),M(a=>[...a,d]),(0,n.sendMessage)(H.id,b.content,i,b.files.length>0?b.files:void 0).then(({message:a,task:b})=>{ai(a=>{if(!a.has(c))return a;let b=new Map(a);return b.delete(c),b}),M(b=>o([...b.filter(b=>b.id!==c&&b.id!==a.id),a])),(0,K.appendCachedMessage)(H.id,a,i).catch(()=>{}),Q(b),S([]),aX(b.id,H.id)}).catch(()=>{ak(a=>{let d=new Map(a);return d.set(c,b),d})}).finally(()=>{O(!1)})},[aj,H,N,i,aX]),a_=(0,c.useCallback)(async()=>{if(!P||!H)return;let a=await (0,n.retryTask)(P.id,i);Q(a),S([]),aX(a.id,H.id)},[P,H,i,aX]),[a0,a1]=(0,c.useState)(!1),a2=(0,c.useMemo)(()=>!!H&&L.some(a=>a.conversation_id===H.id),[H,L]),a3=async()=>{if(H&&a2&&!a0){a1(!0);try{as.current&&(clearInterval(as.current),as.current=null);let a=await (0,n.createConversation)(d,i,k);ag(b=>[...b,{agentName:aN,created_at:a.created_at,id:`nap-${H.id}`}]),ac(a=>[{id:H.id,created_at:H.created_at},...a]),I(a),Q(null),S([]),aa([]),x([]),ai(new Map),ak(new Map),av.current=0,W(!1),Y(!1),aC.current=null,aJ()}catch{w.toast.error("Failed to start new conversation")}finally{a1(!1)}}};return{conversation:H,messages:L,sending:N,activeTask:P,taskMessages:R,messagesLoading:T,connectionLost:V,hasMore:X,loadingMore:Z,artifacts:_,previousConversations:ab,hasMoreConversations:ad,napMarkers:af,napping:a0,pendingFilesByMessage:ah,failedSends:aj,agentArtifacts:an,agentName:aN,timeline:ao,groupPositions:ap,activeTaskStreamMsgId:aq,canLoadMore:aV,currentConvHasMessages:a2,scrollRef:ar,composerRef:aH,loadOlderMessages:aU,handleScroll:aW,handleSend:aZ,handleRetrySend:a$,handleRetryTask:a_,handleNap:a3,scrollToBottom:aJ}}({agentId:ad,targetConvId:ao,scrollToTaskId:am,scrollToMessageId:an,propTargetConvId:g,workspaceId:P,agents:R,activeChannel:aa,channelLoading:ab,subscribeWs:V,subscribeReconnect:W,refreshInboxCount:X},{setFlaggedIds:bh,setPendingFiles:a_,setInput:aq,setQuotedText:bd,setActiveSkill:a=>bo.current?.setActiveSkill(a),clearActiveSkill:()=>bo.current?.clearActiveSkill(),inputRef:bk,quotedTextRef:bl,pendingFilesRef:bm,activeSkillRef:bn,draftMetaRestoredRef:bj}),{versionMap:bQ,duplicateFilenames:bR}=(0,c.useMemo)(()=>(0,ah.computeArtifactVersions)(bB),[bB]),bS=(0,c.useMemo)(()=>(0,aK.parseAvatarUrl)(R.find(a=>a.id===ad)?.avatar_url??null),[R,ad]),bT=(0,c.useMemo)(()=>bC.split(/\s+/)[0]||bC,[bC]),bU=(0,c.useCallback)(a=>{(0,ah.isPreviewable)(a)?(aw(a),au(!0)):window.open((0,ah.getArtifactUrl)(a.id,P,!0),"_blank")},[P]),bV=(0,c.useCallback)(a=>{(0,ah.isPreviewable)(a)?(aw(a),au(!0)):window.open((0,ah.getArtifactUrl)(a.id,P,!0),"_blank")},[P]),[bW,bX]=(0,c.useState)(""),bY=(0,c.useMemo)(()=>R.filter(a=>a.id!==ad),[R,ad]),[bZ,b$]=(0,c.useState)([]),b_=(0,c.useRef)(!1);(0,c.useEffect)(()=>{b_.current||(b_.current=!0,(0,n.getAgentSkills)(ad,P).then(a=>b$(a.skills)).catch(()=>{}))},[ad,P]);let[b0]=(0,c.useState)(()=>null),b1=function({input:a,caretIndex:b,skills:d,onInputChange:e,initialActiveSkill:f,getAnchorPos:g,onAfterSelect:h}){let[i,j]=(0,c.useState)(!1),[k,l]=(0,c.useState)(""),[m,n]=(0,c.useState)(0),[o,p]=(0,c.useState)({top:0,left:0}),q=(0,c.useRef)(null),r=(0,c.useMemo)(()=>{if(!i)return[];if(!k)return d;let a=k.toLowerCase(),b=[],c=[];for(let e of d){let d=e.name.toLowerCase();d.startsWith(a)?b.push(e):d.includes(a)&&c.push(e)}return[...b,...c]},[i,k,d]);(0,c.useEffect)(()=>{n(0)},[r.length,k]);let[s,t]=(0,c.useState)(f??null);(0,c.useEffect)(()=>{if(s||null===b)return void j(!1);let c=function(a,b){if(!a.startsWith("/")||0===b)return null;let c=b-1;for(;c>=0&&b-c<=30;){let d=a.charCodeAt(c);if(47===d&&0===c)return{start:0,query:a.slice(1,b)};if(10===d||13===d||32===d)break;c--}return null}(a,b);if(c){q.current=c.start,l(c.query),j(!0);let a=g(c.start);a&&p(a)}else j(!1),q.current=null},[a,b,g,s]);let u=(0,c.useCallback)(a=>{t(a),e(""),j(!1),h?.()},[e,h]),v=(0,c.useCallback)(()=>{t(null)},[]),w=(0,c.useCallback)(a=>!!i&&0!==r.length&&!a.isComposing&&("ArrowDown"===a.key?(a.preventDefault(),n(a=>(a+1)%r.length),!0):"ArrowUp"===a.key?(a.preventDefault(),n(a=>(a-1+r.length)%r.length),!0):"Enter"===a.key||"Tab"===a.key?(a.preventDefault(),u(r[m]),!0):"Escape"===a.key&&(a.preventDefault(),j(!1),!0)),[i,r,m,u]);return{isOpen:i,query:k,selectedIndex:m,anchorPos:o,skills:r,activeSkill:s,handleSlashKeyDown:w,selectSkill:u,clearActiveSkill:v,setActiveSkill:t}}({input:bW,caretIndex:a9,skills:bZ,onInputChange:()=>bJ.current?.clear(),initialActiveSkill:b0,getAnchorPos:(0,c.useCallback)(a=>bJ.current?.coordsAtTextIndex(a)??null,[]),onAfterSelect:(0,c.useCallback)(()=>{requestAnimationFrame(()=>bJ.current?.focus())},[])});(0,c.useLayoutEffect)(()=>{bo.current=b1,bn.current=b1.activeSkill}),(0,c.useEffect)(()=>{0===bZ.length||!b1.activeSkill||bZ.some(a=>a.name===b1.activeSkill.name)||b1.setActiveSkill(null)},[bZ]),(0,c.useEffect)(()=>{let a=`chat-draft:${ad}:${ao??"default"}`;ap?localStorage.setItem(a,ap):localStorage.removeItem(a)},[ap,ad,ao]),(0,c.useEffect)(()=>{if(!bj.current)return;let a=`chat-draft-meta:${ad}:${ao??"default"}`,b={};b1.activeSkill&&(b.skill={name:b1.activeSkill.name,description:b1.activeSkill.description}),bc&&(b.quote=bc),b.skill||b.quote?localStorage.setItem(a,JSON.stringify(b)):localStorage.removeItem(a)},[b1.activeSkill,bc,ad,ao]),(0,c.useEffect)(()=>{br||bJ.current?.focus()},[br]);let{selectionPopup:b2,setSelectionPopup:b3}=function(){let[a,b]=(0,c.useState)(null),d=(0,c.useCallback)(()=>{let a=window.getSelection();if(!a||a.isCollapsed||!a.rangeCount)return void b(null);let c=a.toString().trim();if(!c)return void b(null);let d=a.getRangeAt(0),e=d.commonAncestorContainer instanceof HTMLElement?d.commonAncestorContainer:d.commonAncestorContainer.parentElement;if(!e?.closest("[data-quote-source]"))return void b(null);let f=d.getClientRects(),g=f[f.length-1]||d.getBoundingClientRect();b({text:c,x:g.right,y:g.top-4})},[]);return(0,c.useEffect)(()=>(document.addEventListener("selectionchange",d),()=>document.removeEventListener("selectionchange",d)),[d]),{selectionPopup:a,setSelectionPopup:b}}(),b4=(0,c.useCallback)(()=>{b2&&(bd(b2.text),b3(null),window.getSelection()?.removeAllRanges(),bJ.current?.focus())},[b2]);(0,c.useEffect)(()=>{if(aG&&aL)return V(a=>{if("task.updated"===a.type&&aZ&&a.taskId===aZ&&(0,n.getTask)(aZ,P).then(a=>aW(a)).catch(()=>{}),"conversation.message"===a.type&&aY&&a.conversationId===aY&&(aS(b=>!b||b.messages.some(b=>b.id===a.message.id)?b:{...b,messages:[...b.messages,a.message]}),"event"===a.message.role&&a.message.content.startsWith("Issue status changed:"))){let b=a.message.content.match(/-> (\w+)/);b&&aS(a=>a?{...a,issue:{...a.issue,status:b[1]}}:a)}"issue.comment"===a.type&&a.issueId===aL&&aS(b=>!b||b.comments.some(b=>b.id===a.comment.id)?b:{...b,comments:[...b.comments,a.comment]})})},[aG,aL,aY,aZ,P,V]);let[b5,b6]=(0,c.useState)(!1),b7=!!bs&&!["completed","failed","cancelled","superseded"].includes(bs.status),b8=function(a){var b;let d=function(){let[a,b]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{},[]),a}(),[e,f]=(0,c.useState)(()=>(function(a,b=Math.random){return a<=0?0:Math.floor(b()*a)%a})($.length)),g=(b={...a,reducedMotion:d}).isEmpty&&!b.isFocused&&!b.isTaskActive&&!b.reducedMotion,h=(0,c.useRef)(e);return h.current=e,(0,c.useEffect)(()=>{if(!g)return;let a=setInterval(()=>{var a,b;f((a=h.current,(b=$.length)<=0?0:(a+1)%b))},6e3);return()=>clearInterval(a)},[g]),{hint:$[e]??$[0],isRotating:g}}({isEmpty:""===ap.trim(),isFocused:ar,isTaskActive:b7});return bu?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"flex-1 overflow-y-auto px-3 md:px-5",children:(0,b.jsxs)("div",{className:"mx-auto max-w-3xl py-6 space-y-6 motion-safe:animate-[fade-up_200ms_ease-out_both]",children:[(0,b.jsxs)("div",{className:"flex justify-start items-start gap-2",children:[(0,b.jsx)(y.Skeleton,{className:"size-[30px] shrink-0 rounded-md"}),(0,b.jsxs)("div",{className:"flex flex-col items-start gap-1 max-w-[86%]",children:[(0,b.jsx)(y.Skeleton,{className:"h-3 w-20 rounded mb-0.5"}),(0,b.jsx)(y.Skeleton,{className:"h-9 w-64 rounded-[1.05rem]"}),(0,b.jsx)(y.Skeleton,{className:"h-9 w-48 rounded-[1.05rem]"})]})]}),(0,b.jsxs)("div",{className:"flex flex-col items-end gap-1",children:[(0,b.jsx)(y.Skeleton,{className:"h-9 w-44 rounded-[1.05rem]"}),(0,b.jsx)(y.Skeleton,{className:"h-9 w-32 rounded-[1.05rem]"})]}),(0,b.jsxs)("div",{className:"flex justify-start items-start gap-2",children:[(0,b.jsx)(y.Skeleton,{className:"size-[30px] shrink-0 rounded-md"}),(0,b.jsxs)("div",{className:"flex flex-col items-start gap-1 max-w-[86%]",children:[(0,b.jsx)(y.Skeleton,{className:"h-3 w-20 rounded mb-0.5"}),(0,b.jsx)(y.Skeleton,{className:"h-9 w-56 rounded-[1.05rem]"})]})]})]})}),(0,b.jsx)("div",{className:"relative z-10 px-3 md:px-5 pt-3 pb-5 md:pb-6",children:(0,b.jsxs)("div",{className:"mx-auto max-w-3xl",children:[(0,b.jsx)("div",{className:"h-5 px-1 mb-2 flex items-center",children:(0,b.jsx)(y.Skeleton,{className:"h-3.5 w-28 rounded"})}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(y.Skeleton,{className:"size-8 shrink-0 rounded-full"}),(0,b.jsx)(y.Skeleton,{className:"h-10 flex-1 rounded-3xl"}),(0,b.jsx)(y.Skeleton,{className:"size-8 shrink-0 rounded-full"})]})]})})]}):bu||bp||0!==bq.length?(0,b.jsxs)(b.Fragment,{children:[b2&&(0,b.jsxs)("button",{type:"button",className:"fixed z-50 flex items-center gap-1 px-2 py-1 rounded-md bg-popover border shadow-md text-xs text-popover-foreground hover:bg-accent transition-colors",style:{left:b2.x,top:b2.y,transform:"translate(-100%, -100%)"},onMouseDown:a=>a.preventDefault(),onClick:b4,children:[(0,b.jsx)(F,{className:"size-3"}),"Quote"]}),(0,b.jsxs)("div",{className:"relative flex-1 min-h-0",children:[(0,b.jsx)("div",{className:"h-full overflow-y-auto overflow-x-hidden px-3 md:px-5 thin-scrollbar",ref:bI,onScroll:bL,onClick:a=>{a.target.closest('[data-streamdown="code-block-actions"] button')&&w.toast.success("Copied to clipboard")},children:(0,b.jsxs)("div",{className:"mx-auto max-w-3xl pt-6 pb-15 min-w-0",children:[bp&&bG&&!bw&&(0,b.jsx)("div",{className:"flex justify-center py-2",children:(0,b.jsx)("button",{onClick:()=>bK(),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"Load earlier messages"})}),bw&&(0,b.jsx)("div",{className:"flex justify-center py-2",children:(0,b.jsx)(i.Loader2,{className:"size-4 animate-spin text-muted-foreground"})}),0===bq.length&&!bs&&(k=R.find(a=>a.id===ad),l=k?.created_at&&bb-new Date(k.created_at).getTime()<3e5,B=(U[ad]??0)>0,l&&B&&"default"===aa?(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-20 gap-3 animate-[fade-up_400ms_ease-out_both]",children:[(0,b.jsxs)("div",{className:"relative animate-bounce",children:[(0,b.jsx)(E.Mail,{className:"size-8 text-primary"}),(0,b.jsxs)("span",{className:"absolute -top-1 -right-1 flex size-3",children:[(0,b.jsx)("span",{className:"animate-ping absolute inline-flex size-full rounded-full bg-primary/60"}),(0,b.jsx)("span",{className:"relative inline-flex size-3 rounded-full bg-primary"})]})]}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground text-center max-w-xs",children:"Your agent is sending you a welcome email."}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60 text-center max-w-xs",children:"Wait for the email task in the top-left to complete, then check your inbox. Or send a message below to start chatting."})]}):(0,b.jsxs)("p",{className:"text-center text-muted-foreground py-20 text-base animate-[fade-up_400ms_ease-out_both]",children:["Say hi to ",bT,"."]})),bD.map((a,c)=>{let d=bE[c],e="first"===d||"solo"===d||null===d,f=0===c?"":e?"mt-6":"mt-1.5";if("nap"===a.kind)return(0,b.jsx)("div",{className:f,children:(0,b.jsx)(aO,{agentName:bC})},a.data.id);if("artifact"===a.kind){let c=d??"solo",e="first"===c||"solo"===c;return(0,b.jsx)("div",{className:f,children:(0,b.jsx)(aD,{groupPosition:c,agentName:bC,config:bS,forceSpacer:!e,children:(0,b.jsx)(aP,{artifact:a.data,version:bQ.get(a.data.id)??1,hasDuplicates:bR.has(a.data.filename),onClick:bU})})},`artifact-${a.data.id}`)}let g=a.data;return(0,b.jsx)("div",{className:f,children:(0,b.jsx)(aH,{msg:g,agents:R,artifacts:bx,activeTask:bs,activeTaskStreamMsgId:bF,taskMessages:bt,connectionLost:bv,conversationType:bp?.type,pendingFilesByMessage:bz,onArtifactClick:bU,onEmailClick:a=>{aA(a),ay(!0)},onCalendarEventClick:a=>{aF(a),aC(!0)},onIssueClick:a=>aX(a),onRetry:bO,mentionComponents:aN,isFlagged:bg.has(g.id),onToggleFlag:"assistant"===g.role?bi:void 0,groupPosition:d??"solo",provider:al,agentName:bC,agentAvatarConfig:bS,isSendFailed:bA.has(g.id),onRetrySend:bN})},g.id)}),bs&&bs.conversation_id===bp?.id&&null==bF&&!["completed","failed","cancelled","superseded"].includes(bs.status)&&(0,b.jsx)("div",{className:"mt-4",children:(0,b.jsx)(m,{task:bs,messages:bt,connectionLost:bv,provider:al})})]})}),(0,b.jsx)(ai.ScrollToBottomButton,{scrollRef:bI})]}),(0,b.jsx)("div",{className:"relative z-10 px-3 md:px-5 pt-3 pb-5 md:pb-6",children:(0,b.jsxs)("div",{className:"mx-auto max-w-3xl relative",children:[bp&&(0,b.jsx)(aJ,{agentFirstName:bT,taskStatus:b7?bs?.status:null}),(0,b.jsxs)("div",{className:"flex items-end gap-2",children:[!ao&&(0,b.jsxs)(aM.Popover,{open:b5,onOpenChange:b6,children:[(0,b.jsx)(aM.PopoverTrigger,{render:(0,b.jsx)(f.Button,{variant:"ghost",size:"icon-sm",className:"shrink-0 self-end mb-2.5 size-8 rounded-full text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:(0,b.jsx)(G.MoreHorizontal,{className:"size-4"})}),(0,b.jsx)(aM.PopoverContent,{side:"top",align:"start",className:"w-auto p-1.5 flex flex-col gap-0.5",children:(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{render:a=>(0,b.jsx)("span",{...a,className:(0,x.cn)("inline-flex",a.className),children:(0,b.jsxs)(f.Button,{variant:"ghost",size:"sm",onClick:()=>{b6(!1),bP()},disabled:by||!bp||!bH||b7,className:"w-full justify-start gap-2 rounded-md text-muted-foreground hover:text-foreground",children:[by?(0,b.jsx)(i.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(C,{className:"size-3.5"}),(0,b.jsx)("span",{className:"text-xs",children:"Nap"})]})})}),(0,b.jsx)(z.TooltipContent,{side:"right",children:b7?"Wait for the task to finish":bH?"Take a nap and reset the current session":`${bC} is well-rested and ready to go`})]})})]}),(0,b.jsxs)("div",{className:(0,x.cn)("relative flex-1 min-w-0 flex flex-col rounded-3xl border border-border/50 bg-background/90 transition-[border-radius] duration-200","focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50",(be||bc||b1.activeSkill)&&"rounded-2xl",br&&"opacity-50",a4&&"border-ring ring-3 ring-ring/50"),onDragEnter:a5,onDragLeave:a6,onDragOver:a7,onDrop:a8,children:[a4&&(0,b.jsx)("div",{className:(0,x.cn)("absolute inset-0 z-10 flex items-center justify-center bg-background/80 border-2 border-dashed border-ring pointer-events-none",be||bc||b1.activeSkill?"rounded-2xl":"rounded-3xl"),children:(0,b.jsx)("p",{className:"text-sm text-muted-foreground font-medium",children:"Drop files here"})}),b1.activeSkill&&(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3.5 pt-2.5 pb-1 border-b border-border/50",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0 flex items-center gap-2",children:[(0,b.jsxs)("span",{className:"shrink-0 text-xs font-medium text-primary",children:["/",b1.activeSkill.name]}),b1.activeSkill.isGlobal&&(0,b.jsx)("span",{className:"text-[10px] font-medium text-muted-foreground bg-muted rounded px-1 py-0.5",children:"Global"}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:b1.activeSkill.description})]}),(0,b.jsx)("button",{type:"button",onClick:b1.clearActiveSkill,className:"shrink-0 p-0.5 rounded-sm hover:bg-muted-foreground/20 transition-colors text-muted-foreground",children:(0,b.jsx)(I.X,{className:"size-3.5"})})]}),bc&&(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3.5 pt-2.5 pb-1 border-b border-border/50",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0 flex items-start gap-2",children:[(0,b.jsx)(F,{className:"size-3.5 shrink-0 mt-0.5 text-muted-foreground"}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground truncate",children:[bc.slice(0,120),bc.length>120?"...":""]})]}),(0,b.jsx)("button",{type:"button",onClick:()=>bd(null),className:"shrink-0 p-0.5 rounded-sm hover:bg-muted-foreground/20 transition-colors text-muted-foreground",children:(0,b.jsx)(I.X,{className:"size-3.5"})})]}),(0,b.jsx)(N,{isOpen:b1.isOpen,skills:b1.skills,selectedIndex:b1.selectedIndex,onSelect:b1.selectSkill,anchorPos:b1.anchorPos}),a$.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 px-3.5 pt-3 pb-0.5",children:a$.map((a,c)=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-md bg-muted px-2 py-1 text-xs text-muted-foreground",children:[(0,b.jsx)(D.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-30",children:a.name}),(0,b.jsx)("span",{className:"text-muted-foreground/60",children:(0,_.formatSize)(a.size)}),(0,b.jsx)("button",{type:"button",onClick:()=>a3(c),className:"ml-0.5 rounded-sm p-0.5 hover:bg-muted-foreground/20 transition-colors",children:(0,b.jsx)(I.X,{className:"size-3"})})]},`${a.name}-${c}`))}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)("input",{ref:a0,type:"file",multiple:!0,className:"hidden",onChange:a2}),(0,b.jsx)("div",{className:"px-13 py-3",children:(0,b.jsx)(Z,{ref:bJ,value:ap,onChange:aq,onEditorState:(a,b)=>{bX(a),ba(b)},onSend:bM,onFocus:()=>as(!0),onBlur:()=>as(!1),overlay:""===ap.trim()?b7?(0,b.jsx)(Y,{hint:`Message ${bT}`,animate:!1}):(0,b.jsx)(Y,{hint:b8.hint,animate:b8.isRotating}):void 0,disabled:br,onMultiLineChange:bf,onFiles:a1,agents:bY,agentLinks:T,currentAgentId:ad,slashIsOpen:b1.isOpen,onSlashKeyDown:b1.handleSlashKeyDown})}),(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{render:(0,b.jsx)(f.Button,{variant:"ghost",size:"icon-sm",onPointerDown:a=>a.preventDefault(),onClick:()=>a0.current?.click(),disabled:br,className:"absolute left-2 bottom-2 size-8 rounded-full text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:(0,b.jsx)(H.Paperclip,{className:"size-3.5"})}),(0,b.jsx)(z.TooltipContent,{side:"top",children:"Attach files"})]}),(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{render:(0,b.jsx)(f.Button,{size:"icon-sm",onClick:bM,disabled:!ap.trim()||br,className:(0,x.cn)("absolute right-2 bottom-2 size-8 rounded-full bg-primary text-primary-foreground transition-opacity duration-200",!ap.trim()&&"opacity-30")}),children:br?(0,b.jsx)(i.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(A.ArrowUp,{className:"size-3.5"})}),(0,b.jsx)(z.TooltipContent,{side:"top",children:"Send"})]})]})]}),!ao&&(0,b.jsx)("div",{className:"shrink-0 self-end mb-2.5 size-8","aria-hidden":"true"})]})]})}),(0,b.jsx)(_.ArtifactSheet,{open:at,onOpenChange:a=>{au(a),a||setTimeout(()=>{aw(null)},300)},artifacts:av?[av]:bB,workspaceId:P,initialArtifact:av,versionMap:bQ,duplicateFilenames:bR}),(0,b.jsx)(ae,{open:ax,onOpenChange:a=>{ay(a),a||setTimeout(()=>aA(null),300)},emailId:az,workspaceId:P}),(0,b.jsx)(af.CalendarEventSheet,{readonly:!0,open:aB,onOpenChange:a=>{aC(a),a||setTimeout(()=>aF(null),300)},calendarEventId:aE,workspaceId:P}),(0,b.jsx)(ag.IssueSheet,{open:aG,onOpenChange:a=>{aI(a),a||setTimeout(()=>{aQ(null),aS(null),aW(null)},300)},agents:R,issue:aR?.issue??null,detail:aR?{messages:aR.messages,comments:aR.comments,artifacts:aR.artifacts,traceId:aR.issue.trace_id}:null,detailLoading:aT,activeTask:aV,traceTasks:aU,slug:Q,workspaceId:P,onUpdate:async(a,b)=>{try{let c=await (0,n.updateIssue)(P,a,b);aS(d=>d&&d.issue.id===a?{...d,issue:{...d.issue,...b,updated_at:c.updated_at}}:d)}catch(a){w.toast.error(a instanceof Error?a.message:"Failed to update issue")}},onStatusChange:async(a,b)=>{try{await (0,n.updateIssue)(P,a,{status:b}),aS(c=>c&&c.issue.id===a?{...c,issue:{...c.issue,status:b}}:c)}catch(a){w.toast.error(a instanceof Error?a.message:"Failed to update status")}},onCommented:()=>{aL&&aX(aL)},onArtifactClick:bV})]}):(0,b.jsx)("div",{className:"flex flex-1 items-center justify-center text-sm text-muted-foreground",children:"Failed to load conversation"})}],127026)}];
3
+ ${a}`:a;F.current&&(b=`/${F.current.name} ${b}`);let c=[...E.current];y(""),x([]),z(null),B(),O(!0);let d=`temp-${Date.now()}`,e={id:d,conversation_id:H.id,role:"user",content:b,task_id:null,attachment_ids:null,created_at:new Date().toISOString()};c.length>0&&ai(a=>{let b=new Map(a);return b.set(d,c),b}),M(a=>[...a,e]),aJ();try{let{message:a,task:f}=await (0,n.sendMessage)(H.id,b,i,c.length>0?c:void 0);if(ai(a=>{if(!a.has(d))return a;let b=new Map(a);return b.delete(d),b}),M(b=>{if(!b.some(a=>a.id===e.id))return b.some(b=>b.id===a.id)?b:o([...b,a]);let c=b.filter(b=>b.id!==e.id&&b.id!==a.id);return o([...c,a])}),(0,K.appendCachedMessage)(H.id,a,i).catch(()=>{}),a.attachment_ids&&a.attachment_ids.length>0){let a=H.id;(0,n.listArtifacts)(a,i).then(b=>{aa(b),aI(a,b)}).catch(()=>{})}Q(f),S([]),aX(f.id,H.id)}catch{ak(a=>{let e=new Map(a);return e.set(d,{content:b,files:c}),e})}finally{O(!1),aH.current?.focus()}},a$=(0,c.useCallback)(a=>{let b=aj.get(a);if(!b||!H||N)return;ak(b=>{let c=new Map(b);return c.delete(a),c}),M(b=>b.filter(b=>b.id!==a)),ai(b=>{if(!b.has(a))return b;let c=new Map(b);return c.delete(a),c}),O(!0);let c=`temp-${Date.now()}`,d={id:c,conversation_id:H.id,role:"user",content:b.content,task_id:null,attachment_ids:null,created_at:new Date().toISOString()};b.files.length>0&&ai(a=>{let d=new Map(a);return d.set(c,b.files),d}),M(a=>[...a,d]),(0,n.sendMessage)(H.id,b.content,i,b.files.length>0?b.files:void 0).then(({message:a,task:b})=>{ai(a=>{if(!a.has(c))return a;let b=new Map(a);return b.delete(c),b}),M(b=>o([...b.filter(b=>b.id!==c&&b.id!==a.id),a])),(0,K.appendCachedMessage)(H.id,a,i).catch(()=>{}),Q(b),S([]),aX(b.id,H.id)}).catch(()=>{ak(a=>{let d=new Map(a);return d.set(c,b),d})}).finally(()=>{O(!1)})},[aj,H,N,i,aX]),a_=(0,c.useCallback)(async()=>{if(!P||!H)return;let a=await (0,n.retryTask)(P.id,i);Q(a),S([]),aX(a.id,H.id)},[P,H,i,aX]),[a0,a1]=(0,c.useState)(!1),a2=(0,c.useMemo)(()=>!!H&&L.some(a=>a.conversation_id===H.id),[H,L]),a3=async()=>{if(H&&a2&&!a0){a1(!0);try{as.current&&(clearInterval(as.current),as.current=null);let a=await (0,n.createConversation)(d,i,k);ag(b=>[...b,{agentName:aN,created_at:a.created_at,id:`nap-${H.id}`}]),ac(a=>[{id:H.id,created_at:H.created_at},...a]),I(a),Q(null),S([]),aa([]),x([]),ai(new Map),ak(new Map),av.current=0,W(!1),Y(!1),aC.current=null,aJ()}catch{w.toast.error("Failed to start new conversation")}finally{a1(!1)}}};return{conversation:H,messages:L,sending:N,activeTask:P,taskMessages:R,messagesLoading:T,connectionLost:V,hasMore:X,loadingMore:Z,artifacts:_,previousConversations:ab,hasMoreConversations:ad,napMarkers:af,napping:a0,pendingFilesByMessage:ah,failedSends:aj,agentArtifacts:an,agentName:aN,timeline:ao,groupPositions:ap,activeTaskStreamMsgId:aq,canLoadMore:aV,currentConvHasMessages:a2,scrollRef:ar,composerRef:aH,loadOlderMessages:aU,handleScroll:aW,handleSend:aZ,handleRetrySend:a$,handleRetryTask:a_,handleNap:a3,scrollToBottom:aJ}}({agentId:ad,targetConvId:ao,scrollToTaskId:am,scrollToMessageId:an,propTargetConvId:g,workspaceId:P,agents:R,activeChannel:aa,channelLoading:ab,subscribeWs:V,subscribeReconnect:W,refreshInboxCount:X},{setFlaggedIds:bh,setPendingFiles:a_,setInput:aq,setQuotedText:bd,setActiveSkill:a=>bo.current?.setActiveSkill(a),clearActiveSkill:()=>bo.current?.clearActiveSkill(),inputRef:bk,quotedTextRef:bl,pendingFilesRef:bm,activeSkillRef:bn,draftMetaRestoredRef:bj}),{versionMap:bQ,duplicateFilenames:bR}=(0,c.useMemo)(()=>(0,ah.computeArtifactVersions)(bB),[bB]),bS=(0,c.useMemo)(()=>(0,aK.parseAvatarUrl)(R.find(a=>a.id===ad)?.avatar_url??null),[R,ad]),bT=(0,c.useMemo)(()=>bC.split(/\s+/)[0]||bC,[bC]),bU=(0,c.useCallback)(a=>{(0,ah.isPreviewable)(a)?(aw(a),au(!0)):window.open((0,ah.getArtifactUrl)(a.id,P,!0),"_blank")},[P]),bV=(0,c.useCallback)(a=>{(0,ah.isPreviewable)(a)?(aw(a),au(!0)):window.open((0,ah.getArtifactUrl)(a.id,P,!0),"_blank")},[P]),[bW,bX]=(0,c.useState)(""),bY=(0,c.useMemo)(()=>R.filter(a=>a.id!==ad),[R,ad]),[bZ,b$]=(0,c.useState)([]),b_=(0,c.useRef)(!1);(0,c.useEffect)(()=>{b_.current||(b_.current=!0,(0,n.getAgentSkills)(ad,P).then(a=>b$(a.skills)).catch(()=>{}))},[ad,P]);let[b0]=(0,c.useState)(()=>null),b1=function({input:a,caretIndex:b,skills:d,onInputChange:e,initialActiveSkill:f,getAnchorPos:g,onAfterSelect:h}){let[i,j]=(0,c.useState)(!1),[k,l]=(0,c.useState)(""),[m,n]=(0,c.useState)(0),[o,p]=(0,c.useState)({top:0,left:0}),q=(0,c.useRef)(null),r=(0,c.useMemo)(()=>{if(!i)return[];if(!k)return d;let a=k.toLowerCase(),b=[],c=[];for(let e of d){let d=e.name.toLowerCase();d.startsWith(a)?b.push(e):d.includes(a)&&c.push(e)}return[...b,...c]},[i,k,d]);(0,c.useEffect)(()=>{n(0)},[r.length,k]);let[s,t]=(0,c.useState)(f??null);(0,c.useEffect)(()=>{if(s||null===b)return void j(!1);let c=function(a,b){if(!a.startsWith("/")||0===b)return null;let c=b-1;for(;c>=0&&b-c<=30;){let d=a.charCodeAt(c);if(47===d&&0===c)return{start:0,query:a.slice(1,b)};if(10===d||13===d||32===d)break;c--}return null}(a,b);if(c){q.current=c.start,l(c.query),j(!0);let a=g(c.start);a&&p(a)}else j(!1),q.current=null},[a,b,g,s]);let u=(0,c.useCallback)(a=>{t(a),e(""),j(!1),h?.()},[e,h]),v=(0,c.useCallback)(()=>{t(null)},[]),w=(0,c.useCallback)(a=>!!i&&0!==r.length&&!a.isComposing&&("ArrowDown"===a.key?(a.preventDefault(),n(a=>(a+1)%r.length),!0):"ArrowUp"===a.key?(a.preventDefault(),n(a=>(a-1+r.length)%r.length),!0):"Enter"===a.key||"Tab"===a.key?(a.preventDefault(),u(r[m]),!0):"Escape"===a.key&&(a.preventDefault(),j(!1),!0)),[i,r,m,u]);return{isOpen:i,query:k,selectedIndex:m,anchorPos:o,skills:r,activeSkill:s,handleSlashKeyDown:w,selectSkill:u,clearActiveSkill:v,setActiveSkill:t}}({input:bW,caretIndex:a9,skills:bZ,onInputChange:()=>bJ.current?.clear(),initialActiveSkill:b0,getAnchorPos:(0,c.useCallback)(a=>bJ.current?.coordsAtTextIndex(a)??null,[]),onAfterSelect:(0,c.useCallback)(()=>{requestAnimationFrame(()=>bJ.current?.focus())},[])});(0,c.useLayoutEffect)(()=>{bo.current=b1,bn.current=b1.activeSkill}),(0,c.useEffect)(()=>{0===bZ.length||!b1.activeSkill||bZ.some(a=>a.name===b1.activeSkill.name)||b1.setActiveSkill(null)},[bZ]),(0,c.useEffect)(()=>{let a=`chat-draft:${ad}:${ao??"default"}`;ap?localStorage.setItem(a,ap):localStorage.removeItem(a)},[ap,ad,ao]),(0,c.useEffect)(()=>{if(!bj.current)return;let a=`chat-draft-meta:${ad}:${ao??"default"}`,b={};b1.activeSkill&&(b.skill={name:b1.activeSkill.name,description:b1.activeSkill.description}),bc&&(b.quote=bc),b.skill||b.quote?localStorage.setItem(a,JSON.stringify(b)):localStorage.removeItem(a)},[b1.activeSkill,bc,ad,ao]),(0,c.useEffect)(()=>{br||bJ.current?.focus()},[br]);let{selectionPopup:b2,setSelectionPopup:b3}=function(){let[a,b]=(0,c.useState)(null),d=(0,c.useCallback)(()=>{let a=window.getSelection();if(!a||a.isCollapsed||!a.rangeCount)return void b(null);let c=a.toString().trim();if(!c)return void b(null);let d=a.getRangeAt(0),e=d.commonAncestorContainer instanceof HTMLElement?d.commonAncestorContainer:d.commonAncestorContainer.parentElement;if(!e?.closest("[data-quote-source]"))return void b(null);let f=d.getClientRects(),g=f[f.length-1]||d.getBoundingClientRect();b({text:c,x:g.right,y:g.top-4})},[]);return(0,c.useEffect)(()=>(document.addEventListener("selectionchange",d),()=>document.removeEventListener("selectionchange",d)),[d]),{selectionPopup:a,setSelectionPopup:b}}(),b4=(0,c.useCallback)(()=>{b2&&(bd(b2.text),b3(null),window.getSelection()?.removeAllRanges(),bJ.current?.focus())},[b2]);(0,c.useEffect)(()=>{if(aG&&aL)return V(a=>{if("task.updated"===a.type&&aZ&&a.taskId===aZ&&(0,n.getTask)(aZ,P).then(a=>aW(a)).catch(()=>{}),"conversation.message"===a.type&&aY&&a.conversationId===aY&&(aS(b=>!b||b.messages.some(b=>b.id===a.message.id)?b:{...b,messages:[...b.messages,a.message]}),"event"===a.message.role&&a.message.content.startsWith("Issue status changed:"))){let b=a.message.content.match(/-> (\w+)/);b&&aS(a=>a?{...a,issue:{...a.issue,status:b[1]}}:a)}"issue.comment"===a.type&&a.issueId===aL&&aS(b=>!b||b.comments.some(b=>b.id===a.comment.id)?b:{...b,comments:[...b.comments,a.comment]})})},[aG,aL,aY,aZ,P,V]);let[b5,b6]=(0,c.useState)(!1),b7=!!bs&&!["completed","failed","cancelled","superseded"].includes(bs.status),b8=function(a){var b;let d=function(){let[a,b]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{},[]),a}(),[e,f]=(0,c.useState)(()=>(function(a,b=Math.random){return a<=0?0:Math.floor(b()*a)%a})($.length)),g=(b={...a,reducedMotion:d}).isEmpty&&!b.isFocused&&!b.isTaskActive&&!b.reducedMotion,h=(0,c.useRef)(e);return h.current=e,(0,c.useEffect)(()=>{if(!g)return;let a=setInterval(()=>{var a,b;f((a=h.current,(b=$.length)<=0?0:(a+1)%b))},6e3);return()=>clearInterval(a)},[g]),{hint:$[e]??$[0],isRotating:g}}({isEmpty:""===ap.trim(),isFocused:ar,isTaskActive:b7});return bu?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"flex-1 overflow-y-auto px-3 md:px-5",children:(0,b.jsxs)("div",{className:"mx-auto max-w-3xl py-6 space-y-6 motion-safe:animate-[fade-up_200ms_ease-out_both]",children:[(0,b.jsxs)("div",{className:"flex justify-start items-start gap-2",children:[(0,b.jsx)(y.Skeleton,{className:"size-[30px] shrink-0 rounded-md"}),(0,b.jsxs)("div",{className:"flex flex-col items-start gap-1 max-w-[86%]",children:[(0,b.jsx)(y.Skeleton,{className:"h-3 w-20 rounded mb-0.5"}),(0,b.jsx)(y.Skeleton,{className:"h-9 w-64 rounded-[1.05rem]"}),(0,b.jsx)(y.Skeleton,{className:"h-9 w-48 rounded-[1.05rem]"})]})]}),(0,b.jsxs)("div",{className:"flex flex-col items-end gap-1",children:[(0,b.jsx)(y.Skeleton,{className:"h-9 w-44 rounded-[1.05rem]"}),(0,b.jsx)(y.Skeleton,{className:"h-9 w-32 rounded-[1.05rem]"})]}),(0,b.jsxs)("div",{className:"flex justify-start items-start gap-2",children:[(0,b.jsx)(y.Skeleton,{className:"size-[30px] shrink-0 rounded-md"}),(0,b.jsxs)("div",{className:"flex flex-col items-start gap-1 max-w-[86%]",children:[(0,b.jsx)(y.Skeleton,{className:"h-3 w-20 rounded mb-0.5"}),(0,b.jsx)(y.Skeleton,{className:"h-9 w-56 rounded-[1.05rem]"})]})]})]})}),(0,b.jsx)("div",{className:"relative z-10 px-3 md:px-5 pt-3 pb-5 md:pb-6",children:(0,b.jsxs)("div",{className:"mx-auto max-w-3xl",children:[(0,b.jsx)("div",{className:"h-5 px-1 mb-2 flex items-center",children:(0,b.jsx)(y.Skeleton,{className:"h-3.5 w-28 rounded"})}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(y.Skeleton,{className:"size-8 shrink-0 rounded-full"}),(0,b.jsx)(y.Skeleton,{className:"h-10 flex-1 rounded-3xl"}),(0,b.jsx)(y.Skeleton,{className:"size-8 shrink-0 rounded-full"})]})]})})]}):bu||bp||0!==bq.length?(0,b.jsxs)(b.Fragment,{children:[b2&&(0,b.jsxs)("button",{type:"button",className:"fixed z-50 flex items-center gap-1 px-2 py-1 rounded-md bg-popover border shadow-md text-xs text-popover-foreground hover:bg-accent transition-colors",style:{left:b2.x,top:b2.y,transform:"translate(-100%, -100%)"},onMouseDown:a=>a.preventDefault(),onClick:b4,children:[(0,b.jsx)(F,{className:"size-3"}),"Quote"]}),(0,b.jsxs)("div",{className:"relative flex-1 min-h-0",children:[(0,b.jsx)("div",{className:"h-full overflow-y-auto overflow-x-hidden px-3 md:px-5 thin-scrollbar",ref:bI,onScroll:bL,onClick:a=>{a.target.closest('[data-streamdown="code-block-actions"] button')&&w.toast.success("Copied to clipboard")},children:(0,b.jsxs)("div",{className:"mx-auto max-w-3xl pt-6 pb-15 min-w-0",children:[bp&&bG&&!bw&&(0,b.jsx)("div",{className:"flex justify-center py-2",children:(0,b.jsx)("button",{onClick:()=>bK(),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"Load earlier messages"})}),bw&&(0,b.jsx)("div",{className:"flex justify-center py-2",children:(0,b.jsx)(i.Loader2,{className:"size-4 animate-spin text-muted-foreground"})}),0===bq.length&&!bs&&(k=R.find(a=>a.id===ad),l=k?.created_at&&bb-new Date(k.created_at).getTime()<3e5,B=(U[ad]??0)>0,l&&B&&"default"===aa?(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-20 gap-3 animate-[fade-up_400ms_ease-out_both]",children:[(0,b.jsxs)("div",{className:"relative animate-bounce",children:[(0,b.jsx)(E.Mail,{className:"size-8 text-primary"}),(0,b.jsxs)("span",{className:"absolute -top-1 -right-1 flex size-3",children:[(0,b.jsx)("span",{className:"animate-ping absolute inline-flex size-full rounded-full bg-primary/60"}),(0,b.jsx)("span",{className:"relative inline-flex size-3 rounded-full bg-primary"})]})]}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground text-center max-w-xs",children:"Your agent is sending you a welcome email."}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60 text-center max-w-xs",children:"Wait for the email task in the top-left to complete, then check your inbox. Or send a message below to start chatting."})]}):(0,b.jsxs)("p",{className:"text-center text-muted-foreground py-20 text-base animate-[fade-up_400ms_ease-out_both]",children:["Say hi to ",bT,"."]})),bD.map((a,c)=>{let d=bE[c],e="first"===d||"solo"===d||null===d,f=0===c?"":e?"mt-6":"mt-1.5";if("nap"===a.kind)return(0,b.jsx)("div",{className:f,children:(0,b.jsx)(aP,{agentName:bC})},a.data.id);if("artifact"===a.kind){let c=d??"solo",e="first"===c||"solo"===c;return(0,b.jsx)("div",{className:f,children:(0,b.jsx)(aD,{groupPosition:c,agentName:bC,config:bS,forceSpacer:!e,children:(0,b.jsx)(aQ,{artifact:a.data,version:bQ.get(a.data.id)??1,hasDuplicates:bR.has(a.data.filename),onClick:bU})})},`artifact-${a.data.id}`)}let g=a.data;return(0,b.jsx)("div",{className:f,children:(0,b.jsx)(aH,{msg:g,agents:R,artifacts:bx,activeTask:bs,activeTaskStreamMsgId:bF,taskMessages:bt,connectionLost:bv,conversationType:bp?.type,pendingFilesByMessage:bz,onArtifactClick:bU,onEmailClick:a=>{aA(a),ay(!0)},onCalendarEventClick:a=>{aF(a),aC(!0)},onIssueClick:a=>aX(a),onRetry:bO,mentionComponents:aO,isFlagged:bg.has(g.id),onToggleFlag:"assistant"===g.role?bi:void 0,groupPosition:d??"solo",provider:al,agentName:bC,agentAvatarConfig:bS,isSendFailed:bA.has(g.id),onRetrySend:bN})},g.id)}),bs&&bs.conversation_id===bp?.id&&null==bF&&!["completed","failed","cancelled","superseded"].includes(bs.status)&&(0,b.jsx)("div",{className:"mt-4",children:(0,b.jsx)(m,{task:bs,messages:bt,connectionLost:bv,provider:al})})]})}),(0,b.jsx)(ai.ScrollToBottomButton,{scrollRef:bI})]}),(0,b.jsx)("div",{className:"relative z-10 px-3 md:px-5 pt-3 pb-5 md:pb-6",children:(0,b.jsxs)("div",{className:"mx-auto max-w-3xl relative",children:[bp&&(0,b.jsx)(aJ,{agentFirstName:bT,taskStatus:b7?bs?.status:null}),(0,b.jsxs)("div",{className:"flex items-end gap-2",children:[!ao&&(0,b.jsxs)(aM.Popover,{open:b5,onOpenChange:b6,children:[(0,b.jsx)(aM.PopoverTrigger,{render:(0,b.jsx)(f.Button,{variant:"ghost",size:"icon-sm",className:"shrink-0 self-end mb-2.5 size-8 rounded-full text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:(0,b.jsx)(G.MoreHorizontal,{className:"size-4"})}),(0,b.jsx)(aM.PopoverContent,{side:"top",align:"start",className:"w-auto p-1.5 flex flex-col gap-0.5",children:(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{render:a=>(0,b.jsx)("span",{...a,className:(0,x.cn)("inline-flex",a.className),children:(0,b.jsxs)(f.Button,{variant:"ghost",size:"sm",onClick:()=>{b6(!1),bP()},disabled:by||!bp||!bH||b7,className:"w-full justify-start gap-2 rounded-md text-muted-foreground hover:text-foreground",children:[by?(0,b.jsx)(i.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(C,{className:"size-3.5"}),(0,b.jsx)("span",{className:"text-xs",children:"Nap"})]})})}),(0,b.jsx)(z.TooltipContent,{side:"right",children:b7?"Wait for the task to finish":bH?"Take a nap and reset the current session":`${bC} is well-rested and ready to go`})]})})]}),(0,b.jsxs)("div",{className:(0,x.cn)("relative flex-1 min-w-0 flex flex-col rounded-3xl border border-border/50 bg-background/90 transition-[border-radius] duration-200","focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50",(be||bc||b1.activeSkill)&&"rounded-2xl",br&&"opacity-50",a4&&"border-ring ring-3 ring-ring/50"),onDragEnter:a5,onDragLeave:a6,onDragOver:a7,onDrop:a8,children:[a4&&(0,b.jsx)("div",{className:(0,x.cn)("absolute inset-0 z-10 flex items-center justify-center bg-background/80 border-2 border-dashed border-ring pointer-events-none",be||bc||b1.activeSkill?"rounded-2xl":"rounded-3xl"),children:(0,b.jsx)("p",{className:"text-sm text-muted-foreground font-medium",children:"Drop files here"})}),b1.activeSkill&&(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3.5 pt-2.5 pb-1 border-b border-border/50",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0 flex items-center gap-2",children:[(0,b.jsxs)("span",{className:"shrink-0 text-xs font-medium text-primary",children:["/",b1.activeSkill.name]}),b1.activeSkill.isGlobal&&(0,b.jsx)("span",{className:"text-[10px] font-medium text-muted-foreground bg-muted rounded px-1 py-0.5",children:"Global"}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground truncate",children:b1.activeSkill.description})]}),(0,b.jsx)("button",{type:"button",onClick:b1.clearActiveSkill,className:"shrink-0 p-0.5 rounded-sm hover:bg-muted-foreground/20 transition-colors text-muted-foreground",children:(0,b.jsx)(I.X,{className:"size-3.5"})})]}),bc&&(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3.5 pt-2.5 pb-1 border-b border-border/50",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0 flex items-start gap-2",children:[(0,b.jsx)(F,{className:"size-3.5 shrink-0 mt-0.5 text-muted-foreground"}),(0,b.jsxs)("p",{className:"text-xs text-muted-foreground truncate",children:[bc.slice(0,120),bc.length>120?"...":""]})]}),(0,b.jsx)("button",{type:"button",onClick:()=>bd(null),className:"shrink-0 p-0.5 rounded-sm hover:bg-muted-foreground/20 transition-colors text-muted-foreground",children:(0,b.jsx)(I.X,{className:"size-3.5"})})]}),(0,b.jsx)(N,{isOpen:b1.isOpen,skills:b1.skills,selectedIndex:b1.selectedIndex,onSelect:b1.selectSkill,anchorPos:b1.anchorPos}),a$.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5 px-3.5 pt-3 pb-0.5",children:a$.map((a,c)=>(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-md bg-muted px-2 py-1 text-xs text-muted-foreground",children:[(0,b.jsx)(D.FileText,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate max-w-30",children:a.name}),(0,b.jsx)("span",{className:"text-muted-foreground/60",children:(0,_.formatSize)(a.size)}),(0,b.jsx)("button",{type:"button",onClick:()=>a3(c),className:"ml-0.5 rounded-sm p-0.5 hover:bg-muted-foreground/20 transition-colors",children:(0,b.jsx)(I.X,{className:"size-3"})})]},`${a.name}-${c}`))}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)("input",{ref:a0,type:"file",multiple:!0,className:"hidden",onChange:a2}),(0,b.jsx)("div",{className:"px-13 py-3",children:(0,b.jsx)(Z,{ref:bJ,value:ap,onChange:aq,onEditorState:(a,b)=>{bX(a),ba(b)},onSend:bM,onFocus:()=>as(!0),onBlur:()=>as(!1),overlay:""===ap.trim()?b7?(0,b.jsx)(Y,{hint:`Message ${bT}`,animate:!1}):(0,b.jsx)(Y,{hint:b8.hint,animate:b8.isRotating}):void 0,disabled:br,onMultiLineChange:bf,onFiles:a1,agents:bY,agentLinks:T,currentAgentId:ad,slashIsOpen:b1.isOpen,onSlashKeyDown:b1.handleSlashKeyDown})}),(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{render:(0,b.jsx)(f.Button,{variant:"ghost",size:"icon-sm",onPointerDown:a=>a.preventDefault(),onClick:()=>a0.current?.click(),disabled:br,className:"absolute left-2 bottom-2 size-8 rounded-full text-muted-foreground/60 hover:text-foreground transition-colors duration-200"}),children:(0,b.jsx)(H.Paperclip,{className:"size-3.5"})}),(0,b.jsx)(z.TooltipContent,{side:"top",children:"Attach files"})]}),(0,b.jsxs)(z.Tooltip,{children:[(0,b.jsx)(z.TooltipTrigger,{render:(0,b.jsx)(f.Button,{size:"icon-sm",onClick:bM,disabled:!ap.trim()||br,className:(0,x.cn)("absolute right-2 bottom-2 size-8 rounded-full bg-primary text-primary-foreground transition-opacity duration-200",!ap.trim()&&"opacity-30")}),children:br?(0,b.jsx)(i.Loader2,{className:"size-3.5 animate-spin"}):(0,b.jsx)(A.ArrowUp,{className:"size-3.5"})}),(0,b.jsx)(z.TooltipContent,{side:"top",children:"Send"})]})]})]}),!ao&&(0,b.jsx)("div",{className:"shrink-0 self-end mb-2.5 size-8","aria-hidden":"true"})]})]})}),(0,b.jsx)(_.ArtifactSheet,{open:at,onOpenChange:a=>{au(a),a||setTimeout(()=>{aw(null)},300)},artifacts:av?[av]:bB,workspaceId:P,initialArtifact:av,versionMap:bQ,duplicateFilenames:bR}),(0,b.jsx)(ae,{open:ax,onOpenChange:a=>{ay(a),a||setTimeout(()=>aA(null),300)},emailId:az,workspaceId:P}),(0,b.jsx)(af.CalendarEventSheet,{readonly:!0,open:aB,onOpenChange:a=>{aC(a),a||setTimeout(()=>aF(null),300)},calendarEventId:aE,workspaceId:P}),(0,b.jsx)(ag.IssueSheet,{open:aG,onOpenChange:a=>{aI(a),a||setTimeout(()=>{aN(null),aS(null),aW(null)},300)},agents:R,issue:aR?.issue??null,detail:aR?{messages:aR.messages,comments:aR.comments,artifacts:aR.artifacts,traceId:aR.issue.trace_id}:null,detailLoading:aT,activeTask:aV,traceTasks:aU,slug:Q,workspaceId:P,onUpdate:async(a,b)=>{try{let c=await (0,n.updateIssue)(P,a,b);aS(d=>d&&d.issue.id===a?{...d,issue:{...d.issue,...b,updated_at:c.updated_at}}:d)}catch(a){w.toast.error(a instanceof Error?a.message:"Failed to update issue")}},onStatusChange:async(a,b)=>{try{await (0,n.updateIssue)(P,a,{status:b}),aS(c=>c&&c.issue.id===a?{...c,issue:{...c.issue,status:b}}:c)}catch(a){w.toast.error(a instanceof Error?a.message:"Failed to update status")}},onCommented:()=>{aL&&aX(aL)},onArtifactClick:bV})]}):(0,b.jsx)("div",{className:"flex flex-1 items-center justify-center text-sm text-muted-foreground",children:"Failed to load conversation"})}],127026)}];
4
4
 
5
5
  //# sourceMappingURL=src_web_src_0~23g-y._.js.map