@av-pi-studio/web-client 0.0.108 → 0.0.109

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 (29) hide show
  1. package/dist/web/assets/{BinaryFallbackViewer-CETZBSFn.js → BinaryFallbackViewer-D3SiymLg.js} +1 -1
  2. package/dist/web/assets/ChatPanel-CBL-3Y4a.js +8 -0
  3. package/dist/web/assets/ChatPanel-DOXUilBm.css +1 -0
  4. package/dist/web/assets/{CodeView-Ll6fG3qP.js → CodeView-_q2A5_u4.js} +1 -1
  5. package/dist/web/assets/{FilePanel-DEo396Lk.js → FilePanel-CtTMIGGN.js} +1 -1
  6. package/dist/web/assets/{HtmlViewer-CJ9W44fj.js → HtmlViewer-C375X5VB.js} +1 -1
  7. package/dist/web/assets/{ImageViewer-aE8UjQHQ.js → ImageViewer-DEd1JdfT.js} +1 -1
  8. package/dist/web/assets/{MarkdownFileViewer-CQ0UwCPR.js → MarkdownFileViewer-DUmXZ9I3.js} +1 -1
  9. package/dist/web/assets/{ModelProvidersPanel-BKWs9cUE.js → ModelProvidersPanel-EvzaltXg.js} +1 -1
  10. package/dist/web/assets/{MoleculeViewerPanel-BDi_0OgB.js → MoleculeViewerPanel-B9ru3Tfz.js} +1 -1
  11. package/dist/web/assets/{SettingsDialog-CR8pWXdE.js → SettingsDialog-Dzrj8U14.js} +5 -5
  12. package/dist/web/assets/{TerminalPanel-BT5ai_QP.js → TerminalPanel-B4aQ2vFZ.js} +1 -1
  13. package/dist/web/assets/{TextViewer-BEtDY7QZ.js → TextViewer-DPjR2BtN.js} +1 -1
  14. package/dist/web/assets/{VideoViewer-DsNLEt3Q.js → VideoViewer-FVciwP8b.js} +1 -1
  15. package/dist/web/assets/{ViewersPanel-BQDubxVN.js → ViewersPanel-C0NvKhk9.js} +1 -1
  16. package/dist/web/assets/{href-resolution-mWbiAWb5.js → href-resolution-BRKhhrZR.js} +1 -1
  17. package/dist/web/assets/index-Dsmi2Bzk.js +19 -0
  18. package/dist/web/assets/{index-C_17Gn7C.css → index-pQTEQ2P2.css} +1 -1
  19. package/dist/web/assets/{markdown-D1SSpG2J.js → markdown-Cg0b167h.js} +1 -1
  20. package/dist/web/assets/{use-file-download-hogFXJ1-.js → use-file-download-Dg_DH4LU.js} +1 -1
  21. package/dist/web/assets/{use-file-watch-RCm9-VVB.js → use-file-watch-C7pdkH79.js} +1 -1
  22. package/dist/web/assets/{use-provider-auth-list-Dlczxxvd.js → use-provider-auth-list-CbjpDpe7.js} +1 -1
  23. package/dist/web/assets/vendor-overlays-3MkedLFU.js +1 -0
  24. package/dist/web/index.html +3 -3
  25. package/package.json +3 -3
  26. package/dist/web/assets/ChatPanel-B8AiSd3V.css +0 -1
  27. package/dist/web/assets/ChatPanel-CirFvAuS.js +0 -8
  28. package/dist/web/assets/index-T-iCQirw.js +0 -19
  29. package/dist/web/assets/vendor-overlays-ar75LZPp.js +0 -1
