agent-relay-server 0.36.0 → 0.36.1

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 (60) hide show
  1. package/docs/openapi.json +1 -1
  2. package/package.json +1 -1
  3. package/public/assets/{activity-DVdEofAq.js → activity-C3mkM6AU.js} +2 -2
  4. package/public/assets/{activity-DVdEofAq.js.map → activity-C3mkM6AU.js.map} +1 -1
  5. package/public/assets/{agent-profiles-BiQ-5F3l.js → agent-profiles-DS4_jLPT.js} +2 -2
  6. package/public/assets/{agent-profiles-BiQ-5F3l.js.map → agent-profiles-DS4_jLPT.js.map} +1 -1
  7. package/public/assets/{agents-Dt4FBBnk.js → agents-CAhQO7JH.js} +2 -2
  8. package/public/assets/{agents-Dt4FBBnk.js.map → agents-CAhQO7JH.js.map} +1 -1
  9. package/public/assets/{analytics-BeUxZhkP.js → analytics-BwihhhNn.js} +2 -2
  10. package/public/assets/{analytics-BeUxZhkP.js.map → analytics-BwihhhNn.js.map} +1 -1
  11. package/public/assets/{automation--G9ZMkL6.js → automation-BLXToUiU.js} +2 -2
  12. package/public/assets/{automation--G9ZMkL6.js.map → automation-BLXToUiU.js.map} +1 -1
  13. package/public/assets/{branch-state-badge-BTqHF74k.js → branch-state-badge-D8-T2c1K.js} +2 -2
  14. package/public/assets/{branch-state-badge-BTqHF74k.js.map → branch-state-badge-D8-T2c1K.js.map} +1 -1
  15. package/public/assets/{channels-nqTHGf6J.js → channels-ppN8k4hu.js} +2 -2
  16. package/public/assets/{channels-nqTHGf6J.js.map → channels-ppN8k4hu.js.map} +1 -1
  17. package/public/assets/chat-8iIPyww9.js +2 -0
  18. package/public/assets/{chat-DALcMlDH.js.map → chat-8iIPyww9.js.map} +1 -1
  19. package/public/assets/{connectors-ChkEg-0q.js → connectors-CL9BALhF.js} +2 -2
  20. package/public/assets/{connectors-ChkEg-0q.js.map → connectors-CL9BALhF.js.map} +1 -1
  21. package/public/assets/{formatted-body-impl-D1K3GML5.js → formatted-body-impl-BHH0wzY7.js} +2 -2
  22. package/public/assets/{formatted-body-impl-D1K3GML5.js.map → formatted-body-impl-BHH0wzY7.js.map} +1 -1
  23. package/public/assets/{index-DUxpx-Zp.css → index-3pO43nJo.css} +1 -1
  24. package/public/assets/{index-DdB6SVZY.js → index-CaauKXl9.js} +6 -6
  25. package/public/assets/{index-DdB6SVZY.js.map → index-CaauKXl9.js.map} +1 -1
  26. package/public/assets/{integrations-C8839Qa0.js → integrations-DX55ARy0.js} +2 -2
  27. package/public/assets/{integrations-C8839Qa0.js.map → integrations-DX55ARy0.js.map} +1 -1
  28. package/public/assets/{maintenance-Ddl4zgKZ.js → maintenance-9n_rJCHT.js} +2 -2
  29. package/public/assets/{maintenance-Ddl4zgKZ.js.map → maintenance-9n_rJCHT.js.map} +1 -1
  30. package/public/assets/{managed-agents-D-K6vUKj.js → managed-agents-Rp2-xpBx.js} +2 -2
  31. package/public/assets/{managed-agents-D-K6vUKj.js.map → managed-agents-Rp2-xpBx.js.map} +1 -1
  32. package/public/assets/{markdown-preview-impl-BjS4cnc3.js → markdown-preview-impl-YfJsGh6I.js} +2 -2
  33. package/public/assets/{markdown-preview-impl-BjS4cnc3.js.map → markdown-preview-impl-YfJsGh6I.js.map} +1 -1
  34. package/public/assets/{memory-BTV0z4uL.js → memory-BQONtGQS.js} +2 -2
  35. package/public/assets/{memory-BTV0z4uL.js.map → memory-BQONtGQS.js.map} +1 -1
  36. package/public/assets/{messages-CzHsL-om.js → messages-DGqpkH72.js} +2 -2
  37. package/public/assets/{messages-CzHsL-om.js.map → messages-DGqpkH72.js.map} +1 -1
  38. package/public/assets/{orchestrators-PMUp2sUP.js → orchestrators-b8k9QoGv.js} +2 -2
  39. package/public/assets/{orchestrators-PMUp2sUP.js.map → orchestrators-b8k9QoGv.js.map} +1 -1
  40. package/public/assets/{overview-B_od6jh0.js → overview-DSU_CggA.js} +2 -2
  41. package/public/assets/{overview-B_od6jh0.js.map → overview-DSU_CggA.js.map} +1 -1
  42. package/public/assets/{pairs-CaxiFyfY.js → pairs-DGocNC1U.js} +2 -2
  43. package/public/assets/{pairs-CaxiFyfY.js.map → pairs-DGocNC1U.js.map} +1 -1
  44. package/public/assets/{security-BZYHZ4CE.js → security-BSh0QxOl.js} +2 -2
  45. package/public/assets/{security-BZYHZ4CE.js.map → security-BSh0QxOl.js.map} +1 -1
  46. package/public/assets/{settings-RLyewdfK.js → settings-C03CAJgO.js} +2 -2
  47. package/public/assets/{settings-RLyewdfK.js.map → settings-C03CAJgO.js.map} +1 -1
  48. package/public/assets/{store-CMUFZKxf.js → store-DKVWC6Uh.js} +2 -2
  49. package/public/assets/store-DKVWC6Uh.js.map +1 -0
  50. package/public/assets/{tasks-BYTcfYDQ.js → tasks-rKbuUPOk.js} +2 -2
  51. package/public/assets/{tasks-BYTcfYDQ.js.map → tasks-rKbuUPOk.js.map} +1 -1
  52. package/public/assets/{terminal-viewer-impl-B5rPCNkZ.js → terminal-viewer-impl-CA8u4jh3.js} +2 -2
  53. package/public/assets/{terminal-viewer-impl-B5rPCNkZ.js.map → terminal-viewer-impl-CA8u4jh3.js.map} +1 -1
  54. package/public/assets/{work-queue-DYgqkTQD.js → work-queue-DOsA9s4M.js} +2 -2
  55. package/public/assets/{work-queue-DYgqkTQD.js.map → work-queue-DOsA9s4M.js.map} +1 -1
  56. package/public/assets/{workspaces-Dkq9DxCL.js → workspaces-CoC2nflZ.js} +2 -2
  57. package/public/assets/{workspaces-Dkq9DxCL.js.map → workspaces-CoC2nflZ.js.map} +1 -1
  58. package/public/index.html +3 -3
  59. package/public/assets/chat-DALcMlDH.js +0 -2
  60. package/public/assets/store-CMUFZKxf.js.map +0 -1
