@av-pi-studio/web-client 0.0.114 → 0.0.115

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-Bkpz8WV_.js → BinaryFallbackViewer-Dq-nKWpC.js} +1 -1
  2. package/dist/web/assets/ChatPanel-Qq5HOEmp.js +11 -0
  3. package/dist/web/assets/ChatPanel-eXvPOkx2.css +1 -0
  4. package/dist/web/assets/{CodeView-BGmM4Xdz.js → CodeView-D2AbbC_L.js} +1 -1
  5. package/dist/web/assets/{FilePanel-_4YNsvO0.js → FilePanel-C8a4lo2l.js} +1 -1
  6. package/dist/web/assets/{HtmlViewer-DFstCiC5.js → HtmlViewer-C8-SgleQ.js} +1 -1
  7. package/dist/web/assets/{ImageViewer-BQxrdTlE.js → ImageViewer-DlrFU49L.js} +1 -1
  8. package/dist/web/assets/{MarkdownFileViewer-BGovxRT6.js → MarkdownFileViewer--rEDlM0V.js} +1 -1
  9. package/dist/web/assets/{ModelProvidersPanel-DfQW9oP8.js → ModelProvidersPanel-C8n0B81a.js} +1 -1
  10. package/dist/web/assets/{MoleculeViewerPanel-u97-c07_.js → MoleculeViewerPanel-DJSlOUqo.js} +1 -1
  11. package/dist/web/assets/{PdfViewer-BXC1UMNj.js → PdfViewer-9DZZk7La.js} +1 -1
  12. package/dist/web/assets/{SettingsDialog-CINzuD1W.js → SettingsDialog-BFZq6aFr.js} +5 -5
  13. package/dist/web/assets/{SkillsPanel-Mfgze4oy.js → SkillsPanel-DozPwPxA.js} +1 -1
  14. package/dist/web/assets/{TerminalPanel-CyyoVOMa.js → TerminalPanel-CjSapR_O.js} +1 -1
  15. package/dist/web/assets/{TextViewer-C6Lp03uL.js → TextViewer-CwDHwPHO.js} +1 -1
  16. package/dist/web/assets/{VideoViewer-hV_glBDT.js → VideoViewer-DhoykxJ9.js} +1 -1
  17. package/dist/web/assets/{ViewersPanel-ZyLSqRdr.js → ViewersPanel-BlGyBkhN.js} +1 -1
  18. package/dist/web/assets/{href-resolution-DWAlGpSI.js → href-resolution-DQ5F8D38.js} +1 -1
  19. package/dist/web/assets/index-B5a_0vez.js +19 -0
  20. package/dist/web/assets/{markdown-ZgA079Q9.js → markdown-lIJgQxS5.js} +1 -1
  21. package/dist/web/assets/{use-file-download-Bc8Kby2g.js → use-file-download-B1azK5cl.js} +1 -1
  22. package/dist/web/assets/{use-file-watch-hu9dEdvA.js → use-file-watch-C2xPravy.js} +1 -1
  23. package/dist/web/assets/{use-provider-auth-list-BDqjbQx-.js → use-provider-auth-list-Dk_cF607.js} +1 -1
  24. package/dist/web/assets/{vendor-icons-Dq3K7TC5.js → vendor-icons-Bh5CT32q.js} +1 -1
  25. package/dist/web/index.html +2 -2
  26. package/package.json +3 -3
  27. package/dist/web/assets/ChatPanel-DtQ_LR4Y.css +0 -1
  28. package/dist/web/assets/ChatPanel-kbXAj_zX.js +0 -9
  29. package/dist/web/assets/index-DjUHduQf.js +0 -19
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-IS9aUP88.js","assets/vendor-DaF96HbP.js","assets/vendor-react-DQUAl2K8.js","assets/vendor-CEK31ho9.css"])))=>i.map(i=>d[i]);
2
- import{_ as L}from"./vendor-DaF96HbP.js";import{r as m,j as i}from"./vendor-react-DQUAl2K8.js";import{A as N,u as _,F as H,G as F,t as P,p as b,S as $,H as I,J as E,K as R}from"./index-DjUHduQf.js";import{c as D}from"./vendor-highlight-Ddi_n-Jh.js";import{r as y}from"./href-resolution-DWAlGpSI.js";import{M as V,r as A,a as U,b as O}from"./vendor-markdown-DJUOT8ep.js";const M="github-dark";let k=null;const j=new Set(["plaintext"]);function B(){return k||(k=D({themes:[M],langs:["plaintext"]})),k}async function G(r,e){if(j.has(e))return e;try{return await r.loadLanguage(e),j.add(e),e}catch{return"plaintext"}}async function K(r,e){const t=await B(),n=await G(t,e);return t.codeToHtml(r,{lang:n,theme:M})}const v={background:"--pi-color-surface1",primaryColor:"--pi-color-surface2",primaryTextColor:"--pi-color-foreground",primaryBorderColor:"--pi-color-surface3",lineColor:"--pi-color-foregroundMuted",secondaryColor:"--pi-color-surface3",secondaryTextColor:"--pi-color-foreground",secondaryBorderColor:"--pi-color-surface4",tertiaryColor:"--pi-color-surface1",tertiaryTextColor:"--pi-color-foreground",tertiaryBorderColor:"--pi-color-surface3",textColor:"--pi-color-foreground"};function z(r){var t;const e={};for(const[n,a]of Object.entries(v)){const s=(t=r[a])==null?void 0:t.trim();s&&(e[n]=s)}return e}function Y(){const r=getComputedStyle(document.documentElement),e={};for(const t of Object.values(v))e[t]=r.getPropertyValue(t);return z(e)}const Z="_prose_1697a_1",q="_streaming_1697a_26",J="_inlineCode_1697a_87",W="_mermaid_1697a_105",Q="_mermaidError_1697a_114",X="_mermaidErrorMessage_1697a_117",ee="_inlineImage_1697a_148",te="_inlineImageSkeleton_1697a_157",re="_inlineImageFallback_1697a_168",d={prose:Z,streaming:q,inlineCode:J,mermaid:W,mermaidError:Q,mermaidErrorMessage:X,inlineImage:ee,inlineImageSkeleton:te,inlineImageFallback:re},ne={"http:":!0,"https:":!0,"data:":!0,"blob:":!0},ae=/^([a-zA-Z][a-zA-Z0-9+.-]*):/;function se(r,e,t){const n=r.trim();if(!n)return{kind:"unresolvable"};const a=n.split(/[?#]/,1)[0];if(!a)return{kind:"unresolvable"};const s=ae.exec(a);if(s)return`${s[1].toLowerCase()}:`in ne?{kind:"remote"}:{kind:"unresolvable"};const o=y(r,e,t);return o?N(o)!=="image"?{kind:"unresolvable"}:{kind:"local",path:o}:{kind:"unresolvable"}}function ie(r,e,t,n){return r.kind==="remote"?{kind:"remote",src:t||"",alt:n}:r.kind==="unresolvable"?{kind:"unresolvable",fallbackText:n||t||"(image)"}:e.status==="loading"||e.status==="idle"?{kind:"loading"}:e.status==="ready"?{kind:"ready",objectUrl:e.objectUrl,alt:n,path:r.path}:{kind:"error",fallbackText:n||r.path||"(image)"}}function C(r,e,t){return{workspaceCwd:t??(r||"~"),targetPaneId:e??void 0}}function oe(r,e,t){if(!r||!e){t({status:"idle"});return}let n=!1;return t({status:"loading"}),H(r,e).then(a=>{n||t({status:"ready",objectUrl:a.objectUrl})}).catch(a=>{n||t({status:"error",message:a instanceof Error?a.message:String(a)})}),()=>{n=!0,F(r)}}function le(r){const e=_(s=>s.client),t=_(s=>s.daemon),[n,a]=m.useState({status:"idle"});return m.useEffect(()=>oe(r,e&&t?o=>P(t).download(o):null,a),[e,t,r]),n}const ce=m.memo(function({src:e,alt:t,assetBase:n,owningPaneId:a,workspaceCwd:s}){const o=b(),u=m.useMemo(()=>se(e||"",n,o),[e,n,o]),c=le(u.kind==="local"?u.path:null),l=ie(u,c,e,t);if(l.kind==="remote")return i.jsx("img",{src:l.src,alt:l.alt,className:d.inlineImage});if(l.kind==="unresolvable"||l.kind==="error")return i.jsx("code",{className:d.inlineImageFallback,children:l.fallbackText});if(l.kind==="loading")return i.jsx("div",{className:d.inlineImageSkeleton,children:i.jsx($,{size:"sm"})});const g=C(n,a??null,s??null),p=()=>{E(l.path,g.workspaceCwd,g.targetPaneId)};return i.jsx("img",{src:l.objectUrl,alt:l.alt,className:d.inlineImage,title:l.path,draggable:!0,onDragStart:I(l.path),onClick:p,style:{cursor:"pointer"}})});function ue(r,e,t){const n=r.trim();if(!n)return{kind:"external"};if(n.startsWith("#"))return{kind:"external"};const a=y(r,e,t);return a?{kind:"local",path:a}:{kind:"external"}}function de({href:r,children:e,assetBase:t,owningPaneId:n,workspaceCwd:a}){const s=b(),o=ue(r??"",t,s);if(o.kind==="external")return i.jsx("a",{href:r,children:e});const u=o.path,c=C(t,n,a);return i.jsx("a",{href:r,draggable:!0,onDragStart:I(u),onClick:l=>{l.preventDefault(),E(u,c.workspaceCwd,c.targetPaneId)},children:e})}const S=/^ {0,3}([-*+]|\d{1,9}[.)])(\s|$)/,me=/^(\s*)(`{3,}|~{3,})(.*)$/;function fe(r){return S.test(r[0]??"")}function ge(r,e){for(let t=e;t<r.length;t++)if((r[t]??"").trim()!=="")return t;return-1}function pe(r){if(!r)return{blocks:[],tail:""};const e=r.split(`
2
+ import{_ as L}from"./vendor-DaF96HbP.js";import{r as m,j as i}from"./vendor-react-DQUAl2K8.js";import{A as N,u as _,F as H,G as F,t as P,p as b,S as $,H as I,J as E,K as R}from"./index-B5a_0vez.js";import{c as D}from"./vendor-highlight-Ddi_n-Jh.js";import{r as y}from"./href-resolution-DQ5F8D38.js";import{M as V,r as A,a as U,b as O}from"./vendor-markdown-DJUOT8ep.js";const M="github-dark";let k=null;const j=new Set(["plaintext"]);function B(){return k||(k=D({themes:[M],langs:["plaintext"]})),k}async function G(r,e){if(j.has(e))return e;try{return await r.loadLanguage(e),j.add(e),e}catch{return"plaintext"}}async function K(r,e){const t=await B(),n=await G(t,e);return t.codeToHtml(r,{lang:n,theme:M})}const v={background:"--pi-color-surface1",primaryColor:"--pi-color-surface2",primaryTextColor:"--pi-color-foreground",primaryBorderColor:"--pi-color-surface3",lineColor:"--pi-color-foregroundMuted",secondaryColor:"--pi-color-surface3",secondaryTextColor:"--pi-color-foreground",secondaryBorderColor:"--pi-color-surface4",tertiaryColor:"--pi-color-surface1",tertiaryTextColor:"--pi-color-foreground",tertiaryBorderColor:"--pi-color-surface3",textColor:"--pi-color-foreground"};function z(r){var t;const e={};for(const[n,a]of Object.entries(v)){const s=(t=r[a])==null?void 0:t.trim();s&&(e[n]=s)}return e}function Y(){const r=getComputedStyle(document.documentElement),e={};for(const t of Object.values(v))e[t]=r.getPropertyValue(t);return z(e)}const Z="_prose_1697a_1",q="_streaming_1697a_26",J="_inlineCode_1697a_87",W="_mermaid_1697a_105",Q="_mermaidError_1697a_114",X="_mermaidErrorMessage_1697a_117",ee="_inlineImage_1697a_148",te="_inlineImageSkeleton_1697a_157",re="_inlineImageFallback_1697a_168",d={prose:Z,streaming:q,inlineCode:J,mermaid:W,mermaidError:Q,mermaidErrorMessage:X,inlineImage:ee,inlineImageSkeleton:te,inlineImageFallback:re},ne={"http:":!0,"https:":!0,"data:":!0,"blob:":!0},ae=/^([a-zA-Z][a-zA-Z0-9+.-]*):/;function se(r,e,t){const n=r.trim();if(!n)return{kind:"unresolvable"};const a=n.split(/[?#]/,1)[0];if(!a)return{kind:"unresolvable"};const s=ae.exec(a);if(s)return`${s[1].toLowerCase()}:`in ne?{kind:"remote"}:{kind:"unresolvable"};const o=y(r,e,t);return o?N(o)!=="image"?{kind:"unresolvable"}:{kind:"local",path:o}:{kind:"unresolvable"}}function ie(r,e,t,n){return r.kind==="remote"?{kind:"remote",src:t||"",alt:n}:r.kind==="unresolvable"?{kind:"unresolvable",fallbackText:n||t||"(image)"}:e.status==="loading"||e.status==="idle"?{kind:"loading"}:e.status==="ready"?{kind:"ready",objectUrl:e.objectUrl,alt:n,path:r.path}:{kind:"error",fallbackText:n||r.path||"(image)"}}function C(r,e,t){return{workspaceCwd:t??(r||"~"),targetPaneId:e??void 0}}function oe(r,e,t){if(!r||!e){t({status:"idle"});return}let n=!1;return t({status:"loading"}),H(r,e).then(a=>{n||t({status:"ready",objectUrl:a.objectUrl})}).catch(a=>{n||t({status:"error",message:a instanceof Error?a.message:String(a)})}),()=>{n=!0,F(r)}}function le(r){const e=_(s=>s.client),t=_(s=>s.daemon),[n,a]=m.useState({status:"idle"});return m.useEffect(()=>oe(r,e&&t?o=>P(t).download(o):null,a),[e,t,r]),n}const ce=m.memo(function({src:e,alt:t,assetBase:n,owningPaneId:a,workspaceCwd:s}){const o=b(),u=m.useMemo(()=>se(e||"",n,o),[e,n,o]),c=le(u.kind==="local"?u.path:null),l=ie(u,c,e,t);if(l.kind==="remote")return i.jsx("img",{src:l.src,alt:l.alt,className:d.inlineImage});if(l.kind==="unresolvable"||l.kind==="error")return i.jsx("code",{className:d.inlineImageFallback,children:l.fallbackText});if(l.kind==="loading")return i.jsx("div",{className:d.inlineImageSkeleton,children:i.jsx($,{size:"sm"})});const g=C(n,a??null,s??null),p=()=>{E(l.path,g.workspaceCwd,g.targetPaneId)};return i.jsx("img",{src:l.objectUrl,alt:l.alt,className:d.inlineImage,title:l.path,draggable:!0,onDragStart:I(l.path),onClick:p,style:{cursor:"pointer"}})});function ue(r,e,t){const n=r.trim();if(!n)return{kind:"external"};if(n.startsWith("#"))return{kind:"external"};const a=y(r,e,t);return a?{kind:"local",path:a}:{kind:"external"}}function de({href:r,children:e,assetBase:t,owningPaneId:n,workspaceCwd:a}){const s=b(),o=ue(r??"",t,s);if(o.kind==="external")return i.jsx("a",{href:r,children:e});const u=o.path,c=C(t,n,a);return i.jsx("a",{href:r,draggable:!0,onDragStart:I(u),onClick:l=>{l.preventDefault(),E(u,c.workspaceCwd,c.targetPaneId)},children:e})}const S=/^ {0,3}([-*+]|\d{1,9}[.)])(\s|$)/,me=/^(\s*)(`{3,}|~{3,})(.*)$/;function fe(r){return S.test(r[0]??"")}function ge(r,e){for(let t=e;t<r.length;t++)if((r[t]??"").trim()!=="")return t;return-1}function pe(r){if(!r)return{blocks:[],tail:""};const e=r.split(`
3
3
  `),t=[];let n=[],a=null,s=!1,o=!1;const u=()=>{const c=n.join(`
4
4
  `).trim();c&&t.push(c),n=[]};for(let c=0;c<e.length;c++){const l=e[c]??"",g=l.trim();if(a!==null){if(n.push(l),a.test(g)){const f=s;a=null,s=!1,f&&u()}continue}const p=me.exec(l);if(p&&!o){const f=p[2];a=new RegExp(`^[${f[0]}]{${f.length},}$`),s=p[1]==="",n.push(l);continue}if(g===""&&n.length===0)continue;if((g.split("$$").length-1)%2===1&&(o=!o),g===""&&!o){const f=ge(e,c+1),h=f===-1?null:e[f]??"",w=h!==null&&!/^\s/.test(h),T=h!==null&&S.test(h)&&fe(n);if(w&&!T){u(),c=f-1;continue}}n.push(l)}return{blocks:t,tail:n.join(`
5
5
  `)}}function he({language:r,code:e}){const[t,n]=m.useState(null);return m.useEffect(()=>{let a=!1;return K(e,r).then(s=>{a||n(s)}),()=>{a=!0}},[e,r]),t?i.jsx("div",{className:d.prose,dangerouslySetInnerHTML:{__html:t}}):i.jsx("pre",{children:i.jsx("code",{children:e})})}function ke({code:r}){const[e]=m.useState(()=>`mermaid-${R()}`),[t,n]=m.useState({status:"pending"});return m.useEffect(()=>{let a=!1;return(async()=>{try{const{default:s}=await L(async()=>{const{default:u}=await import("./mermaid.core-IS9aUP88.js").then(c=>c.b0);return{default:u}},__vite__mapDeps([0,1,2,3]));s.initialize({startOnLoad:!1,theme:"base",themeVariables:Y(),securityLevel:"strict",fontFamily:"var(--pi-font-ui)"});const{svg:o}=await s.render(e,r);a||n({status:"ready",svg:o})}catch(s){a||n({status:"error",message:s instanceof Error?s.message:"Failed to render diagram"})}})(),()=>{a=!0}},[e,r]),t.status==="ready"?i.jsx("div",{className:d.mermaid,dangerouslySetInnerHTML:{__html:t.svg}}):t.status==="error"?i.jsxs("div",{className:d.mermaidError,children:[i.jsxs("p",{className:d.mermaidErrorMessage,children:["Failed to render diagram: ",t.message]}),i.jsx("pre",{children:i.jsx("code",{children:r})})]}):i.jsx("pre",{children:i.jsx("code",{children:r})})}function xe({className:r,children:e,...t}){const n=/language-(\w+)/.exec(r??""),a=!!n,s=String(e).replace(/\n$/,"");if(a&&n){const o=n[1]??"plaintext";return o==="mermaid"?i.jsx(ke,{code:s}):i.jsx(he,{language:o,code:s})}return i.jsx("code",{className:d.inlineCode,...t,children:e})}function _e({className:r,children:e,...t}){return/language-(\w+)/.test(r??"")?i.jsx("pre",{children:i.jsx("code",{children:String(e).replace(/\n$/,"")})}):i.jsx("code",{className:d.inlineCode,...t,children:e})}const je=[U,O],be=[A],Ie=[],x=m.memo(function({text:e,assetBase:t=null,owningPaneId:n=null,workspaceCwd:a=null,lean:s=!1}){return i.jsx(V,{remarkPlugins:je,rehypePlugins:s?Ie:be,components:{code:s?_e:xe,img:o=>i.jsx(ce,{...o,assetBase:t,owningPaneId:n,workspaceCwd:a}),a:o=>i.jsx(de,{...o,assetBase:t,owningPaneId:n,workspaceCwd:a})},children:e})});function Te({text:r,assetBase:e,owningPaneId:t,workspaceCwd:n}){return i.jsx("div",{className:d.prose,children:i.jsx(x,{text:r,assetBase:e,owningPaneId:t,workspaceCwd:n})})}function Le({text:r,assetBase:e,owningPaneId:t,workspaceCwd:n}){const{blocks:a,tail:s}=m.useMemo(()=>pe(r),[r]);return i.jsxs("div",{className:`${d.prose} ${d.streaming}`,children:[a.map((o,u)=>i.jsx(x,{text:o,assetBase:e,owningPaneId:t,workspaceCwd:n},u)),s!==""&&i.jsx(x,{text:s,lean:!0,assetBase:e,owningPaneId:t,workspaceCwd:n})]})}export{Te as M,Le as S,C as r};
@@ -1 +1 @@
1
- import{r as a}from"./vendor-react-DQUAl2K8.js";import{u as f}from"./vendor-query-i7fr__Xm.js";import{u as i,t as m,r as y}from"./index-DjUHduQf.js";function p(o,s=!0){var u;const l=i(e=>e.client),n=i(e=>e.daemon),c=f({queryKey:y.fileDownload(o),queryFn:async()=>{if(!l||!n)throw new Error("not connected");const e=await m(n).download(o),t=new Blob([Uint8Array.from(e.bytes)],{type:e.mimeType||"application/octet-stream"});return{objectUrl:URL.createObjectURL(t),mimeType:e.mimeType,fileName:e.fileName}},enabled:!!l&&!!n&&!!o&&s,staleTime:1/0,gcTime:0}),r=a.useRef(null);return a.useEffect(()=>{var t;const e=((t=c.data)==null?void 0:t.objectUrl)??null;e&&r.current&&r.current!==e&&URL.revokeObjectURL(r.current),r.current=e},[(u=c.data)==null?void 0:u.objectUrl]),a.useEffect(()=>()=>{r.current&&URL.revokeObjectURL(r.current)},[]),c}export{p as u};
1
+ import{r as a}from"./vendor-react-DQUAl2K8.js";import{u as f}from"./vendor-query-i7fr__Xm.js";import{u as i,t as m,r as y}from"./index-B5a_0vez.js";function p(o,s=!0){var u;const l=i(e=>e.client),n=i(e=>e.daemon),c=f({queryKey:y.fileDownload(o),queryFn:async()=>{if(!l||!n)throw new Error("not connected");const e=await m(n).download(o),t=new Blob([Uint8Array.from(e.bytes)],{type:e.mimeType||"application/octet-stream"});return{objectUrl:URL.createObjectURL(t),mimeType:e.mimeType,fileName:e.fileName}},enabled:!!l&&!!n&&!!o&&s,staleTime:1/0,gcTime:0}),r=a.useRef(null);return a.useEffect(()=>{var t;const e=((t=c.data)==null?void 0:t.objectUrl)??null;e&&r.current&&r.current!==e&&URL.revokeObjectURL(r.current),r.current=e},[(u=c.data)==null?void 0:u.objectUrl]),a.useEffect(()=>()=>{r.current&&URL.revokeObjectURL(r.current)},[]),c}export{p as u};
@@ -1 +1 @@
1
- import{r as a}from"./vendor-react-DQUAl2K8.js";import{u as w}from"./index-DjUHduQf.js";function b(e){return typeof e=="object"&&e!==null&&"type"in e&&e.type==="file_changed"&&"path"in e&&typeof e.path=="string"}const l=new WeakMap;function p(e,t,i){let s=l.get(e);s||(s=new Map,l.set(e,s));let o=s.get(t);if(!o){const r={count:0,resolvedPath:null,listeners:new Set,dispose:()=>{}},f=e.connection.onSessionMessage(c=>{const n=c;if(!b(n)||n.path!==t&&n.path!==r.resolvedPath)return;const d=Date.now();for(const h of r.listeners)h(d)});e.connection.request("file_watch_subscribe",{path:t}).then(c=>{const n=c;if((n==null?void 0:n.ok)===!1){console.warn(`watchFile: ${n.error??"subscribe failed"} for "${t}"`);return}typeof(n==null?void 0:n.path)=="string"&&(r.resolvedPath=n.path)}).catch(()=>{}),r.dispose=()=>{f(),e.connection.request("file_watch_unsubscribe",{path:t}).catch(()=>{})},o=r,s.set(t,o)}o.count++,o.listeners.add(i);let u=!1;return()=>{if(u)return;u=!0;const r=s.get(t);r&&(r.listeners.delete(i),r.count--,r.count===0&&(s.delete(t),r.dispose()))}}function v(e){const t=w(o=>o.client),[i,s]=a.useState(null);return a.useEffect(()=>{if(!(!t||!e))return p(t,e,s)},[t,e]),{changedAt:i}}export{v as u};
1
+ import{r as a}from"./vendor-react-DQUAl2K8.js";import{u as w}from"./index-B5a_0vez.js";function b(e){return typeof e=="object"&&e!==null&&"type"in e&&e.type==="file_changed"&&"path"in e&&typeof e.path=="string"}const l=new WeakMap;function p(e,t,i){let s=l.get(e);s||(s=new Map,l.set(e,s));let o=s.get(t);if(!o){const r={count:0,resolvedPath:null,listeners:new Set,dispose:()=>{}},f=e.connection.onSessionMessage(c=>{const n=c;if(!b(n)||n.path!==t&&n.path!==r.resolvedPath)return;const d=Date.now();for(const h of r.listeners)h(d)});e.connection.request("file_watch_subscribe",{path:t}).then(c=>{const n=c;if((n==null?void 0:n.ok)===!1){console.warn(`watchFile: ${n.error??"subscribe failed"} for "${t}"`);return}typeof(n==null?void 0:n.path)=="string"&&(r.resolvedPath=n.path)}).catch(()=>{}),r.dispose=()=>{f(),e.connection.request("file_watch_unsubscribe",{path:t}).catch(()=>{})},o=r,s.set(t,o)}o.count++,o.listeners.add(i);let u=!1;return()=>{if(u)return;u=!0;const r=s.get(t);r&&(r.listeners.delete(i),r.count--,r.count===0&&(s.delete(t),r.dispose()))}}function v(e){const t=w(o=>o.client),[i,s]=a.useState(null);return a.useEffect(()=>{if(!(!t||!e))return p(t,e,s)},[t,e]),{changedAt:i}}export{v as u};
@@ -1 +1 @@
1
- import{u as o}from"./vendor-query-i7fr__Xm.js";import{u as n,r as u}from"./index-DjUHduQf.js";function c(e=!0){const r=n(t=>t.client);return o({queryKey:u.providerAuthList(),queryFn:()=>{if(!r)throw new Error("not connected");return r.listProviderAuth()},enabled:!!r&&e})}export{c as u};
1
+ import{u as o}from"./vendor-query-i7fr__Xm.js";import{u as n,r as u}from"./index-B5a_0vez.js";function c(e=!0){const r=n(t=>t.client);return o({queryKey:u.providerAuthList(),queryFn:()=>{if(!r)throw new Error("not connected");return r.listProviderAuth()},enabled:!!r&&e})}export{c as u};
@@ -333,4 +333,4 @@ import{r as y}from"./vendor-react-DQUAl2K8.js";/**
333
333
  *
334
334
  * This source code is licensed under the ISC license.
335
335
  * See the LICENSE file in the root directory of this source tree.
336
- */const q1=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]],j2=e("ZoomOut",q1);export{e2 as $,b1 as A,V1 as B,F1 as C,U1 as D,Q1 as E,X1 as F,s2 as G,M2 as H,w2 as I,I1 as J,h2 as K,i2 as L,l2 as M,k2 as N,C1 as O,v2 as P,f2 as Q,n2 as R,$2 as S,A2 as T,V2 as U,Y1 as V,r2 as W,L2 as X,G1 as Y,j2 as Z,N2 as _,P2 as a,a2 as a0,t2 as a1,J1 as a2,H2 as a3,u2 as a4,c2 as a5,o2 as a6,E1 as a7,D1 as a8,b2 as b,W1 as c,z2 as d,S1 as e,P1 as f,L1 as g,T1 as h,y2 as i,R1 as j,z1 as k,m2 as l,q2 as m,B1 as n,j1 as o,C2 as p,A1 as q,Z1 as r,K1 as s,O1 as t,d2 as u,g2 as v,H1 as w,_2 as x,p2 as y,x2 as z};
336
+ */const q1=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]],j2=e("ZoomOut",q1);export{e2 as $,b1 as A,V1 as B,F1 as C,U1 as D,K1 as E,X1 as F,s2 as G,M2 as H,w2 as I,I1 as J,h2 as K,i2 as L,l2 as M,k2 as N,C1 as O,v2 as P,f2 as Q,n2 as R,$2 as S,A2 as T,V2 as U,Y1 as V,r2 as W,L2 as X,G1 as Y,j2 as Z,N2 as _,P2 as a,a2 as a0,t2 as a1,J1 as a2,H2 as a3,u2 as a4,c2 as a5,o2 as a6,E1 as a7,D1 as a8,b2 as b,P1 as c,O1 as d,W1 as e,Q1 as f,z2 as g,S1 as h,L1 as i,T1 as j,y2 as k,R1 as l,z1 as m,m2 as n,q2 as o,B1 as p,j1 as q,C2 as r,A1 as s,Z1 as t,d2 as u,g2 as v,H1 as w,_2 as x,p2 as y,x2 as z};
@@ -5,11 +5,11 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
6
  <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
7
7
  <title>Pi-Studio</title>
8
- <script type="module" crossorigin src="/assets/index-DjUHduQf.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-B5a_0vez.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/vendor-react-DQUAl2K8.js">
10
10
  <link rel="modulepreload" crossorigin href="/assets/vendor-query-i7fr__Xm.js">
11
11
  <link rel="modulepreload" crossorigin href="/assets/vendor-DaF96HbP.js">
12
- <link rel="modulepreload" crossorigin href="/assets/vendor-icons-Dq3K7TC5.js">
12
+ <link rel="modulepreload" crossorigin href="/assets/vendor-icons-Bh5CT32q.js">
13
13
  <link rel="modulepreload" crossorigin href="/assets/vendor-overlays-3MkedLFU.js">
14
14
  <link rel="modulepreload" crossorigin href="/assets/vendor-dnd-CayJj8TC.js">
15
15
  <link rel="stylesheet" crossorigin href="/assets/vendor-CEK31ho9.css">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@av-pi-studio/web-client",
3
- "version": "0.0.114",
3
+ "version": "0.0.115",
4
4
  "files": [
5
5
  "dist",
6
6
  "!dist/**/*.map",
@@ -16,8 +16,8 @@
16
16
  "clean": "rm -rf dist *.tsbuildinfo"
17
17
  },
18
18
  "devDependencies": {
19
- "@av-pi-studio/client": "^0.0.114",
20
- "@av-pi-studio/protocol": "^0.0.114",
19
+ "@av-pi-studio/client": "^0.0.115",
20
+ "@av-pi-studio/protocol": "^0.0.115",
21
21
  "@codemirror/language": "^6.12.4",
22
22
  "@codemirror/language-data": "^6.5.2",
23
23
  "@codemirror/state": "^6.7.1",
@@ -1 +0,0 @@
1
- ._shellRow_1kabp_2{display:flex;gap:var(--pi-spacing-12)}._rail_1kabp_10{width:20px;flex:none;display:flex;flex-direction:column;align-items:center}._disc_1kabp_18{width:18px;height:18px;flex:none;border-radius:var(--pi-radius-full);display:flex;align-items:center;justify-content:center}._connector_1kabp_28{flex:1;width:var(--pi-border-width-2);background:var(--pi-color-surface3)}._content_1kabp_2{flex:1;min-width:0;padding-bottom:var(--pi-spacing-8)}._metaLine_1kabp_40{display:flex;align-items:center;gap:var(--pi-spacing-7);font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted);margin-bottom:var(--pi-spacing-3)}._metaTime_1kabp_52{opacity:.55;transition:opacity .12s ease}._shellRow_1kabp_2:hover ._metaTime_1kabp_52{opacity:1}._forkButton_1kabp_66{position:relative;opacity:0;transition:opacity .12s ease-out}._shellRow_1kabp_2:hover ._forkButton_1kabp_66,._shellRow_1kabp_2:focus-within ._forkButton_1kabp_66{opacity:1}@media(max-width:575px),(hover:none){._forkButton_1kabp_66{opacity:.55}._forkButton_1kabp_66:active{opacity:1}._forkButton_1kabp_66:after{content:"";position:absolute;inset:50% auto auto 50%;width:44px;height:44px;transform:translate(-50%,-50%)}}@media(prefers-reduced-motion:reduce){._forkButton_1kabp_66{transition:none}}@media(prefers-reduced-motion:reduce){._metaTime_1kabp_52{transition:none}}._askDisc_ffqf1_5{background:color-mix(in srgb,var(--pi-color-statusWarning) 20%,var(--pi-color-surface3))}._card_ffqf1_9{position:relative;overflow:hidden;border-radius:var(--pi-radius-lg);background:var(--pi-color-surface1);border:var(--pi-border-width-1) solid var(--pi-color-border);padding:var(--pi-spacing-8) var(--pi-spacing-12);display:flex;flex-direction:column;gap:var(--pi-spacing-8)}._card_ffqf1_9:focus-within{border-color:color-mix(in srgb,var(--pi-color-statusWarning) 45%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--pi-color-statusWarning) 18%,transparent)}._cardInert_ffqf1_41{opacity:.55;border-color:var(--pi-color-border)}._askDiscInert_ffqf1_47{background:var(--pi-color-surface3)}._reconnectingNote_ffqf1_52{display:flex;align-items:center;gap:var(--pi-spacing-7);margin:0;font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted)}._reconnectingDot_ffqf1_61{width:8px;height:8px;border-radius:var(--pi-radius-full);background:var(--pi-color-foregroundMuted);flex:none}._deadlineBar_ffqf1_71{position:absolute;top:0;left:0;height:2px;background:var(--pi-color-statusWarning);transition:width 1s linear}._deadlineApproximate_ffqf1_80{opacity:.7}._header_ffqf1_85{display:flex;align-items:center;gap:var(--pi-spacing-7)}._askBadge_ffqf1_16{font-size:var(--pi-font-size-4xs);font-weight:700;letter-spacing:.06em;border-radius:var(--pi-radius-base);padding:0 var(--pi-spacing-5);color:var(--pi-color-statusWarning);background:color-mix(in srgb,var(--pi-color-statusWarning) 18%,transparent)}._methodName_ffqf1_101{font-family:var(--pi-font-mono);font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted)}._title_ffqf1_107{font-size:var(--pi-font-size-xs);line-height:1.5;color:var(--pi-color-foreground);white-space:pre-line;overflow-wrap:break-word}._titleEmphasised_ffqf1_115{font-weight:600}._message_ffqf1_119{font-size:var(--pi-font-size-xs);line-height:1.5;color:var(--pi-color-foregroundMuted);white-space:pre-line;overflow-wrap:break-word}._emptyOptionsNote_ffqf1_127{font-size:var(--pi-font-size-xs);font-style:italic;color:var(--pi-color-foregroundMuted)}._controls_ffqf1_133{display:flex;align-items:center;gap:var(--pi-spacing-8);flex-wrap:wrap;row-gap:var(--pi-spacing-8)}._controlsStack_ffqf1_141{flex-direction:column;align-items:stretch;flex-wrap:nowrap}._controlsScroll_ffqf1_148{max-height:208px;overflow-y:auto}._optionButton_ffqf1_153{text-align:left;justify-content:flex-start;white-space:normal;height:auto;min-height:28px}._field_ffqf1_161{flex:1;min-width:0;font-family:var(--pi-font-mono);font-size:var(--pi-font-size-code)}._editorField_ffqf1_168{font-family:var(--pi-font-mono);font-size:var(--pi-font-size-code);line-height:1.55;resize:none;overflow-y:auto}._rawPayload_ffqf1_176{margin:0;padding:var(--pi-spacing-6) var(--pi-spacing-8);border-radius:var(--pi-radius-base);background:var(--pi-color-surface0);color:var(--pi-color-foregroundMuted);font-family:var(--pi-font-mono);font-size:var(--pi-font-size-3xs);white-space:pre;overflow-x:auto}._resolvedCard_ffqf1_190{display:flex;align-items:center;gap:var(--pi-spacing-8);padding:var(--pi-spacing-8) var(--pi-spacing-12);border-radius:var(--pi-radius-lg);background:var(--pi-color-surface1);border:var(--pi-border-width-1) solid var(--pi-color-border);font-size:var(--pi-font-size-3xs)}._askBadgeNeutral_ffqf1_204{color:var(--pi-color-foregroundMuted);background:var(--pi-color-surface3)}._resolvedMethodName_ffqf1_209{flex:1;font-family:var(--pi-font-mono);color:var(--pi-color-foregroundMuted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._outcome_ffqf1_218{display:flex;align-items:center;gap:var(--pi-spacing-3);flex:none;max-width:40%;color:var(--pi-color-foregroundMuted)}._outcomeSuccess_ffqf1_229{color:var(--pi-color-statusSuccess)}._outcomeText_ffqf1_233{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(prefers-reduced-motion:reduce){._deadlineBar_ffqf1_71{transition:none}}._hint_ffqf1_255{display:flex;visibility:hidden;align-items:center;flex-wrap:wrap;gap:var(--pi-spacing-6);font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted)}._card_ffqf1_9:focus-within~._hint_ffqf1_255{visibility:visible}._hintKey_ffqf1_270{font-family:var(--pi-font-mono);border:var(--pi-border-width-1) solid var(--pi-color-border);border-radius:4px;padding:0 4px;background:var(--pi-color-surface2)}._hintSep_ffqf1_278{opacity:.5}._recoveredChip_ffqf1_285{margin-left:auto;flex:none;font-size:var(--pi-font-size-4xs);color:var(--pi-color-foregroundMuted);border:var(--pi-border-width-1) solid var(--pi-color-border);border-radius:var(--pi-radius-base);padding:0 var(--pi-spacing-5)}._collapsedPendingCard_ffqf1_297{border-color:color-mix(in srgb,var(--pi-color-statusWarning) 45%,transparent)}._moreRow_ffqf1_303{display:flex;align-items:center;justify-content:center;width:100%;padding:var(--pi-spacing-6) var(--pi-spacing-12);border:none;border-radius:var(--pi-radius-base);background:none;color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-3xs);cursor:pointer}._moreRow_ffqf1_303:hover{color:var(--pi-color-foreground);background:color-mix(in srgb,var(--pi-color-surface1) 85%,var(--pi-color-foreground) 15%)}._queuedBadge_12qdc_8{display:inline-flex;align-items:center;gap:var(--pi-spacing-2);padding:0 var(--pi-spacing-4);border:var(--pi-border-width-1) solid var(--pi-color-border);border-radius:var(--pi-radius-sm);font-size:var(--pi-font-size-4xs);font-weight:600;color:var(--pi-color-foregroundMuted)}._finalChip_12qdc_20{padding:0 var(--pi-spacing-4);border:var(--pi-border-width-1) solid var(--pi-color-border);border-radius:var(--pi-radius-sm);font-size:var(--pi-font-size-4xs);color:var(--pi-color-foregroundMuted)}._userDisc_12qdc_30{background:color-mix(in srgb,var(--pi-color-statusSuccess) 65%,var(--pi-color-surface3))}._userAligned_12qdc_34{display:flex;flex-direction:column;align-items:flex-end}._userPendingRow_12qdc_40{opacity:.6}._userBubble_12qdc_44{display:inline-block;max-width:100%;padding:var(--pi-spacing-6) var(--pi-spacing-10);border-radius:var(--pi-radius-lg);background:color-mix(in srgb,var(--pi-color-accent) 20%,var(--pi-color-surface1));border:var(--pi-border-width-1) solid color-mix(in srgb,var(--pi-color-accent) 45%,transparent);color:var(--pi-color-foreground);font-size:var(--pi-font-size-sm);line-height:1.5;white-space:pre-wrap;word-break:break-word}._userBubbleFailed_12qdc_58{background:color-mix(in srgb,var(--pi-color-destructive) 20%,var(--pi-color-surface1));border-color:color-mix(in srgb,var(--pi-color-destructive) 45%,transparent)}._userImages_12qdc_63{display:flex;gap:var(--pi-spacing-6);flex-wrap:wrap;margin-top:var(--pi-spacing-6)}._userImage_12qdc_63{max-width:200px;max-height:150px;border-radius:var(--pi-radius-base);display:block;object-fit:cover;cursor:pointer}._imageDialog_12qdc_79{max-width:90vw}._imageDialogPreview_12qdc_83{display:block;max-width:90vw;max-height:80vh;object-fit:contain}._assistantDisc_12qdc_93{background:var(--pi-color-accent)}._assistantBody_12qdc_97{padding:var(--pi-spacing-6) var(--pi-spacing-10);border-radius:var(--pi-radius-lg);background:var(--pi-color-surface2);border:var(--pi-border-width-1) solid var(--pi-color-surface3);font-size:var(--pi-font-size-sm);line-height:1.5}._reasoningDisc_12qdc_108{background:var(--pi-color-surface3)}._reasoningBody_12qdc_112{color:color-mix(in srgb,var(--pi-color-foregroundMuted) 82%,transparent);font-style:italic;font-size:var(--pi-font-size-2xs);line-height:1.5}._toolDisc_12qdc_123{background:var(--pi-color-surface3)}._toolCardBody_12qdc_127{border:var(--pi-border-width-1) solid var(--pi-color-border);border-radius:var(--pi-radius-lg);background:var(--pi-color-surface1);overflow:hidden}._toolCardBodyRunning_12qdc_134{border-color:color-mix(in srgb,var(--pi-color-accent) 45%,transparent)}._toolCardBodyCompleted_12qdc_138{border-color:color-mix(in srgb,var(--pi-color-statusSuccess) 45%,transparent)}._toolCardBodyError_12qdc_142{border-color:color-mix(in srgb,var(--pi-color-destructive) 45%,transparent)}._toolHeader_12qdc_146{display:flex;align-items:center;gap:var(--pi-spacing-8);width:100%;padding:var(--pi-spacing-7) var(--pi-spacing-12);font-size:var(--pi-font-size-2xs);cursor:pointer;-webkit-user-select:none;user-select:none}._toolHeader_12qdc_146[aria-disabled=true]{cursor:default}._toolHeader_12qdc_146:hover:not([aria-disabled=true]){background:color-mix(in srgb,var(--pi-color-surface1) 85%,var(--pi-color-foreground) 15%)}._toolHeader_12qdc_146._toolHeaderRunning_12qdc_172:hover:not([aria-disabled=true]){background:color-mix(in srgb,var(--pi-color-accent) 16%,transparent)}._toolHeaderRunning_12qdc_172{background:color-mix(in srgb,var(--pi-color-accent) 10%,transparent)}._toolChevron_12qdc_182{flex-shrink:0;color:var(--pi-color-foregroundMuted);transition:transform .12s ease}._toolChevronOpen_12qdc_188{transform:rotate(90deg)}._kindBadge_12qdc_192{flex-shrink:0;font-size:var(--pi-font-size-4xs);font-weight:var(--pi-font-weight-bold);letter-spacing:.06em;border-radius:var(--pi-radius-base);padding:0 var(--pi-spacing-5);color:var(--kindToken);background:color-mix(in srgb,var(--kindToken) 20%,transparent);border:var(--pi-border-width-1) solid color-mix(in srgb,var(--kindToken) 48%,transparent)}._toolPath_12qdc_204{flex:1;min-width:0;font-family:var(--pi-font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._toolTrailing_12qdc_213{flex-shrink:0;display:flex;align-items:center;gap:var(--pi-spacing-6);font-size:var(--pi-font-size-3xs)}._toolStatusRunning_12qdc_221{display:flex;align-items:center;gap:var(--pi-spacing-4);color:var(--pi-color-accentBright)}._toolStatusSuccess_12qdc_228{color:var(--pi-color-statusSuccess)}._toolStatusError_12qdc_232{color:var(--pi-color-destructive)}._toolStatusUnknown_12qdc_236{color:var(--pi-color-foregroundMuted)}._toolDiffAdded_12qdc_240{color:var(--pi-color-statusSuccess)}._toolDiffRemoved_12qdc_244{color:var(--pi-color-destructive)}._toolOpenButton_12qdc_248{flex-shrink:0;display:inline-flex;align-items:center;gap:var(--pi-spacing-2);padding:0;border:none;background:none;color:var(--pi-color-foregroundMuted);font:inherit;font-size:var(--pi-font-size-3xs);cursor:pointer}._toolOpenButton_12qdc_248:hover{color:var(--pi-color-foreground)}._toolBody_12qdc_266{border-top:1px solid var(--pi-color-border);max-height:420px;overflow:auto}._toolCode_12qdc_272{margin:0;padding:var(--pi-spacing-8) var(--pi-spacing-12);font-family:var(--pi-font-mono);font-size:var(--pi-font-size-xs);line-height:1.5;white-space:pre-wrap;word-break:break-word;color:var(--pi-color-foreground)}._toolOutputStrip_12qdc_283{border-top:var(--pi-border-width-1) solid color-mix(in srgb,var(--pi-color-border) 60%,transparent);padding:var(--pi-spacing-6) var(--pi-spacing-12);background:var(--pi-color-surface0);font-family:var(--pi-font-mono);font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted)}._toolDiffPreview_12qdc_293{border-top:var(--pi-border-width-1) solid color-mix(in srgb,var(--pi-color-border) 60%,transparent);padding:var(--pi-spacing-3) 0;font-family:var(--pi-font-mono);font-size:var(--pi-font-size-3xs)}._toolDiffPreviewLine_12qdc_301{padding:var(--pi-spacing-1) var(--pi-spacing-12)}._toolDiffPreviewAdd_12qdc_305{color:var(--pi-color-statusSuccess);background:color-mix(in srgb,var(--pi-color-statusSuccess) 9%,transparent)}._toolDiffPreviewDel_12qdc_310{color:var(--pi-color-destructive);background:color-mix(in srgb,var(--pi-color-destructive) 9%,transparent)}._toolDiffPreviewMore_12qdc_315{padding:var(--pi-spacing-1) var(--pi-spacing-12);color:var(--pi-color-foregroundMuted)}._errorDisc_12qdc_322{background:color-mix(in srgb,var(--pi-color-destructive) 25%,var(--pi-color-surface3))}._errorCard_12qdc_326{border:var(--pi-border-width-1) solid color-mix(in srgb,var(--pi-color-destructive) 45%,transparent);border-radius:var(--pi-radius-lg);background:color-mix(in srgb,var(--pi-color-destructive) 10%,var(--pi-color-surface1));padding:var(--pi-spacing-7) var(--pi-spacing-12);font-size:var(--pi-font-size-2xs)}._errorLead_12qdc_335{color:var(--pi-color-destructive);font-weight:var(--pi-font-weight-bold)}._systemRow_12qdc_342{text-align:center;color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-3xs);padding:var(--pi-spacing-4) 0}._compactionRow_12qdc_351{color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-3xs);padding:var(--pi-spacing-6) 0}._compactionRowFailed_12qdc_357{color:var(--pi-color-statusDanger)}._compactionDivider_12qdc_361{display:flex;align-items:center;gap:var(--pi-spacing-8)}._compactionRule_12qdc_367{flex:1;height:var(--pi-border-width-1);background:var(--pi-color-border)}._compactionLabel_12qdc_373{display:inline-flex;align-items:center;gap:var(--pi-spacing-4);max-width:80%}._compactionText_12qdc_380{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._compactionToggle_12qdc_386{display:inline-flex;align-items:center;gap:var(--pi-spacing-4);min-width:0;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}._compactionToggle_12qdc_386:hover{color:var(--pi-color-foreground)}._compactionSummary_12qdc_403{margin-top:var(--pi-spacing-6);padding:var(--pi-spacing-7) var(--pi-spacing-12);border:var(--pi-border-width-1) solid var(--pi-color-border);border-radius:var(--pi-radius-lg);background:var(--pi-color-surface1);color:var(--pi-color-foreground);font-size:var(--pi-font-size-2xs)}._root_1xg4h_6{position:relative;flex:1 1 auto;min-height:0;display:flex}._viewport_1xg4h_13{flex:1 1 auto;overflow-y:auto;min-height:0;padding:var(--pi-spacing-16) var(--pi-spacing-20)}._inner_1xg4h_20{position:relative;width:100%}._rowWrap_1xg4h_25{position:absolute;top:0;left:0;width:100%;display:flex;flex-direction:column;padding-bottom:var(--pi-spacing-4)}._empty_1xg4h_35{display:flex;align-items:center;justify-content:center;height:100%;color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-sm)}._nudge_1xg4h_47{flex-direction:column;height:100%;width:100%;font-size:var(--pi-font-size-sm)}._jumpToLatest_1xg4h_56{position:absolute;right:var(--pi-spacing-20);bottom:var(--pi-spacing-16);width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--pi-color-border);border-radius:var(--pi-radius-full);background:var(--pi-color-surface2);color:var(--pi-color-foreground);box-shadow:var(--pi-shadow-md);cursor:pointer;animation:_jumpToLatestIn_1xg4h_1 .12s ease-out}._jumpToLatest_1xg4h_56:hover{background:var(--pi-color-surface3)}._jumpToLatest_1xg4h_56:focus-visible{outline:2px solid var(--pi-color-accent);outline-offset:2px}@keyframes _jumpToLatestIn_1xg4h_1{0%{opacity:0;transform:translateY(var(--pi-spacing-4))}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){._jumpToLatest_1xg4h_56{animation:none}}._strip_nzfk5_4{display:flex;gap:var(--pi-spacing-6);flex-wrap:wrap;padding:var(--pi-spacing-6) 0 0}._thumb_nzfk5_11{position:relative;width:48px;height:48px;border-radius:var(--pi-radius-base);overflow:hidden;border:1px solid var(--pi-color-border);flex-shrink:0}._thumb_nzfk5_11 img{width:100%;height:100%;object-fit:cover;display:block}._remove_nzfk5_28{position:absolute;top:-2px;right:-2px;width:16px;height:16px;background:var(--pi-color-statusDanger);color:#fff;border:none;border-radius:50%;font-size:var(--pi-font-size-3xs);line-height:16px;text-align:center;cursor:pointer;padding:0}._picker_11hqs_4{display:flex;flex-direction:column;gap:var(--pi-spacing-4)}._search_11hqs_10{width:100%;box-sizing:border-box;padding:var(--pi-spacing-6) var(--pi-spacing-8);border-radius:var(--pi-radius-md);border:1px solid var(--pi-color-border);background:var(--pi-color-surface2);color:var(--pi-color-foreground);font-size:var(--pi-font-size-xs);outline:none}._search_11hqs_10::placeholder{color:var(--pi-color-foregroundMuted)}._search_11hqs_10:focus{border-color:var(--pi-color-accent)}._searchWrap_11hqs_28{position:relative}._searchWrap_11hqs_28 ._search_11hqs_10{padding-right:var(--pi-spacing-24)}._searchSpinner_11hqs_37{position:absolute;top:0;bottom:0;right:var(--pi-spacing-8);margin:auto 0}._list_11hqs_45{max-height:320px;overflow-y:auto}._item_11hqs_50{display:flex;align-items:center;gap:var(--pi-spacing-6);padding:var(--pi-spacing-6) var(--pi-spacing-8);border-radius:var(--pi-radius-base);font-size:var(--pi-font-size-sm);cursor:pointer;outline:none;scroll-margin-top:var(--pi-spacing-24)}._item_11hqs_50:hover,._item_11hqs_50[data-highlighted],._item_11hqs_50._itemActive_11hqs_67{background:color-mix(in srgb,var(--pi-color-surface1) 85%,var(--pi-color-foreground) 15%)}._checkSlot_11hqs_71{width:var(--pi-icon-size-md);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:var(--pi-color-foreground)}._label_11hqs_80{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._modelId_11hqs_86{color:var(--pi-color-foregroundMuted);margin-left:var(--pi-spacing-4);font-size:var(--pi-font-size-xs);white-space:nowrap}._state_11hqs_93{display:flex;align-items:center;justify-content:center;padding:var(--pi-spacing-12);color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-xs)}._stateError_11hqs_102{padding:var(--pi-spacing-8);color:var(--pi-color-statusDanger);font-size:var(--pi-font-size-xs)}._commandContent_11hqs_112{max-width:420px}._commandList_11hqs_115{display:flex;flex-direction:column;gap:var(--pi-spacing-2)}._commandItem_11hqs_120{flex-direction:column;align-items:stretch;gap:var(--pi-spacing-4);padding:var(--pi-spacing-8) var(--pi-spacing-10)}._commandItem_11hqs_120:hover{background:color-mix(in srgb,var(--pi-color-foreground) 10%,transparent)}._commandItem_11hqs_120._itemActive_11hqs_67{background:var(--pi-color-surface0);box-shadow:inset 2px 0 0 var(--pi-color-accent);border-radius:var(--pi-radius-none)}._commandItemHeader_11hqs_152{display:flex;align-items:center;justify-content:space-between;gap:var(--pi-spacing-8);width:100%}._commandItemHeader_11hqs_152 ._label_11hqs_80{flex:1;min-width:0;font-size:var(--pi-font-size-sm);font-weight:600;color:var(--pi-color-foreground)}._commandKindBadge_11hqs_166{flex-shrink:0;display:inline-flex;align-items:center;padding:0 var(--pi-spacing-4);border-radius:var(--pi-radius-full);border:1px solid var(--pi-color-border);background:var(--pi-color-surface2);color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-4xs);font-weight:600;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;line-height:1.5}._commandKindExtension_11hqs_185{background:color-mix(in srgb,var(--pi-color-accent) 18%,transparent);border-color:color-mix(in srgb,var(--pi-color-accent) 45%,transparent);color:var(--pi-color-accent)}._commandKindPrompt_11hqs_190{background:color-mix(in srgb,var(--pi-color-statusSuccess) 18%,transparent);border-color:color-mix(in srgb,var(--pi-color-statusSuccess) 45%,transparent);color:var(--pi-color-statusSuccess)}._commandKindSkill_11hqs_195{background:color-mix(in srgb,var(--pi-color-statusMerged) 18%,transparent);border-color:color-mix(in srgb,var(--pi-color-statusMerged) 45%,transparent);color:var(--pi-color-statusMerged)}._commandDescription_11hqs_200{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-overflow:ellipsis;white-space:normal;line-height:1.4;font-size:var(--pi-font-size-xs);color:var(--pi-color-foregroundMuted)}._commandItemDisabled_11hqs_214{opacity:.45;cursor:default}._composer_ivj95_4{padding:var(--pi-spacing-8) var(--pi-spacing-16) var(--pi-spacing-12);border-top:1px solid var(--pi-color-border);background:var(--pi-color-surface1);flex-shrink:0}._card_ivj95_13{display:flex;flex-direction:column;gap:var(--pi-spacing-4);padding:var(--pi-spacing-6);border:1px solid var(--pi-color-border);border-radius:var(--pi-radius-xl);background:var(--pi-color-surface2);transition:border-color .12s ease}._card_ivj95_13._flash_ivj95_27{border-color:color-mix(in srgb,var(--pi-color-accentBright) 45%,var(--pi-color-border) 55%)}@media(prefers-reduced-motion:reduce){._card_ivj95_13._flash_ivj95_27{transition:none}}._note_ivj95_41{margin-top:var(--pi-spacing-4);font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted)}._inlineError_ivj95_48{margin-top:var(--pi-spacing-4);font-size:var(--pi-font-size-3xs);color:var(--pi-color-statusDanger)}._card_ivj95_13._compacting_ivj95_56,._card_ivj95_13._compacting_ivj95_56:has(._textarea_ivj95_57:focus){border-color:var(--pi-color-border);background:var(--pi-color-surface1)}._card_ivj95_13._compacting_ivj95_56 ._textarea_ivj95_57{color:var(--pi-color-foregroundMuted);cursor:progress}._compactStatus_ivj95_66{display:flex;align-items:center;gap:var(--pi-spacing-6);min-width:0;margin-top:var(--pi-spacing-4);font-size:var(--pi-font-size-3xs);color:var(--pi-color-foregroundMuted)}._compactStatusText_ivj95_75{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._compactCancel_ivj95_81{flex-shrink:0;padding:0;border:none;background:none;cursor:pointer;font:inherit;color:var(--pi-color-foreground);text-decoration:underline;text-underline-offset:2px}._compactCancel_ivj95_81:hover{color:var(--pi-color-statusDanger)}._card_ivj95_13:has(._textarea_ivj95_57:focus){border-color:var(--pi-color-accent)}._textarea_ivj95_57{resize:none;min-height:38px;max-height:160px;overflow-y:auto;font-size:var(--pi-font-size-md)}._card_ivj95_13 ._textarea_ivj95_57{background:transparent;border-color:transparent}._card_ivj95_13 ._textarea_ivj95_57:focus{border-color:transparent;outline:none}._textareaWrap_ivj95_122{position:relative;display:flex;min-width:0}._textareaWrap_ivj95_122 ._textarea_ivj95_57{position:relative}._highlightLayer_ivj95_110{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--pi-spacing-8) var(--pi-spacing-12);border:1px solid transparent;box-sizing:border-box;font-size:var(--pi-font-size-md);font-family:var(--pi-font-ui);line-height:normal;white-space:pre-wrap;overflow-wrap:break-word;overflow:hidden;color:transparent;pointer-events:none}._commandMark_ivj95_145{background:color-mix(in srgb,var(--pi-color-accent) 24%,transparent);color:transparent;border-radius:var(--pi-radius-base);box-shadow:0 0 0 1px color-mix(in srgb,var(--pi-color-accent) 55%,transparent),0 0 0 3px color-mix(in srgb,var(--pi-color-accent) 24%,transparent)}._hiddenFileInput_ivj95_170{display:none}._toolbar_ivj95_176{display:flex;align-items:center;gap:var(--pi-spacing-2);min-width:0}._toolbarRight_ivj95_183{display:flex;align-items:center;gap:var(--pi-spacing-6);margin-left:auto;min-width:0}._toolBtn_ivj95_191{flex-shrink:0}._card_ivj95_13 ._roundBtn_ivj95_197{border-radius:var(--pi-radius-full);flex-shrink:0}._modelBtn_ivj95_202{display:flex;align-items:center;gap:var(--pi-spacing-2);min-width:0;max-width:340px;padding:var(--pi-spacing-4) var(--pi-spacing-6);border:none;border-radius:var(--pi-radius-md);background:transparent;color:var(--pi-color-foregroundMuted);font-family:var(--pi-font-ui);font-size:var(--pi-font-size-sm);cursor:pointer}._modelBtn_ivj95_202:hover:not(:disabled),._modelBtn_ivj95_202[data-state=open]{background:var(--pi-color-surface3);color:var(--pi-color-foreground)}._modelBtn_ivj95_202:disabled{cursor:default;opacity:.6}._modelLabel_ivj95_232{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pi-color-foreground)}._modelId_ivj95_230{flex-shrink:8;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-xs)}._modelChevron_ivj95_250{flex-shrink:0;transition:transform .15s ease}._modelBtn_ivj95_202[data-state=open] ._modelChevron_ivj95_250{transform:rotate(180deg)}._panel_3trtd_5{flex:0 0 auto;display:flex;flex-direction:column;min-height:0;max-height:40%;margin:var(--pi-spacing-4) var(--pi-spacing-12);border:var(--pi-border-width-1) solid var(--pi-color-border);border-radius:var(--pi-radius-lg);background:var(--pi-color-surface1);overflow:hidden}._header_3trtd_18{display:flex;align-items:center;gap:var(--pi-spacing-8);width:100%;min-width:0;flex-shrink:0;padding:var(--pi-spacing-6) var(--pi-spacing-12);background:none;border:none;cursor:pointer;color:var(--pi-color-foreground);font-size:var(--pi-font-size-xs);text-align:left}._header_3trtd_18:focus-visible,._rowButton_3trtd_35:focus-visible{outline:var(--pi-border-width-1) solid var(--pi-color-accent);outline-offset:calc(var(--pi-border-width-1) * -1)}._chevron_3trtd_40{display:inline-flex;flex-shrink:0;transition:transform .12s ease}._chevronOpen_3trtd_46{transform:rotate(90deg)}._label_3trtd_50{font-weight:600;flex-shrink:0}._count_3trtd_55{color:var(--pi-color-foregroundMuted);flex-shrink:0}._summary_3trtd_60{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pi-color-foregroundMuted)}._body_3trtd_69{flex:1 1 auto;min-height:0;overflow-y:auto;margin:0;padding:0 0 var(--pi-spacing-6);list-style:none;border-top:var(--pi-border-width-1) solid var(--pi-color-border)}._row_3trtd_35{display:flex;flex-direction:column}._rowButton_3trtd_35,._rowStatic_3trtd_85{display:flex;align-items:flex-start;gap:var(--pi-spacing-8);width:100%;padding:var(--pi-spacing-3) var(--pi-spacing-12);background:none;border:none;color:var(--pi-color-foreground);font-size:var(--pi-font-size-xs);text-align:left}._rowButton_3trtd_35{cursor:pointer}._icon_3trtd_102{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--pi-spacing-16);height:var(--pi-spacing-16)}._iconInProgress_3trtd_111{color:var(--pi-color-accent)}._iconCompleted_3trtd_115{color:var(--pi-color-statusSuccess)}._iconPending_3trtd_119{color:var(--pi-color-foregroundMuted)}._text_3trtd_123{flex:1;min-width:0;overflow:hidden;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3}._textCompleted_3trtd_135{color:var(--pi-color-foregroundMuted);text-decoration:line-through}._id_3trtd_140{flex-shrink:0;color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-2xs)}._blocked_3trtd_146{flex:0 1 auto;min-width:0;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pi-color-statusWarning);font-size:var(--pi-font-size-2xs)}._details_3trtd_157{margin:0;padding:0 var(--pi-spacing-12) var(--pi-spacing-4) var(--pi-spacing-32);color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-2xs);white-space:pre-wrap;overflow-wrap:anywhere}._footer_3trtd_166{flex-shrink:0;padding:var(--pi-spacing-4) var(--pi-spacing-12);border-top:var(--pi-border-width-1) solid var(--pi-color-border);color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-2xs)}@media(prefers-reduced-motion:reduce){._chevron_3trtd_40{transition:none}}._nested_3trtd_180{margin:0;padding:0 0 0 var(--pi-spacing-16);list-style:none}._track_oxvl6_2{position:absolute;inset-inline:0;top:0;z-index:1;height:3px;background:color-mix(in srgb,var(--pi-color-accent) 22%,transparent);overflow:hidden}._sweep_oxvl6_24{position:absolute;inset-block:0;width:38%;left:-38%;background:linear-gradient(90deg,transparent,var(--pi-color-accent) 35%,color-mix(in srgb,var(--pi-color-accent) 75%,var(--pi-color-accentBright)) 50%,var(--pi-color-accent) 65%,transparent);animation:_sweep_oxvl6_24 1.5s linear infinite}@keyframes _sweep_oxvl6_24{0%{left:-38%}to{left:100%}}@media(prefers-reduced-motion:reduce){._sweep_oxvl6_24{animation:none;width:100%;left:0;opacity:var(--pi-opacity-50)}}._visuallyHidden_oxvl6_64{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}._panel_1tq06_1{position:relative}._empty_1tq06_5{display:flex;align-items:center;justify-content:center;height:100%;color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-sm)}
@@ -1,9 +0,0 @@
1
- import{r as f,j as t}from"./vendor-react-DQUAl2K8.js";import{a as Wt,b as Ut,m as Gt,u as qe}from"./vendor-query-i7fr__Xm.js";import{M as Te,N as M,O as Vt,u as Z,Q as Xt,I as R,R as Yt,U as Jt,B as L,q as Qt,W as ct,S as ne,J as Zt,D as en,s as tn,X as lt,p as nn,n as sn,Y as on,Z as an,_ as rn,o as cn,$ as ln,E as dn,a0 as ve,r as Re,a1 as Ae,a2 as un,a3 as fe,h as mn,a4 as fn,a5 as xe,a6 as pn,a7 as hn,K as _n,a8 as gn,a9 as xn,aa as Ze,ab as vn,P as et}from"./index-DjUHduQf.js";import{L as jn,G as kn,S as bn,c as yn,P as Nn,E as Sn,d as dt,e as ke,f as pe,B as Cn,g as ut,C as he,A as wn,h as Dn,i as Tn,U as Bn,j as mt,k as En,l as qn,m as Rn,n as An,o as tt,p as On,N as In,q as Ln,r as Pn}from"./vendor-icons-Dq3K7TC5.js";import{u as Mn}from"./use-provider-auth-list-BDqjbQx-.js";import{N as T}from"./vendor-DaF96HbP.js";import{S as ft,M as Oe,r as Fn}from"./markdown-ZgA079Q9.js";import{D as $n,p as zn}from"./DiffView-D1TsZBGe.js";import{R as Ie,T as Le,I as pt}from"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";import"./vendor-highlight-Ddi_n-Jh.js";import"./vendor-markdown-DJUOT8ep.js";import"./href-resolution-DWAlGpSI.js";function ht(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 Kn={shell:dt,read:Sn,edit:Nn,write:yn,search:bn,fetch:kn,task:jn};function Hn(e){return Kn[e.kind]??dt}function _t(e){switch(e.kind){case"read":case"write":case"edit":return e.path??null;default:return null}}function Wn(e){return e.kind==="write"||e.kind==="edit"||e.kind==="shell"}function Un(e){const s=[];if(e.kind==="edit"&&e.diff)s.push({kind:"diff",patch:e.diff});else{const n=Te(e);n&&s.push({kind:"code",text:n})}return e.output&&s.push({kind:"code",text:e.output}),s}const nt={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 Gn(e){return nt[e.kind]??nt.task}function Vn(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 Xn(e){return e?(e.endsWith(`
3
- `)?e.slice(0,-1):e).split(`
4
- `).length:0}const Yn=500;let Se;function Jn(e,s,n,o){clearTimeout(Se),Se=setTimeout(()=>{Se=void 0,e.invalidateQueries({queryKey:["file"]}),e.invalidateQueries({queryKey:["explorer"]}),s&&n&&s.connection.request("checkout_refresh_request",{cwd:n}).catch(()=>{})},Yn)}function Qn({sessionId:e,event:s,timestamp:n,client:o,queryClient:r}){const a=M.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"compaction":s.phase==="completed"&&s.estimatedTokensAfter!==void 0&&Vt(e,s.estimatedTokensAfter);break;case"tool_call":{if(s.status==="completed"&&Wn(s.tool)){const c=a.sessions[e],l=(c==null?void 0:c.cwd)||null;Jn(r,o,l,_t(s.tool))}break}}}function Zn(e){const s=Z(r=>r.client),n=M(r=>{var a;return((a=r.sessions[e])==null?void 0:a.agentId)??null}),o=Wt();f.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;Qn({sessionId:e,event:a,timestamp:l,client:s,queryClient:o})}),[s,n,e,o])}const gt=64;function Ce(e){return e.clientHeight>0}function es(e,s,n,o=gt){switch(s.kind){case"scroll":return Ce(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&&Ce(n)};case"shown":return{pinned:e,stick:e};case"pin":return{pinned:!0,stick:Ce(n)}}}function ts(e){const s=e[e.length-1];return(s==null?void 0:s.kind)==="user"?s.id:null}const ns="_shellRow_1kabp_2",ss="_rail_1kabp_10",os="_disc_1kabp_18",as="_connector_1kabp_28",rs="_content_1kabp_2",is="_metaLine_1kabp_40",cs="_metaTime_1kabp_52",ls="_forkButton_1kabp_66",H={shellRow:ns,rail:ss,disc:os,connector:as,content:rs,metaLine:is,metaTime:cs,forkButton:ls};function G({disc:e,discClassName:s,connector:n,meta:o,metaTrailing:r,className:a,children:c}){return t.jsxs("div",{className:H.shellRow,children:[t.jsxs("div",{className:H.rail,children:[t.jsx("span",{className:T(H.disc,s),children:e}),n&&t.jsx("span",{className:H.connector})]}),t.jsxs("div",{className:T(H.content,a),children:[o&&t.jsxs("div",{className:H.metaLine,children:[o,r]}),c]})]})}function st(e){return typeof e=="number"?e:Date.parse(e)}function ds(e,s){const n=st(e.entry.createdAt),o=st(s.entry.createdAt);return n!==o?n-o:e.entry.requestId<s.entry.requestId?-1:e.entry.requestId>s.entry.requestId?1:0}function us(e,s){return[...e.map(o=>({kind:"pending",entry:o})),...s.map(o=>({kind:"resolved",entry:o}))].toSorted(ds)}function ms(e){return e.entry.requestId}function xt(e){return e.receivedAt===void 0}const fs=4;function ps(e,s){let n=0;const o=e.map(l=>l.kind!=="pending"?{item:l,collapsed:!1}:(n++,{item:l,collapsed:!s&&n>fs})),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 hs(e,s){if(e.timeoutMs===void 0)return{show:!1,fraction:0,approximate:!1};const n=Xt(e,s)??0;return{show:!0,fraction:Math.max(0,Math.min(1,n/e.timeoutMs)),approximate:e.receivedAt===void 0}}function vt(e){return e==="editor"}const _s="Esc again to dismiss — the extension gets an empty answer";function gs(e,s){return s?{kind:"warning",text:_s}:{kind:"keys",segments:[{key:vt(e)?"⇧↵":"↵",label:"submit"},{key:"Esc",label:"dismiss"}]}}function xs(e){return e?{armed:!1,resolve:!0}:{armed:!0,resolve:!1}}const vs=5,js=40,ks=6;function bs(e){return{mode:e.length>=vs||e.some(n=>n.length>js)?"stack":"row",scrolls:e.length>ks}}function Be(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 ys(e,s){return{title:Be(e),...s!==void 0?{message:Be(s)}:{}}}const Ns="_askDisc_ffqf1_5",Ss="_card_ffqf1_9",Cs="_cardInert_ffqf1_41",ws="_askDiscInert_ffqf1_47",Ds="_reconnectingNote_ffqf1_52",Ts="_reconnectingDot_ffqf1_61",Bs="_deadlineBar_ffqf1_71",Es="_deadlineApproximate_ffqf1_80",qs="_header_ffqf1_85",Rs="_askBadge_ffqf1_16",As="_methodName_ffqf1_101",Os="_title_ffqf1_107",Is="_titleEmphasised_ffqf1_115",Ls="_message_ffqf1_119",Ps="_emptyOptionsNote_ffqf1_127",Ms="_controls_ffqf1_133",Fs="_controlsStack_ffqf1_141",$s="_controlsScroll_ffqf1_148",zs="_optionButton_ffqf1_153",Ks="_field_ffqf1_161",Hs="_editorField_ffqf1_168",Ws="_rawPayload_ffqf1_176",Us="_resolvedCard_ffqf1_190",Gs="_askBadgeNeutral_ffqf1_204",Vs="_resolvedMethodName_ffqf1_209",Xs="_outcome_ffqf1_218",Ys="_outcomeSuccess_ffqf1_229",Js="_outcomeText_ffqf1_233",Qs="_hint_ffqf1_255",Zs="_hintKey_ffqf1_270",eo="_hintSep_ffqf1_278",to="_recoveredChip_ffqf1_285",no="_collapsedPendingCard_ffqf1_297",so="_moreRow_ffqf1_303",_={askDisc:Ns,card:Ss,cardInert:Cs,askDiscInert:ws,reconnectingNote:Ds,reconnectingDot:Ts,deadlineBar:Bs,deadlineApproximate:Es,header:qs,askBadge:Rs,methodName:As,title:Os,titleEmphasised:Is,message:Ls,emptyOptionsNote:Ps,controls:Ms,controlsStack:Fs,controlsScroll:$s,optionButton:zs,field:Ks,editorField:Hs,rawPayload:Ws,resolvedCard:Us,askBadgeNeutral:Gs,resolvedMethodName:Vs,outcome:Xs,outcomeSuccess:Ys,outcomeText:Js,hint:Qs,hintKey:Zs,hintSep:eo,recoveredChip:to,collapsedPendingCard:no,moreRow:so},oo=250,ao=320;function se(e,s){const n=e[s];return typeof n=="string"?n:void 0}function ro(e,s){const n=e[s];return Array.isArray(n)?n.filter(o=>typeof o=="string"):[]}function io({item:e,connector:s,collapsed:n=!1,autoFocus:o=!1,sessionTitle:r}){return e.kind==="resolved"?t.jsx(uo,{entry:e.entry,connector:s}):n?t.jsx(co,{entry:e.entry,connector:s}):t.jsx(fo,{entry:e.entry,connector:s,autoFocus:o,sessionTitle:r})}function jt(){return t.jsx("span",{className:_.recoveredChip,children:"still waiting"})}function co({entry:e,connector:s}){return t.jsx(G,{disc:t.jsx(R,{icon:ke,size:"xs",color:"var(--pi-color-statusWarning)"}),discClassName:_.askDisc,connector:s,children:t.jsxs("div",{className:T(_.resolvedCard,_.collapsedPendingCard),children:[t.jsx("span",{className:_.askBadge,children:"ASK"}),t.jsx("span",{className:_.resolvedMethodName,children:e.method}),xt(e)&&t.jsx(jt,{})]})})}function lo({count:e,connector:s,onExpand:n}){return t.jsx(G,{disc:t.jsx(R,{icon:ke,size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:_.askDiscInert,connector:s,children:t.jsxs("button",{type:"button",className:_.moreRow,onClick:n,children:[e," more waiting"]})})}function uo({entry:e,connector:s}){const n=Yt(e);return t.jsx(G,{disc:t.jsx(R,{icon:ke,size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:_.askDiscInert,connector:s,children:t.jsxs("div",{className:_.resolvedCard,children:[t.jsx("span",{className:T(_.askBadge,_.askBadgeNeutral),children:"ASK"}),t.jsx("span",{className:_.resolvedMethodName,children:e.method}),t.jsxs("span",{className:T(_.outcome,n.tone==="success"&&_.outcomeSuccess),children:[n.glyph==="check"&&t.jsx(pe,{size:11,"aria-hidden":!0}),t.jsx("span",{className:T(n.truncate&&_.outcomeText),children:n.text})]})]})})}function ee(e,s){return e.answerable?e.submitting?s?{loading:!0,style:{opacity:1}}:{disabled:!0}:{}:{disabled:!0,style:{opacity:1}}}function mo({hint:e}){return e.kind==="warning"?t.jsx("p",{className:_.hint,children:e.text}):t.jsx("p",{className:_.hint,children:e.segments.map((s,n)=>t.jsxs(f.Fragment,{children:[n>0&&t.jsx("span",{className:_.hintSep,children:"·"}),t.jsx("span",{className:_.hintKey,children:s.key}),s.label]},s.label))})}function fo({entry:e,connector:s,autoFocus:n=!1,sessionTitle:o}){const[r,a]=f.useState(()=>Date.now()),c=hs(e,r),[l,m]=f.useState(!1),u=f.useRef(null),p=f.useRef(null),d=f.useRef(null);f.useEffect(()=>{if(!c.show)return;const y=setInterval(()=>a(Date.now()),oo);return()=>clearInterval(y)},[e.requestId,e.timeoutMs,c.show]),f.useEffect(()=>{var w,F;if(!n||!e.answerable)return;const y=document.activeElement;(y instanceof HTMLTextAreaElement||y instanceof HTMLInputElement)&&y.value.length>0&&!((w=u.current)!=null&&w.contains(y))||(F=p.current)==null||F.focus()},[n,e.answerable]);function x(y){var v,w;e.answerable&&(y.target.closest("button, input, textarea, a, select")||(v=u.current)!=null&&v.contains(document.activeElement)||(w=u.current)==null||w.focus())}function D(y){Jt(e.requestId,y)}function K(y){var w;if(y.key!=="Escape"||!e.answerable)return;y.preventDefault(),y.stopPropagation();const v=xs(l);if(m(v.armed),!v.resolve){(w=d.current)==null||w.focus();return}d.current?d.current.click():D({cancelled:!0})}function W(y){y.currentTarget.contains(y.relatedTarget)||m(!1)}return t.jsxs(G,{disc:t.jsx(R,{icon:ke,size:"xs",color:e.answerable?"var(--pi-color-statusWarning)":"var(--pi-color-foregroundMuted)"}),discClassName:e.answerable?_.askDisc:_.askDiscInert,connector:s,children:[t.jsxs("div",{ref:u,className:T(_.card,!e.answerable&&_.cardInert),role:"group","aria-label":`Question in ${o}`,tabIndex:-1,onKeyDown:K,onMouseDown:x,onBlur:W,children:[c.show&&t.jsx("div",{className:T(_.deadlineBar,c.approximate&&_.deadlineApproximate),style:{width:`${c.fraction*100}%`}}),t.jsxs("div",{className:_.header,children:[t.jsx("span",{className:T(_.askBadge,!e.answerable&&_.askBadgeNeutral),"aria-hidden":"true",children:"ASK"}),t.jsx("span",{className:_.methodName,children:e.method}),xt(e)&&t.jsx(jt,{})]}),t.jsx(po,{entry:e,onSubmit:D,primaryRef:p,dismissRef:d})]}),t.jsx(mo,{hint:gs(e.method,l)}),!e.answerable&&t.jsxs("p",{className:_.reconnectingNote,children:[t.jsx("span",{className:_.reconnectingDot}),"Reconnecting — you can answer again in a moment"]})]})}function po({entry:e,onSubmit:s,primaryRef:n,dismissRef:o}){const{method:r,payload:a}=e;return r==="select"?t.jsx(ho,{entry:e,payload:a,onSubmit:s,primaryRef:n,dismissRef:o}):r==="confirm"?t.jsx(_o,{entry:e,payload:a,onSubmit:s,primaryRef:n,dismissRef:o}):r==="input"?t.jsx(go,{entry:e,payload:a,onSubmit:s,primaryRef:n}):r==="editor"?t.jsx(xo,{entry:e,payload:a,onSubmit:s,primaryRef:n,dismissRef:o}):t.jsx(vo,{entry:e,method:r,payload:a,onSubmit:s,primaryRef:n,dismissRef:o})}function je({text:e}){return t.jsx("div",{className:_.title,children:Be(e).join(`
6
- `)})}function ho({entry:e,payload:s,onSubmit:n,primaryRef:o,dismissRef:r}){const a=se(s,"title")??"",c=ro(s,"options"),[l,m]=f.useState(null);if(c.length===0){const p=ee(e,l===0);return t.jsxs(t.Fragment,{children:[t.jsx(je,{text:a}),t.jsx("p",{className:_.emptyOptionsNote,children:"The extension offered no options."}),t.jsx("div",{className:_.controls,children:t.jsx(L,{ref:d=>{o.current=d,r.current=d},size:"xs",variant:"secondary",onClick:()=>{m(0),n({cancelled:!0})},...p,children:"Cancel"})})]})}const u=bs(c);return t.jsxs(t.Fragment,{children:[t.jsx(je,{text:a}),t.jsx("div",{className:T(_.controls,u.mode==="stack"&&_.controlsStack,u.scrolls&&_.controlsScroll),children:c.map((p,d)=>t.jsx(L,{ref:d===0?x=>{o.current=x}:void 0,size:"xs",variant:"secondary",className:_.optionButton,onClick:()=>{m(d),n({value:p})},...ee(e,l===d),children:p},d))})]})}function _o({entry:e,payload:s,onSubmit:n,primaryRef:o,dismissRef:r}){const a=se(s,"title")??"",c=se(s,"message"),l=ys(a,c),[m,u]=f.useState(null);return t.jsxs(t.Fragment,{children:[t.jsx("div",{className:T(_.title,l.message&&_.titleEmphasised),children:l.title.join(`
7
- `)}),l.message&&t.jsx("div",{className:_.message,children:l.message.join(`
8
- `)}),t.jsxs("div",{className:_.controls,children:[t.jsx(L,{ref:p=>{o.current=p},size:"xs",variant:"default",onClick:()=>{u("yes"),n({confirmed:!0})},...ee(e,m==="yes"),children:"Yes"}),t.jsx(L,{ref:p=>{r.current=p},size:"xs",variant:"secondary",onClick:()=>{u("no"),n({confirmed:!1})},...ee(e,m==="no"),children:"No"})]})]})}function go({entry:e,payload:s,onSubmit:n,primaryRef:o}){const r=se(s,"title")??"",a=se(s,"placeholder"),[c,l]=f.useState(""),m=ee(e,e.submitting===!0),u=m.disabled===!0||m.loading===!0;return t.jsxs(t.Fragment,{children:[t.jsx(je,{text:r}),t.jsxs("div",{className:_.controls,children:[t.jsx(Qt,{ref:p=>{o.current=p},className:_.field,value:c,placeholder:a,disabled:u,onChange:p=>l(p.target.value),onKeyDown:p=>{p.key!=="Enter"||u||(p.preventDefault(),p.stopPropagation(),n({value:c}))}}),t.jsx(L,{size:"xs",variant:"default",onClick:()=>n({value:c}),...m,children:"Submit"})]})]})}function xo({entry:e,payload:s,onSubmit:n,primaryRef:o,dismissRef:r}){const a=se(s,"title")??"",c=se(s,"prefill")??"",[l,m]=f.useState(c),[u,p]=f.useState(null);return t.jsxs(t.Fragment,{children:[t.jsx(je,{text:a}),t.jsx(ct,{ref:d=>{o.current=d},className:_.editorField,rows:3,value:l,disabled:!e.answerable||e.submitting,onChange:d=>{m(d.target.value);const x=d.target;x.style.height="auto",x.style.height=`${Math.min(x.scrollHeight,ao)}px`},onKeyDown:d=>{d.key!=="Enter"||d.shiftKey!==vt(e.method)||(d.preventDefault(),d.stopPropagation(),p("submit"),n({value:l}))}}),t.jsxs("div",{className:_.controls,children:[t.jsx(L,{size:"xs",variant:"default",onClick:()=>{p("submit"),n({value:l})},...ee(e,u==="submit"),children:"Submit"}),t.jsx(L,{ref:d=>{r.current=d},size:"xs",variant:"secondary",onClick:()=>{p("cancel"),n({cancelled:!0})},...ee(e,u==="cancel"),children:"Cancel"})]})]})}function vo({entry:e,method:s,payload:n,onSubmit:o,primaryRef:r,dismissRef:a}){const c={method:s,...n},l=ee(e,e.submitting===!0);return t.jsxs(t.Fragment,{children:[t.jsx("p",{className:_.title,children:"This extension asked something this version of Pi-Studio can't display."}),t.jsx("pre",{className:_.rawPayload,children:JSON.stringify(c,null,2)}),t.jsx("div",{className:_.controls,children:t.jsx(L,{ref:m=>{r.current=m,a.current=m},size:"xs",variant:"secondary",onClick:()=>o({cancelled:!0}),...l,children:"Cancel"})})]})}function ot(e){if(e===void 0)return null;const s=typeof e=="number"?e:Date.parse(e);return Number.isNaN(s)?null:s}function jo(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 u=ot(m.timestamp);if(u!==null&&u>l)break}r.push(n(m)),a++}};for(const l of s){if(l.kind==="more"){r.push(o(l));continue}c(ot(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 ko(e,s){return!e||s===void 0?!1:s.every(n=>n.configured===!1)}const bo=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function at(e){return String(e).padStart(2,"0")}function Pe(e){if(!e)return;const s=new Date(e);if(!Number.isNaN(s.getTime()))return`${bo[s.getMonth()]} ${s.getDate()}, ${at(s.getHours())}:${at(s.getMinutes())}`}const yo="_queuedBadge_12qdc_8",No="_finalChip_12qdc_20",So="_userDisc_12qdc_30",Co="_userAligned_12qdc_34",wo="_userPendingRow_12qdc_40",Do="_userBubble_12qdc_44",To="_userBubbleFailed_12qdc_58",Bo="_userImages_12qdc_63",Eo="_userImage_12qdc_63",qo="_imageDialog_12qdc_79",Ro="_imageDialogPreview_12qdc_83",Ao="_assistantDisc_12qdc_93",Oo="_assistantBody_12qdc_97",Io="_reasoningDisc_12qdc_108",Lo="_reasoningBody_12qdc_112",Po="_toolDisc_12qdc_123",Mo="_toolCardBody_12qdc_127",Fo="_toolCardBodyRunning_12qdc_134",$o="_toolCardBodyCompleted_12qdc_138",zo="_toolCardBodyError_12qdc_142",Ko="_toolHeader_12qdc_146",Ho="_toolHeaderRunning_12qdc_172",Wo="_toolChevron_12qdc_182",Uo="_toolChevronOpen_12qdc_188",Go="_kindBadge_12qdc_192",Vo="_toolPath_12qdc_204",Xo="_toolTrailing_12qdc_213",Yo="_toolStatusRunning_12qdc_221",Jo="_toolStatusSuccess_12qdc_228",Qo="_toolStatusError_12qdc_232",Zo="_toolStatusUnknown_12qdc_236",ea="_toolDiffAdded_12qdc_240",ta="_toolDiffRemoved_12qdc_244",na="_toolOpenButton_12qdc_248",sa="_toolBody_12qdc_266",oa="_toolCode_12qdc_272",aa="_toolOutputStrip_12qdc_283",ra="_toolDiffPreview_12qdc_293",ia="_toolDiffPreviewLine_12qdc_301",ca="_toolDiffPreviewAdd_12qdc_305",la="_toolDiffPreviewDel_12qdc_310",da="_toolDiffPreviewMore_12qdc_315",ua="_errorDisc_12qdc_322",ma="_errorCard_12qdc_326",fa="_errorLead_12qdc_335",pa="_systemRow_12qdc_342",ha="_compactionRow_12qdc_351",_a="_compactionRowFailed_12qdc_357",ga="_compactionDivider_12qdc_361",xa="_compactionRule_12qdc_367",va="_compactionLabel_12qdc_373",ja="_compactionText_12qdc_380",ka="_compactionToggle_12qdc_386",ba="_compactionSummary_12qdc_403",h={queuedBadge:yo,finalChip:No,userDisc:So,userAligned:Co,userPendingRow:wo,userBubble:Do,userBubbleFailed:To,userImages:Bo,userImage:Eo,imageDialog:qo,imageDialogPreview:Ro,assistantDisc:Ao,assistantBody:Oo,reasoningDisc:Io,reasoningBody:Lo,toolDisc:Po,toolCardBody:Mo,toolCardBodyRunning:Fo,toolCardBodyCompleted:$o,toolCardBodyError:zo,toolHeader:Ko,toolHeaderRunning:Ho,toolChevron:Wo,toolChevronOpen:Uo,kindBadge:Go,toolPath:Vo,toolTrailing:Xo,toolStatusRunning:Yo,toolStatusSuccess:Jo,toolStatusError:Qo,toolStatusUnknown:Zo,toolDiffAdded:ea,toolDiffRemoved:ta,toolOpenButton:na,toolBody:sa,toolCode:oa,toolOutputStrip:aa,toolDiffPreview:ra,toolDiffPreviewLine:ia,toolDiffPreviewAdd:ca,toolDiffPreviewDel:la,toolDiffPreviewMore:da,errorDisc:ua,errorCard:ma,errorLead:fa,systemRow:pa,compactionRow:ha,compactionRowFailed:_a,compactionDivider:ga,compactionRule:xa,compactionLabel:va,compactionText:ja,compactionToggle:ka,compactionSummary:ba};function ya({row:e,assetBase:s=null,owningPaneId:n=null,workspaceCwd:o=null,connector:r}){const a=Pe(e.timestamp);return t.jsx(G,{disc:t.jsx(R,{icon:Cn,size:"xs",color:"var(--pi-color-accentForeground)"}),discClassName:h.assistantDisc,connector:r,meta:t.jsxs(t.Fragment,{children:["Assistant",a&&t.jsxs("span",{className:H.metaTime,children:[" · ",a]})]}),children:t.jsx("div",{className:h.assistantBody,children:e.streaming?t.jsx(ft,{text:e.text,assetBase:s,owningPaneId:n,workspaceCwd:o}):t.jsx(Oe,{text:e.text,assetBase:s,owningPaneId:n,workspaceCwd:o})})})}function Na({row:e,owningPaneId:s=null,workspaceCwd:n=null,connector:o}){const r=Pe(e.timestamp);return t.jsx(G,{disc:t.jsx(R,{icon:ut,size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:h.reasoningDisc,connector:o,meta:t.jsxs(t.Fragment,{children:["Reasoning",r&&t.jsxs("span",{className:H.metaTime,children:[" · ",r]})]}),metaTrailing:!e.streaming&&t.jsx("span",{className:h.finalChip,children:"final"}),children:t.jsx("div",{className:h.reasoningBody,children:e.streaming?t.jsx(ft,{text:e.text,owningPaneId:s,workspaceCwd:n}):t.jsx(Oe,{text:e.text,owningPaneId:s,workspaceCwd:n})})})}function Sa(e){const s=zn(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 Ca(e){return e.status==="completed"?t.jsx("span",{className:h.toolStatusSuccess,children:"✓ completed"}):e.status==="error"?t.jsx("span",{className:h.toolStatusError,children:e.statusText||"error"}):e.statusText&&e.statusText!=="running"?t.jsx("span",{className:h.toolStatusUnknown,children:e.statusText}):t.jsxs("span",{className:h.toolStatusRunning,children:[t.jsx(ne,{size:"xs",color:"var(--pi-color-accentBright)"}),"running"]})}function wa({row:e,assetBase:s=null,owningPaneId:n=null,workspaceCwd:o=null,connector:r}){const[a,c]=f.useState(!1),l=Gn(e.tool),m=Un(e.tool),u=m.length>0,p=Xn(e.tool.output),d=e.tool.kind==="edit"||e.tool.kind==="write"?_t(e.tool):null,x=e.tool.kind==="edit"?Vn(e.tool.diff):null,D=e.tool.kind==="edit"&&e.tool.diff&&!a?Sa(e.tool.diff):null;function K(){u&&c(v=>!v)}function W(v){v.target===v.currentTarget&&(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),K())}function y(v){if(v.stopPropagation(),!d)return;const w=Fn(s,n,o);Zt(d,w.workspaceCwd,w.targetPaneId)}return t.jsx(G,{disc:t.jsx(R,{icon:Hn(e.tool),size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:h.toolDisc,connector:r,children:t.jsxs("div",{className:T(h.toolCardBody,e.status==="running"&&h.toolCardBodyRunning,e.status==="completed"&&h.toolCardBodyCompleted,e.status==="error"&&h.toolCardBodyError),children:[t.jsxs("div",{role:"button",tabIndex:u?0:-1,"aria-expanded":u?a:void 0,"aria-disabled":!u,className:T(h.toolHeader,e.status==="running"&&h.toolHeaderRunning),onClick:K,onKeyDown:W,children:[u&&t.jsx(he,{size:12,className:T(h.toolChevron,a&&h.toolChevronOpen)}),t.jsx("span",{className:h.kindBadge,style:{"--kindToken":`var(--pi-color-${l.token})`},children:l.label}),t.jsx("span",{className:h.toolPath,title:Te(e.tool),children:Te(e.tool)}),t.jsxs("span",{className:h.toolTrailing,children:[x&&(x.added>0||x.removed>0)&&t.jsxs(t.Fragment,{children:[t.jsxs("span",{className:h.toolDiffAdded,children:["+",x.added]}),t.jsxs("span",{className:h.toolDiffRemoved,children:["−",x.removed]})]}),Ca(e),d&&t.jsxs("button",{type:"button",className:h.toolOpenButton,onClick:y,onKeyDown:v=>v.stopPropagation(),children:["Open",t.jsx(wn,{size:10})]})]})]}),p>0&&t.jsxs("div",{className:h.toolOutputStrip,children:["output · ",p," lines"]}),D&&t.jsxs("div",{className:h.toolDiffPreview,children:[t.jsx("div",{className:T(h.toolDiffPreviewLine,D.kind==="add"?h.toolDiffPreviewAdd:h.toolDiffPreviewDel),children:D.text}),D.moreCount>0&&t.jsxs("div",{className:h.toolDiffPreviewMore,children:["… ",D.moreCount," more lines"]})]}),a&&u&&t.jsx("div",{className:h.toolBody,children:m.map((v,w)=>v.kind==="diff"?t.jsx($n,{patch:v.patch},w):t.jsx("pre",{className:h.toolCode,children:v.text},w))})]})})}const Da="Fork from here",Ta="Fork conversation from this message";function Ba({row:e,connector:s,onFork:n}){const[o,r]=f.useState(null),a=Pe(e.timestamp);return t.jsxs(G,{disc:t.jsx(R,{icon:Bn,size:"xs",color:"var(--pi-color-successForeground)"}),discClassName:h.userDisc,connector:s,className:T(h.userAligned,e.pending&&h.userPendingRow),meta:t.jsxs(t.Fragment,{children:["You",a&&t.jsxs("span",{className:H.metaTime,children:[" · ",a]}),e.failed&&" · failed to send"]}),metaTrailing:t.jsxs(t.Fragment,{children:[e.queued&&!e.failed&&t.jsxs("span",{className:h.queuedBadge,children:[t.jsx(Dn,{size:9}),"queued"]}),n&&t.jsx(tn,{className:H.forkButton,hoverBase:"var(--pi-color-surface3)",title:Da,"aria-label":Ta,onClick:n,children:t.jsx(Tn,{size:13,strokeWidth:1.8,"aria-hidden":"true"})})]}),children:[t.jsx("span",{className:T(h.userBubble,e.failed&&h.userBubbleFailed),children:e.text}),e.images&&e.images.length>0&&t.jsx("div",{className:h.userImages,children:e.images.map((c,l)=>{const m=`data:${c.mimeType??"image/png"};base64,${c.data??""}`;return t.jsx("img",{className:h.userImage,src:m,alt:"",role:"button",tabIndex:0,onClick:()=>r(m),onKeyDown:u=>{(u.key==="Enter"||u.key===" ")&&r(m)}},l)})}),t.jsx(en,{open:o!==null,onOpenChange:c=>{c||r(null)},title:"Image",width:"auto",bare:!0,className:h.imageDialog,children:o&&t.jsx("img",{className:h.imageDialogPreview,src:o,alt:""})})]})}function Ea({row:e,connector:s}){return t.jsx(G,{disc:t.jsx(R,{icon:mt,size:"xs",color:"var(--pi-color-destructive)"}),discClassName:h.errorDisc,connector:s,children:t.jsxs("div",{className:h.errorCard,children:[t.jsx("span",{className:h.errorLead,children:"Error"})," · ",e.text]})})}function qa({row:e}){return t.jsx("div",{className:h.systemRow,children:e.text})}function Ra({row:e,assetBase:s=null,owningPaneId:n=null,workspaceCwd:o=null}){const[r,a]=f.useState(!1),c=lt(e),l=e.phase==="completed"&&!!e.summary,m=t.jsx("span",{className:h.compactionText,children:c});return t.jsxs("div",{className:T(h.compactionRow,e.phase==="failed"&&h.compactionRowFailed),children:[t.jsxs("div",{className:h.compactionDivider,children:[t.jsx("span",{className:h.compactionRule,"aria-hidden":"true"}),t.jsxs("span",{className:h.compactionLabel,children:[e.phase==="started"&&t.jsx(ne,{size:"xs","aria-label":"Compacting context"}),e.phase==="failed"&&t.jsx(R,{icon:mt,size:"xs",color:"var(--pi-color-statusDanger)"}),l?t.jsxs("button",{type:"button",className:h.compactionToggle,"aria-expanded":r,onClick:()=>a(u=>!u),children:[t.jsx(he,{size:12,className:T(h.toolChevron,r&&h.toolChevronOpen)}),m]}):m]}),t.jsx("span",{className:h.compactionRule,"aria-hidden":"true"})]}),l&&r&&t.jsx("div",{className:h.compactionSummary,children:t.jsx(Oe,{text:e.summary,assetBase:s,owningPaneId:n,workspaceCwd:o})})]})}const Aa=500;function Oa(e,s){const n=f.useRef(!0),[o,r]=f.useState(!0),a=f.useRef(0),c=f.useCallback(u=>{const p=s.current,d=p?{scrollTop:p.scrollTop,scrollHeight:p.scrollHeight,clientHeight:p.clientHeight}:{scrollTop:0,scrollHeight:0,clientHeight:0},x=es(n.current,u,d);x.pinned!==n.current&&(n.current=x.pinned,r(x.pinned)),x.stick&&e.options.count>0&&e.scrollToEnd({behavior:"auto"})},[s,e]);f.useEffect(()=>{const u=s.current;if(!u)return;const p=()=>{a.current=performance.now()},d=()=>{c({kind:"scroll",gesture:performance.now()-a.current<Aa})};u.addEventListener("scroll",d,{passive:!0}),u.addEventListener("wheel",p,{passive:!0}),u.addEventListener("touchmove",p,{passive:!0}),u.addEventListener("pointerdown",p,{passive:!0}),u.addEventListener("keydown",p,{passive:!0});const x=new ResizeObserver(()=>{u.clientHeight>0&&c({kind:"shown"})});return x.observe(u),()=>{x.disconnect(),u.removeEventListener("scroll",d),u.removeEventListener("wheel",p),u.removeEventListener("touchmove",p),u.removeEventListener("pointerdown",p),u.removeEventListener("keydown",p)}},[c,s]);const l=f.useCallback(()=>c({kind:"tail"}),[c]),m=f.useCallback(()=>c({kind:"pin"}),[c]);return{pinned:o,followTail:l,pinToBottom:m}}const Ia="_root_1xg4h_6",La="_viewport_1xg4h_13",Pa="_inner_1xg4h_20",Ma="_rowWrap_1xg4h_25",Fa="_empty_1xg4h_35",$a="_nudge_1xg4h_47",za="_jumpToLatest_1xg4h_56",te={root:Ia,viewport:La,inner:Pa,rowWrap:Ma,empty:Fa,nudge:$a,jumpToLatest:za},Ka=160;function Ha(e){return e.kind==="ask"?`ask:${ms(e.item)}`:e.kind==="ask-more"?"ask-more":e.row.id}function Wa(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(Ba,{row:e,connector:!s,onFork:l})}case"assistant":return t.jsx(ya,{row:e,assetBase:n,owningPaneId:o,workspaceCwd:r,connector:!s});case"reasoning":return t.jsx(Na,{row:e,owningPaneId:o,workspaceCwd:r,connector:!s});case"tool":return t.jsx(wa,{row:e,assetBase:n,owningPaneId:o,workspaceCwd:r,connector:!s});case"error":return t.jsx(Ea,{row:e,connector:!s});case"system":return t.jsx(qa,{row:e});case"compaction":return t.jsx(Ra,{row:e,assetBase:n,owningPaneId:o,workspaceCwd:r})}}function Ua(e,s,n,o,r,a,c,l,m){return e.kind==="ask"?t.jsx(io,{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(lo,{count:e.count,connector:!s,onExpand:a}):Wa(e.row,s,n,o,r,m)}function Ga({session:e,owningPaneId:s,workspaceCwd:n}){var S,E;const o=e.timeline.rows,r=e.status==="running",a=nn(),c=sn(e.cwd,a),l=f.useRef(null),m=on(e),u=an(e.agentId??""),p=rn(e.agentId??""),[d,x]=f.useState(!1),D=M(N=>N.activeSessionId===e.id),K=cn(N=>{var B;return((B=N.layouts[n])==null?void 0:B.focusedPaneId)===s}),W=D&&K?((S=u[0])==null?void 0:S.requestId)??null:null,y=f.useMemo(()=>{const N=ps(us(u,p),d);return jo(o,N,B=>({kind:"row",row:B}),B=>B.kind==="more"?{kind:"ask-more",count:B.count}:{kind:"ask",item:B.item,collapsed:B.collapsed})},[o,u,p,d]),v=Z(N=>N.status==="open"),w=Z(N=>N.serverInfo),F=!!((E=w==null?void 0:w.features)!=null&&E.providerAuth),V=ln(N=>N.openSettings),{data:U}=Mn(o.length===0&&v&&F),X=ko(F,U),P=Ut({count:y.length,getScrollElement:()=>l.current,estimateSize:()=>Ka,overscan:8,getItemKey:N=>{const B=y[N];return B?Ha(B):N},measureElement:(N,B,J)=>{if(N.offsetParent!==null)return Gt(N,B,J);const ie=J.indexFromElement(N),_e=J.options.getItemKey(ie);return J.itemSizeCache.get(_e)??J.options.estimateSize(ie)},anchorTo:"end",scrollEndThreshold:gt}),{pinned:re,followTail:O,pinToBottom:Y}=Oa(P,l),$=ts(o);return f.useEffect(()=>{O()},[y.length,O]),f.useEffect(()=>{$!==null&&Y()},[$,Y]),t.jsxs("div",{className:te.root,children:[t.jsx("div",{className:te.viewport,ref:l,children:y.length===0?!r&&(X?t.jsxs(dn,{className:te.nudge,children:[t.jsx("span",{children:"No messages yet — connect a model provider to get started."}),t.jsx(L,{size:"xs",variant:"secondary",onClick:()=>V(),children:"Connect a model provider"})]}):t.jsx("div",{className:te.empty,children:"No messages yet — say something to start."})):t.jsx("div",{className:te.inner,style:{height:P.getTotalSize()},children:P.getVirtualItems().map(N=>{const B=y[N.index];return B?t.jsx("div",{ref:P.measureElement,"data-index":N.index,className:te.rowWrap,style:{transform:`translateY(${N.start}px)`},children:Ua(B,N.index===y.length-1,c,s,n,()=>x(!0),W,e.title,m)},N.key):null})})}),!re&&y.length>0&&t.jsx("button",{type:"button",className:te.jumpToLatest,onClick:Y,title:"Jump to latest","aria-label":"Jump to latest",children:t.jsx(En,{size:16,"aria-hidden":"true"})})]})}function Va(e,s=!0){const n=Z(o=>o.client);return qe({queryKey:Re.agentCommands(e),queryFn:async()=>{if(!n)throw new Error("not connected");const o=await ve(n,e),{commands:r}=await n.agent(o).listCommands();return r},enabled:!!n&&!!e&&s})}function kt(e,s,n=!0){const o=Z(r=>r.client);return qe({queryKey:Re.providerModels(e,s),queryFn:async()=>{if(!o)throw new Error("not connected");return(await o.providers.listModels(e,s?{agentId:s}:void 0)).models},enabled:!!o&&!!e&&n})}function Xa(e,s,n=!0){const o=Z(r=>r.client);return qe({queryKey:Re.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 Ya="_strip_nzfk5_4",Ja="_thumb_nzfk5_11",Qa="_remove_nzfk5_28",we={strip:Ya,thumb:Ja,remove:Qa};function Za({images:e,onRemove:s}){return e.length===0?null:t.jsx("div",{className:we.strip,children:e.map((n,o)=>t.jsxs("div",{className:we.thumb,children:[t.jsx("img",{src:n.thumbUrl,alt:""}),t.jsx("button",{type:"button",className:we.remove,title:"Remove",onClick:()=>s(o),children:"×"})]},o))})}function er(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 tr(e,s,n){return e?n:s}const Ee=[{name:"compact",description:"Manually compact the session context",source:"builtin"}];function bt(e){var o;const s=/^\/([^\s]+)(?:\s+([\s\S]*))?$/.exec(e.trim());if((s==null?void 0:s[1])!=="compact")return null;const n=(o=s[2])==null?void 0:o.trim();return{name:"compact",args:n||void 0}}function Me(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 nr(e){return/^\/\S*$/.test(e)}function sr(e,s){let n=0;const o=Ee.map(a=>({value:a.name,label:`/${a.name}`,description:a.description,kind:a.source,disabled:s.builtinsDisabled===!0})),r=new Set(Ee.map(a=>a.name));for(const a of e)if(!r.has(a.name)){if(s.running&&a.source==="extension"){n+=1;continue}o.push({value:a.name,label:`/${a.name}`,description:a.description,kind:a.source})}return{options:o,hiddenExtensionCount:n}}function or(e,s,n){return n<=0?0:(e+s+n)%n}function ar(e,s){const n=Me(e);return n?n.hasArgs?`/${s}${e.slice(n.end)}`:`/${s} `:`/${s} ${e}`}function rr(e,s){const n=Me(e);return!n||!s.includes(n.name)?null:{end:n.end}}function yt({running:e,compacting:s,hasAgent:n}){return n&&!e&&!s}function ir(e,s){return!e.ok&&e.reason!=="canceled"&&s===""}function cr(e){const s=e.text.trim().length>0||e.hasImages;return!e.hasClient||!s||e.busy||e.compacting?!1:bt(e.text)!==null?yt(e):!0}const lr="_picker_11hqs_4",dr="_search_11hqs_10",ur="_searchWrap_11hqs_28",mr="_searchSpinner_11hqs_37",fr="_list_11hqs_45",pr="_item_11hqs_50",hr="_itemActive_11hqs_67",_r="_checkSlot_11hqs_71",gr="_label_11hqs_80",xr="_modelId_11hqs_86",vr="_state_11hqs_93",jr="_stateError_11hqs_102",kr="_commandContent_11hqs_112",br="_commandList_11hqs_115",yr="_commandItem_11hqs_120",Nr="_commandItemHeader_11hqs_152",Sr="_commandKindBadge_11hqs_166",Cr="_commandKindExtension_11hqs_185",wr="_commandKindPrompt_11hqs_190",Dr="_commandKindSkill_11hqs_195",Tr="_commandDescription_11hqs_200",Br="_commandItemDisabled_11hqs_214",j={picker:lr,search:dr,searchWrap:ur,searchSpinner:mr,list:fr,item:pr,itemActive:hr,checkSlot:_r,label:gr,modelId:xr,state:vr,stateError:jr,commandContent:kr,commandList:br,commandItem:yr,commandItemHeader:Nr,commandKindBadge:Sr,commandKindExtension:Cr,commandKindPrompt:wr,commandKindSkill:Dr,commandDescription:Tr,commandItemDisabled:Br},Er={onOpenAutoFocus:e=>e.preventDefault()};function qr(e){switch(e){case"extension":return j.commandKindExtension;case"prompt":return j.commandKindPrompt;case"skill":return j.commandKindSkill;default:return}}function Rr({open:e,onOpenChange:s,options:n,highlightedIndex:o,onSelect:r,isLoading:a,isError:c,errorMessage:l,hiddenExtensionCount:m,renderTrigger:u}){const p=f.useRef(null);return f.useEffect(()=>{var d,x;e&&((x=(d=p.current)==null?void 0:d.querySelector('[aria-selected="true"]'))==null||x.scrollIntoView({block:"nearest"}))},[e,o]),t.jsxs(Ie,{open:e,onOpenChange:s,modal:!1,children:[t.jsx(Le,{asChild:!0,children:u()}),t.jsxs(Ae,{className:T(j.picker,j.commandContent),side:"top",sideOffset:4,...Er,onCloseAutoFocus:d=>d.preventDefault(),children:[a&&t.jsx("div",{className:j.state,children:t.jsx(ne,{size:"sm"})}),!a&&c&&t.jsx("div",{className:j.stateError,children:l??"Failed to load commands"}),!a&&!c&&n.length===0&&t.jsx("div",{className:j.state,children:"No commands found"}),!a&&!c&&n.length>0&&t.jsx("div",{ref:p,className:T(j.list,j.commandList),children:n.map((d,x)=>t.jsxs("div",{role:"option","aria-selected":x===o,"aria-disabled":d.disabled||void 0,className:T(j.item,j.commandItem,x===o&&j.itemActive,d.disabled&&j.commandItemDisabled),title:d.description,onMouseDown:D=>{D.preventDefault(),d.disabled||r(d.value)},children:[t.jsxs("div",{className:j.commandItemHeader,children:[t.jsx("span",{className:j.label,children:d.label}),d.kind&&t.jsx("span",{className:T(j.commandKindBadge,qr(d.kind)),children:d.kind})]}),d.description&&t.jsx("div",{className:j.commandDescription,children:d.description})]},d.value))}),!a&&!c&&m>0&&t.jsxs("div",{className:j.state,children:[m," extension command(s) unavailable while the agent is running"]})]})]})}function Ar(e,s={}){const n=new Map;for(const m of e){const u=m.group??"",p=n.get(u);p?p.push(m):n.set(u,[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 Or(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 Ir(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 Lr({currentModel:e,currentModelProvider:s,provider:n,agentId:o,onSelect:r,renderTrigger:a}){const[c,l]=f.useState(!1),[m,u]=f.useState(""),p=f.useRef(null),d=f.useRef(null),{data:x,isLoading:D,isFetching:K,isError:W,error:y,refetch:v}=kt(n,o,c||e!==void 0),w=x??[];f.useEffect(()=>{c&&u("")},[c]),f.useEffect(()=>{c&&v({cancelRefetch:!1})},[c,v]);const V=Ir(Or(w,e,s)).map(S=>({value:S.id,label:S.label??S.id,description:S.id,group:S.provider})),U=V[0],X=(U==null?void 0:U.value)===e?U:void 0,P=Ar(ht(V,m),{priorityGroup:s,ungroupedLabel:"Other"}),re=P.length>1,O=y instanceof Error?y.message:"Failed to load models";function Y(S){var E;if(S.stopPropagation(),S.key==="Escape"&&l(!1),S.key==="ArrowDown"){const N=(E=d.current)==null?void 0:E.querySelector('[role="menuitem"]');N&&(S.preventDefault(),N.focus())}}const $={onOpenAutoFocus:S=>{var E;S.preventDefault(),(E=p.current)==null||E.focus()}};return t.jsxs(Ie,{open:c,onOpenChange:l,modal:!1,children:[t.jsx(Le,{asChild:!0,children:a(e,X==null?void 0:X.label)}),t.jsxs(Ae,{minWidth:240,align:"end",sideOffset:6,className:j.picker,...$,children:[t.jsxs("div",{className:j.searchWrap,children:[t.jsx("input",{ref:p,className:j.search,placeholder:"Search models…",value:m,onChange:S=>u(S.target.value),onKeyDown:Y}),K&&!D&&t.jsx(ne,{size:"xs",color:"var(--pi-color-foregroundMuted)",className:j.searchSpinner,"aria-label":"Refreshing models"})]}),D&&t.jsx("div",{className:j.state,children:t.jsx(ne,{size:"sm"})}),!D&&W&&x===void 0&&t.jsx("div",{className:j.stateError,children:O}),!D&&x!==void 0&&P.length===0&&t.jsx("div",{className:j.state,children:"No models found"}),!D&&x!==void 0&&P.length>0&&t.jsx("div",{ref:d,className:j.list,children:P.map(S=>t.jsx(un,{label:re?S.label:void 0,children:S.options.map(E=>t.jsxs(pt,{className:j.item,onSelect:()=>r(E.value,E.group),children:[t.jsx("span",{className:j.checkSlot,"aria-hidden":!0,children:E===X&&t.jsx(pe,{size:14})}),t.jsx("span",{className:j.label,children:E.label}),t.jsxs("span",{className:j.modelId,children:["(",E.value,")"]})]},`${E.group??""}/${E.value}`))},S.key))})]})]})}function Pr({currentLevel:e,levels:s,open:n,onOpenChange:o,onSelect:r,renderTrigger:a}){return t.jsxs(Ie,{open:n,onOpenChange:o,modal:!1,children:[t.jsx(Le,{asChild:!0,children:a(e)}),t.jsx(Ae,{minWidth:140,align:"end",side:"top",sideOffset:6,className:j.picker,children:s.length===0?t.jsx("div",{className:j.state,children:"Loading levels…"}):t.jsx("div",{className:j.list,children:s.map(c=>t.jsxs(pt,{className:j.item,onSelect:()=>r(c),children:[t.jsx("span",{className:j.checkSlot,"aria-hidden":!0,children:c===e&&t.jsx(pe,{size:14})}),t.jsx("span",{className:j.label,children:c})]},c))})})]})}const rt=["off","minimal","low","medium","high","xhigh","max"];function Mr(e,s){if(!e)return rt;const n=s==null?void 0:s.find(o=>o.id===e);return n!=null&&n.thinkingLevels&&n.thinkingLevels.length>0?n.thinkingLevels:rt}const Fr="_composer_ivj95_4",$r="_card_ivj95_13",zr="_flash_ivj95_27",Kr="_note_ivj95_41",Hr="_inlineError_ivj95_48",Wr="_compacting_ivj95_56",Ur="_textarea_ivj95_57",Gr="_compactStatus_ivj95_66",Vr="_compactStatusText_ivj95_75",Xr="_compactCancel_ivj95_81",Yr="_textareaWrap_ivj95_122",Jr="_highlightLayer_ivj95_110",Qr="_commandMark_ivj95_145",Zr="_hiddenFileInput_ivj95_170",ei="_toolbar_ivj95_176",ti="_toolbarRight_ivj95_183",ni="_toolBtn_ivj95_191",si="_roundBtn_ivj95_197",oi="_modelBtn_ivj95_202",ai="_modelLabel_ivj95_232",ri="_modelId_ivj95_230",ii="_modelChevron_ivj95_250",C={composer:Fr,card:$r,flash:zr,note:Kr,inlineError:Hr,compacting:Wr,textarea:Ur,compactStatus:Gr,compactStatusText:Vr,compactCancel:Xr,textareaWrap:Yr,highlightLayer:Jr,commandMark:Qr,hiddenFileInput:Zr,toolbar:ei,toolbarRight:ti,toolBtn:ni,roundBtn:si,modelBtn:oi,modelLabel:ai,modelId:ri,modelChevron:ii},ci=160;function ae(e){e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,ci)}px`}function li(e){return typeof e=="object"&&e!==null&&"ok"in e&&e.ok===!1}function di(){return typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}function ui({sessionId:e}){var Je;const s=Z(i=>i.client),n=M(i=>i.sessions[e]),o=M(i=>i.addOptimisticUserMessage),r=M(i=>i.markUserMessageFailed),a=M(i=>i.setCwd),c=M(i=>i.setModel),l=M(i=>i.setThinkingLevel),m=Z(i=>i.serverInfo),[u,p]=f.useState(!1),d=!!((Je=m==null?void 0:m.features)!=null&&Je.thinkingLevels),{data:x}=Xa(n==null?void 0:n.agentId,n==null?void 0:n.model,u&&!!(n!=null&&n.agentId)&&((n==null?void 0:n.userMessageCount)??0)>0),{data:D}=kt("pi",n==null?void 0:n.agentId),K=Mr(n==null?void 0:n.model,D),W=x!==void 0&&x.length>0?x:K,y=d&&!(x!==void 0&&x.length===0),v=fe(i=>i.drafts[e]??""),w=fe(i=>i.setDraft),[F,V]=f.useState([]),[U,X]=f.useState(!1),[P,re]=f.useState(!1),O=f.useRef(null),Y=f.useRef(null),[$,S]=f.useState(!1),[E,N]=f.useState(0),B=mn(hn.chat(e)),J=fe(i=>i.pendingFeedback[e]),[ie,_e]=f.useState(null),[be,ce]=f.useState(null),[Dt,Fe]=f.useState(!1),le=f.useRef(null),de=f.useRef(null);f.useEffect(()=>{if(!B||J===void 0)return;const i=fe.getState().consumeFeedback(e);if(!i)return;_e(i.copy==="filled"?"Your message was filled in":"Your draft was replaced"),le.current!==null&&window.clearTimeout(le.current),le.current=window.setTimeout(()=>_e(null),4e3);const g=O.current;g&&g.setSelectionRange(g.value.length,g.value.length),i.flash&&(Fe(!0),de.current!==null&&window.clearTimeout(de.current),de.current=window.setTimeout(()=>Fe(!1),di()?1e3:400))},[B,J,e]),f.useEffect(()=>()=>{le.current!==null&&window.clearTimeout(le.current),de.current!==null&&window.clearTimeout(de.current)},[]);const z=(n==null?void 0:n.status)==="running",A=fn(e),ye=xe(i=>i.lastErrorBySession[e]),Tt=xe(i=>i.compactSession),Ne=xe(i=>i.cancelCompaction),Bt=xe(i=>i.clearError),$e=!!(n!=null&&n.agentId),Et=tr(z,U,P),ze=cr({hasClient:!!s,busy:Et,compacting:A,running:z,hasAgent:$e,text:v,hasImages:F.length>0}),{data:Ke=[],isLoading:qt,isError:Rt,error:He}=Va(e,$),{options:We,hiddenExtensionCount:At}=sr(Ke,{running:z,builtinsDisabled:!yt({running:z,compacting:A,hasAgent:$e})}),Ue=Me(v),ge=Ue?ht(We,Ue.name):We,Ot=[...Ee,...Ke].map(i=>i.name),oe=rr(v,Ot),Ge=A?pn((n==null?void 0:n.timeline.rows)??[]):void 0,It=Ge?lt(Ge):"Compacting context…";async function Ve(i){if(i.type.startsWith("image/"))try{const g=await er(i);V(k=>[...k,g])}catch{}}function Lt(i){for(const g of i.target.files??[])Ve(g);i.target.value=""}function Pt(i){if(!A){for(const g of i.clipboardData.items)if(g.type.startsWith("image/")){i.preventDefault();const k=g.getAsFile();k&&Ve(k)}}}function Mt(i){V(g=>g.filter((k,q)=>q!==i))}function Ft(i){const g=i.target.value;w(e,g),ae(i.target),ye&&Bt(e),be&&ce(null);const k=nr(g);k!==$&&S(k),k&&N(0)}function $t(i){if(A){i.key==="Escape"&&(i.preventDefault(),Ne(e));return}if(!$&&oe&&i.key==="Backspace"){const g=i.currentTarget,k=g.selectionStart;if(k!==null&&k===g.selectionEnd){const q=oe.end+(v[oe.end]===" "?1:0);if(k>0&&k<=q){i.preventDefault();const I=v.slice(q);w(e,I),g.setSelectionRange(0,0),ae(g);return}}}if($&&ge.length>0){if(i.key==="ArrowDown"||i.key==="ArrowUp"){i.preventDefault(),N(g=>or(g,i.key==="ArrowDown"?1:-1,ge.length));return}if(i.key==="Enter"&&!i.shiftKey||i.key==="Tab"){i.preventDefault();const g=ge[E];g&&!g.disabled&&Xe(g.value);return}}if($&&i.key==="Escape"){i.preventDefault(),S(!1);return}i.key==="Enter"&&!i.shiftKey&&(i.preventDefault(),Ye(z?"steer":"send"))}function Xe(i){const g=ar(v,i);w(e,g),S(!1),N(0);const k=O.current;k&&(k.focus(),k.setSelectionRange(g.length,g.length),ae(k))}async function Ye(i){if(!s||!n||(i==="steer"?P:U)||i==="steer"&&!n.agentId)return;const g=v.trim();if(!g&&F.length===0||!ze)return;const k=bt(g);if(k){S(!1),w(e,""),O.current&&ae(O.current);const Q=await Tt(e,k.args);ir(Q,fe.getState().drafts[e]??"")&&(w(e,v),O.current&&ae(O.current));return}w(e,""),S(!1),O.current&&ae(O.current);const q=F;V([]);const I=g||"Describe this image",ue=q.length>0?q.map(Q=>({mimeType:Q.mimeType,data:Q.data})):void 0,me=_n();o(e,me,I,ue,i==="steer");const Qe=i==="steer"?re:X;Qe(!0);try{if(i==="steer"){const Q=await s.agent(n.agentId).steer(I,{clientMessageId:me,images:ue});li(Q)&&r(e,me)}else{n.agentId||a(e,n.cwd||"~");const Q=await ve(s,e);await s.agent(Q).send(I,{clientMessageId:me,images:ue})}}catch{r(e,me)}finally{Qe(!1)}}function zt(){n!=null&&n.agentId&&(A?Ne(e):s==null||s.agent(n.agentId).interrupt())}function Kt(i,g){const k={model:n==null?void 0:n.model,provider:n==null?void 0:n.modelProvider};c(e,i,g),ce(null),!(!s||!g)&&(async()=>{const q=await ve(s,e);await s.agent(q).setModel(g,i)})().catch(q=>{const I=M.getState().sessions[e];(I==null?void 0:I.model)===i&&I.modelProvider===g&&c(e,k.model,k.provider);const ue=q instanceof Error?q.message:String(q);ce(`Couldn't switch model: ${ue}`)})}function Ht(i){const g=n==null?void 0:n.thinkingLevel;l(e,i),ce(null),s&&(async()=>{const k=await ve(s,e),q=await s.agent(k).setThinking(i);l(e,q.level)})().catch(k=>{var I;((I=M.getState().sessions[e])==null?void 0:I.thinkingLevel)===i&&l(e,g);const q=k instanceof Error?k.message:String(k);ce(`Couldn't set thinking level: ${q}`)})}return t.jsxs("div",{className:C.composer,children:[t.jsxs("div",{className:T(C.card,Dt&&C.flash,A&&C.compacting),children:[t.jsxs("div",{className:C.textareaWrap,children:[t.jsx("div",{className:C.highlightLayer,"aria-hidden":!0,children:oe?t.jsxs(t.Fragment,{children:[t.jsx("mark",{className:C.commandMark,children:v.slice(0,oe.end)}),v.slice(oe.end)]}):v}),t.jsx(ct,{ref:O,className:C.textarea,rows:1,value:v,readOnly:A,placeholder:A?"Compacting context… esc cancel":z?"Steer the running turn… ⏎ steer · ⇧⏎ newline":"Ask anything… ⏎ send · ⇧⏎ newline · / commands",onChange:Ft,onKeyDown:$t,onPaste:Pt,"data-session-id":e})]}),t.jsx(Za,{images:F,onRemove:Mt}),t.jsxs("div",{className:C.toolbar,children:[t.jsx(L,{className:C.toolBtn,variant:"ghost",size:"sm",iconOnly:!0,title:"Attach image","aria-label":"Attach image",disabled:A,onClick:()=>{var i;return(i=Y.current)==null?void 0:i.click()},children:t.jsx(qn,{size:16})}),t.jsx(Rr,{open:$&&!A,onOpenChange:S,options:ge,highlightedIndex:E,onSelect:Xe,isLoading:qt,isError:Rt,errorMessage:He instanceof Error?He.message:void 0,hiddenExtensionCount:At,renderTrigger:()=>t.jsx(L,{className:C.toolBtn,variant:"ghost",size:"sm",iconOnly:!0,disabled:A,title:"Slash commands","aria-label":"Slash commands",children:t.jsx(Rn,{size:16})})}),t.jsxs("div",{className:C.toolbarRight,children:[t.jsx(Lr,{currentModel:n==null?void 0:n.model,currentModelProvider:n==null?void 0:n.modelProvider,provider:"pi",agentId:n==null?void 0:n.agentId,onSelect:Kt,renderTrigger:(i,g)=>{const k=g!==void 0&&g!==i;return t.jsxs("button",{type:"button",className:C.modelBtn,disabled:!s,title:i?`Model: ${g??i}${k?` (${i})`:""}`:"Select model",children:[t.jsx(An,{size:14,"aria-hidden":"true"}),t.jsx("span",{className:C.modelLabel,children:g??i??"Model"}),k&&t.jsxs("span",{className:C.modelId,children:["(",i,")"]}),t.jsx(tt,{size:13,className:C.modelChevron,"aria-hidden":"true"})]})}}),y&&t.jsx(Pr,{currentLevel:n==null?void 0:n.thinkingLevel,levels:W,open:u,onOpenChange:p,onSelect:Ht,renderTrigger:i=>t.jsxs("button",{type:"button",className:C.modelBtn,disabled:!s,title:i?`Thinking: ${i}`:"Thinking level",children:[t.jsx(ut,{size:14,"aria-hidden":"true"}),t.jsx("span",{className:C.modelLabel,children:i??"Thinking"}),t.jsx(tt,{size:13,className:C.modelChevron,"aria-hidden":"true"})]})}),(z||A)&&t.jsx(L,{className:C.roundBtn,variant:"destructive",size:"sm",iconOnly:!0,title:A?"Cancel the compaction":"Stop the running turn","aria-label":"Stop",onClick:zt,children:t.jsx(On,{size:14})}),t.jsx(L,{className:C.roundBtn,size:"sm",iconOnly:!0,disabled:!ze,title:z?"Steer the running turn":"Send","aria-label":z?"Steer":"Send",onClick:()=>void Ye(z?"steer":"send"),children:z?t.jsx(In,{size:16}):t.jsx(Ln,{size:18})})]})]})]}),t.jsx("div",{role:"status",children:A&&t.jsxs("div",{className:C.compactStatus,children:[t.jsx(ne,{size:"xs","aria-label":"Compacting"}),t.jsx("span",{className:C.compactStatusText,children:It}),t.jsx("button",{type:"button",className:C.compactCancel,title:"Cancel the compaction (Esc)",onClick:()=>void Ne(e),children:"Cancel"})]})}),ie!==null&&t.jsx("div",{className:C.note,children:ie}),ye&&t.jsx("div",{role:"alert",className:C.inlineError,children:ye}),be&&t.jsx("div",{role:"alert",className:C.inlineError,children:be}),t.jsx("input",{ref:Y,className:C.hiddenFileInput,type:"file",accept:"image/*",multiple:!0,onChange:Lt})]})}const mi=5;function Nt(e){return e.toSorted((s,n)=>s.id-n.id)}function fi(e){return{done:e.filter(s=>s.status==="completed").length,total:e.length}}function St(e){return Nt(e).find(s=>s.status==="in_progress")}function Ct(e){return e.status==="in_progress"&&e.activeForm?e.activeForm:e.subject}function pi(e){const s=St(e);return s?Ct(s):void 0}function hi(e){var s;if(!(e.status==="completed"||!((s=e.blockedBy)!=null&&s.length)))return`blocked by ${e.blockedBy.map(n=>`#${n}`).join(", ")}`}function _i(e){return!!e.description||!!e.owner}function gi(e,s=mi){const n=Nt(e),o=n.filter(l=>l.status==="completed"),r=o.length>s,a=[];let c=!1;return n.forEach((l,m)=>{if(r&&l.status==="completed"){c||(c=!0,a.push({kind:"completed-group",count:o.length,tasks:o,key:`group-${l.id}-${m}`}));return}a.push({kind:"task",task:l,key:`${l.id}-${m}`})}),a}const xi="_panel_3trtd_5",vi="_header_3trtd_18",ji="_rowButton_3trtd_35",ki="_chevron_3trtd_40",bi="_chevronOpen_3trtd_46",yi="_label_3trtd_50",Ni="_count_3trtd_55",Si="_summary_3trtd_60",Ci="_body_3trtd_69",wi="_row_3trtd_35",Di="_rowStatic_3trtd_85",Ti="_icon_3trtd_102",Bi="_iconInProgress_3trtd_111",Ei="_iconCompleted_3trtd_115",qi="_iconPending_3trtd_119",Ri="_text_3trtd_123",Ai="_textCompleted_3trtd_135",Oi="_id_3trtd_140",Ii="_blocked_3trtd_146",Li="_details_3trtd_157",Pi="_footer_3trtd_166",Mi="_nested_3trtd_180",b={panel:xi,header:vi,rowButton:ji,chevron:ki,chevronOpen:bi,label:yi,count:Ni,summary:Si,body:Ci,row:wi,rowStatic:Di,icon:Ti,iconInProgress:Bi,iconCompleted:Ei,iconPending:qi,text:Ri,textCompleted:Ai,id:Oi,blocked:Ii,details:Li,footer:Pi,nested:Mi};function Fi({status:e}){return e==="in_progress"?t.jsx("span",{className:`${b.icon} ${b.iconInProgress}`,children:t.jsx(ne,{size:14,"aria-label":"In progress"})}):e==="completed"?t.jsx("span",{className:`${b.icon} ${b.iconCompleted}`,children:t.jsx(R,{icon:pe,size:"sm","aria-label":"Completed"})}):t.jsx("span",{className:`${b.icon} ${b.iconPending}`,children:t.jsx(R,{icon:Pn,size:"sm","aria-label":"Pending"})})}function wt({task:e}){const[s,n]=f.useState(!1),o=hi(e),r=_i(e),a=t.jsxs(t.Fragment,{children:[t.jsx(Fi,{status:e.status}),t.jsx("span",{className:`${b.text} ${e.status==="completed"?b.textCompleted:""}`,children:Ct(e)}),o&&t.jsx("span",{className:b.blocked,children:o}),t.jsxs("span",{className:b.id,children:["#",e.id]}),r&&t.jsx("span",{className:`${b.chevron} ${s?b.chevronOpen:""}`,children:t.jsx(R,{icon:he,size:"xs","aria-hidden":!0})})]});return t.jsxs("li",{className:b.row,"data-status":e.status,"data-task-id":e.id,children:[r?t.jsx("button",{type:"button",className:b.rowButton,"aria-expanded":s,onClick:()=>n(c=>!c),children:a}):t.jsx("div",{className:b.rowStatic,children:a}),s&&t.jsxs("p",{className:b.details,children:[e.description,e.description&&e.owner?`
9
- `:"",e.owner?`Owner: ${e.owner}`:""]})]})}function $i({tasks:e}){const[s,n]=f.useState(!1);return t.jsxs("li",{className:b.row,children:[t.jsxs("button",{type:"button",className:b.rowButton,"aria-expanded":s,onClick:()=>n(o=>!o),children:[t.jsx("span",{className:`${b.icon} ${b.iconCompleted}`,children:t.jsx(R,{icon:pe,size:"sm","aria-hidden":!0})}),t.jsxs("span",{className:b.text,children:[e.length," completed"]}),t.jsx("span",{className:`${b.chevron} ${s?b.chevronOpen:""}`,children:t.jsx(R,{icon:he,size:"xs","aria-hidden":!0})})]}),s&&t.jsx("ol",{className:b.nested,children:e.map((o,r)=>t.jsx(wt,{task:o},`${o.id}-${r}`))})]})}function zi({agentId:e}){var p;const s=gn(e),n=xn(e),o=f.useId(),r=f.useRef(null);f.useEffect(()=>{if(e)return Ze.getState().track(e)},[e]);const a=s==null?void 0:s.tasks,c=a?(p=St(a))==null?void 0:p.id:void 0;if(f.useEffect(()=>{const d=r.current;if(!d||c===void 0||n)return;const x=d.querySelector(`[data-task-id="${c}"][data-status="in_progress"]`);if(!x)return;const D=x.offsetTop-d.offsetTop;(D<d.scrollTop||D+x.offsetHeight>d.scrollTop+d.clientHeight)&&(d.scrollTop=D-(d.clientHeight-x.offsetHeight)/2)},[c,n]),!e||!s||s.tasks.length===0)return null;const{done:l,total:m}=fi(s.tasks),u=n?pi(s.tasks):void 0;return t.jsxs("section",{className:b.panel,role:"region","aria-label":"Agent todos",children:[t.jsxs("button",{type:"button",className:b.header,"aria-expanded":!n,"aria-controls":o,onClick:()=>Ze.getState().setCollapsed(e,!n),children:[t.jsx("span",{className:`${b.chevron} ${n?"":b.chevronOpen}`,children:t.jsx(R,{icon:he,size:"sm","aria-hidden":!0})}),t.jsx("span",{className:b.label,children:"Todos"}),t.jsxs("span",{className:b.count,children:[l,"/",m]}),u&&t.jsx("span",{className:b.summary,children:u})]}),!n&&t.jsx("ol",{id:o,ref:r,className:b.body,children:gi(s.tasks).map(d=>d.kind==="task"?t.jsx(wt,{task:d.task},d.key):t.jsx($i,{tasks:d.tasks},d.key))}),!n&&s.truncated&&t.jsxs("div",{className:b.footer,children:["Showing first ",vn," tasks"]})]})}const Ki="_track_oxvl6_2",Hi="_sweep_oxvl6_24",Wi="_visuallyHidden_oxvl6_64",De={track:Ki,sweep:Hi,visuallyHidden:Wi};function Ui({running:e}){return e?t.jsxs("div",{className:De.track,role:"progressbar","aria-label":"Turn in progress",children:[t.jsx("div",{className:De.sweep,"aria-hidden":"true"}),t.jsx("span",{className:De.visuallyHidden,role:"status","aria-live":"polite",children:"Agent is working…"})]}):null}const Gi="_panel_1tq06_1",Vi="_empty_1tq06_5",it={panel:Gi,empty:Vi};function cc({tab:e,owningPaneId:s}){const{sessionId:n}=e.data,o=M(r=>r.sessions[n]);return Zn(n),o?t.jsxs(et,{className:it.panel,children:[t.jsx(Ui,{running:o.status==="running"}),t.jsx(Ga,{session:o,owningPaneId:s,workspaceCwd:e.workspaceCwd}),t.jsx(zi,{agentId:o.agentId}),t.jsx(ui,{sessionId:o.id})]}):t.jsx(et,{children:t.jsx("div",{className:it.empty,children:"Session not found."})})}export{cc as ChatPanel};