@@ -1,8 +0,0 @@
1
- import{r as h,j as t}from"./vendor-react-DQUAl2K8.js";import{a as jt,b as bt,m as yt,u as ve}from"./vendor-query-i7fr__Xm.js";import{D as xe,F as L,u as W,G as Nt,I as q,H as St,J as Ct,B as E,K as wt,M as Ge,S as je,z as Dt,N as Bt,O as Tt,o as Et,n as At,Q as Rt,R as It,U as Lt,m as Ot,W as Pt,E as Mt,X as de,r as be,Y as ye,Z as Ft,_ as ce,h as qt,$ as Kt,A as zt,P as Fe}from"./index-T-iCQirw.js";import{L as Ht,G as $t,S as Wt,a as Ut,P as Gt,E as Vt,T as Ve,C as me,b as Ne,B as Yt,c as Ye,d as Jt,A as Qt,e as Xt,f as Zt,U as en,g as tn,h as nn,i as sn,j as on,k as rn,l as qe,m as an,N as cn,n as ln}from"./vendor-icons-K8oF_80Q.js";import{u as dn}from"./use-provider-auth-list-Dlczxxvd.js";import{N as C}from"./vendor-DaF96HbP.js";import{S as Je,M as Qe,r as un}from"./markdown-D1SSpG2J.js";import{D as mn,p as fn}from"./DiffView-D1TsZBGe.js";import{R as Se,T as Ce,I as Xe}from"./vendor-overlays-ar75LZPp.js";import"./vendor-dnd-CayJj8TC.js";import"./vendor-highlight-Ddi_n-Jh.js";import"./vendor-markdown-DJUOT8ep.js";import"./href-resolution-mWbiAWb5.js";function Ze(e,s){if(s.trim()==="")return e;const n=s.toLowerCase();return e.filter(o=>o.label.toLowerCase().includes(n)||o.description!==void 0&&o.description.toLowerCase().includes(n))}const pn={shell:Ve,read:Vt,edit:Gt,write:Ut,search:Wt,fetch:$t,task:Ht};function hn(e){return pn[e.kind]??Ve}function et(e){switch(e.kind){case"read":case"write":case"edit":return e.path??null;default:return null}}function gn(e){return e.kind==="write"||e.kind==="edit"||e.kind==="shell"}function _n(e){const s=[];if(e.kind==="edit"&&e.diff)s.push({kind:"diff",patch:e.diff});else{const n=xe(e);n&&s.push({kind:"code",text:n})}return e.output&&s.push({kind:"code",text:e.output}),s}const Ke={shell:{label:"SHELL",token:"statusInfo"},read:{label:"READ",token:"statusInfo"},write:{label:"WRITE",token:"statusSuccess"},edit:{label:"EDIT",token:"statusWarning"},search:{label:"SEARCH",token:"statusInfo"},fetch:{label:"FETCH",token:"statusInfo"},task:{label:"TASK",token:"foregroundMuted"}};function xn(e){return Ke[e.kind]??Ke.task}function kn(e){if(!e)return{added:0,removed:0};let s=0,n=0;for(const o of e.split(`
2
- `))o.startsWith("+++")||o.startsWith("---")||(o.startsWith("+")?s++:o.startsWith("-")&&n++);return{added:s,removed:n}}function vn(e){return e?(e.endsWith(`
3
- `)?e.slice(0,-1):e).split(`
4
- `).length:0}const jn=500;let pe;function bn(e,s,n,o){clearTimeout(pe),pe=setTimeout(()=>{pe=void 0,e.invalidateQueries({queryKey:["file"]}),e.invalidateQueries({queryKey:["explorer"]}),s&&n&&s.connection.request("checkout_refresh_request",{cwd:n}).catch(()=>{})},jn)}function yn({sessionId:e,event:s,timestamp:n,client:o,queryClient:r}){const a=L.getState();switch(a.applyStreamEvent(e,s,n),s.kind){case"turn_started":a.setStatus(e,"running");break;case"turn_completed":a.setStatus(e,"idle");break;case"turn_failed":a.setStatus(e,"error");break;case"turn_canceled":a.setStatus(e,"idle");break;case"tool_call":{if(s.status==="completed"&&gn(s.tool)){const c=a.sessions[e],l=(c==null?void 0:c.cwd)||null;bn(r,o,l,et(s.tool))}break}}}function Nn(e){const s=W(r=>r.client),n=L(r=>{var a;return((a=r.sessions[e])==null?void 0:a.agentId)??null}),o=jt();h.useEffect(()=>!s||!n?void 0:s.agent(n).timeline.subscribe((a,c)=>{const l=typeof c.timestamp=="number"?new Date(c.timestamp).toISOString():c.timestamp;yn({sessionId:e,event:a,timestamp:l,client:s,queryClient:o})}),[s,n,e,o])}const tt=64;function he(e){return e.clientHeight>0}function Sn(e,s,n,o=tt){switch(s.kind){case"scroll":return he(n)?n.scrollHeight-n.scrollTop-n.clientHeight<=o?{pinned:!0,stick:!1}:{pinned:s.gesture?!1:e,stick:!1}:{pinned:e,stick:!1};case"tail":return{pinned:e,stick:e&&he(n)};case"shown":return{pinned:e,stick:e};case"pin":return{pinned:!0,stick:he(n)}}}function Cn(e){const s=e[e.length-1];return(s==null?void 0:s.kind)==="user"?s.id:null}const wn="_shellRow_1kabp_2",Dn="_rail_1kabp_10",Bn="_disc_1kabp_18",Tn="_connector_1kabp_28",En="_content_1kabp_2",An="_metaLine_1kabp_40",Rn="_metaTime_1kabp_52",In="_forkButton_1kabp_66",O={shellRow:wn,rail:Dn,disc:Bn,connector:Tn,content:En,metaLine:An,metaTime:Rn,forkButton:In};function K({disc:e,discClassName:s,connector:n,meta:o,metaTrailing:r,className:a,children:c}){return t.jsxs("div",{className:O.shellRow,children:[t.jsxs("div",{className:O.rail,children:[t.jsx("span",{className:C(O.disc,s),children:e}),n&&t.jsx("span",{className:O.connector})]}),t.jsxs("div",{className:C(O.content,a),children:[o&&t.jsxs("div",{className:O.metaLine,children:[o,r]}),c]})]})}function ze(e){return typeof e=="number"?e:Date.parse(e)}function Ln(e,s){const n=ze(e.entry.createdAt),o=ze(s.entry.createdAt);return n!==o?n-o:e.entry.requestId<s.entry.requestId?-1:e.entry.requestId>s.entry.requestId?1:0}function On(e,s){return[...e.map(o=>({kind:"pending",entry:o})),...s.map(o=>({kind:"resolved",entry:o}))].toSorted(Ln)}function Pn(e){return e.entry.requestId}function nt(e){return e.receivedAt===void 0}const Mn=4;function Fn(e,s){let n=0;const o=e.map(l=>l.kind!=="pending"?{item:l,collapsed:!1}:(n++,{item:l,collapsed:!s&&n>Mn})),r=o.filter(l=>l.collapsed).length,a=o.findIndex(l=>l.collapsed),c=[];return o.forEach((l,m)=>{m===a&&c.push({kind:"more",count:r}),c.push({kind:"card",item:l.item,collapsed:l.collapsed})}),c}function qn(e,s){if(e.timeoutMs===void 0)return{show:!1,fraction:0,approximate:!1};const n=Nt(e,s)??0;return{show:!0,fraction:Math.max(0,Math.min(1,n/e.timeoutMs)),approximate:e.receivedAt===void 0}}function st(e){return e==="editor"}const Kn="Esc again to dismiss — the extension gets an empty answer";function zn(e,s){return s?{kind:"warning",text:Kn}:{kind:"keys",segments:[{key:st(e)?"⇧↵":"↵",label:"submit"},{key:"Esc",label:"dismiss"}]}}function Hn(e){return e?{armed:!1,resolve:!0}:{armed:!0,resolve:!1}}const $n=5,Wn=40,Un=6;function Gn(e){return{mode:e.length>=$n||e.some(n=>n.length>Wn)?"stack":"row",scrolls:e.length>Un}}function ke(e){const s=e.split(`
5
- `),n=[];let o=!1;for(const r of s)if(r===""){if(o)continue;o=!0,n.push("")}else o=!1,n.push(r);return n}function Vn(e,s){return{title:ke(e),...s!==void 0?{message:ke(s)}:{}}}const Yn="_askDisc_ffqf1_5",Jn="_card_ffqf1_9",Qn="_cardInert_ffqf1_41",Xn="_askDiscInert_ffqf1_47",Zn="_reconnectingNote_ffqf1_52",es="_reconnectingDot_ffqf1_61",ts="_deadlineBar_ffqf1_71",ns="_deadlineApproximate_ffqf1_80",ss="_header_ffqf1_85",os="_askBadge_ffqf1_16",rs="_methodName_ffqf1_101",as="_title_ffqf1_107",is="_titleEmphasised_ffqf1_115",cs="_message_ffqf1_119",ls="_emptyOptionsNote_ffqf1_127",ds="_controls_ffqf1_133",us="_controlsStack_ffqf1_141",ms="_controlsScroll_ffqf1_148",fs="_optionButton_ffqf1_153",ps="_field_ffqf1_161",hs="_editorField_ffqf1_168",gs="_rawPayload_ffqf1_176",_s="_resolvedCard_ffqf1_190",xs="_askBadgeNeutral_ffqf1_204",ks="_resolvedMethodName_ffqf1_209",vs="_outcome_ffqf1_218",js="_outcomeSuccess_ffqf1_229",bs="_outcomeText_ffqf1_233",ys="_hint_ffqf1_255",Ns="_hintKey_ffqf1_270",Ss="_hintSep_ffqf1_278",Cs="_recoveredChip_ffqf1_285",ws="_collapsedPendingCard_ffqf1_297",Ds="_moreRow_ffqf1_303",p={askDisc:Yn,card:Jn,cardInert:Qn,askDiscInert:Xn,reconnectingNote:Zn,reconnectingDot:es,deadlineBar:ts,deadlineApproximate:ns,header:ss,askBadge:os,methodName:rs,title:as,titleEmphasised:is,message:cs,emptyOptionsNote:ls,controls:ds,controlsStack:us,controlsScroll:ms,optionButton:fs,field:ps,editorField:hs,rawPayload:gs,resolvedCard:_s,askBadgeNeutral:xs,resolvedMethodName:ks,outcome:vs,outcomeSuccess:js,outcomeText:bs,hint:ys,hintKey:Ns,hintSep:Ss,recoveredChip:Cs,collapsedPendingCard:ws,moreRow:Ds},Bs=250,Ts=320;function J(e,s){const n=e[s];return typeof n=="string"?n:void 0}function Es(e,s){const n=e[s];return Array.isArray(n)?n.filter(o=>typeof o=="string"):[]}function As({item:e,connector:s,collapsed:n=!1,autoFocus:o=!1,sessionTitle:r}){return e.kind==="resolved"?t.jsx(Ls,{entry:e.entry,connector:s}):n?t.jsx(Rs,{entry:e.entry,connector:s}):t.jsx(Ps,{entry:e.entry,connector:s,autoFocus:o,sessionTitle:r})}function ot(){return t.jsx("span",{className:p.recoveredChip,children:"still waiting"})}function Rs({entry:e,connector:s}){return t.jsx(K,{disc:t.jsx(q,{icon:me,size:"xs",color:"var(--pi-color-statusWarning)"}),discClassName:p.askDisc,connector:s,children:t.jsxs("div",{className:C(p.resolvedCard,p.collapsedPendingCard),children:[t.jsx("span",{className:p.askBadge,children:"ASK"}),t.jsx("span",{className:p.resolvedMethodName,children:e.method}),nt(e)&&t.jsx(ot,{})]})})}function Is({count:e,connector:s,onExpand:n}){return t.jsx(K,{disc:t.jsx(q,{icon:me,size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:p.askDiscInert,connector:s,children:t.jsxs("button",{type:"button",className:p.moreRow,onClick:n,children:[e," more waiting"]})})}function Ls({entry:e,connector:s}){const n=St(e);return t.jsx(K,{disc:t.jsx(q,{icon:me,size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:p.askDiscInert,connector:s,children:t.jsxs("div",{className:p.resolvedCard,children:[t.jsx("span",{className:C(p.askBadge,p.askBadgeNeutral),children:"ASK"}),t.jsx("span",{className:p.resolvedMethodName,children:e.method}),t.jsxs("span",{className:C(p.outcome,n.tone==="success"&&p.outcomeSuccess),children:[n.glyph==="check"&&t.jsx(Ne,{size:11,"aria-hidden":!0}),t.jsx("span",{className:C(n.truncate&&p.outcomeText),children:n.text})]})]})})}function U(e,s){return e.answerable?e.submitting?s?{loading:!0,style:{opacity:1}}:{disabled:!0}:{}:{disabled:!0,style:{opacity:1}}}function Os({hint:e}){return e.kind==="warning"?t.jsx("p",{className:p.hint,children:e.text}):t.jsx("p",{className:p.hint,children:e.segments.map((s,n)=>t.jsxs(h.Fragment,{children:[n>0&&t.jsx("span",{className:p.hintSep,children:"·"}),t.jsx("span",{className:p.hintKey,children:s.key}),s.label]},s.label))})}function Ps({entry:e,connector:s,autoFocus:n=!1,sessionTitle:o}){const[r,a]=h.useState(()=>Date.now()),c=qn(e,r),[l,m]=h.useState(!1),d=h.useRef(null),f=h.useRef(null),u=h.useRef(null);h.useEffect(()=>{if(!c.show)return;const v=setInterval(()=>a(Date.now()),Bs);return()=>clearInterval(v)},[e.requestId,e.timeoutMs,c.show]),h.useEffect(()=>{var y,A;if(!n||!e.answerable)return;const v=document.activeElement;(v instanceof HTMLTextAreaElement||v instanceof HTMLInputElement)&&v.value.length>0&&!((y=d.current)!=null&&y.contains(v))||(A=f.current)==null||A.focus()},[n,e.answerable]);function x(v){var _,y;e.answerable&&(v.target.closest("button, input, textarea, a, select")||(_=d.current)!=null&&_.contains(document.activeElement)||(y=d.current)==null||y.focus())}function B(v){Ct(e.requestId,v)}function P(v){var y;if(v.key!=="Escape"||!e.answerable)return;v.preventDefault(),v.stopPropagation();const _=Hn(l);if(m(_.armed),!_.resolve){(y=u.current)==null||y.focus();return}u.current?u.current.click():B({cancelled:!0})}function R(v){v.currentTarget.contains(v.relatedTarget)||m(!1)}return t.jsxs(K,{disc:t.jsx(q,{icon:me,size:"xs",color:e.answerable?"var(--pi-color-statusWarning)":"var(--pi-color-foregroundMuted)"}),discClassName:e.answerable?p.askDisc:p.askDiscInert,connector:s,children:[t.jsxs("div",{ref:d,className:C(p.card,!e.answerable&&p.cardInert),role:"group","aria-label":`Question in ${o}`,tabIndex:-1,onKeyDown:P,onMouseDown:x,onBlur:R,children:[c.show&&t.jsx("div",{className:C(p.deadlineBar,c.approximate&&p.deadlineApproximate),style:{width:`${c.fraction*100}%`}}),t.jsxs("div",{className:p.header,children:[t.jsx("span",{className:C(p.askBadge,!e.answerable&&p.askBadgeNeutral),"aria-hidden":"true",children:"ASK"}),t.jsx("span",{className:p.methodName,children:e.method}),nt(e)&&t.jsx(ot,{})]}),t.jsx(Ms,{entry:e,onSubmit:B,primaryRef:f,dismissRef:u})]}),t.jsx(Os,{hint:zn(e.method,l)}),!e.answerable&&t.jsxs("p",{className:p.reconnectingNote,children:[t.jsx("span",{className:p.reconnectingDot}),"Reconnecting — you can answer again in a moment"]})]})}function Ms({entry:e,onSubmit:s,primaryRef:n,dismissRef:o}){const{method:r,payload:a}=e;return r==="select"?t.jsx(Fs,{entry:e,payload:a,onSubmit:s,primaryRef:n,dismissRef:o}):r==="confirm"?t.jsx(qs,{entry:e,payload:a,onSubmit:s,primaryRef:n,dismissRef:o}):r==="input"?t.jsx(Ks,{entry:e,payload:a,onSubmit:s,primaryRef:n}):r==="editor"?t.jsx(zs,{entry:e,payload:a,onSubmit:s,primaryRef:n,dismissRef:o}):t.jsx(Hs,{entry:e,method:r,payload:a,onSubmit:s,primaryRef:n,dismissRef:o})}function ue({text:e}){return t.jsx("div",{className:p.title,children:ke(e).join(`
6
- `)})}function Fs({entry:e,payload:s,onSubmit:n,primaryRef:o,dismissRef:r}){const a=J(s,"title")??"",c=Es(s,"options"),[l,m]=h.useState(null);if(c.length===0){const f=U(e,l===0);return t.jsxs(t.Fragment,{children:[t.jsx(ue,{text:a}),t.jsx("p",{className:p.emptyOptionsNote,children:"The extension offered no options."}),t.jsx("div",{className:p.controls,children:t.jsx(E,{ref:u=>{o.current=u,r.current=u},size:"xs",variant:"secondary",onClick:()=>{m(0),n({cancelled:!0})},...f,children:"Cancel"})})]})}const d=Gn(c);return t.jsxs(t.Fragment,{children:[t.jsx(ue,{text:a}),t.jsx("div",{className:C(p.controls,d.mode==="stack"&&p.controlsStack,d.scrolls&&p.controlsScroll),children:c.map((f,u)=>t.jsx(E,{ref:u===0?x=>{o.current=x}:void 0,size:"xs",variant:"secondary",className:p.optionButton,onClick:()=>{m(u),n({value:f})},...U(e,l===u),children:f},u))})]})}function qs({entry:e,payload:s,onSubmit:n,primaryRef:o,dismissRef:r}){const a=J(s,"title")??"",c=J(s,"message"),l=Vn(a,c),[m,d]=h.useState(null);return t.jsxs(t.Fragment,{children:[t.jsx("div",{className:C(p.title,l.message&&p.titleEmphasised),children:l.title.join(`
7
- `)}),l.message&&t.jsx("div",{className:p.message,children:l.message.join(`
8
- `)}),t.jsxs("div",{className:p.controls,children:[t.jsx(E,{ref:f=>{o.current=f},size:"xs",variant:"default",onClick:()=>{d("yes"),n({confirmed:!0})},...U(e,m==="yes"),children:"Yes"}),t.jsx(E,{ref:f=>{r.current=f},size:"xs",variant:"secondary",onClick:()=>{d("no"),n({confirmed:!1})},...U(e,m==="no"),children:"No"})]})]})}function Ks({entry:e,payload:s,onSubmit:n,primaryRef:o}){const r=J(s,"title")??"",a=J(s,"placeholder"),[c,l]=h.useState(""),m=U(e,e.submitting===!0),d=m.disabled===!0||m.loading===!0;return t.jsxs(t.Fragment,{children:[t.jsx(ue,{text:r}),t.jsxs("div",{className:p.controls,children:[t.jsx(wt,{ref:f=>{o.current=f},className:p.field,value:c,placeholder:a,disabled:d,onChange:f=>l(f.target.value),onKeyDown:f=>{f.key!=="Enter"||d||(f.preventDefault(),f.stopPropagation(),n({value:c}))}}),t.jsx(E,{size:"xs",variant:"default",onClick:()=>n({value:c}),...m,children:"Submit"})]})]})}function zs({entry:e,payload:s,onSubmit:n,primaryRef:o,dismissRef:r}){const a=J(s,"title")??"",c=J(s,"prefill")??"",[l,m]=h.useState(c),[d,f]=h.useState(null);return t.jsxs(t.Fragment,{children:[t.jsx(ue,{text:a}),t.jsx(Ge,{ref:u=>{o.current=u},className:p.editorField,rows:3,value:l,disabled:!e.answerable||e.submitting,onChange:u=>{m(u.target.value);const x=u.target;x.style.height="auto",x.style.height=`${Math.min(x.scrollHeight,Ts)}px`},onKeyDown:u=>{u.key!=="Enter"||u.shiftKey!==st(e.method)||(u.preventDefault(),u.stopPropagation(),f("submit"),n({value:l}))}}),t.jsxs("div",{className:p.controls,children:[t.jsx(E,{size:"xs",variant:"default",onClick:()=>{f("submit"),n({value:l})},...U(e,d==="submit"),children:"Submit"}),t.jsx(E,{ref:u=>{r.current=u},size:"xs",variant:"secondary",onClick:()=>{f("cancel"),n({cancelled:!0})},...U(e,d==="cancel"),children:"Cancel"})]})]})}function Hs({entry:e,method:s,payload:n,onSubmit:o,primaryRef:r,dismissRef:a}){const c={method:s,...n},l=U(e,e.submitting===!0);return t.jsxs(t.Fragment,{children:[t.jsx("p",{className:p.title,children:"This extension asked something this version of Pi-Studio can't display."}),t.jsx("pre",{className:p.rawPayload,children:JSON.stringify(c,null,2)}),t.jsx("div",{className:p.controls,children:t.jsx(E,{ref:m=>{r.current=m,a.current=m},size:"xs",variant:"secondary",onClick:()=>o({cancelled:!0}),...l,children:"Cancel"})})]})}function He(e){if(e===void 0)return null;const s=typeof e=="number"?e:Date.parse(e);return Number.isNaN(s)?null:s}function $s(e,s,n,o){if(s.length===0)return e.map(n);const r=[];let a=0;const c=l=>{for(;a<e.length;){const m=e[a];if(m===void 0)break;if(l!==null){const d=He(m.timestamp);if(d!==null&&d>l)break}r.push(n(m)),a++}};for(const l of s){if(l.kind==="more"){r.push(o(l));continue}c(He(l.item.entry.createdAt)),r.push(o(l))}for(;a<e.length;a++){const l=e[a];l!==void 0&&r.push(n(l))}return r}function Ws(e,s){return!e||s===void 0?!1:s.every(n=>n.configured===!1)}const Us=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function $e(e){return String(e).padStart(2,"0")}function we(e){if(!e)return;const s=new Date(e);if(!Number.isNaN(s.getTime()))return`${Us[s.getMonth()]} ${s.getDate()}, ${$e(s.getHours())}:${$e(s.getMinutes())}`}const Gs="_queuedBadge_mdmbp_8",Vs="_finalChip_mdmbp_20",Ys="_userDisc_mdmbp_30",Js="_userAligned_mdmbp_34",Qs="_userPendingRow_mdmbp_40",Xs="_userBubble_mdmbp_44",Zs="_userBubbleFailed_mdmbp_58",eo="_userImages_mdmbp_63",to="_userImage_mdmbp_63",no="_imageDialog_mdmbp_79",so="_imageDialogPreview_mdmbp_83",oo="_assistantDisc_mdmbp_93",ro="_assistantBody_mdmbp_97",ao="_reasoningDisc_mdmbp_108",io="_reasoningBody_mdmbp_112",co="_toolDisc_mdmbp_123",lo="_toolCardBody_mdmbp_127",uo="_toolCardBodyRunning_mdmbp_134",mo="_toolCardBodyCompleted_mdmbp_138",fo="_toolCardBodyError_mdmbp_142",po="_toolHeader_mdmbp_146",ho="_toolHeaderRunning_mdmbp_172",go="_toolChevron_mdmbp_182",_o="_toolChevronOpen_mdmbp_188",xo="_kindBadge_mdmbp_192",ko="_toolPath_mdmbp_204",vo="_toolTrailing_mdmbp_213",jo="_toolStatusRunning_mdmbp_221",bo="_toolStatusSuccess_mdmbp_228",yo="_toolStatusError_mdmbp_232",No="_toolStatusUnknown_mdmbp_236",So="_toolDiffAdded_mdmbp_240",Co="_toolDiffRemoved_mdmbp_244",wo="_toolOpenButton_mdmbp_248",Do="_toolBody_mdmbp_266",Bo="_toolCode_mdmbp_272",To="_toolOutputStrip_mdmbp_283",Eo="_toolDiffPreview_mdmbp_293",Ao="_toolDiffPreviewLine_mdmbp_301",Ro="_toolDiffPreviewAdd_mdmbp_305",Io="_toolDiffPreviewDel_mdmbp_310",Lo="_toolDiffPreviewMore_mdmbp_315",Oo="_errorDisc_mdmbp_322",Po="_errorCard_mdmbp_326",Mo="_errorLead_mdmbp_335",Fo="_systemRow_mdmbp_342",g={queuedBadge:Gs,finalChip:Vs,userDisc:Ys,userAligned:Js,userPendingRow:Qs,userBubble:Xs,userBubbleFailed:Zs,userImages:eo,userImage:to,imageDialog:no,imageDialogPreview:so,assistantDisc:oo,assistantBody:ro,reasoningDisc:ao,reasoningBody:io,toolDisc:co,toolCardBody:lo,toolCardBodyRunning:uo,toolCardBodyCompleted:mo,toolCardBodyError:fo,toolHeader:po,toolHeaderRunning:ho,toolChevron:go,toolChevronOpen:_o,kindBadge:xo,toolPath:ko,toolTrailing:vo,toolStatusRunning:jo,toolStatusSuccess:bo,toolStatusError:yo,toolStatusUnknown:No,toolDiffAdded:So,toolDiffRemoved:Co,toolOpenButton:wo,toolBody:Do,toolCode:Bo,toolOutputStrip:To,toolDiffPreview:Eo,toolDiffPreviewLine:Ao,toolDiffPreviewAdd:Ro,toolDiffPreviewDel:Io,toolDiffPreviewMore:Lo,errorDisc:Oo,errorCard:Po,errorLead:Mo,systemRow:Fo};function qo({row:e,assetBase:s=null,owningPaneId:n=null,workspaceCwd:o=null,connector:r}){const a=we(e.timestamp);return t.jsx(K,{disc:t.jsx(q,{icon:Yt,size:"xs",color:"var(--pi-color-accentForeground)"}),discClassName:g.assistantDisc,connector:r,meta:t.jsxs(t.Fragment,{children:["Assistant",a&&t.jsxs("span",{className:O.metaTime,children:[" · ",a]})]}),children:t.jsx("div",{className:g.assistantBody,children:e.streaming?t.jsx(Je,{text:e.text,assetBase:s,owningPaneId:n,workspaceCwd:o}):t.jsx(Qe,{text:e.text,assetBase:s,owningPaneId:n,workspaceCwd:o})})})}function Ko({row:e,owningPaneId:s=null,workspaceCwd:n=null,connector:o}){const r=we(e.timestamp);return t.jsx(K,{disc:t.jsx(q,{icon:Ye,size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:g.reasoningDisc,connector:o,meta:t.jsxs(t.Fragment,{children:["Reasoning",r&&t.jsxs("span",{className:O.metaTime,children:[" · ",r]})]}),metaTrailing:!e.streaming&&t.jsx("span",{className:g.finalChip,children:"final"}),children:t.jsx("div",{className:g.reasoningBody,children:e.streaming?t.jsx(Je,{text:e.text,owningPaneId:s,workspaceCwd:n}):t.jsx(Qe,{text:e.text,owningPaneId:s,workspaceCwd:n})})})}function zo(e){const s=fn(e).filter(o=>o.kind==="add"||o.kind==="del"),n=s[0];return n?{text:n.text,kind:n.kind,moreCount:s.length-1}:null}function Ho(e){return e.status==="completed"?t.jsx("span",{className:g.toolStatusSuccess,children:"✓ completed"}):e.status==="error"?t.jsx("span",{className:g.toolStatusError,children:e.statusText||"error"}):e.statusText&&e.statusText!=="running"?t.jsx("span",{className:g.toolStatusUnknown,children:e.statusText}):t.jsxs("span",{className:g.toolStatusRunning,children:[t.jsx(je,{size:"xs",color:"var(--pi-color-accentBright)"}),"running"]})}function $o({row:e,assetBase:s=null,owningPaneId:n=null,workspaceCwd:o=null,connector:r}){const[a,c]=h.useState(!1),l=xn(e.tool),m=_n(e.tool),d=m.length>0,f=vn(e.tool.output),u=e.tool.kind==="edit"||e.tool.kind==="write"?et(e.tool):null,x=e.tool.kind==="edit"?kn(e.tool.diff):null,B=e.tool.kind==="edit"&&e.tool.diff&&!a?zo(e.tool.diff):null;function P(){d&&c(_=>!_)}function R(_){_.target===_.currentTarget&&(_.key==="Enter"||_.key===" ")&&(_.preventDefault(),P())}function v(_){if(_.stopPropagation(),!u)return;const y=un(s,n,o);Dt(u,y.workspaceCwd,y.targetPaneId)}return t.jsx(K,{disc:t.jsx(q,{icon:hn(e.tool),size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:g.toolDisc,connector:r,children:t.jsxs("div",{className:C(g.toolCardBody,e.status==="running"&&g.toolCardBodyRunning,e.status==="completed"&&g.toolCardBodyCompleted,e.status==="error"&&g.toolCardBodyError),children:[t.jsxs("div",{role:"button",tabIndex:d?0:-1,"aria-expanded":d?a:void 0,"aria-disabled":!d,className:C(g.toolHeader,e.status==="running"&&g.toolHeaderRunning),onClick:P,onKeyDown:R,children:[d&&t.jsx(Jt,{size:12,className:C(g.toolChevron,a&&g.toolChevronOpen)}),t.jsx("span",{className:g.kindBadge,style:{"--kindToken":`var(--pi-color-${l.token})`},children:l.label}),t.jsx("span",{className:g.toolPath,title:xe(e.tool),children:xe(e.tool)}),t.jsxs("span",{className:g.toolTrailing,children:[x&&(x.added>0||x.removed>0)&&t.jsxs(t.Fragment,{children:[t.jsxs("span",{className:g.toolDiffAdded,children:["+",x.added]}),t.jsxs("span",{className:g.toolDiffRemoved,children:["−",x.removed]})]}),Ho(e),u&&t.jsxs("button",{type:"button",className:g.toolOpenButton,onClick:v,onKeyDown:_=>_.stopPropagation(),children:["Open",t.jsx(Qt,{size:10})]})]})]}),f>0&&t.jsxs("div",{className:g.toolOutputStrip,children:["output · ",f," lines"]}),B&&t.jsxs("div",{className:g.toolDiffPreview,children:[t.jsx("div",{className:C(g.toolDiffPreviewLine,B.kind==="add"?g.toolDiffPreviewAdd:g.toolDiffPreviewDel),children:B.text}),B.moreCount>0&&t.jsxs("div",{className:g.toolDiffPreviewMore,children:["… ",B.moreCount," more lines"]})]}),a&&d&&t.jsx("div",{className:g.toolBody,children:m.map((_,y)=>_.kind==="diff"?t.jsx(mn,{patch:_.patch},y):t.jsx("pre",{className:g.toolCode,children:_.text},y))})]})})}const Wo="Fork from here",Uo="Fork conversation from this message";function Go({row:e,connector:s,onFork:n}){const[o,r]=h.useState(null),a=we(e.timestamp);return t.jsxs(K,{disc:t.jsx(q,{icon:en,size:"xs",color:"var(--pi-color-successForeground)"}),discClassName:g.userDisc,connector:s,className:C(g.userAligned,e.pending&&g.userPendingRow),meta:t.jsxs(t.Fragment,{children:["You",a&&t.jsxs("span",{className:O.metaTime,children:[" · ",a]}),e.failed&&" · failed to send"]}),metaTrailing:t.jsxs(t.Fragment,{children:[e.queued&&!e.failed&&t.jsxs("span",{className:g.queuedBadge,children:[t.jsx(Xt,{size:9}),"queued"]}),n&&t.jsx(Tt,{className:O.forkButton,hoverBase:"var(--pi-color-surface3)",title:Wo,"aria-label":Uo,onClick:n,children:t.jsx(Zt,{size:13,strokeWidth:1.8,"aria-hidden":"true"})})]}),children:[t.jsx("span",{className:C(g.userBubble,e.failed&&g.userBubbleFailed),children:e.text}),e.images&&e.images.length>0&&t.jsx("div",{className:g.userImages,children:e.images.map((c,l)=>{const m=`data:${c.mimeType??"image/png"};base64,${c.data??""}`;return t.jsx("img",{className:g.userImage,src:m,alt:"",role:"button",tabIndex:0,onClick:()=>r(m),onKeyDown:d=>{(d.key==="Enter"||d.key===" ")&&r(m)}},l)})}),t.jsx(Bt,{open:o!==null,onOpenChange:c=>{c||r(null)},title:"Image",width:"auto",bare:!0,className:g.imageDialog,children:o&&t.jsx("img",{className:g.imageDialogPreview,src:o,alt:""})})]})}function Vo({row:e,connector:s}){return t.jsx(K,{disc:t.jsx(q,{icon:tn,size:"xs",color:"var(--pi-color-destructive)"}),discClassName:g.errorDisc,connector:s,children:t.jsxs("div",{className:g.errorCard,children:[t.jsx("span",{className:g.errorLead,children:"Error"})," · ",e.text]})})}function Yo({row:e}){return t.jsx("div",{className:g.systemRow,children:e.text})}const Jo=500;function Qo(e,s){const n=h.useRef(!0),[o,r]=h.useState(!0),a=h.useRef(0),c=h.useCallback(d=>{const f=s.current,u=f?{scrollTop:f.scrollTop,scrollHeight:f.scrollHeight,clientHeight:f.clientHeight}:{scrollTop:0,scrollHeight:0,clientHeight:0},x=Sn(n.current,d,u);x.pinned!==n.current&&(n.current=x.pinned,r(x.pinned)),x.stick&&e.options.count>0&&e.scrollToEnd({behavior:"auto"})},[s,e]);h.useEffect(()=>{const d=s.current;if(!d)return;const f=()=>{a.current=performance.now()},u=()=>{c({kind:"scroll",gesture:performance.now()-a.current<Jo})};d.addEventListener("scroll",u,{passive:!0}),d.addEventListener("wheel",f,{passive:!0}),d.addEventListener("touchmove",f,{passive:!0}),d.addEventListener("pointerdown",f,{passive:!0}),d.addEventListener("keydown",f,{passive:!0});const x=new ResizeObserver(()=>{d.clientHeight>0&&c({kind:"shown"})});return x.observe(d),()=>{x.disconnect(),d.removeEventListener("scroll",u),d.removeEventListener("wheel",f),d.removeEventListener("touchmove",f),d.removeEventListener("pointerdown",f),d.removeEventListener("keydown",f)}},[c,s]);const l=h.useCallback(()=>c({kind:"tail"}),[c]),m=h.useCallback(()=>c({kind:"pin"}),[c]);return{pinned:o,followTail:l,pinToBottom:m}}const Xo="_root_1xg4h_6",Zo="_viewport_1xg4h_13",er="_inner_1xg4h_20",tr="_rowWrap_1xg4h_25",nr="_empty_1xg4h_35",sr="_nudge_1xg4h_47",or="_jumpToLatest_1xg4h_56",Y={root:Xo,viewport:Zo,inner:er,rowWrap:tr,empty:nr,nudge:sr,jumpToLatest:or},rr=160;function ar(e){return e.kind==="ask"?`ask:${Pn(e.item)}`:e.kind==="ask-more"?"ask-more":e.row.id}function ir(e,s,n,o,r,a){switch(e.kind){case"user":{const c=a.ordinalByRowId.get(e.id),l=c!==void 0?()=>a.onForkFromRow(c):null;return t.jsx(Go,{row:e,connector:!s,onFork:l})}case"assistant":return t.jsx(qo,{row:e,assetBase:n,owningPaneId:o,workspaceCwd:r,connector:!s});case"reasoning":return t.jsx(Ko,{row:e,owningPaneId:o,workspaceCwd:r,connector:!s});case"tool":return t.jsx($o,{row:e,assetBase:n,owningPaneId:o,workspaceCwd:r,connector:!s});case"error":return t.jsx(Vo,{row:e,connector:!s});case"system":return t.jsx(Yo,{row:e})}}function cr(e,s,n,o,r,a,c,l,m){return e.kind==="ask"?t.jsx(As,{item:e.item,collapsed:e.collapsed,connector:!s,autoFocus:e.item.kind==="pending"&&e.item.entry.requestId===c,sessionTitle:l}):e.kind==="ask-more"?t.jsx(Is,{count:e.count,connector:!s,onExpand:a}):ir(e.row,s,n,o,r,m)}function lr({session:e,owningPaneId:s,workspaceCwd:n}){var H,ne;const o=e.timeline.rows,r=e.status==="running",a=Et(),c=At(e.cwd,a),l=h.useRef(null),m=Rt(e),d=It(e.agentId??""),f=Lt(e.agentId??""),[u,x]=h.useState(!1),B=L(N=>N.activeSessionId===e.id),P=Ot(N=>{var D;return((D=N.layouts[n])==null?void 0:D.focusedPaneId)===s}),R=B&&P?((H=d[0])==null?void 0:H.requestId)??null:null,v=h.useMemo(()=>{const N=Fn(On(d,f),u);return $s(o,N,D=>({kind:"row",row:D}),D=>D.kind==="more"?{kind:"ask-more",count:D.count}:{kind:"ask",item:D.item,collapsed:D.collapsed})},[o,d,f,u]),_=W(N=>N.status==="open"),y=W(N=>N.serverInfo),A=!!((ne=y==null?void 0:y.features)!=null&&ne.providerAuth),G=Pt(N=>N.openSettings),{data:Q}=dn(o.length===0&&_&&A),w=Ws(A,Q),T=bt({count:v.length,getScrollElement:()=>l.current,estimateSize:()=>rr,overscan:8,getItemKey:N=>{const D=v[N];return D?ar(D):N},measureElement:(N,D,$)=>{if(N.offsetParent!==null)return yt(N,D,$);const se=$.indexFromElement(N),ae=$.options.getItemKey(se);return $.itemSizeCache.get(ae)??$.options.estimateSize(se)},anchorTo:"end",scrollEndThreshold:tt}),{pinned:fe,followTail:z,pinToBottom:X}=Qo(T,l),M=Cn(o);return h.useEffect(()=>{z()},[v.length,z]),h.useEffect(()=>{M!==null&&X()},[M,X]),t.jsxs("div",{className:Y.root,children:[t.jsx("div",{className:Y.viewport,ref:l,children:v.length===0?!r&&(w?t.jsxs(Mt,{className:Y.nudge,children:[t.jsx("span",{children:"No messages yet — connect a model provider to get started."}),t.jsx(E,{size:"xs",variant:"secondary",onClick:()=>G(),children:"Connect a model provider"})]}):t.jsx("div",{className:Y.empty,children:"No messages yet — say something to start."})):t.jsx("div",{className:Y.inner,style:{height:T.getTotalSize()},children:T.getVirtualItems().map(N=>{const D=v[N.index];return D?t.jsx("div",{ref:T.measureElement,"data-index":N.index,className:Y.rowWrap,style:{transform:`translateY(${N.start}px)`},children:cr(D,N.index===v.length-1,c,s,n,()=>x(!0),R,e.title,m)},N.key):null})})}),!fe&&v.length>0&&t.jsx("button",{type:"button",className:Y.jumpToLatest,onClick:X,title:"Jump to latest","aria-label":"Jump to latest",children:t.jsx(nn,{size:16,"aria-hidden":"true"})})]})}function dr(e,s=!0){const n=W(o=>o.client);return ve({queryKey:be.agentCommands(e),queryFn:async()=>{if(!n)throw new Error("not connected");const o=await de(n,e),{commands:r}=await n.agent(o).listCommands();return r},enabled:!!n&&!!e&&s})}function rt(e,s=!0){const n=W(o=>o.client);return ve({queryKey:be.providerModels(e),queryFn:async()=>{if(!n)throw new Error("not connected");return(await n.providers.listModels(e)).models},enabled:!!n&&!!e&&s})}function ur(e,s,n=!0){const o=W(r=>r.client);return ve({queryKey:be.thinkingLevels(e??"",s),queryFn:async()=>{if(!o||!e)throw new Error("not connected");return(await o.agent(e).listThinkingLevels()).levels},enabled:!!o&&!!e&&n,retry:!1})}const mr="_strip_nzfk5_4",fr="_thumb_nzfk5_11",pr="_remove_nzfk5_28",ge={strip:mr,thumb:fr,remove:pr};function hr({images:e,onRemove:s}){return e.length===0?null:t.jsx("div",{className:ge.strip,children:e.map((n,o)=>t.jsxs("div",{className:ge.thumb,children:[t.jsx("img",{src:n.thumbUrl,alt:""}),t.jsx("button",{type:"button",className:ge.remove,title:"Remove",onClick:()=>s(o),children:"×"})]},o))})}function gr(e){const{promise:s,resolve:n,reject:o}=Promise.withResolvers(),r=new FileReader;return r.onload=()=>{const a=r.result;if(typeof a!="string"){o(new Error("Unexpected FileReader result"));return}const c=a.indexOf(","),l=c>=0?a.slice(c+1):a;n({mimeType:e.type,data:l,thumbUrl:a})},r.onerror=()=>o(r.error??new Error("Failed to read file")),r.readAsDataURL(e),s}function _r(e,s,n){return e?n:s}const xr="_picker_11c3i_4",kr="_search_11c3i_10",vr="_list_11c3i_28",jr="_item_11c3i_33",br="_itemActive_11c3i_50",yr="_checkSlot_11c3i_54",Nr="_label_11c3i_63",Sr="_modelId_11c3i_69",Cr="_state_11c3i_76",wr="_stateError_11c3i_85",Dr="_commandContent_11c3i_95",Br="_commandList_11c3i_98",Tr="_commandItem_11c3i_103",Er="_commandItemHeader_11c3i_135",Ar="_commandKindBadge_11c3i_149",Rr="_commandKindExtension_11c3i_168",Ir="_commandKindPrompt_11c3i_173",Lr="_commandKindSkill_11c3i_178",Or="_commandDescription_11c3i_183",b={picker:xr,search:kr,list:vr,item:jr,itemActive:br,checkSlot:yr,label:Nr,modelId:Sr,state:Cr,stateError:wr,commandContent:Dr,commandList:Br,commandItem:Tr,commandItemHeader:Er,commandKindBadge:Ar,commandKindExtension:Rr,commandKindPrompt:Ir,commandKindSkill:Lr,commandDescription:Or},Pr={onOpenAutoFocus:e=>e.preventDefault()};function Mr(e){switch(e){case"extension":return b.commandKindExtension;case"prompt":return b.commandKindPrompt;case"skill":return b.commandKindSkill;default:return}}function Fr({open:e,onOpenChange:s,options:n,highlightedIndex:o,onSelect:r,isLoading:a,isError:c,errorMessage:l,hiddenExtensionCount:m,renderTrigger:d}){const f=h.useRef(null);return h.useEffect(()=>{var u,x;e&&((x=(u=f.current)==null?void 0:u.querySelector('[aria-selected="true"]'))==null||x.scrollIntoView({block:"nearest"}))},[e,o]),t.jsxs(Se,{open:e,onOpenChange:s,modal:!1,children:[t.jsx(Ce,{asChild:!0,children:d()}),t.jsxs(ye,{className:C(b.picker,b.commandContent),side:"top",sideOffset:4,...Pr,onCloseAutoFocus:u=>u.preventDefault(),children:[a&&t.jsx("div",{className:b.state,children:t.jsx(je,{size:"sm"})}),!a&&c&&t.jsx("div",{className:b.stateError,children:l??"Failed to load commands"}),!a&&!c&&n.length===0&&t.jsx("div",{className:b.state,children:"No commands found"}),!a&&!c&&n.length>0&&t.jsx("div",{ref:f,className:C(b.list,b.commandList),children:n.map((u,x)=>t.jsxs("div",{role:"option","aria-selected":x===o,className:C(b.item,b.commandItem,x===o&&b.itemActive),title:u.description,onMouseDown:B=>{B.preventDefault(),r(u.value)},children:[t.jsxs("div",{className:b.commandItemHeader,children:[t.jsx("span",{className:b.label,children:u.label}),u.kind&&t.jsx("span",{className:C(b.commandKindBadge,Mr(u.kind)),children:u.kind})]}),u.description&&t.jsx("div",{className:b.commandDescription,children:u.description})]},u.value))}),!a&&!c&&m>0&&t.jsxs("div",{className:b.state,children:[m," extension command(s) unavailable while the agent is running"]})]})]})}function qr(e,s={}){const n=new Map;for(const m of e){const d=m.group??"",f=n.get(d);f?f.push(m):n.set(d,[m])}const o=n.get("");n.delete("");const r=[...n.keys()],{priorityGroup:a,ungroupedLabel:c}=s;a!==void 0&&n.has(a)&&(r.splice(r.indexOf(a),1),r.unshift(a));const l=r.map(m=>({key:m,label:m,options:n.get(m)??[]}));return o&&l.push({key:"",label:c,options:o}),l}function Kr(e,s,n){if(!s)return e;const o=e.filter(a=>a.id===s),r=(n===void 0?void 0:o.find(a=>a.provider===n))??o[0];return r?[r,...e.filter(a=>a!==r)]:e}function zr(e){const s=new Set;return e.filter(n=>{const o=`${n.provider??""}/${n.id}`;return s.has(o)?!1:(s.add(o),!0)})}function Hr({currentModel:e,currentModelProvider:s,provider:n,onSelect:o,renderTrigger:r}){const[a,c]=h.useState(!1),[l,m]=h.useState(""),d=h.useRef(null),{data:f=[],isLoading:u,isError:x,error:B}=rt(n,a||e!==void 0);h.useEffect(()=>{var w;a&&(m(""),(w=d.current)==null||w.focus())},[a]);const R=zr(Kr(f,e,s)).map(w=>({value:w.id,label:w.label??w.id,description:w.id,group:w.provider})),v=R[0],_=(v==null?void 0:v.value)===e?v:void 0,y=qr(Ze(R,l),{priorityGroup:s,ungroupedLabel:"Other"}),A=y.length>1,G=B instanceof Error?B.message:"Failed to load models";function Q(w){w.stopPropagation(),w.key==="Escape"&&c(!1)}return t.jsxs(Se,{open:a,onOpenChange:c,modal:!1,children:[t.jsx(Ce,{asChild:!0,children:r(e,_==null?void 0:_.label)}),t.jsxs(ye,{minWidth:240,align:"end",sideOffset:6,className:b.picker,children:[t.jsx("input",{ref:d,className:b.search,placeholder:"Search models…",value:l,onChange:w=>m(w.target.value),onKeyDown:Q}),u&&t.jsx("div",{className:b.state,children:t.jsx(je,{size:"sm"})}),!u&&x&&t.jsx("div",{className:b.stateError,children:G}),!u&&!x&&y.length===0&&t.jsx("div",{className:b.state,children:"No models found"}),!u&&!x&&y.length>0&&t.jsx("div",{className:b.list,children:y.map(w=>t.jsx(Ft,{label:A?w.label:void 0,children:w.options.map(T=>t.jsxs(Xe,{className:b.item,onSelect:()=>o(T.value,T.group),children:[t.jsx("span",{className:b.checkSlot,"aria-hidden":!0,children:T===_&&t.jsx(Ne,{size:14})}),t.jsx("span",{className:b.label,children:T.label}),t.jsxs("span",{className:b.modelId,children:["(",T.value,")"]})]},`${T.group??""}/${T.value}`))},w.key))})]})]})}function $r({currentLevel:e,levels:s,open:n,onOpenChange:o,onSelect:r,renderTrigger:a}){return t.jsxs(Se,{open:n,onOpenChange:o,modal:!1,children:[t.jsx(Ce,{asChild:!0,children:a(e)}),t.jsx(ye,{minWidth:140,align:"end",side:"top",sideOffset:6,className:b.picker,children:s.length===0?t.jsx("div",{className:b.state,children:"Loading levels…"}):t.jsx("div",{className:b.list,children:s.map(c=>t.jsxs(Xe,{className:b.item,onSelect:()=>r(c),children:[t.jsx("span",{className:b.checkSlot,"aria-hidden":!0,children:c===e&&t.jsx(Ne,{size:14})}),t.jsx("span",{className:b.label,children:c})]},c))})})]})}const We=["off","minimal","low","medium","high","xhigh","max"];function Wr(e,s){if(!e)return We;const n=s==null?void 0:s.find(o=>o.id===e);return n!=null&&n.thinkingLevels&&n.thinkingLevels.length>0?n.thinkingLevels:We}function De(e){if(!e.startsWith("/"))return null;const s=/^\/(\S*)/.exec(e),n=(s==null?void 0:s[1])??"",o=1+n.length,r=/\S/.test(e.slice(o));return{name:n,end:o,hasArgs:r}}function Ur(e){return/^\/\S*$/.test(e)}function Gr(e,s){let n=0;const o=[];for(const r of e){if(s.running&&r.source==="extension"){n+=1;continue}o.push({value:r.name,label:`/${r.name}`,description:r.description,kind:r.source})}return{options:o,hiddenExtensionCount:n}}function Vr(e,s,n){return n<=0?0:(e+s+n)%n}function Yr(e,s){const n=De(e);return n?n.hasArgs?`/${s}${e.slice(n.end)}`:`/${s} `:`/${s} ${e}`}function Jr(e,s){const n=De(e);return!n||!s.includes(n.name)?null:{end:n.end}}const Qr="_composer_afpks_4",Xr="_card_afpks_13",Zr="_flash_afpks_27",ea="_note_afpks_41",ta="_textarea_afpks_49",na="_textareaWrap_afpks_73",sa="_highlightLayer_afpks_61",oa="_commandMark_afpks_96",ra="_hiddenFileInput_afpks_121",aa="_toolbar_afpks_127",ia="_toolbarRight_afpks_134",ca="_toolBtn_afpks_142",la="_roundBtn_afpks_148",da="_modelBtn_afpks_153",ua="_modelLabel_afpks_183",ma="_modelId_afpks_181",fa="_modelChevron_afpks_201",S={composer:Qr,card:Xr,flash:Zr,note:ea,textarea:ta,textareaWrap:na,highlightLayer:sa,commandMark:oa,hiddenFileInput:ra,toolbar:aa,toolbarRight:ia,toolBtn:ca,roundBtn:la,modelBtn:da,modelLabel:ua,modelId:ma,modelChevron:fa},pa=160;function le(e){e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,pa)}px`}function ha(e){return typeof e=="object"&&e!==null&&"ok"in e&&e.ok===!1}function ga(){return typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}function _a({sessionId:e}){var Pe;const s=W(i=>i.client),n=L(i=>i.sessions[e]),o=L(i=>i.addOptimisticUserMessage),r=L(i=>i.markUserMessageFailed),a=L(i=>i.setCwd),c=L(i=>i.setModel),l=L(i=>i.setThinkingLevel),m=W(i=>i.serverInfo),[d,f]=h.useState(!1),u=!!((Pe=m==null?void 0:m.features)!=null&&Pe.thinkingLevels),{data:x}=ur(n==null?void 0:n.agentId,n==null?void 0:n.model,d&&!!(n!=null&&n.agentId)&&((n==null?void 0:n.userMessageCount)??0)>0),{data:B}=rt("pi"),P=Wr(n==null?void 0:n.model,B),R=x!==void 0&&x.length>0?x:P,v=u&&!(x!==void 0&&x.length===0),_=ce(i=>i.drafts[e]??""),y=ce(i=>i.setDraft),[A,G]=h.useState([]),[Q,w]=h.useState(!1),[T,fe]=h.useState(!1),z=h.useRef(null),X=h.useRef(null),[M,H]=h.useState(!1),[ne,N]=h.useState(0),D=qt(Kt.chat(e)),$=ce(i=>i.pendingFeedback[e]),[se,ae]=h.useState(null),[at,Be]=h.useState(!1),oe=h.useRef(null),re=h.useRef(null);h.useEffect(()=>{if(!D||$===void 0)return;const i=ce.getState().consumeFeedback(e);if(!i)return;ae(i.copy==="filled"?"Your message was filled in":"Your draft was replaced"),oe.current!==null&&window.clearTimeout(oe.current),oe.current=window.setTimeout(()=>ae(null),4e3);const k=z.current;k&&k.setSelectionRange(k.value.length,k.value.length),i.flash&&(Be(!0),re.current!==null&&window.clearTimeout(re.current),re.current=window.setTimeout(()=>Be(!1),ga()?1e3:400))},[D,$,e]),h.useEffect(()=>()=>{oe.current!==null&&window.clearTimeout(oe.current),re.current!==null&&window.clearTimeout(re.current)},[]);const F=(n==null?void 0:n.status)==="running",it=_r(F,Q,T),ct=!!s&&!it&&(_.trim().length>0||A.length>0),{data:Te=[],isLoading:lt,isError:dt,error:Ee}=dr(e,M),{options:Ae,hiddenExtensionCount:ut}=Gr(Te,{running:F}),Re=De(_),ie=Re?Ze(Ae,Re.name):Ae,mt=Te.map(i=>i.name),Z=Jr(_,mt);async function Ie(i){if(i.type.startsWith("image/"))try{const k=await gr(i);G(j=>[...j,k])}catch{}}function ft(i){for(const k of i.target.files??[])Ie(k);i.target.value=""}function pt(i){for(const k of i.clipboardData.items)if(k.type.startsWith("image/")){i.preventDefault();const j=k.getAsFile();j&&Ie(j)}}function ht(i){G(k=>k.filter((j,I)=>I!==i))}function gt(i){const k=i.target.value;y(e,k),le(i.target);const j=Ur(k);j!==M&&H(j),j&&N(0)}function _t(i){var k;if(!M&&Z&&i.key==="Backspace"){const j=i.currentTarget,I=j.selectionStart;if(I!==null&&I===j.selectionEnd){const ee=Z.end+(_[Z.end]===" "?1:0);if(I>0&&I<=ee){i.preventDefault();const V=_.slice(ee);y(e,V),j.setSelectionRange(0,0),le(j);return}}}if(M&&ie.length>0){if(i.key==="ArrowDown"||i.key==="ArrowUp"){i.preventDefault(),N(j=>Vr(j,i.key==="ArrowDown"?1:-1,ie.length));return}if(i.key==="Enter"&&!i.shiftKey||i.key==="Tab"){i.preventDefault();const j=(k=ie[ne])==null?void 0:k.value;j&&Le(j);return}}if(M&&i.key==="Escape"){i.preventDefault(),H(!1);return}i.key==="Enter"&&!i.shiftKey&&(i.preventDefault(),Oe(F?"steer":"send"))}function Le(i){const k=Yr(_,i);y(e,k),H(!1),N(0);const j=z.current;j&&(j.focus(),j.setSelectionRange(k.length,k.length),le(j))}async function Oe(i){if(!s||!n||(i==="steer"?T:Q)||i==="steer"&&!n.agentId)return;const k=_.trim();if(!k&&A.length===0)return;y(e,""),H(!1),z.current&&le(z.current);const j=A;G([]);const I=k||"Describe this image",ee=j.length>0?j.map(te=>({mimeType:te.mimeType,data:te.data})):void 0,V=zt();o(e,V,I,ee,i==="steer");const Me=i==="steer"?fe:w;Me(!0);try{if(i==="steer"){const te=await s.agent(n.agentId).steer(I,{clientMessageId:V,images:ee});ha(te)&&r(e,V)}else{n.agentId||a(e,n.cwd||"~");const te=await de(s,e);await s.agent(te).send(I,{clientMessageId:V,images:ee})}}catch{r(e,V)}finally{Me(!1)}}function xt(){n!=null&&n.agentId&&(s==null||s.agent(n.agentId).interrupt())}function kt(i,k){c(e,i,k),!(!s||!k)&&(async()=>{const j=await de(s,e);await s.agent(j).setModel(k,i)})().catch(()=>{})}function vt(i){l(e,i),s&&(async()=>{const k=await de(s,e),j=await s.agent(k).setThinking(i);l(e,j.level)})().catch(()=>{})}return t.jsxs("div",{className:S.composer,children:[t.jsxs("div",{className:C(S.card,at&&S.flash),children:[t.jsxs("div",{className:S.textareaWrap,children:[t.jsx("div",{className:S.highlightLayer,"aria-hidden":!0,children:Z?t.jsxs(t.Fragment,{children:[t.jsx("mark",{className:S.commandMark,children:_.slice(0,Z.end)}),_.slice(Z.end)]}):_}),t.jsx(Ge,{ref:z,className:S.textarea,rows:1,value:_,placeholder:F?"Steer the running turn… ⏎ steer · ⇧⏎ newline":"Ask anything… ⏎ send · ⇧⏎ newline · / commands",onChange:gt,onKeyDown:_t,onPaste:pt,"data-session-id":e})]}),t.jsx(hr,{images:A,onRemove:ht}),t.jsxs("div",{className:S.toolbar,children:[t.jsx(E,{className:S.toolBtn,variant:"ghost",size:"sm",iconOnly:!0,title:"Attach image","aria-label":"Attach image",onClick:()=>{var i;return(i=X.current)==null?void 0:i.click()},children:t.jsx(sn,{size:16})}),t.jsx(Fr,{open:M,onOpenChange:H,options:ie,highlightedIndex:ne,onSelect:Le,isLoading:lt,isError:dt,errorMessage:Ee instanceof Error?Ee.message:void 0,hiddenExtensionCount:ut,renderTrigger:()=>t.jsx(E,{className:S.toolBtn,variant:"ghost",size:"sm",iconOnly:!0,title:"Slash commands","aria-label":"Slash commands",children:t.jsx(on,{size:16})})}),t.jsxs("div",{className:S.toolbarRight,children:[t.jsx(Hr,{currentModel:n==null?void 0:n.model,currentModelProvider:n==null?void 0:n.modelProvider,provider:"pi",onSelect:kt,renderTrigger:(i,k)=>{const j=k!==void 0&&k!==i;return t.jsxs("button",{type:"button",className:S.modelBtn,disabled:!s,title:i?`Model: ${k??i}${j?` (${i})`:""}`:"Select model",children:[t.jsx(rn,{size:14,"aria-hidden":"true"}),t.jsx("span",{className:S.modelLabel,children:k??i??"Model"}),j&&t.jsxs("span",{className:S.modelId,children:["(",i,")"]}),t.jsx(qe,{size:13,className:S.modelChevron,"aria-hidden":"true"})]})}}),v&&t.jsx($r,{currentLevel:n==null?void 0:n.thinkingLevel,levels:R,open:d,onOpenChange:f,onSelect:vt,renderTrigger:i=>t.jsxs("button",{type:"button",className:S.modelBtn,disabled:!s,title:i?`Thinking: ${i}`:"Thinking level",children:[t.jsx(Ye,{size:14,"aria-hidden":"true"}),t.jsx("span",{className:S.modelLabel,children:i??"Thinking"}),t.jsx(qe,{size:13,className:S.modelChevron,"aria-hidden":"true"})]})}),F&&t.jsx(E,{className:S.roundBtn,variant:"destructive",size:"sm",iconOnly:!0,title:"Stop the running turn","aria-label":"Stop",onClick:xt,children:t.jsx(an,{size:14})}),t.jsx(E,{className:S.roundBtn,size:"sm",iconOnly:!0,disabled:!ct,title:F?"Steer the running turn":"Send","aria-label":F?"Steer":"Send",onClick:()=>void Oe(F?"steer":"send"),children:F?t.jsx(cn,{size:16}):t.jsx(ln,{size:18})})]})]})]}),se!==null&&t.jsx("div",{className:S.note,children:se}),t.jsx("input",{ref:X,className:S.hiddenFileInput,type:"file",accept:"image/*",multiple:!0,onChange:ft})]})}const xa="_track_oxvl6_2",ka="_sweep_oxvl6_24",va="_visuallyHidden_oxvl6_64",_e={track:xa,sweep:ka,visuallyHidden:va};function ja({running:e}){return e?t.jsxs("div",{className:_e.track,role:"progressbar","aria-label":"Turn in progress",children:[t.jsx("div",{className:_e.sweep,"aria-hidden":"true"}),t.jsx("span",{className:_e.visuallyHidden,role:"status","aria-live":"polite",children:"Agent is working…"})]}):null}const ba="_panel_1tq06_1",ya="_empty_1tq06_5",Ue={panel:ba,empty:ya};function Pa({tab:e,owningPaneId:s}){const{sessionId:n}=e.data,o=L(r=>r.sessions[n]);return Nn(n),o?t.jsxs(Fe,{className:Ue.panel,children:[t.jsx(ja,{running:o.status==="running"}),t.jsx(lr,{session:o,owningPaneId:s,workspaceCwd:e.workspaceCwd}),t.jsx(_a,{sessionId:o.id})]}):t.jsx(Fe,{children:t.jsx("div",{className:Ue.empty,children:"Session not found."})})}export{Pa as ChatPanel};