@@ -1,2 +0,0 @@
1
- import{r as e}from"./chunk-CilyBKbf.js";import{$t as t,An as n,D as r,Dt as i,E as a,Et as o,Fn as s,Ft as c,G as l,H as u,Hn as d,I as f,It as p,J as m,Jt as h,K as g,Lt as _,Mn as v,On as y,P as b,Tn as x,Wt as S,Z as C,an as w,at as T,b as E,c as ee,dn as D,en as te,et as ne,g as re,i as ie,in as ae,it as O,jn as oe,kt as se,mn as ce,nn as le,qt as ue,r as de,rn as fe,s as pe,tn as me,tt as he,wn as ge,x as _e,xn as ve,yn as ye,yt as be}from"./lucide-react-DLQFnqNm.js";import{t as xe}from"./react-dom-CzfKBOnw.js";import{d as Se,i as Ce,l as we,s as Te,t as k,u as Ee}from"./store-CMUFZKxf.js";import{A as De,B as Oe,D as ke,F as Ae,G as je,H as Me,I as Ne,K as A,R as Pe,U as Fe,Z as Ie,_ as Le,a as Re,d as ze,h as Be,j as Ve,k as He,o as Ue,r as We,rt as Ge,w as Ke}from"./display-ConJ9cJB.js";import{t as qe}from"./badge-JVybSpzR.js";import{t as j}from"./button-BsMqBNJb.js";import{t as Je}from"./input-dPzf0luy.js";import{t as Ye}from"./copy-button-B-XlL8nF.js";import{C as Xe,E as Ze,I as Qe,S as $e,T as et,_ as tt,a as nt,d as rt,g as it,h as at,i as ot,k as st,l as ct,m as lt,o as ut,p as dt,r as ft,t as pt,v as mt,w as ht,y as gt}from"./index-DdB6SVZY.js";import{t as _t}from"./use-keyboard-viewport-bZ1J-ZnH.js";import{n as vt,t as yt}from"./branch-state-badge-BTqHF74k.js";var M=e(d(),1);function bt(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`}function xt(e,t){if(t.startsWith(`/`))return t;let n=`${e.replace(/\/+$/,``)}/${t}`.split(`/`),r=[];for(let e of n)!e||e===`.`||(e===`..`?r.pop():r.push(e));return`/`+r.join(`/`)}function St(e){let t=e.replace(/\/+$/,``),n=t.lastIndexOf(`/`);return n>0?t.slice(0,n):`/`}function Ct(e,t){return e.filter(e=>e.status===`online`&&Ae(t,e.baseDir)).sort((e,t)=>De(t.baseDir).length-De(e.baseDir).length)[0]||e.find(e=>e.status===`online`)}function wt(){return typeof window<`u`&&window.matchMedia(`(min-width: 1280px)`).matches}function Tt(){return typeof window<`u`&&!!window.getSelection()?.toString()}function Et(e){let t=e.payload?.attachments;return Array.isArray(t)?t.filter(e=>!!(e&&typeof e==`object`&&typeof e.artifactId==`string`)):[]}var Dt=[`👍`,`❤️`,`✅`,`👀`];function Ot(e){let t=new Map;for(let n of e.reactions||[]){let e=Ve(n.emoji),r=t.get(e)??{emoji:e,count:0,mine:!1,actors:[]};r.count+=1,r.mine=r.mine||n.actorId===`user`,r.actors.push(n.actorId),t.set(e,r)}return[...t.values()].sort((e,t)=>t.count-e.count||e.emoji.localeCompare(t.emoji))}function kt(e){return Ke(e)}function At(e,n){let r=e.readBy||[],i=e.resolvedToAgent||n||e.to,a=i?r.includes(i):!1,o=r.some(e=>e!==Ge);if(a||o){let e=a?i:r.find(e=>e!==Ge);return{label:`read`,title:e?`Read by ${e}`:`Read by agent`,tone:`ok`,icon:w}}if(e.deliveryStatus===`delivered`)return{label:`delivered`,title:`Delivered to agent inbox`,tone:`ok`,icon:w};if(e.deliveryStatus===`queued`)return{label:`queued`,title:`Queued until the target agent is available`,tone:`warn`,icon:S};if(e.deliveryStatus===`failed`||e.deliveryStatus===`dead`){let n=e.deliveryPoisonReason||e.deliveryLastError||e.deliveryStatus;return{label:e.deliveryStatus,title:n,tone:`danger`,icon:t}}return{label:`sent`,title:`Accepted by Relay`,tone:`muted`,icon:ae}}function jt(e){let t=Fe(e.createdAt);return(e.reactions||[]).reduce((e,t)=>Math.max(e,Fe(t.updatedAt||t.createdAt)),t)}function Mt(e){return e?e.messages.reduce((e,t)=>Math.max(e,jt(t)),0):0}function Nt(e){return new Date(e).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`})}function Pt(e){for(let t of e)t.previewUrl&&URL.revokeObjectURL(t.previewUrl)}function Ft(){let e=k(e=>e.agents),t=k(e=>e.showBuiltIns),n=k(e=>e.showOffline),r=k(e=>e.chatAgentSearch),i=k(e=>e.chatAgentProviderFilter),a=k(e=>e.chatAgentStatusFilter),o=k(e=>e.chatAgentTagFilter),s=k(e=>e.chatAgentCapFilter),c=k(e=>e.chatAgentHostFilter),l=k(e=>e.chatAgentSort),u=k(e=>e.chatAgentSortDir),d=k(e=>e.managedPolicies);return(0,M.useMemo)(()=>{let f=A(e,t,d);if(n||(f=f.filter(e=>e.status!==`offline`)),r){let e=r.toLowerCase();f=f.filter(t=>t.id.toLowerCase().includes(e)||(t.name||``).toLowerCase().includes(e)||(t.label||``).toLowerCase().includes(e)||(t.tags||[]).some(t=>t.toLowerCase().includes(e))||(t.capabilities||[]).some(t=>t.toLowerCase().includes(e)))}i&&(f=f.filter(e=>Ue(e)===i)),a&&(f=f.filter(e=>e.status===a)),o&&(f=f.filter(e=>(e.tags||[]).includes(o))),s&&(f=f.filter(e=>(e.capabilities||[]).includes(s))),c&&(f=f.filter(e=>(e.machine||``)===c));let p=u===`desc`?-1:1;return[...f].sort((e,t)=>l===`name`?ze(e).localeCompare(ze(t))*p:l===`lastSeen`?(Fe(t.lastSeen)-Fe(e.lastSeen))*p||ze(e).localeCompare(ze(t)):((Ie[e.status]??9)-(Ie[t.status]??9))*p||ze(e).localeCompare(ze(t)))},[e,t,n,d,r,i,a,o,s,c,l,u])}var N=n();function It({threads:e,onSelectAgent:n}){let i=k(e=>e.set),a=k(e=>e.openInboxThread),o=k(e=>e.openAgentSpawn),s=k(e=>e.selectedInboxThread),c=k(e=>e.chatAgentSearch),l=k(e=>e.chatAgentSort),u=k(e=>e.chatAgentSortDir),d=k(e=>e.chatAgentProviderFilter),p=k(e=>e.chatAgentStatusFilter),m=k(e=>e.chatAgentTagFilter),h=k(e=>e.chatAgentCapFilter),g=k(e=>e.chatAgentHostFilter),_=k(e=>e.chatAgentGroupBy),v=k(e=>e.chatAgentFiltersCollapsed),b=Ce(),x=Ft(),S=(0,M.useMemo)(()=>{let t=new Map;for(let n of e)t.set(n.peer,n);return t},[e]),C=(0,M.useMemo)(()=>{if(l!==`lastMessage`)return x;let e=u===`desc`?-1:1;return[...x].sort((t,n)=>{let r=Mt(S.get(t.id));return(Mt(S.get(n.id))-r)*e||ze(t).localeCompare(ze(n))})},[x,l,u,S]),w=(0,M.useMemo)(()=>[...new Set(x.flatMap(e=>e.tags||[]))],[x]),T=(0,M.useMemo)(()=>[...new Set(x.flatMap(e=>je(e.capabilities||[])))],[x]),E=Qe(),ee=(0,M.useMemo)(()=>{if(_!==`project`)return null;let e=new Map;for(let t of C){let n=lt(t)||`No project`,r=e.get(n);r?r.push(t):e.set(n,[t])}return[...e.entries()].sort((e,t)=>e[0].localeCompare(t[0]))},[C,_]),D=[d,p,m,h,g].filter(Boolean).length;function ne(e){a(e,S.get(e)?.messages),n?.(e)}function re(e){let n=S.get(e.id),r=n?.attention.unread||0,i=We(e),a=n?.previewMessage,o=Mt(n),c=s===e.id,l=at(e),u=lt(e),d=l.Icon;return(0,N.jsx)(`li`,{children:(0,N.jsxs)(`button`,{className:y(`w-full text-left px-3 py-2.5 flex items-start gap-2.5 hover:bg-muted/50 transition-colors border-b border-border/50`,c&&`bg-muted/60`),onClick:()=>ne(e.id),children:[(0,N.jsxs)(`div`,{className:`relative shrink-0 mt-0.5`,children:[(0,N.jsx)(it,{agent:e}),(0,N.jsx)(tt,{agent:e,now:b,className:`absolute -bottom-0.5 -right-0.5 w-2 h-2`})]}),(0,N.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,N.jsxs)(`div`,{className:`flex items-center justify-between gap-1 mb-0.5`,children:[(0,N.jsx)(`span`,{className:`text-xs font-medium truncate`,children:ze(e)}),(0,N.jsxs)(`div`,{className:`flex items-center gap-1 shrink-0`,children:[o>0&&(0,N.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,title:Be(o),children:Me(b,o)}),r>0&&(0,N.jsx)(qe,{className:`bg-red-500 text-white text-xs min-w-[18px] h-[18px] flex items-center justify-center shrink-0 px-1`,children:r}),!r&&i&&(0,N.jsx)(qe,{className:`bg-amber-500 text-black text-xs min-w-[18px] h-[18px] flex items-center justify-center shrink-0 px-1`,title:`Needs response`,children:(0,N.jsx)(t,{className:`h-3 w-3`})})]})]}),(0,N.jsxs)(`div`,{className:`flex items-center gap-1.5 mb-0.5 text-[10px] text-muted-foreground`,children:[(0,N.jsx)(`span`,{title:l.title,className:`inline-flex shrink-0`,children:(0,N.jsx)(d,{className:y(`h-3 w-3`,l.iconColor)})}),(0,N.jsx)(`span`,{className:`truncate`,children:u||l.label}),e.context&&(0,N.jsx)(`span`,{className:`ml-auto shrink-0`,children:(0,N.jsx)(dt,{utilization:e.context.utilization,size:18})})]}),a&&(0,N.jsxs)(`p`,{className:`text-xs text-muted-foreground truncate leading-tight`,children:[a.from===`user`?`You: `:``,He(a)]}),e.status!==`offline`&&(0,N.jsx)(`div`,{className:`mt-1`,children:(0,N.jsx)(`span`,{className:y(`text-xs`,e.status===`busy`?`text-yellow-400`:`text-emerald-400`),children:e.status})})]})]})},e.id)}return(0,N.jsxs)(`div`,{className:`flex flex-col h-full border-r border-border min-w-0`,children:[(0,N.jsxs)(`div`,{className:`p-3 border-b border-border space-y-2`,children:[(0,N.jsxs)(`div`,{className:`relative`,children:[(0,N.jsx)(r,{className:`absolute left-2.5 top-1/2 -translate-y-1/2 w-3.5 h-3.5 text-muted-foreground pointer-events-none`}),(0,N.jsx)(Je,{placeholder:`Search agents...`,value:c,onChange:e=>i({chatAgentSearch:e.target.value}),className:`pl-8 h-7 text-xs`})]}),(0,N.jsxs)(`button`,{type:`button`,onClick:()=>i({chatAgentFiltersCollapsed:!v}),className:`sm:hidden flex w-full items-center justify-between h-6 px-1.5 text-xs rounded-md border border-border bg-background text-muted-foreground`,children:[(0,N.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,N.jsx)(_e,{className:`w-3.5 h-3.5`}),`Filters & sort`,D>0&&(0,N.jsx)(qe,{className:`bg-primary/20 text-primary text-[10px] h-4 min-w-4 px-1 flex items-center justify-center`,children:D})]}),v?(0,N.jsx)(fe,{className:`w-3.5 h-3.5`}):(0,N.jsx)(te,{className:`w-3.5 h-3.5`})]}),(0,N.jsxs)(`div`,{className:y(`space-y-2`,v?`hidden`:`block`,`sm:block`),children:[(0,N.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,N.jsxs)(`select`,{value:l,onChange:e=>i({chatAgentSort:e.target.value}),className:`flex-1 h-6 text-xs rounded-md border border-border bg-background px-1.5 text-foreground`,children:[(0,N.jsx)(`option`,{value:`status`,children:`By status`}),(0,N.jsx)(`option`,{value:`name`,children:`By name`}),(0,N.jsx)(`option`,{value:`lastSeen`,children:`By last seen`}),(0,N.jsx)(`option`,{value:`lastMessage`,children:`By last activity`})]}),(0,N.jsx)(j,{variant:`ghost`,size:`icon-xs`,onClick:()=>i({chatAgentSortDir:u===`asc`?`desc`:`asc`}),children:u===`asc`?(0,N.jsx)(ye,{className:`w-3.5 h-3.5`}):(0,N.jsx)(ge,{className:`w-3.5 h-3.5`})})]}),(0,N.jsxs)(`select`,{value:_,onChange:e=>i({chatAgentGroupBy:e.target.value}),className:`w-full h-6 text-xs rounded-md border border-border bg-background px-1.5 text-foreground`,children:[(0,N.jsx)(`option`,{value:``,children:`No grouping`}),(0,N.jsx)(`option`,{value:`project`,children:`Group by project`})]}),(0,N.jsxs)(`div`,{className:`flex gap-1`,children:[(0,N.jsxs)(`select`,{value:d,onChange:e=>i({chatAgentProviderFilter:e.target.value}),className:`flex-1 h-6 text-xs rounded-md border border-border bg-background px-1.5 text-foreground`,children:[(0,N.jsx)(`option`,{value:``,children:`All types`}),(0,N.jsx)(`option`,{value:`claude`,children:`Claude`}),(0,N.jsx)(`option`,{value:`codex`,children:`Codex`}),(0,N.jsx)(`option`,{value:`agent`,children:`Agent`}),(0,N.jsx)(`option`,{value:`user`,children:`User`})]}),(0,N.jsxs)(`select`,{value:p,onChange:e=>i({chatAgentStatusFilter:e.target.value}),className:`flex-1 h-6 text-xs rounded-md border border-border bg-background px-1.5 text-foreground`,children:[(0,N.jsx)(`option`,{value:``,children:`All status`}),(0,N.jsx)(`option`,{value:`online`,children:`Online`}),(0,N.jsx)(`option`,{value:`idle`,children:`Idle`}),(0,N.jsx)(`option`,{value:`busy`,children:`Busy`}),(0,N.jsx)(`option`,{value:`offline`,children:`Offline`})]}),E.length>1&&(0,N.jsxs)(`select`,{value:g,onChange:e=>i({chatAgentHostFilter:e.target.value}),className:`flex-1 h-6 text-xs rounded-md border border-border bg-background px-1.5 text-foreground`,children:[(0,N.jsx)(`option`,{value:``,children:`All hosts`}),E.map(e=>(0,N.jsx)(`option`,{value:e,children:e},e))]})]}),(w.length>0||T.length>0)&&(0,N.jsxs)(`div`,{className:`flex gap-1`,children:[w.length>0&&(0,N.jsxs)(`select`,{value:m,onChange:e=>i({chatAgentTagFilter:e.target.value}),className:`flex-1 h-6 text-xs rounded-md border border-border bg-background px-1.5 text-foreground`,children:[(0,N.jsx)(`option`,{value:``,children:`All tags`}),w.map(e=>(0,N.jsxs)(`option`,{value:e,children:[`#`,e]},e))]}),T.length>0&&(0,N.jsxs)(`select`,{value:h,onChange:e=>i({chatAgentCapFilter:e.target.value}),className:`flex-1 h-6 text-xs rounded-md border border-border bg-background px-1.5 text-foreground`,children:[(0,N.jsx)(`option`,{value:``,children:`All caps`}),T.map(e=>(0,N.jsx)(`option`,{value:e,children:e},e))]})]})]})]}),(0,N.jsxs)(`button`,{type:`button`,className:`flex w-full shrink-0 items-center gap-2.5 border-b border-border px-3 py-2 text-left transition-colors hover:bg-muted/50`,onClick:o,children:[(0,N.jsx)(`div`,{className:`flex h-7 w-7 shrink-0 items-center justify-center rounded-full border border-dashed border-primary/50 bg-primary/10 text-primary`,children:(0,N.jsx)(f,{className:`h-3.5 w-3.5`})}),(0,N.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,N.jsx)(`div`,{className:`text-xs font-medium`,children:`New Agent`}),(0,N.jsx)(`div`,{className:`truncate text-[10px] text-muted-foreground`,children:`Spawn a fresh chat agent`})]})]}),(0,N.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:C.length===0?(0,N.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-10 text-center px-4`,children:[(0,N.jsx)(ce,{className:`w-8 h-8 text-zinc-600 mb-2`}),(0,N.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No agents match filters`})]}):ee?ee.map(([e,t])=>(0,N.jsxs)(`div`,{children:[(0,N.jsxs)(`div`,{className:`sticky top-0 z-10 flex items-center gap-1.5 border-b border-border/50 bg-background/95 px-3 py-1 text-[10px] font-medium uppercase tracking-wide text-muted-foreground backdrop-blur`,children:[(0,N.jsx)(`span`,{className:`truncate`,children:e}),(0,N.jsx)(`span`,{className:`text-muted-foreground/50`,children:t.length})]}),(0,N.jsx)(`ul`,{children:t.map(re)})]},e)):(0,N.jsx)(`ul`,{children:C.map(re)})})]})}var Lt=[{name:`/reply`,source:`skill`,description:`Reply to a relay message by id`,argumentHint:`<messageId> <body>`},{name:`/message`,source:`skill`,description:`Send a relay message to an agent, label, tag, or broadcast`,argumentHint:`<target> <body>`},{name:`/pair`,source:`skill`,description:`Start or manage a two-agent pair session`},{name:`/react`,source:`skill`,description:`Add a reaction to a relay message`,argumentHint:`<messageId> <emoji>`},{name:`/read-message`,source:`skill`,description:`Fetch a full relay message by id`,argumentHint:`<messageId>`},{name:`/send-claimable`,source:`skill`,description:`Enqueue a claimable work item for one agent to claim`},{name:`/status`,source:`skill`,description:`Show this agent's relay status`},{name:`/tags`,source:`skill`,description:`List or update this agent's relay tags`},{name:`/label`,source:`skill`,description:`Read, set, or clear this agent's relay label`},{name:`/disconnect`,source:`skill`,description:`End the current relay pair session`}],Rt=[{name:`/clear`,source:`builtin`,description:`Clear conversation history and free up context`},{name:`/compact`,source:`builtin`,description:`Compact the conversation to reclaim context`,argumentHint:`[instructions]`},{name:`/model`,source:`builtin`,description:`Switch the active model`,argumentHint:`[model]`},{name:`/help`,source:`builtin`,description:`Show help`}],zt=[{name:`/compact`,source:`builtin`,description:`Compact the conversation to reclaim context`},{name:`/new`,source:`builtin`,description:`Start a new thread`}];function Bt(e){return[...e===`claude`?Rt:e===`codex`?zt:[],...Lt]}function Vt({selectedInboxThread:e,agent:t,now:n,blockedState:r,thread:a,exportableThread:s,importedHistory:u,showBackButton:d,onBack:f,openAgentDetail:m,openWorkspaceFocus:g,voiceTtsEnabled:v,setVoiceTtsEnabled:y,canOpenTerminal:x,terminalOpening:S,handleOpenTerminal:C,canInterrupt:w,interruptAgent:T,canCompact:E,canClearContext:D,canShutdown:te,openConfirm:ie,workspaceAction:ae,doAgentAction:O,openFilesForAgent:oe,forkFromAgent:se,markInboxThreadUnread:ce,markInboxThreadRead:le,exportThread:ue}){return(0,N.jsxs)(`div`,{className:`flex items-center justify-between px-3 md:px-4 py-2.5 md:py-3 border-b border-border shrink-0`,children:[(0,N.jsxs)(`div`,{className:`flex items-center gap-2 md:gap-2.5 min-w-0`,children:[d&&(0,N.jsx)(j,{variant:`ghost`,size:`icon-sm`,onClick:f,className:`shrink-0 -ml-1`,children:(0,N.jsx)(ve,{className:`w-4 h-4`})}),(0,N.jsxs)(`button`,{type:`button`,className:`flex items-center gap-2 md:gap-2.5 min-w-0 hover:opacity-80 transition-opacity`,onClick:()=>t&&m(t),disabled:!t,children:[(0,N.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,N.jsx)(it,{agent:t}),(0,N.jsx)(tt,{agent:t,now:n,className:`absolute -bottom-0.5 -right-0.5 w-2 h-2`})]}),(0,N.jsxs)(`div`,{className:`min-w-0 text-left`,children:[(0,N.jsx)(`p`,{className:`text-sm font-medium truncate`,children:t?ze(t):e}),t&&(0,N.jsxs)(`p`,{className:`text-xs text-muted-foreground truncate`,children:[r?`blocked: ${r.label}`:t.status,t.machine&&` · ${t.machine}`,typeof t.meta?.cwd==`string`&&t.meta.cwd&&` · ${Oe(t.meta.cwd,1)}`]})]})]}),t&&(0,N.jsx)(rt,{agent:t,compact:!0,className:`hidden @4xl/chat:flex shrink-0`}),t?.context&&(0,N.jsx)(dt,{utilization:t.context.utilization}),t?.branchState&&t.branchWorkspaceId&&(0,N.jsx)(yt,{state:t.branchState,className:`shrink-0`,onClick:()=>void g(t.branchWorkspaceId)}),a?.attention.unread?(0,N.jsxs)(qe,{className:`bg-red-500/20 text-red-400 text-xs shrink-0 hidden @2xl/chat:flex`,children:[a.attention.unread,` unread`]}):null]}),(0,N.jsx)(`div`,{className:`flex items-center gap-0.5 md:gap-1 shrink-0`,children:t&&(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(Ye,{value:t.id,label:`Copy agent ID`,size:`icon-sm`}),Se.available&&(0,N.jsx)(j,{variant:`ghost`,size:`icon-sm`,title:v?`Speaking agent responses aloud — click to mute (engine & voice in Settings)`:`Speak agent responses aloud (active chat) — engine & voice in Settings`,className:v?`text-primary`:``,onClick:()=>y(!v),children:v?(0,N.jsx)(ee,{className:`w-3.5 h-3.5`}):(0,N.jsx)(pe,{className:`w-3.5 h-3.5`})}),x&&(0,N.jsx)(j,{variant:`ghost`,size:`icon-sm`,className:`hidden @4xl/chat:inline-flex`,disabled:S,title:`Terminal`,onClick:()=>void C(),children:(0,N.jsx)(re,{className:`w-3.5 h-3.5`})}),w&&(0,N.jsx)(j,{variant:`ghost`,size:`icon-sm`,className:`text-red-400 hover:text-red-300`,title:`Interrupt`,onClick:T,children:(0,N.jsx)(h,{className:`w-3.5 h-3.5`})}),(t.branchState===`changes`||t.branchState===`idle`)&&t.branchWorkspaceId&&(0,N.jsx)(j,{variant:`ghost`,size:`icon-sm`,className:`hidden @4xl/chat:inline-flex text-amber-400 hover:text-amber-300`,title:`Mark workspace ready — hand off to the auto-merge`,onClick:()=>ie(`Mark Workspace Ready`,`Mark ${ze(t)}'s branch ready to land? The relay auto-merge will rebase and land it.`,()=>ae(t.branchWorkspaceId,`ready`)),children:(0,N.jsx)(i,{className:`w-3.5 h-3.5`})}),E&&(0,N.jsx)(j,{variant:`ghost`,size:`icon-sm`,className:`hidden @4xl/chat:inline-flex`,title:`Compact`,onClick:()=>ie(`Compact Agent`,`Compact context for ${ze(t)}?`,()=>O(t,`compact`)),children:(0,N.jsx)(l,{className:`w-3.5 h-3.5`})}),D&&(0,N.jsx)(j,{variant:`ghost`,size:`icon-sm`,className:`hidden @4xl/chat:inline-flex`,title:`Clear context`,onClick:()=>ie(`Clear Context`,`Clear context for ${ze(t)}?`,()=>O(t,`clearContext`)),children:(0,N.jsx)(c,{className:`w-3.5 h-3.5`})}),te&&(0,N.jsx)(j,{variant:`ghost`,size:`icon-sm`,className:`hidden @4xl/chat:inline-flex`,title:`Shutdown`,onClick:()=>ie(`Shutdown Agent`,`Shutdown ${ze(t)}?`,()=>O(t,`shutdown`)),children:(0,N.jsx)(b,{className:`w-3.5 h-3.5`})}),t&&typeof t.meta?.cwd==`string`&&t.meta.cwd&&(0,N.jsx)(j,{variant:`ghost`,size:`icon-sm`,className:`hidden @4xl/chat:inline-flex`,title:`Open ${t.meta.cwd} in Files`,onClick:()=>void oe(t),children:(0,N.jsx)(o,{className:`w-3.5 h-3.5`})}),t&&a&&a.messages.length>0&&(0,N.jsx)(j,{variant:`ghost`,size:`icon-sm`,className:`hidden @4xl/chat:inline-flex`,title:`Fork — spawn new agent with this chat history`,onClick:()=>se(t.id,a.messages),children:(0,N.jsx)(be,{className:`w-3.5 h-3.5`})}),a&&(0,N.jsx)(j,{variant:`ghost`,size:`icon-sm`,className:`hidden @4xl/chat:inline-flex`,title:`Mark unread`,onClick:()=>ce(e),children:(0,N.jsx)(ne,{className:`w-3.5 h-3.5`})}),a&&(0,N.jsx)(j,{variant:`ghost`,size:`icon-sm`,className:`hidden @4xl/chat:inline-flex`,title:`Mark read`,onClick:()=>le(a.peer,a.messages),children:(0,N.jsx)(he,{className:`w-3.5 h-3.5`})}),s&&(0,N.jsx)(j,{variant:`ghost`,size:`icon-sm`,className:`hidden @4xl/chat:inline-flex`,title:`Export thread`,onClick:()=>ue({...s,importedHistory:u},`json`),children:(0,N.jsx)(_,{className:`w-3.5 h-3.5`})}),(0,N.jsxs)($e,{children:[(0,N.jsx)(Ze,{asChild:!0,children:(0,N.jsx)(j,{variant:`ghost`,size:`icon-sm`,className:`@4xl/chat:hidden`,children:(0,N.jsx)(p,{className:`w-3.5 h-3.5`})})}),(0,N.jsxs)(Xe,{align:`end`,children:[x&&(0,N.jsxs)(ht,{disabled:S,onClick:()=>void C(),children:[(0,N.jsx)(re,{className:`w-3.5 h-3.5`}),`Terminal`]}),w&&(0,N.jsxs)(ht,{onClick:T,children:[(0,N.jsx)(h,{className:`w-3.5 h-3.5`}),`Interrupt`]}),(t.branchState===`changes`||t.branchState===`idle`)&&t.branchWorkspaceId&&(0,N.jsxs)(ht,{onClick:()=>ie(`Mark Workspace Ready`,`Mark ${ze(t)}'s branch ready to land? The relay auto-merge will rebase and land it.`,()=>ae(t.branchWorkspaceId,`ready`)),children:[(0,N.jsx)(i,{className:`w-3.5 h-3.5`}),`Mark Ready`]}),E&&(0,N.jsxs)(ht,{onClick:()=>ie(`Compact Agent`,`Compact context for ${ze(t)}?`,()=>O(t,`compact`)),children:[(0,N.jsx)(l,{className:`w-3.5 h-3.5`}),`Compact`]}),D&&(0,N.jsxs)(ht,{onClick:()=>ie(`Clear Context`,`Clear context for ${ze(t)}?`,()=>O(t,`clearContext`)),children:[(0,N.jsx)(c,{className:`w-3.5 h-3.5`}),`Clear Context`]}),te&&(0,N.jsxs)(ht,{onClick:()=>ie(`Shutdown Agent`,`Shutdown ${ze(t)}?`,()=>O(t,`shutdown`)),children:[(0,N.jsx)(b,{className:`w-3.5 h-3.5`}),`Shutdown`]}),t&&typeof t.meta?.cwd==`string`&&t.meta.cwd&&(0,N.jsxs)(ht,{onClick:()=>void oe(t),children:[(0,N.jsx)(o,{className:`w-3.5 h-3.5`}),`Open Files`]}),t&&a&&a.messages.length>0&&(0,N.jsxs)(ht,{onClick:()=>se(t.id,a.messages),children:[(0,N.jsx)(be,{className:`w-3.5 h-3.5`}),`Fork`]}),(x||E||D||te)&&(0,N.jsx)(et,{}),a&&(0,N.jsxs)(ht,{onClick:()=>ce(e),children:[(0,N.jsx)(ne,{className:`w-3.5 h-3.5`}),`Mark Unread`]}),a&&(0,N.jsxs)(ht,{onClick:()=>le(a.peer,a.messages),children:[(0,N.jsx)(he,{className:`w-3.5 h-3.5`}),`Mark Read`]}),s&&(0,N.jsxs)(ht,{onClick:()=>ue({...s,importedHistory:u},`json`),children:[(0,N.jsx)(_,{className:`w-3.5 h-3.5`}),`Download`]})]})]})]})})]})}function Ht({matches:e,activeIndex:t,onAccept:n,onHover:r}){return e.length===0?null:(0,N.jsx)(`div`,{className:`absolute bottom-full left-3 right-3 md:left-4 md:right-4 mb-2 z-20 max-h-64 overflow-auto rounded-xl border border-border bg-popover shadow-lg`,children:e.map((e,i)=>(0,N.jsxs)(`button`,{onMouseDown:t=>{t.preventDefault(),n(e)},onMouseEnter:()=>r(i),className:y(`flex w-full items-baseline gap-2 px-3 py-1.5 text-left text-sm`,i===t?`bg-accent`:`hover:bg-accent/50`),children:[(0,N.jsx)(`span`,{className:`font-medium shrink-0`,children:e.name}),e.argumentHint&&(0,N.jsx)(`span`,{className:`text-xs text-muted-foreground shrink-0`,children:e.argumentHint}),e.description&&(0,N.jsx)(`span`,{className:`ml-auto truncate text-xs text-muted-foreground/70`,children:e.description})]},e.name))})}function Ut({value:e,onChange:t,onKeyDown:n,onPaste:r,placeholder:i,className:a}){let o=(0,M.useRef)(null);return(0,M.useEffect)(()=>{let e=o.current;e&&(e.style.height=`auto`,e.style.height=Math.min(e.scrollHeight,200)+`px`)},[e]),(0,M.useEffect)(()=>{let e=window.visualViewport;if(!e)return;function t(){let e=o.current;!e||document.activeElement!==e||requestAnimationFrame(()=>{e.scrollIntoView({block:`nearest`,behavior:`smooth`})})}return e.addEventListener(`resize`,t),()=>e.removeEventListener(`resize`,t)},[]),(0,N.jsx)(`textarea`,{ref:o,value:e,onChange:t,onKeyDown:n,onPaste:r,placeholder:i,rows:1,className:y(`w-full resize-none rounded-xl border border-border bg-background px-3.5 py-2.5 text-sm`,`placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,`min-h-[42px] max-h-[200px] overflow-y-auto`,a)})}function Wt({item:e,onRemove:n}){let[r,i]=(0,M.useState)(!1),a=!!(e.previewUrl&&!e.error);return(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 rounded-md border border-border bg-card px-2.5 py-2 text-xs`,children:[(0,N.jsx)(`button`,{type:`button`,disabled:!a,onClick:()=>i(!0),className:`group/pending relative flex h-9 w-9 shrink-0 items-center justify-center overflow-hidden rounded bg-muted disabled:cursor-default`,title:a?`Preview image`:e.fileName,children:e.previewUrl?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`img`,{src:e.previewUrl,alt:e.fileName,className:`h-full w-full object-cover`}),(0,N.jsx)(`span`,{className:`absolute inset-0 flex items-center justify-center bg-black/0 group-hover/pending:bg-black/30 transition-colors`,children:(0,N.jsx)(de,{className:`h-3.5 w-3.5 text-white opacity-0 group-hover/pending:opacity-100 transition-opacity drop-shadow-md`})})]}):e.error?(0,N.jsx)(t,{className:`h-4 w-4 text-red-400`}):e.uploading?(0,N.jsx)(O,{className:`h-4 w-4 animate-spin text-muted-foreground`}):(0,N.jsx)(se,{className:`h-4 w-4 text-muted-foreground`})}),(0,N.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,N.jsx)(`p`,{className:`truncate font-medium`,children:e.fileName}),(0,N.jsx)(`p`,{className:y(`truncate text-muted-foreground`,e.error&&`text-red-400`),children:e.error||(e.uploading?`Uploading`:bt(e.size))})]}),(0,N.jsx)(j,{variant:`ghost`,size:`icon-sm`,title:`Remove attachment`,onClick:n,children:(0,N.jsx)(ie,{className:`h-3.5 w-3.5`})})]}),e.previewUrl&&(0,N.jsx)(ot,{open:r,onOpenChange:i,children:(0,N.jsxs)(nt,{className:`max-w-[95vw] max-h-[95vh] w-auto p-0 bg-black/95 border-zinc-800 gap-0 overflow-hidden`,showCloseButton:!1,children:[(0,N.jsx)(ut,{className:`sr-only`,children:e.fileName}),(0,N.jsxs)(`div`,{className:`relative flex items-center justify-center min-h-[200px]`,children:[(0,N.jsx)(`img`,{src:e.previewUrl,alt:e.fileName,className:`max-w-[93vw] max-h-[90vh] object-contain`}),(0,N.jsx)(`button`,{type:`button`,onClick:()=>i(!1),className:`absolute top-2 right-2 rounded-md bg-black/60 hover:bg-black/80 p-2 text-white transition-colors`,title:`Close`,children:(0,N.jsx)(ie,{className:`w-4 h-4`})})]})]})})]})}function Gt({draft:e,placeholder:t,chatSending:n,disabled:r,hasPendingUploads:i,readyAttachmentCount:o,pendingAttachments:s,micAvailable:c,micState:l,slashMatches:d,slashActiveIndex:f,onDraftChange:p,onKeyDown:m,onPaste:h,onUploadFiles:_,onRemovePendingAttachment:v,onSend:b,onAcceptSlash:x,onSlashHover:S,onStartPtt:C,onStopPtt:w,footerText:T}){let E=(0,M.useRef)(null),[ee,D]=(0,M.useState)(!1),te=!e.trim()&&o===0||i||n||r;return(0,N.jsxs)(`div`,{className:y(`relative shrink-0 border-t border-border px-3 md:px-4 py-2.5 md:py-3 safe-area-bottom`,ee&&`bg-primary/5 ring-1 ring-primary/40`),onDragOver:e=>{e.preventDefault(),D(!0)},onDragLeave:()=>D(!1),onDrop:e=>{e.preventDefault(),D(!1),_(e.dataTransfer.files)},children:[s.length>0&&(0,N.jsx)(`div`,{className:`mb-2 grid gap-2 sm:grid-cols-2`,children:s.map(e=>(0,N.jsx)(Wt,{item:e,onRemove:()=>v(e.id)},e.id))}),(0,N.jsx)(`input`,{ref:E,type:`file`,multiple:!0,className:`hidden`,onChange:e=>{e.target.files&&_(e.target.files),e.currentTarget.value=``}}),(0,N.jsx)(Ht,{matches:d,activeIndex:f,onAccept:x,onHover:S}),(0,N.jsxs)(`div`,{className:`hidden md:flex items-end gap-2`,children:[(0,N.jsx)(j,{variant:`ghost`,size:`icon`,title:`Attach files`,disabled:n,onClick:()=>E.current?.click(),className:`shrink-0 mb-0.5 rounded-xl h-[42px] w-[42px]`,children:(0,N.jsx)(u,{className:`w-4 h-4`})}),(0,N.jsx)(Ut,{value:e,onChange:e=>p(e.target.value),onKeyDown:m,onPaste:h,placeholder:t,className:`flex-1`}),c&&(0,N.jsx)(j,{variant:`ghost`,size:`icon`,title:l===`recording`?`Release to transcribe`:`Hold to talk`,disabled:n||l===`transcribing`,onPointerDown:e=>{e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId),C()},onPointerUp:e=>{e.preventDefault();try{e.currentTarget.releasePointerCapture(e.pointerId)}catch{}w()},className:`shrink-0 mb-0.5 rounded-xl h-[42px] w-[42px] ${l===`recording`?`text-red-400 animate-pulse`:``}`,children:l===`transcribing`?(0,N.jsx)(O,{className:`w-4 h-4 animate-spin`}):(0,N.jsx)(g,{className:`w-4 h-4`})}),(0,N.jsx)(j,{size:`icon`,disabled:te,onClick:b,className:`shrink-0 mb-0.5 rounded-xl h-[42px] w-[42px]`,children:(0,N.jsx)(a,{className:`w-4 h-4`})})]}),(0,N.jsxs)(`div`,{className:`md:hidden space-y-2`,children:[(0,N.jsx)(Ut,{value:e,onChange:e=>p(e.target.value),onKeyDown:m,onPaste:h,placeholder:t,className:`w-full`}),(0,N.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,N.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,N.jsx)(j,{variant:`ghost`,size:`icon`,title:`Attach files`,disabled:n,onClick:()=>E.current?.click(),className:`rounded-xl h-9 w-9`,children:(0,N.jsx)(u,{className:`w-4 h-4`})}),c&&(0,N.jsx)(j,{variant:`ghost`,size:`icon`,title:l===`recording`?`Release to transcribe`:`Hold to talk`,disabled:n||l===`transcribing`,onPointerDown:e=>{e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId),C()},onPointerUp:e=>{e.preventDefault();try{e.currentTarget.releasePointerCapture(e.pointerId)}catch{}w()},className:`rounded-xl h-9 w-9 ${l===`recording`?`text-red-400 animate-pulse`:``}`,children:l===`transcribing`?(0,N.jsx)(O,{className:`w-4 h-4 animate-spin`}):(0,N.jsx)(g,{className:`w-4 h-4`})})]}),(0,N.jsx)(j,{size:`icon`,disabled:te,onClick:b,className:`rounded-xl h-9 w-9`,children:(0,N.jsx)(a,{className:`w-4 h-4`})})]})]}),T&&(0,N.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1.5 hidden md:block`,children:T})]})}var Kt=e(xe(),1);function qt({preview:e,error:t,onReadError:n,onMouseEnter:r,onMouseLeave:i}){let{anchor:a}=e,o=Math.min(560,window.innerWidth-24),s=Math.min(380,window.innerHeight-24),c=Math.max(12,Math.min(a.left,window.innerWidth-o-12));return(0,Kt.createPortal)((0,N.jsxs)(`div`,{className:`fixed z-50 flex flex-col overflow-hidden rounded-lg border border-border bg-background shadow-xl`,style:{top:window.innerHeight-a.bottom>=s+8?a.bottom+8:a.top-8-s>=12?a.top-8-s:Math.max(12,window.innerHeight-s-12),left:c,width:o,height:s},onMouseEnter:r,onMouseLeave:i,children:[(0,N.jsxs)(`div`,{className:`flex h-8 shrink-0 items-center gap-2 border-b border-border px-2.5`,children:[(0,N.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[11px] font-medium text-muted-foreground`,children:e.path}),t&&(0,N.jsx)(`span`,{className:`max-w-[12rem] truncate text-[11px] text-red-400`,children:t}),(0,N.jsx)(`span`,{className:`shrink-0 text-[10px] text-muted-foreground/70`,children:`click to pin`})]}),(0,N.jsx)(`div`,{className:`min-h-0 flex-1`,children:e.type===`directory`?(0,N.jsx)(mt,{orchestratorId:e.orchestratorId,selectedPath:e.path,onReadError:n}):(0,N.jsx)(gt,{orchestratorId:e.orchestratorId,selectedPath:e.path,line:e.line,onReadError:n})})]}),document.body)}var Jt={online:`came online`,offline:`went offline`,shutdown:`shut down`,restarted:`restarted`,"compaction-requested":`compaction requested`,compacting:`compaction started`,compacted:`context compacted`,"compaction-stalled":`compaction stalled — may need manual intervention`,"clear-requested":`clear requested`,"clearing-context":`clear started`,"context-cleared":`context cleared`,"clear-stalled":`context clear stalled — may need manual intervention`,"shutting-down":`shutting down`},Yt=new Set(Object.keys(Jt)),Xt=3e3;function Zt(e){return new Date(e.occurredAt??e.createdAt).getTime()}function Qt(e){if(e.kind!==`session`)return null;let t=e.payload?.session;return!t||t.type!==`narration`&&t.type!==`reasoning`&&t.type!==`tool`?null:{id:e.id,kind:t.type,label:typeof t.label==`string`?t.label:void 0,text:e.body,ts:Zt(e),turnId:typeof t.turnId==`string`?t.turnId:void 0}}function $t(e){let t=new Date(e);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,`0`)}-${String(t.getDate()).padStart(2,`0`)}`}function en(e){let t=e.filter(e=>Yt.has(e.status)).slice().sort((e,t)=>e.timestamp-t.timestamp),n=[];for(let e of t)n.some(t=>t.id===e.id)||n.some(t=>t.status===e.status&&Math.abs(t.timestamp-e.timestamp)<=Xt)||n.push(e);return n}function tn(e,t,n,r=[]){let i=[];for(let e of r){let t=e.entries.reduce((e,t)=>Math.min(e,Fe(t.originalCreatedAt)),1/0),n=Number.isFinite(t)?t-1:e.importedAt;i.push({ts:n,entry:{type:`import-boundary`,history:e,timestamp:n}});for(let t of e.entries)i.push({ts:Fe(t.originalCreatedAt),entry:{type:`imported-message`,history:e,entry:t}})}if(n){let e=new Date(n).getTime();Number.isFinite(e)&&i.push({ts:e,entry:{type:`created`,timestamp:e}})}let a=new Map;for(let t of e){if(t.kind!==`session`)continue;let e=t.payload?.session;if(e?.type===`response`&&typeof e.turnId==`string`){let n=a.get(e.turnId)??[];n.push(t.body.trim()),a.set(e.turnId,n)}}for(let t of e){let e=Qt(t);if(e){if(e.kind===`narration`&&e.turnId&&a.get(e.turnId)?.some(t=>Pe(t,e.text)))continue;i.push({ts:e.ts,entry:{type:`activity`,steps:[e],timestamp:e.ts}});continue}i.push({ts:Zt(t),entry:{type:`message`,msg:t}})}for(let e of en(t))i.push({ts:e.timestamp,entry:{type:`status`,event:e}});let o={created:0,date:1,"import-boundary":2,"imported-message":3,message:4,activity:4,status:5};i.sort((e,t)=>{let n=e.ts-t.ts;return Math.abs(n)<3e3&&o[e.entry.type]-o[t.entry.type]||n});let s=[],c=``;for(let{ts:e,entry:t}of i){if(t.type===`created`){s.push(t);continue}let n=$t(e);if(n!==c&&(s.push({type:`date`,date:n,timestamp:e}),c=n),t.type===`activity`){let e=s[s.length-1];if(e&&e.type===`activity`&&nn(e,t)){e.steps.push(...t.steps);continue}}s.push(t)}return s}function nn(e,t){let n=e.steps[e.steps.length-1]?.turnId,r=t.steps[0]?.turnId;return n&&r?n===r:!n&&!r}var rn=[];function an(e){return k(t=>t.chatStatusEvents[e]??rn)}function on(e,t){let n=(0,M.useRef)(!1);(0,M.useEffect)(()=>{if(!e)return;n.current||=(window.history.pushState({chatGuard:!0},``),!0);function r(e){(e.state?.chatGuard!==void 0||!n.current)&&(window.history.pushState({chatGuard:!0},``),t())}function i(e){e.preventDefault()}return window.addEventListener(`popstate`,r),window.addEventListener(`beforeunload`,i),()=>{window.removeEventListener(`popstate`,r),window.removeEventListener(`beforeunload`,i)}},[e,t]),(0,M.useEffect)(()=>{!e&&n.current&&(n.current=!1)},[e])}var sn=0,cn=1,ln=2,un=4;function dn(e){return()=>e}function fn(e){e()}function pn(e,t){return n=>e(t(n))}function mn(e,t){return()=>e(t)}function hn(e,t){return n=>e(t,n)}function gn(e){return e!==void 0}function _n(...e){return()=>{e.map(fn)}}function vn(){}function yn(e,t){return t(e),e}function bn(e,t){return t(e)}function P(...e){return e}function F(e,t){return e(cn,t)}function I(e,t){e(sn,t)}function xn(e){e(ln)}function L(e){return e(un)}function R(e,t){return F(e,hn(t,sn))}function Sn(e,t){let n=e(cn,e=>{n(),t(e)});return n}function Cn(e){let t,n;return r=>i=>{t=i,n&&clearTimeout(n),n=setTimeout(()=>{r(t)},e)}}function wn(e,t){return e===t}function z(e=wn){let t;return n=>r=>{e(t,r)||(t=r,n(r))}}function B(e){return t=>n=>{e(n)&&t(n)}}function V(e){return t=>pn(t,e)}function Tn(e){return t=>()=>{t(e)}}function H(e,...t){let n=kn(...t);return((t,r)=>{switch(t){case ln:xn(e);return;case cn:return F(e,n(r))}})}function En(e,t){return n=>r=>{n(t=e(t,r))}}function Dn(e){return t=>n=>{e>0?e--:t(n)}}function On(e){let t=null,n;return r=>i=>{t=i,!n&&(n=setTimeout(()=>{n=void 0,r(t)},e))}}function U(...e){let t=Array(e.length),n=0,r=null,i=2**e.length-1;return e.forEach((e,a)=>{let o=2**a;F(e,e=>{let s=n;n|=o,t[a]=e,s!==i&&n===i&&r&&(r(),r=null)})}),e=>a=>{let o=()=>{e([a].concat(t))};n===i?o():r=o}}function kn(...e){return t=>e.reduceRight(bn,t)}function An(e){let t,n,r=()=>t?.();return function(i,a){switch(i){case cn:return a?n===a?void 0:(r(),n=a,t=F(e,a),t):(r(),vn);case ln:r(),n=null;return}}}function W(e){let t=e,n=G();return((e,r)=>{switch(e){case sn:t=r;break;case cn:r(t);break;case un:return t}return n(e,r)})}function jn(e,t){return yn(W(t),t=>R(e,t))}function G(){let e=[];return((t,n)=>{switch(t){case sn:e.slice().forEach(e=>{e(n)});return;case ln:e.splice(0,e.length);return;case cn:return e.push(n),()=>{let t=e.indexOf(n);t>-1&&e.splice(t,1)}}})}function Mn(e){return yn(G(),t=>R(e,t))}function K(e,t=[],{singleton:n}={singleton:!0}){return{constructor:e,dependencies:t,id:Nn(),singleton:n}}var Nn=()=>Symbol();function Pn(e){let t=new Map,n=({constructor:e,dependencies:r,id:i,singleton:a})=>{if(a&&t.has(i))return t.get(i);let o=e(r.map(e=>n(e)));return a&&t.set(i,o),o};return n(e)}function q(...e){let t=G(),n=Array(e.length),r=0,i=2**e.length-1;return e.forEach((e,a)=>{let o=2**a;F(e,e=>{n[a]=e,r|=o,r===i&&I(t,n)})}),function(e,a){switch(e){case ln:xn(t);return;case cn:return r===i&&a(n),F(t,a)}}}function J(e,t=wn){return H(e,z(t))}function Fn(...e){return function(t,n){switch(t){case ln:return;case cn:return _n(...e.map(e=>F(e,n)))}}}var In={DEBUG:0,INFO:1,WARN:2,ERROR:3},Ln={[In.DEBUG]:`debug`,[In.ERROR]:`error`,[In.INFO]:`log`,[In.WARN]:`warn`},Rn=()=>typeof globalThis>`u`?window:globalThis,zn=K(()=>{let e=W(In.ERROR);return{log:W((t,n,r=In.INFO)=>{r>=(Rn().VIRTUOSO_LOG_LEVEL??L(e))&&console[Ln[r]](`%creact-virtuoso: %c%s %o`,`color: #0253b3; font-weight: bold`,`color: initial`,t,n)}),logLevel:e}},[],{singleton:!0}),Bn=new WeakMap;function Vn(e){return`self`in e?e.document.documentElement:e}function Hn(e){let t=Vn(e),n=Bn.get(t);if(n!==void 0)return n;let r=t.ownerDocument.defaultView.getComputedStyle(t).direction===`rtl`;return Bn.set(t,r),r}function Un(e){Bn.delete(Vn(e))}function Wn(e,t){return Hn(e)?-t:t}var Gn=Wn;function Kn(e,t){return Wn(e,t)}function qn(e,t,n){return Jn(e,t,n).callbackRef}function Jn(e,t,n){let r=M.useRef(null),i=e=>{},a=M.useMemo(()=>typeof ResizeObserver<`u`?new ResizeObserver(t=>{let r=()=>{let n=t[0].target;n.offsetParent!==null&&e(n)};n?r():requestAnimationFrame(r)}):null,[e,n]);return i=e=>{e&&t?(a?.observe(e),r.current=e):(r.current&&a?.unobserve(r.current),r.current=null)},{callbackRef:i,ref:r}}function Yn(e,t,n,r,i,a,o,s,c){return Jn(M.useCallback(n=>{let c=Xn(n.children,t,s?`offsetWidth`:`offsetHeight`,i),l=n.parentElement;for(;l.dataset.virtuosoScroller===void 0;)l=l.parentElement;let u=l.lastElementChild.dataset.viewportType===`window`,d;u&&(d=l.ownerDocument.defaultView);let f=o?s?o.scrollWidth:o.scrollHeight:u?s?d.document.documentElement.scrollWidth:d.document.documentElement.scrollHeight:s?l.scrollWidth:l.scrollHeight,p=o?s?o.offsetWidth:o.offsetHeight:u?s?d.innerWidth:d.innerHeight:s?l.offsetWidth:l.offsetHeight,m=o?s?Gn(o,o.scrollLeft):o.scrollTop:u?s?Gn(d,d.scrollX||d.document.documentElement.scrollLeft):d.scrollY||d.document.documentElement.scrollTop:s?Gn(l,l.scrollLeft):l.scrollTop;r({scrollHeight:f,scrollTop:Math.max(m,0),viewportHeight:p}),a?.(s?Zn(`column-gap`,getComputedStyle(n).columnGap,i):Zn(`row-gap`,getComputedStyle(n).rowGap,i)),c!==null&&e(c)},[e,t,i,a,o,r,s]),n,c)}function Xn(e,t,n,r){let i=e.length;if(i===0)return null;let a=[];for(let o=0;o<i;o++){let i=e.item(o);if(i.dataset.index===void 0)continue;let s=parseInt(i.dataset.index),c=parseFloat(i.dataset.knownSize),l=t(i,n);if(l===0&&r(`Zero-sized element, this should not happen`,{child:i},In.ERROR),l===c)continue;let u=a[a.length-1];a.length===0||u.size!==l||u.endIndex!==s-1?a.push({endIndex:s,size:l,startIndex:s}):a[a.length-1].endIndex++}return a}function Zn(e,t,n){return t!==`normal`&&t?.endsWith(`px`)!==!0&&n(`${e} was not resolved to pixel value correctly`,t,In.WARN),t===`normal`?0:parseInt(t??`0`,10)}function Qn(e,t,n){let r=M.useRef(null),i=M.useCallback(n=>{if(!n?.offsetParent)return;let i=n.getBoundingClientRect(),a=i.width,s,c;if(t){let e=t.getBoundingClientRect(),n=i.top-e.top;c=e.height-Math.max(0,n),s=n+t.scrollTop}else{let e=o.current.ownerDocument.defaultView;c=e.innerHeight-Math.max(0,i.top),s=i.top+e.scrollY}r.current={listHeight:i.height,offsetTop:s,visibleHeight:c,visibleWidth:a},e(r.current)},[e,t]),{callbackRef:a,ref:o}=Jn(i,!0,n),s=M.useCallback(()=>{i(o.current)},[i,o]);return M.useEffect(()=>{if(t){t.addEventListener(`scroll`,s);let e=new ResizeObserver(()=>{requestAnimationFrame(s)});return e.observe(t),()=>{t.removeEventListener(`scroll`,s),e.unobserve(t)}}let e=o.current?.ownerDocument.defaultView;return e?.addEventListener(`scroll`,s),e?.addEventListener(`resize`,s),()=>{e?.removeEventListener(`scroll`,s),e?.removeEventListener(`resize`,s)}},[s,t,o]),a}var $n=K(()=>{let e=G(),t=G(),n=W(0),r=G(),i=W(0),a=G(),o=G(),s=W(0),c=W(0),l=W(0),u=W(0),d=G(),f=G(),p=W(!1),m=W(!1),h=W(!1);return R(H(e,V(({scrollTop:e})=>e)),t),R(H(e,V(({scrollHeight:e})=>e)),o),R(t,i),{deviation:n,fixedFooterHeight:l,fixedHeaderHeight:c,footerHeight:u,headerHeight:s,horizontalDirection:m,scrollBy:f,scrollContainerState:e,scrollHeight:o,scrollingInProgress:p,scrollTo:d,scrollTop:t,skipAnimationFrameInResizeObserver:h,smoothScrollTargetReached:r,statefulScrollTop:i,viewportHeight:a}},[],{singleton:!0}),er={lvl:0};function tr(e,t){let n=e.length;if(n===0)return[];let{index:r,value:i}=t(e[0]),a=[];for(let o=1;o<n;o++){let{index:n,value:s}=t(e[o]);a.push({end:n-1,start:r,value:i}),r=n,i=s}return a.push({end:1/0,start:r,value:i}),a}function Y(e){return e===er}function nr(e,t){if(!Y(e))return t===e.k?e.v:t<e.k?nr(e.l,t):nr(e.r,t)}function rr(e,t,n=`k`){if(Y(e))return[-1/0,void 0];if(Number(e[n])===t)return[e.k,e.v];if(Number(e[n])<t){let r=rr(e.r,t,n);return r[0]===-1/0?[e.k,e.v]:r}return rr(e.l,t,n)}function ir(e,t,n){return Y(e)?hr(t,n,1):t===e.k?dr(e,{k:t,v:n}):t<e.k?gr(dr(e,{l:ir(e.l,t,n)})):gr(dr(e,{r:ir(e.r,t,n)}))}function ar(){return er}function or(e,t,n){if(Y(e))return[];let r=rr(e,t)[0];return yr(lr(e,r,n))}function sr(e,t){if(Y(e))return er;let{k:n,l:r,r:i}=e;if(t===n){if(Y(r))return i;if(Y(i))return r;let[t,n]=mr(r);return ur(dr(e,{k:t,l:fr(r),v:n}))}return ur(t<n?dr(e,{l:sr(r,t)}):dr(e,{r:sr(i,t)}))}function cr(e){return Y(e)?[]:[...cr(e.l),{k:e.k,v:e.v},...cr(e.r)]}function lr(e,t,n){if(Y(e))return[];let{k:r,l:i,r:a,v:o}=e,s=[];return r>t&&(s=s.concat(lr(i,t,n))),r>=t&&r<=n&&s.push({k:r,v:o}),r<=n&&(s=s.concat(lr(a,t,n))),s}function ur(e){let{l:t,lvl:n,r}=e;if(r.lvl>=n-1&&t.lvl>=n-1)return e;if(n>r.lvl+1){if(pr(t))return _r(dr(e,{lvl:n-1}));if(!Y(t)&&!Y(t.r))return dr(t.r,{l:dr(t,{r:t.r.l}),lvl:n,r:dr(e,{l:t.r.r,lvl:n-1})});throw Error(`Unexpected empty nodes`)}if(pr(e))return vr(dr(e,{lvl:n-1}));if(!Y(r)&&!Y(r.l)){let t=r.l,i=pr(t)?r.lvl-1:r.lvl;return dr(t,{l:dr(e,{lvl:n-1,r:t.l}),lvl:t.lvl+1,r:vr(dr(r,{l:t.r,lvl:i}))})}throw Error(`Unexpected empty nodes`)}function dr(e,t){return hr(t.k===void 0?e.k:t.k,t.v===void 0?e.v:t.v,t.lvl===void 0?e.lvl:t.lvl,t.l===void 0?e.l:t.l,t.r===void 0?e.r:t.r)}function fr(e){return Y(e.r)?e.l:ur(dr(e,{r:fr(e.r)}))}function pr(e){return Y(e)||e.lvl>e.r.lvl}function mr(e){return Y(e.r)?[e.k,e.v]:mr(e.r)}function hr(e,t,n,r=er,i=er){return{k:e,l:r,lvl:n,r:i,v:t}}function gr(e){return vr(_r(e))}function _r(e){let{l:t}=e;return!Y(t)&&t.lvl===e.lvl?dr(t,{r:dr(e,{l:t.r})}):e}function vr(e){let{lvl:t,r:n}=e;return!Y(n)&&!Y(n.r)&&n.lvl===t&&n.r.lvl===t?dr(n,{l:dr(e,{r:n.l}),lvl:t+1}):e}function yr(e){return tr(e,({k:e,v:t})=>({index:e,value:t}))}function br(e,t){return!!(e&&e.startIndex===t.startIndex&&e.endIndex===t.endIndex)}function xr(e,t){return!!(e&&e[0]===t[0]&&e[1]===t[1])}var Sr=K(()=>({recalcInProgress:W(!1)}),[],{singleton:!0});function Cr(e,t,n){return e[wr(e,t,n)]}function wr(e,t,n,r=0){let i=e.length-1;for(;r<=i;){let a=Math.floor((r+i)/2),o=e[a],s=n(o,t);if(s===0)return a;if(s===-1){if(i-r<2)return a-1;i=a-1}else{if(i===r)return a;r=a+1}}throw Error(`Failed binary finding record in array - ${e.join(`,`)}, searched for ${t}`)}function Tr(e,t,n,r){let i=wr(e,t,r),a=wr(e,n,r,i);return e.slice(i,a+1)}function Er(e,t){return Math.round(e.getBoundingClientRect()[t])}function Dr(e){return!Y(e.groupOffsetTree)}function Or({index:e},t){return t===e?0:t<e?-1:1}function kr(){return{groupIndices:[],groupOffsetTree:ar(),lastIndex:0,lastOffset:0,lastSize:0,offsetTree:[],sizeTree:ar()}}function Ar(e,t){let n=Y(e)?0:1/0;for(let r of t){let{endIndex:t,size:i,startIndex:a}=r;if(n=Math.min(n,a),Y(e)){e=ir(e,0,i);continue}let o=or(e,a-1,t+1);if(o.some(Hr(r)))continue;let s=!1,c=!1;for(let{end:n,start:r,value:a}of o)s?(t>=r||i===a)&&(e=sr(e,r)):(c=a!==i,s=!0),n>t&&t>=r&&a!==i&&(e=ir(e,t+1,a));c&&(e=ir(e,a,i))}return[e,n]}function jr(e){return typeof e.groupIndex<`u`}function Mr({offset:e},t){return t===e?0:t<e?-1:1}function Nr(e,t,n){if(t.length===0)return 0;let{index:r,offset:i,size:a}=Cr(t,e,Or),o=e-r,s=a*o+(o-1)*n+i;return s>0?s+n:s}function Pr(e,t){if(!Dr(t))return e;let n=0;for(;t.groupIndices[n]<=e+n;)n++;return e+n}function Fr(e,t,n){if(jr(e))return t.groupIndices[e.groupIndex]+1;let r=Pr(e.index===`LAST`?n:e.index,t);return r=Math.max(0,r,Math.min(n,r)),r}function Ir(e,t,n,r=0){return r>0&&(t=Math.max(t,Cr(e,r,Or).offset)),tr(Tr(e,t,n,Mr),Vr)}function Lr(e,[t,n,r,i]){t.length>0&&r(`received item sizes`,t,In.DEBUG);let a=e.sizeTree,o=a,s=0;if(n.length>0&&Y(a)&&t.length===2){let e=t[0].size,r=t[1].size;o=n.reduce((t,n)=>ir(ir(t,n,e),n+1,r),o)}else [o,s]=Ar(o,t);if(o===a)return e;let{lastIndex:c,lastOffset:l,lastSize:u,offsetTree:d}=Br(e.offsetTree,s,o,i);return{groupIndices:n,groupOffsetTree:n.reduce((e,t)=>ir(e,t,Nr(t,d,i)),ar()),lastIndex:c,lastOffset:l,lastSize:u,offsetTree:d,sizeTree:o}}function Rr(e){return cr(e).map(({k:e,v:t},n,r)=>{let i=r[n+1];return{endIndex:i===void 0?1/0:i.k-1,size:t,startIndex:e}})}function zr(e,t){let n=0,r=0;for(;n<e;)n+=t[r+1]-t[r]-1,r++;return r-(n===e?0:1)}function Br(e,t,n,r){let i=e,a=0,o=0,s=0,c=0;if(t!==0){c=wr(i,t-1,Or),s=i[c].offset;let e=rr(n,t-1);a=e[0],o=e[1],i.length&&i[c].size===rr(n,t)[1]&&--c,i=i.slice(0,c+1)}else i=[];for(let{start:e,value:c}of or(n,t,1/0)){let t=e-a,n=t*o+s+t*r;i.push({index:e,offset:n,size:c}),a=e,s=n,o=c}return{lastIndex:a,lastOffset:s,lastSize:o,offsetTree:i}}function Vr(e){return{index:e.index,value:e}}function Hr(e){let{endIndex:t,size:n,startIndex:r}=e;return e=>e.start===r&&(e.end===t||e.end===1/0)&&e.value===n}var Ur={offsetHeight:`height`,offsetWidth:`width`},Wr=K(([{log:e},{recalcInProgress:t}])=>{let n=G(),r=G(),i=jn(r,0),a=G(),o=G(),s=W(0),c=W([]),l=W(void 0),u=W(void 0),d=W(void 0),f=W(void 0),p=W((e,t)=>Er(e,Ur[t])),m=W(void 0),h=W(0),g=kr(),_=jn(H(n,U(c,e,h),En(Lr,g),z()),g),v=jn(H(c,z(),En((e,t)=>({current:t,prev:e.current}),{current:[],prev:[]}),V(({prev:e})=>e)),[]);R(H(c,B(e=>e.length>0),U(_,h),V(([e,t,n])=>{let r=e.reduce((e,r,i)=>ir(e,r,Nr(r,t.offsetTree,n)||i),ar());return{...t,groupIndices:e,groupOffsetTree:r}})),_),R(H(r,U(_),B(([e,{lastIndex:t}])=>e<t),V(([e,{lastIndex:t,lastSize:n}])=>[{endIndex:t,size:n,startIndex:e}])),n),R(l,u);let y=jn(H(l,V(e=>e===void 0)),!0);R(H(u,B(e=>e!==void 0&&Y(L(_).sizeTree)),V(e=>{let t=L(d),n=L(c).length>0;return t!==void 0&&t!==0?n?[{endIndex:0,size:t,startIndex:0},{endIndex:1,size:e,startIndex:1}]:[]:[{endIndex:0,size:e,startIndex:0}]})),n),R(H(f,B(e=>e!==void 0&&e.length>0&&Y(L(_).sizeTree)),V(e=>{let t=[],n=e[0],r=0;for(let i=1;i<e.length;i++){let a=e[i];a!==n&&(t.push({endIndex:i-1,size:n,startIndex:r}),n=a,r=i)}return t.push({endIndex:e.length-1,size:n,startIndex:r}),t})),n),R(H(c,U(d,u),B(([,e,t])=>e!==void 0&&t!==void 0),V(([e,t,n])=>{let r=[];for(let i=0;i<e.length;i++){let a=e[i],o=e[i+1];r.push({startIndex:a,endIndex:a,size:t}),o!==void 0&&r.push({startIndex:a+1,endIndex:o-1,size:n})}return r})),n);let b=Mn(H(n,U(_),En(({sizes:e},[t,n])=>({changed:n!==e,sizes:n}),{changed:!1,sizes:g}),V(e=>e.changed)));F(H(s,En((e,t)=>({diff:e.prev-t,prev:t}),{diff:0,prev:0}),V(e=>e.diff)),e=>{let{groupIndices:n}=L(_);if(e>0)I(t,!0),I(a,e+zr(e,n));else if(e<0){let t=L(v);t.length>0&&(e-=zr(-e,t)),I(o,e)}}),F(H(s,U(e)),([e,t])=>{e<0&&t("`firstItemIndex` prop should not be set to less than zero. If you don't know the total count, just use a very high value",{firstItemIndex:s},In.ERROR)});let x=Mn(a);R(H(a,U(_),V(([e,t])=>{let n=t.groupIndices.length>0,r=[],i=t.lastSize;if(n){let n=nr(t.sizeTree,0),a=0,o=0;for(;a<e;){let e=t.groupIndices[o],s=t.groupIndices.length===o+1?1/0:t.groupIndices[o+1]-e-1;r.push({endIndex:e,size:n,startIndex:e}),r.push({endIndex:e+1+s-1,size:i,startIndex:e+1}),o++,a+=s+1}let s=cr(t.sizeTree);return a!==e&&s.shift(),s.reduce((t,{k:n,v:r})=>{let i=t.ranges;return t.prevSize!==0&&(i=[...t.ranges,{endIndex:n+e-1,size:t.prevSize,startIndex:t.prevIndex}]),{prevIndex:n+e,prevSize:r,ranges:i}},{prevIndex:e,prevSize:0,ranges:r}).ranges}return cr(t.sizeTree).reduce((t,{k:n,v:r})=>({prevIndex:n+e,prevSize:r,ranges:[...t.ranges,{endIndex:n+e-1,size:t.prevSize,startIndex:t.prevIndex}]}),{prevIndex:0,prevSize:i,ranges:[]}).ranges})),n);let S=Mn(H(o,U(_,h),V(([e,{offsetTree:t},n])=>Nr(-e,t,n))));return R(H(o,U(_,h),V(([e,t,n])=>{if(t.groupIndices.length>0){if(Y(t.sizeTree))return t;let r=ar(),i=L(v),a=0,o=0,s=0;for(;a<-e;){s=i[o];let e=i[o+1]-s-1;o++,a+=e+1}if(r=cr(t.sizeTree).reduce((t,{k:n,v:r})=>ir(t,Math.max(0,n+e),r),r),a!==-e){let n=nr(t.sizeTree,s);r=ir(r,0,n);let i=rr(t.sizeTree,-e+1)[1];r=ir(r,1,i)}return{...t,sizeTree:r,...Br(t.offsetTree,0,r,n)}}let r=cr(t.sizeTree).reduce((t,{k:n,v:r})=>ir(t,Math.max(0,n+e),r),ar());return{...t,sizeTree:r,...Br(t.offsetTree,0,r,n)}})),_),{beforeUnshiftWith:x,data:m,defaultItemSize:u,firstItemIndex:s,fixedItemSize:l,fixedGroupSize:d,gap:h,groupIndices:c,heightEstimates:f,itemSize:p,listRefresh:b,shiftWith:o,shiftWithOffset:S,sizeRanges:n,sizes:_,statefulTotalCount:i,totalCount:r,trackItemSizes:y,unshiftWith:a}},P(zn,Sr),{singleton:!0});function Gr(e){return e.reduce((e,t)=>(e.groupIndices.push(e.totalCount),e.totalCount+=t+1,e),{groupIndices:[],totalCount:0})}var Kr=K(([{groupIndices:e,sizes:t,totalCount:n},{headerHeight:r,scrollTop:i}])=>{let a=G(),o=G(),s=Mn(H(a,V(Gr)));return R(H(s,V(e=>e.totalCount)),n),R(H(s,V(e=>e.groupIndices)),e),R(H(q(i,t,r),B(([e,t])=>Dr(t)),V(([e,t,n])=>rr(t.groupOffsetTree,Math.max(e-n,0),`v`)[0]),z(),V(e=>[e])),o),{groupCounts:a,topItemsIndexes:o}},P(Wr,$n)),qr=K(([{log:e}])=>{let t=W(!1),n=Mn(H(t,B(e=>e),z()));return F(t,t=>{t&&L(e)(`props updated`,{},In.DEBUG)}),{didMount:n,propsReady:t}},P(zn),{singleton:!0}),Jr=typeof document<`u`&&`scrollBehavior`in document.documentElement.style;function Yr(e){let t=typeof e==`number`?{index:e}:e;return t.align||=`start`,(!t.behavior||!Jr)&&(t.behavior=`auto`),t.offset===void 0&&(t.offset=0),t}var Xr=K(([{gap:e,listRefresh:t,sizes:n,totalCount:r},{fixedFooterHeight:i,fixedHeaderHeight:a,footerHeight:o,headerHeight:s,scrollingInProgress:c,scrollTo:l,smoothScrollTargetReached:u,viewportHeight:d},{log:f}])=>{let p=G(),m=G(),h=W(0),g=null,_=null,v=null;function y(){g!==null&&(g(),g=null),v!==null&&(v(),v=null),_&&=(clearTimeout(_),null),I(c,!1)}return R(H(p,U(n,d,r,h,s,o,f),U(e,a,i),V(([[e,n,r,i,a,o,s,l],d,f,h])=>{let b=Yr(e),{align:x,behavior:S,offset:C}=b,w=i-1,T=Fr(b,n,w),E=Nr(T,n.offsetTree,d)+o;x===`end`?(E+=f+rr(n.sizeTree,T)[1]-r+h,T===w&&(E+=s)):x===`center`?E+=(f+rr(n.sizeTree,T)[1]-r+h)/2:E-=a,C!==void 0&&C!==0&&(E+=C);let ee=t=>{y(),t?(l(`retrying to scroll to`,{location:e},In.DEBUG),I(p,e)):(I(m,!0),l(`list did not change, scroll successful`,{},In.DEBUG))};if(y(),S===`smooth`){let e=!1;v=F(t,t=>{e||=t}),g=Sn(u,()=>{ee(e)})}else g=Sn(H(t,Zr(150)),ee);return _=setTimeout(()=>{y()},1200),I(c,!0),l(`scrolling from index to`,{behavior:S,index:T,top:E},In.DEBUG),{behavior:S,top:E}})),l),{scrollTargetReached:m,scrollToIndex:p,topListHeight:h}},P(Wr,$n,zn),{singleton:!0});function Zr(e){return t=>{let n=setTimeout(()=>{t(!1)},e);return e=>{e&&(t(!0),clearTimeout(n))}}}function Qr(e,t){e===0?t():requestAnimationFrame(()=>{Qr(e-1,t)})}function $r(e,t){let n=t-1;return typeof e==`number`?e:e.index===`LAST`?n:e.index}var ei=K(([{defaultItemSize:e,listRefresh:t,sizes:n},{scrollTop:r},{scrollTargetReached:i,scrollToIndex:a},{didMount:o}])=>{let s=W(!0),c=W(0),l=W(!0);return R(H(o,U(c),B(([e,t])=>t!==0),Tn(!1)),s),R(H(o,U(c),B(([e,t])=>t!==0),Tn(!1)),l),F(H(q(t,o),U(s,n,e,l),B(([[,e],t,{sizeTree:n},r,i])=>e&&(!Y(n)||gn(r))&&!t&&!i),U(c)),([,e])=>{Sn(i,()=>{I(l,!0)}),Qr(4,()=>{Sn(r,()=>{I(s,!0)}),I(a,e)})}),{initialItemFinalLocationReached:l,initialTopMostItemIndex:c,scrolledToInitialItem:s}},P(Wr,$n,Xr,qr),{singleton:!0});function ti(e,t){return Math.abs(e-t)<1.01}var ni=`up`,ri=`down`,ii=`none`,ai={atBottom:!1,notAtBottomBecause:`NOT_SHOWING_LAST_ITEM`,state:{offsetBottom:0,scrollHeight:0,scrollTop:0,viewportHeight:0}},oi=0,si=K(([{footerHeight:e,headerHeight:t,scrollBy:n,scrollContainerState:r,scrollTop:i,viewportHeight:a}])=>{let o=W(!1),s=W(!0),c=G(),l=G(),u=W(4),d=W(oi),f=jn(H(Fn(H(J(i),Dn(1),Tn(!0)),H(J(i),Dn(1),Tn(!1),Cn(100))),z()),!1),p=jn(H(Fn(H(n,Tn(!0)),H(n,Tn(!1),Cn(200))),z()),!1);R(H(q(J(i),J(d)),V(([e,t])=>e<=t),z()),s),R(H(s,On(50)),l);let m=Mn(H(q(r,J(a),J(t),J(e),J(u)),En((e,[{scrollHeight:t,scrollTop:n},r,i,a,o])=>{let s=n+r-t>-o,c={scrollHeight:t,scrollTop:n,viewportHeight:r};if(s){let t,r;return n>e.state.scrollTop?(t=`SCROLLED_DOWN`,r=e.state.scrollTop-n):(t=`SIZE_DECREASED`,r=e.state.scrollTop-n||e.scrollTopDelta),{atBottom:!0,atBottomBecause:t,scrollTopDelta:r,state:c}}let l;return l=c.scrollHeight>e.state.scrollHeight?`SIZE_INCREASED`:r<e.state.viewportHeight?`VIEWPORT_HEIGHT_DECREASING`:n<e.state.scrollTop?`SCROLLING_UPWARDS`:`NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM`,{atBottom:!1,notAtBottomBecause:l,state:c}},ai),z((e,t)=>e!==void 0&&e.atBottom===t.atBottom))),h=jn(H(r,En((e,{scrollHeight:t,scrollTop:n,viewportHeight:r})=>{if(!ti(e.scrollHeight,t)){let i=t-(n+r)<1;return e.scrollTop!==n&&i?{changed:!0,jump:e.scrollTop-n,scrollHeight:t,scrollTop:n}:{changed:!0,jump:0,scrollHeight:t,scrollTop:n}}return{changed:!1,jump:0,scrollHeight:t,scrollTop:n}},{changed:!1,jump:0,scrollHeight:0,scrollTop:0}),B(e=>e.changed),V(e=>e.jump)),0);R(H(m,V(e=>e.atBottom)),o),R(H(o,On(50)),c);let g=W(ri);R(H(r,V(({scrollTop:e})=>e),z(),En((e,t)=>L(p)?{direction:e.direction,prevScrollTop:t}:{direction:t<e.prevScrollTop?ni:ri,prevScrollTop:t},{direction:ri,prevScrollTop:0}),V(e=>e.direction)),g),R(H(r,On(50),Tn(ii)),g);let _=W(0);return R(H(f,B(e=>!e),Tn(0)),_),R(H(i,On(100),U(f),B(([e,t])=>t),En(([e,t],[n])=>[t,n],[0,0]),V(([e,t])=>t-e)),_),{atBottomState:m,atBottomStateChange:c,atBottomThreshold:u,atTopStateChange:l,atTopThreshold:d,isAtBottom:o,isAtTop:s,isScrolling:f,lastJumpDueToItemResize:h,scrollDirection:g,scrollVelocity:_}},P($n)),ci=`top`,li=`bottom`,ui=`none`;function di(e,t,n){return typeof e==`number`?n===ni&&t===ci||n===ri&&t===li?e:0:n===ni?t===ci?e.main:e.reverse:t===li?e.main:e.reverse}function fi(e,t){return typeof e==`number`?e:e[t]??0}var pi=K(([{deviation:e,fixedHeaderHeight:t,headerHeight:n,scrollTop:r,viewportHeight:i}])=>{let a=G(),o=W(0),s=W(0),c=W(0);return{increaseViewportBy:s,listBoundary:a,overscan:c,topListHeight:o,visibleRange:jn(H(q(J(r),J(i),J(n),J(a,xr),J(c),J(o),J(t),J(e),J(s)),V(([e,t,n,[r,i],a,o,s,c,l])=>{let u=e-c,d=o+s,f=Math.max(n-u,0),p=ui,m=fi(l,ci),h=fi(l,li);return r-=c,r+=n+s,i+=n+s,i-=c,r>e+d-m&&(p=ni),i<e-f+t+h&&(p=ri),p===ui?null:[Math.max(u-n-di(a,ci,p)-m,0),u-f-s+t+di(a,li,p)+h]}),B(e=>e!==null),z(xr)),[0,0])}},P($n),{singleton:!0});function mi(e,t,n){if(Dr(t)){let r=Pr(e,t);return[{index:rr(t.groupOffsetTree,r)[0],offset:0,size:0},{data:n?.[0],index:r,offset:0,size:0}]}return[{data:n?.[0],index:e,offset:0,size:0}]}var hi={bottom:0,firstItemIndex:0,items:[],offsetBottom:0,offsetTop:0,top:0,topItems:[],topListHeight:0,totalCount:0};function gi(e,t,n,r,i,a){let{lastIndex:o,lastOffset:s,lastSize:c}=i,l=0,u=0;if(e.length>0){l=e[0].offset;let t=e[e.length-1];u=t.offset+t.size}let d=n-o,f=s+d*c+(d-1)*r,p=l,m=f-u;return{bottom:u,firstItemIndex:a,items:vi(e,i,a),offsetBottom:m,offsetTop:l,top:p,topItems:vi(t,i,a),topListHeight:t.reduce((e,t)=>t.size+e,0),totalCount:n}}function _i(e,t,n,r,i,a){let o=0;if(n.groupIndices.length>0)for(let t of n.groupIndices){if(t-o>=e)break;o++}let s=e+o,c=$r(t,s);return gi(Array.from({length:s}).map((e,t)=>({data:a[t+c],index:t+c,offset:0,size:0})),[],s,i,n,r)}function vi(e,t,n){if(e.length===0)return[];if(!Dr(t))return e.map(e=>({...e,index:e.index+n,originalIndex:e.index}));let r=e[0].index,i=e[e.length-1].index,a=[],o=or(t.groupOffsetTree,r,i),s,c=0;for(let r of e){(!s||s.end<r.index)&&(s=o.shift(),c=t.groupIndices.indexOf(s.start));let e;e=r.index===s.start?{index:c,type:`group`}:{groupIndex:c,index:r.index-(c+1)+n},a.push({...e,data:r.data,offset:r.offset,originalIndex:r.index,size:r.size})}return a}function yi(e,t){return e===void 0?0:typeof e==`number`?e:e[t]??0}var bi=K(([{data:e,firstItemIndex:t,gap:n,sizes:r,totalCount:i},a,{listBoundary:o,topListHeight:s,visibleRange:c},{initialTopMostItemIndex:l,scrolledToInitialItem:u},{topListHeight:d},f,{didMount:p},{recalcInProgress:m}])=>{let h=W([]),g=W(0),_=G(),v=W(0);R(a.topItemsIndexes,h);let y=jn(H(q(p,m,J(c,xr),J(i),J(r),J(l),u,J(h),J(t),J(n),J(v),e),B(([e,t,,n,,,,,,,,r])=>{let i=r!==void 0&&r.length!==n;return e&&!t&&!i}),V(([,,[e,t],n,r,i,a,o,s,c,l,u])=>{let d=r,{offsetTree:f,sizeTree:p}=d,m=L(g);if(n===0)return{...hi,totalCount:n};if(e===0&&t===0)return m===0?{...hi,totalCount:n}:_i(m,i,r,s,c,u||[]);if(Y(p))return m>0?null:gi(mi($r(i,n),d,u),[],n,c,d,s);let h=[];if(o.length>0){let e=o[0],t=o[o.length-1],n=0;for(let r of or(p,e,t)){let i=r.value,a=Math.max(r.start,e),o=Math.min(r.end,t);for(let e=a;e<=o;e++)h.push({data:u?.[e],index:e,offset:n,size:i}),n+=i}}if(!a)return gi([],h,n,c,d,s);let _=o.length>0?o[o.length-1]+1:0,v=Ir(f,e,t,_);if(v.length===0)return null;let y=n-1,b=yn([],n=>{for(let r of v){let i=r.value,a=i.offset,o=r.start,s=i.size;if(i.offset<e){o+=Math.floor((e-i.offset+c)/(s+c));let t=o-r.start;a+=t*s+t*c}o<_&&(a+=(_-o)*s,o=_);let l=Math.min(r.end,y);for(let e=o;e<=l&&!(a>=t);e++)n.push({data:u?.[e],index:e,offset:a,size:s}),a+=s+c}}),x=yi(l,ci),S=yi(l,li);if(b.length>0&&(x>0||S>0)){let e=b[0],t=b[b.length-1];if(x>0&&e.index>_){let t=Math.min(x,e.index-_),n=[],r=e.offset;for(let i=e.index-1;i>=e.index-t;i--){let t=or(p,i,i)[0]?.value??e.size;r-=t+c,n.unshift({data:u?.[i],index:i,offset:r,size:t})}b.unshift(...n)}if(S>0&&t.index<y){let e=Math.min(S,y-t.index),n=t.offset+t.size+c;for(let r=t.index+1;r<=t.index+e;r++){let e=or(p,r,r)[0]?.value??t.size;b.push({data:u?.[r],index:r,offset:n,size:e}),n+=e+c}}}return gi(b,h,n,c,d,s)}),B(e=>e!==null),z()),hi);R(H(e,B(gn),V(e=>e?.length)),i),R(H(y,V(e=>e.topListHeight)),d),R(d,s),R(H(y,V(e=>[e.top,e.bottom])),o),R(H(y,V(e=>e.items)),_);let b=Mn(H(y,B(({items:e})=>e.length>0),U(i,e),B(([{items:e},t])=>e[e.length-1].originalIndex===t-1),V(([,e,t])=>[e-1,t]),z(xr),V(([e])=>e))),x=Mn(H(y,On(200),B(({items:e,topItems:t})=>e.length>0&&e[0].originalIndex===t.length),V(({items:e})=>e[0].index),z()));return{endReached:b,initialItemCount:g,itemsRendered:_,listState:y,minOverscanItemCount:v,rangeChanged:Mn(H(y,B(({items:e})=>e.length>0),V(({items:e})=>{let t=0,n=e.length-1;for(;e[t].type===`group`&&t<n;)t++;for(;e[n].type===`group`&&n>t;)n--;return{endIndex:e[n].index,startIndex:e[t].index}}),z(br))),startReached:x,topItemsIndexes:h,...f}},P(Wr,Kr,pi,ei,Xr,si,qr,Sr),{singleton:!0}),xi=K(([{fixedFooterHeight:e,fixedHeaderHeight:t,footerHeight:n,headerHeight:r},{listState:i}])=>{let a=G(),o=jn(H(q(n,e,r,t,i),V(([e,t,n,r,i])=>e+t+n+r+i.offsetBottom+i.bottom)),0);return R(J(o),a),{totalListHeight:o,totalListHeightChanged:a}},P($n,bi),{singleton:!0}),Si=K(([{viewportHeight:e},{totalListHeight:t}])=>{let n=W(!1);return{alignToBottom:n,paddingTopAddition:jn(H(q(n,e,t),B(([e])=>e),V(([,e,t])=>Math.max(0,e-t)),On(0),z()),0)}},P($n,xi),{singleton:!0}),Ci=K(()=>({context:W(null)})),wi=({itemBottom:e,itemTop:t,locationParams:{align:n,behavior:r,...i},viewportBottom:a,viewportTop:o})=>t<o?{...i,align:n??`start`,...r===void 0?{}:{behavior:r}}:e>a?{...i,align:n??`end`,...r===void 0?{}:{behavior:r}}:null,Ti=K(([{gap:e,sizes:t,totalCount:n},{fixedFooterHeight:r,fixedHeaderHeight:i,headerHeight:a,scrollingInProgress:o,scrollTop:s,viewportHeight:c},{scrollToIndex:l}])=>{let u=G();return R(H(u,U(t,c,n,a,i,r,s),U(e),V(([[e,t,n,r,i,a,s,c],l])=>{let{calculateViewLocation:u=wi,done:d,...f}=e,p=Fr(e,t,r-1),m=Nr(p,t.offsetTree,l)+i+a,h=m+rr(t.sizeTree,p)[1],g=c+a,_=u({itemBottom:h,itemTop:m,locationParams:f,viewportBottom:c+n-s,viewportTop:g});return _===null?d?.():d&&Sn(H(o,B(e=>!e),Dn(L(o)?1:2)),d),_}),B(e=>e!==null)),l),{scrollIntoView:u}},P(Wr,$n,Xr,bi,zn),{singleton:!0});function Ei(e){return e===!1?!1:e===`smooth`?`smooth`:`auto`}var Di=(e,t)=>typeof e==`function`?Ei(e(t)):t&&Ei(e),Oi=K(([{listRefresh:e,totalCount:t,fixedItemSize:n,data:r},{atBottomState:i,isAtBottom:a},{scrollToIndex:o},{scrolledToInitialItem:s},{didMount:c,propsReady:l},{log:u},{scrollingInProgress:d},{context:f},{scrollIntoView:p}])=>{let m=W(!1),h=G(),g=null;function _(e){I(o,{align:`end`,behavior:e,index:`LAST`})}F(H(q(H(J(t),Dn(1)),c),U(J(m),a,s,d),V(([[e,t],n,r,i,a])=>{let o=t&&i,s=`auto`;return o&&(s=Di(n,r||a),o&&=s!==!1),{followOutputBehavior:s,shouldFollow:o,totalCount:e}}),B(({shouldFollow:e})=>e)),({followOutputBehavior:t,totalCount:r})=>{g!==null&&(g(),g=null),L(n)===void 0?g=Sn(e,()=>{L(u)(`following output to `,{totalCount:r},In.DEBUG),_(t),g=null}):requestAnimationFrame(()=>{L(u)(`following output to `,{totalCount:r},In.DEBUG),_(t)})});function v(e){let t=Sn(i,t=>{e&&!t.atBottom&&t.notAtBottomBecause===`SIZE_INCREASED`&&g===null&&(L(u)(`scrolling to bottom due to increased size`,{},In.DEBUG),_(`auto`))});setTimeout(t,100)}F(H(q(J(m),t,l),B(([e,,t])=>e!==!1&&t),En(({value:e},[,t])=>({refreshed:e===t,value:t}),{refreshed:!1,value:0}),B(({refreshed:e})=>e),U(m,t)),([,e])=>{L(s)&&v(e!==!1)}),F(h,()=>{v(L(m)!==!1)}),F(q(J(m),i),([e,t])=>{e!==!1&&!t.atBottom&&t.notAtBottomBecause===`VIEWPORT_HEIGHT_DECREASING`&&_(`auto`)});let y=W(null),b=G();return R(Fn(H(J(r),V(e=>e?.length??0)),H(J(t))),b),F(H(q(H(b,Dn(1)),c),U(J(y),s,d,f),V(([[e,t],n,r,i,a])=>t&&r&&n?.({context:a,totalCount:e,scrollingInProgress:i})),B(e=>!!e),On(0)),t=>{g!==null&&(g(),g=null),L(n)===void 0?g=Sn(e,()=>{L(u)(`scrolling into view`,{}),I(p,t),g=null}):requestAnimationFrame(()=>{L(u)(`scrolling into view`,{}),I(p,t)})}),{autoscrollToBottom:h,followOutput:m,scrollIntoViewOnChange:y}},P(Wr,si,Xr,ei,qr,zn,$n,Ci,Ti)),ki=K(([{data:e,firstItemIndex:t,gap:n,sizes:r},{initialTopMostItemIndex:i},{initialItemCount:a,listState:o},{didMount:s}])=>(R(H(s,U(a),B(([,e])=>e!==0),U(i,r,t,n,e),V(([[,e],t,n,r,i,a=[]])=>_i(e,t,n,r,i,a))),o),{}),P(Wr,ei,bi,qr),{singleton:!0}),Ai=K(([{didMount:e},{scrollTo:t},{listState:n}])=>{let r=W(0);return F(H(e,U(r),B(([,e])=>e!==0),V(([,e])=>({top:e}))),e=>{Sn(H(n,Dn(1),B(e=>e.items.length>1)),()=>{requestAnimationFrame(()=>{I(t,e)})})}),{initialScrollTop:r}},P(qr,$n,bi),{singleton:!0}),ji=K(([{scrollVelocity:e}])=>{let t=W(!1),n=G(),r=W(!1);return R(H(e,U(r,t,n),B(([e,t])=>t!==!1&&t!==void 0),V(([e,t,n,r])=>{let{enter:i,exit:a}=t;if(n){if(a(e,r))return!1}else if(i(e,r))return!0;return n}),z()),t),F(H(q(t,e,n),U(r)),([[e,t,n],r])=>{e&&r!==!1&&r!==void 0&&r.change&&r.change(t,n)}),{isSeeking:t,scrollSeekConfiguration:r,scrollSeekRangeChanged:n,scrollVelocity:e}},P(si),{singleton:!0}),Mi=K(([{scrollContainerState:e,scrollTo:t}])=>{let n=G(),r=G(),i=G(),a=W(!1),o=W(void 0);return R(H(q(n,r),V(([{scrollTop:e,viewportHeight:t},{offsetTop:n,listHeight:r}])=>({scrollHeight:r,scrollTop:Math.max(0,e-n),viewportHeight:t}))),e),R(H(t,U(r),V(([e,{offsetTop:t}])=>({...e,top:e.top+t}))),i),{customScrollParent:o,useWindowScroll:a,windowScrollContainerState:n,windowScrollTo:i,windowViewportRect:r}},P($n)),Ni=K(([{sizeRanges:e,sizes:t},{headerHeight:n,scrollTop:r},{initialTopMostItemIndex:i},{didMount:a},{useWindowScroll:o,windowScrollContainerState:s,windowViewportRect:c}])=>{let l=G(),u=W(void 0),d=W(null),f=W(null);return R(s,d),R(c,f),F(H(l,U(t,r,o,d,f,n)),([e,t,n,r,i,a,o])=>{let s=Rr(t.sizeTree);r&&i!==null&&a!==null&&(n=i.scrollTop-a.offsetTop),n-=o,e({ranges:s,scrollTop:n})}),R(H(u,B(gn),V(Pi)),i),R(H(a,U(u),B(([,e])=>e!==void 0),z(),V(([,e])=>e.ranges)),e),{getState:l,restoreStateFrom:u}},P(Wr,$n,ei,qr,Mi));function Pi(e){return{align:`start`,index:0,offset:e.scrollTop}}var Fi=K(([{topItemsIndexes:e}])=>{let t=W(0);return R(H(t,B(e=>e>=0),V(e=>Array.from({length:e}).map((e,t)=>t))),e),{topItemCount:t}},P(bi));function Ii(e){let t=!1,n;return(()=>(t||(t=!0,n=e()),n))}var Li=Ii(()=>/iP(ad|od|hone)/i.test(navigator.userAgent)&&/WebKit/i.test(navigator.userAgent)),Ri=K(([{data:e,defaultItemSize:t,firstItemIndex:n,fixedItemSize:r,fixedGroupSize:i,gap:a,groupIndices:o,heightEstimates:s,itemSize:c,sizeRanges:l,sizes:u,statefulTotalCount:d,totalCount:f,trackItemSizes:p},{initialItemFinalLocationReached:m,initialTopMostItemIndex:h,scrolledToInitialItem:g},_,v,y,b,{scrollToIndex:x},S,{topItemCount:C},{groupCounts:w},T])=>{let{listState:E,minOverscanItemCount:ee,topItemsIndexes:D,rangeChanged:te,...ne}=b;return R(te,T.scrollSeekRangeChanged),R(H(T.windowViewportRect,V(e=>e.visibleHeight)),_.viewportHeight),{data:e,defaultItemHeight:t,firstItemIndex:n,fixedItemHeight:r,fixedGroupHeight:i,gap:a,groupCounts:w,heightEstimates:s,initialItemFinalLocationReached:m,initialTopMostItemIndex:h,scrolledToInitialItem:g,sizeRanges:l,topItemCount:C,topItemsIndexes:D,totalCount:f,...y,groupIndices:o,itemSize:c,listState:E,minOverscanItemCount:ee,scrollToIndex:x,statefulTotalCount:d,trackItemSizes:p,rangeChanged:te,...ne,...T,..._,sizes:u,...v}},P(Wr,ei,$n,Ni,Oi,bi,Xr,K(([{deviation:e,scrollBy:t,scrollingInProgress:n,scrollTop:r},{isAtBottom:i,isScrolling:a,lastJumpDueToItemResize:o,scrollDirection:s},{listState:c},{beforeUnshiftWith:l,gap:u,shiftWithOffset:d,sizes:f},{log:p},{recalcInProgress:m}])=>{let h=Mn(H(c,U(o),En(([,e,t,n],[{bottom:r,items:i,offsetBottom:a,totalCount:o},s])=>{let c=r+a,l=0;return t===o&&e.length>0&&i.length>0&&(i[0].originalIndex===0&&e[0].originalIndex===0||(l=c-n,l!==0&&(l+=s))),[l,i,o,c]},[0,[],0,0]),B(([e])=>e!==0),U(r,s,n,i,p,m),B(([,e,t,n,,,r])=>!r&&!n&&e!==0&&t===ni),V(([[e],,,,,t])=>(t(`Upward scrolling compensation`,{amount:e},In.DEBUG),e))));function g(n){n>0?(I(t,{behavior:`auto`,top:-n}),I(e,0)):(I(e,0),I(t,{behavior:`auto`,top:-n}))}return F(H(h,U(e,a)),([t,n,r])=>{r&&Li()?I(e,n-t):g(-t)}),F(H(q(jn(a,!1),e,m),B(([e,t,n])=>!e&&!n&&t!==0),V(([e,t])=>t),On(1)),g),R(H(d,V(e=>({top:-e}))),t),F(H(l,U(f,u),V(([e,{groupIndices:t,lastSize:n,sizeTree:r},i])=>{function a(e){return e*(n+i)}if(t.length===0)return a(e);let o=0,s=nr(r,0),c=0,l=0;for(;c<e;){c++,o+=s;let n=t.length===l+1?1/0:t[l+1]-t[l]-1;c+n>e&&(o-=s,n=e-c+1),c+=n,o+=a(n),l++}return o})),n=>{I(e,n),requestAnimationFrame(()=>{I(t,{top:n}),requestAnimationFrame(()=>{I(e,0),I(m,!1)})})}),{deviation:e}},P($n,si,bi,Wr,zn,Sr)),Fi,Kr,K(([e,t,n,r,i,a,o,s,c,l,u])=>({...e,...t,...n,...r,...i,...a,...o,...s,...c,...l,...u}),P(pi,ki,qr,ji,xi,Ai,Si,Mi,Ti,zn,Ci))));function zi(e,t){let n={},r={},i=0,a=e.length;for(;i<a;)r[e[i]]=1,i+=1;for(let e in t)Object.hasOwn(r,e)||(n[e]=t[e]);return n}var Bi=typeof document<`u`?M.useLayoutEffect:M.useEffect;function Vi(e,t,n){let r=Object.keys(t.required||{}),i=Object.keys(t.optional||{}),a=Object.keys(t.methods||{}),o=Object.keys(t.events||{}),s=M.createContext({});function c(e,n){e.propsReady!==void 0&&I(e.propsReady,!1);for(let i of r){let r=e[t.required[i]];I(r,n[i])}for(let r of i)if(r in n){let i=e[t.optional[r]];I(i,n[r])}e.propsReady!==void 0&&I(e.propsReady,!0)}function l(e){return a.reduce((n,r)=>(n[r]=n=>{let i=e[t.methods[r]];I(i,n)},n),{})}function u(e){return o.reduce((n,r)=>(n[r]=An(e[t.events[r]]),n),{})}return{Component:M.forwardRef(function(t,a){let{children:d,...f}=t,[p]=M.useState(()=>yn(Pn(e),e=>{c(e,f)})),[m]=M.useState(mn(u,p));Bi(()=>{for(let e of o)e in f&&F(m[e],f[e]);return()=>{Object.values(m).map(xn)}},[f,m,p]),Bi(()=>{c(p,f)}),M.useImperativeHandle(a,dn(l(p)));let h=n;return(0,N.jsx)(s.Provider,{value:p,children:n===void 0?d:(0,N.jsx)(h,{...zi([...r,...i,...o],f),children:d})})}),useEmitter:(e,t)=>{let n=M.useContext(s)[e];Bi(()=>F(n,t),[t,n])},useEmitterValue:e=>{let t=M.useContext(s)[e],n=M.useCallback(e=>F(t,e),[t]);return M.useSyncExternalStore(n,()=>L(t),()=>L(t))},usePublisher:e=>{let t=M.useContext(s);return M.useCallback(n=>{I(t[e],n)},[t,e])}}}var Hi=M.createContext(void 0),Ui=M.createContext(void 0),Wi=`-webkit-sticky`,Gi=`sticky`,Ki=Ii(()=>{if(typeof document>`u`)return Gi;let e=document.createElement(`div`);return e.style.position=Wi,e.style.position===Wi?Wi:Gi}),qi=typeof document<`u`?M.useLayoutEffect:M.useEffect;function Ji(e){return`self`in e}function Yi(e){return`body`in e}function Xi(e,t,n,r=vn,i,a){let o=M.useRef(null),s=M.useRef(null),c=M.useRef(null),l=M.useCallback(n=>{let r,i,o,l=n.target;if(Yi(l)||Ji(l)){let e=Ji(l)?l:l.defaultView;o=a===!0?Gn(e,e.scrollX):e.scrollY,r=a===!0?e.document.documentElement.scrollWidth:e.document.documentElement.scrollHeight,i=a===!0?e.innerWidth:e.innerHeight}else o=a===!0?Gn(l,l.scrollLeft):l.scrollTop,r=a===!0?l.scrollWidth:l.scrollHeight,i=a===!0?l.offsetWidth:l.offsetHeight;let u=()=>{e({scrollHeight:r,scrollTop:Math.max(o,0),viewportHeight:i})};n.suppressFlushSync===!0?u():Kt.flushSync(u),s.current!==null&&(o===s.current||o<=0||o===r-i)&&(s.current=null,t(!0),c.current&&=(clearTimeout(c.current),null))},[e,t,a]);M.useEffect(()=>{let e=i||o.current;return Un(e),r(i||o.current),l({suppressFlushSync:!0,target:e}),e.addEventListener(`scroll`,l,{passive:!0}),()=>{Un(e),r(null),e.removeEventListener(`scroll`,l)}},[o,l,n,r,i]);function u(n){let r=o.current;if(!r||(a===!0?`offsetWidth`in r&&r.offsetWidth===0:`offsetHeight`in r&&r.offsetHeight===0))return;let i=n.behavior===`smooth`,l,u,d;Ji(r)?(u=Math.max(Er(r.document.documentElement,a===!0?`width`:`height`),a===!0?r.document.documentElement.scrollWidth:r.document.documentElement.scrollHeight),l=a===!0?r.innerWidth:r.innerHeight,d=a===!0?Gn(r,r.scrollX):r.scrollY):(u=r[a===!0?`scrollWidth`:`scrollHeight`],l=Er(r,a===!0?`width`:`height`),d=a===!0?Gn(r,r.scrollLeft):r.scrollTop);let f=u-l;if(n.top===void 0){r.scrollTo(n);return}let p=Math.ceil(Math.max(Math.min(f,n.top),0));if(n.top=p,ti(l,u)||p===d){e({scrollHeight:u,scrollTop:d,viewportHeight:l}),i&&t(!0);return}i?(s.current=p,c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{c.current=null,s.current=null,t(!0)},1e3)):s.current=null,a===!0&&(n={...n.behavior===void 0?{}:{behavior:n.behavior},left:Kn(r,p)}),r.scrollTo(n)}function d(e){a===!0&&(e={...e.behavior===void 0?{}:{behavior:e.behavior},...e.top===void 0?{}:{left:Kn(o.current,e.top)}}),o.current.scrollBy(e)}return{scrollByCallback:d,scrollerRef:o,scrollToCallback:u}}function Zi(e){return e}var Qi=K(([e,t])=>({...e,...t}),P(Ri,K(()=>{let e=W(e=>`Item ${e}`),t=W(e=>`Group ${e}`),n=W({}),r=W(Zi),i=W(`div`),a=W(vn),o=(e,t=null)=>jn(H(n,V(t=>t[e]),z()),t);return{components:n,computeItemKey:r,EmptyPlaceholder:o(`EmptyPlaceholder`),FooterComponent:o(`Footer`),GroupComponent:o(`Group`,`div`),groupContent:t,HeaderComponent:o(`Header`),HeaderFooterTag:i,ItemComponent:o(`Item`,`div`),itemContent:e,ListComponent:o(`List`,`div`),ScrollerComponent:o(`Scroller`,`div`),scrollerRef:a,ScrollSeekPlaceholder:o(`ScrollSeekPlaceholder`),TopItemListComponent:o(`TopItemList`)}}))),$i=({height:e})=>(0,N.jsx)(`div`,{style:{height:e}}),ea={overflowAnchor:`none`,position:Ki(),zIndex:1},ta={overflowAnchor:`none`},na={...ta,display:`inline-block`,height:`100%`},ra=M.memo(function({showTopList:e=!1}){let t=Z(`listState`),n=ya(`sizeRanges`),r=Z(`useWindowScroll`),i=Z(`customScrollParent`),a=ya(`windowScrollContainerState`),o=ya(`scrollContainerState`),s=i||r?a:o,c=Z(`itemContent`),l=Z(`context`),u=Z(`groupContent`),d=Z(`trackItemSizes`),f=Z(`itemSize`),p=Z(`log`),m=ya(`gap`),h=Z(`horizontalDirection`),{callbackRef:g}=Yn(n,f,d,e?vn:s,p,m,i,h,Z(`skipAnimationFrameInResizeObserver`)),[_,v]=M.useState(0);va(`deviation`,e=>{_!==e&&v(e)});let y=Z(`EmptyPlaceholder`),b=Z(`ScrollSeekPlaceholder`)??$i,x=Z(`ListComponent`),S=Z(`ItemComponent`),C=Z(`GroupComponent`),w=Z(`computeItemKey`),T=Z(`isSeeking`),E=Z(`groupIndices`).length>0,ee=Z(`alignToBottom`),D=Z(`initialItemFinalLocationReached`),te=e?{}:{boxSizing:`border-box`,...h?{display:`inline-block`,height:`100%`,marginInlineStart:_===0?ee?`auto`:0:_,paddingInlineEnd:t.offsetBottom,paddingInlineStart:t.offsetTop,whiteSpace:`nowrap`}:{marginTop:_===0?ee?`auto`:0:_,paddingBottom:t.offsetBottom,paddingTop:t.offsetTop},...D?{}:{visibility:`hidden`}};return!e&&t.totalCount===0&&y!=null?(0,N.jsx)(y,{...X(y,l)}):(0,N.jsx)(x,{...X(x,l),"data-testid":e?`virtuoso-top-item-list`:`virtuoso-item-list`,ref:g,style:te,children:(e?t.topItems:t.items).map(e=>{let n=e.originalIndex,r=w(n+t.firstItemIndex,e.data,l);return T?(0,M.createElement)(b,{...X(b,l),height:e.size,index:e.index,key:r,type:e.type||`item`,...e.type===`group`?{}:{groupIndex:e.groupIndex}}):e.type===`group`?(0,M.createElement)(C,{...X(C,l),"data-index":n,"data-item-index":e.index,"data-known-size":e.size,key:r,style:ea},u(e.index,l)):(0,M.createElement)(S,{...X(S,l),...la(S,e.data),"data-index":n,"data-item-group-index":e.groupIndex,"data-item-index":e.index,"data-known-size":e.size,key:r,style:h?na:ta},E?c(e.index,e.groupIndex,e.data,l):c(e.index,e.data,l))})})}),ia={height:`100%`,outline:`none`,overflowY:`auto`,position:`relative`,WebkitOverflowScrolling:`touch`},aa={outline:`none`,overflowX:`auto`,position:`relative`},oa=e=>({height:`100%`,position:`absolute`,top:0,width:`100%`,...e?{display:`flex`,flexDirection:`column`}:void 0}),sa=(e,t,n=0)=>({...oa(e),position:t?`relative`:`absolute`,top:t?-n:0}),ca={position:Ki(),top:0,width:`100%`,zIndex:1};function X(e,t){if(typeof e!=`string`)return{context:t}}function la(e,t){return{item:typeof e==`string`?void 0:t}}var ua=M.memo(function(){let e=Z(`HeaderComponent`),t=ya(`headerHeight`),n=Z(`HeaderFooterTag`),r=qn(M.useMemo(()=>e=>{t(Er(e,`height`))},[t]),!0,Z(`skipAnimationFrameInResizeObserver`)),i=Z(`context`);return e==null?null:(0,N.jsx)(n,{ref:r,children:(0,N.jsx)(e,{...X(e,i)})})}),da=M.memo(function(){let e=Z(`FooterComponent`),t=ya(`footerHeight`),n=Z(`HeaderFooterTag`),r=qn(M.useMemo(()=>e=>{t(Er(e,`height`))},[t]),!0,Z(`skipAnimationFrameInResizeObserver`)),i=Z(`context`);return e==null?null:(0,N.jsx)(n,{ref:r,children:(0,N.jsx)(e,{...X(e,i)})})});function fa({useEmitter:e,useEmitterValue:t,usePublisher:n}){return M.memo(function({children:r,style:i,context:a,...o}){let s=n(`scrollContainerState`),c=t(`ScrollerComponent`),l=n(`smoothScrollTargetReached`),u=t(`scrollerRef`),d=t(`horizontalDirection`)||!1,{scrollByCallback:f,scrollerRef:p,scrollToCallback:m}=Xi(s,l,c,u,void 0,d);return e(`scrollTo`,m),e(`scrollBy`,f),(0,N.jsx)(c,{"data-testid":`virtuoso-scroller`,"data-virtuoso-scroller":!0,ref:p,style:{...d?aa:ia,...i},tabIndex:0,...o,...X(c,a),children:r})})}function pa({useEmitter:e,useEmitterValue:t,usePublisher:n}){return M.memo(function({children:r,style:i,context:a,...o}){let s=n(`windowScrollContainerState`),c=t(`ScrollerComponent`),l=n(`smoothScrollTargetReached`),u=t(`totalListHeight`),d=t(`deviation`),f=t(`customScrollParent`),p=M.useRef(null),{scrollByCallback:m,scrollerRef:h,scrollToCallback:g}=Xi(s,l,c,t(`scrollerRef`),f);return qi(()=>(h.current=f||p.current?.ownerDocument.defaultView,()=>{h.current=null}),[h,f]),e(`windowScrollTo`,g),e(`scrollBy`,m),(0,N.jsx)(c,{ref:p,"data-virtuoso-scroller":!0,style:{position:`relative`,...i,...u===0?void 0:{height:u+d}},...o,...X(c,a),children:r})})}var ma=({children:e})=>{let t=M.useContext(Hi),n=ya(`viewportHeight`),r=ya(`fixedItemHeight`),i=Z(`alignToBottom`),a=Z(`horizontalDirection`),o=qn(M.useMemo(()=>pn(n,e=>Er(e,a?`width`:`height`)),[n,a]),!0,Z(`skipAnimationFrameInResizeObserver`));return M.useEffect(()=>{t&&(n(t.viewportHeight),r(t.itemHeight))},[t,n,r]),(0,N.jsx)(`div`,{"data-viewport-type":`element`,ref:o,style:oa(i),children:e})},ha=({children:e})=>{let t=M.useContext(Hi),n=ya(`windowViewportRect`),r=ya(`fixedItemHeight`),i=Z(`customScrollParent`),a=Z(`useWindowScroll`),o=Z(`topListHeight`),s=Qn(n,i,Z(`skipAnimationFrameInResizeObserver`)),c=Z(`alignToBottom`);return M.useEffect(()=>{t&&(r(t.itemHeight),n({listHeight:0,offsetTop:0,visibleHeight:t.viewportHeight,visibleWidth:100}))},[t,n,r]),(0,N.jsx)(`div`,{"data-viewport-type":`window`,ref:s,style:sa(c,a,o),children:e})},ga=({children:e})=>{let t=Z(`TopItemListComponent`)??`div`,n=Z(`headerHeight`);return(0,N.jsx)(t,{style:{...ca,marginTop:`${n}px`},...X(t,Z(`context`)),children:e})},{Component:_a,useEmitter:va,useEmitterValue:Z,usePublisher:ya}=Vi(Qi,{optional:{restoreStateFrom:`restoreStateFrom`,context:`context`,followOutput:`followOutput`,scrollIntoViewOnChange:`scrollIntoViewOnChange`,itemContent:`itemContent`,groupContent:`groupContent`,overscan:`overscan`,increaseViewportBy:`increaseViewportBy`,minOverscanItemCount:`minOverscanItemCount`,totalCount:`totalCount`,groupCounts:`groupCounts`,topItemCount:`topItemCount`,firstItemIndex:`firstItemIndex`,initialTopMostItemIndex:`initialTopMostItemIndex`,components:`components`,atBottomThreshold:`atBottomThreshold`,atTopThreshold:`atTopThreshold`,computeItemKey:`computeItemKey`,defaultItemHeight:`defaultItemHeight`,fixedGroupHeight:`fixedGroupHeight`,fixedItemHeight:`fixedItemHeight`,heightEstimates:`heightEstimates`,itemSize:`itemSize`,scrollSeekConfiguration:`scrollSeekConfiguration`,headerFooterTag:`HeaderFooterTag`,data:`data`,initialItemCount:`initialItemCount`,initialScrollTop:`initialScrollTop`,alignToBottom:`alignToBottom`,useWindowScroll:`useWindowScroll`,customScrollParent:`customScrollParent`,scrollerRef:`scrollerRef`,logLevel:`logLevel`,horizontalDirection:`horizontalDirection`,skipAnimationFrameInResizeObserver:`skipAnimationFrameInResizeObserver`},methods:{scrollToIndex:`scrollToIndex`,scrollIntoView:`scrollIntoView`,scrollTo:`scrollTo`,scrollBy:`scrollBy`,autoscrollToBottom:`autoscrollToBottom`,getState:`getState`},events:{isScrolling:`isScrolling`,endReached:`endReached`,startReached:`startReached`,rangeChanged:`rangeChanged`,atBottomStateChange:`atBottomStateChange`,atTopStateChange:`atTopStateChange`,totalListHeightChanged:`totalListHeightChanged`,itemsRendered:`itemsRendered`,groupIndices:`groupIndices`}},M.memo(function(e){let t=Z(`useWindowScroll`),n=Z(`topItemsIndexes`).length>0,r=Z(`customScrollParent`),i=Z(`context`);return(0,N.jsxs)(r||t?xa:ba,{...e,context:i,children:[n&&(0,N.jsx)(ga,{children:(0,N.jsx)(ra,{showTopList:!0})}),(0,N.jsxs)(r||t?ha:ma,{children:[(0,N.jsx)(ua,{}),(0,N.jsx)(ra,{}),(0,N.jsx)(da,{})]})]})})),ba=fa({useEmitter:va,useEmitterValue:Z,usePublisher:ya}),xa=pa({useEmitter:va,useEmitterValue:Z,usePublisher:ya}),Sa=_a,Ca=K(([e,t])=>({...e,...t}),P(Ri,K(()=>{let e=W(e=>(0,N.jsxs)(`td`,{children:[`Item $`,e]})),t=W(null),n=W(e=>(0,N.jsxs)(`td`,{colSpan:1e3,children:[`Group `,e]})),r=W(null),i=W(null),a=W({}),o=W(Zi),s=W(vn),c=(e,t=null)=>jn(H(a,V(t=>t[e]),z()),t);return{components:a,computeItemKey:o,context:t,EmptyPlaceholder:c(`EmptyPlaceholder`),FillerRow:c(`FillerRow`),fixedFooterContent:i,fixedHeaderContent:r,itemContent:e,groupContent:n,ScrollerComponent:c(`Scroller`,`div`),scrollerRef:s,ScrollSeekPlaceholder:c(`ScrollSeekPlaceholder`),TableBodyComponent:c(`TableBody`,`tbody`),TableComponent:c(`Table`,`table`),TableFooterComponent:c(`TableFoot`,`tfoot`),TableHeadComponent:c(`TableHead`,`thead`),TableRowComponent:c(`TableRow`,`tr`),GroupComponent:c(`Group`,`tr`)}}))),wa=({height:e})=>(0,N.jsx)(`tr`,{children:(0,N.jsx)(`td`,{style:{height:e}})}),Ta=({height:e})=>(0,N.jsx)(`tr`,{children:(0,N.jsx)(`td`,{style:{border:0,height:e,padding:0}})}),Ea={overflowAnchor:`none`},Da={position:Ki(),zIndex:2,overflowAnchor:`none`},Oa=M.memo(function({showTopList:e=!1}){let t=Q(`listState`),n=Q(`computeItemKey`),r=Q(`firstItemIndex`),i=Q(`context`),a=Q(`isSeeking`),o=Q(`fixedHeaderHeight`),s=Q(`groupIndices`).length>0,c=Q(`itemContent`),l=Q(`groupContent`),u=Q(`ScrollSeekPlaceholder`)??wa,d=Q(`GroupComponent`),f=Q(`TableRowComponent`),p=(e?t.topItems:[]).reduce((e,t,n)=>(n===0?e.push(t.size):e.push(e[n-1]+t.size),e),[]);return(e?t.topItems:t.items).map(t=>{let m=t.originalIndex,h=n(m+r,t.data,i),g=e?m===0?0:p[m-1]:0;return a?(0,M.createElement)(u,{...X(u,i),height:t.size,index:t.index,key:h,type:t.type||`item`}):t.type===`group`?(0,M.createElement)(d,{...X(d,i),"data-index":m,"data-item-index":t.index,"data-known-size":t.size,key:h,style:{...Da,top:o}},l(t.index,i)):(0,M.createElement)(f,{...X(f,i),...la(f,t.data),"data-index":m,"data-item-index":t.index,"data-known-size":t.size,"data-item-group-index":t.groupIndex,key:h,style:e?{...Da,top:o+g}:Ea},s?c(t.index,t.groupIndex,t.data,i):c(t.index,t.data,i))})}),ka=M.memo(function(){let e=Q(`listState`),t=Q(`topItemsIndexes`).length>0,n=Pa(`sizeRanges`),r=Q(`useWindowScroll`),i=Q(`customScrollParent`),a=Pa(`windowScrollContainerState`),o=Pa(`scrollContainerState`),s=i||r?a:o,c=Q(`trackItemSizes`),{callbackRef:l,ref:u}=Yn(n,Q(`itemSize`),c,s,Q(`log`),void 0,i,!1,Q(`skipAnimationFrameInResizeObserver`)),[d,f]=M.useState(0);Na(`deviation`,e=>{d!==e&&(u.current.style.marginTop=`${e}px`,f(e))});let p=Q(`EmptyPlaceholder`),m=Q(`FillerRow`)??Ta,h=Q(`TableBodyComponent`),g=Q(`paddingTopAddition`),_=Q(`statefulTotalCount`),v=Q(`context`);if(_===0&&p!=null)return(0,N.jsx)(p,{...X(p,v)});let y=(t?e.topItems:[]).reduce((e,t)=>e+t.size,0),b=e.offsetTop+g+d-y,x=e.offsetBottom,S=b>0?(0,N.jsx)(m,{context:v,height:b},`padding-top`):null,C=x>0?(0,N.jsx)(m,{context:v,height:x},`padding-bottom`):null;return(0,N.jsxs)(h,{"data-testid":`virtuoso-item-list`,ref:l,...X(h,v),children:[S,t&&(0,N.jsx)(Oa,{showTopList:!0}),(0,N.jsx)(Oa,{}),C]})}),Aa=({children:e})=>{let t=M.useContext(Hi),n=Pa(`viewportHeight`),r=Pa(`fixedItemHeight`),i=qn(M.useMemo(()=>pn(n,e=>Er(e,`height`)),[n]),!0,Q(`skipAnimationFrameInResizeObserver`));return M.useEffect(()=>{t&&(n(t.viewportHeight),r(t.itemHeight))},[t,n,r]),(0,N.jsx)(`div`,{"data-viewport-type":`element`,ref:i,style:oa(!1),children:e})},ja=({children:e})=>{let t=M.useContext(Hi),n=Pa(`windowViewportRect`),r=Pa(`fixedItemHeight`),i=Q(`customScrollParent`),a=Q(`useWindowScroll`),o=Qn(n,i,Q(`skipAnimationFrameInResizeObserver`));return M.useEffect(()=>{t&&(r(t.itemHeight),n({listHeight:0,offsetTop:0,visibleHeight:t.viewportHeight,visibleWidth:100}))},[t,n,r]),(0,N.jsx)(`div`,{"data-viewport-type":`window`,ref:o,style:sa(!1,a),children:e})},{Component:Ma,useEmitter:Na,useEmitterValue:Q,usePublisher:Pa}=Vi(Ca,{optional:{restoreStateFrom:`restoreStateFrom`,context:`context`,followOutput:`followOutput`,firstItemIndex:`firstItemIndex`,itemContent:`itemContent`,groupContent:`groupContent`,fixedHeaderContent:`fixedHeaderContent`,fixedFooterContent:`fixedFooterContent`,overscan:`overscan`,increaseViewportBy:`increaseViewportBy`,minOverscanItemCount:`minOverscanItemCount`,totalCount:`totalCount`,topItemCount:`topItemCount`,initialTopMostItemIndex:`initialTopMostItemIndex`,components:`components`,groupCounts:`groupCounts`,atBottomThreshold:`atBottomThreshold`,atTopThreshold:`atTopThreshold`,computeItemKey:`computeItemKey`,defaultItemHeight:`defaultItemHeight`,fixedGroupHeight:`fixedGroupHeight`,fixedItemHeight:`fixedItemHeight`,itemSize:`itemSize`,scrollSeekConfiguration:`scrollSeekConfiguration`,data:`data`,initialItemCount:`initialItemCount`,initialScrollTop:`initialScrollTop`,alignToBottom:`alignToBottom`,useWindowScroll:`useWindowScroll`,customScrollParent:`customScrollParent`,scrollerRef:`scrollerRef`,logLevel:`logLevel`},methods:{scrollToIndex:`scrollToIndex`,scrollIntoView:`scrollIntoView`,scrollTo:`scrollTo`,scrollBy:`scrollBy`,getState:`getState`},events:{isScrolling:`isScrolling`,endReached:`endReached`,startReached:`startReached`,rangeChanged:`rangeChanged`,atBottomStateChange:`atBottomStateChange`,atTopStateChange:`atTopStateChange`,totalListHeightChanged:`totalListHeightChanged`,itemsRendered:`itemsRendered`,groupIndices:`groupIndices`}},M.memo(function(e){let t=Q(`useWindowScroll`),n=Q(`customScrollParent`),r=Pa(`fixedHeaderHeight`),i=Pa(`fixedFooterHeight`),a=Q(`fixedHeaderContent`),o=Q(`fixedFooterContent`),s=Q(`context`),c=qn(M.useMemo(()=>pn(r,e=>Er(e,`height`)),[r]),!0,Q(`skipAnimationFrameInResizeObserver`)),l=qn(M.useMemo(()=>pn(i,e=>Er(e,`height`)),[i]),!0,Q(`skipAnimationFrameInResizeObserver`)),u=n||t?Ia:Fa,d=n||t?ja:Aa,f=Q(`TableComponent`),p=Q(`TableHeadComponent`),m=Q(`TableFooterComponent`),h=a?(0,N.jsx)(p,{ref:c,style:{position:`sticky`,top:0,zIndex:2},...X(p,s),children:a()},`TableHead`):null,g=o?(0,N.jsx)(m,{ref:l,style:{bottom:0,position:`sticky`,zIndex:1},...X(m,s),children:o()},`TableFoot`):null;return(0,N.jsx)(u,{...e,...X(u,s),children:(0,N.jsx)(d,{children:(0,N.jsxs)(f,{style:{borderSpacing:0,overflowAnchor:`none`},...X(f,s),children:[h,(0,N.jsx)(ka,{},`TableBody`),g]})})})})),Fa=fa({useEmitter:Na,useEmitterValue:Q,usePublisher:Pa}),Ia=pa({useEmitter:Na,useEmitterValue:Q,usePublisher:Pa}),La={bottom:0,itemHeight:0,items:[],itemWidth:0,offsetBottom:0,offsetTop:0,top:0},Ra={bottom:0,itemHeight:0,items:[{index:0}],itemWidth:0,offsetBottom:0,offsetTop:0,top:0},{ceil:za,floor:Ba,max:Va,min:Ha,round:Ua}=Math;function Wa(e,t,n){return Array.from({length:t-e+1}).map((t,r)=>({data:n===null?null:n[r+e],index:r+e}))}function Ga(e){return{...Ra,items:e}}function Ka(e,t){return e!==void 0&&e.width===t.width&&e.height===t.height}function qa(e,t){return e!==void 0&&e.column===t.column&&e.row===t.row}var Ja=K(([{increaseViewportBy:e,listBoundary:t,overscan:n,visibleRange:r},{footerHeight:i,headerHeight:a,scrollBy:o,scrollContainerState:s,scrollTo:c,scrollTop:l,smoothScrollTargetReached:u,viewportHeight:d},f,p,{didMount:m,propsReady:h},{customScrollParent:g,useWindowScroll:_,windowScrollContainerState:v,windowScrollTo:y,windowViewportRect:b},x])=>{let S=W(0),C=W(0),w=W(La),T=W({height:0,width:0}),E=W({height:0,width:0}),ee=G(),D=G(),te=W(0),ne=W(null),re=W({column:0,row:0}),ie=G(),ae=G(),O=W(!1),oe=W(0),se=W(!0),ce=W(!1),le=W(!1);F(H(m,U(oe),B(([e,t])=>t!==0)),()=>{I(se,!1)}),F(H(q(m,se,E,T,oe,ce),B(([e,t,n,r,,i])=>e&&!t&&n.height!==0&&r.height!==0&&!i)),([,,,,e])=>{I(ce,!0),Qr(1,()=>{I(ee,e)}),Sn(H(l),()=>{I(t,[0,0]),I(se,!0)})}),R(H(ae,B(e=>e!=null&&e.scrollTop>0),Tn(0)),C),F(H(m,U(ae),B(([,e])=>e!=null)),([,e])=>{e&&(I(T,e.viewport),I(E,e.item),I(re,e.gap),e.scrollTop>0&&(I(O,!0),Sn(H(l,Dn(1)),e=>{I(O,!1)}),I(c,{top:e.scrollTop})))}),R(H(T,V(({height:e})=>e)),d),R(H(q(J(T,Ka),J(E,Ka),J(re,(e,t)=>e!==void 0&&e.column===t.column&&e.row===t.row),J(l)),V(([e,t,n,r])=>({gap:n,item:t,scrollTop:r,viewport:e}))),ie),R(H(q(J(S),r,J(re,qa),J(E,Ka),J(T,Ka),J(ne),J(C),J(O),J(se),J(oe)),B(([,,,,,,,e])=>!e),V(([e,[t,n],r,i,a,o,s,,c,l])=>{let{column:u,row:d}=r,{height:f,width:p}=i,{width:m}=a;if(s===0&&(e===0||m===0))return La;if(p===0){let t=$r(l,e);return Ga(Wa(t,t+Math.max(s-1,0),o))}let h=Ya(m,p,u),g,_;c?t===0&&n===0&&s>0?(g=0,_=s-1):(g=h*Ba((t+d)/(f+d)),_=h*za((n+d)/(f+d))-1,_=Ha(e-1,Va(_,h-1)),g=Ha(_,Va(0,g))):(g=0,_=-1);let v=Wa(g,_,o),{bottom:y,top:b}=Xa(a,r,i,v),x=za(e/h);return{bottom:y,itemHeight:f,items:v,itemWidth:p,offsetBottom:x*f+(x-1)*d-y,offsetTop:b,top:b}})),w),R(H(ne,B(e=>e!==null),V(e=>e.length)),S),R(H(q(T,E,w,re),B(([e,t,{items:n}])=>n.length>0&&t.height!==0&&e.height!==0),V(([e,t,{items:n},r])=>{let{bottom:i,top:a}=Xa(e,r,t,n);return[a,i]}),z(xr)),t);let ue=W(!1);R(H(l,U(ue),V(([e,t])=>t||e!==0)),ue);let de=Mn(H(q(w,S),B(([{items:e}])=>e.length>0),U(ue),B(([[e,t],n])=>{let r=e.items[e.items.length-1].index===t-1;return(n||e.bottom>0&&e.itemHeight>0&&e.offsetBottom===0&&e.items.length===t)&&r}),V(([[,e]])=>e-1),z())),fe=Mn(H(J(w),B(({items:e})=>e.length>0&&e[0].index===0),Tn(0),z())),pe=Mn(H(J(w),U(O),B(([{items:e},t])=>e.length>0&&!t),V(([{items:e}])=>({endIndex:e[e.length-1].index,startIndex:e[0].index})),z(br),On(0)));R(pe,p.scrollSeekRangeChanged),R(H(ee,U(T,E,S,re),V(([e,t,n,r,i])=>{let a=Yr(e),{align:o,behavior:s,offset:c}=a,l=a.index;l===`LAST`&&(l=r-1),l=Va(0,l,Ha(r-1,l));let u=Za(t,i,n,l);return o===`end`?u=Ua(u-t.height+n.height):o===`center`&&(u=Ua(u-t.height/2+n.height/2)),c!==void 0&&c!==0&&(u+=c),{behavior:s,top:u}})),c);let me=jn(H(w,V(e=>e.offsetBottom+e.bottom)),0);return R(H(b,V(e=>({height:e.visibleHeight,width:e.visibleWidth}))),T),{customScrollParent:g,data:ne,deviation:te,footerHeight:i,gap:re,headerHeight:a,increaseViewportBy:e,initialItemCount:C,itemDimensions:E,overscan:n,restoreStateFrom:ae,scrollBy:o,scrollContainerState:s,scrollHeight:D,scrollTo:c,scrollToIndex:ee,scrollTop:l,smoothScrollTargetReached:u,totalCount:S,useWindowScroll:_,viewportDimensions:T,windowScrollContainerState:v,windowScrollTo:y,windowViewportRect:b,...p,gridState:w,horizontalDirection:le,initialTopMostItemIndex:oe,totalListHeight:me,...f,endReached:de,propsReady:h,rangeChanged:pe,startReached:fe,stateChanged:ie,stateRestoreInProgress:O,...x}},P(pi,$n,si,ji,qr,Mi,zn));function Ya(e,t,n){return Va(1,Ba((e+n)/(Ba(t)+n)))}function Xa(e,t,n,r){let{height:i}=n;if(i===void 0||r.length===0)return{bottom:0,top:0};let a=Za(e,t,n,r[0].index);return{bottom:Za(e,t,n,r[r.length-1].index)+i,top:a}}function Za(e,t,n,r){let i=Ba(r/Ya(e.width,n.width,t.column)),a=i*n.height+Va(0,i-1)*t.row;return a>0?a+t.row:a}var Qa=K(([e,t])=>({...e,...t}),P(Ja,K(()=>{let e=W(e=>`Item ${e}`),t=W({}),n=W(null),r=W(`virtuoso-grid-item`),i=W(`virtuoso-grid-list`),a=W(Zi),o=W(`div`),s=W(vn),c=(e,n=null)=>jn(H(t,V(t=>t[e]),z()),n),l=W(!1),u=W(!1);return R(J(u),l),{components:t,computeItemKey:a,context:n,FooterComponent:c(`Footer`),HeaderComponent:c(`Header`),headerFooterTag:o,itemClassName:r,ItemComponent:c(`Item`,`div`),itemContent:e,listClassName:i,ListComponent:c(`List`,`div`),readyStateChanged:l,reportReadyState:u,ScrollerComponent:c(`Scroller`,`div`),scrollerRef:s,ScrollSeekPlaceholder:c(`ScrollSeekPlaceholder`,`div`)}}))),$a=M.memo(function(){let e=$(`gridState`),t=$(`listClassName`),n=$(`itemClassName`),r=$(`itemContent`),i=$(`computeItemKey`),a=$(`isSeeking`),o=oo(`scrollHeight`),s=$(`ItemComponent`),c=$(`ListComponent`),l=$(`ScrollSeekPlaceholder`),u=$(`context`),d=oo(`itemDimensions`),f=oo(`gap`),p=$(`log`),m=$(`stateRestoreInProgress`),h=oo(`reportReadyState`),g=qn(M.useMemo(()=>e=>{let t=e.parentElement.parentElement.scrollHeight;o(t);let n=e.firstChild;if(n!==null){let{height:e,width:t}=n.getBoundingClientRect();d({height:e,width:t})}f({column:lo(`column-gap`,getComputedStyle(e).columnGap,p),row:lo(`row-gap`,getComputedStyle(e).rowGap,p)})},[o,d,f,p]),!0,!1);return qi(()=>{e.itemHeight>0&&e.itemWidth>0&&h(!0)},[e]),m?null:(0,N.jsx)(c,{className:t,ref:g,...X(c,u),"data-testid":`virtuoso-item-list`,style:{paddingBottom:e.offsetBottom,paddingTop:e.offsetTop},children:e.items.map(t=>{let o=i(t.index,t.data,u);return a?(0,N.jsx)(l,{...X(l,u),height:e.itemHeight,index:t.index,width:e.itemWidth},o):(0,M.createElement)(s,{...X(s,u),className:n,"data-index":t.index,key:o},r(t.index,t.data,u))})})}),eo=M.memo(function(){let e=$(`HeaderComponent`),t=oo(`headerHeight`),n=$(`headerFooterTag`),r=qn(M.useMemo(()=>e=>{t(Er(e,`height`))},[t]),!0,!1),i=$(`context`);return e==null?null:(0,N.jsx)(n,{ref:r,children:(0,N.jsx)(e,{...X(e,i)})})}),to=M.memo(function(){let e=$(`FooterComponent`),t=oo(`footerHeight`),n=$(`headerFooterTag`),r=qn(M.useMemo(()=>e=>{t(Er(e,`height`))},[t]),!0,!1),i=$(`context`);return e==null?null:(0,N.jsx)(n,{ref:r,children:(0,N.jsx)(e,{...X(e,i)})})}),no=({children:e})=>{let t=M.useContext(Ui),n=oo(`itemDimensions`),r=oo(`viewportDimensions`),i=qn(M.useMemo(()=>e=>{r(e.getBoundingClientRect())},[r]),!0,!1);return M.useEffect(()=>{t&&(r({height:t.viewportHeight,width:t.viewportWidth}),n({height:t.itemHeight,width:t.itemWidth}))},[t,r,n]),(0,N.jsx)(`div`,{ref:i,style:oa(!1),children:e})},ro=({children:e})=>{let t=M.useContext(Ui),n=oo(`windowViewportRect`),r=oo(`itemDimensions`),i=$(`customScrollParent`),a=$(`useWindowScroll`),o=Qn(n,i,!1);return M.useEffect(()=>{t&&(r({height:t.itemHeight,width:t.itemWidth}),n({listHeight:0,offsetTop:0,visibleHeight:t.viewportHeight,visibleWidth:t.viewportWidth}))},[t,n,r]),(0,N.jsx)(`div`,{ref:o,style:sa(!1,a),children:e})},{Component:io,useEmitter:ao,useEmitterValue:$,usePublisher:oo}=Vi(Qa,{optional:{context:`context`,totalCount:`totalCount`,overscan:`overscan`,itemContent:`itemContent`,components:`components`,computeItemKey:`computeItemKey`,data:`data`,initialItemCount:`initialItemCount`,scrollSeekConfiguration:`scrollSeekConfiguration`,headerFooterTag:`headerFooterTag`,listClassName:`listClassName`,itemClassName:`itemClassName`,useWindowScroll:`useWindowScroll`,customScrollParent:`customScrollParent`,scrollerRef:`scrollerRef`,logLevel:`logLevel`,restoreStateFrom:`restoreStateFrom`,initialTopMostItemIndex:`initialTopMostItemIndex`,increaseViewportBy:`increaseViewportBy`},methods:{scrollTo:`scrollTo`,scrollBy:`scrollBy`,scrollToIndex:`scrollToIndex`},events:{isScrolling:`isScrolling`,endReached:`endReached`,startReached:`startReached`,rangeChanged:`rangeChanged`,atBottomStateChange:`atBottomStateChange`,atTopStateChange:`atTopStateChange`,stateChanged:`stateChanged`,readyStateChanged:`readyStateChanged`}},M.memo(function({...e}){let t=$(`useWindowScroll`),n=$(`customScrollParent`),r=n||t?co:so,i=n||t?ro:no,a=$(`context`);return(0,N.jsx)(r,{...e,...X(r,a),children:(0,N.jsxs)(i,{children:[(0,N.jsx)(eo,{}),(0,N.jsx)($a,{}),(0,N.jsx)(to,{})]})})})),so=fa({useEmitter:ao,useEmitterValue:$,usePublisher:oo}),co=pa({useEmitter:ao,useEmitterValue:$,usePublisher:oo});function lo(e,t,n){return t!==`normal`&&t?.endsWith(`px`)!==!0&&n(`${e} was not resolved to pixel value correctly`,t,In.WARN),t===`normal`?0:parseInt(t??`0`,10)}function uo(){return(0,M.useSyncExternalStore)(e=>Se.subscribe(e),()=>Se.getPlayingKey(),()=>null)}function fo({attachment:e,outbound:n}){let r=e.kind===`image`,i=e.title||e.artifactId,[a,o]=(0,M.useState)(null),[s,c]=(0,M.useState)(null),[l,u]=(0,M.useState)(!1),[d,f]=(0,M.useState)(!1);(0,M.useEffect)(()=>{let t=!1,n=null;async function r(){u(!0),c(null),o(null);try{let r=await v(`/artifacts/${encodeURIComponent(e.artifactId)}/content`);if(t)return;n=URL.createObjectURL(r),o(n)}catch(e){t||c(e.message)}finally{t||u(!1)}}return r(),()=>{t=!0,n&&URL.revokeObjectURL(n)}},[e.artifactId]);function p(){if(!a)return;let e=document.createElement(`a`);e.href=a,e.download=i,document.body.appendChild(e),e.click(),e.remove()}return r?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`button`,{type:`button`,onClick:()=>a&&f(!0),disabled:!a,className:`group/img mt-2 block overflow-hidden rounded-md border border-foreground/10 bg-black/10 text-left disabled:cursor-default relative`,children:a?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`img`,{src:a,alt:i,loading:`lazy`,className:`block max-h-72 max-w-full object-contain`}),(0,N.jsx)(`span`,{className:`absolute inset-0 flex items-center justify-center bg-black/0 group-hover/img:bg-black/30 transition-colors`,children:(0,N.jsx)(de,{className:`w-6 h-6 text-white opacity-0 group-hover/img:opacity-100 transition-opacity drop-shadow-md`})})]}):(0,N.jsxs)(`span`,{className:y(`flex min-h-20 items-center gap-2 px-3 py-2 text-xs`,s?`text-red-400`:`text-muted-foreground`),children:[l?(0,N.jsx)(O,{className:`h-4 w-4 animate-spin`}):(0,N.jsx)(t,{className:`h-4 w-4`}),s||`Loading image`]})}),a&&(0,N.jsx)(ot,{open:d,onOpenChange:f,children:(0,N.jsxs)(nt,{className:`max-w-[95vw] max-h-[95vh] w-auto p-0 bg-black/95 border-zinc-800 gap-0 overflow-hidden`,showCloseButton:!1,children:[(0,N.jsx)(ut,{className:`sr-only`,children:i}),(0,N.jsxs)(`div`,{className:`relative flex items-center justify-center min-h-[200px]`,children:[(0,N.jsx)(`img`,{src:a,alt:i,className:`max-w-[93vw] max-h-[90vh] object-contain`}),(0,N.jsxs)(`div`,{className:`absolute top-2 right-2 flex gap-1`,children:[(0,N.jsx)(`button`,{type:`button`,onClick:p,className:`rounded-md bg-black/60 hover:bg-black/80 p-2 text-white transition-colors`,title:`Download`,children:(0,N.jsx)(_,{className:`w-4 h-4`})}),(0,N.jsx)(`button`,{type:`button`,onClick:()=>f(!1),className:`rounded-md bg-black/60 hover:bg-black/80 p-2 text-white transition-colors`,title:`Close`,children:(0,N.jsx)(ie,{className:`w-4 h-4`})})]})]})]})})]}):(0,N.jsxs)(`button`,{type:`button`,onClick:p,disabled:!a,className:y(`mt-2 flex w-full items-center gap-2 rounded-md border px-2.5 py-2 text-left text-xs transition-colors disabled:cursor-default disabled:opacity-70`,n?`border-primary-foreground/20 bg-primary-foreground/10 hover:bg-primary-foreground/15`:`border-border bg-background hover:bg-muted`),children:[l?(0,N.jsx)(O,{className:`h-4 w-4 shrink-0 animate-spin`}):s?(0,N.jsx)(t,{className:`h-4 w-4 shrink-0 text-red-400`}):(0,N.jsx)(se,{className:`h-4 w-4 shrink-0`}),(0,N.jsx)(`span`,{className:y(`min-w-0 flex-1 truncate`,s&&`text-red-400`),children:s||i}),(0,N.jsx)(_,{className:`h-3.5 w-3.5 shrink-0`})]})}function po({open:e,onToggle:t,onReact:n}){return(0,N.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,N.jsx)(`button`,{type:`button`,title:`Add reaction`,onClick:t,className:y(`inline-flex h-5 w-6 items-center justify-center rounded-full border border-border bg-popover text-muted-foreground shadow-sm transition hover:bg-muted hover:text-foreground`,e?`opacity-100`:`opacity-0 pointer-events-none md:group-hover/msg:opacity-100 md:group-hover/msg:pointer-events-auto`),children:(0,N.jsx)(E,{className:`h-3 w-3`})}),e&&(0,N.jsx)(`div`,{className:`absolute bottom-full left-0 z-30 mb-1 flex gap-0.5 rounded-full border border-border bg-popover p-0.5 shadow-md`,children:Dt.map(e=>(0,N.jsx)(`button`,{type:`button`,title:`React ${e}`,onClick:()=>n(e),className:`inline-flex h-6 w-7 items-center justify-center rounded-full text-xs transition-colors hover:bg-muted`,children:e},e))})]})}var mo=(0,M.memo)(function({msg:e,peer:t,onOpenReferencedPath:n,onPreviewReferencedPath:r,onPreviewReferencedPathEnd:i}){let a=e.from===Ge,o=k(e=>e.reactToMessage),s=k(e=>e.voiceTtsEnabled),c=uo(),l=k(e=>{let n=e.agentsById[t]?.meta?.cwd;return typeof n==`string`?n:``}),[u,d]=(0,M.useState)(!1),f=(0,M.useRef)(null),p=(0,M.useRef)(null),m=(0,M.useRef)(!1),g=ke(e),_=Nt(e.occurredAt??e.createdAt),v=Et(e),b=Ot(e),x=a?At(e,t):null,S=x?.icon,C=c===String(e.id),w=s&&!a&&!kt(e)&&g.trim().length>0;function T(t){t.stopPropagation(),C?Se.bargeIn():Se.speak(e.body,String(e.id))}(0,M.useEffect)(()=>{if(!u)return;function e(e){Tt()||f.current&&!f.current.contains(e.target)&&d(!1)}return document.addEventListener(`mousedown`,e),document.addEventListener(`touchstart`,e),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`touchstart`,e)}},[u]);function E(e){return xt(l||`/`,e)}function D(e,t){let r=E(e);n?.(r,t)}function te(e,t,n){let i=E(e);r?.(i,t,n)}function ne(t){o(e,t),d(!1)}function re(e){e.button===0&&(p.current={x:e.clientX,y:e.clientY},m.current=!1)}function ie(e){let t=p.current;t&&(Math.abs(e.clientX-t.x)>3||Math.abs(e.clientY-t.y)>3)&&(m.current=!0)}function ae(t){if(!(kt(e)||a)&&!t.target.closest(`a,button,input,textarea,select,[role="button"]`)){if(m.current||Tt()){m.current=!1;return}d(e=>!e)}}return(0,N.jsx)(`div`,{"data-msg-id":e.id,className:y(`group/msg flex mb-3`,a?`justify-end`:`justify-start`),children:(0,N.jsxs)(`div`,{ref:f,className:`relative max-w-[85%] md:max-w-[75%]`,children:[w&&(0,N.jsx)(`button`,{type:`button`,title:C?`Stop playback`:`Play aloud`,onClick:T,className:y(`absolute -top-2 -right-2 z-20 inline-flex h-6 w-6 items-center justify-center rounded-full border bg-popover shadow-sm transition`,C?`border-primary/50 text-primary opacity-100`:`border-border text-muted-foreground opacity-70 hover:bg-muted hover:text-foreground hover:opacity-100 [@media(hover:hover)]:md:opacity-0 [@media(hover:hover)]:md:group-hover/msg:opacity-100`),children:C?(0,N.jsx)(h,{className:`h-3.5 w-3.5 animate-pulse`}):(0,N.jsx)(ee,{className:`h-3.5 w-3.5`})}),(0,N.jsxs)(`div`,{className:y(`rounded-2xl px-3.5 py-2 text-sm select-text`,!a&&!kt(e)&&`cursor-pointer`,a?`bg-primary text-primary-foreground rounded-br-sm`:`bg-card ring-1 ring-foreground/10 rounded-bl-sm`),onPointerDown:re,onPointerMove:ie,onClick:ae,children:[e.subject&&(0,N.jsx)(`p`,{className:y(`text-xs font-semibold mb-1`,a?`text-primary-foreground/70`:`text-muted-foreground`),children:e.subject}),(0,N.jsx)(pt,{text:g,rawBody:e.body,className:`leading-relaxed`,onOpenPath:D,onPreviewPath:te,onPreviewPathEnd:i,resolvePathTitle:(e,t)=>`${E(e)}${t?`:${t}`:``}`}),v.map(t=>(0,N.jsx)(fo,{attachment:t,outbound:a},`${e.id}-${t.artifactId}-${t.role||``}`)),(0,N.jsxs)(`p`,{className:y(`text-xs mt-1 flex items-center gap-1.5`,a?`justify-end text-primary-foreground/60`:`justify-end text-muted-foreground`),children:[(0,N.jsxs)(`span`,{className:`opacity-40`,children:[`#`,e.id]}),(0,N.jsx)(`span`,{children:_}),x&&S&&(0,N.jsxs)(`span`,{className:y(`inline-flex items-center gap-1`,x.tone===`ok`&&`text-emerald-300`,x.tone===`warn`&&`text-amber-200`,x.tone===`danger`&&`text-red-200`),title:x.title,children:[(0,N.jsx)(S,{className:`h-3 w-3`}),x.label]})]})]}),!kt(e)&&b.length>0&&(0,N.jsxs)(`div`,{className:y(`flex flex-wrap items-center gap-0.5 -mt-1 relative z-10`,a?`justify-end pr-2`:`justify-start pl-2`),children:[!a&&(0,N.jsx)(po,{open:u,onToggle:()=>d(e=>!e),onReact:ne}),b.map(e=>(0,N.jsxs)(`button`,{type:`button`,title:e.actors.join(`, `),onClick:()=>ne(e.emoji),className:y(`inline-flex h-5 items-center gap-0.5 rounded-full border px-1.5 text-[11px] shadow-sm transition-colors`,e.mine?`border-primary/40 bg-primary/10 text-primary`:`border-border bg-background hover:bg-muted text-foreground`),children:[(0,N.jsx)(`span`,{children:e.emoji}),e.count>1&&(0,N.jsx)(`span`,{children:e.count})]},e.emoji))]}),!kt(e)&&!a&&b.length===0&&(0,N.jsx)(`div`,{className:`absolute -bottom-2.5 left-1 z-20`,children:(0,N.jsx)(po,{open:u,onToggle:()=>d(e=>!e),onReact:ne})})]})})});function ho({agentId:e,approval:n}){let r=k(e=>e.sendPermissionDecision),[i,a]=(0,M.useState)(null);if(!n)return null;if(n.questions&&n.questions.length)return(0,N.jsx)(vo,{agentId:e,approval:n,questions:n.questions});let o=n,s=n.choices.length?n.choices:[{id:`approve`,label:`Approve`},{id:`deny`,label:`Deny`}];async function c(t){if(!i){a(t.id);try{await r(e,o.id,t.id)}finally{a(null)}}}let l=n.kind===`plan`;return(0,N.jsx)(`div`,{className:`flex justify-start mb-3`,children:(0,N.jsx)(`div`,{className:`max-w-[92%] md:max-w-[78%] rounded-2xl rounded-bl-sm bg-card ring-1 ring-amber-500/35 px-3.5 py-3 text-sm`,children:(0,N.jsxs)(`div`,{className:`flex items-start gap-2`,children:[l?(0,N.jsx)(T,{className:`mt-0.5 h-4 w-4 shrink-0 text-amber-400`}):(0,N.jsx)(t,{className:`mt-0.5 h-4 w-4 shrink-0 text-amber-400`}),(0,N.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,N.jsx)(`div`,{className:`text-sm font-medium text-amber-100`,children:n.title}),n.body&&(l?(0,N.jsx)(`div`,{className:`mt-2 max-h-72 overflow-auto rounded-md bg-background/60 p-2.5 text-xs leading-relaxed`,children:(0,N.jsx)(pt,{text:n.body,rawBody:n.body,className:`leading-relaxed`})}):(0,N.jsx)(`pre`,{className:`mt-2 max-h-44 overflow-auto whitespace-pre-wrap break-words rounded-md bg-background/80 p-2 font-mono text-xs leading-relaxed text-muted-foreground`,children:n.body})),(0,N.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:s.map(e=>(0,N.jsxs)(j,{size:`sm`,variant:e.id===`deny`||e.id===`abort`?`outline`:`default`,disabled:!!i,onClick:()=>void c(e),className:`h-7 px-2 text-xs`,children:[i===e.id&&(0,N.jsx)(O,{className:`mr-1.5 h-3 w-3 animate-spin`}),e.label]},e.id))})]})]})})})}function go(e){return e?e.otherActive&&e.other.trim()?!0:e.labels.length>0:!1}function _o(e){let t=[...e.labels];return e.otherActive&&e.other.trim()&&t.push(e.other.trim()),t.join(`, `)}function vo({agentId:e,approval:t,questions:n}){let r=k(e=>e.sendPermissionDecision),[i,a]=(0,M.useState)(0),[o,s]=(0,M.useState)({}),[c,l]=(0,M.useState)(null),u=n[Math.min(i,n.length-1)],d=o[i];if(!u)return null;let f=!!u.multiSelect,p=n.length,m=i===p-1,h=go(d),g=n.every((e,t)=>go(o[t])),_=!!c;function v(e){s(t=>{let n=t[i]??{labels:[],other:``,otherActive:!1};return{...t,[i]:{...n,...e}}})}function b(e){if(f){let t=d?.labels.includes(e);v({labels:t?(d?.labels??[]).filter(t=>t!==e):[...d?.labels??[],e]})}else v({labels:[e],otherActive:!1})}function x(){v(f?{otherActive:!d?.otherActive}:{labels:[],otherActive:!0})}async function S(){if(!(!g||_)){l(`answer`);try{let i={};n.forEach((e,t)=>{let n=o[t];n&&(i[e.question]=_o(n))}),await r(e,t.id,`answer`,i)}finally{l(null)}}}async function w(){if(!_){l(`dismiss`);try{await r(e,t.id,`deny`)}finally{l(null)}}}let T=!!d?.otherActive;return(0,N.jsx)(`div`,{className:`flex justify-start mb-3`,children:(0,N.jsxs)(`div`,{className:`w-full max-w-[92%] md:max-w-[78%] rounded-2xl rounded-bl-sm bg-card ring-1 ring-amber-500/35 px-3.5 py-3 text-sm`,children:[(0,N.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,N.jsx)(C,{className:`h-4 w-4 shrink-0 text-amber-400`}),(0,N.jsx)(`div`,{className:`text-sm font-medium text-amber-100`,children:t.title}),p>1&&(0,N.jsxs)(qe,{variant:`outline`,className:`ml-auto h-5 px-1.5 text-[10px] text-muted-foreground`,children:[i+1,` / `,p]})]}),(0,N.jsxs)(`div`,{className:`mt-3`,children:[u.header&&(0,N.jsx)(`div`,{className:`text-[11px] font-semibold uppercase tracking-wide text-amber-300/80`,children:u.header}),(0,N.jsx)(`div`,{className:`mt-0.5 text-sm text-foreground whitespace-pre-wrap break-words`,children:u.question}),f&&(0,N.jsx)(`div`,{className:`mt-0.5 text-[11px] text-muted-foreground`,children:`Select all that apply`}),(0,N.jsxs)(`div`,{className:`mt-2 flex flex-col gap-1.5`,children:[u.options.map(e=>{let t=!!d?.labels.includes(e.label);return(0,N.jsxs)(`button`,{type:`button`,disabled:_,onClick:()=>b(e.label),className:y(`flex items-start gap-2 rounded-lg border px-2.5 py-2 text-left transition-colors`,t?`border-amber-500/60 bg-amber-500/10`:`border-border bg-background/60 hover:bg-background`,_&&`opacity-60`),children:[(0,N.jsx)(`span`,{className:y(`mt-0.5 flex h-4 w-4 shrink-0 items-center justify-center border text-amber-300`,f?`rounded`:`rounded-full`,t?`border-amber-400 bg-amber-400/20`:`border-muted-foreground/40`),children:t&&(0,N.jsx)(ae,{className:`h-3 w-3`})}),(0,N.jsxs)(`span`,{className:`min-w-0`,children:[(0,N.jsx)(`span`,{className:`text-sm text-foreground`,children:e.label}),e.description&&(0,N.jsx)(`span`,{className:`block text-xs text-muted-foreground`,children:e.description})]})]},e.label)}),(0,N.jsxs)(`button`,{type:`button`,disabled:_,onClick:x,className:y(`flex items-start gap-2 rounded-lg border px-2.5 py-2 text-left transition-colors`,T?`border-amber-500/60 bg-amber-500/10`:`border-border bg-background/60 hover:bg-background`,_&&`opacity-60`),children:[(0,N.jsx)(`span`,{className:y(`mt-0.5 flex h-4 w-4 shrink-0 items-center justify-center border text-amber-300`,f?`rounded`:`rounded-full`,T?`border-amber-400 bg-amber-400/20`:`border-muted-foreground/40`),children:T&&(0,N.jsx)(ae,{className:`h-3 w-3`})}),(0,N.jsx)(`span`,{className:`text-sm text-foreground`,children:`Other…`})]}),T&&(0,N.jsx)(ft,{autoFocus:!0,rows:2,disabled:_,value:d?.other??``,onChange:e=>v({other:e.target.value,otherActive:!0}),placeholder:`Type your answer`,className:`mt-1 text-sm`})]})]}),(0,N.jsxs)(`div`,{className:`mt-3 flex items-center gap-1.5`,children:[i>0&&(0,N.jsxs)(j,{size:`sm`,variant:`outline`,disabled:_,onClick:()=>a(e=>e-1),className:`h-7 px-2 text-xs`,children:[(0,N.jsx)(le,{className:`mr-1 h-3 w-3`}),`Back`]}),m?(0,N.jsxs)(j,{size:`sm`,disabled:_||!g,onClick:()=>void S(),className:`h-7 px-2 text-xs`,children:[c===`answer`&&(0,N.jsx)(O,{className:`mr-1.5 h-3 w-3 animate-spin`}),`Send answer`,p>1?`s`:``]}):(0,N.jsxs)(j,{size:`sm`,disabled:_||!h,onClick:()=>a(e=>e+1),className:`h-7 px-2 text-xs`,children:[`Next`,(0,N.jsx)(me,{className:`ml-1 h-3 w-3`})]}),(0,N.jsxs)(j,{size:`sm`,variant:`ghost`,disabled:_,onClick:()=>void w(),className:`ml-auto h-7 px-2 text-xs text-muted-foreground`,children:[c===`dismiss`&&(0,N.jsx)(O,{className:`mr-1.5 h-3 w-3 animate-spin`}),`Dismiss`]})]})]})})}var yo={online:`text-emerald-400`,offline:`text-zinc-400`,shutdown:`text-zinc-400`,restarted:`text-blue-400`,"compaction-requested":`text-zinc-400`,compacting:`text-amber-400`,compacted:`text-amber-400`,"compaction-stalled":`text-red-400`,"clear-requested":`text-zinc-400`,"clearing-context":`text-amber-400`,"context-cleared":`text-amber-400`,"clear-stalled":`text-red-400`,"shutting-down":`text-zinc-400`};function bo(e){let t=new Date,[n,r,i]=e.split(`-`).map(Number),a=new Date(n,r-1,i);if(e===$t(t.getTime()))return`Today`;let o=new Date(t);return o.setDate(o.getDate()-1),e===$t(o.getTime())?`Yesterday`:a.toLocaleDateString(void 0,{weekday:`short`,month:`short`,day:`numeric`,year:a.getFullYear()===t.getFullYear()?void 0:`numeric`})}function xo({event:e}){return(0,N.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-2 my-1`,children:[(0,N.jsx)(`div`,{className:`h-px flex-1 bg-border`}),(0,N.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,N.jsx)(ue,{className:y(`w-2 h-2 fill-current`,yo[e.status]||`text-zinc-400`)}),(0,N.jsx)(`span`,{children:Jt[e.status]||e.status}),(0,N.jsx)(`span`,{className:`text-muted-foreground/60`,children:Nt(e.timestamp)})]}),(0,N.jsx)(`div`,{className:`h-px flex-1 bg-border`})]})}function So({blockedLabel:e,onInterrupt:n}){return e?(0,N.jsx)(`div`,{className:`flex justify-start mb-3`,children:(0,N.jsxs)(`div`,{className:`flex items-center gap-2 rounded-2xl rounded-bl-sm bg-card ring-1 ring-red-500/30 px-4 py-2.5`,children:[(0,N.jsx)(t,{className:`w-3.5 h-3.5 text-red-400`}),(0,N.jsxs)(`span`,{className:`text-xs text-red-300`,children:[`blocked: `,e]})]})}):(0,N.jsx)(`div`,{className:`flex justify-start mb-3`,children:(0,N.jsxs)(`div`,{className:`flex items-center gap-2 rounded-2xl rounded-bl-sm bg-card ring-1 ring-foreground/10 px-4 py-2.5`,children:[(0,N.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,N.jsx)(`span`,{className:`w-1.5 h-1.5 rounded-full bg-yellow-400 animate-[pulse_1.4s_ease-in-out_infinite]`}),(0,N.jsx)(`span`,{className:`w-1.5 h-1.5 rounded-full bg-yellow-400 animate-[pulse_1.4s_ease-in-out_0.2s_infinite]`}),(0,N.jsx)(`span`,{className:`w-1.5 h-1.5 rounded-full bg-yellow-400 animate-[pulse_1.4s_ease-in-out_0.4s_infinite]`})]}),(0,N.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`working`}),n&&(0,N.jsxs)(`button`,{onClick:n,title:`Interrupt`,className:`ml-1 flex items-center gap-1 rounded-full px-1.5 py-0.5 text-xs text-muted-foreground hover:text-red-300 hover:bg-red-500/10 transition-colors`,children:[(0,N.jsx)(h,{className:`w-3.5 h-3.5`}),`Stop`]})]})})}var Co=`agent-relay:chat-hide-tools`,wo=(()=>{let e=new Set,t=(()=>{try{return window.localStorage.getItem(Co)===`on`}catch{return!1}})(),n=()=>e.forEach(e=>e());return typeof window<`u`&&window.addEventListener(`storage`,e=>{e.key===Co&&(t=e.newValue===`on`,n())}),{subscribe(t){return e.add(t),()=>e.delete(t)},get:()=>t,toggle(){t=!t;try{window.localStorage.setItem(Co,t?`on`:`off`)}catch{}n()}}})();function To(){return[(0,M.useSyncExternalStore)(wo.subscribe,wo.get,()=>!1),wo.toggle]}function Eo({steps:e,showReasoning:t}){let[n,r]=To(),i=t?e:e.filter(e=>e.kind!==`reasoning`);if(!i.length)return null;let a=i.filter(e=>e.kind===`tool`).length;return(0,N.jsx)(`div`,{className:`flex justify-start mb-2`,children:(0,N.jsxs)(`div`,{className:`max-w-[85%] md:max-w-[75%] min-w-0 space-y-1.5`,children:[i.map(e=>e.kind===`narration`?(0,N.jsx)(`div`,{className:`text-sm leading-relaxed whitespace-pre-wrap break-words text-foreground/90 min-w-0`,children:e.text},e.id):e.kind===`reasoning`?(0,N.jsxs)(`div`,{className:`flex items-start gap-1.5 text-xs leading-relaxed text-muted-foreground/80`,children:[(0,N.jsx)(D,{className:`w-3.5 h-3.5 mt-0.5 shrink-0 opacity-70`}),(0,N.jsx)(`span`,{className:`italic whitespace-pre-wrap break-words min-w-0`,children:e.text})]},e.id):n?null:(0,N.jsxs)(`div`,{className:`flex items-start gap-1.5 text-xs leading-relaxed text-muted-foreground`,children:[(0,N.jsx)(re,{className:`w-3 h-3 mt-0.5 shrink-0 opacity-70`}),(0,N.jsxs)(`span`,{className:`min-w-0 break-words`,children:[(0,N.jsx)(`span`,{className:`font-medium`,children:e.label||`tool`}),e.text?(0,N.jsxs)(`span`,{className:`opacity-70`,children:[` — `,e.text]}):null]})]},e.id)),a>0&&(0,N.jsxs)(`button`,{onClick:r,className:`flex items-center gap-1 text-[11px] text-muted-foreground/50 hover:text-muted-foreground transition-colors text-left`,children:[(0,N.jsx)(me,{className:y(`w-3 h-3 shrink-0 transition-transform`,!n&&`rotate-90`)}),(0,N.jsx)(`span`,{children:n?`show ${a} tool step${a===1?``:`s`}`:`hide tool steps`})]})]})})}function Do({date:e}){return(0,N.jsxs)(`div`,{className:`flex items-center justify-center gap-3 py-3 my-1`,children:[(0,N.jsx)(`div`,{className:`h-px flex-1 bg-border`}),(0,N.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:bo(e)}),(0,N.jsx)(`div`,{className:`h-px flex-1 bg-border`})]})}function Oo({timestamp:e}){let t=new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,year:`numeric`,hour:`2-digit`,minute:`2-digit`});return(0,N.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-2 my-1`,children:[(0,N.jsx)(`div`,{className:`h-px flex-1 bg-border`}),(0,N.jsxs)(`span`,{className:`text-xs text-muted-foreground/60`,children:[`created `,t]}),(0,N.jsx)(`div`,{className:`h-px flex-1 bg-border`})]})}function ko({history:e}){let t=e.sourceAgentLabel||e.sourcePeerId,n=e.entries.length;return(0,N.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-2 my-1`,children:[(0,N.jsx)(`div`,{className:`h-px flex-1 bg-border`}),(0,N.jsxs)(`div`,{className:`flex items-center gap-1.5 rounded-full border border-dashed border-border bg-muted/30 px-2 py-1 text-[11px] text-muted-foreground`,children:[(0,N.jsx)(be,{className:`h-3 w-3`}),(0,N.jsxs)(`span`,{children:[`forked history from `,t]}),(0,N.jsxs)(`span`,{className:`text-muted-foreground/60`,children:[n,` `,n===1?`entry`:`entries`]})]}),(0,N.jsx)(`div`,{className:`h-px flex-1 bg-border`})]})}function Ao({entry:e,sourceLabel:t}){let n=e.message,r=ke(n),i=e.originalFrom===Ge;return(0,N.jsx)(`div`,{className:y(`flex mb-3 opacity-80`,i?`justify-end`:`justify-start`),children:(0,N.jsx)(`div`,{className:`max-w-[85%] md:max-w-[75%]`,children:(0,N.jsxs)(`div`,{className:y(`rounded-2xl border border-dashed px-3.5 py-2 text-sm select-text`,i?`border-primary/25 bg-primary/10 text-foreground rounded-br-sm`:`border-border bg-card/70 rounded-bl-sm`),children:[(0,N.jsxs)(`div`,{className:y(`mb-1 text-[10px] uppercase tracking-normal`,i?`text-primary/70`:`text-muted-foreground`),children:[`forked history · `,i?`you`:t||e.originalFrom]}),(0,N.jsx)(pt,{text:r,rawBody:n.body,className:`leading-relaxed`}),(0,N.jsxs)(`p`,{className:y(`mt-1 flex items-center justify-end gap-1.5 text-xs`,i?`text-primary/60`:`text-muted-foreground`),children:[(0,N.jsxs)(`span`,{className:`opacity-40`,children:[`#`,e.originalMessageId]}),(0,N.jsx)(`span`,{children:Nt(e.originalCreatedAt)})]})]})})})}function jo({scrollRef:e,timeline:t}){let[n,r]=(0,M.useState)(!0),[i,a]=(0,M.useState)(null),[o,s]=(0,M.useState)(null),[c,l]=(0,M.useState)(!0),u=(0,M.useMemo)(()=>{for(let e=t.length-1;e>=0;e--){let n=t[e];if(!(!n||n.type!==`message`)&&n.msg.from===`user`)return{id:n.msg.id,body:ke(n.msg)}}return null},[t]);if((0,M.useEffect)(()=>{let t=e.current;if(!u||!t){r(!0);return}let n=t.querySelector(`[data-msg-id="${u.id}"]`);if(!n){r(!0);return}let i=new IntersectionObserver(([e])=>{if(e&&(r(e.isIntersecting),!e.isIntersecting)){let n=e.rootBounds?.top??t.getBoundingClientRect().top;l(e.boundingClientRect.top<n)}},{root:t,threshold:0});i.observe(n);let a=()=>{let e=n.getBoundingClientRect(),r=t.getBoundingClientRect();l(e.top<r.top)};return t.addEventListener(`scroll`,a,{passive:!0}),()=>{i.disconnect(),t.removeEventListener(`scroll`,a)}},[u?.id,e]),n||!u||!u.body.trim())return null;let d=i?.id===u.id?i.value:!1,f=o?.id===u.id?o.value:!1;function p(){let t=e.current;!t||!u||t.querySelector(`[data-msg-id="${u.id}"]`)?.scrollIntoView({behavior:`smooth`,block:`center`})}let m=c?`↑`:`↓`;return f?(0,N.jsx)(`div`,{className:`sticky top-0 z-10 -mx-3 md:-mx-4 -mt-3 md:-mt-4 bg-background`,children:(0,N.jsxs)(`button`,{type:`button`,className:`w-full flex items-center justify-center gap-1.5 py-1 text-[11px] text-primary/60 hover:text-primary border-b border-primary/10 transition-colors`,onClick:()=>s({id:u.id,value:!1}),children:[(0,N.jsx)(`span`,{children:`Your prompt`}),(0,N.jsx)(fe,{className:`w-3 h-3`})]})}):(0,N.jsxs)(`div`,{className:`sticky top-0 z-10 -mx-3 md:-mx-4 -mt-3 md:-mt-4 px-2 md:px-3 pt-2 pb-1.5 bg-background border-b border-primary/10`,children:[(0,N.jsxs)(`div`,{className:`flex items-center gap-2 text-[11px] text-muted-foreground mb-0.5`,children:[(0,N.jsx)(`span`,{className:`font-medium text-primary/70`,children:`Your prompt`}),(0,N.jsxs)(`button`,{type:`button`,className:`ml-auto hover:text-foreground transition-colors`,onClick:p,children:[m,` scroll to original`]}),(0,N.jsx)(`button`,{type:`button`,className:`hover:text-foreground transition-colors`,onClick:()=>s({id:u.id,value:!0}),title:`Minimize`,children:(0,N.jsx)(te,{className:`w-3 h-3`})})]}),(0,N.jsx)(`p`,{className:y(`text-sm text-foreground leading-snug cursor-pointer`,!d&&`line-clamp-2`),onClick:()=>a({id:u.id,value:!d}),children:u.body})]})}var Mo=1e6;function No(e){return e.type===`message`?`msg-${e.msg.id}`:e.type===`activity`?`act-${e.steps[0]?.id??e.timestamp}-${e.steps[e.steps.length-1]?.id??`end`}`:e.type===`import-boundary`?`import-${e.history.id}`:e.type===`imported-message`?`import-msg-${e.history.id}-${e.entry.originalMessageId}-${e.entry.position}`:e.type===`status`?`status-${e.event.id}`:e.type===`date`?`date-${e.date}`:`created-${e.timestamp}`}function Po(e){let t=e.findIndex(e=>e.type!==`date`&&e.type!==`created`),n=t>=0?t:0,r=e[n];return{key:r?No(r):null,index:n}}function Fo(e,t){let[n,r]=(0,M.useState)(()=>Mo-t.length),i=(0,M.useRef)({agentId:e,anchor:Po(t)});return(0,M.useLayoutEffect)(()=>{let n=Po(t),a=i.current;r(n=>{if(a.agentId!==e)return Mo-t.length;if(!a.anchor.key)return n;let r=t.findIndex(e=>No(e)===a.anchor.key)-a.anchor.index;return r>0?n-r:n}),i.current={agentId:e,anchor:n}},[e,t]),n}function Io({agentId:e,agentStatus:t,timeline:n,hasMore:r,loading:i,loadedInitial:a,showReasoning:o,pendingApproval:s,blockedLabel:c,canInterrupt:l,stickToBottom:u,onAtBottomChange:d,onLoadOlder:f,onInterrupt:p,onOpenReferencedPath:h,onPreviewReferencedPath:g,onPreviewReferencedPathEnd:_}){let v=(0,M.useRef)(null),y=(0,M.useRef)(null),[b,S]=(0,M.useState)(!0),C=Fo(e,n),w=n.length>0?No(n[n.length-1]):null,T=(0,M.useRef)(w),E=(0,M.useRef)(e);E.current!==e&&(E.current=e,T.current=w);let ee=T.current?n.findIndex(e=>No(e)===T.current):-1,D=!b&&ee>=0?n.slice(ee+1).filter(e=>e.type===`message`).length:0;(0,M.useLayoutEffect)(()=>{b&&(T.current=w)},[b,w]);let te=(0,M.useCallback)(e=>{y.current=e instanceof HTMLElement?e:null},[]),ne=(0,M.useCallback)(e=>{S(e),d(e)},[d]),re=(0,M.useCallback)(()=>{!r||i||f()},[r,i,f]),ie=(0,M.useCallback)(()=>{T.current=w,v.current?.scrollToIndex({index:`LAST`,align:`end`,behavior:`smooth`})},[w]),ae=(0,M.useMemo)(()=>function(){return(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(jo,{scrollRef:y,timeline:n}),(0,N.jsx)(Lo,{hasMore:r,loading:i,loadedInitial:a,hasItems:n.length>0})]})},[r,a,i,n]),oe=(0,M.useMemo)(()=>function(){return(0,N.jsxs)(N.Fragment,{children:[s&&(0,N.jsx)(ho,{agentId:e,approval:s}),t===`busy`&&!s&&(0,N.jsx)(So,{blockedLabel:c,onInterrupt:l?p:void 0})]})},[e,t,c,l,p,s]),se=(0,M.useMemo)(()=>function(){return(0,N.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center text-center`,children:[i?(0,N.jsx)(O,{className:`mb-2 h-5 w-5 animate-spin text-muted-foreground`}):(0,N.jsx)(m,{className:`mb-2 h-8 w-8 text-zinc-600`}),(0,N.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:i?`Loading messages`:`No messages yet`})]})},[i]),ce=(0,M.useMemo)(()=>({Header:ae,Footer:oe,EmptyPlaceholder:se}),[se,oe,ae]);return(0,N.jsxs)(`div`,{className:`relative min-h-0 flex-1`,children:[(0,N.jsx)(Sa,{ref:v,scrollerRef:te,className:`h-full px-3 py-3 md:px-4 md:py-4`,style:{height:`100%`},data:n,firstItemIndex:C,initialTopMostItemIndex:Math.max(0,n.length-1),computeItemKey:(e,t)=>No(t),itemContent:(t,n)=>(0,N.jsx)(Ro,{entry:n,agentId:e,showReasoning:o,onOpenReferencedPath:h,onPreviewReferencedPath:g,onPreviewReferencedPathEnd:_}),components:ce,startReached:re,atBottomStateChange:ne,followOutput:u?`smooth`:!1,increaseViewportBy:{top:600,bottom:600}},e),!b&&n.length>0&&(0,N.jsxs)(j,{type:`button`,size:`sm`,variant:`secondary`,className:`absolute bottom-3 right-4 z-20 h-8 gap-1.5 rounded-full border border-border/70 bg-background/95 px-3 text-xs shadow-lg backdrop-blur`,onClick:ie,children:[(0,N.jsx)(x,{className:`h-3.5 w-3.5`}),`Latest`,D>0&&(0,N.jsx)(`span`,{className:`ml-0.5 min-w-4 rounded-full bg-primary px-1.5 py-0.5 text-[10px] font-medium leading-none text-primary-foreground`,children:D>99?`99+`:D})]})]})}function Lo({hasMore:e,loading:t,loadedInitial:n,hasItems:r}){return t?(0,N.jsxs)(`div`,{className:`flex items-center justify-center gap-2 pb-3 text-xs text-muted-foreground`,children:[(0,N.jsx)(O,{className:`h-3.5 w-3.5 animate-spin`}),(0,N.jsx)(`span`,{children:`Loading earlier messages`})]}):!e&&n&&r?(0,N.jsxs)(`div`,{className:`flex items-center justify-center gap-2 pb-3 text-xs text-muted-foreground/70`,children:[(0,N.jsx)(`div`,{className:`h-px flex-1 bg-border`}),(0,N.jsx)(`span`,{children:`Beginning of conversation`}),(0,N.jsx)(`div`,{className:`h-px flex-1 bg-border`})]}):null}function Ro({entry:e,agentId:t,showReasoning:n,onOpenReferencedPath:r,onPreviewReferencedPath:i,onPreviewReferencedPathEnd:a}){return e.type===`message`?(0,N.jsx)(mo,{msg:e.msg,peer:t,onOpenReferencedPath:r,onPreviewReferencedPath:i,onPreviewReferencedPathEnd:a}):e.type===`activity`?(0,N.jsx)(Eo,{steps:e.steps,showReasoning:n}):e.type===`import-boundary`?(0,N.jsx)(ko,{history:e.history}):e.type===`imported-message`?(0,N.jsx)(Ao,{entry:e.entry,sourceLabel:e.history.sourceAgentLabel||e.history.sourcePeerId}):e.type===`status`?(0,N.jsx)(xo,{event:e.event}):e.type===`date`?(0,N.jsx)(Do,{date:e.date}):(0,N.jsx)(Oo,{timestamp:e.timestamp})}var zo=[];function Bo({threads:e,onBack:t,showBackButton:n}){let r=k(e=>e.selectedInboxThread),i=k(e=>e.agentsById),a=k(e=>e.inboxDrafts),o=Ce(),c=k(e=>e.sendChatMessage),l=k(e=>e.openFilesAt),u=k(e=>e.openFilesForAgent),d=k(e=>e.openAgentDetail),f=k(e=>e.chatSending),p=k(e=>e.markInboxThreadRead),h=k(e=>e.markInboxThreadUnread),g=k(e=>e.setReplyDraft),_=k(e=>e.exportThread),v=k(e=>e.doAgentAction),y=k(e=>e.workspaceAction),b=k(e=>e.openWorkspaceFocus),x=k(e=>e.forkFromAgent),S=k(e=>e.chatHistoryImports),C=k(e=>e.agentChatByAgent[e.selectedInboxThread]),w=C?.messages??zo,T=k(e=>e.loadOlder),E=k(e=>e.openConfirm),ee=k(e=>e.showError),D=k(e=>e.orchestrators),te=k(e=>e.fetchOrchestrators),ne=k(e=>e.showReasoning),re=k(e=>e.voiceTtsEnabled),ae=k(e=>e.setVoiceTtsEnabled),O=k(e=>e.voiceInputMode);(0,M.useRef)(null);let se=(0,M.useRef)(null),[ce,le]=(0,M.useState)(`idle`),ue=(0,M.useRef)([]),[de,fe]=(0,M.useState)([]),[pe,me]=(0,M.useState)(!1),[he,ge]=(0,M.useState)(null),[_e,ve]=(0,M.useState)(null),[ye,be]=(0,M.useState)(``),[xe,De]=(0,M.useState)(!0),Oe=(0,M.useRef)(null),ke=(0,M.useRef)(0),Ae=an(r),je=(0,M.useMemo)(()=>e.find(e=>e.peer===r)||null,[e,r]),Me=(0,M.useMemo)(()=>w.filter(e=>Le(e)===r&&!Ke(e)).sort((e,t)=>e.id-t.id),[w,r]),A=i[r]||null,Pe=typeof A?.meta?.lifecycleAction==`string`&&A.meta.lifecycleAction.startsWith(`finalizing-`),{terminalOpen:Fe,terminalTarget:Ie,terminalOpening:Be,openTerminal:Ve,closeTerminal:He}=vt(A?.id),Ue=typeof A?.meta?.spawnRequestId==`string`?A.meta.spawnRequestId:``,We=(0,M.useMemo)(()=>S.filter(e=>e.targetAgentId===r||!!(Ue&&e.targetSpawnRequestId===Ue)),[Ue,S,r]),Ge=Ne(A),qe=Ge?.pendingApproval,Je=(0,M.useMemo)(()=>{if(!r||!je&&Me.length===0)return null;let e=Me[Me.length-1]??je?.lastMessage??null,t=je?.previewMessage&&Me.some(e=>e.id===je.previewMessage?.id)?je.previewMessage:e;return{id:je?.id??r,peer:r,messages:Me,lastMessage:e,previewMessage:t,attention:je?.attention??{unread:0,needsHumanResponse:!1,score:0},archived:je?.archived??!1,draft:je?.draft??``}},[r,je,Me]),Ye=Je||(We.length>0?{peer:r,messages:[],importedHistory:We}:null),Xe=a[r]||``,Ze=typeof A?.meta?.tmuxSession==`string`&&A.meta.tmuxSession.trim()?A.meta.tmuxSession:null,Qe=Ze?D.find(e=>e.managedAgents?.some(e=>e.agentId===A.id||e.tmuxSession===Ze))??null:null,$e=!!(Ze&&Qe?.status===`online`&&A?.providerCapabilities?.terminal?.live?.read),et=A?.providerCapabilities?.model?.provider??(typeof A?.meta?.provider==`string`?A.meta.provider:void 0),tt=!!($e&&(A?.providerCapabilities?.terminal?.live?.write||et===`claude`)),nt=A?.providerCapabilities?.terminal?.attach?.create===!0,rt=$e||nt,it=Re(A,`compact`),at=Re(A,`clearContext`),ot=Re(A,`shutdown`),st=Re(A,`interrupt`),lt=()=>{A&&v(A,`interrupt`)},[ut,dt]=(0,M.useState)(0),[ft,pt]=(0,M.useState)(!1),ht=A?.providerCapabilities?.liveSession?.slashCommands===!0,_t=A?.providerCapabilities?.model?.provider??(typeof A?.meta?.provider==`string`?A.meta.provider:void 0),yt=ht&&!ft&&/^\/\S*$/.test(Xe)?Bt(_t).filter(e=>e.name.toLowerCase().startsWith(Xe.toLowerCase())):[],bt=yt.length?Math.min(ut,yt.length-1):0;function xt(e){g(r,`${e.name} `),dt(0)}function Tt(e){g(r,e),ft&&pt(!1),dt(0)}let Et=de.some(e=>e.uploading),Dt=de.filter(e=>e.artifact);on(Xe.trim().length>0||de.length>0,(0,M.useCallback)(()=>{},[])),ue.current=de,(0,M.useEffect)(()=>()=>{Pt(ue.current)},[]),(0,M.useEffect)(()=>{A?.meta?.tmuxSession&&D.length===0&&te()},[A?.id,A?.meta?.tmuxSession,D.length]),(0,M.useEffect)(()=>()=>{Oe.current!==null&&window.clearTimeout(Oe.current)},[]);let Ot=(0,M.useMemo)(()=>tn(Me,Ae,A?.createdAt,We),[Me,Ae,A?.createdAt,We]),kt=(0,M.useCallback)(()=>{!r||!C?.hasMore||C.loading||T(r)},[C?.hasMore,C?.loading,T,r]),At=(0,M.useCallback)(()=>{Oe.current!==null&&(window.clearTimeout(Oe.current),Oe.current=null)},[]),jt=(0,M.useCallback)(async e=>{let t=Ct(D,e);if(!t)return null;try{let n=await oe(`GET`,`/orchestrators/${encodeURIComponent(t.id)}/files/stat?path=${encodeURIComponent(e)}`);return{orchestratorId:t.id,path:n.path,type:n.type}}catch{return null}},[D]),Mt=(0,M.useCallback)((e,t,n)=>{if(!wt()||!n)return;let r=++ke.current;jt(e).then(e=>{ke.current===r&&e&&(At(),ve({...e,line:t||0,anchor:n}),be(``))})},[At,jt]),Nt=(0,M.useCallback)(()=>{ke.current+=1,At(),Oe.current=window.setTimeout(()=>{ve(null)},250)},[At]),Ft=(0,M.useCallback)((e,t)=>{jt(e).then(n=>{if(!n){ee(`File Not Found`,e);return}if(wt()){ke.current+=1,At(),ve(null),ge({...n,line:t||0}),be(``);return}n.type===`directory`?l({orchestratorId:n.orchestratorId,path:n.path,overlay:!0}):l({orchestratorId:n.orchestratorId,path:St(n.path),selectedPath:n.path,line:t,overlay:!0})})},[At,l,jt,ee]);function It(){ge(null),be(``)}async function Lt(e){let t=Array.from(e).filter(e=>e.size>0);if(!t.length)return;let n=t.map(e=>({id:`${Date.now()}-${e.name}-${Math.random().toString(16).slice(2)}`,fileName:e.name,size:e.size,previewUrl:e.type.startsWith(`image/`)?URL.createObjectURL(e):void 0,uploading:!0}));fe(e=>[...e,...n]);for(let e=0;e<t.length;e+=1){let r=t[e],i=n[e];try{let e=await s(`/artifacts`,r,{filename:r.name,sensitivity:`normal`});fe(t=>t.map(t=>t.id===i.id?{...t,artifact:e,uploading:!1}:t))}catch(e){fe(t=>t.map(t=>t.id===i.id?{...t,error:e.message,uploading:!1}:t))}}}function Rt(e){fe(t=>{let n=t.find(t=>t.id===e);return n?.previewUrl&&URL.revokeObjectURL(n.previewUrl),t.filter(t=>t.id!==e)})}function zt(){Pt(de),fe([])}function Ht(){if(!Xe.trim()&&Dt.length===0||!r||f||Et||Pe)return;let e=Dt.map(e=>({artifactId:e.artifact.id,kind:e.artifact.kind,role:`media`,title:e.artifact.filename||e.fileName}));c(Xe,{peer:r,lastMessage:Je?.lastMessage||null},e),zt()}function Ut(e){if(yt.length){if(e.key===`ArrowDown`){e.preventDefault(),dt(e=>Math.min(e+1,yt.length-1));return}if(e.key===`ArrowUp`){e.preventDefault(),dt(e=>Math.max(e-1,0));return}if(e.key===`Escape`){e.preventDefault(),pt(!0);return}if(e.key===`Enter`||e.key===`Tab`){e.preventDefault();let t=yt[bt];t&&xt(t);return}}e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),Ht())}function Wt(e){let t=Array.from(e.clipboardData.files).filter(e=>e.type.startsWith(`image/`));t.length&&(e.preventDefault(),Lt(t))}async function Kt(){if(!we||ce!==`idle`||!r)return;Se.bargeIn();let e=new Te;try{await e.start(),se.current=e,le(`recording`)}catch(e){se.current=null,le(`idle`),ee(`Microphone unavailable`,e?.message||`Could not access the microphone.`)}}async function Jt(){let e=se.current;if(!(!e||ce!==`recording`)){se.current=null,le(`transcribing`);try{let t=await e.stop();if(!t)return;let n=await Ee(t);if(!n)return;let i=Xe?`${Xe} ${n}`:n;if(O===`autosend`&&!f&&!Et){let e=Dt.map(e=>({artifactId:e.artifact.id,kind:e.artifact.kind,role:`media`,title:e.artifact.filename||e.fileName}));c(i,{peer:r,lastMessage:Je?.lastMessage||null},e),zt()}else g(r,i)}catch(e){ee(`Transcription failed`,e?.message||`Could not transcribe audio.`)}finally{le(`idle`)}}}return r?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(`div`,{className:`flex h-full min-w-0`,children:[(0,N.jsxs)(`div`,{className:`@container/chat flex h-full min-w-0 flex-1 flex-col`,children:[(0,N.jsx)(Vt,{selectedInboxThread:r,agent:A,now:o,blockedState:Ge,thread:Je,exportableThread:Ye,importedHistory:We,showBackButton:n,onBack:t,openAgentDetail:d,openWorkspaceFocus:b,voiceTtsEnabled:re,setVoiceTtsEnabled:ae,canOpenTerminal:rt,terminalOpening:Be,handleOpenTerminal:Ve,canInterrupt:st,interruptAgent:lt,canCompact:it,canClearContext:at,canShutdown:ot,openConfirm:E,workspaceAction:y,doAgentAction:v,openFilesForAgent:u,forkFromAgent:x,markInboxThreadUnread:h,markInboxThreadRead:p,exportThread:_}),(0,N.jsx)(Io,{agentId:r,agentStatus:A?.status,timeline:Ot,hasMore:C?.hasMore??!1,loading:C?.loading??!1,loadedInitial:C?.loadedInitial??!1,showReasoning:ne,pendingApproval:qe,blockedLabel:Ge?.label,canInterrupt:st,stickToBottom:xe,onAtBottomChange:De,onLoadOlder:kt,onInterrupt:lt,onOpenReferencedPath:Ft,onPreviewReferencedPath:Mt,onPreviewReferencedPathEnd:Nt}),(0,N.jsx)(Gt,{draft:Xe,placeholder:`Message ${A?ze(A):r}…`,chatSending:f,disabled:Pe,hasPendingUploads:Et,readyAttachmentCount:Dt.length,pendingAttachments:de,micAvailable:we,micState:ce,slashMatches:yt,slashActiveIndex:bt,onDraftChange:Tt,onKeyDown:Ut,onPaste:Wt,onUploadFiles:e=>{Lt(e)},onRemovePendingAttachment:Rt,onSend:Ht,onAcceptSlash:xt,onSlashHover:dt,onStartPtt:()=>{Kt()},onStopPtt:()=>{Jt()},footerText:Pe?`${A?ze(A):`Agent`} is wrapping up (${(A?.meta?.lifecycleAction).slice(11)}) — messaging paused`:`Enter to send · Shift+Enter for newline`})]}),he&&(0,N.jsxs)(`aside`,{className:`hidden h-full w-[min(44vw,720px)] min-w-[360px] shrink-0 flex-col border-l border-border bg-background xl:flex`,children:[(0,N.jsxs)(`div`,{className:`flex h-10 shrink-0 items-center gap-2 border-b border-border px-3`,children:[(0,N.jsx)(`span`,{className:`min-w-0 flex-1 text-xs font-medium text-muted-foreground`,children:`File preview`}),ye&&(0,N.jsx)(`span`,{className:`max-w-[18rem] truncate text-xs text-red-400`,children:ye}),(0,N.jsx)(j,{variant:`ghost`,size:`icon-sm`,title:`Close preview`,onClick:It,children:(0,N.jsx)(ie,{className:`h-3.5 w-3.5`})})]}),(0,N.jsx)(`div`,{className:`min-h-0 flex-1`,children:he.type===`directory`?(0,N.jsx)(mt,{orchestratorId:he.orchestratorId,selectedPath:he.path,onReadError:be}):(0,N.jsx)(gt,{orchestratorId:he.orchestratorId,selectedPath:he.path,line:he.line,onReadError:be})})]})]}),_e&&(0,N.jsx)(qt,{preview:_e,error:ye,onReadError:be,onMouseEnter:At,onMouseLeave:Nt}),Ie&&(0,N.jsx)(ct,{open:Fe,onOpenChange:He,orchestratorId:Ie.orchestratorId,session:Ie.session,interactive:Ie.interactive||tt})]}):(0,N.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full text-center px-4`,children:[(0,N.jsx)(m,{className:`w-12 h-12 text-zinc-600 mb-3`}),(0,N.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:`Select an agent to start chatting`})]})}function Vo(){let e=k(e=>e.inboxDrafts),t=k(e=>e.agentsById),n=k(e=>e.set);(0,M.useEffect)(()=>{let r=Object.keys(e);if(r.length===0)return;let i=r.filter(e=>!t[e]&&e!==`user`);if(i.length===0)return;let a=setTimeout(()=>{let e=k.getState().agentsById,t={...k.getState().inboxDrafts},r=!1;for(let n of i)e[n]||(delete t[n],r=!0);r&&n({inboxDrafts:t})},3e4);return()=>clearTimeout(a)},[])}function Ho(){let e=st(),t=k(e=>e.selectedInboxThread),n=k(e=>e.set),r=k(e=>e.loadAgentChat),i=Ft(),a=!!t;Vo(),(0,M.useEffect)(()=>{t&&r(t)},[t,r]),(0,M.useEffect)(()=>{t&&(i.some(e=>e.id===t)||n({selectedInboxThread:``}))},[t,i,n]);function o(){n({selectedInboxThread:``})}return(0,N.jsxs)(`div`,{className:`flex -m-4 md:-m-6`,style:{height:`calc(100dvh - var(--header-h) - var(--sat))`},children:[(0,N.jsxs)(`div`,{className:`hidden md:flex w-full`,children:[(0,N.jsx)(`div`,{className:`w-1/3 min-w-[240px] max-w-xs flex flex-col overflow-hidden`,children:(0,N.jsx)(It,{threads:e})}),(0,N.jsx)(`div`,{className:`flex-1 flex flex-col overflow-hidden`,children:(0,N.jsx)(Bo,{threads:e},t||`empty`)})]}),(0,N.jsx)(`div`,{className:`md:hidden flex w-full overflow-hidden`,children:a?(0,N.jsx)(Uo,{children:(0,N.jsx)(Bo,{threads:e,onBack:o,showBackButton:!0},t||`empty`)}):(0,N.jsx)(`div`,{className:`w-full flex flex-col overflow-hidden`,children:(0,N.jsx)(It,{threads:e})})})]})}function Uo({children:e}){let t=_t();return(0,N.jsx)(`div`,{className:`fixed inset-x-0 top-0 z-40 flex flex-col bg-background pt-[var(--sat)]`,style:{height:t?`${t}px`:`100dvh`},children:e})}export{Ho as ChatView};
2
- //# sourceMappingURL=chat-DALcMlDH.js.map